diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 000000000000..969e613536b4 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,24 @@ +# EditorConfig configuration for nixpkgs +# http://EditorConfig.org + +# Top-most EditorConfig file +root = true + +# Unix-style newlines with a newline ending every file, utf-8 charset +[*] +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true +charset = utf-8 + +# see https://nixos.org/nixpkgs/manual/#chap-conventions + +# Match nix/ruby files, set indent to spaces with width of two +[*.{nix,rb}] +indent_style = space +indent_size = 2 + +# Match shell/python/perl scripts, set indent to spaces with width of four +[*.{sh,py,pl}] +indent_style = space +indent_size = 4 diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index fb8c6b53cb5d..8400aa5c684f 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -28,5 +28,8 @@ under the terms of [COPYING](../COPYING), which is an MIT-like license. * Not start with the package name * Not have a dot at the end -See the nixpkgs manual for more details on how to [Submit changes to nixpkgs](http://hydra.nixos.org/job/nixpkgs/trunk/manual/latest/download-by-type/doc/manual#chap-submitting-changes). +See the nixpkgs manual for more details on how to [Submit changes to nixpkgs](https://nixos.org/nixpkgs/manual/#chap-submitting-changes). +## Reviewing contributions + +See the nixpkgs manual for more details on how to [Review contributions](https://nixos.org/nixpkgs/manual/#sec-reviewing-contributions). diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 5d13d3086f73..3482ae16e263 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -4,12 +4,12 @@ ###### Things done - [ ] Tested using sandboxing - ([nix.useChroot](http://nixos.org/nixos/manual/options.html#opt-nix.useChroot) on NixOS, - or option `build-use-chroot` in [`nix.conf`](http://nixos.org/nix/manual/#sec-conf-file) + ([nix.useSandbox](http://nixos.org/nixos/manual/options.html#opt-nix.useSandbox) on NixOS, + or option `build-use-sandbox` in [`nix.conf`](http://nixos.org/nix/manual/#sec-conf-file) on non-NixOS) - Built on platform(s) - [ ] NixOS - - [ ] OS X + - [ ] macOS - [ ] Linux - [ ] Tested compilation of all pkgs that depend on this change using `nix-shell -p nox --run "nox-review wip"` - [ ] Tested execution of all binary files (usually in `./result/bin/`) diff --git a/.mention-bot b/.mention-bot index 40e57f996606..d8529bd9123e 100644 --- a/.mention-bot +++ b/.mention-bot @@ -1,6 +1,13 @@ { "userBlacklist": [ "civodul", - "jhasse" - ] + "jhasse", + "shlevy" + ], + "alwaysNotifyForPaths": [ + { "name": "FRidh", "files": ["pkgs/top-level/python-packages.nix", "pkgs/development/interpreters/python/*", "pkgs/development/python-modules/*" ] }, + { "name": "LnL7", "files": ["pkgs/stdenv/darwin/*", "pkgs/os-specific/darwin/*"] }, + { "name": "copumpkin", "files": ["pkgs/stdenv/darwin/*", "pkgs/os-specific/darwin/apple-source-releases/*"] } + ], + "fileBlacklist": ["pkgs/top-level/all-packages.nix"] } diff --git a/.travis.yml b/.travis.yml index e1cc9890df25..802af69834d0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,7 +4,7 @@ matrix: - os: linux sudo: false script: - - ./maintainers/scripts/travis-nox-review-pr.sh nixpkgs-verify nixpkgs-manual nixpkgs-tarball + - ./maintainers/scripts/travis-nox-review-pr.sh nixpkgs-verify nixpkgs-manual nixpkgs-tarball nixpkgs-unstable - ./maintainers/scripts/travis-nox-review-pr.sh nixos-options nixos-manual - os: linux sudo: required @@ -15,8 +15,6 @@ matrix: - os: osx osx_image: xcode7.3 script: ./maintainers/scripts/travis-nox-review-pr.sh nox pr -git: - depth: 1 env: global: - GITHUB_TOKEN=5edaaf1017f691ed34e7f80878f8f5fbd071603f diff --git a/.version b/.version index 18fc8443eecf..6879fa566dd8 100644 --- a/.version +++ b/.version @@ -1 +1 @@ -16.09 \ No newline at end of file +17.03 \ No newline at end of file diff --git a/COPYING b/COPYING index 0408a7e40b7a..a632d6f58b12 100644 --- a/COPYING +++ b/COPYING @@ -1,4 +1,4 @@ -Copyright (c) 2003-2016 Eelco Dolstra and the Nixpkgs/NixOS contributors +Copyright (c) 2003-2017 Eelco Dolstra and the Nixpkgs/NixOS contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the diff --git a/README.md b/README.md index 88610f17388f..002caa3a1719 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,6 @@ [![Build Status](https://travis-ci.org/NixOS/nixpkgs.svg?branch=master)](https://travis-ci.org/NixOS/nixpkgs) [![Code Triagers Badge](https://www.codetriage.com/nixos/nixpkgs/badges/users.svg)](https://www.codetriage.com/nixos/nixpkgs) -[![Issue Stats](http://www.issuestats.com/github/nixos/nixpkgs/badge/pr?style=flat)](http://www.issuestats.com/github/nixos/nixpkgs) -[![Issue Stats](http://www.issuestats.com/github/nixos/nixpkgs/badge/issue?style=flat)](http://www.issuestats.com/github/nixos/nixpkgs) Nixpkgs is a collection of packages for the [Nix](https://nixos.org/nix/) package manager. It is periodically built and tested by the [hydra](http://hydra.nixos.org/) @@ -15,12 +13,12 @@ build daemon as so-called channels. To get channel information via git, add ``` For stability and maximum binary package support, it is recommended to maintain -custom changes on top of one of the channels, e.g. `nixos-16.03` for the latest +custom changes on top of one of the channels, e.g. `nixos-16.09` for the latest release and `nixos-unstable` for the latest successful build of master: ``` % git remote update channels -% git rebase channels/nixos-16.03 +% git rebase channels/nixos-16.09 ``` For pull-requests, please rebase onto nixpkgs `master`. @@ -34,9 +32,9 @@ For pull-requests, please rebase onto nixpkgs `master`. * [Manual (NixOS)](https://nixos.org/nixos/manual/) * [Nix Wiki](https://nixos.org/wiki/) (deprecated, see milestone ["Move the Wiki!"](https://github.com/NixOS/nixpkgs/issues?q=is%3Aopen+is%3Aissue+milestone%3A%22Move+the+wiki%21%22)) * [Continuous package builds for unstable/master](https://hydra.nixos.org/jobset/nixos/trunk-combined) -* [Continuous package builds for 16.03 release](https://hydra.nixos.org/jobset/nixos/release-16.03) +* [Continuous package builds for 16.09 release](https://hydra.nixos.org/jobset/nixos/release-16.09) * [Tests for unstable/master](https://hydra.nixos.org/job/nixos/trunk-combined/tested#tabs-constituents) -* [Tests for 16.03 release](https://hydra.nixos.org/job/nixos/release-16.03/tested#tabs-constituents) +* [Tests for 16.09 release](https://hydra.nixos.org/job/nixos/release-16.09/tested#tabs-constituents) Communication: diff --git a/doc/default.nix b/doc/default.nix index f4f467b1f5a0..625c716b0319 100644 --- a/doc/default.nix +++ b/doc/default.nix @@ -60,6 +60,10 @@ pkgs.stdenv.mkDerivation { inputFile = ../pkgs/development/idris-modules/README.md; outputFile = "languages-frameworks/idris.xml"; } + + toDocbook { + inputFile = ../pkgs/development/node-packages/README.md; + outputFile = "languages-frameworks/node.xml"; + } + toDocbook { inputFile = ../pkgs/development/r-modules/README.md; outputFile = "languages-frameworks/r.xml"; @@ -93,7 +97,9 @@ pkgs.stdenv.mkDerivation { cp -r $dst/images $dst/epub/OEBPS echo "application/epub+zip" > mimetype - zip -0Xq "$dst/Nixpkgs Contributors Guide - NixOS community.epub" mimetype - zip -Xr9D "$dst/Nixpkgs Contributors Guide - NixOS community.epub" $dst/epub/* + manual="$dst/nixpkgs-manual.epub" + zip -0Xq "$manual" mimetype + cd $dst/epub && zip -Xr9D "$manual" * + rm -rf $dst/epub ''; } diff --git a/doc/functions.xml b/doc/functions.xml index 908e9571ed69..70326936a570 100644 --- a/doc/functions.xml +++ b/doc/functions.xml @@ -8,177 +8,295 @@ The nixpkgs repository has several utility functions to manipulate Nix expressions. -
- pkgs.overridePackages +
+ Overriding - This function inside the nixpkgs expression (pkgs) - can be used to override the set of packages itself. - - - Warning: this function is expensive and must not be used from within - the nixpkgs repository. - - - Example usage: - - let - pkgs = import <nixpkgs> {}; - newpkgs = pkgs.overridePackages (self: super: { - foo = super.foo.override { ... }; - }; -in ... + Sometimes one wants to override parts of + nixpkgs, e.g. derivation attributes, the results of + derivations or even the whole package set. - - The resulting newpkgs will have the new foo - expression, and all other expressions depending on foo will also - use the new foo expression. - +
+ pkgs.overridePackages - - The behavior of this function is similar to config.packageOverrides. - - - - The self parameter refers to the final package set with the - applied overrides. Using this parameter may lead to infinite recursion if not - used consciously. - - - - The super parameter refers to the old package set. - It's equivalent to pkgs in the above example. - - -
- -
- <pkg>.override - - - The function override is usually available for all the - derivations in the nixpkgs expression (pkgs). - - - It is used to override the arguments passed to a function. - - - Example usages: - - pkgs.foo.override { arg1 = val1; arg2 = val2; ... } - pkgs.overridePackages (self: super: { - foo = super.foo.override { barSupport = true ; }; -}) - mypkg = pkgs.callPackage ./mypkg.nix { - mydep = pkgs.mydep.override { ... }; -}) - - - - In the first example, pkgs.foo is the result of a function call - with some default arguments, usually a derivation. - Using pkgs.foo.override will call the same function with - the given new arguments. - - -
- -
- <pkg>.overrideDerivation - - - Do not use this function in Nixpkgs as it evaluates a Derivation - before modifying it, which breaks package abstraction and removes - error-checking of function arguments. In addition, this - evaluation-per-function application incurs a performance penalty, - which can become a problem if many overrides are used. - It is only intended for ad-hoc customisation, such as in - ~/.nixpkgs/config.nix. - - - - - The function overrideDerivation creates a new derivation - based on an existing one by overriding the original's attributes with - the attribute set produced by the specified function. - This function is available on all - derivations defined using the makeOverridable function. - Most standard derivation-producing functions, such as - stdenv.mkDerivation, are defined using this - function, which means most packages in the nixpkgs expression, - pkgs, have this function. - - - - Example usage: - - mySed = pkgs.gnused.overrideDerivation (oldAttrs: { - name = "sed-4.2.2-pre"; - src = fetchurl { - url = ftp://alpha.gnu.org/gnu/sed/sed-4.2.2-pre.tar.bz2; - sha256 = "11nq06d131y4wmf3drm0yk502d2xc6n5qy82cg88rb9nqd2lj41k"; - }; - patches = []; -}); - - - - In the above example, the name, src, - and patches of the derivation will be overridden, while - all other attributes will be retained from the original derivation. - - - - The argument oldAttrs is used to refer to the attribute set of - the original derivation. - - - - A package's attributes are evaluated *before* being modified by - the overrideDerivation function. - For example, the name attribute reference - in url = "mirror://gnu/hello/${name}.tar.gz"; - is filled-in *before* the overrideDerivation function - modifies the attribute set. This means that overriding the - name attribute, in this example, *will not* change the - value of the url attribute. Instead, we need to override - both the name *and* url attributes. + This function inside the nixpkgs expression (pkgs) + can be used to override the set of packages itself. - + + Warning: this function is expensive and must not be used from within + the nixpkgs repository. + + + Example usage: + + let + pkgs = import <nixpkgs> {}; + newpkgs = pkgs.overridePackages (self: super: { + foo = super.foo.override { ... }; + }; + in ... + + + + The resulting newpkgs will have the new foo + expression, and all other expressions depending on foo will also + use the new foo expression. + + + + The behavior of this function is similar to config.packageOverrides. + + + + The self parameter refers to the final package set with the + applied overrides. Using this parameter may lead to infinite recursion if not + used consciously. + + + + The super parameter refers to the old package set. + It's equivalent to pkgs in the above example. + + + + Note that in previous versions of nixpkgs, this method replaced any changes from config.packageOverrides, + along with that from previous calls if this function was called repeatedly. + Now those previous changes will be preserved so this function can be "chained" meaningfully. + To recover the old behavior, make sure config.packageOverrides is unset, + and call this only once off a "freshly" imported nixpkgs: + + let + pkgs = import <nixpkgs> { config: {}; }; + newpkgs = pkgs.overridePackages ...; + in ... + + +
+ +
+ <pkg>.override + + + The function override is usually available for all the + derivations in the nixpkgs expression (pkgs). + + + It is used to override the arguments passed to a function. + + + Example usages: + + pkgs.foo.override { arg1 = val1; arg2 = val2; ... } + pkgs.overridePackages (self: super: { + foo = super.foo.override { barSupport = true ; }; + }) + mypkg = pkgs.callPackage ./mypkg.nix { + mydep = pkgs.mydep.override { ... }; + }) + + + + In the first example, pkgs.foo is the result of a function call + with some default arguments, usually a derivation. + Using pkgs.foo.override will call the same function with + the given new arguments. + + +
+ +
+ <pkg>.overrideAttrs + + + The function overrideAttrs allows overriding the + attribute set passed to a stdenv.mkDerivation call, + producing a new derivation based on the original one. + This function is available on all derivations produced by the + stdenv.mkDerivation function, which is most packages + in the nixpkgs expression pkgs. + + + + Example usage: + + helloWithDebug = pkgs.hello.overrideAttrs (oldAttrs: rec { + separateDebugInfo = true; + }); + + + + In the above example, the separateDebugInfo attribute is + overriden to be true, thus building debug info for + helloWithDebug, while all other attributes will be + retained from the original hello package. + + + + The argument oldAttrs is conventionally used to refer to + the attr set originally passed to stdenv.mkDerivation. + + + + + Note that separateDebugInfo is processed only by the + stdenv.mkDerivation function, not the generated, raw + Nix derivation. Thus, using overrideDerivation will + not work in this case, as it overrides only the attributes of the final + derivation. It is for this reason that overrideAttrs + should be preferred in (almost) all cases to + overrideDerivation, i.e. to allow using + sdenv.mkDerivation to process input arguments, as well + as the fact that it is easier to use (you can use the same attribute + names you see in your Nix code, instead of the ones generated (e.g. + buildInputs vs nativeBuildInputs, + and involves less typing. + + + +
+ + +
+ <pkg>.overrideDerivation + + + You should prefer overrideAttrs in almost all + cases, see its documentation for the reasons why. + overrideDerivation is not deprecated and will continue + to work, but is less nice to use and does not have as many abilities as + overrideAttrs. + + + + + Do not use this function in Nixpkgs as it evaluates a Derivation + before modifying it, which breaks package abstraction and removes + error-checking of function arguments. In addition, this + evaluation-per-function application incurs a performance penalty, + which can become a problem if many overrides are used. + It is only intended for ad-hoc customisation, such as in + ~/.nixpkgs/config.nix. + + + + + The function overrideDerivation creates a new derivation + based on an existing one by overriding the original's attributes with + the attribute set produced by the specified function. + This function is available on all + derivations defined using the makeOverridable function. + Most standard derivation-producing functions, such as + stdenv.mkDerivation, are defined using this + function, which means most packages in the nixpkgs expression, + pkgs, have this function. + + + + Example usage: + + mySed = pkgs.gnused.overrideDerivation (oldAttrs: { + name = "sed-4.2.2-pre"; + src = fetchurl { + url = ftp://alpha.gnu.org/gnu/sed/sed-4.2.2-pre.tar.bz2; + sha256 = "11nq06d131y4wmf3drm0yk502d2xc6n5qy82cg88rb9nqd2lj41k"; + }; + patches = []; + }); + + + + In the above example, the name, src, + and patches of the derivation will be overridden, while + all other attributes will be retained from the original derivation. + + + + The argument oldAttrs is used to refer to the attribute set of + the original derivation. + + + + + A package's attributes are evaluated *before* being modified by + the overrideDerivation function. + For example, the name attribute reference + in url = "mirror://gnu/hello/${name}.tar.gz"; + is filled-in *before* the overrideDerivation function + modifies the attribute set. This means that overriding the + name attribute, in this example, *will not* change the + value of the url attribute. Instead, we need to override + both the name *and* url attributes. + + + +
+ +
+ lib.makeOverridable + + + The function lib.makeOverridable is used to make the result + of a function easily customizable. This utility only makes sense for functions + that accept an argument set and return an attribute set. + + + + Example usage: + + f = { a, b }: { result = a+b; } + c = lib.makeOverridable f { a = 1; b = 2; } + + + + + The variable c is the value of the f function + applied with some default arguments. Hence the value of c.result + is 3, in this example. + + + + The variable c however also has some additional functions, like + c.override which can be used to + override the default arguments. In this example the value of + (c.override { a = 4; }).result is 6. + + +
-
- lib.makeOverridable +
+ Generators - The function lib.makeOverridable is used to make the result - of a function easily customizable. This utility only makes sense for functions - that accept an argument set and return an attribute set. + Generators are functions that create file formats from nix + data structures, e. g. for configuration files. + There are generators available for: INI, + JSON and YAML - Example usage: - - f = { a, b }: { result = a+b; } -c = lib.makeOverridable f { a = 1; b = 2; } - + All generators follow a similar call interface: generatorName + configFunctions data, where configFunctions is a + set of user-defined functions that format variable parts of the content. + They each have common defaults, so often they do not need to be set + manually. An example is mkSectionName ? (name: libStr.escape [ "[" "]" + ] name) from the INI generator. It gets the name + of a section and returns a sanitized name. The default + mkSectionName escapes [ and + ] with a backslash. - - The variable c is the value of the f function - applied with some default arguments. Hence the value of c.result - is 3, in this example. - + Nix store paths can be converted to strings by enclosing a + derivation attribute like so: "${drv}". - The variable c however also has some additional functions, like - c.override which can be used to - override the default arguments. In this example the value of - (c.override { a = 4; }).result is 6. + Detailed documentation for each generator can be found in + lib/generators.nix.
@@ -295,37 +413,37 @@ c = lib.makeOverridable f { a = 1; b = 2; }
- pkgs.dockerTools +pkgs.dockerTools - + pkgs.dockerTools is a set of functions for creating and manipulating Docker images according to the - Docker Image Specification v1.0.0 + Docker Image Specification v1.0.0 . Docker itself is not used to perform any of the operations done by these functions. - + - + - The dockerTools API is unstable and may be subject to - backwards-incompatible changes in the future. + The dockerTools API is unstable and may be subject to + backwards-incompatible changes in the future. - + -
+
buildImage - This function is analogous to the docker build command, - in that can used to build a Docker-compatible repository tarball containing - a single image with one or multiple layers. As such, the result - is suitable for being loaded in Docker with docker load. + This function is analogous to the docker build command, + in that can used to build a Docker-compatible repository tarball containing + a single image with one or multiple layers. As such, the result + is suitable for being loaded in Docker with docker load. - The parameters of buildImage with relative example values are - described below: + The parameters of buildImage with relative example values are + described below: Docker build @@ -333,11 +451,11 @@ c = lib.makeOverridable f { a = 1; b = 2; } buildImage { name = "redis"; tag = "latest"; - + fromImage = someBaseImage; fromImageName = null; fromImageTag = "latest"; - + contents = pkgs.redis; runAsRoot = '' #!${stdenv.shell} @@ -356,131 +474,131 @@ c = lib.makeOverridable f { a = 1; b = 2; } The above example will build a Docker image redis/latest - from the given base image. Loading and running this image in Docker results in - redis-server being started automatically. + from the given base image. Loading and running this image in Docker results in + redis-server being started automatically. - + - name specifies the name of the resulting image. - This is the only required argument for buildImage. + name specifies the name of the resulting image. + This is the only required argument for buildImage. - + - + - tag specifies the tag of the resulting image. - By default it's latest. + tag specifies the tag of the resulting image. + By default it's latest. - + - + - fromImage is the repository tarball containing the base image. - It must be a valid Docker image, such as exported by docker save. - By default it's null, which can be seen as equivalent - to FROM scratch of a Dockerfile. + fromImage is the repository tarball containing the base image. + It must be a valid Docker image, such as exported by docker save. + By default it's null, which can be seen as equivalent + to FROM scratch of a Dockerfile. - - - - - fromImageName can be used to further specify - the base image within the repository, in case it contains multiple images. - By default it's null, in which case - buildImage will peek the first image available - in the repository. - - + - + - fromImageTag can be used to further specify the tag - of the base image within the repository, in case an image contains multiple tags. - By default it's null, in which case - buildImage will peek the first tag available for the base image. + fromImageName can be used to further specify + the base image within the repository, in case it contains multiple images. + By default it's null, in which case + buildImage will peek the first image available + in the repository. - + - + - contents is a derivation that will be copied in the new - layer of the resulting image. This can be similarly seen as - ADD contents/ / in a Dockerfile. - By default it's null. + fromImageTag can be used to further specify the tag + of the base image within the repository, in case an image contains multiple tags. + By default it's null, in which case + buildImage will peek the first tag available for the base image. - + - + - runAsRoot is a bash script that will run as root - in an environment that overlays the existing layers of the base image with - the new resulting layer, including the previously copied - contents derivation. - This can be similarly seen as - RUN ... in a Dockerfile. - - + contents is a derivation that will be copied in the new + layer of the resulting image. This can be similarly seen as + ADD contents/ / in a Dockerfile. + By default it's null. + + + + + + runAsRoot is a bash script that will run as root + in an environment that overlays the existing layers of the base image with + the new resulting layer, including the previously copied + contents derivation. + This can be similarly seen as + RUN ... in a Dockerfile. + + - Using this parameter requires the kvm - device to be available. + Using this parameter requires the kvm + device to be available. - + - + - + - config is used to specify the configuration of the - containers that will be started off the built image in Docker. - The available options are listed in the - + config is used to specify the configuration of the + containers that will be started off the built image in Docker. + The available options are listed in the + Docker Image Specification v1.0.0 - . + . - + - After the new layer has been created, its closure - (to which contents, config and - runAsRoot contribute) will be copied in the layer itself. - Only new dependencies that are not already in the existing layers will be copied. + After the new layer has been created, its closure + (to which contents, config and + runAsRoot contribute) will be copied in the layer itself. + Only new dependencies that are not already in the existing layers will be copied. - At the end of the process, only one new single layer will be produced and - added to the resulting image. + At the end of the process, only one new single layer will be produced and + added to the resulting image. - The resulting repository will only list the single image - image/tag. In the case of - it would be redis/latest. + The resulting repository will only list the single image + image/tag. In the case of + it would be redis/latest. - It is possible to inspect the arguments with which an image was built - using its buildArgs attribute. + It is possible to inspect the arguments with which an image was built + using its buildArgs attribute. -
+
-
+
pullImage - This function is analogous to the docker pull command, - in that can be used to fetch a Docker image from a Docker registry. - Currently only registry v1 is supported. - By default Docker Hub - is used to pull images. + This function is analogous to the docker pull command, + in that can be used to fetch a Docker image from a Docker registry. + Currently only registry v1 is supported. + By default Docker Hub + is used to pull images. - Its parameters are described in the example below: + Its parameters are described in the example below: Docker pull @@ -498,73 +616,73 @@ c = lib.makeOverridable f { a = 1; b = 2; } - + - imageName specifies the name of the image to be downloaded, - which can also include the registry namespace (e.g. library/debian). - This argument is required. + imageName specifies the name of the image to be downloaded, + which can also include the registry namespace (e.g. library/debian). + This argument is required. - - - - - imageTag specifies the tag of the image to be downloaded. - By default it's latest. - - + - + - imageId, if specified this exact image will be fetched, instead - of imageName/imageTag. However, the resulting repository - will still be named imageName/imageTag. - By default it's null. + imageTag specifies the tag of the image to be downloaded. + By default it's latest. - + - + - sha256 is the checksum of the whole fetched image. - This argument is required. + imageId, if specified this exact image will be fetched, instead + of imageName/imageTag. However, the resulting repository + will still be named imageName/imageTag. + By default it's null. + + + + + + sha256 is the checksum of the whole fetched image. + This argument is required. - The checksum is computed on the unpacked directory, not on the final tarball. + The checksum is computed on the unpacked directory, not on the final tarball. - + - + - In the above example the default values are shown for the variables - indexUrl and registryVersion. - Hence by default the Docker.io registry is used to pull the images. + In the above example the default values are shown for the variables + indexUrl and registryVersion. + Hence by default the Docker.io registry is used to pull the images. - + - -
- -
+ +
+ +
exportImage - This function is analogous to the docker export command, - in that can used to flatten a Docker image that contains multiple layers. - It is in fact the result of the merge of all the layers of the image. - As such, the result is suitable for being imported in Docker - with docker import. + This function is analogous to the docker export command, + in that can used to flatten a Docker image that contains multiple layers. + It is in fact the result of the merge of all the layers of the image. + As such, the result is suitable for being imported in Docker + with docker import. - + Using this function requires the kvm device to be available. - + - The parameters of exportImage are the following: + The parameters of exportImage are the following: Docker export @@ -573,35 +691,35 @@ c = lib.makeOverridable f { a = 1; b = 2; } fromImage = someLayeredImage; fromImageName = null; fromImageTag = null; - + name = someLayeredImage.name; } - The parameters relative to the base image have the same synopsis as - described in , except that - fromImage is the only required argument in this case. + The parameters relative to the base image have the same synopsis as + described in , except that + fromImage is the only required argument in this case. - The name argument is the name of the derivation output, - which defaults to fromImage.name. + The name argument is the name of the derivation output, + which defaults to fromImage.name. -
+
-
+
shadowSetup - This constant string is a helper for setting up the base files for managing - users and groups, only if such files don't exist already. - It is suitable for being used in a - runAsRoot script for cases like - in the example below: + This constant string is a helper for setting up the base files for managing + users and groups, only if such files don't exist already. + It is suitable for being used in a + runAsRoot script for cases like + in the example below: - + Shadow base files buildImage { @@ -620,13 +738,13 @@ c = lib.makeOverridable f { a = 1; b = 2; } - Creating base files like /etc/passwd or - /etc/login.defs are necessary for shadow-utils to - manipulate users and groups. + Creating base files like /etc/passwd or + /etc/login.defs are necessary for shadow-utils to + manipulate users and groups. - -
- + +
+
diff --git a/doc/languages-frameworks/beam.xml b/doc/languages-frameworks/beam.xml index 2dc5aa63e458..efb2e60cf3aa 100644 --- a/doc/languages-frameworks/beam.xml +++ b/doc/languages-frameworks/beam.xml @@ -248,7 +248,7 @@ $ nix-env -f "<nixpkgs>" -iA beamPackages.ibrowse development. Many times we need to create a shell.nix file and do our development inside of the environment specified by that file. This file looks a lot - like the packageing described above. The main difference is that + like the packaging described above. The main difference is that src points to project root and we call the package directly. diff --git a/doc/languages-frameworks/go.xml b/doc/languages-frameworks/go.xml index e56d7dd389d9..026acb4e8fb9 100644 --- a/doc/languages-frameworks/go.xml +++ b/doc/languages-frameworks/go.xml @@ -24,7 +24,7 @@ deis = buildGoPackage rec { sha256 = "1qv9lxqx7m18029lj8cw3k7jngvxs4iciwrypdy0gd2nnghc68sw"; }; - goDeps = ./deps.json; + goDeps = ./deps.nix; buildFlags = "--tags release"; } @@ -56,7 +56,9 @@ the following arguments are of special significance to the function: goDeps is where the Go dependencies of a Go program are listed - in a JSON format described below. + as a list of package source identified by Go import path. + It could be imported as a separate deps.nix file for + readability. The dependency data structure is described below. @@ -70,23 +72,32 @@ the following arguments are of special significance to the function: -The goDeps attribute should point to a JSON file that defines which Go libraries - are needed and should be included in GOPATH for buildPhase. - +The goDeps attribute can be imported from a separate + nix file that defines which Go libraries are needed and should + be included in GOPATH for buildPhase. -deps.json +deps.nix [ - { - "goPackagePath": "gopkg.in/yaml.v2", - "fetch": { - "type": "git", - "url": "https://gopkg.in/yaml.v2", - "rev": "a83829b6f1293c91addabc89d0571c246397bbf4", - "sha256": "1m4dsmk90sbi17571h6pld44zxz7jc4lrnl4f27dpd1l8g5xvjhh" - } - } + { + goPackagePath = "gopkg.in/yaml.v2"; + fetch = { + type = "git"; + url = "https://gopkg.in/yaml.v2"; + rev = "a83829b6f1293c91addabc89d0571c246397bbf4"; + sha256 = "1m4dsmk90sbi17571h6pld44zxz7jc4lrnl4f27dpd1l8g5xvjhh"; + }; + } + { + goPackagePath = "github.com/docopt/docopt-go"; + fetch = { + type = "git"; + url = "https://github.com/docopt/docopt-go"; + rev = "784ddc588536785e7299f7272f39101f7faccc3f"; + sha256 = "0wwz48jl9fvl1iknvn9dqr4gfy1qs03gxaikrxxp9gry6773v3sj"; + }; + } ] diff --git a/doc/languages-frameworks/haskell.md b/doc/languages-frameworks/haskell.md index 18b2fd65f44b..6728f4abba0e 100644 --- a/doc/languages-frameworks/haskell.md +++ b/doc/languages-frameworks/haskell.md @@ -383,7 +383,7 @@ You can select a particular GHC version to compile with by setting the Stack choose what GHC version it wants based on the snapshot specified in `stack.yaml` (only works with Stack >= 1.1.3): - {nixpkgs ? import { }, ghc ? nixpkgs.ghc} + {nixpkgs ? import { }, ghc ? nixpkgs.ghc}: with nixpkgs; @@ -633,7 +633,7 @@ Now the builds succeeds. Of course, in the concrete example of `ghc-events` this whole exercise is not an ideal solution, because `ghc-events` can analyze the output emitted by any version of GHC later than 6.12 regardless of the compiler version that was used -to build the `ghc-events' executable, so strictly speaking there's no reason to +to build the `ghc-events` executable, so strictly speaking there's no reason to prefer one built with GHC 7.8.x in the first place. However, for users who cannot use GHC 7.10.x at all for some reason, the approach of downgrading to an older version might be useful. diff --git a/doc/languages-frameworks/index.xml b/doc/languages-frameworks/index.xml index 8076c33f1b3f..81352ec2a9a6 100644 --- a/doc/languages-frameworks/index.xml +++ b/doc/languages-frameworks/index.xml @@ -21,6 +21,7 @@ such as Perl or Haskell. These are described in this chapter. + diff --git a/doc/languages-frameworks/perl.xml b/doc/languages-frameworks/perl.xml index 54b82f4a0560..dfb463b99912 100644 --- a/doc/languages-frameworks/perl.xml +++ b/doc/languages-frameworks/perl.xml @@ -157,16 +157,16 @@ expression on standard output. For example: $ nix-generate-from-cpan XML::Simple - XMLSimple = buildPerlPackage { - name = "XML-Simple-2.20"; + XMLSimple = buildPerlPackage rec { + name = "XML-Simple-2.22"; src = fetchurl { - url = mirror://cpan/authors/id/G/GR/GRANTM/XML-Simple-2.20.tar.gz; - sha256 = "5cff13d0802792da1eb45895ce1be461903d98ec97c9c953bc8406af7294434a"; + url = "mirror://cpan/authors/id/G/GR/GRANTM/${name}.tar.gz"; + sha256 = "b9450ef22ea9644ae5d6ada086dc4300fa105be050a2030ebd4efd28c198eb49"; }; propagatedBuildInputs = [ XMLNamespaceSupport XMLSAX XMLSAXExpat ]; meta = { - description = "Easily read/write XML (esp config files)"; - license = "perl"; + description = "An API for simple XML files"; + license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; }; }; diff --git a/doc/languages-frameworks/python.md b/doc/languages-frameworks/python.md index e7dbe3bd7db0..82aeb112c93e 100644 --- a/doc/languages-frameworks/python.md +++ b/doc/languages-frameworks/python.md @@ -3,7 +3,7 @@ ## User Guide Several versions of Python are available on Nix as well as a high amount of -packages. The default interpreter is CPython 2.7. +packages. The default interpreter is CPython 3.5. ### Using Python @@ -97,7 +97,7 @@ We will first have a look at how Python packages are packaged on Nix. Then, we w #### Python packaging on Nix -On Nix all packages are built by functions. The main function in Nix for building Python packages is [`buildPythonPackage`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/python-modules/generic/default.nix). +On Nix all packages are built by functions. The main function in Nix for building Python packages is [`buildPythonPackage`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/interpreters/python/build-python-package.nix). Let's see how we would build the `toolz` package. According to [`python-packages.nix`](https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/python-packages.nix) `toolz` is build using ```nix @@ -141,13 +141,15 @@ with import {}; pkgs.python35Packages.buildPythonPackage rec { name = "toolz-${version}"; - version = "0.7.4"; + version = "0.8.0"; src = pkgs.fetchurl{ url = "mirror://pypi/t/toolz/toolz-${version}.tar.gz"; - sha256 = "43c2c9e5e7a16b6c88ba3088a9bfc82f7db8e13378be7c78d6c14a5f8ed05afd"; + sha256 = "e8451af61face57b7c5d09e71c0d27b8005f001ead56e9fdf470417e5cc6d479"; }; + doCheck = false; + meta = { homepage = "http://github.com/pytoolz/toolz/"; description = "List processing tools and functional utilities"; @@ -170,18 +172,18 @@ with import {}; ( let toolz = pkgs.python35Packages.buildPythonPackage rec { name = "toolz-${version}"; - version = "0.7.4"; + version = "0.8.0"; src = pkgs.fetchurl{ url = "mirror://pypi/t/toolz/toolz-${version}.tar.gz"; - sha256 = "43c2c9e5e7a16b6c88ba3088a9bfc82f7db8e13378be7c78d6c14a5f8ed05afd"; + sha256 = "e8451af61face57b7c5d09e71c0d27b8005f001ead56e9fdf470417e5cc6d479"; }; + doCheck = false; + meta = { homepage = "http://github.com/pytoolz/toolz/"; description = "List processing tools and functional utilities"; - license = licenses.bsd3; - maintainers = with maintainers; [ fridh ]; }; }; @@ -308,11 +310,10 @@ Note also the line `doCheck = false;`, we explicitly disabled running the test-s #### Develop local package -As a Python developer you're likely aware of [development mode](http://pythonhosted.org/setuptools/setuptools.html#development-mode) (`python setup.py develop`); +As a Python developer you're likely aware of [development mode](http://setuptools.readthedocs.io/en/latest/setuptools.html#development-mode) (`python setup.py develop`); instead of installing the package this command creates a special link to the project code. That way, you can run updated code without having to reinstall after each and every change you make. -Development mode is also available on Nix as [explained](http://nixos.org/nixpkgs/manual/#ssec-python-development) in the Nixpkgs manual. -Let's see how you can use it. +Development mode is also available. Let's see how you can use it. In the previous Nix expression the source was fetched from an url. We can also refer to a local source instead using @@ -409,36 +410,21 @@ and in this case the `python35` interpreter is automatically used. ### Interpreters -Versions 2.6, 2.7, 3.3, 3.4 and 3.5 of the CPython interpreter are available on -Nix and are available as `python26`, `python27`, `python33`, `python34` and -`python35`. The PyPy interpreter is also available as `pypy`. Currently, the -aliases `python` and `python3` correspond to respectively `python27` and -`python35`. The Nix expressions for the interpreters can be found in +Versions 2.6, 2.7, 3.3, 3.4 and 3.5 of the CPython interpreter are available as respectively +`python26`, `python27`, `python33`, `python34` and `python35`. The PyPy interpreter +is available as `pypy`. The aliases `python2` and `python3` correspond to respectively `python27` and +`python35`. The default interpreter, `python`, maps to `python2`. +The Nix expressions for the interpreters can be found in `pkgs/development/interpreters/python`. - -#### Missing modules standard library - -The interpreters `python26` and `python27` do not include modules that -require external dependencies. This is done in order to reduce the closure size. -The following modules need to be added as `buildInput` explicitly: - -* `python.modules.bsddb` -* `python.modules.curses` -* `python.modules.curses_panel` -* `python.modules.crypt` -* `python.modules.gdbm` -* `python.modules.sqlite3` -* `python.modules.tkinter` -* `python.modules.readline` - -For convenience `python27Full` and `python26Full` are provided with all -modules included. - All packages depending on any Python interpreter get appended `out/{python.sitePackages}` to `$PYTHONPATH` if such directory exists. +#### Missing `tkinter` module standard library + +To reduce closure size the `Tkinter`/`tkinter` is available as a separate package, `pythonPackages.tkinter`. + #### Attributes on interpreters packages Each interpreter has the following attributes: @@ -448,18 +434,21 @@ Each interpreter has the following attributes: - `buildEnv`. Function to build python interpreter environments with extra packages bundled together. See section *python.buildEnv function* for usage and documentation. - `withPackages`. Simpler interface to `buildEnv`. See section *python.withPackages function* for usage and documentation. - `sitePackages`. Alias for `lib/${libPrefix}/site-packages`. -- `executable`. Name of the interpreter executable, ie `python3.4`. +- `executable`. Name of the interpreter executable, e.g. `python3.4`. +- `pkgs`. Set of Python packages for that specific interpreter. The package set can be modified by overriding the interpreter and passing `packageOverrides`. ### Building packages and applications -Python packages (libraries) and applications that use `setuptools` or -`distutils` are typically built with respectively the `buildPythonPackage` and -`buildPythonApplication` functions. +Python libraries and applications that use `setuptools` or +`distutils` are typically build with respectively the `buildPythonPackage` and +`buildPythonApplication` functions. These two functions also support installing a `wheel`. All Python packages reside in `pkgs/top-level/python-packages.nix` and all -applications elsewhere. Some packages are also defined in +applications elsewhere. In case a package is used as both a library and an application, +then the package should be in `pkgs/top-level/python-packages.nix` since only those packages are made +available for all interpreter versions. The preferred location for library expressions is in `pkgs/development/python-modules`. It is important that these packages are -called in `pkgs/top-level/python-packages.nix` and not elsewhere, to guarantee +called from `pkgs/top-level/python-packages.nix` and not elsewhere, to guarantee the right version of the package is built. Based on the packages defined in `pkgs/top-level/python-packages.nix` an @@ -475,15 +464,16 @@ sets are and the aliases -* `pkgs.pythonPackages` pointing to `pkgs.python27Packages` +* `pkgs.python2Packages` pointing to `pkgs.python27Packages` * `pkgs.python3Packages` pointing to `pkgs.python35Packages` +* `pkgs.pythonPackages` pointing to `pkgs.python2Packages` #### `buildPythonPackage` function The `buildPythonPackage` function is implemented in `pkgs/development/interpreters/python/build-python-package.nix` -and can be used as: +The following is an example: twisted = buildPythonPackage { name = "twisted-8.1.0"; @@ -534,7 +524,7 @@ All parameters from `mkDerivation` function are still supported. * `postShellHook`: Hook to execute commands after `shellHook`. * `makeWrapperArgs`: A list of strings. Arguments to be passed to `makeWrapper`, which wraps generated binaries. By default, the arguments to `makeWrapper` set `PATH` and `PYTHONPATH` environment variables before calling the binary. Additional arguments here can allow a developer to set environment variables which will be available when the binary is run. For example, `makeWrapperArgs = ["--set FOO BAR" "--set BAZ QUX"]`. * `installFlags`: A list of strings. Arguments to be passed to `pip install`. To pass options to `python setup.py install`, use `--install-option`. E.g., `installFlags=["--install-option='--cpp_implementation'"]. -* `format`: Format of the source. Options are `setup` for when the source has a `setup.py` and `setuptools` is used to build a wheel, and `wheel` in case the source is already a binary wheel. The default value is `setup`. +* `format`: Format of the source. Valid options are `setuptools` (default), `flit`, `wheel`, and `other`. `setuptools` is for when the source has a `setup.py` and `setuptools` is used to build a wheel, `flit`, in case `flit` should be used to build a wheel, and `wheel` in case a wheel is provided. In case you need to provide your own `buildPhase` and `installPhase` you can use `other`. * `catchConflicts` If `true`, abort package build if a package name appears more than once in dependency tree. Default is `true`. * `checkInputs` Dependencies needed for running the `checkPhase`. These are added to `buildInputs` when `doCheck = true`. @@ -669,9 +659,8 @@ when you try to install a second environment. Create a file, e.g. `build.nix`, with the following expression ```nix with import {}; -with python35Packages; -python.withPackages (ps: with ps; [ numpy ipython ]) +pkgs.python35.withPackages (ps: with ps; [ numpy ipython ]) ``` and install it in your profile with ``` @@ -683,14 +672,15 @@ Now you can use the Python interpreter, as well as the extra packages that you a If you prefer to, you could also add the environment as a package override to the Nixpkgs set. ``` - packageOverrides = pkgs: with pkgs; with python35Packages; { - myEnv = python.withPackages (ps: with ps; [ numpy ipython ]); + packageOverrides = pkgs: with pkgs; { + myEnv = python35.withPackages (ps: with ps; [ numpy ipython ]); }; ``` and install it in your profile with ``` -nix-env -iA nixos.blogEnv +nix-env -iA nixpkgs.myEnv ``` +We're installing using the attribute path and assume the channels is named `nixpkgs`. Note that I'm using the attribute path here. #### Environment defined in `/etc/nixos/configuration.nix` @@ -699,7 +689,7 @@ For the sake of completeness, here's another example how to install the environm ```nix environment.systemPackages = with pkgs; [ - (python35Packages.python.withPackages (ps: callPackage ../packages/common-python-packages.nix { pythonPackages = ps; })) + (python35.withPackages(ps: with ps; [ numpy ipython ])) ]; ``` @@ -711,59 +701,55 @@ should also be done when packaging `A`. ### How to override a Python package? -Recursively updating a package can be done with `pkgs.overridePackages` as explained in the Nixpkgs manual. -Python attribute sets are created for each interpreter version. We will therefore override the attribute set for the interpreter version we're interested. -In the following example we change the name of the package `pandas` to `foo`. -``` -newpkgs = pkgs.overridePackages(self: super: rec { - python35Packages = (super.python35Packages.override { self = python35Packages;}) - // { pandas = super.python35Packages.pandas.override {name = "foo";}; - }; -}); -``` -This can be tested with -``` +We can override the interpreter and pass `packageOverrides`. +In the following example we rename the `pandas` package and build it. +```nix with import {}; -(let +let + python = let + packageOverrides = self: super: { + pandas = super.pandas.override {name="foo";}; + }; + in pkgs.python35.override {inherit packageOverrides;}; -newpkgs = pkgs.overridePackages(self: super: rec { - python35Packages = (super.python35Packages.override { self = python35Packages;}) - // { pandas = super.python35Packages.pandas.override {name = "foo";}; - }; -}); -in newpkgs.python35.withPackages (ps: [ps.blaze]) -).env -``` -A typical use case is to switch to another version of a certain package. For example, in the Nixpkgs repository we have multiple versions of `django` and `scipy`. -In the following example we use a different version of `scipy`. All packages in `newpkgs` will now use the updated `scipy` version. +in python.pkgs.pandas ``` +Using `nix-build` on this expression will build the package `pandas` +but with the new name `foo`. + +All packages in the package set will use the renamed package. +A typical use case is to switch to another version of a certain package. +For example, in the Nixpkgs repository we have multiple versions of `django` and `scipy`. +In the following example we use a different version of `scipy` and create an environment that uses it. +All packages in the Python package set will now use the updated `scipy` version. + +```nix with import {}; -(let - -newpkgs = pkgs.overridePackages(self: super: rec { - python35Packages = super.python35Packages.override { - self = python35Packages // { scipy = python35Packages.scipy_0_17;}; +( +let + packageOverrides = self: super: { + scipy = super.scipy_0_17; }; -}); -in newpkgs.python35.withPackages (ps: [ps.blaze]) +in (pkgs.python35.override {inherit packageOverrides;}).withPackages (ps: [ps.blaze]) ).env ``` -The requested package `blaze` depends upon `pandas` which itself depends on `scipy`. +The requested package `blaze` depends on `pandas` which itself depends on `scipy`. -A similar example but now using `django` +If you want the whole of Nixpkgs to use your modifications, then you can use `pkgs.overridePackages` +as explained in this manual. In the following example we build a `inkscape` using a different version of `numpy`. ``` -with import {}; - -(let - -newpkgs = pkgs.overridePackages(self: super: rec { - python27Packages = (super.python27Packages.override {self = python27Packages;}) - // { django = super.python27Packages.django_1_9; }; -}); -in newpkgs.python27.withPackages (ps: [ps.django_guardian ]) -).env +let + pkgs = import {}; + newpkgs = pkgs.overridePackages ( pkgsself: pkgssuper: { + python27 = let + packageOverrides = self: super: { + numpy = super.numpy_1_10; + }; + in pkgssuper.python27.override {inherit packageOverrides;}; + } ); +in newpkgs.inkscape ``` ### `python setup.py bdist_wheel` cannot create .whl @@ -784,9 +770,9 @@ or the current time: nix-shell --run "SOURCE_DATE_EPOCH=$(date +%s) python3 setup.py bdist_wheel" ``` or unset: -""" +``` nix-shell --run "unset SOURCE_DATE_EPOCH; python3 setup.py bdist_wheel" -""" +``` ### `install_data` / `data_files` problems diff --git a/doc/languages-frameworks/texlive.xml b/doc/languages-frameworks/texlive.xml index 0e3c1dd13d72..fdee1e405ecc 100644 --- a/doc/languages-frameworks/texlive.xml +++ b/doc/languages-frameworks/texlive.xml @@ -35,6 +35,7 @@ texlive.combine { You can list packages e.g. by nix-repl. $ nix-repl +nix-repl> :l <nixpkgs> nix-repl> texlive.collection-<TAB> diff --git a/doc/manual.xml b/doc/manual.xml index 32e94e8e59c5..6ad66d486525 100644 --- a/doc/manual.xml +++ b/doc/manual.xml @@ -20,6 +20,7 @@ + diff --git a/doc/multiple-output.xml b/doc/multiple-output.xml index 309254f76aac..b7a363c750e6 100644 --- a/doc/multiple-output.xml +++ b/doc/multiple-output.xml @@ -45,34 +45,48 @@ File type groups The support code currently recognizes some particular kinds of outputs and either instructs the build system of the package to put files into their desired outputs or it moves the files during the fixup phase. Each group of file types has an outputFoo variable specifying the output name where they should go. If that variable isn't defined by the derivation writer, it is guessed – a default output name is defined, falling back to other possibilities if the output isn't defined. + $outputDev is for development-only files. These include C(++) headers, pkg-config, cmake and aclocal files. They go to dev or out by default. - + + + $outputBin is meant for user-facing binaries, typically residing in bin/. They go to bin or out by default. - + + $outputLib is meant for libraries, typically residing in lib/ and libexec/. They go to lib or out by default. - + + $outputDoc is for user documentation, typically residing in share/doc/. It goes to doc or out by default. - + + - $outputDocdev - is for developer documentation. Currently we count gtk-doc and man3 pages in there. It goes to docdev or is removed (!) by default. This is because e.g. gtk-doc tends to be rather large and completely unused by nixpkgs users. - + $outputDevdoc + is for developer documentation. Currently we count gtk-doc in there. It goes to devdoc or is removed (!) by default. This is because e.g. gtk-doc tends to be rather large and completely unused by nixpkgs users. + + $outputMan is for man pages (except for section 3). They go to man or doc or $outputBin by default. - + + + + $outputDevman + is for section 3 man pages. They go to devman or $outputMan by default. + + $outputInfo is for info pages. They go to info or doc or $outputMan by default. - + +
@@ -88,4 +102,3 @@ - diff --git a/doc/package-notes.xml b/doc/package-notes.xml index f0015a7f9ace..0ba7ec4c44d4 100644 --- a/doc/package-notes.xml +++ b/doc/package-notes.xml @@ -382,4 +382,138 @@ it. Place the resulting package.nix file into +
+ +Steam + +
+ +Steam in Nix + + + Steam is distributed as a .deb file, for now only + as an i686 package (the amd64 package only has documentation). + When unpacked, it has a script called steam that + in ubuntu (their target distro) would go to /usr/bin + . When run for the first time, this script copies some + files to the user's home, which include another script that is the + ultimate responsible for launching the steam binary, which is also + in $HOME. + + + Nix problems and constraints: + + We don't have /bin/bash and many + scripts point there. Similarly for /usr/bin/python + . + We don't have the dynamic loader in /lib + . + The steam.sh script in $HOME can + not be patched, as it is checked and rewritten by steam. + The steam binary cannot be patched, it's also checked. + + + + The current approach to deploy Steam in NixOS is composing a FHS-compatible + chroot environment, as documented + here. + This allows us to have binaries in the expected paths without disrupting the system, + and to avoid patching them to work in a non FHS environment. + + +
+ +
+ +How to play + + + For 64-bit systems it's important to have + hardware.opengl.driSupport32Bit = true; + in your /etc/nixos/configuration.nix. You'll also need + hardware.pulseaudio.support32Bit = true; + if you are using PulseAudio - this will enable 32bit ALSA apps integration. + To use the Steam controller, you need to add + services.udev.extraRules = '' + SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", MODE="0666" + KERNEL=="uinput", MODE="0660", GROUP="users", OPTIONS+="static_node=uinput" + ''; + to your configuration. + + +
+ +
+ +Troubleshooting + + + + + + Steam fails to start. What do I do? + Try to run + strace steam + to see what is causing steam to fail. + + + + Using the FOSS Radeon drivers + + The open source radeon drivers need a newer libc++ than is provided + by the default runtime, which leads to a crash on launch. Use + environment.systemPackages = [(pkgs.steam.override { newStdcpp = true; })]; + in your config if you get an error like + +libGL error: unable to load driver: radeonsi_dri.so +libGL error: driver pointer missing +libGL error: failed to load driver: radeonsi +libGL error: unable to load driver: swrast_dri.so +libGL error: failed to load driver: swrast + + Steam ships statically linked with a version of libcrypto that + conflics with the one dynamically loaded by radeonsi_dri.so. + If you get the error + steam.sh: line 713: 7842 Segmentation fault (core dumped) + have a look at this pull request. + + + + + + Java + + + There is no java in steam chrootenv by default. If you get a message like + /home/foo/.local/share/Steam/SteamApps/common/towns/towns.sh: line 1: java: command not found + You need to add + steam.override { withJava = true; }; + to your configuration. + + + + + + +
+ +
+ +steam-run + +The FHS-compatible chroot used for steam can also be used to run +other linux games that expect a FHS environment. +To do it, add +pkgs.(steam.override { + nativeOnly = true; + newStdcpp = true; + }).run +to your configuration, rebuild, and run the game with +steam-run ./foo + + +
+ +
+ diff --git a/doc/reviewing-contributions.xml b/doc/reviewing-contributions.xml new file mode 100644 index 000000000000..f86928bcd5d0 --- /dev/null +++ b/doc/reviewing-contributions.xml @@ -0,0 +1,393 @@ + + +Reviewing contributions + + + The following section is a draft and reviewing policy is still being + discussed. + + +The nixpkgs projects receives a fairly high number of contributions via + GitHub pull-requests. Reviewing and approving these is an important task and a + way to contribute to the project. + +The high change rate of nixpkgs make any pull request that is open for + long enough subject to conflicts that will require extra work from the + submitter or the merger. Reviewing pull requests in a timely manner and being + responsive to the comments is the key to avoid these. Github provides sort + filters that can be used to see the most + recently and the least + recently updated pull-requests. + +When reviewing a pull request, please always be nice and polite. + Controversial changes can lead to controversial opinions, but it is important + to respect every community members and their work. + +GitHub provides reactions, they are a simple and quick way to provide + feedback to pull-requests or any comments. The thumb-down reaction should be + used with care and if possible accompanied with some explanations so the + submitter has directions to improve his contribution. + +Pull-requests reviews should include a list of what has been reviewed in a + comment, so other reviewers and mergers can know the state of the + review. + +All the review template samples provided in this section are generic and + meant as examples. Their usage is optional and the reviewer is free to adapt + them to his liking. + +
Package updates + +A package update is the most trivial and common type of pull-request. + These pull-requests mainly consist in updating the version part of the package + name and the source hash. +It can happen that non trivial updates include patches or more complex + changes. + +Reviewing process: + + + Add labels to the pull-request. (Requires commit + rights) + + 8.has: package (update) and any topic + label that fit the updated package. + + + Ensure that the package versioning is fitting the + guidelines. + Ensure that the commit text is fitting the + guidelines. + Ensure that the package maintainers are notified. + + mention-bot usually notify GitHub users based on the + submitted changes, but it can happen that it misses some of the + package maintainers. + + + Ensure that the meta field contains correct + information. + + License can change with version updates, so it should be + checked to be fitting upstream license. + If the package has no maintainer, a maintainer must be + set. This can be the update submitter or a community member that + accepts to take maintainership of the package. + + + Ensure that the code contains no typos. + Building the package locally. + + Pull-requests are often targeted to the master or staging + branch so building the pull-request locally as it is submitted can + trigger a large amount of source builds. + It is possible to rebase the changes on nixos-unstable or + nixpkgs-unstable for easier review by running the following commands + from a nixpkgs clone. + +$ git remote add channels https://github.com/NixOS/nixpkgs-channels.git +$ git fetch channels nixos-unstable +$ git fetch origin pull/PRNUMBER/head +$ git rebase --onto nixos-unstable BASEBRANCH FETCH_HEAD + + + + This should be done only once to be able to fetch channel + branches from the nixpkgs-channels repository. + + + Fetching the nixos-unstable branch. + + + Fetching the pull-request changes, PRNUMBER + is the number at the end of the pull-request title and + BASEBRANCH the base branch of the + pull-request. + + + Rebasing the pull-request changes to the nixos-unstable + branch. + + + + + + The nox + tool can be used to review a pull-request content in a single command. + It doesn't rebase on a channel branch so it might trigger multiple + source builds. PRNUMBER should be replaced by the + number at the end of the pull-request title. + +$ nix-shell -p nox --run "nox-review -k pr PRNUMBER" + + + + + Running every binary. + + +Sample template for a package update review + +##### Reviewed points + +- [ ] package name fits guidelines +- [ ] package version fits guidelines +- [ ] package build on ARCHITECTURE +- [ ] executables tested on ARCHITECTURE +- [ ] all depending packages build + +##### Possible improvements + +##### Comments + + +
+ +
New packages + +New packages are a common type of pull-requests. These pull requests + consists in adding a new nix-expression for a package. + +Reviewing process: + + + Add labels to the pull-request. (Requires commit + rights) + + 8.has: package (new) and any topic + label that fit the new package. + + + Ensure that the package versioning is fitting the + guidelines. + Ensure that the commit name is fitting the + guidelines. + Ensure that the meta field contains correct + information. + + License must be checked to be fitting upstream + license. + Platforms should be set or the package will not get binary + substitutes. + A maintainer must be set, this can be the package + submitter or a community member that accepts to take maintainership of + the package. + + + Ensure that the code contains no typos. + Ensure the package source. + + Mirrors urls should be used when + available. + The most appropriate function should be used (e.g. + packages from GitHub should use + fetchFromGitHub). + + + Building the package locally. + Running every binary. + + +Sample template for a new package review + +##### Reviewed points + +- [ ] package path fits guidelines +- [ ] package name fits guidelines +- [ ] package version fits guidelines +- [ ] package build on ARCHITECTURE +- [ ] executables tested on ARCHITECTURE +- [ ] `meta.description` is set and fits guidelines +- [ ] `meta.license` fits upstream license +- [ ] `meta.platforms` is set +- [ ] `meta.maintainers` is set +- [ ] build time only dependencies are declared in `nativeBuildInputs` +- [ ] source is fetched using the appropriate function +- [ ] phases are respected +- [ ] patches that are remotely available are fetched with `fetchpatch` + +##### Possible improvements + +##### Comments + + +
+ +
Module updates + +Module updates are submissions changing modules in some ways. These often + contains changes to the options or introduce new options. + +Reviewing process + + + Add labels to the pull-request. (Requires commit + rights) + + 8.has: module (update) and any topic + label that fit the module. + + + Ensure that the module maintainers are notified. + + Mention-bot notify GitHub users based on the submitted + changes, but it can happen that it miss some of the package + maintainers. + + + Ensure that the module tests, if any, are + succeeding. + Ensure that the introduced options are correct. + + Type should be appropriate (string related types differs + in their merging capabilities, optionSet and + string types are deprecated). + Description, default and example should be + provided. + + + Ensure that option changes are backward compatible. + + mkRenamedOptionModule and + mkAliasOptionModule functions provide way to make + option changes backward compatible. + + + Ensure that removed options are declared with + mkRemovedOptionModule + Ensure that changes that are not backward compatible are + mentioned in release notes. + Ensure that documentations affected by the change is + updated. + + +Sample template for a module update review + +##### Reviewed points + +- [ ] changes are backward compatible +- [ ] removed options are declared with `mkRemovedOptionModule` +- [ ] changes that are not backward compatible are documented in release notes +- [ ] module tests succeed on ARCHITECTURE +- [ ] options types are appropriate +- [ ] options description is set +- [ ] options example is provided +- [ ] documentation affected by the changes is updated + +##### Possible improvements + +##### Comments + + +
+ +
New modules + +New modules submissions introduce a new module to NixOS. + + + Add labels to the pull-request. (Requires commit + rights) + + 8.has: module (new) and any topic label + that fit the module. + + + Ensure that the module tests, if any, are + succeeding. + Ensure that the introduced options are correct. + + Type should be appropriate (string related types differs + in their merging capabilities, optionSet and + string types are deprecated). + Description, default and example should be + provided. + + + Ensure that module meta field is + present + + Maintainers should be declared in + meta.maintainers. + Module documentation should be declared with + meta.doc. + + + Ensure that the module respect other modules + functionality. + + For example, enabling a module should not open firewall + ports by default. + + + + +Sample template for a new module review + +##### Reviewed points + +- [ ] module path fits the guidelines +- [ ] module tests succeed on ARCHITECTURE +- [ ] options have appropriate types +- [ ] options have default +- [ ] options have example +- [ ] options have descriptions +- [ ] No unneeded package is added to system.environmentPackages +- [ ] meta.maintainers is set +- [ ] module documentation is declared in meta.doc + +##### Possible improvements + +##### Comments + + +
+ +
Other submissions + +Other type of submissions requires different reviewing steps. + +If you consider having enough knowledge and experience in a topic and + would like to be a long-term reviewer for related submissions, please contact + the current reviewers for that topic. They will give you information about the + reviewing process. +The main reviewers for a topic can be hard to find as there is no list, but +checking past pull-requests to see who reviewed or git-blaming the code to see +who committed to that topic can give some hints. + +Container system, boot system and library changes are some examples of the + pull requests fitting this category. + +
+ +
Merging pull-requests + +It is possible for community members that have enough knowledge and + experience on a special topic to contribute by merging pull requests. + +TODO: add the procedure to request merging rights. + + + +In a case a contributor leaves definitively the Nix community, he should + create an issue or notify the mailing list with references of packages and + modules he maintains so the maintainership can be taken over by other + contributors. + +
+
diff --git a/doc/stdenv.xml b/doc/stdenv.xml index c17d7c51ae21..68441ea9393a 100644 --- a/doc/stdenv.xml +++ b/doc/stdenv.xml @@ -27,7 +27,7 @@ stdenv.mkDerivation { name = "libfoo-1.2.3"; src = fetchurl { url = http://example.org/libfoo-1.2.3.tar.bz2; - md5 = "e1ec107956b6ddcb0b8b0679367e9ac9"; + sha256 = "0x2g1jqygyr5wiwg4ma1nd7w4ydpy82z9gkcv8vh2v8dn3y58v5m"; }; } @@ -988,6 +988,41 @@ set debug-file-directory ~/.nix-profile/lib/debug +
The installCheck phase + +The installCheck phase checks whether the package was installed +correctly by running its test suite against the installed directories. +The default installCheck calls make +installcheck. + + + Variables controlling the installCheck phase + + + doInstallCheck + If set to a non-empty string, the installCheck phase is + executed, otherwise it is skipped (default). Thus you should set + + doInstallCheck = true; + + in the derivation to enable install checks. + + + + preInstallCheck + Hook executed at the start of the installCheck + phase. + + + + postInstallCheck + Hook executed at the end of the installCheck + phase. + + + + +
The distribution phase @@ -1196,13 +1231,12 @@ echo @foo@ stripHash path Strips the directory and hash part of a store - path, storing the name part in the environment variable - strippedName. For example: + path, outputting the name part to stdout. + For example: -stripHash "/nix/store/9s9r019176g7cvn2nvcw41gsp862y6b4-coreutils-8.24" # prints coreutils-8.24 -echo $strippedName +stripHash "/nix/store/9s9r019176g7cvn2nvcw41gsp862y6b4-coreutils-8.24" If you wish to store the result in another variable, then the @@ -1210,7 +1244,7 @@ echo $strippedName name="/nix/store/9s9r019176g7cvn2nvcw41gsp862y6b4-coreutils-8.24" -someVar=$(stripHash $name; echo $strippedName) +someVar=$(stripHash $name) diff --git a/lib/attrsets.nix b/lib/attrsets.nix index 686e125f100c..c1bd764c70dc 100644 --- a/lib/attrsets.nix +++ b/lib/attrsets.nix @@ -296,12 +296,17 @@ rec { /* Converts a store path to a fake derivation. */ toDerivation = path: - let path' = builtins.storePath path; in - { type = "derivation"; - name = builtins.unsafeDiscardStringContext (builtins.substring 33 (-1) (baseNameOf path')); - outPath = path'; - outputs = [ "out" ]; - }; + let + path' = builtins.storePath path; + res = + { type = "derivation"; + name = builtins.unsafeDiscardStringContext (builtins.substring 33 (-1) (baseNameOf path')); + outPath = path'; + outputs = [ "out" ]; + out = res; + outputName = "out"; + }; + in res; /* If `cond' is true, return the attribute set `as', @@ -386,7 +391,7 @@ rec { ); in f [] [rhs lhs]; - /* A recursive variant of the update operator ‘//’. The recusion + /* A recursive variant of the update operator ‘//’. The recursion stops when one of the attribute values is not an attribute set, in which case the right hand side value takes precedence over the left hand side value. @@ -455,7 +460,7 @@ rec { getDev = getOutput "dev"; /* Pick the outputs of packages to place in buildInputs */ - chooseDevOutputs = drvs: builtins.map (drv: if drv.outputUnspecified or false then drv.dev or drv else drv) drvs; + chooseDevOutputs = drvs: builtins.map getDev drvs; /*** deprecated stuff ***/ diff --git a/lib/customisation.nix b/lib/customisation.nix index efe82d786600..3e6e279824be 100644 --- a/lib/customisation.nix +++ b/lib/customisation.nix @@ -56,16 +56,18 @@ rec { ff = f origArgs; overrideWith = newArgs: origArgs // (if builtins.isFunction newArgs then newArgs origArgs else newArgs); in - if builtins.isAttrs ff then (ff // - { override = newArgs: makeOverridable f (overrideWith newArgs); - overrideDerivation = fdrv: - makeOverridable (args: overrideDerivation (f args) fdrv) origArgs; - }) - else if builtins.isFunction ff then - { override = newArgs: makeOverridable f (overrideWith newArgs); - __functor = self: ff; - overrideDerivation = throw "overrideDerivation not yet supported for functors"; - } + if builtins.isAttrs ff then (ff // { + override = newArgs: makeOverridable f (overrideWith newArgs); + overrideDerivation = fdrv: + makeOverridable (args: overrideDerivation (f args) fdrv) origArgs; + ${if ff ? overrideAttrs then "overrideAttrs" else null} = fdrv: + makeOverridable (args: (f args).overrideAttrs fdrv) origArgs; + }) + else if builtins.isFunction ff then { + override = newArgs: makeOverridable f (overrideWith newArgs); + __functor = self: ff; + overrideDerivation = throw "overrideDerivation not yet supported for functors"; + } else ff; diff --git a/lib/default.nix b/lib/default.nix index 32ac0c58af6c..c0d7899b882a 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -1,27 +1,47 @@ -let +let + # trivial, often used functions trivial = import ./trivial.nix; + + # datatypes + attrsets = import ./attrsets.nix; lists = import ./lists.nix; strings = import ./strings.nix; stringsWithDeps = import ./strings-with-deps.nix; - attrsets = import ./attrsets.nix; + + # packaging + customisation = import ./customisation.nix; + maintainers = import ./maintainers.nix; + meta = import ./meta.nix; sources = import ./sources.nix; + + # module system modules = import ./modules.nix; options = import ./options.nix; types = import ./types.nix; - meta = import ./meta.nix; - debug = import ./debug.nix; - misc = import ./deprecated.nix; - maintainers = import ./maintainers.nix; + + # constants + licenses = import ./licenses.nix; platforms = import ./platforms.nix; systems = import ./systems.nix; - customisation = import ./customisation.nix; - licenses = import ./licenses.nix; + + # misc + debug = import ./debug.nix; + generators = import ./generators.nix; + misc = import ./deprecated.nix; + + # domain-specific sandbox = import ./sandbox.nix; + fetchers = import ./fetchers.nix; in - { inherit trivial lists strings stringsWithDeps attrsets sources options - modules types meta debug maintainers licenses platforms systems sandbox; + { inherit trivial + attrsets lists strings stringsWithDeps + customisation maintainers meta sources + modules options types + licenses platforms systems + debug generators misc + sandbox fetchers; } # !!! don't include everything at top-level; perhaps only the most # commonly used functions. diff --git a/lib/fetchers.nix b/lib/fetchers.nix new file mode 100644 index 000000000000..19d89d6c4074 --- /dev/null +++ b/lib/fetchers.nix @@ -0,0 +1,12 @@ +# snippets that can be shared by mutliple fetchers (pkgs/build-support) +{ + + proxyImpureEnvVars = [ + # We borrow these environment variables from the caller to allow + # easy proxy configuration. This is impure, but a fixed-output + # derivation like fetchurl is allowed to do so since its result is + # by definition pure. + "http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy" + ]; + +} diff --git a/lib/generators.nix b/lib/generators.nix new file mode 100644 index 000000000000..4d3c920b0ae3 --- /dev/null +++ b/lib/generators.nix @@ -0,0 +1,93 @@ +/* Functions that generate widespread file + * formats from nix data structures. + * + * They all follow a similar interface: + * generator { config-attrs } data + * + * Tests can be found in ./tests.nix + * Documentation in the manual, #sec-generators + */ +with import ./trivial.nix; +let + libStr = import ./strings.nix; + libAttr = import ./attrsets.nix; + + flipMapAttrs = flip libAttr.mapAttrs; +in + +rec { + + /* Generate a line of key k and value v, separated by + * character sep. If sep appears in k, it is escaped. + * Helper for synaxes with different separators. + * + * mkKeyValueDefault ":" "f:oo" "bar" + * > "f\:oo:bar" + */ + mkKeyValueDefault = sep: k: v: + "${libStr.escape [sep] k}${sep}${toString v}"; + + + /* Generate a key-value-style config file from an attrset. + * + * mkKeyValue is the same as in toINI. + */ + toKeyValue = { + mkKeyValue ? mkKeyValueDefault "=" + }: attrs: + let mkLine = k: v: mkKeyValue k v + "\n"; + in libStr.concatStrings (libAttr.mapAttrsToList mkLine attrs); + + + /* Generate an INI-style config file from an + * attrset of sections to an attrset of key-value pairs. + * + * generators.toINI {} { + * foo = { hi = "${pkgs.hello}"; ciao = "bar"; }; + * baz = { "also, integers" = 42; }; + * } + * + *> [baz] + *> also, integers=42 + *> + *> [foo] + *> ciao=bar + *> hi=/nix/store/y93qql1p5ggfnaqjjqhxcw0vqw95rlz0-hello-2.10 + * + * The mk* configuration attributes can generically change + * the way sections and key-value strings are generated. + * + * For more examples see the test cases in ./tests.nix. + */ + toINI = { + # apply transformations (e.g. escapes) to section names + mkSectionName ? (name: libStr.escape [ "[" "]" ] name), + # format a setting line from key and value + mkKeyValue ? mkKeyValueDefault "=" + }: attrsOfAttrs: + let + # map function to string for each key val + mapAttrsToStringsSep = sep: mapFn: attrs: + libStr.concatStringsSep sep + (libAttr.mapAttrsToList mapFn attrs); + mkSection = sectName: sectValues: '' + [${mkSectionName sectName}] + '' + toKeyValue { inherit mkKeyValue; } sectValues; + in + # map input to ini sections + mapAttrsToStringsSep "\n" mkSection attrsOfAttrs; + + + /* Generates JSON from an arbitrary (non-function) value. + * For more information see the documentation of the builtin. + */ + toJSON = {}: builtins.toJSON; + + + /* YAML has been a strict superset of JSON since 1.2, so we + * use toJSON. Before it only had a few differences referring + * to implicit typing rules, so it should work with older + * parsers as well. + */ + toYAML = {}@args: toJSON args; +} diff --git a/lib/licenses.nix b/lib/licenses.nix index 3708b1eb15cf..e5784ce22022 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -65,6 +65,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec { fullName = "Boost Software License 1.0"; }; + beerware = spdx { + spdxId = "Beerware"; + fullName = ''Beerware License''; + }; + bsd2 = spdx { spdxId = "BSD-2-Clause"; fullName = ''BSD 2-clause "Simplified" License''; @@ -105,6 +110,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec { fullName = "Creative Commons Attribution Non Commercial Share Alike 4.0"; }; + cc-by-nd-30 = spdx { + spdxId = "CC-BY-ND-3.0"; + fullName = "Creative Commons Attribution-No Derivative Works v3.00"; + }; + cc-by-sa-25 = spdx { spdxId = "CC-BY-SA-2.5"; fullName = "Creative Commons Attribution Share Alike 2.5"; @@ -439,6 +449,12 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec { fullName = "Sleepycat License"; }; + smail = { + shortName = "smail"; + fullName = "SMAIL General Public License"; + url = http://metadata.ftp-master.debian.org/changelogs/main/d/debianutils/debianutils_4.8.1_copyright; + }; + tcltk = spdx { spdxId = "TCL"; fullName = "TCL/TK License"; @@ -470,6 +486,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec { fullName = "The Unlicense"; }; + upl = { + fullName = "Universal Permissive License"; + url = "https://oss.oracle.com/licenses/upl/"; + }; + vim = spdx { spdxId = "Vim"; fullName = "Vim License"; diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 8c29c9b4cf26..95b836130af4 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -10,8 +10,10 @@ aaronschif = "Aaron Schif "; abaldeau = "Andreas Baldeau "; abbradar = "Nikolay Amiantov "; + abigailbuccaneer = "Abigail Bunyan "; aboseley = "Adam Boseley "; abuibrahim = "Ruslan Babayev "; + acowley = "Anthony Cowley "; adev = "Adrien Devresse "; Adjective-Object = "Maxwell Huang-Hobbs "; adnelson = "Allen Nelson "; @@ -28,24 +30,30 @@ all = "Nix Committers "; ambrop72 = "Ambroz Bizjak "; amiddelk = "Arie Middelkoop "; + amiloradovsky = "Andrew Miloradovsky "; amorsillo = "Andrew Morsillo "; AndersonTorres = "Anderson Torres "; anderspapitto = "Anders Papitto "; andres = "Andres Loeh "; andrewrk = "Andrew Kelley "; + andsild = "Anders Sildnes "; aneeshusa = "Aneesh Agrawal "; antono = "Antono Vasiljev "; + apeyroux = "Alexandre Peyroux "; ardumont = "Antoine R. Dumont "; aristid = "Aristid Breitkreuz "; arobyn = "Alexei Robyn "; artuuge = "Artur E. Ruuge "; ashalkhakov = "Artyom Shalkhakov "; + aske = "Kirill Boltaev "; asppsa = "Alastair Pharo "; astsmtl = "Alexander Tsamutali "; + asymmetric = "Lorenzo Manacorda "; aszlig = "aszlig "; auntie = "Jonathan Glines "; avnik = "Alexander V. Nikolaev "; aycanirican = "Aycan iRiCAN "; + bachp = "Pascal Bach "; badi = "Badi' Abdul-Wahid "; balajisivaraman = "Balaji Sivaraman"; Baughn = "Svein Ove Aas "; @@ -81,39 +89,52 @@ chris-martin = "Chris Martin "; chrisjefferson = "Christopher Jefferson "; christopherpoole = "Christopher Mark Poole "; + ckampka = "Christian Kampka "; cko = "Christine Koppelt "; cleverca22 = "Michael Bishop "; cmcdragonkai = "Roger Qiu "; + cmfwyp = "cmfwyp "; coconnor = "Corey O'Connor "; codsl = "codsl "; codyopel = "Cody Opel "; colemickens = "Cole Mickens "; copumpkin = "Dan Peebles "; + corngood = "David McFarland "; coroa = "Jonas Hörsch "; couchemar = "Andrey Pavlov "; cransom = "Casey Ransom "; + cryptix = "Henry Bubert "; CrystalGamma = "Jona Stubbe "; cstrahan = "Charles Strahan "; cwoac = "Oliver Matthews "; DamienCassou = "Damien Cassou "; + danbst = "Danylo Hlynskyi "; + danielfullmer = "Daniel Fullmer "; dasuxullebt = "Christoph-Simon Senjak "; davidak = "David Kleuker "; davidrusu = "David Rusu "; + davorb = "Davor Babic "; dbohdan = "Danyil Bohdan "; dbrock = "Daniel Brockman "; deepfire = "Kosyrev Serge <_deepfire@feelingofgreen.ru>"; demin-dmitriy = "Dmitriy Demin "; DerGuteMoritz = "Moritz Heidkamp "; + DerTim1 = "Tim Digel "; desiderius = "Didier J. Devroye "; devhell = "devhell <\"^\"@regexmail.net>"; dezgeg = "Tuomas Tynkkynen "; dfoxfranke = "Daniel Fox Franke "; dgonyeo = "Derek Gonyeo "; + dipinhora = "Dipin Hora "; dmalikov = "Dmitry Malikov "; dochang = "Desmond O. Chang "; + domenkozar = "Domen Kozar "; doublec = "Chris Double "; + dpaetzel = "David Pätzel "; drets = "Dmytro Rets "; drewkett = "Andrew Burkett "; + dtzWill = "Will Dietz "; + e-user = "Alexander Kahl "; ebzzry = "Rommel Martinez "; ederoyd46 = "Matthew Brown "; eduarrrd = "Eduard Bachmakov "; @@ -123,6 +144,7 @@ ehmry = "Emery Hemingway "; eikek = "Eike Kettner "; elasticdog = "Aaron Bull Schaefer "; + eleanor = "Dejan Lukan "; elitak = "Eric Litak "; ellis = "Ellis Whitehead "; epitrochoid = "Mabry Cervin "; @@ -130,6 +152,7 @@ ericsagnes = "Eric Sagnes "; erikryb = "Erik Rybakken "; ertes = "Ertugrul Söylemez "; + ethercrow = "Dmitry Ivanov "; exi = "Reno Reckling "; exlevan = "Alexey Levan "; expipiplus1 = "Joe Hermaszewski "; @@ -158,32 +181,40 @@ giogadi = "Luis G. Torres "; gleber = "Gleb Peregud "; globin = "Robin Gloster "; + gnidorah = "Alex Ivanov "; goibhniu = "Cillian de Róiste "; Gonzih = "Max Gonzih "; + goodrone = "Andrew Trachenko "; gpyh = "Yacine Hmito "; grahamc = "Graham Christensen "; gridaphobe = "Eric Seidel "; guibert = "David Guibert "; + guillaumekoenig = "Guillaume Koenig "; + guyonvarch = "Joris Guyonvarch "; + hakuch = "Jesse Haber-Kucharsky "; havvy = "Ryan Scheel "; hbunke = "Hendrik Bunke "; hce = "Hans-Christian Esperer "; henrytill = "Henry Till "; - hiberno = "Christian Lask "; hinton = "Tom Hinton "; hrdinka = "Christoph Hrdinka "; iand675 = "Ian Duncan "; ianwookim = "Ian-Woo Kim "; - domenkozar = "Domen Kozar "; igsha = "Igor Sharonov "; ikervagyok = "Balázs Lengyel "; + ivan-tkatchev = "Ivan Tkatchev "; j-keck = "Jürgen Keck "; jagajaga = "Arseniy Seroka "; javaguirre = "Javier Aguirre "; jb55 = "William Casarin "; + jbedo = "Justin Bedő "; jcumming = "Jack Cummings "; + jdagilliland = "Jason Gilliland "; jefdaj = "Jeffrey David Johnson "; + jerith666 = "Matt McHenry "; jfb = "James Felix Black "; jgeerds = "Jascha Geerds "; + jgertm = "Tim Jaeger "; jgillich = "Jakob Gillich "; jirkamarsik = "Jirka Marsik "; joachifm = "Joachim Fasting "; @@ -191,17 +222,22 @@ joelmo = "Joel Moberg "; joelteon = "Joel Taylor "; joko = "Ioannis Koutras "; + jonafato = "Jon Banafato "; jpbernardy = "Jean-Philippe Bernardy "; jraygauthier = "Raymond Gauthier "; juliendehos = "Julien Dehos "; jwiegley = "John Wiegley "; jwilberding = "Jordan Wilberding "; jzellner = "Jeff Zellner "; + kaiha = "Kai Harries "; kamilchm = "Kamil Chmielewski "; kampfschlaefer = "Arnold Krille "; kevincox = "Kevin Cox "; khumba = "Bryan Gardiner "; + KibaFox = "Kiba Fox "; + kierdavis = "Kier Davis "; kkallio = "Karn Kallio "; + knedlsepp = "Josef Kemetmüller "; koral = "Koral "; kovirobi = "Kovacsics Robert "; kragniz = "Louis Taylor "; @@ -209,22 +245,25 @@ lassulus = "Lassulus "; layus = "Guillaume Maudoux "; ldesgoui = "Lucas Desgouilles "; + league = "Christopher League "; lebastr = "Alexander Lebedev "; leenaars = "Michiel Leenaars "; leonardoce = "Leonardo Cecchi "; lethalman = "Luca Bruno "; lewo = "Antoine Eiche "; + lheckemann = "Linus Heckemann "; lhvwb = "Nathaniel Baxter "; lihop = "Leroy Hopson "; linquize = "Linquize "; linus = "Linus Arver "; lnl7 = "Daiderd Jordan "; + loskutov = "Ignat Loskutov "; lovek323 = "Jason O'Conal "; lowfatcomputing = "Andreas Wagner "; lsix = "Lancelot SIX "; + lucas8 = "Luc Chabassier "; ludo = "Ludovic Courtès "; luispedro = "Luis Pedro Coelho "; - lukasepple = "Lukas Epple "; lukego = "Luke Gorrie "; lw = "Sergey Sofeychuk "; madjar = "Georges Dubus "; @@ -240,25 +279,32 @@ martingms = "Martin Gammelsæter "; matejc = "Matej Cotman "; mathnerd314 = "Mathnerd314 "; + matthewbauer = "Matthew Bauer "; matthiasbeyer = "Matthias Beyer "; maurer = "Matthew Maurer "; mbakke = "Marius Bakke "; - matthewbauer = "Matthew Bauer "; + mbbx6spp = "Susan Potter "; mbe = "Brandon Edens "; mboes = "Mathieu Boespflug "; mcmtroffaes = "Matthias C. M. Troffaes "; + mdaiter = "Matthew S. Daiter "; meditans = "Carlo Nucera "; meisternu = "Matt Miemiec "; + mguentner = "Maximilian Güntner "; mic92 = "Jörg Thalheim "; michaelpj = "Michael Peyton Jones "; michalrus = "Michal Rus "; michelk = "Michel Kuhlmann "; + mikefaille = "Michaël Faille "; mimadrid = "Miguel Madrid "; mingchuan = "Ming Chuan "; mirdhyn = "Merlin Gaillard "; mirrexagon = "Andrew Abbott "; + mjanczyk = "Marcin Janczyk "; + mlieberman85 = "Michael Lieberman "; modulistic = "Pablo Costa "; mog = "Matthew O'Gorman "; + montag451 = "montag451 "; moosingin3space = "Nathan Moos "; moretea = "Maarten Hoogendoorn "; mornfall = "Petr Ročkai "; @@ -266,6 +312,7 @@ mounium = "Katona László "; MP2E = "Cray Elliott "; mpscholten = "Marc Scholten "; + mpsyco = "Francis St-Amour "; msackman = "Matthew Sackman "; mschristiansen = "Mikkel Christiansen "; msteen = "Matthijs Steen "; @@ -273,23 +320,29 @@ mudri = "James Wood "; muflax = "Stefan Dorn "; myrl = "Myrl Hex "; + namore = "Roman Naumann "; nand0p = "Fernando Jose Pando "; - nathan-gs = "Nathan Bijnens "; Nate-Devv = "Nathan Moore "; + nathan-gs = "Nathan Bijnens "; nckx = "Tobias Geerinckx-Rice "; nequissimus = "Tim Steinbach "; nfjinjing = "Jinjing Wang "; + nhooyr = "Anmol Sethi "; + nicknovitski = "Nick Novitski "; nico202 = "Nicolò Balzarotti "; - notthemessiah = "Brian Cohen "; NikolaMandic = "Ratko Mladic "; + notthemessiah = "Brian Cohen "; np = "Nicolas Pouillard "; nslqqq = "Nikita Mikhailov "; obadz = "obadz "; ocharles = "Oliver Charles "; odi = "Oliver Dunkl "; offline = "Jaka Hudoklin "; + oida = "oida "; + okasu = "Okasu "; olcai = "Erik Timan "; olejorgenb = "Ole Jørgen Brønner "; + orbekk = "KJ Ørbekk "; orbitz = "Malcolm Matalka "; osener = "Ozan Sener "; otwieracz = "Slawomir Gonet "; @@ -300,6 +353,7 @@ palo = "Ingolf Wanger "; pashev = "Igor Pashev "; pawelpacana = "Paweł Pacana "; + periklis = "theopompos@gmail.com"; pesterhazy = "Paulus Esterhazy "; peterhoeg = "Peter Hoeg "; peti = "Peter Simons "; @@ -316,11 +370,14 @@ plcplc = "Philip Lykke Carlsen "; pmahoney = "Patrick Mahoney "; pmiddend = "Philipp Middendorf "; + polyrod = "Maurizio Di Pietro "; prikhi = "Pavan Rikhi "; + primeos = "Michael Weiss "; profpatsch = "Profpatsch "; proglodyte = "Proglodyte "; pshendry = "Paul Hendry "; psibi = "Sibi "; + pstn = "Philipp Steinpaß "; pSub = "Pascal Wittmann "; puffnfresh = "Brian McKenna "; pxc = "Patrick Callahan "; @@ -331,14 +388,17 @@ rardiol = "Ricardo Ardissone "; rasendubi = "Alexey Shmalko "; raskin = "Michael Raskin <7c6f434c@mail.ru>"; + rbasso = "Rafael Basso "; redbaron = "Maxim Ivanov "; redvers = "Redvers Davies "; refnil = "Martin Lavoie "; + regnat = "Théophane Hufschmitt "; relrod = "Ricky Elrod "; renzo = "Renzo Carbonara "; retrry = "Tadas Barzdžius "; rick68 = "Wei-Ming Yang "; rickynils = "Rickard Nilsson "; + rlupton20 = "Richard Lupton "; rnhmjoj = "Michele Guerini Rocco "; rob = "Rob Vermaas "; robberer = "Longrin Wischnewski "; @@ -347,19 +407,21 @@ roblabla = "Robin Lambertz "; roconnor = "Russell O'Connor "; romildo = "José Romildo Malaquias "; + ronny = "Ronny Pfannschmidt "; rszibele = "Richard Szibele "; rushmorem = "Rushmore Mushambi "; rvl = "Rodney Lorrimar "; rvlander = "Gaëtan André "; ryanartecona = "Ryan Artecona "; - ryantm = "Ryan Mulligan "; ryansydnor = "Ryan Sydnor "; + ryantm = "Ryan Mulligan "; rycee = "Robert Helgesson "; ryneeverett = "Ryne Everett "; s1lvester = "Markus Silvester "; samuelrivas = "Samuel Rivas "; sander = "Sander van der Burg "; schmitthenner = "Fabian Schmitthenner "; + schneefux = "schneefux "; schristo = "Scott Christopher "; scolobb = "Sergiu Ivanov "; sepi = "Raffael Mancini "; @@ -376,15 +438,17 @@ skeidel = "Sven Keidel "; skrzyp = "Jakub Skrzypnik "; sleexyz = "Sean Lee "; - smironov = "Sergey Mironov "; + smironov = "Sergey Mironov "; solson = "Scott Olson "; spacefrogg = "Michael Raitza "; spencerjanssen = "Spencer Janssen "; spinus = "Tomasz Czyż "; sprock = "Roger Mason "; spwhitt = "Spencer Whitt "; + srhb = "Sarah Brofeldt "; SShrike = "Severen Redwood "; stephenmw = "Stephen Weinberg "; + sternenseemann = "Lukas Epple "; steveej = "Stefan Junker "; swarren83 = "Shawn Warren "; swistak35 = "Rafał Łasocha "; @@ -412,18 +476,25 @@ ttuegel = "Thomas Tuegel "; tv = "Tomislav Viljetić "; tvestelind = "Tomas Vestelind "; + tvorog = "Marsel Zaripov "; twey = "James ‘Twey’ Kay "; uralbash = "Svintsov Dmitry "; urkud = "Yury G. Kudryashov "; + uwap = "uwap "; vandenoever = "Jos van den Oever "; vanzef = "Ivan Solyankin "; vbgl = "Vincent Laporte "; vbmithr = "Vincent Bernardoff "; vcunat = "Vladimír Čunát "; + vdemeester = "Vincent Demeester "; + veprbl = "Dmitry Kalinkin "; viric = "Lluís Batlle i Rossell "; vizanto = "Danny Wilson "; + vklquevs = "vklquevs "; vlstill = "Vladimír Štill "; vmandela = "Venkateswara Rao Mandela "; + volhovm = "Mikhail Volkhov "; + volth = "Jaroslavas Pocepko "; vozz = "Oliver Hunt "; vrthra = "Rahul Gopinath "; wedens = "wedens "; @@ -437,12 +508,14 @@ wscott = "Wayne Scott "; wyvie = "Elijah Rum "; yarr = "Dmitry V. "; + yochai = "Yochai "; yurrriq = "Eric Bailey "; z77z = "Marco Maggesi "; zagy = "Christian Zagrodnick "; + zauberpony = "Elmar Athmer "; zef = "Zef Hemel "; zimbatm = "zimbatm "; zohl = "Al Zohali "; zoomulator = "Kim Simmons "; - amiloradovsky = "Andrew Miloradovsky "; + zraexy = "David Mell "; } diff --git a/lib/modules.nix b/lib/modules.nix index 6f08a49399ab..256d49ba27d8 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -1,4 +1,5 @@ with import ./lists.nix; +with import ./strings.nix; with import ./trivial.nix; with import ./attrsets.nix; with import ./options.nix; @@ -230,12 +231,20 @@ rec { correspond to the definition of 'loc' in 'opt.file'. */ mergeOptionDecls = loc: opts: foldl' (res: opt: - if opt.options ? default && res ? default || - opt.options ? example && res ? example || - opt.options ? description && res ? description || - opt.options ? apply && res ? apply || - # Accept to merge options which have identical types. - opt.options ? type && res ? type && opt.options.type.name != res.type.name + let t = res.type; + t' = opt.options.type; + mergedType = t.typeMerge t'.functor; + typesMergeable = mergedType != null; + typeSet = if (bothHave "type") && typesMergeable + then { type = mergedType; } + else {}; + bothHave = k: opt.options ? ${k} && res ? ${k}; + in + if bothHave "default" || + bothHave "example" || + bothHave "description" || + bothHave "apply" || + (bothHave "type" && (! typesMergeable)) then throw "The option `${showOption loc}' in `${opt.file}' is already declared in ${showFiles res.declarations}." else @@ -257,7 +266,7 @@ rec { in opt.options // res // { declarations = res.declarations ++ [opt.file]; options = submodules; - } + } // typeSet ) { inherit loc; declarations = []; options = []; } opts; /* Merge all the definitions of an option to produce the final @@ -366,10 +375,13 @@ rec { if def._type or "" == "merge" then concatMap dischargeProperties def.contents else if def._type or "" == "if" then - if def.condition then - dischargeProperties def.content + if isBool def.condition then + if def.condition then + dischargeProperties def.content + else + [ ] else - [ ] + throw "‘mkIf’ called with a non-Boolean condition" else [ def ]; @@ -421,12 +433,14 @@ rec { options = opt.options or (throw "Option `${showOption loc'}' has type optionSet but has no option attribute, in ${showFiles opt.declarations}."); f = tp: + let optionSetIn = type: (tp.name == type) && (tp.functor.wrapped.name == "optionSet"); + in if tp.name == "option set" || tp.name == "submodule" then throw "The option ${showOption loc} uses submodules without a wrapping type, in ${showFiles opt.declarations}." - else if tp.name == "attribute set of option sets" then types.attrsOf (types.submodule options) - else if tp.name == "list or attribute set of option sets" then types.loaOf (types.submodule options) - else if tp.name == "list of option sets" then types.listOf (types.submodule options) - else if tp.name == "null or option set" then types.nullOr (types.submodule options) + else if optionSetIn "attrsOf" then types.attrsOf (types.submodule options) + else if optionSetIn "loaOf" then types.loaOf (types.submodule options) + else if optionSetIn "listOf" then types.listOf (types.submodule options) + else if optionSetIn "nullOr" then types.nullOr (types.submodule options) else tp; in if opt.type.getSubModules or null == null @@ -545,6 +559,84 @@ rec { use = builtins.trace "Obsolete option `${showOption from}' is used. It was renamed to `${showOption to}'."; }; + /* Return a module that causes a warning to be shown if any of the "from" + option is defined; the defined values can be used in the "mergeFn" to set + the "to" value. + This function can be used to merge multiple options into one that has a + different type. + + "mergeFn" takes the module "config" as a parameter and must return a value + of "to" option type. + + mkMergedOptionModule + [ [ "a" "b" "c" ] + [ "d" "e" "f" ] ] + [ "x" "y" "z" ] + (config: + let value = p: getAttrFromPath p config; + in + if (value [ "a" "b" "c" ]) == true then "foo" + else if (value [ "d" "e" "f" ]) == true then "bar" + else "baz") + + - options.a.b.c is a removed boolean option + - options.d.e.f is a removed boolean option + - options.x.y.z is a new str option that combines a.b.c and d.e.f + functionality + + This show a warning if any a.b.c or d.e.f is set, and set the value of + x.y.z to the result of the merge function + */ + mkMergedOptionModule = from: to: mergeFn: + { config, options, ... }: + { + options = foldl recursiveUpdate {} (map (path: setAttrByPath path (mkOption { + visible = false; + # To use the value in mergeFn without triggering errors + default = "_mkMergedOptionModule"; + })) from); + + config = { + warnings = filter (x: x != "") (map (f: + let val = getAttrFromPath f config; + opt = getAttrFromPath f options; + in + optionalString + (val != "_mkMergedOptionModule") + "The option `${showOption f}' defined in ${showFiles opt.files} has been changed to `${showOption to}' that has a different type. Please read `${showOption to}' documentation and update your configuration accordingly." + ) from); + } // setAttrByPath to (mkMerge + (optional + (any (f: (getAttrFromPath f config) != "_mkMergedOptionModule") from) + (mergeFn config))); + }; + + /* Single "from" version of mkMergedOptionModule. + Return a module that causes a warning to be shown if the "from" option is + defined; the defined value can be used in the "mergeFn" to set the "to" + value. + This function can be used to change an option into another that has a + different type. + + "mergeFn" takes the module "config" as a parameter and must return a value of + "to" option type. + + mkChangedOptionModule [ "a" "b" "c" ] [ "x" "y" "z" ] + (config: + let value = getAttrFromPath [ "a" "b" "c" ] config; + in + if value > 100 then "high" + else "normal") + + - options.a.b.c is a removed int option + - options.x.y.z is a new str option that supersedes a.b.c + + This show a warning if a.b.c is set, and set the value of x.y.z to the + result of the change function + */ + mkChangedOptionModule = from: to: changeFn: + mkMergedOptionModule [ from ] to changeFn; + /* Like ‘mkRenamedOptionModule’, but doesn't show a warning. */ mkAliasOptionModule = from: to: doRename { inherit from to; diff --git a/lib/options.nix b/lib/options.nix index 444ec37e6eaf..2092b65bbc3a 100644 --- a/lib/options.nix +++ b/lib/options.nix @@ -92,7 +92,7 @@ rec { internal = opt.internal or false; visible = opt.visible or true; readOnly = opt.readOnly or false; - type = opt.type.name or null; + type = opt.type.description or null; } // (if opt ? example then { example = scrubOptionValue opt.example; } else {}) // (if opt ? default then { default = scrubOptionValue opt.default; } else {}) diff --git a/lib/sources.nix b/lib/sources.nix index 156afaae5c98..f41abe1e1eae 100644 --- a/lib/sources.nix +++ b/lib/sources.nix @@ -12,19 +12,19 @@ rec { # Bring in a path as a source, filtering out all Subversion and CVS # directories, as well as backup files (*~). - cleanSource = - let filter = name: type: let baseName = baseNameOf (toString name); in ! ( - # Filter out Subversion and CVS directories. - (type == "directory" && (baseName == ".git" || baseName == ".svn" || baseName == "CVS" || baseName == ".hg")) || - # Filter out backup files. - lib.hasSuffix "~" baseName || - # Filter out generates files. - lib.hasSuffix ".o" baseName || - lib.hasSuffix ".so" baseName || - # Filter out nix-build result symlinks - (type == "symlink" && lib.hasPrefix "result" baseName) - ); - in src: builtins.filterSource filter src; + cleanSourceFilter = name: type: let baseName = baseNameOf (toString name); in ! ( + # Filter out Subversion and CVS directories. + (type == "directory" && (baseName == ".git" || baseName == ".svn" || baseName == "CVS" || baseName == ".hg")) || + # Filter out backup files. + lib.hasSuffix "~" baseName || + # Filter out generates files. + lib.hasSuffix ".o" baseName || + lib.hasSuffix ".so" baseName || + # Filter out nix-build result symlinks + (type == "symlink" && lib.hasPrefix "result" baseName) + ); + + cleanSource = builtins.filterSource cleanSourceFilter; # Get all files ending with the specified suffices from the given diff --git a/lib/tests.nix b/lib/tests.nix index c3b8839fda95..d33e3a824e34 100644 --- a/lib/tests.nix +++ b/lib/tests.nix @@ -130,4 +130,94 @@ runTests { expected = false; }; + + /* Generator tests */ + # these tests assume attributes are converted to lists + # in alphabetical order + + testMkKeyValueDefault = { + expr = generators.mkKeyValueDefault ":" "f:oo" "bar"; + expected = ''f\:oo:bar''; + }; + + testToKeyValue = { + expr = generators.toKeyValue {} { + key = "value"; + "other=key" = "baz"; + }; + expected = '' + key=value + other\=key=baz + ''; + }; + + testToINIEmpty = { + expr = generators.toINI {} {}; + expected = ""; + }; + + testToINIEmptySection = { + expr = generators.toINI {} { foo = {}; bar = {}; }; + expected = '' + [bar] + + [foo] + ''; + }; + + testToINIDefaultEscapes = { + expr = generators.toINI {} { + "no [ and ] allowed unescaped" = { + "and also no = in keys" = 42; + }; + }; + expected = '' + [no \[ and \] allowed unescaped] + and also no \= in keys=42 + ''; + }; + + testToINIDefaultFull = { + expr = generators.toINI {} { + "section 1" = { + attribute1 = 5; + x = "Me-se JarJar Binx"; + }; + "foo[]" = { + "he\\h=he" = "this is okay"; + }; + }; + expected = '' + [foo\[\]] + he\h\=he=this is okay + + [section 1] + attribute1=5 + x=Me-se JarJar Binx + ''; + }; + + /* right now only invocation check */ + testToJSONSimple = + let val = { + foobar = [ "baz" 1 2 3 ]; + }; + in { + expr = generators.toJSON {} val; + # trival implementation + expected = builtins.toJSON val; + }; + + /* right now only invocation check */ + testToYAMLSimple = + let val = { + list = [ { one = 1; } { two = 2; } ]; + all = 42; + }; + in { + expr = generators.toYAML {} val; + # trival implementation + expected = builtins.toJSON val; + }; + } diff --git a/lib/trivial.nix b/lib/trivial.nix index 25ce35570fdf..7860b9499390 100644 --- a/lib/trivial.nix +++ b/lib/trivial.nix @@ -53,6 +53,31 @@ rec { # 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; + # Create an overridable, recursive attribute set. For example: + # + # nix-repl> obj = makeExtensible (self: { }) + # + # nix-repl> obj + # { __unfix__ = «lambda»; extend = «lambda»; } + # + # nix-repl> obj = obj.extend (self: super: { foo = "foo"; }) + # + # nix-repl> obj + # { __unfix__ = «lambda»; extend = «lambda»; foo = "foo"; } + # + # nix-repl> obj = obj.extend (self: super: { foo = super.foo + " + "; bar = "bar"; foobar = self.foo + self.bar; }) + # + # nix-repl> obj + # { __unfix__ = «lambda»; bar = "bar"; extend = «lambda»; foo = "foo + "; foobar = "foo + bar"; } + makeExtensible = makeExtensibleWithCustomName "extend"; + + # Same as `makeExtensible` but the name of the extending attribute is + # customized. + makeExtensibleWithCustomName = extenderName: rattrs: + fix' rattrs // { + ${extenderName} = f: makeExtensibleWithCustomName extenderName (extends f rattrs); + }; + # Flip the order of the arguments of a binary function. flip = f: a: b: f b a; diff --git a/lib/types.nix b/lib/types.nix index 83f624e6b448..9366d394da73 100644 --- a/lib/types.nix +++ b/lib/types.nix @@ -17,10 +17,43 @@ rec { }; + # Default type merging function + # takes two type functors and return the merged type + defaultTypeMerge = f: f': + let wrapped = f.wrapped.typeMerge f'.wrapped.functor; + payload = f.binOp f.payload f'.payload; + in + # cannot merge different types + if f.name != f'.name + then null + # simple types + else if (f.wrapped == null && f'.wrapped == null) + && (f.payload == null && f'.payload == null) + then f.type + # composed types + else if (f.wrapped != null && f'.wrapped != null) && (wrapped != null) + then f.type wrapped + # value types + else if (f.payload != null && f'.payload != null) && (payload != null) + then f.type payload + else null; + + # Default type functor + defaultFunctor = name: { + inherit name; + type = types."${name}" or null; + wrapped = null; + payload = null; + binOp = a: b: null; + }; + isOptionType = isType "option-type"; mkOptionType = - { # Human-readable representation of the type. + { # Human-readable representation of the type, should be equivalent to + # the type function name. name + , # Description of the type, defined recursively by embedding the the wrapped type if any. + description ? null , # Function applied to each definition that should return true if # its type-correct, false otherwise. check ? (x: true) @@ -36,12 +69,26 @@ rec { getSubOptions ? prefix: {} , # List of modules if any, or null if none. getSubModules ? null - , # Function for building the same option type with a different list of + , # Function for building the same option type with a different list of # modules. substSubModules ? m: null + , # Function that merge type declarations. + # internal, takes a functor as argument and returns the merged type. + # returning null means the type is not mergeable + typeMerge ? defaultTypeMerge functor + , # The type functor. + # internal, representation of the type as an attribute set. + # name: name of the type + # type: type function. + # wrapped: the type wrapped in case of compound types. + # payload: values of the type, two payloads of the same type must be + # combinable with the binOp binary operation. + # binOp: binary operation that merge two payloads of the same type. + functor ? defaultFunctor name }: { _type = "option-type"; - inherit name check merge getSubOptions getSubModules substSubModules; + inherit name check merge getSubOptions getSubModules substSubModules typeMerge functor; + description = if description == null then name else description; }; @@ -52,29 +99,39 @@ rec { }; bool = mkOptionType { - name = "boolean"; + name = "bool"; + description = "boolean"; check = isBool; merge = mergeEqualOption; }; - int = mkOptionType { - name = "integer"; + int = mkOptionType rec { + name = "int"; + description = "integer"; check = isInt; merge = mergeOneOption; }; str = mkOptionType { - name = "string"; + name = "str"; + description = "string"; check = isString; merge = mergeOneOption; }; # Merge multiple definitions by concatenating them (with the given # separator between the values). - separatedString = sep: mkOptionType { - name = "string"; + separatedString = sep: mkOptionType rec { + name = "separatedString"; + description = "string"; check = isString; merge = loc: defs: concatStringsSep sep (getValues defs); + functor = (defaultFunctor name) // { + payload = sep; + binOp = sepLhs: sepRhs: + if sepLhs == sepRhs then sepLhs + else null; + }; }; lines = separatedString "\n"; @@ -86,7 +143,8 @@ rec { string = separatedString ""; attrs = mkOptionType { - name = "attribute set"; + name = "attrs"; + description = "attribute set"; check = isAttrs; merge = loc: foldl' (res: def: mergeAttrs res def.value) {}; }; @@ -114,8 +172,9 @@ rec { # drop this in the future: list = builtins.trace "`types.list' is deprecated; use `types.listOf' instead" types.listOf; - listOf = elemType: mkOptionType { - name = "list of ${elemType.name}s"; + listOf = elemType: mkOptionType rec { + name = "listOf"; + description = "list of ${elemType.description}s"; check = isList; merge = loc: defs: map (x: x.value) (filter (x: x ? value) (concatLists (imap (n: def: @@ -132,10 +191,12 @@ rec { getSubOptions = prefix: elemType.getSubOptions (prefix ++ ["*"]); getSubModules = elemType.getSubModules; substSubModules = m: listOf (elemType.substSubModules m); + functor = (defaultFunctor name) // { wrapped = elemType; }; }; - attrsOf = elemType: mkOptionType { - name = "attribute set of ${elemType.name}s"; + attrsOf = elemType: mkOptionType rec { + name = "attrsOf"; + description = "attribute set of ${elemType.description}s"; check = isAttrs; merge = loc: defs: mapAttrs (n: v: v.value) (filterAttrs (n: v: v ? value) (zipAttrsWith (name: defs: @@ -147,6 +208,7 @@ rec { getSubOptions = prefix: elemType.getSubOptions (prefix ++ [""]); getSubModules = elemType.getSubModules; substSubModules = m: attrsOf (elemType.substSubModules m); + functor = (defaultFunctor name) // { wrapped = elemType; }; }; # List or attribute set of ... @@ -165,18 +227,21 @@ rec { def; listOnly = listOf elemType; attrOnly = attrsOf elemType; - in mkOptionType { - name = "list or attribute set of ${elemType.name}s"; + in mkOptionType rec { + name = "loaOf"; + description = "list or attribute set of ${elemType.description}s"; check = x: isList x || isAttrs x; merge = loc: defs: attrOnly.merge loc (imap convertIfList defs); getSubOptions = prefix: elemType.getSubOptions (prefix ++ [""]); getSubModules = elemType.getSubModules; substSubModules = m: loaOf (elemType.substSubModules m); + functor = (defaultFunctor name) // { wrapped = elemType; }; }; # List or element of ... - loeOf = elemType: mkOptionType { - name = "element or list of ${elemType.name}s"; + loeOf = elemType: mkOptionType rec { + name = "loeOf"; + description = "element or list of ${elemType.description}s"; check = x: isList x || elemType.check x; merge = loc: defs: let @@ -189,18 +254,22 @@ rec { else if !isString res then throw "The option `${showOption loc}' does not have a string value, in ${showFiles (getFiles defs)}." else res; + functor = (defaultFunctor name) // { wrapped = elemType; }; }; - uniq = elemType: mkOptionType { - inherit (elemType) name check; + uniq = elemType: mkOptionType rec { + name = "uniq"; + inherit (elemType) description check; merge = mergeOneOption; getSubOptions = elemType.getSubOptions; getSubModules = elemType.getSubModules; substSubModules = m: uniq (elemType.substSubModules m); + functor = (defaultFunctor name) // { wrapped = elemType; }; }; - nullOr = elemType: mkOptionType { - name = "null or ${elemType.name}"; + nullOr = elemType: mkOptionType rec { + name = "nullOr"; + description = "null or ${elemType.description}"; check = x: x == null || elemType.check x; merge = loc: defs: let nrNulls = count (def: def.value == null) defs; in @@ -211,6 +280,7 @@ rec { getSubOptions = elemType.getSubOptions; getSubModules = elemType.getSubModules; substSubModules = m: nullOr (elemType.substSubModules m); + functor = (defaultFunctor name) // { wrapped = elemType; }; }; submodule = opts: @@ -236,6 +306,12 @@ rec { args = { name = ""; }; }).options; getSubModules = opts'; substSubModules = m: submodule m; + functor = (defaultFunctor name) // { + # Merging of submodules is done as part of mergeOptionDecls, as we have to annotate + # each submodule with its location. + payload = []; + binOp = lhs: rhs: []; + }; }; enum = values: @@ -245,23 +321,43 @@ rec { else if builtins.isInt v then builtins.toString v else ''<${builtins.typeOf v}>''; in - mkOptionType { - name = "one of ${concatMapStringsSep ", " show values}"; + mkOptionType rec { + name = "enum"; + description = "one of ${concatMapStringsSep ", " show values}"; check = flip elem values; merge = mergeOneOption; + functor = (defaultFunctor name) // { payload = values; binOp = a: b: unique (a ++ b); }; }; - either = t1: t2: mkOptionType { - name = "${t1.name} or ${t2.name}"; + either = t1: t2: mkOptionType rec { + name = "either"; + description = "${t1.description} or ${t2.description}"; check = x: t1.check x || t2.check x; - merge = mergeOneOption; + merge = loc: defs: + let + defList = map (d: d.value) defs; + in + if all (x: t1.check x) defList + then t1.merge loc defs + else if all (x: t2.check x) defList + then t2.merge loc defs + else mergeOneOption loc defs; + typeMerge = f': + let mt1 = t1.typeMerge (elemAt f'.wrapped 0).functor; + mt2 = t2.typeMerge (elemAt f'.wrapped 1).functor; + in + if (name == f'.name) && (mt1 != null) && (mt2 != null) + then functor.type mt1 mt2 + else null; + functor = (defaultFunctor name) // { wrapped = [ t1 t2 ]; }; }; # Obsolete alternative to configOf. It takes its option # declarations from the ‘options’ attribute of containing option # declaration. optionSet = mkOptionType { - name = /* builtins.trace "types.optionSet is deprecated; use types.submodule instead" */ "option set"; + name = builtins.trace "types.optionSet is deprecated; use types.submodule instead" "optionSet"; + description = "option set"; }; # Augment the given type with an additional type check function. diff --git a/maintainers/scripts/fetch-kde-qt.sh b/maintainers/scripts/fetch-kde-qt.sh index d7a9239027d8..a2b8080e2a43 100755 --- a/maintainers/scripts/fetch-kde-qt.sh +++ b/maintainers/scripts/fetch-kde-qt.sh @@ -1,6 +1,8 @@ #! /usr/bin/env nix-shell #! nix-shell -i bash -p coreutils findutils gnused nix wget +set -efuo pipefail + SRCS= if [ -d "$1" ]; then SRCS="$(pwd)/$1/srcs.nix" diff --git a/maintainers/scripts/travis-nox-review-pr.sh b/maintainers/scripts/travis-nox-review-pr.sh index 5fc932f10d0e..649798ec76b0 100755 --- a/maintainers/scripts/travis-nox-review-pr.sh +++ b/maintainers/scripts/travis-nox-review-pr.sh @@ -38,6 +38,12 @@ while test -n "$1"; do nix-build $TRAVIS_BUILD_DIR/pkgs/top-level/release.nix --attr tarball --show-trace ;; + nixpkgs-unstable) + echo "=== Checking nixpkgs unstable job" + + nix-instantiate $TRAVIS_BUILD_DIR/pkgs/top-level/release.nix --attr unstable --show-trace + ;; + nixpkgs-lint) echo "=== Checking nixpkgs lint" diff --git a/maintainers/scripts/update.nix b/maintainers/scripts/update.nix new file mode 100755 index 000000000000..2035950da3e3 --- /dev/null +++ b/maintainers/scripts/update.nix @@ -0,0 +1,131 @@ +{ package ? null +, maintainer ? null +}: + +# TODO: add assert statements + +let + + pkgs = import ./../../default.nix { }; + + packagesWith = cond: return: set: + pkgs.lib.flatten + (pkgs.lib.mapAttrsToList + (name: pkg: + let + result = builtins.tryEval ( + if pkgs.lib.isDerivation pkg && cond name pkg + then [(return name pkg)] + else if pkg.recurseForDerivations or false || pkg.recurseForRelease or false + then packagesWith cond return pkg + else [] + ); + in + if result.success then result.value + else [] + ) + set + ); + + packagesWithUpdateScriptAndMaintainer = maintainer': + let + maintainer = + if ! builtins.hasAttr maintainer' pkgs.lib.maintainers then + builtins.throw "Maintainer with name `${maintainer'} does not exist in `lib/maintainers.nix`." + else + builtins.getAttr maintainer' pkgs.lib.maintainers; + in + packagesWith (name: pkg: builtins.hasAttr "updateScript" pkg && + (if builtins.hasAttr "maintainers" pkg.meta + then (if builtins.isList pkg.meta.maintainers + then builtins.elem maintainer pkg.meta.maintainers + else maintainer == pkg.meta.maintainers + ) + else false + ) + ) + (name: pkg: pkg) + pkgs; + + packageByName = name: + let + package = pkgs.lib.attrByPath (pkgs.lib.splitString "." name) null pkgs; + in + if package == null then + builtins.throw "Package with an attribute name `${name}` does not exists." + else if ! builtins.hasAttr "updateScript" package then + builtins.throw "Package with an attribute name `${name}` does have an `passthru.updateScript` defined." + else + package; + + packages = + if package != null then + [ (packageByName package) ] + else if maintainer != null then + packagesWithUpdateScriptAndMaintainer maintainer + else + builtins.throw "No arguments provided.\n\n${helpText}"; + + helpText = '' + Please run: + + % nix-shell maintainers/scripts/update.nix --argstr maintainer garbas + + to run all update scripts for all packages that lists \`garbas\` as a maintainer + and have \`updateScript\` defined, or: + + % nix-shell maintainers/scripts/update.nix --argstr package garbas + + to run update script for specific package. + ''; + + runUpdateScript = package: '' + echo -ne " - ${package.name}: UPDATING ..."\\r + ${package.updateScript} &> ${(builtins.parseDrvName package.name).name}.log + CODE=$? + if [ "$CODE" != "0" ]; then + echo " - ${package.name}: ERROR " + echo "" + echo "--- SHOWING ERROR LOG FOR ${package.name} ----------------------" + echo "" + cat ${(builtins.parseDrvName package.name).name}.log + echo "" + echo "--- SHOWING ERROR LOG FOR ${package.name} ----------------------" + exit $CODE + else + rm ${(builtins.parseDrvName package.name).name}.log + fi + echo " - ${package.name}: DONE. " + ''; + +in pkgs.stdenv.mkDerivation { + name = "nixpkgs-update-script"; + buildCommand = '' + echo "" + echo "----------------------------------------------------------------" + echo "" + echo "Not possible to update packages using \`nix-build\`" + echo "" + echo "${helpText}" + echo "----------------------------------------------------------------" + exit 1 + ''; + shellHook = '' + echo "" + echo "Going to be running update for following packages:" + echo "${builtins.concatStringsSep "\n" (map (x: " - ${x.name}") packages)}" + echo "" + read -n1 -r -p "Press space to continue..." confirm + if [ "$confirm" = "" ]; then + echo "" + echo "Running update for:" + ${builtins.concatStringsSep "\n" (map runUpdateScript packages)} + echo "" + echo "Packages updated!" + exit 0 + else + echo "Aborting!" + exit 1 + fi + ''; +} diff --git a/maintainers/scripts/vanity.sh b/maintainers/scripts/vanity.sh index 1f6fdaff6dd9..27e7741799f0 100755 --- a/maintainers/scripts/vanity.sh +++ b/maintainers/scripts/vanity.sh @@ -101,15 +101,15 @@ cleaner_script="$(echo "$name_list_canonical" | denormalize_name | # Add github usernames if [ -n "$NIXPKGS_GITHUB_NAME_CACHE" ]; then - github_adder_script="$(echo "$github_name_list" | + github_adder_script="$(mktemp)" + echo "$github_name_list" | grep -E "$(echo "$name_list_canonical" | cut -f 2 | tr '\n' '|' )" | sort | uniq | sed -re 's/(.*)\t(.*)/s| \1$| \1\t\2|g;/' | - denormalize_name - )" + denormalize_name > "$github_adder_script" else - github_adder_script='' + github_adder_script='/dev/null' fi echo "$name_list" | denormalize_name @@ -118,5 +118,5 @@ echo echo "$git_data" | cut -f 1 | sed -e "$cleaner_script" | - sort | uniq -c | sort -k1n | sed -re "$github_adder_script" | + sort | uniq -c | sort -k1n | sed -rf "$github_adder_script" | sed -re 's/^ *([0-9]+) /\1\t/' diff --git a/nixos/doc/manual/administration/container-networking.xml b/nixos/doc/manual/administration/container-networking.xml index 1b1576d3babe..d89d262eff4e 100644 --- a/nixos/doc/manual/administration/container-networking.xml +++ b/nixos/doc/manual/administration/container-networking.xml @@ -47,4 +47,12 @@ where eth0 should be replaced with the desired external interface. Note that ve-+ is a wildcard that matches all container interfaces. +If you are using Network Manager, you need to explicitly prevent +it from managing container interfaces: + + +networking.networkmanager.unmanaged = [ "interface-name:ve-*" ]; + + +
diff --git a/nixos/doc/manual/configuration/customizing-packages.xml b/nixos/doc/manual/configuration/customizing-packages.xml index 6ee7a95dc6fa..8aa01fb57a09 100644 --- a/nixos/doc/manual/configuration/customizing-packages.xml +++ b/nixos/doc/manual/configuration/customizing-packages.xml @@ -42,29 +42,30 @@ construction, so without them, elements.) Even greater customisation is possible using the function -overrideDerivation. While the +overrideAttrs. While the override mechanism above overrides the arguments of -a package function, overrideDerivation allows -changing the result of the function. This -permits changing any aspect of the package, such as the source code. +a package function, overrideAttrs allows +changing the attributes passed to mkDerivation. +This permits changing any aspect of the package, such as the source code. For instance, if you want to override the source code of Emacs, you can say: -environment.systemPackages = - [ (pkgs.lib.overrideDerivation pkgs.emacs (attrs: { - name = "emacs-25.0-pre"; - src = /path/to/my/emacs/tree; - })) - ]; +environment.systemPackages = [ + (pkgs.emacs.overrideAttrs (oldAttrs: { + name = "emacs-25.0-pre"; + src = /path/to/my/emacs/tree; + })) +]; -Here, overrideDerivation takes the Nix derivation +Here, overrideAttrs takes the Nix derivation specified by pkgs.emacs and produces a new derivation in which the original’s name and src attribute have been replaced by the given -values. The original attributes are accessible via -attrs. +values by re-calling stdenv.mkDerivation. +The original attributes are accessible via the function argument, +which is conventionally named oldAttrs. The overrides shown above are not global. They do not affect the original package; other packages in Nixpkgs continue to depend on diff --git a/nixos/doc/manual/configuration/ipv6-config.xml b/nixos/doc/manual/configuration/ipv6-config.xml index 592bf20e545d..bf86926f9bf5 100644 --- a/nixos/doc/manual/configuration/ipv6-config.xml +++ b/nixos/doc/manual/configuration/ipv6-config.xml @@ -12,8 +12,15 @@ can disable IPv6 support globally by setting: networking.enableIPv6 = false; - + +You can disable IPv6 on a single interface using a normal sysctl (in this +example, we use interface eth0): + + +boot.kernel.sysctl."net.ipv6.conf.eth0.disable_ipv6" = true; + + diff --git a/nixos/doc/manual/configuration/modularity.xml b/nixos/doc/manual/configuration/modularity.xml index d95091bd1628..59a4e3b33ba1 100644 --- a/nixos/doc/manual/configuration/modularity.xml +++ b/nixos/doc/manual/configuration/modularity.xml @@ -129,7 +129,7 @@ default; run nix-env -i nix-repl to get it. A typical use: -$ nix-repl '<nixos>' +$ nix-repl '<nixpkgs/nixos>' nix-repl> config.networking.hostName "mandark" diff --git a/nixos/doc/manual/configuration/network-manager.xml b/nixos/doc/manual/configuration/network-manager.xml index b7e47b8729f3..dafbcfcb1e5b 100644 --- a/nixos/doc/manual/configuration/network-manager.xml +++ b/nixos/doc/manual/configuration/network-manager.xml @@ -16,12 +16,22 @@ networking.networkmanager.enable = true; some desktop managers (e.g., GNOME) enable NetworkManager automatically for you. -All users that should have permission to change network settings -must belong to the networkmanager group. +All users that should have permission to change network settings must +belong to the networkmanager group: + + +users.extraUsers.youruser.extraGroups = [ "networkmanager" ]; + + + +NetworkManager is controlled using either nmcli or +nmtui (curses-based terminal user interface). See their +manual pages for details on their usage. Some desktop environments (GNOME, KDE) +have their own configuration tools for NetworkManager. networking.networkmanager and -networking.wireless can not be enabled at the same time: -you can still connect to the wireless networks using +networking.wireless (WPA Supplicant) cannot be enabled at the same +time: you can still connect to the wireless networks using NetworkManager. diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix index 13668dfd8ebc..40d49f1541b3 100644 --- a/nixos/doc/manual/default.nix +++ b/nixos/doc/manual/default.nix @@ -94,14 +94,11 @@ let "--stringparam chunk.toc ${toc}" ]; - olinkDB = stdenv.mkDerivation { - name = "manual-olinkdb"; - - inherit sources; - - buildInputs = [ libxml2 libxslt ]; - - buildCommand = '' + olinkDB = runCommand "manual-olinkdb" + { inherit sources; + buildInputs = [ libxml2 libxslt ]; + } + '' ${copySources} xsltproc \ @@ -133,15 +130,14 @@ let EOF ''; - }; in rec { # The NixOS options in JSON format. - optionsJSON = stdenv.mkDerivation { - name = "options-json"; - - buildCommand = '' + optionsJSON = runCommand "options-json" + { meta.description = "List of NixOS options in JSON format"; + } + '' # Export list of options in different format. dst=$out/share/doc/nixos mkdir -p $dst @@ -154,18 +150,14 @@ in rec { echo "file json $dst/options.json" >> $out/nix-support/hydra-build-products ''; # */ - meta.description = "List of NixOS options in JSON format"; - }; - # Generate the NixOS manual. - manual = stdenv.mkDerivation { - name = "nixos-manual"; - - inherit sources; - - buildInputs = [ libxml2 libxslt ]; - - buildCommand = '' + manual = runCommand "nixos-manual" + { inherit sources; + buildInputs = [ libxml2 libxslt ]; + meta.description = "The NixOS manual in HTML format"; + allowedReferences = ["out"]; + } + '' ${copySources} # Check the validity of the manual sources. @@ -192,20 +184,12 @@ in rec { echo "doc manual $dst" >> $out/nix-support/hydra-build-products ''; # */ - meta.description = "The NixOS manual in HTML format"; - allowedReferences = ["out"]; - }; - - - manualEpub = stdenv.mkDerivation { - name = "nixos-manual-epub"; - - inherit sources; - - buildInputs = [ libxml2 libxslt zip ]; - - buildCommand = '' + manualEpub = runCommand "nixos-manual-epub" + { inherit sources; + buildInputs = [ libxml2 libxslt zip ]; + } + '' ${copySources} # Check the validity of the manual sources. @@ -234,17 +218,15 @@ in rec { mkdir -p $out/nix-support echo "doc-epub manual $manual" >> $out/nix-support/hydra-build-products ''; - }; + # Generate the NixOS manpages. - manpages = stdenv.mkDerivation { - name = "nixos-manpages"; - - inherit sources; - - buildInputs = [ libxml2 libxslt ]; - - buildCommand = '' + manpages = runCommand "nixos-manpages" + { inherit sources; + buildInputs = [ libxml2 libxslt ]; + allowedReferences = ["out"]; + } + '' ${copySources} # Check the validity of the man pages sources. @@ -264,7 +246,4 @@ in rec { ./man-pages.xml ''; - allowedReferences = ["out"]; - }; - } diff --git a/nixos/doc/manual/development/development.xml b/nixos/doc/manual/development/development.xml index 2983c76c770b..47343d93cde9 100644 --- a/nixos/doc/manual/development/development.xml +++ b/nixos/doc/manual/development/development.xml @@ -14,8 +14,10 @@ NixOS. + + diff --git a/nixos/doc/manual/development/option-declarations.xml b/nixos/doc/manual/development/option-declarations.xml index b0689aa1d97f..ce432a7fa6ca 100644 --- a/nixos/doc/manual/development/option-declarations.xml +++ b/nixos/doc/manual/development/option-declarations.xml @@ -31,9 +31,9 @@ options = { type - The type of the option (see below). It may be omitted, - but that’s not advisable since it may lead to errors that are - hard to diagnose. + The type of the option (see ). + It may be omitted, but that’s not advisable since it may lead to errors + that are hard to diagnose. @@ -65,86 +65,92 @@ options = { -Here is a non-exhaustive list of option types: +
Extensible Option + Types - + Extensible option types is a feature that allow to extend certain types + declaration through multiple module files. + This feature only work with a restricted set of types, namely + enum and submodules and any composed + forms of them. - - types.bool - - A Boolean. + Extensible option types can be used for enum options + that affects multiple modules, or as an alternative to related + enable options. + + As an example, we will take the case of display managers. There is a + central display manager module for generic display manager options and a + module file per display manager backend (slim, kdm, gdm ...). + + + There are two approach to this module structure: + + + Managing the display managers independently by adding an + enable option to every display manager module backend. (NixOS) - - - - types.int - - An integer. + Managing the display managers in the central module by + adding an option to select which display manager backend to use. - + + - - types.str - - A string. - - + Both approachs have problems. + + Making backends independent can quickly become hard to manage. For + display managers, there can be only one enabled at a time, but the type + system can not enforce this restriction as there is no relation between + each backend enable option. As a result, this restriction + has to be done explicitely by adding assertions in each display manager + backend module. - - types.lines - - A string. If there are multiple definitions, they are - concatenated, with newline characters in between. - - + On the other hand, managing the display managers backends in the + central module will require to change the central module option every time + a new backend is added or removed. - - types.path - - A path, defined as anything that, when coerced to a - string, starts with a slash. This includes derivations. - - + By using extensible option types, it is possible to create a placeholder + option in the central module (), and to extend it in each backend module (, ). + + As a result, displayManager.enable option values can + be added without changing the main service module file and the type system + automatically enforce that there can only be a single display manager + enabled. - - types.package - - A derivation (such as pkgs.hello) or a - store path (such as - /nix/store/1ifi1cfbfs5iajmvwgrbmrnrw3a147h9-hello-2.10). - - +Extensible type + placeholder in the service module + +services.xserver.displayManager.enable = mkOption { + description = "Display manager to use"; + type = with types; nullOr (enum [ ]); +}; - - types.listOf t - - A list of elements of type t - (e.g., types.listOf types.str is a list of - strings). Multiple definitions are concatenated together. - - +Extending + <literal>services.xserver.displayManager.enable</literal> in the + <literal>slim</literal> module + +services.xserver.displayManager.enable = mkOption { + type = with types; nullOr (enum [ "slim" ]); +}; - - types.attrsOf t - - A set of elements of type t - (e.g., types.attrsOf types.int is a set of - name/value pairs, the values being integers). - - +Extending + <literal>services.foo.backend</literal> in the <literal>kdm</literal> + module + +services.xserver.displayManager.enable = mkOption { + type = with types; nullOr (enum [ "kdm" ]); +}; - - types.nullOr t - - Either the value null or something of - type t. - - +The placeholder declaration is a standard mkOption + declaration, but it is important that extensible option declarations only use + the type argument. - - -You can also create new types using the function -mkOptionType. See -lib/types.nix in Nixpkgs for details. +Extensible option types work with any of the composed variants of + enum such as + with types; nullOr (enum [ "foo" "bar" ]) + or with types; listOf (enum [ "foo" "bar" ]).
+ diff --git a/nixos/doc/manual/development/option-types.xml b/nixos/doc/manual/development/option-types.xml new file mode 100644 index 000000000000..8e6ac53ad480 --- /dev/null +++ b/nixos/doc/manual/development/option-types.xml @@ -0,0 +1,446 @@ +
+ +Options Types + + Option types are a way to put constraints on the values a module option + can take. + Types are also responsible of how values are merged in case of multiple + value definitions. +
Basic Types + + Basic types are the simplest available types in the module system. + Basic types include multiple string types that mainly differ in how + definition merging is handled. + + + + types.bool + A boolean, its values can be true or + false. + + + types.int + An integer. + + + types.path + A filesystem path, defined as anything that when coerced to + a string starts with a slash. Even if derivations can be considered as + path, the more specific types.package should be + preferred. + + + types.package + A derivation or a store path. + + + +String related types: + + + + types.str + A string. Multiple definitions cannot be + merged. + + + types.lines + A string. Multiple definitions are concatenated with a new + line "\n". + + + types.commas + A string. Multiple definitions are concatenated with a comma + ",". + + + types.envVar + A string. Multiple definitions are concatenated with a + collon ":". + + + +
+ +
Value Types + + Value types are type that take a value parameter. The only value type + in the library is enum. + + + + types.enum l + One element of the list l, e.g. + types.enum [ "left" "right" ]. Multiple definitions + cannot be merged. + + + types.separatedString + sep + A string with a custom separator + sep, e.g. types.separatedString + "|". + + + types.submodule o + A set of sub options o. + o can be an attribute set or a function + returning an attribute set. Submodules are used in composed types to + create modular options. Submodule are detailed in . + + +
+ +
Composed Types + + Composed types are types that take a type as parameter. listOf + int and either int str are examples of + composed types. + + + + types.listOf t + A list of t type, e.g. + types.listOf int. Multiple definitions are merged + with list concatenation. + + + types.attrsOf t + An attribute set of where all the values are of + t type. Multiple definitions result in the + joined attribute set. + + + types.loaOf t + An attribute set or a list of t + type. Multiple definitions are merged according to the + value. + + + types.nullOr t + null or type + t. Multiple definitions are merged according + to type t. + + + types.uniq t + Ensures that type t cannot be + merged. It is used to ensure option definitions are declared only + once. + + + types.either t1 + t2 + Type t1 or type + t2, e.g. with types; either int + str. Multiple definitions cannot be + merged. + + + +
+ +
Submodule + + Submodule is a very powerful type that defines a set of sub-options that + are handled like a separate module. + It is especially interesting when used with composed types like + attrsOf or listOf. + + The submodule type take a parameter o, that + should be a set, or a function returning a set with an + options key defining the sub-options. + The option set can be defined directly () or as reference (). + + Submodule option definitions are type-checked accordingly to the options + declarations. It is possible to declare submodule options inside a submodule + sub-options for even higher modularity. + +Directly defined submodule + +options.mod = mkOption { + name = "mod"; + description = "submodule example"; + type = with types; listOf (submodule { + options = { + foo = mkOption { + type = int; + }; + bar = mkOption { + type = str; + }; + }; + }); +}; + +Submodule defined as a + reference + +let + modOptions = { + options = { + foo = mkOption { + type = int; + }; + bar = mkOption { + type = int; + }; + }; + }; +in +options.mod = mkOption { + description = "submodule example"; + type = with types; listOf (submodule modOptions); +}; + +
Composed with <literal>listOf</literal> + + When composed with listOf, submodule allows multiple + definitions of the submodule option set. + +Declaration of a list + of submodules + +options.mod = mkOption { + description = "submodule example"; + type = with types; listOf (submodule { + options = { + foo = mkOption { + type = int; + }; + bar = mkOption { + type = str; + }; + }; + }); +}; + +Definition of a list of + submodules + +config.mod = [ + { foo = 1; bar = "one"; } + { foo = 2; bar = "two"; } +]; + +
+ + +
Composed with <literal>attrsOf</literal> + + When composed with attrsOf, submodule allows multiple + named definitions of the submodule option set. + +Declaration of + attribute sets of submodules + +options.mod = mkOption { + description = "submodule example"; + type = with types; attrsOf (submodule { + options = { + foo = mkOption { + type = int; + }; + bar = mkOption { + type = str; + }; + }; + }); +}; + +Declaration of + attribute sets of submodules + +config.mod.one = { foo = 1; bar = "one"; }; +config.mod.two = { foo = 2; bar = "two"; }; + +
+
+ +
Extending types + + Types are mainly characterized by their check and + merge functions. + + + + check + The function to type check the value. Takes a value as + parameter and return a boolean. + It is possible to extend a type check with the + addCheck function (), or to fully override the + check function (). + +Adding a type check + +byte = mkOption { + description = "An integer between 0 and 255."; + type = addCheck (x: x >= 0 && x <= 255) types.int; +}; + +Overriding a type + check + +nixThings = mkOption { + description = "words that start with 'nix'"; + type = types.str // { + check = (x: lib.hasPrefix "nix" x) + }; +}; + + + + merge + Function to merge the options values when multiple values + are set. +The function takes two parameters, loc the option path as a +list of strings, and defs the list of defined values as a +list. +It is possible to override a type merge function for custom +needs. + + + +
+ +
Custom Types + +Custom types can be created with the mkOptionType + function. +As type creation includes some more complex topics such as submodule handling, +it is recommended to get familiar with types.nix +code before creating a new type. + +The only required parameter is name. + + + + name + A string representation of the type function + name. + + + definition + Description of the type used in documentation. Give + information of the type and any of its arguments. + + + check + A function to type check the definition value. Takes the + definition value as a parameter and returns a boolean indicating the + type check result, true for success and + false for failure. + + + merge + A function to merge multiple definitions values. Takes two + parameters: + + + loc + The option path as a list of strings, e.g. + ["boot" "loader "grub" + "enable"]. + + + defs + The list of sets of defined value + and file where the value was defined, e.g. + [ { file = "/foo.nix"; value = 1; } { file = "/bar.nix"; + value = 2 } ]. The merge function + should return the merged value or throw an error in case the + values are impossible or not meant to be merged. + + + + + + getSubOptions + For composed types that can take a submodule as type + parameter, this function generate sub-options documentation. It takes + the current option prefix as a list and return the set of sub-options. + Usually defined in a recursive manner by adding a term to the prefix, + e.g. prefix: elemType.getSubOptions (prefix ++ + ["prefix"]) where + "prefix" is the newly added + prefix. + + + getSubModules + For composed types that can take a submodule as type + parameter, this function should return the type parameters submodules. + If the type parameter is called elemType, the + function should just recursively look into submodules by returning + elemType.getSubModules;. + + + substSubModules + For composed types that can take a submodule as type + parameter, this function can be used to substitute the parameter of a + submodule type. It takes a module as parameter and return the type with + the submodule options substituted. It is usally defined as a type + function call with a recursive call to + substSubModules, e.g for a type + composedType that take an elemtype + type parameter, this function should be defined as m: + composedType (elemType.substSubModules m). + + + typeMerge + A function to merge multiple type declarations. Takes the + type to merge functor as parameter. A + null return value means that type cannot be + merged. + + + f + The type to merge + functor. + + + Note: There is a generic defaultTypeMerge that + work with most of value and composed types. + + + + functor + An attribute set representing the type. It is used for type + operations and has the following keys: + + + type + The type function. + + + wrapped + Holds the type parameter for composed types. + + + + payload + Holds the value parameter for value types. + The types that have a payload are the + enum, separatedString and + submodule types. + + + binOp + A binary operation that can merge the payloads of two + same types. Defined as a function that take two payloads as + parameters and return the payloads merged. + + + + + + +
+
diff --git a/nixos/doc/manual/development/releases.xml b/nixos/doc/manual/development/releases.xml new file mode 100755 index 000000000000..01c3dbc22f16 --- /dev/null +++ b/nixos/doc/manual/development/releases.xml @@ -0,0 +1,241 @@ + + +Releases + +
+ Release process + + + Going through an example of releasing NixOS 15.09: + + +
+ One month before the beta + + + + Send an email to nix-dev mailinglist as a warning about upcoming beta "feature freeze" in a month. + + + + + Discuss with Eelco Dolstra and the community (via IRC, ML) about what will reach the deadline. + Any issue or Pull Request targeting the release should have assigned milestone. + + + +
+
+ At beta release time + + + + Rename rl-unstable.xml -> + rl-1509.xml. + + + + + git tag -a -m "Release 15.09-beta" 15.09-beta && git push --tags + + + + + From the master branch run git checkout -B release-15.09. + + + + + + Make sure channel is created at http://nixos.org/channels/. + + + + + + + Lock the branch on github (so developers can’t force push) + + + + + + bump + system.defaultChannel attribute in + nixos/modules/misc/version.nix + + + + + update + versionSuffix in + nixos/release.nix, use + git log --format=%an|wc -l to get commit + count + + + + + echo -n "16.03" > .version in + master. + + + + + pick + a new name for unstable branch. + + + + + Create + an issue for tracking Zero Hydra Failures progress. ZHF is an effort + to get build failures down to zero. + + + + + Use https://lwn.net/Vulnerabilities/ and + triage vulnerabilities in an issue. + + + + + Create two Hydra jobsets: release-15.09 and release-15.09-small with stableBranch set to false + + + + + Edit changelog at + nixos/doc/manual/release-notes/rl-1509.xml + (double check desktop versions are noted) + + + + + Get all new NixOS modules + git diff release-14.12..release-15.09 nixos/modules/module-list.nix|grep ^+ + + + + + Note systemd, kernel, glibc and Nix upgrades. + + + + + +
+
+ Before the final release + + + + Release Nix (currently only Eelco Dolstra can do that). + + Make sure fallback is updated. + + + + + + + Update README.md with new stable NixOS version information. + + + + + + Change stableBranch to true and wait for channel to update. + + + +
+
+ At final release time + + + + git tag -s -a -m "Release 15.09" 15.09 + + + + + Update http://nixos.org/nixos/download.html and http://nixos.org/nixos/manual in https://github.com/NixOS/nixos-org-configurations + + + + + Get number of commits for the release: + git log release-14.04..release-14.12 --format=%an|wc -l + + + + + Commits by contributor: + git log release-14.04..release-14.12 --format=%an|sort|uniq -c|sort -rn + + + + + Send an email to nix-dev to announce the release with above information. Best to check how previous email was formulated + to see what needs to be included. + + + +
+
+ +
+ Release schedule + + + + + + + + + Date + + + Event + + + + + + + 2016-07-25 + + + Send email to nix-dev about upcoming branch-off + + + + + 2016-09-01 + + + release-16.09 branch and corresponding jobsets are created, + change freeze + + + + + 2016-09-30 + + + NixOS 16.09 released + + + + + +
+ +
diff --git a/nixos/doc/manual/development/writing-documentation.xml b/nixos/doc/manual/development/writing-documentation.xml new file mode 100644 index 000000000000..59a287717acb --- /dev/null +++ b/nixos/doc/manual/development/writing-documentation.xml @@ -0,0 +1,147 @@ + + +Writing NixOS Documentation + + + As NixOS grows, so too does the need for a catalogue and explanation + of its extensive functionality. Collecting pertinent information + from disparate sources and presenting it in an accessible style + would be a worthy contribution to the project. + + +
+Building the Manual + + The DocBook sources of the are in the + nixos/doc/manual + subdirectory of the Nixpkgs repository. If you make modifications to + the manual, it's important to build it before committing. You can do + that as follows: + + nix-build nixos/release.nix -A manual.x86_64-linux + + + + When this command successfully finishes, it will tell you where the + manual got generated. The HTML will be accessible through the + result symlink at + ./result/share/doc/nixos/index.html. + +
+ +
+Editing DocBook XML + + + For general information on how to write in DocBook, see + + DocBook 5: The Definitive Guide. + + + + Emacs nXML Mode is very helpful for editing DocBook XML because it + validates the document as you write, and precisely locates + errors. To use it, see . + + + + Pandoc can generate + DocBook XML from a multitude of formats, which makes a good starting + point. + + + Pandoc invocation to convert GitHub-Flavoured MarkDown to DocBook 5 XML + pandoc -f markdown_github -t docbook5 docs.md -o my-section.md + + + Pandoc can also quickly convert a single + section.xml to HTML, which is helpful when + drafting. + + + + Sometimes writing valid DocBook is simply too difficult. In this + case, submit your documentation updates in a GitHub + Issue and someone will handle the conversion to XML for you. + +
+ +
+Creating a Topic + + + You can use an existing topic as a basis for the new topic or create a topic from scratch. + + + +Keep the following guidelines in mind when you create and add a topic: + + + + The NixOS book + element is in nixos/doc/manual/manual.xml. + It includes several + parts + which are in subdirectories. + + + + Store the topic file in the same directory as the part + to which it belongs. If your topic is about configuring a NixOS + module, then the XML file can be stored alongside the module + definition nix file. + + + + If you include multiple words in the file name, separate the words + with a dash. For example: ipv6-config.xml. + + + + Make sure that the xml:id value is unique. You can use + abbreviations if the ID is too long. For example: + nixos-config. + + + + Determine whether your topic is a chapter or a section. If you are + unsure, open an existing topic file and check whether the main + element is chapter or section. + + + + + +
+ +
+Adding a Topic to the Book + + + Open the parent XML file and add an xi:include + element to the list of chapters with the file name of the topic that + you created. If you created a section, you add the file to + the chapter file. If you created a chapter, you + add the file to the part file. + + + + If the topic is about configuring a NixOS module, it can be + automatically included in the manual by using the + meta.doc attribute. See for an explanation. + + +
+ + + + + + +
diff --git a/nixos/doc/manual/development/writing-modules.xml b/nixos/doc/manual/development/writing-modules.xml index a68b122ce022..ef6920160e6d 100644 --- a/nixos/doc/manual/development/writing-modules.xml +++ b/nixos/doc/manual/development/writing-modules.xml @@ -176,6 +176,7 @@ in { + diff --git a/nixos/doc/manual/installation/obtaining.xml b/nixos/doc/manual/installation/obtaining.xml index f6e8b218e2b3..20a4838be880 100644 --- a/nixos/doc/manual/installation/obtaining.xml +++ b/nixos/doc/manual/installation/obtaining.xml @@ -32,7 +32,7 @@ running NixOS system through several other means: Using AMIs for Amazon’s EC2. To find one for your region and instance type, please refer to the list + xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/virtualisation/ec2-amis.nix">list of most recent AMIs. diff --git a/nixos/doc/manual/installation/upgrading.xml b/nixos/doc/manual/installation/upgrading.xml index 65d395b0c88e..c974523f886c 100644 --- a/nixos/doc/manual/installation/upgrading.xml +++ b/nixos/doc/manual/installation/upgrading.xml @@ -101,6 +101,11 @@ channel by running which is equivalent to the more verbose nix-channel --update nixos; nixos-rebuild switch.
+Channels are set per user. This means that running +nix-channel --add as a non root user (or without sudo) will not +affect configuration in /etc/nixos/configuration.nix + + It is generally safe to switch back and forth between channels. The only exception is that a newer NixOS may also have a newer Nix version, which may involve an upgrade of Nix’s database diff --git a/nixos/doc/manual/man-nixos-rebuild.xml b/nixos/doc/manual/man-nixos-rebuild.xml index d01e2e060bde..f74788353e67 100644 --- a/nixos/doc/manual/man-nixos-rebuild.xml +++ b/nixos/doc/manual/man-nixos-rebuild.xml @@ -68,7 +68,7 @@ desired operation. It must be one of the following: Build and activate the new configuration, and make it the boot default. That is, the configuration is added to the GRUB - boot menu as the default meny entry, so that subsequent reboots + boot menu as the default menu entry, so that subsequent reboots will boot the system into the new configuration. Previous configurations activated with nixos-rebuild switch or nixos-rebuild boot remain diff --git a/nixos/doc/manual/release-notes/release-notes.xml b/nixos/doc/manual/release-notes/release-notes.xml index 31a7ae04a4f5..20d3f74f94b4 100644 --- a/nixos/doc/manual/release-notes/release-notes.xml +++ b/nixos/doc/manual/release-notes/release-notes.xml @@ -9,6 +9,7 @@ This section lists the release notes for each stable version of NixOS and current unstable revision. + diff --git a/nixos/doc/manual/release-notes/rl-1509.xml b/nixos/doc/manual/release-notes/rl-1509.xml index a68baa0d8078..e0271485c361 100644 --- a/nixos/doc/manual/release-notes/rl-1509.xml +++ b/nixos/doc/manual/release-notes/rl-1509.xml @@ -471,7 +471,7 @@ in A newly packaged TeX Live 2015 is provided in pkgs.texlive, split into 6500 nix packages. For basic user documentation see - the source. Beware of an issue when installing a too large package set. diff --git a/nixos/doc/manual/release-notes/rl-1609.xml b/nixos/doc/manual/release-notes/rl-1609.xml index 70759ee25f86..ade7d5581ced 100644 --- a/nixos/doc/manual/release-notes/rl-1609.xml +++ b/nixos/doc/manual/release-notes/rl-1609.xml @@ -4,7 +4,7 @@ version="5.0" xml:id="sec-release-16.09"> -Release 16.09 (“Flounder”, 2016/09/??) +Release 16.09 (“Flounder”, 2016/09/30) In addition to numerous new and upgraded packages, this release has the following highlights: @@ -12,22 +12,45 @@ has the following highlights: - PXE "netboot" media has landed in . - See for documentation. + Many NixOS configurations and Nix packages now use + significantly less disk space, thanks to the extensive + work on closure size reduction. For example, the closure + size of a minimal NixOS container went down from ~424 MiB in 16.03 + to ~212 MiB in 16.09, while the closure size of Firefox went from + ~651 MiB to ~259 MiB. - Xorg-server-1.18.*. If you choose "ati_unfree" driver, - 1.17.* is still used due to ABI incompatibility. + To improve security, packages are now built + using various hardening features. See the Nixpkgs manual + for more information. + + + Support for PXE netboot. See for documentation. + + + + X.org server 1.18. If you use the + ati_unfree driver, 1.17 is still used due to an + ABI incompatibility. + + + + This release is based on Glibc 2.24, GCC 5.4.0 and systemd + 231. The default Linux kernel remains 4.4. + + The following new services were added since the last release: - - (this will get automatically generated at release time) - - + + (this will get automatically generated at release time) + When upgrading from a previous release, please be aware of the following incompatible changes: @@ -36,7 +59,8 @@ following incompatible changes: A large number of packages have been converted to use the multiple outputs feature - of Nix to greatly reduce the amount of required disk space. This may require changes + of Nix to greatly reduce the amount of required disk space, as + mentioned above. This may require changes to any custom packages to make them build again; see the relevant chapter in the Nixpkgs manual for more information. (Additional caveat to packagers: some packaging conventions related to multiple-output packages @@ -45,6 +69,25 @@ following incompatible changes: + + Previous versions of Nixpkgs had support for all versions of the LTS + Haskell package set. That support has been dropped. The previously provided + haskell.packages.lts-x_y package sets still exist in + name to aviod breaking user code, but these package sets don't actually + contain the versions mandated by the corresponding LTS release. Instead, + our package set it loosely based on the latest available LTS release, i.e. + LTS 7.x at the time of this writing. New releases of NixOS and Nixpkgs will + drop those old names entirely. The + motivation for this change has been discussed at length on the + nix-dev mailing list and in Github issue + #14897. Development strategies for Haskell hackers who want to rely + on Nix and NixOS have been described in another + nix-dev article. + + Shell aliases for systemd sub-commands were dropped: @@ -58,16 +101,20 @@ following incompatible changes: - /var/setuid-wrappers/ - is now a symlink so - it can be atomically updated - and it's not mounted as tmpfs anymore since setuid binaries are located on /run/ as tmpfs. + + /var/empty is now immutable. Activation script runs chattr +i + to forbid any modifications inside the folder. See + the pull request for what bugs this caused. - Gitlab's maintainence script gitlab-runner was removed and split up into the more clearer - gitlab-run and gitlab-rake scripts because gitlab-runner is a component of Gitlab CI. + Gitlab's maintainance script + gitlab-runner was removed and split up into the + more clearer gitlab-run and + gitlab-rake scripts, because + gitlab-runner is a component of Gitlab + CI. @@ -80,16 +127,43 @@ following incompatible changes: fonts.fontconfig.ultimate.rendering was removed because our presets were obsolete for some time. New presets are hardcoded - into freetype; one selects a preset via fonts.fontconfig.ultimate.preset. + into FreeType; you can select a preset via fonts.fontconfig.ultimate.preset. You can customize those presets via ordinary environment variables, using environment.variables. The audit service is no longer enabled by default. - Use security.audit.enable = true; to explicitly enable it. + Use security.audit.enable = true to explicitly enable it. + + + pkgs.linuxPackages.virtualbox now contains only the + kernel modules instead of the VirtualBox user space binaries. + If you want to reference the user space binaries, you have to use the new + pkgs.virtualbox instead. + + + + + goPackages was replaced with separated Go + applications in appropriate nixpkgs + categories. Each Go package uses its own dependency set. There's + also a new go2nix tool introduced to generate a + Go package definition from its Go source automatically. + + + + services.mongodb.extraConfig configuration format + was changed to YAML. + + + + + PHP has been upgraded to 7.0 + + @@ -105,6 +179,60 @@ following incompatible changes: functionality. See for documentation + Special filesystems, like /proc, + /run and others, now have the same mount options + as recommended by systemd and are unified across different places in + NixOS. Mount options are updated during nixos-rebuild + switch if possible. One benefit from this is improved + security — most such filesystems are now mounted with + noexec, nodev and/or + nosuid options. + + The reverse path filter was interfering with DHCPv4 server + operation in the past. An exception for DHCPv4 and a new option to log + packets that were dropped due to the reverse path filter was added + (networking.firewall.logReversePathDrops) for easier + debugging. + + Containers configuration within + containers.<name>.config is now + properly typed and checked. In particular, partial + configurations are merged correctly. + + + The directory container setuid wrapper programs, + /var/setuid-wrappers, is now + updated atomically to prevent failures if the switch to a new + configuration is interrupted. + + + + services.xserver.startGnuPGAgent + has been removed due to GnuPG 2.1.x bump. See + how to achieve similar behavior. You might need to + pkill gpg-agent after the upgrade + to prevent a stale agent being in the way. + + + + + + Declarative users could share the uid due to the bug in + the script handling conflict resolution. + + + + + Gummi boot has been replaced using systemd-boot. + + + + Hydra package and NixOS module were added for convenience. + + diff --git a/nixos/doc/manual/release-notes/rl-1703.xml b/nixos/doc/manual/release-notes/rl-1703.xml new file mode 100644 index 000000000000..d8b0ae01e333 --- /dev/null +++ b/nixos/doc/manual/release-notes/rl-1703.xml @@ -0,0 +1,106 @@ +
+ +Release 17.03 (“XXX”, 2017/03/??) + +In addition to numerous new and upgraded packages, this release +has the following highlights: + + + + + + + +The following new services were added since the last release: + + + + + + + + +When upgrading from a previous release, please be aware of the +following incompatible changes: + + + + + gnome alias has been removed along with + gtk, gtkmm and several others. + Now you need to use versioned attributes, like gnome3. + + + + + + The attribute name of the Radicale daemon has been changed from + pythonPackages.radicale to + radicale. + + + + + + The Yama LSM is now enabled by default in the kernel, + which prevents ptracing non-child processes. + This means you will not be able to attach gdb to an existing process, + but will need to start that process from gdb (so it is a child). + + + + + + The stripHash bash function in stdenv + changed according to its documentation; it now outputs the stripped name to + stdout instead of putting it in the variable + strippedName. + + + + + PHP now scans for extra configuration .ini files in /etc/php.d + instead of /etc. This prevents accidentally loading non-PHP .ini files + that may be in /etc. + + + + + + Parsoid service now uses YAML configuration format. + service.parsoid.interwikis is now called + service.parsoid.wikis and is a list of either API URLs + or attribute sets as specified in parsoid's documentation. + + + + + + Ntpd was replaced by + systemd-timesyncd as the default service to synchronize + system time with a remote NTP server. The old behavior can be restored by + setting services.ntp.enable to true. + Upstream time servers for all NTP implementations are now configured using + networking.timeServers. + + + + + +Other notable improvements: + + + + Module type system have a new extensible option types feature that + allow to extend certain types, such as enum, through multiple option + declarations of the same option across multiple modules. + + + + + +
diff --git a/nixos/lib/build-vms.nix b/nixos/lib/build-vms.nix index 4e044deca217..1a17a080ba45 100644 --- a/nixos/lib/build-vms.nix +++ b/nixos/lib/build-vms.nix @@ -9,6 +9,8 @@ rec { inherit pkgs; + qemu = pkgs.qemu_test; + # Build a virtual network from an attribute set `{ machine1 = # config1; ... machineN = configN; }', where `machineX' is the @@ -27,6 +29,7 @@ rec { [ ../modules/virtualisation/qemu-vm.nix ../modules/testing/test-instrumentation.nix # !!! should only get added for automated test runs { key = "no-manual"; services.nixosManual.enable = false; } + { key = "qemu"; system.build.qemu = qemu; } ] ++ optional minimal ../modules/testing/minimal-kernel.nix; extraArgs = { inherit nodes; }; }; diff --git a/nixos/lib/eval-config.nix b/nixos/lib/eval-config.nix index a87b285c5b7b..2e7971cca810 100644 --- a/nixos/lib/eval-config.nix +++ b/nixos/lib/eval-config.nix @@ -1,4 +1,4 @@ -# From an end-user configuration file (`configuration'), build a NixOS +# From an end-user configuration file (`configuration.nix'), build a NixOS # configuration object (`config') from which we can retrieve option # values. diff --git a/nixos/lib/make-disk-image.nix b/nixos/lib/make-disk-image.nix index 58d0cb38d75f..e279803f2ea0 100644 --- a/nixos/lib/make-disk-image.nix +++ b/nixos/lib/make-disk-image.nix @@ -27,6 +27,10 @@ , name ? "nixos-disk-image" + # This prevents errors while checking nix-store validity, see + # https://github.com/NixOS/nix/issues/1134 +, fixValidity ? true + , format ? "raw" }: @@ -61,9 +65,6 @@ pkgs.vmTools.runInLinuxVM ( # Create an empty filesystem and mount it. mkfs.${fsType} -L nixos $rootDisk - ${optionalString (fsType == "ext4") '' - tune2fs -c 0 -i 0 $rootDisk - ''} mkdir /mnt mount $rootDisk /mnt @@ -71,9 +72,11 @@ pkgs.vmTools.runInLinuxVM ( printRegistration=1 perl ${pkgs.pathsFromGraph} /tmp/xchg/closure | \ ${config.nix.package.out}/bin/nix-store --load-db --option build-users-group "" - # Add missing size/hash fields to the database. FIXME: - # exportReferencesGraph should provide these directly. - ${config.nix.package.out}/bin/nix-store --verify --check-contents --option build-users-group "" + ${if fixValidity then '' + # Add missing size/hash fields to the database. FIXME: + # exportReferencesGraph should provide these directly. + ${config.nix.package.out}/bin/nix-store --verify --check-contents --option build-users-group "" + '' else ""} # In case the bootloader tries to write to /dev/sda… ln -s vda /dev/xvda @@ -97,7 +100,9 @@ pkgs.vmTools.runInLinuxVM ( umount /mnt - # Do a fsck to make sure resize2fs works. - fsck.${fsType} -f -y $rootDisk + # Make sure resize2fs works + ${optionalString (fsType == "ext4") '' + tune2fs -c 0 -i 0 $rootDisk + ''} '' ) diff --git a/nixos/lib/make-squashfs.nix b/nixos/lib/make-squashfs.nix index 3b640334e17a..4100af27becb 100644 --- a/nixos/lib/make-squashfs.nix +++ b/nixos/lib/make-squashfs.nix @@ -25,6 +25,6 @@ stdenv.mkDerivation { # Generate the squashfs image. mksquashfs nix-path-registration $storePaths $out \ - -keep-as-directory -all-root + -keep-as-directory -all-root -b 1048576 -comp xz -Xdict-size 100% ''; } diff --git a/nixos/lib/make-system-tarball.sh b/nixos/lib/make-system-tarball.sh index e04455e889b0..73a009d8488a 100644 --- a/nixos/lib/make-system-tarball.sh +++ b/nixos/lib/make-system-tarball.sh @@ -52,9 +52,10 @@ $extraCommands mkdir -p $out/tarball -tar cvJf $out/tarball/$fileName.tar.xz * $extraArgs +rm env-vars + +tar --sort=name --mtime='@1' --owner=0 --group=0 --numeric-owner -cvJf $out/tarball/$fileName.tar.xz * $extraArgs mkdir -p $out/nix-support echo $system > $out/nix-support/system echo "file system-tarball $out/tarball/$fileName.tar.xz" > $out/nix-support/hydra-build-products - diff --git a/nixos/lib/test-driver/Machine.pm b/nixos/lib/test-driver/Machine.pm index 1a243918c22f..14c39e859bc1 100644 --- a/nixos/lib/test-driver/Machine.pm +++ b/nixos/lib/test-driver/Machine.pm @@ -504,6 +504,31 @@ sub screenshot { }, { image => $name } ); } +# Get the text of TTY +sub getTTYText { + my ($self, $tty) = @_; + + my ($status, $out) = $self->execute("fold -w 80 /dev/vcs${tty}"); + return $out; +} + +# Wait until TTY's text matches a particular regular expression +sub waitUntilTTYMatches { + my ($self, $tty, $regexp) = @_; + + $self->nest("waiting for $regexp to appear on tty $tty", sub { + retry sub { + return 1 if $self->getTTYText($tty) =~ /$regexp/; + } + }); +} + +# Debugging: Dump the contents of the TTY +sub dumpTTYContents { + my ($self, $tty) = @_; + + $self->execute("fold -w 80 /dev/vcs${tty} | systemd-cat"); +} # Take a screenshot and return the result as text using optical character # recognition. @@ -586,11 +611,37 @@ sub copyFileFromHost { } +my %charToKey = ( + '!' => "shift-0x02", + '@' => "shift-0x03", + '#' => "shift-0x04", + '$' => "shift-0x05", + '%' => "shift-0x06", + '^' => "shift-0x07", + '&' => "shift-0x08", + '*' => "shift-0x09", + '(' => "shift-0x0A", + ')' => "shift-0x0B", + '-' => "0x0C", '_' => "shift-0x0C", + '=' => "0x0D", '+' => "shift-0x0D", + '[' => "0x1A", '{' => "shift-0x1A", + ']' => "0x1B", '}' => "shift-0x1B", + ';' => "0x27", ':' => "shift-0x27", + '\'' => "0x28", '"' => "shift-0x28", + '`' => "0x29", '~' => "shift-0x29", + '\\' => "0x2B", '|' => "shift-0x2B", + ',' => "0x33", '<' => "shift-0x33", + '.' => "0x34", '>' => "shift-0x34", + '/' => "0x35", '?' => "shift-0x35", + ' ' => "spc", + "\n" => "ret", +); + + sub sendKeys { my ($self, @keys) = @_; foreach my $key (@keys) { - $key = "spc" if $key eq " "; - $key = "ret" if $key eq "\n"; + $key = $charToKey{$key} if exists $charToKey{$key}; $self->sendMonitorCommand("sendkey $key"); } } diff --git a/nixos/lib/test-driver/test-driver.pl b/nixos/lib/test-driver/test-driver.pl index 8ad0d67f68c3..854be99552a0 100644 --- a/nixos/lib/test-driver/test-driver.pl +++ b/nixos/lib/test-driver/test-driver.pl @@ -8,6 +8,7 @@ use IO::Pty; use Logger; use Cwd; use POSIX qw(_exit dup2); +use Time::HiRes qw(clock_gettime CLOCK_MONOTONIC); $SIG{PIPE} = 'IGNORE'; # because Unix domain sockets may die unexpectedly @@ -179,7 +180,12 @@ END { $log->close(); } +my $now1 = clock_gettime(CLOCK_MONOTONIC); runTests; +my $now2 = clock_gettime(CLOCK_MONOTONIC); + +printf STDERR "test script finished in %.2fs\n", $now2 - $now1; + exit ($nrSucceeded < $nrTests ? 1 : 0); diff --git a/nixos/lib/testing.nix b/nixos/lib/testing.nix index 61b214bfba8c..c1cb5072acad 100644 --- a/nixos/lib/testing.nix +++ b/nixos/lib/testing.nix @@ -29,7 +29,7 @@ rec { cp ${./test-driver/Logger.pm} $libDir/Logger.pm wrapProgram $out/bin/nixos-test-driver \ - --prefix PATH : "${lib.makeBinPath [ qemu_kvm vde2 netpbm coreutils ]}" \ + --prefix PATH : "${lib.makeBinPath [ qemu vde2 netpbm coreutils ]}" \ --prefix PERL5LIB : "${with perlPackages; lib.makePerlPath [ TermReadLineGnu XMLWriter IOTty FileSlurp ]}:$out/lib/perl5/site_perl" ''; }; @@ -93,7 +93,7 @@ rec { vms = map (m: m.config.system.build.vm) (lib.attrValues nodes); - ocrProg = tesseract.override { enableLanguages = [ "eng" ]; }; + ocrProg = tesseract; # Generate onvenience wrappers for running the test driver # interactively with the specified network, and for starting the @@ -157,9 +157,7 @@ rec { ${coreutils}/bin/mkdir -p $TMPDIR cd $TMPDIR - $origBuilder $origArgs - - exit $? + exec $origBuilder $origArgs ''; testScript = '' @@ -172,9 +170,22 @@ rec { ''; vmRunCommand = writeText "vm-run" '' + xchg=vm-state-client/xchg ${coreutils}/bin/mkdir $out - ${coreutils}/bin/mkdir -p vm-state-client/xchg - export > vm-state-client/xchg/saved-env + ${coreutils}/bin/mkdir -p $xchg + + for i in $passAsFile; do + i2=''${i}Path + _basename=$(${coreutils}/bin/basename ''${!i2}) + ${coreutils}/bin/cp ''${!i2} $xchg/$_basename + eval $i2=/tmp/xchg/$_basename + ${coreutils}/bin/ls -la $xchg + done + + unset i i2 _basename + export | ${gnugrep}/bin/grep -v '^xchg=' > $xchg/saved-env + unset xchg + export tests='${testScript}' ${testDriver}/bin/nixos-test-driver ${vm.config.system.build.vm}/bin/run-*-vm ''; # */ diff --git a/nixos/maintainers/scripts/ec2/create-amis.sh b/nixos/maintainers/scripts/ec2/create-amis.sh index e26caa191643..0750a1b18c99 100755 --- a/nixos/maintainers/scripts/ec2/create-amis.sh +++ b/nixos/maintainers/scripts/ec2/create-amis.sh @@ -1,4 +1,8 @@ -#! /bin/sh -e +#!/usr/bin/env nix-shell +#! nix-shell -i bash -p qemu ec2_ami_tools jq ec2_api_tools awscli + +# To start with do: nix-shell -p awscli --run "aws configure" + set -o pipefail #set -x @@ -15,7 +19,7 @@ rm -f ec2-amis.nix types="hvm pv" stores="ebs s3" -regions="eu-west-1 eu-central-1 us-east-1 us-west-1 us-west-2 ap-southeast-1 ap-southeast-2 ap-northeast-1 ap-northeast-2 sa-east-1 ap-south-1" +regions="eu-west-1 eu-central-1 us-east-1 us-east-2 us-west-1 us-west-2 ap-southeast-1 ap-southeast-2 ap-northeast-1 ap-northeast-2 sa-east-1 ap-south-1" for type in $types; do link=$stateDir/$type @@ -57,7 +61,7 @@ for type in $types; do ami=$(aws ec2 copy-image \ --region "$region" \ --source-region "$prevRegion" --source-image-id "$prevAmi" \ - --name "$name" --description "$description" | json -q .ImageId) + --name "$name" --description "$description" | jq -r '.ImageId') if [ "$ami" = null ]; then break; fi else diff --git a/nixos/modules/config/debug-info.nix b/nixos/modules/config/debug-info.nix index 17cb862d2916..49991d22a933 100644 --- a/nixos/modules/config/debug-info.nix +++ b/nixos/modules/config/debug-info.nix @@ -17,12 +17,10 @@ with lib; where tools such as gdb can find them. If you need debug symbols for a package that doesn't provide them by default, you can enable them as follows: - nixpkgs.config.packageOverrides = pkgs: { - hello = overrideDerivation pkgs.hello (attrs: { - outputs = attrs.outputs or ["out"] ++ ["debug"]; - buildInputs = attrs.buildInputs ++ [<nixpkgs/pkgs/build-support/setup-hooks/separate-debug-info.sh>]; + hello = pkgs.hello.overrideAttrs (oldAttrs: { + separateDebugInfo = true; }); }; diff --git a/nixos/modules/config/fonts/fontconfig.nix b/nixos/modules/config/fonts/fontconfig.nix index 770c3a03f9d8..52ad1e714fb9 100644 --- a/nixos/modules/config/fonts/fontconfig.nix +++ b/nixos/modules/config/fonts/fontconfig.nix @@ -301,9 +301,7 @@ in }; style = mkOption { - type = types.str // { - check = flip elem ["none" "slight" "medium" "full"]; - }; + type = types.enum ["none" "slight" "medium" "full"]; default = "full"; description = '' TrueType hinting style, one of none, @@ -329,9 +327,7 @@ in default = "rgb"; type = types.enum ["rgb" "bgr" "vrgb" "vbgr" "none"]; description = '' - Subpixel order, one of none, - rgb, bgr, - vrgb, or vbgr. + Subpixel order. ''; }; @@ -339,9 +335,7 @@ in default = "default"; type = types.enum ["none" "default" "light" "legacy"]; description = '' - FreeType LCD filter, one of none, - default, light, or - legacy. + FreeType LCD filter. ''; }; diff --git a/nixos/modules/config/fonts/fonts.nix b/nixos/modules/config/fonts/fonts.nix index f913b8c33e56..af3d93fc1bc4 100644 --- a/nixos/modules/config/fonts/fonts.nix +++ b/nixos/modules/config/fonts/fonts.nix @@ -11,17 +11,27 @@ with lib; # TODO: find another name for it. fonts = mkOption { type = types.listOf types.path; + default = []; example = literalExample "[ pkgs.dejavu_fonts ]"; description = "List of primary font paths."; }; + enableDefaultFonts = mkOption { + type = types.bool; + default = false; + description = '' + Enable a basic set of fonts providing several font styles + and families and reasonable coverage of Unicode. + ''; + }; + }; }; config = { - fonts.fonts = + fonts.fonts = mkIf config.fonts.enableDefaultFonts [ pkgs.xorg.fontbhlucidatypewriter100dpi pkgs.xorg.fontbhlucidatypewriter75dpi diff --git a/nixos/modules/config/gnu.nix b/nixos/modules/config/gnu.nix index f8c35b440d12..ef48ccb7b4fe 100644 --- a/nixos/modules/config/gnu.nix +++ b/nixos/modules/config/gnu.nix @@ -7,11 +7,11 @@ with lib; gnu = mkOption { type = types.bool; default = false; - description = - '' When enabled, GNU software is chosen by default whenever a there is - a choice between GNU and non-GNU software (e.g., GNU lsh - vs. OpenSSH). - ''; + description = '' + When enabled, GNU software is chosen by default whenever a there is + a choice between GNU and non-GNU software (e.g., GNU lsh + vs. OpenSSH). + ''; }; }; diff --git a/nixos/modules/config/i18n.nix b/nixos/modules/config/i18n.nix index e341931aacce..799f0793c74f 100644 --- a/nixos/modules/config/i18n.nix +++ b/nixos/modules/config/i18n.nix @@ -44,8 +44,9 @@ in consolePackages = mkOption { type = types.listOf types.package; default = with pkgs.kbdKeymaps; [ dvp neo ]; + defaultText = ''with pkgs.kbdKeymaps; [ dvp neo ]''; description = '' - List of additional packages that provide console fonts, keymaps and + List of additional packages that provide console fonts, keymaps and other resources. ''; }; diff --git a/nixos/modules/config/networking.nix b/nixos/modules/config/networking.nix index 8a2e630a917a..9e7cfbd686cc 100644 --- a/nixos/modules/config/networking.nix +++ b/nixos/modules/config/networking.nix @@ -29,6 +29,19 @@ in ''; }; + networking.hostConf = lib.mkOption { + type = types.lines; + default = "multi on"; + example = '' + multi on + reorder on + trim lan + ''; + description = '' + The contents of /etc/host.conf. See also host.conf5. + ''; + }; + networking.dnsSingleRequest = lib.mkOption { type = types.bool; default = false; @@ -44,7 +57,7 @@ in networking.dnsExtensionMechanism = lib.mkOption { type = types.bool; - default = false; + default = true; description = '' Enable the edns0 option in resolv.conf. With that option set, glibc supports use of the extension mechanisms for @@ -71,6 +84,18 @@ in ''; }; + networking.timeServers = mkOption { + default = [ + "0.nixos.pool.ntp.org" + "1.nixos.pool.ntp.org" + "2.nixos.pool.ntp.org" + "3.nixos.pool.ntp.org" + ]; + description = '' + The set of NTP servers from which to synchronise. + ''; + }; + networking.proxy = { default = lib.mkOption { @@ -171,6 +196,9 @@ in ${cfg.extraHosts} ''; + # /etc/host.conf: resolver configuration file + "host.conf".text = cfg.hostConf; + # /etc/resolvconf.conf: Configuration for openresolv. "resolvconf.conf".text = '' @@ -223,16 +251,16 @@ in # Install the proxy environment variables environment.sessionVariables = cfg.proxy.envVars; - # The ‘ip-up’ target is started when we have IP connectivity. So - # services that depend on IP connectivity (like ntpd) should be - # pulled in by this target. - systemd.targets.ip-up.description = "Services Requiring IP Connectivity"; + # The ‘ip-up’ target is kept for backwards compatibility. + # New services should use systemd upstream targets: + # See https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/ + systemd.targets.ip-up.description = "Services Requiring IP Connectivity (deprecated)"; # This is needed when /etc/resolv.conf is being overriden by networkd # and other configurations. If the file is destroyed by an environment # activation then it must be rebuilt so that applications which interface # with /etc/resolv.conf directly don't break. - system.activationScripts.resolvconf = stringAfter [ "etc" "tmpfs" "var" ] + system.activationScripts.resolvconf = stringAfter [ "etc" "specialfs" "var" ] '' # Systemd resolved controls its own resolv.conf rm -f /run/resolvconf/interfaces/systemd diff --git a/nixos/modules/config/nsswitch.nix b/nixos/modules/config/nsswitch.nix index f30136be44e1..4e5de421d8ac 100644 --- a/nixos/modules/config/nsswitch.nix +++ b/nixos/modules/config/nsswitch.nix @@ -9,10 +9,28 @@ let inherit (config.services.avahi) nssmdns; inherit (config.services.samba) nsswins; ldap = (config.users.ldap.enable && config.users.ldap.nsswitch); + sssd = config.services.sssd.enable; -in + hostArray = [ "files" "mymachines" ] + ++ optionals nssmdns [ "mdns_minimal [!UNAVAIL=return]" ] + ++ optionals nsswins [ "wins" ] + ++ [ "dns" ] + ++ optionals nssmdns [ "mdns" ] + ++ ["myhostname" ]; -{ + passwdArray = [ "files" ] + ++ optional sssd "sss" + ++ optionals ldap [ "ldap" ] + ++ [ "mymachines" ]; + + shadowArray = [ "files" ] + ++ optional sssd "sss" + ++ optionals ldap [ "ldap" ]; + + servicesArray = [ "files" ] + ++ optional sssd "sss"; + +in { options = { # NSS modules. Hacky! @@ -39,24 +57,26 @@ in # Name Service Switch configuration file. Required by the C # library. !!! Factor out the mdns stuff. The avahi module # should define an option used by this module. - environment.etc."nsswitch.conf".text = - '' - passwd: files ${optionalString ldap "ldap"} - group: files ${optionalString ldap "ldap"} - shadow: files ${optionalString ldap "ldap"} - hosts: files ${optionalString nssmdns "mdns_minimal [NOTFOUND=return]"} dns ${optionalString nssmdns "mdns"} ${optionalString nsswins "wins"} myhostname mymachines - networks: files dns - ethers: files - services: files - protocols: files - ''; + environment.etc."nsswitch.conf".text = '' + passwd: ${concatStringsSep " " passwdArray} + group: ${concatStringsSep " " passwdArray} + shadow: ${concatStringsSep " " shadowArray} + + hosts: ${concatStringsSep " " hostArray} + networks: files + + ethers: files + services: ${concatStringsSep " " servicesArray} + protocols: files + rpc: files + ''; # Systemd provides nss-myhostname to ensure that our hostname # always resolves to a valid IP address. It returns all locally # configured IP addresses, or ::1 and 127.0.0.2 as # fallbacks. Systemd also provides nss-mymachines to return IP # addresses of local containers. - system.nssModules = [ config.systemd.package ]; + system.nssModules = [ config.systemd.package.out ]; }; } diff --git a/nixos/modules/config/power-management.nix b/nixos/modules/config/power-management.nix index fbd7867a0953..a4a4d6e1a6af 100644 --- a/nixos/modules/config/power-management.nix +++ b/nixos/modules/config/power-management.nix @@ -69,7 +69,7 @@ in config = mkIf cfg.enable { - # FIXME: Implement powersave governor for sandy bridge or later Intel CPUs + # Leftover for old setups, should be set by nixos-generate-config now powerManagement.cpuFreqGovernor = mkDefault "ondemand"; systemd.targets.post-resume = { diff --git a/nixos/modules/config/pulseaudio.nix b/nixos/modules/config/pulseaudio.nix index 06ce52004202..742167fbf69f 100644 --- a/nixos/modules/config/pulseaudio.nix +++ b/nixos/modules/config/pulseaudio.nix @@ -212,6 +212,7 @@ in { # Allow PulseAudio to get realtime priority using rtkit. security.rtkit.enable = true; + systemd.packages = [ cfg.package ]; }) (mkIf hasZeroconf { @@ -227,31 +228,14 @@ in { target = "pulse/default.pa"; source = myConfigFile; }; - systemd.user = { services.pulseaudio = { - description = "PulseAudio Server"; - # NixOS doesn't support "Also" so we bring it in manually - wantedBy = [ "default.target" ]; serviceConfig = { - Type = "notify"; - ExecStart = binaryNoDaemon; - Restart = "on-failure"; RestartSec = "500ms"; }; environment = { DISPLAY = ":${toString config.services.xserver.display}"; }; restartIfChanged = true; }; - - sockets.pulseaudio = { - description = "PulseAudio Socket"; - wantedBy = [ "sockets.target" ]; - socketConfig = { - Priority = 6; - Backlog = 5; - ListenStream = "%t/pulse/native"; - }; - }; }; }) diff --git a/nixos/modules/config/shells-environment.nix b/nixos/modules/config/shells-environment.nix index 54dd6f6570fa..7003c0745224 100644 --- a/nixos/modules/config/shells-environment.nix +++ b/nixos/modules/config/shells-environment.nix @@ -41,7 +41,7 @@ in strings. The latter is concatenated, interspersed with colon characters. ''; - type = types.attrsOf (types.loeOf types.str); + type = with types; attrsOf (either str (listOf str)); apply = mapAttrs (n: v: if isList v then concatStringsSep ":" v else v); }; diff --git a/nixos/modules/config/system-environment.nix b/nixos/modules/config/system-environment.nix index 3362400326d2..6011e354ece4 100644 --- a/nixos/modules/config/system-environment.nix +++ b/nixos/modules/config/system-environment.nix @@ -23,7 +23,7 @@ in strings. The latter is concatenated, interspersed with colon characters. ''; - type = types.attrsOf (types.loeOf types.str); + type = with types; attrsOf (either str (listOf str)); apply = mapAttrs (n: v: if isList v then concatStringsSep ":" v else v); }; diff --git a/nixos/modules/config/system-path.nix b/nixos/modules/config/system-path.nix index 9708b5d9fe33..3ac5f634c7a6 100644 --- a/nixos/modules/config/system-path.nix +++ b/nixos/modules/config/system-path.nix @@ -34,10 +34,10 @@ let config.programs.ssh.package pkgs.perl pkgs.procps + pkgs.rsync pkgs.strace pkgs.su pkgs.time - pkgs.texinfoInteractive pkgs.utillinux pkgs.which # 88K size ]; @@ -76,7 +76,7 @@ in extraOutputsToInstall = mkOption { type = types.listOf types.str; default = [ ]; - example = [ "doc" "info" "docdev" ]; + example = [ "doc" "info" "devdoc" ]; description = "List of additional package outputs to be symlinked into /run/current-system/sw."; }; @@ -104,7 +104,6 @@ in "/etc/xdg" "/etc/gtk-2.0" "/etc/gtk-3.0" - "/info" "/lib" # FIXME: remove and update debug-info.nix "/sbin" "/share/applications" @@ -112,7 +111,6 @@ in "/share/doc" "/share/emacs" "/share/icons" - "/share/info" "/share/menus" "/share/mime" "/share/nano" @@ -120,6 +118,7 @@ in "/share/terminfo" "/share/themes" "/share/vim-plugins" + "/share/vulkan" ]; system.path = pkgs.buildEnv { diff --git a/nixos/modules/config/timezone.nix b/nixos/modules/config/timezone.nix index b9844b4adade..39a45042c6cc 100644 --- a/nixos/modules/config/timezone.nix +++ b/nixos/modules/config/timezone.nix @@ -37,14 +37,15 @@ in environment.sessionVariables.TZDIR = "/etc/zoneinfo"; + # This way services are restarted when tzdata changes. systemd.globalEnvironment.TZDIR = tzdir; environment.etc.localtime = - { source = "${tzdir}/${config.time.timeZone}"; + { source = "/etc/zoneinfo/${config.time.timeZone}"; mode = "direct-symlink"; }; - environment.etc.zoneinfo.source = "${pkgs.tzdata}/share/zoneinfo"; + environment.etc.zoneinfo.source = tzdir; }; diff --git a/nixos/modules/config/users-groups.nix b/nixos/modules/config/users-groups.nix index d92deb85d2a5..57e4940378ba 100644 --- a/nixos/modules/config/users-groups.nix +++ b/nixos/modules/config/users-groups.nix @@ -131,13 +131,12 @@ let }; subUidRanges = mkOption { - type = types.listOf types.optionSet; + type = with types; listOf (submodule subordinateUidRange); default = []; example = [ { startUid = 1000; count = 1; } { startUid = 100001; count = 65534; } ]; - options = [ subordinateUidRange ]; description = '' Subordinate user ids that user is allowed to use. They are set into /etc/subuid and are used @@ -146,13 +145,12 @@ let }; subGidRanges = mkOption { - type = types.listOf types.optionSet; + type = with types; listOf (submodule subordinateGidRange); default = []; example = [ { startGid = 100; count = 1; } { startGid = 1001; count = 999; } ]; - options = [ subordinateGidRange ]; description = '' Subordinate group ids that user is allowed to use. They are set into /etc/subgid and are used @@ -310,32 +308,36 @@ let }; subordinateUidRange = { - startUid = mkOption { - type = types.int; - description = '' - Start of the range of subordinate user ids that user is - allowed to use. - ''; - }; - count = mkOption { - type = types.int; - default = 1; - description = ''Count of subordinate user ids''; + options = { + startUid = mkOption { + type = types.int; + description = '' + Start of the range of subordinate user ids that user is + allowed to use. + ''; + }; + count = mkOption { + type = types.int; + default = 1; + description = ''Count of subordinate user ids''; + }; }; }; subordinateGidRange = { - startGid = mkOption { - type = types.int; - description = '' - Start of the range of subordinate group ids that user is - allowed to use. - ''; - }; - count = mkOption { - type = types.int; - default = 1; - description = ''Count of subordinate group ids''; + options = { + startGid = mkOption { + type = types.int; + description = '' + Start of the range of subordinate group ids that user is + allowed to use. + ''; + }; + count = mkOption { + type = types.int; + default = 1; + description = ''Count of subordinate group ids''; + }; }; }; @@ -428,7 +430,7 @@ in { users.users = mkOption { default = {}; - type = types.loaOf types.optionSet; + type = with types; loaOf (submodule userOpts); example = { alice = { uid = 1234; @@ -444,7 +446,6 @@ in { Additional user accounts to be created automatically by the system. This can also be used to set options for root. ''; - options = [ userOpts ]; }; users.groups = mkOption { @@ -453,11 +454,10 @@ in { { students.gid = 1001; hackers = { }; }; - type = types.loaOf types.optionSet; + type = with types; loaOf (submodule groupOpts); description = '' Additional groups to be created automatically by the system. ''; - options = [ groupOpts ]; }; # FIXME: obsolete - will remove. diff --git a/nixos/modules/hardware/opengl.nix b/nixos/modules/hardware/opengl.nix index 0bc574d48190..c4fad9a66725 100644 --- a/nixos/modules/hardware/opengl.nix +++ b/nixos/modules/hardware/opengl.nix @@ -14,7 +14,7 @@ let name = "mesa-drivers+txc-${p.mesa_drivers.version}"; paths = [ p.mesa_drivers - p.mesa_noglu # mainly for libGL + p.mesa_drivers.out # mainly for libGL (if cfg.s3tcSupport then p.libtxc_dxtn else p.libtxc_dxtn_s2tc) ]; }; @@ -135,6 +135,12 @@ in environment.sessionVariables.LD_LIBRARY_PATH = [ "/run/opengl-driver/lib" "/run/opengl-driver-32/lib" ]; + environment.extraInit = '' + export XDG_DATA_DIRS=$XDG_DATA_DIRS:/run/opengl-driver/share + '' + optionalString cfg.driSupport32Bit '' + export XDG_DATA_DIRS=$XDG_DATA_DIRS:/run/opengl-driver-32/share + ''; + hardware.opengl.package = mkDefault (makePackage pkgs); hardware.opengl.package32 = mkDefault (makePackage pkgs_i686); diff --git a/nixos/modules/hardware/video/amdgpu-pro.nix b/nixos/modules/hardware/video/amdgpu-pro.nix new file mode 100644 index 000000000000..979810abf90a --- /dev/null +++ b/nixos/modules/hardware/video/amdgpu-pro.nix @@ -0,0 +1,54 @@ +# This module provides the proprietary AMDGPU-PRO drivers. + +{ config, lib, pkgs, pkgs_i686, ... }: + +with lib; + +let + + drivers = config.services.xserver.videoDrivers; + + enabled = elem "amdgpu-pro" drivers; + + package = config.boot.kernelPackages.amdgpu-pro; + package32 = pkgs_i686.linuxPackages.amdgpu-pro.override { libsOnly = true; kernel = null; }; + + opengl = config.hardware.opengl; + +in + +{ + + config = mkIf enabled { + + services.xserver.drivers = singleton + { name = "amdgpu"; modules = [ package ]; libPath = [ package ]; }; + + hardware.opengl.package = package; + hardware.opengl.package32 = package32; + + boot.extraModulePackages = [ package ]; + + boot.blacklistedKernelModules = [ "radeon" ]; + + hardware.firmware = [ package ]; + + system.activationScripts.setup-amdgpu-pro = '' + mkdir -p /run/lib + ln -sfn ${package}/lib ${package.libCompatDir} + '' + optionalString opengl.driSupport32Bit '' + ln -sfn ${package32}/lib ${package32.libCompatDir} + ''; + + environment.etc = { + "amd/amdrc".source = package + "/etc/amd/amdrc"; + "amd/amdapfxx.blb".source = package + "/etc/amd/amdapfxx.blb"; + "gbm/gbm.conf".source = package + "/etc/gbm/gbm.conf"; + "OpenCL/vendors/amdocl64.icd".source = package + "/etc/OpenCL/vendors/amdocl64.icd"; + } // optionalAttrs opengl.driSupport32Bit { + "OpenCL/vendors/amdocl32.icd".source = package32 + "/etc/OpenCL/vendors/amdocl32.icd"; + }; + + }; + +} diff --git a/nixos/modules/hardware/video/bumblebee.nix b/nixos/modules/hardware/video/bumblebee.nix index 69db518ab21c..3ce97ad31c22 100644 --- a/nixos/modules/hardware/video/bumblebee.nix +++ b/nixos/modules/hardware/video/bumblebee.nix @@ -13,6 +13,8 @@ let useDisplayDevice = cfg.connectDisplay; }; + useBbswitch = cfg.pmMethod == "bbswitch"; + primus = pkgs.primus.override { inherit useNvidia; }; @@ -22,58 +24,69 @@ in { options = { - hardware.bumblebee.enable = mkOption { - default = false; - type = types.bool; - description = '' - Enable the bumblebee daemon to manage Optimus hybrid video cards. - This should power off secondary GPU until its use is requested - by running an application with optirun. + hardware.bumblebee = { - Only nvidia driver is supported so far. - ''; - }; - hardware.bumblebee.group = mkOption { - default = "wheel"; - example = "video"; - type = types.str; - description = ''Group for bumblebee socket''; - }; + enable = mkOption { + default = false; + type = types.bool; + description = '' + Enable the bumblebee daemon to manage Optimus hybrid video cards. + This should power off secondary GPU until its use is requested + by running an application with optirun. + ''; + }; - hardware.bumblebee.connectDisplay = mkOption { - default = false; - type = types.bool; - description = '' - Set to true if you intend to connect your discrete card to a - monitor. This option will set up your Nvidia card for EDID - discovery and to turn on the monitor signal. + group = mkOption { + default = "wheel"; + example = "video"; + type = types.str; + description = ''Group for bumblebee socket''; + }; - Only nvidia driver is supported so far. - ''; - }; + connectDisplay = mkOption { + default = false; + type = types.bool; + description = '' + Set to true if you intend to connect your discrete card to a + monitor. This option will set up your Nvidia card for EDID + discovery and to turn on the monitor signal. + + Only nvidia driver is supported so far. + ''; + }; + + driver = mkOption { + default = "nvidia"; + type = types.enum [ "nvidia" "nouveau" ]; + description = '' + Set driver used by bumblebeed. Supported are nouveau and nvidia. + ''; + }; + + pmMethod = mkOption { + default = "auto"; + type = types.enum [ "auto" "bbswitch" "nouveau" "switcheroo" "none" ]; + description = '' + Set preferred power management method for unused card. + ''; + }; - hardware.bumblebee.driver = mkOption { - default = "nvidia"; - type = types.enum [ "nvidia" "nouveau" ]; - description = '' - Set driver used by bumblebeed. Supported are nouveau and nvidia. - ''; }; }; - config = mkIf config.hardware.bumblebee.enable { - boot.blacklistedKernelModules = [ "nouveau" "nvidia" ]; - boot.kernelModules = [ "bbswitch" ]; - boot.extraModulePackages = [ kernel.bbswitch ] ++ optional useNvidia kernel.nvidia_x11; + config = mkIf cfg.enable { + boot.blacklistedKernelModules = [ "nvidia-drm" "nvidia" "nouveau" ]; + boot.kernelModules = optional useBbswitch [ "bbswitch" ]; + boot.extraModulePackages = optional useBbswitch kernel.bbswitch ++ optional useNvidia kernel.nvidia_x11; environment.systemPackages = [ bumblebee primus ]; systemd.services.bumblebeed = { description = "Bumblebee Hybrid Graphics Switcher"; - wantedBy = [ "display-manager.service" ]; - path = [ kernel.bbswitch bumblebee ]; + wantedBy = [ "multi-user.target" ]; + before = [ "display-manager.service" ]; serviceConfig = { - ExecStart = "${bumblebee}/bin/bumblebeed --use-syslog -g ${cfg.group} --driver ${cfg.driver}"; + ExecStart = "${bumblebee}/bin/bumblebeed --use-syslog -g ${cfg.group} --driver ${cfg.driver} --pm-method ${cfg.pmMethod}"; }; }; }; diff --git a/nixos/modules/hardware/video/displaylink.nix b/nixos/modules/hardware/video/displaylink.nix new file mode 100644 index 000000000000..2a9382f39410 --- /dev/null +++ b/nixos/modules/hardware/video/displaylink.nix @@ -0,0 +1,61 @@ +{ config, lib, ... }: + +with lib; + +let + + enabled = elem "displaylink" config.services.xserver.videoDrivers; + + displaylink = config.boot.kernelPackages.displaylink; + +in + +{ + + config = mkIf enabled { + + boot.extraModulePackages = [ displaylink ]; + + boot.kernelModules = [ "evdi" ]; + + # Those are taken from displaylink-installer.sh and from Arch Linux AUR package. + + services.udev.extraRules = '' + ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="17e9", ATTR{bNumInterfaces}=="*5", TAG+="uaccess" + ''; + + powerManagement.powerDownCommands = '' + #flush any bytes in pipe + while read -n 1 -t 1 SUSPEND_RESULT < /tmp/PmMessagesPort_out; do : ; done; + + #suspend DisplayLinkManager + echo "S" > /tmp/PmMessagesPort_in + + #wait until suspend of DisplayLinkManager finish + read -n 1 -t 10 SUSPEND_RESULT < /tmp/PmMessagesPort_out + ''; + + powerManagement.resumeCommands = '' + #resume DisplayLinkManager + echo "R" > /tmp/PmMessagesPort_in + ''; + + systemd.services.displaylink = { + description = "DisplayLink Manager Service"; + after = [ "display-manager.service" ]; + wantedBy = [ "graphical.target" ]; + + serviceConfig = { + ExecStart = "${displaylink}/bin/DisplayLinkManager"; + Restart = "always"; + RestartSec = 5; + }; + + preStart = '' + mkdir -p /var/log/displaylink + ''; + }; + + }; + +} diff --git a/nixos/modules/i18n/input-method/default.nix b/nixos/modules/i18n/input-method/default.nix index f3e568f1dde3..7ed4a584d646 100644 --- a/nixos/modules/i18n/input-method/default.nix +++ b/nixos/modules/i18n/input-method/default.nix @@ -3,26 +3,27 @@ with lib; let cfg = config.i18n.inputMethod; - gtk2_cache = pkgs.stdenv.mkDerivation { - preferLocalBuild = true; - allowSubstitutes = false; - name = "gtk2-immodule.cache"; - buildInputs = [ pkgs.gtk cfg.package ]; - buildCommand = '' + + gtk2_cache = pkgs.runCommand "gtk2-immodule.cache" + { preferLocalBuild = true; + allowSubstitutes = false; + buildInputs = [ pkgs.gtk2 cfg.package ]; + } + '' mkdir -p $out/etc/gtk-2.0/ GTK_PATH=${cfg.package}/lib/gtk-2.0/ gtk-query-immodules-2.0 > $out/etc/gtk-2.0/immodules.cache ''; - }; - gtk3_cache = pkgs.stdenv.mkDerivation { - preferLocalBuild = true; - allowSubstitutes = false; - name = "gtk3-immodule.cache"; - buildInputs = [ pkgs.gtk3 cfg.package ]; - buildCommand = '' + + gtk3_cache = pkgs.runCommand "gtk3-immodule.cache" + { preferLocalBuild = true; + allowSubstitutes = false; + buildInputs = [ pkgs.gtk3 cfg.package ]; + } + '' mkdir -p $out/etc/gtk-3.0/ GTK_PATH=${cfg.package}/lib/gtk-3.0/ gtk-query-immodules-3.0 > $out/etc/gtk-3.0/immodules.cache ''; - }; + in { options.i18n = { diff --git a/nixos/modules/i18n/input-method/default.xml b/nixos/modules/i18n/input-method/default.xml index a32ed100df30..45d6daf068b3 100644 --- a/nixos/modules/i18n/input-method/default.xml +++ b/nixos/modules/i18n/input-method/default.xml @@ -56,8 +56,18 @@ i18n.inputMethod = { Table (ibus-engines.table): An input method that load tables of input methods. table-others (ibus-engines.table-others): - Various table-based input methods. + Various table-based input methods. To use this, and any other table-based + input methods, it must appear in the list of engines along with + table. For example: + +ibus.engines = with pkgs.ibus-engines; [ table table-others ]; + + + +To use any input method, the package must be added in the configuration, + as shown above, and also (after running nixos-rebuild) the + input method must be added from IBus' preference dialog.
Fcitx diff --git a/nixos/modules/i18n/input-method/fcitx.nix b/nixos/modules/i18n/input-method/fcitx.nix index e97bb9f80eb5..440f13b41522 100644 --- a/nixos/modules/i18n/input-method/fcitx.nix +++ b/nixos/modules/i18n/input-method/fcitx.nix @@ -20,10 +20,9 @@ in example = literalExample "with pkgs.fcitx-engines; [ mozc hangul ]"; description = let - engines = - lib.concatStringsSep ", " - (map (name: "${name}") - (lib.attrNames pkgs.fcitx-engines)); + enginesDrv = filterAttrs (const isDerivation) pkgs.fcitx-engines; + engines = concatStringsSep ", " + (map (name: "${name}") (attrNames enginesDrv)); in "Enabled Fcitx engines. Available engines are: ${engines}."; }; diff --git a/nixos/modules/i18n/input-method/ibus.nix b/nixos/modules/i18n/input-method/ibus.nix index 097a662c3c6d..e23e28aa25ef 100644 --- a/nixos/modules/i18n/input-method/ibus.nix +++ b/nixos/modules/i18n/input-method/ibus.nix @@ -17,7 +17,7 @@ let [Desktop Entry] Name=IBus Type=Application - Exec=${ibusPackage}/bin/ibus-daemon --daemonize --xim --cache=refresh + Exec=${ibusPackage}/bin/ibus-daemon --daemonize --xim ''; }; in @@ -30,10 +30,9 @@ in example = literalExample "with pkgs.ibus-engines; [ mozc hangul ]"; description = let - engines = - lib.concatStringsSep ", " - (map (name: "${name}") - (lib.attrNames pkgs.ibus-engines)); + enginesDrv = filterAttrs (const isDerivation) pkgs.ibus-engines; + engines = concatStringsSep ", " + (map (name: "${name}") (attrNames enginesDrv)); in "Enabled IBus engines. Available engines are: ${engines}."; }; diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical-kde.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical-kde.nix index d14768bc1079..c44dff3bb60d 100644 --- a/nixos/modules/installer/cd-dvd/installation-cd-graphical-kde.nix +++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-kde.nix @@ -1,20 +1,41 @@ # This module defines a NixOS installation CD that contains X11 and -# KDE 4. +# KDE 5. { config, lib, pkgs, ... }: with lib; { - imports = [ ./installation-cd-base.nix ../../profiles/graphical.nix ]; + imports = [ ./installation-cd-base.nix ]; - # Provide wicd for easy wireless configuration. - #networking.wicd.enable = true; + services.xserver = { + enable = true; + + # Automatically login as root. + displayManager.slim = { + enable = true; + defaultUser = "root"; + autoLogin = true; + }; + + desktopManager.kde5 = { + enable = true; + enableQt4Support = false; + }; + + # Enable touchpad support for many laptops. + synaptics.enable = true; + }; environment.systemPackages = - [ # Include gparted for partitioning disks. + [ pkgs.glxinfo + + # Include gparted for partitioning disks. pkgs.gparted + # Firefox for reading the manual. + pkgs.firefox + # Include some editors. pkgs.vim pkgs.bvi # binary editor @@ -32,79 +53,21 @@ with lib; # Don't start the X server by default. services.xserver.autorun = mkForce false; - # Auto-login as root. - services.xserver.displayManager.kdm.extraConfig = - '' - [X-*-Core] - AllowRootLogin=true - AutoLoginEnable=true - AutoLoginUser=root - AutoLoginPass="" - ''; - - # Custom kde-workspace adding some icons on the desktop - system.activationScripts.installerDesktop = let - openManual = pkgs.writeScript "nixos-manual.sh" '' - #!${pkgs.stdenv.shell} - cd ${config.system.build.manual.manual}/share/doc/nixos/ - konqueror ./index.html - ''; - desktopFile = pkgs.writeText "nixos-manual.desktop" '' [Desktop Entry] Version=1.0 Type=Application Name=NixOS Manual - Exec=${openManual} - Icon=konqueror + Exec=firefox ${config.system.build.manual.manual}/share/doc/nixos/index.html + Icon=text-html ''; in '' mkdir -p /root/Desktop ln -sfT ${desktopFile} /root/Desktop/nixos-manual.desktop - ln -sfT ${pkgs.kde4.konsole}/share/applications/kde4/konsole.desktop /root/Desktop/konsole.desktop + ln -sfT ${pkgs.kde5.konsole}/share/applications/org.kde.konsole.desktop /root/Desktop/org.kde.konsole.desktop ln -sfT ${pkgs.gparted}/share/applications/gparted.desktop /root/Desktop/gparted.desktop ''; - services.xserver.desktopManager.kde4.kdeWorkspacePackage = let - pkg = pkgs.kde4.kde_workspace; - - plasmaInit = pkgs.writeText "00-defaultLayout.js" '' - loadTemplate("org.kde.plasma-desktop.defaultPanel") - - for (var i = 0; i < screenCount; ++i) { - var desktop = new Activity - desktop.name = i18n("Desktop") - desktop.screen = i - desktop.wallpaperPlugin = 'image' - desktop.wallpaperMode = 'SingleImage' - - var folderview = desktop.addWidget("folderview"); - folderview.writeConfig("url", "desktop:/"); - - //Create more panels for other screens - if (i > 0){ - var panel = new Panel - panel.screen = i - panel.location = 'bottom' - panel.height = screenGeometry(i).height > 1024 ? 35 : 27 - var tasks = panel.addWidget("tasks") - tasks.writeConfig("showOnlyCurrentScreen", true); - } - } - ''; - - in - pkgs.stdenv.mkDerivation { - inherit (pkg) name meta; - - buildCommand = '' - mkdir -p $out - cp -prf ${pkg}/* $out/ - chmod a+w $out/share/apps/plasma-desktop/init - cp -f ${plasmaInit} $out/share/apps/plasma-desktop/init/00-defaultLayout.js - ''; - }; - } diff --git a/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix b/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix index 4641b8fcf9d1..f4122ab0e518 100644 --- a/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix +++ b/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix @@ -1,11 +1,15 @@ # This module defines a small NixOS installation CD. It does not # contain any graphical stuff. -{ config, lib, ... }: +{ config, lib, pkgs, ... }: { imports = [ ./installation-cd-base.nix - ../../profiles/minimal.nix + ]; + + environment.systemPackages = + [ + pkgs.vim ]; } diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix index 4fc8bf5428f8..93dba0d882b8 100644 --- a/nixos/modules/installer/cd-dvd/iso-image.nix +++ b/nixos/modules/installer/cd-dvd/iso-image.nix @@ -178,7 +178,7 @@ in image. It significantly increases image size. Use that when you want to be able to keep all the sources needed to build your system or when you are going to install the system on a computer - with slow on non-existent network connection. + with slow or non-existent network connection. ''; }; @@ -232,8 +232,6 @@ in system.boot.loader.kernelFile = "bzImage"; environment.systemPackages = [ pkgs.grub2 pkgs.grub2_efi pkgs.syslinux ]; - boot.consoleLogLevel = mkDefault 7; - # In stage 1 of the boot, mount the CD as the root FS by label so # that we don't need to know its device. We pass the label of the # root filesystem on the kernel command line, rather than in diff --git a/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix b/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix index 80fb47072286..456ef7c9f541 100644 --- a/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix +++ b/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix @@ -27,7 +27,6 @@ in boot.kernelPackages = pkgs.linuxPackages_latest; boot.kernelParams = ["console=ttyS0,115200n8" "console=ttymxc0,115200n8" "console=ttyAMA0,115200n8" "console=ttyO0,115200n8" "console=tty0"]; - boot.consoleLogLevel = 7; # FIXME: this probably should be in installation-device.nix users.extraUsers.root.initialHashedPassword = ""; diff --git a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix index dc196468139a..e7163f10a3c3 100644 --- a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix +++ b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix @@ -26,7 +26,6 @@ in boot.loader.generic-extlinux-compatible.enable = true; boot.kernelPackages = pkgs.linuxPackages_rpi; - boot.consoleLogLevel = 7; # FIXME: this probably should be in installation-device.nix users.extraUsers.root.initialHashedPassword = ""; diff --git a/nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix b/nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix index d984cb307170..ba84cd51098f 100644 --- a/nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix +++ b/nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix @@ -61,7 +61,7 @@ in pkgs.cryptsetup # needed for dm-crypt volumes # Some networking tools. - pkgs.sshfsFuse + pkgs.sshfs-fuse pkgs.socat pkgs.screen pkgs.wpa_supplicant # !!! should use the wpa module diff --git a/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix b/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix index 9e733241993d..7ec09acd5919 100644 --- a/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix +++ b/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix @@ -55,7 +55,7 @@ in pkgs.cryptsetup # needed for dm-crypt volumes # Some networking tools. - pkgs.sshfsFuse + pkgs.sshfs-fuse pkgs.socat pkgs.screen pkgs.wpa_supplicant # !!! should use the wpa module diff --git a/nixos/modules/installer/netboot/netboot.nix b/nixos/modules/installer/netboot/netboot.nix index 366591a81148..0f6046339b37 100644 --- a/nixos/modules/installer/netboot/netboot.nix +++ b/nixos/modules/installer/netboot/netboot.nix @@ -26,29 +26,43 @@ with lib; # here and it causes a cyclic dependency. boot.loader.grub.enable = false; - boot.initrd.postMountCommands = '' - mkdir -p /mnt-root/nix/store - mount -t squashfs /nix-store.squashfs /mnt-root/nix/store - ''; - # !!! Hack - attributes expected by other modules. system.boot.loader.kernelFile = "bzImage"; environment.systemPackages = [ pkgs.grub2 pkgs.grub2_efi pkgs.syslinux ]; - boot.consoleLogLevel = mkDefault 7; - fileSystems."/" = { fsType = "tmpfs"; options = [ "mode=0755" ]; }; + # In stage 1, mount a tmpfs on top of /nix/store (the squashfs + # image) to make this a live CD. + fileSystems."/nix/.ro-store" = + { fsType = "squashfs"; + device = "../nix-store.squashfs"; + options = [ "loop" ]; + neededForBoot = true; + }; + + fileSystems."/nix/.rw-store" = + { fsType = "tmpfs"; + options = [ "mode=0755" ]; + neededForBoot = true; + }; + + fileSystems."/nix/store" = + { fsType = "unionfs-fuse"; + device = "unionfs"; + options = [ "allow_other" "cow" "nonempty" "chroot=/mnt-root" "max_files=32768" "hide_meta_files" "dirs=/nix/.rw-store=rw:/nix/.ro-store=ro" ]; + }; + boot.initrd.availableKernelModules = [ "squashfs" ]; boot.initrd.kernelModules = [ "loop" ]; # Closures to be copied to the Nix store, namely the init # script and the top-level system configuration directory. - netboot.storeContents = + netboot.storeContents = [ config.system.build.toplevel ]; # Create the squashfs image that contains the Nix store. diff --git a/nixos/modules/installer/tools/auto-upgrade.nix b/nixos/modules/installer/tools/auto-upgrade.nix index b21b80c666aa..dfb43d1a1db9 100644 --- a/nixos/modules/installer/tools/auto-upgrade.nix +++ b/nixos/modules/installer/tools/auto-upgrade.nix @@ -84,7 +84,7 @@ let cfg = config.system.autoUpgrade; in ${config.system.build.nixos-rebuild}/bin/nixos-rebuild switch ${toString cfg.flags} ''; - startAt = optionalString cfg.enable cfg.dates; + startAt = optional cfg.enable cfg.dates; }; }; diff --git a/nixos/modules/installer/tools/nix-fallback-paths.nix b/nixos/modules/installer/tools/nix-fallback-paths.nix new file mode 100644 index 000000000000..ddc624a77de9 --- /dev/null +++ b/nixos/modules/installer/tools/nix-fallback-paths.nix @@ -0,0 +1,5 @@ +{ + x86_64-linux = "/nix/store/m8z91vpfxyszhjpq4wl8m1zwlqik4fkn-nix-1.11.5"; + i686-linux = "/nix/store/vk71likl32igqg6apqsj52ln3vhkq1pa-nix-1.11.5"; + x86_64-darwin = "/nix/store/qfwm0b5qkr8v8gsv9dh2z3arky9p1myg-nix-1.11.5"; +} diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl index 4da752e19050..bb379dafc642 100644 --- a/nixos/modules/installer/tools/nixos-generate-config.pl +++ b/nixos/modules/installer/tools/nixos-generate-config.pl @@ -94,6 +94,21 @@ sub hasCPUFeature { my $cpus = scalar (grep {/^processor\s*:/} (split '\n', $cpuinfo)); +# Determine CPU governor to use +if (-e "/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors") { + my $governors = read_file("/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors"); + # ondemand governor is not available on sandy bridge or later Intel CPUs + my @desired_governors = ("ondemand", "powersave"); + my $e; + + foreach $e (@desired_governors) { + if (index($governors, $e) != -1) { + last if (push @attrs, "powerManagement.cpuFreqGovernor = \"$e\";"); + } + } +} + + # Virtualization support? push @kernelModules, "kvm-intel" if hasCPUFeature "vmx"; push @kernelModules, "kvm-amd" if hasCPUFeature "svm"; @@ -527,8 +542,11 @@ EOF # Use the GRUB 2 boot loader. boot.loader.grub.enable = true; boot.loader.grub.version = 2; + # boot.loader.grub.efiSupport = true; + # boot.loader.grub.efiInstallAsRemovable = true; + # boot.loader.efi.efiSysMountPoint = "/boot/efi"; # Define on which hard drive you want to install Grub. - # boot.loader.grub.device = "/dev/sda"; + # boot.loader.grub.device = "/dev/sda"; # or "nodev" for efi only EOF } diff --git a/nixos/modules/installer/tools/nixos-install.sh b/nixos/modules/installer/tools/nixos-install.sh index 27c03ff9792a..5250edd1500a 100644 --- a/nixos/modules/installer/tools/nixos-install.sh +++ b/nixos/modules/installer/tools/nixos-install.sh @@ -260,7 +260,7 @@ chroot $mountPoint /nix/var/nix/profiles/system/activate # Ask the user to set a root password. -if [ -z "$noRootPasswd" ] && [ -x $mountPoint/var/setuid-wrappers/passwd ] && [ -t 0 ]; then +if [ -z "$noRootPasswd" ] && chroot $mountPoint [ -x /var/setuid-wrappers/passwd ] && [ -t 0 ]; then echo "setting root password..." chroot $mountPoint /var/permissions-wrappers/passwd fi diff --git a/nixos/modules/installer/tools/nixos-option.sh b/nixos/modules/installer/tools/nixos-option.sh index 17c17d05e288..27eacda48a87 100644 --- a/nixos/modules/installer/tools/nixos-option.sh +++ b/nixos/modules/installer/tools/nixos-option.sh @@ -256,7 +256,7 @@ if isOption opt then // optionalAttrs (opt ? default) { inherit (opt) default; } // optionalAttrs (opt ? example) { inherit (opt) example; } // optionalAttrs (opt ? description) { inherit (opt) description; } - // optionalAttrs (opt ? type) { typename = opt.type.name; } + // optionalAttrs (opt ? type) { typename = opt.type.description; } // optionalAttrs (opt ? options) { inherit (opt) options; } // { # to disambiguate the xml output. diff --git a/nixos/modules/installer/tools/nixos-rebuild.sh b/nixos/modules/installer/tools/nixos-rebuild.sh index 803989789838..8e55a4f525f9 100644 --- a/nixos/modules/installer/tools/nixos-rebuild.sh +++ b/nixos/modules/installer/tools/nixos-rebuild.sh @@ -126,9 +126,9 @@ targetHostCmd() { copyToTarget() { if ! [ "$targetHost" = "$buildHost" ]; then if [ -z "$targetHost" ]; then - NIX_SSHOPTS=$SSH_OPTS nix-copy-closure --from "$buildHost" "$1" + NIX_SSHOPTS=$SSHOPTS nix-copy-closure --from "$buildHost" "$1" elif [ -z "$buildHost" ]; then - NIX_SSHOPTS=$SSH_OPTS nix-copy-closure --to "$targetHost" "$1" + NIX_SSHOPTS=$SSHOPTS nix-copy-closure --to "$targetHost" "$1" else buildHostCmd nix-copy-closure --to "$targetHost" "$1" fi @@ -169,7 +169,7 @@ nixBuild() { local drv="$(nix-instantiate "${instArgs[@]}" "${extraBuildFlags[@]}")" if [ -a "$drv" ]; then - NIX_SSHOPTS=$SSH_OPTS nix-copy-closure --to "$buildHost" "$drv" + NIX_SSHOPTS=$SSHOPTS nix-copy-closure --to "$buildHost" "$drv" buildHostCmd nix-store -r "$drv" "${buildArgs[@]}" else echo "nix-instantiate failed" @@ -261,9 +261,9 @@ fi prebuiltNix() { machine="$1" if [ "$machine" = x86_64 ]; then - echo /nix/store/xryr9g56h8yjddp89d6dw12anyb4ch7c-nix-1.10 + echo @nix_x86_64_linux@ elif [[ "$machine" =~ i.86 ]]; then - echo /nix/store/2w92k5wlpspf0q2k9mnf2z42prx3bwmv-nix-1.10 + echo @nix_i686_linux@ else echo "$0: unsupported platform" exit 1 diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix index fc39a653abdc..a35f6ad8ae54 100644 --- a/nixos/modules/installer/tools/tools.nix +++ b/nixos/modules/installer/tools/tools.nix @@ -32,11 +32,15 @@ let "cp refs $out"; }; - nixos-rebuild = makeProg { - name = "nixos-rebuild"; - src = ./nixos-rebuild.sh; - nix = config.nix.package.out; - }; + nixos-rebuild = + let fallback = import ./nix-fallback-paths.nix; in + makeProg { + name = "nixos-rebuild"; + src = ./nixos-rebuild.sh; + nix = config.nix.package.out; + nix_x86_64_linux = fallback.x86_64-linux; + nix_i686_linux = fallback.i686-linux; + }; nixos-generate-config = makeProg { name = "nixos-generate-config"; diff --git a/nixos/modules/installer/virtualbox-demo.nix b/nixos/modules/installer/virtualbox-demo.nix index 49ec08996104..5316cfce906b 100644 --- a/nixos/modules/installer/virtualbox-demo.nix +++ b/nixos/modules/installer/virtualbox-demo.nix @@ -18,5 +18,5 @@ with lib; # Add some more video drivers to give X11 a shot at working in # VMware and QEMU. - services.xserver.videoDrivers = mkOverride 40 [ "virtualbox" "vmware" "cirrus" "vesa" ]; + services.xserver.videoDrivers = mkOverride 40 [ "virtualbox" "vmware" "cirrus" "vesa" "modesetting" ]; } diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index 31c93028bc52..6ab4b24a3491 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -58,7 +58,6 @@ #utmp = 29; # unused ddclient = 30; davfs2 = 31; - privoxy = 32; #disnix = 33; # unused osgi = 34; tor = 35; @@ -74,7 +73,6 @@ rtkit = 45; dovecot2 = 46; dovenull2 = 47; - unbound = 48; prayer = 49; mpd = 50; clamav = 51; @@ -85,7 +83,7 @@ spamd = 56; #networkmanager = 57; # unused nslcd = 58; - #scanner = 59; # unused + scanner = 59; nginx = 60; chrony = 61; #systemd-journal = 62; # unused @@ -120,7 +118,6 @@ minidlna = 91; elasticsearch = 92; tcpcryptd = 93; # tcpcryptd uses a hard-coded uid. We patch it in Nixpkgs to match this choice. - #connman = 94; # unused firebird = 95; #keys = 96; # unused haproxy = 97; @@ -141,7 +138,7 @@ ngircd = 112; btsync = 113; minecraft = 114; - monetdb = 115; + #monetdb = 115; # unused (not packaged), removed 2016-09-19 rippled = 116; murmur = 117; foundationdb = 118; @@ -181,7 +178,6 @@ systemd-timesync = 154; liquidsoap = 155; etcd = 156; - docker-registry = 157; hbase = 158; opentsdb = 159; scollector = 160; @@ -215,7 +211,6 @@ lambdabot = 191; asterisk = 192; plex = 193; - bird = 195; grafana = 196; skydns = 197; ripple-rest = 198; @@ -275,6 +270,18 @@ gocd-server = 252; terraria = 253; mattermost = 254; + prometheus = 255; + telegraf = 256; + gitlab-runner = 257; + postgrey = 258; + hound = 259; + leaps = 260; + ipfs = 261; + stanchion = 262; + riak-cs = 263; + infinoted = 264; + keystone = 265; + glance = 266; # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399! @@ -315,7 +322,6 @@ utmp = 29; #ddclient = 30; # unused davfs2 = 31; - privoxy = 32; disnix = 33; osgi = 34; tor = 35; @@ -331,7 +337,6 @@ #rtkit = 45; # unused dovecot2 = 46; #dovenull = 47; # unused - #unbound = 48; # unused prayer = 49; mpd = 50; clamav = 51; @@ -377,7 +382,6 @@ minidlna = 91; elasticsearch = 92; #tcpcryptd = 93; # unused - connman = 94; firebird = 95; keys = 96; haproxy = 97; @@ -396,7 +400,7 @@ #ngircd = 112; # unused btsync = 113; #minecraft = 114; # unused - monetdb = 115; + #monetdb = 115; # unused (not packaged), removed 2016-09-19 #ripped = 116; # unused #murmur = 117; # unused foundationdb = 118; @@ -436,7 +440,6 @@ systemd-timesync = 154; liquidsoap = 155; #etcd = 156; # unused - #docker-registry = 157; # unused hbase = 158; opentsdb = 159; scollector = 160; @@ -465,10 +468,9 @@ ihaskell = 189; i2p = 190; lambdabot = 191; - #asterisk = 192; # unused + asterisk = 192; plex = 193; sabnzbd = 194; - bird = 195; #grafana = 196; #unused #skydns = 197; #unused #ripple-rest = 198; #unused @@ -520,6 +522,18 @@ gocd-server = 252; terraria = 253; mattermost = 254; + prometheus = 255; + #telegraf = 256; # unused + gitlab-runner = 257; + postgrey = 258; + hound = 259; + leaps = 260; + ipfs = 261; + stanchion = 262; + riak-cs = 263; + infinoted = 264; + keystone = 265; + glance = 266; # 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/locate.nix b/nixos/modules/misc/locate.nix index 27a0fa6cf3d4..3cb5bb1a351a 100644 --- a/nixos/modules/misc/locate.nix +++ b/nixos/modules/misc/locate.nix @@ -15,6 +15,15 @@ in { ''; }; + locate = mkOption { + type = types.package; + default = pkgs.findutils; + example = "pkgs.mlocate"; + description = '' + The locate implementation to use + ''; + }; + interval = mkOption { type = types.str; default = "02:15"; @@ -77,7 +86,7 @@ in { script = '' mkdir -m 0755 -p $(dirname ${toString cfg.output}) - exec updatedb \ + exec ${cfg.locate}/bin/updatedb \ --localuser=${cfg.localuser} \ ${optionalString (!cfg.includeStore) "--prunepaths='/nix/store'"} \ --output=${toString cfg.output} ${concatStringsSep " " cfg.extraFlags} diff --git a/nixos/modules/misc/version.nix b/nixos/modules/misc/version.nix index 2ecdbdbf3925..70cd3fb9766a 100644 --- a/nixos/modules/misc/version.nix +++ b/nixos/modules/misc/version.nix @@ -95,11 +95,11 @@ in nixosVersionSuffix = mkIf (pathIsDirectory gitRepo) (mkDefault (".git." + gitCommitId)); # Note: code names must only increase in alphabetical order. - nixosCodeName = "Flounder"; + nixosCodeName = "Gorilla"; }; # Generate /etc/os-release. See - # http://0pointer.de/public/systemd-man/os-release.html for the + # https://www.freedesktop.org/software/systemd/man/os-release.html for the # format. environment.etc."os-release".text = '' diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 6e69cebf7636..7607af2ae928 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -38,8 +38,10 @@ ./hardware/opengl.nix ./hardware/pcmcia.nix ./hardware/video/amdgpu.nix + ./hardware/video/amdgpu-pro.nix ./hardware/video/ati.nix ./hardware/video/bumblebee.nix + ./hardware/video/displaylink.nix ./hardware/video/nvidia.nix ./hardware/video/webcam/facetimehd.nix ./i18n/input-method/default.nix @@ -59,6 +61,7 @@ ./misc/nixpkgs.nix ./misc/passthru.nix ./misc/version.nix + ./programs/adb.nix ./programs/atop.nix ./programs/bash/bash.nix ./programs/blcr.nix @@ -66,13 +69,17 @@ ./programs/command-not-found/command-not-found.nix ./programs/dconf.nix ./programs/environment.nix - ./programs/freetds.nix ./programs/fish.nix + ./programs/freetds.nix + ./programs/gphoto2.nix + ./programs/info.nix + ./programs/java.nix ./programs/kbdlight.nix ./programs/light.nix ./programs/man.nix ./programs/mosh.nix ./programs/nano.nix + ./programs/oblogout.nix ./programs/screen.nix ./programs/shadow.nix ./programs/shell.nix @@ -81,6 +88,7 @@ ./programs/ssmtp.nix ./programs/tmux.nix ./programs/venus.nix + ./programs/vim.nix ./programs/wvdial.nix ./programs/xfs_quota.nix ./programs/xonsh.nix @@ -113,6 +121,7 @@ ./services/audio/mpd.nix ./services/audio/mopidy.nix ./services/audio/squeezelite.nix + ./services/audio/ympd.nix ./services/backup/almir.nix ./services/backup/bacula.nix ./services/backup/crashplan.nix @@ -125,11 +134,14 @@ ./services/cluster/fleet.nix ./services/cluster/kubernetes.nix ./services/cluster/panamax.nix + ./services/computing/boinc/client.nix ./services/computing/torque/server.nix ./services/computing/torque/mom.nix ./services/computing/slurm/slurm.nix + ./services/continuous-integration/buildbot/master.nix ./services/continuous-integration/buildkite-agent.nix ./services/continuous-integration/hydra/default.nix + ./services/continuous-integration/gitlab-runner.nix ./services/continuous-integration/gocd-agent/default.nix ./services/continuous-integration/gocd-server/default.nix ./services/continuous-integration/jenkins/default.nix @@ -142,7 +154,6 @@ ./services/databases/hbase.nix ./services/databases/influxdb.nix ./services/databases/memcached.nix - ./services/databases/monetdb.nix ./services/databases/mongodb.nix ./services/databases/mysql.nix ./services/databases/neo4j.nix @@ -151,6 +162,8 @@ ./services/databases/postgresql.nix ./services/databases/redis.nix ./services/databases/riak.nix + ./services/databases/riak-cs.nix + ./services/databases/stanchion.nix ./services/databases/virtuoso.nix ./services/desktops/accountsservice.nix ./services/desktops/geoclue2.nix @@ -160,6 +173,7 @@ ./services/desktops/gnome3/gnome-keyring.nix ./services/desktops/gnome3/gnome-online-accounts.nix ./services/desktops/gnome3/gnome-online-miners.nix + ./services/desktops/gnome3/gnome-terminal-server.nix ./services/desktops/gnome3/gnome-user-share.nix ./services/desktops/gnome3/gvfs.nix ./services/desktops/gnome3/seahorse.nix @@ -169,6 +183,7 @@ ./services/desktops/telepathy.nix ./services/development/hoogle.nix ./services/editors/emacs.nix + ./services/editors/infinoted.nix ./services/games/factorio.nix ./services/games/ghost-one.nix ./services/games/minecraft-server.nix @@ -208,10 +223,12 @@ ./services/mail/freepops.nix ./services/mail/mail.nix ./services/mail/mlmmj.nix + ./services/mail/offlineimap.nix ./services/mail/opendkim.nix ./services/mail/opensmtpd.nix ./services/mail/postfix.nix ./services/mail/postsrsd.nix + ./services/mail/postgrey.nix ./services/mail/spamassassin.nix ./services/mail/rspamd.nix ./services/mail/rmilter.nix @@ -230,6 +247,7 @@ ./services/misc/disnix.nix ./services/misc/docker-registry.nix ./services/misc/emby.nix + ./services/misc/errbot.nix ./services/misc/etcd.nix ./services/misc/felix.nix ./services/misc/folding-at-home.nix @@ -239,6 +257,7 @@ ./services/misc/gitolite.nix ./services/misc/gpsd.nix ./services/misc/ihaskell.nix + ./services/misc/leaps.nix ./services/misc/mantisbt.nix ./services/misc/mathics.nix ./services/misc/matrix-synapse.nix @@ -249,6 +268,7 @@ ./services/misc/mwlib.nix ./services/misc/nix-daemon.nix ./services/misc/nix-gc.nix + ./services/misc/nix-optimise.nix ./services/misc/nixos-manual.nix ./services/misc/nix-ssh-serve.nix ./services/misc/nzbget.nix @@ -265,6 +285,7 @@ ./services/misc/siproxd.nix ./services/misc/sonarr.nix ./services/misc/spice-vdagentd.nix + ./services/misc/sssd.nix ./services/misc/subsonic.nix ./services/misc/sundtek.nix ./services/misc/svnserve.nix @@ -286,6 +307,14 @@ ./services/monitoring/monit.nix ./services/monitoring/munin.nix ./services/monitoring/nagios.nix + ./services/monitoring/prometheus/default.nix + ./services/monitoring/prometheus/alertmanager.nix + ./services/monitoring/prometheus/blackbox-exporter.nix + ./services/monitoring/prometheus/json-exporter.nix + ./services/monitoring/prometheus/nginx-exporter.nix + ./services/monitoring/prometheus/node-exporter.nix + ./services/monitoring/prometheus/snmp-exporter.nix + ./services/monitoring/prometheus/varnish-exporter.nix ./services/monitoring/riemann.nix ./services/monitoring/riemann-dash.nix ./services/monitoring/riemann-tools.nix @@ -294,11 +323,14 @@ ./services/monitoring/statsd.nix ./services/monitoring/systemhealth.nix ./services/monitoring/teamviewer.nix + ./services/monitoring/telegraf.nix ./services/monitoring/ups.nix ./services/monitoring/uptime.nix ./services/monitoring/zabbix-agent.nix ./services/monitoring/zabbix-server.nix + ./services/network-filesystems/cachefilesd.nix ./services/network-filesystems/drbd.nix + ./services/network-filesystems/ipfs.nix ./services/network-filesystems/netatalk.nix ./services/network-filesystems/nfsd.nix ./services/network-filesystems/openafs-client/default.nix @@ -326,18 +358,20 @@ ./services/networking/connman.nix ./services/networking/consul.nix ./services/networking/coturn.nix + ./services/networking/dante.nix ./services/networking/ddclient.nix ./services/networking/dhcpcd.nix ./services/networking/dhcpd.nix ./services/networking/dnschain.nix ./services/networking/dnscrypt-proxy.nix ./services/networking/dnsmasq.nix - ./services/networking/docker-registry-server.nix ./services/networking/ejabberd.nix ./services/networking/fan.nix + ./services/networking/fakeroute.nix ./services/networking/ferm.nix ./services/networking/firefox/sync-server.nix ./services/networking/firewall.nix + ./services/networking/flannel.nix ./services/networking/flashpolicyd.nix ./services/networking/freenet.nix ./services/networking/gale.nix @@ -350,6 +384,7 @@ ./services/networking/haproxy.nix ./services/networking/heyefi.nix ./services/networking/hostapd.nix + ./services/networking/htpdate.nix ./services/networking/i2pd.nix ./services/networking/i2p.nix ./services/networking/iodine.nix @@ -364,6 +399,7 @@ ./services/networking/minidlna.nix ./services/networking/miniupnpd.nix ./services/networking/mosquitto.nix + ./services/networking/miredo.nix ./services/networking/mstpd.nix ./services/networking/murmur.nix ./services/networking/namecoind.nix @@ -376,7 +412,6 @@ ./services/networking/ntopng.nix ./services/networking/ntpd.nix ./services/networking/nylon.nix - ./services/networking/offlineimap.nix ./services/networking/oidentd.nix ./services/networking/openfire.nix ./services/networking/openntpd.nix @@ -384,10 +419,12 @@ ./services/networking/ostinato.nix ./services/networking/pdnsd.nix ./services/networking/polipo.nix + ./services/networking/powerdns.nix ./services/networking/pptpd.nix ./services/networking/prayer.nix ./services/networking/privoxy.nix ./services/networking/prosody.nix + ./services/networking/quagga.nix ./services/networking/quassel.nix ./services/networking/racoon.nix ./services/networking/radicale.nix @@ -425,6 +462,7 @@ ./services/networking/wakeonlan.nix ./services/networking/websockify.nix ./services/networking/wicd.nix + ./services/networking/wireguard.nix ./services/networking/wpa_supplicant.nix ./services/networking/xinetd.nix ./services/networking/xl2tpd.nix @@ -438,6 +476,7 @@ ./services/scheduling/fcron.nix ./services/scheduling/marathon.nix ./services/search/elasticsearch.nix + ./services/search/hound.nix ./services/search/kibana.nix ./services/search/solr.nix ./services/security/clamav.nix @@ -454,6 +493,7 @@ ./services/security/torify.nix ./services/security/tor.nix ./services/security/torsocks.nix + ./services/system/cgmanager.nix ./services/system/cloud-init.nix ./services/system/dbus.nix ./services/system/kerberos.nix @@ -461,14 +501,21 @@ ./services/system/uptimed.nix ./services/torrent/deluge.nix ./services/torrent/flexget.nix + ./services/torrent/opentracker.nix ./services/torrent/peerflix.nix ./services/torrent/transmission.nix ./services/ttys/agetty.nix ./services/ttys/gpm.nix ./services/ttys/kmscon.nix + ./services/web-apps/atlassian/confluence.nix + ./services/web-apps/atlassian/crowd.nix + ./services/web-apps/atlassian/jira.nix ./services/web-apps/mattermost.nix + ./services/web-apps/nixbot.nix ./services/web-apps/pump.io.nix ./services/web-apps/tt-rss.nix + ./services/web-apps/selfoss.nix + ./services/web-apps/quassel-webserver.nix ./services/web-servers/apache-httpd/default.nix ./services/web-servers/caddy.nix ./services/web-servers/fcgiwrap.nix @@ -488,6 +535,7 @@ ./services/x11/colord.nix ./services/x11/compton.nix ./services/x11/unclutter.nix + ./services/x11/unclutter-xfixes.nix ./services/x11/desktop-managers/default.nix ./services/x11/display-managers/auto.nix ./services/x11/display-managers/default.nix @@ -501,6 +549,7 @@ ./services/x11/hardware/synaptics.nix ./services/x11/hardware/wacom.nix ./services/x11/redshift.nix + ./services/x11/urxvtd.nix ./services/x11/window-managers/awesome.nix #./services/x11/window-managers/compiz.nix ./services/x11/window-managers/default.nix @@ -543,6 +592,7 @@ ./system/boot/stage-1.nix ./system/boot/stage-2.nix ./system/boot/systemd.nix + ./system/boot/systemd-nspawn.nix ./system/boot/timesyncd.nix ./system/boot/tmp.nix ./system/etc/etc.nix @@ -578,6 +628,7 @@ ./virtualisation/docker.nix ./virtualisation/libvirtd.nix ./virtualisation/lxc.nix + ./virtualisation/lxcfs.nix ./virtualisation/lxd.nix ./virtualisation/amazon-options.nix ./virtualisation/openvswitch.nix @@ -588,4 +639,6 @@ ./virtualisation/vmware-guest.nix ./virtualisation/xen-dom0.nix ./virtualisation/xe-guest-utilities.nix + ./virtualisation/openstack/keystone.nix + ./virtualisation/openstack/glance.nix ] diff --git a/nixos/modules/profiles/base.nix b/nixos/modules/profiles/base.nix index 20a1f7f1ed8c..687cd9d80d36 100644 --- a/nixos/modules/profiles/base.nix +++ b/nixos/modules/profiles/base.nix @@ -7,7 +7,7 @@ # Include some utilities that are useful for installing or repairing # the system. environment.systemPackages = [ - pkgs.w3m # needed for the manual anyway + pkgs.w3m-nox # needed for the manual anyway pkgs.testdisk # useful for repairing boot problems pkgs.mssys # for writing Microsoft boot sectors / MBRs pkgs.efibootmgr @@ -20,7 +20,7 @@ # Some networking tools. pkgs.fuse - pkgs.sshfsFuse + pkgs.sshfs-fuse pkgs.socat pkgs.screen @@ -42,12 +42,10 @@ # Some compression/archiver tools. pkgs.unzip pkgs.zip - pkgs.dar # disk archiver - pkgs.cabextract ]; # Include support for various filesystems. - boot.supportedFilesystems = [ "btrfs" "reiserfs" "vfat" "f2fs" "xfs" "zfs" "ntfs" "cifs" ]; + boot.supportedFilesystems = [ "btrfs" "reiserfs" "vfat" "f2fs" "xfs" "ntfs" "cifs" ]; # Configure host id for ZFS to work networking.hostId = lib.mkDefault "8425e349"; diff --git a/nixos/modules/profiles/installation-device.nix b/nixos/modules/profiles/installation-device.nix index 93736ba256b3..7949e600f86a 100644 --- a/nixos/modules/profiles/installation-device.nix +++ b/nixos/modules/profiles/installation-device.nix @@ -70,5 +70,11 @@ with lib; # the initrd builder. system.extraDependencies = [ pkgs.stdenv pkgs.busybox pkgs.perlPackages.ArchiveCpio ]; + # Show all debug messages from the kernel but don't log refused packets + # because we have the firewall enabled. This makes installs from the + # console less cumbersome if the machine has a public IP. + boot.consoleLogLevel = mkDefault 7; + networking.firewall.logRefusedConnections = mkDefault false; + }; } diff --git a/nixos/modules/profiles/minimal.nix b/nixos/modules/profiles/minimal.nix index c353da227aeb..e2497d04252e 100644 --- a/nixos/modules/profiles/minimal.nix +++ b/nixos/modules/profiles/minimal.nix @@ -11,4 +11,9 @@ with lib; # This isn't perfect, but let's expect the user specifies an UTF-8 defaultLocale i18n.supportedLocales = [ (config.i18n.defaultLocale + "/UTF-8") ]; services.nixosManual.enable = mkDefault false; + + programs.man.enable = mkDefault false; + programs.info.enable = mkDefault false; + + sound.enable = mkDefault false; } diff --git a/nixos/modules/programs/adb.nix b/nixos/modules/programs/adb.nix new file mode 100644 index 000000000000..9ba81899e588 --- /dev/null +++ b/nixos/modules/programs/adb.nix @@ -0,0 +1,30 @@ +{ config, lib, pkgs, ... }: + +with lib; + +{ + meta.maintainers = [ maintainers.mic92 ]; + + ###### interface + options = { + programs.adb = { + enable = mkOption { + default = false; + example = true; + type = types.bool; + description = '' + Whether to configure system to use Android Debug Bridge (adb). + To grant access to a user, it must be part of adbusers group: + users.extraUsers.alice.extraGroups = ["adbusers"]; + ''; + }; + }; + }; + + ###### implementation + config = mkIf config.programs.adb.enable { + services.udev.packages = [ pkgs.android-udev-rules ]; + environment.systemPackages = [ pkgs.androidenv.platformTools ]; + users.extraGroups.adbusers = {}; + }; +} diff --git a/nixos/modules/programs/bash/bash.nix b/nixos/modules/programs/bash/bash.nix index c09bcfb70e24..e23849d350b4 100644 --- a/nixos/modules/programs/bash/bash.nix +++ b/nixos/modules/programs/bash/bash.nix @@ -16,7 +16,7 @@ let # programmable completion. If we do, enable all modules installed in # the system (and user profile). if shopt -q progcomp &>/dev/null; then - . "${pkgs.bashCompletion}/etc/profile.d/bash_completion.sh" + . "${pkgs.bash-completion}/etc/profile.d/bash_completion.sh" nullglobStatus=$(shopt -p nullglob) shopt -s nullglob for p in $NIX_PROFILES; do diff --git a/nixos/modules/programs/gphoto2.nix b/nixos/modules/programs/gphoto2.nix new file mode 100644 index 000000000000..47822562aee1 --- /dev/null +++ b/nixos/modules/programs/gphoto2.nix @@ -0,0 +1,31 @@ +{ config, lib, pkgs, ... }: + +with lib; + +{ + meta.maintainers = [ maintainers.league ]; + + ###### interface + options = { + programs.gphoto2 = { + enable = mkOption { + default = false; + example = true; + type = types.bool; + description = '' + Whether to configure system to use gphoto2. + To grant digital camera access to a user, the user must + be part of the camera group: + users.extraUsers.alice.extraGroups = ["camera"]; + ''; + }; + }; + }; + + ###### implementation + config = mkIf config.programs.gphoto2.enable { + services.udev.packages = [ pkgs.libgphoto2 ]; + environment.systemPackages = [ pkgs.gphoto2 ]; + users.extraGroups.camera = {}; + }; +} diff --git a/nixos/modules/programs/info.nix b/nixos/modules/programs/info.nix new file mode 100644 index 000000000000..be6439dca5ad --- /dev/null +++ b/nixos/modules/programs/info.nix @@ -0,0 +1,30 @@ +{ config, lib, pkgs, ... }: + +with lib; + +{ + + options = { + + programs.info.enable = mkOption { + type = types.bool; + default = true; + description = '' + Whether to enable info pages and the info command. + ''; + }; + + }; + + + config = mkIf config.programs.info.enable { + + environment.systemPackages = [ pkgs.texinfoInteractive ]; + + environment.pathsToLink = [ "/info" "/share/info" ]; + + environment.extraOutputsToInstall = [ "info" ]; + + }; + +} diff --git a/nixos/modules/programs/java.nix b/nixos/modules/programs/java.nix new file mode 100644 index 000000000000..d31698c3b392 --- /dev/null +++ b/nixos/modules/programs/java.nix @@ -0,0 +1,58 @@ +# This module provides JAVA_HOME, with a different way to install java +# system-wide. + +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.programs.java; +in + +{ + + options = { + + programs.java = { + + enable = mkEnableOption "java" // { + description = '' + Install and setup the Java development kit. + + This adds JAVA_HOME to the global environment, by sourcing the + jdk's setup-hook on shell init. It is equivalent to starting a shell + through 'nix-shell -p jdk', or roughly the following system-wide + configuration: + + + environment.variables.JAVA_HOME = ''${pkgs.jdk.home}/lib/openjdk; + environment.systemPackages = [ pkgs.jdk ]; + + + ''; + }; + + package = mkOption { + default = pkgs.jdk; + defaultText = "pkgs.jdk"; + description = '' + Java package to install. Typical values are pkgs.jdk or pkgs.jre. + ''; + type = types.package; + }; + + }; + + }; + + config = mkIf cfg.enable { + + environment.systemPackages = [ cfg.package ]; + + environment.shellInit = '' + test -e ${cfg.package}/nix-support/setup-hook && source ${cfg.package}/nix-support/setup-hook + ''; + + }; + +} diff --git a/nixos/modules/programs/mosh.nix b/nixos/modules/programs/mosh.nix index b478f8e180fa..1c29eddf01d6 100644 --- a/nixos/modules/programs/mosh.nix +++ b/nixos/modules/programs/mosh.nix @@ -9,14 +9,14 @@ let in { options.programs.mosh = { - enable = mkOption { - description = '' - Whether to enable mosh. Note, this will open ports in your firewall! - ''; - default = false; - example = true; - type = lib.types.bool; - }; + enable = mkOption { + description = '' + Whether to enable mosh. Note, this will open ports in your firewall! + ''; + default = false; + example = true; + type = lib.types.bool; + }; }; config = mkIf cfg.enable { diff --git a/nixos/modules/programs/oblogout.nix b/nixos/modules/programs/oblogout.nix new file mode 100644 index 000000000000..79a8ddb7ce37 --- /dev/null +++ b/nixos/modules/programs/oblogout.nix @@ -0,0 +1,160 @@ +# Global configuration for oblogout. + +{ config, lib, pkgs, ... }: + +with lib; + +let cfg = config.programs.oblogout; + +in +{ + ###### interface + + options = { + + programs.oblogout = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to install OBLogout and create /etc/oblogout.conf. + See ${pkgs.oblogout}/share/doc/README. + ''; + }; + + opacity = mkOption { + type = types.int; + default = 70; + description = '' + ''; + }; + + bgcolor = mkOption { + type = types.str; + default = "black"; + description = '' + ''; + }; + + buttontheme = mkOption { + type = types.str; + default = "simplistic"; + description = '' + ''; + }; + + buttons = mkOption { + type = types.str; + default = "cancel, logout, restart, shutdown, suspend, hibernate"; + description = '' + ''; + }; + + cancel = mkOption { + type = types.str; + default = "Escape"; + description = '' + ''; + }; + + shutdown = mkOption { + type = types.str; + default = "S"; + description = '' + ''; + }; + + restart = mkOption { + type = types.str; + default = "R"; + description = '' + ''; + }; + + suspend = mkOption { + type = types.str; + default = "U"; + description = '' + ''; + }; + + logout = mkOption { + type = types.str; + default = "L"; + description = '' + ''; + }; + + lock = mkOption { + type = types.str; + default = "K"; + description = '' + ''; + }; + + hibernate = mkOption { + type = types.str; + default = "H"; + description = '' + ''; + }; + + clogout = mkOption { + type = types.str; + default = "openbox --exit"; + description = '' + ''; + }; + + clock = mkOption { + type = types.str; + default = ""; + description = '' + ''; + }; + + cswitchuser = mkOption { + type = types.str; + default = ""; + description = '' + ''; + }; + }; + }; + + ###### implementation + + config = mkIf cfg.enable { + environment.systemPackages = [ pkgs.oblogout ]; + + environment.etc."oblogout.conf".text = '' + [settings] + usehal = false + + [looks] + opacity = ${toString cfg.opacity} + bgcolor = ${cfg.bgcolor} + buttontheme = ${cfg.buttontheme} + buttons = ${cfg.buttons} + + [shortcuts] + cancel = ${cfg.cancel} + shutdown = ${cfg.shutdown} + restart = ${cfg.restart} + suspend = ${cfg.suspend} + logout = ${cfg.logout} + lock = ${cfg.lock} + hibernate = ${cfg.hibernate} + + [commands] + shutdown = systemctl poweroff + restart = systemctl reboot + suspend = systemctl suspend + hibernate = systemctl hibernate + logout = ${cfg.clogout} + lock = ${cfg.clock} + switchuser = ${cfg.cswitchuser} + ''; + }; +} diff --git a/nixos/modules/programs/shadow.nix b/nixos/modules/programs/shadow.nix index f6f66924f32b..08d96cbcf4b5 100644 --- a/nixos/modules/programs/shadow.nix +++ b/nixos/modules/programs/shadow.nix @@ -99,7 +99,6 @@ in groupdel = { rootOK = true; }; login = { startSession = true; allowNullPassword = true; showMotd = true; updateWtmp = true; }; chpasswd = { rootOK = true; }; - chgpasswd = { rootOK = true; }; }; diff --git a/nixos/modules/programs/ssh.nix b/nixos/modules/programs/ssh.nix index cc835081c9f9..5f4d4dc9475e 100644 --- a/nixos/modules/programs/ssh.nix +++ b/nixos/modules/programs/ssh.nix @@ -56,7 +56,6 @@ in setXAuthLocation = mkOption { type = types.bool; - default = config.services.xserver.enable; description = '' Whether to set the path to xauth for X11-forwarded connections. This causes a dependency on X11 packages. @@ -165,6 +164,9 @@ in config = { + programs.ssh.setXAuthLocation = + mkDefault (config.services.xserver.enable || config.programs.ssh.forwardX11 || config.services.openssh.forwardX11); + assertions = [ { assertion = cfg.forwardX11 -> cfg.setXAuthLocation; message = "cannot enable X11 forwarding without setting XAuth location"; diff --git a/nixos/modules/programs/vim.nix b/nixos/modules/programs/vim.nix new file mode 100644 index 000000000000..8476c1accd31 --- /dev/null +++ b/nixos/modules/programs/vim.nix @@ -0,0 +1,24 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.programs.vim; +in { + options.programs.vim = { + defaultEditor = mkOption { + type = types.bool; + default = false; + example = true; + description = '' + When enabled, installs vim and configures vim to be the default editor + using the EDITOR environment variable. + ''; + }; + }; + + config = mkIf cfg.defaultEditor { + environment.systemPackages = [ pkgs.vim ]; + environment.variables = { EDITOR = mkOverride 900 "vim"; }; + }; +} diff --git a/nixos/modules/programs/zsh/zsh.nix b/nixos/modules/programs/zsh/zsh.nix index 1b8b7a79593e..b4d941a7770c 100644 --- a/nixos/modules/programs/zsh/zsh.nix +++ b/nixos/modules/programs/zsh/zsh.nix @@ -25,7 +25,10 @@ in enable = mkOption { default = false; description = '' - Whether to configure zsh as an interactive shell. + Whether to configure zsh as an interactive shell. To enable zsh for + a particular user, use the + option for that user. To enable zsh system-wide use the + option. ''; type = types.bool; }; @@ -81,6 +84,21 @@ in type = types.bool; }; + enableSyntaxHighlighting = mkOption { + default = false; + description = '' + Enable zsh-syntax-highlighting + ''; + type = types.bool; + }; + + enableAutosuggestions = mkOption { + default = false; + description = '' + Enable zsh-autosuggestions + ''; + }; + }; }; @@ -99,9 +117,9 @@ in interactiveShellInit = '' # history defaults - export SAVEHIST=2000 - export HISTSIZE=2000 - export HISTFILE=$HOME/.zsh_history + SAVEHIST=2000 + HISTSIZE=2000 + HISTFILE=$HOME/.zsh_history setopt HIST_IGNORE_DUPS SHARE_HISTORY HIST_FCNTL_LOCK @@ -117,6 +135,14 @@ in ${if cfg.enableCompletion then "autoload -U compinit && compinit" else ""} + ${optionalString (cfg.enableSyntaxHighlighting) + "source ${pkgs.zsh-syntax-highlighting}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" + } + + ${optionalString (cfg.enableAutosuggestions) + "source ${pkgs.zsh-autosuggestions}/share/zsh-autosuggestions/zsh-autosuggestions.zsh" + } + HELPDIR="${pkgs.zsh}/share/zsh/$ZSH_VERSION/help" ''; @@ -179,7 +205,8 @@ in environment.etc."zinputrc".source = ./zinputrc; environment.systemPackages = [ pkgs.zsh ] - ++ optional cfg.enableCompletion pkgs.nix-zsh-completions; + ++ optional cfg.enableCompletion pkgs.nix-zsh-completions + ++ optional cfg.enableSyntaxHighlighting pkgs.zsh-syntax-highlighting; environment.pathsToLink = optional cfg.enableCompletion "/share/zsh"; diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix index e4584146d6f0..876e54a162cd 100644 --- a/nixos/modules/rename.nix +++ b/nixos/modules/rename.nix @@ -14,7 +14,6 @@ with lib; (mkRenamedOptionModule [ "networking" "enableRT73Firmware" ] [ "networking" "enableRalinkFirmware" ]) (mkRenamedOptionModule [ "services" "cadvisor" "host" ] [ "services" "cadvisor" "listenAddress" ]) - (mkRenamedOptionModule [ "services" "dockerRegistry" "host" ] [ "services" "dockerRegistry" "listenAddress" ]) (mkRenamedOptionModule [ "services" "elasticsearch" "host" ] [ "services" "elasticsearch" "listenAddress" ]) (mkRenamedOptionModule [ "services" "graphite" "api" "host" ] [ "services" "graphite" "api" "listenAddress" ]) (mkRenamedOptionModule [ "services" "graphite" "web" "host" ] [ "services" "graphite" "web" "listenAddress" ]) @@ -30,6 +29,8 @@ with lib; (mkRenamedOptionModule [ "services" "gitlab" "stateDir" ] [ "services" "gitlab" "statePath" ]) (mkRemovedOptionModule [ "services" "gitlab" "satelliteDir" ] "") + (mkRenamedOptionModule [ "services" "clamav" "updater" "config" ] [ "services" "clamav" "updater" "extraConfig" ]) + # Old Grub-related options. (mkRenamedOptionModule [ "boot" "initrd" "extraKernelModules" ] [ "boot" "initrd" "kernelModules" ]) (mkRenamedOptionModule [ "boot" "extraKernelParams" ] [ "boot" "kernelParams" ]) @@ -139,6 +140,29 @@ with lib; # fontconfig-ultimate (mkRenamedOptionModule [ "fonts" "fontconfig" "ultimate" "rendering" ] [ "fonts" "fontconfig" "ultimate" "preset" ]) + # murmur + (mkRenamedOptionModule [ "services" "murmur" "welcome" ] [ "services" "murmur" "welcometext" ]) + + # parsoid + (mkRemovedOptionModule [ "services" "parsoid" "interwikis" ] [ "services" "parsoid" "wikis" ]) + + # tarsnap + (mkRemovedOptionModule [ "services" "tarsnap" "cachedir" ] "Use services.tarsnap.archives..cachedir") + + # alsa + (mkRenamedOptionModule [ "sound" "enableMediaKeys" ] [ "sound" "mediaKeys" "enable" ]) + + # postgrey + (mkMergedOptionModule [ [ "services" "postgrey" "inetAddr" ] [ "services" "postgrey" "inetPort" ] ] [ "services" "postgrey" "socket" ] (config: let + value = p: getAttrFromPath p config; + inetAddr = [ "services" "postgrey" "inetAddr" ]; + inetPort = [ "services" "postgrey" "inetPort" ]; + in + if value inetAddr == null + then { path = "/var/run/postgrey.sock"; } + else { addr = value inetAddr; port = value inetPort; } + )) + # Options that are obsolete and have no replacement. (mkRemovedOptionModule [ "boot" "initrd" "luks" "enable" ] "") (mkRemovedOptionModule [ "programs" "bash" "enable" ] "") @@ -150,7 +174,7 @@ with lib; (mkRemovedOptionModule [ "services" "printing" "cupsFilesConf" ] "") (mkRemovedOptionModule [ "services" "printing" "cupsdConf" ] "") (mkRemovedOptionModule [ "services" "xserver" "startGnuPGAgent" ] - "See the 16.03 release notes for more information.") + "See the 16.09 release notes for more information.") (mkRemovedOptionModule [ "services" "phpfpm" "phpIni" ] "") (mkRemovedOptionModule [ "services" "dovecot2" "package" ] "") ]; diff --git a/nixos/modules/security/acme.nix b/nixos/modules/security/acme.nix index 3dac558b9537..726e54711410 100644 --- a/nixos/modules/security/acme.nix +++ b/nixos/modules/security/acme.nix @@ -129,11 +129,10 @@ in certs = mkOption { default = { }; - type = types.loaOf types.optionSet; + type = with types; loaOf (submodule certOpts); description = '' Attribute set of certificates to get signed and renewed. ''; - options = [ certOpts ]; example = { "example.com" = { webroot = "/var/www/challenges/"; @@ -166,7 +165,8 @@ in ++ concatLists (mapAttrsToList (name: root: [ "-d" (if root == null then name else "${name}:${root}")]) data.extraDomains); acmeService = { description = "Renew ACME Certificate for ${cert}"; - after = [ "network.target" ]; + after = [ "network.target" "network-online.target" ]; + wants = [ "network-online.target" ]; serviceConfig = { Type = "oneshot"; SuccessExitStatus = [ "0" "1" ]; @@ -178,6 +178,7 @@ in path = [ pkgs.simp_le ]; preStart = '' mkdir -p '${cfg.directory}' + chown '${data.user}:${data.group}' '${cfg.directory}' if [ ! -d '${cpath}' ]; then mkdir '${cpath}' fi @@ -282,6 +283,7 @@ in timerConfig = { OnCalendar = cfg.renewInterval; Unit = "acme-${cert}.service"; + Persistent = "yes"; }; }) ); diff --git a/nixos/modules/security/acme.xml b/nixos/modules/security/acme.xml index 15ed4c04a23d..823806f4641b 100644 --- a/nixos/modules/security/acme.xml +++ b/nixos/modules/security/acme.xml @@ -67,31 +67,30 @@ options for the security.acme module.
Using ACME certificates in Nginx -In practice ACME is mostly used for retrieval and renewal of - certificates that will be used in a webserver like Nginx. A configuration for - Nginx that uses the certificates from ACME for - foo.example.com will look similar to: +NixOS supports fetching ACME certificates for you by setting +enableACME = true; in a virtualHost config. We +first create self-signed placeholder certificates in place of the +real ACME certs. The placeholder certs are overwritten when the ACME +certs arrive. For foo.example.com the config would +look like. -services.nginx.httpConfig = '' - server { - server_name foo.example.com; - listen 443 ssl; - ssl_certificate ${config.security.acme.directory}/foo.example.com/fullchain.pem; - ssl_certificate_key ${config.security.acme.directory}/foo.example.com/key.pem; - root /var/www/foo.example.com/; - } -''; +services.nginx = { + enable = true; + virtualHosts = { + "foo.example.com" = { + forceSSL = true; + enableACME = true; + locations."/" = { + root = "/var/www"; + }; + }; + }; +} -Now Nginx will try to use the certificates that will be retrieved by ACME. - ACME needs Nginx (or any other webserver) to function and Nginx needs - the certificates to actually start. For this reason the ACME module - automatically generates self-signed certificates that will be used by Nginx to - start. After that Nginx is used by ACME to retrieve the actual ACME - certificates. security.acme.preliminarySelfsigned can be - used to control whether to generate the self-signed certificates. - +At the moment you still have to restart Nginx after the ACME +certs arrive.
diff --git a/nixos/modules/security/apparmor.nix b/nixos/modules/security/apparmor.nix index 202639f98701..d323a158a4df 100644 --- a/nixos/modules/security/apparmor.nix +++ b/nixos/modules/security/apparmor.nix @@ -18,22 +18,30 @@ in default = []; description = "List of files containing AppArmor profiles."; }; + packages = mkOption { + type = types.listOf types.package; + default = []; + description = "List of packages to be added to apparmor's include path"; + }; }; }; config = mkIf cfg.enable { environment.systemPackages = [ pkgs.apparmor-utils ]; - systemd.services.apparmor = { + systemd.services.apparmor = let + paths = concatMapStrings (s: " -I ${s}/etc/apparmor.d") + ([ pkgs.apparmor-profiles ] ++ cfg.packages); + in { wantedBy = [ "local-fs.target" ]; serviceConfig = { Type = "oneshot"; RemainAfterExit = "yes"; - ExecStart = concatMapStrings (p: - ''${pkgs.apparmor-parser}/bin/apparmor_parser -rKv -I ${pkgs.apparmor-profiles}/etc/apparmor.d "${p}" ; '' + ExecStart = map (p: + ''${pkgs.apparmor-parser}/bin/apparmor_parser -rKv ${paths} "${p}"'' ) cfg.profiles; - ExecStop = concatMapStrings (p: - ''${pkgs.apparmor-parser}/bin/apparmor_parser -Rv "${p}" ; '' + ExecStop = map (p: + ''${pkgs.apparmor-parser}/bin/apparmor_parser -Rv "${p}"'' ) cfg.profiles; }; }; diff --git a/nixos/modules/security/audit.nix b/nixos/modules/security/audit.nix index ebfe594d0c71..7ac21fd96507 100644 --- a/nixos/modules/security/audit.nix +++ b/nixos/modules/security/audit.nix @@ -104,7 +104,11 @@ in { description = "Kernel Auditing"; wantedBy = [ "basic.target" ]; - unitConfig.ConditionVirtualization = "!container"; + unitConfig = { + ConditionVirtualization = "!container"; + ConditionSecurity = [ "audit" ]; + }; + path = [ pkgs.audit ]; diff --git a/nixos/modules/security/ca.nix b/nixos/modules/security/ca.nix index 849530238e7e..67469be18b41 100644 --- a/nixos/modules/security/ca.nix +++ b/nixos/modules/security/ca.nix @@ -4,10 +4,16 @@ with lib; let + cfg = config.security.pki; + + cacertPackage = pkgs.cacert.override { + blacklist = cfg.caCertificateBlacklist; + }; + caCertificates = pkgs.runCommand "ca-certificates.crt" { files = - config.security.pki.certificateFiles ++ - [ (builtins.toFile "extra.crt" (concatStringsSep "\n" config.security.pki.certificates)) ]; + cfg.certificateFiles ++ + [ (builtins.toFile "extra.crt" (concatStringsSep "\n" cfg.certificates)) ]; } '' cat $files > $out @@ -52,11 +58,27 @@ in ''; }; + security.pki.caCertificateBlacklist = mkOption { + type = types.listOf types.str; + default = []; + example = [ + "WoSign" "WoSign China" + "CA WoSign ECC Root" + "Certification Authority of WoSign G2" + ]; + description = '' + A list of blacklisted CA certificate names that won't be imported from + the Mozilla Trust Store into + /etc/ssl/certs/ca-certificates.crt. Use the + names from that file. + ''; + }; + }; config = { - security.pki.certificateFiles = [ "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt" ]; + security.pki.certificateFiles = [ "${cacertPackage}/etc/ssl/certs/ca-bundle.crt" ]; # NixOS canonical location + Debian/Ubuntu/Arch/Gentoo compatibility. environment.etc."ssl/certs/ca-certificates.crt".source = caCertificates; diff --git a/nixos/modules/security/duosec.nix b/nixos/modules/security/duosec.nix index b5e1417fc897..e5b354270153 100644 --- a/nixos/modules/security/duosec.nix +++ b/nixos/modules/security/duosec.nix @@ -73,7 +73,7 @@ in }; failmode = mkOption { - type = types.str; + type = types.enum [ "safe" "enum" ]; default = "safe"; description = '' On service or configuration errors that prevent Duo @@ -115,7 +115,7 @@ in }; prompts = mkOption { - type = types.int; + type = types.enum [ 1 2 3 ]; default = 3; description = '' If a user fails to authenticate with a second factor, Duo @@ -181,13 +181,7 @@ in config = mkIf (cfg.ssh.enable || cfg.pam.enable) { assertions = - [ { assertion = cfg.failmode == "safe" || cfg.failmode == "secure"; - message = "Invalid value for failmode (must be safe or secure)."; - } - { assertion = cfg.prompts == 1 || cfg.prompts == 2 || cfg.prompts == 3; - message = "Invalid value for prompts (must be 1, 2, or 3)."; - } - { assertion = !cfg.pam.enable; + [ { assertion = !cfg.pam.enable; message = "PAM support is currently not implemented."; } ]; diff --git a/nixos/modules/security/grsecurity.nix b/nixos/modules/security/grsecurity.nix index ea1064c2d425..3726b6c78185 100644 --- a/nixos/modules/security/grsecurity.nix +++ b/nixos/modules/security/grsecurity.nix @@ -6,14 +6,6 @@ let cfg = config.security.grsecurity; grsecLockPath = "/proc/sys/kernel/grsecurity/grsec_lock"; - # Ascertain whether ZFS is required for booting the system; grsecurity is - # currently incompatible with ZFS, rendering the system unbootable. - zfsNeededForBoot = filter - (fs: (fs.neededForBoot - || elem fs.mountPoint [ "/" "/nix" "/nix/store" "/var" "/var/log" "/var/lib" "/etc" ]) - && fs.fsType == "zfs") - config.system.build.fileSystems != []; - # Ascertain whether NixOS container support is required containerSupportRequired = config.boot.enableContainers && config.containers != {}; @@ -27,7 +19,14 @@ in options.security.grsecurity = { - enable = mkEnableOption "grsecurity/PaX"; + enable = mkOption { + type = types.bool; + example = true; + default = false; + description = '' + Enable grsecurity/PaX. + ''; + }; lockTunables = mkOption { type = types.bool; @@ -58,19 +57,12 @@ in config = mkIf cfg.enable { - # Allow the user to select a different package set, subject to the stated - # required kernel config - boot.kernelPackages = mkDefault pkgs.linuxPackages_grsec_nixos; + boot.kernelPackages = mkForce pkgs.linuxPackages_grsec_nixos; - boot.kernelParams = optional cfg.disableEfiRuntimeServices "noefi"; + boot.kernelParams = [ "grsec_sysfs_restrict=0" ] + ++ optional cfg.disableEfiRuntimeServices "noefi"; - system.requiredKernelConfig = with config.lib.kernelConfig; - [ (isEnabled "GRKERNSEC") - (isEnabled "PAX") - (isYES "GRKERNSEC_SYSCTL") - (isYES "GRKERNSEC_SYSCTL_DISTRO") - (isNO "GRKERNSEC_NO_RBAC") - ]; + nixpkgs.config.grsecurity = true; # Install PaX related utillities into the system profile. environment.systemPackages = with pkgs; [ gradm paxctl pax-utils ]; @@ -118,26 +110,63 @@ in boot.kernel.sysctl = { # Read-only under grsecurity "kernel.kptr_restrict" = mkForce null; + + # All grsec tunables default to off, those not enabled below are + # *disabled*. We use mkDefault to allow expert users to override + # our choices, but use mkForce where tunables would outright + # conflict with other settings. + + # Enable all chroot restrictions by default (overwritten as + # necessary below) + "kernel.grsecurity.chroot_caps" = mkDefault 1; + "kernel.grsecurity.chroot_deny_bad_rename" = mkDefault 1; + "kernel.grsecurity.chroot_deny_chmod" = mkDefault 1; + "kernel.grsecurity.chroot_deny_chroot" = mkDefault 1; + "kernel.grsecurity.chroot_deny_fchdir" = mkDefault 1; + "kernel.grsecurity.chroot_deny_mknod" = mkDefault 1; + "kernel.grsecurity.chroot_deny_mount" = mkDefault 1; + "kernel.grsecurity.chroot_deny_pivot" = mkDefault 1; + "kernel.grsecurity.chroot_deny_shmat" = mkDefault 1; + "kernel.grsecurity.chroot_deny_sysctl" = mkDefault 1; + "kernel.grsecurity.chroot_deny_unix" = mkDefault 1; + "kernel.grsecurity.chroot_enforce_chdir" = mkDefault 1; + "kernel.grsecurity.chroot_findtask" = mkDefault 1; + "kernel.grsecurity.chroot_restrict_nice" = mkDefault 1; + + # Enable various grsec protections + "kernel.grsecurity.consistent_setxid" = mkDefault 1; + "kernel.grsecurity.deter_bruteforce" = mkDefault 1; + "kernel.grsecurity.fifo_restrictions" = mkDefault 1; + "kernel.grsecurity.harden_ipc" = mkDefault 1; + "kernel.grsecurity.harden_ptrace" = mkDefault 1; + "kernel.grsecurity.harden_tty" = mkDefault 1; + "kernel.grsecurity.ip_blackhole" = mkDefault 1; + "kernel.grsecurity.linking_restrictions" = mkDefault 1; + "kernel.grsecurity.ptrace_readexec" = mkDefault 1; + + # Enable auditing + "kernel.grsecurity.audit_ptrace" = mkDefault 1; + "kernel.grsecurity.forkfail_logging" = mkDefault 1; + "kernel.grsecurity.rwxmap_logging" = mkDefault 1; + "kernel.grsecurity.signal_logging" = mkDefault 1; + "kernel.grsecurity.timechange_logging" = mkDefault 1; } // optionalAttrs config.nix.useSandbox { # chroot(2) restrictions that conflict with sandboxed Nix builds "kernel.grsecurity.chroot_caps" = mkForce 0; + "kernel.grsecurity.chroot_deny_chmod" = mkForce 0; "kernel.grsecurity.chroot_deny_chroot" = mkForce 0; "kernel.grsecurity.chroot_deny_mount" = mkForce 0; "kernel.grsecurity.chroot_deny_pivot" = mkForce 0; - "kernel.grsecurity.chroot_deny_chmod" = mkForce 0; } // optionalAttrs containerSupportRequired { # chroot(2) restrictions that conflict with NixOS lightweight containers + "kernel.grsecurity.chroot_caps" = mkForce 0; "kernel.grsecurity.chroot_deny_chmod" = mkForce 0; "kernel.grsecurity.chroot_deny_mount" = mkForce 0; "kernel.grsecurity.chroot_restrict_nice" = mkForce 0; - "kernel.grsecurity.chroot_caps" = mkForce 0; + # Disable privileged IO by default, unless X is enabled + } // optionalAttrs (!config.services.xserver.enable) { + "kernel.grsecurity.disable_priv_io" = mkDefault 1; }; - assertions = [ - { assertion = !zfsNeededForBoot; - message = "grsecurity is currently incompatible with ZFS"; - } - ]; - }; } diff --git a/nixos/modules/security/grsecurity.xml b/nixos/modules/security/grsecurity.xml index 28415e89bfab..a7bcf4924f01 100644 --- a/nixos/modules/security/grsecurity.xml +++ b/nixos/modules/security/grsecurity.xml @@ -51,6 +51,13 @@ # nixos-rebuild boot # reboot + + Enabling the grsecurity module overrides + , to reduce the risk of + misconfiguration. + describes how to use a custom kernel package set. + + For most users, further configuration should be unnecessary. All users are encouraged to look over before using the system, however. If you experience problems, please refer to @@ -144,9 +151,6 @@ a TCP simultaneous OPEN on that port before the connection is actually established. - /sys hardening: - breaks systemd. - Trusted path execution: a desirable feature, but requires some more work to operate smoothly on NixOS. @@ -201,33 +205,42 @@ - To use a custom kernel with upstream's recommended settings for server - deployments: + To build a custom kernel using upstream's recommended settings for server + deployments, while still using the NixOS module: - boot.kernelPackages = - let - kernel = pkgs.linux_grsec_nixos.override { - extraConfig = '' - GRKERNSEC y - PAX y - GRKERNSEC_CONFIG_AUTO y - GRKERNSEC_CONFIG_SERVER y - GRKERNSEC_CONFIG_SECURITY y - ''; + nixpkgs.config.packageOverrides = super: { + linux_grsec_nixos = super.linux_grsec_nixos.override { + extraConfig = '' + GRKERNSEC_CONFIG_AUTO y + GRKERNSEC_CONFIG_SERVER y + GRKERNSEC_CONFIG_SECURITY y + ''; }; - self = pkgs.linuxPackagesFor kernel self; - in self; + } + + + The wikibook provides an exhaustive listing of kernel configuration options. - The NixOS module makes several assumptions about the kernel and so may be - incompatible with your customised kernel. Most of these assumptions are - encoded as assertions — mismatches should ideally result in a build - failure. Currently, the only way to work around incompatibilities is to - eschew the NixOS module and do all configuration yourself. + The NixOS module makes several assumptions about the kernel and so + may be incompatible with your customised kernel. Currently, the only way + to work around incompatibilities is to eschew the NixOS module. + + If not using the NixOS module, a custom grsecurity package set can + be specified inline instead, as in + + boot.kernelPackages = + let + kernel = pkgs.linux_grsec_nixos.override { + extraConfig = /* as above */; + }; + self = pkgs.linuxPackagesFor kernel self; + in self; + @@ -275,6 +288,10 @@ to override this behavior. + User initiated autoloading of modules (e.g., when + using fuse or loop devices) is disallowed; either load requisite modules + as root or add them to. + Virtualization: KVM is the preferred virtualization solution. Xen, Virtualbox, and VMWare are unsupported and most likely require a custom kernel. @@ -308,6 +325,19 @@ + + The gitlab service () + requires a variant of the ruby interpreter + built without `mprotect()` hardening, as in + + services.gitlab.packages.gitlab = pkgs.gitlab.override { + ruby = pkgs.ruby.overrideAttrs (attrs: { + postFixup = "paxmark m $out/bin/ruby"; + }); + }; + + + @@ -330,13 +360,19 @@ pax_sanitize_slab={off|fast|full}: control kernel - slab object sanitization + slab object sanitization. Defaults to fast pax_size_overflow_report_only: log size overflow violations but leave the violating task running + + + grsec_sysfs_restrict=[0|1]: toggle sysfs + restrictions. The NixOS module sets this to 0 + for systemd compatibility + diff --git a/nixos/modules/security/hidepid.nix b/nixos/modules/security/hidepid.nix index 8f2df380cfe8..96443fda758c 100644 --- a/nixos/modules/security/hidepid.nix +++ b/nixos/modules/security/hidepid.nix @@ -2,24 +2,26 @@ with lib; { - options = { - security.hideProcessInformation = mkEnableOption "" // { description = '' - Restrict access to process information to the owning user. Enabling - this option implies, among other things, that command-line arguments - remain private. This option is recommended for most systems, unless - there's a legitimate reason for allowing unprivileged users to inspect - the process information of other users. + meta = { + maintainers = [ maintainers.joachifm ]; + doc = ./hidepid.xml; + }; - Members of the group "proc" are exempt from process information hiding. - To allow a service to run without process information hiding, add "proc" - to its supplementary groups via - . - ''; }; + options = { + security.hideProcessInformation = mkOption { + type = types.bool; + default = false; + description = '' + Restrict process information to the owning user. + ''; + }; }; config = mkIf config.security.hideProcessInformation { users.groups.proc.gid = config.ids.gids.proc; + users.groups.proc.members = [ "polkituser" ]; boot.specialFileSystems."/proc".options = [ "hidepid=2" "gid=${toString config.ids.gids.proc}" ]; + systemd.services.systemd-logind.serviceConfig.SupplementaryGroups = [ "proc" ]; }; } diff --git a/nixos/modules/security/hidepid.xml b/nixos/modules/security/hidepid.xml new file mode 100644 index 000000000000..5715ee7ac165 --- /dev/null +++ b/nixos/modules/security/hidepid.xml @@ -0,0 +1,33 @@ + + + Hiding process information + + + Setting + + security.hideProcessInformation = true; + + ensures that access to process information is restricted to the + owning user. This implies, among other things, that command-line + arguments remain private. Unless your deployment relies on unprivileged + users being able to inspect the process information of other users, this + option should be safe to enable. + + + + Members of the proc group are exempt from process + information hiding. + + + + To allow a service foo to run without process information hiding, set + + systemd.services.foo.serviceConfig.SupplementaryGroups = [ "proc" ]; + + + + diff --git a/nixos/modules/security/pam.nix b/nixos/modules/security/pam.nix index 1c5e6862da68..c5088b64bb31 100644 --- a/nixos/modules/security/pam.nix +++ b/nixos/modules/security/pam.nix @@ -105,6 +105,16 @@ let ''; }; + setEnvironment = mkOption { + type = types.bool; + default = true; + description = '' + Whether the service should set the environment variables + listed in + using pam_env.so. + ''; + }; + setLoginUid = mkOption { type = types.bool; description = '' @@ -223,6 +233,8 @@ let account sufficient pam_unix.so ${optionalString use_ldap "account sufficient ${pam_ldap}/lib/security/pam_ldap.so"} + ${optionalString config.services.sssd.enable + "account sufficient ${pkgs.sssd}/lib/security/pam_sss.so"} ${optionalString config.krb5.enable "account sufficient ${pam_krb5}/lib/security/pam_krb5.so"} @@ -263,6 +275,8 @@ let "auth sufficient ${pkgs.oathToolkit}/lib/security/pam_oath.so window=${toString oath.window} usersfile=${toString oath.usersFile} digits=${toString oath.digits}"} ${optionalString use_ldap "auth sufficient ${pam_ldap}/lib/security/pam_ldap.so use_first_pass"} + ${optionalString config.services.sssd.enable + "auth sufficient ${pkgs.sssd}/lib/security/pam_sss.so use_first_pass"} ${optionalString config.krb5.enable '' auth [default=ignore success=1 service_err=reset] ${pam_krb5}/lib/security/pam_krb5.so use_first_pass auth [default=die success=done] ${pam_ccreds}/lib/security/pam_ccreds.so action=validate use_first_pass @@ -278,26 +292,32 @@ let "password optional ${pkgs.pam_mount}/lib/security/pam_mount.so"} ${optionalString use_ldap "password sufficient ${pam_ldap}/lib/security/pam_ldap.so"} + ${optionalString config.services.sssd.enable + "password sufficient ${pkgs.sssd}/lib/security/pam_sss.so use_authtok"} ${optionalString config.krb5.enable "password sufficient ${pam_krb5}/lib/security/pam_krb5.so use_first_pass"} ${optionalString config.services.samba.syncPasswordsByPam "password optional ${pkgs.samba}/lib/security/pam_smbpass.so nullok use_authtok try_first_pass"} # Session management. - session required pam_env.so envfile=${config.system.build.pamEnvironment} + ${optionalString cfg.setEnvironment '' + session required pam_env.so envfile=${config.system.build.pamEnvironment} + ''} session required pam_unix.so ${optionalString cfg.setLoginUid "session ${ if config.boot.isContainer then "optional" else "required" } pam_loginuid.so"} ${optionalString cfg.makeHomeDir - "session required ${pkgs.pam}/lib/security/pam_mkhomedir.so silent skel=/etc/skel umask=0022"} + "session required ${pkgs.pam}/lib/security/pam_mkhomedir.so silent skel=${config.security.pam.makeHomeDir.skelDirectory} umask=0022"} ${optionalString cfg.updateWtmp "session required ${pkgs.pam}/lib/security/pam_lastlog.so silent"} ${optionalString config.security.pam.enableEcryptfs "session optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so"} ${optionalString use_ldap "session optional ${pam_ldap}/lib/security/pam_ldap.so"} + ${optionalString config.services.sssd.enable + "session optional ${pkgs.sssd}/lib/security/pam_sss.so"} ${optionalString config.krb5.enable "session optional ${pam_krb5}/lib/security/pam_krb5.so"} ${optionalString cfg.otpwAuth @@ -374,8 +394,7 @@ in security.pam.services = mkOption { default = []; - type = types.loaOf types.optionSet; - options = [ pamOpts ]; + type = with types; loaOf (submodule pamOpts); description = '' This option defines the PAM services. A service typically @@ -386,6 +405,16 @@ in ''; }; + security.pam.makeHomeDir.skelDirectory = mkOption { + type = types.str; + default = "/var/empty"; + example = "/etc/skel"; + description = '' + Path to skeleton directory whose contents are copied to home + directories newly created by pam_mkhomedir. + ''; + }; + security.pam.enableSSHAgentAuth = mkOption { default = false; description = @@ -436,6 +465,7 @@ in # Include the PAM modules in the system path mostly for the manpages. [ pkgs.pam ] ++ optional config.users.ldap.enable pam_ldap + ++ optional config.services.sssd.enable pkgs.sssd ++ optionals config.krb5.enable [pam_krb5 pam_ccreds] ++ optionals config.security.pam.enableOTPW [ pkgs.otpw ] ++ optionals config.security.pam.oath.enable [ pkgs.oathToolkit ] @@ -495,6 +525,13 @@ in vlock = {}; xlock = {}; xscreensaver = {}; + + runuser = { rootOK = true; unixAuth = false; setEnvironment = false; }; + + /* FIXME: should runuser -l start a systemd session? Currently + it complains "Cannot create session: Already running in a + session". */ + runuser-l = { rootOK = true; unixAuth = false; }; }; }; diff --git a/nixos/modules/security/permissions-wrappers/setuid-wrappers.nix b/nixos/modules/security/permissions-wrappers/setuid-wrappers.nix index e1dca477d70a..fe220c94313f 100644 --- a/nixos/modules/security/permissions-wrappers/setuid-wrappers.nix +++ b/nixos/modules/security/permissions-wrappers/setuid-wrappers.nix @@ -117,6 +117,7 @@ in mkdir -p /run/setuid-wrapper-dirs wrapperDir=$(mktemp --directory --tmpdir=/run/setuid-wrapper-dirs setuid-wrappers.XXXXXXXXXX) + chmod a+rx $wrapperDir ${concatMapStrings makeSetuidWrapper setuidPrograms} @@ -131,7 +132,7 @@ in # Compatibility with old state, just remove the folder and symlink rm -f ${wrapperDir}/* # if it happens to be a tmpfs - umount ${wrapperDir} || true + ${pkgs.utillinux}/bin/umount ${wrapperDir} || true rm -d ${wrapperDir} ln -d --symbolic $wrapperDir ${wrapperDir} else diff --git a/nixos/modules/security/rngd.nix b/nixos/modules/security/rngd.nix index b14ea7a5f276..3a1ffc55e5fe 100644 --- a/nixos/modules/security/rngd.nix +++ b/nixos/modules/security/rngd.nix @@ -18,7 +18,7 @@ with lib; config = mkIf config.security.rngd.enable { services.udev.extraRules = '' KERNEL=="random", TAG+="systemd" - SUBSYSTEM=="cpu", ENV{MODALIAS}=="x86cpu:*feature:*009E*", TAG+="systemd", ENV{SYSTEMD_WANTS}+="rngd.service" + SUBSYSTEM=="cpu", ENV{MODALIAS}=="cpu:type:x86,*feature:*009E*", TAG+="systemd", ENV{SYSTEMD_WANTS}+="rngd.service" KERNEL=="hw_random", TAG+="systemd", ENV{SYSTEMD_WANTS}+="rngd.service" ${if config.services.tcsd.enable then "" else ''KERNEL=="tpm0", TAG+="systemd", ENV{SYSTEMD_WANTS}+="rngd.service"''} ''; diff --git a/nixos/modules/security/sudo.nix b/nixos/modules/security/sudo.nix index 8a8f1525df40..652f23c2938f 100644 --- a/nixos/modules/security/sudo.nix +++ b/nixos/modules/security/sudo.nix @@ -74,7 +74,7 @@ in Defaults env_keep+=SSH_AUTH_SOCK # "root" is allowed to do anything. - root ALL=(ALL) SETENV: ALL + root ALL=(ALL:ALL) SETENV: ALL # Users in the "wheel" group can do anything. %wheel ALL=(ALL:ALL) ${if cfg.wheelNeedsPassword then "" else "NOPASSWD: ALL, "}SETENV: ALL diff --git a/nixos/modules/services/audio/alsa.nix b/nixos/modules/services/audio/alsa.nix index c63f4dc8d7f1..53786dbc6270 100644 --- a/nixos/modules/services/audio/alsa.nix +++ b/nixos/modules/services/audio/alsa.nix @@ -33,16 +33,6 @@ in ''; }; - enableMediaKeys = mkOption { - type = types.bool; - default = false; - description = '' - Whether to enable volume and capture control with keyboard media keys. - - Enabling this will turn on . - ''; - }; - extraConfig = mkOption { type = types.lines; default = ""; @@ -54,6 +44,31 @@ in ''; }; + mediaKeys = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable volume and capture control with keyboard media keys. + + Enabling this will turn on . + ''; + }; + + volumeStep = mkOption { + type = types.string; + default = "1"; + example = "1%"; + description = '' + The value by which to increment/decrement volume on media keys. + + See amixer(1) for allowed values. + ''; + }; + + }; + }; }; @@ -90,17 +105,17 @@ in }; }; - services.actkbd = mkIf config.sound.enableMediaKeys { + services.actkbd = mkIf config.sound.mediaKeys.enable { enable = true; bindings = [ # "Mute" media key { keys = [ 113 ]; events = [ "key" ]; command = "${alsaUtils}/bin/amixer -q set Master toggle"; } # "Lower Volume" media key - { keys = [ 114 ]; events = [ "key" "rep" ]; command = "${alsaUtils}/bin/amixer -q set Master 1- unmute"; } + { keys = [ 114 ]; events = [ "key" "rep" ]; command = "${alsaUtils}/bin/amixer -q set Master ${config.sound.mediaKeys.volumeStep}- unmute"; } # "Raise Volume" media key - { keys = [ 115 ]; events = [ "key" "rep" ]; command = "${alsaUtils}/bin/amixer -q set Master 1+ unmute"; } + { keys = [ 115 ]; events = [ "key" "rep" ]; command = "${alsaUtils}/bin/amixer -q set Master ${config.sound.mediaKeys.volumeStep}+ unmute"; } # "Mic Mute" media key { keys = [ 190 ]; events = [ "key" ]; command = "${alsaUtils}/bin/amixer -q set Capture toggle"; } diff --git a/nixos/modules/services/audio/mopidy.nix b/nixos/modules/services/audio/mopidy.nix index 029b14ab4726..c0a0f0374294 100644 --- a/nixos/modules/services/audio/mopidy.nix +++ b/nixos/modules/services/audio/mopidy.nix @@ -21,13 +21,7 @@ in { services.mopidy = { - enable = mkOption { - default = false; - type = types.bool; - description = '' - Whether to enable Mopidy, a music player daemon. - ''; - }; + enable = mkEnableOption "Mopidy, a music player daemon"; dataDir = mkOption { default = "/var/lib/mopidy"; diff --git a/nixos/modules/services/audio/mpd.nix b/nixos/modules/services/audio/mpd.nix index 5d5fef667941..a89215d73828 100644 --- a/nixos/modules/services/audio/mpd.nix +++ b/nixos/modules/services/audio/mpd.nix @@ -33,6 +33,7 @@ in { services.mpd = { enable = mkOption { + type = types.bool; default = false; description = '' Whether to enable MPD, the music player daemon. @@ -40,6 +41,7 @@ in { }; musicDirectory = mkOption { + type = types.path; default = "${cfg.dataDir}/music"; description = '' The directory where mpd reads music from. @@ -47,6 +49,7 @@ in { }; extraConfig = mkOption { + type = types.lines; default = ""; description = '' Extra directives added to to the end of MPD's configuration file, @@ -56,6 +59,7 @@ in { }; dataDir = mkOption { + type = types.path; default = "/var/lib/mpd"; description = '' The directory where MPD stores its state, tag cache, @@ -64,11 +68,13 @@ in { }; user = mkOption { + type = types.str; default = "mpd"; description = "User account under which MPD runs."; }; group = mkOption { + type = types.str; default = "mpd"; description = "Group account under which MPD runs."; }; @@ -76,15 +82,17 @@ in { network = { listenAddress = mkOption { - default = "any"; + type = types.str; + default = "127.0.0.1"; + example = "any"; description = '' - This setting sets the address for the daemon to listen on. Careful attention - should be paid if this is assigned to anything other then the default, any. - This setting can deny access to control of the daemon. + The address for the daemon to listen on. + Use any to listen on all addresses. ''; }; port = mkOption { + type = types.int; default = 6600; description = '' This setting is the TCP port that is desired for the daemon to get assigned @@ -114,12 +122,12 @@ in { after = [ "network.target" "sound.target" ]; description = "Music Player Daemon"; wantedBy = [ "multi-user.target" ]; - path = [ pkgs.mpd ]; + preStart = "mkdir -p ${cfg.dataDir} && chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir}"; - script = "exec mpd --no-daemon ${mpdConf}"; serviceConfig = { User = "${cfg.user}"; PermissionsStartOnly = true; + ExecStart = "${pkgs.mpd}/bin/mpd --no-daemon ${mpdConf}"; }; }; diff --git a/nixos/modules/services/audio/ympd.nix b/nixos/modules/services/audio/ympd.nix new file mode 100644 index 000000000000..d34c1c9d83cc --- /dev/null +++ b/nixos/modules/services/audio/ympd.nix @@ -0,0 +1,57 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.ympd; +in { + + ###### interface + + options = { + + services.ympd = { + + enable = mkEnableOption "ympd, the MPD Web GUI"; + + webPort = mkOption { + type = types.string; + default = "8080"; + description = "The port where ympd's web interface will be available."; + example = "ssl://8080:/path/to/ssl-private-key.pem"; + }; + + mpd = { + host = mkOption { + type = types.string; + default = "localhost"; + description = "The host where MPD is listening."; + example = "localhost"; + }; + + port = mkOption { + type = types.int; + default = config.services.mpd.network.port; + description = "The port where MPD is listening."; + example = 6600; + }; + }; + + }; + + }; + + + ###### implementation + + config = mkIf cfg.enable { + + systemd.services.ympd = { + description = "Standalone MPD Web GUI written in C"; + wantedBy = [ "multi-user.target" ]; + serviceConfig.ExecStart = "${pkgs.ympd}/bin/ympd --host ${cfg.mpd.host} --port ${toString cfg.mpd.port} --webport ${cfg.webPort} --user nobody"; + }; + + }; + +} diff --git a/nixos/modules/services/backup/bacula.nix b/nixos/modules/services/backup/bacula.nix index 8a26aae75fe9..340b0cf07234 100644 --- a/nixos/modules/services/backup/bacula.nix +++ b/nixos/modules/services/backup/bacula.nix @@ -198,8 +198,7 @@ in { description = '' This option defines director resources in Bacula File Daemon. ''; - type = types.attrsOf types.optionSet; - options = [ directorOptions ]; + type = with types; attrsOf (submodule directorOptions); }; extraClientConfig = mkOption { @@ -253,8 +252,7 @@ in { description = '' This option defines Director resources in Bacula Storage Daemon. ''; - type = types.attrsOf types.optionSet; - options = [ directorOptions ]; + type = with types; attrsOf (submodule directorOptions); }; device = mkOption { @@ -262,8 +260,7 @@ in { description = '' This option defines Device resources in Bacula Storage Daemon. ''; - type = types.attrsOf types.optionSet; - options = [ deviceOptions ]; + type = with types; attrsOf (submodule deviceOptions); }; extraStorageConfig = mkOption { @@ -343,6 +340,7 @@ in { extraConfig = mkOption { default = ""; + type = types.lines; description = '' Extra configuration for Bacula Director Daemon. ''; diff --git a/nixos/modules/services/backup/crashplan.nix b/nixos/modules/services/backup/crashplan.nix index 38cf8eb72fb8..d0af2e416b63 100644 --- a/nixos/modules/services/backup/crashplan.nix +++ b/nixos/modules/services/backup/crashplan.nix @@ -49,7 +49,7 @@ with lib; ensureDir ${crashplan.vardir}/backupArchives 700 ensureDir ${crashplan.vardir}/log 777 cp -avn ${crashplan}/conf.template/* ${crashplan.vardir}/conf - for x in app.asar bin EULA.txt install.vars lang lib libjniwrap64.so libjniwrap.so libjtux64.so libjtux.so libmd564.so libmd5.so share skin upgrade; do + for x in app.asar bin install.vars lang lib libc42archive64.so libc52archive.so libjniwrap64.so libjniwrap.so libjtux64.so libjtux.so libleveldb64.so libleveldb.so libmd564.so libmd5.so share skin upgrade; do rm -f ${crashplan.vardir}/$x; ln -sf ${crashplan}/$x ${crashplan.vardir}/$x; done diff --git a/nixos/modules/services/backup/rsnapshot.nix b/nixos/modules/services/backup/rsnapshot.nix index ce628a720363..16815bcc8605 100644 --- a/nixos/modules/services/backup/rsnapshot.nix +++ b/nixos/modules/services/backup/rsnapshot.nix @@ -7,11 +7,14 @@ let cfgfile = pkgs.writeText "rsnapshot.conf" '' config_version 1.2 cmd_cp ${pkgs.coreutils}/bin/cp + cmd_rm ${pkgs.coreutils}/bin/rm cmd_rsync ${pkgs.rsync}/bin/rsync cmd_ssh ${pkgs.openssh}/bin/ssh cmd_logger ${pkgs.inetutils}/bin/logger cmd_du ${pkgs.coreutils}/bin/du + cmd_rsnapshot_diff ${pkgs.rsnapshot}/bin/rsnapshot-diff lockfile /run/rsnapshot.pid + link_dest 1 ${cfg.extraConfig} ''; diff --git a/nixos/modules/services/backup/tarsnap.nix b/nixos/modules/services/backup/tarsnap.nix index 24892a2a59a1..67112343c335 100644 --- a/nixos/modules/services/backup/tarsnap.nix +++ b/nixos/modules/services/backup/tarsnap.nix @@ -1,25 +1,25 @@ -{ config, lib, pkgs, ... }: +{ config, lib, pkgs, utils, ... }: with lib; let - cfg = config.services.tarsnap; + gcfg = config.services.tarsnap; configFile = name: cfg: '' - cachedir ${config.services.tarsnap.cachedir}/${name} - keyfile ${cfg.keyfile} + keyfile ${cfg.keyfile} + ${optionalString (cfg.cachedir != null) "cachedir ${cfg.cachedir}"} ${optionalString cfg.nodump "nodump"} ${optionalString cfg.printStats "print-stats"} ${optionalString cfg.printStats "humanize-numbers"} ${optionalString (cfg.checkpointBytes != null) ("checkpoint-bytes "+cfg.checkpointBytes)} ${optionalString cfg.aggressiveNetworking "aggressive-networking"} - ${concatStringsSep "\n" (map (v: "exclude "+v) cfg.excludes)} - ${concatStringsSep "\n" (map (v: "include "+v) cfg.includes)} + ${concatStringsSep "\n" (map (v: "exclude ${v}") cfg.excludes)} + ${concatStringsSep "\n" (map (v: "include ${v}") cfg.includes)} ${optionalString cfg.lowmem "lowmem"} ${optionalString cfg.verylowmem "verylowmem"} - ${optionalString (cfg.maxbw != null) ("maxbw "+toString cfg.maxbw)} - ${optionalString (cfg.maxbwRateUp != null) ("maxbw-rate-up "+toString cfg.maxbwRateUp)} - ${optionalString (cfg.maxbwRateDown != null) ("maxbw-rate-down "+toString cfg.maxbwRateDown)} + ${optionalString (cfg.maxbw != null) "maxbw ${toString cfg.maxbw}"} + ${optionalString (cfg.maxbwRateUp != null) "maxbw-rate-up ${toString cfg.maxbwRateUp}"} + ${optionalString (cfg.maxbwRateDown != null) "maxbw-rate-down ${toString cfg.maxbwRateDown}"} ''; in { @@ -60,34 +60,13 @@ in ''; }; - cachedir = mkOption { - type = types.nullOr types.path; - default = "/var/cache/tarsnap"; - description = '' - The cache allows tarsnap to identify previously stored data - blocks, reducing archival time and bandwidth usage. - - Should the cache become desynchronized or corrupted, tarsnap - will refuse to run until you manually rebuild the cache with - tarsnap --fsck. - - Note that each individual archive (specified below) has its own cache - directory specified under cachedir; this is because - tarsnap locks the cache during backups, meaning multiple services - archives cannot be backed up concurrently or overlap with a shared - cache. - - Set to null to disable caching. - ''; - }; - archives = mkOption { - type = types.attrsOf (types.submodule ( + type = types.attrsOf (types.submodule ({ config, ... }: { options = { keyfile = mkOption { type = types.str; - default = config.services.tarsnap.keyfile; + default = gcfg.keyfile; description = '' Set a specific keyfile for this archive. This defaults to "/root/tarsnap.key" if left unspecified. @@ -107,6 +86,21 @@ in ''; }; + cachedir = mkOption { + type = types.nullOr types.path; + default = "/var/cache/tarsnap/${utils.escapeSystemdPath config.keyfile}"; + description = '' + The cache allows tarsnap to identify previously stored data + blocks, reducing archival time and bandwidth usage. + + Should the cache become desynchronized or corrupted, tarsnap + will refuse to run until you manually rebuild the cache with + tarsnap --fsck. + + Set to null to disable caching. + ''; + }; + nodump = mkOption { type = types.bool; default = true; @@ -249,7 +243,7 @@ in }; gamedata = - { directories = [ "/var/lib/minecraft "]; + { directories = [ "/var/lib/minecraft" ]; period = "*:30"; }; } @@ -262,8 +256,8 @@ in archive names are suffixed by a 1 second resolution timestamp. For each member of the set is created a timer which triggers the - instanced tarsnap@ service unit. You may use - systemctl start tarsnap@archive-name to + instanced tarsnap-archive-name service unit. You may use + systemctl start tarsnap-archive-name to manually trigger creation of archive-name at any time. ''; @@ -271,63 +265,73 @@ in }; }; - config = mkIf cfg.enable { + config = mkIf gcfg.enable { assertions = (mapAttrsToList (name: cfg: { assertion = cfg.directories != []; message = "Must specify paths for tarsnap to back up"; - }) cfg.archives) ++ + }) gcfg.archives) ++ (mapAttrsToList (name: cfg: { assertion = !(cfg.lowmem && cfg.verylowmem); message = "You cannot set both lowmem and verylowmem"; - }) cfg.archives); + }) gcfg.archives); - systemd.services."tarsnap@" = { - description = "Tarsnap archive '%i'"; - requires = [ "network-online.target" ]; - after = [ "network-online.target" ]; + systemd.services = + mapAttrs' (name: cfg: nameValuePair "tarsnap-${name}" { + description = "Tarsnap archive '${name}'"; + requires = [ "network-online.target" ]; + after = [ "network-online.target" ]; - path = [ pkgs.iputils pkgs.tarsnap pkgs.coreutils ]; + path = [ pkgs.iputils pkgs.tarsnap pkgs.utillinux ]; - # In order for the persistent tarsnap timer to work reliably, we have to - # make sure that the tarsnap server is reachable after systemd starts up - # the service - therefore we sleep in a loop until we can ping the - # endpoint. - preStart = "while ! ping -q -c 1 v1-0-0-server.tarsnap.com &> /dev/null; do sleep 3; done"; - scriptArgs = "%i"; - script = '' - mkdir -p -m 0755 ${dirOf cfg.cachedir} - mkdir -p -m 0700 ${cfg.cachedir} - chown root:root ${cfg.cachedir} - chmod 0700 ${cfg.cachedir} - mkdir -p -m 0700 ${cfg.cachedir}/$1 - DIRS=`cat /etc/tarsnap/$1.dirs` - exec tarsnap --configfile /etc/tarsnap/$1.conf -c -f $1-$(date +"%Y%m%d%H%M%S") $DIRS - ''; + # In order for the persistent tarsnap timer to work reliably, we have to + # make sure that the tarsnap server is reachable after systemd starts up + # the service - therefore we sleep in a loop until we can ping the + # endpoint. + preStart = '' + while ! ping -q -c 1 v1-0-0-server.tarsnap.com &> /dev/null; do sleep 3; done + ''; - serviceConfig = { - IOSchedulingClass = "idle"; - NoNewPrivileges = "true"; - CapabilityBoundingSet = "CAP_DAC_READ_SEARCH"; - PermissionsStartOnly = "true"; - }; - }; + script = + let run = ''tarsnap --configfile "/etc/tarsnap/${name}.conf" -c -f "${name}-$(date +"%Y%m%d%H%M%S")" ${concatStringsSep " " cfg.directories}''; + in if (cfg.cachedir != null) then '' + mkdir -p ${cfg.cachedir} + chmod 0700 ${cfg.cachedir} + + ( flock 9 + if [ ! -e ${cfg.cachedir}/firstrun ]; then + ( flock 10 + flock -u 9 + tarsnap --configfile "/etc/tarsnap/${name}.conf" --fsck + flock 9 + ) 10>${cfg.cachedir}/firstrun + fi + ) 9>${cfg.cachedir}/lockf + + exec flock ${cfg.cachedir}/firstrun ${run} + '' else "exec ${run}"; + + serviceConfig = { + Type = "oneshot"; + IOSchedulingClass = "idle"; + NoNewPrivileges = "true"; + CapabilityBoundingSet = [ "CAP_DAC_READ_SEARCH" ]; + PermissionsStartOnly = "true"; + }; + }) gcfg.archives; # Note: the timer must be Persistent=true, so that systemd will start it even # if e.g. your laptop was asleep while the latest interval occurred. - systemd.timers = mapAttrs' (name: cfg: nameValuePair "tarsnap@${name}" + systemd.timers = mapAttrs' (name: cfg: nameValuePair "tarsnap-${name}" { timerConfig.OnCalendar = cfg.period; timerConfig.Persistent = "true"; wantedBy = [ "timers.target" ]; - }) cfg.archives; + }) gcfg.archives; environment.etc = - (mapAttrs' (name: cfg: nameValuePair "tarsnap/${name}.conf" + mapAttrs' (name: cfg: nameValuePair "tarsnap/${name}.conf" { text = configFile name cfg; - }) cfg.archives) // - (mapAttrs' (name: cfg: nameValuePair "tarsnap/${name}.dirs" - { text = concatStringsSep " " cfg.directories; - }) cfg.archives); + }) gcfg.archives; environment.systemPackages = [ pkgs.tarsnap ]; }; diff --git a/nixos/modules/services/cluster/fleet.nix b/nixos/modules/services/cluster/fleet.nix index 78d4ea93c491..ec03be395948 100644 --- a/nixos/modules/services/cluster/fleet.nix +++ b/nixos/modules/services/cluster/fleet.nix @@ -28,7 +28,7 @@ in { etcdServers = mkOption { type = types.listOf types.str; - default = [ "http://127.0.0.1:4001" ]; + default = [ "http://127.0.0.1:2379" ]; description = '' Fleet list of etcd endpoints to use. ''; diff --git a/nixos/modules/services/cluster/kubernetes.nix b/nixos/modules/services/cluster/kubernetes.nix index 42efde36678f..fbf7412a6cd9 100644 --- a/nixos/modules/services/cluster/kubernetes.nix +++ b/nixos/modules/services/cluster/kubernetes.nix @@ -5,28 +5,62 @@ with lib; let cfg = config.services.kubernetes; + skipAttrs = attrs: map (filterAttrs (k: v: k != "enable")) + (filter (v: !(hasAttr "enable" v) || v.enable) attrs); + + infraContainer = pkgs.dockerTools.buildImage { + name = "pause"; + tag = "latest"; + contents = cfg.package.pause; + config.Cmd = "/bin/pause"; + }; + + kubeconfig = pkgs.writeText "kubeconfig" (builtins.toJSON { + apiVersion = "v1"; + kind = "Config"; + clusters = [{ + name = "local"; + cluster.certificate-authority = cfg.kubeconfig.caFile; + cluster.server = cfg.kubeconfig.server; + }]; + users = [{ + name = "kubelet"; + user = { + client-certificate = cfg.kubeconfig.certFile; + client-key = cfg.kubeconfig.keyFile; + }; + }]; + contexts = [{ + context = { + cluster = "local"; + user = "kubelet"; + }; + current-context = "kubelet-context"; + }]; + }); + + policyFile = pkgs.writeText "kube-policy" + concatStringsSep "\n" (map (builtins.toJSON cfg.apiserver.authorizationPolicy)); + + cniConfig = pkgs.buildEnv { + name = "kubernetes-cni-config"; + paths = imap (i: entry: + pkgs.writeTextDir "${10+i}-${entry.type}.conf" (builtins.toJSON entry) + ) cfg.kubelet.cni.config; + }; + + manifests = pkgs.buildEnv { + name = "kubernetes-manifests"; + paths = mapAttrsToList (name: manifest: + pkgs.writeTextDir "${name}.json" (builtins.toJSON manifest) + ) cfg.kubelet.manifests; + }; + in { ###### interface options.services.kubernetes = { - package = mkOption { - description = "Kubernetes package to use."; - type = types.package; - }; - - verbose = mkOption { - description = "Kubernetes enable verbose mode for debugging"; - default = false; - type = types.bool; - }; - - etcdServers = mkOption { - description = "Kubernetes list of etcd servers to watch."; - default = [ "127.0.0.1:4001" ]; - type = types.listOf types.str; - }; - roles = mkOption { description = '' Kubernetes role that this machine should take. @@ -38,18 +72,76 @@ in { type = types.listOf (types.enum ["master" "node"]); }; + package = mkOption { + description = "Kubernetes package to use."; + type = types.package; + default = pkgs.kubernetes; + }; + + verbose = mkOption { + description = "Kubernetes enable verbose mode for debugging"; + default = false; + type = types.bool; + }; + + etcd = { + servers = mkOption { + description = "List of etcd servers. By default etcd is started, except if this option is changed."; + default = ["http://127.0.0.1:2379"]; + type = types.listOf types.str; + }; + + keyFile = mkOption { + description = "Etcd key file"; + default = null; + type = types.nullOr types.path; + }; + + certFile = mkOption { + description = "Etcd cert file"; + default = null; + type = types.nullOr types.path; + }; + + caFile = mkOption { + description = "Etcd ca file"; + default = null; + type = types.nullOr types.path; + }; + }; + + kubeconfig = { + server = mkOption { + description = "Kubernetes apiserver server address"; + default = "http://${cfg.apiserver.address}:${toString cfg.apiserver.port}"; + type = types.str; + }; + + caFile = mkOption { + description = "Certificate authrority file to use to connect to kuberentes apiserver"; + type = types.nullOr types.path; + default = null; + }; + + certFile = mkOption { + description = "Client certificate file to use to connect to kubernetes"; + type = types.nullOr types.path; + default = null; + }; + + keyFile = mkOption { + description = "Client key file to use to connect to kubernetes"; + type = types.nullOr types.path; + default = null; + }; + }; + dataDir = mkOption { description = "Kubernetes root directory for managing kubelet files."; default = "/var/lib/kubernetes"; type = types.path; }; - dockerCfg = mkOption { - description = "Kubernetes contents of dockercfg file."; - default = ""; - type = types.lines; - }; - apiserver = { enable = mkOption { description = "Whether to enable kubernetes apiserver."; @@ -72,6 +164,16 @@ in { type = types.str; }; + advertiseAddress = mkOption { + description = '' + Kubernetes apiserver IP address on which to advertise the apiserver + to members of the cluster. This address must be reachable by the rest + of the cluster. + ''; + default = null; + type = types.nullOr types.str; + }; + port = mkOption { description = "Kubernetes apiserver listening port."; default = 8080; @@ -80,41 +182,36 @@ in { securePort = mkOption { description = "Kubernetes apiserver secure port."; - default = 6443; + default = 443; type = types.int; }; tlsCertFile = mkOption { description = "Kubernetes apiserver certificate file."; - default = ""; - type = types.str; + default = null; + type = types.nullOr types.path; }; - tlsPrivateKeyFile = mkOption { + tlsKeyFile = mkOption { description = "Kubernetes apiserver private key file."; - default = ""; - type = types.str; + default = null; + type = types.nullOr types.path; }; clientCaFile = mkOption { description = "Kubernetes apiserver CA file for client auth."; - default = ""; - type = types.str; + default = null; + type = types.nullOr types.path; }; tokenAuth = mkOption { description = '' Kubernetes apiserver token authentication file. See - + ''; - default = {}; - example = literalExample '' - { - alice = "abc123"; - bob = "xyz987"; - } - ''; - type = types.attrsOf types.str; + default = null; + example = ''token,user,uid,"group1,group2,group3"''; + type = types.nullOr types.lines; }; authorizationMode = mkOption { @@ -148,13 +245,13 @@ in { allowPrivileged = mkOption { description = "Whether to allow privileged containers on kubernetes."; - default = false; + default = true; type = types.bool; }; portalNet = mkOption { description = "Kubernetes CIDR notation IP range from which to assign portal IPs"; - default = "10.10.10.10/16"; + default = "10.10.10.10/24"; type = types.str; }; @@ -171,9 +268,9 @@ in { admissionControl = mkOption { description = '' Kubernetes admission control plugins to use. See - + ''; - default = ["AlwaysAdmit"]; + default = ["NamespaceLifecycle" "LimitRanger" "ServiceAccount" "ResourceQuota"]; example = [ "NamespaceLifecycle" "NamespaceExists" "LimitRanger" "SecurityContextDeny" "ServiceAccount" "ResourceQuota" @@ -181,15 +278,40 @@ in { type = types.listOf types.str; }; - serviceAccountKey = mkOption { + serviceAccountKeyFile = mkOption { description = '' Kubernetes apiserver PEM-encoded x509 RSA private or public key file, - used to verify ServiceAccount tokens. + used to verify ServiceAccount tokens. By default tls private key file + is used. ''; default = null; type = types.nullOr types.path; }; + kubeletClientCaFile = mkOption { + description = "Path to a cert file for connecting to kubelet"; + default = null; + type = types.nullOr types.path; + }; + + kubeletClientCertFile = mkOption { + description = "Client certificate to use for connections to kubelet"; + default = null; + type = types.nullOr types.path; + }; + + kubeletClientKeyFile = mkOption { + description = "Key to use for connections to kubelet"; + default = null; + type = types.nullOr types.path; + }; + + kubeletHttps = mkOption { + description = "Whether to use https for connections to kubelet"; + default = true; + type = types.bool; + }; + extraOpts = mkOption { description = "Kubernetes apiserver extra command line options."; default = ""; @@ -216,10 +338,10 @@ in { type = types.int; }; - master = mkOption { - description = "Kubernetes apiserver address"; - default = "${cfg.apiserver.address}:${toString cfg.apiserver.port}"; - type = types.str; + leaderElect = mkOption { + description = "Whether to start leader election before executing main loop"; + type = types.bool; + default = false; }; extraOpts = mkOption { @@ -248,13 +370,13 @@ in { type = types.int; }; - master = mkOption { - description = "Kubernetes apiserver address"; - default = "${cfg.apiserver.address}:${toString cfg.apiserver.port}"; - type = types.str; + leaderElect = mkOption { + description = "Whether to start leader election before executing main loop"; + type = types.bool; + default = false; }; - serviceAccountPrivateKey = mkOption { + serviceAccountKeyFile = mkOption { description = '' Kubernetes controller manager PEM-encoded private RSA key file used to sign service account tokens @@ -272,6 +394,12 @@ in { type = types.nullOr types.path; }; + clusterCidr = mkOption { + description = "Kubernetes controller manager CIDR Range for Pods in cluster"; + default = "10.10.0.0/16"; + type = types.str; + }; + extraOpts = mkOption { description = "Kubernetes controller manager extra command line options."; default = ""; @@ -292,6 +420,12 @@ in { type = types.bool; }; + registerSchedulable = mkOption { + description = "Register the node as schedulable. No-op if register-node is false."; + default = true; + type = types.bool; + }; + address = mkOption { description = "Kubernetes kubelet info server listening address."; default = "0.0.0.0"; @@ -304,6 +438,18 @@ in { type = types.int; }; + tlsCertFile = mkOption { + description = "File containing x509 Certificate for HTTPS."; + default = null; + type = types.nullOr types.path; + }; + + tlsKeyFile = mkOption { + description = "File containing x509 private key matching tlsCertFile."; + default = null; + type = types.nullOr types.path; + }; + healthz = { bind = mkOption { description = "Kubernetes kubelet healthz listening address."; @@ -326,19 +472,10 @@ in { allowPrivileged = mkOption { description = "Whether to allow kubernetes containers to request privileged mode."; - default = false; + default = true; type = types.bool; }; - apiServers = mkOption { - description = '' - Kubernetes kubelet list of Kubernetes API servers for publishing events, - and reading pods and services. - ''; - default = ["${cfg.apiserver.address}:${toString cfg.apiserver.port}"]; - type = types.listOf types.str; - }; - cadvisorPort = mkOption { description = "Kubernetes kubelet local cadvisor port."; default = 4194; @@ -347,16 +484,62 @@ in { clusterDns = mkOption { description = "Use alternative dns."; - default = ""; + default = "10.10.0.1"; type = types.str; }; clusterDomain = mkOption { description = "Use alternative domain."; - default = "kubernetes.io"; + default = "cluster.local"; type = types.str; }; + networkPlugin = mkOption { + description = "Network plugin to use by kubernetes"; + type = types.nullOr (types.enum ["cni" "kubenet"]); + default = "kubenet"; + }; + + cni = { + packages = mkOption { + description = "List of network plugin packages to install"; + type = types.listOf types.package; + default = []; + }; + + config = mkOption { + description = "Kubernetes CNI configuration"; + type = types.listOf types.attrs; + default = []; + example = literalExample '' + [{ + "cniVersion": "0.2.0", + "name": "mynet", + "type": "bridge", + "bridge": "cni0", + "isGateway": true, + "ipMasq": true, + "ipam": { + "type": "host-local", + "subnet": "10.22.0.0/16", + "routes": [ + { "dst": "0.0.0.0/0" } + ] + } + } { + "cniVersion": "0.2.0", + "type": "loopback" + }] + ''; + }; + }; + + manifests = mkOption { + description = "List of manifests to bootstrap with kubelet"; + type = types.attrsOf types.attrs; + default = {}; + }; + extraOpts = mkOption { description = "Kubernetes kubelet extra command line options."; default = ""; @@ -377,12 +560,6 @@ in { type = types.str; }; - master = mkOption { - description = "Kubernetes apiserver address"; - default = "${cfg.apiserver.address}:${toString cfg.apiserver.port}"; - type = types.str; - }; - extraOpts = mkOption { description = "Kubernetes proxy extra command line options."; default = ""; @@ -390,23 +567,23 @@ in { }; }; - kube2sky = { - enable = mkEnableOption "Whether to enable kube2sky dns service."; + dns = { + enable = mkEnableOption "kubernetes dns service."; + + port = mkOption { + description = "Kubernetes dns listening port"; + default = 53; + type = types.int; + }; domain = mkOption { - description = "Kuberntes kube2sky domain under which all DNS names will be hosted."; + description = "Kuberntes dns domain under which to create names."; default = cfg.kubelet.clusterDomain; type = types.str; }; - master = mkOption { - description = "Kubernetes apiserver address"; - default = "${cfg.apiserver.address}:${toString cfg.apiserver.port}"; - type = types.str; - }; - extraOpts = mkOption { - description = "Kubernetes kube2sky extra command line options."; + description = "Kubernetes dns extra command line options."; default = ""; type = types.str; }; @@ -416,50 +593,118 @@ in { ###### implementation config = mkMerge [ + (mkIf cfg.kubelet.enable { + systemd.services.kubelet = { + description = "Kubernetes Kubelet Service"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" "docker.service" "kube-apiserver.service" ]; + path = with pkgs; [ gitMinimal openssh docker utillinux iproute ethtool thin-provisioning-tools iptables ]; + preStart = '' + docker load < ${infraContainer} + rm /opt/cni/bin/* || true + ${concatMapStringsSep "\n" (p: "ln -fs ${p.plugins}/* /opt/cni/bin") cfg.kubelet.cni.packages} + ''; + serviceConfig = { + ExecStart = ''${cfg.package}/bin/kubelet \ + --pod-manifest-path=${manifests} \ + --kubeconfig=${kubeconfig} \ + --require-kubeconfig \ + --address=${cfg.kubelet.address} \ + --port=${toString cfg.kubelet.port} \ + --register-node=${if cfg.kubelet.registerNode then "true" else "false"} \ + --register-schedulable=${if cfg.kubelet.registerSchedulable then "true" else "false"} \ + ${optionalString (cfg.kubelet.tlsCertFile != null) + "--tls-cert-file=${cfg.kubelet.tlsCertFile}"} \ + ${optionalString (cfg.kubelet.tlsKeyFile != null) + "--tls-private-key-file=${cfg.kubelet.tlsKeyFile}"} \ + --healthz-bind-address=${cfg.kubelet.healthz.bind} \ + --healthz-port=${toString cfg.kubelet.healthz.port} \ + --hostname-override=${cfg.kubelet.hostname} \ + --allow-privileged=${if cfg.kubelet.allowPrivileged then "true" else "false"} \ + --root-dir=${cfg.dataDir} \ + --cadvisor_port=${toString cfg.kubelet.cadvisorPort} \ + ${optionalString (cfg.kubelet.clusterDns != "") + "--cluster-dns=${cfg.kubelet.clusterDns}"} \ + ${optionalString (cfg.kubelet.clusterDomain != "") + "--cluster-domain=${cfg.kubelet.clusterDomain}"} \ + --pod-infra-container-image=pause \ + ${optionalString (cfg.kubelet.networkPlugin != null) + "--network-plugin=${cfg.kubelet.networkPlugin}"} \ + --cni-conf-dir=${cniConfig} \ + --reconcile-cidr \ + --hairpin-mode=hairpin-veth \ + ${optionalString cfg.verbose "--v=6 --log_flush_frequency=1s"} \ + ${cfg.kubelet.extraOpts} + ''; + WorkingDirectory = cfg.dataDir; + }; + }; + + environment.etc = mapAttrs' (name: manifest: + nameValuePair "kubernetes/manifests/${name}.json" { + text = builtins.toJSON manifest; + mode = "0755"; + } + ) cfg.kubelet.manifests; + + # Allways include cni plugins + services.kubernetes.kubelet.cni.packages = [pkgs.cni]; + }) + (mkIf cfg.apiserver.enable { systemd.services.kube-apiserver = { - description = "Kubernetes Api Server"; + description = "Kubernetes Kubelet Service"; wantedBy = [ "multi-user.target" ]; - requires = ["kubernetes-setup.service"]; - after = [ "network-interfaces.target" "etcd.service" ]; + after = [ "network.target" "docker.service" ]; serviceConfig = { - ExecStart = let - authorizationPolicyFile = - pkgs.writeText "kubernetes-policy" - (builtins.toJSON cfg.apiserver.authorizationPolicy); - tokenAuthFile = - pkgs.writeText "kubernetes-auth" - (concatImapStringsSep "\n" (i: v: v + "," + (toString i)) - (mapAttrsToList (name: token: token + "," + name) cfg.apiserver.tokenAuth)); - in ''${cfg.package}/bin/kube-apiserver \ - --etcd-servers=${concatMapStringsSep "," (f: "http://${f}") cfg.etcdServers} \ - --insecure-bind-address=${cfg.apiserver.address} \ + ExecStart = ''${cfg.package}/bin/kube-apiserver \ + --etcd-servers=${concatStringsSep "," cfg.etcd.servers} \ + ${optionalString (cfg.etcd.caFile != null) + "--etcd-cafile=${cfg.etcd.caFile}"} \ + ${optionalString (cfg.etcd.certFile != null) + "--etcd-certfile=${cfg.etcd.certFile}"} \ + ${optionalString (cfg.etcd.keyFile != null) + "--etcd-keyfile=${cfg.etcd.keyFile}"} \ --insecure-port=${toString cfg.apiserver.port} \ - --bind-address=${cfg.apiserver.publicAddress} \ + --bind-address=0.0.0.0 \ + ${optionalString (cfg.apiserver.advertiseAddress != null) + "--advertise-address=${cfg.apiserver.advertiseAddress}"} \ --allow-privileged=${if cfg.apiserver.allowPrivileged then "true" else "false"} \ - ${optionalString (cfg.apiserver.tlsCertFile!="") + ${optionalString (cfg.apiserver.tlsCertFile != null) "--tls-cert-file=${cfg.apiserver.tlsCertFile}"} \ - ${optionalString (cfg.apiserver.tlsPrivateKeyFile!="") - "--tls-private-key-file=${cfg.apiserver.tlsPrivateKeyFile}"} \ - ${optionalString (cfg.apiserver.tokenAuth!=[]) - "--token-auth-file=${tokenAuthFile}"} \ - ${optionalString (cfg.apiserver.clientCaFile!="") + ${optionalString (cfg.apiserver.tlsKeyFile != null) + "--tls-private-key-file=${cfg.apiserver.tlsKeyFile}"} \ + ${optionalString (cfg.apiserver.tokenAuth != null) + "--token-auth-file=${cfg.apiserver.tokenAuth}"} \ + --kubelet-https=${if cfg.apiserver.kubeletHttps then "true" else "false"} \ + ${optionalString (cfg.apiserver.kubeletClientCaFile != null) + "--kubelet-certificate-authority=${cfg.apiserver.kubeletClientCaFile}"} \ + ${optionalString (cfg.apiserver.kubeletClientCertFile != null) + "--kubelet-client-certificate=${cfg.apiserver.kubeletClientCertFile}"} \ + ${optionalString (cfg.apiserver.kubeletClientKeyFile != null) + "--kubelet-client-key=${cfg.apiserver.kubeletClientKeyFile}"} \ + ${optionalString (cfg.apiserver.clientCaFile != null) "--client-ca-file=${cfg.apiserver.clientCaFile}"} \ --authorization-mode=${cfg.apiserver.authorizationMode} \ ${optionalString (cfg.apiserver.authorizationMode == "ABAC") - "--authorization-policy-file=${authorizationPolicyFile}"} \ + "--authorization-policy-file=${policyFile}"} \ --secure-port=${toString cfg.apiserver.securePort} \ --service-cluster-ip-range=${cfg.apiserver.portalNet} \ - ${optionalString (cfg.apiserver.runtimeConfig!="") + ${optionalString (cfg.apiserver.runtimeConfig != "") "--runtime-config=${cfg.apiserver.runtimeConfig}"} \ --admission_control=${concatStringsSep "," cfg.apiserver.admissionControl} \ - ${optionalString (cfg.apiserver.serviceAccountKey!=null) - "--service-account-key-file=${cfg.apiserver.serviceAccountKey}"} \ - --logtostderr=true \ - ${optionalString cfg.verbose "--v=6 --log-flush-frequency=1s"} \ + ${optionalString (cfg.apiserver.serviceAccountKeyFile!=null) + "--service-account-key-file=${cfg.apiserver.serviceAccountKeyFile}"} \ + ${optionalString cfg.verbose "--v=6"} \ + ${optionalString cfg.verbose "--log-flush-frequency=1s"} \ ${cfg.apiserver.extraOpts} ''; + WorkingDirectory = cfg.dataDir; User = "kubernetes"; + Group = "kubernetes"; + AmbientCapabilities = "cap_net_bind_service"; + Restart = "on-failure"; + RestartSec = 5; }; }; }) @@ -468,17 +713,20 @@ in { systemd.services.kube-scheduler = { description = "Kubernetes Scheduler Service"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" "kubernetes-apiserver.service" ]; + after = [ "kube-apiserver.service" ]; serviceConfig = { ExecStart = ''${cfg.package}/bin/kube-scheduler \ --address=${cfg.scheduler.address} \ --port=${toString cfg.scheduler.port} \ - --master=${cfg.scheduler.master} \ - --logtostderr=true \ - ${optionalString cfg.verbose "--v=6 --log-flush-frequency=1s"} \ + --leader-elect=${if cfg.scheduler.leaderElect then "true" else "false"} \ + --kubeconfig=${kubeconfig} \ + ${optionalString cfg.verbose "--v=6"} \ + ${optionalString cfg.verbose "--log-flush-frequency=1s"} \ ${cfg.scheduler.extraOpts} ''; + WorkingDirectory = cfg.dataDir; User = "kubernetes"; + Group = "kubernetes"; }; }; }) @@ -487,113 +735,94 @@ in { systemd.services.kube-controller-manager = { description = "Kubernetes Controller Manager Service"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" "kubernetes-apiserver.service" ]; + after = [ "kube-apiserver.service" ]; serviceConfig = { ExecStart = ''${cfg.package}/bin/kube-controller-manager \ --address=${cfg.controllerManager.address} \ --port=${toString cfg.controllerManager.port} \ - --master=${cfg.controllerManager.master} \ - ${optionalString (cfg.controllerManager.serviceAccountPrivateKey!=null) - "--service-account-private-key-file=${cfg.controllerManager.serviceAccountPrivateKey}"} \ + --kubeconfig=${kubeconfig} \ + --leader-elect=${if cfg.controllerManager.leaderElect then "true" else "false"} \ + ${if (cfg.controllerManager.serviceAccountKeyFile!=null) + then "--service-account-private-key-file=${cfg.controllerManager.serviceAccountKeyFile}" + else "--service-account-private-key-file=/var/run/kubernetes/apiserver.key"} \ ${optionalString (cfg.controllerManager.rootCaFile!=null) "--root-ca-file=${cfg.controllerManager.rootCaFile}"} \ - --logtostderr=true \ - ${optionalString cfg.verbose "--v=6 --log-flush-frequency=1s"} \ + ${optionalString (cfg.controllerManager.clusterCidr!=null) + "--cluster-cidr=${cfg.controllerManager.clusterCidr}"} \ + --allocate-node-cidrs=true \ + ${optionalString cfg.verbose "--v=6"} \ + ${optionalString cfg.verbose "--log-flush-frequency=1s"} \ ${cfg.controllerManager.extraOpts} ''; + WorkingDirectory = cfg.dataDir; User = "kubernetes"; + Group = "kubernetes"; }; }; }) - (mkIf cfg.kubelet.enable { - systemd.services.kubelet = { - description = "Kubernetes Kubelet Service"; - 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 \ - --api-servers=${concatMapStringsSep "," (f: "http://${f}") cfg.kubelet.apiServers} \ - --register-node=${if cfg.kubelet.registerNode then "true" else "false"} \ - --address=${cfg.kubelet.address} \ - --port=${toString cfg.kubelet.port} \ - --healthz-bind-address=${cfg.kubelet.healthz.bind} \ - --healthz-port=${toString cfg.kubelet.healthz.port} \ - --hostname-override=${cfg.kubelet.hostname} \ - --allow-privileged=${if cfg.kubelet.allowPrivileged then "true" else "false"} \ - --root-dir=${cfg.dataDir} \ - --cadvisor_port=${toString cfg.kubelet.cadvisorPort} \ - ${optionalString (cfg.kubelet.clusterDns != "") - ''--cluster-dns=${cfg.kubelet.clusterDns}''} \ - ${optionalString (cfg.kubelet.clusterDomain != "") - ''--cluster-domain=${cfg.kubelet.clusterDomain}''} \ - --logtostderr=true \ - ${optionalString cfg.verbose "--v=6 --log_flush_frequency=1s"} \ - ${cfg.kubelet.extraOpts} - ''; - serviceConfig.WorkingDirectory = cfg.dataDir; - }; - }) - (mkIf cfg.proxy.enable { systemd.services.kube-proxy = { description = "Kubernetes Proxy Service"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" "etcd.service" ]; + after = [ "kube-apiserver.service" ]; + path = [pkgs.iptables]; serviceConfig = { ExecStart = ''${cfg.package}/bin/kube-proxy \ - --master=${cfg.proxy.master} \ + --kubeconfig=${kubeconfig} \ --bind-address=${cfg.proxy.address} \ - --logtostderr=true \ - ${optionalString cfg.verbose "--v=6 --log-flush-frequency=1s"} \ - ${cfg.proxy.extraOpts} + ${optionalString cfg.verbose "--v=6"} \ + ${optionalString cfg.verbose "--log-flush-frequency=1s"} \ + ${cfg.controllerManager.extraOpts} ''; - Restart = "always"; # Retry connection - RestartSec = "5s"; + WorkingDirectory = cfg.dataDir; }; }; }) - (mkIf cfg.kube2sky.enable { - systemd.services.kube2sky = { - description = "Kubernetes Dns Bridge Service"; + (mkIf cfg.dns.enable { + systemd.services.kube-dns = { + description = "Kubernetes Dns Service"; wantedBy = [ "multi-user.target" ]; - after = [ "network.target" "skydns.service" "etcd.service" "kubernetes-apiserver.service" ]; + after = [ "kube-apiserver.service" ]; serviceConfig = { - ExecStart = ''${cfg.package}/bin/kube2sky \ - -etcd-server=http://${head cfg.etcdServers} \ - -domain=${cfg.kube2sky.domain} \ - -kube_master_url=http://${cfg.kube2sky.master} \ - -logtostderr=true \ - ${optionalString cfg.verbose "--v=6 --log-flush-frequency=1s"} \ - ${cfg.kube2sky.extraOpts} + ExecStart = ''${cfg.package}/bin/kube-dns \ + --kubecfg-file=${kubeconfig} \ + --dns-port=${toString cfg.dns.port} \ + --domain=${cfg.dns.domain} \ + ${optionalString cfg.verbose "--v=6"} \ + ${optionalString cfg.verbose "--log-flush-frequency=1s"} \ + ${cfg.dns.extraOpts} ''; + WorkingDirectory = cfg.dataDir; User = "kubernetes"; + Group = "kubernetes"; + AmbientCapabilities = "cap_net_bind_service"; + SendSIGHUP = true; }; }; }) + (mkIf cfg.kubelet.enable { + boot.kernelModules = ["br_netfilter"]; + }) + (mkIf (any (el: el == "master") cfg.roles) { + virtualisation.docker.enable = mkDefault true; + services.kubernetes.kubelet.enable = mkDefault true; + services.kubernetes.kubelet.allowPrivileged = mkDefault true; services.kubernetes.apiserver.enable = mkDefault true; services.kubernetes.scheduler.enable = mkDefault true; services.kubernetes.controllerManager.enable = mkDefault true; - services.kubernetes.kube2sky.enable = mkDefault true; + services.etcd.enable = mkDefault (cfg.etcd.servers == ["http://127.0.0.1:2379"]); }) (mkIf (any (el: el == "node") cfg.roles) { virtualisation.docker.enable = mkDefault true; + virtualisation.docker.logDriver = mkDefault "json-file"; services.kubernetes.kubelet.enable = mkDefault true; services.kubernetes.proxy.enable = mkDefault true; - }) - - (mkIf (any (el: el == "node" || el == "master") cfg.roles) { - services.etcd.enable = mkDefault true; - - services.skydns.enable = mkDefault true; - services.skydns.domain = mkDefault cfg.kubelet.clusterDomain; + services.kubernetes.dns.enable = mkDefault true; }) (mkIf ( @@ -601,24 +830,16 @@ in { cfg.scheduler.enable || cfg.controllerManager.enable || cfg.kubelet.enable || - cfg.proxy.enable + cfg.proxy.enable || + cfg.dns.enable ) { - systemd.services.kubernetes-setup = { - description = "Kubernetes setup."; - serviceConfig.Type = "oneshot"; - script = '' - mkdir -p /var/run/kubernetes - chown kubernetes /var/lib/kubernetes - - rm ${cfg.dataDir}/.dockercfg || true - ln -fs ${pkgs.writeText "kubernetes-dockercfg" cfg.dockerCfg} ${cfg.dataDir}/.dockercfg - ''; - }; - - services.kubernetes.package = mkDefault pkgs.kubernetes; + systemd.tmpfiles.rules = [ + "d /opt/cni/bin 0755 root root -" + "d /var/run/kubernetes 0755 kubernetes kubernetes -" + "d /var/lib/kubernetes 0755 kubernetes kubernetes -" + ]; environment.systemPackages = [ cfg.package ]; - users.extraUsers = singleton { name = "kubernetes"; uid = config.ids.uids.kubernetes; @@ -630,6 +851,5 @@ in { }; users.extraGroups.kubernetes.gid = config.ids.gids.kubernetes; }) - ]; } diff --git a/nixos/modules/services/cluster/panamax.nix b/nixos/modules/services/cluster/panamax.nix index b47ff744fc27..4475e8d8c24b 100644 --- a/nixos/modules/services/cluster/panamax.nix +++ b/nixos/modules/services/cluster/panamax.nix @@ -46,7 +46,7 @@ in { fleetctlEndpoint = mkOption { type = types.str; - default = "http://127.0.0.1:4001"; + default = "http://127.0.0.1:2379"; description = '' Panamax fleetctl endpoint. ''; diff --git a/nixos/modules/services/computing/boinc/client.nix b/nixos/modules/services/computing/boinc/client.nix new file mode 100644 index 000000000000..91bd463732de --- /dev/null +++ b/nixos/modules/services/computing/boinc/client.nix @@ -0,0 +1,88 @@ +{config, lib, pkgs, ...}: + +with lib; + +let + cfg = config.services.boinc; + allowRemoteGuiRpcFlag = optionalString cfg.allowRemoteGuiRpc "--allow_remote_gui_rpc"; + +in + { + options.services.boinc = { + enable = mkOption { + type = types.bool; + default = false; + example = true; + description = '' + Whether to enable the BOINC distributed computing client. If this + option is set to true, the boinc_client daemon will be run as a + background service. The boinccmd command can be used to control the + daemon. + ''; + }; + + package = mkOption { + type = types.package; + default = pkgs.boinc; + defaultText = "pkgs.boinc"; + description = '' + Which BOINC package to use. + ''; + }; + + dataDir = mkOption { + type = types.path; + default = "/var/lib/boinc"; + description = '' + The directory in which to store BOINC's configuration and data files. + ''; + }; + + allowRemoteGuiRpc = mkOption { + type = types.bool; + default = false; + example = true; + description = '' + If set to true, any remote host can connect to and control this BOINC + client (subject to password authentication). If instead set to false, + only the hosts listed in dataDir/remote_hosts.cfg will be allowed to + connect. + + See also: + ''; + }; + }; + + config = mkIf cfg.enable { + environment.systemPackages = [cfg.package]; + + users.users.boinc = { + createHome = false; + description = "BOINC Client"; + home = cfg.dataDir; + isSystemUser = true; + }; + + systemd.services.boinc = { + description = "BOINC Client"; + after = ["network.target" "local-fs.target"]; + wantedBy = ["multi-user.target"]; + preStart = '' + mkdir -p ${cfg.dataDir} + chown boinc ${cfg.dataDir} + ''; + script = '' + ${cfg.package}/bin/boinc_client --dir ${cfg.dataDir} --redirectio ${allowRemoteGuiRpcFlag} + ''; + serviceConfig = { + PermissionsStartOnly = true; # preStart must be run as root + User = "boinc"; + Nice = 10; + }; + }; + }; + + meta = { + maintainers = with lib.maintainers; [kierdavis]; + }; + } diff --git a/nixos/modules/services/continuous-integration/buildbot/master.nix b/nixos/modules/services/continuous-integration/buildbot/master.nix new file mode 100644 index 000000000000..a40be4f546ea --- /dev/null +++ b/nixos/modules/services/continuous-integration/buildbot/master.nix @@ -0,0 +1,250 @@ +# NixOS module for Buildbot continous integration server. + +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.buildbot-master; + escapeStr = s: escape ["'"] s; + masterCfg = pkgs.writeText "master.cfg" '' + from buildbot.plugins import * + factory = util.BuildFactory() + c = BuildmasterConfig = dict( + workers = [${concatStringsSep "," cfg.workers}], + protocols = { 'pb': {'port': ${cfg.bpPort} } }, + title = '${escapeStr cfg.title}', + titleURL = '${escapeStr cfg.titleUrl}', + buildbotURL = '${escapeStr cfg.buildbotUrl}', + db = dict(db_url='${escapeStr cfg.dbUrl}'), + www = dict(port=${toString cfg.port}), + change_source = [ ${concatStringsSep "," cfg.changeSource} ], + schedulers = [ ${concatStringsSep "," cfg.schedulers} ], + builders = [ ${concatStringsSep "," cfg.builders} ], + status = [ ${concatStringsSep "," cfg.status} ], + ) + for step in [ ${concatStringsSep "," cfg.factorySteps} ]: + factory.addStep(step) + + ${cfg.extraConfig} + ''; + + configFile = if cfg.masterCfg == null then masterCfg else cfg.masterCfg; + +in { + options = { + services.buildbot-master = { + + factorySteps = mkOption { + type = types.listOf types.str; + description = "Factory Steps"; + default = []; + example = [ + "steps.Git(repourl='git://github.com/buildbot/pyflakes.git', mode='incremental')" + "steps.ShellCommand(command=['trial', 'pyflakes'])" + ]; + }; + + changeSource = mkOption { + type = types.listOf types.str; + description = "List of Change Sources."; + default = []; + example = [ + "changes.GitPoller('git://github.com/buildbot/pyflakes.git', workdir='gitpoller-workdir', branch='master', pollinterval=300)" + ]; + }; + + enable = mkOption { + type = types.bool; + default = false; + description = "Whether to enable the Buildbot continuous integration server."; + }; + + extraConfig = mkOption { + type = types.str; + description = "Extra configuration to append to master.cfg"; + default = ""; + }; + + masterCfg = mkOption { + type = with types; nullOr path; + description = '' + Optionally pass path to raw master.cfg file. + Other options in this configuration will be ignored. + ''; + default = null; + example = literalExample '' + pkgs.writeText "master.cfg" "BuildmasterConfig = c = {}" + ''; + }; + + schedulers = mkOption { + type = types.listOf types.str; + description = "List of Schedulers."; + default = [ + "schedulers.SingleBranchScheduler(name='all', change_filter=util.ChangeFilter(branch='master'), treeStableTimer=None, builderNames=['runtests'])" + "schedulers.ForceScheduler(name='force',builderNames=['runtests'])" + ]; + }; + + builders = mkOption { + type = types.listOf types.str; + description = "List of Builders."; + default = [ + "util.BuilderConfig(name='runtests',workernames=['default-worker'],factory=factory)" + ]; + }; + + workers = mkOption { + type = types.listOf types.str; + description = "List of Workers."; + default = [ + "worker.Worker('default-worker', 'password')" + ]; + example = [ "worker.LocalWorker('default-worker')" ]; + }; + + status = mkOption { + default = []; + type = types.listOf types.str; + description = "List of status notification endpoints."; + }; + + user = mkOption { + default = "buildbot"; + type = types.str; + description = "User the buildbot server should execute under."; + }; + + group = mkOption { + default = "buildbot"; + type = types.str; + description = "Primary group of buildbot user."; + }; + + extraGroups = mkOption { + type = types.listOf types.str; + default = [ "nixbld" ]; + description = "List of extra groups that the buildbot user should be a part of."; + }; + + home = mkOption { + default = "/home/buildbot"; + type = types.path; + description = "Buildbot home directory."; + }; + + buildbotDir = mkOption { + default = "${cfg.home}/master"; + type = types.path; + description = "Specifies the Buildbot directory."; + }; + + bpPort = mkOption { + default = "9989"; + type = types.string; + example = "tcp:10000:interface=127.0.0.1"; + description = "Port where the master will listen to Buildbot Worker."; + }; + + listenAddress = mkOption { + default = "0.0.0.0"; + type = types.str; + description = "Specifies the bind address on which the buildbot HTTP interface listens."; + }; + + buildbotUrl = mkOption { + default = "http://localhost:8010/"; + type = types.str; + description = "Specifies the Buildbot URL."; + }; + + title = mkOption { + default = "Buildbot"; + type = types.str; + description = "Specifies the Buildbot Title."; + }; + + titleUrl = mkOption { + default = "Buildbot"; + type = types.str; + description = "Specifies the Buildbot TitleURL."; + }; + + dbUrl = mkOption { + default = "sqlite:///state.sqlite"; + type = types.str; + description = "Specifies the database connection string."; + }; + + port = mkOption { + default = 8010; + type = types.int; + description = "Specifies port number on which the buildbot HTTP interface listens."; + }; + + package = mkOption { + type = types.package; + default = pkgs.buildbot-ui; + description = '' + Package to use for buildbot. + buildbot-full is required in order to use local workers. + ''; + example = pkgs.buildbot-full; + }; + + packages = mkOption { + default = [ ]; + example = [ pkgs.git ]; + type = types.listOf types.package; + description = "Packages to add to PATH for the buildbot process."; + }; + }; + }; + + config = mkIf cfg.enable { + users.extraGroups = optional (cfg.group == "buildbot") { + name = "buildbot"; + }; + + users.extraUsers = optional (cfg.user == "buildbot") { + name = "buildbot"; + description = "buildbot user"; + isNormalUser = true; + createHome = true; + home = cfg.home; + group = cfg.group; + extraGroups = cfg.extraGroups; + useDefaultShell = true; + }; + + systemd.services.buildbot-master = { + description = "Buildbot Continuous Integration Server"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + path = cfg.packages; + + serviceConfig = { + Type = "forking"; + User = cfg.user; + Group = cfg.group; + WorkingDirectory = cfg.home; + ExecStart = "${cfg.package}/bin/buildbot start ${cfg.buildbotDir}"; + }; + + preStart = '' + mkdir -vp ${cfg.buildbotDir} + chown -c ${cfg.user}:${cfg.group} ${cfg.buildbotDir} + ln -sf ${configFile} ${cfg.buildbotDir}/master.cfg + ${cfg.package}/bin/buildbot create-master ${cfg.buildbotDir} + ''; + + postStart = '' + until [[ $(${pkgs.curl}/bin/curl -s --head -w '\n%{http_code}' http://localhost:${toString cfg.port} | tail -n1) =~ ^(200|403)$ ]]; do + sleep 1 + done + ''; + }; + }; + +} diff --git a/nixos/modules/services/continuous-integration/gitlab-runner.nix b/nixos/modules/services/continuous-integration/gitlab-runner.nix new file mode 100644 index 000000000000..1fe4d28f9f35 --- /dev/null +++ b/nixos/modules/services/continuous-integration/gitlab-runner.nix @@ -0,0 +1,51 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.gitlab-runner; + configFile = pkgs.writeText "config.toml" cfg.configText; +in +{ + options.services.gitlab-runner = { + enable = mkEnableOption "Gitlab Runner"; + + configText = mkOption { + description = "Verbatim config.toml to use"; + }; + + workDir = mkOption { + default = "/var/lib/gitlab-runner"; + type = types.path; + description = "The working directory used"; + }; + + }; + + config = mkIf cfg.enable { + systemd.services.gitlab-runner = { + description = "Gitlab Runner"; + after = [ "network.target" "docker.service" ]; + requires = [ "docker.service" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + ExecStart = ''${pkgs.gitlab-runner.bin}/bin/gitlab-runner run \ + --working-directory ${cfg.workDir} \ + --config ${configFile} \ + --service gitlab-runner \ + --user gitlab-runner \ + ''; + }; + }; + + users.extraUsers.gitlab-runner = { + group = "gitlab-runner"; + extraGroups = [ "docker" ]; + uid = config.ids.uids.gitlab-runner; + home = cfg.workDir; + createHome = true; + }; + + users.extraGroups.gitlab-runner.gid = config.ids.gids.gitlab-runner; + }; +} diff --git a/nixos/modules/services/continuous-integration/gocd-agent/default.nix b/nixos/modules/services/continuous-integration/gocd-agent/default.nix index 21f319f7fcf6..05adb18fbe91 100644 --- a/nixos/modules/services/continuous-integration/gocd-agent/default.nix +++ b/nixos/modules/services/continuous-integration/gocd-agent/default.nix @@ -37,6 +37,7 @@ in { packages = mkOption { default = [ pkgs.stdenv pkgs.jre pkgs.git config.programs.ssh.package pkgs.nix ]; + defaultText = "[ pkgs.stdenv pkgs.jre pkgs.git config.programs.ssh.package pkgs.nix ]"; type = types.listOf types.package; description = '' Packages to add to PATH for the Go.CD agent process. @@ -98,7 +99,7 @@ in { ]; description = '' Specifies startup command line arguments to pass to Go.CD agent - java process. Example contains debug and gcLog arguments. + java process. ''; }; diff --git a/nixos/modules/services/continuous-integration/gocd-server/default.nix b/nixos/modules/services/continuous-integration/gocd-server/default.nix index 2d1986301216..07e00f17f1e8 100644 --- a/nixos/modules/services/continuous-integration/gocd-server/default.nix +++ b/nixos/modules/services/continuous-integration/gocd-server/default.nix @@ -68,6 +68,7 @@ in { packages = mkOption { default = [ pkgs.stdenv pkgs.jre pkgs.git config.programs.ssh.package pkgs.nix ]; + defaultText = "[ pkgs.stdenv pkgs.jre pkgs.git config.programs.ssh.package pkgs.nix ]"; type = types.listOf types.package; description = '' Packages to add to PATH for the Go.CD server's process. @@ -90,7 +91,7 @@ in { ''; }; - extraOptions = mkOption { + startupOptions = mkOption { default = [ "-Xms${cfg.initialJavaHeapSize}" "-Xmx${cfg.maxJavaHeapMemory}" @@ -103,6 +104,15 @@ in { "-Dcruise.server.port=${toString cfg.port}" "-Dcruise.server.ssl.port=${toString cfg.sslPort}" ]; + + description = '' + Specifies startup command line arguments to pass to Go.CD server + java process. + ''; + }; + + extraOptions = mkOption { + default = [ ]; example = [ "-X debug" "-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005" @@ -169,7 +179,8 @@ in { script = '' ${pkgs.git}/bin/git config --global --add http.sslCAinfo /etc/ssl/certs/ca-certificates.crt - ${pkgs.jre}/bin/java -server ${concatStringsSep " " cfg.extraOptions} \ + ${pkgs.jre}/bin/java -server ${concatStringsSep " " cfg.startupOptions} \ + ${concatStringsSep " " cfg.extraOptions} \ -jar ${pkgs.gocd-server}/go-server/go.jar ''; diff --git a/nixos/modules/services/continuous-integration/hydra/default.nix b/nixos/modules/services/continuous-integration/hydra/default.nix index b1b3404add09..fa550f68b338 100644 --- a/nixos/modules/services/continuous-integration/hydra/default.nix +++ b/nixos/modules/services/continuous-integration/hydra/default.nix @@ -343,7 +343,7 @@ in { wantedBy = [ "multi-user.target" ]; requires = [ "hydra-init.service" ]; after = [ "hydra-init.service" "network.target" ]; - path = [ pkgs.nettools ]; + path = [ cfg.package pkgs.nettools ]; environment = env; serviceConfig = { ExecStart = "@${cfg.package}/bin/hydra-evaluator hydra-evaluator"; diff --git a/nixos/modules/services/databases/4store-endpoint.nix b/nixos/modules/services/databases/4store-endpoint.nix index 5c55ef406d57..906cb320df98 100644 --- a/nixos/modules/services/databases/4store-endpoint.nix +++ b/nixos/modules/services/databases/4store-endpoint.nix @@ -61,7 +61,9 @@ with lib; services.avahi.enable = true; systemd.services."4store-endpoint" = { - wantedBy = [ "ip-up.target" ]; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + script = '' ${run} '${pkgs.rdf4store}/bin/4s-httpd -D ${cfg.options} ${if cfg.listenAddress!=null then "-H ${cfg.listenAddress}" else "" } -p ${toString cfg.port} ${cfg.database}' ''; diff --git a/nixos/modules/services/databases/4store.nix b/nixos/modules/services/databases/4store.nix index 33e731e96816..62856822f906 100644 --- a/nixos/modules/services/databases/4store.nix +++ b/nixos/modules/services/databases/4store.nix @@ -53,7 +53,8 @@ with lib; services.avahi.enable = true; systemd.services."4store" = { - wantedBy = [ "ip-up.target" ]; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; preStart = '' mkdir -p ${stateDir}/ diff --git a/nixos/modules/services/databases/cassandra.nix b/nixos/modules/services/databases/cassandra.nix index c98af617587d..b43b448ed7e1 100644 --- a/nixos/modules/services/databases/cassandra.nix +++ b/nixos/modules/services/databases/cassandra.nix @@ -377,7 +377,7 @@ in { systemd.services.cassandra = { description = "Cassandra Daemon"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; environment = cassandraEnvironment; restartTriggers = [ cassandraConfFile cassandraLogFile cassandraRackFile ]; serviceConfig = { diff --git a/nixos/modules/services/databases/couchdb.nix b/nixos/modules/services/databases/couchdb.nix index ae0589b399e0..d4d231456c52 100644 --- a/nixos/modules/services/databases/couchdb.nix +++ b/nixos/modules/services/databases/couchdb.nix @@ -162,7 +162,7 @@ in { if [ "$(id -u)" = 0 ]; then chown ${cfg.user}:${cfg.group} `dirname ${cfg.uriFile}`; - (-f ${cfg.uriFile} && chown ${cfg.user}:${cfg.group} ${cfg.uriFile}) || true + (test -f ${cfg.uriFile} && chown ${cfg.user}:${cfg.group} ${cfg.uriFile}) || true chown ${cfg.user}:${cfg.group} ${cfg.databaseDir} chown ${cfg.user}:${cfg.group} ${cfg.viewIndexDir} chown ${cfg.user}:${cfg.group} ${cfg.configFile} diff --git a/nixos/modules/services/databases/influxdb.nix b/nixos/modules/services/databases/influxdb.nix index e2268bd556ef..dd88624f406c 100644 --- a/nixos/modules/services/databases/influxdb.nix +++ b/nixos/modules/services/databases/influxdb.nix @@ -66,16 +66,16 @@ let enabled = false; }]; - collectd = { + collectd = [{ enabled = false; typesdb = "${pkgs.collectd}/share/collectd/types.db"; database = "collectd_db"; port = 25826; - }; + }]; - opentsdb = { + opentsdb = [{ enabled = false; - }; + }]; continuous_queries = { enabled = true; @@ -160,7 +160,7 @@ in systemd.services.influxdb = { description = "InfluxDB Server"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; serviceConfig = { ExecStart = ''${cfg.package}/bin/influxd -config "${configFile}"''; User = "${cfg.user}"; @@ -171,6 +171,11 @@ 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://127.0.0.1${toString configOptions.http.bind-address}'/ping; do + sleep 1; + done + ''; }; users.extraUsers = optional (cfg.user == "influxdb") { diff --git a/nixos/modules/services/databases/monetdb.nix b/nixos/modules/services/databases/monetdb.nix deleted file mode 100644 index 9f09c71e005a..000000000000 --- a/nixos/modules/services/databases/monetdb.nix +++ /dev/null @@ -1,88 +0,0 @@ -{ config, lib, pkgs, ... }: -let - cfg = config.services.monetdb; - monetdbUser = "monetdb"; -in -with lib; -{ - - ###### interface - - options = { - - services.monetdb = { - - enable = mkOption { - type = types.bool; - default = false; - description = "Whether to enable MonetDB database server."; - }; - - package = mkOption { - type = types.path; - description = "MonetDB package to use."; - }; - - dbfarmDir = mkOption { - type = types.path; - default = "/var/lib/monetdb"; - description = '' - Specifies location of Monetdb dbfarm (keeps database and auxiliary files). - ''; - }; - - port = mkOption { - default = "50000"; - example = "50000"; - description = "Port to listen on."; - }; - }; - - }; - - - ###### implementation - - config = mkIf cfg.enable { - - users.extraUsers.monetdb = - { name = monetdbUser; - uid = config.ids.uids.monetdb; - description = "monetdb user"; - home = cfg.dbfarmDir; - }; - - users.extraGroups.monetdb.gid = config.ids.gids.monetdb; - - environment.systemPackages = [ cfg.package ]; - - systemd.services.monetdb = - { description = "MonetDB Server"; - - wantedBy = [ "multi-user.target" ]; - - after = [ "network.target" ]; - - path = [ cfg.package ]; - - preStart = - '' - # Initialise the database. - if ! test -e ${cfg.dbfarmDir}/.merovingian_properties; then - mkdir -m 0700 -p ${cfg.dbfarmDir} - chown -R ${monetdbUser} ${cfg.dbfarmDir} - ${cfg.package}/bin/monetdbd create ${cfg.dbfarmDir} - ${cfg.package}/bin/monetdbd set port=${cfg.port} ${cfg.dbfarmDir} - fi - ''; - - serviceConfig.ExecStart = "${cfg.package}/bin/monetdbd start -n ${cfg.dbfarmDir}"; - - serviceConfig.ExecStop = "${cfg.package}/bin/monetdbd stop ${cfg.dbfarmDir}"; - - unitConfig.RequiresMountsFor = "${cfg.dbfarmDir}"; - }; - - }; - -} diff --git a/nixos/modules/services/databases/mongodb.nix b/nixos/modules/services/databases/mongodb.nix index ef9bc46e4a0e..38e46a0c6ef9 100644 --- a/nixos/modules/services/databases/mongodb.nix +++ b/nixos/modules/services/databases/mongodb.nix @@ -12,13 +12,11 @@ let mongoCnf = pkgs.writeText "mongodb.conf" '' - bind_ip = ${cfg.bind_ip} - ${optionalString cfg.quiet "quiet = true"} - dbpath = ${cfg.dbpath} - syslog = true - fork = true - pidfilepath = ${cfg.pidFile} - ${optionalString (cfg.replSetName != "") "replSet = ${cfg.replSetName}"} + net.bindIp: ${cfg.bind_ip} + ${optionalString cfg.quiet "systemLog.quiet: true"} + systemLog.destination: syslog + storage.dbPath: ${cfg.dbpath} + ${optionalString (cfg.replSetName != "") "replication.replSetName: ${cfg.replSetName}"} ${cfg.extraConfig} ''; @@ -84,9 +82,9 @@ in extraConfig = mkOption { default = ""; example = '' - nojournal = true + storage.journal.enabled: false ''; - description = "MongoDB extra configuration"; + description = "MongoDB extra configuration in YAML format"; }; }; @@ -112,7 +110,7 @@ in after = [ "network.target" ]; serviceConfig = { - ExecStart = "${mongodb}/bin/mongod --quiet --config ${mongoCnf}"; + ExecStart = "${mongodb}/bin/mongod --quiet --config ${mongoCnf} --fork --pidfilepath ${cfg.pidFile}"; User = cfg.user; PIDFile = cfg.pidFile; Type = "forking"; diff --git a/nixos/modules/services/databases/mysql.nix b/nixos/modules/services/databases/mysql.nix index 0b2f99f8fff1..fcf1f123cfb5 100644 --- a/nixos/modules/services/databases/mysql.nix +++ b/nixos/modules/services/databases/mysql.nix @@ -43,6 +43,7 @@ in services.mysql = { enable = mkOption { + type = types.bool; default = false; description = " Whether to enable the MySQL server. @@ -58,16 +59,19 @@ in }; port = mkOption { - default = "3306"; + type = types.int; + default = 3306; description = "Port of MySQL"; }; user = mkOption { + type = types.str; default = "mysql"; description = "User account under which MySQL runs"; }; dataDir = mkOption { + type = types.path; default = "/var/mysql"; # !!! should be /var/db/mysql description = "Location where MySQL stores its table files"; }; @@ -78,6 +82,7 @@ in }; extraOptions = mkOption { + type = types.lines; default = ""; example = '' key_buffer_size = 6G @@ -115,32 +120,39 @@ in replication = { role = mkOption { + type = types.enum [ "master" "slave" "none" ]; default = "none"; - description = "Role of the MySQL server instance. Can be either: master, slave or none"; + description = "Role of the MySQL server instance."; }; serverId = mkOption { + type = types.int; default = 1; description = "Id of the MySQL server instance. This number must be unique for each instance"; }; masterHost = mkOption { + type = types.str; description = "Hostname of the MySQL master server"; }; slaveHost = mkOption { + type = types.str; description = "Hostname of the MySQL slave server"; }; masterUser = mkOption { + type = types.str; description = "Username of the MySQL replication user"; }; masterPassword = mkOption { + type = types.str; description = "Password of the MySQL replication user"; }; masterPort = mkOption { + type = types.int; default = 3306; description = "Port number on which the MySQL master server runs"; }; @@ -167,6 +179,7 @@ in systemd.services.mysql = { description = "MySQL Server"; + after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; unitConfig.RequiresMountsFor = "${cfg.dataDir}"; diff --git a/nixos/modules/services/databases/neo4j.nix b/nixos/modules/services/databases/neo4j.nix index 41b960685906..7b51f1af6899 100644 --- a/nixos/modules/services/databases/neo4j.nix +++ b/nixos/modules/services/databases/neo4j.nix @@ -5,34 +5,34 @@ with lib; let cfg = config.services.neo4j; - serverConfig = pkgs.writeText "neo4j-server.properties" '' - org.neo4j.server.database.location=${cfg.dataDir}/data/graph.db - org.neo4j.server.webserver.address=${cfg.listenAddress} - org.neo4j.server.webserver.port=${toString cfg.port} - ${optionalString cfg.enableHttps '' - org.neo4j.server.webserver.https.enabled=true - org.neo4j.server.webserver.https.port=${toString cfg.httpsPort} - org.neo4j.server.webserver.https.cert.location=${cfg.cert} - org.neo4j.server.webserver.https.key.location=${cfg.key} - org.neo4j.server.webserver.https.keystore.location=${cfg.dataDir}/data/keystore + serverConfig = pkgs.writeText "neo4j.conf" '' + dbms.directories.data=${cfg.dataDir}/data + dbms.directories.certificates=${cfg.certDir} + dbms.directories.logs=${cfg.dataDir}/logs + dbms.directories.plugins=${cfg.dataDir}/plugins + dbms.connector.http.type=HTTP + dbms.connector.http.enabled=true + dbms.connector.http.address=${cfg.listenAddress}:${toString cfg.port} + ${optionalString cfg.enableBolt '' + dbms.connector.bolt.type=BOLT + dbms.connector.bolt.enabled=true + dbms.connector.bolt.tls_level=OPTIONAL + dbms.connector.bolt.address=${cfg.listenAddress}:${toString cfg.boltPort} ''} - org.neo4j.server.webadmin.rrdb.location=${cfg.dataDir}/data/rrd - org.neo4j.server.webadmin.data.uri=/db/data/ - org.neo4j.server.webadmin.management.uri=/db/manage/ - org.neo4j.server.db.tuning.properties=${cfg.package}/share/neo4j/conf/neo4j.properties - org.neo4j.server.manage.console_engines=shell + ${optionalString cfg.enableHttps '' + dbms.connector.https.type=HTTP + dbms.connector.https.enabled=true + dbms.connector.https.encryption=TLS + dbms.connector.https.address=${cfg.listenAddress}:${toString cfg.httpsPort} + ''} + dbms.shell.enabled=true ${cfg.extraServerConfig} ''; - loggingConfig = pkgs.writeText "logging.properties" cfg.loggingConfig; - wrapperConfig = pkgs.writeText "neo4j-wrapper.conf" '' - wrapper.java.additional=-Dorg.neo4j.server.properties=${serverConfig} - wrapper.java.additional=-Djava.util.logging.config.file=${loggingConfig} - wrapper.java.additional=-XX:+UseConcMarkSweepGC - wrapper.java.additional=-XX:+CMSClassUnloadingEnabled - wrapper.pidfile=${cfg.dataDir}/neo4j-server.pid - wrapper.name=neo4j + dbms.jvm.additional=-Dunsupported.dbms.udc.source=tarball + dbms.jvm.additional=-XX:+UseConcMarkSweepGC + dbms.jvm.additional=-XX:+CMSClassUnloadingEnabled ''; in { @@ -65,6 +65,18 @@ in { type = types.int; }; + enableBolt = mkOption { + description = "Enable bolt for Neo4j."; + default = true; + type = types.bool; + }; + + boltPort = mkOption { + description = "Neo4j port to listen for BOLT traffic."; + default = 7687; + type = types.int; + }; + enableHttps = mkOption { description = "Enable https for Neo4j."; default = false; @@ -77,15 +89,9 @@ in { type = types.int; }; - cert = mkOption { - description = "Neo4j https certificate."; - default = "${cfg.dataDir}/conf/ssl/neo4j.cert"; - type = types.path; - }; - - key = mkOption { - description = "Neo4j https certificate key."; - default = "${cfg.dataDir}/conf/ssl/neo4j.key"; + certDir = mkOption { + description = "Neo4j TLS certificates directory."; + default = "${cfg.dataDir}/certificates"; type = types.path; }; @@ -95,26 +101,11 @@ in { type = types.path; }; - loggingConfig = mkOption { - description = "Neo4j logging configuration."; - default = '' - handlers=java.util.logging.ConsoleHandler - .level=INFO - org.neo4j.server.level=INFO - - java.util.logging.ConsoleHandler.level=INFO - java.util.logging.ConsoleHandler.formatter=org.neo4j.server.logging.SimpleConsoleFormatter - java.util.logging.ConsoleHandler.filter=org.neo4j.server.logging.NeoLogFilter - ''; - type = types.lines; - }; - extraServerConfig = mkOption { description = "Extra configuration for neo4j server."; default = ""; type = types.lines; }; - }; ###### implementation @@ -123,15 +114,19 @@ in { systemd.services.neo4j = { description = "Neo4j Daemon"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; - environment = { NEO4J_INSTANCE = cfg.dataDir; }; + after = [ "network.target" ]; + environment = { + NEO4J_HOME = "${cfg.package}/share/neo4j"; + NEO4J_CONF = "${cfg.dataDir}/conf"; + }; serviceConfig = { ExecStart = "${cfg.package}/bin/neo4j console"; User = "neo4j"; PermissionsStartOnly = true; }; preStart = '' - mkdir -m 0700 -p ${cfg.dataDir}/{data/graph.db,conf} + mkdir -m 0700 -p ${cfg.dataDir}/{data/graph.db,conf,logs} + ln -fs ${serverConfig} ${cfg.dataDir}/conf/neo4j.conf ln -fs ${wrapperConfig} ${cfg.dataDir}/conf/neo4j-wrapper.conf if [ "$(id -u)" = 0 ]; then chown -R neo4j ${cfg.dataDir}; fi ''; @@ -146,5 +141,4 @@ in { home = cfg.dataDir; }; }; - } diff --git a/nixos/modules/services/databases/openldap.nix b/nixos/modules/services/databases/openldap.nix index 9f22aa7c92b2..b8e6c0cec3dc 100644 --- a/nixos/modules/services/databases/openldap.nix +++ b/nixos/modules/services/databases/openldap.nix @@ -53,6 +53,13 @@ in description = "The database directory."; }; + configDir = mkOption { + type = types.nullOr types.path; + default = null; + description = "Use this optional config directory instead of using slapd.conf"; + example = "/var/db/slapd.d"; + }; + extraConfig = mkOption { type = types.lines; default = ""; @@ -96,7 +103,7 @@ in mkdir -p ${cfg.dataDir} chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir} ''; - serviceConfig.ExecStart = "${openldap.out}/libexec/slapd -u ${cfg.user} -g ${cfg.group} -d 0 -h \"${concatStringsSep " " cfg.urlList}\" -f ${configFile}"; + serviceConfig.ExecStart = "${openldap.out}/libexec/slapd -u ${cfg.user} -g ${cfg.group} -d 0 -h \"${concatStringsSep " " cfg.urlList}\" ${if cfg.configDir == null then "-f "+configFile else "-F "+cfg.configDir}"; }; users.extraUsers.openldap = diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix index 9988fc6e63be..24ef4637ec98 100644 --- a/nixos/modules/services/databases/postgresql.nix +++ b/nixos/modules/services/databases/postgresql.nix @@ -11,12 +11,14 @@ let if cfg.extraPlugins == [] then pg else pkgs.buildEnv { name = "postgresql-and-plugins-${(builtins.parseDrvName pg.name).version}"; - paths = [ pg ] ++ cfg.extraPlugins; + paths = [ pg pg.lib ] ++ cfg.extraPlugins; + buildInputs = [ pkgs.makeWrapper ]; postBuild = '' mkdir -p $out/bin rm $out/bin/{pg_config,postgres,pg_ctl} cp --target-directory=$out/bin ${pg}/bin/{postgres,pg_config,pg_ctl} + wrapProgram $out/bin/postgres --set NIX_PGLIBDIR $out/lib ''; }; diff --git a/nixos/modules/services/databases/riak-cs.nix b/nixos/modules/services/databases/riak-cs.nix new file mode 100644 index 000000000000..198efc29222a --- /dev/null +++ b/nixos/modules/services/databases/riak-cs.nix @@ -0,0 +1,202 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.riak-cs; + +in + +{ + + ###### interface + + options = { + + services.riak-cs = { + + enable = mkEnableOption "riak-cs"; + + package = mkOption { + type = types.package; + default = pkgs.riak-cs; + defaultText = "pkgs.riak-cs"; + example = literalExample "pkgs.riak-cs"; + description = '' + Riak package to use. + ''; + }; + + nodeName = mkOption { + type = types.str; + default = "riak-cs@127.0.0.1"; + description = '' + Name of the Erlang node. + ''; + }; + + anonymousUserCreation = mkOption { + type = types.bool; + default = false; + description = '' + Anonymous user creation. + ''; + }; + + riakHost = mkOption { + type = types.str; + default = "127.0.0.1:8087"; + description = '' + Name of riak hosting service. + ''; + }; + + listener = mkOption { + type = types.str; + default = "127.0.0.1:8080"; + description = '' + Name of Riak CS listening service. + ''; + }; + + stanchionHost = mkOption { + type = types.str; + default = "127.0.0.1:8085"; + description = '' + Name of stanchion hosting service. + ''; + }; + + stanchionSsl = mkOption { + type = types.bool; + default = true; + description = '' + Tell stanchion to use SSL. + ''; + }; + + distributedCookie = mkOption { + type = types.str; + default = "riak"; + description = '' + Cookie for distributed node communication. All nodes in the + same cluster should use the same cookie or they will not be able to + communicate. + ''; + }; + + dataDir = mkOption { + type = types.path; + default = "/var/db/riak-cs"; + description = '' + Data directory for Riak CS. + ''; + }; + + logDir = mkOption { + type = types.path; + default = "/var/log/riak-cs"; + description = '' + Log directory for Riak CS. + ''; + }; + + extraConfig = mkOption { + type = types.lines; + default = ""; + description = '' + Additional text to be appended to riak-cs.conf. + ''; + }; + + extraAdvancedConfig = mkOption { + type = types.lines; + default = ""; + description = '' + Additional text to be appended to advanced.config. + ''; + }; + }; + + }; + + ###### implementation + + config = mkIf cfg.enable { + + environment.systemPackages = [ cfg.package ]; + environment.etc."riak-cs/riak-cs.conf".text = '' + nodename = ${cfg.nodeName} + distributed_cookie = ${cfg.distributedCookie} + + platform_log_dir = ${cfg.logDir} + + riak_host = ${cfg.riakHost} + listener = ${cfg.listener} + stanchion_host = ${cfg.stanchionHost} + + anonymous_user_creation = ${if cfg.anonymousUserCreation then "on" else "off"} + + ${cfg.extraConfig} + ''; + + environment.etc."riak-cs/advanced.config".text = '' + ${cfg.extraAdvancedConfig} + ''; + + users.extraUsers.riak-cs = { + name = "riak-cs"; + uid = config.ids.uids.riak-cs; + group = "riak"; + description = "Riak CS server user"; + }; + + systemd.services.riak-cs = { + description = "Riak CS Server"; + + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + + path = [ + pkgs.utillinux # for `logger` + pkgs.bash + ]; + + environment.HOME = "${cfg.dataDir}"; + environment.RIAK_CS_DATA_DIR = "${cfg.dataDir}"; + environment.RIAK_CS_LOG_DIR = "${cfg.logDir}"; + environment.RIAK_CS_ETC_DIR = "/etc/riak"; + + preStart = '' + if ! test -e ${cfg.logDir}; then + mkdir -m 0755 -p ${cfg.logDir} + chown -R riak-cs ${cfg.logDir} + fi + + if ! test -e ${cfg.dataDir}; then + mkdir -m 0700 -p ${cfg.dataDir} + chown -R riak-cs ${cfg.dataDir} + fi + ''; + + serviceConfig = { + ExecStart = "${cfg.package}/bin/riak-cs console"; + ExecStop = "${cfg.package}/bin/riak-cs stop"; + StandardInput = "tty"; + User = "riak-cs"; + Group = "riak-cs"; + PermissionsStartOnly = true; + # Give Riak a decent amount of time to clean up. + TimeoutStopSec = 120; + LimitNOFILE = 65536; + }; + + unitConfig.RequiresMountsFor = [ + "${cfg.dataDir}" + "${cfg.logDir}" + "/etc/riak" + ]; + }; + }; +} diff --git a/nixos/modules/services/databases/riak.nix b/nixos/modules/services/databases/riak.nix index bee768fa42ae..e0ebf164aef0 100644 --- a/nixos/modules/services/databases/riak.nix +++ b/nixos/modules/services/databases/riak.nix @@ -20,7 +20,9 @@ in package = mkOption { type = types.package; - example = literalExample "pkgs.riak2"; + default = pkgs.riak; + defaultText = "pkgs.riak"; + example = literalExample "pkgs.riak"; description = '' Riak package to use. ''; @@ -68,6 +70,14 @@ in ''; }; + extraAdvancedConfig = mkOption { + type = types.lines; + default = ""; + description = '' + Additional text to be appended to advanced.config. + ''; + }; + }; }; @@ -88,6 +98,10 @@ in ${cfg.extraConfig} ''; + environment.etc."riak/advanced.config".text = '' + ${cfg.extraAdvancedConfig} + ''; + users.extraUsers.riak = { name = "riak"; uid = config.ids.uids.riak; @@ -108,6 +122,7 @@ in pkgs.bash ]; + environment.HOME = "${cfg.dataDir}"; environment.RIAK_DATA_DIR = "${cfg.dataDir}"; environment.RIAK_LOG_DIR = "${cfg.logDir}"; environment.RIAK_ETC_DIR = "/etc/riak"; diff --git a/nixos/modules/services/databases/stanchion.nix b/nixos/modules/services/databases/stanchion.nix new file mode 100644 index 000000000000..f2dbb78b5c4b --- /dev/null +++ b/nixos/modules/services/databases/stanchion.nix @@ -0,0 +1,212 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.stanchion; + +in + +{ + + ###### interface + + options = { + + services.stanchion = { + + enable = mkEnableOption "stanchion"; + + package = mkOption { + type = types.package; + default = pkgs.stanchion; + defaultText = "pkgs.stanchion"; + example = literalExample "pkgs.stanchion"; + description = '' + Stanchion package to use. + ''; + }; + + nodeName = mkOption { + type = types.str; + default = "stanchion@127.0.0.1"; + description = '' + Name of the Erlang node. + ''; + }; + + adminKey = mkOption { + type = types.str; + default = ""; + description = '' + Name of admin user. + ''; + }; + + adminSecret = mkOption { + type = types.str; + default = ""; + description = '' + Name of admin secret + ''; + }; + + riakHost = mkOption { + type = types.str; + default = "127.0.0.1:8087"; + description = '' + Name of riak hosting service. + ''; + }; + + listener = mkOption { + type = types.str; + default = "127.0.0.1:8085"; + description = '' + Name of Riak CS listening service. + ''; + }; + + stanchionHost = mkOption { + type = types.str; + default = "127.0.0.1:8085"; + description = '' + Name of stanchion hosting service. + ''; + }; + + stanchionSsl = mkOption { + type = types.bool; + default = true; + description = '' + Tell stanchion to use SSL. + ''; + }; + + distributedCookie = mkOption { + type = types.str; + default = "riak"; + description = '' + Cookie for distributed node communication. All nodes in the + same cluster should use the same cookie or they will not be able to + communicate. + ''; + }; + + dataDir = mkOption { + type = types.path; + default = "/var/db/stanchion"; + description = '' + Data directory for Stanchion. + ''; + }; + + logDir = mkOption { + type = types.path; + default = "/var/log/stanchion"; + description = '' + Log directory for Stanchino. + ''; + }; + + extraConfig = mkOption { + type = types.lines; + default = ""; + description = '' + Additional text to be appended to stanchion.conf. + ''; + }; + }; + }; + + ###### implementation + + config = mkIf cfg.enable { + + environment.systemPackages = [ cfg.package ]; + + environment.etc."stanchion/advanced.config".text = '' + [{stanchion, []}]. + ''; + + environment.etc."stanchion/stanchion.conf".text = '' + listener = ${cfg.listener} + + riak_host = ${cfg.riakHost} + + ${optionalString (cfg.adminKey == "") "#"} admin.key=${optionalString (cfg.adminKey != "") cfg.adminKey} + ${optionalString (cfg.adminSecret == "") "#"} admin.secret=${optionalString (cfg.adminSecret != "") cfg.adminSecret} + + platform_bin_dir = ${pkgs.stanchion}/bin + platform_data_dir = ${cfg.dataDir} + platform_etc_dir = /etc/stanchion + platform_lib_dir = ${pkgs.stanchion}/lib + platform_log_dir = ${cfg.logDir} + + nodename = ${cfg.nodeName} + + distributed_cookie = ${cfg.distributedCookie} + + stanchion_ssl=${if cfg.stanchionSsl then "on" else "off"} + + ${cfg.extraConfig} + ''; + + users.extraUsers.stanchion = { + name = "stanchion"; + uid = config.ids.uids.stanchion; + group = "stanchion"; + description = "Stanchion server user"; + }; + + users.extraGroups.stanchion.gid = config.ids.gids.stanchion; + + systemd.services.stanchion = { + description = "Stanchion Server"; + + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + + path = [ + pkgs.utillinux # for `logger` + pkgs.bash + ]; + + environment.HOME = "${cfg.dataDir}"; + environment.STANCHION_DATA_DIR = "${cfg.dataDir}"; + environment.STANCHION_LOG_DIR = "${cfg.logDir}"; + environment.STANCHION_ETC_DIR = "/etc/stanchion"; + + preStart = '' + if ! test -e ${cfg.logDir}; then + mkdir -m 0755 -p ${cfg.logDir} + chown -R stanchion:stanchion ${cfg.logDir} + fi + + if ! test -e ${cfg.dataDir}; then + mkdir -m 0700 -p ${cfg.dataDir} + chown -R stanchion:stanchion ${cfg.dataDir} + fi + ''; + + serviceConfig = { + ExecStart = "${cfg.package}/bin/stanchion console"; + ExecStop = "${cfg.package}/bin/stanchion stop"; + StandardInput = "tty"; + User = "stanchion"; + Group = "stanchion"; + PermissionsStartOnly = true; + # Give Stanchion a decent amount of time to clean up. + TimeoutStopSec = 120; + LimitNOFILE = 65536; + }; + + unitConfig.RequiresMountsFor = [ + "${cfg.dataDir}" + "${cfg.logDir}" + "/etc/stanchion" + ]; + }; + }; +} diff --git a/nixos/modules/services/databases/virtuoso.nix b/nixos/modules/services/databases/virtuoso.nix index bdd210a2550e..3231fede08fa 100644 --- a/nixos/modules/services/databases/virtuoso.nix +++ b/nixos/modules/services/databases/virtuoso.nix @@ -62,7 +62,8 @@ with lib; }; systemd.services.virtuoso = { - wantedBy = [ "ip-up.target" ]; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; preStart = '' mkdir -p ${stateDir} diff --git a/nixos/modules/services/desktops/accountsservice.nix b/nixos/modules/services/desktops/accountsservice.nix index c28c27295761..2a7450669ea0 100644 --- a/nixos/modules/services/desktops/accountsservice.nix +++ b/nixos/modules/services/desktops/accountsservice.nix @@ -35,6 +35,14 @@ with lib; services.dbus.packages = [ pkgs.accountsservice ]; systemd.packages = [ pkgs.accountsservice ]; + + systemd.services.accounts-daemon= { + + wantedBy = [ "graphical.target" ]; + + } // (mkIf (!config.users.mutableUsers) { + environment.NIXOS_USERS_PURE = "true"; + }); }; } diff --git a/nixos/modules/services/desktops/gnome3/evolution-data-server.nix b/nixos/modules/services/desktops/gnome3/evolution-data-server.nix index a8f8da0eed56..2db2e2fe1c34 100644 --- a/nixos/modules/services/desktops/gnome3/evolution-data-server.nix +++ b/nixos/modules/services/desktops/gnome3/evolution-data-server.nix @@ -37,6 +37,8 @@ in services.dbus.packages = [ gnome3.evolution_data_server ]; + systemd.packages = [ gnome3.evolution_data_server ]; + }; } diff --git a/nixos/modules/services/desktops/gnome3/gnome-terminal-server.nix b/nixos/modules/services/desktops/gnome3/gnome-terminal-server.nix new file mode 100644 index 000000000000..384cede679c6 --- /dev/null +++ b/nixos/modules/services/desktops/gnome3/gnome-terminal-server.nix @@ -0,0 +1,44 @@ +# GNOME Documents daemon. + +{ config, pkgs, lib, ... }: + +with lib; + +let + gnome3 = config.environment.gnome3.packageSet; +in +{ + + ###### interface + + options = { + + services.gnome3.gnome-terminal-server = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable GNOME Terminal server service, + needed for gnome-terminal. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.gnome3.gnome-terminal-server.enable { + + environment.systemPackages = [ gnome3.gnome_terminal ]; + + services.dbus.packages = [ gnome3.gnome_terminal ]; + + systemd.packages = [ gnome3.gnome_terminal ]; + + }; + +} diff --git a/nixos/modules/services/desktops/gnome3/gvfs.nix b/nixos/modules/services/desktops/gnome3/gvfs.nix index a07cdadbb12b..6bbabe8d3c56 100644 --- a/nixos/modules/services/desktops/gnome3/gvfs.nix +++ b/nixos/modules/services/desktops/gnome3/gvfs.nix @@ -37,6 +37,8 @@ in services.dbus.packages = [ gnome3.gvfs ]; + systemd.packages = [ gnome3.gvfs ]; + services.udev.packages = [ pkgs.libmtp.bin ]; }; diff --git a/nixos/modules/services/desktops/gnome3/tracker.nix b/nixos/modules/services/desktops/gnome3/tracker.nix index 8c5935a5ee3c..dcaa60103a3b 100644 --- a/nixos/modules/services/desktops/gnome3/tracker.nix +++ b/nixos/modules/services/desktops/gnome3/tracker.nix @@ -37,6 +37,8 @@ in services.dbus.packages = [ gnome3.tracker ]; + systemd.packages = [ gnome3.tracker ]; + }; } diff --git a/nixos/modules/services/desktops/profile-sync-daemon.nix b/nixos/modules/services/desktops/profile-sync-daemon.nix index d66ecef2385a..e3f74df3e573 100644 --- a/nixos/modules/services/desktops/profile-sync-daemon.nix +++ b/nixos/modules/services/desktops/profile-sync-daemon.nix @@ -86,6 +86,12 @@ in { }; config = mkIf cfg.enable { + assertions = [ + { assertion = cfg.users != []; + message = "services.psd.users must contain at least one user"; + } + ]; + systemd = { services = { psd = { diff --git a/nixos/modules/services/editors/emacs.nix b/nixos/modules/services/editors/emacs.nix index 6795ec52fe4d..08fa6de6374c 100644 --- a/nixos/modules/services/editors/emacs.nix +++ b/nixos/modules/services/editors/emacs.nix @@ -79,9 +79,13 @@ in { environment.systemPackages = [ cfg.package editorScript ]; - environment.variables = if cfg.defaultEditor then { - EDITOR = mkOverride 900 "${editorScript}/bin/emacseditor"; - } else {}; + environment.variables = { + # This is required so that GTK applications launched from Emacs + # get properly themed: + GTK_DATA_PREFIX = "${config.system.path}"; + } // (if cfg.defaultEditor then { + EDITOR = mkOverride 900 "${editorScript}/bin/emacseditor"; + } else {}); }; meta.doc = ./emacs.xml; diff --git a/nixos/modules/services/editors/emacs.xml b/nixos/modules/services/editors/emacs.xml index ee8ef512bc70..e03f6046de8e 100644 --- a/nixos/modules/services/editors/emacs.xml +++ b/nixos/modules/services/editors/emacs.xml @@ -43,9 +43,10 @@ Installing <application>Emacs</application> - Emacs can installed in the normal way for Nix (see ). In addition, a NixOS - service can be enabled. + Emacs can be installed in the normal way for Nix (see + ). + In addition, a NixOS service + can be enabled.
@@ -59,20 +60,20 @@ emacs - emacs24 + emacs25 - The latest stable version of Emacs 24 using the GTK+ 2 widget toolkit. - emacs24-nox + emacs25-nox - Emacs 24 built without any dependency on X11 + Emacs 25 built without any dependency on X11 libraries. @@ -86,15 +87,6 @@ - - emacs25pre - - - A pretest version of what will become the first - version of Emacs 25. - - - @@ -364,14 +356,14 @@ https://nixos.org/nixpkgs/manual/#sec-modify-via-packageOverrides {} }: let - myEmacs = pkgs.lib.overrideDerivation (pkgs.emacs.override { + myEmacs = (pkgs.emacs.override { # Use gtk3 instead of the default gtk2 withGTK3 = true; withGTK2 = false; - }) (attrs: { + }).overrideAttrs (attrs: { # I don't want emacs.desktop file because I only use # emacsclient. - postInstall = attrs.postInstall + '' + postInstall = (attrs.postInstall or "") + '' rm $out/share/applications/emacs.desktop ''; }); @@ -573,6 +565,55 @@ services.emacs.install = true; <RET> nixos-rebuild <RET>.
+ +
+ Editing DocBook 5 XML Documents + + Emacs includes nXML, + a major-mode for validating and editing XML documents. + When editing DocBook 5.0 documents, such as + this one, + nXML needs to be configured with the relevant schema, which is + not included. + + + + To install the DocBook 5.0 schemas, either add + pkgs.docbook5 to + environment.systemPackages (NixOS), or run + nix-env -i pkgs.docbook5 + (Nix). + + + + Then customize the variable rng-schema-locating-files to include ~/.emacs.d/schemas.xml and put the following text into that file: + + nXML Schema Configuration (<filename>~/.emacs.d/schemas.xml</filename>) + + + + + + + +]]> + + + +
diff --git a/nixos/modules/services/editors/infinoted.nix b/nixos/modules/services/editors/infinoted.nix new file mode 100644 index 000000000000..963147b18a04 --- /dev/null +++ b/nixos/modules/services/editors/infinoted.nix @@ -0,0 +1,158 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.infinoted; +in { + options.services.infinoted = { + enable = mkEnableOption "infinoted"; + + package = mkOption { + type = types.package; + default = pkgs.libinfinity.override { daemon = true; }; + defaultText = "pkgs.libinfinity.override { daemon = true; }"; + description = '' + Package providing infinoted + ''; + }; + + keyFile = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + Private key to use for TLS + ''; + }; + + certificateFile = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + Server certificate to use for TLS + ''; + }; + + certificateChain = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + Chain of CA-certificates to which our `certificateFile` is relative. + Optional for TLS. + ''; + }; + + securityPolicy = mkOption { + type = types.enum ["no-tls" "allow-tls" "require-tls"]; + default = "require-tls"; + description = '' + How strictly to enforce clients connection with TLS. + ''; + }; + + port = mkOption { + type = types.int; + default = 6523; + description = '' + Port to listen on + ''; + }; + + rootDirectory = mkOption { + type = types.path; + default = "/var/lib/infinoted/documents/"; + description = '' + Root of the directory structure to serve + ''; + }; + + plugins = mkOption { + type = types.listOf types.str; + default = [ "note-text" "note-chat" "logging" "autosave" ]; + description = '' + Plugins to enable + ''; + }; + + passwordFile = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + File to read server-wide password from + ''; + }; + + extraConfig = mkOption { + type = types.lines; + default = '' + [autosave] + interval=10 + ''; + description = '' + Additional configuration to append to infinoted.conf + ''; + }; + + user = mkOption { + type = types.str; + default = "infinoted"; + description = '' + What to call the dedicated user under which infinoted is run + ''; + }; + + group = mkOption { + type = types.str; + default = "infinoted"; + description = '' + What to call the primary group of the dedicated user under which infinoted is run + ''; + }; + }; + + config = mkIf (cfg.enable) { + users.extraUsers = optional (cfg.user == "infinoted") + { name = "infinoted"; + description = "Infinoted user"; + group = cfg.group; + }; + users.extraGroups = optional (cfg.group == "infinoted") + { name = "infinoted"; + }; + + systemd.services.infinoted = + { description = "Gobby Dedicated Server"; + + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + + serviceConfig = { + Type = "simple"; + Restart = "always"; + ExecStart = "${cfg.package}/bin/infinoted-0.6 --config-file=/var/lib/infinoted/infinoted.conf"; + User = cfg.user; + Group = cfg.group; + PermissionsStartOnly = true; + }; + preStart = '' + mkdir -p /var/lib/infinoted + install -o ${cfg.user} -g ${cfg.group} -m 0600 /dev/null /var/lib/infinoted/infinoted.conf + cat >>/var/lib/infinoted/infinoted.conf <.wld) which should be loaded. @@ -126,8 +126,8 @@ in User = "terraria"; Type = "oneshot"; RemainAfterExit = true; - ExecStart = "${pkgs.tmux.bin}/bin/tmux -S /var/lib/terraria/terraria.sock new -d ${pkgs.terraria-server}/bin/TerrariaServer ${concatStringsSep " " flags}"; - ExecStop = "${pkgs.tmux.bin}/bin/tmux -S /var/lib/terraria/terraria.sock send-keys Enter \"exit\" Enter"; + ExecStart = "${getBin pkgs.tmux}/bin/tmux -S /var/lib/terraria/terraria.sock new -d ${pkgs.terraria-server}/bin/TerrariaServer ${concatStringsSep " " flags}"; + ExecStop = "${getBin pkgs.tmux}/bin/tmux -S /var/lib/terraria/terraria.sock send-keys Enter \"exit\" Enter"; }; postStart = '' diff --git a/nixos/modules/services/hardware/brltty.nix b/nixos/modules/services/hardware/brltty.nix index 03e530b2c96d..1266e8f81e5b 100644 --- a/nixos/modules/services/hardware/brltty.nix +++ b/nixos/modules/services/hardware/brltty.nix @@ -28,7 +28,7 @@ in { }; serviceConfig = { ExecStart = "${pkgs.brltty}/bin/brltty --no-daemon"; - Type = "simple"; # Change to notidy after next releae + Type = "notify"; TimeoutStartSec = 5; TimeoutStopSec = 10; Restart = "always"; @@ -39,6 +39,8 @@ in { ProtectSystem = "full"; SystemCallArchitectures = "native"; }; + wants = [ "systemd-udev-settle.service" ]; + after = [ "local-fs.target" "systemd-udev-settle.service" ]; before = [ "sysinit.target" ]; wantedBy = [ "sysinit.target" ]; }; diff --git a/nixos/modules/services/hardware/pommed.nix b/nixos/modules/services/hardware/pommed.nix index 7be4dc1e8464..bf7d6a46a293 100644 --- a/nixos/modules/services/hardware/pommed.nix +++ b/nixos/modules/services/hardware/pommed.nix @@ -2,7 +2,9 @@ with lib; -{ +let cfg = config.services.hardware.pommed; + defaultConf = "${pkgs.pommed_light}/etc/pommed.conf.mactel"; +in { options = { @@ -12,37 +14,37 @@ with lib; type = types.bool; default = false; description = '' - Whether to use the pommed tool to handle Apple laptop keyboard hotkeys. + Whether to use the pommed tool to handle Apple laptop + keyboard hotkeys. ''; }; configFile = mkOption { - type = types.path; + type = types.nullOr types.path; + default = null; description = '' - The path to the pommed.conf file. + The path to the pommed.conf file. Leave + to null to use the default config file + (/etc/pommed.conf.mactel). See the + files /etc/pommed.conf.mactel and + /etc/pommed.conf.pmac for examples to + build on. ''; }; }; }; - config = mkIf config.services.hardware.pommed.enable { - environment.systemPackages = [ pkgs.polkit ]; + config = mkIf cfg.enable { + environment.systemPackages = [ pkgs.polkit pkgs.pommed_light ]; - environment.etc."pommed.conf".source = config.services.hardware.pommed.configFile; - - services.hardware.pommed.configFile = "${pkgs.pommed}/etc/pommed.conf"; - - services.dbus.packages = [ pkgs.pommed ]; + environment.etc."pommed.conf".source = + if cfg.configFile == null then defaultConf else cfg.configFile; systemd.services.pommed = { - description = "Pommed hotkey management"; + description = "Pommed Apple Hotkeys Daemon"; wantedBy = [ "multi-user.target" ]; - after = [ "dbus.service" ]; - postStop = "rm -f /var/run/pommed.pid"; - script = "${pkgs.pommed}/bin/pommed"; - serviceConfig.Type = "forking"; - path = [ pkgs.eject ]; + script = "${pkgs.pommed_light}/bin/pommed -f"; }; }; } diff --git a/nixos/modules/services/hardware/sane.nix b/nixos/modules/services/hardware/sane.nix index a34037403123..8ddb9ef9c53b 100644 --- a/nixos/modules/services/hardware/sane.nix +++ b/nixos/modules/services/hardware/sane.nix @@ -7,9 +7,35 @@ let pkg = if config.hardware.sane.snapshot then pkgs.sane-backends-git else pkgs.sane-backends; - backends = [ pkg ] ++ config.hardware.sane.extraBackends; + + sanedConf = pkgs.writeTextFile { + name = "saned.conf"; + destination = "/etc/sane.d/saned.conf"; + text = '' + localhost + ${config.services.saned.extraConfig} + ''; + }; + + netConf = pkgs.writeTextFile { + name = "net.conf"; + destination = "/etc/sane.d/net.conf"; + text = '' + ${lib.optionalString config.services.saned.enable "localhost"} + ${config.hardware.sane.netConf} + ''; + }; + + env = { + SANE_CONFIG_DIR = config.hardware.sane.configDir; + LD_LIBRARY_PATH = [ "${saneConfig}/lib/sane" ]; + }; + + backends = [ pkg netConf ] ++ optional config.services.saned.enable sanedConf ++ config.hardware.sane.extraBackends; saneConfig = pkgs.mkSaneConfig { paths = backends; }; + enabled = config.hardware.sane.enable || config.services.saned.enable; + in { @@ -51,27 +77,86 @@ in hardware.sane.configDir = mkOption { type = types.string; + internal = true; description = "The value of SANE_CONFIG_DIR."; }; + hardware.sane.netConf = mkOption { + type = types.lines; + default = ""; + example = "192.168.0.16"; + description = '' + Network hosts that should be probed for remote scanners. + ''; + }; + + services.saned.enable = mkOption { + type = types.bool; + default = false; + description = '' + Enable saned network daemon for remote connection to scanners. + + saned would be runned from scanner user; to allow + access to hardware that doesn't have scanner group + you should add needed groups to this user. + ''; + }; + + services.saned.extraConfig = mkOption { + type = types.lines; + default = ""; + example = "192.168.0.0/24"; + description = '' + Extra saned configuration lines. + ''; + }; + }; ###### implementation - config = mkIf config.hardware.sane.enable { + config = mkMerge [ + (mkIf enabled { + hardware.sane.configDir = mkDefault "${saneConfig}/etc/sane.d"; - hardware.sane.configDir = mkDefault "${saneConfig}/etc/sane.d"; + environment.systemPackages = backends; + environment.sessionVariables = env; + services.udev.packages = backends; - environment.systemPackages = backends; - environment.sessionVariables = { - SANE_CONFIG_DIR = config.hardware.sane.configDir; - LD_LIBRARY_PATH = [ "${saneConfig}/lib/sane" ]; - }; - services.udev.packages = backends; + users.extraGroups."scanner".gid = config.ids.gids.scanner; + }) - users.extraGroups."scanner".gid = config.ids.gids.scanner; + (mkIf config.services.saned.enable { + networking.firewall.connectionTrackingModules = [ "sane" ]; - }; + systemd.services."saned@" = { + description = "Scanner Service"; + environment = mapAttrs (name: val: toString val) env; + serviceConfig = { + User = "scanner"; + Group = "scanner"; + ExecStart = "${pkg}/bin/saned"; + }; + }; + + systemd.sockets.saned = { + description = "saned incoming socket"; + wantedBy = [ "sockets.target" ]; + listenStreams = [ "0.0.0.0:6566" "[::]:6566" ]; + socketConfig = { + # saned needs to distinguish between IPv4 and IPv6 to open matching data sockets. + BindIPv6Only = "ipv6-only"; + Accept = true; + MaxConnections = 1; + }; + }; + + users.extraUsers."scanner" = { + uid = config.ids.uids.scanner; + group = "scanner"; + }; + }) + ]; } diff --git a/nixos/modules/services/hardware/sane_extra_backends/brscan4.nix b/nixos/modules/services/hardware/sane_extra_backends/brscan4.nix index 3ec74458cd29..1923addeb3ac 100644 --- a/nixos/modules/services/hardware/sane_extra_backends/brscan4.nix +++ b/nixos/modules/services/hardware/sane_extra_backends/brscan4.nix @@ -81,12 +81,11 @@ in { office1 = { model = "MFC-7860DW"; ip = "192.168.1.2"; }; office2 = { model = "MFC-7860DW"; nodename = "BRW0080927AFBCE"; }; }; - type = types.loaOf types.optionSet; + type = with types; loaOf (submodule netDeviceOpts); description = '' The list of network devices that will be registered against the brscan4 sane backend. ''; - options = [ netDeviceOpts ]; }; }; @@ -113,4 +112,4 @@ in ]; }; -} \ No newline at end of file +} diff --git a/nixos/modules/services/hardware/tlp.nix b/nixos/modules/services/hardware/tlp.nix index 281d02a8c65e..f36a9e7b4596 100644 --- a/nixos/modules/services/hardware/tlp.nix +++ b/nixos/modules/services/hardware/tlp.nix @@ -40,7 +40,7 @@ in }; extraConfig = mkOption { - type = types.str; + type = types.lines; default = ""; description = "Additional configuration variables for TLP"; }; diff --git a/nixos/modules/services/hardware/udev.nix b/nixos/modules/services/hardware/udev.nix index 7c4c93d0fcb3..14d65978c320 100644 --- a/nixos/modules/services/hardware/udev.nix +++ b/nixos/modules/services/hardware/udev.nix @@ -32,13 +32,11 @@ let ''; # Perform substitutions in all udev rules files. - udevRules = stdenv.mkDerivation { - name = "udev-rules"; - - preferLocalBuild = true; - allowSubstitutes = false; - - buildCommand = '' + udevRules = pkgs.runCommand "udev-rules" + { preferLocalBuild = true; + allowSubstitutes = false; + } + '' mkdir -p $out shopt -s nullglob set +o pipefail @@ -130,15 +128,12 @@ let ln -s /dev/null $out/80-drivers.rules ''} ''; # */ - }; - hwdbBin = stdenv.mkDerivation { - name = "hwdb.bin"; - - preferLocalBuild = true; - allowSubstitutes = false; - - buildCommand = '' + hwdbBin = pkgs.runCommand "hwdb.bin" + { preferLocalBuild = true; + allowSubstitutes = false; + } + '' mkdir -p etc/udev/hwdb.d for i in ${toString ([udev] ++ cfg.packages)}; do echo "Adding hwdb files for package $i" @@ -151,7 +146,6 @@ let ${udev}/bin/udevadm hwdb --update --root=$(pwd) mv etc/udev/hwdb.bin $out ''; - }; # Udev has a 512-character limit for ENV{PATH}, so create a symlink # tree to work around this. diff --git a/nixos/modules/services/logging/logcheck.nix b/nixos/modules/services/logging/logcheck.nix index 755599ff6215..86451ec318c9 100644 --- a/nixos/modules/services/logging/logcheck.nix +++ b/nixos/modules/services/logging/logcheck.nix @@ -55,49 +55,53 @@ let levelOption = mkOption { default = "server"; - type = types.str; + type = types.enum [ "workstation" "server" "paranoid" ]; description = '' - Set the logcheck level. Either "workstation", "server", or "paranoid". + Set the logcheck level. ''; }; ignoreOptions = { - level = levelOption; + options = { + level = levelOption; - regex = mkOption { - default = ""; - type = types.str; - description = '' - Regex specifying which log lines to ignore. - ''; + regex = mkOption { + default = ""; + type = types.str; + description = '' + Regex specifying which log lines to ignore. + ''; + }; }; }; ignoreCronOptions = { - user = mkOption { - default = "root"; - type = types.str; - description = '' - User that runs the cronjob. - ''; - }; + options = { + user = mkOption { + default = "root"; + type = types.str; + description = '' + User that runs the cronjob. + ''; + }; - cmdline = mkOption { - default = ""; - type = types.str; - description = '' - Command line for the cron job. Will be turned into a regex for the logcheck ignore rule. - ''; - }; + cmdline = mkOption { + default = ""; + type = types.str; + description = '' + Command line for the cron job. Will be turned into a regex for the logcheck ignore rule. + ''; + }; - timeArgs = mkOption { - default = null; - type = types.nullOr (types.str); - example = "02 06 * * *"; - description = '' - "min hr dom mon dow" crontab time args, to auto-create a cronjob too. - Leave at null to not do this and just add a logcheck ignore rule. - ''; + timeArgs = mkOption { + default = null; + type = types.nullOr (types.str); + example = "02 06 * * *"; + description = '' + "min hr dom mon dow" crontab time args, to auto-create a cronjob too. + Leave at null to not do this and just add a logcheck ignore rule. + ''; + }; }; }; @@ -180,8 +184,7 @@ in description = '' This option defines extra ignore rules. ''; - type = types.loaOf types.optionSet; - options = [ ignoreOptions ]; + type = with types; loaOf (submodule ignoreOptions); }; ignoreCron = mkOption { @@ -189,8 +192,7 @@ in description = '' This option defines extra ignore rules for cronjobs. ''; - type = types.loaOf types.optionSet; - options = [ ignoreOptions ignoreCronOptions ]; + type = with types; loaOf (submodule ignoreCronOptions); }; extraGroups = mkOption { diff --git a/nixos/modules/services/logging/syslogd.nix b/nixos/modules/services/logging/syslogd.nix index a0f8e89fa691..fe0b0490811d 100644 --- a/nixos/modules/services/logging/syslogd.nix +++ b/nixos/modules/services/logging/syslogd.nix @@ -100,6 +100,12 @@ in config = mkIf cfg.enable { + assertions = + [ { assertion = !config.services.rsyslogd.enable; + message = "rsyslogd conflicts with syslogd"; + } + ]; + environment.systemPackages = [ pkgs.sysklogd ]; services.syslogd.extraParams = optional cfg.enableNetworkInput "-r"; diff --git a/nixos/modules/services/mail/dovecot.nix b/nixos/modules/services/mail/dovecot.nix index 7848288850af..1d427429b9cd 100644 --- a/nixos/modules/services/mail/dovecot.nix +++ b/nixos/modules/services/mail/dovecot.nix @@ -111,7 +111,7 @@ in }; extraConfig = mkOption { - type = types.str; + type = types.lines; default = ""; example = "mail_debug = yes"; description = "Additional entries to put verbatim into Dovecot's config file."; @@ -271,6 +271,9 @@ in { assertion = cfg.showPAMFailure -> cfg.enablePAM; message = "dovecot is configured with showPAMFailure while enablePAM is disabled"; } + { assertion = (cfg.sieveScripts != {}) -> ((cfg.mailUser != null) && (cfg.mailGroup != null)); + message = "dovecot requires mailUser and mailGroup to be set when sieveScripts is set"; + } ]; }; diff --git a/nixos/modules/services/mail/freepops.nix b/nixos/modules/services/mail/freepops.nix index e8c30a36923f..5b729ca50a5e 100644 --- a/nixos/modules/services/mail/freepops.nix +++ b/nixos/modules/services/mail/freepops.nix @@ -74,7 +74,8 @@ in config = mkIf cfg.enable { systemd.services.freepopsd = { description = "Freepopsd (webmail over POP3)"; - wantedBy = [ "ip-up.target" ]; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; script = '' ${pkgs.freepops}/bin/freepopsd \ -p ${toString cfg.port} \ diff --git a/nixos/modules/services/networking/offlineimap.nix b/nixos/modules/services/mail/offlineimap.nix similarity index 97% rename from nixos/modules/services/networking/offlineimap.nix rename to nixos/modules/services/mail/offlineimap.nix index daf6196d3706..85ece020905b 100644 --- a/nixos/modules/services/networking/offlineimap.nix +++ b/nixos/modules/services/mail/offlineimap.nix @@ -59,7 +59,7 @@ in { }; path = cfg.path; }; - environment.systemPackages = [ "${cfg.package}" ]; + environment.systemPackages = [ cfg.package ]; systemd.user.timers.offlineimap = { description = "offlineimap timer"; timerConfig = { diff --git a/nixos/modules/services/mail/opensmtpd.nix b/nixos/modules/services/mail/opensmtpd.nix index fb94560e10aa..53acdba42457 100644 --- a/nixos/modules/services/mail/opensmtpd.nix +++ b/nixos/modules/services/mail/opensmtpd.nix @@ -1,17 +1,16 @@ { config, lib, pkgs, ... }: -with pkgs; with lib; let cfg = config.services.opensmtpd; - conf = writeText "smtpd.conf" cfg.serverConfiguration; + conf = pkgs.writeText "smtpd.conf" cfg.serverConfiguration; args = concatStringsSep " " cfg.extraServerArgs; sendmail = pkgs.runCommand "opensmtpd-sendmail" {} '' mkdir -p $out/bin - ln -s ${opensmtpd}/sbin/smtpctl $out/bin/sendmail + ln -s ${pkgs.opensmtpd}/sbin/smtpctl $out/bin/sendmail ''; in { @@ -48,21 +47,19 @@ in { }; serverConfiguration = mkOption { - type = types.string; - default = ""; + type = types.lines; example = '' listen on lo accept for any deliver to lmtp localhost:24 - ''; + ''; description = '' The contents of the smtpd.conf configuration file. See the - OpenSMTPD documentation for syntax information. If this option - is left empty, the OpenSMTPD server will not start. + OpenSMTPD documentation for syntax information. ''; }; procPackages = mkOption { - type = types.listOf types.path; + type = types.listOf types.package; default = []; description = '' Packages to search for filters, tables, queues, and schedulers. @@ -100,12 +97,11 @@ in { systemd.services.opensmtpd = let procEnv = pkgs.buildEnv { name = "opensmtpd-procs"; - paths = [ opensmtpd ] ++ cfg.procPackages; + paths = [ pkgs.opensmtpd ] ++ cfg.procPackages; pathsToLink = [ "/libexec/opensmtpd" ]; }; in { wantedBy = [ "multi-user.target" ]; - wants = [ "network.target" ]; after = [ "network.target" ]; preStart = '' mkdir -p /var/spool/smtpd @@ -119,7 +115,7 @@ in { chown smtpq.root /var/spool/smtpd/purge chmod 700 /var/spool/smtpd/purge ''; - serviceConfig.ExecStart = "${opensmtpd}/sbin/smtpd -d -f ${conf} ${args}"; + serviceConfig.ExecStart = "${pkgs.opensmtpd}/sbin/smtpd -d -f ${conf} ${args}"; environment.OPENSMTPD_PROC_PATH = "${procEnv}/libexec/opensmtpd"; }; diff --git a/nixos/modules/services/mail/postgrey.nix b/nixos/modules/services/mail/postgrey.nix new file mode 100644 index 000000000000..d4ae25c066ac --- /dev/null +++ b/nixos/modules/services/mail/postgrey.nix @@ -0,0 +1,194 @@ +{ config, lib, pkgs, ... }: + +with lib; let + + cfg = config.services.postgrey; + + natural = with types; addCheck int (x: x >= 0); + natural' = with types; addCheck int (x: x > 0); + + socket = with types; addCheck (either (submodule unixSocket) (submodule inetSocket)) (x: x ? "path" || x ? "port"); + + inetSocket = with types; { + options = { + addr = mkOption { + type = nullOr string; + default = null; + example = "127.0.0.1"; + description = "The address to bind to. Localhost if null"; + }; + port = mkOption { + type = natural'; + default = 10030; + description = "Tcp port to bind to"; + }; + }; + }; + + unixSocket = with types; { + options = { + path = mkOption { + type = path; + default = "/var/run/postgrey.sock"; + description = "Path of the unix socket"; + }; + + mode = mkOption { + type = string; + default = "0777"; + description = "Mode of the unix socket"; + }; + }; + }; + +in { + + options = { + services.postgrey = with types; { + enable = mkOption { + type = bool; + default = false; + description = "Whether to run the Postgrey daemon"; + }; + socket = mkOption { + type = socket; + default = { + path = "/var/run/postgrey.sock"; + mode = "0777"; + }; + example = { + addr = "127.0.0.1"; + port = 10030; + }; + description = "Socket to bind to"; + }; + greylistText = mkOption { + type = string; + default = "Greylisted for %%s seconds"; + description = "Response status text for greylisted messages; use %%s for seconds left until greylisting is over and %%r for mail domain of recipient"; + }; + greylistAction = mkOption { + type = string; + default = "DEFER_IF_PERMIT"; + description = "Response status for greylisted messages (see access(5))"; + }; + greylistHeader = mkOption { + type = string; + default = "X-Greylist: delayed %%t seconds by postgrey-%%v at %%h; %%d"; + description = "Prepend header to greylisted mails; use %%t for seconds delayed due to greylisting, %%v for the version of postgrey, %%d for the date, and %%h for the host"; + }; + delay = mkOption { + type = natural; + default = 300; + description = "Greylist for N seconds"; + }; + maxAge = mkOption { + type = natural; + default = 35; + description = "Delete entries from whitelist if they haven't been seen for N days"; + }; + retryWindow = mkOption { + type = either string natural; + default = 2; + example = "12h"; + description = "Allow N days for the first retry. Use string with appended 'h' to specify time in hours"; + }; + lookupBySubnet = mkOption { + type = bool; + default = true; + description = "Strip the last N bits from IP addresses, determined by IPv4CIDR and IPv6CIDR"; + }; + IPv4CIDR = mkOption { + type = natural; + default = 24; + description = "Strip N bits from IPv4 addresses if lookupBySubnet is true"; + }; + IPv6CIDR = mkOption { + type = natural; + default = 64; + description = "Strip N bits from IPv6 addresses if lookupBySubnet is true"; + }; + privacy = mkOption { + type = bool; + default = true; + description = "Store data using one-way hash functions (SHA1)"; + }; + autoWhitelist = mkOption { + type = nullOr natural'; + default = 5; + description = "Whitelist clients after successful delivery of N messages"; + }; + whitelistClients = mkOption { + type = listOf path; + default = []; + description = "Client address whitelist files (see postgrey(8))"; + }; + whitelistRecipients = mkOption { + type = listOf path; + default = []; + description = "Recipient address whitelist files (see postgrey(8))"; + }; + }; + }; + + config = mkIf cfg.enable { + + environment.systemPackages = [ pkgs.postgrey ]; + + users = { + extraUsers = { + postgrey = { + description = "Postgrey Daemon"; + uid = config.ids.uids.postgrey; + group = "postgrey"; + }; + }; + extraGroups = { + postgrey = { + gid = config.ids.gids.postgrey; + }; + }; + }; + + systemd.services.postgrey = let + bind-flag = if cfg.socket ? "path" then + ''--unix=${cfg.socket.path} --socketmode=${cfg.socket.mode}'' + else + ''--inet=${optionalString (cfg.socket.addr != null) (cfg.socket.addr + ":")}${toString cfg.socket.port}''; + in { + description = "Postfix Greylisting Service"; + wantedBy = [ "multi-user.target" ]; + before = [ "postfix.service" ]; + preStart = '' + mkdir -p /var/postgrey + chown postgrey:postgrey /var/postgrey + chmod 0770 /var/postgrey + ''; + serviceConfig = { + Type = "simple"; + ExecStart = ''${pkgs.postgrey}/bin/postgrey \ + ${bind-flag} \ + --group=postgrey --user=postgrey \ + --dbdir=/var/postgrey \ + --delay=${toString cfg.delay} \ + --max-age=${toString cfg.maxAge} \ + --retry-window=${toString cfg.retryWindow} \ + ${if cfg.lookupBySubnet then "--lookup-by-subnet" else "--lookup-by-host"} \ + --ipv4cidr=${toString cfg.IPv4CIDR} --ipv6cidr=${toString cfg.IPv6CIDR} \ + ${optionalString cfg.privacy "--privacy"} \ + --auto-whitelist-clients=${toString (if cfg.autoWhitelist == null then 0 else cfg.autoWhitelist)} \ + --greylist-action=${cfg.greylistAction} \ + --greylist-text="${cfg.greylistText}" \ + --x-greylist-header="${cfg.greylistHeader}" \ + ${concatMapStringsSep " " (x: "--whitelist-clients=" + x) cfg.whitelistClients} \ + ${concatMapStringsSep " " (x: "--whitelist-recipients=" + x) cfg.whitelistRecipients} + ''; + Restart = "always"; + RestartSec = 5; + TimeoutSec = 10; + }; + }; + + }; + +} diff --git a/nixos/modules/services/mail/postsrsd.nix b/nixos/modules/services/mail/postsrsd.nix index 68a4c1012064..a1af16ec9ac1 100644 --- a/nixos/modules/services/mail/postsrsd.nix +++ b/nixos/modules/services/mail/postsrsd.nix @@ -20,17 +20,29 @@ in { description = "Whether to enable the postsrsd SRS server for Postfix."; }; - domain = mkOption { - type = types.str; - description = "Domain name for rewrite"; - }; - secretsFile = mkOption { type = types.path; default = "/var/lib/postsrsd/postsrsd.secret"; description = "Secret keys used for signing and verification"; }; + domain = mkOption { + type = types.str; + description = "Domain name for rewrite"; + }; + + separator = mkOption { + type = types.enum ["-" "=" "+"]; + default = "="; + description = "First separator character in generated addresses"; + }; + + # bindAddress = mkOption { # uncomment once 1.5 is released + # type = types.str; + # default = "127.0.0.1"; + # description = "Socket listen address"; + # }; + forwardPort = mkOption { type = types.int; default = 10001; @@ -43,6 +55,18 @@ in { description = "Port for the reverse SRS lookup"; }; + timeout = mkOption { + type = types.int; + default = 1800; + description = "Timeout for idle client connections in seconds"; + }; + + excludeDomains = mkOption { + type = types.listOf types.str; + default = []; + description = "Origin domains to exclude from rewriting in addition to primary domain"; + }; + user = mkOption { type = types.str; default = "postsrsd"; @@ -86,7 +110,7 @@ in { path = [ pkgs.coreutils ]; serviceConfig = { - ExecStart = ''${pkgs.postsrsd}/sbin/postsrsd "-s${cfg.secretsFile}" "-d${cfg.domain}" -f${toString cfg.forwardPort} -r${toString cfg.reversePort}''; + ExecStart = ''${pkgs.postsrsd}/sbin/postsrsd "-s${cfg.secretsFile}" "-d${cfg.domain}" -a${cfg.separator} -f${toString cfg.forwardPort} -r${toString cfg.reversePort} -t${toString cfg.timeout} "-X${concatStringsSep "," cfg.excludeDomains}"''; User = cfg.user; Group = cfg.group; PermissionsStartOnly = true; diff --git a/nixos/modules/services/mail/rmilter.nix b/nixos/modules/services/mail/rmilter.nix index e27b38bc0e2e..8f18b929c114 100644 --- a/nixos/modules/services/mail/rmilter.nix +++ b/nixos/modules/services/mail/rmilter.nix @@ -203,7 +203,7 @@ milter_default_action = accept PermissionsStartOnly = true; Restart = "always"; RuntimeDirectory = "rmilter"; - RuntimeDirectoryPermissions="0755"; + RuntimeDirectoryMode = "0755"; }; }; diff --git a/nixos/modules/services/misc/apache-kafka.nix b/nixos/modules/services/misc/apache-kafka.nix index 88ce8b5a23fc..c856d3294c01 100644 --- a/nixos/modules/services/misc/apache-kafka.nix +++ b/nixos/modules/services/misc/apache-kafka.nix @@ -139,7 +139,7 @@ in { systemd.services.apache-kafka = { description = "Apache Kafka Daemon"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; serviceConfig = { ExecStart = '' ${pkgs.jre}/bin/java \ diff --git a/nixos/modules/services/misc/autofs.nix b/nixos/modules/services/misc/autofs.nix index 18f0c3eb83d5..40b48f70f7ed 100644 --- a/nixos/modules/services/misc/autofs.nix +++ b/nixos/modules/services/misc/autofs.nix @@ -22,7 +22,7 @@ in default = false; description = " Mount filesystems on demand. Unmount them automatically. - You may also be interested in afuese. + You may also be interested in afuse. "; }; diff --git a/nixos/modules/services/misc/bepasty.nix b/nixos/modules/services/misc/bepasty.nix index 5bda73ab64f0..52719222db66 100644 --- a/nixos/modules/services/misc/bepasty.nix +++ b/nixos/modules/services/misc/bepasty.nix @@ -53,7 +53,7 @@ in }; extraConfig = mkOption { - type = types.str; + type = types.lines; description = '' Extra configuration for bepasty server to be appended on the configuration. diff --git a/nixos/modules/services/misc/confd.nix b/nixos/modules/services/misc/confd.nix old mode 100644 new mode 100755 index 72ec68dee6b3..fe13013286b8 --- a/nixos/modules/services/misc/confd.nix +++ b/nixos/modules/services/misc/confd.nix @@ -33,7 +33,7 @@ in { nodes = mkOption { description = "Confd list of nodes to connect to."; - default = [ "http://127.0.0.1:4001" ]; + default = [ "http://127.0.0.1:2379" ]; type = types.listOf types.str; }; diff --git a/nixos/modules/services/misc/dictd.nix b/nixos/modules/services/misc/dictd.nix index ef744439c3d6..7e3b6431a133 100644 --- a/nixos/modules/services/misc/dictd.nix +++ b/nixos/modules/services/misc/dictd.nix @@ -2,6 +2,10 @@ with lib; +let + cfg = config.services.dictd; +in + { ###### interface @@ -20,8 +24,9 @@ with lib; DBs = mkOption { type = types.listOf types.package; - default = []; - example = [ pkgs.dictdDBs.nld2eng ]; + default = with pkgs.dictdDBs; [ wiktionary wordnet ]; + defaultText = "with pkgs.dictdDBs; [ wiktionary wordnet ]"; + example = literalExample "[ pkgs.dictdDBs.nld2eng ]"; description = ''List of databases to make available.''; }; @@ -34,8 +39,8 @@ with lib; config = let dictdb = pkgs.dictDBCollector { dictlist = map (x: { name = x.name; - filename = x; } ) config.services.dictd.DBs; }; - in mkIf config.services.dictd.enable { + filename = x; } ) cfg.DBs; }; + in mkIf cfg.enable { # get the command line client on system path to make some use of the service environment.systemPackages = [ pkgs.dict ]; diff --git a/nixos/modules/services/misc/disnix.nix b/nixos/modules/services/misc/disnix.nix index e5a125ad3245..e96645c79c77 100644 --- a/nixos/modules/services/misc/disnix.nix +++ b/nixos/modules/services/misc/disnix.nix @@ -41,6 +41,7 @@ in type = types.path; description = "The Disnix package"; default = pkgs.disnix; + defaultText = "pkgs.disnix"; }; }; diff --git a/nixos/modules/services/misc/docker-registry.nix b/nixos/modules/services/misc/docker-registry.nix index add339f9bdfe..96ac2a1cf2c9 100644 --- a/nixos/modules/services/misc/docker-registry.nix +++ b/nixos/modules/services/misc/docker-registry.nix @@ -6,14 +6,8 @@ let cfg = config.services.dockerRegistry; in { - ###### interface - options.services.dockerRegistry = { - enable = mkOption { - description = "Whether to enable docker registry server."; - default = false; - type = types.bool; - }; + enable = mkEnableOption "Docker Registry"; listenAddress = mkOption { description = "Docker registry host or ip to bind to."; @@ -35,8 +29,7 @@ in { extraConfig = mkOption { description = '' - Docker extra registry configuration. See - + Docker extra registry configuration via environment variables. ''; default = {}; type = types.attrsOf types.str; @@ -50,32 +43,24 @@ in { after = [ "network.target" ]; environment = { - REGISTRY_HOST = cfg.listenAddress; - REGISTRY_PORT = toString cfg.port; - GUNICORN_OPTS = "[--preload]"; # see https://github.com/docker/docker-registry#sqlalchemy - STORAGE_PATH = cfg.storagePath; + REGISTRY_HTTP_ADDR = "${cfg.listenAddress}:${toString cfg.port}"; + REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY = cfg.storagePath; } // cfg.extraConfig; + script = '' + ${pkgs.docker-distribution}/bin/registry serve \ + ${pkgs.docker-distribution.out}/share/go/src/github.com/docker/distribution/cmd/registry/config-example.yml + ''; + serviceConfig = { - ExecStart = "${pkgs.pythonPackages.docker_registry}/bin/docker-registry"; User = "docker-registry"; - Group = "docker"; - PermissionsStartOnly = true; WorkingDirectory = cfg.storagePath; }; - - postStart = '' - until ${pkgs.curl.bin}/bin/curl -s -o /dev/null 'http://${cfg.listenAddress}:${toString cfg.port}/'; do - sleep 1; - done - ''; }; - users.extraGroups.docker.gid = mkDefault config.ids.gids.docker; users.extraUsers.docker-registry = { createHome = true; home = cfg.storagePath; - uid = config.ids.uids.docker-registry; }; }; } diff --git a/nixos/modules/services/misc/emby.nix b/nixos/modules/services/misc/emby.nix index fe872349f45e..9f290ed70c97 100644 --- a/nixos/modules/services/misc/emby.nix +++ b/nixos/modules/services/misc/emby.nix @@ -43,7 +43,7 @@ in User = cfg.user; Group = cfg.group; PermissionsStartOnly = "true"; - ExecStart = "${pkgs.mono}/bin/mono ${pkgs.emby}/bin/MediaBrowser.Server.Mono.exe"; + ExecStart = "${pkgs.emby}/bin/MediaBrowser.Server.Mono"; Restart = "on-failure"; }; }; diff --git a/nixos/modules/services/misc/errbot.nix b/nixos/modules/services/misc/errbot.nix new file mode 100644 index 000000000000..427cb7c546d0 --- /dev/null +++ b/nixos/modules/services/misc/errbot.nix @@ -0,0 +1,101 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.errbot; + pluginEnv = plugins: pkgs.buildEnv { + name = "errbot-plugins"; + paths = plugins; + }; + mkConfigDir = instanceCfg: dataDir: pkgs.writeTextDir "config.py" '' + import logging + BACKEND = '${instanceCfg.backend}' + BOT_DATA_DIR = '${dataDir}' + BOT_EXTRA_PLUGIN_DIR = '${pluginEnv instanceCfg.plugins}' + + BOT_LOG_LEVEL = logging.${instanceCfg.logLevel} + BOT_LOG_FILE = False + + BOT_ADMINS = (${concatMapStringsSep "," (name: "'${name}'") instanceCfg.admins}) + + BOT_IDENTITY = ${builtins.toJSON instanceCfg.identity} + + ${instanceCfg.extraConfig} + ''; +in { + options = { + services.errbot.instances = mkOption { + default = {}; + description = "Errbot instance configs"; + type = types.attrsOf (types.submodule { + options = { + dataDir = mkOption { + type = types.nullOr types.path; + default = null; + description = "Data directory for errbot instance."; + }; + + plugins = mkOption { + type = types.listOf types.package; + default = []; + description = "List of errbot plugin derivations."; + }; + + logLevel = mkOption { + type = types.str; + default = "INFO"; + description = "Errbot log level"; + }; + + admins = mkOption { + type = types.listOf types.str; + default = []; + description = "List of identifiers of errbot admins."; + }; + + backend = mkOption { + type = types.str; + default = "XMPP"; + description = "Errbot backend name."; + }; + + identity = mkOption { + type = types.attrs; + description = "Errbot identity configuration"; + }; + + extraConfig = mkOption { + type = types.lines; + default = ""; + description = "String to be appended to the config verbatim"; + }; + }; + }); + }; + }; + + config = mkIf (cfg.instances != {}) { + users.extraUsers.errbot.group = "errbot"; + users.extraGroups.errbot = {}; + + systemd.services = mapAttrs' (name: instanceCfg: nameValuePair "errbot-${name}" ( + let + dataDir = if !isNull instanceCfg.dataDir then instanceCfg.dataDir else + "/var/lib/errbot/${name}"; + in { + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + preStart = '' + mkdir -p ${dataDir} + chown -R errbot:errbot ${dataDir} + ''; + serviceConfig = { + User = "errbot"; + Restart = "on-failure"; + ExecStart = "${pkgs.errbot}/bin/errbot -c ${mkConfigDir instanceCfg dataDir}/config.py"; + PermissionsStartOnly = true; + }; + })) cfg.instances; + }; +} diff --git a/nixos/modules/services/misc/etcd.nix b/nixos/modules/services/misc/etcd.nix index 0d6ed8eb9043..1de02d76ba0a 100644 --- a/nixos/modules/services/misc/etcd.nix +++ b/nixos/modules/services/misc/etcd.nix @@ -28,13 +28,13 @@ in { listenClientUrls = mkOption { description = "Etcd list of URLs to listen on for client traffic."; - default = ["http://localhost:4001"]; + default = ["http://127.0.0.1:2379"]; type = types.listOf types.str; }; listenPeerUrls = mkOption { description = "Etcd list of URLs to listen on for peer traffic."; - default = ["http://localhost:7001"]; + default = ["http://127.0.0.1:2380"]; type = types.listOf types.str; }; @@ -46,7 +46,7 @@ in { initialCluster = mkOption { description = "Etcd initial cluster configuration for bootstrapping."; - default = ["${cfg.name}=http://localhost:7001"]; + default = ["${cfg.name}=http://127.0.0.1:2380"]; type = types.listOf types.str; }; @@ -68,6 +68,54 @@ in { type = types.str; }; + clientCertAuth = mkOption { + description = "Whether to use certs for client authentication"; + default = false; + type = types.bool; + }; + + trustedCaFile = mkOption { + description = "Certificate authority file to use for clients"; + default = null; + type = types.nullOr types.path; + }; + + certFile = mkOption { + description = "Cert file to use for clients"; + default = null; + type = types.nullOr types.path; + }; + + keyFile = mkOption { + description = "Key file to use for clients"; + default = null; + type = types.nullOr types.path; + }; + + peerCertFile = mkOption { + description = "Cert file to use for peer to peer communication"; + default = cfg.certFile; + type = types.nullOr types.path; + }; + + peerKeyFile = mkOption { + description = "Key file to use for peer to peer communication"; + default = cfg.keyFile; + type = types.nullOr types.path; + }; + + peerTrustedCaFile = mkOption { + description = "Certificate authority file to use for peer to peer communication"; + default = cfg.trustedCaFile; + type = types.nullOr types.path; + }; + + peerClientCertAuth = mkOption { + description = "Whether to check all incoming peer requests from the cluster for valid client certificates signed by the supplied CA"; + default = false; + type = types.bool; + }; + extraConf = mkOption { description = '' Etcd extra configuration. See @@ -95,11 +143,11 @@ in { config = mkIf cfg.enable { systemd.services.etcd = { - description = "Etcd Daemon"; + description = "etcd key-value store"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; - environment = { + environment = (filterAttrs (n: v: v != null) { ETCD_NAME = cfg.name; ETCD_DISCOVERY = cfg.discovery; ETCD_DATA_DIR = cfg.dataDir; @@ -107,18 +155,31 @@ in { ETCD_LISTEN_CLIENT_URLS = concatStringsSep "," cfg.listenClientUrls; ETCD_LISTEN_PEER_URLS = concatStringsSep "," cfg.listenPeerUrls; ETCD_INITIAL_ADVERTISE_PEER_URLS = concatStringsSep "," cfg.initialAdvertisePeerUrls; - } // (optionalAttrs (cfg.discovery == ""){ + ETCD_PEER_TRUSTED_CA_FILE = cfg.peerTrustedCaFile; + ETCD_PEER_CERT_FILE = cfg.peerCertFile; + ETCD_PEER_KEY_FILE = cfg.peerKeyFile; + ETCD_CLIENT_CERT_AUTH = toString cfg.peerClientCertAuth; + ETCD_TRUSTED_CA_FILE = cfg.trustedCaFile; + ETCD_CERT_FILE = cfg.certFile; + ETCD_KEY_FILE = cfg.keyFile; + }) // (optionalAttrs (cfg.discovery == ""){ ETCD_INITIAL_CLUSTER = concatStringsSep "," cfg.initialCluster; ETCD_INITIAL_CLUSTER_STATE = cfg.initialClusterState; ETCD_INITIAL_CLUSTER_TOKEN = cfg.initialClusterToken; }) // (mapAttrs' (n: v: nameValuePair "ETCD_${n}" v) cfg.extraConf); + unitConfig = { + Documentation = "https://github.com/coreos/etcd"; + }; + serviceConfig = { Type = "notify"; ExecStart = "${pkgs.etcd.bin}/bin/etcd"; User = "etcd"; PermissionsStartOnly = true; + LimitNOFILE = 40000; }; + preStart = '' mkdir -m 0700 -p ${cfg.dataDir} if [ "$(id -u)" = 0 ]; then chown etcd ${cfg.dataDir}; fi diff --git a/nixos/modules/services/misc/folding-at-home.nix b/nixos/modules/services/misc/folding-at-home.nix index 4f09cbfdd79b..053e7e95635f 100644 --- a/nixos/modules/services/misc/folding-at-home.nix +++ b/nixos/modules/services/misc/folding-at-home.nix @@ -50,7 +50,7 @@ in { }; systemd.services.foldingathome = { - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; preStart = '' mkdir -m 0755 -p ${stateDir} diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix index b3f09999adba..1fc3a5cc8691 100644 --- a/nixos/modules/services/misc/gitlab.nix +++ b/nixos/modules/services/misc/gitlab.nix @@ -164,18 +164,21 @@ in { packages.gitlab = mkOption { type = types.package; default = pkgs.gitlab; + defaultText = "pkgs.gitlab"; description = "Reference to the gitlab package"; }; packages.gitlab-shell = mkOption { type = types.package; default = pkgs.gitlab-shell; + defaultText = "pkgs.gitlab-shell"; description = "Reference to the gitlab-shell package"; }; packages.gitlab-workhorse = mkOption { type = types.package; default = pkgs.gitlab-workhorse; + defaultText = "pkgs.gitlab-workhorse"; description = "Reference to the gitlab-workhorse package"; }; @@ -425,7 +428,7 @@ in { TimeoutSec = "300"; Restart = "on-failure"; WorkingDirectory = "${cfg.packages.gitlab}/share/gitlab"; - ExecStart="${cfg.packages.gitlab.env}/bin/bundle exec \"sidekiq -q post_receive -q mailers -q system_hook -q project_web_hook -q gitlab_shell -q common -q default -e production -P ${cfg.statePath}/tmp/sidekiq.pid\""; + ExecStart="${cfg.packages.gitlab.env}/bin/bundle exec \"sidekiq -C \"${cfg.packages.gitlab}/share/gitlab/config/sidekiq_queues.yml\" -e production -P ${cfg.statePath}/tmp/sidekiq.pid\""; }; }; @@ -449,18 +452,21 @@ in { Group = cfg.group; TimeoutSec = "300"; Restart = "on-failure"; + WorkingDirectory = gitlabEnv.HOME; ExecStart = "${cfg.packages.gitlab-workhorse}/bin/gitlab-workhorse " + "-listenUmask 0 " + "-listenNetwork unix " + "-listenAddr /run/gitlab/gitlab-workhorse.socket " + "-authSocket ${gitlabSocket} " - + "-documentRoot ${cfg.packages.gitlab}/share/gitlab/public"; + + "-documentRoot ${cfg.packages.gitlab}/share/gitlab/public " + + "-secretPath ${cfg.packages.gitlab}/share/gitlab/.gitlab_workhorse_secret"; }; }; systemd.services.gitlab = { after = [ "network.target" "postgresql.service" "redis.service" ]; + requires = [ "gitlab-sidekiq.service" ]; wantedBy = [ "multi-user.target" ]; environment = gitlabEnv; path = with pkgs; [ @@ -525,17 +531,23 @@ in { psql postgres -c "CREATE ROLE gitlab WITH LOGIN NOCREATEDB NOCREATEROLE NOCREATEUSER ENCRYPTED PASSWORD '${cfg.databasePassword}'" ${config.services.postgresql.package}/bin/createdb --owner gitlab gitlab || true touch "${cfg.statePath}/db-created" - - # The gitlab:setup task is horribly broken somehow, these two tasks will do the same for setting up the initial database - ${gitlab-rake}/bin/gitlab-rake db:migrate RAILS_ENV=production - ${gitlab-rake}/bin/gitlab-rake db:seed_fu RAILS_ENV=production \ - GITLAB_ROOT_PASSWORD="${cfg.initialRootPassword}" GITLAB_ROOT_EMAIL="${cfg.initialRootEmail}"; fi fi + # enable required pg_trgm extension for gitlab + psql gitlab -c "CREATE EXTENSION IF NOT EXISTS pg_trgm" # Always do the db migrations just to be sure the database is up-to-date ${gitlab-rake}/bin/gitlab-rake db:migrate RAILS_ENV=production + # The gitlab:setup task is horribly broken somehow, the db:migrate + # task above and the db:seed_fu below will do the same for setting + # up the initial database + if ! test -e "${cfg.statePath}/db-seeded"; then + ${gitlab-rake}/bin/gitlab-rake db:seed_fu RAILS_ENV=production \ + GITLAB_ROOT_PASSWORD="${cfg.initialRootPassword}" GITLAB_ROOT_EMAIL="${cfg.initialRootEmail}" + touch "${cfg.statePath}/db-seeded" + fi + # Change permissions in the last step because some of the # intermediary scripts like to create directories as root. chown -R ${cfg.user}:${cfg.group} ${cfg.statePath} diff --git a/nixos/modules/services/misc/leaps.nix b/nixos/modules/services/misc/leaps.nix new file mode 100644 index 000000000000..b92cf27f58dc --- /dev/null +++ b/nixos/modules/services/misc/leaps.nix @@ -0,0 +1,62 @@ +{ config, pkgs, lib, ... } @ args: + +with lib; + +let + cfg = config.services.leaps; + stateDir = "/var/lib/leaps/"; +in +{ + options = { + services.leaps = { + enable = mkEnableOption "leaps"; + port = mkOption { + type = types.int; + default = 8080; + description = "A port where leaps listens for incoming http requests"; + }; + address = mkOption { + default = ""; + type = types.str; + example = "127.0.0.1"; + description = "Hostname or IP-address to listen to. By default it will listen on all interfaces."; + }; + path = mkOption { + default = "/"; + type = types.path; + description = "Subdirectory used for reverse proxy setups"; + }; + }; + }; + + config = mkIf cfg.enable { + users = { + users.leaps = { + uid = config.ids.uids.leaps; + description = "Leaps server user"; + group = "leaps"; + home = stateDir; + createHome = true; + }; + + groups.leaps = { + gid = config.ids.gids.leaps; + }; + }; + + systemd.services.leaps = { + description = "leaps service"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + + serviceConfig = { + User = "leaps"; + Group = "leaps"; + Restart = "on-failure"; + WorkingDirectory = stateDir; + PrivateTmp = true; + ExecStart = "${pkgs.leaps.bin}/bin/leaps -path ${toString cfg.path} -address ${cfg.address}:${toString cfg.port}"; + }; + }; + }; +} diff --git a/nixos/modules/services/misc/matrix-synapse.nix b/nixos/modules/services/misc/matrix-synapse.nix index bb8dc640f981..4a1bea50c14e 100644 --- a/nixos/modules/services/misc/matrix-synapse.nix +++ b/nixos/modules/services/misc/matrix-synapse.nix @@ -5,15 +5,20 @@ with lib; let cfg = config.services.matrix-synapse; logConfigFile = pkgs.writeText "log_config.yaml" cfg.logConfig; - mkResource = r: ''{names: ${builtins.toJSON r.names}, compress: ${if r.compress then "true" else "false"}}''; - mkListener = l: ''{port: ${toString l.port}, bind_address: "${l.bind_address}", type: ${l.type}, tls: ${if l.tls then "true" else "false"}, x_forwarded: ${if l.x_forwarded then "true" else "false"}, resources: [${concatStringsSep "," (map mkResource l.resources)}]}''; + mkResource = r: ''{names: ${builtins.toJSON r.names}, compress: ${fromBool r.compress}}''; + mkListener = l: ''{port: ${toString l.port}, bind_address: "${l.bind_address}", type: ${l.type}, tls: ${fromBool l.tls}, x_forwarded: ${fromBool l.x_forwarded}, resources: [${concatStringsSep "," (map mkResource l.resources)}]}''; + fromBool = x: if x then "true" else "false"; configFile = pkgs.writeText "homeserver.yaml" '' +${optionalString (cfg.tls_certificate_path != null) '' tls_certificate_path: "${cfg.tls_certificate_path}" +''} ${optionalString (cfg.tls_private_key_path != null) '' tls_private_key_path: "${cfg.tls_private_key_path}" ''} +${optionalString (cfg.tls_dh_params_path != null) '' tls_dh_params_path: "${cfg.tls_dh_params_path}" -no_tls: ${if cfg.no_tls then "true" else "false"} +''} +no_tls: ${fromBool cfg.no_tls} ${optionalString (cfg.bind_port != null) '' bind_port: ${toString cfg.bind_port} ''} @@ -25,7 +30,7 @@ bind_host: "${cfg.bind_host}" ''} server_name: "${cfg.server_name}" pid_file: "/var/run/matrix-synapse.pid" -web_client: ${if cfg.web_client then "true" else "false"} +web_client: ${fromBool cfg.web_client} ${optionalString (cfg.public_baseurl != null) '' public_baseurl: "${cfg.public_baseurl}" ''} @@ -53,14 +58,19 @@ media_store_path: "/var/lib/matrix-synapse/media" uploads_path: "/var/lib/matrix-synapse/uploads" max_upload_size: "${cfg.max_upload_size}" max_image_pixels: "${cfg.max_image_pixels}" -dynamic_thumbnails: ${if cfg.dynamic_thumbnails then "true" else "false"} -url_preview_enabled: False +dynamic_thumbnails: ${fromBool cfg.dynamic_thumbnails} +url_preview_enabled: ${fromBool cfg.url_preview_enabled} +${optionalString (cfg.url_preview_enabled == true) '' +url_preview_ip_range_blacklist: ${builtins.toJSON cfg.url_preview_ip_range_blacklist} +url_preview_ip_range_whitelist: ${builtins.toJSON cfg.url_preview_ip_range_whitelist} +url_preview_url_blacklist: ${builtins.toJSON cfg.url_preview_url_blacklist} +''} recaptcha_private_key: "${cfg.recaptcha_private_key}" recaptcha_public_key: "${cfg.recaptcha_public_key}" -enable_registration_captcha: ${if cfg.enable_registration_captcha then "true" else "false"} +enable_registration_captcha: ${fromBool cfg.enable_registration_captcha} turn_uris: ${builtins.toJSON cfg.turn_uris} turn_shared_secret: "${cfg.turn_shared_secret}" -enable_registration: ${if cfg.enable_registration then "true" else "false"} +enable_registration: ${fromBool cfg.enable_registration} ${optionalString (cfg.registration_shared_secret != null) '' registration_shared_secret: "${cfg.registration_shared_secret}" ''} @@ -68,9 +78,15 @@ recaptcha_siteverify_api: "https://www.google.com/recaptcha/api/siteverify" turn_user_lifetime: "${cfg.turn_user_lifetime}" user_creation_max_duration: ${cfg.user_creation_max_duration} bcrypt_rounds: ${cfg.bcrypt_rounds} -allow_guest_access: {if cfg.allow_guest_access then "true" else "false"} -enable_metrics: ${if cfg.enable_metrics then "true" else "false"} -report_stats: ${if cfg.report_stats then "true" else "false"} +allow_guest_access: ${fromBool cfg.allow_guest_access} +trusted_third_party_id_servers: ${builtins.toJSON cfg.trusted_third_party_id_servers} +room_invite_state_types: ${builtins.toJSON cfg.room_invite_state_types} +${optionalString (cfg.macaroon_secret_key != null) '' + macaroon_secret_key: "${cfg.macaroon_secret_key}" +''} +expire_access_token: ${fromBool cfg.expire_access_token} +enable_metrics: ${fromBool cfg.enable_metrics} +report_stats: ${fromBool cfg.report_stats} signing_key_path: "/var/lib/matrix-synapse/homeserver.signing.key" key_refresh_interval: "${cfg.key_refresh_interval}" perspectives: @@ -139,8 +155,9 @@ in { ''; }; tls_certificate_path = mkOption { - type = types.str; - default = "/var/lib/matrix-synapse/homeserver.tls.crt"; + type = types.nullOr types.str; + default = null; + example = "/var/lib/matrix-synapse/homeserver.tls.crt"; description = '' PEM encoded X509 certificate for TLS. You can replace the self-signed certificate that synapse @@ -151,16 +168,17 @@ in { }; tls_private_key_path = mkOption { type = types.nullOr types.str; - default = "/var/lib/matrix-synapse/homeserver.tls.key"; - example = null; + default = null; + example = "/var/lib/matrix-synapse/homeserver.tls.key"; description = '' PEM encoded private key for TLS. Specify null if synapse is not speaking TLS directly. ''; }; tls_dh_params_path = mkOption { - type = types.str; - default = "/var/lib/matrix-synapse/homeserver.tls.dh"; + type = types.nullOr types.str; + default = null; + example = "/var/lib/matrix-synapse/homeserver.tls.dh"; description = '' PEM dh parameters for ephemeral keys ''; @@ -342,6 +360,47 @@ in { default = "10K"; description = "Number of events to cache in memory."; }; + url_preview_enabled = mkOption { + type = types.bool; + default = false; + description = '' + Is the preview URL API enabled? If enabled, you *must* specify an + explicit url_preview_ip_range_blacklist of IPs that the spider is + denied from accessing. + ''; + }; + url_preview_ip_range_blacklist = mkOption { + type = types.listOf types.str; + default = []; + description = '' + List of IP address CIDR ranges that the URL preview spider is denied + from accessing. + ''; + }; + url_preview_ip_range_whitelist = mkOption { + type = types.listOf types.str; + default = []; + description = '' + List of IP address CIDR ranges that the URL preview spider is allowed + to access even if they are specified in + url_preview_ip_range_blacklist. + ''; + }; + url_preview_url_blacklist = mkOption { + type = types.listOf types.str; + default = [ + "127.0.0.0/8" + "10.0.0.0/8" + "172.16.0.0/12" + "192.168.0.0/16" + "100.64.0.0/10" + "169.254.0.0/16" + ]; + description = '' + Optional list of URL matches that the URL preview spider is + denied from accessing. + ''; + }; recaptcha_private_key = mkOption { type = types.str; default = ""; @@ -469,6 +528,34 @@ in { accessible to anonymous users. ''; }; + trusted_third_party_id_servers = mkOption { + type = types.listOf types.str; + default = ["matrix.org"]; + description = '' + The list of identity servers trusted to verify third party identifiers by this server. + ''; + }; + room_invite_state_types = mkOption { + type = types.listOf types.str; + default = ["m.room.join_rules" "m.room.canonical_alias" "m.room.avatar" "m.room.name"]; + description = '' + A list of event types that will be included in the room_invite_state + ''; + }; + macaroon_secret_key = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + Secret key for authentication tokens + ''; + }; + expire_access_token = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable access token expiration. + ''; + }; key_refresh_interval = mkOption { type = types.str; default = "1d"; @@ -522,12 +609,10 @@ in { after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; preStart = '' - if ! test -e /var/lib/matrix-synapse; then - mkdir -p /var/lib/matrix-synapse - chmod 700 /var/lib/matrix-synapse - chown -R matrix-synapse:matrix-synapse /var/lib/matrix-synapse - ${cfg.package}/bin/homeserver --config-path ${configFile} --keys-directory /var/lib/matrix-synapse/ --generate-keys - fi + ${cfg.package}/bin/homeserver \ + --config-path ${configFile} \ + --keys-directory /var/lib/matrix-synapse \ + --generate-keys ''; serviceConfig = { Type = "simple"; @@ -535,7 +620,7 @@ in { Group = "matrix-synapse"; WorkingDirectory = "/var/lib/matrix-synapse"; PermissionsStartOnly = true; - ExecStart = "${cfg.package}/bin/homeserver --config-path ${configFile}"; + ExecStart = "${cfg.package}/bin/homeserver --config-path ${configFile} --keys-directory /var/lib/matrix-synapse"; }; }; }; diff --git a/nixos/modules/services/misc/mesos-master.nix b/nixos/modules/services/misc/mesos-master.nix index 497646b2b418..99583ebeebd5 100644 --- a/nixos/modules/services/misc/mesos-master.nix +++ b/nixos/modules/services/misc/mesos-master.nix @@ -80,7 +80,7 @@ in { systemd.services.mesos-master = { description = "Mesos Master"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; serviceConfig = { ExecStart = '' ${pkgs.mesos}/bin/mesos-master \ diff --git a/nixos/modules/services/misc/mesos-slave.nix b/nixos/modules/services/misc/mesos-slave.nix index 8c29734813a1..9ddecb6fe30c 100644 --- a/nixos/modules/services/misc/mesos-slave.nix +++ b/nixos/modules/services/misc/mesos-slave.nix @@ -105,7 +105,7 @@ in { systemd.services.mesos-slave = { description = "Mesos Slave"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; environment.MESOS_CONTAINERIZERS = concatStringsSep "," containerizers; serviceConfig = { ExecStart = '' diff --git a/nixos/modules/services/misc/nix-daemon.nix b/nixos/modules/services/misc/nix-daemon.nix index 333782d15bcb..7101cadfeed2 100644 --- a/nixos/modules/services/misc/nix-daemon.nix +++ b/nixos/modules/services/misc/nix-daemon.nix @@ -105,7 +105,9 @@ in If set, Nix will perform builds in a sandboxed environment that it will set up automatically for each build. This prevents impurities in builds by disallowing access to dependencies - outside of the Nix store. + outside of the Nix store. This isn't enabled by default for + performance. It doesn't affect derivation hashes, so changing + this option will not trigger a rebuild of packages. "; }; @@ -172,8 +174,8 @@ in sshKey = "/root/.ssh/id_buildfarm"; system = "x86_64-linux"; maxJobs = 2; - supportedFeatures = "kvm"; - mandatoryFeatures = "perf"; + supportedFeatures = [ "kvm" ]; + mandatoryFeatures = [ "perf" ]; } ]; description = '' diff --git a/nixos/modules/services/misc/nix-gc.nix b/nixos/modules/services/misc/nix-gc.nix index 5c13da6e83dd..304168c65b0b 100644 --- a/nixos/modules/services/misc/nix-gc.nix +++ b/nixos/modules/services/misc/nix-gc.nix @@ -53,7 +53,7 @@ in systemd.services.nix-gc = { description = "Nix Garbage Collector"; script = "exec ${config.nix.package.out}/bin/nix-collect-garbage ${cfg.options}"; - startAt = optionalString cfg.automatic cfg.dates; + startAt = optional cfg.automatic cfg.dates; }; }; diff --git a/nixos/modules/services/misc/nix-optimise.nix b/nixos/modules/services/misc/nix-optimise.nix new file mode 100644 index 000000000000..a76bfd9f1f19 --- /dev/null +++ b/nixos/modules/services/misc/nix-optimise.nix @@ -0,0 +1,49 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.nix.optimise; +in + +{ + + ###### interface + + options = { + + nix.optimise = { + + automatic = mkOption { + default = false; + type = types.bool; + description = "Automatically run the nix store optimiser at a specific time."; + }; + + dates = mkOption { + default = ["03:45"]; + type = types.listOf types.str; + description = '' + Specification (in the format described by + systemd.time + 5) of the time at + which the optimiser will run. + ''; + }; + }; + }; + + + ###### implementation + + config = { + + systemd.services.nix-optimise = + { description = "Nix Store Optimiser"; + serviceConfig.ExecStart = "${config.nix.package}/bin/nix-store --optimise"; + startAt = optionals cfg.automatic cfg.dates; + }; + + }; + +} diff --git a/nixos/modules/services/misc/nscd-sssd.conf b/nixos/modules/services/misc/nscd-sssd.conf new file mode 100644 index 000000000000..92380f3e4ba4 --- /dev/null +++ b/nixos/modules/services/misc/nscd-sssd.conf @@ -0,0 +1,36 @@ +server-user nscd +threads 1 +paranoia no +debug-level 0 + +enable-cache passwd yes +positive-time-to-live passwd 0 +negative-time-to-live passwd 0 +suggested-size passwd 211 +check-files passwd yes +persistent passwd no +shared passwd yes + +enable-cache group yes +positive-time-to-live group 0 +negative-time-to-live group 0 +suggested-size group 211 +check-files group yes +persistent group no +shared group yes + +enable-cache hosts yes +positive-time-to-live hosts 600 +negative-time-to-live hosts 5 +suggested-size hosts 211 +check-files hosts yes +persistent hosts no +shared hosts yes + +enable-cache services yes +positive-time-to-live services 0 +negative-time-to-live services 0 +suggested-size services 211 +check-files services yes +persistent services no +shared services yes diff --git a/nixos/modules/services/misc/parsoid.nix b/nixos/modules/services/misc/parsoid.nix index 0844190a5490..ae3f84333d2d 100644 --- a/nixos/modules/services/misc/parsoid.nix +++ b/nixos/modules/services/misc/parsoid.nix @@ -6,20 +6,21 @@ let cfg = config.services.parsoid; - conf = '' - exports.setup = function( parsoidConfig ) { - ${toString (mapAttrsToList (name: str: "parsoidConfig.setInterwiki('${name}', '${str}');") cfg.interwikis)} + confTree = { + worker_heartbeat_timeout = 300000; + logging = { level = "info"; }; + services = [{ + module = "lib/index.js"; + entrypoint = "apiServiceWorker"; + conf = { + mwApis = map (x: if isAttrs x then x else { uri = x; }) cfg.wikis; + serverInterface = cfg.interface; + serverPort = cfg.port; + }; + }]; + }; - parsoidConfig.serverInterface = "${cfg.interface}"; - parsoidConfig.serverPort = ${toString cfg.port}; - - parsoidConfig.useSelser = true; - - ${cfg.extraConfig} - }; - ''; - - confFile = builtins.toFile "localsettings.js" conf; + confFile = pkgs.writeText "config.yml" (builtins.toJSON (recursiveUpdate confTree cfg.extraConfig)); in { @@ -38,9 +39,9 @@ in ''; }; - interwikis = mkOption { - type = types.attrsOf types.str; - example = { localhost = "http://localhost/api.php"; }; + wikis = mkOption { + type = types.listOf (types.either types.str types.attrs); + example = [ "http://localhost/api.php" ]; description = '' Used MediaWiki API endpoints. ''; @@ -71,8 +72,8 @@ in }; extraConfig = mkOption { - type = types.lines; - default = ""; + type = types.attrs; + default = {}; description = '' Extra configuration to add to parsoid configuration. ''; @@ -91,7 +92,8 @@ in wantedBy = [ "multi-user.target" ]; after = [ "network.target" ]; serviceConfig = { - ExecStart = "${pkgs.nodePackages.parsoid}/lib/node_modules/parsoid/api/server.js -c ${confFile} -n ${toString cfg.workers}"; + User = "nobody"; + ExecStart = "${pkgs.nodePackages.parsoid}/lib/node_modules/parsoid/bin/server.js -c ${confFile} -n ${toString cfg.workers}"; }; }; diff --git a/nixos/modules/services/misc/plex.nix b/nixos/modules/services/misc/plex.nix index 92b352db416c..f6bf2dee9865 100644 --- a/nixos/modules/services/misc/plex.nix +++ b/nixos/modules/services/misc/plex.nix @@ -19,6 +19,14 @@ in description = "The directory where Plex stores its data files."; }; + openFirewall = mkOption { + type = types.bool; + default = false; + description = '' + Open ports in the firewall for the media server + ''; + }; + user = mkOption { type = types.str; default = "plex"; @@ -127,7 +135,7 @@ in User = cfg.user; Group = cfg.group; PermissionsStartOnly = "true"; - ExecStart = "/bin/sh -c '${cfg.package}/usr/lib/plexmediaserver/Plex\\ Media\\ Server'"; + ExecStart = "/bin/sh -c ${cfg.package}/usr/lib/plexmediaserver/Plex\\ Media\\ Server"; Restart = "on-failure"; }; environment = { @@ -141,6 +149,11 @@ in }; }; + networking.firewall = mkIf cfg.openFirewall { + allowedTCPPorts = [ 32400 3005 8324 32469 ]; + allowedUDPPorts = [ 1900 5353 32410 32412 32413 32414 ]; + }; + users.extraUsers = mkIf (cfg.user == "plex") { plex = { group = cfg.group; diff --git a/nixos/modules/services/misc/redmine.nix b/nixos/modules/services/misc/redmine.nix index 7c9483911f21..e3f1ec67cbb3 100644 --- a/nixos/modules/services/misc/redmine.nix +++ b/nixos/modules/services/misc/redmine.nix @@ -71,7 +71,7 @@ in { }; extraConfig = mkOption { - type = types.str; + type = types.lines; default = ""; description = "Extra configuration in configuration.yml"; }; diff --git a/nixos/modules/services/misc/rippled.nix b/nixos/modules/services/misc/rippled.nix index c6b67e8498ca..8bcf35a8ad38 100644 --- a/nixos/modules/services/misc/rippled.nix +++ b/nixos/modules/services/misc/rippled.nix @@ -154,43 +154,45 @@ let }; dbOptions = { - type = mkOption { - description = "Rippled database type."; - type = types.enum ["rocksdb" "nudb"]; - default = "rocksdb"; - }; + options = { + type = mkOption { + description = "Rippled database type."; + type = types.enum ["rocksdb" "nudb"]; + default = "rocksdb"; + }; - path = mkOption { - description = "Location to store the database."; - type = types.path; - default = cfg.databasePath; - }; + path = mkOption { + description = "Location to store the database."; + type = types.path; + default = cfg.databasePath; + }; - compression = mkOption { - description = "Whether to enable snappy compression."; - type = types.nullOr types.bool; - default = null; - }; + compression = mkOption { + description = "Whether to enable snappy compression."; + type = types.nullOr types.bool; + default = null; + }; - onlineDelete = mkOption { - description = "Enable automatic purging of older ledger information."; - type = types.addCheck (types.nullOr types.int) (v: v > 256); - default = cfg.ledgerHistory; - }; + onlineDelete = mkOption { + description = "Enable automatic purging of older ledger information."; + type = types.addCheck (types.nullOr types.int) (v: v > 256); + default = cfg.ledgerHistory; + }; - advisoryDelete = mkOption { - description = '' - If set, then require administrative RPC call "can_delete" - to enable online deletion of ledger records. - ''; - type = types.nullOr types.bool; - default = null; - }; + advisoryDelete = mkOption { + description = '' + If set, then require administrative RPC call "can_delete" + to enable online deletion of ledger records. + ''; + type = types.nullOr types.bool; + default = null; + }; - extraOpts = mkOption { - description = "Extra database options."; - type = types.lines; - default = ""; + extraOpts = mkOption { + description = "Extra database options."; + type = types.lines; + default = ""; + }; }; }; @@ -213,8 +215,7 @@ in ports = mkOption { description = "Ports exposed by rippled"; - type = types.attrsOf types.optionSet; - options = [portOptions]; + type = with types; attrsOf (submodule portOptions); default = { rpc = { port = 5005; @@ -238,8 +239,7 @@ in nodeDb = mkOption { description = "Rippled main database options."; - type = types.nullOr types.optionSet; - options = dbOptions; + type = with types; nullOr (submodule dbOptions); default = { type = "rocksdb"; extraOpts = '' @@ -254,15 +254,13 @@ in tempDb = mkOption { description = "Rippled temporary database options."; - type = types.nullOr types.optionSet; - options = dbOptions; + type = with types; nullOr (submodule dbOptions); default = null; }; importDb = mkOption { description = "Settings for performing a one-time import."; - type = types.nullOr types.optionSet; - options = dbOptions; + type = with types; nullOr (submodule dbOptions); default = null; }; diff --git a/nixos/modules/services/misc/sssd.nix b/nixos/modules/services/misc/sssd.nix new file mode 100644 index 000000000000..e818f4a4804d --- /dev/null +++ b/nixos/modules/services/misc/sssd.nix @@ -0,0 +1,97 @@ +{ config, lib, pkgs, ... }: +with lib; +let + cfg = config.services.sssd; + nscd = config.services.nscd; +in { + options = { + services.sssd = { + enable = mkEnableOption "the System Security Services Daemon."; + + config = mkOption { + type = types.lines; + description = "Contents of sssd.conf."; + default = '' + [sssd] + config_file_version = 2 + services = nss, pam + domains = shadowutils + + [nss] + + [pam] + + [domain/shadowutils] + id_provider = proxy + proxy_lib_name = files + auth_provider = proxy + proxy_pam_target = sssd-shadowutils + proxy_fast_alias = True + ''; + }; + + sshAuthorizedKeysIntegration = mkOption { + type = types.bool; + default = false; + description = '' + Whether to make sshd look up authorized keys from SSS. + For this to work, the ssh SSS service must be enabled in the sssd configuration. + ''; + }; + }; + }; + config = mkMerge [ + (mkIf cfg.enable { + assertions = singleton { + assertion = nscd.enable; + message = "nscd must be enabled through `services.nscd.enable` for SSSD to work."; + }; + + systemd.services.sssd = { + description = "System Security Services Daemon"; + wantedBy = [ "multi-user.target" ]; + before = [ "systemd-user-sessions.service" "nss-user-lookup.target" ]; + after = [ "network-online.target" "nscd.service" ]; + requires = [ "network-online.target" "nscd.service" ]; + wants = [ "nss-user-lookup.target" ]; + restartTriggers = [ + config.environment.etc."nscd.conf".source + config.environment.etc."sssd/sssd.conf".source + ]; + script = '' + export LDB_MODULES_PATH+="''${LDB_MODULES_PATH+:}${pkgs.ldb}/modules/ldb:${pkgs.sssd}/modules/ldb" + mkdir -p /var/lib/sss/{pubconf,db,mc,pipes,gpo_cache,secrets} /var/lib/sss/pipes/private /var/lib/sss/pubconf/krb5.include.d + ${pkgs.sssd}/bin/sssd -D + ''; + serviceConfig = { + Type = "forking"; + PIDFile = "/run/sssd.pid"; + }; + }; + + environment.etc."sssd/sssd.conf" = { + text = cfg.config; + mode = "0400"; + }; + + system.nssModules = optional cfg.enable pkgs.sssd; + services.nscd.config = builtins.readFile ./nscd-sssd.conf; + services.dbus.packages = [ pkgs.sssd ]; + }) + + (mkIf cfg.sshAuthorizedKeysIntegration { + # Ugly: sshd refuses to start if a store path is given because /nix/store is group-writable. + # So indirect by a symlink. + environment.etc."ssh/authorized_keys_command" = { + mode = "0755"; + text = '' + #!/bin/sh + exec ${pkgs.sssd}/bin/sss_ssh_authorizedkeys "$@" + ''; + }; + services.openssh.extraConfig = '' + AuthorizedKeysCommand /etc/ssh/authorized_keys_command + AuthorizedKeysCommandUser nobody + ''; + })]; +} diff --git a/nixos/modules/services/misc/svnserve.nix b/nixos/modules/services/misc/svnserve.nix index c74befac749d..04a6cd7bfa9b 100644 --- a/nixos/modules/services/misc/svnserve.nix +++ b/nixos/modules/services/misc/svnserve.nix @@ -35,7 +35,7 @@ in config = mkIf cfg.enable { systemd.services.svnserve = { - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; preStart = "mkdir -p ${cfg.svnBaseDir}"; script = "${pkgs.subversion.out}/bin/svnserve -r ${cfg.svnBaseDir} -d --foreground --pid-file=/var/run/svnserve.pid"; diff --git a/nixos/modules/services/misc/taskserver/default.nix b/nixos/modules/services/misc/taskserver/default.nix index 6d458feec345..ca82a733f6fc 100644 --- a/nixos/modules/services/misc/taskserver/default.nix +++ b/nixos/modules/services/misc/taskserver/default.nix @@ -154,7 +154,7 @@ let certtool = "${pkgs.gnutls.bin}/bin/certtool"; - nixos-taskserver = pkgs.buildPythonPackage { + nixos-taskserver = pkgs.pythonPackages.buildPythonPackage { name = "nixos-taskserver"; namePrefix = ""; @@ -292,7 +292,7 @@ in { }; allowedClientIDs = mkOption { - type = with types; loeOf (either (enum ["all" "none"]) str); + type = with types; either str (listOf str); default = []; example = [ "[Tt]ask [2-9]+" ]; description = '' @@ -306,7 +306,7 @@ in { }; disallowedClientIDs = mkOption { - type = with types; loeOf (either (enum ["all" "none"]) str); + type = with types; either str (listOf str); default = []; example = [ "[Tt]ask [2-9]+" ]; description = '' diff --git a/nixos/modules/services/misc/zookeeper.nix b/nixos/modules/services/misc/zookeeper.nix index 4ce692b6f6a5..b7bca8b56b28 100644 --- a/nixos/modules/services/misc/zookeeper.nix +++ b/nixos/modules/services/misc/zookeeper.nix @@ -113,7 +113,7 @@ in { systemd.services.zookeeper = { description = "Zookeeper Daemon"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; environment = { ZOOCFGDIR = configDir; }; serviceConfig = { ExecStart = '' diff --git a/nixos/modules/services/monitoring/bosun.nix b/nixos/modules/services/monitoring/bosun.nix index 9a1e790d3ab6..496838a131ba 100644 --- a/nixos/modules/services/monitoring/bosun.nix +++ b/nixos/modules/services/monitoring/bosun.nix @@ -107,7 +107,7 @@ in { }; extraConfig = mkOption { - type = types.string; + type = types.lines; default = ""; description = '' Extra configuration options for Bosun. You should describe your diff --git a/nixos/modules/services/monitoring/cadvisor.nix b/nixos/modules/services/monitoring/cadvisor.nix index a67df158be47..8ae8b12056ce 100644 --- a/nixos/modules/services/monitoring/cadvisor.nix +++ b/nixos/modules/services/monitoring/cadvisor.nix @@ -90,6 +90,7 @@ in { ${optionalString cfg.storageDriverSecure "-storage_driver_secure"} ''} ''; + TimeoutStartSec=300; }; }; diff --git a/nixos/modules/services/monitoring/collectd.nix b/nixos/modules/services/monitoring/collectd.nix index 3c3d83c66ed0..641da60e9adc 100644 --- a/nixos/modules/services/monitoring/collectd.nix +++ b/nixos/modules/services/monitoring/collectd.nix @@ -9,7 +9,7 @@ let BaseDir "${cfg.dataDir}" PIDFile "${cfg.pidFile}" AutoLoadPlugin ${if cfg.autoLoadPlugin then "true" else "false"} - Hostname ${config.networking.hostName} + Hostname "${config.networking.hostName}" LoadPlugin syslog @@ -108,7 +108,8 @@ in { }; preStart = '' - mkdir -m 0700 -p ${cfg.dataDir} + mkdir -p ${cfg.dataDir} + chmod 755 ${cfg.dataDir} install -D /dev/null ${cfg.pidFile} if [ "$(id -u)" = 0 ]; then chown -R ${cfg.user} ${cfg.dataDir}; diff --git a/nixos/modules/services/monitoring/graphite.nix b/nixos/modules/services/monitoring/graphite.nix index 08fc3f04dbfc..c5352e5887da 100644 --- a/nixos/modules/services/monitoring/graphite.nix +++ b/nixos/modules/services/monitoring/graphite.nix @@ -167,7 +167,7 @@ in { CACHE_TYPE: 'filesystem' CACHE_DIR: '/tmp/graphite-api-cache' ''; - type = types.str; + type = types.lines; }; }; @@ -387,7 +387,7 @@ in { systemd.services.carbonCache = let name = "carbon-cache"; in { description = "Graphite Data Storage Backend"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; environment = carbonEnv; serviceConfig = { ExecStart = "${pkgs.pythonPackages.twisted}/bin/twistd ${carbonOpts name}"; @@ -410,7 +410,7 @@ in { enable = cfg.carbon.enableAggregator; description = "Carbon Data Aggregator"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; environment = carbonEnv; serviceConfig = { ExecStart = "${pkgs.pythonPackages.twisted}/bin/twistd ${carbonOpts name}"; @@ -426,7 +426,7 @@ in { systemd.services.carbonRelay = let name = "carbon-relay"; in { description = "Carbon Data Relay"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; environment = carbonEnv; serviceConfig = { ExecStart = "${pkgs.pythonPackages.twisted}/bin/twistd ${carbonOpts name}"; @@ -448,7 +448,7 @@ in { systemd.services.graphiteWeb = { description = "Graphite Web Interface"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; path = [ pkgs.perl ]; environment = { PYTHONPATH = let @@ -501,7 +501,7 @@ in { systemd.services.graphiteApi = { description = "Graphite Api Interface"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; environment = { PYTHONPATH = let aenv = pkgs.python.buildEnv.override { @@ -538,7 +538,7 @@ in { systemd.services.seyren = { description = "Graphite Alerting Dashboard"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" "mongodb.service" ]; + after = [ "network.target" "mongodb.service" ]; environment = seyrenConfig; serviceConfig = { ExecStart = "${pkgs.seyren}/bin/seyren -httpPort ${toString cfg.seyren.port}"; @@ -561,7 +561,7 @@ in { systemd.services.graphitePager = { description = "Graphite Pager Alerting Daemon"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" "redis.service" ]; + after = [ "network.target" "redis.service" ]; environment = { REDIS_URL = cfg.pager.redisUrl; GRAPHITE_URL = cfg.pager.graphiteUrl; @@ -585,7 +585,7 @@ in { serviceConfig = { ExecStart = '' ${pkgs.pythonPackages.graphite_beacon}/bin/graphite-beacon \ - --config ${pkgs.writeText "graphite-beacon.json" (builtins.toJSON cfg.beacon.config)} + --config=${pkgs.writeText "graphite-beacon.json" (builtins.toJSON cfg.beacon.config)} ''; User = "graphite"; Group = "graphite"; diff --git a/nixos/modules/services/monitoring/monit.nix b/nixos/modules/services/monitoring/monit.nix index 704693969a35..e07ffd2e8b54 100644 --- a/nixos/modules/services/monitoring/monit.nix +++ b/nixos/modules/services/monitoring/monit.nix @@ -36,11 +36,16 @@ in ]; systemd.services.monit = { - description = "Monit system watcher"; - after = [ "network-interfaces.target" ]; + description = "Pro-active monitoring utility for unix systems"; + after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; - script = "${pkgs.monit}/bin/monit -I -c /etc/monit.conf"; - serviceConfig.Restart = "always"; + serviceConfig = { + ExecStart = "${pkgs.monit}/bin/monit -I -c /etc/monit.conf"; + ExecStop = "${pkgs.monit}/bin/monit -c /etc/monit.conf quit"; + ExecReload = "${pkgs.monit}/bin/monit -c /etc/monit.conf reload"; + KillMode = "process"; + Restart = "always"; + }; }; }; } diff --git a/nixos/modules/services/monitoring/munin.nix b/nixos/modules/services/monitoring/munin.nix index 08ba161d38bd..a80565fa280b 100644 --- a/nixos/modules/services/monitoring/munin.nix +++ b/nixos/modules/services/monitoring/munin.nix @@ -100,6 +100,7 @@ in extraConfig = mkOption { default = ""; + type = types.lines; description = '' munin-node.conf extra configuration. See diff --git a/nixos/modules/services/monitoring/nagios.nix b/nixos/modules/services/monitoring/nagios.nix index f2f7710de9e7..4914c5db97d2 100644 --- a/nixos/modules/services/monitoring/nagios.nix +++ b/nixos/modules/services/monitoring/nagios.nix @@ -163,7 +163,7 @@ in description = "Nagios monitoring daemon"; path = [ pkgs.nagios ]; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; serviceConfig = { User = "nagios"; diff --git a/nixos/modules/services/monitoring/prometheus/alertmanager.nix b/nixos/modules/services/monitoring/prometheus/alertmanager.nix new file mode 100644 index 000000000000..da2cd02eaa3b --- /dev/null +++ b/nixos/modules/services/monitoring/prometheus/alertmanager.nix @@ -0,0 +1,116 @@ +{ config, pkgs, lib, ... }: + +with lib; + +let + cfg = config.services.prometheus.alertmanager; + mkConfigFile = pkgs.writeText "alertmanager.yml" (builtins.toJSON cfg.configuration); +in { + options = { + services.prometheus.alertmanager = { + enable = mkEnableOption "Prometheus Alertmanager"; + + user = mkOption { + type = types.str; + default = "nobody"; + description = '' + User name under which Alertmanager shall be run. + ''; + }; + + group = mkOption { + type = types.str; + default = "nogroup"; + description = '' + Group under which Alertmanager shall be run. + ''; + }; + + configuration = mkOption { + type = types.attrs; + default = {}; + description = '' + Alertmanager configuration as nix attribute set. + ''; + }; + + logFormat = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + If set use a syslog logger or JSON logging. + ''; + }; + + logLevel = mkOption { + type = types.enum ["debug" "info" "warn" "error" "fatal"]; + default = "warn"; + description = '' + Only log messages with the given severity or above. + ''; + }; + + webExternalUrl = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + The URL under which Alertmanager is externally reachable (for example, if Alertmanager is served via a reverse proxy). + Used for generating relative and absolute links back to Alertmanager itself. + If the URL has a path portion, it will be used to prefix all HTTP endoints served by Alertmanager. + If omitted, relevant URL components will be derived automatically. + ''; + }; + + listenAddress = mkOption { + type = types.str; + default = ""; + description = '' + Address to listen on for the web interface and API. + ''; + }; + + port = mkOption { + type = types.int; + default = 9093; + description = '' + Port to listen on for the web interface and API. + ''; + }; + + openFirewall = mkOption { + type = types.bool; + default = false; + description = '' + Open port in firewall for incoming connections. + ''; + }; + }; + }; + + + config = mkIf cfg.enable { + networking.firewall.allowedTCPPorts = optional cfg.openFirewall cfg.port; + + systemd.services.alertmanager = { + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + script = '' + ${pkgs.prometheus-alertmanager.bin}/bin/alertmanager \ + -config.file ${mkConfigFile} \ + -web.listen-address ${cfg.listenAddress}:${toString cfg.port} \ + -log.level ${cfg.logLevel} \ + ${optionalString (cfg.webExternalUrl != null) ''-web.external-url ${cfg.webExternalUrl} \''} + ${optionalString (cfg.logFormat != null) "-log.format ${cfg.logFormat}"} + ''; + + serviceConfig = { + User = cfg.user; + Group = cfg.group; + Restart = "always"; + PrivateTmp = true; + WorkingDirectory = "/tmp"; + ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + }; + }; + }; +} diff --git a/nixos/modules/services/monitoring/prometheus/blackbox-exporter.nix b/nixos/modules/services/monitoring/prometheus/blackbox-exporter.nix new file mode 100644 index 000000000000..7a343299c315 --- /dev/null +++ b/nixos/modules/services/monitoring/prometheus/blackbox-exporter.nix @@ -0,0 +1,67 @@ +{ config, pkgs, lib, ... }: + +with lib; + +let + cfg = config.services.prometheus.blackboxExporter; +in { + options = { + services.prometheus.blackboxExporter = { + enable = mkEnableOption "prometheus blackbox exporter"; + + configFile = mkOption { + type = types.path; + description = '' + Path to configuration file. + ''; + }; + + port = mkOption { + type = types.int; + default = 9115; + description = '' + Port to listen on. + ''; + }; + + extraFlags = mkOption { + type = types.listOf types.str; + default = []; + description = '' + Extra commandline options when launching the blackbox exporter. + ''; + }; + + openFirewall = mkOption { + type = types.bool; + default = false; + description = '' + Open port in firewall for incoming connections. + ''; + }; + }; + }; + + config = mkIf cfg.enable { + networking.firewall.allowedTCPPorts = optional cfg.openFirewall cfg.port; + + systemd.services.prometheus-blackbox-exporter = { + description = "Prometheus exporter for blackbox probes"; + unitConfig.Documentation = "https://github.com/prometheus/blackbox_exporter"; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + User = "nobody"; + Restart = "always"; + PrivateTmp = true; + WorkingDirectory = /tmp; + ExecStart = '' + ${pkgs.prometheus-blackbox-exporter}/bin/blackbox_exporter \ + -web.listen-address :${toString cfg.port} \ + -config.file ${cfg.configFile} \ + ${concatStringsSep " \\\n " cfg.extraFlags} + ''; + ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + }; + }; + }; +} diff --git a/nixos/modules/services/monitoring/prometheus/default.nix b/nixos/modules/services/monitoring/prometheus/default.nix new file mode 100644 index 000000000000..a07445ce167c --- /dev/null +++ b/nixos/modules/services/monitoring/prometheus/default.nix @@ -0,0 +1,465 @@ +{ config, pkgs, lib, ... }: + +with lib; + +let + cfg = config.services.prometheus; + promUser = "prometheus"; + promGroup = "prometheus"; + + # Get a submodule without any embedded metadata: + _filter = x: filterAttrs (k: v: k != "_module") x; + + # Pretty-print JSON to a file + writePrettyJSON = name: x: + pkgs.runCommand name { } '' + echo '${builtins.toJSON x}' | ${pkgs.jq}/bin/jq . > $out + ''; + + # This becomes the main config file + promConfig = { + global = cfg.globalConfig; + rule_files = cfg.ruleFiles ++ [ + (pkgs.writeText "prometheus.rules" (concatStringsSep "\n" cfg.rules)) + ]; + scrape_configs = cfg.scrapeConfigs; + }; + + generatedPrometheusYml = writePrettyJSON "prometheus.yml" promConfig; + + prometheusYml = + if cfg.configText != null then + pkgs.writeText "prometheus.yml" cfg.configText + else generatedPrometheusYml; + + cmdlineArgs = cfg.extraFlags ++ [ + "-storage.local.path=${cfg.dataDir}/metrics" + "-config.file=${prometheusYml}" + "-web.listen-address=${cfg.listenAddress}" + "-alertmanager.notification-queue-capacity=${toString cfg.alertmanagerNotificationQueueCapacity}" + "-alertmanager.timeout=${toString cfg.alertmanagerTimeout}s" + (optionalString (cfg.alertmanagerURL != []) "-alertmanager.url=${concatStringsSep "," cfg.alertmanagerURL}") + ]; + + promTypes.globalConfig = types.submodule { + options = { + scrape_interval = mkOption { + type = types.str; + default = "1m"; + description = '' + How frequently to scrape targets by default. + ''; + }; + + scrape_timeout = mkOption { + type = types.str; + default = "10s"; + description = '' + How long until a scrape request times out. + ''; + }; + + evaluation_interval = mkOption { + type = types.str; + default = "1m"; + description = '' + How frequently to evaluate rules by default. + ''; + }; + + labels = mkOption { + type = types.attrsOf types.str; + default = {}; + description = '' + The labels to add to any timeseries that this Prometheus instance + scrapes. + ''; + }; + }; + }; + + promTypes.scrape_config = types.submodule { + options = { + job_name = mkOption { + type = types.str; + description = '' + The job name assigned to scraped metrics by default. + ''; + }; + scrape_interval = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + How frequently to scrape targets from this job. Defaults to the + globally configured default. + ''; + }; + scrape_timeout = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + Per-target timeout when scraping this job. Defaults to the + globally configured default. + ''; + }; + metrics_path = mkOption { + type = types.str; + default = "/metrics"; + description = '' + The HTTP resource path on which to fetch metrics from targets. + ''; + }; + scheme = mkOption { + type = types.enum ["http" "https"]; + default = "http"; + description = '' + The URL scheme with which to fetch metrics from targets. + ''; + }; + basic_auth = mkOption { + type = types.nullOr (types.submodule { + options = { + username = mkOption { + type = types.str; + description = '' + HTTP username + ''; + }; + password = mkOption { + type = types.str; + description = '' + HTTP password + ''; + }; + }; + }); + default = null; + description = '' + Optional http login credentials for metrics scraping. + ''; + }; + dns_sd_configs = mkOption { + type = types.listOf promTypes.dns_sd_config; + default = []; + apply = x: map _filter x; + description = '' + List of DNS service discovery configurations. + ''; + }; + consul_sd_configs = mkOption { + type = types.listOf promTypes.consul_sd_config; + default = []; + apply = x: map _filter x; + description = '' + List of Consul service discovery configurations. + ''; + }; + file_sd_configs = mkOption { + type = types.listOf promTypes.file_sd_config; + default = []; + apply = x: map _filter x; + description = '' + List of file service discovery configurations. + ''; + }; + static_configs = mkOption { + type = types.listOf promTypes.static_config; + default = []; + apply = x: map _filter x; + description = '' + List of labeled target groups for this job. + ''; + }; + relabel_configs = mkOption { + type = types.listOf promTypes.relabel_config; + default = []; + apply = x: map _filter x; + description = '' + List of relabel configurations. + ''; + }; + }; + }; + + promTypes.static_config = types.submodule { + options = { + targets = mkOption { + type = types.listOf types.str; + description = '' + The targets specified by the target group. + ''; + }; + labels = mkOption { + type = types.attrsOf types.str; + default = {}; + description = '' + Labels assigned to all metrics scraped from the targets. + ''; + }; + }; + }; + + promTypes.dns_sd_config = types.submodule { + options = { + names = mkOption { + type = types.listOf types.str; + description = '' + A list of DNS SRV record names to be queried. + ''; + }; + refresh_interval = mkOption { + type = types.str; + default = "30s"; + description = '' + The time after which the provided names are refreshed. + ''; + }; + }; + }; + + promTypes.consul_sd_config = types.submodule { + options = { + server = mkOption { + type = types.str; + description = "Consul server to query."; + }; + token = mkOption { + type = types.nullOr types.str; + description = "Consul token"; + }; + datacenter = mkOption { + type = types.nullOr types.str; + description = "Consul datacenter"; + }; + scheme = mkOption { + type = types.nullOr types.str; + description = "Consul scheme"; + }; + username = mkOption { + type = types.nullOr types.str; + description = "Consul username"; + }; + password = mkOption { + type = types.nullOr types.str; + description = "Consul password"; + }; + + services = mkOption { + type = types.listOf types.str; + description = '' + A list of services for which targets are retrieved. + ''; + }; + tag_separator = mkOption { + type = types.str; + default = ","; + description = '' + The string by which Consul tags are joined into the tag label. + ''; + }; + }; + }; + + promTypes.file_sd_config = types.submodule { + options = { + files = mkOption { + type = types.listOf types.str; + description = '' + Patterns for files from which target groups are extracted. Refer + to the Prometheus documentation for permitted filename patterns + and formats. + + ''; + }; + refresh_interval = mkOption { + type = types.str; + default = "30s"; + description = '' + Refresh interval to re-read the files. + ''; + }; + }; + }; + + promTypes.relabel_config = types.submodule { + options = { + source_labels = mkOption { + type = types.listOf types.str; + description = '' + The source labels select values from existing labels. Their content + is concatenated using the configured separator and matched against + the configured regular expression. + ''; + }; + separator = mkOption { + type = types.str; + default = ";"; + description = '' + Separator placed between concatenated source label values. + ''; + }; + target_label = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + Label to which the resulting value is written in a replace action. + It is mandatory for replace actions. + ''; + }; + regex = mkOption { + type = types.str; + default = "(.*)"; + description = '' + Regular expression against which the extracted value is matched. + ''; + }; + replacement = mkOption { + type = types.str; + default = "$1"; + description = '' + Replacement value against which a regex replace is performed if the + regular expression matches. + ''; + }; + action = mkOption { + type = types.enum ["replace" "keep" "drop"]; + default = "replace"; + description = '' + Action to perform based on regex matching. + ''; + }; + }; + }; + +in { + options = { + services.prometheus = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Enable the Prometheus monitoring daemon. + ''; + }; + + listenAddress = mkOption { + type = types.str; + default = "0.0.0.0:9090"; + description = '' + Address to listen on for the web interface, API, and telemetry. + ''; + }; + + dataDir = mkOption { + type = types.path; + default = "/var/lib/prometheus"; + description = '' + Directory to store Prometheus metrics data. + ''; + }; + + extraFlags = mkOption { + type = types.listOf types.str; + default = []; + description = '' + Extra commandline options when launching Prometheus. + ''; + }; + + configText = mkOption { + type = types.nullOr types.lines; + default = null; + description = '' + If non-null, this option defines the text that is written to + prometheus.yml. If null, the contents of prometheus.yml is generated + from the structured config options. + ''; + }; + + globalConfig = mkOption { + type = promTypes.globalConfig; + default = {}; + apply = _filter; + description = '' + Parameters that are valid in all configuration contexts. They + also serve as defaults for other configuration sections + ''; + }; + + rules = mkOption { + type = types.listOf types.str; + default = []; + description = '' + Alerting and/or Recording rules to evaluate at runtime. + ''; + }; + + ruleFiles = mkOption { + type = types.listOf types.path; + default = []; + description = '' + Any additional rules files to include in this configuration. + ''; + }; + + scrapeConfigs = mkOption { + type = types.listOf promTypes.scrape_config; + default = []; + apply = x: map _filter x; + description = '' + A list of scrape configurations. + ''; + }; + + alertmanagerURL = mkOption { + type = types.listOf types.str; + default = []; + description = '' + List of Alertmanager URLs to send notifications to. + ''; + }; + + alertmanagerNotificationQueueCapacity = mkOption { + type = types.int; + default = 10000; + description = '' + The capacity of the queue for pending alert manager notifications. + ''; + }; + + alertmanagerTimeout = mkOption { + type = types.int; + default = 10; + description = '' + Alert manager HTTP API timeout (in seconds). + ''; + }; + }; + }; + + config = mkIf cfg.enable { + users.extraGroups.${promGroup}.gid = config.ids.gids.prometheus; + users.extraUsers.${promUser} = { + description = "Prometheus daemon user"; + uid = config.ids.uids.prometheus; + group = promGroup; + home = cfg.dataDir; + createHome = true; + }; + systemd.services.prometheus = { + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + script = '' + #!/bin/sh + exec ${pkgs.prometheus}/bin/prometheus \ + ${concatStringsSep " \\\n " cmdlineArgs} + ''; + serviceConfig = { + User = promUser; + Restart = "always"; + WorkingDirectory = cfg.dataDir; + }; + }; + }; +} diff --git a/nixos/modules/services/monitoring/prometheus/json-exporter.nix b/nixos/modules/services/monitoring/prometheus/json-exporter.nix new file mode 100644 index 000000000000..6bc56df9834b --- /dev/null +++ b/nixos/modules/services/monitoring/prometheus/json-exporter.nix @@ -0,0 +1,74 @@ +{ config, pkgs, lib, ... }: + +with lib; + +let + cfg = config.services.prometheus.jsonExporter; +in { + options = { + services.prometheus.jsonExporter = { + enable = mkEnableOption "prometheus JSON exporter"; + + url = mkOption { + type = types.str; + description = '' + URL to scrape JSON from. + ''; + }; + + configFile = mkOption { + type = types.path; + description = '' + Path to configuration file. + ''; + }; + + port = mkOption { + type = types.int; + default = 7979; + description = '' + Port to listen on. + ''; + }; + + extraFlags = mkOption { + type = types.listOf types.str; + default = []; + description = '' + Extra commandline options when launching the JSON exporter. + ''; + }; + + openFirewall = mkOption { + type = types.bool; + default = false; + description = '' + Open port in firewall for incoming connections. + ''; + }; + }; + }; + + config = mkIf cfg.enable { + networking.firewall.allowedTCPPorts = optional cfg.openFirewall cfg.port; + + systemd.services.prometheus-json-exporter = { + description = "Prometheus exporter for JSON over HTTP"; + unitConfig.Documentation = "https://github.com/kawamuray/prometheus-json-exporter"; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + User = "nobody"; + Restart = "always"; + PrivateTmp = true; + WorkingDirectory = /tmp; + ExecStart = '' + ${pkgs.prometheus-json-exporter}/bin/prometheus-json-exporter \ + --port ${toString cfg.port} \ + ${cfg.url} ${cfg.configFile} \ + ${concatStringsSep " \\\n " cfg.extraFlags} + ''; + ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + }; + }; + }; +} diff --git a/nixos/modules/services/monitoring/prometheus/nginx-exporter.nix b/nixos/modules/services/monitoring/prometheus/nginx-exporter.nix new file mode 100644 index 000000000000..1ccafee3b18b --- /dev/null +++ b/nixos/modules/services/monitoring/prometheus/nginx-exporter.nix @@ -0,0 +1,78 @@ +{ config, pkgs, lib, ... }: + +with lib; + +let + cfg = config.services.prometheus.nginxExporter; +in { + options = { + services.prometheus.nginxExporter = { + enable = mkEnableOption "prometheus nginx exporter"; + + port = mkOption { + type = types.int; + default = 9113; + description = '' + Port to listen on. + ''; + }; + + listenAddress = mkOption { + type = types.string; + default = "0.0.0.0"; + description = '' + Address to listen on. + ''; + }; + + scrapeUri = mkOption { + type = types.string; + default = "http://localhost/nginx_status"; + description = '' + Address to access the nginx status page. + Can be enabled with services.nginx.statusPage = true. + ''; + }; + + extraFlags = mkOption { + type = types.listOf types.str; + default = []; + description = '' + Extra commandline options when launching the nginx exporter. + ''; + }; + + openFirewall = mkOption { + type = types.bool; + default = false; + description = '' + Open port in firewall for incoming connections. + ''; + }; + }; + }; + + config = mkIf cfg.enable { + networking.firewall.allowedTCPPorts = optional cfg.openFirewall cfg.port; + + systemd.services.prometheus-nginx-exporter = { + after = [ "network.target" "nginx.service" ]; + description = "Prometheus exporter for nginx metrics"; + unitConfig.Documentation = "https://github.com/discordianfish/nginx_exporter"; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + User = "nobody"; + Restart = "always"; + PrivateTmp = true; + WorkingDirectory = /tmp; + ExecStart = '' + ${pkgs.prometheus-nginx-exporter}/bin/nginx_exporter \ + -nginx.scrape_uri '${cfg.scrapeUri}' \ + -telemetry.address ${cfg.listenAddress}:${toString cfg.port} \ + ${concatStringsSep " \\\n " cfg.extraFlags} + ''; + ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + }; + }; + }; +} diff --git a/nixos/modules/services/monitoring/prometheus/node-exporter.nix b/nixos/modules/services/monitoring/prometheus/node-exporter.nix new file mode 100644 index 000000000000..0cf0b85afb57 --- /dev/null +++ b/nixos/modules/services/monitoring/prometheus/node-exporter.nix @@ -0,0 +1,81 @@ +{ config, pkgs, lib, ... }: + +with lib; + +let + cfg = config.services.prometheus.nodeExporter; + cmdlineArgs = cfg.extraFlags ++ [ + "-web.listen-address=${cfg.listenAddress}" + ]; +in { + options = { + services.prometheus.nodeExporter = { + enable = mkEnableOption "prometheus node exporter"; + + port = mkOption { + type = types.int; + default = 9100; + description = '' + Port to listen on. + ''; + }; + + listenAddress = mkOption { + type = types.string; + default = "0.0.0.0"; + description = '' + Address to listen on. + ''; + }; + + enabledCollectors = mkOption { + type = types.listOf types.string; + default = []; + example = ''[ "systemd" ]''; + description = '' + Collectors to enable, additionally to the defaults. + ''; + }; + + extraFlags = mkOption { + type = types.listOf types.str; + default = []; + description = '' + Extra commandline options when launching the node exporter. + ''; + }; + + openFirewall = mkOption { + type = types.bool; + default = false; + description = '' + Open port in firewall for incoming connections. + ''; + }; + }; + }; + + config = mkIf cfg.enable { + networking.firewall.allowedTCPPorts = optional cfg.openFirewall cfg.port; + + systemd.services.prometheus-node-exporter = { + description = "Prometheus exporter for machine metrics"; + unitConfig.Documentation = "https://github.com/prometheus/node_exporter"; + wantedBy = [ "multi-user.target" ]; + script = '' + exec ${pkgs.prometheus-node-exporter}/bin/node_exporter \ + ${optionalString (cfg.enabledCollectors != []) + ''-collectors.enabled ${concatStringsSep "," cfg.enabledCollectors}''} \ + -web.listen-address ${cfg.listenAddress}:${toString cfg.port} \ + ${concatStringsSep " \\\n " cfg.extraFlags} + ''; + serviceConfig = { + User = "nobody"; + Restart = "always"; + PrivateTmp = true; + WorkingDirectory = /tmp; + ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + }; + }; + }; +} diff --git a/nixos/modules/services/monitoring/prometheus/snmp-exporter.nix b/nixos/modules/services/monitoring/prometheus/snmp-exporter.nix new file mode 100644 index 000000000000..fe33f8c1f04d --- /dev/null +++ b/nixos/modules/services/monitoring/prometheus/snmp-exporter.nix @@ -0,0 +1,127 @@ +{ config, pkgs, lib, ... }: + +with lib; + +let + cfg = config.services.prometheus.snmpExporter; + mkConfigFile = pkgs.writeText "snmp.yml" (if cfg.configurationPath == null then builtins.toJSON cfg.configuration else builtins.readFile cfg.configurationPath); +in { + options = { + services.prometheus.snmpExporter = { + enable = mkEnableOption "Prometheus snmp exporter"; + + user = mkOption { + type = types.str; + default = "nobody"; + description = '' + User name under which snmp exporter shall be run. + ''; + }; + + group = mkOption { + type = types.str; + default = "nogroup"; + description = '' + Group under which snmp exporter shall be run. + ''; + }; + + port = mkOption { + type = types.int; + default = 9116; + description = '' + Port to listen on. + ''; + }; + + listenAddress = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + Address to listen on for web interface and telemetry. + ''; + }; + + configurationPath = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + Path to a snmp exporter configuration file. Mutually exclusive with 'configuration' option. + ''; + example = "./snmp.yml"; + }; + + configuration = mkOption { + type = types.nullOr types.attrs; + default = {}; + description = '' + Snmp exporter configuration as nix attribute set. Mutually exclusive with 'configurationPath' option. + ''; + example = '' + { + "default" = { + "version" = 2; + "auth" = { + "community" = "public"; + }; + }; + }; + ''; + }; + + logFormat = mkOption { + type = types.str; + default = "logger:stderr"; + description = '' + Set the log target and format. + ''; + }; + + logLevel = mkOption { + type = types.enum ["debug" "info" "warn" "error" "fatal"]; + default = "info"; + description = '' + Only log messages with the given severity or above. + ''; + }; + + openFirewall = mkOption { + type = types.bool; + default = false; + description = '' + Open port in firewall for incoming connections. + ''; + }; + }; + }; + + config = mkIf cfg.enable { + networking.firewall.allowedTCPPorts = optional cfg.openFirewall cfg.port; + + assertions = singleton + { + assertion = (cfg.configurationPath == null) != (cfg.configuration == null); + message = "Please ensure you have either 'configuration' or 'configurationPath' set!"; + }; + + systemd.services.prometheus-snmp-exporter = { + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + script = '' + ${pkgs.prometheus-snmp-exporter.bin}/bin/snmp_exporter \ + -config.file ${mkConfigFile} \ + -log.format ${cfg.logFormat} \ + -log.level ${cfg.logLevel} \ + -web.listen-address ${optionalString (cfg.listenAddress != null) cfg.listenAddress}:${toString cfg.port} + ''; + + serviceConfig = { + User = cfg.user; + Group = cfg.group; + Restart = "always"; + PrivateTmp = true; + WorkingDirectory = "/tmp"; + }; + }; + }; +} diff --git a/nixos/modules/services/monitoring/prometheus/varnish-exporter.nix b/nixos/modules/services/monitoring/prometheus/varnish-exporter.nix new file mode 100644 index 000000000000..143ebb62aeac --- /dev/null +++ b/nixos/modules/services/monitoring/prometheus/varnish-exporter.nix @@ -0,0 +1,61 @@ +{ config, pkgs, lib, ... }: + +# Shamelessly cribbed from nginx-exporter.nix. ~ C. +with lib; + +let + cfg = config.services.prometheus.varnishExporter; +in { + options = { + services.prometheus.varnishExporter = { + enable = mkEnableOption "prometheus Varnish exporter"; + + port = mkOption { + type = types.int; + default = 9131; + description = '' + Port to listen on. + ''; + }; + + extraFlags = mkOption { + type = types.listOf types.str; + default = []; + description = '' + Extra commandline options when launching the Varnish exporter. + ''; + }; + + openFirewall = mkOption { + type = types.bool; + default = false; + description = '' + Open port in firewall for incoming connections. + ''; + }; + }; + }; + + config = mkIf cfg.enable { + networking.firewall.allowedTCPPorts = optional cfg.openFirewall cfg.port; + + systemd.services.prometheus-varnish-exporter = { + description = "Prometheus exporter for Varnish metrics"; + unitConfig.Documentation = "https://github.com/jonnenauha/prometheus_varnish_exporter"; + wantedBy = [ "multi-user.target" ]; + path = [ pkgs.varnish ]; + script = '' + exec ${pkgs.prometheus-varnish-exporter}/bin/prometheus_varnish_exporter \ + -web.listen-address :${toString cfg.port} \ + ${concatStringsSep " \\\n " cfg.extraFlags} + ''; + serviceConfig = { + User = "nobody"; + Restart = "always"; + PrivateTmp = true; + WorkingDirectory = /tmp; + ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + }; + }; + }; +} diff --git a/nixos/modules/services/monitoring/riemann-tools.nix b/nixos/modules/services/monitoring/riemann-tools.nix index ce277f09464a..de858813a762 100644 --- a/nixos/modules/services/monitoring/riemann-tools.nix +++ b/nixos/modules/services/monitoring/riemann-tools.nix @@ -50,6 +50,7 @@ in { systemd.services.riemann-health = { wantedBy = [ "multi-user.target" ]; + path = [ procps ]; serviceConfig = { User = "riemanntools"; ExecStart = "${healthLauncher}/bin/riemann-health"; diff --git a/nixos/modules/services/monitoring/smartd.nix b/nixos/modules/services/monitoring/smartd.nix index b67519b3424c..99fd5c4d3674 100644 --- a/nixos/modules/services/monitoring/smartd.nix +++ b/nixos/modules/services/monitoring/smartd.nix @@ -197,8 +197,7 @@ in devices = mkOption { default = []; example = [ { device = "/dev/sda"; } { device = "/dev/sdb"; options = "-d sat"; } ]; - type = types.listOf types.optionSet; - options = [ smartdOpts ]; + type = with types; listOf (submodule smartdOpts); description = "List of devices to monitor."; }; diff --git a/nixos/modules/services/monitoring/telegraf.nix b/nixos/modules/services/monitoring/telegraf.nix new file mode 100644 index 000000000000..49dc9d8143e6 --- /dev/null +++ b/nixos/modules/services/monitoring/telegraf.nix @@ -0,0 +1,71 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.telegraf; + + configFile = pkgs.runCommand "config.toml" { + buildInputs = [ pkgs.remarshal ]; + } '' + remarshal -if json -of toml \ + < ${pkgs.writeText "config.json" (builtins.toJSON cfg.extraConfig)} \ + > $out + ''; +in { + ###### interface + options = { + services.telegraf = { + enable = mkEnableOption "telegraf server"; + + package = mkOption { + default = pkgs.telegraf; + defaultText = "pkgs.telegraf"; + description = "Which telegraf derivation to use"; + type = types.package; + }; + + extraConfig = mkOption { + default = {}; + description = "Extra configuration options for telegraf"; + type = types.attrs; + example = { + outputs = { + influxdb = { + urls = ["http://localhost:8086"]; + database = "telegraf"; + }; + }; + inputs = { + statsd = { + service_address = ":8125"; + delete_timings = true; + }; + }; + }; + }; + }; + }; + + + ###### implementation + config = mkIf config.services.telegraf.enable { + systemd.services.telegraf = { + description = "Telegraf Agent"; + wantedBy = [ "multi-user.target" ]; + after = [ "network-online.target" ]; + serviceConfig = { + ExecStart=''${cfg.package}/bin/telegraf -config "${configFile}"''; + ExecReload="${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + User = "telegraf"; + Restart = "on-failure"; + }; + }; + + users.extraUsers = [{ + name = "telegraf"; + uid = config.ids.uids.telegraf; + description = "telegraf daemon user"; + }]; + }; +} diff --git a/nixos/modules/services/monitoring/ups.nix b/nixos/modules/services/monitoring/ups.nix index 5f80d547dbcb..c4c4ed227b35 100644 --- a/nixos/modules/services/monitoring/ups.nix +++ b/nixos/modules/services/monitoring/ups.nix @@ -169,8 +169,7 @@ in monitoring directly. These are usually attached to serial ports, but USB devices are also supported. ''; - type = types.attrsOf types.optionSet; - options = [ upsOptions ]; + type = with types; attrsOf (submodule upsOptions); }; }; @@ -182,7 +181,8 @@ in systemd.services.upsmon = { description = "Uninterruptible Power Supplies (Monitor)"; - wantedBy = [ "ip-up.target" ]; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; serviceConfig.Type = "forking"; script = "${pkgs.nut}/sbin/upsmon"; environment.NUT_CONFPATH = "/etc/nut/"; @@ -191,8 +191,8 @@ in systemd.services.upsd = { description = "Uninterruptible Power Supplies (Daemon)"; + after = [ "network.target" "upsmon.service" ]; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" "upsmon.service" ]; serviceConfig.Type = "forking"; # TODO: replace 'root' by another username. script = "${pkgs.nut}/sbin/upsd -u root"; @@ -202,8 +202,8 @@ in systemd.services.upsdrv = { description = "Uninterruptible Power Supplies (Register all UPS)"; - wantedBy = [ "multi-user.target" ]; after = [ "upsd.service" ]; + wantedBy = [ "multi-user.target" ]; # TODO: replace 'root' by another username. script = ''${pkgs.nut}/bin/upsdrvctl -u root start''; serviceConfig = { diff --git a/nixos/modules/services/monitoring/zabbix-agent.nix b/nixos/modules/services/monitoring/zabbix-agent.nix index a943075be0c4..88a63b4bf161 100644 --- a/nixos/modules/services/monitoring/zabbix-agent.nix +++ b/nixos/modules/services/monitoring/zabbix-agent.nix @@ -53,6 +53,7 @@ in extraConfig = mkOption { default = ""; + type = types.lines; description = '' Configuration that is injected verbatim into the configuration file. ''; diff --git a/nixos/modules/services/network-filesystems/cachefilesd.nix b/nixos/modules/services/network-filesystems/cachefilesd.nix new file mode 100644 index 000000000000..619813408405 --- /dev/null +++ b/nixos/modules/services/network-filesystems/cachefilesd.nix @@ -0,0 +1,59 @@ +{ config, pkgs, lib, ... }: + +with lib; + +let + + cfg = config.services.cachefilesd; + + cfgFile = pkgs.writeText "cachefilesd.conf" '' + dir ${cfg.cacheDir} + ${cfg.extraConfig} + ''; + +in + +{ + options = { + services.cachefilesd = { + + enable = mkOption { + type = types.bool; + default = false; + description = "Whether to enable cachefilesd network filesystems caching daemon."; + }; + + cacheDir = mkOption { + type = types.str; + default = "/var/cache/fscache"; + description = "Directory to contain filesystem cache."; + }; + + extraConfig = mkOption { + type = types.lines; + default = ""; + example = "brun 10%"; + description = "Additional configuration file entries. See cachefilesd.conf(5) for more information."; + }; + + }; + }; + + ###### implementation + + config = mkIf cfg.enable { + + systemd.services.cachefilesd = { + description = "Local network file caching management daemon"; + wantedBy = [ "multi-user.target" ]; + path = [ pkgs.kmod pkgs.cachefilesd ]; + script = '' + modprobe -qab cachefiles + mkdir -p ${cfg.cacheDir} + chmod 700 ${cfg.cacheDir} + exec cachefilesd -n -f ${cfgFile} + ''; + }; + + }; +} diff --git a/nixos/modules/services/network-filesystems/drbd.nix b/nixos/modules/services/network-filesystems/drbd.nix index 9896a93b1894..57b1fbb597c7 100644 --- a/nixos/modules/services/network-filesystems/drbd.nix +++ b/nixos/modules/services/network-filesystems/drbd.nix @@ -53,9 +53,9 @@ let cfg = config.services.drbd; in }; systemd.services.drbd = { - after = [ "systemd-udev.settle.service" ]; + after = [ "systemd-udev.settle.service" "network.target" ]; wants = [ "systemd-udev.settle.service" ]; - wantedBy = [ "ip-up.target" ]; + wantedBy = [ "multi-user.target" ]; script = '' ${pkgs.drbd}/sbin/drbdadm up all ''; diff --git a/nixos/modules/services/network-filesystems/ipfs.nix b/nixos/modules/services/network-filesystems/ipfs.nix new file mode 100644 index 000000000000..104b5b92620e --- /dev/null +++ b/nixos/modules/services/network-filesystems/ipfs.nix @@ -0,0 +1,125 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + inherit (pkgs) ipfs; + + cfg = config.services.ipfs; + + ipfsFlags = ''${if cfg.autoMigrate then "--migrate" else ""} ${if cfg.enableGC then "--enable-gc" else ""} ${toString cfg.extraFlags}''; + +in + +{ + + ###### interface + + options = { + + services.ipfs = { + + enable = mkEnableOption "Interplanetary File System"; + + user = mkOption { + type = types.str; + default = "ipfs"; + description = "User under which the IPFS daemon runs"; + }; + + group = mkOption { + type = types.str; + default = "ipfs"; + description = "Group under which the IPFS daemon runs"; + }; + + dataDir = mkOption { + type = types.str; + default = "/var/lib/ipfs"; + description = "The data dir for IPFS"; + }; + + autoMigrate = mkOption { + type = types.bool; + default = false; + description = '' + Whether IPFS should try to migrate the file system automatically. + ''; + }; + + gatewayAddress = mkOption { + type = types.str; + default = "/ip4/127.0.0.1/tcp/8080"; + description = "Where the IPFS Gateway can be reached"; + }; + + apiAddress = mkOption { + type = types.str; + default = "/ip4/127.0.0.1/tcp/5001"; + description = "Where IPFS exposes its API to"; + }; + + enableGC = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable automatic garbage collection. + ''; + }; + + extraFlags = mkOption { + type = types.listOf types.str; + description = "Extra flags passed to the IPFS daemon"; + default = []; + }; + }; + }; + + ###### implementation + + config = mkIf cfg.enable { + environment.systemPackages = [ pkgs.ipfs ]; + + users.extraUsers = mkIf (cfg.user == "ipfs") { + ipfs = { + group = cfg.group; + home = cfg.dataDir; + createHome = false; + uid = config.ids.uids.ipfs; + description = "IPFS daemon user"; + }; + }; + + users.extraGroups = mkIf (cfg.group == "ipfs") { + ipfs = { + gid = config.ids.gids.ipfs; + }; + }; + + systemd.services.ipfs = { + description = "IPFS Daemon"; + + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" "local-fs.target" ]; + path = [ pkgs.ipfs pkgs.su pkgs.bash ]; + + preStart = + '' + install -m 0755 -o ${cfg.user} -g ${cfg.group} -d ${cfg.dataDir} + if [[ ! -d ${cfg.dataDir}/.ipfs ]]; then + cd ${cfg.dataDir} + ${pkgs.su}/bin/su -s ${pkgs.bash}/bin/sh ${cfg.user} -c "${ipfs}/bin/ipfs init" + fi + ${pkgs.su}/bin/su -s ${pkgs.bash}/bin/sh ${cfg.user} -c "${ipfs}/bin/ipfs config Addresses.API ${cfg.apiAddress}" + ${pkgs.su}/bin/su -s ${pkgs.bash}/bin/sh ${cfg.user} -c "${ipfs}/bin/ipfs config Addresses.Gateway ${cfg.gatewayAddress}" + ''; + + serviceConfig = { + ExecStart = "${ipfs}/bin/ipfs daemon ${ipfsFlags}"; + User = cfg.user; + Group = cfg.group; + PermissionsStartOnly = true; + }; + }; + }; +} diff --git a/nixos/modules/services/network-filesystems/openafs-client/default.nix b/nixos/modules/services/network-filesystems/openafs-client/default.nix index 891f41c8dcdc..6f51e287910a 100644 --- a/nixos/modules/services/network-filesystems/openafs-client/default.nix +++ b/nixos/modules/services/network-filesystems/openafs-client/default.nix @@ -75,7 +75,7 @@ in systemd.services.afsd = { description = "AFS client"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; preStart = '' mkdir -p -m 0755 /afs diff --git a/nixos/modules/services/network-filesystems/samba.nix b/nixos/modules/services/network-filesystems/samba.nix index 91f1a333be7f..884966363b8b 100644 --- a/nixos/modules/services/network-filesystems/samba.nix +++ b/nixos/modules/services/network-filesystems/samba.nix @@ -56,6 +56,7 @@ let serviceConfig = { ExecStart = "${samba}/sbin/${appName} ${args}"; ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + Type = "notify"; }; restartTriggers = [ configFile ]; @@ -167,12 +168,12 @@ in type = types.attrsOf (types.attrsOf types.unspecified); example = { public = - { path = "/srv/public"; - "read only" = true; - browseable = "yes"; - "guest ok" = "yes"; - comment = "Public samba share."; - }; + { path = "/srv/public"; + "read only" = true; + browseable = "yes"; + "guest ok" = "yes"; + comment = "Public samba share."; + }; }; }; diff --git a/nixos/modules/services/network-filesystems/tahoe.nix b/nixos/modules/services/network-filesystems/tahoe.nix index d4b6c05e9432..ab9eac3829fb 100644 --- a/nixos/modules/services/network-filesystems/tahoe.nix +++ b/nixos/modules/services/network-filesystems/tahoe.nix @@ -8,148 +8,189 @@ in options.services.tahoe = { introducers = mkOption { default = {}; - type = types.loaOf types.optionSet; + type = with types; loaOf (submodule { + options = { + nickname = mkOption { + type = types.str; + description = '' + The nickname of this Tahoe introducer. + ''; + }; + tub.port = mkOption { + default = 3458; + type = types.int; + description = '' + The port on which the introducer will listen. + ''; + }; + tub.location = mkOption { + default = null; + type = types.nullOr types.str; + description = '' + The external location that the introducer should listen on. + + If specified, the port should be included. + ''; + }; + package = mkOption { + default = pkgs.tahoelafs; + defaultText = "pkgs.tahoelafs"; + type = types.package; + example = literalExample "pkgs.tahoelafs"; + description = '' + The package to use for the Tahoe LAFS daemon. + ''; + }; + }; + }); description = '' The Tahoe introducers. ''; - options = { - nickname = mkOption { - type = types.str; - description = '' - The nickname of this Tahoe introducer. - ''; - }; - tub.port = mkOption { - default = 3458; - type = types.int; - description = '' - The port on which the introducer will listen. - ''; - }; - tub.location = mkOption { - default = null; - type = types.nullOr types.str; - description = '' - The external location that the introducer should listen on. - - If specified, the port should be included. - ''; - }; - package = mkOption { - default = pkgs.tahoelafs; - defaultText = "pkgs.tahoelafs"; - type = types.package; - example = literalExample "pkgs.tahoelafs"; - description = '' - The package to use for the Tahoe LAFS daemon. - ''; - }; - }; }; nodes = mkOption { default = {}; - type = types.loaOf types.optionSet; + type = with types; loaOf (submodule { + options = { + nickname = mkOption { + type = types.str; + description = '' + The nickname of this Tahoe node. + ''; + }; + tub.port = mkOption { + default = 3457; + type = types.int; + description = '' + The port on which the tub will listen. + + This is the correct setting to tweak if you want Tahoe's storage + system to listen on a different port. + ''; + }; + tub.location = mkOption { + default = null; + type = types.nullOr types.str; + description = '' + The external location that the node should listen on. + + This is the setting to tweak if there are multiple interfaces + and you want to alter which interface Tahoe is advertising. + + If specified, the port should be included. + ''; + }; + web.port = mkOption { + default = 3456; + type = types.int; + description = '' + The port on which the Web server will listen. + + This is the correct setting to tweak if you want Tahoe's WUI to + listen on a different port. + ''; + }; + client.introducer = mkOption { + default = null; + type = types.nullOr types.str; + description = '' + The furl for a Tahoe introducer node. + + Like all furls, keep this safe and don't share it. + ''; + }; + client.helper = mkOption { + default = null; + type = types.nullOr types.str; + description = '' + The furl for a Tahoe helper node. + + Like all furls, keep this safe and don't share it. + ''; + }; + client.shares.needed = mkOption { + default = 3; + type = types.int; + description = '' + The number of shares required to reconstitute a file. + ''; + }; + client.shares.happy = mkOption { + default = 7; + type = types.int; + description = '' + The number of distinct storage nodes required to store + a file. + ''; + }; + client.shares.total = mkOption { + default = 10; + type = types.int; + description = '' + The number of shares required to store a file. + ''; + }; + storage.enable = mkEnableOption "storage service"; + storage.reservedSpace = mkOption { + default = "1G"; + type = types.str; + description = '' + The amount of filesystem space to not use for storage. + ''; + }; + helper.enable = mkEnableOption "helper service"; + sftpd.enable = mkEnableOption "SFTP service"; + sftpd.port = mkOption { + default = null; + type = types.nullOr types.int; + description = '' + The port on which the SFTP server will listen. + + This is the correct setting to tweak if you want Tahoe's SFTP + daemon to listen on a different port. + ''; + }; + sftpd.hostPublicKeyFile = mkOption { + default = null; + type = types.nullOr types.path; + description = '' + Path to the SSH host public key. + ''; + }; + sftpd.hostPrivateKeyFile = mkOption { + default = null; + type = types.nullOr types.path; + description = '' + Path to the SSH host private key. + ''; + }; + sftpd.accounts.file = mkOption { + default = null; + type = types.nullOr types.path; + description = '' + Path to the accounts file. + ''; + }; + sftpd.accounts.url = mkOption { + default = null; + type = types.nullOr types.str; + description = '' + URL of the accounts server. + ''; + }; + package = mkOption { + default = pkgs.tahoelafs; + defaultText = "pkgs.tahoelafs"; + type = types.package; + example = literalExample "pkgs.tahoelafs"; + description = '' + The package to use for the Tahoe LAFS daemon. + ''; + }; + }; + }); description = '' The Tahoe nodes. ''; - options = { - nickname = mkOption { - type = types.str; - description = '' - The nickname of this Tahoe node. - ''; - }; - tub.port = mkOption { - default = 3457; - type = types.int; - description = '' - The port on which the tub will listen. - - This is the correct setting to tweak if you want Tahoe's storage - system to listen on a different port. - ''; - }; - tub.location = mkOption { - default = null; - type = types.nullOr types.str; - description = '' - The external location that the node should listen on. - - This is the setting to tweak if there are multiple interfaces - and you want to alter which interface Tahoe is advertising. - - If specified, the port should be included. - ''; - }; - web.port = mkOption { - default = 3456; - type = types.int; - description = '' - The port on which the Web server will listen. - - This is the correct setting to tweak if you want Tahoe's WUI to - listen on a different port. - ''; - }; - client.introducer = mkOption { - default = null; - type = types.nullOr types.str; - description = '' - The furl for a Tahoe introducer node. - - Like all furls, keep this safe and don't share it. - ''; - }; - client.helper = mkOption { - default = null; - type = types.nullOr types.str; - description = '' - The furl for a Tahoe helper node. - - Like all furls, keep this safe and don't share it. - ''; - }; - client.shares.needed = mkOption { - default = 3; - type = types.int; - description = '' - The number of shares required to reconstitute a file. - ''; - }; - client.shares.happy = mkOption { - default = 7; - type = types.int; - description = '' - The number of distinct storage nodes required to store - a file. - ''; - }; - client.shares.total = mkOption { - default = 10; - type = types.int; - description = '' - The number of shares required to store a file. - ''; - }; - storage.enable = mkEnableOption "storage service"; - storage.reservedSpace = mkOption { - default = "1G"; - type = types.str; - description = '' - The amount of filesystem space to not use for storage. - ''; - }; - helper.enable = mkEnableOption "helper service"; - package = mkOption { - default = pkgs.tahoelafs; - defaultText = "pkgs.tahoelafs"; - type = types.package; - example = literalExample "pkgs.tahoelafs"; - description = '' - The package to use for the Tahoe LAFS daemon. - ''; - }; - }; }; }; config = mkMerge [ @@ -192,6 +233,12 @@ in serviceConfig = { Type = "simple"; PIDFile = pidfile; + # Believe it or not, Tahoe is very brittle about the order of + # arguments to $(tahoe start). The node directory must come first, + # and arguments which alter Twisted's behavior come afterwards. + ExecStart = '' + ${settings.package}/bin/tahoe start ${nodedir} -n -l- --pidfile=${pidfile} + ''; }; preStart = '' if [ \! -d ${nodedir} ]; then @@ -207,12 +254,6 @@ in # ln -s /etc/tahoe-lafs/introducer-${node}.cfg ${nodedir}/tahoe.cfg cp /etc/tahoe-lafs/introducer-${node}.cfg ${nodedir}/tahoe.cfg ''; - # Believe it or not, Tahoe is very brittle about the order of - # arguments to $(tahoe start). The node directory must come first, - # and arguments which alter Twisted's behavior come afterwards. - script = '' - tahoe start ${nodedir} -n -l- --pidfile=${pidfile} - ''; }); users.extraUsers = flip mapAttrs' cfg.introducers (node: _: nameValuePair "tahoe.introducer-${node}" { @@ -254,6 +295,19 @@ in [helper] enabled = ${if settings.helper.enable then "true" else "false"} + + [sftpd] + enabled = ${if settings.sftpd.enable then "true" else "false"} + ${optionalString (settings.sftpd.port != null) + "port = ${toString settings.sftpd.port}"} + ${optionalString (settings.sftpd.hostPublicKeyFile != null) + "host_pubkey_file = ${settings.sftpd.hostPublicKeyFile}"} + ${optionalString (settings.sftpd.hostPrivateKeyFile != null) + "host_privkey_file = ${settings.sftpd.hostPrivateKeyFile}"} + ${optionalString (settings.sftpd.accounts.file != null) + "accounts.file = ${settings.sftpd.accounts.file}"} + ${optionalString (settings.sftpd.accounts.url != null) + "accounts.url = ${settings.sftpd.accounts.url}"} ''; }); # Actually require Tahoe, so that we will have it installed. @@ -279,6 +333,12 @@ in serviceConfig = { Type = "simple"; PIDFile = pidfile; + # Believe it or not, Tahoe is very brittle about the order of + # arguments to $(tahoe start). The node directory must come first, + # and arguments which alter Twisted's behavior come afterwards. + ExecStart = '' + ${settings.package}/bin/tahoe start ${nodedir} -n -l- --pidfile=${pidfile} + ''; }; preStart = '' if [ \! -d ${nodedir} ]; then @@ -294,12 +354,6 @@ in # ln -s /etc/tahoe-lafs/${node}.cfg ${nodedir}/tahoe.cfg cp /etc/tahoe-lafs/${node}.cfg ${nodedir}/tahoe.cfg ''; - # Believe it or not, Tahoe is very brittle about the order of - # arguments to $(tahoe start). The node directory must come first, - # and arguments which alter Twisted's behavior come afterwards. - script = '' - tahoe start ${nodedir} -n -l- --pidfile=${pidfile} - ''; }); users.extraUsers = flip mapAttrs' cfg.nodes (node: _: nameValuePair "tahoe.${node}" { diff --git a/nixos/modules/services/network-filesystems/xtreemfs.nix b/nixos/modules/services/network-filesystems/xtreemfs.nix index b051214e1d08..0c6714563d8a 100644 --- a/nixos/modules/services/network-filesystems/xtreemfs.nix +++ b/nixos/modules/services/network-filesystems/xtreemfs.nix @@ -153,6 +153,7 @@ in ''; }; extraConfig = mkOption { + type = types.lines; default = ""; example = '' # specify whether SSL is required @@ -173,6 +174,7 @@ in replication = { enable = mkEnableOption "XtreemFS DIR replication plugin"; extraConfig = mkOption { + type = types.lines; example = '' # participants of the replication including this replica babudb.repl.participant.0 = 192.168.0.10 @@ -269,6 +271,7 @@ in ''; }; extraConfig = mkOption { + type = types.lines; example = '' osd_check_interval = 300 no_atime = true @@ -307,6 +310,7 @@ in replication = { enable = mkEnableOption "XtreemFS MRC replication plugin"; extraConfig = mkOption { + type = types.lines; example = '' # participants of the replication including this replica babudb.repl.participant.0 = 192.168.0.10 @@ -385,6 +389,7 @@ in ''; }; extraConfig = mkOption { + type = types.lines; example = '' local_clock_renewal = 0 remote_time_sync = 30000 diff --git a/nixos/modules/services/network-filesystems/yandex-disk.nix b/nixos/modules/services/network-filesystems/yandex-disk.nix index 982b6ca5ea7b..4de206641331 100644 --- a/nixos/modules/services/network-filesystems/yandex-disk.nix +++ b/nixos/modules/services/network-filesystems/yandex-disk.nix @@ -55,6 +55,15 @@ in description = "The directory to use for Yandex.Disk storage"; }; + excludes = mkOption { + default = ""; + type = types.string; + example = "data,backup"; + description = '' + Comma-separated list of directories which are excluded from synchronization. + ''; + }; + }; }; @@ -86,7 +95,7 @@ in chown ${u} ${dir} if ! test -d "${cfg.directory}" ; then - mkdir -p -m 755 ${cfg.directory} || + (mkdir -p -m 755 ${cfg.directory} && chown ${u} ${cfg.directory}) || exit 1 fi @@ -94,7 +103,7 @@ in -c '${pkgs.yandex-disk}/bin/yandex-disk token -p ${cfg.password} ${cfg.username} ${dir}/token' ${pkgs.su}/bin/su -s ${pkgs.stdenv.shell} ${u} \ - -c '${pkgs.yandex-disk}/bin/yandex-disk start --no-daemon -a ${dir}/token -d ${cfg.directory}' + -c '${pkgs.yandex-disk}/bin/yandex-disk start --no-daemon -a ${dir}/token -d ${cfg.directory} --exclude-dirs=${cfg.excludes}' ''; }; diff --git a/nixos/modules/services/networking/amuled.nix b/nixos/modules/services/networking/amuled.nix index bc488d0e9100..fc7d56a24fa7 100644 --- a/nixos/modules/services/networking/amuled.nix +++ b/nixos/modules/services/networking/amuled.nix @@ -59,7 +59,8 @@ in systemd.services.amuled = { description = "AMule daemon"; - wantedBy = [ "ip-up.target" ]; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; preStart = '' mkdir -p ${cfg.dataDir} diff --git a/nixos/modules/services/networking/asterisk.nix b/nixos/modules/services/networking/asterisk.nix index 13617a1b6c58..5c71a1d8ddae 100644 --- a/nixos/modules/services/networking/asterisk.nix +++ b/nixos/modules/services/networking/asterisk.nix @@ -6,29 +6,38 @@ let cfg = config.services.asterisk; asteriskUser = "asterisk"; + asteriskGroup = "asterisk"; varlibdir = "/var/lib/asterisk"; spooldir = "/var/spool/asterisk"; logdir = "/var/log/asterisk"; + # Add filecontents from files of useTheseDefaultConfFiles to confFiles, do not override + defaultConfFiles = subtractLists (attrNames cfg.confFiles) cfg.useTheseDefaultConfFiles; + allConfFiles = + cfg.confFiles // + builtins.listToAttrs (map (x: { name = x; + value = builtins.readFile (pkgs.asterisk + "/etc/asterisk/" + x); }) + defaultConfFiles); + asteriskEtc = pkgs.stdenv.mkDerivation ((mapAttrs' (name: value: nameValuePair # Fudge the names to make bash happy ((replaceChars ["."] ["_"] name) + "_") (value) - ) cfg.confFiles) // + ) allConfFiles) // { confFilesString = concatStringsSep " " ( - attrNames cfg.confFiles + attrNames allConfFiles ); - name = "asterisk.etc"; + name = "asterisk-etc"; # Default asterisk.conf file # (Notice that astetcdir will be set to the path of this derivation) asteriskConf = '' [directories] - astetcdir => @out@ + astetcdir => /etc/asterisk astmoddir => ${pkgs.asterisk}/lib/asterisk/modules astvarlibdir => /var/lib/asterisk astdbdir => /var/lib/asterisk @@ -169,6 +178,16 @@ in ''; }; + useTheseDefaultConfFiles = mkOption { + default = [ "ari.conf" "acl.conf" "agents.conf" "amd.conf" "calendar.conf" "cdr.conf" "cdr_syslog.conf" "cdr_custom.conf" "cel.conf" "cel_custom.conf" "cli_aliases.conf" "confbridge.conf" "dundi.conf" "features.conf" "hep.conf" "iax.conf" "pjsip.conf" "pjsip_wizard.conf" "phone.conf" "phoneprov.conf" "queues.conf" "res_config_sqlite3.conf" "res_parking.conf" "statsd.conf" "udptl.conf" "unistim.conf" ]; + type = types.listOf types.str; + example = [ "sip.conf" "dundi.conf" ]; + description = ''Sets these config files to the default content. The default value for + this option contains all necesscary files to avoid errors at startup. + This does not override settings via . + ''; + }; + extraArguments = mkOption { default = []; type = types.listOf types.str; @@ -182,12 +201,22 @@ in }; config = mkIf cfg.enable { - users.extraUsers = singleton - { name = asteriskUser; - uid = config.ids.uids.asterisk; - description = "Asterisk daemon user"; - home = varlibdir; - }; + environment.systemPackages = [ pkgs.asterisk ]; + + environment.etc.asterisk.source = asteriskEtc; + + users.extraUsers.asterisk = + { name = asteriskUser; + group = asteriskGroup; + uid = config.ids.uids.asterisk; + description = "Asterisk daemon user"; + home = varlibdir; + }; + + users.extraGroups.asterisk = + { name = asteriskGroup; + gid = config.ids.gids.asterisk; + }; systemd.services.asterisk = { description = '' @@ -196,14 +225,17 @@ in wantedBy = [ "multi-user.target" ]; + # Do not restart, to avoid disruption of running calls. Restart unit by yourself! + restartIfChanged = false; + preStart = '' # Copy skeleton directory tree to /var for d in '${varlibdir}' '${spooldir}' '${logdir}'; do # TODO: Make exceptions for /var directories that likely should be updated if [ ! -e "$d" ]; then mkdir -p "$d" - cp --recursive ${pkgs.asterisk}/"$d" "$d" - chown --recursive ${asteriskUser} "$d" + cp --recursive ${pkgs.asterisk}/"$d"/* "$d"/ + chown --recursive ${asteriskUser}:${asteriskGroup} "$d" find "$d" -type d | xargs chmod 0755 fi done @@ -215,7 +247,9 @@ in # FIXME: This doesn't account for arguments with spaces argString = concatStringsSep " " cfg.extraArguments; in - "${pkgs.asterisk}/bin/asterisk -U ${asteriskUser} -C ${asteriskEtc}/asterisk.conf ${argString} -F"; + "${pkgs.asterisk}/bin/asterisk -U ${asteriskUser} -C /etc/asterisk/asterisk.conf ${argString} -F"; + ExecReload = ''${pkgs.asterisk}/bin/asterisk -x "core reload" + ''; Type = "forking"; PIDFile = "/var/run/asterisk/asterisk.pid"; }; diff --git a/nixos/modules/services/networking/atftpd.nix b/nixos/modules/services/networking/atftpd.nix index d875ddc63528..e7fd48c99a85 100644 --- a/nixos/modules/services/networking/atftpd.nix +++ b/nixos/modules/services/networking/atftpd.nix @@ -20,13 +20,27 @@ in default = false; type = types.bool; description = '' - Whenever to enable the atftpd TFTP server. + Whether to enable the atftpd TFTP server. By default, the server + binds to address 0.0.0.0. + ''; + }; + + extraOptions = mkOption { + default = []; + type = types.listOf types.str; + example = literalExample '' + [ "--bind-address 192.168.9.1" + "--verbose=7" + ] + ''; + description = '' + Extra command line arguments to pass to atftp. ''; }; root = mkOption { - default = "/var/empty"; - type = types.str; + default = "/srv/tftp"; + type = types.path; description = '' Document root directory for the atftpd. ''; @@ -39,11 +53,11 @@ in config = mkIf cfg.enable { systemd.services.atftpd = { - description = "atftpd TFTP server"; + description = "TFTP Server"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; # runs as nobody - serviceConfig.ExecStart = "${pkgs.atftp}/sbin/atftpd --daemon --no-fork --bind-address 0.0.0.0 ${cfg.root}"; + serviceConfig.ExecStart = "${pkgs.atftp}/sbin/atftpd --daemon --no-fork ${lib.concatStringsSep " " cfg.extraOptions} ${cfg.root}"; }; }; diff --git a/nixos/modules/services/networking/avahi-daemon.nix b/nixos/modules/services/networking/avahi-daemon.nix index 7650f45c5570..6a786e75bbc8 100644 --- a/nixos/modules/services/networking/avahi-daemon.nix +++ b/nixos/modules/services/networking/avahi-daemon.nix @@ -7,10 +7,6 @@ let cfg = config.services.avahi; - # We must escape interfaces due to the systemd interpretation - subsystemDevice = interface: - "sys-subsystem-net-devices-${utils.escapeSystemdPath interface}.device"; - avahiDaemonConf = with cfg; pkgs.writeText "avahi-daemon.conf" '' [server] ${# Users can set `networking.hostName' to the empty string, when getting @@ -75,7 +71,8 @@ in }; browseDomains = mkOption { - default = [ "0pointer.de" "zeroconf.org" ]; + default = [ ]; + example = [ "0pointer.de" "zeroconf.org" ]; description = '' List of non-local DNS domains to be browsed. ''; @@ -178,17 +175,20 @@ in environment.systemPackages = [ pkgs.avahi ]; + systemd.sockets.avahi-daemon = + { description = "Avahi mDNS/DNS-SD Stack Activation Socket"; + listenStreams = [ "/var/run/avahi-daemon/socket" ]; + wantedBy = [ "sockets.target" ]; + }; + systemd.services.avahi-daemon = - let - deps = optionals (cfg.interfaces!=null) (map subsystemDevice cfg.interfaces); - in - { description = "Avahi daemon"; - wantedBy = [ "ip-up.target" ]; - bindsTo = deps; - after = deps; - before = [ "ip-up.target" ]; - # Receive restart event after resume - partOf = [ "post-resume.target" ]; + { description = "Avahi mDNS/DNS-SD Stack"; + wantedBy = [ "multi-user.target" ]; + requires = [ "avahi-daemon.socket" ]; + + serviceConfig."NotifyAccess" = "main"; + serviceConfig."BusName" = "org.freedesktop.Avahi"; + serviceConfig."Type" = "dbus"; path = [ pkgs.coreutils pkgs.avahi ]; diff --git a/nixos/modules/services/networking/bind.nix b/nixos/modules/services/networking/bind.nix index 08afafceff24..0272b6ceff20 100644 --- a/nixos/modules/services/networking/bind.nix +++ b/nixos/modules/services/networking/bind.nix @@ -113,6 +113,7 @@ in }; extraConfig = mkOption { + type = types.lines; default = ""; description = " Extra lines to be added verbatim to the generated named configuration file. @@ -145,8 +146,8 @@ in }; systemd.services.bind = { - description = "BIND name server job"; - after = [ "network-interfaces.target" ]; + description = "BIND Domain Name Server"; + after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; preStart = '' @@ -154,7 +155,8 @@ in chown ${bindUser} /var/run/named ''; - script = "${pkgs.bind.bin}/sbin/named -u ${bindUser} ${optionalString cfg.ipv4Only "-4"} -c ${cfg.configFile} -f"; + script = "${pkgs.bind.out}/sbin/named -u ${bindUser} ${optionalString cfg.ipv4Only "-4"} -c ${cfg.configFile} -f"; + unitConfig.Documentation = "man:named(8)"; }; }; } diff --git a/nixos/modules/services/networking/bird.nix b/nixos/modules/services/networking/bird.nix index e76cdac14ca8..1a7a1e24b702 100644 --- a/nixos/modules/services/networking/bird.nix +++ b/nixos/modules/services/networking/bird.nix @@ -1,76 +1,69 @@ { config, lib, pkgs, ... }: let - inherit (lib) mkEnableOption mkIf mkOption singleton types; - inherit (pkgs) bird; - cfg = config.services.bird; + inherit (lib) mkEnableOption mkIf mkOption types; - configFile = pkgs.writeText "bird.conf" '' - ${cfg.config} - ''; -in - -{ - - ###### interface - - options = { - - services.bird = { - - enable = mkEnableOption "BIRD Internet Routing Daemon"; - - config = mkOption { - type = types.string; - description = '' - BIRD Internet Routing Daemon configuration file. - + generic = variant: + let + cfg = config.services.${variant}; + pkg = pkgs.${variant}; + birdc = if variant == "bird6" then "birdc6" else "birdc"; + configFile = pkgs.stdenv.mkDerivation { + name = "${variant}.conf"; + text = cfg.config; + preferLocalBuild = true; + buildCommand = '' + echo -n "$text" > $out + ${pkg}/bin/${variant} -d -p -c $out ''; }; - - user = mkOption { - type = types.string; - default = "bird"; - description = '' - BIRD Internet Routing Daemon user. - ''; + in { + ###### interface + options = { + services.${variant} = { + enable = mkEnableOption "BIRD Internet Routing Daemon"; + config = mkOption { + type = types.lines; + description = '' + BIRD Internet Routing Daemon configuration file. + + ''; + }; + }; }; - group = mkOption { - type = types.string; - default = "bird"; - description = '' - BIRD Internet Routing Daemon group. - ''; - }; - - }; - - }; - - - ###### implementation - - config = mkIf cfg.enable { - - users.extraUsers = singleton { - name = cfg.user; - description = "BIRD Internet Routing Daemon user"; - uid = config.ids.uids.bird; - group = cfg.group; - }; - - users.extraGroups = singleton { - name = cfg.group; - gid = config.ids.gids.bird; - }; - - systemd.services.bird = { - description = "BIRD Internet Routing Daemon"; - wantedBy = [ "multi-user.target" ]; - serviceConfig = { - ExecStart = "${bird}/bin/bird -d -c ${configFile} -s /var/run/bird.ctl -u ${cfg.user} -g ${cfg.group}"; + ###### implementation + config = mkIf cfg.enable { + environment.systemPackages = [ pkg ]; + systemd.services.${variant} = { + description = "BIRD Internet Routing Daemon"; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + Type = "forking"; + Restart = "on-failure"; + ExecStart = "${pkg}/bin/${variant} -c ${configFile} -u ${variant} -g ${variant}"; + ExecReload = "${pkg}/bin/${birdc} configure"; + ExecStop = "${pkg}/bin/${birdc} down"; + CapabilityBoundingSet = [ "CAP_CHOWN" "CAP_FOWNER" "CAP_DAC_OVERRIDE" "CAP_SETUID" "CAP_SETGID" + # see bird/sysdep/linux/syspriv.h + "CAP_NET_BIND_SERVICE" "CAP_NET_BROADCAST" "CAP_NET_ADMIN" "CAP_NET_RAW" ]; + ProtectSystem = "full"; + ProtectHome = "yes"; + SystemCallFilter="~@cpu-emulation @debug @keyring @module @mount @obsolete @raw-io"; + MemoryDenyWriteExecute = "yes"; + }; + }; + users = { + extraUsers.${variant} = { + description = "BIRD Internet Routing Daemon user"; + group = "${variant}"; + }; + extraGroups.${variant} = {}; + }; }; }; - }; + + inherit (config.services) bird bird6; +in { + imports = [(generic "bird") (generic "bird6")]; } diff --git a/nixos/modules/services/networking/bitlbee.nix b/nixos/modules/services/networking/bitlbee.nix index 5e6847097a94..e72ea20cccee 100644 --- a/nixos/modules/services/networking/bitlbee.nix +++ b/nixos/modules/services/networking/bitlbee.nix @@ -7,11 +7,6 @@ let cfg = config.services.bitlbee; bitlbeeUid = config.ids.uids.bitlbee; - authModeCheck = v: - v == "Open" || - v == "Closed" || - v == "Registered"; - bitlbeeConfig = pkgs.writeText "bitlbee.conf" '' [settings] @@ -67,7 +62,7 @@ in authMode = mkOption { default = "Open"; - type = types.addCheck types.str authModeCheck; + type = types.enum [ "Open" "Closed" "Registered" ]; description = '' The following authentication modes are available: Open -- Accept connections from anyone, use NickServ for user authentication. diff --git a/nixos/modules/services/networking/chrony.nix b/nixos/modules/services/networking/chrony.nix index a38142b4a08f..f2ff11633b1b 100644 --- a/nixos/modules/services/networking/chrony.nix +++ b/nixos/modules/services/networking/chrony.nix @@ -31,7 +31,7 @@ in }; servers = mkOption { - default = config.services.ntp.servers; + default = config.networking.timeServers; description = '' The set of NTP servers from which to synchronise. ''; @@ -51,6 +51,7 @@ in }; extraConfig = mkOption { + type = types.lines; default = ""; description = '' Extra configuration directives that should be added to @@ -101,7 +102,7 @@ in home = stateDir; }; - systemd.services.ntpd.enable = mkForce false; + systemd.services.timesyncd.enable = mkForce false; systemd.services.chronyd = { description = "chrony NTP daemon"; diff --git a/nixos/modules/services/networking/cjdns-hosts.sh b/nixos/modules/services/networking/cjdns-hosts.sh deleted file mode 100644 index 8a2b47e52143..000000000000 --- a/nixos/modules/services/networking/cjdns-hosts.sh +++ /dev/null @@ -1,11 +0,0 @@ -pubs=($pubs) -hosts=($hosts) - -lines="''\n" -for ((i = 0; i < ${#pubs[*]}; i++)); do - addr=$($cjdns/bin/publictoip6 ${pubs[i]}) - lines="${lines}$addr ${hosts[i]}\n" -done -lines="${lines}''" - -echo -ne $lines > $out diff --git a/nixos/modules/services/networking/cjdns.nix b/nixos/modules/services/networking/cjdns.nix index 0495b32c6fa8..a10851c16523 100644 --- a/nixos/modules/services/networking/cjdns.nix +++ b/nixos/modules/services/networking/cjdns.nix @@ -28,21 +28,18 @@ let }; }; - peers = mapAttrsToList (n: v: v) (cfg.ETHInterface.connectTo // cfg.UDPInterface.connectTo); - - pubs = toString (map (p: if p.hostname == "" then "" else p.publicKey) peers); - hosts = toString (map (p: if p.hostname == "" then "" else p.hostname) peers); - - cjdnsHosts = - if hosts != "" then - import (pkgs.stdenv.mkDerivation { - name = "cjdns-hosts"; - builder = ./cjdns-hosts.sh; - - inherit (pkgs) cjdns; - inherit pubs hosts; - }) - else ""; + # Additional /etc/hosts entries for peers with an associated hostname + cjdnsExtraHosts = import (pkgs.runCommand "cjdns-hosts" {} + # Generate a builder that produces an output usable as a Nix string value + '' + exec >$out + echo \'\' + ${concatStringsSep "\n" (mapAttrsToList (k: v: + optionalString (v.hostname != "") + "echo $(${pkgs.cjdns}/bin/publictoip6 ${v.publicKey}) ${v.hostname}") + (cfg.ETHInterface.connectTo // cfg.UDPInterface.connectTo))} + echo \'\' + ''); parseModules = x: x // { connectTo = mapAttrs (name: value: { inherit (value) password publicKey; }) x.connectTo; }; @@ -95,8 +92,8 @@ in }; confFile = mkOption { - type = types.str; - default = ""; + type = types.nullOr types.path; + default = null; example = "/etc/cjdroute.conf"; description = '' Ignore all other cjdns options and load configuration from this file. @@ -112,14 +109,14 @@ in "49275fut6tmzu354pq70sr5b95qq0vj" ]; description = '' - Any remote cjdns nodes that offer these passwords on + Any remote cjdns nodes that offer these passwords on connection will be allowed to route through this node. ''; }; - + admin = { bind = mkOption { - type = types.string; + type = types.str; default = "127.0.0.1:11234"; description = '' Bind the administration port to this address and port. @@ -129,7 +126,7 @@ in UDPInterface = { bind = mkOption { - type = types.string; + type = types.str; default = ""; example = "192.168.1.32:43211"; description = '' @@ -154,6 +151,7 @@ in ETHInterface = { bind = mkOption { + type = types.str; default = ""; example = "eth0"; description = @@ -197,22 +195,33 @@ in }; }; + addExtraHosts = mkOption { + type = types.bool; + default = false; + description = '' + Whether to add cjdns peers with an associated hostname to + /etc/hosts. Beware that enabling this + incurs heavy eval-time costs. + ''; + }; + }; }; - config = mkIf config.services.cjdns.enable { + config = mkIf cfg.enable { boot.kernelModules = [ "tun" ]; # networking.firewall.allowedUDPPorts = ... systemd.services.cjdns = { - description = "encrypted networking for everybody"; - wantedBy = [ "network.target" ]; - after = [ "networkSetup.service" "network-interfaces.target" ]; + description = "cjdns: routing engine designed for security, scalability, speed and ease of use"; + wantedBy = [ "multi-user.target" "sleep.target"]; + after = [ "network-online.target" ]; + bindsTo = [ "network-online.target" ]; - preStart = if cfg.confFile != "" then "" else '' + preStart = if cfg.confFile != null then "" else '' [ -e /etc/cjdns.keys ] && source /etc/cjdns.keys if [ -z "$CJDNS_PRIVATE_KEY" ]; then @@ -228,13 +237,13 @@ in fi if [ -z "$CJDNS_ADMIN_PASSWORD" ]; then - echo "CJDNS_ADMIN_PASSWORD=$(${pkgs.coreutils}/bin/head -c 96 /dev/urandom | ${pkgs.coreutils}/bin/tr -dc A-Za-z0-9)" \ + echo "CJDNS_ADMIN_PASSWORD=$(tr -dc A-Za-z0-9 > /etc/cjdns.keys fi ''; script = ( - if cfg.confFile != "" then "${pkg}/bin/cjdroute < ${cfg.confFile}" else + if cfg.confFile != null then "${pkg}/bin/cjdroute < ${cfg.confFile}" else '' source /etc/cjdns.keys echo '${cjdrouteConf}' | sed \ @@ -246,14 +255,22 @@ in serviceConfig = { Type = "forking"; - Restart = "on-failure"; + Restart = "always"; + StartLimitInterval = 0; + RestartSec = 1; + CapabilityBoundingSet = "CAP_NET_ADMIN CAP_NET_RAW"; + AmbientCapabilities = "CAP_NET_ADMIN CAP_NET_RAW"; + ProtectSystem = "full"; + MemoryDenyWriteExecute = true; + ProtectHome = true; + PrivateTmp = true; }; }; - networking.extraHosts = "${cjdnsHosts}"; + networking.extraHosts = mkIf cfg.addExtraHosts cjdnsExtraHosts; assertions = [ - { assertion = ( cfg.ETHInterface.bind != "" || cfg.UDPInterface.bind != "" || cfg.confFile != "" ); + { assertion = ( cfg.ETHInterface.bind != "" || cfg.UDPInterface.bind != "" || cfg.confFile != null ); message = "Neither cjdns.ETHInterface.bind nor cjdns.UDPInterface.bind defined."; } { assertion = config.networking.enableIPv6; diff --git a/nixos/modules/services/networking/cntlm.nix b/nixos/modules/services/networking/cntlm.nix index 76c0fd7d0ea3..890ff5084078 100644 --- a/nixos/modules/services/networking/cntlm.nix +++ b/nixos/modules/services/networking/cntlm.nix @@ -61,6 +61,7 @@ in }; extraConfig = mkOption { + type = types.lines; default = ""; description = "Verbatim contents of cntlm.conf."; }; diff --git a/nixos/modules/services/networking/connman.nix b/nixos/modules/services/networking/connman.nix index 3fecfbb13a04..d0683b877801 100644 --- a/nixos/modules/services/networking/connman.nix +++ b/nixos/modules/services/networking/connman.nix @@ -27,6 +27,14 @@ in { ''; }; + enableVPN = mkOption { + type = types.bool; + default = true; + description = '' + Whether to enable ConnMan VPN service. + ''; + }; + extraConfig = mkOption { type = types.lines; default = '' @@ -78,7 +86,7 @@ in { }; }; - systemd.services."connman-vpn" = { + systemd.services."connman-vpn" = mkIf cfg.enableVPN { description = "ConnMan VPN service"; wantedBy = [ "multi-user.target" ]; after = [ "syslog.target" ]; @@ -91,7 +99,7 @@ in { }; }; - systemd.services."net-connman-vpn" = { + systemd.services."net-connman-vpn" = mkIf cfg.enableVPN { description = "D-BUS Service"; serviceConfig = { Name = "net.connman.vpn"; diff --git a/nixos/modules/services/networking/dante.nix b/nixos/modules/services/networking/dante.nix new file mode 100644 index 000000000000..a9a77f3412af --- /dev/null +++ b/nixos/modules/services/networking/dante.nix @@ -0,0 +1,61 @@ +{ config, lib, pkgs, ... }: +with lib; + +let + cfg = config.services.dante; + confFile = pkgs.writeText "dante-sockd.conf" '' + user.privileged: root + user.unprivileged: dante + + ${cfg.config} + ''; +in + +{ + meta = { + maintainers = with maintainers; [ arobyn ]; + }; + + options = { + services.dante = { + enable = mkEnableOption "Dante SOCKS proxy"; + + config = mkOption { + default = null; + type = types.nullOr types.str; + description = '' + Contents of Dante's configuration file + NOTE: user.privileged/user.unprivileged are set by the service + ''; + }; + }; + }; + + config = mkIf cfg.enable { + assertions = [ + { assertion = cfg.config != null; + message = "please provide Dante configuration file contents"; + } + ]; + + users.users.dante = { + description = "Dante SOCKS proxy daemon user"; + isSystemUser = true; + group = "dante"; + }; + users.groups.dante = {}; + + systemd.services.dante = { + description = "Dante SOCKS v4 and v5 compatible proxy server"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + + serviceConfig = { + Type = "simple"; + ExecStart = "${pkgs.dante}/bin/sockd -f ${confFile}"; + ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + Restart = "always"; + }; + }; + }; +} diff --git a/nixos/modules/services/networking/ddclient.nix b/nixos/modules/services/networking/ddclient.nix index 005c57dce7c7..d1900deceaf6 100644 --- a/nixos/modules/services/networking/ddclient.nix +++ b/nixos/modules/services/networking/ddclient.nix @@ -7,7 +7,7 @@ let stateDir = "/var/spool/ddclient"; ddclientUser = "ddclient"; - ddclientFlags = "-foreground -verbose -noquiet -file /etc/ddclient.conf"; + ddclientFlags = "-foreground -verbose -noquiet -file ${config.services.ddclient.configFile}"; ddclientPIDFile = "${stateDir}/ddclient.pid"; in @@ -52,6 +52,17 @@ in ''; }; + configFile = mkOption { + default = "/etc/ddclient.conf"; + type = path; + description = '' + Path to configuration file. + When set to the default '/etc/ddclient.conf' it will be populated with the various other options in this module. When it is changed (for example: '/root/nixos/secrets/ddclient.conf') the file read directly to configure ddclient. This is a source of impurity. + The purpose of this is to avoid placing secrets into the store. + ''; + example = "/root/nixos/secrets/ddclient.conf"; + }; + protocol = mkOption { default = "dyndns2"; type = str; @@ -78,7 +89,7 @@ in extraConfig = mkOption { default = ""; - type = str; + type = lines; description = '' Extra configuration. Contents will be added verbatim to the configuration file. ''; @@ -88,7 +99,7 @@ in default = "web, web=checkip.dyndns.com/, web-skip='Current IP Address: '"; type = str; description = '' - Method to determine the IP address to send to the dymanic DNS provider. + Method to determine the IP address to send to the dynamic DNS provider. ''; }; }; @@ -109,9 +120,11 @@ in }; environment.etc."ddclient.conf" = { + enable = config.services.ddclient.configFile == "/etc/ddclient.conf"; uid = config.ids.uids.ddclient; mode = "0600"; text = '' + # This file can be used as a template for configFile or is automatically generated by Nix options. daemon=600 cache=${stateDir}/ddclient.cache pid=${ddclientPIDFile} diff --git a/nixos/modules/services/networking/dhcpcd.nix b/nixos/modules/services/networking/dhcpcd.nix index b31d479ab4fd..87c0aa50a1ff 100644 --- a/nixos/modules/services/networking/dhcpcd.nix +++ b/nixos/modules/services/networking/dhcpcd.nix @@ -10,7 +10,8 @@ let interfaces = attrValues config.networking.interfaces; - enableDHCP = config.networking.useDHCP || any (i: i.useDHCP == true) interfaces; + enableDHCP = config.networking.dhcpcd.enable && + (config.networking.useDHCP || any (i: i.useDHCP == true) interfaces); # Don't start dhcpcd on explicitly configured interfaces or on # interfaces that are part of a bridge, bond or sit device. @@ -61,7 +62,6 @@ let ${cfg.extraConfig} ''; - # Hook for emitting ip-up/ip-down events. exitHook = pkgs.writeText "dhcpcd.exit-hook" '' if [ "$reason" = BOUND -o "$reason" = REBOOT ]; then @@ -73,14 +73,8 @@ let # applies to openntpd. ${config.systemd.package}/bin/systemctl try-restart ntpd.service ${config.systemd.package}/bin/systemctl try-restart openntpd.service - - ${config.systemd.package}/bin/systemctl start ip-up.target fi - #if [ "$reason" = EXPIRE -o "$reason" = RELEASE -o "$reason" = NOCARRIER ] ; then - # ${config.systemd.package}/bin/systemctl start ip-down.target - #fi - ${cfg.runHook} ''; @@ -92,6 +86,15 @@ in options = { + networking.dhcpcd.enable = mkOption { + type = types.bool; + default = true; + description = '' + Whether to enable dhcpcd for device configuration. This is mainly to + explicitly disable dhcpcd (for example when using networkd). + ''; + }; + networking.dhcpcd.persistent = mkOption { type = types.bool; default = false; @@ -154,10 +157,9 @@ in systemd.services.dhcpcd = { description = "DHCP Client"; - wantedBy = [ "network.target" ]; - # Work-around to deal with problems where the kernel would remove & - # re-create Wifi interfaces early during boot. - after = [ "network-interfaces.target" ]; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + wants = [ "network.target" ]; # Stopping dhcpcd during a reconfiguration is undesirable # because it brings down the network interfaces configured by diff --git a/nixos/modules/services/networking/dhcpd.nix b/nixos/modules/services/networking/dhcpd.nix index 900df67b53aa..d2cd00e74a1f 100644 --- a/nixos/modules/services/networking/dhcpd.nix +++ b/nixos/modules/services/networking/dhcpd.nix @@ -47,6 +47,7 @@ in }; extraConfig = mkOption { + type = types.lines; default = ""; example = '' option subnet-mask 255.255.255.0; @@ -66,6 +67,14 @@ in "; }; + extraFlags = mkOption { + default = ""; + example = "-6"; + description = " + Additional command line flags to be passed to the dhcpd daemon. + "; + }; + configFile = mkOption { default = null; description = " @@ -138,6 +147,7 @@ in { ExecStart = "@${pkgs.dhcp}/sbin/dhcpd dhcpd" + " -pf /run/dhcpd/dhcpd.pid -cf ${configFile}" + " -lf ${stateDir}/dhcpd.leases -user dhcpd -group nogroup" + + " ${cfg.extraFlags}" + " ${toString cfg.interfaces}"; Restart = "always"; Type = "forking"; diff --git a/nixos/modules/services/networking/dnscrypt-proxy.nix b/nixos/modules/services/networking/dnscrypt-proxy.nix index 2714e8d75993..462039803f80 100644 --- a/nixos/modules/services/networking/dnscrypt-proxy.nix +++ b/nixos/modules/services/networking/dnscrypt-proxy.nix @@ -5,15 +5,25 @@ let apparmorEnabled = config.security.apparmor.enable; dnscrypt-proxy = pkgs.dnscrypt-proxy; cfg = config.services.dnscrypt-proxy; + stateDirectory = "/var/lib/dnscrypt-proxy"; localAddress = "${cfg.localAddress}:${toString cfg.localPort}"; - daemonArgs = - [ "--local-address=${localAddress}" - (optionalString cfg.tcpOnly "--tcp-only") - (optionalString cfg.ephemeralKeys "-E") - ] - ++ resolverArgs; + # The minisign public key used to sign the upstream resolver list. + # This is somewhat more flexible than preloading the key as an + # embedded string. + upstreamResolverListPubKey = pkgs.fetchurl { + url = https://raw.githubusercontent.com/jedisct1/dnscrypt-proxy/master/minisign.pub; + sha256 = "18lnp8qr6ghfc2sd46nn1rhcpr324fqlvgsp4zaigw396cd7vnnh"; + }; + + # Internal flag indicating whether the upstream resolver list is used + useUpstreamResolverList = cfg.resolverList == null && cfg.customResolver == null; + + resolverList = + if (cfg.resolverList != null) + then cfg.resolverList + else "${stateDirectory}/dnscrypt-resolvers.csv"; resolverArgs = if (cfg.customResolver != null) then @@ -22,9 +32,16 @@ let "--provider-key=${cfg.customResolver.key}" ] else - [ "--resolvers-list=${cfg.resolverList}" - "--resolver-name=${toString cfg.resolverName}" + [ "--resolvers-list=${resolverList}" + "--resolver-name=${cfg.resolverName}" ]; + + # The final command line arguments passed to the daemon + daemonArgs = + [ "--local-address=${localAddress}" ] + ++ optional cfg.tcpOnly "--tcp-only" + ++ optional cfg.ephemeralKeys "-E" + ++ resolverArgs; in { @@ -35,7 +52,11 @@ in options = { services.dnscrypt-proxy = { - enable = mkEnableOption "DNSCrypt client proxy"; + enable = mkOption { + default = false; + type = types.bool; + description = "Whether to enable the DNSCrypt client proxy"; + }; localAddress = mkOption { default = "127.0.0.1"; @@ -62,24 +83,20 @@ in default = "dnscrypt.eu-nl"; type = types.nullOr types.str; description = '' - The name of the upstream DNSCrypt resolver to use, taken from the - list named in the resolverList option. - The default resolver is located in Holland, supports DNS security - extensions, and claims to not keep logs. + The name of the upstream DNSCrypt resolver to use, taken from + ${resolverList}. The default resolver is + located in Holland, supports DNS security extensions, and + claims to not keep logs. ''; }; resolverList = mkOption { + default = null; + type = types.nullOr types.path; description = '' - The list of upstream DNSCrypt resolvers. By default, we use the most - recent list published by upstream. + List of DNSCrypt resolvers. The default is to use the list of + public resolvers provided by upstream. ''; - example = literalExample "${pkgs.dnscrypt-proxy}/share/dnscrypt-proxy/dnscrypt-resolvers.csv"; - default = pkgs.fetchurl { - url = https://raw.githubusercontent.com/jedisct1/dnscrypt-proxy/master/dnscrypt-resolvers.csv; - sha256 = "1i9wzw4zl052h5nyp28bwl8d66cgj0awvjhw5wgwz0warkjl1g8g"; - }; - defaultText = "pkgs.fetchurl { url = ...; sha256 = ...; }"; }; customResolver = mkOption { @@ -146,7 +163,7 @@ in } ]; - security.apparmor.profiles = mkIf apparmorEnabled (singleton (pkgs.writeText "apparmor-dnscrypt-proxy" '' + security.apparmor.profiles = optional apparmorEnabled (pkgs.writeText "apparmor-dnscrypt-proxy" '' ${dnscrypt-proxy}/bin/dnscrypt-proxy { /dev/null rw, /dev/urandom r, @@ -173,9 +190,9 @@ in ${getLib pkgs.lz4}/lib/liblz4.so.* mr, ${getLib pkgs.attr}/lib/libattr.so.* mr, - ${cfg.resolverList} r, + ${resolverList} r, } - '')); + ''); users.users.dnscrypt-proxy = { description = "dnscrypt-proxy daemon user"; @@ -184,11 +201,61 @@ in }; users.groups.dnscrypt-proxy = {}; + systemd.services.init-dnscrypt-proxy-statedir = optionalAttrs useUpstreamResolverList { + description = "Initialize dnscrypt-proxy state directory"; + script = '' + mkdir -pv ${stateDirectory} + chown -c dnscrypt-proxy:dnscrypt-proxy ${stateDirectory} + cp --preserve=timestamps -uv \ + ${pkgs.dnscrypt-proxy}/share/dnscrypt-proxy/dnscrypt-resolvers.csv \ + ${stateDirectory} + ''; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + }; + }; + + systemd.services.update-dnscrypt-resolvers = optionalAttrs useUpstreamResolverList { + description = "Update list of DNSCrypt resolvers"; + + requires = [ "init-dnscrypt-proxy-statedir.service" ]; + after = [ "init-dnscrypt-proxy-statedir.service" ]; + + path = with pkgs; [ curl minisign ]; + script = '' + cd ${stateDirectory} + curl -fSsL -o dnscrypt-resolvers.csv.tmp \ + https://download.dnscrypt.org/dnscrypt-proxy/dnscrypt-resolvers.csv + curl -fSsL -o dnscrypt-resolvers.csv.minisig.tmp \ + https://download.dnscrypt.org/dnscrypt-proxy/dnscrypt-resolvers.csv.minisig + mv dnscrypt-resolvers.csv.minisig{.tmp,} + minisign -q -V -p ${upstreamResolverListPubKey} \ + -m dnscrypt-resolvers.csv.tmp -x dnscrypt-resolvers.csv.minisig + mv dnscrypt-resolvers.csv{.tmp,} + ''; + + serviceConfig = { + PrivateTmp = true; + PrivateDevices = true; + ProtectHome = true; + ProtectSystem = true; + }; + }; + + systemd.timers.update-dnscrypt-resolvers = optionalAttrs useUpstreamResolverList { + timerConfig = { + OnBootSec = "5min"; + OnUnitActiveSec = "6h"; + }; + wantedBy = [ "timers.target" ]; + }; + systemd.sockets.dnscrypt-proxy = { description = "dnscrypt-proxy listening socket"; socketConfig = { - ListenStream = "${localAddress}"; - ListenDatagram = "${localAddress}"; + ListenStream = localAddress; + ListenDatagram = localAddress; }; wantedBy = [ "sockets.target" ]; }; @@ -196,8 +263,15 @@ in systemd.services.dnscrypt-proxy = { description = "dnscrypt-proxy daemon"; - after = [ "network.target" ] ++ optional apparmorEnabled "apparmor.service"; - requires = [ "dnscrypt-proxy.socket "] ++ optional apparmorEnabled "apparmor.service"; + before = [ "nss-lookup.target" ]; + + after = [ "network.target" ] + ++ optional apparmorEnabled "apparmor.service" + ++ optional useUpstreamResolverList "init-dnscrypt-proxy-statedir.service"; + + requires = [ "dnscrypt-proxy.socket "] + ++ optional apparmorEnabled "apparmor.service" + ++ optional useUpstreamResolverList "init-dnscrypt-proxy-statedir.service"; serviceConfig = { Type = "simple"; diff --git a/nixos/modules/services/networking/dnscrypt-proxy.xml b/nixos/modules/services/networking/dnscrypt-proxy.xml index e212a8d3e2c3..982961833ad2 100644 --- a/nixos/modules/services/networking/dnscrypt-proxy.xml +++ b/nixos/modules/services/networking/dnscrypt-proxy.xml @@ -49,8 +49,8 @@ { - services.dnsmasq.enable = true; - services.dnsmasq.servers = [ "127.0.0.1#43" ]; + services.dnsmasq.enable = true; + services.dnsmasq.servers = [ "127.0.0.1#43" ]; } @@ -60,12 +60,9 @@ { - networking.nameservers = [ "127.0.0.1" ]; - services.unbound.enable = true; - services.unbound.forwardAddresses = [ "127.0.0.1@43" ]; - services.unbound.extraConfig = '' - do-not-query-localhost: no - ''; + networking.nameservers = [ "127.0.0.1" ]; + services.unbound.enable = true; + services.unbound.forwardAddresses = [ "127.0.0.1@43" ]; } diff --git a/nixos/modules/services/networking/docker-registry-server.nix b/nixos/modules/services/networking/docker-registry-server.nix deleted file mode 100644 index d21bbb6a86c3..000000000000 --- a/nixos/modules/services/networking/docker-registry-server.nix +++ /dev/null @@ -1,98 +0,0 @@ -{ config, lib, pkgs, ... }: - -with lib; - -let - cfg = config.services.nodeDockerRegistry; - -in { - options.services.nodeDockerRegistry = { - enable = mkEnableOption "docker registry service"; - - port = mkOption { - description = "Docker registry listening port."; - default = 8080; - type = types.int; - }; - - users = mkOption { - description = "Docker registry list of users."; - default = []; - options = [{ - user = mkOption { - description = "Docker registry user username."; - type = types.str; - }; - - pass = mkOption { - description = "Docker registry user password."; - type = types.str; - }; - }]; - type = types.listOf types.optionSet; - }; - - onTag = mkOption { - description = "Docker registry hook triggered when an image is tagged."; - default = ""; - type = types.str; - }; - - onImage = mkOption { - description = "Docker registry hook triggered when an image metadata is uploaded."; - default = ""; - type = types.str; - }; - - onLayer = mkOption { - description = "Docker registry hook triggered when an when an image layer is uploaded."; - default = ""; - type = types.str; - }; - - onVerify = mkOption { - description = "Docker registry hook triggered when an image layer+metadata has been verified."; - default = ""; - type = types.str; - }; - - onIndex = mkOption { - description = "Docker registry hook triggered when an when an image file system data has been indexed."; - default = ""; - type = types.str; - }; - - dataDir = mkOption { - description = "Docker registry data directory"; - default = "/var/lib/docker-registry"; - type = types.path; - }; - }; - - config = mkIf cfg.enable { - systemd.services.docker-registry-server = { - description = "Docker Registry Service."; - wantedBy = ["multi-user.target"]; - after = ["network.target"]; - script = '' - ${pkgs.nodePackages.docker-registry-server}/bin/docker-registry-server \ - --dir ${cfg.dataDir} \ - --port ${toString cfg.port} \ - ${concatMapStringsSep " " (u: "--user ${u.user}:${u.pass}") cfg.users} \ - ${optionalString (cfg.onTag != "") "--on-tag '${cfg.onTag}'"} \ - ${optionalString (cfg.onImage != "") "--on-image '${cfg.onImage}'"} \ - ${optionalString (cfg.onVerify != "") "--on-verify '${cfg.onVerify}'"} \ - ${optionalString (cfg.onIndex != "") "--on-index '${cfg.onIndex}'"} - ''; - - serviceConfig.User = "docker-registry"; - }; - - users.extraUsers.docker-registry = { - uid = config.ids.uids.docker-registry; - description = "Docker registry user"; - createHome = true; - home = cfg.dataDir; - }; - }; -} diff --git a/nixos/modules/services/networking/fakeroute.nix b/nixos/modules/services/networking/fakeroute.nix new file mode 100644 index 000000000000..82a9fb729d84 --- /dev/null +++ b/nixos/modules/services/networking/fakeroute.nix @@ -0,0 +1,63 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.fakeroute; + routeConf = pkgs.writeText "route.conf" (concatStringsSep "\n" cfg.route); + +in + +{ + + ###### interface + + options = { + + services.fakeroute = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable the fakeroute service. + ''; + }; + + route = mkOption { + type = types.listOf types.str; + default = []; + example = [ + "216.102.187.130" + "4.0.1.122" + "198.116.142.34" + "63.199.8.242" + ]; + description = '' + Fake route that will appear after the real + one to any host running a traceroute. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf cfg.enable { + systemd.services.fakeroute = { + description = "Fakeroute Daemon"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + Type = "forking"; + User = "root"; + ExecStart = "${pkgs.fakeroute}/bin/fakeroute -f ${routeConf}"; + }; + }; + + }; + +} diff --git a/nixos/modules/services/networking/ferm.nix b/nixos/modules/services/networking/ferm.nix index 6271e82541f4..8933e166f59f 100644 --- a/nixos/modules/services/networking/ferm.nix +++ b/nixos/modules/services/networking/ferm.nix @@ -51,6 +51,7 @@ in { before = [ "network-pre.target" ]; wants = [ "network-pre.target" ]; wantedBy = [ "multi-user.target" ]; + reloadIfChanged = true; serviceConfig = { Type="oneshot"; RemainAfterExit = "yes"; diff --git a/nixos/modules/services/networking/firewall.nix b/nixos/modules/services/networking/firewall.nix index 138153306dd8..1c0ea5034df3 100644 --- a/nixos/modules/services/networking/firewall.nix +++ b/nixos/modules/services/networking/firewall.nix @@ -100,13 +100,13 @@ let # Perform a reverse-path test to refuse spoofers # For now, we just drop, as the raw table doesn't have a log-refuse yet - ${optionalString (kernelHasRPFilter && cfg.checkReversePath) '' + ${optionalString (kernelHasRPFilter && (cfg.checkReversePath != false)) '' # Clean up rpfilter rules ip46tables -t raw -D PREROUTING -j nixos-fw-rpfilter 2> /dev/null || true ip46tables -t raw -F nixos-fw-rpfilter 2> /dev/null || true ip46tables -t raw -N nixos-fw-rpfilter 2> /dev/null || true - ip46tables -t raw -A nixos-fw-rpfilter -m rpfilter -j RETURN + ip46tables -t raw -A nixos-fw-rpfilter -m rpfilter ${optionalString (cfg.checkReversePath == "loose") "--loose"} -j RETURN # Allows this host to act as a DHCPv4 server iptables -t raw -A nixos-fw-rpfilter -s 0.0.0.0 -d 255.255.255.255 -p udp --sport 68 --dport 67 -j RETURN @@ -200,7 +200,7 @@ let # Clean up after added ruleset ip46tables -D INPUT -j nixos-fw 2>/dev/null || true - ${optionalString (kernelHasRPFilter && cfg.checkReversePath) '' + ${optionalString (kernelHasRPFilter && (cfg.checkReversePath != false)) '' ip46tables -t raw -D PREROUTING -j nixos-fw-rpfilter 2>/dev/null || true ''} @@ -373,7 +373,7 @@ in networking.firewall.checkReversePath = mkOption { default = kernelHasRPFilter; - type = types.bool; + type = types.either types.bool (types.enum ["strict" "loose"]); description = '' Performs a reverse path filter test on a packet. @@ -381,7 +381,8 @@ in that the packet arrived on, it is refused. If using asymmetric routing or other complicated routing, - disable this setting and setup your own counter-measures. + set this option to loose mode or disable it and setup your + own counter-measures. (needs kernel 3.3+) ''; @@ -482,7 +483,7 @@ in options nf_conntrack nf_conntrack_helper=0 ''; - assertions = [ { assertion = ! cfg.checkReversePath || kernelHasRPFilter; + assertions = [ { assertion = (cfg.checkReversePath != false) || kernelHasRPFilter; message = "This kernel does not support rpfilter"; } { assertion = cfg.autoLoadConntrackHelpers || kernelCanDisableHelpers; message = "This kernel does not support disabling conntrack helpers"; } @@ -490,7 +491,8 @@ in systemd.services.firewall = { description = "Firewall"; - wantedBy = [ "network-pre.target" ]; + wantedBy = [ "sysinit.target" ]; + wants = [ "network-pre.target" ]; before = [ "network-pre.target" ]; after = [ "systemd-modules-load.service" ]; @@ -500,6 +502,7 @@ in # containers don't have CAP_SYS_MODULE. So the host system had # better have all necessary modules already loaded. unitConfig.ConditionCapability = "CAP_NET_ADMIN"; + unitConfig.DefaultDependencies = false; reloadIfChanged = true; diff --git a/nixos/modules/services/networking/flannel.nix b/nixos/modules/services/networking/flannel.nix new file mode 100644 index 000000000000..ca47a18bc1f6 --- /dev/null +++ b/nixos/modules/services/networking/flannel.nix @@ -0,0 +1,154 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.flannel; + + networkConfig = filterAttrs (n: v: v != null) { + Network = cfg.network; + SubnetLen = cfg.subnetLen; + SubnetMin = cfg.subnetMin; + SubnetMax = cfg.subnetMax; + Backend = cfg.backend; + }; +in { + options.services.flannel = { + enable = mkEnableOption "flannel"; + + package = mkOption { + description = "Package to use for flannel"; + type = types.package; + default = pkgs.flannel.bin; + defaultText = "pkgs.flannel.bin"; + }; + + publicIp = mkOption { + description = '' + IP accessible by other nodes for inter-host communication. + Defaults to the IP of the interface being used for communication. + ''; + type = types.nullOr types.str; + default = null; + }; + + iface = mkOption { + description = '' + Interface to use (IP or name) for inter-host communication. + Defaults to the interface for the default route on the machine. + ''; + type = types.nullOr types.str; + default = null; + }; + + etcd = { + endpoints = mkOption { + description = "Etcd endpoints"; + type = types.listOf types.str; + default = ["http://127.0.0.1:2379"]; + }; + + prefix = mkOption { + description = "Etcd key prefix"; + type = types.str; + default = "/coreos.com/network"; + }; + + caFile = mkOption { + description = "Etcd certificate authority file"; + type = types.nullOr types.path; + default = null; + }; + + certFile = mkOption { + description = "Etcd cert file"; + type = types.nullOr types.path; + default = null; + }; + + keyFile = mkOption { + description = "Etcd key file"; + type = types.nullOr types.path; + default = null; + }; + }; + + network = mkOption { + description = " IPv4 network in CIDR format to use for the entire flannel network."; + type = types.str; + }; + + subnetLen = mkOption { + description = '' + The size of the subnet allocated to each host. Defaults to 24 (i.e. /24) + unless the Network was configured to be smaller than a /24 in which case + it is one less than the network. + ''; + type = types.int; + default = 24; + }; + + subnetMin = mkOption { + description = '' + The beginning of IP range which the subnet allocation should start with. + Defaults to the first subnet of Network. + ''; + type = types.nullOr types.str; + default = null; + }; + + subnetMax = mkOption { + description = '' + The end of IP range which the subnet allocation should start with. + Defaults to the last subnet of Network. + ''; + type = types.nullOr types.str; + default = null; + }; + + backend = mkOption { + description = "Type of backend to use and specific configurations for that backend."; + type = types.attrs; + default = { + Type = "vxlan"; + }; + }; + }; + + config = mkIf cfg.enable { + systemd.services.flannel = { + description = "Flannel Service"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + environment = { + FLANNELD_PUBLIC_IP = cfg.publicIp; + FLANNELD_ETCD_ENDPOINTS = concatStringsSep "," cfg.etcd.endpoints; + FLANNELD_ETCD_KEYFILE = cfg.etcd.keyFile; + FLANNELD_ETCD_CERTFILE = cfg.etcd.certFile; + FLANNELD_ETCD_CAFILE = cfg.etcd.caFile; + FLANNELD_IFACE = cfg.iface; + ETCDCTL_CERT_FILE = cfg.etcd.certFile; + ETCDCTL_KEY_FILE = cfg.etcd.keyFile; + ETCDCTL_CA_FILE = cfg.etcd.caFile; + ETCDCTL_PEERS = concatStringsSep "," cfg.etcd.endpoints; + }; + preStart = '' + echo "setting network configuration" + until ${pkgs.etcdctl.bin}/bin/etcdctl set /coreos.com/network/config '${builtins.toJSON networkConfig}' + do + echo "setting network configuration, retry" + sleep 1 + done + ''; + postStart = '' + while [ ! -f /run/flannel/subnet.env ] + do + sleep 1 + done + ''; + serviceConfig.ExecStart = "${cfg.package}/bin/flannel"; + }; + + services.etcd.enable = mkDefault cfg.etcd.endpoints == ["http://127.0.0.1:2379"]; + }; +} diff --git a/nixos/modules/services/networking/git-daemon.nix b/nixos/modules/services/networking/git-daemon.nix index 215ffe48a563..cd3fcd0f8f66 100644 --- a/nixos/modules/services/networking/git-daemon.nix +++ b/nixos/modules/services/networking/git-daemon.nix @@ -116,7 +116,8 @@ in }; systemd.services."git-daemon" = { - wantedBy = [ "ip-up.target" ]; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; script = "${pkgs.git}/bin/git daemon --reuseaddr " + (optionalString (cfg.basePath != "") "--base-path=${cfg.basePath} ") + (optionalString (cfg.listenAddress != "") "--listen=${cfg.listenAddress} ") diff --git a/nixos/modules/services/networking/gvpe.nix b/nixos/modules/services/networking/gvpe.nix index 27b64b5bb95f..3ef3548e0a08 100644 --- a/nixos/modules/services/networking/gvpe.nix +++ b/nixos/modules/services/networking/gvpe.nix @@ -105,7 +105,7 @@ in config = mkIf cfg.enable { systemd.services.gvpe = { description = "GNU Virtual Private Ethernet node"; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; preStart = '' diff --git a/nixos/modules/services/networking/hostapd.nix b/nixos/modules/services/networking/hostapd.nix index 287964aab072..fd4545e88e2d 100644 --- a/nixos/modules/services/networking/hostapd.nix +++ b/nixos/modules/services/networking/hostapd.nix @@ -86,7 +86,7 @@ in hwMode = mkOption { default = "g"; - type = types.string; + type = types.enum [ "a" "b" "g" ]; description = '' Operation mode. (a = IEEE 802.11a, b = IEEE 802.11b, g = IEEE 802.11g). @@ -140,7 +140,7 @@ in ieee80211n=1 ht_capab=[HT40-][SHORT-GI-40][DSSS_CCK-40] ''; - type = types.string; + type = types.lines; description = "Extra configuration options to put in hostapd.conf."; }; }; @@ -152,9 +152,6 @@ in config = mkIf cfg.enable { assertions = [ - { assertion = (cfg.hwMode == "a" || cfg.hwMode == "b" || cfg.hwMode == "g"); - message = "hwMode must be a/b/g"; - } { assertion = (cfg.channel >= 1 && cfg.channel <= 13); message = "channel must be between 1 and 13"; }]; diff --git a/nixos/modules/services/networking/htpdate.nix b/nixos/modules/services/networking/htpdate.nix new file mode 100644 index 000000000000..f5d512c7cd5a --- /dev/null +++ b/nixos/modules/services/networking/htpdate.nix @@ -0,0 +1,80 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + inherit (pkgs) htpdate; + + cfg = config.services.htpdate; +in + +{ + + ###### interface + + options = { + + services.htpdate = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Enable htpdate daemon. + ''; + }; + + extraOptions = mkOption { + type = types.str; + default = ""; + description = '' + Additional command line arguments to pass to htpdate. + ''; + }; + + servers = mkOption { + type = types.listOf types.str; + default = [ "www.google.com" ]; + description = '' + HTTP servers to use for time synchronization. + ''; + }; + + proxy = mkOption { + type = types.str; + default = ""; + example = "127.0.0.1:8118"; + description = '' + HTTP proxy used for requests. + ''; + }; + + }; + + }; + + ###### implementation + + config = mkIf cfg.enable { + + systemd.services.htpdate = { + description = "htpdate daemon"; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + Type = "forking"; + PIDFile = "/var/run/htpdate.pid"; + ExecStart = concatStringsSep " " [ + "${htpdate}/bin/htpdate" + "-D -u nobody" + "-a -s" + "-l" + "${optionalString (cfg.proxy != "") "-P ${cfg.proxy}"}" + "${cfg.extraOptions}" + "${concatStringsSep " " cfg.servers}" + ]; + }; + }; + + }; + +} diff --git a/nixos/modules/services/networking/i2pd.nix b/nixos/modules/services/networking/i2pd.nix index 0cbf57314c4b..abb7a4e9137c 100644 --- a/nixos/modules/services/networking/i2pd.nix +++ b/nixos/modules/services/networking/i2pd.nix @@ -10,7 +10,7 @@ let extip = "EXTIP=\$(${pkgs.curl.bin}/bin/curl -sf \"http://jsonip.com\" | ${pkgs.gawk}/bin/awk -F'\"' '{print $4}')"; - toYesNo = b: if b then "yes" else "no"; + toYesNo = b: if b then "true" else "false"; mkEndpointOpt = name: addr: port: { enable = mkEnableOption name; @@ -31,6 +31,17 @@ let }; }; + mkKeyedEndpointOpt = name: addr: port: keyFile: + (mkEndpointOpt name addr port) // { + keys = mkOption { + type = types.str; + default = ""; + description = '' + File to persist ${lib.toUpper name} keys. + ''; + }; + }; + commonTunOpts = let i2cpOpts = { length = mkOption { @@ -63,19 +74,49 @@ let }; } // mkEndpointOpt name "127.0.0.1" 0; - i2pdConf = pkgs.writeText "i2pd.conf" '' - ipv6 = ${toYesNo cfg.enableIPv6} - notransit = ${toYesNo cfg.notransit} - floodfill = ${toYesNo cfg.floodfill} - ${if isNull cfg.port then "" else "port = ${toString cfg.port}"} - ${flip concatMapStrings - (collect (proto: proto ? port && proto ? address && proto ? name) cfg.proto) - (proto: let portStr = toString proto.port; in '' - [${proto.name}] - address = ${proto.address} - port = ${toString proto.port} - enabled = ${toYesNo proto.enable} - '') + i2pdConf = pkgs.writeText "i2pd.conf" + '' + ipv4 = ${toYesNo cfg.enableIPv4} + ipv6 = ${toYesNo cfg.enableIPv6} + notransit = ${toYesNo cfg.notransit} + floodfill = ${toYesNo cfg.floodfill} + netid = ${toString cfg.netid} + ${if isNull cfg.bandwidth then "" else "bandwidth = ${toString cfg.bandwidth}" } + ${if isNull cfg.port then "" else "port = ${toString cfg.port}"} + + [limits] + transittunnels = ${toString cfg.limits.transittunnels} + + [upnp] + enabled = ${toYesNo cfg.upnp.enable} + name = ${cfg.upnp.name} + + [precomputation] + elgamal = ${toYesNo cfg.precomputation.elgamal} + + [reseed] + verify = ${toYesNo cfg.reseed.verify} + file = ${cfg.reseed.file} + urls = ${builtins.concatStringsSep "," cfg.reseed.urls} + + [addressbook] + defaulturl = ${cfg.addressbook.defaulturl} + subscriptions = ${builtins.concatStringsSep "," cfg.addressbook.subscriptions} + ${flip concatMapStrings + (collect (proto: proto ? port && proto ? address && proto ? name) cfg.proto) + (proto: let portStr = toString proto.port; in + '' + [${proto.name}] + enabled = ${toYesNo proto.enable} + address = ${proto.address} + port = ${toString proto.port} + ${if proto ? keys then "keys = ${proto.keys}" else ""} + ${if proto ? auth then "auth = ${toYesNo proto.auth}" else ""} + ${if proto ? user then "user = ${proto.user}" else ""} + ${if proto ? pass then "pass = ${proto.pass}" else ""} + ${if proto ? outproxy then "outproxy = ${proto.outproxy}" else ""} + ${if proto ? outproxyPort then "outproxyport = ${toString proto.outproxyPort}" else ""} + '') } ''; @@ -106,7 +147,7 @@ let host = ${tun.address} port = ${tun.port} inport = ${tun.inPort} - accesslist = ${concatStringSep "," tun.accessList} + accesslist = ${builtins.concatStringsSep "," tun.accessList} '') } ''; @@ -114,7 +155,7 @@ let i2pdSh = pkgs.writeScriptBin "i2pd" '' #!/bin/sh ${if isNull cfg.extIp then extip else ""} - ${pkgs.i2pd}/bin/i2pd --log=1 \ + ${pkgs.i2pd}/bin/i2pd \ --host=${if isNull cfg.extIp then "$EXTIP" else cfg.extIp} \ --conf=${i2pdConf} \ --tunconf=${i2pdTunnelConf} @@ -135,6 +176,8 @@ in default = false; description = '' Enables I2Pd as a running service upon activation. + Please read http://i2pd.readthedocs.io/en/latest/ for further + configuration help. ''; }; @@ -162,6 +205,22 @@ in ''; }; + netid = mkOption { + type = types.int; + default = 2; + description = '' + I2P overlay netid. + ''; + }; + + bandwidth = mkOption { + type = with types; nullOr int; + default = null; + description = '' + Set a router bandwidth limit integer in kbps or letters: L (32), O (256), P (2048), X (>9000) + ''; + }; + port = mkOption { type = with types; nullOr int; default = null; @@ -170,6 +229,14 @@ in ''; }; + enableIPv4 = mkOption { + type = types.bool; + default = true; + description = '' + Enables IPv4 connectivity. Enabled by default. + ''; + }; + enableIPv6 = mkOption { type = types.bool; default = false; @@ -178,53 +245,177 @@ in ''; }; - proto.http = mkEndpointOpt "http" "127.0.0.1" 7070; + upnp = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Enables UPnP. + ''; + }; + + name = mkOption { + type = types.str; + default = "I2Pd"; + description = '' + Name i2pd appears in UPnP forwardings list. + ''; + }; + }; + + precomputation.elgamal = mkOption { + type = types.bool; + default = false; + description = '' + Use ElGamal precomputated tables. + ''; + }; + + reseed = { + verify = mkOption { + type = types.bool; + default = false; + description = '' + Request SU3 signature verification + ''; + }; + + file = mkOption { + type = types.str; + default = ""; + description = '' + Full path to SU3 file to reseed from + ''; + }; + + urls = mkOption { + type = with types; listOf str; + default = [ + "https://reseed.i2p-project.de/" + "https://i2p.mooo.com/netDb/" + "https://netdb.i2p2.no/" + "https://us.reseed.i2p2.no:444/" + "https://uk.reseed.i2p2.no:444/" + "https://i2p.manas.ca:8443/" + ]; + description = '' + Reseed URLs + ''; + }; + }; + + addressbook = { + defaulturl = mkOption { + type = types.str; + default = "http://joajgazyztfssty4w2on5oaqksz6tqoxbduy553y34mf4byv6gpq.b32.i2p/export/alive-hosts.txt"; + description = '' + AddressBook subscription URL for initial setup + ''; + }; + subscriptions = mkOption { + type = with types; listOf str; + default = [ + "http://inr.i2p/export/alive-hosts.txt" + "http://i2p-projekt.i2p/hosts.txt" + "http://stats.i2p/cgi-bin/newhosts.txt" + ]; + description = '' + AddressBook subscription URLs + ''; + }; + }; + + limits.transittunnels = mkOption { + type = types.int; + default = 2500; + description = '' + Maximum number of active transit sessions + ''; + }; + + proto.http = (mkEndpointOpt "http" "127.0.0.1" 7070) // { + auth = mkOption { + type = types.bool; + default = false; + description = '' + Enable authentication for webconsole. + ''; + }; + user = mkOption { + type = types.str; + default = "i2pd"; + description = '' + Username for webconsole access + ''; + }; + pass = mkOption { + type = types.str; + default = "i2pd"; + description = '' + Password for webconsole access. + ''; + }; + }; + + proto.httpProxy = mkKeyedEndpointOpt "httpproxy" "127.0.0.1" 4446 ""; + proto.socksProxy = (mkKeyedEndpointOpt "socksproxy" "127.0.0.1" 4447 "") + // { + outproxy = mkOption { + type = types.str; + default = "127.0.0.1"; + description = "Upstream outproxy bind address."; + }; + outproxyPort = mkOption { + type = types.int; + default = 4444; + description = "Upstream outproxy bind port."; + }; + }; + proto.sam = mkEndpointOpt "sam" "127.0.0.1" 7656; proto.bob = mkEndpointOpt "bob" "127.0.0.1" 2827; + proto.i2cp = mkEndpointOpt "i2cp" "127.0.0.1" 7654; proto.i2pControl = mkEndpointOpt "i2pcontrol" "127.0.0.1" 7650; - proto.httpProxy = mkEndpointOpt "httpproxy" "127.0.0.1" 4446; - proto.socksProxy = mkEndpointOpt "socksproxy" "127.0.0.1" 4447; outTunnels = mkOption { default = {}; - type = with types; loaOf optionSet; + type = with types; loaOf (submodule ( + { name, config, ... }: { + options = commonTunOpts name; + config = { + name = mkDefault name; + }; + } + )); description = '' Connect to someone as a client and establish a local accept endpoint ''; - options = [ ({ name, config, ... }: { - options = commonTunOpts name; - config = { - name = mkDefault name; - }; - }) ]; }; inTunnels = mkOption { default = {}; - type = with types; loaOf optionSet; + type = with types; loaOf (submodule ( + { name, config, ... }: { + options = { + inPort = mkOption { + type = types.int; + default = 0; + description = "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."; + }; + } // commonTunOpts name; + config = { + name = mkDefault name; + }; + } + )); description = '' Serve something on I2P network at port and delegate requests to address inPort. ''; - options = [ ({ name, config, ... }: { - - options = { - inPort = mkOption { - type = types.int; - default = 0; - description = "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."; - }; - } // commonTunOpts name; - - config = { - name = mkDefault name; - }; - - }) ]; }; }; }; diff --git a/nixos/modules/services/networking/iodine.nix b/nixos/modules/services/networking/iodine.nix index 1b0d2d9a517c..512dbd77ae4b 100644 --- a/nixos/modules/services/networking/iodine.nix +++ b/nixos/modules/services/networking/iodine.nix @@ -106,7 +106,8 @@ in createIodineClientService = name: cfg: { description = "iodine client - ${name}"; - wantedBy = [ "ip-up.target" ]; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; serviceConfig = { RestartSec = "30s"; Restart = "always"; @@ -121,7 +122,8 @@ in ) // { iodined = mkIf (cfg.server.enable) { description = "iodine, ip over dns server daemon"; - wantedBy = [ "ip-up.target" ]; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; serviceConfig.ExecStart = "${pkgs.iodine}/bin/iodined -f -u ${iodinedUser} ${cfg.server.extraConfig} ${cfg.server.ip} ${cfg.server.domain}"; }; }; diff --git a/nixos/modules/services/networking/ircd-hybrid/builder.sh b/nixos/modules/services/networking/ircd-hybrid/builder.sh index f2c92878a4dc..38312210df25 100644 --- a/nixos/modules/services/networking/ircd-hybrid/builder.sh +++ b/nixos/modules/services/networking/ircd-hybrid/builder.sh @@ -12,7 +12,7 @@ for i in $scripts; do if test "$(echo $i | cut -c1-2)" = "=>"; then subDir=$(echo $i | cut -c3-) else - dst=$out/$subDir/$((stripHash $i; echo $strippedName) | sed 's/\.in//') + dst=$out/$subDir/$(stripHash $i | sed 's/\.in//') doSub $i $dst chmod +x $dst # !!! fi @@ -23,7 +23,7 @@ for i in $substFiles; do if test "$(echo $i | cut -c1-2)" = "=>"; then subDir=$(echo $i | cut -c3-) else - dst=$out/$subDir/$((stripHash $i; echo $strippedName) | sed 's/\.in//') + dst=$out/$subDir/$(stripHash $i | sed 's/\.in//') doSub $i $dst fi done diff --git a/nixos/modules/services/networking/kippo.nix b/nixos/modules/services/networking/kippo.nix index 5f3efcd133a1..834de4fdc09f 100644 --- a/nixos/modules/services/networking/kippo.nix +++ b/nixos/modules/services/networking/kippo.nix @@ -46,7 +46,7 @@ rec { }; extraConfig = mkOption { default = ""; - type = types.string; + type = types.lines; description = ''Extra verbatim configuration added to the end of kippo.cfg.''; }; }; @@ -54,7 +54,7 @@ rec { }; config = mkIf cfg.enable { environment.systemPackages = with pkgs.pythonPackages; [ - python twisted_11 pycrypto pyasn1 ]; + python pkgs.kippo.twisted pycrypto pyasn1 ]; environment.etc."kippo.cfg".text = '' # Automatically generated by NixOS. @@ -84,7 +84,7 @@ rec { description = "Kippo Web Server"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; - environment.PYTHONPATH = "${pkgs.kippo}/src/:${pkgs.pythonPackages.pycrypto}/lib/python2.7/site-packages/:${pkgs.pythonPackages.pyasn1}/lib/python2.7/site-packages/:${pkgs.pythonPackages.python}/lib/python2.7/site-packages/:${pkgs.pythonPackages.twisted_11}/lib/python2.7/site-packages/:."; + environment.PYTHONPATH = "${pkgs.kippo}/src/:${pkgs.pythonPackages.pycrypto}/lib/python2.7/site-packages/:${pkgs.pythonPackages.pyasn1}/lib/python2.7/site-packages/:${pkgs.pythonPackages.python}/lib/python2.7/site-packages/:${pkgs.kippo.twisted}/lib/python2.7/site-packages/:."; preStart = '' if [ ! -d ${cfg.varPath}/ ] ; then mkdir -p ${cfg.logPath}/tty @@ -107,7 +107,7 @@ rec { fi ''; - serviceConfig.ExecStart = "${pkgs.pythonPackages.twisted_11}/bin/twistd -y ${pkgs.kippo}/src/kippo.tac --syslog --rundir=${cfg.varPath}/ --pidfile=${cfg.pidPath}/kippo.pid --prefix=kippo -n"; + serviceConfig.ExecStart = "${pkgs.kippo.twisted}/bin/twistd -y ${pkgs.kippo}/src/kippo.tac --syslog --rundir=${cfg.varPath}/ --pidfile=${cfg.pidPath}/kippo.pid --prefix=kippo -n"; serviceConfig.PermissionsStartOnly = true; serviceConfig.User = "kippo"; serviceConfig.Group = "kippo"; diff --git a/nixos/modules/services/networking/miredo.nix b/nixos/modules/services/networking/miredo.nix new file mode 100644 index 000000000000..932d6cf29037 --- /dev/null +++ b/nixos/modules/services/networking/miredo.nix @@ -0,0 +1,93 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.miredo; + pidFile = "/run/miredo.pid"; + miredoConf = pkgs.writeText "miredo.conf" '' + InterfaceName ${cfg.interfaceName} + ServerAddress ${cfg.serverAddress} + ${optionalString (cfg.bindAddress != null) "BindAddress ${cfg.bindAddress}"} + ${optionalString (cfg.bindPort != null) "BindPort ${cfg.bindPort}"} + ''; +in +{ + + ###### interface + + options = { + + services.miredo = { + + enable = mkEnableOption "Whether miredo should be run on startup."; + + package = mkOption { + type = types.package; + default = pkgs.miredo; + defaultText = "pkgs.miredo"; + description = '' + The package to use for the miredo daemon's binary. + ''; + }; + + serverAddress = mkOption { + default = "teredo.remlab.net"; + type = types.str; + description = '' + The hostname or primary IPv4 address of the Teredo server. + This setting is required if Miredo runs as a Teredo client. + "teredo.remlab.net" is an experimental service for testing only. + Please use another server for production and/or large scale deployments. + ''; + }; + + interfaceName = mkOption { + default = "teredo"; + type = types.str; + description = '' + Name of the network tunneling interface. + ''; + }; + + bindAddress = mkOption { + default = null; + type = types.nullOr types.str; + description = '' + Depending on the local firewall/NAT rules, you might need to force + Miredo to use a fixed UDP port and or IPv4 address. + ''; + }; + + bindPort = mkOption { + default = null; + type = types.nullOr types.str; + description = '' + Depending on the local firewall/NAT rules, you might need to force + Miredo to use a fixed UDP port and or IPv4 address. + ''; + }; + }; + }; + + + ###### implementation + + config = mkIf cfg.enable { + + systemd.services.miredo = { + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + description = "Teredo IPv6 Tunneling Daemon"; + serviceConfig = { + Restart = "always"; + RestartSec = "5s"; + ExecStartPre = "${cfg.package}/bin/miredo-checkconf -f ${miredoConf}"; + ExecStart = "${cfg.package}/bin/miredo -c ${miredoConf} -p ${pidFile} -f"; + ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + }; + }; + + }; + +} diff --git a/nixos/modules/services/networking/mjpg-streamer.nix b/nixos/modules/services/networking/mjpg-streamer.nix index 9986f549aecf..1286b0c7ef6c 100644 --- a/nixos/modules/services/networking/mjpg-streamer.nix +++ b/nixos/modules/services/networking/mjpg-streamer.nix @@ -59,8 +59,12 @@ in { description = "mjpg-streamer webcam streamer"; wantedBy = [ "multi-user.target" ]; - serviceConfig.User = cfg.user; - serviceConfig.Group = cfg.group; + serviceConfig = { + User = cfg.user; + Group = cfg.group; + Restart = "on-failure"; + RestartSec = 1; + }; script = '' IPLUGIN="${cfg.inputPlugin}" diff --git a/nixos/modules/services/networking/murmur.nix b/nixos/modules/services/networking/murmur.nix index 1cc19a2c9e09..81f968ae9fe1 100644 --- a/nixos/modules/services/networking/murmur.nix +++ b/nixos/modules/services/networking/murmur.nix @@ -15,7 +15,7 @@ let logfile=/var/log/murmur/murmurd.log pidfile=${cfg.pidfile} - welcome="${cfg.welcome}" + welcometext="${cfg.welcometext}" port=${toString cfg.port} ${if cfg.hostName == "" then "" else "host="+cfg.hostName} @@ -84,7 +84,7 @@ in description = "Path to PID file for Murmur daemon."; }; - welcome = mkOption { + welcometext = mkOption { type = types.str; default = ""; description = "Welcome message for connected clients."; @@ -230,7 +230,7 @@ in }; extraConfig = mkOption { - type = types.str; + type = types.lines; default = ""; description = "Extra configuration to put into mumur.ini."; }; diff --git a/nixos/modules/services/networking/nat.nix b/nixos/modules/services/networking/nat.nix index 9d163e60d5ea..08ba2fdb1646 100644 --- a/nixos/modules/services/networking/nat.nix +++ b/nixos/modules/services/networking/nat.nix @@ -122,23 +122,23 @@ in }; networking.nat.forwardPorts = mkOption { - type = types.listOf types.optionSet; + type = with types; listOf (submodule { + options = { + sourcePort = mkOption { + type = types.int; + example = 8080; + description = "Source port of the external interface"; + }; + + destination = mkOption { + type = types.str; + example = "10.0.0.1:80"; + description = "Forward tcp connection to destination ip:port"; + }; + }; + }); default = []; example = [ { sourcePort = 8080; destination = "10.0.0.1:80"; } ]; - options = { - sourcePort = mkOption { - type = types.int; - example = 8080; - description = "Source port of the external interface"; - }; - - destination = mkOption { - type = types.str; - example = "10.0.0.1:80"; - description = "Forward tcp connection to destination ip:port"; - }; - }; - description = '' List of forwarded ports from the external interface to @@ -171,7 +171,7 @@ in systemd.services = mkIf (!config.networking.firewall.enable) { nat = { description = "Network Address Translation"; wantedBy = [ "network.target" ]; - after = [ "network-interfaces.target" "systemd-modules-load.service" ]; + after = [ "network-pre.target" "systemd-modules-load.service" ]; path = [ pkgs.iptables ]; unitConfig.ConditionCapability = "CAP_NET_ADMIN"; diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix index d198e3bfc02c..8f353979d3fc 100644 --- a/nixos/modules/services/networking/networkmanager.nix +++ b/nixos/modules/services/networking/networkmanager.nix @@ -52,14 +52,6 @@ let }); ''; - ipUpScript = writeScript "01nixos-ip-up" '' - #!/bin/sh - if test "$2" = "up"; then - ${config.systemd.package}/bin/systemctl start ip-up.target - ${config.systemd.package}/bin/systemctl start network-online.target - fi - ''; - ns = xs: writeText "nameservers" ( concatStrings (map (s: "nameserver ${s}\n") xs) ); @@ -188,9 +180,6 @@ in { boot.kernelModules = [ "ppp_mppe" ]; # Needed for most (all?) PPTP VPN connections. environment.etc = with cfg.basePackages; [ - { source = ipUpScript; - target = "NetworkManager/dispatcher.d/01nixos-ip-up"; - } { source = configFile; target = "NetworkManager/NetworkManager.conf"; } @@ -209,6 +198,9 @@ in { { source = "${networkmanager_l2tp}/etc/NetworkManager/VPN/nm-l2tp-service.name"; target = "NetworkManager/VPN/nm-l2tp-service.name"; } + { source = "${networkmanager_strongswan}/etc/NetworkManager/VPN/nm-strongswan-service.name"; + target = "NetworkManager/VPN/nm-strongswan-service.name"; + } ] ++ optional (cfg.appendNameservers == [] || cfg.insertNameservers == []) { source = overrideNameserversScript; target = "NetworkManager/dispatcher.d/02overridedns"; diff --git a/nixos/modules/services/networking/nntp-proxy.nix b/nixos/modules/services/networking/nntp-proxy.nix index dca8ccac7627..7eebecb23b00 100644 --- a/nixos/modules/services/networking/nntp-proxy.nix +++ b/nixos/modules/services/networking/nntp-proxy.nix @@ -148,11 +148,11 @@ in }; verbosity = mkOption { - type = types.str; + type = types.enum [ "error" "warning" "notice" "info" "debug" ]; default = "info"; example = "error"; description = '' - Verbosity level (error, warning, notice, info, debug) + Verbosity level ''; }; diff --git a/nixos/modules/services/networking/nsd.nix b/nixos/modules/services/networking/nsd.nix index 333a3378c4cc..481e267f6c38 100644 --- a/nixos/modules/services/networking/nsd.nix +++ b/nixos/modules/services/networking/nsd.nix @@ -71,6 +71,7 @@ let # interfaces ${forEach " ip-address: " cfg.interfaces} + ip-freebind: ${yesOrNo cfg.ipFreebind} hide-version: ${yesOrNo cfg.hideVersion} identity: "${cfg.identity}" ip-transparent: ${yesOrNo cfg.ipTransparent} @@ -84,7 +85,7 @@ let reuseport: ${yesOrNo cfg.reuseport} round-robin: ${yesOrNo cfg.roundRobin} server-count: ${toString cfg.serverCount} - ${if cfg.statistics == null then "" else "statistics: ${toString cfg.statistics}"} + ${maybeToString "statistics: " cfg.statistics} tcp-count: ${toString cfg.tcpCount} tcp-query-count: ${toString cfg.tcpQueryCount} tcp-timeout: ${toString cfg.tcpTimeout} @@ -117,7 +118,8 @@ let ''; yesOrNo = b: if b then "yes" else "no"; - maybeString = pre: s: if s == null then "" else ''${pre} "${s}"''; + maybeString = prefix: x: if x == null then "" else ''${prefix} "${x}"''; + maybeToString = prefix: x: if x == null then "" else ''${prefix} ${toString x}''; forEach = pre: l: concatMapStrings (x: pre + x + "\n") l; @@ -146,6 +148,11 @@ let ${forEach " rrl-whitelist: " zone.rrlWhitelist} ${maybeString "zonestats: " zone.zoneStats} + ${maybeToString "max-refresh-time: " zone.maxRefreshSecs} + ${maybeToString "min-refresh-time: " zone.minRefreshSecs} + ${maybeToString "max-retry-time: " zone.maxRetrySecs} + ${maybeToString "min-retry-time: " zone.minRetrySecs} + allow-axfr-fallback: ${yesOrNo zone.allowAXFRFallback} ${forEach " allow-notify: " zone.allowNotify} ${forEach " request-xfr: " zone.requestXFR} @@ -241,6 +248,44 @@ let ''; }; + maxRefreshSecs = mkOption { + type = types.nullOr types.int; + default = null; + description = '' + Limit refresh time for secondary zones. This is the timer which + checks to see if the zone has to be refetched when it expires. + Normally the value from the SOA record is used, but this option + restricts that value. + ''; + }; + + minRefreshSecs = mkOption { + type = types.nullOr types.int; + default = null; + description = '' + Limit refresh time for secondary zones. + ''; + }; + + maxRetrySecs = mkOption { + type = types.nullOr types.int; + default = null; + description = '' + Limit retry time for secondary zones. This is the timeout after + a failed fetch attempt for the zone. Normally the value from + the SOA record is used, but this option restricts that value. + ''; + }; + + minRetrySecs = mkOption { + type = types.nullOr types.int; + default = null; + description = '' + Limit retry time for secondary zones. + ''; + }; + + notify = mkOption { type = types.listOf types.str; default = []; @@ -300,12 +345,10 @@ let }; rrlWhitelist = mkOption { - type = types.listOf types.str; + type = with types; listOf (enum [ "nxdomain" "error" "referral" "any" "rrsig" "wildcard" "nodata" "dnskey" "positive" "all" ]); default = []; description = '' Whitelists the given rrl-types. - The RRL classification types are: nxdomain, error, referral, any, - rrsig, wildcard, nodata, dnskey, positive, all ''; }; @@ -366,6 +409,15 @@ in ''; }; + ipFreebind = mkOption { + type = types.bool; + default = false; + description = '' + Whether to bind to nonlocal addresses and interfaces that are down. + Similar to ip-transparent. + ''; + }; + ipTransparent = mkOption { type = types.bool; default = false; diff --git a/nixos/modules/services/networking/ntpd.nix b/nixos/modules/services/networking/ntpd.nix index c8a085679280..88e6dbf22b9e 100644 --- a/nixos/modules/services/networking/ntpd.nix +++ b/nixos/modules/services/networking/ntpd.nix @@ -34,7 +34,7 @@ in services.ntp = { enable = mkOption { - default = !config.boot.isContainer; + default = false; description = '' Whether to synchronise your machine's time using the NTP protocol. @@ -42,12 +42,7 @@ in }; servers = mkOption { - default = [ - "0.nixos.pool.ntp.org" - "1.nixos.pool.ntp.org" - "2.nixos.pool.ntp.org" - "3.nixos.pool.ntp.org" - ]; + default = config.networking.timeServers; description = '' The set of NTP servers from which to synchronise. ''; @@ -70,6 +65,7 @@ in # Make tools such as ntpq available in the system path. environment.systemPackages = [ pkgs.ntp ]; + services.timesyncd.enable = mkForce false; users.extraUsers = singleton { name = ntpUser; diff --git a/nixos/modules/services/networking/oidentd.nix b/nixos/modules/services/networking/oidentd.nix index 651bb8e967cf..ba7acd879546 100644 --- a/nixos/modules/services/networking/oidentd.nix +++ b/nixos/modules/services/networking/oidentd.nix @@ -25,7 +25,7 @@ with lib; config = mkIf config.services.oidentd.enable { systemd.services.oidentd = { - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; serviceConfig.Type = "forking"; script = "${pkgs.oidentd}/sbin/oidentd -u oidentd -g nogroup" + diff --git a/nixos/modules/services/networking/openfire.nix b/nixos/modules/services/networking/openfire.nix index ed91b45ec945..4059eb3db83d 100644 --- a/nixos/modules/services/networking/openfire.nix +++ b/nixos/modules/services/networking/openfire.nix @@ -34,7 +34,7 @@ with lib; assertions = singleton { assertion = !(config.services.openfire.usePostgreSQL -> config.services.postgresql.enable); - message = "OpenFire assertion failed."; + message = "OpenFire configured to use PostgreSQL but services.postgresql.enable is not enabled."; }; systemd.services.openfire = { @@ -47,7 +47,7 @@ with lib; export HOME=/tmp mkdir /var/log/openfire || true mkdir /etc/openfire || true - for i in ${openfire}/conf.inst/*; do + for i in ${pkgs.openfire}/conf.inst/*; do if ! test -f /etc/openfire/$(basename $i); then cp $i /etc/openfire/ fi diff --git a/nixos/modules/services/networking/openntpd.nix b/nixos/modules/services/networking/openntpd.nix index a8625fa2fa91..13a1b5258ce0 100644 --- a/nixos/modules/services/networking/openntpd.nix +++ b/nixos/modules/services/networking/openntpd.nix @@ -49,7 +49,7 @@ in ###### implementation config = mkIf cfg.enable { - services.ntp.enable = mkForce false; + services.timesyncd.enable = mkForce false; # Add ntpctl to the environment for status checking environment.systemPackages = [ package ]; diff --git a/nixos/modules/services/networking/openvpn.nix b/nixos/modules/services/networking/openvpn.nix index 82173a841a3f..3fbf5a9f0227 100644 --- a/nixos/modules/services/networking/openvpn.nix +++ b/nixos/modules/services/networking/openvpn.nix @@ -56,7 +56,7 @@ let description = "OpenVPN instance ‘${name}’"; wantedBy = optional cfg.autoStart "multi-user.target"; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; path = [ pkgs.iptables pkgs.iproute pkgs.nettools ]; @@ -116,52 +116,54 @@ in attribute name. ''; - type = types.attrsOf types.optionSet; + type = with types; attrsOf (submodule { - options = { + options = { + + config = mkOption { + type = types.lines; + description = '' + Configuration of this OpenVPN instance. See + openvpn8 + for details. + ''; + }; + + up = mkOption { + default = ""; + type = types.lines; + description = '' + Shell commands executed when the instance is starting. + ''; + }; + + down = mkOption { + default = ""; + type = types.lines; + description = '' + Shell commands executed when the instance is shutting down. + ''; + }; + + autoStart = mkOption { + default = true; + type = types.bool; + description = "Whether this OpenVPN instance should be started automatically."; + }; + + updateResolvConf = mkOption { + default = false; + type = types.bool; + description = '' + Use the script from the update-resolv-conf package to automatically + update resolv.conf with the DNS information provided by openvpn. The + script will be run after the "up" commands and before the "down" commands. + ''; + }; - config = mkOption { - type = types.lines; - description = '' - Configuration of this OpenVPN instance. See - openvpn8 - for details. - ''; }; - up = mkOption { - default = ""; - type = types.lines; - description = '' - Shell commands executed when the instance is starting. - ''; - }; - - down = mkOption { - default = ""; - type = types.lines; - description = '' - Shell commands executed when the instance is shutting down. - ''; - }; - - autoStart = mkOption { - default = true; - type = types.bool; - description = "Whether this OpenVPN instance should be started automatically."; - }; - - updateResolvConf = mkOption { - default = false; - type = types.bool; - description = '' - Use the script from the update-resolv-conf package to automatically - update resolv.conf with the DNS information provided by openvpn. The - script will be run after the "up" commands and before the "down" commands. - ''; - }; - - }; + }); }; diff --git a/nixos/modules/services/networking/powerdns.nix b/nixos/modules/services/networking/powerdns.nix new file mode 100644 index 000000000000..ba05e15389f6 --- /dev/null +++ b/nixos/modules/services/networking/powerdns.nix @@ -0,0 +1,49 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.powerdns; + configDir = pkgs.writeTextDir "pdns.conf" "${cfg.extraConfig}"; +in { + options = { + services.powerdns = { + enable = mkEnableOption "Powerdns domain name server"; + + extraConfig = mkOption { + type = types.lines; + default = "launch=bind"; + description = '' + Extra lines to be added verbatim to pdns.conf. + Powerdns will chroot to /var/lib/powerdns. + So any file, powerdns is supposed to be read, + should be in /var/lib/powerdns and needs to specified + relative to the chroot. + ''; + }; + }; + }; + + config = mkIf config.services.powerdns.enable { + systemd.services.pdns = { + unitConfig.Documentation = "man:pdns_server(1) man:pdns_control(1)"; + description = "Powerdns name server"; + wantedBy = [ "multi-user.target" ]; + after = ["network.target" "mysql.service" "postgresql.service" "openldap.service"]; + + serviceConfig = { + Restart="on-failure"; + RestartSec="1"; + StartLimitInterval="0"; + PrivateDevices=true; + CapabilityBoundingSet="CAP_CHOWN CAP_NET_BIND_SERVICE CAP_SETGID CAP_SETUID CAP_SYS_CHROOT"; + NoNewPrivileges=true; + ExecStartPre = "${pkgs.coreutils}/bin/mkdir -p /var/lib/powerdns"; + ExecStart = "${pkgs.powerdns}/bin/pdns_server --setuid=nobody --setgid=nogroup --chroot=/var/lib/powerdns --socket-dir=/ --daemon=no --guardian=no --disable-syslog --write-pid=no --config-dir=${configDir}"; + ProtectSystem="full"; + ProtectHome=true; + RestrictAddressFamilies="AF_UNIX AF_INET AF_INET6"; + }; + }; + }; +} diff --git a/nixos/modules/services/networking/prayer.nix b/nixos/modules/services/networking/prayer.nix index 4e1d66bc110a..67d8cece6115 100644 --- a/nixos/modules/services/networking/prayer.nix +++ b/nixos/modules/services/networking/prayer.nix @@ -56,6 +56,7 @@ in }; extraConfig = mkOption { + type = types.lines; default = "" ; description = '' Extra configuration. Contents will be added verbatim to the configuration file. diff --git a/nixos/modules/services/networking/privoxy.nix b/nixos/modules/services/networking/privoxy.nix index 94beb78ef5a4..49ca839a2c37 100644 --- a/nixos/modules/services/networking/privoxy.nix +++ b/nixos/modules/services/networking/privoxy.nix @@ -6,8 +6,6 @@ let inherit (pkgs) privoxy; - privoxyUser = "privoxy"; - cfg = config.services.privoxy; confFile = pkgs.writeText "privoxy.conf" '' @@ -88,18 +86,25 @@ in ###### implementation config = mkIf cfg.enable { - - users.extraUsers = singleton - { name = privoxyUser; - uid = config.ids.uids.privoxy; - description = "Privoxy daemon user"; - }; + + users.users.privoxy = { + isSystemUser = true; + home = "/var/empty"; + group = "privoxy"; + }; + + users.groups.privoxy = {}; systemd.services.privoxy = { description = "Filtering web proxy"; after = [ "network.target" "nss-lookup.target" ]; wantedBy = [ "multi-user.target" ]; - serviceConfig.ExecStart = "${privoxy}/sbin/privoxy --no-daemon --user ${privoxyUser} ${confFile}"; + serviceConfig.ExecStart = "${privoxy}/bin/privoxy --no-daemon --user privoxy ${confFile}"; + + serviceConfig.PrivateDevices = true; + serviceConfig.PrivateTmp = true; + serviceConfig.ProtectHome = true; + serviceConfig.ProtectSystem = "full"; }; }; diff --git a/nixos/modules/services/networking/prosody.nix b/nixos/modules/services/networking/prosody.nix index f82f8bfddbb7..5682b506344c 100644 --- a/nixos/modules/services/networking/prosody.nix +++ b/nixos/modules/services/networking/prosody.nix @@ -164,7 +164,7 @@ in description = "Define the virtual hosts"; - type = types.loaOf types.optionSet; + type = with types; loaOf (submodule vHostOpts); example = { myhost = { @@ -180,7 +180,6 @@ in }; }; - options = [ vHostOpts ]; }; ssl = mkOption { @@ -196,6 +195,7 @@ in }; extraConfig = mkOption { + type = types.lines; default = ''''; description = "Additional prosody configuration"; }; diff --git a/nixos/modules/services/networking/quagga.nix b/nixos/modules/services/networking/quagga.nix new file mode 100644 index 000000000000..ac83da920638 --- /dev/null +++ b/nixos/modules/services/networking/quagga.nix @@ -0,0 +1,187 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.quagga; + + services = [ "babel" "bgp" "isis" "ospf6" "ospf" "pim" "rip" "ripng" ]; + allServices = services ++ [ "zebra" ]; + + isEnabled = service: cfg.${service}.enable; + + daemonName = service: if service == "zebra" then service else "${service}d"; + + configFile = service: + let + scfg = cfg.${service}; + in + if scfg.configFile != null then scfg.configFile + else pkgs.writeText "${daemonName service}.conf" + '' + ! Quagga ${daemonName service} configuration + ! + hostname ${config.networking.hostName} + log syslog + service password-encryption + ! + ${scfg.config} + ! + end + ''; + + serviceOptions = service: + { + enable = mkEnableOption "the Quagga ${toUpper service} routing protocol"; + + configFile = mkOption { + type = types.nullOr types.path; + default = null; + example = "/etc/quagga/${daemonName service}.conf"; + description = '' + Configuration file to use for Quagga ${daemonName service}. + By default the NixOS generated files are used. + ''; + }; + + config = mkOption { + type = types.lines; + default = ""; + example = + let + examples = { + rip = '' + router rip + network 10.0.0.0/8 + ''; + + ospf = '' + router ospf + network 10.0.0.0/8 area 0 + ''; + + bgp = '' + router bgp 65001 + neighbor 10.0.0.1 remote-as 65001 + ''; + }; + in + examples.${service} or ""; + description = '' + ${daemonName service} configuration statements. + ''; + }; + + vtyListenAddress = mkOption { + type = types.str; + default = "127.0.0.1"; + description = '' + Address to bind to for the VTY interface. + ''; + }; + + vtyListenPort = mkOption { + type = types.nullOr types.int; + default = null; + description = '' + TCP Port to bind to for the VTY interface. + ''; + }; + }; + +in + +{ + + ###### interface + + options.services.quagga = + { + + zebra = (serviceOptions "zebra") // { + + enable = mkOption { + type = types.bool; + default = any isEnabled services; + example = true; + description = '' + Whether to enable the Zebra routing manager. + + The Zebra routing manager is automatically enabled + if any routing protocols are configured. + ''; + }; + + }; + + } // (genAttrs services serviceOptions); + + ###### implementation + + config = mkIf (any isEnabled allServices) { + + environment.systemPackages = [ + pkgs.quagga # for the vtysh tool + ]; + + users.users.quagga = { + description = "Quagga daemon user"; + isSystemUser = true; + group = "quagga"; + }; + + users.groups = { + quagga = {}; + # Members of the quaggavty group can use vtysh to inspect the Quagga daemons + quaggavty = {}; + }; + + systemd.services = + let + quaggaService = service: + let + scfg = cfg.${service}; + daemon = daemonName service; + in + nameValuePair daemon ({ + wantedBy = [ "multi-user.target" ]; + restartTriggers = [ (configFile service) ]; + + serviceConfig = { + Type = "forking"; + PIDFile = "/run/quagga/${daemon}.pid"; + ExecStart = "@${pkgs.quagga}/libexec/quagga/${daemon} ${daemon} -d -f ${configFile service}" + + optionalString (scfg.vtyListenAddress != "") " -A ${scfg.vtyListenAddress}" + + optionalString (scfg.vtyListenPort != null) " -P ${toString scfg.vtyListenPort}"; + ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + Restart = "on-abort"; + }; + } // ( + if service == "zebra" then + { + description = "Quagga Zebra routing manager"; + unitConfig.Documentation = "man:zebra(8)"; + after = [ "network.target" ]; + preStart = '' + install -m 0755 -o quagga -g quagga -d /run/quagga + + ${pkgs.iproute}/bin/ip route flush proto zebra + ''; + } + else + { + description = "Quagga ${toUpper service} routing daemon"; + unitConfig.Documentation = "man:${daemon}(8) man:zebra(8)"; + bindsTo = [ "zebra.service" ]; + after = [ "network.target" "zebra.service" ]; + } + )); + in + listToAttrs (map quaggaService (filter isEnabled allServices)); + + }; + + meta.maintainers = with lib.maintainers; [ tavyc ]; + +} diff --git a/nixos/modules/services/networking/quassel.nix b/nixos/modules/services/networking/quassel.nix index 99269c49e8f1..edcc12170b20 100644 --- a/nixos/modules/services/networking/quassel.nix +++ b/nixos/modules/services/networking/quassel.nix @@ -3,8 +3,8 @@ with lib; let - quassel = pkgs.kde4.quasselDaemon; cfg = config.services.quassel; + quassel = cfg.package; user = if cfg.user != null then cfg.user else "quassel"; in @@ -23,6 +23,16 @@ in ''; }; + package = mkOption { + type = types.package; + default = pkgs.kde4.quasselDaemon; + defaultText = "pkgs.kde4.quasselDaemon"; + description = '' + The package of the quassel daemon. + ''; + example = literalExample "pkgs.quasselDaemon"; + }; + interfaces = mkOption { default = [ "127.0.0.1" ]; description = '' diff --git a/nixos/modules/services/networking/radicale.nix b/nixos/modules/services/networking/radicale.nix index 19762f4e570c..f9300fdabc57 100644 --- a/nixos/modules/services/networking/radicale.nix +++ b/nixos/modules/services/networking/radicale.nix @@ -33,7 +33,7 @@ in }; config = mkIf cfg.enable { - environment.systemPackages = [ pkgs.pythonPackages.radicale ]; + environment.systemPackages = [ pkgs.radicale ]; users.extraUsers = singleton { name = "radicale"; @@ -50,10 +50,9 @@ in systemd.services.radicale = { description = "A Simple Calendar and Contact Server"; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; - script = "${pkgs.pythonPackages.radicale}/bin/radicale -C ${confFile} -d"; - serviceConfig.Type = "forking"; + script = "${pkgs.radicale}/bin/radicale -C ${confFile} -f"; serviceConfig.User = "radicale"; serviceConfig.Group = "radicale"; }; diff --git a/nixos/modules/services/networking/skydns.nix b/nixos/modules/services/networking/skydns.nix index ba913482e3cb..6ad18bb22403 100644 --- a/nixos/modules/services/networking/skydns.nix +++ b/nixos/modules/services/networking/skydns.nix @@ -11,7 +11,7 @@ in { etcd = { machines = mkOption { - default = [ "http://localhost:4001" ]; + default = [ "http://127.0.0.1:2379" ]; type = types.listOf types.str; description = "Skydns list of etcd endpoints to connect to."; }; diff --git a/nixos/modules/services/networking/smokeping.nix b/nixos/modules/services/networking/smokeping.nix index f7a5926dc64b..04312c39062f 100644 --- a/nixos/modules/services/networking/smokeping.nix +++ b/nixos/modules/services/networking/smokeping.nix @@ -6,31 +6,39 @@ let cfg = config.services.smokeping; smokepingHome = "/var/lib/smokeping"; smokepingPidDir = "/run"; - configFile = '' - *** General *** - owner = ${cfg.owner} - contact = ${cfg.ownerEmail} - mailhost = ${cfg.mailHost} - #sendmail = /var/setuid-wrappers/sendmail - imgcache = ${smokepingHome}/cache - imgurl = http://${cfg.hostName}:${builtins.toString cfg.port}/cache - datadir = ${smokepingHome}/data - piddir = ${smokepingPidDir} - cgiurl = http://${cfg.hostName}:${builtins.toString cfg.port}/smokeping.cgi - smokemail = ${cfg.smokeMailTemplate} - *** Presentation *** - template = ${cfg.presentationTemplate} - ${cfg.presentationConfig} - #*** Alerts *** - #${cfg.alertConfig} - *** Database *** - ${cfg.databaseConfig} - *** Probes *** - ${cfg.probeConfig} - *** Targets *** - ${cfg.targetConfig} - ${cfg.extraConfig} - ''; + configFile = + if cfg.config == null + then + '' + *** General *** + cgiurl = ${cfg.cgiUrl} + contact = ${cfg.ownerEmail} + datadir = ${smokepingHome}/data + imgcache = ${smokepingHome}/cache + imgurl = ${cfg.imgUrl} + linkstyle = ${cfg.linkStyle} + ${lib.optionalString (cfg.mailHost != "") "mailhost = ${cfg.mailHost}"} + owner = ${cfg.owner} + pagedir = ${smokepingHome}/cache + piddir = ${smokepingPidDir} + ${lib.optionalString (cfg.sendmail != null) "sendmail = ${cfg.sendmail}"} + smokemail = ${cfg.smokeMailTemplate} + *** Presentation *** + template = ${cfg.presentationTemplate} + ${cfg.presentationConfig} + *** Alerts *** + ${cfg.alertConfig} + *** Database *** + ${cfg.databaseConfig} + *** Probes *** + ${cfg.probeConfig} + *** Targets *** + ${cfg.targetConfig} + ${cfg.extraConfig} + '' + else + cfg.config; + configPath = pkgs.writeText "smokeping.conf" configFile; cgiHome = pkgs.writeScript "smokeping.fcgi" '' #!${pkgs.bash}/bin/bash @@ -46,58 +54,36 @@ in default = false; description = "Enable the smokeping service"; }; - webService = mkOption { - type = types.bool; - default = true; - description = "Enable a smokeping web interface"; - }; + alertConfig = mkOption { + type = types.string; + default = '' + to = root@localhost + from = smokeping@localhost + ''; + example = literalExample '' + to = alertee@address.somewhere + from = smokealert@company.xy - user = mkOption { + +someloss + type = loss + # in percent + pattern = >0%,*12*,>0%,*12*,>0% + comment = loss 3 times in a row; + ''; + description = "Configuration for alerts."; + }; + cgiUrl = mkOption { type = types.string; - default = "smokeping"; - description = "User that runs smokeping and (optionally) thttpd"; + default = "http://${cfg.hostName}:${builtins.toString cfg.port}/smokeping.cgi"; + example = "https://somewhere.example.com/smokeping.cgi"; + description = "URL to the smokeping cgi."; }; - mailHost = mkOption { - type = types.string; - default = "127.0.0.1"; - description = "Use this SMTP server rather than localhost"; + config = mkOption { + type = types.nullOr types.string; + default = null; + description = "Full smokeping config supplied by the user. Overrides " + + "and replaces any other configuration supplied."; }; - smokeMailTemplate = mkOption { - type = types.string; - default = "${cfg.package}/etc/smokemail.dist"; - description = "Specify the smokemail template for alerts."; - }; - - package = mkOption { - type = types.package; - default = pkgs.smokeping; - description = "Specify a custom smokeping package"; - }; - owner = mkOption { - type = types.string; - default = "nobody"; - example = "Joe Admin"; - description = "Real name of the owner of the instance"; - }; - hostName = mkOption { - type = types.string; - default = config.networking.hostName; - example = "somewhere.example.com"; - description = "DNS name for the urls generated in the cgi."; - }; - port = mkOption { - type = types.int; - default = 8081; - example = 8081; - description = "TCP port to use for the web server."; - }; - ownerEmail = mkOption { - type = types.string; - default = "no-reply@${cfg.hostName}"; - example = "no-reply@yourdomain.com"; - description = "Email contact for owner"; - }; - databaseConfig = mkOption { type = types.string; default = '' @@ -130,27 +116,59 @@ in Once set, changing the interval will require deletion or migration of all the collected data.''; }; - alertConfig = mkOption { + extraConfig = mkOption { + type = types.lines; + default = ""; + description = "Any additional customization not already included."; + }; + hostName = mkOption { + type = types.string; + default = config.networking.hostName; + example = "somewhere.example.com"; + description = "DNS name for the urls generated in the cgi."; + }; + imgUrl = mkOption { + type = types.string; + default = "http://${cfg.hostName}:${builtins.toString cfg.port}/cache"; + example = "https://somewhere.example.com/cache"; + description = "Base url for images generated in the cgi."; + }; + linkStyle = mkOption { + type = types.enum ["original" "absolute" "relative"]; + default = "relative"; + example = "absolute"; + description = "DNS name for the urls generated in the cgi."; + }; + mailHost = mkOption { type = types.string; default = ""; - example = literalExample '' - to = alertee@address.somewhere - from = smokealert@company.xy - - +someloss - type = loss - # in percent - pattern = >0%,*12*,>0%,*12*,>0% - comment = loss 3 times in a row; - ''; - description = "Configuration for alerts."; + example = "localhost"; + description = "Use this SMTP server to send alerts"; }; - presentationTemplate = mkOption { + owner = mkOption { type = types.string; - default = "${pkgs.smokeping}/etc/basepage.html.dist"; - description = "Default page layout for the web UI."; + default = "nobody"; + example = "Joe Admin"; + description = "Real name of the owner of the instance"; + }; + ownerEmail = mkOption { + type = types.string; + default = "no-reply@${cfg.hostName}"; + example = "no-reply@yourdomain.com"; + description = "Email contact for owner"; + }; + package = mkOption { + type = types.package; + default = pkgs.smokeping; + defaultText = "pkgs.smokeping"; + description = "Specify a custom smokeping package"; + }; + port = mkOption { + type = types.int; + default = 8081; + example = 8081; + description = "TCP port to use for the web server."; }; - presentationConfig = mkOption { type = types.string; default = '' @@ -192,14 +210,30 @@ in ''; description = "presentation graph style"; }; + presentationTemplate = mkOption { + type = types.string; + default = "${pkgs.smokeping}/etc/basepage.html.dist"; + description = "Default page layout for the web UI."; + }; probeConfig = mkOption { type = types.string; default = '' + FPing - binary = ${pkgs.fping}/bin/fping + binary = ${config.security.wrapperDir}/fping ''; description = "Probe configuration"; }; + sendmail = mkOption { + type = types.nullOr types.path; + default = null; + example = "/var/setuid-wrappers/sendmail"; + description = "Use this sendmail compatible script to deliver alerts"; + }; + smokeMailTemplate = mkOption { + type = types.string; + default = "${cfg.package}/etc/smokemail.dist"; + description = "Specify the smokemail template for alerts."; + }; targetConfig = mkOption { type = types.string; default = '' @@ -218,17 +252,29 @@ in ''; description = "Target configuration"; }; - extraConfig = mkOption { + user = mkOption { type = types.string; - default = ""; - description = "Any additional customization not already included."; + default = "smokeping"; + description = "User that runs smokeping and (optionally) thttpd"; + }; + webService = mkOption { + type = types.bool; + default = true; + description = "Enable a smokeping web interface"; }; - }; }; config = mkIf cfg.enable { + assertions = [ + { + assertion = !(cfg.sendmail != null && cfg.mailHost != ""); + message = "services.smokeping: sendmail and Mailhost cannot both be enabled."; + } + ]; + security.setuidPrograms = [ "fping" ]; + environment.systemPackages = [ pkgs.fping ]; users.extraUsers = singleton { name = cfg.user; isNormalUser = false; @@ -243,9 +289,12 @@ in serviceConfig.PermissionsStartOnly = true; preStart = '' mkdir -m 0755 -p ${smokepingHome}/cache ${smokepingHome}/data - chown -R ${cfg.user} ${smokepingHome} + rm -f ${smokepingHome}/cropper + ln -s ${cfg.package}/htdocs/cropper ${smokepingHome}/cropper cp ${cgiHome} ${smokepingHome}/smokeping.fcgi ${cfg.package}/bin/smokeping --check --config=${configPath} + ${cfg.package}/bin/smokeping --static --config=${configPath} + chown -R ${cfg.user} ${smokepingHome} ''; script = ''${cfg.package}/bin/smokeping --config=${configPath} --nodaemon''; }; @@ -253,8 +302,9 @@ in wantedBy = [ "multi-user.target"]; requires = [ "smokeping.service"]; partOf = [ "smokeping.service"]; - path = with pkgs; [ bash rrdtool smokeping ]; - script = ''${pkgs.thttpd}/bin/thttpd -u ${cfg.user} -c "**.fcgi" -d ${smokepingHome} -p ${builtins.toString cfg.port} -D''; + path = with pkgs; [ bash rrdtool smokeping thttpd ]; + script = ''thttpd -u ${cfg.user} -c "**.fcgi" -d ${smokepingHome} -p ${builtins.toString cfg.port} -D -nos''; + serviceConfig.Restart = "always"; }; }; } diff --git a/nixos/modules/services/networking/softether.nix b/nixos/modules/services/networking/softether.nix index 5e49efc3aa3a..16530078b978 100644 --- a/nixos/modules/services/networking/softether.nix +++ b/nixos/modules/services/networking/softether.nix @@ -63,7 +63,6 @@ in ]; systemd.services."softether-init" = { description = "SoftEther VPN services initial task"; - wantedBy = [ "network-interfaces.target" ]; serviceConfig = { Type = "oneshot"; RemainAfterExit = false; @@ -84,8 +83,9 @@ in (mkIf (cfg.vpnserver.enable) { systemd.services.vpnserver = { description = "SoftEther VPN Server"; - after = [ "softether-init.service" ]; - wantedBy = [ "network-interfaces.target" ]; + after = [ "softether-init.service" "network.target" ]; + wants = [ "softether-init.service" ]; + wantedBy = [ "multi-user.target" ]; serviceConfig = { Type = "forking"; ExecStart = "${pkg}/bin/vpnserver start"; @@ -104,8 +104,9 @@ in (mkIf (cfg.vpnbridge.enable) { systemd.services.vpnbridge = { description = "SoftEther VPN Bridge"; - after = [ "softether-init.service" ]; - wantedBy = [ "network-interfaces.target" ]; + after = [ "softether-init.service" "network.target" ]; + wants = [ "softether-init.service" ]; + wantedBy = [ "multi-user.target" ]; serviceConfig = { Type = "forking"; ExecStart = "${pkg}/bin/vpnbridge start"; @@ -124,8 +125,9 @@ in (mkIf (cfg.vpnclient.enable) { systemd.services.vpnclient = { description = "SoftEther VPN Client"; - after = [ "softether-init.service" ]; - wantedBy = [ "network-interfaces.target" ]; + after = [ "softether-init.service" "network.target" ]; + wants = [ "softether-init.service" ]; + wantedBy = [ "multi-user.target" ]; serviceConfig = { Type = "forking"; ExecStart = "${pkg}/bin/vpnclient start"; diff --git a/nixos/modules/services/networking/ssh/lshd.nix b/nixos/modules/services/networking/ssh/lshd.nix index 661a6a524631..eca599afb33b 100644 --- a/nixos/modules/services/networking/ssh/lshd.nix +++ b/nixos/modules/services/networking/ssh/lshd.nix @@ -120,7 +120,7 @@ in systemd.services.lshd = { description = "GNU lshd SSH2 daemon"; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; diff --git a/nixos/modules/services/networking/ssh/sshd.nix b/nixos/modules/services/networking/ssh/sshd.nix index f900ef494abf..80659f19c597 100644 --- a/nixos/modules/services/networking/ssh/sshd.nix +++ b/nixos/modules/services/networking/ssh/sshd.nix @@ -85,7 +85,7 @@ in forwardX11 = mkOption { type = types.bool; - default = cfgc.setXAuthLocation; + default = false; description = '' Whether to allow X11 connections to be forwarded. ''; @@ -102,8 +102,8 @@ in }; permitRootLogin = mkOption { - default = "without-password"; - type = types.enum ["yes" "without-password" "forced-commands-only" "no"]; + default = "prohibit-password"; + type = types.enum ["yes" "without-password" "prohibit-password" "forced-commands-only" "no"]; description = '' Whether the root user can login using ssh. ''; @@ -129,7 +129,24 @@ in }; listenAddresses = mkOption { - type = types.listOf types.optionSet; + type = with types; listOf (submodule { + options = { + addr = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + Host, IPv4 or IPv6 address to listen to. + ''; + }; + port = mkOption { + type = types.nullOr types.int; + default = null; + description = '' + Port to listen to. + ''; + }; + }; + }); default = []; example = [ { addr = "192.168.3.1"; port = 22; } { addr = "0.0.0.0"; port = 64022; } ]; description = '' @@ -140,22 +157,6 @@ in NOTE: setting this option won't automatically enable given ports in firewall configuration. ''; - options = { - addr = mkOption { - type = types.nullOr types.str; - default = null; - description = '' - Host, IPv4 or IPv6 address to listen to. - ''; - }; - port = mkOption { - type = types.nullOr types.int; - default = null; - description = '' - Port to listen to. - ''; - }; - }; }; passwordAuthentication = mkOption { @@ -239,7 +240,7 @@ in systemd = let - service = + sshd-service = { description = "SSH Daemon"; wantedBy = optional (!cfg.startWhenNeeded) "multi-user.target"; @@ -250,16 +251,8 @@ in environment.LD_LIBRARY_PATH = nssModulesPath; - preStart = - '' - mkdir -m 0755 -p /etc/ssh - - ${flip concatMapStrings cfg.hostKeys (k: '' - if ! [ -f "${k.path}" ]; then - ssh-keygen -t "${k.type}" ${if k ? bits then "-b ${toString k.bits}" else ""} -f "${k.path}" -N "" - fi - '')} - ''; + wants = [ "sshd-keygen.service" ]; + after = [ "sshd-keygen.service" ]; serviceConfig = { ExecStart = @@ -271,10 +264,29 @@ in StandardInput = "socket"; } else { Restart = "always"; - Type = "forking"; - PIDFile = "/run/sshd.pid"; + Type = "simple"; }); }; + + sshd-keygen-service = + { description = "SSH Host Key Generation"; + path = [ cfgc.package ]; + script = + '' + mkdir -m 0755 -p /etc/ssh + ${flip concatMapStrings cfg.hostKeys (k: '' + if ! [ -f "${k.path}" ]; then + ssh-keygen -t "${k.type}" ${if k ? bits then "-b ${toString k.bits}" else ""} -f "${k.path}" -N "" + fi + '')} + ''; + + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = "yes"; + }; + }; + in if cfg.startWhenNeeded then { @@ -286,11 +298,13 @@ in socketConfig.Accept = true; }; - services."sshd@" = service; + services.sshd-keygen = sshd-keygen-service; + services."sshd@" = sshd-service; } else { - services.sshd = service; + services.sshd-keygen = sshd-keygen-service; + services.sshd = sshd-service; }; @@ -307,8 +321,6 @@ in services.openssh.extraConfig = mkOrder 0 '' - PidFile /run/sshd.pid - Protocol 2 UsePAM yes diff --git a/nixos/modules/services/networking/supplicant.nix b/nixos/modules/services/networking/supplicant.nix index 16c4ee7e33bb..0c459fb1dd0c 100644 --- a/nixos/modules/services/networking/supplicant.nix +++ b/nixos/modules/services/networking/supplicant.nix @@ -34,7 +34,8 @@ let ''; in { description = "Supplicant ${iface}${optionalString (iface=="WLAN"||iface=="LAN") " %I"}"; - wantedBy = [ "network.target" ]; + wantedBy = [ "multi-user.target" ] ++ deps; + wants = [ "network.target" ]; bindsTo = deps; after = deps; before = [ "network.target" ]; @@ -75,7 +76,107 @@ in options = { networking.supplicant = mkOption { - type = types.attrsOf types.optionSet; + type = with types; attrsOf (submodule { + options = { + + configFile = { + + path = mkOption { + type = types.path; + example = literalExample "/etc/wpa_supplicant.conf"; + description = '' + External wpa_supplicant.conf configuration file. + The configuration options defined declaratively within networking.supplicant have + precedence over options defined in configFile. + ''; + }; + + writable = mkOption { + type = types.bool; + default = false; + description = '' + Whether the configuration file at configFile.path should be written to by + wpa_supplicant. + ''; + }; + + }; + + extraConf = mkOption { + type = types.lines; + default = ""; + example = '' + ap_scan=1 + device_name=My-NixOS-Device + device_type=1-0050F204-1 + driver_param=use_p2p_group_interface=1 + disable_scan_offload=1 + p2p_listen_reg_class=81 + p2p_listen_channel=1 + p2p_oper_reg_class=81 + p2p_oper_channel=1 + manufacturer=NixOS + model_name=NixOS_Unstable + model_number=2015 + ''; + description = '' + Configuration options for wpa_supplicant.conf. + Options defined here have precedence over options in configFile. + NOTE: Do not write sensitive data into extraConf as it will + be world-readable in the nix-store. For sensitive information + use the configFile instead. + ''; + }; + + extraCmdArgs = mkOption { + type = types.str; + default = ""; + example = "-e/var/run/wpa_supplicant/entropy.bin"; + description = + "Command line arguments to add when executing wpa_supplicant."; + }; + + driver = mkOption { + type = types.nullOr types.str; + default = "nl80211,wext"; + description = "Force a specific wpa_supplicant driver."; + }; + + bridge = mkOption { + type = types.str; + default = ""; + description = "Name of the bridge interface that wpa_supplicant should listen at."; + }; + + userControlled = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Allow normal users to control wpa_supplicant through wpa_gui or wpa_cli. + This is useful for laptop users that switch networks a lot and don't want + to depend on a large package such as NetworkManager just to pick nearby + access points. + ''; + }; + + socketDir = mkOption { + type = types.str; + default = "/var/run/wpa_supplicant"; + description = "Directory of sockets for controlling wpa_supplicant."; + }; + + group = mkOption { + type = types.str; + default = "wheel"; + example = "network"; + description = "Members of this group can control wpa_supplicant."; + }; + + }; + }; + }); default = { }; @@ -109,107 +210,6 @@ in service that can be accessed through D-Bus. ''; - options = { - - configFile = { - - path = mkOption { - type = types.path; - example = literalExample "/etc/wpa_supplicant.conf"; - description = '' - External wpa_supplicant.conf configuration file. - The configuration options defined declaratively within networking.supplicant have - precedence over options defined in configFile. - ''; - }; - - writable = mkOption { - type = types.bool; - default = false; - description = '' - Whether the configuration file at configFile.path should be written to by - wpa_supplicant. - ''; - }; - - }; - - extraConf = mkOption { - type = types.lines; - default = ""; - example = '' - ap_scan=1 - device_name=My-NixOS-Device - device_type=1-0050F204-1 - driver_param=use_p2p_group_interface=1 - disable_scan_offload=1 - p2p_listen_reg_class=81 - p2p_listen_channel=1 - p2p_oper_reg_class=81 - p2p_oper_channel=1 - manufacturer=NixOS - model_name=NixOS_Unstable - model_number=2015 - ''; - description = '' - Configuration options for wpa_supplicant.conf. - Options defined here have precedence over options in configFile. - NOTE: Do not write sensitive data into extraConf as it will - be world-readable in the nix-store. For sensitive information - use the configFile instead. - ''; - }; - - extraCmdArgs = mkOption { - type = types.str; - default = ""; - example = "-e/var/run/wpa_supplicant/entropy.bin"; - description = - "Command line arguments to add when executing wpa_supplicant."; - }; - - driver = mkOption { - type = types.nullOr types.str; - default = "nl80211,wext"; - description = "Force a specific wpa_supplicant driver."; - }; - - bridge = mkOption { - type = types.str; - default = ""; - description = "Name of the bridge interface that wpa_supplicant should listen at."; - }; - - userControlled = { - - enable = mkOption { - type = types.bool; - default = false; - description = '' - Allow normal users to control wpa_supplicant through wpa_gui or wpa_cli. - This is useful for laptop users that switch networks a lot and don't want - to depend on a large package such as NetworkManager just to pick nearby - access points. - ''; - }; - - socketDir = mkOption { - type = types.str; - default = "/var/run/wpa_supplicant"; - description = "Directory of sockets for controlling wpa_supplicant."; - }; - - group = mkOption { - type = types.str; - default = "wheel"; - example = "network"; - description = "Members of this group can control wpa_supplicant."; - }; - - }; - - }; - }; }; diff --git a/nixos/modules/services/networking/syncthing.nix b/nixos/modules/services/networking/syncthing.nix index 8a430734319b..dcdc203bdc62 100644 --- a/nixos/modules/services/networking/syncthing.nix +++ b/nixos/modules/services/networking/syncthing.nix @@ -3,46 +3,11 @@ with lib; let - cfg = config.services.syncthing; defaultUser = "syncthing"; - - header = { - description = "Syncthing service"; - after = [ "network.target" ]; - environment = { - STNORESTART = "yes"; - STNOUPGRADE = "yes"; - inherit (cfg) all_proxy; - } // config.networking.proxy.envVars; - }; - - service = { - Restart = "on-failure"; - SuccessExitStatus = "2 3 4"; - RestartForceExitStatus="3 4"; - }; - - iNotifyHeader = { - description = "Syncthing Inotify File Watcher service"; - after = [ "network.target" "syncthing.service" ]; - requires = [ "syncthing.service" ]; - }; - - iNotifyService = { - SuccessExitStatus = "2"; - RestartForceExitStatus = "3"; - Restart = "on-failure"; - }; - -in - -{ - +in { ###### interface - options = { - services.syncthing = { enable = mkEnableOption '' @@ -100,6 +65,19 @@ in ''; }; + openDefaultPorts = mkOption { + type = types.bool; + default = false; + example = literalExample "true"; + description = '' + Open the default ports in the firewall: + - TCP 22000 for transfers + - UDP 21027 for discovery + If multiple users are running syncthing on this machine, you will need to manually open a set of ports for each instance and leave this disabled. + Alternatively, if are running only a single instance on this machine using the default ports, enable this. + ''; + }; + package = mkOption { type = types.package; default = pkgs.syncthing; @@ -117,6 +95,14 @@ in config = mkIf cfg.enable { + networking.firewall = mkIf cfg.openDefaultPorts { + allowedTCPPorts = [ 22000 ]; + allowedUDPPorts = [ 21027 ]; + }; + + systemd.packages = [ pkgs.syncthing ] + ++ lib.optional cfg.useInotify pkgs.syncthing-inotify; + users = mkIf (cfg.user == defaultUser) { extraUsers."${defaultUser}" = { group = cfg.group; @@ -131,39 +117,44 @@ in }; systemd.services = { - syncthing = mkIf cfg.systemService (header // { - wants = mkIf cfg.useInotify [ "syncthing-inotify.service" ]; - wantedBy = [ "multi-user.target" ]; - serviceConfig = service // { - User = cfg.user; - Group = cfg.group; - PermissionsStartOnly = true; - ExecStart = "${cfg.package}/bin/syncthing -no-browser -home=${cfg.dataDir}"; - }; - }); - - syncthing-inotify = mkIf (cfg.systemService && cfg.useInotify) (iNotifyHeader // { + syncthing = mkIf cfg.systemService { + description = "Syncthing service"; + after = [ "network.target" ]; + environment = { + STNORESTART = "yes"; + STNOUPGRADE = "yes"; + inherit (cfg) all_proxy; + } // config.networking.proxy.envVars; + wants = mkIf cfg.useInotify [ "syncthing-inotify.service" ]; wantedBy = [ "multi-user.target" ]; - serviceConfig = iNotifyService // { + serviceConfig = { + Restart = "on-failure"; + SuccessExitStatus = "2 3 4"; + RestartForceExitStatus="3 4"; User = cfg.user; - ExecStart = "${pkgs.syncthing-inotify.bin}/bin/syncthing-inotify -home=${cfg.dataDir} -logflags=0"; - }; - }); - }; - - systemd.user.services = { - syncthing = header // { - serviceConfig = service // { - ExecStart = "${cfg.package}/bin/syncthing -no-browser"; + Group = cfg.group; + PermissionsStartOnly = true; + ExecStart = "${cfg.package}/bin/syncthing -no-browser -home=${cfg.dataDir}"; }; }; - syncthing-inotify = mkIf cfg.useInotify (iNotifyHeader // { - serviceConfig = iNotifyService // { - ExecStart = "${pkgs.syncthing-inotify.bin}/bin/syncthing-inotify -logflags=0"; - }; - }); - }; + syncthing-resume = { + wantedBy = [ "suspend.target" ]; + }; + syncthing-inotify = mkIf (cfg.systemService && cfg.useInotify) { + description = "Syncthing Inotify File Watcher service"; + after = [ "network.target" "syncthing.service" ]; + requires = [ "syncthing.service" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + SuccessExitStatus = "2"; + RestartForceExitStatus = "3"; + Restart = "on-failure"; + User = cfg.user; + ExecStart = "${pkgs.syncthing-inotify.bin}/bin/syncthing-inotify -home=${cfg.dataDir} -logflags=0"; + }; + }; + }; }; } diff --git a/nixos/modules/services/networking/tcpcrypt.nix b/nixos/modules/services/networking/tcpcrypt.nix index 267653abce03..2f304165eb4b 100644 --- a/nixos/modules/services/networking/tcpcrypt.nix +++ b/nixos/modules/services/networking/tcpcrypt.nix @@ -39,7 +39,7 @@ in description = "tcpcrypt"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; path = [ pkgs.iptables pkgs.tcpcrypt pkgs.procps ]; diff --git a/nixos/modules/services/networking/tftpd.nix b/nixos/modules/services/networking/tftpd.nix index 9b3cc6b8ec4f..c9c0a2b321d5 100644 --- a/nixos/modules/services/networking/tftpd.nix +++ b/nixos/modules/services/networking/tftpd.nix @@ -13,12 +13,13 @@ with lib; default = false; description = '' Whether to enable tftpd, a Trivial File Transfer Protocol server. + The server will be run as an xinetd service. ''; }; services.tftpd.path = mkOption { type = types.path; - default = "/home/tftp"; + default = "/srv/tftp"; description = '' Where the tftp server files are stored. ''; diff --git a/nixos/modules/services/networking/tinc.nix b/nixos/modules/services/networking/tinc.nix index 8da0f817ae2a..f8e68fda7fc2 100644 --- a/nixos/modules/services/networking/tinc.nix +++ b/nixos/modules/services/networking/tinc.nix @@ -18,94 +18,96 @@ in networks = mkOption { default = { }; - type = types.loaOf types.optionSet; + type = with types; loaOf (submodule { + options = { + + extraConfig = mkOption { + default = ""; + type = types.lines; + description = '' + Extra lines to add to the tinc service configuration file. + ''; + }; + + name = mkOption { + default = null; + type = types.nullOr types.str; + description = '' + The name of the node which is used as an identifier when communicating + with the remote nodes in the mesh. If null then the hostname of the system + is used. + ''; + }; + + ed25519PrivateKeyFile = mkOption { + default = null; + type = types.nullOr types.path; + description = '' + Path of the private ed25519 keyfile. + ''; + }; + + debugLevel = mkOption { + default = 0; + type = types.addCheck types.int (l: l >= 0 && l <= 5); + description = '' + The amount of debugging information to add to the log. 0 means little + logging while 5 is the most logging. man tincd for + more details. + ''; + }; + + hosts = mkOption { + default = { }; + type = types.loaOf types.lines; + description = '' + The name of the host in the network as well as the configuration for that host. + This name should only contain alphanumerics and underscores. + ''; + }; + + interfaceType = mkOption { + default = "tun"; + type = types.enum [ "tun" "tap" ]; + description = '' + The type of virtual interface used for the network connection + ''; + }; + + listenAddress = mkOption { + default = null; + type = types.nullOr types.str; + description = '' + The ip adress to bind to. + ''; + }; + + package = mkOption { + type = types.package; + default = pkgs.tinc_pre; + defaultText = "pkgs.tinc_pre"; + description = '' + The package to use for the tinc daemon's binary. + ''; + }; + + chroot = mkOption { + default = true; + type = types.bool; + description = '' + Change process root directory to the directory where the config file is located (/etc/tinc/netname/), for added security. + The chroot is performed after all the initialization is done, after writing pid files and opening network sockets. + + Note that tinc can't run scripts anymore (such as tinc-down or host-up), unless it is setup to be runnable inside chroot environment. + ''; + }; + }; + }); + description = '' Defines the tinc networks which will be started. Each network invokes a different daemon. ''; - options = { - - extraConfig = mkOption { - default = ""; - type = types.lines; - description = '' - Extra lines to add to the tinc service configuration file. - ''; - }; - - name = mkOption { - default = null; - type = types.nullOr types.str; - description = '' - The name of the node which is used as an identifier when communicating - with the remote nodes in the mesh. If null then the hostname of the system - is used. - ''; - }; - - ed25519PrivateKeyFile = mkOption { - default = null; - type = types.nullOr types.path; - description = '' - Path of the private ed25519 keyfile. - ''; - }; - - debugLevel = mkOption { - default = 0; - type = types.addCheck types.int (l: l >= 0 && l <= 5); - description = '' - The amount of debugging information to add to the log. 0 means little - logging while 5 is the most logging. man tincd for - more details. - ''; - }; - - hosts = mkOption { - default = { }; - type = types.loaOf types.lines; - description = '' - The name of the host in the network as well as the configuration for that host. - This name should only contain alphanumerics and underscores. - ''; - }; - - interfaceType = mkOption { - default = "tun"; - type = types.addCheck types.str (n: n == "tun" || n == "tap"); - description = '' - The type of virtual interface used for the network connection - ''; - }; - - listenAddress = mkOption { - default = null; - type = types.nullOr types.str; - description = '' - The ip adress to bind to. - ''; - }; - - package = mkOption { - type = types.package; - default = pkgs.tinc_pre; - defaultText = "pkgs.tinc_pre"; - description = '' - The package to use for the tinc daemon's binary. - ''; - }; - - chroot = mkOption { - default = true; - type = types.bool; - description = '' - Change process root directory to the directory where the config file is located (/etc/tinc/netname/), for added security. - The chroot is performed after all the initialization is done, after writing pid files and opening network sockets. - - Note that tinc can't run scripts anymore (such as tinc-down or host-up), unless it is setup to be runnable inside chroot environment. - ''; - }; - }; }; }; @@ -149,8 +151,8 @@ in ("tinc.${network}") ({ description = "Tinc Daemon - ${network}"; - wantedBy = [ "network.target" ]; - after = [ "network-interfaces.target" ]; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; path = [ data.package ]; restartTriggers = [ config.environment.etc."tinc/${network}/tinc.conf".source ] ++ mapAttrsToList (host: _ : config.environment.etc."tinc/${network}/hosts/${host}".source) data.hosts; diff --git a/nixos/modules/services/networking/toxvpn.nix b/nixos/modules/services/networking/toxvpn.nix index c38424c8e273..911836fdee42 100644 --- a/nixos/modules/services/networking/toxvpn.nix +++ b/nixos/modules/services/networking/toxvpn.nix @@ -25,8 +25,8 @@ with lib; systemd.services.toxvpn = { description = "toxvpn daemon"; - requires = [ "network-online.target" ]; # consider replacing by NetworkManager-wait-online.service wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; preStart = '' mkdir -p /run/toxvpn || true diff --git a/nixos/modules/services/networking/unbound.nix b/nixos/modules/services/networking/unbound.nix index ed0744c44ccf..f3a04d97c98e 100644 --- a/nixos/modules/services/networking/unbound.nix +++ b/nixos/modules/services/networking/unbound.nix @@ -12,9 +12,17 @@ let interfaces = concatMapStrings (x: " interface: ${x}\n") cfg.interfaces; - forward = optionalString (length cfg.forwardAddresses != 0) - "forward-zone:\n name: .\n" + - concatMapStrings (x: " forward-addr: ${x}\n") cfg.forwardAddresses; + isLocalAddress = x: substring 0 3 x == "::1" || substring 0 9 x == "127.0.0.1"; + + forward = + optionalString (any isLocalAddress cfg.forwardAddresses) '' + do-not-query-localhost: no + '' + + optionalString (cfg.forwardAddresses != []) '' + forward-zone: + name: . + '' + + concatMapStringsSep "\n" (x: " forward-addr: ${x}") cfg.forwardAddresses; rootTrustAnchorFile = "${stateDir}/root.key"; @@ -71,8 +79,12 @@ in extraConfig = mkOption { default = ""; - type = types.str; - description = "Extra lines of unbound config."; + type = types.lines; + description = '' + Extra unbound config. See + unbound.conf8 + . + ''; }; }; @@ -84,12 +96,9 @@ in environment.systemPackages = [ pkgs.unbound ]; - users.extraUsers = singleton { - name = "unbound"; - uid = config.ids.uids.unbound; + users.users.unbound = { description = "unbound daemon user"; - home = stateDir; - createHome = true; + isSystemUser = true; }; systemd.services.unbound = { @@ -107,12 +116,16 @@ in chown unbound ${stateDir} ${rootTrustAnchorFile} ''} touch ${stateDir}/dev/random - ${pkgs.utillinux}/bin/mount --bind -n /dev/random ${stateDir}/dev/random + ${pkgs.utillinux}/bin/mount --bind -n /dev/urandom ${stateDir}/dev/random ''; serviceConfig = { ExecStart = "${pkgs.unbound}/bin/unbound -d -c ${stateDir}/unbound.conf"; ExecStopPost="${pkgs.utillinux}/bin/umount ${stateDir}/dev/random"; + + ProtectSystem = true; + ProtectHome = true; + PrivateDevices = true; }; }; diff --git a/nixos/modules/services/networking/vsftpd.nix b/nixos/modules/services/networking/vsftpd.nix index 7ec484941ede..deff645d9bfd 100644 --- a/nixos/modules/services/networking/vsftpd.nix +++ b/nixos/modules/services/networking/vsftpd.nix @@ -100,6 +100,10 @@ let seccomp_sandbox=NO ''} anon_umask=${cfg.anonymousUmask} + ${optionalString cfg.anonymousUser '' + anon_root=${cfg.anonymousUserHome} + ''} + ${cfg.extraConfig} ''; in @@ -163,6 +167,13 @@ in description = "Anonymous write umask."; }; + extraConfig = mkOption { + type = types.lines; + default = ""; + example = "ftpd_banner=Hello"; + description = "Extra configuration to add at the bottom of the generated configuration file."; + }; + } // (listToAttrs (catAttrs "nixosOption" optionDescription)); }; diff --git a/nixos/modules/services/networking/wicd.nix b/nixos/modules/services/networking/wicd.nix index 9e5a437b4856..03c6bd28aaba 100644 --- a/nixos/modules/services/networking/wicd.nix +++ b/nixos/modules/services/networking/wicd.nix @@ -26,7 +26,9 @@ with lib; environment.systemPackages = [pkgs.wicd]; systemd.services.wicd = { - after = [ "network-interfaces.target" ]; + after = [ "network-pre.target" ]; + before = [ "network.target" ]; + wants = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; script = "${pkgs.wicd}/sbin/wicd -f"; }; diff --git a/nixos/modules/services/networking/wireguard.nix b/nixos/modules/services/networking/wireguard.nix new file mode 100644 index 000000000000..368d89e2e32e --- /dev/null +++ b/nixos/modules/services/networking/wireguard.nix @@ -0,0 +1,231 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.networking.wireguard; + + kernel = config.boot.kernelPackages; + + # interface options + + interfaceOpts = { name, ... }: { + + options = { + + ips = mkOption { + example = [ "192.168.2.1/24" ]; + default = []; + type = with types; listOf str; + description = "The IP addresses of the interface."; + }; + + privateKey = mkOption { + example = "yAnz5TF+lXXJte14tji3zlMNq+hd2rYUIgJBgB3fBmk="; + type = types.str; + description = "Base64 private key generated by wg genkey."; + }; + + presharedKey = mkOption { + default = null; + example = "rVXs/Ni9tu3oDBLS4hOyAUAa1qTWVA3loR8eL20os3I="; + type = with types; nullOr str; + description = '' + base64 preshared key generated by wg genpsk. Optional, + and may be omitted. This option adds an additional layer of + symmetric-key cryptography to be mixed into the already existing + public-key cryptography, for post-quantum resistance. + ''; + }; + + listenPort = mkOption { + default = null; + type = with types; nullOr int; + example = 51820; + description = '' + 16-bit port for listening. Optional; if not specified, + automatically generated based on interface name. + ''; + }; + + preSetup = mkOption { + example = literalExample ['' + ${pkgs.iproute}/bin/ip netns add foo + '']; + default = []; + type = with types; listOf str; + description = '' + A list of commands called at the start of the interface setup. + ''; + }; + + postSetup = mkOption { + example = literalExample ['' + ${pkgs.bash} -c 'printf "nameserver 10.200.100.1" | ${pkgs.openresolv}/bin/resolvconf -a wg0 -m 0' + '']; + default = []; + type = with types; listOf str; + description = "A list of commands called at the end of the interface setup."; + }; + + postShutdown = mkOption { + example = literalExample ["${pkgs.openresolv}/bin/resolvconf -d wg0"]; + default = []; + type = with types; listOf str; + description = "A list of commands called after shutting down the interface."; + }; + + peers = mkOption { + default = []; + description = "Peers linked to the interface."; + type = with types; listOf (submodule peerOpts); + }; + + }; + + }; + + # peer options + + peerOpts = { + + options = { + + publicKey = mkOption { + example = "xTIBA5rboUvnH4htodjb6e697QjLERt1NAB4mZqp8Dg="; + type = types.str; + description = "The base64 public key the peer."; + }; + + allowedIPs = mkOption { + example = [ "10.192.122.3/32" "10.192.124.1/24" ]; + type = with types; listOf str; + description = ''List of IP (v4 or v6) addresses with CIDR masks from + which this peer is allowed to send incoming traffic and to which + outgoing traffic for this peer is directed. The catch-all 0.0.0.0/0 may + be specified for matching all IPv4 addresses, and ::/0 may be specified + for matching all IPv6 addresses.''; + }; + + endpoint = mkOption { + default = null; + example = "demo.wireguard.io:12913"; + type = with types; nullOr str; + description = ''Endpoint IP or hostname of the peer, followed by a colon, + and then a port number of the peer.''; + }; + + persistentKeepalive = mkOption { + default = null; + type = with types; nullOr int; + example = 25; + description = ''This is optional and is by default off, because most + users will not need it. It represents, in seconds, between 1 and 65535 + inclusive, how often to send an authenticated empty packet to the peer, + for the purpose of keeping a stateful firewall or NAT mapping valid + persistently. For example, if the interface very rarely sends traffic, + but it might at anytime receive traffic from a peer, and it is behind + NAT, the interface might benefit from having a persistent keepalive + interval of 25 seconds; however, most users will not need this.''; + }; + + }; + + }; + + generateConf = name: values: pkgs.writeText "wireguard-${name}.conf" '' + [Interface] + PrivateKey = ${values.privateKey} + ${optionalString (values.presharedKey != null) "PresharedKey = ${values.presharedKey}"} + ${optionalString (values.listenPort != null) "ListenPort = ${toString values.listenPort}"} + + ${concatStringsSep "\n\n" (map (peer: '' + [Peer] + PublicKey = ${peer.publicKey} + ${optionalString (peer.allowedIPs != []) "AllowedIPs = ${concatStringsSep ", " peer.allowedIPs}"} + ${optionalString (peer.endpoint != null) "Endpoint = ${peer.endpoint}"} + ${optionalString (peer.persistentKeepalive != null) "PersistentKeepalive = ${toString peer.persistentKeepalive}"} + '') values.peers)} + ''; + + ipCommand = "${pkgs.iproute}/bin/ip"; + wgCommand = "${pkgs.wireguard}/bin/wg"; + + generateUnit = name: values: + nameValuePair "wireguard-${name}" + { + description = "WireGuard Tunnel - ${name}"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + ExecStart = lib.flatten([ + values.preSetup + + "-${ipCommand} link del dev ${name}" + "${ipCommand} link add dev ${name} type wireguard" + "${wgCommand} setconf ${name} ${generateConf name values}" + + (map (ip: + ''${ipCommand} address add ${ip} dev ${name}'' + ) values.ips) + + "${ipCommand} link set up dev ${name}" + + (flatten (map (peer: (map (ip: + "${ipCommand} route add ${ip} dev ${name}" + ) peer.allowedIPs)) values.peers)) + + values.postSetup + ]); + + ExecStop = [ ''${ipCommand} link del dev "${name}"'' ] ++ values.postShutdown; + }; + }; + +in + +{ + + ###### interface + + options = { + + networking.wireguard = { + + interfaces = mkOption { + description = "Wireguard interfaces."; + default = {}; + example = { + wg0 = { + ips = [ "192.168.20.4/24" ]; + privateKey = "yAnz5TF+lXXJte14tji3zlMNq+hd2rYUIgJBgB3fBmk="; + peers = [ + { allowedIPs = [ "192.168.20.1/32" ]; + publicKey = "xTIBA5rboUvnH4htodjb6e697QjLERt1NAB4mZqp8Dg="; + endpoint = "demo.wireguard.io:12913"; } + ]; + }; + }; + type = with types; attrsOf (submodule interfaceOpts); + }; + + }; + + }; + + + ###### implementation + + config = mkIf (cfg.interfaces != {}) { + + boot.extraModulePackages = [ kernel.wireguard ]; + environment.systemPackages = [ pkgs.wireguard ]; + + systemd.services = mapAttrs' generateUnit cfg.interfaces; + + }; + +} diff --git a/nixos/modules/services/networking/wpa_supplicant.nix b/nixos/modules/services/networking/wpa_supplicant.nix index de99ce4f0260..c91ba91fcb4d 100644 --- a/nixos/modules/services/networking/wpa_supplicant.nix +++ b/nixos/modules/services/networking/wpa_supplicant.nix @@ -12,11 +12,13 @@ let psk = if networkConfig.psk != null then ''"${networkConfig.psk}"'' else networkConfig.pskRaw; + priority = networkConfig.priority; in '' network={ ssid="${ssid}" ${optionalString (psk != null) ''psk=${psk}''} ${optionalString (psk == null) ''key_mgmt=NONE''} + ${optionalString (priority != null) ''priority=${toString priority}''} } '') cfg.networks)} '' else "/etc/wpa_supplicant.conf"; @@ -68,6 +70,19 @@ in { Mutually exclusive with psk. ''; }; + priority = mkOption { + type = types.nullOr types.int; + default = null; + description = '' + By default, all networks will get same priority group (0). If some of the + networks are more desirable, this field can be used to change the order in + which wpa_supplicant goes through the networks when selecting a BSS. The + priority groups will be iterated in decreasing priority (i.e., the larger the + priority value, the sooner the network is matched against the scan results). + Within each priority group, networks will be selected based on security + policy, signal strength, etc. + ''; + }; }; }); description = '' @@ -128,9 +143,11 @@ in { in { description = "WPA Supplicant"; - after = [ "network-interfaces.target" ] ++ lib.concatMap deviceUnit ifaces; + after = lib.concatMap deviceUnit ifaces; + before = [ "network.target" ]; + wants = [ "network.target" ]; requires = lib.concatMap deviceUnit ifaces; - wantedBy = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; path = [ pkgs.wpa_supplicant ]; diff --git a/nixos/modules/services/networking/xinetd.nix b/nixos/modules/services/networking/xinetd.nix index 08680b517808..002245027804 100644 --- a/nixos/modules/services/networking/xinetd.nix +++ b/nixos/modules/services/networking/xinetd.nix @@ -65,71 +65,73 @@ in A list of services provided by xinetd. ''; - type = types.listOf types.optionSet; + type = with types; listOf (submodule ({ - options = { + options = { + + name = mkOption { + type = types.string; + example = "login"; + description = "Name of the service."; + }; + + protocol = mkOption { + type = types.string; + default = "tcp"; + description = + "Protocol of the service. Usually tcp or udp."; + }; + + port = mkOption { + type = types.int; + default = 0; + example = 123; + description = "Port number of the service."; + }; + + user = mkOption { + type = types.string; + default = "nobody"; + description = "User account for the service"; + }; + + server = mkOption { + type = types.string; + example = "/foo/bin/ftpd"; + description = "Path of the program that implements the service."; + }; + + serverArgs = mkOption { + type = types.string; + default = ""; + description = "Command-line arguments for the server program."; + }; + + flags = mkOption { + type = types.string; + default = ""; + description = ""; + }; + + unlisted = mkOption { + type = types.bool; + default = false; + description = '' + Whether this server is listed in + /etc/services. If so, the port + number can be omitted. + ''; + }; + + extraConfig = mkOption { + type = types.lines; + default = ""; + description = "Extra configuration-lines added to the section of the service."; + }; - name = mkOption { - type = types.string; - example = "login"; - description = "Name of the service."; }; - protocol = mkOption { - type = types.string; - default = "tcp"; - description = - "Protocol of the service. Usually tcp or udp."; - }; - - port = mkOption { - type = types.int; - default = 0; - example = 123; - description = "Port number of the service."; - }; - - user = mkOption { - type = types.string; - default = "nobody"; - description = "User account for the service"; - }; - - server = mkOption { - type = types.string; - example = "/foo/bin/ftpd"; - description = "Path of the program that implements the service."; - }; - - serverArgs = mkOption { - type = types.string; - default = ""; - description = "Command-line arguments for the server program."; - }; - - flags = mkOption { - type = types.string; - default = ""; - description = ""; - }; - - unlisted = mkOption { - type = types.bool; - default = false; - description = '' - Whether this server is listed in - /etc/services. If so, the port - number can be omitted. - ''; - }; - - extraConfig = mkOption { - type = types.string; - default = ""; - description = "Extra configuration-lines added to the section of the service."; - }; - - }; + })); }; @@ -141,7 +143,7 @@ in config = mkIf cfg.enable { systemd.services.xinetd = { description = "xinetd server"; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; path = [ pkgs.xinetd ]; script = "xinetd -syslog daemon -dontfork -stayalive -f ${configFile}"; diff --git a/nixos/modules/services/networking/zerobin.nix b/nixos/modules/services/networking/zerobin.nix index 1c524602f8e9..274bbca53fa3 100644 --- a/nixos/modules/services/networking/zerobin.nix +++ b/nixos/modules/services/networking/zerobin.nix @@ -86,15 +86,15 @@ in systemd.services.zerobin = { enable = true; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; serviceConfig.ExecStart = "${pkgs.pythonPackages.zerobin}/bin/zerobin ${cfg.listenAddress} ${toString cfg.listenPort} false ${cfg.user} ${cfg.group} ${zerobin_config}"; serviceConfig.PrivateTmp="yes"; serviceConfig.User = cfg.user; serviceConfig.Group = cfg.group; preStart = '' - mkdir -p ${cfg.dataDir} - chown ${cfg.user} ${cfg.dataDir} + mkdir -p ${cfg.dataDir} + chown ${cfg.user} ${cfg.dataDir} ''; }; }; diff --git a/nixos/modules/services/networking/znc.nix b/nixos/modules/services/networking/znc.nix index 196a14dd40ed..76ba78ff366f 100644 --- a/nixos/modules/services/networking/znc.nix +++ b/nixos/modules/services/networking/znc.nix @@ -26,53 +26,35 @@ let }; # Keep znc.conf in nix store, then symlink or copy into `dataDir`, depending on `mutable`. + notNull = a: ! isNull a; mkZncConf = confOpts: '' - // Also check http://en.znc.in/wiki/Configuration - - AnonIPLimit = 10 - ConnectDelay = 5 - # Add `LoadModule = x` for each module... + Version = 1.6.3 ${concatMapStrings (n: "LoadModule = ${n}\n") confOpts.modules} - MaxBufferSize = 500 - ProtectWebSessions = true - SSLCertFile = ${cfg.dataDir}/znc.pem - ServerThrottle = 30 - Skin = dark-clouds - StatusPrefix = * - Version = 1.2 - - AllowIRC = true - AllowWeb = true + + Port = ${toString confOpts.port} IPv4 = true - IPv6 = false - Port = ${if confOpts.useSSL then "+" else ""}${toString confOpts.port} + IPv6 = true SSL = ${if confOpts.useSSL then "true" else "false"} - Admin = true - Allow = * - AltNick = ${confOpts.nick}_ - AppendTimestamp = false - AutoClearChanBuffer = false - Buffer = 150 - ChanModes = +stn - DenyLoadMod = false - DenySetBindHost = false - Ident = ident - JoinTries = 10 - MaxJoins = 0 - MaxNetworks = 1 - MultiClients = true - Nick = ${confOpts.nick} - PrependTimestamp = true - QuitMsg = Quit - RealName = ${confOpts.nick} - TimestampFormat = [%H:%M:%S] - ${concatMapStrings (n: "LoadModule = ${n}\n") confOpts.userModules} - ${confOpts.passBlock} + Admin = true + Nick = ${confOpts.nick} + AltNick = ${confOpts.nick}_ + Ident = ${confOpts.nick} + RealName = ${confOpts.nick} + ${concatMapStrings (n: "LoadModule = ${n}\n") confOpts.userModules} + + ${ lib.concatStringsSep "\n" (lib.mapAttrsToList (name: net: '' + + ${concatMapStrings (m: "LoadModule = ${m}\n") net.modules} + Server = ${net.server} ${if net.useSSL then "+" else ""}${toString net.port} + + ${concatMapStrings (c: "\n\n") net.channels} + + '') confOpts.networks) } ${confOpts.extraZncConf} ''; @@ -84,6 +66,62 @@ let else mkZncConf cfg.confOptions; }; + networkOpts = { ... }: { + options = { + server = mkOption { + type = types.str; + example = "chat.freenode.net"; + description = '' + IRC server address. + ''; + }; + + port = mkOption { + type = types.int; + default = 6697; + example = 6697; + description = '' + IRC server port. + ''; + }; + + useSSL = mkOption { + type = types.bool; + default = true; + description = '' + Whether to use SSL to connect to the IRC server. + ''; + }; + + modulePackages = mkOption { + type = types.listOf types.package; + default = []; + example = [ "pkgs.zncModules.push" "pkgs.zncModules.fish" ]; + description = '' + External ZNC modules to build. + ''; + }; + + modules = mkOption { + type = types.listOf types.str; + default = [ "simple_away" ]; + example = literalExample "[ simple_away sasl ]"; + description = '' + ZNC modules to load. + ''; + }; + + channels = mkOption { + type = types.listOf types.str; + default = []; + example = [ "nixos" ]; + description = '' + IRC channels to join. + ''; + }; + }; + }; + in { @@ -111,6 +149,15 @@ in ''; }; + group = mkOption { + default = ""; + example = "users"; + type = types.string; + description = '' + Group to own the ZNCserver process. + ''; + }; + dataDir = mkOption { default = "/var/lib/znc/"; example = "/home/john/.znc/"; @@ -125,27 +172,16 @@ in example = "See: http://wiki.znc.in/Configuration"; type = types.lines; description = '' - The contents of the `znc.conf` file to use when creating it. + Config file as generated with `znc --makeconf` to use for the whole ZNC configuration. If specified, `confOptions` will be ignored, and this value, as-is, will be used. If left empty, a conf file with default values will be used. - Recommended to generate with `znc --makeconf` command. ''; }; - /* TODO: add to the documentation of the current module: - - Values to use when creating a `znc.conf` file. - - confOptions = { - modules = [ "log" ]; - userName = "john"; - nick = "johntron"; - }; - */ confOptions = { modules = mkOption { type = types.listOf types.str; - default = [ "partyline" "webadmin" "adminlog" "log" ]; + default = [ "webadmin" "adminlog" ]; example = [ "partyline" "webadmin" "adminlog" "log" ]; description = '' A list of modules to include in the `znc.conf` file. @@ -154,8 +190,8 @@ in userModules = mkOption { type = types.listOf types.str; - default = [ ]; - example = [ "fish" "push" ]; + default = [ "chansaver" "controlpanel" ]; + example = [ "chansaver" "controlpanel" "fish" "push" ]; description = '' A list of user modules to include in the `znc.conf` file. ''; @@ -166,29 +202,41 @@ in example = "johntron"; type = types.string; description = '' - The user name to use when generating the `znc.conf` file. - This is the user name used by the user logging into the ZNC web admin. + The user name used to log in to the ZNC web admin interface. ''; }; + networks = mkOption { + default = { }; + type = with types; loaOf (submodule networkOpts); + description = '' + IRC networks to connect the user to. + ''; + example = { + "freenode" = { + server = "chat.freenode.net"; + port = 6697; + ssl = true; + modules = [ "simple_away" ]; + }; + }; + }; + nick = mkOption { default = "znc-user"; example = "john"; type = types.string; description = '' - The IRC nick to use when generating the `znc.conf` file. + The IRC nick. ''; }; passBlock = mkOption { - default = defaultPassBlock; - example = "Must be the block generated by the `znc --makepass` command."; + example = defaultPassBlock; type = types.string; description = '' - The pass block to use when generating the `znc.conf` file. - This is the password used by the user logging into the ZNC web admin. - This is the block generated by the `znc --makepass` command. - !!! If not specified, please change this after starting the service. !!! + Generate with znc --makepass. + This is the password used to log in to the ZNC web admin interface. ''; }; @@ -206,7 +254,7 @@ in example = true; type = types.bool; description = '' - Indicates whether the ZNC server should use SSL when listening on the specified port. + Indicates whether the ZNC server should use SSL when listening on the specified port. A self-signed certificate will be generated. ''; }; @@ -214,7 +262,7 @@ in default = ""; type = types.lines; description = '' - Extra config to `znc.conf` file + Extra config to `znc.conf` file. ''; }; }; @@ -265,6 +313,7 @@ in after = [ "network.service" ]; serviceConfig = { User = cfg.user; + Group = cfg.group; Restart = "always"; ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; ExecStop = "${pkgs.coreutils}/bin/kill -INT $MAINPID"; diff --git a/nixos/modules/services/printing/cupsd.nix b/nixos/modules/services/printing/cupsd.nix index 368d7ac761ac..3041dccfd154 100644 --- a/nixos/modules/services/printing/cupsd.nix +++ b/nixos/modules/services/printing/cupsd.nix @@ -75,7 +75,7 @@ let '') cfg.listenAddresses} Listen /var/run/cups/cups.sock - SetEnv PATH ${bindir}/lib/cups/filter:${bindir}/bin + SetEnv PATH /var/lib/cups/path/lib/cups/filter:/var/lib/cups/path/bin DefaultShared ${if cfg.defaultShared then "Yes" else "No"} @@ -310,6 +310,13 @@ in for i in *; do [ ! -e "/var/lib/cups/$i" ] && ln -s "${rootdir}/etc/cups/$i" "/var/lib/cups/$i" done + + #update path reference + [ -L /var/lib/cups/path ] && \ + rm /var/lib/cups/path + [ ! -e /var/lib/cups/path ] && \ + ln -s ${bindir} /var/lib/cups/path + ${optionalString cfg.gutenprint '' if [ -d /var/lib/cups/ppd ]; then ${gutenprint}/bin/cups-genppdupdate -p /var/lib/cups/ppd diff --git a/nixos/modules/services/scheduling/chronos.nix b/nixos/modules/services/scheduling/chronos.nix index db1f0f5f00c9..6c39997fec88 100644 --- a/nixos/modules/services/scheduling/chronos.nix +++ b/nixos/modules/services/scheduling/chronos.nix @@ -41,7 +41,7 @@ in { systemd.services.chronos = { description = "Chronos Service"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" "zookeeper.service" ]; + after = [ "network.target" "zookeeper.service" ]; serviceConfig = { ExecStart = "${pkgs.chronos}/bin/chronos --master ${cfg.master} --zk_hosts ${concatStringsSep "," cfg.zookeeperHosts} --http_port ${toString cfg.httpPort}"; diff --git a/nixos/modules/services/scheduling/marathon.nix b/nixos/modules/services/scheduling/marathon.nix index 4e837c62dc11..19c9a708f21f 100644 --- a/nixos/modules/services/scheduling/marathon.nix +++ b/nixos/modules/services/scheduling/marathon.nix @@ -83,7 +83,7 @@ in { description = "Marathon Service"; environment = cfg.environment; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" "zookeeper.service" "mesos-master.service" "mesos-slave.service" ]; + after = [ "network.target" "zookeeper.service" "mesos-master.service" "mesos-slave.service" ]; serviceConfig = { ExecStart = "${pkgs.marathon}/bin/marathon --master ${cfg.master} --zk zk://${concatStringsSep "," cfg.zookeeperHosts}/marathon --http_port ${toString cfg.httpPort} ${concatStringsSep " " cfg.extraCmdLineOptions}"; diff --git a/nixos/modules/services/search/elasticsearch.nix b/nixos/modules/services/search/elasticsearch.nix index 9299aaac2f70..574f74d547a5 100644 --- a/nixos/modules/services/search/elasticsearch.nix +++ b/nixos/modules/services/search/elasticsearch.nix @@ -129,7 +129,7 @@ in { systemd.services.elasticsearch = { description = "Elasticsearch Daemon"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; path = [ pkgs.inetutils ]; environment = { ES_HOME = cfg.dataDir; diff --git a/nixos/modules/services/search/hound.nix b/nixos/modules/services/search/hound.nix new file mode 100644 index 000000000000..a94a851e80ec --- /dev/null +++ b/nixos/modules/services/search/hound.nix @@ -0,0 +1,125 @@ +{ config, lib, pkgs, ... }: +with lib; +let + cfg = config.services.hound; +in { + options = { + services.hound = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable the hound code search daemon. + ''; + }; + + user = mkOption { + default = "hound"; + type = types.str; + description = '' + User the hound daemon should execute under. + ''; + }; + + group = mkOption { + default = "hound"; + type = types.str; + description = '' + Group the hound daemon should execute under. + ''; + }; + + extraGroups = mkOption { + type = types.listOf types.str; + default = [ ]; + example = [ "dialout" ]; + description = '' + List of extra groups that the "hound" user should be a part of. + ''; + }; + + home = mkOption { + default = "/var/lib/hound"; + type = types.path; + description = '' + The path to use as hound's $HOME. If the default user + "hound" is configured then this is the home of the "hound" + user. + ''; + }; + + package = mkOption { + default = pkgs.hound; + defaultText = "pkgs.hound"; + type = types.package; + description = '' + Package for running hound. + ''; + }; + + config = mkOption { + type = types.str; + description = '' + The full configuration of the Hound daemon. Note the dbpath + should be an absolute path to a writable location on disk. + ''; + example = '' + { + "max-concurrent-indexers" : 2, + "dbpath" : "''${services.hound.home}/data", + "repos" : { + "nixpkgs": { + "url" : "https://www.github.com/NixOS/nixpkgs.git" + } + } + } + ''; + }; + + listen = mkOption { + type = types.str; + default = "0.0.0.0:6080"; + example = "127.0.0.1:6080 or just :6080"; + description = '' + Listen on this IP:port / :port + ''; + }; + }; + }; + + config = mkIf cfg.enable { + users.extraGroups = optional (cfg.group == "hound") { + name = "hound"; + gid = config.ids.gids.hound; + }; + + users.extraUsers = optional (cfg.user == "hound") { + name = "hound"; + description = "hound code search"; + createHome = true; + home = cfg.home; + group = cfg.group; + extraGroups = cfg.extraGroups; + uid = config.ids.uids.hound; + }; + + systemd.services.hound = { + description = "Hound Code Search"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + + serviceConfig = { + User = cfg.user; + Group = cfg.group; + WorkingDirectory = cfg.home; + ExecStartPre = "${pkgs.git}/bin/git config --global --replace-all http.sslCAinfo /etc/ssl/certs/ca-certificates.crt"; + ExecStart = "${cfg.package}/bin/houndd" + + " -addr ${cfg.listen}" + + " -conf ${pkgs.writeText "hound.json" cfg.config}"; + + }; + path = [ pkgs.git pkgs.mercurial pkgs.openssh ]; + }; + }; + +} diff --git a/nixos/modules/services/search/kibana.nix b/nixos/modules/services/search/kibana.nix index 033b8139d341..d377a6feeb8e 100644 --- a/nixos/modules/services/search/kibana.nix +++ b/nixos/modules/services/search/kibana.nix @@ -138,7 +138,7 @@ in { systemd.services.kibana = { description = "Kibana Service"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" "elasticsearch.service" ]; + after = [ "network.target" "elasticsearch.service" ]; environment = { BABEL_CACHE_PATH = "${cfg.dataDir}/.babelcache.json"; }; serviceConfig = { ExecStart = "${cfg.package}/bin/kibana --config ${cfgFile}"; diff --git a/nixos/modules/services/security/clamav.nix b/nixos/modules/services/security/clamav.nix index e4e5c1253b77..b045e140546d 100644 --- a/nixos/modules/services/security/clamav.nix +++ b/nixos/modules/services/security/clamav.nix @@ -3,26 +3,37 @@ with lib; let clamavUser = "clamav"; stateDir = "/var/lib/clamav"; - runDir = "/var/run/clamav"; - logDir = "/var/log/clamav"; + runDir = "/run/clamav"; clamavGroup = clamavUser; cfg = config.services.clamav; + pkg = pkgs.clamav; + clamdConfigFile = pkgs.writeText "clamd.conf" '' DatabaseDirectory ${stateDir} LocalSocket ${runDir}/clamd.ctl - LogFile ${logDir}/clamav.log PidFile ${runDir}/clamd.pid + TemporaryDirectory /tmp User clamav + Foreground yes ${cfg.daemon.extraConfig} ''; - pkg = pkgs.clamav.override { freshclamConf = cfg.updater.config; }; + + freshclamConfigFile = pkgs.writeText "freshclam.conf" '' + DatabaseDirectory ${stateDir} + Foreground yes + Checks ${toString cfg.updater.frequency} + + ${cfg.updater.extraConfig} + + DatabaseMirror database.clamav.net + ''; in { options = { services.clamav = { daemon = { - enable = mkEnableOption "clamd daemon"; + enable = mkEnableOption "ClamAV clamd daemon"; extraConfig = mkOption { type = types.lines; @@ -34,16 +45,27 @@ in }; }; updater = { - enable = mkEnableOption "freshclam updater"; + enable = mkEnableOption "ClamAV freshclam updater"; frequency = mkOption { + type = types.int; default = 12; description = '' Number of database checks per day. ''; }; - config = mkOption { + interval = mkOption { + type = types.str; + default = "hourly"; + description = '' + How often freshclam is invoked. See systemd.time(7) for more + information about the format. + ''; + }; + + extraConfig = mkOption { + type = types.lines; default = ""; description = '' Extra configuration for freshclam. Contents will be added verbatim to the @@ -68,50 +90,53 @@ in gid = config.ids.gids.clamav; }; - services.clamav.updater.config = mkIf cfg.updater.enable '' - DatabaseDirectory ${stateDir} - Foreground yes - Checks ${toString cfg.updater.frequency} - DatabaseMirror database.clamav.net - ''; + environment.etc."clamav/freshclam.conf".source = freshclamConfigFile; + environment.etc."clamav/clamd.conf".source = clamdConfigFile; - systemd.services.clamd = mkIf cfg.daemon.enable { + systemd.services.clamav-daemon = mkIf cfg.daemon.enable { description = "ClamAV daemon (clamd)"; - path = [ pkg ]; - after = [ "network.target" "freshclam.service" ]; - requires = [ "freshclam.service" ]; + after = mkIf cfg.updater.enable [ "clamav-freshclam.service" ]; + requires = mkIf cfg.updater.enable [ "clamav-freshclam.service" ]; wantedBy = [ "multi-user.target" ]; + restartTriggers = [ clamdConfigFile ]; + preStart = '' - mkdir -m 0755 -p ${logDir} mkdir -m 0755 -p ${runDir} - chown ${clamavUser}:${clamavGroup} ${logDir} chown ${clamavUser}:${clamavGroup} ${runDir} ''; + serviceConfig = { - ExecStart = "${pkg}/bin/clamd --config-file=${clamdConfigFile}"; - Type = "forking"; - ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; - Restart = "on-failure"; - RestartSec = "10s"; - StartLimitInterval = "1min"; + ExecStart = "${pkg}/bin/clamd"; + ExecReload = "${pkgs.coreutils}/bin/kill -USR2 $MAINPID"; + PrivateTmp = "yes"; + PrivateDevices = "yes"; + PrivateNetwork = "yes"; }; }; - systemd.services.freshclam = mkIf cfg.updater.enable { - description = "ClamAV updater (freshclam)"; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - path = [ pkg ]; + systemd.timers.clamav-freshclam = mkIf cfg.updater.enable { + description = "Timer for ClamAV virus database updater (freshclam)"; + wantedBy = [ "timers.target" ]; + timerConfig = { + OnCalendar = cfg.updater.interval; + Unit = "clamav-freshclam.service"; + }; + }; + + systemd.services.clamav-freshclam = mkIf cfg.updater.enable { + description = "ClamAV virus database updater (freshclam)"; + restartTriggers = [ freshclamConfigFile ]; + preStart = '' mkdir -m 0755 -p ${stateDir} chown ${clamavUser}:${clamavGroup} ${stateDir} ''; + serviceConfig = { - ExecStart = "${pkg}/bin/freshclam --daemon --config-file=${pkgs.writeText "freshclam.conf" cfg.updater.config}"; - ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; - Restart = "on-failure"; - RestartSec = "10s"; - StartLimitInterval = "1min"; + Type = "oneshot"; + ExecStart = "${pkg}/bin/freshclam"; + PrivateTmp = "yes"; + PrivateDevices = "yes"; }; }; }; diff --git a/nixos/modules/services/security/fail2ban.nix b/nixos/modules/services/security/fail2ban.nix index 22e3bb0066cc..716ae7a2d2f4 100644 --- a/nixos/modules/services/security/fail2ban.nix +++ b/nixos/modules/services/security/fail2ban.nix @@ -143,7 +143,7 @@ in services.fail2ban.jails.ssh-iptables = '' filter = sshd - action = iptables[name=SSH, port=ssh, protocol=tcp] + action = iptables-multiport[name=SSH, port="${concatMapStringsSep "," (p: toString p) config.services.openssh.ports}", protocol=tcp] maxretry = 5 ''; diff --git a/nixos/modules/services/security/haveged.nix b/nixos/modules/services/security/haveged.nix index 2aa523bf70a4..eca529188810 100644 --- a/nixos/modules/services/security/haveged.nix +++ b/nixos/modules/services/security/haveged.nix @@ -48,14 +48,18 @@ in { description = "Entropy Harvesting Daemon"; unitConfig.Documentation = "man:haveged(8)"; wantedBy = [ "multi-user.target" ]; - + path = [ pkgs.haveged ]; - - serviceConfig = - { Type = "forking"; - ExecStart = "${pkgs.haveged}/sbin/haveged -w ${toString cfg.refill_threshold} -v 1"; - PIDFile = "/run/haveged.pid"; - }; + + serviceConfig = { + ExecStart = "${pkgs.haveged}/bin/haveged -F -w ${toString cfg.refill_threshold} -v 1"; + SuccessExitStatus = 143; + PrivateTmp = true; + PrivateDevices = true; + PrivateNetwork = true; + ProtectSystem = "full"; + ProtectHome = true; + }; }; }; diff --git a/nixos/modules/services/security/oauth2_proxy.nix b/nixos/modules/services/security/oauth2_proxy.nix index 4c20392214fc..caa7d9d50812 100644 --- a/nixos/modules/services/security/oauth2_proxy.nix +++ b/nixos/modules/services/security/oauth2_proxy.nix @@ -510,7 +510,7 @@ in description = "OAuth2 Proxy"; path = [ cfg.package ]; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; serviceConfig = { User = "oauth2_proxy"; diff --git a/nixos/modules/services/system/cgmanager.nix b/nixos/modules/services/system/cgmanager.nix new file mode 100644 index 000000000000..59d3deced867 --- /dev/null +++ b/nixos/modules/services/system/cgmanager.nix @@ -0,0 +1,27 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.cgmanager; +in { + meta.maintainers = [ maintainers.mic92 ]; + + ###### interface + options.services.cgmanager.enable = mkEnableOption "cgmanager"; + + ###### implementation + config = mkIf cfg.enable { + systemd.services.cgmanager = { + wantedBy = [ "multi-user.target" ]; + after = [ "local-fs.target" ]; + description = "Cgroup management daemon"; + restartIfChanged = false; + serviceConfig = { + ExecStart = "${pkgs.cgmanager}/bin/cgmanager -m name=systemd"; + KillMode = "process"; + Restart = "on-failure"; + }; + }; + }; +} diff --git a/nixos/modules/services/system/dbus.nix b/nixos/modules/services/system/dbus.nix index df93fcd2bdba..d15d5551e343 100644 --- a/nixos/modules/services/system/dbus.nix +++ b/nixos/modules/services/system/dbus.nix @@ -8,7 +8,7 @@ let cfg = config.services.dbus; - homeDir = "/var/run/dbus"; + homeDir = "/run/dbus"; systemExtraxml = concatStrings (flip concatMap cfg.packages (d: [ "${d}/share/dbus-1/system-services" @@ -20,15 +20,23 @@ let "${d}/etc/dbus-1/session.d" ])); - configDir = pkgs.stdenv.mkDerivation { - name = "dbus-conf"; + daemonArgs = "--address=systemd: --nofork --nopidfile --systemd-activation"; - preferLocalBuild = true; - allowSubstitutes = false; - - buildCommand = '' + configDir = pkgs.runCommand "dbus-conf" + { preferLocalBuild = true; + allowSubstitutes = false; + } + '' mkdir -p $out + cp ${pkgs.dbus.out}/share/dbus-1/{system,session}.conf $out + + # avoid circular includes + sed -ri 's@(/etc/dbus-1/(system|session)\.conf)@@g' $out/{system,session}.conf + + # include by full path + sed -ri "s@/etc/dbus-1/(system|session)-@$out/\1-@" $out/{system,session}.conf + sed '${./dbus-system-local.conf.in}' \ -e 's,@servicehelper@,${config.security.permissionsWrapperDir}/dbus-daemon-launch-helper,g' \ -e 's,@extra@,${systemExtraxml},' \ @@ -38,7 +46,6 @@ let -e 's,@extra@,${sessionExtraxml},' \ > "$out/session-local.conf" ''; - }; in @@ -75,16 +82,21 @@ in ''; }; + socketActivated = mkOption { + type = types.bool; + default = false; + description = '' + Make the user instance socket activated. + ''; + }; }; - }; - ###### implementation config = mkIf cfg.enable { - environment.systemPackages = [ pkgs.dbus.daemon pkgs.dbus_tools ]; + environment.systemPackages = [ pkgs.dbus.daemon pkgs.dbus ]; environment.etc = singleton { source = configDir; @@ -104,7 +116,7 @@ in security.permissionsWrappers.setuid = singleton { program = "dbus-daemon-launch-helper"; - source = "${pkgs.dbus_daemon}/libexec/dbus-daemon-launch-helper"; + source = "${pkgs.dbus.daemon}/libexec/dbus-daemon-launch-helper"; owner = "root"; group = "messagebus"; setuid = true; @@ -117,13 +129,29 @@ in config.system.path ]; - # Don't restart dbus-daemon. Bad things tend to happen if we do. - systemd.services.dbus.reloadIfChanged = true; + systemd.services.dbus = { + # Don't restart dbus-daemon. Bad things tend to happen if we do. + reloadIfChanged = true; + restartTriggers = [ configDir ]; + serviceConfig.ExecStart = [ + "" + "${lib.getBin pkgs.dbus}/bin/dbus-daemon --config-file=${configDir}/system.conf ${daemonArgs}" + ]; + }; - systemd.services.dbus.restartTriggers = [ configDir ]; + systemd.user = { + services.dbus = { + # Don't restart dbus-daemon. Bad things tend to happen if we do. + reloadIfChanged = true; + restartTriggers = [ configDir ]; + serviceConfig.ExecStart = [ + "" + "${lib.getBin pkgs.dbus}/bin/dbus-daemon --config-file=${configDir}/session.conf ${daemonArgs}" + ]; + }; + sockets.dbus.wantedBy = mkIf cfg.socketActivated [ "sockets.target" ]; + }; environment.pathsToLink = [ "/etc/dbus-1" "/share/dbus-1" ]; - }; - } diff --git a/nixos/modules/services/system/nscd.nix b/nixos/modules/services/system/nscd.nix index d98ef8a306d5..eb4b5281c7c6 100644 --- a/nixos/modules/services/system/nscd.nix +++ b/nixos/modules/services/system/nscd.nix @@ -9,8 +9,6 @@ let inherit (lib) singleton; - cfgFile = pkgs.writeText "nscd.conf" cfg.config; - in { @@ -41,6 +39,7 @@ in ###### implementation config = mkIf cfg.enable { + environment.etc."nscd.conf".text = cfg.config; users.extraUsers.nscd = { isSystemUser = true; @@ -61,10 +60,14 @@ in mkdir -m 0755 -p /var/db/nscd ''; - restartTriggers = [ config.environment.etc.hosts.source config.environment.etc."nsswitch.conf".source ]; + restartTriggers = [ + config.environment.etc.hosts.source + config.environment.etc."nsswitch.conf".source + config.environment.etc."nscd.conf".source + ]; serviceConfig = - { ExecStart = "@${pkgs.glibc.bin}/sbin/nscd nscd -f ${cfgFile}"; + { ExecStart = "@${pkgs.glibc.bin}/sbin/nscd nscd"; Type = "forking"; PIDFile = "/run/nscd/nscd.pid"; Restart = "always"; @@ -79,7 +82,7 @@ in # its pid. So wait until it's ready. postStart = '' - while ! ${pkgs.glibc.bin}/sbin/nscd -g -f ${cfgFile} > /dev/null; do + while ! ${pkgs.glibc.bin}/sbin/nscd -g > /dev/null; do sleep 0.2 done ''; diff --git a/nixos/modules/services/torrent/deluge.nix b/nixos/modules/services/torrent/deluge.nix index becd57055d41..a9c08b66eb82 100644 --- a/nixos/modules/services/torrent/deluge.nix +++ b/nixos/modules/services/torrent/deluge.nix @@ -5,26 +5,36 @@ with lib; let cfg = config.services.deluge; cfg_web = config.services.deluge.web; + openFilesLimit = 4096; + in { options = { - services.deluge = { - enable = mkOption { - default = false; - example = true; - description = '' - Start Deluge daemon. - ''; - }; - }; + services = { + deluge = { + enable = mkOption { + default = false; + example = true; + description = "Start the Deluge daemon"; + }; - services.deluge.web = { - enable = mkOption { - default = false; - example = true; - description = '' - Start Deluge Web daemon. - ''; - }; + openFilesLimit = mkOption { + default = openFilesLimit; + example = 8192; + description = '' + Number of files to allow deluged to open. + ''; + }; + }; + + deluge.web = { + enable = mkOption { + default = false; + example = true; + description = '' + Start Deluge Web daemon. + ''; + }; + }; }; }; @@ -35,11 +45,14 @@ in { description = "Deluge BitTorrent Daemon"; wantedBy = [ "multi-user.target" ]; path = [ pkgs.pythonPackages.deluge ]; - serviceConfig.ExecStart = "${pkgs.pythonPackages.deluge}/bin/deluged -d"; - # To prevent "Quit & shutdown daemon" from working; we want systemd to manage it! - serviceConfig.Restart = "on-success"; - serviceConfig.User = "deluge"; - serviceConfig.Group = "deluge"; + serviceConfig = { + ExecStart = "${pkgs.pythonPackages.deluge}/bin/deluged -d"; + # To prevent "Quit & shutdown daemon" from working; we want systemd to manage it! + Restart = "on-success"; + User = "deluge"; + Group = "deluge"; + LimitNOFILE = cfg.openFilesLimit; + }; }; systemd.services.delugeweb = mkIf cfg_web.enable { diff --git a/nixos/modules/services/torrent/flexget.nix b/nixos/modules/services/torrent/flexget.nix index 1252aa1c549c..4b9038e3e251 100644 --- a/nixos/modules/services/torrent/flexget.nix +++ b/nixos/modules/services/torrent/flexget.nix @@ -4,7 +4,7 @@ with lib; let cfg = config.services.flexget; - pkg = pkgs.python27Packages.flexget; + pkg = pkgs.flexget; ymlFile = pkgs.writeText "flexget.yml" '' ${cfg.config} @@ -54,12 +54,12 @@ in { config = mkIf cfg.enable { - environment.systemPackages = [ pkgs.python27Packages.flexget ]; + environment.systemPackages = [ pkg ]; systemd.services = { flexget = { description = "FlexGet Daemon"; - path = [ pkgs.pythonPackages.flexget ]; + path = [ pkg ]; serviceConfig = { User = cfg.user; Environment = "TZ=${config.time.timeZone}"; diff --git a/nixos/modules/services/torrent/opentracker.nix b/nixos/modules/services/torrent/opentracker.nix new file mode 100644 index 000000000000..74f443381d92 --- /dev/null +++ b/nixos/modules/services/torrent/opentracker.nix @@ -0,0 +1,45 @@ +{ config, lib, pkgs, ... }: + +with lib; +let + cfg = config.services.opentracker; +in { + options.services.opentracker = { + enable = mkEnableOption "opentracker"; + + package = mkOption { + type = types.package; + description = '' + opentracker package to use + ''; + default = pkgs.opentracker; + defaultText = "pkgs.opentracker"; + }; + + extraOptions = mkOption { + type = types.separatedString " "; + description = '' + Configuration Arguments for opentracker + See https://erdgeist.org/arts/software/opentracker/ for all params + ''; + default = ""; + }; + }; + + config = lib.mkIf cfg.enable { + + systemd.services.opentracker = { + description = "opentracker server"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + restartIfChanged = true; + serviceConfig = { + ExecStart = "${cfg.package}/bin/opentracker ${cfg.extraOptions}"; + PrivateTmp = true; + WorkingDirectory = "/var/empty"; + # By default opentracker drops all privileges and runs in chroot after starting up as root. + }; + }; + }; +} + diff --git a/nixos/modules/services/torrent/peerflix.nix b/nixos/modules/services/torrent/peerflix.nix index 38fbd3b226cd..2e3dd9902d72 100644 --- a/nixos/modules/services/torrent/peerflix.nix +++ b/nixos/modules/services/torrent/peerflix.nix @@ -42,7 +42,7 @@ in { systemd.services.peerflix = { description = "Peerflix Daemon"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; environment.HOME = cfg.stateDir; preStart = '' diff --git a/nixos/modules/services/ttys/agetty.nix b/nixos/modules/services/ttys/agetty.nix index ea7196fc8733..051d54e932fb 100644 --- a/nixos/modules/services/ttys/agetty.nix +++ b/nixos/modules/services/ttys/agetty.nix @@ -80,8 +80,7 @@ in }; systemd.services."container-getty@" = - { unitConfig.ConditionPathExists = "/dev/pts/%I"; # Work around being respawned when "machinectl login" exits. - serviceConfig.ExecStart = gettyCmd "--noclear --keep-baud pts/%I 115200,38400,9600 $TERM"; + { serviceConfig.ExecStart = gettyCmd "--noclear --keep-baud pts/%I 115200,38400,9600 $TERM"; restartIfChanged = false; }; diff --git a/nixos/modules/services/web-apps/atlassian/confluence.nix b/nixos/modules/services/web-apps/atlassian/confluence.nix new file mode 100644 index 000000000000..2d9287577de8 --- /dev/null +++ b/nixos/modules/services/web-apps/atlassian/confluence.nix @@ -0,0 +1,141 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.confluence; + + pkg = pkgs.atlassian-confluence; + +in + +{ + options = { + services.confluence = { + enable = mkEnableOption "Atlassian Confluence service"; + + user = mkOption { + type = types.str; + default = "confluence"; + description = "User which runs confluence."; + }; + + group = mkOption { + type = types.str; + default = "confluence"; + description = "Group which runs confluence."; + }; + + home = mkOption { + type = types.str; + default = "/var/lib/confluence"; + description = "Home directory of the confluence instance."; + }; + + listenAddress = mkOption { + type = types.str; + default = "127.0.0.1"; + description = "Address to listen on."; + }; + + listenPort = mkOption { + type = types.int; + default = 8090; + description = "Port to listen on."; + }; + + catalinaOptions = mkOption { + type = types.listOf types.str; + default = []; + example = [ "-Xms1024m" "-Xmx2048m" "-Dconfluence.disable.peopledirectory.all=true" ]; + description = "Java options to pass to catalina/tomcat."; + }; + + proxy = { + enable = mkEnableOption "proxy support"; + + name = mkOption { + type = types.str; + example = "confluence.example.com"; + description = "Virtual hostname at the proxy"; + }; + + port = mkOption { + type = types.int; + default = 443; + example = 80; + description = "Port used at the proxy"; + }; + + scheme = mkOption { + type = types.str; + default = "https"; + example = "http"; + description = "Protocol used at the proxy."; + }; + }; + + jrePackage = let + jreSwitch = unfree: free: if config.nixpkgs.config.allowUnfree or false then unfree else free; + in mkOption { + type = types.package; + default = jreSwitch pkgs.oraclejre8 pkgs.openjdk8.jre; + defaultText = jreSwitch "pkgs.oraclejre8" "pkgs.openjdk8.jre"; + example = literalExample "pkgs.openjdk8.jre"; + description = "Java Runtime to use for Confluence. Note that Atlassian recommends the Oracle JRE."; + }; + }; + }; + + config = mkIf cfg.enable { + users.extraUsers."${cfg.user}" = { + isSystemUser = true; + group = cfg.group; + }; + + users.extraGroups."${cfg.group}" = {}; + + systemd.services.confluence = { + description = "Atlassian Confluence"; + + wantedBy = [ "multi-user.target" ]; + requires = [ "postgresql.service" ]; + after = [ "postgresql.service" ]; + + path = [ cfg.jrePackage ]; + + environment = { + CONF_USER = cfg.user; + JAVA_HOME = "${cfg.jrePackage}"; + CATALINA_OPTS = concatStringsSep " " cfg.catalinaOptions; + }; + + preStart = '' + mkdir -p ${cfg.home}/{logs,work,temp,deploy} + + mkdir -p /run/confluence + ln -sf ${cfg.home}/{logs,work,temp,server.xml} /run/confluence + ln -sf ${cfg.home} /run/confluence/home + + chown -R ${cfg.user} ${cfg.home} + + sed -e 's,port="8090",port="${toString cfg.listenPort}" address="${cfg.listenAddress}",' \ + '' + (lib.optionalString cfg.proxy.enable '' + -e 's,protocol="org.apache.coyote.http11.Http11NioProtocol",protocol="org.apache.coyote.http11.Http11NioProtocol" proxyName="${cfg.proxy.name}" proxyPort="${toString cfg.proxy.port}" scheme="${cfg.proxy.scheme}",' \ + '') + '' + ${pkg}/conf/server.xml.dist > ${cfg.home}/server.xml + ''; + + script = "${pkg}/bin/start-confluence.sh -fg"; + stopScript = "${pkg}/bin/stop-confluence.sh"; + + serviceConfig = { + User = cfg.user; + Group = cfg.group; + PrivateTmp = true; + PermissionsStartOnly = true; + }; + }; + }; +} diff --git a/nixos/modules/services/web-apps/atlassian/crowd.nix b/nixos/modules/services/web-apps/atlassian/crowd.nix new file mode 100644 index 000000000000..ada26f8057ba --- /dev/null +++ b/nixos/modules/services/web-apps/atlassian/crowd.nix @@ -0,0 +1,156 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.crowd; + + pkg = pkgs.atlassian-crowd.override { + home = cfg.home; + port = cfg.listenPort; + proxyUrl = "${cfg.proxy.scheme}://${cfg.proxy.name}:${toString cfg.proxy.port}"; + openidPassword = cfg.openidPassword; + }; + +in + +{ + options = { + services.crowd = { + enable = mkEnableOption "Atlassian Crowd service"; + + user = mkOption { + type = types.str; + default = "crowd"; + description = "User which runs Crowd."; + }; + + group = mkOption { + type = types.str; + default = "crowd"; + description = "Group which runs Crowd."; + }; + + home = mkOption { + type = types.str; + default = "/var/lib/crowd"; + description = "Home directory of the Crowd instance."; + }; + + listenAddress = mkOption { + type = types.str; + default = "127.0.0.1"; + description = "Address to listen on."; + }; + + listenPort = mkOption { + type = types.int; + default = 8092; + description = "Port to listen on."; + }; + + openidPassword = mkOption { + type = types.str; + description = "Application password for OpenID server."; + }; + + catalinaOptions = mkOption { + type = types.listOf types.str; + default = []; + example = [ "-Xms1024m" "-Xmx2048m" ]; + description = "Java options to pass to catalina/tomcat."; + }; + + proxy = { + enable = mkEnableOption "reverse proxy support"; + + name = mkOption { + type = types.str; + example = "crowd.example.com"; + description = "Virtual hostname at the proxy"; + }; + + port = mkOption { + type = types.int; + default = 443; + example = 80; + description = "Port used at the proxy"; + }; + + scheme = mkOption { + type = types.str; + default = "https"; + example = "http"; + description = "Protocol used at the proxy."; + }; + + secure = mkOption { + type = types.bool; + default = true; + example = false; + description = "Whether the connections to the proxy should be considered secure."; + }; + }; + + jrePackage = let + jreSwitch = unfree: free: if config.nixpkgs.config.allowUnfree or false then unfree else free; + in mkOption { + type = types.package; + default = jreSwitch pkgs.oraclejre8 pkgs.openjdk8.jre; + defaultText = jreSwitch "pkgs.oraclejre8" "pkgs.openjdk8.jre"; + example = literalExample "pkgs.openjdk8.jre"; + description = "Java Runtime to use for Crowd. Note that Atlassian recommends the Oracle JRE."; + }; + }; + }; + + config = mkIf cfg.enable { + users.extraUsers."${cfg.user}" = { + isSystemUser = true; + group = cfg.group; + }; + + users.extraGroups."${cfg.group}" = {}; + + systemd.services.atlassian-crowd = { + description = "Atlassian Crowd"; + + wantedBy = [ "multi-user.target" ]; + requires = [ "postgresql.service" ]; + after = [ "postgresql.service" ]; + + path = [ cfg.jrePackage ]; + + environment = { + JAVA_HOME = "${cfg.jrePackage}"; + CATALINA_OPTS = concatStringsSep " " cfg.catalinaOptions; + CATALINA_TMPDIR = "/tmp"; + }; + + preStart = '' + mkdir -p ${cfg.home}/{logs,work,database} + + mkdir -p /run/atlassian-crowd + ln -sf ${cfg.home}/{database,work,server.xml} /run/atlassian-crowd + + chown -R ${cfg.user} ${cfg.home} + + sed -e 's,port="8095",port="${toString cfg.listenPort}" address="${cfg.listenAddress}",' \ + '' + (lib.optionalString cfg.proxy.enable '' + -e 's,compression="on",compression="off" protocol="HTTP/1.1" proxyName="${cfg.proxy.name}" proxyPort="${toString cfg.proxy.port}" scheme="${cfg.proxy.scheme}" secure="${toString cfg.proxy.secure}",' \ + '') + '' + ${pkg}/apache-tomcat/conf/server.xml.dist > ${cfg.home}/server.xml + ''; + + script = "${pkg}/start_crowd.sh"; + + serviceConfig = { + User = cfg.user; + Group = cfg.group; + PrivateTmp = true; + PermissionsStartOnly = true; + }; + }; + }; +} diff --git a/nixos/modules/services/web-apps/atlassian/jira.nix b/nixos/modules/services/web-apps/atlassian/jira.nix new file mode 100644 index 000000000000..6e31d20d0681 --- /dev/null +++ b/nixos/modules/services/web-apps/atlassian/jira.nix @@ -0,0 +1,149 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.jira; + + pkg = pkgs.atlassian-jira; + +in + +{ + options = { + services.jira = { + enable = mkEnableOption "Atlassian JIRA service"; + + user = mkOption { + type = types.str; + default = "jira"; + description = "User which runs JIRA."; + }; + + group = mkOption { + type = types.str; + default = "jira"; + description = "Group which runs JIRA."; + }; + + home = mkOption { + type = types.str; + default = "/var/lib/jira"; + description = "Home directory of the JIRA instance."; + }; + + listenAddress = mkOption { + type = types.str; + default = "127.0.0.1"; + description = "Address to listen on."; + }; + + listenPort = mkOption { + type = types.int; + default = 8091; + description = "Port to listen on."; + }; + + catalinaOptions = mkOption { + type = types.listOf types.str; + default = []; + example = [ "-Xms1024m" "-Xmx2048m" ]; + description = "Java options to pass to catalina/tomcat."; + }; + + proxy = { + enable = mkEnableOption "reverse proxy support"; + + name = mkOption { + type = types.str; + example = "jira.example.com"; + description = "Virtual hostname at the proxy"; + }; + + port = mkOption { + type = types.int; + default = 443; + example = 80; + description = "Port used at the proxy"; + }; + + scheme = mkOption { + type = types.str; + default = "https"; + example = "http"; + description = "Protocol used at the proxy."; + }; + + secure = mkOption { + type = types.bool; + default = true; + example = false; + description = "Whether the connections to the proxy should be considered secure."; + }; + }; + + jrePackage = let + jreSwitch = unfree: free: if config.nixpkgs.config.allowUnfree or false then unfree else free; + in mkOption { + type = types.package; + default = jreSwitch pkgs.oraclejre8 pkgs.openjdk8.jre; + defaultText = jreSwitch "pkgs.oraclejre8" "pkgs.openjdk8.jre"; + example = literalExample "pkgs.openjdk8.jre"; + description = "Java Runtime to use for JIRA. Note that Atlassian recommends the Oracle JRE."; + }; + }; + }; + + config = mkIf cfg.enable { + users.extraUsers."${cfg.user}" = { + isSystemUser = true; + group = cfg.group; + }; + + users.extraGroups."${cfg.group}" = {}; + + systemd.services.atlassian-jira = { + description = "Atlassian JIRA"; + + wantedBy = [ "multi-user.target" ]; + requires = [ "postgresql.service" ]; + after = [ "postgresql.service" ]; + + path = [ cfg.jrePackage ]; + + environment = { + JIRA_USER = cfg.user; + JIRA_HOME = cfg.home; + JAVA_HOME = "${cfg.jrePackage}"; + CATALINA_OPTS = concatStringsSep " " cfg.catalinaOptions; + }; + + preStart = '' + mkdir -p ${cfg.home}/{logs,work,temp,deploy} + + mkdir -p /run/atlassian-jira + ln -sf ${cfg.home}/{logs,work,temp,server.xml} /run/atlassian-jira + ln -sf ${cfg.home} /run/atlassian-jira/home + + chown -R ${cfg.user} ${cfg.home} + + sed -e 's,port="8080",port="${toString cfg.listenPort}" address="${cfg.listenAddress}",' \ + '' + (lib.optionalString cfg.proxy.enable '' + -e 's,protocol="HTTP/1.1",protocol="HTTP/1.1" proxyName="${cfg.proxy.name}" proxyPort="${toString cfg.proxy.port}" scheme="${cfg.proxy.scheme}" secure="${toString cfg.proxy.secure}",' \ + '') + '' + ${pkg}/conf/server.xml.dist > ${cfg.home}/server.xml + ''; + + script = "${pkg}/bin/start-jira.sh -fg"; + stopScript = "${pkg}/bin/stop-jira.sh"; + + serviceConfig = { + User = cfg.user; + Group = cfg.group; + PrivateTmp = true; + PermissionsStartOnly = true; + }; + }; + }; +} diff --git a/nixos/modules/services/web-apps/nixbot.nix b/nixos/modules/services/web-apps/nixbot.nix new file mode 100644 index 000000000000..0592d01bf369 --- /dev/null +++ b/nixos/modules/services/web-apps/nixbot.nix @@ -0,0 +1,149 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.nixbot; + pyramidIni = '' + ### + # app configuration + # http://docs.pylonsproject.org/projects/pyramid/en/1.7-branch/narr/environment.html + ### + + [app:main] + use = egg:nixbot + + nixbot.github_token = ${cfg.githubToken} + nixbot.bot_name = ${cfg.botName} + nixbot.repo = ${cfg.repo} + nixbot.pr_repo = ${cfg.prRepo} + nixbot.hydra_jobsets_repo = ${cfg.hydraJobsetsRepo} + nixbot.github_secret = justnotsorandom + nixbot.public_url = ${cfg.publicUrl} + nixbot.repo_dir = ${cfg.repoDir} + + pyramid.reload_templates = false + pyramid.debug_authorization = false + pyramid.debug_notfound = false + pyramid.debug_routematch = false + pyramid.default_locale_name = en + + # By default, the toolbar only appears for clients from IP addresses + # '127.0.0.1' and '::1'. + # debugtoolbar.hosts = 127.0.0.1 ::1 + + ### + # wsgi server configuration + ### + + [server:main] + use = egg:waitress#main + host = 0.0.0.0 + port = 6543 + + ### + # logging configuration + # http://docs.pylonsproject.org/projects/pyramid/en/1.7-branch/narr/logging.html + ### + + [loggers] + keys = root, nixbot + + [handlers] + keys = console + + [formatters] + keys = generic + + [logger_root] + level = INFO + handlers = console + + [logger_nixbot] + level = INFO + handlers = + qualname = nixbot + + [handler_console] + class = StreamHandler + args = (sys.stderr,) + level = NOTSET + formatter = generic + + [formatter_generic] + format = %(asctime)s %(levelname)-5.5s [%(name)s:%(lineno)s][%(threadName)s] %(message)s + ''; +in { + options = { + services.nixbot = { + enable = mkEnableOption "nixbot"; + + botName = mkOption { + type = types.str; + description = "The bot's github user account name."; + default = "nixbot"; + }; + + githubToken = mkOption { + type = types.str; + description = "The bot's github user account token."; + example = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; + }; + + repo = mkOption { + type = types.str; + description = "The github repository to check for PRs."; + example = "nixos/nixpkgs"; + }; + + prRepo = mkOption { + type = types.str; + description = "The github repository to push the testing branches to."; + example = "nixos/nixpkgs-pr"; + }; + + hydraJobsetsRepo = mkOption { + type = types.str; + description = "The github repository to push the hydra jobset definitions to."; + example = "nixos/hydra-jobsets"; + }; + + publicUrl = mkOption { + type = types.str; + description = "The public URL the bot is reachable at (Github hook endpoint)."; + example = "https://nixbot.nixos.org"; + }; + + repoDir = mkOption { + type = types.path; + description = "The directory the repositories are stored in."; + default = "/var/lib/nixbot"; + }; + }; + }; + + config = mkIf cfg.enable { + users.extraUsers.nixbot = { + createHome = true; + home = cfg.repoDir; + }; + + systemd.services.nixbot = let + env = pkgs.python3.buildEnv.override { + extraLibs = [ pkgs.nixbot ]; + }; + in { + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + script = '' + ${env}/bin/pserve ${pkgs.writeText "production.ini" pyramidIni} + ''; + + serviceConfig = { + User = "nixbot"; + Group = "nogroup"; + PermissionsStartOnly = true; + }; + }; + }; +} diff --git a/nixos/modules/services/web-apps/quassel-webserver.nix b/nixos/modules/services/web-apps/quassel-webserver.nix new file mode 100644 index 000000000000..d19e4bc58277 --- /dev/null +++ b/nixos/modules/services/web-apps/quassel-webserver.nix @@ -0,0 +1,101 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.quassel-webserver; + quassel-webserver = cfg.pkg; + settings = '' + module.exports = { + default: { + host: '${cfg.quasselCoreHost}', // quasselcore host + port: ${toString cfg.quasselCorePort}, // quasselcore port + initialBacklogLimit: ${toString cfg.initialBacklogLimit}, // Amount of backlogs to fetch per buffer on connection + backlogLimit: ${toString cfg.backlogLimit}, // Amount of backlogs to fetch per buffer after first retrieval + securecore: ${if cfg.secureCore then "true" else "false"}, // Connect to the core using SSL + theme: '${cfg.theme}' // Default UI theme + }, + themes: ['default', 'darksolarized'], // Available themes + forcedefault: ${if cfg.forceHostAndPort then "true" else "false"}, // Will force default host and port to be used, and will hide the corresponding fields in the UI + prefixpath: '${cfg.prefixPath}' // Configure this if you use a reverse proxy + }; + ''; + settingsFile = pkgs.writeText "settings-user.js" settings; +in { + options = { + services.quassel-webserver = { + enable = mkOption { + default = false; + type = types.bool; + description = "Whether to enable the quassel webclient service"; + }; + pkg = mkOption { + default = pkgs.quassel-webserver; + defaultText = "pkgs.quassel-webserver"; + type = types.package; + description = "The quassel-webserver package"; + }; + quasselCoreHost = mkOption { + default = ""; + type = types.str; + description = "The default host of the quassel core"; + }; + quasselCorePort = mkOption { + default = 4242; + type = types.int; + description = "The default quassel core port"; + }; + initialBacklogLimit = mkOption { + default = 20; + type = types.int; + description = "Amount of backlogs to fetch per buffer on connection"; + }; + backlogLimit = mkOption { + default = 100; + type = types.int; + description = "Amount of backlogs to fetch per buffer after first retrieval"; + }; + secureCore = mkOption { + default = true; + type = types.bool; + description = "Connect to the core using SSL"; + }; + theme = mkOption { + default = "default"; + type = types.str; + description = "default or darksolarized"; + }; + prefixPath = mkOption { + default = ""; + type = types.str; + description = "Configure this if you use a reverse proxy. Must start with a '/'"; + example = "/quassel"; + }; + port = mkOption { + default = 60443; + type = types.int; + description = "The port the quassel webserver should listen on"; + }; + useHttps = mkOption { + default = true; + type = types.bool; + description = "Whether the quassel webserver connection should be a https connection"; + }; + forceHostAndPort = mkOption { + default = false; + type = types.bool; + description = "Force the users to use the quasselCoreHost and quasselCorePort defaults"; + }; + }; + }; + + config = mkIf cfg.enable { + systemd.services.quassel-webserver = { + description = "A web server/client for Quassel"; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + ExecStart = "${quassel-webserver}/lib/node_modules/quassel-webserver/bin/www -p ${toString cfg.port} -m ${if cfg.useHttps == true then "https" else "http"} -c ${settingsFile}"; + }; + }; + }; +} diff --git a/nixos/modules/services/web-apps/selfoss.nix b/nixos/modules/services/web-apps/selfoss.nix new file mode 100644 index 000000000000..5571f77334cc --- /dev/null +++ b/nixos/modules/services/web-apps/selfoss.nix @@ -0,0 +1,166 @@ +{ config, lib, pkgs, ... }: +with lib; +let + cfg = config.services.selfoss; + + poolName = "selfoss_pool"; + phpfpmSocketName = "/var/run/phpfpm/${poolName}.sock"; + + dataDir = "/var/lib/selfoss"; + + selfoss-config = + let + db_type = cfg.database.type; + default_port = if (db_type == "mysql") then 3306 else 5342; + in + pkgs.writeText "selfoss-config.ini" '' + [globals] + ${lib.optionalString (db_type != "sqlite") '' + db_type=${db_type} + db_host=${cfg.database.host} + db_database=${cfg.database.name} + db_username=${cfg.database.user} + db_password=${cfg.database.password} + db_port=${if (cfg.database.port != null) then cfg.database.port + else default_port} + '' + } + ${cfg.extraConfig} + ''; +in + { + options = { + services.selfoss = { + enable = mkEnableOption "selfoss"; + + user = mkOption { + type = types.str; + default = "nginx"; + example = "nginx"; + description = '' + User account under which both the service and the web-application run. + ''; + }; + + pool = mkOption { + type = types.str; + default = "${poolName}"; + description = '' + Name of existing phpfpm pool that is used to run web-application. + If not specified a pool will be created automatically with + default values. + ''; + }; + + database = { + type = mkOption { + type = types.enum ["pgsql" "mysql" "sqlite"]; + default = "sqlite"; + description = '' + Database to store feeds. Supported are sqlite, pgsql and mysql. + ''; + }; + + host = mkOption { + type = types.str; + default = "localhost"; + description = '' + Host of the database (has no effect if type is "sqlite"). + ''; + }; + + name = mkOption { + type = types.str; + default = "tt_rss"; + description = '' + Name of the existing database (has no effect if type is "sqlite"). + ''; + }; + + user = mkOption { + type = types.str; + default = "tt_rss"; + description = '' + The database user. The user must exist and has access to + the specified database (has no effect if type is "sqlite"). + ''; + }; + + password = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + The database user's password (has no effect if type is "sqlite"). + ''; + }; + + port = mkOption { + type = types.nullOr types.int; + default = null; + description = '' + The database's port. If not set, the default ports will be + provided (5432 and 3306 for pgsql and mysql respectively) + (has no effect if type is "sqlite"). + ''; + }; + }; + extraConfig = mkOption { + type = types.lines; + default = ""; + description = '' + Extra configuration added to config.ini + ''; + }; + }; + }; + + config = mkIf cfg.enable { + + services.phpfpm.poolConfigs = mkIf (cfg.pool == "${poolName}") { + "${poolName}" = '' + listen = "${phpfpmSocketName}"; + listen.owner = nginx + listen.group = nginx + listen.mode = 0600 + user = nginx + pm = dynamic + pm.max_children = 75 + pm.start_servers = 10 + pm.min_spare_servers = 5 + pm.max_spare_servers = 20 + pm.max_requests = 500 + catch_workers_output = 1 + ''; + }; + + systemd.services.selfoss-config = { + serviceConfig.Type = "oneshot"; + script = '' + mkdir -m 755 -p ${dataDir} + cd ${dataDir} + + # Delete all but the "data" folder + ls | grep -v data | while read line; do rm -rf $line; done || true + + # Create the files + cp -r "${pkgs.selfoss}/"* "${dataDir}" + ln -sf "${selfoss-config}" "${dataDir}/config.ini" + chown -R "${cfg.user}" "${dataDir}" + chmod -R 755 "${dataDir}" + ''; + wantedBy = [ "multi-user.target" ]; + }; + + systemd.services.selfoss-update = { + serviceConfig = { + ExecStart = "${pkgs.php}/bin/php ${dataDir}/cliupdate.php"; + User = "${cfg.user}"; + }; + startAt = "hourly"; + after = [ "selfoss-config.service" ]; + wantedBy = [ "multi-user.target" ]; + + }; + + }; +} diff --git a/nixos/modules/services/web-apps/tt-rss.nix b/nixos/modules/services/web-apps/tt-rss.nix index b08070f1e366..5193814da725 100644 --- a/nixos/modules/services/web-apps/tt-rss.nix +++ b/nixos/modules/services/web-apps/tt-rss.nix @@ -18,7 +18,6 @@ let poolName = "tt-rss"; phpfpmSocketName = "/var/run/phpfpm/${poolName}.sock"; - virtualHostName = "tt-rss"; tt-rss-config = pkgs.writeText "config.php" '' 0 from pg_tables where tableowner = user"} \ | tail -n+3 | head -n-2 | sed -e 's/[ \n\t]*//') @@ -540,8 +531,9 @@ let else echo 'The database contains some data. Leaving it as it is.' fi; - '') + (optionalString (cfg.database.type == "mysql") '' + '') + + (optionalString (cfg.database.type == "mysql") '' exists=$(${callSql "select count(*) > 0 from information_schema.tables where table_schema = schema()"} \ | tail -n+2 | sed -e 's/[ \n\t]*//') @@ -554,7 +546,7 @@ let serviceConfig = { User = "${cfg.user}"; - ExecStart = "${pkgs.php}/bin/php /var/lib/tt-rss/update.php --daemon"; + ExecStart = "${pkgs.php}/bin/php ${cfg.root}/update.php --daemon"; StandardOutput = "syslog"; StandardError = "syslog"; PermissionsStartOnly = true; diff --git a/nixos/modules/services/web-servers/apache-httpd/default.nix b/nixos/modules/services/web-servers/apache-httpd/default.nix index 397857ea0858..dc0ca501a484 100644 --- a/nixos/modules/services/web-servers/apache-httpd/default.nix +++ b/nixos/modules/services/web-servers/apache-httpd/default.nix @@ -16,7 +16,19 @@ let phpMajorVersion = head (splitString "." php.version); - getPort = cfg: if cfg.port != 0 then cfg.port else if cfg.enableSSL then 443 else 80; + mod_perl = pkgs.mod_perl.override { apacheHttpd = httpd; }; + + defaultListen = cfg: if cfg.enableSSL + then [{ip = "*"; port = 443;}] + else [{ip = "*"; port = 80;}]; + + getListen = cfg: + let list = (lib.optional (cfg.port != 0) {ip = "*"; port = cfg.port;}) ++ cfg.listen; + in if list == [] + then defaultListen cfg + else list; + + listenToString = l: "${l.ip}:${toString l.port}"; extraModules = attrByPath ["extraModules"] [] mainCfg; extraForeignModules = filter isAttrs extraModules; @@ -25,10 +37,13 @@ let makeServerInfo = cfg: { # Canonical name must not include a trailing slash. - canonicalName = - (if cfg.enableSSL then "https" else "http") + "://" + - cfg.hostName + - (if getPort cfg != (if cfg.enableSSL then 443 else 80) then ":${toString (getPort cfg)}" else ""); + canonicalNames = + let defaultPort = (head (defaultListen cfg)).port; in + map (port: + (if cfg.enableSSL then "https" else "http") + "://" + + cfg.hostName + + (if port != defaultPort then ":${toString port}" else "") + ) (map (x: x.port) (getListen cfg)); # Admin address: inherit from the main server if not specified for # a virtual host. @@ -63,6 +78,7 @@ let robotsEntries = ""; startupScript = ""; enablePHP = false; + enablePerl = false; phpOptions = ""; options = {}; documentRoot = null; @@ -224,7 +240,7 @@ let ++ (map (svc: svc.robotsEntries) subservices))); in '' - ServerName ${serverInfo.canonicalName} + ${concatStringsSep "\n" (map (n: "ServerName ${n}") serverInfo.canonicalNames)} ${concatMapStrings (alias: "ServerAlias ${alias}\n") cfg.serverAliases} @@ -326,9 +342,10 @@ let ${let - ports = map getPort allHosts; - uniquePorts = uniqList {inputList = ports;}; - in concatMapStrings (port: "Listen ${toString port}\n") uniquePorts + listen = concatMap getListen allHosts; + toStr = listen: "Listen ${listenToString listen}\n"; + uniqueListen = uniqList {inputList = map toStr listen;}; + in concatStrings uniqueListen } User ${mainCfg.user} @@ -341,6 +358,7 @@ let ++ map (name: {inherit name; path = "${httpd}/modules/mod_${name}.so";}) apacheModules ++ optional mainCfg.enableMellon { name = "auth_mellon"; path = "${pkgs.apacheHttpdPackages.mod_auth_mellon}/modules/mod_auth_mellon.so"; } ++ optional enablePHP { name = "php${phpMajorVersion}"; path = "${php}/modules/libphp${phpMajorVersion}.so"; } + ++ optional enablePerl { name = "perl"; path = "${mod_perl}/modules/mod_perl.so"; } ++ concatMap (svc: svc.extraModules) allSubservices ++ extraForeignModules; in concatMapStrings load allModules @@ -382,15 +400,15 @@ let # Always enable virtual hosts; it doesn't seem to hurt. ${let - ports = map getPort allHosts; - uniquePorts = uniqList {inputList = ports;}; - directives = concatMapStrings (port: "NameVirtualHost *:${toString port}\n") uniquePorts; + listen = concatMap getListen allHosts; + uniqueListen = uniqList {inputList = listen;}; + directives = concatMapStrings (listen: "NameVirtualHost ${listenToString listen}\n") uniqueListen; in optionalString (!version24) directives } ${let makeVirtualHost = vhost: '' - + ${perServerConf false vhost} ''; @@ -401,6 +419,8 @@ let enablePHP = mainCfg.enablePHP || any (svc: svc.enablePHP) allSubservices; + enablePerl = mainCfg.enablePerl || any (svc: svc.enablePerl) allSubservices; + # Generate the PHP configuration file. Should probably be factored # out into a separate module. @@ -565,6 +585,12 @@ in ''; }; + enablePerl = mkOption { + type = types.bool; + default = false; + description = "Whether to enable the Perl module (mod_perl)."; + }; + phpOptions = mkOption { type = types.lines; default = ""; @@ -628,6 +654,8 @@ in message = "SSL is enabled for httpd, but sslServerCert and/or sslServerKey haven't been specified."; } ]; + warnings = map (cfg: ''apache-httpd's port option is deprecated. Use listen = [{/*ip = "*"; */ port = ${toString cfg.port}";}]; instead'' ) (lib.filter (cfg: cfg.port != 0) allHosts); + users.extraUsers = optionalAttrs (mainCfg.user == "wwwrun") (singleton { name = "wwwrun"; group = mainCfg.group; @@ -681,13 +709,6 @@ in ''} mkdir -m 0700 -p ${mainCfg.logDir} - ${optionalString (mainCfg.documentRoot != null) - '' - # Create the document root directory if does not exists yet - mkdir -p ${mainCfg.documentRoot} - '' - } - # Get rid of old semaphores. These tend to accumulate across # server restarts, eventually preventing it from restarting # successfully. @@ -712,5 +733,4 @@ in }; }; - } diff --git a/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix b/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix index b4b5a6fdc07e..1ed489bcb095 100644 --- a/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix +++ b/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix @@ -83,11 +83,11 @@ let # Unpack Mediawiki and put the config file in its root directory. mediawikiRoot = pkgs.stdenv.mkDerivation rec { - name= "mediawiki-1.23.13"; + name= "mediawiki-1.27.1"; src = pkgs.fetchurl { - url = "http://download.wikimedia.org/mediawiki/1.23/${name}.tar.gz"; - sha256 = "168wpf53n4ksj2g5q5r0hxapx6238dvsfng5ff9ixk6axsn0j5d0"; + url = "http://download.wikimedia.org/mediawiki/1.27/${name}.tar.gz"; + sha256 = "0sm3ymz93qragbwhzzbwq7f127mbj29inv0afg2z6p32jb1pd9h8"; }; skins = config.skins; @@ -288,6 +288,7 @@ in }; extraConfig = mkOption { + type = types.lines; default = ""; example = '' diff --git a/nixos/modules/services/web-servers/apache-httpd/moodle.nix b/nixos/modules/services/web-servers/apache-httpd/moodle.nix index 87b1fba5aa10..d525348d5c7e 100644 --- a/nixos/modules/services/web-servers/apache-httpd/moodle.nix +++ b/nixos/modules/services/web-servers/apache-httpd/moodle.nix @@ -63,6 +63,10 @@ let cp -r * $out cp ${moodleConfig} $out/config.php ''; + # Marked as broken due to needing an update for security issues. + # See: https://github.com/NixOS/nixpkgs/issues/18856 + meta.broken = true; + }; in @@ -160,6 +164,7 @@ in extraConfig = mkOption { + type = types.lines; default = ""; example = '' diff --git a/nixos/modules/services/web-servers/apache-httpd/per-server-options.nix b/nixos/modules/services/web-servers/apache-httpd/per-server-options.nix index 5abcc5e74900..1d53ce659005 100644 --- a/nixos/modules/services/web-servers/apache-httpd/per-server-options.nix +++ b/nixos/modules/services/web-servers/apache-httpd/per-server-options.nix @@ -28,9 +28,30 @@ with lib; type = types.int; default = 0; description = '' - Port for the server. 0 means use the default port: 80 for http - and 443 for https (i.e. when enableSSL is set). + Port for the server. Option will be removed, use instead. + ''; + }; + + listen = mkOption { + type = types.listOf (types.submodule ( + { + options = { + port = mkOption { + type = types.int; + description = "port to listen on"; + }; + ip = mkOption { + type = types.string; + default = "*"; + description = "Ip to listen on. 0.0.0.0 for ipv4 only, * for all."; + }; + }; + } )); + description = '' + List of { /* ip: "*"; */ port = 80;} to listen on ''; + + default = []; }; enableSSL = mkOption { diff --git a/nixos/modules/services/web-servers/apache-httpd/trac.nix b/nixos/modules/services/web-servers/apache-httpd/trac.nix index 3196edc2838b..35b9ab56087c 100644 --- a/nixos/modules/services/web-servers/apache-httpd/trac.nix +++ b/nixos/modules/services/web-servers/apache-httpd/trac.nix @@ -99,10 +99,9 @@ in makeSearchPathOutput "lib" "lib/${pkgs.python.libPrefix}/site-packages" [ pkgs.mod_python pkgs.pythonPackages.trac - pkgs.setuptools + pkgs.pythonPackages.setuptools pkgs.pythonPackages.genshi pkgs.pythonPackages.psycopg2 - pkgs.python.modules.sqlite3 subversion ]; }; diff --git a/nixos/modules/services/web-servers/apache-httpd/wordpress.nix b/nixos/modules/services/web-servers/apache-httpd/wordpress.nix index 937b2698ce9b..32dd4439675a 100644 --- a/nixos/modules/services/web-servers/apache-httpd/wordpress.nix +++ b/nixos/modules/services/web-servers/apache-httpd/wordpress.nix @@ -5,7 +5,8 @@ with lib; let - version = "4.3.1"; + # Upgrading? We have a test! nix-build ./nixos/tests/wordpress.nix + version = "4.6.1"; fullversion = "${version}"; # Our bare-bones wp-config.php file using the above settings @@ -74,7 +75,7 @@ let owner = "WordPress"; repo = "WordPress"; rev = "${fullversion}"; - sha256 = "1rk10vcv4z9p04hfzc0wkbilrgx7m9ssyr6c3w6vw3vl1bcgqxza"; + sha256 = "0n82xgjg1ry2p73hhgpslnkdzrma5n6hxxq76s7qskkzj0qjfvpn"; }; installPhase = '' mkdir -p $out @@ -98,7 +99,7 @@ let # symlink additional plugin(s) ${concatMapStrings (plugin: "ln -s ${plugin} $out/wp-content/plugins/${plugin.name}\n") (config.plugins) } - # symlink additional translation(s) + # symlink additional translation(s) mkdir -p $out/wp-content/languages ${concatMapStrings (language: "ln -s ${language}/*.mo ${language}/*.po $out/wp-content/languages/\n") (selectedLanguages) } ''; @@ -123,7 +124,7 @@ in options = { dbHost = mkOption { default = "localhost"; - description = "The location of the database server."; + description = "The location of the database server."; example = "localhost"; }; dbName = mkOption { @@ -211,6 +212,7 @@ in example = "[ \"en_GB\" \"de_DE\" ];"; }; extraConfig = mkOption { + type = types.lines; default = ""; example = '' @@ -244,7 +246,6 @@ in chown ${serverInfo.serverConfig.user} ${config.wordpressUploads} # we should use systemd dependencies here - #waitForUnit("network-interfaces.target"); if [ ! -d ${serverInfo.fullConfig.services.mysql.dataDir}/${config.dbName} ]; then echo "Need to create the database '${config.dbName}' and grant permissions to user named '${config.dbUser}'." # Wait until MySQL is up @@ -253,7 +254,7 @@ in done ${pkgs.mysql}/bin/mysql -e 'CREATE DATABASE ${config.dbName};' ${pkgs.mysql}/bin/mysql -e 'GRANT ALL ON ${config.dbName}.* TO ${config.dbUser}@localhost IDENTIFIED BY "${config.dbPassword}";' - else + else echo "Good, no need to do anything database related." fi ''; diff --git a/nixos/modules/services/web-servers/fcgiwrap.nix b/nixos/modules/services/web-servers/fcgiwrap.nix index 2c5e433003c8..a64a187255a4 100644 --- a/nixos/modules/services/web-servers/fcgiwrap.nix +++ b/nixos/modules/services/web-servers/fcgiwrap.nix @@ -21,7 +21,7 @@ in { }; socketType = mkOption { - type = types.addCheck types.str (t: t == "unix" || t == "tcp" || t == "tcp6"); + type = types.enum [ "unix" "tcp" "tcp6" ]; default = "unix"; description = "Socket type: 'unix', 'tcp' or 'tcp6'."; }; diff --git a/nixos/modules/services/web-servers/lighttpd/inginious.nix b/nixos/modules/services/web-servers/lighttpd/inginious.nix index 43deccb6aef8..669e81d0f14b 100644 --- a/nixos/modules/services/web-servers/lighttpd/inginious.nix +++ b/nixos/modules/services/web-servers/lighttpd/inginious.nix @@ -191,9 +191,8 @@ in virtualisation.docker = { enable = true; # We need docker to listen on port 2375. - extraOptions = "-H tcp://127.0.0.1:2375 -H unix:///var/run/docker.sock"; + listenOptions = ["127.0.0.1:2375" "/var/run/docker.sock"]; storageDriver = mkDefault "overlay"; - socketActivation = false; }; users.extraUsers."lighttpd".extraGroups = [ "docker" ]; diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix index 6e62606f323e..68a672c42c90 100644 --- a/nixos/modules/services/web-servers/nginx/default.nix +++ b/nixos/modules/services/web-servers/nginx/default.nix @@ -10,6 +10,7 @@ let sslCertificateKey = "/var/lib/acme/${vhostName}/key.pem"; }) ) cfg.virtualHosts; + enableIPv6 = config.networking.enableIPv6; configFile = pkgs.writeText "nginx.conf" '' user ${cfg.user} ${cfg.group}; @@ -18,9 +19,13 @@ let ${cfg.config} - ${optionalString (cfg.httpConfig == "" && cfg.config == "") '' - events {} + ${optionalString (cfg.eventsConfig != "" || cfg.config == "") '' + events { + ${cfg.eventsConfig} + } + ''} + ${optionalString (cfg.httpConfig == "" && cfg.config == "") '' http { include ${cfg.package}/conf/mime.types; include ${cfg.package}/conf/fastcgi.conf; @@ -80,7 +85,7 @@ let ${optionalString cfg.statusPage '' server { listen 80; - listen [::]:80; + ${optionalString enableIPv6 "listen [::]:80;" } server_name localhost; @@ -88,7 +93,7 @@ let stub_status on; access_log off; allow 127.0.0.1; - allow ::1; + ${optionalString enableIPv6 "allow ::1;"} deny all; } } @@ -98,7 +103,6 @@ let }''} ${optionalString (cfg.httpConfig != "") '' - events {} http { include ${cfg.package}/conf/mime.types; include ${cfg.package}/conf/fastcgi.conf; @@ -113,35 +117,38 @@ let ssl = vhost.enableSSL || vhost.forceSSL; port = if vhost.port != null then vhost.port else (if ssl then 443 else 80); listenString = toString port + optionalString ssl " ssl http2" - + optionalString vhost.default " default"; - acmeLocation = optionalString vhost.enableACME '' + + optionalString vhost.default " default_server"; + acmeLocation = optionalString vhost.enableACME ('' location /.well-known/acme-challenge { - try_files $uri @acme-fallback; + ${optionalString (vhost.acmeFallbackHost != null) "try_files $uri @acme-fallback;"} root ${vhost.acmeRoot}; auth_basic off; } + '' + (optionalString (vhost.acmeFallbackHost != null) '' location @acme-fallback { auth_basic off; proxy_pass http://${vhost.acmeFallbackHost}; } - ''; + '')); in '' ${optionalString vhost.forceSSL '' server { - listen 80 ${optionalString vhost.default "default"}; - listen [::]:80 ${optionalString vhost.default "default"}; + listen 80 ${optionalString vhost.default "default_server"}; + ${optionalString enableIPv6 + ''listen [::]:80 ${optionalString vhost.default "default_server"};'' + } server_name ${serverName} ${concatStringsSep " " vhost.serverAliases}; ${acmeLocation} location / { - return 301 https://$host${optionalString (port != 443) ":${port}"}$request_uri; + return 301 https://$host${optionalString (port != 443) ":${toString port}"}$request_uri; } } ''} server { listen ${listenString}; - listen [::]:${listenString}; + ${optionalString enableIPv6 "listen [::]:${listenString};"} server_name ${serverName} ${concatStringsSep " " vhost.serverAliases}; ${acmeLocation} @@ -271,12 +278,20 @@ in "; }; + eventsConfig = mkOption { + type = types.lines; + default = ""; + description = '' + Configuration lines to be set inside the events block. + ''; + }; + appendHttpConfig = mkOption { type = types.lines; default = ""; description = " Configuration lines to be appended to the generated http block. - This is mutually exclusive with using config and httpConfig for + This is mutually exclusive with using config and httpConfig for specifying the whole http block verbatim. "; }; @@ -380,8 +395,13 @@ in security.acme.certs = filterAttrs (n: v: v != {}) ( mapAttrs (vhostName: vhostConfig: optionalAttrs vhostConfig.enableACME { + user = cfg.user; + group = cfg.group; webroot = vhostConfig.acmeRoot; extraDomains = genAttrs vhostConfig.serverAliases (alias: null); + postRun = '' + systemctl reload nginx + ''; } ) virtualHosts ); diff --git a/nixos/modules/services/web-servers/nginx/vhost-options.nix b/nixos/modules/services/web-servers/nginx/vhost-options.nix index ee3f68bf8059..dcebbc9229fc 100644 --- a/nixos/modules/services/web-servers/nginx/vhost-options.nix +++ b/nixos/modules/services/web-servers/nginx/vhost-options.nix @@ -39,8 +39,8 @@ with lib; }; acmeFallbackHost = mkOption { - type = types.str; - default = "0.0.0.0"; + type = types.nullOr types.str; + default = null; description = '' Host which to proxy requests to if acme challenge is not found. Useful if you want multiple hosts to be able to verify the same domain name. diff --git a/nixos/modules/services/web-servers/phpfpm/default.nix b/nixos/modules/services/web-servers/phpfpm/default.nix index 29cfbb8e9a08..ed537e7122a2 100644 --- a/nixos/modules/services/web-servers/phpfpm/default.nix +++ b/nixos/modules/services/web-servers/phpfpm/default.nix @@ -7,8 +7,6 @@ let stateDir = "/run/phpfpm"; - pidFile = "${stateDir}/phpfpm.pid"; - mkPool = n: p: '' [${n}] listen = ${p.listen} @@ -17,9 +15,8 @@ let cfgFile = pkgs.writeText "phpfpm.conf" '' [global] - pid = ${pidFile} error_log = syslog - daemonize = yes + daemonize = no ${cfg.extraConfig} ${concatStringsSep "\n" (mapAttrsToList mkPool cfg.pools)} @@ -42,8 +39,8 @@ in { default = ""; description = '' Extra configuration that should be put in the global section of - the PHP FPM configuration file. Do not specify the options - pid, error_log or + the PHP-FPM configuration file. Do not specify the options + error_log or daemonize here, since they are generated by NixOS. ''; @@ -54,7 +51,7 @@ in { default = pkgs.php; defaultText = "pkgs.php"; description = '' - The PHP package to use for running the FPM service. + The PHP package to use for running the PHP-FPM service. ''; }; @@ -86,7 +83,7 @@ in { } ''; description = '' - A mapping between PHP FPM pool names and their configurations. + A mapping between PHP-FPM pool names and their configurations. See the documentation on php-fpm.conf for details on configuration directives. If no pools are defined, the phpfpm service is disabled. @@ -98,8 +95,24 @@ in { inherit lib; })); default = {}; + example = literalExample '' + { + mypool = { + listen = "/path/to/unix/socket"; + extraConfig = ''' + user = nobody + pm = dynamic + pm.max_children = 75 + pm.start_servers = 10 + pm.min_spare_servers = 5 + pm.max_spare_servers = 20 + pm.max_requests = 500 + '''; + } + }''; description = '' - If no pools are defined, the phpfpm service is disabled. + PHP-FPM pools. If no pools or poolConfigs are defined, the PHP-FPM + service is disabled. ''; }; }; @@ -113,10 +126,10 @@ in { mkdir -p "${stateDir}" ''; serviceConfig = { + Type = "notify"; ExecStart = "${cfg.phpPackage}/bin/php-fpm -y ${cfgFile} -c ${phpIni}"; - PIDFile = pidFile; + ExecReload = "${pkgs.coreutils}/bin/kill -USR2 $MAINPID"; }; }; - }; } diff --git a/nixos/modules/services/web-servers/tomcat.nix b/nixos/modules/services/web-servers/tomcat.nix index c3be20b41e29..943415e08c64 100644 --- a/nixos/modules/services/web-servers/tomcat.nix +++ b/nixos/modules/services/web-servers/tomcat.nix @@ -10,6 +10,10 @@ in { + meta = { + maintainers = with maintainers; [ danbst ]; + }; + ###### interface options = { @@ -23,9 +27,9 @@ in package = mkOption { type = types.package; - default = pkgs.tomcat7; - defaultText = "pkgs.tomcat7"; - example = lib.literalExample "pkgs.tomcat8"; + default = pkgs.tomcat85; + defaultText = "pkgs.tomcat85"; + example = lib.literalExample "pkgs.tomcatUnstable"; description = '' Which tomcat package to use. ''; @@ -74,8 +78,8 @@ in webapps = mkOption { type = types.listOf types.package; - default = [ tomcat ]; - defaultText = "[ tomcat ]"; + default = [ tomcat.webapps ]; + defaultText = "[ tomcat.webapps ]"; description = "List containing WAR files or directories with WAR files which are web applications to be deployed on Tomcat"; }; @@ -135,7 +139,7 @@ in systemd.services.tomcat = { description = "Apache Tomcat server"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; serviceConfig.Type = "oneshot"; serviceConfig.RemainAfterExit = true; @@ -352,7 +356,7 @@ in ${pkgs.su}/bin/su -s ${pkgs.bash}/bin/sh ${cfg.user} -c 'CATALINA_BASE=${cfg.baseDir} JAVA_HOME=${cfg.jdk} JAVA_OPTS="${cfg.javaOpts}" CATALINA_OPTS="${cfg.catalinaOpts}" ${tomcat}/bin/startup.sh' ''; - postStop = '' + preStop = '' echo "Stopping tomcat..." CATALINA_BASE=${cfg.baseDir} JAVA_HOME=${cfg.jdk} ${pkgs.su}/bin/su -s ${pkgs.bash}/bin/sh ${cfg.user} -c ${tomcat}/bin/shutdown.sh ''; diff --git a/nixos/modules/services/web-servers/uwsgi.nix b/nixos/modules/services/web-servers/uwsgi.nix index 56f077e62a89..14596bb3add0 100644 --- a/nixos/modules/services/web-servers/uwsgi.nix +++ b/nixos/modules/services/web-servers/uwsgi.nix @@ -29,7 +29,6 @@ let pythonPackages = pkgs.pythonPackages.override { inherit python; - self = pythonPackages; }; penv = python.buildEnv.override { diff --git a/nixos/modules/services/web-servers/winstone.nix b/nixos/modules/services/web-servers/winstone.nix index 6dab467b35ef..064ead5ce4bb 100644 --- a/nixos/modules/services/web-servers/winstone.nix +++ b/nixos/modules/services/web-servers/winstone.nix @@ -113,8 +113,7 @@ in { options = { services.winstone = mkOption { default = {}; - type = types.attrsOf types.optionSet; - options = [ winstoneOpts ]; + type = with types; attrsOf (submodule winstoneOpts); description = '' Defines independent Winstone services, each serving one WAR-file. ''; diff --git a/nixos/modules/services/web-servers/zope2.nix b/nixos/modules/services/web-servers/zope2.nix index ef3cffd582ee..8a453e015577 100644 --- a/nixos/modules/services/web-servers/zope2.nix +++ b/nixos/modules/services/web-servers/zope2.nix @@ -74,7 +74,7 @@ in services.zope2.instances = mkOption { default = {}; - type = types.loaOf types.optionSet; + type = with types; loaOf (submodule zope2Opts); example = literalExample '' { plone01 = { @@ -96,7 +96,6 @@ in } ''; description = "zope2 instances to be created automaticaly by the system."; - options = [ zope2Opts ]; }; }; diff --git a/nixos/modules/services/x11/compton.nix b/nixos/modules/services/x11/compton.nix index bda4eec01026..7cbca1dcddfd 100644 --- a/nixos/modules/services/x11/compton.nix +++ b/nixos/modules/services/x11/compton.nix @@ -188,6 +188,7 @@ in { package = mkOption { type = types.package; default = pkgs.compton; + defaultText = "pkgs.compton"; example = literalExample "pkgs.compton"; description = '' Compton derivation to use. diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix index 1ea7b5ccf16a..144e4aada277 100644 --- a/nixos/modules/services/x11/desktop-managers/default.nix +++ b/nixos/modules/services/x11/desktop-managers/default.nix @@ -19,7 +19,8 @@ in # E.g., if KDE is enabled, it supersedes xterm. imports = [ ./none.nix ./xterm.nix ./xfce.nix ./kde4.nix ./kde5.nix - ./enlightenment.nix ./gnome3.nix ./kodi.nix + ./lumina.nix ./lxqt.nix ./enlightenment.nix ./gnome3.nix + ./kodi.nix ]; options = { diff --git a/nixos/modules/services/x11/desktop-managers/enlightenment.nix b/nixos/modules/services/x11/desktop-managers/enlightenment.nix index 90803ede9d92..9d0ff77c2ae8 100644 --- a/nixos/modules/services/x11/desktop-managers/enlightenment.nix +++ b/nixos/modules/services/x11/desktop-managers/enlightenment.nix @@ -32,10 +32,10 @@ in e.efl e.enlightenment e.terminology e.econnman pkgs.xorg.xauth # used by kdesu - pkgs.gtk # To get GTK+'s themes. + pkgs.gtk2 # To get GTK+'s themes. pkgs.tango-icon-theme pkgs.shared_mime_info - pkgs.gnome.gnomeicontheme + pkgs.gnome2.gnomeicontheme pkgs.xorg.xcursorthemes ]; diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index b3da25448029..17e84b1d9a16 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -25,9 +25,8 @@ let ''; }; - nixos-gsettings-desktop-schemas = pkgs.stdenv.mkDerivation { - name = "nixos-gsettings-desktop-schemas"; - buildCommand = '' + nixos-gsettings-desktop-schemas = pkgs.runCommand "nixos-gsettings-desktop-schemas" {} + '' mkdir -p $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas cp -rf ${gnome3.gsettings_desktop_schemas}/share/gsettings-schemas/gsettings-desktop-schemas*/glib-2.0/schemas/*.xml $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas @@ -46,7 +45,6 @@ let ${pkgs.glib.dev}/bin/glib-compile-schemas $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas/ ''; - }; in { @@ -84,7 +82,7 @@ in { environment.gnome3.packageSet = mkOption { default = null; - example = literalExample "pkgs.gnome3_20"; + example = literalExample "pkgs.gnome3_22"; description = "Which GNOME 3 package set to use."; apply = p: if p == null then pkgs.gnome3 else p; }; @@ -110,6 +108,7 @@ in { services.gnome3.gnome-documents.enable = mkDefault true; services.gnome3.gnome-keyring.enable = true; services.gnome3.gnome-online-accounts.enable = mkDefault true; + services.gnome3.gnome-terminal-server.enable = mkDefault true; services.gnome3.gnome-user-share.enable = mkDefault true; services.gnome3.gvfs.enable = true; services.gnome3.seahorse.enable = mkDefault true; @@ -124,6 +123,7 @@ in { services.packagekit.enable = mkDefault true; hardware.bluetooth.enable = mkDefault true; services.xserver.libinput.enable = mkDefault true; # for controlling touchpad settings via gnome control center + services.udev.packages = [ pkgs.gnome3.gnome_settings_daemon ]; fonts.fonts = [ pkgs.dejavu_fonts pkgs.cantarell_fonts ]; diff --git a/nixos/modules/services/x11/desktop-managers/kde4.nix b/nixos/modules/services/x11/desktop-managers/kde4.nix index 88b3c3a1016b..31d2ebcdf1a6 100644 --- a/nixos/modules/services/x11/desktop-managers/kde4.nix +++ b/nixos/modules/services/x11/desktop-managers/kde4.nix @@ -14,7 +14,7 @@ let # files), segfault sometimes and consume significant resources. # They can be re-enabled in the KDE System Settings under "Desktop # Search". - nepomukConfig = pkgs.writeTextFile + disableNepomuk = pkgs.writeTextFile { name = "nepomuk-config"; destination = "/share/config/nepomukserverrc"; text = @@ -70,6 +70,18 @@ in type = types.package; description = "Custom kde-workspace, used for NixOS rebranding."; }; + + enablePIM = mkOption { + type = types.bool; + default = true; + description = "Whether to enable PIM support. Note that enabling this pulls in Akonadi and MariaDB as dependencies."; + }; + + enableNepomuk = mkOption { + type = types.bool; + default = false; + description = "Whether to enable Nepomuk (deprecated)."; + }; }; }; @@ -138,7 +150,6 @@ in pkgs.kde4.kde_wallpapers # contains kdm's default background pkgs.kde4.oxygen_icons - pkgs.virtuoso # to enable Nepomuk to find Virtuoso # Starts KDE's Polkit authentication agent. pkgs.kde4.polkit_kde_agent @@ -149,20 +160,26 @@ in xorg.xmessage # so that startkde can show error messages xorg.xset # used by startkde, non-essential xorg.xauth # used by kdesu - pkgs.shared_desktop_ontologies # used by nepomuk - pkgs.strigi # used by nepomuk + ] + ++ optionals cfg.enablePIM + [ pkgs.kde4.kdepim_runtime pkgs.kde4.akonadi pkgs.mysql # used by akonadi - pkgs.kde4.kdepim_runtime ] - ++ lib.optional config.hardware.pulseaudio.enable pkgs.kde4.kmix # Perhaps this should always be enabled - ++ lib.optional config.hardware.bluetooth.enable pkgs.kde4.bluedevil - ++ lib.optional config.networking.networkmanager.enable pkgs.kde4.plasma-nm - ++ [ nepomukConfig ] ++ phononBackendPackages; + ++ (if cfg.enableNepomuk then + [ pkgs.shared_desktop_ontologies # used by nepomuk + pkgs.strigi # used by nepomuk + pkgs.virtuoso # to enable Nepomuk to find Virtuoso + ] else + [ disableNepomuk ]) + ++ optional config.hardware.pulseaudio.enable pkgs.kde4.kmix # Perhaps this should always be enabled + ++ optional config.hardware.bluetooth.enable pkgs.kde4.bluedevil + ++ optional config.networking.networkmanager.enable pkgs.kde4.plasma-nm + ++ phononBackendPackages; environment.pathsToLink = [ "/share" ]; - environment.profileRelativeEnvVars = mkIf (lib.elem "gstreamer" cfg.phononBackends) { + environment.profileRelativeEnvVars = mkIf (elem "gstreamer" cfg.phononBackends) { GST_PLUGIN_SYSTEM_PATH = [ "/lib/gstreamer-0.10" ]; }; diff --git a/nixos/modules/services/x11/desktop-managers/kde5.nix b/nixos/modules/services/x11/desktop-managers/kde5.nix index 7856ff03f16d..3037f949cbf7 100644 --- a/nixos/modules/services/x11/desktop-managers/kde5.nix +++ b/nixos/modules/services/x11/desktop-managers/kde5.nix @@ -22,207 +22,231 @@ in description = "Enable the Plasma 5 (KDE 5) desktop environment."; }; + enableQt4Support = mkOption { + type = types.bool; + default = true; + description = '' + Enable support for Qt 4-based applications. Particularly, install the + Qt 4 version of the Breeze theme and a default backend for Phonon. + ''; + }; + + extraPackages = mkOption { + type = types.listOf types.package; + default = []; + description = '' + KDE packages that need to be installed system-wide. + ''; + }; + }; }; - config = mkIf (xcfg.enable && cfg.enable) { + config = mkMerge [ + (mkIf (cfg.extraPackages != []) { + environment.systemPackages = [ (kde5.kdeWrapper cfg.extraPackages) ]; + }) - warnings = optional config.services.xserver.desktopManager.kde4.enable - "KDE 4 should not be enabled at the same time as KDE 5"; + (mkIf (xcfg.enable && cfg.enable) { - services.xserver.desktopManager.session = singleton { - name = "kde5"; - bgSupport = true; - start = '' - # Load PulseAudio module for routing support. - # See http://colin.guthr.ie/2009/10/so-how-does-the-kde-pulseaudio-support-work-anyway/ - ${optionalString config.hardware.pulseaudio.enable '' - ${getBin config.hardware.pulseaudio.package}/bin/pactl load-module module-device-manager "do_routing=1" - ''} + warnings = optional config.services.xserver.desktopManager.kde4.enable + "KDE 4 should not be enabled at the same time as KDE 5"; - exec "${kde5.startkde}" + services.xserver.desktopManager.session = singleton { + name = "kde5"; + bgSupport = true; + start = '' + # Load PulseAudio module for routing support. + # See http://colin.guthr.ie/2009/10/so-how-does-the-kde-pulseaudio-support-work-anyway/ + ${optionalString config.hardware.pulseaudio.enable '' + ${getBin config.hardware.pulseaudio.package}/bin/pactl load-module module-device-manager "do_routing=1" + ''} - ''; - }; + exec "${kde5.startkde}" + ''; + }; - security.permissionsWrappers.setuid = [ - { - program = "kcheckpass"; - source = "${kde5.plasma-workspace.out}/lib/libexec/kcheckpass"; - owner = "root"; - setuid = true; - } - { - program = "start_kdeinit"; - source = "${kde5.kinit.out}/lib/libexec/kf5/start_kdeinit"; - owner = "root"; - setuid = true; - } - ]; - - environment.systemPackages = - [ - kde5.frameworkintegration - kde5.kactivities - kde5.kauth - kde5.kcmutils - kde5.kconfig - kde5.kconfigwidgets - kde5.kcoreaddons - kde5.kdbusaddons - kde5.kdeclarative - kde5.kded - kde5.kdesu - kde5.kdnssd - kde5.kemoticons - kde5.kfilemetadata - kde5.kglobalaccel - kde5.kguiaddons - kde5.kiconthemes - kde5.kidletime - kde5.kimageformats - kde5.kinit - kde5.kio - kde5.kjobwidgets - kde5.knewstuff - kde5.knotifications - kde5.knotifyconfig - kde5.kpackage - kde5.kparts - kde5.kpeople - kde5.krunner - kde5.kservice - kde5.ktextwidgets - kde5.kwallet - kde5.kwayland - kde5.kwidgetsaddons - kde5.kxmlgui - kde5.kxmlrpcclient - kde5.plasma-framework - kde5.solid - kde5.sonnet - kde5.threadweaver - - kde5.breeze - kde5.kactivitymanagerd - kde5.kde-cli-tools - kde5.kdecoration - kde5.kdeplasma-addons - kde5.kgamma5 - kde5.khelpcenter - kde5.khotkeys - kde5.kinfocenter - kde5.kmenuedit - kde5.kscreen - kde5.kscreenlocker - kde5.ksysguard - kde5.kwayland - kde5.kwin - kde5.kwrited - kde5.libkscreen - kde5.libksysguard - kde5.milou - kde5.oxygen - kde5.plasma-integration - kde5.polkit-kde-agent - kde5.systemsettings - - kde5.plasma-desktop - kde5.plasma-workspace - kde5.plasma-workspace-wallpapers - - kde5.dolphin - kde5.dolphin-plugins - kde5.ffmpegthumbs - kde5.kdegraphics-thumbnailers - kde5.kio-extras - kde5.konsole - kde5.print-manager - - # Oxygen icons moved to KDE Frameworks 5.16 and later. - (kde5.oxygen-icons or kde5.oxygen-icons5) - pkgs.hicolor_icon_theme - - kde5.kde-gtk-config - - pkgs.phonon-backend-gstreamer - pkgs.qt5.phonon-backend-gstreamer - ] - - # Plasma 5.5 and later has a Breeze GTK theme. - # If it is not available, Orion is very similar to Breeze. - ++ lib.optional (!(lib.hasAttr "breeze-gtk" kde5)) pkgs.orion - - # Install Breeze icons if available - ++ lib.optional (lib.hasAttr "breeze-icons" kde5) kde5.breeze-icons - - # Install activity manager if available - ++ lib.optional (lib.hasAttr "kactivitymanagerd" kde5) kde5.kactivitymanagerd - - # frameworkintegration was split with plasma-integration in Plasma 5.6 - ++ lib.optional (lib.hasAttr "plasma-integration" kde5) kde5.plasma-integration - - # Optional hardware support features - ++ lib.optional config.hardware.bluetooth.enable kde5.bluedevil - ++ lib.optional config.networking.networkmanager.enable kde5.plasma-nm - ++ lib.optional config.hardware.pulseaudio.enable kde5.plasma-pa - ++ lib.optional config.powerManagement.enable kde5.powerdevil - ++ lib.optional config.services.colord.enable pkgs.colord-kde - ++ lib.optionals config.services.samba.enable [ kde5.kdenetwork-filesharing pkgs.samba ]; - - environment.pathsToLink = [ "/share" ]; - - environment.etc = singleton { - source = "${pkgs.xkeyboard_config}/etc/X11/xkb"; - target = "X11/xkb"; - }; - - # Enable GTK applications to load SVG icons - environment.variables = - { - GST_PLUGIN_SYSTEM_PATH_1_0 = - lib.makeSearchPath "/lib/gstreamer-1.0" - (builtins.map (pkg: pkg.out) (with pkgs.gst_all_1; [ - gstreamer - gst-plugins-base - gst-plugins-good - gst-plugins-ugly - gst-plugins-bad - gst-libav # for mp3 playback - ])); - } - // (if (lib.hasAttr "breeze-icons" kde5) - then { GDK_PIXBUF_MODULE_FILE = "${pkgs.librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"; } - else { }); - - fonts.fonts = [ (kde5.oxygen-fonts or pkgs.noto-fonts) ]; - - programs.ssh.askPassword = "${kde5.ksshaskpass.out}/bin/ksshaskpass"; - - # Enable helpful DBus services. - services.udisks2.enable = true; - services.upower.enable = config.powerManagement.enable; - - # Extra UDEV rules used by Solid - services.udev.packages = [ - pkgs.libmtp - pkgs.media-player-info - ]; - - services.xserver.displayManager.sddm = { - theme = "breeze"; - themes = [ - kde5.ecm # for the setup-hook - kde5.plasma-workspace - kde5.breeze-icons - (kde5.oxygen-icons or kde5.oxygen-icons5) + security.permissionsWrappers.setuid = [ + { + program = "kcheckpass"; + source = "${kde5.plasma-workspace.out}/lib/libexec/kcheckpass"; + owner = "root"; + setuid = true; + } + { + program = "start_kdeinit"; + source = "${kde5.kinit.out}/lib/libexec/kf5/start_kdeinit"; + owner = "root"; + setuid = true; + } ]; - }; - security.pam.services.kde = { allowNullPassword = true; }; + environment.systemPackages = + [ + kde5.frameworkintegration + kde5.kactivities + kde5.kauth + kde5.kcmutils + kde5.kconfig + kde5.kconfigwidgets + kde5.kcoreaddons + kde5.kdbusaddons + kde5.kdeclarative + kde5.kded + kde5.kdesu + kde5.kdnssd + kde5.kemoticons + kde5.kfilemetadata + kde5.kglobalaccel + kde5.kguiaddons + kde5.kiconthemes + kde5.kidletime + kde5.kimageformats + kde5.kinit + kde5.kio + kde5.kjobwidgets + kde5.knewstuff + kde5.knotifications + kde5.knotifyconfig + kde5.kpackage + kde5.kparts + kde5.kpeople + kde5.krunner + kde5.kservice + kde5.ktextwidgets + kde5.kwallet + kde5.kwayland + kde5.kwidgetsaddons + kde5.kxmlgui + kde5.kxmlrpcclient + kde5.plasma-framework + kde5.solid + kde5.sonnet + kde5.threadweaver - }; + kde5.breeze-qt5 + kde5.kactivitymanagerd + kde5.kde-cli-tools + kde5.kdecoration + kde5.kdeplasma-addons + kde5.kgamma5 + kde5.khotkeys + kde5.kinfocenter + kde5.kmenuedit + kde5.kscreen + kde5.kscreenlocker + kde5.ksysguard + kde5.kwayland + kde5.kwin + kde5.kwrited + kde5.libkscreen + kde5.libksysguard + kde5.milou + kde5.plasma-integration + kde5.polkit-kde-agent + kde5.systemsettings + + kde5.plasma-desktop + kde5.plasma-workspace + kde5.plasma-workspace-wallpapers + + kde5.dolphin-plugins + kde5.ffmpegthumbs + kde5.kdegraphics-thumbnailers + kde5.kio-extras + kde5.print-manager + + # Install Breeze icons if available + (kde5.breeze-icons or kde5.oxygen-icons5 or kde5.oxygen-icons) + pkgs.hicolor_icon_theme + + kde5.kde-gtk-config kde5.breeze-gtk + + pkgs.qt5.phonon-backend-gstreamer + ] + + # Plasma 5.5 and later has a Breeze GTK theme. + # If it is not available, Orion is very similar to Breeze. + ++ lib.optional (!(lib.hasAttr "breeze-gtk" kde5)) pkgs.orion + + # Install activity manager if available + ++ lib.optional (lib.hasAttr "kactivitymanagerd" kde5) kde5.kactivitymanagerd + + # frameworkintegration was split with plasma-integration in Plasma 5.6 + ++ lib.optional (lib.hasAttr "plasma-integration" kde5) kde5.plasma-integration + + ++ lib.optionals cfg.enableQt4Support [ kde5.breeze-qt4 pkgs.phonon-backend-gstreamer ] + + # Optional hardware support features + ++ lib.optional config.hardware.bluetooth.enable kde5.bluedevil + ++ lib.optional config.networking.networkmanager.enable kde5.plasma-nm + ++ lib.optional config.hardware.pulseaudio.enable kde5.plasma-pa + ++ lib.optional config.powerManagement.enable kde5.powerdevil + ++ lib.optional config.services.colord.enable pkgs.colord-kde + ++ lib.optionals config.services.samba.enable [ kde5.kdenetwork-filesharing pkgs.samba ]; + + services.xserver.desktopManager.kde5.extraPackages = + [ + kde5.khelpcenter + kde5.oxygen + + kde5.dolphin + kde5.konsole + ]; + + environment.pathsToLink = [ "/share" ]; + + environment.etc = singleton { + source = "${pkgs.xkeyboard_config}/etc/X11/xkb"; + target = "X11/xkb"; + }; + + environment.variables = + { + # Enable GTK applications to load SVG icons + GST_PLUGIN_SYSTEM_PATH_1_0 = + lib.makeSearchPath "/lib/gstreamer-1.0" + (builtins.map (pkg: pkg.out) (with pkgs.gst_all_1; [ + gstreamer + gst-plugins-base + gst-plugins-good + gst-plugins-ugly + gst-plugins-bad + gst-libav # for mp3 playback + ])); + } + // (if (lib.hasAttr "breeze-icons" kde5) + then { GDK_PIXBUF_MODULE_FILE = "${pkgs.librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"; } + else { }); + + fonts.fonts = [ (kde5.oxygen-fonts or pkgs.noto-fonts) ]; + + programs.ssh.askPassword = "${kde5.ksshaskpass.out}/bin/ksshaskpass"; + + # Enable helpful DBus services. + services.udisks2.enable = true; + services.upower.enable = config.powerManagement.enable; + + # Extra UDEV rules used by Solid + services.udev.packages = [ + pkgs.libmtp + pkgs.media-player-info + ]; + + services.xserver.displayManager.sddm = { + theme = "breeze"; + themes = [ + kde5.ecm # for the setup-hook + kde5.plasma-workspace + kde5.breeze-icons + ]; + }; + + security.pam.services.kde = { allowNullPassword = true; }; + + }) + ]; } diff --git a/nixos/modules/services/x11/desktop-managers/lumina.nix b/nixos/modules/services/x11/desktop-managers/lumina.nix new file mode 100644 index 000000000000..f0b31a2acb01 --- /dev/null +++ b/nixos/modules/services/x11/desktop-managers/lumina.nix @@ -0,0 +1,52 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + xcfg = config.services.xserver; + cfg = xcfg.desktopManager.lumina; + +in + +{ + options = { + + services.xserver.desktopManager.lumina.enable = mkOption { + type = types.bool; + default = false; + description = "Enable the Lumina desktop manager"; + }; + + }; + + + config = mkIf (xcfg.enable && cfg.enable) { + + services.xserver.desktopManager.session = singleton { + name = "lumina"; + start = '' + exec ${pkgs.lumina}/bin/start-lumina-desktop + ''; + }; + + environment.systemPackages = [ + pkgs.fluxbox + pkgs.kde5.kwindowsystem + pkgs.kde5.oxygen-icons5 + pkgs.lumina + pkgs.numlockx + pkgs.qt5.qtsvg + pkgs.xscreensaver + ]; + + # Link some extra directories in /run/current-system/software/share + environment.pathsToLink = [ + "/share/desktop-directories" + "/share/icons" + "/share/lumina" + "/share" + ]; + + }; +} diff --git a/nixos/modules/services/x11/desktop-managers/lxqt.nix b/nixos/modules/services/x11/desktop-managers/lxqt.nix new file mode 100644 index 000000000000..89ad2882363d --- /dev/null +++ b/nixos/modules/services/x11/desktop-managers/lxqt.nix @@ -0,0 +1,66 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + # Remove packages of ys from xs, based on their names + removePackagesByName = xs: ys: + let + pkgName = drv: (builtins.parseDrvName drv.name).name; + ysNames = map pkgName ys; + in + filter (x: !(builtins.elem (pkgName x) ysNames)) xs; + + xcfg = config.services.xserver; + cfg = xcfg.desktopManager.lxqt; + +in + +{ + options = { + + services.xserver.desktopManager.lxqt.enable = mkOption { + type = types.bool; + default = false; + description = "Enable the LXQt desktop manager"; + }; + + environment.lxqt.excludePackages = mkOption { + default = []; + example = literalExample "[ pkgs.lxqt.qterminal ]"; + type = types.listOf types.package; + description = "Which LXQt packages to exclude from the default environment"; + }; + + }; + + config = mkIf (xcfg.enable && cfg.enable) { + + services.xserver.desktopManager.session = singleton { + name = "lxqt"; + bgSupport = true; + start = '' + exec ${pkgs.lxqt.lxqt-common}/bin/startlxqt + ''; + }; + + environment.systemPackages = + pkgs.lxqt.preRequisitePackages ++ + pkgs.lxqt.corePackages ++ + (removePackagesByName + pkgs.lxqt.optionalPackages + config.environment.lxqt.excludePackages); + + # Link some extra directories in /run/current-system/software/share + environment.pathsToLink = [ + "/share/desktop-directories" + "/share/icons" + "/share/lxqt" + ]; + + environment.variables.GIO_EXTRA_MODULES = [ "${pkgs.gvfs}/lib/gio/modules" ]; + + }; + +} diff --git a/nixos/modules/services/x11/desktop-managers/xfce.nix b/nixos/modules/services/x11/desktop-managers/xfce.nix index 634d2a39576a..530468be5f96 100644 --- a/nixos/modules/services/x11/desktop-managers/xfce.nix +++ b/nixos/modules/services/x11/desktop-managers/xfce.nix @@ -69,7 +69,7 @@ in services.xserver.updateDbusEnvironment = true; environment.systemPackages = - [ pkgs.gtk # To get GTK+'s themes. + [ pkgs.gtk2.out # To get GTK+'s themes and gtk-update-icon-cache pkgs.hicolor_icon_theme pkgs.tango-icon-theme pkgs.shared_mime_info @@ -100,6 +100,7 @@ in pkgs.xfce.tumbler # found via dbus ] ++ optional config.powerManagement.enable pkgs.xfce.xfce4_power_manager + ++ optional config.networking.networkmanager.enable pkgs.networkmanagerapplet ++ optionals (!cfg.noDesktop) [ pkgs.xfce.xfce4panel pkgs.xfce.xfdesktop diff --git a/nixos/modules/services/x11/display-managers/default.nix b/nixos/modules/services/x11/display-managers/default.nix index 75d80609f73f..c0daf30d04eb 100644 --- a/nixos/modules/services/x11/display-managers/default.nix +++ b/nixos/modules/services/x11/display-managers/default.nix @@ -82,12 +82,12 @@ let # Speed up application start by 50-150ms according to # http://kdemonkey.blogspot.nl/2008/04/magic-trick.html - rm -rf $HOME/.compose-cache - mkdir $HOME/.compose-cache + rm -rf "$HOME/.compose-cache" + mkdir "$HOME/.compose-cache" # Work around KDE errors when a user first logs in and # .local/share doesn't exist yet. - mkdir -p $HOME/.local/share + mkdir -p "$HOME/.local/share" unset _DID_SYSTEMD_CAT @@ -134,13 +134,8 @@ let (*) echo "$0: Desktop manager '$desktopManager' not found.";; esac - # FIXME: gdbus should not be in glib.dev! - ${optionalString (cfg.startDbusSession && cfg.updateDbusEnvironment) '' - ${pkgs.glib.dev}/bin/gdbus call --session \ - --dest org.freedesktop.DBus --object-path /org/freedesktop/DBus \ - --method org.freedesktop.DBus.UpdateActivationEnvironment \ - "{$(env | ${pkgs.gnused}/bin/sed "s/'/\\\\'/g; s/\([^=]*\)=\(.*\)/'\1':'\2'/" \ - | ${pkgs.coreutils}/bin/paste -sd,)}" + ${optionalString cfg.updateDbusEnvironment '' + ${lib.getBin pkgs.dbus}/bin/dbus-update-activation-environment --systemd --all ''} test -n "$waitPID" && wait "$waitPID" @@ -153,7 +148,7 @@ let allowSubstitutes = false; } '' - mkdir -p $out + mkdir -p "$out" ${concatMapStrings (n: '' cat - > "$out/${n}.desktop" << EODESKTOP [Desktop Entry] @@ -192,7 +187,6 @@ in default = []; example = [ "-ac" "-logverbose" "-verbose" "-nolisten tcp" ]; description = "List of arguments for the X server."; - apply = toString; }; sessionCommands = mkOption { diff --git a/nixos/modules/services/x11/display-managers/gdm.nix b/nixos/modules/services/x11/display-managers/gdm.nix index 52847d2f8d2c..6c63fede857f 100644 --- a/nixos/modules/services/x11/display-managers/gdm.nix +++ b/nixos/modules/services/x11/display-managers/gdm.nix @@ -92,12 +92,16 @@ in users.extraGroups.gdm.gid = config.ids.gids.gdm; + # GDM needs different xserverArgs, presumable because using wayland by default. + services.xserver.tty = null; + services.xserver.display = null; + services.xserver.displayManager.job = { environment = { - GDM_X_SERVER = "${cfg.xserverBin} ${cfg.xserverArgs}"; + GDM_X_SERVER_EXTRA_ARGS = toString + (filter (arg: arg != "-terminate") cfg.xserverArgs); GDM_SESSIONS_DIR = "${cfg.session.desktops}"; - XDG_CONFIG_DIRS = "${gnome3.gnome_settings_daemon}/etc/xdg"; # Find the mouse XCURSOR_PATH = "~/.icons:${config.system.path}/share/icons"; }; @@ -108,10 +112,12 @@ in systemd.services.display-manager.wants = [ "systemd-machined.service" ]; systemd.services.display-manager.after = [ "systemd-machined.service" ]; - systemd.services.display-manager.path = [ gnome3.gnome_shell gnome3.caribou pkgs.xorg.xhost pkgs.dbus_tools ]; + systemd.services.display-manager.path = [ gnome3.gnome_session ]; services.dbus.packages = [ gdm ]; + systemd.user.services.dbus.wantedBy = [ "default.target" ]; + programs.dconf.profiles.gdm = "${gdm}/share/dconf/profile/gdm"; # Use AutomaticLogin if delay is zero, because it's immediate. diff --git a/nixos/modules/services/x11/display-managers/kdm.nix b/nixos/modules/services/x11/display-managers/kdm.nix index d9f7f8f0dfc4..04701a1640cc 100644 --- a/nixos/modules/services/x11/display-managers/kdm.nix +++ b/nixos/modules/services/x11/display-managers/kdm.nix @@ -25,7 +25,7 @@ let FailsafeClient=${pkgs.xterm}/bin/xterm [X-:*-Core] - ServerCmd=${dmcfg.xserverBin} ${dmcfg.xserverArgs} + ServerCmd=${dmcfg.xserverBin} ${toString dmcfg.xserverArgs} # KDM calls `rm' somewhere to clean up some temporary directory. SystemPath=${pkgs.coreutils}/bin # The default timeout (15) is too short in a heavily loaded boot process. @@ -54,19 +54,17 @@ let ''} ''; - kdmrc = pkgs.stdenv.mkDerivation { - name = "kdmrc"; - config = defaultConfig + cfg.extraConfig; - preferLocalBuild = true; - buildCommand = - '' - echo "$config" > $out + kdmrc = pkgs.runCommand "kdmrc" + { config = defaultConfig + cfg.extraConfig; + preferLocalBuild = true; + } + '' + echo "$config" > $out - # The default kdmrc would add "-nolisten tcp", and we already - # have that managed by nixos. Hence the grep. - cat ${kdebase_workspace}/share/config/kdm/kdmrc | grep -v nolisten >> $out - ''; - }; + # The default kdmrc would add "-nolisten tcp", and we already + # have that managed by nixos. Hence the grep. + cat ${kdebase_workspace}/share/config/kdm/kdmrc | grep -v nolisten >> $out + ''; in diff --git a/nixos/modules/services/x11/display-managers/lightdm-greeters/gtk.nix b/nixos/modules/services/x11/display-managers/lightdm-greeters/gtk.nix index 543dd628ce66..dfda90978b1e 100644 --- a/nixos/modules/services/x11/display-managers/lightdm-greeters/gtk.nix +++ b/nixos/modules/services/x11/display-managers/lightdm-greeters/gtk.nix @@ -16,11 +16,9 @@ let # The default greeter provided with this expression is the GTK greeter. # Again, we need a few things in the environment for the greeter to run with # fonts/icons. - wrappedGtkGreeter = stdenv.mkDerivation { - name = "lightdm-gtk-greeter"; - buildInputs = [ pkgs.makeWrapper ]; - - buildCommand = '' + wrappedGtkGreeter = pkgs.runCommand "lightdm-gtk-greeter" + { buildInputs = [ pkgs.makeWrapper ]; } + '' # This wrapper ensures that we actually get themes makeWrapper ${pkgs.lightdm_gtk_greeter}/sbin/lightdm-gtk-greeter \ $out/greeter \ @@ -40,7 +38,6 @@ let Type=Application EOF ''; - }; gtkGreeterConf = writeText "lightdm-gtk-greeter.conf" '' diff --git a/nixos/modules/services/x11/display-managers/lightdm.nix b/nixos/modules/services/x11/display-managers/lightdm.nix index 47786f0a4321..4afef32aaa47 100644 --- a/nixos/modules/services/x11/display-managers/lightdm.nix +++ b/nixos/modules/services/x11/display-managers/lightdm.nix @@ -23,7 +23,7 @@ let else additionalArgs="-logfile /var/log/X.$display.log" fi - exec ${dmcfg.xserverBin} ${dmcfg.xserverArgs} $additionalArgs "$@" + exec ${dmcfg.xserverBin} ${toString dmcfg.xserverArgs} $additionalArgs "$@" ''; usersConf = writeText "users.conf" @@ -46,13 +46,15 @@ let [Seat:*] xserver-command = ${xserverWrapper} session-wrapper = ${dmcfg.session.script} + ${optionalString (elem defaultSessionName dmcfg.session.names) '' + user-session = ${defaultSessionName} + ''} ${optionalString cfg.greeter.enable '' greeter-session = ${cfg.greeter.name} ''} ${optionalString cfg.autoLogin.enable '' autologin-user = ${cfg.autoLogin.user} autologin-user-timeout = ${toString cfg.autoLogin.timeout} - autologin-session = ${defaultSessionName} ''} ${cfg.extraSeatDefaults} ''; @@ -205,6 +207,9 @@ in services.dbus.enable = true; services.dbus.packages = [ lightdm ]; + # lightdm uses the accounts daemon to rember language/window-manager per user + services.accounts-daemon.enable = true; + security.pam.services.lightdm = { allowNullPassword = true; startSession = true; diff --git a/nixos/modules/services/x11/display-managers/sddm.nix b/nixos/modules/services/x11/display-managers/sddm.nix index 16d1e89e8d96..6630b8257e4e 100644 --- a/nixos/modules/services/x11/display-managers/sddm.nix +++ b/nixos/modules/services/x11/display-managers/sddm.nix @@ -14,7 +14,7 @@ let xserverWrapper = pkgs.writeScript "xserver-wrapper" '' #!/bin/sh ${concatMapStrings (n: "export ${n}=\"${getAttr n xEnv}\"\n") (attrNames xEnv)} - exec ${dmcfg.xserverBin} ${dmcfg.xserverArgs} "$@" + exec systemd-cat ${dmcfg.xserverBin} ${toString dmcfg.xserverArgs} "$@" ''; Xsetup = pkgs.writeScript "Xsetup" '' @@ -27,7 +27,6 @@ let ${cfg.stopScript} ''; - cfgFile = pkgs.writeText "sddm.conf" '' [General] HaltCommand=${pkgs.systemd}/bin/systemctl poweroff @@ -46,8 +45,8 @@ let HideUsers=${concatStringsSep "," dmcfg.hiddenUsers} HideShells=/run/current-system/sw/bin/nologin - [XDisplay] - MinimumVT=${toString xcfg.tty} + [X11] + MinimumVT=${toString (if xcfg.tty != null then xcfg.tty else 7)} ServerPath=${xserverWrapper} XephyrPath=${pkgs.xorg.xorgserver.out}/bin/Xephyr SessionCommand=${dmcfg.session.script} @@ -86,7 +85,7 @@ in }; extraConfig = mkOption { - type = types.str; + type = types.lines; default = ""; example = '' [Autologin] @@ -100,7 +99,7 @@ in theme = mkOption { type = types.str; - default = "maui"; + default = ""; description = '' Greeter theme to use. ''; @@ -254,5 +253,10 @@ in users.extraGroups.sddm.gid = config.ids.gids.sddm; + services.dbus.packages = [ sddm.unwrapped ]; + + # To enable user switching, allow sddm to allocate TTYs/displays dynamically. + services.xserver.tty = null; + services.xserver.display = null; }; } diff --git a/nixos/modules/services/x11/display-managers/slim.nix b/nixos/modules/services/x11/display-managers/slim.nix index ce44c9f54a31..68acde85b5dc 100644 --- a/nixos/modules/services/x11/display-managers/slim.nix +++ b/nixos/modules/services/x11/display-managers/slim.nix @@ -12,7 +12,7 @@ let '' xauth_path ${dmcfg.xauthBin} default_xserver ${dmcfg.xserverBin} - xserver_arguments ${dmcfg.xserverArgs} + xserver_arguments ${toString dmcfg.xserverArgs} sessiondir ${dmcfg.session.desktops} login_cmd exec ${pkgs.stdenv.shell} ${dmcfg.session.script} "%session" halt_cmd ${config.systemd.package}/sbin/shutdown -h now @@ -26,15 +26,13 @@ let # Unpack the SLiM theme, or use the default. slimThemesDir = let - unpackedTheme = pkgs.stdenv.mkDerivation { - name = "slim-theme"; - buildCommand = '' + unpackedTheme = pkgs.runCommand "slim-theme" {} + '' mkdir -p $out cd $out unpackFile ${cfg.theme} ln -s * default ''; - }; in if cfg.theme == null then "${pkgs.slim}/share/slim/themes" else unpackedTheme; in diff --git a/nixos/modules/services/x11/hardware/synaptics.nix b/nixos/modules/services/x11/hardware/synaptics.nix index 5c068e89dd71..2a7f4e5cbcd1 100644 --- a/nixos/modules/services/x11/hardware/synaptics.nix +++ b/nixos/modules/services/x11/hardware/synaptics.nix @@ -19,7 +19,7 @@ let cfg = config.services.xserver.synaptics; Option "TapButton3" "0" ''; pkg = pkgs.xorg.xf86inputsynaptics; - etcFile = "X11/xorg.conf.d/50-synaptics.conf"; + etcFile = "X11/xorg.conf.d/70-synaptics.conf"; in { options = { @@ -172,7 +172,7 @@ in { services.xserver.modules = [ pkg.out ]; environment.etc."${etcFile}".source = - "${pkg.out}/share/X11/xorg.conf.d/50-synaptics.conf"; + "${pkg.out}/share/X11/xorg.conf.d/70-synaptics.conf"; environment.systemPackages = [ pkg ]; diff --git a/nixos/modules/services/x11/hardware/wacom.nix b/nixos/modules/services/x11/hardware/wacom.nix index 540ed168b489..a27889c36a70 100644 --- a/nixos/modules/services/x11/hardware/wacom.nix +++ b/nixos/modules/services/x11/hardware/wacom.nix @@ -22,7 +22,7 @@ in which will make Xorg reconfigure the device ? If you're not satisfied by the default behaviour you can override - in + in configuration.nix easily. ''; }; @@ -40,7 +40,7 @@ in services.udev.packages = [ pkgs.xf86_input_wacom ]; - environment.etc."X11/xorg.conf.d/50-wacom.conf".source = "${pkgs.xf86_input_wacom}/share/X11/xorg.conf.d/50-wacom.conf"; + environment.etc."X11/xorg.conf.d/70-wacom.conf".source = "${pkgs.xf86_input_wacom}/share/X11/xorg.conf.d/70-wacom.conf"; }; diff --git a/nixos/modules/services/x11/unclutter-xfixes.nix b/nixos/modules/services/x11/unclutter-xfixes.nix new file mode 100644 index 000000000000..bd02c5ed9895 --- /dev/null +++ b/nixos/modules/services/x11/unclutter-xfixes.nix @@ -0,0 +1,58 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let cfg = config.services.unclutter-xfixes; + +in { + options.services.unclutter-xfixes = { + + enable = mkOption { + description = "Enable unclutter-xfixes to hide your mouse cursor when inactive."; + type = types.bool; + default = false; + example = true; + }; + + package = mkOption { + description = "unclutter-xfixes derivation to use."; + type = types.package; + default = pkgs.unclutter-xfixes; + defaultText = "pkgs.unclutter-xfixes"; + }; + + timeout = mkOption { + description = "Number of seconds before the cursor is marked inactive."; + type = types.int; + default = 1; + }; + + threshold = mkOption { + description = "Minimum number of pixels considered cursor movement."; + type = types.int; + default = 1; + }; + + extraOptions = mkOption { + description = "More arguments to pass to the unclutter-xfixes command."; + type = types.listOf types.str; + default = []; + example = [ "exclude-root" "ignore-scrolling" "fork" ]; + }; + }; + + config = mkIf cfg.enable { + systemd.user.services.unclutter-xfixes = { + description = "unclutter-xfixes"; + wantedBy = [ "graphical.target" ]; + serviceConfig.ExecStart = '' + ${cfg.package}/bin/unclutter \ + --timeout ${toString cfg.timeout} \ + --jitter ${toString (cfg.threshold - 1)} \ + ${concatMapStrings (x: " --"+x) cfg.extraOptions} \ + ''; + serviceConfig.RestartSec = 3; + serviceConfig.Restart = "always"; + }; + }; +} diff --git a/nixos/modules/services/x11/urxvtd.nix b/nixos/modules/services/x11/urxvtd.nix new file mode 100644 index 000000000000..be36efaa5897 --- /dev/null +++ b/nixos/modules/services/x11/urxvtd.nix @@ -0,0 +1,50 @@ +{ config, lib, pkgs, ... }: + +# maintainer: siddharthist + +with lib; + +let + cfg = config.services.urxvtd; +in { + + options.services.urxvtd.enable = mkOption { + type = types.bool; + default = false; + example = true; + description = '' + Enable urxvtd, the urxvt terminal daemon. To use urxvtd, run + "urxvtc". + ''; + }; + + config = mkIf cfg.enable { + systemd.user = { + sockets.urxvtd = { + description = "socket for urxvtd, the urxvt terminal daemon"; + after = [ "graphical.target" ]; + wants = [ "graphical.target" ]; + wantedBy = [ "sockets.target" ]; + socketConfig = { + ListenStream = "%t/urxvtd-socket"; + }; + }; + + services.urxvtd = { + description = "urxvt terminal daemon"; + path = [ pkgs.xsel ]; + serviceConfig = { + ExecStart = "${pkgs.rxvt_unicode-with-plugins}/bin/urxvtd -o"; + Environment = "RXVT_SOCKET=%t/urxvtd-socket"; + Restart = "on-failure"; + RestartSec = "5s"; + }; + }; + + }; + + environment.systemPackages = [ pkgs.rxvt_unicode-with-plugins ]; + environment.variables.RXVT_SOCKET = "/run/user/$(id -u)/urxvtd-socket"; + }; + +} diff --git a/nixos/modules/services/x11/window-managers/awesome.nix b/nixos/modules/services/x11/window-managers/awesome.nix index 455b3568499f..eb97449c6bd9 100644 --- a/nixos/modules/services/x11/window-managers/awesome.nix +++ b/nixos/modules/services/x11/window-managers/awesome.nix @@ -6,7 +6,7 @@ let cfg = config.services.xserver.windowManager.awesome; awesome = cfg.package; - + inherit (pkgs.luaPackages) getLuaPath getLuaCPath; in { @@ -46,10 +46,8 @@ in { name = "awesome"; start = '' - ${concatMapStrings (pkg: '' - export LUA_CPATH=$LUA_CPATH''${LUA_CPATH:+;}${pkg}/lib/lua/${awesome.lua.luaversion}/?.so - export LUA_PATH=$LUA_PATH''${LUA_PATH:+;}${pkg}/lib/lua/${awesome.lua.luaversion}/?.lua - '') cfg.luaModules} + export LUA_CPATH="${lib.concatStringsSep ";" (map getLuaCPath cfg.luaModules)}" + export LUA_PATH="${lib.concatStringsSep ";" (map getLuaPath cfg.luaModules)}" ${awesome}/bin/awesome & waitPID=$! @@ -59,5 +57,4 @@ in environment.systemPackages = [ awesome ]; }; - } diff --git a/nixos/modules/services/x11/window-managers/bspwm.nix b/nixos/modules/services/x11/window-managers/bspwm.nix index 03a1b7a72e88..6783ac3479e6 100644 --- a/nixos/modules/services/x11/window-managers/bspwm.nix +++ b/nixos/modules/services/x11/window-managers/bspwm.nix @@ -9,40 +9,69 @@ in { options = { services.xserver.windowManager.bspwm = { - enable = mkEnableOption "bspwm"; - startThroughSession = mkOption { - type = with types; bool; - default = false; - description = " - Start the window manager through the script defined in - sessionScript. Defaults to the the bspwm-session script - provided by bspwm - "; - }; - sessionScript = mkOption { - default = "${pkgs.bspwm}/bin/bspwm-session"; - defaultText = "(pkgs.bspwm)/bin/bspwm-session"; - description = " - The start-session script to use. Defaults to the - provided bspwm-session script from the bspwm package. + enable = mkEnableOption "bspwm"; - Does nothing unless `bspwm.startThroughSession` is enabled - "; + package = mkOption { + type = types.package; + default = pkgs.bspwm; + defaultText = "pkgs.bspwm"; + example = "pkgs.bspwm-unstable"; + description = '' + bspwm package to use. + ''; + }; + configFile = mkOption { + type = with types; nullOr path; + example = "${pkgs.bspwm}/share/doc/bspwm/examples/bspwmrc"; + default = null; + description = '' + Path to the bspwm configuration file. + If null, $HOME/.config/bspwm/bspwmrc will be used. + ''; + }; + + sxhkd = { + package = mkOption { + type = types.package; + default = pkgs.sxhkd; + defaultText = "pkgs.sxhkd"; + example = "pkgs.sxhkd-unstable"; + description = '' + sxhkd package to use. + ''; }; + configFile = mkOption { + type = with types; nullOr path; + example = "${pkgs.bspwm}/share/doc/bspwm/examples/sxhkdrc"; + default = null; + description = '' + Path to the sxhkd configuration file. + If null, $HOME/.config/sxhkd/sxhkdrc will be used. + ''; + }; + }; }; }; config = mkIf cfg.enable { services.xserver.windowManager.session = singleton { - name = "bspwm"; - start = if cfg.startThroughSession - then cfg.sessionScript - else '' - export _JAVA_AWT_WM_NONREPARENTING=1 - SXHKD_SHELL=/bin/sh ${pkgs.sxhkd}/bin/sxhkd -f 100 & - ${pkgs.bspwm}/bin/bspwm - ''; + name = "bspwm"; + start = '' + export _JAVA_AWT_WM_NONREPARENTING=1 + SXHKD_SHELL=/bin/sh ${cfg.sxhkd.package}/bin/sxhkd ${optionalString (cfg.sxhkd.configFile != null) "-c \"${cfg.sxhkd.configFile}\""} & + ${cfg.package}/bin/bspwm ${optionalString (cfg.configFile != null) "-c \"${cfg.configFile}\""} + waitPID=$! + ''; }; - environment.systemPackages = [ pkgs.bspwm ]; + environment.systemPackages = [ cfg.package ]; }; + + imports = [ + (mkRemovedOptionModule [ "services" "xserver" "windowManager" "bspwm-unstable" "enable" ] + "Use services.xserver.windowManager.bspwm.enable and set services.xserver.windowManager.bspwm.package to pkgs.bspwm-unstable to use the unstable version of bspwm.") + (mkRemovedOptionModule [ "services" "xserver" "windowManager" "bspwm" "startThroughSession" ] + "bspwm package does not provide bspwm-session anymore.") + (mkRemovedOptionModule [ "services" "xserver" "windowManager" "bspwm" "sessionScript" ] + "bspwm package does not provide bspwm-session anymore.") + ]; } diff --git a/nixos/modules/services/x11/window-managers/i3.nix b/nixos/modules/services/x11/window-managers/i3.nix index cfe9439b688c..f9c75e80db41 100644 --- a/nixos/modules/services/x11/window-managers/i3.nix +++ b/nixos/modules/services/x11/window-managers/i3.nix @@ -3,52 +3,58 @@ with lib; let - wmCfg = config.services.xserver.windowManager; + cfg = config.services.xserver.windowManager.i3; +in + +{ + options.services.xserver.windowManager.i3 = { + enable = mkEnableOption "i3 window manager"; - i3option = name: { - enable = mkEnableOption name; configFile = mkOption { - default = null; - type = types.nullOr types.path; + default = null; + type = with types; nullOr path; description = '' Path to the i3 configuration file. If left at the default value, $HOME/.i3/config will be used. ''; }; + extraSessionCommands = mkOption { - default = ""; - type = types.lines; + default = ""; + type = types.lines; description = '' Shell commands executed just before i3 is started. ''; }; + + package = mkOption { + type = types.package; + default = pkgs.i3; + defaultText = "pkgs.i3"; + example = "pkgs.i3-gaps"; + description = '' + i3 package to use. + ''; + }; }; - i3config = name: pkg: cfg: { + config = mkIf cfg.enable { services.xserver.windowManager.session = [{ - inherit name; + name = "i3"; start = '' ${cfg.extraSessionCommands} - ${pkg}/bin/i3 ${optionalString (cfg.configFile != null) + ${cfg.package}/bin/i3 ${optionalString (cfg.configFile != null) "-c \"${cfg.configFile}\"" } & waitPID=$! ''; }]; - environment.systemPackages = [ pkg ]; + environment.systemPackages = [ cfg.package ]; }; -in - -{ - options.services.xserver.windowManager = { - i3 = i3option "i3"; - i3-gaps = i3option "i3-gaps"; - }; - - config = mkMerge [ - (mkIf wmCfg.i3.enable (i3config "i3" pkgs.i3 wmCfg.i3)) - (mkIf wmCfg.i3-gaps.enable (i3config "i3-gaps" pkgs.i3-gaps wmCfg.i3-gaps)) + imports = [ + (mkRemovedOptionModule [ "services" "xserver" "windowManager" "i3-gaps" "enable" ] + "Use services.xserver.windowManager.i3.enable and set services.xserver.windowManager.i3.package to pkgs.i3-gaps to use i3-gaps.") ]; } diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix index b03f70385b1f..f5ed52338182 100644 --- a/nixos/modules/services/x11/xserver.nix +++ b/nixos/modules/services/x11/xserver.nix @@ -71,15 +71,11 @@ let monitors = reverseList (foldl mkMonitor [] xrandrHeads); in concatMapStrings (getAttr "value") monitors; - configFile = pkgs.stdenv.mkDerivation { - name = "xserver.conf"; - - xfs = optionalString (cfg.useXFS != false) - ''FontPath "${toString cfg.useXFS}"''; - - inherit (cfg) config; - - buildCommand = + configFile = pkgs.runCommand "xserver.conf" + { xfs = optionalString (cfg.useXFS != false) + ''FontPath "${toString cfg.useXFS}"''; + inherit (cfg) config; + } '' echo 'Section "Files"' >> $out echo $xfs >> $out @@ -102,7 +98,6 @@ let echo "$config" >> $out ''; # */ - }; in @@ -154,6 +149,22 @@ in ''; }; + autoRepeatDelay = mkOption { + type = types.nullOr types.int; + default = null; + description = '' + Sets the autorepeat delay (length of time in milliseconds that a key must be depressed before autorepeat starts). + ''; + }; + + autoRepeatInterval = mkOption { + type = types.nullOr types.int; + default = null; + description = '' + Sets the autorepeat interval (length of time in milliseconds that should elapse between autorepeat-generated keystrokes). + ''; + }; + inputClassSections = mkOption { type = types.listOf types.lines; default = []; @@ -504,12 +515,12 @@ in { description = "X11 Server"; after = [ "systemd-udev-settle.service" "local-fs.target" "acpid.service" "systemd-logind.service" ]; + wants = [ "systemd-udev-settle.service" ]; restartIfChanged = false; environment = { - XKB_BINDIR = "${xorg.xkbcomp}/bin"; # Needed for the Xkb extension. XORG_DRI_DRIVER_PATH = "/run/opengl-driver/lib/dri"; # !!! Depends on the driver selected at runtime. LD_LIBRARY_PATH = concatStringsSep ":" ( [ "${xorg.libX11.out}/lib" "${xorg.libXext.out}/lib" "/run/opengl-driver/lib" ] @@ -529,6 +540,10 @@ in Restart = "always"; RestartSec = "200ms"; SyslogIdentifier = "display-manager"; + # Stop restarting if the display manager stops (crashes) 2 times + # in one minute. Starting X typically takes 3-4s. + StartLimitInterval = "30s"; + StartLimitBurst = "3"; }; }; @@ -541,7 +556,9 @@ in ] ++ optional (cfg.display != null) ":${toString cfg.display}" ++ optional (cfg.tty != null) "vt${toString cfg.tty}" ++ optional (cfg.dpi != null) "-dpi ${toString cfg.dpi}" - ++ optional (!cfg.enableTCP) "-nolisten tcp"; + ++ optional (!cfg.enableTCP) "-nolisten tcp" + ++ optional (cfg.autoRepeatDelay != null) "-ardelay ${toString cfg.autoRepeatDelay}" + ++ optional (cfg.autoRepeatInterval != null) "-arinterval ${toString cfg.autoRepeatInterval}"; services.xserver.modules = concatLists (catAttrs "modules" cfg.drivers) ++ @@ -654,6 +671,8 @@ in ${xrandrMonitorSections} ''; + fonts.enableDefaultFonts = mkDefault true; + }; } diff --git a/nixos/modules/system/activation/activation-script.nix b/nixos/modules/system/activation/activation-script.nix index 1c587413121e..dcf105eb7844 100644 --- a/nixos/modules/system/activation/activation-script.nix +++ b/nixos/modules/system/activation/activation-script.nix @@ -12,11 +12,13 @@ let ''; }); - path = map getBin - [ pkgs.coreutils pkgs.gnugrep pkgs.findutils - pkgs.glibc # needed for getent - pkgs.shadow - pkgs.nettools # needed for hostname + path = with pkgs; map getBin + [ coreutils + gnugrep + findutils + glibc # needed for getent + shadow + nettools # needed for hostname ]; in @@ -137,8 +139,14 @@ in mkdir -m 1777 -p /var/tmp - # Empty, read-only home directory of many system accounts. - mkdir -m 0555 -p /var/empty + # Empty, immutable home directory of many system accounts. + mkdir -p /var/empty + # Make sure it's really empty + ${pkgs.e2fsprogs}/bin/chattr -f -i /var/empty || true + find /var/empty -mindepth 1 -delete + chmod 0555 /var/empty + chown root:root /var/empty + ${pkgs.e2fsprogs}/bin/chattr -f +i /var/empty || true ''; system.activationScripts.usrbinenv = if config.environment.usrbinenv != null @@ -152,7 +160,7 @@ in rmdir --ignore-fail-on-non-empty /usr/bin /usr ''; - system.activationScripts.tmpfs = + system.activationScripts.specialfs = '' specialMount() { local device="$1" @@ -160,7 +168,12 @@ in local options="$3" local fsType="$4" - ${pkgs.utillinux}/bin/mount -t "$fsType" -o "remount,$options" "$device" "$mountPoint" + if ${pkgs.utillinux}/bin/mountpoint -q "$mountPoint"; then + local options="remount,$options" + else + mkdir -m 0755 -p "$mountPoint" + fi + ${pkgs.utillinux}/bin/mount -t "$fsType" -o "$options" "$device" "$mountPoint" } source ${config.system.build.earlyMountScript} ''; diff --git a/nixos/modules/system/activation/switch-to-configuration.pl b/nixos/modules/system/activation/switch-to-configuration.pl index bb97d0c53a6b..8747c1e3d4ac 100644 --- a/nixos/modules/system/activation/switch-to-configuration.pl +++ b/nixos/modules/system/activation/switch-to-configuration.pl @@ -213,33 +213,30 @@ while (my ($unit, $state) = each %{$activePrev}) { elsif (!boolIsTrue($unitInfo->{'X-RestartIfChanged'} // "yes") || boolIsTrue($unitInfo->{'RefuseManualStop'} // "no") ) { $unitsToSkip{$unit} = 1; } else { - # If this unit is socket-activated, then stop the - # socket unit(s) as well, and restart the - # socket(s) instead of the service. - my $socketActivated = 0; - if ($unit =~ /\.service$/) { - my @sockets = split / /, ($unitInfo->{Sockets} // ""); - if (scalar @sockets == 0) { - @sockets = ("$baseName.socket"); - } - foreach my $socket (@sockets) { - if (defined $activePrev->{$socket}) { - $unitsToStop{$unit} = 1; - $unitsToStart{$unit} = 1; - recordUnit($startListFile, $socket); - $socketActivated = 1; - } - } - } - if (!boolIsTrue($unitInfo->{'X-StopIfChanged'} // "yes")) { - # This unit should be restarted instead of # stopped and started. $unitsToRestart{$unit} = 1; recordUnit($restartListFile, $unit); - } else { + # If this unit is socket-activated, then stop the + # socket unit(s) as well, and restart the + # socket(s) instead of the service. + my $socketActivated = 0; + if ($unit =~ /\.service$/) { + my @sockets = split / /, ($unitInfo->{Sockets} // ""); + if (scalar @sockets == 0) { + @sockets = ("$baseName.socket"); + } + foreach my $socket (@sockets) { + if (defined $activePrev->{$socket}) { + $unitsToStop{$socket} = 1; + $unitsToStart{$socket} = 1; + recordUnit($startListFile, $socket); + $socketActivated = 1; + } + } + } # If the unit is not socket-activated, record # that this unit needs to be started below. @@ -251,7 +248,6 @@ while (my ($unit, $state) = each %{$activePrev}) { } $unitsToStop{$unit} = 1; - } } } diff --git a/nixos/modules/system/activation/top-level.nix b/nixos/modules/system/activation/top-level.nix index 2d1b0ffb54ce..0c08375da646 100644 --- a/nixos/modules/system/activation/top-level.nix +++ b/nixos/modules/system/activation/top-level.nix @@ -98,7 +98,7 @@ let # `switch-to-configuration' that activates the configuration and # makes it bootable. baseSystem = showWarnings ( - if [] == failed then pkgs.stdenv.mkDerivation { + if [] == failed then pkgs.stdenvNoCC.mkDerivation { name = let hn = config.networking.hostName; nn = if (hn != "") then hn else "unnamed"; in "nixos-system-${nn}-${config.system.nixosLabel}"; diff --git a/nixos/modules/system/boot/initrd-ssh.nix b/nixos/modules/system/boot/initrd-ssh.nix index bc899984c57d..59ecaf8d5a6d 100644 --- a/nixos/modules/system/boot/initrd-ssh.nix +++ b/nixos/modules/system/boot/initrd-ssh.nix @@ -85,10 +85,14 @@ in }; config = mkIf (config.boot.initrd.network.enable && cfg.enable) { - assertions = [ { - assertion = cfg.hostRSAKey != null || cfg.hostDSSKey != null || cfg.hostECDSAKey != null; - message = "You should specify at least one host key for initrd SSH"; - } ]; + assertions = [ + { assertion = cfg.hostRSAKey != null || cfg.hostDSSKey != null || cfg.hostECDSAKey != null; + message = "You should specify at least one host key for initrd SSH"; + } + { assertion = cfg.authorizedKeys != []; + message = "You should specify at least one authorized key for initrd SSH"; + } + ]; boot.initrd.extraUtilsCommands = '' copy_bin_and_libs ${pkgs.dropbear}/bin/dropbear @@ -118,7 +122,7 @@ in mkdir -p /root/.ssh ${concatStrings (map (key: '' - echo -n ${escapeShellArg key} >> /root/.ssh/authorized_keys + echo ${escapeShellArg key} >> /root/.ssh/authorized_keys '') cfg.authorizedKeys)} dropbear -s -j -k -E -m -p ${toString cfg.port} diff --git a/nixos/modules/system/boot/kernel.nix b/nixos/modules/system/boot/kernel.nix index 0f342f44fe76..e751ff141f70 100644 --- a/nixos/modules/system/boot/kernel.nix +++ b/nixos/modules/system/boot/kernel.nix @@ -4,7 +4,9 @@ with lib; let - kernel = config.boot.kernelPackages.kernel; + inherit (config.boot) kernelPatches; + + inherit (config.boot.kernelPackages) kernel; kernelModulesConf = pkgs.writeText "nixos.conf" '' @@ -21,6 +23,11 @@ in boot.kernelPackages = mkOption { default = pkgs.linuxPackages; + apply = kernelPackages: kernelPackages.extend (self: super: { + kernel = super.kernel.override { + kernelPatches = super.kernel.kernelPatches ++ kernelPatches; + }; + }); # We don't want to evaluate all of linuxPackages for the manual # - some of it might not even evaluate correctly. defaultText = "pkgs.linuxPackages"; @@ -39,6 +46,13 @@ in ''; }; + boot.kernelPatches = mkOption { + type = types.listOf types.attrs; + default = []; + example = literalExample "[ pkgs.kernelPatches.ubuntu_fan_4_4 ]"; + description = "A list of additional patches to apply to the kernel."; + }; + boot.kernelParams = mkOption { type = types.listOf types.str; default = [ ]; @@ -200,8 +214,14 @@ in "hid_generic" "hid_lenovo" "hid_apple" "hid_logitech_dj" "hid_lenovo_tpkbd" "hid_roccat" - # Misc. stuff. - "pcips2" "atkbd" + # Misc. keyboard stuff. + "pcips2" "atkbd" "i8042" + + # Temporary fix for https://github.com/NixOS/nixpkgs/issues/18451 + # Remove as soon as upstream gets fixed - marking it: + # TODO + # FIXME + "i8042" # To wait for SCSI devices to appear. "scsi_wait_scan" diff --git a/nixos/modules/system/boot/loader/generations-dir/generations-dir.nix b/nixos/modules/system/boot/loader/generations-dir/generations-dir.nix index 6153578612c1..f8a00784034a 100644 --- a/nixos/modules/system/boot/loader/generations-dir/generations-dir.nix +++ b/nixos/modules/system/boot/loader/generations-dir/generations-dir.nix @@ -44,10 +44,10 @@ in copyKernels = mkOption { default = false; type = types.bool; - description = " + description = '' Whether copy the necessary boot files into /boot, so /nix/store is not needed by the boot loader. - "; + ''; }; }; diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix index 61c34cc2f034..294fc1988e9f 100644 --- a/nixos/modules/system/boot/loader/grub/grub.nix +++ b/nixos/modules/system/boot/loader/grub/grub.nix @@ -53,9 +53,9 @@ let inherit (args) devices; inherit (efi) canTouchEfiVariables; inherit (cfg) - version extraConfig extraPerEntryConfig extraEntries + version extraConfig extraPerEntryConfig extraEntries forceInstall extraEntriesBeforeNixOS extraPrepareConfig configurationLimit copyKernels - default fsIdentifier efiSupport gfxmodeEfi gfxmodeBios; + default fsIdentifier efiSupport efiInstallAsRemovable gfxmodeEfi gfxmodeBios; path = (makeBinPath ([ pkgs.coreutils pkgs.gnused pkgs.gnugrep pkgs.findutils pkgs.diffutils pkgs.btrfs-progs pkgs.utillinux ] ++ (if cfg.efiSupport && (cfg.version == 2) then [pkgs.efibootmgr ] else []) @@ -131,51 +131,51 @@ in to the respective devices corresponding to those partitions. ''; - type = types.listOf types.optionSet; + type = with types; listOf (submodule { + options = { - options = { + path = mkOption { + example = "/boot1"; + type = types.str; + description = '' + The path to the boot directory where GRUB will be written. Generally + this boot path should double as an EFI path. + ''; + }; + + efiSysMountPoint = mkOption { + default = null; + example = "/boot1/efi"; + type = types.nullOr types.str; + description = '' + The path to the efi system mount point. Usually this is the same + partition as the above path and can be left as null. + ''; + }; + + efiBootloaderId = mkOption { + default = null; + example = "NixOS-fsid"; + type = types.nullOr types.str; + description = '' + The id of the bootloader to store in efi nvram. + The default is to name it NixOS and append the path or efiSysMountPoint. + This is only used if boot.loader.efi.canTouchEfiVariables is true. + ''; + }; + + devices = mkOption { + default = [ ]; + example = [ "/dev/sda" "/dev/sdb" ]; + type = types.listOf types.str; + description = '' + The path to the devices which will have the GRUB MBR written. + Note these are typically device paths and not paths to partitions. + ''; + }; - path = mkOption { - example = "/boot1"; - type = types.str; - description = '' - The path to the boot directory where GRUB will be written. Generally - this boot path should double as an EFI path. - ''; }; - - efiSysMountPoint = mkOption { - default = null; - example = "/boot1/efi"; - type = types.nullOr types.str; - description = '' - The path to the efi system mount point. Usually this is the same - partition as the above path and can be left as null. - ''; - }; - - efiBootloaderId = mkOption { - default = null; - example = "NixOS-fsid"; - type = types.nullOr types.str; - description = '' - The id of the bootloader to store in efi nvram. - The default is to name it NixOS and append the path or efiSysMountPoint. - This is only used if boot.loader.efi.canTouchEfiVariables is true. - ''; - }; - - devices = mkOption { - default = [ ]; - example = [ "/dev/sda" "/dev/sdb" ]; - type = types.listOf types.str; - description = '' - The path to the devices which will have the GRUB MBR written. - Note these are typically device paths and not paths to partitions. - ''; - }; - - }; + }); }; configurationName = mkOption { @@ -324,8 +324,7 @@ in fsIdentifier = mkOption { default = "uuid"; - type = types.addCheck types.str - (type: type == "uuid" || type == "label" || type == "provided"); + type = types.enum [ "uuid" "label" "provided" ]; description = '' Determines how GRUB will identify devices when generating the configuration file. A value of uuid / label signifies that grub @@ -357,6 +356,44 @@ in ''; }; + efiInstallAsRemovable = mkOption { + default = false; + example = true; + type = types.bool; + description = '' + Whether to invoke grub-install with + --removable. + + Unless you turn this on, GRUB will install itself somewhere in + boot.loader.efi.efiSysMountPoint (exactly where + depends on other config variables). If you've set + boot.loader.efi.canTouchEfiVariables *AND* you + are currently booted in UEFI mode, then GRUB will use + efibootmgr to modify the boot order in the + EFI variables of your firmware to include this location. If you are + *not* booted in UEFI mode at the time GRUB is being installed, the + NVRAM will not be modified, and your system will not find GRUB at + boot time. However, GRUB will still return success so you may miss + the warning that gets printed ("efibootmgr: EFI variables + are not supported on this system."). + + If you turn this feature on, GRUB will install itself in a + special location within efiSysMountPoint (namely + EFI/boot/boot$arch.efi) which the firmwares + are hardcoded to try first, regardless of NVRAM EFI variables. + + To summarize, turn this on if: + + You are installing NixOS and want it to boot in UEFI mode, + but you are currently booted in legacy mode + You want to make a drive that will boot regardless of + the NVRAM state of the computer (like a USB "removable" drive) + You simply dislike the idea of depending on NVRAM + state to make your drive bootable + + ''; + }; + enableCryptodisk = mkOption { default = false; type = types.bool; @@ -366,6 +403,16 @@ in ''; }; + forceInstall = mkOption { + default = false; + type = types.bool; + description = '' + Whether to try and forcibly install GRUB even if problems are + detected. It is not recommended to enable this unless you know what + you are doing. + ''; + }; + trustedBoot = { enable = mkOption { @@ -465,7 +512,7 @@ in + "'boot.loader.grub.mirroredBoots' to make the system bootable."; } { - assertion = all (c: c < 2) (mapAttrsToList (_: c: c) bootDeviceCounters); + assertion = cfg.efiSupport || all (c: c < 2) (mapAttrsToList (_: c: c) bootDeviceCounters); message = "You cannot have duplicated devices in mirroredBoots"; } { @@ -484,6 +531,14 @@ in assertion = !cfg.trustedBoot.enable || cfg.trustedBoot.systemHasTPM == "YES_TPM_is_activated"; message = "Trusted GRUB can break the system! Confirm that the system has an activated TPM by setting 'systemHasTPM'."; } + { + assertion = cfg.efiInstallAsRemovable -> cfg.efiSupport; + message = "If you wish to to use boot.loader.grub.efiInstallAsRemovable, then turn on boot.loader.grub.efiSupport"; + } + { + assertion = cfg.efiInstallAsRemovable -> !config.boot.loader.efi.canTouchEfiVariables; + message = "If you wish to to use boot.loader.grub.efiInstallAsRemovable, then turn off boot.loader.efi.canTouchEfiVariables"; + } ] ++ flip concatMap cfg.mirroredBoots (args: [ { assertion = args.devices != [ ]; diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl index 06eece5025f8..24442ca12a30 100644 --- a/nixos/modules/system/boot/loader/grub/install-grub.pl +++ b/nixos/modules/system/boot/loader/grub/install-grub.pl @@ -60,10 +60,12 @@ my $grubTargetEfi = get("grubTargetEfi"); my $bootPath = get("bootPath"); my $storePath = get("storePath"); my $canTouchEfiVariables = get("canTouchEfiVariables"); +my $efiInstallAsRemovable = get("efiInstallAsRemovable"); my $efiSysMountPoint = get("efiSysMountPoint"); my $gfxmodeEfi = get("gfxmodeEfi"); my $gfxmodeBios = get("gfxmodeBios"); my $bootloaderId = get("bootloaderId"); +my $forceInstall = get("forceInstall"); $ENV{'PATH'} = get("path"); die "unsupported GRUB version\n" if $grubVersion != 1 && $grubVersion != 2; @@ -530,13 +532,14 @@ if (($requireNewInstall != 0) && ($efiTarget eq "no" || $efiTarget eq "both")) { foreach my $dev (@deviceTargets) { next if $dev eq "nodev"; print STDERR "installing the GRUB $grubVersion boot loader on $dev...\n"; - if ($grubTarget eq "") { - system("$grub/sbin/grub-install", "--recheck", "--root-directory=$tmpDir", Cwd::abs_path($dev)) == 0 - or die "$0: installation of GRUB on $dev failed\n"; - } else { - system("$grub/sbin/grub-install", "--recheck", "--root-directory=$tmpDir", "--target=$grubTarget", Cwd::abs_path($dev)) == 0 - or die "$0: installation of GRUB on $dev failed\n"; + my @command = ("$grub/sbin/grub-install", "--recheck", "--root-directory=$tmpDir", Cwd::abs_path($dev)); + if ($forceInstall eq "true") { + push @command, "--force"; } + if ($grubTarget ne "") { + push @command, "--target=$grubTarget"; + } + (system @command) == 0 or die "$0: installation of GRUB on $dev failed\n"; } } @@ -544,13 +547,18 @@ if (($requireNewInstall != 0) && ($efiTarget eq "no" || $efiTarget eq "both")) { # install EFI GRUB if (($requireNewInstall != 0) && ($efiTarget eq "only" || $efiTarget eq "both")) { print STDERR "installing the GRUB $grubVersion EFI boot loader into $efiSysMountPoint...\n"; - if ($canTouchEfiVariables eq "true") { - system("$grubEfi/sbin/grub-install", "--recheck", "--target=$grubTargetEfi", "--boot-directory=$bootPath", "--efi-directory=$efiSysMountPoint", "--bootloader-id=$bootloaderId") == 0 - or die "$0: installation of GRUB EFI into $efiSysMountPoint failed\n"; - } else { - system("$grubEfi/sbin/grub-install", "--recheck", "--target=$grubTargetEfi", "--boot-directory=$bootPath", "--efi-directory=$efiSysMountPoint", "--no-nvram") == 0 - or die "$0: installation of GRUB EFI into $efiSysMountPoint failed\n"; + my @command = ("$grubEfi/sbin/grub-install", "--recheck", "--target=$grubTargetEfi", "--boot-directory=$bootPath", "--efi-directory=$efiSysMountPoint"); + if ($forceInstall eq "true") { + push @command, "--force"; } + if ($canTouchEfiVariables eq "true") { + push @command, "--bootloader-id=$bootloaderId"; + } else { + push @command, "--no-nvram"; + push @command, "--removable" if $efiInstallAsRemovable eq "true"; + } + + (system @command) == 0 or die "$0: installation of GRUB EFI into $efiSysMountPoint failed\n"; } diff --git a/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix b/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix index b7400e333e21..eb8ea6130972 100644 --- a/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix +++ b/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix @@ -33,7 +33,7 @@ in boot.loader.raspberryPi.version = mkOption { default = 2; - type = types.int; + type = types.enum [ 1 2 ]; description = '' ''; }; @@ -44,10 +44,5 @@ in system.build.installBootLoader = builder; system.boot.loader.id = "raspberrypi"; system.boot.loader.kernelFile = platform.kernelTarget; - assertions = [ - { assertion = (cfg.version == 1 || cfg.version == 2); - message = "loader.raspberryPi.version should be 1 or 2"; - } - ]; }; } diff --git a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py index c703a3e083ba..515136c904c5 100644 --- a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py +++ b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py @@ -1,4 +1,4 @@ -#! @python@/bin/python +#! @python3@/bin/python3 import argparse import shutil import os @@ -13,29 +13,21 @@ def copy_if_not_exists(source, dest): if not os.path.exists(dest): shutil.copyfile(source, dest) -system_dir = lambda generation: "/nix/var/nix/profiles/system-%d-link" % (generation) +def system_dir(generation): + return "/nix/var/nix/profiles/system-%d-link" % (generation) -def write_entry(generation, kernel, initrd): - entry_file = "@efiSysMountPoint@/loader/entries/nixos-generation-%d.conf" % (generation) - generation_dir = os.readlink(system_dir(generation)) - tmp_path = "%s.tmp" % (entry_file) - kernel_params = "systemConfig=%s init=%s/init " % (generation_dir, generation_dir) - with open("%s/kernel-params" % (generation_dir)) as params_file: - kernel_params = kernel_params + params_file.read() - with open(tmp_path, 'w') as f: - print >> f, "title NixOS" - print >> f, "version Generation %d" % (generation) - if machine_id is not None: print >> f, "machine-id %s" % (machine_id) - print >> f, "linux %s" % (kernel) - print >> f, "initrd %s" % (initrd) - print >> f, "options %s" % (kernel_params) - os.rename(tmp_path, entry_file) +BOOT_ENTRY = """title NixOS +version Generation {generation} +linux {kernel} +initrd {initrd} +options {kernel_params} +""" def write_loader_conf(generation): with open("@efiSysMountPoint@/loader/loader.conf.tmp", 'w') as f: if "@timeout@" != "": - print >> f, "timeout @timeout@" - print >> f, "default nixos-generation-%d" % (generation) + f.write("timeout @timeout@\n") + f.write("default nixos-generation-%d\n" % generation) os.rename("@efiSysMountPoint@/loader/loader.conf.tmp", "@efiSysMountPoint@/loader/loader.conf") def copy_from_profile(generation, name, dry_run=False): @@ -47,10 +39,23 @@ def copy_from_profile(generation, name, dry_run=False): copy_if_not_exists(store_file_path, "@efiSysMountPoint@%s" % (efi_file_path)) return efi_file_path -def add_entry(generation): - efi_kernel_path = copy_from_profile(generation, "kernel") - efi_initrd_path = copy_from_profile(generation, "initrd") - write_entry(generation, efi_kernel_path, efi_initrd_path) +def write_entry(generation, machine_id): + kernel = copy_from_profile(generation, "kernel") + initrd = copy_from_profile(generation, "initrd") + entry_file = "@efiSysMountPoint@/loader/entries/nixos-generation-%d.conf" % (generation) + generation_dir = os.readlink(system_dir(generation)) + tmp_path = "%s.tmp" % (entry_file) + kernel_params = "systemConfig=%s init=%s/init " % (generation_dir, generation_dir) + with open("%s/kernel-params" % (generation_dir)) as params_file: + kernel_params = kernel_params + params_file.read() + with open(tmp_path, 'w') as f: + f.write(BOOT_ENTRY.format(generation=generation, + kernel=kernel, + initrd=initrd, + kernel_params=kernel_params)) + if machine_id is not None: + f.write("machine-id %s\n" % machine_id) + os.rename(tmp_path, entry_file) def mkdir_p(path): try: @@ -65,8 +70,8 @@ def get_generations(profile): "--list-generations", "-p", "/nix/var/nix/profiles/%s" % (profile), - "--option", "build-users-group", "" - ]) + "--option", "build-users-group", ""], + universal_newlines=True) gen_lines = gen_list.split('\n') gen_lines.pop() return [ int(line.split()[0]) for line in gen_lines ] @@ -89,33 +94,37 @@ def remove_old_entries(gens): if not path in known_paths: os.unlink(path) -parser = argparse.ArgumentParser(description='Update NixOS-related systemd-boot files') -parser.add_argument('default_config', metavar='DEFAULT-CONFIG', help='The default NixOS config to boot') -args = parser.parse_args() +def main(): + parser = argparse.ArgumentParser(description='Update NixOS-related systemd-boot files') + parser.add_argument('default_config', metavar='DEFAULT-CONFIG', help='The default NixOS config to boot') + args = parser.parse_args() -if os.getenv("NIXOS_INSTALL_GRUB") == "1": - warnings.warn("NIXOS_INSTALL_GRUB env var deprecated, use NIXOS_INSTALL_BOOTLOADER", DeprecationWarning) - os.environ["NIXOS_INSTALL_BOOTLOADER"] = "1" + if os.getenv("NIXOS_INSTALL_GRUB") == "1": + warnings.warn("NIXOS_INSTALL_GRUB env var deprecated, use NIXOS_INSTALL_BOOTLOADER", DeprecationWarning) + os.environ["NIXOS_INSTALL_BOOTLOADER"] = "1" -if os.getenv("NIXOS_INSTALL_BOOTLOADER") == "1": - if "@canTouchEfiVariables@" == "1": - subprocess.check_call(["@systemd@/bin/bootctl", "--path=@efiSysMountPoint@", "install"]) - else: - subprocess.check_call(["@systemd@/bin/bootctl", "--path=@efiSysMountPoint@", "--no-variables", "install"]) + if os.getenv("NIXOS_INSTALL_BOOTLOADER") == "1": + if "@canTouchEfiVariables@" == "1": + subprocess.check_call(["@systemd@/bin/bootctl", "--path=@efiSysMountPoint@", "install"]) + else: + subprocess.check_call(["@systemd@/bin/bootctl", "--path=@efiSysMountPoint@", "--no-variables", "install"]) -mkdir_p("@efiSysMountPoint@/efi/nixos") -mkdir_p("@efiSysMountPoint@/loader/entries") -try: - with open("/etc/machine-id") as machine_file: - machine_id = machine_file.readlines()[0] -except IOError as e: - if e.errno != errno.ENOENT: - raise - machine_id = None + mkdir_p("@efiSysMountPoint@/efi/nixos") + mkdir_p("@efiSysMountPoint@/loader/entries") + try: + with open("/etc/machine-id") as machine_file: + machine_id = machine_file.readlines()[0] + except IOError as e: + if e.errno != errno.ENOENT: + raise + machine_id = None -gens = get_generations("system") -remove_old_entries(gens) -for gen in gens: - add_entry(gen) - if os.readlink(system_dir(gen)) == args.default_config: - write_loader_conf(gen) + gens = get_generations("system") + remove_old_entries(gens) + for gen in gens: + write_entry(gen, machine_id) + if os.readlink(system_dir(gen)) == args.default_config: + write_loader_conf(gen) + +if __name__ == '__main__': + main() diff --git a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix index a778a4f539c9..cc43fb8bab4c 100644 --- a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix +++ b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix @@ -12,7 +12,7 @@ let isExecutable = true; - inherit (pkgs) python; + inherit (pkgs) python3; systemd = config.systemd.package; diff --git a/nixos/modules/system/boot/luksroot.nix b/nixos/modules/system/boot/luksroot.nix index f2755b49f88d..1f412fe2d8f2 100644 --- a/nixos/modules/system/boot/luksroot.nix +++ b/nixos/modules/system/boot/luksroot.nix @@ -236,165 +236,165 @@ in /dev/mapper/name. ''; - type = types.loaOf types.optionSet; + type = with types; loaOf (submodule ( + { name, ... }: { options = { - options = { name, ... }: { options = { - - name = mkOption { - visible = false; - default = name; - example = "luksroot"; - type = types.str; - description = "Name of the unencrypted device in /dev/mapper."; - }; - - device = mkOption { - example = "/dev/disk/by-uuid/430e9eff-d852-4f68-aa3b-2fa3599ebe08"; - type = types.str; - description = "Path of the underlying encrypted block device."; - }; - - header = mkOption { - default = null; - example = "/root/header.img"; - type = types.nullOr types.str; - description = '' - The name of the file or block device that - should be used as header for the encrypted device. - ''; - }; - - keyFile = mkOption { - default = null; - example = "/dev/sdb1"; - type = types.nullOr types.str; - description = '' - The name of the file (can be a raw device or a partition) that - should be used as the decryption key for the encrypted device. If - not specified, you will be prompted for a passphrase instead. - ''; - }; - - keyFileSize = mkOption { - default = null; - example = 4096; - type = types.nullOr types.int; - description = '' - The size of the key file. Use this if only the beginning of the - key file should be used as a key (often the case if a raw device - or partition is used as key file). If not specified, the whole - keyFile will be used decryption, instead of just - the first keyFileSize bytes. - ''; - }; - - # FIXME: get rid of this option. - preLVM = mkOption { - default = true; - type = types.bool; - description = "Whether the luksOpen will be attempted before LVM scan or after it."; - }; - - allowDiscards = mkOption { - default = false; - type = types.bool; - description = '' - Whether to allow TRIM requests to the underlying device. This option - has security implications; please read the LUKS documentation before - activating it. - ''; - }; - - yubikey = mkOption { - default = null; - type = types.nullOr types.optionSet; - description = '' - The options to use for this LUKS device in Yubikey-PBA. - If null (the default), Yubikey-PBA will be disabled for this device. - ''; - - options = { - twoFactor = mkOption { - default = true; - type = types.bool; - description = "Whether to use a passphrase and a Yubikey (true), or only a Yubikey (false)."; - }; - - slot = mkOption { - default = 2; - type = types.int; - description = "Which slot on the Yubikey to challenge."; - }; - - saltLength = mkOption { - default = 16; - type = types.int; - description = "Length of the new salt in byte (64 is the effective maximum)."; - }; - - keyLength = mkOption { - default = 64; - type = types.int; - description = "Length of the LUKS slot key derived with PBKDF2 in byte."; - }; - - iterationStep = mkOption { - default = 0; - type = types.int; - description = "How much the iteration count for PBKDF2 is increased at each successful authentication."; - }; - - gracePeriod = mkOption { - default = 2; - type = types.int; - description = "Time in seconds to wait before attempting to find the Yubikey."; - }; - - ramfsMountPoint = mkOption { - default = "/crypt-ramfs"; - type = types.str; - description = "Path where the ramfs used to update the LUKS key will be mounted during early boot."; - }; - - /* TODO: Add to the documentation of the current module: - - Options related to the storing the salt. - */ - storage = { - device = mkOption { - default = "/dev/sda1"; - type = types.path; - description = '' - An unencrypted device that will temporarily be mounted in stage-1. - Must contain the current salt to create the challenge for this LUKS device. - ''; - }; - - fsType = mkOption { - default = "vfat"; - type = types.str; - description = "The filesystem of the unencrypted device."; - }; - - mountPoint = mkOption { - default = "/crypt-storage"; - type = types.str; - description = "Path where the unencrypted device will be mounted during early boot."; - }; - - path = mkOption { - default = "/crypt-storage/default"; - type = types.str; - description = '' - Absolute path of the salt on the unencrypted device with - that device's root directory as "/". - ''; - }; - }; + name = mkOption { + visible = false; + default = name; + example = "luksroot"; + type = types.str; + description = "Name of the unencrypted device in /dev/mapper."; }; - }; - }; }; + device = mkOption { + example = "/dev/disk/by-uuid/430e9eff-d852-4f68-aa3b-2fa3599ebe08"; + type = types.str; + description = "Path of the underlying encrypted block device."; + }; + + header = mkOption { + default = null; + example = "/root/header.img"; + type = types.nullOr types.str; + description = '' + The name of the file or block device that + should be used as header for the encrypted device. + ''; + }; + + keyFile = mkOption { + default = null; + example = "/dev/sdb1"; + type = types.nullOr types.str; + description = '' + The name of the file (can be a raw device or a partition) that + should be used as the decryption key for the encrypted device. If + not specified, you will be prompted for a passphrase instead. + ''; + }; + + keyFileSize = mkOption { + default = null; + example = 4096; + type = types.nullOr types.int; + description = '' + The size of the key file. Use this if only the beginning of the + key file should be used as a key (often the case if a raw device + or partition is used as key file). If not specified, the whole + keyFile will be used decryption, instead of just + the first keyFileSize bytes. + ''; + }; + + # FIXME: get rid of this option. + preLVM = mkOption { + default = true; + type = types.bool; + description = "Whether the luksOpen will be attempted before LVM scan or after it."; + }; + + allowDiscards = mkOption { + default = false; + type = types.bool; + description = '' + Whether to allow TRIM requests to the underlying device. This option + has security implications; please read the LUKS documentation before + activating it. + ''; + }; + + yubikey = mkOption { + default = null; + description = '' + The options to use for this LUKS device in Yubikey-PBA. + If null (the default), Yubikey-PBA will be disabled for this device. + ''; + + type = with types; nullOr (submodule { + options = { + twoFactor = mkOption { + default = true; + type = types.bool; + description = "Whether to use a passphrase and a Yubikey (true), or only a Yubikey (false)."; + }; + + slot = mkOption { + default = 2; + type = types.int; + description = "Which slot on the Yubikey to challenge."; + }; + + saltLength = mkOption { + default = 16; + type = types.int; + description = "Length of the new salt in byte (64 is the effective maximum)."; + }; + + keyLength = mkOption { + default = 64; + type = types.int; + description = "Length of the LUKS slot key derived with PBKDF2 in byte."; + }; + + iterationStep = mkOption { + default = 0; + type = types.int; + description = "How much the iteration count for PBKDF2 is increased at each successful authentication."; + }; + + gracePeriod = mkOption { + default = 2; + type = types.int; + description = "Time in seconds to wait before attempting to find the Yubikey."; + }; + + ramfsMountPoint = mkOption { + default = "/crypt-ramfs"; + type = types.str; + description = "Path where the ramfs used to update the LUKS key will be mounted during early boot."; + }; + + /* TODO: Add to the documentation of the current module: + + Options related to the storing the salt. + */ + storage = { + device = mkOption { + default = "/dev/sda1"; + type = types.path; + description = '' + An unencrypted device that will temporarily be mounted in stage-1. + Must contain the current salt to create the challenge for this LUKS device. + ''; + }; + + fsType = mkOption { + default = "vfat"; + type = types.str; + description = "The filesystem of the unencrypted device."; + }; + + mountPoint = mkOption { + default = "/crypt-storage"; + type = types.str; + description = "Path where the unencrypted device will be mounted during early boot."; + }; + + path = mkOption { + default = "/crypt-storage/default"; + type = types.str; + description = '' + Absolute path of the salt on the unencrypted device with + that device's root directory as "/". + ''; + }; + }; + }; + }); + }; + + }; })); }; boot.initrd.luks.yubikeySupport = mkOption { diff --git a/nixos/modules/system/boot/networkd.nix b/nixos/modules/system/boot/networkd.nix index ab7485500261..b828ad53dc58 100644 --- a/nixos/modules/system/boot/networkd.nix +++ b/nixos/modules/system/boot/networkd.nix @@ -165,6 +165,11 @@ let ''; }; + extraConfig = mkOption { + default = ""; + type = types.lines; + description = "Extra configuration append to unit"; + }; }; linkOptions = commonNetworkOptions // { @@ -296,35 +301,35 @@ let }; addressOptions = { - - addressConfig = mkOption { - default = {}; - example = { Address = "192.168.0.100/24"; }; - type = types.addCheck (types.attrsOf unitOption) checkAddress; - description = '' - Each attribute in this set specifies an option in the - [Address] section of the unit. See - systemd.network - 5 for details. - ''; + options = { + addressConfig = mkOption { + default = {}; + example = { Address = "192.168.0.100/24"; }; + type = types.addCheck (types.attrsOf unitOption) checkAddress; + description = '' + Each attribute in this set specifies an option in the + [Address] section of the unit. See + systemd.network + 5 for details. + ''; + }; }; - }; routeOptions = { - - routeConfig = mkOption { - default = {}; - example = { Gateway = "192.168.0.1"; }; - type = types.addCheck (types.attrsOf unitOption) checkRoute; - description = '' - Each attribute in this set specifies an option in the - [Route] section of the unit. See - systemd.network - 5 for details. - ''; + options = { + routeConfig = mkOption { + default = {}; + example = { Gateway = "192.168.0.1"; }; + type = types.addCheck (types.attrsOf unitOption) checkRoute; + description = '' + Each attribute in this set specifies an option in the + [Route] section of the unit. See + systemd.network + 5 for details. + ''; + }; }; - }; networkOptions = commonNetworkOptions // { @@ -471,8 +476,7 @@ let addresses = mkOption { default = [ ]; - type = types.listOf types.optionSet; - options = [ addressOptions ]; + type = with types; listOf (submodule addressOptions); description = '' A list of address sections to be added to the unit. See systemd.network @@ -482,8 +486,7 @@ let routes = mkOption { default = [ ]; - type = types.listOf types.optionSet; - options = [ routeOptions ]; + type = with types; listOf (submodule routeOptions); description = '' A list of route sections to be added to the unit. See systemd.network @@ -517,6 +520,8 @@ let '' [Link] ${attrsToSection def.linkConfig} + + ${def.extraConfig} ''; }; @@ -567,6 +572,7 @@ let ${attrsToSection def.bondConfig} ''} + ${def.extraConfig} ''; }; @@ -605,9 +611,14 @@ let ${attrsToSection x.routeConfig} '')} + ${def.extraConfig} ''; }; + unitFiles = map (name: { + target = "systemd/network/${name}"; + source = "${cfg.units.${name}.unit}/${name}"; + }) (attrNames cfg.units); in { @@ -624,35 +635,32 @@ in systemd.network.links = mkOption { default = {}; - type = types.attrsOf types.optionSet; - options = [ linkOptions ]; + type = with types; attrsOf (submodule [ { options = linkOptions; } ]); description = "Definition of systemd network links."; }; systemd.network.netdevs = mkOption { default = {}; - type = types.attrsOf types.optionSet; - options = [ netdevOptions ]; + type = with types; attrsOf (submodule [ { options = netdevOptions; } ]); description = "Definition of systemd network devices."; }; systemd.network.networks = mkOption { default = {}; - type = types.attrsOf types.optionSet; - options = [ networkOptions networkConfig ]; + type = with types; attrsOf (submodule [ { options = networkOptions; } networkConfig ]); description = "Definition of systemd networks."; }; systemd.network.units = mkOption { description = "Definition of networkd units."; default = {}; - type = types.attrsOf types.optionSet; - options = { name, config, ... }: + type = with types; attrsOf (submodule ( + { name, config, ... }: { options = concreteUnitOptions; config = { unit = mkDefault (makeUnit name config); }; - }; + })); }; }; @@ -662,23 +670,19 @@ in systemd.additionalUpstreamSystemUnits = [ "systemd-networkd.service" "systemd-networkd-wait-online.service" ]; - systemd.network.units = - mapAttrs' (n: v: nameValuePair "${n}.link" (linkToUnit n v)) cfg.links + systemd.network.units = mapAttrs' (n: v: nameValuePair "${n}.link" (linkToUnit n v)) cfg.links // mapAttrs' (n: v: nameValuePair "${n}.netdev" (netdevToUnit n v)) cfg.netdevs // mapAttrs' (n: v: nameValuePair "${n}.network" (networkToUnit n v)) cfg.networks; - environment.etc."systemd/network".source = - generateUnits "network" cfg.units [] []; + environment.etc = unitFiles; systemd.services.systemd-networkd = { wantedBy = [ "multi-user.target" ]; - before = [ "network-interfaces.target" ]; - restartTriggers = [ config.environment.etc."systemd/network".source ]; + restartTriggers = map (f: f.source) (unitFiles); }; systemd.services.systemd-networkd-wait-online = { - before = [ "network-online.target" "ip-up.target" ]; - wantedBy = [ "network-online.target" "ip-up.target" ]; + wantedBy = [ "network-online.target" ]; }; systemd.services."systemd-network-wait-online@" = { @@ -694,8 +698,5 @@ in }; services.resolved.enable = mkDefault true; - services.timesyncd.enable = mkDefault config.services.ntp.enable; - }; - } diff --git a/nixos/modules/system/boot/plymouth.nix b/nixos/modules/system/boot/plymouth.nix index 60a587af8e9f..d45b1686c1ea 100644 --- a/nixos/modules/system/boot/plymouth.nix +++ b/nixos/modules/system/boot/plymouth.nix @@ -51,6 +51,10 @@ in url = "https://nixos.org/logo/nixos-hires.png"; sha256 = "1ivzgd7iz0i06y36p8m5w48fd8pjqwxhdaavc0pxs7w1g7mcy5si"; }; + defaultText = ''pkgs.fetchurl { + url = "https://nixos.org/logo/nixos-hires.png"; + sha256 = "1ivzgd7iz0i06y36p8m5w48fd8pjqwxhdaavc0pxs7w1g7mcy5si"; + }''; description = '' Logo which is displayed on the splash screen. ''; diff --git a/nixos/modules/system/boot/stage-1-init.sh b/nixos/modules/system/boot/stage-1-init.sh index abab5f20baac..f0699ad9832b 100644 --- a/nixos/modules/system/boot/stage-1-init.sh +++ b/nixos/modules/system/boot/stage-1-init.sh @@ -318,6 +318,8 @@ mountFS() { [ "$mountPoint" == "/" ] && [ -f "/mnt-root/etc/NIXOS_LUSTRATE" ] && lustrateRoot "/mnt-root" + + true } lustrateRoot () { @@ -498,8 +500,7 @@ eval "exec $logOutFd>&- $logErrFd>&-" # # Storage daemons are distinguished by an @ in front of their command line: # https://www.freedesktop.org/wiki/Software/systemd/RootStorageDaemons/ -local pidsToKill="$(pgrep -v -f '^@')" -for pid in $pidsToKill; do +for pid in $(pgrep -v -f '^@'); do # Make sure we don't kill kernel processes, see #15226 and: # http://stackoverflow.com/questions/12213445/identifying-kernel-threads readlink "/proc/$pid/exe" &> /dev/null || continue diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix index 513c121347b1..61def24efd88 100644 --- a/nixos/modules/system/boot/stage-1.nix +++ b/nixos/modules/system/boot/stage-1.nix @@ -34,7 +34,7 @@ let # copy what we need. Instead of using statically linked binaries, # we just copy what we need from Glibc and use patchelf to make it # work. - extraUtils = pkgs.runCommand "extra-utils" + extraUtils = pkgs.runCommandCC "extra-utils" { buildInputs = [pkgs.nukeReferences]; allowedReferences = [ "out" ]; # prevent accidents like glibc being included in the initrd } @@ -134,10 +134,9 @@ let ''; # */ - udevRules = pkgs.stdenv.mkDerivation { - name = "udev-rules"; - allowedReferences = [ extraUtils ]; - buildCommand = '' + udevRules = pkgs.runCommand "udev-rules" + { allowedReferences = [ extraUtils ]; } + '' mkdir -p $out echo 'ENV{LD_LIBRARY_PATH}="${extraUtils}/lib"' > $out/00-env.rules @@ -176,7 +175,6 @@ let substituteInPlace $out/60-persistent-storage.rules \ --replace ID_CDROM_MEDIA_TRACK_COUNT_DATA ID_CDROM_MEDIA ''; # */ - }; # The init script of boot stage 1 (loading kernel modules for @@ -198,9 +196,10 @@ let preLVMCommands preDeviceCommands postDeviceCommands postMountCommands preFailCommands kernelModules; resumeDevices = map (sd: if sd ? device then sd.device else "/dev/disk/by-label/${sd.label}") - (filter (sd: (sd ? label || hasPrefix "/dev/" sd.device) && !sd.randomEncryption - # Don't include zram devices - && !(hasPrefix "/dev/zram" sd.device)) config.swapDevices); + (filter (sd: hasPrefix "/dev/" sd.device && !sd.randomEncryption + # Don't include zram devices + && !(hasPrefix "/dev/zram" sd.device) + ) config.swapDevices); fsInfo = let f = fs: [ fs.mountPoint (if fs.device != null then fs.device else "/dev/disk/by-label/${fs.label}") fs.fsType (builtins.concatStringsSep "," fs.options) ]; @@ -229,16 +228,12 @@ let { object = pkgs.writeText "mdadm.conf" config.boot.initrd.mdadmConf; symlink = "/etc/mdadm.conf"; } - { object = pkgs.stdenv.mkDerivation { - name = "initrd-kmod-blacklist-ubuntu"; - builder = pkgs.writeText "builder.sh" '' - source $stdenv/setup + { object = pkgs.runCommand "initrd-kmod-blacklist-ubuntu" + { src = "${pkgs.kmod-blacklist-ubuntu}/modprobe.conf"; } + '' target=$out - ${pkgs.perl}/bin/perl -0pe 's/## file: iwlwifi.conf(.+?)##/##/s;' $src > $out ''; - src = "${pkgs.kmod-blacklist-ubuntu}/modprobe.conf"; - }; symlink = "/etc/modprobe.d/ubuntu.conf"; } { object = pkgs.kmod-debian-aliases; diff --git a/nixos/modules/system/boot/stage-2-init.sh b/nixos/modules/system/boot/stage-2-init.sh index 946897b1c433..86f552cd3caf 100644 --- a/nixos/modules/system/boot/stage-2-init.sh +++ b/nixos/modules/system/boot/stage-2-init.sh @@ -29,7 +29,7 @@ setPath "@path@" # Normally, stage 1 mounts the root filesystem read/writable. # However, in some environments, stage 2 is executed directly, and the # root is read-only. So make it writable here. -if [ "$container" != systemd-nspawn ]; then +if [ -z "$container" ]; then mount -n -o remount,rw none / fi @@ -111,16 +111,6 @@ rm -f /etc/{group,passwd,shadow}.lock rm -rf /nix/var/nix/gcroots/tmp /nix/var/nix/temproots -# Create a ramfs on /run/keys to hold secrets that shouldn't be -# written to disk (generally used for NixOps, harmless elsewhere). -if ! mountpoint -q /run/keys; then - rm -rf /run/keys - mkdir /run/keys - mount -t ramfs ramfs /run/keys - chown 0:96 /run/keys - chmod 0750 /run/keys -fi - mkdir -m 0755 -p /run/lock diff --git a/nixos/modules/system/boot/systemd-lib.nix b/nixos/modules/system/boot/systemd-lib.nix index 2e93693cbfc8..997770b8beca 100644 --- a/nixos/modules/system/boot/systemd-lib.nix +++ b/nixos/modules/system/boot/systemd-lib.nix @@ -182,7 +182,7 @@ rec { mkdir -p $out/getty.target.wants/ ln -s ../autovt@tty1.service $out/getty.target.wants/ - ln -s ../local-fs.target ../remote-fs.target ../network.target \ + ln -s ../local-fs.target ../remote-fs.target \ ../nss-lookup.target ../nss-user-lookup.target ../swap.target \ $out/multi-user.target.wants/ ''} diff --git a/nixos/modules/system/boot/systemd-nspawn.nix b/nixos/modules/system/boot/systemd-nspawn.nix new file mode 100644 index 000000000000..f765db275e79 --- /dev/null +++ b/nixos/modules/system/boot/systemd-nspawn.nix @@ -0,0 +1,122 @@ +{ config, lib , pkgs, ...}: + +with lib; +with import ./systemd-unit-options.nix { inherit config lib; }; +with import ./systemd-lib.nix { inherit config lib pkgs; }; + +let + cfg = config.systemd.nspawn; + assertions = [ + # boot = true -> processtwo != true + ]; + + checkExec = checkUnitConfig "Exec" [ + (assertOnlyFields [ + "Boot" "ProcessTwo" "Parameters" "Environment" "User" "WorkingDirectory" + "Capability" "DropCapability" "KillSignal" "Personality" "MachineId" + "PrivateUsers" + ]) + (assertValueOneOf "Boot" boolValues) + (assertValueOneOf "ProcessTwo" boolValues) + (assertValueOneOf "PrivateUsers" (boolValues ++ [ "pick" ])) + ]; + + checkFiles = checkUnitConfig "Files" [ + (assertOnlyFields [ + "ReadOnly" "Volatile" "Bind" "BindReadOnly" "TemporaryFileSystems" + "PrivateUsersChown" + ]) + (assertValueOneOf "ReadOnly" boolValues) + (assertValueOneOf "Volatile" (boolValues ++ [ "state" ])) + (assertValueOneOf "PrivateUsersChown" boolValues) + ]; + + checkNetwork = checkUnitConfig "Network" [ + (assertOnlyFields [ + "Private" "VirtualEthernet" "VirtualEthernetExtra" "Interface" "MACVLAN" + "IPVLAN" "Bridge" "Zone" "Port" + ]) + (assertValueOneOf "Private" boolValues) + (assertValueOneOf "VirtualEthernet" boolValues) + ]; + + instanceOptions = { + options = { + + execConfig = mkOption { + default = {}; + example = { Parameters = "/bin/sh"; }; + type = types.addCheck (types.attrsOf unitOption) checkExec; + description = '' + Each attribute in this set specifies an option in the + [Exec] section of this unit. See + systemd.nspawn + 5 for details. + ''; + }; + + filesConfig = mkOption { + default = {}; + example = { Bind = [ "/home/alice" ]; }; + type = types.addCheck (types.attrsOf unitOption) checkFiles; + description = '' + Each attribute in this set specifies an option in the + [Files] section of this unit. See + systemd.nspawn + 5 for details. + ''; + }; + + networkConfig = mkOption { + default = {}; + example = { Private = false; }; + type = types.addCheck (types.attrsOf unitOption) checkNetwork; + description = '' + Each attribute in this set specifies an option in the + [Network] section of this unit. See + systemd.nspawn + 5 for details. + ''; + }; + }; + + }; + + instanceToUnit = name: def: + { text = '' + [Exec] + ${attrsToSection def.execConfig} + + [Files] + ${attrsToSection def.filesConfig} + + [Network] + ${attrsToSection def.networkConfig} + ''; + }; + +in { + + options = { + + systemd.nspawn = mkOption { + default = {}; + type = with types; attrsOf (submodule instanceOptions); + description = "Definition of systemd-nspawn configurations."; + }; + + }; + + config = + let + units = mapAttrs' (n: v: nameValuePair "${n}.nspawn" (instanceToUnit n v)) cfg.instances; + in mkIf (cfg != {}) { + + environment.etc."systemd/nspawn".source = generateUnits "nspawn" units [] []; + + systemd.services."systemd-nspawn@" = { + wantedBy = [ "machine.target" ]; + }; + }; + +} diff --git a/nixos/modules/system/boot/systemd-unit-options.nix b/nixos/modules/system/boot/systemd-unit-options.nix index f4892244de47..69af23981485 100644 --- a/nixos/modules/system/boot/systemd-unit-options.nix +++ b/nixos/modules/system/boot/systemd-unit-options.nix @@ -77,6 +77,12 @@ in rec { description = "Description of this unit used in systemd messages and progress indicators."; }; + documentation = mkOption { + default = []; + type = types.listOf types.str; + description = "A list of URIs referencing documentation for this unit or its configuration."; + }; + requires = mkOption { default = []; type = types.listOf types.str; @@ -310,7 +316,7 @@ in rec { startAt = mkOption { type = with types; either str (listOf str); - default = ""; + default = []; example = "Sun 14:00:00"; description = '' Automatically start this unit at the given date/time, which @@ -320,6 +326,7 @@ in rec { to adding a corresponding timer unit with set to the value given here. ''; + apply = v: if isList v then v else [ v ]; }; }; @@ -458,4 +465,20 @@ in rec { targetOptions = commonUnitOptions; + sliceOptions = commonUnitOptions // { + + sliceConfig = mkOption { + default = {}; + example = { MemoryMax = "2G"; }; + type = types.attrsOf unitOption; + description = '' + Each attribute in this set specifies an option in the + [Slice] section of the unit. See + systemd.slice + 5 for details. + ''; + }; + + }; + } diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix index df72be1b4be5..a2ee51669715 100644 --- a/nixos/modules/system/boot/systemd.nix +++ b/nixos/modules/system/boot/systemd.nix @@ -14,6 +14,7 @@ let upstreamSystemUnits = [ # Targets. "basic.target" + "busnames.target" "sysinit.target" "sockets.target" "graphical.target" @@ -140,6 +141,7 @@ let "user.slice" "machine.slice" "systemd-machined.service" + "systemd-nspawn@.service" # Temporary file creation / cleanup. "systemd-tmpfiles-clean.service" @@ -183,6 +185,8 @@ let "timers.target" ]; + boolToString = value: if value then "yes" else "no"; + makeJobScript = name: text: let mkScriptName = s: (replaceChars [ "\\" ] [ "-" ] (shellEscape s) ); x = pkgs.writeTextFile { name = "unit-script"; executable = true; destination = "/bin/${mkScriptName name}"; inherit text; }; @@ -210,8 +214,10 @@ let // optionalAttrs (config.restartTriggers != []) { X-Restart-Triggers = toString config.restartTriggers; } // optionalAttrs (config.description != "") { - Description = config.description; - } // optionalAttrs (config.onFailure != []) { + Description = config.description; } + // optionalAttrs (config.documentation != []) { + Documentation = toString config.documentation; } + // optionalAttrs (config.onFailure != []) { OnFailure = toString config.onFailure; }; }; @@ -369,6 +375,15 @@ let ''; }; + sliceToUnit = name: def: + { inherit (def) wantedBy requiredBy enable; + text = commonUnitText def + + '' + [Slice] + ${attrsToSection def.sliceConfig} + ''; + }; + in { @@ -387,13 +402,13 @@ in systemd.units = mkOption { description = "Definition of systemd units."; default = {}; - type = types.attrsOf types.optionSet; - options = { name, config, ... }: + type = with types; attrsOf (submodule ( + { name, config, ... }: { options = concreteUnitOptions; config = { unit = mkDefault (makeUnit name config); }; - }; + })); }; systemd.packages = mkOption { @@ -404,43 +419,37 @@ in systemd.targets = mkOption { default = {}; - type = types.attrsOf types.optionSet; - options = [ targetOptions unitConfig ]; + type = with types; attrsOf (submodule [ { options = targetOptions; } unitConfig] ); description = "Definition of systemd target units."; }; systemd.services = mkOption { default = {}; - type = types.attrsOf types.optionSet; - options = [ serviceOptions unitConfig serviceConfig ]; + type = with types; attrsOf (submodule [ { options = serviceOptions; } unitConfig serviceConfig ]); description = "Definition of systemd service units."; }; systemd.sockets = mkOption { default = {}; - type = types.attrsOf types.optionSet; - options = [ socketOptions unitConfig ]; + type = with types; attrsOf (submodule [ { options = socketOptions; } unitConfig ]); description = "Definition of systemd socket units."; }; systemd.timers = mkOption { default = {}; - type = types.attrsOf types.optionSet; - options = [ timerOptions unitConfig ]; + type = with types; attrsOf (submodule [ { options = timerOptions; } unitConfig ]); description = "Definition of systemd timer units."; }; systemd.paths = mkOption { default = {}; - type = types.attrsOf types.optionSet; - options = [ pathOptions unitConfig ]; + type = with types; attrsOf (submodule [ { options = pathOptions; } unitConfig ]); description = "Definition of systemd path units."; }; systemd.mounts = mkOption { default = []; - type = types.listOf types.optionSet; - options = [ mountOptions unitConfig mountConfig ]; + type = with types; listOf (submodule [ { options = mountOptions; } unitConfig mountConfig ]); description = '' Definition of systemd mount units. This is a list instead of an attrSet, because systemd mandates the names to be derived from @@ -450,8 +459,7 @@ in systemd.automounts = mkOption { default = []; - type = types.listOf types.optionSet; - options = [ automountOptions unitConfig automountConfig ]; + type = with types; listOf (submodule [ { options = automountOptions; } unitConfig automountConfig ]); description = '' Definition of systemd automount units. This is a list instead of an attrSet, because systemd mandates the names to be derived from @@ -459,6 +467,12 @@ in ''; }; + systemd.slices = mkOption { + default = {}; + type = with types; attrsOf (submodule [ { options = sliceOptions; } unitConfig] ); + description = "Definition of slice configurations."; + }; + systemd.generators = mkOption { type = types.attrsOf types.path; default = {}; @@ -569,6 +583,16 @@ in ''; }; + systemd.user.extraConfig = mkOption { + default = ""; + type = types.lines; + example = "DefaultCPUAccounting=yes"; + description = '' + Extra config options for systemd user instances. See man systemd-user.conf for + available options. + ''; + }; + systemd.tmpfiles.rules = mkOption { type = types.listOf types.str; default = []; @@ -588,36 +612,39 @@ in systemd.user.units = mkOption { description = "Definition of systemd per-user units."; default = {}; - type = types.attrsOf types.optionSet; - options = { name, config, ... }: + type = with types; attrsOf (submodule ( + { name, config, ... }: { options = concreteUnitOptions; config = { unit = mkDefault (makeUnit name config); }; - }; + })); }; systemd.user.services = mkOption { default = {}; - type = types.attrsOf types.optionSet; - options = [ serviceOptions unitConfig serviceConfig ]; + type = with types; attrsOf (submodule [ { options = serviceOptions; } unitConfig serviceConfig ] ); description = "Definition of systemd per-user service units."; }; systemd.user.timers = mkOption { default = {}; - type = types.attrsOf types.optionSet; - options = [ timerOptions unitConfig ]; + type = with types; attrsOf (submodule [ { options = timerOptions; } unitConfig ] ); description = "Definition of systemd per-user timer units."; }; systemd.user.sockets = mkOption { default = {}; - type = types.attrsOf types.optionSet; - options = [ socketOptions unitConfig ]; + type = with types; attrsOf (submodule [ { options = socketOptions; } unitConfig ] ); description = "Definition of systemd per-user socket units."; }; + systemd.user.targets = mkOption { + default = {}; + type = with types; attrsOf (submodule [ { options = targetOptions; } unitConfig] ); + description = "Definition of systemd per-user target units."; + }; + systemd.additionalUpstreamSystemUnits = mkOption { default = [ ]; type = types.listOf types.str; @@ -663,6 +690,11 @@ in ${config.systemd.extraConfig} ''; + "systemd/user.conf".text = '' + [Manager] + ${config.systemd.user.extraConfig} + ''; + "systemd/journald.conf".text = '' [Journal] RateLimitInterval=${config.services.journald.rateLimitInterval} @@ -725,24 +757,13 @@ in unitConfig.X-StopOnReconfiguration = true; }; - systemd.targets.network-online.after = [ "ip-up.target" ]; - - systemd.targets.network-pre = { - wantedBy = [ "network.target" ]; - before = [ "network.target" ]; - }; - - systemd.targets.remote-fs-pre = { - wantedBy = [ "remote-fs.target" ]; - before = [ "remote-fs.target" ]; - }; - systemd.units = mapAttrs' (n: v: nameValuePair "${n}.target" (targetToUnit n v)) cfg.targets // mapAttrs' (n: v: nameValuePair "${n}.service" (serviceToUnit n v)) cfg.services // mapAttrs' (n: v: nameValuePair "${n}.socket" (socketToUnit n v)) cfg.sockets // mapAttrs' (n: v: nameValuePair "${n}.timer" (timerToUnit n v)) cfg.timers // mapAttrs' (n: v: nameValuePair "${n}.path" (pathToUnit n v)) cfg.paths + // mapAttrs' (n: v: nameValuePair "${n}.slice" (sliceToUnit n v)) cfg.slices // listToAttrs (map (v: let n = escapeSystemdPath v.where; in nameValuePair "${n}.mount" (mountToUnit n v)) cfg.mounts) @@ -753,6 +774,7 @@ in systemd.user.units = mapAttrs' (n: v: nameValuePair "${n}.service" (serviceToUnit n v)) cfg.user.services // mapAttrs' (n: v: nameValuePair "${n}.socket" (socketToUnit n v)) cfg.user.sockets + // mapAttrs' (n: v: nameValuePair "${n}.target" (targetToUnit n v)) cfg.user.targets // mapAttrs' (n: v: nameValuePair "${n}.timer" (timerToUnit n v)) cfg.user.timers; system.requiredKernelConfig = map config.lib.kernelConfig.isEnabled @@ -771,7 +793,7 @@ in { wantedBy = [ "timers.target" ]; timerConfig.OnCalendar = service.startAt; }) - (filterAttrs (name: service: service.enable && service.startAt != "") cfg.services); + (filterAttrs (name: service: service.enable && service.startAt != []) cfg.services); # Generate timer units for all services that have a ‘startAt’ value. systemd.user.timers = @@ -779,7 +801,7 @@ in { wantedBy = [ "timers.target" ]; timerConfig.OnCalendar = service.startAt; }) - (filterAttrs (name: service: service.startAt != "") cfg.user.services); + (filterAttrs (name: service: service.startAt != []) cfg.user.services); systemd.sockets.systemd-journal-gatewayd.wantedBy = optional config.services.journald.enableHttpGateway "sockets.target"; @@ -803,6 +825,8 @@ in systemd.services.systemd-user-sessions.restartIfChanged = false; # Restart kills all active sessions. systemd.services.systemd-logind.restartTriggers = [ config.environment.etc."systemd/logind.conf".source ]; systemd.services.systemd-logind.stopIfChanged = false; + systemd.services.systemd-journald.restartTriggers = [ config.environment.etc."systemd/journald.conf".source ]; + systemd.services.systemd-journald.stopIfChanged = false; systemd.targets.local-fs.unitConfig.X-StopOnReconfiguration = true; systemd.targets.remote-fs.unitConfig.X-StopOnReconfiguration = true; systemd.services.systemd-binfmt.wants = [ "proc-sys-fs-binfmt_misc.automount" ]; diff --git a/nixos/modules/system/boot/timesyncd.nix b/nixos/modules/system/boot/timesyncd.nix index cba965b1cd2b..f643723ab141 100644 --- a/nixos/modules/system/boot/timesyncd.nix +++ b/nixos/modules/system/boot/timesyncd.nix @@ -6,14 +6,21 @@ with lib; options = { - services.timesyncd.enable = mkOption { - default = false; - type = types.bool; - description = '' - Enables the systemd NTP client daemon. - ''; + services.timesyncd = { + enable = mkOption { + default = !config.boot.isContainer; + type = types.bool; + description = '' + Enables the systemd NTP client daemon. + ''; + }; + servers = mkOption { + default = config.networking.timeServers; + description = '' + The set of NTP servers from which to synchronise. + ''; + }; }; - }; config = mkIf config.services.timesyncd.enable { @@ -30,8 +37,6 @@ with lib; NTP=${concatStringsSep " " config.services.ntp.servers} ''; - systemd.services.ntpd.enable = false; - users.extraUsers.systemd-timesync.uid = config.ids.uids.systemd-timesync; users.extraGroups.systemd-timesync.gid = config.ids.gids.systemd-timesync; diff --git a/nixos/modules/system/etc/etc.nix b/nixos/modules/system/etc/etc.nix index 163f4f4106e8..fd6e58cd5b43 100644 --- a/nixos/modules/system/etc/etc.nix +++ b/nixos/modules/system/etc/etc.nix @@ -8,7 +8,7 @@ let etc' = filter (f: f.enable) (attrValues config.environment.etc); - etc = pkgs.stdenv.mkDerivation { + etc = pkgs.stdenvNoCC.mkDerivation { name = "etc"; builder = ./make-etc.sh; @@ -33,7 +33,6 @@ in options = { environment.etc = mkOption { - type = types.loaOf types.optionSet; default = {}; example = literalExample '' { example-configuration-file = @@ -47,7 +46,8 @@ in Set of files that have to be linked in /etc. ''; - options = singleton ({ name, config, ... }: + type = with types; loaOf (submodule ( + { name, config, ... }: { options = { enable = mkOption { @@ -117,7 +117,7 @@ in in mkDefault (pkgs.writeText name' config.text)); }; - }); + })); }; diff --git a/nixos/modules/tasks/filesystems.nix b/nixos/modules/tasks/filesystems.nix index 9ab1baeacb98..49ba66ad50af 100644 --- a/nixos/modules/tasks/filesystems.nix +++ b/nixos/modules/tasks/filesystems.nix @@ -18,7 +18,7 @@ let prioOption = prio: optionalString (prio != null) " pri=${toString prio}"; - specialFSTypes = [ "proc" "sysfs" "tmpfs" "devtmpfs" "devpts" ]; + specialFSTypes = [ "proc" "sysfs" "tmpfs" "ramfs" "devtmpfs" "devpts" ]; coreFileSystemOpts = { name, config, ... }: { @@ -258,7 +258,7 @@ in let mountPoint' = "${escapeSystemdPath fs.mountPoint}.mount"; device' = escapeSystemdPath fs.device; - device'' = "${device}.device"; + device'' = "${device'}.device"; in nameValuePair "mkfs-${device'}" { description = "Initialisation of Filesystem ${fs.device}"; wantedBy = [ mountPoint' ]; @@ -286,11 +286,18 @@ in # Sync mount options with systemd's src/core/mount-setup.c: mount_table. boot.specialFileSystems = { "/proc" = { fsType = "proc"; options = [ "nosuid" "noexec" "nodev" ]; }; - "/sys" = { fsType = "sysfs"; options = [ "nosuid" "noexec" "nodev" ]; }; - "/run" = { fsType = "tmpfs"; options = [ "nosuid" "nodev" "strictatime" "mode=755" "size=${config.boot.runSize}" ]; }; + "/run" = { fsType = "tmpfs"; options = [ "nodev" "strictatime" "mode=755" "size=${config.boot.runSize}" ]; }; "/dev" = { fsType = "devtmpfs"; options = [ "nosuid" "strictatime" "mode=755" "size=${config.boot.devSize}" ]; }; "/dev/shm" = { fsType = "tmpfs"; options = [ "nosuid" "nodev" "strictatime" "mode=1777" "size=${config.boot.devShmSize}" ]; }; "/dev/pts" = { fsType = "devpts"; options = [ "nosuid" "noexec" "mode=620" "gid=${toString config.ids.gids.tty}" ]; }; + + # To hold secrets that shouldn't be written to disk (generally used for NixOps, harmless elsewhere) + "/run/keys" = { fsType = "ramfs"; options = [ "nosuid" "nodev" "mode=750" "gid=${toString config.ids.gids.keys}" ]; }; + } // optionalAttrs (!config.boot.isContainer) { + # systemd-nspawn populates /sys by itself, and remounting it causes all + # kinds of weird issues (most noticeably, waiting for host disk device + # nodes). + "/sys" = { fsType = "sysfs"; options = [ "nosuid" "noexec" "nodev" ]; }; }; }; diff --git a/nixos/modules/tasks/filesystems/nfs.nix b/nixos/modules/tasks/filesystems/nfs.nix index e454eca3a0e5..e9a7ccc721a9 100644 --- a/nixos/modules/tasks/filesystems/nfs.nix +++ b/nixos/modules/tasks/filesystems/nfs.nix @@ -38,15 +38,17 @@ in default = null; example = 4000; description = '' - Use fixed port for rpc.statd, useful if NFS server is behind firewall. + Use a fixed port for rpc.statd. This is + useful if the NFS server is behind a firewall. ''; }; lockdPort = mkOption { default = null; example = 4001; description = '' - Use fixed port for NFS lock manager kernel module (lockd/nlockmgr), - useful if NFS server is behind firewall. + Use a fixed port for the NFS lock manager kernel module + (lockd/nlockmgr). This is useful if the + NFS server is behind a firewall. ''; }; }; @@ -68,13 +70,16 @@ in boot.initrd.kernelModules = mkIf inInitrd [ "nfs" ]; + # FIXME: should use upstream units from nfs-utils. + systemd.services.statd = { description = "NFSv3 Network Status Monitor"; path = [ pkgs.nfs-utils pkgs.sysvtools pkgs.utillinux ]; - wantedBy = [ "remote-fs-pre.target" ]; + wants = [ "remote-fs-pre.target" ]; before = [ "remote-fs-pre.target" ]; + wantedBy = [ "remote-fs.target" ]; requires = [ "basic.target" "rpcbind.service" ]; after = [ "basic.target" "rpcbind.service" ]; @@ -100,8 +105,9 @@ in path = [ pkgs.sysvtools pkgs.utillinux ]; - wantedBy = [ "remote-fs-pre.target" ]; + wants = [ "remote-fs-pre.target" ]; before = [ "remote-fs-pre.target" ]; + wantedBy = [ "remote-fs.target" ]; requires = [ "rpcbind.service" ]; after = [ "rpcbind.service" ]; diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix index c5f41cc338cf..045cbeb7cff8 100644 --- a/nixos/modules/tasks/filesystems/zfs.nix +++ b/nixos/modules/tasks/filesystems/zfs.nix @@ -22,12 +22,18 @@ let kernel = config.boot.kernelPackages; - splKernelPkg = kernel.spl; - zfsKernelPkg = kernel.zfs; - zfsUserPkg = pkgs.zfs; + packages = if config.boot.zfs.enableUnstable then { + spl = kernel.splUnstable; + zfs = kernel.zfsUnstable; + zfsUser = pkgs.zfsUnstable; + } else { + spl = kernel.spl; + zfs = kernel.zfs; + zfsUser = pkgs.zfs; + }; autosnapPkg = pkgs.zfstools.override { - zfs = zfsUserPkg; + zfs = packages.zfsUser; }; zfsAutoSnap = "${autosnapPkg}/bin/zfs-auto-snapshot"; @@ -54,6 +60,18 @@ in options = { boot.zfs = { + enableUnstable = mkOption { + type = types.bool; + default = false; + description = '' + Use the unstable zfs package. This might be an option, if the latest + kernel is not yet supported by a published release of ZFS. Enabling + this option will install a development version of ZFS on Linux. The + version will have already passed an extensive test suite, but it is + more likely to hit an undiscovered bug compared to running a released + version of ZFS on Linux. + ''; + }; extraPools = mkOption { type = types.listOf types.str; @@ -218,16 +236,16 @@ in boot = { kernelModules = [ "spl" "zfs" ] ; - extraModulePackages = [ splKernelPkg zfsKernelPkg ]; + extraModulePackages = with packages; [ spl zfs ]; }; boot.initrd = mkIf inInitrd { kernelModules = [ "spl" "zfs" ]; extraUtilsCommands = '' - copy_bin_and_libs ${zfsUserPkg}/sbin/zfs - copy_bin_and_libs ${zfsUserPkg}/sbin/zdb - copy_bin_and_libs ${zfsUserPkg}/sbin/zpool + copy_bin_and_libs ${packages.zfsUser}/sbin/zfs + copy_bin_and_libs ${packages.zfsUser}/sbin/zdb + copy_bin_and_libs ${packages.zfsUser}/sbin/zpool ''; extraUtilsCommandsTest = mkIf inInitrd '' @@ -264,14 +282,14 @@ in zfsSupport = true; }; - environment.etc."zfs/zed.d".source = "${zfsUserPkg}/etc/zfs/zed.d/*"; + environment.etc."zfs/zed.d".source = "${packages.zfsUser}/etc/zfs/zed.d/*"; - system.fsPackages = [ zfsUserPkg ]; # XXX: needed? zfs doesn't have (need) a fsck - environment.systemPackages = [ zfsUserPkg ] - ++ optional enableAutoSnapshots autosnapPkg; # so the user can run the command to see flags + system.fsPackages = [ packages.zfsUser ]; # XXX: needed? zfs doesn't have (need) a fsck + environment.systemPackages = [ packages.zfsUser ] + ++ optional enableAutoSnapshots autosnapPkg; # so the user can run the command to see flags - services.udev.packages = [ zfsUserPkg ]; # to hook zvol naming, etc. - systemd.packages = [ zfsUserPkg ]; + services.udev.packages = [ packages.zfsUser ]; # to hook zvol naming, etc. + systemd.packages = [ packages.zfsUser ]; systemd.services = let getPoolFilesystems = pool: @@ -298,7 +316,7 @@ in RemainAfterExit = true; }; script = '' - zpool_cmd="${zfsUserPkg}/sbin/zpool" + zpool_cmd="${packages.zfsUser}/sbin/zpool" ("$zpool_cmd" list "${pool}" >/dev/null) || "$zpool_cmd" import -d ${cfgZfs.devNodes} -N ${optionalString cfgZfs.forceImportAll "-f"} "${pool}" ''; }; @@ -314,7 +332,7 @@ in RemainAfterExit = true; }; script = '' - ${zfsUserPkg}/sbin/zfs set nixos:shutdown-time="$(date)" "${pool}" + ${packages.zfsUser}/sbin/zfs set nixos:shutdown-time="$(date)" "${pool}" ''; }; diff --git a/nixos/modules/tasks/network-interfaces-scripted.nix b/nixos/modules/tasks/network-interfaces-scripted.nix index c960e401f9b1..c50ea5c79643 100644 --- a/nixos/modules/tasks/network-interfaces-scripted.nix +++ b/nixos/modules/tasks/network-interfaces-scripted.nix @@ -46,6 +46,23 @@ in systemd.services = let + deviceDependency = dev: + if (config.boot.isContainer == false) + then + # Trust udev when not in the container + optional (dev != null) (subsystemDevice dev) + else + # When in the container, check whether the interface is built from other definitions + if (hasAttr dev cfg.bridges) || + (hasAttr dev cfg.bonds) || + (hasAttr dev cfg.macvlans) || + (hasAttr dev cfg.sits) || + (hasAttr dev cfg.vlans) || + (hasAttr dev cfg.vswitches) || + (hasAttr dev cfg.wlanInterfaces) + then [ "${dev}-netdev.service" ] + else []; + networkLocalCommands = { after = [ "network-setup.service" ]; bindsTo = [ "network-setup.service" ]; @@ -54,16 +71,22 @@ in networkSetup = { description = "Networking Setup"; - after = [ "network-interfaces.target" "network-pre.target" ]; - before = [ "network.target" ]; - wantedBy = [ "network.target" ]; + after = [ "network-pre.target" "systemd-udevd.service" "systemd-sysctl.service" ]; + before = [ "network.target" "shutdown.target" ]; + wants = [ "network.target" ]; + conflicts = [ "shutdown.target" ]; + wantedBy = [ "multi-user.target" ]; unitConfig.ConditionCapability = "CAP_NET_ADMIN"; path = [ pkgs.iproute ]; - serviceConfig.Type = "oneshot"; - serviceConfig.RemainAfterExit = true; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + }; + + unitConfig.DefaultDependencies = false; script = '' @@ -108,10 +131,14 @@ in in nameValuePair "network-addresses-${i.name}" { description = "Address configuration of ${i.name}"; - wantedBy = [ "network-interfaces.target" ]; - before = [ "network-interfaces.target" ]; - bindsTo = [ (subsystemDevice i.name) ]; - after = [ (subsystemDevice i.name) "network-pre.target" ]; + wantedBy = [ "network-setup.service" ]; + # propagate stop and reload from network-setup + partOf = [ "network-setup.service" ]; + # order before network-setup because the routes that are configured + # there may need ip addresses configured + before = [ "network-setup.service" ]; + bindsTo = deviceDependency i.name; + after = [ "network-pre.target" ] ++ (deviceDependency i.name); serviceConfig.Type = "oneshot"; serviceConfig.RemainAfterExit = true; path = [ pkgs.iproute ]; @@ -129,21 +156,11 @@ in echo "checking ip ${address}..." if out=$(ip addr add "${address}" dev "${i.name}" 2>&1); then echo "added ip ${address}..." - restart_network_setup=true elif ! echo "$out" | grep "File exists" >/dev/null 2>&1; then echo "failed to add ${address}" exit 1 fi - '') - + optionalString (ips != [ ]) - '' - if [ "$restart_network_setup" = "true" ]; then - # Ensure that the default gateway remains set. - # (Flushing this interface may have removed it.) - ${config.systemd.package}/bin/systemctl try-restart --no-block network-setup.service - fi - ${config.systemd.package}/bin/systemctl start ip-up.target - ''; + ''); preStop = flip concatMapStrings (ips) (ip: let address = "${ip.address}/${toString ip.prefixLength}"; @@ -157,10 +174,11 @@ in createTunDevice = i: nameValuePair "${i.name}-netdev" { description = "Virtual Network Interface ${i.name}"; - requires = [ "dev-net-tun.device" ]; + bindsTo = [ "dev-net-tun.device" ]; after = [ "dev-net-tun.device" "network-pre.target" ]; - wantedBy = [ "network.target" (subsystemDevice i.name) ]; - before = [ "network-interfaces.target" (subsystemDevice i.name) ]; + wantedBy = [ "network-setup.service" (subsystemDevice i.name) ]; + partOf = [ "network-setup.service" ]; + before = [ "network-setup.service" (subsystemDevice i.name) ]; path = [ pkgs.iproute ]; serviceConfig = { Type = "oneshot"; @@ -178,15 +196,15 @@ in createBridgeDevice = n: v: nameValuePair "${n}-netdev" (let - deps = map subsystemDevice v.interfaces; + deps = concatLists (map deviceDependency v.interfaces); in { description = "Bridge Interface ${n}"; - wantedBy = [ "network.target" (subsystemDevice n) ]; + wantedBy = [ "network-setup.service" (subsystemDevice n) ]; bindsTo = deps ++ optional v.rstp "mstpd.service"; - partOf = optional v.rstp "mstpd.service"; + partOf = [ "network-setup.service" ] ++ optional v.rstp "mstpd.service"; after = [ "network-pre.target" "mstpd.service" ] ++ deps ++ concatMap (i: [ "network-addresses-${i}.service" "network-link-${i}.service" ]) v.interfaces; - before = [ "network-interfaces.target" (subsystemDevice n) ]; + before = [ "network-setup.service" (subsystemDevice n) ]; serviceConfig.Type = "oneshot"; serviceConfig.RemainAfterExit = true; path = [ pkgs.iproute ]; @@ -219,15 +237,15 @@ in createVswitchDevice = n: v: nameValuePair "${n}-netdev" (let - deps = map subsystemDevice v.interfaces; + deps = concatLists (map deviceDependency v.interfaces); ofRules = pkgs.writeText "vswitch-${n}-openFlowRules" v.openFlowRules; in { description = "Open vSwitch Interface ${n}"; - wantedBy = [ "network.target" "vswitchd.service" ] ++ deps; + wantedBy = [ "network-setup.service" "vswitchd.service" ] ++ deps; bindsTo = [ "vswitchd.service" (subsystemDevice n) ] ++ deps; - partOf = [ "vswitchd.service" ]; + partOf = [ "network-setup.service" "vswitchd.service" ]; after = [ "network-pre.target" "vswitchd.service" ] ++ deps; - before = [ "network-interfaces.target" ]; + before = [ "network-setup.service" ]; serviceConfig.Type = "oneshot"; serviceConfig.RemainAfterExit = true; path = [ pkgs.iproute config.virtualisation.vswitch.package ]; @@ -252,14 +270,15 @@ in createBondDevice = n: v: nameValuePair "${n}-netdev" (let - deps = map subsystemDevice v.interfaces; + deps = concatLists (map deviceDependency v.interfaces); in { description = "Bond Interface ${n}"; - wantedBy = [ "network.target" (subsystemDevice n) ]; + wantedBy = [ "network-setup.service" (subsystemDevice n) ]; bindsTo = deps; + partOf = [ "network-setup.service" ]; after = [ "network-pre.target" ] ++ deps ++ concatMap (i: [ "network-addresses-${i}.service" "network-link-${i}.service" ]) v.interfaces; - before = [ "network-interfaces.target" (subsystemDevice n) ]; + before = [ "network-setup.service" (subsystemDevice n) ]; serviceConfig.Type = "oneshot"; serviceConfig.RemainAfterExit = true; path = [ pkgs.iproute pkgs.gawk ]; @@ -289,13 +308,14 @@ in createMacvlanDevice = n: v: nameValuePair "${n}-netdev" (let - deps = [ (subsystemDevice v.interface) ]; + deps = deviceDependency v.interface; in { description = "Vlan Interface ${n}"; - wantedBy = [ "network.target" (subsystemDevice n) ]; + wantedBy = [ "network-setup.service" (subsystemDevice n) ]; bindsTo = deps; + partOf = [ "network-setup.service" ]; after = [ "network-pre.target" ] ++ deps; - before = [ "network-interfaces.target" (subsystemDevice n) ]; + before = [ "network-setup.service" (subsystemDevice n) ]; serviceConfig.Type = "oneshot"; serviceConfig.RemainAfterExit = true; path = [ pkgs.iproute ]; @@ -313,13 +333,14 @@ in createSitDevice = n: v: nameValuePair "${n}-netdev" (let - deps = optional (v.dev != null) (subsystemDevice v.dev); + deps = deviceDependency v.dev; in { description = "6-to-4 Tunnel Interface ${n}"; - wantedBy = [ "network.target" (subsystemDevice n) ]; + wantedBy = [ "network-setup.service" (subsystemDevice n) ]; bindsTo = deps; + partOf = [ "network-setup.service" ]; after = [ "network-pre.target" ] ++ deps; - before = [ "network-interfaces.target" (subsystemDevice n) ]; + before = [ "network-setup.service" (subsystemDevice n) ]; serviceConfig.Type = "oneshot"; serviceConfig.RemainAfterExit = true; path = [ pkgs.iproute ]; @@ -340,13 +361,14 @@ in createVlanDevice = n: v: nameValuePair "${n}-netdev" (let - deps = [ (subsystemDevice v.interface) ]; + deps = deviceDependency v.interface; in { description = "Vlan Interface ${n}"; - wantedBy = [ "network.target" (subsystemDevice n) ]; + wantedBy = [ "network-setup.service" (subsystemDevice n) ]; bindsTo = deps; + partOf = [ "network-setup.service" ]; after = [ "network-pre.target" ] ++ deps; - before = [ "network-interfaces.target" (subsystemDevice n) ]; + before = [ "network-setup.service" (subsystemDevice n) ]; serviceConfig.Type = "oneshot"; serviceConfig.RemainAfterExit = true; path = [ pkgs.iproute ]; diff --git a/nixos/modules/tasks/network-interfaces-systemd.nix b/nixos/modules/tasks/network-interfaces-systemd.nix index 301ee43fd0e5..974041d7e1a5 100644 --- a/nixos/modules/tasks/network-interfaces-systemd.nix +++ b/nixos/modules/tasks/network-interfaces-systemd.nix @@ -43,7 +43,7 @@ in message = "networking.bridges.${n}.rstp is not supported by networkd."; }); - systemd.services.dhcpcd.enable = mkDefault false; + networking.dhcpcd.enable = mkDefault false; systemd.services.network-local-commands = { after = [ "systemd-networkd.service" ]; diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix index 1e0b874297a2..a69435ff5937 100644 --- a/nixos/modules/tasks/network-interfaces.nix +++ b/nixos/modules/tasks/network-interfaces.nix @@ -97,21 +97,22 @@ let addrOpts = v: assert v == 4 || v == 6; - { - address = mkOption { - type = types.str; - description = '' - IPv${toString v} address of the interface. Leave empty to configure the - interface using DHCP. - ''; - }; + { options = { + address = mkOption { + type = types.str; + description = '' + IPv${toString v} address of the interface. Leave empty to configure the + interface using DHCP. + ''; + }; - prefixLength = mkOption { - type = types.addCheck types.int (n: n >= 0 && n <= (if v == 4 then 32 else 128)); - description = '' - Subnet mask of the interface, specified as the number of - bits in the prefix (${if v == 4 then "24" else "64"}). - ''; + prefixLength = mkOption { + type = types.addCheck types.int (n: n >= 0 && n <= (if v == 4 then 32 else 128)); + description = '' + Subnet mask of the interface, specified as the number of + bits in the prefix (${if v == 4 then "24" else "64"}). + ''; + }; }; }; @@ -141,8 +142,7 @@ let { address = "10.0.0.1"; prefixLength = 16; } { address = "192.168.1.1"; prefixLength = 24; } ]; - type = types.listOf types.optionSet; - options = addrOpts 4; + type = with types; listOf (submodule (addrOpts 4)); description = '' List of IPv4 addresses that will be statically assigned to the interface. ''; @@ -154,8 +154,7 @@ let { address = "fdfd:b3f0:482::1"; prefixLength = 48; } { address = "2001:1470:fffd:2098::e006"; prefixLength = 64; } ]; - type = types.listOf types.optionSet; - options = addrOpts 6; + type = with types; listOf (submodule (addrOpts 6)); description = '' List of IPv6 addresses that will be statically assigned to the interface. ''; @@ -231,7 +230,7 @@ let type = types.bool; description = '' Whether this interface is virtual and should be created by tunctl. - This is mainly useful for creating bridges between a host a virtual + This is mainly useful for creating bridges between a host and a virtual network such as VPN or a virtual machine. ''; }; @@ -246,7 +245,7 @@ let virtualType = mkOption { default = null; - type = types.nullOr (types.addCheck types.str (v: v == "tun" || v == "tap")); + type = with types; nullOr (enum [ "tun" "tap" ]); description = '' The explicit type of interface to create. Accepts tun or tap strings. Also accepts null to implicitly detect the type of device. @@ -311,9 +310,9 @@ in generate a random 32-bit ID using the following commands: cksum /etc/machine-id | while read c rest; do printf "%x" $c; done - + (this derives it from the machine-id that systemd generates) or - + head -c4 /dev/urandom | od -A none -t x4 ''; }; @@ -391,7 +390,7 @@ in }; networking.localCommands = mkOption { - type = types.str; + type = types.lines; default = ""; example = "text=anything; echo You can put $text here."; description = '' @@ -415,8 +414,7 @@ in is true, then every interface not listed here will be configured using DHCP. ''; - type = types.loaOf types.optionSet; - options = [ interfaceOpts ]; + type = with types; loaOf (submodule interfaceOpts); }; networking.vswitches = mkOption { @@ -434,53 +432,55 @@ in interface. ''; - type = types.attrsOf types.optionSet; + type = with types; attrsOf (submodule { - options = { + options = { + + interfaces = mkOption { + example = [ "eth0" "eth1" ]; + type = types.listOf types.str; + description = + "The physical network interfaces connected by the vSwitch."; + }; + + controllers = mkOption { + type = types.listOf types.str; + default = []; + example = [ "ptcp:6653:[::1]" ]; + description = '' + Specify the controller targets. For the allowed options see man 8 ovs-vsctl. + ''; + }; + + openFlowRules = mkOption { + type = types.lines; + default = ""; + example = '' + actions=normal + ''; + description = '' + OpenFlow rules to insert into the Open vSwitch. All openFlowRules are + loaded with ovs-ofctl within one atomic operation. + ''; + }; + + extraOvsctlCmds = mkOption { + type = types.lines; + default = ""; + example = '' + set-fail-mode secure + set Bridge stp_enable=true + ''; + description = '' + Commands to manipulate the Open vSwitch database. Every line executed with ovs-vsctl. + All commands are bundled together with the operations for adding the interfaces + into one atomic operation. + ''; + }; - interfaces = mkOption { - example = [ "eth0" "eth1" ]; - type = types.listOf types.str; - description = - "The physical network interfaces connected by the vSwitch."; }; - controllers = mkOption { - type = types.listOf types.str; - default = []; - example = [ "ptcp:6653:[::1]" ]; - description = '' - Specify the controller targets. For the allowed options see man 8 ovs-vsctl. - ''; - }; - - openFlowRules = mkOption { - type = types.lines; - default = ""; - example = '' - actions=normal - ''; - description = '' - OpenFlow rules to insert into the Open vSwitch. All openFlowRules are - loaded with ovs-ofctl within one atomic operation. - ''; - }; - - extraOvsctlCmds = mkOption { - type = types.lines; - default = ""; - example = '' - set-fail-mode secure - set Bridge stp_enable=true - ''; - description = '' - Commands to manipulate the Open vSwitch database. Every line executed with ovs-vsctl. - All commands are bundled together with the operations for adding the interfaces - into one atomic operation. - ''; - }; - - }; + }); }; @@ -499,25 +499,27 @@ in bridge's network interface. ''; - type = types.attrsOf types.optionSet; + type = with types; attrsOf (submodule { - options = { + options = { + + interfaces = mkOption { + example = [ "eth0" "eth1" ]; + type = types.listOf types.str; + description = + "The physical network interfaces connected by the bridge."; + }; + + rstp = mkOption { + example = true; + default = false; + type = types.bool; + description = "Whether the bridge interface should enable rstp."; + }; - interfaces = mkOption { - example = [ "eth0" "eth1" ]; - type = types.listOf types.str; - description = - "The physical network interfaces connected by the bridge."; }; - rstp = mkOption { - example = true; - default = false; - type = types.bool; - description = "Whether the bridge interface should enable rstp."; - }; - - }; + }); }; @@ -538,65 +540,66 @@ in name specifying the name of the bond's network interface ''; - type = types.attrsOf types.optionSet; + type = with types; attrsOf (submodule { - options = { + options = { + + interfaces = mkOption { + example = [ "enp4s0f0" "enp4s0f1" "wlan0" ]; + type = types.listOf types.str; + description = "The interfaces to bond together"; + }; + + lacp_rate = mkOption { + default = null; + example = "fast"; + type = types.nullOr types.str; + description = '' + Option specifying the rate in which we'll ask our link partner + to transmit LACPDU packets in 802.3ad mode. + ''; + }; + + miimon = mkOption { + default = null; + example = 100; + type = types.nullOr types.int; + description = '' + Miimon is the number of millisecond in between each round of polling + by the device driver for failed links. By default polling is not + enabled and the driver is trusted to properly detect and handle + failure scenarios. + ''; + }; + + mode = mkOption { + default = null; + example = "active-backup"; + type = types.nullOr types.str; + description = '' + The mode which the bond will be running. The default mode for + the bonding driver is balance-rr, optimizing for throughput. + More information about valid modes can be found at + https://www.kernel.org/doc/Documentation/networking/bonding.txt + ''; + }; + + xmit_hash_policy = mkOption { + default = null; + example = "layer2+3"; + type = types.nullOr types.str; + description = '' + Selects the transmit hash policy to use for slave selection in + balance-xor, 802.3ad, and tlb modes. + ''; + }; - interfaces = mkOption { - example = [ "enp4s0f0" "enp4s0f1" "wlan0" ]; - type = types.listOf types.str; - description = "The interfaces to bond together"; }; - lacp_rate = mkOption { - default = null; - example = "fast"; - type = types.nullOr types.str; - description = '' - Option specifying the rate in which we'll ask our link partner - to transmit LACPDU packets in 802.3ad mode. - ''; - }; - - miimon = mkOption { - default = null; - example = 100; - type = types.nullOr types.int; - description = '' - Miimon is the number of millisecond in between each round of polling - by the device driver for failed links. By default polling is not - enabled and the driver is trusted to properly detect and handle - failure scenarios. - ''; - }; - - mode = mkOption { - default = null; - example = "active-backup"; - type = types.nullOr types.str; - description = '' - The mode which the bond will be running. The default mode for - the bonding driver is balance-rr, optimizing for throughput. - More information about valid modes can be found at - https://www.kernel.org/doc/Documentation/networking/bonding.txt - ''; - }; - - xmit_hash_policy = mkOption { - default = null; - example = "layer2+3"; - type = types.nullOr types.str; - description = '' - Selects the transmit hash policy to use for slave selection in - balance-xor, 802.3ad, and tlb modes. - ''; - }; - - }; + }); }; networking.macvlans = mkOption { - type = types.attrsOf types.optionSet; default = { }; example = literalExample { wan = { @@ -608,26 +611,28 @@ in This option allows you to define macvlan interfaces which should be automatically created. ''; - options = { + type = with types; attrsOf (submodule { + options = { + + interface = mkOption { + example = "enp4s0"; + type = types.str; + description = "The interface the macvlan will transmit packets through."; + }; + + mode = mkOption { + default = null; + type = types.nullOr types.str; + example = "vepa"; + description = "The mode of the macvlan device."; + }; - interface = mkOption { - example = "enp4s0"; - type = types.str; - description = "The interface the macvlan will transmit packets through."; }; - mode = mkOption { - default = null; - type = types.nullOr types.str; - example = "vepa"; - description = "The mode of the macvlan device."; - }; - - }; + }); }; networking.sits = mkOption { - type = types.attrsOf types.optionSet; default = { }; example = literalExample { hurricane = { @@ -644,46 +649,49 @@ in description = '' This option allows you to define 6-to-4 interfaces which should be automatically created. ''; - options = { + type = with types; attrsOf (submodule { + options = { + + remote = mkOption { + type = types.nullOr types.str; + default = null; + example = "10.0.0.1"; + description = '' + The address of the remote endpoint to forward traffic over. + ''; + }; + + local = mkOption { + type = types.nullOr types.str; + default = null; + example = "10.0.0.22"; + description = '' + The address of the local endpoint which the remote + side should send packets to. + ''; + }; + + ttl = mkOption { + type = types.nullOr types.int; + default = null; + example = 255; + description = '' + The time-to-live of the connection to the remote tunnel endpoint. + ''; + }; + + dev = mkOption { + type = types.nullOr types.str; + default = null; + example = "enp4s0f0"; + description = '' + The underlying network device on which the tunnel resides. + ''; + }; - remote = mkOption { - type = types.nullOr types.str; - default = null; - example = "10.0.0.1"; - description = '' - The address of the remote endpoint to forward traffic over. - ''; }; - local = mkOption { - type = types.nullOr types.str; - default = null; - example = "10.0.0.22"; - description = '' - The address of the local endpoint which the remote - side should send packets to. - ''; - }; - - ttl = mkOption { - type = types.nullOr types.int; - default = null; - example = 255; - description = '' - The time-to-live of the connection to the remote tunnel endpoint. - ''; - }; - - dev = mkOption { - type = types.nullOr types.str; - default = null; - example = "enp4s0f0"; - description = '' - The underlying network device on which the tunnel resides. - ''; - }; - - }; + }); }; networking.vlans = mkOption { @@ -706,23 +714,26 @@ in specifying the name of the vlan interface. ''; - type = types.attrsOf types.optionSet; + type = with types; attrsOf (submodule { - options = { + options = { + + id = mkOption { + example = 1; + type = types.int; + description = "The vlan identifier"; + }; + + interface = mkOption { + example = "enp4s0"; + type = types.str; + description = "The interface the vlan will transmit packets through."; + }; - id = mkOption { - example = 1; - type = types.int; - description = "The vlan identifier"; }; - interface = mkOption { - example = "enp4s0"; - type = types.str; - description = "The interface the vlan will transmit packets through."; - }; + }); - }; }; networking.wlanInterfaces = mkOption { @@ -760,73 +771,69 @@ in would have to be created explicitly. ''; - type = types.attrsOf types.optionSet; + type = with types; attrsOf (submodule { - options = { + options = { + + device = mkOption { + type = types.string; + example = "wlp6s0"; + description = "The name of the underlying hardware WLAN device as assigned by udev."; + }; + + type = mkOption { + type = types.enum [ "managed" "ibss" "monitor" "mesh" "wds" ]; + default = "managed"; + example = "ibss"; + description = '' + The type of the WLAN interface. + The type has to be supported by the underlying hardware of the device. + ''; + }; + + meshID = mkOption { + type = types.nullOr types.string; + default = null; + description = "MeshID of interface with type mesh."; + }; + + flags = mkOption { + type = with types; nullOr (enum [ "none" "fcsfail" "control" "otherbss" "cook" "active" ]); + default = null; + example = "control"; + description = '' + Flags for interface of type monitor. + ''; + }; + + fourAddr = mkOption { + type = types.nullOr types.bool; + default = null; + description = "Whether to enable 4-address mode with type managed."; + }; + + mac = mkOption { + type = types.nullOr types.str; + default = null; + example = "02:00:00:00:00:01"; + description = '' + MAC address to use for the device. If null, then the MAC of the + underlying hardware WLAN device is used. + + INFO: Locally administered MAC addresses are of the form: + + x2:xx:xx:xx:xx:xx + x6:xx:xx:xx:xx:xx + xA:xx:xx:xx:xx:xx + xE:xx:xx:xx:xx:xx + + ''; + }; - device = mkOption { - type = types.string; - example = "wlp6s0"; - description = "The name of the underlying hardware WLAN device as assigned by udev."; }; - type = mkOption { - type = types.string; - default = "managed"; - example = "ibss"; - description = '' - The type of the WLAN interface. The type has to be either managed, - ibss, monitor, mesh or wds. - Also, the type has to be supported by the underlying hardware of the device. - ''; - }; + }); - meshID = mkOption { - type = types.nullOr types.string; - default = null; - description = "MeshID of interface with type mesh."; - }; - - flags = mkOption { - type = types.nullOr types.string; - default = null; - example = "control"; - description = '' - Flags for interface of type monitor. The valid flags are: - none: no special flags - fcsfail: show frames with FCS errors - control: show control frames - otherbss: show frames from other BSSes - cook: use cooked mode - active: use active mode (ACK incoming unicast packets) - ''; - }; - - fourAddr = mkOption { - type = types.nullOr types.bool; - default = null; - description = "Whether to enable 4-address mode with type managed."; - }; - - mac = mkOption { - type = types.nullOr types.str; - default = null; - example = "02:00:00:00:00:01"; - description = '' - MAC address to use for the device. If null, then the MAC of the - underlying hardware WLAN device is used. - - INFO: Locally administered MAC addresses are of the form: - - x2:xx:xx:xx:xx:xx - x6:xx:xx:xx:xx:xx - xA:xx:xx:xx:xx:xx - xE:xx:xx:xx:xx:xx - - ''; - }; - - }; }; networking.useDHCP = mkOption { @@ -938,20 +945,23 @@ in domainname "${cfg.domain}" ''; - environment.etc = mkIf (cfg.hostId != null) - [ - { - target = "hostid"; - source = pkgs.runCommand "gen-hostid" {} '' - hi="${cfg.hostId}" - ${if pkgs.stdenv.isBigEndian then '' - echo -ne "\x''${hi:0:2}\x''${hi:2:2}\x''${hi:4:2}\x''${hi:6:2}" > $out - '' else '' - echo -ne "\x''${hi:6:2}\x''${hi:4:2}\x''${hi:2:2}\x''${hi:0:2}" > $out - ''} - ''; - } - ]; + environment.etc."hostid" = mkIf (cfg.hostId != null) + { source = pkgs.runCommand "gen-hostid" {} '' + hi="${cfg.hostId}" + ${if pkgs.stdenv.isBigEndian then '' + echo -ne "\x''${hi:0:2}\x''${hi:2:2}\x''${hi:4:2}\x''${hi:6:2}" > $out + '' else '' + echo -ne "\x''${hi:6:2}\x''${hi:4:2}\x''${hi:2:2}\x''${hi:0:2}" > $out + ''} + ''; + }; + + # static hostname configuration needed for hostnamectl and the + # org.freedesktop.hostname1 dbus service (both provided by systemd) + environment.etc."hostname" = mkIf (cfg.hostName != "") + { + text = cfg.hostName + "\n"; + }; environment.systemPackages = [ pkgs.host @@ -967,8 +977,10 @@ in ] ++ bridgeStp; + # The network-interfaces target is kept for backwards compatibility. + # New modules must NOT use it. systemd.targets."network-interfaces" = - { description = "All Network Interfaces"; + { description = "All Network Interfaces (deprecated)"; wantedBy = [ "network.target" ]; before = [ "network.target" ]; after = [ "network-pre.target" ]; @@ -991,12 +1003,17 @@ in ''; }; } // (listToAttrs (flip map interfaces (i: + let + deviceDependency = if config.boot.isContainer + then [] + else [ (subsystemDevice i.name) ]; + in nameValuePair "network-link-${i.name}" { description = "Link configuration of ${i.name}"; wantedBy = [ "network-interfaces.target" ]; before = [ "network-interfaces.target" ]; - bindsTo = [ (subsystemDevice i.name) ]; - after = [ (subsystemDevice i.name) "network-pre.target" ]; + bindsTo = deviceDependency; + after = [ "network-pre.target" ] ++ deviceDependency; path = [ pkgs.iproute ]; serviceConfig = { Type = "oneshot"; diff --git a/nixos/modules/testing/test-instrumentation.nix b/nixos/modules/testing/test-instrumentation.nix index e216351b4347..099ead3d846c 100644 --- a/nixos/modules/testing/test-instrumentation.nix +++ b/nixos/modules/testing/test-instrumentation.nix @@ -9,6 +9,15 @@ let kernel = config.boot.kernelPackages.kernel; in { + # This option is a dummy that if used in conjunction with + # modules/virtualisation/qemu-vm.nix gets merged with the same option defined + # there and only is declared here because some modules use + # test-instrumentation.nix but not qemu-vm.nix. + # + # One particular example are the boot tests where we want instrumentation + # within the images but not other stuff like setting up 9p filesystems. + options.virtualisation.qemu.program = mkOption { type = types.path; }; + config = { systemd.services.backdoor = diff --git a/nixos/modules/virtualisation/amazon-image.nix b/nixos/modules/virtualisation/amazon-image.nix index f9c3f2e53adc..80e481d79b9e 100644 --- a/nixos/modules/virtualisation/amazon-image.nix +++ b/nixos/modules/virtualisation/amazon-image.nix @@ -94,7 +94,6 @@ let cfg = config.ec2; in elif [ "$fsType" = ext3 ]; then mp="/disk$diskNr" diskNr=$((diskNr + 1)) - echo "mounting $device on $mp..." if mountFS "$device" "$mp" "" ext3; then if [ -z "$diskForUnionfs" ]; then diskForUnionfs="$mp"; fi fi @@ -138,7 +137,7 @@ let cfg = config.ec2; in # Allow root logins only using the SSH key that the user specified # at instance creation time. services.openssh.enable = true; - services.openssh.permitRootLogin = "without-password"; + services.openssh.permitRootLogin = "prohibit-password"; # Force getting the hostname from EC2. networking.hostName = mkDefault ""; diff --git a/nixos/modules/virtualisation/azure-agent.nix b/nixos/modules/virtualisation/azure-agent.nix index a89cd454dc73..6817eb837a01 100644 --- a/nixos/modules/virtualisation/azure-agent.nix +++ b/nixos/modules/virtualisation/azure-agent.nix @@ -178,7 +178,8 @@ in systemd.services.waagent = { wantedBy = [ "multi-user.target" ]; - after = [ "ip-up.target" "sshd.service" ]; + after = [ "network-online.target" "sshd.service" ]; + wants = [ "network-online.target" ]; path = [ pkgs.e2fsprogs ]; description = "Windows Azure Agent Service"; diff --git a/nixos/modules/virtualisation/azure-bootstrap-blobs.nix b/nixos/modules/virtualisation/azure-bootstrap-blobs.nix new file mode 100644 index 000000000000..281be9a12318 --- /dev/null +++ b/nixos/modules/virtualisation/azure-bootstrap-blobs.nix @@ -0,0 +1,3 @@ +{ + "16.03" = "https://nixos.blob.core.windows.net/images/nixos-image-16.03.847.8688c17-x86_64-linux.vhd"; +} diff --git a/nixos/modules/virtualisation/azure-common.nix b/nixos/modules/virtualisation/azure-common.nix index 70a3d752f6d1..5cd2304a2953 100644 --- a/nixos/modules/virtualisation/azure-common.nix +++ b/nixos/modules/virtualisation/azure-common.nix @@ -24,7 +24,7 @@ with lib; # Allow root logins only using the SSH key that the user specified # at instance creation time, ping client connections to avoid timeouts services.openssh.enable = true; - services.openssh.permitRootLogin = "without-password"; + services.openssh.permitRootLogin = "prohibit-password"; services.openssh.extraConfig = '' ClientAliveInterval 180 ''; diff --git a/nixos/modules/virtualisation/brightbox-image.nix b/nixos/modules/virtualisation/brightbox-image.nix index 760a7100c6e0..7f45f0f34f71 100644 --- a/nixos/modules/virtualisation/brightbox-image.nix +++ b/nixos/modules/virtualisation/brightbox-image.nix @@ -20,7 +20,7 @@ in postVM = '' - PATH=$PATH:${stdenv.lib.makeBinPath [ pkgs.gnutar pkgs.gzip ]} + PATH=$PATH:${lib.makeBinPath [ pkgs.gnutar pkgs.gzip ]} pushd $out ${pkgs.qemu_kvm}/bin/qemu-img convert -c -O qcow2 $diskImageBase nixos.qcow2 rm $diskImageBase @@ -103,7 +103,7 @@ in # Allow root logins only using the SSH key that the user specified # at instance creation time. services.openssh.enable = true; - services.openssh.permitRootLogin = "without-password"; + services.openssh.permitRootLogin = "prohibit-password"; # Force getting the hostname from Google Compute. networking.hostName = mkDefault ""; @@ -116,8 +116,8 @@ in wantedBy = [ "multi-user.target" "sshd.service" ]; before = [ "sshd.service" ]; - wants = [ "ip-up.target" ]; - after = [ "ip-up.target" ]; + wants = [ "network-online.target" ]; + after = [ "network-online.target" ]; path = [ pkgs.wget pkgs.iproute ]; diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index 413aa94339f1..7d445fa0951e 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -12,21 +12,21 @@ let '' echo "Bringing ${name} up" ip link set dev ${name} up - ${optionalString (cfg . "localAddress" or null != null) '' + ${optionalString (cfg.localAddress != null) '' echo "Setting ip for ${name}" - ip addr add ${cfg . "localAddress"} dev ${name} + ip addr add ${cfg.localAddress} dev ${name} ''} - ${optionalString (cfg . "localAddress6" or null != null) '' + ${optionalString (cfg.localAddress6 != null) '' echo "Setting ip6 for ${name}" - ip -6 addr add ${cfg . "localAddress6"} dev ${name} + ip -6 addr add ${cfg.localAddress6} dev ${name} ''} - ${optionalString (cfg . "hostAddress" or null != null) '' + ${optionalString (cfg.hostAddress != null) '' echo "Setting route to host for ${name}" - ip route add ${cfg . "hostAddress"} dev ${name} + ip route add ${cfg.hostAddress} dev ${name} ''} - ${optionalString (cfg . "hostAddress6" or null != null) '' + ${optionalString (cfg.hostAddress6 != null) '' echo "Setting route6 to host for ${name}" - ip -6 route add ${cfg . "hostAddress6"} dev ${name} + ip -6 route add ${cfg.hostAddress6} dev ${name} ''} '' ); @@ -56,9 +56,7 @@ let ip -6 route add default via $HOST_ADDRESS6 fi - ${concatStringsSep "\n" (mapAttrsToList renderExtraVeth cfg . "extraVeths" or {})} - ip a - ip r + ${concatStringsSep "\n" (mapAttrsToList renderExtraVeth cfg.extraVeths)} fi # Start the regular stage 1 script. @@ -67,7 +65,8 @@ let ); nspawnExtraVethArgs = (name: cfg: "--network-veth-extra=${name}"); - startScript = (cfg: + + startScript = cfg: '' mkdir -p -m 0755 "$root/etc" "$root/var/lib" mkdir -p -m 0700 "$root/var/lib/private" "$root/root" /run/containers @@ -92,11 +91,7 @@ let fi fi - ${if cfg . "extraVeths" or null != null then - ''extraFlags+=" ${concatStringsSep " " (mapAttrsToList nspawnExtraVethArgs cfg . "extraVeths" or {})}"'' - else - ''# No extra veth pairs to create'' - } + extraFlags+=" ${concatStringsSep " " (mapAttrsToList nspawnExtraVethArgs cfg.extraVeths)}" for iface in $INTERFACES; do extraFlags+=" --network-interface=$iface" @@ -134,11 +129,16 @@ let --setenv HOST_ADDRESS6="$HOST_ADDRESS6" \ --setenv LOCAL_ADDRESS6="$LOCAL_ADDRESS6" \ --setenv PATH="$PATH" \ + ${if cfg.additionalCapabilities != null && cfg.additionalCapabilities != [] then + ''--capability="${concatStringsSep " " cfg.additionalCapabilities}"'' else "" + } \ + ${if cfg.tmpfs != null && cfg.tmpfs != [] then + ''--tmpfs=${concatStringsSep " --tmpfs=" cfg.tmpfs}'' else "" + } \ ${containerInit cfg} "''${SYSTEM_PATH:-/nix/var/nix/profiles/system}/init" - '' - ); + ''; - preStartScript = (cfg: + preStartScript = cfg: '' # Clean up existing machined registration and interfaces. machinectl terminate "$INSTANCE" 2> /dev/null || true @@ -151,45 +151,43 @@ let ${concatStringsSep "\n" ( mapAttrsToList (name: cfg: ''ip link del dev ${name} 2> /dev/null || true '' - ) cfg . "extraVeths" or {} + ) cfg.extraVeths )} - '' - ); + ''; + postStartScript = (cfg: let - ipcall = (cfg: ipcmd: variable: attribute: - if cfg . attribute or null == null then + ipcall = cfg: ipcmd: variable: attribute: + if cfg.${attribute} == null then '' if [ -n "${variable}" ]; then ${ipcmd} add ${variable} dev $ifaceHost fi '' else - ''${ipcmd} add ${cfg . attribute} dev $ifaceHost'' - ); - renderExtraVeth = (name: cfg: - if cfg . "hostBridge" or null != null then + ''${ipcmd} add ${cfg.${attribute}} dev $ifaceHost''; + renderExtraVeth = name: cfg: + if cfg.hostBridge != null then '' # Add ${name} to bridge ${cfg.hostBridge} ip link set dev ${name} master ${cfg.hostBridge} up '' else '' - # Set IPs and routes for ${name} - ${optionalString (cfg . "hostAddress" or null != null) '' - ip addr add ${cfg . "hostAddress"} dev ${name} - ''} - ${optionalString (cfg . "hostAddress6" or null != null) '' - ip -6 addr add ${cfg . "hostAddress6"} dev ${name} - ''} - ${optionalString (cfg . "localAddress" or null != null) '' - ip route add ${cfg . "localAddress"} dev ${name} - ''} - ${optionalString (cfg . "localAddress6" or null != null) '' - ip -6 route add ${cfg . "localAddress6"} dev ${name} - ''} - '' - ); + # Set IPs and routes for ${name} + ${optionalString (cfg.hostAddress != null) '' + ip addr add ${cfg.hostAddress} dev ${name} + ''} + ${optionalString (cfg.hostAddress6 != null) '' + ip -6 addr add ${cfg.hostAddress6} dev ${name} + ''} + ${optionalString (cfg.localAddress != null) '' + ip route add ${cfg.localAddress} dev ${name} + ''} + ${optionalString (cfg.localAddress6 != null) '' + ip -6 route add ${cfg.localAddress6} dev ${name} + ''} + ''; in '' if [ "$PRIVATE_NETWORK" = 1 ]; then @@ -202,7 +200,7 @@ let ${ipcall cfg "ip route" "$LOCAL_ADDRESS" "localAddress"} ${ipcall cfg "ip -6 route" "$LOCAL_ADDRESS6" "localAddress6"} fi - ${concatStringsSep "\n" (mapAttrsToList renderExtraVeth cfg . "extraVeths" or {})} + ${concatStringsSep "\n" (mapAttrsToList renderExtraVeth cfg.extraVeths)} fi # Get the leader PID so that we can signal it in @@ -213,6 +211,41 @@ let '' ); + serviceDirectives = cfg: { + ExecReload = pkgs.writeScript "reload-container" + '' + #! ${pkgs.stdenv.shell} -e + ${pkgs.nixos-container}/bin/nixos-container run "$INSTANCE" -- \ + bash --login -c "''${SYSTEM_PATH:-/nix/var/nix/profiles/system}/bin/switch-to-configuration test" + ''; + + SyslogIdentifier = "container %i"; + + EnvironmentFile = "-/etc/containers/%i.conf"; + + Type = "notify"; + + # Note that on reboot, systemd-nspawn returns 133, so this + # unit will be restarted. On poweroff, it returns 0, so the + # unit won't be restarted. + RestartForceExitStatus = "133"; + SuccessExitStatus = "133"; + + Restart = "on-failure"; + + # Hack: we don't want to kill systemd-nspawn, since we call + # "machinectl poweroff" in preStop to shut down the + # container cleanly. But systemd requires sending a signal + # (at least if we want remaining processes to be killed + # after the timeout). So send an ignored signal. + KillMode = "mixed"; + KillSignal = "WINCH"; + + DevicePolicy = "closed"; + DeviceAllow = map (d: "${d.node} ${d.modifier}") cfg.allowedDevices; + }; + + system = config.nixpkgs.system; bindMountOpts = { name, config, ... }: { @@ -243,6 +276,27 @@ let }; + allowedDeviceOpts = { name, config, ... }: { + options = { + node = mkOption { + example = "/dev/net/tun"; + type = types.str; + description = "Path to device node"; + }; + modifier = mkOption { + example = "rw"; + type = types.str; + description = '' + Device node access modifier. Takes a combination + r (read), w (write), and + m (mknod). See the + systemd.resource-control(5) man page for more + information.''; + }; + }; + }; + + mkBindFlag = d: let flagPrefix = if d.isReadOnly then " --bind-ro=" else " --bind="; mountstr = if d.hostPath != null then "${d.hostPath}:${d.mountPoint}" else "${d.mountPoint}"; @@ -307,6 +361,18 @@ let }; + dummyConfig = + { + extraVeths = {}; + additionalCapabilities = []; + allowedDevices = []; + hostAddress = null; + hostAddress6 = null; + localAddress = null; + localAddress6 = null; + tmpfs = null; + }; + in { @@ -367,6 +433,26 @@ in ''; }; + additionalCapabilities = mkOption { + type = types.listOf types.str; + default = []; + example = [ "CAP_NET_ADMIN" "CAP_MKNOD" ]; + description = '' + Grant additional capabilities to the container. See the + capabilities(7) and systemd-nspawn(1) man pages for more + information. + ''; + }; + enableTun = mkOption { + type = types.bool; + default = false; + description = '' + Allows the container to create and setup tunnel interfaces + by granting the NET_ADMIN capability and + enabling access to /dev/net/tun. + ''; + }; + privateNetwork = mkOption { type = types.bool; default = false; @@ -390,10 +476,20 @@ in ''; }; + macvlans = mkOption { + type = types.listOf types.str; + default = []; + example = [ "eth1" "eth2" ]; + description = '' + The list of host interfaces from which macvlans will be + created. For each interface specified, a macvlan interface + will be created and moved to the container. + ''; + }; + extraVeths = mkOption { - type = types.attrsOf types.optionSet; + type = with types; attrsOf (submodule { options = networkOptions; }); default = {}; - options = networkOptions; description = '' Extra veth-pairs to be created for the container ''; @@ -408,8 +504,7 @@ in }; bindMounts = mkOption { - type = types.loaOf types.optionSet; - options = [ bindMountOpts ]; + type = with types; loaOf (submodule bindMountOpts); default = {}; example = { "/home" = { hostPath = "/home/alice"; isReadOnly = false; }; @@ -421,6 +516,27 @@ in ''; }; + allowedDevices = mkOption { + type = with types; listOf (submodule allowedDeviceOpts); + default = []; + example = [ { node = "/dev/net/tun"; modifier = "rw"; } ]; + description = '' + A list of device nodes to which the containers has access to. + ''; + }; + + tmpfs = mkOption { + type = types.listOf types.str; + default = []; + example = [ "/var" ]; + description = '' + Mounts a set of tmpfs file systems into the container. + Multiple paths can be specified. + Valid items must conform to the --tmpfs argument + of systemd-nspawn. See systemd-nspawn(1) for details. + ''; + }; + } // networkOptions; config = mkMerge @@ -451,7 +567,7 @@ in containers. Each container appears as a service container-name on the host system, allowing it to be started and stopped via - systemctl . + systemctl. ''; }; @@ -470,11 +586,11 @@ in environment.INSTANCE = "%i"; environment.root = "/var/lib/containers/%i"; - preStart = preStartScript {}; + preStart = preStartScript dummyConfig; - script = startScript {}; + script = startScript dummyConfig; - postStart = postStartScript {}; + postStart = postStartScript dummyConfig; preStop = '' @@ -487,59 +603,39 @@ in restartIfChanged = false; - serviceConfig = { - ExecReload = pkgs.writeScript "reload-container" - '' - #! ${pkgs.stdenv.shell} -e - ${pkgs.nixos-container}/bin/nixos-container run "$INSTANCE" -- \ - bash --login -c "''${SYSTEM_PATH:-/nix/var/nix/profiles/system}/bin/switch-to-configuration test" - ''; - - SyslogIdentifier = "container %i"; - - EnvironmentFile = "-/etc/containers/%i.conf"; - - Type = "notify"; - - # Note that on reboot, systemd-nspawn returns 133, so this - # unit will be restarted. On poweroff, it returns 0, so the - # unit won't be restarted. - RestartForceExitStatus = "133"; - SuccessExitStatus = "133"; - - Restart = "on-failure"; - - # Hack: we don't want to kill systemd-nspawn, since we call - # "machinectl poweroff" in preStop to shut down the - # container cleanly. But systemd requires sending a signal - # (at least if we want remaining processes to be killed - # after the timeout). So send an ignored signal. - KillMode = "mixed"; - KillSignal = "WINCH"; - - DevicePolicy = "closed"; - }; + serviceConfig = serviceDirectives dummyConfig; }; in { systemd.services = listToAttrs (filter (x: x.value != null) ( # The generic container template used by imperative containers [{ name = "container@"; value = unit; }] # declarative containers - ++ (mapAttrsToList (name: cfg: nameValuePair "container@${name}" ( - unit // { - preStart = preStartScript cfg; - script = startScript cfg; - postStart = postStartScript cfg; - } // ( - if cfg.autoStart then - { - wantedBy = [ "multi-user.target" ]; - wants = [ "network.target" ]; - after = [ "network.target" ]; - restartTriggers = [ cfg.path ]; - reloadIfChanged = true; - } - else {}) + ++ (mapAttrsToList (name: cfg: nameValuePair "container@${name}" (let + config = cfg // ( + if cfg.enableTun then + { + allowedDevices = cfg.allowedDevices + ++ [ { node = "/dev/net/tun"; modifier = "rw"; } ]; + additionalCapabilities = cfg.additionalCapabilities + ++ [ "CAP_NET_ADMIN" ]; + } + else {}); + in + unit // { + preStart = preStartScript config; + script = startScript config; + postStart = postStartScript config; + serviceConfig = serviceDirectives config; + } // ( + if config.autoStart then + { + wantedBy = [ "multi-user.target" ]; + wants = [ "network.target" ]; + after = [ "network.target" ]; + restartTriggers = [ config.path ]; + reloadIfChanged = true; + } + else {}) )) config.containers) )); @@ -569,6 +665,7 @@ in ''} ''} INTERFACES="${toString cfg.interfaces}" + MACVLANS="${toString cfg.macvlans}" ${optionalString cfg.autoStart '' AUTO_START=1 ''} @@ -579,10 +676,10 @@ in # Generate /etc/hosts entries for the containers. networking.extraHosts = concatStrings (mapAttrsToList (name: cfg: optionalString (cfg.localAddress != null) '' - ${cfg.localAddress} ${name}.containers + ${head (splitString "/" cfg.localAddress)} ${name}.containers '') config.containers); - networking.dhcpcd.denyInterfaces = [ "ve-*" ]; + networking.dhcpcd.denyInterfaces = [ "ve-*" "vb-*" ]; environment.systemPackages = [ pkgs.nixos-container ]; }); diff --git a/nixos/modules/virtualisation/docker.nix b/nixos/modules/virtualisation/docker.nix index ebc2be087a5b..4b30a38f832f 100644 --- a/nixos/modules/virtualisation/docker.nix +++ b/nixos/modules/virtualisation/docker.nix @@ -28,25 +28,63 @@ in docker command line tool. ''; }; - socketActivation = + + listenOptions = + mkOption { + type = types.listOf types.str; + default = ["/var/run/docker.sock"]; + description = + '' + A list of unix and tcp docker should listen to. The format follows + ListenStream as described in systemd.socket(5). + ''; + }; + + enableOnBoot = mkOption { type = types.bool; default = true; description = '' - This option enables docker with socket activation. I.e. docker will - start when first called by client. + When enabled dockerd is started on boot. This is required for + container, which are created with the + --restart=always flag, to work. If this option is + disabled, docker might be started on demand by socket activation. ''; }; - storageDriver = + + liveRestore = mkOption { - type = types.enum ["aufs" "btrfs" "devicemapper" "overlay" "zfs"]; - default = "devicemapper"; + type = types.bool; + default = true; description = '' - This option determines which Docker storage driver to use. + Allow dockerd to be restarted without affecting running container. + This option is incompatible with docker swarm. ''; }; + + storageDriver = + mkOption { + type = types.nullOr (types.enum ["aufs" "btrfs" "devicemapper" "overlay" "overlay2" "zfs"]); + default = null; + description = + '' + This option determines which Docker storage driver to use. By default + it let's docker automatically choose preferred storage driver. + ''; + }; + + logDriver = + mkOption { + type = types.enum ["none" "json-file" "syslog" "journald" "gelf" "fluentd" "awslogs" "splunk" "etwlogs" "gcplogs"]; + default = "journald"; + description = + '' + This option determines which Docker log driver to use. + ''; + }; + extraOptions = mkOption { type = types.separatedString " "; @@ -57,64 +95,43 @@ in docker daemon. ''; }; - - postStart = - mkOption { - type = types.lines; - default = '' - while ! [ -e /var/run/docker.sock ]; do - sleep 0.1 - done - ''; - description = '' - The postStart phase of the systemd service. You may need to - override this if you are passing in flags to docker which - don't cause the socket file to be created. This option is ignored - if socket activation is used. - ''; - }; - - }; ###### implementation - config = mkIf cfg.enable (mkMerge [ - { environment.systemPackages = [ pkgs.docker ]; + config = mkIf cfg.enable (mkMerge [{ + environment.systemPackages = [ pkgs.docker ]; users.extraGroups.docker.gid = config.ids.gids.docker; + systemd.packages = [ pkgs.docker ]; + systemd.services.docker = { - description = "Docker Application Container Engine"; - wantedBy = optional (!cfg.socketActivation) "multi-user.target"; - after = [ "network.target" ] ++ (optional cfg.socketActivation "docker.socket") ; - requires = optional cfg.socketActivation "docker.socket"; + wantedBy = optional cfg.enableOnBoot "multi-user.target"; serviceConfig = { - ExecStart = "${pkgs.docker}/bin/docker daemon --group=docker --storage-driver=${cfg.storageDriver} ${optionalString cfg.socketActivation "--host=fd://"} ${cfg.extraOptions}"; - # I'm not sure if that limits aren't too high, but it's what - # goes in config bundled with docker itself - LimitNOFILE = 1048576; - LimitNPROC = 1048576; + ExecStart = [ + "" + '' + ${pkgs.docker}/bin/dockerd \ + --group=docker \ + --host=fd:// \ + --log-driver=${cfg.logDriver} \ + ${optionalString (cfg.storageDriver != null) "--storage-driver=${cfg.storageDriver}"} \ + ${optionalString cfg.liveRestore "--live-restore" } \ + ${cfg.extraOptions} + '']; + ExecReload=[ + "" + "${pkgs.procps}/bin/kill -s HUP $MAINPID" + ]; } // proxy_env; path = [ pkgs.kmod ] ++ (optional (cfg.storageDriver == "zfs") pkgs.zfs); - - postStart = if cfg.socketActivation then "" else cfg.postStart; - - # Presumably some containers are running we don't want to interrupt - restartIfChanged = false; }; + systemd.sockets.docker.socketConfig.ListenStream = cfg.listenOptions; } - (mkIf cfg.socketActivation { - systemd.sockets.docker = { - description = "Docker Socket for the API"; - wantedBy = [ "sockets.target" ]; - socketConfig = { - ListenStream = "/var/run/docker.sock"; - SocketMode = "0660"; - SocketUser = "root"; - SocketGroup = "docker"; - }; - }; - }) ]); + imports = [ + (mkRemovedOptionModule ["virtualisation" "docker" "socketActivation"] "This option was removed in favor of starting docker at boot") + ]; + } diff --git a/nixos/modules/virtualisation/ec2-amis.nix b/nixos/modules/virtualisation/ec2-amis.nix index bdf6ed4dcd29..ffd1cbec3ce3 100644 --- a/nixos/modules/virtualisation/ec2-amis.nix +++ b/nixos/modules/virtualisation/ec2-amis.nix @@ -1,4 +1,4 @@ -{ +let self = { "14.04".ap-northeast-1.hvm-ebs = "ami-71c6f470"; "14.04".ap-northeast-1.pv-ebs = "ami-4dcbf84c"; "14.04".ap-northeast-1.pv-s3 = "ami-8fc4f68e"; @@ -134,4 +134,52 @@ "16.03".us-west-2.hvm-s3 = "ami-925c9ff2"; "16.03".us-west-2.pv-ebs = "ami-5e61a23e"; "16.03".us-west-2.pv-s3 = "ami-734c8f13"; -} + + # 16.09.666.3738950 + "16.09".ap-northeast-1.hvm-ebs = "ami-35578954"; + "16.09".ap-northeast-1.hvm-s3 = "ami-d6528cb7"; + "16.09".ap-northeast-1.pv-ebs = "ami-07548a66"; + "16.09".ap-northeast-1.pv-s3 = "ami-f1548a90"; + "16.09".ap-northeast-2.hvm-ebs = "ami-d48753ba"; + "16.09".ap-northeast-2.hvm-s3 = "ami-4c865222"; + "16.09".ap-northeast-2.pv-ebs = "ami-ca8551a4"; + "16.09".ap-northeast-2.pv-s3 = "ami-9c8551f2"; + "16.09".ap-south-1.hvm-ebs = "ami-922450fd"; + "16.09".ap-south-1.hvm-s3 = "ami-6d3a4e02"; + "16.09".ap-south-1.pv-ebs = "ami-4d394d22"; + "16.09".ap-south-1.pv-s3 = "ami-17384c78"; + "16.09".ap-southeast-1.hvm-ebs = "ami-f824809b"; + "16.09".ap-southeast-1.hvm-s3 = "ami-f924809a"; + "16.09".ap-southeast-1.pv-ebs = "ami-af2480cc"; + "16.09".ap-southeast-1.pv-s3 = "ami-5826823b"; + "16.09".ap-southeast-2.hvm-ebs = "ami-40fecd23"; + "16.09".ap-southeast-2.hvm-s3 = "ami-48fecd2b"; + "16.09".ap-southeast-2.pv-ebs = "ami-dffecdbc"; + "16.09".ap-southeast-2.pv-s3 = "ami-e0fccf83"; + "16.09".eu-central-1.hvm-ebs = "ami-1d8b7472"; + "16.09".eu-central-1.hvm-s3 = "ami-1c8b7473"; + "16.09".eu-central-1.pv-ebs = "ami-8c8d72e3"; + "16.09".eu-central-1.pv-s3 = "ami-3488775b"; + "16.09".eu-west-1.hvm-ebs = "ami-15662766"; + "16.09".eu-west-1.hvm-s3 = "ami-476b2a34"; + "16.09".eu-west-1.pv-ebs = "ami-876928f4"; + "16.09".eu-west-1.pv-s3 = "ami-70682903"; + "16.09".sa-east-1.hvm-ebs = "ami-27bc2e4b"; + "16.09".sa-east-1.hvm-s3 = "ami-e4b92b88"; + "16.09".sa-east-1.pv-ebs = "ami-4dbe2c21"; + "16.09".sa-east-1.pv-s3 = "ami-77fc6e1b"; + "16.09".us-east-1.hvm-ebs = "ami-93347684"; + "16.09".us-east-1.hvm-s3 = "ami-5e347649"; + "16.09".us-east-1.pv-ebs = "ami-b0387aa7"; + "16.09".us-east-1.pv-s3 = "ami-51357746"; + "16.09".us-west-1.hvm-ebs = "ami-06337a66"; + "16.09".us-west-1.hvm-s3 = "ami-76307916"; + "16.09".us-west-1.pv-ebs = "ami-fd327b9d"; + "16.09".us-west-1.pv-s3 = "ami-cc347dac"; + "16.09".us-west-2.hvm-ebs = "ami-49fe2729"; + "16.09".us-west-2.hvm-s3 = "ami-93fc25f3"; + "16.09".us-west-2.pv-ebs = "ami-14fe2774"; + "16.09".us-west-2.pv-s3 = "ami-74f12814"; + + latest = self."16.09"; +}; in self diff --git a/nixos/modules/virtualisation/google-compute-image.nix b/nixos/modules/virtualisation/google-compute-image.nix index 59b77dde5d9a..0e6825c3f5da 100644 --- a/nixos/modules/virtualisation/google-compute-image.nix +++ b/nixos/modules/virtualisation/google-compute-image.nix @@ -111,7 +111,7 @@ in # Allow root logins only using the SSH key that the user specified # at instance creation time. services.openssh.enable = true; - services.openssh.permitRootLogin = "without-password"; + services.openssh.permitRootLogin = "prohibit-password"; services.openssh.passwordAuthentication = mkDefault false; # Force getting the hostname from Google Compute. @@ -125,7 +125,7 @@ in 169.254.169.254 metadata.google.internal metadata ''; - services.ntp.servers = [ "metadata.google.internal" ]; + networking.timeServers = [ "metadata.google.internal" ]; networking.usePredictableInterfaceNames = false; @@ -134,8 +134,8 @@ in wantedBy = [ "sshd.service" ]; before = [ "sshd.service" ]; - after = [ "network-online.target" "ip-up.target" ]; - wants = [ "network-online.target" "ip-up.target" ]; + after = [ "network-online.target" ]; + wants = [ "network-online.target" ]; script = let wget = "${pkgs.wget}/bin/wget --retry-connrefused -t 15 --waitretry=10 --header='Metadata-Flavor: Google'"; mktemp = "mktemp --tmpdir=/run"; in diff --git a/nixos/modules/virtualisation/grow-partition.nix b/nixos/modules/virtualisation/grow-partition.nix index abc2e766959e..5039118d78ee 100644 --- a/nixos/modules/virtualisation/grow-partition.nix +++ b/nixos/modules/virtualisation/grow-partition.nix @@ -24,7 +24,7 @@ with lib; copy_bin_and_libs ${pkgs.gnused}/bin/sed copy_bin_and_libs ${pkgs.utillinux}/sbin/sfdisk copy_bin_and_libs ${pkgs.utillinux}/sbin/lsblk - cp -v ${pkgs.cloud-utils}/bin/growpart $out/bin/growpart + cp -v ${pkgs.cloud-utils}/bin/.growpart-wrapped $out/bin/growpart ln -s sed $out/bin/gnused ''; diff --git a/nixos/modules/virtualisation/libvirtd.nix b/nixos/modules/virtualisation/libvirtd.nix index ea503a9526f8..5f669dee7545 100644 --- a/nixos/modules/virtualisation/libvirtd.nix +++ b/nixos/modules/virtualisation/libvirtd.nix @@ -123,7 +123,7 @@ in { # config file. But this path can unfortunately be garbage collected # while still being used by the virtual machine. So update the # emulator path on each startup to something valid (re-scan $PATH). - for file in /etc/libvirt/qemu/*.xml /etc/libvirt/lxc/*.xml; do + for file in /var/lib/libvirt/qemu/*.xml /var/lib/libvirt/lxc/*.xml; do test -f "$file" || continue # get (old) emulator path from config file emulator=$(grep "^[[:space:]]*" "$file" | sed 's,^[[:space:]]*\(.*\).*,\1,') diff --git a/nixos/modules/virtualisation/lxc.nix b/nixos/modules/virtualisation/lxc.nix index 22da012e4141..6759ff0f2fe9 100644 --- a/nixos/modules/virtualisation/lxc.nix +++ b/nixos/modules/virtualisation/lxc.nix @@ -62,19 +62,17 @@ in . ''; }; - }; ###### implementation config = mkIf cfg.enable { - environment.systemPackages = [ pkgs.lxc ]; - environment.etc."lxc/lxc.conf".text = cfg.systemConfig; environment.etc."lxc/lxc-usernet".text = cfg.usernetConfig; environment.etc."lxc/default.conf".text = cfg.defaultConfig; + security.apparmor.packages = [ pkgs.lxc ]; + security.apparmor.profiles = [ "${pkgs.lxc}/etc/apparmor.d/lxc-containers" ]; }; - } diff --git a/nixos/modules/virtualisation/lxcfs.nix b/nixos/modules/virtualisation/lxcfs.nix new file mode 100644 index 000000000000..48462dc66da8 --- /dev/null +++ b/nixos/modules/virtualisation/lxcfs.nix @@ -0,0 +1,49 @@ +# LXC Configuration + +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.virtualisation.lxc.lxcfs; +in { + meta.maintainers = [ maintainers.mic92 ]; + + ###### interface + options.virtualisation.lxc.lxcfs = { + enable = + mkOption { + type = types.bool; + default = false; + description = '' + This enables LXCFS, a FUSE filesystem for LXC. + To use lxcfs in include the following configuration in your + container configuration: + + virtualisation.lxc.defaultConfig = "lxc.include = ''${pkgs.lxcfs}/share/lxc/config/common.conf.d/00-lxcfs.conf"; + + ''; + }; + }; + + ###### implementation + config = mkIf cfg.enable { + services.cgmanager.enable = true; + + systemd.services.lxcfs = { + description = "FUSE filesystem for LXC"; + wantedBy = [ "multi-user.target" ]; + requires = [ "cgmanager.service" ]; + after = [ "cgmanager.service" ]; + before = [ "lxc.service" ]; + restartIfChanged = false; + serviceConfig = { + ExecStartPre="${pkgs.coreutils}/bin/mkdir -p /var/lib/lxcfs"; + ExecStart="${pkgs.lxcfs}/bin/lxcfs /var/lib/lxcfs"; + ExecStopPost="-${pkgs.fuse}/bin/fusermount -u /var/lib/lxcfs"; + KillMode="process"; + Restart="on-failure"; + }; + }; + }; +} diff --git a/nixos/modules/virtualisation/nova-image.nix b/nixos/modules/virtualisation/nova-image.nix index 7971212b47c5..e253c77ebb4f 100644 --- a/nixos/modules/virtualisation/nova-image.nix +++ b/nixos/modules/virtualisation/nova-image.nix @@ -31,7 +31,7 @@ with lib; # Allow root logins services.openssh.enable = true; - services.openssh.permitRootLogin = "without-password"; + services.openssh.permitRootLogin = "prohibit-password"; # Put /tmp and /var on /ephemeral0, which has a lot more space. # Unfortunately we can't do this with the `fileSystems' option diff --git a/nixos/modules/virtualisation/openstack/common.nix b/nixos/modules/virtualisation/openstack/common.nix new file mode 100644 index 000000000000..2feb0a873951 --- /dev/null +++ b/nixos/modules/virtualisation/openstack/common.nix @@ -0,0 +1,84 @@ +{ lib }: + +with lib; + +rec { + # A shell script string helper to get the value of a secret at + # runtime. + getSecret = secretOption: + if secretOption.storage == "fromFile" + then ''$(cat ${secretOption.value})'' + else ''${secretOption.value}''; + + + # A shell script string help to replace at runtime in a file the + # pattern of a secret by its value. + replaceSecret = secretOption: filename: '' + sed -i "s/${secretOption.pattern}/${getSecret secretOption}/g" ${filename} + ''; + + # This generates an option that can be used to declare secrets which + # can be stored in the nix store, or not. A pattern is written in + # the nix store to represent the secret. The pattern can + # then be overwritten with the value of the secret at runtime. + mkSecretOption = {name, description ? ""}: + mkOption { + description = description; + type = types.submodule ({ + options = { + pattern = mkOption { + type = types.str; + default = "##${name}##"; + description = "The pattern that represent the secret."; + }; + storage = mkOption { + type = types.enum [ "fromNixStore" "fromFile" ]; + description = '' + Choose the way the password is provisionned. If + fromNixStore is used, the value is the password and it is + written in the nix store. If fromFile is used, the value + is a path from where the password will be read at + runtime. This is generally used with + deployment keys of Nixops. + '';}; + value = mkOption { + type = types.str; + description = '' + If the storage is fromNixStore, the value is the password itself, + otherwise it is a path to the file that contains the password. + ''; + }; + };}); + }; + + databaseOption = name: { + host = mkOption { + type = types.str; + default = "localhost"; + description = '' + Host of the database. + ''; + }; + + name = mkOption { + type = types.str; + default = name; + description = '' + Name of the existing database. + ''; + }; + + user = mkOption { + type = types.str; + default = name; + description = '' + The database user. The user must exist and has access to + the specified database. + ''; + }; + password = mkSecretOption { + name = name + "MysqlPassword"; + description = "The database user's password";}; + }; +} diff --git a/nixos/modules/virtualisation/openstack/glance.nix b/nixos/modules/virtualisation/openstack/glance.nix new file mode 100644 index 000000000000..4d85718e369c --- /dev/null +++ b/nixos/modules/virtualisation/openstack/glance.nix @@ -0,0 +1,245 @@ +{ config, lib, pkgs, ... }: + +with lib; with import ./common.nix {inherit lib;}; + +let + cfg = config.virtualisation.openstack.glance; + commonConf = '' + [database] + connection = "mysql://${cfg.database.user}:${cfg.database.password.pattern}@${cfg.database.host}/${cfg.database.name}" + notification_driver = noop + + [keystone_authtoken] + auth_url = ${cfg.authUrl} + auth_plugin = password + project_name = service + project_domain_id = default + user_domain_id = default + username = ${cfg.serviceUsername} + password = ${cfg.servicePassword.pattern} + + [glance_store] + default_store = file + filesystem_store_datadir = /var/lib/glance/images/ + ''; + glanceApiConfTpl = pkgs.writeText "glance-api.conf" '' + ${commonConf} + + [paste_deploy] + flavor = keystone + config_file = ${cfg.package}/etc/glance-api-paste.ini + ''; + glanceRegistryConfTpl = pkgs.writeText "glance-registry.conf" '' + ${commonConf} + + [paste_deploy] + config_file = ${cfg.package}/etc/glance-registry-paste.ini + ''; + glanceApiConf = "/var/lib/glance/glance-api.conf"; + glanceRegistryConf = "/var/lib/glance/glance-registry.conf"; + +in { + options.virtualisation.openstack.glance = { + package = mkOption { + type = types.package; + default = pkgs.glance; + example = literalExample "pkgs.glance"; + description = '' + Glance package to use. + ''; + }; + + enable = mkOption { + default = false; + type = types.bool; + description = '' + This option enables Glance as a single-machine + installation. That is, all of Glance's components are + enabled on this machine. This is useful for evaluating and + experimenting with Glance. Note we are currently not + providing any configurations for a multi-node setup. + ''; + }; + + authUrl = mkOption { + type = types.str; + default = http://localhost:5000; + description = '' + Complete public Identity (Keystone) API endpoint. Note this is + unversionned. + ''; + }; + + serviceUsername = mkOption { + type = types.str; + default = "glance"; + description = '' + The Glance service username. This user is created if bootstrap + is enable, otherwise it has to be manually created before + starting this service. + ''; + }; + + servicePassword = mkSecretOption { + name = "glanceAdminPassword"; + description = '' + The Glance service user's password. + ''; + }; + + database = databaseOption "glance"; + + bootstrap = { + enable = mkOption { + default = false; + type = types.bool; + description = '' + Bootstrap the Glance service by creating the service tenant, + an admin account and a public endpoint. This option provides + a ready-to-use glance service. This is only done at the + first Glance execution by the systemd post start section. + The keystone admin account is used to create required + Keystone resource for the Glance service. + + This option is a helper for setting up + development or testing environments. + ''; + }; + + endpointPublic = mkOption { + type = types.str; + default = "http://localhost:9292"; + description = '' + The public image endpoint. The link + create endpoint provides more informations + about that. + ''; + }; + + keystoneAdminUsername = mkOption { + type = types.str; + default = "admin"; + description = '' + The keystone admin user name used to create the Glance account. + ''; + }; + + keystoneAdminPassword = mkSecretOption { + name = "keystoneAdminPassword"; + description = '' + The keystone admin user's password. + ''; + }; + + keystoneAdminTenant = mkOption { + type = types.str; + default = "admin"; + description = '' + The keystone admin tenant used to create the Glance account. + ''; + }; + keystoneAuthUrl = mkOption { + type = types.str; + default = "http://localhost:5000/v2.0"; + description = '' + The keystone auth url used to create the Glance account. + ''; + }; + }; + }; + + config = mkIf cfg.enable { + users.extraUsers = [{ + name = "glance"; + group = "glance"; + uid = config.ids.gids.glance; + + }]; + users.extraGroups = [{ + name = "glance"; + gid = config.ids.gids.glance; + }]; + + systemd.services.glance-registry = { + description = "OpenStack Glance Registry Daemon"; + after = [ "network.target"]; + path = [ pkgs.curl pkgs.pythonPackages.keystoneclient pkgs.gawk ]; + wantedBy = [ "multi-user.target" ]; + preStart = '' + mkdir -m 775 -p /var/lib/glance/{images,scrubber,image_cache} + chown glance:glance /var/lib/glance/{images,scrubber,image_cache} + + # Secret file managment + cp ${glanceRegistryConfTpl} ${glanceRegistryConf}; + chown glance:glance ${glanceRegistryConf}; + chmod 640 ${glanceRegistryConf} + ${replaceSecret cfg.database.password glanceRegistryConf} + ${replaceSecret cfg.servicePassword glanceRegistryConf} + + cp ${glanceApiConfTpl} ${glanceApiConf}; + chown glance:glance ${glanceApiConf}; + chmod 640 ${glanceApiConf} + ${replaceSecret cfg.database.password glanceApiConf} + ${replaceSecret cfg.servicePassword glanceApiConf} + + # Initialise the database + ${cfg.package}/bin/glance-manage --config-file=${glanceApiConf} --config-file=${glanceRegistryConf} db_sync + ''; + postStart = '' + set -eu + export OS_AUTH_URL=${cfg.bootstrap.keystoneAuthUrl} + export OS_USERNAME=${cfg.bootstrap.keystoneAdminUsername} + export OS_PASSWORD=${getSecret cfg.bootstrap.keystoneAdminPassword} + export OS_TENANT_NAME=${cfg.bootstrap.keystoneAdminTenant} + + # Wait until the keystone is available for use + count=0 + while ! keystone user-get ${cfg.bootstrap.keystoneAdminUsername} > /dev/null + do + if [ $count -eq 30 ] + then + echo "Tried 30 times, giving up..." + exit 1 + fi + + echo "Keystone not yet started. Waiting for 1 second..." + count=$((count++)) + sleep 1 + done + + # If the service glance doesn't exist, we consider glance is + # not initialized + if ! keystone service-get glance + then + keystone service-create --type image --name glance + ID=$(keystone service-get glance | awk '/ id / { print $4 }') + keystone endpoint-create --region RegionOne --service $ID --internalurl http://localhost:9292 --adminurl http://localhost:9292 --publicurl ${cfg.bootstrap.endpointPublic} + + keystone user-create --name ${cfg.serviceUsername} --tenant service --pass ${getSecret cfg.servicePassword} + keystone user-role-add --tenant service --user ${cfg.serviceUsername} --role admin + fi + ''; + serviceConfig = { + PermissionsStartOnly = true; # preStart must be run as root + TimeoutStartSec = "600"; # 10min for initial db migrations + User = "glance"; + Group = "glance"; + ExecStart = "${cfg.package}/bin/glance-registry --config-file=${glanceRegistryConf}"; + }; + }; + systemd.services.glance-api = { + description = "OpenStack Glance API Daemon"; + after = [ "glance-registry.service" "network.target"]; + requires = [ "glance-registry.service" "network.target"]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + PermissionsStartOnly = true; # preStart must be run as root + User = "glance"; + Group = "glance"; + ExecStart = "${cfg.package}/bin/glance-api --config-file=${glanceApiConf}"; + }; + }; + }; + +} diff --git a/nixos/modules/virtualisation/openstack/keystone.nix b/nixos/modules/virtualisation/openstack/keystone.nix new file mode 100644 index 000000000000..e32c5a4cae1b --- /dev/null +++ b/nixos/modules/virtualisation/openstack/keystone.nix @@ -0,0 +1,220 @@ +{ config, lib, pkgs, ... }: + +with lib; with import ./common.nix {inherit lib;}; + +let + cfg = config.virtualisation.openstack.keystone; + keystoneConfTpl = pkgs.writeText "keystone.conf" '' + [DEFAULT] + admin_token = ${cfg.adminToken.pattern} + policy_file=${cfg.package}/etc/policy.json + + [database] + + connection = "mysql://${cfg.database.user}:${cfg.database.password.pattern}@${cfg.database.host}/${cfg.database.name}" + + [paste_deploy] + config_file = ${cfg.package}/etc/keystone-paste.ini + + ${cfg.extraConfig} + ''; + keystoneConf = "/var/lib/keystone/keystone.conf"; + +in { + options.virtualisation.openstack.keystone = { + package = mkOption { + type = types.package; + example = literalExample "pkgs.keystone"; + description = '' + Keystone package to use. + ''; + }; + + enable = mkOption { + default = false; + type = types.bool; + description = '' + Enable Keystone, the OpenStack Identity Service + ''; + }; + + extraConfig = mkOption { + default = ""; + type = types.lines; + description = '' + Additional text appended to keystone.conf, + the main Keystone configuration file. + ''; + }; + + adminToken = mkSecretOption { + name = "adminToken"; + description = '' + This is the admin token used to boostrap keystone, + ie. to provision first resources. + ''; + }; + + bootstrap = { + enable = mkOption { + default = false; + type = types.bool; + description = '' + Bootstrap the Keystone service by creating the service + tenant, an admin account and a public endpoint. This options + provides a ready-to-use admin account. This is only done at + the first Keystone execution by the systemd post start. + + Note this option is a helper for setting up development or + testing environments. + ''; + }; + + endpointPublic = mkOption { + type = types.str; + default = "http://localhost:5000/v2.0"; + description = '' + The public identity endpoint. The link + create keystone endpoint provides more informations + about that. + ''; + }; + + adminUsername = mkOption { + type = types.str; + default = "admin"; + description = '' + A keystone admin username. + ''; + }; + + adminPassword = mkSecretOption { + name = "keystoneAdminPassword"; + description = '' + The keystone admin user's password. + ''; + }; + + adminTenant = mkOption { + type = types.str; + default = "admin"; + description = '' + A keystone admin tenant name. + ''; + }; + }; + + database = { + host = mkOption { + type = types.str; + default = "localhost"; + description = '' + Host of the database. + ''; + }; + + name = mkOption { + type = types.str; + default = "keystone"; + description = '' + Name of the existing database. + ''; + }; + + user = mkOption { + type = types.str; + default = "keystone"; + description = '' + The database user. The user must exist and has access to + the specified database. + ''; + }; + password = mkSecretOption { + name = "mysqlPassword"; + description = "The database user's password";}; + }; + }; + + config = mkIf cfg.enable { + # Note: when changing the default, make it conditional on + # ‘system.stateVersion’ to maintain compatibility with existing + # systems! + virtualisation.openstack.keystone.package = mkDefault pkgs.keystone; + + users.extraUsers = [{ + name = "keystone"; + group = "keystone"; + uid = config.ids.uids.keystone; + }]; + users.extraGroups = [{ + name = "keystone"; + gid = config.ids.gids.keystone; + }]; + + systemd.services.keystone-all = { + description = "OpenStack Keystone Daemon"; + after = [ "network.target"]; + path = [ cfg.package pkgs.mysql pkgs.curl pkgs.pythonPackages.keystoneclient pkgs.gawk ]; + wantedBy = [ "multi-user.target" ]; + preStart = '' + mkdir -m 755 -p /var/lib/keystone + + cp ${keystoneConfTpl} ${keystoneConf}; + chown keystone:keystone ${keystoneConf}; + chmod 640 ${keystoneConf} + + ${replaceSecret cfg.database.password keystoneConf} + ${replaceSecret cfg.adminToken keystoneConf} + + # Initialise the database + ${cfg.package}/bin/keystone-manage --config-file=${keystoneConf} db_sync + # Set up the keystone's PKI infrastructure + ${cfg.package}/bin/keystone-manage --config-file=${keystoneConf} pki_setup --keystone-user keystone --keystone-group keystone + ''; + postStart = optionalString cfg.bootstrap.enable '' + set -eu + # Wait until the keystone is available for use + count=0 + while ! curl --fail -s http://localhost:35357/v2.0 > /dev/null + do + if [ $count -eq 30 ] + then + echo "Tried 30 times, giving up..." + exit 1 + fi + + echo "Keystone not yet started. Waiting for 1 second..." + count=$((count++)) + sleep 1 + done + + # We use the service token to create a first admin user + export OS_SERVICE_ENDPOINT=http://localhost:35357/v2.0 + export OS_SERVICE_TOKEN=${getSecret cfg.adminToken} + + # If the tenant service doesn't exist, we consider + # keystone is not initialized + if ! keystone tenant-get service + then + keystone tenant-create --name service + keystone tenant-create --name ${cfg.bootstrap.adminTenant} + keystone user-create --name ${cfg.bootstrap.adminUsername} --tenant ${cfg.bootstrap.adminTenant} --pass ${getSecret cfg.bootstrap.adminPassword} + keystone role-create --name admin + keystone role-create --name Member + keystone user-role-add --tenant ${cfg.bootstrap.adminTenant} --user ${cfg.bootstrap.adminUsername} --role admin + keystone service-create --type identity --name keystone + ID=$(keystone service-get keystone | awk '/ id / { print $4 }') + keystone endpoint-create --region RegionOne --service $ID --publicurl ${cfg.bootstrap.endpointPublic} --adminurl http://localhost:35357/v2.0 --internalurl http://localhost:5000/v2.0 + fi + ''; + serviceConfig = { + PermissionsStartOnly = true; # preStart must be run as root + TimeoutStartSec = "600"; # 10min for initial db migrations + User = "keystone"; + Group = "keystone"; + ExecStart = "${cfg.package}/bin/keystone-all --config-file=${keystoneConf}"; + }; + }; + }; +} diff --git a/nixos/modules/virtualisation/parallels-guest.nix b/nixos/modules/virtualisation/parallels-guest.nix index 204ab0b0df67..bd85973ee561 100644 --- a/nixos/modules/virtualisation/parallels-guest.nix +++ b/nixos/modules/virtualisation/parallels-guest.nix @@ -57,7 +57,7 @@ in boot.kernelModules = [ "prl_tg" "prl_eth" "prl_fs" "prl_fs_freeze" "acpi_memhotplug" ]; - services.ntp.enable = false; + services.timesyncd.enable = false; systemd.services.prltoolsd = { description = "Parallels Tools' service"; diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix index 777ee31e4dcc..586f5d9c0a38 100644 --- a/nixos/modules/virtualisation/qemu-vm.nix +++ b/nixos/modules/virtualisation/qemu-vm.nix @@ -13,6 +13,8 @@ with lib; let + qemu = config.system.build.qemu or pkgs.qemu_test; + vmName = if config.networking.hostName == "" then "noname" @@ -32,7 +34,7 @@ let NIX_DISK_IMAGE=$(readlink -f ''${NIX_DISK_IMAGE:-${config.virtualisation.diskImage}}) if ! test -e "$NIX_DISK_IMAGE"; then - ${pkgs.qemu_kvm}/bin/qemu-img create -f qcow2 "$NIX_DISK_IMAGE" \ + ${qemu}/bin/qemu-img create -f qcow2 "$NIX_DISK_IMAGE" \ ${toString config.virtualisation.diskSize}M || exit 1 fi @@ -47,7 +49,7 @@ let ${if cfg.useBootLoader then '' # Create a writable copy/snapshot of the boot disk. # A writable boot disk can be booted from automatically. - ${pkgs.qemu_kvm}/bin/qemu-img create -f qcow2 -b ${bootDisk}/disk.img $TMPDIR/disk.img || exit 1 + ${qemu}/bin/qemu-img create -f qcow2 -b ${bootDisk}/disk.img $TMPDIR/disk.img || exit 1 ${if cfg.useEFIBoot then '' # VM needs a writable flash BIOS. @@ -63,14 +65,14 @@ let extraDisks="" ${flip concatMapStrings cfg.emptyDiskImages (size: '' if ! test -e "empty$idx.qcow2"; then - ${pkgs.qemu_kvm}/bin/qemu-img create -f qcow2 "empty$idx.qcow2" "${toString size}M" + ${qemu}/bin/qemu-img create -f qcow2 "empty$idx.qcow2" "${toString size}M" fi extraDisks="$extraDisks -drive index=$idx,file=$(pwd)/empty$idx.qcow2,if=${cfg.qemu.diskInterface},werror=report" idx=$((idx + 1)) '')} # Start QEMU. - exec ${pkgs.qemu_kvm}/bin/qemu-kvm \ + exec ${qemu}/bin/qemu-kvm \ -name ${vmName} \ -m ${toString config.virtualisation.memorySize} \ ${optionalString (pkgs.stdenv.system == "x86_64-linux") "-cpu kvm64"} \ @@ -121,7 +123,7 @@ let mkdir $out diskImage=$out/disk.img bootFlash=$out/bios.bin - ${pkgs.qemu_kvm}/bin/qemu-img create -f qcow2 $diskImage "40M" + ${qemu}/bin/qemu-img create -f qcow2 $diskImage "40M" ${if cfg.useEFIBoot then '' cp ${pkgs.OVMF-CSM}/FV/OVMF.fd $bootFlash chmod 0644 $bootFlash @@ -272,11 +274,11 @@ in virtualisation.writableStore = mkOption { - default = false; + default = true; # FIXME description = '' If enabled, the Nix store in the VM is made writable by - layering a unionfs-fuse/tmpfs filesystem on top of the host's Nix + layering an overlay filesystem on top of the host's Nix store. ''; }; @@ -393,6 +395,13 @@ in chmod 1777 $targetRoot/tmp mkdir -p $targetRoot/boot + + ${optionalString cfg.writableStore '' + echo "mounting overlay filesystem on /nix/store..." + mkdir -p 0755 $targetRoot/nix/.rw-store/store $targetRoot/nix/.rw-store/work $targetRoot/nix/store + mount -t overlay overlay $targetRoot/nix/store \ + -o lowerdir=$targetRoot/nix/.ro-store,upperdir=$targetRoot/nix/.rw-store/store,workdir=$targetRoot/nix/.rw-store/work || fail + ''} ''; # After booting, register the closure of the paths in @@ -410,7 +419,8 @@ in ''; boot.initrd.availableKernelModules = - optional (cfg.qemu.diskInterface == "scsi") "sym53c8xx"; + optional cfg.writableStore "overlay" + ++ optional (cfg.qemu.diskInterface == "scsi") "sym53c8xx"; virtualisation.bootDevice = mkDefault (if cfg.qemu.diskInterface == "scsi" then "/dev/sda" else "/dev/vda"); @@ -430,13 +440,13 @@ in ${if cfg.writableStore then "/nix/.ro-store" else "/nix/store"} = { device = "store"; fsType = "9p"; - options = [ "trans=virtio" "version=9p2000.L" "cache=loose" ]; + options = [ "trans=virtio" "version=9p2000.L" "veryloose" ]; neededForBoot = true; }; "/tmp/xchg" = { device = "xchg"; fsType = "9p"; - options = [ "trans=virtio" "version=9p2000.L" "cache=loose" ]; + options = [ "trans=virtio" "version=9p2000.L" "veryloose" ]; neededForBoot = true; }; "/tmp/shared" = @@ -445,12 +455,6 @@ in options = [ "trans=virtio" "version=9p2000.L" ]; neededForBoot = true; }; - } // optionalAttrs cfg.writableStore - { "/nix/store" = - { fsType = "unionfs-fuse"; - device = "unionfs"; - options = [ "allow_other" "cow" "nonempty" "chroot=/mnt-root" "max_files=32768" "hide_meta_files" "dirs=/nix/.rw-store=rw:/nix/.ro-store=ro" ]; - }; } // optionalAttrs (cfg.writableStore && cfg.writableStoreUseTmpfs) { "/nix/.rw-store" = { fsType = "tmpfs"; @@ -470,7 +474,7 @@ in boot.initrd.luks.devices = mkVMOverride {}; # Don't run ntpd in the guest. It should get the correct time from KVM. - services.ntp.enable = false; + services.timesyncd.enable = false; system.build.vm = pkgs.runCommand "nixos-vm" { preferLocalBuild = true; } '' diff --git a/nixos/modules/virtualisation/virtualbox-host.nix b/nixos/modules/virtualisation/virtualbox-host.nix index ee8569d3c0ca..b3647482f2cb 100644 --- a/nixos/modules/virtualisation/virtualbox-host.nix +++ b/nixos/modules/virtualisation/virtualbox-host.nix @@ -4,10 +4,15 @@ with lib; let cfg = config.virtualisation.virtualbox.host; - virtualbox = config.boot.kernelPackages.virtualbox.override { + + virtualbox = pkgs.virtualbox.override { inherit (cfg) enableHardening headless; }; + kernelModules = config.boot.kernelPackages.virtualbox.override { + inherit virtualbox; + }; + in { @@ -60,7 +65,7 @@ in config = mkIf cfg.enable (mkMerge [{ boot.kernelModules = [ "vboxdrv" "vboxnetadp" "vboxnetflt" ]; - boot.extraModulePackages = [ virtualbox ]; + boot.extraModulePackages = [ kernelModules ]; environment.systemPackages = [ virtualbox ]; security.permissionsWrappers.setuid = let diff --git a/nixos/modules/virtualisation/virtualbox-image.nix b/nixos/modules/virtualisation/virtualbox-image.nix index b6a5b3e4788d..d68b3bb73904 100644 --- a/nixos/modules/virtualisation/virtualbox-image.nix +++ b/nixos/modules/virtualisation/virtualbox-image.nix @@ -34,7 +34,7 @@ in { postVM = '' export HOME=$PWD - export PATH=${pkgs.linuxPackages.virtualbox}/bin:$PATH + export PATH=${pkgs.virtualbox}/bin:$PATH echo "creating VirtualBox pass-through disk wrapper (no copying invovled)..." VBoxManage internalcommands createrawvmdk -filename disk.vmdk -rawdisk $diskImage diff --git a/nixos/modules/virtualisation/vmware-guest.nix b/nixos/modules/virtualisation/vmware-guest.nix index b9a4f3b11dc1..ac5f87817fe9 100644 --- a/nixos/modules/virtualisation/vmware-guest.nix +++ b/nixos/modules/virtualisation/vmware-guest.nix @@ -5,6 +5,7 @@ with lib; let cfg = config.services.vmwareGuest; open-vm-tools = pkgs.open-vm-tools; + xf86inputvmmouse = pkgs.xorg.xf86inputvmmouse; in { options = { @@ -29,18 +30,17 @@ in services.xserver = { videoDrivers = mkOverride 50 [ "vmware" ]; + modules = [ xf86inputvmmouse ]; config = '' - Section "InputDevice" + Section "InputClass" Identifier "VMMouse" + MatchDevicePath "/dev/input/event*" + MatchProduct "ImPS/2 Generic Wheel Mouse" Driver "vmmouse" EndSection ''; - serverLayoutSection = '' - InputDevice "VMMouse" - ''; - displayManager.sessionCommands = '' ${open-vm-tools}/bin/vmware-user-suid-wrapper ''; diff --git a/nixos/modules/virtualisation/xen-dom0.nix b/nixos/modules/virtualisation/xen-dom0.nix index a0b2d5363eb2..67eef0ec1e4c 100644 --- a/nixos/modules/virtualisation/xen-dom0.nix +++ b/nixos/modules/virtualisation/xen-dom0.nix @@ -324,18 +324,18 @@ in domain-needed dhcp-hostsfile=/var/run/xen/dnsmasq.etherfile dhcp-authoritative - dhcp-range=$XEN_BRIDGE_IP_RANGE_START,$XEN_BRIDGE_IP_RANGE_END,$XEN_BRIDGE_NETWORK_ADDRESS + dhcp-range=$XEN_BRIDGE_IP_RANGE_START,$XEN_BRIDGE_IP_RANGE_END dhcp-no-override no-ping dhcp-leasefile=/var/run/xen/dnsmasq.leasefile EOF # DHCP - ${pkgs.iptables}/bin/iptables -I INPUT -i ${cfg.bridge.name} -p tcp -s $XEN_BRIDGE_NETWORK_ADDRESS/${toString cfg.bridge.prefixLength} --sport 68 --dport 67 -j ACCEPT - ${pkgs.iptables}/bin/iptables -I INPUT -i ${cfg.bridge.name} -p udp -s $XEN_BRIDGE_NETWORK_ADDRESS/${toString cfg.bridge.prefixLength} --sport 68 --dport 67 -j ACCEPT + ${pkgs.iptables}/bin/iptables -w -I INPUT -i ${cfg.bridge.name} -p tcp -s $XEN_BRIDGE_NETWORK_ADDRESS/${toString cfg.bridge.prefixLength} --sport 68 --dport 67 -j ACCEPT + ${pkgs.iptables}/bin/iptables -w -I INPUT -i ${cfg.bridge.name} -p udp -s $XEN_BRIDGE_NETWORK_ADDRESS/${toString cfg.bridge.prefixLength} --sport 68 --dport 67 -j ACCEPT # DNS - ${pkgs.iptables}/bin/iptables -I INPUT -i ${cfg.bridge.name} -p tcp -d ${cfg.bridge.address} --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT - ${pkgs.iptables}/bin/iptables -I INPUT -i ${cfg.bridge.name} -p udp -d ${cfg.bridge.address} --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT + ${pkgs.iptables}/bin/iptables -w -I INPUT -i ${cfg.bridge.name} -p tcp -d ${cfg.bridge.address} --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT + ${pkgs.iptables}/bin/iptables -w -I INPUT -i ${cfg.bridge.name} -p udp -d ${cfg.bridge.address} --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT ${pkgs.bridge-utils}/bin/brctl addbr ${cfg.bridge.name} ${pkgs.inetutils}/bin/ifconfig ${cfg.bridge.name} ${cfg.bridge.address} @@ -347,11 +347,11 @@ in ${pkgs.bridge-utils}/bin/brctl delbr ${cfg.bridge.name} # DNS - ${pkgs.iptables}/bin/iptables -D INPUT -i ${cfg.bridge.name} -p udp -d ${cfg.bridge.address} --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT - ${pkgs.iptables}/bin/iptables -D INPUT -i ${cfg.bridge.name} -p tcp -d ${cfg.bridge.address} --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT + ${pkgs.iptables}/bin/iptables -w -D INPUT -i ${cfg.bridge.name} -p udp -d ${cfg.bridge.address} --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT + ${pkgs.iptables}/bin/iptables -w -D INPUT -i ${cfg.bridge.name} -p tcp -d ${cfg.bridge.address} --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT # DHCP - ${pkgs.iptables}/bin/iptables -D INPUT -i ${cfg.bridge.name} -p udp --sport 68 --dport 67 -j ACCEPT - ${pkgs.iptables}/bin/iptables -D INPUT -i ${cfg.bridge.name} -p tcp --sport 68 --dport 67 -j ACCEPT + ${pkgs.iptables}/bin/iptables -w -D INPUT -i ${cfg.bridge.name} -p udp --sport 68 --dport 67 -j ACCEPT + ${pkgs.iptables}/bin/iptables -w -D INPUT -i ${cfg.bridge.name} -p tcp --sport 68 --dport 67 -j ACCEPT ''; }; diff --git a/nixos/modules/virtualisation/xen-domU.nix b/nixos/modules/virtualisation/xen-domU.nix index 2db3190ad139..8dd0d1dbfd2c 100644 --- a/nixos/modules/virtualisation/xen-domU.nix +++ b/nixos/modules/virtualisation/xen-domU.nix @@ -18,5 +18,5 @@ services.syslogd.tty = "hvc0"; # Don't run ntpd, since we should get the correct time from Dom0. - services.ntp.enable = false; + services.timesyncd.enable = false; } diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix index f2ca6af7e3a4..70b29aa23a5b 100644 --- a/nixos/release-combined.nix +++ b/nixos/release-combined.nix @@ -73,6 +73,7 @@ in rec { (all nixos.tests.ipv6) (all nixos.tests.i3wm) (all nixos.tests.kde4) + (all nixos.tests.kde5) #(all nixos.tests.lightdm) (all nixos.tests.login) (all nixos.tests.misc) @@ -88,6 +89,7 @@ in rec { (all nixos.tests.networking.scripted.sit) (all nixos.tests.networking.scripted.vlan) (all nixos.tests.nfs3) + (all nixos.tests.nfs4) (all nixos.tests.openssh) (all nixos.tests.printing) (all nixos.tests.proxy) diff --git a/nixos/release.nix b/nixos/release.nix index 70a7ba5af89d..dfa9b67654fb 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -227,31 +227,39 @@ in rec { tests.containers-bridge = callTest tests/containers-bridge.nix {}; tests.containers-imperative = callTest tests/containers-imperative.nix {}; tests.containers-extra_veth = callTest tests/containers-extra_veth.nix {}; + tests.containers-physical_interfaces = callTest tests/containers-physical_interfaces.nix {}; + tests.containers-tmpfs = callTest tests/containers-tmpfs.nix {}; + tests.containers-hosts = callTest tests/containers-hosts.nix {}; + tests.containers-macvlans = callTest tests/containers-macvlans.nix {}; tests.docker = hydraJob (import tests/docker.nix { system = "x86_64-linux"; }); - tests.dockerRegistry = hydraJob (import tests/docker-registry.nix { system = "x86_64-linux"; }); tests.dnscrypt-proxy = callTest tests/dnscrypt-proxy.nix { system = "x86_64-linux"; }; tests.ecryptfs = callTest tests/ecryptfs.nix {}; tests.etcd = hydraJob (import tests/etcd.nix { system = "x86_64-linux"; }); tests.ec2-nixops = hydraJob (import tests/ec2.nix { system = "x86_64-linux"; }).boot-ec2-nixops; tests.ec2-config = hydraJob (import tests/ec2.nix { system = "x86_64-linux"; }).boot-ec2-config; + tests.ferm = callTest tests/ferm.nix {}; tests.firefox = callTest tests/firefox.nix {}; tests.firewall = callTest tests/firewall.nix {}; tests.fleet = hydraJob (import tests/fleet.nix { system = "x86_64-linux"; }); #tests.gitlab = callTest tests/gitlab.nix {}; + tests.glance = callTest tests/glance.nix {}; tests.gocd-agent = callTest tests/gocd-agent.nix {}; tests.gocd-server = callTest tests/gocd-server.nix {}; tests.gnome3 = callTest tests/gnome3.nix {}; tests.gnome3-gdm = callTest tests/gnome3-gdm.nix {}; tests.grsecurity = callTest tests/grsecurity.nix {}; tests.hibernate = callTest tests/hibernate.nix {}; + tests.hound = callTest tests/hound.nix {}; tests.i3wm = callTest tests/i3wm.nix {}; tests.installer = callSubTests tests/installer.nix {}; tests.influxdb = callTest tests/influxdb.nix {}; tests.ipv6 = callTest tests/ipv6.nix {}; tests.jenkins = callTest tests/jenkins.nix {}; tests.kde4 = callTest tests/kde4.nix {}; + tests.kde5 = callTest tests/kde5.nix {}; tests.keymap = callSubTests tests/keymap.nix {}; tests.initrdNetwork = callTest tests/initrd-network.nix {}; + tests.keystone = callTest tests/keystone.nix {}; tests.kubernetes = hydraJob (import tests/kubernetes.nix { system = "x86_64-linux"; }); tests.latestKernel.login = callTest tests/login.nix { latestKernel = true; }; #tests.lightdm = callTest tests/lightdm.nix {}; @@ -259,6 +267,7 @@ in rec { #tests.logstash = callTest tests/logstash.nix {}; tests.mathics = callTest tests/mathics.nix {}; tests.misc = callTest tests/misc.nix {}; + tests.mongodb = callTest tests/mongodb.nix {}; tests.mumble = callTest tests/mumble.nix {}; tests.munin = callTest tests/munin.nix {}; tests.mysql = callTest tests/mysql.nix {}; @@ -271,18 +280,20 @@ 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.leaps = callTest tests/leaps.nix { }; tests.nsd = callTest tests/nsd.nix {}; tests.openssh = callTest tests/openssh.nix {}; - tests.panamax = hydraJob (import tests/panamax.nix { system = "x86_64-linux"; }); + #tests.panamax = hydraJob (import tests/panamax.nix { system = "x86_64-linux"; }); tests.peerflix = callTest tests/peerflix.nix {}; tests.postgresql = callTest tests/postgresql.nix {}; tests.printing = callTest tests/printing.nix {}; tests.proxy = callTest tests/proxy.nix {}; tests.pumpio = callTest tests/pump.io.nix {}; + tests.quagga = callTest tests/quagga.nix {}; tests.quake3 = callTest tests/quake3.nix {}; tests.runInMachine = callTest tests/run-in-machine.nix {}; + tests.samba = callTest tests/samba.nix {}; tests.sddm = callTest tests/sddm.nix {}; - tests.sddm-kde5 = callTest tests/sddm-kde5.nix {}; tests.simple = callTest tests/simple.nix {}; tests.smokeping = callTest tests/smokeping.nix {}; tests.taskserver = callTest tests/taskserver.nix {}; diff --git a/nixos/tests/blivet.nix b/nixos/tests/blivet.nix index 33a79e65efe1..2adc2ee1eeea 100644 --- a/nixos/tests/blivet.nix +++ b/nixos/tests/blivet.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ pkgs, ... }: with pkgs.pythonPackages; rec { +import ./make-test.nix ({ pkgs, ... }: with pkgs.python2Packages; rec { name = "blivet"; meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ aszlig ]; @@ -69,6 +69,7 @@ import ./make-test.nix ({ pkgs, ... }: with pkgs.pythonPackages; rec { sed -i \ -e '1i import tempfile' \ -e 's|_STORE_FILE_PATH = .*|_STORE_FILE_PATH = tempfile.gettempdir()|' \ + -e 's|DEFAULT_STORE_SIZE = .*|DEFAULT_STORE_SIZE = 409600|' \ tests/loopbackedtestcase.py PYTHONPATH=".:$(< "${pkgs.stdenv.mkDerivation { diff --git a/nixos/tests/boot-stage1.nix b/nixos/tests/boot-stage1.nix index ccd8394a1f03..50186525cf39 100644 --- a/nixos/tests/boot-stage1.nix +++ b/nixos/tests/boot-stage1.nix @@ -3,7 +3,7 @@ import ./make-test.nix ({ pkgs, ... }: { machine = { config, pkgs, lib, ... }: { boot.extraModulePackages = let - compileKernelModule = name: source: pkgs.runCommand name rec { + compileKernelModule = name: source: pkgs.runCommandCC name rec { inherit source; kdev = config.boot.kernelPackages.kernel.dev; kver = config.boot.kernelPackages.kernel.modDirVersion; @@ -62,7 +62,7 @@ import ./make-test.nix ({ pkgs, ... }: { boot.initrd.kernelModules = [ "kcanary" ]; boot.initrd.extraUtilsCommands = let - compile = name: source: pkgs.runCommand name { inherit source; } '' + compile = name: source: pkgs.runCommandCC name { inherit source; } '' mkdir -p "$out/bin" echo "$source" | gcc -Wall -o "$out/bin/$name" -xc - ''; diff --git a/nixos/tests/cadvisor.nix b/nixos/tests/cadvisor.nix index c55b08c0e924..f0083ab18e45 100644 --- a/nixos/tests/cadvisor.nix +++ b/nixos/tests/cadvisor.nix @@ -13,10 +13,6 @@ import ./make-test.nix ({ pkgs, ... } : { services.cadvisor.enable = true; services.cadvisor.storageDriver = "influxdb"; services.influxdb.enable = true; - systemd.services.influxdb.postStart = mkAfter '' - ${pkgs.curl.bin}/bin/curl -X POST 'http://localhost:8086/db?u=root&p=root' \ - -d '{"name": "root"}' - ''; }; }; @@ -27,6 +23,12 @@ import ./make-test.nix ({ pkgs, ... } : { $machine->succeed("curl http://localhost:8080/containers/"); $influxdb->waitForUnit("influxdb.service"); + + # create influxdb database + $influxdb->succeed(q~ + curl -XPOST http://localhost:8086/query --data-urlencode "q=CREATE DATABASE root" + ~); + $influxdb->waitForUnit("cadvisor.service"); $influxdb->succeed("curl http://localhost:8080/containers/"); ''; diff --git a/nixos/tests/chromium.nix b/nixos/tests/chromium.nix index 9a6414f81c39..55b1fb5a7222 100644 --- a/nixos/tests/chromium.nix +++ b/nixos/tests/chromium.nix @@ -118,7 +118,7 @@ mapAttrs (channel: chromiumPkg: makeTest rec { "ulimit -c unlimited; ". "chromium $args \"$url\" & disown" ); - $machine->waitForText(qr/Type to search or enter a URL to navigate/); + $machine->waitForText(qr/startup done/); $machine->waitUntilSucceeds("${xdo "check-startup" '' search --sync --onlyvisible --name "startup done" # close first start help popup diff --git a/nixos/tests/cjdns.nix b/nixos/tests/cjdns.nix index f61c82b916ad..f32ec52dfc26 100644 --- a/nixos/tests/cjdns.nix +++ b/nixos/tests/cjdns.nix @@ -54,7 +54,7 @@ import ./make-test.nix ({ pkgs, ...} : { services.cjdns = { UDPInterface = { bind = "0.0.0.0:1024"; - connectTo."192.168.0.1:1024}" = + connectTo."192.168.0.1:1024" = { password = carolPassword; publicKey = carolPubKey; }; diff --git a/nixos/tests/containers-hosts.nix b/nixos/tests/containers-hosts.nix new file mode 100644 index 000000000000..c7a85f190a5d --- /dev/null +++ b/nixos/tests/containers-hosts.nix @@ -0,0 +1,52 @@ +# Test for NixOS' container support. + +import ./make-test.nix ({ pkgs, ...} : { + name = "containers-hosts"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ montag451 ]; + }; + + machine = + { config, pkgs, lib, ... }: + { + virtualisation.memorySize = 256; + virtualisation.vlans = []; + + networking.bridges.br0.interfaces = []; + networking.interfaces.br0 = { + ip4 = [ { address = "10.11.0.254"; prefixLength = 24; } ]; + }; + + # Force /etc/hosts to be the only source for host name resolution + environment.etc."nsswitch.conf".text = lib.mkForce '' + hosts: files + ''; + + containers.simple = { + autoStart = true; + privateNetwork = true; + localAddress = "10.10.0.1"; + hostAddress = "10.10.0.254"; + + config = {}; + }; + + containers.netmask = { + autoStart = true; + privateNetwork = true; + hostBridge = "br0"; + localAddress = "10.11.0.1/24"; + + config = {}; + }; + }; + + testScript = '' + startAll; + $machine->waitForUnit("default.target"); + + # Ping the containers using the entries added in /etc/hosts + $machine->succeed("ping -n -c 1 simple.containers"); + $machine->succeed("ping -n -c 1 netmask.containers"); + ''; +}) diff --git a/nixos/tests/containers-macvlans.nix b/nixos/tests/containers-macvlans.nix new file mode 100644 index 000000000000..721f98481497 --- /dev/null +++ b/nixos/tests/containers-macvlans.nix @@ -0,0 +1,82 @@ +# Test for NixOS' container support. + +let + # containers IP on VLAN 1 + containerIp1 = "192.168.1.253"; + containerIp2 = "192.168.1.254"; +in + +import ./make-test.nix ({ pkgs, ...} : { + name = "containers-macvlans"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ montag451 ]; + }; + + nodes = { + + machine1 = + { config, pkgs, lib, ... }: + { + virtualisation.memorySize = 256; + virtualisation.vlans = [ 1 ]; + + # To be able to ping containers from the host, it is necessary + # to create a macvlan on the host on the VLAN 1 network. + networking.macvlans.mv-eth1-host = { + interface = "eth1"; + mode = "bridge"; + }; + networking.interfaces.eth1.ip4 = lib.mkForce []; + networking.interfaces.mv-eth1-host = { + ip4 = [ { address = "192.168.1.1"; prefixLength = 24; } ]; + }; + + containers.test1 = { + autoStart = true; + macvlans = [ "eth1" ]; + + config = { + networking.interfaces.mv-eth1 = { + ip4 = [ { address = containerIp1; prefixLength = 24; } ]; + }; + }; + }; + + containers.test2 = { + autoStart = true; + macvlans = [ "eth1" ]; + + config = { + networking.interfaces.mv-eth1 = { + ip4 = [ { address = containerIp2; prefixLength = 24; } ]; + }; + }; + }; + }; + + machine2 = + { config, pkgs, ... }: + { + virtualisation.memorySize = 256; + virtualisation.vlans = [ 1 ]; + }; + + }; + + testScript = '' + startAll; + $machine1->waitForUnit("default.target"); + $machine2->waitForUnit("default.target"); + + # Ping between containers to check that macvlans are created in bridge mode + $machine1->succeed("nixos-container run test1 -- ping -n -c 1 ${containerIp2}"); + + # Ping containers from the host (machine1) + $machine1->succeed("ping -n -c 1 ${containerIp1}"); + $machine1->succeed("ping -n -c 1 ${containerIp2}"); + + # Ping containers from the second machine to check that containers are reachable from the outside + $machine2->succeed("ping -n -c 1 ${containerIp1}"); + $machine2->succeed("ping -n -c 1 ${containerIp2}"); + ''; +}) diff --git a/nixos/tests/containers-physical_interfaces.nix b/nixos/tests/containers-physical_interfaces.nix new file mode 100644 index 000000000000..a3b0b29951bf --- /dev/null +++ b/nixos/tests/containers-physical_interfaces.nix @@ -0,0 +1,133 @@ + +import ./make-test.nix ({ pkgs, ...} : { + name = "containers-physical_interfaces"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ kampfschlaefer ]; + }; + + nodes = { + server = { config, pkgs, ... }: + { + virtualisation.memorySize = 256; + virtualisation.vlans = [ 1 ]; + + containers.server = { + privateNetwork = true; + interfaces = [ "eth1" ]; + + config = { + networking.interfaces.eth1 = { + ip4 = [ { address = "10.10.0.1"; prefixLength = 24; } ]; + }; + networking.firewall.enable = false; + }; + }; + }; + bridged = { config, pkgs, ... }: { + virtualisation.memorySize = 128; + virtualisation.vlans = [ 1 ]; + + containers.bridged = { + privateNetwork = true; + interfaces = [ "eth1" ]; + + config = { + networking.bridges.br0.interfaces = [ "eth1" ]; + networking.interfaces.br0 = { + ip4 = [ { address = "10.10.0.2"; prefixLength = 24; } ]; + }; + networking.firewall.enable = false; + }; + }; + }; + + bonded = { config, pkgs, ... }: { + virtualisation.memorySize = 128; + virtualisation.vlans = [ 1 ]; + + containers.bonded = { + privateNetwork = true; + interfaces = [ "eth1" ]; + + config = { + networking.bonds.bond0 = { + interfaces = [ "eth1" ]; + mode = "active-backup"; + }; + networking.interfaces.bond0 = { + ip4 = [ { address = "10.10.0.3"; prefixLength = 24; } ]; + }; + networking.firewall.enable = false; + }; + }; + }; + + bridgedbond = { config, pkgs, ... }: { + virtualisation.memorySize = 128; + virtualisation.vlans = [ 1 ]; + + containers.bridgedbond = { + privateNetwork = true; + interfaces = [ "eth1" ]; + + config = { + networking.bonds.bond0 = { + interfaces = [ "eth1" ]; + mode = "active-backup"; + }; + networking.bridges.br0.interfaces = [ "bond0" ]; + networking.interfaces.br0 = { + ip4 = [ { address = "10.10.0.4"; prefixLength = 24; } ]; + }; + networking.firewall.enable = false; + }; + }; + }; + }; + + testScript = '' + startAll; + + subtest "prepare server", sub { + $server->waitForUnit("default.target"); + $server->succeed("ip link show dev eth1 >&2"); + }; + + subtest "simple physical interface", sub { + $server->succeed("nixos-container start server"); + $server->waitForUnit("container\@server"); + $server->succeed("systemctl -M server list-dependencies network-addresses-eth1.service >&2"); + + # The other tests will ping this container on its ip. Here we just check + # that the device is present in the container. + $server->succeed("nixos-container run server -- ip a show dev eth1 >&2"); + }; + + subtest "physical device in bridge in container", sub { + $bridged->waitForUnit("default.target"); + $bridged->succeed("nixos-container start bridged"); + $bridged->waitForUnit("container\@bridged"); + $bridged->succeed("systemctl -M bridged list-dependencies network-addresses-br0.service >&2"); + $bridged->succeed("systemctl -M bridged status -n 30 -l network-addresses-br0.service"); + $bridged->succeed("nixos-container run bridged -- ping -w 10 -c 1 -n 10.10.0.1"); + }; + + subtest "physical device in bond in container", sub { + $bonded->waitForUnit("default.target"); + $bonded->succeed("nixos-container start bonded"); + $bonded->waitForUnit("container\@bonded"); + $bonded->succeed("systemctl -M bonded list-dependencies network-addresses-bond0 >&2"); + $bonded->succeed("systemctl -M bonded status -n 30 -l network-addresses-bond0 >&2"); + $bonded->succeed("nixos-container run bonded -- ping -w 10 -c 1 -n 10.10.0.1"); + }; + + subtest "physical device in bond in bridge in container", sub { + $bridgedbond->waitForUnit("default.target"); + $bridgedbond->succeed("nixos-container start bridgedbond"); + $bridgedbond->waitForUnit("container\@bridgedbond"); + $bridgedbond->succeed("systemctl -M bridgedbond list-dependencies network-addresses-br0.service >&2"); + $bridgedbond->succeed("systemctl -M bridgedbond status -n 30 -l network-addresses-br0.service"); + $bridgedbond->succeed("nixos-container run bridgedbond -- ping -w 10 -c 1 -n 10.10.0.1"); + }; + ''; +}) diff --git a/nixos/tests/containers-tmpfs.nix b/nixos/tests/containers-tmpfs.nix new file mode 100644 index 000000000000..564831fa2737 --- /dev/null +++ b/nixos/tests/containers-tmpfs.nix @@ -0,0 +1,79 @@ +# Test for NixOS' container support. + +import ./make-test.nix ({ pkgs, ...} : { + name = "containers-bridge"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ ckampka ]; + }; + + machine = + { config, pkgs, ... }: + { imports = [ ../modules/installer/cd-dvd/channel.nix ]; + virtualisation.writableStore = true; + virtualisation.memorySize = 768; + + containers.tmpfs = + { + autoStart = true; + tmpfs = [ + # Mount var as a tmpfs + "/var" + + # Add a nested mount inside a tmpfs + "/var/log" + + # Add a tmpfs on a path that does not exist + "/some/random/path" + ]; + config = { }; + }; + + virtualisation.pathsInNixDB = [ pkgs.stdenv ]; + }; + + testScript = + '' + $machine->waitForUnit("default.target"); + $machine->succeed("nixos-container list") =~ /tmpfs/ or die; + + # Start the tmpfs container. + #$machine->succeed("nixos-container status tmpfs") =~ /up/ or die; + + # Verify that /var is mounted as a tmpfs + #$machine->succeed("nixos-container run tmpfs -- systemctl status var.mount --no-pager 2>/dev/null") =~ /What: tmpfs/ or die; + $machine->succeed("nixos-container run tmpfs -- mountpoint -q /var 2>/dev/null"); + + # Verify that /var/log is mounted as a tmpfs + $machine->succeed("nixos-container run tmpfs -- systemctl status var-log.mount --no-pager 2>/dev/null") =~ /What: tmpfs/ or die; + $machine->succeed("nixos-container run tmpfs -- mountpoint -q /var/log 2>/dev/null"); + + # Verify that /some/random/path is mounted as a tmpfs + $machine->succeed("nixos-container run tmpfs -- systemctl status some-random-path.mount --no-pager 2>/dev/null") =~ /What: tmpfs/ or die; + $machine->succeed("nixos-container run tmpfs -- mountpoint -q /some/random/path 2>/dev/null"); + + # Verify that files created in the container in a non-tmpfs directory are visible on the host. + # This establishes legitimacy for the following tests + $machine->succeed("nixos-container run tmpfs -- touch /root/test.file 2>/dev/null"); + $machine->succeed("nixos-container run tmpfs -- ls -l /root | grep -q test.file 2>/dev/null"); + $machine->succeed("test -e /var/lib/containers/tmpfs/root/test.file"); + + + # Verify that /some/random/path is writable and that files created there + # are not in the hosts container dir but in the tmpfs + $machine->succeed("nixos-container run tmpfs -- touch /some/random/path/test.file 2>/dev/null"); + $machine->succeed("nixos-container run tmpfs -- test -e /some/random/path/test.file 2>/dev/null"); + + $machine->fail("test -e /var/lib/containers/tmpfs/some/random/path/test.file"); + + # Verify that files created in the hosts container dir in a path where a tmpfs file system has been mounted + # are not visible to the container as the do not exist in the tmpfs + $machine->succeed("touch /var/lib/containers/tmpfs/var/test.file"); + + $machine->succeed("test -e /var/lib/containers/tmpfs/var/test.file"); + $machine->succeed("ls -l /var/lib/containers/tmpfs/var/ | grep -q test.file 2>/dev/null"); + + $machine->fail("nixos-container run tmpfs -- ls -l /var | grep -q test.file 2>/dev/null"); + + ''; + +}) diff --git a/nixos/tests/dnscrypt-proxy.nix b/nixos/tests/dnscrypt-proxy.nix index b686e9582a7d..26409949ec62 100644 --- a/nixos/tests/dnscrypt-proxy.nix +++ b/nixos/tests/dnscrypt-proxy.nix @@ -22,8 +22,6 @@ import ./make-test.nix ({ pkgs, ... }: { }; testScript = '' - $client->start; - $client->waitForUnit("sockets.target"); $client->waitForUnit("dnsmasq"); # The daemon is socket activated; sending a single ping should activate it. diff --git a/nixos/tests/docker-registry.nix b/nixos/tests/docker-registry.nix index eed3284202f5..109fca440e57 100644 --- a/nixos/tests/docker-registry.nix +++ b/nixos/tests/docker-registry.nix @@ -3,14 +3,14 @@ import ./make-test.nix ({ pkgs, ...} : { name = "docker-registry"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ offline ]; + maintainers = [ globin ]; }; nodes = { registry = { config, pkgs, ... }: { services.dockerRegistry.enable = true; services.dockerRegistry.port = 8080; - services.dockerRegistry.host = "0.0.0.0"; + services.dockerRegistry.listenAddress = "0.0.0.0"; networking.firewall.allowedTCPPorts = [ 8080 ]; }; diff --git a/nixos/tests/docker.nix b/nixos/tests/docker.nix index 06e511d6e0bd..1b57a94a05d4 100644 --- a/nixos/tests/docker.nix +++ b/nixos/tests/docker.nix @@ -11,9 +11,6 @@ import ./make-test.nix ({ pkgs, ...} : { { config, pkgs, ... }: { virtualisation.docker.enable = true; - # FIXME: The default "devicemapper" storageDriver fails in NixOS VM - # tests. - virtualisation.docker.storageDriver = "overlay"; }; }; diff --git a/nixos/tests/ecryptfs.nix b/nixos/tests/ecryptfs.nix index db800c7bb2c2..041be0f5a624 100644 --- a/nixos/tests/ecryptfs.nix +++ b/nixos/tests/ecryptfs.nix @@ -21,13 +21,13 @@ import ./make-test.nix ({ pkgs, ... }: $machine->log("ecryptfs-migrate-home said: $out"); # Log alice in (ecryptfs passwhrase is wrapped during first login) - $machine->sleep(2); # urgh: wait for username prompt + $machine->waitUntilTTYMatches(1, "login: "); $machine->sendChars("alice\n"); - $machine->sleep(1); + $machine->waitUntilTTYMatches(1, "Password: "); $machine->sendChars("foobar\n"); - $machine->sleep(2); + $machine->waitUntilTTYMatches(1, "alice\@machine"); $machine->sendChars("logout\n"); - $machine->sleep(2); + $machine->waitUntilTTYMatches(1, "login: "); # Why do I need to do this?? $machine->succeed("su alice -c ecryptfs-umount-private || true"); @@ -39,10 +39,11 @@ import ./make-test.nix ({ pkgs, ... }: $machine->log("keyctl unlink said: " . $out); # Log alice again + $machine->waitUntilTTYMatches(1, "login: "); $machine->sendChars("alice\n"); - $machine->sleep(1); + $machine->waitUntilTTYMatches(1, "Password: "); $machine->sendChars("foobar\n"); - $machine->sleep(2); + $machine->waitUntilTTYMatches(1, "alice\@machine"); # Create some files in encrypted home $machine->succeed("su alice -c 'touch ~alice/a'"); @@ -50,7 +51,7 @@ import ./make-test.nix ({ pkgs, ... }: # Logout $machine->sendChars("logout\n"); - $machine->sleep(2); + $machine->waitUntilTTYMatches(1, "login: "); # Why do I need to do this?? $machine->succeed("su alice -c ecryptfs-umount-private || true"); @@ -62,10 +63,11 @@ import ./make-test.nix ({ pkgs, ... }: $machine->succeed("su alice -c 'test \! -f ~alice/b'"); # Log alice once more + $machine->waitUntilTTYMatches(1, "login: "); $machine->sendChars("alice\n"); - $machine->sleep(1); + $machine->waitUntilTTYMatches(1, "Password: "); $machine->sendChars("foobar\n"); - $machine->sleep(2); + $machine->waitUntilTTYMatches(1, "alice\@machine"); # Check that the files are there $machine->sleep(1); @@ -77,5 +79,6 @@ import ./make-test.nix ({ pkgs, ... }: $machine->succeed("su alice -c 'ls -lh ~alice/'"); $machine->sendChars("logout\n"); + $machine->waitUntilTTYMatches(1, "login: "); ''; }) diff --git a/nixos/tests/etcd-cluster.nix b/nixos/tests/etcd-cluster.nix new file mode 100644 index 000000000000..3971997a9bf7 --- /dev/null +++ b/nixos/tests/etcd-cluster.nix @@ -0,0 +1,157 @@ +# This test runs simple etcd cluster + +import ./make-test.nix ({ pkgs, ... } : let + + runWithOpenSSL = file: cmd: pkgs.runCommand file { + buildInputs = [ pkgs.openssl ]; + } cmd; + + ca_key = runWithOpenSSL "ca-key.pem" "openssl genrsa -out $out 2048"; + ca_pem = runWithOpenSSL "ca.pem" '' + openssl req \ + -x509 -new -nodes -key ${ca_key} \ + -days 10000 -out $out -subj "/CN=etcd-ca" + ''; + etcd_key = runWithOpenSSL "etcd-key.pem" "openssl genrsa -out $out 2048"; + etcd_csr = runWithOpenSSL "etcd.csr" '' + openssl req \ + -new -key ${etcd_key} \ + -out $out -subj "/CN=etcd" \ + -config ${openssl_cnf} + ''; + etcd_cert = runWithOpenSSL "etcd.pem" '' + openssl x509 \ + -req -in ${etcd_csr} \ + -CA ${ca_pem} -CAkey ${ca_key} \ + -CAcreateserial -out $out \ + -days 365 -extensions v3_req \ + -extfile ${openssl_cnf} + ''; + + etcd_client_key = runWithOpenSSL "etcd-client-key.pem" + "openssl genrsa -out $out 2048"; + + etcd_client_csr = runWithOpenSSL "etcd-client-key.pem" '' + openssl req \ + -new -key ${etcd_client_key} \ + -out $out -subj "/CN=etcd-client" \ + -config ${client_openssl_cnf} + ''; + + etcd_client_cert = runWithOpenSSL "etcd-client.crt" '' + openssl x509 \ + -req -in ${etcd_client_csr} \ + -CA ${ca_pem} -CAkey ${ca_key} -CAcreateserial \ + -out $out -days 365 -extensions v3_req \ + -extfile ${client_openssl_cnf} + ''; + + openssl_cnf = pkgs.writeText "openssl.cnf" '' + ions = v3_req + distinguished_name = req_distinguished_name + [req_distinguished_name] + [ v3_req ] + basicConstraints = CA:FALSE + keyUsage = digitalSignature, keyEncipherment + extendedKeyUsage = serverAuth + subjectAltName = @alt_names + [alt_names] + DNS.1 = node1 + DNS.2 = node2 + DNS.3 = node3 + IP.1 = 127.0.0.1 + ''; + + client_openssl_cnf = pkgs.writeText "client-openssl.cnf" '' + ions = v3_req + distinguished_name = req_distinguished_name + [req_distinguished_name] + [ v3_req ] + basicConstraints = CA:FALSE + keyUsage = digitalSignature, keyEncipherment + extendedKeyUsage = clientAuth + ''; + + nodeConfig = { + services = { + etcd = { + enable = true; + keyFile = etcd_key; + certFile = etcd_cert; + trustedCaFile = ca_pem; + peerClientCertAuth = true; + listenClientUrls = ["https://127.0.0.1:2379"]; + listenPeerUrls = ["https://0.0.0.0:2380"]; + }; + }; + + environment.variables = { + ETCDCTL_CERT_FILE = "${etcd_client_cert}"; + ETCDCTL_KEY_FILE = "${etcd_client_key}"; + ETCDCTL_CA_FILE = "${ca_pem}"; + ETCDCTL_PEERS = "https://127.0.0.1:2379"; + }; + + networking.firewall.allowedTCPPorts = [ 2380 ]; + }; +in { + name = "etcd"; + + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ offline ]; + }; + + nodes = { + node1 = { config, pkgs, nodes, ... }: { + require = [nodeConfig]; + services.etcd = { + initialCluster = ["node1=https://node1:2380" "node2=https://node2:2380"]; + initialAdvertisePeerUrls = ["https://node1:2380"]; + }; + }; + + node2 = { config, pkgs, ... }: { + require = [nodeConfig]; + services.etcd = { + initialCluster = ["node1=https://node1:2380" "node2=https://node2:2380"]; + initialAdvertisePeerUrls = ["https://node2:2380"]; + }; + }; + + node3 = { config, pkgs, ... }: { + require = [nodeConfig]; + services.etcd = { + initialCluster = ["node1=https://node1:2380" "node2=https://node2:2380" "node3=https://node3:2380"]; + initialAdvertisePeerUrls = ["https://node3:2380"]; + initialClusterState = "existing"; + }; + }; + }; + + testScript = '' + subtest "should start etcd cluster", sub { + $node1->start(); + $node2->start(); + $node1->waitForUnit("etcd.service"); + $node2->waitForUnit("etcd.service"); + $node2->waitUntilSucceeds("etcdctl cluster-health"); + $node1->succeed("etcdctl set /foo/bar 'Hello world'"); + $node2->succeed("etcdctl get /foo/bar | grep 'Hello world'"); + }; + + subtest "should add another member", sub { + $node1->succeed("etcdctl member add node3 https://node3:2380"); + $node3->start(); + $node3->waitForUnit("etcd.service"); + $node3->waitUntilSucceeds("etcdctl member list | grep 'node3'"); + $node3->succeed("etcdctl cluster-health"); + }; + + subtest "should survive member crash", sub { + $node3->crash; + $node1->succeed("etcdctl cluster-health"); + $node1->succeed("etcdctl set /foo/bar 'Hello degraded world'"); + $node1->succeed("etcdctl get /foo/bar | grep 'Hello degraded world'"); + }; + ''; +}) diff --git a/nixos/tests/etcd.nix b/nixos/tests/etcd.nix index bac4ec6a918b..f8a6791a834f 100644 --- a/nixos/tests/etcd.nix +++ b/nixos/tests/etcd.nix @@ -1,111 +1,27 @@ -# This test runs etcd as single node, multy node and using discovery +# This test runs simple etcd node import ./make-test.nix ({ pkgs, ... } : { name = "etcd"; + meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ offline ]; }; nodes = { - simple = - { config, pkgs, nodes, ... }: - { - services.etcd.enable = true; - services.etcd.listenClientUrls = ["http://0.0.0.0:4001"]; - environment.systemPackages = [ pkgs.curl ]; - networking.firewall.allowedTCPPorts = [ 4001 ]; - }; - - - node1 = - { config, pkgs, nodes, ... }: - { - services = { - etcd = { - enable = true; - listenPeerUrls = ["http://0.0.0.0:7001"]; - initialAdvertisePeerUrls = ["http://node1:7001"]; - initialCluster = ["node1=http://node1:7001" "node2=http://node2:7001"]; - }; - }; - - networking.firewall.allowedTCPPorts = [ 7001 ]; - }; - - node2 = - { config, pkgs, ... }: - { - services = { - etcd = { - enable = true; - listenPeerUrls = ["http://0.0.0.0:7001"]; - initialAdvertisePeerUrls = ["http://node2:7001"]; - initialCluster = ["node1=http://node1:7001" "node2=http://node2:7001"]; - }; - }; - - networking.firewall.allowedTCPPorts = [ 7001 ]; - }; - - discovery1 = - { config, pkgs, nodes, ... }: - { - services = { - etcd = { - enable = true; - listenPeerUrls = ["http://0.0.0.0:7001"]; - initialAdvertisePeerUrls = ["http://discovery1:7001"]; - discovery = "http://simple:4001/v2/keys/discovery/6c007a14875d53d9bf0ef5a6fc0257c817f0fb83/"; - }; - }; - - networking.firewall.allowedTCPPorts = [ 7001 ]; - }; - - discovery2 = - { config, pkgs, ... }: - { - services = { - etcd = { - enable = true; - listenPeerUrls = ["http://0.0.0.0:7001"]; - initialAdvertisePeerUrls = ["http://discovery2:7001"]; - discovery = "http://simple:4001/v2/keys/discovery/6c007a14875d53d9bf0ef5a6fc0257c817f0fb83/"; - }; - }; - - networking.firewall.allowedTCPPorts = [ 7001 ]; - }; + node = { config, pkgs, nodes, ... }: { + services.etcd.enable = true; }; + }; testScript = '' - subtest "single node", sub { - $simple->start(); - $simple->waitForUnit("etcd.service"); - $simple->waitUntilSucceeds("etcdctl set /foo/bar 'Hello world'"); - $simple->waitUntilSucceeds("etcdctl get /foo/bar | grep 'Hello world'"); + subtest "should start etcd node", sub { + $node->start(); + $node->waitForUnit("etcd.service"); }; - subtest "multy node", sub { - $node1->start(); - $node2->start(); - $node1->waitForUnit("etcd.service"); - $node2->waitForUnit("etcd.service"); - $node1->waitUntilSucceeds("etcdctl set /foo/bar 'Hello world'"); - $node2->waitUntilSucceeds("etcdctl get /foo/bar | grep 'Hello world'"); - $node1->shutdown(); - $node2->shutdown(); - }; - - subtest "discovery", sub { - $simple->succeed("curl -X PUT http://localhost:4001/v2/keys/discovery/6c007a14875d53d9bf0ef5a6fc0257c817f0fb83/_config/size -d value=2"); - - $discovery1->start(); - $discovery2->start(); - $discovery1->waitForUnit("etcd.service"); - $discovery2->waitForUnit("etcd.service"); - $discovery1->waitUntilSucceeds("etcdctl set /foo/bar 'Hello world'"); - $discovery2->waitUntilSucceeds("etcdctl get /foo/bar | grep 'Hello world'"); - }; + subtest "should write and read some values to etcd", sub { + $node->succeed("etcdctl set /foo/bar 'Hello world'"); + $node->succeed("etcdctl get /foo/bar | grep 'Hello world'"); + } ''; }) diff --git a/nixos/tests/ferm.nix b/nixos/tests/ferm.nix new file mode 100644 index 000000000000..8f2a8c01eebc --- /dev/null +++ b/nixos/tests/ferm.nix @@ -0,0 +1,72 @@ + +import ./make-test.nix ({ pkgs, ...} : { + name = "ferm"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ mic92 ]; + }; + + nodes = + { client = + { config, pkgs, ... }: + with pkgs.lib; + { + networking = { + interfaces.eth1.ip6 = mkOverride 0 [ { address = "fd00::2"; prefixLength = 64; } ]; + interfaces.eth1.ip4 = mkOverride 0 [ { address = "192.168.1.2"; prefixLength = 24; } ]; + }; + }; + server = + { config, pkgs, ... }: + with pkgs.lib; + { + networking = { + interfaces.eth1.ip6 = mkOverride 0 [ { address = "fd00::1"; prefixLength = 64; } ]; + interfaces.eth1.ip4 = mkOverride 0 [ { address = "192.168.1.1"; prefixLength = 24; } ]; + }; + + services = { + ferm.enable = true; + ferm.config = '' + domain (ip ip6) table filter chain INPUT { + interface lo ACCEPT; + proto tcp dport 8080 REJECT reject-with tcp-reset; + } + ''; + nginx.enable = true; + nginx.httpConfig = '' + server { + listen 80; + listen [::]:80; + listen 8080; + listen [::]:8080; + + location /status { stub_status on; } + } + ''; + }; + }; + }; + + testScript = + '' + startAll; + + $client->waitForUnit("network.target"); + $server->waitForUnit("ferm.service"); + $server->waitForUnit("nginx.service"); + $server->waitUntilSucceeds("ss -ntl | grep -q 80"); + + subtest "port 80 is allowed", sub { + $client->succeed("curl --fail -g http://192.168.1.1:80/status"); + $client->succeed("curl --fail -g http://[fd00::1]:80/status"); + }; + + subtest "port 8080 is not allowed", sub { + $server->succeed("curl --fail -g http://192.168.1.1:8080/status"); + $server->succeed("curl --fail -g http://[fd00::1]:8080/status"); + + $client->fail("curl --fail -g http://192.168.1.1:8080/status"); + $client->fail("curl --fail -g http://[fd00::1]:8080/status"); + }; + ''; +}) diff --git a/nixos/tests/firewall.nix b/nixos/tests/firewall.nix index 8f2cb27b60f1..1119a5312eb5 100644 --- a/nixos/tests/firewall.nix +++ b/nixos/tests/firewall.nix @@ -15,6 +15,16 @@ import ./make-test.nix ( { pkgs, ... } : { services.httpd.adminAddr = "foo@example.org"; }; + # Dummy configuration to check whether firewall.service will be honored + # during system activation. This only needs to be different to the + # original walled configuration so that there is a change in the service + # file. + walled2 = + { config, pkgs, nodes, ... }: + { networking.firewall.enable = true; + networking.firewall.rejectPackets = true; + }; + attacker = { config, pkgs, ... }: { services.httpd.enable = true; @@ -23,28 +33,33 @@ import ./make-test.nix ( { pkgs, ... } : { }; }; - testScript = - { nodes, ... }: - '' - startAll; + testScript = { nodes, ... }: let + newSystem = nodes.walled2.config.system.build.toplevel; + in '' + $walled->start; + $attacker->start; - $walled->waitForUnit("firewall"); - $walled->waitForUnit("httpd"); - $attacker->waitForUnit("network.target"); + $walled->waitForUnit("firewall"); + $walled->waitForUnit("httpd"); + $attacker->waitForUnit("network.target"); - # Local connections should still work. - $walled->succeed("curl -v http://localhost/ >&2"); + # Local connections should still work. + $walled->succeed("curl -v http://localhost/ >&2"); - # Connections to the firewalled machine should fail, but ping should succeed. - $attacker->fail("curl --fail --connect-timeout 2 http://walled/ >&2"); - $attacker->succeed("ping -c 1 walled >&2"); + # Connections to the firewalled machine should fail, but ping should succeed. + $attacker->fail("curl --fail --connect-timeout 2 http://walled/ >&2"); + $attacker->succeed("ping -c 1 walled >&2"); - # Outgoing connections/pings should still work. - $walled->succeed("curl -v http://attacker/ >&2"); - $walled->succeed("ping -c 1 attacker >&2"); + # Outgoing connections/pings should still work. + $walled->succeed("curl -v http://attacker/ >&2"); + $walled->succeed("ping -c 1 attacker >&2"); - # If we stop the firewall, then connections should succeed. - $walled->stopJob("firewall"); - $attacker->succeed("curl -v http://walled/ >&2"); - ''; + # If we stop the firewall, then connections should succeed. + $walled->stopJob("firewall"); + $attacker->succeed("curl -v http://walled/ >&2"); + + # Check whether activation of a new configuration reloads the firewall. + $walled->succeed("${newSystem}/bin/switch-to-configuration test 2>&1" . + " | grep -qF firewall.service"); + ''; }) diff --git a/nixos/tests/flannel.nix b/nixos/tests/flannel.nix new file mode 100644 index 000000000000..7f27903a3026 --- /dev/null +++ b/nixos/tests/flannel.nix @@ -0,0 +1,55 @@ +import ./make-test.nix ({ pkgs, ...} : rec { + name = "flannel"; + + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ offline ]; + }; + + nodes = let + flannelConfig = { + services.flannel = { + enable = true; + network = "10.1.0.0/16"; + iface = "eth1"; + etcd.endpoints = ["http://etcd:2379"]; + }; + + networking.firewall.allowedUDPPorts = [ 8472 ]; + }; + in { + etcd = { config, pkgs, ... }: { + services = { + etcd = { + enable = true; + listenClientUrls = ["http://etcd:2379"]; + listenPeerUrls = ["http://etcd:2380"]; + initialAdvertisePeerUrls = ["http://etcd:2379"]; + initialCluster = ["etcd=http://etcd:2379"]; + }; + }; + + networking.firewall.allowedTCPPorts = [ 2379 ]; + }; + + node1 = { config, ... }: { + require = [flannelConfig]; + }; + + node2 = { config, ... }: { + require = [flannelConfig]; + }; + }; + + testScript = '' + startAll; + + $node1->waitForUnit("flannel.service"); + $node2->waitForUnit("flannel.service"); + + my $ip1 = $node1->succeed("ip -4 addr show flannel.1 | grep -oP '(?<=inet).*(?=/)'"); + my $ip2 = $node2->succeed("ip -4 addr show flannel.1 | grep -oP '(?<=inet).*(?=/)'"); + + $node1->waitUntilSucceeds("ping -c 1 $ip2"); + $node2->waitUntilSucceeds("ping -c 1 $ip1"); + ''; +}) diff --git a/nixos/tests/glance.nix b/nixos/tests/glance.nix new file mode 100644 index 000000000000..992b77227a4b --- /dev/null +++ b/nixos/tests/glance.nix @@ -0,0 +1,77 @@ +{ system ? builtins.currentSystem }: + +with import ../lib/testing.nix { inherit system; }; +with pkgs.lib; + +let + glanceMysqlPassword = "glanceMysqlPassword"; + glanceAdminPassword = "glanceAdminPassword"; + + createDb = pkgs.writeText "db-provisionning.sql" '' + create database keystone; + GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'keystone'; + GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'keystone'; + + create database glance; + GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY '${glanceMysqlPassword}'; + GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY '${glanceMysqlPassword}'; + ''; + + image = + (import ../lib/eval-config.nix { + inherit system; + modules = [ ../../nixos/modules/virtualisation/nova-image.nix ]; + }).config.system.build.novaImage; + + # The admin keystone account + adminOpenstackCmd = "OS_TENANT_NAME=admin OS_USERNAME=admin OS_PASSWORD=keystone OS_AUTH_URL=http://localhost:5000/v3 OS_IDENTITY_API_VERSION=3 openstack"; + +in makeTest { + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ lewo ]; + }; + machine = + { config, pkgs, ... }: + { + services.mysql.enable = true; + services.mysql.package = pkgs.mysql; + services.mysql.initialScript = createDb; + + virtualisation = { + openstack.keystone = { + enable = true; + database.password = { value = "keystone"; storage = "fromNixStore"; }; + adminToken = { value = "adminToken"; storage = "fromNixStore"; }; + bootstrap.enable = true; + bootstrap.adminPassword = { value = "keystone"; storage = "fromNixStore"; }; + }; + + openstack.glance = { + enable = true; + database.password = { value = glanceMysqlPassword; storage = "fromNixStore"; }; + servicePassword = { value = glanceAdminPassword; storage = "fromNixStore"; }; + + bootstrap = { + enable = true; + keystoneAdminPassword = { value = "keystone"; storage = "fromNixStore"; }; + }; + }; + + memorySize = 2096; + diskSize = 4 * 1024; + }; + + environment.systemPackages = with pkgs.pythonPackages; with pkgs; [ + openstackclient + ]; + }; + + testScript = + '' + $machine->waitForUnit("glance-api.service"); + + # Since Glance api can take time to start, we retry until success + $machine->waitUntilSucceeds("${adminOpenstackCmd} image create nixos --file ${image}/nixos.img --disk-format qcow2 --container-format bare --public"); + $machine->succeed("${adminOpenstackCmd} image list") =~ /nixos/ or die; + ''; +} diff --git a/nixos/tests/gnome3.nix b/nixos/tests/gnome3.nix index bd8f9502e2fc..4787d42d695a 100644 --- a/nixos/tests/gnome3.nix +++ b/nixos/tests/gnome3.nix @@ -29,7 +29,7 @@ import ./make-test.nix ({ pkgs, ...} : { $machine->succeed("su - alice -c 'DISPLAY=:0.0 gnome-terminal &'"); $machine->succeed("xauth merge ~alice/.Xauthority"); $machine->waitForWindow(qr/Terminal/); - $machine->mustSucceed("timeout 900 bash -c 'journalctl -f|grep -m 1 \"GNOME Shell started\"'"); + $machine->succeed("timeout 900 bash -c 'while read msg; do if [[ \$msg =~ \"GNOME Shell started\" ]]; then break; fi; done < <(journalctl -f)'"); $machine->sleep(10); $machine->screenshot("screen"); ''; diff --git a/nixos/tests/grsecurity.nix b/nixos/tests/grsecurity.nix index e585a7402d34..ee9e0709e5e7 100644 --- a/nixos/tests/grsecurity.nix +++ b/nixos/tests/grsecurity.nix @@ -8,7 +8,9 @@ import ./make-test.nix ({ pkgs, ...} : { machine = { config, pkgs, ... }: { security.grsecurity.enable = true; + boot.kernel.sysctl."kernel.grsecurity.audit_mount" = 0; boot.kernel.sysctl."kernel.grsecurity.deter_bruteforce" = 0; + networking.useDHCP = false; }; testScript = '' @@ -20,16 +22,14 @@ import ./make-test.nix ({ pkgs, ...} : { subtest "paxtest", sub { # TODO: running paxtest blackhat hangs the vm - $machine->succeed("${pkgs.paxtest}/lib/paxtest/anonmap") =~ /Killed/ or die; - $machine->succeed("${pkgs.paxtest}/lib/paxtest/execbss") =~ /Killed/ or die; - $machine->succeed("${pkgs.paxtest}/lib/paxtest/execdata") =~ /Killed/ or die; - $machine->succeed("${pkgs.paxtest}/lib/paxtest/execheap") =~ /Killed/ or die; - $machine->succeed("${pkgs.paxtest}/lib/paxtest/execstack") =~ /Killed/ or die; - $machine->succeed("${pkgs.paxtest}/lib/paxtest/mprotanon") =~ /Killed/ or die; - $machine->succeed("${pkgs.paxtest}/lib/paxtest/mprotbss") =~ /Killed/ or die; - $machine->succeed("${pkgs.paxtest}/lib/paxtest/mprotdata") =~ /Killed/ or die; - $machine->succeed("${pkgs.paxtest}/lib/paxtest/mprotheap") =~ /Killed/ or die; - $machine->succeed("${pkgs.paxtest}/lib/paxtest/mprotstack") =~ /Killed/ or die; + my @pax_mustkill = ( + "anonmap", "execbss", "execdata", "execheap", "execstack", + "mprotanon", "mprotbss", "mprotdata", "mprotheap", "mprotstack", + ); + foreach my $name (@pax_mustkill) { + my $paxtest = "${pkgs.paxtest}/lib/paxtest/" . $name; + $machine->succeed($paxtest) =~ /Killed/ or die + } }; # tcc -run executes run-time generated code and so allows us to test whether diff --git a/nixos/tests/hibernate.nix b/nixos/tests/hibernate.nix index 787929f8904d..7616a75b0214 100644 --- a/nixos/tests/hibernate.nix +++ b/nixos/tests/hibernate.nix @@ -13,7 +13,7 @@ import ./make-test.nix (pkgs: { networking.firewall.allowedTCPPorts = [ 4444 ]; - systemd.services.listener.serviceConfig.ExecStart = "${pkgs.netcat}/bin/nc -l -p 4444"; + systemd.services.listener.serviceConfig.ExecStart = "${pkgs.netcat}/bin/nc -l 4444"; }; probe = { config, lib, pkgs, ...}: { @@ -36,7 +36,7 @@ import ./make-test.nix (pkgs: { $machine->waitForShutdown; $machine->start; $probe->waitForUnit("network.target"); - $probe->waitUntilSucceeds("echo test | nc -c machine 4444"); + $probe->waitUntilSucceeds("echo test | nc machine 4444"); ''; }) diff --git a/nixos/tests/hound.nix b/nixos/tests/hound.nix new file mode 100644 index 000000000000..82fd44e8e36f --- /dev/null +++ b/nixos/tests/hound.nix @@ -0,0 +1,58 @@ +# Test whether `houndd` indexes nixpkgs +import ./make-test.nix ({ pkgs, ... } : { + name = "hound"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ grahamc ]; + }; + machine = { config, pkgs, ... }: { + services.hound = { + enable = true; + config = '' + { + "max-concurrent-indexers": 1, + "dbpath": "/var/lib/hound/data", + "repos": { + "nix": { + "url": "file:///var/lib/hound/my-git" + } + } + } + ''; + }; + + systemd.services.houndseed = { + description = "seed hound with a git repo"; + requiredBy = [ "hound.service" ]; + before = [ "hound.service" ]; + + serviceConfig = { + User = "hound"; + Group = "hound"; + WorkingDirectory = "/var/lib/hound"; + }; + path = [ pkgs.git ]; + script = '' + git config --global user.email "you@example.com" + git config --global user.name "Your Name" + git init my-git --bare + git init my-git-clone + cd my-git-clone + echo 'hi nix!' > hello + git add hello + git commit -m "hello there :)" + git remote add origin /var/lib/hound/my-git + git push origin master + ''; + }; + }; + + testScript = + '' startAll; + + $machine->waitForUnit("network.target"); + $machine->waitForUnit("hound.service"); + $machine->waitForOpenPort(6080); + $machine->succeed('curl http://127.0.0.1:6080/api/v1/search\?stats\=fosho\&repos\=\*\&rng=%3A20\&q\=hi\&files\=\&i=nope | grep "Filename" | grep "hello"'); + + ''; +}) diff --git a/nixos/tests/influxdb.nix b/nixos/tests/influxdb.nix index 0408d8983ade..ee126091667a 100644 --- a/nixos/tests/influxdb.nix +++ b/nixos/tests/influxdb.nix @@ -17,23 +17,17 @@ import ./make-test.nix ({ pkgs, ...} : { $one->waitForUnit("influxdb.service"); - # Check if admin interface is avalible - $one->waitUntilSucceeds("curl -f 127.0.0.1:8083"); - # create database $one->succeed(q~ - curl -X POST 'http://localhost:8086/db?u=root&p=root' \ - -d '{"name": "test"}' + curl -XPOST http://localhost:8086/query --data-urlencode "q=CREATE DATABASE test" ~); # write some points and run simple query $one->succeed(q~ - curl -X POST 'http://localhost:8086/db/test/series?u=root&p=root' \ - -d '[{"name":"foo","columns":["val"],"points":[[6666]]}]' + curl -XPOST 'http://localhost:8086/write?db=test' --data-binary 'cpu_load_short,host=server01,region=us-west value=0.64 1434055562000000000' ~); $one->succeed(q~ - curl -G 'http://localhost:8086/db/test/series?u=root&p=root' \ - --data-urlencode 'q=select * from foo limit 1' | grep 6666 + curl -GET 'http://localhost:8086/query' --data-urlencode "db=test" --data-urlencode "q=SELECT \"value\" FROM \"cpu_load_short\" WHERE \"region\"='us-west'" | grep "0\.64" ~); ''; }) diff --git a/nixos/tests/ipfs.nix b/nixos/tests/ipfs.nix new file mode 100644 index 000000000000..92d742e4f37f --- /dev/null +++ b/nixos/tests/ipfs.nix @@ -0,0 +1,37 @@ + +import ./make-test.nix ({ pkgs, ...} : { + name = "ipfs"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ mguentner ]; + }; + + nodes = { + adder = + { config, pkgs, ... }: + { + services.ipfs = { + enable = true; + gatewayAddress = "/ip4/127.0.0.1/tcp/2323"; + apiAddress = "/ip4/127.0.0.1/tcp/2324"; + }; + }; + getter = + { config, pkgs, ... }: + { + services.ipfs.enable = true; + }; + }; + + testScript = '' + startAll; + $adder->waitForUnit("ipfs"); + # * => needs ipfs dht (internet) + # $getter->waitForUnit("ipfs"); + $adder->waitUntilSucceeds("ipfs --api /ip4/127.0.0.1/tcp/2324 id"); + $adder->mustSucceed("([[ -n '$(ipfs --api /ip4/127.0.0.1/tcp/2324 config Addresses.gatewayAddress | grep /ip4/127.0.0.1/tcp/2323)' ]])"); + # * $getter->waitUntilSucceeds("ipfs --api /ip4/127.0.0.1/tcp/5001 id"); + # * my $ipfsHash = $adder->mustSucceed("echo fnord | ipfs --api /ip4/127.0.0.1/tcp/2324 add | cut -d' ' -f2"); + $adder->mustSucceed("([[ -n '$(echo fnord | ipfs --api /ip4/127.0.0.1/tcp/2324 add | grep added)' ]])"); + # * $getter->mustSucceed("ipfs --api /ip4/127.0.0.1/tcp/5001 cat $ipfsHash"); + ''; +}) diff --git a/nixos/tests/sddm-kde5.nix b/nixos/tests/kde5.nix similarity index 57% rename from nixos/tests/sddm-kde5.nix rename to nixos/tests/kde5.nix index 0247d267aaa4..2b61d6f3f0a1 100644 --- a/nixos/tests/sddm-kde5.nix +++ b/nixos/tests/kde5.nix @@ -1,7 +1,7 @@ import ./make-test.nix ({ pkgs, ...} : { - name = "sddm"; + name = "kde5"; meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ ttuegel ]; }; @@ -18,35 +18,31 @@ import ./make-test.nix ({ pkgs, ...} : }; }; services.xserver.desktopManager.kde5.enable = true; + virtualisation.writableStore = false; # FIXME }; - enableOCR = true; - testScript = { nodes, ... }: let xdo = "${pkgs.xdotool}/bin/xdotool"; in - '' - sub krunner { - my ($win,) = @_; - $machine->execute("${xdo} key Alt+F2 sleep 1 type $win"); - $machine->execute("${xdo} search --sync --onlyvisible --class krunner sleep 5 key Return"); - } + '' + startAll; + + $machine->waitForFile("/home/alice/.Xauthority"); + $machine->succeed("xauth merge ~alice/.Xauthority"); $machine->waitUntilSucceeds("pgrep plasmashell"); - $machine->succeed("xauth merge ~alice/.Xauthority"); - $machine->waitForWindow(qr/Desktop.*/); + $machine->waitForWindow("^Desktop "); # Check that logging in has given the user ownership of devices. $machine->succeed("getfacl /dev/snd/timer | grep -q alice"); - - krunner("dolphin"); - $machine->waitForWindow(qr/.*Dolphin/); - - krunner("konsole"); - $machine->waitForWindow(qr/.*Konsole/); - - krunner("systemsettings5"); - $machine->waitForWindow(qr/.*Settings/); - $machine->sleep(20); + + $machine->execute("su - alice -c 'DISPLAY=:0.0 dolphin &'"); + $machine->waitForWindow(" Dolphin"); + + $machine->execute("su - alice -c 'DISPLAY=:0.0 konsole &'"); + $machine->waitForWindow("Konsole"); + + $machine->execute("su - alice -c 'DISPLAY=:0.0 systemsettings5 &'"); + $machine->waitForWindow("Settings"); $machine->execute("${xdo} key Alt+F1 sleep 10"); $machine->screenshot("screen"); diff --git a/nixos/tests/keystone.nix b/nixos/tests/keystone.nix new file mode 100644 index 000000000000..358e352f776f --- /dev/null +++ b/nixos/tests/keystone.nix @@ -0,0 +1,82 @@ +{ system ? builtins.currentSystem }: + +with import ../lib/testing.nix { inherit system; }; +with pkgs.lib; + +let + keystoneMysqlPassword = "keystoneMysqlPassword"; + keystoneMysqlPasswordFile = "/var/run/keystoneMysqlPassword"; + keystoneAdminPassword = "keystoneAdminPassword"; + + createKeystoneDb = pkgs.writeText "create-keystone-db.sql" '' + create database keystone; + GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY '${keystoneMysqlPassword}'; + GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY '${keystoneMysqlPassword}'; + ''; + # The admin keystone account + adminOpenstackCmd = "OS_TENANT_NAME=admin OS_USERNAME=admin OS_PASSWORD=${keystoneAdminPassword} OS_AUTH_URL=http://localhost:5000/v3 OS_IDENTITY_API_VERSION=3 openstack"; + # The created demo keystone account + demoOpenstackCmd = "OS_TENANT_NAME=demo OS_USERNAME=demo OS_PASSWORD=demo OS_AUTH_URL=http://localhost:5000/v3 OS_IDENTITY_API_VERSION=3 openstack"; + +in makeTest { + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ lewo ]; + }; + machine = + { config, pkgs, ... }: + { + # This is to simulate nixops deployment process. + # https://nixos.org/nixops/manual/#opt-deployment.keys + boot.postBootCommands = "echo ${keystoneMysqlPassword} > ${keystoneMysqlPasswordFile}"; + + services.mysql.enable = true; + services.mysql.initialScript = createKeystoneDb; + + virtualisation = { + + openstack.keystone = { + enable = true; + # Check if we can get the secret from a file + database.password = { + value = keystoneMysqlPasswordFile; + storage = "fromFile"; + }; + adminToken = { + value = "adminToken"; + storage = "fromNixStore"; + }; + + bootstrap.enable = true; + # Check if we can get the secret from the store + bootstrap.adminPassword = { + value = keystoneAdminPassword; + storage = "fromNixStore"; + }; + }; + + memorySize = 2096; + diskSize = 4 * 1024; + }; + + environment.systemPackages = with pkgs.pythonPackages; with pkgs; [ + openstackclient + ]; + }; + + testScript = + '' + $machine->waitForUnit("keystone-all.service"); + + # Verify that admin ccount is working + $machine->succeed("${adminOpenstackCmd} token issue"); + + # Try to create a new user + $machine->succeed("${adminOpenstackCmd} project create --domain default --description 'Demo Project' demo"); + $machine->succeed("${adminOpenstackCmd} user create --domain default --password demo demo"); + $machine->succeed("${adminOpenstackCmd} role create user"); + $machine->succeed("${adminOpenstackCmd} role add --project demo --user demo user"); + + # Verify this new account is working + $machine->succeed("${demoOpenstackCmd} token issue"); + ''; +} diff --git a/nixos/tests/kubernetes.nix b/nixos/tests/kubernetes.nix index b19ea67b0baf..273bd3c80c19 100644 --- a/nixos/tests/kubernetes.nix +++ b/nixos/tests/kubernetes.nix @@ -1,182 +1,408 @@ -# This test runs two node kubernetes cluster and checks if simple redis pod works +{ system ? builtins.currentSystem }: -import ./make-test.nix ({ pkgs, ...} : rec { - name = "kubernetes"; - meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ offline ]; +with import ../lib/testing.nix { inherit system; }; +with import ../lib/qemu-flags.nix; +with pkgs.lib; + +let + redisPod = pkgs.writeText "redis-master-pod.json" (builtins.toJSON { + kind = "Pod"; + apiVersion = "v1"; + metadata.name = "redis"; + metadata.labels.name = "redis"; + spec.containers = [{ + name = "redis"; + image = "redis"; + args = ["--bind" "0.0.0.0"]; + imagePullPolicy = "Never"; + ports = [{ + name = "redis-server"; + containerPort = 6379; + }]; + }]; + }); + + redisService = pkgs.writeText "redis-service.json" (builtins.toJSON { + kind = "Service"; + apiVersion = "v1"; + metadata.name = "redis"; + spec = { + ports = [{port = 6379; targetPort = 6379;}]; + selector = {name = "redis";}; + }; + }); + + redisImage = pkgs.dockerTools.buildImage { + name = "redis"; + tag = "latest"; + contents = pkgs.redis; + config.Entrypoint = "/bin/redis-server"; }; - redisMaster = builtins.toFile "redis-master-pod.yaml" '' - id: redis-master-pod - kind: Pod - apiVersion: v1beta1 - desiredState: - manifest: - version: v1beta1 - id: redis-master-pod - containers: - - name: master - image: master:5000/nix - cpu: 100 - ports: - - name: redis-server - containerPort: 6379 - hostPort: 6379 - volumeMounts: - - name: nix-store - mountPath: /nix/store - readOnly: true - volumeMounts: - - name: system-profile - mountPath: /bin - readOnly: true - command: - - /bin/redis-server - volumes: - - name: nix-store - source: - hostDir: - path: /nix/store - - name: system-profile - source: - hostDir: - path: /run/current-system/sw/bin - labels: - name: redis - role: master + testSimplePod = '' + $kubernetes->execute("docker load < ${redisImage}"); + $kubernetes->waitUntilSucceeds("kubectl create -f ${redisPod}"); + $kubernetes->succeed("kubectl create -f ${redisService}"); + $kubernetes->waitUntilSucceeds("kubectl get pod redis | grep Running"); + $kubernetes->succeed("nc -z \$\(dig \@10.10.0.1 redis.default.svc.cluster.local +short\) 6379"); ''; +in { + # This test runs kubernetes on a single node + trivial = makeTest { + name = "kubernetes-trivial"; - nodes = { - master = - { config, pkgs, lib, nodes, ... }: - { - virtualisation.memorySize = 768; - services.kubernetes = { - roles = ["master" "node"]; - dockerCfg = ''{"master:5000":{}}''; - controllerManager.machines = ["master" "node"]; - apiserver.address = "0.0.0.0"; - verbose = true; + nodes = { + kubernetes = + { config, pkgs, lib, nodes, ... }: + { + virtualisation.memorySize = 768; + virtualisation.diskSize = 2048; + + programs.bash.enableCompletion = true; + + services.kubernetes.roles = ["master" "node"]; + virtualisation.docker.extraOptions = "--iptables=false --ip-masq=false -b cbr0"; + + networking.bridges.cbr0.interfaces = []; + networking.interfaces.cbr0 = {}; }; - virtualisation.docker.extraOptions = "--iptables=false --ip-masq=false -b cbr0 --insecure-registry master:5000"; + }; - services.etcd = { - listenPeerUrls = ["http://0.0.0.0:7001"]; - initialAdvertisePeerUrls = ["http://master:7001"]; - initialCluster = ["master=http://master:7001" "node=http://node:7001"]; - }; - services.dockerRegistry.enable = true; - services.dockerRegistry.host = "0.0.0.0"; - services.dockerRegistry.port = 5000; + testScript = '' + startAll; - virtualisation.vlans = [ 1 2 ]; - networking.bridges = { - cbr0.interfaces = [ "eth2" ]; - }; - networking.interfaces = { - cbr0 = { - ipAddress = "10.10.0.1"; - prefixLength = 24; - }; - eth2.ip4 = lib.mkOverride 0 [ ]; - }; - networking.localCommands = '' - ip route add 10.10.0.0/16 dev cbr0 - ip route flush cache - ''; - networking.extraHosts = "127.0.0.1 master"; + $kubernetes->waitUntilSucceeds("kubectl get nodes | grep kubernetes | grep Ready"); - networking.firewall.enable = false; - #networking.firewall.allowedTCPPorts = [ 4001 7001 ]; - - environment.systemPackages = [ pkgs.redis ]; - }; - - node = - { config, pkgs, lib, nodes, ... }: - { - services.kubernetes = { - roles = ["node"]; - dockerCfg = ''{"master:5000":{}}''; - kubelet.apiServers = ["master:8080"]; - verbose = true; - }; - virtualisation.docker.extraOptions = "--iptables=false --ip-masq=false -b cbr0 --insecure-registry master:5000"; - services.etcd = { - listenPeerUrls = ["http://0.0.0.0:7001"]; - initialAdvertisePeerUrls = ["http://node:7001"]; - initialCluster = ["master=http://master:7001" "node=http://node:7001"]; - }; - - virtualisation.vlans = [ 1 2 ]; - networking.bridges = { - cbr0.interfaces = [ "eth2" ]; - }; - networking.interfaces = { - cbr0 = { - ipAddress = "10.10.1.1"; - prefixLength = 24; - }; - eth2.ip4 = lib.mkOverride 0 [ ]; - }; - networking.localCommands = '' - ip route add 10.10.0.0/16 dev cbr0 - ip route flush cache - ''; - networking.extraHosts = "127.0.0.1 node"; - - networking.firewall.enable = false; - #networking.firewall.allowedTCPPorts = [ 4001 7001 ]; - - environment.systemPackages = [ pkgs.redis ]; - }; - - client = - { config, pkgs, nodes, ... }: - { - virtualisation.docker.enable = true; - virtualisation.docker.extraOptions = "--insecure-registry master:5000"; - environment.systemPackages = [ pkgs.kubernetes ]; - environment.etc."test/redis-master-pod.yaml".source = redisMaster; - environment.etc."test/pause".source = "${pkgs.kubernetes}/bin/kube-pause"; - environment.etc."test/Dockerfile".source = pkgs.writeText "Dockerfile" '' - FROM scratch - ADD pause / - ENTRYPOINT ["/pause"] - ''; - }; + ${testSimplePod} + ''; }; - testScript = '' - startAll; + cluster = let + runWithOpenSSL = file: cmd: pkgs.runCommand file { + buildInputs = [ pkgs.openssl ]; + } cmd; - $master->waitForUnit("kubernetes-apiserver.service"); - $master->waitForUnit("kubernetes-scheduler.service"); - $master->waitForUnit("kubernetes-controller-manager.service"); - $master->waitForUnit("kubernetes-kubelet.service"); - $master->waitForUnit("kubernetes-proxy.service"); + ca_key = runWithOpenSSL "ca-key.pem" "openssl genrsa -out $out 2048"; + ca_pem = runWithOpenSSL "ca.pem" '' + openssl req \ + -x509 -new -nodes -key ${ca_key} \ + -days 10000 -out $out -subj "/CN=etcd-ca" + ''; + etcd_key = runWithOpenSSL "etcd-key.pem" "openssl genrsa -out $out 2048"; + etcd_csr = runWithOpenSSL "etcd.csr" '' + openssl req \ + -new -key ${etcd_key} \ + -out $out -subj "/CN=etcd" \ + -config ${openssl_cnf} + ''; + etcd_cert = runWithOpenSSL "etcd.pem" '' + openssl x509 \ + -req -in ${etcd_csr} \ + -CA ${ca_pem} -CAkey ${ca_key} \ + -CAcreateserial -out $out \ + -days 365 -extensions v3_req \ + -extfile ${openssl_cnf} + ''; - $node->waitForUnit("kubernetes-kubelet.service"); - $node->waitForUnit("kubernetes-proxy.service"); + etcd_client_key = runWithOpenSSL "etcd-client-key.pem" + "openssl genrsa -out $out 2048"; - $master->waitUntilSucceeds("kubectl get minions | grep master"); - $master->waitUntilSucceeds("kubectl get minions | grep node"); + etcd_client_csr = runWithOpenSSL "etcd-client-key.pem" '' + openssl req \ + -new -key ${etcd_client_key} \ + -out $out -subj "/CN=etcd-client" \ + -config ${client_openssl_cnf} + ''; - $client->waitForUnit("docker.service"); - $client->succeed("tar cv --files-from /dev/null | docker import - nix"); - $client->succeed("docker tag nix master:5000/nix"); - $master->waitForUnit("docker-registry.service"); - $client->succeed("docker push master:5000/nix"); - $client->succeed("mkdir -p /root/pause"); - $client->succeed("cp /etc/test/pause /root/pause/"); - $client->succeed("cp /etc/test/Dockerfile /root/pause/"); - $client->succeed("cd /root/pause && docker build -t master:5000/pause ."); - $client->succeed("docker push master:5000/pause"); + etcd_client_cert = runWithOpenSSL "etcd-client.crt" '' + openssl x509 \ + -req -in ${etcd_client_csr} \ + -CA ${ca_pem} -CAkey ${ca_key} -CAcreateserial \ + -out $out -days 365 -extensions v3_req \ + -extfile ${client_openssl_cnf} + ''; - subtest "simple pod", sub { - $client->succeed("kubectl create -f ${redisMaster} -s http://master:8080"); - $client->waitUntilSucceeds("kubectl get pods -s http://master:8080 | grep redis-master | grep -i running"); - } + apiserver_key = runWithOpenSSL "apiserver-key.pem" "openssl genrsa -out $out 2048"; - ''; -}) + apiserver_csr = runWithOpenSSL "apiserver.csr" '' + openssl req \ + -new -key ${apiserver_key} \ + -out $out -subj "/CN=kube-apiserver" \ + -config ${apiserver_cnf} + ''; + + apiserver_cert = runWithOpenSSL "apiserver.pem" '' + openssl x509 \ + -req -in ${apiserver_csr} \ + -CA ${ca_pem} -CAkey ${ca_key} -CAcreateserial \ + -out $out -days 365 -extensions v3_req \ + -extfile ${apiserver_cnf} + ''; + + worker_key = runWithOpenSSL "worker-key.pem" "openssl genrsa -out $out 2048"; + + worker_csr = runWithOpenSSL "worker.csr" '' + openssl req \ + -new -key ${worker_key} \ + -out $out -subj "/CN=kube-worker" \ + -config ${worker_cnf} + ''; + + worker_cert = runWithOpenSSL "worker.pem" '' + openssl x509 \ + -req -in ${worker_csr} \ + -CA ${ca_pem} -CAkey ${ca_key} -CAcreateserial \ + -out $out -days 365 -extensions v3_req \ + -extfile ${worker_cnf} + ''; + + openssl_cnf = pkgs.writeText "openssl.cnf" '' + [req] + req_extensions = v3_req + distinguished_name = req_distinguished_name + [req_distinguished_name] + [ v3_req ] + basicConstraints = CA:FALSE + keyUsage = digitalSignature, keyEncipherment + extendedKeyUsage = serverAuth + subjectAltName = @alt_names + [alt_names] + DNS.1 = etcd1 + DNS.2 = etcd2 + DNS.3 = etcd3 + IP.1 = 127.0.0.1 + ''; + + client_openssl_cnf = pkgs.writeText "client-openssl.cnf" '' + [req] + req_extensions = v3_req + distinguished_name = req_distinguished_name + [req_distinguished_name] + [ v3_req ] + basicConstraints = CA:FALSE + keyUsage = digitalSignature, keyEncipherment + extendedKeyUsage = clientAuth + ''; + + apiserver_cnf = pkgs.writeText "apiserver-openssl.cnf" '' + [req] + req_extensions = v3_req + distinguished_name = req_distinguished_name + [req_distinguished_name] + [ v3_req ] + basicConstraints = CA:FALSE + keyUsage = nonRepudiation, digitalSignature, keyEncipherment + subjectAltName = @alt_names + [alt_names] + DNS.1 = kubernetes + DNS.2 = kubernetes.default + DNS.3 = kubernetes.default.svc + DNS.4 = kubernetes.default.svc.cluster.local + IP.1 = 10.10.10.1 + ''; + + worker_cnf = pkgs.writeText "worker-openssl.cnf" '' + [req] + req_extensions = v3_req + distinguished_name = req_distinguished_name + [req_distinguished_name] + [ v3_req ] + basicConstraints = CA:FALSE + keyUsage = nonRepudiation, digitalSignature, keyEncipherment + subjectAltName = @alt_names + [alt_names] + DNS.1 = kubeWorker1 + DNS.2 = kubeWorker2 + ''; + + etcdNodeConfig = { + virtualisation.memorySize = 128; + + services = { + etcd = { + enable = true; + keyFile = etcd_key; + certFile = etcd_cert; + trustedCaFile = ca_pem; + peerClientCertAuth = true; + listenClientUrls = ["https://0.0.0.0:2379"]; + listenPeerUrls = ["https://0.0.0.0:2380"]; + }; + }; + + environment.variables = { + ETCDCTL_CERT_FILE = "${etcd_client_cert}"; + ETCDCTL_KEY_FILE = "${etcd_client_key}"; + ETCDCTL_CA_FILE = "${ca_pem}"; + ETCDCTL_PEERS = "https://127.0.0.1:2379"; + }; + + networking.firewall.allowedTCPPorts = [ 2379 2380 ]; + }; + + kubeConfig = { + virtualisation.diskSize = 2048; + programs.bash.enableCompletion = true; + + services.flannel = { + enable = true; + network = "10.10.0.0/16"; + iface = "eth1"; + etcd = { + endpoints = ["https://etcd1:2379" "https://etcd2:2379" "https://etcd3:2379"]; + keyFile = etcd_client_key; + certFile = etcd_client_cert; + caFile = ca_pem; + }; + }; + + # vxlan + networking.firewall.allowedUDPPorts = [ 8472 ]; + + systemd.services.docker.after = ["flannel.service"]; + systemd.services.docker.serviceConfig.EnvironmentFile = "/run/flannel/subnet.env"; + virtualisation.docker.extraOptions = "--iptables=false --ip-masq=false --bip $FLANNEL_SUBNET"; + + services.kubernetes.verbose = true; + services.kubernetes.etcd = { + servers = ["https://etcd1:2379" "https://etcd2:2379" "https://etcd3:2379"]; + keyFile = etcd_client_key; + certFile = etcd_client_cert; + caFile = ca_pem; + }; + + environment.systemPackages = [ pkgs.bind pkgs.tcpdump pkgs.utillinux ]; + }; + + kubeMasterConfig = {pkgs, ...}: { + require = [kubeConfig]; + + # kube apiserver + networking.firewall.allowedTCPPorts = [ 443 ]; + + virtualisation.memorySize = 512; + + services.kubernetes = { + roles = ["master"]; + scheduler.leaderElect = true; + controllerManager.leaderElect = true; + + apiserver = { + publicAddress = "0.0.0.0"; + advertiseAddress = "192.168.1.8"; + tlsKeyFile = apiserver_key; + tlsCertFile = apiserver_cert; + clientCaFile = ca_pem; + kubeletClientCaFile = ca_pem; + kubeletClientKeyFile = worker_key; + kubeletClientCertFile = worker_cert; + }; + }; + }; + + kubeWorkerConfig = { pkgs, ... }: { + require = [kubeConfig]; + + virtualisation.memorySize = 512; + + # kubelet + networking.firewall.allowedTCPPorts = [ 10250 ]; + + services.kubernetes = { + roles = ["node"]; + kubeconfig = { + server = "https://kubernetes:443"; + caFile = ca_pem; + certFile = worker_cert; + keyFile = worker_key; + }; + kubelet = { + tlsKeyFile = worker_key; + tlsCertFile = worker_cert; + }; + }; + }; + in makeTest { + name = "kubernetes-cluster"; + + nodes = { + etcd1 = { config, pkgs, nodes, ... }: { + require = [etcdNodeConfig]; + services.etcd = { + advertiseClientUrls = ["https://etcd1:2379"]; + initialCluster = ["etcd1=https://etcd1:2380" "etcd2=https://etcd2:2380" "etcd3=https://etcd3:2380"]; + initialAdvertisePeerUrls = ["https://etcd1:2380"]; + }; + }; + + etcd2 = { config, pkgs, ... }: { + require = [etcdNodeConfig]; + services.etcd = { + advertiseClientUrls = ["https://etcd2:2379"]; + initialCluster = ["etcd1=https://etcd1:2380" "etcd2=https://etcd2:2380" "etcd3=https://etcd3:2380"]; + initialAdvertisePeerUrls = ["https://etcd2:2380"]; + }; + }; + + etcd3 = { config, pkgs, ... }: { + require = [etcdNodeConfig]; + services.etcd = { + advertiseClientUrls = ["https://etcd3:2379"]; + initialCluster = ["etcd1=https://etcd1:2380" "etcd2=https://etcd2:2380" "etcd3=https://etcd3:2380"]; + initialAdvertisePeerUrls = ["https://etcd3:2380"]; + }; + }; + + kubeMaster1 = { config, pkgs, lib, nodes, ... }: { + require = [kubeMasterConfig]; + }; + + kubeMaster2 = { config, pkgs, lib, nodes, ... }: { + require = [kubeMasterConfig]; + }; + + # Kubernetes TCP load balancer + kubernetes = { config, pkgs, ... }: { + # kubernetes + networking.firewall.allowedTCPPorts = [ 443 ]; + + services.haproxy.enable = true; + services.haproxy.config = '' + global + log 127.0.0.1 local0 notice + user haproxy + group haproxy + + defaults + log global + retries 2 + timeout connect 3000 + timeout server 5000 + timeout client 5000 + + listen kubernetes + bind 0.0.0.0:443 + mode tcp + option ssl-hello-chk + balance roundrobin + server kube-master-1 kubeMaster1:443 check + server kube-master-2 kubeMaster2:443 check + ''; + }; + + kubeWorker1 = { config, pkgs, lib, nodes, ... }: { + require = [kubeWorkerConfig]; + }; + + kubeWorker2 = { config, pkgs, lib, nodes, ... }: { + require = [kubeWorkerConfig]; + }; + }; + + testScript = '' + startAll; + + ${testSimplePod} + ''; + }; +} diff --git a/nixos/tests/leaps.nix b/nixos/tests/leaps.nix new file mode 100644 index 000000000000..3c390e1a1691 --- /dev/null +++ b/nixos/tests/leaps.nix @@ -0,0 +1,29 @@ +import ./make-test.nix ({ pkgs, ... }: + +{ + name = "leaps"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ qknight ]; + }; + + nodes = + { + client = { }; + + server = + { services.leaps = { + enable = true; + port = 6666; + path = "/leaps/"; + }; + networking.firewall.enable = false; + }; + }; + + testScript = + '' + startAll; + $server->waitForOpenPort(6666); + $client->succeed("curl http://server:6666/leaps/ | grep -i 'leaps'"); + ''; +}) diff --git a/nixos/tests/login.nix b/nixos/tests/login.nix index e793d89567bf..a6a460fb0a7d 100644 --- a/nixos/tests/login.nix +++ b/nixos/tests/login.nix @@ -33,10 +33,11 @@ import ./make-test.nix ({ pkgs, latestKernel ? false, ... }: # Log in as alice on a virtual console. subtest "virtual console login", sub { - $machine->sleep(2); # urgh: wait for username prompt + $machine->waitUntilTTYMatches(2, "login: "); $machine->sendChars("alice\n"); + $machine->waitUntilTTYMatches(2, "login: alice"); $machine->waitUntilSucceeds("pgrep login"); - $machine->sleep(2); # urgh: wait for `Password:' + $machine->waitUntilTTYMatches(2, "Password: "); $machine->sendChars("foobar\n"); $machine->waitUntilSucceeds("pgrep -u alice bash"); $machine->sendChars("touch done\n"); diff --git a/nixos/tests/logstash.nix b/nixos/tests/logstash.nix index edece352cafe..01f6a0358b2e 100644 --- a/nixos/tests/logstash.nix +++ b/nixos/tests/logstash.nix @@ -25,7 +25,6 @@ import ./make-test.nix ({ pkgs, ...} : { ''; outputConfig = '' stdout { codec => rubydebug } - elasticsearch { embedded => true } ''; }; }; @@ -38,6 +37,5 @@ import ./make-test.nix ({ pkgs, ...} : { $one->waitForUnit("logstash.service"); $one->waitUntilSucceeds("journalctl -n 20 _SYSTEMD_UNIT=logstash.service | grep flowers"); $one->fail("journalctl -n 20 _SYSTEMD_UNIT=logstash.service | grep dragons"); - $one->waitUntilSucceeds("curl -s http://127.0.0.1:9200/_status?pretty=true | grep logstash"); ''; }) diff --git a/nixos/tests/mongodb.nix b/nixos/tests/mongodb.nix new file mode 100644 index 000000000000..18535f51af9b --- /dev/null +++ b/nixos/tests/mongodb.nix @@ -0,0 +1,34 @@ +# This test start mongodb, runs a query using mongo shell + +import ./make-test.nix ({ pkgs, ...} : let + testQuery = pkgs.writeScript "nixtest.js" '' + db.greetings.insert({ "greeting": "hello" }); + print(db.greetings.findOne().greeting); + ''; +in { + name = "mongodb"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ bluescreen303 offline wkennington cstrahan rvl ]; + }; + + nodes = { + one = + { config, pkgs, ... }: + { + services = { + mongodb.enable = true; + mongodb.extraConfig = '' + # Allow starting engine with only a small virtual disk + storage.journal.enabled: false + storage.mmapv1.smallFiles: true + ''; + }; + }; + }; + + testScript = '' + startAll; + $one->waitForUnit("mongodb.service"); + $one->succeed("mongo nixtest ${testQuery}") =~ /hello/ or die; + ''; +}) diff --git a/nixos/tests/mpich.nix b/nixos/tests/mpich.nix deleted file mode 100644 index a28e41deb31e..000000000000 --- a/nixos/tests/mpich.nix +++ /dev/null @@ -1,41 +0,0 @@ -# Simple example to showcase distributed tests using NixOS VMs. - -import ./make-test.nix ({ pkgs, ...} : { - name = "mpich"; - meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ eelco chaoflow ]; - }; - - nodes = { - master = - { config, pkgs, ... }: { - environment.systemPackages = [ gcc mpich2 ]; - #boot.kernelPackages = pkgs.kernelPackages_2_6_29; - }; - - slave = - { config, pkgs, ... }: { - environment.systemPackages = [ gcc mpich2 ]; - }; - }; - - # Start master/slave MPI daemons and compile/run a program that uses both - # nodes. - testScript = - '' - startAll; - - $master->succeed("echo 'MPD_SECRETWORD=secret' > /etc/mpd.conf"); - $master->succeed("chmod 600 /etc/mpd.conf"); - $master->succeed("mpd --daemon --ifhn=master --listenport=4444"); - - $slave->succeed("echo 'MPD_SECRETWORD=secret' > /etc/mpd.conf"); - $slave->succeed("chmod 600 /etc/mpd.conf"); - $slave->succeed("mpd --daemon --host=master --port=4444"); - - $master->succeed("mpicc -o example -Wall ${./mpich-example.c}"); - $slave->succeed("mpicc -o example -Wall ${./mpich-example.c}"); - - $master->succeed("mpiexec -n 2 ./example >&2"); - ''; -}) diff --git a/nixos/tests/mumble.nix b/nixos/tests/mumble.nix index 35f440026997..7959b85a0cf0 100644 --- a/nixos/tests/mumble.nix +++ b/nixos/tests/mumble.nix @@ -36,18 +36,29 @@ in # cancel client audio configuration $client1->waitForWindow(qr/Audio Tuning Wizard/); $client2->waitForWindow(qr/Audio Tuning Wizard/); + $server->sleep(5); # wait because mumble is slow to register event handlers $client1->sendKeys("esc"); $client2->sendKeys("esc"); # cancel client cert configuration $client1->waitForWindow(qr/Certificate Management/); $client2->waitForWindow(qr/Certificate Management/); + $server->sleep(5); # wait because mumble is slow to register event handlers $client1->sendKeys("esc"); $client2->sendKeys("esc"); # accept server certificate $client1->waitForWindow(qr/^Mumble$/); $client2->waitForWindow(qr/^Mumble$/); + $server->sleep(5); # wait because mumble is slow to register event handlers + $client1->sendChars("y"); + $client2->sendChars("y"); + $server->sleep(5); # wait because mumble is slow to register event handlers + + # sometimes the wrong of the 2 windows is focused, we switch focus and try pressing "y" again + $client1->sendKeys("alt-tab"); + $client2->sendKeys("alt-tab"); + $server->sleep(5); # wait because mumble is slow to register event handlers $client1->sendChars("y"); $client2->sendChars("y"); diff --git a/nixos/tests/networking.nix b/nixos/tests/networking.nix index d5a0a9b798f5..17d4a878d3a4 100644 --- a/nixos/tests/networking.nix +++ b/nixos/tests/networking.nix @@ -41,7 +41,6 @@ let machine.networking.useNetworkd = networkd; testScript = '' startAll; - $machine->waitForUnit("network-interfaces.target"); $machine->waitForUnit("network.target"); $machine->succeed("ip addr show lo | grep -q 'inet 127.0.0.1/8 '"); $machine->succeed("ip addr show lo | grep -q 'inet6 ::1/128 '"); @@ -71,9 +70,7 @@ let '' startAll; - $client->waitForUnit("network-interfaces.target"); $client->waitForUnit("network.target"); - $router->waitForUnit("network-interfaces.target"); $router->waitForUnit("network.target"); # Make sure dhcpcd is not started @@ -119,9 +116,7 @@ let '' startAll; - $client->waitForUnit("network-interfaces.target"); $client->waitForUnit("network.target"); - $router->waitForUnit("network-interfaces.target"); $router->waitForUnit("network.target"); # Wait until we have an ip address on each interface @@ -164,9 +159,7 @@ let startAll; # Wait for networking to come up - $client->waitForUnit("network-interfaces.target"); $client->waitForUnit("network.target"); - $router->waitForUnit("network-interfaces.target"); $router->waitForUnit("network.target"); # Wait until we have an ip address on each interface @@ -213,9 +206,7 @@ let startAll; # Wait for networking to come up - $client1->waitForUnit("network-interfaces.target"); $client1->waitForUnit("network.target"); - $client2->waitForUnit("network-interfaces.target"); $client2->waitForUnit("network.target"); # Test bonding @@ -259,11 +250,8 @@ let startAll; # Wait for networking to come up - $client1->waitForUnit("network-interfaces.target"); $client1->waitForUnit("network.target"); - $client2->waitForUnit("network-interfaces.target"); $client2->waitForUnit("network.target"); - $router->waitForUnit("network-interfaces.target"); $router->waitForUnit("network.target"); # Test bridging @@ -298,9 +286,7 @@ let startAll; # Wait for networking to come up - $client->waitForUnit("network-interfaces.target"); $client->waitForUnit("network.target"); - $router->waitForUnit("network-interfaces.target"); $router->waitForUnit("network.target"); # Wait until we have an ip address on each interface @@ -348,9 +334,7 @@ let startAll; # Wait for networking to be configured - $client1->waitForUnit("network-interfaces.target"); $client1->waitForUnit("network.target"); - $client2->waitForUnit("network-interfaces.target"); $client2->waitForUnit("network.target"); # Print diagnostic information @@ -391,9 +375,7 @@ let startAll; # Wait for networking to be configured - $client1->waitForUnit("network-interfaces.target"); $client1->waitForUnit("network.target"); - $client2->waitForUnit("network-interfaces.target"); $client2->waitForUnit("network.target"); # Test vlan is setup diff --git a/nixos/tests/openssh.nix b/nixos/tests/openssh.nix index 390363b88e21..291544996889 100644 --- a/nixos/tests/openssh.nix +++ b/nixos/tests/openssh.nix @@ -35,6 +35,18 @@ in { ]; }; + server_lazy = + { config, pkgs, ... }: + + { + services.openssh = { enable = true; startWhenNeeded = true; }; + security.pam.services.sshd.limits = + [ { domain = "*"; item = "memlock"; type = "-"; value = 1024; } ]; + users.extraUsers.root.openssh.authorizedKeys.keys = [ + snakeOilPublicKey + ]; + }; + client = { config, pkgs, ... }: { }; @@ -50,6 +62,8 @@ in { subtest "manual-authkey", sub { $server->succeed("mkdir -m 700 /root/.ssh"); $server->copyFileFromHost("key.pub", "/root/.ssh/authorized_keys"); + $server_lazy->succeed("mkdir -m 700 /root/.ssh"); + $server_lazy->copyFileFromHost("key.pub", "/root/.ssh/authorized_keys"); $client->succeed("mkdir -m 700 /root/.ssh"); $client->copyFileFromHost("key", "/root/.ssh/id_ed25519"); @@ -58,6 +72,10 @@ in { $client->waitForUnit("network.target"); $client->succeed("ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server 'echo hello world' >&2"); $client->succeed("ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server 'ulimit -l' | grep 1024"); + + $client->succeed("ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server_lazy 'echo hello world' >&2"); + $client->succeed("ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server_lazy 'ulimit -l' | grep 1024"); + }; subtest "configured-authkey", sub { @@ -66,6 +84,11 @@ in { $client->succeed("ssh -o UserKnownHostsFile=/dev/null" . " -o StrictHostKeyChecking=no -i privkey.snakeoil" . " server true"); + + $client->succeed("ssh -o UserKnownHostsFile=/dev/null" . + " -o StrictHostKeyChecking=no -i privkey.snakeoil" . + " server_lazy true"); + }; ''; }) diff --git a/nixos/tests/postgis.nix b/nixos/tests/postgis.nix new file mode 100644 index 000000000000..1dba5c363c09 --- /dev/null +++ b/nixos/tests/postgis.nix @@ -0,0 +1,30 @@ +import ./make-test.nix ({ pkgs, ...} : { + name = "postgis"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ lsix ]; + }; + + nodes = { + master = + { pkgs, config, ... }: + + { + services.postgresql = let mypg = pkgs.postgresql95; in { + enable = true; + package = mypg; + extraPlugins = [ (pkgs.postgis.override { postgresql = mypg; }).v_2_2_1 ]; + initialScript = pkgs.writeText "postgresql-init.sql" + '' + CREATE ROLE postgres WITH superuser login createdb; + ''; + }; + }; + }; + + testScript = '' + startAll; + $master->waitForUnit("postgresql"); + $master->sleep(10); # Hopefully this is long enough!! + $master->succeed("sudo -u postgres psql -c 'CREATE EXTENSION postgis;'"); + ''; +}) diff --git a/nixos/tests/prometheus.nix b/nixos/tests/prometheus.nix new file mode 100644 index 000000000000..ade097597bb8 --- /dev/null +++ b/nixos/tests/prometheus.nix @@ -0,0 +1,29 @@ +import ./make-test.nix { + name = "prometheus"; + + nodes = { + one = { config, pkgs, ... }: { + services.prometheus = { + enable = true; + globalConfig = { + labels = { foo = "bar"; }; + }; + scrapeConfigs = [{ + job_name = "prometheus"; + static_configs = [{ + targets = [ "127.0.0.1:9090" ]; + labels = { instance = "localhost"; }; + }]; + }]; + rules = [ ''testrule = count(up{job="prometheus"})'' ]; + }; + }; + }; + + testScript = '' + startAll; + $one->waitForUnit("prometheus.service"); + $one->waitForOpenPort(9090); + $one->succeed("curl -s http://127.0.0.1:9090/metrics"); + ''; +} diff --git a/nixos/tests/pump.io.nix b/nixos/tests/pump.io.nix index 89fa23c3336e..18da52b5134b 100644 --- a/nixos/tests/pump.io.nix +++ b/nixos/tests/pump.io.nix @@ -77,11 +77,11 @@ in { }; }; mongodb.enable = true; mongodb.extraConfig = '' - nojournal = true + storage.journal.enabled: false ''; }; systemd.services.mongodb.unitConfig.Before = "pump.io.service"; - systemd.services.mongodb.unitConfig.RequiredBy = "pump.io.service"; + systemd.services."pump.io".unitConfig.Requires = "mongodb.service"; }; }; diff --git a/nixos/tests/quagga.nix b/nixos/tests/quagga.nix new file mode 100644 index 000000000000..b9644b4768c0 --- /dev/null +++ b/nixos/tests/quagga.nix @@ -0,0 +1,97 @@ +# This test runs Quagga and checks if OSPF routing works. +# +# Network topology: +# [ client ]--net1--[ router1 ]--net2--[ router2 ]--net3--[ server ] +# +# All interfaces are in OSPF Area 0. + +import ./make-test.nix ({ pkgs, ... }: + let + + ifAddr = node: iface: (pkgs.lib.head node.config.networking.interfaces.${iface}.ip4).address; + + ospfConf = '' + interface eth2 + ip ospf hello-interval 1 + ip ospf dead-interval 5 + ! + router ospf + network 192.168.0.0/16 area 0 + ''; + + in + { + name = "quagga"; + + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ tavyc ]; + }; + + nodes = { + + client = + { config, pkgs, nodes, ... }: + { + virtualisation.vlans = [ 1 ]; + networking.defaultGateway = ifAddr nodes.router1 "eth1"; + }; + + router1 = + { config, pkgs, nodes, ... }: + { + virtualisation.vlans = [ 1 2 ]; + boot.kernel.sysctl."net.ipv4.ip_forward" = "1"; + networking.firewall.extraCommands = "iptables -A nixos-fw -i eth2 -p ospf -j ACCEPT"; + services.quagga.ospf = { + enable = true; + config = ospfConf; + }; + }; + + router2 = + { config, pkgs, nodes, ... }: + { + virtualisation.vlans = [ 3 2 ]; + boot.kernel.sysctl."net.ipv4.ip_forward" = "1"; + networking.firewall.extraCommands = "iptables -A nixos-fw -i eth2 -p ospf -j ACCEPT"; + services.quagga.ospf = { + enable = true; + config = ospfConf; + }; + }; + + server = + { config, pkgs, nodes, ... }: + { + virtualisation.vlans = [ 3 ]; + networking.defaultGateway = ifAddr nodes.router2 "eth1"; + networking.firewall.allowedTCPPorts = [ 80 ]; + networking.firewall.allowPing = true; + services.httpd.enable = true; + services.httpd.adminAddr = "foo@example.com"; + }; + }; + + testScript = + { nodes, ... }: + '' + startAll; + + # Wait for the networking to start on all machines + $_->waitForUnit("network.target") foreach values %vms; + + # Wait for OSPF to form adjacencies + for my $gw ($router1, $router2) { + $gw->waitForUnit("ospfd"); + $gw->waitUntilSucceeds("vtysh -c 'show ip ospf neighbor' | grep Full"); + $gw->waitUntilSucceeds("vtysh -c 'show ip route' | grep '^O>'"); + } + + # Test ICMP. + $client->succeed("ping -c 3 server >&2"); + + # Test whether HTTP works. + $server->waitForUnit("httpd"); + $client->succeed("curl --fail http://server/ >&2"); + ''; + }) diff --git a/nixos/tests/samba.nix b/nixos/tests/samba.nix new file mode 100644 index 000000000000..d6658ef0400b --- /dev/null +++ b/nixos/tests/samba.nix @@ -0,0 +1,48 @@ +import ./make-test.nix ({ pkgs, ... }: + +{ + name = "samba"; + + meta.maintainers = [ pkgs.lib.maintainers.eelco ]; + + nodes = + { client = + { config, pkgs, ... }: + { fileSystems = pkgs.lib.mkVMOverride + { "/public" = { + fsType = "cifs"; + device = "//server/public"; + options = [ "guest" ]; + }; + }; + }; + + server = + { config, pkgs, ... }: + { services.samba.enable = true; + services.samba.shares.public = + { path = "/public"; + "read only" = true; + browseable = "yes"; + "guest ok" = "yes"; + comment = "Public samba share."; + }; + networking.firewall.allowedTCPPorts = [ 139 445 ]; + networking.firewall.allowedUDPPorts = [ 137 138 ]; + }; + }; + + # client# [ 4.542997] mount[777]: sh: systemd-ask-password: command not found + + testScript = + '' + $server->start; + $server->waitForUnit("samba-smbd"); + $server->waitForUnit("samba-nmbd"); + $server->succeed("mkdir -p /public; echo bar > /public/foo"); + + $client->start; + $client->waitForUnit("network.target"); + $client->succeed("[[ \$(cat /public/foo) = bar ]]"); + ''; +}) diff --git a/nixos/tests/sddm.nix b/nixos/tests/sddm.nix index 22a9e1bd2c7c..041d88fbeae6 100644 --- a/nixos/tests/sddm.nix +++ b/nixos/tests/sddm.nix @@ -19,8 +19,6 @@ import ./make-test.nix ({ pkgs, ...} : { services.xserver.desktopManager.default = "none"; }; - enableOCR = true; - testScript = { nodes, ... }: '' startAll; $machine->waitForFile("/home/alice/.Xauthority"); diff --git a/nixos/tests/smokeping.nix b/nixos/tests/smokeping.nix index 324f83147e00..9de3030417f9 100644 --- a/nixos/tests/smokeping.nix +++ b/nixos/tests/smokeping.nix @@ -11,9 +11,10 @@ import ./make-test.nix ({ pkgs, ...} : { services.smokeping = { enable = true; port = 8081; + mailHost = "127.0.0.2"; probeConfig = '' + FPing - binary = ${pkgs.fping}/bin/fping + binary = /var/setuid-wrappers/fping offset = 0% ''; }; @@ -27,5 +28,6 @@ import ./make-test.nix ({ pkgs, ...} : { $sm->waitForFile("/var/lib/smokeping/data/Local/LocalMachine.rrd"); $sm->succeed("curl -s -f localhost:8081/smokeping.fcgi?target=Local"); $sm->succeed("ls /var/lib/smokeping/cache/Local/LocalMachine_mini.png"); + $sm->succeed("ls /var/lib/smokeping/cache/index.html"); ''; }) diff --git a/nixos/tests/test-config-examples.sh b/nixos/tests/test-config-examples.sh deleted file mode 100755 index 1ba2f841c41d..000000000000 --- a/nixos/tests/test-config-examples.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh - -# This script try to evaluate all configurations which are stored in -# doc/config-examples. This script is useful to ensure that examples are -# working with the current system. - -pwd=$(pwd) -set -xe -for i in ../doc/config-examples/*.nix; do - NIXOS_CONFIG="$pwd/$i" nix-instantiate \ - --eval-only --xml --strict > /dev/null 2>&1 \ - ../default.nix -A system -done -set +xe diff --git a/nixos/tests/tomcat.nix b/nixos/tests/tomcat.nix index 92680d82ba89..475c947e72d9 100644 --- a/nixos/tests/tomcat.nix +++ b/nixos/tests/tomcat.nix @@ -23,9 +23,8 @@ import ./make-test.nix ({ pkgs, ...} : { startAll; $server->waitForUnit("tomcat"); - $server->sleep(30); # Dirty, but it takes a while before Tomcat handles to requests properly $client->waitForUnit("network.target"); - $client->succeed("curl --fail http://server/examples/servlets/servlet/HelloWorldExample"); - $client->succeed("curl --fail http://server/examples/jsp/jsp2/simpletag/hello.jsp"); + $client->waitUntilSucceeds("curl --fail http://server/examples/servlets/servlet/HelloWorldExample"); + $client->waitUntilSucceeds("curl --fail http://server/examples/jsp/jsp2/simpletag/hello.jsp"); ''; }) diff --git a/nixos/tests/virtualbox.nix b/nixos/tests/virtualbox.nix index ab4d46ab7e15..376c4f21dc04 100644 --- a/nixos/tests/virtualbox.nix +++ b/nixos/tests/virtualbox.nix @@ -11,10 +11,10 @@ let #!${pkgs.stdenv.shell} -xe export PATH="${lib.makeBinPath [ pkgs.coreutils pkgs.utillinux ]}" - mkdir -p /var/run/dbus + mkdir -p /run/dbus cat > /etc/passwd < /etc/group <succeed(ru "touch ${sharePath}/shutdown"); - $machine->waitUntilSucceeds( - "test ! -e ${sharePath}/shutdown ". - " -a ! -e ${sharePath}/boot-done" + $machine->execute( + 'set -e; i=0; '. + 'while test -e ${sharePath}/shutdown '. + ' -o -e ${sharePath}/boot-done; do '. + 'sleep 1; i=$(($i + 1)); [ $i -le 3600 ]; '. + 'done' ); waitForShutdown_${name}; } @@ -295,9 +299,9 @@ let -pf /run/dhclient.pid \ -v eth0 eth1 - otherIP="$(${pkgs.netcat}/bin/netcat -clp 1234 || :)" + otherIP="$(${pkgs.netcat}/bin/nc -l 1234 || :)" ${pkgs.iputils}/bin/ping -I eth1 -c1 "$otherIP" - echo "$otherIP reachable" | ${pkgs.netcat}/bin/netcat -clp 5678 || : + echo "$otherIP reachable" | ${pkgs.netcat}/bin/nc -l 5678 || : ''; sysdDetectVirt = pkgs: '' @@ -386,6 +390,7 @@ in mapAttrs mkVBoxTest { $machine->sendKeys("ctrl-q"); $machine->sleep(5); $machine->screenshot("gui_manager_stopped"); + destroyVM_simple; ''; simple-cli = '' @@ -403,6 +408,7 @@ in mapAttrs mkVBoxTest { }); shutdownVM_simple; + destroyVM_simple; ''; headless = '' @@ -411,6 +417,7 @@ in mapAttrs mkVBoxTest { waitForStartup_headless; waitForVMBoot_headless; shutdownVM_headless; + destroyVM_headless; ''; host-usb-permissions = '' @@ -454,11 +461,11 @@ in mapAttrs mkVBoxTest { my $test1IP = waitForIP_test1 1; my $test2IP = waitForIP_test2 1; - $machine->succeed("echo '$test2IP' | netcat -c '$test1IP' 1234"); - $machine->succeed("echo '$test1IP' | netcat -c '$test2IP' 1234"); + $machine->succeed("echo '$test2IP' | nc '$test1IP' 1234"); + $machine->succeed("echo '$test1IP' | nc '$test2IP' 1234"); - $machine->waitUntilSucceeds("netcat -c '$test1IP' 5678 >&2"); - $machine->waitUntilSucceeds("netcat -c '$test2IP' 5678 >&2"); + $machine->waitUntilSucceeds("nc '$test1IP' 5678 >&2"); + $machine->waitUntilSucceeds("nc '$test2IP' 5678 >&2"); shutdownVM_test1; shutdownVM_test2; diff --git a/nixos/tests/wordpress.nix b/nixos/tests/wordpress.nix new file mode 100644 index 000000000000..afee1f7f6dd4 --- /dev/null +++ b/nixos/tests/wordpress.nix @@ -0,0 +1,60 @@ +import ./make-test.nix ({ pkgs, ... }: + +{ + name = "wordpress"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ grahamc ]; # under duress! + }; + + nodes = + { web = + { config, pkgs, ... }: + { + services.mysql.enable = true; + services.mysql.package = pkgs.mysql; + services.mysql.initialScript = pkgs.writeText "start.sql" '' + CREATE DATABASE wordpress; + CREATE USER 'wordpress'@'localhost' IDENTIFIED BY 'wordpress'; + GRANT ALL on wordpress.* TO 'wordpress'@'localhost'; + ''; + + services.httpd = { + enable = true; + logPerVirtualHost = true; + adminAddr="js@lastlog.de"; + extraModules = [ + { name = "php7"; path = "${pkgs.php}/modules/libphp7.so"; } + ]; + + virtualHosts = [ + { + hostName = "wordpress"; + extraSubservices = + [ + { + serviceType = "wordpress"; + dbPassword = "wordpress"; + wordpressUploads = "/data/uploads"; + languages = [ "de_DE" "en_GB" ]; + } + ]; + } + ]; + }; + }; + }; + + testScript = + { nodes, ... }: + '' + startAll; + + $web->waitForUnit("mysql"); + $web->waitForUnit("httpd"); + + $web->succeed("curl -L 127.0.0.1:80 | grep 'Welcome to the famous'"); + + + ''; + +}) diff --git a/pkgs/applications/altcoins/bitcoin.nix b/pkgs/applications/altcoins/bitcoin.nix index 7b4e7d54f323..c6490cf67df5 100644 --- a/pkgs/applications/altcoins/bitcoin.nix +++ b/pkgs/applications/altcoins/bitcoin.nix @@ -6,14 +6,14 @@ with stdenv.lib; stdenv.mkDerivation rec{ name = "bitcoin" + (toString (optional (!withGui) "d")) + "-" + version; - core_version = "0.12.0"; + core_version = "0.13.1"; version = core_version; src = fetchurl { urls = [ "https://bitcoin.org/bin/bitcoin-core-${core_version}/bitcoin-${version}.tar.gz" "mirror://sourceforge/bitcoin/Bitcoin/bitcoin-${core_version}/bitcoin-${version}.tar.gz" ]; - sha256 = "0f1cda66c841a548a07cc37e80b0727354b1236d9f374c7d44362acdb85eb3e1"; + sha256 = "d8edbd797ff1c8266113e54d851a85def46ab82389abe7d7bd0d2827e74cecd7"; }; buildInputs = [ pkgconfig autoreconfHook openssl db48 boost zlib diff --git a/pkgs/applications/altcoins/default.nix b/pkgs/applications/altcoins/default.nix index 8e25f01c1bda..1d9b897188d7 100644 --- a/pkgs/applications/altcoins/default.nix +++ b/pkgs/applications/altcoins/default.nix @@ -27,7 +27,11 @@ rec { namecoin = callPackage ./namecoin.nix { inherit namecoind; }; namecoind = callPackage ./namecoind.nix { }; + ethabi = callPackage ./ethabi.nix { }; + primecoin = callPackage ./primecoin.nix { withGui = true; }; primecoind = callPackage ./primecoin.nix { withGui = false; }; + stellar-core = callPackage ./stellar-core.nix { }; + } diff --git a/pkgs/applications/altcoins/ethabi.nix b/pkgs/applications/altcoins/ethabi.nix new file mode 100644 index 000000000000..b92a656c0833 --- /dev/null +++ b/pkgs/applications/altcoins/ethabi.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchFromGitHub, rustPlatform }: + +with rustPlatform; + +buildRustPackage rec { + name = "ethabi-${version}"; + version = "0.2.1"; + + src = fetchFromGitHub { + owner = "ethcore"; + repo = "ethabi"; + rev = "fbed04984cab0db8767e01054ee16271b8e36281"; + sha256 = "1zgyyg1i5wmz8l1405yg5jmq4ddq530sl7018pkkc7l6cjj3bbhd"; + }; + + depsSha256 = "0srxv0wbhvyflc967lkpd2mx5nk7asx2cbxa0qxvas16wy6vxz52"; + + meta = { + description = "Ethereum function call encoding (ABI) utility"; + homepage = https://github.com/ethcore/ethabi/; + maintainers = [stdenv.lib.maintainers.dbrock]; + inherit version; + }; +} diff --git a/pkgs/applications/altcoins/stellar-core-dirty-version.patch b/pkgs/applications/altcoins/stellar-core-dirty-version.patch new file mode 100644 index 000000000000..57d66ce5919a --- /dev/null +++ b/pkgs/applications/altcoins/stellar-core-dirty-version.patch @@ -0,0 +1,15 @@ +Subject: Prevent "-dirty" from being erroneously added to the version + +diff --git a/src/Makefile.am b/src/Makefile.am +index d36d1a3..00048fc 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -28,7 +28,7 @@ always: + # Always rebuild because .git/HEAD is a symbolic ref one can't depend on + StellarCoreVersion.h: always + @vers=$$(cd "$(srcdir)" \ +- && git describe --always --dirty --tags 2>/dev/null \ ++ && git describe --always --tags 2>/dev/null \ + || echo "$(PACKAGE) $(VERSION)"); \ + echo "#define STELLAR_CORE_VERSION \"$$vers\"" > $@~ + @if cmp -s $@~ $@; then rm -f $@~; else \ diff --git a/pkgs/applications/altcoins/stellar-core.nix b/pkgs/applications/altcoins/stellar-core.nix new file mode 100644 index 000000000000..8d365590147b --- /dev/null +++ b/pkgs/applications/altcoins/stellar-core.nix @@ -0,0 +1,46 @@ +{ stdenv, lib, fetchgit, autoconf, libtool, automake, pkgconfig, git +, bison, flex, postgresql }: + +let + pname = "stellar-core"; + version = "0.5.1"; + +in stdenv.mkDerivation { + name = "${pname}-${version}"; + + src = fetchgit { + url = "https://github.com/stellar/stellar-core.git"; + rev = "refs/tags/v${version}"; + sha256 = "0ldw3qr0sajgam38z2w2iym0214ial6iahbzx3b965cw92n8n88z"; + fetchSubmodules = true; + leaveDotGit = true; + }; + + buildInputs = [ autoconf automake libtool pkgconfig git ]; + + propagatedBuildInputs = [ bison flex postgresql ]; + + patches = [ ./stellar-core-dirty-version.patch ]; + + preConfigure = '' + # Everything needs to be staged in git because the build uses + # `git ls-files` to search for source files to compile. + git add . + + ./autogen.sh + ''; + + meta = with stdenv.lib; { + description = "Implements the Stellar Consensus Protocol, a federated consensus protocol"; + longDescription = '' + Stellar-core is the backbone of the Stellar network. It maintains a + local copy of the ledger, communicating and staying in sync with other + instances of stellar-core on the network. Optionally, stellar-core can + store historical records of the ledger and participate in consensus. + ''; + homepage = https://www.stellar.org/; + platforms = platforms.linux; + maintainers = with maintainers; [ chris-martin ]; + license = licenses.asl20; + }; +} diff --git a/pkgs/applications/audio/VoiceOfFaust/default.nix b/pkgs/applications/audio/VoiceOfFaust/default.nix deleted file mode 100644 index 17cb680c58c7..000000000000 --- a/pkgs/applications/audio/VoiceOfFaust/default.nix +++ /dev/null @@ -1,65 +0,0 @@ - -{ stdenv, pkgs, callPackage, fetchFromGitHub, faust2jack, helmholtz, mrpeach, puredata-with-plugins }: -stdenv.mkDerivation rec { - name = "VoiceOfFaust-${version}"; - version = "0.7"; - - src = fetchFromGitHub { - owner = "magnetophon"; - repo = "VoiceOfFaust"; - rev = "v${version}"; - sha256 = "14jjs7cnhg20pzijgblr7caspcpx8p8lpkbvjzc656s9lqn6m9sn"; - }; - - plugins = [ helmholtz mrpeach ]; - - pitchTracker = puredata-with-plugins plugins; - - buildInputs = [ faust2jack ]; - - runtimeInputs = [ pitchTracker ]; - - patchPhase = '' - sed -i "s@pd -nodac@${pitchTracker}/bin/pd -nodac@g" launchers/synthWrapper - sed -i "s@../PureData/OscSendVoc.pd@$out/PureData/OscSendVoc.pd@g" launchers/synthWrapper - ''; - - buildPhase = '' - faust2jack -osc classicVocoder.dsp - faust2jack -osc CZringmod.dsp - faust2jack -osc FMsinger.dsp - faust2jack -osc FOFvocoder.dsp - faust2jack -osc Karplus-StrongSinger.dsp - faust2jack -osc -sch -t 99999 Karplus-StrongSingerMaxi.dsp - faust2jack -osc PAFvocoder.dsp - faust2jack -osc -sch -t 99999 stringSinger.dsp - faust2jack -osc subSinger.dsp - # doesn't compile on most systems, too big: - #faust2jack -osc -sch -t 99999 VocSynthFull.dsp - ''; - - installPhase = '' - mkdir -p $out/bin - cp launchers/* $out/bin/ - cp classicVocoder $out/bin/ - cp CZringmod $out/bin/ - cp FMsinger $out/bin/ - cp FOFvocoder $out/bin/ - cp Karplus-StrongSinger $out/bin/ - cp Karplus-StrongSingerMaxi $out/bin/ - cp PAFvocoder $out/bin/ - cp stringSinger $out/bin/ - cp subSinger $out/bin/ - #cp VocSynthFull $out/bin/ - mkdir $out/PureData/ - cp PureData/OscSendVoc.pd $out/PureData/OscSendVoc.pd - ''; - - meta = { - description = "Turn your voice into a synthesizer"; - homepage = https://github.com/magnetophon/VoiceOfFaust; - license = stdenv.lib.licenses.gpl3; - maintainers = [ stdenv.lib.maintainers.magnetophon ]; - }; -} - diff --git a/pkgs/applications/audio/a2jmidid/default.nix b/pkgs/applications/audio/a2jmidid/default.nix index 35954471877a..ddd34f1bfeb9 100644 --- a/pkgs/applications/audio/a2jmidid/default.nix +++ b/pkgs/applications/audio/a2jmidid/default.nix @@ -1,8 +1,8 @@ { stdenv, fetchurl, makeWrapper, pkgconfig, alsaLib, dbus, libjack2 -, pythonPackages}: +, python2Packages}: let - inherit (pythonPackages) python dbus-python; + inherit (python2Packages) python dbus-python; in stdenv.mkDerivation rec { name = "a2jmidid-${version}"; version = "8"; diff --git a/pkgs/applications/audio/airwave/default.nix b/pkgs/applications/audio/airwave/default.nix new file mode 100644 index 000000000000..39946fd5c7df --- /dev/null +++ b/pkgs/applications/audio/airwave/default.nix @@ -0,0 +1,92 @@ +{ stdenv, cmake, fetchFromGitHub, file, gcc_multi, libX11, makeWrapper +, overrideCC, qt5, requireFile, unzip, wineStable +}: + +let + + version = "1.3.3"; + + airwave-src = fetchFromGitHub { + owner = "phantom-code"; + repo = "airwave"; + rev = version; + sha256 = "1ban59skw422mak3cp57lj27hgq5d3a4f6y79ysjnamf8rpz9x4s"; + }; + + stdenv_multi = overrideCC stdenv gcc_multi; + + vst-sdk = stdenv.mkDerivation rec { + name = "vstsdk366_27_06_2016_build_61"; + src = requireFile { + name = "${name}.zip"; + url = "http://www.steinberg.net/en/company/developers.html"; + sha256 = "05gsr13bpi2hhp34rvhllsvmn44rqvmjdpg9fsgfzgylfkz0kiki"; + }; + nativeBuildInputs = [ unzip ]; + installPhase = "cp -r . $out"; + }; + + wine-wow64 = wineStable.override { + wineBuild = "wineWow"; + }; + + wine-xembed = wine-wow64.overrideDerivation (oldAttrs: { + patchFlags = [ "-p2" ]; + patches = [ "${airwave-src}/fix-xembed-wine-windows.patch" ]; + }); + +in + +stdenv_multi.mkDerivation { + name = "airwave-${version}"; + + src = airwave-src; + + nativeBuildInputs = [ cmake makeWrapper ]; + + buildInputs = [ file libX11 qt5.qtbase wine-xembed ]; + + postPatch = '' + # Binaries not used directly should land in libexec/. + substituteInPlace src/common/storage.cpp --replace '"/bin"' '"/libexec"' + + # For airwave-host-32.exe.so, point wineg++ to 32-bit versions of + # these libraries, as $NIX_LDFLAGS contains only 64-bit ones. + substituteInPlace src/host/CMakeLists.txt --replace '-m32' \ + '-m32 -L${wine-xembed}/lib -L${wine-xembed}/lib/wine -L${stdenv_multi.cc.libc.out}/lib/32' + ''; + + # libstdc++.so link gets lost in 64-bit executables during + # shrinking. + dontPatchELF = true; + + # Cf. https://github.com/phantom-code/airwave/issues/57 + hardeningDisable = [ "format" ]; + + cmakeFlags = "-DVSTSDK_PATH=${vst-sdk}"; + + postInstall = '' + mv $out/bin $out/libexec + mkdir $out/bin + mv $out/libexec/airwave-manager $out/bin + wrapProgram $out/libexec/airwave-host-32.exe --set WINELOADER ${wine-xembed}/bin/wine + wrapProgram $out/libexec/airwave-host-64.exe --set WINELOADER ${wine-xembed}/bin/wine64 + ''; + + meta = with stdenv.lib; { + description = "WINE-based VST bridge for Linux VST hosts"; + longDescription = '' + Airwave is a wine based VST bridge, that allows for the use of + Windows 32- and 64-bit VST 2.4 audio plugins with Linux VST + hosts. Due to the use of shared memory, only one extra copying + is made for each data transfer. Airwave also uses the XEMBED + protocol to correctly embed the plugin editor into the host + window. + ''; + homepage = https://github.com/phantom-code/airwave; + license = licenses.mit; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ michalrus ]; + hydraPlatforms = []; + }; +} diff --git a/pkgs/applications/audio/ams-lv2/default.nix b/pkgs/applications/audio/ams-lv2/default.nix index 0001f0a92922..9d62696a3f8e 100644 --- a/pkgs/applications/audio/ams-lv2/default.nix +++ b/pkgs/applications/audio/ams-lv2/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, cairo, fftw, gtk, gtkmm, lv2, lvtk, pkgconfig, python }: +{ stdenv, fetchurl, cairo, fftw, gtkmm2, lv2, lvtk, pkgconfig, python }: stdenv.mkDerivation rec { name = "ams-lv2-${version}"; @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "1kqbl7rc3zrs27c5ga0frw3mlpx15sbxzhf04sfbrd9l60535fd5"; }; - buildInputs = [ cairo fftw gtk gtkmm lv2 lvtk pkgconfig python ]; + buildInputs = [ cairo fftw gtkmm2 lv2 lvtk pkgconfig python ]; configurePhase = "python waf configure --prefix=$out"; diff --git a/pkgs/applications/audio/ardour/ardour3.nix b/pkgs/applications/audio/ardour/ardour3.nix index d9614d10d327..0db951049703 100644 --- a/pkgs/applications/audio/ardour/ardour3.nix +++ b/pkgs/applications/audio/ardour/ardour3.nix @@ -1,9 +1,9 @@ { stdenv, fetchgit, alsaLib, aubio, boost, cairomm, curl, doxygen, dbus, fftw -, fftwSinglePrec, flac, glibc, glibmm, graphviz, gtk, gtkmm, libjack2 +, fftwSinglePrec, flac, glibc, glibmm, graphviz, gtkmm2, libjack2 , libgnomecanvas, libgnomecanvasmm, liblo, libmad, libogg, librdf , librdf_raptor, librdf_rasqal, libsamplerate, libsigcxx, libsndfile -, libusb, libuuid, libxml2, libxslt, lilv-svn, lv2, makeWrapper, pango -, perl, pkgconfig, python, rubberband, serd, sord-svn, sratom, suil, taglib, vampSDK }: +, libusb, libuuid, libxml2, libxslt, lilv, lv2, makeWrapper, pango +, perl, pkgconfig, python2, rubberband, serd, sord, sratom, suil, taglib, vampSDK }: let @@ -38,12 +38,12 @@ stdenv.mkDerivation rec { sha256 = "0pnnx22asizin5rvf352nfv6003zarw3jd64magp10310wrfiwbq"; }; - buildInputs = + buildInputs = [ alsaLib aubio boost cairomm curl doxygen dbus fftw fftwSinglePrec flac glibc - glibmm graphviz gtk gtkmm libjack2 libgnomecanvas libgnomecanvasmm liblo + glibmm graphviz gtkmm2 libjack2 libgnomecanvas libgnomecanvasmm liblo libmad libogg librdf librdf_raptor librdf_rasqal libsamplerate - libsigcxx libsndfile libusb libuuid libxml2 libxslt lilv-svn lv2 - makeWrapper pango perl pkgconfig python rubberband serd sord-svn sratom suil taglib vampSDK + libsigcxx libsndfile libusb libuuid libxml2 libxslt lilv lv2 + makeWrapper pango perl pkgconfig python2 rubberband serd sord sratom suil taglib vampSDK ]; patchPhase = '' @@ -52,12 +52,12 @@ stdenv.mkDerivation rec { patchShebangs ./tools/ ''; - configurePhase = "python waf configure --optimize --docs --with-backends=jack,alsa --prefix=$out"; + configurePhase = "${python2.interpreter} waf configure --optimize --docs --with-backends=jack,alsa --prefix=$out"; - buildPhase = "python waf"; + buildPhase = "${python2.interpreter} waf"; installPhase = '' - python waf install + ${python2.interpreter} waf install # Install desktop file mkdir -p "$out/share/applications" diff --git a/pkgs/applications/audio/ardour/ardour4.nix b/pkgs/applications/audio/ardour/ardour4.nix new file mode 100644 index 000000000000..e6a0ff66b3ca --- /dev/null +++ b/pkgs/applications/audio/ardour/ardour4.nix @@ -0,0 +1,86 @@ +{ stdenv, fetchFromGitHub, alsaLib, aubio, boost, cairomm, curl, doxygen, dbus, fftw +, fftwSinglePrec, flac, glibc, glibmm, graphviz, gtkmm2, libjack2 +, libgnomecanvas, libgnomecanvasmm, liblo, libmad, libogg, librdf +, librdf_raptor, librdf_rasqal, libsamplerate, libsigcxx, libsndfile +, libusb, libuuid, libxml2, libxslt, lilv, lv2, makeWrapper, pango +, perl, pkgconfig, python2, rubberband, serd, sord, sratom, suil, taglib, vampSDK }: + +let + + # Ardour git repo uses a mix of annotated and lightweight tags. Annotated + # tags are used for MAJOR.MINOR versioning, and lightweight tags are used + # in-between; MAJOR.MINOR.REV where REV is the number of commits since the + # last annotated tag. A slightly different version string format is needed + # for the 'revision' info that is built into the binary; it is the format of + # "git describe" when _not_ on an annotated tag(!): MAJOR.MINOR-REV-HASH. + + # Version to build. + tag = "4.7"; + +in + +stdenv.mkDerivation rec { + name = "ardour-${tag}"; + + src = fetchFromGitHub { + owner = "Ardour"; + repo = "ardour"; + rev = "d84a8222f2b6dab5028b2586f798535a8766670e"; + sha256 = "149gswphz77m3pkzsn2nqbm6yvcfa3fva560bcvjzlgb73f64q5l"; + }; + + buildInputs = + [ alsaLib aubio boost cairomm curl doxygen dbus fftw fftwSinglePrec flac glibc + glibmm graphviz gtkmm2 libjack2 libgnomecanvas libgnomecanvasmm liblo + libmad libogg librdf librdf_raptor librdf_rasqal libsamplerate + libsigcxx libsndfile libusb libuuid libxml2 libxslt lilv lv2 + makeWrapper pango perl pkgconfig python2 rubberband serd sord sratom suil taglib vampSDK + ]; + + # ardour's wscript has a "tarball" target but that required the git revision + # be available. Since this is an unzipped tarball fetched from github we + # have to do that ourself. + patchPhase = '' + printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = \"${tag}-${builtins.substring 0 8 src.rev}\"; }\n' > libs/ardour/revision.cc + sed 's|/usr/include/libintl.h|${glibc.dev}/include/libintl.h|' -i wscript + patchShebangs ./tools/ + ''; + + configurePhase = "${python2.interpreter} waf configure --optimize --docs --with-backends=jack,alsa --prefix=$out"; + + buildPhase = "${python2.interpreter} waf"; + + installPhase = '' + ${python2.interpreter} waf install + # Install desktop file + mkdir -p "$out/share/applications" + cat > "$out/share/applications/ardour.desktop" << EOF + [Desktop Entry] + Name=Ardour 4 + GenericName=Digital Audio Workstation + Comment=Multitrack harddisk recorder + Exec=$out/bin/ardour4 + Icon=$out/share/ardour4/icons/ardour_icon_256px.png + Terminal=false + Type=Application + X-MultipleArgs=false + Categories=GTK;Audio;AudioVideoEditing;AudioVideo;Video; + EOF + ''; + + meta = with stdenv.lib; { + description = "Multi-track hard disk recording software"; + longDescription = '' + Ardour is a digital audio workstation (DAW), You can use it to + record, edit and mix multi-track audio and midi. Produce your + own CDs. Mix video soundtracks. Experiment with new ideas about + music and sound. + Please consider supporting the ardour project financially: + https://community.ardour.org/node/8288 + ''; + homepage = http://ardour.org/; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = [ maintainers.goibhniu maintainers.fps ]; + }; +} diff --git a/pkgs/applications/audio/ardour/default.nix b/pkgs/applications/audio/ardour/default.nix index 9f047a600cbd..5e9e71f42cb5 100644 --- a/pkgs/applications/audio/ardour/default.nix +++ b/pkgs/applications/audio/ardour/default.nix @@ -1,9 +1,10 @@ -{ stdenv, fetchFromGitHub, alsaLib, aubio, boost, cairomm, curl, doxygen, dbus, fftw -, fftwSinglePrec, flac, glibc, glibmm, graphviz, gtk, gtkmm, libjack2 +{ stdenv, fetchgit, alsaLib, aubio, boost, cairomm, curl, doxygen +, fftwSinglePrec, flac, glibc, glibmm, graphviz, gtkmm2, libjack2 , libgnomecanvas, libgnomecanvasmm, liblo, libmad, libogg, librdf , librdf_raptor, librdf_rasqal, libsamplerate, libsigcxx, libsndfile -, libusb, libuuid, libxml2, libxslt, lilv-svn, lv2, makeWrapper, pango -, perl, pkgconfig, python, rubberband, serd, sord-svn, sratom, suil, taglib, vampSDK }: +, libusb, libuuid, libxml2, libxslt, lilv, lv2, makeWrapper +, perl, pkgconfig, python2, rubberband, serd, sord, sratom +, taglib, vampSDK, dbus, fftw, pango, suil, libarchive }: let @@ -15,26 +16,26 @@ let # "git describe" when _not_ on an annotated tag(!): MAJOR.MINOR-REV-HASH. # Version to build. - tag = "4.7"; + tag = "5.4"; in stdenv.mkDerivation rec { name = "ardour-${tag}"; - src = fetchFromGitHub { - owner = "Ardour"; - repo = "ardour"; - rev = "d84a8222f2b6dab5028b2586f798535a8766670e"; - sha256 = "149gswphz77m3pkzsn2nqbm6yvcfa3fva560bcvjzlgb73f64q5l"; + src = fetchgit { + url = "git://git.ardour.org/ardour/ardour.git"; + rev = "bb3312c3bb9c6ed9b75ac6739a6ee720ddf86c86"; + sha256 = "1yrg0d86k9fqw7lmzjglilbadb4cjqxqkf6ii4bjs6rihj6b0qrf"; }; buildInputs = [ alsaLib aubio boost cairomm curl doxygen dbus fftw fftwSinglePrec flac glibc - glibmm graphviz gtk gtkmm libjack2 libgnomecanvas libgnomecanvasmm liblo + glibmm graphviz gtkmm2 libjack2 libgnomecanvas libgnomecanvasmm liblo libmad libogg librdf librdf_raptor librdf_rasqal libsamplerate - libsigcxx libsndfile libusb libuuid libxml2 libxslt lilv-svn lv2 - makeWrapper pango perl pkgconfig python rubberband serd sord-svn sratom suil taglib vampSDK + libsigcxx libsndfile libusb libuuid libxml2 libxslt lilv lv2 + makeWrapper pango perl pkgconfig python2 rubberband serd sord + sratom suil taglib vampSDK libarchive ]; # ardour's wscript has a "tarball" target but that required the git revision @@ -46,22 +47,22 @@ stdenv.mkDerivation rec { patchShebangs ./tools/ ''; - configurePhase = "python waf configure --optimize --docs --with-backends=jack,alsa --prefix=$out"; + configurePhase = "${python2.interpreter} waf configure --optimize --docs --with-backends=jack,alsa,dummy --prefix=$out"; - buildPhase = "python waf"; + buildPhase = "${python2.interpreter} waf"; installPhase = '' - python waf install + ${python2.interpreter} waf install # Install desktop file mkdir -p "$out/share/applications" cat > "$out/share/applications/ardour.desktop" << EOF [Desktop Entry] - Name=Ardour 4 + Name=Ardour 5 GenericName=Digital Audio Workstation Comment=Multitrack harddisk recorder - Exec=$out/bin/ardour4 - Icon=$out/share/ardour4/icons/ardour_icon_256px.png + Exec=$out/bin/ardour5 + Icon=$out/share/ardour5/icons/ardour_icon_256px.png Terminal=false Type=Application X-MultipleArgs=false diff --git a/pkgs/applications/audio/asunder/default.nix b/pkgs/applications/audio/asunder/default.nix new file mode 100644 index 000000000000..b5897c71cd94 --- /dev/null +++ b/pkgs/applications/audio/asunder/default.nix @@ -0,0 +1,51 @@ +{ stdenv, fetchurl, makeWrapper, gtk2, libcddb, intltool, pkgconfig, cdparanoia +, mp3Support ? false, lame +, oggSupport ? true, vorbis-tools +, flacSupport ? true, flac +, opusSupport ? false, opusTools +, wavpackSupport ? false, wavpack +#, musepackSupport ? false, TODO: mpcenc +, monkeysAudioSupport ? false, monkeysAudio +#, aacSupport ? false, TODO: neroAacEnc +}: + +with stdenv.lib; + +stdenv.mkDerivation rec { + version = "2.8"; + name = "asunder-${version}"; + src = fetchurl { + url = "http://littlesvr.ca/asunder/releases/${name}.tar.bz2"; + sha256 = "1nq9kd4rd4k2kibf57gdbm0zw2gxa234vvvdhxkm8g5bhx5h3iyq"; + }; + + buildInputs = [ gtk2 libcddb intltool pkgconfig makeWrapper ]; + + runtimeDeps = + optional mp3Support lame ++ + optional oggSupport vorbis-tools ++ + optional flacSupport flac ++ + optional opusSupport opusTools ++ + optional wavpackSupport wavpack ++ + optional monkeysAudioSupport monkeysAudio ++ + [ cdparanoia ]; + + postInstall = '' + wrapProgram "$out/bin/asunder" \ + --prefix PATH : "${makeBinPath runtimeDeps}" + ''; + + meta = { + description = "A graphical Audio CD ripper and encoder for Linux"; + homepage = http://littlesvr.ca/asunder/index.php; + license = licenses.gpl2; + maintainers = with maintainers; [ mudri ]; + platforms = platforms.linux; + + longDescription = '' + Asunder is a graphical Audio CD ripper and encoder for Linux. You can use + it to save tracks from an Audio CD as any of WAV, MP3, OGG, FLAC, Opus, + WavPack, Musepack, AAC, and Monkey's Audio files. + ''; + }; +} diff --git a/pkgs/applications/audio/audacious/default.nix b/pkgs/applications/audio/audacious/default.nix index e6322dd1d0aa..e9d7b5da79a6 100644 --- a/pkgs/applications/audio/audacious/default.nix +++ b/pkgs/applications/audio/audacious/default.nix @@ -8,16 +8,16 @@ stdenv.mkDerivation rec { name = "audacious-${version}"; - version = "3.7.2"; + version = "3.8"; src = fetchurl { url = "http://distfiles.audacious-media-player.org/audacious-${version}-gtk3.tar.bz2"; - sha256 = "1pvyxi8niy70nv13kc16g2vaywwahmg2650fa7v4rlbmykifk75z"; + sha256 = "0rpdzf9pb52lcswxypwh4nq3qkjzliw42v39nm5rlwwxdq6bm99q"; }; pluginsSrc = fetchurl { url = "http://distfiles.audacious-media-player.org/audacious-plugins-${version}-gtk3.tar.bz2"; - sha256 = "0gxka0lp9a35k2xgq8bx69wyv83dvrqnpwcsqliy3h3yz6v1fv2v"; + sha256 = "0j9svdqdjvj5spx1vfp0m63xh8xwk8naqsikdxfxbb68xk33rxb9"; }; nativeBuildInputs = [ diff --git a/pkgs/applications/audio/audacious/qt-5.nix b/pkgs/applications/audio/audacious/qt-5.nix new file mode 100644 index 000000000000..b86efe7eb97e --- /dev/null +++ b/pkgs/applications/audio/audacious/qt-5.nix @@ -0,0 +1,89 @@ +{ + stdenv, lib, fetchurl, + gettext, makeQtWrapper, pkgconfig, + qtbase, + alsaLib, curl, faad2, ffmpeg, flac, fluidsynth, gdk_pixbuf, lame, libbs2b, + libcddb, libcdio082, libcue, libjack2, libmad, libmcs, libmms, libmodplug, + libmowgli, libnotify, libogg, libpulseaudio, libsamplerate, libsidplayfp, + libsndfile, libvorbis, libxml2, lirc, mpg123, neon, qtmultimedia, soxr, + wavpack +}: + +let + version = "3.8.1"; + sources = { + "audacious-${version}" = fetchurl { + url = "http://distfiles.audacious-media-player.org/audacious-${version}.tar.bz2"; + sha256 = "1k9blmgqia0df18l39bd2bbcwmjfxak6bd286vcd9zzmjhqs4qdc"; + }; + + "audacious-plugins-${version}" = fetchurl { + url = "http://distfiles.audacious-media-player.org/audacious-plugins-${version}.tar.bz2"; + sha256 = "0f16ivcp8nd83r781hnw1qgbs9hi2b2v22zwv7c3sw3jq1chb70h"; + }; + }; +in + +stdenv.mkDerivation { + inherit version; + name = "audacious-${version}"; + + sourceFiles = lib.attrValues sources; + sourceRoots = lib.attrNames sources; + + nativeBuildInputs = [ + gettext makeQtWrapper pkgconfig + ]; + + buildInputs = [ + # Core dependencies + qtbase + + # Plugin dependencies + alsaLib curl faad2 ffmpeg flac fluidsynth gdk_pixbuf lame libbs2b libcddb + libcdio082 libcue libjack2 libmad libmcs libmms libmodplug libmowgli + libnotify libogg libpulseaudio libsamplerate libsidplayfp libsndfile + libvorbis libxml2 lirc mpg123 neon qtmultimedia soxr wavpack + ]; + + configureFlags = [ "--enable-qt" "--disable-gtk" ]; + + # Here we build both audacious and audacious-plugins in one + # derivations, since they really expect to be in the same prefix. + # This is slighly tricky. + builder = builtins.toFile "builder.sh" '' + sourceFiles=( $sourceFiles ) + sourceRoots=( $sourceRoots ) + for (( i=0 ; i < ''${#sourceFiles[*]} ; i++ )); do + + ( + src=''${sourceFiles[$i]} + sourceRoot=''${sourceRoots[$i]} + source $stdenv/setup + genericBuild + ) + + if [ $i == 0 ]; then + nativeBuildInputs="$out $nativeBuildInputs" + fi + + done + + source $stdenv/setup + wrapQtProgram $out/bin/audacious + wrapQtProgram $out/bin/audtool + ''; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + description = "Audio player"; + homepage = http://audacious-media-player.org/; + maintainers = with maintainers; [ ttuegel ]; + platforms = with platforms; linux; + license = with licenses; [ + bsd2 bsd3 #https://github.com/audacious-media-player/audacious/blob/master/COPYING + gpl2 gpl3 lgpl2Plus #http://redmine.audacious-media-player.org/issues/46 + ]; + }; +} diff --git a/pkgs/applications/audio/audacity/default.nix b/pkgs/applications/audio/audacity/default.nix index a93a445db311..f91fc03ec019 100644 --- a/pkgs/applications/audio/audacity/default.nix +++ b/pkgs/applications/audio/audacity/default.nix @@ -1,8 +1,10 @@ -{ stdenv, fetchurl, wxGTK30, pkgconfig, gettext, gtk, glib, zlib, perl, intltool, - libogg, libvorbis, libmad, alsaLib, libsndfile, soxr, flac, lame, fetchpatch, +{ stdenv, fetchurl, wxGTK30, pkgconfig, file, gettext, gtk2, glib, zlib, perl, intltool, + libogg, libvorbis, libmad, libjack2, lv2, lilv, serd, sord, sratom, suil, alsaLib, libsndfile, soxr, flac, lame, fetchpatch, expat, libid3tag, ffmpeg, soundtouch /*, portaudio - given up fighting their portaudio.patch */ }: +with stdenv.lib; + stdenv.mkDerivation rec { version = "2.1.2"; name = "audacity-${version}"; @@ -23,24 +25,46 @@ stdenv.mkDerivation rec { mkdir lib-src mv lib-src-rm/{Makefile*,lib-widget-extra,portaudio-v19,portmixer,portsmf,FileDialog,sbsms,libnyquist} lib-src/ rm -r lib-src-rm/ + + # we will get a (possibly harmless) warning during configure without this + substituteInPlace configure \ + --replace /usr/bin/file ${file}/bin/file ''; - configureFlags = [ "--with-libsamplerate" ]; + configureFlags = [ + "--with-libsamplerate" + ]; + + # audacity only looks for lame and ffmpeg at runtime, so we need to link them in manually + NIX_LDFLAGS = [ + # LAME + "-lmp3lame" + # ffmpeg + "-lavcodec" + "-lavdevice" + "-lavfilter" + "-lavformat" + "-lavresample" + "-lavutil" + "-lpostproc" + "-lswresample" + "-lswscale" + ]; buildInputs = [ - pkgconfig gettext wxGTK30 expat alsaLib - libsndfile soxr libid3tag gtk + pkgconfig file gettext wxGTK30 expat alsaLib + libsndfile soxr libid3tag libjack2 lv2 lilv serd sord sratom suil gtk2 ffmpeg libmad lame libvorbis flac soundtouch ]; #ToDo: detach sbsms dontDisableStatic = true; doCheck = false; # Test fails - meta = { + meta = with stdenv.lib; { description = "Sound editor with graphical UI"; homepage = http://audacityteam.org/; - license = stdenv.lib.licenses.gpl2Plus; - platforms = with stdenv.lib.platforms; linux; - maintainers = with stdenv.lib.maintainers; [ the-kenny ]; + license = licenses.gpl2Plus; + platforms = with platforms; linux; + maintainers = with maintainers; [ the-kenny ]; }; } diff --git a/pkgs/applications/audio/aumix/default.nix b/pkgs/applications/audio/aumix/default.nix index f5f0711ecac1..db5f081c4ed4 100644 --- a/pkgs/applications/audio/aumix/default.nix +++ b/pkgs/applications/audio/aumix/default.nix @@ -1,9 +1,9 @@ {stdenv, fetchurl, gettext, ncurses , gtkGUI ? false , pkgconfig ? null -, gtk ? null}: +, gtk2 ? null}: -assert gtkGUI -> pkgconfig != null && gtk != null; +assert gtkGUI -> pkgconfig != null && gtk2 != null; stdenv.mkDerivation rec { name = "aumix-2.9.1"; @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { }; buildInputs = [ gettext ncurses ] - ++ (if gtkGUI then [pkgconfig gtk] else []); + ++ (if gtkGUI then [pkgconfig gtk2] else []); meta = { description = "Audio mixer for X and the console"; diff --git a/pkgs/applications/audio/beast/default.nix b/pkgs/applications/audio/beast/default.nix index 7113a169e808..900d6759e4a6 100644 --- a/pkgs/applications/audio/beast/default.nix +++ b/pkgs/applications/audio/beast/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, zlib, guile, libart_lgpl, pkgconfig, intltool -, gtk, glib, libogg, libvorbis, libgnomecanvas, gettext, perl }: +, gtk2, glib, libogg, libvorbis, libgnomecanvas, gettext, perl }: stdenv.mkDerivation rec { name = "beast-0.7.1"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { }; buildInputs = - [ zlib guile libart_lgpl pkgconfig intltool gtk glib + [ zlib guile libart_lgpl pkgconfig intltool gtk2 glib libogg libvorbis libgnomecanvas gettext ]; diff --git a/pkgs/applications/audio/bitwig-studio/default.nix b/pkgs/applications/audio/bitwig-studio/default.nix index efb36abe240b..47c80af9fe0f 100644 --- a/pkgs/applications/audio/bitwig-studio/default.nix +++ b/pkgs/applications/audio/bitwig-studio/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, alsaLib, bzip2, cairo, dpkg, freetype, gdk_pixbuf -, glib, gtk, harfbuzz, jdk, lib, libX11, libXau, libXcursor, libXdmcp +, glib, gtk2, harfbuzz, jdk, lib, libX11, libXau, libXcursor, libXdmcp , libXext, libXfixes, libXrender, libbsd, libjack2, libpng, libxcb , libxkbcommon, libxkbfile, makeWrapper, pixman, xcbutil, xcbutilwm , xdg_utils, zenity, zlib }: @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { dontStrip = true; libPath = lib.makeLibraryPath [ - alsaLib bzip2.out cairo freetype gdk_pixbuf glib gtk harfbuzz + alsaLib bzip2.out cairo freetype gdk_pixbuf glib gtk2 harfbuzz libX11 libXau libXcursor libXdmcp libXext libXfixes libXrender libbsd libjack2 libpng libxcb libxkbfile pixman xcbutil xcbutilwm zlib diff --git a/pkgs/applications/audio/bristol/default.nix b/pkgs/applications/audio/bristol/default.nix index e19acab36b5a..3b94235889cf 100644 --- a/pkgs/applications/audio/bristol/default.nix +++ b/pkgs/applications/audio/bristol/default.nix @@ -14,6 +14,10 @@ stdenv.mkDerivation rec { xorg.xproto ]; + patchPhase = "sed -i '41,43d' libbristolaudio/audioEngineJack.c"; # disable alsa/iatomic + + configurePhase = "./configure --prefix=$out --enable-jack-default-audio --enable-jack-default-midi"; + preInstall = '' sed -e "s@\`which bristol\`@$out/bin/bristol@g" -i bin/startBristol sed -e "s@\`which brighton\`@$out/bin/brighton@g" -i bin/startBristol diff --git a/pkgs/applications/audio/calf/default.nix b/pkgs/applications/audio/calf/default.nix index 4ba086d88482..e133df564d7a 100644 --- a/pkgs/applications/audio/calf/default.nix +++ b/pkgs/applications/audio/calf/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, cairo, expat, fftwSinglePrec, fluidsynth, glib -, gtk, libjack2, ladspaH , libglade, lv2, pkgconfig }: +, gtk2, libjack2, ladspaH , libglade, lv2, pkgconfig }: stdenv.mkDerivation rec { name = "calf-${version}"; @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { }; buildInputs = [ - cairo expat fftwSinglePrec fluidsynth glib gtk libjack2 ladspaH + cairo expat fftwSinglePrec fluidsynth glib gtk2 libjack2 ladspaH libglade lv2 pkgconfig ]; diff --git a/pkgs/applications/audio/caudec/default.nix b/pkgs/applications/audio/caudec/default.nix index 3488d8fb38fb..04f0f9d30259 100644 --- a/pkgs/applications/audio/caudec/default.nix +++ b/pkgs/applications/audio/caudec/default.nix @@ -34,6 +34,5 @@ stdenv.mkDerivation rec { description = "A multiprocess audio converter that supports many formats (FLAC, MP3, Ogg Vorbis, Windows codecs and many more)"; license = licenses.gpl3; platforms = platforms.linux ++ platforms.darwin; - maintainers = with maintainers; [ hiberno ]; }; } diff --git a/pkgs/applications/audio/cava/default.nix b/pkgs/applications/audio/cava/default.nix index 39ad787c4a14..57107924b618 100644 --- a/pkgs/applications/audio/cava/default.nix +++ b/pkgs/applications/audio/cava/default.nix @@ -3,7 +3,7 @@ stdenv.mkDerivation rec { name = "cava-${version}"; - version = "0.4.1"; + version = "0.4.2"; buildInputs = [ alsaLib @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { owner = "karlstav"; repo = "cava"; rev = version; - sha256 = "157hw4cn3qjic7ymn5vy67paxmzssc33h1zswx72ss7j6nc8707f"; + sha256 = "1c5gl8ghmd89f6097rjd2dzrgh1z4i4v9m4vn5wkpnnm68b96yyc"; }; nativeBuildInputs = [ autoreconfHook ]; diff --git a/pkgs/applications/audio/cd-discid/default.nix b/pkgs/applications/audio/cd-discid/default.nix index 2cf9849e351b..382d4a1b6675 100644 --- a/pkgs/applications/audio/cd-discid/default.nix +++ b/pkgs/applications/audio/cd-discid/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { installFlags = "PREFIX=$(out) INSTALL=install"; buildInputs = [] - ++ stdenv.lib.optional stdenv.isDarwin [ IOKit ]; + ++ stdenv.lib.optional stdenv.isDarwin IOKit; meta = with stdenv.lib; { homepage = http://linukz.org/cd-discid.shtml; diff --git a/pkgs/applications/audio/cdparanoia/default.nix b/pkgs/applications/audio/cdparanoia/default.nix index 28183a2c6691..ceff147d618b 100644 --- a/pkgs/applications/audio/cdparanoia/default.nix +++ b/pkgs/applications/audio/cdparanoia/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { }) ]; - buildInputs = stdenv.lib.optional stdenv.isDarwin [ + propagatedBuildInputs = stdenv.lib.optionals stdenv.isDarwin [ Carbon IOKit ]; diff --git a/pkgs/applications/audio/clerk/default.nix b/pkgs/applications/audio/clerk/default.nix new file mode 100644 index 000000000000..3599991551ce --- /dev/null +++ b/pkgs/applications/audio/clerk/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchFromGitHub, makeWrapper, rofi, mpc_cli, perl, +utillinux, pythonPackages, libnotify }: + +stdenv.mkDerivation { + name = "clerk-unstable-2016-10-14"; + + src = fetchFromGitHub { + owner = "carnager"; + repo = "clerk"; + rev = "875963bcae095ac1db174627183c76ebe165f787"; + sha256 = "0y045my65hr3hjyx13jrnyg6g3wb41phqb1m7azc4l6vx6r4124b"; + }; + + buildInputs = [ makeWrapper pythonPackages.mpd2 ]; + + buildPhase = '' + echo skipping build phase... + ''; + + installPhase = '' + DESTDIR=$out PREFIX=/ make install + wrapProgram $out/bin/clerk $out/bin/clerk \ + --prefix PATH : "${stdenv.lib.makeBinPath [ rofi mpc_cli perl utillinux libnotify ]}" + ''; + + meta = with stdenv.lib; { + description = "An MPD client built on top of rofi"; + homepage = https://github.com/carnager/clerk; + license = licenses.mit; + maintainers = with maintainers; [ anderspapitto ]; + }; +} diff --git a/pkgs/applications/audio/deadbeef/plugins/mpris2.nix b/pkgs/applications/audio/deadbeef/plugins/mpris2.nix index 1504cce1d582..871621d3bb1b 100644 --- a/pkgs/applications/audio/deadbeef/plugins/mpris2.nix +++ b/pkgs/applications/audio/deadbeef/plugins/mpris2.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, pkgconfig, deadbeef, glib }: stdenv.mkDerivation rec { - version = "1.8"; name = "deadbeef-mpris2-plugin-${version}"; + version = "1.10"; src = fetchurl { url = "https://github.com/Serranya/deadbeef-mpris2-plugin/releases/download/v${version}/${name}.tar.xz"; - sha256 = "1xg880zlxbqz7hs5g7xwc128l08j8c3isn45rdi138hi4fqbyjfi"; + sha256 = "083fbvi06y85khr8hdm4rl5alxdanjbbyphizyr4hi93d7a0jg75"; }; nativeBuildInputs = [ pkgconfig ]; @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "MPRISv2 plugin for the DeaDBeeF music player"; - homepage = https://github.com/Serranya/deadbeef-mpris2-plugin/; + homepage = "https://github.com/Serranya/deadbeef-mpris2-plugin/"; license = licenses.gpl2; platforms = platforms.linux; maintainers = [ maintainers.abbradar ]; diff --git a/pkgs/applications/audio/distrho/default.nix b/pkgs/applications/audio/distrho/default.nix index 12099825757d..5d4e19700d8d 100644 --- a/pkgs/applications/audio/distrho/default.nix +++ b/pkgs/applications/audio/distrho/default.nix @@ -2,12 +2,12 @@ , libxslt, lv2, pkgconfig, premake3, xorg, ladspa-sdk }: stdenv.mkDerivation rec { - name = "distrho-ports-git-2015-07-18"; + name = "distrho-ports-unstable-2016-06-26"; src = fetchgit { url = "https://github.com/DISTRHO/DISTRHO-Ports.git"; - rev = "53458838505efef91ed069d0a7d970b6b3588eba"; - sha256 = "1wjzgy5yyi52fn4si2m8zrbbzqsh3p75avfx744jmxj5gpq5qa92"; + rev = "e3969853ec9ba897c50ac060f0167313e2a18b29"; + sha256 = "0id4p8dlnlv5271yvmyawfr754nzah7xhvjkj633lw5yr3mq707m"; }; patchPhase = '' diff --git a/pkgs/applications/audio/drumgizmo/default.nix b/pkgs/applications/audio/drumgizmo/default.nix index e6287af497ad..eaf02bd2689e 100644 --- a/pkgs/applications/audio/drumgizmo/default.nix +++ b/pkgs/applications/audio/drumgizmo/default.nix @@ -3,12 +3,12 @@ }: stdenv.mkDerivation rec { - version = "0.9.10"; + version = "0.9.11"; name = "drumgizmo-${version}"; src = fetchurl { url = "http://www.drumgizmo.org/releases/${name}/${name}.tar.gz"; - sha256 = "142si734lsyywxhn7msiz053ir96kl5im3h1jql3vhcb4807f3d1"; + sha256 = "04hf3nhccwr98n2081rrvfccz50nly6k3gbk9zxccp1522qz5xvf"; }; configureFlags = [ "--enable-lv2" ]; diff --git a/pkgs/applications/audio/drumkv1/default.nix b/pkgs/applications/audio/drumkv1/default.nix index 7fdf1c347719..a14d642cd830 100644 --- a/pkgs/applications/audio/drumkv1/default.nix +++ b/pkgs/applications/audio/drumkv1/default.nix @@ -1,15 +1,15 @@ -{ stdenv, fetchurl, libjack2, libsndfile, lv2, qt4 }: +{ stdenv, fetchurl, libjack2, alsaLib, libsndfile, liblo, lv2, qt5 }: stdenv.mkDerivation rec { name = "drumkv1-${version}"; - version = "0.7.1"; + version = "0.7.6"; src = fetchurl { url = "mirror://sourceforge/drumkv1/${name}.tar.gz"; - sha256 = "0mpf8akqaakg7vbn8gba0ns64hzhn5xzh1qxqpchcv32swn21cq4"; + sha256 = "0cl1rbj26nsbvg9wzsh2j8xlx69xjxn29x46ypmy3939zbk81bi6"; }; - buildInputs = [ libjack2 libsndfile lv2 qt4 ]; + buildInputs = [ libjack2 alsaLib libsndfile liblo lv2 qt5.qtbase qt5.qttools ]; meta = with stdenv.lib; { description = "An old-school drum-kit sampler synthesizer with stereo fx"; diff --git a/pkgs/applications/audio/ecasound/default.nix b/pkgs/applications/audio/ecasound/default.nix new file mode 100644 index 000000000000..36ce40490222 --- /dev/null +++ b/pkgs/applications/audio/ecasound/default.nix @@ -0,0 +1,32 @@ +{ stdenv +, fetchurl +, alsaLib +, audiofile +, libjack2 +, liblo +, liboil +, libsamplerate +, libsndfile +, lilv +, lv2 +}: + +# TODO: fix readline, ncurses, lilv, liblo, liboil and python. See configure log. + +stdenv.mkDerivation rec { + name = "ecasound-${version}"; + version = "2.9.1"; + + src = fetchurl { + url = "http://ecasound.seul.org/download/ecasound-${version}.tar.gz"; + sha256 = "1wyws3xc4f9pglrrqv6k9137sarv4asizqrxz8h0dn44rnzfiz1r"; + }; + + buildInputs = [ alsaLib audiofile libjack2 liblo liboil libsamplerate libsndfile lilv lv2 ]; + + meta = { + description = "Ecasound is a software package designed for multitrack audio processing"; + license = with stdenv.lib.licenses; [ gpl2 lgpl21 ]; + homepage = http://nosignal.fi/ecasound/; + }; +} diff --git a/pkgs/applications/audio/eq10q/default.nix b/pkgs/applications/audio/eq10q/default.nix index 0ff83a9023ef..a546441996ea 100644 --- a/pkgs/applications/audio/eq10q/default.nix +++ b/pkgs/applications/audio/eq10q/default.nix @@ -1,13 +1,13 @@ -{ stdenv, fetchurl, cmake, fftw, gtkmm, libxcb, lv2, pkgconfig, xorg }: +{ stdenv, fetchurl, cmake, fftw, gtkmm2, libxcb, lv2, pkgconfig, xorg }: stdenv.mkDerivation rec { name = "eq10q-${version}"; - version = "2.0"; + version = "2.1"; src = fetchurl { url = "mirror://sourceforge/project/eq10q/${name}.tar.gz"; - sha256 = "08vlfly0qqrfqiwpn5g5php680icpk97pwnwjadmj5syhgvi0i3h"; + sha256 = "0brrr6ydsppi4zzn3vcgl0zgq5r8jmlcap1hpr3k43yvlwggb880"; }; - buildInputs = [ cmake fftw gtkmm libxcb lv2 pkgconfig xorg.libpthreadstubs xorg.libXdmcp xorg.libxshmfence ]; + buildInputs = [ cmake fftw gtkmm2 libxcb lv2 pkgconfig xorg.libpthreadstubs xorg.libXdmcp xorg.libxshmfence ]; installFlags = '' DESTDIR=$(out) diff --git a/pkgs/applications/audio/espeak-ng/default.nix b/pkgs/applications/audio/espeak-ng/default.nix new file mode 100644 index 000000000000..cb2e15bc5b23 --- /dev/null +++ b/pkgs/applications/audio/espeak-ng/default.nix @@ -0,0 +1,35 @@ +{ stdenv, lib, fetchFromGitHub, autoconf, automake, which, libtool, pkgconfig +, ronn +, pcaudiolibSupport ? true, pcaudiolib +, sonicSupport ? true, sonic }: + +stdenv.mkDerivation rec { + name = "espeak-ng-${version}"; + version = "2016-08-28"; + + src = fetchFromGitHub { + owner = "espeak-ng"; + repo = "espeak-ng"; + rev = "b784e77c5708b61feed780d8f1113c4c8eb92200"; + sha256 = "1whix4mv0qvsvifgpwwbdzhv621as3rxpn9ijqc2683h6k8pvcfk"; + }; + + nativeBuildInputs = [ autoconf automake which libtool pkgconfig ronn ]; + + buildInputs = lib.optional pcaudiolibSupport pcaudiolib + ++ lib.optional sonicSupport sonic; + + preConfigure = "./autogen.sh"; + + postInstall = '' + patchelf --set-rpath "$(patchelf --print-rpath $out/bin/espeak-ng)" $out/bin/speak-ng + ''; + + meta = with stdenv.lib; { + description = "Open source speech synthesizer that supports over 70 languages, based on eSpeak"; + homepage = "https://github.com/espeak-ng/espeak-ng"; + license = licenses.gpl3; + maintainers = with maintainers; [ aske ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/audio/faust/faust1.nix b/pkgs/applications/audio/faust/faust1.nix index 8749497c8baf..b9e98281a7c6 100644 --- a/pkgs/applications/audio/faust/faust1.nix +++ b/pkgs/applications/audio/faust/faust1.nix @@ -9,11 +9,11 @@ with stdenv.lib.strings; let - version = "0.9.73"; + version = "0.9.90"; src = fetchurl { url = "mirror://sourceforge/project/faudiostream/faust-${version}.tgz"; - sha256 = "0x2scxkwvvjx7b7smj5xb8kr269qakf49z3fxpasd9g7025q44k5"; + sha256 = "0d1fqwymyfb73zkmpwv4zk4gsg4ji7qs20mfsr20skmnqx30xvna"; }; meta = with stdenv.lib; { @@ -167,7 +167,8 @@ let # export parts of the build environment for script in "$out"/bin/*; do wrapProgram "$script" \ - --set FAUST_LIB_PATH "${faust}/lib/faust" \ + --set FAUSTLIB "${faust}/lib/faust" \ + --set FAUSTINC "${faust}/include/faust" \ --prefix PATH : "$PATH" \ --prefix PKG_CONFIG_PATH : "$PKG_CONFIG_PATH" \ --set NIX_CFLAGS_COMPILE "$NIX_CFLAGS_COMPILE" \ diff --git a/pkgs/applications/audio/faust/faust1git.nix b/pkgs/applications/audio/faust/faust1git.nix deleted file mode 100644 index 94e58f224283..000000000000 --- a/pkgs/applications/audio/faust/faust1git.nix +++ /dev/null @@ -1,210 +0,0 @@ -{ stdenv -, coreutils -, fetchgit -, makeWrapper -, pkgconfig -}: - -with stdenv.lib.strings; - -let - - version = "2016-07-19"; - - src = fetchgit { - url = "git://git.code.sf.net/p/faudiostream/code"; - rev = "16c22dc0193c10521b1dc16f98443d9c206bb5dd"; - sha256 = "01rbcjfhpd5casi72ffi1j95f65ji60l629sgav93pvs0kpdacz5"; - }; - - meta = with stdenv.lib; { - homepage = http://faust.grame.fr/; - downloadPage = http://sourceforge.net/projects/faudiostream/files/; - license = licenses.gpl2; - platforms = platforms.linux; - maintainers = with maintainers; [ magnetophon pmahoney ]; - }; - - faust = stdenv.mkDerivation { - - name = "faust-${version}"; - - inherit src; - - buildInputs = [ makeWrapper ]; - - passthru = { - inherit wrap wrapWithBuildEnv; - }; - - preConfigure = '' - makeFlags="$makeFlags prefix=$out" - - # The faust makefiles use 'system ?= $(shell uname -s)' but nix - # defines 'system' env var, so undefine that so faust detects the - # correct system. - unset system - ''; - - # Remove most faust2appl scripts since they won't run properly - # without additional paths setup. See faust.wrap, - # faust.wrapWithBuildEnv. - postInstall = '' - # syntax error when eval'd directly - pattern="faust2!(svg)" - (shopt -s extglob; rm "$out"/bin/$pattern) - ''; - - postFixup = '' - # Set faustpath explicitly. - substituteInPlace "$out"/bin/faustpath \ - --replace "/usr/local /usr /opt /opt/local" "$out" - - # The 'faustoptflags' is 'source'd into other faust scripts and - # not used as an executable, so patch 'uname' usage directly - # rather than use makeWrapper. - substituteInPlace "$out"/bin/faustoptflags \ - --replace uname "${coreutils}/bin/uname" - - # wrapper for scripts that don't need faust.wrap* - for script in "$out"/bin/faust2*; do - wrapProgram "$script" \ - --prefix PATH : "$out"/bin - done - ''; - - meta = meta // { - description = "A functional programming language for realtime audio signal processing"; - longDescription = '' - FAUST (Functional Audio Stream) is a functional programming - language specifically designed for real-time signal processing - and synthesis. FAUST targets high-performance signal processing - applications and audio plug-ins for a variety of platforms and - standards. - The Faust compiler translates DSP specifications into very - efficient C++ code. Thanks to the notion of architecture, - FAUST programs can be easily deployed on a large variety of - audio platforms and plugin formats (jack, alsa, ladspa, maxmsp, - puredata, csound, supercollider, pure, vst, coreaudio) without - any change to the FAUST code. - - This package has just the compiler, libraries, and headers. - Install faust2* for specific faust2appl scripts. - ''; - }; - - }; - - # Default values for faust2appl. - faust2ApplBase = - { baseName - , dir ? "tools/faust2appls" - , scripts ? [ baseName ] - , ... - }@args: - - args // { - name = "${baseName}-${version}"; - - inherit src; - - configurePhase = ":"; - - buildPhase = ":"; - - installPhase = '' - runHook preInstall - - mkdir -p "$out/bin" - for script in ${concatStringsSep " " scripts}; do - cp "${dir}/$script" "$out/bin/" - done - - runHook postInstall - ''; - - postInstall = '' - # For the faust2appl script, change 'faustpath' and - # 'faustoptflags' to absolute paths. - for script in "$out"/bin/*; do - substituteInPlace "$script" \ - --replace ". faustpath" ". '${faust}/bin/faustpath'" \ - --replace ". faustoptflags" ". '${faust}/bin/faustoptflags'" - done - ''; - - meta = meta // { - description = "The ${baseName} script, part of faust functional programming language for realtime audio signal processing"; - }; - }; - - # Some 'faust2appl' scripts, such as faust2alsa, run faust to - # generate cpp code, then invoke the c++ compiler to build the code. - # This builder wraps these scripts in parts of the stdenv such that - # when the scripts are called outside any nix build, they behave as - # if they were running inside a nix build in terms of compilers and - # paths being configured (e.g. rpath is set so that compiled - # binaries link to the libs inside the nix store) - # - # The function takes two main args: the appl name (e.g. - # 'faust2alsa') and an optional list of propagatedBuildInputs. It - # returns a derivation that contains only the bin/${appl} script, - # wrapped up so that it will run as if it was inside a nix build - # with those build inputs. - # - # The build input 'faust' is automatically added to the - # propagatedBuildInputs. - wrapWithBuildEnv = - { baseName - , propagatedBuildInputs ? [ ] - , ... - }@args: - - stdenv.mkDerivation ((faust2ApplBase args) // { - - buildInputs = [ makeWrapper pkgconfig ]; - - propagatedBuildInputs = [ faust ] ++ propagatedBuildInputs; - - postFixup = '' - - # export parts of the build environment - for script in "$out"/bin/*; do - wrapProgram "$script" \ - --set FAUSTLIB "${faust}/lib/faust" \ - --set FAUSTINC "${faust}/include/faust" \ - --prefix PATH : "$PATH" \ - --prefix PKG_CONFIG_PATH : "$PKG_CONFIG_PATH" \ - --set NIX_CFLAGS_COMPILE "$NIX_CFLAGS_COMPILE" \ - --set NIX_LDFLAGS "$NIX_LDFLAGS" - done - ''; - }); - - # Builder for 'faust2appl' scripts, such as faust2firefox that - # simply need to be wrapped with some dependencies on PATH. - # - # The build input 'faust' is automatically added to the PATH. - wrap = - { baseName - , runtimeInputs ? [ ] - , ... - }@args: - - let - - runtimePath = concatStringsSep ":" (map (p: "${p}/bin") ([ faust ] ++ runtimeInputs)); - - in stdenv.mkDerivation ((faust2ApplBase args) // { - - buildInputs = [ makeWrapper ]; - - postFixup = '' - for script in "$out"/bin/*; do - wrapProgram "$script" --prefix PATH : "${runtimePath}" - done - ''; - - }); - -in faust diff --git a/pkgs/applications/audio/faust/faust2.nix b/pkgs/applications/audio/faust/faust2.nix index 24cab4cdbcd1..6289688c53ce 100644 --- a/pkgs/applications/audio/faust/faust2.nix +++ b/pkgs/applications/audio/faust/faust2.nix @@ -16,11 +16,11 @@ with stdenv.lib.strings; let - version = "2.0-a41"; + version = "2.0.a51"; src = fetchurl { - url = "mirror://sourceforge/project/faudiostream/faust-2.0.a41.tgz"; - sha256 = "1cq4x1cax0lswrcqv0limx5mjdi3187zlmh7cj2pndr0xq6b96cm"; + url = "mirror://sourceforge/project/faudiostream/faust-${version}.tgz"; + sha256 = "1yryjqfqmxs7lxy95hjgmrncvl9kig3rcsmg0v49ghzz7vs7haxf"; }; meta = with stdenv.lib; { @@ -53,7 +53,7 @@ let # defines 'system' env var, so undefine that so faust detects the # correct system. unset system - sed -e "232s/LLVM_STATIC_LIBS/LLVMLIBS/" -i compiler/Makefile.unix + # sed -e "232s/LLVM_STATIC_LIBS/LLVMLIBS/" -i compiler/Makefile.unix # The makefile sets LLVM_ depending on the current llvm # version, but the detection code is quite brittle. @@ -67,7 +67,7 @@ let # # For now, fix this by 1) pinning the llvm version; 2) manually setting LLVM_VERSION # to something the makefile will recognize. - sed '52iLLVM_VERSION=3.7.0' -i compiler/Makefile.unix + sed '52iLLVM_VERSION=3.8.0' -i compiler/Makefile.unix ''; # Remove most faust2appl scripts since they won't run properly @@ -151,7 +151,8 @@ let for script in "$out"/bin/*; do substituteInPlace "$script" \ --replace ". faustpath" ". '${faust}/bin/faustpath'" \ - --replace ". faustoptflags" ". '${faust}/bin/faustoptflags'" + --replace ". faustoptflags" ". '${faust}/bin/faustoptflags'" \ + --replace " error " "echo" done ''; @@ -193,7 +194,9 @@ let # export parts of the build environment for script in "$out"/bin/*; do wrapProgram "$script" \ + --set FAUSTLIB "${faust}/lib/faust" \ --set FAUST_LIB_PATH "${faust}/lib/faust" \ + --set FAUSTINC "${faust}/include/faust" \ --prefix PATH : "$PATH" \ --prefix PKG_CONFIG_PATH : "$PKG_CONFIG_PATH" \ --set NIX_CFLAGS_COMPILE "$NIX_CFLAGS_COMPILE" \ diff --git a/pkgs/applications/audio/faust/faust2alsa.nix b/pkgs/applications/audio/faust/faust2alsa.nix index 2fe03d73a23c..17cec46f6c6a 100644 --- a/pkgs/applications/audio/faust/faust2alsa.nix +++ b/pkgs/applications/audio/faust/faust2alsa.nix @@ -6,7 +6,7 @@ , freetype , gdk_pixbuf , glib -, gtk +, gtk2 , pango }: @@ -22,7 +22,7 @@ faust.wrapWithBuildEnv { freetype gdk_pixbuf glib - gtk + gtk2 pango ]; diff --git a/pkgs/applications/audio/faust/faust2jack.nix b/pkgs/applications/audio/faust/faust2jack.nix index 9dfb7f875c53..3867114562d5 100644 --- a/pkgs/applications/audio/faust/faust2jack.nix +++ b/pkgs/applications/audio/faust/faust2jack.nix @@ -1,5 +1,5 @@ { faust -, gtk +, gtk2 , jack2Full , opencv }: @@ -15,7 +15,7 @@ faust.wrapWithBuildEnv { ]; propagatedBuildInputs = [ - gtk + gtk2 jack2Full opencv ]; diff --git a/pkgs/applications/audio/faust/faust2ladspa.nix b/pkgs/applications/audio/faust/faust2ladspa.nix new file mode 100644 index 000000000000..67de98cab9a2 --- /dev/null +++ b/pkgs/applications/audio/faust/faust2ladspa.nix @@ -0,0 +1,12 @@ +{ boost +, faust +, ladspaH +}: + +faust.wrapWithBuildEnv { + + baseName = "faust2ladspa"; + + propagatedBuildInputs = [ boost ladspaH ]; + +} diff --git a/pkgs/applications/audio/faust/faust2lv2.nix b/pkgs/applications/audio/faust/faust2lv2.nix index 4d11395e7385..3472ce5047eb 100644 --- a/pkgs/applications/audio/faust/faust2lv2.nix +++ b/pkgs/applications/audio/faust/faust2lv2.nix @@ -1,11 +1,14 @@ -{ faust +{ boost +, faust , lv2 +, qt4 + }: faust.wrapWithBuildEnv { baseName = "faust2lv2"; - propagatedBuildInputs = [ lv2 ]; + propagatedBuildInputs = [ boost lv2 qt4 ]; } diff --git a/pkgs/applications/audio/faust/faust2lv2gui.nix b/pkgs/applications/audio/faust/faust2lv2gui.nix deleted file mode 100644 index af20bb1d7450..000000000000 --- a/pkgs/applications/audio/faust/faust2lv2gui.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ boost -, faust1git -, lv2 -, qt4 - -}: - -faust1git.wrapWithBuildEnv { - - baseName = "faust2lv2"; - - propagatedBuildInputs = [ boost lv2 qt4 ]; - -} diff --git a/pkgs/applications/audio/flac/default.nix b/pkgs/applications/audio/flac/default.nix index e571758fabb3..52e29e3da4c8 100644 --- a/pkgs/applications/audio/flac/default.nix +++ b/pkgs/applications/audio/flac/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, libogg }: stdenv.mkDerivation rec { - name = "flac-1.3.1"; + name = "flac-1.3.2"; src = fetchurl { url = "http://downloads.xiph.org/releases/flac/${name}.tar.xz"; - sha256 = "4773c0099dba767d963fd92143263be338c48702172e8754b9bc5103efe1c56c"; + sha256 = "0gymm2j3276kr9nz6vmgfwsdfrq6c449n40a0mzz8h6wc7nw7kwi"; }; buildInputs = [ libogg ]; diff --git a/pkgs/applications/audio/fldigi/default.nix b/pkgs/applications/audio/fldigi/default.nix index a75de090033a..2ee03a3f3991 100644 --- a/pkgs/applications/audio/fldigi/default.nix +++ b/pkgs/applications/audio/fldigi/default.nix @@ -2,13 +2,13 @@ libsamplerate, libpulseaudio, libXinerama, gettext, pkgconfig, alsaLib }: stdenv.mkDerivation rec { - version = "3.23.07"; + version = "3.23.15"; pname = "fldigi"; name = "${pname}-${version}"; src = fetchurl { url = "mirror://sourceforge/${pname}/${name}.tar.gz"; - sha256 = "0v78sk9bllxw640wxd4q2qy0h8z2j1d077nxhmpkjpf6mn6vwcda"; + sha256 = "1nxafk99fr6yb09cq3vdpzjcd85mnjwwl8rzccx21kla1ysihl5m"; }; buildInputs = [ libXinerama gettext hamlib fltk13 libjpeg libpng portaudio diff --git a/pkgs/applications/audio/fmsynth/default.nix b/pkgs/applications/audio/fmsynth/default.nix new file mode 100644 index 000000000000..22944ffefe44 --- /dev/null +++ b/pkgs/applications/audio/fmsynth/default.nix @@ -0,0 +1,48 @@ +{ stdenv, fetchFromGitHub, gtkmm2, lv2, lvtk, pkgconfig }: +stdenv.mkDerivation rec { + name = "fmsynth-unstable-${version}"; + version = "2015-02-07"; + src = fetchFromGitHub { + owner = "Themaister"; + repo = "libfmsynth"; + rev = "9ffa1d2fea287f1209b210d2dbde2f0f60f37176"; + sha256 = "1bk0bpr069hzx2508rgfbwpxiqgr7dmdkhqdywmd2i4rmibgrm1q"; + }; + + buildInputs = [ gtkmm2 lv2 lvtk pkgconfig ]; + + buildPhase = '' + cd lv2 + substituteInPlace GNUmakefile --replace "/usr/lib/lv2" "$out/lib/lv2" + make + ''; + + preInstall = "mkdir -p $out/lib/lv2"; + + meta = { + description = "a flexible 8 operator FM synthesizer for LV2"; + longDescription = '' + The synth core supports: + + - Arbitrary amounts of polyphony + - 8 operators + - No fixed "algorithms" + - Arbitrary modulation, every operator can modulate any other operator, even itself + - Arbitrary carrier selection, every operator can be a carrier + - Sine LFO, separate LFO per voice, modulates amplitude and frequency of operators + - Envelope per operator + - Carrier stereo panning + - Velocity sensitivity per operator + - Mod wheel sensitivity per operator + - Pitch bend + - Keyboard scaling + - Sustain, sustained keys can overlap each other for a very rich sound + - Full floating point implementation optimized for SIMD + - Hard real-time constraints + ''; + homepage = https://github.com/Themaister/libfmsynth; + license = stdenv.lib.licenses.mit; + maintainers = [ stdenv.lib.maintainers.magnetophon ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/applications/audio/fomp/default.nix b/pkgs/applications/audio/fomp/default.nix index 00b6c3e0c677..bdac87aaf374 100644 --- a/pkgs/applications/audio/fomp/default.nix +++ b/pkgs/applications/audio/fomp/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, lv2, pkgconfig, python }: +{ stdenv, fetchurl, lv2, pkgconfig, python2 }: stdenv.mkDerivation rec { name = "fomp-${version}"; @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "1hh2xhknanqn3iwp12ihl6bf8p7bqxryms9qk7mh21lixl42b8k5"; }; - buildInputs = [ lv2 pkgconfig python ]; + buildInputs = [ lv2 pkgconfig python2 ]; installPhase = '' python waf configure --prefix=$out diff --git a/pkgs/applications/audio/foo-yc20/default.nix b/pkgs/applications/audio/foo-yc20/default.nix index 4ccbb4256127..073d28ef8703 100644 --- a/pkgs/applications/audio/foo-yc20/default.nix +++ b/pkgs/applications/audio/foo-yc20/default.nix @@ -18,6 +18,7 @@ stdenv.mkDerivation rec { postInstallFixup = "rm -rf $out/lib/lv2"; meta = { + broken = true; # see: https://github.com/sampov2/foo-yc20/issues/7 description = "A Faust implementation of a 1969 designed Yamaha combo organ, the YC-20"; homepage = https://github.com/sampov2/foo-yc20; license = "BSD"; diff --git a/pkgs/applications/audio/freewheeling/default.nix b/pkgs/applications/audio/freewheeling/default.nix index 6971a718de9f..ecb9d0f85d05 100644 --- a/pkgs/applications/audio/freewheeling/default.nix +++ b/pkgs/applications/audio/freewheeling/default.nix @@ -3,17 +3,19 @@ , libSM, libsndfile, libogg }: -stdenv.mkDerivation { - name = "freewheeling-100"; +stdenv.mkDerivation rec { + name = "freewheeling-${version}"; + version = "100"; src = fetchsvn { url = svn://svn.code.sf.net/p/freewheeling/code; - rev = 100; + rev = version; sha256 = "1m6z7p93xyha25qma9bazpzbp04pqdv5h3yrv6851775xsyvzksv"; }; + nativeBuildInputs = [ pkgconfig autoreconfHook ]; buildInputs = [ - pkgconfig autoreconfHook gnutls33 freetype SDL SDL_gfx SDL_ttf + gnutls33 freetype SDL SDL_gfx SDL_ttf liblo libxml2 libjack2 alsaLib libvorbis libsndfile libogg libSM ]; @@ -35,7 +37,6 @@ stdenv.mkDerivation { software, released under the GNU GPL license. '' ; - version = "r100"; homepage = "http://freewheeling.sourceforge.net"; license = stdenv.lib.licenses.gpl2; maintainers = [ stdenv.lib.maintainers.sepi ]; diff --git a/pkgs/applications/audio/game-music-emu/default.nix b/pkgs/applications/audio/game-music-emu/default.nix index 60d9c0e7b124..4f22ca62c1a8 100644 --- a/pkgs/applications/audio/game-music-emu/default.nix +++ b/pkgs/applications/audio/game-music-emu/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, cmake }: stdenv.mkDerivation rec { - version = "0.6.0"; + version = "0.6.1"; name = "game-music-emu-${version}"; src = fetchurl { - url = "https://game-music-emu.googlecode.com/files/${name}.tar.bz2"; - sha256 = "11s9l938nxbrk7qb2k1ppfgizcz00cakbxgv0gajc6hyqv882vjh"; + url = "https://bitbucket.org/mpyne/game-music-emu/downloads/${name}.tar.bz2"; + sha256 = "08fk7zddpn7v93d0fa7fcypx7hvgwx9b5psj9l6m8b87k2hbw4fw"; }; buildInputs = [ cmake ]; diff --git a/pkgs/applications/audio/gigedit/default.nix b/pkgs/applications/audio/gigedit/default.nix index 269b48aebb8f..e53b498fb6ee 100644 --- a/pkgs/applications/audio/gigedit/default.nix +++ b/pkgs/applications/audio/gigedit/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchsvn, autoconf, automake, docbook_xml_dtd_45 -, docbook_xsl, gtkmm, intltool, libgig, libsndfile, libtool, libxslt +, docbook_xsl, gtkmm2, intltool, libgig, libsndfile, libtool, libxslt , pkgconfig }: stdenv.mkDerivation rec { @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { preConfigure = "make -f Makefile.cvs"; buildInputs = [ - autoconf automake docbook_xml_dtd_45 docbook_xsl gtkmm intltool + autoconf automake docbook_xml_dtd_45 docbook_xsl gtkmm2 intltool libgig libsndfile libtool libxslt pkgconfig ]; diff --git a/pkgs/applications/audio/gjay/default.nix b/pkgs/applications/audio/gjay/default.nix index 7486ec3e081f..2d63245fef63 100644 --- a/pkgs/applications/audio/gjay/default.nix +++ b/pkgs/applications/audio/gjay/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, mpd_clientlib, dbus_glib, audacious, gtk, gsl +{ stdenv, fetchurl, pkgconfig, mpd_clientlib, dbus_glib, audacious, gtk2, gsl , libaudclient }: stdenv.mkDerivation { @@ -11,7 +11,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ mpd_clientlib dbus_glib audacious gtk gsl libaudclient ]; + buildInputs = [ mpd_clientlib dbus_glib audacious gtk2 gsl libaudclient ]; hardeningDisable = [ "format" ]; diff --git a/pkgs/applications/audio/gmpc/default.nix b/pkgs/applications/audio/gmpc/default.nix index 0c7b5c2c9cae..ab6dd0eee72f 100644 --- a/pkgs/applications/audio/gmpc/default.nix +++ b/pkgs/applications/audio/gmpc/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, libtool, intltool, pkgconfig, glib -, gtk, curl, mpd_clientlib, libsoup, gob2, vala_0_23, libunique +, gtk2, curl, mpd_clientlib, libsoup, gob2, vala_0_23, libunique , libSM, libICE, sqlite, hicolor_icon_theme, wrapGAppsHook }: @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { }; buildInputs = [ - libtool intltool pkgconfig glib gtk curl mpd_clientlib libsoup + libtool intltool pkgconfig glib gtk2 curl mpd_clientlib libsoup libunique libmpd gob2 vala_0_23 libSM libICE sqlite hicolor_icon_theme wrapGAppsHook ]; diff --git a/pkgs/applications/audio/gpodder/default.nix b/pkgs/applications/audio/gpodder/default.nix index 8e9476cd3d82..eb9ddf164d48 100644 --- a/pkgs/applications/audio/gpodder/default.nix +++ b/pkgs/applications/audio/gpodder/default.nix @@ -6,11 +6,11 @@ pythonPackages.buildPythonApplication rec { name = "gpodder-${version}"; - version = "3.9.0"; + version = "3.9.1"; src = fetchurl { url = "http://gpodder.org/src/${name}.tar.gz"; - sha256 = "1ik954idi0ldnw0wrv7mm71smyb6x66332jxcaf1dxsl12ccm44l"; + sha256 = "036p9vnkr3if0k548xhhjmcwdaimy3yd24s3xd8vzlp0wdzkzrhn"; }; postPatch = with stdenv.lib; '' @@ -30,7 +30,7 @@ pythonPackages.buildPythonApplication rec { ]; propagatedBuildInputs = with pythonPackages; [ - feedparser dbus-python mygpoclient sqlite3 pygtk eyeD3 + feedparser dbus-python mygpoclient pygtk eyeD3 ] ++ stdenv.lib.optional ipodSupport libgpod; checkPhase = '' diff --git a/pkgs/applications/audio/groovebasin/default.nix b/pkgs/applications/audio/groovebasin/default.nix index 0bbf2baf1055..7eb2e85f7bed 100644 --- a/pkgs/applications/audio/groovebasin/default.nix +++ b/pkgs/applications/audio/groovebasin/default.nix @@ -62,5 +62,8 @@ in nodePackages.buildNodePackage rec { Groove Basin supports Last.fm scrobbling. ''; + # groovebasin was built with nodejs 0.10 which reached end of LTS + # in October 216, it doesn't built with nodejs 4.x + broken = true; }; } diff --git a/pkgs/applications/audio/guitarix/default.nix b/pkgs/applications/audio/guitarix/default.nix index af213f1a8354..e0bca0fa1c86 100644 --- a/pkgs/applications/audio/guitarix/default.nix +++ b/pkgs/applications/audio/guitarix/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, gettext, intltool, pkgconfig, python , avahi, bluez, boost, eigen, fftw, glib, glib_networking -, glibmm, gsettings_desktop_schemas, gtk, gtkmm, libjack2 +, glibmm, gsettings_desktop_schemas, gtkmm2, libjack2 , ladspaH, librdf, libsndfile, lilv, lv2, serd, sord, sratom , webkitgtk2, wrapGAppsHook, zita-convolver, zita-resampler , optimizationSupport ? false # Enable support for native CPU extensions @@ -12,18 +12,18 @@ in stdenv.mkDerivation rec { name = "guitarix-${version}"; - version = "0.35.1"; + version = "0.35.2"; src = fetchurl { url = "mirror://sourceforge/guitarix/guitarix2-${version}.tar.xz"; - sha256 = "066qva1zk63qw60s0vbi9g9jh22ljw67p91pk82kv11gw24h3vg6"; + sha256 = "1qj3adjhg511jygbjkl9k5v0gcjmg6ifc479rspfyf45m383pp3p"; }; nativeBuildInputs = [ gettext intltool wrapGAppsHook pkgconfig python ]; buildInputs = [ avahi bluez boost eigen fftw glib glibmm glib_networking.out - gsettings_desktop_schemas gtk gtkmm libjack2 ladspaH librdf + gsettings_desktop_schemas gtkmm2 libjack2 ladspaH librdf libsndfile lilv lv2 serd sord sratom webkitgtk2 zita-convolver zita-resampler ]; diff --git a/pkgs/applications/audio/helm/default.nix b/pkgs/applications/audio/helm/default.nix index b4cf02886726..712f309fad0c 100644 --- a/pkgs/applications/audio/helm/default.nix +++ b/pkgs/applications/audio/helm/default.nix @@ -1,15 +1,16 @@ - { stdenv, fetchurl, xorg, freetype, alsaLib, libjack2 + { stdenv, fetchFromGitHub , xorg, freetype, alsaLib, libjack2 , lv2, pkgconfig, mesa }: stdenv.mkDerivation rec { - version = "0.6.1"; + version = "0.8.6"; name = "helm-${version}"; - src = fetchurl { - url = "https://github.com/mtytel/helm/archive/v${version}.tar.gz"; - sha256 = "18d7zx6r7har47zj6x1f2z91x796mxnix7w3x1yilmqnyqc56r3w"; - }; - + src = fetchFromGitHub { + owner = "mtytel"; + repo = "helm"; + rev = "19f86e6b4db83c1c6b143fc27883592ac4e43489"; + sha256 = "0a46wnbfqkns8l136v79rr9gv4hhba065igjwkjddf045c9l94l8"; + }; buildInputs = [ xorg.libX11 xorg.libXcomposite xorg.libXcursor xorg.libXext @@ -17,11 +18,18 @@ freetype alsaLib libjack2 pkgconfig mesa lv2 ]; + CXXFLAGS = "-DHAVE_LROUND"; + + patchPhase = '' + sed -i 's|usr/||g' Makefile + ''; + + buildPhase = '' + make 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/ + make DESTDIR="$out" install ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/audio/ingen/default.nix b/pkgs/applications/audio/ingen/default.nix index ab8f7af1bd55..7f4bc0b3e9ef 100644 --- a/pkgs/applications/audio/ingen/default.nix +++ b/pkgs/applications/audio/ingen/default.nix @@ -1,34 +1,34 @@ -{ stdenv, fetchsvn, boost, ganv, glibmm, gtk, gtkmm, libjack2, lilv-svn -, lv2, makeWrapper, pkgconfig, python, raul, rdflib, serd, sord-svn, sratom +{ stdenv, fetchgit, boost, ganv, glibmm, gtkmm2, libjack2, lilv +, lv2, makeWrapper, pkgconfig, python, raul, rdflib, serd, sord, sratom , suil }: stdenv.mkDerivation rec { - name = "ingen-svn-${rev}"; - rev = "5675"; + name = "ingen-unstable-${rev}"; + rev = "2016-10-29"; - src = fetchsvn { - url = "http://svn.drobilla.net/lad/trunk/ingen"; - rev = rev; - sha256 = "1dk56rzbc0rwlbzr90rv8bh5163xwld32nmkvcz7ajfchi4fnv86"; + src = fetchgit { + url = "http://git.drobilla.net/cgit.cgi/ingen.git"; + rev = "fd147d0b888090bfb897505852c1f25dbdf77e18"; + sha256 = "1qmg79962my82c43vyrv5sxbqci9c7gc2s9bwaaqd0fcf08xcz1z"; }; buildInputs = [ - boost ganv glibmm gtk gtkmm libjack2 lilv-svn lv2 makeWrapper pkgconfig - python raul serd sord-svn sratom suil + boost ganv glibmm gtkmm2 libjack2 lilv lv2 makeWrapper pkgconfig + python raul serd sord sratom suil ]; configurePhase = '' sed -e "s@{PYTHONDIR}/'@out/'@" -i wscript - python waf configure --prefix=$out + ${python.interpreter} waf configure --prefix=$out ''; propagatedBuildInputs = [ rdflib ]; - buildPhase = "python waf"; + buildPhase = "${python.interpreter} waf"; installPhase = '' - python waf install + ${python.interpreter} waf install for program in ingenams ingenish do wrapProgram $out/bin/$program \ diff --git a/pkgs/applications/audio/jack-rack/default.nix b/pkgs/applications/audio/jack-rack/default.nix index e4a48230e23d..1d1925779f0d 100644 --- a/pkgs/applications/audio/jack-rack/default.nix +++ b/pkgs/applications/audio/jack-rack/default.nix @@ -1,11 +1,11 @@ -{ stdenv, fetchurl, pkgconfig, libjack2, ladspaH, gtk, alsaLib, libxml2, librdf }: +{ stdenv, fetchurl, pkgconfig, libjack2, ladspaH, gtk2, alsaLib, libxml2, librdf }: stdenv.mkDerivation rec { name = "jack-rack-1.4.7"; src = fetchurl { url = "mirror://sourceforge/jack-rack/${name}.tar.bz2"; sha256 = "1lmibx9gicagcpcisacj6qhq6i08lkl5x8szysjqvbgpxl9qg045"; }; - buildInputs = [ pkgconfig libjack2 ladspaH gtk alsaLib libxml2 librdf ]; + buildInputs = [ pkgconfig libjack2 ladspaH gtk2 alsaLib libxml2 librdf ]; meta = { description = ''An effects "rack" for the JACK low latency audio API''; diff --git a/pkgs/applications/audio/jalv/default.nix b/pkgs/applications/audio/jalv/default.nix index 5e99e60c818b..bcec085887a5 100644 --- a/pkgs/applications/audio/jalv/default.nix +++ b/pkgs/applications/audio/jalv/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, gtk, libjack2, lilv, lv2, pkgconfig, python +{ stdenv, fetchurl, gtk2, libjack2, lilv, lv2, pkgconfig, python , serd, sord , sratom, suil }: stdenv.mkDerivation rec { @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { }; buildInputs = [ - gtk libjack2 lilv lv2 pkgconfig python serd sord sratom suil + gtk2 libjack2 lilv lv2 pkgconfig python serd sord sratom suil ]; configurePhase = "python waf configure --prefix=$out"; diff --git a/pkgs/applications/audio/kid3/default.nix b/pkgs/applications/audio/kid3/default.nix index d00dcafd7b8c..ac484445b1e5 100644 --- a/pkgs/applications/audio/kid3/default.nix +++ b/pkgs/applications/audio/kid3/default.nix @@ -1,27 +1,28 @@ { stdenv, fetchurl -, pkgconfig, cmake, perl, ffmpeg +, pkgconfig, cmake , docbook_xml_dtd_45, docbook_xsl, libxslt -, phonon, automoc4, chromaprint, id3lib -, taglib, mp4v2, flac, libogg, libvorbis +, python, ffmpeg, mp4v2, flac, libogg, libvorbis +, phonon, automoc4, chromaprint, id3lib, taglib , qt, zlib, readline , makeWrapper }: stdenv.mkDerivation rec { - name = "kid3-${meta.version}"; + name = "kid3-${version}"; + version = "3.4.2"; src = fetchurl { - url = "mirror://sourceforge/project/kid3/kid3/${meta.version}/${name}.tar.gz"; - sha256 = "12sa54mg1b3wkagmh5yi20ski8km9d199lk0a1yfxy0ffjfld7js"; + url = "mirror://sourceforge/project/kid3/kid3/${version}/${name}.tar.gz"; + sha256 = "0gka4na583015jyqva18g85q7vnkjdk0iji2jp88di3kpvqhf1sw"; }; buildInputs = with stdenv.lib; - [ pkgconfig cmake perl ffmpeg docbook_xml_dtd_45 docbook_xsl libxslt + [ pkgconfig cmake python ffmpeg docbook_xml_dtd_45 docbook_xsl libxslt phonon automoc4 chromaprint id3lib taglib mp4v2 flac libogg libvorbis qt zlib readline makeWrapper ]; - cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" "-DWITH_APPS=Qt;CLI" ]; + cmakeFlags = [ "-DWITH_APPS=Qt;CLI" ]; NIX_LDFLAGS = "-lm -lpthread"; preConfigure = '' @@ -33,7 +34,6 @@ stdenv.mkDerivation rec { ''; meta = with stdenv.lib; { - version = "3.3.0"; description = "A simple and powerful audio tag editor"; longDescription = '' If you want to easily tag multiple MP3, Ogg/Vorbis, FLAC, MPC, @@ -71,4 +71,4 @@ stdenv.mkDerivation rec { platforms = platforms.linux; }; } -# TODO: Qt5 support +# TODO: Qt5 support - not so urgent! diff --git a/pkgs/applications/audio/ladspa-plugins/default.nix b/pkgs/applications/audio/ladspa-plugins/default.nix index b563c850d528..1b68caccf4ec 100644 --- a/pkgs/applications/audio/ladspa-plugins/default.nix +++ b/pkgs/applications/audio/ladspa-plugins/default.nix @@ -1,22 +1,29 @@ -{ stdenv, fetchurl, fftw, ladspaH, pkgconfig }: +{ stdenv, fetchurl, autoreconfHook, automake, fftw, ladspaH, libxml2, pkgconfig +, perlPackages }: + +stdenv.mkDerivation rec { + name = "swh-plugins-${version}"; + version = "0.4.17"; -stdenv.mkDerivation { - name = "swh-plugins-0.4.15"; src = fetchurl { - url = http://plugin.org.uk/releases/0.4.15/swh-plugins-0.4.15.tar.gz; - sha256 = "0h462s4mmqg4iw7zdsihnrmz2vjg0fd49qxw2a284bnryjjfhpnh"; + url = "https://github.com/swh/ladspa/archive/v${version}.tar.gz"; + sha256 = "1rqwh8xrw6hnp69dg4gy336bfbfpmbx4fjrk0nb8ypjcxkz91c6i"; }; - - buildInputs = [fftw ladspaH pkgconfig]; - postInstall = - '' - mkdir -p $out/share/ladspa/ - ln -sv $out/lib/ladspa $out/share/ladspa/lib - ''; + buildInputs = [ autoreconfHook fftw ladspaH libxml2 pkgconfig perlPackages.perl perlPackages.XMLParser ]; - meta = { + patchPhase = '' + patchShebangs . + patchShebangs ./metadata/ + cp ${automake}/share/automake-*/mkinstalldirs . + ''; + + meta = with stdenv.lib; { + homepage = http://plugin.org.uk/; description = "LADSPA format audio plugins"; + license = licenses.gpl2; + maintainers = [ maintainers.magnetophon ]; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/audio/ladspa-plugins/git.nix b/pkgs/applications/audio/ladspa-plugins/git.nix deleted file mode 100644 index ef34eb91600a..000000000000 --- a/pkgs/applications/audio/ladspa-plugins/git.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ stdenv, fetchgit, autoreconfHook, automake, fftw, ladspaH, libxml2, pkgconfig -, perl, perlPackages }: - -stdenv.mkDerivation { - name = "swh-plugins-git-2015-03-04"; - - src = fetchgit { - url = https://github.com/swh/ladspa.git; - rev = "4b8437e8037cace3d5bf8ce6d1d1da0182aba686"; - sha256 = "1rmqm4780dhp0pj2scl3k7m8hpp1x6w6ln4wwg954zb9570rqaxx"; - }; - - buildInputs = [ autoreconfHook fftw ladspaH libxml2 pkgconfig perl perlPackages.XMLParser ]; - - patchPhase = '' - patchShebangs . - patchShebangs ./metadata/ - cp ${automake}/share/automake-*/mkinstalldirs . - ''; - - meta = with stdenv.lib; { - homepage = http://plugin.org.uk/; - description = "LADSPA format audio plugins"; - license = licenses.gpl2; - maintainers = [ maintainers.magnetophon ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/applications/audio/lash/default.nix b/pkgs/applications/audio/lash/default.nix index cfe29949e4f6..da61eee3b643 100644 --- a/pkgs/applications/audio/lash/default.nix +++ b/pkgs/applications/audio/lash/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, alsaLib, gtk, libjack2, libuuid, libxml2 +{ stdenv, fetchurl, alsaLib, gtk2, libjack2, libuuid, libxml2 , makeWrapper, pkgconfig, readline }: assert libuuid != null; @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { # http://permalink.gmane.org/gmane.linux.redhat.fedora.extras.cvs/822346 patches = [ ./socket.patch ./gcc-47.patch ]; - buildInputs = [ alsaLib gtk libjack2 libxml2 makeWrapper + buildInputs = [ alsaLib gtk2 libjack2 libxml2 makeWrapper pkgconfig readline ]; propagatedBuildInputs = [ libuuid ]; diff --git a/pkgs/applications/audio/lastwatch/default.nix b/pkgs/applications/audio/lastwatch/default.nix index 61d502ce3345..0e4e1a5a8a38 100644 --- a/pkgs/applications/audio/lastwatch/default.nix +++ b/pkgs/applications/audio/lastwatch/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchgit, pythonPackages }: +{ stdenv, fetchgit, python2Packages }: -pythonPackages.buildPythonApplication rec { +python2Packages.buildPythonApplication rec { name = "lastwatch-${version}"; namePrefix = ""; version = "0.4.1"; @@ -11,14 +11,12 @@ pythonPackages.buildPythonApplication rec { sha256 = "0nlng3595j5jvnikk8i5hb915zak5zsmfn2306cc4gfcns9xzjwp"; }; - pythonPath = [ - pythonPackages.pyinotify - pythonPackages.pylast - pythonPackages.mutagen + propagatedBuildInputs = with python2Packages; [ + pyinotify + pylast + mutagen ]; - propagatedBuildInputs = pythonPath; - meta = { homepage = "https://github.com/aszlig/LastWatch"; description = "An inotify-based last.fm audio scrobbler"; diff --git a/pkgs/applications/audio/lingot/default.nix b/pkgs/applications/audio/lingot/default.nix index 22ab37dc98af..47b65ff2b5a3 100644 --- a/pkgs/applications/audio/lingot/default.nix +++ b/pkgs/applications/audio/lingot/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, intltool, gtk, alsaLib, libglade }: +{ stdenv, fetchurl, pkgconfig, intltool, gtk2, alsaLib, libglade }: stdenv.mkDerivation { name = "lingot-0.9.1"; @@ -10,7 +10,7 @@ stdenv.mkDerivation { hardeningDisable = [ "format" ]; - buildInputs = [ pkgconfig intltool gtk alsaLib libglade ]; + buildInputs = [ pkgconfig intltool gtk2 alsaLib libglade ]; configureFlags = "--disable-jack"; diff --git a/pkgs/applications/audio/linuxband/default.nix b/pkgs/applications/audio/linuxband/default.nix index a3aa133960f8..5c127a289c07 100644 --- a/pkgs/applications/audio/linuxband/default.nix +++ b/pkgs/applications/audio/linuxband/default.nix @@ -1,6 +1,8 @@ -{ stdenv, fetchurl, makeWrapper, pkgconfig, MMA, libjack2, libsmf, python, pyGtkGlade, pygtksourceview }: +{ stdenv, fetchurl, makeWrapper, pkgconfig, MMA, libjack2, libsmf, pythonPackages }: -stdenv.mkDerivation rec { +let + inherit (pythonPackages) pyGtkGlade pygtksourceview python; +in stdenv.mkDerivation rec { version = "12.02.1"; name = "linuxband-${version}"; diff --git a/pkgs/applications/audio/CharacterCompressor/default.nix b/pkgs/applications/audio/magnetophonDSP/CharacterCompressor/default.nix similarity index 77% rename from pkgs/applications/audio/CharacterCompressor/default.nix rename to pkgs/applications/audio/magnetophonDSP/CharacterCompressor/default.nix index 8e50a6f1744d..206754a51955 100644 --- a/pkgs/applications/audio/CharacterCompressor/default.nix +++ b/pkgs/applications/audio/magnetophonDSP/CharacterCompressor/default.nix @@ -1,21 +1,22 @@ -{ stdenv, fetchFromGitHub, faust2jaqt, faust2lv2gui }: +{ stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: stdenv.mkDerivation rec { name = "CharacterCompressor-${version}"; - version = "0.3.1"; + version = "0.3.3"; src = fetchFromGitHub { owner = "magnetophon"; repo = "CharacterCompressor"; rev = "V${version}"; - sha256 = "0ci27v5k10prsmcd0g6q5vhr31mz8hsmrsdk436vfbcv3s108rcc"; + sha256 = "1h0bhjhx023476gbijq842b6f8z71zcyn4c9mddwyb18w9cdamp5"; }; - buildInputs = [ faust2jaqt faust2lv2gui ]; + buildInputs = [ faust2jaqt faust2lv2 ]; buildPhase = '' faust2jaqt -vec -time -t 99999 CharacterCompressor.dsp - faust2lv2 -vec -time -gui -t 99999 CharacterCompressor.dsp faust2jaqt -vec -time -t 99999 CharacterCompressorMono.dsp + sed -i "s|\[ *scale *: *log *\]||g ; s|\btgroup\b|hgroup|g" "lib/CharacterCompressor.lib" + faust2lv2 -vec -time -gui -t 99999 CharacterCompressor.dsp faust2lv2 -vec -time -gui -t 99999 CharacterCompressorMono.dsp ''; diff --git a/pkgs/applications/audio/CompBus/default.nix b/pkgs/applications/audio/magnetophonDSP/CompBus/default.nix similarity index 60% rename from pkgs/applications/audio/CompBus/default.nix rename to pkgs/applications/audio/magnetophonDSP/CompBus/default.nix index 25175f271622..467e11daaf65 100644 --- a/pkgs/applications/audio/CompBus/default.nix +++ b/pkgs/applications/audio/magnetophonDSP/CompBus/default.nix @@ -1,22 +1,28 @@ -{ stdenv, fetchFromGitHub, faust2jaqt, faust2lv2gui }: +{ stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: stdenv.mkDerivation rec { name = "CompBus-${version}"; - version = "1.1.02"; + version = "1.1.1"; src = fetchFromGitHub { owner = "magnetophon"; repo = "CompBus"; - rev = "v${version}"; - sha256 = "025vi60caxk3j2vxxrgbc59xlyr88vgn7k3127s271zvpyy7apwh"; + rev = "V${version}"; + sha256 = "0yhj680zgk4dn4fi8j3apm72f3z2mjk12amf2a7p0lwn9iyh4a2z"; }; - buildInputs = [ faust2jaqt faust2lv2gui ]; + buildInputs = [ faust2jaqt faust2lv2 ]; buildPhase = '' for f in *.dsp; do - faust2jaqt -t 99999 $f - faust2lv2 -gui -t 99999 $f + faust2jaqt -time -vec -double -t 99999 $f + done + + sed -i "s|\[ *scale *: *log *\]||g ; s|\btgroup\b|hgroup|g" "CompBus.lib" + + for f in *.dsp; + do + faust2lv2 -time -vec -double -gui -t 99999 $f done ''; diff --git a/pkgs/applications/audio/constant-detune-chorus/default.nix b/pkgs/applications/audio/magnetophonDSP/ConstantDetuneChorus/default.nix similarity index 62% rename from pkgs/applications/audio/constant-detune-chorus/default.nix rename to pkgs/applications/audio/magnetophonDSP/ConstantDetuneChorus/default.nix index 0f53d1259113..b452d91426e0 100644 --- a/pkgs/applications/audio/constant-detune-chorus/default.nix +++ b/pkgs/applications/audio/magnetophonDSP/ConstantDetuneChorus/default.nix @@ -1,20 +1,21 @@ -{ stdenv, fetchFromGitHub, faust2jaqt, faust2lv2gui }: +{ stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: stdenv.mkDerivation rec { name = "constant-detune-chorus-${version}"; - version = "0.1.2"; + version = "0.1.3"; src = fetchFromGitHub { owner = "magnetophon"; repo = "constant-detune-chorus"; - rev = "v${version}"; - sha256 = "1ks2k6pflqyi2cs26bnbypphyrrgn0xf31l31kgx1qlilyc57vln"; + rev = "V${version}"; + sha256 = "1sipmc25fr7w7xqx1r0y6i2zwfkgszzwvhk1v15mnsb3cqvk8ybn"; }; - buildInputs = [ faust2jaqt faust2lv2gui ]; + buildInputs = [ faust2jaqt faust2lv2 ]; buildPhase = '' - faust2jaqt -t 99999 ConstantDetuneChorus.dsp - faust2lv2 -gui -t 99999 ConstantDetuneChorus.dsp + faust2jaqt -time -vec -t 99999 ConstantDetuneChorus.dsp + sed -i "s|\[ *scale *: *log *\]||g ; s|\btgroup\b|hgroup|g" "ConstantDetuneChorus.dsp" + faust2lv2 -time -vec -t 99999 -gui ConstantDetuneChorus.dsp ''; installPhase = '' diff --git a/pkgs/applications/audio/LazyLimiter/default.nix b/pkgs/applications/audio/magnetophonDSP/LazyLimiter/default.nix similarity index 59% rename from pkgs/applications/audio/LazyLimiter/default.nix rename to pkgs/applications/audio/magnetophonDSP/LazyLimiter/default.nix index 16aca9c3d328..d1959ec3cebc 100644 --- a/pkgs/applications/audio/LazyLimiter/default.nix +++ b/pkgs/applications/audio/magnetophonDSP/LazyLimiter/default.nix @@ -1,20 +1,21 @@ -{ stdenv, fetchFromGitHub, faust2jaqt, faust2lv2gui }: +{ stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: stdenv.mkDerivation rec { name = "LazyLimiter-${version}"; - version = "0.3.01"; + version = "0.3.2"; src = fetchFromGitHub { owner = "magnetophon"; repo = "LazyLimiter"; - rev = "v${version}"; - sha256 = "1yx9d5cakmqbiwb1j9v2af9h5lqzahl3kaamnyk71cf4i8g7zp3l"; + rev = "V${version}"; + sha256 = "10xdydwmsnkx8hzsm74pa546yahp29wifydbc48yywv3sfj5anm7"; }; - buildInputs = [ faust2jaqt faust2lv2gui ]; + buildInputs = [ faust2jaqt faust2lv2 ]; buildPhase = '' - faust2jaqt -t 99999 LazyLimiter.dsp - faust2lv2 -gui -t 99999 LazyLimiter.dsp + faust2jaqt -vec -time -t 99999 LazyLimiter.dsp + sed -i "s|\[ *scale *: *log *\]||g ; s|\btgroup\b|hgroup|g" "GUI.lib" + faust2lv2 -vec -time -t 99999 -gui LazyLimiter.dsp ''; installPhase = '' diff --git a/pkgs/applications/audio/MBdistortion/default.nix b/pkgs/applications/audio/magnetophonDSP/MBdistortion/default.nix similarity index 58% rename from pkgs/applications/audio/MBdistortion/default.nix rename to pkgs/applications/audio/magnetophonDSP/MBdistortion/default.nix index aa71fff41c57..6216ba555938 100644 --- a/pkgs/applications/audio/MBdistortion/default.nix +++ b/pkgs/applications/audio/magnetophonDSP/MBdistortion/default.nix @@ -1,20 +1,21 @@ -{ stdenv, fetchFromGitHub, faust2jaqt, faust2lv2gui }: +{ stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: stdenv.mkDerivation rec { name = "MBdistortion-${version}"; - version = "1.1"; + version = "1.1.1"; src = fetchFromGitHub { owner = "magnetophon"; repo = "MBdistortion"; - rev = "v${version}"; - sha256 = "1rmvfi48hg8ybfw517zgj3fjj2xzckrmv8x131i26vj0fv7svjsp"; + rev = "V${version}"; + sha256 = "0mdzaqmxzgspfgx9w1hdip18y17hwpdcgjyq1rrfm843vkascwip"; }; - buildInputs = [ faust2jaqt faust2lv2gui ]; + buildInputs = [ faust2jaqt faust2lv2 ]; buildPhase = '' - faust2jaqt -t 99999 MBdistortion.dsp - faust2lv2 -gui -t 99999 MBdistortion.dsp + faust2jaqt -time -vec -t 99999 MBdistortion.dsp + sed -i "s|\[ *scale *: *log *\]||g ; s|\btgroup\b|hgroup|g" "MBdistortion.dsp" + faust2lv2 -time -vec -gui -t 99999 MBdistortion.dsp ''; installPhase = '' diff --git a/pkgs/applications/audio/RhythmDelay/default.nix b/pkgs/applications/audio/magnetophonDSP/RhythmDelay/default.nix similarity index 58% rename from pkgs/applications/audio/RhythmDelay/default.nix rename to pkgs/applications/audio/magnetophonDSP/RhythmDelay/default.nix index 05d3b4f193e5..0bb2034fc46e 100644 --- a/pkgs/applications/audio/RhythmDelay/default.nix +++ b/pkgs/applications/audio/magnetophonDSP/RhythmDelay/default.nix @@ -1,20 +1,21 @@ -{ stdenv, fetchFromGitHub, faust2jaqt, faust2lv2gui }: +{ stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: stdenv.mkDerivation rec { name = "RhythmDelay-${version}"; - version = "2.0"; + version = "2.1"; src = fetchFromGitHub { owner = "magnetophon"; repo = "RhythmDelay"; - rev = "v${version}"; - sha256 = "0n938nm08mf3lz92k6v07k1469xxzmfkgclw40jgdssfcfa16bn7"; + rev = "V${version}"; + sha256 = "1j0bjl9agz43dcrcrbiqd7fv7xsxgd65s4ahhv5pvcr729y0fxg4"; }; - buildInputs = [ faust2jaqt faust2lv2gui ]; + buildInputs = [ faust2jaqt faust2lv2 ]; buildPhase = '' - faust2jaqt -t 99999 RhythmDelay.dsp - faust2lv2 -gui -t 99999 RhythmDelay.dsp + faust2jaqt -time -vec -t 99999 RhythmDelay.dsp + sed -i "s|\[ *scale *: *log *\]||g ; s|\btgroup\b|hgroup|g" "RhythmDelay.dsp" + faust2lv2 -time -vec -t 99999 -gui RhythmDelay.dsp ''; installPhase = '' diff --git a/pkgs/applications/audio/magnetophonDSP/VoiceOfFaust/default.nix b/pkgs/applications/audio/magnetophonDSP/VoiceOfFaust/default.nix new file mode 100644 index 000000000000..12d9679f97cd --- /dev/null +++ b/pkgs/applications/audio/magnetophonDSP/VoiceOfFaust/default.nix @@ -0,0 +1,56 @@ +{ stdenv, pkgs, callPackage, fetchFromGitHub, faust2jack, faust2lv2, helmholtz, mrpeach, puredata-with-plugins }: +stdenv.mkDerivation rec { + name = "VoiceOfFaust-${version}"; + version = "1.1.4"; + + src = fetchFromGitHub { + owner = "magnetophon"; + repo = "VoiceOfFaust"; + rev = "V${version}"; + sha256 = "0la9b806qwrlsxgbir7n1db8v3w24wmd6k43p6qpr1fjjpkhrrgw"; + }; + + plugins = [ helmholtz mrpeach ]; + + pitchTracker = puredata-with-plugins plugins; + + buildInputs = [ faust2jack faust2lv2 ]; + + runtimeInputs = [ pitchTracker ]; + + patchPhase = '' + sed -i "s@pd -nodac@${pitchTracker}/bin/pd -nodac@g" launchers/synthWrapper + sed -i "s@../PureData/OscSendVoc.pd@$out/PureData/OscSendVoc.pd@g" launchers/synthWrapper + ''; + + buildPhase = '' + sh install.sh + # so it doesn;t end up in /bin/ : + rm -f install.sh + ''; + + installPhase = '' + mkdir -p $out/bin + + for file in ./*; do + if test -x "$file" && test -f "$file"; then + cp "$file" "$out/bin" + fi + done + + cp launchers/* $out/bin/ + mkdir $out/PureData/ + # cp PureData/OscSendVoc.pd $out/PureData/OscSendVoc.pd + cp PureData/* $out/PureData/ + + mkdir -p $out/lib/lv2 + cp -r *.lv2/ $out/lib/lv2 + ''; + + meta = { + description = "Turn your voice into a synthesizer"; + homepage = https://github.com/magnetophon/VoiceOfFaust; + license = stdenv.lib.licenses.gpl3; + maintainers = [ stdenv.lib.maintainers.magnetophon ]; + }; +} diff --git a/pkgs/applications/audio/faustCompressors/default.nix b/pkgs/applications/audio/magnetophonDSP/faustCompressors/default.nix similarity index 59% rename from pkgs/applications/audio/faustCompressors/default.nix rename to pkgs/applications/audio/magnetophonDSP/faustCompressors/default.nix index ea0680568db6..05e2b335f820 100644 --- a/pkgs/applications/audio/faustCompressors/default.nix +++ b/pkgs/applications/audio/magnetophonDSP/faustCompressors/default.nix @@ -1,22 +1,28 @@ -{ stdenv, fetchFromGitHub, faust2jaqt, faust2lv2gui }: +{ stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: stdenv.mkDerivation rec { - name = "faustCompressors-${version}"; - version = "0.1.1"; + name = "faustCompressors-v${version}"; + version = "1.1.1"; src = fetchFromGitHub { owner = "magnetophon"; repo = "faustCompressors"; rev = "v${version}"; - sha256 = "0x5nd2cjhknb4aclhkkjaywx75bi2wj22prgv8n47czi09jcj0jb"; + sha256 = "0mkram2hm7i5za7pfn5crh2arbajk8praksxzgjx90rrxwl1y3d1"; }; - buildInputs = [ faust2jaqt faust2lv2gui ]; + buildInputs = [ faust2jaqt faust2lv2 ]; buildPhase = '' for f in *.dsp; do - faust2jaqt -double -t 99999 $f - faust2lv2 -double -gui -t 99999 $f + faust2jaqt -time -double -t 99999 $f + done + + sed -i "s|\[ *scale *: *log *\]||g ; s|\btgroup\b|hgroup|g" "compressors.lib" + + for f in *.dsp; + do + faust2lv2 -time -double -gui -t 99999 $f done ''; diff --git a/pkgs/applications/audio/magnetophonDSP/pluginUtils/default.nix b/pkgs/applications/audio/magnetophonDSP/pluginUtils/default.nix new file mode 100644 index 000000000000..daa23baa966b --- /dev/null +++ b/pkgs/applications/audio/magnetophonDSP/pluginUtils/default.nix @@ -0,0 +1,41 @@ +{ stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: +stdenv.mkDerivation rec { + name = "pluginUtils-${version}"; + version = "1.1"; + + src = fetchFromGitHub { + owner = "magnetophon"; + repo = "pluginUtils"; + rev = "V${version}"; + sha256 = "1hnr5sp7k6ypf4ks61lnyqx44dkv35yllf3a3xcbrw7yqzagwr1c"; + }; + + buildInputs = [ faust2jaqt faust2lv2 ]; + + buildPhase = '' + for f in *.dsp + do + echo "Building jack standalone for $f" + faust2jaqt -vec -time -t 99999 "$f" + sed -i "s|\[ *scale *: *log *\]||g ; s|\btgroup\b|hgroup|g" "$f" + echo "Building lv2 for $f" + faust2lv2 -vec -time -gui -t 99999 "$f" + done + ''; + + installPhase = '' + rm -f *.dsp + rm -f *.lib + mkdir -p $out/lib/lv2 + mv *.lv2/ $out/lib/lv2 + mkdir -p $out/bin + cp * $out/bin/ + ''; + + meta = { + description = "Some simple utility lv2 plugins"; + homepage = https://github.com/magnetophon/pluginUtils; + license = stdenv.lib.licenses.gpl3; + maintainers = [ stdenv.lib.maintainers.magnetophon ]; + }; +} diff --git a/pkgs/applications/audio/magnetophonDSP/shelfMultiBand/default.nix b/pkgs/applications/audio/magnetophonDSP/shelfMultiBand/default.nix new file mode 100644 index 000000000000..422aabb28299 --- /dev/null +++ b/pkgs/applications/audio/magnetophonDSP/shelfMultiBand/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: +stdenv.mkDerivation rec { + name = "shelfMultiBand-${version}"; + version = "0.6.1"; + + src = fetchFromGitHub { + owner = "magnetophon"; + repo = "shelfMultiBand"; + rev = "V${version}"; + sha256 = "1b1h4z5fs2xm7wvw11p9wnd0bxs3m88124f5phh0gwvpsdrd0im5"; + }; + + buildInputs = [ faust2jaqt faust2lv2 ]; + + buildPhase = '' + faust2jaqt -vec -double -time -t 99999 shelfMultiBand.dsp + faust2jaqt -vec -double -time -t 99999 shelfMultiBandMono.dsp + sed -i "s|\[ *scale *: *log *\]||g ; s|\btgroup\b|hgroup|g" "shelfMultiBand.lib" + faust2lv2 -vec -double -time -gui -t 99999 shelfMultiBandMono.dsp + faust2lv2 -vec -double -time -gui -t 99999 shelfMultiBand.dsp + ''; + + installPhase = '' + mkdir -p $out/bin + cp shelfMultiBand $out/bin/ + cp shelfMultiBandMono $out/bin/ + mkdir -p $out/lib/lv2 + cp -r shelfMultiBand.lv2/ $out/lib/lv2 + cp -r shelfMultiBandMono.lv2/ $out/lib/lv2 + ''; + + meta = { + description = "A multiband compressor made from shelving filters."; + homepage = https://github.com/magnetophon/shelfMultiBand; + license = stdenv.lib.licenses.gpl3; + maintainers = [ stdenv.lib.maintainers.magnetophon ]; + }; +} diff --git a/pkgs/applications/audio/mhwaveedit/default.nix b/pkgs/applications/audio/mhwaveedit/default.nix index 26400ed61da1..2c6df650d5d7 100644 --- a/pkgs/applications/audio/mhwaveedit/default.nix +++ b/pkgs/applications/audio/mhwaveedit/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, makeWrapper, SDL , alsaLib, gtk, libjack2, ladspaH +{ stdenv, fetchurl, makeWrapper, SDL , alsaLib, gtk2, libjack2, ladspaH , ladspaPlugins, libsamplerate, libsndfile, pkgconfig, libpulseaudio, lame , vorbis-tools }: @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { sha256 = "010rk4mr631s440q9cfgdxx2avgzysr9aq52diwdlbq9cddifli3"; }; - buildInputs = [ SDL alsaLib gtk libjack2 ladspaH libsamplerate libsndfile + buildInputs = [ SDL alsaLib gtk2 libjack2 ladspaH libsamplerate libsndfile pkgconfig libpulseaudio makeWrapper ]; configureFlags = "--with-default-ladspa-path=${ladspaPlugins}/lib/ladspa"; diff --git a/pkgs/applications/audio/moc/default.nix b/pkgs/applications/audio/moc/default.nix index 4cb7668a43f5..ea83a1012ebb 100644 --- a/pkgs/applications/audio/moc/default.nix +++ b/pkgs/applications/audio/moc/default.nix @@ -5,16 +5,18 @@ stdenv.mkDerivation rec { name = "moc-${version}"; - version = "2.5.0"; + version = "2.5.2"; src = fetchurl { url = "http://ftp.daper.net/pub/soft/moc/stable/moc-${version}.tar.bz2"; - sha256 = "14b0g9jn12jzxsf292g64dc6frlxv99kaagsasmc8xmg80iab7nj"; + sha256 = "026v977kwb0wbmlmf6mnik328plxg8wykfx9ryvqhirac0aq39pk"; }; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ - ncurses pkgconfig alsaLib flac libmad speex ffmpeg libvorbis - libmpc libsndfile libjack2 db libmodplug timidity libid3tag libtool + ncurses alsaLib flac libmad speex ffmpeg libvorbis libmpc libsndfile libjack2 + db libmodplug timidity libid3tag libtool ]; meta = with stdenv.lib; { diff --git a/pkgs/applications/audio/mopidy-gmusic/default.nix b/pkgs/applications/audio/mopidy-gmusic/default.nix index 6984593cd417..850e7abaef00 100644 --- a/pkgs/applications/audio/mopidy-gmusic/default.nix +++ b/pkgs/applications/audio/mopidy-gmusic/default.nix @@ -2,14 +2,19 @@ pythonPackages.buildPythonApplication rec { name = "mopidy-gmusic-${version}"; - version = "1.0.0"; + version = "2.0.0"; src = fetchurl { url = "https://github.com/mopidy/mopidy-gmusic/archive/v${version}.tar.gz"; - sha256 = "0yfilzfamy1bxnmgb1xk56jrk4sz0i7vcnc0a8klrm9sc7agnm9i"; + sha256 = "1xryw2aixfza3brxlgjdlg0lghlb17g7kay9zy56mlzp0jr7m87j"; }; - propagatedBuildInputs = [ mopidy pythonPackages.requests2 pythonPackages.gmusicapi ]; + propagatedBuildInputs = [ + mopidy + pythonPackages.requests2 + pythonPackages.gmusicapi + pythonPackages.cachetools + ]; doCheck = false; diff --git a/pkgs/applications/audio/mopidy-moped/default.nix b/pkgs/applications/audio/mopidy-moped/default.nix index ee3134f5fd82..c8afd4c6290f 100644 --- a/pkgs/applications/audio/mopidy-moped/default.nix +++ b/pkgs/applications/audio/mopidy-moped/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pythonPackages, mopidy }: +{ stdenv, fetchurl, pythonPackages, mopidy, glibcLocales }: pythonPackages.buildPythonApplication rec { name = "mopidy-moped-${version}"; @@ -9,6 +9,8 @@ pythonPackages.buildPythonApplication rec { sha256 = "0xff8y1kc7rwwsd7ppgbvywf6i8lchjwbxjisfl1kmilwsb166yr"; }; + LC_ALL = "en_US.UTF-8"; + buildInputs = [ glibcLocales ]; propagatedBuildInputs = [ mopidy ]; doCheck = false; diff --git a/pkgs/applications/audio/mopidy/default.nix b/pkgs/applications/audio/mopidy/default.nix index d7454741ed59..856da9f742e4 100644 --- a/pkgs/applications/audio/mopidy/default.nix +++ b/pkgs/applications/audio/mopidy/default.nix @@ -5,13 +5,13 @@ pythonPackages.buildPythonApplication rec { name = "mopidy-${version}"; - version = "2.0.1"; + version = "2.1.0"; src = fetchFromGitHub { owner = "mopidy"; repo = "mopidy"; rev = "v${version}"; - sha256 = "15i17rj2bh2kda6d6rwcjhs2m3nfsrcyq3lj9vbgmacg0cdb22pp"; + sha256 = "0krq5fbscqxayyc4vxai7iwxm2kdbgs5jicrdb013v04phw2za06"; }; nativeBuildInputs = [ wrapGAppsHook ]; diff --git a/pkgs/applications/audio/morituri/default.nix b/pkgs/applications/audio/morituri/default.nix index b9a38ab9d03b..0ab0d24c2726 100644 --- a/pkgs/applications/audio/morituri/default.nix +++ b/pkgs/applications/audio/morituri/default.nix @@ -17,7 +17,7 @@ in stdenv.mkDerivation rec { }; pythonPath = with pythonPackages; [ - pygobject gst_python musicbrainzngs + pygobject2 gst_python musicbrainzngs pycdio pyxdg setuptools CDDB ]; diff --git a/pkgs/applications/audio/mp3info/default.nix b/pkgs/applications/audio/mp3info/default.nix index d28cd7c9e06d..5f1d2bfa93d5 100644 --- a/pkgs/applications/audio/mp3info/default.nix +++ b/pkgs/applications/audio/mp3info/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, ncurses, pkgconfig, gtk }: +{ fetchurl, stdenv, ncurses, pkgconfig, gtk2 }: stdenv.mkDerivation rec { name = "mp3info-0.8.5a"; @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { sha256 = "042f1czcs9n2sbqvg4rsvfwlqib2gk976mfa2kxlfjghx5laqf04"; }; - buildInputs = [ ncurses pkgconfig gtk ]; + buildInputs = [ ncurses pkgconfig gtk2 ]; hardeningDisable = [ "format" ]; diff --git a/pkgs/applications/audio/mpg123/default.nix b/pkgs/applications/audio/mpg123/default.nix index 9ff4aef60835..9004a46115ee 100644 --- a/pkgs/applications/audio/mpg123/default.nix +++ b/pkgs/applications/audio/mpg123/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, alsaLib }: stdenv.mkDerivation rec { - name = "mpg123-1.22.2"; + name = "mpg123-1.23.8"; src = fetchurl { url = "mirror://sourceforge/mpg123/${name}.tar.bz2"; - sha256 = "0i1phi6fdjas37y00h3j8rb0b8ngr9az6hy5ff5bl53ify3j87kd"; + sha256 = "13ngfzk84k4ks7ymanmq8f6707yrybra5h0mk3ir6mdnxk4068yy"; }; buildInputs = stdenv.lib.optional (!stdenv.isDarwin) alsaLib; diff --git a/pkgs/applications/audio/ncmpc/default.nix b/pkgs/applications/audio/ncmpc/default.nix index 6c53d1fe7557..31185c0d0c28 100644 --- a/pkgs/applications/audio/ncmpc/default.nix +++ b/pkgs/applications/audio/ncmpc/default.nix @@ -23,8 +23,6 @@ stdenv.mkDerivation rec { description = "Curses-based interface for MPD (music player daemon)"; homepage = http://www.musicpd.org/clients/ncmpc/; license = licenses.gpl2Plus; - maintainers = with maintainers; [ hiberno ]; platforms = platforms.all; }; } - diff --git a/pkgs/applications/audio/non/default.nix b/pkgs/applications/audio/non/default.nix index 9217bc285bce..a7252b9e28a3 100644 --- a/pkgs/applications/audio/non/default.nix +++ b/pkgs/applications/audio/non/default.nix @@ -4,12 +4,12 @@ stdenv.mkDerivation rec { name = "non-${version}"; - version = "2016-04-05"; + version = "2016-12-07"; src = fetchFromGitHub { owner = "original-male"; repo = "non"; - rev = "16885e69fe865495dc32d869d1454ab148b0dca6"; - sha256 = "1nwzzgcdpbqh5kjvz40yy5nmzvpp8gcr9biyhhwi68s5bsg972ss"; + rev = "754d113b0e3144a145d50bde8370ff2cae98169c"; + sha256 = "04h67vy966vys6krgjsxd7dph4z46r8c6maw1hascxlasy3bhhk0"; }; buildInputs = [ pkgconfig python2 cairo libjpeg ntk libjack2 libsndfile diff --git a/pkgs/applications/audio/openmpt123/default.nix b/pkgs/applications/audio/openmpt123/default.nix new file mode 100644 index 000000000000..a13009407eb9 --- /dev/null +++ b/pkgs/applications/audio/openmpt123/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl, SDL2, pkgconfig, flac, libsndfile }: + +let + version = "0.2.7025-beta20.1"; +in stdenv.mkDerivation rec { + name = "openmpt123-${version}"; + src = fetchurl { + url = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${version}.tar.gz"; + sha256 = "0qp2nnz6pnl1d7yv9hcjyim7q6yax5881k1jxm8jfgjqagmz5k6p"; + }; + buildInputs = [ SDL2 pkgconfig flac libsndfile ]; + makeFlags = [ "NO_LTDL=1 TEST=0 EXAMPLES=0" ] + ++ stdenv.lib.optional (stdenv.isDarwin) "SHARED_SONAME=0"; + installFlags = "PREFIX=\${out}"; + + meta = with stdenv.lib; { + description = "A cross-platform command-line based module file player"; + homepage = https://lib.openmpt.org/libopenmpt/; + license = licenses.bsd3; + maintainers = [ stdenv.lib.maintainers.gnidorah ]; + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/pkgs/applications/audio/opusfile/default.nix b/pkgs/applications/audio/opusfile/default.nix index b55ea30bae05..f840ba278cfc 100644 --- a/pkgs/applications/audio/opusfile/default.nix +++ b/pkgs/applications/audio/opusfile/default.nix @@ -1,14 +1,17 @@ { stdenv, fetchurl, pkgconfig, openssl, libogg, libopus }: stdenv.mkDerivation rec { - name = "opusfile-0.6"; + name = "opusfile-0.8"; src = fetchurl { url = "http://downloads.xiph.org/releases/opus/${name}.tar.gz"; - sha256 = "19iys2kld75k0210b807i4illrdmj3cmmnrgxlc9y4vf6mxp2a14"; + sha256 = "192mp2jgn5s9815h31ybzsfipmbppmdhwx1dymrk26xarz9iw8rc"; }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ openssl libogg libopus ]; + buildInputs = [ openssl libogg ]; + propagatedBuildInputs = [ libopus ]; + patches = [ ./include-multistream.patch ]; + configureFlags = [ "--disable-examples" ]; meta = { description = "High-level API for decoding and seeking in .opus files"; diff --git a/pkgs/applications/audio/opusfile/include-multistream.patch b/pkgs/applications/audio/opusfile/include-multistream.patch new file mode 100644 index 000000000000..7c6dd8475963 --- /dev/null +++ b/pkgs/applications/audio/opusfile/include-multistream.patch @@ -0,0 +1,12 @@ +diff -Naur a/include/opusfile.h b/include/opusfile.h +--- a/include/opusfile.h 2014-04-29 19:07:09.000000000 +0200 ++++ b/include/opusfile.h 2016-09-05 17:50:15.147553798 +0200 +@@ -107,7 +107,7 @@ + # include + # include + # include +-# include ++# include + + /**@cond PRIVATE*/ + diff --git a/pkgs/applications/audio/pamix/default.nix b/pkgs/applications/audio/pamix/default.nix new file mode 100644 index 000000000000..dbf3cd92b5d0 --- /dev/null +++ b/pkgs/applications/audio/pamix/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchFromGitHub +, autoreconfHook, autoconf-archive, pkgconfig +, libpulseaudio, ncurses }: + +stdenv.mkDerivation rec { + name = "pamix-${version}"; + version = "1.5"; + + src = fetchFromGitHub { + owner = "patroclos"; + repo = "pamix"; + rev = version; + sha256 = "1d6b0iv8p73bwq88kdaanm4igvmp9rkq082vyaxpc67mz398yjbp"; + }; + + nativeBuildInputs = [ autoreconfHook autoconf-archive pkgconfig ]; + buildInputs = [ libpulseaudio ncurses ]; + + meta = with stdenv.lib; { + description = "Pulseaudio terminal mixer"; + homepage = https://github.com/patroclos/PAmix; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ ericsagnes ]; + }; +} diff --git a/pkgs/applications/audio/pamixer/default.nix b/pkgs/applications/audio/pamixer/default.nix index 56db4e8352e9..fa25a474c1df 100644 --- a/pkgs/applications/audio/pamixer/default.nix +++ b/pkgs/applications/audio/pamixer/default.nix @@ -30,7 +30,6 @@ stdenv.mkDerivation rec { ''; homepage = https://github.com/cdemoulins/pamixer; license = licenses.gpl3; - maintainers = with maintainers; [ hiberno ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/audio/paprefs/default.nix b/pkgs/applications/audio/paprefs/default.nix index 0f8c7a950103..7cce08e733d8 100644 --- a/pkgs/applications/audio/paprefs/default.nix +++ b/pkgs/applications/audio/paprefs/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, pkgconfig, libpulseaudio, gtkmm, libglademm +{ fetchurl, stdenv, pkgconfig, libpulseaudio, gtkmm2, libglademm , dbus_glib, GConf, gconfmm, intltool }: stdenv.mkDerivation rec { @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "1c5b3sb881szavly220q31g7rvpn94wr7ywlk00hqb9zaikml716"; }; - buildInputs = [ libpulseaudio gtkmm libglademm dbus_glib gconfmm ]; + buildInputs = [ libpulseaudio gtkmm2 libglademm dbus_glib gconfmm ]; nativeBuildInputs = [ pkgconfig intltool ]; diff --git a/pkgs/applications/audio/patchage/default.nix b/pkgs/applications/audio/patchage/default.nix index 1deb11d99258..91a270a698e6 100644 --- a/pkgs/applications/audio/patchage/default.nix +++ b/pkgs/applications/audio/patchage/default.nix @@ -1,5 +1,5 @@ -{ stdenv, alsaLib, boost, dbus_glib, fetchsvn, ganv, glibmm, gtk2 -, gtkmm, libjack2, pkgconfig, python2 +{ stdenv, alsaLib, boost, dbus_glib, fetchsvn, ganv, glibmm +, gtkmm2, libjack2, pkgconfig, python2 }: stdenv.mkDerivation rec { @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { }; buildInputs = [ - alsaLib boost dbus_glib ganv glibmm gtk2 gtkmm libjack2 + alsaLib boost dbus_glib ganv glibmm gtkmm2 libjack2 pkgconfig python2 ]; diff --git a/pkgs/applications/audio/petrifoo/default.nix b/pkgs/applications/audio/petrifoo/default.nix index c9d9ad57487a..d86e5aae2cd4 100644 --- a/pkgs/applications/audio/petrifoo/default.nix +++ b/pkgs/applications/audio/petrifoo/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, alsaLib, cmake, gtk, libjack2, libgnomecanvas +{ stdenv, fetchurl, alsaLib, cmake, gtk2, libjack2, libgnomecanvas , libpthreadstubs, libsamplerate, libsndfile, libtool, libxml2 , pkgconfig, openssl }: @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { }; buildInputs = - [ alsaLib cmake gtk libjack2 libgnomecanvas libpthreadstubs + [ alsaLib cmake gtk2 libjack2 libgnomecanvas libpthreadstubs libsamplerate libsndfile libtool libxml2 pkgconfig openssl ]; diff --git a/pkgs/applications/audio/picard/default.nix b/pkgs/applications/audio/picard/default.nix index 046789119ec6..bbd59f56f707 100644 --- a/pkgs/applications/audio/picard/default.nix +++ b/pkgs/applications/audio/picard/default.nix @@ -1,9 +1,8 @@ -{ stdenv, pythonPackages, fetchurl, gettext -, pkgconfig, libofa, ffmpeg, chromaprint -}: +{ stdenv, python2Packages, fetchurl, gettext, chromaprint }: let version = "1.3.2"; + pythonPackages = python2Packages; in pythonPackages.buildPythonApplication { name = "picard-${version}"; namePrefix = ""; @@ -13,12 +12,7 @@ in pythonPackages.buildPythonApplication { sha256 = "0821xb7gyg0rhch8s3qkzmak90wjpcxkv9a364yv6bmqc12j6a77"; }; - buildInputs = [ - pkgconfig - ffmpeg - libofa - gettext - ]; + buildInputs = [ gettext ]; propagatedBuildInputs = with pythonPackages; [ pyqt4 diff --git a/pkgs/applications/audio/ponymix/default.nix b/pkgs/applications/audio/ponymix/default.nix index cbc516fb288d..ced5262f5d25 100644 --- a/pkgs/applications/audio/ponymix/default.nix +++ b/pkgs/applications/audio/ponymix/default.nix @@ -1,11 +1,14 @@ -{ stdenv, fetchurl, libpulseaudio, libnotify, pkgconfig }: +{ stdenv, fetchFromGitHub, libpulseaudio, libnotify, pkgconfig }: stdenv.mkDerivation rec { name = "ponymix-${version}"; version = "5"; - src = fetchurl { - url = "http://code.falconindy.com/archive/ponymix/${name}.tar.xz"; - sha256 = "0qn2kms9h9b7da2xzkdgzrykhhdywr4psxnz03j8rg7wa9nwfw0x"; + + src = fetchFromGitHub { + owner = "falconindy"; + repo = "ponymix"; + rev = version; + sha256 = "08yp7fprmzm6px5yx2rvzri0l60bra5h59l26pn0k071a37ks1rb"; }; buildInputs = [ libpulseaudio libnotify ]; @@ -13,9 +16,11 @@ stdenv.mkDerivation rec { postPatch = ''substituteInPlace Makefile --replace "\$(DESTDIR)/usr" "$out"''; - meta = { + meta = with stdenv.lib; { description = "CLI PulseAudio Volume Control"; homepage = "http://github.com/falconindy/ponymix"; - license = "mit"; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ ericsagnes ]; }; } diff --git a/pkgs/applications/audio/praat/default.nix b/pkgs/applications/audio/praat/default.nix index 883d49682cec..52f2a0ff924c 100644 --- a/pkgs/applications/audio/praat/default.nix +++ b/pkgs/applications/audio/praat/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, alsaLib, gtk, pkgconfig }: +{ stdenv, fetchurl, alsaLib, gtk2, pkgconfig }: stdenv.mkDerivation rec { name = "praat-${version}"; @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { cp praat $out/bin ''; - buildInputs = [ alsaLib gtk pkgconfig ]; + buildInputs = [ alsaLib gtk2 pkgconfig ]; meta = { description = "Doing phonetics by computer"; diff --git a/pkgs/applications/audio/puddletag/default.nix b/pkgs/applications/audio/puddletag/default.nix index 3bbed303aec4..c140e1a46e55 100644 --- a/pkgs/applications/audio/puddletag/default.nix +++ b/pkgs/applications/audio/puddletag/default.nix @@ -1,33 +1,29 @@ -{ stdenv, lib, fetchFromGitHub, pythonPackages, makeWrapper, chromaprint }: +{ stdenv, fetchFromGitHub, python2Packages, makeWrapper, chromaprint }: -with lib; -with pythonPackages; +let + pname = "puddletag"; -buildPythonApplication rec { - version = "1.1.1"; - name = "puddletag-${version}"; - namePrefix = ""; +in python2Packages.buildPythonApplication rec { + name = "${pname}-${version}"; + version = "1.2.0"; src = fetchFromGitHub { owner = "keithgg"; - repo = "puddletag"; - rev = "1.1.1"; - sha256 = "0zmhc01qg64fb825b3kj0mb0r0d9hms30nqvhdks0qnv7ahahqrx"; + repo = pname; + rev = "v${version}"; + sha256 = "1g6wa91awy17z5b704yi9kfynnvfm9lkrvpfvwccscr1h8s3qmiz"; }; - sourceRoot = "${name}-src/source"; + sourceRoot = "${pname}-v${version}-src/source"; - disabled = isPy3k; + disabled = python2Packages.isPy3k; # work to support python 3 has not begun - outputs = [ "out" ]; - - propagatedBuildInputs = [ - chromaprint + propagatedBuildInputs = [ chromaprint ] ++ (with python2Packages; [ configobj mutagen pyparsing pyqt4 - ]; + ]); doCheck = false; # there are no tests dontStrip = true; # we are not generating any binaries @@ -36,7 +32,7 @@ buildPythonApplication rec { siteDir=$(toPythonPath $out) mkdir -p $siteDir PYTHONPATH=$PYTHONPATH:$siteDir - ${python.interpreter} setup.py install --prefix $out + ${python2Packages.python.interpreter} setup.py install --prefix $out ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/audio/qjackctl/default.nix b/pkgs/applications/audio/qjackctl/default.nix index db73901d2aad..c84e5cdfb494 100644 --- a/pkgs/applications/audio/qjackctl/default.nix +++ b/pkgs/applications/audio/qjackctl/default.nix @@ -1,22 +1,22 @@ { stdenv, fetchurl, alsaLib, libjack2, dbus, qt5 }: stdenv.mkDerivation rec { - version = "0.4.2"; + version = "0.4.3"; name = "qjackctl-${version}"; # some dependencies such as killall have to be installed additionally src = fetchurl { url = "mirror://sourceforge/qjackctl/${name}.tar.gz"; - sha256 = "0pmgkqgkapbma42zqb5if4ngmj183rxl8bhjm7mhyhgq4bzll76g"; + sha256 = "01wyyynxy21kim0gplzvfij7275a1jz68hdx837d2j1w5x2w7zbb"; }; - buildInputs = [ + buildInputs = [ qt5.full qt5.qtx11extras - alsaLib + alsaLib libjack2 - dbus + dbus ]; configureFlags = "--enable-jack-version"; diff --git a/pkgs/applications/audio/qmidinet/default.nix b/pkgs/applications/audio/qmidinet/default.nix index 42c98cbb1101..f5f3119f73df 100644 --- a/pkgs/applications/audio/qmidinet/default.nix +++ b/pkgs/applications/audio/qmidinet/default.nix @@ -1,17 +1,17 @@ -{ stdenv, fetchurl, qt4, alsaLib, libjack2 }: +{ stdenv, fetchurl, qt5, alsaLib, libjack2 }: stdenv.mkDerivation rec { - version = "0.2.1"; + version = "0.4.1"; name = "qmidinet-${version}"; src = fetchurl { url = "mirror://sourceforge/qmidinet/${name}.tar.gz"; - sha256 = "1a1pj4w74wj1gcfv4a0vzcglmr5sw0xp0y56w8rk3ig4k11xi8sa"; + sha256 = "1hh06g19lfh6r673avfvy0l2mq999mxk2jnv396226swj97lv7yz"; }; hardeningDisable = [ "format" ]; - buildInputs = [ qt4 alsaLib libjack2 ]; + buildInputs = [ qt5.qtbase qt5.qttools alsaLib libjack2 ]; meta = with stdenv.lib; { description = "A MIDI network gateway application that sends and receives MIDI data (ALSA Sequencer and/or JACK MIDI) over the network"; diff --git a/pkgs/applications/audio/qmmp/default.nix b/pkgs/applications/audio/qmmp/default.nix index 7bb8a5916124..b28f66aaad70 100644 --- a/pkgs/applications/audio/qmmp/default.nix +++ b/pkgs/applications/audio/qmmp/default.nix @@ -29,11 +29,11 @@ # handle that. stdenv.mkDerivation rec { - name = "qmmp-1.1.2"; + name = "qmmp-1.1.5"; src = fetchurl { url = "http://qmmp.ylsoftware.com/files/${name}.tar.bz2"; - sha256 = "023gvgchk6ybkz3miy0z08j9n5awz5cjvav7fqjdmpix4sivhn5q"; + sha256 = "1gfx6nm9v6qrx58gxib6grfhb45mnib1n4wdsnjq16br6bs8h4lv"; }; buildInputs = diff --git a/pkgs/applications/audio/qtractor/default.nix b/pkgs/applications/audio/qtractor/default.nix index 418efa23b209..9e0abac5ce47 100644 --- a/pkgs/applications/audio/qtractor/default.nix +++ b/pkgs/applications/audio/qtractor/default.nix @@ -1,4 +1,4 @@ -{ alsaLib, autoconf, automake, dssi, fetchurl, gtk, libjack2 +{ alsaLib, autoconf, automake, dssi, fetchurl, gtk2, libjack2 , ladspaH, ladspaPlugins, liblo, libmad, libsamplerate, libsndfile , libtool, libvorbis, lilv, lv2, pkgconfig, qt4, rubberband, serd , sord, sratom, stdenv, suil }: @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { }; buildInputs = - [ alsaLib autoconf automake dssi gtk libjack2 ladspaH + [ alsaLib autoconf automake dssi gtk2 libjack2 ladspaH ladspaPlugins liblo libmad libsamplerate libsndfile libtool libvorbis lilv lv2 pkgconfig qt4 rubberband serd sord sratom suil diff --git a/pkgs/applications/audio/quodlibet/default.nix b/pkgs/applications/audio/quodlibet/default.nix index a046fe80e13d..dd3a0b4a1c6d 100644 --- a/pkgs/applications/audio/quodlibet/default.nix +++ b/pkgs/applications/audio/quodlibet/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pythonPackages, intltool +{ stdenv, fetchurl, python2Packages, intltool , gst_python, withGstPlugins ? false, gst_plugins_base ? null , gst_plugins_good ? null, gst_plugins_ugly ? null, gst_plugins_bad ? null }: @@ -9,7 +9,7 @@ assert withGstPlugins -> gst_plugins_base != null let version = "2.6.3"; - inherit (pythonPackages) buildPythonApplication python mutagen pygtk pygobject dbus-python; + inherit (python2Packages) buildPythonApplication python mutagen pygtk pygobject2 dbus-python; in buildPythonApplication { # call the package quodlibet and just quodlibet name = "quodlibet${stdenv.lib.optionalString withGstPlugins "-with-gst-plugins"}-${version}"; @@ -48,7 +48,7 @@ in buildPythonApplication { ]; propagatedBuildInputs = [ - mutagen pygtk pygobject dbus-python gst_python intltool + mutagen pygtk pygobject2 dbus-python gst_python intltool ]; postInstall = stdenv.lib.optionalString withGstPlugins '' diff --git a/pkgs/applications/audio/samplv1/default.nix b/pkgs/applications/audio/samplv1/default.nix index fa9df2f603e1..aeb8396e0a6d 100644 --- a/pkgs/applications/audio/samplv1/default.nix +++ b/pkgs/applications/audio/samplv1/default.nix @@ -1,15 +1,15 @@ -{ stdenv, fetchurl, libjack2, libsndfile, lv2, qt4 }: +{ stdenv, fetchurl, libjack2, alsaLib, liblo, libsndfile, lv2, qt5 }: stdenv.mkDerivation rec { name = "samplv1-${version}"; - version = "0.7.1"; + version = "0.7.6"; src = fetchurl { url = "mirror://sourceforge/samplv1/${name}.tar.gz"; - sha256 = "0494w1xhhadwzvdr0v4gg5pzr2w2ah2vk896znj59j1y9gn3gilq"; + sha256 = "071j7mi2cwhx0ml5hq8izmjb0s4yhbkscqaxfdg56xfpfsqsa63l"; }; - buildInputs = [ libjack2 libsndfile lv2 qt4 ]; + buildInputs = [ libjack2 alsaLib liblo libsndfile lv2 qt5.qtbase qt5.qttools]; meta = with stdenv.lib; { description = "An old-school all-digital polyphonic sampler synthesizer with stereo fx"; diff --git a/pkgs/applications/audio/seq24/default.nix b/pkgs/applications/audio/seq24/default.nix index d1de6f1abd49..eafa0980b4b2 100644 --- a/pkgs/applications/audio/seq24/default.nix +++ b/pkgs/applications/audio/seq24/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, alsaLib, gtkmm, libjack2, pkgconfig }: +{ stdenv, fetchurl, alsaLib, gtkmm2, libjack2, pkgconfig }: stdenv.mkDerivation rec { name = "seq24-${version}"; @@ -9,7 +9,9 @@ stdenv.mkDerivation rec { sha256 = "1qpyb7355s21sgy6gibkybxpzx4ikha57a8w644lca6qy9mhcwi3"; }; - buildInputs = [ alsaLib gtkmm libjack2 ]; + patches = [ ./mutex_no_nameclash.patch ]; + + buildInputs = [ alsaLib gtkmm2 libjack2 ]; nativeBuildInputs = [ pkgconfig ]; meta = with stdenv.lib; { diff --git a/pkgs/applications/audio/seq24/mutex_no_nameclash.patch b/pkgs/applications/audio/seq24/mutex_no_nameclash.patch new file mode 100644 index 000000000000..dd82b1b0e09f --- /dev/null +++ b/pkgs/applications/audio/seq24/mutex_no_nameclash.patch @@ -0,0 +1,58 @@ +--- a/src/mutex.cpp ++++ b/src/mutex.cpp +@@ -20,23 +20,23 @@ + + #include "mutex.h" + +-const pthread_mutex_t mutex::recmutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP; ++const pthread_mutex_t mutex_no_nameclash::recmutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP; + const pthread_cond_t condition_var::cond = PTHREAD_COND_INITIALIZER; + +-mutex::mutex( ) ++mutex_no_nameclash::mutex_no_nameclash( ) + { + m_mutex_lock = recmutex; + } + + void +-mutex::lock( ) ++mutex_no_nameclash::lock( ) + { + pthread_mutex_lock( &m_mutex_lock ); + } + + + void +-mutex::unlock( ) ++mutex_no_nameclash::unlock( ) + { + pthread_mutex_unlock( &m_mutex_lock ); + } +--- a/src/mutex.h ++++ b/src/mutex.h +@@ -24,7 +24,7 @@ + + #include + +-class mutex { ++class mutex_no_nameclash { + + private: + +@@ -37,14 +37,14 @@ + + public: + +- mutex(); ++ mutex_no_nameclash(); + + void lock(); + void unlock(); + + }; + +-class condition_var : public mutex { ++class condition_var : public mutex_no_nameclash { + + private: + diff --git a/pkgs/applications/audio/sisco.lv2/default.nix b/pkgs/applications/audio/sisco.lv2/default.nix new file mode 100644 index 000000000000..d429d5452345 --- /dev/null +++ b/pkgs/applications/audio/sisco.lv2/default.nix @@ -0,0 +1,43 @@ +{ stdenv, fetchFromGitHub, lv2, pkgconfig, mesa, cairo, pango, libjack2 }: + +let + name = "sisco.lv2-${version}"; + version = "0.7.0"; + + robtkVersion = "80a2585253a861c81f0bfb7e4579c75f5c73af89"; + robtkName = "robtk-${robtkVersion}"; + + src = fetchFromGitHub { + owner = "x42"; + repo = "sisco.lv2"; + rev = "v${version}"; + sha256 = "1r6g29yqbdqgkh01x6d3nvmvc58rk2dp94fd0qyyizq37a1qplj1"; + }; + + robtkSrc = fetchFromGitHub { + owner = "x42"; + repo = "robtk"; + rev = robtkVersion; + sha256 = "0gk16nrvnrffqqw0yd015kja9wkgbzvb648bl1pagriabhznhfxl"; + }; +in +stdenv.mkDerivation rec { + inherit name; + + srcs = [ src robtkSrc ]; + sourceRoot = "sisco.lv2-${src.rev}-src"; + + buildInputs = [ pkgconfig lv2 pango cairo libjack2 mesa ]; + + postUnpack = "chmod u+w -R ${robtkName}-src; mv ${robtkName}-src/* ${sourceRoot}/robtk"; + sisco_VERSION = version; + preConfigure = "makeFlagsArray=(PREFIX=$out)"; + + meta = with stdenv.lib; { + description = "Simple audio oscilloscope with variable time scale, triggering, cursors and numeric readout in LV2 plugin format"; + homepage = http://x42.github.io/sisco.lv2/; + license = licenses.gpl2; + maintainers = [ maintainers.e-user ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/audio/snd/default.nix b/pkgs/applications/audio/snd/default.nix index 8abf7cea6eb0..da76d7f16db1 100644 --- a/pkgs/applications/audio/snd/default.nix +++ b/pkgs/applications/audio/snd/default.nix @@ -4,11 +4,11 @@ }: stdenv.mkDerivation rec { - name = "snd-15.9"; + name = "snd-16.9"; src = fetchurl { url = "mirror://sourceforge/snd/${name}.tar.gz"; - sha256 = "0hs9ailgaphgyi3smnrpwksvdww85aa7szqgi6l6d2jwfx9g4bhd"; + sha256 = "1rw9wrj1f0g413ya32s9mwhvv3c6iasjza22irzf6xlv49b9s5dp"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/audio/soundscape-renderer/default.nix b/pkgs/applications/audio/soundscape-renderer/default.nix new file mode 100644 index 000000000000..c6609814ea0b --- /dev/null +++ b/pkgs/applications/audio/soundscape-renderer/default.nix @@ -0,0 +1,51 @@ +{ stdenv +, fetchgit +, autoreconfHook +, help2man +, pkgconfig +, libsndfile +, fftwFloat +, libjack2 +, libxml2 +, qt4 +, boost +, ecasound +, glibcLocales +, mesa # Needed because help2man basically does a ./ssr-binaural --help and ssr-binaural needs libGL +}: + +stdenv.mkDerivation rec { + name = "soundscape-renderer-unstable-${version}"; + + version = "2016-11-03"; + + src = fetchgit { + url = https://github.com/SoundScapeRenderer/ssr; + rev = "0dd0136dd24e47b63d8a4e05de467f5c7b047ec9"; + sha256 = "095x2spv9bmg6pi71mpajnghbqj58ziflg16f9854awx0qp9d8x7"; + }; + + # Without it doesn't find all of the boost libraries. + BOOST_LIB_DIR="${boost}/lib"; + + LC_ALL = "en_US.UTF-8"; + + buildInputs = [ autoreconfHook boost boost.dev ecasound mesa help2man pkgconfig libsndfile fftwFloat libjack2 libxml2 qt4 glibcLocales ]; + + # 1) Fix detecting version. https://github.com/SoundScapeRenderer/ssr/pull/53 + # 2) Make it find ecasound headers + # 3) Fix locale for help2man + prePatch = '' + substituteInPlace configure.ac --replace 'git describe ||' 'git describe 2> /dev/null ||'; + substituteInPlace configure.ac --replace '/{usr,opt}/{,local/}' '${ecasound}/' + substituteInPlace man/Makefile.am --replace '--locale=en' '--locale=en_US.UTF-8' + ''; + + meta = { + homepage = http://spatialaudio.net/ssr/; + description = "The SoundScape Renderer (SSR) is a tool for real-time spatial audio reproduction"; + license = stdenv.lib.licenses.gpl3; + maintainer = stdenv.lib.maintainers.fridh; + }; + +} diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix index 0cd5c1997518..1f8924cd03ee 100644 --- a/pkgs/applications/audio/spotify/default.nix +++ b/pkgs/applications/audio/spotify/default.nix @@ -1,11 +1,12 @@ { fetchurl, stdenv, dpkg, xorg, alsaLib, makeWrapper, openssl, freetype -, glib, pango, cairo, atk, gdk_pixbuf, gtk, cups, nspr, nss, libpng, GConf -, libgcrypt, libudev, fontconfig, dbus, expat, ffmpeg_0_10, curl, zlib, gnome }: +, glib, pango, cairo, atk, gdk_pixbuf, gtk2, cups, nspr, nss, libpng, GConf +, libgcrypt, systemd, fontconfig, dbus, expat, ffmpeg_0_10, curl, zlib, gnome2 }: assert stdenv.system == "x86_64-linux"; let - version = "1.0.36.120.g536a862f-20"; + # Please update the stable branch! + version = "1.0.45.186.g3b5036d6-95"; deps = [ alsaLib @@ -21,13 +22,13 @@ let GConf gdk_pixbuf glib - gtk + gtk2 libgcrypt libpng nss pango stdenv.cc.cc - libudev + systemd xorg.libX11 xorg.libXcomposite xorg.libXcursor @@ -50,20 +51,27 @@ stdenv.mkDerivation { src = fetchurl { url = "http://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}_amd64.deb"; - sha256 = "03r4hz4x4f3zmp6dsv1n72y5q01d7mfqvaaxqvd587a5561gahf0"; + sha256 = "0fpvz1mzyva1sypg4gjmrv0clckb0c3xwjfcxnb8gvkxx9vm56p1"; }; buildInputs = [ dpkg makeWrapper ]; - unpackPhase = "true"; + unpackPhase = '' + runHook preUnpack + dpkg-deb -x $src . + runHook postUnpack + ''; + + configurePhase = "runHook preConfigure; runHook postConfigure"; + buildPhase = "runHook preBuild; runHook postBuild"; installPhase = '' + runHook preInstall + libdir=$out/lib/spotify mkdir -p $libdir - dpkg-deb -x $src $out - mv $out/usr/* $out/ - rm -rf $out/usr + mv ./usr/* $out/ # Work around Spotify referring to a specific minor version of # OpenSSL. @@ -82,7 +90,7 @@ stdenv.mkDerivation { librarypath="${stdenv.lib.makeLibraryPath deps}:$libdir" wrapProgram $out/share/spotify/spotify \ --prefix LD_LIBRARY_PATH : "$librarypath" \ - --prefix PATH : "${gnome.zenity}/bin" + --prefix PATH : "${gnome2.zenity}/bin" # Desktop file mkdir -p "$out/share/applications/" @@ -95,6 +103,8 @@ stdenv.mkDerivation { ln -s "$out/share/spotify/icons/spotify-linux-$i.png" \ "$out/share/icons/hicolor/$ixi/apps/spotify-client.png" done + + runHook postInstall ''; dontStrip = true; diff --git a/pkgs/applications/audio/squishyball/default.nix b/pkgs/applications/audio/squishyball/default.nix new file mode 100644 index 000000000000..2022183f4a08 --- /dev/null +++ b/pkgs/applications/audio/squishyball/default.nix @@ -0,0 +1,48 @@ +{ stdenv, autoreconfHook, fetchsvn, flac, libao, libvorbis, ncurses +, opusfile, pkgconfig +}: + +stdenv.mkDerivation rec { + name = "squishyball-${rev}"; + rev = "19580"; + + src = fetchsvn { + url = "https://svn.xiph.org/trunk/squishyball"; + rev = rev; + sha256 = "013vq52q9z6kpg9iyc2jnb3m2gihcjblvwpg4yj4wy1q2c05pzqp"; + }; + + nativeBuildInputs = [ autoreconfHook pkgconfig ]; + + buildInputs = [ flac libao libvorbis ncurses opusfile ]; + + patches = [ ./gnu-screen.patch ]; + + postInstall = '' + # Why doesn’t this happen automagically? + mkdir -p $out/share/man/man1 + cp squishyball.1 $out/share/man/man1 + ''; + + meta = with stdenv.lib; { + description = "A tool to perform sample comparison testing on the command line"; + longDescription = '' + squishyball is a simple command-line utility for performing + double-blind A/B, A/B/X or X/X/Y testing on the command line. + The user specifies two input files to be compared and uses the + keyboard during playback to flip between the randomized samples + to perform on-the-fly compar‐ isons. After a predetermined + number of trials, squishyball prints the trial results to + stdout and exits. Results (stdout) may be redirected to a file + without affecting interactive use of the terminal. + + squishyball can also be used to perform casual, non-randomized + comparisons of groups of up to ten samples; this is the default + mode of operation. + ''; + homepage = https://svn.xiph.org/trunk/squishyball; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ michalrus ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/audio/squishyball/gnu-screen.patch b/pkgs/applications/audio/squishyball/gnu-screen.patch new file mode 100644 index 000000000000..addc30d604c6 --- /dev/null +++ b/pkgs/applications/audio/squishyball/gnu-screen.patch @@ -0,0 +1,20 @@ +diff -Naur a/main.c b/main.c +--- a/main.c 2016-09-06 13:37:32.259895631 +0200 ++++ b/main.c 2016-09-07 01:41:51.014309863 +0200 +@@ -693,6 +693,11 @@ + } + + /* set up terminal */ ++ if (!strncmp(getenv("TERM"), "screen", 6)) { ++ char term[256]; ++ snprintf(term, sizeof(term), "xterm%s", getenv("TERM") + 6); ++ setenv("TERM", term, 1); ++ } + atexit(min_panel_remove); + panel_init(pcm, test_files, test_mode, start, end>0 ? end : len, len, + beep_mode, restart_mode, tests, running_score); +@@ -1170,4 +1175,3 @@ + fprintf(stderr,"Done.\n"); + return 0; + } +- diff --git a/pkgs/applications/audio/ssrc/default.nix b/pkgs/applications/audio/ssrc/default.nix new file mode 100644 index 000000000000..fa2b54d0e8a1 --- /dev/null +++ b/pkgs/applications/audio/ssrc/default.nix @@ -0,0 +1,42 @@ +{ stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "ssrc"; + name = "${pname}-${version}"; + version = "1.33"; + + src = fetchFromGitHub { + owner = "shibatch"; + repo = "SSRC"; + rev = "4adf75116dfc0ef709fef74a0e2f3360bd15007f"; + sha256 = "0hgma66v7sszkpz5jkyscj0q6lmjfqdwf1hw57535c012pa2vdrh"; + }; + + installPhase = '' + mkdir -p $out/bin + cp ssrc ssrc_hp $out/bin + ''; + + meta = with stdenv.lib; { + description = "A high quality audio sampling rate converter"; + longDescription = '' + This program converts sampling rates of PCM wav files. This + program also has a function to apply dither to its output and + extend perceived dynamic range. + + Sampling rates of 44.1kHz and 48kHz are popularly used, but the + ratio between these two frequencies is 147:160, which are not + small numbers. As a result, sampling rate conversion without + degradation of sound quality requires filter with very large + order, and it is difficult to have both quality and speed. This + program quickly converts between these sampling frequencies + without audible degradation. + ''; + + version = "${version}"; + homepage = "http://shibatch.sourceforge.net/"; + license = licenses.gpl2; + maintainers = with maintainers; [ leenaars]; + platforms = with platforms; [ linux ] ; + }; +} diff --git a/pkgs/applications/audio/svox/default.nix b/pkgs/applications/audio/svox/default.nix index 90e7d41a97b9..d7072e961635 100644 --- a/pkgs/applications/audio/svox/default.nix +++ b/pkgs/applications/audio/svox/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { name = "svox-${version}"; - version = "2016-01-25"; + version = "2016-10-20"; src = fetchgit { url = "https://android.googlesource.com/platform/external/svox"; - rev = "dfb9937746b1828d093faf3b1494f9dc403f392d"; - sha256 = "1gkfj5avikzmr2vv8bhf83n15jcbz4phz5j13l0qnh3gjzh4f1bk"; + rev = "2dd8f16e4436520b93e93aa72b92acad92c0127d"; + sha256 = "064h3zb9bn1z6xbv15iy6l4rlxx8fqzy54s898qvafjhz6kawj9g"; }; postPatch = '' diff --git a/pkgs/applications/audio/swh-lv2/default.nix b/pkgs/applications/audio/swh-lv2/default.nix index ab1ba242cfd4..faa895e2e309 100644 --- a/pkgs/applications/audio/swh-lv2/default.nix +++ b/pkgs/applications/audio/swh-lv2/default.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchgit, fftwSinglePrec, libxslt, lv2, pkgconfig }: +{ stdenv, fetchurl, fftwSinglePrec, libxslt, lv2, pkgconfig }: stdenv.mkDerivation rec { - name = "swh-lv2-git-2013-05-17"; + name = "swh-lv2-v${version}"; + version = "1.0.16"; - src = fetchgit { - url = "https://github.com/swh/lv2.git"; - rev = "978d5d8f549fd22048157a6d044af0faeaacbd7f"; - sha256 = "10jj8sp67caxvmzjxwyzapc34jpry5nrkkp49kyyvyk5dgkpbsjw"; + src = fetchurl { + url = "https://github.com/swh/lv2/archive/v${version}.tar.gz"; + sha256 = "0j1mih0lp4fds07knp5i32in515sh0df1qi6694pmyz2wqnm295w"; }; patchPhase = '' diff --git a/pkgs/applications/audio/synthv1/default.nix b/pkgs/applications/audio/synthv1/default.nix index 43003782f2fe..4050675e51fc 100644 --- a/pkgs/applications/audio/synthv1/default.nix +++ b/pkgs/applications/audio/synthv1/default.nix @@ -1,15 +1,15 @@ -{ stdenv, fetchurl, qt4, libjack2, lv2 }: +{ stdenv, fetchurl, qt5, libjack2, alsaLib, liblo, lv2 }: stdenv.mkDerivation rec { name = "synthv1-${version}"; - version = "0.7.1"; + version = "0.7.6"; src = fetchurl { url = "mirror://sourceforge/synthv1/${name}.tar.gz"; - sha256 = "0asjhz0xj1kwysvsj9q54r8j8fy7cnr408ygfpdhg7yn24rv67hh"; + sha256 = "03vnmmiyq92p2gh4zax1vg2lx6y57bsxch936pzbiwx649x53wi9"; }; - buildInputs = [ qt4 libjack2 lv2 ]; + buildInputs = [ qt5.qtbase qt5.qttools libjack2 alsaLib liblo lv2 ]; meta = with stdenv.lib; { description = "An old-school 4-oscillator subtractive polyphonic synthesizer with stereo fx"; diff --git a/pkgs/applications/audio/transcribe/default.nix b/pkgs/applications/audio/transcribe/default.nix new file mode 100644 index 000000000000..55e4b8e00b65 --- /dev/null +++ b/pkgs/applications/audio/transcribe/default.nix @@ -0,0 +1,69 @@ +{ stdenv, fetchzip, lib, makeWrapper, alsaLib, atk, cairo, gdk_pixbuf +, glib, gst_ffmpeg, gst_plugins_bad, gst_plugins_base +, gst_plugins_good, gst_plugins_ugly, gstreamer, gtk2, libSM, libX11 +, libpng12, pango, zlib }: + +stdenv.mkDerivation rec { + name = "transcribe-${version}"; + version = "8.40"; + + src = if stdenv.system == "i686-linux" then + fetchzip { + url = "https://www.seventhstring.com/xscribe/downlinux32_old/xscsetup.tar.gz"; + sha256 = "1ngidmj9zz8bmv754s5xfsjv7v6xr03vck4kigzq4bpc9b1fdhjq"; + } + else if stdenv.system == "x86_64-linux" then + fetchzip { + url = "https://www.seventhstring.com/xscribe/downlinux64_old/xsc64setup.tar.gz"; + sha256 = "0svzi8svj6zn06gj0hr8mpnhq4416dvb4g5al0gpb1g3paywdaf9"; + } + else throw "Platform not supported"; + + nativeBuildInputs = [ makeWrapper ]; + + buildInputs = [ gst_plugins_base gst_plugins_good + gst_plugins_bad gst_plugins_ugly gst_ffmpeg ]; + + dontPatchELF = true; + + libPath = lib.makeLibraryPath [ + stdenv.cc.cc glib gtk2 atk pango cairo gdk_pixbuf alsaLib + libX11 libSM libpng12 gstreamer gst_plugins_base zlib + ]; + + installPhase = '' + mkdir -p $out/bin $out/libexec $out/share/doc + cp transcribe $out/libexec + cp xschelp.htb readme_gtk.html $out/share/doc + cp -r gtkicons $out/share/icons + + ln -s $out/share/doc/xschelp.htb $out/libexec + + patchelf \ + --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) \ + $out/libexec/transcribe + + wrapProgram $out/libexec/transcribe \ + --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH" \ + --prefix LD_LIBRARY_PATH : "${libPath}" + + ln -s $out/libexec/transcribe $out/bin/ + ''; + + meta = with stdenv.lib; { + description = "Software to help transcribe recorded music"; + longDescription = '' + The Transcribe! application is an assistant for people who want + to work out a piece of music from a recording, in order to write + it out, or play it themselves, or both. It doesn't do the + transcribing for you, but it is essentially a specialised player + program which is optimised for the purpose of transcription. It + has many transcription-specific features not found on + conventional music players. + ''; + homepage = https://www.seventhstring.com/xscribe/; + license = licenses.unfree; + platforms = platforms.linux; + maintainers = with maintainers; [ michalrus ]; + }; +} diff --git a/pkgs/applications/audio/uade123/default.nix b/pkgs/applications/audio/uade123/default.nix new file mode 100644 index 000000000000..0a07e97270c4 --- /dev/null +++ b/pkgs/applications/audio/uade123/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl, which, libao, pkgconfig }: + +let + version = "2.13"; +in stdenv.mkDerivation rec { + name = "uade123-${version}"; + src = fetchurl { + url = "http://zakalwe.fi/uade/uade2/uade-${version}.tar.bz2"; + sha256 = "04nn5li7xy4g5ysyjjngmv5d3ibxppkbb86m10vrvadzxdd4w69v"; + }; + buildInputs = [ which libao pkgconfig ]; + + meta = with stdenv.lib; { + description = "Plays old Amiga tunes through UAE emulation and cloned m68k-assembler Eagleplayer API"; + homepage = http://zakalwe.fi/uade/; + license = licenses.gpl2; + maintainers = [ stdenv.lib.maintainers.gnidorah ]; + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/pkgs/applications/audio/x42-plugins/default.nix b/pkgs/applications/audio/x42-plugins/default.nix index 9ca78ee1a3f4..64ffeced13de 100644 --- a/pkgs/applications/audio/x42-plugins/default.nix +++ b/pkgs/applications/audio/x42-plugins/default.nix @@ -1,19 +1,24 @@ -{ stdenv, fetchurl, fetchgit, ftgl, freefont_ttf, libjack2, mesa_glu, pkgconfig -, libltc, libsndfile, libsamplerate, xz -, lv2, mesa, gtk2, cairo, pango, fftwFloat, zita-convolver }: +{ stdenv, fetchurl, pkgconfig +, libltc, libsndfile, libsamplerate, ftgl, freefont_ttf, libjack2 +, mesa_glu, lv2, mesa, gtk2, cairo, pango, fftwFloat, zita-convolver }: stdenv.mkDerivation rec { - version = "20160619"; + version = "20160825"; name = "x42-plugins-${version}"; src = fetchurl { url = "http://gareus.org/misc/x42-plugins/${name}.tar.xz"; - sha256 = "1ald0c5xbfkdq6g5xwyy8wmbi636m3k3gqrq16kbh46g0kld1as9"; + sha256 = "13ln5ccmrrc07ykfp040389av60dlgqz1kh6vfjkga6sq7z51msr"; }; - buildInputs = [ xz mesa_glu ftgl freefont_ttf libjack2 libltc libsndfile libsamplerate lv2 mesa gtk2 cairo pango fftwFloat pkgconfig zita-convolver]; + buildInputs = [ mesa_glu ftgl freefont_ttf libjack2 libltc libsndfile libsamplerate lv2 mesa gtk2 cairo pango fftwFloat pkgconfig zita-convolver]; - makeFlags = [ "PREFIX=$(out)" "FONTFILE=${freefont_ttf}/share/fonts/truetype/FreeSansBold.ttf" "LIBZITACONVOLVER=${zita-convolver}/include/zita-convolver.h" ]; + makeFlags = [ "PREFIX=$(out)" "FONTFILE=${freefont_ttf}/share/fonts/truetype/FreeSansBold.ttf" ]; + + patchPhase = '' + patchShebangs ./stepseq.lv2/gridgen.sh + sed -i 's|/usr/include/zita-convolver.h|${zita-convolver}/include/zita-convolver.h|g' ./convoLV2/Makefile + ''; meta = with stdenv.lib; { description = "Collection of LV2 plugins by Robin Gareus"; diff --git a/pkgs/applications/audio/xsynth-dssi/default.nix b/pkgs/applications/audio/xsynth-dssi/default.nix index 96da8ad8c557..a55b47a6c16b 100644 --- a/pkgs/applications/audio/xsynth-dssi/default.nix +++ b/pkgs/applications/audio/xsynth-dssi/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, alsaLib, autoconf, automake, dssi, gtk, libjack2, +{ stdenv, fetchurl, alsaLib, autoconf, automake, dssi, gtk2, libjack2, ladspaH, ladspaPlugins, liblo, pkgconfig }: stdenv.mkDerivation rec { @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { sha256 = "00nwv2pqjbmxqdc6xdm0cljq6z05lv4y6bibmhz1kih9lm0lklnk"; }; - buildInputs = [ alsaLib autoconf automake dssi gtk libjack2 ladspaH + buildInputs = [ alsaLib autoconf automake dssi gtk2 libjack2 ladspaH ladspaPlugins liblo pkgconfig ]; installPhase = '' diff --git a/pkgs/applications/audio/yoshimi/default.nix b/pkgs/applications/audio/yoshimi/default.nix index 0ec399407758..0f6bd45df276 100644 --- a/pkgs/applications/audio/yoshimi/default.nix +++ b/pkgs/applications/audio/yoshimi/default.nix @@ -6,11 +6,11 @@ assert stdenv ? glibc; stdenv.mkDerivation rec { name = "yoshimi-${version}"; - version = "1.3.8.2"; + version = "1.4.1"; src = fetchurl { url = "mirror://sourceforge/yoshimi/${name}.tar.bz2"; - sha256 = "0wl4ln6v1nkkx56kfah23chyrhga2vi93i82g0s200c4s4184xr8"; + sha256 = "133sx42wb66g803pcrgdwph40wh94knvab3yfqkgm0001jv4v14y"; }; buildInputs = [ diff --git a/pkgs/applications/backup/crashplan/default.nix b/pkgs/applications/backup/crashplan/default.nix index b6c658636bb2..1a125de0a872 100644 --- a/pkgs/applications/backup/crashplan/default.nix +++ b/pkgs/applications/backup/crashplan/default.nix @@ -1,15 +1,15 @@ { stdenv, fetchurl, makeWrapper, jre, cpio, gawk, gnugrep, gnused, procps, swt, gtk2, glib, libXtst }: let - version = "4.7.0"; - rev = "2"; #tracks unversioned changes that occur on download.code42.com from time to time + version = "4.8.0"; + rev = "1"; #tracks unversioned changes that occur on download.code42.com from time to time in stdenv.mkDerivation rec { name = "crashplan-${version}-r${rev}"; crashPlanArchive = fetchurl { url = "https://download.code42.com/installs/linux/install/CrashPlan/CrashPlan_${version}_Linux.tgz"; - sha256 = "1vi6dqf8kc90axrgdcf6rwnhynxgxkc0qn6pbdp2gvkxdqxrprn8"; + sha256 = "117k9yx10n4lc0hkx0j48f19km0jrdgfq6xmbmhv3v73zbx21axs"; }; srcs = [ crashPlanArchive ]; @@ -18,7 +18,7 @@ in stdenv.mkDerivation rec { description = "An online/offline backup solution"; homepage = "http://www.crashplan.org"; license = licenses.unfree; - maintainers = with maintainers; [ sztupi domenkozar ]; + maintainers = with maintainers; [ sztupi domenkozar jerith666 ]; }; buildInputs = [ makeWrapper cpio ]; @@ -43,7 +43,6 @@ in stdenv.mkDerivation rec { install -d -m 755 unpacked $out - install -D -m 644 EULA.txt $out/EULA.txt install -D -m 644 run.conf $out/bin/run.conf install -D -m 755 scripts/CrashPlanDesktop $out/bin/CrashPlanDesktop install -D -m 755 scripts/CrashPlanEngine $out/bin/CrashPlanEngine diff --git a/pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix b/pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix index ea80957afb02..235d4d16a405 100644 --- a/pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix +++ b/pkgs/applications/display-managers/lightdm-gtk-greeter/default.nix @@ -18,6 +18,14 @@ stdenv.mkDerivation rec { sha256 = "031iv7zrpv27zsvahvfyrm75zdrh7591db56q89k8cjiiy600r1j"; }; + patches = [ + (fetchurl { + name = "lightdm-gtk-greeter-2.0.1-lightdm-1.19.patch"; + url = "https://588764.bugs.gentoo.org/attachment.cgi?id=442616"; + sha256 = "0r383kjkvq9yanjc1lk878xc5g8993pjgxylqhhjb5rkpi1mbfsv"; + }) + ]; + buildInputs = [ pkgconfig lightdm intltool makeWrapper ] ++ (if useGTK2 then [ gtk2 ] else [ gtk3 ]); diff --git a/pkgs/applications/display-managers/lightdm/default.nix b/pkgs/applications/display-managers/lightdm/default.nix index c33d06e7822a..291439db5beb 100644 --- a/pkgs/applications/display-managers/lightdm/default.nix +++ b/pkgs/applications/display-managers/lightdm/default.nix @@ -5,15 +5,15 @@ }: let - ver_branch = "1.18"; - version = "1.18.1"; + ver_branch = "1.19"; + version = "1.19.5"; in stdenv.mkDerivation rec { name = "lightdm-${version}"; src = fetchurl { url = "${meta.homepage}/${ver_branch}/${version}/+download/${name}.tar.xz"; - sha256 = "1yl9zhn9l83bj5mbifkxfw15nqgsjzzhqcrgb81fr290wijqaj45"; + sha256 = "0gbz8jk1ljh8rwgvldkiqma1k61sd27yh008228ahdqd5i2v1r1z"; }; patches = [ ./fix-paths.patch ]; 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 deleted file mode 100644 index ad5dcbc472db..000000000000 --- a/pkgs/applications/display-managers/sddm/0002-fix-ConfigReader-QStringList-corruption.patch +++ /dev/null @@ -1,26 +0,0 @@ -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 923b185ae393..9fd56a49b5f5 100644 --- a/pkgs/applications/display-managers/sddm/default.nix +++ b/pkgs/applications/display-managers/sddm/default.nix @@ -1,11 +1,11 @@ { stdenv, makeQtWrapper, fetchFromGitHub, fetchpatch -, cmake, pkgconfig, libxcb, libpthreadstubs, lndir +, cmake, extra-cmake-modules, pkgconfig, libxcb, libpthreadstubs, lndir , libXdmcp, libXau, qtbase, qtdeclarative, qttools, pam, systemd , themes }: let - version = "0.13.0"; + version = "0.14.0"; unwrapped = stdenv.mkDerivation rec { name = "sddm-unwrapped-${version}"; @@ -14,19 +14,18 @@ let owner = "sddm"; repo = "sddm"; rev = "v${version}"; - sha256 = "0c3q8lpb123m9k5x3i71mm8lmyzhknw77zxh89yfl8qmn6zd61i1"; + sha256 = "0wwid23kw0725zpw67zchalg9mmharr7sn4yzhijq7wqpsczjfxj"; }; patches = [ ./0001-ignore-config-mtime.patch - ./0002-fix-ConfigReader-QStringList-corruption.patch - (fetchpatch { - url = https://github.com/benjarobin/sddm/commit/7d05362e3c7c5945ad85b0176771bc1c5a370598.patch; - sha256 = "17f174lsb8vm7k1vx00yiqcipyyr6hgg4rm1rclps7saapfah5sj"; + (fetchpatch { /* Fix display of user avatars. */ + url = https://github.com/sddm/sddm/commit/ecb903e48822bd90650bdd64fe80754e3e9664cb.patch; + sha256 = "0zm88944pwdad8grmv0xwnxl23xml85ryc71x2xac233jxdyx6ms"; }) ]; - nativeBuildInputs = [ cmake pkgconfig qttools ]; + nativeBuildInputs = [ cmake extra-cmake-modules pkgconfig qttools ]; buildInputs = [ libxcb libpthreadstubs libXdmcp libXau qtbase pam systemd @@ -58,7 +57,7 @@ let meta = with stdenv.lib; { description = "QML based X11 display manager"; - homepage = https://github.com/sddm/sddm; + homepage = "https://github.com/sddm/sddm"; platforms = platforms.linux; maintainers = with maintainers; [ abbradar ttuegel ]; }; diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix index eea686d691de..28b6b2b85ad4 100644 --- a/pkgs/applications/editors/android-studio/default.nix +++ b/pkgs/applications/editors/android-studio/default.nix @@ -3,25 +3,38 @@ , coreutils , fetchurl , findutils +, file , git +, glxinfo , gnugrep , gnutar , gzip -, jdk +, fontconfig +, freetype +, libpulseaudio +, libX11 +, libXext +, libXi , libXrandr +, libXrender +, libXtst , makeWrapper +, pciutils , pkgsi686Linux +, setxkbmap , stdenv , unzip , which , writeTextFile +, xkeyboard_config , zlib +, fontsConf }: let - version = "2.1.2.0"; - build = "143.2915827"; + version = "2.2.3.0"; + build = "145.3537739"; androidStudio = stdenv.mkDerivation { name = "android-studio"; @@ -31,36 +44,67 @@ let ]; installPhase = '' cp -r . $out - wrapProgram $out/bin/studio.sh --set PATH "${stdenv.lib.makeBinPath [ + wrapProgram $out/bin/studio.sh \ + --set PATH "${stdenv.lib.makeBinPath [ - # Checked in studio.sh - coreutils - findutils - gnugrep - jdk - which + # Checked in studio.sh + coreutils + findutils + gnugrep + which - # Used during setup wizard - gnutar - gzip + # For Android emulator + file + glxinfo + pciutils + setxkbmap - # Runtime stuff - git + # Used during setup wizard + gnutar + gzip - ]}" --set LD_LIBRARY_PATH "${stdenv.lib.makeLibraryPath [ - # Gradle wants libstdc++.so.6 - stdenv.cc.cc.lib - # mksdcard wants 32 bit libstdc++.so.6 - pkgsi686Linux.stdenv.cc.cc.lib - # aapt wants libz.so.1 - zlib - # Support multiple monitors - libXrandr - ]}" + # Runtime stuff + git + + ]}" \ + --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ + + # Crash at startup without these + fontconfig + freetype + libXext + libXi + libXrender + libXtst + + # Gradle wants libstdc++.so.6 + stdenv.cc.cc.lib + # mksdcard wants 32 bit libstdc++.so.6 + pkgsi686Linux.stdenv.cc.cc.lib + + # aapt wants libz.so.1 + zlib + pkgsi686Linux.zlib + # Support multiple monitors + libXrandr + + # For Android emulator + libpulseaudio + libX11 + + ]}" \ + --set QT_XKB_CONFIG_ROOT "${xkeyboard_config}/share/X11/xkb" \ + --set FONTCONFIG_FILE ${fontsConf} ''; src = fetchurl { url = "https://dl.google.com/dl/android/studio/ide-zips/${version}/android-studio-ide-${build}-linux.zip"; - sha256 = "0q61m8yln77valg7y6lyxlml53z387zh6fyfgc22sm3br5ahbams"; + sha256 = "10fmffkvvbnmgjxb4rq7rjwnn16jp5phw6div4n7hh2ad6spf8wq"; + }; + meta = { + description = "The Official IDE for Android"; + homepage = https://developer.android.com/studio/index.html; + license = stdenv.lib.licenses.asl20; + platforms = [ "x86_64-linux" ]; }; }; diff --git a/pkgs/applications/editors/atom/default.nix b/pkgs/applications/editors/atom/default.nix index e76d1028ebf3..51d2f26eb0d5 100644 --- a/pkgs/applications/editors/atom/default.nix +++ b/pkgs/applications/editors/atom/default.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchurl, lib, makeWrapper, gvfs, atomEnv }: +{ stdenv, fetchurl, lib, makeWrapper, gvfs, atomEnv, libXScrnSaver, libxkbfile }: stdenv.mkDerivation rec { name = "atom-${version}"; - version = "1.9.9"; + version = "1.12.9"; src = fetchurl { url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb"; - sha256 = "1rgqajqc1z1n8ckwkxg61j0k6ridps25am54qdwjm25w53bd0z1x"; + sha256 = "1yp4wwv0vxsad7jqkn2rj4n7k2ccgqscs89p3j6z8vpm6as0i6sg"; name = "${name}.deb"; }; @@ -21,7 +21,9 @@ stdenv.mkDerivation rec { rm -r $out/share/lintian rm -r $out/usr/ wrapProgram $out/bin/atom \ - --prefix "PATH" : "${gvfs}/bin" + --prefix "PATH" : "${gvfs}/bin" \ + --prefix LD_PRELOAD : ${stdenv.lib.makeLibraryPath [ libXScrnSaver ]}/libXss.so.1 \ + --prefix LD_PRELOAD : ${stdenv.lib.makeLibraryPath [ libxkbfile ]}/libxkbfile.so.1 fixupPhase diff --git a/pkgs/applications/editors/atom/env.nix b/pkgs/applications/editors/atom/env.nix index dbfc2ebb6b38..1285e46fb484 100644 --- a/pkgs/applications/editors/atom/env.nix +++ b/pkgs/applications/editors/atom/env.nix @@ -1,11 +1,11 @@ -{ stdenv, lib, zlib, glib, alsaLib, dbus, gtk, atk, pango, freetype, fontconfig +{ stdenv, lib, zlib, glib, alsaLib, dbus, gtk2, atk, pango, freetype, fontconfig , libgnome_keyring3, gdk_pixbuf, gvfs, cairo, cups, expat, libgpgerror, nspr , gconf, nss, xorg, libcap, systemd, libnotify }: let packages = [ - stdenv.cc.cc zlib glib dbus gtk atk pango freetype libgnome_keyring3 + stdenv.cc.cc zlib glib dbus gtk2 atk pango freetype libgnome_keyring3 fontconfig gdk_pixbuf cairo cups expat libgpgerror alsaLib nspr gconf nss xorg.libXrender xorg.libX11 xorg.libXext xorg.libXdamage xorg.libXtst xorg.libXcomposite xorg.libXi xorg.libXfixes xorg.libXrandr diff --git a/pkgs/applications/editors/brackets/default.nix b/pkgs/applications/editors/brackets/default.nix index 127ed981a6c8..e9f36b19195d 100644 --- a/pkgs/applications/editors/brackets/default.nix +++ b/pkgs/applications/editors/brackets/default.nix @@ -1,25 +1,25 @@ -{ stdenv, fetchurl, buildEnv, gtk, glib, gdk_pixbuf, alsaLib, nss, nspr, gconf -, cups, libgcrypt_1_5, libudev, makeWrapper, dbus }: +{ stdenv, fetchurl, buildEnv, gtk2, glib, gdk_pixbuf, alsaLib, nss, nspr, gconf +, cups, libgcrypt_1_5, systemd, makeWrapper, dbus }: let bracketsEnv = buildEnv { name = "env-brackets"; paths = [ - gtk glib gdk_pixbuf stdenv.cc.cc alsaLib nss nspr gconf cups libgcrypt_1_5 - dbus libudev.out + gtk2 glib gdk_pixbuf stdenv.cc.cc.lib alsaLib nss nspr gconf cups libgcrypt_1_5 + dbus.lib systemd.lib ]; }; in stdenv.mkDerivation rec { name = "brackets-${version}"; - version = "1.5"; + version = "1.7"; src = fetchurl { url = "https://github.com/adobe/brackets/releases/download/release-${version}/Brackets.Release.${version}.64-bit.deb"; - sha256 = "1fc8wvh9wbcydd1sw20yfnwlfv7nllb6vrssr6hgn80m7i0zl3db"; + sha256 = "0nsiy3gvp8rd71a0misf6v1kz067kxnszr5mpch9fj4jqmg6nj8m"; name = "${name}.deb"; }; - phases = [ "installPhase" ]; + phases = [ "installPhase" "fixupPhase" ]; buildInputs = [ makeWrapper ]; @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { rmdir $out/usr ln -sf $out/opt/brackets/brackets $out/bin/brackets - ln -s ${libudev.out}/lib/libudev.so.1 $out/opt/brackets/lib/libudev.so.0 + ln -s ${systemd.lib}/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" \ diff --git a/pkgs/applications/editors/codeblocks/default.nix b/pkgs/applications/editors/codeblocks/default.nix index 76df6d4d2b99..9cab87e9ed24 100644 --- a/pkgs/applications/editors/codeblocks/default.nix +++ b/pkgs/applications/editors/codeblocks/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, autoconf, automake, libtool, pkgconfig, file, zip, wxGTK, gtk +{ stdenv, fetchurl, autoconf, automake, libtool, pkgconfig, file, zip, wxGTK, gtk2 , contribPlugins ? false, hunspell, gamin, boost }: @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { sha256 = "044njhps4cm1ijfdyr5f9wjyd0vblhrz9b4603ma52wcdq25093p"; }; - buildInputs = [ automake autoconf libtool pkgconfig file zip wxGTK gtk ] + buildInputs = [ automake autoconf libtool pkgconfig file zip wxGTK gtk2 ] ++ optionals contribPlugins [ hunspell gamin boost ]; enableParallelBuilding = true; patches = [ ./writable-projects.patch ]; diff --git a/pkgs/applications/editors/deadpixi-sam/default.nix b/pkgs/applications/editors/deadpixi-sam/default.nix new file mode 100644 index 000000000000..d1ed4826c682 --- /dev/null +++ b/pkgs/applications/editors/deadpixi-sam/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchFromGitHub, freetype, libX11, libXt, libXft +, version ? "2016-10-08" +, rev ? "a17c4a9c2a1af2de0a756fe16d482e0db88c0541" +, sha256 ? "03xmfzlijz4gbmr7l0pb1gl9kmlz1ab3hr8d51innvlasy4g6xgj" +}: + +stdenv.mkDerivation rec { + inherit version; + name = "deadpixi-sam-unstable-${version}"; + src = fetchFromGitHub { + inherit sha256 rev; + owner = "deadpixi"; + repo = "sam"; + }; + + postPatch = '' + substituteInPlace config.mk.def \ + --replace "/usr/include/freetype2" "${freetype.dev}/include/freetype2" + ''; + + makeFlags = [ "DESTDIR=$(out)" ]; + buildInputs = [ libX11 libXt libXft ]; + + postInstall = '' + mkdir -p $out/share/applications + mv deadpixi-sam.desktop $out/share/applications + ''; + + meta = with stdenv.lib; { + inherit (src.meta) homepage; + description = "Updated version of the sam text editor"; + license = with licenses; lpl-102; + maintainers = with maintainers; [ ramkromberg ]; + platforms = with platforms; linux; + }; +} diff --git a/pkgs/applications/editors/eclipse/build-eclipse.nix b/pkgs/applications/editors/eclipse/build-eclipse.nix index 609c5e3c651f..74707c65b6ca 100644 --- a/pkgs/applications/editors/eclipse/build-eclipse.nix +++ b/pkgs/applications/editors/eclipse/build-eclipse.nix @@ -1,4 +1,4 @@ -{ stdenv, makeDesktopItem, freetype, fontconfig, libX11, libXrender, zlib, jdk, glib, gtk, libXtst, webkitgtk2, makeWrapper, ... }: +{ stdenv, makeDesktopItem, freetype, fontconfig, libX11, libXrender, zlib, jdk, glib, gtk2, libXtst, webkitgtk2, makeWrapper, ... }: { name, src ? builtins.getAttr stdenv.system sources, sources ? null, description }: @@ -36,7 +36,7 @@ stdenv.mkDerivation rec { makeWrapper $out/eclipse/eclipse $out/bin/eclipse \ --prefix PATH : ${jdk}/bin \ - --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath ([ glib gtk libXtst ] ++ stdenv.lib.optional (webkitgtk2 != null) webkitgtk2)} \ + --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath ([ glib gtk2 libXtst ] ++ stdenv.lib.optional (webkitgtk2 != null) webkitgtk2)} \ --add-flags "-configuration \$HOME/.eclipse/''${productId}_$productVersion/configuration" # Create desktop item. diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix index 95be75dbe51c..cde3475196f3 100644 --- a/pkgs/applications/editors/eclipse/default.nix +++ b/pkgs/applications/editors/eclipse/default.nix @@ -1,117 +1,35 @@ { stdenv, lib, fetchurl, makeDesktopItem, makeWrapper , freetype, fontconfig, libX11, libXext, libXrender, zlib -, glib, gtk, libXtst, jdk +, glib, libXtst, jdk , webkitgtk2 ? null # for internal web browser , buildEnv, writeText, runCommand , callPackage -} @ args: +}: assert stdenv ? glibc; rec { - buildEclipse = import ./build-eclipse.nix args; + buildEclipse = callPackage ./build-eclipse.nix { }; - eclipse-sdk-35 = buildEclipse { - name = "eclipse-sdk-3.5.2"; - description = "Eclipse Classic"; + ### Eclipse CPP + + eclipse-cpp-46 = buildEclipse { + name = "eclipse-cpp-4.6.0"; + description = "Eclipse IDE for C/C++ Developers, Neon release"; src = if stdenv.system == "x86_64-linux" then fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops/R-3.5.2-201002111343/eclipse-SDK-3.5.2-linux-gtk-x86_64.tar.gz; - md5 = "54e2ce0660b2b1b0eb4267acf70ea66d"; + url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/neon/R/eclipse-cpp-neon-R-linux-gtk-x86_64.tar.gz; + sha256 = "09fqsgvbjfdqvn7z03crkii34z4bsb34y272q68ib8741bxk0i6m"; } - else + else if stdenv.system == "i686-linux" then fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops/R-3.5.2-201002111343/eclipse-SDK-3.5.2-linux-gtk.tar.gz; - md5 = "bde55a2354dc224cf5f26e5320e72dac"; - }; - }; - eclipse_sdk_35 = eclipse-sdk-35; # backward compatibility, added 2016-01-30 - - eclipse-sdk-36 = buildEclipse { - name = "eclipse-sdk-3.6.2"; - description = "Eclipse Classic"; - src = - if stdenv.system == "x86_64-linux" then - fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops/R-3.6.2-201102101200/eclipse-SDK-3.6.2-linux-gtk-x86_64.tar.gz; - sha256 = "0dfcfadcd6337c897fbfd5b292de481931dfce12d43289ecb93691fd27dd47f4"; + url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/neon/R/eclipse-cpp-neon-R-linux-gtk.tar.gz; + sha256 = "0a12qmqq22v7sbmwn1hjv1zcrkmp64bf0ajmdjljhs9ac79mxn5h"; } - else - fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops/R-3.6.2-201102101200/eclipse-SDK-3.6.2-linux-gtk.tar.gz; - sha256 = "1bh8ykliqr8wbciv13vpiy50rvm7yszk7y8dslr796dbwhi5b1cj"; - }; + else throw "Unsupported system: ${stdenv.system}"; }; - eclipse_sdk_36 = eclipse-sdk-36; # backward compatibility, added 2016-01-30 - - eclipse-scala-sdk-40 = buildEclipse { - name = "eclipse-scala-sdk-4.0.0"; - description = "Eclipse IDE for Scala Developers"; - src = - if stdenv.system == "x86_64-linux" then - fetchurl { # tested - url = http://downloads.typesafe.com/scalaide-pack/4.0.0.vfinal-luna-211-20150305/scala-SDK-4.0.0-vfinal-2.11-linux.gtk.x86_64.tar.gz; - sha256 = "b65c5e8160e72c8389537e9e427138e6daa2065f9df3a943a86e40dd1543dd83"; - } - else - fetchurl { # untested - url = http://downloads.typesafe.com/scalaide-pack/4.0.0.vfinal-luna-211-20150305/scala-SDK-4.0.0-vfinal-2.11-linux.gtk.x86.tar.gz; - sha256 = "f422aea5903c97d212264a5a43c6ebc638aecbd4ce5e6078d92618725bc5d31e"; - }; - }; - eclipse_scala_sdk_40 = eclipse-scala-sdk-40; # backward compatibility, added 2016-01-30 - - eclipse-cpp-36 = buildEclipse { - name = "eclipse-cpp-3.6.2"; - description = "Eclipse IDE for C/C++ Developers"; - src = - if stdenv.system == "x86_64-linux" then - fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/helios/SR2/eclipse-cpp-helios-SR2-linux-gtk-x86_64.tar.gz; - sha1 = "6f914e11fa15a900c46825e4aa8299afd76e7e65"; - } - else - fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/helios/SR2/eclipse-cpp-helios-SR2-linux-gtk.tar.gz; - sha1 = "1156e4bc0253ae3a3a4e54839e4944dc64d3108f"; - }; - }; - eclipse_cpp_36 = eclipse-cpp-36; # backward compatibility, added 2016-01-30 - - eclipse-modeling-36 = buildEclipse { - name = "eclipse-modeling-3.6.2"; - description = "Eclipse Modeling Tools (includes Incubating components)"; - src = - if stdenv.system == "x86_64-linux" then - fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/helios/SR2/eclipse-modeling-helios-SR2-incubation-linux-gtk-x86_64.tar.gz; - sha1 = "e96f5f006298f68476f4a15a2be8589158d5cc61"; - } - else - fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/helios/SR2/eclipse-modeling-helios-SR2-incubation-linux-gtk.tar.gz; - sha1 = "696377895bb26445de39d82a916b7e69edb1d939"; - }; - }; - eclipse_modeling_36 = eclipse-modeling-36; # backward compatibility, added 2016-01-30 - - eclipse-sdk-37 = buildEclipse { - name = "eclipse-sdk-3.7"; - description = "Eclipse Classic"; - sources = { - "x86_64-linux" = fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops/R-3.7.2-201202080800/eclipse-SDK-3.7.2-linux-gtk-x86_64.tar.gz; - sha256 = "0nf4nv7awhp1k8b1hjb7chpjyjrqnyszsjbc4dlk9phpjv3j4wg5"; - }; - "i686-linux" = fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops/R-3.7.2-201202080800/eclipse-SDK-3.7.2-linux-gtk.tar.gz; - sha256 = "1isn7i45l9kyn2yx6vm88jl1gnxph8ynank0aaa218cg8kdygk7j"; - }; - }; - }; - eclipse_sdk_37 = eclipse-sdk-37; # backward compatibility, added 2016-01-30 eclipse-cpp-37 = buildEclipse { name = "eclipse-cpp-3.7"; @@ -119,291 +37,126 @@ rec { src = if stdenv.system == "x86_64-linux" then fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/indigo/R/eclipse-cpp-indigo-incubation-linux-gtk-x86_64.tar.gz; + url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/indigo/R/eclipse-cpp-indigo-incubation-linux-gtk-x86_64.tar.gz; sha256 = "14ppc9g9igzvj1pq7jl01vwhzb66nmzbl9wsdl1sf3xnwa9wnqk3"; } else fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/indigo/R/eclipse-cpp-indigo-incubation-linux-gtk.tar.gz; + url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/indigo/R/eclipse-cpp-indigo-incubation-linux-gtk.tar.gz; sha256 = "1cvg1vgyazrkinwzlvlf0dpl197p4784752srqybqylyj5psdi3b"; }; }; eclipse_cpp_37 = eclipse-cpp-37; # backward compatibility, added 2016-01-30 - eclipse-cpp-42 = buildEclipse { - name = "eclipse-cpp-4.2"; - description = "Eclipse IDE for C/C++ Developers"; + ### Eclipse Modeling + + eclipse-modeling-46 = buildEclipse { + name = "eclipse-modeling-4.6"; + description = "Eclipse Modeling Tools"; src = if stdenv.system == "x86_64-linux" then fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/juno/SR2/eclipse-cpp-juno-SR2-linux-gtk-x86_64.tar.gz; - sha256 = "1qq04926pf7v9sf3s0z53zvlbl1j0rmmjmbmhqi49473fnjikh7y"; + url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/neon/1a/eclipse-modeling-neon-1a-linux-gtk-x86_64.tar.gz; + sha1 = "3695fd049c4cca2d235f424557e19877795a8183"; } else fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/juno/SR2/eclipse-cpp-juno-SR2-linux-gtk.tar.gz; - sha256 = "1a4s9qlhfpfpdhvffyglnfdr3dq5r2ywcxqywhqi95yhq5nmsgyk"; + url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/neon/1a/eclipse-modeling-neon-1a-linux-gtk.tar.gz; + sha1 = "fa0694a0b44e8e9c2301417f84dba45cf9ac6e61"; }; }; - eclipse_cpp_42 = eclipse-cpp-42; # backward compatibility, added 2016-01-30 - eclipse-cpp-43 = buildEclipse { - name = "eclipse-cpp-4.3.2"; - description = "Eclipse IDE for C/C++ Developers"; + eclipse-modeling-36 = buildEclipse { + name = "eclipse-modeling-3.6.2"; + description = "Eclipse Modeling Tools (includes Incubating components)"; src = if stdenv.system == "x86_64-linux" then fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/kepler/SR2/eclipse-cpp-kepler-SR2-linux-gtk-x86_64.tar.gz; - sha256 = "16zhjm6bx78263b1clg75kfiliahkhwg0k116vp9fj039nlpc30l"; + url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/helios/SR2/eclipse-modeling-helios-SR2-incubation-linux-gtk-x86_64.tar.gz; + sha1 = "e96f5f006298f68476f4a15a2be8589158d5cc61"; } else fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/kepler/SR2/eclipse-cpp-kepler-SR2-linux-gtk.tar.gz; - sha256 = "0d6jlj7hwz8blx6csrlyi2h2prql0wckbh7ihwjmgclwpcpj84g6"; + url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/helios/SR2/eclipse-modeling-helios-SR2-incubation-linux-gtk.tar.gz; + sha1 = "696377895bb26445de39d82a916b7e69edb1d939"; }; }; - eclipse_cpp_43 = eclipse-cpp-43; # backward compatibility, added 2016-01-30 - - eclipse-cpp-44 = buildEclipse { - name = "eclipse-cpp-4.4.2"; - description = "Eclipse IDE for C/C++ Developers"; - src = - if stdenv.system == "x86_64-linux" then - fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/luna/SR2/eclipse-cpp-luna-SR2-linux-gtk-x86_64.tar.gz; - sha256 = "1vxwj7yihgipvrb3gksmddqkarzazpwk3mh1mjnw0i5xz2y32ba4"; - } - else - fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/luna/SR2/eclipse-cpp-luna-SR2-linux-gtk.tar.gz; - sha256 = "1yn7yzzx8izc199c8w4f7vrc0b08idyq0dn113i8123b0mxw5lkp"; - }; - }; - eclipse_cpp_44 = eclipse-cpp-44; # backward compatibility, added 2016-01-30 + eclipse_modeling_36 = eclipse-modeling-36; # backward compatibility, added 2016-01-30 - eclipse-cpp-45 = buildEclipse { - name = "eclipse-cpp-4.5.1"; - description = "Eclipse IDE for C/C++ Developers, Mars release"; - src = - if stdenv.system == "x86_64-linux" then - fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/mars/1/eclipse-cpp-mars-1-linux-gtk-x86_64.tar.gz; - sha256 = "1j6rsgr44kya2v7y34ifscajqk7lnq1w9m9fx4i0qgby84sy4xj7"; - } - else if stdenv.system == "i686-linux" then - fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/mars/1/eclipse-cpp-mars-1-linux-gtk.tar.gz; - sha256 = "0qsbvjkq0ssxbnafh4gs8pfclynqis3nf7xlxx4w3k20jcjx7sr2"; - } - else throw "Unsupported system: ${stdenv.system}"; - }; - eclipse_cpp_45 = eclipse-cpp-45; # backward compatibility, added 2016-01-30 - - eclipse-sdk-421 = buildEclipse { - name = "eclipse-sdk-4.2.1"; - description = "Eclipse Classic"; - src = - if stdenv.system == "x86_64-linux" then - fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.2.1-201209141800/eclipse-SDK-4.2.1-linux-gtk-x86_64.tar.gz; - sha256 = "1mlyy90lk08lb2971ynglgi3nqvqfq1k70md2kb39jk160wd1xrk"; - } - else - fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.2.1-201209141800/eclipse-SDK-4.2.1-linux-gtk.tar.gz; - sha256 = "1av6qm9wkbyk123qqf38f0jq4jv2bj9wp6fmpnl55zg6qr463c1w"; - }; - }; - eclipse_sdk_421 = eclipse-sdk-421; # backward compatibility, added 2016-01-30 - - eclipse-sdk-422 = buildEclipse { - name = "eclipse-sdk-4.2.2"; - description = "Eclipse Classic"; - sources = { - "x86_64-linux" = fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.2.2-201302041200/eclipse-SDK-4.2.2-linux-gtk-x86_64.tar.gz; - sha256 = "0ysa6ymk4h3k1vn59dc909iy197kmx132671kbzfwbim87jmgnqb"; - }; - "i686-linux" = fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.2.2-201302041200/eclipse-SDK-4.2.2-linux-gtk.tar.gz; - sha256 = "038yibbrcia38wi72qrdl03g7l35mpvl5nxdfdnvpqxrkfffb826"; - }; - }; - }; - eclipse_sdk_422 = eclipse-sdk-422; # backward compatibility, added 2016-01-30 - - eclipse-sdk-431 = buildEclipse { - name = "eclipse-sdk-4.3.1"; - description = "Eclipse Classic"; - sources = { - "x86_64-linux" = fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.3.1-201309111000/eclipse-SDK-4.3.1-linux-gtk-x86_64.tar.gz; - sha256 = "0ncm56ylwxw9z8rk8ccgva68c2yr9yrf1kcr1zkgw6p87xh1yczd"; - }; - "i686-linux" = fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.3.1-201309111000/eclipse-SDK-4.3.1-linux-gtk.tar.gz; - sha256 = "1zxsh838khny7mvl01h28xna6xdh01yi4mvls28zj22v0340lgsg"; - }; - }; - }; - eclipse_sdk_431 = eclipse-sdk-431; # backward compatibility, added 2016-01-30 - - eclipse-sdk-44 = buildEclipse { - name = "eclipse-sdk-4.4"; - description = "Eclipse Classic"; - sources = { - "x86_64-linux" = fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.4-201406061215/eclipse-SDK-4.4-linux-gtk-x86_64.tar.gz; - sha256 = "14hdkijsjq0hhzi9ijpwjjkhz7wm0pry86l3dniy5snlh3l5bsb2"; - }; - "i686-linux" = fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.4-201406061215/eclipse-SDK-4.4-linux-gtk.tar.gz; - sha256 = "0hjc4zrsmik6vff851p0a4ydnx99840j2xrx8348kk6h0af8vx6z"; - }; - }; - }; - eclipse_sdk_44 = eclipse-sdk-44; # backward compatibility, added 2016-01-30 - - eclipse-sdk-442 = buildEclipse { - name = "eclipse-sdk-4.4.2"; - description = "Eclipse Classic"; - sources = { - "x86_64-linux" = fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.4.2-201502041700/eclipse-SDK-4.4.2-linux-gtk-x86_64.tar.gz; - sha256 = "0g00alsixfaakmn4khr0m9fxvkrbhbg6qqfa27xr6a9np6gzg98l"; - }; - "i686-linux" = fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.4.2-201502041700/eclipse-SDK-4.4.2-linux-gtk.tar.gz; - sha256 = "1hacyjjwhhxi7r3xyhpqgjqpd5r0irw9bfkalz5s5l6shb0lq4i7"; - }; - }; - }; - eclipse_sdk_442 = eclipse-sdk-442; # backward compatibility, added 2016-01-30 - - eclipse-sdk-45 = buildEclipse { - name = "eclipse-sdk-4.5"; - description = "Eclipse Mars Classic"; - sources = { - "x86_64-linux" = fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.5-201506032000/eclipse-SDK-4.5-linux-gtk-x86_64.tar.gz; - sha256 = "0vfql4gh263ms8bg7sgn05gnjajplx304cn3nr03jlacgr3pkarf"; - }; - "i686-linux" = fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.5-201506032000/eclipse-SDK-4.5-linux-gtk.tar.gz; - sha256 = "0xv66l6hdlvxpswcqrsh398wg6xhy30f833dr7jvvz45s5437hm3"; - }; - }; - }; - eclipse_sdk_45 = eclipse-sdk-45; # backward compatibility, added 2016-01-30 - - eclipse-sdk-451 = buildEclipse { - name = "eclipse-sdk-4.5.1"; - description = "Eclipse Mars Classic"; - sources = { - "x86_64-linux" = fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.5.1-201509040015/eclipse-SDK-4.5.1-linux-gtk-x86_64.tar.gz; - sha256 = "b56503ab4b86f54e1cdc93084ef8c32fb1eaabc6f6dad9ef636153b14c928e02"; - }; - "i686-linux" = fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.5.1-201509040015/eclipse-SDK-4.5.1-linux-gtk.tar.gz; - sha256 = "f2e41da52e138276f8f121fd4d57c3f98839817836b56f8424e99b63c9b1b025"; - }; - }; - }; - eclipse_sdk_451 = eclipse-sdk-451; # backward compatibility, added 2016-01-30 - - eclipse-sdk-452 = buildEclipse { - name = "eclipse-sdk-4.5.2"; - description = "Eclipse Mars Classic"; - sources = { - "x86_64-linux" = fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.5.2-201602121500/eclipse-SDK-4.5.2-linux-gtk-x86_64.tar.gz; - sha256 = "87f82b0c13c245ee20928557dbc4435657d1e029f72d9135683c8d585c69ba8d"; - }; - "i686-linux" = fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.5.2-201602121500/eclipse-SDK-4.5.2-linux-gtk.tar.gz; - sha256 = "78f7e537b34333401fc782fbd1260087c586ff93b17b88da5b177642f3aa5a02"; - }; - }; - }; - - eclipse-sdk-46 = buildEclipse { - name = "eclipse-sdk-4.6"; - description = "Eclipse Neon Classic"; - sources = { - "x86_64-linux" = fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.6-201606061100/eclipse-SDK-4.6-linux-gtk-x86_64.tar.gz; - sha256 = "4d7a39ce4e04ba1f5179f6a72926eb86ed506d97842a3bf4247814491c508e0a"; - }; - "i686-linux" = fetchurl { - url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.6-201606061100/eclipse-SDK-4.6-linux-gtk.tar.gz; - sha256 = "d9e1d390cac504a17a65d4a22ebb8da6a592bcc54491912cbc29577990d77014"; - }; - }; - }; + ### Eclipse Platform eclipse-platform = eclipse-platform-46; - eclipse-platform-45 = buildEclipse { - name = "eclipse-platform-4.5"; - description = "Eclipse platform"; - sources = { - "x86_64-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.5-201506032000/eclipse-platform-4.5-linux-gtk-x86_64.tar.gz; - sha256 = "1510j41yr86pbzwf48kjjdd46nkpkh8zwn0hna0cqvsw1gk2vqcg"; - }; - "i686-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.5-201506032000/eclipse-platform-4.5-linux-gtk.tar.gz; - sha256 = "1f97jd3qbi3830y3djk8bhwzd9whsq8gzfdk996chxc55prn0qbd"; - }; - }; - }; - - eclipse-platform-451 = buildEclipse { - name = "eclipse-platform-4.5.1"; - description = "Eclipse platform"; - sources = { - "x86_64-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.5.1-201509040015/eclipse-platform-4.5.1-linux-gtk-x86_64.tar.gz; - sha256 = "1m7bzyi20yss6cz74d7hvhxj1cddcpgzxjia5wcjycsvq33kkny0"; - }; - "i686-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.5.1-201509040015/eclipse-platform-4.5.1-linux-gtk.tar.gz; - sha256 = "17x8w4k0rba0c0v9ghxdl0zqfadla5c1aakfd5k0q9q3x3qi6rxp"; - }; - }; - }; - - eclipse-platform-452 = buildEclipse { - name = "eclipse-platform-4.5.2"; - description = "Eclipse platform"; - sources = { - "x86_64-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.5.2-201602121500/eclipse-SDK-4.5.2-linux-gtk-x86_64.tar.gz; - sha256 = "13dsd5f5i39wd0sr2bgp57hd2msn8g2dnmw5j8hfwif22c62py47"; - }; - "i686-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.5.2-201602121500/eclipse-SDK-4.5.2-linux-gtk.tar.gz; - sha256 = "00jsmbrl4xhpbgd8hyxijgzqdic700kd3yw2qwgl0cs3ncvybxvq"; - }; - }; - }; - eclipse-platform-46 = buildEclipse { - name = "eclipse-platform-4.6"; - description = "Eclipse platform"; + name = "eclipse-platform-4.6.2"; + description = "Eclipse Platform Neon 2"; sources = { "x86_64-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.6-201606061100/eclipse-SDK-4.6-linux-gtk-x86_64.tar.gz; - sha256 = "02lfa0f4j53q4ks3nal4jxnm1vc6xck2k9zng58izfh49v73jyjd"; + url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.6.2-201611241400/eclipse-platform-4.6.2-linux-gtk-x86_64.tar.gz; + sha256 = "1fmpirjkp210angyfz3nr5jp58snjy6784zkkbmdxkiyg9kg2wqq"; }; "i686-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.6-201606061100/eclipse-SDK-4.6-linux-gtk.tar.gz; - sha256 = "053hsy87jmr9phn934a4qny959d6inxjx8nlcmxa2165ra8d7qfr"; + url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.6.2-201611241400/eclipse-platform-4.6.2-linux-gtk.tar.gz; + sha256 = "0274g6ypiqsqkch10868ygbm6avc5pa57saz9wd196kdivl1bdpm"; }; }; }; + ### Eclipse Scala SDK + + eclipse-scala-sdk-441 = buildEclipse { + name = "eclipse-scala-sdk-4.4.1"; + description = "Eclipse IDE for Scala Developers"; + src = + if stdenv.system == "x86_64-linux" then + fetchurl { # tested + url = https://downloads.typesafe.com/scalaide-pack/4.4.1-vfinal-luna-211-20160504/scala-SDK-4.4.1-vfinal-2.11-linux.gtk.x86_64.tar.gz; + sha256 = "4c2d1ac68384e12a11a851cf0fc7757aea087eba69329b21d539382a65340d27"; + } + else + fetchurl { # untested + url = https://downloads.typesafe.com/scalaide-pack/4.4.1-vfinal-luna-211-20160504/scala-SDK-4.4.1-vfinal-2.11-linux.gtk.x86.tar.gz; + sha256 = "35383cb09567187e14a30c15de9fd9aa0eef99e4bbb342396ce3acd11fb5cbac"; + }; + }; + + ### Eclipse SDK + + eclipse-sdk-46 = buildEclipse { + name = "eclipse-sdk-4.6.2"; + description = "Eclipse Neon 2 Classic"; + sources = { + "x86_64-linux" = fetchurl { + url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.6.2-201611241400/eclipse-SDK-4.6.2-linux-gtk-x86_64.tar.gz; + sha256 = "0g3nk1gcz178j8xk6nblkfsaysm8gq8101383fx60x6w25rdfgjb"; + }; + "i686-linux" = fetchurl { + url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.6.2-201611241400/eclipse-SDK-4.6.2-linux-gtk.tar.gz; + sha256 = "09wlkcxs5h3j8habqxgr4all99vkgmyixc0vr9dj3qs0kl85k5mz"; + }; + }; + }; + + eclipse-sdk-37 = buildEclipse { + name = "eclipse-sdk-3.7"; + description = "Eclipse Classic"; + sources = { + "x86_64-linux" = fetchurl { + url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops/R-3.7.2-201202080800/eclipse-SDK-3.7.2-linux-gtk-x86_64.tar.gz; + sha256 = "0nf4nv7awhp1k8b1hjb7chpjyjrqnyszsjbc4dlk9phpjv3j4wg5"; + }; + "i686-linux" = fetchurl { + url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops/R-3.7.2-201202080800/eclipse-SDK-3.7.2-linux-gtk.tar.gz; + sha256 = "1isn7i45l9kyn2yx6vm88jl1gnxph8ynank0aaa218cg8kdygk7j"; + }; + }; + }; + eclipse_sdk_37 = eclipse-sdk-37; # backward compatibility, added 2016-01-30 + + ### Environments + + # Function that assembles a complete Eclipse environment from an + # Eclipse package and list of Eclipse plugins. eclipseWithPlugins = { eclipse, plugins ? [], jvmArgs ? [] }: let # Gather up the desired plugins. @@ -438,6 +191,8 @@ rec { ln -s ${eclipse}/share $out/ ''; + ### Plugins + plugins = callPackage ./plugins.nix { }; } diff --git a/pkgs/applications/editors/eclipse/plugins.nix b/pkgs/applications/editors/eclipse/plugins.nix index c871e6d6e8b8..68859a7ac41e 100644 --- a/pkgs/applications/editors/eclipse/plugins.nix +++ b/pkgs/applications/editors/eclipse/plugins.nix @@ -83,16 +83,16 @@ rec { acejump = buildEclipsePlugin rec { name = "acejump-${version}"; - version = "1.0.0.201501181511"; + version = "1.0.0.201610261941"; srcFeature = fetchurl { url = "https://tobiasmelcher.github.io/acejumpeclipse/features/acejump.feature_${version}.jar"; - sha256 = "127xqrnns4h96g21c9zg0iblxprx3fg6fg0w5f413rf84415z884"; + sha256 = "1szswjxp9g70ibfbv3p8dlq1bngq7nc22kp657z9i9kp8309md2d"; }; srcPlugin = fetchurl { url = "https://tobiasmelcher.github.io/acejumpeclipse/plugins/acejump_${version}.jar"; - sha256 = "0mz79ca32yryidd1wijirvnmfg4j5q4g84vdspdi56z0r4xrja13"; + sha256 = "1cn64xj2bm69vnn9db2xxh6kq148v83w5nx3183mrqb59ym3v9kf"; }; meta = with stdenv.lib; { @@ -152,12 +152,12 @@ rec { cdt = buildEclipseUpdateSite rec { name = "cdt-${version}"; - version = "8.8.0"; + version = "9.0.1"; src = fetchzip { stripRoot = false; - url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/tools/cdt/releases/8.8/${name}.zip"; - sha256 = "1i1m7g5128q21njgrkiw71y4vi4aqzz8xdd4iv80j3nsvhbv6cnm"; + url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/tools/cdt/releases/9.0/${name}.zip"; + sha256 = "0vdx0j9ci533wnk7y17qjvjyqx38hlrdw67z6pi05vfv3r6ys39x"; }; meta = with stdenv.lib; { @@ -171,12 +171,12 @@ rec { checkstyle = buildEclipseUpdateSite rec { name = "checkstyle-${version}"; - version = "6.19.1.201607051943"; + version = "7.3.0.201612142232"; src = fetchzip { stripRoot = false; - url = "mirror://sourceforge/project/eclipse-cs/Eclipse%20Checkstyle%20Plug-in/6.19.1/net.sf.eclipsecs-updatesite_${version}.zip"; - sha256 = "03aah57g0cgxym95p1wcj2h69xy3r9c0vv7js3gpmw1hx8w9sjsf"; + url = "mirror://sourceforge/project/eclipse-cs/Eclipse%20Checkstyle%20Plug-in/7.3.0/net.sf.eclipsecs-updatesite_${version}.zip"; + sha256 = "1mbiszwnakfmjx5mnh9h2rrp9jzizkmz89p8z4spq2m9kwy1lkqj"; }; meta = with stdenv.lib; { @@ -322,12 +322,12 @@ rec { gnuarmeclipse = buildEclipseUpdateSite rec { name = "gnuarmeclipse-${version}"; - version = "2.11.1-201512141335"; + version = "3.1.1-201606210758"; src = fetchzip { stripRoot = false; url = "https://github.com/gnuarmeclipse/plug-ins/releases/download/v${version}/ilg.gnuarmeclipse.repository-${version}.zip"; - sha256 = "1ijvnahfw2wc860la7kj8b52z2sfm8k1yk62bl0d4lq60y3aycg9"; + sha256 = "1g77jlhfa3csaxxps1z5lasrd9l2p5ajnddnq9ra5syw8ggkdc2h"; }; meta = with stdenv.lib; { @@ -358,6 +358,31 @@ rec { }; }; + rustdt = buildEclipseUpdateSite rec { + name = "rustdt-${version}"; + version = "0.6.2"; + owner = "RustDT"; + repo = "rustdt.github.io"; + rev = "5cbe753008c40555c493092a6f4ae1ffbff0b3ce"; + + src = fetchzip { + stripRoot = false; + url = "https://github.com/${owner}/${repo}/archive/${rev}.zip"; + sha256 = "1xfj4j27d1h4bdf2v7f78zi8lz4zkkj7s9kskmsqx5jcs2d459yp"; + extraPostFetch = + '' + mv "$out/${repo}-${rev}/releases/local-repo"/* "$out/" + ''; + }; + + meta = with stdenv.lib; { + homepage = https://github.com/RustDT; + description = "Rust development tooling"; + license = licenses.epl10; + platforms = platforms.all; + }; + }; + scala = buildEclipseUpdateSite rec { name = "scala-${version}"; version = "4.4.1.201605041056"; @@ -378,16 +403,16 @@ rec { testng = buildEclipsePlugin rec { name = "testng-${version}"; - version = "6.9.11.201604020423"; + version = "6.9.13.201609291640"; srcFeature = fetchurl { url = "http://beust.com/eclipse-old/eclipse_${version}/features/org.testng.eclipse_${version}.jar"; - sha256 = "1cp7f6f0525wqwjj4pyrp0q0ii7zcd5gwd5acaq9jjb13xgw8vav"; + sha256 = "02wzcysl7ga3wnvnwp6asl8d77wgc547c5qqawixw94lw6fn1a15"; }; srcPlugin = fetchurl { url = "http://beust.com/eclipse-old/eclipse_${version}/plugins/org.testng.eclipse_${version}.jar"; - sha256 = "04m07cdfw0isp27ykx6dbrlcdw33rxww7vnavanygxxnlpyvyas3"; + sha256 = "1j4zw6392q3q6z3pcy803k3g0p220gk1x19fs99p0rmmdz83lc8d"; }; meta = with stdenv.lib; { diff --git a/pkgs/applications/editors/ed/default.nix b/pkgs/applications/editors/ed/default.nix index 650a551cb601..9cb644cc9315 100644 --- a/pkgs/applications/editors/ed/default.nix +++ b/pkgs/applications/editors/ed/default.nix @@ -9,7 +9,12 @@ stdenv.mkDerivation rec { # When updating, please make sure the sources pulled match those upstream by # Unpacking both tarballs and running `find . -type f -exec sha256sum \{\} \; | sha256sum` # in the resulting directory - url = "http://fossies.org/linux/privat/${name}.tar.bz2"; + urls = let file_md5 = "fb8ffc8d8072e13dd5799131e889bfa5"; # for fedora mirror + in [ + ("http://pkgs.fedoraproject.org/repo/extras/ed" + + "/${name}.tar.bz2/${file_md5}/${name}.tar.bz2") + "http://fossies.org/linux/privat/${name}.tar.bz2" + ]; sha256 = "1iym2fsamxr886l3sz8lqzgf00bip5cr0aly8jp04f89kf5mvl0j"; }; diff --git a/pkgs/applications/editors/emacs-24/builder.sh b/pkgs/applications/editors/emacs-24/builder.sh deleted file mode 100644 index 984a61df6f3b..000000000000 --- a/pkgs/applications/editors/emacs-24/builder.sh +++ /dev/null @@ -1,38 +0,0 @@ -source $stdenv/setup - -# This hook is supposed to be run on Linux. It patches the proper locations of -# the crt{1,i,n}.o files into the build to ensure that Emacs is linked with -# *our* versions, not the ones found in the system, as it would do by default. -# On other platforms, this appears to be unnecessary. -preConfigure() { - for i in Makefile.in ./src/Makefile.in ./lib-src/Makefile.in ./leim/Makefile.in; do - substituteInPlace $i --replace /bin/pwd pwd - done - - case "${system}" in - x86_64-linux) glibclibdir=lib64 ;; - i686-linux) glibclibdir=lib ;; - *) return; - esac - - libc=$(cat ${NIX_CC}/nix-support/orig-libc) - echo "libc: $libc" - - for i in src/s/*.h src/m/*.h; do - substituteInPlace $i \ - --replace /usr/${glibclibdir}/crt1.o $libc/${glibclibdir}/crt1.o \ - --replace /usr/${glibclibdir}/crti.o $libc/${glibclibdir}/crti.o \ - --replace /usr/${glibclibdir}/crtn.o $libc/${glibclibdir}/crtn.o \ - --replace /usr/lib/crt1.o $libc/${glibclibdir}/crt1.o \ - --replace /usr/lib/crti.o $libc/${glibclibdir}/crti.o \ - --replace /usr/lib/crtn.o $libc/${glibclibdir}/crtn.o - done -} - -preInstall () { - for i in Makefile.in ./src/Makefile.in ./lib-src/Makefile.in ./leim/Makefile.in; do - substituteInPlace $i --replace /bin/pwd pwd - done -} - -genericBuild diff --git a/pkgs/applications/editors/emacs-24/default.nix b/pkgs/applications/editors/emacs-24/default.nix deleted file mode 100644 index df53cf2c9a49..000000000000 --- a/pkgs/applications/editors/emacs-24/default.nix +++ /dev/null @@ -1,111 +0,0 @@ -{ stdenv, lib, fetchurl, ncurses, xlibsWrapper, libXaw, libXpm, Xaw3d -, pkgconfig, gettext, libXft, dbus, libpng, libjpeg, libungif -, libtiff, librsvg, texinfo, gconf, libxml2, imagemagick, gnutls -, alsaLib, cairo, acl, gpm, AppKit, CoreWLAN, Kerberos, GSS, ImageIO -, withX ? !stdenv.isDarwin -, withGTK3 ? false, gtk3 ? null -, withGTK2 ? true, gtk2 -, enableTTYTrueColor ? false -}: - -assert (libXft != null) -> libpng != null; # probably a bug -assert stdenv.isDarwin -> libXaw != null; # fails to link otherwise -assert withGTK2 -> withX || stdenv.isDarwin; -assert withGTK3 -> withX || stdenv.isDarwin; -assert withGTK2 -> !withGTK3 && gtk2 != null; -assert withGTK3 -> !withGTK2 && gtk3 != null; - -let - toolkit = - if withGTK3 then "gtk3" - else if withGTK2 then "gtk2" - else "lucid"; -in - -stdenv.mkDerivation rec { - name = "emacs-24.5"; - - builder = ./builder.sh; - - src = fetchurl { - url = "mirror://gnu/emacs/${name}.tar.xz"; - sha256 = "0kn3rzm91qiswi0cql89kbv6mqn27rwsyjfb8xmwy9m5s8fxfiyx"; - }; - - patches = lib.optionals stdenv.isDarwin [ - ./at-fdcwd.patch - ] ++ lib.optionals enableTTYTrueColor [ - # Modified TTY True Color patch from: https://gist.github.com/choppsv1/36aacdd696d505566088 - # To use, pass --color=true-color, which will default to using ';' - # as the separator. - # Alternatively, set $EMACS_TRUE_COLOR_SEPARATOR to ';' or ':'. - ./tty-true-color.patch - ]; - - postPatch = '' - sed -i 's|/usr/share/locale|${gettext}/share/locale|g' lisp/international/mule-cmds.el - # emacs runs then dumps itself. In the process, it keeps a copy of the - # PATH env var, holding all the build inputs in it's closure. - # Prevent that by running the self-dumping emacs with an empty PATH. - sed -i 's|^RUN_TEMACS = |&PATH= |' src/Makefile.in - ''; - - buildInputs = - [ ncurses gconf libxml2 gnutls alsaLib pkgconfig texinfo acl gpm gettext ] - ++ stdenv.lib.optional stdenv.isLinux dbus - ++ stdenv.lib.optionals withX - [ xlibsWrapper libXaw Xaw3d libXpm libpng libjpeg libungif libtiff librsvg libXft - imagemagick gconf ] - ++ stdenv.lib.optional (withX && withGTK2) gtk2 - ++ stdenv.lib.optional (withX && withGTK3) gtk3 - ++ stdenv.lib.optional (stdenv.isDarwin && withX) cairo; - - propagatedBuildInputs = stdenv.lib.optionals stdenv.isDarwin [ AppKit GSS ImageIO ]; - - configureFlags = - if stdenv.isDarwin - then [ "--with-ns" "--disable-ns-self-contained" ] - else if withX - then [ "--with-x-toolkit=${toolkit}" "--with-xft" ] - else [ "--with-x=no" "--with-xpm=no" "--with-jpeg=no" "--with-png=no" - "--with-gif=no" "--with-tiff=no" ]; - - NIX_CFLAGS_COMPILE = - [ "-ffreestanding" ] # needed due to glibc 2.24 upgrade (see https://sourceware.org/glibc/wiki/Release/2.24#Known_Issues) - ++ stdenv.lib.optional (stdenv.isDarwin && withX) "-I${cairo.dev}/include/cairo"; - - postInstall = '' - mkdir -p $out/share/emacs/site-lisp/ - cp ${./site-start.el} $out/share/emacs/site-lisp/site-start.el - '' + stdenv.lib.optionalString stdenv.isDarwin '' - mkdir -p $out/Applications - mv nextstep/Emacs.app $out/Applications - ''; - - doCheck = true; - - meta = with stdenv.lib; { - description = "GNU Emacs 24, the extensible, customizable text editor"; - homepage = http://www.gnu.org/software/emacs/; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ chaoflow lovek323 peti the-kenny jwiegley ]; - platforms = platforms.all; - - longDescription = '' - GNU Emacs is an extensible, customizable text editor—and more. At its - core is an interpreter for Emacs Lisp, a dialect of the Lisp - programming language with extensions to support text editing. - - The features of GNU Emacs include: content-sensitive editing modes, - including syntax coloring, for a wide variety of file types including - plain text, source code, and HTML; complete built-in documentation, - including a tutorial for new users; full Unicode support for nearly all - human languages and their scripts; highly customizable, using Emacs - Lisp code or a graphical interface; a large number of extensions that - add other functionality, including a project planner, mail and news - reader, debugger interface, calendar, and more. Many of these - extensions are distributed with GNU Emacs; others are available - separately. - ''; - }; -} diff --git a/pkgs/applications/editors/emacs-24/site-start.el b/pkgs/applications/editors/emacs-24/site-start.el deleted file mode 100644 index 023d6412ed84..000000000000 --- a/pkgs/applications/editors/emacs-24/site-start.el +++ /dev/null @@ -1,17 +0,0 @@ -;; NixOS specific load-path -(setq load-path - (append (reverse (mapcar (lambda (x) (concat x "/share/emacs/site-lisp/")) - (split-string (or (getenv "NIX_PROFILES") "")))) - load-path)) - -;;; Make `woman' find the man pages -(eval-after-load 'woman - '(setq woman-manpath - (append (reverse (mapcar (lambda (x) (concat x "/share/man/")) - (split-string (or (getenv "NIX_PROFILES") "")))) - woman-manpath))) - -;; Make tramp work for remote NixOS machines -;;; NOTE: You might want to add -(eval-after-load 'tramp - '(add-to-list 'tramp-remote-path "/run/current-system/sw/bin")) diff --git a/pkgs/applications/editors/emacs-24/tty-true-color.patch b/pkgs/applications/editors/emacs-24/tty-true-color.patch deleted file mode 100644 index 09ceeb658abb..000000000000 --- a/pkgs/applications/editors/emacs-24/tty-true-color.patch +++ /dev/null @@ -1,428 +0,0 @@ -diff --git a/lisp/term/tty-colors.el b/lisp/term/tty-colors.el -index 98108ce..21814a9 100644 ---- a/lisp/term/tty-colors.el -+++ b/lisp/term/tty-colors.el -@@ -764,7 +764,8 @@ - (auto . 0) - (ansi8 . 8) - (always . 8) -- (yes . 8)) -+ (yes . 8) -+ (true-color . 16777216)) - "An alist of supported standard tty color modes and their aliases.") - - (defun tty-color-alist (&optional _frame) -diff --git a/lisp/term/xterm.el b/lisp/term/xterm.el -index c673749..244cf7f 100644 ---- a/lisp/term/xterm.el -+++ b/lisp/term/xterm.el -@@ -674,6 +674,15 @@ versions of xterm." - ;; are more colors to support, compute them now. - (when (> ncolors 0) - (cond -+ ((= (display-color-cells (selected-frame)) 16777216) ; 24-bit xterm -+ (let ((idx (length xterm-standard-colors))) -+ ;; Insert standard X colors after the standard xterm ones -+ (mapc (lambda (color) -+ (if (not (assoc (car color) xterm-standard-colors)) -+ (progn -+ (tty-color-define (car color) idx (cdr color)) -+ (setq idx (1+ idx))))) -+ color-name-rgb-alist))) - ((= ncolors 240) ; 256-color xterm - ;; 216 non-gray colors first - (let ((r 0) (g 0) (b 0)) -diff --git a/src/dispextern.h b/src/dispextern.h -index 239c442..5760b84 100644 ---- a/src/dispextern.h -+++ b/src/dispextern.h -@@ -1739,9 +1739,15 @@ struct face - INLINE bool - face_tty_specified_color (unsigned long color) - { -- return color < FACE_TTY_DEFAULT_BG_COLOR; -+ return (color < FACE_TTY_DEFAULT_BG_COLOR); - } - -+INLINE bool -+face_tty_specified_24_bit_color (unsigned long color) -+{ -+ /* 24 bit colors have 24th but not 25th bit set */ -+ return ((color & (0x03 << 24)) == (0x01 << 24)); -+} - /* Non-zero if FACE was realized for unibyte use. */ - - #define FACE_UNIBYTE_P(FACE) ((FACE)->charset < 0) -diff --git a/src/term.c b/src/term.c -index 8312491..b14aded 100644 ---- a/src/term.c -+++ b/src/term.c -@@ -1915,18 +1915,40 @@ turn_on_face (struct frame *f, int face_id) - const char *ts; - char *p; - -- ts = tty->standout_mode ? tty->TS_set_background : tty->TS_set_foreground; -+ if (face_tty_specified_24_bit_color(fg)) -+ ts = tty->standout_mode ? tty->TS_set_rgb_background : tty->TS_set_rgb_foreground; -+ else -+ ts = tty->standout_mode ? tty->TS_set_background : tty->TS_set_foreground; - if (face_tty_specified_color (fg) && ts) - { -- p = tparam (ts, NULL, 0, fg, 0, 0, 0); -+ if (!face_tty_specified_24_bit_color(fg)) -+ p = tparam (ts, NULL, 0, fg, 0, 0, 0); -+ else -+ { -+ const unsigned char r = (fg >> 16) & 0xFF, -+ g = (fg >> 8) & 0xFF, -+ b = fg & 0xFF; -+ p = tparam (ts, NULL, 0, (int)r, (int)g, (int)b, 0); -+ } - OUTPUT (tty, p); - xfree (p); - } - -- ts = tty->standout_mode ? tty->TS_set_foreground : tty->TS_set_background; -+ if (face_tty_specified_24_bit_color(bg)) -+ ts = tty->standout_mode ? tty->TS_set_rgb_foreground : tty->TS_set_rgb_background; -+ else -+ ts = tty->standout_mode ? tty->TS_set_foreground : tty->TS_set_background; - if (face_tty_specified_color (bg) && ts) - { -- p = tparam (ts, NULL, 0, bg, 0, 0, 0); -+ if (!face_tty_specified_24_bit_color(bg)) -+ p = tparam (ts, NULL, 0, bg, 0, 0, 0); -+ else -+ { -+ const unsigned char r = (bg >> 16) & 0xFF, -+ g = (bg >> 8) & 0xFF, -+ b = bg & 0xFF; -+ p = tparam (ts, NULL, 0, (int)r, (int)g, (int)b, 0); -+ } - OUTPUT (tty, p); - xfree (p); - } -@@ -2028,6 +2050,8 @@ TERMINAL does not refer to a text terminal. */) - struct terminal *t = get_tty_terminal (terminal, 0); - if (!t) - return make_number (0); -+ else if (t->display_info.tty->TS_set_rgb_foreground) -+ return make_number (16777216); /* 24 bit True Color */ - else - return make_number (t->display_info.tty->TN_max_colors); - } -@@ -2043,6 +2067,8 @@ static int default_no_color_video; - static char *default_orig_pair; - static char *default_set_foreground; - static char *default_set_background; -+static char *default_set_rgb_foreground; -+static char *default_set_rgb_background; - - /* Save or restore the default color-related capabilities of this - terminal. */ -@@ -2055,6 +2081,8 @@ tty_default_color_capabilities (struct tty_display_info *tty, bool save) - dupstring (&default_orig_pair, tty->TS_orig_pair); - dupstring (&default_set_foreground, tty->TS_set_foreground); - dupstring (&default_set_background, tty->TS_set_background); -+ dupstring (&default_set_rgb_foreground, tty->TS_set_rgb_foreground); -+ dupstring (&default_set_rgb_background, tty->TS_set_rgb_background); - default_max_colors = tty->TN_max_colors; - default_max_pairs = tty->TN_max_pairs; - default_no_color_video = tty->TN_no_color_video; -@@ -2064,6 +2092,8 @@ tty_default_color_capabilities (struct tty_display_info *tty, bool save) - tty->TS_orig_pair = default_orig_pair; - tty->TS_set_foreground = default_set_foreground; - tty->TS_set_background = default_set_background; -+ tty->TS_set_rgb_foreground = default_set_rgb_foreground; -+ tty->TS_set_rgb_background = default_set_rgb_background; - tty->TN_max_colors = default_max_colors; - tty->TN_max_pairs = default_max_pairs; - tty->TN_no_color_video = default_no_color_video; -@@ -2088,6 +2118,7 @@ tty_setup_colors (struct tty_display_info *tty, int mode) - tty->TN_max_pairs = 0; - tty->TN_no_color_video = 0; - tty->TS_set_foreground = tty->TS_set_background = tty->TS_orig_pair = NULL; -+ tty->TS_set_rgb_foreground = tty->TS_set_rgb_background = NULL; - break; - case 0: /* default colors, if any */ - default: -@@ -2102,10 +2133,45 @@ tty_setup_colors (struct tty_display_info *tty, int mode) - tty->TS_set_foreground = "\033[3%dm"; - tty->TS_set_background = "\033[4%dm"; - #endif -+ tty->TS_set_rgb_foreground = NULL; -+ tty->TS_set_rgb_background = NULL; - tty->TN_max_colors = 8; - tty->TN_max_pairs = 64; - tty->TN_no_color_video = 0; - break; -+ case 16777216: /* RGB colors */ -+ tty->TS_orig_pair = "\033[0m"; -+ -+ /* if the user hasn't explicitly chosen the ":" separator, use ";". */ -+ char * true_color_separator = getenv ("EMACS_TRUE_COLOR_SEPARATOR"); -+ if (true_color_separator && strcmp (true_color_separator, ":") == 0) -+ { -+ /* XXX chopps use ITU T.421 ':' separator */ -+ /* TODO This should be extracted from terminfo/termcap. */ -+#ifdef TERMINFO -+ tty->TS_set_rgb_foreground = "\033[38:2:%p1%d:%p2%d:%p3%dm"; -+ tty->TS_set_rgb_background = "\033[48:2:%p1%d:%p2%d:%p3%dm"; -+#else -+ tty->TS_set_rgb_foreground = "\033[38:2:%d:%d:%dm"; -+ tty->TS_set_rgb_background = "\033[48:2:%d:%d:%dm"; -+#endif -+ } -+ else -+ { -+ /* TODO This should be extracted from terminfo/termcap. */ -+#ifdef TERMINFO -+ tty->TS_set_rgb_foreground = "\033[38;2;%p1%d;%p2%d;%p3%dm"; -+ tty->TS_set_rgb_background = "\033[48;2;%p1%d;%p2%d;%p3%dm"; -+#else -+ tty->TS_set_rgb_foreground = "\033[38;2;%d;%d;%dm"; -+ tty->TS_set_rgb_background = "\033[48;2;%d;%d;%dm"; -+#endif -+ } -+ -+ tty->TN_max_colors = 16777216; -+ /*tty->TN_max_pairs = 64; TODO */ -+ tty->TN_no_color_video = 0; -+ break; - } - } - -@@ -4201,6 +4267,38 @@ use the Bourne shell command `TERM=... export TERM' (C-shell:\n\ - tty->TN_no_color_video = tgetnum ("NC"); - if (tty->TN_no_color_video == -1) - tty->TN_no_color_video = 0; -+ -+ -+ /* Allow the user to opt-in to True Color support. */ -+ char * true_color_separator = getenv ("EMACS_TRUE_COLOR_SEPARATOR"); -+ if (true_color_separator && strcmp (true_color_separator, ";") == 0) -+ { -+ /* TODO This should be extracted from terminfo/termcap. */ -+#ifdef TERMINFO -+ tty->TS_set_rgb_foreground = "\033[38;2;%p1%d;%p2%d;%p3%dm"; -+ tty->TS_set_rgb_background = "\033[48;2;%p1%d;%p2%d;%p3%dm"; -+#else -+ tty->TS_set_rgb_foreground = "\033[38;2;%d;%d;%dm"; -+ tty->TS_set_rgb_background = "\033[48;2;%d;%d;%dm"; -+#endif -+ } -+ else if (true_color_separator && strcmp (true_color_separator, ":") == 0) -+ { -+ /* XXX chopps use ITU T.421 ':' separator */ -+ /* TODO This should be extracted from terminfo/termcap. */ -+#ifdef TERMINFO -+ tty->TS_set_rgb_foreground = "\033[38:2:%p1%d:%p2%d:%p3%dm"; -+ tty->TS_set_rgb_background = "\033[48:2:%p1%d:%p2%d:%p3%dm"; -+#else -+ tty->TS_set_rgb_foreground = "\033[38:2:%d:%d:%dm"; -+ tty->TS_set_rgb_background = "\033[48:2:%d:%d:%dm"; -+#endif -+ } -+ else -+ { -+ tty->TS_set_rgb_foreground = NULL; -+ tty->TS_set_rgb_background = NULL; -+ } - } - - tty_default_color_capabilities (tty, 1); -diff --git a/src/termchar.h b/src/termchar.h -index d8066d7..e48d583 100644 ---- a/src/termchar.h -+++ b/src/termchar.h -@@ -157,6 +157,10 @@ struct tty_display_info - const char *TS_set_foreground; - const char *TS_set_background; - -+ /* Support for 24bit RGB color terminals. */ -+ const char *TS_set_rgb_foreground; -+ const char *TS_set_rgb_background; -+ - int TF_hazeltine; /* termcap hz flag. */ - int TF_insmode_motion; /* termcap mi flag: can move while in insert mode. */ - int TF_standout_motion; /* termcap mi flag: can move while in standout mode. */ -diff --git a/src/xfaces.c b/src/xfaces.c -index 29c91f7..347ebf8 100644 ---- a/src/xfaces.c -+++ b/src/xfaces.c -@@ -382,7 +382,7 @@ static ptrdiff_t lface_id_to_name_size; - - /* TTY color-related functions (defined in tty-colors.el). */ - --static Lisp_Object Qtty_color_desc, Qtty_color_by_index, Qtty_color_standard_values; -+static Lisp_Object Qtty_color_desc, Qtty_color_by_index, Qtty_color_standard_values, Qtty_color_canonicalize; - - /* The name of the function used to compute colors on TTYs. */ - -@@ -943,54 +943,80 @@ tty_lookup_color (struct frame *f, Lisp_Object color, XColor *tty_color, - if (!STRINGP (color) || NILP (Ffboundp (Qtty_color_desc))) - return 0; - -- XSETFRAME (frame, f); -- -- color_desc = call2 (Qtty_color_desc, color, frame); -- if (CONSP (color_desc) && CONSP (XCDR (color_desc))) -+ if (f->output_method == output_termcap -+ && f->output_data.tty->display_info->TS_set_rgb_foreground -+ && !NILP (Ffboundp (Qtty_color_standard_values))) - { -- Lisp_Object rgb; -- -- if (! INTEGERP (XCAR (XCDR (color_desc)))) -- return 0; -+ /* Terminal supports 3 byte RGB colors. */ -+ if (!NILP (Ffboundp (Qtty_color_canonicalize))) -+ color = call1(Qtty_color_canonicalize, color); - -- tty_color->pixel = XINT (XCAR (XCDR (color_desc))); -+ color_desc = call1 (Qtty_color_standard_values, color); -+ if (! parse_rgb_list (color_desc, tty_color)) -+ return 0; - -- rgb = XCDR (XCDR (color_desc)); -- if (! parse_rgb_list (rgb, tty_color)) -- return 0; -+ /* Map XColor to 3 byte values. */ -+ tty_color->pixel = 1 << 24 /* Set bit 24 to mark RGB values. */ -+ | (tty_color->red / 256) << 16 -+ | (tty_color->green / 256) << 8 -+ | (tty_color->blue / 256); - -- /* Should we fill in STD_COLOR too? */ - if (std_color) -- { -- /* Default STD_COLOR to the same as TTY_COLOR. */ -- *std_color = *tty_color; -- -- /* Do a quick check to see if the returned descriptor is -- actually _exactly_ equal to COLOR, otherwise we have to -- lookup STD_COLOR separately. If it's impossible to lookup -- a standard color, we just give up and use TTY_COLOR. */ -- if ((!STRINGP (XCAR (color_desc)) -- || NILP (Fstring_equal (color, XCAR (color_desc)))) -- && !NILP (Ffboundp (Qtty_color_standard_values))) -- { -- /* Look up STD_COLOR separately. */ -- rgb = call1 (Qtty_color_standard_values, color); -- if (! parse_rgb_list (rgb, std_color)) -- return 0; -- } -- } -+ *std_color = *tty_color; - - return 1; - } -- else if (NILP (Fsymbol_value (intern ("tty-defined-color-alist")))) -- /* We were called early during startup, and the colors are not -- yet set up in tty-defined-color-alist. Don't return a failure -- indication, since this produces the annoying "Unable to -- load color" messages in the *Messages* buffer. */ -- return 1; - else -- /* tty-color-desc seems to have returned a bad value. */ -- return 0; -+ { -+ XSETFRAME (frame, f); -+ -+ color_desc = call2 (Qtty_color_desc, color, frame); -+ if (CONSP (color_desc) && CONSP (XCDR (color_desc))) -+ { -+ Lisp_Object rgb; -+ -+ if (! INTEGERP (XCAR (XCDR (color_desc)))) -+ return 0; -+ -+ tty_color->pixel = XINT (XCAR (XCDR (color_desc))); -+ -+ rgb = XCDR (XCDR (color_desc)); -+ if (! parse_rgb_list (rgb, tty_color)) -+ return 0; -+ -+ /* Should we fill in STD_COLOR too? */ -+ if (std_color) -+ { -+ /* Default STD_COLOR to the same as TTY_COLOR. */ -+ *std_color = *tty_color; -+ -+ /* Do a quick check to see if the returned descriptor is -+ actually _exactly_ equal to COLOR, otherwise we have to -+ lookup STD_COLOR separately. If it's impossible to lookup -+ a standard color, we just give up and use TTY_COLOR. */ -+ if ((!STRINGP (XCAR (color_desc)) -+ || NILP (Fstring_equal (color, XCAR (color_desc)))) -+ && !NILP (Ffboundp (Qtty_color_standard_values))) -+ { -+ /* Look up STD_COLOR separately. */ -+ rgb = call1 (Qtty_color_standard_values, color); -+ if (! parse_rgb_list (rgb, std_color)) -+ return 0; -+ } -+ } -+ -+ return 1; -+ } -+ else if (NILP (Fsymbol_value (intern ("tty-defined-color-alist")))) -+ /* We were called early during startup, and the colors are not -+ yet set up in tty-defined-color-alist. Don't return a failure -+ indication, since this produces the annoying "Unable to -+ load color" messages in the *Messages* buffer. */ -+ return 1; -+ else -+ /* tty-color-desc seems to have returned a bad value. */ -+ return 0; -+ } - } - - /* A version of defined_color for non-X frames. */ -@@ -1008,7 +1034,9 @@ tty_defined_color (struct frame *f, const char *color_name, - color_def->green = 0; - - if (*color_name) -- status = tty_lookup_color (f, build_string (color_name), color_def, NULL); -+ { -+ status = tty_lookup_color (f, build_string (color_name), color_def, NULL); -+ } - - if (color_def->pixel == FACE_TTY_DEFAULT_COLOR && *color_name) - { -@@ -5780,6 +5808,7 @@ map_tty_color (struct frame *f, struct face *face, - unsigned long default_pixel = - foreground_p ? FACE_TTY_DEFAULT_FG_COLOR : FACE_TTY_DEFAULT_BG_COLOR; - unsigned long pixel = default_pixel; -+ XColor true_color; - #ifdef MSDOS - unsigned long default_other_pixel = - foreground_p ? FACE_TTY_DEFAULT_BG_COLOR : FACE_TTY_DEFAULT_FG_COLOR; -@@ -5798,7 +5827,18 @@ map_tty_color (struct frame *f, struct face *face, - { - /* Associations in tty-defined-color-alist are of the form - (NAME INDEX R G B). We need the INDEX part. */ -- pixel = XINT (XCAR (XCDR (def))); -+ if (f->output_method == output_termcap -+ && f->output_data.tty->display_info->TS_set_rgb_foreground -+ && parse_rgb_list (XCDR (XCDR(def)), &true_color)) -+ { -+ /* Map XColor to 3 byte values. */ -+ pixel = 1 << 24 /* Set bit 24 to mark RGB values. */ -+ | (true_color.red / 256) << 16 -+ | (true_color.green / 256) << 8 -+ | (true_color.blue / 256); -+ } -+ else -+ pixel = XINT (XCAR (XCDR (def))); - } - - if (pixel == default_pixel && STRINGP (color)) -@@ -6460,6 +6500,7 @@ syms_of_xfaces (void) - DEFSYM (Qwindow_divider, "window-divider"); - DEFSYM (Qwindow_divider_first_pixel, "window-divider-first-pixel"); - DEFSYM (Qwindow_divider_last_pixel, "window-divider-last-pixel"); -+ DEFSYM (Qtty_color_canonicalize, "tty-color-canonicalize"); - DEFSYM (Qtty_color_desc, "tty-color-desc"); - DEFSYM (Qtty_color_standard_values, "tty-color-standard-values"); - DEFSYM (Qtty_color_by_index, "tty-color-by-index"); diff --git a/pkgs/applications/editors/emacs-25/at-fdcwd.patch b/pkgs/applications/editors/emacs-25/at-fdcwd.patch deleted file mode 100644 index 2d8099b73736..000000000000 --- a/pkgs/applications/editors/emacs-25/at-fdcwd.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/lib/careadlinkat.h b/lib/careadlinkat.h -index 84ede3e..8e8f42e 100644 ---- a/lib/careadlinkat.h -+++ b/lib/careadlinkat.h -@@ -23,6 +23,10 @@ - #include - #include - -+#ifndef AT_FDCWD -+#define AT_FDCWD -2 -+#endif -+ - struct allocator; - - /* Assuming the current directory is FD, get the symbolic link value diff --git a/pkgs/applications/editors/emacs-25/default.nix b/pkgs/applications/editors/emacs-25/default.nix deleted file mode 100644 index a8d994012e27..000000000000 --- a/pkgs/applications/editors/emacs-25/default.nix +++ /dev/null @@ -1,109 +0,0 @@ -{ stdenv, lib, fetchurl, ncurses, xlibsWrapper, libXaw, libXpm, Xaw3d -, pkgconfig, gettext, libXft, dbus, libpng, libjpeg, libungif -, libtiff, librsvg, texinfo, gconf, libxml2, imagemagick, gnutls -, alsaLib, cairo, acl, gpm, AppKit, CoreWLAN, Kerberos, GSS, ImageIO -, autoconf, automake -, withX ? !stdenv.isDarwin -, withGTK3 ? false, gtk3 ? null -, withXwidgets ? false, webkitgtk24x ? null, wrapGAppsHook ? null, glib_networking ? null -, withGTK2 ? true, gtk2 -}: - -assert (libXft != null) -> libpng != null; # probably a bug -assert stdenv.isDarwin -> libXaw != null; # fails to link otherwise -assert withGTK2 -> withX || stdenv.isDarwin; -assert withGTK3 -> withX || stdenv.isDarwin; -assert withGTK2 -> !withGTK3 && gtk2 != null; -assert withGTK3 -> !withGTK2 && gtk3 != null; -assert withXwidgets -> withGTK3 && webkitgtk24x != null; - -let - toolkit = - if withGTK3 then "gtk3" - else if withGTK2 then "gtk2" - else "lucid"; -in - -stdenv.mkDerivation rec { - name = "emacs-25.1-rc2"; - - builder = ./builder.sh; - - src = fetchurl { - url = "ftp://alpha.gnu.org/gnu/emacs/pretest/${name}.tar.xz"; - sha256 = "1hffvyvl50mrivdv6lp92sbxi3l2zhblj8npmpbzk47zpl1mzm2v"; - }; - - patches = lib.optionals stdenv.isDarwin [ - ./at-fdcwd.patch - ]; - - postPatch = '' - sed -i 's|/usr/share/locale|${gettext}/share/locale|g' lisp/international/mule-cmds.el - ''; - - buildInputs = - [ ncurses gconf libxml2 gnutls alsaLib pkgconfig texinfo acl gpm gettext - autoconf automake ] - ++ stdenv.lib.optional stdenv.isLinux dbus - ++ stdenv.lib.optionals withX - [ xlibsWrapper libXaw Xaw3d libXpm libpng libjpeg libungif libtiff librsvg libXft - imagemagick gconf ] - ++ stdenv.lib.optional (withX && withGTK2) gtk2 - ++ stdenv.lib.optional (withX && withGTK3) gtk3 - ++ stdenv.lib.optional (stdenv.isDarwin && withX) cairo - ++ stdenv.lib.optionals withXwidgets [webkitgtk24x wrapGAppsHook glib_networking]; - - propagatedBuildInputs = stdenv.lib.optionals stdenv.isDarwin [ AppKit GSS ImageIO ]; - - hardeningDisable = [ "format" ]; - - configureFlags = - (if stdenv.isDarwin - then [ "--with-ns" "--disable-ns-self-contained" ] - else if withX - then [ "--with-x-toolkit=${toolkit}" "--with-xft" ] - else [ "--with-x=no" "--with-xpm=no" "--with-jpeg=no" "--with-png=no" - "--with-gif=no" "--with-tiff=no" ]) - ++ stdenv.lib.optional withXwidgets "--with-xwidgets"; - - NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (stdenv.isDarwin && withX) - "-I${cairo.dev}/include/cairo"; - - preBuild = '' - find . -name '*.elc' -delete - ''; - - postInstall = '' - mkdir -p $out/share/emacs/site-lisp/ - cp ${./site-start.el} $out/share/emacs/site-lisp/site-start.el - '' + stdenv.lib.optionalString stdenv.isDarwin '' - mkdir -p $out/Applications - mv nextstep/Emacs.app $out/Applications - ''; - - meta = with stdenv.lib; { - description = "GNU Emacs 25 (pre), the extensible, customizable text editor"; - homepage = http://www.gnu.org/software/emacs/; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ chaoflow lovek323 peti the-kenny jwiegley ]; - platforms = platforms.all; - - longDescription = '' - GNU Emacs is an extensible, customizable text editor—and more. At its - core is an interpreter for Emacs Lisp, a dialect of the Lisp - programming language with extensions to support text editing. - - The features of GNU Emacs include: content-sensitive editing modes, - including syntax coloring, for a wide variety of file types including - plain text, source code, and HTML; complete built-in documentation, - including a tutorial for new users; full Unicode support for nearly all - human languages and their scripts; highly customizable, using Emacs - Lisp code or a graphical interface; a large number of extensions that - add other functionality, including a project planner, mail and news - reader, debugger interface, calendar, and more. Many of these - extensions are distributed with GNU Emacs; others are available - separately. - ''; - }; -} diff --git a/pkgs/applications/editors/emacs-25/site-start.el b/pkgs/applications/editors/emacs-25/site-start.el deleted file mode 100644 index 023d6412ed84..000000000000 --- a/pkgs/applications/editors/emacs-25/site-start.el +++ /dev/null @@ -1,17 +0,0 @@ -;; NixOS specific load-path -(setq load-path - (append (reverse (mapcar (lambda (x) (concat x "/share/emacs/site-lisp/")) - (split-string (or (getenv "NIX_PROFILES") "")))) - load-path)) - -;;; Make `woman' find the man pages -(eval-after-load 'woman - '(setq woman-manpath - (append (reverse (mapcar (lambda (x) (concat x "/share/man/")) - (split-string (or (getenv "NIX_PROFILES") "")))) - woman-manpath))) - -;; Make tramp work for remote NixOS machines -;;; NOTE: You might want to add -(eval-after-load 'tramp - '(add-to-list 'tramp-remote-path "/run/current-system/sw/bin")) diff --git a/pkgs/applications/editors/emacs-modes/cask/default.nix b/pkgs/applications/editors/emacs-modes/cask/default.nix index 0566e0e8b870..56ba5ba9710b 100644 --- a/pkgs/applications/editors/emacs-modes/cask/default.nix +++ b/pkgs/applications/editors/emacs-modes/cask/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchFromGitHub, emacs, python }: stdenv.mkDerivation rec { - version = "0.7.4"; + version = "0.8.1"; name = "cask-${version}"; src = fetchFromGitHub { owner = "cask"; repo = "cask"; rev = "v${version}"; - sha256 = "1hvm6r6a8rgjwnn2mcamwqrmhz424vlr4mbvbri3wmn0ikbk510l"; + sha256 = "1sl094adnchjvf189c3l1njawrj5ww1sv5vvjr9hb1ng2rw20z7b"; }; buildInputs = [ emacs python ]; diff --git a/pkgs/applications/editors/emacs-modes/color-theme-solarized/default.nix b/pkgs/applications/editors/emacs-modes/color-theme-solarized/default.nix index ef006439a555..6b51f117ad85 100644 --- a/pkgs/applications/editors/emacs-modes/color-theme-solarized/default.nix +++ b/pkgs/applications/editors/emacs-modes/color-theme-solarized/default.nix @@ -24,12 +24,11 @@ stdenv.mkDerivation rec { install *.el* $out/share/emacs/site-lisp ''; - meta = { + meta = with stdenv.lib; { description = "Precision colors for machines and people"; homepage = http://ethanschoonover.com/solarized; - maintainers = "Samuel Rivas "; - license = stdenv.lib.licenses.mit; - - platforms = stdenv.lib.platforms.all; + maintainers = [ maintainers.samuelrivas ]; + license = licenses.mit; + platforms = platforms.all; }; } diff --git a/pkgs/applications/editors/emacs-modes/cua/default.nix b/pkgs/applications/editors/emacs-modes/cua/default.nix index a03c64476229..0305be28ad62 100644 --- a/pkgs/applications/editors/emacs-modes/cua/default.nix +++ b/pkgs/applications/editors/emacs-modes/cua/default.nix @@ -3,6 +3,6 @@ builder = ./builder.sh; src = fetchurl { url = http://tarballs.nixos.org/cua-mode-2.10.el; - md5 = "5bf5e43f5f38c8383868c7c6c5baca09"; + sha256 = "01877xjbq0v9wrpcbnhvppdn9wxliwkkjg3dr6k795mjgslwhr1b"; }; } diff --git a/pkgs/applications/editors/emacs-modes/elpa-generated.nix b/pkgs/applications/editors/emacs-modes/elpa-generated.nix index 8694c30c6d40..7c56b1ab6e56 100644 --- a/pkgs/applications/editors/emacs-modes/elpa-generated.nix +++ b/pkgs/applications/editors/emacs-modes/elpa-generated.nix @@ -28,10 +28,10 @@ ada-mode = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib, wisi }: elpaBuild { pname = "ada-mode"; - version = "5.2.0"; + version = "5.2.1"; src = fetchurl { - url = "https://elpa.gnu.org/packages/ada-mode-5.2.0.tar"; - sha256 = "1j4f94bmykz5j6kyyg5x81k0yjai609c1qzs8sig8v267hydkpqr"; + url = "https://elpa.gnu.org/packages/ada-mode-5.2.1.tar"; + sha256 = "099c8vm6jvwypff981vbs77y6hqq31fn6s8gwqkmncq04mk3vw34"; }; packageRequires = [ cl-lib emacs wisi ]; meta = { @@ -81,10 +81,10 @@ aggressive-indent = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }: elpaBuild { pname = "aggressive-indent"; - version = "1.8.1"; + version = "1.8.3"; src = fetchurl { - url = "https://elpa.gnu.org/packages/aggressive-indent-1.8.1.el"; - sha256 = "07d311dwg6rpzydh9bw9dn1djf4x4f00ma41jmsl35mcd2m0bpz8"; + url = "https://elpa.gnu.org/packages/aggressive-indent-1.8.3.el"; + sha256 = "0jnzccl50x0wapprgwxinp99pwwa6j43q6msn4gv437j7swy8wnj"; }; packageRequires = [ cl-lib emacs ]; meta = { @@ -175,10 +175,10 @@ }) {}; auctex = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild { pname = "auctex"; - version = "11.89.4"; + version = "11.89.8"; src = fetchurl { - url = "https://elpa.gnu.org/packages/auctex-11.89.4.tar"; - sha256 = "06dxj9wflwgzy88vk47pdk6xln4f63cab7s73ynwp2bdqjs99f5b"; + url = "https://elpa.gnu.org/packages/auctex-11.89.8.tar"; + sha256 = "0rilldzb7sm7k22vfifdsnxz1an94jnn1bn8gfmqkac4g9cskl46"; }; packageRequires = []; meta = { @@ -228,10 +228,10 @@ }) {}; beacon = callPackage ({ elpaBuild, fetchurl, lib, seq }: elpaBuild { pname = "beacon"; - version = "1.3.1"; + version = "1.3.2"; src = fetchurl { - url = "https://elpa.gnu.org/packages/beacon-1.3.1.el"; - sha256 = "19dw9650kk4rch2qpp42wdq9687m3svj1addbp3yz4dijy7lx2mj"; + url = "https://elpa.gnu.org/packages/beacon-1.3.2.el"; + sha256 = "0ldja8xrrninm588f27bhxvp0b12cngazyz688lkxvwx28cpqb7n"; }; packageRequires = [ seq ]; meta = { @@ -335,10 +335,10 @@ company = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }: elpaBuild { pname = "company"; - version = "0.9.0"; + version = "0.9.2"; src = fetchurl { - url = "https://elpa.gnu.org/packages/company-0.9.0.tar"; - sha256 = "1d090j1xv97nbxzz0iq4gmzjijggm8wsd0y1zfsa8syrq8qa0ajs"; + url = "https://elpa.gnu.org/packages/company-0.9.2.tar"; + sha256 = "10divixs06gq9nm8s8x0q12ir07y27d06l52ix2dn84zvj853z4z"; }; packageRequires = [ cl-lib emacs ]; meta = { @@ -377,10 +377,10 @@ context-coloring = callPackage ({ elpaBuild, emacs, fetchurl, lib }: elpaBuild { pname = "context-coloring"; - version = "8.0.1"; + version = "8.1.0"; src = fetchurl { - url = "https://elpa.gnu.org/packages/context-coloring-8.0.1.tar"; - sha256 = "0c7sb8dzx6f40hz2l6zicc0shpxj3vzsmvdxzx65c4vgvr462js2"; + url = "https://elpa.gnu.org/packages/context-coloring-8.1.0.tar"; + sha256 = "01wm36qgxsg7lgdxkn7avzfmxcpilsmvfwz3s7y04i0sdrsjvzp4"; }; packageRequires = [ emacs ]; meta = { @@ -471,10 +471,10 @@ debbugs = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib, soap-client }: elpaBuild { pname = "debbugs"; - version = "0.10"; + version = "0.12"; src = fetchurl { - url = "https://elpa.gnu.org/packages/debbugs-0.10.tar"; - sha256 = "0vrsa70h6ipsq01qr9qzlaw1704xqviby321ri6w69wkwlcjkpin"; + url = "https://elpa.gnu.org/packages/debbugs-0.12.tar"; + sha256 = "1swi4d7fhahimid9j12cypmkz7dlqgffrnhfxy5ra44y3j2b35ph"; }; packageRequires = [ cl-lib soap-client ]; meta = { @@ -616,14 +616,15 @@ license = lib.licenses.free; }; }) {}; - el-search = callPackage ({ elpaBuild, emacs, fetchurl, lib }: elpaBuild { + el-search = callPackage ({ elpaBuild, emacs, fetchurl, lib, stream }: + elpaBuild { pname = "el-search"; - version = "0.2.2"; + version = "1.2.3"; src = fetchurl { - url = "https://elpa.gnu.org/packages/el-search-0.2.2.tar"; - sha256 = "07b4jk143vi3sydg03mg12gy1rs21q0qvs7p303irwz4pv8bfwqj"; + url = "https://elpa.gnu.org/packages/el-search-1.2.3.tar"; + sha256 = "1d7iqr4fr0kr171fnjcm2n0bgcwzdh6jl585mwjf2zqnqszv13h0"; }; - packageRequires = [ emacs ]; + packageRequires = [ emacs stream ]; meta = { homepage = "https://elpa.gnu.org/packages/el-search.html"; license = lib.licenses.free; @@ -698,10 +699,10 @@ excorporate = callPackage ({ elpaBuild, emacs, fetchurl, fsm, lib, soap-client, url-http-ntlm }: elpaBuild { pname = "excorporate"; - version = "0.7.5"; + version = "0.7.6"; src = fetchurl { - url = "https://elpa.gnu.org/packages/excorporate-0.7.5.tar"; - sha256 = "0w828zv8968ryphhi1zaizrs6fnxkgxdwjlhpriyc9129qnwx0cg"; + url = "https://elpa.gnu.org/packages/excorporate-0.7.6.tar"; + sha256 = "02bp0z6vpssc12vxxs1g4whmfxf88wsk0bcq4422vvz256l6vpf9"; }; packageRequires = [ emacs fsm soap-client url-http-ntlm ]; meta = { @@ -711,10 +712,10 @@ }) {}; exwm = callPackage ({ elpaBuild, fetchurl, lib, xelb }: elpaBuild { pname = "exwm"; - version = "0.10"; + version = "0.12"; src = fetchurl { - url = "https://elpa.gnu.org/packages/exwm-0.10.tar"; - sha256 = "1c8558dxy7a2m61a0bc0p5vrdw3nw03zq9s8wxgmdvlklyzbqa22"; + url = "https://elpa.gnu.org/packages/exwm-0.12.tar"; + sha256 = "1h964w9ir8plam45c194af74g5q1wdvgwrldlmlcplcswlsn3n4z"; }; packageRequires = [ xelb ]; meta = { @@ -767,10 +768,10 @@ ggtags = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }: elpaBuild { pname = "ggtags"; - version = "0.8.11"; + version = "0.8.12"; src = fetchurl { - url = "https://elpa.gnu.org/packages/ggtags-0.8.11.el"; - sha256 = "1q2bp2b7lylf7n6c1psfn5swyjg0y78ykm0ak2kd84pbyhqak2mq"; + url = "https://elpa.gnu.org/packages/ggtags-0.8.12.el"; + sha256 = "0ny3llk021g6r0s75xdm4hzpbxv393ddm2r6f2xdk8kqnq4gnirp"; }; packageRequires = [ cl-lib emacs ]; meta = { @@ -832,6 +833,20 @@ license = lib.licenses.free; }; }) {}; + highlight-escape-sequences = callPackage ({ elpaBuild, fetchurl, lib }: + elpaBuild { + pname = "highlight-escape-sequences"; + version = "0.3"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/highlight-escape-sequences-0.3.el"; + sha256 = "0q54h0zdaflr2sk4mwgm2ix8cdq4rm4pz03ln430qxc1zm8pz6gy"; + }; + packageRequires = []; + meta = { + homepage = "https://elpa.gnu.org/packages/highlight-escape-sequences.html"; + license = lib.licenses.free; + }; + }) {}; html5-schema = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild { pname = "html5-schema"; version = "0.1"; @@ -952,6 +967,19 @@ license = lib.licenses.free; }; }) {}; + json-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib }: elpaBuild { + pname = "json-mode"; + version = "0.1"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/json-mode-0.1.el"; + sha256 = "025bwpx7nc1qhdyf2yaqjdr6x1qr6q45776yvy427xdh4nbk054l"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://elpa.gnu.org/packages/json-mode.html"; + license = lib.licenses.free; + }; + }) {}; jumpc = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild { pname = "jumpc"; version = "3.0"; @@ -1059,10 +1087,10 @@ loccur = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }: elpaBuild { pname = "loccur"; - version = "1.2.2"; + version = "1.2.3"; src = fetchurl { - url = "https://elpa.gnu.org/packages/loccur-1.2.2.el"; - sha256 = "0ij5wzxysaikiccw7mjbw1sfylvih0n6b6yyp55vn8w1z2dba0xk"; + url = "https://elpa.gnu.org/packages/loccur-1.2.3.el"; + sha256 = "09pxp03g4pg95cpqiadyv9dz6qrwd9igrkwrhm4s38cscmqm7dzq"; }; packageRequires = [ cl-lib ]; meta = { @@ -1203,10 +1231,10 @@ }) {}; nameless = callPackage ({ elpaBuild, emacs, fetchurl, lib }: elpaBuild { pname = "nameless"; - version = "1.0.1"; + version = "1.0.2"; src = fetchurl { - url = "https://elpa.gnu.org/packages/nameless-1.0.1.el"; - sha256 = "0gb97pjmis4fx48lsm7clp9fw0h2w4p3kdfq3z9vq4fwy5hjsn74"; + url = "https://elpa.gnu.org/packages/nameless-1.0.2.el"; + sha256 = "13c1payc46ry5bf8ia8cwqpshm2ya74fi5r4sxq5n410z5f0pgqx"; }; packageRequires = [ emacs ]; meta = { @@ -1270,10 +1298,10 @@ }) {}; ntlm = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild { pname = "ntlm"; - version = "2.0.0"; + version = "2.1.0"; src = fetchurl { - url = "https://elpa.gnu.org/packages/ntlm-2.0.0.el"; - sha256 = "1n602yi60rwsacqw20kqbm97x6bhzjxblxbdprm36f31qmym8si4"; + url = "https://elpa.gnu.org/packages/ntlm-2.1.0.el"; + sha256 = "01d0bcmh8a36qf871w6bc05kjk9bmnh843m9869xw06zyvqwg9mv"; }; packageRequires = []; meta = { @@ -1336,10 +1364,10 @@ }) {}; org = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild { pname = "org"; - version = "20160829"; + version = "20161224"; src = fetchurl { - url = "https://elpa.gnu.org/packages/org-20160829.tar"; - sha256 = "1p0bxbzjzxmhsg1m4a3mlsphh7gcv6b97mfgkl22lfy0ia0g1fzv"; + url = "https://elpa.gnu.org/packages/org-20161224.tar"; + sha256 = "0b10bjypn0w5ja776f8sxl1qpvb61iyz1n3c74jx6fqwypv7dmgi"; }; packageRequires = []; meta = { @@ -1387,6 +1415,20 @@ license = lib.licenses.free; }; }) {}; + parsec = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }: + elpaBuild { + pname = "parsec"; + version = "0.1.3"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/parsec-0.1.3.tar"; + sha256 = "032m9iks5a05vbc4159dfs9b7shmqm6mk05jgbs9ndvy400drwd6"; + }; + packageRequires = [ cl-lib emacs ]; + meta = { + homepage = "https://elpa.gnu.org/packages/parsec.html"; + license = lib.licenses.free; + }; + }) {}; pinentry = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild { pname = "pinentry"; version = "0.1"; @@ -1529,10 +1571,10 @@ rudel = callPackage ({ cl-generic, cl-lib ? null, elpaBuild, emacs, fetchurl, lib }: elpaBuild { pname = "rudel"; - version = "0.3"; + version = "0.3.1"; src = fetchurl { - url = "https://elpa.gnu.org/packages/rudel-0.3.tar"; - sha256 = "041yac9a7hbz1fpmjlmc31ggcgg90fmw08z6bkzly2141yky8yh1"; + url = "https://elpa.gnu.org/packages/rudel-0.3.1.tar"; + sha256 = "0glqa68g509p0s2vcc0i8kzlddnc9brd9jqhnm5rzxz4i050cvnz"; }; packageRequires = [ cl-generic cl-lib emacs ]; meta = { @@ -1568,10 +1610,10 @@ }) {}; seq = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild { pname = "seq"; - version = "2.16"; + version = "2.19"; src = fetchurl { - url = "https://elpa.gnu.org/packages/seq-2.16.tar"; - sha256 = "1fc1cjbb3lrxgkhzvg4bkpxr408hhg8kqa07n0jfalrdzaa3bika"; + url = "https://elpa.gnu.org/packages/seq-2.19.tar"; + sha256 = "11hb7is6a4h1lscjcfrzh576j0g3m5yjydn16s6x5bxp5gsr6zha"; }; packageRequires = []; meta = { @@ -1661,10 +1703,10 @@ }) {}; sotlisp = callPackage ({ elpaBuild, emacs, fetchurl, lib }: elpaBuild { pname = "sotlisp"; - version = "1.5.2"; + version = "1.6.2"; src = fetchurl { - url = "https://elpa.gnu.org/packages/sotlisp-1.5.2.el"; - sha256 = "1kv161rmg71wjizd359s8l6d1z2ybyc8sbbvbwcbr778dj7x6wld"; + url = "https://elpa.gnu.org/packages/sotlisp-1.6.2.el"; + sha256 = "05cr4dmhg4wbmw7jbcfh0yrnbq6dhzp2wrbzvhwrfznz51j03nhi"; }; packageRequires = [ emacs ]; meta = { @@ -1674,10 +1716,10 @@ }) {}; spinner = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild { pname = "spinner"; - version = "1.7.1"; + version = "1.7.3"; src = fetchurl { - url = "https://elpa.gnu.org/packages/spinner-1.7.1.el"; - sha256 = "1fmwzdih0kbyvs8bn38mpm4sbs2mikqy2vdykfy9g20wpa8vb681"; + url = "https://elpa.gnu.org/packages/spinner-1.7.3.el"; + sha256 = "19kp1mmndbmw11sgvv2ggfjl4pyf5zrsbh3871f0965pw9z8vahd"; }; packageRequires = []; meta = { @@ -1687,10 +1729,10 @@ }) {}; stream = callPackage ({ elpaBuild, emacs, fetchurl, lib }: elpaBuild { pname = "stream"; - version = "2.2.1"; + version = "2.2.3"; src = fetchurl { - url = "https://elpa.gnu.org/packages/stream-2.2.1.el"; - sha256 = "1d91ddak5whb7kln216vhcsl707h5kirc6aqbkw82skhpg4c3ap1"; + url = "https://elpa.gnu.org/packages/stream-2.2.3.el"; + sha256 = "1y9nh5473p0dd149g675nybsdnzp8c4mq3wdql066nir7scz6rhy"; }; packageRequires = [ emacs ]; meta = { @@ -1861,10 +1903,10 @@ url-http-ntlm = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib, ntlm ? null }: elpaBuild { pname = "url-http-ntlm"; - version = "2.0.2"; + version = "2.0.3"; src = fetchurl { - url = "https://elpa.gnu.org/packages/url-http-ntlm-2.0.2.el"; - sha256 = "0jci5cl31hw4dj0j9ljq0iplg530wnwbw7b63crrwn3mza5cb2wf"; + url = "https://elpa.gnu.org/packages/url-http-ntlm-2.0.3.el"; + sha256 = "01ivfcxrxiqs8dlqg4s3q17y4mxx0kpin60fkwrs18pca4hni203"; }; packageRequires = [ cl-lib ntlm ]; meta = { @@ -1872,15 +1914,15 @@ license = lib.licenses.free; }; }) {}; - validate = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }: + validate = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib, seq }: elpaBuild { pname = "validate"; - version = "0.5"; + version = "1.0.2"; src = fetchurl { - url = "https://elpa.gnu.org/packages/validate-0.5.el"; - sha256 = "1gzphvcqih5zz80mmnc2wx2kgc13g9hv98kqsfpndbdd3bw3blph"; + url = "https://elpa.gnu.org/packages/validate-1.0.2.el"; + sha256 = "19xhd9mxkdcisspz5q3bnvf6jjsvmhjjrpw3pq5lgyqbcz8k8dsr"; }; - packageRequires = [ cl-lib emacs ]; + packageRequires = [ cl-lib emacs seq ]; meta = { homepage = "https://elpa.gnu.org/packages/validate.html"; license = lib.licenses.free; @@ -1980,10 +2022,10 @@ wisi = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }: elpaBuild { pname = "wisi"; - version = "1.1.3"; + version = "1.1.4"; src = fetchurl { - url = "https://elpa.gnu.org/packages/wisi-1.1.3.tar"; - sha256 = "1vhligxyg73gvr68767pjgiqxah00a920h6i37kip8xmhlkgp9ak"; + url = "https://elpa.gnu.org/packages/wisi-1.1.4.tar"; + sha256 = "1n0bq77vspbxpzs54r0rigb2fhj5a5vm8qxwgdnqdawanmq72l4r"; }; packageRequires = [ cl-lib emacs ]; meta = { @@ -2020,10 +2062,10 @@ xelb = callPackage ({ cl-generic, elpaBuild, emacs, fetchurl, lib }: elpaBuild { pname = "xelb"; - version = "0.11"; + version = "0.12"; src = fetchurl { - url = "https://elpa.gnu.org/packages/xelb-0.11.tar"; - sha256 = "12qgbv30dizp7kadq9kg7nfyg5qfbfy14s833zg95fqqa87qg90j"; + url = "https://elpa.gnu.org/packages/xelb-0.12.tar"; + sha256 = "0i9n0f3ibj4a5pwcsvwrah9m0fz32m0x6a9wsmjn3li20v8pcb81"; }; packageRequires = [ cl-generic emacs ]; meta = { @@ -2047,10 +2089,10 @@ yasnippet = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }: elpaBuild { pname = "yasnippet"; - version = "0.10.0"; + version = "0.11.0"; src = fetchurl { - url = "https://elpa.gnu.org/packages/yasnippet-0.10.0.tar"; - sha256 = "0vh70i73rknaxzglr4nragassgpjy2lj5mca2x6wqiqmv7mc8xdv"; + url = "https://elpa.gnu.org/packages/yasnippet-0.11.0.tar"; + sha256 = "1m0hchhianl69sb1iqa8av513qvz6krjg4b5ppwfx1sjlai9xj2y"; }; packageRequires = [ cl-lib ]; meta = { @@ -2061,10 +2103,10 @@ ztree = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }: elpaBuild { pname = "ztree"; - version = "1.0.3"; + version = "1.0.4"; src = fetchurl { - url = "https://elpa.gnu.org/packages/ztree-1.0.3.tar"; - sha256 = "1mwzk48sah4w5jmlmzqxnwhnlnc2mf25ayhgymv24sv8c6hdllsw"; + url = "https://elpa.gnu.org/packages/ztree-1.0.4.tar"; + sha256 = "0xiiaa660s8z7901siwvmqkqz30agfzsy3zcyry2r017m3ghqjph"; }; packageRequires = [ cl-lib ]; meta = { diff --git a/pkgs/applications/editors/emacs-modes/melpa-generated.nix b/pkgs/applications/editors/emacs-modes/melpa-generated.nix index 0f7e8cad751b..eebc140d2eb4 100644 --- a/pkgs/applications/editors/emacs-modes/melpa-generated.nix +++ b/pkgs/applications/editors/emacs-modes/melpa-generated.nix @@ -2,12 +2,12 @@ _0blayout = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "_0blayout"; - version = "20160826.1522"; + version = "20161007.2307"; src = fetchFromGitHub { owner = "etu"; repo = "0blayout-mode"; - rev = "3032dadf28ab63c132cd20abdd3a0008f6b72f9f"; - sha256 = "1xq91wx2f0psj395jlrjb2viwdz4ai1xm34m5xvanip2vm085xgy"; + rev = "873732ddb99a3ec18845a37467ee06bce4e61d87"; + sha256 = "1ymv9lqsn5xznyhax1pizw1i6h0pr7ckxhl28pix73wvzb5fl8mn"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6521ec44ae8b0ba2e0523517f0f3d5b94ddbe1be/recipes/0blayout"; @@ -20,6 +20,27 @@ license = lib.licenses.free; }; }) {}; + _0xc = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: + melpaBuild { + pname = "_0xc"; + version = "20161027.2140"; + src = fetchFromGitHub { + owner = "AdamNiederer"; + repo = "0xc"; + rev = "1f449d3c08bc87fd82d23a3cab71abfe6debb401"; + sha256 = "0nh06xvngckr6didb1br2c8v15v1a0rrraqhal1xmpl6xg76fxc6"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/3fbb2c86a50a8df9a3967787fc10f33beab2c933/recipes/0xc"; + sha256 = "0lxcz1x1dymsh9idhkn7jn8vphr724d6sb88a4g55x2m1rlmzg3w"; + name = "_0xc"; + }; + packageRequires = [ emacs s ]; + meta = { + homepage = "https://melpa.org/#/0xc"; + license = lib.licenses.free; + }; + }) {}; _2048-game = callPackage ({ fetchhg, fetchurl, lib, melpaBuild }: melpaBuild { pname = "_2048-game"; @@ -274,12 +295,12 @@ ac-cider = callPackage ({ auto-complete, cider, cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ac-cider"; - version = "20160810.2358"; + version = "20161006.19"; src = fetchFromGitHub { owner = "clojure-emacs"; repo = "ac-cider"; - rev = "8c652adebb0432e7aaafa2ff71200798b95e3a42"; - sha256 = "1lfdggd5mf5r623b3l0r6xwabikgxqyia7ym1x198lavxxvlrq1d"; + rev = "d8670939bbf88079263d5ace2b8bc04cf325be36"; + sha256 = "01g1h2j0rfih8v0yvvr5gjh3abcj2mz3jmfbis8a60ivmngab732"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e8adefaf2e284ef91baec3dbd3e10c868de69926/recipes/ac-cider"; @@ -295,12 +316,12 @@ ac-clang = callPackage ({ auto-complete, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pos-tip, yasnippet }: melpaBuild { pname = "ac-clang"; - version = "20150906.1008"; + version = "20161202.725"; src = fetchFromGitHub { owner = "yaruopooner"; repo = "ac-clang"; - rev = "6b3365063ddfb88d5527618217bb56166349ad4e"; - sha256 = "0n9zagwh3rz7b76irj4ya8wskffns9v1c1pivsdqgpd76spvl7n5"; + rev = "ad75d193bb8962136e1ecac04d33352dd70fb72e"; + sha256 = "0pchbhcs3bjf8r6f24lcf29in011502ncr2gi72faww6iz0pb285"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ffe0485048b85825f5e8ba95917d8c9dc64fe5de/recipes/ac-clang"; @@ -359,8 +380,8 @@ src = fetchFromGitHub { owner = "emacs-eclim"; repo = "emacs-eclim"; - rev = "a58dd558e6ad4f8f5d78b743955a758178e323be"; - sha256 = "1jn2raymx4qml8h7ala8jhgfzfbppd5nq55ffbs0il46r9w3n086"; + rev = "03d9cb7b6c3ac60fd796a2ba8fdfe13552720d3b"; + sha256 = "1dzy463jpfjz7qhr1zwx8n3xrba6zj87j6naf7xx4j704i03f9h8"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1e9d3075587fbd9ca188535fd945a7dc451c6d7e/recipes/ac-emacs-eclim"; @@ -401,8 +422,8 @@ src = fetchFromGitHub { owner = "syohex"; repo = "emacs-ac-emoji"; - rev = "f4b3a5b3548dc36f69daeff742f53b5bda538bae"; - sha256 = "19981mzxnqqdb8dsdizy2i8byb8sx9138x3nrvi6ap2qbcsabjmz"; + rev = "40a639764eb654f1b4bb705c817b66032a26ff2b"; + sha256 = "1gk84bv6w9lg5wrygd7cfab3h46j84k1dwmhzr7jay6n02q6y499"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/15f591f9cba367b071046fef5ae01bbbd0475ce3/recipes/ac-emoji"; @@ -418,12 +439,12 @@ ac-etags = callPackage ({ auto-complete, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ac-etags"; - version = "20151031.1921"; + version = "20161001.807"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-ac-etags"; - rev = "e53cb3a8dd44e41fba3d2b737f90a8cfc529e2a6"; - sha256 = "140i02b2ipyfmki945l1xd1nsqdpganhmi3bmwj1h9w8cg078bd4"; + rev = "7983e631c226fe0fa53af3b2d56bf4eca3d785ce"; + sha256 = "1vvgcy5hybrip4jn4pj9r3fahr6rc70k28w5aw951h0x7g7laipr"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/fda9c7def8bc54af4ab17dc049dd94324c8f10fa/recipes/ac-etags"; @@ -443,8 +464,8 @@ src = fetchFromGitHub { owner = "xiaohanyu"; repo = "ac-geiser"; - rev = "0e2e36532336f27e3dc3b01fff55ad1a4329817d"; - sha256 = "02ifz25rq64z0ifxs52aqdz0iz4mi6xvj88hcn3aakkmsj749vvn"; + rev = "502d18a8a0bd4b5fdd495a99299ba2a632c5cd9a"; + sha256 = "0h2kakb4f5hgzf5l2kpqngalcmc4402lkg1pvs88c8z4rqp2vfvz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/586ef409e3ae758b459b625d4bf0108f0525a085/recipes/ac-geiser"; @@ -590,8 +611,8 @@ src = fetchFromGitHub { owner = "purcell"; repo = "ac-inf-ruby"; - rev = "3a1e741b40b8dba0e9c235dad4b9907411d9dcd3"; - sha256 = "0xdqk0qr1mmm5q3049ldwlmrcfgz6rzk4yxc8qgz6kll27kciia0"; + rev = "ee53fc9c61950da9a96df3ff5ef186f9a9faf151"; + sha256 = "13xgv1c4gr075gffq95njra7bw1fkb5yp3xdlh3qndzw4bpary1l"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1a72abe0fe1253149afb45b0d9e81b6846a926c0/recipes/ac-inf-ruby"; @@ -712,12 +733,12 @@ ac-php = callPackage ({ ac-php-core, auto-complete, fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }: melpaBuild { pname = "ac-php"; - version = "20160628.422"; + version = "20161229.1930"; src = fetchFromGitHub { owner = "xcwen"; repo = "ac-php"; - rev = "5b463aba738648d0ac8e1d1000e849a858353ce8"; - sha256 = "0y0yzi9dy852yxww5zzj97fpr9sdgg6n5bk9s0hbwi0v4sj4hvwa"; + rev = "35fdc09f95050cc76d06f3e6ff1620927aa6377a"; + sha256 = "14ywlbxpkwi7fc7axfcnpisddn2886v134llgh0glrl4xkiyd0sf"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/ac-php"; @@ -733,12 +754,12 @@ ac-php-core = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, php-mode, popup, s, xcscope }: melpaBuild { pname = "ac-php-core"; - version = "20160819.2147"; + version = "20161213.2320"; src = fetchFromGitHub { owner = "xcwen"; repo = "ac-php"; - rev = "5b463aba738648d0ac8e1d1000e849a858353ce8"; - sha256 = "0y0yzi9dy852yxww5zzj97fpr9sdgg6n5bk9s0hbwi0v4sj4hvwa"; + rev = "35fdc09f95050cc76d06f3e6ff1620927aa6377a"; + sha256 = "14ywlbxpkwi7fc7axfcnpisddn2886v134llgh0glrl4xkiyd0sf"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/ac-php-core"; @@ -800,8 +821,8 @@ src = fetchFromGitHub { owner = "purcell"; repo = "ac-slime"; - rev = "df6c4e88b5ba2d15d47a651ecf7edc0986624112"; - sha256 = "13yghv7p6c91fn8mrxbwrb6ldk5n3b6nj6a7pwsvks1q73i1pl88"; + rev = "fafc6f75c90b2dbf124edd3e2887860ce052081e"; + sha256 = "0dix8giqbc9la5mycrjgq287j03s44nhrg9b1drsca2sc58cnach"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/ac-slime"; @@ -859,12 +880,12 @@ ace-isearch = callPackage ({ ace-jump-mode, avy, emacs, fetchFromGitHub, fetchurl, helm-swoop, lib, melpaBuild }: melpaBuild { pname = "ace-isearch"; - version = "20160804.1608"; + version = "20161107.1730"; src = fetchFromGitHub { owner = "tam17aki"; repo = "ace-isearch"; - rev = "1355f15b49490eeff0336716f4b27b02784ef55a"; - sha256 = "15rsb0i53k9vi7w2p08k89wdqcy51av0jg8zb5a0vssc7awpk4sk"; + rev = "33b98ecdb3d5a966cbfc0ec7b104be5afca14f25"; + sha256 = "05a5jf9lx1g5cms5p1js7qxria5dfm310m83zmvwcdr96mfbz9ii"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/344f0cf784a027cde196b7d766024fb415fa1968/recipes/ace-isearch"; @@ -901,12 +922,12 @@ ace-jump-helm-line = callPackage ({ avy, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }: melpaBuild { pname = "ace-jump-helm-line"; - version = "20160329.1218"; + version = "20160918.1136"; src = fetchFromGitHub { owner = "cute-jumper"; repo = "ace-jump-helm-line"; - rev = "8779050e4794279946892b6a156d0086554a9c9e"; - sha256 = "1d4bxxcnjbdr6cjr3jmz2zrnzjv5pwrypbp4xqgqyv9rz02n7ac1"; + rev = "1483055255df3f8ae349f7520f05b1e43ea3ed37"; + sha256 = "191a2g1if1jliikbxkpwmvlp4v1sp541j71xrlymili8ygm0idq5"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8925f3daa92ff39776b55642aa9ec0e49245c0c7/recipes/ace-jump-helm-line"; @@ -964,12 +985,12 @@ ace-link = callPackage ({ avy, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ace-link"; - version = "20160811.112"; + version = "20161203.1059"; src = fetchFromGitHub { owner = "abo-abo"; repo = "ace-link"; - rev = "36770f464a0d15f8c666a55f8aedde26c238f4f4"; - sha256 = "1rcpylzpqf06jss7kibm3jr1lpakhf236nqg39725bxqai63j6ci"; + rev = "3691a0ca4d897d1b5f51795a14dc33b4ee48dd4a"; + sha256 = "0yhy6cq19zllc8cycpq5assdgdmhl77ybs7xr3q99m0jqx20g5xx"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/68032f40c0ce4170a22db535be4bfa7099f61f85/recipes/ace-link"; @@ -1027,12 +1048,12 @@ ace-popup-menu = callPackage ({ avy-menu, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ace-popup-menu"; - version = "20160522.519"; + version = "20161231.1553"; src = fetchFromGitHub { owner = "mrkkrp"; repo = "ace-popup-menu"; - rev = "8c97cf2cd9decae3acaf6c858a986bdbc9d7ccff"; - sha256 = "1afw9nxxd0shlg62w9ifc1wlf8vsw5ss8r52h5a5s8m3pnswlx2h"; + rev = "423c59ac11899c66741aca3cad5dda46a167dfe4"; + sha256 = "01gh26marr3h61lvqw0mdc7r3s6cr2s6g5vqxf84ip43fzhi9zc3"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/53742e2242101c4b3b3901f5c74e24facf62c7d6/recipes/ace-popup-menu"; @@ -1048,12 +1069,12 @@ ace-window = callPackage ({ avy, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ace-window"; - version = "20160225.819"; + version = "20161018.1624"; src = fetchFromGitHub { owner = "abo-abo"; repo = "ace-window"; - rev = "77cc05f7284577ed396f292de0e7bb8ec561ea81"; - sha256 = "1afc0f8ax334gv644zdrrp55754gxa353iijvmfzxmlr67v23j96"; + rev = "de873d17f0ac33d49b769b302f94a71ccddd4502"; + sha256 = "1jyrycbgrl3m5ab1k9r5w4p2pvmiqf6cgpwqdbxz8wdgfpzjk9ki"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/42fe131d3c2ea498e4df30ba539a6b91c00f5b07/recipes/ace-window"; @@ -1128,15 +1149,36 @@ license = lib.licenses.free; }; }) {}; + add-node-modules-path = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "add-node-modules-path"; + version = "20160912.220"; + src = fetchFromGitHub { + owner = "codesuki"; + repo = "add-node-modules-path"; + rev = "9ed240e05dcb9628ba380151b54b02688be5e78e"; + sha256 = "0avv3ypdpscchq9n1lxs0ba0fc52zjyv7dbv54s7sclqxx4mi63k"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/63e99d8fc0678d7b1831cae8940e9e6547780861/recipes/add-node-modules-path"; + sha256 = "0gbl875fgqr5np6r4cs8njs6fil1qmy8a5wir88x78ybdwwxsmbl"; + name = "add-node-modules-path"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/add-node-modules-path"; + license = lib.licenses.free; + }; + }) {}; addressbook-bookmark = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "addressbook-bookmark"; - version = "20160316.2303"; + version = "20161130.150"; src = fetchFromGitHub { owner = "thierryvolpiatto"; repo = "addressbook-bookmark"; - rev = "f58b944d11f8522ab85bbaf52a9591518e296545"; - sha256 = "0dk7hyp7cs0ws4w7i32g7di5aqkkxlxkvmrllg43bi5ivlji7pvn"; + rev = "ad3c73369b804a48803fdfdf2ab613e6220260de"; + sha256 = "012kfqkmpagn8jrp09acpx631qmjim7b33j0pahv1fcqhin89pn6"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a497aec6e27efa627068542cae5a16c01c3c6d3c/recipes/addressbook-bookmark"; @@ -1215,12 +1257,12 @@ ag = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "ag"; - version = "20160731.1323"; + version = "20161228.1641"; src = fetchFromGitHub { owner = "Wilfred"; repo = "ag.el"; - rev = "e93d45fd09bcdac27cbd7bbab2a057cecbcbc01f"; - sha256 = "0jwdgpinz4as7npg7fhqycy6892p6i5g0gp5dd0n2n5r40gh620n"; + rev = "754d0fea35059c583b9613c7924cebba74fe1319"; + sha256 = "0s9idrnzvd8sdx266s3p4jgpx0zd7s0cb7f48wp319xmqh448p84"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/67f410ac3a58a038e194bcf174bc0a8ceceafb9a/recipes/ag"; @@ -1236,12 +1278,12 @@ aggressive-fill-paragraph = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "aggressive-fill-paragraph"; - version = "20160301.1414"; + version = "20161023.321"; src = fetchFromGitHub { owner = "davidshepherd7"; repo = "aggressive-fill-paragraph-mode"; - rev = "0a0f8ff42b0964751889b9ce2477bab82acee3fe"; - sha256 = "05lci7hpla4f0z124zr58aj282pgmabqkzgcqadf0hbnqbz2jwcs"; + rev = "25668da48db3b505f01875e0f4ededc5ad8dcb9e"; + sha256 = "141vc0byjax91m192gbv7xlcqjzwhm8pp4hv5bka0chx20g14vq6"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/982f5936f2d83222263df2886ca0b629076366bb/recipes/aggressive-fill-paragraph"; @@ -1257,12 +1299,12 @@ aggressive-indent = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "aggressive-indent"; - version = "20160608.1625"; + version = "20161201.1001"; src = fetchFromGitHub { owner = "Malabarba"; repo = "aggressive-indent-mode"; - rev = "6c3842eb4501bf6f39ea9b21c50aadd0339c4e6e"; - sha256 = "168p898flmvczqqh1ql46lgm8cw5y0ydzg5mxpylfiqa26gq3f20"; + rev = "dfdf3b23d147a3b4d5e8ed80ee9ea098f65ca48c"; + sha256 = "01rb57qamwyaip3ar81vdxyri0s4vpbvpyphhcijin0a8ny33qwa"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1e6aed365c42987d64d0cd9a8a6178339b1b39e8/recipes/aggressive-indent"; @@ -1277,11 +1319,11 @@ }) {}; ahg = callPackage ({ fetchhg, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ahg"; - version = "20160822.144"; + version = "20161110.455"; src = fetchhg { url = "https://bitbucket.com/agriggio/ahg"; - rev = "38f9f9740e19"; - sha256 = "0wcg03n9ddrh79r98i1pl59wncak7bb46cqcrv60hn239karsdaa"; + rev = "0e1d1b4142e7"; + sha256 = "09606q8b9qhz1szshv8aapc7450j085rjf2fv769vbivr3kshqvh"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/ahg"; @@ -1339,12 +1381,12 @@ airline-themes = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, powerline }: melpaBuild { pname = "airline-themes"; - version = "20160815.1724"; + version = "20161024.1051"; src = fetchFromGitHub { owner = "AnthonyDiGirolamo"; repo = "airline-themes"; - rev = "ce0804bfc4fcd6db07d1ffc96722e1e9e87f0871"; - sha256 = "0cbb8389wd80hbfb084q3b3qlkzxmz5i682rd2sl0rgvk9aafik4"; + rev = "11e69a143ed66e50f0c95fda93ba0a5fa8bdf583"; + sha256 = "1n9qf9xmqbm0mjgcbzxgnmy1020rbh1cd7jmjbbfd8xhlh0kw14z"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/addeb923176132a52807308fa5e71d41c9511802/recipes/airline-themes"; @@ -1381,12 +1423,12 @@ alchemist = callPackage ({ company, dash, elixir-mode, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info }: melpaBuild { pname = "alchemist"; - version = "20160602.2341"; + version = "20161220.2300"; src = fetchFromGitHub { owner = "tonini"; repo = "alchemist.el"; - rev = "b70a9458d7cb0cf191a660e7f27c73dc49d0278c"; - sha256 = "1pfmpwma9k6l386v4m884gb5p2apl4k5m2vaxhmb7hnf9p27yrwl"; + rev = "d90689ad51188711640e6660f449c21232b6815c"; + sha256 = "0rsds06r53hrk1drq9sj5a2xkw3p2w986ziiqj143qrcp1yaig9z"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6616dc61d17c5bd89bc4d226baab24a1f8e49b3e/recipes/alchemist"; @@ -1402,12 +1444,12 @@ alda-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "alda-mode"; - version = "20160322.0"; + version = "20161213.1359"; src = fetchFromGitHub { owner = "jgkamat"; repo = "alda-mode"; - rev = "f75173f4cb86259503ff4950e450e3fa7a37a808"; - sha256 = "00s6z6f9nlqw528ppbwsglh9wshw8cpg2g102ywdsl28bwy3wvgj"; + rev = "d8fcdc769d6b6b0729943b7dee2c85cf8ca3551b"; + sha256 = "0660kfhaf7q82a5zp48938z7ddl47mhdwa3rfk1xzbh84xbd9hc2"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2612c494a2b6bd43ffbbaef88ce9ee6327779158/recipes/alda-mode"; @@ -1423,12 +1465,12 @@ alect-themes = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "alect-themes"; - version = "20160414.114"; + version = "20161218.1121"; src = fetchFromGitHub { owner = "alezost"; repo = "alect-themes"; - rev = "6fd786c0ccd5a07e8968942d0a868753503ab4c4"; - sha256 = "1g9fai2i8izswiih4ba0l2wamhfl6pvmkq7is8x0wr45waldcga9"; + rev = "e01abf039a39de2fdc00a1b7f36842c5f68ff97d"; + sha256 = "1nbr25003b0jlchy26l4pm1r4gxa2zprnqr8k0qvkhyrszjy78qg"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/84c25a290ae4bcc4674434c83c66ae128e4c4282/recipes/alect-themes"; @@ -1486,12 +1528,12 @@ all-ext = callPackage ({ all, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "all-ext"; - version = "20160604.1501"; + version = "20161216.415"; src = fetchFromGitHub { owner = "rubikitch"; repo = "all-ext"; - rev = "2639955833132451679feae8a54ca157c1d864ce"; - sha256 = "0g5g0nhq76v8jbhs38si6abwn4zv9qh7jl87qhhy3in8s1inswzf"; + rev = "456bcf277158fc71f66ec11bff4c826c9b0db778"; + sha256 = "091sf4m06s7c6wbckzcqfdz5g2lvh2q84hfny202kwq9j7fr7nlm"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f8e4328cae9b4759a75da0b26ea8b68821bc71af/recipes/all-ext"; @@ -1504,15 +1546,57 @@ license = lib.licenses.free; }; }) {}; + all-the-icons = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, font-lock-plus, lib, melpaBuild }: + melpaBuild { + pname = "all-the-icons"; + version = "20161219.329"; + src = fetchFromGitHub { + owner = "domtronn"; + repo = "all-the-icons.el"; + rev = "1e4a1a0b53ffcb427fdbc6d13ee6e9c8d23e6216"; + sha256 = "0nrihr280aqq58x65fjyrpci4bsam9ddhsnid2cf8jmsngpvhcdc"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/604c01aa15927bd122260529ff0f4bb6a8168b7e/recipes/all-the-icons"; + sha256 = "00ba4gkfvg38l4s0gsb4asvv1hfw9yjl2786imybzy7bkg9f9x3q"; + name = "all-the-icons"; + }; + packageRequires = [ dash emacs font-lock-plus ]; + meta = { + homepage = "https://melpa.org/#/all-the-icons"; + license = lib.licenses.free; + }; + }) {}; + all-the-icons-dired = callPackage ({ all-the-icons, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "all-the-icons-dired"; + version = "20161203.605"; + src = fetchFromGitHub { + owner = "jtbm37"; + repo = "all-the-icons-dired"; + rev = "3ccab8ae4113e03ff2c7b103d388fa6ec1447d9c"; + sha256 = "0rbcbhsw5js9wx29pp65s7q6mxhbz1jskhvzl0k4gqlk4m6gqcxq"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/cf8e432e3cd316ffeb7e0b68b855e23bcc3b9491/recipes/all-the-icons-dired"; + sha256 = "0fbl3i3wi2ka43xri0i30x561115hmv3j75vpkyzz3g1m9w006br"; + name = "all-the-icons-dired"; + }; + packageRequires = [ all-the-icons emacs ]; + meta = { + homepage = "https://melpa.org/#/all-the-icons-dired"; + license = lib.licenses.free; + }; + }) {}; amd-mode = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, js2-mode, js2-refactor, lib, makey, melpaBuild, projectile, s, seq }: melpaBuild { pname = "amd-mode"; - version = "20160801.1445"; + version = "20161124.550"; src = fetchFromGitHub { owner = "NicolasPetton"; repo = "amd-mode.el"; - rev = "f785c5bf39f04194dbeb5c55138c03de1524bb22"; - sha256 = "1f6q4p31v0j0n088blz87fp8n4awr39w7fpid9yfkccpi7grmjkn"; + rev = "977b53e28b3141408fff4814be8b67ee23650cac"; + sha256 = "0m80bwar80qsga735cqrn6rbvfz4w9a036zh8inhsigylv3vwqjv"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e4d6e9935e4935c9de769c7bf1c1b6dd256e10da/recipes/amd-mode"; @@ -1558,12 +1642,12 @@ ample-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ample-theme"; - version = "20150814.1101"; + version = "20161213.912"; src = fetchFromGitHub { owner = "jordonbiondo"; repo = "ample-theme"; - rev = "8259da1cc14e7f7dd3ee0fb01245c58110a95382"; - sha256 = "0x72czw5rmz89w5fa27z54bz8qirrr882g0r37pb8li04j1hk7kw"; + rev = "8fbae3a9965f933c487f4cfdf2d881753d9feeb1"; + sha256 = "0knzfxdncb1x41zqknv70p62zwr4k5nxf8l108x9w043drxc10lw"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d448c03202137a461ed814ce87acfac23faf676e/recipes/ample-theme"; @@ -1600,12 +1684,12 @@ anaconda-mode = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, pythonic, s }: melpaBuild { pname = "anaconda-mode"; - version = "20160825.204"; + version = "20161121.1137"; src = fetchFromGitHub { owner = "proofit404"; repo = "anaconda-mode"; - rev = "7128978b571ec013ccfd91865029cc0d062c269c"; - sha256 = "0l683fk3l82w6097d1g8i9ka3sfv9vpa363i6500xwraa49fcq9i"; + rev = "4f84759cab7746cf705f75719e701551d47de1e3"; + sha256 = "1sra3blrdkw4yd3ivsyg64vgd8207clfpqhjchja0x2n3z8792v5"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e03b698fd3fe5b80bdd24ce01f7fba28e9da0da8/recipes/anaconda-mode"; @@ -1745,12 +1829,12 @@ annotate = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "annotate"; - version = "20160825.444"; + version = "20161006.16"; src = fetchFromGitHub { owner = "bastibe"; repo = "annotate.el"; - rev = "95da17258802a0a831ed1558faca64b589b261af"; - sha256 = "1bjh5qm9zjw2i1h9c7fd5csmn762i1wp4hsvrifnzaawxlxx9bhj"; + rev = "e6af7f8ef7d241fdc9f866d57dce24beb4bb6b87"; + sha256 = "19a419rnqqsmvrcl2vwy3gl7mvbfg669vyin2h2xpm56rxsinvy1"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3aae88b8e3b080501195d291012deab31aaf35f7/recipes/annotate"; @@ -1784,22 +1868,22 @@ license = lib.licenses.free; }; }) {}; - annoying-arrows-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + annoying-arrows-mode = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "annoying-arrows-mode"; - version = "20151113.902"; + version = "20161023.2346"; src = fetchFromGitHub { owner = "magnars"; repo = "annoying-arrows-mode.el"; - rev = "fe59f3fd464e7a87cc43fb8a1f135b3bdf8a2fb3"; - sha256 = "1ppq3kszzj2fgr7mwj565bjs8bs285ymy384cnnw7paddgcr9z02"; + rev = "3c42e9807d7696da2da2a21b63beebf9cdb3f5dc"; + sha256 = "06gs5ln3w1xvq8f8k9225rwiipbh9cs0dzyyb7z05717rmqixcc4"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8b528544841995045fb1f8344aaaa38946bb3915/recipes/annoying-arrows-mode"; sha256 = "13bwqv3mv7kgi1gms58f5g03q5g7q98n4vv6n28zqmppxm5z33s7"; name = "annoying-arrows-mode"; }; - packageRequires = []; + packageRequires = [ cl-lib ]; meta = { homepage = "https://melpa.org/#/annoying-arrows-mode"; license = lib.licenses.free; @@ -1829,12 +1913,12 @@ ansible = callPackage ({ f, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "ansible"; - version = "20160326.831"; + version = "20161218.1707"; src = fetchFromGitHub { owner = "k1LoW"; repo = "emacs-ansible"; - rev = "950e24319940526aa14ac33e2b67f7567dd5dc17"; - sha256 = "0k927pwhmn1cfl6jqs7ww1g6f64nq5i8f6a732d4q2rbl3aqzbdi"; + rev = "a712d9b48809c975525cb059ea278cbe8a839f5a"; + sha256 = "1jfksnk5fvr4h8mqb0mr2czyxnjmcdlrqdylvj0k0ks6xnskza91"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8e45bf58b980ff542a5e887707a6361eb5ac0492/recipes/ansible"; @@ -1850,12 +1934,12 @@ ansible-doc = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ansible-doc"; - version = "20150524.1005"; + version = "20160924.124"; src = fetchFromGitHub { owner = "lunaryorn"; repo = "ansible-doc.el"; - rev = "d0ce210674b5bee9836e6773c4e823747a6f1946"; - sha256 = "1h3rqrjrl8wx7xvvd631jkbbczq3srd4mgz7y9wh3cvz1njdpy62"; + rev = "bc8128a85a79b14f4a121105d87a5eddc33975ad"; + sha256 = "0z3y69sfzka764wjbx31dywdq4d6bfsafv2gmmbpmxqmwfmy8sz4"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1daaaa7462f0b83c15ed9d9e7e6d0ee94434b8e9/recipes/ansible-doc"; @@ -1868,6 +1952,27 @@ license = lib.licenses.free; }; }) {}; + ansible-vault = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "ansible-vault"; + version = "20161115.1128"; + src = fetchFromGitHub { + owner = "zellio"; + repo = "ansible-vault-mode"; + rev = "f4d9b3a77490071b8c59caa473bb54df86e90362"; + sha256 = "0f6dmj3b57sy6xl6d50982lnsin0lzyjwk0q1blpz0h2imadr8qm"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/2bff0da29a9b883e53a3d211c5577a3e0bc263a0/recipes/ansible-vault"; + sha256 = "0pmsvpc866rgcajb2ihhb62g3rwhda7vvq2kxkvr566y609vv021"; + name = "ansible-vault"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/ansible-vault"; + license = lib.licenses.free; + }; + }) {}; ant = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ant"; @@ -1976,11 +2081,11 @@ anything = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }: melpaBuild { pname = "anything"; - version = "20160822.1852"; + version = "20161207.238"; src = fetchgit { url = "http://repo.or.cz/r/anything-config.git"; - rev = "86560874b1c77932502efd42727b783ebc2d173b"; - sha256 = "1ng89ajvhrzbp7cfpb6vhq7507ybi18gicn0j89m3yrl7vfiwx4n"; + rev = "43e88980a29618dc03f96ce38b67b2a7caadd9d9"; + sha256 = "0dcaqss1b3myn8b4xfpyhnp9h2xniainayflhhgdk88y7vbfx0j7"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e1700e86cb35617178f5d7c61c88718ac7849f9b/recipes/anything"; @@ -2161,22 +2266,22 @@ license = lib.licenses.free; }; }) {}; - anzu = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + anzu = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "anzu"; - version = "20160818.619"; + version = "20161017.907"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-anzu"; - rev = "1965307a41aac029db2be007120e0c743226dba4"; - sha256 = "0xizn58wplk7r7zmfm12b0rkkl4nhlskbk6h20pdfic3xvad9zyk"; + rev = "e6c56ca8b23ac433f7be58b6f3f50801dd4164e4"; + sha256 = "1y6s45k3f2x30fc9d5dv1v3cypj9wylx56khs5zxczgk5ky1ffp4"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/04ac359d02d91725c8fc451b17bc2f06a7fe57a5/recipes/anzu"; sha256 = "0i2ia0jisj31vc2pjx9bhv8jccbp24q7c406x3nhh9hxjzs1f41i"; name = "anzu"; }; - packageRequires = [ cl-lib emacs ]; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/anzu"; license = lib.licenses.free; @@ -2260,6 +2365,27 @@ license = lib.licenses.free; }; }) {}; + apib-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, markdown-mode, melpaBuild }: + melpaBuild { + pname = "apib-mode"; + version = "20161201.817"; + src = fetchFromGitHub { + owner = "w-vi"; + repo = "apib-mode"; + rev = "940fb1faecb4b0a460ed36de5551a59ebd1edf58"; + sha256 = "0sny3jv4amfc3lx45j1di2snp42xfl907q3l7frqhhsal57lkvd1"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/dc2ebb04f975d8226a76260895399c937d6a1940/recipes/apib-mode"; + sha256 = "0y3n0xmyc4gkypq07v4sp0i6291qaj2m13zkg6mxp61zm669v2fb"; + name = "apib-mode"; + }; + packageRequires = [ emacs markdown-mode ]; + meta = { + homepage = "https://melpa.org/#/apib-mode"; + license = lib.licenses.free; + }; + }) {}; apples-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "apples-mode"; @@ -2281,18 +2407,19 @@ license = lib.licenses.free; }; }) {}; - applescript-mode = callPackage ({ fetchsvn, fetchurl, lib, melpaBuild }: + applescript-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "applescript-mode"; - version = "20120205.307"; - src = fetchsvn { - url = "http://svn.osdn.jp/svnroot/macemacsjp/applescript-mode/trunk"; - rev = "584"; - sha256 = "0n3y0314ajqhn5hzih09gl72110ifw4vzcgdxm8n6npjbx7irbml"; + version = "20090320.2332"; + src = fetchFromGitHub { + owner = "ieure"; + repo = "applescript-mode"; + rev = "8f888cd80af1e0902b5609143facd3051bc94892"; + sha256 = "0d3bqx6346vmniv001jgd6wggp80kv1kqc38sdgd88862gkqnqyg"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/79d8790798305d5e0a75b289c5d8d1b6567c0c7d/recipes/applescript-mode"; - sha256 = "1ya0dh7gz7qfflhn6dq43rapb2zg7djvxwn7p4jajyjnwbxmk611"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/576e42b33a5245e1aae0f0d879fd18762342db32/recipes/applescript-mode"; + sha256 = "0rj03xw8yx79xj9ahdwfxicxna0a0lykn2n39xng5gnm4bh2n6z4"; name = "applescript-mode"; }; packageRequires = []; @@ -2344,12 +2471,12 @@ apropospriate-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "apropospriate-theme"; - version = "20160724.1010"; + version = "20161207.1248"; src = fetchFromGitHub { owner = "waymondo"; repo = "apropospriate-theme"; - rev = "cddb2a40688b1dac8e0c62595bdffc0c6b5d40a3"; - sha256 = "0h8rrh34mqms27c2nq5f7k93kjvcv9qj0z9f1jjibvxrcw9lpp4y"; + rev = "5a5bbbb1f6a82efb19b0a75deea4c6b1d52347a1"; + sha256 = "0nfpvb20jy9h8g1i7agz153cdvw45sxifsryngfxnnmxd6s6pdmn"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1da33013f15825ab656260ce7453b8127e0286f4/recipes/apropospriate-theme"; @@ -2364,10 +2491,10 @@ }) {}; apu = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "apu"; - version = "20151231.1208"; + version = "20161210.842"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/apu.el"; - sha256 = "1xbvky0mspmbi8ghqhqhgbjn70acipwf0qwn6s5zdarwch10nljj"; + sha256 = "0knmp8kryndpag0hy3mjbhmw9spvi6kzmx0s215m0lbiqzzibgwz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ad04078221946c9d6b758809ec03ff88efce7322/recipes/apu"; @@ -2422,18 +2549,19 @@ license = lib.licenses.free; }; }) {}; - aria2 = callPackage ({ emacs, fetchgit, fetchurl, lib, melpaBuild }: + aria2 = callPackage ({ emacs, fetchFromGitLab, fetchurl, lib, melpaBuild }: melpaBuild { pname = "aria2"; version = "20141107.1517"; - src = fetchgit { - url = "https://bitbucket.org/ukaszg/aria2.git"; + src = fetchFromGitLab { + owner = "ukaszg"; + repo = "aria2"; rev = "3c54254e424c6c8b4eb0d8e7c4907b094c27a3f0"; sha256 = "1xkgz3l7idw5bk1xlffdaddf5v1q6fm3grbryl4xvssrbwgnyisf"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/9444cfcdf2ea01891e63c599bcbba36a6bf47cce/recipes/aria2"; - sha256 = "10x2k99m3kl6y0k0mw590gq1ac162nmdwk58i8i7a4mb72zmsmhc"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/89a55e7c313066ae1bc0db0af5c289814c85fcb1/recipes/aria2"; + sha256 = "1gsqdqs3q86k7q88rf7qamc0sp5ca00xn9kr1r717vf6qq6a0c3c"; name = "aria2"; }; packageRequires = [ emacs ]; @@ -2487,12 +2615,12 @@ artbollocks-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "artbollocks-mode"; - version = "20160603.1720"; + version = "20161030.2059"; src = fetchFromGitHub { owner = "sachac"; repo = "artbollocks-mode"; - rev = "f4d36cf9b506cd27e0615ba8dfed59c35885cd18"; - sha256 = "063j7q2i3701fmh44m77d572ppq0fd60hznh8jcwqa1ljbzynzkn"; + rev = "d77a01985a9161ce1676fb18d7228a0df566942b"; + sha256 = "1y69zq4r9ir1a2hy03lillxhw3skfj8ckkjv45i5xpasz4hjw50j"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/22b237ab91ddd3c17986ea12e6a32f2ce62d3a79/recipes/artbollocks-mode"; @@ -2589,12 +2717,12 @@ assess = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, m-buffer, melpaBuild }: melpaBuild { pname = "assess"; - version = "20160628.1539"; + version = "20161203.327"; src = fetchFromGitHub { owner = "phillord"; repo = "assess"; - rev = "61771edab753d5469d4bb9b8273f55e79b3fda04"; - sha256 = "1phhjq40fwb4vv35wkdphbc676y8gqxh25iqnrd3km818md5mqlb"; + rev = "47ce039423f660174d097698615aaad6c77e87fb"; + sha256 = "16b0fdz1nj25bkzb3hyarwa2zgk23dn9598a4ljbr9smdl2pdv6b"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6f917a34506193f2674b195569dfd3c13ba62c1d/recipes/assess"; @@ -2610,12 +2738,12 @@ async = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "async"; - version = "20160711.2235"; + version = "20161103.1036"; src = fetchFromGitHub { owner = "jwiegley"; repo = "emacs-async"; - rev = "8bc0678ebca97e7b1c6e78e75e03f8dfd502d63a"; - sha256 = "1b56qfggajh2a3aanq3q40wa88nj5adpj6v85x2v4y5bi01r5nib"; + rev = "54977d6c596a295f7519a0da36407c3a3e055b36"; + sha256 = "1kzah2714nppaai8cckvbryq6b10fwp025fv3kzjspf3sjf5ijva"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6a0fe448e82f42cad0fdaa40c964032892fedd83/recipes/async"; @@ -2673,12 +2801,12 @@ atom-one-dark-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "atom-one-dark-theme"; - version = "20160816.713"; + version = "20161101.1955"; src = fetchFromGitHub { owner = "jonathanchu"; repo = "atom-one-dark-theme"; - rev = "0e20e451605a052ef4faecafbd4d9937a6daaf0c"; - sha256 = "1q9c0ckrax5qvf3l3v8pxf1ygx380k803rdwrl9c8yb9wmxyn0ck"; + rev = "ff2990e56f5ff7abf6c20dac7d4d96fa9090221b"; + sha256 = "1mph3sr9mb2hizx02xn4yaag5h6yanhg5zabrpg5cqz2w6ifagaq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3ba1c4625c9603372746a6c2edb69d65f0ef79f5/recipes/atom-one-dark-theme"; @@ -2691,15 +2819,36 @@ license = lib.licenses.free; }; }) {}; + atomic-chrome = callPackage ({ emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild, websocket }: + melpaBuild { + pname = "atomic-chrome"; + version = "20161213.730"; + src = fetchFromGitHub { + owner = "alpha22jp"; + repo = "atomic-chrome"; + rev = "1b96d563c5d435baf8dfa9cdae5ef38ce34629b9"; + sha256 = "0caiv0snjxj0f1p0rx18r1w4nbsk8shrin2dr2ddg54mpxzf8r98"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/35785773942a5510e2317ded5bdf872ffe434e8c/recipes/atomic-chrome"; + sha256 = "0dx12mjdc4vhbvrcl61a7j247mgs71vvy0qqj6czbpfawfl46am9"; + name = "atomic-chrome"; + }; + packageRequires = [ emacs let-alist websocket ]; + meta = { + homepage = "https://melpa.org/#/atomic-chrome"; + license = lib.licenses.free; + }; + }) {}; auctex-latexmk = callPackage ({ auctex, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "auctex-latexmk"; - version = "20160706.503"; + version = "20160923.7"; src = fetchFromGitHub { owner = "tom-tan"; repo = "auctex-latexmk"; - rev = "bda696babcf4f4df435415e2d6a9c54fa99b230c"; - sha256 = "0zq4am4jgb1rnr2gvi9156y7zi6vfkrasjfj5ar1pw4k0cba7pf6"; + rev = "b7053f71f578ffb0d247f8a9e8d5152efd86e096"; + sha256 = "0slihygr74vyijnyzssckapscxmdd7zlgrs0wvmpw9hnjzwwzzql"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3f48af615c56f093dff417a5d3b705f9993c518f/recipes/auctex-latexmk"; @@ -2754,22 +2903,22 @@ license = lib.licenses.free; }; }) {}; - aurel = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + aurel = callPackage ({ bui, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "aurel"; - version = "20160309.36"; + version = "20161214.825"; src = fetchFromGitHub { owner = "alezost"; repo = "aurel"; - rev = "2b462d08c0e21f7fee0039457a02fa766fc6181c"; - sha256 = "0dqr1yrzf7a8655dsbcch4622rc75j9yjbn9zhkyikqjicddnlda"; + rev = "122c10cf6359b6d353d7ac4e1cb9776f285853ee"; + sha256 = "0i9ganx0n0dmy9p8xgd6mk0qxzw99y893f3nl61dah4yrcmlhcg7"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d1612acd2cf1fea739739608113923ec51d307e9/recipes/aurel"; sha256 = "13zyi55ksv426pcksbm3l9s6bmp102w7j1xbry46bc48al6i2nnl"; name = "aurel"; }; - packageRequires = [ emacs ]; + packageRequires = [ bui dash emacs ]; meta = { homepage = "https://melpa.org/#/aurel"; license = lib.licenses.free; @@ -2796,36 +2945,15 @@ license = lib.licenses.free; }; }) {}; - aurora-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: - melpaBuild { - pname = "aurora-theme"; - version = "20151015.1102"; - src = fetchFromGitHub { - owner = "xzerocode"; - repo = "aurora-theme"; - rev = "3cd8c3359b7b15148e5cea503f3d071e1ed7fc79"; - sha256 = "1z2n6gd63mgj2wj45n6g1gmfrk0iwzlrzb6g1rdd9r9a03c03qi6"; - }; - recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/a687ff55ba0f473484b9dadf98d5ea4961f346b9/recipes/aurora-theme"; - sha256 = "1fhlng30v25ycr502vfvajl70vimscqkipva6ghr670j35ac5vz5"; - name = "aurora-theme"; - }; - packageRequires = []; - meta = { - homepage = "https://melpa.org/#/aurora-theme"; - license = lib.licenses.free; - }; - }) {}; auth-password-store = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, password-store, seq }: melpaBuild { pname = "auth-password-store"; - version = "20160228.623"; + version = "20161021.2302"; src = fetchFromGitHub { owner = "DamienCassou"; repo = "auth-password-store"; - rev = "451952126251b4eaf0418ffb50257b63510451a1"; - sha256 = "03h5p4wbgj3gz3d94fwmc6s3gkxg7l77fscl3znkcb8f934rf6xn"; + rev = "5ca6a838489c1175de3df7af025751559eb13cb3"; + sha256 = "10y6grxwp8sw24fv8i9f50lc83qcdxnkw2bm1v983fw6di4i3a8w"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0f4d2a28373ba93da5b280ebf40c5a3fa758ea11/recipes/auth-password-store"; @@ -2841,12 +2969,12 @@ auto-async-byte-compile = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "auto-async-byte-compile"; - version = "20120322.1441"; + version = "20160915.2154"; src = fetchFromGitHub { owner = "rubikitch"; repo = "auto-async-byte-compile"; - rev = "73248feca5595d81cd8a3bd4a4810e3586076e0d"; - sha256 = "17nv8rqjh3ynbk1r0njwjb5hd7sgii0vncsa1q19jyp3h30rj4in"; + rev = "8681e74ddb8481789c5dbb3cafabb327db4c4484"; + sha256 = "1g98gla9qdqmifsxakhkbxlljy2ln1s3wfahk9zycrwgzfjlsdf4"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f8e4328cae9b4759a75da0b26ea8b68821bc71af/recipes/auto-async-byte-compile"; @@ -2922,12 +3050,12 @@ auto-complete = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, popup }: melpaBuild { pname = "auto-complete"; - version = "20160827.649"; + version = "20161029.643"; src = fetchFromGitHub { owner = "auto-complete"; repo = "auto-complete"; - rev = "b0090a942f93824bcbe9a938217c665ea658eacd"; - sha256 = "1c6gmk9j5rhjqdsgns3v0f91vy3x6zs715p68m3sh7vn7cwsdw63"; + rev = "ed1abca79bf476287bdf55ed8f7e0af53e5fdbae"; + sha256 = "0478sfs8gsn3x9q4ld2lrm1qgf6yfv34nqljh202n6fh982iqdxn"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/083fb071191bccd6feb3fb84569373a597440fb1/recipes/auto-complete"; @@ -3052,8 +3180,8 @@ src = fetchFromGitHub { owner = "sebastiw"; repo = "distel-completion"; - rev = "994c61dda2e3256b41fa2e53821c484b5ffd13e6"; - sha256 = "00nifdhwy89zmi50hln5p5albdx7ypm4mbdfjzhk4870crx4zjr2"; + rev = "2ba4eea51cecfa75cf62f58180460ee9ff43131f"; + sha256 = "1761lgplngmpn1vd8syc1h4g6q1dhngamz1j3n48z07c1ylzpkdd"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/90fff35dd9709b06802edef89d1fe6a96b7115a6/recipes/auto-complete-distel"; @@ -3195,12 +3323,12 @@ auto-dim-other-buffers = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "auto-dim-other-buffers"; - version = "20160811.548"; + version = "20161004.539"; src = fetchFromGitHub { owner = "mina86"; repo = "auto-dim-other-buffers.el"; - rev = "b797afadb48f69671d167050243e086923dcd364"; - sha256 = "0qx4db2m6xpz9j9p2jj49dilqzikbz16b4gf1p38r48w51ff8779"; + rev = "31c13e7ed87dd862c73b836d11c127164edb1458"; + sha256 = "0snkc7pkiv8iiy7xb64mg8ja7ig0rzkp5b6qkbalgxk9m4l8nmcb"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/acc9b816796b9f142c53f90593952b43c962d2d8/recipes/auto-dim-other-buffers"; @@ -3237,12 +3365,12 @@ auto-indent-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "auto-indent-mode"; - version = "20160426.2022"; + version = "20161118.1458"; src = fetchFromGitHub { owner = "mattfidler"; repo = "auto-indent-mode.el"; - rev = "9a0f13d93ad25b6e6b97fd566ec74ef5b6c60254"; - sha256 = "1ya7lnlgrxwrbaxlkl0bbz2m8pic6yjln0dm1mcmr9mjglp8kh6y"; + rev = "7e939f3a7b092c6c32c97d63fd88aef6cc355cdb"; + sha256 = "18c9469b53kwydhrpd8kivwvs0w0ndfbwkyxixjz9wijp0wmpri1"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/49af78177278e7072c70fde0eaa5bb82490ebe9d/recipes/auto-indent-mode"; @@ -3273,6 +3401,27 @@ license = lib.licenses.free; }; }) {}; + auto-org-md = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }: + melpaBuild { + pname = "auto-org-md"; + version = "20160923.708"; + src = fetchFromGitHub { + owner = "jamcha-aa"; + repo = "auto-org-md"; + rev = "7604c06c1b2f1d01c2e88f114bb0d2d00f21dabb"; + sha256 = "18js1pa60095fs8qjzhjhkx9sjwa2h2iribb27gqv59796qxkfsg"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/39f934f86b5dc04078c204bcbd268af60857e268/recipes/auto-org-md"; + sha256 = "1yh9g8407kym6r0b8kr18qshxlrkw47ac17a9lvql0ksshfmnqvk"; + name = "auto-org-md"; + }; + packageRequires = [ emacs org ]; + meta = { + homepage = "https://melpa.org/#/auto-org-md"; + license = lib.licenses.free; + }; + }) {}; auto-package-update = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "auto-package-update"; @@ -3318,12 +3467,12 @@ auto-save-buffers-enhanced = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "auto-save-buffers-enhanced"; - version = "20130607.1949"; + version = "20161108.2310"; src = fetchFromGitHub { owner = "kentaro"; repo = "auto-save-buffers-enhanced"; - rev = "caf594120781a323ac37eab82bcf87f1ed4c9c42"; - sha256 = "10aw3bpvawkqj1l8brvzq057wx3mkzpxs4zc3yhppkhq2cpvx7i2"; + rev = "461e8c816c1b7c650be5f209078b381fe55da8c6"; + sha256 = "0ckjijjpqpbv9yrqfnl3x9hcdwwdgvm5r2vyx1a9nk4d3i0hd9i5"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d221a217e9f6a686fa2a8b120a1f0b43c4482ce6/recipes/auto-save-buffers-enhanced"; @@ -3360,12 +3509,12 @@ auto-virtualenv = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, pyvenv, s }: melpaBuild { pname = "auto-virtualenv"; - version = "20160220.636"; + version = "20161107.1001"; src = fetchFromGitHub { owner = "marcwebbie"; repo = "auto-virtualenv"; - rev = "e55bf927da4e29b0f4d9198f3358a87f9970c3b6"; - sha256 = "1ya5rn55sclh2w5bjy4b2b75gd6bgavfqmhdisz6afp8w4l4a2bv"; + rev = "d352bc4c9d76cb2e1680846f13bae940931d8380"; + sha256 = "1yb1g8xmh5mgkszcch2z7rzmrywl8zyyy7j8ff1agvz0ic4b9893"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ccb91515d9a8195061429ed8df3471867d211f9a/recipes/auto-virtualenv"; @@ -3381,12 +3530,12 @@ auto-yasnippet = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }: melpaBuild { pname = "auto-yasnippet"; - version = "20160809.46"; + version = "20160925.225"; src = fetchFromGitHub { owner = "abo-abo"; repo = "auto-yasnippet"; - rev = "4496ad507041e48d36522ed1616e430df3f87efe"; - sha256 = "17g463clsyi69fl2mzy84yg6v3sh7nq3ij06spx5j0fpxvmbf6z8"; + rev = "d1ccfea87312c6dd8cf8501ab5b71b1d3d44d95b"; + sha256 = "1i8k2qiyzd5rq0zplk4xb5nfa5mp0ibxbzwqj6c7877waq7244xk"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d33c0aee6a5d27217bbae28fc8f448c3badc8a4b/recipes/auto-yasnippet"; @@ -3402,12 +3551,12 @@ autobookmarks = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "autobookmarks"; - version = "20160430.1221"; + version = "20160930.1113"; src = fetchFromGitHub { owner = "Fuco1"; repo = "autobookmarks"; - rev = "05ea2283e73125dba1bb320929b879633e69a600"; - sha256 = "1kb6h37qlhzxk3v45bn0m38bp244c3fpxr3lzr7f6rsy8bpc8w67"; + rev = "067c29cd6088c019578df8530356c126eef9ea2c"; + sha256 = "0iqcl1y1lnfma95lhdyy1zkkn8xlp2hin2wb0gbmkcrlfy0cw364"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e40e6ebeb30b3f23ad37a695e011431a48c5a62e/recipes/autobookmarks"; @@ -3565,6 +3714,27 @@ license = lib.licenses.free; }; }) {}; + autothemer = callPackage ({ cl-lib ? null, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "autothemer"; + version = "20161221.1331"; + src = fetchFromGitHub { + owner = "sebastiansturm"; + repo = "autothemer"; + rev = "add7d430e0be2f4cd7ccc622f8fbc8bc44be762f"; + sha256 = "0av6r2frjsbfxxl7lh9r7ccmsrc9yxmllqq8r1y52dzpc18iihpx"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/3d7d7beed6ba10d7aa6a36328a696ba2d0d21dc2/recipes/autothemer"; + sha256 = "1lcyqfzx7qpkr3ajk0zi0mn32yvcwn06f61vhghn9c66xambsr7f"; + name = "autothemer"; + }; + packageRequires = [ cl-lib dash emacs ]; + meta = { + homepage = "https://melpa.org/#/autothemer"; + license = lib.licenses.free; + }; + }) {}; autumn-light-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "autumn-light-theme"; @@ -3589,16 +3759,16 @@ avandu = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "avandu"; - version = "20140412.1426"; + version = "20170101.1103"; src = fetchFromGitHub { - owner = "dk87"; + owner = "ryuslash"; repo = "avandu"; - rev = "98155b6da0e81e9480de94791df75f1f7b9653f6"; - sha256 = "06fwpqj21z1xrfl0i9jjrn14vk83a0h32scja34hk7pj9vc2854m"; + rev = "f44588d8e747fa880411cb4542cc39962252b90a"; + sha256 = "097wls9k6qrf12nn8mpszfbqsaqc81956yqxns1sjs6dmjqi0c7z"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/824aa2dbc230142e893ace4470d386290db8785e/recipes/avandu"; - sha256 = "00fhc3mw7ihfil8fbnibgs8bch9712fya2d1k7k3ll2aln25jjxw"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/e1344e49e6a41ce390a047cb8d48090160b37b50/recipes/avandu"; + sha256 = "174bd3vbvh0l9282bg8575nqc71zkg90bwbxbv1b7dz8qaaczhcy"; name = "avandu"; }; packageRequires = []; @@ -3607,6 +3777,27 @@ license = lib.licenses.free; }; }) {}; + avk-emacs-themes = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "avk-emacs-themes"; + version = "20161228.1236"; + src = fetchFromGitHub { + owner = "avkoval"; + repo = "avk-emacs-themes"; + rev = "a0ea17a380bebe28e00bb6855168a72aa28e8afc"; + sha256 = "1n8ms7mxc4gr3mb1x6rd1k8wzfk0y6ix9q11p01ahaa9zizbkyfp"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/b986c7c981ccc5c7169930908543f2a515edaefa/recipes/avk-emacs-themes"; + sha256 = "0yimnfm50qsq505fc67b3qnxx2aiyz5a7bw87zkjrdnar12vv144"; + name = "avk-emacs-themes"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/avk-emacs-themes"; + license = lib.licenses.free; + }; + }) {}; avy = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "avy"; @@ -3652,12 +3843,12 @@ avy-menu = callPackage ({ avy, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "avy-menu"; - version = "20160126.425"; + version = "20161231.1554"; src = fetchFromGitHub { owner = "mrkkrp"; repo = "avy-menu"; - rev = "bd32dde9b8d5695f28b87a198e683cf7c94a043b"; - sha256 = "0bjx6fsrnx373fzndhwq4k6nbrvq4q2pxrmgd9lpi4fpdwxq635c"; + rev = "75f4025ca53b9700ca5b478d85f5e53e887a6023"; + sha256 = "05smmmf8hc8ksgq711gn7hd8a7z6zw6l2i86zbx5fb79s11sqjg0"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2f0b4cfb30c405d44803b36ebcaccef0cf87fe2d/recipes/avy-menu"; @@ -3673,12 +3864,12 @@ avy-migemo = callPackage ({ avy, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, migemo }: melpaBuild { pname = "avy-migemo"; - version = "20160818.725"; + version = "20161229.605"; src = fetchFromGitHub { owner = "momomo5717"; repo = "avy-migemo"; - rev = "6e394af511274e906db027ea025ac95b4739b613"; - sha256 = "00air40hslsiwm4h0kf3ynklx13hn5dziqw3xwcgf3cvjpchw7vy"; + rev = "26e87aa7905a252b797e0bf592c9ff9eede165c1"; + sha256 = "1bfrc7wxnzhjn07psa5z1cflxxr1k8qc4jgsz5w7ds3sn48aji48"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6a02db29eb3e4b76b4a9cdbc966df5a1bd35dec0/recipes/avy-migemo"; @@ -3694,12 +3885,12 @@ avy-zap = callPackage ({ avy, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "avy-zap"; - version = "20160330.1130"; + version = "20160921.1444"; src = fetchFromGitHub { owner = "cute-jumper"; repo = "avy-zap"; - rev = "173dbb6339e683ff8ed0114cdd5a6490ab6b28f0"; - sha256 = "0nv6y9jwy2z4rlnd6qklhqww367kaqjc5id7yr4hsmxmxw2jj43p"; + rev = "6081738668ab726099ce1c711c580d9745dfaede"; + sha256 = "0byanv32kxsd1lzvyq82xmyfx4drx5j5i10whyyq8a5hhvrpg1qy"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/10a2a57c78ac1d8ab621031caa21e8574daeb9a0/recipes/avy-zap"; @@ -3730,22 +3921,22 @@ license = lib.licenses.free; }; }) {}; - aws-ec2 = callPackage ({ dash, dash-functional, emacs, fetchFromGitHub, fetchurl, lib, magit-popup, melpaBuild, tablist }: + aws-ec2 = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, tblui }: melpaBuild { pname = "aws-ec2"; - version = "20160710.2110"; + version = "20161007.1214"; src = fetchFromGitHub { owner = "Yuki-Inoue"; repo = "aws.el"; - rev = "408c4e7973d5cf148c5379237d18326e99fdfca2"; - sha256 = "0k97xwyi1img990ynkq5lqh9g651azmb49p9400fs9m5z64q9hn8"; + rev = "5601d4f268fc34b86a02ca90cde7d3771619a368"; + sha256 = "15idbbxsghzn737s9jppnx820nnm1srcl1418458hwfy3wqhq38g"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/90ac00160cbf692baa1f3953122ac828356944e0/recipes/aws-ec2"; sha256 = "040c69g8rhpcmrdjjg4avdmqarxx3dfzylmz62yxhfpn02qh48xd"; name = "aws-ec2"; }; - packageRequires = [ dash dash-functional emacs magit-popup tablist ]; + packageRequires = [ dash emacs tblui ]; meta = { homepage = "https://melpa.org/#/aws-ec2"; license = lib.licenses.free; @@ -3754,11 +3945,11 @@ axiom-environment = callPackage ({ emacs, fetchhg, fetchurl, lib, melpaBuild }: melpaBuild { pname = "axiom-environment"; - version = "20160325.1515"; + version = "20161120.1200"; src = fetchhg { url = "https://bitbucket.com/pdo/axiom-environment"; - rev = "bc294e47f51c"; - sha256 = "0z15n7cpprbhiamq26240g5bqsiw5mgyzdisi7j6hpybyk2zyl9q"; + rev = "110e20a7a86c"; + sha256 = "0s18bbfw4kcv9iij1016pamq394rg8xr7016qp6cxyklp9hivcdm"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/axiom-environment"; @@ -3774,12 +3965,12 @@ babel = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "babel"; - version = "20160629.1151"; + version = "20161122.2340"; src = fetchFromGitHub { owner = "juergenhoetzel"; repo = "babel"; - rev = "bf860f4594f06729b3ff5da2102ec9e3ab8a5ccb"; - sha256 = "1d5v21ig92w30dllhp2cqbjqma2l0l87cjqqlx721qx15zfhxxxb"; + rev = "d4212e25fcbd22b8e38be13936f937a2963d34a9"; + sha256 = "0lxiavjs2fbwlqbmkl2hssjzv8a8baa8vvqqfnprhnipngkkgdaf"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b0d748fa06b3cbe336cb01a7e3ed7b0421d885cc/recipes/babel"; @@ -3880,6 +4071,27 @@ license = lib.licenses.free; }; }) {}; + backward-forward = callPackage ({ emacs, fetchFromGitLab, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "backward-forward"; + version = "20161228.2150"; + src = fetchFromGitLab { + owner = "vancan1ty"; + repo = "emacs-backward-forward"; + rev = "58489957a62a0da25dfb5df902624d2548d800b4"; + sha256 = "14v9q58vd0iggs8x8hjh24cv58g2pbwnr6zghd2anaygbj74ij24"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/cb44d7b604c50d4e07404c0dff071fbc66ea903d/recipes/backward-forward"; + sha256 = "0kpy761xdk2s21s92cw03fgw5xq9glybrhnjv2v89xrg16vdvamf"; + name = "backward-forward"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/backward-forward"; + license = lib.licenses.free; + }; + }) {}; badger-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "badger-theme"; @@ -3904,12 +4116,12 @@ badwolf-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "badwolf-theme"; - version = "20160823.152"; + version = "20161004.15"; src = fetchFromGitHub { owner = "bkruczyk"; repo = "badwolf-emacs"; - rev = "dc3bf0ed7031e8d755e3c8ac733e69003715665a"; - sha256 = "00r9gwmyrf8dd4l83mqw4m4qzj8ppy3082k94njhmyq1cx9bvx85"; + rev = "ea01a3d9358e968f75e3ed15dec6a2a96ce3d9a1"; + sha256 = "0a6adsxvmw3mgji17is75jrq3ifmzpch8rwqqyfgc99xzndvab7l"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/01f3deade0759830ed2e70e00e596915be5f5c11/recipes/badwolf-theme"; @@ -3943,15 +4155,36 @@ license = lib.licenses.free; }; }) {}; + bar-cursor = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "bar-cursor"; + version = "20160923.920"; + src = fetchFromGitHub { + owner = "ajsquared"; + repo = "bar-cursor"; + rev = "afa1d4bc1937610cc30575d71aab85ea20ebf2ea"; + sha256 = "1cj28v48xajy1nsqk92vinaz2rh1crm5g58ma5gnibkdnkpq828s"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/932e7b128f092ec724ebf18c9c5ca84e16edc82c/recipes/bar-cursor"; + sha256 = "0f7z3mlnh3p28pmn1bnqbszcy1j68dwm8xra1wz8jgykvrdlyf2s"; + name = "bar-cursor"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/bar-cursor"; + license = lib.licenses.free; + }; + }) {}; base16-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "base16-theme"; - version = "20160828.1825"; + version = "20161227.1040"; src = fetchFromGitHub { owner = "belak"; repo = "base16-emacs"; - rev = "24dee691af4758d04595cc14f3c2536d39b26f58"; - sha256 = "0qvawqrnl0zx3nzs1fapvfgs7pj1ylqnv7hgs8z5fshy5h96zv2b"; + rev = "82e8fff5c22acbfeb1c77ea9442aada938b41d19"; + sha256 = "1k1lm0hlp771vayv0laah2q67751ykc3gkv94s6axj02n8rs2zdv"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/30862f6be74882cfb57fb031f7318d3fd15551e3/recipes/base16-theme"; @@ -3988,12 +4221,12 @@ basic-c-compile = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "basic-c-compile"; - version = "20160803.527"; + version = "20161114.2134"; src = fetchFromGitHub { owner = "nick96"; repo = "basic-c-compile"; - rev = "69e1ce9078a1a54beddc6c9f786cdd521a3717bf"; - sha256 = "0r1ygnkvl3b61qw5lsji3434f2dkbsfkc1fk6rl355am9ssn3vr6"; + rev = "ccdbb2fcb605e285ca39c1781ab1e583e90f7558"; + sha256 = "03hsg0n2hvsqiziblpjal9saiyhcizldn9bkpk3cqh2bipg1fjys"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/bdf8a23771774f630baa41b24375cb57f90fbb2e/recipes/basic-c-compile"; @@ -4089,11 +4322,11 @@ }) {}; bbdb = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }: melpaBuild { pname = "bbdb"; - version = "20160720.2318"; + version = "20161001.2212"; src = fetchgit { url = "git://git.savannah.nongnu.org/bbdb.git"; - rev = "2ea2846d5f34a843dcaf666ad0fc8f603d949b16"; - sha256 = "1xhxnw2svxnb0g3wj86ffcjcsx9jf29s0cpxj2nqgab9r5pyqh1k"; + rev = "2ee0d69610808f84b958f868c3268b75a24aced0"; + sha256 = "0azkjnspn97y0fx4k37spvmxxy7p3g106prcbkmsaqm8jkkxc0qj"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6b6801fe29cb6fb6183f0babf528375d14f966b3/recipes/bbdb"; @@ -4319,12 +4552,12 @@ beacon = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, seq }: melpaBuild { pname = "beacon"; - version = "20160708.2012"; + version = "20161004.756"; src = fetchFromGitHub { owner = "Malabarba"; repo = "beacon"; - rev = "c9cc62d42ef0c14079c97890bdd402c8efa4e52b"; - sha256 = "0j9l2j22nj1dddqa9ykdcv4an3xipn1zwp8kaw84ac18fql0br7x"; + rev = "c9d86457d43decf61810006752544d7f7bd5a61d"; + sha256 = "132ixmzjz3sg15qvdbv3s8p6dv3bz7vwlhs50dax0z19dr79cda0"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d09cfab21be800831644218e9c8c4433087951c0/recipes/beacon"; @@ -4365,8 +4598,8 @@ src = fetchFromGitHub { owner = "DamienCassou"; repo = "beginend"; - rev = "c5bfdc3bb77a8c019aa4433cf12d3c45690c27bd"; - sha256 = "1hyiz7iwnzbg1616q0w7fndllbnx4m98kakgxn04bsqib5fqk78p"; + rev = "05ed9428b3f09221da0e05fdd918cc5a0b643197"; + sha256 = "1vsid87pmls565bqknbgr7z907v7bb7115v70vzbw4z6lc4falry"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/31c1157d4fd9e47a780bbd91075252acdc7899dd/recipes/beginend"; @@ -4526,12 +4759,12 @@ biblio = callPackage ({ biblio-core, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "biblio"; - version = "20160625.923"; + version = "20161014.1604"; src = fetchFromGitHub { owner = "cpitclaudel"; repo = "biblio.el"; - rev = "55a72b5cd41325d8c98a73932ef3a7b0cf71ea63"; - sha256 = "0d2yj315snd9h8bnbfk9rnr4ybxfpcj1c423hvpbrf54agy57gac"; + rev = "a5a68fcf677f286f205f32dc7486f6c9f66aa6af"; + sha256 = "1gxjind6r235az59dr8liv03d8994mqb8a7m28j3c12q7p70aziz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c5fbaa8c59b0e64d13beb0e0f18b0734afa84f51/recipes/biblio"; @@ -4547,12 +4780,12 @@ biblio-core = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild, seq }: melpaBuild { pname = "biblio-core"; - version = "20160625.923"; + version = "20160901.1115"; src = fetchFromGitHub { owner = "cpitclaudel"; repo = "biblio.el"; - rev = "55a72b5cd41325d8c98a73932ef3a7b0cf71ea63"; - sha256 = "0d2yj315snd9h8bnbfk9rnr4ybxfpcj1c423hvpbrf54agy57gac"; + rev = "a5a68fcf677f286f205f32dc7486f6c9f66aa6af"; + sha256 = "1gxjind6r235az59dr8liv03d8994mqb8a7m28j3c12q7p70aziz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f4f086d3e8fd6a95ce198e148cd3ede35dd73fb8/recipes/biblio-core"; @@ -4652,12 +4885,12 @@ bind-key = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "bind-key"; - version = "20160227.48"; + version = "20161218.1520"; src = fetchFromGitHub { owner = "jwiegley"; repo = "use-package"; - rev = "3f6ba1bb8ad3fd81278b6787c664639a6a0df6f5"; - sha256 = "161bdn6b76rf0sm7881pyr6xs8mvyvpxhzicf0g2dqncisg4y0gn"; + rev = "5954ad37cf2d3c9237f4d2037e8619be15681cd1"; + sha256 = "0scn6wrs6040j4z1gfmn9akzknjhaj2kr07kfzx1v42ibm42ihcd"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d39d33af6b6c9af9fe49bda319ea05c711a1b16e/recipes/bind-key"; @@ -4673,12 +4906,12 @@ bind-map = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "bind-map"; - version = "20160606.1343"; + version = "20161207.711"; src = fetchFromGitHub { owner = "justbur"; repo = "emacs-bind-map"; - rev = "078c522f6e763dd24a30e15af9121376affe207f"; - sha256 = "16yk8xl6ds6zp0ndfzr613k8wkzl7hnsqnmnn1bi1da5laxbwrdb"; + rev = "bf4181e3a41463684adfffc6c5c305b30480e30f"; + sha256 = "0vrk17yg3jbww92p433p64ijmjf7cjg2wmzi9w418235w1xdfzz8"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f58800af5965a6e7c9314aa00e971196ea0d036e/recipes/bind-map"; @@ -4761,8 +4994,8 @@ src = fetchFromGitHub { owner = "canatella"; repo = "bitbake-el"; - rev = "da272d5c32e1ff45c6bfe4163e4013b402e3d0e7"; - sha256 = "038cyx0pfkqc4fgf07ks6ph3v7zfjqag603387010csn7f0z02is"; + rev = "4ab424d970bee0f6b91a1fc545b14ded173e3476"; + sha256 = "0xqi5s8536hajjl3g1a2i8p9ll4vq9gdx2jjbjzlid65h669bny8"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/da099b66180ed537f8962ab4ca727d2441f9691d/recipes/bitbake"; @@ -4796,27 +5029,6 @@ license = lib.licenses.free; }; }) {}; - bitly = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: - melpaBuild { - pname = "bitly"; - version = "20151125.848"; - src = fetchFromGitHub { - owner = "jorgenschaefer"; - repo = "bitly-el"; - rev = "fca9d8da070402fa62d9289e56f7f1c5ce40f664"; - sha256 = "09blh9cbcbqr3pdaiwm9fmh5kzqm1v9mffy623z3jn87g5wadrmb"; - }; - recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/e6b1161d39ba66577ad57d76e4f4ea84e604002f/recipes/bitly"; - sha256 = "032s7ax8qp3qzcj1njbyyxiyadjirphswqdlr45zj6hzajfsr247"; - name = "bitly"; - }; - packageRequires = []; - meta = { - homepage = "https://melpa.org/#/bitly"; - license = lib.licenses.free; - }; - }) {}; blackboard-bold-mode = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "blackboard-bold-mode"; @@ -4838,6 +5050,27 @@ license = lib.licenses.free; }; }) {}; + blackboard-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "blackboard-theme"; + version = "20161215.2256"; + src = fetchFromGitHub { + owner = "don9z"; + repo = "blackboard-theme"; + rev = "d8b984f2541bb86eb4363a2b4c94631e49843d4a"; + sha256 = "1jh2960yab6rhdq7ci1slpmnr43619cza0g8bfbq759yz5b7xryh"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/eca8cbcc1282bb061f769daf86b1938d1f30f704/recipes/blackboard-theme"; + sha256 = "19cnfxrm85985ic55y5x7nwxdynjp7djyd33dhj8r7s92cs25fn7"; + name = "blackboard-theme"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/blackboard-theme"; + license = lib.licenses.free; + }; + }) {}; blank-mode = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "blank-mode"; version = "20130824.459"; @@ -4898,6 +5131,27 @@ license = lib.licenses.free; }; }) {}; + bln-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "bln-mode"; + version = "20161210.610"; + src = fetchFromGitHub { + owner = "mgrachten"; + repo = "bln-mode"; + rev = "74563279cb98e42d8649bff53229d5f89a5fb5e0"; + sha256 = "0mjlbih1dnfmqy41jgs37b8yi39mqwppw7yn5pgdyh8lzr1qh9vw"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/ee12ef97df241b7405feee69c1e66b3c1a67204b/recipes/bln-mode"; + sha256 = "0w4abaqx9gz04ls1hn1qz8qg9jpvi80b9jb597ddjcbnwqq9z83r"; + name = "bln-mode"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/bln-mode"; + license = lib.licenses.free; + }; + }) {}; blockdiag-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "blockdiag-mode"; @@ -4922,12 +5176,12 @@ blog-admin = callPackage ({ ctable, f, fetchFromGitHub, fetchurl, lib, melpaBuild, names, s }: melpaBuild { pname = "blog-admin"; - version = "20160609.1935"; + version = "20161227.1810"; src = fetchFromGitHub { owner = "CodeFalling"; repo = "blog-admin"; - rev = "fd97d405a5cd06b6246a433f31fc5af2077bb255"; - sha256 = "0fia93kxmw5xkzyf434n3j4f0d6gijkli2mqi82j32z8wayrf307"; + rev = "4a16df2a1e44f5486931af9c79f6ac55ce74b76f"; + sha256 = "0xn2njbd3jsv7na0z87rhyg115cp2cppkgslldzi6405xkmfc76y"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/blog-admin"; @@ -4943,12 +5197,12 @@ bm = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "bm"; - version = "20151222.1603"; + version = "20161024.1006"; src = fetchFromGitHub { owner = "joodland"; repo = "bm"; - rev = "b91f87c8f78d2430edc376830d5ba15f45d28637"; - sha256 = "1ggqg0lgvxg2adq91damvh55m36qsa23n3z6zyf5z6855ilzaa4x"; + rev = "d1beef99733062ffc6f925a6b3a0d389e1f3ee45"; + sha256 = "19hjv6f43y2dm4b3854mssjqgzphkdj911f1y2sipc43icdwb4b4"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/bm"; @@ -4985,12 +5239,12 @@ bog = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "bog"; - version = "20160725.1801"; + version = "20161109.1647"; src = fetchFromGitHub { owner = "kyleam"; repo = "bog"; - rev = "fc71c376546ed01060200de91d007f2a179bc601"; - sha256 = "13z0zpy9ggam0v16kzqn5gncvmil3magrvrvhm304gvsqqglyiqi"; + rev = "cf7817de3f37ce2404ee637a655f1a511b829585"; + sha256 = "0h166w8bg864ppwg64m0vhg649mmkclld85zcd0lmbqa9wfml5j5"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/19fd0bf2f8e52c79120c492a6dcabdd51b465d35/recipes/bog"; @@ -5048,12 +5302,12 @@ boogie-friends = callPackage ({ cl-lib ? null, company, dash, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, yasnippet }: melpaBuild { pname = "boogie-friends"; - version = "20160805.1441"; + version = "20161019.1425"; src = fetchFromGitHub { owner = "boogie-org"; repo = "boogie-friends"; - rev = "a0c3942ddbeebc7a45c31303157409a283ad4496"; - sha256 = "1sfv50x6al276w70170nyy5fyi60r1rp3y81332pp2mn1rlqsflv"; + rev = "8b567f5efe71d94bba3c29c52dffd58a33abc0cb"; + sha256 = "1gwj8d1635l7l7cqk1508gkzfgi8hpq6w0x22w7rd5yrwz1nmx5b"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5bdd06b82d002677c046876642efe1dc01bc3e77/recipes/boogie-friends"; @@ -5068,10 +5322,10 @@ }) {}; bookmark-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "bookmark-plus"; - version = "20160624.948"; + version = "20170102.909"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/bookmark+.el"; - sha256 = "06621js3bvslfmzmkphzzcrd8hbixin2nx30ammcqaa6572y14ad"; + sha256 = "05jf7rbaxfxrlmk2vq09p10mj80p529raqfy3ajsk8adgqsxw1lr"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4327b4dd464ebb00c2acdd496274dedf912cdf92/recipes/bookmark+"; @@ -5084,15 +5338,36 @@ license = lib.licenses.free; }; }) {}; + bool-flip = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "bool-flip"; + version = "20161215.739"; + src = fetchFromGitHub { + owner = "michaeljb"; + repo = "bool-flip"; + rev = "f58a9a7b9ab875bcfbd57c8262697ae404eb4485"; + sha256 = "06q86a6dhc7jvq25yqqq3dsmrbm67h0ayb6nhd0q5l90yrmfqfjh"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/f56377a7c3f4b75206ad9ba570c35dbf752079e9/recipes/bool-flip"; + sha256 = "1xfspqxshx7m8gh6g1snkaahka9f71fnq7hx81nik4s9s8pmxj9c"; + name = "bool-flip"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/bool-flip"; + license = lib.licenses.free; + }; + }) {}; boon = callPackage ({ dash, emacs, expand-region, fetchFromGitHub, fetchurl, lib, melpaBuild, multiple-cursors }: melpaBuild { pname = "boon"; - version = "20160830.1218"; + version = "20161125.448"; src = fetchFromGitHub { owner = "jyp"; repo = "boon"; - rev = "c0413bf1eafbee891ec1ed6c290d107056db4fbd"; - sha256 = "1kfvbmsrwcch3ykllfgwknir0hizqqyx01wm16sq0wly6c8fjcca"; + rev = "981d5becae30a31b6ef4f87680386148d0535455"; + sha256 = "0755qhf0h7m18hwv6lkpgi0jcrcm58w4l3815m3kl86q1yz2mpda"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/boon"; @@ -5276,12 +5551,12 @@ browse-at-remote = callPackage ({ cl-lib ? null, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "browse-at-remote"; - version = "20160618.105"; + version = "20161207.2252"; src = fetchFromGitHub { owner = "rmuslimov"; repo = "browse-at-remote"; - rev = "3124d791d159d22661ebe1a1c938a292c8d3e207"; - sha256 = "17kfmxcjndk7xigc1vwxvycsjmzrwaik5f0nscah0y867vicz3lf"; + rev = "396f6ca23e3a6d12cd3af4651d8130a5baf10e2b"; + sha256 = "0d4lhaqwralv790ry6g84q0nk243dkaybf1nynr8kp0njhdif6k1"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/203e177f09eac4ebb8c7e3532bd82f749f8e2607/recipes/browse-at-remote"; @@ -5318,10 +5593,10 @@ browse-kill-ring-plus = callPackage ({ browse-kill-ring, fetchurl, lib, melpaBuild }: melpaBuild { pname = "browse-kill-ring-plus"; - version = "20151231.1221"; + version = "20170102.910"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/browse-kill-ring+.el"; - sha256 = "1z6pix1ml3s97jh34fwjj008ihlrz4hkipdh5yzcvc6nhrimjw2f"; + sha256 = "0qps93fx9x7iy9m2061fkizw90y0d6y4q9wk0c8krpbny73a18v2"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e700f4066e67991dd67f6476c783e0a5134723db/recipes/browse-kill-ring+"; @@ -5622,6 +5897,48 @@ license = lib.licenses.free; }; }) {}; + bui = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "bui"; + version = "20161213.735"; + src = fetchFromGitHub { + owner = "alezost"; + repo = "bui.el"; + rev = "b8f2fcfcdf4eff7fb502e75f25a2e6d974c3ca01"; + sha256 = "1s7iigrdbdgavigssi2j82dky6cjahnrsnq9m9i5nvczj5xjdnpq"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/38b7c9345de75a707b4a73e8bb8e2f213e4fd739/recipes/bui"; + sha256 = "0a4g55k02hi3cwvk4d35lk2x5kc4fabskl2025i83hx0rqw4w3f1"; + name = "bui"; + }; + packageRequires = [ dash emacs ]; + meta = { + homepage = "https://melpa.org/#/bui"; + license = lib.licenses.free; + }; + }) {}; + build-helper = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, projectile }: + melpaBuild { + pname = "build-helper"; + version = "20161009.1055"; + src = fetchFromGitHub { + owner = "afonso360"; + repo = "build-helper"; + rev = "7a6fe71125a26ed1c492dab77cc688a7fe1d68ac"; + sha256 = "0pipdzjf7arli6b88fp21as5d4v8ylsy19hixywhfgb7917qsrkv"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/af56cde18ae0efb0ae91c818e6804c55cdb3b8c2/recipes/build-helper"; + sha256 = "1asgpf2k4i7p88ask1i6ra4krhsxr6j2d2qv0gfxlsa5p330mmgh"; + name = "build-helper"; + }; + packageRequires = [ projectile ]; + meta = { + homepage = "https://melpa.org/#/build-helper"; + license = lib.licenses.free; + }; + }) {}; bundler = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, inf-ruby, lib, melpaBuild }: melpaBuild { pname = "bundler"; @@ -5751,12 +6068,12 @@ buttercup = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "buttercup"; - version = "20160514.34"; + version = "20161209.154"; src = fetchFromGitHub { owner = "jorgenschaefer"; repo = "emacs-buttercup"; - rev = "5db07c940e3acbd20111391c72edfa847e7a5409"; - sha256 = "1928m4368rrcsg242nk3i06fdd6r03aiwh8iz589j00w4761y4kq"; + rev = "07c525eaf9c1a9f1b48928b64e1802b1f1b25be3"; + sha256 = "1l4hjb21283mrb9v67k2xl83plq18ri7pqcp2kgs2ygbfnbwwqcs"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d4b187cb5b3cc5b546bfa6b94b6792e6363242d1/recipes/buttercup"; @@ -6110,7 +6427,7 @@ version = "20151009.845"; src = fetchsvn { url = "http://caml.inria.fr/svn/ocaml/trunk/emacs/"; - rev = "16551"; + rev = "16556"; sha256 = "16qw82m87i1fcnsccqcvr9l6p2cy0jdhljsgaivq0q10hdmbgqdw"; }; recipeFile = fetchurl { @@ -6148,12 +6465,12 @@ cargo = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, rust-mode }: melpaBuild { pname = "cargo"; - version = "20160807.831"; + version = "20161227.1417"; src = fetchFromGitHub { owner = "kwrooijen"; repo = "cargo.el"; - rev = "0ce335ee0284e9158c56b7002ecd51f597bf8d32"; - sha256 = "15jfbwl6xa583fmym432kygkb4sfvcxfqvirrihkmd33c61ski9b"; + rev = "156574632e47e49aeb7d17c1d2344e10c06c3acb"; + sha256 = "00cfddcy60ps7ljw5zx7j14ig62kgf4m9kc7997vdyrsw466r5rz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e997b356b009b3d2ab467fe49b79d728a8cfe24b/recipes/cargo"; @@ -6211,12 +6528,12 @@ cask = callPackage ({ cl-lib ? null, dash, epl, f, fetchFromGitHub, fetchurl, lib, melpaBuild, package-build, s, shut-up }: melpaBuild { pname = "cask"; - version = "20160816.753"; + version = "20161024.1205"; src = fetchFromGitHub { owner = "cask"; repo = "cask"; - rev = "0828b34d93f3a300fc1c0a40132c17ae7f4bedcb"; - sha256 = "08wy9ksy21v25kbmgdn62x1b2rryfrgl17w36ms03v83drc7l486"; + rev = "0a2e8436e02af6ca688b25ba90a19505a6113296"; + sha256 = "1fjsss678dj6vikm0ig5jqksjlwgnwhpaqfy3dk56gnjc49nl29v"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b86c666ee9b0620390a250dddd42b17cbec2409f/recipes/cask"; @@ -6295,12 +6612,12 @@ cbm = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "cbm"; - version = "20160628.1348"; + version = "20160926.1150"; src = fetchFromGitHub { owner = "akermu"; repo = "cbm.el"; - rev = "3c7f33d26336776f94877974f5f7e1470ea1cbdd"; - sha256 = "0rrgi765x9p9wa14p2b5jhsk86cmiicx2a239jkxm00w3sdn7rn8"; + rev = "bf8cbbcef82e4643c5f0399f0198f606275af08c"; + sha256 = "1p88fx90xwjk7dmd5gmbqyajyxf859kjsjzqmzljwai91skbb3pm"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f28dbc97dc23cdb0b4c74f8805775c787635871e/recipes/cbm"; @@ -6320,8 +6637,8 @@ src = fetchFromGitHub { owner = "skk-dev"; repo = "ddskk"; - rev = "fa713612fbf12a599b20f31e0aa6f35931bc92a0"; - sha256 = "0adl3njl8p4jgzwbjfw30yf1z0qis4nilbdkssgag8n9jld53ayz"; + rev = "df9d8a8332c9f75498bfecd870d7296c6ba0b42e"; + sha256 = "05ay6qkx77yl581jvikkf11dzny0v9h70iahss4bz5a37hawp4dd"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7375cab750a67ede1a021b6a4371b678a7b991b0/recipes/ccc"; @@ -6362,8 +6679,8 @@ src = fetchFromGitHub { owner = "skk-dev"; repo = "ddskk"; - rev = "fa713612fbf12a599b20f31e0aa6f35931bc92a0"; - sha256 = "0adl3njl8p4jgzwbjfw30yf1z0qis4nilbdkssgag8n9jld53ayz"; + rev = "df9d8a8332c9f75498bfecd870d7296c6ba0b42e"; + sha256 = "05ay6qkx77yl581jvikkf11dzny0v9h70iahss4bz5a37hawp4dd"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b48fe069ecd95ea0f9768ecad969e0838344e45d/recipes/cdb"; @@ -6397,22 +6714,22 @@ license = lib.licenses.free; }; }) {}; - cdnjs = callPackage ({ cl-lib ? null, dash, deferred, f, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info }: + cdnjs = callPackage ({ dash, deferred, f, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info }: melpaBuild { pname = "cdnjs"; - version = "20140217.1312"; + version = "20161031.822"; src = fetchFromGitHub { owner = "yasuyk"; repo = "cdnjs.el"; - rev = "eac2b4d150907aeb2d568327d04775578c82887f"; - sha256 = "0aspci0zg8waa3l234l0f8fjfzm67z2gydfdwwpxksz49sm2s1jk"; + rev = "ce19880d3ec3d81e6c665d0b1dfea99cc7a3f908"; + sha256 = "02j45ngddx7n5gvy42r8y3s22bmxlnvg2pqjfh0li8m599fnd11h"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/66e4ce4e2c7e4aaac9dc0ce476c4759b000ff5d6/recipes/cdnjs"; sha256 = "1clm86n643z1prxrlxlg59jg43l9wwm34x5d88bj6yvix8g6wkb7"; name = "cdnjs"; }; - packageRequires = [ cl-lib dash deferred f pkg-info ]; + packageRequires = [ dash deferred f pkg-info ]; meta = { homepage = "https://melpa.org/#/cdnjs"; license = lib.licenses.free; @@ -6549,8 +6866,8 @@ src = fetchFromGitHub { owner = "cfengine"; repo = "core"; - rev = "7ba51548b2a5e8d90f75f95adf6978992cc90d07"; - sha256 = "0s48s2znrxcx9zqvp4141qzf6kjag0wl0y65vps2bsifq5zdwdsw"; + rev = "df262b76a025d2a837ed0331c4affe1998959249"; + sha256 = "1lc6pfgn30fj4bcwzkxbpzvx17jdh99z2cp6yy53gmmgiimdm7bd"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c737839aeda583e61257ad40157e24df7f918b0f/recipes/cfengine-code-style"; @@ -6589,7 +6906,7 @@ version = "20160801.615"; src = fetchsvn { url = "http://beta.visl.sdu.dk/svn/visl/tools/vislcg3/trunk/emacs"; - rev = "11715"; + rev = "11929"; sha256 = "1wbk9aslvcmwj3n28appdhl3p2m6jgrpb5cijij8fk0szzxi1hrl"; }; recipeFile = fetchurl { @@ -6648,12 +6965,12 @@ char-menu = callPackage ({ avy-menu, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "char-menu"; - version = "20160203.2215"; + version = "20161231.1609"; src = fetchFromGitHub { owner = "mrkkrp"; repo = "char-menu"; - rev = "da1524f37453086d2c5178b62c5173fb66b2ca8e"; - sha256 = "00jf4nv7i1ppsag5p91ldqa47i92ikxkfr7fzzp5kkp9swx1zvyb"; + rev = "d0f87d8077e8516f562ae71d037839e164c987b1"; + sha256 = "0nxpm9bq8003wyjb8sg741nn7fcgvmsd0lhi0i907xpmii7bbjp6"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f6676747e853045b3b19e7fc9524c793c6a08303/recipes/char-menu"; @@ -6669,10 +6986,10 @@ character-fold-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "character-fold-plus"; - version = "20160227.1503"; + version = "20170102.916"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/character-fold+.el"; - sha256 = "0xvgxjyl6s6hds7m9brzly6vxj06m47hxkw5h2riscq6l4nwc9vz"; + sha256 = "0z6fc46sqdhnkpfichq9cnnnjmlcni0rxaj30rabpzkzmpsza79h"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0bb32513eaaafded547058e3de84fc87710d2cf0/recipes/character-fold+"; @@ -6709,12 +7026,12 @@ chatwork = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "chatwork"; - version = "20150807.1948"; + version = "20161121.555"; src = fetchFromGitHub { owner = "ataka"; repo = "chatwork"; - rev = "7a1def04735423d47e058a8137e859391a6aaf7e"; - sha256 = "1r2s3fszblk5wa6v3hnbzsri550gi5qsmp2w1spvmf1726n900cb"; + rev = "70b41451e2d2751e634e84e0452b34c558463fe4"; + sha256 = "11h76qc2n2p8yz941drmi0rp13xmmlacikfygdv1n7s730ja0hgy"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/77ae72e62b8771e890525c063522e7091ca8f674/recipes/chatwork"; @@ -6730,12 +7047,12 @@ cheatsheet = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "cheatsheet"; - version = "20151203.151"; + version = "20161106.1219"; src = fetchFromGitHub { owner = "darksmile"; repo = "cheatsheet"; - rev = "c4d9af19bf563977dd74863bb70d1aa783952f1c"; - sha256 = "15kam5hf2f4nwp29nvxqm5bs8nyhqf5m44fdb21qljgbmjdlh38y"; + rev = "329ac84def1af01c19761bd745ee4f275003161f"; + sha256 = "0981dkn8vkjyw50cbsx1zsa2nmyhsbz6kmrprj5jd828m49c1kc5"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0d2cd657fcadb2dd3fd12864fe94a3465f8c9bd7/recipes/cheatsheet"; @@ -6772,12 +7089,12 @@ chee = callPackage ({ dash, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "chee"; - version = "20160720.1318"; + version = "20161212.1525"; src = fetchFromGitHub { owner = "eikek"; repo = "chee"; - rev = "d15d10c32447edb528b9e6e00091ab326a100a25"; - sha256 = "0y0k30pmrdfkadxp3j60i9bjiai8ds7l5a6iy6xmkkmiksgjdv4k"; + rev = "48b1770e069a99eef10215f1ed268f852982fdd2"; + sha256 = "0r9wg77vag8m4k23whcss9p65v2jq9ypmjm74y6r2qpb9l68pnlg"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9f4a3775720924e5a292819511a8ea42efe1a7dc/recipes/chee"; @@ -6898,12 +7215,12 @@ chinese-fonts-setup = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "chinese-fonts-setup"; - version = "20160830.2145"; + version = "20161008.450"; src = fetchFromGitHub { owner = "tumashu"; repo = "chinese-fonts-setup"; - rev = "d1f020daba8bdc1acfb3d5828ed8d830089e8da0"; - sha256 = "1s7sv5j6vkpqzrjy6w3kvfc8qxfrm5rd4ih3nm14v0z26qm5fwhi"; + rev = "3f1e8d13837d22109a0eb0af4ee85fb2e90b31a1"; + sha256 = "0xx692nbnw6wkdh84i59kfr0nzq6jh4iarzzqppd60rr48r3l9wx"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c536882e613e83a4a2baf86479bfb3efb86d916a/recipes/chinese-fonts-setup"; @@ -6916,15 +7233,36 @@ license = lib.licenses.free; }; }) {}; + chinese-number = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "chinese-number"; + version = "20161007.2209"; + src = fetchFromGitHub { + owner = "zhcosin"; + repo = "chinese-number"; + rev = "7311c2a0c5eea5f016a90d733dfe75144c302fb2"; + sha256 = "01i7nycjnx4cpfgwakj14jv9dwybjl5jnslcxic9pr1n77mz53wk"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/6c2e447028dbae2dfefc47859c185af254210fe8/recipes/chinese-number"; + sha256 = "0qj7lh7asic77dsdlsv4pg2jzickqa0m5lvn8f184qq98yfmj6d6"; + name = "chinese-number"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/chinese-number"; + license = lib.licenses.free; + }; + }) {}; chinese-pyim = callPackage ({ async, chinese-pyim-basedict, cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, popup, pos-tip }: melpaBuild { pname = "chinese-pyim"; - version = "20160809.1712"; + version = "20161123.1614"; src = fetchFromGitHub { owner = "tumashu"; repo = "chinese-pyim"; - rev = "99d161a56b907e8bc8079d49554b60404e93565b"; - sha256 = "1wdr1hz8v045d17n1vf2gf0119lvhbnykfrzkwm11cs9plk0vmqb"; + rev = "68d73adfe17a51c3e2ce8e5e3a0efd5ae800d32f"; + sha256 = "02j722h445ibdy1g6fxpsk8hb3d1f41cncibygqppp4nr0rqkfc3"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/157a264533124ba05c161aa93a32c7209f002fba/recipes/chinese-pyim"; @@ -6979,6 +7317,27 @@ license = lib.licenses.free; }; }) {}; + chinese-pyim-wbdict = callPackage ({ chinese-pyim, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "chinese-pyim-wbdict"; + version = "20161029.2308"; + src = fetchFromGitHub { + owner = "tumashu"; + repo = "chinese-pyim-wbdict"; + rev = "7a755a1808526bd777b1fd5049b3891fd9a5ec0c"; + sha256 = "04c87l9y53xq21najw37wywilaxpk1kki8y2pisjyd36rvr7ad1y"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/7c77ba5562e8bd8b8f532e7745edcdf3489584ac/recipes/chinese-pyim-wbdict"; + sha256 = "0y9hwn9rjplb69vi4s9bvf6fkvns2rlpkqm0qvv44mxq7g61lm5c"; + name = "chinese-pyim-wbdict"; + }; + packageRequires = [ chinese-pyim ]; + meta = { + homepage = "https://melpa.org/#/chinese-pyim-wbdict"; + license = lib.licenses.free; + }; + }) {}; chinese-remote-input = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "chinese-remote-input"; @@ -7045,12 +7404,12 @@ chinese-yasdcv = callPackage ({ chinese-pyim, cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "chinese-yasdcv"; - version = "20150702.616"; + version = "20161030.1504"; src = fetchFromGitHub { owner = "tumashu"; repo = "chinese-yasdcv"; - rev = "619e4d701ed995ad2c95f35072c638cfb3933afb"; - sha256 = "14yzmyzkf846yjrwnqrbzmvyhfav39qa5fr8jnb7lyz8rm7y9pnq"; + rev = "664494d4c4562a4d83a0e73386f854829d7a52c0"; + sha256 = "1qnhyv4b3sy596r3jz13iypi3jyr266lyphpw82ivb6dx33awk70"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b6d727c30d2ec0f885a927a16a442fe220a740d5/recipes/chinese-yasdcv"; @@ -7081,6 +7440,27 @@ license = lib.licenses.free; }; }) {}; + choice-program = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "choice-program"; + version = "20161230.1721"; + src = fetchFromGitHub { + owner = "plandes"; + repo = "choice-program"; + rev = "691ced104adc6dbb3ddf8c28563c1cd36eb165b1"; + sha256 = "1jd0zj8g9nnzdfy76z9565sz6sd6690nbbi4zg71pxssmsqgkc3w"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/894357125db5035999a39514516852d7e957453e/recipes/choice-program"; + sha256 = "0hhp6qhrshqrw4978xq6biwddm7gv7yf4avbb64xvz66i3a2kgy1"; + name = "choice-program"; + }; + packageRequires = [ cl-lib emacs ]; + meta = { + homepage = "https://melpa.org/#/choice-program"; + license = lib.licenses.free; + }; + }) {}; chronos = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "chronos"; @@ -7102,22 +7482,22 @@ license = lib.licenses.free; }; }) {}; - chruby = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + chruby = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "chruby"; - version = "20151204.430"; + version = "20161222.430"; src = fetchFromGitHub { owner = "plexus"; repo = "chruby.el"; - rev = "0b210f5bb8c38dbe4581e660055cf9bac93304d0"; - sha256 = "0gx0bd7j71rlniq64vw8k59yzl070mdia05ry18br8kpsbk3bhrl"; + rev = "04182d666e19963fa0389cb744fc5cce62049a62"; + sha256 = "0cj5cs2bj7r5ijhz9vyfyzcq4mfccya34n9gs2vjdr2fg9mhgynx"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1989a3c6fa4cd7aaf6b0b202f197eb7db51936b9/recipes/chruby"; sha256 = "0pk6vdvmifiq52n452lbrkklxa69c40bfyzra9qhrghxr2q5v3mk"; name = "chruby"; }; - packageRequires = []; + packageRequires = [ cl-lib ]; meta = { homepage = "https://melpa.org/#/chruby"; license = lib.licenses.free; @@ -7126,12 +7506,12 @@ cider = callPackage ({ clojure-mode, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info, queue, seq, spinner }: melpaBuild { pname = "cider"; - version = "20160830.23"; + version = "20161227.21"; src = fetchFromGitHub { owner = "clojure-emacs"; repo = "cider"; - rev = "bdbb2d25b9f3fccf2c586414c5dfce104c811713"; - sha256 = "1k5s97inlm7igy5wp8rapy3l8k8mln0c3fqwn5w7pr09xb7bcqk9"; + rev = "0fcc4c98c91802417cadea90972a641a91baaf70"; + sha256 = "0np2hv3x620lvdm1lznc9mjhi0jh06agkb475cbqvj9jw922zrqf"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/55a937aed818dbe41530037da315f705205f189b/recipes/cider"; @@ -7168,12 +7548,12 @@ cider-eval-sexp-fu = callPackage ({ emacs, eval-sexp-fu, fetchFromGitHub, fetchurl, highlight, lib, melpaBuild }: melpaBuild { pname = "cider-eval-sexp-fu"; - version = "20160411.2328"; + version = "20160907.100"; src = fetchFromGitHub { owner = "clojure-emacs"; repo = "cider-eval-sexp-fu"; - rev = "63b849b8f996032f662364c451c8e950ce94c8d9"; - sha256 = "0g8yzfpaz1glxd0dxrd19bvk469pdjkr4b11xifcvamxa2slryij"; + rev = "5687e7b33e17f2be40b036dac82da4a5bc6705fb"; + sha256 = "0wyx51vggs76wj1gawwv1za6sa5gv1pj60vmc1ymzaw153ryhdq8"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/947f4d106d70f95ca8aac124ab0d90b2975208df/recipes/cider-eval-sexp-fu"; @@ -7186,6 +7566,27 @@ license = lib.licenses.free; }; }) {}; + cider-hydra = callPackage ({ cider, fetchFromGitHub, fetchurl, hydra, lib, melpaBuild }: + melpaBuild { + pname = "cider-hydra"; + version = "20161018.2254"; + src = fetchFromGitHub { + owner = "clojure-emacs"; + repo = "cider-hydra"; + rev = "6bb341143fe16f12be2262b2bcd003a246962676"; + sha256 = "094641g6rzm4y6k8ph1bbkfiwpp37wk1q9mcylbah01qlqd9c9qm"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/51d5e6471f88337c478ee5c189f037aaec937f56/recipes/cider-hydra"; + sha256 = "1qjgfrj3ck70vkyc9c00mif0jq5hc2yan2hql31qzbpqzg3pi2r7"; + name = "cider-hydra"; + }; + packageRequires = [ cider hydra ]; + meta = { + homepage = "https://melpa.org/#/cider-hydra"; + license = lib.licenses.free; + }; + }) {}; cider-profile = callPackage ({ cider, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "cider-profile"; @@ -7231,12 +7632,12 @@ ciel = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ciel"; - version = "20160809.310"; + version = "20161230.2212"; src = fetchFromGitHub { owner = "cs14095"; repo = "ciel.el"; - rev = "ebe6dc68aeed627b88dafd170b023121f7def0d4"; - sha256 = "1z2hsbfkml5psj47b4i83grn96q85mpqll95nqb3n98hyc6da90a"; + rev = "ea047b6c097255ea3709b56007d0d1a3b3d5c9bc"; + sha256 = "1f0f2l3na49964wlyv8w99q2qqv5dsr880i6n1xin0q6yqms61yw"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9c70c007a557ea9fb9eb4d3f8b7adbe4dac39c8a/recipes/ciel"; @@ -7294,12 +7695,12 @@ circe = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "circe"; - version = "20160608.1315"; + version = "20161118.414"; src = fetchFromGitHub { owner = "jorgenschaefer"; repo = "circe"; - rev = "0564dfae13590d183889950724a7ef2e8df5b1df"; - sha256 = "1nwdbm9dnybghcv2rjw9c8783k5r060cmxzklsn9by4l7i1x9k2r"; + rev = "e549f0a7f8c6a39cc3129581b85682e3977d2bdd"; + sha256 = "16c45hb216b3r214p8v7zzlpz26s39lc9fmjl6ll3jwvqpq19kb1"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a2b295656d53fddc76cacc86b239e5648e49e3a4/recipes/circe"; @@ -7315,12 +7716,12 @@ circe-notifications = callPackage ({ alert, circe, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "circe-notifications"; - version = "20160809.2023"; + version = "20160902.42"; src = fetchFromGitHub { owner = "eqyiel"; repo = "circe-notifications"; - rev = "251aaeef50346fa85e0a0a6eadc71a23b80ebdc6"; - sha256 = "0jfp0ydrkfcwkx32dikhsfxr6vkf7d55pba6wbb2h13wpz4d4n4s"; + rev = "80c44441ecd3ae04ae63760aa20afa837c1ed05b"; + sha256 = "0s0iw5vclciziga78f1lvj6sdg84a132in39k4vz0pj598ypin1w"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/76c0408423c4e0728789de7b356b2971d6c446c7/recipes/circe-notifications"; @@ -7378,11 +7779,11 @@ clang-format = callPackage ({ cl-lib ? null, fetchsvn, fetchurl, lib, melpaBuild }: melpaBuild { pname = "clang-format"; - version = "20151116.438"; + version = "20161004.253"; src = fetchsvn { url = "http://llvm.org/svn/llvm-project/cfe/trunk/tools/clang-format"; - rev = "280224"; - sha256 = "0v0wzbma0acn44as6hhpar70bs99vsgpv5caqxx6c90spp8h2agf"; + rev = "290889"; + sha256 = "1vbngm8xf7i8f3140y0dk704vagcws6is9waj9qsy6yg0vxmqp0y"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/69e56114948419a27f06204f6fe5326cc250ae28/recipes/clang-format"; @@ -7503,12 +7904,12 @@ cliphist = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, popup }: melpaBuild { pname = "cliphist"; - version = "20160502.1912"; + version = "20160916.513"; src = fetchFromGitHub { owner = "redguardtoo"; repo = "cliphist"; - rev = "7a1a8a6dcc046c7ede4480315c539c06e1bbadc9"; - sha256 = "0h856l6rslawf3vg37xhsaw5w56r9qlwzbqapg751qg0v7wf0860"; + rev = "5cddd9c0b3aacc9941214a749edd19ceb2cde7f4"; + sha256 = "0hifxb3r54yinlal6bwhycwaspbz1kwkybvrcppkpdfg9jd88nfd"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/82d86dae4ad8efc8ef342883c164c56e43079171/recipes/cliphist"; @@ -7524,12 +7925,12 @@ clipmon = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "clipmon"; - version = "20160128.1004"; + version = "20160926.329"; src = fetchFromGitHub { owner = "bburns"; repo = "clipmon"; - rev = "90e24ba9dd53cb7c6f147d2d716816410117cd8b"; - sha256 = "07a55q97j2vsqpha0akri2kq90v1l97mc1mgr97pq39gc1bbc5d3"; + rev = "3f985aa2a55fbfd8566425c90e1968998f57b8ee"; + sha256 = "0jkim6zdmqq8swq70yic7cypj89d1rks5lla1kq9qvrmll36x31w"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4dc92d73705ebb61ff8218f3483dd2da51ce8d32/recipes/clipmon"; @@ -7545,12 +7946,12 @@ clippy = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, pos-tip }: melpaBuild { pname = "clippy"; - version = "20140417.414"; + version = "20161028.1254"; src = fetchFromGitHub { owner = "Fuco1"; repo = "clippy.el"; - rev = "23ba8772056a103267611b3757722730740d9f00"; - sha256 = "0msmigzip7hpjxwkz0khhlc2lj9wgb2919i4k0kv8ppi9j2f9hjc"; + rev = "ad4b5dba4cede6d4b21533186303d3d3e9a2510f"; + sha256 = "0rnqwzbr5hdap276ana0iz3lk2ih8kkj1m9cydavqqdrwzk4ldrm"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e3743596c4b6387351684b1bf00f17275b8e59e8/recipes/clippy"; @@ -7587,12 +7988,12 @@ clj-refactor = callPackage ({ cider, clojure-mode, dash, edn, emacs, fetchFromGitHub, fetchurl, hydra, inflections, lib, melpaBuild, multiple-cursors, paredit, s, yasnippet }: melpaBuild { pname = "clj-refactor"; - version = "20160621.902"; + version = "20161223.1457"; src = fetchFromGitHub { owner = "clojure-emacs"; repo = "clj-refactor.el"; - rev = "51b8b0b0d02ee279dfa0b6a7bf083406fffe1d3d"; - sha256 = "09z78z78m2ncw8n1wvqiwrwdpha358xi1kphiy3q8mp7p10zfnsh"; + rev = "46a925305ad9cf3fce09921ce201e7f527d76e77"; + sha256 = "1dxy1y02x2447ig0cfvjfhkiv8sih5d75hbdy6s9qhy2ljbmnjw3"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3a2db268e55d10f7d1d5a5f02d35b2c27b12b78e/recipes/clj-refactor"; @@ -7617,22 +8018,22 @@ license = lib.licenses.free; }; }) {}; - cljr-helm = callPackage ({ clj-refactor, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }: + cljr-helm = callPackage ({ cl-lib ? null, clj-refactor, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild }: melpaBuild { pname = "cljr-helm"; - version = "20150425.1307"; + version = "20160913.128"; src = fetchFromGitHub { owner = "philjackson"; repo = "cljr-helm"; - rev = "99c6dcc5228ecd2fe9e6e28a9512cbc3df0770ef"; - sha256 = "0ydv2prnw1j3m5nk23fqn4iv202kjswr8z0ip4zacdm8bl0q25ln"; + rev = "f2fc7b698a56e4a44d5dfbc6a55d77a93c0fa9a4"; + sha256 = "0jy6hkz8sr1bplymwxnjg4q408cw2dgfrv70chlw3y5ddc4cingj"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d99b67e295ef59916211bf22b57b4d093e3d53ab/recipes/cljr-helm"; sha256 = "108a1xgnc6qy088vs41j3npwk25a5vny0xx4r3yh76jsmpdpcgnc"; name = "cljr-helm"; }; - packageRequires = [ clj-refactor helm ]; + packageRequires = [ cl-lib clj-refactor helm-core ]; meta = { homepage = "https://melpa.org/#/cljr-helm"; license = lib.licenses.free; @@ -7725,12 +8126,12 @@ clojars = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, request-deferred }: melpaBuild { pname = "clojars"; - version = "20160518.2135"; + version = "20161109.1448"; src = fetchFromGitHub { owner = "joshuamiller"; repo = "clojars.el"; - rev = "7243d901afa5c8d209df7c4e6a62fb2828703aaf"; - sha256 = "15hnjxc7xczidn3fl88zkb8868r0v1892pvhgzpwkh3biailfq5h"; + rev = "8f4ca8a283d4e9acaab912bb7217ffb5800b01a7"; + sha256 = "1j7ib7iyv4l8f3cgzyqz7jpwwa1bml343imqj5ynr7jzasv7pz52"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7f766319c3e18a41017684ea503b0382e96ab31b/recipes/clojars"; @@ -7746,12 +8147,12 @@ clojure-cheatsheet = callPackage ({ cider, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }: melpaBuild { pname = "clojure-cheatsheet"; - version = "20160707.118"; + version = "20161004.2328"; src = fetchFromGitHub { owner = "clojure-emacs"; repo = "clojure-cheatsheet"; - rev = "11544e07d788df0fe82a2cf6c496f73fbda4955c"; - sha256 = "1gzfgzykyj9nsi970j9v2fpdlll8by7dg308yh8q3ahq5jk09p92"; + rev = "57e877d9466934b5319989b542f93b42dffec9ae"; + sha256 = "1d61q50h4vxk8i3jwxf71rbqah7ydfsd0dny59zq0klszfz2q26b"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0569da79bd8145df334965c5d4364a50b6b548fa/recipes/clojure-cheatsheet"; @@ -7767,12 +8168,12 @@ clojure-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "clojure-mode"; - version = "20160803.140"; + version = "20161221.523"; src = fetchFromGitHub { owner = "clojure-emacs"; repo = "clojure-mode"; - rev = "464c9de6734cb4b426137674041d695c2a7c7ef9"; - sha256 = "0xg85x5lrh1d8vlnkzrxpdrcqsqngjy6xp7p509wnhx7k8j85vpm"; + rev = "423c9e4ee43212c42e22b15fff4aa52c050ca90d"; + sha256 = "09ik49nb40p082ykf2giszbxzlsc5m1zgsmfkq1j571qkn0cdzc9"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5e3cd2e6ee52692dc7b2a04245137130a9f521c7/recipes/clojure-mode"; @@ -7792,8 +8193,8 @@ src = fetchFromGitHub { owner = "clojure-emacs"; repo = "clojure-mode"; - rev = "464c9de6734cb4b426137674041d695c2a7c7ef9"; - sha256 = "0xg85x5lrh1d8vlnkzrxpdrcqsqngjy6xp7p509wnhx7k8j85vpm"; + rev = "423c9e4ee43212c42e22b15fff4aa52c050ca90d"; + sha256 = "09ik49nb40p082ykf2giszbxzlsc5m1zgsmfkq1j571qkn0cdzc9"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5e3cd2e6ee52692dc7b2a04245137130a9f521c7/recipes/clojure-mode-extra-font-locking"; @@ -7830,12 +8231,12 @@ clojure-snippets = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }: melpaBuild { pname = "clojure-snippets"; - version = "20160728.29"; + version = "20161024.16"; src = fetchFromGitHub { owner = "mpenet"; repo = "clojure-snippets"; - rev = "c5220e978709bc7234e3adfe336b66eff2b89b4b"; - sha256 = "08zrmbhczr08s8ni76i9g338250rgk95vz7sl22rj5fxln3zn6xz"; + rev = "bc9144ae5cd9e4468a9d34f1ae8a05d9933e5a39"; + sha256 = "1xcjlid47w4xjxishal2rvfdwk7qyphy2v2bphdaysllccclw9pq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4898fc6746b30b0d0453b3b56d02479bfb0f70b9/recipes/clojure-snippets"; @@ -7848,40 +8249,40 @@ license = lib.licenses.free; }; }) {}; - clomacs = callPackage ({ cider, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + clomacs = callPackage ({ cider, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "clomacs"; - version = "20160828.1236"; + version = "20161227.131"; src = fetchFromGitHub { owner = "clojure-emacs"; repo = "clomacs"; - rev = "de0d374886c79deb4068e188d00ea3ef76835a8c"; - sha256 = "11z1rdxsg6w44ab9cfgvl7kdrdzvq5fj9fxsqig6j6gvd7m3znhq"; + rev = "6d8a3eb84f1c65724680f4a0dcef3d1d0a29f4e6"; + sha256 = "082y5acfxbbihfxvzbps9f6k5p08nnrk604yvpi2m8hkyspyy4cb"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/345f9797e87e3f5f957c167a5e3d33d1e31b50a3/recipes/clomacs"; sha256 = "1vfjzrzp58ap75i0dh5bwnlkb8qbpfmrd3fg9n6aaibvvd2m3hyh"; name = "clomacs"; }; - packageRequires = [ cider emacs ]; + packageRequires = [ cider emacs s ]; meta = { homepage = "https://melpa.org/#/clomacs"; license = lib.licenses.free; }; }) {}; - closql = callPackage ({ emacs, emacsql-sqlite, fetchFromGitLab, fetchurl, lib, melpaBuild }: + closql = callPackage ({ emacs, emacsql-sqlite, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "closql"; - version = "20160415.1916"; - src = fetchFromGitLab { - owner = "tarsius"; + version = "20161130.925"; + src = fetchFromGitHub { + owner = "emacscollective"; repo = "closql"; - rev = "a8b6b2beaa10528b2fd5ed9759136e3959529266"; - sha256 = "1p251vyh8fc6xzaf0v7yvf4wkrvcfjdb3qr88ll4xcb61gj3vi3a"; + rev = "0bb0fa3dd1e545cbf025d42e253ddb00107156a3"; + sha256 = "1mpycmj88gi62rhzxdv4933l318j3llphbc00b7rvzms55sgpcz5"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/c97468a71910ba6709792c060c1fb714004e24da/recipes/closql"; - sha256 = "0a8fqw8n03x9mygvzb95m8mmfqp3j8hynwafvryjsl0np0695b6l"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/2df16abf56e53d4a1cc267a78797419520ff8a1c/recipes/closql"; + sha256 = "13ybna20w2d1b3n0y5p1ybhkw0j0zh5nd43p1yvf8h1haj983l87"; name = "closql"; }; packageRequires = [ emacs emacsql-sqlite ]; @@ -7935,12 +8336,12 @@ clues-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "clues-theme"; - version = "20140922.2056"; + version = "20161213.327"; src = fetchFromGitHub { owner = "jasonm23"; repo = "emacs-clues-theme"; - rev = "69d873c90fbf24590c765309b7fb55cd14bb6bda"; - sha256 = "0fnl3b62clg9llcs2l511sxp4yishan4pqk45sqp8ih4rdzvy7ar"; + rev = "abd61f2b7f3e98de58ca26e6d1230e70c6406cc7"; + sha256 = "118k5bnlk9sc2n04saaxjncmc1a4m1wlf2y7xyklpffkazbd0m72"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/bf43125306df445ac829c2edb98dd608bc1407de/recipes/clues-theme"; @@ -7956,12 +8357,12 @@ cm-mode = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "cm-mode"; - version = "20160824.615"; + version = "20160914.148"; src = fetchFromGitHub { owner = "joostkremers"; repo = "criticmarkup-emacs"; - rev = "81863c2e16e2ddc6e1616d5585836e46ceee6401"; - sha256 = "0rj4ww67v0r5wjf8siz6yy3hwxbwsnm9l5f8962sxrjillgf3kpg"; + rev = "12b7460691dc502d27329d6ac11c51cc83cd098e"; + sha256 = "018limfwcb396yr2kn6jixxdmpmiif3l7gp0p1pmwbg07fldllha"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/42dda804ec0c7338c39c57eec6ba479609a38555/recipes/cm-mode"; @@ -7998,12 +8399,12 @@ cmake-ide = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, levenshtein, lib, melpaBuild, seq }: melpaBuild { pname = "cmake-ide"; - version = "20160802.619"; + version = "20161229.138"; src = fetchFromGitHub { owner = "atilaneves"; repo = "cmake-ide"; - rev = "372c05ecd4a7eae91c8b3b1e31c9226b514b6d90"; - sha256 = "0caqi5s17mmgfz6q1439a1w6yr9kmd2g7xqg54ij1km5vq2wbxxk"; + rev = "393d6e9affa6f9978600b6c0ef8a4fe8bf73d813"; + sha256 = "0lg6ky9h4a96w8mma668kxfv9dffw97h1swjq33cvhv5pp3p9rrr"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/17e8a8a5205d222950dc8e9245549a48894b864a/recipes/cmake-ide"; @@ -8019,12 +8420,12 @@ cmake-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "cmake-mode"; - version = "20160801.1215"; + version = "20160928.505"; src = fetchFromGitHub { owner = "Kitware"; repo = "CMake"; - rev = "9bbf1dc06ebb891498747768736442b22058c49e"; - sha256 = "02zafa14znp91rlbsfhc2s81xai8zvwp1klc7210y47p302nipw2"; + rev = "bd9b53ab33bb2185d526e8897cbd8f95c680b2c7"; + sha256 = "0r6dqiaz8mj5xzhgwzlbn8lqxkg9kv65qwd8x1c8rqnjs3r86c9x"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/598723893ae4bc2e60f527a072efe6ed9d4e2488/recipes/cmake-mode"; @@ -8058,12 +8459,33 @@ license = lib.licenses.free; }; }) {}; + cmd-to-echo = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s, shell-split-string }: + melpaBuild { + pname = "cmd-to-echo"; + version = "20161203.1333"; + src = fetchFromGitHub { + owner = "mallt"; + repo = "cmd-to-echo"; + rev = "e0e874fc0e1ad6d291e39ed76023445297ad438a"; + sha256 = "0wi097yk9p1xcfmps1g58xvvlv60akwky4y0pxdz6pa31w9jd1q8"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/d559cee8b263d3615f48924d62341f1ce1ab2630/recipes/cmd-to-echo"; + sha256 = "0bz0zbzagrz26cvqpwl1pfwayyc49bjawk641yc6kl8gnsnv3z73"; + name = "cmd-to-echo"; + }; + packageRequires = [ emacs s shell-split-string ]; + meta = { + homepage = "https://melpa.org/#/cmd-to-echo"; + license = lib.licenses.free; + }; + }) {}; cmds-menu = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "cmds-menu"; - version = "20160830.1130"; + version = "20170102.917"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/cmds-menu.el"; - sha256 = "00wl9qqqqznd3hk0zxc6l5zsnmkmqikzpirm5gj2lp1wqdkrbmi4"; + sha256 = "0zkqpv7n4idzqkayildxkgaqsy1rjkmsf5ppkjld3jk1j53kacfc"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/de6366e4b3e72a5e68b960d6bf4bab2683ad6800/recipes/cmds-menu"; @@ -8265,22 +8687,22 @@ license = lib.licenses.free; }; }) {}; - coffee-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + coffee-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "coffee-mode"; - version = "20160808.1712"; + version = "20161124.832"; src = fetchFromGitHub { owner = "defunkt"; repo = "coffee-mode"; - rev = "026222983aee3842f6ddac9024364dcaacd9a73e"; - sha256 = "13icfx0h89hb2180srqnvrm415cijn2v5l8i8hdv820wkd2v9lx8"; + rev = "d7d554cbf435aa875fbf56e67c4374375a164a93"; + sha256 = "1glif3jxh31cmy2rgz39bc2bbrlgh87v5wd5c93f7slb45gkinqi"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/coffee-mode"; sha256 = "1px50hs0x30psa5ljndpcc22c0qwcaxslpjf28cfgxinawnp74g1"; name = "coffee-mode"; }; - packageRequires = [ cl-lib emacs ]; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/coffee-mode"; license = lib.licenses.free; @@ -8289,10 +8711,10 @@ col-highlight = callPackage ({ fetchurl, lib, melpaBuild, vline }: melpaBuild { pname = "col-highlight"; - version = "20151231.1233"; + version = "20170102.918"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/col-highlight.el"; - sha256 = "1fpkymmgv58b734d2rr7cfj2j2if1qkwgrpk3yp2ibw2n2567y0s"; + sha256 = "0ayr0psmfjy8iqq779v12ccgzclwakzlcfsl7g98qvxxmkh1vm8j"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2a16dca0068d9d4f25ad6b699ec8cb8da6ba17e5/recipes/col-highlight"; @@ -8350,12 +8772,12 @@ color-identifiers-mode = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "color-identifiers-mode"; - version = "20160810.2142"; + version = "20161019.1314"; src = fetchFromGitHub { owner = "ankurdave"; repo = "color-identifiers-mode"; - rev = "c2cc1e5e6a7120da37de3a24d6796678c6637e0f"; - sha256 = "08y8ks2a017899prwgjxqxl15dip6g2kxfglnsfq03vgzjp7ry21"; + rev = "2b02b8d4ed0233d63a698a7f929b87fcaa8d0048"; + sha256 = "1jqvdask079373q9lgfp058892apx8qcchnrwwwd2zgfnwhjhy1q"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5c735755e414fdf169aca5ec6f742533d21472e0/recipes/color-identifiers-mode"; @@ -8454,12 +8876,12 @@ color-theme-modern = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "color-theme-modern"; - version = "20160411.1846"; + version = "20161219.344"; src = fetchFromGitHub { owner = "emacs-jp"; repo = "replace-colorthemes"; - rev = "7107540d22e8ff045e0707de84c8b179fd829302"; - sha256 = "0apvqrva3f7valjrxpslln8460kpr82z4zazj3lg3j82k102zla9"; + rev = "42a79266f1d7b473e9328e67a455e505e6c3eff5"; + sha256 = "0mw5rnzzc4yfcflg59viy81ziws680r44xr05qg032b5x02l8ar9"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2db82e101916d8709b711034da5ca6e4072e1077/recipes/color-theme-modern"; @@ -8479,8 +8901,8 @@ src = fetchFromGitHub { owner = "purcell"; repo = "color-theme-sanityinc-solarized"; - rev = "6d1cf921881a0db6286ad6904aff2d17b2a335b3"; - sha256 = "0cw1al8dan7vglkm33wkznvmyma903ckd95l1ns6qmf1d55lnpig"; + rev = "99fb4753f071542690e7a17b3dd76b5f2a05e9fc"; + sha256 = "1vhncjyw0qbglgsd04cgyqc3473kz97ks15586ljrpa14f8fnjk2"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/color-theme-sanityinc-solarized"; @@ -8496,12 +8918,12 @@ color-theme-sanityinc-tomorrow = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "color-theme-sanityinc-tomorrow"; - version = "20160829.2324"; + version = "20160916.1758"; src = fetchFromGitHub { owner = "purcell"; repo = "color-theme-sanityinc-tomorrow"; - rev = "6943ca134babe228fef975506826d7ac471c9ca2"; - sha256 = "1cnd1fd4mi6jjy7fkldsk9vzgl6q67d5rajr9a5fzzanp4v08zr1"; + rev = "81d8990085960824f700520d08027e6aca58feaa"; + sha256 = "1x3aq6hadp158vh8mf9hmj5rikq0qz7a1frv7vbl39xr3wcnjj23"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/color-theme-sanityinc-tomorrow"; @@ -8535,36 +8957,36 @@ license = lib.licenses.free; }; }) {}; - colorsarenice-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + color-theme-x = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { - pname = "colorsarenice-theme"; - version = "20150421.1336"; + pname = "color-theme-x"; + version = "20160924.854"; src = fetchFromGitHub { - owner = "Fanael"; - repo = "colorsarenice-theme"; - rev = "3cae55d0c7aeda3a8ef731ebc3886b2449ad87e6"; - sha256 = "18hzm7yzwlfjlbkx46rgdl31p9xyfqnxlvg8337h2bicpks7kjia"; + owner = "ajsquared"; + repo = "color-theme-x"; + rev = "7cba227f8bd4c82269405848550a4f4475057c65"; + sha256 = "053dq567iy9hkidsx76wjzgnq91z4gncx4870cj5lyp6j4g4mc8h"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/3ac373bc7d1c4d3e49523d587d279968995e164c/recipes/colorsarenice-theme"; - sha256 = "09zlglldjbjr97clwyzyz7c0k8hswclnk2zbkm03nnn9n9yyg2qi"; - name = "colorsarenice-theme"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/321900baf4149f8b58b075b9fb27716cf708f2a2/recipes/color-theme-x"; + sha256 = "0nb2hqmmj1rhqjcbv5m8r9g2bf993lp45ka9rrxqp0pkmyd9fvs2"; + name = "color-theme-x"; }; - packageRequires = [ emacs ]; + packageRequires = [ cl-lib ]; meta = { - homepage = "https://melpa.org/#/colorsarenice-theme"; + homepage = "https://melpa.org/#/color-theme-x"; license = lib.licenses.free; }; }) {}; column-enforce-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "column-enforce-mode"; - version = "20140902.949"; + version = "20161020.434"; src = fetchFromGitHub { owner = "jordonbiondo"; repo = "column-enforce-mode"; - rev = "f43263e50ae83db099d83ea445f93e248a3207a0"; - sha256 = "0ay4wrnyrdp4v3vjxr99hy8fpq6zsyh246c0gbp7bh63l5fx8nwr"; + rev = "858a49daca67188cbcc151a7b531556552d48d00"; + sha256 = "1hb2lwnq7f81qnp3kymhld0y05kqd249nnpnbiby4pdfwwfc92fl"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/91bebef8e97665a5d076c557d559367911a25ea2/recipes/column-enforce-mode"; @@ -8703,12 +9125,12 @@ commify = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "commify"; - version = "20160724.2032"; + version = "20161106.1534"; src = fetchFromGitHub { owner = "ddoherty03"; repo = "commify"; - rev = "61db2dd77fc68a82767ae71a81a7059a97bcf115"; - sha256 = "0z6zpxrv0c21vv3k4kzahfl32db33h7v1x4ip1adskjdj4pa013g"; + rev = "78732c2fa6c1a10288b7436d7c561ec9ebdd41be"; + sha256 = "1kb3cbjp69niq8ravh273dma0mnkf1v2ja372ahxfsq1janrkkm6"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/fec4b048e1dc78a07acce7d2e6527b9f417d06d5/recipes/commify"; @@ -8724,12 +9146,12 @@ common-lisp-snippets = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }: melpaBuild { pname = "common-lisp-snippets"; - version = "20160531.903"; + version = "20161231.1557"; src = fetchFromGitHub { owner = "mrkkrp"; repo = "common-lisp-snippets"; - rev = "442ec783ee0e691a7b5554b13a317abd090ba080"; - sha256 = "0iz5fgcp542hx26q6vmycfrfxyn58yjkdjr6zfn3mzhmxssaf1rc"; + rev = "bb8d22994592a7e69ef8e613e8638882e4e0e404"; + sha256 = "0i4w5jkz0yxnnapyijvjd5z1rcp0g3r3abj6hchb5yd26h1jcz8a"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/48d0166ccd3dcdd3df4719349778c6c5ab6872ca/recipes/common-lisp-snippets"; @@ -8742,22 +9164,22 @@ license = lib.licenses.free; }; }) {}; - company = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + company = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "company"; - version = "20160829.1206"; + version = "20161231.837"; src = fetchFromGitHub { owner = "company-mode"; repo = "company-mode"; - rev = "f2327bc7f303fcf83c3d8f9c76f61deaa110ebb5"; - sha256 = "0d0if7nksd5adybc6w9v8bg2j11gz975b869k4kd9fi3fbsv5cw3"; + rev = "906deabef91c217658635e55f726a7de379e9560"; + sha256 = "148q9wazdjzvd8lm810zknp12wfbqn3c4lbaf0v83kx0b4bkglyf"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/96e7b4184497d0d0db532947f2801398b72432e4/recipes/company"; sha256 = "0v4x038ly970lkzb0n8fbqssfqwx1p46xldr7nss32jiqvavr4m4"; name = "company"; }; - packageRequires = [ cl-lib emacs ]; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/company"; license = lib.licenses.free; @@ -8787,12 +9209,12 @@ company-ansible = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "company-ansible"; - version = "20150901.250"; + version = "20161119.1155"; src = fetchFromGitHub { owner = "krzysztof-magosa"; repo = "company-ansible"; - rev = "cfe1c915f49d716f30eec654c54db761f662952c"; - sha256 = "06gh33qzglv40r62dsapzhxwparw8ciblv80g7h6y6ilyazwcidn"; + rev = "5e8b51b21d32d3d8929fc2e82dec8f584a863399"; + sha256 = "0appxl6njgxmgpf9np5cpjym3ifgdwh0mzvsnxvx08pidrrnmm33"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7b44cd4bd9f9a7c942ca3f3bd88b2ce61ffff130/recipes/company-ansible"; @@ -8837,12 +9259,12 @@ company-auctex = callPackage ({ auctex, company, fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }: melpaBuild { pname = "company-auctex"; - version = "20151102.643"; + version = "20161025.24"; src = fetchFromGitHub { owner = "alexeyr"; repo = "company-auctex"; - rev = "780ba68b4154ecac4f20dbd4b1ba561ba40f248b"; - sha256 = "0mkyg9y1rhl6hdzhr51psnvy2q0zw4y29m9p0ivb7s643k3fjjp5"; + rev = "d3727c9f5bb13c52b4a345bc8f895d3dbd9178b3"; + sha256 = "0bcf6vaq6bcp60wgfq0vr3mjzv74fn7jibndz5g1d9jkd1vj64xw"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/189e1a60894db0787a4468b120fbab84be1b5d59/recipes/company-auctex"; @@ -8855,6 +9277,27 @@ license = lib.licenses.free; }; }) {}; + company-bibtex = callPackage ({ cl-lib ? null, company, fetchFromGitHub, fetchurl, lib, melpaBuild, parsebib, regexp-opt }: + melpaBuild { + pname = "company-bibtex"; + version = "20161210.1223"; + src = fetchFromGitHub { + owner = "gbgar"; + repo = "company-bibtex"; + rev = "9b236cb9527ec69d73101193e6b53ad6080ea333"; + sha256 = "19f6npkd4im9dp48h2kp2kw6d6pvw4i4qn404ca949z77v87ibjj"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/7c366ac2949eae48766fce70a7b01bbada6fcc27/recipes/company-bibtex"; + sha256 = "14s3hxm7avpw59v4sz0d3drjzin745rczp93rcv4s7i3a7kdmn30"; + name = "company-bibtex"; + }; + packageRequires = [ cl-lib company parsebib regexp-opt ]; + meta = { + homepage = "https://melpa.org/#/company-bibtex"; + license = lib.licenses.free; + }; + }) {}; company-c-headers = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "company-c-headers"; @@ -8883,8 +9326,8 @@ src = fetchFromGitHub { owner = "iquiw"; repo = "company-cabal"; - rev = "f458de88cad16ed48a605e8347e56433e73dcef8"; - sha256 = "0ll9dxzsgrpy4psz3dqhzny990lfccn63swcyfvl8mnqgwbrq8k0"; + rev = "05886d6f2621b019fafb40cff4d2567e5d8045b4"; + sha256 = "1yxp6l8a16d6g2sfwrpfx97ds7nfrgk2akwydal1dzr2bjq02pc6"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ee888b1ba57b6af3a3330607898810cd248862db/recipes/company-cabal"; @@ -8900,12 +9343,12 @@ company-coq = callPackage ({ cl-lib ? null, company, company-math, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }: melpaBuild { pname = "company-coq"; - version = "20160715.344"; + version = "20161201.631"; src = fetchFromGitHub { owner = "cpitclaudel"; repo = "company-coq"; - rev = "38674bb993874a40c7a7b96f7a3f326d29d34e46"; - sha256 = "06197qn3739bcjzlgr45a3c11xgq151f40g39am5998dj3156524"; + rev = "20f3ede0ca3a90a68b700704bff830ca18598f73"; + sha256 = "0fdpxd2lh3y5iyhwphpcdv29bm5v8pcwhbj4xhbky7dn28kbl9c4"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7f89e3097c654774981953ef125679fec0b5b7c9/recipes/company-coq"; @@ -8921,12 +9364,12 @@ company-dcd = callPackage ({ cl-lib ? null, company, fetchFromGitHub, fetchurl, flycheck-dmd-dub, ivy, lib, melpaBuild, popwin, yasnippet }: melpaBuild { pname = "company-dcd"; - version = "20160806.1852"; + version = "20161020.430"; src = fetchFromGitHub { owner = "tsukimizake"; repo = "company-dcd"; - rev = "d2cead0a3f70a0ef944bc778643d26934331642d"; - sha256 = "0w410mqhafxfywa1hfgms21kzpww6sfw4v4fl43pkcxfki94fv1r"; + rev = "24c5c56efee1e850ae851a87e8345313a2388ef4"; + sha256 = "1mcr6rbmkk5yh1icgfhq1qfcvpmrwimqcp7f8k8dmyk99lpkmx6f"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ad5be8c53911271fba03a88da7e9d518c6508ffe/recipes/company-dcd"; @@ -8970,12 +9413,12 @@ company-distel = callPackage ({ distel-completion-lib, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "company-distel"; - version = "20160815.2300"; + version = "20161002.2339"; src = fetchFromGitHub { owner = "sebastiw"; repo = "distel-completion"; - rev = "994c61dda2e3256b41fa2e53821c484b5ffd13e6"; - sha256 = "00nifdhwy89zmi50hln5p5albdx7ypm4mbdfjzhk4870crx4zjr2"; + rev = "2ba4eea51cecfa75cf62f58180460ee9ff43131f"; + sha256 = "1761lgplngmpn1vd8syc1h4g6q1dhngamz1j3n48z07c1ylzpkdd"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/90fff35dd9709b06802edef89d1fe6a96b7115a6/recipes/company-distel"; @@ -9012,12 +9455,12 @@ company-emacs-eclim = callPackage ({ cl-lib ? null, company, eclim, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "company-emacs-eclim"; - version = "20160813.1754"; + version = "20170101.1312"; src = fetchFromGitHub { owner = "emacs-eclim"; repo = "emacs-eclim"; - rev = "a58dd558e6ad4f8f5d78b743955a758178e323be"; - sha256 = "1jn2raymx4qml8h7ala8jhgfzfbppd5nq55ffbs0il46r9w3n086"; + rev = "03d9cb7b6c3ac60fd796a2ba8fdfe13552720d3b"; + sha256 = "1dzy463jpfjz7qhr1zwx8n3xrba6zj87j6naf7xx4j704i03f9h8"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1e9d3075587fbd9ca188535fd945a7dc451c6d7e/recipes/company-emacs-eclim"; @@ -9033,12 +9476,12 @@ company-emoji = callPackage ({ cl-lib ? null, company, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "company-emoji"; - version = "20160331.1641"; + version = "20161230.1937"; src = fetchFromGitHub { owner = "dunn"; repo = "company-emoji"; - rev = "00ff8210cf80b4bc4ec0fe8f42b8a00315241f32"; - sha256 = "1ipknikwyd6h2w72s5sn32mfql4p2cmgv868n13r3wg42c619blq"; + rev = "8dc88ffe0773ef44321f245d39430c14a1bc2b82"; + sha256 = "1y8l9wnc13g79znyw2qsbm33da2bhkj270ppikkg9h4x2qpmxilq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5733dccdffe97911a30352fbcda2900c33d79810/recipes/company-emoji"; @@ -9051,15 +9494,36 @@ license = lib.licenses.free; }; }) {}; + company-erlang = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, ivy-erlang-complete, lib, melpaBuild }: + melpaBuild { + pname = "company-erlang"; + version = "20161226.206"; + src = fetchFromGitHub { + owner = "s-kostyaev"; + repo = "company-erlang"; + rev = "a5e8fad1c21d0ee72f1e6287a95eb88953a356c7"; + sha256 = "0kdir2m2rdzwwiwpbgagiva4zsicnn5l55aaxdg5his0vc0fzxcl"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/ca96ed0b5d6f8aea4de56ddeaa003b9c81d96219/recipes/company-erlang"; + sha256 = "0qlc89c05523kjzsb7j3yfi022la47kgixl74ggkafhn60scwdm7"; + name = "company-erlang"; + }; + packageRequires = [ company emacs ivy-erlang-complete ]; + meta = { + homepage = "https://melpa.org/#/company-erlang"; + license = lib.licenses.free; + }; + }) {}; company-flow = callPackage ({ company, dash, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "company-flow"; - version = "20160829.820"; + version = "20161111.2147"; src = fetchFromGitHub { owner = "aaronjensen"; repo = "company-flow"; - rev = "484d726a2ec63b1ea0052885dd4d88a6fba22620"; - sha256 = "1ly17p4radjaxaic3b0c2dd0bp1p6370l5zxbddz3cb2qx3fh7h4"; + rev = "1f10d38135679f705494f23cd866ded0130e2993"; + sha256 = "0alkxdd171dwk6rnq2yc6gpljdazz7yz7q3mzs3q4rcmrvlr8h84"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/63d346c14af1c5c138d14591a4d6dbc44d9bc429/recipes/company-flow"; @@ -9075,12 +9539,12 @@ company-flx = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, flx, lib, melpaBuild }: melpaBuild { pname = "company-flx"; - version = "20160423.1713"; + version = "20161228.1736"; src = fetchFromGitHub { owner = "PythonNut"; repo = "company-flx"; - rev = "bd2035390c285769c39a2bd2fdd0f24da0cd7ec9"; - sha256 = "1di3nndif2gkzwvs8bvqg994z422ql308lh47hbjdjnqm182mwy7"; + rev = "0c9fddf7c11c918ed42bd6a5108f8969b37704d5"; + sha256 = "1nv2hlmjdd7y9d25n22gwl0qzrsc0qpfwyhf44g0xq6dg5lgbpkj"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f27d718ee67f8c91b208a35adbbcdac67bbb89ce/recipes/company-flx"; @@ -9100,8 +9564,8 @@ src = fetchFromGitHub { owner = "iquiw"; repo = "company-ghc"; - rev = "4d1f1e3c9529b1a833fa58e835226cebf0e415b7"; - sha256 = "1mc7y4j772x54n2wc2dskb5wjc46r7sg2jwyvmnj44cyaasxqmck"; + rev = "976f10fca813e851d395b8c52ae6edf23d35ae63"; + sha256 = "1gmnll0m9lh4p9i44ddnxlnbg5lf20410imyfbk88jwhidx1pg7s"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/28f6a983444f796c81df7e5ee94d74c480b21298/recipes/company-ghc"; @@ -9138,12 +9602,12 @@ company-go = callPackage ({ company, fetchFromGitHub, fetchurl, go-mode, lib, melpaBuild }: melpaBuild { pname = "company-go"; - version = "20160306.1355"; + version = "20161006.1616"; src = fetchFromGitHub { owner = "nsf"; repo = "gocode"; - rev = "57b3fab1de11102eee896051605108949fbe75da"; - sha256 = "19829cfyl181kjqp5mn71f0symypfp1f2g5hi8a6949ya9n3l6rm"; + rev = "5070dacabf2a80deeaf4ddb0be3761d06fce7be5"; + sha256 = "0w54cwjcyq7cr3g50kg4zy1xrkaqakb18qbdam11qvz6kix3syg1"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/04867a574773e8794335a2664d4f5e8b243f3ec9/recipes/company-go"; @@ -9243,12 +9707,12 @@ company-lua = callPackage ({ company, f, fetchFromGitHub, fetchurl, lib, lua-mode, melpaBuild, s }: melpaBuild { pname = "company-lua"; - version = "20160514.1420"; + version = "20161227.1139"; src = fetchFromGitHub { owner = "ptrv"; repo = "company-lua"; - rev = "fb32b394ebfae63bd3a0468171a864b1cb7eadd4"; - sha256 = "1fwb333p4yv02msx67p0n4bgzwa73d2zh78mwx79jani32m730ci"; + rev = "0be8122f3adf57ad27953bf4b03545d6298d3da4"; + sha256 = "1d9i165apgmwns7b2fd5wcpjpkah3dyj20v5sb8ynvz6qhhr5r9c"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c8191ab2aaa72041be46091e363d216cf1b73fde/recipes/company-lua"; @@ -9282,22 +9746,22 @@ license = lib.licenses.free; }; }) {}; - company-nand2tetris = callPackage ({ cl-lib ? null, company, fetchFromGitHub, fetchurl, lib, melpaBuild, names, nand2tetris }: + company-nand2tetris = callPackage ({ cl-lib ? null, company, fetchFromGitHub, fetchurl, lib, melpaBuild, nand2tetris }: melpaBuild { pname = "company-nand2tetris"; - version = "20151027.1436"; + version = "20161011.1748"; src = fetchFromGitHub { owner = "CestDiego"; repo = "nand2tetris.el"; - rev = "0297cd8d76cad072cb64318ffacdc65d8a1ad948"; - sha256 = "003zgkpzz9q0bkkw6psks0vbfikzikfm42myqk14xn7330vgcxz7"; + rev = "e1be652b7d46e653a85c564ed917b5b75ab4bc50"; + sha256 = "1xnb5y1ddy4s7kia6zfzd8s5q9m2zfd72344qizywla86rqk7lpb"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/90421372b3f60b59762279ac805c61a984606d11/recipes/company-nand2tetris"; sha256 = "1g2i33jjh7kbpzk835kbnqicf0w4cq5rqv934bqzz5kavj9cg886"; name = "company-nand2tetris"; }; - packageRequires = [ cl-lib company names nand2tetris ]; + packageRequires = [ cl-lib company nand2tetris ]; meta = { homepage = "https://melpa.org/#/company-nand2tetris"; license = lib.licenses.free; @@ -9306,12 +9770,12 @@ company-ngram = callPackage ({ cl-lib ? null, company, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "company-ngram"; - version = "20160826.1722"; + version = "20161013.805"; src = fetchFromGitHub { owner = "kshramt"; repo = "company-ngram"; - rev = "1f5a36ffdc19c77e2fcbe790be2332d16fd4c35f"; - sha256 = "03jap56722rp9sbb5chad9nbvqmimcjipr0rfhqz5szd9xahpihc"; + rev = "98491c830d0867c211b773818610ace51f243640"; + sha256 = "196c870n7d46n4yhppq5np8mn9i0i74aykkbfk33kr4mgilss4cw"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/937e6a23782450525c4a90392c414173481e101b/recipes/company-ngram"; @@ -9331,8 +9795,8 @@ src = fetchFromGitHub { owner = "travisbhartwell"; repo = "nix-emacs"; - rev = "9e84e7f93307b72a1c0decfc2eff9d4943631de3"; - sha256 = "1r2qbd19kkqf70gq04jfpsrap75qcy359k3ian9rhapi8cj0n23w"; + rev = "89b9356d32b16e0dc0794c323a4661a01c3b83de"; + sha256 = "11pcp09z0vy6k81wghqq4rxlkfsc5bpgyacpl7bmxanj3qaa7ga5"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6846c7d86e70a9dd8300b89b61435aa7e146be96/recipes/company-nixos-options"; @@ -9348,12 +9812,12 @@ company-php = callPackage ({ ac-php-core, cl-lib ? null, company, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "company-php"; - version = "20160804.2131"; + version = "20160910.1747"; src = fetchFromGitHub { owner = "xcwen"; repo = "ac-php"; - rev = "5b463aba738648d0ac8e1d1000e849a858353ce8"; - sha256 = "0y0yzi9dy852yxww5zzj97fpr9sdgg6n5bk9s0hbwi0v4sj4hvwa"; + rev = "35fdc09f95050cc76d06f3e6ff1620927aa6377a"; + sha256 = "14ywlbxpkwi7fc7axfcnpisddn2886v134llgh0glrl4xkiyd0sf"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/company-php"; @@ -9411,12 +9875,12 @@ company-quickhelp = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pos-tip }: melpaBuild { pname = "company-quickhelp"; - version = "20160826.806"; + version = "20161113.1226"; src = fetchFromGitHub { owner = "expez"; repo = "company-quickhelp"; - rev = "d8fd045715ca64bc8cb3e714c05fe70d7eb33f09"; - sha256 = "1fdiz1jqxnrl940vqbq14idrs4ird9dkzgckmyawzznv5yi29fw4"; + rev = "41014e9018cc6f42741ce85383852930e6411f2e"; + sha256 = "00svfw08g44byzx23zb0kla6y6z05m6qlxzl0q32kkgkqvdhzb17"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/022cc4fee54bb0194822947c70058145e2980b94/recipes/company-quickhelp"; @@ -9457,8 +9921,8 @@ src = fetchFromGitHub { owner = "iquiw"; repo = "company-restclient"; - rev = "752f39490178832f6a09abd82e10d9356636350a"; - sha256 = "04829y7510zxjww9pq8afvnzwyyv30c0b3a71mxwf6ympfxb9rx5"; + rev = "7b41cd58ffdf965480f1cf52d58d718009ba6fe7"; + sha256 = "0j6b9jqs4i05rxx6fs7rvim1snf33fi1l6dkm9lskchbykzz4adq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3dd063bc3789772fdcc6a8555817588962e60825/recipes/company-restclient"; @@ -9480,12 +9944,12 @@ company-shell = callPackage ({ cl-lib ? null, company, dash, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "company-shell"; - version = "20160528.507"; + version = "20161002.505"; src = fetchFromGitHub { owner = "Alexander-Miller"; repo = "company-shell"; - rev = "538371368a7590cfddb23d6a5e70fe204b7fa641"; - sha256 = "0dfqc506zyljsl5xasvdq7ym5pfhd3r17kvz84mzgg34r1fd4b8d"; + rev = "63d3cbdf8b2f88cfb2607bc064ef8059b93a75a1"; + sha256 = "11d49spfvx9y1skksjhgirhjxp7i17xcd5xp3a0k59jzb0zhyyqh"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/bbaa05d158f3806b9f79a2c826763166dbee56ca/recipes/company-shell"; @@ -9519,15 +9983,36 @@ license = lib.licenses.free; }; }) {}; + company-statistics = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "company-statistics"; + version = "20161213.159"; + src = fetchFromGitHub { + owner = "company-mode"; + repo = "company-statistics"; + rev = "36d9692da9172c3ad1e1a46d66ffa9346a44b212"; + sha256 = "05br3ikxad7gm7h6327yfwdfap6bbg68fbybsx967a31yv4rxhvm"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/89d05b43f31ec157ce8e7bfba4b7c9119bda6dd2/recipes/company-statistics"; + sha256 = "1fl4ldj17m3xhi6xbw3bp9c2jir34xv3jh9daiw8g912fv2l5dcj"; + name = "company-statistics"; + }; + packageRequires = [ company emacs ]; + meta = { + homepage = "https://melpa.org/#/company-statistics"; + license = lib.licenses.free; + }; + }) {}; company-tern = callPackage ({ cl-lib ? null, company, dash, dash-functional, fetchFromGitHub, fetchurl, lib, melpaBuild, s, tern }: melpaBuild { pname = "company-tern"; - version = "20160713.541"; + version = "20161004.1147"; src = fetchFromGitHub { owner = "proofit404"; repo = "company-tern"; - rev = "d285b4d3ff96493cb7d7ff129e6dd9ff0ac7be88"; - sha256 = "1v43cp8x6w73i2c3lsm6xryqzf23k3rbyga4rrv2nf5n5cxdb6x6"; + rev = "b20b3e490bf277c8480712210e3c92ea489859ef"; + sha256 = "1l4b54rqwsb32r8zwwrag7s35zc3kpviafdrqkq8r1nyshg2yccm"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/acc9b816796b9f142c53f90593952b43c962d2d8/recipes/company-tern"; @@ -9603,22 +10088,22 @@ license = lib.licenses.free; }; }) {}; - company-ycmd = callPackage ({ company, dash, deferred, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild, s, ycmd }: + company-ycmd = callPackage ({ company, dash, deferred, f, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild, s, ycmd }: melpaBuild { pname = "company-ycmd"; - version = "20160821.1554"; + version = "20161026.2337"; src = fetchFromGitHub { owner = "abingham"; repo = "emacs-ycmd"; - rev = "200a6d2536cf4932b36a89a753eb9c6a12888f54"; - sha256 = "0avvsnizx8l0gyvzy8qkg0177agckxylldqk0vm45pqzzmbsvr02"; + rev = "ca51cbce87f671f2bb133d1df9f327bb8f1bb729"; + sha256 = "0riz0jj8c80x6p9fcxyni7q3b0dgxjwss8qbihndq8h2jypdhcgd"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1138c8cc239183a2435ce8c1a6df5163e5fed2ea/recipes/company-ycmd"; sha256 = "0fqmkb0q8ai605jzn2kwd585b2alwxbmnb3yqnn9fgkcvyc9f0pk"; name = "company-ycmd"; }; - packageRequires = [ company dash deferred let-alist s ycmd ]; + packageRequires = [ company dash deferred f let-alist s ycmd ]; meta = { homepage = "https://melpa.org/#/company-ycmd"; license = lib.licenses.free; @@ -9645,48 +10130,69 @@ license = lib.licenses.free; }; }) {}; - composer = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, request, s }: + composer = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, request, s, seq }: melpaBuild { pname = "composer"; - version = "20160827.235"; + version = "20161115.1102"; src = fetchFromGitHub { owner = "zonuexe"; repo = "composer.el"; - rev = "a846d4d5be8c216b2f97b3e6d9b04b93bd766dd9"; - sha256 = "19ib567f6n0z4mgvrd099rw1la79as79lqns88fzj3zcpd93lkhx"; + rev = "2ea50be23557ce50de2c5a517fcd4abc980969b1"; + sha256 = "0ir0a3i7bvnf80als7bwjvr604jvhpk0gwln88kqgksvy1bh1nky"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/39c5002f0688397a51b1b0c6c15f6ac07c3681bc/recipes/composer"; sha256 = "1gwgfbb0fqn87s7jscr9xy47h239wy74n3hgpk4i16p2g6qinpza"; name = "composer"; }; - packageRequires = [ emacs f request s ]; + packageRequires = [ emacs f request s seq ]; meta = { homepage = "https://melpa.org/#/composer"; license = lib.licenses.free; }; }) {}; - concurrent = callPackage ({ deferred, fetchFromGitHub, fetchurl, lib, melpaBuild }: + concurrent = callPackage ({ deferred, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "concurrent"; - version = "20160109.2046"; + version = "20161228.1930"; src = fetchFromGitHub { owner = "kiwanami"; repo = "emacs-deferred"; - rev = "0a795feeae901e736fc43b1c75a6e3f92f811f08"; - sha256 = "0wnzq2clhbvx0ipwsh0n1w8ssf97l0k8cwmss4l032adz72f6pbn"; + rev = "9668749635472a63e7a9282e2124325405199b79"; + sha256 = "1ch5br9alvwcpijl9g8w5ypjrah29alpfpk4hjw23rwzyq5p4izq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8bc29a8d518ce7a584277089bd4654f52ac0f358/recipes/concurrent"; sha256 = "09wjw69bqrr3424h0mpb2kr5ixh96syjjsqrcyd7z2lsas5ldpnf"; name = "concurrent"; }; - packageRequires = [ deferred ]; + packageRequires = [ deferred emacs ]; meta = { homepage = "https://melpa.org/#/concurrent"; license = lib.licenses.free; }; }) {}; + conda = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, pythonic, s }: + melpaBuild { + pname = "conda"; + version = "20161103.743"; + src = fetchFromGitHub { + owner = "necaris"; + repo = "conda.el"; + rev = "5a13e7deda80adb40553f1c256531d040a4c99a1"; + sha256 = "011z47hkynss8a56c2fi702laqxicmwai6anald58436pdxi3y6y"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/fcf762e34837975f5440a1d81a7f09699778123e/recipes/conda"; + sha256 = "1hi292h6ccl7vkvyxcwwcdxw8q2brv3hy0mnlikzj2qy5pbnfg4y"; + name = "conda"; + }; + packageRequires = [ dash emacs f pythonic s ]; + meta = { + homepage = "https://melpa.org/#/conda"; + license = lib.licenses.free; + }; + }) {}; config-parser = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "config-parser"; @@ -9791,22 +10297,22 @@ license = lib.licenses.free; }; }) {}; - contrast-color = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: + contrast-color = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "contrast-color"; - version = "20160713.1211"; + version = "20160903.1107"; src = fetchFromGitHub { owner = "yuutayamada"; repo = "contrast-color-el"; - rev = "31a04e4776117096057ff189e7abd1a1d2fcc277"; - sha256 = "1x9vll92n7fff9q172r978s3mf5amxhwam5j0qvmbvzyiry30abz"; + rev = "c5fb77a211ebbef3185ada37bea7420534c33f94"; + sha256 = "06grlp93n50d7c5z43fia0d6r1hmfpnqa062fzrz8gypy5kqxi1f"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7a13602e10a5fa889d0e094eff5b74a39023a477/recipes/contrast-color"; sha256 = "0pa88mfla7g7wpia0q1lkv2dncw63ivvh83hf73f75a22rvl8jcx"; name = "contrast-color"; }; - packageRequires = [ cl-lib ]; + packageRequires = [ cl-lib emacs ]; meta = { homepage = "https://melpa.org/#/contrast-color"; license = lib.licenses.free; @@ -9833,22 +10339,43 @@ license = lib.licenses.free; }; }) {}; - copyit = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + copy-as-format = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "copy-as-format"; + version = "20161231.1628"; + src = fetchFromGitHub { + owner = "sshaw"; + repo = "copy-as-format"; + rev = "f10105bb5a6a9ccc557649a56f46546b25a5460b"; + sha256 = "0p27jdwp580x6namdklk7472ajj72h2zka4q70yccszh52c44iyq"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/42fe8a2113d1c15701abe7a7e0a68e939c3d789b/recipes/copy-as-format"; + sha256 = "1yij5mqm0dg6326yms0a2w8gs42kdxq0ih8dhkpdar54r0bk3m8k"; + name = "copy-as-format"; + }; + packageRequires = [ cl-lib ]; + meta = { + homepage = "https://melpa.org/#/copy-as-format"; + license = lib.licenses.free; + }; + }) {}; + copyit = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "copyit"; - version = "20160607.1005"; + version = "20161126.429"; src = fetchFromGitHub { owner = "zonuexe"; repo = "emacs-copyit"; - rev = "c973d3650208a033aaf845989d023f9c6e572ddd"; - sha256 = "1fwndjbzwhl4dzrw5jxbq66yggxkl81ga3cnnl7rm3s63pkb6l3w"; + rev = "f50d033b129d467fb517a351adf3f16cabd82a62"; + sha256 = "1s1ddwxgvig7skibicm9j8jii651n1v5ivfj4j6d1kkc79lpq69n"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/69bd50fd1f3865d48cec9fe2680d260d746248e5/recipes/copyit"; sha256 = "1m28irqixzl44c683dxvc5x6l3qcqlpy6jzk6629paqkdi5mx1c0"; name = "copyit"; }; - packageRequires = [ cl-lib emacs ]; + packageRequires = [ cl-lib emacs s ]; meta = { homepage = "https://melpa.org/#/copyit"; license = lib.licenses.free; @@ -9861,8 +10388,8 @@ src = fetchFromGitHub { owner = "zonuexe"; repo = "emacs-copyit"; - rev = "c973d3650208a033aaf845989d023f9c6e572ddd"; - sha256 = "1fwndjbzwhl4dzrw5jxbq66yggxkl81ga3cnnl7rm3s63pkb6l3w"; + rev = "f50d033b129d467fb517a351adf3f16cabd82a62"; + sha256 = "1s1ddwxgvig7skibicm9j8jii651n1v5ivfj4j6d1kkc79lpq69n"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/69bd50fd1f3865d48cec9fe2680d260d746248e5/recipes/copyit-pandoc"; @@ -9920,12 +10447,12 @@ counsel = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, swiper }: melpaBuild { pname = "counsel"; - version = "20160826.2343"; + version = "20161219.731"; src = fetchFromGitHub { owner = "abo-abo"; repo = "swiper"; - rev = "4c3ecb4d739df379dd01ac8c7dc17080e608dac3"; - sha256 = "0cah0ri248hy1xzrldhh831imyfvnm9jdwnnxqm0iphp4dsf1xk7"; + rev = "dc693c37dae89e9a4302a5cce42f5321f83946c8"; + sha256 = "0bg4ki0zzqr0pir4b3p0bpv747bfb5a8if0pydjcwrwb05b37rmp"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/06c50f32b8d603db0d70e77907e36862cd66b811/recipes/counsel"; @@ -9938,6 +10465,27 @@ license = lib.licenses.free; }; }) {}; + counsel-bbdb = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }: + melpaBuild { + pname = "counsel-bbdb"; + version = "20161105.350"; + src = fetchFromGitHub { + owner = "redguardtoo"; + repo = "counsel-bbdb"; + rev = "297d0c7e6e1eaafcd5e188724fea8e8f26b95555"; + sha256 = "14gw4d855v2nvqh06vs9rzs816pn1hp4rhfikb0wzg1ay6gdrwi7"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/0ed9bcdb1f25a6dd743c1dac2bb6cda73a5a5dc2/recipes/counsel-bbdb"; + sha256 = "14d9mk44skpmyj0zkqwz97j80r630j7s5hfrrhlsafdpl5aafjxp"; + name = "counsel-bbdb"; + }; + packageRequires = [ emacs ivy ]; + meta = { + homepage = "https://melpa.org/#/counsel-bbdb"; + license = lib.licenses.free; + }; + }) {}; counsel-dash = callPackage ({ counsel, dash, dash-functional, emacs, fetchFromGitHub, fetchurl, helm-dash, lib, melpaBuild }: melpaBuild { pname = "counsel-dash"; @@ -9959,6 +10507,27 @@ license = lib.licenses.free; }; }) {}; + counsel-gtags = callPackage ({ counsel, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "counsel-gtags"; + version = "20161024.633"; + src = fetchFromGitHub { + owner = "syohex"; + repo = "emacs-counsel-gtags"; + rev = "59e7abc97715507e3c524a3e7132d38ed7ab0a12"; + sha256 = "01i1ilp87hg9s5bh4n7msf8ljx9h7ml3cxlawqh7y8c04m83yamp"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/c7ccc35632219dbec5fdad7401545e7c071b910c/recipes/counsel-gtags"; + sha256 = "12qyb1lnzyd2rr4ankpqi30h0bj66ap5qw87y4605k0j44vhnsax"; + name = "counsel-gtags"; + }; + packageRequires = [ counsel emacs ]; + meta = { + homepage = "https://melpa.org/#/counsel-gtags"; + license = lib.licenses.free; + }; + }) {}; counsel-osx-app = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }: melpaBuild { pname = "counsel-osx-app"; @@ -9983,12 +10552,12 @@ counsel-projectile = callPackage ({ counsel, fetchFromGitHub, fetchurl, lib, melpaBuild, projectile }: melpaBuild { pname = "counsel-projectile"; - version = "20160507.1022"; + version = "20161212.146"; src = fetchFromGitHub { owner = "ericdanan"; repo = "counsel-projectile"; - rev = "e17c0845633e3d1fb6f8b84d97efa17227361a85"; - sha256 = "1jzqhbw6mid7p5s88lwk1vjb12fmmxc3zfkhdkvxiglmanqghq6f"; + rev = "5728486a2852cda5b6b12890de917326ce3bd75c"; + sha256 = "1kbzsk2c2lhz78fynrghwd94j3da92jz59ypcysgyrpqv9cvhzb5"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/389f16f886a385b02f466540f042a16eea8ba792/recipes/counsel-projectile"; @@ -10064,15 +10633,36 @@ license = lib.licenses.free; }; }) {}; + cpanfile-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "cpanfile-mode"; + version = "20161001.10"; + src = fetchFromGitHub { + owner = "zakame"; + repo = "cpanfile-mode"; + rev = "6f0b6121baa2c1469f168c0cbbed7b74bbdd7d08"; + sha256 = "014ak97li7xsxrdqpsdmaclnsrm4d3gy2cw3msby4j6saj9rcn4r"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/673e828a076ad806cdb69102a9d55f80ace45670/recipes/cpanfile-mode"; + sha256 = "1sflykfrhx9sn5dqlaa4s7w34nczh4xqwcig5rmlpwj9yl2mk2dm"; + name = "cpanfile-mode"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/cpanfile-mode"; + license = lib.licenses.free; + }; + }) {}; cpputils-cmake = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "cpputils-cmake"; - version = "20160515.103"; + version = "20161201.1441"; src = fetchFromGitHub { owner = "redguardtoo"; repo = "cpputils-cmake"; - rev = "55e5c69554379632692a0fa20bfadeef9194fbdd"; - sha256 = "1rk0bwdvfrp24z69flh7jg3c8vgvwk6vciixmmmldnrlwhpnbh6i"; + rev = "2c48c1bacee286d927038bf0c893678931f0f956"; + sha256 = "03a0y508znl91c6893wf5l9d98nc4dbfgg9c594c542mdbrk54z0"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9b84a159e97f7161d0705da5dd5e8c34ae5cb848/recipes/cpputils-cmake"; @@ -10148,6 +10738,27 @@ license = lib.licenses.free; }; }) {}; + creamsody-theme = callPackage ({ autothemer, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "creamsody-theme"; + version = "20161231.2153"; + src = fetchFromGitHub { + owner = "emacsfodder"; + repo = "emacs-theme-creamsody"; + rev = "c1b2de723d1047ffa199a2cfb14131218962a07d"; + sha256 = "0kncywrxpb8yn8i0wqspx9igljzlv57zc9r32s1mwgqfz0p2z823"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/488f95b9e425726d641120130d894babcc3b3e85/recipes/creamsody-theme"; + sha256 = "0l3mq43bszxrz0bxmxb76drp4c8721cw8akgk3l5a800wqbfp2l7"; + name = "creamsody-theme"; + }; + packageRequires = [ autothemer ]; + meta = { + homepage = "https://melpa.org/#/creamsody-theme"; + license = lib.licenses.free; + }; + }) {}; creds = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "creds"; @@ -10211,22 +10822,22 @@ license = lib.licenses.free; }; }) {}; - cricbuzz = callPackage ({ enlive, fetchFromGitHub, fetchurl, lib, melpaBuild }: + cricbuzz = callPackage ({ dash, enlive, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "cricbuzz"; - version = "20160703.158"; + version = "20161130.2036"; src = fetchFromGitHub { owner = "lepisma"; repo = "cricbuzz.el"; - rev = "7c0c495312c18bc6c8db9ddad94efbd4b6328a9b"; - sha256 = "0jvr6ya40qq9q064k2gzkrqw00xffjmslfjxa2xz2vi25m6jyv92"; + rev = "5fe51347f5d6e7636ece5e904e4bdec0be21db45"; + sha256 = "1x29garhp1x5h1mwbamwjnfw52w45b39aqxsvcdxmcf730w9pq63"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/906b144e01aed96d62efbc34a8af2973135f6194/recipes/cricbuzz"; sha256 = "1ad2afyn3xny3rgb8yy6w87f33idlrmis1vx0b6s8ppafv9z74j0"; name = "cricbuzz"; }; - packageRequires = [ enlive ]; + packageRequires = [ dash enlive s ]; meta = { homepage = "https://melpa.org/#/cricbuzz"; license = lib.licenses.free; @@ -10296,12 +10907,12 @@ crux = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, seq }: melpaBuild { pname = "crux"; - version = "20160725.59"; + version = "20161219.2313"; src = fetchFromGitHub { owner = "bbatsov"; repo = "crux"; - rev = "3e03d7272f99939eb669c59f5b8843912e1e49cf"; - sha256 = "0s4b2qljac3d7lilmfxk3j385g95fm4jsg64kn21n7dqqwqljpiv"; + rev = "430235753cda1e9af75d209e36a2c9c4f6599a80"; + sha256 = "1v16ac9wfvnhy5h8v82ym165lz27bv9p0wma44c8nz24cl848rrm"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/575e3442a925500a5806e0b900208c1e6bfd11ae/recipes/crux"; @@ -10317,12 +10928,12 @@ cryptol-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "cryptol-mode"; - version = "20140426.1004"; + version = "20160819.1444"; src = fetchFromGitHub { owner = "thoughtpolice"; repo = "cryptol-mode"; - rev = "a54d000d24757fad2a91ae2853b16a97ebe52771"; - sha256 = "00wgbcw09xn9xi52swi4wyi9dj9p9hyin7i431xi6zkhxysw4q7w"; + rev = "9bf28f865d30d23b8b4fdef16a79ab66abbcc41f"; + sha256 = "0ihhx4zp725g1qaxq6n2ah8rsg099ccyavqxgkk53rpwr8iia0i2"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/de12333bb429d84b2c214ac7ebb0219f67838f4f/recipes/cryptol-mode"; @@ -10342,8 +10953,8 @@ src = fetchFromGitHub { owner = "Sodaware"; repo = "cryptsy-public-api.el"; - rev = "59bdf2425dccc27cc1598868a1a810885508cff5"; - sha256 = "0ry0087g1br3397js7a9iy6k2x6p0dgqlggxx9gaqhms7pmpq14b"; + rev = "795c204452f880c0087663e7c35faf26ea34af4d"; + sha256 = "19lfgxay02ngi815cw5mcdksymgfm2mnjs974idr7788kmwqmfij"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/cryptsy-public-api"; @@ -10356,15 +10967,36 @@ license = lib.licenses.free; }; }) {}; + csgo-conf-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "csgo-conf-mode"; + version = "20161209.819"; + src = fetchFromGitHub { + owner = "wynro"; + repo = "emacs-csgo-conf-mode"; + rev = "57e7224f87a3ccc76b5564cc95fa0ff43bb6807c"; + sha256 = "14wzh3rlq7xb8djncbjkfiq9hl5frp7gp42sz2ic7aky4qajbcdv"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/2298e3f840da549707ec3270c8303f4f63a674dc/recipes/csgo-conf-mode"; + sha256 = "0djx6jraqlh9da2jqagj72vjnc8n3px2jp23jdy9rk40z10m5sbr"; + name = "csgo-conf-mode"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/csgo-conf-mode"; + license = lib.licenses.free; + }; + }) {}; csharp-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "csharp-mode"; - version = "20160808.1235"; + version = "20161105.512"; src = fetchFromGitHub { owner = "josteink"; repo = "csharp-mode"; - rev = "0c4edfd8e4916725810e26d8bb3c42a1d740c294"; - sha256 = "0335shnscf5z9jipz7cpwccl7w85svr5g77kr7lj2i4wklcj4qyg"; + rev = "4516a18c0dd1797a2d1eb2ae3069c0e16efa14a7"; + sha256 = "0v5kd8n9hd3aqd4p1z30rnbqiwxxd1mv30d4bkwrba6k5814qy4z"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/736716bbcfd9c9fb1d10ce290cb4f66fe1c68f44/recipes/csharp-mode"; @@ -10419,27 +11051,6 @@ license = lib.licenses.free; }; }) {}; - cssfmt = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: - melpaBuild { - pname = "cssfmt"; - version = "20150818.2128"; - src = fetchFromGitHub { - owner = "KeenS"; - repo = "cssfmt.el"; - rev = "802c82a1aa8d433ec473e253ae1fa4ecad3fb4b0"; - sha256 = "0hyf4im7b8zka065daw7yxrb3670dpp8q92vd2gcsva1jla92h9y"; - }; - recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/2d95ca68c481061f5dc2614ae660a98d53837c46/recipes/cssfmt"; - sha256 = "12yq4dhyv3p5gxnd2w193ilpj2d3gx5ns09w0z1zkg7ax3a4q4b8"; - name = "cssfmt"; - }; - packageRequires = []; - meta = { - homepage = "https://melpa.org/#/cssfmt"; - license = lib.licenses.free; - }; - }) {}; cssh = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "cssh"; @@ -10461,6 +11072,27 @@ license = lib.licenses.free; }; }) {}; + csv = callPackage ({ fetchFromGitLab, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "csv"; + version = "20161113.710"; + src = fetchFromGitLab { + owner = "u11"; + repo = "csv.el"; + rev = "aa1dfa1263565d5fac3879c21d8ddf5f8915e411"; + sha256 = "1vmazjrfcsa9aa9aw8bq5sazdhqvhxyj837dyw5lmh8gk7z0xdaa"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/233f9de5f65fd8374f2c1912503c30905aa6691d/recipes/csv"; + sha256 = "1rvi5p27lsb284zqgv4cdqkbqc9r92axmvg7sv52rm7qcj8njwqd"; + name = "csv"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/csv"; + license = lib.licenses.free; + }; + }) {}; csv-nav = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "csv-nav"; version = "20130407.1120"; @@ -10585,12 +11217,12 @@ cubicaltt = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "cubicaltt"; - version = "20160810.38"; + version = "20161020.1343"; src = fetchFromGitHub { owner = "mortberg"; repo = "cubicaltt"; - rev = "cdf88159a26e2e4b73f9fea0c88a6e1d16497218"; - sha256 = "1x9qpil0fmhqld03aj5zxqcb7k4q35ca8w4plgblf5h30l9xzfzg"; + rev = "60779eea3601f62b0d59b0fcf28fd0cfb99383f6"; + sha256 = "0zwgs1hndx6mbay8mfarwkr524kbjfirkgjwxh9db600xrpiszqr"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1be42b49c206fc4f0df6fb50fed80b3d9b76710b/recipes/cubicaltt"; @@ -10647,10 +11279,10 @@ }) {}; cursor-chg = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "cursor-chg"; - version = "20151231.1240"; + version = "20170102.922"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/cursor-chg.el"; - sha256 = "1w0msh4mfhwglkwgb8ksqfdzbd1bvspllydnjzhc0yl3s7qrifbd"; + sha256 = "04as4z0sbirdi68swcia783caz7hlbk5qicnpq0d4ihmnbagy3fd"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/871d02540951a217ea3d4aed9ce6b66a77223fbf/recipes/cursor-chg"; @@ -10663,27 +11295,6 @@ license = lib.licenses.free; }; }) {}; - cursor-in-brackets = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: - melpaBuild { - pname = "cursor-in-brackets"; - version = "20160603.416"; - src = fetchFromGitHub { - owner = "yascentur"; - repo = "cursor-in-brackets-el"; - rev = "3c085913eff08eddcc8fa4ed6438d60da59d7bc2"; - sha256 = "06q46hmspgq1g3dkpim3fnz1gnzpqywwqcg5yism2lc6qj4zmanm"; - }; - recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/5862f7a24b3c213505277ad44a64d8dd402119eb/recipes/cursor-in-brackets"; - sha256 = "1p4p0v7x4i4i2z56dw4xf1phckanrwjciifi0zqba36xd4zxgx8f"; - name = "cursor-in-brackets"; - }; - packageRequires = []; - meta = { - homepage = "https://melpa.org/#/cursor-in-brackets"; - license = lib.licenses.free; - }; - }) {}; cursor-test = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "cursor-test"; @@ -10707,10 +11318,10 @@ }) {}; cus-edit-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "cus-edit-plus"; - version = "20160529.1437"; + version = "20170102.923"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/cus-edit+.el"; - sha256 = "0d62nv8i208ysi5cg906p9ribpnrn2jvzdcwm35km4i0q0bp6yg7"; + sha256 = "1mmcnx0i9jz1xzxgl9wqlfk4yl8y3bz88jf8078b80y34489lky9"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/57370fc617f4f10cc67e9d3c6dc113ff0a18cace/recipes/cus-edit+"; @@ -10726,12 +11337,12 @@ cyberpunk-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "cyberpunk-theme"; - version = "20160121.1712"; + version = "20161012.1855"; src = fetchFromGitHub { owner = "n3mo"; repo = "cyberpunk-theme.el"; - rev = "35e73ef8ad01965bf9b58e2188c5f94544911dfd"; - sha256 = "1jffhqkp5ci20gsmlihayihvvg3vyngbjzlna9lmy83gy7jqqj1f"; + rev = "eb6ee11315180ae27b17b351163f47a1014348a0"; + sha256 = "0s9ja6l2y75lnkd1js4x3ks6pj5p6x7i9sm5vlcr5yq4qvmamn3h"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4c632d1e501d48dab54432ab111ce589aa229125/recipes/cyberpunk-theme"; @@ -10828,12 +11439,12 @@ cyphejor = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "cyphejor"; - version = "20160531.905"; + version = "20161231.1558"; src = fetchFromGitHub { owner = "mrkkrp"; repo = "cyphejor"; - rev = "9e1cdaaaf86f3acae074e40d96de008115d81ef9"; - sha256 = "04add8i0g4x5kzi1yd49i5viq9i2f5r5gzq33k05q6rimsp2ga02"; + rev = "2c65c3f111573e1919e0a35e0ef84b9e861572b7"; + sha256 = "1lclz4k4xh535ilxqxpaqzdzn4j6zml9a0vrzxn6ffgd378dxn31"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ad7cacfa39d8f85e26372ef21898663aebb68e43/recipes/cyphejor"; @@ -10874,8 +11485,8 @@ src = fetchFromGitHub { owner = "cython"; repo = "cython"; - rev = "09f6874a8e831370e9ba08e706e366ecfc72b408"; - sha256 = "1ii6v0bixwj64x3iw8xjy8n3x2brb2swwln176625lwz7x39jc2k"; + rev = "2031c5340eb9ce0e304b59f8dd89bc9049900d4e"; + sha256 = "19bvvk3nd6hhy4rzczs1jfiy3jvrsl28xsw84wn2sslm247svd7g"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/be9bfabe3f79153cb859efc7c3051db244a63879/recipes/cython-mode"; @@ -10912,12 +11523,12 @@ d-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "d-mode"; - version = "20160504.955"; + version = "20161022.717"; src = fetchFromGitHub { owner = "Emacs-D-Mode-Maintainers"; repo = "Emacs-D-Mode"; - rev = "3e733780e96b8e72bc624677f242aff67fb26e89"; - sha256 = "1568jqcrw3xks1pvvn6dyn6jiam26vmp5m53jf8q4165ic2lazi8"; + rev = "a97c92ced57224287a84e7fc48ba9aac6b2afc08"; + sha256 = "0ln38lkl8qcnpcpjqck3i6hd5zjv43g7vka3kapz2bnz4s33jn3p"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3c13e9ccc358743de660b1f0e89d6bb709c42bff/recipes/d-mode"; @@ -10975,12 +11586,12 @@ danneskjold-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "danneskjold-theme"; - version = "20160611.1127"; + version = "20161214.703"; src = fetchFromGitHub { owner = "rails-to-cosmos"; repo = "danneskjold-theme"; - rev = "7d2c58d60b797dba1c53b31a34459e6d21a65bf4"; - sha256 = "1dfp2k5wh8g7jrmwlvwkmr9bp3s5kjb64g40iv1axy7dkn6ch6ci"; + rev = "af41b9146b8c374477aeb8e739686a2006ce7479"; + sha256 = "0k60jr11jnvn4fpx7jr7jlcnfsrdv4kp26fd71jv0j4gvin2ljxj"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/557244a3b60c7cd3ca964ff843aa1e9d5a1e32ec/recipes/danneskjold-theme"; @@ -10993,15 +11604,36 @@ license = lib.licenses.free; }; }) {}; + dante = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }: + melpaBuild { + pname = "dante"; + version = "20170103.420"; + src = fetchFromGitHub { + owner = "jyp"; + repo = "dante"; + rev = "04da558e4d693ab320c1aea62160c2a4e2152326"; + sha256 = "1rmai7ysacaaqw7s56s18zg2aqiv0iys9m0z584ymczvszgvjl6v"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/5afa8226077cbda4b76f52734cf8e0b745ab88e8/recipes/dante"; + sha256 = "1j0qwjshh2227k63vd06bvrsccymqssx26yfzams1xf7bp6y0krs"; + name = "dante"; + }; + packageRequires = [ dash emacs flycheck ]; + meta = { + homepage = "https://melpa.org/#/dante"; + license = lib.licenses.free; + }; + }) {}; darcula-theme = callPackage ({ fetchFromGitLab, fetchurl, lib, melpaBuild }: melpaBuild { pname = "darcula-theme"; - version = "20160305.221"; + version = "20161004.2218"; src = fetchFromGitLab { owner = "fommil"; repo = "emacs-darcula-theme"; - rev = "eb799be242a9420a8e6730d659939d4703d44b43"; - sha256 = "128a9iv1vrassmk4sy4cs4nj6lggr5v4rhjj04v1xssj5nn5flxf"; + rev = "834202004507221c3bdf49457219a56760b13d22"; + sha256 = "1j2g94cz9b3ivv0w88gw1hcf236kc0c7hnrf13yyspxjm5jfdmd5"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/23c8f10205187babb17e3abc3dc40eb1938e6640/recipes/darcula-theme"; @@ -11077,6 +11709,27 @@ license = lib.licenses.free; }; }) {}; + darkane-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "darkane-theme"; + version = "20161111.1304"; + src = fetchFromGitHub { + owner = "FelixFortis"; + repo = "emacs-darkane-theme"; + rev = "afa346c793b74645392677b276c56b87c354b8ef"; + sha256 = "1mi2k7llbk4n05mcy80lswv5vqlfca2izslds7z0sihik8fys4m6"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/826bd40f9da54e263dbad4bd861bd8227ea76656/recipes/darkane-theme"; + sha256 = "1lnjjhy70bizqlpih9aqvv6hsx8lj4qa5klbd7mrldqywab8cpib"; + name = "darkane-theme"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/darkane-theme"; + license = lib.licenses.free; + }; + }) {}; darkburn-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "darkburn-theme"; @@ -11140,22 +11793,22 @@ license = lib.licenses.free; }; }) {}; - darktooth-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + darktooth-theme = callPackage ({ autothemer, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "darktooth-theme"; - version = "20160820.48"; + version = "20161227.655"; src = fetchFromGitHub { owner = "emacsfodder"; repo = "emacs-theme-darktooth"; - rev = "839c94048e0a3e9ac6e286212c7626f3fb7ac2c9"; - sha256 = "1nagwhd8n69iysa4m5i7xxi06w6z4hsrvjsgmdg5msyi14ci5lip"; + rev = "37987cccd3f06f02a76cab39bad9a83719e65dcd"; + sha256 = "1mfpw97y87cccgng7j3chhai1ln1jwppk01i11rzhm96b7vffc5w"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b7f62ac1566ced7332e83253f79078dc30cb7889/recipes/darktooth-theme"; sha256 = "1vss0mg1vz4wvsal1r0ya8lid2c18ig11ip5v9nc80b5slbixzvs"; name = "darktooth-theme"; }; - packageRequires = []; + packageRequires = [ autothemer ]; meta = { homepage = "https://melpa.org/#/darktooth-theme"; license = lib.licenses.free; @@ -11164,12 +11817,12 @@ dart-mode = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }: melpaBuild { pname = "dart-mode"; - version = "20160212.1121"; + version = "20161218.1548"; src = fetchFromGitHub { owner = "nex3"; repo = "dart-mode"; - rev = "05fbd30fb4dd1ce931fb15a3e88b13eeec5526ef"; - sha256 = "0ylzgaf4g0fh16rc061iaw3jrl2sjiwpr4x1ndk2bp0j14n7hqid"; + rev = "e6635b390235cf16a8081763768cf925ca2d9133"; + sha256 = "1cwwwxmv7d1blv88c6nlm0z94gjfdgw2ri1libzyfzirincyicdx"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7d9cb763cb8e929d9442be8d06e9af02de90714a/recipes/dart-mode"; @@ -11185,12 +11838,12 @@ dash = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "dash"; - version = "20160820.501"; + version = "20161121.55"; src = fetchFromGitHub { owner = "magnars"; repo = "dash.el"; - rev = "f1c60c4f114e6f7256100364e04bbd32552b0eaf"; - sha256 = "15iy8dhs2hx4kfn7ym4yp2kb6j17g5i8q66ji39sf5adbjsfsf1l"; + rev = "958e3fb62fd326d3743c0603b80d24ab85712c03"; + sha256 = "1a1zca0lh01wayd4qdjihimhd1bn00qpwfiybgdcb7yn5xfwv9a1"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/57eed8767c3e98614259c408dc0b5c54d3473883/recipes/dash"; @@ -11231,8 +11884,8 @@ src = fetchFromGitHub { owner = "magnars"; repo = "dash.el"; - rev = "f1c60c4f114e6f7256100364e04bbd32552b0eaf"; - sha256 = "15iy8dhs2hx4kfn7ym4yp2kb6j17g5i8q66ji39sf5adbjsfsf1l"; + rev = "958e3fb62fd326d3743c0603b80d24ab85712c03"; + sha256 = "1a1zca0lh01wayd4qdjihimhd1bn00qpwfiybgdcb7yn5xfwv9a1"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/57eed8767c3e98614259c408dc0b5c54d3473883/recipes/dash-functional"; @@ -11245,15 +11898,36 @@ license = lib.licenses.free; }; }) {}; + dashboard = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, page-break-lines }: + melpaBuild { + pname = "dashboard"; + version = "20161229.1711"; + src = fetchFromGitHub { + owner = "rakanalh"; + repo = "emacs-dashboard"; + rev = "89875ba44ef9f69dd561591ea8ec6d39a0b4aa6d"; + sha256 = "0qx2kb30s1z0mlr2sk1jx538v768g7df7v5ymmnvipl8xkr2ams3"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/e9a79341ccaa82a8c065e71c02fe6aee22007c66/recipes/dashboard"; + sha256 = "08pdpjfrg8v80gljy146cwpz624dshhbz8843zl1zszwp2p00kqy"; + name = "dashboard"; + }; + packageRequires = [ emacs page-break-lines ]; + meta = { + homepage = "https://melpa.org/#/dashboard"; + license = lib.licenses.free; + }; + }) {}; date-at-point = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "date-at-point"; - version = "20150108.418"; + version = "20150308.543"; src = fetchFromGitHub { owner = "alezost"; repo = "date-at-point.el"; - rev = "65733210479812a70a6dd5978ba0e2a4a6fcd08b"; - sha256 = "0l4z9rjla4xvm2hmp07xil69q1cg0v8iff0ya41svaqr944qf7hf"; + rev = "38df823d05df08ec0748a4185113fae5f99090e9"; + sha256 = "024jx6q0dik4w2wb8nrk1q73asvjgrsl5mslns0ci3zsya343rch"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a6dbeddd236f312fac1d5542dfd2edf81df8fad2/recipes/date-at-point"; @@ -11290,12 +11964,12 @@ datetime = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "datetime"; - version = "20160521.1303"; + version = "20161007.1137"; src = fetchFromGitHub { owner = "doublep"; repo = "datetime"; - rev = "02465ed669ed122ce3ce1682142dfca60820ae5d"; - sha256 = "0dz65zw7zi4kjldxs3syjxnss8kaf7hx0v6a22jplcsy35iai6xn"; + rev = "6585b2dcb0b3871a2a63656d01baa0c9a300d457"; + sha256 = "07rb8r3j8293h0ffpwhf7mxnshqi08pb63swhmdzb34hn57cx4jg"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/fff9f0748b0ef76130b24e85ed109325256f956e/recipes/datetime"; @@ -11416,12 +12090,12 @@ ddskk = callPackage ({ ccc, cdb, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ddskk"; - version = "20160820.1428"; + version = "20161127.118"; src = fetchFromGitHub { owner = "skk-dev"; repo = "ddskk"; - rev = "fa713612fbf12a599b20f31e0aa6f35931bc92a0"; - sha256 = "0adl3njl8p4jgzwbjfw30yf1z0qis4nilbdkssgag8n9jld53ayz"; + rev = "df9d8a8332c9f75498bfecd870d7296c6ba0b42e"; + sha256 = "05ay6qkx77yl581jvikkf11dzny0v9h70iahss4bz5a37hawp4dd"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6eccccb79881eaa04af3ed6395cd2ab981d9c894/recipes/ddskk"; @@ -11441,8 +12115,8 @@ src = fetchFromGitHub { owner = "alezost"; repo = "debpaste.el"; - rev = "038f0ff7824f4e3dd455e2232eeca70fa8abcec5"; - sha256 = "1darxggvyv100cfb7imyzvgif8a09pnky62pf3bl2612hhvaijfb"; + rev = "6f2a400665062468ebd03a2ce1de2a73d9084958"; + sha256 = "1wi70r56pd5z0x4dp4m58p9asq03j74kdm4fi9vai83vsl2z9amq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/13098bae76a3386689a9bf9c12f25b9a9b15145c/recipes/debpaste"; @@ -11581,22 +12255,22 @@ license = lib.licenses.free; }; }) {}; - deferred = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + deferred = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "deferred"; - version = "20160109.2046"; + version = "20161228.1930"; src = fetchFromGitHub { owner = "kiwanami"; repo = "emacs-deferred"; - rev = "0a795feeae901e736fc43b1c75a6e3f92f811f08"; - sha256 = "0wnzq2clhbvx0ipwsh0n1w8ssf97l0k8cwmss4l032adz72f6pbn"; + rev = "9668749635472a63e7a9282e2124325405199b79"; + sha256 = "1ch5br9alvwcpijl9g8w5ypjrah29alpfpk4hjw23rwzyq5p4izq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0e9a114d85f630648d05a7b552370fa8413da0c2/recipes/deferred"; sha256 = "0axbvxrdjgxk4d1bd9ar4r5nnacsi8r0d6649x7mnhqk12940mnr"; name = "deferred"; }; - packageRequires = []; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/deferred"; license = lib.licenses.free; @@ -11691,8 +12365,8 @@ src = fetchFromGitHub { owner = "liblit"; repo = "demangle-mode"; - rev = "b40d7174d5d31ea8bf3442fb054f3c15bf6e979c"; - sha256 = "00aqhzamp1492kn0x1j2h15wywbkwx9m0alm5z82z60wrq7gy9z7"; + rev = "24a4a9a0f023c7b3fe5441783794185ba3954ffe"; + sha256 = "04q7fv3qvh8a4p64hd9pqfvhnbclfbr1b9s0vi9m8jz9y5p86x8d"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6ced9f4ffb051a8474d3f72695156416cf2dd8be/recipes/demangle-mode"; @@ -11708,12 +12382,12 @@ demo-it = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "demo-it"; - version = "20160801.1728"; + version = "20161103.1337"; src = fetchFromGitHub { owner = "howardabrams"; repo = "demo-it"; - rev = "58c500aa1137c2be5e64eba0f52601d0dea2d2bb"; - sha256 = "0jjc3093yb5jxgsf2lr3mxsz3bchckln7kmabn5abgzr8wjpbg9a"; + rev = "830a1f10982abe586c9d13685007d191eda6fbdc"; + sha256 = "0fkwzx681df0p4a8f2z6lh5j94vln0i6cvrfzym5v8cdhyhd0p80"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1dec5877db00c29d81d76be0ee2504399bad9cc4/recipes/demo-it"; @@ -11750,12 +12424,12 @@ desktop-plus = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "desktop-plus"; - version = "20160330.612"; + version = "20161216.19"; src = fetchFromGitHub { owner = "ffevotte"; repo = "desktop-plus"; - rev = "5da49fbf2d8c45843466ae9f7f9e2a2295e9b914"; - sha256 = "1klgf1w2lvb537l48cgpncw51f429vhvy5qcz1p0hkdzav6v5d9z"; + rev = "3bdce03d0499c5176fa9dd353f618727652a7130"; + sha256 = "0hgsfcp4b3prrjmz6997zh8bayk7kv6h95ll4qq0bnrd8p99i6f8"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0b009b42c73490d56d4613dcf5a57447fb4ccab4/recipes/desktop+"; @@ -11813,12 +12487,12 @@ dfmt = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "dfmt"; - version = "20160827.211"; + version = "20160911.228"; src = fetchFromGitHub { owner = "qsimpleq"; repo = "elisp-dfmt"; - rev = "618274b841b0b6dbfebd79baa9fe05eab2bbd5c9"; - sha256 = "1pvplsjcxl3m8fxix63ndwcwp54ga12kh0yv2y1bzbd51z08210a"; + rev = "f07512fc8555ecd592d8a44722baf922f9f77aaf"; + sha256 = "1ph8z4hazz71k8zsv4gfhpsbysj4d3rinb68fmhp842n00ds6fk4"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a343a752d25185b30b10805c4012f3b21a03651e/recipes/dfmt"; @@ -11893,22 +12567,22 @@ license = lib.licenses.free; }; }) {}; - diff-hl = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: + diff-hl = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "diff-hl"; - version = "20160827.1922"; + version = "20161102.1726"; src = fetchFromGitHub { owner = "dgutov"; repo = "diff-hl"; - rev = "f8ce39d157144ee4b22d386dd40673ea7f87ecd7"; - sha256 = "0cnhmcdkmbjikbv2hca54xw258f7wys0srxk07wp02jaryvj1298"; + rev = "c476e4080de7bea98a7a9a1173df20397d1c7671"; + sha256 = "185gl1p80yx68d2hzawhrz26zy75z30qr1lb7c0gzmk5ryy5yzgv"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cf8fc25abd2fb91ec6a6ba951d89a19ca4f5571f/recipes/diff-hl"; sha256 = "0kw0v9xcqidhf26qzrqwdlav2zhq32xx91k7akd2536jpji5pbn6"; name = "diff-hl"; }; - packageRequires = [ cl-lib ]; + packageRequires = [ cl-lib emacs ]; meta = { homepage = "https://melpa.org/#/diff-hl"; license = lib.licenses.free; @@ -12004,8 +12678,8 @@ src = fetchFromGitHub { owner = "alezost"; repo = "dim.el"; - rev = "110624657fec0c8a7b3589108230e6a635302ae0"; - sha256 = "1qiqkppfpgyqm1z31i956gj96670kjxs7m33knmhngqk7i5yc94i"; + rev = "4b00587dfaabc1f2393b9a9f9993996c288d4445"; + sha256 = "0qvx81glmrsaafcikxz07ym60haxhb39dyspv5x95f2p345f03q4"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3a740ab40cab3a1890f56df808f41a2d541aa77c/recipes/dim"; @@ -12021,12 +12695,12 @@ dim-autoload = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "dim-autoload"; - version = "20160521.728"; + version = "20161023.1329"; src = fetchFromGitHub { owner = "tarsius"; repo = "dim-autoload"; - rev = "ac04fade74a50fd2aac48fc298e4d21d8427f737"; - sha256 = "0jn3hwnqg455fz85m79mbwsiv93ps4sfr1fcfjfwj3qhhbhq7d82"; + rev = "c91edab065f413910354940742b35bdffeb52029"; + sha256 = "0v4fgbh1byv89iiszifr31j4y2s95xwcq0g9iizxiww7mjrfggyi"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/66b1a81dfd09a2859ae996d5d8e3d704857a340f/recipes/dim-autoload"; @@ -12126,12 +12800,12 @@ dired-avfs = callPackage ({ dash, dired-hacks-utils, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "dired-avfs"; - version = "20160526.1336"; + version = "20161012.404"; src = fetchFromGitHub { owner = "Fuco1"; repo = "dired-hacks"; - rev = "230f81191824fa920016d9828a8672df402b4e12"; - sha256 = "1hrfm139c1g1pkpclx491qj9rjlms7g873wds7n4dqiq2mlm1rp7"; + rev = "bef0c7eb03474defa02bbba5c15401a766c8ff7c"; + sha256 = "1l7kay58ix9gmn06nws04f642svy0s1zplh86m7ihq4b6jb04hxj"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/568e524b7bdf91b31655bdbb30fe9481d7a0ffbf/recipes/dired-avfs"; @@ -12165,10 +12839,10 @@ dired-details-plus = callPackage ({ dired-details, fetchurl, lib, melpaBuild }: melpaBuild { pname = "dired-details-plus"; - version = "20151231.1250"; + version = "20170101.918"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/dired-details+.el"; - sha256 = "07z4h5l8763ks6b6m8dcmq78jiyq4xvan1mb0z8fbasmi1bsrya4"; + sha256 = "1bm4q66wi476ppf8xiz9p0x491rqdxx9gpmn6sl9izjfg2xck4wb"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0b6a13a5dfd977979d3185139000e7a639d32ec4/recipes/dired-details+"; @@ -12230,8 +12904,8 @@ src = fetchFromGitHub { owner = "jidaikobo-shibata"; repo = "dired-explorer"; - rev = "0e929d4eab2eb545a2e2436994cf4941b643e5c1"; - sha256 = "02syawkw44f33hldp4ncws271jv6w4zid1acf4zkm40sbb0iqdil"; + rev = "f9ac7c511c4b2e349952eb4b99635047f3603907"; + sha256 = "03zax8q9wwj4q9l13zsznrx18b6d1rqrfgvmvzlkd3y4sqj2i64w"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/acd40e02185847dfdcd70b3cacea703133e4356d/recipes/dired-explorer"; @@ -12289,12 +12963,12 @@ dired-filter = callPackage ({ cl-lib ? null, dash, dired-hacks-utils, f, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "dired-filter"; - version = "20160526.1336"; + version = "20161009.530"; src = fetchFromGitHub { owner = "Fuco1"; repo = "dired-hacks"; - rev = "230f81191824fa920016d9828a8672df402b4e12"; - sha256 = "1hrfm139c1g1pkpclx491qj9rjlms7g873wds7n4dqiq2mlm1rp7"; + rev = "bef0c7eb03474defa02bbba5c15401a766c8ff7c"; + sha256 = "1l7kay58ix9gmn06nws04f642svy0s1zplh86m7ihq4b6jb04hxj"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/568e524b7bdf91b31655bdbb30fe9481d7a0ffbf/recipes/dired-filter"; @@ -12314,8 +12988,8 @@ src = fetchFromGitHub { owner = "Fuco1"; repo = "dired-hacks"; - rev = "230f81191824fa920016d9828a8672df402b4e12"; - sha256 = "1hrfm139c1g1pkpclx491qj9rjlms7g873wds7n4dqiq2mlm1rp7"; + rev = "bef0c7eb03474defa02bbba5c15401a766c8ff7c"; + sha256 = "1l7kay58ix9gmn06nws04f642svy0s1zplh86m7ihq4b6jb04hxj"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/568e524b7bdf91b31655bdbb30fe9481d7a0ffbf/recipes/dired-hacks-utils"; @@ -12328,6 +13002,27 @@ license = lib.licenses.free; }; }) {}; + dired-icon = callPackage ({ emacs, fetchFromGitLab, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "dired-icon"; + version = "20161206.130"; + src = fetchFromGitLab { + owner = "xuhdev"; + repo = "dired-icon"; + rev = "4397e7858d5e63c251acc2741d78fe8e178cb206"; + sha256 = "0g97lii8n9pal46kipw59nj78qv3l0gpy6rwbd702gxccj94glgv"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/c6d0947148441ed48f92f4cfaaf39c2a9aadda48/recipes/dired-icon"; + sha256 = "1fl12pbncvq80la3bjgq1wlbpmf32mq76sq61mbnwcimi3nj27na"; + name = "dired-icon"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/dired-icon"; + license = lib.licenses.free; + }; + }) {}; dired-imenu = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "dired-imenu"; @@ -12349,36 +13044,57 @@ license = lib.licenses.free; }; }) {}; - dired-k = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + dired-k = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "dired-k"; - version = "20160817.823"; + version = "20161116.116"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-dired-k"; - rev = "4c9eb0fab636983a03dbe4357f9b3ee6b3ca8d74"; - sha256 = "17g0ajhbhk7l5s75h0ybz1w1dnf5aikvbcgcdd4d0qkj9l91k8x6"; + rev = "3f0b9315f87b0f930d51089e311d41282d5f8b15"; + sha256 = "09xh097v3fd0mjxqlmbfwjlr1v4a99mj4rvwdb6kqgajmlhgi9hx"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7f8a828b2fbfa11c4b74192d9d0cfa0ad34b3da7/recipes/dired-k"; sha256 = "0lghdmy9qcjykscfxvfrz8cpp87qc0vfd03vw8nfpvwcs2sd28i8"; name = "dired-k"; }; - packageRequires = [ cl-lib emacs ]; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/dired-k"; license = lib.licenses.free; }; }) {}; + dired-launch = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "dired-launch"; + version = "20160914.756"; + src = fetchFromGitHub { + owner = "thomp"; + repo = "dired-launch"; + rev = "8766ab5ed59b7b5105ca5818fa85004447ced1cb"; + sha256 = "13q1xd2ycs1c6ybizykzhb42x3j3mx2g9dxy8h1nr7bb7393hs64"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/31c9a4945d65aa6afc371c447a572284d38d4d71/recipes/dired-launch"; + sha256 = "0vhf0iai60mp8sp7snishz6nrw0bcriq4cx64f41lk1adjb2mqaw"; + name = "dired-launch"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/dired-launch"; + license = lib.licenses.free; + }; + }) {}; dired-narrow = callPackage ({ dash, dired-hacks-utils, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "dired-narrow"; - version = "20160130.845"; + version = "20160918.740"; src = fetchFromGitHub { owner = "Fuco1"; repo = "dired-hacks"; - rev = "230f81191824fa920016d9828a8672df402b4e12"; - sha256 = "1hrfm139c1g1pkpclx491qj9rjlms7g873wds7n4dqiq2mlm1rp7"; + rev = "bef0c7eb03474defa02bbba5c15401a766c8ff7c"; + sha256 = "1l7kay58ix9gmn06nws04f642svy0s1zplh86m7ihq4b6jb04hxj"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8994330f90a925df17ae425ccdc87865df8e19cd/recipes/dired-narrow"; @@ -12398,8 +13114,8 @@ src = fetchFromGitHub { owner = "Fuco1"; repo = "dired-hacks"; - rev = "230f81191824fa920016d9828a8672df402b4e12"; - sha256 = "1hrfm139c1g1pkpclx491qj9rjlms7g873wds7n4dqiq2mlm1rp7"; + rev = "bef0c7eb03474defa02bbba5c15401a766c8ff7c"; + sha256 = "1l7kay58ix9gmn06nws04f642svy0s1zplh86m7ihq4b6jb04hxj"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/568e524b7bdf91b31655bdbb30fe9481d7a0ffbf/recipes/dired-open"; @@ -12414,10 +13130,10 @@ }) {}; dired-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "dired-plus"; - version = "20160826.2346"; + version = "20170101.840"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/dired+.el"; - sha256 = "0v5qi7gvqq52qb8wv2dqw3xq348ckfb1ps1l1sk52qp5iswl6995"; + sha256 = "1vblbkflszci8x415am68fy9if02gnnphz2sz3h3c0368kixf6w7"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4327b4dd464ebb00c2acdd496274dedf912cdf92/recipes/dired+"; @@ -12433,12 +13149,12 @@ dired-quick-sort = callPackage ({ fetchFromGitLab, fetchurl, hydra, lib, melpaBuild }: melpaBuild { pname = "dired-quick-sort"; - version = "20160524.338"; + version = "20161208.1312"; src = fetchFromGitLab { owner = "xuhdev"; repo = "dired-quick-sort"; - rev = "f819be0bc67d8e8593fbbf71f1117b3e4fa33c27"; - sha256 = "12xcck2hypw13r522naghmfjpykld11ahyz9rqfz6qh8dnv2j234"; + rev = "1845f978d313f750a5b70b832457ed803c4ffbdb"; + sha256 = "014frvpszixn8cx7rdx704glmjbslv3py3kw0pb0xqf50k4scynf"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4d278178128deb03a7b1d2e586dc38da2c7af857/recipes/dired-quick-sort"; @@ -12458,8 +13174,8 @@ src = fetchFromGitHub { owner = "Fuco1"; repo = "dired-hacks"; - rev = "230f81191824fa920016d9828a8672df402b4e12"; - sha256 = "1hrfm139c1g1pkpclx491qj9rjlms7g873wds7n4dqiq2mlm1rp7"; + rev = "bef0c7eb03474defa02bbba5c15401a766c8ff7c"; + sha256 = "1l7kay58ix9gmn06nws04f642svy0s1zplh86m7ihq4b6jb04hxj"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/568e524b7bdf91b31655bdbb30fe9481d7a0ffbf/recipes/dired-rainbow"; @@ -12475,12 +13191,12 @@ dired-ranger = callPackage ({ dash, dired-hacks-utils, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "dired-ranger"; - version = "20160528.1031"; + version = "20160924.335"; src = fetchFromGitHub { owner = "Fuco1"; repo = "dired-hacks"; - rev = "230f81191824fa920016d9828a8672df402b4e12"; - sha256 = "1hrfm139c1g1pkpclx491qj9rjlms7g873wds7n4dqiq2mlm1rp7"; + rev = "bef0c7eb03474defa02bbba5c15401a766c8ff7c"; + sha256 = "1l7kay58ix9gmn06nws04f642svy0s1zplh86m7ihq4b6jb04hxj"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c03f6f8c779c8784f52adb20b266404cb537113a/recipes/dired-ranger"; @@ -12553,10 +13269,10 @@ dired-sort-menu-plus = callPackage ({ dired-sort-menu, fetchurl, lib, melpaBuild }: melpaBuild { pname = "dired-sort-menu-plus"; - version = "20151231.1251"; + version = "20170101.923"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/dired-sort-menu+.el"; - sha256 = "1hjci4zfzig04ji1jravxg9n67rdr4wyhmxmahbrzq9kjnql510i"; + sha256 = "1ajx4nd14pzbj2629psc3aqmsfb7wsdggcrwyxy94mnvg553m5q9"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/dired-sort-menu+"; @@ -12572,12 +13288,12 @@ dired-subtree = callPackage ({ dash, dired-hacks-utils, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "dired-subtree"; - version = "20150908.1033"; + version = "20160920.130"; src = fetchFromGitHub { owner = "Fuco1"; repo = "dired-hacks"; - rev = "230f81191824fa920016d9828a8672df402b4e12"; - sha256 = "1hrfm139c1g1pkpclx491qj9rjlms7g873wds7n4dqiq2mlm1rp7"; + rev = "bef0c7eb03474defa02bbba5c15401a766c8ff7c"; + sha256 = "1l7kay58ix9gmn06nws04f642svy0s1zplh86m7ihq4b6jb04hxj"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d6a947ac9476f10b95a3c153ec784d2a8330dd4c/recipes/dired-subtree"; @@ -12653,6 +13369,27 @@ license = lib.licenses.free; }; }) {}; + direnv = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "direnv"; + version = "20161002.715"; + src = fetchFromGitHub { + owner = "jml"; + repo = "direnv-el"; + rev = "fc80f40a77553b3c8841abedc15a64771634cb35"; + sha256 = "15lkpnklvgppj63q9qwjd6jbq8czyvjic81mkhf3bwcd7gdqar84"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/0f526b9cc7bc1495e5f5e9fb2e49af926aba8a7d/recipes/direnv"; + sha256 = "12yl7hmb7kc8ycr8nr39xb35jhagv8mqn6xs0k8j0mcykpzf2h1g"; + name = "direnv"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/direnv"; + license = lib.licenses.free; + }; + }) {}; direx = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "direx"; @@ -12780,12 +13517,12 @@ discourse = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, request, s }: melpaBuild { pname = "discourse"; - version = "20160811.2150"; + version = "20160911.119"; src = fetchFromGitHub { owner = "lujun9972"; repo = "discourse-api"; - rev = "a1c16af8f77986fb94fbc34c1e6ea36fcd97e00b"; - sha256 = "0i2p97cgrqz65l0bc6zgixvb5bdya4ynq18ygrs3v66xp02rxqc1"; + rev = "a86c7e608851e186fe12e892a573994f08c8e65e"; + sha256 = "1p4crd7v94hmqzqh8bc7jx1pfhallmj4kn36f8l22z4r2mkyycxc"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f5e64fc3fa3fc7d0ac14e7e5d324ee1ca77ea4c3/recipes/discourse"; @@ -12949,8 +13686,8 @@ src = fetchFromGitHub { owner = "sebastiw"; repo = "distel-completion"; - rev = "994c61dda2e3256b41fa2e53821c484b5ffd13e6"; - sha256 = "00nifdhwy89zmi50hln5p5albdx7ypm4mbdfjzhk4870crx4zjr2"; + rev = "2ba4eea51cecfa75cf62f58180460ee9ff43131f"; + sha256 = "1761lgplngmpn1vd8syc1h4g6q1dhngamz1j3n48z07c1ylzpkdd"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/90fff35dd9709b06802edef89d1fe6a96b7115a6/recipes/distel-completion-lib"; @@ -13007,12 +13744,12 @@ dix = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "dix"; - version = "20160801.142"; + version = "20161114.142"; src = fetchFromGitHub { owner = "unhammer"; repo = "dix"; - rev = "64289f0f658fb67ec9470626aea3365b8fd84f58"; - sha256 = "1r8nz1v0b0qnjvdszh9pvj8c9y5b07k2sdvdmimdhpp0fx9vd246"; + rev = "5df503b66d8b726e19812ff0fa82bcbcc6bf5cd6"; + sha256 = "164w42rqjyn8xrbb6w6z9wi1r8fs5sv6fdvfk5arv4g8ab2wnish"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/149eeba213b82aa0bcda1073aaf1aa02c2593f91/recipes/dix"; @@ -13032,8 +13769,8 @@ src = fetchFromGitHub { owner = "unhammer"; repo = "dix"; - rev = "64289f0f658fb67ec9470626aea3365b8fd84f58"; - sha256 = "1r8nz1v0b0qnjvdszh9pvj8c9y5b07k2sdvdmimdhpp0fx9vd246"; + rev = "5df503b66d8b726e19812ff0fa82bcbcc6bf5cd6"; + sha256 = "164w42rqjyn8xrbb6w6z9wi1r8fs5sv6fdvfk5arv4g8ab2wnish"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d9dcceb57231bf2082154cab394064a59d84d3a5/recipes/dix-evil"; @@ -13074,8 +13811,8 @@ src = fetchFromGitHub { owner = "gopar"; repo = "django-manage"; - rev = "e72b1cf2fdbb5c624d19169176e60467b4918fe2"; - sha256 = "0lyi64dfd2njlnf9dzb8i88rrw930jiq99xfn8zmh87y6qy1j79i"; + rev = "876fb2cb627d465adfdc905841279784bcdd7ee8"; + sha256 = "0yi38aif1n0s9yp87wimdbnq7vr7k5gbshfprj9ansibrjxnb6xk"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/66f88d30a1ab9b7f9281a2b5939c7ab2711b966a/recipes/django-manage"; @@ -13088,22 +13825,22 @@ license = lib.licenses.free; }; }) {}; - django-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + django-mode = callPackage ({ fetchFromGitHub, fetchurl, helm-make, lib, melpaBuild, projectile, s }: melpaBuild { pname = "django-mode"; - version = "20150207.517"; + version = "20161109.749"; src = fetchFromGitHub { owner = "myfreeweb"; repo = "django-mode"; - rev = "3d82a62a7faeb2c124ac4c109e075f581c175508"; - sha256 = "0dw0m77w7kdwxxh53b4k15jjkpfl5vha17hw9dn29ap77pf820va"; + rev = "561a3a7359a1526b67688239cdee67e0425b6a01"; + sha256 = "0xyi5j0cf1d8dv7lpfcgzkfargkpga3dp93pxi8x9pshafmlnrw8"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/bdc46811612ff96cb1e09552b9f095d68528dcb3/recipes/django-mode"; sha256 = "1rdkzqvicjpfh9k66m31ky6jshx9fqw7pza7add36bk6xg8lbara"; name = "django-mode"; }; - packageRequires = []; + packageRequires = [ helm-make projectile s ]; meta = { homepage = "https://melpa.org/#/django-mode"; license = lib.licenses.free; @@ -13116,8 +13853,8 @@ src = fetchFromGitHub { owner = "myfreeweb"; repo = "django-mode"; - rev = "3d82a62a7faeb2c124ac4c109e075f581c175508"; - sha256 = "0dw0m77w7kdwxxh53b4k15jjkpfl5vha17hw9dn29ap77pf820va"; + rev = "561a3a7359a1526b67688239cdee67e0425b6a01"; + sha256 = "0xyi5j0cf1d8dv7lpfcgzkfargkpga3dp93pxi8x9pshafmlnrw8"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/bdc46811612ff96cb1e09552b9f095d68528dcb3/recipes/django-snippets"; @@ -13172,6 +13909,27 @@ license = lib.licenses.free; }; }) {}; + dkl = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "dkl"; + version = "20161004.1707"; + src = fetchFromGitHub { + owner = "flexibeast"; + repo = "dkl"; + rev = "6b4584f86037bda3383960c678d51f340229fb91"; + sha256 = "1xpidgj5xk0g4ajpglhbhi02s5il8qqcvh2ccf4ac9daa1r34kxp"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/e8bd9cf21473f676aa54e142b6f0bf0427f40d29/recipes/dkl"; + sha256 = "0bcv4ld8bfj2sk3sh4j1m9qqybw3l0a6b3d12qwy8lc3b8197lr0"; + name = "dkl"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/dkl"; + license = lib.licenses.free; + }; + }) {}; dklrt = callPackage ({ dkmisc, emacs, fetchFromGitHub, fetchurl, ledger-mode, lib, melpaBuild }: melpaBuild { pname = "dklrt"; @@ -13298,22 +14056,30 @@ license = lib.licenses.free; }; }) {}; - docker = callPackage ({ dash, docker-tramp, emacs, fetchFromGitHub, fetchurl, lib, magit-popup, melpaBuild, s, tablist }: + docker = callPackage ({ dash, docker-tramp, emacs, fetchFromGitHub, fetchurl, json-mode, lib, magit-popup, melpaBuild, s, tablist }: melpaBuild { pname = "docker"; - version = "20160816.105"; + version = "20161221.49"; src = fetchFromGitHub { owner = "Silex"; repo = "docker.el"; - rev = "d5d6f8ecdc5fdae19ff03ad3b242fd50fd618c4a"; - sha256 = "0sczy87n9ymckw64fh3lxbpjawfc26xsja4qylzaj5pjsixrnpjh"; + rev = "9da6013f24fb00ffc1f2f15c3aeb05181df5d36f"; + sha256 = "1im6aqc26vjw9sc4x2gj16jdz3hh0mz64p81d7gvmfhjysinyfhn"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6c74bf8a41c17bc733636f9e7c05f3858d17936b/recipes/docker"; sha256 = "10x05vli7lg1w3fdbkrl34y4mwbhp2c7nqdwnbdy53i81jisw2lk"; name = "docker"; }; - packageRequires = [ dash docker-tramp emacs magit-popup s tablist ]; + packageRequires = [ + dash + docker-tramp + emacs + json-mode + magit-popup + s + tablist + ]; meta = { homepage = "https://melpa.org/#/docker"; license = lib.licenses.free; @@ -13343,12 +14109,12 @@ docker-tramp = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "docker-tramp"; - version = "20160113.1952"; + version = "20161020.2220"; src = fetchFromGitHub { owner = "emacs-pe"; repo = "docker-tramp.el"; - rev = "769a5c87bfe16549ebc981e3bd85806290f55e7a"; - sha256 = "0bvnvs17cbisymiqp96q4y2w2jqy5hd0zyk6rv7mihr9p97ak9kv"; + rev = "d8b510365d8e65551f4f792f251e7212411708c3"; + sha256 = "0lxvzmfg52fhxrhbvp92zwp7cv4i1rlxnkyyzgngj3sjm7y60yvg"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6c74bf8a41c17bc733636f9e7c05f3858d17936b/recipes/docker-tramp"; @@ -13364,12 +14130,12 @@ dockerfile-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "dockerfile-mode"; - version = "20160128.951"; + version = "20161209.631"; src = fetchFromGitHub { owner = "spotify"; repo = "dockerfile-mode"; - rev = "53434afa3b56eb9284d5e2c21956e43046cae1fa"; - sha256 = "0vx7lv54v4bznn4mik4i6idb9dl7fpp3gw7nyhymbkr6hx884haw"; + rev = "bebfa1b73e7e006d574a0e4fbae225dc1db214ff"; + sha256 = "129kang099mw6lfi4616d47axm3q81hr8jhqwymc3ar9ramggyg3"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1406f5a24115d29e3b140c360a51b977a369e4f9/recipes/dockerfile-mode"; @@ -13445,12 +14211,33 @@ license = lib.licenses.free; }; }) {}; + doom-themes = callPackage ({ all-the-icons, dash, emacs, fetchFromGitHub, fetchurl, font-lock-plus, lib, melpaBuild }: + melpaBuild { + pname = "doom-themes"; + version = "20161223.1807"; + src = fetchFromGitHub { + owner = "hlissner"; + repo = "emacs-doom-theme"; + rev = "e4694fa64e6b27fef489eec2e60a78507ee0b3f2"; + sha256 = "0dlh6q9m7h9h4vaf82qw5pdkf64m1pp1kfk8jkilprc273qr4m2j"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/73fd9f3c2352ea1af49166c2fe586d0410614081/recipes/doom-themes"; + sha256 = "1ckr8rv1i101kynnx666lm7qa73jf9i5lppgwmhlc76lisg07cik"; + name = "doom-themes"; + }; + packageRequires = [ all-the-icons dash emacs font-lock-plus ]; + meta = { + homepage = "https://melpa.org/#/doom-themes"; + license = lib.licenses.free; + }; + }) {}; doremi = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "doremi"; - version = "20151231.1255"; + version = "20170101.922"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/doremi.el"; - sha256 = "0201clwq9nbl8336lddcbwah8d6xipr7q8135yq79szfxq2bdg6v"; + sha256 = "11cxhfps8d0b0nsqq4mvwxpppmwagzxmlzy70icf85iv83xa74kv"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/doremi"; @@ -13466,10 +14253,10 @@ doremi-cmd = callPackage ({ doremi, fetchurl, lib, melpaBuild }: melpaBuild { pname = "doremi-cmd"; - version = "20160512.1712"; + version = "20170101.919"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/doremi-cmd.el"; - sha256 = "1ay8rkcyydjqi1081vphb8iw3w2zc73m5bg1dz2mkxhksqwchqvj"; + sha256 = "01x19bsdmz2z18s5a30mnbsgk1xjmff9rsd6dd2phaj750j6aiyb"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/doremi-cmd"; @@ -13485,10 +14272,10 @@ doremi-frm = callPackage ({ doremi, faces-plus, fetchurl, frame-fns, hexrgb, lib, melpaBuild }: melpaBuild { pname = "doremi-frm"; - version = "20151231.1253"; + version = "20170101.920"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/doremi-frm.el"; - sha256 = "0v7ycmddh1ds64m1y5yai5nh34bd32q3wcm5y2pdzhj6jk7nj5wz"; + sha256 = "1gbm3iyfg96fafnydha5zyj3sip1i7bk2qhr3hpa2g895mjfv6kd"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/doremi-frm"; @@ -13503,10 +14290,10 @@ }) {}; doremi-mac = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "doremi-mac"; - version = "20151231.1254"; + version = "20170101.921"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/doremi-mac.el"; - sha256 = "157kvlb4dqiyk1h7b4p0dhrr6crdakwnrxydyl6yh51w2hdnnigw"; + sha256 = "1ilsnyzh4kka0kncd8w4fc5v9nm7q05i3g25z3m49zqifxp1vlfa"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/doremi-mac"; @@ -13537,19 +14324,22 @@ license = lib.licenses.free; }; }) {}; - dot-mode = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { + dot-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { pname = "dot-mode"; - version = "20151029.655"; - src = fetchurl { - url = "https://www.emacswiki.org/emacs/download/dot-mode.el"; - sha256 = "0xhbzq3yvfvvvl6mfihrzkd3pn5p5yxvbcyf2jhsppk7lscifsgk"; + version = "20161025.1037"; + src = fetchFromGitHub { + owner = "wyrickre"; + repo = "dot-mode"; + rev = "cde2d593cb3f8e31db8778e434d3a4550707d2cc"; + sha256 = "1pvmypsz5c5jkx4g3hvznayyv9cs9yr5sgf251prxnqcl0ivc0y9"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/fa20f7845ebf84c09ba34dbffe58dee5438d7c49/recipes/dot-mode"; - sha256 = "1fik32635caq3r5f9k62qbj2dkwczz2z1v28mc7bcj7jv2p93nvh"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/b3082fb1c8a5e0439b3ae5e968845aecd99d28e2/recipes/dot-mode"; + sha256 = "18dj3bvnm28j7mllv4f575ahnhzziinycg48wbr73qi70vq059z8"; name = "dot-mode"; }; - packageRequires = []; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/dot-mode"; license = lib.licenses.free; @@ -13639,15 +14429,36 @@ license = lib.licenses.free; }; }) {}; + dr-racket-like-unicode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "dr-racket-like-unicode"; + version = "20161021.511"; + src = fetchFromGitHub { + owner = "david-christiansen"; + repo = "dr-racket-like-unicode"; + rev = "4953f1c8a68472e157a0dcd0a7e35a4ec2577133"; + sha256 = "1i7k7d2gnzd2izplhdmjbkcxvkwnc3y3y0hrcp2rq60bjpkcl1gv"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/6e612ede00c4b44ace741d2b6baabc61571af15c/recipes/dr-racket-like-unicode"; + sha256 = "0cqcbn4hmv99d8z03xc0rqw4yh5by6g09y33h75dhl9nh95rybgf"; + name = "dr-racket-like-unicode"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/dr-racket-like-unicode"; + license = lib.licenses.free; + }; + }) {}; dracula-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "dracula-theme"; - version = "20160826.627"; + version = "20161119.1345"; src = fetchFromGitHub { owner = "dracula"; repo = "emacs"; - rev = "83e60b91c526405506c3f6167af207371e2420c8"; - sha256 = "00wlspaya7g48fh34rbn27ixixxnm2qrc6gl135d97hawv86rmrb"; + rev = "c9f8a97eba74a82a65554c9b282e86125a22ecb2"; + sha256 = "12918nidcmqnhkqhhrnhhd2sihqld5dy1v06q4j9fkrcbp4j4l4l"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d63cb8906726f106e65f7d9895b49a38ffebf8d5/recipes/dracula-theme"; @@ -13684,12 +14495,12 @@ drag-stuff = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "drag-stuff"; - version = "20160520.1159"; + version = "20161107.2349"; src = fetchFromGitHub { owner = "rejeep"; repo = "drag-stuff.el"; - rev = "324239532b4a8b45dce778ef62e843d3ee0161aa"; - sha256 = "0vcc1pfxsjbrslh4k6d14xv4k8pvkg09kikwf7ipis12l62df6i4"; + rev = "d49fe376d24f0f8ac5ade67b6d7fccc2487c81db"; + sha256 = "1jrr59iazih3imkl9ja1lbni9v3xv6b8gmqs015g2mxhlql35jka"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/drag-stuff"; @@ -13744,6 +14555,27 @@ license = lib.licenses.free; }; }) {}; + drone = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "drone"; + version = "20161106.118"; + src = fetchFromGitHub { + owner = "olymk2"; + repo = "emacs-drone"; + rev = "1d4ee037ad3208847a4235426edf0c4a3e7b1899"; + sha256 = "1dwxgzf32cvfi7b6zw3qzamj82zs2c0ap6i1w0jqqgzmkz20dqvf"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/3b62e697798627b07000ac72c19ecd1d89c22229/recipes/drone"; + sha256 = "0wjbmgic715i4nxk90nasfamk04lskl8dll9y5klk32w1lsj546q"; + name = "drone"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/drone"; + license = lib.licenses.free; + }; + }) {}; dropbox = callPackage ({ fetchFromGitHub, fetchurl, json ? null, lib, melpaBuild, oauth }: melpaBuild { pname = "dropbox"; @@ -13786,12 +14618,12 @@ drupal-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, php-mode }: melpaBuild { pname = "drupal-mode"; - version = "20160821.1324"; + version = "20161215.414"; src = fetchFromGitHub { owner = "arnested"; repo = "drupal-mode"; - rev = "f425ba445ae201a16e3fc3b4f5fb8bea93579d39"; - sha256 = "1c3krir3l04rwlyadnhra6kmbnmvdm95aj7iwspa6dssnry4vflj"; + rev = "dea5a8da789e5c707fa6c63cd400282ea7205a14"; + sha256 = "1zxsa6fapbxa5yfpawivjmav9i80j9752bc6gmpq7ilzsnd67h0v"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/13e16af340868048eb1f51f9865dfc707e57abe8/recipes/drupal-mode"; @@ -13830,7 +14662,7 @@ version = "20130120.1257"; src = fetchsvn { url = "http://svn.apache.org/repos/asf/subversion/trunk/contrib/client-side/emacs/"; - rev = "1758596"; + rev = "1777121"; sha256 = "016dxpzm1zba8rag7czynlk58hys4xab4mz1nkry5bfihknpzcrq"; }; recipeFile = fetchurl { @@ -13889,12 +14721,12 @@ dts-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "dts-mode"; - version = "20150403.1604"; + version = "20161103.523"; src = fetchFromGitHub { owner = "bgamari"; repo = "dts-mode"; - rev = "6ec1443ead16105234765f9b48df9b4aca562e61"; - sha256 = "0cafvhbpfqd8ajqg2757fs64kryrl2ckvbp5abldb4y8fa14pb9l"; + rev = "9ee0854446dcc6c53d2b8d2941051768dba50344"; + sha256 = "1k8lljdbc90nd29xrhdrsscxavzdq532wq2mg7ljc94krj7538b1"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/864a7ec64c46a0357710bc80ad4880dd35b2fda1/recipes/dts-mode"; @@ -13910,12 +14742,12 @@ ducpel = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ducpel"; - version = "20140418.2216"; + version = "20140702.454"; src = fetchFromGitHub { owner = "alezost"; repo = "ducpel"; - rev = "4a1671fc45ab92d44dee85a1a223122d5a43cb32"; - sha256 = "1ixb78dv66lmqlbv4zl5ysvv1xqafvqh1h5cfdv03jdkqlfk34jz"; + rev = "b53b935ab95c02b82ccf38f63c89e39e99477a55"; + sha256 = "07cgwkfi69xjjxx9hs5rdblsil1h3bpbx9k7hwyv1dg3ivihm04s"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2d64adac965e1dac0f29dab9a587cd6ce9c3bb3a/recipes/ducpel"; @@ -13931,12 +14763,12 @@ dumb-jump = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, popup, s }: melpaBuild { pname = "dumb-jump"; - version = "20160830.1152"; + version = "20161218.110"; src = fetchFromGitHub { owner = "jacktasia"; repo = "dumb-jump"; - rev = "c99c874451aefae9072e521e518a14aeb3559b12"; - sha256 = "1dw0ybx5xr9lrlnqblgw64dwk446812vgh1134jpdslzqjpirzwd"; + rev = "0c7fed68916de6bcbbfbc6c9f787d610a3316b1e"; + sha256 = "1a5jg1344s18bj6v33wfrxxg1cxlx6aha40wyw9dbwj1pjpw7vqd"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2a60e7c166c2d68e4f719d293014a22139593dde/recipes/dumb-jump"; @@ -13949,27 +14781,6 @@ license = lib.licenses.free; }; }) {}; - dummy-h-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: - melpaBuild { - pname = "dummy-h-mode"; - version = "20160603.417"; - src = fetchFromGitHub { - owner = "yascentur"; - repo = "dummy-h-mode-el"; - rev = "2bc896f0e3bd3c976c4bb4cdf8056065bf39f50e"; - sha256 = "1xkfwg1awb3ikb9i71xdbnbb94y3p2qd1fhnbx6kzfs0kmsiv5k9"; - }; - recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/0fda2b54a0ff0b6fc3bd6d20cfcbbf63cae5380f/recipes/dummy-h-mode"; - sha256 = "10lzfzq7md6s28w2zzlhswn3d6765g4vqzyjn2q5ms8pd2i4b4in"; - name = "dummy-h-mode"; - }; - packageRequires = []; - meta = { - homepage = "https://melpa.org/#/dummy-h-mode"; - license = lib.licenses.free; - }; - }) {}; dummyparens = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "dummyparens"; @@ -14015,11 +14826,11 @@ dyalog-mode = callPackage ({ cl-lib ? null, fetchhg, fetchurl, lib, melpaBuild }: melpaBuild { pname = "dyalog-mode"; - version = "20160723.524"; + version = "20161231.1437"; src = fetchhg { url = "https://bitbucket.com/harsman/dyalog-mode"; - rev = "4b5bc1f49cad"; - sha256 = "1c0jswjxazf330bh0xg889s6pfk50x5qi5lc8kpfqwa0p6b15306"; + rev = "4004050a9771"; + sha256 = "0p7g7sfkdr473gpj2xdgg5fb5d336w2ddvx44i1d6575p6rcs5w6"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/dyalog-mode"; @@ -14308,12 +15119,12 @@ easy-escape = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "easy-escape"; - version = "20150718.1933"; + version = "20161209.744"; src = fetchFromGitHub { owner = "cpitclaudel"; repo = "easy-escape"; - rev = "c87d76e5001f36fbbf975e9ce7e776acd2dd7776"; - sha256 = "1qn0givyh07w41sv5xayfzlwbpbq7p39wbhmwsgffgfqzzz5r2ys"; + rev = "63fa5fcf9a53b7d3c1e872081e65afad5a722ba8"; + sha256 = "11v5pzpyrzada07laa3jh6c1hafwrpx1pxvp7r1azqy9fpi3slnz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c39e3b867fa3143e9dc7c2fefa57b5755f70b433/recipes/easy-escape"; @@ -14350,12 +15161,12 @@ easy-kill-extras = callPackage ({ easy-kill, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "easy-kill-extras"; - version = "20160418.1919"; + version = "20161028.504"; src = fetchFromGitHub { owner = "knu"; repo = "easy-kill-extras.el"; - rev = "65fc4fdfb79c6dd679b4a1a57fa657b4b39919cc"; - sha256 = "0mmhqid0x56m0p3b18a757147fy8km3p4kmi0y94kjq04a4ysg3k"; + rev = "e60a74d7121eff7c263098aea2901cc05a5f6acd"; + sha256 = "1rabkb2pkafnfx68df1zjwbj8bl7361n35lvzrvldc3v85bfam48"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7b55d93f78fefde47a2bd4ebbfd93c028fab1f40/recipes/easy-kill-extras"; @@ -14371,12 +15182,12 @@ easy-lentic = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lentic, lib, melpaBuild }: melpaBuild { pname = "easy-lentic"; - version = "20160727.2025"; + version = "20161031.2119"; src = fetchFromGitHub { owner = "tumashu"; repo = "easy-lentic"; - rev = "751a1d717840d9f526f26cf43e88d44981a6b14f"; - sha256 = "027w2sjagv74g9bx1k4w2f79fmxwvdsk2625abjlv7mly3aigzyy"; + rev = "6f43c8d575274349757173b9bcad3bf5b59300ac"; + sha256 = "0jw1m2ff23b99rz137ndy0gjbk3fs7srsyjd8f8fssl4xm8mzb39"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7e098e70214e85e1c583a4976f895941c13de75f/recipes/easy-lentic"; @@ -14413,12 +15224,12 @@ ebal = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, ido-completing-read-plus, lib, melpaBuild }: melpaBuild { pname = "ebal"; - version = "20160531.906"; + version = "20161231.1559"; src = fetchFromGitHub { owner = "mrkkrp"; repo = "ebal"; - rev = "1155c70b8dbb2f2caed2958782afe3d8018ab0b2"; - sha256 = "0fbfdhz1fmxiy9hg038qqw7r3gvhvzyk68qaww0saja9zywx8hal"; + rev = "c0df139972c52200db417cc18e65f8748969fb79"; + sha256 = "19yxfc6lbd4311w291lxsw1v3hp0ha4inlp5fcakszd76bc69c4w"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/629aa451162a0085488caad4052a56366b7ce392/recipes/ebal"; @@ -14452,22 +15263,22 @@ license = lib.licenses.free; }; }) {}; - ebib = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, parsebib }: + ebib = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, parsebib, seq }: melpaBuild { pname = "ebib"; - version = "20160831.425"; + version = "20161209.1546"; src = fetchFromGitHub { owner = "joostkremers"; repo = "ebib"; - rev = "57a9a228743d5f773002f951b9bc5765ff9c7332"; - sha256 = "1rz4mdzwx293q8ba8gvidj79y7lcjy3dngvh9dhz9vig2xdggn77"; + rev = "87abf50dcb8cc1a68620691dbf78ccae4707ec7c"; + sha256 = "07ndy86ld8cz627iwh76spj296z7f8ivcimcv3dhna788q6v46xd"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4e39cd8e8b4f61c04fa967def6a653bb22f45f5b/recipes/ebib"; sha256 = "1kdqf5nk9l6mr3698nqngrkw5dicgf7d24krir5wrcfbrsqrfmid"; name = "ebib"; }; - packageRequires = [ dash emacs parsebib ]; + packageRequires = [ dash emacs parsebib seq ]; meta = { homepage = "https://melpa.org/#/ebib"; license = lib.licenses.free; @@ -14476,12 +15287,12 @@ ebib-handy = callPackage ({ chinese-pyim, ebib, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ebib-handy"; - version = "20160509.1556"; + version = "20161126.140"; src = fetchFromGitHub { owner = "tumashu"; repo = "ebib-handy"; - rev = "62215c400934a5d5c98bcb906d122b1e6f71b7c2"; - sha256 = "0z89gggdgy2icnc6vwwbqbpnzbixxm6njgkz37zrrpwk23jsx1pb"; + rev = "e4815b2d127300361b8528681d2d36ad5465e574"; + sha256 = "03pnapalpdyfcy4irmxwljpwxmbcgz3dzbxd8b0058gkhzan9vrz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8843caa0d80000c70d3b264854f50daac94e6962/recipes/ebib-handy"; @@ -14497,16 +15308,16 @@ ecb = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ecb"; - version = "20140215.114"; + version = "20160101.933"; src = fetchFromGitHub { - owner = "alexott"; + owner = "ecb-home"; repo = "ecb"; - rev = "071706b22efcfeb65da8381e317220d7f9d8cb54"; - sha256 = "1hs069m4m6vhb37ac2x6hzbp9mfmpd3zhp4m631lx8dlmx11rydz"; + rev = "661edbfcddcdb75331cf28870e6a5fb4ba9ca27f"; + sha256 = "1ac9b6k10kniqkiadzfa7mjhy1nf6ypd3fl6yvmr8yigc2phszny"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/c0a4c225c05166572de4538f7ee9e4e0d088a409/recipes/ecb"; - sha256 = "097hdskhfh255znrqamcssx4ns1sgkxchlbc7pjqwzpflsi0fx89"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/4db5183f35bedbc459843ad9f442f9cb6608c5fc/recipes/ecb"; + sha256 = "0z61p9zgv7gcx04m4jv16a3mn9kjvnw0rdd65kpvbmzkgls0nk8d"; name = "ecb"; }; packageRequires = []; @@ -14517,10 +15328,10 @@ }) {}; echo-bell = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "echo-bell"; - version = "20151231.1256"; + version = "20170101.925"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/echo-bell.el"; - sha256 = "0jk7pb2sr4qbxwcn4ipcjc9phl9zjmgg8sf91qj113112xx7vvxa"; + sha256 = "1q1z151cfw1775gcfzpnm4afp62skqlnj5z2miizbnraincqy24b"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a81e339e9c7cf1ae5fe91ab4442164336a6fbf13/recipes/echo-bell"; @@ -14536,12 +15347,12 @@ eclim = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, json ? null, lib, melpaBuild, popup, s, yasnippet }: melpaBuild { pname = "eclim"; - version = "20160831.455"; + version = "20170101.1436"; src = fetchFromGitHub { owner = "emacs-eclim"; repo = "emacs-eclim"; - rev = "a58dd558e6ad4f8f5d78b743955a758178e323be"; - sha256 = "1jn2raymx4qml8h7ala8jhgfzfbppd5nq55ffbs0il46r9w3n086"; + rev = "03d9cb7b6c3ac60fd796a2ba8fdfe13552720d3b"; + sha256 = "1dzy463jpfjz7qhr1zwx8n3xrba6zj87j6naf7xx4j704i03f9h8"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1e9d3075587fbd9ca188535fd945a7dc451c6d7e/recipes/eclim"; @@ -14578,12 +15389,12 @@ ecukes = callPackage ({ ansi, commander, dash, espuds, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "ecukes"; - version = "20150717.648"; + version = "20160913.5"; src = fetchFromGitHub { owner = "ecukes"; repo = "ecukes"; - rev = "7dad2da09da33d8540f25bf7bb7dd62900669b80"; - sha256 = "0h6vh719ai0cxyja6wpfi6m76d42vskj56wg666j0h6j0qw6h3i2"; + rev = "dbaac412c465dcee0a637fbaf64d6fc954f6ae6c"; + sha256 = "14cv67nbn10j43h9s60a4h8wjg67m2xw4s19lrdhj3fbyp0g0zby"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/14cf66e6929db2a0f377612e786aaed9eb12b799/recipes/ecukes"; @@ -14722,6 +15533,27 @@ license = lib.licenses.free; }; }) {}; + ede-php-autoload = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "ede-php-autoload"; + version = "20161119.419"; + src = fetchFromGitHub { + owner = "stevenremot"; + repo = "ede-php-autoload"; + rev = "c6896c648fbc90f4d083f511353d6b165836d0e8"; + sha256 = "0dfx0qiyd23jhxi0y1n4s1pk9906b91qnp25xbyiqdacs54l6d8a"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/8ee9f7fd9cbc3397cd9af34b08b75c3d9d8bc551/recipes/ede-php-autoload"; + sha256 = "0b7qbighncipgfaksvggpyldc5h0wxbjbiyaghglvycc4p1sfjd0"; + name = "ede-php-autoload"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/ede-php-autoload"; + license = lib.licenses.free; + }; + }) {}; edebug-x = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "edebug-x"; @@ -14806,6 +15638,27 @@ license = lib.licenses.free; }; }) {}; + edit-indirect-region-latex = callPackage ({ edit-indirect, emacs, fetchFromGitHub, fetchurl, ht, lib, melpaBuild }: + melpaBuild { + pname = "edit-indirect-region-latex"; + version = "20161128.2245"; + src = fetchFromGitHub { + owner = "niitsuma"; + repo = "edit-indirect-region-latex"; + rev = "05043f2c0c9838947d3ca4b51b695deb7c47612e"; + sha256 = "0dgac0nk9x4sz4lisxb5badrzpcjqjwgi79hhl1y6mafzm0ncqs2"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/688f0b6802d04d133afc3de7371f65b8d5d2bad4/recipes/edit-indirect-region-latex"; + sha256 = "0lsqz09c4p2gl1xd673783hmmh7y5iq4kw521q7hiza4xbaiwpr3"; + name = "edit-indirect-region-latex"; + }; + packageRequires = [ edit-indirect emacs ht ]; + meta = { + homepage = "https://melpa.org/#/edit-indirect-region-latex"; + license = lib.licenses.free; + }; + }) {}; edit-list = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "edit-list"; @@ -14872,12 +15725,12 @@ editorconfig = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "editorconfig"; - version = "20160808.2212"; + version = "20161212.1946"; src = fetchFromGitHub { owner = "editorconfig"; repo = "editorconfig-emacs"; - rev = "e54c0b8aa81bbd4292301c6c0cee2be71e62bccf"; - sha256 = "1jwkf1q59b24dk4zlpp25v8y7200a7mn5fjq8f8xzsw2vgfqz0zs"; + rev = "95594ff4a88d94f79b092b2eced1e87fa9ad5ee8"; + sha256 = "11d9d9qgfdid47pk9vi1ca3wjp02b3bylzbz23hpcrl7zjypr4ar"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/50d4f2ed288ef38153a7eab44c036e4f075b51d0/recipes/editorconfig"; @@ -14893,12 +15746,12 @@ editorconfig-custom-majormode = callPackage ({ editorconfig, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "editorconfig-custom-majormode"; - version = "20160729.24"; + version = "20170102.751"; src = fetchFromGitHub { owner = "10sr"; repo = "editorconfig-custom-majormode-el"; - rev = "601ce5a04634003075396a8ff74d0b09cfa7c11a"; - sha256 = "0jdvg1a76r8vg2d0n8hl2kczg8hybk2hcbd732g3vhzl8i4izfi2"; + rev = "8216ce7d20703a8ce923b4c0284c098ae85621f9"; + sha256 = "02qkvdgn78asz1i7gh8198z0as4yhax3yans96c8lxwmbac125kz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/fcd47bf4630442ad1a941ad432cef64c7746aa71/recipes/editorconfig-custom-majormode"; @@ -15032,8 +15885,8 @@ src = fetchFromGitHub { owner = "egisatoshi"; repo = "egison3"; - rev = "f08462616a29d58774e4e89fe01b75f4503394a8"; - sha256 = "13xyr7g1if29yv6vykwx1inmphig20z320hzva1lbni4cl1dwfc7"; + rev = "62c99118f32dd23a088e2d9c0d6b7b755206cac6"; + sha256 = "1f0s9pvns4gq6xzp4vp74xxxbmzp06vdv0jgh0x1xy0mfklgll8x"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f543dd136e2af6c36b12073ea75b3c4d4bc79769/recipes/egison-mode"; @@ -15049,12 +15902,12 @@ ego = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, ht, htmlize, lib, melpaBuild, mustache, org, simple-httpd }: melpaBuild { pname = "ego"; - version = "20160822.849"; + version = "20161219.528"; src = fetchFromGitHub { owner = "emacs-china"; repo = "EGO"; - rev = "33b8df4e13257a0e893a4f49a1d6aa623e2bca72"; - sha256 = "059vhx15rvp52s3bdvhz62jvkxi6ab9ly7pmab9cpdcpagqq9gaq"; + rev = "334a1ea3869818ac40e84f9832b8996564286ca1"; + sha256 = "1fi71fkfl95alkamam1z51ksn2pqchcy2gvnkn0smfs9wcy038s1"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0090a628a5d566a887cac0d24b080ee6bafe4612/recipes/ego"; @@ -15069,11 +15922,11 @@ }) {}; eide = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }: melpaBuild { pname = "eide"; - version = "20160210.1238"; + version = "20160926.1332"; src = fetchgit { url = "git://git.tuxfamily.org/gitroot/eide/emacs-ide.git"; - rev = "9d7fb8c50568ece04bb0382caca42d3ab68fbb01"; - sha256 = "1qiafvx6bhliqaysyc4qv2ps44qsmls75ysjbgmzw5rndc8hf0r0"; + rev = "72c07fdbe6c8507147e997a22abcc2b42e45fce8"; + sha256 = "1v64b6ii4xl3cyr6cvyq25i2xzyk6czr4m1z82pknb3qmxx3m26w"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d384f185f76039b06a1b5b12c792b346c6d47a22/recipes/eide"; @@ -15110,16 +15963,16 @@ ein = callPackage ({ cl-generic, fetchFromGitHub, fetchurl, lib, melpaBuild, request, websocket }: melpaBuild { pname = "ein"; - version = "20160725.621"; + version = "20161228.741"; src = fetchFromGitHub { owner = "millejoh"; repo = "emacs-ipython-notebook"; - rev = "a9736311c86d6b8b1fe4ecd695cecaeff968db8c"; - sha256 = "08wyqnmm775dk88ijyjqw8fv4393kd9zm05pvzi6vr3svb2fmhrm"; + rev = "481d8a879f821e8cbbf074175672295356f43ba5"; + sha256 = "0ip60d4k466y3gd16na58398ilzrzrk84dbl5lsh330khi65136a"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/3201516c0158c47d0226ef9c5d324d29ac7b088b/recipes/ein"; - sha256 = "1nksj1cpf4d9brr3rb80bgp2x05qdq9xmlp8mwbic1s27mw80bpp"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/215e163755fe391ce1f049622e7b9bf9a8aea95a/recipes/ein"; + sha256 = "14blq1cbrp00rq0ilk7z9qppqfj0r4n3jidw3abcpchvh5ln086r"; name = "ein"; }; packageRequires = [ cl-generic request websocket ]; @@ -15152,12 +16005,12 @@ eink-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "eink-theme"; - version = "20160826.51"; + version = "20161207.410"; src = fetchFromGitHub { owner = "maio"; repo = "eink-emacs"; - rev = "a817ef1cc891de174a4ec9d9b06551a1ebf8d8e4"; - sha256 = "0cf587c7wl8r3if7wiqh7rw0r2dmjck79wjnm2il1l45ffff2nzn"; + rev = "40e7a7d31ee160175aa89583609d3f953fb066c6"; + sha256 = "0701c7x8wwr99d5l50k8n2a6zx7dh067d702v032g5axh7lqsn2j"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a1349c3f93ab60983f77c28f97048fa258b612a6/recipes/eink-theme"; @@ -15170,22 +16023,22 @@ license = lib.licenses.free; }; }) {}; - ejc-sql = callPackage ({ auto-complete, clomacs, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + ejc-sql = callPackage ({ auto-complete, clomacs, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, spinner }: melpaBuild { pname = "ejc-sql"; - version = "20160603.742"; + version = "20161216.118"; src = fetchFromGitHub { owner = "kostafey"; repo = "ejc-sql"; - rev = "a7509abcdf76408acc03f1f198450b9064bcd5c4"; - sha256 = "0v7amrmzrmj3myikd0a3g30cmkjri84paxxi4qzldwshj1pwypn4"; + rev = "6beb80f2f094cd4b4d8a5fdf56b61d9d04d73b39"; + sha256 = "1jk9vphm30523l8i1qf4iyaf6bds2m9mpz5ivrd62dxldzrs7q8z"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8f2cd74717269ef7f10362077a91546723a72104/recipes/ejc-sql"; sha256 = "0v9mmwc2gm58nky81q7fibj93zi7zbxq1jzjw55dg6cb6qb87vnx"; name = "ejc-sql"; }; - packageRequires = [ auto-complete clomacs dash emacs ]; + packageRequires = [ auto-complete clomacs dash emacs spinner ]; meta = { homepage = "https://melpa.org/#/ejc-sql"; license = lib.licenses.free; @@ -15215,12 +16068,12 @@ el-get = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "el-get"; - version = "20160827.1305"; + version = "20161022.614"; src = fetchFromGitHub { owner = "dimitri"; repo = "el-get"; - rev = "a6638a664acd9313e8797d6c4087dafcc0ac45cb"; - sha256 = "049wwsxg0w803d2a5xkywldlqds7dbw6wa0m2lpip2yl08qfympg"; + rev = "bcb05bc970e1dd19e8542b562bafb0ad68cef8cb"; + sha256 = "0d4sg57fn8xi2s9959lwkdv3k2naqnz2wkzr76ap1g5zllpykw8i"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1c61197a2b616d6d3c6b652248cb166196846b44/recipes/el-get"; @@ -15278,12 +16131,12 @@ el-mock = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "el-mock"; - version = "20150906.321"; + version = "20160923.1157"; src = fetchFromGitHub { owner = "rejeep"; repo = "el-mock.el"; - rev = "5cb160b9bd2c9b909a2b64adcc9ec947da643c39"; - sha256 = "1jiq2hpym3wpk80zsl4lffpv4kgkykc2zp08sb01wa7pl8d1knmm"; + rev = "e3cff9f127ab62dc177b043ce319c7866f6fe2f0"; + sha256 = "1qclqb5g50m208hwyalc6gc0y04lbai8fplxs0nadas3478x5344"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b1989beb927657c0ff7e79fe448f62ac58c11be7/recipes/el-mock"; @@ -15461,27 +16314,6 @@ license = lib.licenses.free; }; }) {}; - elang = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, names }: - melpaBuild { - pname = "elang"; - version = "20160104.656"; - src = fetchFromGitHub { - owner = "vkazanov"; - repo = "elang"; - rev = "30dc30c2c55e902fb213865aa79e2cbbc0dbc88e"; - sha256 = "1wikmzl9gi72h6fxawj0h20828n4vypw9rrv35kqnl4gfrdmxzkk"; - }; - recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/1cb66c2a6272a804d7a81fc506643e80f11da306/recipes/elang"; - sha256 = "0frhn3hm8351qzljicpzars28af1fghgv45717ml79rwb4vi6yiy"; - name = "elang"; - }; - packageRequires = [ names ]; - meta = { - homepage = "https://melpa.org/#/elang"; - license = lib.licenses.free; - }; - }) {}; eldoc-eval = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "eldoc-eval"; @@ -15545,12 +16377,12 @@ electric-operator = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, names }: melpaBuild { pname = "electric-operator"; - version = "20160828.544"; + version = "20170102.307"; src = fetchFromGitHub { owner = "davidshepherd7"; repo = "electric-operator"; - rev = "49bffc321705179a06d685c2023e67229b952b36"; - sha256 = "1kqq557m5rm71hg3b7qr4md145dsp0g0xn2dim5jifcwmynf4m6f"; + rev = "1670a0d8e4a09b48da312afc57d35e0cf7033b5f"; + sha256 = "0cm1zg2hgwzwwkri0wsb6x9jhgma6vm9jga81jjiasih33nd0zy4"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/906cdf8647524bb76f644373cf8b65397d9053a5/recipes/electric-operator"; @@ -15566,12 +16398,12 @@ electric-spacing = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "electric-spacing"; - version = "20151209.736"; + version = "20161209.1157"; src = fetchFromGitHub { owner = "xwl"; repo = "electric-spacing"; - rev = "78e4ccbb0a924a3062fa16c9b24823bb79bb1f3e"; - sha256 = "0q1pb01h48wdbjgi04a6ck2jn7yfh92wpq1vka5pg54wv2k9b5fn"; + rev = "9d0f8a213133f2619a4e9dfbba3b00d4348c07b0"; + sha256 = "1wzf8q2k2iwnm9b5kj16bwif7g0qc7ll3cjs20gbmcnq5xmhwx9f"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a78c0044f8b7a0df1af1aba407be4d7865c98c59/recipes/electric-spacing"; @@ -15608,12 +16440,12 @@ elf-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "elf-mode"; - version = "20160829.1118"; + version = "20161009.48"; src = fetchFromGitHub { owner = "abo-abo"; repo = "elf-mode"; - rev = "ae5ff9b88033e275f8eeca1a0753ba6a8aa6153b"; - sha256 = "0208wkbi2qc1lfdisrdc36gpsmf9hlj99y6w3va01yl2b5hrc5ik"; + rev = "cd280d683cd3341d8bb31af6db7e3b74a133e6ab"; + sha256 = "0cbvjbk2893ag1iy8ggixpirfiyhssm7fii96hb9jqdz874cdl0k"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/368d1ff91f310e5ffe68f872ab0a91584a41a66e/recipes/elf-mode"; @@ -15629,12 +16461,12 @@ elfeed = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "elfeed"; - version = "20160826.1719"; + version = "20161231.735"; src = fetchFromGitHub { owner = "skeeto"; repo = "elfeed"; - rev = "45cad0febad147c16ca52f24417b633501dbda22"; - sha256 = "11gq4jhvrnx4209dp5wp2lrpdcdfrn0m5gvzzzd363pv78qqnadq"; + rev = "03040c762901ff3f77942b9cf2a78aa127ded1d4"; + sha256 = "1vik0vs85dny7kkaf6cwqahly8l5llkgzs6f2jcfrc90xdg6j3dz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/407ae027fcec444622c2a822074b95996df9e6af/recipes/elfeed"; @@ -15650,12 +16482,12 @@ elfeed-goodies = callPackage ({ ace-jump-mode, cl-lib ? null, elfeed, fetchFromGitHub, fetchurl, lib, melpaBuild, noflet, popwin, powerline }: melpaBuild { pname = "elfeed-goodies"; - version = "20160317.424"; + version = "20160926.209"; src = fetchFromGitHub { owner = "algernon"; repo = "elfeed-goodies"; - rev = "4e0f45a4fa459e1acd1282a063190311ca2aaa81"; - sha256 = "10dbf292l1pd6a4jchdlvpp4yf2kxmf2j6zqigh4wlg125px1drk"; + rev = "f3f2595c845a8001d1bb28a185cc05cf984998ef"; + sha256 = "1qfny4qmhy2cb0yxjpzn039kmzhy3n29mik0am0csx9a71gii109"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e6ebb8d23961fd9bfe101f7917caa3b405493f31/recipes/elfeed-goodies"; @@ -15699,12 +16531,12 @@ elfeed-web = callPackage ({ elfeed, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, simple-httpd }: melpaBuild { pname = "elfeed-web"; - version = "20160828.1809"; + version = "20161030.1731"; src = fetchFromGitHub { owner = "skeeto"; repo = "elfeed"; - rev = "45cad0febad147c16ca52f24417b633501dbda22"; - sha256 = "11gq4jhvrnx4209dp5wp2lrpdcdfrn0m5gvzzzd363pv78qqnadq"; + rev = "03040c762901ff3f77942b9cf2a78aa127ded1d4"; + sha256 = "1vik0vs85dny7kkaf6cwqahly8l5llkgzs6f2jcfrc90xdg6j3dz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/62459d16ee44d5fcf170c0ebc981ca2c7d4672f2/recipes/elfeed-web"; @@ -15720,12 +16552,12 @@ elhome = callPackage ({ fetchFromGitHub, fetchurl, initsplit, lib, melpaBuild }: melpaBuild { pname = "elhome"; - version = "20131202.1108"; + version = "20161025.1342"; src = fetchFromGitHub { owner = "demyanrogozhin"; repo = "elhome"; - rev = "af112592fbc41a625d1d17828db78357df23c127"; - sha256 = "0rdhnnyn0xsmnshnf289kxk974r57i6nx0vii1w36j6p6q0b7f9h"; + rev = "e789e806469af3e9705f72298683c21f6c3a516d"; + sha256 = "1q9glli1czbfp62aalblaak55j8rj2nl8bm8nifnnb8jrzj1qrn0"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/527cc08a3424f87fe2e99119b931530840ad07ba/recipes/elhome"; @@ -15741,16 +16573,16 @@ elisp-depend = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "elisp-depend"; - version = "20120428.1304"; + version = "20161230.750"; src = fetchFromGitHub { - owner = "tehom"; + owner = "emacsorphanage"; repo = "elisp-depend"; - rev = "817ab94db56e3c23da6d7d4ae0422c48f260a7e3"; - sha256 = "1a73zdh4jkx8f74cq802b5j4bx8k1z7cbsp10lz40lmwwxbl3czq"; + rev = "e4b201ac7dcee4489d58800c299fd04aaa61d07a"; + sha256 = "0i1wpz6hr934x3lcr0y9x82dm7c1j477j14jqccn8q7d4cb1lfaj"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/0fda2b54a0ff0b6fc3bd6d20cfcbbf63cae5380f/recipes/elisp-depend"; - sha256 = "1x3acgkpd9a8xxjg5zjw0d4nv4q9xx30ipr6v3544mn16sv4ab7c"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/7ea159f0cc8c6e4b8483401a6e6687ab4ed73b7f/recipes/elisp-depend"; + sha256 = "0zpafwnm52g6v867f1ghfb492nnmm66imcwlhm5v9hhgwy3z17jm"; name = "elisp-depend"; }; packageRequires = []; @@ -15801,6 +16633,27 @@ license = lib.licenses.free; }; }) {}; + elisp-refs = callPackage ({ dash, f, fetchFromGitHub, fetchurl, lib, list-utils, loop, melpaBuild, s }: + melpaBuild { + pname = "elisp-refs"; + version = "20161205.444"; + src = fetchFromGitHub { + owner = "Wilfred"; + repo = "refs.el"; + rev = "6ef632c8922e01714a25c6e04fd5522be6e5ea26"; + sha256 = "00c9s60g7rl784q4slfaavqkjhj8j73pglflpjh8pvrgj77c4y6y"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/60891099e241ebd32d39bdcfe4953529a5a3263e/recipes/elisp-refs"; + sha256 = "16h7dccmzvmap3knnwhjq79wm82xm3whria70vq5msl2y252f6cx"; + name = "elisp-refs"; + }; + packageRequires = [ dash f list-utils loop s ]; + meta = { + homepage = "https://melpa.org/#/elisp-refs"; + license = lib.licenses.free; + }; + }) {}; elisp-sandbox = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "elisp-sandbox"; @@ -15829,8 +16682,8 @@ src = fetchFromGitHub { owner = "purcell"; repo = "elisp-slime-nav"; - rev = "0e96d9f1f0d334f09414b509d44d5c000b51f432"; - sha256 = "11vyy0bvzbs1h1kggikrvhd658j7c730w0pdp6qkm60rigvfi1ih"; + rev = "8a1c2717a6fb50b654b8d1ffa12a40420ee32990"; + sha256 = "1nn97aqfawygvwybr5d51y82az4pj774d6qmwsqfpx7yppd45hsd"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/elisp-slime-nav"; @@ -15846,12 +16699,12 @@ elixir-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info }: melpaBuild { pname = "elixir-mode"; - version = "20160718.2245"; + version = "20170102.942"; src = fetchFromGitHub { owner = "elixir-lang"; repo = "emacs-elixir"; - rev = "1d0404494c1543b0d1e4d410b77c7d5e3ecc8dac"; - sha256 = "0yhrmr4am949vsjq7jxc60vl0986p2wyklmhcjd4had4z1vzgz3i"; + rev = "384d8daf8ad563ebf2cb3437c71d30241adbe099"; + sha256 = "0idgfjwd6116zaag0lmq2i9by2mr054nrqmpnsvyhk26hw71k3vn"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6374ced0de38d83bf99147f702f30706615480ed/recipes/elixir-mode"; @@ -15888,12 +16741,12 @@ elm-mode = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild, s }: melpaBuild { pname = "elm-mode"; - version = "20160605.201"; + version = "20161210.49"; src = fetchFromGitHub { owner = "jcollard"; repo = "elm-mode"; - rev = "3112ff7964b596022de94c12b4676c6ca7a69c80"; - sha256 = "1n6gp3c4b3ryprw7hxd7447gkgjafxnlbfg75mjm96vfgxkb7abx"; + rev = "29f50a940113d793a21998f3bb414fdd9b0c5daa"; + sha256 = "02c7xl9w81140l7p9kywr5qwsdyv92nxdhzqcxjk0r09x7s0cvsk"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5d1a4d786b137f61ed3a1dd4ec236d0db120e571/recipes/elm-mode"; @@ -15930,12 +16783,12 @@ elmacro = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "elmacro"; - version = "20160224.931"; + version = "20161004.5"; src = fetchFromGitHub { owner = "Silex"; repo = "elmacro"; - rev = "d4a54dc41bd15e2acb6edb12f9b4f8bdad784478"; - sha256 = "085ab50q3jdy3vh22lz2p5ivcjlhfki3zzfsp1n0939myw6vqcsm"; + rev = "d9703c73ca37fa07f6cea003efcb0974db1f7776"; + sha256 = "0rc97dpdb2y418msw1z1nry6swffqdi4q806f4klfv1qr6rn2vwd"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/566cc5bc0f71c5a4191ad93b917dc268f6e1a2da/recipes/elmacro"; @@ -16060,8 +16913,8 @@ src = fetchFromGitHub { owner = "purcell"; repo = "elpa-audit"; - rev = "1ca4e6073f8c4cbb41688b69d3b3feaa1a392efc"; - sha256 = "1dadf24x6v1vk57bp6w0g2dysigy5cqjzwldc8dn129f4pfrhipy"; + rev = "727da50e626977351aff2675b6540a36818bbbe6"; + sha256 = "0wlhdzsrlj266jfvp925zrgzg2mxfba93klgky0hc8zialmmb50b"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c351c97e5b2c0595c82d65a7075176f9ebe44638/recipes/elpa-audit"; @@ -16077,12 +16930,12 @@ elpa-clone = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "elpa-clone"; - version = "20160724.719"; + version = "20161222.1009"; src = fetchFromGitHub { owner = "dochang"; repo = "elpa-clone"; - rev = "77e45f3ac7de504ff65e17dfd52bfde7bdfc78f2"; - sha256 = "09q54j0n52493smhdrngn2isnifvy0x3s6vlicllkm8qykr06z9v"; + rev = "8d0827b03b08eb4844e2b8465c27d5aa0e12101d"; + sha256 = "1ik2k6ngzg3znfp4a36f7m5ca6p3iivfb7w280w3gm5x1ja8as2a"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/11861edd9c7f9deebd44fd1f8ef648e7a04caf2b/recipes/elpa-clone"; @@ -16098,12 +16951,12 @@ elpa-mirror = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "elpa-mirror"; - version = "20160511.2204"; + version = "20160917.10"; src = fetchFromGitHub { owner = "redguardtoo"; repo = "elpa-mirror"; - rev = "d735bfaa848d93abde5848673f6bf8e50aaf8530"; - sha256 = "1l1wnnmz62crr2gzpf0gzqp2pwmd50xp9knpswwz7l482gvfbzl7"; + rev = "dcadffd331ac70c59e1960d34b7f998302c616d6"; + sha256 = "08dz6zy9fqj7qd1g1igvr28q2znrd5pwxxqjlrkzs994ypfj1vzq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d64ce7042c45f29fb394be25ce415912182bac8b/recipes/elpa-mirror"; @@ -16116,19 +16969,19 @@ license = lib.licenses.free; }; }) {}; - elpy = callPackage ({ company, fetchFromGitHub, fetchurl, find-file-in-project, highlight-indentation, lib, melpaBuild, pyvenv, yasnippet }: + elpy = callPackage ({ company, fetchFromGitHub, fetchurl, find-file-in-project, highlight-indentation, lib, melpaBuild, pyvenv, s, yasnippet }: melpaBuild { pname = "elpy"; - version = "20160613.1005"; + version = "20161229.1103"; src = fetchFromGitHub { owner = "jorgenschaefer"; repo = "elpy"; - rev = "c0a92332bb0c0e784d226c1fe3ade9d8b924ddbb"; - sha256 = "1f7qrks9ldq247ibih8qdp377fhzl5mlx2z5qm4wk53wydp643nm"; + rev = "d93ad53fb55c1ff2cbbafcc8c85bddc30484bc80"; + sha256 = "1ii3p81hn84f155mywz906pnjkp5qca501qrplh96c5d0xkzz14l"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/a36daf2b034653cd73ee2db2bc30df2a5be6f3d1/recipes/elpy"; - sha256 = "0n802bh7jj9zgz84xjrxvy33jl6s3hj5dqxafyfr87fank97hb6d"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/1d8fcd8745bb15402c9f3b6f4573ea151415237a/recipes/elpy"; + sha256 = "1ri3dwnkw005plj1g5grmmq9np41sqk4s2v18pwsvr18ysnq6nnr"; name = "elpy"; }; packageRequires = [ @@ -16136,6 +16989,7 @@ find-file-in-project highlight-indentation pyvenv + s yasnippet ]; meta = { @@ -16185,6 +17039,27 @@ license = lib.licenses.free; }; }) {}; + elscreen-fr = callPackage ({ elscreen, fetchFromGitHub, fetchurl, lib, melpaBuild, seq }: + melpaBuild { + pname = "elscreen-fr"; + version = "20160920.253"; + src = fetchFromGitHub { + owner = "rocher"; + repo = "elscreen-fr"; + rev = "b9c11f80d277086d5d5bf88623e15fc7adbbbe3c"; + sha256 = "1dz8jqd2agh06hya59vbybrmgyhyz2rk6c9panrm49w37v0bwksb"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/18730986df5eb9816eec7ad479abe1e338d3c66f/recipes/elscreen-fr"; + sha256 = "1kmga1zz9mb3hxd2sxja2vz45pix5a52yl0g9z4vmak32x9rgqrm"; + name = "elscreen-fr"; + }; + packageRequires = [ elscreen seq ]; + meta = { + homepage = "https://melpa.org/#/elscreen-fr"; + license = lib.licenses.free; + }; + }) {}; elscreen-mew = callPackage ({ elscreen, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "elscreen-mew"; @@ -16251,12 +17126,12 @@ elscreen-separate-buffer-list = callPackage ({ elscreen, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "elscreen-separate-buffer-list"; - version = "20150521.2345"; + version = "20161106.1958"; src = fetchFromGitHub { owner = "wamei"; repo = "elscreen-separate-buffer-list"; - rev = "1aa66cdbf2b1dc87689725aef004a29bb79dd0f9"; - sha256 = "1w34nnl4zalxzmyfbc81qd82m7qp3zvz608dx6hfi44pjz0dp36f"; + rev = "7652d827aa1b8c1b04303c5b4b0bda5e8f85565e"; + sha256 = "1cpmpms3r9lywmxgciz4xq7vjw2c1mxmpd89shssqck16563zwxf"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9f5e5c8e2cd45a25e47c74bef59b9114aa7685eb/recipes/elscreen-separate-buffer-list"; @@ -16293,12 +17168,12 @@ elx = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "elx"; - version = "20160523.528"; + version = "20161104.1831"; src = fetchFromGitHub { owner = "tarsius"; repo = "elx"; - rev = "0f80390bcf2a1dd9a3ba609e92f50a4a3463036e"; - sha256 = "07k8kq444ki7pxbz3vnrwqgycm9hfcdxgsnvf7qihqvzs2y1qm3d"; + rev = "84c9cd5721be9594de743330e7abcec092d2838c"; + sha256 = "0z2xgy8n3gwh71129pk53nrm13h2x51n61vz7xjqmhm6c11vgrq4"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/91430562ecea439af020e96405ec3f21d768cf9f/recipes/elx"; @@ -16356,12 +17231,12 @@ emacsc = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "emacsc"; - version = "20150807.257"; + version = "20161028.1006"; src = fetchFromGitHub { owner = "knu"; repo = "emacsc"; - rev = "02325c640232ee184314eb58d0051f365f7f085c"; - sha256 = "1rqr08gj07hw37mqd0flmq4a10wn16vy7wg0msqq0ab2smwjhns7"; + rev = "421e0c567358769e32f670ae8e949d99abae0c28"; + sha256 = "0zmb1qdbdlrycari1r1g65c9px357wz4f2gvmcacg83504mmf3d8"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/acc9b816796b9f142c53f90593952b43c962d2d8/recipes/emacsc"; @@ -16398,12 +17273,12 @@ emacsql = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, finalize, lib, melpaBuild }: melpaBuild { pname = "emacsql"; - version = "20160824.1308"; + version = "20161102.1605"; src = fetchFromGitHub { owner = "skeeto"; repo = "emacsql"; - rev = "3176aeee6140e464e1cede60e05b6523d1e38a23"; - sha256 = "13065qyd6p8g3hx56524wv23yddl94g666rrah2y4y872jzdbdn2"; + rev = "c93f52159fc5117f2ba1fbdc16876ae4d8edf12b"; + sha256 = "0z9pw9fgaiqb0dcz908qfrsdc3px8biiylsrmfi9bgi7kmc3z674"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9cc47c05fb0d282531c9560252090586e9f6196e/recipes/emacsql"; @@ -16423,8 +17298,8 @@ src = fetchFromGitHub { owner = "skeeto"; repo = "emacsql"; - rev = "3176aeee6140e464e1cede60e05b6523d1e38a23"; - sha256 = "13065qyd6p8g3hx56524wv23yddl94g666rrah2y4y872jzdbdn2"; + rev = "c93f52159fc5117f2ba1fbdc16876ae4d8edf12b"; + sha256 = "0z9pw9fgaiqb0dcz908qfrsdc3px8biiylsrmfi9bgi7kmc3z674"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9cc47c05fb0d282531c9560252090586e9f6196e/recipes/emacsql-mysql"; @@ -16444,8 +17319,8 @@ src = fetchFromGitHub { owner = "skeeto"; repo = "emacsql"; - rev = "3176aeee6140e464e1cede60e05b6523d1e38a23"; - sha256 = "13065qyd6p8g3hx56524wv23yddl94g666rrah2y4y872jzdbdn2"; + rev = "c93f52159fc5117f2ba1fbdc16876ae4d8edf12b"; + sha256 = "0z9pw9fgaiqb0dcz908qfrsdc3px8biiylsrmfi9bgi7kmc3z674"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9cc47c05fb0d282531c9560252090586e9f6196e/recipes/emacsql-psql"; @@ -16465,8 +17340,8 @@ src = fetchFromGitHub { owner = "skeeto"; repo = "emacsql"; - rev = "3176aeee6140e464e1cede60e05b6523d1e38a23"; - sha256 = "13065qyd6p8g3hx56524wv23yddl94g666rrah2y4y872jzdbdn2"; + rev = "c93f52159fc5117f2ba1fbdc16876ae4d8edf12b"; + sha256 = "0z9pw9fgaiqb0dcz908qfrsdc3px8biiylsrmfi9bgi7kmc3z674"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9cc47c05fb0d282531c9560252090586e9f6196e/recipes/emacsql-sqlite"; @@ -16482,12 +17357,12 @@ emacsshot = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "emacsshot"; - version = "20160822.756"; + version = "20161018.743"; src = fetchFromGitHub { owner = "marcowahl"; repo = "emacsshot"; - rev = "634f6cca9531c6a65dbea9267ca5b64a93ec543f"; - sha256 = "050csja2p1zzvh48dpa28lsnvdxxmdpi60pd7jx5cvkfjbic86c5"; + rev = "11ace77ab718292d05b82d93178380aff591468b"; + sha256 = "108zbpg51x2pljvizmdvlxsqyibbp8rinf7747asf6b7ahkxj97w"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/efdd85accc6053f92efcbfdb7ddc37b23a07a3b0/recipes/emacsshot"; @@ -16500,22 +17375,22 @@ license = lib.licenses.free; }; }) {}; - emamux = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + emamux = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "emamux"; - version = "20160602.653"; + version = "20161123.414"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-emamux"; - rev = "4e75121767001a587d01a71e61688d147a7c50c1"; - sha256 = "0jpyrh2qmhgp6wdf5jp3lr9shpj0mvsnfric8hqp0b5qda9hi2v8"; + rev = "e4611a4049d3180e35da6419cf01f15c8fe2575f"; + sha256 = "1gskns6fqgp575hvk3jxl8wjlrh3i6wq1s4lwbgx0m5qybgqa62q"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6de1ed3dfccb9f7e7b8586e8334af472a4988840/recipes/emamux"; sha256 = "1pg0gzi8rn0yafssrsiqdyj5dbfy984srq1r4dpp8p3bi3n0fkfz"; name = "emamux"; }; - packageRequires = [ cl-lib emacs ]; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/emamux"; license = lib.licenses.free; @@ -16542,15 +17417,36 @@ license = lib.licenses.free; }; }) {}; + emaps = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "emaps"; + version = "20160910.521"; + src = fetchFromGitHub { + owner = "GuiltyDolphin"; + repo = "emaps"; + rev = "728eb6eeae46194f32a01bafa349ece520bc7a10"; + sha256 = "1asl6wkibfcxmf1kwnppbh8qpa454ssyxrqfh2d5dna3gxaa2cqm"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/4faeda02aabc0b6c5003cdf5d1fdfca0fd71b0d7/recipes/emaps"; + sha256 = "151rh6lyqi0ps2w022shzjj67nkg6y4m1nfj90qyc7jgl64qb9qw"; + name = "emaps"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/emaps"; + license = lib.licenses.free; + }; + }) {}; ember-mode = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ember-mode"; - version = "20160609.539"; + version = "20161105.855"; src = fetchFromGitHub { owner = "madnificent"; repo = "ember-mode"; - rev = "9ad372808ded188b8741e7e6864f88e170232be1"; - sha256 = "0if1h4vcajkhjy56d5zili3i2bvgxhhkhhgf6l37bnnly243zr3q"; + rev = "3e45cf3e290ac422c1b9713f3e7db5c634bcdaf2"; + sha256 = "0g6xmqrjqzwl67ij05lwk72fdhm77p3b45jf7vc8xfn050nvn06l"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9ac1eef4ad87b1b6b6d8e63d340ba03dc013425b/recipes/ember-mode"; @@ -16587,12 +17483,12 @@ embrace = callPackage ({ cl-lib ? null, expand-region, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "embrace"; - version = "20160513.1913"; + version = "20161228.1948"; src = fetchFromGitHub { owner = "cute-jumper"; repo = "embrace.el"; - rev = "875601a077795e036b470bdacd292a97b075d8e7"; - sha256 = "07phgsc7lv9326gdjg23q0lzw45vcpx4biw93r10v0ln6bg21mz8"; + rev = "7e0cc702bc15915f4e4be4c334faa37dca94e749"; + sha256 = "0w746jbyfjd8z8ga5nlsipw02pcbi98wxfdw51zv088ml0647v6j"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e8f07e3b5ba4ec4b0b79fba5a2cca5a3986218b6/recipes/embrace"; @@ -16605,15 +17501,36 @@ license = lib.licenses.free; }; }) {}; + emlib = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "emlib"; + version = "20161126.723"; + src = fetchFromGitHub { + owner = "narendraj9"; + repo = "emlib"; + rev = "dea2af00f551ea580c641d86dd69219f7d4f3685"; + sha256 = "0p52pkq3wvnhg0l7cribhc39zl1cjjxgw9qzpmwd0jw1g1lslwbm"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/46b3738975c8082d9eb6da9fe733edb353aa7069/recipes/emlib"; + sha256 = "02l135v3pqpf6ngfq11h4rc843iwh3dgi4rr3gcc63pjl4ws2w2c"; + name = "emlib"; + }; + packageRequires = [ cl-lib dash ]; + meta = { + homepage = "https://melpa.org/#/emlib"; + license = lib.licenses.free; + }; + }) {}; emmet-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "emmet-mode"; - version = "20160501.1151"; + version = "20161113.2158"; src = fetchFromGitHub { owner = "smihica"; repo = "emmet-mode"; - rev = "3c2d5c3e86c317601cbf8d976c5611b8c73ac178"; - sha256 = "1dh43fhkaqljnh1517kf8h3rjqaygj6wdhcbsy7mzcac0jrbfsfc"; + rev = "5af39aaef59125fd80901f275c23c89493f9d133"; + sha256 = "1csfd8ixz9gk0hkakcs5qv4f3qxg605blav3a463ipw2a8alyava"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/emmet-mode"; @@ -16628,11 +17545,11 @@ }) {}; emms = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }: melpaBuild { pname = "emms"; - version = "20160801.1349"; + version = "20161222.1446"; src = fetchgit { url = "git://git.sv.gnu.org/emms.git"; - rev = "02c5183a484b12d529b0901a81604eb658bec8d3"; - sha256 = "02sl9nipa96bzn1adqsgp1nrb20iawscr8kajyhv0613r7igi177"; + rev = "dde22abffb7a47adfe2cf98e4505ac0048e0b5fd"; + sha256 = "1r7gkilgmk2gll1ps0z7n0i74wbg66jla9cf8fvppvajxmmng4gv"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/205eeed002b0848809a4c5f8ad99d925b48799ec/recipes/emms"; @@ -16711,12 +17628,12 @@ emms-player-mpv = callPackage ({ emms, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "emms-player-mpv"; - version = "20160724.729"; + version = "20161204.633"; src = fetchFromGitHub { owner = "dochang"; repo = "emms-player-mpv"; - rev = "d3e3bace6b648f5b60d833a72a50603545102934"; - sha256 = "1kmkza1x1xajdswdmvxasglpr8fl9vr1pi3yhi7a9cqqa5s1y2ah"; + rev = "ce142304d1fe6b096b9b984e40e55c8cc54217c1"; + sha256 = "1s8jmkcr11fp93hmyxq7c781lx7krc5xsk99ar0h50v2hpnmzgbb"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9679cb8d4b3b9dce1e0bff16647ea3f3e02c4189/recipes/emms-player-mpv"; @@ -16732,12 +17649,12 @@ emms-player-mpv-jp-radios = callPackage ({ cl-lib ? null, emacs, emms, emms-player-simple-mpv, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "emms-player-mpv-jp-radios"; - version = "20160717.638"; + version = "20161102.940"; src = fetchFromGitHub { owner = "momomo5717"; repo = "emms-player-mpv-jp-radios"; - rev = "61657c2dd79136f8787b45a0416a64459dae1b7e"; - sha256 = "04plvyy2ahjdd9q22fr8jhwfz0g55ccn67flnwfms3p05xc5vvzg"; + rev = "aa7e2af7f2a40ae9691d8d8183060c947f4ba55e"; + sha256 = "062s55qhznd04vas602zzgxba3wd9yvx489ww7qjssj4wqgkckb6"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/09ba6da5057061f055d4a3212d167f9666618d4f/recipes/emms-player-mpv-jp-radios"; @@ -16753,12 +17670,12 @@ emms-player-simple-mpv = callPackage ({ cl-lib ? null, emacs, emms, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "emms-player-simple-mpv"; - version = "20151020.601"; + version = "20160924.825"; src = fetchFromGitHub { owner = "momomo5717"; repo = "emms-player-simple-mpv"; - rev = "92be36ef158df3db3a2f9e2d0186a609fc2d3702"; - sha256 = "0ajxyv7yx4ni8dizs7acpsxnmy3c9s0dx28vw9y1ym0bxkgfyzrf"; + rev = "bcc056364df5f405716006a8b7bb90102a57f62f"; + sha256 = "0kz31qsn3nrpi8r31nlxlkkkah0qcdkq9a9i9ypv4ky7pvnzx6m5"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f4eaa866ba6b0ad2b590fb15c30f81b9fdbef6dd/recipes/emms-player-simple-mpv"; @@ -16862,8 +17779,8 @@ src = fetchFromGitHub { owner = "zonuexe"; repo = "emoji-fontset.el"; - rev = "e460c9a08e48ec4103e38a7a04acae20880149a9"; - sha256 = "0xdlqsrwdf0smi5z9rjj46nwrrfpl0gzanf0jmdg8zzn62l6ldck"; + rev = "10be897fa5165fd40fd35a89e38c759e008fa775"; + sha256 = "1aanl5dd2m8jlyq27ymhc6l9i00cpi30wwhpaf67dlvk9gk89f64"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/60df435eb82fcc9a8a02a0a271bb6a2d5a161bc4/recipes/emoji-fontset"; @@ -16900,12 +17817,12 @@ emojify = callPackage ({ emacs, fetchFromGitHub, fetchurl, ht, lib, melpaBuild, seq }: melpaBuild { pname = "emojify"; - version = "20160805.918"; + version = "20161124.940"; src = fetchFromGitHub { owner = "iqbalansari"; repo = "emacs-emojify"; - rev = "2b5dde50a0f74a92d5c87ebf349351b871e483c4"; - sha256 = "144bmpvx62xm0j0ddbjn15n1rn55ilwj03cfyxw0s8xpx47jdgvc"; + rev = "62609316f269bed9e6775f9614783789a79268e7"; + sha256 = "04wwi7f6cma1s0nhw2k756k3x3sjsc5s7iq1q6zlq4wmz08czg6v"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/488d2751b5fd3bf00f5a6f0545530f44563b86d7/recipes/emojify"; @@ -16942,12 +17859,12 @@ emr = callPackage ({ cl-lib ? null, clang-format, dash, emacs, fetchFromGitHub, fetchurl, iedit, lib, list-utils, melpaBuild, paredit, popup, projectile, redshank, s }: melpaBuild { pname = "emr"; - version = "20160613.1430"; + version = "20161207.1229"; src = fetchFromGitHub { owner = "chrisbarrett"; repo = "emacs-refactor"; - rev = "27f324c5da2f7c5a13f1f5e970606cf45f24199f"; - sha256 = "10pbs3wk40ahskz63gfjkqrsj86fy363w50bzlm5ipa82plwgic0"; + rev = "483877f912944ff0e4a51362548c3528c4df068c"; + sha256 = "0i426ri2fk2wijk4k95yiqbky4as9w4gpw264rrh14y43fx0ncyj"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2cd2ebec5bd6465bffed284130e1d534f52169a9/recipes/emr"; @@ -17017,12 +17934,12 @@ engine-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "engine-mode"; - version = "20150902.1035"; + version = "20161104.650"; src = fetchFromGitHub { owner = "hrs"; repo = "engine-mode"; - rev = "244610231f48af10e9cd0931827543e1fcdb3f32"; - sha256 = "066pxfv4rpxgi7jxdyc0a3g5z9m1j66sbi5gh2l7m4rwhzkqchn9"; + rev = "9a1271b0051b9c939a63fa395cda2b5b64c5f36b"; + sha256 = "1nvf7anv2yplfhs4xbvrxdgd3mb41mzv4y1119lrqfvhsfd07ii5"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ea1b5dfb6628cf17e77369f25341835aad425f54/recipes/engine-mode"; @@ -17122,12 +18039,12 @@ ensime = callPackage ({ company, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, popup, s, sbt-mode, scala-mode, yasnippet }: melpaBuild { pname = "ensime"; - version = "20160828.1225"; + version = "20161227.301"; src = fetchFromGitHub { owner = "ensime"; repo = "ensime-emacs"; - rev = "a32b758ee6933597dd723694f560cefd7acd1849"; - sha256 = "1xf18wkqwb4ic2dd8594iqs03c5fxa9zr5x1mclv4ffb1ibk63g1"; + rev = "42598cab15985e6fc5e95989b0c73e2259cdadf5"; + sha256 = "1k8nfxfd4y3r1y293r6sqlk4wq59rdvpbhsdvr3j0mx0a9yzdxdm"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/502faab70af713f50dd8952be4f7a5131075e78e/recipes/ensime"; @@ -17172,12 +18089,12 @@ eopengrok = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, magit, melpaBuild, s }: melpaBuild { pname = "eopengrok"; - version = "20160213.2347"; + version = "20160903.2359"; src = fetchFromGitHub { owner = "youngker"; repo = "eopengrok.el"; - rev = "0bf07c636f8d29a98e9776243ec9496875ddff51"; - sha256 = "0pmawjfyihqygqz7y0nvyrs6jcvckqzkq9k6z6yanpvkd2x5g13x"; + rev = "78f734328aaf19c52720415c037708ece1944c4c"; + sha256 = "1c5kzq3h7gr0459z364dyq5m8vq0ydclw5wphqj9fyg28mxjj6ns"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2b87ea158a6fdbc6b4e40fd7c0f6814d135f8545/recipes/eopengrok"; @@ -17232,19 +18149,19 @@ license = lib.licenses.free; }; }) {}; - epkg = callPackage ({ closql, dash, emacs, fetchFromGitLab, fetchurl, lib, melpaBuild }: + epkg = callPackage ({ closql, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "epkg"; - version = "20160515.809"; - src = fetchFromGitLab { - owner = "tarsius"; + version = "20161231.850"; + src = fetchFromGitHub { + owner = "emacscollective"; repo = "epkg"; - rev = "17553458c01563170be9c74db37bcc359a4702d4"; - sha256 = "18am0nc2kjxbnkls7dl9j47cynwiiafx8w6rqa4d9dyx7khl2rmp"; + rev = "6e1d989fbfa357a7c268ea30fe8b3e3cefafc36d"; + sha256 = "0avlmqcbm07692ir5z04gy4klhyan3h25ni4l4k4p0dszjsqmdi0"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/c97468a71910ba6709792c060c1fb714004e24da/recipes/epkg"; - sha256 = "0vc1g29rfmgd2ks4lbz4599rbgcax7rgdva53ahhvp6say8fy22q"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/2df16abf56e53d4a1cc267a78797419520ff8a1c/recipes/epkg"; + sha256 = "0vvkjjaffvwvsvld3c6hwd18icmp2lc7f9yqvclifpadi98dhpww"; name = "epkg"; }; packageRequires = [ closql dash emacs ]; @@ -17277,12 +18194,12 @@ epm = callPackage ({ emacs, epl, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "epm"; - version = "20160628.4"; + version = "20161027.34"; src = fetchFromGitHub { owner = "xuchunyang"; repo = "epm"; - rev = "82e342af7be59aa94bb0fb0e2a29a98c65cf2ef7"; - sha256 = "06fyndwgkmylhan81rpnv8h729p70iqrmxgbmsdm5fjrdgzzs3a6"; + rev = "ab3d194fc4d11520d6b9bce4746d7242f3f1606a"; + sha256 = "0a2197dyc4rgssqwi2bgd6cg1g23pirjpvyq9b77n1nl8jghp0sw"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e12e8ae2e8e8aff7cbd75a951dd328cb9ccf58b0/recipes/epm"; @@ -17379,22 +18296,22 @@ license = lib.licenses.free; }; }) {}; - erc-crypt = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + erc-crypt = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "erc-crypt"; - version = "20160323.1839"; + version = "20161228.739"; src = fetchFromGitHub { owner = "atomontage"; repo = "erc-crypt"; - rev = "e0c9951aae52b54d766c666214b25a64ede116a4"; - sha256 = "0yiv16k0b2399asghc7qv9c9pj6ih0rwc863dskr2isnpl39amra"; + rev = "731f9264a5bf08a8fc0b5ce69e72058c86f873a5"; + sha256 = "13jpq5ws5dm8fyjrskk4icxwz8k5wgh396cc8f8wxrjna4wb843w"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a1a71b46c0370d2ed25aa3f39983048a04576ad5/recipes/erc-crypt"; sha256 = "1mzzqcxjnll4d9r9n5z80zfb3ywkd8jx6b49g02vwf1iak9h7hv3"; name = "erc-crypt"; }; - packageRequires = []; + packageRequires = [ cl-lib ]; meta = { homepage = "https://melpa.org/#/erc-crypt"; license = lib.licenses.free; @@ -17403,11 +18320,11 @@ erc-hipchatify = callPackage ({ alert, emacs, fetchhg, fetchurl, lib, melpaBuild, request, s }: melpaBuild { pname = "erc-hipchatify"; - version = "20160504.1145"; + version = "20160909.1503"; src = fetchhg { url = "https://bitbucket.com/seanfarley/erc-hipchatify"; - rev = "b237cf8118fd"; - sha256 = "11a64rvhd88val6vg9l1d5j3zdjd0bbbwcqilj0wp6rbn57xy0w8"; + rev = "dbb74dd91c5a"; + sha256 = "0m72jwgp9zqm1aphg7xm3pzj2xvavqfpdx66lny8pvfv8lph93lj"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b60e01e7064ce486fdac3d1b39fd4a1296b0dac5/recipes/erc-hipchatify"; @@ -17651,6 +18568,27 @@ license = lib.licenses.free; }; }) {}; + ereader = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s, xml-plus }: + melpaBuild { + pname = "ereader"; + version = "20161119.652"; + src = fetchFromGitHub { + owner = "bddean"; + repo = "emacs-ereader"; + rev = "57fc9c3f1ab9cfb2d6b5f20731ff7f63ee3daaa4"; + sha256 = "0hd949g9al3lifbpy36z4v9ia61zbjvj05kpb3min642m1a5361i"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/5a3feaacdfcddb862cd3101b33777d9c19dfd125/recipes/ereader"; + sha256 = "10dhy4d8kwi983fx0klvpvwlwrwrnx1h4x32j2zzlg5rvig016li"; + name = "ereader"; + }; + packageRequires = [ dash emacs s xml-plus ]; + meta = { + homepage = "https://melpa.org/#/ereader"; + license = lib.licenses.free; + }; + }) {}; eredis = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "eredis"; @@ -17693,22 +18631,22 @@ license = lib.licenses.free; }; }) {}; - ergoemacs-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + ergoemacs-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, undo-tree }: melpaBuild { pname = "ergoemacs-mode"; - version = "20160720.1613"; + version = "20161206.1258"; src = fetchFromGitHub { owner = "ergoemacs"; repo = "ergoemacs-mode"; - rev = "6bb3eb24c8a7e881024d6d0becb01c84c37c95f0"; - sha256 = "0pnv4q30aab18c65vqrd16dbvl9mfkni13zfcm4sgabpmhgh7r8h"; + rev = "d5d7e5b6a5537cdcfcc79efd43bbde138fc7863c"; + sha256 = "1jj7pgcbspallki9in4dn2d0wzis873r89y5kniycnydqfzadpjs"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/02920517987c7fc698de9952cbb09dfd41517c40/recipes/ergoemacs-mode"; sha256 = "0h99m0n3q41lw5fm33pc1405lrxyc8rzghnc6c7j4a6gr1d82s62"; name = "ergoemacs-mode"; }; - packageRequires = []; + packageRequires = [ cl-lib emacs undo-tree ]; meta = { homepage = "https://melpa.org/#/ergoemacs-mode"; license = lib.licenses.free; @@ -17738,16 +18676,16 @@ erlang = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "erlang"; - version = "20160824.510"; + version = "20161129.304"; src = fetchFromGitHub { owner = "erlang"; repo = "otp"; - rev = "7b5bc80b74c488fb056fc37d687b8acb29fb331a"; - sha256 = "151yrjxdvkdhdc2bg496iirm2pfd82va1dc3s41x1i4c88lz89k8"; + rev = "9cb4770469218f65dbaec6c71d12b4aa722ac791"; + sha256 = "1jnaabp5zrvm6qymy4fg3rxbd78xy44x1qnxcdvmqk0dliaqlzn3"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/04867a574773e8794335a2664d4f5e8b243f3ec9/recipes/erlang"; - sha256 = "1gmrdkfanivb9l5lmkl0853snlhl62w34537r82w11z2fbk9lxhc"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/d9cd526f43981e0826af59cdc4bb702f644781d9/recipes/erlang"; + sha256 = "1cs768xxbyrr78ln50k4yknmpbcc1iplws3k07r0gx5f3ca73iaq"; name = "erlang"; }; packageRequires = []; @@ -17756,6 +18694,27 @@ license = lib.licenses.free; }; }) {}; + eros = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "eros"; + version = "20161221.826"; + src = fetchFromGitHub { + owner = "xiongtx"; + repo = "eros"; + rev = "a42e45c9b2397156c684330b0fc90ee0eba773f5"; + sha256 = "0whlsq90v13fz69k3wjrwcwb9gkpfxqjd75mg3nrp85j9nwhb5i4"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/ee5807cfb3973348b901142b317e1c7edc3b38db/recipes/eros"; + sha256 = "0xry221mj1achsyc8mkmipza2zn2xmsx96fqznf6mqvx4s271nvs"; + name = "eros"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/eros"; + license = lib.licenses.free; + }; + }) {}; ert-async = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ert-async"; @@ -17798,11 +18757,11 @@ ert-junit = callPackage ({ ert ? null, fetchgit, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ert-junit"; - version = "20140830.1521"; + version = "20161018.1217"; src = fetchgit { url = "https://bitbucket.org/olanilsson/ert-junit"; - rev = "aaffe0bba23fe7271741779ff642b7b0deadf22f"; - sha256 = "0klccgh38y9q1kc2kyahbhwh0x8gjlxmx692rwaf9gp0g7ddpyl3"; + rev = "e1d7b795176dceae40adb15c28717276c00269e4"; + sha256 = "0d6ab0f22sing9cimpc86yydvyzb3z3s36372x082pg62ilrj0pi"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/27c627eacab54896a1363dbabc56250a65343dd8/recipes/ert-junit"; @@ -17839,12 +18798,12 @@ ert-runner = callPackage ({ ansi, commander, dash, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s, shut-up }: melpaBuild { pname = "ert-runner"; - version = "20160815.1309"; + version = "20161027.159"; src = fetchFromGitHub { owner = "rejeep"; repo = "ert-runner.el"; - rev = "b4ebafe62d0593adec38a3845af6b5499df4ab39"; - sha256 = "0babcbyarqxfqka5dl91zz58wyz1j7xfc8wy0r9818lwj15nr422"; + rev = "10628b8b90294077174f78e7b75e548f2a4b6f78"; + sha256 = "0qq7yml7zlbgvfsdiai8qbvlalh42dghm2ahv9ql9xif3sqjcjiw"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0a1acc68f296e80b6ed99a1783e9f67be54ffac9/recipes/ert-runner"; @@ -17881,12 +18840,12 @@ es-mode = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, spark }: melpaBuild { pname = "es-mode"; - version = "20160822.927"; + version = "20161103.1024"; src = fetchFromGitHub { owner = "dakrone"; repo = "es-mode"; - rev = "58782fb516a4fcf94d7347c4bf9a166679e62e49"; - sha256 = "0jllwx3fc5dlv83s3sn8s1afj26ijgym5qzqbagwh2rgajxmh7w8"; + rev = "673506ec3d9eedc06f1e9f2953ac2720bf66f992"; + sha256 = "07r7zr38hqv0njc8zwdqmslh422kwahri2s7gp56abfk6wc0ndkm"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/85445b59329bfd81a3fd913d7d6fe7784c31744c/recipes/es-mode"; @@ -18067,22 +19026,22 @@ license = lib.licenses.free; }; }) {}; - eshell-git-prompt = callPackage ({ cl-lib ? null, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: + eshell-git-prompt = callPackage ({ cl-lib ? null, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "eshell-git-prompt"; - version = "20160509.138"; + version = "20161126.758"; src = fetchFromGitHub { owner = "xuchunyang"; repo = "eshell-git-prompt"; - rev = "826d2ebdec0808493955a4544dc91b575f6c4ecf"; - sha256 = "00gaq8vz8vnhh0j2i66mp763hm3dfxkxz3j782nsfml81sngkww0"; + rev = "fb56e851c1baac68249c34043bd5db9c9420141e"; + sha256 = "08mhjps17w3kfmmbdws1lqzphr2ayl160i0ckd4552jdyzd28vvs"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5272280b19579c302ba41b53c77e42bc5e8ccbda/recipes/eshell-git-prompt"; sha256 = "0a8pyppqvnavvb8rwsjxagb76hra9zhs5gwa0ylyznmql83f8w8s"; name = "eshell-git-prompt"; }; - packageRequires = [ cl-lib dash emacs s ]; + packageRequires = [ cl-lib dash emacs ]; meta = { homepage = "https://melpa.org/#/eshell-git-prompt"; license = lib.licenses.free; @@ -18091,12 +19050,12 @@ eshell-prompt-extras = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "eshell-prompt-extras"; - version = "20160801.2006"; + version = "20160926.1723"; src = fetchFromGitHub { owner = "hiddenlotus"; repo = "eshell-prompt-extras"; - rev = "7a5af38b1b891d831b8317f0f24f179544628730"; - sha256 = "1gcvsxxvad0kj3m638jmfc2mjza5v69yq89ffl7llpqkicrnxrxq"; + rev = "9825db1b9326e106f821364ae01ec9c7dbdf6d18"; + sha256 = "1zijgwqm9j25ayiy4p5gl3xsrgv10l85j2p317i8bx9hn3v9rk5a"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/eshell-prompt-extras"; @@ -18109,15 +19068,36 @@ license = lib.licenses.free; }; }) {}; + eshell-up = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "eshell-up"; + version = "20161120.1117"; + src = fetchFromGitHub { + owner = "peterwvj"; + repo = "eshell-up"; + rev = "e763b4c0bcd70252396d7825cb53bf00e60a547e"; + sha256 = "00ckk2x9k8ksjlw54sajcg13m6c9hp3m6n71awqbm9z17prnkzl1"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/4d033b20d047db8ddd42bdfa2fcf190de559f706/recipes/eshell-up"; + sha256 = "0v26dqaszdg57brg8sls9ddmfwxzf98wkp471q1cqw75ss4999jd"; + name = "eshell-up"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/eshell-up"; + license = lib.licenses.free; + }; + }) {}; eshell-z = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "eshell-z"; - version = "20151110.2046"; + version = "20161206.2249"; src = fetchFromGitHub { owner = "xuchunyang"; repo = "eshell-z"; - rev = "5a1317a58d9761c200d0ad49dc4793dec9f9490f"; - sha256 = "0znk2wmvk7b5mi727cawbddvzx74dlm1lwsxgkiylx2qp299ark0"; + rev = "033924f138f19f22a30c1845e728691e5615fa38"; + sha256 = "0kp9yw56l8bl4zqganclnpf6x5g2rmcf23265n8cp24j6d7c7r4h"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8079cecaa59ad2ef22812960838123effc46a9b3/recipes/eshell-z"; @@ -18175,12 +19155,12 @@ espuds = callPackage ({ dash, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "espuds"; - version = "20151114.759"; + version = "20160905.600"; src = fetchFromGitHub { owner = "ecukes"; repo = "espuds"; - rev = "1405972873339e056517217136de4ad3202d744a"; - sha256 = "16r4j27j9yfdiy841w9q5ykkc6n3wrm7hvfacagb32mydk821ijg"; + rev = "ef854367d469c6eff459d24a544addd21a4fbd23"; + sha256 = "024msmnwlnsgqa523s3phxj1g77pyw917gz1fhz56062576nv22q"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/14cf66e6929db2a0f377612e786aaed9eb12b799/recipes/espuds"; @@ -18238,12 +19218,12 @@ ess = callPackage ({ fetchFromGitHub, fetchurl, julia-mode, lib, melpaBuild }: melpaBuild { pname = "ess"; - version = "20160829.349"; + version = "20161223.108"; src = fetchFromGitHub { owner = "emacs-ess"; repo = "ESS"; - rev = "fc81449c8a3bf95f2cf063e1d2f377d4e73124ee"; - sha256 = "0airlgpzrlbvzj8p1ppx2qz1r1slxgdzw35zr1b32k9kkfbmc5n7"; + rev = "ce8b83a6ddd930c74d84b564d55bfcc22b455007"; + sha256 = "0fbd1l2vnrlx8zkyqwy2hkdp3h31qnxrc8djl2b3w11n6xkhgar9"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/12997b9e2407d782b3d2fcd2843f7c8b22442c0a/recipes/ess"; @@ -18406,12 +19386,12 @@ etable = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, interval-list, lib, melpaBuild }: melpaBuild { pname = "etable"; - version = "20150327.1016"; + version = "20161028.1309"; src = fetchFromGitHub { owner = "Fuco1"; repo = "ETable"; - rev = "8c9a32a92e7f808874c150c851f1605b2dd83d6e"; - sha256 = "1k361bbwd9z17qlycymb1x7scidvgvrh9bdp06rhwfh9j3slrbxy"; + rev = "d502141f0c69bf95256ba5cb9cd15350c7e942d2"; + sha256 = "0k0g58qzkkzall715k0864v3b7p5jnfwxqgmkj087x34frcf388k"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/afee0fed80f4fa444116b12653c034d760f5f1fb/recipes/etable"; @@ -18484,12 +19464,12 @@ euslisp-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "euslisp-mode"; - version = "20160524.747"; + version = "20161226.840"; src = fetchFromGitHub { owner = "iory"; repo = "euslisp-mode"; - rev = "e42a512f5bf204ac9c149a8dfbe9abdfe24c9bc2"; - sha256 = "1zrf652ipy701s6n5k1aga0l97ws66imhk7dj6ii9qf4587byy7z"; + rev = "cbbb60cf7d301c19906678bae933060af21c1a86"; + sha256 = "0xz4asnwg52f02jmyz2flmkl748isacvjylfwi23xdcxqiab454a"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b09a7c4b73203d75c5260f1d08845236cbbeae46/recipes/euslisp-mode"; @@ -18526,12 +19506,12 @@ eval-in-repl = callPackage ({ ace-window, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, paredit }: melpaBuild { pname = "eval-in-repl"; - version = "20160418.1843"; + version = "20161224.1932"; src = fetchFromGitHub { owner = "kaz-yos"; repo = "eval-in-repl"; - rev = "4ac77eb80f6df21f5a8621982bcafc71ac2ef7dd"; - sha256 = "07jlrngmnfp1jp30hx9vk42h065c74dz92b38sa18swzfmhwd4y5"; + rev = "674873139ebde439fbeecaf0fb217d54f470bc14"; + sha256 = "1fzsq6fkkrsxg6mimrnls0kn59rq7w332b94gg04j0khl61s1v1s"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0bee5fb7a7874dd20babd1de7f216c5bda3e0115/recipes/eval-in-repl"; @@ -18634,8 +19614,8 @@ src = fetchFromGitHub { owner = "syohex"; repo = "emacs-evil-anzu"; - rev = "a041db15bd6e2eb353b24f6f984f6c5ee618d460"; - sha256 = "0cnj91lwpmk4c8nf3xi80yvv6anvkg8h1kbzbp16glkgmy6jpmy8"; + rev = "183e42a7e4a47b1aa4dcc69e1cca87b48ffc6c5c"; + sha256 = "0fqz1545hyz6p76vgjlg09mqhfwhi8swrlkwx8q8i5vl2r14s9px"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/06b0609b56016d938b28d56d9eeb6305116b38af/recipes/evil-anzu"; @@ -18714,12 +19694,12 @@ evil-colemak-basics = callPackage ({ emacs, evil, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "evil-colemak-basics"; - version = "20160625.959"; + version = "20161117.1319"; src = fetchFromGitHub { owner = "wbolster"; repo = "evil-colemak-basics"; - rev = "77dc58134233a2e044d0a2d4a5abc46c28470850"; - sha256 = "1k7gmivs5dpk672hjxkkpjlxzxd69133rkdchrhjk95nz0sdzq0b"; + rev = "5e56117af85e89659e9565abefef24fab7b567e8"; + sha256 = "0r62rpgklsc24yj57w72jq9i1c54fr4ksy99siyvkginmcink7kz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/945417d19faf492fb678aee3ba692d14e7518d85/recipes/evil-colemak-basics"; @@ -18732,15 +19712,36 @@ license = lib.licenses.free; }; }) {}; + evil-colemak-minimal = callPackage ({ emacs, evil, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "evil-colemak-minimal"; + version = "20160922.226"; + src = fetchFromGitHub { + owner = "bmallred"; + repo = "evil-colemak-minimal"; + rev = "5f1db93959359d3efd57abb5a0d06e94dec92556"; + sha256 = "08dfmny7z03h6hbj21f344jv9kpzlzk31j5sd78w1c68mgx9hj6b"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/828c744062069027f19fe5f2f233179f9149dc16/recipes/evil-colemak-minimal"; + sha256 = "0qi5k17b9k227zz9binbrd22cwmlqxkay98by9yxcbyhl4hjhdyy"; + name = "evil-colemak-minimal"; + }; + packageRequires = [ emacs evil ]; + meta = { + homepage = "https://melpa.org/#/evil-colemak-minimal"; + license = lib.licenses.free; + }; + }) {}; evil-commentary = callPackage ({ evil, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "evil-commentary"; - version = "20160221.1230"; + version = "20161015.1251"; src = fetchFromGitHub { owner = "linktohack"; repo = "evil-commentary"; - rev = "6d9079894da0bdda8a317c03c90481b8754635c7"; - sha256 = "183fdg7rmnnbps0knnj2kmhf1hxk0q91wbqx1flhciq6wq4rilni"; + rev = "a5f2543cb2b90d73b86776f02b25ef16c505832e"; + sha256 = "1nslk5j55yqaczpbz7w8jirl6gbccb32w8g6bm7higvv8cjv7qsg"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/fe5b05152c919d49ddd920b1bd5ffc351141fa0d/recipes/evil-commentary"; @@ -18777,12 +19778,12 @@ evil-easymotion = callPackage ({ avy, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "evil-easymotion"; - version = "20160617.1840"; + version = "20161231.1310"; src = fetchFromGitHub { owner = "PythonNut"; repo = "evil-easymotion"; - rev = "8515834580f948021d0e9389f42c6e9f04ccb17a"; - sha256 = "09xvx3y6r04rbwq590cypi91zj3lga1ay95l2q71p2m2yanqgi50"; + rev = "88c0bf01b9e7199c98a6054a425a226790ad96df"; + sha256 = "1akbg5qhq64nbb3iqhpi0ffyc8sffqszjgglvhclbdwkxcbq3f12"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e67955ead0b9d69acab40d66d4e0b821229d635c/recipes/evil-easymotion"; @@ -18823,8 +19824,8 @@ src = fetchFromGitHub { owner = "cute-jumper"; repo = "evil-embrace.el"; - rev = "8b2083c514af143f6d2f5d1cb4272c5bfb7437a3"; - sha256 = "1cplq9s3fw8nadcipjrix46jfcjbgg3xhz6d226wcqgmg90aclfn"; + rev = "4379adea032b25e359d01a36301b4a5afdd0d1b7"; + sha256 = "0rj1ippc6yi560xalhd91r7a00lk3d0jk13w464myznkpnasfw3a"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d4886f068766514deab5673b4366d6bdd311e3b6/recipes/evil-embrace"; @@ -18865,8 +19866,8 @@ src = fetchFromGitHub { owner = "Dewdrops"; repo = "evil-exchange"; - rev = "6e80e2509bcc14d84ca04e3c463c04e4c999efa4"; - sha256 = "1ffhkl7ssfbngvgdjaxqdihi246lgcsgwqc5m8lil7s00xrj3gw2"; + rev = "8902966aec2709b7e680d13c362d74b7f89b909b"; + sha256 = "1jfjgh75ycm6i01zpnz8y1hp205w61rqbvargk3rp65c34j48dcd"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9b06397c032d24a8da4074ad97cdb30d0c468e20/recipes/evil-exchange"; @@ -18882,12 +19883,12 @@ evil-extra-operator = callPackage ({ evil, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "evil-extra-operator"; - version = "20160406.2322"; + version = "20161212.2003"; src = fetchFromGitHub { owner = "Dewdrops"; repo = "evil-extra-operator"; - rev = "96d611b557876caefbc64731ad2d0385edbb0c23"; - sha256 = "10vwyrg833imja3ak9fx0zackdjwlcncl7wm9dym3kjs6qf2rvv0"; + rev = "e16a9b36f9901254da9af8a73871061616410fc3"; + sha256 = "116srvfck3b244shxm9cmw3yvpprjgr840fvcv6jwwpfaphafxw4"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/fc0b157c3adf8a2899c4dd2ce98e8a81e4f403a3/recipes/evil-extra-operator"; @@ -18945,12 +19946,12 @@ evil-iedit-state = callPackage ({ evil, fetchFromGitHub, fetchurl, iedit, lib, melpaBuild }: melpaBuild { pname = "evil-iedit-state"; - version = "20160313.1156"; + version = "20160905.1908"; src = fetchFromGitHub { owner = "syl20bnr"; repo = "evil-iedit-state"; - rev = "eab7d5e3e7d25c4a852fedb6c0c7f50dd9e9bd7c"; - sha256 = "0r9gif2sgf84z8qniz6chr32av9g2i38rlyms81m8ssghf0j86ss"; + rev = "02ce7ea1414aa0f139b52f1b3350c2b7af74d0ba"; + sha256 = "0lf7ldd9i8r5f1x9jjd6mb7dr04xn87sd3sr6rqrwz925q0v0sib"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b0b6b7d09c023cfe34da65fa1eb8f3fdbe7b1290/recipes/evil-iedit-state"; @@ -19071,12 +20072,12 @@ evil-magit = callPackage ({ evil, fetchFromGitHub, fetchurl, lib, magit, melpaBuild }: melpaBuild { pname = "evil-magit"; - version = "20160728.751"; + version = "20161130.847"; src = fetchFromGitHub { owner = "justbur"; repo = "evil-magit"; - rev = "077354f8ebd5da76937bf8f5df5d484f8a0ccc62"; - sha256 = "05llzcdbg84x04a98b6r7d0m8631hk83hjq33hwd4n8ixp85dg20"; + rev = "9251065b73c5023fc21d56f5b94c505cb7bee52d"; + sha256 = "17jnqd73i680fpmghghadc4d4xlg39xfjx3ra8sll0h1xf4xkspi"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cfc6cc3581323c81d5f347895aaddfdc71001f22/recipes/evil-magit"; @@ -19110,22 +20111,22 @@ license = lib.licenses.free; }; }) {}; - evil-matchit = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + evil-matchit = callPackage ({ evil, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "evil-matchit"; - version = "20160827.527"; + version = "20161130.454"; src = fetchFromGitHub { owner = "redguardtoo"; repo = "evil-matchit"; - rev = "de6ce21e1e24b7a0370ca3a6ce83b529f772c8db"; - sha256 = "0dhk8ajn5b0y4qla4jak76zxqgiai9fcd1hpfh98pmsjy1jq5ll4"; + rev = "e9f77f7d6a14434a8ca3280d721b96c0984fa7eb"; + sha256 = "11mhgw0xa8kn73svgvzpmvvnkj2ja4mxs030vlzkh4scvlfa98dl"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/aeab4a998bffbc784e8fb23927d348540baf9951/recipes/evil-matchit"; sha256 = "01z69n20qs4gngd28ry4kn825cax5km9hn96i87yrvq7nfa64swq"; name = "evil-matchit"; }; - packageRequires = []; + packageRequires = [ evil ]; meta = { homepage = "https://melpa.org/#/evil-matchit"; license = lib.licenses.free; @@ -19134,12 +20135,12 @@ evil-mc = callPackage ({ cl-lib ? null, emacs, evil, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "evil-mc"; - version = "20160804.637"; + version = "20161229.1224"; src = fetchFromGitHub { owner = "gabesoft"; repo = "evil-mc"; - rev = "4a202ae581978e467c726b6bab2344a48d225bf4"; - sha256 = "18p90q9xxsnnakk4zc1lylwri0qpqhavabjbrn8yb740brwi59dj"; + rev = "c1b886acffa804c39b85909bbcb699fc1dbd03fe"; + sha256 = "0jj45m6s2hm36h5v2bwlxhnayrfwbs99zc1xvfd0kxkx9jz10fz6"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/96770d778a03ab012fb82a3a0122983db6f9b0c4/recipes/evil-mc"; @@ -19197,12 +20198,12 @@ evil-multiedit = callPackage ({ cl-lib ? null, emacs, evil, fetchFromGitHub, fetchurl, iedit, lib, melpaBuild }: melpaBuild { pname = "evil-multiedit"; - version = "20160602.1213"; + version = "20161010.1703"; src = fetchFromGitHub { owner = "hlissner"; repo = "evil-multiedit"; - rev = "04a7633ce4cd77617ea54cc5465293d013cc3c2b"; - sha256 = "171bq84dg86s33p73l6lji155c4as2dnjs7q3jyl8jhqsqf2cmyg"; + rev = "5f263a9388dd3593b5acefe9f523c819bd3b338f"; + sha256 = "0bsdyy5jw8adj26p85831n4f34d0sv4rrv9xlhjqkzx9gsr4h7d1"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/997f5a6999d1add57fae33ba8eb3e3bc60d7bb56/recipes/evil-multiedit"; @@ -19218,12 +20219,12 @@ evil-nerd-commenter = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "evil-nerd-commenter"; - version = "20160524.400"; + version = "20161031.409"; src = fetchFromGitHub { owner = "redguardtoo"; repo = "evil-nerd-commenter"; - rev = "8e126cda3d47f87f96d81b5abf76188d3b6316fe"; - sha256 = "05lv08gj0659j16jf8x1pif3b885vnj0qg3md7n827la9k94sfml"; + rev = "54c618aada776bfda0742819ff9e91845a91e095"; + sha256 = "04iyr6ys453pyfvif91qnhn6xyhl4z4cz2apj6vga61pa8lc70da"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a3e1ff69e7cc95a5b5d628524ad836833f4ee736/recipes/evil-nerd-commenter"; @@ -19257,6 +20258,27 @@ license = lib.licenses.free; }; }) {}; + evil-opener = callPackage ({ evil, fetchFromGitHub, fetchurl, lib, melpaBuild, opener }: + melpaBuild { + pname = "evil-opener"; + version = "20161207.1010"; + src = fetchFromGitHub { + owner = "0robustus1"; + repo = "opener.el"; + rev = "c384f67278046fdcd220275fdd212ab85672cbeb"; + sha256 = "0gci909a2rbx5i8dyzyrcddwdic7nvpk6y6djvn521yaag4sq87h"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/da8d4e5bf23985632f993336b9183fe9f480addc/recipes/evil-opener"; + sha256 = "08vcf9i0rplw2p6gjl7zzrc7kxdl5yv2rggj2ihgdnnfpc4sl33h"; + name = "evil-opener"; + }; + packageRequires = [ evil opener ]; + meta = { + homepage = "https://melpa.org/#/evil-opener"; + license = lib.licenses.free; + }; + }) {}; evil-org = callPackage ({ evil, evil-leader, fetchFromGitHub, fetchurl, lib, melpaBuild, org }: melpaBuild { pname = "evil-org"; @@ -19341,6 +20363,27 @@ license = lib.licenses.free; }; }) {}; + evil-replace-with-register = callPackage ({ evil, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "evil-replace-with-register"; + version = "20161127.2159"; + src = fetchFromGitHub { + owner = "Dewdrops"; + repo = "evil-ReplaceWithRegister"; + rev = "c979aa2f4d730d2a741358e357d18544edd46cd2"; + sha256 = "168qqbsjwblhrq92mw0v1f86d3q1m2f5rh37xikj1bk589c2izp9"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/b1bd98aebefc13da5a129d1d3f1c8878e4a70654/recipes/evil-replace-with-register"; + sha256 = "0qyym6vwjs0aqf2p28rh96v30pgxg060pxyij0vrfj469wzmlrj9"; + name = "evil-replace-with-register"; + }; + packageRequires = [ evil ]; + meta = { + homepage = "https://melpa.org/#/evil-replace-with-register"; + license = lib.licenses.free; + }; + }) {}; evil-rsi = callPackage ({ evil, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "evil-rsi"; @@ -19365,12 +20408,12 @@ evil-search-highlight-persist = callPackage ({ fetchFromGitHub, fetchurl, highlight, lib, melpaBuild }: melpaBuild { pname = "evil-search-highlight-persist"; - version = "20151215.238"; + version = "20160912.807"; src = fetchFromGitHub { owner = "juanjux"; repo = "evil-search-highlight-persist"; - rev = "0e2b3d4e3dec5f38ae95f62519eb2736f73c0b85"; - sha256 = "1jfi2k9dm0cc9bx8klppm965ydhdw17a2n664199vhxrap6g27yk"; + rev = "2f9ea9086373292610f50e5f468b55c3fe072bfc"; + sha256 = "04mf3zd424kfnswifrg3qlyi39f58ydnm7ahcd0zi168bv1d9r6j"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/91361f95852910968b395423e16377c70189fc55/recipes/evil-search-highlight-persist"; @@ -19386,12 +20429,12 @@ evil-smartparens = callPackage ({ emacs, evil, fetchFromGitHub, fetchurl, lib, melpaBuild, smartparens }: melpaBuild { pname = "evil-smartparens"; - version = "20160502.155"; + version = "20161010.322"; src = fetchFromGitHub { owner = "expez"; repo = "evil-smartparens"; - rev = "a415c03783cc44a9aaf30adbfed37d76c7cf9397"; - sha256 = "1jvyj2qc340vzw379ij9vkzfw5qningkv0n1mwzhzhb1dg8i1ciq"; + rev = "3bbb96c1064accee0715b039d09955ed5ca9851f"; + sha256 = "0c3zb0s6snsb0a312pgha760njvb6gpl25g8ywm5dzp03r99490d"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/850898fbfc8e0aeb779e8feae56476d989110e79/recipes/evil-smartparens"; @@ -19407,12 +20450,12 @@ evil-snipe = callPackage ({ cl-lib ? null, evil, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "evil-snipe"; - version = "20160815.608"; + version = "20161103.1020"; src = fetchFromGitHub { owner = "hlissner"; repo = "evil-snipe"; - rev = "f48a215eabefcd1e1d76814e166d59bd0cdecc79"; - sha256 = "1hgdx1rvmfgcy9i2ihpibd1iahpvn2g8g7zyzj9dz4rm8cg1w6ry"; + rev = "c3b9db1628192299cc3901ff21aec316bdbdb1b8"; + sha256 = "19s0d2c9d942zqi5pyav4srn0cn4yrdhd2dlds4pn7qxmvdkvyvb"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6748f3febbe2f098761e967b4dc67791186d0aa7/recipes/evil-snipe"; @@ -19449,12 +20492,12 @@ evil-surround = callPackage ({ evil, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "evil-surround"; - version = "20160501.1704"; + version = "20161029.606"; src = fetchFromGitHub { owner = "timcharper"; repo = "evil-surround"; - rev = "eda6b0d6ca856d66f32b2718887ff02ea5c94d16"; - sha256 = "0nqa5lqr2rplsinxh5nh1qkyl2b7lg64q6pxi2mn3rgvhdq7hrm9"; + rev = "5c07befaf7930bbd61c24f3e251f8ce41026cfc2"; + sha256 = "0gd9dh1k0ydgc8nz575613bry240jb3qymzakkrq8pvcpl57nx7y"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/da8b46729f3bd9aa74c4f0ee2a9dc60804aa661c/recipes/evil-surround"; @@ -19470,12 +20513,12 @@ evil-swap-keys = callPackage ({ emacs, evil, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "evil-swap-keys"; - version = "20160825.1024"; + version = "20160909.1407"; src = fetchFromGitHub { owner = "wbolster"; repo = "evil-swap-keys"; - rev = "064c7388995803ccf9959e09fe8aaa95c53e001b"; - sha256 = "0nqj70yw0jalw8svkbh46240kr0bhs60yallrribxakiz5iqyb33"; + rev = "54aed57b464905d18bfcf52e3d0e7e5f939aa133"; + sha256 = "03ii6hj226aq6qbhias41miyv59aij24byw8637dbhb68gpff8v1"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2abff8e3d54ac13c4fe90692a56437844accca25/recipes/evil-swap-keys"; @@ -19554,12 +20597,12 @@ evil-textobj-anyblock = callPackage ({ cl-lib ? null, evil, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "evil-textobj-anyblock"; - version = "20151017.1417"; + version = "20161020.1112"; src = fetchFromGitHub { owner = "noctuid"; repo = "evil-textobj-anyblock"; - rev = "a9e1fdd546312fa787cd0a0acc7ca5e0253de945"; - sha256 = "1v4z2snllgg32cy8glv7xl0m9ib7rwi5ixgdydz1d0sx0z62jyhw"; + rev = "66dd87d10843f99cb4b7f76e55f00fca9dd48ac3"; + sha256 = "0a0vr4nqnigrdblr0wfxzl6n3xv4sfi7w3rdrsq8n4sywfdzwlap"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/36b734960313d4cb484cebaac0f112781436631c/recipes/evil-textobj-anyblock"; @@ -19614,15 +20657,36 @@ license = lib.licenses.free; }; }) {}; + evil-tutor-ja = callPackage ({ evil, evil-tutor, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "evil-tutor-ja"; + version = "20160916.1832"; + src = fetchFromGitHub { + owner = "kenjimyzk"; + repo = "evil-tutor-ja"; + rev = "99af7d82e02ce3bcdfaff47c5c80b57327a7ea8d"; + sha256 = "1cms98cy4p5dxwfc1zhgdaln8vr2nxzcj0d31imyabb4mwliabfw"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/2c98605fd21b38aaa200c6a0ec4c18f8575b0d7a/recipes/evil-tutor-ja"; + sha256 = "1yd8aij9q1jdmb387f1zjiq5mf68jvbgbyp5b49hmag4hw5h7vm2"; + name = "evil-tutor-ja"; + }; + packageRequires = [ evil evil-tutor ]; + meta = { + homepage = "https://melpa.org/#/evil-tutor-ja"; + license = lib.licenses.free; + }; + }) {}; evil-vimish-fold = callPackage ({ emacs, evil, fetchFromGitHub, fetchurl, lib, melpaBuild, vimish-fold }: melpaBuild { pname = "evil-vimish-fold"; - version = "20160430.440"; + version = "20161103.333"; src = fetchFromGitHub { owner = "alexmurray"; repo = "evil-vimish-fold"; - rev = "46f879698c7096d072ff9777c47a64dafa127c77"; - sha256 = "1z75wp4az5pykvn90vszfb9y8w675g1w288lx8ar9i2hyddsids4"; + rev = "674a8a894e4ae7e7f4b2608b0c9f801a548c69eb"; + sha256 = "1v2yr5q9c239xf002ymgwndmp5yp617rj7shw2zvfl13d7x229sg"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/fcd51e24f88ebbbd3fddfc7c6f3b667d5104cf2b/recipes/evil-vimish-fold"; @@ -19659,12 +20723,12 @@ evil-visual-replace = callPackage ({ evil, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "evil-visual-replace"; - version = "20160731.508"; + version = "20161122.1641"; src = fetchFromGitHub { owner = "troyp"; repo = "evil-visual-replace"; - rev = "867d1175f84cb49f31e6b74b005ce1acb4e597ee"; - sha256 = "01j9dz6b187h154aj2p2201qa6mgv2960wa2fx8i349sna1akr04"; + rev = "f88c8aa9e3a0d7e415bec50dcdf4bc5bb8feee45"; + sha256 = "1rmdjlbh3ah1pcdsd6yzb15g15b10x0py1alfywvyc1p227lv4v8"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/165aea6697a6041bb83303f3ec8068a537accd4a/recipes/evil-visual-replace"; @@ -19722,12 +20786,12 @@ ewmctrl = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ewmctrl"; - version = "20150630.138"; + version = "20161104.1833"; src = fetchFromGitHub { owner = "flexibeast"; repo = "ewmctrl"; - rev = "4e1ad0d54bccf2eddb7844eefb8253440aa80f28"; - sha256 = "1frhcgkiys0pqrlcsi5zcl3ngblr38wrwfi6wzqk75x21rnwnbqv"; + rev = "ba1879cc803a63d5a4047ec6f2990e369ae5af3a"; + sha256 = "12h2fgabfmaq1cpr7y7ckyyfgy53ww3v25p2kk5fq77rn40zbniy"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b2a7679f0961b171bf23080e628ae80f50c446e4/recipes/ewmctrl"; @@ -19764,12 +20828,12 @@ exec-path-from-shell = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "exec-path-from-shell"; - version = "20160812.159"; + version = "20161229.1338"; src = fetchFromGitHub { owner = "purcell"; repo = "exec-path-from-shell"; - rev = "9700a076a932d4c8bc92d9e12f21978232056373"; - sha256 = "11w0wn2q7c80h8czkbipp5j5vgj47jx0azfqk6xpw66dh4205zp3"; + rev = "0f53502d463eeeaefe48dfeb0c2fbaac1e6302e3"; + sha256 = "12mkh5sna8j0ijxc6fd8sr2zlk3p6w9q3fv5l3n16sjmnlj3cf0r"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3d8545191031bece15cf1706d81ad1d064f2a4bd/recipes/exec-path-from-shell"; @@ -19806,12 +20870,12 @@ expand-region = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "expand-region"; - version = "20160729.131"; + version = "20161122.50"; src = fetchFromGitHub { owner = "magnars"; repo = "expand-region.el"; - rev = "cfef9aab6a3e826124ac53409b5c7bd6defa3b2d"; - sha256 = "0bfszrc6r2i6ggf5wplzppfyym50s2rn0h3ankjy26xrnnx0is8f"; + rev = "6dd45d90a59178191e71c10c438f89b495a6c4aa"; + sha256 = "1ac62z6a7xpj0ayc9v1is7avil6r5s8rlwx39ys922qw5y281q2w"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/expand-region"; @@ -19911,12 +20975,12 @@ eyebrowse = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "eyebrowse"; - version = "20160625.201"; + version = "20161226.1438"; src = fetchFromGitHub { owner = "wasamasa"; repo = "eyebrowse"; - rev = "90b6b364bb372354deb32463a9a259ac9a16da7f"; - sha256 = "1fl26ix15bd8qgf8q9p68n92y6zmgkydrswhrwzxp8znnirkps3i"; + rev = "e7c3de9c8b3197f3a310d8d9259761fc70dfa3ef"; + sha256 = "0d2vc50m2wr6f0fd04xm3bzca25im3ka57y7lg6p0bn5fp6a62vl"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/90d052bfc0b94cf177e33b2ffc01a45d254fc1b1/recipes/eyebrowse"; @@ -19932,10 +20996,10 @@ eyedropper = callPackage ({ fetchurl, hexrgb, lib, melpaBuild }: melpaBuild { pname = "eyedropper"; - version = "20151231.1301"; + version = "20170101.930"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/eyedropper.el"; - sha256 = "1fg3j0jlww2rqc6k2nq95hcg6i26nqdp043h7kyjcwrgqbjfsigl"; + sha256 = "1132mc9c79k07gh51i50qaykilnxwzb58rf18pja9fdqc9vzcs7y"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/eyedropper"; @@ -19972,12 +21036,12 @@ ez-query-replace = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ez-query-replace"; - version = "20140810.517"; + version = "20160908.1329"; src = fetchFromGitHub { owner = "Wilfred"; repo = "ez-query-replace.el"; - rev = "1c0cab96d65105b780e32fdd29d2c6933be72ef6"; - sha256 = "15qa09x206s7rxmk35rslqniydh6hdb3n2kbspm5zrndcmsqz4zi"; + rev = "4b3c6212dc8141a1f75d258e70657b62e4c96ab3"; + sha256 = "0a1cgcbh969lchkqqxlxzg8rgdf1yiwaf1d15fk2z489lklqn5sx"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c40808c7687ace84e4c59bf8c25332c94b6fdd76/recipes/ez-query-replace"; @@ -19993,12 +21057,12 @@ f = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "f"; - version = "20160815.1253"; + version = "20161002.800"; src = fetchFromGitHub { owner = "rejeep"; repo = "f.el"; - rev = "4f8d3112f03e99506bab3c910fa3a29f0b8eb86b"; - sha256 = "0gf4vh7h4sjmp74kfiwxngjpx44m88mksridfil7piapbg23z9xm"; + rev = "4ef57d1539a964a0d02b23becbe9b5e49b805d66"; + sha256 = "1hymz7chs177pwgfddz6prb18iqj93n1j2xzfszlgl28246939cl"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/22ddcf536af597b688d8edb70b3636ed6c265bf5/recipes/f"; @@ -20035,12 +21099,12 @@ fabric = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "fabric"; - version = "20141024.322"; + version = "20160907.215"; src = fetchFromGitHub { owner = "nlamirault"; repo = "fabric.el"; - rev = "004934318f63d8cf955022f87b2c33eb97ada280"; - sha256 = "0crhkdbxz1ldbrvppi95g005ni5zg99z1271rkrnk5i6cvc4hlq5"; + rev = "8402f2f71c8975d2d9611e2a30845d62d58c9e28"; + sha256 = "116qwncyxaj9a0p5qk5ragi2wshbcv6ncgkmf9nhha7i45hdfa7f"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/83939d2a4d5874244a4916eee9ae6b327af18b5d/recipes/fabric"; @@ -20055,10 +21119,10 @@ }) {}; face-remap-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "face-remap-plus"; - version = "20151231.1302"; + version = "20170101.931"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/face-remap+.el"; - sha256 = "0yr3fqpn9pj6y8bsb6g7hkg75sl703pzngn8gp0sgs3v90c180l5"; + sha256 = "1mjh7hjpfxy476nwn0kbcq1zyaklrxd3l8482y5dlbcziwg85s1f"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/face-remap+"; @@ -20073,10 +21137,10 @@ }) {}; facemenu-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "facemenu-plus"; - version = "20151231.1305"; + version = "20170101.934"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/facemenu+.el"; - sha256 = "1kayc4hsalvqnn577y3f97w9kz94c53vcxwx01s0k34ffav919c2"; + sha256 = "0xdrmmygyynk0rinfhikw5zjbh8kf8xbcs5a79irhm5mv88jiikf"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/facemenu+"; @@ -20091,10 +21155,10 @@ }) {}; faces-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "faces-plus"; - version = "20151231.1305"; + version = "20170101.934"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/faces+.el"; - sha256 = "0sqrymmr583cgqmv4bs6rjms5ij5cm8vvxjrfc9alacwyz5f7w8m"; + sha256 = "1cvwna544xk5jlmimsszvvqcf2h8xmx6f9ripbpvkldgqalb91mn"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/faces+"; @@ -20152,12 +21216,12 @@ faff-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "faff-theme"; - version = "20160424.852"; + version = "20161026.1047"; src = fetchFromGitHub { owner = "WJCFerguson"; repo = "emacs-faff-theme"; - rev = "66d67b355c8be03483fbf4519daff698870cb165"; - sha256 = "1iv9xnpylw2mw18993yy5s9bkxs1rjrn4q92b1wvrx1n51kcw2ny"; + rev = "61d98d43c9173662078c0c337ce78918eb6a3610"; + sha256 = "15shbzjpl89ybyyn7d53psn9i8csxi2h9jwz7mx98lg9pjy58ifa"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0b35c169fe56a5612ff5a4242140f617fdcae14f/recipes/faff-theme"; @@ -20219,8 +21283,8 @@ src = fetchFromGitHub { owner = "lunaryorn"; repo = "fancy-battery.el"; - rev = "bcc2d7960ba207b5b4db96fe40f7d72670fdbb68"; - sha256 = "0m7rjzl9js2gjfcaqp2n5pn5ykpqnv8qfv35l5m5kpfigsi9cbb0"; + rev = "9b88ae77a01aa3edc529840338bcb2db7f445822"; + sha256 = "1k6prddw277iszh9hq145yqidwiiy9iqz656rpmqwn5hmr1vakhk"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/eae3af4145c534992d1c1ee5bb6420651c7c5d82/recipes/fancy-battery"; @@ -20275,22 +21339,22 @@ license = lib.licenses.free; }; }) {}; - fasd = callPackage ({ fetchFromGitHub, fetchurl, grizzl, lib, melpaBuild }: + fasd = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "fasd"; - version = "20151207.2316"; + version = "20161216.831"; src = fetchFromGitHub { owner = "steckerhalter"; repo = "emacs-fasd"; - rev = "8726a367048054add81ecea7543de00688056735"; - sha256 = "0m2qn3rd16s7ahyw6f9a4jb73sdc8bqp6d03p450yzcn36lw78z5"; + rev = "5940b84dfa1ea7225b740d3a8dd215290d964873"; + sha256 = "1wqh7x0c1i0w5lfh0j7xilvp5vmwvbsblp2jd6bz3n5j2ydgpc00"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8f0fefb25f03677080c9adeeb48046d6ea163053/recipes/fasd"; sha256 = "0i49z50bpi7fx0dm5jywlndnq9hb0dm5a906k4017w8y7sfpfl6c"; name = "fasd"; }; - packageRequires = [ grizzl ]; + packageRequires = []; meta = { homepage = "https://melpa.org/#/fasd"; license = lib.licenses.free; @@ -20341,12 +21405,12 @@ faust-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "faust-mode"; - version = "20160119.920"; + version = "20160930.222"; src = fetchFromGitHub { owner = "magnetophon"; repo = "emacs-faust-mode"; - rev = "de3015c23aa26e8242e69293f0e2966b329b7dcf"; - sha256 = "0m9nzl0z3gc6fjpfqklwrsxlcgbbyydls004a39wfppyz0wr94fy"; + rev = "41379dd52a8be01cdfac06996ea1593877fdaf58"; + sha256 = "0q624nm9wfyg95wybi542bx8pdpqk9vibyb6b9fin4mw102nah9j"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/31f4177ce35313e0f40e9ef0e5a1043ecd181573/recipes/faust-mode"; @@ -20362,12 +21426,12 @@ fcitx = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "fcitx"; - version = "20160608.1119"; + version = "20161118.1128"; src = fetchFromGitHub { owner = "cute-jumper"; repo = "fcitx.el"; - rev = "77f1e187b9cecb6975bedcfe91c8c81f1b133686"; - sha256 = "0n0v9jwswcc16cigyffvy3m9y7qqrs8qzjs11sq3d420zrv16b39"; + rev = "830fa2e665d7bcba8f7e7de754937c1ae6e9b60b"; + sha256 = "0qds4sqj9hppi5dfsfbpvba86fwigjprr75900rb50bb06ql4dqh"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e8c40f09d9397b3ca32a7ed37203f490497dc984/recipes/fcitx"; @@ -20404,12 +21468,12 @@ feature-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "feature-mode"; - version = "20160805.2015"; + version = "20161123.532"; src = fetchFromGitHub { owner = "michaelklishin"; repo = "cucumber.el"; - rev = "f0aaa806b52eec7ee8fe97883274ed49c28e8eb8"; - sha256 = "0ms1hmwc78vix91396ia317prw54vqjx8qv2qrcccwa8bphc0py5"; + rev = "aa06b88ad96bc556992f011b6aef9b78e99ae48b"; + sha256 = "1iybvdkszrqwz9knmfffmcknsdhnpc71961y0xb4xgad8i043n2y"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0a70991695f9ff305f12cfa45e0a597f4a782ba3/recipes/feature-mode"; @@ -20506,10 +21570,10 @@ }) {}; files-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "files-plus"; - version = "20151231.1307"; + version = "20170101.936"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/files+.el"; - sha256 = "0s79b5jj3jfl3aih6r3fa0zix40arysk6mz4fijapd8ybaflz25n"; + sha256 = "01391gkkzciahi2azad5gd260i9s48c5k73m2w3qinv7clqwxc32"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/files+"; @@ -20524,10 +21588,10 @@ }) {}; filesets-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "filesets-plus"; - version = "20151231.1308"; + version = "20170101.937"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/filesets+.el"; - sha256 = "020rpjrjp2gh4w6mrphrvk27kdizfqbjsw2sxraf8jz0dibg9gfg"; + sha256 = "0d30i1vnmja1vjhqs25vdph2gcvrsrrxvzgnm5hp8pscf8wz1igf"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/filesets+"; @@ -20568,8 +21632,8 @@ src = fetchFromGitHub { owner = "snarfed"; repo = "fillcode"; - rev = "ae5f6c6de81a7681c8f883e7fce36fd0f2b3c1e8"; - sha256 = "1x9wmxbcmd6qgdyzrl978nczfqrgyk6xz3rnh5hffbapy1v1rw47"; + rev = "1f64f0303a3157eabec355fd155571bb0c042489"; + sha256 = "0cgrswhbmzyfpkrp8iznsn1lxnb61dz2f0181pqd9gdf55qrk67m"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/85eb403503aa83799a6072bfe21bf66c8177ca73/recipes/fillcode"; @@ -20626,10 +21690,10 @@ }) {}; find-dired-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "find-dired-plus"; - version = "20160515.950"; + version = "20170101.938"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/find-dired+.el"; - sha256 = "0a2wgdrj6yxvpmzqiqpgzj3gbf04fvbhrfa3213hiah1k9l066m5"; + sha256 = "1ll1qr9kkx3fy0j7s5zz95gwsfj0j925cgkcs5ic5rds474881q0"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0c8f884334b7eb83647146e7e8be028935ba12ce/recipes/find-dired+"; @@ -20645,12 +21709,12 @@ find-file-in-project = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }: melpaBuild { pname = "find-file-in-project"; - version = "20160809.526"; + version = "20161202.2205"; src = fetchFromGitHub { owner = "technomancy"; repo = "find-file-in-project"; - rev = "a32ab79cfef0e1c5c8d9055fb99d9cad005815de"; - sha256 = "0gdsribyrvapinjkpm773rdn6sbrr9gsydpss5jw4p9a16nkl8a5"; + rev = "1c50ca72acd816c5d5b3fbdb605bbd85a0172b11"; + sha256 = "0nzn5bccxr8nsxqbc2gx17hrydbx511h4ba6bz3gaf78qfppn2ff"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/find-file-in-project"; @@ -20728,10 +21792,10 @@ }) {}; finder-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "finder-plus"; - version = "20151231.1313"; + version = "20170101.945"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/finder+.el"; - sha256 = "0x3f9qygp26c4yw32cgyy35bb4f1fq0fg7q8s9vs777skyl3rvp4"; + sha256 = "1ip8y3qhswfhshh61c7b8iajdnlsyg2cpypbv87825mzy8vbgp6z"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/finder+"; @@ -20891,12 +21955,12 @@ firestarter = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "firestarter"; - version = "20160318.1342"; + version = "20161219.523"; src = fetchFromGitHub { owner = "wasamasa"; repo = "firestarter"; - rev = "e40af9b4ff53e5d2eccbce66159cffd5f2481edd"; - sha256 = "0ssx3qjv600n8x83g34smphiyywgl97dh4wx8kzm9pp42jnp29cj"; + rev = "4d6b106f325ac1802eabce3c8a7cd0a4c7a32864"; + sha256 = "13daz15v0sshl7lxcg1xcbpl64gklgh50pzk0qxmn5ygw7nlifn0"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5b046eb3b63220b937e1b70f633cb5424dc782a1/recipes/firestarter"; @@ -20912,12 +21976,12 @@ fish-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "fish-mode"; - version = "20160429.2057"; + version = "20160924.1207"; src = fetchFromGitHub { owner = "wwwjfy"; repo = "emacs-fish"; - rev = "0bab96b8e2f5bd5012f874b10582f12c1d18b753"; - sha256 = "0z0ji88mdp3xm5lg3drkd56gpl4qy61mxh11i09rqiwmiw0lp1vm"; + rev = "d8b3493623ad834cb18f7de957dfbd17e2fba3ba"; + sha256 = "16x8fv8yl9wxmrxh4p7npixrh36vdwdc2n6paly0swlmj9a2j399"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/efac97c0f54a3300251020c4626056526c18b441/recipes/fish-mode"; @@ -20932,10 +21996,10 @@ }) {}; fit-frame = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "fit-frame"; - version = "20151231.1314"; + version = "20170101.946"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/fit-frame.el"; - sha256 = "082c6yyb1269va6k602hxpdf7ylfxz8gq8swqzwf07qaas0b5qxd"; + sha256 = "0l48zayzmlpzvqx02g1d2ilwijakwl2ql5svk78w3vx4nj41xxj7"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e13c77f822db3c9eaeb3fd5fa95cc2dbe5133f2c/recipes/fit-frame"; @@ -20951,12 +22015,12 @@ fix-input = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "fix-input"; - version = "20160122.2119"; + version = "20161231.1554"; src = fetchFromGitHub { owner = "mrkkrp"; repo = "fix-input"; - rev = "7c3f4770fd068fc789f80ec33934dc3aceb47ddf"; - sha256 = "1hw3fvj2xq96di4xfs852vy1268hi3a4n10pzrnwnrn0mqy0hn30"; + rev = "483365fb3c4ba5e08f5df07436294e7f8714dbd2"; + sha256 = "09c6ynmsypjpiwwn29npsbf4lq20i5cks41maxifnpvqxmkk6a4c"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7d31f907997d1d07ec794a4f09824f43818f035c/recipes/fix-input"; @@ -20976,8 +22040,8 @@ src = fetchFromGitHub { owner = "jonnay"; repo = "fix-muscle-memory"; - rev = "df687aea23c6eac4b751f993893c2fd56e5a8a3b"; - sha256 = "02nl4vz6fnbjc7w1lk1y9z0qw5bsxr407ww0b2wqw6h8spmcpcrc"; + rev = "a123e04f8a1d2982cbf930efb909cad9522ac884"; + sha256 = "0mm6dl7017x5l43jf89w4nn5hcyi4fm160d2rcqx5w6dwb6f0v27"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c6b0501714a6d82657b88d11e3f79d75eea17d8e/recipes/fix-muscle-memory"; @@ -20993,12 +22057,12 @@ fix-word = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "fix-word"; - version = "20150716.602"; + version = "20161231.1555"; src = fetchFromGitHub { owner = "mrkkrp"; repo = "fix-word"; - rev = "36a513e401e850ecf884ef43290ad4ea3cec9af5"; - sha256 = "02ixv7ckf419sy0r596fkc7f81bfwk410jl23z6cvdh3j64q12l6"; + rev = "bcc22ef05b5cdd43632121bfc9d77b27df7c34e7"; + sha256 = "066wif5p96yrcb944ic84jxxps80qxl17igagw3cdfj868y7nfik"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/22636390e8a15c09293a1506a901286dd72e565f/recipes/fix-word"; @@ -21168,11 +22232,11 @@ flex-isearch = callPackage ({ fetchhg, fetchurl, lib, melpaBuild }: melpaBuild { pname = "flex-isearch"; - version = "20130508.1503"; + version = "20160926.1630"; src = fetchhg { url = "https://bitbucket.com/jpkotta/flex-isearch"; - rev = "bb9c3502057d"; - sha256 = "02z1w8z9fqdshyyf03c26zjwhmmclb02caw3b6nhhk4w1rkbh6is"; + rev = "6a54f37be01f"; + sha256 = "19wcfpgd5qrh3sbybrxvd1hx34j85y34dy19yb80nlh2nha2n5sk"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/flex-isearch"; @@ -21188,12 +22252,12 @@ flim = callPackage ({ apel, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "flim"; - version = "20160816.243"; + version = "20161210.1728"; src = fetchFromGitHub { owner = "wanderlust"; repo = "flim"; - rev = "c946b83addd10ea700f2173b8d63386ef37b481a"; - sha256 = "0lrh7h30q5wvqzix8d7w4x5jacmnk8fscrpdfl637fi27gy6cwgf"; + rev = "3510d32e5820b2c22b4e9c9f29177beea42c5bfb"; + sha256 = "0ggr8fkzwa6k0i7gl41qxkvkvnzpqzbhnd6klbk6j6j0rw1pmgn8"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/94faf56ff9bf94f51ef5253e4c4244faec5eecfd/recipes/flim"; @@ -21213,8 +22277,8 @@ src = fetchFromGitHub { owner = "IvanMalison"; repo = "flimenu"; - rev = "66a063612daad59ef8035aeacc1a1ed244ba22d0"; - sha256 = "0krs5qjkis01qh21xvxqxd1jn6yw9276si36hacgwv0q92mk8x0b"; + rev = "ecbd47c857781b9c38035048d69415b617a75422"; + sha256 = "0a37kjpcpkm172icd2dbb5ndi6s164rbrpvy0c7kr0gl30n1gb8c"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0ffc67a266de3d58553b27325b7fc6937df425be/recipes/flimenu"; @@ -21266,6 +22330,27 @@ license = lib.licenses.free; }; }) {}; + fluxus-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, osc }: + melpaBuild { + pname = "fluxus-mode"; + version = "20161124.1145"; + src = fetchFromGitHub { + owner = "defaultxr"; + repo = "fluxus-mode"; + rev = "6670eeda008e2f0180e549624da708d5aa3599f6"; + sha256 = "1r2i88qv7zxcgccvyxpgq36ilsv3rdplx52pvd6kvfcw7whym205"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/a3396e0da67153ad051b8551bf34630d32f974f4/recipes/fluxus-mode"; + sha256 = "1xn2aw9gxwkmr1miam63lrdx6n0qxsgph3rlaqy9cbs0vkb254an"; + name = "fluxus-mode"; + }; + packageRequires = [ emacs osc ]; + meta = { + homepage = "https://melpa.org/#/fluxus-mode"; + license = lib.licenses.free; + }; + }) {}; flx = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "flx"; @@ -21332,12 +22417,12 @@ flycheck = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild, pkg-info, seq }: melpaBuild { pname = "flycheck"; - version = "20160831.204"; + version = "20170101.1502"; src = fetchFromGitHub { owner = "flycheck"; repo = "flycheck"; - rev = "7b4f5440fc35bf23162714a753a1118a65be5d91"; - sha256 = "0aphb03m9hx8qrdq1n3k75rf7iw99i4c8zn63h8681mhg0f9waz8"; + rev = "09c1e98fd020f9edee7c0c90e59b4da636f4af70"; + sha256 = "0w9ma5nzahjirhg3scb9j9kbgzr2fznp9sdjvrfgcaqak28hm40h"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/649f9c3576e81409ae396606798035173cc6669f/recipes/flycheck"; @@ -21399,8 +22484,8 @@ src = fetchFromGitHub { owner = "alexmurray"; repo = "flycheck-bashate"; - rev = "d9780b73ee698d6bc001e617b187845cafa3292a"; - sha256 = "1qhvrkhpjs214mc5f6gygwf5hx5gb2jcs46a4b34mqq29rn0j9kc"; + rev = "77fa03dbc578c34fe71ca44926bac2aff8f2b021"; + sha256 = "1jcay4gncpr0fap6qlm6k4r5b94s18zj8j56w462hvxydaxxiql6"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/54fd062e4ad012d846260c96801d3415756ce981/recipes/flycheck-bashate"; @@ -21416,12 +22501,12 @@ flycheck-cask = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }: melpaBuild { pname = "flycheck-cask"; - version = "20160815.1200"; + version = "20160928.226"; src = fetchFromGitHub { owner = "flycheck"; repo = "flycheck-cask"; - rev = "13eaae7e8ac14412433ab9eafc651a63bbd1c427"; - sha256 = "1d486bgkn4mmffy4h61q9cphqfjrvcdsm54gmp28h1bvbnk3krjw"; + rev = "c3a51147eddeb7347de81f6a498fc96538bac499"; + sha256 = "1jw8n6df2hpnjrsqzdd70j0ya3yjzkcy5gm6zx9acqfx88zlgb9m"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/43224eef52bb316102fea524ba87b0e9e43dc6e6/recipes/flycheck-cask"; @@ -21479,12 +22564,12 @@ flycheck-clojure = callPackage ({ cider, emacs, fetchFromGitHub, fetchurl, flycheck, let-alist, lib, melpaBuild }: melpaBuild { pname = "flycheck-clojure"; - version = "20160704.1221"; + version = "20161231.836"; src = fetchFromGitHub { owner = "clojure-emacs"; repo = "squiggly-clojure"; - rev = "7d5e714339509108f9dd3f32ded4b678744a809a"; - sha256 = "0nxw62mn03jhcx71rg5xlp2s0kwcppahjl8drh9jvhqw3lfx9yjr"; + rev = "254bd6a65a262896a4cc4f2061a6bbce51a5b73f"; + sha256 = "0315x1j55wkff0fizqvalfmxjiy1rl9fjk6hl7xziiw3rdvb943a"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c9c642a234f93ed4cf5edcf27a552a8916984946/recipes/flycheck-clojure"; @@ -21518,15 +22603,36 @@ license = lib.licenses.free; }; }) {}; + flycheck-credo = callPackage ({ fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }: + melpaBuild { + pname = "flycheck-credo"; + version = "20161121.2201"; + src = fetchFromGitHub { + owner = "aaronjensen"; + repo = "flycheck-credo"; + rev = "f773422c356c1c3b39fcece3cb7cc1257c7df517"; + sha256 = "0cq6lap4gndm801lj1q1wajpb03vz40hsdimr1n02p2k2dkrz8p3"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/88dfffe034135cc46d661f8173e8b14e0fb7f240/recipes/flycheck-credo"; + sha256 = "0xmnbib7lx6v10pd3pkr69c4jb4sn3nmjk16qzvscwjgf2dypyax"; + name = "flycheck-credo"; + }; + packageRequires = [ flycheck ]; + meta = { + homepage = "https://melpa.org/#/flycheck-credo"; + license = lib.licenses.free; + }; + }) {}; flycheck-css-colorguard = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }: melpaBuild { pname = "flycheck-css-colorguard"; - version = "20151122.147"; + version = "20161031.422"; src = fetchFromGitHub { owner = "Simplify"; repo = "flycheck-css-colorguard"; - rev = "8c2061c11d5465eec77ad471bef413eb14d122da"; - sha256 = "073vkjgcyqp8frsi05s6x8ml3ar6hwjmn2c7ryfab5b35kp9gmdi"; + rev = "ae94fa0396acd99f9ec36d9572459df793f37fe8"; + sha256 = "1vy5yjf98b7dk9lniz3rgk33agg8f1x8488lvm28ljdq3jfdgcfw"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7f413cc5c2080091491a986f69402b305abe4a7f/recipes/flycheck-css-colorguard"; @@ -21542,12 +22648,12 @@ flycheck-cstyle = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }: melpaBuild { pname = "flycheck-cstyle"; - version = "20160320.1608"; + version = "20160905.1641"; src = fetchFromGitHub { owner = "alexmurray"; repo = "flycheck-cstyle"; - rev = "997f55402b9f5af64ba5f9029015db23b649029d"; - sha256 = "1fric65r33bgn2h1s1m3pxnm3d1gk2z4pwnj72in6p7glj3kg24w"; + rev = "207285140a353d08cf1fc450cacab158bc98ba82"; + sha256 = "19wwv4r3nh79bdfcqp55qmknl0gwicy7dcaz28hm3sswbjpfv3rw"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5970f4f0967dc3a10dc9554a8f5f06b703872878/recipes/flycheck-cstyle"; @@ -21623,6 +22729,27 @@ license = lib.licenses.free; }; }) {}; + flycheck-demjsonlint = callPackage ({ fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }: + melpaBuild { + pname = "flycheck-demjsonlint"; + version = "20161114.2318"; + src = fetchFromGitHub { + owner = "z4139jq"; + repo = "flycheck-demjsonlint"; + rev = "1c433150fdf628dda4c9fad938bf7c79610b4460"; + sha256 = "0kmvwmaxw64xjgchq8szk9mhbi6xp2jhv7qpgqndf4svia4pqws6"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/b66df1afde83607408fb1b30e1260f22015bf448/recipes/flycheck-demjsonlint"; + sha256 = "0prwgi6v48ng89vvizb901iq4ysmrlh0g2b3797p1a6z2mps0k57"; + name = "flycheck-demjsonlint"; + }; + packageRequires = [ flycheck ]; + meta = { + homepage = "https://melpa.org/#/flycheck-demjsonlint"; + license = lib.licenses.free; + }; + }) {}; flycheck-dialyzer = callPackage ({ fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }: melpaBuild { pname = "flycheck-dialyzer"; @@ -21647,12 +22774,12 @@ flycheck-dmd-dub = callPackage ({ f, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }: melpaBuild { pname = "flycheck-dmd-dub"; - version = "20160609.14"; + version = "20161223.856"; src = fetchFromGitHub { owner = "atilaneves"; repo = "flycheck-dmd-dub"; - rev = "030ebb45e7eef9e2bb41ccf3b9557ef2207c29b1"; - sha256 = "1z4z53n8hivshyv15mn31d0hr6qs09xwlxm118a78zfd167xckwj"; + rev = "8c6220f45c24d662f1c4afae54f311139f0242b1"; + sha256 = "0n0q5qhwpx3v0d3aw6swzv8w09cs5mlnx9aybfhclzfa44adn6rq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a812594901c1099283bdf51fbea1aa077cfc588d/recipes/flycheck-dmd-dub"; @@ -21710,12 +22837,12 @@ flycheck-flow = callPackage ({ fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }: melpaBuild { pname = "flycheck-flow"; - version = "20160826.110"; + version = "20161123.136"; src = fetchFromGitHub { owner = "lbolla"; repo = "emacs-flycheck-flow"; - rev = "95a9b41c7c1c8515cbf8680ce5456b2b8af23268"; - sha256 = "1p4yzjnn790c168pf6341bwfa84nj4a47qz8fwrr9p4jsszb4i7n"; + rev = "0748aa26a03437d36bf7083e6fc1af8f382dd1a3"; + sha256 = "1mmgahrq0v77i9w95jcg2n3aqqrvzd2s4w3b2mr70i23wq5y5wqy"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4d18fb21d8ef9b33aa84bc26f5918e636c5771e5/recipes/flycheck-flow"; @@ -21752,12 +22879,12 @@ flycheck-gometalinter = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }: melpaBuild { pname = "flycheck-gometalinter"; - version = "20160714.2232"; + version = "20161225.1721"; src = fetchFromGitHub { owner = "favadi"; repo = "flycheck-gometalinter"; - rev = "2e863429cc953cf4c14783e249df56d1ae669868"; - sha256 = "07r2csy2psflvg0pl6n9scfwhnp9mv7hs02hz861v5kbkfx0ajzw"; + rev = "b6fa2468401d9035b2aeb1dc9bdb12a518e0d13b"; + sha256 = "08cr2jij9iaa117l4b4mg977hi6klw9qj8knc42lfzz37d91r3i6"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8bfe9f2d030c04fb292297eb9226072bfea2ac64/recipes/flycheck-gometalinter"; @@ -21815,12 +22942,12 @@ flycheck-hdevtools = callPackage ({ dash, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }: melpaBuild { pname = "flycheck-hdevtools"; - version = "20160109.1814"; + version = "20160926.2"; src = fetchFromGitHub { owner = "flycheck"; repo = "flycheck-hdevtools"; - rev = "ee311ac8d8be5803f13c649b8260839c0024e729"; - sha256 = "1x61q0fqr1jbqs9kk59f565a02qjxh1gnp1aigys0yz6qnshvzbb"; + rev = "eab1fc184854341a56154623a131cab6ff0ce18c"; + sha256 = "0prmrix9a95zr39ybajp7fha03wknxyhrf1kfxsms1brxsc8bqim"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9e210eb2405cc85dd1d03e9119d2249178950398/recipes/flycheck-hdevtools"; @@ -21861,8 +22988,8 @@ src = fetchFromGitHub { owner = "purcell"; repo = "flycheck-ledger"; - rev = "78392ba2c0c177c47bb795a1a191c29846837f57"; - sha256 = "15cgqbl6n3nyqiizgs2zvcvfs6bcnjk3bj81lhhwrzizbjvap3rv"; + rev = "cba408d61e26cf7c31c4a6f82a28a3a32e145c05"; + sha256 = "0ysc2hwz0xmmlwfwd70nfqvd81dvf4gfrynkrfgg9w6hp7y4z522"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/dc715e6849aa5d6017e2478514c4a0d84c7ddbe5/recipes/flycheck-ledger"; @@ -21980,6 +23107,27 @@ license = lib.licenses.free; }; }) {}; + flycheck-objc-clang = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }: + melpaBuild { + pname = "flycheck-objc-clang"; + version = "20161229.205"; + src = fetchFromGitHub { + owner = "GyazSquare"; + repo = "flycheck-objc-clang"; + rev = "11805f1d420e297db0346a6657f144b08e2ca556"; + sha256 = "1s9bk3k7ys79m2iww4yf1abfy01d08z9x9pfq8l045q0snsh64il"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/4ff4412f507371b93cfb85fc744e54110cd87338/recipes/flycheck-objc-clang"; + sha256 = "07mzwd04a69d7xpkjmhfmf95j69h6accnf9bb9br7jb1hi9vdalp"; + name = "flycheck-objc-clang"; + }; + packageRequires = [ emacs flycheck ]; + meta = { + homepage = "https://melpa.org/#/flycheck-objc-clang"; + license = lib.licenses.free; + }; + }) {}; flycheck-ocaml = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, let-alist, lib, melpaBuild, merlin }: melpaBuild { pname = "flycheck-ocaml"; @@ -22001,22 +23149,22 @@ license = lib.licenses.free; }; }) {}; - flycheck-package = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }: + flycheck-package = callPackage ({ fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, package-lint }: melpaBuild { pname = "flycheck-package"; - version = "20160502.135"; + version = "20161111.1451"; src = fetchFromGitHub { owner = "purcell"; repo = "flycheck-package"; - rev = "aeae7de23483a44126740f452e79266fc6fd0d9b"; - sha256 = "1x5lk6fdai5jvq4hlcgb88ljjncwkq1lkqs8d3wkqwyc3kh3rwjg"; + rev = "afe8a49343d90d08ee72ac6f993d424dcc39cc38"; + sha256 = "19pz8h01yacfqsyh5940pam6vigvavsqg6qd84994d7mmzl534qa"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d17ec69c9f192625e74dfadf03b11d0d7dc575e7/recipes/flycheck-package"; sha256 = "0068kpia17rsgjdmzsjnw0n6x5z9jvfxggxlzkszvwsx73mvcs2d"; name = "flycheck-package"; }; - packageRequires = [ cl-lib emacs flycheck ]; + packageRequires = [ flycheck package-lint ]; meta = { homepage = "https://melpa.org/#/flycheck-package"; license = lib.licenses.free; @@ -22064,6 +23212,27 @@ license = lib.licenses.free; }; }) {}; + flycheck-plantuml = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, plantuml-mode }: + melpaBuild { + pname = "flycheck-plantuml"; + version = "20161122.219"; + src = fetchFromGitHub { + owner = "alexmurray"; + repo = "flycheck-plantuml"; + rev = "f1628d589991c3d51965db0f14866b1202374eea"; + sha256 = "1j66y4qps1wjdagr36kgqgz1w8zcmwnpwcvgwn4gkif34n96s78l"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/65f050860a0efda8cf472c2945b79a0a57651556/recipes/flycheck-plantuml"; + sha256 = "01l22isiym635471628b951n025ls3lm6gfhfp6f8n8w7v1sb986"; + name = "flycheck-plantuml"; + }; + packageRequires = [ emacs flycheck plantuml-mode ]; + meta = { + homepage = "https://melpa.org/#/flycheck-plantuml"; + license = lib.licenses.free; + }; + }) {}; flycheck-pony = callPackage ({ fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }: melpaBuild { pname = "flycheck-pony"; @@ -22085,57 +23254,36 @@ license = lib.licenses.free; }; }) {}; - flycheck-pos-tip = callPackage ({ dash, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, pos-tip }: + flycheck-pos-tip = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, pos-tip }: melpaBuild { pname = "flycheck-pos-tip"; - version = "20160323.129"; + version = "20161112.912"; src = fetchFromGitHub { owner = "flycheck"; repo = "flycheck-pos-tip"; - rev = "2ad60d92610596672b830328b5837b58350ca7cf"; - sha256 = "0wca22jp0alknmllfl22j89aasiwms6ipqyv1pnvbrgmrbzcmlp7"; + rev = "88b5a6d7ce0f313cbd22d554ea248aab95357d33"; + sha256 = "0jfgq346b4nh9wry3mnf4sfbv3l78kgadklvbv0nxykvlpx9c1rv"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/698843f75e17b9e6160487c0153f9d6b4af288f6/recipes/flycheck-pos-tip"; sha256 = "09i2jmwj8b915fhyczwdb1j7c551ggbva33avis77ga1s9v3nsf9"; name = "flycheck-pos-tip"; }; - packageRequires = [ dash flycheck pos-tip ]; + packageRequires = [ emacs flycheck pos-tip ]; meta = { homepage = "https://melpa.org/#/flycheck-pos-tip"; license = lib.licenses.free; }; }) {}; - flycheck-protobuf = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, protobuf-mode }: - melpaBuild { - pname = "flycheck-protobuf"; - version = "20160211.700"; - src = fetchFromGitHub { - owner = "edvorg"; - repo = "flycheck-protobuf"; - rev = "3d4c71b535bb456045e4d0e88d63791dbe2093b5"; - sha256 = "1adcijysw4v8rrxzswi8zhd6w99iaqq7asps0jp21gr9nqci8vdj"; - }; - recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/8f8d8e4d849400823d738c198665d46fa24d7661/recipes/flycheck-protobuf"; - sha256 = "0cn5b9pr9i9hrix7dbrylwb2812al8ipbpqvlb9bm2f8hc9kgsmc"; - name = "flycheck-protobuf"; - }; - packageRequires = [ protobuf-mode ]; - meta = { - homepage = "https://melpa.org/#/flycheck-protobuf"; - license = lib.licenses.free; - }; - }) {}; flycheck-purescript = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, flycheck, let-alist, lib, melpaBuild, seq }: melpaBuild { pname = "flycheck-purescript"; - version = "20160613.1315"; + version = "20161121.907"; src = fetchFromGitHub { owner = "emacs-pe"; repo = "flycheck-purescript"; - rev = "a7e911f6479c66832e52a619cd27cc26435887a4"; - sha256 = "0d56x6wmb61ldf30pgyvl0kyfvgkjibdyy9r2281qfavgr0qszls"; + rev = "30f0435d5e2715053c8c6170b2bce2ae462ac819"; + sha256 = "10is8l88827g7gs8qnmyif124agxj9smfav6l53hjv3i0q3m3h6f"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a315aad238fa223058a495e1ca8c71da6447024c/recipes/flycheck-purescript"; @@ -22169,27 +23317,69 @@ license = lib.licenses.free; }; }) {}; - flycheck-rust = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, flycheck, let-alist, lib, melpaBuild, seq }: + flycheck-rebar3 = callPackage ({ fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }: + melpaBuild { + pname = "flycheck-rebar3"; + version = "20161030.615"; + src = fetchFromGitHub { + owner = "joedevivo"; + repo = "flycheck-rebar3"; + rev = "56a7c94857f0a0ea6a2a73c476a1a2faadc0f7c6"; + sha256 = "1pas49arri2vs9zm3r8jl4md74p5fpips3imc3s7nafbfrhh8ix3"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/2acff5eea030b91e457df8aa75243993c87ca00e/recipes/flycheck-rebar3"; + sha256 = "1ml9k61n5vy4c2q6c10q9j10ky0iqkinx21bl7hip1r6b5b1kmmc"; + name = "flycheck-rebar3"; + }; + packageRequires = [ flycheck ]; + meta = { + homepage = "https://melpa.org/#/flycheck-rebar3"; + license = lib.licenses.free; + }; + }) {}; + flycheck-rust = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, seq }: melpaBuild { pname = "flycheck-rust"; - version = "20160816.236"; + version = "20161019.1103"; src = fetchFromGitHub { owner = "flycheck"; repo = "flycheck-rust"; - rev = "2a0fb6bb82785fc717b0acc7427e801b08a13017"; - sha256 = "0dyjamgmgdj0sw9l7ay9s4akba95n0apnza4l5qcbkmz28qw6gz5"; + rev = "f8ae845d4d7a18c1873ee1edd1a4db272fde5dd3"; + sha256 = "1p7ijqcbrflaxqk7r5zvgxznsvd8kcr8hfnzlymdylwbgy04j6wy"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/68d8cdf3d225b13ebbbe5ce81a01366f33266aed/recipes/flycheck-rust"; sha256 = "1k0n0y6lbp71v4465dwq7864vp1qqyx7zjz0kssszcpx5gl1596w"; name = "flycheck-rust"; }; - packageRequires = [ dash emacs flycheck let-alist seq ]; + packageRequires = [ dash emacs flycheck seq ]; meta = { homepage = "https://melpa.org/#/flycheck-rust"; license = lib.licenses.free; }; }) {}; + flycheck-scala-sbt = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, sbt-mode }: + melpaBuild { + pname = "flycheck-scala-sbt"; + version = "20161127.1321"; + src = fetchFromGitHub { + owner = "rjmac"; + repo = "flycheck-scala-sbt"; + rev = "5b2c7a24b5b57573d0f9dbc759158bf90fa305da"; + sha256 = "08p2acxa8irqb75d6ygk4rvh3i25faz06ilmqj3a3lf0xs0v5adc"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/0afc1e5b31689a5ba52443e2878114d9ec0e7757/recipes/flycheck-scala-sbt"; + sha256 = "09d6nj7rc1ba4psnb2csnmrs1mh5xnwh7gq7g6kq4y4f27wr8zcg"; + name = "flycheck-scala-sbt"; + }; + packageRequires = [ emacs flycheck sbt-mode ]; + meta = { + homepage = "https://melpa.org/#/flycheck-scala-sbt"; + license = lib.licenses.free; + }; + }) {}; flycheck-stack = callPackage ({ fetchFromGitHub, fetchurl, flycheck, haskell-mode, lib, melpaBuild }: melpaBuild { pname = "flycheck-stack"; @@ -22232,15 +23422,57 @@ license = lib.licenses.free; }; }) {}; + flycheck-swift = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }: + melpaBuild { + pname = "flycheck-swift"; + version = "20160921.1921"; + src = fetchFromGitHub { + owner = "swift-emacs"; + repo = "flycheck-swift"; + rev = "822d1415eabfd464adc52063f9c44da1c87f0ff9"; + sha256 = "0gf7cxrsrf62kamm4xy1fi4v264szm6qk607ifg4bi5dmdc10b0k"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/fd99bea06079c4231363c37e3361bd9e5b1ba490/recipes/flycheck-swift"; + sha256 = "1s6rn4wyz9la6bw228jfxx8dxjyk5hf8r3vbmq0k808p772zki0z"; + name = "flycheck-swift"; + }; + packageRequires = [ emacs flycheck ]; + meta = { + homepage = "https://melpa.org/#/flycheck-swift"; + license = lib.licenses.free; + }; + }) {}; + flycheck-swift3 = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }: + melpaBuild { + pname = "flycheck-swift3"; + version = "20161229.331"; + src = fetchFromGitHub { + owner = "GyazSquare"; + repo = "flycheck-swift3"; + rev = "ae7b29111cb160774c317997902d7ef29cedd7d9"; + sha256 = "17s34rqxkirb88y8jzl3ybs7j3ylp9ckdfx3sqwfn0cyspnj5f1d"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/f1fb8c731c118327dc0bbb726e046fec46bcfb82/recipes/flycheck-swift3"; + sha256 = "05yfrn42svcvdkr8mx16ii8llhzn33lxdawksjqiqg671s6fgdpa"; + name = "flycheck-swift3"; + }; + packageRequires = [ emacs flycheck ]; + meta = { + homepage = "https://melpa.org/#/flycheck-swift3"; + license = lib.licenses.free; + }; + }) {}; flycheck-tip = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, popup }: melpaBuild { pname = "flycheck-tip"; - version = "20160622.1906"; + version = "20160908.1953"; src = fetchFromGitHub { owner = "yuutayamada"; repo = "flycheck-tip"; - rev = "2e8ec9818f25c57516c48612f8b0963df177123d"; - sha256 = "0dblxsny6immyg9l1mraahqipbbybg3drny87gl5vsvqpd94g4px"; + rev = "53e812ae6d517e8d35907eed8ddcee95c2922e91"; + sha256 = "180c9q273k8167kfkfkvgsadprr34irnmb4qx8ksr3dmg77ghpc8"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/024f1e588e94014734fa252ee7bdb00b4991ede9/recipes/flycheck-tip"; @@ -22253,15 +23485,36 @@ license = lib.licenses.free; }; }) {}; + flycheck-title = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }: + melpaBuild { + pname = "flycheck-title"; + version = "20161112.1716"; + src = fetchFromGitHub { + owner = "Wilfred"; + repo = "flycheck-title"; + rev = "524fe02e58ee2ff698c2a108306b2b79e23944a3"; + sha256 = "1yccgsa9lcm2wklrrbs5vk89zfln70k4jnvzx0lvcjsy0swq147j"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/2996b70645cd6fd093e3b31b9586ce5acb036cf6/recipes/flycheck-title"; + sha256 = "1cxid9qmzy8pl8qkvr6kgvfqm05pjw8cxpz66x619hbkw2vr7sza"; + name = "flycheck-title"; + }; + packageRequires = [ emacs flycheck ]; + meta = { + homepage = "https://melpa.org/#/flycheck-title"; + license = lib.licenses.free; + }; + }) {}; flycheck-ycmd = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, flycheck, let-alist, lib, melpaBuild, ycmd }: melpaBuild { pname = "flycheck-ycmd"; - version = "20160808.754"; + version = "20160913.130"; src = fetchFromGitHub { owner = "abingham"; repo = "emacs-ycmd"; - rev = "200a6d2536cf4932b36a89a753eb9c6a12888f54"; - sha256 = "0avvsnizx8l0gyvzy8qkg0177agckxylldqk0vm45pqzzmbsvr02"; + rev = "ca51cbce87f671f2bb133d1df9f327bb8f1bb729"; + sha256 = "0riz0jj8c80x6p9fcxyni7q3b0dgxjwss8qbihndq8h2jypdhcgd"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/332e5585963c04112a55894fe7151c380930b17c/recipes/flycheck-ycmd"; @@ -22928,12 +24181,12 @@ flyspell-correct = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "flyspell-correct"; - version = "20160731.329"; + version = "20161031.1134"; src = fetchFromGitHub { owner = "d12frosted"; repo = "flyspell-correct"; - rev = "e9a80346ff306e8512930596069257a59393ecee"; - sha256 = "0gryvd3c6k1kjk1aqrhdkz1va4515sf4ljc82m8c72clln3378zz"; + rev = "7e7f94a36699c7e7bba728df722e13a7b4af4b73"; + sha256 = "16lbhbgyrpp9ig9li1v31bs9i5z8dchjb1vrkcih020p3g9vwi27"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/fa06fbe3bc40ae5e3f6d10dee93a9d49e9288ba5/recipes/flyspell-correct"; @@ -22949,12 +24202,12 @@ flyspell-correct-helm = callPackage ({ fetchFromGitHub, fetchurl, flyspell-correct, helm, lib, melpaBuild }: melpaBuild { pname = "flyspell-correct-helm"; - version = "20160730.201"; + version = "20161031.1134"; src = fetchFromGitHub { owner = "d12frosted"; repo = "flyspell-correct"; - rev = "e9a80346ff306e8512930596069257a59393ecee"; - sha256 = "0gryvd3c6k1kjk1aqrhdkz1va4515sf4ljc82m8c72clln3378zz"; + rev = "7e7f94a36699c7e7bba728df722e13a7b4af4b73"; + sha256 = "16lbhbgyrpp9ig9li1v31bs9i5z8dchjb1vrkcih020p3g9vwi27"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7b9302d8f804c77eb81fee7ed27f13cb1176f6/recipes/flyspell-correct-helm"; @@ -22970,12 +24223,12 @@ flyspell-correct-ivy = callPackage ({ fetchFromGitHub, fetchurl, flyspell-correct, ivy, lib, melpaBuild }: melpaBuild { pname = "flyspell-correct-ivy"; - version = "20160730.201"; + version = "20161031.1134"; src = fetchFromGitHub { owner = "d12frosted"; repo = "flyspell-correct"; - rev = "e9a80346ff306e8512930596069257a59393ecee"; - sha256 = "0gryvd3c6k1kjk1aqrhdkz1va4515sf4ljc82m8c72clln3378zz"; + rev = "7e7f94a36699c7e7bba728df722e13a7b4af4b73"; + sha256 = "16lbhbgyrpp9ig9li1v31bs9i5z8dchjb1vrkcih020p3g9vwi27"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7b9302d8f804c77eb81fee7ed27f13cb1176f6/recipes/flyspell-correct-ivy"; @@ -22991,12 +24244,12 @@ flyspell-correct-popup = callPackage ({ fetchFromGitHub, fetchurl, flyspell-correct, lib, melpaBuild, popup }: melpaBuild { pname = "flyspell-correct-popup"; - version = "20160730.201"; + version = "20161031.1134"; src = fetchFromGitHub { owner = "d12frosted"; repo = "flyspell-correct"; - rev = "e9a80346ff306e8512930596069257a59393ecee"; - sha256 = "0gryvd3c6k1kjk1aqrhdkz1va4515sf4ljc82m8c72clln3378zz"; + rev = "7e7f94a36699c7e7bba728df722e13a7b4af4b73"; + sha256 = "16lbhbgyrpp9ig9li1v31bs9i5z8dchjb1vrkcih020p3g9vwi27"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7b9302d8f804c77eb81fee7ed27f13cb1176f6/recipes/flyspell-correct-popup"; @@ -23096,12 +24349,12 @@ focus = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "focus"; - version = "20160131.1418"; + version = "20161113.1145"; src = fetchFromGitHub { owner = "larstvei"; repo = "Focus"; - rev = "abad47f1c40e595779c376a1e936c1609be1cdf4"; - sha256 = "0vqjyc00ba9wy2rn454hhy9rnnghljc1i8f3zrpkdmkqn5cg3336"; + rev = "75202c9445f52eab6fb82f00006f37cd20dae6b2"; + sha256 = "1v9y3dp7sd4rsm31myp3l1jxpwjw3madajb6yz9rw0yhdirfwgbg"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4e8f1217224514f9b048b7101c89e3b1a305821e/recipes/focus"; @@ -23242,10 +24495,10 @@ }) {}; font-lock-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "font-lock-plus"; - version = "20151231.1319"; + version = "20170101.947"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/font-lock+.el"; - sha256 = "04j9xybn9an3bm2p2aqmqnswxxg3gwq2mc96brkgxkr88h316d4q"; + sha256 = "0ffs2c7gyhfa2mskdh7a1yp0na99kk282zm4zn56ljp55rrnnnh0"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/font-lock+"; @@ -23300,22 +24553,22 @@ license = lib.licenses.free; }; }) {}; - fontawesome = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild }: + fontawesome = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild }: melpaBuild { pname = "fontawesome"; - version = "20151202.630"; + version = "20161219.312"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-fontawesome"; - rev = "66650efea4a044afe0e5f482ccac465082cd5e62"; - sha256 = "103xz042h8w6c85hn19cglfsa34syjh18asm41rjhr9krp15sdl1"; + rev = "72b4f2f83c7fdacd225aee58f93acefc53166626"; + sha256 = "1icwjd1rbyr1g8ifyhvpi21wjff2qrddq2rmp5lmiajnwrlfli0d"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/93b92f10802ceffc353db3d220dccfd47ea7fa41/recipes/fontawesome"; sha256 = "07hn4s929xklc74j8s6pd61rxmxw3911dq47wql77vb5pijv6dr3"; name = "fontawesome"; }; - packageRequires = [ cl-lib helm-core ]; + packageRequires = [ emacs helm-core ]; meta = { homepage = "https://melpa.org/#/fontawesome"; license = lib.licenses.free; @@ -23324,12 +24577,12 @@ forecast = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "forecast"; - version = "20160513.1159"; + version = "20161219.141"; src = fetchFromGitHub { owner = "cadadr"; repo = "forecast.el"; - rev = "ff307fd24c64577d204d0c1b7b245f190f70bd61"; - sha256 = "1x4l24cbgc4apv9cfzf6phmj5pm32hfdgv37wpbh7ml8v3p8xm0w"; + rev = "8fdd0d4532b81e4bfe114fad548aeb049cd512cf"; + sha256 = "0ia4k7jxx35g0kdm9z75i3sr1h91nh8fkhbllxpd9za29dw5fs7c"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e6ff6a4ee29b96bccb2e4bc0644f2bd2e51971ee/recipes/forecast"; @@ -23447,6 +24700,27 @@ license = lib.licenses.free; }; }) {}; + forth-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "forth-mode"; + version = "20170101.1245"; + src = fetchFromGitHub { + owner = "larsbrinkhoff"; + repo = "forth-mode"; + rev = "05e8a027960c77ac5a09bda959889de57ecbb486"; + sha256 = "1s0543dc69ciz6ll7m62kaac92jmpk9yqaa37jrv5lscrp6sgamz"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/e46832079ee34c655835f06bf565ad5a5ab48ebd/recipes/forth-mode"; + sha256 = "0j60abi5qyy94f4as90zhmkb12jdirysdbq4ajs5h91vi6gb1g3i"; + name = "forth-mode"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/forth-mode"; + license = lib.licenses.free; + }; + }) {}; fortpy = callPackage ({ auto-complete, epc, fetchFromGitHub, fetchurl, lib, melpaBuild, pos-tip, python-environment }: melpaBuild { pname = "fortpy"; @@ -23492,12 +24766,12 @@ fountain-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "fountain-mode"; - version = "20160830.1804"; + version = "20161207.141"; src = fetchFromGitHub { owner = "rnkn"; repo = "fountain-mode"; - rev = "c7c445c49ac619fe3fb2f0c6bd2bd83b9c9ed7a3"; - sha256 = "16linxh50d3gkcl7mhjl3b3gz0n5wlbs0b3vnbi3sqfzk0isffwp"; + rev = "cd164b75fdad957a8ac2548d0ddff84ae3359488"; + sha256 = "01dlnkzm2rl6lli2r9rz8kd9w4xp236ag6i3gdr5raflylf2yxp4"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/913386ac8d5049d37154da3ab32bde408a226511/recipes/fountain-mode"; @@ -23534,10 +24808,10 @@ frame-cmds = callPackage ({ fetchurl, frame-fns, lib, melpaBuild }: melpaBuild { pname = "frame-cmds"; - version = "20160124.826"; + version = "20170101.950"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/frame-cmds.el"; - sha256 = "1867zmm3pyqz8p9ig44jf598z9jkyvbp04mfg6j6ys3hyqfkw942"; + sha256 = "0yscijwwm31551ysagysdrryr1w33kg34j3bnrq92mxsmb6i19ad"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8b528544841995045fb1f8344aaaa38946bb3915/recipes/frame-cmds"; @@ -23552,10 +24826,10 @@ }) {}; frame-fns = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "frame-fns"; - version = "20151231.1322"; + version = "20170101.951"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/frame-fns.el"; - sha256 = "0lvlyxb62sgrm37hc21dn7qzlrq2yagiwpspa926q6dpzcsbam15"; + sha256 = "00b2bb3rfraps47mcv0vb51ygjx0f311i95g0b7dh1jqi6nxdfb1"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8b528544841995045fb1f8344aaaa38946bb3915/recipes/frame-fns"; @@ -23568,27 +24842,6 @@ license = lib.licenses.free; }; }) {}; - frame-restore = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: - melpaBuild { - pname = "frame-restore"; - version = "20140811.1409"; - src = fetchFromGitHub { - owner = "lunaryorn"; - repo = "frame-restore.el"; - rev = "6346cf157d5e1b487a16839d998258b7e693cbc8"; - sha256 = "0n6jhm1198c8slvdymsfjif0dfx3wlf8q4mm0yvpiln46shhwldx"; - }; - recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/50ab397e8841f686e098caf6dae5dfafb0550581/recipes/frame-restore"; - sha256 = "0b321iyf57nkrm6xv8d1aydivrdapdgng35zcnrg298ws2naysvm"; - name = "frame-restore"; - }; - packageRequires = [ emacs ]; - meta = { - homepage = "https://melpa.org/#/frame-restore"; - license = lib.licenses.free; - }; - }) {}; frame-tag = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "frame-tag"; @@ -23712,15 +24965,36 @@ license = lib.licenses.free; }; }) {}; + fsbot-data-browser = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "fsbot-data-browser"; + version = "20160921.833"; + src = fetchFromGitHub { + owner = "benaiah"; + repo = "fsbot-data-browser"; + rev = "6bca4f7de63e31839d2542f6c678b79931dec344"; + sha256 = "0lvpgfp89sz6f6rn576g1g88s0q3ibj5ghydjwfcg9w6h7vx5b5s"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/37a0901b98e1c66be6906234e6d6520a6e940e97/recipes/fsbot-data-browser"; + sha256 = "0jijvl07jk200fs01ln4dmw5nx9jg3f9b7gjaknyd18vyvbwr3s5"; + name = "fsbot-data-browser"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/fsbot-data-browser"; + license = lib.licenses.free; + }; + }) {}; fsharp-mode = callPackage ({ company, company-quickhelp, dash, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, popup, pos-tip, s }: melpaBuild { pname = "fsharp-mode"; - version = "20160719.315"; + version = "20161130.653"; src = fetchFromGitHub { owner = "rneatherway"; repo = "emacs-fsharp-mode-bin"; - rev = "3ab9f2ec3d0b70545f3834d26dbdadf760648f6d"; - sha256 = "06znv94bbx97j50226b5x2q7vnjb6j57ljmaygj0cvy8linr5j8n"; + rev = "22cf1815574c2d463c6a790afc7378db9d701fc2"; + sha256 = "1jqh518kn5c7gk8dqbx28inq71a1i95qafixa5kbh8my6kka7yr1"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/dc45611e2b629d8bc5f74555368f964420b79541/recipes/fsharp-mode"; @@ -23744,12 +25018,12 @@ fstar-mode = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "fstar-mode"; - version = "20160721.654"; + version = "20161211.2200"; src = fetchFromGitHub { owner = "FStarLang"; repo = "fstar-mode.el"; - rev = "843fde937786d3f5ea1c54632379b31beed46e24"; - sha256 = "081a208jccs2602c3aqpwzkkf9zfgvp1mb8f9hb63bywyqkv24w5"; + rev = "b633674651d324a2aa09a53134e5a617d7ee5f87"; + sha256 = "0vhd8wpshgcgpq836d7048vxrr7wzy0z473kz6xn7ql10sxiz4i2"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e1198ee309675c391c479ce39efcdca23f548d2a/recipes/fstar-mode"; @@ -23765,11 +25039,11 @@ fuel = callPackage ({ cl-lib ? null, emacs, fetchgit, fetchurl, lib, melpaBuild }: melpaBuild { pname = "fuel"; - version = "20160713.834"; + version = "20161123.2000"; src = fetchgit { url = "git://factorcode.org/git/factor.git"; - rev = "4f74f5bd698b253a63fa0ce626f4b86405a9714e"; - sha256 = "02wis1hv3rk1a8f8bbz317j7ip7yprr364nfdjbqzx9fa3rvv0qh"; + rev = "350de8f1718144bd42f445e7fd460854f851470a"; + sha256 = "144nb62ha4m171k2vh061d24q05p435947zqnrx59xp3agj5ymvv"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0c3633c23baa472560a489fc663a0302f082bcef/recipes/fuel"; @@ -23907,10 +25181,10 @@ }) {}; fuzzy-match = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "fuzzy-match"; - version = "20151231.1323"; + version = "20170101.952"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/fuzzy-match.el"; - sha256 = "1q3gbv9xp2jxrf9vfarjqk9k805xc9z72zbaw7aqdxrj1bafxwnz"; + sha256 = "130rx8x0d64pb5sz9xq3qvgq698xlkvlb76fk9xfq7n895kxf1bp"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e00737be152e9082d0f0c9076cac7fcd08bd4e7b/recipes/fuzzy-match"; @@ -24010,12 +25284,12 @@ fzf = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "fzf"; - version = "20160714.557"; + version = "20161226.936"; src = fetchFromGitHub { owner = "bling"; repo = "fzf.el"; - rev = "022798e6ed0d03fcb896635d7322f0b79f6463ff"; - sha256 = "1vc0lh6cr3d7fyg7w400750glk3jfas0y58qxh2wdsnfj8qvarc3"; + rev = "779254fe1ec7a0c9110af36fd039cece3040a312"; + sha256 = "1p0k71vz9v8vx5h85ph1krb9v0jyhmq73h91ws9zcxpf1bdgy050"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1671e17c99ef1932c6a2e83fc4fa2e4eb6674bc8/recipes/fzf"; @@ -24031,12 +25305,12 @@ gams-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "gams-mode"; - version = "20160320.228"; + version = "20161203.231"; src = fetchFromGitHub { owner = "ShiroTakeda"; repo = "gams-mode"; - rev = "268ee8b4554446104d200de3ffbd2f067b20cb3f"; - sha256 = "16x3fz2ljrmqhjy7w96fhp3j9ja2gib042c363yfrzwa7q5rxzd2"; + rev = "a803f9e4509b8f8fed17ef25737d941bbe846c96"; + sha256 = "1avbdfw3hvwqnrlg3hv8p64m9gqgvwl9ggqzn6rhxh1zlr7i5cwy"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c895a716636b00c2a158d33aab18f664a8601833/recipes/gams-mode"; @@ -24113,12 +25387,12 @@ geben = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "geben"; - version = "20160817.1834"; + version = "20170103.448"; src = fetchFromGitHub { owner = "ahungry"; repo = "geben"; - rev = "7a125456d3aa97c9217520da6893421804559884"; - sha256 = "1k4lrj261p2kafqbkvw7ghnqvm9xkfkvff5cx9m244ay14g6n7ny"; + rev = "b6379dd479f28b2ace418e2cc57d30559f634036"; + sha256 = "0x97xqk9xs6h1h3jqwkwi7q32j4pzw0rygsqmgb3n80l7zja6114"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6f8648609e160f7dcefe4a963e8b00475f2fff78/recipes/geben"; @@ -24176,12 +25450,12 @@ geiser = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "geiser"; - version = "20160829.1350"; + version = "20161202.1657"; src = fetchFromGitHub { owner = "jaor"; repo = "geiser"; - rev = "25fdd8dcda3fabcfffe983b7cadb3196dbca801b"; - sha256 = "0yz5q0ya1612kfn22xmwxx9yq32dqznilrdvavm7glgh6765wznd"; + rev = "6893f692259c0241049bf614147160c44dd4ba3e"; + sha256 = "12gimg3qhnl2r2hx00q602k1rnjcj49hc1v7a23d58c0gmqr4yb6"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b0fe32d24cedd5307b4cccfb08a7095d81d639a0/recipes/geiser"; @@ -24197,12 +25471,12 @@ general = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "general"; - version = "20160621.1258"; + version = "20161203.1641"; src = fetchFromGitHub { owner = "noctuid"; repo = "general.el"; - rev = "6dd637debd7ef37925ec5e4bd2da4626b8c075b0"; - sha256 = "1h6f46hlmim17zn2y2c5lqpn4nxzbprqiz5jl5dh3rr37l6qm4iz"; + rev = "11f21c9c53091bc538652f1448e75557ad526b9c"; + sha256 = "0pyyvab0l5xbkm4w9sc34g68vz56qsy8fkhj5nh00rigwi9pcsla"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d86383b443622d78f6d8ff7b8ac74c8d72879d26/recipes/general"; @@ -24215,27 +25489,6 @@ license = lib.licenses.free; }; }) {}; - general-close = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: - melpaBuild { - pname = "general-close"; - version = "20160830.435"; - src = fetchFromGitHub { - owner = "emacs-berlin"; - repo = "general-close"; - rev = "ef9ed23ea1cf11267f7178b70489aa604e6888d0"; - sha256 = "02zikvi8fzw7j06ab5kv17fdjz37rljzdf7lmh8iby3vb3zc81vb"; - }; - recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/641a48f5148df2a19476c9b3302934a604f5c283/recipes/general-close"; - sha256 = "17v0aprfvxbygx5517a8hrl88qm5lb9k7523yd0ps5p9l5x96964"; - name = "general-close"; - }; - packageRequires = []; - meta = { - homepage = "https://melpa.org/#/general-close"; - license = lib.licenses.free; - }; - }) {}; genrnc = callPackage ({ concurrent, deferred, fetchFromGitHub, fetchurl, lib, log4e, melpaBuild, yaxception }: melpaBuild { pname = "genrnc"; @@ -24260,12 +25513,12 @@ german-holidays = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "german-holidays"; - version = "20151102.743"; + version = "20161011.13"; src = fetchFromGitHub { owner = "rudolfochrist"; repo = "german-holidays"; - rev = "8388b3bf5b5c38f9b9fcc9216ca26ef0640c6edc"; - sha256 = "0344w4sbd6wlgl13j163v0hzjw9nwhvpr5s7658xsdd90wp4i701"; + rev = "d7d540c229c1a8be68ee09fbda08fe3ea31b7d29"; + sha256 = "1rfka83jwd68k93vn3f7llxd6z0ma5k98gws0081y8i9fc21fnsd"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/bf5b3807ff989b13f95e8d6fad2f26a42ff0643c/recipes/german-holidays"; @@ -24323,12 +25576,12 @@ ggtags = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ggtags"; - version = "20160617.1840"; + version = "20161022.251"; src = fetchFromGitHub { owner = "leoliu"; repo = "ggtags"; - rev = "b4ee572a6b2e70d3db6ce11f73e6f87b73a13273"; - sha256 = "07gbnymgc6lfv1vd37kqfm5bwg5zn5603fs2amrcc6jz3jyqfn0p"; + rev = "2149f3a4a855ccebbe0c8832079a9f5d5d50909a"; + sha256 = "1nggwr28wbiz0ch7c5w9rs909gm5qxdqhfnv7d4zikfh568dv8y5"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b158bb1bc2fbe3de61a6b21174eac7b1457edda2/recipes/ggtags"; @@ -24344,12 +25597,12 @@ gh = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, logito, marshal, melpaBuild, pcache, s }: melpaBuild { pname = "gh"; - version = "20160728.1525"; + version = "20161119.2004"; src = fetchFromGitHub { owner = "sigma"; repo = "gh.el"; - rev = "87cd3e9dcdefeb1a6d781a3fad78eaeb6ef2ac7f"; - sha256 = "13wch5vp837nvw2ilcv40j3q9j6dx0j0a3q74g23vy3sn42r8znc"; + rev = "6a76836a2ed1ebc3380dcfbe2b46786abf905fab"; + sha256 = "0anlavmfhm0ax6566sl9ih0j4v80s313n32d4yfp9lh4f1drp62k"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/gh"; @@ -24390,8 +25643,8 @@ src = fetchFromGitHub { owner = "DanielG"; repo = "ghc-mod"; - rev = "8be4cdfe5f051f29a2488baae8a106a914d83ba8"; - sha256 = "10f5492r6pb203669zgpy49csz2jfmjxp53pnyk2rwyzfy0ci3v6"; + rev = "b859ca7f40c1a6b0a4250497dca1f1c524e08f14"; + sha256 = "0lzighzxyz4m8zanhbiz4cis0r4v9j5f2s7h709kpmzzmxr8qd6r"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/ghc"; @@ -24554,12 +25807,12 @@ gist = callPackage ({ emacs, fetchFromGitHub, fetchurl, gh, lib, melpaBuild }: melpaBuild { pname = "gist"; - version = "20160118.1656"; + version = "20161127.855"; src = fetchFromGitHub { owner = "defunkt"; repo = "gist.el"; - rev = "9a5c382327eb9f1e11e04a1bdeeebd215ea5fd54"; - sha256 = "0gawx1fcfzvwql6awxy6vslvmmxlmggg3vlby8lqka9ywh7dbf4b"; + rev = "62888de7f776c867a51cee4d5d55edc561e519cc"; + sha256 = "0xvmrpx3gbdancxhggw7k7r2bzlwmni9vynsjf5ddpv5alw2bscx"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/gist"; @@ -24617,12 +25870,12 @@ git-auto-commit-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "git-auto-commit-mode"; - version = "20150404.751"; + version = "20161229.817"; src = fetchFromGitHub { owner = "ryuslash"; repo = "git-auto-commit-mode"; - rev = "075e5f9ded66c2035581a7b216896556cc586814"; - sha256 = "0psmr7749nzxln4b500sl3vrf24x3qijp12ir0i5z4x25k72hrlh"; + rev = "2c8197e5d7813734d6a49f9b9c0b227b7ae022a8"; + sha256 = "0h8kma09r5fw4b2fbbia5z42x8gg72w6zk39pxnsw876kwa8798f"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5660fb76ce93e5fe56227698d079c6994ef3305f/recipes/git-auto-commit-mode"; @@ -24635,24 +25888,24 @@ license = lib.licenses.free; }; }) {}; - git-blame = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + git-blamed = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { - pname = "git-blame"; - version = "20110509.926"; + pname = "git-blamed"; + version = "20161028.1226"; src = fetchFromGitHub { owner = "tsgates"; repo = "git-emacs"; - rev = "cfd3afe42b7d314c0cd1fc280dc35c69fc133869"; - sha256 = "125lh4gkxa0i66kvr0a6mrnc33knpqafjm3vg3278wy69pqrrznb"; + rev = "cef196abf398e2dd11f775d1e6cd8690567408aa"; + sha256 = "1n6x69z1s3hk6m6w8gpmqyrb2cxfzhi9w7q94d46c3z6r75v18vz"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/ca7bf43ef8893bf04e9658390e306ef69e80a156/recipes/git-blame"; - sha256 = "0glmnj77vya8ivjin4qja7lis67wyibzy9k6z8b54z7mqf9ikx06"; - name = "git-blame"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/87bc01218964a01cfd471ee068ed75976793a568/recipes/git-blamed"; + sha256 = "08az5mwg8kv8xsivs63y4sym54l1n34zc9z6k0iwpfixv9f8bk9p"; + name = "git-blamed"; }; packageRequires = []; meta = { - homepage = "https://melpa.org/#/git-blame"; + homepage = "https://melpa.org/#/git-blamed"; license = lib.licenses.free; }; }) {}; @@ -24680,12 +25933,12 @@ git-commit = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, with-editor }: melpaBuild { pname = "git-commit"; - version = "20160821.1338"; + version = "20161227.1257"; src = fetchFromGitHub { owner = "magit"; repo = "magit"; - rev = "ec81268eb1c08c164ce363acca777e0fd96cc2dc"; - sha256 = "08633gmcg63k62qrk1cs96hclvs9q2r6777kcb76xfa63xal9rfs"; + rev = "d75529458b09998a68779d348527aa5a19045bed"; + sha256 = "1si1xxn3pqd4p7vanyhq2zs4cbdkgwb908afl1dx3mih3wf1v1fr"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/git-commit"; @@ -24698,22 +25951,22 @@ license = lib.licenses.free; }; }) {}; - git-commit-insert-issue = callPackage ({ fetchFromGitLab, fetchurl, github-issues, helm, lib, melpaBuild, projectile, s }: + git-commit-insert-issue = callPackage ({ fetchFromGitLab, fetchurl, github-issues, gitlab, helm, lib, melpaBuild, projectile, s }: melpaBuild { pname = "git-commit-insert-issue"; - version = "20160122.749"; + version = "20161206.1051"; src = fetchFromGitLab { owner = "emacs-stuff"; repo = "git-commit-insert-issue"; - rev = "df1c86ac1ec9f40b11fa5c7400966ef97f4c3c67"; - sha256 = "1vdyrqg2w5q4xmazqqh2ymjnrp9p1x5172nllwryz43jvvxaw05s"; + rev = "fcfbb9cea98426c65edeb989f7470fbd5ce4b608"; + sha256 = "12rzzysjq7c8jnhwlyppgcn8h9am95iw3la1h1y3bxpfisxkshy8"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2356f63464e06c37514447c315c23735da22383a/recipes/git-commit-insert-issue"; sha256 = "0mhpszm2y178dxgjv3kh2n744hg2kd60h16zbgmjf4f8228xw8j3"; name = "git-commit-insert-issue"; }; - packageRequires = [ github-issues helm projectile s ]; + packageRequires = [ github-issues gitlab helm projectile s ]; meta = { homepage = "https://melpa.org/#/git-commit-insert-issue"; license = lib.licenses.free; @@ -24740,22 +25993,22 @@ license = lib.licenses.free; }; }) {}; - git-gutter = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + git-gutter = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "git-gutter"; - version = "20160828.711"; + version = "20161105.656"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-git-gutter"; - rev = "aa9420614ca814b2c63a2a47661901b389e10357"; - sha256 = "1f71jcfh9wgfpapdaizc333kmpdg131dlchrbrwd1ymjb7kxp61j"; + rev = "00c05264af046b5ce248e5b0bc42f117d9c27a09"; + sha256 = "1c7byzv27sqcal0z7113s1897prxhynk6y89mq1fjlxmr0g20vzb"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/81f0f525680fea98e804f39dbde1dada887e8821/recipes/git-gutter"; sha256 = "19s344i95piixlzq4mjgmgjw7cy8af02z6hg89jjjdbxrfl4i2fg"; name = "git-gutter"; }; - packageRequires = [ cl-lib emacs ]; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/git-gutter"; license = lib.licenses.free; @@ -24764,12 +26017,12 @@ git-gutter-fringe = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, fringe-helper, git-gutter, lib, melpaBuild }: melpaBuild { pname = "git-gutter-fringe"; - version = "20160520.1656"; + version = "20161221.1712"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-git-gutter-fringe"; - rev = "dfc93d1064df154a809aab350942830408051da3"; - sha256 = "18jpa5i99x0gqizs2qbqr8c1jlza8x9vpb6wg9zqd4np1p6q4lan"; + rev = "0b28a5f2a575cc710473884d6d2bbda5975c11e0"; + sha256 = "0474y0qxdq9srhc279dndx4338wrjxq4cq4ngx5ig7sj6v12dqn4"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/81f0f525680fea98e804f39dbde1dada887e8821/recipes/git-gutter-fringe"; @@ -24848,12 +26101,12 @@ git-link = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "git-link"; - version = "20160813.1502"; + version = "20161203.1823"; src = fetchFromGitHub { owner = "sshaw"; repo = "git-link"; - rev = "b9e197419b1d71c7190c2e7cb14b89d9e6759ab2"; - sha256 = "0f10qqmjaxy29qw86a85kjshyj8wc5dldymm8i89l3hb9s9iv260"; + rev = "255f42e72f7565eeb7feb40e18507348dfccec0a"; + sha256 = "1333vll16snfg135hbczl8d0l8smqz98kz89jv4fcyp9gs6g8sp7"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1385443585e628e3d4efb3badb7611e9d653e0c9/recipes/git-link"; @@ -24866,22 +26119,22 @@ license = lib.licenses.free; }; }) {}; - git-messenger = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, popup }: + git-messenger = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, popup }: melpaBuild { pname = "git-messenger"; - version = "20160815.1952"; + version = "20170101.2040"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-git-messenger"; - rev = "9412a975f4723e9bc9c9feb4ec064b2e8c0c659d"; - sha256 = "1hh99ippc1bpqpnchvhbh7yzcsjx9v7bbpy5r9hx82kx0xqih0sc"; + rev = "83815915eb8c1cb47443ff34bca3fecf7d2edf3a"; + sha256 = "1jkfzcn8gl3s5y2hwqkac7lm88q80hgcp66zvy7vnylka1scb6lz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e791293133f30e5d96c4b29e972f9016c06c476d/recipes/git-messenger"; sha256 = "1rnqsv389why13cy6462vyq12qc2zk58p01m3hsazp1gpfw2hfzn"; name = "git-messenger"; }; - packageRequires = [ cl-lib popup ]; + packageRequires = [ emacs popup ]; meta = { homepage = "https://melpa.org/#/git-messenger"; license = lib.licenses.free; @@ -24890,12 +26143,12 @@ git-ps1-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "git-ps1-mode"; - version = "20151228.102"; + version = "20170102.1944"; src = fetchFromGitHub { owner = "10sr"; repo = "git-ps1-mode-el"; - rev = "bb177a87a06ec928a008fc50b06ed1967b68867a"; - sha256 = "1v0jk35ynfg9hivw9gdz2snk73pac67xlfx7av8argdcss1bmyb0"; + rev = "e41c630f5d04cb1a4d38a4b500d7a154a96a4655"; + sha256 = "11bg953nk5x501vkr0jrz710pz3qxla27bgrd4gp503fbygnixkz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ea177b5ea168828881bd8dcd29ef6b4cb81317f0/recipes/git-ps1-mode"; @@ -24911,12 +26164,12 @@ git-timemachine = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "git-timemachine"; - version = "20160607.1228"; + version = "20161125.142"; src = fetchFromGitHub { owner = "pidu"; repo = "git-timemachine"; - rev = "96a72dc0f86e420629760915db99533f4301e759"; - sha256 = "1718d20f87wypfsrxyihna7mqpy94fl44hhdw1l42v1iizk9157p"; + rev = "d67901fd3f87f4836386d85a4a7df8a300d47147"; + sha256 = "0rgcr26snphimiigs3krzb577zd6xpzzhw1mcvmq2cjbc6hi6sdn"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/41e95e41fc429b688f0852f58ec6ce80303b68ce/recipes/git-timemachine"; @@ -25055,6 +26308,27 @@ license = lib.licenses.free; }; }) {}; + github-elpa = callPackage ({ commander, fetchFromGitHub, fetchurl, git, lib, melpaBuild, package-build }: + melpaBuild { + pname = "github-elpa"; + version = "20160922.907"; + src = fetchFromGitHub { + owner = "10sr"; + repo = "github-elpa"; + rev = "7619a564edb1985b0487786a3b4ec6d12f897b5b"; + sha256 = "176x0dclclpa6am091f866ybqhhdnlq7jgsik5b5m74dl26bcxcg"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/81ec06e370f51b750ba3313b661d7386710cffb0/recipes/github-elpa"; + sha256 = "1981dnz49l5r4qsn49i4dhy6x4ln0haff6gl2zx0p5p0zfkzbi7x"; + name = "github-elpa"; + }; + packageRequires = [ commander git package-build ]; + meta = { + homepage = "https://melpa.org/#/github-elpa"; + license = lib.licenses.free; + }; + }) {}; github-issues = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "github-issues"; @@ -25079,12 +26353,12 @@ github-notifier = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "github-notifier"; - version = "20160702.2112"; + version = "20161102.755"; src = fetchFromGitHub { owner = "xuchunyang"; repo = "github-notifier.el"; - rev = "7fa3e5fd519711bcc241af73abc72fd0b6c1b3a9"; - sha256 = "0mi2yn6b1vhs4zdwqzyifi20bjy3ac0ycvza7ybvwanbkxb1kmfh"; + rev = "12621caa8d78bf2b559d2113ef476a8f2c2a4e0e"; + sha256 = "1cwabnm6nirmrwdq14l3pqdjh40h49icbfjx3z86rppp7cj3dmlm"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c09f4e7e8a84a241881d214e8359f8a50ab14ddf/recipes/github-notifier"; @@ -25104,8 +26378,8 @@ src = fetchFromGitHub { owner = "IvanMalison"; repo = "github-search"; - rev = "1a5c1f8291f4d41e57367a8522699cb08eea8fc4"; - sha256 = "1382hda3hgpx3c3d1kjzz8hs4l5hi3s7c485hsgihhr6xdd5wrgm"; + rev = "24435772bf8c2c55b4f228917a1344d785851e2a"; + sha256 = "1863g5gphlz1xr465r9nplf5n3ajz1b6girswf3fv1gk8xl1swjj"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/733a808400858513137e0e3d7d38b5b25e8ddc5a/recipes/github-search"; @@ -25142,12 +26416,12 @@ gitlab = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info, request, s }: melpaBuild { pname = "gitlab"; - version = "20160519.303"; + version = "20161013.604"; src = fetchFromGitHub { owner = "nlamirault"; repo = "emacs-gitlab"; - rev = "a1c1441ff5ffb290e695eb9ac05431e9385578f4"; - sha256 = "0ywjrgafpl4cnrykx9yysazr7hkd2pxk67h065f8z3mid6cgh1wa"; + rev = "2efdc9bc2f572fceb11199cecdd04aae03df3cb0"; + sha256 = "0pxmmgsrn5d2jmak3plwb6h15h2d4sbwk49q6gdniglcf9nagckq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1d012991188956f6e06c37d504b0d06ab31487b9/recipes/gitlab"; @@ -25181,24 +26455,24 @@ license = lib.licenses.free; }; }) {}; - gitty = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + gitter = callPackage ({ emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild }: melpaBuild { - pname = "gitty"; - version = "20151120.2348"; + pname = "gitter"; + version = "20161203.9"; src = fetchFromGitHub { - owner = "jorgenschaefer"; - repo = "gitty"; - rev = "c7c3d622d59531d023b9184d2479316c28045ca2"; - sha256 = "0y8msn22lzfwh7d417abay9by2zhs9zswhcj8a0l7ln2ksljl500"; + owner = "xuchunyang"; + repo = "gitter.el"; + rev = "6e92491ddb7079f868ffcc07d69bc82ef35d7d2b"; + sha256 = "16hnw8bcbbnwzw9mbb98icri7q7zl39b60r9gn5gr3bxaarbh9dl"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/01d314eac1da048fe67eb907c42734f495462c20/recipes/gitty"; - sha256 = "1z6w4vbn0aaajyqanc7h1m5ali7dbrnh4ngw87a2x2pkxarx6x16"; - name = "gitty"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/b8076c3b4d60e4c505bb6f4e426ecc4f69d74684/recipes/gitter"; + sha256 = "1ad5abqgfh6x2fcqbbdvgbg8xin69j0h93z7bav1hs3jla7mgwnv"; + name = "gitter"; }; - packageRequires = []; + packageRequires = [ emacs let-alist ]; meta = { - homepage = "https://melpa.org/#/gitty"; + homepage = "https://melpa.org/#/gitter"; license = lib.licenses.free; }; }) {}; @@ -25209,8 +26483,8 @@ src = fetchFromGitLab { owner = "tarsius"; repo = "glab"; - rev = "cbba9c2bc55146015d75b8483237b501f761eb06"; - sha256 = "0wrkhinh5bgrhaw6d8v8p2sv2s7d5mp407qg4hipsl21vw8c836q"; + rev = "5ced0214622450930bcea105b9aac785c594609d"; + sha256 = "100lz4dqn9ggvlvdrp909cy44br9hnlaa62pj0kp1vdqqxfxwfyn"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9375cbae3ffe5bf4ba5606358860050f3005d9b7/recipes/glab"; @@ -25268,12 +26542,12 @@ gmail2bbdb = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "gmail2bbdb"; - version = "20150909.1839"; + version = "20161104.2041"; src = fetchFromGitHub { owner = "redguardtoo"; repo = "gmail2bbdb"; - rev = "f0e23a1262bb683285b381b1d142478ba345af1a"; - sha256 = "01hhanijqlh741f9wh6xn88qvghwqnfj5j0rvys5mghssfspqs3z"; + rev = "181ef6039227bb30a02041d8cfdc435551a7d948"; + sha256 = "0205ldrw1i7czq44pqdl374cl0rjp5w5zadrayw8brl7mmw92byn"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/fb3c88b20a7614504165cd5fb459b0a9d5c73f60/recipes/gmail2bbdb"; @@ -25310,12 +26584,12 @@ gnome-calendar = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "gnome-calendar"; - version = "20140112.359"; + version = "20161110.456"; src = fetchFromGitHub { owner = "NicolasPetton"; repo = "gnome-calendar.el"; - rev = "58c3a3c32aff9901c679bdf9091ed934897b84a0"; - sha256 = "160qm8xf0yghygb52p8cykhb5vpg9ww3gjprcdkcxplr4b230nnc"; + rev = "489f9f15f7bb35696b1cc19db75b554ae8328df2"; + sha256 = "1aca65g4rfpsm4yk5k2bj6kbb2wrf6s14m8jgv1p94mqmzkj7rlq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8e497668d65f0eabd15e39b7492adb395a5a8e75/recipes/gnome-calendar"; @@ -25373,12 +26647,12 @@ gnu-apl-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "gnu-apl-mode"; - version = "20160805.36"; + version = "20170102.1952"; src = fetchFromGitHub { owner = "lokedhs"; repo = "gnu-apl-mode"; - rev = "ba0d4d4815361e0af67d956d00880cad10553239"; - sha256 = "19jkryr60acls0bbhw3223xdjj37bi1ky8glw7zwhapbln52bgqr"; + rev = "c2ceb4c59c9ed5f17a9ed274007185ad62037134"; + sha256 = "0gn7wjq93fq824rs2r82mygy0b3ncn3wfki1xh12b5crvdibg3q7"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/369a55301bba0c4f7ce27f6e141944a523beaa0f/recipes/gnu-apl-mode"; @@ -25538,12 +26812,12 @@ go = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "go"; - version = "20160430.1739"; + version = "20161110.1849"; src = fetchFromGitHub { owner = "eschulte"; repo = "el-go"; - rev = "8d5e61b5e50bfb807bb45d4c979bd86a2ba67149"; - sha256 = "1i6x7larpqm5h4369pz07353lk0v6gyb5grk52xslmg8w14si52n"; + rev = "ff45fb44d9cb6579d8511d8b6156ed0b34d5ac97"; + sha256 = "14av8zcxp9r4ka0h9x73i6gzwbf231wqkin65va3agrzwaf8swz1"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/50e8d089f4e163eb459fc602cb90440b110b489f/recipes/go"; @@ -25556,6 +26830,27 @@ license = lib.licenses.free; }; }) {}; + go-add-tags = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: + melpaBuild { + pname = "go-add-tags"; + version = "20161123.427"; + src = fetchFromGitHub { + owner = "syohex"; + repo = "emacs-go-add-tags"; + rev = "54879945e46a0884c5f93d7fd6c866a9cdf401ac"; + sha256 = "1gr65skrd41pk46ilfsbxfdng4br6h9c6blf1q1wx6i9ylhs0ak5"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/55d3b893bd68d3d2d86ecdbb4ed442edd256516a/recipes/go-add-tags"; + sha256 = "0nvas44rsvqzk2ay5bhzkbrnzql13vnxq9pk4lp4mvp86dda9qim"; + name = "go-add-tags"; + }; + packageRequires = [ emacs s ]; + meta = { + homepage = "https://melpa.org/#/go-add-tags"; + license = lib.licenses.free; + }; + }) {}; go-autocomplete = callPackage ({ auto-complete, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "go-autocomplete"; @@ -25563,8 +26858,8 @@ src = fetchFromGitHub { owner = "nsf"; repo = "gocode"; - rev = "57b3fab1de11102eee896051605108949fbe75da"; - sha256 = "19829cfyl181kjqp5mn71f0symypfp1f2g5hi8a6949ya9n3l6rm"; + rev = "5070dacabf2a80deeaf4ddb0be3761d06fce7be5"; + sha256 = "0w54cwjcyq7cr3g50kg4zy1xrkaqakb18qbdam11qvz6kix3syg1"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/04867a574773e8794335a2664d4f5e8b243f3ec9/recipes/go-autocomplete"; @@ -25643,12 +26938,12 @@ go-eldoc = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, go-mode, lib, melpaBuild }: melpaBuild { pname = "go-eldoc"; - version = "20160307.616"; + version = "20161012.616"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-go-eldoc"; - rev = "6b28222429158f11988358f143da3eac7d0d48fb"; - sha256 = "13r0m5ghqvpgkq6yxsqdx4g64s29qv9hn2cfcxk7wza7bxz1p9nk"; + rev = "ecf71a75ccfac7f9bc6fac64ef536f2ffb56b3bf"; + sha256 = "1q3l8x7qlcblxy0h4j48hzqjx90c14qh7nzbk8gds3ff2yrxy2kl"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6ce1190db06cc214746215dd27648eded5fe5140/recipes/go-eldoc"; @@ -25703,18 +26998,19 @@ license = lib.licenses.free; }; }) {}; - go-guru = callPackage ({ cl-lib ? null, fetchgit, fetchurl, go-mode, lib, melpaBuild }: + go-guru = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, go-mode, lib, melpaBuild }: melpaBuild { pname = "go-guru"; - version = "20160715.854"; - src = fetchgit { - url = "https://go.googlesource.com/tools"; - rev = "9deed8c6c1c89e0b6d68d727f215de8e851d1064"; - sha256 = "10pj8yilyk8mgflmql09qfqbp7lyfqdpf9y9v099bz70vyw7is24"; + version = "20161117.331"; + src = fetchFromGitHub { + owner = "dominikh"; + repo = "go-mode.el"; + rev = "d9647672717bb5d507de42975a337c738a0461a3"; + sha256 = "18x01y9qlqmpvyl638ymc1ml6j33xgc0xhig6qfx0y7s484zblm8"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/816a2511c54e451313c7ac9433d0860f95e68da6/recipes/go-guru"; - sha256 = "0c62rvsfqcx2g02iwaga2zp1266w0zhkc73ihpi0iq7cd6nr4wn0"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/0cede3a468b6f7e4ad88e9fa985f0fdee7d195f5/recipes/go-guru"; + sha256 = "01f0gz65z8d0iv8k49xl2sp6q4qnsvwhd4g8fb2irp7iclb0xmvk"; name = "go-guru"; }; packageRequires = [ cl-lib go-mode ]; @@ -25726,12 +27022,12 @@ go-impl = callPackage ({ emacs, fetchFromGitHub, fetchurl, go-mode, lib, melpaBuild }: melpaBuild { pname = "go-impl"; - version = "20160626.156"; + version = "20161225.1819"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-go-impl"; - rev = "55c6215c009458c8bc36e344c2b3ae48536e8de4"; - sha256 = "168kcz1f0m6dxi0hj2jwl1299469zy7mrri5i5ym2hzc85rhgazp"; + rev = "5d2037e16cf354abffba68fb9ea86790e0be5eb3"; + sha256 = "1b1628z1rlb2varxk3svwm13s5x6db0503q4d0yb3kk7hk38wpm8"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/aa1a0845cc1a6970018b397d13394aaa8147e5d0/recipes/go-impl"; @@ -25747,16 +27043,16 @@ go-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "go-mode"; - version = "20160715.205"; + version = "20161231.1134"; src = fetchFromGitHub { owner = "dominikh"; repo = "go-mode.el"; - rev = "737611ee2f8ffd6ae573e37cc04c4ad4abe7697d"; - sha256 = "0wljlakm6gjgjrvinpi7vgs1n08xj87cvqq149gzzjwa9dq2gk15"; + rev = "d9647672717bb5d507de42975a337c738a0461a3"; + sha256 = "18x01y9qlqmpvyl638ymc1ml6j33xgc0xhig6qfx0y7s484zblm8"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/8a9d94efc1a0cedaaa0a1acd1227b2530efefca2/recipes/go-mode"; - sha256 = "1852zjxandmq0cpbf7m56ar3rbdi7bx613gdgsf1bg8hsdvkgzfx"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/0cede3a468b6f7e4ad88e9fa985f0fdee7d195f5/recipes/go-mode"; + sha256 = "0ghqm4lbkfla79plqiyb1lzf5kbz0380h9vf8px15zal00xrv0bl"; name = "go-mode"; }; packageRequires = []; @@ -25768,12 +27064,12 @@ go-playground = callPackage ({ emacs, fetchFromGitHub, fetchurl, go-mode, gotest, lib, melpaBuild }: melpaBuild { pname = "go-playground"; - version = "20160426.1228"; + version = "20161227.1105"; src = fetchFromGitHub { owner = "grafov"; repo = "go-playground"; - rev = "c0acf75774d4e87a8454be610de1408e7c3a344b"; - sha256 = "1zr8bhmihix8lwhz84qgbih9q9spvb4681c0n4s6x4qhk61231q3"; + rev = "8365cac2f5bc2a71c454fe60856da0f97745ef65"; + sha256 = "1pb5k05x02ccfk52rj97wbf5q2wrcrs60h7ds9j5ri4r1v6baflq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/900aabb7bc2350698f8740d72a5fad69c9219c33/recipes/go-playground"; @@ -25828,18 +27124,19 @@ license = lib.licenses.free; }; }) {}; - go-rename = callPackage ({ fetchgit, fetchurl, go-mode, lib, melpaBuild }: + go-rename = callPackage ({ fetchFromGitHub, fetchurl, go-mode, lib, melpaBuild }: melpaBuild { pname = "go-rename"; - version = "20160307.744"; - src = fetchgit { - url = "https://go.googlesource.com/tools"; - rev = "9deed8c6c1c89e0b6d68d727f215de8e851d1064"; - sha256 = "10pj8yilyk8mgflmql09qfqbp7lyfqdpf9y9v099bz70vyw7is24"; + version = "20161117.331"; + src = fetchFromGitHub { + owner = "dominikh"; + repo = "go-mode.el"; + rev = "d9647672717bb5d507de42975a337c738a0461a3"; + sha256 = "18x01y9qlqmpvyl638ymc1ml6j33xgc0xhig6qfx0y7s484zblm8"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/421911dd75eec0f857295b76d310b8282053b57f/recipes/go-rename"; - sha256 = "1sc3iwxiydgs787a6pi778i0qzqv3bf498r47jwiw5b6mmib3fah"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/d806abe90da9a8951fdb0c31e2167bde13183c5c/recipes/go-rename"; + sha256 = "1cd2nfgwnqzylbry11ahahdip8w66w5hnrndrs65ip10s08w2xki"; name = "go-rename"; }; packageRequires = [ go-mode ]; @@ -25911,6 +27208,27 @@ license = lib.licenses.free; }; }) {}; + gobgen = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "gobgen"; + version = "20161020.823"; + src = fetchFromGitHub { + owner = "gergelypolonkai"; + repo = "gobgen.el"; + rev = "ed2c2b0d217deae293096f3cf14aa492791ddd4f"; + sha256 = "1isda941gzrl9r2xxaxbsqjxq146cmnhl04m634m8m0q2d751pwk"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/8c9fed22bb8dbfb359e4fdb0d802ed4b5781f50d/recipes/gobgen"; + sha256 = "0fb0q9x7wj8gs1iyr87q1vpxmfa2d43zy6cgxpzmv2wc26x96vi7"; + name = "gobgen"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/gobgen"; + license = lib.licenses.free; + }; + }) {}; god-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "god-mode"; @@ -25932,6 +27250,27 @@ license = lib.licenses.free; }; }) {}; + godoctor = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "godoctor"; + version = "20161205.143"; + src = fetchFromGitHub { + owner = "microamp"; + repo = "godoctor.el"; + rev = "f892a4dbabe61186540d6035c5185fd929a6a543"; + sha256 = "1cg09mihvqchgvdxwlrg9vcdj1kvmmy8zmlkscxi6smaxbi0yvjm"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/0e23e1362ff7d477ad9ce6cfff694db989dfb87b/recipes/godoctor"; + sha256 = "0k734hry9npsr6zhsplcvmcjqw6jdf79pv4k9dw0xvd598hkpazz"; + name = "godoctor"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/godoctor"; + license = lib.licenses.free; + }; + }) {}; gold-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, sws-mode }: melpaBuild { pname = "gold-mode"; @@ -26002,8 +27341,8 @@ src = fetchFromGitHub { owner = "golang"; repo = "lint"; - rev = "c7bacac2b21ca01afa1dee0acf64df3ce047c28f"; - sha256 = "024dllcmpg8lx78cqgq551i6f9w6qlykfcx8l7yazak9kjwhpwjg"; + rev = "206c0f020eba0f7fbcfbc467a5eb808037df2ed6"; + sha256 = "11ygf8hswvc9rj6jp7zn8wyjlraw9qrl072grn2h4s1flblpxp53"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/34f22d829257456abbc020c006b92da9c7a7860e/recipes/golint"; @@ -26065,8 +27404,8 @@ src = fetchFromGitHub { owner = "google"; repo = "styleguide"; - rev = "6d3a7d8a229e189f7a5bb7c3923363356625ece5"; - sha256 = "1yzx5zk91cyl3j0xf6a8nq6m9yx76x9icyzy8x226sch1y8k9jy9"; + rev = "159b4c81bbca97a9ca00f1195a37174388398a67"; + sha256 = "15vcdzkfnx36m3dw0744rsdqnridvzdiyly7n3hjck1l87gwvvia"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b4e7f5f641251e17add561991d3bcf1fde23467b/recipes/google-c-style"; @@ -26100,22 +27439,22 @@ license = lib.licenses.free; }; }) {}; - google-maps = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + google-maps = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "google-maps"; - version = "20130412.230"; + version = "20161210.458"; src = fetchFromGitHub { owner = "jd"; repo = "google-maps.el"; - rev = "90151ab59e693243ca8da660ce7b9ce361ea5126"; - sha256 = "183igr5lp20zcqi7rc01fk76sfxdhksd74i11v16gdsifdkjimd0"; + rev = "956e6ad42bc3819bcaf4cc66a640f5079b385ed7"; + sha256 = "0dqcs9dl3170zddh4npsqm1ql0n0a0378gyqxk0vi0ibzch537vk"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/671afe0ff3889ae8c4b2d7b8617a3a25c16f3f0f/recipes/google-maps"; sha256 = "0a0wqs3cnlpar2dzdi6h14isw78vgqr2r6psmrzbdl00s4fcyxwx"; name = "google-maps"; }; - packageRequires = []; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/google-maps"; license = lib.licenses.free; @@ -26145,12 +27484,12 @@ google-translate = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "google-translate"; - version = "20160824.1707"; + version = "20161206.1408"; src = fetchFromGitHub { owner = "atykhonov"; repo = "google-translate"; - rev = "7e156e840d597f413ef3debd7629adf8de63da5d"; - sha256 = "1yf7z7mwn4qq9q1phiap565nvs8yrw7p1y8i7wwi2xbi91mjc232"; + rev = "52d34c96b400b1b933c727933279f79256951b19"; + sha256 = "1acck34q5dqizx2wsm0q31lzwx0wwyzv6g53naf5m94bjw7xv088"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e3c275e59cbfe6e40f9cd4c470fc66544c9a6d21/recipes/google-translate"; @@ -26163,27 +27502,6 @@ license = lib.licenses.free; }; }) {}; - goose-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: - melpaBuild { - pname = "goose-theme"; - version = "20160828.545"; - src = fetchFromGitHub { - owner = "thwg"; - repo = "goose-theme"; - rev = "acd017b50ab25a75fd1331eb3de66467e2042e9c"; - sha256 = "1mmdvjsgnwgs6akhyj96fgj30mz53djdq85dl5q4cmiznlbma7hy"; - }; - recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/5fa2ce32adbccdbc3f1b642585b430202e7ae274/recipes/goose-theme"; - sha256 = "18kfz61mhf8pvp3z5cdvjklla9p840p1dazylrgjb1g5hdwqw0n9"; - name = "goose-theme"; - }; - packageRequires = [ emacs ]; - meta = { - homepage = "https://melpa.org/#/goose-theme"; - license = lib.licenses.free; - }; - }) {}; gore-mode = callPackage ({ fetchFromGitHub, fetchurl, go-mode, lib, melpaBuild }: melpaBuild { pname = "gore-mode"; @@ -26229,12 +27547,12 @@ gotest = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, go-mode, lib, melpaBuild, s }: melpaBuild { pname = "gotest"; - version = "20160627.21"; + version = "20161017.204"; src = fetchFromGitHub { owner = "nlamirault"; repo = "gotest.el"; - rev = "74128f5c759318b5a25792a72924ea130db27e72"; - sha256 = "0kasaiz3wi7gnl91byhfg2hczhv0r6i59cyh32m4abrmwagbk3xj"; + rev = "2ae187078beb5d9672ca14cb636b6b4021de4230"; + sha256 = "1pq9zjfs7gp7bz3jq11fx75m4zcx9p772lja5jicz535khpgxw7f"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0670b42c0c998daa7bf01080757976ac3589ec06/recipes/gotest"; @@ -26250,12 +27568,12 @@ gotham-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "gotham-theme"; - version = "20160823.106"; + version = "20161022.848"; src = fetchFromGitHub { owner = "wasamasa"; repo = "gotham-theme"; - rev = "d45287581d3844dbc7218cff646de16f685edbea"; - sha256 = "13lgj7hy9g98797lcw1a82fww7fglgxwlzbza07hs9vp48y8mwcj"; + rev = "223f3771d84f2d5a9f20390e496cecc529f769d6"; + sha256 = "0y28gqmnvbagnv9qp7173bylkbl4sgpy8szzn1s9q46fjysdj8b8"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4b388de872be397864a1217a330ba80437c287c0/recipes/gotham-theme"; @@ -26331,12 +27649,12 @@ govc = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, json-mode, lib, magit-popup, melpaBuild, s }: melpaBuild { pname = "govc"; - version = "20160808.1810"; + version = "20161213.1524"; src = fetchFromGitHub { owner = "vmware"; repo = "govmomi"; - rev = "f229d31ab41239c2caad72a3bb4a5ed3ee8fc214"; - sha256 = "17psrhl6l6hhb0sphlncsibmay7n2pl44b9vyx8nk6vqhkxwp5pg"; + rev = "5d78646f635f83ea5f77eee236fbbe4885aca063"; + sha256 = "105s3jn0yf0q0sv9w8ggqji6wdmkzz20psa89q7mf4gjlynas6q2"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/92d6391318021c63b06fe39b0ca38f667bb45ae9/recipes/govc"; @@ -26370,27 +27688,6 @@ license = lib.licenses.free; }; }) {}; - gplusify = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: - melpaBuild { - pname = "gplusify"; - version = "20150312.1244"; - src = fetchFromGitHub { - owner = "jorgenschaefer"; - repo = "gplusify"; - rev = "bd6237ae671db2fbf406dcc6225839dcbd2475b2"; - sha256 = "1l43h008l7n6waclb2km32dy8aj7m5yavm1pkq38p9ppzayfxqq1"; - }; - recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/2d7d6cf6cca5e6abd1e7b0835bd6aba4f156369d/recipes/gplusify"; - sha256 = "0fgkcvppkq6pba1giddkfxp9z4c8v2cid9nb8a190b3g85wcwycr"; - name = "gplusify"; - }; - packageRequires = []; - meta = { - homepage = "https://melpa.org/#/gplusify"; - license = lib.licenses.free; - }; - }) {}; grab-mac-link = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "grab-mac-link"; @@ -26412,6 +27709,27 @@ license = lib.licenses.free; }; }) {}; + grab-x-link = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "grab-x-link"; + version = "20161130.2147"; + src = fetchFromGitHub { + owner = "xuchunyang"; + repo = "grab-x-link"; + rev = "d2ef886097f59e1facc5cb5d8cd1c77bf340be76"; + sha256 = "1iny8ga9xb7pfd59l4ljlj6zvvxzr7bv468sibkhlaqvjljn2xq1"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/64d4d4e6f9d6a3ea670757f248afd355baf1d933/recipes/grab-x-link"; + sha256 = "1kni49n1v716w4hjfm49mk25jshfc6idpby0k58qvngbfqk3kzy5"; + name = "grab-x-link"; + }; + packageRequires = [ cl-lib emacs ]; + meta = { + homepage = "https://melpa.org/#/grab-x-link"; + license = lib.licenses.free; + }; + }) {}; gradle-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "gradle-mode"; @@ -26461,8 +27779,8 @@ src = fetchFromGitHub { owner = "Groovy-Emacs-Modes"; repo = "groovy-emacs-modes"; - rev = "9d42f284b3163215484e16bef1785456d2e7b68d"; - sha256 = "1dwj53z4422ks30cqr5rj6x91qf63sjzbmb06sz4ac5pdr1d66q6"; + rev = "5dc1e6a43727b8170f828b48fbbc52aad152de46"; + sha256 = "0lp54fnz1v1pppbs9zjv9q292jri3padphriqz313hslyvb0mv09"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3fe318b4e51a280a55c01fa30455e4a180df8bd6/recipes/grails-mode"; @@ -26499,12 +27817,12 @@ grandshell-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "grandshell-theme"; - version = "20160824.2356"; + version = "20160922.640"; src = fetchFromGitHub { owner = "steckerhalter"; repo = "grandshell-theme"; - rev = "98e03515357528588fc6478e042d27810de0b9a0"; - sha256 = "1r69indg4mr0b216350cgdxz29d124b3rp0i1b3qw844hqqc4lhj"; + rev = "14ec10937720bc91bb2f5e1c1e2c124d8a43a9d6"; + sha256 = "03990wbrc56sm4qzc2nsjj3q96vx1ipjivdhqfy8s6sy9r1msa86"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5b04b0024f5a0367e2998d35ca88c2613a8e3470/recipes/grandshell-theme"; @@ -26520,12 +27838,12 @@ graphene = callPackage ({ company, dash, exec-path-from-shell, fetchFromGitHub, fetchurl, flycheck, graphene-meta-theme, ido-ubiquitous, lib, melpaBuild, ppd-sr-speedbar, smartparens, smex, sr-speedbar, web-mode }: melpaBuild { pname = "graphene"; - version = "20151108.2340"; + version = "20161120.938"; src = fetchFromGitHub { owner = "rdallasgray"; repo = "graphene"; - rev = "dcc0e34c6c4632d5d5445ec023f5b1ca04c7d1b7"; - sha256 = "1f34bhjxmbf2jjrkpdvqg2gwp83ka6d5vrxmsxdl3r57yc6rbrwa"; + rev = "b25707ae82e286aefa5a66087b12c9cb3b7bf2ed"; + sha256 = "1h21fv8plxydydm509immp0kpkf24ba6j3wrbpvp5w4nkx49mlkl"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0206d6adcb7855c2174c3cd506b71c21def1209b/recipes/graphene"; @@ -26553,12 +27871,12 @@ graphene-meta-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "graphene-meta-theme"; - version = "20160724.454"; + version = "20161204.807"; src = fetchFromGitHub { owner = "rdallasgray"; repo = "graphene-meta-theme"; - rev = "ba3c197b6331668c4fcee4053594ba1bd34929b6"; - sha256 = "0qbk53r97h234f2vj8ndf57kardaz2g2dgf35i08j9b416aw6ck5"; + rev = "62cc73fee31f1bd9474027b83a249feee050271e"; + sha256 = "1ydl6dlg5z4infq8j09izwgs6n97yza6nbq5rs1xfv00zd9gr63c"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/44af719ede73c9fe7787272d7868587ce8966e3d/recipes/graphene-meta-theme"; @@ -26571,6 +27889,27 @@ license = lib.licenses.free; }; }) {}; + graphql-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "graphql-mode"; + version = "20161016.635"; + src = fetchFromGitHub { + owner = "davazp"; + repo = "graphql-mode"; + rev = "6e1f5335fa0b252b2bc422a837b82fdc82492eac"; + sha256 = "1x47abqqsry5f0ww01hp3470rqdzzr3yia8ljqq3ixpbnspp5q83"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/3850073e6706d4d8151bc6ab12963a19deae8be9/recipes/graphql-mode"; + sha256 = "074dc8fgbrikb5inv837n9bpmz1ami7aaxsqcci1f94x3iw8i74i"; + name = "graphql-mode"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/graphql-mode"; + license = lib.licenses.free; + }; + }) {}; graphviz-dot-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "graphviz-dot-mode"; @@ -26616,11 +27955,11 @@ grass-mode = callPackage ({ cl-lib ? null, dash, fetchhg, fetchurl, lib, melpaBuild }: melpaBuild { pname = "grass-mode"; - version = "20160317.614"; + version = "20161130.732"; src = fetchhg { url = "https://bitbucket.com/tws/grass-mode.el"; - rev = "25414dff1fc5"; - sha256 = "0mnwmsn078hz317xfz6c05r7narx3k8956v1ajz5myxx8xrcr24z"; + rev = "c7e2817461c3"; + sha256 = "095v1l46axada3vnhp1ypim6b789y39jlyy5466im02fjfjkcadg"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/grass-mode"; @@ -26698,10 +28037,10 @@ }) {}; grep-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "grep-plus"; - version = "20160212.625"; + version = "20170101.953"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/grep+.el"; - sha256 = "08jl4xhh25znyc6cm7288x4b55pykrpcsyym78fdlrw3xxr77cxs"; + sha256 = "13ivcicjdg3ig1jfgl2n39acmrwif5h7hwvb5677i7p8i69w3nds"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/grep+"; @@ -26775,15 +28114,36 @@ license = lib.licenses.free; }; }) {}; + groovy-imports = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pcache, s }: + melpaBuild { + pname = "groovy-imports"; + version = "20161003.151"; + src = fetchFromGitHub { + owner = "mbezjak"; + repo = "emacs-groovy-imports"; + rev = "e56d7dda617555ec6205644d32ffddf2e1fa43d9"; + sha256 = "060zxl2y4p50g5fwgplgx07h5akfplp49rkv5cx09rqlcyzqhqwa"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/b18a6842805856062e9452dc32bf0fd458f7d51a/recipes/groovy-imports"; + sha256 = "09yjkwsm192lgala1pvxw47id4j7362sl3j1hn9ald2m8m3ddyfs"; + name = "groovy-imports"; + }; + packageRequires = [ emacs pcache s ]; + meta = { + homepage = "https://melpa.org/#/groovy-imports"; + license = lib.licenses.free; + }; + }) {}; groovy-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "groovy-mode"; - version = "20160504.211"; + version = "20161015.114"; src = fetchFromGitHub { owner = "Groovy-Emacs-Modes"; repo = "groovy-emacs-modes"; - rev = "9d42f284b3163215484e16bef1785456d2e7b68d"; - sha256 = "1dwj53z4422ks30cqr5rj6x91qf63sjzbmb06sz4ac5pdr1d66q6"; + rev = "5dc1e6a43727b8170f828b48fbbc52aad152de46"; + sha256 = "0lp54fnz1v1pppbs9zjv9q292jri3padphriqz313hslyvb0mv09"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3fe318b4e51a280a55c01fa30455e4a180df8bd6/recipes/groovy-mode"; @@ -26799,12 +28159,12 @@ gruber-darker-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "gruber-darker-theme"; - version = "20160417.430"; + version = "20161017.1108"; src = fetchFromGitHub { owner = "rexim"; repo = "gruber-darker-theme"; - rev = "0c2a75d170547a808ce4d22fb63a1d86b4ddf3b2"; - sha256 = "0dn1iscy0vw2bcnh5s675wjnfk9f20i30b8slyffvpzbbi369pys"; + rev = "ac87018437667c84fb5bb7e7b17e5ab2c8347272"; + sha256 = "0gw06d9h0fn9jds8vk8dkz8ghf62jrjmxj8q0qlaisdipmdqk87n"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/87ade74553c04cb9dcfe16d03f263cc6f1fed046/recipes/gruber-darker-theme"; @@ -26838,22 +28198,22 @@ license = lib.licenses.free; }; }) {}; - gruvbox-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + gruvbox-theme = callPackage ({ autothemer, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "gruvbox-theme"; - version = "20160514.658"; + version = "20161229.1817"; src = fetchFromGitHub { owner = "Greduan"; repo = "emacs-theme-gruvbox"; - rev = "8776c27ae1f0d5ea92a125251526483718e509b5"; - sha256 = "0xa7pnyp0iggaxsfic7gjnbib2c9175cg9d75bml760s18fvnciv"; + rev = "9a9f384a19742eb07b03b1975478c2e71a09b2e3"; + sha256 = "1pbb8ihvldpbcvr4bwqjmlyc6wv51h49fn522vxzl9kjmhs9fqi1"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2bd48c87919f64ced9f3add4860751bb34cb5ecb/recipes/gruvbox-theme"; sha256 = "042mnwlmixygk2mf24ygk7rkv1rfavc5a36hs9x8b68jnf3khj32"; name = "gruvbox-theme"; }; - packageRequires = []; + packageRequires = [ autothemer ]; meta = { homepage = "https://melpa.org/#/gruvbox-theme"; license = lib.licenses.free; @@ -26883,12 +28243,12 @@ gscholar-bibtex = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "gscholar-bibtex"; - version = "20160701.1627"; + version = "20161006.1944"; src = fetchFromGitHub { owner = "cute-jumper"; repo = "gscholar-bibtex"; - rev = "ed0053be2cedb54c4aeb7a48b51ef775be0689a3"; - sha256 = "10d2qmwva41x9ykfy9csl5isi03q2a5c9nv3239mqyn8cxw9dxrb"; + rev = "734696423b8f807e6c1f0e871a8577a5f3a731f3"; + sha256 = "1vva58pcrh1rbvl1yyiy0fw2vmnfzlkpinjkr9yv19zmh0jphjzd"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9fa546d3dce59b07a623ee83e3befe139dc10481/recipes/gscholar-bibtex"; @@ -26925,12 +28285,12 @@ guide-key-tip = callPackage ({ fetchFromGitHub, fetchurl, guide-key, lib, melpaBuild, pos-tip }: melpaBuild { pname = "guide-key-tip"; - version = "20140406.1820"; + version = "20161011.123"; src = fetchFromGitHub { owner = "aki2o"; repo = "guide-key-tip"; - rev = "d1773156b62566e1245f39936abd151844bd471c"; - sha256 = "1s6p4ysdbqx5fk68s317ckj5rjmpkwwb0324sbqqa6byhw3j0xyj"; + rev = "02c5d4b0b65f3e91be5a47f0ff1ae5e86e00c64e"; + sha256 = "1xkrfjmhprnj8i39a85wfcs5whm93fw8l57c606wdhiwqj719ciz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1f23db7563654ab58632d56e3b01d2f78276fc3e/recipes/guide-key-tip"; @@ -26943,6 +28303,27 @@ license = lib.licenses.free; }; }) {}; + gulp-task-runner = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "gulp-task-runner"; + version = "20161103.1523"; + src = fetchFromGitHub { + owner = "NicolasPetton"; + repo = "gulp-task-runner"; + rev = "f13da9e619c1838571df0a0462c273ed6e76defc"; + sha256 = "1xai81v7c58hy9rh63kxybzmlyfkv0m7qfdp7zia60ml5xhib31r"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/34a2bede5ea70cf9df623c32e789d78205f9ebb0/recipes/gulp-task-runner"; + sha256 = "0211mws99bc9ipg7r3qqm1n7gszvwil31psinf0250wliyppjij7"; + name = "gulp-task-runner"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/gulp-task-runner"; + license = lib.licenses.free; + }; + }) {}; guru-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "guru-mode"; @@ -26985,15 +28366,36 @@ license = lib.licenses.free; }; }) {}; + gxref = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "gxref"; + version = "20161215.2352"; + src = fetchFromGitHub { + owner = "dedi"; + repo = "gxref"; + rev = "ffb2139cb9a8299ce965c28cb5d3a617405fb1b4"; + sha256 = "052j24k1svdnryss983dxjpnz4d51wx1vzqqpgckc86bkc4vfjzf"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/429b9150d4054fcadab8c5ca3b688921eeb19b78/recipes/gxref"; + sha256 = "06qlfjclfx00m8pr7lk6baim3vjk5i0m75i1p4aihp2vflvgjaby"; + name = "gxref"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/gxref"; + license = lib.licenses.free; + }; + }) {}; habitica = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }: melpaBuild { pname = "habitica"; - version = "20160828.912"; + version = "20161001.1122"; src = fetchFromGitHub { owner = "abrochard"; repo = "emacs-habitica"; - rev = "eddd0ad1664b305e2b8c05daba3fd37971ee8d24"; - sha256 = "1xwzdlbn19aq66v2b1i5kl6jk9zs6dk07ryy14yws26d1ajvm8rg"; + rev = "868893474ebe8bd58d799dd1d065230cf1ac1e8c"; + sha256 = "0msp9h8xzgpbdydihsgsbijxcw8gliqrlpnkvb3bd3ra9xp57wrm"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cf9543db3564f4806440ed8c5c30fecbbc625fa1/recipes/habitica"; @@ -27282,12 +28684,12 @@ haskell-emacs = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "haskell-emacs"; - version = "20160704.1120"; + version = "20160904.1326"; src = fetchFromGitHub { owner = "knupfer"; repo = "haskell-emacs"; - rev = "7b840af4af0b03cbf8dad1b8ac6ca1dcd4b5ccd9"; - sha256 = "1d2b35qmsx3ayq8b6rh08dkmx2845nhswqqwpzg81zsna6d607mh"; + rev = "a2c6a079175904689eed7c6c200754bfa85d1ed9"; + sha256 = "1xpaqcj33vyzs5yv2w4dahw8a2vb6zcb3z7y2aqc5jdg3fx9ypam"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5daff329a96a6d10bca11d838bbc95d1c8bcfbd9/recipes/haskell-emacs"; @@ -27307,8 +28709,8 @@ src = fetchFromGitHub { owner = "knupfer"; repo = "haskell-emacs"; - rev = "7b840af4af0b03cbf8dad1b8ac6ca1dcd4b5ccd9"; - sha256 = "1d2b35qmsx3ayq8b6rh08dkmx2845nhswqqwpzg81zsna6d607mh"; + rev = "a2c6a079175904689eed7c6c200754bfa85d1ed9"; + sha256 = "1xpaqcj33vyzs5yv2w4dahw8a2vb6zcb3z7y2aqc5jdg3fx9ypam"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5daff329a96a6d10bca11d838bbc95d1c8bcfbd9/recipes/haskell-emacs-base"; @@ -27328,8 +28730,8 @@ src = fetchFromGitHub { owner = "knupfer"; repo = "haskell-emacs"; - rev = "7b840af4af0b03cbf8dad1b8ac6ca1dcd4b5ccd9"; - sha256 = "1d2b35qmsx3ayq8b6rh08dkmx2845nhswqqwpzg81zsna6d607mh"; + rev = "a2c6a079175904689eed7c6c200754bfa85d1ed9"; + sha256 = "1xpaqcj33vyzs5yv2w4dahw8a2vb6zcb3z7y2aqc5jdg3fx9ypam"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5daff329a96a6d10bca11d838bbc95d1c8bcfbd9/recipes/haskell-emacs-text"; @@ -27345,12 +28747,12 @@ haskell-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "haskell-mode"; - version = "20160827.1033"; + version = "20170101.1257"; src = fetchFromGitHub { owner = "haskell"; repo = "haskell-mode"; - rev = "19623461dd282614bc0589602603619499e45207"; - sha256 = "0hsaxm8zm4d8rpswazhsfnqv2p2hrli63sy928vc32d5010kac7i"; + rev = "e5340a565fa379814472de10a330a85b08350e37"; + sha256 = "03wcglphbnm7brrx46xliq3h6jkz6kq29z2a2vl5223hz1gwlq1n"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7f18b4dcbad4192b0153a316cff6533272898f1a/recipes/haskell-mode"; @@ -27363,22 +28765,22 @@ license = lib.licenses.free; }; }) {}; - haskell-snippets = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }: + haskell-snippets = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }: melpaBuild { pname = "haskell-snippets"; - version = "20160121.1458"; + version = "20160918.1722"; src = fetchFromGitHub { owner = "haskell"; repo = "haskell-snippets"; - rev = "c72e467d77c8c91439522599a741a8b2950fe1e9"; - sha256 = "1wha5f2zx5hr6y0wvpmkg7jnxcgbzx99gd70h96c3dqqqhqz6d2a"; + rev = "07b0f460b946fd1be26c29652cb0468b47782f3a"; + sha256 = "0a7y3awi9hcyahggf0ghsdwvsmrhr9yq634wy9lkqjzrm2hqj0ci"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b5534e58ea66fd90ba4a69262f0b303c7fb85af4/recipes/haskell-snippets"; sha256 = "10bvv7q694fahcpm83v8lpqihg1gvfzrp1hdzwiffxydfvdbalh2"; name = "haskell-snippets"; }; - packageRequires = [ yasnippet ]; + packageRequires = [ cl-lib yasnippet ]; meta = { homepage = "https://melpa.org/#/haskell-snippets"; license = lib.licenses.free; @@ -27407,12 +28809,12 @@ hasky-extensions = callPackage ({ avy-menu, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "hasky-extensions"; - version = "20160813.609"; + version = "20170101.347"; src = fetchFromGitHub { owner = "hasky-mode"; repo = "hasky-extensions"; - rev = "3f1862989a2ca3b79761dccfa352a1b6d518ee77"; - sha256 = "10214654gvnyqimh4950jsw1r42p0y79pfl8h0x44mzll62bvz87"; + rev = "cd655d0d25a5ed7e9da4ebb824fff04993ab8306"; + sha256 = "16rc5fmz4pgkd6phvzqji5lgwxzidhxkl1aa76w32lk7m8qm3yxh"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e3f73e3df8476fa231d04211866671dd74911603/recipes/hasky-extensions"; @@ -27550,22 +28952,22 @@ license = lib.licenses.free; }; }) {}; - hcl-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + hcl-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "hcl-mode"; - version = "20160502.1700"; + version = "20170101.305"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-hcl-mode"; - rev = "2e3fa6fbc793a3bcf260fc269c5218cb09ca45aa"; - sha256 = "1qlrkd10vszzqps86pzr6mv9ykffyhhpcp65y9nq3ds4aviv6jay"; + rev = "6a6daf37522188a2f2fcdebc60949fc3bdabbc06"; + sha256 = "0jqrgq15jz6pvx38pnwkizzfiih0d3nxqphyrc92nqpcyimg8b6g"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/66b441525dc300b364d9be0358ae1e0fa2a8b4fe/recipes/hcl-mode"; sha256 = "1wrs9kj6ahsdnbn3fdaqhclq1ia6w4x726hjvl6pyk01sb0spnin"; name = "hcl-mode"; }; - packageRequires = [ cl-lib emacs ]; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/hcl-mode"; license = lib.licenses.free; @@ -27573,10 +28975,10 @@ }) {}; header2 = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "header2"; - version = "20160810.1234"; + version = "20170101.954"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/header2.el"; - sha256 = "1fiqmbmnq07v70ak6jvvdb27val420zvq5xlwyrqdj5qjri8z83r"; + sha256 = "124cqzhhkaplq3nxlmy2dizpbllcazqbpv9k2yjxj5zk50s8dzxr"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d16829cb4dea98908735be13aa632bc13d308acb/recipes/header2"; @@ -27613,16 +29015,16 @@ helm = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild, popup }: melpaBuild { pname = "helm"; - version = "20160831.10"; + version = "20170103.444"; src = fetchFromGitHub { owner = "emacs-helm"; repo = "helm"; - rev = "8eef909d567921af76c067830a2e39021be5f586"; - sha256 = "0dmn141ikv254v07jjykkx7p73i3mhp7a6ygm8nqrdpi3883q02g"; + rev = "26415fdb3ebc66fa721b94aa1eaeba1693eae624"; + sha256 = "12jy8448gj8a1mw2njzxyvrrc2q059xrq65my1zqx1k1lcrknhp8"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/90ab37af6b0c85eac11c423bc8f0d93d6d8a9fd4/recipes/helm"; - sha256 = "0xsf4rg7kn0m5wjlbwhd1mc38lg2822037dyd0h66h6x2gbs3fd9"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/7e8bccffdf69479892d76b9336a4bec3f35e919d/recipes/helm"; + sha256 = "03la01d0syikjgsjq0krlp3p894djwfxqfmd2srddwks7ish6xjf"; name = "helm"; }; packageRequires = [ async emacs helm-core popup ]; @@ -27697,12 +29099,12 @@ helm-ag = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }: melpaBuild { pname = "helm-ag"; - version = "20160809.337"; + version = "20161203.523"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-helm-ag"; - rev = "88e422ad5a76a7a0d8a5cd766d29c22206d8135e"; - sha256 = "0fmhys3ikjcqnsld8fc04d9l0kbb8gs1n3yy06kxf5jzc8cnyi84"; + rev = "997107a53abd3bda06d52e7021c87527c5747389"; + sha256 = "1fj2s5jfbaw948kww64k8ksxa6pxfpb30fx93x182bq6sl8fqlwg"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/81f0f525680fea98e804f39dbde1dada887e8821/recipes/helm-ag"; @@ -27799,15 +29201,36 @@ license = lib.licenses.free; }; }) {}; + helm-bbdb = callPackage ({ bbdb, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }: + melpaBuild { + pname = "helm-bbdb"; + version = "20161122.522"; + src = fetchFromGitHub { + owner = "emacs-helm"; + repo = "helm-bbdb"; + rev = "20513422102fea4c08a0433d728a7783bb4968c8"; + sha256 = "0ns537fimv774n1bq0r8k4qwdpapbw96linqyhx9mxp23zkhlg80"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/7025c319fcabc64576c0c6554d0d572cef697693/recipes/helm-bbdb"; + sha256 = "1wlacbfs23shvyaq616r1p84h8321zz1k5nzir5qg8nr6lssi8vp"; + name = "helm-bbdb"; + }; + packageRequires = [ bbdb helm ]; + meta = { + homepage = "https://melpa.org/#/helm-bbdb"; + license = lib.licenses.free; + }; + }) {}; helm-bibtex = callPackage ({ biblio, cl-lib ? null, dash, f, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, parsebib, s }: melpaBuild { pname = "helm-bibtex"; - version = "20160823.900"; + version = "20161213.2242"; src = fetchFromGitHub { owner = "tmalsburg"; repo = "helm-bibtex"; - rev = "13e04b275d3b9a523d6a9f7fa753fc449f3f5960"; - sha256 = "1l66sn7ancyd9q3jbbhay55rs8zbbd7nh2vv9jdgmpw2lys3xs89"; + rev = "1e11998cc45a12a1b1bd19b8fe9ed8a9f0c50774"; + sha256 = "1q7vqi1g2rbkh6lxlma7rb8vpsx5vxl2iadxzbzy21d4knjpnj96"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f4118a7721435240cf8489daa4dd39369208855b/recipes/helm-bibtex"; @@ -27991,12 +29414,12 @@ helm-cider = callPackage ({ cider, emacs, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild, seq }: melpaBuild { pname = "helm-cider"; - version = "20160727.1944"; + version = "20160912.1935"; src = fetchFromGitHub { owner = "clojure-emacs"; repo = "helm-cider"; - rev = "a82b8b2e219e38c783d39a32ad86730672a49da6"; - sha256 = "0kw2i9921vyqcl3a831r9zf1apdgrb51iwj3k4jrb4srpz2sk79p"; + rev = "9481f84bfbc6538e1cbe1a4cb01255088bfe1491"; + sha256 = "00zciia468svzhk4f7w9bwj20ixb280gwd7vfrxr1iw60p23x237"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/31d3cd618f2ac88860d0b11335ff81b6e2973982/recipes/helm-cider"; @@ -28096,12 +29519,12 @@ helm-codesearch = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, s }: melpaBuild { pname = "helm-codesearch"; - version = "20160809.803"; + version = "20161214.548"; src = fetchFromGitHub { owner = "youngker"; repo = "helm-codesearch.el"; - rev = "aac4d858a80396231adaf1a78c3b75f65bb22921"; - sha256 = "1d7rsjp5xbshj6simsp4hqgd8fh865c34i9i12y968aqkn7nlsqd"; + rev = "e80e76e492f626659b88dbe362b11aa0a3b0a116"; + sha256 = "16njr3xcvpzg4x6qq2pwk80pca9pxhc6vjvfy3dzy4hi9nxryrs6"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0a992824e46a4170e2f0915f7a507fcb8a9ef0a6/recipes/helm-codesearch"; @@ -28138,12 +29561,12 @@ helm-company = callPackage ({ company, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }: melpaBuild { pname = "helm-company"; - version = "20160516.2258"; + version = "20161121.2111"; src = fetchFromGitHub { owner = "manuel-uberti"; repo = "helm-company"; - rev = "d796bfc43489656c87b269c4c893d84745effb31"; - sha256 = "0kbm8w1hxff0nb8pyjnq2l43ra1m0ywzjvvqs0lncji5zqirvp8l"; + rev = "59e93396309fe3cb60913332d384d2f4706694c3"; + sha256 = "0slp08dy9s40mqj6f64d8yw9si1a76mlhbmm3a7khf076b8ky02s"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/78ff0a6cf493ff148406140f3e4902bfafd83e4a/recipes/helm-company"; @@ -28159,12 +29582,12 @@ helm-core = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "helm-core"; - version = "20160831.308"; + version = "20170103.444"; src = fetchFromGitHub { owner = "emacs-helm"; repo = "helm"; - rev = "8eef909d567921af76c067830a2e39021be5f586"; - sha256 = "0dmn141ikv254v07jjykkx7p73i3mhp7a6ygm8nqrdpi3883q02g"; + rev = "26415fdb3ebc66fa721b94aa1eaeba1693eae624"; + sha256 = "12jy8448gj8a1mw2njzxyvrrc2q059xrq65my1zqx1k1lcrknhp8"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7a700c5665e6d72cb4cecf7fb5a2dd43ef9bf7/recipes/helm-core"; @@ -28243,12 +29666,12 @@ helm-dash = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }: melpaBuild { pname = "helm-dash"; - version = "20160802.1147"; + version = "20161207.1232"; src = fetchFromGitHub { owner = "areina"; repo = "helm-dash"; - rev = "bf80144f7cb810a0db89036b886d0e6f580ef7d7"; - sha256 = "1r3x72pd9wzqrkkwafmv64lcr9f1mrzbm1f3qv5fvv5xrs3qib2h"; + rev = "b649ca44481e874146df8b88cc8750589dbdc232"; + sha256 = "0wchzxfd16g7idlvfa1idqivv7m2nvnil94b2fx39q9zcs0qzw4f"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/39c3ea21430473ef22d5ea9c8b2cf7ec9689883a/recipes/helm-dash"; @@ -28264,12 +29687,12 @@ helm-descbinds = callPackage ({ fetchFromGitHub, fetchurl, helm, lib, melpaBuild }: melpaBuild { pname = "helm-descbinds"; - version = "20160806.913"; + version = "20160916.713"; src = fetchFromGitHub { owner = "emacs-helm"; repo = "helm-descbinds"; - rev = "7771aa53d4f2828022504132114fa99e178be892"; - sha256 = "0dp540vah2lnza4g1p65ping09jk944fvpq7yp965dj62gsjbjgn"; + rev = "6d5ddc11e6cef86548bd6b3e0d840112d602659c"; + sha256 = "03b79wdcp4im0fwadzhyc8jxl2wqvg8gmpflnznrwz3l71bi4sqq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/447610a05422cd2f35399e43d98bf46410ff0408/recipes/helm-descbinds"; @@ -28289,8 +29712,8 @@ src = fetchFromGitHub { owner = "emacs-helm"; repo = "helm-describe-modes"; - rev = "d2253c7c2bf4f28b9ff8a2d281bd7527c0106527"; - sha256 = "0li9bi1lm5ldwfpvzahxp7hyfd94jr1kl43rprx0myxb016yk2p5"; + rev = "74e086a2462fc64234dd0222cde3c5c060a60068"; + sha256 = "01kwh3f8hxacvjk5vva084jd4f55jlg8f8aa9hmcirif7r7pdidi"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/23f0b2025073850c477ba4646c3821b3c7de6c42/recipes/helm-describe-modes"; @@ -28327,12 +29750,12 @@ helm-dired-history = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }: melpaBuild { pname = "helm-dired-history"; - version = "20160731.645"; + version = "20161023.806"; src = fetchFromGitHub { owner = "jixiuf"; repo = "helm-dired-history"; - rev = "77e60f201aee071dad920e6120aa118d346ee265"; - sha256 = "139kbf2kn64fs6a971kk7gyvbs49007544dxxjx3p1qawrnyc0jy"; + rev = "75416fa6ca9c5e113cca409ef63518266b4d8d56"; + sha256 = "17z84dx3z48mx2ssdhlhgzaqrxlzdy9mx3d14qlm0rcrmc0sck8i"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/56036d496c2a5fb1a6b32cdfcd1814944618e652/recipes/helm-dired-history"; @@ -28453,12 +29876,12 @@ helm-firefox = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }: melpaBuild { pname = "helm-firefox"; - version = "20160604.52"; + version = "20161202.517"; src = fetchFromGitHub { owner = "emacs-helm"; repo = "helm-firefox"; - rev = "f196980c047800ef6650f880e26e0b7c29278a20"; - sha256 = "0xl2nakprgjf65haa0xn0jkh69skmbp3k6q1bamvqijgvra9waa0"; + rev = "294850c4ce16ae25f2214f863cee0118add60974"; + sha256 = "1kaa58xlnr82qsvdzn8sxk5kkd2lxqnvfciyw7kfi2fdrl6nr4pf"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/257e452d37768d2f3a6e0a5ccd062d128b2bc867/recipes/helm-firefox"; @@ -28474,12 +29897,12 @@ helm-flx = callPackage ({ emacs, fetchFromGitHub, fetchurl, flx, helm, lib, melpaBuild }: melpaBuild { pname = "helm-flx"; - version = "20160227.1652"; + version = "20161229.1056"; src = fetchFromGitHub { owner = "PythonNut"; repo = "helm-flx"; - rev = "3cb3587297c3b6e863d79b7d4d7564043c888b61"; - sha256 = "0mrck7qbqjqz5kpih3zb1yn2chjgv5ghrqc5cp80kmsmxasvk8zw"; + rev = "7754ed3e0f7536487624dda2d4001f7eeb92d86d"; + sha256 = "1z0rbx5iix0mq2ai94ip8wnwgxh6sd6qsynaayrgj2hmzsbvv12d"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f1418d260f34d698cec611978001c7fd1d1a8a89/recipes/helm-flx"; @@ -28534,22 +29957,22 @@ license = lib.licenses.free; }; }) {}; - helm-flyspell = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + helm-flyspell = callPackage ({ fetchFromGitHub, fetchurl, helm, lib, melpaBuild }: melpaBuild { pname = "helm-flyspell"; - version = "20160612.1640"; + version = "20160927.1648"; src = fetchFromGitHub { owner = "pronobis"; repo = "helm-flyspell"; - rev = "2b0d8b4abda322507a5379e2befdf031bca851e0"; - sha256 = "1z5f911w1b173bpnab8ni89s1zba8yfr2qhnrrdxlhgvynwn5jgg"; + rev = "5aeace7004cbb689276fb5056a9935d27593ce8c"; + sha256 = "1jnphdmh6j252bgyxw5jl01wkfwnjrv2j7isnq40xnqs4azjwz80"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f8c5b91762d47a4d3024f1ed7f19666c6f2d5ce5/recipes/helm-flyspell"; sha256 = "1g6xry2y6396pg7rg8hc0l84z5r3j2df7dpd1jgffxa8xa3i661f"; name = "helm-flyspell"; }; - packageRequires = []; + packageRequires = [ helm ]; meta = { homepage = "https://melpa.org/#/helm-flyspell"; license = lib.licenses.free; @@ -28621,12 +30044,12 @@ helm-ghq = callPackage ({ fetchFromGitHub, fetchurl, helm, lib, melpaBuild }: melpaBuild { pname = "helm-ghq"; - version = "20160203.727"; + version = "20161015.117"; src = fetchFromGitHub { owner = "masutaka"; repo = "emacs-helm-ghq"; - rev = "db37bfe290b234ed3f39dcce24667072172ded41"; - sha256 = "0y379qap3mssz9nslb08vfzq5ihqcm156fbx0dszgz9d6xgkpdhw"; + rev = "21ccdb537a3be3d9351e01c6365df8e804e8bc56"; + sha256 = "1v3h6dszj223yvlkrjj6r4jwiyaj3iswbcl5d4ffwgaf72cxm4gn"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e94eec646def7c77b15f6a6ac1841200848e62c7/recipes/helm-ghq"; @@ -28681,22 +30104,22 @@ license = lib.licenses.free; }; }) {}; - helm-git-grep = callPackage ({ fetchFromGitHub, fetchurl, helm, lib, melpaBuild }: + helm-git-grep = callPackage ({ fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild }: melpaBuild { pname = "helm-git-grep"; - version = "20160820.635"; + version = "20161111.2337"; src = fetchFromGitHub { owner = "yasuyk"; repo = "helm-git-grep"; - rev = "dc66d07ecfb70b0b3c57b0849c74cf80b2bb1312"; - sha256 = "1zjimp0rww90xffzwf9yrhd0xg7jiv5r79v2hw84mxqmbqq70icj"; + rev = "5ef4b5ff81707214c0c141d8bf219b1645fefe17"; + sha256 = "1a0cs7yf6yb4pkgknb1515a24649d3v5i7jjcfvw831jwc51gnca"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/338d28c3fe201a7b2f15793be6d540f44819f4d8/recipes/helm-git-grep"; sha256 = "1ww6a4q78w5hnwikq7y93ic2b7x070c27r946lh6p8cz1k4b8vqi"; name = "helm-git-grep"; }; - packageRequires = [ helm ]; + packageRequires = [ helm-core ]; meta = { homepage = "https://melpa.org/#/helm-git-grep"; license = lib.licenses.free; @@ -28751,8 +30174,8 @@ src = fetchFromGitHub { owner = "nlamirault"; repo = "emacs-gitlab"; - rev = "a1c1441ff5ffb290e695eb9ac05431e9385578f4"; - sha256 = "0ywjrgafpl4cnrykx9yysazr7hkd2pxk67h065f8z3mid6cgh1wa"; + rev = "2efdc9bc2f572fceb11199cecdd04aae03df3cb0"; + sha256 = "0pxmmgsrn5d2jmak3plwb6h15h2d4sbwk49q6gdniglcf9nagckq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1d012991188956f6e06c37d504b0d06ab31487b9/recipes/helm-gitlab"; @@ -28765,22 +30188,22 @@ license = lib.licenses.free; }; }) {}; - helm-go-package = callPackage ({ deferred, fetchFromGitHub, fetchurl, go-mode, helm, lib, melpaBuild }: + helm-go-package = callPackage ({ deferred, emacs, fetchFromGitHub, fetchurl, go-mode, helm-core, lib, melpaBuild }: melpaBuild { pname = "helm-go-package"; - version = "20160321.115"; + version = "20161102.1853"; src = fetchFromGitHub { owner = "yasuyk"; repo = "helm-go-package"; - rev = "469bbbe4c6cdd4c80444ece10f07cfb62fc4f13e"; - sha256 = "0iyfn58h50xms5915i29b54wfyxh6vi9vy3v3r91g6dwlxrjibka"; + rev = "e42c563936c205ceedb930a687c11b4bb56447bc"; + sha256 = "1169q25paz7x3hia5px4vmn06zzss179q9179x95vx8vfr43ny08"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/449d272b94c189176305ca17652d76adac087ce5/recipes/helm-go-package"; sha256 = "102yhn1xg83l67yaq3brn35a03fkvqqhad10rq0h39n4i1slq3z6"; name = "helm-go-package"; }; - packageRequires = [ deferred go-mode helm ]; + packageRequires = [ deferred emacs go-mode helm-core ]; meta = { homepage = "https://melpa.org/#/helm-go-package"; license = lib.licenses.free; @@ -28810,12 +30233,12 @@ helm-grepint = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }: melpaBuild { pname = "helm-grepint"; - version = "20160303.1226"; + version = "20161001.713"; src = fetchFromGitHub { owner = "kopoli"; repo = "helm-grepint"; - rev = "95e4c10ef0c0a18f660caaebb07bf5c5887efcfc"; - sha256 = "1f88vd31fc7ksrhlc72i6c0wbbz62lxw9yakxdk0m72pfz345mz2"; + rev = "a62ca27515ff6a366b89b420500eb16d380cc653"; + sha256 = "1v87v6a34zv998z1dwwcqx49476pvy9g5zml7w5vzfkms0l8l28w"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/26446d6a2215bfa622d86837b30f2754dd25eb4c/recipes/helm-grepint"; @@ -28833,14 +30256,14 @@ pname = "helm-growthforecast"; version = "20140119.1944"; src = fetchFromGitHub { - owner = "daic-h"; + owner = "daichirata"; repo = "helm-growthforecast"; rev = "0f94ac090d6c354058ad89a86e5c18385c136d9b"; sha256 = "0p0mk44y2z875ra8mzcb6vlf4rbkiq9yank5hdxvg2x2sxsaambk"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/935d4c6bff4adab531536ab6a695cb690c72e0ae/recipes/helm-growthforecast"; - sha256 = "0716rhs5dam6p8ym83vy19svl6jr49lcfgb29mm3cqi9jcch3ckh"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/7d92e66cad586d4dc6b1de12d1b41b818b5232c2/recipes/helm-growthforecast"; + sha256 = "1qlyp263rl0892hr53kgc16jlx3jylw2pplbzlx05a60k5348jjv"; name = "helm-growthforecast"; }; packageRequires = [ helm ]; @@ -28852,12 +30275,12 @@ helm-gtags = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }: melpaBuild { pname = "helm-gtags"; - version = "20160726.844"; + version = "20160917.2238"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-helm-gtags"; - rev = "fb0079054518b966a1b8a42f5d970e5fbc522d37"; - sha256 = "1nw0drvyqdjwdq4q5ypj1pqjvkgmgz64i70r7dnwnyjpgvk3d1dc"; + rev = "76c573d2c0bd277041d917c9968b180d48a0fdce"; + sha256 = "1dxm1r5qfriv33kaqf9gzwdrlmsww08lzvmxvfg9505qsjma4b5c"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/81f0f525680fea98e804f39dbde1dada887e8821/recipes/helm-gtags"; @@ -28936,12 +30359,12 @@ helm-hoogle = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }: melpaBuild { pname = "helm-hoogle"; - version = "20150919.32"; + version = "20161026.2234"; src = fetchFromGitHub { owner = "jwiegley"; repo = "helm-hoogle"; - rev = "f4a02784dd7c3f6e8ecda31dea23b2faae260636"; - sha256 = "1l85kip4zd08d38sk7cdafmx0v68dh419cs86g7x0mgi0wn00kfc"; + rev = "73969a9d46d2121a849a01a9f7ed3636d01f7bbc"; + sha256 = "043bddm6lldl6wkifr1plqip7laai771z1a1l0x2h35l3g8c64h0"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8ccc21c2acc76a6794aee94902b1bc4c14119901/recipes/helm-hoogle"; @@ -28957,12 +30380,12 @@ helm-hunks = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }: melpaBuild { pname = "helm-hunks"; - version = "20160720.24"; + version = "20161229.657"; src = fetchFromGitHub { owner = "torgeir"; repo = "helm-hunks.el"; - rev = "3c5ba9c3945db9f2aa88a47661d3597b09559062"; - sha256 = "0ww183bi2d989carii4c4hh1ir5d1imj4j0lfxh9qdirap0wpchz"; + rev = "aa266c87d5ac08f8a4021627d104972679bba21c"; + sha256 = "1g7mr04mhf0cx68ww28zfppigjp9m4b11sc037gn770n1vm0xvcm"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d61cbe53ad42f2405a66de9f551f5b870a60709f/recipes/helm-hunks"; @@ -29146,12 +30569,12 @@ helm-ls-git = callPackage ({ fetchFromGitHub, fetchurl, helm, lib, melpaBuild }: melpaBuild { pname = "helm-ls-git"; - version = "20160407.2140"; + version = "20161122.241"; src = fetchFromGitHub { owner = "emacs-helm"; repo = "helm-ls-git"; - rev = "841400ff302c5fdcba55fd6b2a18a01b420fcfd2"; - sha256 = "0yridy54p53zps33766hl7p2hq5pc4vxm08rb5vzbjw84vwaq07b"; + rev = "98ce7dc709cf1468a50de18e96c028baa7f4357d"; + sha256 = "1hlya6rc8iwmfjqk2grr80y3842x3763yl7siwp5jflpzryxhk97"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b487b4c0db9092bb7e32aad9265b79a9d18c8478/recipes/helm-ls-git"; @@ -29191,7 +30614,7 @@ version = "20150717.39"; src = fetchsvn { url = "https://svn.macports.org/repository/macports/users/chunyang/helm-ls-svn.el"; - rev = "152175"; + rev = "154482"; sha256 = "0b7gah21rkfd43mb89lrwaqrrwq646abh7wi4q74sx796gmpz4dz"; }; recipeFile = fetchurl { @@ -29208,12 +30631,12 @@ helm-make = callPackage ({ fetchFromGitHub, fetchurl, helm, lib, melpaBuild, projectile }: melpaBuild { pname = "helm-make"; - version = "20160807.1756"; + version = "20161109.1107"; src = fetchFromGitHub { owner = "abo-abo"; repo = "helm-make"; - rev = "f1bb61049c83b281f7d6fd0d13dfb262629ed5dc"; - sha256 = "1wrcjpd6lsf4sgqw61ql2y3dcb8v27ysnchyjwyppgmsqbkrz0a9"; + rev = "11744341b10b35200ebb6789de52ce1a79336ef4"; + sha256 = "1kzv11admqzdbswhahh28imkvjhwmp3pggpf5igpi019p8v3y91c"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0f25f066c60d4caff1fbf885bc944cac47515ec8/recipes/helm-make"; @@ -29271,12 +30694,12 @@ helm-mt = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, multi-term }: melpaBuild { pname = "helm-mt"; - version = "20160803.713"; + version = "20160917.2152"; src = fetchFromGitHub { owner = "dfdeshom"; repo = "helm-mt"; - rev = "10790691f083c3806c9e85758b7ea73b5e24c5ed"; - sha256 = "1k1jzzxygpmxnj07br7ah2582sdj67vqmipykz7yzrprd8r9c8fw"; + rev = "d2bff4100118483bc398c56d0ff095294209265b"; + sha256 = "1wci63y0vjvrvrylkhhrz8p9q0ml6la5cpj4rx5cwin9rkmislm6"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e726bf0b9b3f371b21f1f0d75175e0dda62f6fb0/recipes/helm-mt"; @@ -29292,12 +30715,12 @@ helm-mu = callPackage ({ fetchFromGitHub, fetchurl, helm, lib, melpaBuild }: melpaBuild { pname = "helm-mu"; - version = "20160819.1132"; + version = "20161010.102"; src = fetchFromGitHub { owner = "emacs-helm"; repo = "helm-mu"; - rev = "3d53161fdd15a229c9afe96004118167ba0593b1"; - sha256 = "0ja4vka6wxyy5vg8cdg0znkisvmrn158mhkrph7l0p4b59qdxal6"; + rev = "1f9a6b0f8217c0c6359f53b724d9da4c3c3f896c"; + sha256 = "0ch0zip9ldsza3vq66hs8kyczlhdywr2i9sqkza4inm8b938y1dv"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/63ee2e2aa622c96993c1b705d0fd223d6b36fd0f/recipes/helm-mu"; @@ -29317,8 +30740,8 @@ src = fetchFromGitHub { owner = "travisbhartwell"; repo = "nix-emacs"; - rev = "9e84e7f93307b72a1c0decfc2eff9d4943631de3"; - sha256 = "1r2qbd19kkqf70gq04jfpsrap75qcy359k3ian9rhapi8cj0n23w"; + rev = "89b9356d32b16e0dc0794c323a4661a01c3b83de"; + sha256 = "11pcp09z0vy6k81wghqq4rxlkfsc5bpgyacpl7bmxanj3qaa7ga5"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6846c7d86e70a9dd8300b89b61435aa7e146be96/recipes/helm-nixos-options"; @@ -29334,12 +30757,12 @@ helm-notmuch = callPackage ({ fetchFromGitHub, fetchurl, helm, lib, melpaBuild, notmuch }: melpaBuild { pname = "helm-notmuch"; - version = "20160412.1206"; + version = "20161127.2308"; src = fetchFromGitHub { owner = "xuchunyang"; repo = "helm-notmuch"; - rev = "e3c41e6b1458c6fb686bbcc8c8827dca98f306d0"; - sha256 = "04c6k1rxdi175kwn146sb2nxd13mvx3irr9fbqykcfv81609kqx3"; + rev = "7d03cd9fed32b49a1f200c65ed38086c9f19cfaf"; + sha256 = "10nx6wnd2vfqxv9zr8brml0l9mfx8rrid3lbqgs8wr9313ra3360"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/98667b3aa43d3e0f6174eeef82acaf71d7019aac/recipes/helm-notmuch"; @@ -29352,22 +30775,22 @@ license = lib.licenses.free; }; }) {}; - helm-open-github = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, gh, helm-core, lib, melpaBuild }: + helm-open-github = callPackage ({ emacs, fetchFromGitHub, fetchurl, gh, helm-core, lib, melpaBuild }: melpaBuild { pname = "helm-open-github"; - version = "20151226.642"; + version = "20161203.604"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-helm-open-github"; - rev = "4c5a47003b2efed1c3437e91121a77d082cf64c8"; - sha256 = "1wkmbc7247f209krvw4dzja3z0wyny12x5yi1cn3fnfh5nx04851"; + rev = "553f3ab0fe0a028015e9b6cb7c35fb139ec222fc"; + sha256 = "1xj5b44nkdvbxhk1bnllqm2qq393w22ccy708prrhiq8fmk53aa8"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/81f0f525680fea98e804f39dbde1dada887e8821/recipes/helm-open-github"; sha256 = "1wqlwg21s9pjgcrwr8kdrppinmjn235nadkp4003g0md1d64zxpx"; name = "helm-open-github"; }; - packageRequires = [ cl-lib gh helm-core ]; + packageRequires = [ emacs gh helm-core ]; meta = { homepage = "https://melpa.org/#/helm-open-github"; license = lib.licenses.free; @@ -29376,12 +30799,12 @@ helm-org-rifle = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, s }: melpaBuild { pname = "helm-org-rifle"; - version = "20160420.818"; + version = "20161112.1505"; src = fetchFromGitHub { owner = "alphapapa"; repo = "helm-org-rifle"; - rev = "598e88f0c0dcb37a0af8ee890be71d8522bd2748"; - sha256 = "0ab083b5n2jxqxbcvrriyw896j3gsb86k3ngwmjvvfk4bdyzgabp"; + rev = "4596ac225a90bc49d96a416d661f5da2a13b711d"; + sha256 = "0snynrrrkhm7c3g2iwr5m4lq49lxfrkf7il1rm2k56r5lbzw7mkm"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f39cc94dde5aaf0d6cfea5c98dd52cdb0bcb1615/recipes/helm-org-rifle"; @@ -29415,22 +30838,22 @@ license = lib.licenses.free; }; }) {}; - helm-package = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }: + helm-package = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }: melpaBuild { pname = "helm-package"; - version = "20151210.48"; + version = "20160917.2232"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-helm-package"; - rev = "117f5f26c96c0854aadaf9c52aaec961195d5798"; - sha256 = "14ad0b9d07chabjclffjyvnmrasar1di9wmpzf78bw5yg99cbisw"; + rev = "dec1600da71301d14a7c17052286ac4a25378b7c"; + sha256 = "0qg7q01i48x8igfv3sh3gx77af76hj3yrwwc7f878r56k3w9d2ca"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e31f4e01891b6a863a38da45eeea57ec656b5813/recipes/helm-package"; sha256 = "1qab2abx52xcqrnxzl0m3533ngp8m1cqmm3hgpzgx7yfrkanyi4y"; name = "helm-package"; }; - packageRequires = [ cl-lib helm ]; + packageRequires = [ emacs helm ]; meta = { homepage = "https://melpa.org/#/helm-package"; license = lib.licenses.free; @@ -29439,12 +30862,12 @@ helm-pages = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }: melpaBuild { pname = "helm-pages"; - version = "20160321.1913"; + version = "20161120.1826"; src = fetchFromGitHub { owner = "david-christiansen"; repo = "helm-pages"; - rev = "0366be2f89b92edc0d4a8c5f0f0e8674e0124d0c"; - sha256 = "1dyi3rs72jl7739knnikv8pawam54k0sxz5a4a33i6s2bg3ghxcd"; + rev = "51dcb9374d1df9feaae85e60cfb39b970554ecba"; + sha256 = "0znmj13nshzspysnzrn2x6k9fym21n9ywkpjibljy0s05m36nbs5"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7a33cb19b6e71240896bbe5da07ab25f2ee11f0b/recipes/helm-pages"; @@ -29478,22 +30901,22 @@ license = lib.licenses.free; }; }) {}; - helm-perldoc = callPackage ({ cl-lib ? null, deferred, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild }: + helm-perldoc = callPackage ({ deferred, emacs, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild }: melpaBuild { pname = "helm-perldoc"; - version = "20160712.2137"; + version = "20160917.2256"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-helm-perldoc"; - rev = "90a0ce4d2f4c77c486869ed3ecdbcb3f2014005e"; - sha256 = "0xkxl07y9z6zdh41m3dg9q35df2lsgbp298svlfygdm6rl5i2z0v"; + rev = "1979f9f67814c11ec9498502237c89a5e1153100"; + sha256 = "0fvjw8sqnwnjx978y7fghvgp5dznx31hx0pjp4iih01xa1hcwbnc"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/81f0f525680fea98e804f39dbde1dada887e8821/recipes/helm-perldoc"; sha256 = "1qx0g81qcqanjiz5fxysagjhsxaj31g6nsi2hhdgq4x4nqrlmrhb"; name = "helm-perldoc"; }; - packageRequires = [ cl-lib deferred helm-core ]; + packageRequires = [ deferred emacs helm-core ]; meta = { homepage = "https://melpa.org/#/helm-perldoc"; license = lib.licenses.free; @@ -29523,12 +30946,12 @@ helm-proc = callPackage ({ fetchFromGitHub, fetchurl, helm, lib, melpaBuild }: melpaBuild { pname = "helm-proc"; - version = "20160514.718"; + version = "20161005.2005"; src = fetchFromGitHub { owner = "markus1189"; repo = "helm-proc"; - rev = "0a75a86e4f381143134e0cdcd8c84c5b5b0fb2d6"; - sha256 = "0bgpd50ningqyzwhfinfrn6gqacard5ynwllhg9clq0f683sbck2"; + rev = "576d31c2d74ba3897d56e2acd2b0993f52c2547c"; + sha256 = "11xahzybwh02ds19y6h5hbpqdj278kcb4239vyykdl3wx8p048a7"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4d7905061141721ce9f2f8ccea8fc4cf53519481/recipes/helm-proc"; @@ -29562,22 +30985,22 @@ license = lib.licenses.free; }; }) {}; - helm-projectile = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, projectile }: + helm-projectile = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, projectile }: melpaBuild { pname = "helm-projectile"; - version = "20160807.313"; + version = "20161213.2311"; src = fetchFromGitHub { owner = "bbatsov"; repo = "helm-projectile"; - rev = "fb2dd7fad405f650f95e0492d2a80e4b40ce434f"; - sha256 = "0qi46q04h0y8khqhza5pj6q83wwlq5mh3y524d21pbklc0vsm8yx"; + rev = "10531b2634559ea2179f2530423beaac815e9a38"; + sha256 = "1bh9cvkp5gr8ykmy8fr94appkhpqx9hicqyj6ahvi2ykgb50ib4c"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8bc4e3a5af7ba86d277c73a1966a91c87d3d855a/recipes/helm-projectile"; sha256 = "18y7phrvbpdi3cnghwyhh0v1bwm95nwq1lymzf8lrcbmrwcvh36a"; name = "helm-projectile"; }; - packageRequires = [ cl-lib dash helm projectile ]; + packageRequires = [ cl-lib helm projectile ]; meta = { homepage = "https://melpa.org/#/helm-projectile"; license = lib.licenses.free; @@ -29646,22 +31069,22 @@ license = lib.licenses.free; }; }) {}; - helm-pydoc = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild }: + helm-pydoc = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild }: melpaBuild { pname = "helm-pydoc"; - version = "20151008.724"; + version = "20160917.2242"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-helm-pydoc"; - rev = "8eebf6535b4669b5d9e50bbe4f319cd54a2878c7"; - sha256 = "0admgfy0p13nilb4fi3dq8pm48w1fib8h8avi7h9ybi9k5h6x4ii"; + rev = "85480a29b56dacde425655bc8f5a597c785afdf5"; + sha256 = "1wrs2d84xzjnsmw255bmnd1wcpwd36m0vyni48aa7661d4dh10x3"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/81f0f525680fea98e804f39dbde1dada887e8821/recipes/helm-pydoc"; sha256 = "1sh7gqqiwk85kx89l1sihlkb8ff1g9n460nwj1y1bsrpfl6if4j7"; name = "helm-pydoc"; }; - packageRequires = [ cl-lib helm-core ]; + packageRequires = [ emacs helm-core ]; meta = { homepage = "https://melpa.org/#/helm-pydoc"; license = lib.licenses.free; @@ -29688,6 +31111,27 @@ license = lib.licenses.free; }; }) {}; + helm-rage = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, s }: + melpaBuild { + pname = "helm-rage"; + version = "20161201.222"; + src = fetchFromGitHub { + owner = "bomgar"; + repo = "helm-rage"; + rev = "d9a342e2bbdabe86d6c25bb1939c55e3a2a12381"; + sha256 = "05amzj09jwn0ypnk53i1m1pzxqxghxcfv6s9y0gxnxhr440rbjhb"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/84f831fdc5a0e90c23ac11c79f193f4d3c1ebb04/recipes/helm-rage"; + sha256 = "02pdmkzwnqhf1r0v7b498z5b2il3ng75ykdwgmwd60k6hiygj70x"; + name = "helm-rage"; + }; + packageRequires = [ dash emacs helm s ]; + meta = { + homepage = "https://melpa.org/#/helm-rage"; + license = lib.licenses.free; + }; + }) {}; helm-rails = callPackage ({ fetchFromGitHub, fetchurl, helm, inflections, lib, melpaBuild }: melpaBuild { pname = "helm-rails"; @@ -29730,6 +31174,27 @@ license = lib.licenses.free; }; }) {}; + helm-rdefs = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }: + melpaBuild { + pname = "helm-rdefs"; + version = "20161129.2136"; + src = fetchFromGitHub { + owner = "saidie"; + repo = "emacs-helm-rdefs"; + rev = "cd3a6b3af3015ee58ef30cb7c81c79ebe5fc867b"; + sha256 = "0ji7ak9pkmw0wxzmw5a1amvn3pkj90v9jv1yi12w388njxn7qsvj"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/e1c7a20847513dc1153d54a3a700bc120f71dc6b/recipes/helm-rdefs"; + sha256 = "0z3nrqrz63j9nxkbxdsjj3z8zhsqlik28iry3j1plgsxq1mhrn0y"; + name = "helm-rdefs"; + }; + packageRequires = [ emacs helm ]; + meta = { + homepage = "https://melpa.org/#/helm-rdefs"; + license = lib.licenses.free; + }; + }) {}; helm-recoll = callPackage ({ fetchFromGitHub, fetchurl, helm, lib, melpaBuild }: melpaBuild { pname = "helm-recoll"; @@ -29922,12 +31387,12 @@ helm-smex = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, smex }: melpaBuild { pname = "helm-smex"; - version = "20160530.1236"; + version = "20161202.1252"; src = fetchFromGitHub { owner = "ptrv"; repo = "helm-smex"; - rev = "c8f007c75b00be155b62d6b44f1f275a914bf31c"; - sha256 = "0i8qhlyil4p11lnb6f1x9qv7f5131dg0f74anbvnc1wjga0jifzx"; + rev = "7af4e4b44671f739b39584fc50c20084700701ac"; + sha256 = "1dhzglpd48mb47iyii8igb1dldvnr4alg18m7g8xb529dx8z9wni"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/85568bd732da952053148e07b95e53f7caf5f62c/recipes/helm-smex"; @@ -29940,22 +31405,22 @@ license = lib.licenses.free; }; }) {}; - helm-spaces = callPackage ({ fetchFromGitHub, fetchurl, helm, lib, melpaBuild, spaces }: + helm-spaces = callPackage ({ fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild, spaces }: melpaBuild { pname = "helm-spaces"; - version = "20160319.754"; + version = "20161001.709"; src = fetchFromGitHub { owner = "yasuyk"; repo = "helm-spaces"; - rev = "8b20a229d7a932a54ac6a4239638789215e18597"; - sha256 = "0j3b5ypxq8k7mg6zlx3r15jpk3x2f0gx9p9bjr0h78h0sc0f46l7"; + rev = "877e2b5178926308d6a7c2a37477bb12c33a96d4"; + sha256 = "1cz8aw6zprzfalagma7jmbycwll2chk2l4n5hkgqyhakdfm2ryzm"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8c2ffb50643223b68a62fab348cd5aba24ce92e6/recipes/helm-spaces"; sha256 = "0hdvkk173k98iycvii5xpbiblx044125pl7jyz4kb8r1vvwcv791"; name = "helm-spaces"; }; - packageRequires = [ helm spaces ]; + packageRequires = [ helm-core spaces ]; meta = { homepage = "https://melpa.org/#/helm-spaces"; license = lib.licenses.free; @@ -29964,12 +31429,12 @@ helm-spotify = callPackage ({ fetchFromGitHub, fetchurl, helm, lib, melpaBuild, multi }: melpaBuild { pname = "helm-spotify"; - version = "20131014.1421"; + version = "20160905.1447"; src = fetchFromGitHub { owner = "krisajenkins"; repo = "helm-spotify"; - rev = "a1a8275a4769221f7df9a67ed9a028fecbdc29ca"; - sha256 = "133dcqk42nq5gh5qlcbcmx3lczisfgymcnypnld318jvjgd2ma8a"; + rev = "f7a62d1ff88e3127de9be7cd3e818b0a92268ab3"; + sha256 = "0q3h84zj63b1rnlvmsznrpmvvf0qbic5yb9xkdjcz4jz4h8p3h1w"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1bf9eda57cba4742656f37a621b6d394483ff638/recipes/helm-spotify"; @@ -30024,22 +31489,22 @@ license = lib.licenses.free; }; }) {}; - helm-themes = callPackage ({ fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild }: + helm-themes = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild }: melpaBuild { pname = "helm-themes"; - version = "20151008.2321"; + version = "20160917.2245"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-helm-themes"; - rev = "a6449a40c5a219b43a92c975917a07337f864b4f"; - sha256 = "0a9h6rmjc6c6krkvxbgrzv35if260d9ma9a2k47jzm9psnyp9s2w"; + rev = "1160af42590b0d845a55e65e1e782d9e4027fd6e"; + sha256 = "0856h8rnbgrxp3v3jpfmwq7kcdm1ymd4gcfvh0h27mk05113vz53"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/81f0f525680fea98e804f39dbde1dada887e8821/recipes/helm-themes"; sha256 = "0r7kyd0i0spwi7xkjrpm2kyphrsl3hqm5pw96nd3ia0jiwp8550j"; name = "helm-themes"; }; - packageRequires = [ helm-core ]; + packageRequires = [ emacs helm-core ]; meta = { homepage = "https://melpa.org/#/helm-themes"; license = lib.licenses.free; @@ -30052,8 +31517,8 @@ src = fetchFromGitHub { owner = "bomgar"; repo = "helm-unicode"; - rev = "2193512aa1a46939a38a35189e307b9add68b58a"; - sha256 = "1cxhwcbbnsdi00pmjzy0f8rrgfnzyl0ar4kwqmnbsl6r8hmf29ly"; + rev = "e331c38e651287981e5d34c27e5d7dc4ff24b0d4"; + sha256 = "05pvswisi44bl35anjbimd0q8i3c7kkjfksvaj69gcr788lhb8iv"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f720b9f9b667bf9ff3080938beab36aa0036dc92/recipes/helm-unicode"; @@ -30171,6 +31636,27 @@ license = lib.licenses.free; }; }) {}; + helm-youtube = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, request }: + melpaBuild { + pname = "helm-youtube"; + version = "20161113.1848"; + src = fetchFromGitHub { + owner = "maximus12793"; + repo = "helm-youtube"; + rev = "7a944bc25f0f9e915011e9325caf46b46fcaa1b8"; + sha256 = "0948rq6i4ibwhmi6m2k23f83yvf56vwgri1sg2060d901zd86cxy"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/7537f732091b96b6c1b96c0174895278eba6776a/recipes/helm-youtube"; + sha256 = "1qal5q83p06ghn482rflcfklr17mir582r0mvchxabb5ql60dy0b"; + name = "helm-youtube"; + }; + packageRequires = [ cl-lib helm request ]; + meta = { + homepage = "https://melpa.org/#/helm-youtube"; + license = lib.licenses.free; + }; + }) {}; helm-zhihu-daily = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }: melpaBuild { pname = "helm-zhihu-daily"; @@ -30194,10 +31680,10 @@ }) {}; help-fns-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "help-fns-plus"; - version = "20151215.637"; + version = "20170101.959"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/help-fns+.el"; - sha256 = "00x3ln7x4d6r422x845smf3h0x1z85l5jqyjkrllqcs7qijcrk5w"; + sha256 = "14i48b139m7kp2qmmm8vfv359i74zmbjw1mck2n67xdxrh8bsk0k"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/help-fns+"; @@ -30212,10 +31698,10 @@ }) {}; help-mode-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "help-mode-plus"; - version = "20151231.1331"; + version = "20170101.1004"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/help-mode+.el"; - sha256 = "0qmf81maq6yvs68b8vlbxwkjk72qldamq75znrma9mhvlv8igrgx"; + sha256 = "1aj53ihdhrxsncw14v4npgfsbpjnzmz481nx8xmzlcxs16xayyqv"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/help-mode+"; @@ -30230,10 +31716,10 @@ }) {}; help-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "help-plus"; - version = "20151231.1328"; + version = "20170101.956"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/help+.el"; - sha256 = "1r7kf9plnsjx87bhflsdh47wybvhis7gb10izqa1p6w0aqsg178s"; + sha256 = "1k772rdakq2br8ahlk5l84s534wnb8jarlfhv4nbfaip6hidfqgk"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/help+"; @@ -30332,10 +31818,10 @@ }) {}; hexrgb = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "hexrgb"; - version = "20151231.1332"; + version = "20170101.1007"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/hexrgb.el"; - sha256 = "0rqjidjxa5j6rjknklfks743lczbq3qsyiranrf2z3ghzi0gf7fd"; + sha256 = "1cpf5kj49iam5bfw2mddv4c5vr8d4j0sipbzjry3s8jvcxw2lzbi"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0c9d7811584920508184a84ee4049e159cce3bb4/recipes/hexrgb"; @@ -30434,10 +31920,10 @@ }) {}; hide-comnt = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "hide-comnt"; - version = "20151231.1333"; + version = "20170101.1008"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/hide-comnt.el"; - sha256 = "1l5jvgjgd0kzv1sn6h467fbnl487hma4h4pkwq4x1dhbc26yvfpz"; + sha256 = "1gjca7796bg6skyqry90l5ywpw72zl6zkhzbq9fy8bi8q7a76g06"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/05a695ab2bc358690c54611d21ef80cb51812739/recipes/hide-comnt"; @@ -30527,10 +32013,10 @@ }) {}; highlight = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "highlight"; - version = "20160617.617"; + version = "20170101.1010"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/highlight.el"; - sha256 = "1g0csgabcaxfvv92bmqkmyqp2jlal8gj6c6ghz83a2r185ba0jji"; + sha256 = "19mj1fw9hwqz5kybjbmac6l4gh8g52s1lgd01x34452zy69qdcnp"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/603e9fc90e6e6cf7fe903cb3c38155c1a4f45278/recipes/highlight"; @@ -30566,10 +32052,10 @@ }) {}; highlight-chars = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "highlight-chars"; - version = "20160729.2320"; + version = "20170101.1008"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/highlight-chars.el"; - sha256 = "1qpx5bpb2iyhdv2d6lnk3vmdxwsvf8ylriarr0hw79zli0l167kp"; + sha256 = "0hkspc6skyra2lhrlg8wm008llmp4asxvxxkk6xbvlx3p0ajihjv"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/highlight-chars"; @@ -30643,12 +32129,12 @@ highlight-escape-sequences = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "highlight-escape-sequences"; - version = "20151231.412"; + version = "20161028.1617"; src = fetchFromGitHub { owner = "dgutov"; repo = "highlight-escape-sequences"; - rev = "ffb8c5da19ffd2a71003b93fe33f78d0900fad9e"; - sha256 = "0rs8zyjz5mh26n8bdxn6fmyw2809nihz1vp7ih59dq11lx3mf9az"; + rev = "c3f28f2003638e88e5cf0b03835412af7814f3b0"; + sha256 = "052r7bxdflgvygpvc5p63kkv11l9f7vfn16b1094af7xnniv8i3i"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cd087f2c5a9524986b0f2c7fd7efd1f296363101/recipes/highlight-escape-sequences"; @@ -30661,22 +32147,22 @@ license = lib.licenses.free; }; }) {}; - highlight-indent-guides = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + highlight-indent-guides = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "highlight-indent-guides"; - version = "20160708.1329"; + version = "20161230.1538"; src = fetchFromGitHub { owner = "DarthFennec"; repo = "highlight-indent-guides"; - rev = "81a21cf1099cbbed89b321b9ec38682df6e33b4a"; - sha256 = "04vmb0596cvmv0g882nazjv2cylja6wb3k1if5d9ylg2ykqr3z2l"; + rev = "6fa450df12393fa659dfd5ec71fdda37fb7ee821"; + sha256 = "0m4h71fb95mcfpbf78r5ird6pabs0sikrkh8w0hy1rimiz9g2mm1"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c8acca65a5c134d4405900a43b422c4f4e18b586/recipes/highlight-indent-guides"; sha256 = "00ghp677qgb5clxhdjarfl8ab3mbp6v7yfsldm9bn0s14lyaq5pm"; name = "highlight-indent-guides"; }; - packageRequires = []; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/highlight-indent-guides"; license = lib.licenses.free; @@ -30685,12 +32171,12 @@ highlight-indentation = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "highlight-indentation"; - version = "20150307.208"; + version = "20161012.209"; src = fetchFromGitHub { owner = "antonj"; repo = "Highlight-Indentation-for-Emacs"; - rev = "cd6d8168ccb04c6c0394f42e9512c58f23c01689"; - sha256 = "00l54k75qk24a0znzl4ij3s3nrnr2wy9ha3za8apphzlm98m907k"; + rev = "731fe2058b68b2eee8c6bc99d914d30f3de233c5"; + sha256 = "093cvm4sabpchay49xm40mr65q6fk4df2i8kmlqiy2c5dvs5vsgf"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/31c443de5088410c0fe1b1c18f664b33ad259277/recipes/highlight-indentation"; @@ -30810,12 +32296,12 @@ highlight-stages = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "highlight-stages"; - version = "20150421.2057"; + version = "20161212.657"; src = fetchFromGitHub { owner = "zk-phi"; repo = "highlight-stages"; - rev = "c5a01b29cf79cebd09da863d45f9f35f6ad3bd06"; - sha256 = "0gnr1dqkcmc9gfzqjaixh76g1kq7xp20mg1h6vl3c4na7nk6a3fg"; + rev = "87c476f8ca0474912af41680a8de243c0c8d5b46"; + sha256 = "1s7hxv4vpbrpk4makdjn3589flddgfy35scyd3kac629fbqiiz79"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/46884aa6588f55d6f688477a5e9f528f57673131/recipes/highlight-stages"; @@ -30933,12 +32419,12 @@ hindent = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "hindent"; - version = "20160831.218"; + version = "20160905.243"; src = fetchFromGitHub { owner = "chrisdone"; repo = "hindent"; - rev = "963a89bd83756c538bcabde14b668df136cd8f7c"; - sha256 = "106czcg0g73z0qiavqjhf1gwv0jwhcmggig6d63k1ic6793ld7d7"; + rev = "967c8a0017694c8057c90a3b22f9d2ef4f060617"; + sha256 = "15d5as40s073f5611xm08w5cy6h4bzcj31pbnr384acla0i81lh1"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/dbae71a47446095f768be35e689025aed57f462f/recipes/hindent"; @@ -30979,8 +32465,8 @@ src = fetchFromGitHub { owner = "purcell"; repo = "hippie-expand-slime"; - rev = "432de36799fffc920e5bff7a4691f3c67236e59c"; - sha256 = "1l76r8hzhaapx76f6spm5jmjbrrm5zf79cpd5024xw3hpj1jbkjp"; + rev = "66665b65f9053ada47c0283caea0a7db3eaf2f5f"; + sha256 = "0xdbqillrxap29zg35mpxgilz66kjvhx7yvv7hblwj6j30p7bbkq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/hippie-expand-slime"; @@ -31014,27 +32500,6 @@ license = lib.licenses.free; }; }) {}; - hipster-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: - melpaBuild { - pname = "hipster-theme"; - version = "20141205.2005"; - src = fetchFromGitHub { - owner = "xzerocode"; - repo = "hipster-theme"; - rev = "0583bcef489c0bbe2393f813c17f634a9487e04f"; - sha256 = "17dcpwx2y464g8qi3ixlsf3la8dn0bkxax296bhfg4vh73dxccl3"; - }; - recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/c18f56647858f8ae1811a3f0964728d222b6d2e1/recipes/hipster-theme"; - sha256 = "1xrgpqlzp4lhh5h3sv7pg1nqzc9wcv1hs6ybv2h4x6jangicwfl2"; - name = "hipster-theme"; - }; - packageRequires = []; - meta = { - homepage = "https://melpa.org/#/hipster-theme"; - license = lib.licenses.free; - }; - }) {}; history = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "history"; @@ -31142,10 +32607,10 @@ }) {}; hl-defined = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "hl-defined"; - version = "20151231.1338"; + version = "20170101.1011"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/hl-defined.el"; - sha256 = "170sz6hjd85cw1x0y2g81ks3x3niib4f7y2xz6k8x0dpw357ggv3"; + sha256 = "1m21l7hlk46pkpbzmglpkpigynsf8121dx8swslpbn0lck9wrg21"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/hl-defined"; @@ -31181,10 +32646,10 @@ }) {}; hl-line-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "hl-line-plus"; - version = "20151231.1339"; + version = "20170101.1012"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/hl-line+.el"; - sha256 = "1kxq79pfs83gp12p2g093m6shsf25q88mi29bvhapxx77ahmxpkn"; + sha256 = "16mv6h2mx1z47nds4q2crym8idj9i6y9jbdsqbafxmzwp54hfl3p"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2d5d1cf2f29d46e8abd821095da86f137650a2ff/recipes/hl-line+"; @@ -31241,10 +32706,10 @@ }) {}; hl-spotlight = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "hl-spotlight"; - version = "20151231.1340"; + version = "20170101.1013"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/hl-spotlight.el"; - sha256 = "0m84d1rdsp9r5ip79jlrp69pf1daw0ch8c378q3kc328606i3p2d"; + sha256 = "0f16nalmz7pdrxmmxznqgbb8m7kkwfpf8a31r0b98wqrw8n5nnwg"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/adb008d2da35dbd3fca63555f04dd8a0009380c6/recipes/hl-spotlight"; @@ -31260,12 +32725,12 @@ hl-todo = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "hl-todo"; - version = "20160807.523"; + version = "20161102.1337"; src = fetchFromGitHub { owner = "tarsius"; repo = "hl-todo"; - rev = "215ff60d7a4097b5104edaf2784f9a3257db4403"; - sha256 = "1f7dz1r42qy3dwsqx7x802m7v4jfnmfp2q4678gs8d0scgxxfqb4"; + rev = "a23312464fc6462d559462a44cd74735e9f73421"; + sha256 = "0sy0fjmh1m36ajzfmxa2j9akws5qa8a4f1qmj3wgj9vdqd043mr8"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7c262f6a1a10e8b3cc30151cad2e34ceb66c6ed7/recipes/hl-todo"; @@ -31278,6 +32743,27 @@ license = lib.licenses.free; }; }) {}; + hledger-mode = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, htmlize, lib, melpaBuild, popup }: + melpaBuild { + pname = "hledger-mode"; + version = "20170101.650"; + src = fetchFromGitHub { + owner = "narendraj9"; + repo = "hledger-mode"; + rev = "a9d6377b15999718462e96c079503594940507ef"; + sha256 = "163k8crlyvgzag9mwb8q5cx40jlislxz533yr7nkh3ks6ricsj31"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/c656975c61396d8d4ded0f13ab52b17ccc238408/recipes/hledger-mode"; + sha256 = "1xpar3nx1axc6yb0bph8xwvx0jcl79da9bz40an2fpr4l1pp4fw3"; + name = "hledger-mode"; + }; + packageRequires = [ async emacs htmlize popup ]; + meta = { + homepage = "https://melpa.org/#/hledger-mode"; + license = lib.licenses.free; + }; + }) {}; hlint-refactor = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "hlint-refactor"; @@ -31427,12 +32913,12 @@ hound = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, request }: melpaBuild { pname = "hound"; - version = "20160731.2106"; + version = "20161130.1955"; src = fetchFromGitHub { owner = "ryoung786"; repo = "hound.el"; - rev = "209b87b64a0477718e5f0ec721a1a4b7f323ddff"; - sha256 = "0w7vknf8nz9a3rqwzpdp1lnscx0kamgyrd9mvravkp6644kjw3k4"; + rev = "dd95fc10b79029142c95307e895da0bc92bba28c"; + sha256 = "0c0fjfb8l0ladxw8b2ylnrnzw8k0xffl40hnkrc4bdzbl48zn55g"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/90cfc34eb4e8be7bf887533b85feba91131a435b/recipes/hound"; @@ -31490,11 +32976,11 @@ howm = callPackage ({ cl-lib ? null, fetchgit, fetchurl, lib, melpaBuild }: melpaBuild { pname = "howm"; - version = "20160405.518"; + version = "20160928.439"; src = fetchgit { url = "git://git.osdn.jp/gitroot/howm/howm.git"; - rev = "6d6b4ca60e5c164a3e284ba82156b8ae33e83b7a"; - sha256 = "1ib97y2vm8whd2rqb8kgh0fk54mk3qjmij05bzmz4njz0k9crwgd"; + rev = "e0237b07f60011a1926b36848c73340ae46cdb3e"; + sha256 = "0ljsvrpbj7y690pq6llnqqkvm9mlrhksxihv9jpx06d1g4ghknpq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b4f66d7b6835d06b8e7451aec9e32bb9288a6020/recipes/howm"; @@ -31510,12 +32996,12 @@ ht = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ht"; - version = "20160806.1753"; + version = "20161015.1945"; src = fetchFromGitHub { owner = "Wilfred"; repo = "ht.el"; - rev = "62d77713ecb99871f2b05c111474445c15781164"; - sha256 = "07n1xh6q2v25jarjlkgjzn40niz958jw0r69d5c2mf66fr7n0b8g"; + rev = "8b9281611c49335e97f2b644e34aa07a47dc4b2a"; + sha256 = "1pnsrirbh901qzqals6p2bbf28g2xn2zminwzj2x02cj49vfyqsz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6c7589bca1c1dfcc0fe76779f6847fda946ab981/recipes/ht"; @@ -31570,6 +33056,27 @@ license = lib.licenses.free; }; }) {}; + html-to-hiccup = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: + melpaBuild { + pname = "html-to-hiccup"; + version = "20161028.701"; + src = fetchFromGitHub { + owner = "plexus"; + repo = "html-to-hiccup"; + rev = "99217a5058626d253ed8ada51a7642071fe54ba5"; + sha256 = "1cvlh1iqjdmgwbw254g0rfdshsj7dhqjjp56gwqhn2fqkga44a7i"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/55a0355077a16f82b45113d37a10b26676f5f507/recipes/html-to-hiccup"; + sha256 = "10d0fafqn6f1mwjbx8zizkc5ql9njs4f3ghplirqy82cx4w8rgbq"; + name = "html-to-hiccup"; + }; + packageRequires = [ dash emacs s ]; + meta = { + homepage = "https://melpa.org/#/html-to-hiccup"; + license = lib.licenses.free; + }; + }) {}; html-to-markdown = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "html-to-markdown"; @@ -31594,16 +33101,16 @@ htmlize = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "htmlize"; - version = "20130207.1202"; + version = "20161211.1019"; src = fetchFromGitHub { - owner = "dunn"; - repo = "htmlize-mirror"; - rev = "aa6e2f6dba6fdfa200c7c55efe29ff63380eac8f"; - sha256 = "1vkqxgirc82vc44g7xhhr041arf93yirjin3h144kjyfkgkplnkp"; + owner = "hniksic"; + repo = "emacs-htmlize"; + rev = "88e2cb6588827893d7bc619529393887c264d15a"; + sha256 = "09xpv8dsc39a7w9s6xnilc5kh1krs2jw8cklizxzz4gp36hrsj2n"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/8d1d4a17daa60f577c3f88f757997fa42f7b527e/recipes/htmlize"; - sha256 = "03rv3myds696gasfqw3lwvsjd680xgwcf9kilblzxdidd7l6n5xf"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/075aa00a0757c6cd1ad392f0300bf5f1b937648d/recipes/htmlize"; + sha256 = "16nvvsi4nxi0zzk5a6mwmp43p0ls20zdx9r18mxz6bsaw6jangh2"; name = "htmlize"; }; packageRequires = []; @@ -31612,22 +33119,22 @@ license = lib.licenses.free; }; }) {}; - http = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request }: + http = callPackage ({ edit-indirect, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request }: melpaBuild { pname = "http"; - version = "20160701.2025"; + version = "20161127.1449"; src = fetchFromGitHub { owner = "emacs-pe"; repo = "http.el"; - rev = "5a85cb63ff8c25031c7a21f9ec7063a4ccfac547"; - sha256 = "18b8xf01n0mjshw7a4y1y3gzmag3lv9y64jyfb0dbx99xlxvvdv8"; + rev = "18057d0967015979ee7e59598b1d3410d5966fcb"; + sha256 = "1bw9369c3r172p14rb74vqs0243696rqf46z627p1w73afq48zy5"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c7c63aaf27240706d84e464881d40cfb7cbe9ee3/recipes/http"; sha256 = "1176jhm8m7s1pzp0zv1sqawcgn4m5zvxghypmsrjyyb5p7m6dalm"; name = "http"; }; - packageRequires = [ emacs request ]; + packageRequires = [ edit-indirect emacs request ]; meta = { homepage = "https://melpa.org/#/http"; license = lib.licenses.free; @@ -31714,15 +33221,36 @@ license = lib.licenses.free; }; }) {}; + hungarian-holidays = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "hungarian-holidays"; + version = "20161020.438"; + src = fetchFromGitHub { + owner = "gergelypolonkai"; + repo = "hungarian-holidays"; + rev = "653108769279499d84a79267c90e640d98823872"; + sha256 = "0jjparw5axydjf2lj8asccmksbbj9zgdiv2kc211h122q5712gvm"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/0c2dc20ce4b878a32c540744016a40f6cc2a657a/recipes/hungarian-holidays"; + sha256 = "1bdl0ynlni1i19hq4h48k8j9b2davv2kfgrpd2mrl2xqmjvhm1m2"; + name = "hungarian-holidays"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/hungarian-holidays"; + license = lib.licenses.free; + }; + }) {}; hungry-delete = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "hungry-delete"; - version = "20151203.1314"; + version = "20161128.2238"; src = fetchFromGitHub { owner = "nflath"; repo = "hungry-delete"; - rev = "ed1694ca3bd1fe7d117b0176d417341915ad4f1f"; - sha256 = "1vy521ljn16a1lcmpj09mr9y0m15lfjhl6xk04sb7nisps3vljyl"; + rev = "78a787a87aceb821818bbe2a322fbf2e5cbf80c3"; + sha256 = "171s7akqcpj0jcbm8w19b4n9kdzw0acf7cv0ymwdz5mmgmfiy292"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e33960d9b7e24f830ebe4e5a26a562422d52fe97/recipes/hungry-delete"; @@ -31763,8 +33291,8 @@ src = fetchFromGitHub { owner = "iquiw"; repo = "hyai"; - rev = "1ad6876a090dc54a5be1feab1c7f83b9a679e43a"; - sha256 = "0k7r5zddlfipnf6za467lmjx8s6h68dflj7gk05vqr4n4xniwgja"; + rev = "85df4feb527ee65f0b0228832ecfcc452fe572fd"; + sha256 = "05fhbs4ifa40s8fp6bhccm0kdd5laq1g8r8rvyjbq9f7mj0s9g87"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1dd9bd1cfd2f3b760b664a4677b0e4e617cbdfa6/recipes/hyai"; @@ -31822,12 +33350,12 @@ hydra = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "hydra"; - version = "20160828.154"; + version = "20161204.505"; src = fetchFromGitHub { owner = "abo-abo"; repo = "hydra"; - rev = "3527b321ce02b796e22a4adb2b4c3f17899ca935"; - sha256 = "04r8bpznqfv5xlg9y9f1b690943117hhpxxfif398j8yyx0d8jpi"; + rev = "2751f00c2c3daa8cc00f0fee7d01c803ddde7bb2"; + sha256 = "146w0mqgcaz80la42i6i9si8kii6dn8al7iaj0ay292sq9f9dbfl"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a4375d8ae519290fd5018626b075c226016f951d/recipes/hydra"; @@ -31969,12 +33497,12 @@ ibuffer-vc = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ibuffer-vc"; - version = "20150714.1320"; + version = "20161103.2358"; src = fetchFromGitHub { owner = "purcell"; repo = "ibuffer-vc"; - rev = "daae8b8cec4b8e572b065e00c8c8a368fd0a8b8b"; - sha256 = "0fwxhkx5rkyv3w5vs2swhmly9siahlww2ipsmk7v8xmvk4a63bhp"; + rev = "de75fb3345384fe13d0500435241ca4a056f5fc7"; + sha256 = "0c8y53aim35v88w5h4zn49187j6v8j7frxlhcw8crfxi1v6i7wdh"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/ibuffer-vc"; @@ -31989,10 +33517,10 @@ }) {}; icicles = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "icicles"; - version = "20160830.1738"; + version = "20170101.1027"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/icicles.el"; - sha256 = "0x082kilmzq26f9pwwbq2bid98s9mjyfwljcwz2qlj8fbihwjn6l"; + sha256 = "072pxihvwpj6zkzrgw8bq9z71mcx5f6xsjr95bm42xqh4ag2qq0x"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ca7bf43ef8893bf04e9658390e306ef69e80a156/recipes/icicles"; @@ -32007,10 +33535,10 @@ }) {}; icomplete-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "icomplete-plus"; - version = "20160704.1959"; + version = "20170101.1028"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/icomplete+.el"; - sha256 = "1rncxvai45akrg1qp0rzf3f821r52bp47mf2bpfnba86bnsl396c"; + sha256 = "0r2s3vwqs31pj7jfya8l46ij1jc894bar4pk4i9zk2l69d7pwllr"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/fade28733f33e52a8622479de201f451c9a31c11/recipes/icomplete+"; @@ -32026,12 +33554,12 @@ id-manager = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "id-manager"; - version = "20160425.216"; + version = "20161124.2045"; src = fetchFromGitHub { owner = "kiwanami"; repo = "emacs-id-manager"; - rev = "cf0c3743f6a1a1d63637e25fff2ffa948ba40f3a"; - sha256 = "0xd0zhbabb9cx4rsapvq6qs40w4q2cav6p16vrka54rmr98544vl"; + rev = "98bd85db17914af59e7b75c89e82117323965af2"; + sha256 = "0fj3gsjpm58p7526c95g8fqkch51ic3h2rvr36fhmxqxd5baj5xf"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/64a61b3801a0cafec87b1875eaec5950746f716d/recipes/id-manager"; @@ -32194,12 +33722,12 @@ ido-completing-read-plus = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ido-completing-read-plus"; - version = "20160623.815"; + version = "20161211.910"; src = fetchFromGitHub { owner = "DarwinAwardWinner"; repo = "ido-ubiquitous"; - rev = "950afaed5d36fc4447dd3a517ddb0dd281d8aaf6"; - sha256 = "0gk1bkllzs3fil2fcj3iha43y43370sgrrs5r6j7hzyhnxqmp965"; + rev = "a1c2965e31ebc6bf6f86fba0184415da32a8214d"; + sha256 = "0fvsi6hll1x0nvx1axsmsfv93pydkpmzq36hjw4kkp07nrf2byrz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4a227a6d44f1981e8a3f73b253d2c33eb18ef72f/recipes/ido-completing-read+"; @@ -32215,12 +33743,12 @@ ido-describe-bindings = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ido-describe-bindings"; - version = "20160105.53"; + version = "20161023.402"; src = fetchFromGitHub { owner = "danil"; repo = "ido-describe-bindings"; - rev = "1f5c78bf56f2cab137a323ec426e906f2215bf7f"; - sha256 = "0055dda1la7yah33xsi19j4hcdmqp17ily2dvkipm4y6d3ww8yqa"; + rev = "a142ff1c33df23ed9665497d0dcae2943b3c706a"; + sha256 = "0967709jyp9s04i6gi90axgqzhz03cdf1j1w39yrkds6q1b6v7jw"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/31b8e255630f1348a5b5730f7b624ad550d219ad/recipes/ido-describe-bindings"; @@ -32492,8 +34020,8 @@ src = fetchFromGitHub { owner = "DarwinAwardWinner"; repo = "ido-ubiquitous"; - rev = "950afaed5d36fc4447dd3a517ddb0dd281d8aaf6"; - sha256 = "0gk1bkllzs3fil2fcj3iha43y43370sgrrs5r6j7hzyhnxqmp965"; + rev = "a1c2965e31ebc6bf6f86fba0184415da32a8214d"; + sha256 = "0fvsi6hll1x0nvx1axsmsfv93pydkpmzq36hjw4kkp07nrf2byrz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4a227a6d44f1981e8a3f73b253d2c33eb18ef72f/recipes/ido-ubiquitous"; @@ -32530,12 +34058,12 @@ ido-yes-or-no = callPackage ({ fetchFromGitHub, fetchurl, ido-completing-read-plus, lib, melpaBuild }: melpaBuild { pname = "ido-yes-or-no"; - version = "20160217.1617"; + version = "20161108.1551"; src = fetchFromGitHub { owner = "DarwinAwardWinner"; repo = "ido-yes-or-no"; - rev = "9ddee9e878ad62d58c9f4b3a7685f22b8e36e420"; - sha256 = "046ns1nqisz830f6xwlly1qgmi4v2ikw6vmj0f93jprv4vkjylpq"; + rev = "c55383b1fce5879e87e7ca6809fc60534508e182"; + sha256 = "1p50ycsn1mcq5nqa16w10hm8v2pixibvandc91mj5l7s8zspanik"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e575f46b8597a34523df6b6a75da5a640f4c5a2e/recipes/ido-yes-or-no"; @@ -32572,12 +34100,12 @@ idris-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, prop-menu }: melpaBuild { pname = "idris-mode"; - version = "20160302.635"; + version = "20161102.707"; src = fetchFromGitHub { owner = "idris-hackers"; repo = "idris-mode"; - rev = "dc122c178c2a0ddda36fccdd0d3976fc7cd27245"; - sha256 = "0ngqsh0ncwcr377ifvnx5j352bf1f7lhcq7qc8avcn5pwlshri4w"; + rev = "4c70405ffcb54157f43662ed5a561a96e08777d6"; + sha256 = "095l1vv0q5xzvxwksnjl4llj9w79ih341xayx84l45m06s1a8j5b"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/17a86efca3bdebef7c92ba6ece2de214d283c627/recipes/idris-mode"; @@ -32614,12 +34142,12 @@ iedit = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "iedit"; - version = "20160728.1951"; + version = "20161228.2111"; src = fetchFromGitHub { owner = "victorhge"; repo = "iedit"; - rev = "3211c2ee6cdc6c7fca280244f426b3aa8fbff3f5"; - sha256 = "0nsd0s3fj571bdqv6zm0l9q14w5l2nf823fxa407riynxllxqp5w"; + rev = "03b647be8bd35ca82916f2ace27a95d5b85e8ecf"; + sha256 = "1pbbkizaa2f8lazpsc1j7qs3snvwkmw7schzhminzxrvdx15yids"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/aa2b2745bd1f1778070954c834158c19d4cfb788/recipes/iedit"; @@ -32819,12 +34347,12 @@ imapfilter = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "imapfilter"; - version = "20160419.246"; + version = "20161008.1357"; src = fetchFromGitHub { owner = "tarsius"; repo = "imapfilter"; - rev = "f3aca4c07178c56080e4c85875f78321e94a9649"; - sha256 = "15lflvpapm5749qq7jzdwbd0isb89i6df3np4wn9y9gjl7y92wk7"; + rev = "a879ddc36fedc30311693f308f414c520fdfc370"; + sha256 = "0rx4r6822iwl4gb9j0fii0sqinqvp3lzrc768rasgicgpklaqkjs"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2415894afa3404fbd73c84c58f8b8267187d6d86/recipes/imapfilter"; @@ -32881,10 +34409,10 @@ }) {}; imenu-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "imenu-plus"; - version = "20151231.1401"; + version = "20170101.1029"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/imenu+.el"; - sha256 = "00w88d37mg2hdrzpw5cxrgqz5jbf7rylmir95hs8j1cm8fk787bb"; + sha256 = "039s81faqg5y3vhl9hlwn5qffdghshn6867pp8nf93f6zhj9mxr0"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/imenu+"; @@ -32904,8 +34432,8 @@ src = fetchFromGitHub { owner = "alezost"; repo = "imenus.el"; - rev = "ee1bbd2228dbb86df2865dc9004d375421b171ba"; - sha256 = "1y57xp0w0c6hg3gn4f1l3612a18li4gwhfa4dy18fy94gr54ycpx"; + rev = "c24bc3a5b3bb942afcdf2dfb568968cf836ddafc"; + sha256 = "1p6b7wvzf63dca446gpxm90pmbh9f7r097hbhwj2jmm2i9j5d0lg"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cc571105a8d7e2ea85391812f1fa639787fa7563/recipes/imenus"; @@ -33022,57 +34550,78 @@ license = lib.licenses.free; }; }) {}; - import-js = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + import-js = callPackage ({ emacs, fetchFromGitHub, fetchurl, grizzl, lib, melpaBuild }: melpaBuild { pname = "import-js"; - version = "20160504.2210"; + version = "20161220.508"; src = fetchFromGitHub { owner = "galooshi"; repo = "emacs-import-js"; - rev = "ce454d36fbbdd6cc9659eb0ef3c42560bdb6bfa5"; - sha256 = "1pv29qxiz9yqfp67fjj4mk8bqxs5y4qwcpx4kvznpfzdcwsza53j"; + rev = "15d395126f57408d770a72db2e5f43271f90fa52"; + sha256 = "1ipbfacjx9vqqhvsf9sgfci8vqx0plks510w1gsjj0xwrpqn1f6l"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/048344edd471a473c9e32945b021b3f26f1666e0/recipes/import-js"; sha256 = "0qzr4vfv3whdly73k7x621dwznca7nlhd3gpppr2w2sg12jym5ha"; name = "import-js"; }; - packageRequires = [ emacs ]; + packageRequires = [ emacs grizzl ]; meta = { homepage = "https://melpa.org/#/import-js"; license = lib.licenses.free; }; }) {}; - import-popwin = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, popwin }: + import-popwin = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, popwin }: melpaBuild { pname = "import-popwin"; - version = "20150716.233"; + version = "20161105.849"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-import-popwin"; - rev = "34c3b34ffcadafea71600acb8f4e5ba385e6da19"; - sha256 = "0ycsdwwfb27g85aby4jix1aj41a4vq6bf541iwla0xh3wsyxb01w"; + rev = "6a21efc7fd44f8c2484d22eadf298e4bfd4bc003"; + sha256 = "1h4c3cib87hvgp37c30lx7cpyxvgdsb9hp7z0nfrkbbif0acrj2i"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a6f0629515f36e2e98839a6894ca8c0f58862dc2/recipes/import-popwin"; sha256 = "0vkw6y09m68bvvn1wzah4gzm69z099xnqhn359xfns2ljm74bvgy"; name = "import-popwin"; }; - packageRequires = [ cl-lib popwin ]; + packageRequires = [ emacs popwin ]; meta = { homepage = "https://melpa.org/#/import-popwin"; license = lib.licenses.free; }; }) {}; + importmagic = callPackage ({ emacs, epc, f, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "importmagic"; + version = "20170101.1603"; + src = fetchFromGitHub { + owner = "anachronic"; + repo = "importmagic.el"; + rev = "c75afbb93b024307c4cf67e6dd44cda80bbea697"; + sha256 = "1xz99g9j8gfd6qrdsmrf98mq61168divw8lrwl3zylfw04x20b4b"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/695534126f0caa52f66bb90b0277d08d524daa21/recipes/importmagic"; + sha256 = "1d85sg8wsm03v8zmv5w0znkgnr4q33x0d3frkr16dcmgqh2z9lgp"; + name = "importmagic"; + }; + packageRequires = [ emacs epc f ]; + meta = { + homepage = "https://melpa.org/#/importmagic"; + license = lib.licenses.free; + }; + }) {}; indent-guide = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "indent-guide"; - version = "20160606.2318"; + version = "20161226.2332"; src = fetchFromGitHub { owner = "zk-phi"; repo = "indent-guide"; - rev = "feb207cb5610f351c7cdcf266e0c99117b2f786c"; - sha256 = "0ykddzily3b6c6k7fvq274pqdjf3934n8p3nrmnsw6c93i1ndd4f"; + rev = "c0343c76362b25148738ccc11317f7ccb89580d0"; + sha256 = "1r6cq0984yacby96hphvsvvbifa4qz2j6s25mz72l15r344m769q"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5d7110054801e3af5e5ef710a29f73116a2bc746/recipes/indent-guide"; @@ -33085,22 +34634,43 @@ license = lib.licenses.free; }; }) {}; - indicators = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + indent-tools = callPackage ({ fetchFromGitLab, fetchurl, hydra, lib, melpaBuild, s, yafolding }: + melpaBuild { + pname = "indent-tools"; + version = "20161220.856"; + src = fetchFromGitLab { + owner = "emacs-stuff"; + repo = "indent-tools"; + rev = "3b0e62e15091123cc6d54bf4d401ccf0d5e22062"; + sha256 = "1rklsf6x7lwhpvzs9s8sdlfj98wh6zjsdb28pnlha09g2nm5c7jj"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/9d8c79e455b3a567b179812754f82452469dc267/recipes/indent-tools"; + sha256 = "1i81pk62lnjww80dpi5b55fz7p0z2qxm19z6v3225x2jpylwcab3"; + name = "indent-tools"; + }; + packageRequires = [ hydra s yafolding ]; + meta = { + homepage = "https://melpa.org/#/indent-tools"; + license = lib.licenses.free; + }; + }) {}; + indicators = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "indicators"; - version = "20130217.1405"; + version = "20161211.326"; src = fetchFromGitHub { owner = "Fuco1"; repo = "indicators.el"; - rev = "c6d520eb3536cf3a77c635fa36fec031d3f84fe4"; - sha256 = "1zsw68zzvjjh93cldc0w83k67hzcgi226vz3d0nzqc9sczqk8civ"; + rev = "f62a1201f21453e3aca93f48483e65ae8251432e"; + sha256 = "0n933jigp0awba2hxg3kwscmfmmqn3jwbrxcw3vw9aj0a5rg5bq6"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/72c96bad0d0b5a4f738fd1b2afe5d302eded440d/recipes/indicators"; sha256 = "1rhmz8sfi2gnv72sbw6kgyzidk43mnp05wnscw9vjvz9v0vwirss"; name = "indicators"; }; - packageRequires = []; + packageRequires = [ cl-lib dash ]; meta = { homepage = "https://melpa.org/#/indicators"; license = lib.licenses.free; @@ -33130,12 +34700,12 @@ inf-clojure = callPackage ({ clojure-mode, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "inf-clojure"; - version = "20160404.2138"; + version = "20161121.314"; src = fetchFromGitHub { owner = "clojure-emacs"; repo = "inf-clojure"; - rev = "aa81e316c2a0fcb2026ac036a7c1e5ab01a3d377"; - sha256 = "1632q7zbqqs5nvvxly3b2fj9b9q9mgxwh5sspamj7442s7i0j645"; + rev = "117d8cb2564bca1248bd71eaec8b97ff1d94668d"; + sha256 = "0wdajff7p1d1ziac6immc11jx9c4ivkj6npnjx80cyjnacj7byn4"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5d6112e06d1efcb7cb5652b0bec8d282d7f67bd9/recipes/inf-clojure"; @@ -33193,12 +34763,12 @@ inf-ruby = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "inf-ruby"; - version = "20160617.551"; + version = "20161218.1754"; src = fetchFromGitHub { owner = "nonsequitur"; repo = "inf-ruby"; - rev = "4d820954241988b4506e067fa9fdf6d574876e2c"; - sha256 = "1h7yna7lm7dp4grqc7q1sf0frjr672jp801aynfl51dgg5vr5aqq"; + rev = "1dd007201a6f1465791edaea7e80e3adbeda5a45"; + sha256 = "07hgzwydvg56f9kpg7ch5g1i429s6c8fssn3zzk58rxnc620jv83"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/inf-ruby"; @@ -33232,22 +34802,22 @@ license = lib.licenses.free; }; }) {}; - inflections = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + inflections = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "inflections"; - version = "20121016.157"; + version = "20161126.1727"; src = fetchFromGitHub { owner = "eschulte"; repo = "jump.el"; - rev = "56cec33dd98231a95faa26dd4c0612885d923f78"; - sha256 = "0061hcmj63g13bvacwkmcb5iggwnk27dvb04fz4hihqis6jg01c5"; + rev = "9519c675e8a650f6afade7d870e925d0fb50f112"; + sha256 = "1bm1mgd632gq3cl4zrq66vnqq9ynvc01iy6szp464ccnm3cmqdzr"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/392c7616d27bf12b29ef3c2ea71e42ffaea81cc6/recipes/inflections"; sha256 = "0f02bhm2a5xiaxnf2c2hlpa4p121xfyyj3c59fy0yldipdxhvw70"; name = "inflections"; }; - packageRequires = []; + packageRequires = [ cl-lib emacs ]; meta = { homepage = "https://melpa.org/#/inflections"; license = lib.licenses.free; @@ -33255,10 +34825,10 @@ }) {}; info-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "info-plus"; - version = "20160702.1343"; + version = "20170101.1030"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/info+.el"; - sha256 = "0rpkfzsas76qp7a77hf60gkdlisbgcf1apwkkzj2lp1dbkncbx30"; + sha256 = "05s8wjv0nvdbdmc30kjbvipk2yvnvivhvjr0jrpkhq4s043135xq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e77aadd8195928eed022f1e00c088151e68aa280/recipes/info+"; @@ -33292,6 +34862,27 @@ license = lib.licenses.free; }; }) {}; + inherit-local = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "inherit-local"; + version = "20161007.724"; + src = fetchFromGitHub { + owner = "shlevy"; + repo = "inherit-local"; + rev = "426f7997af0906013846d20729a499f0ce6db634"; + sha256 = "1n97636c3zi7cq93m5fxvgqkqg5aryn742q7pb1s1w47smdpclgl"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/08b978724ff26b3ea7a134d307d888c80e2a92a9/recipes/inherit-local"; + sha256 = "1v3q3s6qq64k1f4ck6rfgsy1arnf9cxg2kw6d1ahfrwr4ixsqm87"; + name = "inherit-local"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/inherit-local"; + license = lib.licenses.free; + }; + }) {}; init-loader = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "init-loader"; @@ -33316,12 +34907,12 @@ init-open-recentf = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "init-open-recentf"; - version = "20160822.701"; + version = "20161206.645"; src = fetchFromGitHub { owner = "zonuexe"; repo = "init-open-recentf.el"; - rev = "a4f5338a14302d44fa5aebb1ddc7aff3dc9abbe3"; - sha256 = "0iph5cpz2dva1rnvp5xynmkndny87z308pziadk1qgf05mc0i61d"; + rev = "7d8fb124806291f7f6ef2ec3a664ea25899b6d68"; + sha256 = "0vswa7304s7m6cirbaky9rmrxjb2aylvif2vg2p6l274k37c4jyh"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4db8b6eced50726c788d7343137f6b4558575abf/recipes/init-open-recentf"; @@ -33337,12 +34928,12 @@ initsplit = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "initsplit"; - version = "20160113.653"; + version = "20160919.1118"; src = fetchFromGitHub { owner = "dabrahams"; repo = "initsplit"; - rev = "5d51986eafb2b5c64f825fba0d1221bd42364c1c"; - sha256 = "1qvkxpxdv0n9qlzigvi25iw485824pgbpb10lwhh8bs2074dvrgq"; + rev = "c941d436eb2b10b01c76a582c5a2b23fb30751aa"; + sha256 = "0vz0pfm2m3v0zk65b4ikk6yfpk282nzbm99fbzj8w76yfg240dfn"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5a908c8fad08cd4d7dbb586570d0f0b384bf9071/recipes/initsplit"; @@ -33379,16 +34970,16 @@ inkpot-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "inkpot-theme"; - version = "20120505.708"; + version = "20161220.2134"; src = fetchFromGitHub { - owner = "siovan"; - repo = "emacs24-inkpot"; - rev = "374a72794ebcb92bd7b50b5578d4c2ffa6049966"; - sha256 = "063v3a783si5fi8jrnysss60qma1c3whvyb48i10qbrrrx750cmv"; + owner = "ideasman42"; + repo = "emacs-inkpot-theme"; + rev = "e175dbd7d0484ae905525ff157cda4e190977ba6"; + sha256 = "0cpmc92234xhddb14np8v9fq3cq06ci3qcc25a72dnmjf19kkjcm"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/bd6ce27c31a1c73d6ee1f6b22147eda8c6b34243/recipes/inkpot-theme"; - sha256 = "0w4q74w769n88zb2q7x326cxji42278lf95wnpslgjybnaxycgw7"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/dd3e02aaf8865d8038b9c590c8545e7a1b21d620/recipes/inkpot-theme"; + sha256 = "1m3iygb8vbqcnsxsnwr7g2mq1n2a9r7qxp3pgm1fpwz1lngvaagf"; name = "inkpot-theme"; }; packageRequires = []; @@ -33501,6 +35092,27 @@ license = lib.licenses.free; }; }) {}; + intellij-theme = callPackage ({ fetchFromGitLab, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "intellij-theme"; + version = "20161004.2215"; + src = fetchFromGitLab { + owner = "fommil"; + repo = "emacs-intellij-theme"; + rev = "c4b4a7ecdad6ed57545c114b40da9f76371f566e"; + sha256 = "1wz6j7szb271g1baf6jj4k4kw1dfiz8l677vrazx4wyqdpmzlk0c"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/cfe86071b2e84929476a771da99341f4a73cfd06/recipes/intellij-theme"; + sha256 = "1g8cninmq840sl8fmhq2hcsmz7nccbjmprzcl8w1zdavfp86b97g"; + name = "intellij-theme"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/intellij-theme"; + license = lib.licenses.free; + }; + }) {}; interaction-log = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "interaction-log"; @@ -33525,12 +35137,12 @@ interleave = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "interleave"; - version = "20160825.953"; + version = "20161225.327"; src = fetchFromGitHub { owner = "rudolfochrist"; repo = "interleave"; - rev = "fa2c32c7b55b6f7ea5900e89c9a749469501a9b6"; - sha256 = "1slf22a044iirn4p5rw1hvgg1grmhml4rjk4g74xbsg68xiyg6ma"; + rev = "0e23fad70451607243e6b8ece4df8bb268d42061"; + sha256 = "1pkxnip07kh21y99czcnvhbf4yihjipwq2qq5hfsqmniwws0bbqn"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6c43d4aaaf4fca17f2bc0ee90a21c51071886ae2/recipes/interleave"; @@ -33546,12 +35158,12 @@ intero = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, flycheck, haskell-mode, lib, melpaBuild }: melpaBuild { pname = "intero"; - version = "20160825.656"; + version = "20170103.425"; src = fetchFromGitHub { owner = "commercialhaskell"; repo = "intero"; - rev = "037f1acd9d275d669e594942e1c207264b1e0282"; - sha256 = "1m73y99yvbwkdbrfaiibk33ibc1alwdg3nwgnn7fn7ivxz91n617"; + rev = "cb18c88db105f0be39f201010833e248d073d76c"; + sha256 = "0y0598phgz4plwb72j5yic4kww4jjw1giv8pf4m3i6angvnv3zhz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1b56ca344ad944e03b669a9974e9b734b5b445bb/recipes/intero"; @@ -33609,12 +35221,12 @@ io-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "io-mode"; - version = "20140814.321"; + version = "20161004.56"; src = fetchFromGitHub { owner = "superbobry"; repo = "io-mode"; - rev = "79f2de13d8a448892266da26642525747d048aa8"; - sha256 = "10xpxmbzhmi0lmby2rpmxrbr3qf1vlbif2inmfsvkj85wyh8a7rp"; + rev = "fd65ae769093defcf554d6d637eba6e6dfc29f56"; + sha256 = "1x3j4asbczfr9vrqd7bms57ngqzaik73sm2njcgjshf9c3js3aa9"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/29ac993c86f992a452784c75c1511d15c4718c91/recipes/io-mode"; @@ -33690,15 +35302,36 @@ license = lib.licenses.free; }; }) {}; + ipcalc = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "ipcalc"; + version = "20160927.220"; + src = fetchFromGitHub { + owner = "dotemacs"; + repo = "ipcalc.el"; + rev = "e92afd8b96592b6e2d65ba073bf87c9dd2408e91"; + sha256 = "1s17wpdbrbkbmkndbwm0byy11cmymhs6yn7w0v5lvw5l2cgicxjg"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/3f80bcdf411de128139a6bf1f507d7ec87076c25/recipes/ipcalc"; + sha256 = "0rd9p4yvzabw437qf7lgiyzxnvv6cjai8b22ywsdryxar9fd8pb2"; + name = "ipcalc"; + }; + packageRequires = [ cl-lib ]; + meta = { + homepage = "https://melpa.org/#/ipcalc"; + license = lib.licenses.free; + }; + }) {}; iplayer = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "iplayer"; - version = "20150101.255"; + version = "20161120.1320"; src = fetchFromGitHub { owner = "csrhodes"; repo = "iplayer-el"; - rev = "48b664e36e1a8e37eeb3eee80b91ff7126ed449a"; - sha256 = "043dnij48zdyg081sa7y64lm35z7zvrv8gcymv3l3a98r1yhy3v6"; + rev = "b788fffa4b36bbd558047ffa6be51b1f0f462f23"; + sha256 = "0x82mxbc6f5azzg7c4zrxz1q763k8i3y1kfb79xfspb2i64dgg5g"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6e9a97667365f1c30f53a6aeeb7b909a78888eb1/recipes/iplayer"; @@ -33795,12 +35428,12 @@ irony = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, json ? null, lib, melpaBuild }: melpaBuild { pname = "irony"; - version = "20160825.1209"; + version = "20161227.348"; src = fetchFromGitHub { owner = "Sarcasm"; repo = "irony-mode"; - rev = "03cf7216c93dcd907ce9e13e52b6de545a5593bc"; - sha256 = "17a6mpyk2pj479jjzxc68v2c62d07609ys959kb33c719w9djpb9"; + rev = "ebc373b0b4f2b3f491c91d3a7f6dc9ce565a2960"; + sha256 = "1594q15664awzb4ylr74x4ab8lram135rr0fr1l1gq4nsqzv4pg9"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d2b6a8d57b192325dcd30fddc9ff8dd1516ad680/recipes/irony"; @@ -33857,10 +35490,10 @@ }) {}; isearch-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "isearch-plus"; - version = "20160704.805"; + version = "20170101.2341"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/isearch+.el"; - sha256 = "047fqfqn4i2vbamp0zj7f2v4wq7vah6cczi4mkvlxcnd0f8llr6l"; + sha256 = "0iagsqqsxjxz0j30ljynwjpjn6i5klaxka4ygrsbxh0ys6cv5yfh"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8a847ee5f4c4206b48cb164c49e9e82a266a0730/recipes/isearch+"; @@ -33875,10 +35508,10 @@ }) {}; isearch-prop = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "isearch-prop"; - version = "20160827.922"; + version = "20170101.1034"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/isearch-prop.el"; - sha256 = "065nbrc14iw4ppj6v7fp5iygi52rbd2iwm7z5kif292ffdn499zn"; + sha256 = "0n83qikh3mlnd3f9qwcsflg5x10sxvs9fkidyyv79jr673x4ljpv"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/isearch-prop"; @@ -33978,12 +35611,12 @@ itail = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "itail"; - version = "20151113.835"; + version = "20161022.1431"; src = fetchFromGitHub { owner = "re5et"; repo = "itail"; - rev = "ff80d0456a0039062de1cf73932a5a32d46821b1"; - sha256 = "1az986mk8j8hyvr1mi9hirixwcd73jcqkjsw4xy34vjbwxi122r9"; + rev = "129d7089fcf712c296706841afc5918955a83f19"; + sha256 = "0jllp27syd533raj7lqfj5ismm7g7f4av9ikgqar8048m3xkvy2q"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6b810bf1deeb79064144d8b684fab336686018ef/recipes/itail"; @@ -34083,12 +35716,12 @@ ivy = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ivy"; - version = "20160829.234"; + version = "20161228.1838"; src = fetchFromGitHub { owner = "abo-abo"; repo = "swiper"; - rev = "4c3ecb4d739df379dd01ac8c7dc17080e608dac3"; - sha256 = "0cah0ri248hy1xzrldhh831imyfvnm9jdwnnxqm0iphp4dsf1xk7"; + rev = "dc693c37dae89e9a4302a5cce42f5321f83946c8"; + sha256 = "0bg4ki0zzqr0pir4b3p0bpv747bfb5a8if0pydjcwrwb05b37rmp"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/06c24112a5e17c423a4d92607356b25eb90a9a7b/recipes/ivy"; @@ -34104,12 +35737,12 @@ ivy-bibtex = callPackage ({ biblio, cl-lib ? null, dash, f, fetchFromGitHub, fetchurl, lib, melpaBuild, parsebib, s, swiper }: melpaBuild { pname = "ivy-bibtex"; - version = "20160823.900"; + version = "20170103.227"; src = fetchFromGitHub { owner = "tmalsburg"; repo = "helm-bibtex"; - rev = "13e04b275d3b9a523d6a9f7fa753fc449f3f5960"; - sha256 = "1l66sn7ancyd9q3jbbhay55rs8zbbd7nh2vv9jdgmpw2lys3xs89"; + rev = "1e11998cc45a12a1b1bd19b8fe9ed8a9f0c50774"; + sha256 = "1q7vqi1g2rbkh6lxlma7rb8vpsx5vxl2iadxzbzy21d4knjpnj96"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c23c09225c57a9b9abe0a0a770a9184ae2e58f7c/recipes/ivy-bibtex"; @@ -34122,22 +35755,22 @@ license = lib.licenses.free; }; }) {}; - ivy-erlang-complete = callPackage ({ async, counsel, dash, emacs, erlang, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild, s }: + ivy-erlang-complete = callPackage ({ async, counsel, emacs, erlang, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }: melpaBuild { pname = "ivy-erlang-complete"; - version = "20160824.2004"; + version = "20161018.1145"; src = fetchFromGitHub { owner = "s-kostyaev"; repo = "ivy-erlang-complete"; - rev = "eec1c4ec26f693fb21495c8644badf4d7bd4ae6f"; - sha256 = "0ivmwk8nnvpghbvrr883i8wc7nck5752pws1kkfxn4qs2yl6v1bf"; + rev = "ec8588b1be34b9508a5eaf893c9854e2938d02a2"; + sha256 = "1f03fyc3x34nzm1hk5snvbkqfcp829whjvs8i7y4byap7m0npaf9"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ac1b9e350d3f066e4e56202ebb443134d5fc3669/recipes/ivy-erlang-complete"; sha256 = "00fqjgrhvcn3ibpgiy4b0sr4x9p6ym5r1rvi4rdzsw2i3nxmgf3a"; name = "ivy-erlang-complete"; }; - packageRequires = [ async counsel dash emacs erlang ivy s ]; + packageRequires = [ async counsel emacs erlang ivy ]; meta = { homepage = "https://melpa.org/#/ivy-erlang-complete"; license = lib.licenses.free; @@ -34150,8 +35783,8 @@ src = fetchFromGitHub { owner = "nlamirault"; repo = "emacs-gitlab"; - rev = "a1c1441ff5ffb290e695eb9ac05431e9385578f4"; - sha256 = "0ywjrgafpl4cnrykx9yysazr7hkd2pxk67h065f8z3mid6cgh1wa"; + rev = "2efdc9bc2f572fceb11199cecdd04aae03df3cb0"; + sha256 = "0pxmmgsrn5d2jmak3plwb6h15h2d4sbwk49q6gdniglcf9nagckq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/35d4d4f22e4c567954287b2a1cabcb595497095a/recipes/ivy-gitlab"; @@ -34167,12 +35800,12 @@ ivy-hydra = callPackage ({ emacs, fetchFromGitHub, fetchurl, hydra, ivy, lib, melpaBuild }: melpaBuild { pname = "ivy-hydra"; - version = "20160517.1349"; + version = "20161213.439"; src = fetchFromGitHub { owner = "abo-abo"; repo = "swiper"; - rev = "4c3ecb4d739df379dd01ac8c7dc17080e608dac3"; - sha256 = "0cah0ri248hy1xzrldhh831imyfvnm9jdwnnxqm0iphp4dsf1xk7"; + rev = "dc693c37dae89e9a4302a5cce42f5321f83946c8"; + sha256 = "0bg4ki0zzqr0pir4b3p0bpv747bfb5a8if0pydjcwrwb05b37rmp"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/06c24112a5e17c423a4d92607356b25eb90a9a7b/recipes/ivy-hydra"; @@ -34227,6 +35860,48 @@ license = lib.licenses.free; }; }) {}; + ivy-rich = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }: + melpaBuild { + pname = "ivy-rich"; + version = "20170102.1820"; + src = fetchFromGitHub { + owner = "yevgnen"; + repo = "ivy-rich"; + rev = "7ff0b3e43b27353fabcb01d2252236e266916e50"; + sha256 = "1gy45rm8pznrkqh7d7wrppd2z2bd654yzi9ddav1ibzaip52g5m3"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/0fc297f4949e8040d1b0b3271c9a70c64887b960/recipes/ivy-rich"; + sha256 = "0knkqc403gch4dp1q114h64cwwisxwnsxjqbl3cnidlwkn7lzk7m"; + name = "ivy-rich"; + }; + packageRequires = [ emacs ivy ]; + meta = { + homepage = "https://melpa.org/#/ivy-rich"; + license = lib.licenses.free; + }; + }) {}; + ivy-xcdoc = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }: + melpaBuild { + pname = "ivy-xcdoc"; + version = "20160917.355"; + src = fetchFromGitHub { + owner = "hex2010"; + repo = "emacs-ivy-xcdoc"; + rev = "5ea22af36c4c2737fb0bec53432c233482d8b314"; + sha256 = "1m5ljx395yw70fx643pnf7pk709s9v5b77zvvv3j21d0cjnppqz5"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/d2fd855c098ca65293d84c3b526b0c39f7b07ade/recipes/ivy-xcdoc"; + sha256 = "1my45325ys2m2l5y8pmi5jnbplqm16b1n7zll37163vv16zwnd53"; + name = "ivy-xcdoc"; + }; + packageRequires = [ emacs ivy ]; + meta = { + homepage = "https://melpa.org/#/ivy-xcdoc"; + license = lib.licenses.free; + }; + }) {}; ix = callPackage ({ fetchFromGitHub, fetchurl, grapnel, lib, melpaBuild }: melpaBuild { pname = "ix"; @@ -34351,22 +36026,22 @@ license = lib.licenses.free; }; }) {}; - jade = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, js2-mode, lib, map, melpaBuild, seq, websocket }: + jade = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, js2-mode, lib, melpaBuild, seq, websocket }: melpaBuild { pname = "jade"; - version = "20160808.129"; + version = "20161210.804"; src = fetchFromGitHub { owner = "NicolasPetton"; repo = "jade"; - rev = "e5204d18a9a9563af2ba5d5f985d6161a906d7d9"; - sha256 = "0l0q4c98jil0scr4spc3z3rgy4xy4w85zrsas1z8w142arvpiw70"; + rev = "2bacd4da0b190547d2d767adfea1b3c4501710c0"; + sha256 = "18r8rkcqrcizg884axf3d2zi9a6d5nlh1syn68l17yf2fi4mkkzw"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b989c1bd83f20225314b6e903c5e1df972551c19/recipes/jade"; sha256 = "04w7pgn0dkppi6l15rkz8b1bcpw1dsgvvijy81a6i4nkigxxlv4y"; name = "jade"; }; - packageRequires = [ company emacs js2-mode map seq websocket ]; + packageRequires = [ company emacs js2-mode seq websocket ]; meta = { homepage = "https://melpa.org/#/jade"; license = lib.licenses.free; @@ -34417,12 +36092,12 @@ japanese-holidays = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "japanese-holidays"; - version = "20150208.1737"; + version = "20160927.2318"; src = fetchFromGitHub { owner = "emacs-jp"; repo = "japanese-holidays"; - rev = "3c82e33a942e495bbfdf3f40d965dafc87b51336"; - sha256 = "1mwm9wpnxqq3nw7fl0jf40a92ha51yd95vvr58zllhbxdpy3q9pv"; + rev = "0bccfac342d6ebda1c1a35c3babca0c800ff0c9b"; + sha256 = "1id40wxjb9j20lxhsq16j6qmdr6c7sh65iq7iyjqhrz5c4706x66"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/80088028a1322e99e5fc50bebe08fcb6d1a2a44d/recipes/japanese-holidays"; @@ -34519,6 +36194,27 @@ license = lib.licenses.free; }; }) {}; + jastadd-ast-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "jastadd-ast-mode"; + version = "20161219.126"; + src = fetchFromGitHub { + owner = "rudi"; + repo = "jastadd-ast-mode"; + rev = "a29fdb470cbf0a398164950a3b0d2217de48e0c0"; + sha256 = "01fv0ixkshy7i6wzcgq6xvijvh3n402vyhmh3qzjwi9p0vxvdyxv"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/32d59dd9e796438f1752d36a30d4e062abbb6dd1/recipes/jastadd-ast-mode"; + sha256 = "1cwqxzmqx5wxaax12rq0hy0whpaivqncykym43p3an2sl9s6ngva"; + name = "jastadd-ast-mode"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/jastadd-ast-mode"; + license = lib.licenses.free; + }; + }) {}; jaunte = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "jaunte"; @@ -34687,22 +36383,22 @@ license = lib.licenses.free; }; }) {}; - jdee = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + jdee = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, memoize }: melpaBuild { pname = "jdee"; - version = "20160728.1152"; + version = "20170102.757"; src = fetchFromGitHub { owner = "jdee-emacs"; repo = "jdee"; - rev = "3bbae544db19da22d3943d226eb45c33d7919b43"; - sha256 = "0dr5mfaykqrsmmsbykwh46nkndggccs87v8y5qdxd6mqkivacfyl"; + rev = "5e41bd8ad9b172cc980ae5a9c7b50bcfc18ebacb"; + sha256 = "1xp515kjc18ryd5imb3r64nkinzqx1wxkzalgw672i6p7ydw529s"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/92d19f9b3c3163dbac4c0407e90fdfce5bf9008c/recipes/jdee"; - sha256 = "1yn8vszj0hs2jwwd4x55f11hs2wrxjjvxpngsj7lkcwax04kkvq3"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/a6d2c98f3bf2075e33d95c7befe205df802e798d/recipes/jdee"; + sha256 = "15n76w0ygjmsa2bym59bkmbbh0kpqx6nacp4zz32hlg48kgz1dx4"; name = "jdee"; }; - packageRequires = [ emacs ]; + packageRequires = [ dash emacs flycheck memoize ]; meta = { homepage = "https://melpa.org/#/jdee"; license = lib.licenses.free; @@ -34795,12 +36491,12 @@ jenkins = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, json ? null, lib, melpaBuild }: melpaBuild { pname = "jenkins"; - version = "20151114.1908"; + version = "20160903.1556"; src = fetchFromGitHub { owner = "rmuslimov"; repo = "jenkins.el"; - rev = "5ae8759d4799789337df0fd5e0e7d6f732f59b79"; - sha256 = "08ywfmsjv3vjqy95hx095kasy8knh3asl7mrlkgmv9wjwnxw45zs"; + rev = "8a3c1849fcbac379ea88ba1c14f3a63bb9dd3244"; + sha256 = "1dd7qmkdarrfm0gf115c2m2913jn7yv2ns0ic1ywq7b9v547i9cz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2ed2da33db5eaea1a37f86057da174a45cd37ea5/recipes/jenkins"; @@ -34915,22 +36611,22 @@ license = lib.licenses.free; }; }) {}; - jist = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, let-alist, lib, magit, melpaBuild, pkg-info, request }: + jist = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, let-alist, lib, magit, melpaBuild, request, seq }: melpaBuild { pname = "jist"; - version = "20160803.1758"; + version = "20161229.921"; src = fetchFromGitHub { owner = "emacs-pe"; repo = "jist.el"; - rev = "1a0252e47b4ae5be6f8a16680752f6c69b1291a8"; - sha256 = "0wa7gbm1nn5q97bkz1zsrzwhga4m028bsiixzf14qml8pfq6q5ml"; + rev = "da0692452e312a99bb27d8708504b521798aca48"; + sha256 = "13dic7bmj7a8vvjz47s1fnz8p5m22d2m2h2vlkmlq7322qwxxw6p"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/898bfa0b315240ef9335fde24ff0386a4c6c6595/recipes/jist"; sha256 = "11m9li1016cfkm4931h69d7g1dc59lwjl83wy3yipswdg3zlw0ar"; name = "jist"; }; - packageRequires = [ dash emacs let-alist magit pkg-info request ]; + packageRequires = [ dash emacs let-alist magit request seq ]; meta = { homepage = "https://melpa.org/#/jist"; license = lib.licenses.free; @@ -35002,12 +36698,12 @@ jq-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "jq-mode"; - version = "20160222.440"; + version = "20161128.748"; src = fetchFromGitHub { owner = "ljos"; repo = "jq-mode"; - rev = "ce63cb10e5a69c9017ceccf8adb7ab33450b057e"; - sha256 = "08wffbljnaxz2sh72vsqpq1lc47mnh4d47fl71dvw4pqs50zp8v0"; + rev = "f2dc70af890694828b8227b2727240e82780d7e5"; + sha256 = "18hprvhlwf110j7anyrrrjp4xjr3556yipz7n4jyqj69i0kvjw5c"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/318705966e26e58f87b53c115c519db95874ac1c/recipes/jq-mode"; @@ -35041,22 +36737,43 @@ license = lib.licenses.free; }; }) {}; - js-comint = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, nvm }: + js-auto-beautify = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, web-beautify, web-mode }: + melpaBuild { + pname = "js-auto-beautify"; + version = "20161030.2209"; + src = fetchFromGitHub { + owner = "Qquanwei"; + repo = "auto-beautify.el"; + rev = "dd2e5940a07c5bb8e793f25e644def62c3426eed"; + sha256 = "0wqw9gj59n4bxb3zpr3ddaqzwl2rb8zk7zv5dkfrzzvy2rz10zxd"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/7658000fb834fb17950a333967b116a785150633/recipes/js-auto-beautify"; + sha256 = "1as6xkmm295swyc2r6hac2lpf7r36mkq5ib5rxc11f30nnzyya9r"; + name = "js-auto-beautify"; + }; + packageRequires = [ web-beautify web-mode ]; + meta = { + homepage = "https://melpa.org/#/js-auto-beautify"; + license = lib.licenses.free; + }; + }) {}; + js-comint = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "js-comint"; - version = "20160622.2316"; + version = "20161212.2125"; src = fetchFromGitHub { owner = "redguardtoo"; repo = "js-comint"; - rev = "83978912073d554f3dc1185a8a46222317a90539"; - sha256 = "0h0dfq2rrnlvdbm39l2wqmhzrps6z6ha65j26bnblwa03jr608l9"; + rev = "2f42249c0a18ad2e17cfb272d75aa9fd3ec5e4ec"; + sha256 = "17f99cih28lfral5iq43pjrvimlx0bnigirv44wm81n58widismy"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/bc9d20b95e369e5a73c85a4a9385d3a8f9edd4ca/recipes/js-comint"; sha256 = "0jvkjb0rmh87mf20v6rjapi2j6qv8klixy0y0kmh3shylkni3an1"; name = "js-comint"; }; - packageRequires = [ nvm ]; + packageRequires = []; meta = { homepage = "https://melpa.org/#/js-comint"; license = lib.licenses.free; @@ -35083,6 +36800,48 @@ license = lib.licenses.free; }; }) {}; + js-format = callPackage ({ emacs, fetchFromGitHub, fetchurl, js2-mode, lib, melpaBuild }: + melpaBuild { + pname = "js-format"; + version = "20161220.1427"; + src = fetchFromGitHub { + owner = "futurist"; + repo = "js-format.el"; + rev = "1fb87a5b21cdc2dc4e29245d14d82e81a5983393"; + sha256 = "0cwxyfqiwl19gvx0smcdy8immvyj0rnsrxsqy2pch1s6m5sz4wxd"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/0d6deaa93f7deaba9f5f36f1963522b6dc5c673a/recipes/js-format"; + sha256 = "112zqb3q1gjlaa9zkmhx7vamh0g97dwp9j55215i1sx66lmp18iq"; + name = "js-format"; + }; + packageRequires = [ emacs js2-mode ]; + meta = { + homepage = "https://melpa.org/#/js-format"; + license = lib.licenses.free; + }; + }) {}; + js-import = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, projectile }: + melpaBuild { + pname = "js-import"; + version = "20161027.2259"; + src = fetchFromGitHub { + owner = "jakoblind"; + repo = "js-import"; + rev = "e57a8dc4a61d2b33add3da7ac44ea28979b792f9"; + sha256 = "1prcifdih35nnbbgz04dd4prfmi25fdxjwajp4wms2hm0q8z4mkr"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/69613bafcb5ca5d5436a4b27be6863f37a7d2fab/recipes/js-import"; + sha256 = "0hbs84sp50f7w0sn8qrskkwdi53076mv00xz3gpvf3a4nfdr7fci"; + name = "js-import"; + }; + packageRequires = [ dash emacs f projectile ]; + meta = { + homepage = "https://melpa.org/#/js-import"; + license = lib.licenses.free; + }; + }) {}; js2-closure = callPackage ({ fetchFromGitHub, fetchurl, js2-mode, lib, melpaBuild }: melpaBuild { pname = "js2-closure"; @@ -35104,22 +36863,22 @@ license = lib.licenses.free; }; }) {}; - js2-highlight-vars = callPackage ({ fetchFromGitHub, fetchurl, js2-mode, lib, melpaBuild }: + js2-highlight-vars = callPackage ({ emacs, fetchFromGitHub, fetchurl, js2-mode, lib, melpaBuild }: melpaBuild { pname = "js2-highlight-vars"; - version = "20150914.108"; + version = "20161209.128"; src = fetchFromGitHub { owner = "unhammer"; repo = "js2-highlight-vars.el"; - rev = "5857999e6a376810816a0bee71f6d235ffe8911d"; - sha256 = "1gad5a18m3jfhnklsj0ka3p2wbihh1yvpcn7mwlmm7cjjxcaly9g"; + rev = "15dbc583d8c2b7385f677d7ea563065fe6bfdb56"; + sha256 = "0da32ky9fg5rilb3h3s6s7v8swvnyqfwv51f55y3dhyya3n1lclm"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5f4a7c90be2e032277ae87b8de36d2e3f6146f09/recipes/js2-highlight-vars"; sha256 = "07bq393g2jy8ydvaqyqn6vdyfvyminvgi239yvwzg5g9a1xjc475"; name = "js2-highlight-vars"; }; - packageRequires = [ js2-mode ]; + packageRequires = [ emacs js2-mode ]; meta = { homepage = "https://melpa.org/#/js2-highlight-vars"; license = lib.licenses.free; @@ -35128,12 +36887,12 @@ js2-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "js2-mode"; - version = "20160826.1908"; + version = "20161230.1612"; src = fetchFromGitHub { owner = "mooz"; repo = "js2-mode"; - rev = "e45206b792e56e241c5536459d70b5509b731b28"; - sha256 = "0rdysrbfm6ks7x9nkw77pklsjmn8z01r2pa6bv8inbwgdvxm62v3"; + rev = "8569ba6734184b869b4ac42e79231d195ea4dba2"; + sha256 = "14j9qaqls403i5w5046w6qhw23gva7yfhmbw9mrdmwffl53nxfng"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/js2-mode"; @@ -35149,12 +36908,12 @@ js2-refactor = callPackage ({ dash, fetchFromGitHub, fetchurl, js2-mode, lib, melpaBuild, multiple-cursors, s, yasnippet }: melpaBuild { pname = "js2-refactor"; - version = "20160525.113"; + version = "20161102.1108"; src = fetchFromGitHub { owner = "magnars"; repo = "js2-refactor.el"; - rev = "987ed3be5f78d412fb73906cc0d077ddfc15f02d"; - sha256 = "0yzlcnana3ildshzmv60vfgfjkmxki42r7waxsmphjz2hcknbmfg"; + rev = "5633ee969c4644bde96c7f4134b02de463f910e1"; + sha256 = "0jwirj3aaigr8d5hnb5gpi447y2yl6ashxaqcagbasy6gvdf1knc"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8935264dfea9bacc89fef312215624d1ad9fc437/recipes/js2-refactor"; @@ -35174,8 +36933,8 @@ src = fetchFromGitHub { owner = "thomblake"; repo = "js3-mode"; - rev = "7fceb21ec56aac7af4b189bb0c0d0cf620327f5a"; - sha256 = "18c0s3i21b77pi5y86zi7jg9pwxc0h5dzznjiyrig0jab0cksln5"; + rev = "229aeb374f1b1f3ee5c59b8ba3eebb6385c232cb"; + sha256 = "0yd2lck1kq01pxk86jpxff5ih6fxx1a1wvl7v8b5ys7gi33fjqz2"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/805a7c7fee2bafd8785813963bf91ac1ca417fd1/recipes/js3-mode"; @@ -35258,8 +37017,8 @@ src = fetchFromGitHub { owner = "gongo"; repo = "json-reformat"; - rev = "24c2bf3c41897b5cf1398dcaedfec88526308bf4"; - sha256 = "05bjyw0hkpiyfadsx3giawykbj4qinfr1ilzd0xvx8akzq2ipq0y"; + rev = "8eb6668ed447988aea06467ba8f42e1f2178246f"; + sha256 = "11y11yybhb8wfj8qcj4gw8rhhly7kjs7ylyxwsh7qnfgq6f771qh"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f8c7976237f327fdfa58eea26ac8679f40ef3163/recipes/json-reformat"; @@ -35396,36 +37155,15 @@ license = lib.licenses.free; }; }) {}; - judge-indent = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: - melpaBuild { - pname = "judge-indent"; - version = "20160609.622"; - src = fetchFromGitHub { - owner = "yascentur"; - repo = "judge-indent-el"; - rev = "f76c012284abc296681167d7b33d5e61f3ac7cec"; - sha256 = "0547jy339ql31wym066pi79k520agdq062xblyvj0bi91j0rqld3"; - }; - recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/73fb2c31f6af63145aae7c449bfde1bbb00e1100/recipes/judge-indent"; - sha256 = "1gakdhnlxfq8knnykqdw4bizb5y67m8xhi07zannd7bsfwi4k6rh"; - name = "judge-indent"; - }; - packageRequires = []; - meta = { - homepage = "https://melpa.org/#/judge-indent"; - license = lib.licenses.free; - }; - }) {}; julia-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "julia-mode"; - version = "20160803.1643"; + version = "20161027.625"; src = fetchFromGitHub { owner = "JuliaLang"; repo = "julia-emacs"; - rev = "7b1d3fb053c32d9affe82fbf20cc0f8795f45026"; - sha256 = "0fz4165rzkh2nqv99ai25y3k26y1j2igakv3gg43ffhmxxkfil5l"; + rev = "feb6e79dddc8f992f85ae8c955ce024d57ec5e26"; + sha256 = "015y0y5xx7b3iky3r9gdnkh4kq1nxvdshvmlb0yy3mg71s62xi76"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8522d197cb1b2c139959e7189765001c5ee7e61a/recipes/julia-mode"; @@ -35441,12 +37179,12 @@ julia-shell = callPackage ({ fetchFromGitHub, fetchurl, julia-mode, lib, melpaBuild }: melpaBuild { pname = "julia-shell"; - version = "20160514.728"; + version = "20161125.1110"; src = fetchFromGitHub { owner = "dennisog"; repo = "julia-shell-mode"; - rev = "b9d82d0cb8d4d50c385e03312f08ab5d7676bf67"; - sha256 = "056pyq31fq86fskwhqny8n6jzavgcjv979kkg9hwbz7h90zvf9q4"; + rev = "583a0b2ca20461ab4356929fd0f2212c22341b69"; + sha256 = "182r7x7w3xnx7c54izz3rlz0khcwh7v21m89qpq99f9dvcs6273k"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a812c6a8498949d8bd9828a95433c539da87c1c8/recipes/julia-shell"; @@ -35480,22 +37218,22 @@ license = lib.licenses.free; }; }) {}; - jump = callPackage ({ fetchFromGitHub, fetchurl, findr, inflections, lib, melpaBuild }: + jump = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, findr, inflections, lib, melpaBuild }: melpaBuild { pname = "jump"; - version = "20151009.129"; + version = "20161126.1728"; src = fetchFromGitHub { owner = "eschulte"; repo = "jump.el"; - rev = "56cec33dd98231a95faa26dd4c0612885d923f78"; - sha256 = "0061hcmj63g13bvacwkmcb5iggwnk27dvb04fz4hihqis6jg01c5"; + rev = "9519c675e8a650f6afade7d870e925d0fb50f112"; + sha256 = "1bm1mgd632gq3cl4zrq66vnqq9ynvc01iy6szp464ccnm3cmqdzr"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f0c791aebccc08b770b3969ce5d2e82cbe26f80e/recipes/jump"; sha256 = "18g0fa9g8m9jscsm6pn7jwdq94l4aj0dfhrv2hqapq1q1x537364"; name = "jump"; }; - packageRequires = [ findr inflections ]; + packageRequires = [ cl-lib findr inflections ]; meta = { homepage = "https://melpa.org/#/jump"; license = lib.licenses.free; @@ -35655,8 +37393,8 @@ src = fetchFromGitHub { owner = "listx"; repo = "kakapo-mode"; - rev = "5d0390009cddbd8e5e1cf6b565d38ddc8ddf9e9f"; - sha256 = "0cfpm8cy05nlqb0xv6pydvb6vwgkn3z10chfi894vhiwh04jxj4v"; + rev = "bb6de027fb578df31652e58daa92522884ecc274"; + sha256 = "1y6ihk52jza07krz24l9axkwhi46fwi4h6bcjdck9q1qvdrcxw40"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a43f0f1f6a0773240a51d379ec786c20a9389e7b/recipes/kakapo-mode"; @@ -35751,6 +37489,27 @@ license = lib.licenses.free; }; }) {}; + kdeconnect = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "kdeconnect"; + version = "20161022.700"; + src = fetchFromGitHub { + owner = "carldotac"; + repo = "kdeconnect.el"; + rev = "a91a045cd4aabd671b689361efa10f2e01ad8e8e"; + sha256 = "0j9j3mlzkr8zw03fghpmvkb3i8r1ar0rarjcmvh9k6m4dk7l0g2d"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/c363866d30fb86ae636d30def8c3847711ada762/recipes/kdeconnect"; + sha256 = "1bcwpnwmm1l2jzc5znw8z6f5knysinidsbm12v4r1j8v6v80ydw6"; + name = "kdeconnect"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/kdeconnect"; + license = lib.licenses.free; + }; + }) {}; kerl = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "kerl"; @@ -35835,12 +37594,12 @@ key-leap = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "key-leap"; - version = "20160610.303"; + version = "20160831.747"; src = fetchFromGitHub { owner = "MartinRykfors"; repo = "key-leap"; - rev = "5add9fd38fdf46cc0306c27f721195ba6cf6ecf1"; - sha256 = "02f7mxhhw1y9j5nxfjcm0p1qczsk6wx0b3k0d7gn9chq9gablsp3"; + rev = "b3f6ef15c8a13870475d5af159fa24b30f97dea0"; + sha256 = "1f2k7jpxfvjirxzjc5c4s4lpg1hdgw8k7lfchx362jqijny1ipfp"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8b56e18063e6292bb2aca2acc7077b32f3d62262/recipes/key-leap"; @@ -35940,12 +37699,12 @@ keymap-utils = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "keymap-utils"; - version = "20160523.545"; + version = "20161212.957"; src = fetchFromGitHub { owner = "tarsius"; repo = "keymap-utils"; - rev = "34e28d4c88ad9c71aee3dd226817c6eb6927b2c7"; - sha256 = "17bfxn1bl2by3vnp24hnk6qjxx6av1fayrsw9hlldwhgp4ayhy48"; + rev = "a4f6ff724eeade5612c01c6f6bf401f264687793"; + sha256 = "0jgmw8798g3ikhwnic3fbbjld0hj8fvg50q6x78pngf78ws92mkl"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c03acebf1462dea36c81d4b9ab41e2e5739be3c3/recipes/keymap-utils"; @@ -36066,12 +37825,12 @@ kill-or-bury-alive = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "kill-or-bury-alive"; - version = "20160531.908"; + version = "20161231.1559"; src = fetchFromGitHub { owner = "mrkkrp"; repo = "kill-or-bury-alive"; - rev = "62557d5d45a27773cc4f079549e98ca8aad203d0"; - sha256 = "1d1kygn2l675rigz29hjmqkh0x7061ax0a60v5mjn9q87y4jd760"; + rev = "beadb20a0f436b5f3413a0dee215a20f614f070e"; + sha256 = "1ck9v01xih9ik85q46ijhl1m3ppazkr6f9fjcamxgxcwxrniwj4j"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/25016ed09b6333bd79b989a8f6b7b03cd92e08b3/recipes/kill-or-bury-alive"; @@ -36171,12 +37930,12 @@ kivy-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "kivy-mode"; - version = "20160623.1210"; + version = "20160902.1041"; src = fetchFromGitHub { owner = "kivy"; repo = "kivy"; - rev = "0a9354edd2f9b66da171f642f6bccb2ad1094320"; - sha256 = "130ngys74vcfsq7m0vcr7qbfv7rjbrqrn5ha0a38qsc9ccnxw8ir"; + rev = "082c4544415ab6bd976d9dda9c342bae109e7cbb"; + sha256 = "0b3dikix9mr5zch1m6dyf51y2fp48iqvpjwflqfn3x4j7k6pscgb"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/688e2a114073958c413e56e1d117d48db9d16fb8/recipes/kivy-mode"; @@ -36192,12 +37951,12 @@ kiwix = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "kiwix"; - version = "20160810.634"; + version = "20161230.2008"; src = fetchFromGitHub { owner = "stardiviner"; repo = "kiwix.el"; - rev = "ec62ab010ae0f2670b6598c112cc54119e2ed2f4"; - sha256 = "1zyflkrwwjai097cwvqm2n21mvmb4ppdi3j2lc1jvq9jnls68xxn"; + rev = "d43238ffbbf9863c36a0064f3291dac2013a46c8"; + sha256 = "1mbw82w0l1lazm6k9hchvcdqrrs2q9zpj7fxb0kyvfd5nkk99p0m"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/673b4ecec96562bb860caf5c08d016d6c4b89d8c/recipes/kiwix"; @@ -36238,8 +37997,8 @@ src = fetchFromGitHub { owner = "for-GET"; repo = "know-your-http-well"; - rev = "6479e44f8578828655f1a42ef9db8d8c67b7e238"; - sha256 = "0dfq0f60d1fcrd2023r25rpcvwjnknz595imaj38bjpimlbw0xcq"; + rev = "3cc5ab6d2764ab7aacb1b6e026abaccbeb6c37f2"; + sha256 = "0hni9xvv0759nqwhngijiqkvpiz7alyd4ydf0mvi2vkmbxkci8n1"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2ab50ae6278022281b2b7297c086089e5e669c7a/recipes/know-your-http-well"; @@ -36252,22 +38011,22 @@ license = lib.licenses.free; }; }) {}; - kodi-remote = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, request }: + kodi-remote = callPackage ({ fetchFromGitHub, fetchurl, json ? null, let-alist, lib, melpaBuild, request }: melpaBuild { pname = "kodi-remote"; - version = "20160712.1652"; + version = "20161126.1914"; src = fetchFromGitHub { owner = "spiderbit"; repo = "kodi-remote.el"; - rev = "cb0c81e2907529ca8db7387588869a14044a3822"; - sha256 = "14vi1l7nmcy4i5490fvh2crv9ngbd1gf68nibzq6rc396d98f4aa"; + rev = "ddb4e59bcbac9d198f0ba6c5e8acebb4c5005946"; + sha256 = "0gkg0n71fg74a95ckpblizwlp3a59iqqlcq7ix0q6055q6gcvixc"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/08f06dd824e67250afafdecc25128ba794ca971f/recipes/kodi-remote"; sha256 = "0f3n7b3plsw28xpz07lf5pv71b6s2xjhq2h23gpyg0r69v99chh5"; name = "kodi-remote"; }; - packageRequires = [ request ]; + packageRequires = [ json let-alist request ]; meta = { homepage = "https://melpa.org/#/kodi-remote"; license = lib.licenses.free; @@ -36297,12 +38056,12 @@ kooten-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "kooten-theme"; - version = "20160214.451"; + version = "20161023.205"; src = fetchFromGitHub { owner = "kootenpv"; repo = "emacs-kooten-theme"; - rev = "f703b3a9227b505008e2f07d5dd2e087fad563ba"; - sha256 = "1bh2zpprh2zwhfgdw131lm0j7zm0hmnb0zqcahps104xna9s5x60"; + rev = "d10197b4dd7af02cd14aeab2573c273a294798c3"; + sha256 = "1vc97d3i7jh4fbpan7lfnmsm32c4gwgrg11j2vq7z3rwm42wkkyr"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/692d268189740e8b540ba14ed92b07bb8b7fb399/recipes/kooten-theme"; @@ -36423,12 +38182,12 @@ kurecolor = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "kurecolor"; - version = "20150423.2122"; + version = "20161016.1827"; src = fetchFromGitHub { owner = "emacsfodder"; repo = "kurecolor"; - rev = "c8c72cea04e51f57701d2dd9be7dba5f3412e2f3"; - sha256 = "0da4y9pf6vq0i6w7bmvrszg9bji3ylhr44hmyrmxvah28pigb2fz"; + rev = "2b2c6778d75ef90f42fdffbe3ba7e58fa661946a"; + sha256 = "0zcqjphz2vad6jccw9z7fds8xmvv0vmgp7fi0d8i0i5fbhpwpfz7"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/58a5ebdbf82e83e6602161bca049d468887abe02/recipes/kurecolor"; @@ -36486,12 +38245,12 @@ labburn-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "labburn-theme"; - version = "20160801.753"; + version = "20161212.313"; src = fetchFromGitHub { owner = "ksjogo"; repo = "labburn-theme"; - rev = "564e1454f1b1fe436494f0cd9fbb78a889fd2969"; - sha256 = "0fm8zlc27m22lfa2ay81h2s5aar0vyhfhwbha3nl1wwdi9720w0f"; + rev = "ed5481c4fe2cc7ffab8ff066e3cae5118c582484"; + sha256 = "0wza7rn34y0p7drgrl9w10ij9w4z03vvy775zkp4qifryv78rzk2"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b1bfc9870fbe61f58f107b72fd7f16efba22c902/recipes/labburn-theme"; @@ -36506,10 +38265,10 @@ }) {}; lacarte = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "lacarte"; - version = "20151231.1409"; + version = "20170101.1036"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/lacarte.el"; - sha256 = "01vs0v17l76zwyrblf9c6x0xg5fagd4qv8pr1fwfw7kl64hb9aa2"; + sha256 = "0xlbv4hhmg85x8i2zzbma29r5674cbmjrqwda9bjxf00wfid0a76"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/85457b78a0fcc4ac0e0910d09594397b21cb1aa8/recipes/lacarte"; @@ -36585,6 +38344,27 @@ license = lib.licenses.free; }; }) {}; + language-detection = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "language-detection"; + version = "20161123.1013"; + src = fetchFromGitHub { + owner = "andreasjansson"; + repo = "language-detection.el"; + rev = "54a6ecf55304fba7d215ef38a4ec96daff2f35a4"; + sha256 = "0p8kim8idh7hg9398kpgjawkxq9hb6fraxpamdkflg8gjk0h5ppa"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/ed2b68d0a11e5db0e7f2f5cbb2eb93c298bcb765/recipes/language-detection"; + sha256 = "1c613dj6j05idqyjd6ix7llw04d0327aicac04cicrb006km3r51"; + name = "language-detection"; + }; + packageRequires = [ cl-lib emacs ]; + meta = { + homepage = "https://melpa.org/#/language-detection"; + license = lib.licenses.free; + }; + }) {}; latest-clojure-libraries = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "latest-clojure-libraries"; @@ -36692,12 +38472,12 @@ latex-unicode-math-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "latex-unicode-math-mode"; - version = "20160708.902"; + version = "20161201.835"; src = fetchFromGitHub { owner = "Christoph-D"; repo = "latex-unicode-math-mode"; - rev = "54ddb8742c50a338639625183f7315278fa7369c"; - sha256 = "1yp6nicz0zzd28hfpi94shgj76l1h68mbw875c7x9abyhfz06sfm"; + rev = "3b82347291edcb32e4062b0048c367a3079b3e8c"; + sha256 = "1xylfg8xpyb2m0qnysf58cl05ibbg4drhgq7msiiql2qrdzvpx9f"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9c021dfad8928c1a352e0ef5526eefa6c0a9cb37/recipes/latex-unicode-math-mode"; @@ -36818,12 +38598,12 @@ leanote = callPackage ({ async, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild, pcache, request, s }: melpaBuild { pname = "leanote"; - version = "20160829.317"; + version = "20161222.1739"; src = fetchFromGitHub { owner = "aborn"; repo = "leanote-emacs"; - rev = "28b2eda501b850174b0eda425ad59bd9bef8ed2e"; - sha256 = "11izm80swbg01hw5wx3imy6sssxgxhzb4sw30rb36kdamvk616dl"; + rev = "d499e7b59bb1f1a2fabc0e4c26fb101ed62ebc7b"; + sha256 = "1lg4zml26q97bx9jrmjikhnm3d74b12q2li5h8gpxx9m35wc360c"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b00b806ae4562ca5a74f41c12ef35bfa597bcfa8/recipes/leanote"; @@ -36839,12 +38619,12 @@ ledger-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ledger-mode"; - version = "20160716.1044"; + version = "20161231.914"; src = fetchFromGitHub { owner = "ledger"; repo = "ledger-mode"; - rev = "96c4e81eed52e0ef514dc15a6ea6d877b3409a2a"; - sha256 = "12q6wblwnb6y5c1882jz14742fqbm6p5jpzlvz7p90ylqfl7h989"; + rev = "a2ce924c4447daa92228d5904e5c31555d27fbf7"; + sha256 = "0j9ppsxn9q3h4lh9ak3r1n8jpg5x0zs2az016jiw2q3h6n6sw564"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/851eca11911b337f809d030785dc2608c8a47424/recipes/ledger-mode"; @@ -36944,12 +38724,12 @@ lentic = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, m-buffer, melpaBuild, s }: melpaBuild { pname = "lentic"; - version = "20160721.1552"; + version = "20161202.1352"; src = fetchFromGitHub { owner = "phillord"; repo = "lentic"; - rev = "90a05765ebe890c0da88fe5177171473fe729574"; - sha256 = "1s82s5d7www2blz4zbyjdxwiqg9xb24gk5scxd8b8xqr7wd20sqj"; + rev = "678db9327209a1e6200c9272f4080595dc68f8a5"; + sha256 = "1wziqwclrkrz6bs66mj2rqcgavyf11l7iaz8vksv7vw6fh18bpbs"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cbb6f9cc3c1040b80fbf3f2df2ac2c3c8d18b6b1/recipes/lentic"; @@ -36986,12 +38766,12 @@ less-css-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "less-css-mode"; - version = "20160819.9"; + version = "20160930.2153"; src = fetchFromGitHub { owner = "purcell"; repo = "less-css-mode"; - rev = "61f1d7219ec68e7471dd74d6e29cd35de49a2591"; - sha256 = "0bcf8j9lrcl3aaxzap4dsyz935xz1mp2pi3sfb009yr74cbnbgkc"; + rev = "59bf174c4e9f053ec2a7ef8c8a8198490390f6fb"; + sha256 = "1rkjamdy2a80w439vb2hhr7vqjj47wi2azlr7yq2xdz9851xsx9f"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/less-css-mode"; @@ -37028,12 +38808,12 @@ leuven-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "leuven-theme"; - version = "20160827.205"; + version = "20161211.1055"; src = fetchFromGitHub { owner = "fniessen"; repo = "emacs-leuven-theme"; - rev = "a41db665be150c8d4435dad6b4d15824034f296b"; - sha256 = "05avd08kvi74ivi0dwdygwi984ga1vxb1xc3cqpx4ircknilbc9a"; + rev = "10585a4333b409ee8b6e1a329de912464b69351d"; + sha256 = "18id5zhf4kk8ws22zp3cfzxcrpc3cj5k9a1m51xrfqg3ykqbg8g1"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b09451f4eb2be820e94d3fecbf4ec7cecd2cabdc/recipes/leuven-theme"; @@ -37088,12 +38868,12 @@ lfe-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "lfe-mode"; - version = "20160810.1940"; + version = "20161204.908"; src = fetchFromGitHub { owner = "rvirding"; repo = "lfe"; - rev = "c097741baa2a6757c94d01857139e8401b018294"; - sha256 = "1kamlps1bzsvz4kc7c0fzv1930zg92w2zgj20ghwmlsk9bl14zpx"; + rev = "aef45adb5178998e6e406c89bb058a92fd0f6863"; + sha256 = "16qs6wc0vh4k6hnr0jkjdgi3rq4a0v5w9yynpccw3c8ws24i7n6j"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c44bdb00707c9ef90160e0a44f7148b480635132/recipes/lfe-mode"; @@ -37108,10 +38888,10 @@ }) {}; lib-requires = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "lib-requires"; - version = "20151231.1410"; + version = "20170101.1038"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/lib-requires.el"; - sha256 = "077cy2clllrvabw44wb1pzcqz97r3y92j7cb9lnhd9pix0wpcq6g"; + sha256 = "03y99c1cg368c3647w8jypf2nlx26qkygrijw2vxcp4ha5v9f44z"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b3f0d443964f98bb65f2fe8f57048fbee844f2ba/recipes/lib-requires"; @@ -37232,12 +39012,12 @@ link-hint = callPackage ({ avy, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "link-hint"; - version = "20160412.2218"; + version = "20161216.857"; src = fetchFromGitHub { owner = "noctuid"; repo = "link-hint.el"; - rev = "1d97e43fef29338b63c7a3b8c90df14887afc3bd"; - sha256 = "0w6n6m766vr7d2i5jw30dkq9326r1mx02n222vm8z1mxydkw1n3i"; + rev = "5c3bac30fea5ff74493712273a64a1a6a9f72957"; + sha256 = "18s5frmaf7d3l15by9yvr8hzgnk9fing4bjpfj53bcck2nmfd7qj"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d24b48fe0bc127ae6ac4084be8059aacb8445afd/recipes/link-hint"; @@ -37366,12 +39146,12 @@ lisp-extra-font-lock = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "lisp-extra-font-lock"; - version = "20160507.1502"; + version = "20160930.1227"; src = fetchFromGitHub { owner = "Lindydancer"; repo = "lisp-extra-font-lock"; - rev = "77d153a54c20f90064076f3f4ff4ef0e44d1c2bf"; - sha256 = "0ah4nnjgjw7z7j9wz76zyq88rdmina9aw5adhn9b9pwr9s5frfkz"; + rev = "092f5a6e75ddfc8051b252f10e182723a17980e4"; + sha256 = "0cdjgnh2hzwpim4vl2siykfsfni1z5h45vn5dcm52yx8p10s7mzd"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/13e01d4faf9ecb4dde8b6eb4acdb0e48e3e5b6ea/recipes/lisp-extra-font-lock"; @@ -37402,22 +39182,22 @@ license = lib.licenses.free; }; }) {}; - lispy = callPackage ({ ace-window, emacs, fetchFromGitHub, fetchurl, hydra, iedit, lib, melpaBuild, swiper }: + lispy = callPackage ({ ace-window, emacs, fetchFromGitHub, fetchurl, hydra, iedit, lib, melpaBuild, swiper, zoutline }: melpaBuild { pname = "lispy"; - version = "20160830.611"; + version = "20170102.254"; src = fetchFromGitHub { owner = "abo-abo"; repo = "lispy"; - rev = "7c2fe43bcbd2df86e1149b189b5d54e30602b57f"; - sha256 = "11f6d9wfnh2z8708rma020749rgckkiyap799hrgyw7hlysmgcj0"; + rev = "74e9f0c2e4f3b64e2553449cb7346996ffef96f0"; + sha256 = "1zhaqvzb78f775n3ba4a0qsjgszmayidsgkahqy2bv392ckq6mzl"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e23c062ff32d7aeae486c01e29c56a74727dcf1d/recipes/lispy"; sha256 = "12qk2gpwzz7chfz7x3wds39r4iiipvcw2rjqncir46b6zzlb1q0g"; name = "lispy"; }; - packageRequires = [ ace-window emacs hydra iedit swiper ]; + packageRequires = [ ace-window emacs hydra iedit swiper zoutline ]; meta = { homepage = "https://melpa.org/#/lispy"; license = lib.licenses.free; @@ -37613,12 +39393,12 @@ litable = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "litable"; - version = "20150908.709"; + version = "20160922.859"; src = fetchFromGitHub { owner = "Fuco1"; repo = "litable"; - rev = "9065bade1ba42ad04d9839d58082b73da589dca6"; - sha256 = "1nbz119ldwjvkm3xd9m0dx820lc177frz5mn585fsd7kqdbkam99"; + rev = "4a57d7aeddca76448e4df2a46b42d49253e5e625"; + sha256 = "1zryrc0d2avb27w6a6yzqcc73rsr2rp795vi10qhb04ixda4a8w4"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/74f2190b653907985e49a96ded986ab11b4946d7/recipes/litable"; @@ -37718,12 +39498,12 @@ live-py-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "live-py-mode"; - version = "20160521.1130"; + version = "20161229.1546"; src = fetchFromGitHub { owner = "donkirkby"; repo = "live-py-plugin"; - rev = "2670089597e586c82402767727c278e9c8edfca1"; - sha256 = "00bran2qvxqlp5081qqnwn48i48v95m3g5jgrxq0nvcgblxdv2ga"; + rev = "e33dedc107e6a1d15fc40e78ebbebe3bc83571d0"; + sha256 = "1s53l83059skv15dc0bn1d9s572jnb26a2af5057p364l4qz5cng"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c7615237e80b46b5c50cb51a3ed5b07d92566fb7/recipes/live-py-mode"; @@ -37805,8 +39585,8 @@ version = "20150910.644"; src = fetchgit { url = "http://llvm.org/git/llvm"; - rev = "5682750bf9fc3a02c57e08527780a43854695460"; - sha256 = "0wh2jy8jwh23381y334qyz6gdpff1fy1zhsavwg9pfgb118dqiw2"; + rev = "a3bfbbd5a2c5b7d9b2f4203369d05f4bda7df1a6"; + sha256 = "1dyr09dxz7sg9cb0hpa81nyviz7wyv16xs7wmipqqznl5f59kzzd"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/05b7a689463c1dd4d3d00b992b9863d10e93112d/recipes/llvm-mode"; @@ -37826,8 +39606,8 @@ src = fetchFromGitHub { owner = "rocky"; repo = "emacs-load-relative"; - rev = "b11fb74be7e5f465a2fe505e4d44cd13ec9ae136"; - sha256 = "0v0v036hq0qxj0yybr1fpsfkl01750nvl9q3c0sfiis9ylpqgzmq"; + rev = "8280df5ce6db836559a5c2442b97a2f02b6f7a05"; + sha256 = "0jzq3vpdq5cw5nh2l2pvj0y3lnvjff2wyy6ip2z9n6xcjjdnzki9"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f052f201f7c308325c27cc2423e85cf6b9b67b4e/recipes/load-relative"; @@ -37882,22 +39662,22 @@ license = lib.licenses.free; }; }) {}; - loccur = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: + loccur = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "loccur"; - version = "20160129.1222"; + version = "20161227.251"; src = fetchFromGitHub { owner = "fourier"; repo = "loccur"; - rev = "fb1fbc0ff5da7a8b117542ab8083d29cd79e12b2"; - sha256 = "1npz90zf91wqf35bqd3zmkh0b538i69w8ygc78x5w2x5005aqr0p"; + rev = "650d91dda0d313c8f445a0803c07809d857dee0f"; + sha256 = "09xc2207dhlbw0x9pks2gay09adzijzcabdwg55iszrs7pxjjfa0"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/72550b043794331e85bc4b124f6d8ab70d969eff/recipes/loccur"; sha256 = "06pv2i05yzjzal4q21krbnp9rp4bsainxcwvpc98020vsmms0z8h"; name = "loccur"; }; - packageRequires = [ cl-lib ]; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/loccur"; license = lib.licenses.free; @@ -38031,12 +39811,12 @@ logview = callPackage ({ datetime, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "logview"; - version = "20160720.1501"; + version = "20161108.1149"; src = fetchFromGitHub { owner = "doublep"; repo = "logview"; - rev = "2a949309b6397ea88cc1560bddb0ef3634a1af1e"; - sha256 = "1bpnglr7k9wsx95g9h5hsvxdm9fk9l04mmsbh8fngybdsawy64q6"; + rev = "4f1db3f2081e819dd35545497529a03466bd0397"; + sha256 = "0f96wxijls743qyqfgkdqil3p5nn0sm02rlz1nqkm6bd8k28rcg1"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1df3c11ed7738f32e6ae457647e62847701c8b19/recipes/logview"; @@ -38172,15 +39952,36 @@ license = lib.licenses.free; }; }) {}; + lsp-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "lsp-mode"; + version = "20161231.108"; + src = fetchFromGitHub { + owner = "vibhavp"; + repo = "emacs-lsp"; + rev = "ed97c84fb3e730eecc90451257a09b085dccab33"; + sha256 = "1h6d3l8id2zwikry4k9m2ybg6jxc9ww5wnn9rc9v16jbw08yi17l"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/b192c90c96e24ccb464ac56e624a2fd527bc5cc9/recipes/lsp-mode"; + sha256 = "0acgfzm9irk8s5lv3chwh9kp7nrwqwlidwaqzf2f4jk3yr3ww9p1"; + name = "lsp-mode"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/lsp-mode"; + license = lib.licenses.free; + }; + }) {}; lua-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "lua-mode"; - version = "20160821.1216"; + version = "20161101.1340"; src = fetchFromGitHub { owner = "immerrr"; repo = "lua-mode"; - rev = "33097fec0d32145389c6ec8c407a1b706c8e77e5"; - sha256 = "1dbvnm201i1vdaygsd846c9q7ykn3yh76b46ni0jgmfcc084cxq5"; + rev = "d7596990cdd197d3db682c4b2ca5410a4b522574"; + sha256 = "1sid1k2vv3bawsirz11apslhx7f5dfva4gwcv7q7p3b0zxlyw1f1"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ca7bf43ef8893bf04e9658390e306ef69e80a156/recipes/lua-mode"; @@ -38259,12 +40060,12 @@ lyrics = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, seq }: melpaBuild { pname = "lyrics"; - version = "20160803.1106"; + version = "20160920.1945"; src = fetchFromGitHub { owner = "emacs-pe"; repo = "lyrics.el"; - rev = "a8a613f2af78529a6285eb817fc5c6be07067e3b"; - sha256 = "1v6rgh78l3b15dr050ywlmn4zyksvmc9n2w9w69y0l97x438zncq"; + rev = "1378d534614793a51ebbed661c59eb8818299182"; + sha256 = "10mp9vavmbkhgb133n490kjfbk63j2b0plvaf57w432nalxcwf5n"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b04c8f3dfa9fc07cc0ff3df5c4069f864b6db92e/recipes/lyrics"; @@ -38340,12 +40141,12 @@ macrostep = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "macrostep"; - version = "20151213.145"; + version = "20161120.1306"; src = fetchFromGitHub { owner = "joddie"; repo = "macrostep"; - rev = "1e2593279f3722e31d8a8f07e297a5c546586cba"; - sha256 = "0g9bnq4p3ffvva30hpll80dn3i41m51mcvw3qf787zg1nmc5a0j6"; + rev = "424e3734a1ee526a1bd7b5c3cd1d3ef19d184267"; + sha256 = "1fm40mxdn289cyzgw992223dgrjmwxn4q8svyyxfaxjrpb38jhjz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/362b5cb71e81172bc654594c08a5d0b91262851a/recipes/macrostep"; @@ -38382,12 +40183,12 @@ magic-filetype = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "magic-filetype"; - version = "20160522.729"; + version = "20161214.1017"; src = fetchFromGitHub { owner = "zonuexe"; repo = "magic-filetype.el"; - rev = "3f58122429ea24c54fca79a91605eb660ee5bc3e"; - sha256 = "109j4czb71qg9jlnflzph0qmbxyfajddmg0yqwhl368pa29alvrk"; + rev = "9a20137474697063898902b43a40423daa4eb64d"; + sha256 = "1r16qlm2pqcph0zwy3fhzdjywdrfcwvldqk809vbhw71qkq4a54i"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0d6027c5a66386f7140305a4cde12d66da4dfa09/recipes/magic-filetype"; @@ -38403,12 +40204,12 @@ magic-latex-buffer = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "magic-latex-buffer"; - version = "20160212.603"; + version = "20161231.2300"; src = fetchFromGitHub { owner = "zk-phi"; repo = "magic-latex-buffer"; - rev = "21c5030996bcd773b32b6fdd5990a64fcc3255f3"; - sha256 = "1gmhb8g1pl4qqk1d32hlvmhx2jqfsn3hkc4lkzhgk1n3qzfrq4hf"; + rev = "49a9ac6aff0a45aa6630dc0044533b7b3d3be7ad"; + sha256 = "1r9zq16n546xd9i27kiifdl7mwld8jk88rll2h0lbd77ir6wdlfm"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/07e240ebe71d389d314c4a27bbcfe1f88b215c3b/recipes/magic-latex-buffer"; @@ -38424,12 +40225,12 @@ magit = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, git-commit, lib, magit-popup, melpaBuild, with-editor }: melpaBuild { pname = "magit"; - version = "20160827.1549"; + version = "20161231.757"; src = fetchFromGitHub { owner = "magit"; repo = "magit"; - rev = "ec81268eb1c08c164ce363acca777e0fd96cc2dc"; - sha256 = "08633gmcg63k62qrk1cs96hclvs9q2r6777kcb76xfa63xal9rfs"; + rev = "d75529458b09998a68779d348527aa5a19045bed"; + sha256 = "1si1xxn3pqd4p7vanyhq2zs4cbdkgwb908afl1dx3mih3wf1v1fr"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/68bb049b7c4424345f5c1aea82e950a5e47e9e47/recipes/magit"; @@ -38452,12 +40253,12 @@ magit-annex = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, magit, melpaBuild }: melpaBuild { pname = "magit-annex"; - version = "20160624.2254"; + version = "20161115.1528"; src = fetchFromGitHub { owner = "magit"; repo = "magit-annex"; - rev = "17c3aa4f3b2ded6c67b9ae593bcd0c929631c940"; - sha256 = "0ra9g2dmpvii0pdwv5hmx4kr0m695ry5msnsyc6lvzrcc9hvmw5b"; + rev = "74e0343b4152ad5c0d4f77f9f15dd6f1b02de432"; + sha256 = "08mpnj9c43p528iy3hj8yljhzpkpjxkjiaiiss5n2jgyyc64hw9z"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/magit-annex"; @@ -38536,12 +40337,12 @@ magit-gh-pulls = callPackage ({ emacs, fetchFromGitHub, fetchurl, gh, lib, magit, melpaBuild, pcache, s }: melpaBuild { pname = "magit-gh-pulls"; - version = "20160513.310"; + version = "20161020.249"; src = fetchFromGitHub { owner = "sigma"; repo = "magit-gh-pulls"; - rev = "afc0333296ba8185705f84ef34f628ce0e74caa8"; - sha256 = "1cnvfvf8c2f1jvxxl4qggzwhk082q0hfljhfm1znhc5qxh1vyc4x"; + rev = "7eb4491d889c4de2e3169b91d34e7d863edf94b7"; + sha256 = "180vqxyxv6jvp14qa0ks692c42rkf8wj0vk8nqx5j211f9gkh7vl"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9b54fe4f51820c2f707e1f5d8a1128fff19a319c/recipes/magit-gh-pulls"; @@ -38582,8 +40383,8 @@ src = fetchFromGitHub { owner = "qoocku"; repo = "magit-p4"; - rev = "01a42ac54606e272c29818f10320175b09b07cd6"; - sha256 = "12finsicwzpa5bchcw5ymm2mp8ca4lmic9rrbqy22bf8907yw7q8"; + rev = "9c5ef8bbe70c916bc3742025ce0098e3bdf7be6e"; + sha256 = "12avgqcm7za16m84sx2gnrf6y87gj8g4lxk4hld98myxkvfp04zc"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/440d47ca465845eaa601ca8a6e4b15fc197e522b/recipes/magit-p4"; @@ -38599,12 +40400,12 @@ magit-popup = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "magit-popup"; - version = "20160821.1338"; + version = "20161227.1257"; src = fetchFromGitHub { owner = "magit"; repo = "magit"; - rev = "ec81268eb1c08c164ce363acca777e0fd96cc2dc"; - sha256 = "08633gmcg63k62qrk1cs96hclvs9q2r6777kcb76xfa63xal9rfs"; + rev = "d75529458b09998a68779d348527aa5a19045bed"; + sha256 = "1si1xxn3pqd4p7vanyhq2zs4cbdkgwb908afl1dx3mih3wf1v1fr"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/magit-popup"; @@ -38620,12 +40421,12 @@ magit-rockstar = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, magit, melpaBuild }: melpaBuild { pname = "magit-rockstar"; - version = "20160517.651"; + version = "20161013.544"; src = fetchFromGitHub { owner = "tarsius"; repo = "magit-rockstar"; - rev = "47780d27141ba50f225f0bd8109f92ba6d1db8d5"; - sha256 = "075gxm4shbh5zfr17zpfn35w8ndgz9aqz6y3wws23wa4ff2n8kdc"; + rev = "bccce1ac8e012f52e29470c1c7d815f9bb1a192b"; + sha256 = "0z411x2w6ldy3b8qbavfvfgvkbjd1rl0m1plr44ynp55awrhj0k2"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7a20b539cbd38ffa546c1b56b9fac78c0b9457f6/recipes/magit-rockstar"; @@ -38645,8 +40446,8 @@ src = fetchFromGitHub { owner = "magit"; repo = "magit-stgit"; - rev = "9d13effdbc213a0c8dcce78e1825011631fa0652"; - sha256 = "163a1rddl54jgxm5dygnbp1pz1as4hhjszan1rcabvzcfnfdpakj"; + rev = "1b064485d512ab547d606dcea9ad4298f355095c"; + sha256 = "01mgnm5nr2yg377pk4bwlzzgbabsx611wrpx2vzsbiwd97yppdqf"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/magit-stgit"; @@ -38666,8 +40467,8 @@ src = fetchFromGitHub { owner = "magit"; repo = "magit-svn"; - rev = "9b2f8c14e83ee5851a63bd23b5f19422b00c0ff5"; - sha256 = "0r3nkrisyjawjwbm74yi6fqiwcqzlfkypsdscfhii0q50ky8plph"; + rev = "63a47732cc112d24db26052ffad93895319b60cf"; + sha256 = "1g2isa8n2j8kk0c5iwx8qai8k14sazwkc3dwhcpchm3zs0bfpdm3"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/magit-svn"; @@ -38687,8 +40488,8 @@ src = fetchFromGitHub { owner = "magit"; repo = "magit-topgit"; - rev = "243fdfa7ce62dce4efd01b6b818a2791868db2f0"; - sha256 = "06fbjv3zd92lvg4xjsp9l4jkxx2glhng3ys3s9jmvy5y49pymwb2"; + rev = "11489ea798bc88d0ea5244bbf725285eedfefbef"; + sha256 = "1y7ss475ibjx354m73jn5dxd98g33jcijx48b30p45rbm6ha3i8q"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/magit-topgit"; @@ -38701,6 +40502,27 @@ license = lib.licenses.free; }; }) {}; + magithub = callPackage ({ emacs, fetchFromGitHub, fetchurl, git-commit, lib, magit, melpaBuild, s, with-editor }: + melpaBuild { + pname = "magithub"; + version = "20161129.934"; + src = fetchFromGitHub { + owner = "vermiculus"; + repo = "magithub"; + rev = "c9bff9889650bee96c6d4f5cd46ac469ac1c3dbb"; + sha256 = "0vzln1b6cf90nnv7a28n2w781qrc17sss1s8h6i7fmnaldr0913j"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/4605012c9d43403e968609710375e34f1b010235/recipes/magithub"; + sha256 = "1c3rbav13rw16ngjhjwnz80v653k8df63fkw0kayd80xrkxhrkxw"; + name = "magithub"; + }; + packageRequires = [ emacs git-commit magit s with-editor ]; + meta = { + homepage = "https://melpa.org/#/magithub"; + license = lib.licenses.free; + }; + }) {}; magma-mode = callPackage ({ cl-lib ? null, dash, f, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "magma-mode"; @@ -38792,8 +40614,8 @@ src = fetchFromGitHub { owner = "alezost"; repo = "make-color.el"; - rev = "a1b34e95ccd3ebee4fba1489ab613d0b3078026d"; - sha256 = "1ky3scyjb69wi76xg6a8qx4ja6lr6mk530bv5gmhj7fxbq8b3x5c"; + rev = "5ca1383ca9228bca82120b238bdc119f302b75c0"; + sha256 = "1wmpy1d966zzxwar2ng825zlch5fwsslsi1706ss9v7zl7i9wggd"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/bb765469c65589ae9d7dbc420a8edcf44c3be5d1/recipes/make-color"; @@ -38809,12 +40631,12 @@ make-it-so = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, swiper }: melpaBuild { pname = "make-it-so"; - version = "20160818.58"; + version = "20161009.43"; src = fetchFromGitHub { owner = "abo-abo"; repo = "make-it-so"; - rev = "5417491b28ec6300823d8e20089b10a56a4b4dcd"; - sha256 = "0dqayvgjjac4kp1i8m0pp71y4g7mxa1vwm3cgwz00d1qxj9s3cxy"; + rev = "9e10518a2fed8a4a5961b6abad50ef92b4747600"; + sha256 = "0ilqa7jdfzyhjjnxn69cx93nj3py429jwyg8rgzas87kjk9qiv7m"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/aad592089ed2200e2f8c5191e8adeac1db4bce54/recipes/make-it-so"; @@ -38872,12 +40694,12 @@ malabar-mode = callPackage ({ fetchFromGitHub, fetchurl, fringe-helper, groovy-mode, lib, melpaBuild }: melpaBuild { pname = "malabar-mode"; - version = "20150720.1055"; + version = "20161002.1455"; src = fetchFromGitHub { owner = "m0smith"; repo = "malabar-mode"; - rev = "830f38efae813db4388da6b4abd386eb0a4e861c"; - sha256 = "0hlxs9gi2vml2id9q0r1r0xdm0zshjzc1w3phjf2ab0aa3hl5k6l"; + rev = "e72597045a124fb05993447a009bbd18ec43b4e5"; + sha256 = "13z3pn5fxn1rvf9w1sv41c6v21znxmqbk9sg4albkx8v7pxwfbs7"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/29bbefd1e3cc5726584c89244fb5d8ecd18200c3/recipes/malabar-mode"; @@ -38953,6 +40775,27 @@ license = lib.licenses.free; }; }) {}; + malyon = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "malyon"; + version = "20161208.1325"; + src = fetchFromGitHub { + owner = "speedenator"; + repo = "malyon"; + rev = "0d9882650720b4a791556f5e2d917388965d6fc0"; + sha256 = "0an1yvp0p624rxd8n5phiwvznw35ripqhlwzwyv2bw7lc1rscllr"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/54b3785cfcdb3b54307f60ee634a101e8bcd9989/recipes/malyon"; + sha256 = "050kj4c1vp9f3fiskf8hld7w46092n4jipdga226x97igx575g3r"; + name = "malyon"; + }; + packageRequires = [ cl-lib ]; + meta = { + homepage = "https://melpa.org/#/malyon"; + license = lib.licenses.free; + }; + }) {}; man-commands = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "man-commands"; @@ -38998,12 +40841,12 @@ mandoku = callPackage ({ fetchFromGitHub, fetchurl, git, github-clone, lib, magit, melpaBuild, org }: melpaBuild { pname = "mandoku"; - version = "20160626.1924"; + version = "20161228.39"; src = fetchFromGitHub { owner = "mandoku"; repo = "mandoku"; - rev = "1ec88c8da5f92982566d58d5c4ea743317977506"; - sha256 = "1l3h6jbcv39pslknp6y56pvx6kf0brbgrzlhmsc22n4238294x2z"; + rev = "3880559c38060232e90a29adc11af41373ca7989"; + sha256 = "1m8m8ajcqyxb0rj4ink0vdxq23sl8q578hz4kj4ynsgiq70zwcab"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1aac4ae2c908de2c44624fb22a3f5ccf0b7a4912/recipes/mandoku"; @@ -39124,12 +40967,12 @@ markdown-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "markdown-mode"; - version = "20160830.820"; + version = "20161222.1416"; src = fetchFromGitHub { owner = "jrblevin"; repo = "markdown-mode"; - rev = "3f11a4a7609ba2a507ee10f491bdadab28e9b985"; - sha256 = "0yp6468fl15d8r6sbp3bhzp7nlrl98wjxmlyhd3vv336hwjqq7ad"; + rev = "df4ac404ce92abdf1a0b78da8ef1675f1cd1f196"; + sha256 = "1k5bxqbcz174b6g3av6hr2q828bybinq96avab0561zqwqxlhkql"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/74610ec93d4478e835f8b3b446279efc0c71d644/recipes/markdown-mode"; @@ -39184,22 +41027,29 @@ license = lib.licenses.free; }; }) {}; - markdown-preview-mode = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, markdown-mode, melpaBuild, websocket }: + markdown-preview-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, markdown-mode, melpaBuild, uuidgen, web-server, websocket }: melpaBuild { pname = "markdown-preview-mode"; - version = "20160830.219"; + version = "20161211.1443"; src = fetchFromGitHub { owner = "ancane"; repo = "markdown-preview-mode"; - rev = "25f1de28390a0b7be493e8f168749d851784ce12"; - sha256 = "116jms95wfdhlbcyn10nqq452jkplvhqwsl7al8f1zx4rn22snra"; + rev = "65f48df07c87d37275cc6a135741df4b585f1836"; + sha256 = "0gkfwm7zxwdi7x7xd6m9sl9q1p5f2q8mxryq6cd4xldbvbcki71f"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/011d26360a109b074cdecbcb133269ec6452ab86/recipes/markdown-preview-mode"; - sha256 = "0i0mld45d8y96nkqn2r77nvbyw6wgsf8r54d3c2jrv04mnaxs7pg"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/d3c5d222cf0d7eca6a4e3eb914907f8ca58e40f0/recipes/markdown-preview-mode"; + sha256 = "1cam5wfxca91q3i1kl0qbdvnfy62hr5ksargi4430kgaz34bcbyn"; name = "markdown-preview-mode"; }; - packageRequires = [ cl-lib markdown-mode websocket ]; + packageRequires = [ + cl-lib + emacs + markdown-mode + uuidgen + web-server + websocket + ]; meta = { homepage = "https://melpa.org/#/markdown-preview-mode"; license = lib.licenses.free; @@ -39208,12 +41058,12 @@ markdown-toc = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, markdown-mode, melpaBuild, s }: melpaBuild { pname = "markdown-toc"; - version = "20160727.908"; + version = "20161214.1011"; src = fetchFromGitHub { owner = "ardumont"; repo = "markdown-toc"; - rev = "297bb643e222ec2f95a23403723e45eaf4a1dcd2"; - sha256 = "0vk6zrxpinmzmgx74k1kc9kw6slb3j1z0lk4cyhcpxd202dm1bmw"; + rev = "c7a526c0cd2c3b2ecc7b36458c762e0a0b55909e"; + sha256 = "1j35pmm9rk7zk5j6x0fzglx09hbm8csf07f0pc9fkvvyh1nqskxf"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4db1e90be8e34d5ad0c898be10dfa5cd95ccb921/recipes/markdown-toc"; @@ -39289,27 +41139,6 @@ license = lib.licenses.free; }; }) {}; - marmalade = callPackage ({ fetchFromGitHub, fetchurl, furl, lib, melpaBuild }: - melpaBuild { - pname = "marmalade"; - version = "20110602.1622"; - src = fetchFromGitHub { - owner = "nex3"; - repo = "marmalade"; - rev = "2a4f07fbd4c17e08556c1a80c1753c37b3626d39"; - sha256 = "1ygznmqb3fqy94p8qi71i223m7cpw3f596pkls2ybjlbpb4psjcl"; - }; - recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/82a61911de111f6ef3a99fef0a0f93ab549ab261/recipes/marmalade"; - sha256 = "0ppa2s1fma1lc01byanfxpxfrjqk2snxbsmdbkcipjdi5dpb0a9s"; - name = "marmalade"; - }; - packageRequires = [ furl ]; - meta = { - homepage = "https://melpa.org/#/marmalade"; - license = lib.licenses.free; - }; - }) {}; marmalade-client = callPackage ({ fetchFromGitHub, fetchurl, gh, kv, lib, melpaBuild, web }: melpaBuild { pname = "marmalade-client"; @@ -39338,8 +41167,8 @@ src = fetchFromGitHub { owner = "sigma"; repo = "marshal.el"; - rev = "6332b3f567f3a09ebed8f7f01e99e503f096e2a4"; - sha256 = "1i0w27fbm9vyz8g3pv4ksmzmabflwzcb5705g5zb696kl20n6jxz"; + rev = "d5b6fdd97159b22d5a9dbc3b0db18a04089b3f2f"; + sha256 = "1pix1cz8zv3kgf103ml1y42a0l2hvakbykfpbyx81z4nw7n958lf"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/203f2061c5c7d4aefab3175de5e0538f12158ee3/recipes/marshal"; @@ -39376,12 +41205,12 @@ material-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "material-theme"; - version = "20160516.844"; + version = "20160908.1538"; src = fetchFromGitHub { owner = "cpaulik"; repo = "emacs-material-theme"; - rev = "f9e2c7f86f94cb9a23be6bb618cb31304a491841"; - sha256 = "0nh016z84hx86rd09xvwajm44259viwgl1dx33d6z9dcjpp7f1mm"; + rev = "0890ff69a0fa1f908e79d0f68b1bb3cf0d55af40"; + sha256 = "0fd868ph4kdzp889j18wl4j5lypd5ggf1s69hz5sg0sn761b06x0"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d31ababaa50061e767605c979a3f327a654e564b/recipes/material-theme"; @@ -39439,11 +41268,11 @@ matlab-mode = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }: melpaBuild { pname = "matlab-mode"; - version = "20160815.50"; + version = "20160902.459"; src = fetchgit { url = "git://git.code.sf.net/p/matlab-emacs/src"; - rev = "32a69776d12882902a8a42826b6265d9505051f3"; - sha256 = "013h9ph6vabq63k0xwavm313ni2523vjarmbkfm5s5ras2kw020n"; + rev = "3b3c48ac0c27039e0bef89c643f0ee4c0b53d3d0"; + sha256 = "0kizmzpmc8iw15n6xkrf7m5kbjcs5rwdrxyrfij6cj43szlnkf1z"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/39e384608df76bb3e91bd1405e3a5029181ff94e/recipes/matlab-mode"; @@ -39459,15 +41288,15 @@ matrix-client = callPackage ({ fetchgit, fetchurl, json ? null, lib, melpaBuild, request }: melpaBuild { pname = "matrix-client"; - version = "20160806.2045"; + version = "20161004.1933"; src = fetchgit { - url = "http://fort.kickass.systems/git/rrix/matrix-client.git"; - rev = "987f6e9cf71843d638d8ad16f02da2f8a7f103e2"; - sha256 = "1h8zwwc7kwalqiliv07zjnw9rrb1gdhs6x3j67r6innnq1rw3z49"; + url = "https://fort.kickass.systems/git/rrix/matrix-client.git"; + rev = "5bf61e088fba83754a9e9bbef8459c82bea3be1d"; + sha256 = "1p8wfxf8pxy9ic5sd6ci1197v3j0r6564k4sw5agqplyzap5g9v5"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/152969c540b57c0a9532e698c24eac0de5e0269c/recipes/matrix-client"; - sha256 = "0znm8b1hd7iyb84qzxs25y850cbxxmydyzr7kx094rji55685c68"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/adeaf97d285120d7b20f1f7a21cb89eb3c40b3b6/recipes/matrix-client"; + sha256 = "05q1ggiq4nldcklpv2hndg1nx8jxl6qgi5jjc3kz736x7syb0j34"; name = "matrix-client"; }; packageRequires = [ json request ]; @@ -39521,12 +41350,12 @@ maxframe = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "maxframe"; - version = "20140916.754"; + version = "20161213.1734"; src = fetchFromGitHub { owner = "rmm5t"; repo = "maxframe.el"; - rev = "174e3a0f3a716e904eba15e659096a99976ee39a"; - sha256 = "0g9kpsg6623nmxnshj49q8k952xybrkmqqy6m892m8wnm22pjdz1"; + rev = "50dc78c7b33959c10d5f6da00c338d4611467c36"; + sha256 = "1qz3q63g0zh5xhsxcqm37swcdpliii15cqfbbvm0jjyd9kfysblw"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7944652cb7a7bf45f16e86ea379a104d31861e76/recipes/maxframe"; @@ -39541,10 +41370,10 @@ }) {}; mb-depth-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "mb-depth-plus"; - version = "20151231.1421"; + version = "20170101.1046"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/mb-depth+.el"; - sha256 = "0w8clp96jblsc9v87404zpc280ms0d644in34jdgjc5r33f4i0g3"; + sha256 = "1sk8x91gxwk17kv7whwfh9szxmgyy9ys1h4hx17hyzlvhz9smncg"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/mb-depth+"; @@ -39560,12 +41389,12 @@ mb-url = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "mb-url"; - version = "20160724.725"; + version = "20161224.1806"; src = fetchFromGitHub { owner = "dochang"; repo = "mb-url"; - rev = "178b03d2cbc31e889c095a6c25426c297e5fe6fc"; - sha256 = "0y22bn4zvyw2qivjrvwkhx96mwvfpx74901r0m4l31nvyh559aq0"; + rev = "129a0bb6a684be76fb9f09010e710065d0e5baaa"; + sha256 = "1apy7abjhdbgh8001rzv41q40bfl444rcz62lvgdwj3lg45zb8xc"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/dd9a8ff6e094b061a7b9d790df1fd4086c5d0a9d/recipes/mb-url"; @@ -39686,12 +41515,12 @@ mediawiki = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "mediawiki"; - version = "20160425.702"; + version = "20160902.827"; src = fetchFromGitHub { owner = "hexmode"; repo = "mediawiki-el"; - rev = "40387ad7ae03f1589846518d7361c19774bcc4e3"; - sha256 = "0kzmvsbzqrkrlnr5sf1xwazm9zyzbrflb4d1jrkp206q9yk439cr"; + rev = "7cc465af1d95a814387d241ff8a4c89d03b1e86e"; + sha256 = "1bhp0cx8kdr7mnmwg5q59qv019aalk4z7ic625qaa03gd6xr2ym4"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/865e0ba1dbace58784181d214000d090478173bd/recipes/mediawiki"; @@ -39704,6 +41533,48 @@ license = lib.licenses.free; }; }) {}; + meghanada = callPackage ({ cl-lib ? null, company, emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, yasnippet }: + melpaBuild { + pname = "meghanada"; + version = "20161018.259"; + src = fetchFromGitHub { + owner = "mopemope"; + repo = "meghanada-emacs"; + rev = "ce923c93124c60c2eda1e3ffa2e03d2adc43bff0"; + sha256 = "043d6d1ajr19l78prg8c8gbg661p6c9d9l2xghj4zybwr0byv53f"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/4c75c69b2f00be9a93144f632738272c1e375785/recipes/meghanada"; + sha256 = "10f1fxma3lqcyv78i0p9mjpi79jfjd5lq5q60ylpxqp18nrql1s4"; + name = "meghanada"; + }; + packageRequires = [ cl-lib company emacs flycheck yasnippet ]; + meta = { + homepage = "https://melpa.org/#/meghanada"; + license = lib.licenses.free; + }; + }) {}; + melancholy-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "melancholy-theme"; + version = "20161228.1643"; + src = fetchFromGitHub { + owner = "techquila"; + repo = "melancholy-theme"; + rev = "033cb2690c3f4deb6188dabeb811d42debd78a5a"; + sha256 = "0qv1dv0l7q6j0r1s9mvw40h4wj44g0lsd1nmcpg2pv48mk6dhdjk"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/8b8f708d1300d401697c099709718fcb70d5db1f/recipes/melancholy-theme"; + sha256 = "1wihbv44234lwsgp5w4hmmi3pgxbcfjvs1nclv0yg600z9s8sn8w"; + name = "melancholy-theme"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/melancholy-theme"; + license = lib.licenses.free; + }; + }) {}; mellow-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "mellow-theme"; @@ -39809,22 +41680,22 @@ license = lib.licenses.free; }; }) {}; - mentor = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, xml-rpc }: + mentor = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, seq, xml-rpc }: melpaBuild { pname = "mentor"; - version = "20140904.1710"; + version = "20170102.28"; src = fetchFromGitHub { owner = "skangas"; repo = "mentor"; - rev = "f5d653348140cdab1d8ee9143b14a50ea88ed3fb"; - sha256 = "11hyydc13jdai6lkxx8nqf8xljh0gx7fcmywhik4f1hf3pdv7i2q"; + rev = "074bd57a1e19d7807d682552fee63f326d1ad05c"; + sha256 = "1p2wlwl8771w8m0i8f6qx11n1f13kkf681v0v4zcd161jgmklp5q"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/083de4bd25b6b013a31b9d5ecdffad139a4ba91e/recipes/mentor"; sha256 = "0nkf7f90m2qf11l97zwvb114yrpbqk1xxr2bh2nvbx8m1c8nad9s"; name = "mentor"; }; - packageRequires = [ xml-rpc ]; + packageRequires = [ cl-lib seq xml-rpc ]; meta = { homepage = "https://melpa.org/#/mentor"; license = lib.licenses.free; @@ -39832,10 +41703,10 @@ }) {}; menu-bar-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "menu-bar-plus"; - version = "20160512.1714"; + version = "20170101.1047"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/menu-bar+.el"; - sha256 = "0v3n0227fmdk6hshnc1x1sxqci0pi3954nqy5ym4k9bmvw3cyxlg"; + sha256 = "0s460zm9k8b76vih5wgyrg8a7w5alwd43ia00mp110ipq2sy9pd2"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/menu-bar+"; @@ -39851,12 +41722,12 @@ merlin = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "merlin"; - version = "20160627.1923"; + version = "20161103.821"; src = fetchFromGitHub { owner = "the-lambda-church"; repo = "merlin"; - rev = "b2926cf6235827c0242797775188b8f0420386c5"; - sha256 = "0xfmvicagqccscxf45n04c25c7fqsnfk8mp8s90rnzlyr66gdck1"; + rev = "69b1ec176603cfab6b60941c2dc8d75d64fac019"; + sha256 = "150iyy75wqwva096c8g1w2sc97nfdgbry6kpz4ngz6l7ij3vivpc"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b1b9bfd3164e62758dc0a3362d85c6627ed7cbf8/recipes/merlin"; @@ -39890,12 +41761,12 @@ meta-presenter = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "meta-presenter"; - version = "20150501.410"; + version = "20160924.2206"; src = fetchFromGitHub { owner = "myTerminal"; repo = "meta-presenter"; - rev = "1a92f65114d3b6f83d822494c224a406fdaf6e33"; - sha256 = "03lpl8zkcys0p8x95s8d2izq7phgkl5g713sbxhblsl4yl8sbsjy"; + rev = "0b7f3d47e34fdd0c150da55e58ec2bfc274930a8"; + sha256 = "06s93i46rm91i23in51mf7ynl37c90f2gl52ykv48p41dyv1kg6v"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b73e9424515b3ddea220b786e91c57ee22bed87f/recipes/meta-presenter"; @@ -39915,8 +41786,8 @@ src = fetchFromGitHub { owner = "lvillani"; repo = "metafmt"; - rev = "bd20fc67d0affd48c1199315b7da06a7182e7d76"; - sha256 = "0n4nv1s25z70xfy3bl1wy467abz3agj4qmpx4rwdwzbarnqp9ps3"; + rev = "b624ba1ac46cdbeddb0cfe920dd44dcab3fdb529"; + sha256 = "1r4v06pyi7y7gp3w0p3xfz8hf807p7i4frgws54naagzihww06y6"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7a53f740fb7a58cd6339b301d0de8c543b61f6a5/recipes/metafmt"; @@ -39995,12 +41866,12 @@ mew = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "mew"; - version = "20160818.1927"; + version = "20161224.1535"; src = fetchFromGitHub { owner = "kazu-yamamoto"; repo = "Mew"; - rev = "00dacb8b7246cb36efaff754ba1ebdcfc9a02217"; - sha256 = "0bbn1p0wmmjdhipdvc0vs0mzl3q7p355ffdrfbwvvs523zdfv4nd"; + rev = "8138c83339071884a2d6c5365a088ba8da4a0fc0"; + sha256 = "0yvqarinibrg7f362gg1i3r2wgjmzzv0j71zcrp9id30gfwbs6z3"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/362dfc4d0fdb3e5cb39564160de62c3440ce182e/recipes/mew"; @@ -40121,12 +41992,12 @@ migemo = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "migemo"; - version = "20150412.741"; + version = "20160924.741"; src = fetchFromGitHub { owner = "emacs-jp"; repo = "migemo"; - rev = "c2240afa9afc0f003bb1d846710505e8e8e38169"; - sha256 = "1az4mnmanhz9ga0g46jf33w8axcw8lnrb9lmszajwv7y5j9nk7yr"; + rev = "e4744efae1b2fdea2bbd2ceaff0f6ea0bb739f5a"; + sha256 = "12p50kg2h78qi8892jj4g3wa4fjm7gjiqf6qw52zyx3kvgwxgxwa"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2424b0328a0198a03359455abdb3024a8067c857/recipes/migemo"; @@ -40183,12 +42054,12 @@ mingus = callPackage ({ fetchFromGitHub, fetchurl, lib, libmpdee, melpaBuild }: melpaBuild { pname = "mingus"; - version = "20160321.917"; + version = "20161001.150"; src = fetchFromGitHub { owner = "pft"; repo = "mingus"; - rev = "940ac6e96c713eaa9dde636b6755ee34f03654ff"; - sha256 = "14dqa37z96nhmrhiczri0cyrzmjc3larw8sszvdal9prj47363sh"; + rev = "519c42b3dd138211c8a025e00826ba196c29facf"; + sha256 = "01p7j729gzn0sh0361qyz2gkfdz33mvb6xs5d5vj67pc2l7clxdh"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6699927f1ded5c97f2ce1861f8e54a5453264cca/recipes/mingus"; @@ -40204,12 +42075,12 @@ mini-header-line = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "mini-header-line"; - version = "20160616.327"; + version = "20161108.137"; src = fetchFromGitHub { owner = "ksjogo"; repo = "mini-header-line"; - rev = "1480c578a1f4c77365744d2487ae868a36d49d2a"; - sha256 = "0iadwh86025wnxg30q866zsb156rhf82x8b9ih229ln2v0ank6as"; + rev = "d8c3b6e93ad631d22564c273f61463dc9ded49ba"; + sha256 = "07r231xz45k1b3pzix308jn24s0gl8vgdbcd4vdh6p154znvcbm5"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/122db5436ff9061713c0d3d8f44c47494067843e/recipes/mini-header-line"; @@ -40429,12 +42300,33 @@ license = lib.licenses.free; }; }) {}; + mips-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "mips-mode"; + version = "20161008.212"; + src = fetchFromGitHub { + owner = "hlissner"; + repo = "emacs-mips-mode"; + rev = "00b9c0d92cca89a1313e203c33ec420a833c929b"; + sha256 = "1bza70z7kfbv0yi4f3zvr1qid9wypqypngw3kcx9majx7mim54gq"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/024a76b83efce47271bcb0ce3bde01b88349f391/recipes/mips-mode"; + sha256 = "0gg18v80lbndi2yyr5nl37mz0zpamwv9ha4clajkf0bc0vplxkj7"; + name = "mips-mode"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/mips-mode"; + license = lib.licenses.free; + }; + }) {}; misc-cmds = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "misc-cmds"; - version = "20160719.1606"; + version = "20170101.1049"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/misc-cmds.el"; - sha256 = "195dqyjgxv51lj1779w98l7p8qhr8aa87w0k4dqawzfap2mms85h"; + sha256 = "191362k5mx0phzq4sc0x7n341dswgq9hkani6icwjhj5dsgvr6wy"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/misc-cmds"; @@ -40449,10 +42341,10 @@ }) {}; misc-fns = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "misc-fns"; - version = "20160529.1452"; + version = "20170101.1050"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/misc-fns.el"; - sha256 = "1549qcz5c4l6zjl09j1573i00qdgdl41nvnl5hhqg39gi4nz4c9b"; + sha256 = "0q5if5p0yy2b3h93lsrhy7z8f5mjmm3kkh1ql94jng4a0hl64jqr"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c2cbbe5a718ec961982a7f65de8f6ec1c9513696/recipes/misc-fns"; @@ -40486,27 +42378,6 @@ license = lib.licenses.free; }; }) {}; - mmm-jinja2 = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, mmm-mode }: - melpaBuild { - pname = "mmm-jinja2"; - version = "20150904.1134"; - src = fetchFromGitHub { - owner = "beardedprojamz"; - repo = "mmm-jinja2"; - rev = "0ecd7fd239fc096495d903b5f1bafac83515acef"; - sha256 = "1lcc2p9qz70kpykgx82isv0qiqlsajp4vvcj6bvag92d7h9yk9bv"; - }; - recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/6148891549a38f1804d26613dfa0e2179556cb00/recipes/mmm-jinja2"; - sha256 = "0579sv77dyzishhcw4xxi444inwy4jgh9vmxwd856nd05j3cyc7z"; - name = "mmm-jinja2"; - }; - packageRequires = [ mmm-mode ]; - meta = { - homepage = "https://melpa.org/#/mmm-jinja2"; - license = lib.licenses.free; - }; - }) {}; mmm-mako = callPackage ({ fetchhg, fetchurl, lib, melpaBuild, mmm-mode }: melpaBuild { pname = "mmm-mako"; @@ -40551,12 +42422,12 @@ mmt = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "mmt"; - version = "20150906.959"; + version = "20161231.1556"; src = fetchFromGitHub { owner = "mrkkrp"; repo = "mmt"; - rev = "3420eb014f86327ac68638e841ab7860aead5087"; - sha256 = "0l5lpyiygikm9rwgk6jgx23wmc26hvhnqn9964d60l5a4b9fam74"; + rev = "66adeeeccc52121fae7350698c11583b31cbb5c3"; + sha256 = "01s1i7cc653yzxdmnlamz177sjlgjbknmz717kvrwd6wixgn2p08"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d1137bb53ecd92b1a8537abcd2635602c5ab3277/recipes/mmt"; @@ -40635,12 +42506,12 @@ mocha = callPackage ({ f, fetchFromGitHub, fetchurl, js2-mode, lib, melpaBuild }: melpaBuild { pname = "mocha"; - version = "20160818.1456"; + version = "20161214.839"; src = fetchFromGitHub { owner = "scottaj"; repo = "mocha.el"; - rev = "7a658c112220d759fccb1c16e49f3712d8bb1af7"; - sha256 = "0gwgq5iq7lazy596hsld0yib88r1wv57wb92rjga79vbmg5pi1nq"; + rev = "23831bab8290a90e9253b648176d99385a438568"; + sha256 = "0v8d0605c31x1crjhgr73x5372rhxlrbap29j0j3zlbv0shd39v7"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/39c26134ba95f277a4e9400e506433d96a695aa4/recipes/mocha"; @@ -40656,12 +42527,12 @@ mocha-snippets = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }: melpaBuild { pname = "mocha-snippets"; - version = "20160211.832"; + version = "20160912.514"; src = fetchFromGitHub { owner = "cowboyd"; repo = "mocha-snippets.el"; - rev = "ac1f196bc0214cf7ec99bf34aafcbe13d53dffc4"; - sha256 = "1f8h5c9vvwynq92b1ii5hdpqmf52l5j443ir5hdbiigq30wkwlhx"; + rev = "6f09ba894a3f5fbaecd5c91597c6f0d1918e9d71"; + sha256 = "1jd5ji48myirqqhwrkm254zdrxgrdkfny9bvxc29vwgm8gjcpspw"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/93c472e3d7f318373342907ca7253253ef12dab8/recipes/mocha-snippets"; @@ -40698,12 +42569,12 @@ modalka = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "modalka"; - version = "20160531.912"; + version = "20161231.1639"; src = fetchFromGitHub { owner = "mrkkrp"; repo = "modalka"; - rev = "95627e660768c7ab7af4d8ad35c2bc0c4fa7195b"; - sha256 = "0yf5lwd95j55dkrkplsgnynq37ww0g97vw517j9q7spn7dqnq5f6"; + rev = "1831129c063fbef5f5378389281ecccca095b9e8"; + sha256 = "0jyczwam7xipw2qrk27wph3j4jd9gbkawvnsiad5xr1h9d019a41"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/fa0a02da851a603b81e183f461da55bf4c71f0e9/recipes/modalka"; @@ -40719,12 +42590,12 @@ mode-icons = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "mode-icons"; - version = "20160808.525"; + version = "20161125.2230"; src = fetchFromGitHub { owner = "ryuslash"; repo = "mode-icons"; - rev = "0b5e76b2418d455bf7cf8ee52dd3354964626b5e"; - sha256 = "1z9jrc85mlgcqpyys9filyaav7f8asn2w5dd2q5wp4s7i3gj8mc2"; + rev = "1b3ab62793b0e5f31e1ee2d8053a219ec34287f8"; + sha256 = "0jz2mb3xinjkxw4dzgpfpxzzi27j9wdzbnn7rnfwkpj66v4fcl20"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0fda2b54a0ff0b6fc3bd6d20cfcbbf63cae5380f/recipes/mode-icons"; @@ -40760,10 +42631,10 @@ }) {}; modeline-char = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "modeline-char"; - version = "20160523.1520"; + version = "20170101.1054"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/modeline-char.el"; - sha256 = "0qikw44mj209xycchxqifbn9vwyd4zd2d25w8m134cnkhbbjmf5q"; + sha256 = "0y5bjny8j9lvf94rfk3nrwdfmbp24i1b96909xpifn3l1r1xl6qr"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9655505f56fc90ea8ef61e7595af0de7427b273b/recipes/modeline-char"; @@ -40778,10 +42649,10 @@ }) {}; modeline-posn = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "modeline-posn"; - version = "20160112.649"; + version = "20170101.1055"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/modeline-posn.el"; - sha256 = "1r4zq355h570hk7qq0ik121bwsr4hjnhacal4d4h119d11gq2p8d"; + sha256 = "0bzrcfhyp9gr850yr1db80zqqdxi688alhpix45xb6xg0kjndmck"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c62008950ea27b5a47363810f57063c1915b7c39/recipes/modeline-posn"; @@ -40839,12 +42710,12 @@ moe-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "moe-theme"; - version = "20160814.2212"; + version = "20161129.115"; src = fetchFromGitHub { owner = "kuanyui"; repo = "moe-theme.el"; - rev = "c27112439d1567421922bd582ea525f4597ccc5c"; - sha256 = "16f4dphpnwpq5kw8k5pchq3l909b4qcgzqnycqfjgdr7ssjp5n4i"; + rev = "1a77b2ee52f5077ef3a31c794ecf13b37b3b4fd3"; + sha256 = "1gimdcrkbanzl1zxxw2955k7a4ygyqgls12g31g8nvjjp46hgjhr"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4efefd7edacf90620436ad4ef9ceb470618a8018/recipes/moe-theme"; @@ -40899,6 +42770,27 @@ license = lib.licenses.free; }; }) {}; + monitor = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "monitor"; + version = "20161018.444"; + src = fetchFromGitHub { + owner = "GuiltyDolphin"; + repo = "monitor"; + rev = "63f4643a0ee81616dbb692b8b03bae21df2283e2"; + sha256 = "1hl7nzxvjwv9kknyjikkbxw1gbi5kx4hkkq7sw6jnj06192n93yg"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/b9df614e8e7b9dfdbd7eec552a2b13e0f5acfc22/recipes/monitor"; + sha256 = "11n4nv6vkjw434yrwqjw20229m2sxqxxdp7sg99gzrd5gjyab643"; + name = "monitor"; + }; + packageRequires = [ dash ]; + meta = { + homepage = "https://melpa.org/#/monitor"; + license = lib.licenses.free; + }; + }) {}; monky = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "monky"; @@ -40944,12 +42836,12 @@ monokai-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "monokai-theme"; - version = "20160814.659"; + version = "20161216.628"; src = fetchFromGitHub { owner = "oneKelvinSmith"; repo = "monokai-emacs"; - rev = "53f0ba96f0417885e7d3955d8750de6763f99444"; - sha256 = "1azyrvhvyrd5n7djyh324famzab9w5c81bm3nv04p93gd92mm6zh"; + rev = "1a921469d0d3a974bf626a76bc5e9fb342fb32d6"; + sha256 = "1xby4jxxjwcgpai242y5c6ha2cj07hs1nndvxa6f1ncfkh5a7azx"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2bc9ce95a02fc4bcf7bc7547849c1c15d6db5089/recipes/monokai-theme"; @@ -40965,12 +42857,12 @@ monroe = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "monroe"; - version = "20160808.654"; + version = "20161025.621"; src = fetchFromGitHub { owner = "sanel"; repo = "monroe"; - rev = "0b9b043f042145bf62969add7ec476ea51da7cbd"; - sha256 = "101lfrykdbv37spkbw7zihhx26bc1lhjyxbanrcp9880bxj04jiy"; + rev = "fd742eee779c16f608d2369913ff067e1c47261f"; + sha256 = "0abs920fs4gk7rf2ch2h4mk956aimx0plp1xnawv08iippj185li"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/590e5e784c5a1c12a241d90c9a0794d2737a61ef/recipes/monroe"; @@ -41007,12 +42899,12 @@ morlock = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "morlock"; - version = "20160521.730"; + version = "20161008.1358"; src = fetchFromGitHub { owner = "tarsius"; repo = "morlock"; - rev = "185e3679ebeef3dc58555301e0958e864de775e5"; - sha256 = "0kjqdm6kzhgjmfdj4n95ivffw1wqf4r3gk62fvhfi4w29g7wd16j"; + rev = "5845b60c705e8db88ce790b0b12cd8b917e1e5a5"; + sha256 = "1a6kwpanwcnipsq0dc99r4iiz9xa2k883syj0kbk544dxgf338xj"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b6ef53bbc80edda12a90a8a9705fe14415972833/recipes/morlock"; @@ -41025,6 +42917,27 @@ license = lib.licenses.free; }; }) {}; + mosey = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "mosey"; + version = "20161015.319"; + src = fetchFromGitHub { + owner = "alphapapa"; + repo = "mosey.el"; + rev = "eb0ae6ec10f1d9828a2665476f6d6811df9b0bfa"; + sha256 = "1cpa38ay4y7cffi9h34s8lw308qggpf342hzqzgbsqy7rl9wr10k"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/76a9a43eea68db9f82c07677235c481a6f243aa2/recipes/mosey"; + sha256 = "0zprzr5aqv77kmg1ki9w6fw1nc2ap6yqjl4ak05a1i9cq8g6nf3m"; + name = "mosey"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/mosey"; + license = lib.licenses.free; + }; + }) {}; mote-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, ruby-mode ? null }: melpaBuild { pname = "mote-mode"; @@ -41069,10 +42982,10 @@ }) {}; mouse-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "mouse-plus"; - version = "20151231.1525"; + version = "20170101.1057"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/mouse+.el"; - sha256 = "0rakxcpqdx175hic3ykwbd5if53dvvf0sxhq0gplpsybpqvkimyv"; + sha256 = "0drv4r30jj1bsgd9jv6znicc9jgxd0hzjd3xlsp7l2ynjbg86n4g"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/01cbe9b5bb88f8c02fab67a269ac53c8aa4d8326/recipes/mouse+"; @@ -41088,12 +43001,12 @@ mouse-slider-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "mouse-slider-mode"; - version = "20150910.1400"; + version = "20161021.1214"; src = fetchFromGitHub { owner = "skeeto"; repo = "mouse-slider-mode"; - rev = "a8d6489fe2a3c2769b421f93f3609f402c9b92f7"; - sha256 = "05pzplb3gmlnlvn2azbxdlf4vrkvk8fc9dkgi2nq4shysnh4c9v7"; + rev = "b3c19cd231edecce76787c5a9bbe5e4046d91f88"; + sha256 = "1qkbrwicp3gaknnmfrajf1qdyhj5s0c09cx62869rp2721p8rqaw"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8fa747999bb928c3836400a43d8ab63939381673/recipes/mouse-slider-mode"; @@ -41108,10 +43021,10 @@ }) {}; mouse3 = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "mouse3"; - version = "20151231.1526"; + version = "20170101.1058"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/mouse3.el"; - sha256 = "1831jpi06hi5v2jdjgs83jma7fp8xiqdmvvwxfyp2zpbfwi1lkb6"; + sha256 = "1d6192r5iqyvs21ip78wcsvwc4lpx2jiv6pljcm9blxr1bpsk3gl"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/mouse3"; @@ -41127,12 +43040,12 @@ move-dup = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "move-dup"; - version = "20140925.808"; + version = "20161026.742"; src = fetchFromGitHub { owner = "wyuenho"; repo = "move-dup"; - rev = "964d1bbaacd4559d2dbde9cb44015c400d5a71b5"; - sha256 = "0baynb6gq04rxh10l6rn0myrhg7c7fwqaryiiyddp4jy7llf83c8"; + rev = "612f5b3faa5bc36f7403b6fac7a1a524ae146f37"; + sha256 = "0xiwlqhhx9aqj4059srp04zw1nksf8crp1z1wcfn4516f8mxs66p"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3ea1f7f015a366192492981ff75672fc363c6c18/recipes/move-dup"; @@ -41148,12 +43061,12 @@ move-text = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "move-text"; - version = "20160430.1730"; + version = "20170101.125"; src = fetchFromGitHub { owner = "emacsfodder"; repo = "move-text"; - rev = "e8098573d4f422ad3797ed7b73edaa78474c6b36"; - sha256 = "1i8nbxmxi9yblik7ma3wm19sajk1pgpw83mj990vhj1yl1k7m136"; + rev = "df534f345b960cd3315caa9dca9e4893c38e48fd"; + sha256 = "0svrdyij17nasdsj3fnj31p92ff7byzrwvbr49mifsqh2isibs54"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/82bfd0f41e42eed1d4c2361ec1d1685edebbac1b/recipes/move-text"; @@ -41169,12 +43082,12 @@ mowedline = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "mowedline"; - version = "20150601.1009"; + version = "20161121.1835"; src = fetchFromGitHub { owner = "retroj"; repo = "mowedline"; - rev = "c941d44c994e29f0c5f6c4532950eaceec0a6376"; - sha256 = "1wrdcxdlcvrhvarz71a09168bp1rd154ihs5v55dgh1sm7pv34la"; + rev = "ad7622969366e40401af877db75940ae23b5e4fc"; + sha256 = "0d2xabp9dkzixn7kqsxpapjcy846wgsh27l468pl2ar6pxnwwc86"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/86f7df6b8df3398ef476c0ed31722b03f16b2fec/recipes/mowedline"; @@ -41236,8 +43149,8 @@ src = fetchFromGitHub { owner = "google"; repo = "mozc"; - rev = "73a8154b79b0b8db6cf8e11d6f1e750709c17518"; - sha256 = "1vn4i0cj60izng4zvpjgbdrlv3v6wilpkzxvb9mz5a8adf3myv5h"; + rev = "4767ce2f2b6a63f1f139daea6e98bc7a564d5e4e"; + sha256 = "1azx128zsr7mlg2k538483c3qi1zmm8cc4z8sk06534wnx7wxs88"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/30fef77e1d7194ee3c3c1d4775c349a4a9f6af2c/recipes/mozc"; @@ -41379,12 +43292,12 @@ msvc = callPackage ({ ac-clang, cedet ? null, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "msvc"; - version = "20150530.151"; + version = "20161221.558"; src = fetchFromGitHub { owner = "yaruopooner"; repo = "msvc"; - rev = "e7a61fa5b98a129637f970ac6db9163e330b3d02"; - sha256 = "1draiwbwb8zfi6rdr5irv8091xv2pmnifq7pzi3rrvjb8swb28z3"; + rev = "71c38323187c98b32250b89088768599bb216ddb"; + sha256 = "1wwa861a8bnrqv59bx6l5k3qi98wqv6cicvg5gjyx8rdvpcq28dg"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/69939b85353a23f374cab996ede879ab315a323b/recipes/msvc"; @@ -41397,6 +43310,27 @@ license = lib.licenses.free; }; }) {}; + mtg-deck-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "mtg-deck-mode"; + version = "20161113.1359"; + src = fetchFromGitHub { + owner = "mattiasb"; + repo = "mtg-deck-mode"; + rev = "14d117dce8e082eb26007abd01f0e4af3ce3b698"; + sha256 = "03lff20d10s5nzh6jddf8q31lm3c20zflwbklnbsrydm2w5j6d16"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/425fa66cffe7bfda71de4ff2b49e951456bdeae1/recipes/mtg-deck-mode"; + sha256 = "07hszf33nawhp218f90qr4s713yyjdd7zzkq0s8q0fb6aai5iiih"; + name = "mtg-deck-mode"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/mtg-deck-mode"; + license = lib.licenses.free; + }; + }) {}; mu-cite = callPackage ({ fetchFromGitHub, fetchurl, flim, lib, melpaBuild }: melpaBuild { pname = "mu-cite"; @@ -41421,12 +43355,12 @@ mu4e-alert = callPackage ({ alert, emacs, fetchFromGitHub, fetchurl, ht, lib, melpaBuild, s }: melpaBuild { pname = "mu4e-alert"; - version = "20160814.145"; + version = "20160909.918"; src = fetchFromGitHub { owner = "iqbalansari"; repo = "mu4e-alert"; - rev = "12d3c458e8a45440776f6560c5f22a090ff24769"; - sha256 = "0iy3lslr3w4npfqasgn3bv5akdc7h7csx7amcybb21dzwi38bi23"; + rev = "839cb7a9b9db150460d1e1b40fc7abcd61679011"; + sha256 = "1kl0f9m3zs9nkkmzpbf4kddjmbvvg7psmv1hanlw5h3z3yy1m9x0"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5a48e8cb571e91b582ff0dea18e8dc75601edc35/recipes/mu4e-alert"; @@ -41442,12 +43376,12 @@ mu4e-maildirs-extension = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "mu4e-maildirs-extension"; - version = "20160604.243"; + version = "20161209.635"; src = fetchFromGitHub { owner = "agpchil"; repo = "mu4e-maildirs-extension"; - rev = "04872b79273ec81670e0ea19ed2c90ba74467c57"; - sha256 = "00ylq8ay7j21winii1g3c3hcaihcnq209mngs7g1cgykh1fpbblg"; + rev = "19ff86e117f33a5e3319f19c6d84cf46854ba874"; + sha256 = "02pmnvq3crrivrv5l1x40y2ab0x2mmg7zkxl7q08bpglxzc8i4k0"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3b20c61c62309f27895f7427f681266e393ef867/recipes/mu4e-maildirs-extension"; @@ -41523,12 +43457,12 @@ multi-line = callPackage ({ cl-lib ? null, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s, shut-up }: melpaBuild { pname = "multi-line"; - version = "20160829.1830"; + version = "20161103.1715"; src = fetchFromGitHub { owner = "IvanMalison"; repo = "multi-line"; - rev = "2d31d60e240caa321a2f57345b395dcc6fdb874d"; - sha256 = "19p8x43dsqvm2nfjdwb1imcwqkajc0vb2d8xqjswg894qiinkrlr"; + rev = "f510b7bc3c4726f262620bd6739f7de80d13ff35"; + sha256 = "01dbk0vxznmqhx8vd2iaa967ng5apnwkv0mlyd235wk2z1j8wci4"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0f8eee6798a0ba71d437a1cbf82e360a5b60eafb/recipes/multi-line"; @@ -41544,11 +43478,11 @@ multi-project = callPackage ({ fetchhg, fetchurl, lib, melpaBuild }: melpaBuild { pname = "multi-project"; - version = "20150314.744"; + version = "20161204.223"; src = fetchhg { url = "https://bitbucket.com/ellisvelo/multi-project"; - rev = "f7fd0ae6819e"; - sha256 = "0lcx73vzm7zwvzzc53pfb5y16bhvq9cm9fdy63d3242s8v834z3c"; + rev = "a6fd748acd9b"; + sha256 = "0j6lq5sxrn5yvxja5ag0q01bic6r6hbnfr7010ahc3bwl78yslc3"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/multi-project"; @@ -41645,12 +43579,12 @@ multiple-cursors = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "multiple-cursors"; - version = "20160719.216"; + version = "20161021.1431"; src = fetchFromGitHub { owner = "magnars"; repo = "multiple-cursors.el"; - rev = "dfaf6215fced1eb81ce4b91e8a19a7346e94325e"; - sha256 = "0ii8a2r2ijhlz483fy64jg67ch4w3s90s23gdcxmpzcn4jzia3jj"; + rev = "632768113df76ac9d688fef5530f567716419dd6"; + sha256 = "19x0czlk51v5vd1rs8ny8f5zap3mxwbjmjg1g4flmvc0glwd05qd"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5f015e6b88be2a5ded363bd882a558e94d1f391/recipes/multiple-cursors"; @@ -41663,6 +43597,27 @@ license = lib.licenses.free; }; }) {}; + multitran = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "multitran"; + version = "20161122.1323"; + src = fetchFromGitHub { + owner = "zevlg"; + repo = "multitran.el"; + rev = "c0ce2e1b3706263946f9240a47c3f65ed4fc0afa"; + sha256 = "1dd82jlc865achy70ldjwkjx45p11sjj0snvf85r1dj4aywci6i5"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/d665759fa6491b77103920a75c18a561f6800c1c/recipes/multitran"; + sha256 = "0nxrzzlinl5310zfrb4z5j0553cmg11m9y2gaf990j61afaw8f32"; + name = "multitran"; + }; + packageRequires = [ cl-lib emacs ]; + meta = { + homepage = "https://melpa.org/#/multitran"; + license = lib.licenses.free; + }; + }) {}; mustache = callPackage ({ dash, fetchFromGitHub, fetchurl, ht, lib, melpaBuild, s }: melpaBuild { pname = "mustache"; @@ -41831,12 +43786,12 @@ mwim = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "mwim"; - version = "20160720.1210"; + version = "20161004.647"; src = fetchFromGitHub { owner = "alezost"; repo = "mwim.el"; - rev = "d7885c32ad54f5b5698b48abea392a8eae2567a8"; - sha256 = "1kssmryl44m4cq05ff98blwdvqafb9x7v3bvb1z70rrvdvw3l024"; + rev = "e53da113b88a7e0693fd8f91862ce5948ad80a5b"; + sha256 = "0vm6iynkx328zc4ww6zjibj7impiz53g2cqzxfa8bjfs2src2sw3"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b7e1aa2fa1294b27ed7b6c5bdd5844fa5c37df72/recipes/mwim"; @@ -41915,12 +43870,12 @@ mysql-to-org = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "mysql-to-org"; - version = "20160817.1453"; + version = "20161119.1256"; src = fetchFromGitHub { owner = "mallt"; repo = "mysql-to-org-mode"; - rev = "4cbb45a32ba5c286bed73b77470d29160a192b44"; - sha256 = "10gnppqj3f15nzsm93si83f0z8qzvijv4642lbhgdlxvm2q19rfw"; + rev = "0f51b174a0ee6c9820baf9d79783923b270f3ffc"; + sha256 = "1gxp1a26sna0p3xq6by8bk4yphhh32bvll0sdm2p3wkpdaci7hyz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ca23f61be1dc8b0ae2ec0ae38d4614cf9c855023/recipes/mysql-to-org"; @@ -41957,12 +43912,12 @@ myterminal-controls = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "myterminal-controls"; - version = "20160119.2030"; + version = "20160924.2206"; src = fetchFromGitHub { owner = "myTerminal"; repo = "myterminal-controls"; - rev = "9f4ad8007064b40302bc43bf826e17ef5c1bc70a"; - sha256 = "1517lhialks2404s2826vkvshqwjdsxyvqgysp6awmblg676k9yv"; + rev = "b76ef43a64f25cbea67b966ebf88eb12518a52b4"; + sha256 = "1x8sfhdb5cw1xih9gpr07pz3f0y9wzxv38pxg4pllkayc2sqhsr4"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4a82a45d9fcafea0795f832bce1bdd7bc83667e2/recipes/myterminal-controls"; @@ -42019,10 +43974,10 @@ }) {}; naked = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "naked"; - version = "20151231.1527"; + version = "20170101.1100"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/naked.el"; - sha256 = "0zq13qjqfpxjba1bhdqqxkvgxq1dxyb7hd1bpnk6cbhsxr6mr50i"; + sha256 = "06j2kijshd6ywx0rfvl4d08r0rh0b0rj69zypz63p418liymzcn6"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/naked"; @@ -42059,12 +44014,12 @@ nameframe = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "nameframe"; - version = "20151017.2119"; + version = "20160927.2103"; src = fetchFromGitHub { owner = "john2x"; repo = "nameframe"; - rev = "96acff56b30f9d1145aeaf7a4c53c9a2c823ee8e"; - sha256 = "07zgwyrss23yb8plnhhwmh0khdvfp539891sj1z1vs50jcllcpw5"; + rev = "603061cb98eef5472a8e664ee44e5ce1b2d886ff"; + sha256 = "1clfl49viak24v7g7jrg5a8qnf8gz83ywg7mq30hyz2hy9vkq6w0"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/bd314150b3f8ce529a2ae39a71e03bebedfdc6b9/recipes/nameframe"; @@ -42080,12 +44035,12 @@ nameframe-perspective = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, nameframe, perspective }: melpaBuild { pname = "nameframe-perspective"; - version = "20151018.207"; + version = "20160927.2103"; src = fetchFromGitHub { owner = "john2x"; repo = "nameframe"; - rev = "96acff56b30f9d1145aeaf7a4c53c9a2c823ee8e"; - sha256 = "07zgwyrss23yb8plnhhwmh0khdvfp539891sj1z1vs50jcllcpw5"; + rev = "603061cb98eef5472a8e664ee44e5ce1b2d886ff"; + sha256 = "1clfl49viak24v7g7jrg5a8qnf8gz83ywg7mq30hyz2hy9vkq6w0"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2543af5579d37a3eb52e6fea41da315f5590331e/recipes/nameframe-perspective"; @@ -42101,12 +44056,12 @@ nameframe-projectile = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, nameframe, projectile }: melpaBuild { pname = "nameframe-projectile"; - version = "20151018.207"; + version = "20160927.2103"; src = fetchFromGitHub { owner = "john2x"; repo = "nameframe"; - rev = "96acff56b30f9d1145aeaf7a4c53c9a2c823ee8e"; - sha256 = "07zgwyrss23yb8plnhhwmh0khdvfp539891sj1z1vs50jcllcpw5"; + rev = "603061cb98eef5472a8e664ee44e5ce1b2d886ff"; + sha256 = "1clfl49viak24v7g7jrg5a8qnf8gz83ywg7mq30hyz2hy9vkq6w0"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/bc17af8ff1694120d12a0cdbfccec78834810acd/recipes/nameframe-projectile"; @@ -42122,12 +44077,12 @@ nameless = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "nameless"; - version = "20160403.1113"; + version = "20161012.1214"; src = fetchFromGitHub { owner = "Malabarba"; repo = "Nameless"; - rev = "49225f379efedf228636985a92ca6fb84cfdea5a"; - sha256 = "1g8852c68ca4b4wf781aiyhbgk2a3g39jw1mijzpp0lmmnsbmmwc"; + rev = "ab1a5c589378334eafca105af1a17f73b9065423"; + sha256 = "107q1rximjnag9r9vgwh0iv687i3rsscbdnjc46f8l16j6vi4n7d"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8e4ee4dae5f32a8d445dc0cc2455c1f7075c9b3d/recipes/nameless"; @@ -42182,43 +44137,43 @@ license = lib.licenses.free; }; }) {}; - nand2tetris = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, names }: + nand2tetris = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "nand2tetris"; - version = "20151027.1451"; + version = "20161109.1637"; src = fetchFromGitHub { owner = "CestDiego"; repo = "nand2tetris.el"; - rev = "0297cd8d76cad072cb64318ffacdc65d8a1ad948"; - sha256 = "003zgkpzz9q0bkkw6psks0vbfikzikfm42myqk14xn7330vgcxz7"; + rev = "e1be652b7d46e653a85c564ed917b5b75ab4bc50"; + sha256 = "1xnb5y1ddy4s7kia6zfzd8s5q9m2zfd72344qizywla86rqk7lpb"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/90421372b3f60b59762279ac805c61a984606d11/recipes/nand2tetris"; sha256 = "1zg9xx7mj8334m2v2zqqfkr5vkj4dzqbj8y13qk6xhzb7qkppyqd"; name = "nand2tetris"; }; - packageRequires = [ names ]; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/nand2tetris"; license = lib.licenses.free; }; }) {}; - nand2tetris-assembler = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, names, nand2tetris }: + nand2tetris-assembler = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, nand2tetris }: melpaBuild { pname = "nand2tetris-assembler"; - version = "20151027.1436"; + version = "20161109.1637"; src = fetchFromGitHub { owner = "CestDiego"; repo = "nand2tetris.el"; - rev = "0297cd8d76cad072cb64318ffacdc65d8a1ad948"; - sha256 = "003zgkpzz9q0bkkw6psks0vbfikzikfm42myqk14xn7330vgcxz7"; + rev = "e1be652b7d46e653a85c564ed917b5b75ab4bc50"; + sha256 = "1xnb5y1ddy4s7kia6zfzd8s5q9m2zfd72344qizywla86rqk7lpb"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/90421372b3f60b59762279ac805c61a984606d11/recipes/nand2tetris-assembler"; sha256 = "1761kgrflipxba8894cnx90ks7f3ba4nj6ci515zzxcx9s45mfyy"; name = "nand2tetris-assembler"; }; - packageRequires = [ names nand2tetris ]; + packageRequires = [ nand2tetris ]; meta = { homepage = "https://melpa.org/#/nand2tetris-assembler"; license = lib.licenses.free; @@ -42267,10 +44222,10 @@ }) {}; narrow-indirect = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "narrow-indirect"; - version = "20151231.1539"; + version = "20170101.1101"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/narrow-indirect.el"; - sha256 = "1lyszm94pd3jxs73v7k0aaazm0sd2rpz2pphcdag7lk7k6vppd9n"; + sha256 = "0rlj647azpj5v7lzap88992f7mf2y94708f4aw2cvnzj6hf1rsvy"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/38e5dd845c99acaae719562595059154a08a5f00/recipes/narrow-indirect"; @@ -42332,8 +44287,8 @@ src = fetchFromGitHub { owner = "tiago4orion"; repo = "nash-mode.el"; - rev = "bb7ae728a16812a0ef506483b877f6221c92ca9c"; - sha256 = "1n4dxbd388ibghismc5d1nkvxwxdi4r415prsaa3qad8l9s4ivwh"; + rev = "2cd96535eb7d669a94306183e95ee37333872c1a"; + sha256 = "0wdkl56pgm6qlgqjs4kqjglnxzjsfjd0y4fiffhxc893gm0psrpg"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c8bd080c81b163a6ddcfffc710316b9711935b4a/recipes/nash-mode"; @@ -42349,12 +44304,12 @@ nasm-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "nasm-mode"; - version = "20160525.1826"; + version = "20161216.736"; src = fetchFromGitHub { owner = "skeeto"; repo = "nasm-mode"; - rev = "c3f5475c2f4bd930411b6d716765d094b36ce219"; - sha256 = "0d8bfz41ry5bvkz2894dqkk3244n7xcjk3pf58fcsagvmmkkln7b"; + rev = "d990ed94d902b74a5c834fb567e03307607cee45"; + sha256 = "1dyc50a1zskx9fqxl2iy2x74f3bkb2ccz908v0aj13rqfqqnns9j"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a1a832b3bd7c2f2d3cee8bcfb5421d22acf5523e/recipes/nasm-mode"; @@ -42475,12 +44430,12 @@ ncl-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ncl-mode"; - version = "20150525.929"; + version = "20160925.2200"; src = fetchFromGitHub { owner = "yyr"; repo = "ncl-mode"; - rev = "01559734504d2712606ac30916252d788ea73124"; - sha256 = "0gbv5fv401z58ycbqlivqamf5kp3x6krhi36q7q0m4gvy448xz0n"; + rev = "8841c2234a6425c4aaccddbf7567828681627dd0"; + sha256 = "1nngh564ggyb2qg8lgblls22ygfpj9dn7l6v50s7df3hy7zhkqhz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/00cc4705650157621bb0135cc512d57178496100/recipes/ncl-mode"; @@ -42517,12 +44472,12 @@ nemerle = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "nemerle"; - version = "20130328.746"; + version = "20161029.1323"; src = fetchFromGitHub { owner = "rsdn"; repo = "nemerle"; - rev = "b1ec55459bda21463483d32401803d246abf045b"; - sha256 = "1iv7k127wsrhl9hvanlzmi8ycz3ynwfwxgh5zw9617zhiw8f7004"; + rev = "f3a11808a888e35d101fdd67b2474289bec4eeec"; + sha256 = "04k20s7pldngsr63azb0abgdm8qr7a4pm81c8v23n3hiwikx0zfg"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8477d0cf950efcfd9a85618a5ca48bff590b22d7/recipes/nemerle"; @@ -42559,12 +44514,12 @@ neotree = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "neotree"; - version = "20160802.51"; + version = "20161228.1739"; src = fetchFromGitHub { owner = "jaypei"; repo = "emacs-neotree"; - rev = "5982766558bea413b0c15c807aa45bb36a296eed"; - sha256 = "03xcziqli0hwpcggp94vgswn27np0a05rcr4dgzksviyn4gb9ixc"; + rev = "f4c13c3a8805d12f13f68ae4e651ff24f1ae9957"; + sha256 = "19gaddm5xh6mbl2zfmd5v9xgnyfg9pzxpah7x921r251pzlrwiip"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9caf2e12762d334563496d2c75fae6c74cfe5c1c/recipes/neotree"; @@ -42601,12 +44556,12 @@ netrunner = callPackage ({ company, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, popup }: melpaBuild { pname = "netrunner"; - version = "20160622.642"; + version = "20160910.1632"; src = fetchFromGitHub { owner = "Kungsgeten"; repo = "netrunner"; - rev = "202ddb1005ca54da3884f38627c6d1e5ba85d56d"; - sha256 = "0xj52211ca7fgr6zkwaf3rgn6zl8c3w2j3lfc4fkm2wlkhb9xcks"; + rev = "c64672992175c8c1073c0f56c2e471839db71a0f"; + sha256 = "1jj8qsq4xa93h3srskhw1l6igzf9jhwl8hfa73zvqr8dhqhp149k"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a8b1d8c31383b6ec3788ad6c9adf0117190484c9/recipes/netrunner"; @@ -42682,15 +44637,36 @@ license = lib.licenses.free; }; }) {}; + ng2-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, typescript-mode }: + melpaBuild { + pname = "ng2-mode"; + version = "20160910.820"; + src = fetchFromGitHub { + owner = "AdamNiederer"; + repo = "ng2-mode"; + rev = "d06d8af34c1e74a7c7a8601233f5e42c38420035"; + sha256 = "0nz1lrx0iiapmhy78d17m8v91nly11hlykg00xvj91y1iw0713ql"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/a856ecd8aca2d9232bb20fa7019de9e1dbbb19f4/recipes/ng2-mode"; + sha256 = "0sr4yh5nkgqb1qciq9mzzhr64350bi2wjm6z9d616nkjw72saz1r"; + name = "ng2-mode"; + }; + packageRequires = [ typescript-mode ]; + meta = { + homepage = "https://melpa.org/#/ng2-mode"; + license = lib.licenses.free; + }; + }) {}; nginx-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "nginx-mode"; - version = "20150824.1411"; + version = "20161023.223"; src = fetchFromGitHub { owner = "ajc"; repo = "nginx-mode"; - rev = "8a296e30b01adbc40d1aa9ccde369a972ac5ceab"; - sha256 = "08bpyk0brx0x2l0y8hn8zpkaxb2ndmxz22kzxxypj6hdz303wf38"; + rev = "a04cef3a07d235eb03bd944fe6923664493896ee"; + sha256 = "0bk5jjh0rz81q27k105f5azvgy1zcn4w33xygzzpblks760dkgar"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a6da3640b72496e2b32e6ed21aa39df87af9f7f3/recipes/nginx-mode"; @@ -42766,22 +44742,22 @@ license = lib.licenses.free; }; }) {}; - nim-mode = callPackage ({ commenter, company, emacs, epc, fetchFromGitHub, fetchurl, flycheck, let-alist, lib, melpaBuild }: + nim-mode = callPackage ({ commenter, emacs, epc, fetchFromGitHub, fetchurl, flycheck, let-alist, lib, melpaBuild }: melpaBuild { pname = "nim-mode"; - version = "20160827.1217"; + version = "20161001.2336"; src = fetchFromGitHub { owner = "nim-lang"; repo = "nim-mode"; - rev = "208f42612b66b2d2cfc25381035f94b75c6364f2"; - sha256 = "0rcvfkknvy6pwvgl9h66lky5kw4kcjanpj7lisva9s5a4iq8z0jb"; + rev = "2ddac4faa12fc405fcb2148f7d045be83cae5f3d"; + sha256 = "1iaf03791x3jw1vgp2pc4aa01xw5kfr7mk87x7bg1py88pljkh7l"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/dc2ccb5f24b9d55c77eaa7952a9e6a2e0ed7be24/recipes/nim-mode"; sha256 = "1kzn3kkkj7jzs7fqhvib196sl3vp7kbhb4icqzmvvmv366lkaib6"; name = "nim-mode"; }; - packageRequires = [ commenter company emacs epc flycheck let-alist ]; + packageRequires = [ commenter emacs epc flycheck let-alist ]; meta = { homepage = "https://melpa.org/#/nim-mode"; license = lib.licenses.free; @@ -42794,8 +44770,8 @@ src = fetchFromGitHub { owner = "martine"; repo = "ninja"; - rev = "94fc14314501a78b1742e910f7c920188b2753da"; - sha256 = "05r6335i9fivinb2cny96wvvkcn1fwaqq7ax1nkzqsag27nc7qp5"; + rev = "7d705a3dfcd09a31c67c440ca2120d3994357e57"; + sha256 = "0x2bkdbv0p5rj4nwybnajdwbyhnbyk4vxjlpmf5zljs5kc49h3zs"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/aed2f32a02cb38c49163d90b1b503362e2e4a480/recipes/ninja-mode"; @@ -42808,6 +44784,27 @@ license = lib.licenses.free; }; }) {}; + nix-buffer = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "nix-buffer"; + version = "20160908.523"; + src = fetchFromGitHub { + owner = "shlevy"; + repo = "nix-buffer"; + rev = "2e2324c7f3a3ef27c9cb9cc3945cd82bec6b7755"; + sha256 = "18ys3ddla3z733r4jf2nnfkllclrq496i08pfiyvkj6l3jnghzx0"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/08b978724ff26b3ea7a134d307d888c80e2a92a9/recipes/nix-buffer"; + sha256 = "1fjkf88345v9l2v2mk8a057mw0p0rckf6rjf00y5464dyhh58vcd"; + name = "nix-buffer"; + }; + packageRequires = [ emacs f ]; + meta = { + homepage = "https://melpa.org/#/nix-buffer"; + license = lib.licenses.free; + }; + }) {}; nix-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "nix-mode"; @@ -42815,8 +44812,8 @@ src = fetchFromGitHub { owner = "NixOS"; repo = "nix"; - rev = "d74c8a3f4e1131ee9dbd9898d141789832802306"; - sha256 = "00b0gi26rbxg5hsnn2zz0404kaqyn3bmlf7dz09knvpq4w77gsgj"; + rev = "5d377ace2d74475ef696bce4ac0e61946d5b3769"; + sha256 = "1b0mzkiw66qz8c2mx8sify9gnq0hycl3qy0v640xbva0gkvxj1fz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f2b542189cfde5b9b1ebee4625684949b6704ded/recipes/nix-mode"; @@ -42832,12 +44829,12 @@ nix-sandbox = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "nix-sandbox"; - version = "20160223.553"; + version = "20160914.1324"; src = fetchFromGitHub { owner = "travisbhartwell"; repo = "nix-emacs"; - rev = "9e84e7f93307b72a1c0decfc2eff9d4943631de3"; - sha256 = "1r2qbd19kkqf70gq04jfpsrap75qcy359k3ian9rhapi8cj0n23w"; + rev = "89b9356d32b16e0dc0794c323a4661a01c3b83de"; + sha256 = "11pcp09z0vy6k81wghqq4rxlkfsc5bpgyacpl7bmxanj3qaa7ga5"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/66be755a6566e8c0cfb5aafa50de29b434023c7a/recipes/nix-sandbox"; @@ -42857,8 +44854,8 @@ src = fetchFromGitHub { owner = "travisbhartwell"; repo = "nix-emacs"; - rev = "9e84e7f93307b72a1c0decfc2eff9d4943631de3"; - sha256 = "1r2qbd19kkqf70gq04jfpsrap75qcy359k3ian9rhapi8cj0n23w"; + rev = "89b9356d32b16e0dc0794c323a4661a01c3b83de"; + sha256 = "11pcp09z0vy6k81wghqq4rxlkfsc5bpgyacpl7bmxanj3qaa7ga5"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6846c7d86e70a9dd8300b89b61435aa7e146be96/recipes/nixos-options"; @@ -42937,12 +44934,12 @@ no-littering = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "no-littering"; - version = "20160828.458"; + version = "20161223.607"; src = fetchFromGitHub { owner = "tarsius"; repo = "no-littering"; - rev = "537e584d115fb056a23a0b055e0a28f543182c45"; - sha256 = "1cma5047c3486bjfshb612iq6j3yml0c02gqy8d0ms9507r60igq"; + rev = "e7d3ebbd12f176707e63766a7a19bcaa08e01331"; + sha256 = "0y8wvagn4yf7fwvwzqcrx46wigmvyl25fa94kzvkanjl04zid3i1"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cf5d2152c91b7c5c38181b551db3287981657ce3/recipes/no-littering"; @@ -42976,22 +44973,22 @@ license = lib.licenses.free; }; }) {}; - noctilux-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + noctilux-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "noctilux-theme"; - version = "20150723.747"; + version = "20161113.642"; src = fetchFromGitHub { owner = "sjrmanning"; repo = "noctilux-theme"; - rev = "5f21c8523ddb99c4e5bc727d59ddf6bf6f50d626"; - sha256 = "1a1pp3sd5g4wkhywb5jfchcdpjsjb0iyhk2sxvd0gpc4kk4zh6xs"; + rev = "a3265a1be7f4d73f44acce6d968ca6f7add1f2ca"; + sha256 = "12xx0v8d97kjvlkj0ii78vxxvzgmcfc4hzv4yvxymg50rsy0zzqi"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c0a18df34c105da8c5710643cd8027402bb07c95/recipes/noctilux-theme"; sha256 = "15ymyv3rq0n31d8h0ry0l4w4r5a8as0q63ajm9wb6yrxxjl1imfp"; name = "noctilux-theme"; }; - packageRequires = []; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/noctilux-theme"; license = lib.licenses.free; @@ -43081,11 +45078,11 @@ }) {}; notmuch = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }: melpaBuild { pname = "notmuch"; - version = "20160811.416"; + version = "20161215.457"; src = fetchgit { url = "git://git.notmuchmail.org/git/notmuch"; - rev = "59fed50a82b0a625a7303099675484557fed9d23"; - sha256 = "12d2xna8fn5n9axpc8c75dq1ikc7fnrqsgh27d80j1lw22i2ds21"; + rev = "11064124732961f6fcfd78226ebaba0abed2c8fe"; + sha256 = "0gs26jlg32mb84k6y9hm420jlw73ibrq791jq9faa6n42ws9ifdd"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b19f21ed7485036e799ccd88edbf7896a379d759/recipes/notmuch"; @@ -43121,10 +45118,10 @@ }) {}; novice-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "novice-plus"; - version = "20151231.1540"; + version = "20170101.1103"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/novice+.el"; - sha256 = "0mmdf3z9299hbs3wr8hqgpmg74sb2xm0rxyh38sjcqmk8f310rqh"; + sha256 = "04lsjzj0a0z7wn7jzlpzjdv9d2w591gs2mwvsh1j8hmgl4x5p9vp"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/novice+"; @@ -43291,8 +45288,8 @@ src = fetchFromGitHub { owner = "Liu233w"; repo = "number-lock.el"; - rev = "1ac1b1a269128ddac820df7d45a8d0c703e9c05c"; - sha256 = "11pqm2f8bx3m9mnvpjbvq8vd8sym7zpq7n0y4lbkybiyxswjrv5q"; + rev = "74417b1238953bf485961a0dd7d20f5c36ae25ea"; + sha256 = "0xmd4q2k0psd53cg71vsyc54iiq0wp9bs00ch68561lrnbjg043w"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3c107adabe2e4c5b35ebb6b21db076cdea0e9c24/recipes/number-lock"; @@ -43354,8 +45351,8 @@ src = fetchFromGitHub { owner = "TeMPOraL"; repo = "nyan-mode"; - rev = "b5db3a612bba35c8f54f44c300ebc879db6b3288"; - sha256 = "199ii1658k4sp5krha77n9l5jblyvnvvvr28g2nbc74lfybckjwq"; + rev = "98f2283d60686d331346371bc7f7f3d49bdfaf34"; + sha256 = "0yv6wv1vdc5zd1sh3f8vcz7wdizziasjzr11shx2bhm8nhnqcdbj"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4d8c3000df5f2ee2493a54dee6f9b65008add753/recipes/nyan-mode"; @@ -43431,14 +45428,35 @@ license = lib.licenses.free; }; }) {}; + ob-applescript = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "ob-applescript"; + version = "20160914.1327"; + src = fetchFromGitHub { + owner = "stig"; + repo = "ob-applescript.el"; + rev = "bc708af6cf45707d4e8d8f00ea59a7e413bfaca7"; + sha256 = "08q0kglajvgpjvzij89z9xiz65r15ddxz16bjk2b59p0vzzy51ij"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/23b075774be913539c3f057dcb7f24fbc05c37a4/recipes/ob-applescript"; + sha256 = "1gk8cgscj9wbl5k8ahh1a61p271xpk5vk2w64a8y3njnwrwxm9jc"; + name = "ob-applescript"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/ob-applescript"; + license = lib.licenses.free; + }; + }) {}; ob-axiom = callPackage ({ axiom-environment, emacs, fetchhg, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ob-axiom"; - version = "20160310.1353"; + version = "20161122.1222"; src = fetchhg { url = "https://bitbucket.com/pdo/axiom-environment"; - rev = "bc294e47f51c"; - sha256 = "0z15n7cpprbhiamq26240g5bqsiw5mgyzdisi7j6hpybyk2zyl9q"; + rev = "110e20a7a86c"; + sha256 = "0s18bbfw4kcv9iij1016pamq394rg8xr7016qp6cxyklp9hivcdm"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/ob-axiom"; @@ -43601,12 +45619,12 @@ ob-http = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "ob-http"; - version = "20160709.224"; + version = "20161208.222"; src = fetchFromGitHub { owner = "zweifisch"; repo = "ob-http"; - rev = "47a7b367314f6051715882e46a0e40477bda20a2"; - sha256 = "1y5izm9yxa556536mnpc8dp0nzm8wzr778qycpk4l9xfyp4xybaw"; + rev = "9155a413e41d918042e9839399e3940aa0f8499c"; + sha256 = "1b39g0nifw0000s0x8ir0cfr716jypq6b5n2l1i4mrby6aw3bw1k"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/950b02f76a04f453992b8720032e8c4cec9a039a/recipes/ob-http"; @@ -43622,12 +45640,12 @@ ob-ipython = callPackage ({ dash, dash-functional, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "ob-ipython"; - version = "20160703.639"; + version = "20160918.1001"; src = fetchFromGitHub { owner = "gregsexton"; repo = "ob-ipython"; - rev = "12e764aa231d029368056796452f644a3adba856"; - sha256 = "0k1jmacvfl2kxbc9xan93nivvnc3j3k17qp7xjmhrlrx1gdx63lr"; + rev = "cfdd9c00e6286d31d647defdb813b7aabfadcbff"; + sha256 = "0i441jwc32fnkd8rba512z373jaind8sdb20hf2yma7ny2iawcyk"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/557c36e86844c211f2d2ee097ce51ee9db92ea8b/recipes/ob-ipython"; @@ -43682,27 +45700,6 @@ license = lib.licenses.free; }; }) {}; - ob-lua = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, org }: - melpaBuild { - pname = "ob-lua"; - version = "20160411.2024"; - src = fetchFromGitHub { - owner = "stardiviner"; - repo = "ob-lua"; - rev = "1b5fd9bf529c50f8121afae0472e057daa5e95f9"; - sha256 = "11cdf5nfmn5cc1i4kqxq0hks8d19sf5rwavpfmz39xysbnr65s68"; - }; - recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/f08723efb7502474d77e0212c7bdc7c9b4dac624/recipes/ob-lua"; - sha256 = "13ailb285bs9sm9qmjrpq0wjk7sp3w019p94pzrwmzqf52y1dapg"; - name = "ob-lua"; - }; - packageRequires = [ org ]; - meta = { - homepage = "https://melpa.org/#/ob-lua"; - license = lib.licenses.free; - }; - }) {}; ob-ml-marklogic = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ob-ml-marklogic"; @@ -43727,12 +45724,12 @@ ob-mongo = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, org }: melpaBuild { pname = "ob-mongo"; - version = "20130718.732"; + version = "20161130.152"; src = fetchFromGitHub { owner = "krisajenkins"; repo = "ob-mongo"; - rev = "7eb5524d9c106945b371f9fbb9f1176f6e6f9b13"; - sha256 = "0qibnn908a59jyfslsnpjanbm85f8xw9zywsqsh37nv27ncbx0hr"; + rev = "d64a507c2f9e2a1f8062acae50199541fc23be65"; + sha256 = "0xlddh28z9afqj8j9brcncrbwsyqzmv432zayn9ajjj1vk1avsxg"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e020ea3ef89a3787d498c2f698c82c5073c9ee32/recipes/ob-mongo"; @@ -43790,12 +45787,12 @@ ob-prolog = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ob-prolog"; - version = "20150530.937"; + version = "20170102.953"; src = fetchFromGitHub { owner = "ljos"; repo = "ob-prolog"; - rev = "548986d0e6f678789216a882f0a19daf1b89ab93"; - sha256 = "14scbds1rlmii52i0zr3s0r1wmga7qysj63c2dpinhagxa36d51n"; + rev = "7e94309d3a21d7e265f3a85b41801397f286af00"; + sha256 = "0qxpgnjrx04dl43i949vcwv70sc7i23ivyvfk82hdvl8c2lwfd7w"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/fb87868cd74325f0a4a38c5542c264501000951d/recipes/ob-prolog"; @@ -43853,12 +45850,12 @@ ob-sagemath = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s, sage-shell-mode }: melpaBuild { pname = "ob-sagemath"; - version = "20160517.1728"; + version = "20160922.1638"; src = fetchFromGitHub { owner = "stakemori"; repo = "ob-sagemath"; - rev = "98560075eb0a9dc5ad1e3102ac1154543692d74d"; - sha256 = "08p64ss3ia1gq6dsna5v3ajjwm5g9ma7yvd5y0jx91xssjqq5dja"; + rev = "5715748b3448b1b1e4856387c5486c7b56c0699b"; + sha256 = "1jhzrlvwf02g0v4wybyry6n9dqcihv47n11m1rpmaxpg2z8551rb"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/dc074af316a09906a26ad957a56e3dc272cd813b/recipes/ob-sagemath"; @@ -44123,6 +46120,27 @@ license = lib.licenses.free; }; }) {}; + oceanic-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "oceanic-theme"; + version = "20161015.119"; + src = fetchFromGitHub { + owner = "terry3"; + repo = "oceanic-theme"; + rev = "a92ee9b470843c923e6cdcafdd65106ff994d04d"; + sha256 = "1bj4l88546gmlfmwyg1zsqfz9g2l87hsa9jlrf8s4c907di736ir"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/b9d85588df4e2057ef1c822ff177572054ed979b/recipes/oceanic-theme"; + sha256 = "1i69dy9hfqwfyiykvnqzkqim0lv1p5z5fjsdk84068si4b029gzv"; + name = "oceanic-theme"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/oceanic-theme"; + license = lib.licenses.free; + }; + }) {}; ocodo-svg-modelines = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, svg-mode-line-themes }: melpaBuild { pname = "ocodo-svg-modelines"; @@ -44172,8 +46190,8 @@ src = fetchFromGitHub { owner = "syohex"; repo = "emacs-octicons"; - rev = "229286a6166dba8ddabc8c4d338798c6cd3cf67d"; - sha256 = "0dp7dhmgrq078rjhpm1cr993qjqz7qgy2z4sn73qw6j55va7d9kw"; + rev = "a61e561966ffd8faa3b48ce5b3a4eec10c59708b"; + sha256 = "0w98ii2ny57al94a4h927xx1hn99df5if543v2gh36zqdlwc7xci"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c62867eae1a254eb5fe820d4387dd4e8a0ff9be2/recipes/octicons"; @@ -44186,15 +46204,36 @@ license = lib.licenses.free; }; }) {}; + octo-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "octo-mode"; + version = "20161008.529"; + src = fetchFromGitHub { + owner = "cryon"; + repo = "octo-mode"; + rev = "bd4db7e5e3275b24c74e6a23c11d04f54e9feca5"; + sha256 = "1blr664h8bq8bs1wr82nhhb9y7ggrlxp6x203i5bv542zm4a5rba"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/899ec190515d33f706e5279c8e3628514f733a12/recipes/octo-mode"; + sha256 = "1xvpykdrkmxlk302kbqycasrq89f72xvhqlm14qrcd2lqnwhbi07"; + name = "octo-mode"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/octo-mode"; + license = lib.licenses.free; + }; + }) {}; octopress = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "octopress"; - version = "20160731.1150"; + version = "20161222.343"; src = fetchFromGitHub { owner = "aaronbieber"; repo = "octopress.el"; - rev = "4624d8d58f1d571372827af20bddf55d2c97a36f"; - sha256 = "1d32ba8vpi6ladqzfnglizwj4w0jay57cwx4hkz3hizrsc7f4992"; + rev = "85bab12adbd985767233eb1622c4b8f7c1fe7e1a"; + sha256 = "012g0mf8g602f53x3bc35ahy4bq31s3m7cv13hm46zj8syvdckvq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7205d3d43797755077f19f57f531b4b39e77bae3/recipes/octopress"; @@ -44252,12 +46291,12 @@ olivetti = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "olivetti"; - version = "20160823.244"; + version = "20160912.1758"; src = fetchFromGitHub { owner = "rnkn"; repo = "olivetti"; - rev = "d2c54acf566a9ee38021261f7d8f43a94c9eee8c"; - sha256 = "1rh6vi2vi50zkmcd5jyfnhhsdrfn6l9abd43l8ppgr3k93l3m5bl"; + rev = "de2716cfb1f4dc82a08093cdd00200e9bb1f07ef"; + sha256 = "0gfjrfhmjvq2zkyp0bgxymdv6r7p4x40aicvv1r61z29nz4dbyn2"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/697334ca3cdb9630572ae267811bd5c2a67d2a95/recipes/olivetti"; @@ -44420,12 +46459,12 @@ omnisharp = callPackage ({ auto-complete, cl-lib ? null, csharp-mode, dash, fetchFromGitHub, fetchurl, flycheck, json ? null, lib, melpaBuild, popup, s }: melpaBuild { pname = "omnisharp"; - version = "20151210.1114"; + version = "20160920.2343"; src = fetchFromGitHub { owner = "OmniSharp"; repo = "omnisharp-emacs"; - rev = "725796278fa8a391e244f2e50676dd6d6b67585d"; - sha256 = "1iq8yzjv7wb0jfi3lqqyx4n7whvb7xf8ls0q0w7pgsrsslrxbwcm"; + rev = "e7eaa1202486f996121cc0ef17a8d72b915c8165"; + sha256 = "1f66k2l996vzf5rm2scyz4bv1cyn365a8yfh1cfq13vrmvah57xb"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/68bdb7e0100e120b95e9416398127d83530a221d/recipes/omnisharp"; @@ -44450,12 +46489,12 @@ omtose-phellack-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "omtose-phellack-theme"; - version = "20160820.812"; + version = "20161111.1320"; src = fetchFromGitHub { owner = "franksn"; repo = "omtose-phellack-theme"; - rev = "2c2da8950d7429e710dc785c92d38fe9ba254a4b"; - sha256 = "0zzj1kjzqdjjvgm5yq44fyh4gb8gqkx9wjzxd0yzz3ihklgz3d09"; + rev = "66f99633e199e65bd28641626435e8e59246529a"; + sha256 = "0imf2pcf93srm473nvaksw5pw5i4caqxb6aqfbq6xww8gdbqfazy"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/478b1e07ed9010408c12598640ec8d154f9eb18d/recipes/omtose-phellack-theme"; @@ -44533,10 +46572,10 @@ }) {}; oneonone = callPackage ({ fetchurl, hexrgb, lib, melpaBuild }: melpaBuild { pname = "oneonone"; - version = "20151231.1541"; + version = "20170101.1104"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/oneonone.el"; - sha256 = "05njigqi9061d34530d76kwsdzqgk9qxnwhn9xis64w59f5nzf1h"; + sha256 = "04jjdfbn8ah3gk4fpc56il8j4q52l9raxkbkxivqn440as7nkrn4"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/oneonone"; @@ -44570,15 +46609,36 @@ license = lib.licenses.free; }; }) {}; + open-in-msvs = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "open-in-msvs"; + version = "20160928.1103"; + src = fetchFromGitHub { + owner = "evgeny-panasyuk"; + repo = "open-in-msvs.el"; + rev = "488c4adb3ad89676472507dae89b1687e43a07df"; + sha256 = "0s6qc7hn6q89nqyra633hvpx4gfas5dwrcjg7ykc306xh72ywnm3"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/09a462fac31a7ceda4ee84a8550ff1db6d11140f/recipes/open-in-msvs"; + sha256 = "0cng0brxjdriyhwsbn85pfrgqg56chzk24lvkx91rzgz15fbpnv5"; + name = "open-in-msvs"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/open-in-msvs"; + license = lib.licenses.free; + }; + }) {}; open-junk-file = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "open-junk-file"; - version = "20160514.1525"; + version = "20161210.314"; src = fetchFromGitHub { owner = "rubikitch"; repo = "open-junk-file"; - rev = "249e0b39208224f540c982fc13d35dc7f4628891"; - sha256 = "0r5rsghqgy99jwjf3dqkw1q10smsvs242aafmz142l4ipsqr3gi3"; + rev = "558bec7372b0fed4c4cb6074ab906535fae615bd"; + sha256 = "0kcgkxn5v9bsbkcvpjxjqhj1w3c29bfb33bmiw32gzbfphmrvhh1"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f8e4328cae9b4759a75da0b26ea8b68821bc71af/recipes/open-junk-file"; @@ -44612,19 +46672,40 @@ license = lib.licenses.free; }; }) {}; + opener = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request }: + melpaBuild { + pname = "opener"; + version = "20161207.1010"; + src = fetchFromGitHub { + owner = "0robustus1"; + repo = "opener.el"; + rev = "c384f67278046fdcd220275fdd212ab85672cbeb"; + sha256 = "0gci909a2rbx5i8dyzyrcddwdic7nvpk6y6djvn521yaag4sq87h"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/c5a448f1936f46176bc2462eb03955a0c19efb9e/recipes/opener"; + sha256 = "0fhny4m7x19wnlnr19s4rkl04dkx95yppd51jzrkr96xiznw97s7"; + name = "opener"; + }; + packageRequires = [ cl-lib emacs request ]; + meta = { + homepage = "https://melpa.org/#/opener"; + license = lib.licenses.free; + }; + }) {}; opensource = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info, request, s }: melpaBuild { pname = "opensource"; - version = "20160802.303"; + version = "20160926.916"; src = fetchFromGitHub { - owner = "nlamirault"; - repo = "opensource.el"; - rev = "27d06be45c852e84e47c33cbd0f4c344fd9a0370"; - sha256 = "1rjf78vki4xp8y856v95877093p3zgfc9mx92npscsi1g93dxn80"; + owner = "OpenSourceOrg"; + repo = "el-opensourceorg"; + rev = "42742d5f1b9590acff7f05ee0094e3a80f4f7171"; + sha256 = "0z92l9d3q12qlf18v7w8qjiw0ciha9l1nvxr0zmik5ck87qk4vmn"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/b9925f059f0caf0550a747d1f07e043e9d854f77/recipes/opensource"; - sha256 = "0ha5xva27xf6af9yhxpmnkyp26jzia7fkbkqx5qv0cwmicapccfk"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/ec4255a403e912a14a7013ea96f554d3588dfc30/recipes/opensource"; + sha256 = "17gi20s2vi7m75qqaff907x1g8ja5ny90klldpqmj258m2j6a6my"; name = "opensource"; }; packageRequires = [ dash pkg-info request s ]; @@ -44760,12 +46841,12 @@ org-attach-screenshot = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "org-attach-screenshot"; - version = "20160529.737"; + version = "20160928.258"; src = fetchFromGitHub { owner = "dfeich"; repo = "org-screenshot"; - rev = "e1b1eaadf3cdcac04d41156bbfb82b6622ce76e0"; - sha256 = "19axpybfdsnaj04h0mxpahzqa5r5yl5mmczd3mx5r6mnr6dgrwn9"; + rev = "1aabac1a2885d31a3d862cbeb31a635c3d68b9ab"; + sha256 = "04fylcv782sl00g5y30hjcg9z8q00lkzf89wq9g9za6dx013z33q"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f545cd8d1da39e7fbd61020e178de30053ba774b/recipes/org-attach-screenshot"; @@ -44799,15 +46880,36 @@ license = lib.licenses.free; }; }) {}; + org-babel-eval-in-repl = callPackage ({ emacs, eval-in-repl, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "org-babel-eval-in-repl"; + version = "20161120.1243"; + src = fetchFromGitHub { + owner = "diadochos"; + repo = "org-babel-eval-in-repl"; + rev = "1e3189e2da14c1c2a2b793c6563597c1aa7d1122"; + sha256 = "0vf77wc1pq9dfqkrnagkxfg7klwyaichms492jsp0dh5warnw7hm"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/042745d47c379778195ed798ca5e0130e4877271/recipes/org-babel-eval-in-repl"; + sha256 = "00x4idm9a5ddng74axm4xjnw7z89qv3yav8j8rw2z1jf5cgbgah6"; + name = "org-babel-eval-in-repl"; + }; + packageRequires = [ emacs eval-in-repl ]; + meta = { + homepage = "https://melpa.org/#/org-babel-eval-in-repl"; + license = lib.licenses.free; + }; + }) {}; org-beautify-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "org-beautify-theme"; - version = "20160829.2146"; + version = "20161019.1524"; src = fetchFromGitHub { owner = "jonnay"; repo = "org-beautify-theme"; - rev = "26f5ce5769d8d1848f331c6076b7b6ad1a162f08"; - sha256 = "1d64ihrcy13gr7xj0nzajxjgqzlp7j699yd225aii5fjn740njiy"; + rev = "7b7a7cbd4f25f77e8bd81783f517b2b182220fd9"; + sha256 = "0nqw4apv642vqbjjqbi960zim9lkbnaszrlasf25c9fnzdg1m134"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f55f1ee9890f720e058401a052e14c7411252967/recipes/org-beautify-theme"; @@ -44820,6 +46922,27 @@ license = lib.licenses.free; }; }) {}; + org-board = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "org-board"; + version = "20170103.239"; + src = fetchFromGitHub { + owner = "scallywag"; + repo = "org-board"; + rev = "55c52745f6f156062a7187795b6b0c6aaa1f1e2b"; + sha256 = "0ca8lbm5gzcmpzwnghs0f8klxrz5sy1brw78h7rhpv4rdwfw1ji5"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/d8063ee17586d9b1e7415f7b924239826b81ab08/recipes/org-board"; + sha256 = "00jsrxc8f85cvrh7364n7337frdj12yknlfp28fhdgk2ph6d7bp4"; + name = "org-board"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/org-board"; + license = lib.licenses.free; + }; + }) {}; org-bookmark-heading = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "org-bookmark-heading"; @@ -44827,8 +46950,8 @@ src = fetchFromGitHub { owner = "alphapapa"; repo = "org-bookmark-heading"; - rev = "6283c3459ab2f1afe54548d83e3200c53546c73e"; - sha256 = "00nz9wmz1xhh6qg51mxr1d05j2ndnqc4f5w8hjc4148iiwkk4ymg"; + rev = "6c8aad7bf98387875836873040e7815d8720ba84"; + sha256 = "0hhw9w5aj8rbfrifpr4djppif5hwgzdb3x1az4gdwvc2dsgd8psf"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/eaadbd149399c6e3c48ac5cbeedeb29a3f5791f1/recipes/org-bookmark-heading"; @@ -44967,6 +47090,48 @@ license = lib.licenses.free; }; }) {}; + org-clock-csv = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "org-clock-csv"; + version = "20160906.1047"; + src = fetchFromGitHub { + owner = "atheriel"; + repo = "org-clock-csv"; + rev = "62acbb8673cafc9db00fde7ea1804cde6a781cd0"; + sha256 = "16gq2yyjzfyra0gzabcd9pclickqy4hal0kgx2xmdfxpxchfk0gs"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/e023cb898699f76f6c3d9ffe8162aacfc6a8c34f/recipes/org-clock-csv"; + sha256 = "02spjrzdf1kmvyvqkzg7nnmq9kqv75zwxn5ifqmg0f7a1gw28f0l"; + name = "org-clock-csv"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/org-clock-csv"; + license = lib.licenses.free; + }; + }) {}; + org-clock-today = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "org-clock-today"; + version = "20161014.220"; + src = fetchFromGitHub { + owner = "mallt"; + repo = "org-clock-today-mode"; + rev = "02b8fd541a01040405a9a1400c46dcb68b7c2a3a"; + sha256 = "1gbkrgbpsrwkjd199giffim8jvx1n4dqrsyk53sz1swj9dlhxgp9"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/1ddf5992be3677ef94ceac1ec6d3f90f520c7be9/recipes/org-clock-today"; + sha256 = "0vnpkxlag5h793vw74l1ys6i2v87f5khvjrqbm3wzwmyc08vdz1q"; + name = "org-clock-today"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/org-clock-today"; + license = lib.licenses.free; + }; + }) {}; org-commentary = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }: melpaBuild { pname = "org-commentary"; @@ -45033,12 +47198,12 @@ org-dashboard = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "org-dashboard"; - version = "20150812.302"; + version = "20160929.941"; src = fetchFromGitHub { owner = "bard"; repo = "org-dashboard"; - rev = "b523aefb5822c1f09a70bc429579c2959929782b"; - sha256 = "1nqfi139cag3ll8wxk8rh59hay97vi8i0mlgnams4jla285zydj5"; + rev = "f9cd3b979166a3713aea48b1a1e6aaea2e7c7a05"; + sha256 = "1n78775h5mvqki2idkbwais37g2alblz1fzrsrgr3vvcd83g3i98"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/11ce0ba772672d9cbae5713ebaf3798eec5fdb3c/recipes/org-dashboard"; @@ -45054,12 +47219,12 @@ org-doing = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "org-doing"; - version = "20160705.851"; + version = "20161017.920"; src = fetchFromGitHub { owner = "omouse"; repo = "org-doing"; - rev = "a79b5ef87c5e7452f29770721fe961c7110d16f5"; - sha256 = "1jmwwid3y8g9jihjvb91i0ch39zw0hbaylgmnzgghpqipkif9pmk"; + rev = "4819e75c827c2115bd28f3b3148d846aa64ccd9b"; + sha256 = "0pb7ljysh8ap572f9y813js6lvvac4kjky2a5r39hv28px33hmx5"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4c497b87e14ab614c963f4b2f041bc0111b6e936/recipes/org-doing"; @@ -45096,12 +47261,12 @@ org-download = callPackage ({ async, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "org-download"; - version = "20160814.237"; + version = "20161228.633"; src = fetchFromGitHub { owner = "abo-abo"; repo = "org-download"; - rev = "ec2dc69b7a49054bc0d34c6533cdcadba708db67"; - sha256 = "1fdzn8qfhalk15g5cfyywi99wmmgx6ck6b24zsgsr38jphcih0k1"; + rev = "f99f884c47586ac8689b11c20eb95b2976c74d7c"; + sha256 = "0w43bf9q6fhrakzlvncr8nwj6sar4cp022mfcim24jjhxk383vl3"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/edab283bc9ca736499207518b4c9f5e71e822bd9/recipes/org-download"; @@ -45177,6 +47342,27 @@ license = lib.licenses.free; }; }) {}; + org-easy-img-insert = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "org-easy-img-insert"; + version = "20160915.1308"; + src = fetchFromGitHub { + owner = "tashrifsanil"; + repo = "org-easy-img-insert"; + rev = "9f8aaa7f68ff1f0d8d7b1e9b618abb15002f971e"; + sha256 = "1p0hzfzlcdmd8d01a4xqg27n7qcnv7a03n8wiicv0dnicx179952"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/512db70609fc451972405acb4b186a9b3c6944fa/recipes/org-easy-img-insert"; + sha256 = "0gpb9f66gn8dbhwrlw7z2a5rpphbh1fv845wz8yy4v7nv2j3sf54"; + name = "org-easy-img-insert"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/org-easy-img-insert"; + license = lib.licenses.free; + }; + }) {}; org-ehtml = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, web-server }: melpaBuild { pname = "org-ehtml"; @@ -45201,12 +47387,12 @@ org-elisp-help = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, org }: melpaBuild { pname = "org-elisp-help"; - version = "20130423.1545"; + version = "20161121.1655"; src = fetchFromGitHub { owner = "tarsius"; repo = "org-elisp-help"; - rev = "df319441e528a0cad42d29e71fc3547a61dde1c5"; - sha256 = "0va8wm319vvw7w0j102mx656icy3fi4mz3b6bxira6z6xl9b92s0"; + rev = "3e33ab1a2933dd7f2782ef91d667a37f12d633ab"; + sha256 = "088pbafz1x4z7qi70cjbrvfrcdrjp4zy0yl115klbidshqhxycmj"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b0a9bf5046a4c3be8a83004d506bd258a6f7ff15/recipes/org-elisp-help"; @@ -45219,6 +47405,27 @@ license = lib.licenses.free; }; }) {}; + org-evil = callPackage ({ dash, evil, fetchFromGitHub, fetchurl, lib, melpaBuild, monitor, org }: + melpaBuild { + pname = "org-evil"; + version = "20161029.222"; + src = fetchFromGitHub { + owner = "GuiltyDolphin"; + repo = "org-evil"; + rev = "5349f4f50d8b16ac4d38ef70a2a7562632e193cc"; + sha256 = "112rr4cwldwnwhg0qdq6khfl41azxp0c4j5l4il06560s6h7dmjq"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/17a4772d409aa5dbda5fb84d86c237fd2653c70b/recipes/org-evil"; + sha256 = "0wvd201k9b9ghg39rwbah6rw8b7hyyd27vvqjynjwbk3v8rp5zyn"; + name = "org-evil"; + }; + packageRequires = [ dash evil monitor org ]; + meta = { + homepage = "https://melpa.org/#/org-evil"; + license = lib.licenses.free; + }; + }) {}; org-fstree = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }: melpaBuild { pname = "org-fstree"; @@ -45242,12 +47449,12 @@ org-gcal = callPackage ({ alert, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org, request-deferred }: melpaBuild { pname = "org-gcal"; - version = "20160805.2144"; + version = "20161115.357"; src = fetchFromGitHub { owner = "myuhe"; repo = "org-gcal.el"; - rev = "4a5c9eb487b3206771bac0ef2016492af628fc3a"; - sha256 = "1lhy8cjzz2bkw2g0ihvh6yxaavg4g3zrvnzlqi9p2y0lcw1w65lr"; + rev = "5d3cfb2cfe3a9cd8b504d4712a60840d4df17fe6"; + sha256 = "0hjiza2p7br5wkz1xas2chlzb2d15c3fvv30232z0q5ax9w428m0"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1c2d5bd8d8f2616dae19b9232d9442fe423d6e5e/recipes/org-gcal"; @@ -45267,8 +47474,8 @@ src = fetchFromGitHub { owner = "NicolasPetton"; repo = "org-gnome.el"; - rev = "1012d47886cfd30eed25b73d9f18e475e0155f88"; - sha256 = "0b57ik05iax2h3nrj96kysbk4hxmxlaabd0n6lv1xsayrlli3sj1"; + rev = "122e14cf6f8104150a65246a9a7c10e1d7939862"; + sha256 = "0jd5zwykc6fkkaj8qhg7wgmrjn47054x242b5s03w8ylyczqbcg3"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4f7ebd2d2312954d098fe4afd07c3d02b4df475d/recipes/org-gnome"; @@ -45365,22 +47572,22 @@ license = lib.licenses.free; }; }) {}; - org-jira = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + org-jira = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request }: melpaBuild { pname = "org-jira"; - version = "20160821.1939"; + version = "20161220.2046"; src = fetchFromGitHub { - owner = "baohaojun"; + owner = "ahungry"; repo = "org-jira"; - rev = "da3c987fc078ea142632bf9f050adcac719f9a9d"; - sha256 = "0zkabdqjkazcl6y4yn5c1lrhw3qny8dm51mjf18pfcfvz8fmr13c"; + rev = "6330511011b7fe8ee04300e82f090ce3efd3b100"; + sha256 = "18kwiwmq95pf8w07xl3vh2xhlkwnv53b4n6h0xq2fqprkh8n6f0l"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/d83f6897d422f81eef83933c49d82fc5db1d1ae3/recipes/org-jira"; - sha256 = "11h7kbkf38p2xycw8hvabpaacp72xdgy8c7kzcgjb2a8qlbs5ifm"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/730a585e5c9216a2428a134c09abcc20bc7c631d/recipes/org-jira"; + sha256 = "0dvh9k0i75jxyy3v01c4cfyws8ij6718hsivi2xyrgig7pwp16ib"; name = "org-jira"; }; - packageRequires = []; + packageRequires = [ cl-lib emacs request ]; meta = { homepage = "https://melpa.org/#/org-jira"; license = lib.licenses.free; @@ -45389,12 +47596,12 @@ org-journal = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "org-journal"; - version = "20160624.23"; + version = "20161024.46"; src = fetchFromGitHub { owner = "bastibe"; repo = "org-journal"; - rev = "51aec969cc0dc8e0c81220f020d643861d2f5c9b"; - sha256 = "0j3z2imv5w6cndnxdyy0pf9la6qxbgwdwr7vr8mr47frqpjb4i63"; + rev = "c5c8724ca987da77446161c0400d444ebd5bd983"; + sha256 = "17pjhs6x2qnqrag56f7rgnraydl6nbz6y21hj981zsjy3mv899hs"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/org-journal"; @@ -45455,8 +47662,8 @@ version = "20140107.519"; src = fetchgit { url = "git://orgmode.org/org-mode.git"; - rev = "fb517fabc0c1790b6b0dd3630f40919a5e7a87ef"; - sha256 = "1l1s2qhykpzn1fil5qsvpw8iabf07lbbymn48lgbqd96fvx0lls6"; + rev = "d0d05e5df122b27148545f2d7c92e2c8345b9c83"; + sha256 = "0x34f34myhgldp0cn6grp54jx91lw4cd574blfqiv609c14lw5qq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ee69e5e7b1617a29919d5fcece92414212fdf963/recipes/org-mac-iCal"; @@ -45472,11 +47679,11 @@ org-mac-link = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }: melpaBuild { pname = "org-mac-link"; - version = "20160109.1443"; + version = "20161126.239"; src = fetchgit { url = "git://orgmode.org/org-mode.git"; - rev = "fb517fabc0c1790b6b0dd3630f40919a5e7a87ef"; - sha256 = "1l1s2qhykpzn1fil5qsvpw8iabf07lbbymn48lgbqd96fvx0lls6"; + rev = "d0d05e5df122b27148545f2d7c92e2c8345b9c83"; + sha256 = "0x34f34myhgldp0cn6grp54jx91lw4cd574blfqiv609c14lw5qq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b86c666ee9b0620390a250dddd42b17cbec2409f/recipes/org-mac-link"; @@ -45576,12 +47783,12 @@ org-page = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, git, ht, htmlize, lib, melpaBuild, mustache, org, simple-httpd }: melpaBuild { pname = "org-page"; - version = "20160626.108"; + version = "20161121.2129"; src = fetchFromGitHub { owner = "kelvinh"; repo = "org-page"; - rev = "0dc3cafc02d2fdb0e05b8da6c75e2ee8b68fc290"; - sha256 = "0jh296mndk5xpqzfiwf41vyc1ys9bfjmfyzpbalkmwyy95inl52p"; + rev = "bef1e2fbcb60e85b3d27887fb0c6c988a18a0b59"; + sha256 = "1yhy98rg7zqj91hkabkf00mzgzk9cb5mvp5mad09gfy9ijkkm6sg"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/872f163d4da58760009001472e2240f00d4d2d89/recipes/org-page"; @@ -45603,39 +47810,18 @@ license = lib.licenses.free; }; }) {}; - org-pandoc = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: - melpaBuild { - pname = "org-pandoc"; - version = "20130729.1850"; - src = fetchFromGitHub { - owner = "robtillotson"; - repo = "org-pandoc"; - rev = "84b5df1f5516704540e19e048e18f437dc090a7d"; - sha256 = "022qqas919aziq4scs5j1wdbvd0qyw8kkirn2vzfb5k2fjl8z7iq"; - }; - recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/d2952138e5c4d0a075925ed2ee17daf941deaee2/recipes/org-pandoc"; - sha256 = "1r6j6rkwfv7fv7kp73gh1bdz3y5ffwk5f2wyv4mpxs885cfbsm8v"; - name = "org-pandoc"; - }; - packageRequires = []; - meta = { - homepage = "https://melpa.org/#/org-pandoc"; - license = lib.licenses.free; - }; - }) {}; org-password-manager = callPackage ({ fetchgit, fetchurl, lib, melpaBuild, org, s }: melpaBuild { pname = "org-password-manager"; - version = "20160430.1851"; + version = "20161226.1624"; src = fetchgit { - url = "https://git.leafac.com/leafac/org-password-manager"; - rev = "5dffcd5f7d7f1852fdd31a193bea5c70ea130082"; - sha256 = "023xsyvppq771yvxd9kqhn9lffhr83sfb0h9g405ayfjys94m2xd"; + url = "https://git.leafac.com/org-password-manager"; + rev = "a187227f1c6760073a8a62328249d13c2c04f9e8"; + sha256 = "1n732cqxfddm1mx386920q14fl2y4801zy2a87mhq07qlrmshszc"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/5a8ee7c233b8dca97fd7a4a0527657050714286e/recipes/org-password-manager"; - sha256 = "021yhp417b9c8cjh8ynmz2fqyplpr2qvc0djxf74kd8lhn4pl397"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/02ef86ffe6923921cc1246e51ad8db87faa00ecb/recipes/org-password-manager"; + sha256 = "0n07k2nng3zkrcif85f1r2g2l4vha78lmrdnj590axn7l5q5fidm"; name = "org-password-manager"; }; packageRequires = [ org s ]; @@ -45647,12 +47833,12 @@ org-pdfview = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, org, pdf-tools }: melpaBuild { pname = "org-pdfview"; - version = "20160125.1254"; + version = "20161130.1053"; src = fetchFromGitHub { owner = "markus1189"; repo = "org-pdfview"; - rev = "569b22197f2a5a08e7be7198c4d871f29559811f"; - sha256 = "16z44kdsg8w1p27fsi72k8wqr35xbb0777rq7h7swv6j2jn1b6hc"; + rev = "9de96eef6f187a10cd910e3bc3eb274d38856819"; + sha256 = "0lrcj3mcdfcdrndivhj5ds386zrsy78sfg0i8126wwwc5lfh48vq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/aadf708e55ddfe13d93d124681a5e6f97a690d79/recipes/org-pdfview"; @@ -45668,12 +47854,12 @@ org-pomodoro = callPackage ({ alert, cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "org-pomodoro"; - version = "20160725.349"; + version = "20161119.226"; src = fetchFromGitHub { owner = "lolownia"; repo = "org-pomodoro"; - rev = "a6d867865f1a033fb5a09cca6643045d7ebac49c"; - sha256 = "0r5shgikm34d66i2hblyknbblpg92lb2zc9x4bcb28xkh7m9d0xv"; + rev = "4b1d650b8d0b607a616a8c792da428334fe635f7"; + sha256 = "0z613daq1r4l0bfn9h8h69dcpczhnsgc653v0753jahmcj0hrqx6"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e54e77c5619b56e9b488b3fe8761188b6b3b4198/recipes/org-pomodoro"; @@ -45707,15 +47893,36 @@ license = lib.licenses.free; }; }) {}; + org-preview-html = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }: + melpaBuild { + pname = "org-preview-html"; + version = "20160913.526"; + src = fetchFromGitHub { + owner = "lujun9972"; + repo = "org-preview-html"; + rev = "2b6afbaf1fcf781bcd53074ee62895f15f5282e5"; + sha256 = "1cr68gn093q7vvkald2gwcxns2ypqxhc5vavjj1j81ijrh1y1h2w"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/9d433daa1a3b95646f3957ba58c49db2a6da2768/recipes/org-preview-html"; + sha256 = "0nf8xbqc9q2ppkjplynhfqvsms97w68afxq4rarspzddn881z7nj"; + name = "org-preview-html"; + }; + packageRequires = [ emacs org ]; + meta = { + homepage = "https://melpa.org/#/org-preview-html"; + license = lib.licenses.free; + }; + }) {}; org-projectile = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, projectile }: melpaBuild { pname = "org-projectile"; - version = "20160822.2123"; + version = "20161205.1508"; src = fetchFromGitHub { owner = "IvanMalison"; repo = "org-projectile"; - rev = "a3c95858fc4bbc7b38f4e7253979942118f0a2ed"; - sha256 = "0k3r78nx0gd8azcam1lzrjkxlsv0a6dzbscij8prdj1l7j9r2mxm"; + rev = "e2b78ca7fbd2e3b873d3ab9bb7196be4d7613f92"; + sha256 = "03zy2bb1ha22xpx29d8610yrqfyaiaa8vgplpx6bmixaw85mcv58"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3dde8c06c968d4375926d269150a16b31c3a840e/recipes/org-projectile"; @@ -45752,12 +47959,12 @@ org-random-todo = callPackage ({ alert, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "org-random-todo"; - version = "20160208.426"; + version = "20161018.219"; src = fetchFromGitHub { owner = "unhammer"; repo = "org-random-todo"; - rev = "27ed9f3878736f0e12a076db8e1658964e46257b"; - sha256 = "06apaa8pjrw14g2gyjpxjd6bjv1w0md4vl5jx78krcyr0bcc08mx"; + rev = "10293cc751b13ef13ebdacb22968b4ffdcadb163"; + sha256 = "1fjlrs12kwybpx9zqrvyhalp4macx7v3vw739nd7bqsl1srwwr4f"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/80fad6244ea3e5bdf7f448c9f62374fae45bae78/recipes/org-random-todo"; @@ -45821,12 +48028,12 @@ org-ref = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, helm, helm-bibtex, hydra, ivy, key-chord, lib, melpaBuild, s }: melpaBuild { pname = "org-ref"; - version = "20160830.1546"; + version = "20170101.904"; src = fetchFromGitHub { owner = "jkitchin"; repo = "org-ref"; - rev = "db328ff7a2d42e1f8bde9ae15d43638e16cff5c9"; - sha256 = "0bk6bkaa6c3c2ahyag28aqixkyqwsc23yhc06n89drs9zjv3nrvj"; + rev = "7e69316cb029d46ffb505d78e8b7a5c0ee48d918"; + sha256 = "03n5c5921b142g9an0bfjlymq878mh2ahs0ygaslpsm4n450s4gs"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/550e4dcef2f74fbd96474561c1cb6c4fd80091fe/recipes/org-ref"; @@ -45870,6 +48077,27 @@ license = lib.licenses.free; }; }) {}; + org-review = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "org-review"; + version = "20160906.2237"; + src = fetchFromGitHub { + owner = "brabalan"; + repo = "org-review"; + rev = "058e75b7f28d2ad2390290fe17a63d98ef5ab763"; + sha256 = "1j917zblg5ncls9lbvpzhqal55mx27d3kpvhzvjw2h7x47ji6iym"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/b474cf4f237c28771c48fb770dc88b57193976f0/recipes/org-review"; + sha256 = "1xzhbnd1p2fab2f5xhg4zp06gwk63x8sjlxrfji6hh2p5a6gf6nx"; + name = "org-review"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/org-review"; + license = lib.licenses.free; + }; + }) {}; org-rtm = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, rtm }: melpaBuild { pname = "org-rtm"; @@ -45891,6 +48119,27 @@ license = lib.licenses.free; }; }) {}; + org-seek = callPackage ({ ag, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "org-seek"; + version = "20161216.2102"; + src = fetchFromGitHub { + owner = "stardiviner"; + repo = "org-seek.el"; + rev = "1f51e6634e3b9a6a29d335d0d14370a6ffef2265"; + sha256 = "0aq3af6fd16lm9iirzya6hmc8g48kfp8pc4dx51mgb5d6jjiizkv"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/05a83750e745f16b15cbdf123165a3192363bfd1/recipes/org-seek"; + sha256 = "08l5zl3wk2f632hslcl5fi9ylaml5my6qx481yvdrbi6m8bchkpp"; + name = "org-seek"; + }; + packageRequires = [ ag emacs ]; + meta = { + homepage = "https://melpa.org/#/org-seek"; + license = lib.licenses.free; + }; + }) {}; org-sync = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }: melpaBuild { pname = "org-sync"; @@ -45936,12 +48185,12 @@ org-tfl = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }: melpaBuild { pname = "org-tfl"; - version = "20160407.1440"; + version = "20161120.932"; src = fetchFromGitHub { owner = "storax"; repo = "org-tfl"; - rev = "308251618e215eb78d5436e7412a0c14216fa890"; - sha256 = "1qz1qhd7v6ynmvz7j1xscz85z6zwy9dcarwhbz020l4bk4g9zf94"; + rev = "f0405e3ad62b90ea43489bdd6312adbd77edb9f3"; + sha256 = "0cznw60ivaz42ass35sf9i62x7mf9in6z8kr8wc5i1mb7hafy2hk"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d9e97f2fee577c7e3fb42e4ca9d4f422c8907faf/recipes/org-tfl"; @@ -46020,12 +48269,12 @@ org-tracktable = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "org-tracktable"; - version = "20160621.1127"; + version = "20161118.529"; src = fetchFromGitHub { owner = "tty-tourist"; repo = "org-tracktable"; - rev = "b39fc45a795446b3675dd4a7c809be7bf315901b"; - sha256 = "11q85blkrfs4db0mpgn7wqfrb3ydcw4v2ccy02ba0m5dsign4wbv"; + rev = "8e0e60a582a034bd66d5efb72d513140b7d4d90a"; + sha256 = "1aq7qv5jyc2x2a4iphnzmmsvak6dbi7nwdcf3m8nly8w75vrl5lj"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/57263d996e321f842d0741898370390146606c63/recipes/org-tracktable"; @@ -46111,12 +48360,12 @@ org-vcard = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "org-vcard"; - version = "20151213.2222"; + version = "20161001.2202"; src = fetchFromGitHub { owner = "flexibeast"; repo = "org-vcard"; - rev = "928827c1de3c90045df3ea4fb07db4af9d3b0a22"; - sha256 = "1m2xdp6wfg11wi7s4i675c3m5qancm8bpizcf380r6vmkcdfkrdy"; + rev = "58f83784c580da893c214bd729aae3ab5d285f33"; + sha256 = "122qxg0ji9c7zj52vqlf9d6276w7rdlxg4ippy6dayqs8bhkimbg"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/df860814a09c376c9a6a2c5e7f528bbae29810b2/recipes/org-vcard"; @@ -46150,22 +48399,22 @@ license = lib.licenses.free; }; }) {}; - org-webpage = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, ht, htmlize, lib, melpaBuild, mustache, org, web-server }: + org-webpage = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, ht, htmlize, lib, melpaBuild, mustache, org, simple-httpd }: melpaBuild { pname = "org-webpage"; - version = "20160818.643"; + version = "20161030.100"; src = fetchFromGitHub { owner = "tumashu"; repo = "org-webpage"; - rev = "66670bcfa6ed89cfbe67f144b53b9cf7202613e1"; - sha256 = "1n578x8ysxribmsm9gsg5y4anvq6zl8bypw6qgasnlagb00ppa3d"; + rev = "6a3c80ec00bb16707def17138e4230221511df3a"; + sha256 = "1xr9rkkhijb3af2fqhphz7c869648l1hvf4g6qffi1kmla3djf9x"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1428ef6b2291d415ae2114de123652d9e378398e/recipes/org-webpage"; sha256 = "0ndvv5kw65p5shgg0gn3rpxz3zbxgcpa6an4m4yxms0ma72xw124"; name = "org-webpage"; }; - packageRequires = [ cl-lib dash ht htmlize mustache org web-server ]; + packageRequires = [ cl-lib dash ht htmlize mustache org simple-httpd ]; meta = { homepage = "https://melpa.org/#/org-webpage"; license = lib.licenses.free; @@ -46216,12 +48465,12 @@ org2elcomment = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, org }: melpaBuild { pname = "org2elcomment"; - version = "20160712.2026"; + version = "20161014.2125"; src = fetchFromGitHub { owner = "cute-jumper"; repo = "org2elcomment"; - rev = "0e2733f2eede71abc4586909aaf49e4deaf2df1e"; - sha256 = "0jjqj34k1q37mrqn9l34zdy5xchc3q3lid24xsj754bs7an6s3fg"; + rev = "be67394b675f226b50a1ede46ef9d621d9534c6b"; + sha256 = "1n3fa06nbk7f50cy1c65zfyix46067wxllin16ryi649rx5qklwl"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8af13650de8b4a814832638d4182bf8ce576244c/recipes/org2elcomment"; @@ -46279,12 +48528,12 @@ organic-green-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "organic-green-theme"; - version = "20160811.1539"; + version = "20161222.232"; src = fetchFromGitHub { owner = "kostafey"; repo = "organic-green-theme"; - rev = "e36bea4f8d424a856225639d9195afdc40dadb5d"; - sha256 = "16vc6f0c2ba14fgvplxdxzrdfqagfxgp9apiz5bvbbfs2gb7gphk"; + rev = "dc66586b8581b35a723f68211fb1efeb7f00ffef"; + sha256 = "012s9m3cysnfbr0s2l53inm3k06k7ra8jlp68cdnslhb41az2kp7"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9383ef5f0372724b34f4bb9173ef8ccbb773e19e/recipes/organic-green-theme"; @@ -46321,12 +48570,12 @@ orgit = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, magit, melpaBuild, org }: melpaBuild { pname = "orgit"; - version = "20160801.715"; + version = "20161105.857"; src = fetchFromGitHub { owner = "magit"; repo = "orgit"; - rev = "3747e49964fc4e96c41aa10a5553d7ad609e8f43"; - sha256 = "1x3pdk5wgk4cw9qq2l2d0baidnrjxj1qjdp6ajx7hlmwmxl7c203"; + rev = "adcfef22dc9bfa6503513d0a937bf4b32ad7ab94"; + sha256 = "0f3lqw2b9xr0278s7502sa2hkyhml45j8jpssaicyliz2k1kiyzv"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/73b5f7c44c90540e4cbdc003d9881f0ac22cc7bc/recipes/orgit"; @@ -46342,12 +48591,12 @@ orglink = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }: melpaBuild { pname = "orglink"; - version = "20160606.407"; + version = "20161104.1800"; src = fetchFromGitHub { owner = "tarsius"; repo = "orglink"; - rev = "4e3e6d920a74fd32a57d5722f81293428e9d8a46"; - sha256 = "0yjnnrrcvbsq41dpw8cz8gv6q3jd626y1k4fgzsimyciz9l23w11"; + rev = "50debcf3508d2252bdce35c8822af1b3a81fd2dd"; + sha256 = "1b86c4pyc7cs02lrhnk93gh3czp9wajm17wd9mhszcbdn996rnhz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/be9b8e97cda6af91d54d402887f225e3a0caf055/recipes/orglink"; @@ -46468,12 +48717,12 @@ origami = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "origami"; - version = "20160710.958"; + version = "20160924.218"; src = fetchFromGitHub { owner = "gregsexton"; repo = "origami.el"; - rev = "b571187d68dbfbbc797ac0869c0b3650ad421d00"; - sha256 = "1mranmf55rifh16vb89dfmvknfpilbqr7dvg1w6j373lh22jl2j7"; + rev = "a77d7f16345296bbbccc4f3d0fe45587c3907493"; + sha256 = "13w5mcdxvjzbixbg5kszlqrzrd5l51ddx1z65ir8zjp4xnbf9ysn"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b816be227dfc7330292a50346c4bb37394d3e998/recipes/origami"; @@ -46531,12 +48780,12 @@ osx-dictionary = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "osx-dictionary"; - version = "20160628.111"; + version = "20161207.810"; src = fetchFromGitHub { owner = "xuchunyang"; repo = "osx-dictionary.el"; - rev = "2701c76a641cb3ab3c33a330bf48adfb08e17061"; - sha256 = "10d6mhb541gz042q02ysdazc2vv9wh1m2a9i35akc15978dwd5yv"; + rev = "0e5e5f1b0077a62673855889d529dd4f0cc8f665"; + sha256 = "1zpr50q7i4wg1x7vsj69rh1b8xvk9r0591y4fvvs3a2l1llca2mq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ae4467ad646d663f0266f39a76f9764004903424/recipes/osx-dictionary"; @@ -46552,12 +48801,12 @@ osx-lib = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "osx-lib"; - version = "20160830.1149"; + version = "20160919.1700"; src = fetchFromGitHub { owner = "raghavgautam"; repo = "osx-lib"; - rev = "448dd983427a6130ff5606d3eff4198efedd54da"; - sha256 = "0g7iybibja08babmvdkdhdya97lxxyhywwy5ngis2zh7jkazsy3h"; + rev = "fdbbb41e07ba64d6a09b54bd142a7c7b83bfd09f"; + sha256 = "0n03yca62znrri1pg0cl4xzm4lkmdqyf1p9sm1vfjwlwxk552z5x"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b42ae666e3511752f5138927e7bf7965bd9f7ee5/recipes/osx-lib"; @@ -46577,8 +48826,8 @@ src = fetchFromGitHub { owner = "purcell"; repo = "osx-location"; - rev = "110aee945b53ea550e4debe69bf3c077d940ec8c"; - sha256 = "1csnxpsfnv9lv07kgvc60qx5c33sshmnz60p3qjz7ym7rnjy9b5x"; + rev = "84e9269f6c66e52e8bbe8a0cd55932e7b3e7977e"; + sha256 = "0yixzqx2b5pnc4qs2qas0jm7sxls511x9ahasqizsawcnqd43apg"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8673dafb02a8d70c278bfd2c063f40992defe3a3/recipes/osx-location"; @@ -46762,12 +49011,12 @@ outshine = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, outorg }: melpaBuild { pname = "outshine"; - version = "20160416.846"; + version = "20161024.2158"; src = fetchFromGitHub { owner = "tj64"; repo = "outshine"; - rev = "61b2df38068ebd2fd12452485916eea2914daa3b"; - sha256 = "1smfdfw0swvfbqlxi7nkrgbmfqhs0x47ky6xhgf38la1s6ivh29n"; + rev = "d45a512d149996ca232c0218e2d6b5bc802285a9"; + sha256 = "0f4jb39pd23kszf9wpdmibn3wqgx76y68n1l7jb9y8l47vs519lh"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6dc02a576abb8e115f674a9d896f8bc932b7571b/recipes/outshine"; @@ -46888,12 +49137,12 @@ ox-clip = callPackage ({ fetchFromGitHub, fetchurl, htmlize, lib, melpaBuild, org }: melpaBuild { pname = "ox-clip"; - version = "20160816.507"; + version = "20161106.823"; src = fetchFromGitHub { owner = "jkitchin"; repo = "scimax"; - rev = "c6e287d1de2e85e23b4c39afda97f654ac08aa0e"; - sha256 = "0in2w1wcillq6gf5qyjqprdn2n7bzp612s5zrqhpc9vwz2krzd1d"; + rev = "9dcaf341ef574ecc09585a6eb1bf3846e6fb318b"; + sha256 = "0lznc82nrmx1s7k5xacd6vpx3zv6y11975mspi1adg995ww7b74s"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/222ccf4480395bda8c582ad5faf8c7902a69370e/recipes/ox-clip"; @@ -46909,12 +49158,12 @@ ox-gfm = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ox-gfm"; - version = "20160805.928"; + version = "20160906.1035"; src = fetchFromGitHub { owner = "larstvei"; repo = "ox-gfm"; - rev = "a46628aeb67f4504fea596771bf432be09212b47"; - sha256 = "0j8992d55p54m6v38v9bqy0x8ks13acak4hdgqc9lyx14asrhljx"; + rev = "cc4f3cdb0075d988d4ba3e4c638d97fd0155ab73"; + sha256 = "1wx58j4ffy9sy63nrywjz23yyy4948bjlly0s9sk2yw0lmzvwpa3"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/10e90430f29ce213fe57c507f06371ea0b29b66b/recipes/ox-gfm"; @@ -46972,12 +49221,12 @@ ox-ioslide = callPackage ({ cl-lib ? null, emacs, f, fetchFromGitHub, fetchurl, lib, makey, melpaBuild, org }: melpaBuild { pname = "ox-ioslide"; - version = "20160120.805"; + version = "20161015.638"; src = fetchFromGitHub { owner = "coldnew"; repo = "org-ioslide"; - rev = "746bce18ec534a470ec265a14c1d982ffc3f5d3c"; - sha256 = "0p03xzldz5v8lx3ip2pgll0da00ldfxmhr6r3jahwp6692kxpr6j"; + rev = "6555680be5364c8ddd2bf446865cb1a82adb6b9e"; + sha256 = "05d1bykgj454g0vq2k2sd36pd9hmcwr9a8033dagkqc625h7wj4h"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b960abca4d642c47e640300876eefee1851e6b86/recipes/ox-ioslide"; @@ -46993,16 +49242,16 @@ ox-jira = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, org }: melpaBuild { pname = "ox-jira"; - version = "20160426.553"; + version = "20161026.429"; src = fetchFromGitHub { owner = "stig"; repo = "ox-jira.el"; - rev = "c4b8fd30c3bc48621759c9d128644d2d386e591e"; - sha256 = "0csl9fcfwnpl6x3ld7xrlvgz6gwmgcd15a4zdc570w8vp26ra5k9"; + rev = "1a73ccb857fa5ded871808f0283bd7d727c54f61"; + sha256 = "0zab9dfzjb9qkxisx7a0wrqspf2di5xrap6gb13qxnaknmpavp28"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/6905c43603bc3d64dfd04a5dbb25c9ac78e68631/recipes/ox-jira"; - sha256 = "0bm7i1ambd71xmy1y9jcdh52irgcsziwwb9d3y3rq0pnsqv5cpvp"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/e8a77d9c903acd6d7fdcb53f63384144e85589c9/recipes/ox-jira"; + sha256 = "088ks14d7slgs2qsqp1kkxvqzzhdkwphdvpg27ix686dz1krxxib"; name = "ox-jira"; }; packageRequires = [ org ]; @@ -47011,22 +49260,22 @@ license = lib.licenses.free; }; }) {}; - ox-latex-chinese = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + ox-latex-chinese = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ox-latex-chinese"; - version = "20160513.1728"; + version = "20160928.2153"; src = fetchFromGitHub { owner = "tumashu"; repo = "ox-latex-chinese"; - rev = "7b5d4830858f5d283a5b13479dd7452f1bcc301b"; - sha256 = "1g42aq4iaq40aivncxw663hnsb2768lzc08dmsmk4lq5q9kzcjhg"; + rev = "338b168bac4c44f8f4d212f67a2190a70eacd240"; + sha256 = "1wh0ds7cznnvvh9rg3wsapdhxi8pplimszhzliglgj8sqfyb7kcx"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a679ebaedcb496f915b9338f9d5c003e1389594d/recipes/ox-latex-chinese"; sha256 = "138yprik36jxhm6dnj42gaynqd84w7ya3s0kbnxhbizrfl4n4ck7"; name = "ox-latex-chinese"; }; - packageRequires = [ emacs ]; + packageRequires = [ cl-lib emacs ]; meta = { homepage = "https://melpa.org/#/ox-latex-chinese"; license = lib.licenses.free; @@ -47035,12 +49284,12 @@ ox-mediawiki = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "ox-mediawiki"; - version = "20150923.902"; + version = "20161228.850"; src = fetchFromGitHub { owner = "tomalexander"; repo = "orgmode-mediawiki"; - rev = "973ebfc673dfb4beeea3d3ce648c917b58dcf879"; - sha256 = "0c2m02g6csg5fqizj3zqcm88q7w17kgvgi7swcx4fzz6rixnpsji"; + rev = "9e13392fe88817564f46a7a9f1eadebf54a2c346"; + sha256 = "1x584gbwr1jhbxgzmjr6z801lqzqcaqzypkz25zz2spmh4n8fz9f"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/24244d146306ce965df382c8958c7574c74313f2/recipes/ox-mediawiki"; @@ -47077,12 +49326,12 @@ ox-pandoc = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, ht, lib, melpaBuild, org }: melpaBuild { pname = "ox-pandoc"; - version = "20160702.145"; + version = "20161125.35"; src = fetchFromGitHub { owner = "kawabata"; repo = "ox-pandoc"; - rev = "a66a06fdc0c705f3b55d4d533c5c07097fa2f28a"; - sha256 = "150vhknzjhddwy8fw4p963ship96rbgaapkh4aq1193q8hanspzl"; + rev = "d9cf410096fb27be8eb13b2207697f8530f62abf"; + sha256 = "0c8nfvh9vn850i3minfqvri2py48ycgz3sf5p1l0a3k98s4x4jl3"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/92f89a923d877c9dea9349a5c594209cb716bf18/recipes/ox-pandoc"; @@ -47140,12 +49389,12 @@ ox-reveal = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, org }: melpaBuild { pname = "ox-reveal"; - version = "20160719.28"; + version = "20161027.226"; src = fetchFromGitHub { owner = "yjwen"; repo = "org-reveal"; - rev = "6ee0e547ddf1596496e558d1b7ab78f315f980ec"; - sha256 = "0p71pvsgyri2pgvv208pp7fizqx40asy6m60si9mhlk8smdris72"; + rev = "001567cc12d50ba07612edd1718b86a12e8c2547"; + sha256 = "18rma8smjrskbjyna076zhvx79zs5r5vinb537h8mw13pfxd6cm8"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8bb4024eef5dc4cc3674bbbed9d92f074d533f35/recipes/ox-reveal"; @@ -47161,12 +49410,12 @@ ox-rst = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }: melpaBuild { pname = "ox-rst"; - version = "20160607.1017"; + version = "20161227.1109"; src = fetchFromGitHub { owner = "masayuko"; repo = "ox-rst"; - rev = "958ce46c0eacb6c0dbb6e0f006487af4e01c2298"; - sha256 = "0zwaliskikf2098a3wsqkjk40w9q2afmx33wygwaz7saxgs08jwl"; + rev = "7b6095c53211978c73e1d686cd2d672cf28eb4c3"; + sha256 = "05fb1xflv82600lzlm3icf4vvcfiyh8lmcp0f4w8xybkp0f4kdpc"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3af3905e1ce36397645a54078280852a8a7eb1eb/recipes/ox-rst"; @@ -47242,15 +49491,36 @@ license = lib.licenses.free; }; }) {}; + ox-tufte = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }: + melpaBuild { + pname = "ox-tufte"; + version = "20160926.907"; + src = fetchFromGitHub { + owner = "dakrone"; + repo = "ox-tufte"; + rev = "49d7ea78fde063b407ce6fa57739f90c83500682"; + sha256 = "1hb5s8m8r5nbz2kii1g975m3p4lnfkwraxhd71zhfvagf13wfkxd"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/0e1592b788ef7218cfb4b3da8599b6cd23eef357/recipes/ox-tufte"; + sha256 = "15b7aml9nl1kh8gbc086nb155f5mzlh8dmq41zi9frn6gskzjnfk"; + name = "ox-tufte"; + }; + packageRequires = [ emacs org ]; + meta = { + homepage = "https://melpa.org/#/ox-tufte"; + license = lib.licenses.free; + }; + }) {}; ox-twbs = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ox-twbs"; - version = "20160820.604"; + version = "20161103.1316"; src = fetchFromGitHub { owner = "marsmining"; repo = "ox-twbs"; - rev = "ca98e2c312c6be1165b956f655a4becc89776634"; - sha256 = "0ranapdq6ly5xrqcksisgazwjp5xvydn98qfi8i1b491163704m3"; + rev = "2414e6b1de7deb6dd2ae79a7be633fdccb9c2f28"; + sha256 = "0kd45p8y7ykadmai4jn1x1pgpafyqggwb1ccbjzalxw4k9wmd45f"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3263133ba6dde790a364bad7c96144912971ba2d/recipes/ox-twbs"; @@ -47329,12 +49599,12 @@ package-build = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "package-build"; - version = "20160816.1911"; + version = "20161014.2251"; src = fetchFromGitHub { owner = "melpa"; repo = "package-build"; - rev = "82a19298d1d8669b0e548a1c80dd0ebf3e8a43ed"; - sha256 = "127zn218hwcrk73dnqzps336b2f0jc4k8qvi4a1zxjbnmvsx25xa"; + rev = "9a6824cda477d1bd77d0507b62dcc09ed436b32e"; + sha256 = "1yswi3yqpfm8sjlhcv4phd069vl9rc2ngi5ma6acpah532k4gi1f"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/948fb86b710aafe6bc71f95554655dfdfcab0cca/recipes/package-build"; @@ -47350,12 +49620,12 @@ package-filter = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "package-filter"; - version = "20140105.1426"; + version = "20161121.2319"; src = fetchFromGitHub { owner = "milkypostman"; repo = "package-filter"; - rev = "ba3be37e0ef3972b2d8db7c2f2cb68c460699f12"; - sha256 = "0i7f8ambcrhyqq15xwlk31jjdcii2hr37y45va8m5w6n9mkpz8c6"; + rev = "c8e2531227c02c4c5e9d593f2cdb6a4ab4a6849b"; + sha256 = "001h92jchz6x6pm8bj90law0yzc5xd84f703z7fcwan4k0g1iwl7"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/89312eaf69f3d7ac46647255c847fcb45415e78d/recipes/package-filter"; @@ -47368,6 +49638,27 @@ license = lib.licenses.free; }; }) {}; + package-lint = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "package-lint"; + version = "20161124.1615"; + src = fetchFromGitHub { + owner = "purcell"; + repo = "package-lint"; + rev = "633fbff47fd4872d55d672029300c043e13e966e"; + sha256 = "0mr0yry397777gmvqj3z7b9zy47k3k3ghr03jyjafra4kjm85x00"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/9744d8521b4ac5aeb1f28229c0897af7260c6f78/recipes/package-lint"; + sha256 = "0w7nkj4yz5yqmhr3mr7kxa6aqqfs75m3l2578s39940a5sdzirwy"; + name = "package-lint"; + }; + packageRequires = [ cl-lib emacs ]; + meta = { + homepage = "https://melpa.org/#/package-lint"; + license = lib.licenses.free; + }; + }) {}; package-plus = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "package-plus"; @@ -47410,22 +49701,22 @@ license = lib.licenses.free; }; }) {}; - package-utils = callPackage ({ async, epl, fetchFromGitHub, fetchurl, lib, melpaBuild }: + package-utils = callPackage ({ async, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "package-utils"; - version = "20160627.909"; + version = "20161125.930"; src = fetchFromGitHub { owner = "Silex"; repo = "package-utils"; - rev = "f655efc89ea7675b6cc9990d46a9f48ca6d384b7"; - sha256 = "1q6hpfaj8hfybxmmh1v871arlv8dn77li9vgckcal4l6xf83nvpi"; + rev = "1ad19f3a9de68ae68e6dd2d4dad31532b4de1700"; + sha256 = "04ckdz80paj1dz1q659cgm7hkdh828ckxlch6iq18abr1ijzl8vm"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a1bb884a0299408daa716eba42cb39f79622766c/recipes/package-utils"; sha256 = "02hgh7wg68ysfhw5hckrpshzv4vm1vnm395d34x6vpgl4ccx7v9r"; name = "package-utils"; }; - packageRequires = [ async epl ]; + packageRequires = [ async ]; meta = { homepage = "https://melpa.org/#/package-utils"; license = lib.licenses.free; @@ -47480,8 +49771,8 @@ src = fetchFromGitHub { owner = "onurtemizkan"; repo = "paganini"; - rev = "506e35c9cecfae0f9ccbb7da24d48b9d082a7901"; - sha256 = "16g4crpgskhgfzw8fx2j4ibvpdf8qi7brxbp2nhwijdag12i4wwn"; + rev = "44e3ae4c451f3b380956fea8aef8cca75279746b"; + sha256 = "0p5sml4djwr92s36nx4hd0pjwkfws4px01g0dzip34zabkm3dx4b"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d6fbb609b411df4fe6f66a7afe27eda7d297f140/recipes/paganini-theme"; @@ -47497,12 +49788,12 @@ page-break-lines = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "page-break-lines"; - version = "20160617.2100"; + version = "20161205.2251"; src = fetchFromGitHub { owner = "purcell"; repo = "page-break-lines"; - rev = "67b5928a7f14568baf2716b5741e13659a86b9ea"; - sha256 = "1wp974716ih2cz9kdmdz7xwjy1qnnfzdzlfr9kchknagw8d9nn12"; + rev = "c133848345ceef91e257aab8804c61f31c31b264"; + sha256 = "1d0b2pb2s04l7nkcn7yhrbcm927bsinyiayxn59in7p3mqlcmsnb"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/22b6035987994c11d5e2564862efb1e56848c3b6/recipes/page-break-lines"; @@ -47518,12 +49809,12 @@ pager = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "pager"; - version = "20100330.1131"; + version = "20151201.1720"; src = fetchFromGitHub { owner = "emacsorphanage"; repo = "pager"; - rev = "347e48d150d5e9a1ce2ca33ec12924d5fa89264d"; - sha256 = "1dq5ibz7rx9a7gm9zq2pz4c1sxgrm59yibyq92bvmi68lvf2q851"; + rev = "5c791ed23f1136e04040d6f4bc9b4ca5b6dc919f"; + sha256 = "198zlh7zrql1185b9qjim44a09kbbgs9zyahak9nhv1gxqn7mrdf"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5f2a50f62475639af011c99c6cc38928b74b3b0a/recipes/pager"; @@ -47559,10 +49850,10 @@ }) {}; palette = callPackage ({ fetchurl, hexrgb, lib, melpaBuild }: melpaBuild { pname = "palette"; - version = "20151231.1545"; + version = "20170101.1109"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/palette.el"; - sha256 = "1qnv84y0s437xcsjxh0gs9rb36pydba3qfrihvz5pqs9g9w7m94k"; + sha256 = "0kx41b6axq9ba1mhp7icjq165aklskiq9ddmcn8yrcx480v4gf11"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/palette"; @@ -47578,12 +49869,12 @@ palimpsest = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "palimpsest"; - version = "20130731.821"; + version = "20161029.400"; src = fetchFromGitHub { owner = "danielsz"; repo = "Palimpsest"; - rev = "69fe61494bfd24305bf7e387fa716474918eafa2"; - sha256 = "1kbja107smdjqv82p84jx13jk1410c9vms89p1iy1jvn7s8g9fiq"; + rev = "7f5f43080155c53099f3174cb09684d77924d771"; + sha256 = "1z2acbmxsxfcw5d39zdzhg6l3r24m22nrfrp18j52d4i2jqawjfa"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/14f6d011a0314637a2f4c1b00efa4912e67b7fa4/recipes/palimpsest"; @@ -47620,12 +49911,12 @@ pandoc = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "pandoc"; - version = "20160607.1010"; + version = "20161128.357"; src = fetchFromGitHub { owner = "zonuexe"; repo = "pandoc.el"; - rev = "5f96efe8804cf949de2896fcb3015513275b9118"; - sha256 = "1r1rzaidg3pd8q5alv76drv843hwj9yzkn5hsaf4qnqrkkqwly8y"; + rev = "198d262d09e30448f1672338b0b5a81cf75e1eaa"; + sha256 = "0njc6xlwa8hihyqrk0hs12sb6rs7jma2wpjfr8xsj9p8jld4y359"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d6c21ff09d67fad2658e0de08bc2edb7588c504a/recipes/pandoc"; @@ -47641,12 +49932,12 @@ pandoc-mode = callPackage ({ dash, fetchFromGitHub, fetchurl, hydra, lib, melpaBuild }: melpaBuild { pname = "pandoc-mode"; - version = "20160822.1439"; + version = "20161104.1521"; src = fetchFromGitHub { owner = "joostkremers"; repo = "pandoc-mode"; - rev = "e641d91c2886800871769e8e0e6554d2f8001e79"; - sha256 = "1lv3iiwidlvr6jsldd2s9apir1jzpynii8vp58gxq9kxbm4rzb42"; + rev = "88ad7ea08afae0bf062755bb1e91c5543aac6028"; + sha256 = "0vjxlbm143i9a8pi5v2q82fms8lwf1i24nddxj4a1js2r6mpz15m"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4e39cd8e8b4f61c04fa967def6a653bb22f45f5b/recipes/pandoc-mode"; @@ -47704,12 +49995,12 @@ paradox = callPackage ({ emacs, fetchFromGitHub, fetchurl, hydra, let-alist, lib, melpaBuild, seq, spinner }: melpaBuild { pname = "paradox"; - version = "20160525.736"; + version = "20161117.502"; src = fetchFromGitHub { owner = "Malabarba"; repo = "paradox"; - rev = "9086bd2241f86488e816682af0ef9897569ab31b"; - sha256 = "1vq3xjllgvzwp18mv2y1qydbbl6j1nk58vw7sm99zsf3wdpls465"; + rev = "17a6690d42a1e854ec270ed930c7494077570fc8"; + sha256 = "1vg5i4cxgn4a8cgx43i75w3cf0d8sb6ig6xxxdj3pvpzc81i53bc"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1e6aed365c42987d64d0cd9a8a6178339b1b39e8/recipes/paradox"; @@ -47748,8 +50039,8 @@ src = fetchFromGitHub { owner = "purcell"; repo = "paredit-everywhere"; - rev = "79ecbfc15d2cb338f277f3da50d8e757f07151e9"; - sha256 = "1jkpb67h96sm3fnga9hrg3kwhlp3czdv66v49a9szq174zpsnrgv"; + rev = "94c92095c2096713fb3e2f7662ddd994f4b694c6"; + sha256 = "120m6vs6bb9cav88wpv97kd7s8vvmg6pry6pmf7jk6i7l1wj0iaw"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/593890222d074c6a308eb1b809077c6861e1af30/recipes/paredit-everywhere"; @@ -47807,12 +50098,12 @@ paren-face = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "paren-face"; - version = "20160521.755"; + version = "20161028.1127"; src = fetchFromGitHub { owner = "tarsius"; repo = "paren-face"; - rev = "7b115519d668301633f31a9f3d03b5e36d0541d7"; - sha256 = "0f128gqn170s6hl62n44i9asais75ns1mpvb4l8vzy1sc0v16c0k"; + rev = "0a7cbd65bb578cc52a9dc495a4fcaf23a57507bf"; + sha256 = "0wsnng874dbyikd4dgx2rxmcp0774ix5v29dq372zynq6lamqkl7"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d398398d1d5838dc4985a06515ee668f0f566aab/recipes/paren-face"; @@ -47846,6 +50137,27 @@ license = lib.licenses.free; }; }) {}; + parinfer = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "parinfer"; + version = "20161231.924"; + src = fetchFromGitHub { + owner = "DogLooksGood"; + repo = "parinfer-mode"; + rev = "3d5b8d4a3f7e73f15f816f7555abed09c5516338"; + sha256 = "1w3j0dzi19h1k94gnj1zxx4s1aji91wq4sjwkf813zs7q769mfsp"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/470ab2b5cceef23692523b4668b15a0775a0a5ba/recipes/parinfer"; + sha256 = "05w4w7j6xyj19dm63073amd4n7fw4zm3qnn4x02fk2011iw8fq7i"; + name = "parinfer"; + }; + packageRequires = [ cl-lib dash ]; + meta = { + homepage = "https://melpa.org/#/parinfer"; + license = lib.licenses.free; + }; + }) {}; parse-csv = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "parse-csv"; @@ -47891,12 +50203,12 @@ parsec = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "parsec"; - version = "20160714.1524"; + version = "20161027.1726"; src = fetchFromGitHub { owner = "cute-jumper"; repo = "parsec.el"; - rev = "7e65db0d4f21cd64434adc2a19d250589604531d"; - sha256 = "093gwb8ppgwvaz3jxp48mwj577xkcqckvzgq8cgl1l04si1lkcdc"; + rev = "21f5a117a054d1d21af51b0d92e7fa40b056a7e9"; + sha256 = "1fmsaf4fgg9nkwbrjafvfgsscgspggxbrbg32kpc2db5lcmi6h7y"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/248aaf5ff9c98cd3e439d0a26611cdefe6b6c32a/recipes/parsec"; @@ -47912,12 +50224,12 @@ pass = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, password-store }: melpaBuild { pname = "pass"; - version = "20160821.1136"; + version = "20161111.1320"; src = fetchFromGitHub { owner = "NicolasPetton"; repo = "pass"; - rev = "6093fb0a07a4afdd428c13178e6aef086c24da36"; - sha256 = "114dvh1grsx0xrw2x0l9hiki2vmc8d8grbz1p4cwcq230rcm6q2z"; + rev = "b4c3bd9130044c4e106bac5ba73a50822865e258"; + sha256 = "0na895x91a37wmdpqp545qvjh34d0vfq4dyxji7casdrdhx3bg16"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/428c2d53db69bed8938ec3486dfcf7fc048cd4e8/recipes/pass"; @@ -47978,8 +50290,8 @@ version = "20151027.1449"; src = fetchgit { url = "http://git.zx2c4.com/password-store"; - rev = "0b2f803fe61992af02b8820c400984b1f615a299"; - sha256 = "011sz1rlr7mbsvn1z1kxl3psjv3g2vkbndcim5jnp1wwlc5bibh3"; + rev = "77f1384a6321eef06265ea5e5b11eabdc53ab720"; + sha256 = "0b4qlbrz6g39x1p89lx3xk4h7159jj14rf6mgsyv1fasc7yyxxiz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e204fb4d672220ee1a4a49975fd3999916e60f8c/recipes/password-store"; @@ -48222,6 +50534,27 @@ license = lib.licenses.free; }; }) {}; + pcap-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "pcap-mode"; + version = "20161025.748"; + src = fetchFromGitHub { + owner = "orgcandman"; + repo = "pcap-mode"; + rev = "52780669af0ade136f84d73f21b4dbb7ab655416"; + sha256 = "1v218cjs0qy3ac0rbzm22y1x388nxnf0pslh9jrvlymkn227pjs8"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/44f4cb526556a4b58b7e67314002e73413a59a76/recipes/pcap-mode"; + sha256 = "1p6lnr7yr8i3yp63xc8r1hnx8a4v0mz1s7q89zxx7aprk7i9kpv6"; + name = "pcap-mode"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/pcap-mode"; + license = lib.licenses.free; + }; + }) {}; pcmpl-args = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "pcmpl-args"; @@ -48267,12 +50600,12 @@ pcmpl-homebrew = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "pcmpl-homebrew"; - version = "20160725.1939"; + version = "20161122.1843"; src = fetchFromGitHub { owner = "hiddenlotus"; repo = "pcmpl-homebrew"; - rev = "c202e7ba1e17661b659292f5382831c9ce40939e"; - sha256 = "00mj94jmp5izh6fqnp2g35ksjcr0r7fzjf9xnhglk1yfllg668rj"; + rev = "eaa725fd86a6ea641f78893021d23a426d62e715"; + sha256 = "0yhy6k71sd00kxadladnkpmragpn1l7j3xl6p6385x1whh58vqph"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/pcmpl-homebrew"; @@ -48330,12 +50663,12 @@ pcre2el = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "pcre2el"; - version = "20151213.234"; + version = "20161120.1303"; src = fetchFromGitHub { owner = "joddie"; repo = "pcre2el"; - rev = "166a10472002010692dbc35f323ffb8110a294c5"; - sha256 = "1dpfhrxbaqpgjzac3m9hclbzlnrxq9b8bx6za53aqvml72yzxc6i"; + rev = "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d"; + sha256 = "14br6ad138qx1z822wqssswqiihxiynz1k69p6mcdisr2q8yyi1z"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f04a25e467cc4c7d9a263330a7a1a53d67c6eb9b/recipes/pcre2el"; @@ -48393,12 +50726,12 @@ pdf-tools = callPackage ({ emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild, tablist }: melpaBuild { pname = "pdf-tools"; - version = "20160525.920"; + version = "20161207.521"; src = fetchFromGitHub { owner = "politza"; repo = "pdf-tools"; - rev = "87690b7b568ae6145dfa4ffc9fc085b80ed039fa"; - sha256 = "14h8vybd0lns92mxv045mfcllhq8fj509bvf7i9vr190mxgnxv3s"; + rev = "3ecbbaf1606d23fb1abbefb6d359f47aaf153f84"; + sha256 = "1jn118f3mdz7wb1a58myahj4ir29rwxbfx1595gjcxkkpw0cyw11"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8e3d53913f4e8a618e125fa9c1efb3787fbf002d/recipes/pdf-tools"; @@ -48560,12 +50893,12 @@ perlbrew = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "perlbrew"; - version = "20130127.324"; + version = "20161108.2309"; src = fetchFromGitHub { owner = "kentaro"; repo = "perlbrew.el"; - rev = "30e14a606a08948fde5eafda2cbe1cd4eb83b3f3"; - sha256 = "0wg0cpqxzfgln6xdngzspsbfirn9a5jxpgk66m0fpi33215z9q26"; + rev = "3a3406c3307c92aa30f9400d430925c434a3b6f0"; + sha256 = "0kxz8ljc7w69ywp0bb15010sgrr13i1p05hcvhfr9c35l0n62r6p"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/24bd9c2cd848f5003a244a7127e8fc5ef46bdca4/recipes/perlbrew"; @@ -48581,12 +50914,12 @@ persistent-overlays = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "persistent-overlays"; - version = "20160426.1221"; + version = "20161127.2300"; src = fetchFromGitHub { owner = "mneilly"; repo = "Emacs-Persistent-Overlays"; - rev = "e89a04643dc4532882352888755d9d5e26c46ae4"; - sha256 = "0iw9qsqy1aszwfzfslyxz31zav4xq8pbrx0mwxqix5lvy7768ppp"; + rev = "f563c8b966edc78c9d806661c4eb80e4781c4eab"; + sha256 = "0csllpkpjf4csw3zfaw8k05jg078najfmjz6pz1jcl6b4sxjdfqa"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d3673c87c5ca883b4f713efeae912c3ad991c667/recipes/persistent-overlays"; @@ -48641,15 +50974,36 @@ license = lib.licenses.free; }; }) {}; + persp-fr = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, persp-mode }: + melpaBuild { + pname = "persp-fr"; + version = "20161226.1241"; + src = fetchFromGitHub { + owner = "rocher"; + repo = "persp-fr"; + rev = "ba989ad309c2023d1826e79446908bd1b881a56a"; + sha256 = "1l9yb14sqxxfxzh76yv415ifnmrdi5qqp4m0858drs9wcm9f23pm"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/8e09213dddf003a1275eafb767431a507ecf7639/recipes/persp-fr"; + sha256 = "0p4379yr1b32l8ghq1axyb8qhp28gnq5qxxvbk3mdzgbwwj8y4b2"; + name = "persp-fr"; + }; + packageRequires = [ emacs persp-mode ]; + meta = { + homepage = "https://melpa.org/#/persp-fr"; + license = lib.licenses.free; + }; + }) {}; persp-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "persp-mode"; - version = "20160830.228"; + version = "20161226.518"; src = fetchFromGitHub { owner = "Bad-ptr"; repo = "persp-mode.el"; - rev = "2c559083fa316b97b76e25c491a45aec5f2fe501"; - sha256 = "091k1pnkw4a62di6lj7gkczzpgf2jsxpj3brpfjs8gkcgx07vxsh"; + rev = "1116ead88123a11efef346db0045ee8389250bd2"; + sha256 = "11xncsvzy13xc939qfvlzplsz2izvf16hy45k500h44g2dxcvq3m"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/caad63d14f770f07d09b6174b7b40c5ab06a1083/recipes/persp-mode"; @@ -48749,12 +51103,12 @@ ph = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ph"; - version = "20130312.1137"; + version = "20161029.822"; src = fetchFromGitHub { owner = "gromnitsky"; repo = "ph"; - rev = "ed45c371642e313810b56c45af08fdfbd71a7dfe"; - sha256 = "1qxsc5wyk8l9gkgmqy3mzwxdhji1ljqw9s1jfxkax7fyv4d1v31p"; + rev = "a66e38637d1898b2ec31ee611033ac3f295fd97f"; + sha256 = "10xznvjszn0smn6wf84rykkkiqyzv7xf7fjjyklhll7zphg714mw"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f62ca074ca2df780ab32aac50b2b828ee6a9934c/recipes/ph"; @@ -48959,12 +51313,12 @@ phoenix-dark-pink-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "phoenix-dark-pink-theme"; - version = "20150406.2002"; + version = "20161206.1519"; src = fetchFromGitHub { owner = "j0ni"; repo = "phoenix-dark-pink"; - rev = "314602b2e68c4054159ab3f0f6f6b658f232ada5"; - sha256 = "042yw44d5pwykl177sdh209drc5f17yzhq0mxrf7qhycbjs4h8cg"; + rev = "024a1dae5e12d9c62c67c6ba0bc56d2f8a109c15"; + sha256 = "1sfsf4ds6qvdj5hzzla31s1pvp5acbyxqqpncim2kvgim6sxyrac"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/87e3b036fbcc96b047bbb141345a7b51f19d6951/recipes/phoenix-dark-pink-theme"; @@ -49064,12 +51418,12 @@ php-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "php-mode"; - version = "20160821.1455"; + version = "20161217.537"; src = fetchFromGitHub { owner = "ejmr"; repo = "php-mode"; - rev = "f1cdabf3fb6f1b23652d05f2649a1196f61131f3"; - sha256 = "0j4k3rdw8bb4hgvrg0m50ra0dw0ms0msvpdf79zvrhbdab1yl4rn"; + rev = "3287de50464e908d421e9ad191fe31b8fae89ed3"; + sha256 = "0m3z96n0nnsjisb1cpxcx17z2q1994qvrisnd47fv7sjj3r9g5vi"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7cdbc35fee67b87b87ec72aa00e6dca77aef17c4/recipes/php-mode"; @@ -49127,12 +51481,12 @@ php-scratch = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, php-mode, s }: melpaBuild { pname = "php-scratch"; - version = "20160730.115"; + version = "20161103.1517"; src = fetchFromGitHub { owner = "mallt"; repo = "php-scratch"; - rev = "755ea9dbc21b55329255967def2426a0fcbca597"; - sha256 = "1vnlv2amhh05lj6sxaq4l4hxv1rjjm7sg9j5b04g2dl22jdjv4ww"; + rev = "3aa66d1d53b84b779374edff7a7e6b5f2cd7575d"; + sha256 = "0iyb4y0wrd1yqm56p37riw6nwvrlcgxj1x0nhw8304p8hv76mzdi"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/68336364f6956325a2e03194d7db30747ab7f80c/recipes/php-scratch"; @@ -49169,12 +51523,12 @@ phpunit = callPackage ({ cl-lib ? null, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info, s }: melpaBuild { pname = "phpunit"; - version = "20160808.212"; + version = "20161219.319"; src = fetchFromGitHub { owner = "nlamirault"; repo = "phpunit.el"; - rev = "165ca257d4840c266e1e79e806b4b943b5785fe6"; - sha256 = "1xgjhq1nxj4zfcns0q8a1kdlmqcjrxlblyj9vrspv1qck3akrp3z"; + rev = "791d1b33b63887cdeaf287fa657b8109f9d1dd18"; + sha256 = "0j9ym19pz17wsjh1ky65x9mz8aiiryxbw1nsygvy9isbdzjx591k"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0670b42c0c998daa7bf01080757976ac3589ec06/recipes/phpunit"; @@ -49362,8 +51716,8 @@ src = fetchFromGitHub { owner = "cute-jumper"; repo = "pinyinlib.el"; - rev = "238f27746dafac576f0aa686b37dacfdd2327127"; - sha256 = "0wbdhd3wqha3ahyakdjj4ki3998l0fafi86l26gkir1bq2qpkmcs"; + rev = "457b5ac6611d0f35ff2444e62008c798b45ae368"; + sha256 = "0kxsam8zb1rdw82d4jpa2n9kcdk05iscymgan39izgaa0w422s0r"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f4aa27985dcfaf24f1863667b89e13df4710546f/recipes/pinyinlib"; @@ -49379,12 +51733,12 @@ pip-requirements = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "pip-requirements"; - version = "20160131.926"; + version = "20160930.2032"; src = fetchFromGitHub { owner = "Wilfred"; repo = "pip-requirements.el"; - rev = "a3656a8949c78f3d64b9a13ae3ed868005d82119"; - sha256 = "0j4h6q1s2s9dw1pp22xsajchwg8nh3x4x5qxbzf19i1xbpcghw7h"; + rev = "babe44af1132fb05748c7ee098a4226b9e31eb76"; + sha256 = "0x9kqqi36pvh04x6ng20wz9c47s7pndfawyw0j7yp9i0sgqbc1bh"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5eaf6987f92070ccc33d3e28c6bb2b96f72ba1aa/recipes/pip-requirements"; @@ -49400,12 +51754,12 @@ pivotal-tracker = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "pivotal-tracker"; - version = "20151203.1150"; + version = "20161028.618"; src = fetchFromGitHub { owner = "jxa"; repo = "pivotal-tracker"; - rev = "93f2b45b373bf6972dcc4b16814ef23e1a6c16f5"; - sha256 = "1sbwqrk9nciqwm53sfbq3nr9f9zzpz79dmxs8yp005dk7accdlls"; + rev = "87b4e3cce343519b54a8ff4fef5d7b7745e27c3c"; + sha256 = "08rj1nimxrz5g1gj231f9d6p8al1svvwv1782h8hyxi87fzmw9sw"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/793d86ec68fc10d4f23eca4ffef162e920d9fc42/recipes/pivotal-tracker"; @@ -49467,8 +51821,8 @@ src = fetchFromGitHub { owner = "lunaryorn"; repo = "pkg-info.el"; - rev = "4dbe328c9eced79e0004e3fdcd7bfb997a928be5"; - sha256 = "1xkdbyhz9mgdz5zmjm4hh050klsl12w5lkckw2l77ihcxv0vjnf2"; + rev = "76ba7415480687d05a4353b27fea2ae02b8d9d61"; + sha256 = "150xhsv695cchs5jc2hwk9gjgs0k8wkm966crvxxs6xvj5fg69xq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/73fc80e94c98ff304a521466c6577c96a10e79a8/recipes/pkg-info"; @@ -49502,15 +51856,36 @@ license = lib.licenses.free; }; }) {}; + plain-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "plain-theme"; + version = "20160903.1029"; + src = fetchFromGitHub { + owner = "yegortimoshenko"; + repo = "plain-theme"; + rev = "4210122812df9b5fe375ad35a3b933bf040460a3"; + sha256 = "184rw6pri55mkab8wv2n483zp0cvd6j911abq290pcqw1pgswcgh"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/d7ad3737f081f101500317f7e183be6b1e7e8122/recipes/plain-theme"; + sha256 = "0igncivhnzzirglmz451czx69cwshjkigqvqddj0a77b1cwszfw8"; + name = "plain-theme"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/plain-theme"; + license = lib.licenses.free; + }; + }) {}; plan9-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "plan9-theme"; - version = "20160620.109"; + version = "20161102.1954"; src = fetchFromGitHub { owner = "john2x"; repo = "plan9-theme.el"; - rev = "d87ff625e280c017d0fb6cd3c141ca6dd0bf9c29"; - sha256 = "0ijqgms585jp3b5l95dk30g8yjfffljk8i3rgf71wrdvcsinyicb"; + rev = "6f1aaa35f57fc451e4c06164e74f61e17ce1cacf"; + sha256 = "0cfs7qxz16aiz43pk4dcg3nvhs5r64fgy3476wpy0fac0fm275rl"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cdc4c2bafaa09e38edd485a9091db689fbda2fe6/recipes/plan9-theme"; @@ -49526,12 +51901,12 @@ planet-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "planet-theme"; - version = "20160821.717"; + version = "20161030.1917"; src = fetchFromGitHub { owner = "cmack"; repo = "emacs-planet-theme"; - rev = "4a3517728e009fb025d3f727eec4ea87b876aa2c"; - sha256 = "191cyq2q2ybrpqjb4hlqjlmpahdaxm1cpg1414x7xlnpj45chc1c"; + rev = "b0a310ff36565fe22224c407cf59569986698a32"; + sha256 = "1xdj59skmldq5dnarirhwq4qycipas86nbyqwl8zsv0bh20nl1rs"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/18c4b8311b42af9f914264245f4dd377adcfbd0c/recipes/planet-theme"; @@ -49544,22 +51919,22 @@ license = lib.licenses.free; }; }) {}; - plantuml-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + plantuml-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "plantuml-mode"; - version = "20150531.2331"; + version = "20161225.1142"; src = fetchFromGitHub { - owner = "zwz"; + owner = "skuro"; repo = "plantuml-mode"; - rev = "574f5e79605a028912bb90c03487c80b1db612e7"; - sha256 = "03nw4af1lgfppsbfq945c9pcz6ynhvpzlfdx3az83zi24b10az8n"; + rev = "c7e83c260778467be5f82500a5541ce76da662ac"; + sha256 = "0lf2438ia39idxbz2b7qaagajnlfgf74cgvwppdl53hsy12b421n"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/cad28f1bb83685ca355e230b46f1e0eebe2f7bb1/recipes/plantuml-mode"; - sha256 = "14imiqfgc2j9kjr3aqwzlw8xr1w5hb8i7d4ch709qky036i3lsci"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/a658eb8085f2bf413c276af19c77597132cf569b/recipes/plantuml-mode"; + sha256 = "03srbg34512vxcqn95q4r7h2aqbqq0sd5c9ffnbx2a75vsblqc6h"; name = "plantuml-mode"; }; - packageRequires = []; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/plantuml-mode"; license = lib.licenses.free; @@ -49568,12 +51943,12 @@ platformio-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, projectile }: melpaBuild { pname = "platformio-mode"; - version = "20160327.1820"; + version = "20161210.539"; src = fetchFromGitHub { owner = "ZachMassia"; repo = "PlatformIO-Mode"; - rev = "4b514ea9c82c95cbe8756cbbcac4638b4e2790aa"; - sha256 = "0xiss3c6inz27yf08974mm4wg9dx8rcqqj77zp4rxhyhiqxzv338"; + rev = "1466aed132a77f48fcb31938d64abb1a1e58ec42"; + sha256 = "1lfkp7df8as9gspynkyhz4dbm95kbngyba1ymg6ql67adyv79v1i"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/platformio-mode"; @@ -49593,8 +51968,8 @@ src = fetchFromGitHub { owner = "brocode"; repo = "play-routes-mode"; - rev = "2fa89d0796772714447a93552936f4cb861e8754"; - sha256 = "1yl6hmb4y156lxh809z0h26ybzykdhsc3y0w42jqfpxsnawd6nv6"; + rev = "325ce59b0b3cb27ddbbde9949a16f6a749ffbd3f"; + sha256 = "0jn4mcwaws92lsj5hp67zlx03qwcxbqacy3rigy1b183ksqqf26i"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/740cef8687232eb0e2186e8df956c2d4f39575cf/recipes/play-routes-mode"; @@ -49754,8 +52129,8 @@ version = "20160827.857"; src = fetchgit { url = "git://git.savannah.gnu.org/gettext.git"; - rev = "9c38baf93e46a2223b524f91ff744cff2a0e1157"; - sha256 = "1gghn58k2i887sib2m1agj3d94dm3ac3gr2gxxqyx08cqdm1sxpy"; + rev = "1afbcb06fded2a427b761dd1615b1e48e1e853cc"; + sha256 = "14f150w0zyzfpi7cidrf251q6c5fp3kwxv0hd54bvpmh99f829zc"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9317ccb52cdbaa2b273f8b2e8a598c9895b1cde1/recipes/po-mode"; @@ -49789,6 +52164,27 @@ license = lib.licenses.free; }; }) {}; + podcaster = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "podcaster"; + version = "20161020.835"; + src = fetchFromGitHub { + owner = "lujun9972"; + repo = "podcaster"; + rev = "9854517025deb5d556168a68955fb7b662239f5c"; + sha256 = "06ag0idz7cf6i9kg7kqr03js9b6cw6my1jzd1x3wkgazx5slqk4q"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/2649dc294f40d00f3bf1b1cf09879c2ef0d3e43b/recipes/podcaster"; + sha256 = "1kzac0mhg8dk2vfk29ns36jl8vwg6ghbdb3n6kqfzci5ygn96yib"; + name = "podcaster"; + }; + packageRequires = [ cl-lib ]; + meta = { + homepage = "https://melpa.org/#/podcaster"; + license = lib.licenses.free; + }; + }) {}; point-stack = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "point-stack"; @@ -49873,12 +52269,12 @@ polymode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "polymode"; - version = "20160805.448"; + version = "20161218.1326"; src = fetchFromGitHub { owner = "vspinu"; repo = "polymode"; - rev = "8a39ed6817298508c71f28effb0354a00f2235b4"; - sha256 = "1knms39cd97hkwi3ya6asnzri15fbskqq8zb4ly9ax8a358ryaz3"; + rev = "a29b8a07cc9081bd75114d68fc7afdcef2e5bc94"; + sha256 = "1vsvnia8px35ip13zc94l7nh4201z6z15dzrhfcj6bd0jnbqpxh6"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/polymode"; @@ -49957,12 +52353,12 @@ ponylang-mode = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ponylang-mode"; - version = "20160527.541"; + version = "20161008.1423"; src = fetchFromGitHub { owner = "SeanTAllen"; repo = "ponylang-mode"; - rev = "ed7ccf6d62a06e07eeec7020a931c0af62d8ae4d"; - sha256 = "0ks1g381sx8if93hg6ndsc1lnv1msrd8f7zf8ykk1jrsfy9mn48h"; + rev = "1f4ce183e11f4908173cea16685020f2acb818ae"; + sha256 = "1lxzl5ks4lydn8zzvkc0jz6p1zjz7hfm4fs9dlyjxi6fn2bvj5kw"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7d51adec3c6519d6ffe9b3f7f8a86b4dbc2c9817/recipes/ponylang-mode"; @@ -50104,12 +52500,12 @@ popup-switcher = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, popup }: melpaBuild { pname = "popup-switcher"; - version = "20160622.1024"; + version = "20161130.656"; src = fetchFromGitHub { owner = "kostafey"; repo = "popup-switcher"; - rev = "a17ac13a08119f4164f25514f08556f7ce660ae4"; - sha256 = "1vymgdyzvx0d5i4da9q0x29x8d0lxi084rq68i6gi686x5nhglil"; + rev = "86809fbd3c3c3d566043043b6577ccf8133ac855"; + sha256 = "1r8g3wxyklkck9af1x7rg7hyj8fnf28fd34p12vv17mhnqzb4x4y"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7d1897c4c4a6f4b4527279e6dad976219d7b78/recipes/popup-switcher"; @@ -50188,12 +52584,12 @@ pov-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "pov-mode"; - version = "20120825.716"; + version = "20161114.2343"; src = fetchFromGitHub { owner = "melmothx"; repo = "pov-mode"; - rev = "e60e497f84a310814ccf97b056da77dd0f42394f"; - sha256 = "14silfng5rbdc8hnzswjmqk705pncjlk8iphjcxcm799h44pnlcr"; + rev = "9fc1db3aab7c27155674dd1a87ec62606035d074"; + sha256 = "1399fxivy15y2k4vp7vqqgsi8l1mzxc8aa2mf2x1hksgiyq60acp"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/89d6b4a3d7a5f3cc93e9d13d4c174b5d7de7bad1/recipes/pov-mode"; @@ -50230,12 +52626,12 @@ powerline = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "powerline"; - version = "20160702.1931"; + version = "20161121.2320"; src = fetchFromGitHub { owner = "milkypostman"; repo = "powerline"; - rev = "d3dcfc57a36111d8e0b037d90c6ffce85ce071b2"; - sha256 = "1hp3xp18943n0rlggz55150020ivw8gvi1vyxkr4z8xhpwq4gaar"; + rev = "67538e4dbc2f1d2f270142481eb0b0d24e8cde36"; + sha256 = "0jjv6wszsnrdi5l5qz4d50nj6p6zzyvqmn1j31zlhypbvi05isls"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f805053cd4dd9ed53ee0df17ad69429bc62325bb/recipes/powerline"; @@ -50272,12 +52668,12 @@ powershell = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "powershell"; - version = "20160210.1858"; + version = "20161103.2354"; src = fetchFromGitHub { owner = "jschaf"; repo = "powershell.el"; - rev = "0e51db56fddcafcfe0611142ea939969673c2b58"; - sha256 = "1ym373mjyk3vfbw2c918zgaf9m35j8bkrpcj9d8m9drf4h7a8d3b"; + rev = "3c09e1b87064bedc065e45346fd4c3e051eeb0f0"; + sha256 = "19cq6n8dhvr2vw8nx3f4dkybqs9dqa6ss3z2ycql8rdmc5wg6jpn"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7002c50f2734675134791916aa9d8b82b4582fcb/recipes/powershell"; @@ -50292,10 +52688,10 @@ }) {}; pp-c-l = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "pp-c-l"; - version = "20151231.1547"; + version = "20170101.1116"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/pp-c-l.el"; - sha256 = "10gsdjdr8qngimqh57qxcljjnypbf38asxqb3zlfwc2ls52fc19q"; + sha256 = "07favccg34khq0rnkdmbmhagpn6sg0vrmxcql35vh1p0jalp208s"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/pp-c-l"; @@ -50310,10 +52706,10 @@ }) {}; pp-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "pp-plus"; - version = "20160523.1439"; + version = "20170101.1114"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/pp+.el"; - sha256 = "0yvls8sw5rvka20xlqazl46crpkw91cy9qmj6p6y53sps1rj5wzp"; + sha256 = "0v8gm9z9dqxmqqvgz4dwmh79ssmir0zf4p3c6wbwrbak16b2ad6m"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/pp+"; @@ -50412,10 +52808,10 @@ }) {}; pretty-lambdada = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "pretty-lambdada"; - version = "20151231.1548"; + version = "20170101.1117"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/pretty-lambdada.el"; - sha256 = "1fn24399wsn12453py0hw2vbbkrkakiwi06cjvjzsdk7g3326ma4"; + sha256 = "17vji7y92ahmhff6ax7znhi7dbfhi8zpghhnl408n5hzcvmqmf06"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/pretty-lambdada"; @@ -50599,12 +52995,12 @@ prodigy = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "prodigy"; - version = "20160815.1255"; + version = "20160929.2302"; src = fetchFromGitHub { owner = "rejeep"; repo = "prodigy.el"; - rev = "2bb744f3ff96805a854c7b34258f7d5ce51127b3"; - sha256 = "0ywxcad282nspafs3vnpfvzzjzcsxclf4j4nkw85q3wvpsb1671q"; + rev = "e53e1ba0d8c5081b4671f4292b164e919d0fdb2b"; + sha256 = "18xbql40myis77lyjiqq3kdsp0961iwf4rcg3c9i5w49chw3ql85"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/04686b7a450ccd4631ecf1d9bcd51572c21fd20d/recipes/prodigy"; @@ -50768,8 +53164,8 @@ version = "20110206.1230"; src = fetchhg { url = "https://bitbucket.com/piranha/project-root"; - rev = "fcd9df2eadca"; - sha256 = "08dd2y6hdsj1rxcqa2hnjypnn9c2z43y7z2hz0fi4vny547qybz8"; + rev = "843ca1f4ab2b"; + sha256 = "0nw02f5lmbqdfnw93d3383sdxx1d31szk23zvjlrmmdwv2124281"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/project-root"; @@ -50785,12 +53181,12 @@ projectile = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info }: melpaBuild { pname = "projectile"; - version = "20160830.138"; + version = "20161229.44"; src = fetchFromGitHub { owner = "bbatsov"; repo = "projectile"; - rev = "3e56c2f3c6ca4e28997320480a4115e4edf1a63c"; - sha256 = "0hxv2p8bwxz86mzq7dw8jdxai71ny5g0ig7171p51bvxx34xm7f8"; + rev = "72a8be50b9e6d4c23a178f777043e67794fc9728"; + sha256 = "06rbl0vjsk98xqknrckh695qq1yrdi13ms8gwbk1l34j6qhcnwl1"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ca7bf43ef8893bf04e9658390e306ef69e80a156/recipes/projectile"; @@ -50845,6 +53241,27 @@ license = lib.licenses.free; }; }) {}; + projectile-git-autofetch = callPackage ({ alert, fetchFromGitHub, fetchurl, lib, melpaBuild, projectile }: + melpaBuild { + pname = "projectile-git-autofetch"; + version = "20161109.1429"; + src = fetchFromGitHub { + owner = "andrmuel"; + repo = "projectile-git-autofetch"; + rev = "3d4eae6493607b9a0461c5161d195659c268184b"; + sha256 = "1db4jq4vn9mk8c9ma7yma7q00hwhwba25w2hy8jyagyb83lk2zgj"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/7fdfdeb69fd78fc1bb2c62392f860a8c434f1762/recipes/projectile-git-autofetch"; + sha256 = "0m0raddsw5yvjrw2v6bdaswffmva8y9hxksdgf9axpvrd3rzlk9n"; + name = "projectile-git-autofetch"; + }; + packageRequires = [ alert projectile ]; + meta = { + homepage = "https://melpa.org/#/projectile-git-autofetch"; + license = lib.licenses.free; + }; + }) {}; projectile-hanami = callPackage ({ emacs, fetchFromGitHub, fetchurl, inf-ruby, lib, melpaBuild, projectile, rake }: melpaBuild { pname = "projectile-hanami"; @@ -50869,12 +53286,12 @@ projectile-rails = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, inf-ruby, inflections, lib, melpaBuild, projectile, rake }: melpaBuild { pname = "projectile-rails"; - version = "20160830.858"; + version = "20161130.1025"; src = fetchFromGitHub { owner = "asok"; repo = "projectile-rails"; - rev = "70ec237ce49172ccc4daa536505749e3d4701469"; - sha256 = "0jvj0lxy7mhkv8ql472zz6wyrmh72cw1z9n1200z5g8p4n7jfjsj"; + rev = "fe0cb5597d9e87ceebfadd1815beadfc04a194f1"; + sha256 = "0yg7xbv0mnrcc6kgh8ci6pxzfjiq1qkrw6hx2zs5m4ryfrrfclz2"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b16532bb8d08f7385bca4b83ab4e030d7b453524/recipes/projectile-rails"; @@ -50887,6 +53304,27 @@ license = lib.licenses.free; }; }) {}; + projectile-ripgrep = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, projectile, ripgrep }: + melpaBuild { + pname = "projectile-ripgrep"; + version = "20161119.59"; + src = fetchFromGitHub { + owner = "nlamirault"; + repo = "ripgrep.el"; + rev = "ddb7dcadf8980b9f458343aa853e4b6c3febaee0"; + sha256 = "0ln81fgvp8sk7f01icrjz8nyicd71kp7fg2rsh9hxjr948jx5ncd"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/195f340855b403128645b59c8adce1b45e90cd18/recipes/projectile-ripgrep"; + sha256 = "1iczizyayql40wcljvpc1mvfvn9r28b1dkrkcmdxif732gd01jjg"; + name = "projectile-ripgrep"; + }; + packageRequires = [ projectile ripgrep ]; + meta = { + homepage = "https://melpa.org/#/projectile-ripgrep"; + license = lib.licenses.free; + }; + }) {}; projectile-sift = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, projectile, sift }: melpaBuild { pname = "projectile-sift"; @@ -50915,8 +53353,8 @@ src = fetchFromGitHub { owner = "anshulverma"; repo = "projectile-speedbar"; - rev = "95309e3e6041db3903129568c655a402b8153cc1"; - sha256 = "12nhmmdd9xnpf47hv76ljwhkkallqxpq7d9yc5p5ygl65xcindd4"; + rev = "a00c6c0e52acd2223997b1a7a996cd786e68f6f2"; + sha256 = "0bsk1336ak5bq9v26m2ql61yvhv15gyh8wrc6j4c655lxysbq9gs"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/eda8cb5a175258404c347ffa30fca002504467a0/recipes/projectile-speedbar"; @@ -50929,15 +53367,36 @@ license = lib.licenses.free; }; }) {}; + projectile-variable = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, projectile }: + melpaBuild { + pname = "projectile-variable"; + version = "20161109.625"; + src = fetchFromGitHub { + owner = "zonuexe"; + repo = "projectile-variable"; + rev = "dedd0f1669d9498d59231912c4ee80a1080ac93b"; + sha256 = "1wmwy5iamc2g5grhshss0cmxjspz83kl8iclkv42c4vc1l1nsgfw"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/ff603b43235f546cd47f72e675aee88d5f41e855/recipes/projectile-variable"; + sha256 = "1cj8nwxf1jp5q5zzxp92fxla6jhwzd21gw649ar6mygi4hgymsji"; + name = "projectile-variable"; + }; + packageRequires = [ cl-lib emacs projectile ]; + meta = { + homepage = "https://melpa.org/#/projectile-variable"; + license = lib.licenses.free; + }; + }) {}; projector = callPackage ({ alert, cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, projectile }: melpaBuild { pname = "projector"; - version = "20160822.948"; + version = "20160929.2052"; src = fetchFromGitHub { owner = "waymondo"; repo = "projector.el"; - rev = "62ecd304df6fe643f1943ecbf1b85976c5689226"; - sha256 = "0ya5dykp2w1lpykj59k015xgmn36n87mbdynsrmdyzm9vbrjr5r1"; + rev = "e86b89e836ce2d0544b96235ef158d1252fd790f"; + sha256 = "1484gb3lxj8inh7q1z05mqiv5ddq2yymdlmhjxrl1l7c3lqbapn9"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/420ffea4549f59677a16c1ee89c77b866487e302/recipes/projector"; @@ -50974,12 +53433,12 @@ projmake-mode = callPackage ({ dash, fetchFromGitHub, fetchurl, indicators, lib, melpaBuild }: melpaBuild { pname = "projmake-mode"; - version = "20150619.1420"; + version = "20161031.1015"; src = fetchFromGitHub { owner = "ericbmerritt"; repo = "projmake-mode"; - rev = "25e2f28ca2c528e42c6422735829fc77bab8b451"; - sha256 = "1sxxy0s96sgm6i743qwjs0qjpsdr03gqc1cddvvpxbryh42vw9jn"; + rev = "a897701f7e8f8cc11459ed44eb0e454db2a460c1"; + sha256 = "0las0xl4af6sn5pbllq16abw2hj1kswwpkyi6lf31sbwr5wnq4qb"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/df23138073d2416fa6522beca86b7a62eb4d42e3/recipes/projmake-mode"; @@ -51013,6 +53472,27 @@ license = lib.licenses.free; }; }) {}; + prompts = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "prompts"; + version = "20160916.341"; + src = fetchFromGitHub { + owner = "GuiltyDolphin"; + repo = "prompts.el"; + rev = "1cd5e732ff2a86b47836eb7252e5b59cd4b6ab26"; + sha256 = "10y8x54p64zs1jlq4nf1kixpb42078n2gdf9s62b1siyb1vhl581"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/2395402e72d9b0f7ce2ca5fcb4497919f90a8fe2/recipes/prompts"; + sha256 = "1fz5sbc45jiq64y89lm8nj6lsanq3lzyjzahxzrgqvr7655pphzm"; + name = "prompts"; + }; + packageRequires = [ dash ]; + meta = { + homepage = "https://melpa.org/#/prompts"; + license = lib.licenses.free; + }; + }) {}; prop-menu = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "prop-menu"; @@ -51083,8 +53563,8 @@ src = fetchFromGitHub { owner = "google"; repo = "protobuf"; - rev = "c0a6a6b4628a634f6a0529c9f7e9e1e0fe66d4d6"; - sha256 = "1k1b3yhcdp4x55cdk4wf1hzx8sw66cjy8xpjc0n1k71pzlx6ydz3"; + rev = "4cb113a91b180559f0eedbca0244ef1181a7204c"; + sha256 = "1xhlc285ydjs1l4ans485ij09f3v54i2mllcik8l255gmm65aqh6"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b4e7f5f641251e17add561991d3bcf1fde23467b/recipes/protobuf-mode"; @@ -51097,22 +53577,22 @@ license = lib.licenses.free; }; }) {}; - psc-ide = callPackage ({ cl-lib ? null, company, dash, dash-functional, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: + psc-ide = callPackage ({ cl-lib ? null, company, dash, dash-functional, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "psc-ide"; - version = "20160720.1502"; + version = "20161220.553"; src = fetchFromGitHub { owner = "epost"; repo = "psc-ide-emacs"; - rev = "78df84316807f0efc0f39450172cc2e2f17c9acd"; - sha256 = "0z725mmwkb9b9py65vfs3pkn8pqd39ayc84v56y49gsqd0krdqhf"; + rev = "5a1cce36241cd0ec3781d748d6ef151e685079a3"; + sha256 = "191gvvliarvvkcjw54ajjfshv6n29sk5m0dj3h8j5zw5ndnlw6cj"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8189f4e7d6742d72fb22acf61a9d7eb0bffb2d93/recipes/psc-ide"; sha256 = "1f8bphrbksz7si9flyhz54brb7w1lcz19pmn92hjwx7kd4nl18i9"; name = "psc-ide"; }; - packageRequires = [ cl-lib company dash dash-functional s ]; + packageRequires = [ cl-lib company dash dash-functional emacs s ]; meta = { homepage = "https://melpa.org/#/psc-ide"; license = lib.licenses.free; @@ -51142,12 +53622,12 @@ psession = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "psession"; - version = "20160514.2359"; + version = "20161119.2248"; src = fetchFromGitHub { owner = "thierryvolpiatto"; repo = "psession"; - rev = "324c68a1f809f6c2a37c9e4753dd00796236ec56"; - sha256 = "1fpcb4qpd11mbv733iklnbjg7g4ka05mf5wpa2k6kr3fbvndkx37"; + rev = "33f9020e87732e14473c5fc4d986e572fd95c5f3"; + sha256 = "0ag57g4w44w90gh09w774jmwplpqn7h1lni1kwldwi7b7n3mhli7"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/669342d2b3e6cb622f196571d776a98ec8f3b1d3/recipes/psession"; @@ -51205,12 +53685,12 @@ pt = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "pt"; - version = "20160119.817"; + version = "20161226.1159"; src = fetchFromGitHub { owner = "bling"; repo = "pt.el"; - rev = "97e04eb77154234d946064a573762bcd72219f75"; - sha256 = "0ca8j7xlqxbidqfz2iarwn7qq4v12pwvsq6vzj2473n2g1c09xzj"; + rev = "6d99b2aaded3ece3db19a20f4b8f1d4abe382622"; + sha256 = "1vi97hgwrf7n8vsbkvvhn398m20755jnbbbz4kxgqfmcgpimc8nc"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/34c51783af154f203489f5f7df7012ca61932caa/recipes/pt"; @@ -51223,45 +53703,24 @@ license = lib.licenses.free; }; }) {}; - pug-mode = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: + pug-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "pug-mode"; - version = "20160531.138"; + version = "20161221.1154"; src = fetchFromGitHub { owner = "hlissner"; repo = "emacs-pug-mode"; - rev = "b6208b75237083e728b20815c63ab8f9c4a167fb"; - sha256 = "0yr04yj72dkj520wzzj4a1mk0w653bb8alz15v92mlj5lc8kdjm8"; + rev = "8967d57715ad303b9c987f4390a18c51c2f30cb3"; + sha256 = "0kk5i7dynxg53g7wx5k6lkk1015pqphxzanqw0m6nhvv1p56w84x"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b3710aac9f3df3a23238af1f969c462b3692f260/recipes/pug-mode"; sha256 = "1njhr95y2rx7inpl9phxxz580844p2iadqlga1kj7xzvjz698x85"; name = "pug-mode"; }; - packageRequires = [ cl-lib ]; - meta = { - homepage = "https://melpa.org/#/pug-mode"; - license = lib.licenses.free; - }; - }) {}; - puml-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: - melpaBuild { - pname = "puml-mode"; - version = "20160719.36"; - src = fetchFromGitHub { - owner = "skuro"; - repo = "puml-mode"; - rev = "ae1cd8eb21d3af33bc60d4bfa39a90b8f49b7011"; - sha256 = "12csnmas5n0r356hwrqgx4lb72ns4mdbfkh5dw5jss377akv12gr"; - }; - recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/c0c28ccef208035fd0bdd648771825c1d10f42ff/recipes/puml-mode"; - sha256 = "131ghjq6lsbhbx5hdg36swnkqijdb9bx6zg73hg0nw8qk0z742vn"; - name = "puml-mode"; - }; packageRequires = [ emacs ]; meta = { - homepage = "https://melpa.org/#/puml-mode"; + homepage = "https://melpa.org/#/pug-mode"; license = lib.licenses.free; }; }) {}; @@ -51310,12 +53769,12 @@ punpun-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "punpun-theme"; - version = "20160527.230"; + version = "20161103.147"; src = fetchFromGitHub { owner = "wasamasa"; repo = "punpun-theme"; - rev = "48ae2f9d9092b65cf3b4816cdaa6bd52efbd8d45"; - sha256 = "131si1wqv0wvdgwbw58y8w90v6z3nd5rf293144brv9d8853icpy"; + rev = "cce8b10b2df6f9187a9eaa0c3f21ff0dda175968"; + sha256 = "1iz1qc9bphl2y2z7abc33fvyaccj733drkl7nzbr1jlpbknkmk2k"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/77a9edbb36dc9474adb23d356e6c596789aab2a2/recipes/punpun-theme"; @@ -51331,16 +53790,16 @@ puppet-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info }: melpaBuild { pname = "puppet-mode"; - version = "20160416.936"; + version = "20161204.713"; src = fetchFromGitHub { - owner = "lunaryorn"; + owner = "voxpupuli"; repo = "puppet-mode"; - rev = "3321cd25f742bcb4466f4a736d936e9da773a83c"; - sha256 = "1ly7gkxlkfgx3nzw35f7rwx7x9w6jrhql15jgsrh9slcw3q2rksl"; + rev = "bfa9512bcaa91cc2068d280d646d7a794da82905"; + sha256 = "09jfb9xldpcg7z9hh7yka1pcrm008h6sx209lhnwmg2qn5dj4rsb"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/ca67e3241b3fe5037b8d6a8e4f1104d9a46a01b1/recipes/puppet-mode"; - sha256 = "1s2hap6fs6rg5q80dmzhaf4qqaf5sglhs8p896i3i5hq51w0ciyc"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/1de94f0ab39ab18dfd0b050e337f502d894fb3ad/recipes/puppet-mode"; + sha256 = "1qn71j6fkwnrsq1s6fhfcxhic3rbspg5cy9n7jv451ji7ywyhakf"; name = "puppet-mode"; }; packageRequires = [ emacs pkg-info ]; @@ -51352,12 +53811,12 @@ purescript-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "purescript-mode"; - version = "20150316.1828"; + version = "20161216.133"; src = fetchFromGitHub { owner = "dysinger"; repo = "purescript-mode"; - rev = "1390bf6a2ddd0764a5ee7f5cac4e88980cf44eaf"; - sha256 = "0k2plyvd6842yryzrfadbf4h7a9hrjvkcvixclbca2bkvfik3864"; + rev = "c88126070c052d636f4dad5525846a1b200fce43"; + sha256 = "1ndclsywvh5x06gmvk44zjlgfamdn55lygdgxf3x1vrznvr0jawy"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/77175fa470e517fa134751fbb38e144eb5b979ff/recipes/purescript-mode"; @@ -51478,12 +53937,12 @@ py-autopep8 = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "py-autopep8"; - version = "20151231.614"; + version = "20160925.352"; src = fetchFromGitHub { owner = "paetzke"; repo = "py-autopep8.el"; - rev = "575ca51c928e6aaf01650901bce3df1122a11a4c"; - sha256 = "1iw94m1bvsmadlj16f8ymwx0q6f9lqysy7by76hkpiwqqhd2i8rv"; + rev = "68e12d8788c91c7ec53a68acf1d23adb2ffa4788"; + sha256 = "16fmym6hvi2lx0mmbrrhld1vzki5iqfqx2m0xa9021gjjzb33lw6"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c400e0f3cfe70821e621fe85d239b4f6596d5171/recipes/py-autopep8"; @@ -51541,12 +54000,12 @@ py-isort = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "py-isort"; - version = "20150422.839"; + version = "20160925.318"; src = fetchFromGitHub { owner = "paetzke"; repo = "py-isort.el"; - rev = "cfbb576784fe4501909c15299607ce2a2d0bf164"; - sha256 = "0150q6xcnzzrkn9fa9njm973l1d49c48ad8qia71k4jwrxjjj6zr"; + rev = "e67306f459c47c53a65604e4eea88a3914596560"; + sha256 = "08i55gv392wc12x8v3dca0dmz8a8p9ljsqhyajsb6qv1k120wqhx"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/44377d11da07b49c8dc6887c948cc5ddfc065bd2/recipes/py-isort"; @@ -51604,12 +54063,12 @@ py-yapf = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "py-yapf"; - version = "20160101.412"; + version = "20160925.422"; src = fetchFromGitHub { owner = "paetzke"; repo = "py-yapf.el"; - rev = "56807d28bf288afec2e2999982074bdd5e9bf932"; - sha256 = "09z739w4fjg9xnv3mbh7v8j59mnbsfq4ygq616pj4xcw3nsh0rbg"; + rev = "a878304202ad827a1f3de3dce1badd9ca8731146"; + sha256 = "1mmzqdigxx46my0h9497l25cjydy3vykg6slxkch4dzvhhlbap48"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3306c6906d4b21868b9407de27fbebdaed3d00d5/recipes/py-yapf"; @@ -51768,15 +54227,36 @@ license = lib.licenses.free; }; }) {}; + pygen = callPackage ({ dash, elpy, fetchFromGitHub, fetchurl, lib, melpaBuild, python-mode }: + melpaBuild { + pname = "pygen"; + version = "20161120.2106"; + src = fetchFromGitHub { + owner = "JackCrawley"; + repo = "pygen"; + rev = "3a5d1d1a0640865b15be05cd1eeb33bb4793b622"; + sha256 = "0fzpvdwb7hhmfmjxzvap8413bc81lrx8r3ij3yasqaxyqw3a6vy1"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/e761724e52de6fa4d92950751953645dd439d340/recipes/pygen"; + sha256 = "1ivg7a1ghg0bvz3idz7dzy5yb0ln3b2j7dfizg2g0fi4iwvc4czz"; + name = "pygen"; + }; + packageRequires = [ dash elpy python-mode ]; + meta = { + homepage = "https://melpa.org/#/pygen"; + license = lib.licenses.free; + }; + }) {}; pyimport = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "pyimport"; - version = "20160705.1444"; + version = "20161219.302"; src = fetchFromGitHub { owner = "Wilfred"; repo = "pyimport"; - rev = "8b4c6ef8a79da35c847ad5581367012f6c4493ca"; - sha256 = "01gdzs2x2kdi7nwdcnp2iw8cbvzzqrsi9wqwc9wb4ny8ly4q75w6"; + rev = "2e8657e8ca2c049cef331e8fdc13c43541044f5c"; + sha256 = "09ly4gi4yd7nl7x4lzgjacfvjbc4mfsw2yfmmxiymj70xa7ffik3"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/71bc39b06cee37814960ef31c6a2056261b802fb/recipes/pyimport"; @@ -51817,8 +54297,8 @@ src = fetchFromGitHub { owner = "PyCQA"; repo = "pylint"; - rev = "537885ec90ba7d949a929ac560760d0f4199a936"; - sha256 = "0cpalx34w2jhrmyc04a3108in8xv0qfsia388ksid373l7zaqd5z"; + rev = "4bb474dfad2d2dd8ea357f6b8e6a1c708246ac4a"; + sha256 = "0xhgq2ylkkrj0pf9gj7niahwy243s9714x720w88mbz6v04bcj3p"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a073c91d6f4d31b82f6bfee785044c4e3ae96d3f/recipes/pylint"; @@ -51834,12 +54314,12 @@ pytest = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "pytest"; - version = "20160330.647"; + version = "20161014.815"; src = fetchFromGitHub { owner = "ionrock"; repo = "pytest-el"; - rev = "b3574f81c372ebf84a1f9092187c6611d374410c"; - sha256 = "0bg8pqqia9l39ac3s9xrnlyrg1pj2w00vc742qpjdk5349lazdl6"; + rev = "91d8b7fe568527f51c172d6caadaad4f49e53bdd"; + sha256 = "1s2s8bf0r1nidypmqiawj8i6jwb3y3wslgrhr8nzbz8c7lf626s3"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/33a854a27adbaf57d344340199f90d52747b8450/recipes/pytest"; @@ -51960,12 +54440,12 @@ python-mode = callPackage ({ fetchFromGitLab, fetchurl, lib, melpaBuild }: melpaBuild { pname = "python-mode"; - version = "20160620.330"; + version = "20170102.523"; src = fetchFromGitLab { owner = "python-mode-devs"; repo = "python-mode"; - rev = "f3180213966e4eea5f139f21aa0b16a6d02633ce"; - sha256 = "09l1dzk3x4d2wba62dy4w0b5zzv9nhs97g8shfz9vz1q51a30ix8"; + rev = "695fe533a9a59e43f75d69cf005b69526bafc99d"; + sha256 = "1bh907dmnrcc31n7zjb3lnr98mck1vjzsyr6vzy5lqygymgxjdri"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/82861e1ab114451af5e1106d53195afd3605448a/recipes/python-mode"; @@ -51978,15 +54458,36 @@ license = lib.licenses.free; }; }) {}; + python-switch-quotes = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "python-switch-quotes"; + version = "20161228.9"; + src = fetchFromGitHub { + owner = "werehuman"; + repo = "python-switch-quotes"; + rev = "93f1e9b40e061a6cea480139e8b1362b6404abd0"; + sha256 = "1x04hnf3m8cgqp0i566q4n7kh59cayzfxka3g07kv0h543xbys4n"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/d99fbd3d0c486bf89c9c0937e2ebf378be39293f/recipes/python-switch-quotes"; + sha256 = "1wc27q9ac8p7c5mfk3kznbmdd5ds4ray0csgba79n19g152y5jjc"; + name = "python-switch-quotes"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/python-switch-quotes"; + license = lib.licenses.free; + }; + }) {}; python-test = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "python-test"; - version = "20160801.1224"; + version = "20161107.1048"; src = fetchFromGitHub { owner = "emacs-pe"; repo = "python-test.el"; - rev = "a1a72be0d48c0270c7475ee216b061b07edaa97a"; - sha256 = "0bdg0zkh7hrx2v50d3nqyqz0bza68yirh46lqb9grw5ck3fkfnir"; + rev = "f1d24e53c2a9a77812aa10f8cc6d5a5b49b57615"; + sha256 = "0al1s7fh2l0vhcsz261aaxsn3xkrp451zynym11ifhppf1wwlp04"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0ea68b3aa9c057e81a3e90a359a38ac16cb26c2f/recipes/python-test"; @@ -52002,12 +54503,12 @@ python-x = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, folding, lib, melpaBuild, python ? null }: melpaBuild { pname = "python-x"; - version = "20160313.636"; + version = "20161029.531"; src = fetchFromGitHub { owner = "wavexx"; repo = "python-x.el"; - rev = "852ca78c70c22fc76f0cb15d57046d510e295ba6"; - sha256 = "1shz8qha2cqv89hz27aazwd6qbf4qnz17h6hh8in5qxgfsndi7pp"; + rev = "ef749fe2d3e58d5f6d7f32453d06964786c085d5"; + sha256 = "1nncinrwh0nqy8wn1q8yzi15nf15gj576ccsp5l28951gjgkc6s9"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/87ed5ea4868945df1bf92d1eae5d3ebb83ece117/recipes/python-x"; @@ -52086,12 +54587,12 @@ qml-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "qml-mode"; - version = "20160108.704"; + version = "20161015.1731"; src = fetchFromGitHub { owner = "coldnew"; repo = "qml-mode"; - rev = "efb465917f260b4b18c30bd45c58bc291c8246f0"; - sha256 = "1mlka59gyylj4cabi1b552h11qx54kjqwx3bkmsdngjrd4da222a"; + rev = "6c5f33ba88ae010bf201a80ee8095e20a724558c"; + sha256 = "1sncsvzjfgmhp4m8w5jd4y51k24n2jfpgvrkd64wlhhzbj3wb947"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f3abc88ddbb6b8ecafa45e75ceba9a1294ad88d4/recipes/qml-mode"; @@ -52128,12 +54629,12 @@ quasi-monochrome-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "quasi-monochrome-theme"; - version = "20150801.1325"; + version = "20160913.638"; src = fetchFromGitHub { owner = "lbolla"; repo = "emacs-quasi-monochrome"; - rev = "cc363fc72b6824122aadf6b7d27dfeac38f61901"; - sha256 = "0y7mdizx6km3000cqjrirlgwzkq56asnzl8n1bl56pk5d9grfx9h"; + rev = "75c515a30a77aa4661e41d67e5bba13f422bdf60"; + sha256 = "1932vjindz0mkfizbs1d19af9p78kl9cd05isjbd5sjwzs420bd9"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a9c8498e4bcca19c4c24b2fd0db035c3da477e2a/recipes/quasi-monochrome-theme"; @@ -52170,12 +54671,12 @@ quelpa-use-package = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, quelpa, use-package }: melpaBuild { pname = "quelpa-use-package"; - version = "20150805.328"; + version = "20161212.1038"; src = fetchFromGitHub { owner = "quelpa"; repo = "quelpa-use-package"; - rev = "d18b55508ceaeb894f5db3d775f5c1b27e4be81b"; - sha256 = "00wnvyw2daiwwd1jyq1ag5jsws8k8jxs3lsj73dagbvqnlywmkm6"; + rev = "f276555d6bead02a0d869149f03a545d4d4265ad"; + sha256 = "0cmpfjkwx5mpiyssyglfnrfkfg7c4qr01b598z50vc1lyg6198i1"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b581e411ef5ea3954acc2cd997c87b3b86777333/recipes/quelpa-use-package"; @@ -52258,8 +54759,8 @@ src = fetchFromGitHub { owner = "syohex"; repo = "emacs-quickrun"; - rev = "cd9052132dbde7c8526309a0c21fc5a60c709a46"; - sha256 = "17l9kdfc2zc4d4alg4pfi7s6wlk51yxll6bdlcr4rbn67nj5lacj"; + rev = "487a74c7db513ceba86e849c8f42f834234c1f7b"; + sha256 = "04n6y5ymn29saaikzfg8ak57kqysh8915bvvzkiijmzbqr6ndsgj"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/81f0f525680fea98e804f39dbde1dada887e8821/recipes/quickrun"; @@ -52317,12 +54818,12 @@ racer = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, rust-mode, s }: melpaBuild { pname = "racer"; - version = "20160829.2022"; + version = "20161230.1422"; src = fetchFromGitHub { owner = "racer-rust"; repo = "emacs-racer"; - rev = "8b35f743157e3c8b34bfec193a8f055f402bae8c"; - sha256 = "055jfkac0yiv9jdp50bzczyvvwnhhsy1rici8qwiv5pk3i89nj4v"; + rev = "a3c106e12c538cb6900e0940848557400bfa8313"; + sha256 = "13b0dpmc2ckp158rvnbc7alf4kswvl5wvddmr1vm76ahr0i5xwv1"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/97b97037c19655a3ddffee9a86359961f26c155c/recipes/racer"; @@ -52338,12 +54839,12 @@ racket-mode = callPackage ({ emacs, faceup, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "racket-mode"; - version = "20160829.846"; + version = "20161101.1859"; src = fetchFromGitHub { owner = "greghendershott"; repo = "racket-mode"; - rev = "b6a7db7a3831268ebd5e9a68036486486abfacdd"; - sha256 = "0z7gxcldmqhzvi33a7g1rjwmyc5aim4ga0f4hb0ajbl0kwxl6m4d"; + rev = "ab625571837c96446e3704febea48b453787c5ce"; + sha256 = "0wnas67q1njg6czx86zywgq6a142rkh8qv4vbdjvqnyxd4y8jrsq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7ad88d92cf02e718c9318d197dd458a2ecfc0f46/recipes/racket-mode"; @@ -52419,6 +54920,27 @@ license = lib.licenses.free; }; }) {}; + railscasts-reloaded-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "railscasts-reloaded-theme"; + version = "20161115.2210"; + src = fetchFromGitHub { + owner = "thegeorgeous"; + repo = "railscasts-reloaded-theme"; + rev = "cce0e4ae6527e84e2ae3deb8b3c7770dda225853"; + sha256 = "1li86qpbjg8sm9q4sl8cffc0fni6mwx8180x8zlmsxdnhqic5nvd"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/9817851bd06cbae30fb8f429401f1bbc0dc7be09/recipes/railscasts-reloaded-theme"; + sha256 = "1iy30mnm3s7p7qigrm3lvv7xjgwvinwg6yg0hry2aifwn88cnwmz"; + name = "railscasts-reloaded-theme"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/railscasts-reloaded-theme"; + license = lib.licenses.free; + }; + }) {}; railscasts-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "railscasts-theme"; @@ -52506,12 +55028,12 @@ rake = callPackage ({ cl-lib ? null, dash, f, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "rake"; - version = "20160830.245"; + version = "20161114.605"; src = fetchFromGitHub { owner = "asok"; repo = "rake"; - rev = "14ff370e867302d7f55d7cc02dd42ac82179af6a"; - sha256 = "0mk5zsm081sdz06mf1jvvbvhsqbl11jh17csyg5wqjyx6vs0bzla"; + rev = "e680f1a8f2591af7c80cad188340601b101b5ddc"; + sha256 = "1dk2clsnmjy3bfv6laxf8sslvdajjbwpk83ss8v9xm55dcxjvd7n"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/bf0f84698dda02a5b84a244ee29a23a6faa9de68/recipes/rake"; @@ -52527,12 +55049,12 @@ rally-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, popwin }: melpaBuild { pname = "rally-mode"; - version = "20160326.902"; + version = "20161113.1954"; src = fetchFromGitHub { owner = "seanleblanc"; repo = "rally-mode"; - rev = "722b9a8e6d8a6aee5c4c4b16be0194f7bb4bfa5b"; - sha256 = "13pkp80cv1v3pjff1588cgyx18a31i668lwywll5dk4fxl4zdjvb"; + rev = "0f5e09a6abe2de7613f174b4f54863df93343134"; + sha256 = "1vrsv8ph1v853ii0i3q889xlwxnjdqz4bs3ipi502rjx6g7y5gdz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0914825c6d5ad26d2a8035fc33ad98df42df3c53/recipes/rally-mode"; @@ -52590,12 +55112,12 @@ ranger = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ranger"; - version = "20160823.1611"; + version = "20161002.2336"; src = fetchFromGitHub { owner = "ralesi"; repo = "ranger.el"; - rev = "58d3f847400294e0c096fc0cff45e71173721aba"; - sha256 = "1aygddzfhrmalivsy99bapvzvi7fq7h25nxbpb8zfcwb3wizmr36"; + rev = "584e4ae8cce1c54a44b40dd4c77fbb2f06d73ecb"; + sha256 = "01rphv92g1r0cw5bwkbrh02s0na7fjrddxx1dckk2y7qr97s7l8j"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0207e754f424823fb48e9c065c3ed9112a0c445b/recipes/ranger"; @@ -52671,27 +55193,48 @@ license = lib.licenses.free; }; }) {}; - rbt = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + rbt = callPackage ({ fetchFromGitHub, fetchurl, lib, magit, melpaBuild, popup }: melpaBuild { pname = "rbt"; - version = "20160129.1051"; + version = "20161220.1352"; src = fetchFromGitHub { owner = "joeheyming"; repo = "rbt.el"; - rev = "865c619f200afe877c56a44046f706361b676d0e"; - sha256 = "0q5giixk6pv82cf34a0mxmnzh2gdiyq6dzv4ypkkdpz6wsm2ffhx"; + rev = "25ed055ffa444cb077042f95622ef253759f3ee2"; + sha256 = "1gv0bm25c5v6sygpcxg1h7cnn8md8q7njh8jz1was5cmgkq3i3kg"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ca7241985be1e8a26a454b8136a537040b7ae801/recipes/rbt"; sha256 = "1mrb6v8zybvhh242vvq0kdvg6cvws7gabfhcydrw5g2njhyqkygm"; name = "rbt"; }; - packageRequires = []; + packageRequires = [ magit popup ]; meta = { homepage = "https://melpa.org/#/rbt"; license = lib.licenses.free; }; }) {}; + rc-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "rc-mode"; + version = "20160913.1218"; + src = fetchFromGitHub { + owner = "mrhmouse"; + repo = "rc-mode.el"; + rev = "fe2e0570bf9c19a292e16b18fd4b0a256df5d93f"; + sha256 = "0skjg3l3ss8nlrpnpjjflmf7wjib4jfarkmx4438nc6vm6553fmn"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/d8062b2e5b2744a6e614b389cca7e7f21b582f6f/recipes/rc-mode"; + sha256 = "0p77mckw8jyxcwspj1ffm8mz0k01ddm67hh9j8rw812wddwnj7qf"; + name = "rc-mode"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/rc-mode"; + license = lib.licenses.free; + }; + }) {}; rcirc-alert = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "rcirc-alert"; @@ -52884,12 +55427,12 @@ read-aloud = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "read-aloud"; - version = "20160815.928"; + version = "20160922.2200"; src = fetchFromGitHub { owner = "gromnitsky"; repo = "read-aloud.el"; - rev = "ebdc1180648cc5db6d6ab9ce8bdcf37858cc08ae"; - sha256 = "11l2nq80xsqlvpwhg2gvcam46x0b3gsa2jrdcs64sjyfbi2s8igk"; + rev = "d5f80ab72054a957aed25224639c1779cae5f4d1"; + sha256 = "1hbb6diz96jabajxrnancjfpyd9div8vzbwys1f5bddi9z8l2jyy"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/20452bf3112276a7e1c880bfab259150fc70b47a/recipes/read-aloud"; @@ -52968,12 +55511,12 @@ realgud = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, load-relative, loc-changes, melpaBuild, test-simple }: melpaBuild { pname = "realgud"; - version = "20160829.1821"; + version = "20161227.1536"; src = fetchFromGitHub { owner = "rocky"; repo = "emacs-dbgr"; - rev = "4246e34d7a6f668f5d9d403de054ef68e6d89548"; - sha256 = "0rnqs09q30rshp3lyslwh3rxgn7ay370y9ain1bhf2p2ww9j3m5i"; + rev = "4a5fe992f2b4a68f7b3840bbb24b496738760573"; + sha256 = "0448qvl33rvnwlwmsmm297w6ghb0gk0s1bkny3q3wagrwsi9zf2f"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7ca56f05df6c8430a5cbdc55caac58ba79ed6ce5/recipes/realgud"; @@ -53016,12 +55559,12 @@ realgud-old-debuggers = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, realgud }: melpaBuild { pname = "realgud-old-debuggers"; - version = "20160805.713"; + version = "20161225.626"; src = fetchFromGitHub { owner = "rocky"; repo = "realgud-old-debuggers"; - rev = "1362a42dec1ee859d4c339cbe6cf4813bf826f51"; - sha256 = "0zf8vxcn0lyajjz2dbmr98k2004qp6ydf3y4a696krvk1gm0vf79"; + rev = "fd38ebe7d4a59786d34b0cf972c315278871bf47"; + sha256 = "1p3dk81f1cyisv6fb7fny6a9nij4c0yljypcdwiy79zq3fniskhp"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/260b4d5a85c380dda0f7bb0370e3ffa8cc3c0275/recipes/realgud-old-debuggers"; @@ -53076,6 +55619,27 @@ license = lib.licenses.free; }; }) {}; + rebecca-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "rebecca-theme"; + version = "20161227.2131"; + src = fetchFromGitHub { + owner = "vic"; + repo = "rebecca-theme"; + rev = "ae1463a7118f5e50ca82267824c86a77e35e9697"; + sha256 = "1k6f90kjsx1mjihy6l7h7f1ld66g0qxkzbbq203010fjdlsmlhk6"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/19f40f30113c7dabd76a2d0e52898e6d6be69a35/recipes/rebecca-theme"; + sha256 = "1m72jqyqx18i1vpj07v3vkbi0di9dks5sz46wb2h0f23xqyx00md"; + name = "rebecca-theme"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/rebecca-theme"; + license = lib.licenses.free; + }; + }) {}; rebox2 = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "rebox2"; @@ -53099,10 +55663,10 @@ }) {}; recentf-ext = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "recentf-ext"; - version = "20130130.1350"; + version = "20161210.840"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/recentf-ext.el"; - sha256 = "15kwkphrlxq6nbmqm95sxv4rykl1d35sjm59ncy07ncqm706h33l"; + sha256 = "0pzimhqkrdg2s9zw7ysir740cmaycf6fjs08bmlfjads7vdbjfpg"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5a36ac5e0fc3599d50d7926cacf16b7a315f0e76/recipes/recentf-ext"; @@ -53181,12 +55745,12 @@ rectangle-utils = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "rectangle-utils"; - version = "20160427.1024"; + version = "20160914.2108"; src = fetchFromGitHub { owner = "thierryvolpiatto"; repo = "rectangle-utils"; - rev = "5ee8a0955967181629393e1fd6589a6e2590a56e"; - sha256 = "0i336qakdkvxgyhjfq6b957xqlll156i1a8g1f5xap46v35d6gh3"; + rev = "6fe38fdd48ef5305a908b94a043a966ac3f2053a"; + sha256 = "08n3ah40gfgkbriwj2z3y0751vpvgz86qjdn6dxs4mghjrwr2545"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1852b75c82822e97c39b7c7caeb2a32246171be4/recipes/rectangle-utils"; @@ -53280,22 +55844,22 @@ license = lib.licenses.free; }; }) {}; - redprl = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + redprl = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "redprl"; - version = "20160818.852"; + version = "20160912.1847"; src = fetchFromGitHub { owner = "RedPRL"; repo = "sml-redprl"; - rev = "1ee36bd7e8595a61f20152985f4b9f4230a51c6a"; - sha256 = "120kmjqrp4s5jvcxgkingzszkxk01ya1h5xrgdf1lylg52xx9dvj"; + rev = "466794c0128cd1aaaf60d441f02e9f33afdd4542"; + sha256 = "1a2aaqgzscyb6y793gc6699g73vw64szn9d6k0qkb4q5j6k1r6mr"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/06e7371d703ffdc5b6ea555f2ed289e57e71e377/recipes/redprl"; sha256 = "1zinzs3vzf2alsnxf5k71i7lp90fm26wv4y20ci52n0hnh5nz861"; name = "redprl"; }; - packageRequires = [ cl-lib emacs ]; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/redprl"; license = lib.licenses.free; @@ -53324,12 +55888,12 @@ redtick = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "redtick"; - version = "20160516.1416"; + version = "20161103.1157"; src = fetchFromGitHub { owner = "ferfebles"; repo = "redtick"; - rev = "d62dec07400e47ac3e9ef0c045ede916f1025a82"; - sha256 = "1c9ngm95b8rqg11m5w69031d8lgyvh9xpnr4h5r6yyg7836hdk2v"; + rev = "ac8b213cf3dbd43a86910a152426b14576fbece0"; + sha256 = "1c1hllznnrypbh0cp162kbdcm0vrcsws5nx5l32c6h89n9dm397g"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3187bd436541e2a5c2b28de67c62f5d5165af737/recipes/redtick"; @@ -53366,12 +55930,12 @@ refine = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, list-utils, loop, melpaBuild, s }: melpaBuild { pname = "refine"; - version = "20160726.2025"; + version = "20161205.549"; src = fetchFromGitHub { owner = "Wilfred"; repo = "refine"; - rev = "6546f1cbe9255b4b6009ae5c26ab6b1594f47990"; - sha256 = "09xg830hxivhxpi34ajvmj0zs6ygph1s907r1wizi27hgpbgg6zv"; + rev = "3609642fc83f344783e7c8229edb529264ca1eea"; + sha256 = "01qc7qsyhcm3i0ix4zhzwiq770mf2z0831gz1ybjaa6f5lwqslx5"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b111879ea0685cda88c758b270304d9e913c1391/recipes/refine"; @@ -53408,12 +55972,12 @@ regex-tool = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "regex-tool"; - version = "20131104.1434"; + version = "20160907.2129"; src = fetchFromGitHub { owner = "jwiegley"; repo = "regex-tool"; - rev = "62b292d93f29e4c4767b0800d53c656b9f626892"; - sha256 = "1wr12j16hckvc8bxxgxw280frl12h23cp44sxg28lczl16d9693l"; + rev = "0de0716dc26b1182f7f986d8442345aad135019e"; + sha256 = "1xjm3pqj1cf7cizbc6arqmk608w6cg49j284zrij0bvmyc5pbrj9"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a9585fc1f0576e82a6a199828fa9773a0694da63/recipes/regex-tool"; @@ -53447,6 +56011,27 @@ license = lib.licenses.free; }; }) {}; + region-convert = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "region-convert"; + version = "20161118.1859"; + src = fetchFromGitHub { + owner = "zonuexe"; + repo = "right-click-context"; + rev = "10578576f6cb2945aed00fdcd585fc65cd2c5c31"; + sha256 = "07bhw6ll2ad5725rq6jlvp2v8aqhlrbsywjng5ypmcvds5dhgbsk"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/ddcf4612cccb9a53425c5f0324206d70549d9d9e/recipes/region-convert"; + sha256 = "0daghvxc6gxgric1aa1gw036gbpbzilqz72gr1inqy92hz7xrxfm"; + name = "region-convert"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/region-convert"; + license = lib.licenses.free; + }; + }) {}; region-state = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "region-state"; @@ -53492,11 +56077,11 @@ related = callPackage ({ cl-lib ? null, fetchgit, fetchurl, lib, melpaBuild }: melpaBuild { pname = "related"; - version = "20160601.2254"; + version = "20161002.2310"; src = fetchgit { url = "https://bitbucket.org/lyude/related"; - rev = "dbdcbc1f3c8b02debeaec4073ea71e598e3373d9"; - sha256 = "0dl7lnf5318b0a842qgs5mg2s1c0i4vsl9ji6801z6w53mc46cgv"; + rev = "0065a2e16eeaa9bface49f7f0815b9cf9719f441"; + sha256 = "0gaj1mqv77dahw6zfqlf8q624b2ba589chgaa22vy4vg3lz6qzks"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a39b2fd835f6911e3dd2b42987f65d5bbea36091/recipes/related"; @@ -53533,12 +56118,12 @@ relative-line-numbers = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "relative-line-numbers"; - version = "20151006.1446"; + version = "20161112.2151"; src = fetchFromGitHub { owner = "Fanael"; repo = "relative-line-numbers"; - rev = "64157db08b0c2f5fada3209fc8d3e4b4c7429978"; - sha256 = "1r8fhs7d2vkrbv15ic2bm79i9a8swbc38vk566vnxkhl3rfd5a0a"; + rev = "38b5f9065aec008d9ad94fe5597338463aa1aa63"; + sha256 = "00ixh7siyc8m7j6hfaxnnl3ynfhzkccpjfc89v8bp3z83m4v269w"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4a2901c841d221bd782dae9059a070ae8130e1ae/recipes/relative-line-numbers"; @@ -53617,12 +56202,12 @@ repl-toggle = callPackage ({ fetchFromGitHub, fetchurl, fullframe, lib, melpaBuild }: melpaBuild { pname = "repl-toggle"; - version = "20160119.421"; + version = "20161203.414"; src = fetchFromGitHub { owner = "tomterl"; repo = "repl-toggle"; - rev = "0249c2a72e6bf782c2c15b0cb1d925410543184f"; - sha256 = "12wylmyz54n1f3kaw9clhvs66dg43xvcvll4pl5ii0ibfv6pls1b"; + rev = "50044030969d68e9f78a6db4e0a9229f5f3eaec3"; + sha256 = "0gi4pdfgyhl2lss5p71p0jxifni6zl0fv7n4cj42hbalgfyxfv79"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/da4be8c67584ea0ae35c7c9ee33334db5061a538/recipes/repl-toggle"; @@ -53638,12 +56223,12 @@ replace-from-region = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "replace-from-region"; - version = "20150406.1729"; + version = "20161203.1306"; src = fetchFromGitHub { owner = "rubikitch"; repo = "replace-from-region"; - rev = "cff9fdf4ca351f8c5848e3516ccd76cc9be6ffa8"; - sha256 = "0w9ry16crcgc6aiq0xwzf7b301kkw6i44jc0dhfj621bhgmf30aj"; + rev = "959ab7b2e2f19f3b559fd1228597530ce0694d7c"; + sha256 = "0xmslc7r0lsi7566ajrr9sqvzmfp7qjgfg13pf6n63rb3rsk72ny"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f8e4328cae9b4759a75da0b26ea8b68821bc71af/recipes/replace-from-region"; @@ -53663,8 +56248,8 @@ src = fetchFromGitHub { owner = "davidshepherd7"; repo = "replace-pairs"; - rev = "ef6f2719aab7714f6cb209fd3dd6d2e720681b3c"; - sha256 = "169p85rmgashm0g26apkxynmypqk9ndh76kvh572db5kqb8ix0c6"; + rev = "1e49071e2ef46a458a28f77681e313a63db5663c"; + sha256 = "1nl1g6fi7mkr0h3p4xa6czqpihnzdwpj9hg7d6qvlvih001hcc16"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2c578f574bc13edf45330a2836c02dece163688d/recipes/replace-pairs"; @@ -53679,10 +56264,10 @@ }) {}; replace-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "replace-plus"; - version = "20160508.843"; + version = "20170101.1119"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/replace+.el"; - sha256 = "1a59nqrs62xzdpi7as00byf3jamr1zsz8jmf0w4mqag4bp79cd40"; + sha256 = "0cbm5g5d1d4bdfmx3nkldpq8k5ah0cz5ddq7cn4278rjx1h9ml5f"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/replace+"; @@ -53740,12 +56325,12 @@ req-package = callPackage ({ dash, fetchFromGitHub, fetchurl, ht, lib, log4e, melpaBuild, use-package }: melpaBuild { pname = "req-package"; - version = "20160603.401"; + version = "20161012.427"; src = fetchFromGitHub { owner = "edvorg"; repo = "req-package"; - rev = "fea6f96c3b98939c1273ece962b8af5c4bd6f752"; - sha256 = "03yvgb2iiqp90jncrh5ji5l3v5q86rcqb757x1n2x4xkpjjsxa19"; + rev = "f0a81e86ede9896b4653839d5b3ca23f784d3678"; + sha256 = "1mk9wl63yhk0pjnbpsk0awvgxh31r6k98jik1b96adid77jxqj76"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f58a801f0791566d0c39493a5f82ff0d15d7ab41/recipes/req-package"; @@ -53761,12 +56346,12 @@ request = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "request"; - version = "20160822.1659"; + version = "20161221.1711"; src = fetchFromGitHub { owner = "tkf"; repo = "emacs-request"; - rev = "12450136785fe6ff8df940f9c0601406a9fd8bc9"; - sha256 = "0kpb2fhj617kh7xzcls7i911pj61bmjfb7hr0vc1a2pgwpgrpd4y"; + rev = "8c90b24905a66a915790a9b723f28808a40eecf4"; + sha256 = "0w6x7hiaiyabpkyysv76pz27951nxlpaf6z9wvcrzafz37msv5ir"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8d113615dde757a60ce91e156f0714a1394c4bfc/recipes/request"; @@ -53786,8 +56371,8 @@ src = fetchFromGitHub { owner = "tkf"; repo = "emacs-request"; - rev = "12450136785fe6ff8df940f9c0601406a9fd8bc9"; - sha256 = "0kpb2fhj617kh7xzcls7i911pj61bmjfb7hr0vc1a2pgwpgrpd4y"; + rev = "8c90b24905a66a915790a9b723f28808a40eecf4"; + sha256 = "0w6x7hiaiyabpkyysv76pz27951nxlpaf6z9wvcrzafz37msv5ir"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8d113615dde757a60ce91e156f0714a1394c4bfc/recipes/request-deferred"; @@ -53866,12 +56451,12 @@ restart-emacs = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "restart-emacs"; - version = "20160530.622"; + version = "20161108.2239"; src = fetchFromGitHub { owner = "iqbalansari"; repo = "restart-emacs"; - rev = "be789b13ff6358e13a2b7d57224072fb1b108f09"; - sha256 = "1a2myx5isiwr29yhplmv07bisc8rvrabzz9dn239jf4gvr8x89ry"; + rev = "dc28874f47fe47e6891803fd3a483f9577b65ee9"; + sha256 = "029y18bzk9ld2ig9666idsrig1wmnswavcj8rilxw5f8wkrh38wg"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b9faeb6d910d686cbcafe7d12e0bcf62a85689bd/recipes/restart-emacs"; @@ -53970,10 +56555,10 @@ }) {}; reveal-next = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "reveal-next"; - version = "20151231.1550"; + version = "20170101.1120"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/reveal-next.el"; - sha256 = "1h27kg2k8f6smbqxandmvg859qk66jydbbbiwwjmk7316k66w8qa"; + sha256 = "0vqacr3q9n772qmyyj35dxkqp79yqrpfhlf8zj70jzg04xzy6f0m"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/38e5dd845c99acaae719562595059154a08a5f00/recipes/reveal-next"; @@ -54214,15 +56799,78 @@ license = lib.licenses.free; }; }) {}; + ripgrep = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "ripgrep"; + version = "20161116.211"; + src = fetchFromGitHub { + owner = "nlamirault"; + repo = "ripgrep.el"; + rev = "ddb7dcadf8980b9f458343aa853e4b6c3febaee0"; + sha256 = "0ln81fgvp8sk7f01icrjz8nyicd71kp7fg2rsh9hxjr948jx5ncd"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/e8d789818876e959a1a59690f1dd7d4efa6d608b/recipes/ripgrep"; + sha256 = "1j9c3mhcyhs4xf44z6fnlvmb81pps25bp43gdqvp0954i068mgah"; + name = "ripgrep"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/ripgrep"; + license = lib.licenses.free; + }; + }) {}; + riscv-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "riscv-mode"; + version = "20161001.1838"; + src = fetchFromGitHub { + owner = "AdamNiederer"; + repo = "riscv-mode"; + rev = "e8425b71443a2decbe70cc5892e72ce2ceb17570"; + sha256 = "035hv8dpc6rk4b22mw4ch9yzf4wq14h8bba765fxg87grpi0mwg4"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/0853b4b678be7d1906a2f7946bfa1072590faf72/recipes/riscv-mode"; + sha256 = "0496b7xwshmk3gv6s5hggbm9qd60a05racj3xcsxwqzak359lk2b"; + name = "riscv-mode"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/riscv-mode"; + license = lib.licenses.free; + }; + }) {}; + rjsx-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, js2-mode, lib, melpaBuild }: + melpaBuild { + pname = "rjsx-mode"; + version = "20161115.456"; + src = fetchFromGitHub { + owner = "felipeochoa"; + repo = "rjsx-mode"; + rev = "20c7bd0e704dfc1c391edf78765c8b0ec4f5b3c0"; + sha256 = "142zihjqgdq4bfy1hp0pz6k109ngii4kyc8xrdvd9yvzc0y5vp8a"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/b83be7efdef2457e1320fe3dec46484fbd20263c/recipes/rjsx-mode"; + sha256 = "0w3ij8k8058pfw443chm1kn30ia0f5rfbg03w9ddw86xb3wa2q0b"; + name = "rjsx-mode"; + }; + packageRequires = [ emacs js2-mode ]; + meta = { + homepage = "https://melpa.org/#/rjsx-mode"; + license = lib.licenses.free; + }; + }) {}; robe = callPackage ({ fetchFromGitHub, fetchurl, inf-ruby, lib, melpaBuild }: melpaBuild { pname = "robe"; - version = "20160518.259"; + version = "20160926.656"; src = fetchFromGitHub { owner = "dgutov"; repo = "robe"; - rev = "1d03485c37632f8fde0988b24de4f4b26bab07c0"; - sha256 = "0fwxn6pplyh5frwwqk46zq38nj5m2sl1idk1va2jqwnj5r407g78"; + rev = "0c6d8b52293dea80e62b73204871d177c8896c0c"; + sha256 = "0brhw5fl5xhmmwx27aj1yqjslqvk0qdj4akpgq1ikpx8y4gac95d"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/673f920d02fe761bc080b73db7d37dbf5b6d86d8/recipes/robe"; @@ -54280,12 +56928,12 @@ rope-read-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "rope-read-mode"; - version = "20160603.9"; + version = "20161003.610"; src = fetchFromGitHub { owner = "marcowahl"; repo = "rope-read-mode"; - rev = "7bb3b8b2d250bfd63b988f4469ff62979ebcee8c"; - sha256 = "0f90m47d1qyl16bq7gqz0xxx38jfgjay7s404q8ikwkvjhg3p85y"; + rev = "442886655166e9c9472d6aebad27aaf2fed3f3e0"; + sha256 = "1f4wp85j691sgc1yx3l73bdm5lvqgvgms2ic9yg3g0v5n8drgn1k"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/14a674559aa485e92357a8b941304ae8167b9c3e/recipes/rope-read-mode"; @@ -54301,16 +56949,16 @@ rotate = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "rotate"; - version = "20160214.2318"; + version = "20160909.136"; src = fetchFromGitHub { - owner = "daic-h"; + owner = "daichirata"; repo = "emacs-rotate"; - rev = "868122fa807db32762a68defcf69654a28a5a39f"; - sha256 = "13xrjd5p2zq0r8ifbqbrgjfm0jj09nyxcbhk262jr6f171rf0y2m"; + rev = "091b5ac4fc310773253efb317e3dbe8e46959ba6"; + sha256 = "0msjn7ays71mcw6qmdk0mpjp1rvd7fwz917vmvlcd7cpmvkyfbds"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/771195f360543eab5c49da546bab0c7235f92ab5/recipes/rotate"; - sha256 = "0dygdd24flbgqp049sl4p8rymvv8h881hz9lvz8hnfwq687yyclx"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/7d92e66cad586d4dc6b1de12d1b41b818b5232c2/recipes/rotate"; + sha256 = "11a0svvfq29cb4630jq0hz19xk9jfhfjnssm7vg0dnlzpxqi3vif"; name = "rotate"; }; packageRequires = []; @@ -54406,12 +57054,12 @@ rspec-mode = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, ruby-mode ? null }: melpaBuild { pname = "rspec-mode"; - version = "20160715.509"; + version = "20161129.1525"; src = fetchFromGitHub { owner = "pezra"; repo = "rspec-mode"; - rev = "9e254cef81dc5533739efab2d81a575df0334629"; - sha256 = "1wcdq3hyb0q7l6nj6qbaf32m3mhfiph4kdd6frxf0fb93b8rpciz"; + rev = "8e05e95548da58c63d8b805d4516eb892621f8e3"; + sha256 = "1n93vjzjmbs7yna74rpn57ckps903fdam2ljh6jm5a9ivsxnc2mn"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cd83e61b10da20198de990aa081b47d3b0b44d43/recipes/rspec-mode"; @@ -54427,12 +57075,12 @@ rtags = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "rtags"; - version = "20160830.957"; + version = "20161227.1124"; src = fetchFromGitHub { owner = "Andersbakken"; repo = "rtags"; - rev = "9f4fcaefd51915dae69cf283e62e5883ae6cef09"; - sha256 = "1grw4gc98yaxsdqarl2n3w3bn4h9nri1anjrvw5hqi9i111fskwb"; + rev = "9234dc6c884d208bf878825dcfc49397df175b1f"; + sha256 = "1451rf6i5wafyrnax0ql4z450ax6i9r03hwzhh5xkxiijxwlw7rx"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ac3b84fe84a7f57d09f1a303d8947ef19aaf02fb/recipes/rtags"; @@ -54452,8 +57100,8 @@ src = fetchFromGitHub { owner = "pmiddend"; repo = "emacs-rtm"; - rev = "dfc1440178d479b1f81ba60b8bfc068384a603a0"; - sha256 = "1gqvp0h5zy2023gdzf7pw28rl27lzml87vpbi1zaw4bmj82zgh3f"; + rev = "08dc10458b56e72f1512896192b2114ef57e58c5"; + sha256 = "1ajks5dmsb5cyj0hzxbp3r305liwaayb8jds0wdnw4nk5anlsbnr"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0acb202acc25420274a1b9e639f34f9878a61e83/recipes/rtm"; @@ -54469,12 +57117,12 @@ rubocop = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "rubocop"; - version = "20151123.2137"; + version = "20161015.1200"; src = fetchFromGitHub { owner = "bbatsov"; repo = "rubocop-emacs"; - rev = "c54905256410ce2aed6725d5b5f7ed61d4ddc956"; - sha256 = "1y5z0kr4qwd4fyvhk0rhpbbp6dw2jpzrawx62jid5539wrdjcabk"; + rev = "42198901d3bc0a3170b403dc194203f7c07bdb13"; + sha256 = "0vwnn087h0fgr5wr2c4qa3lwzprd2hyip5vkix7hr79linp2qnzl"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/00f2cf3e8e28bce5c26c86aba54390ffff48d7da/recipes/rubocop"; @@ -54490,11 +57138,11 @@ ruby-additional = callPackage ({ emacs, fetchsvn, fetchurl, lib, melpaBuild, ruby-mode ? null }: melpaBuild { pname = "ruby-additional"; - version = "20160607.157"; + version = "20161115.2259"; src = fetchsvn { url = "http://svn.ruby-lang.org/repos/ruby/trunk/misc/"; - rev = "56050"; - sha256 = "0lcd5p5rkga6yfaaa5smy2pl1y1xv69ap33kyjmq58ajd78gql2m"; + rev = "57259"; + sha256 = "0n4gnpms3vyvnag3sa034yisfcfy5gnwl2l46krfwy6qjm1nyzhf"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/17cc8e84dd68f280c23f77510f58f21e7e7cbaae/recipes/ruby-additional"; @@ -54573,8 +57221,8 @@ version = "20150424.752"; src = fetchsvn { url = "http://svn.ruby-lang.org/repos/ruby/trunk/misc/"; - rev = "56050"; - sha256 = "0lcd5p5rkga6yfaaa5smy2pl1y1xv69ap33kyjmq58ajd78gql2m"; + rev = "57259"; + sha256 = "0n4gnpms3vyvnag3sa034yisfcfy5gnwl2l46krfwy6qjm1nyzhf"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2d67431327845171f0e50d28e9276cbabecf6cb0/recipes/ruby-electric"; @@ -54657,8 +57305,8 @@ src = fetchFromGitHub { owner = "purcell"; repo = "ruby-hash-syntax"; - rev = "d73a498143a3a8d6d3a7720104f2f14e70b2e2ae"; - sha256 = "0knl8zrd4pplnzk5z19cf9rqdfr3ymzfssrwp6jhndjzjdwvc2bv"; + rev = "13288a29478a9e45ab4fd2188aea8d4894e08848"; + sha256 = "1zx70bdyqabx03g813h76ks9agy66yf08z9x83yw1rsf713d1pg2"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c7d21a43a4bf267507bdc746ec9d0fd82049c0af/recipes/ruby-hash-syntax"; @@ -54716,12 +57364,12 @@ ruby-test-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, pcre2el, ruby-mode ? null }: melpaBuild { pname = "ruby-test-mode"; - version = "20160711.335"; + version = "20160930.9"; src = fetchFromGitHub { owner = "r0man"; repo = "ruby-test-mode"; - rev = "24c7b59a834413d60a97c5f59917dc13c247c883"; - sha256 = "0lcp5sil9fhlgq4mi1xc2zhrd5g4v84jviba8cs2rrhjx5ibwp1s"; + rev = "0924e9d17e0a9b7c5c1a4e878367be47f58a396c"; + sha256 = "0hlzkwll6di13hja3hm3nzmcjkwgciq9bziz837cr49agagz3b55"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/746e0e49a24f16baa5f1cc7f11220766ecf9f1fe/recipes/ruby-test-mode"; @@ -54800,12 +57448,12 @@ rust-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "rust-mode"; - version = "20160820.255"; + version = "20161031.2109"; src = fetchFromGitHub { owner = "rust-lang"; repo = "rust-mode"; - rev = "5cfb9197af67e00ebd5bbcb05c28545c9014ea32"; - sha256 = "1pvb6imh89pnmxzdlivyidqqd7f1va29dvjhy5znw2qhw1myf4hn"; + rev = "e32765893ce2efb2db6662f507fb9d33d5c1b61b"; + sha256 = "03i79iqhr8fzri018hx65rix1fsdxk38pkvbw5z6n5flbfr4m0k4"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8f6e5d990d699d571dccbdeb13327b33389bb113/recipes/rust-mode"; @@ -54818,6 +57466,27 @@ license = lib.licenses.free; }; }) {}; + rust-playground = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, rust-mode }: + melpaBuild { + pname = "rust-playground"; + version = "20161227.1107"; + src = fetchFromGitHub { + owner = "grafov"; + repo = "rust-playground"; + rev = "122db4a5a85565bc5939c90e19ae232eae729d3a"; + sha256 = "0ki1iwzmm9ir7f6l591dn1a8byyr9xg7gapa7d3fagsm3mnx0ak1"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/a5ebbcca659bb6d79ca37dc347894fac7bafd9dd/recipes/rust-playground"; + sha256 = "1w29plj06ld3iq8xhjnfh8hphcp7aji15y1xqp8bb9m1k07wza7l"; + name = "rust-playground"; + }; + packageRequires = [ emacs rust-mode ]; + meta = { + homepage = "https://melpa.org/#/rust-playground"; + license = lib.licenses.free; + }; + }) {}; rustfmt = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "rustfmt"; @@ -54860,15 +57529,36 @@ license = lib.licenses.free; }; }) {}; + ryo-modal = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "ryo-modal"; + version = "20161007.1633"; + src = fetchFromGitHub { + owner = "Kungsgeten"; + repo = "ryo-modal"; + rev = "83de15288751ca985a668a9f57a113cb107a6229"; + sha256 = "1631lsqwvgy7zbgdrfyfbhsa0n7qp28m8h5ima7siy5f9clfdvlz"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/a4d9f86140b0ee95742c3a66dfbc063b5f87fb3a/recipes/ryo-modal"; + sha256 = "019r1k14mhdv1x06fd5q4l0l4jnjy330b078qvpxrqv1fnwh1q51"; + name = "ryo-modal"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/ryo-modal"; + license = lib.licenses.free; + }; + }) {}; s = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "s"; - version = "20160711.525"; + version = "20160928.636"; src = fetchFromGitHub { owner = "magnars"; repo = "s.el"; - rev = "a767c1c04c3accef0bdd5e7e785f6dbee6dd85b8"; - sha256 = "1qwxynzsv7f9hn3np5jnqalp5xm88hcilpzp39fs3b2irpa0s3i4"; + rev = "fc395c8d5e6c14d5e0920ab80d4d5df007eed14a"; + sha256 = "07db8jfi1m19x760grkznaiwbap5dp00cicd88cbam16a0qfhbjj"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d6e5137dac9f8f95579994601cb1e24614f965f2/recipes/s"; @@ -54923,22 +57613,22 @@ license = lib.licenses.free; }; }) {}; - sage-shell-mode = callPackage ({ cl-lib ? null, deferred, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + sage-shell-mode = callPackage ({ cl-lib ? null, deferred, emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild }: melpaBuild { pname = "sage-shell-mode"; - version = "20160526.2248"; + version = "20161228.2248"; src = fetchFromGitHub { - owner = "stakemori"; + owner = "sagemath"; repo = "sage-shell-mode"; - rev = "26303698cbd807b4cbaa241b0671f7e542a3bbe4"; - sha256 = "1124akipvrcmkd66slklgap2jdvb8iksldd8sjvg9n25kp0wd0vr"; + rev = "5c1651b3b754e645d64ac5cc6831b0f12cab52e9"; + sha256 = "00ygigs78md650yap4gz5y5n0v2n08771df4kqnpklycc3csrlbh"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/ff7cefd5497aec9ed271fd783625fed445c4ac12/recipes/sage-shell-mode"; - sha256 = "18k7yh8rczng0kn2wsawjml70cb5bnc5jr2gj0hini5f7jq449wx"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/eb875c50c2f97919fd0027869c5d9970e1eaf373/recipes/sage-shell-mode"; + sha256 = "0ivqiigmp9cf88j4xapzanjpbx692r70wb4i25mnppqsi3jlwxdv"; name = "sage-shell-mode"; }; - packageRequires = [ cl-lib deferred emacs ]; + packageRequires = [ cl-lib deferred emacs let-alist ]; meta = { homepage = "https://melpa.org/#/sage-shell-mode"; license = lib.licenses.free; @@ -54965,27 +57655,6 @@ license = lib.licenses.free; }; }) {}; - salt-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, mmm-jinja2, mmm-mode, yaml-mode }: - melpaBuild { - pname = "salt-mode"; - version = "20150904.1113"; - src = fetchFromGitHub { - owner = "beardedprojamz"; - repo = "salt-mode"; - rev = "c9147cb78680cc34e6fcff3968c336460a9090a4"; - sha256 = "1hl227bmjch0vq7n47mwydkyxnd6wkbz9klk3c4398qmc2qxm5kn"; - }; - recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/f75b1d3a8011bee1e8818473ee8d3a14e89553f9/recipes/salt-mode"; - sha256 = "1r5k7022vxgj3p5l16y839lff85z0m9hpifq59knij61g9hxadsp"; - name = "salt-mode"; - }; - packageRequires = [ mmm-jinja2 mmm-mode yaml-mode ]; - meta = { - homepage = "https://melpa.org/#/salt-mode"; - license = lib.licenses.free; - }; - }) {}; sane-term = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "sane-term"; @@ -54993,8 +57662,8 @@ src = fetchFromGitHub { owner = "adamrt"; repo = "sane-term"; - rev = "034033141b2eb467e2d0b79c8ce1da1f8ff2f013"; - sha256 = "0nhs916h52hxbp479ma01p6i0zfap26n4fvyx83822pisbcd3krb"; + rev = "ef6fd08078f49f2bb3be60855d2d002bb6a5e0d2"; + sha256 = "0aazzq1yqn5mal75hxa6ifx2hnyv0lh800klqvzn26xd7i8xcfrd"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5df85d24ee7ed41aab983626df72641bb04dadd5/recipes/sane-term"; @@ -55010,12 +57679,12 @@ sass-mode = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, haml-mode, lib, melpaBuild }: melpaBuild { pname = "sass-mode"; - version = "20160506.2045"; + version = "20161006.2326"; src = fetchFromGitHub { owner = "nex3"; repo = "sass-mode"; - rev = "7f0df85fd1b90e40e019a0f2e4ea6661169ceb65"; - sha256 = "1zvsv2j3hqrj9vlm4mspfnm9nwah0lhizamyx43xykd7xk0z8hkw"; + rev = "37105f46f6ea3592039f2ea7d0463ae7f042616e"; + sha256 = "0gd0n5mh2f1gr2aq65d94zmvc2d04z2yb1baw24m0c11fai4y710"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/sass-mode"; @@ -55133,22 +57802,22 @@ license = lib.licenses.free; }; }) {}; - sbt-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + sbt-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "sbt-mode"; - version = "20160816.1353"; + version = "20161202.227"; src = fetchFromGitHub { owner = "ensime"; repo = "emacs-sbt-mode"; - rev = "cb9940f0e8b1346f4297ff6c2c90b406c92abab0"; - sha256 = "10bq04xm3b8awjnfq0mg52zm3rds1kr7q0jfrvhjkbd9rwd1y9bz"; + rev = "6caabd4e68fb878e743a29d16356a2c2c3bd7637"; + sha256 = "0fq70lwwv5q0mzxli9x1m244i30nkc457mib07qypax9n51vfqyv"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/364abdc3829fc12e19f00b534565227dbc30baad/recipes/sbt-mode"; sha256 = "0v0n70czgkdijnw5jd4na41vlrmqcshvr8gdpv0bv55ilqhiihc8"; name = "sbt-mode"; }; - packageRequires = []; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/sbt-mode"; license = lib.licenses.free; @@ -55161,8 +57830,8 @@ src = fetchFromGitHub { owner = "openscad"; repo = "openscad"; - rev = "733562b1eea812d7f5b241678fc6bf42af5bc0dc"; - sha256 = "0qap5gih0wh6g1dj271s6fkhb2y1i1mk6nl0wipg9sdgdc3m50lp"; + rev = "1fd9f05b441e85d5f827ce96154ce79ca334ce32"; + sha256 = "1rs5j08nbk90rsvrjk074avz1jp3zqqfgbi57ark8bb5hlvzl2rm"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2d27782b9ac8474fbd4f51535351207c9c84984c/recipes/scad-mode"; @@ -55199,12 +57868,12 @@ scala-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "scala-mode"; - version = "20160813.304"; + version = "20161222.900"; src = fetchFromGitHub { owner = "ensime"; repo = "emacs-scala-mode"; - rev = "a0b73b25377f5aedf50abe198d6b6111310735be"; - sha256 = "0b2gm1mfxiqm86m5156scmzvn10dl0idgxpzgki1k0cpy4xf4qfa"; + rev = "9b8db623b13fcb0aad9271d1fae73e1257dda13c"; + sha256 = "0q41dqlhp0cds16inmh7jrvhqrnjsdiv2in6pq3f0srhwms81ff3"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/564aa1637485192a97803af46b3a1f8e0d042c9a/recipes/scala-mode"; @@ -55280,6 +57949,26 @@ license = lib.licenses.free; }; }) {}; + schrute = callPackage ({ emacs, fetchgit, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "schrute"; + version = "20161124.1227"; + src = fetchgit { + url = "https://bitbucket.org/shackra/dwight-k.-schrute"; + rev = "08ab6565fa94f3a8016163fe6f7be1932af1156b"; + sha256 = "0l1k6wjjr569lk5k8ydwq13041kn889g20qbzf79qj1ws96rim4m"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/505fc4d26049d4e2973a54b24117ccaf4f2fb7e7/recipes/schrute"; + sha256 = "1sr49wr3738sqfzix7v9rj6bvv7q2a46qdkimn9z7rnsjys9i7zy"; + name = "schrute"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/schrute"; + license = lib.licenses.free; + }; + }) {}; scion = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "scion"; @@ -55367,16 +58056,16 @@ scratch = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "scratch"; - version = "20120830.1028"; + version = "20120830.1105"; src = fetchFromGitHub { - owner = "ieure"; + owner = "cbbrowne"; repo = "scratch-el"; - rev = "54e31e81cd239e1fd1b3c6a20ff426029bf9aaf5"; - sha256 = "0ykhr24vpx3byn2n346nqqvmwcg34hk22s3lpdx7lpnkrn5z41aq"; + rev = "b377e5642aa0d0ddc9dbb2003d2055bc013e6426"; + sha256 = "1nr6yqmxz6jqjkfj249yz88480shlsnmri0d322pkz88d4nkr0hq"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/b3faa25e63d4e1650d785b384a353e1b0ac20e33/recipes/scratch"; - sha256 = "1c6vxpd9c24d2flzwgvzqz0wr70xzqqs3f59pp897h0f7j91im5d"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/e794c1fa9bd93e25a65c2b71a5ccf5662fe179bf/recipes/scratch"; + sha256 = "1hhwyvg05cnzfnn4bgygvjfqyayxl65f5zn7h05h9axvcab6s7kj"; name = "scratch"; }; packageRequires = []; @@ -55592,6 +58281,48 @@ license = lib.licenses.free; }; }) {}; + sdcv = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, popup, pos-tip, showtip }: + melpaBuild { + pname = "sdcv"; + version = "20161029.1945"; + src = fetchFromGitHub { + owner = "stardiviner"; + repo = "sdcv.el"; + rev = "62235bb69b903a5b191ff9935616dddf15fed52c"; + sha256 = "1y2a7132xsi10j9mx0mrpkp947h171rp67n04q0y5smjapvgjjlf"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/173e233b2dacaaf54d92f3bcc06e54d068520dd4/recipes/sdcv"; + sha256 = "1bj3b17sjd9fha686g6w191l4p8a1p8sb9br65xf54n6nd9bmv7a"; + name = "sdcv"; + }; + packageRequires = [ cl-lib emacs popup pos-tip showtip ]; + meta = { + homepage = "https://melpa.org/#/sdcv"; + license = lib.licenses.free; + }; + }) {}; + sdlang-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "sdlang-mode"; + version = "20161130.2311"; + src = fetchFromGitHub { + owner = "CyberShadow"; + repo = "sdlang-mode"; + rev = "d42a6eedefeb44919fbacf58d302b6df18f05bbc"; + sha256 = "0r6sm7b15scmjcpdcqvm55hdsvyw5d2g7mrfhsx2hs8sqz64gkwc"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/691af79137015f15a3d383439e534e255ba4b36d/recipes/sdlang-mode"; + sha256 = "1z6n374z55dr2c6xdwgvmpznd5gk9y23k136zmy29b68j2kswj6l"; + name = "sdlang-mode"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/sdlang-mode"; + license = lib.licenses.free; + }; + }) {}; search-web = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "search-web"; @@ -55657,10 +58388,10 @@ }) {}; second-sel = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "second-sel"; - version = "20151231.1553"; + version = "20161210.820"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/second-sel.el"; - sha256 = "143vg6z3aa0znmsx88r675vv5g2c13giz25dcbzazsp4wcr46wvq"; + sha256 = "0c9j1lbharzyvhvb6whcymra76y0nyqfnaw1s5qzd3xdq5c9sf7c"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/second-sel"; @@ -55673,6 +58404,26 @@ license = lib.licenses.free; }; }) {}; + secretaria = callPackage ({ alert, emacs, f, fetchgit, fetchurl, lib, melpaBuild, org, s }: + melpaBuild { + pname = "secretaria"; + version = "20161017.1345"; + src = fetchgit { + url = "https://bitbucket.org/shackra/secretaria.el"; + rev = "aae30bfc93fa5ea846bce086b22321c46b94ff7b"; + sha256 = "18ad7q2a131gpvjj8923vp06zh0zfdy1589vs3f09v16aazbcfqc"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/7b4c9ccbf2eeaa290f3b9d1e5eaaeb5b5547b365/recipes/secretaria"; + sha256 = "1a8jf91wplzazssh0s8ld0g8rp57gdfvxlsyn643w3mbp3ny8ybv"; + name = "secretaria"; + }; + packageRequires = [ alert emacs f org s ]; + meta = { + homepage = "https://melpa.org/#/secretaria"; + license = lib.licenses.free; + }; + }) {}; seeing-is-believing = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "seeing-is-believing"; @@ -55722,8 +58473,8 @@ src = fetchFromGitHub { owner = "kiyoka"; repo = "sekka"; - rev = "2768b2c16dd15dcd35fcfd123c4d56f2ffd1b362"; - sha256 = "1as3llcs7jgcw9pafz4mbfml1cqd1fw8yl64bb4467nmhq2p18p7"; + rev = "8f256be87564653aeef702b3c09f235f0bcb6ae8"; + sha256 = "031aiypx1n8hq613zq4j6gh61ajzja2j60df9mwy50a0qma34awr"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/350bbb5761b5ba69aeb4acf6d7cdf2256dba95a6/recipes/sekka"; @@ -55781,12 +58532,12 @@ selectric-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "selectric-mode"; - version = "20160824.1522"; + version = "20161125.429"; src = fetchFromGitHub { owner = "rbanffy"; repo = "selectric-mode"; - rev = "dcbfc60658ab698e7c43baa5871af7aff2e35823"; - sha256 = "1fd3liqdhd0dw1kkgjz3qvajnlr8k60gbcgfzy3s858q2x6ranfl"; + rev = "a8e8c8899c749bd36bdd161e161cdc51301defc6"; + sha256 = "1dj8vccdk1s0ynl5znpg02xp182srn3s8cqcxqrxjllp7wbgab31"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/08922071b9854142eab726302e75f1db2d326ec5/recipes/selectric-mode"; @@ -55902,22 +58653,22 @@ license = lib.licenses.free; }; }) {}; - seoul256-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + seoul256-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "seoul256-theme"; - version = "20150714.1535"; + version = "20161121.1247"; src = fetchFromGitHub { - owner = "ChrisDavison"; - repo = "seoul256.el"; - rev = "32790703847b868e8fdd9c0736b0b8a0167f97cf"; - sha256 = "15vmd1qmj8a6a5mmvdcnbav6mi5rhrp39m85idzv02zm0x9x6lyc"; + owner = "anandpiyer"; + repo = "seoul256-emacs"; + rev = "4ec545214b137bd0062d53108b8a523250bda875"; + sha256 = "0hwvsxq7cba2bqanjmlln8cx63nhsq3rlg9p12lwbqrfppmlfj18"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/1aff32f498ec4fd765c346f0c9da44cf919723f2/recipes/seoul256-theme"; - sha256 = "0mgyq725x5hmhs3h8v5macv8bfkginjghhwr9kli60vdb4skgjvp"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/664fc68d7b0eb92940fc188f5b9bee7ac7e0c674/recipes/seoul256-theme"; + sha256 = "058fadcqz21c22lzf33badibb7hn3w695akh560v10n8750h5wca"; name = "seoul256-theme"; }; - packageRequires = []; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/seoul256-theme"; license = lib.licenses.free; @@ -56029,12 +58780,12 @@ seti-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "seti-theme"; - version = "20150314.122"; + version = "20161208.836"; src = fetchFromGitHub { owner = "caisah"; repo = "seti-theme"; - rev = "f2f472af00f251f8cdced29faadbb3380d3c7ff1"; - sha256 = "18igxblmrbxwhd2d68cz1bpj4524djh2dw2rwhxlij76f9v805wn"; + rev = "cbfef2fc15d19ce4c8326e65fafdd61737077132"; + sha256 = "191mvz6d6j764q1sj2496i6lq0q42b5qh5zfdvf0yl39pzbwx8jx"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/088924b78575359996cf30745497b287cfb11f37/recipes/seti-theme"; @@ -56068,6 +58819,27 @@ license = lib.licenses.free; }; }) {}; + sexy-monochrome-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "sexy-monochrome-theme"; + version = "20160915.353"; + src = fetchFromGitHub { + owner = "nuncostans"; + repo = "sexy-monochrome-theme"; + rev = "87bea99be5fe4f2395bec1c6ee7f81794c3f6695"; + sha256 = "0gyh9kfj76wxajrbdi3q0cii9giyn2gbfdsgnrgvh1cv96cqbm6i"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/9a09ffb7d271773f6cfa7c7eeaba45a717a5bdca/recipes/sexy-monochrome-theme"; + sha256 = "1qmbb2aaa1lc18l9kk42iq466hy2mg7565b0gb7hdvfqsi05d8dg"; + name = "sexy-monochrome-theme"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/sexy-monochrome-theme"; + license = lib.licenses.free; + }; + }) {}; shackle = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "shackle"; @@ -56075,8 +58847,8 @@ src = fetchFromGitHub { owner = "wasamasa"; repo = "shackle"; - rev = "4ec9883fa68ffc4a0dc02998b98fe59bd87a1143"; - sha256 = "0hp51fq2gk9ksln691h7vkm8r9rif8lbjhd4593xri69778rz387"; + rev = "fcd9f53cd044ad169a240e3d12a2cf2d65485db6"; + sha256 = "10lgafsck2r9x7997gdl3v1wn4sig0pm6jarip9496ka58z95mjb"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/806e7d00f763f3fc4e3b8ebd483070ac6c5d0f21/recipes/shackle"; @@ -56134,12 +58906,12 @@ shakespeare-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "shakespeare-mode"; - version = "20160609.1028"; + version = "20160908.1511"; src = fetchFromGitHub { owner = "CodyReichert"; repo = "shakespeare-mode"; - rev = "ad5f4de2e0b51723deea2c68a2b5aa862bf38022"; - sha256 = "1daqh496m72l71x24czvzwf92rk310lzxp16l50qxlxif7rgpr78"; + rev = "0406a5ac4c98fcd171f0539c5cd88050aa351ea8"; + sha256 = "04p6132121cv9z20mpp3dw5b4s4k8wcknscq97a7z072cabph3ji"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b1c547d37422998c01a610f88d62784fbca33523/recipes/shakespeare-mode"; @@ -56254,12 +59026,12 @@ shell-pop = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "shell-pop"; - version = "20160611.540"; + version = "20161127.623"; src = fetchFromGitHub { owner = "kyagi"; repo = "shell-pop-el"; - rev = "38e702f6980f4ac9d8a836cb8b7fe3b406aa52bd"; - sha256 = "02ga9h8s5lh1z6nqgi4d6icsdc1z46hk713vzfr3q1sdir1nbf58"; + rev = "788250f22a4e652407eef117f19d6f4b56d7f919"; + sha256 = "0dd4hxbw6q9fazdjqdlfvv2g7fggmfhfmmy9ncipy4v8yd2d74pn"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/44150bddc9b276ab9fb2ab6a92a11383a3ed03b0/recipes/shell-pop"; @@ -56296,12 +59068,12 @@ shell-switcher = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "shell-switcher"; - version = "20160111.2335"; + version = "20161028.2252"; src = fetchFromGitHub { owner = "DamienCassou"; repo = "shell-switcher"; - rev = "bdf28e10a05d7187a4c4440d164ae08ba943b856"; - sha256 = "1bcrxq43a45alv6x0wms4d4nykiqz2mzk04kwk5lmf5pw3dqm900"; + rev = "28a7f753dd7addd2933510526f52620cb5a22048"; + sha256 = "1x7rrf56hjasciim8rj29vfngwis4pr3mhclvxd4sbmhz9y66wm0"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a16194f6ddc05350b9875f4e0a3a0383c79e650e/recipes/shell-switcher"; @@ -56380,12 +59152,12 @@ shen-elisp = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "shen-elisp"; - version = "20160624.340"; + version = "20161113.1611"; src = fetchFromGitHub { owner = "deech"; repo = "shen-elisp"; - rev = "2896533e07ed072da09a37e9f236141d8f5d4842"; - sha256 = "1445vv2qj1n0mqx9hn693580af30irsv51i493bn8ab0if80lvxb"; + rev = "1828dbd81ced737a7b0bc6e3c8caf9380d5f8fdd"; + sha256 = "1paf9lyk552kl3lmfsfw9r45ab9s8iypvg20jwdw6y6p1fjcykmk"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ed9f0577c6828236582df1781e751b8b81746492/recipes/shen-elisp"; @@ -56405,8 +59177,8 @@ src = fetchFromGitHub { owner = "alezost"; repo = "shift-number.el"; - rev = "e59840cb7fb142b21e8b1e30b95dc3b4688dca65"; - sha256 = "0dlwcifw5mlski0mbvqqgmpb0jgf5i67x04s8yab1sq9rr07is57"; + rev = "4ea4c2a2ece26e208980e6d2f0939271bca751aa"; + sha256 = "1fqrsr4j2axmxnvznz9zyy8giywnia23i6a8xi1f8lx924xg3cr6"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b06be6b25078ddfabc1ef1145c817552f679c41c/recipes/shift-number"; @@ -56443,12 +59215,12 @@ shm = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "shm"; - version = "20160615.31"; + version = "20170102.531"; src = fetchFromGitHub { owner = "chrisdone"; repo = "structured-haskell-mode"; - rev = "e4f3c8f3474bfd1338ba0207c21159910698b63d"; - sha256 = "1x45d43jnckwfl669ckdb4idkvyzx7qnm96jcnd3843g780pm0ag"; + rev = "993ff90454389401e606ee3d4ad1548c5e6508f1"; + sha256 = "1bvzi12z2rlc7p4n731dbmw68719yfy585f8g6xr0dsj5x20gh11"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/68a2fddb7e000487f022b3827a7de9808ae73e2a/recipes/shm"; @@ -56526,10 +59298,10 @@ }) {}; showkey = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "showkey"; - version = "20160816.2247"; + version = "20170101.1132"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/showkey.el"; - sha256 = "1aipl39lh2kym5pc7a8z5sznrrssz327spd6y9cf84agy2k7mv5d"; + sha256 = "1mx48ly135wmqrr0srwnxby46b0mcnyw4vyd0jykih9ygd8kk4dj"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e2b5576d501aee95c8f62d721a69077a1f3df424/recipes/showkey"; @@ -56647,12 +59419,12 @@ sicp = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "sicp"; - version = "20151130.757"; + version = "20161219.542"; src = fetchFromGitHub { owner = "webframp"; repo = "sicp-info"; - rev = "7d060136bf4582fa74e4aa7cb924d856eea270f4"; - sha256 = "102ssiz4sp7y816s1iy8i98c314jbn3sy0v87b0qgpgjiq913ffq"; + rev = "d2abe9ef3c4630511bca320161752d1d4babdbef"; + sha256 = "089mnsaqdr2bcmnrwkrvd0hyq2j0fdnh4ap393m5xnj2riyszdjf"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4e39cd8e8b4f61c04fa967def6a653bb22f45f5b/recipes/sicp"; @@ -56752,12 +59524,12 @@ simp = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "simp"; - version = "20160315.924"; + version = "20161206.2151"; src = fetchFromGitHub { owner = "re5et"; repo = "simp"; - rev = "f74467507983a3c8a8b61268e07219fbaa628ae5"; - sha256 = "177bhvynqsdfwwqhhlh1v0pqvscy3xv6hhxi7fb42l5dmsw5b97z"; + rev = "13959cabdc7a10d8878592ef4333b3e6df2f1483"; + sha256 = "1wph7r7r9s867wr6j17fqch8hmj20fksrhl80bw2k4vyscaj0f22"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/45ff5b788e12218f8e2df7e53444796ca4b929fc/recipes/simp"; @@ -56777,8 +59549,8 @@ src = fetchFromGitHub { owner = "jtkDvlp"; repo = "simple-bookmarks"; - rev = "e89e8163a0705e28e9346320a1ee13c1aae249af"; - sha256 = "0bx8inaihfs48rzi01nlr3wp2iw0bnk318hhgpd4zg64ap3sgdsv"; + rev = "6c58337f2b7dbe9e58b5e097b1567f046a01d071"; + sha256 = "05071n96d91q3jz9dwp1qkqwq56k0d7cd1pnjj4jvjx4kb852waj"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a60dd50c388a75ce21a5aec9acf938835d7afdbc/recipes/simple-bookmarks"; @@ -56794,12 +59566,12 @@ simple-call-tree = callPackage ({ anaphora, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "simple-call-tree"; - version = "20160609.1108"; + version = "20161007.1913"; src = fetchFromGitHub { owner = "vapniks"; repo = "simple-call-tree"; - rev = "3f6c2f8052d0c1609ee2452587dce3f0777df96e"; - sha256 = "1d29c2wrm0mmx2airr18b330h2c66rfk6a3ydx3z2xzcw2k888pb"; + rev = "431206e9c2b88cbab9cfe9ebf3f6cb73f5e6740f"; + sha256 = "1qwswf5i060j396gfsr60zid0lqwf5xkrq3q0c1s6nz9wxlhayjw"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/316a5ffcb3080abd623bbe3065077809e6cbfb74/recipes/simple-call-tree"; @@ -56815,12 +59587,12 @@ simple-httpd = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "simple-httpd"; - version = "20150430.1755"; + version = "20160902.1800"; src = fetchFromGitHub { owner = "skeeto"; repo = "emacs-web-server"; - rev = "4b7a6bc6a6df6b932f8c9e9aded9103397c0c18f"; - sha256 = "0jn46fk0ljqs40kz6ngp0sk6hg1334835r2rmagx4qm0mdaqy7p8"; + rev = "ff1c0b661d1b5b8abdb4bea2efec5efe8485dd1f"; + sha256 = "054mi7plsyk79kc2iqmgp1w8frvlyg1pywm3fzcyg8qa461d35dw"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/simple-httpd"; @@ -56836,12 +59608,12 @@ simple-mpc = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "simple-mpc"; - version = "20160716.343"; + version = "20161103.1219"; src = fetchFromGitHub { owner = "jorenvo"; repo = "simple-mpc"; - rev = "0802c385ff17b4226314e0ac396ea7e425e35092"; - sha256 = "1xwna7s32baz0aix5d1q52f5lvh045904fvydhchxv9y1fs46jzl"; + rev = "61b39d02313fa51a1dd7326fe24871666c64a077"; + sha256 = "1g8s37misx0kl32ngffqgqdzphz22v25k39q571jz4q1dibhmsyz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/62d762308c1ec0c1d8f7b4755b7deb285cbac018/recipes/simple-mpc"; @@ -56857,10 +59629,10 @@ simple-plus = callPackage ({ fetchurl, lib, melpaBuild, strings }: melpaBuild { pname = "simple-plus"; - version = "20151231.1600"; + version = "20170101.1133"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/simple+.el"; - sha256 = "01fdk790jlpxy95y67yv6944ws4zjh7gs6ymnj1yflf19ccsdsnn"; + sha256 = "1z1l1lsddd865ma1q714hj4y9p89z1m3hr7z9fir53ipsa31cnl1"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/simple+"; @@ -56960,12 +59732,12 @@ simplenote2 = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, request-deferred }: melpaBuild { pname = "simplenote2"; - version = "20160318.603"; + version = "20161212.642"; src = fetchFromGitHub { owner = "alpha22jp"; repo = "simplenote2.el"; - rev = "a0941475c5fd71a31280f3219424af4586288719"; - sha256 = "0k16sjbrhxbv3fj5rzjzvs03230nwlzmvw18dhdhzzblk08f28dp"; + rev = "d005d6567cc484b61f2d233f4bf828a2365223c2"; + sha256 = "1fp1pz6qsb3yg7wdp680i12909bv00m64102cq4pwl29cz9cgpv1"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1ac16abd2ce075a8bed4b7b52aed71cb12b38518/recipes/simplenote2"; @@ -57044,12 +59816,12 @@ skewer-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, js2-mode, lib, melpaBuild, simple-httpd }: melpaBuild { pname = "skewer-mode"; - version = "20150914.1304"; + version = "20161205.419"; src = fetchFromGitHub { owner = "skeeto"; repo = "skewer-mode"; - rev = "92e13cf9540128b2bbab28ac1a0a7a4c00771270"; - sha256 = "0dwc3qaqnzjsccvr3gapip4yr17fzgv4w33ydq8hjqn8rs9rqq6l"; + rev = "3417b6f306dfcddde17b86f29a336b76420cce89"; + sha256 = "05bz5bsj3vkfjp1wh477fzjlkv5hbhr4anfxlx2a1r7wimmlrmbd"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/10fba4f7935c78c4fc5eee7dbb161173dea884ba/recipes/skewer-mode"; @@ -57073,8 +59845,8 @@ sha256 = "0pc0mnrgd47cq61s8xrc9mcizfc3cj4ln7r5ixqk6jq59img27fh"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/c7a00894cb1398757b90f670a0beb7b7f640b8b8/recipes/skewer-reload-stylesheets"; - sha256 = "1rxn0ha2yhvyc195alg31nk1sjghnbha33xrqwc9z3j71w211frm"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/aeaa2c89b995f1ab0b0f96493db0cda44cc851ee/recipes/skewer-reload-stylesheets"; + sha256 = "1hcz8q7rs5g7gbj6w72g8prry4niqjmyxvvc0ala83qw76x4cm7k"; name = "skewer-reload-stylesheets"; }; packageRequires = [ skewer-mode ]; @@ -57104,22 +59876,22 @@ license = lib.licenses.free; }; }) {}; - sl = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + sl = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "sl"; - version = "20160729.2101"; + version = "20161217.604"; src = fetchFromGitHub { owner = "xuchunyang"; repo = "sl.el"; - rev = "76a8eae2b3fc449ed81b2a577c53939434851635"; - sha256 = "1nkgqva4l4nwpixavky8gm38371z7mrkpqdkgrya4j5mrx4kiw86"; + rev = "0882117728be91276b815e18c2a66106bf9d69d3"; + sha256 = "1cr3ilf96d8kkyc48nasd4iy2q84kkxjssmvlclanss1hj95nj2l"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7188a93d33e38f360930b5090c6ef872116f8a7c/recipes/sl"; sha256 = "0h90ajikr6kclsy73vs9f50jg8z3d6kqbpanm9ryh2pw3sd4rnii"; name = "sl"; }; - packageRequires = [ cl-lib emacs ]; + packageRequires = [ cl-lib ]; meta = { homepage = "https://melpa.org/#/sl"; license = lib.licenses.free; @@ -57128,12 +59900,12 @@ slack = callPackage ({ alert, circe, emojify, fetchFromGitHub, fetchurl, lib, melpaBuild, oauth2, request, websocket }: melpaBuild { pname = "slack"; - version = "20160805.614"; + version = "20161212.300"; src = fetchFromGitHub { owner = "yuya373"; repo = "emacs-slack"; - rev = "e7219b50499a46b578bc9caf96d64b06ceea47ad"; - sha256 = "0dv1c33qk65bjz66jjzydi5b0c7vdwahsrq3zwhvrf97xd7vr4s3"; + rev = "6eb6b336dd65ecac2b07553fdab8b190b1fcdaf0"; + sha256 = "1xcvhhcl58g3prl7dxhg69dm005fwnn0bp9knp281xi73fpfrqly"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f0258cc41de809b67811a5dde3d475c429df0695/recipes/slack"; @@ -57153,8 +59925,8 @@ src = fetchFromGitHub { owner = "technomancy"; repo = "slamhound"; - rev = "f43dd49b63b2838081735ea1988f70de05389692"; - sha256 = "108zcb7hdaaq3sxjfr9nrwzqxx71q6aygzik7l3ab854xknkjfad"; + rev = "0c9de69557cea66e056c7c3e0ffd5a4e82c82145"; + sha256 = "04vrhv2dp1rq475ka43bhdh7c5gb5cyflf4w0ykxb9rbkahwm8fj"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/54c191408ceb09ca21ef52df171f02d700aee5ba/recipes/slamhound"; @@ -57212,12 +59984,12 @@ slime = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, macrostep, melpaBuild }: melpaBuild { pname = "slime"; - version = "20160829.1150"; + version = "20161109.640"; src = fetchFromGitHub { owner = "slime"; repo = "slime"; - rev = "20e0c1d345359def80d7cdbdd74214b510b00885"; - sha256 = "1i7v93f0njqjfahn5r671knyfi0jngygvgr2xb8b2d20v6di7ysh"; + rev = "786c032a95cc78d3e294abe1b12e09880381efe2"; + sha256 = "1sv3x7q5b8ablzv0wf7g8sg4vk4gjggylfh0zigx9bpxk0dvj5jj"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/14c60acbfde13d5e9256cea83d4d0d33e037d4b9/recipes/slime"; @@ -57254,12 +60026,12 @@ slime-company = callPackage ({ company, fetchFromGitHub, fetchurl, lib, melpaBuild, slime }: melpaBuild { pname = "slime-company"; - version = "20151210.614"; + version = "20161229.743"; src = fetchFromGitHub { owner = "anwyn"; repo = "slime-company"; - rev = "a50e8f02df03f37bee3cbaafae1a6891f02c847b"; - sha256 = "0cc8xb2p1j2vs00h4sq6x0mwwrxkidqj4l7kg3n3150bj37v55rs"; + rev = "6c244690c80387a32b0cb984843e00c8b75ad6bb"; + sha256 = "1hl1hqkc1pxga9k2k8k15d7dip7sfsmwf4wm4sh346m6nj606q8g"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/abe5036c6de996a723bc800e0f031314e1188660/recipes/slime-company"; @@ -57401,12 +60173,12 @@ sly = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "sly"; - version = "20160829.847"; + version = "20161217.1623"; src = fetchFromGitHub { owner = "capitaomorte"; repo = "sly"; - rev = "fbcb96264ab073c516efa06c8e8d4b0cc4ff566e"; - sha256 = "19nlwqp7zia3fnvl323v8v9j10b32bpw0m5pv14ilqy4kbnpxw2q"; + rev = "87de8e96da7bce0120b4afb037af902c353269e0"; + sha256 = "1dm1q7sx6hcary1g729231z0g9m1mybidiibzp5zk2pkrdfx6wl5"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/79e7213183df892c5058a766b5805a1854bfbaec/recipes/sly"; @@ -57589,10 +60361,10 @@ }) {}; smart-compile = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "smart-compile"; - version = "20150519.947"; + version = "20161118.403"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/smart-compile.el"; - sha256 = "0sm4nxynwhwypzw008fz56axai9lrphjczwzfdy7da3akan18rbd"; + sha256 = "163s97h1a9pjz3pqyn2mhh4mf05b7yycp29k5wnk3c9zc71pafvp"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d2e6c3dd7b8e19193d070fd41c2be4bcd61f1022/recipes/smart-compile"; @@ -57880,12 +60652,12 @@ smartparens = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "smartparens"; - version = "20160828.1136"; + version = "20170101.605"; src = fetchFromGitHub { owner = "Fuco1"; repo = "smartparens"; - rev = "659e4ded92e26390cc7f8e0c7e6c7fd2e96acb8a"; - sha256 = "1i7hrj57dv2nhjhmayvysj974myq1lkpkl6dgja5x9xvcz024acn"; + rev = "f661b7ffe5addfbf80355230d1c9a837d3a19ecb"; + sha256 = "11yfp91pi1gpphgbcy6h5xkyapy7j6p11xab4rjc9gbckl3al9kf"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/bd98f85461ef7134502d4f2aa8ce1bc764f3bda3/recipes/smartparens"; @@ -58024,22 +60796,22 @@ license = lib.licenses.free; }; }) {}; - smeargle = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + smeargle = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "smeargle"; - version = "20151013.2242"; + version = "20161212.1558"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-smeargle"; - rev = "67466d5214a681430db8cb59a2a1bca771ff0024"; - sha256 = "1smv91ggvaw37597ilvhra8cnj4p71n6v5pfazii8k85kvs6x460"; + rev = "0665b1ff5109731898bc4a0ca6d939933b804777"; + sha256 = "0p0kxmjdr02l9injlyyrnnzqdbb7mirz1xx79c3lw1rgpalf0jnf"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c5b985b24a23499454dc61bf071073df325de571/recipes/smeargle"; sha256 = "1dy87ah1w21csvrkq5icnx7g7g7nxqkcyggxyazqwwxvh2silibd"; name = "smeargle"; }; - packageRequires = [ cl-lib emacs ]; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/smeargle"; license = lib.licenses.free; @@ -58107,6 +60879,27 @@ license = lib.licenses.free; }; }) {}; + smmry = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "smmry"; + version = "20161024.201"; + src = fetchFromGitHub { + owner = "microamp"; + repo = "smmry.el"; + rev = "986a1b0aec8ab1ef17dbfb7886f47e5558cf738a"; + sha256 = "1gq2066js1kf035217z0n6w0bf0dsyskykf56xycci5s1i7xv2vz"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/ba2d4be4dd4d6c378eabd833f05a944afa21817b/recipes/smmry"; + sha256 = "05ikcvyr74jy3digd0ad443h5kf11w29hgnmb71bclm3mfslh5wn"; + name = "smmry"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/smmry"; + license = lib.licenses.free; + }; + }) {}; smooth-scroll = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "smooth-scroll"; @@ -58131,12 +60924,12 @@ smooth-scrolling = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "smooth-scrolling"; - version = "20160612.141"; + version = "20161002.1249"; src = fetchFromGitHub { owner = "aspiers"; repo = "smooth-scrolling"; - rev = "dcaaabf834d20e990af0cf471e04d0948cf1ff58"; - sha256 = "0lcp437135hxpw84vj096i3vw83ckfppdviyyf468mm02ajb4068"; + rev = "2462c13640aa4c75ab3ddad443fedc29acf68f84"; + sha256 = "1h15gjq781i6fsz32qlh51knawdr8hcqvshsz6cszp752cibdcdg"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e156f146649a51f6ee636aef95214944a8079a27/recipes/smooth-scrolling"; @@ -58215,12 +61008,12 @@ snakemake-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, magit-popup, melpaBuild }: melpaBuild { pname = "snakemake-mode"; - version = "20160612.2126"; + version = "20161123.2130"; src = fetchFromGitHub { owner = "kyleam"; repo = "snakemake-mode"; - rev = "a8efc182c1ab68e65f20f7ce801921435ecf1c2f"; - sha256 = "1hlckgqzqxkmkhzi6dhxwr69padqbfv4jjskyfdn96na5z080fl5"; + rev = "e4a0916d3b60dc4b7e98db59a2c2e2db4bb71fea"; + sha256 = "1463949imwyg3kd4988fz38i472lppvphga0qinn27ddwkrf0v0s"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c3a5b51fee1c9e6ce7e21555faa355d118d34b8d/recipes/snakemake-mode"; @@ -58233,27 +61026,48 @@ license = lib.licenses.free; }; }) {}; - snapshot-timemachine = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + snapshot-timemachine = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "snapshot-timemachine"; - version = "20160222.132"; + version = "20161221.129"; src = fetchFromGitHub { owner = "mrBliss"; repo = "snapshot-timemachine"; - rev = "7a1ebd73e9da146f1a9f258c5d2a7b54660f87a4"; - sha256 = "0m5j1v9br7vp9m2km8xccy5vv8gis0mcgwjxfc6qhnv7kbx0sx2k"; + rev = "99efcebab309b11ed512a8dc62555d3834df5efb"; + sha256 = "18qibcyqxjwpvphmpghppb8ky1xcch1dd4pz91qj5f4h42684ips"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/69376b802f0687227a78838877d89163b2893c5b/recipes/snapshot-timemachine"; sha256 = "0pvh1ilzv0ambc5cridyhjcxs58wq92bxjkisqv42yar3h3z6f8p"; name = "snapshot-timemachine"; }; - packageRequires = [ cl-lib emacs ]; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/snapshot-timemachine"; license = lib.licenses.free; }; }) {}; + snapshot-timemachine-rsnapshot = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, seq, snapshot-timemachine }: + melpaBuild { + pname = "snapshot-timemachine-rsnapshot"; + version = "20161008.305"; + src = fetchFromGitHub { + owner = "NicolasPetton"; + repo = "snapshot-timemachine-rsnapshot"; + rev = "4ff6b96219f4da576141e376b0348813c1c25615"; + sha256 = "0krb1ziyjldyq27sp0phmygm1p9lssp251ycj08gdczbbfpw4lsa"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/94358fb8d1486491903c331d9e90ba5198117aa8/recipes/snapshot-timemachine-rsnapshot"; + sha256 = "0fxijd94p961ab0p4ddmhja4bfrif2d87v32g4c41amc1klyf25r"; + name = "snapshot-timemachine-rsnapshot"; + }; + packageRequires = [ seq snapshot-timemachine ]; + meta = { + homepage = "https://melpa.org/#/snapshot-timemachine-rsnapshot"; + license = lib.licenses.free; + }; + }) {}; snippet = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "snippet"; @@ -58341,12 +61155,12 @@ solarized-theme = callPackage ({ cl-lib ? null, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "solarized-theme"; - version = "20160827.1130"; + version = "20161222.109"; src = fetchFromGitHub { owner = "bbatsov"; repo = "solarized-emacs"; - rev = "62dfe37e843faa705a65e6fbed0c2a2c7ed57c12"; - sha256 = "1dr0psppjfgkn6plbkhni6jdmad588mk2jdnky2w2g07hz4jrgd0"; + rev = "64fa78256efdc11bbc63ec311a976aeddb4808e4"; + sha256 = "0pg7v1lrf12vigakzcjz3i9yqirqp5m0n7ryp430hyv92mk01l40"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/solarized-theme"; @@ -58362,12 +61176,12 @@ solidity-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "solidity-mode"; - version = "20160505.203"; + version = "20161017.1506"; src = fetchFromGitHub { owner = "ethereum"; repo = "emacs-solidity"; - rev = "6268b2a7fdd22ba37e3f7be907db9f5e9070f242"; - sha256 = "1mlhidfnvs2sph6qavzqz5qng78q2v4n5qc021958s29kx35i603"; + rev = "db392f96f8e892b7788ebe25819a8ec195bb376d"; + sha256 = "1x1ljbmrn06pbdcb7kjivbh2f2m29ivwa1ifl4lgi2rh884s27ma"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/bb9df5ec0692352b6494d435d11166f4ea26c99e/recipes/solidity-mode"; @@ -58380,22 +61194,22 @@ license = lib.licenses.free; }; }) {}; - sonic-pi = callPackage ({ cl-lib ? null, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, osc }: + sonic-pi = callPackage ({ cl-lib ? null, dash, emacs, fetchFromGitHub, fetchurl, highlight, lib, melpaBuild, osc }: melpaBuild { pname = "sonic-pi"; - version = "20150919.330"; + version = "20161024.313"; src = fetchFromGitHub { owner = "repl-electric"; repo = "sonic-pi.el"; - rev = "3d88a784bf7883ec56fbef5923c4e1b50d2b9b09"; - sha256 = "1ga35d3rhdf6ffd36q58ay6380gjvkmaiid4vscga3v7ca0dkhl1"; + rev = "0a14120e004565ec294c31c601131be7cc010c19"; + sha256 = "0sfrgqvyw9z6rw8pjbfn1yvxxg3aznyc2kwp024g0w7ybb1a38li"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f0536c7e32ef145546e4014a1d418cbac8673eb5/recipes/sonic-pi"; sha256 = "07qxm1rkw2cbxf4g2vqk3s7xnqldqkdm2zw1qh2kqjscg5gwpkqp"; name = "sonic-pi"; }; - packageRequires = [ cl-lib dash emacs osc ]; + packageRequires = [ cl-lib dash emacs highlight osc ]; meta = { homepage = "https://melpa.org/#/sonic-pi"; license = lib.licenses.free; @@ -58422,6 +61236,27 @@ license = lib.licenses.free; }; }) {}; + sort-words = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "sort-words"; + version = "20160929.635"; + src = fetchFromGitHub { + owner = "dotemacs"; + repo = "sort-words.el"; + rev = "7b6e108f80237363faf7ec28b2c58dec270b8601"; + sha256 = "18cwii9h2planb9bgrih4hkz2cqinbl8wq5sal4b8kwnaq07bbw7"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/0a4bd566392d7cebe8a891d787439512e8d34cf9/recipes/sort-words"; + sha256 = "1hvbq09byjdbqzbyashw3y1h65wins44jnqcdic7vqzd1p1mzwka"; + name = "sort-words"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/sort-words"; + license = lib.licenses.free; + }; + }) {}; sos = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, org }: melpaBuild { pname = "sos"; @@ -58467,12 +61302,12 @@ sotlisp = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "sotlisp"; - version = "20160509.1504"; + version = "20161012.1217"; src = fetchFromGitHub { owner = "Malabarba"; repo = "speed-of-thought-lisp"; - rev = "325c21e0718aebf0d6929f67da2476dd53ab95bb"; - sha256 = "01n943kycazsw9znk7cj17qjlar91i5r25p3cmxcxh75wnh4h1vj"; + rev = "fffe8d0b42b143a2e7df0470d9049fa57b6ecac5"; + sha256 = "0j5zwb1ypqps30126w2684lmjh8ia4qxg8inlajcbv8i3pbai7k6"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1e6aed365c42987d64d0cd9a8a6178339b1b39e8/recipes/sotlisp"; @@ -58576,27 +61411,48 @@ license = lib.licenses.free; }; }) {}; - sourcemap = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + sourcemap = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "sourcemap"; - version = "20160511.2137"; + version = "20161215.2140"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-sourcemap"; - rev = "c29f0f1fba16622b2349593d420bcc4e3c0f5195"; - sha256 = "1n33d8pjvmsjq38qw1v405jkmrb2sffhp68w4h2jfsgl4y5w1mdg"; + rev = "64c89d296186f48d9135fb8aad501de19f64bceb"; + sha256 = "115g2mfpbfywp8xnag4gsb50klfvplqfh928a5mabb5s8v4a3582"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/557d18259543263932fccdbaf44c4e7986bd277b/recipes/sourcemap"; sha256 = "0cjg90y6a0l59a9v7d7p12pgmr21gwd7x5msil3h6xkm15f0qcc5"; name = "sourcemap"; }; - packageRequires = [ cl-lib emacs ]; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/sourcemap"; license = lib.licenses.free; }; }) {}; + sourcerer-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "sourcerer-theme"; + version = "20161014.925"; + src = fetchFromGitHub { + owner = "gilbertw1"; + repo = "sourcerer-emacs"; + rev = "c7f8e665d53bb48fb72f95f706710d53d24bd407"; + sha256 = "06bxsbjyrn4grp9i17p90cs4x50cmw62k6a2c6gapkw8f1xbv7xv"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/8532e062b1830d8cf4e7f72518131a1f32762b37/recipes/sourcerer-theme"; + sha256 = "0xikcln8sz3cic5a77cdvq2aazy1csf1qfxgmcavpqz54ps14j1z"; + name = "sourcerer-theme"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/sourcerer-theme"; + license = lib.licenses.free; + }; + }) {}; sourcetalk = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, request }: melpaBuild { pname = "sourcetalk"; @@ -58642,12 +61498,12 @@ spaceline = callPackage ({ cl-lib ? null, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, powerline, s }: melpaBuild { pname = "spaceline"; - version = "20160801.211"; + version = "20170102.59"; src = fetchFromGitHub { owner = "TheBB"; repo = "spaceline"; - rev = "34ee477b3dbc0d81dc44c82cc092f006899cba70"; - sha256 = "10kwjlngp0xsgzj7gpglmzyx0l2vmfl3f6q7gwwad4kymsbh4s8p"; + rev = "75cc751c3da252bd84f33b12daf11655a9f98fa6"; + sha256 = "1jn3qjxjhbgjixxny1n68ha80c2zqmfrj24ws7ni4zia264phxs0"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/46e4c876aeeb0bb0d0e81dcbb8363a5db9c3ff61/recipes/spaceline"; @@ -58663,12 +61519,12 @@ spacemacs-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "spacemacs-theme"; - version = "20160820.1041"; + version = "20161217.515"; src = fetchFromGitHub { owner = "nashamri"; repo = "spacemacs-theme"; - rev = "6d96877d228af73a2c4c656c9bc33734feacc887"; - sha256 = "0aj0aazky2l8c59kn11qhj8xch40mqxjp6a9gfbyfbfcqnmrvlqg"; + rev = "3818119a87edb8bb458295a45dc65b41414a77a2"; + sha256 = "17p3l1qxgz2plr3z99mvbda0bx8qs564r1jhj3arqmz5zc447zvw"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6c8ac39214856c1598beca0bd609e011b562346f/recipes/spacemacs-theme"; @@ -58747,12 +61603,12 @@ sparql-mode = callPackage ({ async, cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "sparql-mode"; - version = "20160728.1000"; + version = "20161219.550"; src = fetchFromGitHub { owner = "ljos"; repo = "sparql-mode"; - rev = "22d1f80176e4ac57ec489d4aa3d243212060843d"; - sha256 = "1v1wcbvbymg0vlwpis706ps5w9bscypqp8zpbk52lcny2lshqmik"; + rev = "e5bedd0b1df135bb1e42b756da850dac5955aeb8"; + sha256 = "11vpx9cq81ld6k4710nbvnfhpwq0v0bw0zg5aljr2j1pyfyh0pcs"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c3d729130a41903bb01465d0f01c34fbc508b56e/recipes/sparql-mode"; @@ -58827,16 +61683,16 @@ speed-type = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "speed-type"; - version = "20150120.2034"; + version = "20161230.815"; src = fetchFromGitHub { - owner = "hagleitn"; + owner = "parkouss"; repo = "speed-type"; - rev = "d3a6745dbaaf6b1eacee10ce9b50108482dbe758"; - sha256 = "102hjyr9ii2rmq8762irbwansbi023s7dg4a8n6lkadcvzfibmag"; + rev = "5d691f57743304db63b6afdc5bd79dabd282d390"; + sha256 = "08qp2b80rh9k8h5vv141lfsg73rqqikhh7ygal789rr278ai1rjf"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/18d6365232a78877c78b31afb95103e5c3f6971b/recipes/speed-type"; - sha256 = "14q423an7v5hhfx1x039fizxcn5hcscqf2jfn9rqifg4jpq8bq5g"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/d6c33b5bd15875baea0fd2f24ee8ec9414a6f7aa/recipes/speed-type"; + sha256 = "0lsbi3b6v7fiwpvydgwcqx3y5i7bysfjammly22qpz3kcjmlvi06"; name = "speed-type"; }; packageRequires = [ cl-lib ]; @@ -58869,12 +61725,12 @@ sphinx-frontend = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "sphinx-frontend"; - version = "20160606.820"; + version = "20161025.58"; src = fetchFromGitHub { owner = "kostafey"; repo = "sphinx-frontend"; - rev = "e483773ac6b1366ca43128f727e2b3cc2269997f"; - sha256 = "0k8dpqp6hzycbd504zkp7j5ar2zvf6lnn0p60i392g9pj573fnsh"; + rev = "0cbb03361c245382d3e679dded30c4fc1713c252"; + sha256 = "1ksjgd995pcb4lvwip08i8ay0xpin8dcam3hcgnbjjqjg9hja1cf"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4cf72e71f159b9eaaa0834682d5dd4eb258616cf/recipes/sphinx-frontend"; @@ -58887,15 +61743,36 @@ license = lib.licenses.free; }; }) {}; + sphinx-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "sphinx-mode"; + version = "20160911.558"; + src = fetchFromGitHub { + owner = "Fuco1"; + repo = "sphinx-mode"; + rev = "7db516b8b985cf209b6430b032cd0457af83b72b"; + sha256 = "0a3vgkp65hpc1a5h79yl0pc02lr6w299wd2fs9cgn8nvbdrip5ij"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/269acf093c3aa508479bf532a4e07c9c6d568c72/recipes/sphinx-mode"; + sha256 = "16p5xlj4q9fyhz70r73w48fivwzpz9mcq710qqxqaap1aajkh84b"; + name = "sphinx-mode"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/sphinx-mode"; + license = lib.licenses.free; + }; + }) {}; spice-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "spice-mode"; - version = "20160818.1749"; + version = "20160919.330"; src = fetchFromGitHub { owner = "stardiviner"; repo = "spice-mode"; - rev = "78bbaa6c39fe5a89de7fc3775b161f4a9c022e69"; - sha256 = "0cf0km62izcj62m78q9vgafrckq49mjmf672vnkbckf974m93h2l"; + rev = "1dcaa4b4cd1527cf15bfc6dfc278c574359a5062"; + sha256 = "0ngfyxpvwgyqh99vjr2msqan0hma1qlljkx971qjxcpn0y80dj23"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6142975cf9c0b9faaf128be34d30e12a88b500f8/recipes/spice-mode"; @@ -59013,19 +61890,19 @@ license = lib.licenses.free; }; }) {}; - spray = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + spray = callPackage ({ fetchFromGitLab, fetchurl, lib, melpaBuild }: melpaBuild { pname = "spray"; version = "20160304.1420"; - src = fetchFromGitHub { - owner = "ian-kelling"; + src = fetchFromGitLab { + owner = "iankelling"; repo = "spray"; - rev = "ecb0425a3c49b4bcb1ac1d3ccbeec2061ff43978"; - sha256 = "0vl3qx3wdxqbvbpn811q4d0pnh9sla4mf5c19n56m4n4dd9i47h3"; + rev = "8e6385f2f09b8d72a480b6cbe211344be646005e"; + sha256 = "0sc5ygv0qxvral16gv1908jh2dvmlpx8lfc9b0cmbihhxpg1j305"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/d0947317319c8ccfee59461ee628eb8ae9f261fc/recipes/spray"; - sha256 = "11b3wn53309ws60w8sfpfxij7vnibj6kxxsx6w1agglqx9zqngz4"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/e4f5053aa4e1af3f636febe9c3ce8c6ae20c090d/recipes/spray"; + sha256 = "1h8lngcqa343mlc091zs419frgsla65khfj93lv9fil3xbgrm7m9"; name = "spray"; }; packageRequires = []; @@ -59121,12 +61998,12 @@ spu = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, signal, timp }: melpaBuild { pname = "spu"; - version = "20160515.157"; + version = "20161213.1924"; src = fetchFromGitHub { owner = "mola-T"; repo = "SPU"; - rev = "a7dadda5566f5f8d785e8f9540cfcbbfb58eb47d"; - sha256 = "0ng8q1k5kwqk01h4yzqnqgv2q7hb6qvh7rdhlvncwdh68y6bdgbl"; + rev = "41eec86b595816e3852e8ad1a8e07e51a27fd065"; + sha256 = "1j77h761vf74y9sfjpidgaznail95hsg9akjs55sz1xiyy7hkgyw"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8f2ef1e83c924d5411b47a931432f129db95ff2c/recipes/spu"; @@ -59225,10 +62102,10 @@ }) {}; sqlplus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "sqlplus"; - version = "20141009.739"; + version = "20161110.758"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/sqlplus.el"; - sha256 = "0xixdddcrzx6k0s8w9rp6q7b9qjpdb4l888gmcis42yvawb1i53d"; + sha256 = "04wqy4ss6499rpn0rnczmn39yi78xkqslblyq4xb700xzmzn7sg3"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/41b1fc299cf8eeba1916a58ad8f50eb4560f0252/recipes/sqlplus"; @@ -59244,12 +62121,12 @@ sqlup-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "sqlup-mode"; - version = "20160830.1354"; + version = "20161207.2044"; src = fetchFromGitHub { owner = "Trevoke"; repo = "sqlup-mode.el"; - rev = "c8e86c90655dd138e5ccf2fd666f90b977c9a976"; - sha256 = "1wfrm2ylgxcazmp9v5ah214svcsl1l581p4cz89k7vg8f4vscs4g"; + rev = "81ad4ec3ca58172a3c261acf4973ec767693d0ef"; + sha256 = "02438pr144952ragf1ph4qd43kpzalbp6c5qpl725rwqxjh7bf8s"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/sqlup-mode"; @@ -59264,10 +62141,10 @@ }) {}; sr-speedbar = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "sr-speedbar"; - version = "20150804.951"; + version = "20161025.131"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/sr-speedbar.el"; - sha256 = "1ffnm2kfh8cg5rdhrkqmh4krggbxvqg3s6lc1nssv88av1c5cs3i"; + sha256 = "15kvl270a5xx1w5fjlrawslnpwyks2x17356xcr0idhv5xw2wn30"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e1f3e11958db5ecf764d6e659608220af2166fb3/recipes/sr-speedbar"; @@ -59283,12 +62160,12 @@ srefactor = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "srefactor"; - version = "20160420.33"; + version = "20161130.2112"; src = fetchFromGitHub { owner = "tuhdo"; repo = "semantic-refactor"; - rev = "a12eecfab02c10a6b8090df6fa376c1d98a1b9dc"; - sha256 = "02jr9cgar2r71rrrx13rj83nd19bxajmzzgj4awzn0d93i4l5qkc"; + rev = "8707d93ede4b45c6173641d3482b0d8ffbbeb860"; + sha256 = "1k4jsklaqmzg6lmrb1sgkwrqpl3qvycqxqdfc129vrg4gybhsavz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e23115ab231ab108678608f2ad0a864f896cd0f2/recipes/srefactor"; @@ -59367,12 +62244,12 @@ ssh-deploy = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ssh-deploy"; - version = "20160813.308"; + version = "20161220.2247"; src = fetchFromGitHub { owner = "cjohansson"; repo = "emacs-ssh-deploy"; - rev = "965c68fe6ae4eabab28faad37ce2a57e3e343b46"; - sha256 = "1y10j2lqyz2ls7lp61f261mm2vgwrgcfqqv1af75g6gd2qqb1bfk"; + rev = "f36ffce4a2222c8a2b00881da3bdd114a2f7c628"; + sha256 = "1lb24avcysc2s4iwd1ivrfsmi0pqya648zb9znlnm01k71ifp26c"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8b4547f86e9a022468524b0d3818b24e1457797e/recipes/ssh-deploy"; @@ -59430,12 +62307,12 @@ stan-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "stan-mode"; - version = "20160626.1518"; + version = "20161023.1958"; src = fetchFromGitHub { owner = "stan-dev"; repo = "stan-mode"; - rev = "62109483b39c6dc20e1b55bd833c9f8ea38e7118"; - sha256 = "0jnfhb49hi6fydffhdj1kkhrsc45zjsnm43djbsgzdnd6abbfhnr"; + rev = "45b8242611fe0437fcff48f5f4f7d8f0552531ac"; + sha256 = "14yv57grsw3zyjcqasaanx8g2skix0i3w1f5r1fng3sgwclwbkdw"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/67a44a0abe675238b10decdd612b67e418caf34b/recipes/stan-mode"; @@ -59451,12 +62328,12 @@ stan-snippets = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, stan-mode, yasnippet }: melpaBuild { pname = "stan-snippets"; - version = "20160626.1518"; + version = "20161023.1958"; src = fetchFromGitHub { owner = "stan-dev"; repo = "stan-mode"; - rev = "62109483b39c6dc20e1b55bd833c9f8ea38e7118"; - sha256 = "0jnfhb49hi6fydffhdj1kkhrsc45zjsnm43djbsgzdnd6abbfhnr"; + rev = "45b8242611fe0437fcff48f5f4f7d8f0552531ac"; + sha256 = "14yv57grsw3zyjcqasaanx8g2skix0i3w1f5r1fng3sgwclwbkdw"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/eda8539b7d8da3a458a38f7536ed03580f9088c3/recipes/stan-snippets"; @@ -59476,8 +62353,8 @@ src = fetchFromGitHub { owner = "lueck"; repo = "standoff-mode"; - rev = "c55e80ff0e939f3d2cd6bda50b1121a54c08231c"; - sha256 = "0cjqd0cgn0n5mlf8iva70y228day58inly7929p2hw28fndy51gy"; + rev = "a1ad5b3823bf43242dfc54cfd8cd1b09bee286d8"; + sha256 = "1bakh0rwq0kxy6k6yjrywbcvj0hszq44z9v1gny2cf824shqa3r9"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/98858a45f72c28eec552b119a66479ea99b60f93/recipes/standoff-mode"; @@ -59535,12 +62412,12 @@ state = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "state"; - version = "20160422.550"; + version = "20161008.535"; src = fetchFromGitHub { owner = "thisirs"; repo = "state"; - rev = "4a5fa2e37186408df3e98d936514387ceef80bd5"; - sha256 = "1rjp1zsbh476njjznbsxr47x4lqs4i887yi9xvwvpcb2wcwfly81"; + rev = "ff38227310347ed088fe34ff781037774cc7456b"; + sha256 = "0hanisrni8i0bbq7f2flvfla990nyv8238nb9dfjpvimkw7rjbsg"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/82e955112089569c775e11888d9811119f84a4f8/recipes/state"; @@ -59595,27 +62472,6 @@ license = lib.licenses.free; }; }) {}; - stekene-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: - melpaBuild { - pname = "stekene-theme"; - version = "20141108.1211"; - src = fetchFromGitHub { - owner = "Fanael"; - repo = "stekene-theme"; - rev = "45b643a5af7dac70997d6a60e69c2f2473337d98"; - sha256 = "0w1qb8r6nrxi5hbf8l4247yqq754zfbxz64pqqcnw43cxk0qd4j3"; - }; - recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/a4be17a072d4e878c510e3ef2c73bad166375195/recipes/stekene-theme"; - sha256 = "0v1kwlnrqaygzaz376a5njg9kv4yf5l35k87xga4wdd2mxfwrmf1"; - name = "stekene-theme"; - }; - packageRequires = [ emacs ]; - meta = { - homepage = "https://melpa.org/#/stekene-theme"; - license = lib.licenses.free; - }; - }) {}; stem = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "stem"; @@ -59642,8 +62498,8 @@ version = "20140213.348"; src = fetchgit { url = "git://repo.or.cz/stgit.git"; - rev = "ef93c20469c08feef7fd915bb773b53e0673679b"; - sha256 = "08xjp9r2cx9jp4gvnadm1x72mqicwkj6rzmzgm976xrndi47cakm"; + rev = "0accbea79b9cae8dae68ff64d35fd342792c15dc"; + sha256 = "13ab7k0c5az712ph2a879da84mwijvb1mxzn59cv3xkriabndk4p"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4ed7cc025d22d8e1e63464e43f733c78421c91c7/recipes/stgit"; @@ -59782,12 +62638,12 @@ string-inflection = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "string-inflection"; - version = "20150805.256"; + version = "20161220.1825"; src = fetchFromGitHub { owner = "akicho8"; repo = "string-inflection"; - rev = "147990de9d07d8e603ade92a23ef27a71e52b850"; - sha256 = "06qs8v2pai3pyg0spmarssmrq06xg9q60wjj46s5xxichlw9pgcf"; + rev = "f11e732a582419e14a36c53130dd3a7b2c9da8c5"; + sha256 = "1sq7h58v61cdyca5kfhf9rf3ybj25zgbhfdvb29qd7b2b33px7a5"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5c2e2b6dba8686236c2595475cfddac5fd700e60/recipes/string-inflection"; @@ -59823,10 +62679,10 @@ }) {}; strings = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "strings"; - version = "20151231.1607"; + version = "20170101.1137"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/strings.el"; - sha256 = "1sa6wd2z2qkcnjprkkm9b945qz8d0l702sv9w15wl0lngbhw84na"; + sha256 = "0gvj39cjc50ks31dzridskync3dnaxsr28wmyky781l87cgna4hq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/strings"; @@ -59900,6 +62756,27 @@ license = lib.licenses.free; }; }) {}; + stylefmt = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "stylefmt"; + version = "20161025.124"; + src = fetchFromGitHub { + owner = "KeenS"; + repo = "stylefmt.el"; + rev = "7a38f26bf8ff947215f34f0a064c7ca80575ccbc"; + sha256 = "0cx9llbmfjhaxb60mj483ihl78xb30ldvhd1hdldmc9d473xbvmz"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/63af0555576b0430f46d7383d7ea56e1789f43e9/recipes/stylefmt"; + sha256 = "17jj8n8x4ib51a6jdsywcssi6cvxmql9sk7f5clmbi94qxlh48lr"; + name = "stylefmt"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/stylefmt"; + license = lib.licenses.free; + }; + }) {}; stylus-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, sws-mode }: melpaBuild { pname = "stylus-mode"; @@ -60008,12 +62885,12 @@ sublimity = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "sublimity"; - version = "20160822.1856"; + version = "20161214.2032"; src = fetchFromGitHub { owner = "zk-phi"; repo = "sublimity"; - rev = "f692af1ba045146f568ee36009a78b79e9cfe21f"; - sha256 = "035cb27a5i5ixlrqbh4a0srw3z9k054z32dzls851775rz91dks5"; + rev = "02a477004b8807984b5f752fa225f1e7bb6f90ab"; + sha256 = "1dc3kkq931nwa7p26dgrdgqhi110h6ilmch00300gh0m0wx9031d"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c1e78cd1e5366a9b6d04237e9bf6a7e73424be52/recipes/sublimity"; @@ -60028,10 +62905,10 @@ }) {}; subr-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "subr-plus"; - version = "20151231.1607"; + version = "20170101.1138"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/subr+.el"; - sha256 = "1xxf8kgxzcwwjm96isj4zg31vw63ahivr6xch5dw8wsvk0mjks9y"; + sha256 = "057h7hshdvzm3qcwdnbyw0qb7ijw3jz38cff0n9ln4xgsma6cgm1"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/400c7aede8fee84660b5010eacb93536f1c0b0a4/recipes/subr+"; @@ -60086,22 +62963,22 @@ license = lib.licenses.free; }; }) {}; - sudo-edit = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + sudo-edit = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "sudo-edit"; - version = "20160627.1203"; + version = "20160908.2310"; src = fetchFromGitHub { owner = "nflath"; repo = "sudo-edit"; - rev = "2d5c7340eff4c88f29cd123a544ea2b88d14d9d9"; - sha256 = "0hdv9sphsrvknz9w6pkds2rbv4lp14z4k3x6kl6iipdh60lgywc7"; + rev = "beb584ca418dcd061641026662d9796f66a5a5a2"; + sha256 = "1gprc192igny4vsk4d72xqf76ig79wq73fn757ghb8yrg8zzw1zc"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3b08d4bbdb23b988db5ed7cb5a2a925b7c2e242e/recipes/sudo-edit"; sha256 = "10vz7q8m0l2dyhiy9r9nj17qlwyv032glshzljzhm1n20w8y1fq4"; name = "sudo-edit"; }; - packageRequires = []; + packageRequires = [ cl-lib emacs ]; meta = { homepage = "https://melpa.org/#/sudo-edit"; license = lib.licenses.free; @@ -60128,15 +63005,36 @@ license = lib.licenses.free; }; }) {}; + sudoku = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "sudoku"; + version = "20161110.2306"; + src = fetchFromGitHub { + owner = "zevlg"; + repo = "sudoku.el"; + rev = "77c11b5041b58fc943cf1668b44b40bae039cb5b"; + sha256 = "18nbs980y6cj6my208i80cb928rnkk5rn3zwc63prk5whjw4y77v"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/f9861d5d4cf18466b17ac8e53f3874df5312d3f3/recipes/sudoku"; + sha256 = "14nbidjnsm9lwknmqgfr721b484z5156j723kr1wbfv70j8h9kys"; + name = "sudoku"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/sudoku"; + license = lib.licenses.free; + }; + }) {}; suggest = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, loop, melpaBuild, s }: melpaBuild { pname = "suggest"; - version = "20160822.2134"; + version = "20161205.450"; src = fetchFromGitHub { owner = "Wilfred"; repo = "suggest.el"; - rev = "d9cedf0d9c3809d4eb44dd719aebf2a0c681be4b"; - sha256 = "16g1ammapx0wgrxlhckxhn3bn2lj0xjx0m23gnn9ln1bj138h9fq"; + rev = "19bfa7d6c2356a62647c7fe85876a88ab3b6475f"; + sha256 = "0sh3nryhcr2spxjh7p0jsjyfhvmqnwjayzz2zrwv3xi2vdgg8gb8"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b9fd27e812549587dc2ec26bb58974177ff263ff/recipes/suggest"; @@ -60149,6 +63047,27 @@ license = lib.licenses.free; }; }) {}; + suggestion-box = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, popup }: + melpaBuild { + pname = "suggestion-box"; + version = "20160927.1530"; + src = fetchFromGitHub { + owner = "yuutayamada"; + repo = "suggestion-box-el"; + rev = "90452d71e4afe9f42ee975f2f7897835cf3dee87"; + sha256 = "1bcmhbx4l4x01n2vpcyw8wyp3cklzp65v5d4sx284qj5gd64i1p4"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/5b59be8dc0a1850d3e245957fd170e1d01f4e284/recipes/suggestion-box"; + sha256 = "17yai0fh7rfjbp3wz5x5r4src8lxn6qrhf7brp2gjr6cgdv40iac"; + name = "suggestion-box"; + }; + packageRequires = [ emacs popup ]; + meta = { + homepage = "https://melpa.org/#/suggestion-box"; + license = lib.licenses.free; + }; + }) {}; summarye = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "summarye"; version = "20130328.327"; @@ -60275,12 +63194,12 @@ suscolors-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "suscolors-theme"; - version = "20160605.206"; + version = "20161109.1215"; src = fetchFromGitHub { owner = "TheSuspiciousWombat"; repo = "suscolors-emacs"; - rev = "15931dac6ece2a42d7be78e4d448d25d55990d54"; - sha256 = "1av0ysw3l56sf8f0fg3mldx9ifw1rd74mw92cyvqvqx1k7na5pmz"; + rev = "8f5cdf8de5e58db838ef0e803b60b7d74fc2a889"; + sha256 = "1wc4l7zvb8zmh48cgrl7bkbyfj0sflzq28sc8jssghkcl2735cbg"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/100c3244cfce8691240b11bc8a1d95ede3aae4fe/recipes/suscolors-theme"; @@ -60440,12 +63359,12 @@ swift-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "swift-mode"; - version = "20160124.236"; + version = "20161016.709"; src = fetchFromGitHub { owner = "chrisbarrett"; repo = "swift-mode"; - rev = "1563e8b248bc74613f381e7bd82a43df90064a68"; - sha256 = "08397a8y8hgyzwny4z9f6kgwy8d37h0iypcjps3l6lhnk35mshv0"; + rev = "58f31cc50ee8fac236f5aa3936152e6e70ee3ce5"; + sha256 = "0ncz4bcnbh64p3iqbr65g6b1p8lfpqviszpz80909izi8awjgbgf"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/19cb133191cd6f9623e99e958d360113595e756a/recipes/swift-mode"; @@ -60458,15 +63377,36 @@ license = lib.licenses.free; }; }) {}; + swift3-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "swift3-mode"; + version = "20160918.550"; + src = fetchFromGitHub { + owner = "taku0"; + repo = "swift3-mode"; + rev = "4e51265c6905e17d8910e35b0b37cf51e20ecdfe"; + sha256 = "0wqwjzr3z9gzsjiyyr0ds4c5zvgifb9hbjadb7vkbbpzdy6qd9s1"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/0ca9071199230d3c4c1b2e3a501736df87095fd3/recipes/swift3-mode"; + sha256 = "14vm05p8ix09v73dkmf03i56yib8yk6h2r1zc9m4ym80fki4f520"; + name = "swift3-mode"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/swift3-mode"; + license = lib.licenses.free; + }; + }) {}; swiper = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }: melpaBuild { pname = "swiper"; - version = "20160829.2049"; + version = "20161213.719"; src = fetchFromGitHub { owner = "abo-abo"; repo = "swiper"; - rev = "4c3ecb4d739df379dd01ac8c7dc17080e608dac3"; - sha256 = "0cah0ri248hy1xzrldhh831imyfvnm9jdwnnxqm0iphp4dsf1xk7"; + rev = "dc693c37dae89e9a4302a5cce42f5321f83946c8"; + sha256 = "0bg4ki0zzqr0pir4b3p0bpv747bfb5a8if0pydjcwrwb05b37rmp"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e64cad81615ef3ec34fab1f438b0c55134833c97/recipes/swiper"; @@ -60587,12 +63527,12 @@ sx = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, json ? null, let-alist, lib, markdown-mode, melpaBuild }: melpaBuild { pname = "sx"; - version = "20160125.1601"; + version = "20161222.1205"; src = fetchFromGitHub { owner = "vermiculus"; repo = "sx.el"; - rev = "4b8f0c335a6fb055284773dfd480106e8c82fd81"; - sha256 = "0d0c2i8hh0wrz8vnhxpxzwj7vlrjx6lrb3cx56pn4ny9qyqfzmw3"; + rev = "de73e993930f910862698727b5c0d93a1f656deb"; + sha256 = "03dah9rn6ray0c65rkqcmak77b1hgyi2fc1nqgb5vfgf65jk7z7c"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f16958a09820233fbe2abe403561fd9a012d0046/recipes/sx"; @@ -60712,10 +63652,10 @@ }) {}; synonyms = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "synonyms"; - version = "20160328.654"; + version = "20170101.1140"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/synonyms.el"; - sha256 = "1zkrh1krhjmhb924dlihfnmjf4gigk9lqkai8aal67h90g2q2dsz"; + sha256 = "0f1krqbmbdkpll6ggryblcr7gw0wqm3d9hvq145sdwhwi5jw8b4v"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/fd538439982dd7bd281bf78e96373b93f4d4a6b8/recipes/synonyms"; @@ -60752,12 +63692,12 @@ synquid = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }: melpaBuild { pname = "synquid"; - version = "20160617.2156"; + version = "20160930.850"; src = fetchFromGitHub { owner = "cpitclaudel"; repo = "synquid-emacs"; - rev = "328e50261a6d95ed046e2f07e933746ed0e606a1"; - sha256 = "1r0ch4w8m1p9j43rciq3wdzwn1zggj959irvrp3n7hr1z6fkq4z0"; + rev = "28701ce1a15437202f53ab93a14bcba1de83fd2c"; + sha256 = "0c0pi5w8xvir9gnbjp80g1c4i3rhid65zwh4i4vkyivkh2s29f6i"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6ccd9f265d90a5f6a95942938532f556b223e4da/recipes/synquid"; @@ -60770,6 +63710,27 @@ license = lib.licenses.free; }; }) {}; + syntactic-close = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "syntactic-close"; + version = "20161213.735"; + src = fetchFromGitHub { + owner = "emacs-berlin"; + repo = "syntactic-close"; + rev = "e03d1c8d09825377fcb6ae271c60a554f4d7a000"; + sha256 = "0l1ymn6ld15rvpkrz1pyq79c72y4rpc9wz99wfc791r30dqgvj2d"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/f2c15c0c8ee37a1de042a974c6daddbfa7f33f1d/recipes/syntactic-close"; + sha256 = "19lrzxxyzdj1nrzdgzandjz3b8b4pw7akbv86yf0mdf023d9as1f"; + name = "syntactic-close"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/syntactic-close"; + license = lib.licenses.free; + }; + }) {}; syntactic-sugar = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "syntactic-sugar"; @@ -60814,12 +63775,12 @@ syslog-mode = callPackage ({ fetchFromGitHub, fetchurl, hide-lines, lib, melpaBuild }: melpaBuild { pname = "syslog-mode"; - version = "20160525.1914"; + version = "20161124.910"; src = fetchFromGitHub { owner = "vapniks"; repo = "syslog-mode"; - rev = "f93b2f4dd59608eaa10ec1d8f32484e6476e7169"; - sha256 = "1k3lh920p62ji5n5bvgxcfr6vc5ljssn9j0n4zydhh6ybk9j5f9n"; + rev = "b2582df8f6c1125636f113100a77edcde0879c22"; + sha256 = "0am4dfaxflhyn4f0vx79w3p302fi0rr1zh7cx07s9id5q4ws7ddm"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/478b307f885a06d9ced43758d8c117370152baae/recipes/syslog-mode"; @@ -60877,12 +63838,12 @@ systemd = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "systemd"; - version = "20160731.1630"; + version = "20161231.2103"; src = fetchFromGitHub { owner = "holomorph"; repo = "systemd-mode"; - rev = "a1633c271da2854f78e25015a846954df2e50968"; - sha256 = "05629nph69711yn7jvv5zlqdydivz9vgj8m57bjv7m9khdxf8j5l"; + rev = "b561c6bce9828e67c986903c24fb524451a02e64"; + sha256 = "19jkiiyaxqyxqzmgg2n0hcp7az23jhkajsr5n7ha48mh690n2ga1"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ca810e512c357d1d0130aeeb9b46b38c595e3351/recipes/systemd"; @@ -61066,12 +64027,12 @@ tagedit = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "tagedit"; - version = "20160516.754"; + version = "20161121.55"; src = fetchFromGitHub { owner = "magnars"; repo = "tagedit"; - rev = "0c72466783d7f85475df672284f93942e76c30ea"; - sha256 = "104n6dmiis6w2psm2rxah9hg5jwaqzna6973ijr5a5rxyp4rcsz7"; + rev = "b3a70101a0dcf85498c92b7fcfa7fdbac869746c"; + sha256 = "0xq9i3axlq9wgsr27nbhi5k9hxr1wahygkb73xkvxlgmvkmikcrw"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8968e2cd0bd49d54a5479b2467bd4f0a97d7a969/recipes/tagedit"; @@ -61128,12 +64089,12 @@ tango-plus-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "tango-plus-theme"; - version = "20140425.1511"; + version = "20161016.322"; src = fetchFromGitHub { owner = "tmalsburg"; repo = "tango-plus-theme"; - rev = "99c3484eeb4e6f7f62a6dacfd665a4d46f4cbdaf"; - sha256 = "1gfn1yyyb9p2fi17wra1yf2j96cfjw0sifgk3c0vl63h3vmiyvjf"; + rev = "ef8510d75c60459a7c3bce8aaf686280faf71663"; + sha256 = "0k7mmffr73i14brh7zf0bdzw0m8g3ljff8q4vi5fnxzrr4k99z8l"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b069fa60d3bbf41168b938f71f4903e313b2c6ac/recipes/tango-plus-theme"; @@ -61170,12 +64131,12 @@ tao-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "tao-theme"; - version = "20160608.215"; + version = "20161228.743"; src = fetchFromGitHub { owner = "11111000000"; repo = "tao-theme-emacs"; - rev = "3aad9b4f41985d8da90432885380d94c24dd772a"; - sha256 = "04baqjk3vg09x3p5v1mnn9yn4wzb4qa2ag9jc8baabrp19xbcl2v"; + rev = "c3ae08db2984c68a73468bc66c6517d286c74b48"; + sha256 = "1r868ywxl62pih1pwjh6rzq2cwlic6358j8ji56p6hx08pbx932m"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/94b70f11655944080507744fd06464607727ecef/recipes/tao-theme"; @@ -61195,8 +64156,8 @@ src = fetchFromGitHub { owner = "phillord"; repo = "tawny-owl"; - rev = "6eb5781af166bb8850e83fe7bb9be74f274f2b99"; - sha256 = "1yzx5ijjpg7dn6vnp66qq8fazb389wkpki4kpn3jvwc2462i2z6r"; + rev = "d5b75f52d9ffdbc5cc391fedc3f81d86091839b3"; + sha256 = "12nnyqg1lqa858c35b8z44wrbrznga8bwsnhm0hqcazy9bjin84v"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ea9a114ff739f7d6f5d4c3167f5635ddf79bf60c/recipes/tawny-mode"; @@ -61209,6 +64170,27 @@ license = lib.licenses.free; }; }) {}; + tblui = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, magit-popup, melpaBuild, tablist }: + melpaBuild { + pname = "tblui"; + version = "20161007.1212"; + src = fetchFromGitHub { + owner = "Yuki-Inoue"; + repo = "tblui.el"; + rev = "bb29323bb3e27093d50cb42db3a9329a096b6e4d"; + sha256 = "1pja9v4h3abqc2iydm7wwjxrg7ni1pn94yb4azrgjq5qc0fsgn7a"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/f4dd6e9dcc73c57f93371ba16b15f2d98d805dae/recipes/tblui"; + sha256 = "1m0zhk5zyialklnil5az974yz6g1zksw02453cxc0xpn5pf0a3xa"; + name = "tblui"; + }; + packageRequires = [ cl-lib dash magit-popup tablist ]; + meta = { + homepage = "https://melpa.org/#/tblui"; + license = lib.licenses.free; + }; + }) {}; tbx2org = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "tbx2org"; @@ -61338,12 +64320,12 @@ telephone-line = callPackage ({ cl-generic, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, seq }: melpaBuild { pname = "telephone-line"; - version = "20160302.1515"; + version = "20161105.840"; src = fetchFromGitHub { owner = "dbordak"; repo = "telephone-line"; - rev = "5c0af25f193b72dbb8dd2f9c9cbadf7f541e0c77"; - sha256 = "0c5h3i2viw9iryx2hfmmi0k30y96kqn7vhkbv76fzkhzby5r25fy"; + rev = "44f296e6a16afdde97927c170c6dd0cdb3a3598b"; + sha256 = "16zjijz9syzbcxq1d4bx11kagxwhzygrlgdqvb443cch5s70n2n7"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9c998b70365fb0a210c3b9639db84034c7d45097/recipes/telephone-line"; @@ -61356,15 +64338,36 @@ license = lib.licenses.free; }; }) {}; + temporary-persistent = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, names, s }: + melpaBuild { + pname = "temporary-persistent"; + version = "20161210.333"; + src = fetchFromGitHub { + owner = "kostafey"; + repo = "temporary-persistent"; + rev = "ac66f3054fc701d53f11ada9d2d9ab18ea481dc0"; + sha256 = "15mjcr9gwf1ijppvcxwddnxj84y9idwz7s3lcqr910xb4d3ai8nb"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/0f89e65ce7b302a0330f0110564320c724acc254/recipes/temporary-persistent"; + sha256 = "1q141cdnwchfra6gp6fs0nlkxv6fdf8rx5ry04kcpr9a1y56z362"; + name = "temporary-persistent"; + }; + packageRequires = [ dash emacs names s ]; + meta = { + homepage = "https://melpa.org/#/temporary-persistent"; + license = lib.licenses.free; + }; + }) {}; ten-hundred-mode = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ten-hundred-mode"; - version = "20160409.551"; + version = "20161028.1536"; src = fetchFromGitHub { owner = "aaron-em"; repo = "ten-hundred-mode.el"; - rev = "fc1d7cdb72c21dc1953ed2e2ecf28233b8b3e305"; - sha256 = "17633jachcgnibmvx433ygcfmz3j6hzli5mqbqg83r27chiq5mjx"; + rev = "bdcfda49b1819e82d61fe90947e50bb948cf7933"; + sha256 = "11nsh6dkd3i489lrqpd9xhr4c0ai51364rlrd6slm54720by9jql"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4a0534044ff9ce0740414bf5dc3b104bbdbdacce/recipes/ten-hundred-mode"; @@ -61380,12 +64383,12 @@ term-alert = callPackage ({ alert, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, term-cmd }: melpaBuild { pname = "term-alert"; - version = "20160517.348"; + version = "20161119.145"; src = fetchFromGitHub { owner = "CallumCameron"; repo = "term-alert"; - rev = "3e8b39ed4d960933ffdf0308f9bf0d5ce63648e9"; - sha256 = "195jghl1c8ncl15nix275r4x61zlii90pnwgx4m9q2bnbwsz3ycm"; + rev = "47af9e6fe483ef0d393098c145f499362a33292a"; + sha256 = "1nv8ma8x9xkgsl95z7yysy8q1lb3xr0pd8a5sb01nlx8ks3clad4"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0d77aee0b1b2eb7834436bdfa339f95cb97da140/recipes/term-alert"; @@ -61422,12 +64425,12 @@ term-manager = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "term-manager"; - version = "20160824.1049"; + version = "20161110.1707"; src = fetchFromGitHub { owner = "IvanMalison"; repo = "term-manager"; - rev = "0768cef5efe7579a36304a5832d46b0e044993cc"; - sha256 = "0cifgzsgzyd659h38gsvh2dr8z48n9qn0aq8z8bz18wz66q8lbij"; + rev = "f29bced3ecdf23d999f55573894b1ec1e2a94fc9"; + sha256 = "1nkahsnwvmg1fv3qsdc49k5xick6wji3j6qffwfnpw1prx2n2a45"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0b2f7d8c8fcbb535432f8e70729d69a572e49a1a/recipes/term-manager"; @@ -61506,12 +64509,12 @@ term-projectile = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, projectile, term-manager }: melpaBuild { pname = "term-projectile"; - version = "20160824.1049"; + version = "20161106.1419"; src = fetchFromGitHub { owner = "IvanMalison"; repo = "term-manager"; - rev = "0768cef5efe7579a36304a5832d46b0e044993cc"; - sha256 = "0cifgzsgzyd659h38gsvh2dr8z48n9qn0aq8z8bz18wz66q8lbij"; + rev = "f29bced3ecdf23d999f55573894b1ec1e2a94fc9"; + sha256 = "1nkahsnwvmg1fv3qsdc49k5xick6wji3j6qffwfnpw1prx2n2a45"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5260876280148fae28a459f07932cebb059b560e/recipes/term-projectile"; @@ -61569,12 +64572,12 @@ tern = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, json ? null, lib, melpaBuild }: melpaBuild { pname = "tern"; - version = "20160817.522"; + version = "20161222.850"; src = fetchFromGitHub { owner = "ternjs"; repo = "tern"; - rev = "0bf87473bc8c21f8d37e2ff6157edf9df8bde521"; - sha256 = "189pbik01j3spd7ds2nsl48k1aqj01b3m4pc5261c8rakhdzgjz6"; + rev = "b26e513f7bb8c7bb3509b7ce7066212673cef285"; + sha256 = "0w8m30c6da5ahlziwnig2pprqx6w5wrp1mm341fhibfj3gd4qmxp"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/eaecd67af24050c72c5df73c3a12e717f95d5059/recipes/tern"; @@ -61590,12 +64593,12 @@ tern-auto-complete = callPackage ({ auto-complete, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, tern }: melpaBuild { pname = "tern-auto-complete"; - version = "20151123.653"; + version = "20160906.1204"; src = fetchFromGitHub { owner = "ternjs"; repo = "tern"; - rev = "0bf87473bc8c21f8d37e2ff6157edf9df8bde521"; - sha256 = "189pbik01j3spd7ds2nsl48k1aqj01b3m4pc5261c8rakhdzgjz6"; + rev = "b26e513f7bb8c7bb3509b7ce7066212673cef285"; + sha256 = "0w8m30c6da5ahlziwnig2pprqx6w5wrp1mm341fhibfj3gd4qmxp"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/eaecd67af24050c72c5df73c3a12e717f95d5059/recipes/tern-auto-complete"; @@ -61611,12 +64614,12 @@ tern-context-coloring = callPackage ({ context-coloring, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, tern }: melpaBuild { pname = "tern-context-coloring"; - version = "20160709.837"; + version = "20161217.2347"; src = fetchFromGitHub { owner = "jacksonrayhamilton"; repo = "tern-context-coloring"; - rev = "42e2f0177e8d3017c07826361cc981b2883d34dc"; - sha256 = "0jdm1s8pqs40xligbhmqgk4vaxkqyb2i5wkx1zgjazq8fhcql9jv"; + rev = "3a8e979d6cc83aabcb3dda3f5f31a6422532efba"; + sha256 = "1rq5aqmsd7jqvwypafad9gmfcwjqjah00j7cws46k5f0dirjaa1y"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/db2119d2c2d167d771ee02c2735b435d59991b93/recipes/tern-context-coloring"; @@ -61650,22 +64653,22 @@ license = lib.licenses.free; }; }) {}; - terraform-mode = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, hcl-mode, lib, melpaBuild }: + terraform-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, hcl-mode, lib, melpaBuild }: melpaBuild { pname = "terraform-mode"; - version = "20160823.31"; + version = "20170101.456"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-terraform-mode"; - rev = "6337c5eda0abacc5b38e241dae0fadd8cecc81e5"; - sha256 = "0cyijxjxdhkc555hwgdv0jxnsqp22b12ys35v2hai3p9w5x22jxc"; + rev = "51ecf5858b910ddd373de4c6fbc0c12c202e8613"; + sha256 = "0dfjdwpyy1kp6j7flkxnfng74vkx93glq3idhzc6hq8a4wh2j64n"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/93e06adf34bc613edf95feaca64c69a0a2a4b567/recipes/terraform-mode"; sha256 = "1m3s390mn4pba7zk17xfk045dqr4rrpv5gw63jm18fyqipsi6scn"; name = "terraform-mode"; }; - packageRequires = [ cl-lib hcl-mode ]; + packageRequires = [ emacs hcl-mode ]; meta = { homepage = "https://melpa.org/#/terraform-mode"; license = lib.licenses.free; @@ -61695,12 +64698,12 @@ test-kitchen = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "test-kitchen"; - version = "20160516.1348"; + version = "20161115.1418"; src = fetchFromGitHub { owner = "jjasghar"; repo = "test-kitchen-el"; - rev = "ddbcb964ac4700973eaf30ae366f086e3319e51f"; - sha256 = "004rd6jkaklsbgka9mf2zi5qzxsl2shwl1kw0vgb963xkmk9zaz8"; + rev = "9213e55e0334c2a3bb31f8cebf9b40022ca12db8"; + sha256 = "11nnc6s3ryfdrlvkf9rfya9m66l4x1d0zm4p9w1gf0vnyb5x7mfq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/420d18c76f593338fb28807fcbe3b884be5b1634/recipes/test-kitchen"; @@ -61797,6 +64800,48 @@ license = lib.licenses.free; }; }) {}; + textx-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "textx-mode"; + version = "20161106.1243"; + src = fetchFromGitHub { + owner = "novakboskov"; + repo = "textx-mode"; + rev = "74b701ec2d31b228a8e1e9c993edd00f5c324dca"; + sha256 = "1i4bd17kymdc9w2xd83549f0dva2asnvqcppgsg3svyab8x1aa7z"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/dada0378af342e0798c418032a8dcc7dfd80d600/recipes/textx-mode"; + sha256 = "10y95m6fskvdb2gh078ifa70nc48shkvw0223iyqbyjys35h53bn"; + name = "textx-mode"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/textx-mode"; + license = lib.licenses.free; + }; + }) {}; + tf2-conf-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "tf2-conf-mode"; + version = "20161209.820"; + src = fetchFromGitHub { + owner = "wynro"; + repo = "emacs-tf2-conf-mode"; + rev = "536950f64c071ffd8495fb2c7ac7c63a11e25f93"; + sha256 = "0vga7kgzp9wiiji1w47llbb3gp9qgwk8v0f6s8b6jng2gmdg25bk"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/c43c53dca64cf0c7d59ffd0b17e9fe60f4aa90d3/recipes/tf2-conf-mode"; + sha256 = "09kvb3ya1dx5pc146a6r9386fg9n9nfpcxm5mmhmyf75h9c6a25g"; + name = "tf2-conf-mode"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/tf2-conf-mode"; + license = lib.licenses.free; + }; + }) {}; tfs = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "tfs"; version = "20120508.1120"; @@ -61818,12 +64863,12 @@ theme-changer = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "theme-changer"; - version = "20130725.1919"; + version = "20161130.1440"; src = fetchFromGitHub { owner = "hadronzoo"; repo = "theme-changer"; - rev = "c28ea477e8277c03e14657f167695e3c4bf3c11f"; - sha256 = "0njmn5dy773v9kmwclw1m79rh52xnxl8mswcaagni2z3dvlvw4m8"; + rev = "60e3dd7cbd237225fef34179168006501a27b06b"; + sha256 = "06y36i3h5m85d6b47cr0hghhbkd8kv23lm6ipc9swkmq0hl3pxfg"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d08b24a2aec1012751054c68f7d55bac1bd1fd11/recipes/theme-changer"; @@ -61839,12 +64884,12 @@ theme-looper = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "theme-looper"; - version = "20150723.1104"; + version = "20160924.2205"; src = fetchFromGitHub { owner = "myTerminal"; repo = "theme-looper"; - rev = "6df57e7f6b6e40168b3b2c6a2f80a15d0522ce6f"; - sha256 = "05b3p4i7bljhlx490dqkp32a1n15kz697vdjlzld30hwspfynhcv"; + rev = "66788db264b3d94f25a077f9a6cecfa1c8ad2c96"; + sha256 = "1wckby9q7c6xdq0kv0x0fdjr9gplj4an5s3kx78dqrxcjj12a35d"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/861c3b96189233956b15f222702ff034ed2d8cd1/recipes/theme-looper"; @@ -61899,10 +64944,10 @@ thing-cmds = callPackage ({ fetchurl, hide-comnt, lib, melpaBuild }: melpaBuild { pname = "thing-cmds"; - version = "20151231.1609"; + version = "20170101.1143"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/thing-cmds.el"; - sha256 = "1nclwxb63ffbc4wsga9ngkfcxsw88za0c4663fh9x64rl4db4hn8"; + sha256 = "1qpszba6ajwqphhk39y6j4wlg7s5lch63lwfa9y28qipwkbn6zlq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/thing-cmds"; @@ -61917,10 +64962,10 @@ }) {}; thingatpt-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "thingatpt-plus"; - version = "20160830.1004"; + version = "20170101.1144"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/thingatpt+.el"; - sha256 = "1psccacv7r4mqxbp99q4hsln27pybhb0dz9mzrh0iz57b9j13fnh"; + sha256 = "0hb3fyqzq0312isid5vji0j74dmkh08p41sss32f4w60yhd8p19x"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/thingatpt+"; @@ -62003,8 +65048,8 @@ src = fetchFromGitHub { owner = "apache"; repo = "thrift"; - rev = "e4ba16495e8d8177eb85d6bfcc69089b38753e39"; - sha256 = "1ykhl56l2rr853ppf37w37rq4bc5dvfvf1h47ahplij9qgagbf6x"; + rev = "d8bb0e3b9ff7e6cecfc85c01a81280dc3d046430"; + sha256 = "0n2dy6l9wv08z5f67qlayw1ik3mfcblaflh0dl3ji1f6ygfm6y8h"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/857ab7e3a5c290265d88ebacb9685b3faee586e5/recipes/thrift"; @@ -62020,10 +65065,10 @@ thumb-frm = callPackage ({ fetchurl, frame-cmds, frame-fns, lib, melpaBuild }: melpaBuild { pname = "thumb-frm"; - version = "20151231.1612"; + version = "20170101.1145"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/thumb-frm.el"; - sha256 = "0nyp1sp55l3mlhlxw8kyp6hxan3rbgwc4fmfs174n6hlj3zr5vg8"; + sha256 = "19fiafq5nl29wr35l7nkzjs70fvnw0g27424x7xnm425gwaags8s"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/thumb-frm"; @@ -62057,22 +65102,22 @@ license = lib.licenses.free; }; }) {}; - tide = callPackage ({ cl-lib ? null, dash, emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, typescript-mode }: + tide = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, typescript-mode }: melpaBuild { pname = "tide"; - version = "20160830.2120"; + version = "20161217.2302"; src = fetchFromGitHub { owner = "ananthakumaran"; repo = "tide"; - rev = "170bce9067a6467f190418284377559a9f43c667"; - sha256 = "0b23d9bi1i00v9ffrdi5ag0q2i149ai1p88klpgl2j9kvdif0zmg"; + rev = "ab0e9fca712c6e890c213198fe9ab20284778f79"; + sha256 = "1msndmywrj0fny4fys5qj9nh1p01p2vsyn3wfrhj5asshgvp6g48"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a21e063011ebbb03ac70bdcf0a379f9e383bdfab/recipes/tide"; sha256 = "1z2xr25s23sz6nrzzw2xg1l2j8jvjhxi53qh7nvxmmq6n6jjpwg1"; name = "tide"; }; - packageRequires = [ cl-lib dash emacs flycheck typescript-mode ]; + packageRequires = [ cl-lib dash flycheck typescript-mode ]; meta = { homepage = "https://melpa.org/#/tide"; license = lib.licenses.free; @@ -62096,6 +65141,27 @@ license = lib.licenses.free; }; }) {}; + tile = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s, stream }: + melpaBuild { + pname = "tile"; + version = "20161224.1957"; + src = fetchFromGitHub { + owner = "IvanMalison"; + repo = "tile"; + rev = "22660f21f6e95de5aba55cd5d293d4841e9a4661"; + sha256 = "1qxhrm852j93sqi1lznlrjn7s0vscsixm48g46ja70gl320chyzm"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/424cfd28378ef328721bb0dc3651808e64c01306/recipes/tile"; + sha256 = "1795048ilpg6y9pn0jj0js5446hwxhwm6qmk50hds0hpcb396vbv"; + name = "tile"; + }; + packageRequires = [ dash emacs s stream ]; + meta = { + homepage = "https://melpa.org/#/tile"; + license = lib.licenses.free; + }; + }) {}; time-ext = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "time-ext"; @@ -62204,12 +65270,12 @@ tinkerer = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "tinkerer"; - version = "20150219.2249"; + version = "20161102.531"; src = fetchFromGitHub { owner = "yyr"; repo = "tinkerer.el"; - rev = "1125780d1fba0330435fcbe943716032ed543a57"; - sha256 = "0rf177kr0qfhg8g5xrpi405dhp2va1yk170zm3f8hghi2575ciy2"; + rev = "713769e5f5eb90a87d515b7ba2dca71f2f297218"; + sha256 = "1dpf6s1mv8mvcr84hzawhjgz3fjpbr8qrlcvdsw3r2c6b9pdi4hw"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8a28e1dfe987287bac7c45f83ae6e754bc13e345/recipes/tinkerer"; @@ -62246,12 +65312,12 @@ tiny-menu = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "tiny-menu"; - version = "20160606.1711"; + version = "20161213.435"; src = fetchFromGitHub { owner = "aaronbieber"; repo = "tiny-menu.el"; - rev = "9820cff69d3b605813f609a0db8e6c860bfb9c72"; - sha256 = "1l3cz16lnq5rw57m4j0x29j6nkrcxnz2ppar5xnpwlcaf600wqki"; + rev = "f1fc844f514f57fd93602ff5e00c6125b0e93254"; + sha256 = "125ckmfsvzacd5icsnldcbfl4rkxpfal6qfindy80i84vk0qw47g"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/82700c97ca40130e7508c151f60220d3f23bf23c/recipes/tiny-menu"; @@ -62351,12 +65417,12 @@ toc-org = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "toc-org"; - version = "20160711.25"; + version = "20161004.320"; src = fetchFromGitHub { owner = "snosov1"; repo = "toc-org"; - rev = "08ed3f0883b0937bb17b7373c84ac7b8744aa8ae"; - sha256 = "0zr5j0n3xr6310zwd3wss34g77k0dfmmq7mm1a5pa8b7llvm1qbq"; + rev = "a0e8ca05e806e5074b8603985da7f18b92c15856"; + sha256 = "1sv9y5dln4ai9w3mgg8p4a3s05hflfqh0k7k8isjqikydbv85m2k"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1305d88eca984a66039444da1ea64f29f1950206/recipes/toc-org"; @@ -62390,12 +65456,12 @@ todotxt = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "todotxt"; - version = "20150513.1929"; + version = "20160919.2238"; src = fetchFromGitHub { owner = "rpdillon"; repo = "todotxt.el"; - rev = "fc83f954aea75065aa9788ee07027c94e76a9364"; - sha256 = "0ms4mapjg9mbpmcmpn68r0mhwaibwfr4v25sin74b2281h4q7gal"; + rev = "c0d0e8320ba9284710d46941eaf6847f909b589e"; + sha256 = "08fd5lk1gq9clxhz5i81qm5f0a20yrx49iy13bx1p59gj20f1z41"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f934da448463e672de3c87b2ee514a370f67107d/recipes/todotxt"; @@ -62537,12 +65603,12 @@ tomatinho = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "tomatinho"; - version = "20160531.1328"; + version = "20161023.1853"; src = fetchFromGitHub { owner = "konr"; repo = "tomatinho"; - rev = "858c640ceda033f3c2d86d2d523ffce6b47e5024"; - sha256 = "1rp866s1b9ycjiv3h0jzrwr6p5ssfr0l8ry38kzi090c9hk84z0p"; + rev = "7c301d343ecf7feac7348d1146075b2d9ba7d77a"; + sha256 = "0kgd932857id83xdwpwf9x3ald1alx0s71dkkq84mj9yscxnz01p"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3fe20de5b2b5e5abe5be7468cea7c87f5b26b237/recipes/tomatinho"; @@ -62576,22 +65642,22 @@ license = lib.licenses.free; }; }) {}; - toml-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + toml-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "toml-mode"; - version = "20160718.2217"; + version = "20161107.1000"; src = fetchFromGitHub { owner = "dryman"; repo = "toml-mode.el"; - rev = "609d7101cc50b2ce350dad0d6adbd476d20fc811"; - sha256 = "068jcxadwpxk4rk4kix2y5g5dm7g3pd3d1v6dj5jimjkp9zvy1h9"; + rev = "f6c61817b00f9c4a3cab1bae9c309e0fc45cdd06"; + sha256 = "05b4ksay85c8y5ncax0qsvnmplwsfiw24z16a58gkarjz938hb57"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f8157d7d11f1e1848f0ba384249b4b8c6354830b/recipes/toml-mode"; sha256 = "0yghf2ixl3dkcaxnkr4qzxfa9k1rrac7w5qpw1jx2bvic0cfs40l"; name = "toml-mode"; }; - packageRequires = []; + packageRequires = [ cl-lib emacs ]; meta = { homepage = "https://melpa.org/#/toml-mode"; license = lib.licenses.free; @@ -62620,10 +65686,10 @@ }) {}; tool-bar-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "tool-bar-plus"; - version = "20151231.1615"; + version = "20170101.1147"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/tool-bar+.el"; - sha256 = "1sqflxj3hzxdlwn5qmpqm4dwik5vsyp7lypkvshcghdplxymb38a"; + sha256 = "19ayc57vnv9348nfc10392kr4xd6wg0b6v2ya3x2zlpfsq3a6w2n"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/tool-bar+"; @@ -62737,15 +65803,15 @@ license = lib.licenses.free; }; }) {}; - traad = callPackage ({ deferred, fetchFromGitHub, fetchurl, lib, melpaBuild, popup, python-environment, request, request-deferred }: + traad = callPackage ({ deferred, fetchFromGitHub, fetchurl, lib, melpaBuild, popup, request, request-deferred, virtualenvwrapper }: melpaBuild { pname = "traad"; - version = "20151225.2334"; + version = "20161010.152"; src = fetchFromGitHub { owner = "abingham"; repo = "emacs-traad"; - rev = "bcf9260fb8b9216ec1c455f673270049be7ccb38"; - sha256 = "1yh9dxf986dl74sgn71qxwxsg67lr0yg1z7b9h2254lmxq0mgni6"; + rev = "d96da54c87cba247306b4519295cc4d4df7cc33c"; + sha256 = "1hx6d4r20irs8zdimsfw17kwpwrdcjhkvf1zf7k4cr9bmkj4bvz5"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2b3eb31c077fcaff94b74b757c1ce17650333943/recipes/traad"; @@ -62755,9 +65821,9 @@ packageRequires = [ deferred popup - python-environment request request-deferred + virtualenvwrapper ]; meta = { homepage = "https://melpa.org/#/traad"; @@ -62771,8 +65837,8 @@ src = fetchFromGitHub { owner = "jorgenschaefer"; repo = "circe"; - rev = "0564dfae13590d183889950724a7ef2e8df5b1df"; - sha256 = "1nwdbm9dnybghcv2rjw9c8783k5r060cmxzklsn9by4l7i1x9k2r"; + rev = "e549f0a7f8c6a39cc3129581b85682e3977d2bdd"; + sha256 = "16c45hb216b3r214p8v7zzlpz26s39lc9fmjl6ll3jwvqpq19kb1"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a2b295656d53fddc76cacc86b239e5648e49e3a4/recipes/tracking"; @@ -62872,12 +65938,12 @@ transmission = callPackage ({ emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild }: melpaBuild { pname = "transmission"; - version = "20160731.1035"; + version = "20161231.2101"; src = fetchFromGitHub { owner = "holomorph"; repo = "transmission"; - rev = "79008abc3f328c1b24434ffb5ea9e5bc8821ed4d"; - sha256 = "0yf982js9f1hpkn6ydvnzc7x3jwfga5dpyn3ca8ffvzn76iws0vi"; + rev = "39b1fdb924727698e5b85c588bc6fd83200e4b90"; + sha256 = "08wgqx48b3kbggxmkjjxwyinfl1j6b8wi4xvg0hwbkyw0zka0cii"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9ed7e414687c0bd82b140a1bd8044084d094d18f/recipes/transmission"; @@ -63073,6 +66139,27 @@ license = lib.licenses.free; }; }) {}; + ts-comint = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "ts-comint"; + version = "20161006.1034"; + src = fetchFromGitHub { + owner = "josteink"; + repo = "ts-comint"; + rev = "53e0326149d74ac13850f052dcdae4a070d63480"; + sha256 = "0jrl161lkjdk9appn42g8nybj7sdrpvr0h7c48kj4vvsfmlmrikp"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/84e7004395083b66fce7ff4676af818bc798058a/recipes/ts-comint"; + sha256 = "18swvzkzcwn0wks58flsjpn9dddzcznij67xifyz6009l4fgdrzd"; + name = "ts-comint"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/ts-comint"; + license = lib.licenses.free; + }; + }) {}; tss = callPackage ({ auto-complete, fetchFromGitHub, fetchurl, json-mode, lib, log4e, melpaBuild, yaxception }: melpaBuild { pname = "tss"; @@ -63158,12 +66245,12 @@ tuareg = callPackage ({ caml, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "tuareg"; - version = "20160710.1045"; + version = "20161229.438"; src = fetchFromGitHub { owner = "ocaml"; repo = "tuareg"; - rev = "1e68a0addca6165b8f1cadfcd15c0b7ef5184e9a"; - sha256 = "11g1gimcp4w59pd316my8zmi4y78zf9avxhck829f817a97kf5fn"; + rev = "d4c82791b2a4e2c38c09a5afc61dab958b107428"; + sha256 = "13f4rj45m6qb1m21x9qnyb1xhfpb4pi8aifya0lb8xplav131bsk"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/01fb6435a1dfeebdf4e7fa3f4f5928bc75526809/recipes/tuareg"; @@ -63368,12 +66455,12 @@ twittering-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "twittering-mode"; - version = "20160710.1017"; + version = "20160921.1038"; src = fetchFromGitHub { owner = "hayamiz"; repo = "twittering-mode"; - rev = "97ed4410dd994c09081a7a12570adb34f356d87c"; - sha256 = "16wk15hn1lgxphvb6kmihahbxi4vkks2knr6r5k3iay6gq7bvpbh"; + rev = "08a810167d47852367e7e8d56916c794f7b0fd04"; + sha256 = "15wghd8iiyrikahd7ayga9m0s993ghriwk44ylcycy3a6axaizmi"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/twittering-mode"; @@ -63410,12 +66497,12 @@ typescript-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "typescript-mode"; - version = "20160719.2353"; + version = "20161130.1944"; src = fetchFromGitHub { owner = "ananthakumaran"; repo = "typescript.el"; - rev = "aae70b59e64e1d7b3cfaee41e9134bfa19ac7363"; - sha256 = "10i2wkqq3bdrxxwx9nw8zbfx7jmvpwp5mpw9765zlppg46zkqkac"; + rev = "f72826e564dc9d7b60dd9df3c6337f33b02560bf"; + sha256 = "1mhsznkg7hnhb7ypbx0ljg3scawz6dsa5l2vaapb51akaf87a267"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d3f534a1e2cee4ad2e32e32802c5080207417b3d/recipes/typescript-mode"; @@ -63470,12 +66557,12 @@ typit = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, mmt }: melpaBuild { pname = "typit"; - version = "20160531.931"; + version = "20170101.318"; src = fetchFromGitHub { owner = "mrkkrp"; repo = "typit"; - rev = "0e5b374830e85a32b51a4cc8206df8e494378cb2"; - sha256 = "1jv5qmp3xs37py7d9aln4jn85j65h9pp5vb2dcmd8rlszhplsrng"; + rev = "eb2d9a73851c64e21c211136c36b9de34812dc0f"; + sha256 = "0r8cr4h3pkc23zxv01kkqv7bn34vppw6wgm7npzc9c04l40hs7iq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d17d019155e19c156f123dcd702f18cfba488701/recipes/typit"; @@ -63516,8 +66603,8 @@ src = fetchFromGitHub { owner = "ksjogo"; repo = "typoscript-mode"; - rev = "0d414e15c8217b5ed42080c84f1c4cc39fdb18ab"; - sha256 = "1i6667dn8avk2lm37lq2ga3d716d34yqz5zqd8j1lq4xyjaq3qj6"; + rev = "478070b6946cbc6b73249bb6e5f35366aabe9f99"; + sha256 = "13lawwhn2asr20213h1ijy827kfxs9qzhizkwzsa2sm2s0262rja"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/701de09cb97cbfa49a3a81aaeb9577817566efa2/recipes/typoscript-mode"; @@ -63553,10 +66640,10 @@ }) {}; ucs-cmds = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "ucs-cmds"; - version = "20151231.1616"; + version = "20170101.1149"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/ucs-cmds.el"; - sha256 = "0qy211rxrmzhwl9qfrcmfnwayysvb5rghjginbvx3wf2s6hrbpya"; + sha256 = "0ql6qyzcj067vx2amwfh2m4vi056zf7qra4pkyskv829nxqg9mk8"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/ucs-cmds"; @@ -63593,12 +66680,12 @@ uimage = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "uimage"; - version = "20160716.130"; + version = "20160901.521"; src = fetchFromGitHub { owner = "lujun9972"; repo = "uimage"; - rev = "e63b06416d4fcfc50a65ba6dfdf7e4d9b969750c"; - sha256 = "0l03c72y219ilfm685g3c8jziayjdvbb911qzhs6hcbysy0b3v6x"; + rev = "9893d09160ef7e8c0ecdcd74fca99ffeb5f9d70d"; + sha256 = "1ri50nab778kpq49m54ra75z8dphagp9sz92is0636j4qy3sbih1"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/346cb25abdfdd539d121a9f34bce75b2fc5a16be/recipes/uimage"; @@ -63614,12 +66701,12 @@ ujelly-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ujelly-theme"; - version = "20160722.1850"; + version = "20161222.534"; src = fetchFromGitHub { owner = "marktran"; repo = "color-theme-ujelly"; - rev = "c0082c1b5ab9ff1c04a334a25566ccb40929a71e"; - sha256 = "1gayz9y2i0h2v62gczrzd81cw5w8wnj2bgscc3j05v12piamjggb"; + rev = "b62d64b8221c4209fb2d25bd49c85e3bfea19a90"; + sha256 = "1qzpv3lh51q8f4bvyr0wykvsm1jyf78wf8xvawjspp8vz76r8h7l"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/ujelly-theme"; @@ -63695,12 +66782,12 @@ undercover = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, shut-up }: melpaBuild { pname = "undercover"; - version = "20160329.737"; + version = "20161114.819"; src = fetchFromGitHub { owner = "sviridov"; repo = "undercover.el"; - rev = "f96c6033db6ff316fb6ba31db9c0d60736d35e5f"; - sha256 = "1860hnsbvndaahqs233adk8piz7nyj8v3b0gziv1lrnq864hrq5i"; + rev = "465e339749f924606df71e250ae10d1f910f71a9"; + sha256 = "0p75m1v9hvdlmlpg9zk09q9zyxf1ld6njfqir6hx83lidgvs5wsm"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d58ad9eb863494f609114e3c6af8c14c891b83a5/recipes/undercover"; @@ -63737,11 +66824,11 @@ undo-tree = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }: melpaBuild { pname = "undo-tree"; - version = "20140509.522"; + version = "20161012.701"; src = fetchgit { url = "http://www.dr-qubit.org/git/undo-tree.git"; - rev = "a3e81b682053a81e082139300ef0a913a7a610a2"; - sha256 = "014x3gnv4l0p7jbz34dmdrcksw4dfww9lkp9d7nx5q3fsbvsx35z"; + rev = "4cba00bb049cfaa2ee6821a9e347209a88a740b5"; + sha256 = "0qawh5cr0ahdg1rks96g9fbva2nfkz8mbl82jnps6axqdf57gm38"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4327b4dd464ebb00c2acdd496274dedf912cdf92/recipes/undo-tree"; @@ -63782,8 +66869,8 @@ src = fetchFromGitHub { owner = "purcell"; repo = "unfill"; - rev = "a88ba489b47429653c98d72ae8e0b2bcbed02faa"; - sha256 = "1gmwdja53x3mzpfxjjqs41vy7prfyz7a1iy3cf5fx3k1yw9vcfkb"; + rev = "88186dce0de69e8f4aeaf2bfdc77d62210f19cd8"; + sha256 = "0wyradin5igp25nsd3n22i2ppxhmy49ac1iq1w2715v8pfmiydnc"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2ade389a20419b3e29a613409ac73a16b7c5bddb/recipes/unfill"; @@ -64164,12 +67251,12 @@ use-package = callPackage ({ bind-key, diminish, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "use-package"; - version = "20160815.1137"; + version = "20161222.903"; src = fetchFromGitHub { owner = "jwiegley"; repo = "use-package"; - rev = "3f6ba1bb8ad3fd81278b6787c664639a6a0df6f5"; - sha256 = "161bdn6b76rf0sm7881pyr6xs8mvyvpxhzicf0g2dqncisg4y0gn"; + rev = "5954ad37cf2d3c9237f4d2037e8619be15681cd1"; + sha256 = "0scn6wrs6040j4z1gfmn9akzknjhaj2kr07kfzx1v42ibm42ihcd"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3f9b52790e2a0bd579c24004873df5384e2ba549/recipes/use-package"; @@ -64210,8 +67297,8 @@ src = fetchFromGitHub { owner = "diml"; repo = "utop"; - rev = "d8905336751ab1a3065d128fb4e13bbcf54d0e2e"; - sha256 = "0hyfk565cy2h1rhs4azx2g6bwpjhh6yz59qlnlrirjpsnjya6f9k"; + rev = "f2015062fa5f8ff5a39d3f2db9475862f433b2d0"; + sha256 = "1l00rhh9l4b9ww5sx1vm87qnydcr59ka4w2n2faifglnsv3awzn6"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/30489fe52b4031184e54f994770aa3291257bc9d/recipes/utop"; @@ -64476,15 +67563,36 @@ license = lib.licenses.free; }; }) {}; + vc-fossil = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "vc-fossil"; + version = "20161030.842"; + src = fetchFromGitHub { + owner = "emacsorphanage"; + repo = "vc-fossil"; + rev = "066a1c591c18102d199407e303ccdd0dd8c26be9"; + sha256 = "1z42y04h4649i1hn3lc0ydkmaps39357jy25hlcy07x5nxpklvxf"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/5c8f2a79d6ad9cac527db2d08f3ee6aa199152d1/recipes/vc-fossil"; + sha256 = "0fym5wnig3bdkj86x0n7milcxh3fbigpx42827aim6bm3ry7a081"; + name = "vc-fossil"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/vc-fossil"; + license = lib.licenses.free; + }; + }) {}; vc-osc = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "vc-osc"; - version = "20120910.211"; + version = "20161119.1155"; src = fetchFromGitHub { owner = "aspiers"; repo = "vc-osc"; - rev = "fb01a35107be50ebb126c3573e0374e5e7d78331"; - sha256 = "0whzfzg0m03wbmqsxml8hislnbfvawcniq83hj66lbrnbivxsqj4"; + rev = "8c09a0d5f69237285101554261b77d76b546a24b"; + sha256 = "153zwhljkjl0dajd1l6p5icva0bnpa2rj8byjblb3xv8rq7p1fzc"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/70a1fa5fdfdfa9ec5607524be62eb44fe82e91b0/recipes/vc-osc"; @@ -64542,12 +67650,12 @@ vdiff = callPackage ({ emacs, fetchFromGitHub, fetchurl, hydra, lib, melpaBuild }: melpaBuild { pname = "vdiff"; - version = "20160803.1035"; + version = "20161221.450"; src = fetchFromGitHub { owner = "justbur"; repo = "emacs-vdiff"; - rev = "eda4b1bee033d3fde19a70ccfd2abbe278230f0e"; - sha256 = "1yhvizfcl71j6j8dz2la7z90zn4x1mka3qavpmgjcrpck77a9k5x"; + rev = "cfad650c53b4fcaad8f24bbb7d44623678d2edff"; + sha256 = "06ajkby1762i3pnsq0k9048qvxldk0ajrqvq4wwcqgc1xpbcdq7l"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e90f19c8fa4b0d267d269b76f117995e812e899c/recipes/vdiff"; @@ -64563,12 +67671,12 @@ vdirel = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, org-vcard, seq }: melpaBuild { pname = "vdirel"; - version = "20151215.2255"; + version = "20161009.224"; src = fetchFromGitHub { owner = "DamienCassou"; repo = "vdirel"; - rev = "6154343b8265d7e8cc6629f28aa4c3d28d3708cf"; - sha256 = "1lh8nv0ayl9ipl2aqc8npzz84g5q7w6v60l14v61mmk34fc23lnc"; + rev = "4232676e93ca5ace8e51f6605bec223c3205beea"; + sha256 = "0jdjg50f6my9952frl6asi8zk0i8b4hva26wm7pi8zk423pydr30"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/72b5ea3f4444c3de73d986a28e1d12bf47c40246/recipes/vdirel"; @@ -64689,12 +67797,12 @@ vhdl-tools = callPackage ({ emacs, fetchFromGitHub, fetchurl, ggtags, helm, lib, melpaBuild, outshine }: melpaBuild { pname = "vhdl-tools"; - version = "20160810.525"; + version = "20161010.239"; src = fetchFromGitHub { owner = "csantosb"; repo = "vhdl-tools"; - rev = "f6dfac6851c6bc78f9d72849befd54b09ac64ce7"; - sha256 = "03qqvv9l83b5cpdcjdcq0wv3ghhx13y3b16rn1d1l0vfndzmnz42"; + rev = "c964571c38fd3a6bfadc88fd9def3ed03132a052"; + sha256 = "01sdkhljh7mdwv4mvm37gimjvl3i0jpn4xzmd9sdjll0dbc8rxki"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/69fe2f8fb98ac1af1d3185f62ae1c89e646cfebf/recipes/vhdl-tools"; @@ -64836,12 +67944,12 @@ vimish-fold = callPackage ({ cl-lib ? null, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "vimish-fold"; - version = "20160718.126"; + version = "20161231.1600"; src = fetchFromGitHub { owner = "mrkkrp"; repo = "vimish-fold"; - rev = "2ba97302f76d83df3ec8dd1a2d76b02e1a0aadd6"; - sha256 = "0mfrydhndr4a77231kwnh1zljsfpn6sczw51li1kbdbkg8xbps33"; + rev = "1eb00dc2d803df411d7b2eae1c775eecc6512728"; + sha256 = "1shxvnlpb3hw3pa7883nmpzjy2q6cyww3r8x4yx3h315nvxwxfkq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b4862b0a3d43f073e645803cbbf11d973a4b51d5/recipes/vimish-fold"; @@ -64899,12 +68007,12 @@ virtualenvwrapper = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "virtualenvwrapper"; - version = "20151127.621"; + version = "20161002.1515"; src = fetchFromGitHub { owner = "porterjamesj"; repo = "virtualenvwrapper.el"; - rev = "62df8c1af39c5a8fec5b4e3fd1a063db06d38d21"; - sha256 = "05rzjlb04h7xyq7l7z87hqqcsf907p2nsxqnh7r6wm24kddfb0ab"; + rev = "5649028ea0c049cb7dfa2105285dee9c00d189fb"; + sha256 = "1xcjjs394vlaz94xh52kqaq94gkbmmjqmxlg7wly8vfn9vh34mws"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/acc9b816796b9f142c53f90593952b43c962d2d8/recipes/virtualenvwrapper"; @@ -64962,12 +68070,12 @@ visual-fill-column = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "visual-fill-column"; - version = "20160804.1452"; + version = "20161109.337"; src = fetchFromGitHub { owner = "joostkremers"; repo = "visual-fill-column"; - rev = "d3f64e72062cdb74e698bbda8c44d47eb3133099"; - sha256 = "0g6x97d8l11zgcfqdbm5p2bxb9x4c9c7hlypbr6vl6zy1dqixaiw"; + rev = "159dcee48e7311ee816686d62e7ce36619127462"; + sha256 = "0bij20a8f9pd4307m2qslcx8p3j59hkr14sm18aw0bric65him8b"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c7628c805840c4687686d0b9dc5007342864721e/recipes/visual-fill-column"; @@ -64983,12 +68091,12 @@ visual-regexp = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "visual-regexp"; - version = "20160806.610"; + version = "20161017.1713"; src = fetchFromGitHub { owner = "benma"; repo = "visual-regexp.el"; - rev = "96dea5e40a2f904da8efb7cff968d770550b9fb8"; - sha256 = "1482pk12fb23dv97lvp9wkmsa5pybsvc3d2yn5223kwxdy6yg922"; + rev = "4ab9426a831cf0620f49ba227fd10b9c71672274"; + sha256 = "0c8z1brxsxz175fd887nmpyclswv3yablkscfcjpc8f66a7k53qp"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/visual-regexp"; @@ -65046,12 +68154,12 @@ vlf = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "vlf"; - version = "20150101.718"; + version = "20161030.840"; src = fetchFromGitHub { owner = "m00natic"; repo = "vlfi"; - rev = "4eaf763cadac62d7a74f7b2d2436d7793c8f7b43"; - sha256 = "0vl0hwxzzvgna8sysf517qq08fi1zsff3dmcgwvsgzhc47sq8mng"; + rev = "a8ba8363b20d13fdb474faae0ea8d4178c350ca0"; + sha256 = "02xqfrv45d0d36jn6nvzmy6pc9dy7mban2dvljxspgpidqlwj8p8"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9116b11eb513dd9e1dc9542d274dd60f183b24c4/recipes/vlf"; @@ -65085,12 +68193,12 @@ vmd-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "vmd-mode"; - version = "20160531.1719"; + version = "20161106.125"; src = fetchFromGitHub { owner = "blak3mill3r"; repo = "vmd-mode"; - rev = "3f650c04dd1b823a4dc3c7e965ea50c1dfc5645c"; - sha256 = "0wjfpgypdii7y2zp2c3yb6pmgpcza11ds2x3dya4syn6ll7zhgz9"; + rev = "e3b27f4f179002984643895292bb207c3e221a5c"; + sha256 = "0gpamwnsszhna9crhbg2zcvr9hrq7lackhgclq63lsvcm0z2ynfz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a305ed69dbad1a5f456acd1aad2fb9409d6d1fd6/recipes/vmd-mode"; @@ -65103,22 +68211,22 @@ license = lib.licenses.free; }; }) {}; - voca-builder = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + voca-builder = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, popup }: melpaBuild { pname = "voca-builder"; - version = "20150625.1133"; + version = "20161101.945"; src = fetchFromGitHub { owner = "yitang"; repo = "voca-builder"; - rev = "cd74c13e005e33ab125d43233b1267a8819b0abb"; - sha256 = "183pvfp5nnqpgdmfxm84qrnid0lijgk79l5lhwzmnznzkrb7bgxw"; + rev = "51573beec8cd8308477b0faf453aad93e17f57c5"; + sha256 = "1gd7zqmyn389dfyx1yll1bw5f8kjib87k33s9hxsbx0db8vas9q6"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/42a930e024ce525b2890ccd5a1eb4844859faafd/recipes/voca-builder"; sha256 = "0mbw87mpbb8rw7xzhmg6yjla2c80x9820kw4q00x00ny5rbhm76y"; name = "voca-builder"; }; - packageRequires = []; + packageRequires = [ popup ]; meta = { homepage = "https://melpa.org/#/voca-builder"; license = lib.licenses.free; @@ -65169,12 +68277,12 @@ vue-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, mmm-mode }: melpaBuild { pname = "vue-mode"; - version = "20160411.2054"; + version = "20161227.133"; src = fetchFromGitHub { owner = "CodeFalling"; repo = "vue-mode"; - rev = "28e2cc06f8ba8e0ac7027b33300b999493e73505"; - sha256 = "1d9rwgyvizn1zas8v98v86g5kck0m567cprpcakdawwamn155k49"; + rev = "addc8637f9ab645b758b48b785a5a4c74c8ccc71"; + sha256 = "0pkjvil3wdcpwm7gq998lqr5dwp8qdzc025qjq0f3pqv9sq4yqq3"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2e5e0a9fff332aeec09f6d3d758e2b67dfdf8397/recipes/vue-mode"; @@ -65189,10 +68297,10 @@ }) {}; w32-browser = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "w32-browser"; - version = "20160814.1433"; + version = "20170101.1154"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/w32-browser.el"; - sha256 = "0cb42vmvjhgjg34klxfrqx8fc39awv0gcr2i2n3ma2xdknzb9z7b"; + sha256 = "0x30ldv2wbv3vhj85jss7hwf672m61f5r4z9l1sg3v0ibalqry45"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/w32-browser"; @@ -65208,10 +68316,10 @@ w32browser-dlgopen = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "w32browser-dlgopen"; - version = "20151231.1621"; + version = "20170101.1155"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/w32browser-dlgopen.el"; - sha256 = "0nyara81bnd0rvgyljqrrbvjvndkngdc7qzf6scl5iz3vlglfgy7"; + sha256 = "1dv4l7rcm34p78cvyjv7b1lcc1d28pia18vj3swgnan9g1mi7zdf"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/w32browser-dlgopen"; @@ -65269,12 +68377,12 @@ wakatime-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "wakatime-mode"; - version = "20160417.109"; + version = "20161019.602"; src = fetchFromGitHub { owner = "wakatime"; repo = "wakatime-mode"; - rev = "a0d279ac7d17c927ca3c52b9e072751b987b8333"; - sha256 = "06d6ywc0hq6jn5ahq96qa8v8fnps464f2gjmdhsgvj8b0d0c5jl1"; + rev = "4a99c5ad1e25135a086cab63ad797fae9b03afbb"; + sha256 = "0y4ydwqvjnkf8iav0c08zpmqm1zja7r5c6cjwnk07rsnb5zhpzjw"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a46036a0e53afbebacafd3bc9545c99af79ccfcc/recipes/wakatime-mode"; @@ -65332,12 +68440,12 @@ wanderlust = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, semi }: melpaBuild { pname = "wanderlust"; - version = "20160826.1616"; + version = "20161227.2220"; src = fetchFromGitHub { owner = "wanderlust"; repo = "wanderlust"; - rev = "6e69789e5413e91d315123ba977d9754bd9ef76d"; - sha256 = "0j0mhcvsf1hi2zxdn1gi7r0mrbcffcj0kdjrf15wwih4g6kraja6"; + rev = "59a4d97286251a0c0871c085aea01fa1abc1e192"; + sha256 = "1k7kkdr2kr7qivvbifqgw9hx111bscbh376q1f44p825flxnzyn8"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/426172b72026d1adeb1bf3fcc6b0407875047333/recipes/wanderlust"; @@ -65353,12 +68461,12 @@ warm-night-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "warm-night-theme"; - version = "20150607.741"; + version = "20161101.728"; src = fetchFromGitHub { owner = "mswift42"; repo = "warm-night-theme"; - rev = "67cc2a1591c0627e6310cdfe8ca7c8d4565b9c16"; - sha256 = "1x472s5qr6wvla7nj5i9mas8z9qhkj4zj5qghfwn5chb9igvfkif"; + rev = "020f084d23409b5035150508ba6e57c2509edd64"; + sha256 = "1jmjyx06p0cvqi1vlg5px2g965q9pgi3j61msxjf5skzw53vlc88"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/312e3298d51b8ed72028df34dbd7620cdd03d8dd/recipes/warm-night-theme"; @@ -65437,12 +68545,12 @@ wc-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "wc-mode"; - version = "20131121.826"; + version = "20161031.648"; src = fetchFromGitHub { owner = "bnbeckwith"; repo = "wc-mode"; - rev = "c465751b434b20f848f0b8fa2b4e2dec5717f217"; - sha256 = "1j1k3ab0ymr66w23z3r4yd1g6410n5y80jfyg2f9i9rdk7vq18gd"; + rev = "122f90bd1d422a84cc50acabd350d44d39ddeb69"; + sha256 = "0pjlxv46zzqdq6q131jb306vqlg4sfqls1x8vag7mmfw462hafqp"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0fda2b54a0ff0b6fc3bd6d20cfcbbf63cae5380f/recipes/wc-mode"; @@ -65521,12 +68629,12 @@ web-beautify = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "web-beautify"; - version = "20160410.1005"; + version = "20161115.1447"; src = fetchFromGitHub { owner = "yasuyk"; repo = "web-beautify"; - rev = "1ca9841e9ae951d60d591befa5efaaf839916b75"; - sha256 = "0j8v8p4w586wz80q9scdby6b80sbxz4lqg9zb5pbr2w8bsps8n4m"; + rev = "e1b45321d8c11b404b12c8e55afe55eaa7c84ee9"; + sha256 = "03b5pj58m00lkazyvvasa4qndrkh2kjzv2y7qhxljfg5mngyg3zg"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0d528d3e20b1656dff40860cac0e0fa9dc1a3e87/recipes/web-beautify"; @@ -65563,12 +68671,12 @@ web-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "web-mode"; - version = "20160828.2311"; + version = "20161230.1026"; src = fetchFromGitHub { owner = "fxbois"; repo = "web-mode"; - rev = "cceda49bfaad34296592492bebaa1544f6f0dc12"; - sha256 = "1d6ifc9ii2f64jyywqlkjk48jp1gv71hwd32lrp6dxmv3l32bwk3"; + rev = "abd9c738feb0d6069cf8de07fa7d109441a5ca54"; + sha256 = "049q9n3881f27lpsmjsxdfw6zkizqhrh3wwyxfibnzsq9c1631hi"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6f0565555eaa356141422c5175d6cca4e9eb5c00/recipes/web-mode"; @@ -65581,6 +68689,27 @@ license = lib.licenses.free; }; }) {}; + web-mode-edit-element = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, web-mode }: + melpaBuild { + pname = "web-mode-edit-element"; + version = "20161114.954"; + src = fetchFromGitHub { + owner = "jtkDvlp"; + repo = "web-mode-edit-element"; + rev = "8b8ac07aa8c920dafd94c96a51effb0d6c0ed1ce"; + sha256 = "0aj1ibmnrbaxrkwjf1fac2qzazrj39pql3prcibnchc2bmp191aa"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/2658e8a80455ad5ae1ceb69deddab89ebc6b6871/recipes/web-mode-edit-element"; + sha256 = "09m2jzsb3zz1wr396jrhcwskfm1m0a4hvxlxhq5p1w5fzfcdb8md"; + name = "web-mode-edit-element"; + }; + packageRequires = [ emacs web-mode ]; + meta = { + homepage = "https://melpa.org/#/web-mode-edit-element"; + license = lib.licenses.free; + }; + }) {}; web-server = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "web-server"; @@ -65602,18 +68731,19 @@ license = lib.licenses.free; }; }) {}; - weblogger = callPackage ({ fetchbzr, fetchurl, lib, melpaBuild, xml-rpc }: + weblogger = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, xml-rpc }: melpaBuild { pname = "weblogger"; version = "20110926.918"; - src = fetchbzr { - url = "lp:weblogger-el"; - rev = "38"; - sha256 = "1z7ld9d0crwdh778fyaapx75vpnlnslsh9nf07ywkylhz4w68yyv"; + src = fetchFromGitHub { + owner = "hexmode"; + repo = "weblogger-el"; + rev = "b3dd4aead9d3a87e6d85e7fef4f4f3bd40d87b53"; + sha256 = "03dkabszk6ya3vaps1ap16psk5bbar8zd5ipn1lmyzsbd3hwm8mj"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/4e08837a9af8185951df9b44b9b94a799f0de923/recipes/weblogger"; - sha256 = "189zs1321rybgi4zihps7d2jll5z13726jsg5mi7iycg85nkv2fk"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/e8ccb10a5d1f4db3b20f96dee3c14ee64f4674e2/recipes/weblogger"; + sha256 = "0k0l715lnqb0a4hlkfjkyhr8i1jaml8z2xzhal7ryhjgvf8xinvs"; name = "weblogger"; }; packageRequires = [ xml-rpc ]; @@ -65622,15 +68752,36 @@ license = lib.licenses.free; }; }) {}; + webpaste = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request }: + melpaBuild { + pname = "webpaste"; + version = "20161010.1100"; + src = fetchFromGitHub { + owner = "etu"; + repo = "webpaste.el"; + rev = "6e34759f77b94318f079e178f7551fb16317b661"; + sha256 = "1lw4jf4jnch5c57vv5dyiwgkmqmxisbm1wx269p6nkkvb9y49qm7"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/13847d91c1780783e516943adee8a3530c757e17/recipes/webpaste"; + sha256 = "1pqqapslb5wxfrf1ykrj5jxcl43pix17lawgdqrqkv5fyxbhmfpm"; + name = "webpaste"; + }; + packageRequires = [ cl-lib emacs request ]; + meta = { + homepage = "https://melpa.org/#/webpaste"; + license = lib.licenses.free; + }; + }) {}; websocket = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "websocket"; - version = "20160720.2051"; + version = "20161113.1736"; src = fetchFromGitHub { owner = "ahyatt"; repo = "emacs-websocket"; - rev = "567555360443f5de0a6426c5e2d88ba037c33855"; - sha256 = "1svgsgyiw16pgk16px0a21gfh6d94sgn01wmq5i7v4gdaf1xqfbc"; + rev = "fbd9e2263d2d7168aae31d4f8bde38f511e9d2ec"; + sha256 = "04kg6njw5frp9xafjyqff57m0a2r15r7c57mnb6dw6lgazxlscgb"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/websocket"; @@ -65667,12 +68818,12 @@ weechat = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s, tracking }: melpaBuild { pname = "weechat"; - version = "20160229.1248"; + version = "20161211.259"; src = fetchFromGitHub { owner = "the-kenny"; repo = "weechat.el"; - rev = "41f06299b2a691473b6b26c15dc46367542c79f0"; - sha256 = "0vg3w18xj6i320jsivsml3mi1fdxr8dgxmn7qy2780ajy5ndxnw1"; + rev = "a0d81074088d313dd596af6602e51d4253a55ca5"; + sha256 = "08ibyabvdlmp74xa950al3axmzsqpcal30313ab5wgb746sh3dvm"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e38255a31a4ca31541c97a506a55f82e2670abe6/recipes/weechat"; @@ -65734,8 +68885,8 @@ src = fetchFromGitHub { owner = "mhayashi1120"; repo = "Emacs-wgrep"; - rev = "7ef26c51feaef8a5ec0929737130ab8ba326983c"; - sha256 = "075z0glain0dp56d0cp468y5y88wn82ab26aapsrdzq8hmlshwn4"; + rev = "4e9f3d9822acab2d353c858d33ddaebb629fbfe8"; + sha256 = "14xja70gh9v3565fkl4b46swfrkmh6j6zg9pxwj5h1gicqrgaiwz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9648e3df896fcd97b3757a727108bc78261973cc/recipes/wgrep"; @@ -65755,8 +68906,8 @@ src = fetchFromGitHub { owner = "mhayashi1120"; repo = "Emacs-wgrep"; - rev = "7ef26c51feaef8a5ec0929737130ab8ba326983c"; - sha256 = "075z0glain0dp56d0cp468y5y88wn82ab26aapsrdzq8hmlshwn4"; + rev = "4e9f3d9822acab2d353c858d33ddaebb629fbfe8"; + sha256 = "14xja70gh9v3565fkl4b46swfrkmh6j6zg9pxwj5h1gicqrgaiwz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9648e3df896fcd97b3757a727108bc78261973cc/recipes/wgrep-ack"; @@ -65769,22 +68920,22 @@ license = lib.licenses.free; }; }) {}; - wgrep-ag = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, wgrep }: + wgrep-ag = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, wgrep }: melpaBuild { pname = "wgrep-ag"; - version = "20141012.311"; + version = "20160923.403"; src = fetchFromGitHub { owner = "mhayashi1120"; repo = "Emacs-wgrep"; - rev = "7ef26c51feaef8a5ec0929737130ab8ba326983c"; - sha256 = "075z0glain0dp56d0cp468y5y88wn82ab26aapsrdzq8hmlshwn4"; + rev = "4e9f3d9822acab2d353c858d33ddaebb629fbfe8"; + sha256 = "14xja70gh9v3565fkl4b46swfrkmh6j6zg9pxwj5h1gicqrgaiwz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2c50b704343c4cac5e2a62a67e284ba6d8e15f8a/recipes/wgrep-ag"; sha256 = "1b2mj06kws29ha7g16l5d1s3p3nwyw8rprbpaiijdk9nxqcm0a8a"; name = "wgrep-ag"; }; - packageRequires = [ wgrep ]; + packageRequires = [ cl-lib wgrep ]; meta = { homepage = "https://melpa.org/#/wgrep-ag"; license = lib.licenses.free; @@ -65797,8 +68948,8 @@ src = fetchFromGitHub { owner = "mhayashi1120"; repo = "Emacs-wgrep"; - rev = "7ef26c51feaef8a5ec0929737130ab8ba326983c"; - sha256 = "075z0glain0dp56d0cp468y5y88wn82ab26aapsrdzq8hmlshwn4"; + rev = "4e9f3d9822acab2d353c858d33ddaebb629fbfe8"; + sha256 = "14xja70gh9v3565fkl4b46swfrkmh6j6zg9pxwj5h1gicqrgaiwz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9648e3df896fcd97b3757a727108bc78261973cc/recipes/wgrep-helm"; @@ -65818,8 +68969,8 @@ src = fetchFromGitHub { owner = "mhayashi1120"; repo = "Emacs-wgrep"; - rev = "7ef26c51feaef8a5ec0929737130ab8ba326983c"; - sha256 = "075z0glain0dp56d0cp468y5y88wn82ab26aapsrdzq8hmlshwn4"; + rev = "4e9f3d9822acab2d353c858d33ddaebb629fbfe8"; + sha256 = "14xja70gh9v3565fkl4b46swfrkmh6j6zg9pxwj5h1gicqrgaiwz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c39faef3b9c2e1867cd48341d9878b714dbed4eb/recipes/wgrep-pt"; @@ -65856,12 +69007,12 @@ which-key = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "which-key"; - version = "20160817.817"; + version = "20161222.1221"; src = fetchFromGitHub { owner = "justbur"; repo = "emacs-which-key"; - rev = "1eace34a1f5b780a30797976d0cfec5936048b7b"; - sha256 = "0sgisdgid6xw6pggdi42i07wmar8bbxg9wk1b7jvyi7i7q94s843"; + rev = "49ab7afd93ef36e5f0261eff7151360edeeea4e6"; + sha256 = "0cqq1w9cjrp61mjzi7y49yrbhclpf0cab9fcylq14v1ilhipfdxa"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/315865a3df97c0694f648633d44b8b34df1ac76d/recipes/which-key"; @@ -65916,6 +69067,27 @@ license = lib.licenses.free; }; }) {}; + white-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "white-theme"; + version = "20160917.1043"; + src = fetchFromGitHub { + owner = "anler"; + repo = "white-theme.el"; + rev = "e9e6d5b9d43da6eb15e86f5fbc8b1ba83abe8c78"; + sha256 = "1yqfq1gzkrw79myvj16nfi30ynfyz8yrpbzjcj8nhsc5rfrrmym2"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/621e32e54be9e1ac7936bf6f4b9d74e2dd27df6e/recipes/white-theme"; + sha256 = "0nmxn35x6pngns1xqnsq8nm69f549c1gmvisd01in3qfvnpr0mic"; + name = "white-theme"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/white-theme"; + license = lib.licenses.free; + }; + }) {}; whitespace-cleanup-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "whitespace-cleanup-mode"; @@ -65923,8 +69095,8 @@ src = fetchFromGitHub { owner = "purcell"; repo = "whitespace-cleanup-mode"; - rev = "14eaf40e0e67539106d3636af440a167105be296"; - sha256 = "15yhbyyr0ksd9ziinlylyddny2szlj35x2548awj9ijnqqgjd23r"; + rev = "cdc6ee4e33b9e637afabf2075198c5616a44f91f"; + sha256 = "1j6gh435r52p8kjnzqwbnkynmdq541clwxlnzpsjw8n5mspp7g25"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b461cfe450d7ce6bd0c14be3460cacffc1a32e6f/recipes/whitespace-cleanup-mode"; @@ -65937,6 +69109,27 @@ license = lib.licenses.free; }; }) {}; + whizzml-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "whizzml-mode"; + version = "20161115.1720"; + src = fetchFromGitHub { + owner = "whizzml"; + repo = "whizzml-mode"; + rev = "b5804004fb35c603468054cf179f4dd6936c8882"; + sha256 = "0x0cxwifqb8pv6j55iwxy7hdk0cvjz0zygayi494y4nhabcyp3kf"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/11f26b15c326c3b8541bac510579b32493916042/recipes/whizzml-mode"; + sha256 = "0gas9xfpz5v9fbhjxhd4msihwz9w4a05l5icsaclxvh06f92wcyk"; + name = "whizzml-mode"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/whizzml-mode"; + license = lib.licenses.free; + }; + }) {}; whole-line-or-region = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "whole-line-or-region"; @@ -65960,10 +69153,10 @@ }) {}; wid-edit-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "wid-edit-plus"; - version = "20151231.1622"; + version = "20170101.1156"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/wid-edit+.el"; - sha256 = "18bnwwjk8jj4ns08sxhnznj0d8n1bxm2kj43r06nwyibh6ajpl7f"; + sha256 = "0pzxarpwabbg67ajg340yrp1gqly8y71qrd5gcv9vjzgvvh9anws"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/wid-edit+"; @@ -66025,8 +69218,8 @@ src = fetchFromGitHub { owner = "foretagsplatsen"; repo = "emacs-js"; - rev = "58a5a48691f5814c6264fce48310681eed10cef4"; - sha256 = "010aplsdww0aksyml6xgyp6j44sj1f3m30h9zz7pknq7yn96rjnp"; + rev = "5e9b37cfbec400b51a8d9d1bc6603595e1a0aefd"; + sha256 = "1w4drcqix3wwk15m1kkfss2mmip1q8j4hglyz4spaffkkqmmz438"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/78d7a15152f45a193384741fa00d0649c4bba91e/recipes/widgetjs"; @@ -66104,10 +69297,10 @@ }) {}; wimpy-del = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "wimpy-del"; - version = "20151231.1623"; + version = "20161209.736"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/wimpy-del.el"; - sha256 = "142ql6886h418f73h3wjblhnd16qvbap7mfr4g2yv4xybh88d4x2"; + sha256 = "19dsmchrgmrqnn0v81k3q6z0h3vnxx0wjyqzz27wc7ll1qrvjfyg"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/wimpy-del"; @@ -66123,12 +69316,12 @@ win-switch = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "win-switch"; - version = "20150208.1911"; + version = "20161009.927"; src = fetchFromGitHub { owner = "genovese"; repo = "win-switch"; - rev = "a0da96c23e8775a2dfdbe55ed3ec5b57f1ebb26a"; - sha256 = "0ib20zl8l1fs69ca9rry27qz69sgf6ws1ca5nhm5llvpkjcgv53i"; + rev = "954eb5e4c5737f0c06368c42a7f1c3dd374d782f"; + sha256 = "1xpx4sc1g1w8w0yc39k2dys83m8skrpvi745bfrzdl47jngrf54h"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/win-switch"; @@ -66266,10 +69459,10 @@ }) {}; window-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "window-plus"; - version = "20151231.1624"; + version = "20170101.1158"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/window+.el"; - sha256 = "0mqdcgk6mdxgl9if7jzgg16zqdwnsp8icrdhnygphw5m9h2dqcnm"; + sha256 = "06igqiwvnwm68k6gf9h85p4ppqab20sxl6qnxb57z8lpczpsssqa"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/window+"; @@ -66285,12 +69478,12 @@ window-purpose = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, imenu-list, let-alist, lib, melpaBuild }: melpaBuild { pname = "window-purpose"; - version = "20160727.655"; + version = "20161017.433"; src = fetchFromGitHub { owner = "bmag"; repo = "emacs-purpose"; - rev = "00c253778d8e845bdc17a350c22ea157c5871b41"; - sha256 = "11hv2rrcirswzgx0l52kwav5dilr3yksky9a3vg1pghgqhmm59hv"; + rev = "3ccfb8dfbd5970d6b0d64142e586459f38f21d79"; + sha256 = "0waf5imivhgzqp38rwhjqhy2y13dar7gqm52kbh71bvfwakgnkfd"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5813120ab674f6db7d0a486433d8faa6cfec1727/recipes/window-purpose"; @@ -66366,14 +69559,35 @@ license = lib.licenses.free; }; }) {}; + winum = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "winum"; + version = "20161226.1051"; + src = fetchFromGitHub { + owner = "deb0ch"; + repo = "emacs-winum"; + rev = "430d24dd29cf5a96eb31ea4bc6af150e4d530331"; + sha256 = "0ayj466md5xz6gflwl5sa81grpiydy5i2lkdpz7m8wlc81q3ng9j"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/c1caa7a54a910a44322fdee300e8cce6ddcde071/recipes/winum"; + sha256 = "0yyvjmvqif6glh9ri6049nxcmgib9mxdhy6816kjhsaqr570f9pw"; + name = "winum"; + }; + packageRequires = [ cl-lib ]; + meta = { + homepage = "https://melpa.org/#/winum"; + license = lib.licenses.free; + }; + }) {}; wisp-mode = callPackage ({ fetchhg, fetchurl, lib, melpaBuild }: melpaBuild { pname = "wisp-mode"; version = "20160419.1232"; src = fetchhg { url = "https://bitbucket.com/ArneBab/wisp"; - rev = "a55b6dd96558"; - sha256 = "1n0a99v2gwr12dhgg0yw42lm7ggcq9b85qn1c29k66l7jz637mfp"; + rev = "ab6afca9ee2e"; + sha256 = "19yy6z12pqaz9l0gj4hm73m7z2gcyivwymf6732vk8im77i8agyl"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/wisp-mode"; @@ -66410,12 +69624,12 @@ with-editor = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "with-editor"; - version = "20160828.1025"; + version = "20161231.826"; src = fetchFromGitHub { owner = "magit"; repo = "with-editor"; - rev = "6f41998405796336575b1fce49b84667feaa9b9f"; - sha256 = "12bw86l8756rwfgnik0kywqafw8idv8ncdxlbaybix70r2iaa61y"; + rev = "2248a63f6eb6e7720881b508639d9a00d2db9ea0"; + sha256 = "0g5ch1a5myrmazxcbbak01q4k3x8yp3kbn73d2h26j2jmsqvdy1n"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8c52c840dc35f3fd17ec660e113ddbb53aa99076/recipes/with-editor"; @@ -66470,6 +69684,27 @@ license = lib.licenses.free; }; }) {}; + wolfram = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "wolfram"; + version = "20161017.127"; + src = fetchFromGitHub { + owner = "hsjunnesson"; + repo = "wolfram.el"; + rev = "c66e9daa644856e02990f6a775e7b54f4e969e18"; + sha256 = "1iswap3aqj0ykd2d62xfb4fgp5r1arkgln6fzl2b4dji399b2xyy"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/785b5b1ec73e6376f2f2bb405707a1078398fa3a/recipes/wolfram"; + sha256 = "02xp1916v9rydh0586jkx71v256qdg63f87s3m0agc2znnrni9h4"; + name = "wolfram"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/wolfram"; + license = lib.licenses.free; + }; + }) {}; wolfram-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "wolfram-mode"; @@ -66512,6 +69747,27 @@ license = lib.licenses.free; }; }) {}; + wordgen = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "wordgen"; + version = "20161104.944"; + src = fetchFromGitHub { + owner = "Fanael"; + repo = "wordgen.el"; + rev = "c46d8da6dae8c82d3a5d8b903a12dd5f2ae94939"; + sha256 = "0gcbj64dkzwa2xfp6y9lwb5m678g7lf9jrkr9whdrm9mgpifmdmi"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/5cfdc64a9aa79575dad8057c4cd747d2cdd460aa/recipes/wordgen"; + sha256 = "0vlrplm3pmpwwa8p8j6lck97b875gzzm7vxxc8l9l18vs237cz1m"; + name = "wordgen"; + }; + packageRequires = [ cl-lib emacs ]; + meta = { + homepage = "https://melpa.org/#/wordgen"; + license = lib.licenses.free; + }; + }) {}; wordnut = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "wordnut"; @@ -66554,22 +69810,22 @@ license = lib.licenses.free; }; }) {}; - worf = callPackage ({ ace-link, fetchFromGitHub, fetchurl, hydra, lib, melpaBuild, swiper }: + worf = callPackage ({ ace-link, fetchFromGitHub, fetchurl, hydra, lib, melpaBuild, swiper, zoutline }: melpaBuild { pname = "worf"; - version = "20160825.218"; + version = "20161231.217"; src = fetchFromGitHub { owner = "abo-abo"; repo = "worf"; - rev = "ec177f9edd48bcb230acd5ff995bdb78b8f8ffac"; - sha256 = "1vhc370swk6bh7abgz1bnzyjvilmcjr7hvdl878x0vzcf9vlg7gx"; + rev = "ca9a42b64938f43d757c6e0c41f21610bea87dba"; + sha256 = "0nwsryj7xiizvrcnwb1an8siihqjbdvcwg6mjc36cyr6cv3icqmw"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f00f8765e35c21dd1a4b5c01c239ed4d15170ab7/recipes/worf"; sha256 = "1fkb2ddl684dijsb0cqgmfbg1nz4xv43rb7g5rah05rchy5sgkpi"; name = "worf"; }; - packageRequires = [ ace-link hydra swiper ]; + packageRequires = [ ace-link hydra swiper zoutline ]; meta = { homepage = "https://melpa.org/#/worf"; license = lib.licenses.free; @@ -66704,12 +69960,12 @@ ws-butler = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ws-butler"; - version = "20150126.759"; + version = "20160913.1902"; src = fetchFromGitHub { owner = "lewang"; repo = "ws-butler"; - rev = "7e2f32dcfcd7986fcee07f1413c6d8eae7ceb8f4"; - sha256 = "1ld5s45f9xh20z9z9k1fhlllzl6jgflcqkzys4x09vvax3mmynr8"; + rev = "b59e36b2451193bf96176f5a006bf506770a40f3"; + sha256 = "0ij88qr7gk07dchhjsn3nlk8fqgbkp4qhvn14dqxndn3zr64ix7v"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f1645a51d487c8902eb6e59fb1884f85f48cec6f/recipes/ws-butler"; @@ -66725,12 +69981,12 @@ wsd-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "wsd-mode"; - version = "20160510.2251"; + version = "20160930.236"; src = fetchFromGitHub { owner = "josteink"; repo = "wsd-mode"; - rev = "1c7ff9c7a167d6bef5b551673be323687a619acd"; - sha256 = "14f87rgvh8rmdd7gp53iaibi1liiag10si2znbhiy1hf93ssd2pq"; + rev = "cdbdf48f60900cedca2805a8b0875327a3a81f19"; + sha256 = "1ms30d1vz4nd90q6nypz5vixw1s3x6c68lm3l9zgq2ls6bw3kz93"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/04867a574773e8794335a2664d4f5e8b243f3ec9/recipes/wsd-mode"; @@ -66830,12 +70086,12 @@ x-path-walker = callPackage ({ fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild }: melpaBuild { pname = "x-path-walker"; - version = "20160822.1015"; + version = "20160922.1135"; src = fetchFromGitHub { owner = "lompik"; repo = "x-path-walker"; - rev = "2c728b5fe21b83fa670b7f8ae026bb93bfffd551"; - sha256 = "0ldcfpdid1cjls66lb40wizak9cbrjfd0my20s89a6k9sxccyrah"; + rev = "3b01dbd7a039c6c84fdf8c8ee53ba72090ee950a"; + sha256 = "1gb3lnl3gvckbakc4fy22fcvif3xdfkdaw334xmp33phjb8gjqvj"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c51f2aba59cb93f4bb104a7dde214963cbf002a6/recipes/x-path-walker"; @@ -66851,12 +70107,12 @@ x86-lookup = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "x86-lookup"; - version = "20160624.1104"; + version = "20161215.448"; src = fetchFromGitHub { owner = "skeeto"; repo = "x86-lookup"; - rev = "70c5b1092484a031f3a3d9334399f14aef449df8"; - sha256 = "0q31mcz9bx19y517y1pli4znqxflvmvjf2k5wsi8sld7f5w4wwix"; + rev = "544a1ad4e8551c60e58e6c431470b6ef4ce7c5cb"; + sha256 = "1w2fhi5x0amjyzzdndp9lvm6i279pcjjs6zfhssly2lbxw4dpaky"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/27757b9b5673f5581e678e8cad719138db654415/recipes/x86-lookup"; @@ -66872,12 +70128,12 @@ xah-css-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "xah-css-mode"; - version = "20160816.837"; + version = "20161218.2250"; src = fetchFromGitHub { owner = "xahlee"; repo = "xah-css-mode"; - rev = "44f3f98549ef9eba5389dde11a74bd0b34b9a012"; - sha256 = "0bx1bk4m55qdf557s7dich0fs544vbfa6sgh8nlqhz6z0bvs2s5m"; + rev = "80f46b8699aff1ee83ba43d636d765a852df0b4a"; + sha256 = "1zhzh1vih468zlycr3pmnjk1f2jr8qqg61n1jbjw58daxh4jj6jd"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/57c2e2112c4eb50ee6ebddef9c3d219cc5ced804/recipes/xah-css-mode"; @@ -66893,12 +70149,12 @@ xah-elisp-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "xah-elisp-mode"; - version = "20160817.509"; + version = "20170102.722"; src = fetchFromGitHub { owner = "xahlee"; repo = "xah-elisp-mode"; - rev = "2f4e511fe88ef21f24e0381ab3f31995296cd43a"; - sha256 = "0cwghnyklcnmcn1f6py0ji9bc5pwf03wxk1jv9vjxlyh0yd35dnk"; + rev = "0f4d6f3239ced83d4f71660feca896ebe594e749"; + sha256 = "19ps3b60pzr8p8yii49kcsnvy0l0mpsfh231bfjsynrdzaz3zbd6"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f2e996dd5b0061371662490e0b21d3c5bb506550/recipes/xah-elisp-mode"; @@ -66911,148 +70167,169 @@ license = lib.licenses.free; }; }) {}; - xah-find = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + xah-find = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "xah-find"; - version = "20160721.2030"; + version = "20161221.1705"; src = fetchFromGitHub { owner = "xahlee"; repo = "xah-find"; - rev = "fce0404fb46d9ead40f4ba02e684a48310bfb8ea"; - sha256 = "1d4116c1xviljr7qznab865fy8y0rq3pgwwybxq9wybbj14r74ms"; + rev = "27fabf6ef557007ba93b667d0a79823420a0144f"; + sha256 = "0pli4p1q43hk2zy9lgm324njm82jwmpldhbvdiv4f6zbkv44xrhr"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1d94ffd9c3380cd56770f253e43d566a95083e37/recipes/xah-find"; sha256 = "1d3x9yhm7my3yhvgqnjxr2v28g5w1h4ri40sy6dqcx09bjf3jhyq"; name = "xah-find"; }; - packageRequires = []; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/xah-find"; license = lib.licenses.free; }; }) {}; - xah-fly-keys = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + xah-fly-keys = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "xah-fly-keys"; - version = "20160827.2003"; + version = "20170103.616"; src = fetchFromGitHub { owner = "xahlee"; repo = "xah-fly-keys"; - rev = "30d7f9fad789f20c73eda03c62a18d4ecb6a239d"; - sha256 = "11x0d5rbvxk35hrmd8ygpyfi3k9nd8rxqkqrjvvzbfjwnjpwdk9q"; + rev = "05d97718a519edae9acb4f729cc7b997d3016e21"; + sha256 = "0b83rn7b5ssqhwj1lgz8na1dlaj8k0900rci1ggyylrdxzbbssnz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/fc1683be70d1388efa3ce00adc40510e595aef2b/recipes/xah-fly-keys"; sha256 = "0bzfz8q7yd1jai0pgngxwjp82nsfx5ivn24cb20vc5r8hhzj17cs"; name = "xah-fly-keys"; }; - packageRequires = []; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/xah-fly-keys"; license = lib.licenses.free; }; }) {}; - xah-get-thing = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + xah-get-thing = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "xah-get-thing"; - version = "20150712.1430"; + version = "20161218.2145"; src = fetchFromGitHub { owner = "xahlee"; repo = "xah-get-thing-or-selection"; - rev = "d2dadc54417468cc42da72c4e02fd23e3fd0584a"; - sha256 = "0abknznp2si80zq5pc0hqr3w3pca2vrv3msm6jz1s8l8zi2hwx72"; + rev = "14bf7ad0d8366b3b8754c252ca45660181ba5a1d"; + sha256 = "0025g3ikdfpmcaa6pkdyh1vp7wxbbdd5slxxdzyvshmi7lm2p2nc"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9e8dc32a5317f0ff0e72fa87220243dd742eb1ef/recipes/xah-get-thing"; sha256 = "0m61bmfgqy19h4ivw655mqj547ga8hrpaswcp48hx00hx8mqzcvg"; name = "xah-get-thing"; }; - packageRequires = []; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/xah-get-thing"; license = lib.licenses.free; }; }) {}; - xah-lookup = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + xah-lookup = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "xah-lookup"; - version = "20160711.1019"; + version = "20161218.2303"; src = fetchFromGitHub { owner = "xahlee"; repo = "lookup-word-on-internet"; - rev = "976e54f76dd9579c29b88c7ef7171df7683920c8"; - sha256 = "156vg0gz6y1rzfv52w45wbf060jzykp4khqs8nn9h3qyz0yk33j4"; + rev = "219b0d58760bad26b2e07c55c229d989b983c089"; + sha256 = "1n1w9jcq1bz4qqps33p3dmmjv9hyvpa0zrxhxcp2q3vh7j0714qj"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/38e6609a846a3c7781e0f03730b79bbf8d0355a9/recipes/xah-lookup"; sha256 = "0z0h1myw6wmybyd0z2lw4l59vgm6q6kh492q77kf3s0fssc0facc"; name = "xah-lookup"; }; - packageRequires = []; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/xah-lookup"; license = lib.licenses.free; }; }) {}; - xah-math-input = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + xah-math-input = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "xah-math-input"; - version = "20160711.1326"; + version = "20161222.327"; src = fetchFromGitHub { owner = "xahlee"; repo = "xah-math-input"; - rev = "188b3195344e8204a6d0e3f30c6b439d27b7c024"; - sha256 = "02k95lkmwid1mr2g1vd4wppwpjfik76zm5x9zd5gmj0dzdgihi8g"; + rev = "4ab83f7d9bcd6f2697a77507930542bc2a00a1a3"; + sha256 = "13h7gkdy47mnks1r80j94j3h825s93fwi43l9r7wp9jbngdx057f"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/95d57e33e6d60dc20d6452b407ea1486604ba23a/recipes/xah-math-input"; sha256 = "1afikjk46sjf97fb5fc8h63h7b9af010wxhsbpnmabsb4j72rx5a"; name = "xah-math-input"; }; - packageRequires = []; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/xah-math-input"; license = lib.licenses.free; }; }) {}; - xah-replace-pairs = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + xah-reformat-code = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "xah-reformat-code"; + version = "20161222.525"; + src = fetchFromGitHub { + owner = "xahlee"; + repo = "xah-reformat-code"; + rev = "a5034360857b8d795a8b9a9be72d53737c9e5c66"; + sha256 = "0sdxh9m3h9ain9ginarwia28qx19bia6f89788d6nvh1swlwxfi9"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/45e731ccee5ccbf97169e32a16300b5fb78e1155/recipes/xah-reformat-code"; + sha256 = "1sj407nbh4x586hvsq4ycr0ahhxin0wgfwdj0551cz8793wvjpzp"; + name = "xah-reformat-code"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/xah-reformat-code"; + license = lib.licenses.free; + }; + }) {}; + xah-replace-pairs = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "xah-replace-pairs"; - version = "20160713.1858"; + version = "20161218.2147"; src = fetchFromGitHub { owner = "xahlee"; repo = "xah-replace-pairs"; - rev = "b427b84923d349174464d7a15b0f86639f046248"; - sha256 = "1l43crr7balay139xvm3mxz22z516mcz84433vfdb8yczdya2sjq"; + rev = "a4e278440afc237907fd3d8c7ada45d2c9ff0141"; + sha256 = "0jz59iprd8s0ijay4l6mk7j47vd61v28y7l6xhgz9008gn9qbbzi"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0e7de2fe0e55b1a546f105aa1aac44fde46c8f44/recipes/xah-replace-pairs"; sha256 = "0r4aq9davh3ypzcjixr3aw9g659dhiblwbmcyhm8iqhkavcpqr1x"; name = "xah-replace-pairs"; }; - packageRequires = []; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/xah-replace-pairs"; license = lib.licenses.free; }; }) {}; - xahk-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + xahk-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "xahk-mode"; - version = "20150504.1611"; + version = "20161218.2311"; src = fetchFromGitHub { owner = "xahlee"; repo = "xahk-mode.el"; - rev = "91301b8eae7fd703b258a4c68066d9d5af943c4b"; - sha256 = "0dc74kqwi0hpihdbb9a9lrqb7823w6j96mah47zyd9d4rd3vx850"; + rev = "24aa00cd0a8c47f7d8906379eeccbeca22c1a50b"; + sha256 = "1npa30kp5jaqn7qmsca0a3ch0428l4n8w0hix0bvlfwr5s4zksfy"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3d6422756b435f59ead15fa7e8081f5c88b2e93f/recipes/xahk-mode"; sha256 = "1bs12z7lnqlhm44hq0l98d0ka1bjgvm2yv97yivaj9akd53znca9"; name = "xahk-mode"; }; - packageRequires = []; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/xahk-mode"; license = lib.licenses.free; @@ -67082,12 +70359,12 @@ xcode-mode = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, multiple-cursors, s }: melpaBuild { pname = "xcode-mode"; - version = "20160702.632"; + version = "20160907.508"; src = fetchFromGitHub { owner = "nicklanasa"; repo = "xcode-mode"; - rev = "3d4ce61f88a7e0d0e897972986c606dfb44ae5fe"; - sha256 = "09zl382wcsgmrp0ajaqvmh1wjrd0fzdk0by7dwrdlljafczwxlfl"; + rev = "5b5f0a4f505d44840a4924b24e3ef73b8528d98b"; + sha256 = "0g2vc13rc9vk20m9l1a1rxkdsc099k33pya3z10sg9pa09a4a2a2"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/845c731bed7dbe9c41c09e47e219299f17d0d489/recipes/xcode-mode"; @@ -67128,8 +70405,8 @@ src = fetchFromGitHub { owner = "vibhavp"; repo = "emacs-xkcd"; - rev = "2c538d41a9728939cc5e8292faa78ed50997877d"; - sha256 = "0p9p3w8i5w1pzh3y3yxz0rg5gywfq4m5anbiyrdn84vdd42jij4x"; + rev = "66e928706fd660cfdab204c98a347b49c4267bdf"; + sha256 = "0znhjwlpgg05g39b16ddgw3a71a93fn2dicfsxjkziffn2a95m0s"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4ac99eee00b76501d830373a13369f6a2a1239b5/recipes/xkcd"; @@ -67317,8 +70594,8 @@ src = fetchFromGitHub { owner = "NicolasPetton"; repo = "xref-js2"; - rev = "7e2bc6a8dad08a493d11d3554f6374584846b9e6"; - sha256 = "1mmd27miv32sl8cj7qhy09yfh7v1zgw7rv4fdwk96msvd4qfdkqd"; + rev = "031def02271fdbe2e0ab30515c7291a239fea4e6"; + sha256 = "1i3gsv7npf6lg7hakky6yxn96aqjdlridj74l0vhj55j2w7ia6f8"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b5dab444ead98210b4ab3a6f9a61d013aed6d5b7/recipes/xref-js2"; @@ -67355,12 +70632,12 @@ xterm-color = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "xterm-color"; - version = "20160802.1752"; + version = "20170102.1525"; src = fetchFromGitHub { owner = "atomontage"; repo = "xterm-color"; - rev = "f7c197f64e3aded540faefc6b7686cc959cdd948"; - sha256 = "0d4njs7bk3kh8qjqc7mhj245ca1ckd7yq8vhdwl4njx587ikldvy"; + rev = "5873477fd7bd6e54142ab35fbc623ea9b55200aa"; + sha256 = "1328avc28barirwipasnhq81sn4nw6w6x6fffgqcxayv2r5bl1d8"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b34a42f1bf5641871da8ce2b688325023262b643/recipes/xterm-color"; @@ -67376,12 +70653,12 @@ xterm-frobs = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "xterm-frobs"; - version = "20091211.1555"; + version = "20161207.1609"; src = fetchFromGitHub { owner = "emacsmirror"; repo = "xterm-frobs"; - rev = "58fb0de21e4d1963d1398a38e1b803446fb41320"; - sha256 = "10dsf2lgjjqvjzzyc5kwggfk511v8ypmx173bixry3djcc15dsf3"; + rev = "0832d588598dbf6bd8aa8e05c611d7c098c3f9d8"; + sha256 = "0snrylgv2d6r3d6nv05vqs6ng3sgrxkvqpx7m4ga2y7a1m5lmxkw"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b7bb3be63b798967f5525cf118579a1cc756ee1a/recipes/xterm-frobs"; @@ -67460,12 +70737,12 @@ xwidgete = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "xwidgete"; - version = "20160719.324"; + version = "20161029.1112"; src = fetchFromGitHub { owner = "tuhdo"; repo = "xwidgete"; - rev = "943d715f2caab69f76d0de9bd4387cf60f6c4fe3"; - sha256 = "0wrb8cvm3ap9y212z3fxc6shbzk0xv1jbw47rnbxgl97asq7rcaj"; + rev = "adcf3f84772f4a382ba791a6584fa7dddfafdcdd"; + sha256 = "17zlbrnxyc0lgsy5g8zqz13mqizhaqpp4i975x9m4ilpl5ycaqqx"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e4e83b11c3d5b9773a26e2da4d848f645edcea5b/recipes/xwidgete"; @@ -67586,12 +70863,12 @@ yaml-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "yaml-mode"; - version = "20160528.1400"; + version = "20161105.814"; src = fetchFromGitHub { owner = "yoshiki"; repo = "yaml-mode"; - rev = "a4794ea21a2ca8c9be6322fd7964e353d3fed0c1"; - sha256 = "1ql4bjqblij78cgasxdyr19w75xnl8cfxq047qi8r8847zy5w5wg"; + rev = "f378589912af8731428198ef57546c616d941df0"; + sha256 = "0ag1psjrn4b1idz096jwdsygax7ydirhlky7zpj6awqzx4gh43yg"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/yaml-mode"; @@ -67646,15 +70923,36 @@ license = lib.licenses.free; }; }) {}; + yang-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "yang-mode"; + version = "20161220.157"; + src = fetchFromGitHub { + owner = "mbj4668"; + repo = "yang-mode"; + rev = "bcf698acbdb4df91f587942348739b407a8b0807"; + sha256 = "1rrmailvhxvivmdjamm2vvciym484cw0lqn1hgdw1lz999g5a5vs"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/bb42ab9b5f118baaf6766c478046552b686981a1/recipes/yang-mode"; + sha256 = "0rl90xbcf3383ls95g1dixh2dr02kc4g60d324cqbb4h59wffp40"; + name = "yang-mode"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/yang-mode"; + license = lib.licenses.free; + }; + }) {}; yankpad = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "yankpad"; - version = "20160819.247"; + version = "20160903.1935"; src = fetchFromGitHub { owner = "Kungsgeten"; repo = "yankpad"; - rev = "aa61434132125ac6ab67d19968d8a1d5b27f62f5"; - sha256 = "0d5rbp36r7lwd7zm0z010wj0nxrf344ln1gn10j06hg4555wbmhb"; + rev = "76ecf21a8b59f35087716ac713eb072fd3d98f00"; + sha256 = "1h0gnnsqfb6q88002pjzmhmq9is1f3knwh24nw2rbsg3mpfg378x"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e64746d10f9e0158621a7c4dc41dc2eca6ad573c/recipes/yankpad"; @@ -67688,12 +70986,12 @@ yapfify = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "yapfify"; - version = "20160822.1207"; + version = "20161202.1055"; src = fetchFromGitHub { owner = "JorisE"; repo = "yapfify"; - rev = "756ebae981208f4b9a8038c415107e1191be9b9d"; - sha256 = "0mfp3wpdk0hsrh93lg3gdym85g5g1f7wj08m7j5919dgx745n094"; + rev = "c22db3683133ed4aff78e280983ec0621ca1cf1f"; + sha256 = "05nilm9adpymx1gs1qvcrrgyv13vf5lm13rp12ljbndk0gx4n8x6"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/060c32d8e9fdc56fe702d265a935d74d76082f86/recipes/yapfify"; @@ -67793,16 +71091,16 @@ yasnippet = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "yasnippet"; - version = "20160801.1142"; + version = "20161221.1953"; src = fetchFromGitHub { - owner = "capitaomorte"; + owner = "joaotavora"; repo = "yasnippet"; - rev = "309fe157f60e537e94f95e1ce3505a3fcdbd4994"; - sha256 = "1784kf4jqaq7x2f1z92n5spz2cc8xnmk4lamchkbziviwlk83jap"; + rev = "48cd7163b2475bbbea166cd0d02b4bf588f1435f"; + sha256 = "1y5bip792p76lx2hx0z459jyvx7f7y8sncd7q8rcfd581vlsyc04"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/489687c6c41399a3bca8148a62d25581726a847d/recipes/yasnippet"; - sha256 = "1j6hcpzxljz1axh0xfbwr4ysbixkwgxawsvsgicls8r8kl2xvjvf"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/5d1927dc3351d3522de1baccdc4ce200ba52bd6e/recipes/yasnippet"; + sha256 = "1r37vz5b8nj6hr6c2ki9fdbrs3kkb4zwimh8r4ixm10kdkk5jqds"; name = "yasnippet"; }; packageRequires = [ cl-lib ]; @@ -67811,22 +71109,22 @@ license = lib.licenses.free; }; }) {}; - yatemplate = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }: + yatemplate = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }: melpaBuild { pname = "yatemplate"; - version = "20160719.1228"; + version = "20161108.1305"; src = fetchFromGitHub { owner = "mineo"; repo = "yatemplate"; - rev = "90c14d2e2b8247eeba464a52560af484f8542558"; - sha256 = "00q3803nz89r91v1rwld98j1wgfc7kc6ni5a3h3zjwz1issyv5is"; + rev = "b58d17e176f77ded83860d33f4f43fcb5f7d2c9c"; + sha256 = "13as073yw6wphcs7w62zicqgva0lh4xx4f1c9sph8ip1wydkr9pg"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8ba3cdb74f121cbf36b6d9d5a434c363905ce526/recipes/yatemplate"; sha256 = "05gd9sxdiqpw2p1kdagwgxd94wiw1fmmcsp9v4p74i9sqmf6qn6q"; name = "yatemplate"; }; - packageRequires = [ yasnippet ]; + packageRequires = [ emacs yasnippet ]; meta = { homepage = "https://melpa.org/#/yatemplate"; license = lib.licenses.free; @@ -67834,11 +71132,11 @@ }) {}; yatex = callPackage ({ fetchhg, fetchurl, lib, melpaBuild }: melpaBuild { pname = "yatex"; - version = "20160813.100"; + version = "20161214.2131"; src = fetchhg { url = "https://www.yatex.org/hgrepos/yatex/"; - rev = "2521a95043af"; - sha256 = "0l7nxjc67mg2ddi7cf9vm744yps26zz64hqq7g0cfycjsgzg517v"; + rev = "5428250c886a"; + sha256 = "0q1b0wpdfdghp6hchc59jgkyra5qqqdam47q7g2ni4ym8nlhwd3c"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/04867a574773e8794335a2664d4f5e8b243f3ec9/recipes/yatex"; @@ -67893,15 +71191,15 @@ license = lib.licenses.free; }; }) {}; - ycmd = callPackage ({ cl-lib ? null, dash, deferred, emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild, request, request-deferred, s }: + ycmd = callPackage ({ cl-lib ? null, dash, deferred, emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild, pkg-info, request, request-deferred, s }: melpaBuild { pname = "ycmd"; - version = "20160830.1455"; + version = "20161222.1039"; src = fetchFromGitHub { owner = "abingham"; repo = "emacs-ycmd"; - rev = "200a6d2536cf4932b36a89a753eb9c6a12888f54"; - sha256 = "0avvsnizx8l0gyvzy8qkg0177agckxylldqk0vm45pqzzmbsvr02"; + rev = "ca51cbce87f671f2bb133d1df9f327bb8f1bb729"; + sha256 = "0riz0jj8c80x6p9fcxyni7q3b0dgxjwss8qbihndq8h2jypdhcgd"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4b25378540c64d0214797348579671bf2b8cc696/recipes/ycmd"; @@ -67914,6 +71212,7 @@ deferred emacs let-alist + pkg-info request request-deferred s @@ -67947,12 +71246,12 @@ yoshi-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "yoshi-theme"; - version = "20160608.1423"; + version = "20161115.1258"; src = fetchFromGitHub { owner = "ryuslash"; repo = "yoshi-theme"; - rev = "660b9368f448372330722985d1c869966c034652"; - sha256 = "13p1rzi9l4k6gjvdsls0kg0c8rdkwinfrl2ns9y5fn4pbr2lwba5"; + rev = "278dba2c6846c6898ced9948505775ef71812586"; + sha256 = "03fibd99wihg811c72cn6q8w89pdivjn3305lyhzlbs69ylafz0f"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6e9a549e31c4097ee24b4bff12ec5d20d3beac68/recipes/yoshi-theme"; @@ -67968,12 +71267,12 @@ youdao-dictionary = callPackage ({ chinese-word-at-point, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, names, popup }: melpaBuild { pname = "youdao-dictionary"; - version = "20150913.2344"; + version = "20161017.829"; src = fetchFromGitHub { owner = "xuchunyang"; repo = "youdao-dictionary.el"; - rev = "5b4f716ca41fa0cdb18a4949ac5cdcd470182c57"; - sha256 = "0016qff7hdnd0xkyhxakfzzscwlwkpzppvc4wxfw0iacpjkz1fnr"; + rev = "30cf46170168f8fec95a5504861a4d9aad314883"; + sha256 = "06q0xdxl5wcm8pza42vc8k64fyms32x976mwiy2sl9qvvynfa2k3"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/712bdf83f71c2105754f9b549a889ffc5b7ba565/recipes/youdao-dictionary"; @@ -68010,12 +71309,12 @@ zeal-at-point = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "zeal-at-point"; - version = "20160725.2044"; + version = "20161114.1811"; src = fetchFromGitHub { owner = "jinzhu"; repo = "zeal-at-point"; - rev = "675ee27456fb454562b249cad768d4a5207a6b4e"; - sha256 = "131q95x9zvzayfn0slyzjyl87fap9j16bfdlc449khfp0zymcbla"; + rev = "bc71e4ecb154e140fa688add55d26d01b5a52dea"; + sha256 = "15ymggp3j7bxwp5q4ng8g2hnym8psgjyvx5baxh4d0yc54jiq1gx"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4bcb472b6b18b75acd9c68e1fc7ecce4c2a40d8f/recipes/zeal-at-point"; @@ -68072,12 +71371,12 @@ zenburn-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "zenburn-theme"; - version = "20160724.2141"; + version = "20170102.1359"; src = fetchFromGitHub { owner = "bbatsov"; repo = "zenburn-emacs"; - rev = "d80c7cb91cce840c533d2261de44222c82c002b8"; - sha256 = "1hm0xlbi98czj7s5hb1f9n0c0kqglz95s45jwrljxxx5nxpnl238"; + rev = "0d3a01b564cf0c64a83c3bf0652aff47f13dfaf0"; + sha256 = "0qazdp1x3mwpi20ilraqsb350rgp9vsk4qhby4qgrxqq1iv3n1nb"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/zenburn-theme"; @@ -68131,22 +71430,22 @@ license = lib.licenses.free; }; }) {}; - zerodark-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + zerodark-theme = callPackage ({ all-the-icons, fetchFromGitHub, fetchurl, flycheck, lib, magit, melpaBuild }: melpaBuild { pname = "zerodark-theme"; - version = "20160830.659"; + version = "20161212.1151"; src = fetchFromGitHub { owner = "NicolasPetton"; repo = "zerodark-theme"; - rev = "1dbe8f3b202a1d958c9568a15d72059844277490"; - sha256 = "09kz6yx3ysmdsgrjabq5n30n48r13pi6mp3b5arl9y760k62kds5"; + rev = "e2e58a4aabb2b8973b318f5ad1013150f8d06678"; + sha256 = "1jnjiypm2zarfws1w5ql1c9d6zgl47cjnr8zq5lk0raxwx968lqc"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/72ef967a9bea2e100ae17aad1a88db95820f4f6a/recipes/zerodark-theme"; sha256 = "1nqzswmnq6h0av4rivqm237h7ghp7asa2nvls7nz4ma467p9qhp9"; name = "zerodark-theme"; }; - packageRequires = []; + packageRequires = [ all-the-icons flycheck magit ]; meta = { homepage = "https://melpa.org/#/zerodark-theme"; license = lib.licenses.free; @@ -68239,12 +71538,12 @@ zone-nyan = callPackage ({ esxml, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "zone-nyan"; - version = "20160102.1456"; + version = "20161014.154"; src = fetchFromGitHub { owner = "wasamasa"; repo = "zone-nyan"; - rev = "a9299ec7cc412d10cf7bddd392608fc3efba0899"; - sha256 = "0b8m0mdxbskkqsx86i6942235i8x0pk67a7s8lhsp2anahksazla"; + rev = "0ec6328ee58d7d140c8c7be84822c07741f3ad2b"; + sha256 = "106sppnp1jd5qcp2ydb180fbhfld90jvfimy8316qvrgk5xc2q57"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/38262704e1045c21ee73ca9dc87656936382004a/recipes/zone-nyan"; @@ -68322,10 +71621,10 @@ }) {}; zones = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { pname = "zones"; - version = "20160819.1426"; + version = "20170101.1159"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/zones.el"; - sha256 = "1dmcslyf9wm6hmyj8lshs97s3pn6y5m5q4i75p4gzrsgqgyc0h5f"; + sha256 = "1m88lqfmfayx2pj5ws14cfysf4pv8rm9v768x6xvsknjb4sl0q8l"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f768556f3fbe2537d6ebb08a5285d040e851e85d/recipes/zones"; @@ -68362,10 +71661,10 @@ zoom-frm = callPackage ({ fetchurl, frame-cmds, frame-fns, lib, melpaBuild }: melpaBuild { pname = "zoom-frm"; - version = "20160809.716"; + version = "20170101.1201"; src = fetchurl { url = "https://www.emacswiki.org/emacs/download/zoom-frm.el"; - sha256 = "0k165zzqc65sl1glhh6qnlfrjx5qx1gcv5a0l445z7ny12r69xwb"; + sha256 = "1n16qx3ag9cdds04l4s2a79ijqg4k5gg1144vyn5p6ih10casw32"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8b528544841995045fb1f8344aaaa38946bb3915/recipes/zoom-frm"; @@ -68378,22 +71677,22 @@ license = lib.licenses.free; }; }) {}; - zoom-window = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + zoom-window = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "zoom-window"; - version = "20160527.738"; + version = "20161123.405"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-zoom-window"; - rev = "f0eb12e389d8d2d13b5911907ef872e18230e00e"; - sha256 = "13393bd5lqpbv7m3p6ihg0ghx1w4w6mrnybx4m8hcfvcn17dr3hw"; + rev = "759517e1116c9162181db3aa74438d448b5e1233"; + sha256 = "04m9mhsmmi40n8qx1axfvg490j4afkj694jjq6r954dz2f4h2h98"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8a55cc66cc0deb1c24023f638b8e920c9d975859/recipes/zoom-window"; sha256 = "0l9683nk2bdm49likk9c55c23qfy6f1pn04drqwd1vhpanz4l4b3"; name = "zoom-window"; }; - packageRequires = [ cl-lib emacs ]; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/zoom-window"; license = lib.licenses.free; @@ -68465,12 +71764,12 @@ zotxt = callPackage ({ fetchFromGitLab, fetchurl, lib, melpaBuild, request-deferred }: melpaBuild { pname = "zotxt"; - version = "20160427.1922"; + version = "20170102.1009"; src = fetchFromGitLab { owner = "egh"; repo = "zotxt-emacs"; - rev = "43c0c6d23b31126bac6b14bb85608180fd9c866f"; - sha256 = "0qksa67aazs9vx7v14nlakr34z6l0h6mhfzi2c0vhrr0c210r6hp"; + rev = "ac3946f45c6e9f61fdd23c517d78b1844b231c90"; + sha256 = "02kr2qladcm82dsq2fii1k6ks21ywk216v2rhffqkxyq6xpanvpj"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b633453e77a719f6b6b6564e66c1c1260db38aa6/recipes/zotxt"; @@ -68483,15 +71782,36 @@ license = lib.licenses.free; }; }) {}; + zoutline = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "zoutline"; + version = "20160915.503"; + src = fetchFromGitHub { + owner = "abo-abo"; + repo = "zoutline"; + rev = "714c10a25112b3da62696585bea289c3f8e74158"; + sha256 = "1z45p9i89lhqak993kq7rdji84rxrdcsnz1yz9xa2l758mnq5gp1"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/4a26341f491145938aee9b531cd861200bfa2f6d/recipes/zoutline"; + sha256 = "1yyww84b58ymbx0w1gkgd0csr0cwlghdmnxk0jbzwc45g9g42k1m"; + name = "zoutline"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/zoutline"; + license = lib.licenses.free; + }; + }) {}; ztree = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ztree"; - version = "20160127.1542"; + version = "20161227.426"; src = fetchFromGitHub { owner = "fourier"; repo = "ztree"; - rev = "a7c54891c5ed00a192c72f99ba5ba7d4df7a2a0b"; - sha256 = "1sxjpbgi7ydmrlv34l16n40qpg969wfcb6kknndrh3fgjjc3p41b"; + rev = "2751b96aca36cc5c31dc105ec985c269126420a0"; + sha256 = "099w5z28aznzc8ri26lz8fkql4lvv23j0cqijif7bfmiz6zq5l1h"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f151e057c05407748991f23c021e94c178b87248/recipes/ztree"; @@ -68528,12 +71848,12 @@ zzz-to-char = callPackage ({ avy, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "zzz-to-char"; - version = "20160122.440"; + version = "20161231.1557"; src = fetchFromGitHub { owner = "mrkkrp"; repo = "zzz-to-char"; - rev = "25272ccdb8ef5b943037e161bc7d2561f899e23a"; - sha256 = "1wphpxnh7sisqfx7ngil3ixnjkfgwy3j2bvv33bxcwslvfggimi6"; + rev = "aaa854efb6b9e4451e97dfe90d37f368ff868b9e"; + sha256 = "1k66wsbgb7fqb5mbani0lzffy3yf0801rlgxwbkj34ciblz6a197"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7063cbc1f1501ce81552d7ef1d42d1309f547c42/recipes/zzz-to-char"; diff --git a/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix b/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix index c061b30def8a..dc15c9e056ac 100644 --- a/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix +++ b/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix @@ -2,12 +2,12 @@ _0blayout = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "_0blayout"; - version = "1.0.0"; + version = "1.0.2"; src = fetchFromGitHub { owner = "etu"; repo = "0blayout-mode"; - rev = "1540cf8a8086bb73685927ae4eb3da099d65a1b4"; - sha256 = "13qgj7dckmilqd34b19klrk1yy1z68r8fv0plr7cg9rcms54aqqh"; + rev = "b8bb44b5336965b5519b9a826a0f46f8ee31c471"; + sha256 = "1apv5zd3zzni2llj9is7h2bzq1xxbx67kr7c07dfjd26n7l0zvfi"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6521ec44ae8b0ba2e0523517f0f3d5b94ddbe1be/recipes/0blayout"; @@ -191,12 +191,12 @@ ac-clang = callPackage ({ auto-complete, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pos-tip, yasnippet }: melpaBuild { pname = "ac-clang"; - version = "1.6.0"; + version = "1.8.0"; src = fetchFromGitHub { owner = "yaruopooner"; repo = "ac-clang"; - rev = "610ff778697eb5499394be3fc3652756d0bfb772"; - sha256 = "1sdgpyq5p824dnxv6r7djwvhyhdmnis8k6992klr8iz7anhxzdam"; + rev = "ad75d193bb8962136e1ecac04d33352dd70fb72e"; + sha256 = "0pchbhcs3bjf8r6f24lcf29in011502ncr2gi72faww6iz0pb285"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ffe0485048b85825f5e8ba95917d8c9dc64fe5de/recipes/ac-clang"; @@ -485,12 +485,12 @@ ac-php = callPackage ({ ac-php-core, auto-complete, fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }: melpaBuild { pname = "ac-php"; - version = "1.7.5"; + version = "1.7.6"; src = fetchFromGitHub { owner = "xcwen"; repo = "ac-php"; - rev = "f66d13c98543032d2773c83441f49d4b6e109e97"; - sha256 = "0zi16x56jmas70srphd07ycxfdw4ny1y8vsdcvfvmgvg1mgys8f6"; + rev = "35fdc09f95050cc76d06f3e6ff1620927aa6377a"; + sha256 = "14ywlbxpkwi7fc7axfcnpisddn2886v134llgh0glrl4xkiyd0sf"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/ac-php"; @@ -506,12 +506,12 @@ ac-php-core = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, php-mode, popup, s, xcscope }: melpaBuild { pname = "ac-php-core"; - version = "1.7.5"; + version = "1.7.6"; src = fetchFromGitHub { owner = "xcwen"; repo = "ac-php"; - rev = "f66d13c98543032d2773c83441f49d4b6e109e97"; - sha256 = "0zi16x56jmas70srphd07ycxfdw4ny1y8vsdcvfvmgvg1mgys8f6"; + rev = "35fdc09f95050cc76d06f3e6ff1620927aa6377a"; + sha256 = "14ywlbxpkwi7fc7axfcnpisddn2886v134llgh0glrl4xkiyd0sf"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/ac-php-core"; @@ -884,12 +884,12 @@ aggressive-indent = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "aggressive-indent"; - version = "1.8.1"; + version = "1.8.3"; src = fetchFromGitHub { owner = "Malabarba"; repo = "aggressive-indent-mode"; - rev = "8438ff5e71ca040e7a1e325d608a3f5ea050503f"; - sha256 = "03mpg4ksvcc5zs540rgnf3gssyx97aiiv60lwdn3934al4125vnq"; + rev = "998407f56009f441a7cb83d678118d4d8e68f661"; + sha256 = "0brggqlij0nacx0yjk10rkn045nk0z03r8llmnqkangjm47ffksr"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1e6aed365c42987d64d0cd9a8a6178339b1b39e8/recipes/aggressive-indent"; @@ -947,12 +947,12 @@ airline-themes = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, powerline }: melpaBuild { pname = "airline-themes"; - version = "1.4"; + version = "1.7"; src = fetchFromGitHub { owner = "AnthonyDiGirolamo"; repo = "airline-themes"; - rev = "3c5f127daf1cf8a74e3c9956e11e56eedf5f3e76"; - sha256 = "0blrpqn8wy9pwzikgzb0v6x4hk7axv93j4byfci62fh1905zfkkb"; + rev = "bd9624a94618f4144762032a93549f53ffc1e7b3"; + sha256 = "1rlszg7z5k8c6fmjk4sjgrc9xgcjc1jah6c7kdl9kypha7y8s4bq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/addeb923176132a52807308fa5e71d41c9511802/recipes/airline-themes"; @@ -968,12 +968,12 @@ alchemist = callPackage ({ company, dash, elixir-mode, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info }: melpaBuild { pname = "alchemist"; - version = "1.8.0"; + version = "1.8.1"; src = fetchFromGitHub { owner = "tonini"; repo = "alchemist.el"; - rev = "d6e65ee1b041ea59b20f7b01e3ee9b3242780794"; - sha256 = "1y5nmcrlsmniv37x7w6yhihmb335n82d96yz7xclhwg59n652pjx"; + rev = "aa54643c6d64d82c2c8d502bb710e7de87699df1"; + sha256 = "0fbhrri816brh3283q3gisnxnginwzarsydsz881zk24kk2raq1k"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6616dc61d17c5bd89bc4d226baab24a1f8e49b3e/recipes/alchemist"; @@ -1028,15 +1028,36 @@ license = lib.licenses.free; }; }) {}; + all-the-icons = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, font-lock-plus, lib, melpaBuild }: + melpaBuild { + pname = "all-the-icons"; + version = "2.2.0"; + src = fetchFromGitHub { + owner = "domtronn"; + repo = "all-the-icons.el"; + rev = "692ac0816783725600b80b5307bf48a83053a378"; + sha256 = "13l5dqyhsma2a15khfs0vzk6c7rywfph4g9kgq10v89m3kwqich8"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/604c01aa15927bd122260529ff0f4bb6a8168b7e/recipes/all-the-icons"; + sha256 = "00ba4gkfvg38l4s0gsb4asvv1hfw9yjl2786imybzy7bkg9f9x3q"; + name = "all-the-icons"; + }; + packageRequires = [ dash emacs font-lock-plus ]; + meta = { + homepage = "https://melpa.org/#/all-the-icons"; + license = lib.licenses.free; + }; + }) {}; amd-mode = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, js2-mode, js2-refactor, lib, makey, melpaBuild, projectile, s, seq }: melpaBuild { pname = "amd-mode"; - version = "2.2"; + version = "2.8"; src = fetchFromGitHub { owner = "NicolasPetton"; repo = "amd-mode.el"; - rev = "27975cae561541bf5e3c4ec8f33730208ea240b5"; - sha256 = "1a9l3gz1r7b3nbzg08x9a30pdn6aa03a3crcsy5nmr5msydnfbsc"; + rev = "977b53e28b3141408fff4814be8b67ee23650cac"; + sha256 = "0m80bwar80qsga735cqrn6rbvfz4w9a036zh8inhsigylv3vwqjv"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e4d6e9935e4935c9de769c7bf1c1b6dd256e10da/recipes/amd-mode"; @@ -1061,12 +1082,12 @@ anaconda-mode = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, pythonic, s }: melpaBuild { pname = "anaconda-mode"; - version = "0.1.3"; + version = "0.1.6"; src = fetchFromGitHub { owner = "proofit404"; repo = "anaconda-mode"; - rev = "7128978b571ec013ccfd91865029cc0d062c269c"; - sha256 = "0l683fk3l82w6097d1g8i9ka3sfv9vpa363i6500xwraa49fcq9i"; + rev = "3f473150009f86dac68edb02e2f22850788289a5"; + sha256 = "16c2q6c44qc3bdaxq835rrbyq49z6rd3h6cgss50p4gqwfwxfxn7"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e03b698fd3fe5b80bdd24ce01f7fba28e9da0da8/recipes/anaconda-mode"; @@ -1166,12 +1187,12 @@ annotate = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "annotate"; - version = "0.4.5"; + version = "0.4.7"; src = fetchFromGitHub { owner = "bastibe"; repo = "annotate.el"; - rev = "067fe860eabcbad4894609c06f090c2c0f97773f"; - sha256 = "0s1yviv6sa05njlix7a88vhfz75mw056w2ac6cmw4wyhxcf4rwdv"; + rev = "e6af7f8ef7d241fdc9f866d57dce24beb4bb6b87"; + sha256 = "19a419rnqqsmvrcl2vwy3gl7mvbfg669vyin2h2xpm56rxsinvy1"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3aae88b8e3b080501195d291012deab31aaf35f7/recipes/annotate"; @@ -1250,12 +1271,12 @@ ansible-doc = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ansible-doc"; - version = "0.3"; + version = "0.4"; src = fetchFromGitHub { owner = "lunaryorn"; repo = "ansible-doc.el"; - rev = "6ab94392c860e23439ea3213b74ca56834d1ab14"; - sha256 = "05z379k6a7xq9d2zapf687x3f37jpmh6kfghpgxdd18v0hzca8ds"; + rev = "bc8128a85a79b14f4a121105d87a5eddc33975ad"; + sha256 = "0z3y69sfzka764wjbx31dywdq4d6bfsafv2gmmbpmxqmwfmy8sz4"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1daaaa7462f0b83c15ed9d9e7e6d0ee94434b8e9/recipes/ansible-doc"; @@ -1268,6 +1289,27 @@ license = lib.licenses.free; }; }) {}; + ansible-vault = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "ansible-vault"; + version = "0.3.3"; + src = fetchFromGitHub { + owner = "zellio"; + repo = "ansible-vault-mode"; + rev = "f4d9b3a77490071b8c59caa473bb54df86e90362"; + sha256 = "0f6dmj3b57sy6xl6d50982lnsin0lzyjwk0q1blpz0h2imadr8qm"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/2bff0da29a9b883e53a3d211c5577a3e0bc263a0/recipes/ansible-vault"; + sha256 = "0pmsvpc866rgcajb2ihhb62g3rwhda7vvq2kxkvr566y609vv021"; + name = "ansible-vault"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/ansible-vault"; + license = lib.licenses.free; + }; + }) {}; anti-zenburn-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "anti-zenburn-theme"; @@ -1414,6 +1456,27 @@ license = lib.licenses.free; }; }) {}; + apib-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, markdown-mode, melpaBuild }: + melpaBuild { + pname = "apib-mode"; + version = "0.6"; + src = fetchFromGitHub { + owner = "w-vi"; + repo = "apib-mode"; + rev = "18aebab7cd61b9d296b7d5d2de0c828e2058c906"; + sha256 = "0sj948j4s26sxxandjzjjzmjqma7vf86msyyi23gsljy1q28vwlf"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/dc2ebb04f975d8226a76260895399c937d6a1940/recipes/apib-mode"; + sha256 = "0y3n0xmyc4gkypq07v4sp0i6291qaj2m13zkg6mxp61zm669v2fb"; + name = "apib-mode"; + }; + packageRequires = [ emacs markdown-mode ]; + meta = { + homepage = "https://melpa.org/#/apib-mode"; + license = lib.licenses.free; + }; + }) {}; apples-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "apples-mode"; @@ -1582,15 +1645,36 @@ license = lib.licenses.free; }; }) {}; + atomic-chrome = callPackage ({ emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild, websocket }: + melpaBuild { + pname = "atomic-chrome"; + version = "2.0.0"; + src = fetchFromGitHub { + owner = "alpha22jp"; + repo = "atomic-chrome"; + rev = "38ce9127285e1ff45f0f39b9da36a682103bdb96"; + sha256 = "01zwpdmq13iy3hsgijnqsg0yahjxngfbrnn1dd2x1bzpmr8hpxnz"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/35785773942a5510e2317ded5bdf872ffe434e8c/recipes/atomic-chrome"; + sha256 = "0dx12mjdc4vhbvrcl61a7j247mgs71vvy0qqj6czbpfawfl46am9"; + name = "atomic-chrome"; + }; + packageRequires = [ emacs let-alist websocket ]; + meta = { + homepage = "https://melpa.org/#/atomic-chrome"; + license = lib.licenses.free; + }; + }) {}; auctex-latexmk = callPackage ({ auctex, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "auctex-latexmk"; - version = "1.0.0"; + version = "1.0.1"; src = fetchFromGitHub { owner = "tom-tan"; repo = "auctex-latexmk"; - rev = "bda696babcf4f4df435415e2d6a9c54fa99b230c"; - sha256 = "0zq4am4jgb1rnr2gvi9156y7zi6vfkrasjfj5ar1pw4k0cba7pf6"; + rev = "b7053f71f578ffb0d247f8a9e8d5152efd86e096"; + sha256 = "0slihygr74vyijnyzssckapscxmdd7zlgrs0wvmpw9hnjzwwzzql"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3f48af615c56f093dff417a5d3b705f9993c518f/recipes/auctex-latexmk"; @@ -1648,12 +1732,12 @@ auth-password-store = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, password-store, seq }: melpaBuild { pname = "auth-password-store"; - version = "1.0.4"; + version = "2.0.0"; src = fetchFromGitHub { owner = "DamienCassou"; repo = "auth-password-store"; - rev = "209663c772105ae87d244cce9247695823914a00"; - sha256 = "1b6g7qvrxv6gkl4izq1y7k0x0l7izyfnpki10di5vdv3jp6xg9b2"; + rev = "5ca6a838489c1175de3df7af025751559eb13cb3"; + sha256 = "10y6grxwp8sw24fv8i9f50lc83qcdxnkw2bm1v983fw6di4i3a8w"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0f4d2a28373ba93da5b280ebf40c5a3fa758ea11/recipes/auth-password-store"; @@ -2137,12 +2221,12 @@ base16-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "base16-theme"; - version = "1.1"; + version = "1.2"; src = fetchFromGitHub { owner = "belak"; repo = "base16-emacs"; - rev = "bd7c0d6f54f961752104e1e05f0c525cf62048f7"; - sha256 = "1150alc6f848daf47gchcsy6dhqsq5m35bj4rvdcy50i8n0wa5pc"; + rev = "97359d48a00b30776c5416ea90735d8302687677"; + sha256 = "0f0gg5kfzgii0rf75gh48wnwimkc88xzwbifkwdf745jhzkyqn6s"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/30862f6be74882cfb57fb031f7318d3fd15551e3/recipes/base16-theme"; @@ -2368,12 +2452,12 @@ bind-key = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "bind-key"; - version = "2.2"; + version = "2.3"; src = fetchFromGitHub { owner = "jwiegley"; repo = "use-package"; - rev = "27fdfba5b05fd51345dc2b947ae6342266fdb22b"; - sha256 = "1dzkvinp1h1w48lx44x9bn1b54c83m1wl5v8h99l76fh1y0jw7b4"; + rev = "cd58b268a8a025451c11c3cb1ba18d4f27f245da"; + sha256 = "14x01dg7fgj4icf8l8w90pksazc0sn6qrrd0k3xjr2zg1wzdcang"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d39d33af6b6c9af9fe49bda319ea05c711a1b16e/recipes/bind-key"; @@ -2389,12 +2473,12 @@ bind-map = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "bind-map"; - version = "1.1.0"; + version = "1.1.1"; src = fetchFromGitHub { owner = "justbur"; repo = "emacs-bind-map"; - rev = "ffe5e636178ab9878fa8213fd1a1d4862ccb3d5f"; - sha256 = "1h07s8g4vpq6c8sl5m6vxvd598iks160bksv0wn51680gh05f0pa"; + rev = "bf4181e3a41463684adfffc6c5c305b30480e30f"; + sha256 = "0vrk17yg3jbww92p433p64ijmjf7cjg2wmzi9w418235w1xdfzz8"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f58800af5965a6e7c9314aa00e971196ea0d036e/recipes/bind-map"; @@ -2452,12 +2536,12 @@ bm = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "bm"; - version = "201608"; + version = "201610"; src = fetchFromGitHub { owner = "joodland"; repo = "bm"; - rev = "b91f87c8f78d2430edc376830d5ba15f45d28637"; - sha256 = "1ggqg0lgvxg2adq91damvh55m36qsa23n3z6zyf5z6855ilzaa4x"; + rev = "c77ea49f5632b5d987243eddb4b36e84b870bf42"; + sha256 = "0jfi24kck1ag19lfcfzbivwb1zhid173p7f8chc01cz68l1pp7jw"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/bm"; @@ -2494,12 +2578,12 @@ bog = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "bog"; - version = "1.2.0"; + version = "1.3.0"; src = fetchFromGitHub { owner = "kyleam"; repo = "bog"; - rev = "ee403848c65c6141888344144958bc979596f5d4"; - sha256 = "0414kdwgvmz0bmbaaz7zxf83rdjzmzcvvk5b332c679hk0b9kxg7"; + rev = "cf7817de3f37ce2404ee637a655f1a511b829585"; + sha256 = "0h166w8bg864ppwg64m0vhg649mmkclld85zcd0lmbqa9wfml5j5"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/19fd0bf2f8e52c79120c492a6dcabdd51b465d35/recipes/bog"; @@ -2533,22 +2617,43 @@ license = lib.licenses.free; }; }) {}; - boon = callPackage ({ emacs, expand-region, fetchFromGitHub, fetchurl, lib, melpaBuild, multiple-cursors }: + bool-flip = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "bool-flip"; + version = "1.0.1"; + src = fetchFromGitHub { + owner = "michaeljb"; + repo = "bool-flip"; + rev = "0f7cc9b387429239fb929896511727d4e49a795b"; + sha256 = "1051gy7izy25jwh079231d4lh9azchbqc6nvfrkv8s9ck407a65a"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/f56377a7c3f4b75206ad9ba570c35dbf752079e9/recipes/bool-flip"; + sha256 = "1xfspqxshx7m8gh6g1snkaahka9f71fnq7hx81nik4s9s8pmxj9c"; + name = "bool-flip"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/bool-flip"; + license = lib.licenses.free; + }; + }) {}; + boon = callPackage ({ dash, emacs, expand-region, fetchFromGitHub, fetchurl, lib, melpaBuild, multiple-cursors }: melpaBuild { pname = "boon"; - version = "0.3"; + version = "0.4"; src = fetchFromGitHub { owner = "jyp"; repo = "boon"; - rev = "82458a944e9cf3e4c959e63ebad09312aafe6d2c"; - sha256 = "1apxgj14hgfpz6hjp3384yjf2zrkv4pcncf2zklijs668igvaskq"; + rev = "c72d26ca2f9c0672192b5f40302ad0ebfc2d6db6"; + sha256 = "1grsaajfbhgq1wlraq8v21sfqdnk9ja3gj7y982hh44671haqjvw"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/boon"; sha256 = "0gryw7x97jd46jgrm93cjagj4p7w93cjc36i2ps9ajf0d8m4gajb"; name = "boon"; }; - packageRequires = [ emacs expand-region multiple-cursors ]; + packageRequires = [ dash emacs expand-region multiple-cursors ]; meta = { homepage = "https://melpa.org/#/boon"; license = lib.licenses.free; @@ -2722,6 +2827,27 @@ license = lib.licenses.free; }; }) {}; + bui = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "bui"; + version = "1.0.1"; + src = fetchFromGitHub { + owner = "alezost"; + repo = "bui.el"; + rev = "70ea295ec04cb34e383dc7d62927452410876999"; + sha256 = "1whpln3zibqxnszvrm9chsaaxxxfb0kg3vvfy6j4drrjy5ah2vky"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/38b7c9345de75a707b4a73e8bb8e2f213e4fd739/recipes/bui"; + sha256 = "0a4g55k02hi3cwvk4d35lk2x5kc4fabskl2025i83hx0rqw4w3f1"; + name = "bui"; + }; + packageRequires = [ dash emacs ]; + meta = { + homepage = "https://melpa.org/#/bui"; + license = lib.licenses.free; + }; + }) {}; bundler = callPackage ({ fetchFromGitHub, fetchurl, inf-ruby, lib, melpaBuild }: melpaBuild { pname = "bundler"; @@ -3019,12 +3145,12 @@ cask = callPackage ({ cl-lib ? null, dash, epl, f, fetchFromGitHub, fetchurl, lib, melpaBuild, package-build, s, shut-up }: melpaBuild { pname = "cask"; - version = "0.7.4"; + version = "0.8.1"; src = fetchFromGitHub { owner = "cask"; repo = "cask"; - rev = "8337237449446e186ccd5ade0b0dc8c6ea7bd728"; - sha256 = "1hvm6r6a8rgjwnn2mcamwqrmhz424vlr4mbvbri3wmn0ikbk510l"; + rev = "58f641960bcb152b33fcd27d41111291702e2da6"; + sha256 = "1sl094adnchjvf189c3l1njawrj5ww1sv5vvjr9hb1ng2rw20z7b"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b86c666ee9b0620390a250dddd42b17cbec2409f/recipes/cask"; @@ -3103,12 +3229,12 @@ cbm = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "cbm"; - version = "0.3.2"; + version = "0.5"; src = fetchFromGitHub { owner = "akermu"; repo = "cbm.el"; - rev = "3c7f33d26336776f94877974f5f7e1470ea1cbdd"; - sha256 = "0rrgi765x9p9wa14p2b5jhsk86cmiicx2a239jkxm00w3sdn7rn8"; + rev = "bf8cbbcef82e4643c5f0399f0198f606275af08c"; + sha256 = "1p88fx90xwjk7dmd5gmbqyajyxf859kjsjzqmzljwai91skbb3pm"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f28dbc97dc23cdb0b4c74f8805775c787635871e/recipes/cbm"; @@ -3142,6 +3268,27 @@ license = lib.licenses.free; }; }) {}; + cdnjs = callPackage ({ dash, deferred, f, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info }: + melpaBuild { + pname = "cdnjs"; + version = "0.2.1"; + src = fetchFromGitHub { + owner = "yasuyk"; + repo = "cdnjs.el"; + rev = "ce19880d3ec3d81e6c665d0b1dfea99cc7a3f908"; + sha256 = "02j45ngddx7n5gvy42r8y3s22bmxlnvg2pqjfh0li8m599fnd11h"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/66e4ce4e2c7e4aaac9dc0ce476c4759b000ff5d6/recipes/cdnjs"; + sha256 = "1clm86n643z1prxrlxlg59jg43l9wwm34x5d88bj6yvix8g6wkb7"; + name = "cdnjs"; + }; + packageRequires = [ dash deferred f pkg-info ]; + meta = { + homepage = "https://melpa.org/#/cdnjs"; + license = lib.licenses.free; + }; + }) {}; celery = callPackage ({ dash-functional, deferred, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "celery"; @@ -3187,12 +3334,12 @@ cfengine-code-style = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "cfengine-code-style"; - version = "3.9.1"; + version = "3.10.0"; src = fetchFromGitHub { owner = "cfengine"; repo = "core"; - rev = "843fb337d8fe849860ca2f2aeb55c7f549f75a52"; - sha256 = "0mw7xif23949d2hg4pgg2b1sj4afjc19522zqk4dmv2cz7qdmqi2"; + rev = "dc823da05d6790e9f95e3cb75618b51d6273e303"; + sha256 = "0xfdlzdcccz80qp3jbzv7wr1kwkh8797j9d3lfkh8apl4wkgvwpq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c737839aeda583e61257ad40157e24df7f918b0f/recipes/cfengine-code-style"; @@ -3313,12 +3460,12 @@ chinese-pyim = callPackage ({ async, chinese-pyim-basedict, cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, popup, pos-tip }: melpaBuild { pname = "chinese-pyim"; - version = "0.5"; + version = "1.5.1"; src = fetchFromGitHub { owner = "tumashu"; repo = "chinese-pyim"; - rev = "915f77912f0f8cfe064c6872cae5c0709e4e094e"; - sha256 = "004xnn6j4jc607h5qcl9jr0dqvhvqvgm77wrbdmdxpwd6hwp2sf4"; + rev = "b210c0d5275e1e8c0b78bed186cc18fc27061dd4"; + sha256 = "1jixkb7jw07lykbfv022ccnys4xypcbv03f9bxl2r16wizzymvvd"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/157a264533124ba05c161aa93a32c7209f002fba/recipes/chinese-pyim"; @@ -3394,15 +3541,36 @@ license = lib.licenses.free; }; }) {}; + choice-program = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "choice-program"; + version = "0.1"; + src = fetchFromGitHub { + owner = "plandes"; + repo = "choice-program"; + rev = "154c12ed7e2afc2d5dae031698be4787d7d647b0"; + sha256 = "1695pmz0j93pz3pkcyqk0ngajcf8cyzxihmpp2zfspya3ihxj4ia"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/894357125db5035999a39514516852d7e957453e/recipes/choice-program"; + sha256 = "0hhp6qhrshqrw4978xq6biwddm7gv7yf4avbb64xvz66i3a2kgy1"; + name = "choice-program"; + }; + packageRequires = [ cl-lib emacs ]; + meta = { + homepage = "https://melpa.org/#/choice-program"; + license = lib.licenses.free; + }; + }) {}; cider = callPackage ({ clojure-mode, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info, queue, seq, spinner }: melpaBuild { pname = "cider"; - version = "0.13.0"; + version = "0.14.0"; src = fetchFromGitHub { owner = "clojure-emacs"; repo = "cider"; - rev = "b8932a37b936a34b923ce4e356379ea76108ec6d"; - sha256 = "07xb09csppk2rbffbyiy22mx4s7cd5h48nx428dag7q13fvarc31"; + rev = "f3c396ff8cf4baf331b0e19e18e33b795b66ee3e"; + sha256 = "1np4bh7fxv6xkvdg1nyd596p2yjkrh5msw2wsfyidl0xb1jdnj9c"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/55a937aed818dbe41530037da315f705205f189b/recipes/cider"; @@ -3418,12 +3586,12 @@ cider-eval-sexp-fu = callPackage ({ emacs, eval-sexp-fu, fetchFromGitHub, fetchurl, highlight, lib, melpaBuild }: melpaBuild { pname = "cider-eval-sexp-fu"; - version = "1.0"; + version = "1.1"; src = fetchFromGitHub { owner = "clojure-emacs"; repo = "cider-eval-sexp-fu"; - rev = "dbe6a19c835ea42b099dd17f040db0baf9774aaf"; - sha256 = "1rkd76561h93si4lpisz3qnaj48dx8x01nd59a3lgpqsbbibnccf"; + rev = "6b437bf073b21543e72d76fd0392a28fba7cbfbe"; + sha256 = "1frpr5dwg7aa0pjr2sarck498lj11li8xi36s5qa8qhflgl29jpn"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/947f4d106d70f95ca8aac124ab0d90b2975208df/recipes/cider-eval-sexp-fu"; @@ -3478,6 +3646,27 @@ license = lib.licenses.free; }; }) {}; + circe-notifications = callPackage ({ alert, circe, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "circe-notifications"; + version = "1.0"; + src = fetchFromGitHub { + owner = "eqyiel"; + repo = "circe-notifications"; + rev = "80c44441ecd3ae04ae63760aa20afa837c1ed05b"; + sha256 = "0s0iw5vclciziga78f1lvj6sdg84a132in39k4vz0pj598ypin1w"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/76c0408423c4e0728789de7b356b2971d6c446c7/recipes/circe-notifications"; + sha256 = "06y525x5yc0xgbw0cf16mc72ca9bv8j8z4gpgznbad2qp7psf53c"; + name = "circe-notifications"; + }; + packageRequires = [ alert circe emacs ]; + meta = { + homepage = "https://melpa.org/#/circe-notifications"; + license = lib.licenses.free; + }; + }) {}; cl-format = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "cl-format"; @@ -3544,12 +3733,12 @@ cliphist = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, popup }: melpaBuild { pname = "cliphist"; - version = "0.3.1"; + version = "0.4.0"; src = fetchFromGitHub { owner = "redguardtoo"; repo = "cliphist"; - rev = "7a1a8a6dcc046c7ede4480315c539c06e1bbadc9"; - sha256 = "0h856l6rslawf3vg37xhsaw5w56r9qlwzbqapg751qg0v7wf0860"; + rev = "5cddd9c0b3aacc9941214a749edd19ceb2cde7f4"; + sha256 = "0hifxb3r54yinlal6bwhycwaspbz1kwkybvrcppkpdfg9jd88nfd"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/82d86dae4ad8efc8ef342883c164c56e43079171/recipes/cliphist"; @@ -3615,22 +3804,22 @@ license = lib.licenses.free; }; }) {}; - cljr-helm = callPackage ({ clj-refactor, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }: + cljr-helm = callPackage ({ cl-lib ? null, clj-refactor, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild }: melpaBuild { pname = "cljr-helm"; - version = "0.7"; + version = "0.11"; src = fetchFromGitHub { owner = "philjackson"; repo = "cljr-helm"; - rev = "916d070503d0f484f36626c7a42f156b737e3fab"; - sha256 = "18gv8vmmpiyq16cq4nr9nk2bmc5y2rsv21wjl4ji29rc7566shha"; + rev = "f2fc7b698a56e4a44d5dfbc6a55d77a93c0fa9a4"; + sha256 = "0jy6hkz8sr1bplymwxnjg4q408cw2dgfrv70chlw3y5ddc4cingj"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d99b67e295ef59916211bf22b57b4d093e3d53ab/recipes/cljr-helm"; sha256 = "108a1xgnc6qy088vs41j3npwk25a5vny0xx4r3yh76jsmpdpcgnc"; name = "cljr-helm"; }; - packageRequires = [ clj-refactor helm ]; + packageRequires = [ cl-lib clj-refactor helm-core ]; meta = { homepage = "https://melpa.org/#/cljr-helm"; license = lib.licenses.free; @@ -3681,12 +3870,12 @@ clojure-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "clojure-mode"; - version = "5.5.2"; + version = "5.6.1"; src = fetchFromGitHub { owner = "clojure-emacs"; repo = "clojure-mode"; - rev = "464c9de6734cb4b426137674041d695c2a7c7ef9"; - sha256 = "0xg85x5lrh1d8vlnkzrxpdrcqsqngjy6xp7p509wnhx7k8j85vpm"; + rev = "fdbdfb91e0a5731bf9a739b70c5f217c5d12ae6d"; + sha256 = "1qadymqzs5fn1sb347xzfw8lqq6s85vvkh4kzm35m61g5i2lm86y"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5e3cd2e6ee52692dc7b2a04245137130a9f521c7/recipes/clojure-mode"; @@ -3702,12 +3891,12 @@ clojure-mode-extra-font-locking = callPackage ({ clojure-mode, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "clojure-mode-extra-font-locking"; - version = "5.5.2"; + version = "5.6.1"; src = fetchFromGitHub { owner = "clojure-emacs"; repo = "clojure-mode"; - rev = "464c9de6734cb4b426137674041d695c2a7c7ef9"; - sha256 = "0xg85x5lrh1d8vlnkzrxpdrcqsqngjy6xp7p509wnhx7k8j85vpm"; + rev = "fdbdfb91e0a5731bf9a739b70c5f217c5d12ae6d"; + sha256 = "1qadymqzs5fn1sb347xzfw8lqq6s85vvkh4kzm35m61g5i2lm86y"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5e3cd2e6ee52692dc7b2a04245137130a9f521c7/recipes/clojure-mode-extra-font-locking"; @@ -3744,12 +3933,12 @@ clojure-snippets = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }: melpaBuild { pname = "clojure-snippets"; - version = "1.0.0"; + version = "1.0.1"; src = fetchFromGitHub { owner = "mpenet"; repo = "clojure-snippets"; - rev = "30cd52379b856cf80eab2b541c32b1bcdcff3db2"; - sha256 = "1p0w83m9j4a6va4g68a4gcfbdkp8nic0q8cm28l8nr7czd5s0yl6"; + rev = "83785faa607884308a42b81f160854f2cecfd098"; + sha256 = "1sdgf1avfw7w3m3i7nqb9m9nhqk8lr0bri686lrkq23ds2b44454"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4898fc6746b30b0d0453b3b56d02479bfb0f70b9/recipes/clojure-snippets"; @@ -3762,19 +3951,19 @@ license = lib.licenses.free; }; }) {}; - closql = callPackage ({ emacs, emacsql-sqlite, fetchFromGitLab, fetchurl, lib, melpaBuild }: + closql = callPackage ({ emacs, emacsql-sqlite, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "closql"; - version = "0.1.0"; - src = fetchFromGitLab { - owner = "tarsius"; + version = "0.3.3"; + src = fetchFromGitHub { + owner = "emacscollective"; repo = "closql"; - rev = "a8b6b2beaa10528b2fd5ed9759136e3959529266"; - sha256 = "1p251vyh8fc6xzaf0v7yvf4wkrvcfjdb3qr88ll4xcb61gj3vi3a"; + rev = "0bb0fa3dd1e545cbf025d42e253ddb00107156a3"; + sha256 = "1mpycmj88gi62rhzxdv4933l318j3llphbc00b7rvzms55sgpcz5"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/c97468a71910ba6709792c060c1fb714004e24da/recipes/closql"; - sha256 = "0a8fqw8n03x9mygvzb95m8mmfqp3j8hynwafvryjsl0np0695b6l"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/2df16abf56e53d4a1cc267a78797419520ff8a1c/recipes/closql"; + sha256 = "13ybna20w2d1b3n0y5p1ybhkw0j0zh5nd43p1yvf8h1haj983l87"; name = "closql"; }; packageRequires = [ emacs emacsql-sqlite ]; @@ -3783,15 +3972,36 @@ license = lib.licenses.free; }; }) {}; + clues-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "clues-theme"; + version = "1.0.1"; + src = fetchFromGitHub { + owner = "jasonm23"; + repo = "emacs-clues-theme"; + rev = "abd61f2b7f3e98de58ca26e6d1230e70c6406cc7"; + sha256 = "118k5bnlk9sc2n04saaxjncmc1a4m1wlf2y7xyklpffkazbd0m72"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/bf43125306df445ac829c2edb98dd608bc1407de/recipes/clues-theme"; + sha256 = "12g7373js5a2fa0m396k9kjhxvx3qws7n1r435nr9zgwaw7xvciy"; + name = "clues-theme"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/clues-theme"; + license = lib.licenses.free; + }; + }) {}; cm-mode = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "cm-mode"; - version = "1.2"; + version = "1.5"; src = fetchFromGitHub { owner = "joostkremers"; repo = "criticmarkup-emacs"; - rev = "1ac0d64842eb303323f2ebea61b4b6ba9f72969c"; - sha256 = "1rwln3ms71fys3rdv3sx8w706aqn874im3kqcfrkxz86wiazm2d5"; + rev = "12b7460691dc502d27329d6ac11c51cc83cd098e"; + sha256 = "018limfwcb396yr2kn6jixxdmpmiif3l7gp0p1pmwbg07fldllha"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/42dda804ec0c7338c39c57eec6ba479609a38555/recipes/cm-mode"; @@ -3828,12 +4038,12 @@ cmake-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "cmake-mode"; - version = "3.6.1"; + version = "3.7.1"; src = fetchFromGitHub { owner = "Kitware"; repo = "CMake"; - rev = "f59513140bf086eda2029c5b4e950fc58216c06e"; - sha256 = "0x32brljg3rv4nsj75sngzbwkfp908xz0ypmvwm1rb47jgds6aqd"; + rev = "db3499df5d06ab2cacc61e9f7720a33456aeafe4"; + sha256 = "17ab5xln94z2ybvn8s9pivyd6xvi9h448fxjc8yk7605zsjmr9i0"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/598723893ae4bc2e60f527a072efe6ed9d4e2488/recipes/cmake-mode"; @@ -3975,12 +4185,12 @@ color-theme-sanityinc-tomorrow = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "color-theme-sanityinc-tomorrow"; - version = "1.16"; + version = "1.17"; src = fetchFromGitHub { owner = "purcell"; repo = "color-theme-sanityinc-tomorrow"; - rev = "55db9979397bd66446eb1927e08c5a22df9f0eea"; - sha256 = "0w99ypq048xldl1mrgc7qr4n2770dm48aknhp7q0176l43nvxnqf"; + rev = "81d8990085960824f700520d08027e6aca58feaa"; + sha256 = "1x3aq6hadp158vh8mf9hmj5rikq0qz7a1frv7vbl39xr3wcnjj23"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/color-theme-sanityinc-tomorrow"; @@ -3993,27 +4203,6 @@ license = lib.licenses.free; }; }) {}; - colorsarenice-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: - melpaBuild { - pname = "colorsarenice-theme"; - version = "1.0.20"; - src = fetchFromGitHub { - owner = "Fanael"; - repo = "colorsarenice-theme"; - rev = "3cae55d0c7aeda3a8ef731ebc3886b2449ad87e6"; - sha256 = "18hzm7yzwlfjlbkx46rgdl31p9xyfqnxlvg8337h2bicpks7kjia"; - }; - recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/3ac373bc7d1c4d3e49523d587d279968995e164c/recipes/colorsarenice-theme"; - sha256 = "09zlglldjbjr97clwyzyz7c0k8hswclnk2zbkm03nnn9n9yyg2qi"; - name = "colorsarenice-theme"; - }; - packageRequires = [ emacs ]; - meta = { - homepage = "https://melpa.org/#/colorsarenice-theme"; - license = lib.licenses.free; - }; - }) {}; commander = callPackage ({ cl-lib ? null, dash, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "commander"; @@ -4101,12 +4290,12 @@ company = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "company"; - version = "0.9.0"; + version = "0.9.2"; src = fetchFromGitHub { owner = "company-mode"; repo = "company-mode"; - rev = "212c8fc3101781a2f1c55ca61772eb75a2046e87"; - sha256 = "04ffjwhk9y6slmxgmir08ilppy3q86qzhqg7v9kp0fzkwaap5fyf"; + rev = "c9912e9ba7ef441677c1a9de7e14f78cb2da5e0e"; + sha256 = "1jc9mnqj38lnn3yxkcixlwgqkxb7lsyzqybakk74mh3l3gr9cv8k"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/96e7b4184497d0d0db532947f2801398b72432e4/recipes/company"; @@ -4143,12 +4332,12 @@ company-ansible = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "company-ansible"; - version = "0.1.1"; + version = "0.4.0"; src = fetchFromGitHub { owner = "krzysztof-magosa"; repo = "company-ansible"; - rev = "b9b4b22bc8c109de3ae3a5bb4c6b2be89bd644db"; - sha256 = "1dds3fynbd6yb0874aw6g4qk5zmq3pgl3jmcp38md027qalgqmym"; + rev = "2e3264670c861ecbe862f7618241367ab497b5ff"; + sha256 = "0a0pb3amsxj6m8ka12ny1w9qjy3dg7vsxdsy1wg3qzanj2pdsk4l"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7b44cd4bd9f9a7c942ca3f3bd88b2ce61ffff130/recipes/company-ansible"; @@ -4269,12 +4458,12 @@ company-emoji = callPackage ({ cl-lib ? null, company, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "company-emoji"; - version = "2.3.0"; + version = "2.5.0"; src = fetchFromGitHub { owner = "dunn"; repo = "company-emoji"; - rev = "c77e9c6f87a7853787c70eae885e12b6162d4cc5"; - sha256 = "1f8sjjms9kxni153pia6b45p2ih2mhm2r07d0j3fmxmz3q2jdldd"; + rev = "8dc88ffe0773ef44321f245d39430c14a1bc2b82"; + sha256 = "1y8l9wnc13g79znyw2qsbm33da2bhkj270ppikkg9h4x2qpmxilq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5733dccdffe97911a30352fbcda2900c33d79810/recipes/company-emoji"; @@ -4416,12 +4605,12 @@ company-ngram = callPackage ({ cl-lib ? null, company, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "company-ngram"; - version = "0.7.7"; + version = "0.7.9"; src = fetchFromGitHub { owner = "kshramt"; repo = "company-ngram"; - rev = "11323ca12ddd5f706d5a855a3a7824013cf3cca6"; - sha256 = "1gq2q6bjnaji53gdaqy4gadiydrvl0ddg0l8xhxj0v1w3sk81b08"; + rev = "98491c830d0867c211b773818610ace51f243640"; + sha256 = "196c870n7d46n4yhppq5np8mn9i0i74aykkbfk33kr4mgilss4cw"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/937e6a23782450525c4a90392c414173481e101b/recipes/company-ngram"; @@ -4458,12 +4647,12 @@ company-php = callPackage ({ ac-php-core, cl-lib ? null, company, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "company-php"; - version = "1.7.5"; + version = "1.7.6"; src = fetchFromGitHub { owner = "xcwen"; repo = "ac-php"; - rev = "f66d13c98543032d2773c83441f49d4b6e109e97"; - sha256 = "0zi16x56jmas70srphd07ycxfdw4ny1y8vsdcvfvmgvg1mgys8f6"; + rev = "35fdc09f95050cc76d06f3e6ff1620927aa6377a"; + sha256 = "14ywlbxpkwi7fc7axfcnpisddn2886v134llgh0glrl4xkiyd0sf"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/company-php"; @@ -4545,15 +4734,36 @@ license = lib.licenses.free; }; }) {}; + company-statistics = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "company-statistics"; + version = "0.2.2"; + src = fetchFromGitHub { + owner = "company-mode"; + repo = "company-statistics"; + rev = "906d8137224c1a5bd1dc913940e0d32ffecf5523"; + sha256 = "0c98kfg7gimjx9cf8dmbk9mdsrybhphshrdl8dhif3zqvn6gxyd7"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/89d05b43f31ec157ce8e7bfba4b7c9119bda6dd2/recipes/company-statistics"; + sha256 = "1fl4ldj17m3xhi6xbw3bp9c2jir34xv3jh9daiw8g912fv2l5dcj"; + name = "company-statistics"; + }; + packageRequires = [ company emacs ]; + meta = { + homepage = "https://melpa.org/#/company-statistics"; + license = lib.licenses.free; + }; + }) {}; company-tern = callPackage ({ cl-lib ? null, company, dash, dash-functional, fetchFromGitHub, fetchurl, lib, melpaBuild, s, tern }: melpaBuild { pname = "company-tern"; - version = "0.2.0"; + version = "0.3.0"; src = fetchFromGitHub { owner = "proofit404"; repo = "company-tern"; - rev = "9a2cb8427a1a93c9c5021c01df1b47c69d79e176"; - sha256 = "11cinjsyf24d4a682ikniprxd1vkwn6mynsp5dzab6yzq09np78i"; + rev = "b20b3e490bf277c8480712210e3c92ea489859ef"; + sha256 = "1l4b54rqwsb32r8zwwrag7s35zc3kpviafdrqkq8r1nyshg2yccm"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/acc9b816796b9f142c53f90593952b43c962d2d8/recipes/company-tern"; @@ -4587,22 +4797,22 @@ license = lib.licenses.free; }; }) {}; - company-ycmd = callPackage ({ company, deferred, fetchFromGitHub, fetchurl, lib, melpaBuild, s, ycmd }: + company-ycmd = callPackage ({ company, dash, deferred, f, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild, s, ycmd }: melpaBuild { pname = "company-ycmd"; - version = "0.9"; + version = "1.0"; src = fetchFromGitHub { owner = "abingham"; repo = "emacs-ycmd"; - rev = "8fb29b84d42c0aea71fe7db088b0b7a5a0c6b34c"; - sha256 = "094alkjrh285qy3sds8dkvxsbnaxnppz1ab0i5r575lyhli9lxia"; + rev = "be21ca7f807e70812b6fc0e0a4ea83b41723d815"; + sha256 = "1q30k8rhk3plknkk544h2dk48yqmxwh4xp3rq1lz8isc3580qwxx"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1138c8cc239183a2435ce8c1a6df5163e5fed2ea/recipes/company-ycmd"; sha256 = "0fqmkb0q8ai605jzn2kwd585b2alwxbmnb3yqnn9fgkcvyc9f0pk"; name = "company-ycmd"; }; - packageRequires = [ company deferred s ycmd ]; + packageRequires = [ company dash deferred f let-alist s ycmd ]; meta = { homepage = "https://melpa.org/#/company-ycmd"; license = lib.licenses.free; @@ -4632,12 +4842,12 @@ composer = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, request, s }: melpaBuild { pname = "composer"; - version = "0.0.5"; + version = "0.0.7"; src = fetchFromGitHub { owner = "zonuexe"; repo = "composer.el"; - rev = "3b5a9b7364136c8dd85b8b3c1323790c8c38c2a8"; - sha256 = "0zk1rbnh423r1rsml4lbwzkajkq7h3k6dan4cjqbyiw8pd12hq3m"; + rev = "47d840e03412da5db13ae2b962576f0166517581"; + sha256 = "1vw1im39c4jvsaw3ghvwvya9l5h7jiysfhry3p22gdng0l2n4008"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/39c5002f0688397a51b1b0c6c15f6ac07c3681bc/recipes/composer"; @@ -4671,6 +4881,27 @@ license = lib.licenses.free; }; }) {}; + conda = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, pythonic, s }: + melpaBuild { + pname = "conda"; + version = "0.0.6"; + src = fetchFromGitHub { + owner = "necaris"; + repo = "conda.el"; + rev = "5a13e7deda80adb40553f1c256531d040a4c99a1"; + sha256 = "011z47hkynss8a56c2fi702laqxicmwai6anald58436pdxi3y6y"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/fcf762e34837975f5440a1d81a7f09699778123e/recipes/conda"; + sha256 = "1hi292h6ccl7vkvyxcwwcdxw8q2brv3hy0mnlikzj2qy5pbnfg4y"; + name = "conda"; + }; + packageRequires = [ dash emacs f pythonic s ]; + meta = { + homepage = "https://melpa.org/#/conda"; + license = lib.licenses.free; + }; + }) {}; conkeror-minor-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "conkeror-minor-mode"; @@ -4734,6 +4965,27 @@ license = lib.licenses.free; }; }) {}; + copy-as-format = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "copy-as-format"; + version = "0.0.2"; + src = fetchFromGitHub { + owner = "sshaw"; + repo = "copy-as-format"; + rev = "6c47295597c69b3b08dd8f137f6a5973a5588674"; + sha256 = "1d4x8rvmzqi3cby01ahgr3fqcsq4kpd6sglr9slxcw7hp7rlih0i"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/42fe8a2113d1c15701abe7a7e0a68e939c3d789b/recipes/copy-as-format"; + sha256 = "1yij5mqm0dg6326yms0a2w8gs42kdxq0ih8dhkpdar54r0bk3m8k"; + name = "copy-as-format"; + }; + packageRequires = [ cl-lib ]; + meta = { + homepage = "https://melpa.org/#/copy-as-format"; + license = lib.licenses.free; + }; + }) {}; copyit = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "copyit"; @@ -4818,6 +5070,27 @@ license = lib.licenses.free; }; }) {}; + counsel-bbdb = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }: + melpaBuild { + pname = "counsel-bbdb"; + version = "0.0.1"; + src = fetchFromGitHub { + owner = "redguardtoo"; + repo = "counsel-bbdb"; + rev = "297d0c7e6e1eaafcd5e188724fea8e8f26b95555"; + sha256 = "14gw4d855v2nvqh06vs9rzs816pn1hp4rhfikb0wzg1ay6gdrwi7"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/0ed9bcdb1f25a6dd743c1dac2bb6cda73a5a5dc2/recipes/counsel-bbdb"; + sha256 = "14d9mk44skpmyj0zkqwz97j80r630j7s5hfrrhlsafdpl5aafjxp"; + name = "counsel-bbdb"; + }; + packageRequires = [ emacs ivy ]; + meta = { + homepage = "https://melpa.org/#/counsel-bbdb"; + license = lib.licenses.free; + }; + }) {}; counsel-dash = callPackage ({ counsel, dash, dash-functional, emacs, fetchFromGitHub, fetchurl, helm-dash, lib, melpaBuild }: melpaBuild { pname = "counsel-dash"; @@ -4839,6 +5112,27 @@ license = lib.licenses.free; }; }) {}; + counsel-gtags = callPackage ({ counsel, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "counsel-gtags"; + version = "0.1"; + src = fetchFromGitHub { + owner = "syohex"; + repo = "emacs-counsel-gtags"; + rev = "8066dd4cd6eb157345fb43788bacf2c5d746b497"; + sha256 = "07kxv56p340a913673h30q65814ji7lwc6gsn9vcr18rsdaj7qwi"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/c7ccc35632219dbec5fdad7401545e7c071b910c/recipes/counsel-gtags"; + sha256 = "12qyb1lnzyd2rr4ankpqi30h0bj66ap5qw87y4605k0j44vhnsax"; + name = "counsel-gtags"; + }; + packageRequires = [ counsel emacs ]; + meta = { + homepage = "https://melpa.org/#/counsel-gtags"; + license = lib.licenses.free; + }; + }) {}; coverage = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, ov }: melpaBuild { pname = "coverage"; @@ -4902,6 +5196,27 @@ license = lib.licenses.free; }; }) {}; + creamsody-theme = callPackage ({ autothemer, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "creamsody-theme"; + version = "0.3.4"; + src = fetchFromGitHub { + owner = "emacsfodder"; + repo = "emacs-theme-creamsody"; + rev = "c1b2de723d1047ffa199a2cfb14131218962a07d"; + sha256 = "0kncywrxpb8yn8i0wqspx9igljzlv57zc9r32s1mwgqfz0p2z823"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/488f95b9e425726d641120130d894babcc3b3e85/recipes/creamsody-theme"; + sha256 = "0l3mq43bszxrz0bxmxb76drp4c8721cw8akgk3l5a800wqbfp2l7"; + name = "creamsody-theme"; + }; + packageRequires = [ autothemer ]; + meta = { + homepage = "https://melpa.org/#/creamsody-theme"; + license = lib.licenses.free; + }; + }) {}; creds = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "creds"; @@ -4923,22 +5238,22 @@ license = lib.licenses.free; }; }) {}; - cricbuzz = callPackage ({ enlive, fetchFromGitHub, fetchurl, lib, melpaBuild }: + cricbuzz = callPackage ({ dash, enlive, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "cricbuzz"; - version = "0.2.3"; + version = "0.2.8"; src = fetchFromGitHub { owner = "lepisma"; repo = "cricbuzz.el"; - rev = "7c0c495312c18bc6c8db9ddad94efbd4b6328a9b"; - sha256 = "0jvr6ya40qq9q064k2gzkrqw00xffjmslfjxa2xz2vi25m6jyv92"; + rev = "5fe51347f5d6e7636ece5e904e4bdec0be21db45"; + sha256 = "1x29garhp1x5h1mwbamwjnfw52w45b39aqxsvcdxmcf730w9pq63"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/906b144e01aed96d62efbc34a8af2973135f6194/recipes/cricbuzz"; sha256 = "1ad2afyn3xny3rgb8yy6w87f33idlrmis1vx0b6s8ppafv9z74j0"; name = "cricbuzz"; }; - packageRequires = [ enlive ]; + packageRequires = [ dash enlive s ]; meta = { homepage = "https://melpa.org/#/cricbuzz"; license = lib.licenses.free; @@ -5010,12 +5325,12 @@ csharp-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "csharp-mode"; - version = "0.8.12"; + version = "0.9.0"; src = fetchFromGitHub { owner = "josteink"; repo = "csharp-mode"; - rev = "b4fb58af022a60c1c8161475e9c3fa023a0f9816"; - sha256 = "0dqih7cy57sciqn5vz5fiwynpld96qldyl7jcgn9qpwnzb401ayx"; + rev = "6c0a0d6cf602666d63a06c3652ce522b3a5a7661"; + sha256 = "1pw96s0675rf35hwaxdzids9s8ynkb0g66yximiiz6ryh4ama0wn"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/736716bbcfd9c9fb1d10ce290cb4f66fe1c68f44/recipes/csharp-mode"; @@ -5028,6 +5343,27 @@ license = lib.licenses.free; }; }) {}; + csv = callPackage ({ fetchFromGitLab, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "csv"; + version = "2.1"; + src = fetchFromGitLab { + owner = "u11"; + repo = "csv.el"; + rev = "aa1dfa1263565d5fac3879c21d8ddf5f8915e411"; + sha256 = "1vmazjrfcsa9aa9aw8bq5sazdhqvhxyj837dyw5lmh8gk7z0xdaa"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/233f9de5f65fd8374f2c1912503c30905aa6691d/recipes/csv"; + sha256 = "1rvi5p27lsb284zqgv4cdqkbqc9r92axmvg7sv52rm7qcj8njwqd"; + name = "csv"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/csv"; + license = lib.licenses.free; + }; + }) {}; ctable = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ctable"; @@ -5134,12 +5470,12 @@ cyberpunk-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "cyberpunk-theme"; - version = "1.17"; + version = "1.18"; src = fetchFromGitHub { owner = "n3mo"; repo = "cyberpunk-theme.el"; - rev = "4ffdaee0a32b8e235bf44c0daedde66eaf7b1b33"; - sha256 = "1yhizh8j745hv5ancpvijds9dasvsr2scwjscksp2x3krnd26ssp"; + rev = "bec963abce7a208ec192a8349ed0b8e1ac3b3041"; + sha256 = "1adbws88113lfm5ljahms12aji1swip732l7pamxwibfywhgpn2f"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4c632d1e501d48dab54432ab111ce589aa229125/recipes/cyberpunk-theme"; @@ -5176,12 +5512,12 @@ cython-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "cython-mode"; - version = "0.24.1.0"; + version = "0.25.2"; src = fetchFromGitHub { owner = "cython"; repo = "cython"; - rev = "3de7bd5559631321c287c8fdd8958b6c494dba5c"; - sha256 = "11ddx5c535a76pnxqdfahchi839v59iwvpiyswigskyfhzxn5ic1"; + rev = "c9bcf1bed3acf367d6deb0c273cf22db0f18dab2"; + sha256 = "16yd296n0nh96pnkjpdbdz4i7ga4j961pkzm3cbnika26xwndx03"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/be9bfabe3f79153cb859efc7c3051db244a63879/recipes/cython-mode"; @@ -5197,12 +5533,12 @@ d-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "d-mode"; - version = "2.0.8"; + version = "2.0.9"; src = fetchFromGitHub { owner = "Emacs-D-Mode-Maintainers"; repo = "Emacs-D-Mode"; - rev = "71ab5eb661851dd4bfa8a589b1001991ee6c3f31"; - sha256 = "0kbncsaxj93jd79sd6dkap29fz8z100wi1nk0njd568glm8q4k5g"; + rev = "98af62e67026fee1dda9155e1a463917fc83802e"; + sha256 = "0fzplvi1sm8k2sabfdvrd7j2xypwqh0g9v1mxa75dajdmcd85zpj"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3c13e9ccc358743de660b1f0e89d6bb709c42bff/recipes/d-mode"; @@ -5218,12 +5554,12 @@ darcula-theme = callPackage ({ fetchFromGitLab, fetchurl, lib, melpaBuild }: melpaBuild { pname = "darcula-theme"; - version = "1.0"; + version = "1.1"; src = fetchFromGitLab { owner = "fommil"; repo = "emacs-darcula-theme"; - rev = "202a5affe59a5e1ac1d33a7e518d1df772bf2100"; - sha256 = "1gdh4izwhyly6dyrmh7lfpd12gnb8hpnafj8br51ksijsssrf21f"; + rev = "834202004507221c3bdf49457219a56760b13d22"; + sha256 = "1j2g94cz9b3ivv0w88gw1hcf236kc0c7hnrf13yyspxjm5jfdmd5"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/23c8f10205187babb17e3abc3dc40eb1938e6640/recipes/darcula-theme"; @@ -5239,12 +5575,12 @@ darktooth-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "darktooth-theme"; - version = "0.1.44"; + version = "0.2.100"; src = fetchFromGitHub { owner = "emacsfodder"; repo = "emacs-theme-darktooth"; - rev = "839c94048e0a3e9ac6e286212c7626f3fb7ac2c9"; - sha256 = "1nagwhd8n69iysa4m5i7xxi06w6z4hsrvjsgmdg5msyi14ci5lip"; + rev = "380fdcff12f44faf099bc5a38984d88784b495a2"; + sha256 = "1pragypiv59rrvq2xjzmldkf1v007viwwcvr3f5iyv31n0bmd0cn"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b7f62ac1566ced7332e83253f79078dc30cb7889/recipes/darktooth-theme"; @@ -5260,12 +5596,12 @@ dart-mode = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }: melpaBuild { pname = "dart-mode"; - version = "0.14"; + version = "0.15"; src = fetchFromGitHub { owner = "nex3"; repo = "dart-mode"; - rev = "07edf4d4448ede128d13c27bd76cf06f5ef5bb3b"; - sha256 = "1vkn95dyc0pppnflyqlrlx32g9zc7wdcgc9fgf1hgvqp313ydfcs"; + rev = "e6635b390235cf16a8081763768cf925ca2d9133"; + sha256 = "1cwwwxmv7d1blv88c6nlm0z94gjfdgw2ri1libzyfzirincyicdx"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7d9cb763cb8e929d9442be8d06e9af02de90714a/recipes/dart-mode"; @@ -5320,6 +5656,27 @@ license = lib.licenses.free; }; }) {}; + dashboard = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, page-break-lines }: + melpaBuild { + pname = "dashboard"; + version = "1.0.3"; + src = fetchFromGitHub { + owner = "rakanalh"; + repo = "emacs-dashboard"; + rev = "cd9899342bc94e59aa42275554810e50d045aaa4"; + sha256 = "1klmjdym4w3cbarabzvkxddjdcisfk62wkpys3z4nclp4g91p8as"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/e9a79341ccaa82a8c065e71c02fe6aee22007c66/recipes/dashboard"; + sha256 = "08pdpjfrg8v80gljy146cwpz624dshhbz8843zl1zszwp2p00kqy"; + name = "dashboard"; + }; + packageRequires = [ emacs page-break-lines ]; + meta = { + homepage = "https://melpa.org/#/dashboard"; + license = lib.licenses.free; + }; + }) {}; date-at-point = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "date-at-point"; @@ -5365,12 +5722,12 @@ datetime = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "datetime"; - version = "0.1"; + version = "0.2"; src = fetchFromGitHub { owner = "doublep"; repo = "datetime"; - rev = "dd38546d80a8aa30b9e259490ab82c337e851f54"; - sha256 = "1w8qzj8qrgkygprb3ibyx28j951lv7k1frbpdwz69cg23whi3s30"; + rev = "6585b2dcb0b3871a2a63656d01baa0c9a300d457"; + sha256 = "07rb8r3j8293h0ffpwhf7mxnshqi08pb63swhmdzb34hn57cx4jg"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/fff9f0748b0ef76130b24e85ed109325256f956e/recipes/datetime"; @@ -5383,6 +5740,27 @@ license = lib.licenses.free; }; }) {}; + debpaste = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, xml-rpc }: + melpaBuild { + pname = "debpaste"; + version = "0.1.5"; + src = fetchFromGitHub { + owner = "alezost"; + repo = "debpaste.el"; + rev = "6f2a400665062468ebd03a2ce1de2a73d9084958"; + sha256 = "1wi70r56pd5z0x4dp4m58p9asq03j74kdm4fi9vai83vsl2z9amq"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/13098bae76a3386689a9bf9c12f25b9a9b15145c/recipes/debpaste"; + sha256 = "1vgirfy4vdqkhllnnmcplhwmzqqwca3la5jfvvansykqriwbq9lw"; + name = "debpaste"; + }; + packageRequires = [ xml-rpc ]; + meta = { + homepage = "https://melpa.org/#/debpaste"; + license = lib.licenses.free; + }; + }) {}; decide = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "decide"; @@ -5699,12 +6077,12 @@ dim-autoload = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "dim-autoload"; - version = "1.2.0"; + version = "2.0.0"; src = fetchFromGitHub { owner = "tarsius"; repo = "dim-autoload"; - rev = "ac04fade74a50fd2aac48fc298e4d21d8427f737"; - sha256 = "0jn3hwnqg455fz85m79mbwsiv93ps4sfr1fcfjfwj3qhhbhq7d82"; + rev = "c91edab065f413910354940742b35bdffeb52029"; + sha256 = "0v4fgbh1byv89iiszifr31j4y2s95xwcq0g9iizxiww7mjrfggyi"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/66b1a81dfd09a2859ae996d5d8e3d704857a340f/recipes/dim-autoload"; @@ -5822,6 +6200,27 @@ license = lib.licenses.free; }; }) {}; + dired-icon = callPackage ({ emacs, fetchFromGitLab, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "dired-icon"; + version = "0.4"; + src = fetchFromGitLab { + owner = "xuhdev"; + repo = "dired-icon"; + rev = "bd10690402aa451e65cbadb192356386cd855abd"; + sha256 = "1millrv2rgiswnh9hrprqx2lmbi9h8fasgin5clhixafhmp9l6sf"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/c6d0947148441ed48f92f4cfaaf39c2a9aadda48/recipes/dired-icon"; + sha256 = "1fl12pbncvq80la3bjgq1wlbpmf32mq76sq61mbnwcimi3nj27na"; + name = "dired-icon"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/dired-icon"; + license = lib.licenses.free; + }; + }) {}; dired-imenu = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "dired-imenu"; @@ -5843,22 +6242,22 @@ license = lib.licenses.free; }; }) {}; - dired-k = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + dired-k = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "dired-k"; - version = "0.17"; + version = "0.19"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-dired-k"; - rev = "4c9eb0fab636983a03dbe4357f9b3ee6b3ca8d74"; - sha256 = "17g0ajhbhk7l5s75h0ybz1w1dnf5aikvbcgcdd4d0qkj9l91k8x6"; + rev = "3f0b9315f87b0f930d51089e311d41282d5f8b15"; + sha256 = "09xh097v3fd0mjxqlmbfwjlr1v4a99mj4rvwdb6kqgajmlhgi9hx"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7f8a828b2fbfa11c4b74192d9d0cfa0ad34b3da7/recipes/dired-k"; sha256 = "0lghdmy9qcjykscfxvfrz8cpp87qc0vfd03vw8nfpvwcs2sd28i8"; name = "dired-k"; }; - packageRequires = [ cl-lib emacs ]; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/dired-k"; license = lib.licenses.free; @@ -6097,12 +6496,12 @@ dix = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "dix"; - version = "0.3.2"; + version = "0.3.3"; src = fetchFromGitHub { owner = "unhammer"; repo = "dix"; - rev = "11348456ba73ab045f68ba79c51d93855ee85c31"; - sha256 = "0q35p9p26ywfaw6k8q05zmr8vmkiakykwns4ffgyl57dafkpjfj0"; + rev = "c7a699fdab0c8f3de32000c804b1504b39c936ad"; + sha256 = "0xbzw4wvhaz7h4zq2pnfcps7wfm99vyhsk25hhsr632jnz790xdf"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/149eeba213b82aa0bcda1073aaf1aa02c2593f91/recipes/dix"; @@ -6118,12 +6517,12 @@ dix-evil = callPackage ({ dix, evil, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "dix-evil"; - version = "0.3.2"; + version = "0.3.3"; src = fetchFromGitHub { owner = "unhammer"; repo = "dix"; - rev = "11348456ba73ab045f68ba79c51d93855ee85c31"; - sha256 = "0q35p9p26ywfaw6k8q05zmr8vmkiakykwns4ffgyl57dafkpjfj0"; + rev = "c7a699fdab0c8f3de32000c804b1504b39c936ad"; + sha256 = "0xbzw4wvhaz7h4zq2pnfcps7wfm99vyhsk25hhsr632jnz790xdf"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d9dcceb57231bf2082154cab394064a59d84d3a5/recipes/dix-evil"; @@ -6136,27 +6535,56 @@ license = lib.licenses.free; }; }) {}; - docker = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, magit-popup, melpaBuild, s, tablist }: + docker = callPackage ({ dash, docker-tramp, emacs, fetchFromGitHub, fetchurl, json-mode, lib, magit-popup, melpaBuild, s, tablist }: melpaBuild { pname = "docker"; - version = "0.4.0"; + version = "0.5.2"; src = fetchFromGitHub { owner = "Silex"; repo = "docker.el"; - rev = "57c5f4edb7139cbf78055a1ceb7a9f8b4b299a8a"; - sha256 = "1wkgb6wq3crnpnd747ilwl2kbz5fjk5q5z1xza8j4bf1ic2aybb8"; + rev = "2e9438cf132da1bbb25b93769754c29bd7e48a6c"; + sha256 = "1dqmnija2s1dmf0kq3d4nf212jyyqa5rjnrg4l2rlxkkfgxjdqaz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6c74bf8a41c17bc733636f9e7c05f3858d17936b/recipes/docker"; sha256 = "10x05vli7lg1w3fdbkrl34y4mwbhp2c7nqdwnbdy53i81jisw2lk"; name = "docker"; }; - packageRequires = [ dash emacs magit-popup s tablist ]; + packageRequires = [ + dash + docker-tramp + emacs + json-mode + magit-popup + s + tablist + ]; meta = { homepage = "https://melpa.org/#/docker"; license = lib.licenses.free; }; }) {}; + docker-tramp = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "docker-tramp"; + version = "0.1"; + src = fetchFromGitHub { + owner = "emacs-pe"; + repo = "docker-tramp.el"; + rev = "d8b510365d8e65551f4f792f251e7212411708c3"; + sha256 = "0lxvzmfg52fhxrhbvp92zwp7cv4i1rlxnkyyzgngj3sjm7y60yvg"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/6c74bf8a41c17bc733636f9e7c05f3858d17936b/recipes/docker-tramp"; + sha256 = "19kky80qm68n2izpjfyiy4gjywav7ljcmp101kmziklpqdldgh1w"; + name = "docker-tramp"; + }; + packageRequires = [ cl-lib emacs ]; + meta = { + homepage = "https://melpa.org/#/docker-tramp"; + license = lib.licenses.free; + }; + }) {}; dockerfile-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "dockerfile-mode"; @@ -6199,6 +6627,27 @@ license = lib.licenses.free; }; }) {}; + doom-themes = callPackage ({ all-the-icons, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "doom-themes"; + version = "1.1.2"; + src = fetchFromGitHub { + owner = "hlissner"; + repo = "emacs-doom-theme"; + rev = "dbe6ed4b4cf27ab676843505cb7c5edba50b455b"; + sha256 = "0npzshc9mv1zy8dmghz34nwdjlpgxxd4iiv2zp3l6qa0m78j52ri"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/73fd9f3c2352ea1af49166c2fe586d0410614081/recipes/doom-themes"; + sha256 = "1ckr8rv1i101kynnx666lm7qa73jf9i5lppgwmhlc76lisg07cik"; + name = "doom-themes"; + }; + packageRequires = [ all-the-icons dash emacs ]; + meta = { + homepage = "https://melpa.org/#/doom-themes"; + license = lib.licenses.free; + }; + }) {}; downplay-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "downplay-mode"; @@ -6220,6 +6669,27 @@ license = lib.licenses.free; }; }) {}; + dr-racket-like-unicode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "dr-racket-like-unicode"; + version = "1.1.0"; + src = fetchFromGitHub { + owner = "david-christiansen"; + repo = "dr-racket-like-unicode"; + rev = "4953f1c8a68472e157a0dcd0a7e35a4ec2577133"; + sha256 = "1i7k7d2gnzd2izplhdmjbkcxvkwnc3y3y0hrcp2rq60bjpkcl1gv"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/6e612ede00c4b44ace741d2b6baabc61571af15c/recipes/dr-racket-like-unicode"; + sha256 = "0cqcbn4hmv99d8z03xc0rqw4yh5by6g09y33h75dhl9nh95rybgf"; + name = "dr-racket-like-unicode"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/dr-racket-like-unicode"; + license = lib.licenses.free; + }; + }) {}; dracula-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "dracula-theme"; @@ -6265,12 +6735,12 @@ drag-stuff = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "drag-stuff"; - version = "0.2.0"; + version = "0.3.0"; src = fetchFromGitHub { owner = "rejeep"; repo = "drag-stuff.el"; - rev = "07332b9f4725ad11d123e0fc5593c0c1c37db381"; - sha256 = "131ww26pb97q2gyjhfrsf7nw2pi5b1kba0cgl97qc017sfhg92v6"; + rev = "d49fe376d24f0f8ac5ade67b6d7fccc2487c81db"; + sha256 = "1jrr59iazih3imkl9ja1lbni9v3xv6b8gmqs015g2mxhlql35jka"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/drag-stuff"; @@ -6367,35 +6837,14 @@ license = lib.licenses.free; }; }) {}; - dummy-h-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: - melpaBuild { - pname = "dummy-h-mode"; - version = "1.0.1"; - src = fetchFromGitHub { - owner = "yascentur"; - repo = "dummy-h-mode-el"; - rev = "27ad0991abb53e65d0402ef6c378075e4be0ed2d"; - sha256 = "033yqc19xxirbva65lz8hnwxj7pn7fx7dlnf70kq71iqclqa4v25"; - }; - recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/0fda2b54a0ff0b6fc3bd6d20cfcbbf63cae5380f/recipes/dummy-h-mode"; - sha256 = "10lzfzq7md6s28w2zzlhswn3d6765g4vqzyjn2q5ms8pd2i4b4in"; - name = "dummy-h-mode"; - }; - packageRequires = []; - meta = { - homepage = "https://melpa.org/#/dummy-h-mode"; - license = lib.licenses.free; - }; - }) {}; dyalog-mode = callPackage ({ cl-lib ? null, fetchhg, fetchurl, lib, melpaBuild }: melpaBuild { pname = "dyalog-mode"; - version = "0.3"; + version = "0.7"; src = fetchhg { url = "https://bitbucket.com/harsman/dyalog-mode"; - rev = "4b5bc1f49cad"; - sha256 = "1c0jswjxazf330bh0xg889s6pfk50x5qi5lc8kpfqwa0p6b15306"; + rev = "4004050a9771"; + sha256 = "0p7g7sfkdr473gpj2xdgg5fb5d336w2ddvx44i1d6575p6rcs5w6"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/dyalog-mode"; @@ -6600,12 +7049,12 @@ easy-kill-extras = callPackage ({ easy-kill, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "easy-kill-extras"; - version = "0.9.4"; + version = "0.9.4.1"; src = fetchFromGitHub { owner = "knu"; repo = "easy-kill-extras.el"; - rev = "242844bc95b9015396405d84c4335338037968c3"; - sha256 = "18fdlxz9k961k8wafdw0gq0y514bvrfvx6qc1lmm4pk3gdcfbbi0"; + rev = "e60a74d7121eff7c263098aea2901cc05a5f6acd"; + sha256 = "1rabkb2pkafnfx68df1zjwbj8bl7361n35lvzrvldc3v85bfam48"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7b55d93f78fefde47a2bd4ebbfd93c028fab1f40/recipes/easy-kill-extras"; @@ -6684,12 +7133,12 @@ ebib = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, parsebib }: melpaBuild { pname = "ebib"; - version = "2.6.3"; + version = "2.8.1"; src = fetchFromGitHub { owner = "joostkremers"; repo = "ebib"; - rev = "018d6ae692eaff67aa77ebaccd29d49912669cd8"; - sha256 = "1awwlrmypbrycbrz8nh1z97gq9rh7k7mav9zk47rhq6vwbl9l066"; + rev = "219665ba1c9aad885cee6e9914448139be7f7299"; + sha256 = "0s9hyyhjzf7ldr67znhmhl5k1q6qacnlnqw20cdc0iihidj2fg2j"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4e39cd8e8b4f61c04fa967def6a653bb22f45f5b/recipes/ebib"; @@ -6702,27 +7151,6 @@ license = lib.licenses.free; }; }) {}; - ecb = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: - melpaBuild { - pname = "ecb"; - version = "2.24"; - src = fetchFromGitHub { - owner = "alexott"; - repo = "ecb"; - rev = "1e9ddf472d7b6006dc92684b82de22e6148f38b4"; - sha256 = "1s9r1qj7cjsjvvphdpyjff6y598xpbrm9qjv5ncq15w6ac7yxzvc"; - }; - recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/c0a4c225c05166572de4538f7ee9e4e0d088a409/recipes/ecb"; - sha256 = "097hdskhfh255znrqamcssx4ns1sgkxchlbc7pjqwzpflsi0fx89"; - name = "ecb"; - }; - packageRequires = []; - meta = { - homepage = "https://melpa.org/#/ecb"; - license = lib.licenses.free; - }; - }) {}; eclim = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "eclim"; @@ -6807,6 +7235,27 @@ license = lib.licenses.free; }; }) {}; + ede-php-autoload = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "ede-php-autoload"; + version = "0.4.3"; + src = fetchFromGitHub { + owner = "stevenremot"; + repo = "ede-php-autoload"; + rev = "c6896c648fbc90f4d083f511353d6b165836d0e8"; + sha256 = "0dfx0qiyd23jhxi0y1n4s1pk9906b91qnp25xbyiqdacs54l6d8a"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/8ee9f7fd9cbc3397cd9af34b08b75c3d9d8bc551/recipes/ede-php-autoload"; + sha256 = "0b7qbighncipgfaksvggpyldc5h0wxbjbiyaghglvycc4p1sfjd0"; + name = "ede-php-autoload"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/ede-php-autoload"; + license = lib.licenses.free; + }; + }) {}; edit-indirect = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "edit-indirect"; @@ -6978,12 +7427,12 @@ egison-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "egison-mode"; - version = "3.6.0"; + version = "3.6.4"; src = fetchFromGitHub { owner = "egisatoshi"; repo = "egison3"; - rev = "a3241316207b6b623c5ae61e8fe8fb17783b981b"; - sha256 = "07vdvjy4x21gyw2r4rxrj929hj1jp4a8igwgb2m5a5x50capwzhy"; + rev = "62c99118f32dd23a088e2d9c0d6b7b755206cac6"; + sha256 = "1f0s9pvns4gq6xzp4vp74xxxbmzp06vdv0jgh0x1xy0mfklgll8x"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f543dd136e2af6c36b12073ea75b3c4d4bc79769/recipes/egison-mode"; @@ -7018,16 +7467,16 @@ ein = callPackage ({ cl-generic, fetchFromGitHub, fetchurl, lib, melpaBuild, request, websocket }: melpaBuild { pname = "ein"; - version = "0.8.1"; + version = "0.12.0"; src = fetchFromGitHub { owner = "millejoh"; repo = "emacs-ipython-notebook"; - rev = "9fc8dd3be4a556d7abf6977c889887a38232929f"; - sha256 = "0w2j0bbqnba1wr12f0zk87zwnxf6xhchx224fwgwqd3kg0x5z0r3"; + rev = "8e3764044c9bd44fbdab4e870c2fc9a36ce02449"; + sha256 = "0f5k9bx632xjwj3l03vs0k48xvxq4nbi71039fcjqs0bchg814nj"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/3201516c0158c47d0226ef9c5d324d29ac7b088b/recipes/ein"; - sha256 = "1nksj1cpf4d9brr3rb80bgp2x05qdq9xmlp8mwbic1s27mw80bpp"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/215e163755fe391ce1f049622e7b9bf9a8aea95a/recipes/ein"; + sha256 = "14blq1cbrp00rq0ilk7z9qppqfj0r4n3jidw3abcpchvh5ln086r"; name = "ein"; }; packageRequires = [ cl-generic request websocket ]; @@ -7204,27 +7653,6 @@ license = lib.licenses.free; }; }) {}; - elang = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, names }: - melpaBuild { - pname = "elang"; - version = "0.0.1"; - src = fetchFromGitHub { - owner = "vkazanov"; - repo = "elang"; - rev = "ae42437603d6dc84d3850bc45496a82b8583703e"; - sha256 = "0hlj6jn9gmi00sqghxswkxpgk65c4gy2k7010vpkr2257rd4f3gq"; - }; - recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/1cb66c2a6272a804d7a81fc506643e80f11da306/recipes/elang"; - sha256 = "0frhn3hm8351qzljicpzars28af1fghgv45717ml79rwb4vi6yiy"; - name = "elang"; - }; - packageRequires = [ names ]; - meta = { - homepage = "https://melpa.org/#/elang"; - license = lib.licenses.free; - }; - }) {}; eldoc-eval = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "eldoc-eval"; @@ -7249,12 +7677,12 @@ electric-operator = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, names }: melpaBuild { pname = "electric-operator"; - version = "0.2"; + version = "1.0.0"; src = fetchFromGitHub { owner = "davidshepherd7"; repo = "electric-operator"; - rev = "96a3696851abc47d369f8985bf6f790e68a4a9aa"; - sha256 = "1ji6rdbqwk8j0nl6yk3rdqrpgxir99lj9pf6i9rx55l63qyrdfc4"; + rev = "16df9e16da8efe25d410ba17165d7f5c1ad4e043"; + sha256 = "010zr6dgix6bf8xshs8kascpzcrg83vqd1w71qin9anw6rf3z4d4"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/906cdf8647524bb76f644373cf8b65397d9053a5/recipes/electric-operator"; @@ -7267,15 +7695,36 @@ license = lib.licenses.free; }; }) {}; + elf-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "elf-mode"; + version = "0.1.0"; + src = fetchFromGitHub { + owner = "abo-abo"; + repo = "elf-mode"; + rev = "cd280d683cd3341d8bb31af6db7e3b74a133e6ab"; + sha256 = "0cbvjbk2893ag1iy8ggixpirfiyhssm7fii96hb9jqdz874cdl0k"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/368d1ff91f310e5ffe68f872ab0a91584a41a66e/recipes/elf-mode"; + sha256 = "0xwpaqg4mc0a0d8a4dxbd1sqzvi01gfhwr75f7i3sjzx0fj8vcwd"; + name = "elf-mode"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/elf-mode"; + license = lib.licenses.free; + }; + }) {}; elfeed = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "elfeed"; - version = "2.0.0"; + version = "2.0.1"; src = fetchFromGitHub { owner = "skeeto"; repo = "elfeed"; - rev = "0fd363d09150ad101edafca667dac82ffaec5adf"; - sha256 = "1a95ncphwvg5f1q8jbjg2hhalggms8yd59wp1g6jmz1kjfhawbj0"; + rev = "a3b2acd760385a800f04652f15dfd0e7f825dfef"; + sha256 = "0a9xvfnp3pwh0q1k05q8xnray53a1aihqbxnnrfdfxx0s8rah90i"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/407ae027fcec444622c2a822074b95996df9e6af/recipes/elfeed"; @@ -7291,12 +7740,12 @@ elfeed-web = callPackage ({ elfeed, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, simple-httpd }: melpaBuild { pname = "elfeed-web"; - version = "2.0.0"; + version = "2.0.1"; src = fetchFromGitHub { owner = "skeeto"; repo = "elfeed"; - rev = "0fd363d09150ad101edafca667dac82ffaec5adf"; - sha256 = "1a95ncphwvg5f1q8jbjg2hhalggms8yd59wp1g6jmz1kjfhawbj0"; + rev = "a3b2acd760385a800f04652f15dfd0e7f825dfef"; + sha256 = "0a9xvfnp3pwh0q1k05q8xnray53a1aihqbxnnrfdfxx0s8rah90i"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/62459d16ee44d5fcf170c0ebc981ca2c7d4672f2/recipes/elfeed-web"; @@ -7309,6 +7758,27 @@ license = lib.licenses.free; }; }) {}; + elisp-refs = callPackage ({ dash, f, fetchFromGitHub, fetchurl, lib, list-utils, loop, melpaBuild, s }: + melpaBuild { + pname = "elisp-refs"; + version = "1.1"; + src = fetchFromGitHub { + owner = "Wilfred"; + repo = "refs.el"; + rev = "e309c87a91012305ecb37124a758609c64e0ca4a"; + sha256 = "0wvz5ysaj2dnqhkp5xdqsm45fxwlhym5j8rn4g0h7g7zwdi3c6c6"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/60891099e241ebd32d39bdcfe4953529a5a3263e/recipes/elisp-refs"; + sha256 = "16h7dccmzvmap3knnwhjq79wm82xm3whria70vq5msl2y252f6cx"; + name = "elisp-refs"; + }; + packageRequires = [ dash f list-utils loop s ]; + meta = { + homepage = "https://melpa.org/#/elisp-refs"; + license = lib.licenses.free; + }; + }) {}; elisp-slime-nav = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "elisp-slime-nav"; @@ -7375,12 +7845,12 @@ elm-mode = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild, s }: melpaBuild { pname = "elm-mode"; - version = "0.17.0"; + version = "0.20.3"; src = fetchFromGitHub { owner = "jcollard"; repo = "elm-mode"; - rev = "3112ff7964b596022de94c12b4676c6ca7a69c80"; - sha256 = "1n6gp3c4b3ryprw7hxd7447gkgjafxnlbfg75mjm96vfgxkb7abx"; + rev = "29f50a940113d793a21998f3bb414fdd9b0c5daa"; + sha256 = "02c7xl9w81140l7p9kywr5qwsdyv92nxdhzqcxjk0r09x7s0cvsk"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5d1a4d786b137f61ed3a1dd4ec236d0db120e571/recipes/elm-mode"; @@ -7393,22 +7863,22 @@ license = lib.licenses.free; }; }) {}; - elmacro = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: + elmacro = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "elmacro"; - version = "0.3.0"; + version = "1.0.1"; src = fetchFromGitHub { owner = "Silex"; repo = "elmacro"; - rev = "20a0d1e220984ec6079dda9419b3bb44a88edae3"; - sha256 = "0l2iincskpks9yvj3y9zh1b48xli1q39wybr5n96rys5gv0drc9h"; + rev = "d712c8efc01646117097e061e1b14933b822b9c7"; + sha256 = "00fry1gjsrx4dv9d9rjf5pd8w3709mn0052al0l948vhwz4wys9z"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/566cc5bc0f71c5a4191ad93b917dc268f6e1a2da/recipes/elmacro"; sha256 = "0644rgwawivrq1shsjx1x2p53z7jgr6bxqgn2smzql8pp6azy7xz"; name = "elmacro"; }; - packageRequires = [ cl-lib dash s ]; + packageRequires = [ dash s ]; meta = { homepage = "https://melpa.org/#/elmacro"; license = lib.licenses.free; @@ -7459,12 +7929,12 @@ elpa-clone = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "elpa-clone"; - version = "0.0.3"; + version = "0.0.4"; src = fetchFromGitHub { owner = "dochang"; repo = "elpa-clone"; - rev = "77e45f3ac7de504ff65e17dfd52bfde7bdfc78f2"; - sha256 = "09q54j0n52493smhdrngn2isnifvy0x3s6vlicllkm8qykr06z9v"; + rev = "8d0827b03b08eb4844e2b8465c27d5aa0e12101d"; + sha256 = "1ik2k6ngzg3znfp4a36f7m5ca6p3iivfb7w280w3gm5x1ja8as2a"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/11861edd9c7f9deebd44fd1f8ef648e7a04caf2b/recipes/elpa-clone"; @@ -7480,12 +7950,12 @@ elpa-mirror = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "elpa-mirror"; - version = "1.2.2"; + version = "2.1.0"; src = fetchFromGitHub { owner = "redguardtoo"; repo = "elpa-mirror"; - rev = "940c17f757ddaf9c076503af2bb15d04f299692c"; - sha256 = "0h2xhys3cc9z61ax0ymg5fbsjg6192hwdvfhgmyq7vwibi402r1f"; + rev = "9cf096448b69c795b20aab89557e9add6029b13c"; + sha256 = "05la1v1p7wyrjflh8lv3pwr7ywm2rvvzhh8phr24w31jfs2kp4gf"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d64ce7042c45f29fb394be25ce415912182bac8b/recipes/elpa-mirror"; @@ -7501,16 +7971,16 @@ elpy = callPackage ({ company, fetchFromGitHub, fetchurl, find-file-in-project, highlight-indentation, lib, melpaBuild, pyvenv, yasnippet }: melpaBuild { pname = "elpy"; - version = "1.12.0"; + version = "1.13.0"; src = fetchFromGitHub { owner = "jorgenschaefer"; repo = "elpy"; - rev = "c9487a14e9cb21b531660de7e648086e270ab08f"; - sha256 = "1x4asq5zqv8wbp034gzcrza9y2nbbwx1nrwi4jnwak0x0yn3c2dj"; + rev = "5c900ff6b5524e216247f52ed4085734d815dacb"; + sha256 = "1h0k3nvxy84wjsiiwpxd8xnwnvbiqld26ndv6wmxqpwsjav186ik"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/a36daf2b034653cd73ee2db2bc30df2a5be6f3d1/recipes/elpy"; - sha256 = "0n802bh7jj9zgz84xjrxvy33jl6s3hj5dqxafyfr87fank97hb6d"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/1d8fcd8745bb15402c9f3b6f4573ea151415237a/recipes/elpy"; + sha256 = "1ri3dwnkw005plj1g5grmmq9np41sqk4s2v18pwsvr18ysnq6nnr"; name = "elpy"; }; packageRequires = [ @@ -7525,6 +7995,27 @@ license = lib.licenses.free; }; }) {}; + elscreen-fr = callPackage ({ elscreen, fetchFromGitHub, fetchurl, lib, melpaBuild, seq }: + melpaBuild { + pname = "elscreen-fr"; + version = "0.0.3"; + src = fetchFromGitHub { + owner = "rocher"; + repo = "elscreen-fr"; + rev = "b9c11f80d277086d5d5bf88623e15fc7adbbbe3c"; + sha256 = "1dz8jqd2agh06hya59vbybrmgyhyz2rk6c9panrm49w37v0bwksb"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/18730986df5eb9816eec7ad479abe1e338d3c66f/recipes/elscreen-fr"; + sha256 = "1kmga1zz9mb3hxd2sxja2vz45pix5a52yl0g9z4vmak32x9rgqrm"; + name = "elscreen-fr"; + }; + packageRequires = [ elscreen seq ]; + meta = { + homepage = "https://melpa.org/#/elscreen-fr"; + license = lib.licenses.free; + }; + }) {}; elscreen-mew = callPackage ({ elscreen, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "elscreen-mew"; @@ -7591,12 +8082,12 @@ elx = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "elx"; - version = "1.0.0"; + version = "1.0.1"; src = fetchFromGitHub { owner = "tarsius"; repo = "elx"; - rev = "0f80390bcf2a1dd9a3ba609e92f50a4a3463036e"; - sha256 = "07k8kq444ki7pxbz3vnrwqgycm9hfcdxgsnvf7qihqvzs2y1qm3d"; + rev = "84c9cd5721be9594de743330e7abcec092d2838c"; + sha256 = "0z2xgy8n3gwh71129pk53nrm13h2x51n61vz7xjqmhm6c11vgrq4"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/91430562ecea439af020e96405ec3f21d768cf9f/recipes/elx"; @@ -7675,12 +8166,12 @@ emacsql = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, finalize, lib, melpaBuild }: melpaBuild { pname = "emacsql"; - version = "2.0.1"; + version = "2.0.2"; src = fetchFromGitHub { owner = "skeeto"; repo = "emacsql"; - rev = "176cf10063a158a114f2308f0ec0aea299ad5d24"; - sha256 = "1wc5hkirza6b4c0v557ihzbffvxy97pfcn5samcggbmrir5kpshw"; + rev = "c93f52159fc5117f2ba1fbdc16876ae4d8edf12b"; + sha256 = "0z9pw9fgaiqb0dcz908qfrsdc3px8biiylsrmfi9bgi7kmc3z674"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9cc47c05fb0d282531c9560252090586e9f6196e/recipes/emacsql"; @@ -7696,12 +8187,12 @@ emacsql-mysql = callPackage ({ cl-lib ? null, emacs, emacsql, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "emacsql-mysql"; - version = "2.0.1"; + version = "2.0.2"; src = fetchFromGitHub { owner = "skeeto"; repo = "emacsql"; - rev = "176cf10063a158a114f2308f0ec0aea299ad5d24"; - sha256 = "1wc5hkirza6b4c0v557ihzbffvxy97pfcn5samcggbmrir5kpshw"; + rev = "c93f52159fc5117f2ba1fbdc16876ae4d8edf12b"; + sha256 = "0z9pw9fgaiqb0dcz908qfrsdc3px8biiylsrmfi9bgi7kmc3z674"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9cc47c05fb0d282531c9560252090586e9f6196e/recipes/emacsql-mysql"; @@ -7717,12 +8208,12 @@ emacsql-psql = callPackage ({ cl-lib ? null, emacs, emacsql, fetchFromGitHub, fetchurl, lib, melpaBuild, pg }: melpaBuild { pname = "emacsql-psql"; - version = "2.0.1"; + version = "2.0.2"; src = fetchFromGitHub { owner = "skeeto"; repo = "emacsql"; - rev = "176cf10063a158a114f2308f0ec0aea299ad5d24"; - sha256 = "1wc5hkirza6b4c0v557ihzbffvxy97pfcn5samcggbmrir5kpshw"; + rev = "c93f52159fc5117f2ba1fbdc16876ae4d8edf12b"; + sha256 = "0z9pw9fgaiqb0dcz908qfrsdc3px8biiylsrmfi9bgi7kmc3z674"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9cc47c05fb0d282531c9560252090586e9f6196e/recipes/emacsql-psql"; @@ -7738,12 +8229,12 @@ emacsql-sqlite = callPackage ({ cl-lib ? null, emacs, emacsql, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "emacsql-sqlite"; - version = "2.0.1"; + version = "2.0.2"; src = fetchFromGitHub { owner = "skeeto"; repo = "emacsql"; - rev = "176cf10063a158a114f2308f0ec0aea299ad5d24"; - sha256 = "1wc5hkirza6b4c0v557ihzbffvxy97pfcn5samcggbmrir5kpshw"; + rev = "c93f52159fc5117f2ba1fbdc16876ae4d8edf12b"; + sha256 = "0z9pw9fgaiqb0dcz908qfrsdc3px8biiylsrmfi9bgi7kmc3z674"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9cc47c05fb0d282531c9560252090586e9f6196e/recipes/emacsql-sqlite"; @@ -7777,22 +8268,22 @@ license = lib.licenses.free; }; }) {}; - emamux = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + emamux = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "emamux"; - version = "0.13"; + version = "0.14"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-emamux"; - rev = "53177ca59ed2824cc0837677af5a13a580691a71"; - sha256 = "1a9925n0jcgxcgiz2kmh9zbb1rg9039rlrbr9fr80by9znfwmy67"; + rev = "573dd1cf18584a1fd240efb16c7726b6fd790b73"; + sha256 = "19y69qw79miim9cz5ji54gwspjkcp9g2c1xr5s7jj2fiabnxax6b"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6de1ed3dfccb9f7e7b8586e8334af472a4988840/recipes/emamux"; sha256 = "1pg0gzi8rn0yafssrsiqdyj5dbfy984srq1r4dpp8p3bi3n0fkfz"; name = "emamux"; }; - packageRequires = [ cl-lib emacs ]; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/emamux"; license = lib.licenses.free; @@ -7883,12 +8374,12 @@ emms-player-mpv = callPackage ({ emms, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "emms-player-mpv"; - version = "0.0.10"; + version = "0.0.11"; src = fetchFromGitHub { owner = "dochang"; repo = "emms-player-mpv"; - rev = "d3e3bace6b648f5b60d833a72a50603545102934"; - sha256 = "1kmkza1x1xajdswdmvxasglpr8fl9vr1pi3yhi7a9cqqa5s1y2ah"; + rev = "ce142304d1fe6b096b9b984e40e55c8cc54217c1"; + sha256 = "1s8jmkcr11fp93hmyxq7c781lx7krc5xsk99ar0h50v2hpnmzgbb"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9679cb8d4b3b9dce1e0bff16647ea3f3e02c4189/recipes/emms-player-mpv"; @@ -7904,12 +8395,12 @@ emms-player-simple-mpv = callPackage ({ cl-lib ? null, emacs, emms, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "emms-player-simple-mpv"; - version = "0.3.0"; + version = "0.4.0"; src = fetchFromGitHub { owner = "momomo5717"; repo = "emms-player-simple-mpv"; - rev = "ae4c0032d4d2d0b069ee147b19f962e6a8a73c79"; - sha256 = "15bb8fp2lwr5brfrsjwa47yvja5g2wyaac5a4sh5rn734s64x2sq"; + rev = "bcc056364df5f405716006a8b7bb90102a57f62f"; + sha256 = "0kz31qsn3nrpi8r31nlxlkkkah0qcdkq9a9i9ypv4ky7pvnzx6m5"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f4eaa866ba6b0ad2b590fb15c30f81b9fdbef6dd/recipes/emms-player-simple-mpv"; @@ -7988,12 +8479,12 @@ emojify = callPackage ({ emacs, fetchFromGitHub, fetchurl, ht, lib, melpaBuild, seq }: melpaBuild { pname = "emojify"; - version = "0.3"; + version = "0.4"; src = fetchFromGitHub { owner = "iqbalansari"; repo = "emacs-emojify"; - rev = "fec788f09ab1c131b89f296ebd3e73df97e96cfe"; - sha256 = "0nrf6p4h66i17nz850kpdrnk5h5ra4l3icjjrq34sxvmsssp6zhp"; + rev = "4eccfc7ce43d4dfd3cf65ea86b2975abb4b4e9ad"; + sha256 = "1n5pmcd6d71pcgjwkqnmh6midcyp7ahc5yry3r38my3shrwirqc2"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/488d2751b5fd3bf00f5a6f0545530f44563b86d7/recipes/emojify"; @@ -8040,12 +8531,12 @@ engine-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "engine-mode"; - version = "1.0.0"; + version = "2.0.0"; src = fetchFromGitHub { owner = "hrs"; repo = "engine-mode"; - rev = "9e8b10b029f63bc0399f8975a28247eaa78dfcbc"; - sha256 = "1dsa3r39ip20ddbw0m9vq8z3r4ahrxvb37adyqi4mbdgyr6fq6sw"; + rev = "243d04691475b47a4453ad7106d8268ca14d9f28"; + sha256 = "02xas46nl28mascqsyr1zcd4hn15bh0fjv2xlxv1kmrj0pis94ml"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ea1b5dfb6628cf17e77369f25341835aad425f54/recipes/engine-mode"; @@ -8153,12 +8644,12 @@ eopengrok = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, magit, melpaBuild, s }: melpaBuild { pname = "eopengrok"; - version = "0.3.0"; + version = "0.4.0"; src = fetchFromGitHub { owner = "youngker"; repo = "eopengrok.el"; - rev = "30154a083b2fd8cbb9336d0d2134f790efd4163b"; - sha256 = "1yn9jn6jl6rmknj50g18z5yvpa1d8mzzx3j1pfdwfn36ak4nc9ba"; + rev = "0bf07c636f8d29a98e9776243ec9496875ddff51"; + sha256 = "0pmawjfyihqygqz7y0nvyrs6jcvckqzkq9k6z6yanpvkd2x5g13x"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2b87ea158a6fdbc6b4e40fd7c0f6814d135f8545/recipes/eopengrok"; @@ -8192,19 +8683,19 @@ license = lib.licenses.free; }; }) {}; - epkg = callPackage ({ closql, dash, emacs, fetchFromGitLab, fetchurl, lib, melpaBuild }: + epkg = callPackage ({ closql, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "epkg"; - version = "1.0.1"; - src = fetchFromGitLab { - owner = "tarsius"; + version = "2.1.0"; + src = fetchFromGitHub { + owner = "emacscollective"; repo = "epkg"; - rev = "17553458c01563170be9c74db37bcc359a4702d4"; - sha256 = "18am0nc2kjxbnkls7dl9j47cynwiiafx8w6rqa4d9dyx7khl2rmp"; + rev = "6e1d989fbfa357a7c268ea30fe8b3e3cefafc36d"; + sha256 = "0avlmqcbm07692ir5z04gy4klhyan3h25ni4l4k4p0dszjsqmdi0"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/c97468a71910ba6709792c060c1fb714004e24da/recipes/epkg"; - sha256 = "0vc1g29rfmgd2ks4lbz4599rbgcax7rgdva53ahhvp6say8fy22q"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/2df16abf56e53d4a1cc267a78797419520ff8a1c/recipes/epkg"; + sha256 = "0vvkjjaffvwvsvld3c6hwd18icmp2lc7f9yqvclifpadi98dhpww"; name = "epkg"; }; packageRequires = [ closql dash emacs ]; @@ -8255,22 +8746,22 @@ license = lib.licenses.free; }; }) {}; - erc-crypt = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + erc-crypt = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "erc-crypt"; - version = "1.0"; + version = "1.6"; src = fetchFromGitHub { owner = "atomontage"; repo = "erc-crypt"; - rev = "1573189240d8b58e65385414d9a9514238c77805"; - sha256 = "1xw56sir6gkr0p9g4s6p4qc0rajnl6ifbzrky07j28y9vsa59nsz"; + rev = "731f9264a5bf08a8fc0b5ce69e72058c86f873a5"; + sha256 = "13jpq5ws5dm8fyjrskk4icxwz8k5wgh396cc8f8wxrjna4wb843w"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a1a71b46c0370d2ed25aa3f39983048a04576ad5/recipes/erc-crypt"; sha256 = "1mzzqcxjnll4d9r9n5z80zfb3ywkd8jx6b49g02vwf1iak9h7hv3"; name = "erc-crypt"; }; - packageRequires = []; + packageRequires = [ cl-lib ]; meta = { homepage = "https://melpa.org/#/erc-crypt"; license = lib.licenses.free; @@ -8282,8 +8773,8 @@ version = "0.1"; src = fetchhg { url = "https://bitbucket.com/seanfarley/erc-hipchatify"; - rev = "b237cf8118fd"; - sha256 = "11a64rvhd88val6vg9l1d5j3zdjd0bbbwcqilj0wp6rbn57xy0w8"; + rev = "dbb74dd91c5a"; + sha256 = "0m72jwgp9zqm1aphg7xm3pzj2xvavqfpdx66lny8pvfv8lph93lj"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b60e01e7064ce486fdac3d1b39fd4a1296b0dac5/recipes/erc-hipchatify"; @@ -8401,22 +8892,22 @@ license = lib.licenses.free; }; }) {}; - ergoemacs-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, undo-tree }: + ergoemacs-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, undo-tree }: melpaBuild { pname = "ergoemacs-mode"; - version = "5.14.7.3.1"; + version = "5.16.10.12"; src = fetchFromGitHub { owner = "ergoemacs"; repo = "ergoemacs-mode"; - rev = "295ce7a4a5341d9e144a06e91befeebfac1239d9"; - sha256 = "19m6chwc2awbsk5z03q1yhq84m481pff2609a8bxymcvm6yaamvf"; + rev = "ac70b2563fb6e3d69ea382fddc87b5721c20c292"; + sha256 = "0ydxyylijdd6da4n9by441352shphrpfyk2631ld5aq3gz27z9gi"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/02920517987c7fc698de9952cbb09dfd41517c40/recipes/ergoemacs-mode"; sha256 = "0h99m0n3q41lw5fm33pc1405lrxyc8rzghnc6c7j4a6gr1d82s62"; name = "ergoemacs-mode"; }; - packageRequires = [ emacs undo-tree ]; + packageRequires = [ cl-lib emacs undo-tree ]; meta = { homepage = "https://melpa.org/#/ergoemacs-mode"; license = lib.licenses.free; @@ -8425,16 +8916,16 @@ erlang = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "erlang"; - version = "19.0.5"; + version = "19.2"; src = fetchFromGitHub { owner = "erlang"; repo = "otp"; - rev = "71894a879d6254693791585246ce340dd7414b82"; - sha256 = "0s0s94jsqqpny5z2qdbb62h45cz8lh2if65q26jlcgbyz2729j77"; + rev = "3473ecd83a7bbe7e0bebb865f25dddb93e3bf10f"; + sha256 = "06pr4ydrqpp1skx85zjb1an4kvzv6vacb771vy71k54j7w6lh9hk"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/04867a574773e8794335a2664d4f5e8b243f3ec9/recipes/erlang"; - sha256 = "1gmrdkfanivb9l5lmkl0853snlhl62w34537r82w11z2fbk9lxhc"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/d9cd526f43981e0826af59cdc4bb702f644781d9/recipes/erlang"; + sha256 = "1cs768xxbyrr78ln50k4yknmpbcc1iplws3k07r0gx5f3ca73iaq"; name = "erlang"; }; packageRequires = []; @@ -8631,36 +9122,57 @@ license = lib.licenses.free; }; }) {}; - eshell-git-prompt = callPackage ({ cl-lib ? null, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: + eshell-git-prompt = callPackage ({ cl-lib ? null, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "eshell-git-prompt"; - version = "0.1"; + version = "0.1.1"; src = fetchFromGitHub { owner = "xuchunyang"; repo = "eshell-git-prompt"; - rev = "826d2ebdec0808493955a4544dc91b575f6c4ecf"; - sha256 = "00gaq8vz8vnhh0j2i66mp763hm3dfxkxz3j782nsfml81sngkww0"; + rev = "fb56e851c1baac68249c34043bd5db9c9420141e"; + sha256 = "08mhjps17w3kfmmbdws1lqzphr2ayl160i0ckd4552jdyzd28vvs"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5272280b19579c302ba41b53c77e42bc5e8ccbda/recipes/eshell-git-prompt"; sha256 = "0a8pyppqvnavvb8rwsjxagb76hra9zhs5gwa0ylyznmql83f8w8s"; name = "eshell-git-prompt"; }; - packageRequires = [ cl-lib dash emacs s ]; + packageRequires = [ cl-lib dash emacs ]; meta = { homepage = "https://melpa.org/#/eshell-git-prompt"; license = lib.licenses.free; }; }) {}; + eshell-up = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "eshell-up"; + version = "0.0.3"; + src = fetchFromGitHub { + owner = "peterwvj"; + repo = "eshell-up"; + rev = "653121392acd607d5dfbca0832927e06806a2d39"; + sha256 = "05mfwp8zira7p2ip1rmqa08arlbkv7w1mbx7s5saj655scg7jaq3"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/4d033b20d047db8ddd42bdfa2fcf190de559f706/recipes/eshell-up"; + sha256 = "0v26dqaszdg57brg8sls9ddmfwxzf98wkp471q1cqw75ss4999jd"; + name = "eshell-up"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/eshell-up"; + license = lib.licenses.free; + }; + }) {}; eshell-z = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "eshell-z"; - version = "0.2.1"; + version = "0.3.1"; src = fetchFromGitHub { owner = "xuchunyang"; repo = "eshell-z"; - rev = "cc9a4b505953a9b56222896a6f973145aeb154b9"; - sha256 = "179xqh0rs8w3d03gygg9sy4qp5xqgfgl4c0ycrknip9zrnbmph4i"; + rev = "033924f138f19f22a30c1845e728691e5615fa38"; + sha256 = "0kp9yw56l8bl4zqganclnpf6x5g2rmcf23265n8cp24j6d7c7r4h"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8079cecaa59ad2ef22812960838123effc46a9b3/recipes/eshell-z"; @@ -8697,12 +9209,12 @@ ess = callPackage ({ fetchFromGitHub, fetchurl, julia-mode, lib, melpaBuild }: melpaBuild { pname = "ess"; - version = "16.4"; + version = "16.10"; src = fetchFromGitHub { owner = "emacs-ess"; repo = "ESS"; - rev = "81d34db66301e78e59ea79e4ae7b9600f1378641"; - sha256 = "039iqrxd8nc52n2j9qjhfmb5f276h2ikvn2lagjbzk15mvg26va4"; + rev = "abacd7538e1bbfdd6ef2b5f11d4f5f4cc74782ee"; + sha256 = "0fbprkjb9cjkjyc1yxn9b1znc4w1im9akl4f9ma2ddgl8fzmi7p7"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/12997b9e2407d782b3d2fcd2843f7c8b22442c0a/recipes/ess"; @@ -8844,12 +9356,12 @@ eval-in-repl = callPackage ({ ace-window, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, paredit }: melpaBuild { pname = "eval-in-repl"; - version = "0.9.2"; + version = "0.9.4"; src = fetchFromGitHub { owner = "kaz-yos"; repo = "eval-in-repl"; - rev = "2b5d1bee767de4f21b14cefd7ce310f862226bd7"; - sha256 = "077rj7yj6laxyhcsmrmlpg438962jv0fm2yiqx6i365fbgyx0hck"; + rev = "674873139ebde439fbeecaf0fb217d54f470bc14"; + sha256 = "1fzsq6fkkrsxg6mimrnls0kn59rq7w332b94gg04j0khl61s1v1s"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0bee5fb7a7874dd20babd1de7f216c5bda3e0115/recipes/eval-in-repl"; @@ -8969,12 +9481,12 @@ evil-colemak-basics = callPackage ({ emacs, evil, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "evil-colemak-basics"; - version = "1.0.0"; + version = "2.0.0"; src = fetchFromGitHub { owner = "wbolster"; repo = "evil-colemak-basics"; - rev = "4be54df939035daa039e323a95c052f7c99b6f51"; - sha256 = "1n7nw5mzpwzp8r791qsis2f2ak5f0m2d129r0wmbyx9zykx5rm7v"; + rev = "f976bda20098c43be1418c36520a57467c8c6c13"; + sha256 = "18f1k4z7lkh237sz4p1xz4sxzs41ywmvd6dj7k9b6d9dscv3yxws"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/945417d19faf492fb678aee3ba692d14e7518d85/recipes/evil-colemak-basics"; @@ -9134,36 +9646,57 @@ license = lib.licenses.free; }; }) {}; - evil-matchit = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + evil-matchit = callPackage ({ evil, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "evil-matchit"; - version = "2.1.4"; + version = "2.2.1"; src = fetchFromGitHub { owner = "redguardtoo"; repo = "evil-matchit"; - rev = "de6ce21e1e24b7a0370ca3a6ce83b529f772c8db"; - sha256 = "0dhk8ajn5b0y4qla4jak76zxqgiai9fcd1hpfh98pmsjy1jq5ll4"; + rev = "e9f77f7d6a14434a8ca3280d721b96c0984fa7eb"; + sha256 = "11mhgw0xa8kn73svgvzpmvvnkj2ja4mxs030vlzkh4scvlfa98dl"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/aeab4a998bffbc784e8fb23927d348540baf9951/recipes/evil-matchit"; sha256 = "01z69n20qs4gngd28ry4kn825cax5km9hn96i87yrvq7nfa64swq"; name = "evil-matchit"; }; - packageRequires = []; + packageRequires = [ evil ]; meta = { homepage = "https://melpa.org/#/evil-matchit"; license = lib.licenses.free; }; }) {}; + evil-mc = callPackage ({ cl-lib ? null, emacs, evil, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "evil-mc"; + version = "0.0.3"; + src = fetchFromGitHub { + owner = "gabesoft"; + repo = "evil-mc"; + rev = "be2259b8cedd62011b25ddbcc1774bbbe9a66c61"; + sha256 = "0p435ykkq41nksd40qczlhz6kvs2zpkxch661wy0w93wffwnq3b9"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/96770d778a03ab012fb82a3a0122983db6f9b0c4/recipes/evil-mc"; + sha256 = "0cq4xg6svb5gz4ra607wy768as2igla4h1xcrfnxldknk476fqqs"; + name = "evil-mc"; + }; + packageRequires = [ cl-lib emacs evil ]; + meta = { + homepage = "https://melpa.org/#/evil-mc"; + license = lib.licenses.free; + }; + }) {}; evil-multiedit = callPackage ({ cl-lib ? null, emacs, evil, fetchFromGitHub, fetchurl, iedit, lib, melpaBuild }: melpaBuild { pname = "evil-multiedit"; - version = "1.3.0"; + version = "1.3.3"; src = fetchFromGitHub { owner = "hlissner"; repo = "evil-multiedit"; - rev = "a14dbfdd41d2baa789fbfbbf3b8148056c11b969"; - sha256 = "118a9bkj2i95xi4axa39mwm3nh519jzznzahbvlncf2279v8mrzr"; + rev = "5f263a9388dd3593b5acefe9f523c819bd3b338f"; + sha256 = "0bsdyy5jw8adj26p85831n4f34d0sv4rrv9xlhjqkzx9gsr4h7d1"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/997f5a6999d1add57fae33ba8eb3e3bc60d7bb56/recipes/evil-multiedit"; @@ -9179,12 +9712,12 @@ evil-nerd-commenter = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "evil-nerd-commenter"; - version = "2.3"; + version = "2.3.1"; src = fetchFromGitHub { owner = "redguardtoo"; repo = "evil-nerd-commenter"; - rev = "981c80bb53384f93987d03c1b307767f2a68791a"; - sha256 = "16wn74690572n3xpxvnvka524fzswxxni3dy98bwpvsqj6yx2ds5"; + rev = "54c618aada776bfda0742819ff9e91845a91e095"; + sha256 = "04iyr6ys453pyfvif91qnhn6xyhl4z4cz2apj6vga61pa8lc70da"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a3e1ff69e7cc95a5b5d628524ad836833f4ee736/recipes/evil-nerd-commenter"; @@ -9218,6 +9751,27 @@ license = lib.licenses.free; }; }) {}; + evil-opener = callPackage ({ evil, fetchFromGitHub, fetchurl, lib, melpaBuild, opener }: + melpaBuild { + pname = "evil-opener"; + version = "0.2.2"; + src = fetchFromGitHub { + owner = "0robustus1"; + repo = "opener.el"; + rev = "c384f67278046fdcd220275fdd212ab85672cbeb"; + sha256 = "0gci909a2rbx5i8dyzyrcddwdic7nvpk6y6djvn521yaag4sq87h"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/da8d4e5bf23985632f993336b9183fe9f480addc/recipes/evil-opener"; + sha256 = "08vcf9i0rplw2p6gjl7zzrc7kxdl5yv2rggj2ihgdnnfpc4sl33h"; + name = "evil-opener"; + }; + packageRequires = [ evil opener ]; + meta = { + homepage = "https://melpa.org/#/evil-opener"; + license = lib.licenses.free; + }; + }) {}; evil-org = callPackage ({ evil, fetchFromGitHub, fetchurl, lib, melpaBuild, org }: melpaBuild { pname = "evil-org"; @@ -9536,12 +10090,12 @@ expand-region = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "expand-region"; - version = "0.10.0"; + version = "0.11.0"; src = fetchFromGitHub { owner = "magnars"; repo = "expand-region.el"; - rev = "90c4e959ac8bf0bbd857dd679f38a121c592bf7a"; - sha256 = "0rvkhjfkhamr3ys9iarblfwvwq7n4wishdjgnwj1lx7m80h1hzbg"; + rev = "0bc14fc7fbbcca5da4fdd9695cfd7cbd36eb3b96"; + sha256 = "0h40dhc3kn8fq86xnwi5lz7ql8my8737y7wkqr897p15y90swr35"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/expand-region"; @@ -9599,12 +10153,12 @@ eyebrowse = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "eyebrowse"; - version = "0.7.0"; + version = "0.7.4"; src = fetchFromGitHub { owner = "wasamasa"; repo = "eyebrowse"; - rev = "eb7dac9dba845cd73b57b9046761804969adec11"; - sha256 = "0ynd4mq2vckyczfblw3r92lcbn4518jh3mzv5r11drlra9sdjnl8"; + rev = "e7c3de9c8b3197f3a310d8d9259761fc70dfa3ef"; + sha256 = "0d2vc50m2wr6f0fd04xm3bzca25im3ka57y7lg6p0bn5fp6a62vl"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/90d052bfc0b94cf177e33b2ffc01a45d254fc1b1/recipes/eyebrowse"; @@ -9620,12 +10174,12 @@ f = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "f"; - version = "0.18.2"; + version = "0.19.0"; src = fetchFromGitHub { owner = "rejeep"; repo = "f.el"; - rev = "6f80f25ef87fb9df58cbc86faa2a2f037dcc2e7e"; - sha256 = "095ka87144jms5gi9spjcmkq346a56kzzy3in6naaha0djd4d607"; + rev = "541cb518afa5010029492847292c248f88b3ea42"; + sha256 = "1j6gc2pp5w3iwyjm4h3d0ahzs0ac3pah8lzfhpg4nkibl0nc1bcg"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/22ddcf536af597b688d8edb70b3636ed6c265bf5/recipes/f"; @@ -9809,12 +10363,12 @@ fill-column-indicator = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "fill-column-indicator"; - version = "1.81"; + version = "1.87"; src = fetchFromGitHub { owner = "alpaker"; repo = "Fill-Column-Indicator"; - rev = "5cbc077083775d4719a294455a8a8a53bb3151f8"; - sha256 = "0fghhy5xqsdwal4fwlr6hxr5kpnfw71q79mxpp9db59ldnj9f5y9"; + rev = "0e755319451dd9c6c99c2a2ef82c890ba93343b6"; + sha256 = "0gbqspqn4y7f2fwqq8210b6k5q22c0zr7b4ws8qgz9swav8g3vrq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4ea0c00a7784621fcca0391a9c8ea85e9dd43852/recipes/fill-column-indicator"; @@ -9872,12 +10426,12 @@ find-file-in-project = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }: melpaBuild { pname = "find-file-in-project"; - version = "5.2.4"; + version = "5.2.7"; src = fetchFromGitHub { owner = "technomancy"; repo = "find-file-in-project"; - rev = "b69411d15902d9d1cbb0184885f726270de0b98c"; - sha256 = "1jlggfk9qx6gi8ifzvjn9hpbqgs8dc7hmss8aflnzf3gn4202svp"; + rev = "1ac2c0a717a1a0b70839625f2aaad2c18c21f729"; + sha256 = "0vmigmbr4fc36sahpf0bj65isa4sf1xhn1v2qvnidbx8qg18hm2f"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/find-file-in-project"; @@ -9977,12 +10531,12 @@ firestarter = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "firestarter"; - version = "0.2.4"; + version = "0.2.5"; src = fetchFromGitHub { owner = "wasamasa"; repo = "firestarter"; - rev = "4b7428477980e12578ebbbb121115696b352d6b2"; - sha256 = "0s8rml5xbskvnjpi8qp7vqflxhh5yis6zr6ay2bxmd2chjlhli55"; + rev = "4d6b106f325ac1802eabce3c8a7cd0a4c7a32864"; + sha256 = "13daz15v0sshl7lxcg1xcbpl64gklgh50pzk0qxmn5ygw7nlifn0"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5b046eb3b63220b937e1b70f633cb5424dc782a1/recipes/firestarter"; @@ -10173,12 +10727,12 @@ flycheck = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild, pkg-info, seq }: melpaBuild { pname = "flycheck"; - version = "29"; + version = "30"; src = fetchFromGitHub { owner = "flycheck"; repo = "flycheck"; - rev = "38f88da0b6531bde5a7fcb6ebad9c502503ebd51"; - sha256 = "0vxhj5lqaj0fmwr6i55gcap44b3x37kbsaz9qg48wjk6gxz91006"; + rev = "9c063965e893f0cc7c97fabb810ac41ec22f82fb"; + sha256 = "1vyncqicafmy9av2nsawywn56ay50zdyjba9r55vv11baklabg8w"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/649f9c3576e81409ae396606798035173cc6669f/recipes/flycheck"; @@ -10215,12 +10769,12 @@ flycheck-cask = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }: melpaBuild { pname = "flycheck-cask"; - version = "0.3"; + version = "0.4"; src = fetchFromGitHub { owner = "flycheck"; repo = "flycheck-cask"; - rev = "bad0b7bc25fdfc200ec383db852120aa0fcdba4b"; - sha256 = "1c3igqfd42dm42kfjm2q2xgr673vws10n9jn2jjlsk4g33brc7h4"; + rev = "b4667500dcf52f96ec7e0fa10dd07edf191cbf5b"; + sha256 = "1wm5saf29gw0gp0qq5glf9qq3iras99npc2rip7bsnn0czr2mscy"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/43224eef52bb316102fea524ba87b0e9e43dc6e6/recipes/flycheck-cask"; @@ -10443,6 +10997,27 @@ license = lib.licenses.free; }; }) {}; + flycheck-objc-clang = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }: + melpaBuild { + pname = "flycheck-objc-clang"; + version = "1.0.6"; + src = fetchFromGitHub { + owner = "GyazSquare"; + repo = "flycheck-objc-clang"; + rev = "11805f1d420e297db0346a6657f144b08e2ca556"; + sha256 = "1s9bk3k7ys79m2iww4yf1abfy01d08z9x9pfq8l045q0snsh64il"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/4ff4412f507371b93cfb85fc744e54110cd87338/recipes/flycheck-objc-clang"; + sha256 = "07mzwd04a69d7xpkjmhfmf95j69h6accnf9bb9br7jb1hi9vdalp"; + name = "flycheck-objc-clang"; + }; + packageRequires = [ emacs flycheck ]; + meta = { + homepage = "https://melpa.org/#/flycheck-objc-clang"; + license = lib.licenses.free; + }; + }) {}; flycheck-ocaml = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, let-alist, lib, melpaBuild, merlin }: melpaBuild { pname = "flycheck-ocaml"; @@ -10464,22 +11039,22 @@ license = lib.licenses.free; }; }) {}; - flycheck-package = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }: + flycheck-package = callPackage ({ fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, package-lint }: melpaBuild { pname = "flycheck-package"; - version = "0.8"; + version = "0.11"; src = fetchFromGitHub { owner = "purcell"; repo = "flycheck-package"; - rev = "ff93e8986a1021daf542c441c1fd50436ee83cba"; - sha256 = "0aa8cnh9f0f2zr2kkba2kf9djzjnsd51fzj8l578pbj016zdarwd"; + rev = "cf561bf9896d3e7b6bdcdb7801de6cb9f548b573"; + sha256 = "124ahlxpkcb5mcndmg8k8rdxx0piis6372zllxk6ywmgxz9mlgy1"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d17ec69c9f192625e74dfadf03b11d0d7dc575e7/recipes/flycheck-package"; sha256 = "0068kpia17rsgjdmzsjnw0n6x5z9jvfxggxlzkszvwsx73mvcs2d"; name = "flycheck-package"; }; - packageRequires = [ cl-lib emacs flycheck ]; + packageRequires = [ flycheck package-lint ]; meta = { homepage = "https://melpa.org/#/flycheck-package"; license = lib.licenses.free; @@ -10506,27 +11081,48 @@ license = lib.licenses.free; }; }) {}; - flycheck-pos-tip = callPackage ({ dash, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, pos-tip }: + flycheck-pos-tip = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, pos-tip }: melpaBuild { pname = "flycheck-pos-tip"; - version = "0.1"; + version = "0.3"; src = fetchFromGitHub { owner = "flycheck"; repo = "flycheck-pos-tip"; - rev = "0c2b31b615fa294f329f3cc387b464525ce3392d"; - sha256 = "0v23yc8znzjp44lrpfzqb4hc3psad14hsnvqcp8f1yyhgvdx35n8"; + rev = "3f1d5297fdff44a14ee624160eefdc678e2bd0bd"; + sha256 = "0qxx3xdgk5l793yg5ffbi5qhrxrf6akwdz93n2vibpkdjkvzyh2y"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/698843f75e17b9e6160487c0153f9d6b4af288f6/recipes/flycheck-pos-tip"; sha256 = "09i2jmwj8b915fhyczwdb1j7c551ggbva33avis77ga1s9v3nsf9"; name = "flycheck-pos-tip"; }; - packageRequires = [ dash flycheck pos-tip ]; + packageRequires = [ emacs flycheck pos-tip ]; meta = { homepage = "https://melpa.org/#/flycheck-pos-tip"; license = lib.licenses.free; }; }) {}; + flycheck-rebar3 = callPackage ({ fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }: + melpaBuild { + pname = "flycheck-rebar3"; + version = "1.1.0"; + src = fetchFromGitHub { + owner = "joedevivo"; + repo = "flycheck-rebar3"; + rev = "56a7c94857f0a0ea6a2a73c476a1a2faadc0f7c6"; + sha256 = "1pas49arri2vs9zm3r8jl4md74p5fpips3imc3s7nafbfrhh8ix3"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/2acff5eea030b91e457df8aa75243993c87ca00e/recipes/flycheck-rebar3"; + sha256 = "1ml9k61n5vy4c2q6c10q9j10ky0iqkinx21bl7hip1r6b5b1kmmc"; + name = "flycheck-rebar3"; + }; + packageRequires = [ flycheck ]; + meta = { + homepage = "https://melpa.org/#/flycheck-rebar3"; + license = lib.licenses.free; + }; + }) {}; flycheck-status-emoji = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, let-alist, lib, melpaBuild }: melpaBuild { pname = "flycheck-status-emoji"; @@ -10548,6 +11144,48 @@ license = lib.licenses.free; }; }) {}; + flycheck-swift = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }: + melpaBuild { + pname = "flycheck-swift"; + version = "2.0"; + src = fetchFromGitHub { + owner = "swift-emacs"; + repo = "flycheck-swift"; + rev = "822d1415eabfd464adc52063f9c44da1c87f0ff9"; + sha256 = "0gf7cxrsrf62kamm4xy1fi4v264szm6qk607ifg4bi5dmdc10b0k"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/fd99bea06079c4231363c37e3361bd9e5b1ba490/recipes/flycheck-swift"; + sha256 = "1s6rn4wyz9la6bw228jfxx8dxjyk5hf8r3vbmq0k808p772zki0z"; + name = "flycheck-swift"; + }; + packageRequires = [ emacs flycheck ]; + meta = { + homepage = "https://melpa.org/#/flycheck-swift"; + license = lib.licenses.free; + }; + }) {}; + flycheck-swift3 = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }: + melpaBuild { + pname = "flycheck-swift3"; + version = "1.0.8"; + src = fetchFromGitHub { + owner = "GyazSquare"; + repo = "flycheck-swift3"; + rev = "ae7b29111cb160774c317997902d7ef29cedd7d9"; + sha256 = "17s34rqxkirb88y8jzl3ybs7j3ylp9ckdfx3sqwfn0cyspnj5f1d"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/f1fb8c731c118327dc0bbb726e046fec46bcfb82/recipes/flycheck-swift3"; + sha256 = "05yfrn42svcvdkr8mx16ii8llhzn33lxdawksjqiqg671s6fgdpa"; + name = "flycheck-swift3"; + }; + packageRequires = [ emacs flycheck ]; + meta = { + homepage = "https://melpa.org/#/flycheck-swift3"; + license = lib.licenses.free; + }; + }) {}; flycheck-tip = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, popup }: melpaBuild { pname = "flycheck-tip"; @@ -10569,22 +11207,22 @@ license = lib.licenses.free; }; }) {}; - flycheck-ycmd = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, ycmd }: + flycheck-ycmd = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, flycheck, let-alist, lib, melpaBuild, ycmd }: melpaBuild { pname = "flycheck-ycmd"; - version = "0.9"; + version = "1.0"; src = fetchFromGitHub { owner = "abingham"; repo = "emacs-ycmd"; - rev = "8fb29b84d42c0aea71fe7db088b0b7a5a0c6b34c"; - sha256 = "094alkjrh285qy3sds8dkvxsbnaxnppz1ab0i5r575lyhli9lxia"; + rev = "be21ca7f807e70812b6fc0e0a4ea83b41723d815"; + sha256 = "1q30k8rhk3plknkk544h2dk48yqmxwh4xp3rq1lz8isc3580qwxx"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/332e5585963c04112a55894fe7151c380930b17c/recipes/flycheck-ycmd"; sha256 = "0m99ssynrqxgzf32d35n17iqyh1lyc6948inxpnwgcb98rfamchv"; name = "flycheck-ycmd"; }; - packageRequires = [ dash emacs flycheck ycmd ]; + packageRequires = [ dash emacs flycheck let-alist ycmd ]; meta = { homepage = "https://melpa.org/#/flycheck-ycmd"; license = lib.licenses.free; @@ -10950,12 +11588,12 @@ flyspell-correct = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "flyspell-correct"; - version = "0.2"; + version = "0.4"; src = fetchFromGitHub { owner = "d12frosted"; repo = "flyspell-correct"; - rev = "07aa9a9c67c56837b99f8545a4b37485a1732265"; - sha256 = "0zfyry6ysz77ala8ppy4k9h7ssnzw2brnglalphbqw2lgx3q3f98"; + rev = "7e7f94a36699c7e7bba728df722e13a7b4af4b73"; + sha256 = "16lbhbgyrpp9ig9li1v31bs9i5z8dchjb1vrkcih020p3g9vwi27"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/fa06fbe3bc40ae5e3f6d10dee93a9d49e9288ba5/recipes/flyspell-correct"; @@ -10971,12 +11609,12 @@ flyspell-correct-helm = callPackage ({ fetchFromGitHub, fetchurl, flyspell-correct, helm, lib, melpaBuild }: melpaBuild { pname = "flyspell-correct-helm"; - version = "0.2"; + version = "0.4"; src = fetchFromGitHub { owner = "d12frosted"; repo = "flyspell-correct"; - rev = "07aa9a9c67c56837b99f8545a4b37485a1732265"; - sha256 = "0zfyry6ysz77ala8ppy4k9h7ssnzw2brnglalphbqw2lgx3q3f98"; + rev = "7e7f94a36699c7e7bba728df722e13a7b4af4b73"; + sha256 = "16lbhbgyrpp9ig9li1v31bs9i5z8dchjb1vrkcih020p3g9vwi27"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7b9302d8f804c77eb81fee7ed27f13cb1176f6/recipes/flyspell-correct-helm"; @@ -10992,12 +11630,12 @@ flyspell-correct-ivy = callPackage ({ fetchFromGitHub, fetchurl, flyspell-correct, ivy, lib, melpaBuild }: melpaBuild { pname = "flyspell-correct-ivy"; - version = "0.2"; + version = "0.4"; src = fetchFromGitHub { owner = "d12frosted"; repo = "flyspell-correct"; - rev = "07aa9a9c67c56837b99f8545a4b37485a1732265"; - sha256 = "0zfyry6ysz77ala8ppy4k9h7ssnzw2brnglalphbqw2lgx3q3f98"; + rev = "7e7f94a36699c7e7bba728df722e13a7b4af4b73"; + sha256 = "16lbhbgyrpp9ig9li1v31bs9i5z8dchjb1vrkcih020p3g9vwi27"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7b9302d8f804c77eb81fee7ed27f13cb1176f6/recipes/flyspell-correct-ivy"; @@ -11013,12 +11651,12 @@ flyspell-correct-popup = callPackage ({ fetchFromGitHub, fetchurl, flyspell-correct, lib, melpaBuild, popup }: melpaBuild { pname = "flyspell-correct-popup"; - version = "0.2"; + version = "0.4"; src = fetchFromGitHub { owner = "d12frosted"; repo = "flyspell-correct"; - rev = "07aa9a9c67c56837b99f8545a4b37485a1732265"; - sha256 = "0zfyry6ysz77ala8ppy4k9h7ssnzw2brnglalphbqw2lgx3q3f98"; + rev = "7e7f94a36699c7e7bba728df722e13a7b4af4b73"; + sha256 = "16lbhbgyrpp9ig9li1v31bs9i5z8dchjb1vrkcih020p3g9vwi27"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7b9302d8f804c77eb81fee7ed27f13cb1176f6/recipes/flyspell-correct-popup"; @@ -11097,12 +11735,12 @@ focus = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "focus"; - version = "0.1.0"; + version = "0.1.1"; src = fetchFromGitHub { owner = "larstvei"; repo = "Focus"; - rev = "0a6e9624ea5607dadd0f2cd4d3eaa2b10b788eb9"; - sha256 = "0aj5qxzlfxxp7z27fiw9bvir5yi2zj0xzj5kbh17ix4wnhi03bhc"; + rev = "75202c9445f52eab6fb82f00006f37cd20dae6b2"; + sha256 = "1v9y3dp7sd4rsm31myp3l1jxpwjw3madajb6yz9rw0yhdirfwgbg"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4e8f1217224514f9b048b7101c89e3b1a305821e/recipes/focus"; @@ -11199,22 +11837,22 @@ license = lib.licenses.free; }; }) {}; - fontawesome = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild }: + fontawesome = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild }: melpaBuild { pname = "fontawesome"; - version = "0.3"; + version = "0.4"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-fontawesome"; - rev = "ccb03b8329daa3130491c9c4d285b325dbeb5cc7"; - sha256 = "0qq13jhn9i2ls6n3fbay4i2r0hfs426pkmmif43b87gjxb510irc"; + rev = "72b4f2f83c7fdacd225aee58f93acefc53166626"; + sha256 = "1icwjd1rbyr1g8ifyhvpi21wjff2qrddq2rmp5lmiajnwrlfli0d"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/93b92f10802ceffc353db3d220dccfd47ea7fa41/recipes/fontawesome"; sha256 = "07hn4s929xklc74j8s6pd61rxmxw3911dq47wql77vb5pijv6dr3"; name = "fontawesome"; }; - packageRequires = [ cl-lib helm-core ]; + packageRequires = [ emacs helm-core ]; meta = { homepage = "https://melpa.org/#/fontawesome"; license = lib.licenses.free; @@ -11223,12 +11861,12 @@ forecast = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "forecast"; - version = "0.4.1"; + version = "0.5.0"; src = fetchFromGitHub { owner = "cadadr"; repo = "forecast.el"; - rev = "ff307fd24c64577d204d0c1b7b245f190f70bd61"; - sha256 = "1x4l24cbgc4apv9cfzf6phmj5pm32hfdgv37wpbh7ml8v3p8xm0w"; + rev = "8fdd0d4532b81e4bfe114fad548aeb049cd512cf"; + sha256 = "0ia4k7jxx35g0kdm9z75i3sr1h91nh8fkhbllxpd9za29dw5fs7c"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e6ff6a4ee29b96bccb2e4bc0644f2bd2e51971ee/recipes/forecast"; @@ -11307,12 +11945,12 @@ fountain-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "fountain-mode"; - version = "2.2.0"; + version = "2.2.2"; src = fetchFromGitHub { owner = "rnkn"; repo = "fountain-mode"; - rev = "cffb48cfc3973155d34651996257a901e6f5f8d0"; - sha256 = "1bzbjv15bz0zfsizgd8yr6gin225qnq8g2795r14q7al8f71slv7"; + rev = "4e88b7525c2f39c3d25f689b394b0ece7c6eed6d"; + sha256 = "1vcc8sdm0b3kss3g47wggc6mv28pr474559d3786fhncp5mxl1qq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/913386ac8d5049d37154da3ab32bde408a226511/recipes/fountain-mode"; @@ -11325,27 +11963,6 @@ license = lib.licenses.free; }; }) {}; - frame-restore = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: - melpaBuild { - pname = "frame-restore"; - version = "0.5"; - src = fetchFromGitHub { - owner = "lunaryorn"; - repo = "frame-restore.el"; - rev = "5bfd06e18cdf5031062de5e052e9a877c3953804"; - sha256 = "1vznkbly0lyh5kri9lcgy309ws96q3d5m1lghck9l8ain8hphhqz"; - }; - recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/50ab397e8841f686e098caf6dae5dfafb0550581/recipes/frame-restore"; - sha256 = "0b321iyf57nkrm6xv8d1aydivrdapdgng35zcnrg298ws2naysvm"; - name = "frame-restore"; - }; - packageRequires = [ emacs ]; - meta = { - homepage = "https://melpa.org/#/frame-restore"; - license = lib.licenses.free; - }; - }) {}; fringe-helper = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "fringe-helper"; @@ -11367,22 +11984,51 @@ license = lib.licenses.free; }; }) {}; - fsharp-mode = callPackage ({ company, company-quickhelp, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, popup, pos-tip, s }: + fsbot-data-browser = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "fsbot-data-browser"; + version = "0.3"; + src = fetchFromGitHub { + owner = "benaiah"; + repo = "fsbot-data-browser"; + rev = "6bca4f7de63e31839d2542f6c678b79931dec344"; + sha256 = "0lvpgfp89sz6f6rn576g1g88s0q3ibj5ghydjwfcg9w6h7vx5b5s"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/37a0901b98e1c66be6906234e6d6520a6e940e97/recipes/fsbot-data-browser"; + sha256 = "0jijvl07jk200fs01ln4dmw5nx9jg3f9b7gjaknyd18vyvbwr3s5"; + name = "fsbot-data-browser"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/fsbot-data-browser"; + license = lib.licenses.free; + }; + }) {}; + fsharp-mode = callPackage ({ company, company-quickhelp, dash, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, popup, pos-tip, s }: melpaBuild { pname = "fsharp-mode"; - version = "1.8.1"; + version = "1.9.3"; src = fetchFromGitHub { owner = "rneatherway"; repo = "emacs-fsharp-mode-bin"; - rev = "51bad86059528f1ce87ef12e1657531aa11a386d"; - sha256 = "00api7q86mrfv8z2g7skh34mhlkxwymf4gfpxa6zcvirhlpglyxr"; + rev = "d5b9fde6dec186972f6ea457582504ca813b8778"; + sha256 = "0wnhj9wfvm193pmni23isgagrdym2bqgay601kfacmjxffpv8879"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/dc45611e2b629d8bc5f74555368f964420b79541/recipes/fsharp-mode"; sha256 = "07pkj30cawh0diqhrp3jkshgsd0i3y34rdnjb4af8mr7dsbsxb6z"; name = "fsharp-mode"; }; - packageRequires = [ company company-quickhelp dash popup pos-tip s ]; + packageRequires = [ + company + company-quickhelp + dash + flycheck + popup + pos-tip + s + ]; meta = { homepage = "https://melpa.org/#/fsharp-mode"; license = lib.licenses.free; @@ -11557,12 +12203,12 @@ fzf = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "fzf"; - version = "0.1"; + version = "0.2"; src = fetchFromGitHub { owner = "bling"; repo = "fzf.el"; - rev = "bfc157a682b53927af633fd919c2e03235ea6599"; - sha256 = "0rjn4z7ssl1jy0brvsci44mhpig3zkdbcj8gcylzznhz0qfk1ljj"; + rev = "383a050920e9b99d37c21d041deb7f38b202485c"; + sha256 = "14drm6b6rxbcdilcms1jlqyrqbipcqbdil6q06ni9pgafi7xp8hz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1671e17c99ef1932c6a2e83fc4fa2e4eb6674bc8/recipes/fzf"; @@ -11578,12 +12224,12 @@ gams-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "gams-mode"; - version = "6.1"; + version = "6.1.2"; src = fetchFromGitHub { owner = "ShiroTakeda"; repo = "gams-mode"; - rev = "268ee8b4554446104d200de3ffbd2f067b20cb3f"; - sha256 = "16x3fz2ljrmqhjy7w96fhp3j9ja2gib042c363yfrzwa7q5rxzd2"; + rev = "a803f9e4509b8f8fed17ef25737d941bbe846c96"; + sha256 = "1avbdfw3hvwqnrlg3hv8p64m9gqgvwl9ggqzn6rhxh1zlr7i5cwy"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c895a716636b00c2a158d33aab18f664a8601833/recipes/gams-mode"; @@ -11662,12 +12308,12 @@ geiser = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "geiser"; - version = "0.8.1"; + version = "0.9"; src = fetchFromGitHub { owner = "jaor"; repo = "geiser"; - rev = "c6f17b25200e36f80d812684a2127b451fc11817"; - sha256 = "1667zln7bav0bdhrc4b5z36n8rn36xvwh4y9ffgns67zfgwi64kk"; + rev = "8ef6a9321d81ff478cfd376023eb84b8a819a991"; + sha256 = "08aha9lxdxix1jq0vc3am9wsyivj6vjpfs8frm797aca3bwaam0j"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b0fe32d24cedd5307b4cccfb08a7095d81d639a0/recipes/geiser"; @@ -11746,12 +12392,12 @@ ggtags = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ggtags"; - version = "0.8.11"; + version = "0.8.12"; src = fetchFromGitHub { owner = "leoliu"; repo = "ggtags"; - rev = "d4fb6d40b71cad3fd5a2141b8456f27e2b2dc731"; - sha256 = "1qjh7av046ax4240iw40hv5fc0k23c36my9hili7fp4y2ak99l8n"; + rev = "7a7ee76a8055531482927e6abf7e0ef676165dd2"; + sha256 = "1kyg26wdimy5k5icglgqg9gdfvzkgk4xis12nx1xkh01j2imzl97"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b158bb1bc2fbe3de61a6b21174eac7b1457edda2/recipes/ggtags"; @@ -11956,12 +12602,12 @@ git-commit = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, with-editor }: melpaBuild { pname = "git-commit"; - version = "2.8.0"; + version = "2.9.0"; src = fetchFromGitHub { owner = "magit"; repo = "magit"; - rev = "570a0320bdd7437fc35a36d78a1c28e1ee19ce88"; - sha256 = "040wc4nj9r3vlma42sc24x4w25rm2kpzwyq44jw3njjk3b7q9avp"; + rev = "acb8efe770b55ae23f24cf8d2dc4e62bc37c1b88"; + sha256 = "11vhdz75yqp0c9vp64mv2c2bh4dwb8skvix5gbqhfykd5wa565ay"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/git-commit"; @@ -11977,12 +12623,12 @@ git-gutter = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "git-gutter"; - version = "0.89"; + version = "0.90"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-git-gutter"; - rev = "02f67e207f0653077c06ddc8502c6a0cd28de260"; - sha256 = "04qkznd85f9msrgpwsfswbfi5nzvpy4mk5mcmv2cvbq68grs4c40"; + rev = "a786465bd527c13e32c73c02b95086560c1be878"; + sha256 = "1abagq0psip7cgsqbfjv72qy60ywsny0ibsfcn74ldj6a9v17mz5"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/81f0f525680fea98e804f39dbde1dada887e8821/recipes/git-gutter"; @@ -12082,12 +12728,12 @@ git-link = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "git-link"; - version = "0.4.3"; + version = "0.4.5"; src = fetchFromGitHub { owner = "sshaw"; repo = "git-link"; - rev = "b9e197419b1d71c7190c2e7cb14b89d9e6759ab2"; - sha256 = "0f10qqmjaxy29qw86a85kjshyj8wc5dldymm8i89l3hb9s9iv260"; + rev = "efd2a9a40b07e93cd5030d8b409d380c77fca88b"; + sha256 = "0yhk4r5fdlmiw7n0cpdbjqcsm2vkm37qwwvkb7xz9046mkdag6gy"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1385443585e628e3d4efb3badb7611e9d653e0c9/recipes/git-link"; @@ -12100,22 +12746,22 @@ license = lib.licenses.free; }; }) {}; - git-messenger = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, popup }: + git-messenger = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, popup }: melpaBuild { pname = "git-messenger"; - version = "0.17"; + version = "0.18"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-git-messenger"; - rev = "9412a975f4723e9bc9c9feb4ec064b2e8c0c659d"; - sha256 = "1hh99ippc1bpqpnchvhbh7yzcsjx9v7bbpy5r9hx82kx0xqih0sc"; + rev = "9297464c010dd8a2d584ac8e012876856655a8b5"; + sha256 = "04fnby2nblk8l70gv09asxkmnn53fh1pdfs77ix44npp99fyw8ix"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e791293133f30e5d96c4b29e972f9016c06c476d/recipes/git-messenger"; sha256 = "1rnqsv389why13cy6462vyq12qc2zk58p01m3hsazp1gpfw2hfzn"; name = "git-messenger"; }; - packageRequires = [ cl-lib popup ]; + packageRequires = [ emacs popup ]; meta = { homepage = "https://melpa.org/#/git-messenger"; license = lib.licenses.free; @@ -12289,6 +12935,27 @@ license = lib.licenses.free; }; }) {}; + github-elpa = callPackage ({ commander, fetchFromGitHub, fetchurl, git, lib, melpaBuild, package-build }: + melpaBuild { + pname = "github-elpa"; + version = "0.0.1"; + src = fetchFromGitHub { + owner = "10sr"; + repo = "github-elpa"; + rev = "c5960375ed5d67465412be7eb0ac558082feebc7"; + sha256 = "02710iy9zz4ymmb2ydrca5kbdc5i06fjg7212iyvpd58yfzxjj2m"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/81ec06e370f51b750ba3313b661d7386710cffb0/recipes/github-elpa"; + sha256 = "1981dnz49l5r4qsn49i4dhy6x4ln0haff6gl2zx0p5p0zfkzbi7x"; + name = "github-elpa"; + }; + packageRequires = [ commander git package-build ]; + meta = { + homepage = "https://melpa.org/#/github-elpa"; + license = lib.licenses.free; + }; + }) {}; github-search = callPackage ({ fetchFromGitHub, fetchurl, gh, lib, magit, melpaBuild }: melpaBuild { pname = "github-search"; @@ -12352,22 +13019,43 @@ license = lib.licenses.free; }; }) {}; - glab = callPackage ({ fetchFromGitLab, fetchurl, lib, melpaBuild }: + gitter = callPackage ({ emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild }: + melpaBuild { + pname = "gitter"; + version = "1"; + src = fetchFromGitHub { + owner = "xuchunyang"; + repo = "gitter.el"; + rev = "bd2ba457109dd5d3e4b419e3ef5cbd3b5c9498d6"; + sha256 = "1fzl40bwdfbcq55p3kvbzjqr5w0703imzgrmqcf4f6jhav127zk6"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/b8076c3b4d60e4c505bb6f4e426ecc4f69d74684/recipes/gitter"; + sha256 = "1ad5abqgfh6x2fcqbbdvgbg8xin69j0h93z7bav1hs3jla7mgwnv"; + name = "gitter"; + }; + packageRequires = [ emacs let-alist ]; + meta = { + homepage = "https://melpa.org/#/gitter"; + license = lib.licenses.free; + }; + }) {}; + glab = callPackage ({ emacs, fetchFromGitLab, fetchurl, lib, melpaBuild }: melpaBuild { pname = "glab"; - version = "1.1.0"; + version = "1.1.1"; src = fetchFromGitLab { owner = "tarsius"; repo = "glab"; - rev = "7c022e55ec5d50f9f5b656b17823f7e165f2d056"; - sha256 = "0qmnz4zd6z0nhxxmwgk16mppf7i86na7c3nyc47jfw7xl63s98pk"; + rev = "5ced0214622450930bcea105b9aac785c594609d"; + sha256 = "100lz4dqn9ggvlvdrp909cy44br9hnlaa62pj0kp1vdqqxfxwfyn"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9375cbae3ffe5bf4ba5606358860050f3005d9b7/recipes/glab"; sha256 = "0z34kzly39mdqsyqpi3n5m3189g0d7lsvk2ksmh46zdziak715di"; name = "glab"; }; - packageRequires = []; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/glab"; license = lib.licenses.free; @@ -12397,12 +13085,12 @@ gmail2bbdb = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "gmail2bbdb"; - version = "0.0.4"; + version = "0.0.6"; src = fetchFromGitHub { owner = "redguardtoo"; repo = "gmail2bbdb"; - rev = "2043fb8ee90c119b13bc8caf85fdf0a05f494b98"; - sha256 = "0p6n52m3y56nx7chwvmnslrnwc0xmh4fmmlkbkfz9n58hlmw8x1x"; + rev = "181ef6039227bb30a02041d8cfdc435551a7d948"; + sha256 = "0205ldrw1i7czq44pqdl374cl0rjp5w5zadrayw8brl7mmw92byn"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/fb3c88b20a7614504165cd5fb459b0a9d5c73f60/recipes/gmail2bbdb"; @@ -12436,27 +13124,6 @@ license = lib.licenses.free; }; }) {}; - gnome-calendar = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: - melpaBuild { - pname = "gnome-calendar"; - version = "0.2"; - src = fetchFromGitHub { - owner = "NicolasPetton"; - repo = "gnome-calendar.el"; - rev = "58c3a3c32aff9901c679bdf9091ed934897b84a0"; - sha256 = "160qm8xf0yghygb52p8cykhb5vpg9ww3gjprcdkcxplr4b230nnc"; - }; - recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/8e497668d65f0eabd15e39b7492adb395a5a8e75/recipes/gnome-calendar"; - sha256 = "00clamlm5b42zqggxywdqrf6s2dnsxir5rpd8mjpyc502kqmsfn6"; - name = "gnome-calendar"; - }; - packageRequires = []; - meta = { - homepage = "https://melpa.org/#/gnome-calendar"; - license = lib.licenses.free; - }; - }) {}; gntp = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "gntp"; @@ -12541,6 +13208,27 @@ license = lib.licenses.free; }; }) {}; + go-add-tags = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: + melpaBuild { + pname = "go-add-tags"; + version = "0.4"; + src = fetchFromGitHub { + owner = "syohex"; + repo = "emacs-go-add-tags"; + rev = "54879945e46a0884c5f93d7fd6c866a9cdf401ac"; + sha256 = "1gr65skrd41pk46ilfsbxfdng4br6h9c6blf1q1wx6i9ylhs0ak5"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/55d3b893bd68d3d2d86ecdbb4ed442edd256516a/recipes/go-add-tags"; + sha256 = "0nvas44rsvqzk2ay5bhzkbrnzql13vnxq9pk4lp4mvp86dda9qim"; + name = "go-add-tags"; + }; + packageRequires = [ emacs s ]; + meta = { + homepage = "https://melpa.org/#/go-add-tags"; + license = lib.licenses.free; + }; + }) {}; go-autocomplete = callPackage ({ auto-complete, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "go-autocomplete"; @@ -12628,12 +13316,12 @@ go-impl = callPackage ({ emacs, fetchFromGitHub, fetchurl, go-mode, lib, melpaBuild }: melpaBuild { pname = "go-impl"; - version = "0.12"; + version = "0.13"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-go-impl"; - rev = "d4cd57e5d1769ffe3a8078572f0be73737184099"; - sha256 = "059y2gkvvjhjbaw31zlylr0zmbafcjif01zjq13hvvghjqd6r89b"; + rev = "1827d2efe1f6023cf3954c0056aaa531124c41c1"; + sha256 = "1rcqrsvw74lrzs03bg9zslmkf5ka4a3h06b5hhdgiv4iimapz5sq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/aa1a0845cc1a6970018b397d13394aaa8147e5d0/recipes/go-impl"; @@ -12657,8 +13345,8 @@ sha256 = "0g0vjm125wmw5nd38r3d7gc2h4pg3a9yskcbk1mzg9vf6gbhr0hx"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/8a9d94efc1a0cedaaa0a1acd1227b2530efefca2/recipes/go-mode"; - sha256 = "1852zjxandmq0cpbf7m56ar3rbdi7bx613gdgsf1bg8hsdvkgzfx"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/0cede3a468b6f7e4ad88e9fa985f0fdee7d195f5/recipes/go-mode"; + sha256 = "0ghqm4lbkfla79plqiyb1lzf5kbz0380h9vf8px15zal00xrv0bl"; name = "go-mode"; }; packageRequires = []; @@ -12667,6 +13355,27 @@ license = lib.licenses.free; }; }) {}; + go-playground = callPackage ({ emacs, fetchFromGitHub, fetchurl, go-mode, gotest, lib, melpaBuild }: + melpaBuild { + pname = "go-playground"; + version = "1.2"; + src = fetchFromGitHub { + owner = "grafov"; + repo = "go-playground"; + rev = "97be0b3a19d7b8476663c9b16148c4dfd9783cfe"; + sha256 = "0wz79iwcfql8kfq5q9b0fccj9590giqlzd2kzjaj0fl89n0sx9gq"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/900aabb7bc2350698f8740d72a5fad69c9219c33/recipes/go-playground"; + sha256 = "1rabwc80qwkafq833m6a199zfiwwmf0hha89721gc7i0myk9pac6"; + name = "go-playground"; + }; + packageRequires = [ emacs go-mode gotest ]; + meta = { + homepage = "https://melpa.org/#/go-playground"; + license = lib.licenses.free; + }; + }) {}; go-scratch = callPackage ({ emacs, fetchFromGitHub, fetchurl, go-mode, lib, melpaBuild }: melpaBuild { pname = "go-scratch"; @@ -12688,6 +13397,27 @@ license = lib.licenses.free; }; }) {}; + godoctor = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "godoctor"; + version = "0.0.9"; + src = fetchFromGitHub { + owner = "microamp"; + repo = "godoctor.el"; + rev = "f892a4dbabe61186540d6035c5185fd929a6a543"; + sha256 = "1cg09mihvqchgvdxwlrg9vcdj1kvmmy8zmlkscxi6smaxbi0yvjm"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/0e23e1362ff7d477ad9ce6cfff694db989dfb87b/recipes/godoctor"; + sha256 = "0k734hry9npsr6zhsplcvmcjqw6jdf79pv4k9dw0xvd598hkpazz"; + name = "godoctor"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/godoctor"; + license = lib.licenses.free; + }; + }) {}; golden-ratio = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "golden-ratio"; @@ -12754,12 +13484,12 @@ google-translate = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "google-translate"; - version = "0.11.10"; + version = "0.11.13"; src = fetchFromGitHub { owner = "atykhonov"; repo = "google-translate"; - rev = "84d75daa644c0e73289fc428ff35acdc0943cbbb"; - sha256 = "0dzr1nb1s1sh8rv5wr9xfjd5xna54vp03y3h4q59vmnynsn64m9b"; + rev = "c859592c3fda01594b270e388414a79373b5587b"; + sha256 = "1arwq4nld3capjj2b3ask1pwy89fz25f550fb7cnhiv5rhqr51iw"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e3c275e59cbfe6e40f9cd4c470fc66544c9a6d21/recipes/google-translate"; @@ -12772,36 +13502,15 @@ license = lib.licenses.free; }; }) {}; - goose-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: - melpaBuild { - pname = "goose-theme"; - version = "1.0.0"; - src = fetchFromGitHub { - owner = "thwg"; - repo = "goose-theme"; - rev = "52244bd5ee3e7b42599d9697007a5df3b026aafc"; - sha256 = "1d1x5ffpn9gq9byd0qavxr081sl3qf0lihdxfdqvhwd815kravxk"; - }; - recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/5fa2ce32adbccdbc3f1b642585b430202e7ae274/recipes/goose-theme"; - sha256 = "18kfz61mhf8pvp3z5cdvjklla9p840p1dazylrgjb1g5hdwqw0n9"; - name = "goose-theme"; - }; - packageRequires = [ emacs ]; - meta = { - homepage = "https://melpa.org/#/goose-theme"; - license = lib.licenses.free; - }; - }) {}; gotest = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, go-mode, lib, melpaBuild, s }: melpaBuild { pname = "gotest"; - version = "0.12.0"; + version = "0.13.0"; src = fetchFromGitHub { owner = "nlamirault"; repo = "gotest.el"; - rev = "c7ead398b69ab25db695f5dab73ceaa0aba572fa"; - sha256 = "1idhnsl8vkq3v3nbvhkmxmvgqp97aycxvmkj7894mj9hvhib68l9"; + rev = "2ae187078beb5d9672ca14cb636b6b4021de4230"; + sha256 = "1pq9zjfs7gp7bz3jq11fx75m4zcx9p772lja5jicz535khpgxw7f"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0670b42c0c998daa7bf01080757976ac3589ec06/recipes/gotest"; @@ -12880,12 +13589,12 @@ govc = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, json-mode, lib, magit-popup, melpaBuild, s }: melpaBuild { pname = "govc"; - version = "0.8.0"; + version = "0.12.1"; src = fetchFromGitHub { owner = "vmware"; repo = "govmomi"; - rev = "c0c7ce63df7edd78e713257b924c89d9a2dac119"; - sha256 = "1yj4iimwfv3d4m24ifmncc2z09dlmxjr1dhryh4afkpgj48x4lcv"; + rev = "6103db21b38cbdfda3100fed08b988fc2d83aa1a"; + sha256 = "0hlqrqi1s94cr828qyfbr95np5xwr3bn98l4gv59rnqa1vmx49gy"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/92d6391318021c63b06fe39b0ca38f667bb45ae9/recipes/govc"; @@ -12919,6 +13628,27 @@ license = lib.licenses.free; }; }) {}; + grab-x-link = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "grab-x-link"; + version = "0.4.1"; + src = fetchFromGitHub { + owner = "xuchunyang"; + repo = "grab-x-link"; + rev = "d2ef886097f59e1facc5cb5d8cd1c77bf340be76"; + sha256 = "1iny8ga9xb7pfd59l4ljlj6zvvxzr7bv468sibkhlaqvjljn2xq1"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/64d4d4e6f9d6a3ea670757f248afd355baf1d933/recipes/grab-x-link"; + sha256 = "1kni49n1v716w4hjfm49mk25jshfc6idpby0k58qvngbfqk3kzy5"; + name = "grab-x-link"; + }; + packageRequires = [ cl-lib emacs ]; + meta = { + homepage = "https://melpa.org/#/grab-x-link"; + license = lib.licenses.free; + }; + }) {}; gradle-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "gradle-mode"; @@ -13006,12 +13736,12 @@ grandshell-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "grandshell-theme"; - version = "1.0"; + version = "1.1"; src = fetchFromGitHub { owner = "steckerhalter"; repo = "grandshell-theme"; - rev = "6bf34fb1a3117244629a7fb23daf610f50854bed"; - sha256 = "1202fwwwdr74q6s5jv1n0mvmq4n9mra85l14hdhwh2kks513s6vs"; + rev = "f9dbaa341fce72f9deaf69bfaa09282168ebaf9d"; + sha256 = "03lr4gim7yynwx0n06dd1vy6hbizxwc8hcwzz1gbvla2509njga7"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5b04b0024f5a0367e2998d35ca88c2613a8e3470/recipes/grandshell-theme"; @@ -13027,12 +13757,12 @@ graphene = callPackage ({ company, dash, exec-path-from-shell, fetchFromGitHub, fetchurl, flycheck, graphene-meta-theme, ido-ubiquitous, lib, melpaBuild, ppd-sr-speedbar, smartparens, smex, sr-speedbar, web-mode }: melpaBuild { pname = "graphene"; - version = "0.9.5"; + version = "0.9.7"; src = fetchFromGitHub { owner = "rdallasgray"; repo = "graphene"; - rev = "dcc0e34c6c4632d5d5445ec023f5b1ca04c7d1b7"; - sha256 = "1f34bhjxmbf2jjrkpdvqg2gwp83ka6d5vrxmsxdl3r57yc6rbrwa"; + rev = "b25707ae82e286aefa5a66087b12c9cb3b7bf2ed"; + sha256 = "1h21fv8plxydydm509immp0kpkf24ba6j3wrbpvp5w4nkx49mlkl"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0206d6adcb7855c2174c3cd506b71c21def1209b/recipes/graphene"; @@ -13060,12 +13790,12 @@ graphene-meta-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "graphene-meta-theme"; - version = "0.0.4"; + version = "0.0.5"; src = fetchFromGitHub { owner = "rdallasgray"; repo = "graphene-meta-theme"; - rev = "ba3c197b6331668c4fcee4053594ba1bd34929b6"; - sha256 = "0qbk53r97h234f2vj8ndf57kardaz2g2dgf35i08j9b416aw6ck5"; + rev = "62cc73fee31f1bd9474027b83a249feee050271e"; + sha256 = "1ydl6dlg5z4infq8j09izwgs6n97yza6nbq5rs1xfv00zd9gr63c"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/44af719ede73c9fe7787272d7868587ce8966e3d/recipes/graphene-meta-theme"; @@ -13126,8 +13856,8 @@ version = "0.1"; src = fetchhg { url = "https://bitbucket.com/tws/grass-mode.el"; - rev = "25414dff1fc5"; - sha256 = "0mnwmsn078hz317xfz6c05r7narx3k8956v1ajz5myxx8xrcr24z"; + rev = "c7e2817461c3"; + sha256 = "095v1l46axada3vnhp1ypim6b789y39jlyy5466im02fjfjkcadg"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/grass-mode"; @@ -13180,6 +13910,27 @@ license = lib.licenses.free; }; }) {}; + groovy-imports = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pcache, s }: + melpaBuild { + pname = "groovy-imports"; + version = "1.0"; + src = fetchFromGitHub { + owner = "mbezjak"; + repo = "emacs-groovy-imports"; + rev = "e56d7dda617555ec6205644d32ffddf2e1fa43d9"; + sha256 = "060zxl2y4p50g5fwgplgx07h5akfplp49rkv5cx09rqlcyzqhqwa"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/b18a6842805856062e9452dc32bf0fd458f7d51a/recipes/groovy-imports"; + sha256 = "09yjkwsm192lgala1pvxw47id4j7362sl3j1hn9ald2m8m3ddyfs"; + name = "groovy-imports"; + }; + packageRequires = [ emacs pcache s ]; + meta = { + homepage = "https://melpa.org/#/groovy-imports"; + license = lib.licenses.free; + }; + }) {}; groovy-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "groovy-mode"; @@ -13243,6 +13994,27 @@ license = lib.licenses.free; }; }) {}; + gruvbox-theme = callPackage ({ autothemer, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "gruvbox-theme"; + version = "1.12.0"; + src = fetchFromGitHub { + owner = "Greduan"; + repo = "emacs-theme-gruvbox"; + rev = "e57f494fd94e49321a6396f530b8a13bae8b57df"; + sha256 = "16f9vszl0f1dkjvqk5hxi570gf4l8p6fk27p0d7j11grsck0yzly"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/2bd48c87919f64ced9f3add4860751bb34cb5ecb/recipes/gruvbox-theme"; + sha256 = "042mnwlmixygk2mf24ygk7rkv1rfavc5a36hs9x8b68jnf3khj32"; + name = "gruvbox-theme"; + }; + packageRequires = [ autothemer ]; + meta = { + homepage = "https://melpa.org/#/gruvbox-theme"; + license = lib.licenses.free; + }; + }) {}; gscholar-bibtex = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "gscholar-bibtex"; @@ -13327,6 +14099,27 @@ license = lib.licenses.free; }; }) {}; + gxref = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "gxref"; + version = "0.1"; + src = fetchFromGitHub { + owner = "dedi"; + repo = "gxref"; + rev = "15723a9d910d7dd9ea18cab0336332cf988aeceb"; + sha256 = "1l5d1kh2dy3w42i8c3z63c7mzarxixxiby2g7ay2i809yxj10y1n"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/429b9150d4054fcadab8c5ca3b688921eeb19b78/recipes/gxref"; + sha256 = "06qlfjclfx00m8pr7lk6baim3vjk5i0m75i1p4aihp2vflvgjaby"; + name = "gxref"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/gxref"; + license = lib.licenses.free; + }; + }) {}; hackernews = callPackage ({ fetchFromGitHub, fetchurl, json ? null, lib, melpaBuild }: melpaBuild { pname = "hackernews"; @@ -13477,12 +14270,12 @@ haskell-emacs = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "haskell-emacs"; - version = "4.0.2"; + version = "4.0.3"; src = fetchFromGitHub { owner = "knupfer"; repo = "haskell-emacs"; - rev = "7b840af4af0b03cbf8dad1b8ac6ca1dcd4b5ccd9"; - sha256 = "1d2b35qmsx3ayq8b6rh08dkmx2845nhswqqwpzg81zsna6d607mh"; + rev = "a2c6a079175904689eed7c6c200754bfa85d1ed9"; + sha256 = "1xpaqcj33vyzs5yv2w4dahw8a2vb6zcb3z7y2aqc5jdg3fx9ypam"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5daff329a96a6d10bca11d838bbc95d1c8bcfbd9/recipes/haskell-emacs"; @@ -13498,12 +14291,12 @@ haskell-emacs-base = callPackage ({ fetchFromGitHub, fetchurl, haskell-emacs, lib, melpaBuild }: melpaBuild { pname = "haskell-emacs-base"; - version = "4.0.2"; + version = "4.0.3"; src = fetchFromGitHub { owner = "knupfer"; repo = "haskell-emacs"; - rev = "7b840af4af0b03cbf8dad1b8ac6ca1dcd4b5ccd9"; - sha256 = "1d2b35qmsx3ayq8b6rh08dkmx2845nhswqqwpzg81zsna6d607mh"; + rev = "a2c6a079175904689eed7c6c200754bfa85d1ed9"; + sha256 = "1xpaqcj33vyzs5yv2w4dahw8a2vb6zcb3z7y2aqc5jdg3fx9ypam"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5daff329a96a6d10bca11d838bbc95d1c8bcfbd9/recipes/haskell-emacs-base"; @@ -13519,12 +14312,12 @@ haskell-emacs-text = callPackage ({ fetchFromGitHub, fetchurl, haskell-emacs, lib, melpaBuild }: melpaBuild { pname = "haskell-emacs-text"; - version = "4.0.2"; + version = "4.0.3"; src = fetchFromGitHub { owner = "knupfer"; repo = "haskell-emacs"; - rev = "7b840af4af0b03cbf8dad1b8ac6ca1dcd4b5ccd9"; - sha256 = "1d2b35qmsx3ayq8b6rh08dkmx2845nhswqqwpzg81zsna6d607mh"; + rev = "a2c6a079175904689eed7c6c200754bfa85d1ed9"; + sha256 = "1xpaqcj33vyzs5yv2w4dahw8a2vb6zcb3z7y2aqc5jdg3fx9ypam"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5daff329a96a6d10bca11d838bbc95d1c8bcfbd9/recipes/haskell-emacs-text"; @@ -13537,22 +14330,22 @@ license = lib.licenses.free; }; }) {}; - haskell-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + haskell-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "haskell-mode"; - version = "13.20.1"; + version = "16.1"; src = fetchFromGitHub { owner = "haskell"; repo = "haskell-mode"; - rev = "9eef80d1a16ac3b41b62b8d79ecbafa62e00c6c9"; - sha256 = "1xckvi2s62hwrrrd6g446gszyqdk6bmd2hcrc6m0qfnyjkvg6jf0"; + rev = "d2ea5239bf02f3917a78a5c2dcbc5b6f6dd1b359"; + sha256 = "1qk36y0v9fzass6785il65c6wb5cfj4ihhwkvgnzmbafpa8p4dvq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7f18b4dcbad4192b0153a316cff6533272898f1a/recipes/haskell-mode"; sha256 = "0wijvcpfdbl17iwzy47vf8brkj2djarfr8y28rw0wqvbs381zzwp"; name = "haskell-mode"; }; - packageRequires = [ cl-lib emacs ]; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/haskell-mode"; license = lib.licenses.free; @@ -13641,22 +14434,22 @@ license = lib.licenses.free; }; }) {}; - hcl-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + hcl-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "hcl-mode"; - version = "0.2"; + version = "0.3"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-hcl-mode"; - rev = "cc13180e3af748d53c4a1d433ce2edf99bf68a7d"; - sha256 = "0hiw226gv73jh7s3jg4p1c15p4km4rs7i9ab4wgpkl5lg4vrz5i6"; + rev = "6a6daf37522188a2f2fcdebc60949fc3bdabbc06"; + sha256 = "0jqrgq15jz6pvx38pnwkizzfiih0d3nxqphyrc92nqpcyimg8b6g"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/66b441525dc300b364d9be0358ae1e0fa2a8b4fe/recipes/hcl-mode"; sha256 = "1wrs9kj6ahsdnbn3fdaqhclq1ia6w4x726hjvl6pyk01sb0spnin"; name = "hcl-mode"; }; - packageRequires = [ cl-lib emacs ]; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/hcl-mode"; license = lib.licenses.free; @@ -13665,16 +14458,16 @@ helm = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild, popup }: melpaBuild { pname = "helm"; - version = "2.0"; + version = "2.3.4"; src = fetchFromGitHub { owner = "emacs-helm"; repo = "helm"; - rev = "557786d0443791d5d0ccfbdc1dcc86004e31d218"; - sha256 = "0xk0hw08b335j3w2frxa61bg3521zjrjv35bw5qcd1z6b0n8gwks"; + rev = "26415fdb3ebc66fa721b94aa1eaeba1693eae624"; + sha256 = "12jy8448gj8a1mw2njzxyvrrc2q059xrq65my1zqx1k1lcrknhp8"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/90ab37af6b0c85eac11c423bc8f0d93d6d8a9fd4/recipes/helm"; - sha256 = "0xsf4rg7kn0m5wjlbwhd1mc38lg2822037dyd0h66h6x2gbs3fd9"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/7e8bccffdf69479892d76b9336a4bec3f35e919d/recipes/helm"; + sha256 = "03la01d0syikjgsjq0krlp3p894djwfxqfmd2srddwks7ish6xjf"; name = "helm"; }; packageRequires = [ async emacs helm-core popup ]; @@ -13707,12 +14500,12 @@ helm-ag = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }: melpaBuild { pname = "helm-ag"; - version = "0.56"; + version = "0.57"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-helm-ag"; - rev = "8e652e426f1cb285b35920cfba6a586da624c060"; - sha256 = "0hyrladvqf4vn7wliajh33jippfih3rj5jbpx73kcpwqpcg15s0a"; + rev = "49e1f66fa80674513ca898e32d62d6dad875cb90"; + sha256 = "0vzgiix2c8jwpk2hhxvz9gqb78glmd4dk1myrgvxs9fhsj54dkk3"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/81f0f525680fea98e804f39dbde1dada887e8821/recipes/helm-ag"; @@ -13767,6 +14560,48 @@ license = lib.licenses.free; }; }) {}; + helm-bbdb = callPackage ({ bbdb, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }: + melpaBuild { + pname = "helm-bbdb"; + version = "1.0"; + src = fetchFromGitHub { + owner = "emacs-helm"; + repo = "helm-bbdb"; + rev = "7be6ce17303422e9bc3ff1a7cb54361fcbcafc84"; + sha256 = "1ccj9gqr407mfrvp71571w3l82v96zdr956qsdbxfdda7bm3s0j7"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/7025c319fcabc64576c0c6554d0d572cef697693/recipes/helm-bbdb"; + sha256 = "1wlacbfs23shvyaq616r1p84h8321zz1k5nzir5qg8nr6lssi8vp"; + name = "helm-bbdb"; + }; + packageRequires = [ bbdb helm ]; + meta = { + homepage = "https://melpa.org/#/helm-bbdb"; + license = lib.licenses.free; + }; + }) {}; + helm-bibtex = callPackage ({ biblio, cl-lib ? null, dash, f, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, parsebib, s }: + melpaBuild { + pname = "helm-bibtex"; + version = "2.0.0"; + src = fetchFromGitHub { + owner = "tmalsburg"; + repo = "helm-bibtex"; + rev = "d6a98ac6f28d2a6a05e203115211c98333d40aca"; + sha256 = "0arhy051945lxjqg77b275ny9nsv60cqj0qfpmvd8xkc07lqfn23"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/f4118a7721435240cf8489daa4dd39369208855b/recipes/helm-bibtex"; + sha256 = "037pqgyyb2grg88yfxx1r8yp4lrgz2fyzz9fbbp34l8s6vk3cp4z"; + name = "helm-bibtex"; + }; + packageRequires = [ biblio cl-lib dash f helm parsebib s ]; + meta = { + homepage = "https://melpa.org/#/helm-bibtex"; + license = lib.licenses.free; + }; + }) {}; helm-bm = callPackage ({ bm, cl-lib ? null, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, s }: melpaBuild { pname = "helm-bm"; @@ -13875,12 +14710,12 @@ helm-core = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "helm-core"; - version = "2.0"; + version = "2.3.4"; src = fetchFromGitHub { owner = "emacs-helm"; repo = "helm"; - rev = "557786d0443791d5d0ccfbdc1dcc86004e31d218"; - sha256 = "0xk0hw08b335j3w2frxa61bg3521zjrjv35bw5qcd1z6b0n8gwks"; + rev = "26415fdb3ebc66fa721b94aa1eaeba1693eae624"; + sha256 = "12jy8448gj8a1mw2njzxyvrrc2q059xrq65my1zqx1k1lcrknhp8"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7a700c5665e6d72cb4cecf7fb5a2dd43ef9bf7/recipes/helm-core"; @@ -13956,6 +14791,27 @@ license = lib.licenses.free; }; }) {}; + helm-dired-history = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }: + melpaBuild { + pname = "helm-dired-history"; + version = "1.1"; + src = fetchFromGitHub { + owner = "jixiuf"; + repo = "helm-dired-history"; + rev = "75416fa6ca9c5e113cca409ef63518266b4d8d56"; + sha256 = "17z84dx3z48mx2ssdhlhgzaqrxlzdy9mx3d14qlm0rcrmc0sck8i"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/56036d496c2a5fb1a6b32cdfcd1814944618e652/recipes/helm-dired-history"; + sha256 = "1k0021wn6x7in4wi9lri2c9wl06pvprv950hgdwgra8m155qjfp1"; + name = "helm-dired-history"; + }; + packageRequires = [ cl-lib helm ]; + meta = { + homepage = "https://melpa.org/#/helm-dired-history"; + license = lib.licenses.free; + }; + }) {}; helm-firefox = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }: melpaBuild { pname = "helm-firefox"; @@ -14022,12 +14878,12 @@ helm-ghq = callPackage ({ fetchFromGitHub, fetchurl, helm, lib, melpaBuild }: melpaBuild { pname = "helm-ghq"; - version = "1.6.0"; + version = "1.7.0"; src = fetchFromGitHub { owner = "masutaka"; repo = "emacs-helm-ghq"; - rev = "db37bfe290b234ed3f39dcce24667072172ded41"; - sha256 = "0y379qap3mssz9nslb08vfzq5ihqcm156fbx0dszgz9d6xgkpdhw"; + rev = "21ccdb537a3be3d9351e01c6365df8e804e8bc56"; + sha256 = "1v3h6dszj223yvlkrjj6r4jwiyaj3iswbcl5d4ffwgaf72cxm4gn"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e94eec646def7c77b15f6a6ac1841200848e62c7/recipes/helm-ghq"; @@ -14040,22 +14896,22 @@ license = lib.licenses.free; }; }) {}; - helm-git-grep = callPackage ({ fetchFromGitHub, fetchurl, helm, lib, melpaBuild }: + helm-git-grep = callPackage ({ fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild }: melpaBuild { pname = "helm-git-grep"; - version = "0.8.0"; + version = "0.9.0"; src = fetchFromGitHub { owner = "yasuyk"; repo = "helm-git-grep"; - rev = "456ea8324eb811f099dad993ae94c8837368b23a"; - sha256 = "13p8dbfln8kcvi6iwj9mlb7vy6bda4285gagsng01j3nfrw0ck9x"; + rev = "6ca2fcd44510305cf019815d61bf65eca200c238"; + sha256 = "0qmxccwpv7l5lbhv9n7ylikzcggdr99qzci868ghf33p4zhqyrj5"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/338d28c3fe201a7b2f15793be6d540f44819f4d8/recipes/helm-git-grep"; sha256 = "1ww6a4q78w5hnwikq7y93ic2b7x070c27r946lh6p8cz1k4b8vqi"; name = "helm-git-grep"; }; - packageRequires = [ helm ]; + packageRequires = [ helm-core ]; meta = { homepage = "https://melpa.org/#/helm-git-grep"; license = lib.licenses.free; @@ -14103,22 +14959,22 @@ license = lib.licenses.free; }; }) {}; - helm-go-package = callPackage ({ deferred, fetchFromGitHub, fetchurl, go-mode, helm, lib, melpaBuild }: + helm-go-package = callPackage ({ deferred, emacs, fetchFromGitHub, fetchurl, go-mode, helm-core, lib, melpaBuild }: melpaBuild { pname = "helm-go-package"; - version = "0.1"; + version = "0.3.0"; src = fetchFromGitHub { owner = "yasuyk"; repo = "helm-go-package"; - rev = "2204710b8a8e68c8cd4c8528eb6de4ad900941da"; - sha256 = "0h3iql8dxq80vpr1cv7fdaw0aniykp2rfzh07j5941jkiy4q63h0"; + rev = "7db5ea9ce97502152a6bb1fe38f8fabb5a49abd2"; + sha256 = "08llqkswilzsigh28w9qjbqi5g5z0ylfabz5sqia7c18gjshvz0h"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/449d272b94c189176305ca17652d76adac087ce5/recipes/helm-go-package"; sha256 = "102yhn1xg83l67yaq3brn35a03fkvqqhad10rq0h39n4i1slq3z6"; name = "helm-go-package"; }; - packageRequires = [ deferred go-mode helm ]; + packageRequires = [ deferred emacs go-mode helm-core ]; meta = { homepage = "https://melpa.org/#/helm-go-package"; license = lib.licenses.free; @@ -14232,12 +15088,12 @@ helm-ls-git = callPackage ({ fetchFromGitHub, fetchurl, helm, lib, melpaBuild }: melpaBuild { pname = "helm-ls-git"; - version = "1.8.0"; + version = "1.9.0"; src = fetchFromGitHub { owner = "emacs-helm"; repo = "helm-ls-git"; - rev = "c5e43f4083af3949c5d5afdfbbf26d01881cb0e2"; - sha256 = "0azs971d7pqd4ddxzy7bfs52cmrjbafwrcnf57afw39d772rzpdf"; + rev = "742eeb6c33253b2be581e30b5d70113cd87a581d"; + sha256 = "1dmmz6ghi21kmwprcv174pq5m198cmsphg297ll1bhqczk51j9h5"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b487b4c0db9092bb7e32aad9265b79a9d18c8478/recipes/helm-ls-git"; @@ -14337,12 +15193,12 @@ helm-mt = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, multi-term }: melpaBuild { pname = "helm-mt"; - version = "0.8"; + version = "0.9"; src = fetchFromGitHub { owner = "dfdeshom"; repo = "helm-mt"; - rev = "10790691f083c3806c9e85758b7ea73b5e24c5ed"; - sha256 = "1k1jzzxygpmxnj07br7ah2582sdj67vqmipykz7yzrprd8r9c8fw"; + rev = "d2bff4100118483bc398c56d0ff095294209265b"; + sha256 = "1wci63y0vjvrvrylkhhrz8p9q0ml6la5cpj4rx5cwin9rkmislm6"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e726bf0b9b3f371b21f1f0d75175e0dda62f6fb0/recipes/helm-mt"; @@ -14376,22 +15232,43 @@ license = lib.licenses.free; }; }) {}; - helm-open-github = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, gh, helm-core, lib, melpaBuild }: + helm-notmuch = callPackage ({ fetchFromGitHub, fetchurl, helm, lib, melpaBuild, notmuch }: + melpaBuild { + pname = "helm-notmuch"; + version = "1.0"; + src = fetchFromGitHub { + owner = "xuchunyang"; + repo = "helm-notmuch"; + rev = "7d03cd9fed32b49a1f200c65ed38086c9f19cfaf"; + sha256 = "10nx6wnd2vfqxv9zr8brml0l9mfx8rrid3lbqgs8wr9313ra3360"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/98667b3aa43d3e0f6174eeef82acaf71d7019aac/recipes/helm-notmuch"; + sha256 = "1ixdc1ba4ygxl0lpg6ijk06dgj2hfv5p5k6ivq60ss0axyisnnv0"; + name = "helm-notmuch"; + }; + packageRequires = [ helm notmuch ]; + meta = { + homepage = "https://melpa.org/#/helm-notmuch"; + license = lib.licenses.free; + }; + }) {}; + helm-open-github = callPackage ({ emacs, fetchFromGitHub, fetchurl, gh, helm-core, lib, melpaBuild }: melpaBuild { pname = "helm-open-github"; - version = "0.14"; + version = "0.15"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-helm-open-github"; - rev = "95140bbacc66320a032d3cdd9e1c31aeb47eb83d"; - sha256 = "1hq1nnmgkx0a8sv6g8k4v9f0102qg7jga0hcjnr8lcji51nqrcya"; + rev = "553f3ab0fe0a028015e9b6cb7c35fb139ec222fc"; + sha256 = "1xj5b44nkdvbxhk1bnllqm2qq393w22ccy708prrhiq8fmk53aa8"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/81f0f525680fea98e804f39dbde1dada887e8821/recipes/helm-open-github"; sha256 = "1wqlwg21s9pjgcrwr8kdrppinmjn235nadkp4003g0md1d64zxpx"; name = "helm-open-github"; }; - packageRequires = [ cl-lib gh helm-core ]; + packageRequires = [ emacs gh helm-core ]; meta = { homepage = "https://melpa.org/#/helm-open-github"; license = lib.licenses.free; @@ -14400,12 +15277,12 @@ helm-org-rifle = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, s }: melpaBuild { pname = "helm-org-rifle"; - version = "1.2.0"; + version = "1.3.0"; src = fetchFromGitHub { owner = "alphapapa"; repo = "helm-org-rifle"; - rev = "c3913b6e1d19e957c0b5a2d0243388e224a42a8a"; - sha256 = "02yjnag9wr9dk93z41f0i5mqij9bz57fxkv4nddabyc18k7zfrhj"; + rev = "c8ad1d86dd375f1be433b95e2bc40876f663663f"; + sha256 = "1ia960sqkbc5bqljjb0arw54q90x36lhp0230s75xcg6m47bxpw3"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f39cc94dde5aaf0d6cfea5c98dd52cdb0bcb1615/recipes/helm-org-rifle"; @@ -14649,6 +15526,27 @@ license = lib.licenses.free; }; }) {}; + helm-rdefs = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }: + melpaBuild { + pname = "helm-rdefs"; + version = "1.0.1"; + src = fetchFromGitHub { + owner = "saidie"; + repo = "emacs-helm-rdefs"; + rev = "cd3a6b3af3015ee58ef30cb7c81c79ebe5fc867b"; + sha256 = "0ji7ak9pkmw0wxzmw5a1amvn3pkj90v9jv1yi12w388njxn7qsvj"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/e1c7a20847513dc1153d54a3a700bc120f71dc6b/recipes/helm-rdefs"; + sha256 = "0z3nrqrz63j9nxkbxdsjj3z8zhsqlik28iry3j1plgsxq1mhrn0y"; + name = "helm-rdefs"; + }; + packageRequires = [ emacs helm ]; + meta = { + homepage = "https://melpa.org/#/helm-rdefs"; + license = lib.licenses.free; + }; + }) {}; helm-recoll = callPackage ({ fetchFromGitHub, fetchurl, helm, lib, melpaBuild }: melpaBuild { pname = "helm-recoll"; @@ -14733,22 +15631,43 @@ license = lib.licenses.free; }; }) {}; - helm-spaces = callPackage ({ fetchFromGitHub, fetchurl, helm, lib, melpaBuild, spaces }: + helm-smex = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, smex }: + melpaBuild { + pname = "helm-smex"; + version = "0.2"; + src = fetchFromGitHub { + owner = "ptrv"; + repo = "helm-smex"; + rev = "7af4e4b44671f739b39584fc50c20084700701ac"; + sha256 = "1dhzglpd48mb47iyii8igb1dldvnr4alg18m7g8xb529dx8z9wni"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/85568bd732da952053148e07b95e53f7caf5f62c/recipes/helm-smex"; + sha256 = "02jvq2hyq4wwc9v8gaxr9vkjldc60khdbjf71p8w2iny5w3k0jbj"; + name = "helm-smex"; + }; + packageRequires = [ emacs helm smex ]; + meta = { + homepage = "https://melpa.org/#/helm-smex"; + license = lib.licenses.free; + }; + }) {}; + helm-spaces = callPackage ({ fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild, spaces }: melpaBuild { pname = "helm-spaces"; - version = "0.3"; + version = "0.4"; src = fetchFromGitHub { owner = "yasuyk"; repo = "helm-spaces"; - rev = "141266a958feaf7a2e474ff4a5d4cd686919e942"; - sha256 = "13j3rgg5zfpxds6vsyq0aqws1f3p5y5dsq8558nqsymqvycpn047"; + rev = "877e2b5178926308d6a7c2a37477bb12c33a96d4"; + sha256 = "1cz8aw6zprzfalagma7jmbycwll2chk2l4n5hkgqyhakdfm2ryzm"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8c2ffb50643223b68a62fab348cd5aba24ce92e6/recipes/helm-spaces"; sha256 = "0hdvkk173k98iycvii5xpbiblx044125pl7jyz4kb8r1vvwcv791"; name = "helm-spaces"; }; - packageRequires = [ helm spaces ]; + packageRequires = [ helm-core spaces ]; meta = { homepage = "https://melpa.org/#/helm-spaces"; license = lib.licenses.free; @@ -15051,12 +15970,12 @@ hindent = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "hindent"; - version = "5.2.0"; + version = "5.2.1"; src = fetchFromGitHub { owner = "chrisdone"; repo = "hindent"; - rev = "7d883bfa80dcb6fd2bf6c559cc8250fe0c4f80d7"; - sha256 = "1dil3lspcidvdq99h7an7n6mvylwmf8s4xmaqbpdbc4rwiijjhkl"; + rev = "5de979e1e001608c9fe73d552c4e29110957bbb8"; + sha256 = "1qaklfhf92zibj2wrpiyjqrzba7j00iqzb46nd7p64wyqqhh7ncp"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/dbae71a47446095f768be35e689025aed57f462f/recipes/hindent"; @@ -15219,12 +16138,12 @@ hl-todo = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "hl-todo"; - version = "1.7.1"; + version = "1.7.4"; src = fetchFromGitHub { owner = "tarsius"; repo = "hl-todo"; - rev = "215ff60d7a4097b5104edaf2784f9a3257db4403"; - sha256 = "1f7dz1r42qy3dwsqx7x802m7v4jfnmfp2q4678gs8d0scgxxfqb4"; + rev = "a23312464fc6462d559462a44cd74735e9f73421"; + sha256 = "0sy0fjmh1m36ajzfmxa2j9akws5qa8a4f1qmj3wgj9vdqd043mr8"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7c262f6a1a10e8b3cc30151cad2e34ceb66c6ed7/recipes/hl-todo"; @@ -15363,6 +16282,27 @@ license = lib.licenses.free; }; }) {}; + htmlize = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "htmlize"; + version = "1.51"; + src = fetchFromGitHub { + owner = "hniksic"; + repo = "emacs-htmlize"; + rev = "88e2cb6588827893d7bc619529393887c264d15a"; + sha256 = "09xpv8dsc39a7w9s6xnilc5kh1krs2jw8cklizxzz4gp36hrsj2n"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/075aa00a0757c6cd1ad392f0300bf5f1b937648d/recipes/htmlize"; + sha256 = "16nvvsi4nxi0zzk5a6mwmp43p0ls20zdx9r18mxz6bsaw6jangh2"; + name = "htmlize"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/htmlize"; + license = lib.licenses.free; + }; + }) {}; httpcode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "httpcode"; @@ -15405,6 +16345,27 @@ license = lib.licenses.free; }; }) {}; + hungry-delete = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "hungry-delete"; + version = "1.1.5"; + src = fetchFromGitHub { + owner = "nflath"; + repo = "hungry-delete"; + rev = "78a787a87aceb821818bbe2a322fbf2e5cbf80c3"; + sha256 = "171s7akqcpj0jcbm8w19b4n9kdzw0acf7cv0ymwdz5mmgmfiy292"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/e33960d9b7e24f830ebe4e5a26a562422d52fe97/recipes/hungry-delete"; + sha256 = "0hcsm3yndkyfqzb77ibx7df6bjppc34x5yabi6nd389pdscp9rpz"; + name = "hungry-delete"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/hungry-delete"; + license = lib.licenses.free; + }; + }) {}; hyai = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "hyai"; @@ -15639,12 +16600,12 @@ ido-describe-bindings = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ido-describe-bindings"; - version = "0.0.9"; + version = "0.0.11"; src = fetchFromGitHub { owner = "danil"; repo = "ido-describe-bindings"; - rev = "1f5c78bf56f2cab137a323ec426e906f2215bf7f"; - sha256 = "0055dda1la7yah33xsi19j4hcdmqp17ily2dvkipm4y6d3ww8yqa"; + rev = "a142ff1c33df23ed9665497d0dcae2943b3c706a"; + sha256 = "0967709jyp9s04i6gi90axgqzhz03cdf1j1w39yrkds6q1b6v7jw"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/31b8e255630f1348a5b5730f7b624ad550d219ad/recipes/ido-describe-bindings"; @@ -15828,12 +16789,12 @@ iedit = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "iedit"; - version = "0.9.9"; + version = "0.9.9.9"; src = fetchFromGitHub { owner = "victorhge"; repo = "iedit"; - rev = "b95c35107a429d63b99f888b52eb0f74105d0da0"; - sha256 = "06qv95bgcb6n3zcjs2i1q80v9040z7m9pb9xbhxmqzcx68vpbpdm"; + rev = "39919478f9472ce7a808ca601f4c19261ecc2f99"; + sha256 = "1pwkrm98vlpzsy5iwwfksdaz3zzyi7bvdf5fglhsn4ssf47p787g"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/aa2b2745bd1f1778070954c834158c19d4cfb788/recipes/iedit"; @@ -15954,12 +16915,12 @@ imapfilter = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "imapfilter"; - version = "1.0.1"; + version = "1.0.2"; src = fetchFromGitHub { owner = "tarsius"; repo = "imapfilter"; - rev = "f3aca4c07178c56080e4c85875f78321e94a9649"; - sha256 = "15lflvpapm5749qq7jzdwbd0isb89i6df3np4wn9y9gjl7y92wk7"; + rev = "a879ddc36fedc30311693f308f414c520fdfc370"; + sha256 = "0rx4r6822iwl4gb9j0fii0sqinqvp3lzrc768rasgicgpklaqkjs"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2415894afa3404fbd73c84c58f8b8267187d6d86/recipes/imapfilter"; @@ -16098,22 +17059,43 @@ license = lib.licenses.free; }; }) {}; - import-popwin = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, popwin }: + import-js = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "import-js"; + version = "0.7.0"; + src = fetchFromGitHub { + owner = "galooshi"; + repo = "emacs-import-js"; + rev = "231d3d5924adea2d0127aa50acbd2b6a4bab5d25"; + sha256 = "1zsjaz69gbfmsy0zr6byag31m9jv3nglhxhz56xzhaabsk218f74"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/048344edd471a473c9e32945b021b3f26f1666e0/recipes/import-js"; + sha256 = "0qzr4vfv3whdly73k7x621dwznca7nlhd3gpppr2w2sg12jym5ha"; + name = "import-js"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/import-js"; + license = lib.licenses.free; + }; + }) {}; + import-popwin = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, popwin }: melpaBuild { pname = "import-popwin"; - version = "0.9"; + version = "0.10"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-import-popwin"; - rev = "34c3b34ffcadafea71600acb8f4e5ba385e6da19"; - sha256 = "0ycsdwwfb27g85aby4jix1aj41a4vq6bf541iwla0xh3wsyxb01w"; + rev = "6a21efc7fd44f8c2484d22eadf298e4bfd4bc003"; + sha256 = "1h4c3cib87hvgp37c30lx7cpyxvgdsb9hp7z0nfrkbbif0acrj2i"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a6f0629515f36e2e98839a6894ca8c0f58862dc2/recipes/import-popwin"; sha256 = "0vkw6y09m68bvvn1wzah4gzm69z099xnqhn359xfns2ljm74bvgy"; name = "import-popwin"; }; - packageRequires = [ cl-lib popwin ]; + packageRequires = [ emacs popwin ]; meta = { homepage = "https://melpa.org/#/import-popwin"; license = lib.licenses.free; @@ -16164,12 +17146,12 @@ inf-ruby = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "inf-ruby"; - version = "2.4.0"; + version = "2.5.0"; src = fetchFromGitHub { owner = "nonsequitur"; repo = "inf-ruby"; - rev = "d130ede56a1203d0aa1c8e5bca5fedbfb14e7ce8"; - sha256 = "11zsprv5ycnfqi358dd4cx70dbn6a8hccd4prf28lln7vhldbmjz"; + rev = "54eb6bf6d68d71bdac63fcb2042d8e1c554b427f"; + sha256 = "0yqcl2r8kwdl99704vm8qsdzziidznp0gpyr29ipya7fl24nkfxr"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/inf-ruby"; @@ -16182,27 +17164,48 @@ license = lib.licenses.free; }; }) {}; - inflections = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + inflections = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "inflections"; - version = "2.3"; + version = "2.4"; src = fetchFromGitHub { owner = "eschulte"; repo = "jump.el"; - rev = "fb7355615276f00397b15182076bf472336448a9"; - sha256 = "1fm69g4mrmdchvxr062bk7n1jvs2rrscddb02cldb5bgdrcw8g6j"; + rev = "fb3dd59f21f77016742de40028aee92176c0917a"; + sha256 = "1alncmx4q2szvlzg57332zmqm6rsgzf12kfg9l1vb5s9vgd1ki5p"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/392c7616d27bf12b29ef3c2ea71e42ffaea81cc6/recipes/inflections"; sha256 = "0f02bhm2a5xiaxnf2c2hlpa4p121xfyyj3c59fy0yldipdxhvw70"; name = "inflections"; }; - packageRequires = []; + packageRequires = [ cl-lib emacs ]; meta = { homepage = "https://melpa.org/#/inflections"; license = lib.licenses.free; }; }) {}; + inherit-local = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "inherit-local"; + version = "1.1"; + src = fetchFromGitHub { + owner = "shlevy"; + repo = "inherit-local"; + rev = "e687c702adb27ce5f69fb28a47fe21a86cf84063"; + sha256 = "11z3b1xwg6r769w3scd29lqg62fx8mp81g8dbx4klmj3clvyn69i"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/08b978724ff26b3ea7a134d307d888c80e2a92a9/recipes/inherit-local"; + sha256 = "1v3q3s6qq64k1f4ck6rfgsy1arnf9cxg2kw6d1ahfrwr4ixsqm87"; + name = "inherit-local"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/inherit-local"; + license = lib.licenses.free; + }; + }) {}; init-loader = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "init-loader"; @@ -16227,12 +17230,12 @@ init-open-recentf = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "init-open-recentf"; - version = "0.0.2"; + version = "0.0.3"; src = fetchFromGitHub { owner = "zonuexe"; repo = "init-open-recentf.el"; - rev = "39da6a50e7f39e6ccd9aada0c20d8b6d501cb487"; - sha256 = "06w1vnfhjy8g62z6xajin5akgh30pa0kk56am61kv6mi5ia8fc96"; + rev = "a4f5338a14302d44fa5aebb1ddc7aff3dc9abbe3"; + sha256 = "0iph5cpz2dva1rnvp5xynmkndny87z308pziadk1qgf05mc0i61d"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4db8b6eced50726c788d7343137f6b4558575abf/recipes/init-open-recentf"; @@ -16349,6 +17352,27 @@ license = lib.licenses.free; }; }) {}; + intellij-theme = callPackage ({ fetchFromGitLab, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "intellij-theme"; + version = "1.0"; + src = fetchFromGitLab { + owner = "fommil"; + repo = "emacs-intellij-theme"; + rev = "c4b4a7ecdad6ed57545c114b40da9f76371f566e"; + sha256 = "1wz6j7szb271g1baf6jj4k4kw1dfiz8l677vrazx4wyqdpmzlk0c"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/cfe86071b2e84929476a771da99341f4a73cfd06/recipes/intellij-theme"; + sha256 = "1g8cninmq840sl8fmhq2hcsmz7nccbjmprzcl8w1zdavfp86b97g"; + name = "intellij-theme"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/intellij-theme"; + license = lib.licenses.free; + }; + }) {}; interleave = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "interleave"; @@ -16373,12 +17397,12 @@ intero = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, flycheck, haskell-mode, lib, melpaBuild }: melpaBuild { pname = "intero"; - version = "0.1.18"; + version = "0.1.20"; src = fetchFromGitHub { owner = "commercialhaskell"; repo = "intero"; - rev = "5378bb637c76c48eca64ccda0c855f7557aecb60"; - sha256 = "1vgmbs790l8z90bk8sib3xvli06p1nkrjnnvlnhsjzkkpxynf2nf"; + rev = "402722b5ad035b87fc08bc73343f05610a5fcb3c"; + sha256 = "143y94b4spslh06x4klvsvil7ywn3cmrad4mg1qc0y0h0d9ksd4v"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1b56ca344ad944e03b669a9974e9b734b5b445bb/recipes/intero"; @@ -16436,12 +17460,12 @@ irony = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, json ? null, lib, melpaBuild }: melpaBuild { pname = "irony"; - version = "0.2.0"; + version = "0.2.1"; src = fetchFromGitHub { owner = "Sarcasm"; repo = "irony-mode"; - rev = "3d64dec24b01bc582801db537ed12a5812f4f0ee"; - sha256 = "1y72xhs978ah53fmp10pa8riscx94y9bjvr26wk2f3zc94c6cq3d"; + rev = "250ed1e03359fe5b29070da13cd55abc6deb0cda"; + sha256 = "168bnirfqpgiqmrjs52ixzqzq074y9szvxi6bml9zbxi8dcmafaq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d2b6a8d57b192325dcd30fddc9ff8dd1516ad680/recipes/irony"; @@ -16496,6 +17520,27 @@ license = lib.licenses.free; }; }) {}; + ivy-bibtex = callPackage ({ biblio, cl-lib ? null, dash, f, fetchFromGitHub, fetchurl, lib, melpaBuild, parsebib, s, swiper }: + melpaBuild { + pname = "ivy-bibtex"; + version = "2.0.0"; + src = fetchFromGitHub { + owner = "tmalsburg"; + repo = "helm-bibtex"; + rev = "d6a98ac6f28d2a6a05e203115211c98333d40aca"; + sha256 = "0arhy051945lxjqg77b275ny9nsv60cqj0qfpmvd8xkc07lqfn23"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/c23c09225c57a9b9abe0a0a770a9184ae2e58f7c/recipes/ivy-bibtex"; + sha256 = "0qni48s09lgzqr98r49dhrzpfqp9yfwga11h7vhqclscjvlalpc2"; + name = "ivy-bibtex"; + }; + packageRequires = [ biblio cl-lib dash f parsebib s swiper ]; + meta = { + homepage = "https://melpa.org/#/ivy-bibtex"; + license = lib.licenses.free; + }; + }) {}; ivy-gitlab = callPackage ({ dash, fetchFromGitHub, fetchurl, gitlab, ivy, lib, melpaBuild, s }: melpaBuild { pname = "ivy-gitlab"; @@ -16662,22 +17707,22 @@ license = lib.licenses.free; }; }) {}; - jade = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, js2-mode, lib, map, melpaBuild, seq, websocket }: + jade = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, js2-mode, lib, melpaBuild, seq, websocket }: melpaBuild { pname = "jade"; - version = "0.17"; + version = "0.26"; src = fetchFromGitHub { owner = "NicolasPetton"; repo = "jade"; - rev = "11769bf8419202819a25047f57dd9aa0c98f5ebb"; - sha256 = "09zfvcirz7hcp255yhsf7d04vrc078kk69qhwy1j31ar0rb4fy1b"; + rev = "fc0c467db0549cfa3d96ff6e0f56d0c84c493ba6"; + sha256 = "17iq0dn862xaak898lc7fmfbzxl9pyycwlmm5wn9kbbq8p6y7nrd"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b989c1bd83f20225314b6e903c5e1df972551c19/recipes/jade"; sha256 = "04w7pgn0dkppi6l15rkz8b1bcpw1dsgvvijy81a6i4nkigxxlv4y"; name = "jade"; }; - packageRequires = [ company emacs js2-mode map seq websocket ]; + packageRequires = [ company emacs js2-mode seq websocket ]; meta = { homepage = "https://melpa.org/#/jade"; license = lib.licenses.free; @@ -16854,12 +17899,12 @@ jq-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "jq-mode"; - version = "0.1.0"; + version = "0.2.0"; src = fetchFromGitHub { owner = "ljos"; repo = "jq-mode"; - rev = "7f03354a4c1e26796482c39ce543d1d1f075a18d"; - sha256 = "0ws0297v6sairvsk665wrfzymfi599g5ljshfnpmi81qnnnbwjgf"; + rev = "3237634ab42566eb50f54e4b7f3896ffd20a8e53"; + sha256 = "063j0kfp2ybaw5r9hvn9rrksh874xpm9xvpiycv33lf7kdsp5lh3"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/318705966e26e58f87b53c115c519db95874ac1c/recipes/jq-mode"; @@ -16959,12 +18004,12 @@ js2-refactor = callPackage ({ dash, fetchFromGitHub, fetchurl, js2-mode, lib, melpaBuild, multiple-cursors, s, yasnippet }: melpaBuild { pname = "js2-refactor"; - version = "0.7.1"; + version = "0.8.0"; src = fetchFromGitHub { owner = "magnars"; repo = "js2-refactor.el"; - rev = "ac3da94a33b714d44d4f0adc670a829fdc522e34"; - sha256 = "08wxsz90x5zhma3q8kqfd01avhzxjmcrjc95s757l5xaynsc2bly"; + rev = "bd73f03fc5f0d1ca1dce29e28bb43f78af483a38"; + sha256 = "1q2c61bhbr6b4a1wgqsbwxywymsxy7h3wc9fkcy3ryip3xd88b7b"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8935264dfea9bacc89fef312215624d1ad9fc437/recipes/js2-refactor"; @@ -17103,36 +18148,15 @@ license = lib.licenses.free; }; }) {}; - judge-indent = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: - melpaBuild { - pname = "judge-indent"; - version = "1.1.2"; - src = fetchFromGitHub { - owner = "yascentur"; - repo = "judge-indent-el"; - rev = "4cf8c8d3375f4d655b909a415cc4fa8d235a657a"; - sha256 = "11wybxrl2lny6vbf7qrxyf9wxw88ppvbrlfcd65paalrna2hn46h"; - }; - recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/73fb2c31f6af63145aae7c449bfde1bbb00e1100/recipes/judge-indent"; - sha256 = "1gakdhnlxfq8knnykqdw4bizb5y67m8xhi07zannd7bsfwi4k6rh"; - name = "judge-indent"; - }; - packageRequires = []; - meta = { - homepage = "https://melpa.org/#/judge-indent"; - license = lib.licenses.free; - }; - }) {}; jump = callPackage ({ fetchFromGitHub, fetchurl, findr, inflections, lib, melpaBuild }: melpaBuild { pname = "jump"; - version = "2.3"; + version = "2.4"; src = fetchFromGitHub { owner = "eschulte"; repo = "jump.el"; - rev = "fb7355615276f00397b15182076bf472336448a9"; - sha256 = "1fm69g4mrmdchvxr062bk7n1jvs2rrscddb02cldb5bgdrcw8g6j"; + rev = "fb3dd59f21f77016742de40028aee92176c0917a"; + sha256 = "1alncmx4q2szvlzg57332zmqm6rsgzf12kfg9l1vb5s9vgd1ki5p"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f0c791aebccc08b770b3969ce5d2e82cbe26f80e/recipes/jump"; @@ -17400,12 +18424,12 @@ keymap-utils = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "keymap-utils"; - version = "1.0.0"; + version = "2.1.0"; src = fetchFromGitHub { owner = "tarsius"; repo = "keymap-utils"; - rev = "34e28d4c88ad9c71aee3dd226817c6eb6927b2c7"; - sha256 = "17bfxn1bl2by3vnp24hnk6qjxx6av1fayrsw9hlldwhgp4ayhy48"; + rev = "a4f6ff724eeade5612c01c6f6bf401f264687793"; + sha256 = "0jgmw8798g3ikhwnic3fbbjld0hj8fvg50q6x78pngf78ws92mkl"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c03acebf1462dea36c81d4b9ab41e2e5739be3c3/recipes/keymap-utils"; @@ -17610,12 +18634,12 @@ kurecolor = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "kurecolor"; - version = "1.2.2"; + version = "1.2.4"; src = fetchFromGitHub { owner = "emacsfodder"; repo = "kurecolor"; - rev = "c8c72cea04e51f57701d2dd9be7dba5f3412e2f3"; - sha256 = "0da4y9pf6vq0i6w7bmvrszg9bji3ylhr44hmyrmxvah28pigb2fz"; + rev = "eb894bcb0769ce73404734f14f7582661abe02c8"; + sha256 = "118csp4pi1dxm9grmd006d9wmdplnx8gnk02hbfrl639k7hnnd8z"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/58a5ebdbf82e83e6602161bca049d468887abe02/recipes/kurecolor"; @@ -17694,12 +18718,12 @@ latex-unicode-math-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "latex-unicode-math-mode"; - version = "0.2.6"; + version = "0.3.1"; src = fetchFromGitHub { owner = "Christoph-D"; repo = "latex-unicode-math-mode"; - rev = "54ddb8742c50a338639625183f7315278fa7369c"; - sha256 = "1yp6nicz0zzd28hfpi94shgj76l1h68mbw875c7x9abyhfz06sfm"; + rev = "3b82347291edcb32e4062b0048c367a3079b3e8c"; + sha256 = "1xylfg8xpyb2m0qnysf58cl05ibbg4drhgq7msiiql2qrdzvpx9f"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9c021dfad8928c1a352e0ef5526eefa6c0a9cb37/recipes/latex-unicode-math-mode"; @@ -17736,12 +18760,12 @@ leanote = callPackage ({ async, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild, pcache, request, s }: melpaBuild { pname = "leanote"; - version = "0.3.6"; + version = "0.4.0"; src = fetchFromGitHub { owner = "aborn"; repo = "leanote-emacs"; - rev = "60368f2629ec4eac97c2a9d1ad043efd84454925"; - sha256 = "01y4ilrjhf7y3a1r514ahxpa7cl1w5xdj01lxal2a3bhxbkzcvrp"; + rev = "1bd49fdf13ef707bae7edaa724a1592aa7fb002f"; + sha256 = "1k58rhk5p819cvfa6zg7j3ysvzhq6dc433fzhh1ff0gwga2vrqbz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b00b806ae4562ca5a74f41c12ef35bfa597bcfa8/recipes/leanote"; @@ -17760,13 +18784,13 @@ version = "3.1.1"; src = fetchFromGitHub { owner = "ledger"; - repo = "ledger"; - rev = "67d21ed4b083424831e51a649060fbde7c2f735b"; - sha256 = "0jkalp1sggdj0nsms7jlyll9fzq3xxjf110jqwk9ydid0farbyzi"; + repo = "ledger-mode"; + rev = "96c4e81eed52e0ef514dc15a6ea6d877b3409a2a"; + sha256 = "12q6wblwnb6y5c1882jz14742fqbm6p5jpzlvz7p90ylqfl7h989"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/93c54a327f226bf7e6a0ab4a3368a0e1ca169e62/recipes/ledger-mode"; - sha256 = "0hi9waxmw1bbg88brlr3816vhdi0jj05wcwvrvfc1agvrvzyqq8s"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/851eca11911b337f809d030785dc2608c8a47424/recipes/ledger-mode"; + sha256 = "19vljgprgfpb9bkbdvkqnwc5pjn1rl0rniwav08a2c6kd2g59xaf"; name = "ledger-mode"; }; packageRequires = []; @@ -17799,12 +18823,12 @@ less-css-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "less-css-mode"; - version = "0.20"; + version = "0.21"; src = fetchFromGitHub { owner = "purcell"; repo = "less-css-mode"; - rev = "d59a3ff4031ae75fbbe77b6cfce7843205394c28"; - sha256 = "1w6mbk4gc63sh2p9rsy851x2kid0dp2ja4ai5badkr5prxkcpfdn"; + rev = "59bf174c4e9f053ec2a7ef8c8a8198490390f6fb"; + sha256 = "1rkjamdy2a80w439vb2hhr7vqjj47wi2azlr7yq2xdz9851xsx9f"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/less-css-mode"; @@ -17841,12 +18865,12 @@ lfe-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "lfe-mode"; - version = "1.1.1"; + version = "1.2.1"; src = fetchFromGitHub { owner = "rvirding"; repo = "lfe"; - rev = "697e9b4996fa843f4c6a9edea25005d30a9b8a14"; - sha256 = "0w1vpjqj8ni43gi84i0mcml4gfaqhmmd9s46di37cngpdw86i3bz"; + rev = "d722d3662b191b61310dc9bba78f9a77f512b742"; + sha256 = "0j5gjlsk92y14kxgvd80q9vwyhmjkphpzadcswyjxikgahwg1avz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c44bdb00707c9ef90160e0a44f7148b480635132/recipes/lfe-mode"; @@ -18142,12 +19166,12 @@ live-py-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "live-py-mode"; - version = "2.12.0"; + version = "2.13.0"; src = fetchFromGitHub { owner = "donkirkby"; repo = "live-py-plugin"; - rev = "8f782f58aa2fa2c805b6f488ade9e1c33fed6edb"; - sha256 = "0vmkqlgiahcc6aa0ky4jjdc5nxnn2i7qwfl6wkgy5rmq051nk4k0"; + rev = "469ed0ccf146deab8c2ebbb162be7be31709da0a"; + sha256 = "1qv6v27fjfq0h3i7d2nry752r9fwqf5llilngy5l3yimqddm2k4d"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c7615237e80b46b5c50cb51a3ed5b07d92566fb7/recipes/live-py-mode"; @@ -18268,12 +19292,12 @@ logview = callPackage ({ datetime, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "logview"; - version = "0.5"; + version = "0.5.3"; src = fetchFromGitHub { owner = "doublep"; repo = "logview"; - rev = "cd63640f3ab15e9a50f4cf250f6828e428fbb345"; - sha256 = "0a3cx96nv64xxsvvxca966kmwd3hacvday936kd1yfdf2bmgiw6z"; + rev = "4f1db3f2081e819dd35545497529a03466bd0397"; + sha256 = "0f96wxijls743qyqfgkdqil3p5nn0sm02rlz1nqkm6bd8k28rcg1"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1df3c11ed7738f32e6ae457647e62847701c8b19/recipes/logview"; @@ -18415,12 +19439,12 @@ magic-filetype = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "magic-filetype"; - version = "0.1.3"; + version = "0.2.1"; src = fetchFromGitHub { owner = "zonuexe"; repo = "magic-filetype.el"; - rev = "bccd17a8d152e4a2692c2bd71999f1d53c00262a"; - sha256 = "1rw5lvcj2v4b21akmsinkz24fbmp19s3jdqsd8jgmk3qqv0z81fc"; + rev = "0dfe3d9e0e22c7b06e34c8338f110e337306e3fd"; + sha256 = "1yjn2w0ykczhlj4q3dnfw2z4q66201dn3jz31yw7hh8bxjlsvwfh"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0d6027c5a66386f7140305a4cde12d66da4dfa09/recipes/magic-filetype"; @@ -18436,12 +19460,12 @@ magit = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, git-commit, lib, magit-popup, melpaBuild, with-editor }: melpaBuild { pname = "magit"; - version = "2.8.0"; + version = "2.9.0"; src = fetchFromGitHub { owner = "magit"; repo = "magit"; - rev = "570a0320bdd7437fc35a36d78a1c28e1ee19ce88"; - sha256 = "040wc4nj9r3vlma42sc24x4w25rm2kpzwyq44jw3njjk3b7q9avp"; + rev = "acb8efe770b55ae23f24cf8d2dc4e62bc37c1b88"; + sha256 = "11vhdz75yqp0c9vp64mv2c2bh4dwb8skvix5gbqhfykd5wa565ay"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/68bb049b7c4424345f5c1aea82e950a5e47e9e47/recipes/magit"; @@ -18464,12 +19488,12 @@ magit-annex = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, magit, melpaBuild }: melpaBuild { pname = "magit-annex"; - version = "1.2.0"; + version = "1.3.0"; src = fetchFromGitHub { owner = "magit"; repo = "magit-annex"; - rev = "b5d4389aa63ab4a03776120d2bd89229aa7d5238"; - sha256 = "19w8143c4spa856xyzx8fylndbj4s9nwn27f6v1ckqxvm5l0pph0"; + rev = "74e0343b4152ad5c0d4f77f9f15dd6f1b02de432"; + sha256 = "08mpnj9c43p528iy3hj8yljhzpkpjxkjiaiiss5n2jgyyc64hw9z"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/magit-annex"; @@ -18590,12 +19614,12 @@ magit-popup = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "magit-popup"; - version = "2.8.0"; + version = "2.9.0"; src = fetchFromGitHub { owner = "magit"; repo = "magit"; - rev = "570a0320bdd7437fc35a36d78a1c28e1ee19ce88"; - sha256 = "040wc4nj9r3vlma42sc24x4w25rm2kpzwyq44jw3njjk3b7q9avp"; + rev = "acb8efe770b55ae23f24cf8d2dc4e62bc37c1b88"; + sha256 = "11vhdz75yqp0c9vp64mv2c2bh4dwb8skvix5gbqhfykd5wa565ay"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/magit-popup"; @@ -18611,12 +19635,12 @@ magit-rockstar = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, magit, melpaBuild }: melpaBuild { pname = "magit-rockstar"; - version = "1.0.4"; + version = "1.0.5"; src = fetchFromGitHub { owner = "tarsius"; repo = "magit-rockstar"; - rev = "47780d27141ba50f225f0bd8109f92ba6d1db8d5"; - sha256 = "075gxm4shbh5zfr17zpfn35w8ndgz9aqz6y3wws23wa4ff2n8kdc"; + rev = "bccce1ac8e012f52e29470c1c7d815f9bb1a192b"; + sha256 = "0z411x2w6ldy3b8qbavfvfgvkbjd1rl0m1plr44ynp55awrhj0k2"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7a20b539cbd38ffa546c1b56b9fac78c0b9457f6/recipes/magit-rockstar"; @@ -18632,12 +19656,12 @@ magit-stgit = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, magit, melpaBuild }: melpaBuild { pname = "magit-stgit"; - version = "2.1.2"; + version = "2.1.3"; src = fetchFromGitHub { owner = "magit"; repo = "magit-stgit"; - rev = "d1793345a8d32b2c509077d634ca73148a68de4b"; - sha256 = "1mk8g8rr9vf8jm0mmsj33p8gc71nhlv3847hvqywy6z40nhcjnyb"; + rev = "1b064485d512ab547d606dcea9ad4298f355095c"; + sha256 = "01mgnm5nr2yg377pk4bwlzzgbabsx611wrpx2vzsbiwd97yppdqf"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/magit-stgit"; @@ -18653,12 +19677,12 @@ magit-svn = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, magit, melpaBuild }: melpaBuild { pname = "magit-svn"; - version = "2.1.1"; + version = "2.1.2"; src = fetchFromGitHub { owner = "magit"; repo = "magit-svn"; - rev = "c6222981d4aae088d658cce5e58a14efea8590d6"; - sha256 = "1g8zq0s38di96wlhljp370kyj4a0ir1z3vb94k66v2m5nj83ap68"; + rev = "63a47732cc112d24db26052ffad93895319b60cf"; + sha256 = "1g2isa8n2j8kk0c5iwx8qai8k14sazwkc3dwhcpchm3zs0bfpdm3"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/magit-svn"; @@ -18674,12 +19698,12 @@ magit-topgit = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, magit, melpaBuild }: melpaBuild { pname = "magit-topgit"; - version = "2.1.1"; + version = "2.1.2"; src = fetchFromGitHub { owner = "magit"; repo = "magit-topgit"; - rev = "732de604c31c74e9da24616428c6e9668b57c881"; - sha256 = "0dj183vphnvz9k2amga0ydcb4gkjxr28qz67055mxrf89q1qjq33"; + rev = "11489ea798bc88d0ea5244bbf725285eedfefbef"; + sha256 = "1y7ss475ibjx354m73jn5dxd98g33jcijx48b30p45rbm6ha3i8q"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/magit-topgit"; @@ -18692,6 +19716,27 @@ license = lib.licenses.free; }; }) {}; + magithub = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, magit, melpaBuild }: + melpaBuild { + pname = "magithub"; + version = "0.1"; + src = fetchFromGitHub { + owner = "vermiculus"; + repo = "magithub"; + rev = "c94ff69749dd14200956e0b59a3757618c594730"; + sha256 = "12z9gl5lrvdfvhvk213phhgddvvr3y3hpigpzzcq0jla65db367b"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/4605012c9d43403e968609710375e34f1b010235/recipes/magithub"; + sha256 = "1c3rbav13rw16ngjhjwnz80v653k8df63fkw0kayd80xrkxhrkxw"; + name = "magithub"; + }; + packageRequires = [ emacs magit ]; + meta = { + homepage = "https://melpa.org/#/magithub"; + license = lib.licenses.free; + }; + }) {}; make-color = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "make-color"; @@ -18926,16 +19971,16 @@ markdown-preview-mode = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, markdown-mode, melpaBuild, websocket }: melpaBuild { pname = "markdown-preview-mode"; - version = "0.6"; + version = "0.7"; src = fetchFromGitHub { owner = "ancane"; repo = "markdown-preview-mode"; - rev = "25f1de28390a0b7be493e8f168749d851784ce12"; - sha256 = "116jms95wfdhlbcyn10nqq452jkplvhqwsl7al8f1zx4rn22snra"; + rev = "2fc9f06fdf8489a2d5661b794941abb6f863f194"; + sha256 = "0grljxihip0xyfm47ljwz6hy4kn30vw69bv4w5dw8kr33d51y5ym"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/011d26360a109b074cdecbcb133269ec6452ab86/recipes/markdown-preview-mode"; - sha256 = "0i0mld45d8y96nkqn2r77nvbyw6wgsf8r54d3c2jrv04mnaxs7pg"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/d3c5d222cf0d7eca6a4e3eb914907f8ca58e40f0/recipes/markdown-preview-mode"; + sha256 = "1cam5wfxca91q3i1kl0qbdvnfy62hr5ksargi4430kgaz34bcbyn"; name = "markdown-preview-mode"; }; packageRequires = [ cl-lib markdown-mode websocket ]; @@ -18986,27 +20031,6 @@ license = lib.licenses.free; }; }) {}; - marmalade = callPackage ({ fetchFromGitHub, fetchurl, furl, lib, melpaBuild }: - melpaBuild { - pname = "marmalade"; - version = "0.0.4"; - src = fetchFromGitHub { - owner = "nex3"; - repo = "marmalade"; - rev = "01d6ddf5f0e822d6df393aa4546b069b2d6545d7"; - sha256 = "0pbli67wia8pximvgd68x6i9acdgsk51g9hjpqfm49rqg5nqalh9"; - }; - recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/82a61911de111f6ef3a99fef0a0f93ab549ab261/recipes/marmalade"; - sha256 = "0ppa2s1fma1lc01byanfxpxfrjqk2snxbsmdbkcipjdi5dpb0a9s"; - name = "marmalade"; - }; - packageRequires = [ furl ]; - meta = { - homepage = "https://melpa.org/#/marmalade"; - license = lib.licenses.free; - }; - }) {}; marshal = callPackage ({ eieio ? null, fetchFromGitHub, fetchurl, ht, json ? null, lib, melpaBuild }: melpaBuild { pname = "marshal"; @@ -19031,12 +20055,12 @@ material-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "material-theme"; - version = "1.0"; + version = "1.1"; src = fetchFromGitHub { owner = "cpaulik"; repo = "emacs-material-theme"; - rev = "b465a4f2112240df9e65f8326160d0c3e09a5a89"; - sha256 = "05cjgjmawndmgw2dl71sx5msj8csn0jr72rfxnw7jx24p4c33nkk"; + rev = "0890ff69a0fa1f908e79d0f68b1bb3cf0d55af40"; + sha256 = "0fd868ph4kdzp889j18wl4j5lypd5ggf1s69hz5sg0sn761b06x0"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d31ababaa50061e767605c979a3f327a654e564b/recipes/material-theme"; @@ -19115,12 +20139,12 @@ mb-url = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "mb-url"; - version = "0.0.9"; + version = "0.1.0"; src = fetchFromGitHub { owner = "dochang"; repo = "mb-url"; - rev = "178b03d2cbc31e889c095a6c25426c297e5fe6fc"; - sha256 = "0y22bn4zvyw2qivjrvwkhx96mwvfpx74901r0m4l31nvyh559aq0"; + rev = "129a0bb6a684be76fb9f09010e710065d0e5baaa"; + sha256 = "1apy7abjhdbgh8001rzv41q40bfl444rcz62lvgdwj3lg45zb8xc"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/dd9a8ff6e094b061a7b9d790df1fd4086c5d0a9d/recipes/mb-url"; @@ -19196,6 +20220,27 @@ license = lib.licenses.free; }; }) {}; + meghanada = callPackage ({ cl-lib ? null, company, emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, yasnippet }: + melpaBuild { + pname = "meghanada"; + version = "0.2.4"; + src = fetchFromGitHub { + owner = "mopemope"; + repo = "meghanada-emacs"; + rev = "86820f22cd1ebf4c2f8cae5b64bc8ff3964ea221"; + sha256 = "0nn6p5r760hb3ffrv4lb3ny75np6ps0gscp1a20sdsfrz6fbv6dg"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/4c75c69b2f00be9a93144f632738272c1e375785/recipes/meghanada"; + sha256 = "10f1fxma3lqcyv78i0p9mjpi79jfjd5lq5q60ylpxqp18nrql1s4"; + name = "meghanada"; + }; + packageRequires = [ cl-lib company emacs flycheck yasnippet ]; + meta = { + homepage = "https://melpa.org/#/meghanada"; + license = lib.licenses.free; + }; + }) {}; melpa-upstream-visit = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "melpa-upstream-visit"; @@ -19217,22 +20262,22 @@ license = lib.licenses.free; }; }) {}; - mentor = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + mentor = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, seq, xml-rpc }: melpaBuild { pname = "mentor"; - version = "0.1"; + version = "0.3"; src = fetchFromGitHub { owner = "skangas"; repo = "mentor"; - rev = "bd8e4b89341686bbaf4c44680bbae778b96fb8f0"; - sha256 = "1y4ra5z3ayw3w7dszzlkk3qz3nv2jg1vvx8cf0y5j1pqpx8vy3jf"; + rev = "074bd57a1e19d7807d682552fee63f326d1ad05c"; + sha256 = "1p2wlwl8771w8m0i8f6qx11n1f13kkf681v0v4zcd161jgmklp5q"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/083de4bd25b6b013a31b9d5ecdffad139a4ba91e/recipes/mentor"; sha256 = "0nkf7f90m2qf11l97zwvb114yrpbqk1xxr2bh2nvbx8m1c8nad9s"; name = "mentor"; }; - packageRequires = []; + packageRequires = [ cl-lib seq xml-rpc ]; meta = { homepage = "https://melpa.org/#/mentor"; license = lib.licenses.free; @@ -19241,12 +20286,12 @@ merlin = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "merlin"; - version = "2.5.0"; + version = "2.5.3"; src = fetchFromGitHub { owner = "the-lambda-church"; repo = "merlin"; - rev = "b2926cf6235827c0242797775188b8f0420386c5"; - sha256 = "0xfmvicagqccscxf45n04c25c7fqsnfk8mp8s90rnzlyr66gdck1"; + rev = "69b1ec176603cfab6b60941c2dc8d75d64fac019"; + sha256 = "150iyy75wqwva096c8g1w2sc97nfdgbry6kpz4ngz6l7ij3vivpc"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b1b9bfd3164e62758dc0a3362d85c6627ed7cbf8/recipes/merlin"; @@ -19511,6 +20556,27 @@ license = lib.licenses.free; }; }) {}; + mips-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "mips-mode"; + version = "1.0.1"; + src = fetchFromGitHub { + owner = "hlissner"; + repo = "emacs-mips-mode"; + rev = "dcde079176c1419ec24df08b62dd77a897892437"; + sha256 = "0jvbcld3abm45qzsbcaf6f1zd71hgdg5y47v6c0ri4xgwgcwqrvc"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/024a76b83efce47271bcb0ce3bde01b88349f391/recipes/mips-mode"; + sha256 = "0gg18v80lbndi2yyr5nl37mz0zpamwv9ha4clajkf0bc0vplxkj7"; + name = "mips-mode"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/mips-mode"; + license = lib.licenses.free; + }; + }) {}; mmm-mako = callPackage ({ fetchhg, fetchurl, lib, melpaBuild, mmm-mode }: melpaBuild { pname = "mmm-mako"; @@ -19699,15 +20765,36 @@ license = lib.licenses.free; }; }) {}; + monitor = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "monitor"; + version = "0.3.0"; + src = fetchFromGitHub { + owner = "GuiltyDolphin"; + repo = "monitor"; + rev = "8c67c06f60a89b2583bae90afc91a7e7d73260fd"; + sha256 = "1r2sns49f5fw4f122s165sa41nkrkq2qs20n98g2pfd1whflqfnb"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/b9df614e8e7b9dfdbd7eec552a2b13e0f5acfc22/recipes/monitor"; + sha256 = "11n4nv6vkjw434yrwqjw20229m2sxqxxdp7sg99gzrd5gjyab643"; + name = "monitor"; + }; + packageRequires = [ dash ]; + meta = { + homepage = "https://melpa.org/#/monitor"; + license = lib.licenses.free; + }; + }) {}; monokai-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "monokai-theme"; - version = "2.2.1"; + version = "3.2.1"; src = fetchFromGitHub { owner = "oneKelvinSmith"; repo = "monokai-emacs"; - rev = "53f0ba96f0417885e7d3955d8750de6763f99444"; - sha256 = "1azyrvhvyrd5n7djyh324famzab9w5c81bm3nv04p93gd92mm6zh"; + rev = "fc5822fcb11c3c6af67b5fb152f92c3e6e3c49d3"; + sha256 = "0r81jdwfmgzivfpkxqr425qajgw3dzzs8y2v5lsiwl1d5z8rz52a"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2bc9ce95a02fc4bcf7bc7547849c1c15d6db5089/recipes/monokai-theme"; @@ -19744,12 +20831,12 @@ morlock = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "morlock"; - version = "1.0.0"; + version = "1.0.1"; src = fetchFromGitHub { owner = "tarsius"; repo = "morlock"; - rev = "185e3679ebeef3dc58555301e0958e864de775e5"; - sha256 = "0kjqdm6kzhgjmfdj4n95ivffw1wqf4r3gk62fvhfi4w29g7wd16j"; + rev = "5845b60c705e8db88ce790b0b12cd8b917e1e5a5"; + sha256 = "1a6kwpanwcnipsq0dc99r4iiz9xa2k883syj0kbk544dxgf338xj"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b6ef53bbc80edda12a90a8a9705fe14415972833/recipes/morlock"; @@ -19762,6 +20849,27 @@ license = lib.licenses.free; }; }) {}; + mosey = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "mosey"; + version = "0.1"; + src = fetchFromGitHub { + owner = "alphapapa"; + repo = "mosey.el"; + rev = "4d28bf359242477a45994336c2ce37243965c65e"; + sha256 = "1xakw1q5m3iahvj7xapyi008pr2nrl3msgdfdfsk561ci7bc2008"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/76a9a43eea68db9f82c07677235c481a6f243aa2/recipes/mosey"; + sha256 = "0zprzr5aqv77kmg1ki9w6fw1nc2ap6yqjl4ak05a1i9cq8g6nf3m"; + name = "mosey"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/mosey"; + license = lib.licenses.free; + }; + }) {}; move-dup = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "move-dup"; @@ -19783,15 +20891,36 @@ license = lib.licenses.free; }; }) {}; + move-text = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "move-text"; + version = "2.0.5"; + src = fetchFromGitHub { + owner = "emacsfodder"; + repo = "move-text"; + rev = "58f66f9b62af776a6c3ebe1151b038b59b2c12d4"; + sha256 = "03rkqv8l98ximfw33972y2lsqzjvbdv9kvz38i9p8iva56cmkbki"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/82bfd0f41e42eed1d4c2361ec1d1685edebbac1b/recipes/move-text"; + sha256 = "04bfrkanafmbrdyw06ciw9kiyn7h3kpikxk3clx2gc04jl67hzgy"; + name = "move-text"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/move-text"; + license = lib.licenses.free; + }; + }) {}; mowedline = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "mowedline"; - version = "2.0.0"; + version = "3.0.0"; src = fetchFromGitHub { owner = "retroj"; repo = "mowedline"; - rev = "c941d44c994e29f0c5f6c4532950eaceec0a6376"; - sha256 = "1wrdcxdlcvrhvarz71a09168bp1rd154ihs5v55dgh1sm7pv34la"; + rev = "9645c431e921317721ba8dea9ce713d235f94726"; + sha256 = "14kpj1fh3p8asnxwb0jl3b6r32b7zplxyl5hvbgkal687b1gx50w"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/86f7df6b8df3398ef476c0ed31722b03f16b2fec/recipes/mowedline"; @@ -19891,12 +21020,12 @@ msvc = callPackage ({ ac-clang, cedet ? null, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "msvc"; - version = "1.2.2"; + version = "1.3.0"; src = fetchFromGitHub { owner = "yaruopooner"; repo = "msvc"; - rev = "e7a61fa5b98a129637f970ac6db9163e330b3d02"; - sha256 = "1draiwbwb8zfi6rdr5irv8091xv2pmnifq7pzi3rrvjb8swb28z3"; + rev = "71c38323187c98b32250b89088768599bb216ddb"; + sha256 = "1wwa861a8bnrqv59bx6l5k3qi98wqv6cicvg5gjyx8rdvpcq28dg"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/69939b85353a23f374cab996ede879ab315a323b/recipes/msvc"; @@ -19909,22 +21038,22 @@ license = lib.licenses.free; }; }) {}; - mu4e-alert = callPackage ({ alert, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: + mu4e-alert = callPackage ({ alert, emacs, fetchFromGitHub, fetchurl, ht, lib, melpaBuild, s }: melpaBuild { pname = "mu4e-alert"; - version = "0.3"; + version = "0.4"; src = fetchFromGitHub { owner = "iqbalansari"; repo = "mu4e-alert"; - rev = "83e6232b43902c7124fea16145de0da881bfe865"; - sha256 = "0wrg6f7czn61f9wmrk27dzcdskznm5i1pwwjck5h768j0y9dfv6a"; + rev = "75ee79ed663bde0bd52f09c5b444cbd9e13a738a"; + sha256 = "09sywhf1g8yqadzp19djar2gm3fmilqi3pbdm0hvm9b7xpq1gg44"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5a48e8cb571e91b582ff0dea18e8dc75601edc35/recipes/mu4e-alert"; sha256 = "15nwj09iyrvjsc9lrxla6qa0s8izcllxghw5gx3ffncfcrx2l8qm"; name = "mu4e-alert"; }; - packageRequires = [ alert emacs s ]; + packageRequires = [ alert emacs ht s ]; meta = { homepage = "https://melpa.org/#/mu4e-alert"; license = lib.licenses.free; @@ -19975,12 +21104,12 @@ multi-line = callPackage ({ cl-lib ? null, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s, shut-up }: melpaBuild { pname = "multi-line"; - version = "0.1.4"; + version = "0.1.5"; src = fetchFromGitHub { owner = "IvanMalison"; repo = "multi-line"; - rev = "329551143764c4106e717bce77a493bd20b72cb8"; - sha256 = "1bvz3h394mmnc3r4k121nnks5ha15wlz53708hda993cs6r8dqvb"; + rev = "778c7510b7f066f53cf1f96a6ad1079fda5dc1f7"; + sha256 = "0lr1i2a4fw40iz8qz2zqch63ci9pwvrri219phv22kn76jqn39mh"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0f8eee6798a0ba71d437a1cbf82e360a5b60eafb/recipes/multi-line"; @@ -20119,6 +21248,27 @@ license = lib.licenses.free; }; }) {}; + nameless = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "nameless"; + version = "1.0.2"; + src = fetchFromGitHub { + owner = "Malabarba"; + repo = "Nameless"; + rev = "ab1a5c589378334eafca105af1a17f73b9065423"; + sha256 = "107q1rximjnag9r9vgwh0iv687i3rsscbdnjc46f8l16j6vi4n7d"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/8e4ee4dae5f32a8d445dc0cc2455c1f7075c9b3d/recipes/nameless"; + sha256 = "14agx54h2vqfb0656n12z761ywyxsdskd6xa1ccar70l9vwj85vq"; + name = "nameless"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/nameless"; + license = lib.licenses.free; + }; + }) {}; names = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "names"; @@ -20185,12 +21335,12 @@ nasm-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "nasm-mode"; - version = "1.1.0"; + version = "1.1.1"; src = fetchFromGitHub { owner = "skeeto"; repo = "nasm-mode"; - rev = "c3f5475c2f4bd930411b6d716765d094b36ce219"; - sha256 = "0d8bfz41ry5bvkz2894dqkk3244n7xcjk3pf58fcsagvmmkkln7b"; + rev = "d990ed94d902b74a5c834fb567e03307607cee45"; + sha256 = "1dyc50a1zskx9fqxl2iy2x74f3bkb2ccz908v0aj13rqfqqnns9j"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a1a832b3bd7c2f2d3cee8bcfb5421d22acf5523e/recipes/nasm-mode"; @@ -20269,12 +21419,12 @@ ncl-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ncl-mode"; - version = "0.99.1"; + version = "0.99.2"; src = fetchFromGitHub { owner = "yyr"; repo = "ncl-mode"; - rev = "4a1a3f133c8c74a01b5c527496b56052bacac2ab"; - sha256 = "16i1k1zr6ng1dlxb1b73mxjf25f4kvf3x5vfffsi3qnfm960bg3q"; + rev = "164e504e25cec1812fbae5c3dae164d9f6018ece"; + sha256 = "1m3llm87qgd7sr6ci22nd835vdg0qprs5m9lqcx74k689jl89cni"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/00cc4705650157621bb0135cc512d57178496100/recipes/ncl-mode"; @@ -20332,12 +21482,12 @@ neotree = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "neotree"; - version = "0.2.1"; + version = "0.5"; src = fetchFromGitHub { owner = "jaypei"; repo = "emacs-neotree"; - rev = "c4f32b489fb1f5f00897a7dbb58a27ee704f5493"; - sha256 = "1gmi0xxwkh33w5gxc8488m1vv6ycizqhlw1kpn81zhqdzzq3s06n"; + rev = "ba1f4bacd97c99d55ad37e5940bd7567d2ae50d4"; + sha256 = "1a8riwz37sws2g2992zj6y8q4ypr76gxfwril6vnfig367anv4js"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9caf2e12762d334563496d2c75fae6c74cfe5c1c/recipes/neotree"; @@ -20353,12 +21503,12 @@ nginx-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "nginx-mode"; - version = "1.1.4"; + version = "1.1.6"; src = fetchFromGitHub { owner = "ajc"; repo = "nginx-mode"; - rev = "8a296e30b01adbc40d1aa9ccde369a972ac5ceab"; - sha256 = "08bpyk0brx0x2l0y8hn8zpkaxb2ndmxz22kzxxypj6hdz303wf38"; + rev = "304c9e2dbe884645661e3f133c11217a2b4d4274"; + sha256 = "1i9yh55zi7ml4i9nfjgvyz62y7id3c9fszs0h41skdzjfs9x5p6j"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a6da3640b72496e2b32e6ed21aa39df87af9f7f3/recipes/nginx-mode"; @@ -20395,12 +21545,12 @@ ninja-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ninja-mode"; - version = "1.7.1"; + version = "1.7.2"; src = fetchFromGitHub { owner = "martine"; repo = "ninja"; - rev = "b49b0fc01bb052b6ac856b1e72be9391e962398e"; - sha256 = "14jh2cg1isip8b8lls3hdj99vpqjyjqlv27r2kpq6095b78p64d9"; + rev = "717b7b4a31db6027207588c0fb89c3ead384747b"; + sha256 = "1pc4sr50wknwai33lqm92bm811yzvpyrvry9419p7wp3r6p3nmhw"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/aed2f32a02cb38c49163d90b1b503362e2e4a480/recipes/ninja-mode"; @@ -20413,15 +21563,36 @@ license = lib.licenses.free; }; }) {}; + nix-buffer = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "nix-buffer"; + version = "1.2.3"; + src = fetchFromGitHub { + owner = "shlevy"; + repo = "nix-buffer"; + rev = "2e2324c7f3a3ef27c9cb9cc3945cd82bec6b7755"; + sha256 = "18ys3ddla3z733r4jf2nnfkllclrq496i08pfiyvkj6l3jnghzx0"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/08b978724ff26b3ea7a134d307d888c80e2a92a9/recipes/nix-buffer"; + sha256 = "1fjkf88345v9l2v2mk8a057mw0p0rckf6rjf00y5464dyhh58vcd"; + name = "nix-buffer"; + }; + packageRequires = [ emacs f ]; + meta = { + homepage = "https://melpa.org/#/nix-buffer"; + license = lib.licenses.free; + }; + }) {}; nix-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "nix-mode"; - version = "1.11.3"; + version = "1.11.5"; src = fetchFromGitHub { owner = "NixOS"; repo = "nix"; - rev = "2ac966a464a830f52a9101c0a9d65f6a95cbfa0e"; - sha256 = "003lxk19z8wq0i6ah7xf14cgqgxww50337vgp66gi3kc0lscfdbf"; + rev = "d39f51fa3472ccc30f1b2896f5538d0b2dbce916"; + sha256 = "0ms42pmnmzhn0b74s3b441m0nqbckgm64bc00qdlvb1s644j32i6"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f2b542189cfde5b9b1ebee4625684949b6704ded/recipes/nix-mode"; @@ -20458,12 +21629,12 @@ no-littering = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "no-littering"; - version = "0.3.0"; + version = "0.5.2"; src = fetchFromGitHub { owner = "tarsius"; repo = "no-littering"; - rev = "6e4c239f58645d6cee3ed4aa180ae484f677a7ab"; - sha256 = "1j5agcq56mphpbpxdaklvl1y2689sfny4l6wknvrwxnqyl48yzkb"; + rev = "e7d3ebbd12f176707e63766a7a19bcaa08e01331"; + sha256 = "0y8wvagn4yf7fwvwzqcrx46wigmvyl25fa94kzvkanjl04zid3i1"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cf5d2152c91b7c5c38181b551db3287981657ce3/recipes/no-littering"; @@ -20539,11 +21710,11 @@ }) {}; notmuch = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }: melpaBuild { pname = "notmuch"; - version = "0.22.1"; + version = "0.23.4"; src = fetchgit { url = "git://git.notmuchmail.org/git/notmuch"; - rev = "b824ecc48f1e838ab19e346b0eec17ff02432493"; - sha256 = "08jwa7fg2wnk5nhzd56lyvsgi6icgmzmb30mpvpvm4v2afwlhbvj"; + rev = "4dde1e677473faa6588909396820f9948e28923f"; + sha256 = "14675mrlqbp2s5wdj8rs96kz7vdzv3j80d259cybp1ijvncgh1ds"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b19f21ed7485036e799ccd88edbf7896a379d759/recipes/notmuch"; @@ -20769,12 +21940,12 @@ ob-http = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "ob-http"; - version = "0.0.4"; + version = "0.0.5"; src = fetchFromGitHub { owner = "zweifisch"; repo = "ob-http"; - rev = "e10b35accd4c758d781ab9f6e00b7b792dccf380"; - sha256 = "0bqr6yl1hpykpykjpfb247xnpnz510zrg9yv7nkxlrig4pjgdcx1"; + rev = "47a7b367314f6051715882e46a0e40477bda20a2"; + sha256 = "1y5izm9yxa556536mnpc8dp0nzm8wzr778qycpk4l9xfyp4xybaw"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/950b02f76a04f453992b8720032e8c4cec9a039a/recipes/ob-http"; @@ -20787,15 +21958,36 @@ license = lib.licenses.free; }; }) {}; + ob-prolog = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "ob-prolog"; + version = "1.0.0"; + src = fetchFromGitHub { + owner = "ljos"; + repo = "ob-prolog"; + rev = "7e94309d3a21d7e265f3a85b41801397f286af00"; + sha256 = "0qxpgnjrx04dl43i949vcwv70sc7i23ivyvfk82hdvl8c2lwfd7w"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/fb87868cd74325f0a4a38c5542c264501000951d/recipes/ob-prolog"; + sha256 = "0ki8yd20yk5xwn0zpk06zjxzgrsf8paydif9n98svb9s2l9wrh1s"; + name = "ob-prolog"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/ob-prolog"; + license = lib.licenses.free; + }; + }) {}; ob-sagemath = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s, sage-shell-mode }: melpaBuild { pname = "ob-sagemath"; - version = "0.2.4"; + version = "0.4"; src = fetchFromGitHub { owner = "stakemori"; repo = "ob-sagemath"; - rev = "98560075eb0a9dc5ad1e3102ac1154543692d74d"; - sha256 = "08p64ss3ia1gq6dsna5v3ajjwm5g9ma7yvd5y0jx91xssjqq5dja"; + rev = "450d510a5eb1fd644d0037e9f02271ca33639fb0"; + sha256 = "00i7jszlfh67xzvqnp137aaia68rkk4ri5v0fs32ym10pcj8l4dp"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/dc074af316a09906a26ad957a56e3dc272cd813b/recipes/ob-sagemath"; @@ -20958,12 +22150,12 @@ olivetti = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "olivetti"; - version = "1.5.2"; + version = "1.5.6"; src = fetchFromGitHub { owner = "rnkn"; repo = "olivetti"; - rev = "d2c54acf566a9ee38021261f7d8f43a94c9eee8c"; - sha256 = "1rh6vi2vi50zkmcd5jyfnhhsdrfn6l9abd43l8ppgr3k93l3m5bl"; + rev = "de2716cfb1f4dc82a08093cdd00200e9bb1f07ef"; + sha256 = "0gfjrfhmjvq2zkyp0bgxymdv6r7p4x40aicvv1r61z29nz4dbyn2"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/697334ca3cdb9630572ae267811bd5c2a67d2a95/recipes/olivetti"; @@ -21067,8 +22259,8 @@ src = fetchFromGitHub { owner = "OmniSharp"; repo = "omnisharp-emacs"; - rev = "725796278fa8a391e244f2e50676dd6d6b67585d"; - sha256 = "1iq8yzjv7wb0jfi3lqqyx4n7whvb7xf8ls0q0w7pgsrsslrxbwcm"; + rev = "e7eaa1202486f996121cc0ef17a8d72b915c8165"; + sha256 = "1f66k2l996vzf5rm2scyz4bv1cyn365a8yfh1cfq13vrmvah57xb"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/68bdb7e0100e120b95e9416398127d83530a221d/recipes/omnisharp"; @@ -21132,19 +22324,40 @@ license = lib.licenses.free; }; }) {}; + opener = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request }: + melpaBuild { + pname = "opener"; + version = "0.2.2"; + src = fetchFromGitHub { + owner = "0robustus1"; + repo = "opener.el"; + rev = "c384f67278046fdcd220275fdd212ab85672cbeb"; + sha256 = "0gci909a2rbx5i8dyzyrcddwdic7nvpk6y6djvn521yaag4sq87h"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/c5a448f1936f46176bc2462eb03955a0c19efb9e/recipes/opener"; + sha256 = "0fhny4m7x19wnlnr19s4rkl04dkx95yppd51jzrkr96xiznw97s7"; + name = "opener"; + }; + packageRequires = [ cl-lib emacs request ]; + meta = { + homepage = "https://melpa.org/#/opener"; + license = lib.licenses.free; + }; + }) {}; opensource = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info, request, s }: melpaBuild { pname = "opensource"; version = "0.2.0"; src = fetchFromGitHub { - owner = "nlamirault"; - repo = "opensource.el"; + owner = "OpenSourceOrg"; + repo = "el-opensourceorg"; rev = "27d06be45c852e84e47c33cbd0f4c344fd9a0370"; sha256 = "1rjf78vki4xp8y856v95877093p3zgfc9mx92npscsi1g93dxn80"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/b9925f059f0caf0550a747d1f07e043e9d854f77/recipes/opensource"; - sha256 = "0ha5xva27xf6af9yhxpmnkyp26jzia7fkbkqx5qv0cwmicapccfk"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/ec4255a403e912a14a7013ea96f554d3588dfc30/recipes/opensource"; + sha256 = "17gi20s2vi7m75qqaff907x1g8ja5ny90klldpqmj258m2j6a6my"; name = "opensource"; }; packageRequires = [ dash pkg-info request s ]; @@ -21237,15 +22450,36 @@ license = lib.licenses.free; }; }) {}; + org-babel-eval-in-repl = callPackage ({ emacs, eval-in-repl, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "org-babel-eval-in-repl"; + version = "1.0"; + src = fetchFromGitHub { + owner = "diadochos"; + repo = "org-babel-eval-in-repl"; + rev = "1e3189e2da14c1c2a2b793c6563597c1aa7d1122"; + sha256 = "0vf77wc1pq9dfqkrnagkxfg7klwyaichms492jsp0dh5warnw7hm"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/042745d47c379778195ed798ca5e0130e4877271/recipes/org-babel-eval-in-repl"; + sha256 = "00x4idm9a5ddng74axm4xjnw7z89qv3yav8j8rw2z1jf5cgbgah6"; + name = "org-babel-eval-in-repl"; + }; + packageRequires = [ emacs eval-in-repl ]; + meta = { + homepage = "https://melpa.org/#/org-babel-eval-in-repl"; + license = lib.licenses.free; + }; + }) {}; org-beautify-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "org-beautify-theme"; - version = "0.2"; + version = "0.3.1"; src = fetchFromGitHub { owner = "jonnay"; repo = "org-beautify-theme"; - rev = "152918e600c36400068b3d8849fb8b01882ce8c3"; - sha256 = "0414pi4yrzn87kfij83njwdw7aczx4ga6z7kq4miq2fh7cjq8bvj"; + rev = "7b7a7cbd4f25f77e8bd81783f517b2b182220fd9"; + sha256 = "0nqw4apv642vqbjjqbi960zim9lkbnaszrlasf25c9fnzdg1m134"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f55f1ee9890f720e058401a052e14c7411252967/recipes/org-beautify-theme"; @@ -21366,12 +22600,12 @@ org-elisp-help = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, org }: melpaBuild { pname = "org-elisp-help"; - version = "0.1.0"; + version = "1.0.0"; src = fetchFromGitHub { owner = "tarsius"; repo = "org-elisp-help"; - rev = "0ead4f715b0a8fd21428f763cfc502177d82b3db"; - sha256 = "18x8c6jcqkfam79z4hskr8h1lvzvd5rlfgymmj1ps6p6hd3j4ihl"; + rev = "3e33ab1a2933dd7f2782ef91d667a37f12d633ab"; + sha256 = "088pbafz1x4z7qi70cjbrvfrcdrjp4zy0yl115klbidshqhxycmj"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b0a9bf5046a4c3be8a83004d506bd258a6f7ff15/recipes/org-elisp-help"; @@ -21447,15 +22681,36 @@ license = lib.licenses.free; }; }) {}; + org-jira = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request }: + melpaBuild { + pname = "org-jira"; + version = "2.5.0"; + src = fetchFromGitHub { + owner = "ahungry"; + repo = "org-jira"; + rev = "6330511011b7fe8ee04300e82f090ce3efd3b100"; + sha256 = "18kwiwmq95pf8w07xl3vh2xhlkwnv53b4n6h0xq2fqprkh8n6f0l"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/730a585e5c9216a2428a134c09abcc20bc7c631d/recipes/org-jira"; + sha256 = "0dvh9k0i75jxyy3v01c4cfyws8ij6718hsivi2xyrgig7pwp16ib"; + name = "org-jira"; + }; + packageRequires = [ cl-lib emacs request ]; + meta = { + homepage = "https://melpa.org/#/org-jira"; + license = lib.licenses.free; + }; + }) {}; org-journal = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "org-journal"; - version = "1.11.1"; + version = "1.11.2"; src = fetchFromGitHub { owner = "bastibe"; repo = "org-journal"; - rev = "51aec969cc0dc8e0c81220f020d643861d2f5c9b"; - sha256 = "0j3z2imv5w6cndnxdyy0pf9la6qxbgwdwr7vr8mr47frqpjb4i63"; + rev = "5f1445e9bafa252c8708b3bc223f30032f5ae82b"; + sha256 = "0aip4krrl5cyaa2agmmzipqw139zar3j6594vba93axalfdx9i9z"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/org-journal"; @@ -21593,15 +22848,35 @@ license = lib.licenses.free; }; }) {}; + org-password-manager = callPackage ({ fetchgit, fetchurl, lib, melpaBuild, org, s }: + melpaBuild { + pname = "org-password-manager"; + version = "0.0.1"; + src = fetchgit { + url = "https://git.leafac.com/org-password-manager"; + rev = "d3a33ddfe583180bdb76cfb8bbd772e0078b24a3"; + sha256 = "0pqmnhd3qdg06agj6h8v8lm4m5q8px0qmd7a1bfn6i5g2bq9zrck"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/02ef86ffe6923921cc1246e51ad8db87faa00ecb/recipes/org-password-manager"; + sha256 = "0n07k2nng3zkrcif85f1r2g2l4vha78lmrdnj590axn7l5q5fidm"; + name = "org-password-manager"; + }; + packageRequires = [ org s ]; + meta = { + homepage = "https://melpa.org/#/org-password-manager"; + license = lib.licenses.free; + }; + }) {}; org-pdfview = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, org, pdf-tools }: melpaBuild { pname = "org-pdfview"; - version = "0.3"; + version = "0.4"; src = fetchFromGitHub { owner = "markus1189"; repo = "org-pdfview"; - rev = "c1ca137ef90e442592ce88ef16437dc7dfa9c5dd"; - sha256 = "14lshgyrlzjcrqdfsn17llm70ijbs86cv9mccy87vlr01rbsz6lj"; + rev = "3a96bfb57cb158ac02cfb4225512699c66f5221d"; + sha256 = "0lrcj3mcdfcdrndivhj5ds386zrsy78sfg0i8126wwwc5lfh48vq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/aadf708e55ddfe13d93d124681a5e6f97a690d79/recipes/org-pdfview"; @@ -21638,12 +22913,12 @@ org-projectile = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, projectile }: melpaBuild { pname = "org-projectile"; - version = "0.2.3"; + version = "0.2.6"; src = fetchFromGitHub { owner = "IvanMalison"; repo = "org-projectile"; - rev = "9e7453874e472ade60b95af44167d5a6d4e24317"; - sha256 = "0nccb2w3zjgx2w2x207w3100c7c4d1ii22j1qaz3v623d7azn0qq"; + rev = "e2b78ca7fbd2e3b873d3ab9bb7196be4d7613f92"; + sha256 = "03zy2bb1ha22xpx29d8610yrqfyaiaa8vgplpx6bmixaw85mcv58"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3dde8c06c968d4375926d269150a16b31c3a840e/recipes/org-projectile"; @@ -21816,12 +23091,12 @@ org-tfl = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }: melpaBuild { pname = "org-tfl"; - version = "0.3.3"; + version = "0.3.4"; src = fetchFromGitHub { owner = "storax"; repo = "org-tfl"; - rev = "308251618e215eb78d5436e7412a0c14216fa890"; - sha256 = "1qz1qhd7v6ynmvz7j1xscz85z6zwy9dcarwhbz020l4bk4g9zf94"; + rev = "f0405e3ad62b90ea43489bdd6312adbd77edb9f3"; + sha256 = "0cznw60ivaz42ass35sf9i62x7mf9in6z8kr8wc5i1mb7hafy2hk"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d9e97f2fee577c7e3fb42e4ca9d4f422c8907faf/recipes/org-tfl"; @@ -21900,12 +23175,12 @@ org-tracktable = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "org-tracktable"; - version = "0.3"; + version = "0.3.1"; src = fetchFromGitHub { owner = "tty-tourist"; repo = "org-tracktable"; - rev = "c38a0019fdc5aac0f9b65e04c86c997fe5a32fb0"; - sha256 = "1yh4p3i0ajfnsvh057h8dpf4rqvvblmfgzj6vyn9dmcl5is1ir2q"; + rev = "8e0e60a582a034bd66d5efb72d513140b7d4d90a"; + sha256 = "1aq7qv5jyc2x2a4iphnzmmsvak6dbi7nwdcf3m8nly8w75vrl5lj"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/57263d996e321f842d0741898370390146606c63/recipes/org-tracktable"; @@ -22075,12 +23350,12 @@ orgit = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, magit, melpaBuild, org }: melpaBuild { pname = "orgit"; - version = "1.1.1"; + version = "1.2.0"; src = fetchFromGitHub { owner = "magit"; repo = "orgit"; - rev = "3747e49964fc4e96c41aa10a5553d7ad609e8f43"; - sha256 = "1x3pdk5wgk4cw9qq2l2d0baidnrjxj1qjdp6ajx7hlmwmxl7c203"; + rev = "adcfef22dc9bfa6503513d0a937bf4b32ad7ab94"; + sha256 = "0f3lqw2b9xr0278s7502sa2hkyhml45j8jpssaicyliz2k1kiyzv"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/73b5f7c44c90540e4cbdc003d9881f0ac22cc7bc/recipes/orgit"; @@ -22096,12 +23371,12 @@ orglink = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }: melpaBuild { pname = "orglink"; - version = "1.1.0"; + version = "1.1.2"; src = fetchFromGitHub { owner = "tarsius"; repo = "orglink"; - rev = "4e3e6d920a74fd32a57d5722f81293428e9d8a46"; - sha256 = "0yjnnrrcvbsq41dpw8cz8gv6q3jd626y1k4fgzsimyciz9l23w11"; + rev = "50debcf3508d2252bdce35c8822af1b3a81fd2dd"; + sha256 = "1b86c4pyc7cs02lrhnk93gh3czp9wajm17wd9mhszcbdn996rnhz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/be9b8e97cda6af91d54d402887f225e3a0caf055/recipes/orglink"; @@ -22180,12 +23455,12 @@ osx-dictionary = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "osx-dictionary"; - version = "0.2.2"; + version = "0.4"; src = fetchFromGitHub { owner = "xuchunyang"; repo = "osx-dictionary.el"; - rev = "d80d2f1f2637601330837959d9d2f7e0be95df85"; - sha256 = "1s2nahkqmij148z3ijz1l6a43m5pvq9gjza9z6x24936qny05r2w"; + rev = "0e5e5f1b0077a62673855889d529dd4f0cc8f665"; + sha256 = "1zpr50q7i4wg1x7vsj69rh1b8xvk9r0591y4fvvs3a2l1llca2mq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ae4467ad646d663f0266f39a76f9764004903424/recipes/osx-dictionary"; @@ -22411,12 +23686,12 @@ ox-twbs = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ox-twbs"; - version = "1.0.9"; + version = "1.1.1"; src = fetchFromGitHub { owner = "marsmining"; repo = "ox-twbs"; - rev = "ca98e2c312c6be1165b956f655a4becc89776634"; - sha256 = "0ranapdq6ly5xrqcksisgazwjp5xvydn98qfi8i1b491163704m3"; + rev = "2414e6b1de7deb6dd2ae79a7be633fdccb9c2f28"; + sha256 = "0kd45p8y7ykadmai4jn1x1pgpafyqggwb1ccbjzalxw4k9wmd45f"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3263133ba6dde790a364bad7c96144912971ba2d/recipes/ox-twbs"; @@ -22471,6 +23746,27 @@ license = lib.licenses.free; }; }) {}; + package-lint = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "package-lint"; + version = "0.3"; + src = fetchFromGitHub { + owner = "purcell"; + repo = "package-lint"; + rev = "93fdd7b51ad7456387b905ff4c9b104d0b3089a8"; + sha256 = "17swzcd58zh7yf221pfk8pmz8yhx2dsi2ad1y6lb2xpxxc5csflm"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/9744d8521b4ac5aeb1f28229c0897af7260c6f78/recipes/package-lint"; + sha256 = "0w7nkj4yz5yqmhr3mr7kxa6aqqfs75m3l2578s39940a5sdzirwy"; + name = "package-lint"; + }; + packageRequires = [ cl-lib emacs ]; + meta = { + homepage = "https://melpa.org/#/package-lint"; + license = lib.licenses.free; + }; + }) {}; package-plus = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "package-plus"; @@ -22513,22 +23809,22 @@ license = lib.licenses.free; }; }) {}; - package-utils = callPackage ({ async, epl, fetchFromGitHub, fetchurl, lib, melpaBuild }: + package-utils = callPackage ({ async, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "package-utils"; - version = "0.4.1"; + version = "0.4.2"; src = fetchFromGitHub { owner = "Silex"; repo = "package-utils"; - rev = "f655efc89ea7675b6cc9990d46a9f48ca6d384b7"; - sha256 = "1q6hpfaj8hfybxmmh1v871arlv8dn77li9vgckcal4l6xf83nvpi"; + rev = "e37d38b3c94ac39443f0e449f4112b654b6a8fd1"; + sha256 = "1spdffw1pi4sp70w46v1njmzgjldcn9cir74imr23fw4n00hb4fa"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a1bb884a0299408daa716eba42cb39f79622766c/recipes/package-utils"; sha256 = "02hgh7wg68ysfhw5hckrpshzv4vm1vnm395d34x6vpgl4ccx7v9r"; name = "package-utils"; }; - packageRequires = [ async epl ]; + packageRequires = [ async ]; meta = { homepage = "https://melpa.org/#/package-utils"; license = lib.licenses.free; @@ -22621,12 +23917,12 @@ pandoc-mode = callPackage ({ dash, fetchFromGitHub, fetchurl, hydra, lib, melpaBuild }: melpaBuild { pname = "pandoc-mode"; - version = "2.18"; + version = "2.22"; src = fetchFromGitHub { owner = "joostkremers"; repo = "pandoc-mode"; - rev = "e641d91c2886800871769e8e0e6554d2f8001e79"; - sha256 = "1lv3iiwidlvr6jsldd2s9apir1jzpynii8vp58gxq9kxbm4rzb42"; + rev = "b4e03ab345043fa7447dd59e59234dd33395e3cc"; + sha256 = "08yxi878l1hibcsq0bb93g2rjwlc0xw415rgn1rzs3zib2hqj1qc"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4e39cd8e8b4f61c04fa967def6a653bb22f45f5b/recipes/pandoc-mode"; @@ -22684,12 +23980,12 @@ paradox = callPackage ({ emacs, fetchFromGitHub, fetchurl, hydra, let-alist, lib, melpaBuild, seq, spinner }: melpaBuild { pname = "paradox"; - version = "2.4.1"; + version = "2.5.1"; src = fetchFromGitHub { owner = "Malabarba"; repo = "paradox"; - rev = "9086bd2241f86488e816682af0ef9897569ab31b"; - sha256 = "1vq3xjllgvzwp18mv2y1qydbbl6j1nk58vw7sm99zsf3wdpls465"; + rev = "17a6690d42a1e854ec270ed930c7494077570fc8"; + sha256 = "1vg5i4cxgn4a8cgx43i75w3cf0d8sb6ig6xxxdj3pvpzc81i53bc"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1e6aed365c42987d64d0cd9a8a6178339b1b39e8/recipes/paradox"; @@ -22745,12 +24041,12 @@ paren-face = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "paren-face"; - version = "1.0.0"; + version = "1.0.2"; src = fetchFromGitHub { owner = "tarsius"; repo = "paren-face"; - rev = "7b115519d668301633f31a9f3d03b5e36d0541d7"; - sha256 = "0f128gqn170s6hl62n44i9asais75ns1mpvb4l8vzy1sc0v16c0k"; + rev = "0a7cbd65bb578cc52a9dc495a4fcaf23a57507bf"; + sha256 = "0wsnng874dbyikd4dgx2rxmcp0774ix5v29dq372zynq6lamqkl7"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d398398d1d5838dc4985a06515ee668f0f566aab/recipes/paren-face"; @@ -22784,6 +24080,27 @@ license = lib.licenses.free; }; }) {}; + parinfer = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "parinfer"; + version = "0.4.6"; + src = fetchFromGitHub { + owner = "DogLooksGood"; + repo = "parinfer-mode"; + rev = "3d5b8d4a3f7e73f15f816f7555abed09c5516338"; + sha256 = "1w3j0dzi19h1k94gnj1zxx4s1aji91wq4sjwkf813zs7q769mfsp"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/470ab2b5cceef23692523b4668b15a0775a0a5ba/recipes/parinfer"; + sha256 = "05w4w7j6xyj19dm63073amd4n7fw4zm3qnn4x02fk2011iw8fq7i"; + name = "parinfer"; + }; + packageRequires = [ cl-lib dash ]; + meta = { + homepage = "https://melpa.org/#/parinfer"; + license = lib.licenses.free; + }; + }) {}; parsebib = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "parsebib"; @@ -22805,15 +24122,36 @@ license = lib.licenses.free; }; }) {}; + parsec = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "parsec"; + version = "0.1.3"; + src = fetchFromGitHub { + owner = "cute-jumper"; + repo = "parsec.el"; + rev = "8f0c266d8b9b0ee5fcf9b80c518644b2849ff3b3"; + sha256 = "1zwdh3dwqvw9z79mxgf9kf1l2c0pb32sknhrs7ppca613nk9c58j"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/248aaf5ff9c98cd3e439d0a26611cdefe6b6c32a/recipes/parsec"; + sha256 = "1p3364sv5r868xjj1411xqj4acxqmbzcdl900sd03585ql5wbypj"; + name = "parsec"; + }; + packageRequires = [ cl-lib emacs ]; + meta = { + homepage = "https://melpa.org/#/parsec"; + license = lib.licenses.free; + }; + }) {}; pass = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, password-store }: melpaBuild { pname = "pass"; - version = "1.4"; + version = "1.6"; src = fetchFromGitHub { owner = "NicolasPetton"; repo = "pass"; - rev = "6e5f557f3430934fdf78d99d93d2456c474e4bde"; - sha256 = "0crf97jjmhvnxc9d089qfi9m5qdbpxiv7ncacp7m3xasxy9sd7cb"; + rev = "b4c3bd9130044c4e106bac5ba73a50822865e258"; + sha256 = "0na895x91a37wmdpqp545qvjh34d0vfq4dyxji7casdrdhx3bg16"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/428c2d53db69bed8938ec3486dfcf7fc048cd4e8/recipes/pass"; @@ -23142,12 +24480,12 @@ persp-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "persp-mode"; - version = "2.7"; + version = "2.9.4"; src = fetchFromGitHub { owner = "Bad-ptr"; repo = "persp-mode.el"; - rev = "2c559083fa316b97b76e25c491a45aec5f2fe501"; - sha256 = "091k1pnkw4a62di6lj7gkczzpgf2jsxpj3brpfjs8gkcgx07vxsh"; + rev = "8200c8753513b14ebc1a8b40b917d7c0a6f5ac6a"; + sha256 = "13pcdy18pqanjhkacl5rbfmyw3y52d9ll0b6w0w4ffc2lhqpi7nd"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/caad63d14f770f07d09b6174b7b40c5ab06a1083/recipes/persp-mode"; @@ -23331,12 +24669,12 @@ phpunit = callPackage ({ cl-lib ? null, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info, s }: melpaBuild { pname = "phpunit"; - version = "0.12.0"; + version = "0.14.0"; src = fetchFromGitHub { owner = "nlamirault"; repo = "phpunit.el"; - rev = "165ca257d4840c266e1e79e806b4b943b5785fe6"; - sha256 = "1xgjhq1nxj4zfcns0q8a1kdlmqcjrxlblyj9vrspv1qck3akrp3z"; + rev = "791d1b33b63887cdeaf287fa657b8109f9d1dd18"; + sha256 = "0j9ym19pz17wsjh1ky65x9mz8aiiryxbw1nsygvy9isbdzjx591k"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0670b42c0c998daa7bf01080757976ac3589ec06/recipes/phpunit"; @@ -23415,12 +24753,12 @@ pip-requirements = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "pip-requirements"; - version = "0.4"; + version = "0.5"; src = fetchFromGitHub { owner = "Wilfred"; repo = "pip-requirements.el"; - rev = "733ec3e4c30875944601b566e9dba6ef05812fcd"; - sha256 = "1dsg49156mfhkd8ip4ny03sc06zchxr1qpbcx48f5sn4m9j5d3vs"; + rev = "93e0595f037e3a95c1c1cd6f00f7e052a9a25912"; + sha256 = "016r7y5nfnx6iws3hq4xnyrcv00y6zmd453psxhivi896wb8szfq"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5eaf6987f92070ccc33d3e28c6bb2b96f72ba1aa/recipes/pip-requirements"; @@ -23496,6 +24834,48 @@ license = lib.licenses.free; }; }) {}; + plain-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "plain-theme"; + version = "1"; + src = fetchFromGitHub { + owner = "yegortimoshenko"; + repo = "plain-theme"; + rev = "4210122812df9b5fe375ad35a3b933bf040460a3"; + sha256 = "184rw6pri55mkab8wv2n483zp0cvd6j911abq290pcqw1pgswcgh"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/d7ad3737f081f101500317f7e183be6b1e7e8122/recipes/plain-theme"; + sha256 = "0igncivhnzzirglmz451czx69cwshjkigqvqddj0a77b1cwszfw8"; + name = "plain-theme"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/plain-theme"; + license = lib.licenses.free; + }; + }) {}; + plantuml-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "plantuml-mode"; + version = "1.2.3"; + src = fetchFromGitHub { + owner = "skuro"; + repo = "plantuml-mode"; + rev = "eb380bac5663ec8e73482db6c6ba9d1394766eb3"; + sha256 = "19zxwmn5mjbzqgk7l444h57ninrlhi22l85l9zphryx2992plf0k"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/a658eb8085f2bf413c276af19c77597132cf569b/recipes/plantuml-mode"; + sha256 = "03srbg34512vxcqn95q4r7h2aqbqq0sd5c9ffnbx2a75vsblqc6h"; + name = "plantuml-mode"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/plantuml-mode"; + license = lib.licenses.free; + }; + }) {}; platformio-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, projectile }: melpaBuild { pname = "platformio-mode"; @@ -23665,12 +25045,12 @@ ponylang-mode = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ponylang-mode"; - version = "0.0.7"; + version = "0.0.8"; src = fetchFromGitHub { owner = "SeanTAllen"; repo = "ponylang-mode"; - rev = "cab4db97aacb9b5e05d6f0175154039a6b068cff"; - sha256 = "0by7klp7imy7zgc37wsiil86y6i2h1wfwfyifc2cf0jn5dsvfikw"; + rev = "bdc549e2658f4662f462e0c233b4825c761288cd"; + sha256 = "0v55bdj3vhf260addgsim6q4rwfzyvhqswxan4qqcq6acgi1liw4"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7d51adec3c6519d6ffe9b3f7f8a86b4dbc2c9817/recipes/ponylang-mode"; @@ -23938,12 +25318,12 @@ prodigy = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "prodigy"; - version = "0.6.0"; + version = "0.7.0"; src = fetchFromGitHub { owner = "rejeep"; repo = "prodigy.el"; - rev = "7034873908a616853b3a65258a7580a3b402e8a2"; - sha256 = "0r32rjfsbna0g2376gdv0c0im1lzw1cwbp9690rgqjj95ls4saa3"; + rev = "3bacca898db9b3493883c95f923a87eb1ce807eb"; + sha256 = "1whnk1902f8q03clm9xlfl47gkpsywf3mx0ykp70c1q496ab39qj"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/04686b7a450ccd4631ecf1d9bcd51572c21fd20d/recipes/prodigy"; @@ -24025,8 +25405,8 @@ version = "0.7"; src = fetchhg { url = "https://bitbucket.com/piranha/project-root"; - rev = "fcd9df2eadca"; - sha256 = "08dd2y6hdsj1rxcqa2hnjypnn9c2z43y7z2hz0fi4vny547qybz8"; + rev = "843ca1f4ab2b"; + sha256 = "0nw02f5lmbqdfnw93d3383sdxx1d31szk23zvjlrmmdwv2124281"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/project-root"; @@ -24060,15 +25440,36 @@ license = lib.licenses.free; }; }) {}; + projectile-git-autofetch = callPackage ({ alert, fetchFromGitHub, fetchurl, lib, melpaBuild, projectile }: + melpaBuild { + pname = "projectile-git-autofetch"; + version = "0.1.0"; + src = fetchFromGitHub { + owner = "andrmuel"; + repo = "projectile-git-autofetch"; + rev = "9692ed2a3935ee7b56e59af8b986e532839597dd"; + sha256 = "0vg0d8alxzzzkk8s564wzbb71laj48gkpbpk3qnwj5hfk14jzaqv"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/7fdfdeb69fd78fc1bb2c62392f860a8c434f1762/recipes/projectile-git-autofetch"; + sha256 = "0m0raddsw5yvjrw2v6bdaswffmva8y9hxksdgf9axpvrd3rzlk9n"; + name = "projectile-git-autofetch"; + }; + packageRequires = [ alert projectile ]; + meta = { + homepage = "https://melpa.org/#/projectile-git-autofetch"; + license = lib.licenses.free; + }; + }) {}; projectile-rails = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, inf-ruby, inflections, lib, melpaBuild, projectile, rake }: melpaBuild { pname = "projectile-rails"; - version = "0.10.1"; + version = "0.12.1"; src = fetchFromGitHub { owner = "asok"; repo = "projectile-rails"; - rev = "9a8a4641be1f2eae7f6f42d13db24c10bfa0c974"; - sha256 = "0v5mm9v4wd3yfnlx7zbb48lsxz7fyv4vcdszdpr5nswynmihxfi5"; + rev = "fe0cb5597d9e87ceebfadd1815beadfc04a194f1"; + sha256 = "0yg7xbv0mnrcc6kgh8ci6pxzfjiq1qkrw6hx2zs5m4ryfrrfclz2"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b16532bb8d08f7385bca4b83ab4e030d7b453524/recipes/projectile-rails"; @@ -24081,6 +25482,27 @@ license = lib.licenses.free; }; }) {}; + projectile-ripgrep = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "projectile-ripgrep"; + version = "0.3.0"; + src = fetchFromGitHub { + owner = "nlamirault"; + repo = "ripgrep.el"; + rev = "1d579c5dc820b9a2c58261d362ffb95a02a8a752"; + sha256 = "0ayq3h0mfqyn695r3qp31yamsyy6hcgj9fxsmlrsm615axvmki9g"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/195f340855b403128645b59c8adce1b45e90cd18/recipes/projectile-ripgrep"; + sha256 = "1iczizyayql40wcljvpc1mvfvn9r28b1dkrkcmdxif732gd01jjg"; + name = "projectile-ripgrep"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/projectile-ripgrep"; + license = lib.licenses.free; + }; + }) {}; projectile-sift = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, projectile, sift }: melpaBuild { pname = "projectile-sift"; @@ -24102,6 +25524,27 @@ license = lib.licenses.free; }; }) {}; + projectile-variable = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, projectile }: + melpaBuild { + pname = "projectile-variable"; + version = "0.0.1"; + src = fetchFromGitHub { + owner = "zonuexe"; + repo = "projectile-variable"; + rev = "810394eabf330325a86ec6f60c69e160eb837ac3"; + sha256 = "183azck3bi4qwpprcc07kvwm3piwqgql7ryy1czvmw3kbdmk1rpj"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/ff603b43235f546cd47f72e675aee88d5f41e855/recipes/projectile-variable"; + sha256 = "1cj8nwxf1jp5q5zzxp92fxla6jhwzd21gw649ar6mygi4hgymsji"; + name = "projectile-variable"; + }; + packageRequires = [ cl-lib emacs projectile ]; + meta = { + homepage = "https://melpa.org/#/projectile-variable"; + license = lib.licenses.free; + }; + }) {}; projekt = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "projekt"; @@ -24168,12 +25611,12 @@ protobuf-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "protobuf-mode"; - version = "3.0.0"; + version = "3.1.0"; src = fetchFromGitHub { owner = "google"; repo = "protobuf"; - rev = "e8ae137c96444ea313485ed1118c5e43b2099cf1"; - sha256 = "05qkcl96lkdama848m7q3nzzzdckjc158iiyvgmln0zi232xx7g7"; + rev = "a428e42072765993ff674fda72863c9f1aa2d268"; + sha256 = "0qlvpsmqgh9nw0k4zrxlxf75pafi3p0ahz99v6761b903y8qyv4i"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b4e7f5f641251e17add561991d3bcf1fde23467b/recipes/protobuf-mode"; @@ -24273,12 +25716,12 @@ pug-mode = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "pug-mode"; - version = "1.0.3"; + version = "1.0.4"; src = fetchFromGitHub { owner = "hlissner"; repo = "emacs-pug-mode"; - rev = "48d5977e5efcf3650a1628b5cbffffdd164cd773"; - sha256 = "1wiiarxh0lcxvy56f1rxdbk1iwhdynl2xn6v8nr35bw1l82b1j9g"; + rev = "bff32a818ccc9e400210b942bd5e67fa21551148"; + sha256 = "1ad5n8v40acj17qficbzrnixbmg5wplmbd8h1z9hdxhbrkwy5323"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b3710aac9f3df3a23238af1f969c462b3692f260/recipes/pug-mode"; @@ -24291,27 +25734,6 @@ license = lib.licenses.free; }; }) {}; - puml-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: - melpaBuild { - pname = "puml-mode"; - version = "0.6.6"; - src = fetchFromGitHub { - owner = "skuro"; - repo = "puml-mode"; - rev = "ae1cd8eb21d3af33bc60d4bfa39a90b8f49b7011"; - sha256 = "12csnmas5n0r356hwrqgx4lb72ns4mdbfkh5dw5jss377akv12gr"; - }; - recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/c0c28ccef208035fd0bdd648771825c1d10f42ff/recipes/puml-mode"; - sha256 = "131ghjq6lsbhbx5hdg36swnkqijdb9bx6zg73hg0nw8qk0z742vn"; - name = "puml-mode"; - }; - packageRequires = [ emacs ]; - meta = { - homepage = "https://melpa.org/#/puml-mode"; - license = lib.licenses.free; - }; - }) {}; punctuality-logger = callPackage ({ fetchFromGitLab, fetchurl, lib, melpaBuild }: melpaBuild { pname = "punctuality-logger"; @@ -24359,14 +25781,14 @@ pname = "puppet-mode"; version = "0.3"; src = fetchFromGitHub { - owner = "lunaryorn"; + owner = "voxpupuli"; repo = "puppet-mode"; rev = "d943149691abd7b66c85d58aee9657bfcf822c02"; sha256 = "0xr3s56p6fbm6wgw17galsl3kqvv8c7l1l1qvbhbay39yzs4ff14"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/ca67e3241b3fe5037b8d6a8e4f1104d9a46a01b1/recipes/puppet-mode"; - sha256 = "1s2hap6fs6rg5q80dmzhaf4qqaf5sglhs8p896i3i5hq51w0ciyc"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/1de94f0ab39ab18dfd0b050e337f502d894fb3ad/recipes/puppet-mode"; + sha256 = "1qn71j6fkwnrsq1s6fhfcxhic3rbspg5cy9n7jv451ji7ywyhakf"; name = "puppet-mode"; }; packageRequires = [ cl-lib emacs pkg-info ]; @@ -24420,12 +25842,12 @@ py-autopep8 = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "py-autopep8"; - version = "0.7.0"; + version = "2016.1"; src = fetchFromGitHub { owner = "paetzke"; repo = "py-autopep8.el"; - rev = "685414b19106b99a4384fa0c9ce4817c659e0e81"; - sha256 = "06xdq2slwhkcqlbv7x86zmv55drzif9cwjlj543cwhncphl2x9rd"; + rev = "68e12d8788c91c7ec53a68acf1d23adb2ffa4788"; + sha256 = "16fmym6hvi2lx0mmbrrhld1vzki5iqfqx2m0xa9021gjjzb33lw6"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c400e0f3cfe70821e621fe85d239b4f6596d5171/recipes/py-autopep8"; @@ -24441,12 +25863,12 @@ py-isort = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "py-isort"; - version = "0.8"; + version = "2016.1"; src = fetchFromGitHub { owner = "paetzke"; repo = "py-isort.el"; - rev = "cfbb576784fe4501909c15299607ce2a2d0bf164"; - sha256 = "0150q6xcnzzrkn9fa9njm973l1d49c48ad8qia71k4jwrxjjj6zr"; + rev = "e67306f459c47c53a65604e4eea88a3914596560"; + sha256 = "08i55gv392wc12x8v3dca0dmz8a8p9ljsqhyajsb6qv1k120wqhx"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/44377d11da07b49c8dc6887c948cc5ddfc065bd2/recipes/py-isort"; @@ -24462,12 +25884,12 @@ py-yapf = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "py-yapf"; - version = "0.3"; + version = "2016.1"; src = fetchFromGitHub { owner = "paetzke"; repo = "py-yapf.el"; - rev = "56807d28bf288afec2e2999982074bdd5e9bf932"; - sha256 = "09z739w4fjg9xnv3mbh7v8j59mnbsfq4ygq616pj4xcw3nsh0rbg"; + rev = "a878304202ad827a1f3de3dce1badd9ca8731146"; + sha256 = "1mmzqdigxx46my0h9497l25cjydy3vykg6slxkch4dzvhhlbap48"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3306c6906d4b21868b9407de27fbebdaed3d00d5/recipes/py-yapf"; @@ -24672,12 +26094,12 @@ qml-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "qml-mode"; - version = "0.3"; + version = "0.4"; src = fetchFromGitHub { owner = "coldnew"; repo = "qml-mode"; - rev = "efb465917f260b4b18c30bd45c58bc291c8246f0"; - sha256 = "1mlka59gyylj4cabi1b552h11qx54kjqwx3bkmsdngjrd4da222a"; + rev = "6c5f33ba88ae010bf201a80ee8095e20a724558c"; + sha256 = "1sncsvzjfgmhp4m8w5jd4y51k24n2jfpgvrkd64wlhhzbj3wb947"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f3abc88ddbb6b8ecafa45e75ceba9a1294ad88d4/recipes/qml-mode"; @@ -24756,12 +26178,12 @@ racer = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, rust-mode, s }: melpaBuild { pname = "racer"; - version = "1.1"; + version = "1.2"; src = fetchFromGitHub { owner = "racer-rust"; repo = "emacs-racer"; - rev = "0f0246ddad7d89205b1babe228c4b132c19dded3"; - sha256 = "0zvv83rrchq92yqi6w14q5m88fva7gcm8q4vhj226acf5iq1xwdm"; + rev = "8ad54e7674e49735390d63e3aea828a4d4bcddd0"; + sha256 = "0xj5iki10cg8j8vvqjlw6lfx97k3agwirhchcjnzbnkry48x9qi6"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/97b97037c19655a3ddffee9a86359961f26c155c/recipes/racer"; @@ -24774,6 +26196,27 @@ license = lib.licenses.free; }; }) {}; + railscasts-reloaded-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "railscasts-reloaded-theme"; + version = "1.2.0"; + src = fetchFromGitHub { + owner = "thegeorgeous"; + repo = "railscasts-reloaded-theme"; + rev = "cce0e4ae6527e84e2ae3deb8b3c7770dda225853"; + sha256 = "1li86qpbjg8sm9q4sl8cffc0fni6mwx8180x8zlmsxdnhqic5nvd"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/9817851bd06cbae30fb8f429401f1bbc0dc7be09/recipes/railscasts-reloaded-theme"; + sha256 = "1iy30mnm3s7p7qigrm3lvv7xjgwvinwg6yg0hry2aifwn88cnwmz"; + name = "railscasts-reloaded-theme"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/railscasts-reloaded-theme"; + license = lib.licenses.free; + }; + }) {}; rainbow-blocks = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "rainbow-blocks"; @@ -24840,12 +26283,12 @@ rake = callPackage ({ cl-lib ? null, dash, f, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "rake"; - version = "0.4.0"; + version = "0.4.1"; src = fetchFromGitHub { owner = "asok"; repo = "rake"; - rev = "a9e65cb23d3dc700f5b41ff365153ef6a259d4f0"; - sha256 = "1q65jj6bghvzhlqmpg61a7vn8izc01wp2fjiqx013zxpg9awvzmq"; + rev = "e680f1a8f2591af7c80cad188340601b101b5ddc"; + sha256 = "1dk2clsnmjy3bfv6laxf8sslvdajjbwpk83ss8v9xm55dcxjvd7n"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/bf0f84698dda02a5b84a244ee29a23a6faa9de68/recipes/rake"; @@ -24861,12 +26304,12 @@ ranger = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ranger"; - version = "0.9.8.2"; + version = "0.9.8.5"; src = fetchFromGitHub { owner = "ralesi"; repo = "ranger.el"; - rev = "70af0a00a93f5b27671b75083ed041ed417b5b63"; - sha256 = "0vdrqrdsfyybfi66nf81af7zfavaawysqdfy1zr5a26b7qd64812"; + rev = "584e4ae8cce1c54a44b40dd4c77fbb2f06d73ecb"; + sha256 = "01rphv92g1r0cw5bwkbrh02s0na7fjrddxx1dckk2y7qr97s7l8j"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0207e754f424823fb48e9c065c3ed9112a0c445b/recipes/ranger"; @@ -24942,6 +26385,27 @@ license = lib.licenses.free; }; }) {}; + rc-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "rc-mode"; + version = "1.0.13"; + src = fetchFromGitHub { + owner = "mrhmouse"; + repo = "rc-mode.el"; + rev = "fe2e0570bf9c19a292e16b18fd4b0a256df5d93f"; + sha256 = "0skjg3l3ss8nlrpnpjjflmf7wjib4jfarkmx4438nc6vm6553fmn"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/d8062b2e5b2744a6e614b389cca7e7f21b582f6f/recipes/rc-mode"; + sha256 = "0p77mckw8jyxcwspj1ffm8mz0k01ddm67hh9j8rw812wddwnj7qf"; + name = "rc-mode"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/rc-mode"; + license = lib.licenses.free; + }; + }) {}; rcirc-styles = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "rcirc-styles"; @@ -25026,6 +26490,27 @@ license = lib.licenses.free; }; }) {}; + rebecca-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "rebecca-theme"; + version = "1.2.1"; + src = fetchFromGitHub { + owner = "vic"; + repo = "rebecca-theme"; + rev = "239115183e0a354ccd5c2cb299893b558fbde05c"; + sha256 = "0n6xf9s39frnyvchk40zzxbkn0hyga5ridkxbf50n7hr5j19yrmb"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/19f40f30113c7dabd76a2d0e52898e6d6be69a35/recipes/rebecca-theme"; + sha256 = "1m72jqyqx18i1vpj07v3vkbi0di9dks5sz46wb2h0f23xqyx00md"; + name = "rebecca-theme"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/rebecca-theme"; + license = lib.licenses.free; + }; + }) {}; recover-buffers = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "recover-buffers"; @@ -25134,12 +26619,12 @@ refine = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, list-utils, loop, melpaBuild, s }: melpaBuild { pname = "refine"; - version = "0.2"; + version = "0.3"; src = fetchFromGitHub { owner = "Wilfred"; repo = "refine"; - rev = "b59764e181990ddd3ab441cdc290b5fe178860f4"; - sha256 = "1x5r6cb430hfbdqq3samlfkaawy49i1gi6mzai2061r780h7w4fx"; + rev = "9760e56ab849a4827e6c9425fdef6f5a7784c967"; + sha256 = "1b4n0mfplh6vj87p3124c2fw24fj0vm9jvcaxrvccfq3sida4sf3"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b111879ea0685cda88c758b270304d9e913c1391/recipes/refine"; @@ -25152,15 +26637,36 @@ license = lib.licenses.free; }; }) {}; + region-convert = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "region-convert"; + version = "0.0.1"; + src = fetchFromGitHub { + owner = "zonuexe"; + repo = "right-click-context"; + rev = "31d370fce60d8cda04e1b9e4fe0e5d268fd37fe5"; + sha256 = "0bbfgz2n00dgqbij6c4kmlp3rnmf7jcjq56cmjck4nd81lkwk6j7"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/ddcf4612cccb9a53425c5f0324206d70549d9d9e/recipes/region-convert"; + sha256 = "0daghvxc6gxgric1aa1gw036gbpbzilqz72gr1inqy92hz7xrxfm"; + name = "region-convert"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/region-convert"; + license = lib.licenses.free; + }; + }) {}; relative-line-numbers = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "relative-line-numbers"; - version = "0.3.2"; + version = "0.3.3"; src = fetchFromGitHub { owner = "Fanael"; repo = "relative-line-numbers"; - rev = "64157db08b0c2f5fada3209fc8d3e4b4c7429978"; - sha256 = "1r8fhs7d2vkrbv15ic2bm79i9a8swbc38vk566vnxkhl3rfd5a0a"; + rev = "38b5f9065aec008d9ad94fe5597338463aa1aa63"; + sha256 = "00ixh7siyc8m7j6hfaxnnl3ynfhzkccpjfc89v8bp3z83m4v269w"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4a2901c841d221bd782dae9059a070ae8130e1ae/recipes/relative-line-numbers"; @@ -25218,12 +26724,12 @@ repl-toggle = callPackage ({ fetchFromGitHub, fetchurl, fullframe, lib, melpaBuild }: melpaBuild { pname = "repl-toggle"; - version = "0.3.3"; + version = "0.4.0"; src = fetchFromGitHub { owner = "tomterl"; repo = "repl-toggle"; - rev = "0249c2a72e6bf782c2c15b0cb1d925410543184f"; - sha256 = "12wylmyz54n1f3kaw9clhvs66dg43xvcvll4pl5ii0ibfv6pls1b"; + rev = "bd2d28738368a047d5f407034f78839a7e514489"; + sha256 = "1h58a2darz4k1aj480xahhp29gh2cg41pymidymjx4wi2ygic4pr"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/da4be8c67584ea0ae35c7c9ee33334db5061a538/recipes/repl-toggle"; @@ -25530,6 +27036,48 @@ license = lib.licenses.free; }; }) {}; + ripgrep = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "ripgrep"; + version = "0.3.0"; + src = fetchFromGitHub { + owner = "nlamirault"; + repo = "ripgrep.el"; + rev = "1d579c5dc820b9a2c58261d362ffb95a02a8a752"; + sha256 = "0ayq3h0mfqyn695r3qp31yamsyy6hcgj9fxsmlrsm615axvmki9g"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/e8d789818876e959a1a59690f1dd7d4efa6d608b/recipes/ripgrep"; + sha256 = "1j9c3mhcyhs4xf44z6fnlvmb81pps25bp43gdqvp0954i068mgah"; + name = "ripgrep"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/ripgrep"; + license = lib.licenses.free; + }; + }) {}; + rjsx-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, js2-mode, lib, melpaBuild }: + melpaBuild { + pname = "rjsx-mode"; + version = "0.1.0"; + src = fetchFromGitHub { + owner = "felipeochoa"; + repo = "rjsx-mode"; + rev = "20c7bd0e704dfc1c391edf78765c8b0ec4f5b3c0"; + sha256 = "142zihjqgdq4bfy1hp0pz6k109ngii4kyc8xrdvd9yvzc0y5vp8a"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/b83be7efdef2457e1320fe3dec46484fbd20263c/recipes/rjsx-mode"; + sha256 = "0w3ij8k8058pfw443chm1kn30ia0f5rfbg03w9ddw86xb3wa2q0b"; + name = "rjsx-mode"; + }; + packageRequires = [ emacs js2-mode ]; + meta = { + homepage = "https://melpa.org/#/rjsx-mode"; + license = lib.licenses.free; + }; + }) {}; robe = callPackage ({ fetchFromGitHub, fetchurl, inf-ruby, lib, melpaBuild }: melpaBuild { pname = "robe"; @@ -25659,12 +27207,12 @@ rtags = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "rtags"; - version = "2.3"; + version = "2.8"; src = fetchFromGitHub { owner = "Andersbakken"; repo = "rtags"; - rev = "da75268b1caa973402ab17e501718da7fc748b34"; - sha256 = "0pir76xhi58nqfmjcijn5s7dz3pjjz43g97hh7sd1m32s8saddm1"; + rev = "6ac7740eaf05cdd9b699185f71cc2d1f634a761b"; + sha256 = "1w506qaklrly1lnq1i5kshl8m9aki8h2ba1y7h578gwx6lph3vhi"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ac3b84fe84a7f57d09f1a303d8947ef19aaf02fb/recipes/rtags"; @@ -25824,6 +27372,48 @@ license = lib.licenses.free; }; }) {}; + rust-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "rust-mode"; + version = "0.3.0"; + src = fetchFromGitHub { + owner = "rust-lang"; + repo = "rust-mode"; + rev = "e32765893ce2efb2db6662f507fb9d33d5c1b61b"; + sha256 = "03i79iqhr8fzri018hx65rix1fsdxk38pkvbw5z6n5flbfr4m0k4"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/8f6e5d990d699d571dccbdeb13327b33389bb113/recipes/rust-mode"; + sha256 = "1i1mw1v99nyikscg2s1m216b0h8svbzmf5kjvjgk9zjiba4cbqzc"; + name = "rust-mode"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/rust-mode"; + license = lib.licenses.free; + }; + }) {}; + rust-playground = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, rust-mode }: + melpaBuild { + pname = "rust-playground"; + version = "0.1"; + src = fetchFromGitHub { + owner = "grafov"; + repo = "rust-playground"; + rev = "6a23f8956bce1deaa38f52c01f5571c5cff77445"; + sha256 = "1aqcpmzzww4fd63l65rfyj0f8skdqh7j1vznwqnj71x65xlda0ys"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/a5ebbcca659bb6d79ca37dc347894fac7bafd9dd/recipes/rust-playground"; + sha256 = "1w29plj06ld3iq8xhjnfh8hphcp7aji15y1xqp8bb9m1k07wza7l"; + name = "rust-playground"; + }; + packageRequires = [ emacs rust-mode ]; + meta = { + homepage = "https://melpa.org/#/rust-playground"; + license = lib.licenses.free; + }; + }) {}; rvm = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "rvm"; @@ -25887,22 +27477,22 @@ license = lib.licenses.free; }; }) {}; - sage-shell-mode = callPackage ({ cl-lib ? null, deferred, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + sage-shell-mode = callPackage ({ cl-lib ? null, deferred, emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild }: melpaBuild { pname = "sage-shell-mode"; - version = "0.1.1"; + version = "0.3"; src = fetchFromGitHub { - owner = "stakemori"; + owner = "sagemath"; repo = "sage-shell-mode"; - rev = "26303698cbd807b4cbaa241b0671f7e542a3bbe4"; - sha256 = "1124akipvrcmkd66slklgap2jdvb8iksldd8sjvg9n25kp0wd0vr"; + rev = "e8bc089e8dfd76f688160e2ac77aee985afeade7"; + sha256 = "166plwg9ggivr3im0yfxw8k6m9ral37jzznnb06kb6g0zycb4aps"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/ff7cefd5497aec9ed271fd783625fed445c4ac12/recipes/sage-shell-mode"; - sha256 = "18k7yh8rczng0kn2wsawjml70cb5bnc5jr2gj0hini5f7jq449wx"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/eb875c50c2f97919fd0027869c5d9970e1eaf373/recipes/sage-shell-mode"; + sha256 = "0ivqiigmp9cf88j4xapzanjpbx692r70wb4i25mnppqsi3jlwxdv"; name = "sage-shell-mode"; }; - packageRequires = [ cl-lib deferred emacs ]; + packageRequires = [ cl-lib deferred emacs let-alist ]; meta = { homepage = "https://melpa.org/#/sage-shell-mode"; license = lib.licenses.free; @@ -25999,8 +27589,8 @@ src = fetchFromGitHub { owner = "ensime"; repo = "emacs-scala-mode"; - rev = "a0b73b25377f5aedf50abe198d6b6111310735be"; - sha256 = "0b2gm1mfxiqm86m5156scmzvn10dl0idgxpzgki1k0cpy4xf4qfa"; + rev = "9b8db623b13fcb0aad9271d1fae73e1257dda13c"; + sha256 = "0q41dqlhp0cds16inmh7jrvhqrnjsdiv2in6pq3f0srhwms81ff3"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/564aa1637485192a97803af46b3a1f8e0d042c9a/recipes/scala-mode"; @@ -26013,6 +27603,26 @@ license = lib.licenses.free; }; }) {}; + schrute = callPackage ({ emacs, fetchgit, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "schrute"; + version = "0.2.2"; + src = fetchgit { + url = "https://bitbucket.org/shackra/dwight-k.-schrute"; + rev = "08ab6565fa94f3a8016163fe6f7be1932af1156b"; + sha256 = "0l1k6wjjr569lk5k8ydwq13041kn889g20qbzf79qj1ws96rim4m"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/505fc4d26049d4e2973a54b24117ccaf4f2fb7e7/recipes/schrute"; + sha256 = "1sr49wr3738sqfzix7v9rj6bvv7q2a46qdkimn9z7rnsjys9i7zy"; + name = "schrute"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/schrute"; + license = lib.licenses.free; + }; + }) {}; scpaste = callPackage ({ fetchFromGitHub, fetchurl, htmlize, lib, melpaBuild }: melpaBuild { pname = "scpaste"; @@ -26076,6 +27686,26 @@ license = lib.licenses.free; }; }) {}; + secretaria = callPackage ({ alert, emacs, f, fetchgit, fetchurl, lib, melpaBuild, org, s }: + melpaBuild { + pname = "secretaria"; + version = "0.2.4"; + src = fetchgit { + url = "https://bitbucket.org/shackra/secretaria.el"; + rev = "aae30bfc93fa5ea846bce086b22321c46b94ff7b"; + sha256 = "18ad7q2a131gpvjj8923vp06zh0zfdy1589vs3f09v16aazbcfqc"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/7b4c9ccbf2eeaa290f3b9d1e5eaaeb5b5547b365/recipes/secretaria"; + sha256 = "1a8jf91wplzazssh0s8ld0g8rp57gdfvxlsyn643w3mbp3ny8ybv"; + name = "secretaria"; + }; + packageRequires = [ alert emacs f org s ]; + meta = { + homepage = "https://melpa.org/#/secretaria"; + license = lib.licenses.free; + }; + }) {}; sekka = callPackage ({ cl-lib ? null, concurrent, fetchFromGitHub, fetchurl, lib, melpaBuild, popup }: melpaBuild { pname = "sekka"; @@ -26223,6 +27853,27 @@ license = lib.licenses.free; }; }) {}; + sexy-monochrome-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "sexy-monochrome-theme"; + version = "1.5.2"; + src = fetchFromGitHub { + owner = "nuncostans"; + repo = "sexy-monochrome-theme"; + rev = "dd582a45a4e13891935ab68f030d8c2d755fa6a5"; + sha256 = "01jv7raxjyd37lipl05kl1892lz28ig292icik8l30y0p5gp8qgy"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/9a09ffb7d271773f6cfa7c7eeaba45a717a5bdca/recipes/sexy-monochrome-theme"; + sha256 = "1qmbb2aaa1lc18l9kk42iq466hy2mg7565b0gb7hdvfqsi05d8dg"; + name = "sexy-monochrome-theme"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/sexy-monochrome-theme"; + license = lib.licenses.free; + }; + }) {}; shackle = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "shackle"; @@ -26604,12 +28255,12 @@ simplenote2 = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, request-deferred }: melpaBuild { pname = "simplenote2"; - version = "2.2.2"; + version = "3.0.0"; src = fetchFromGitHub { owner = "alpha22jp"; repo = "simplenote2.el"; - rev = "9984ad77e63ae8d40e863cf1b0d8339ede986792"; - sha256 = "04giklbd1fsw2zysr7aqg17h6cpyn4i9jbknm4d4v6581f2pcl93"; + rev = "070aa311b0a08b530394c53d0c52c6438efbc20c"; + sha256 = "0zx49kd3wrqx6f52nk8rzqx3ay3qbcygibcidw6w7drvxnxjgd04"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1ac16abd2ce075a8bed4b7b52aed71cb12b38518/recipes/simplenote2"; @@ -26706,22 +28357,22 @@ license = lib.licenses.free; }; }) {}; - sl = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + sl = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "sl"; - version = "0.1.1"; + version = "0.2"; src = fetchFromGitHub { owner = "xuchunyang"; repo = "sl.el"; - rev = "76a8eae2b3fc449ed81b2a577c53939434851635"; - sha256 = "1nkgqva4l4nwpixavky8gm38371z7mrkpqdkgrya4j5mrx4kiw86"; + rev = "51d92f820f3e93776fff6cdb9690458816888bdc"; + sha256 = "1faklr7jz1s6hs1xrzhvddlibhbjbqwxsb8iz6i5c8dg9sj3hw45"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7188a93d33e38f360930b5090c6ef872116f8a7c/recipes/sl"; sha256 = "0h90ajikr6kclsy73vs9f50jg8z3d6kqbpanm9ryh2pw3sd4rnii"; name = "sl"; }; - packageRequires = [ cl-lib emacs ]; + packageRequires = [ cl-lib ]; meta = { homepage = "https://melpa.org/#/sl"; license = lib.licenses.free; @@ -26730,12 +28381,12 @@ slamhound = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "slamhound"; - version = "1.5.4"; + version = "1.5.5"; src = fetchFromGitHub { owner = "technomancy"; repo = "slamhound"; - rev = "2f896d6ba15d09aae66b5fdecc0d855f6b03abc9"; - sha256 = "09ccdgg2wgw3xmlkpjsaqmnmf7f8rhjy4g6ypsn1sk5rgbgk8aj8"; + rev = "7e38841ecdda7b3b569cca0b96c155ae2d3d433d"; + sha256 = "1kiczjqa1jhs24lgvizcs355rivx59psxw0fixc9yj8fgld7r4xs"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/54c191408ceb09ca21ef52df171f02d700aee5ba/recipes/slamhound"; @@ -26814,12 +28465,12 @@ slime-company = callPackage ({ company, fetchFromGitHub, fetchurl, lib, melpaBuild, slime }: melpaBuild { pname = "slime-company"; - version = "0.9.1"; + version = "1.1"; src = fetchFromGitHub { owner = "anwyn"; repo = "slime-company"; - rev = "b4a770b1c1e9638f13e339e7debbdb3b25217e39"; - sha256 = "0rdhd6kymbzhkc96dxy3nr21ajrkc7iy6zvq1va22r90f96jj9x4"; + rev = "6c244690c80387a32b0cb984843e00c8b75ad6bb"; + sha256 = "1hl1hqkc1pxga9k2k8k15d7dip7sfsmwf4wm4sh346m6nj606q8g"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/abe5036c6de996a723bc800e0f031314e1188660/recipes/slime-company"; @@ -27003,12 +28654,12 @@ smartparens = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "smartparens"; - version = "1.7.1"; + version = "1.9.0"; src = fetchFromGitHub { owner = "Fuco1"; repo = "smartparens"; - rev = "48c1436d0eb63e3a6ce91920546b392df3860bf2"; - sha256 = "0pvgnfg8a8w7c1nmrwyhfc0j7clzb290kwkid0c8kz275mb9nm3k"; + rev = "253afc49ff30a19ea1a7af10e1e8abdb46546ac1"; + sha256 = "0ml0fdvgx60vqansh4j17ihkrnyjdndkijysqhqx1q78d97vnhi4"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/bd98f85461ef7134502d4f2aa8ce1bc764f3bda3/recipes/smartparens"; @@ -27084,22 +28735,22 @@ license = lib.licenses.free; }; }) {}; - smeargle = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + smeargle = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "smeargle"; - version = "0.2"; + version = "0.3"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-smeargle"; - rev = "fe0494bb859ea51800d6e7ae7d9eda2fe98e0097"; - sha256 = "1pcpg3lalbrc24z3vwcaysps8dbdzmncdgqdd5ig6yk2a9wyj9ng"; + rev = "0665b1ff5109731898bc4a0ca6d939933b804777"; + sha256 = "0p0kxmjdr02l9injlyyrnnzqdbb7mirz1xx79c3lw1rgpalf0jnf"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c5b985b24a23499454dc61bf071073df325de571/recipes/smeargle"; sha256 = "1dy87ah1w21csvrkq5icnx7g7g7nxqkcyggxyazqwwxvh2silibd"; name = "smeargle"; }; - packageRequires = [ cl-lib emacs ]; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/smeargle"; license = lib.licenses.free; @@ -27126,6 +28777,27 @@ license = lib.licenses.free; }; }) {}; + smmry = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "smmry"; + version = "0.0.3"; + src = fetchFromGitHub { + owner = "microamp"; + repo = "smmry.el"; + rev = "b7ee765337fa627a6c59eb4f2a91df5d280ac6df"; + sha256 = "0hzs8xi7n3bsqwm3nlm3vk8p2p33ydwxpwk9wp3325g03jl921in"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/ba2d4be4dd4d6c378eabd833f05a944afa21817b/recipes/smmry"; + sha256 = "05ikcvyr74jy3digd0ad443h5kf11w29hgnmb71bclm3mfslh5wn"; + name = "smmry"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/smmry"; + license = lib.licenses.free; + }; + }) {}; smooth-scroll = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "smooth-scroll"; @@ -27171,12 +28843,12 @@ snakemake-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, magit-popup, melpaBuild }: melpaBuild { pname = "snakemake-mode"; - version = "0.5.1"; + version = "1.1.0"; src = fetchFromGitHub { owner = "kyleam"; repo = "snakemake-mode"; - rev = "3f02d1af5548d15a410ee745b9e7ebc09266a1ab"; - sha256 = "12s3ykb2flnbl6kvjn0yy11y0g5nq2k5arpgf7pqwj4wgx0fl8nb"; + rev = "327c168febbde24c2b39cc10d26c9cfc9189e130"; + sha256 = "1jlv8sr2g3i335h7hp8y39b77wla9hac1b0bk2imalr14lz04vly"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c3a5b51fee1c9e6ce7e21555faa355d118d34b8d/recipes/snakemake-mode"; @@ -27189,6 +28861,27 @@ license = lib.licenses.free; }; }) {}; + snapshot-timemachine-rsnapshot = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, seq, snapshot-timemachine }: + melpaBuild { + pname = "snapshot-timemachine-rsnapshot"; + version = "0.3"; + src = fetchFromGitHub { + owner = "NicolasPetton"; + repo = "snapshot-timemachine-rsnapshot"; + rev = "4ff6b96219f4da576141e376b0348813c1c25615"; + sha256 = "0krb1ziyjldyq27sp0phmygm1p9lssp251ycj08gdczbbfpw4lsa"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/94358fb8d1486491903c331d9e90ba5198117aa8/recipes/snapshot-timemachine-rsnapshot"; + sha256 = "0fxijd94p961ab0p4ddmhja4bfrif2d87v32g4c41amc1klyf25r"; + name = "snapshot-timemachine-rsnapshot"; + }; + packageRequires = [ seq snapshot-timemachine ]; + meta = { + homepage = "https://melpa.org/#/snapshot-timemachine-rsnapshot"; + license = lib.licenses.free; + }; + }) {}; solarized-theme = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "solarized-theme"; @@ -27255,12 +28948,12 @@ sotlisp = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "sotlisp"; - version = "1.5.2"; + version = "1.6.2"; src = fetchFromGitHub { owner = "Malabarba"; repo = "speed-of-thought-lisp"; - rev = "b67364d4825a9bf0a22261809ee9e9060b268198"; - sha256 = "0xykm4yayb8gw83arv5p205cx18j14q9407rqw3sbcj9cj5nbk34"; + rev = "fffe8d0b42b143a2e7df0470d9049fa57b6ecac5"; + sha256 = "0j5zwb1ypqps30126w2684lmjh8ia4qxg8inlajcbv8i3pbai7k6"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1e6aed365c42987d64d0cd9a8a6178339b1b39e8/recipes/sotlisp"; @@ -27315,22 +29008,22 @@ license = lib.licenses.free; }; }) {}; - sourcemap = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + sourcemap = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "sourcemap"; - version = "0.2"; + version = "0.3"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-sourcemap"; - rev = "065a0c3bd8ca5fe6a45e8f983f932c3c9fac5db9"; - sha256 = "1k2gfw4dydzqxbfdmcghajbb2lyg1j4wgdhp8chlql3dax1f503d"; + rev = "64c89d296186f48d9135fb8aad501de19f64bceb"; + sha256 = "115g2mfpbfywp8xnag4gsb50klfvplqfh928a5mabb5s8v4a3582"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/557d18259543263932fccdbaf44c4e7986bd277b/recipes/sourcemap"; sha256 = "0cjg90y6a0l59a9v7d7p12pgmr21gwd7x5msil3h6xkm15f0qcc5"; name = "sourcemap"; }; - packageRequires = [ cl-lib emacs ]; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/sourcemap"; license = lib.licenses.free; @@ -27441,6 +29134,27 @@ license = lib.licenses.free; }; }) {}; + speed-type = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "speed-type"; + version = "1.0"; + src = fetchFromGitHub { + owner = "parkouss"; + repo = "speed-type"; + rev = "d9d98b9744e21d5e12a695096efcde288bdb5c18"; + sha256 = "043ydcik23ykphbh89haagxbdn11s1b44wkziwibnb7d3r9hd8p7"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/d6c33b5bd15875baea0fd2f24ee8ec9414a6f7aa/recipes/speed-type"; + sha256 = "0lsbi3b6v7fiwpvydgwcqx3y5i7bysfjammly22qpz3kcjmlvi06"; + name = "speed-type"; + }; + packageRequires = [ cl-lib ]; + meta = { + homepage = "https://melpa.org/#/speed-type"; + license = lib.licenses.free; + }; + }) {}; sphinx-doc = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "sphinx-doc"; @@ -27462,6 +29176,27 @@ license = lib.licenses.free; }; }) {}; + sphinx-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "sphinx-mode"; + version = "0.1.1"; + src = fetchFromGitHub { + owner = "Fuco1"; + repo = "sphinx-mode"; + rev = "3d6e3059350593dc077f06f54c33869b9e28f7bc"; + sha256 = "0l3a8swmf3sm54ayk2ahh1i5j1hf0hd822dfmx50kgwi4wpv48sp"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/269acf093c3aa508479bf532a4e07c9c6d568c72/recipes/sphinx-mode"; + sha256 = "16p5xlj4q9fyhz70r73w48fivwzpz9mcq710qqxqaap1aajkh84b"; + name = "sphinx-mode"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/sphinx-mode"; + license = lib.licenses.free; + }; + }) {}; splitjoin = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "splitjoin"; @@ -27570,12 +29305,12 @@ sqlup-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "sqlup-mode"; - version = "0.6.1"; + version = "0.7.1"; src = fetchFromGitHub { owner = "Trevoke"; repo = "sqlup-mode.el"; - rev = "6140e23a2902616da5894dc676b47a8748faf016"; - sha256 = "0dczcmibvr9m5isn9isgl01q9x97yfdcs21qa57ds2b3nmqaqy4p"; + rev = "65e75ebc7d85a63e4e27900ba746623a8e4bfa95"; + sha256 = "1yiz1k2dg010dypql5l9ahcl33nvqxl731wghv4jvp6bdxcf90g3"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/sqlup-mode"; @@ -27609,36 +29344,36 @@ license = lib.licenses.free; }; }) {}; - ssh-config-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + ssh-deploy = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { - pname = "ssh-config-mode"; - version = "20160326.20.550"; + pname = "ssh-deploy"; + version = "1.1"; src = fetchFromGitHub { - owner = "jhgorrell"; - repo = "ssh-config-mode-el"; - rev = "3656cebd647918bd71f66e70810b9148e44f19a7"; - sha256 = "08nx1iwvxqs1anng32w3c2clhnjf45527j0gxz5fy6h9svmb921q"; + owner = "cjohansson"; + repo = "emacs-ssh-deploy"; + rev = "3569e5ea6892d6d7f4ef36bf41462af011e1a114"; + sha256 = "0l3h6w13xc81i6vavfsg617ly8m2y8yjzbwa6zwwkfqi301kgpij"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/9ce38cac422ad82f8b77a1757490daa1f5e284b0/recipes/ssh-config-mode"; - sha256 = "0aihyig6q3pmk9ld519f4n3kychrg3l7r29ijd2dpvs0530md4wb"; - name = "ssh-config-mode"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/8b4547f86e9a022468524b0d3818b24e1457797e/recipes/ssh-deploy"; + sha256 = "07kryxspjy8lr1a2m0bppa3xgbzwk180z4a8har37ygm3hdpj50x"; + name = "ssh-deploy"; }; packageRequires = []; meta = { - homepage = "https://melpa.org/#/ssh-config-mode"; + homepage = "https://melpa.org/#/ssh-deploy"; license = lib.licenses.free; }; }) {}; stan-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "stan-mode"; - version = "9.1.0"; + version = "9.2.0"; src = fetchFromGitHub { owner = "stan-dev"; repo = "stan-mode"; - rev = "62109483b39c6dc20e1b55bd833c9f8ea38e7118"; - sha256 = "0jnfhb49hi6fydffhdj1kkhrsc45zjsnm43djbsgzdnd6abbfhnr"; + rev = "45b8242611fe0437fcff48f5f4f7d8f0552531ac"; + sha256 = "14yv57grsw3zyjcqasaanx8g2skix0i3w1f5r1fng3sgwclwbkdw"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/67a44a0abe675238b10decdd612b67e418caf34b/recipes/stan-mode"; @@ -27654,12 +29389,12 @@ stan-snippets = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, stan-mode, yasnippet }: melpaBuild { pname = "stan-snippets"; - version = "9.1.0"; + version = "9.2.0"; src = fetchFromGitHub { owner = "stan-dev"; repo = "stan-mode"; - rev = "62109483b39c6dc20e1b55bd833c9f8ea38e7118"; - sha256 = "0jnfhb49hi6fydffhdj1kkhrsc45zjsnm43djbsgzdnd6abbfhnr"; + rev = "45b8242611fe0437fcff48f5f4f7d8f0552531ac"; + sha256 = "14yv57grsw3zyjcqasaanx8g2skix0i3w1f5r1fng3sgwclwbkdw"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/eda8539b7d8da3a458a38f7536ed03580f9088c3/recipes/stan-snippets"; @@ -27714,27 +29449,6 @@ license = lib.licenses.free; }; }) {}; - stekene-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: - melpaBuild { - pname = "stekene-theme"; - version = "1.0.15"; - src = fetchFromGitHub { - owner = "Fanael"; - repo = "stekene-theme"; - rev = "5a5ed0aed5c6c6c56aa1e59516a40c697b04a673"; - sha256 = "0pik6mq8syhxk9l9ns8wgvg5312qkckm3cilb3irwdm1dvnl5hpf"; - }; - recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/a4be17a072d4e878c510e3ef2c73bad166375195/recipes/stekene-theme"; - sha256 = "0v1kwlnrqaygzaz376a5njg9kv4yf5l35k87xga4wdd2mxfwrmf1"; - name = "stekene-theme"; - }; - packageRequires = [ emacs ]; - meta = { - homepage = "https://melpa.org/#/stekene-theme"; - license = lib.licenses.free; - }; - }) {}; stgit = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }: melpaBuild { pname = "stgit"; version = "0.17.1"; @@ -27775,6 +29489,27 @@ license = lib.licenses.free; }; }) {}; + string-inflection = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "string-inflection"; + version = "1.0.5"; + src = fetchFromGitHub { + owner = "akicho8"; + repo = "string-inflection"; + rev = "f11e732a582419e14a36c53130dd3a7b2c9da8c5"; + sha256 = "1sq7h58v61cdyca5kfhf9rf3ybj25zgbhfdvb29qd7b2b33px7a5"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/5c2e2b6dba8686236c2595475cfddac5fd700e60/recipes/string-inflection"; + sha256 = "1vrjcg1fa5adw16s4v9dq0fid0gfazxk15z9cawz0kmnpyzz3fg2"; + name = "string-inflection"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/string-inflection"; + license = lib.licenses.free; + }; + }) {}; string-utils = callPackage ({ fetchFromGitHub, fetchurl, lib, list-utils, melpaBuild }: melpaBuild { pname = "string-utils"; @@ -27963,22 +29698,22 @@ license = lib.licenses.free; }; }) {}; - suggest = callPackage ({ dash, f, fetchFromGitHub, fetchurl, lib, loop, melpaBuild, s }: + suggest = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, loop, melpaBuild, s }: melpaBuild { pname = "suggest"; - version = "0.1"; + version = "0.2"; src = fetchFromGitHub { owner = "Wilfred"; repo = "suggest.el"; - rev = "785818164ce0823360409fd6e8d12e656409fdd3"; - sha256 = "17xmpr2ir30x9nzb8fcbss7vnk1496sa1bxa8q8q1x778sh4728c"; + rev = "588ec8b9476c8d7f5f16018a7aaf90ee828fb4f5"; + sha256 = "1ckvsckqlbdcw6nbsrh9xizbpkr7r88ks39av8dhn5n412c5jm4g"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b9fd27e812549587dc2ec26bb58974177ff263ff/recipes/suggest"; sha256 = "12vvakqqzmmqq5yynpd4wf4lnb0yvcnz065kni996sy7rv7rh83q"; name = "suggest"; }; - packageRequires = [ dash f loop s ]; + packageRequires = [ dash emacs f loop s ]; meta = { homepage = "https://melpa.org/#/suggest"; license = lib.licenses.free; @@ -28113,12 +29848,12 @@ swift-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "swift-mode"; - version = "0.4.0"; + version = "2.2"; src = fetchFromGitHub { owner = "chrisbarrett"; repo = "swift-mode"; - rev = "4e9da69ba776ec2a4a97c75534e6274bffc4fc8a"; - sha256 = "07xrcg33vsw19kz692hm7blzvnf7b6isllsz79fvs8q3l5c9mfjx"; + rev = "a07be7a34d4f677a28878f4b72a2095addc628fd"; + sha256 = "14l8cm82fx0p1xcbf48a303llx2p9p0i17ly1vx8y5ff3a0i0l0h"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/19cb133191cd6f9623e99e958d360113595e756a/recipes/swift-mode"; @@ -28131,6 +29866,27 @@ license = lib.licenses.free; }; }) {}; + swift3-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "swift3-mode"; + version = "2.1.1"; + src = fetchFromGitHub { + owner = "taku0"; + repo = "swift3-mode"; + rev = "ea34d46bf9a4293e75ffdac9500d34989316d9e9"; + sha256 = "1hwc3fxv87hmw0a0mgl8khfzf1p7yp2izkc02z8f1vbkaibmmawp"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/0ca9071199230d3c4c1b2e3a501736df87095fd3/recipes/swift3-mode"; + sha256 = "14vm05p8ix09v73dkmf03i56yib8yk6h2r1zc9m4ym80fki4f520"; + name = "swift3-mode"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/swift3-mode"; + license = lib.licenses.free; + }; + }) {}; swiper = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }: melpaBuild { pname = "swiper"; @@ -28385,12 +30141,12 @@ systemd = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "systemd"; - version = "1.4"; + version = "1.4.1"; src = fetchFromGitHub { owner = "holomorph"; repo = "systemd-mode"; - rev = "b03e616f0d0fbd512c32afcf87a596eae509abc2"; - sha256 = "0wqmpvqv5dbnniv7xpvmhw75h9xh3q5ndkrpzz3pk5b94drgm5s3"; + rev = "7769000ba6b395dfaa2c6b0fce48ae5d5cd9a035"; + sha256 = "1vqcqrq8qk9n512rbwi2lcvjiy0wqmybwa2lmrkv49yshqjhm5ld"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ca810e512c357d1d0130aeeb9b46b38c595e3351/recipes/systemd"; @@ -28553,12 +30309,12 @@ ten-hundred-mode = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ten-hundred-mode"; - version = "1.0"; + version = "1.0.1"; src = fetchFromGitHub { owner = "aaron-em"; repo = "ten-hundred-mode.el"; - rev = "fc1d7cdb72c21dc1953ed2e2ecf28233b8b3e305"; - sha256 = "17633jachcgnibmvx433ygcfmz3j6hzli5mqbqg83r27chiq5mjx"; + rev = "bdcfda49b1819e82d61fe90947e50bb948cf7933"; + sha256 = "11nsh6dkd3i489lrqpd9xhr4c0ai51364rlrd6slm54720by9jql"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4a0534044ff9ce0740414bf5dc3b104bbdbdacce/recipes/ten-hundred-mode"; @@ -28574,12 +30330,12 @@ term-alert = callPackage ({ alert, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, term-cmd }: melpaBuild { pname = "term-alert"; - version = "1.1"; + version = "1.2"; src = fetchFromGitHub { owner = "CallumCameron"; repo = "term-alert"; - rev = "3e8b39ed4d960933ffdf0308f9bf0d5ce63648e9"; - sha256 = "195jghl1c8ncl15nix275r4x61zlii90pnwgx4m9q2bnbwsz3ycm"; + rev = "47af9e6fe483ef0d393098c145f499362a33292a"; + sha256 = "1nv8ma8x9xkgsl95z7yysy8q1lb3xr0pd8a5sb01nlx8ks3clad4"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0d77aee0b1b2eb7834436bdfa339f95cb97da140/recipes/term-alert"; @@ -28613,6 +30369,48 @@ license = lib.licenses.free; }; }) {}; + term-manager = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "term-manager"; + version = "0.1.1"; + src = fetchFromGitHub { + owner = "IvanMalison"; + repo = "term-manager"; + rev = "0bca2e7e3b6e906ec67696bc0be952988ca7f733"; + sha256 = "0ybmszjb2lrgqp3zixpxy0lp2l9axw3mz2d4n2kmajh8ckbr576v"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/0b2f7d8c8fcbb535432f8e70729d69a572e49a1a/recipes/term-manager"; + sha256 = "0ab388ki7vr1wpz81bvbl2fskq9zz5bicdf5gqfg01qzv5l75iza"; + name = "term-manager"; + }; + packageRequires = [ dash emacs ]; + meta = { + homepage = "https://melpa.org/#/term-manager"; + license = lib.licenses.free; + }; + }) {}; + term-projectile = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, projectile, term-manager }: + melpaBuild { + pname = "term-projectile"; + version = "0.1.1"; + src = fetchFromGitHub { + owner = "IvanMalison"; + repo = "term-manager"; + rev = "0bca2e7e3b6e906ec67696bc0be952988ca7f733"; + sha256 = "0ybmszjb2lrgqp3zixpxy0lp2l9axw3mz2d4n2kmajh8ckbr576v"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/5260876280148fae28a459f07932cebb059b560e/recipes/term-projectile"; + sha256 = "1mzyzjxkdfvf1kq9m3c1f6y6xzj1qq53rixawmnzmil5cmznvwag"; + name = "term-projectile"; + }; + packageRequires = [ projectile term-manager ]; + meta = { + homepage = "https://melpa.org/#/term-projectile"; + license = lib.licenses.free; + }; + }) {}; term-run = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "term-run"; @@ -28700,12 +30498,12 @@ tern-context-coloring = callPackage ({ context-coloring, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, tern }: melpaBuild { pname = "tern-context-coloring"; - version = "1.0.0"; + version = "1.0.1"; src = fetchFromGitHub { owner = "jacksonrayhamilton"; repo = "tern-context-coloring"; - rev = "42e2f0177e8d3017c07826361cc981b2883d34dc"; - sha256 = "0jdm1s8pqs40xligbhmqgk4vaxkqyb2i5wkx1zgjazq8fhcql9jv"; + rev = "3a8e979d6cc83aabcb3dda3f5f31a6422532efba"; + sha256 = "1rq5aqmsd7jqvwypafad9gmfcwjqjah00j7cws46k5f0dirjaa1y"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/db2119d2c2d167d771ee02c2735b435d59991b93/recipes/tern-context-coloring"; @@ -28739,22 +30537,22 @@ license = lib.licenses.free; }; }) {}; - terraform-mode = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, hcl-mode, lib, melpaBuild }: + terraform-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, hcl-mode, lib, melpaBuild }: melpaBuild { pname = "terraform-mode"; - version = "0.5"; + version = "0.6"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-terraform-mode"; - rev = "3458515359c1f3c82b40e72317b7dd49c05ea873"; - sha256 = "1k0v56v7mwpb5p228c0g252szpxvpqswrmjfpk75kh32v56wp5xi"; + rev = "6286aa42132a7fcad49271d63be33deeeb8d4efc"; + sha256 = "05hn8kskx9lcgn7bzgam99c629zlryir2pickwrqndacjrqpdykx"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/93e06adf34bc613edf95feaca64c69a0a2a4b567/recipes/terraform-mode"; sha256 = "1m3s390mn4pba7zk17xfk045dqr4rrpv5gw63jm18fyqipsi6scn"; name = "terraform-mode"; }; - packageRequires = [ cl-lib hcl-mode ]; + packageRequires = [ emacs hcl-mode ]; meta = { homepage = "https://melpa.org/#/terraform-mode"; license = lib.licenses.free; @@ -28865,6 +30663,27 @@ license = lib.licenses.free; }; }) {}; + textx-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "textx-mode"; + version = "0.0.1"; + src = fetchFromGitHub { + owner = "novakboskov"; + repo = "textx-mode"; + rev = "1f9ae651508176b4cb1ae9a03aec06049f333c61"; + sha256 = "00hdnfa27rb9inqq4dn51v8jrbsl4scql0cngp6fxdaf93j1p5gk"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/dada0378af342e0798c418032a8dcc7dfd80d600/recipes/textx-mode"; + sha256 = "10y95m6fskvdb2gh078ifa70nc48shkvw0223iyqbyjys35h53bn"; + name = "textx-mode"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/textx-mode"; + license = lib.licenses.free; + }; + }) {}; theme-changer = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "theme-changer"; @@ -29056,12 +30875,12 @@ transmission = callPackage ({ emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild }: melpaBuild { pname = "transmission"; - version = "0.9"; + version = "0.10"; src = fetchFromGitHub { owner = "holomorph"; repo = "transmission"; - rev = "5e20a6fbbed0a74a16c834a8e3e7950bdd5a9149"; - sha256 = "0nsh2rz9w33m79rrr8nrz3g1wcgfrv7dc8q9g3s82ckj5g8gxfpr"; + rev = "fc0af768454f7964ba0c8b6934fc0cae24b8ebe8"; + sha256 = "05zrdgv0b7a3y89phg66y8cfpmshm34yg7ahhc861k6wh4kvkv89"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9ed7e414687c0bd82b140a1bd8044084d094d18f/recipes/transmission"; @@ -29305,6 +31124,27 @@ license = lib.licenses.free; }; }) {}; + typescript-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "typescript-mode"; + version = "0.1"; + src = fetchFromGitHub { + owner = "ananthakumaran"; + repo = "typescript.el"; + rev = "abc0751c0e3f316a0064fc7342ffb89b49b02e15"; + sha256 = "0lgsyqzfjqhygs8a3icnfsp6y20h2rqrk4wbyc1xfmkbahs7qk8y"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/d3f534a1e2cee4ad2e32e32802c5080207417b3d/recipes/typescript-mode"; + sha256 = "01jyqy44ir59n9c2f6gh4xzwfmzdpnys1lw4lnsy6kirqgbsq9ha"; + name = "typescript-mode"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/typescript-mode"; + license = lib.licenses.free; + }; + }) {}; typit = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, mmt }: melpaBuild { pname = "typit"; @@ -29608,12 +31448,12 @@ use-package = callPackage ({ bind-key, diminish, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "use-package"; - version = "2.2"; + version = "2.3"; src = fetchFromGitHub { owner = "jwiegley"; repo = "use-package"; - rev = "27fdfba5b05fd51345dc2b947ae6342266fdb22b"; - sha256 = "1dzkvinp1h1w48lx44x9bn1b54c83m1wl5v8h99l76fh1y0jw7b4"; + rev = "cd58b268a8a025451c11c3cb1ba18d4f27f245da"; + sha256 = "14x01dg7fgj4icf8l8w90pksazc0sn6qrrd0k3xjr2zg1wzdcang"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3f9b52790e2a0bd579c24004873df5384e2ba549/recipes/use-package"; @@ -29755,12 +31595,12 @@ vdirel = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, org-vcard, seq }: melpaBuild { pname = "vdirel"; - version = "0.1.0"; + version = "0.2.0"; src = fetchFromGitHub { owner = "DamienCassou"; repo = "vdirel"; - rev = "aab19692e2c2084a0d5b554a96a64a2e3e2a3d09"; - sha256 = "034475m2d2vlrlc2l88gdx0ga3krsdh08wkjxwnbb2dfyz3p8r9v"; + rev = "4232676e93ca5ace8e51f6605bec223c3205beea"; + sha256 = "0jdjg50f6my9952frl6asi8zk0i8b4hva26wm7pi8zk423pydr30"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/72b5ea3f4444c3de73d986a28e1d12bf47c40246/recipes/vdirel"; @@ -29923,12 +31763,12 @@ visual-fill-column = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "visual-fill-column"; - version = "1.9"; + version = "1.10"; src = fetchFromGitHub { owner = "joostkremers"; repo = "visual-fill-column"; - rev = "73da507c8f4af7a755f9b209bbb3b0343ca2517c"; - sha256 = "0hks82hdx7rfx3lwsz0zq5k9j6vpwbpgj9d6i7xhd6cwb9q95ycv"; + rev = "159dcee48e7311ee816686d62e7ce36619127462"; + sha256 = "0bij20a8f9pd4307m2qslcx8p3j59hkr14sm18aw0bric65him8b"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c7628c805840c4687686d0b9dc5007342864721e/recipes/visual-fill-column"; @@ -30112,12 +31952,12 @@ wc-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "wc-mode"; - version = "1.0"; + version = "1.3"; src = fetchFromGitHub { owner = "bnbeckwith"; repo = "wc-mode"; - rev = "eb0b23e0de8bcf21c61c1edacd9fe89b2e6888d0"; - sha256 = "0kzs256ymhdrqzva32j215q9fl66n9571prb7mi6syx1vpk7m3lw"; + rev = "122f90bd1d422a84cc50acabd350d44d39ddeb69"; + sha256 = "0pjlxv46zzqdq6q131jb306vqlg4sfqls1x8vag7mmfw462hafqp"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0fda2b54a0ff0b6fc3bd6d20cfcbbf63cae5380f/recipes/wc-mode"; @@ -30175,12 +32015,12 @@ web-beautify = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "web-beautify"; - version = "0.3.1"; + version = "0.3.2"; src = fetchFromGitHub { owner = "yasuyk"; repo = "web-beautify"; - rev = "0fac5fa09cee9d45237d6d74e2760fb24c929f8a"; - sha256 = "0zpvs9yc2gxfmm0x0majhzxc0b0vmm6p6pxh92h8iq3pmr0di8yj"; + rev = "aa95055224c24f38736716809fec487cd817c38d"; + sha256 = "0vms7zz3ym53wf1zdrkbf2ky2xjr1v134ngsd0jr8azyi8siw84d"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0d528d3e20b1656dff40860cac0e0fa9dc1a3e87/recipes/web-beautify"; @@ -30235,23 +32075,45 @@ license = lib.licenses.free; }; }) {}; - weblogger = callPackage ({ fetchbzr, fetchurl, lib, melpaBuild, xml-rpc }: + web-mode-edit-element = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, web-mode }: melpaBuild { - pname = "weblogger"; - version = "1.4.5"; - src = fetchbzr { - url = "lp:weblogger-el"; - rev = "38"; - sha256 = "1z7ld9d0crwdh778fyaapx75vpnlnslsh9nf07ywkylhz4w68yyv"; + pname = "web-mode-edit-element"; + version = "2.1"; + src = fetchFromGitHub { + owner = "jtkDvlp"; + repo = "web-mode-edit-element"; + rev = "8b8ac07aa8c920dafd94c96a51effb0d6c0ed1ce"; + sha256 = "0aj1ibmnrbaxrkwjf1fac2qzazrj39pql3prcibnchc2bmp191aa"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/4e08837a9af8185951df9b44b9b94a799f0de923/recipes/weblogger"; - sha256 = "189zs1321rybgi4zihps7d2jll5z13726jsg5mi7iycg85nkv2fk"; - name = "weblogger"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/2658e8a80455ad5ae1ceb69deddab89ebc6b6871/recipes/web-mode-edit-element"; + sha256 = "09m2jzsb3zz1wr396jrhcwskfm1m0a4hvxlxhq5p1w5fzfcdb8md"; + name = "web-mode-edit-element"; }; - packageRequires = [ xml-rpc ]; + packageRequires = [ emacs web-mode ]; meta = { - homepage = "https://melpa.org/#/weblogger"; + homepage = "https://melpa.org/#/web-mode-edit-element"; + license = lib.licenses.free; + }; + }) {}; + webpaste = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request }: + melpaBuild { + pname = "webpaste"; + version = "1.0.0"; + src = fetchFromGitHub { + owner = "etu"; + repo = "webpaste.el"; + rev = "58f66efcb8f061d25bf474b14f3867ae856f6b1d"; + sha256 = "0qczw7pdkjgqmjibwyw8psxhqy1bx183qzni832qx59sds15j13q"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/13847d91c1780783e516943adee8a3530c757e17/recipes/webpaste"; + sha256 = "1pqqapslb5wxfrf1ykrj5jxcl43pix17lawgdqrqkv5fyxbhmfpm"; + name = "webpaste"; + }; + packageRequires = [ cl-lib emacs request ]; + meta = { + homepage = "https://melpa.org/#/webpaste"; license = lib.licenses.free; }; }) {}; @@ -30405,12 +32267,12 @@ which-key = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "which-key"; - version = "1.1.15"; + version = "1.2.1"; src = fetchFromGitHub { owner = "justbur"; repo = "emacs-which-key"; - rev = "1eace34a1f5b780a30797976d0cfec5936048b7b"; - sha256 = "0sgisdgid6xw6pggdi42i07wmar8bbxg9wk1b7jvyi7i7q94s843"; + rev = "17f4b0069273f9c9877dc079e5cf49ed9cb4d278"; + sha256 = "1h673yjl0hp6p244pkk6hmazgfrj2sbz9cvd1r6rnrp1lpn8z1dl"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/315865a3df97c0694f648633d44b8b34df1ac76d/recipes/which-key"; @@ -30531,12 +32393,12 @@ win-switch = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "win-switch"; - version = "1.1"; + version = "1.1.4"; src = fetchFromGitHub { owner = "genovese"; repo = "win-switch"; - rev = "a0da96c23e8775a2dfdbe55ed3ec5b57f1ebb26a"; - sha256 = "0ib20zl8l1fs69ca9rry27qz69sgf6ws1ca5nhm5llvpkjcgv53i"; + rev = "954eb5e4c5737f0c06368c42a7f1c3dd374d782f"; + sha256 = "1xpx4sc1g1w8w0yc39k2dys83m8skrpvi745bfrzdl47jngrf54h"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/win-switch"; @@ -30660,8 +32522,8 @@ version = "0.9.1"; src = fetchhg { url = "https://bitbucket.com/ArneBab/wisp"; - rev = "a55b6dd96558"; - sha256 = "1n0a99v2gwr12dhgg0yw42lm7ggcq9b85qn1c29k66l7jz637mfp"; + rev = "ab6afca9ee2e"; + sha256 = "19yy6z12pqaz9l0gj4hm73m7z2gcyivwymf6732vk8im77i8agyl"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/wisp-mode"; @@ -30698,12 +32560,12 @@ with-editor = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "with-editor"; - version = "2.5.2"; + version = "2.5.9"; src = fetchFromGitHub { owner = "magit"; repo = "with-editor"; - rev = "4929d430266925c1145adef9987e2acdb829395b"; - sha256 = "12613xwd05l26p2v9jxjxcqf4v20j6fq5wpmnj45spg0ngalwzg4"; + rev = "2248a63f6eb6e7720881b508639d9a00d2db9ea0"; + sha256 = "0g5ch1a5myrmazxcbbak01q4k3x8yp3kbn73d2h26j2jmsqvdy1n"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8c52c840dc35f3fd17ec660e113ddbb53aa99076/recipes/with-editor"; @@ -30866,12 +32728,12 @@ ws-butler = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "ws-butler"; - version = "0.3"; + version = "0.5"; src = fetchFromGitHub { owner = "lewang"; repo = "ws-butler"; - rev = "106d313c0dad532c2da3cc78770a8a2f0396aa85"; - sha256 = "1lv0l27lrp6xyl0c5yhlnyjwx872izq02z8x34da9jv3walxpk8f"; + rev = "b59e36b2451193bf96176f5a006bf506770a40f3"; + sha256 = "0ij88qr7gk07dchhjsn3nlk8fqgbkp4qhvn14dqxndn3zr64ix7v"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f1645a51d487c8902eb6e59fb1884f85f48cec6f/recipes/ws-butler"; @@ -30929,12 +32791,12 @@ x86-lookup = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "x86-lookup"; - version = "1.1.0"; + version = "1.1.1"; src = fetchFromGitHub { owner = "skeeto"; repo = "x86-lookup"; - rev = "7a2f43908985590ab8b904004cd4c41e341216be"; - sha256 = "0fks0bnil7m4m56k267f0awqnyq3vr2ywd81rsmbk1154g3acndc"; + rev = "208810ea93214491e6e2329cdbf81de85437939a"; + sha256 = "0whhi05mg7xirzfcz7fzn4hkqq0qbrhqi77myrgdhwgs123cd9bj"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/27757b9b5673f5581e678e8cad719138db654415/recipes/x86-lookup"; @@ -31076,12 +32938,12 @@ xref-js2 = callPackage ({ emacs, fetchFromGitHub, fetchurl, js2-mode, lib, melpaBuild }: melpaBuild { pname = "xref-js2"; - version = "1.3"; + version = "1.5"; src = fetchFromGitHub { owner = "NicolasPetton"; repo = "xref-js2"; - rev = "b4bd3b992220a9f8c38b313e4fbf4eeddc07176a"; - sha256 = "1kmlya0bwgm2krwc6j4gp80579sf5azz08l8d7pydw69rckv6ji0"; + rev = "7e2bc6a8dad08a493d11d3554f6374584846b9e6"; + sha256 = "1mmd27miv32sl8cj7qhy09yfh7v1zgw7rv4fdwk96msvd4qfdkqd"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b5dab444ead98210b4ab3a6f9a61d013aed6d5b7/recipes/xref-js2"; @@ -31094,22 +32956,22 @@ license = lib.licenses.free; }; }) {}; - xterm-color = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + xterm-color = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "xterm-color"; - version = "1.0"; + version = "1.6"; src = fetchFromGitHub { owner = "atomontage"; repo = "xterm-color"; - rev = "380cc8c6c6969f8a262ad4ddc61117691db7f4d1"; - sha256 = "1zdj4664gvwc4kyx7fx5232l3c5anm0xyrrnrw596q604q6xxj2x"; + rev = "ed3d0f4ccb2b28ff034192c50f244a97197d3911"; + sha256 = "0djh18lm3xn9h4fa5ra0jrlzdzwhvhcalipj73j5gmmfaif4ya9q"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b34a42f1bf5641871da8ce2b688325023262b643/recipes/xterm-color"; sha256 = "0bvzi1mkxgm4vbq2va1sr0k9h3fdmppq79hkvbizc2xgk72sazpj"; name = "xterm-color"; }; - packageRequires = []; + packageRequires = [ cl-lib ]; meta = { homepage = "https://melpa.org/#/xterm-color"; license = lib.licenses.free; @@ -31178,27 +33040,48 @@ license = lib.licenses.free; }; }) {}; - yaml-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + yaml-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "yaml-mode"; - version = "0.0.12"; + version = "0.0.13"; src = fetchFromGitHub { owner = "yoshiki"; repo = "yaml-mode"; - rev = "a817e46cc55eb90b7e1dd7cff74e43e080f0f690"; - sha256 = "1mj1gwrflpdlmc7wl1axygn1jqlrjys1dh3cpdh27zrgsjvhd6c1"; + rev = "2ace378bef2047a980fba0e42e3e6b5d990f2c66"; + sha256 = "1wx4gqkg0v0mcykimiihrp4lg2s9qac31w8rw5frbs1r37v3l8x7"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/yaml-mode"; sha256 = "0afp83xcr8h153cayyaszwkgpap0iyk351dlykmv6bv9d2m774mc"; name = "yaml-mode"; }; - packageRequires = []; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/yaml-mode"; license = lib.licenses.free; }; }) {}; + yang-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "yang-mode"; + version = "0.9.4"; + src = fetchFromGitHub { + owner = "mbj4668"; + repo = "yang-mode"; + rev = "bcf698acbdb4df91f587942348739b407a8b0807"; + sha256 = "1rrmailvhxvivmdjamm2vvciym484cw0lqn1hgdw1lz999g5a5vs"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/bb42ab9b5f118baaf6766c478046552b686981a1/recipes/yang-mode"; + sha256 = "0rl90xbcf3383ls95g1dixh2dr02kc4g60d324cqbb4h59wffp40"; + name = "yang-mode"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/yang-mode"; + license = lib.licenses.free; + }; + }) {}; yascroll = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "yascroll"; @@ -31223,16 +33106,16 @@ yasnippet = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "yasnippet"; - version = "0.10.0"; + version = "0.11.0"; src = fetchFromGitHub { - owner = "capitaomorte"; + owner = "joaotavora"; repo = "yasnippet"; - rev = "dc3e4ca3454e8ffcd9a9eae312dba5b3657f9b11"; - sha256 = "16akdsqb74b4lriywidszmyyc8irq5dws8ya3mcja87kvih76148"; + rev = "e6b865127783f498b61fa99ad0f5413200ac09d0"; + sha256 = "0djj2gi0s0jyxpqgfk2818xnj5ykwhzy5k9yi65klsw2nanhh8y9"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/489687c6c41399a3bca8148a62d25581726a847d/recipes/yasnippet"; - sha256 = "1j6hcpzxljz1axh0xfbwr4ysbixkwgxawsvsgicls8r8kl2xvjvf"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/5d1927dc3351d3522de1baccdc4ce200ba52bd6e/recipes/yasnippet"; + sha256 = "1r37vz5b8nj6hr6c2ki9fdbrs3kkb4zwimh8r4ixm10kdkk5jqds"; name = "yasnippet"; }; packageRequires = [ cl-lib ]; @@ -31244,12 +33127,12 @@ yatemplate = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }: melpaBuild { pname = "yatemplate"; - version = "1.0"; + version = "2.0"; src = fetchFromGitHub { owner = "mineo"; repo = "yatemplate"; - rev = "a49a218b6fcfbbf6e51021be78aee6d3b220e3f6"; - sha256 = "1yplaj7pry43qps8hvqxj9983ah4jvaiq94l171a7f8qi28386s8"; + rev = "90c14d2e2b8247eeba464a52560af484f8542558"; + sha256 = "00q3803nz89r91v1rwld98j1wgfc7kc6ni5a3h3zjwz1issyv5is"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8ba3cdb74f121cbf36b6d9d5a434c363905ce526/recipes/yatemplate"; @@ -31267,8 +33150,8 @@ version = "1.78"; src = fetchhg { url = "https://www.yatex.org/hgrepos/yatex/"; - rev = "2521a95043af"; - sha256 = "0l7nxjc67mg2ddi7cf9vm744yps26zz64hqq7g0cfycjsgzg517v"; + rev = "5428250c886a"; + sha256 = "0q1b0wpdfdghp6hchc59jgkyra5qqqdam47q7g2ni4ym8nlhwd3c"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/04867a574773e8794335a2664d4f5e8b243f3ec9/recipes/yatex"; @@ -31302,22 +33185,32 @@ license = lib.licenses.free; }; }) {}; - ycmd = callPackage ({ dash, deferred, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, popup }: + ycmd = callPackage ({ cl-lib ? null, dash, deferred, emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild, pkg-info, request, request-deferred, s }: melpaBuild { pname = "ycmd"; - version = "0.9"; + version = "1.0"; src = fetchFromGitHub { owner = "abingham"; repo = "emacs-ycmd"; - rev = "8fb29b84d42c0aea71fe7db088b0b7a5a0c6b34c"; - sha256 = "094alkjrh285qy3sds8dkvxsbnaxnppz1ab0i5r575lyhli9lxia"; + rev = "be21ca7f807e70812b6fc0e0a4ea83b41723d815"; + sha256 = "1q30k8rhk3plknkk544h2dk48yqmxwh4xp3rq1lz8isc3580qwxx"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4b25378540c64d0214797348579671bf2b8cc696/recipes/ycmd"; sha256 = "10jqr6xz2fnrd1ihips9jmbcd28zha432h4pxjpswz3ivwjqhxna"; name = "ycmd"; }; - packageRequires = [ dash deferred emacs f popup ]; + packageRequires = [ + cl-lib + dash + deferred + emacs + let-alist + pkg-info + request + request-deferred + s + ]; meta = { homepage = "https://melpa.org/#/ycmd"; license = lib.licenses.free; @@ -31407,22 +33300,22 @@ license = lib.licenses.free; }; }) {}; - zerodark-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + zerodark-theme = callPackage ({ all-the-icons, fetchFromGitHub, fetchurl, flycheck, lib, magit, melpaBuild }: melpaBuild { pname = "zerodark-theme"; - version = "1.8"; + version = "4.2"; src = fetchFromGitHub { owner = "NicolasPetton"; repo = "zerodark-theme"; - rev = "c993631342d04a33f717e4161c60cf4fa7afe4a9"; - sha256 = "1yyx5c897b5nl1svqv8m0f6cy68cm20zi39ihabr8cdc0zywcjsi"; + rev = "af231794425255d436690c9c31bceb2052251210"; + sha256 = "1xnhcxf5d0gn8lhapjg7b289bqpf8w0d2mp76ksb8rsvx4r0bdbw"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/72ef967a9bea2e100ae17aad1a88db95820f4f6a/recipes/zerodark-theme"; sha256 = "1nqzswmnq6h0av4rivqm237h7ghp7asa2nvls7nz4ma467p9qhp9"; name = "zerodark-theme"; }; - packageRequires = []; + packageRequires = [ all-the-icons flycheck magit ]; meta = { homepage = "https://melpa.org/#/zerodark-theme"; license = lib.licenses.free; @@ -31470,22 +33363,22 @@ license = lib.licenses.free; }; }) {}; - zoom-window = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + zoom-window = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "zoom-window"; - version = "0.4"; + version = "0.5"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-zoom-window"; - rev = "f0eb12e389d8d2d13b5911907ef872e18230e00e"; - sha256 = "13393bd5lqpbv7m3p6ihg0ghx1w4w6mrnybx4m8hcfvcn17dr3hw"; + rev = "eefe36d26e04a9f89aad27671d1f06e9d4736ac6"; + sha256 = "08splg49ncgfsap3ivpc974wmg22ikshwv33l0i6advjjv9cskhm"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8a55cc66cc0deb1c24023f638b8e920c9d975859/recipes/zoom-window"; sha256 = "0l9683nk2bdm49likk9c55c23qfy6f1pn04drqwd1vhpanz4l4b3"; name = "zoom-window"; }; - packageRequires = [ cl-lib emacs ]; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/zoom-window"; license = lib.licenses.free; diff --git a/pkgs/applications/editors/emacs-modes/melpa-stable-packages.nix b/pkgs/applications/editors/emacs-modes/melpa-stable-packages.nix index 0e90f7adf279..03121edada0a 100644 --- a/pkgs/applications/editors/emacs-modes/melpa-stable-packages.nix +++ b/pkgs/applications/editors/emacs-modes/melpa-stable-packages.nix @@ -35,10 +35,6 @@ self: }); overrides = { - ac-php = super.ac-php.override { - inherit (self.melpaPackages) company popup; - }; - # upstream issue: mismatched filename ack-menu = markBroken super.ack-menu; diff --git a/pkgs/applications/editors/emacs-modes/org-generated.nix b/pkgs/applications/editors/emacs-modes/org-generated.nix index feab6f5cc565..8de489549b85 100644 --- a/pkgs/applications/editors/emacs-modes/org-generated.nix +++ b/pkgs/applications/editors/emacs-modes/org-generated.nix @@ -1,10 +1,10 @@ { callPackage }: { org = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild { pname = "org"; - version = "20160725"; + version = "20161224"; src = fetchurl { - url = "http://orgmode.org/elpa/org-20160725.tar"; - sha256 = "1d2v6w93z543jnmz6a1kmp61rmznjnw6pvd9ia2pm42rzhsgydy5"; + url = "http://orgmode.org/elpa/org-20161224.tar"; + sha256 = "15fnc65k5mn5ssl53z4f9nlkz5m8a59zkaripcapdcq87ys5imqm"; }; packageRequires = []; meta = { @@ -14,10 +14,10 @@ }) {}; org-plus-contrib = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild { pname = "org-plus-contrib"; - version = "20160725"; + version = "20161224"; src = fetchurl { - url = "http://orgmode.org/elpa/org-plus-contrib-20160725.tar"; - sha256 = "0bxxbcln7npffvd947052sjp59ypxdfwkp2ja7mbs28pzzb25xxi"; + url = "http://orgmode.org/elpa/org-plus-contrib-20161224.tar"; + sha256 = "1pj3h5qllhcqyqvm2kln7056m34k5flipvslnn1rvsk4iwwjlv1a"; }; packageRequires = []; meta = { diff --git a/pkgs/applications/editors/emacs-modes/proofgeneral/4.2.nix b/pkgs/applications/editors/emacs-modes/proofgeneral/4.2.nix deleted file mode 100644 index c026d058b4e3..000000000000 --- a/pkgs/applications/editors/emacs-modes/proofgeneral/4.2.nix +++ /dev/null @@ -1,54 +0,0 @@ -{ stdenv, fetchurl, emacs, texinfo, texLive, perl, which, automake }: - -stdenv.mkDerivation (rec { - name = "ProofGeneral-4.2"; - - src = fetchurl { - url = http://proofgeneral.inf.ed.ac.uk/releases/ProofGeneral-4.2.tgz; - sha256 = "09qb0myq66fw17v4ziz401ilsb5xlxz1nl2wsp69d0vrfy0bcrrm"; - }; - - sourceRoot = name; - - buildInputs = [ emacs texinfo texLive perl which ]; - - prePatch = - '' sed -i "Makefile" \ - -e "s|^\(\(DEST_\)\?PREFIX\)=.*$|\1=$out|g ; \ - s|/sbin/install-info|install-info|g" - - - # Workaround for bug #458 - # ProofGeneral 4.2 byte-compilation fails with Emacs 24.2.90 - # http://proofgeneral.inf.ed.ac.uk/trac/ticket/458 - sed -i "Makefile" \ - -e "s|(setq byte-compile-error-on-warn t)||g" - - sed -i "bin/proofgeneral" -e's/which/type -p/g' - - # @image{ProofGeneral} fails, so remove it. - sed -i '94d' doc/PG-adapting.texi - sed -i '101d' doc/ProofGeneral.texi - ''; - - preBuild = '' - make clean; - ''; - - installPhase = - # Copy `texinfo.tex' in the right place so that `texi2pdf' works. - '' cp -v "${automake}/share/"automake-*/texinfo.tex doc - make install install-doc - ''; - - meta = { - description = "Proof General, an Emacs front-end for proof assistants"; - longDescription = '' - Proof General is a generic front-end for proof assistants (also known as - interactive theorem provers), based on the customizable text editor Emacs. - ''; - homepage = http://proofgeneral.inf.ed.ac.uk; - license = stdenv.lib.licenses.gpl2Plus; - platforms = stdenv.lib.platforms.unix; # arbitrary choice - }; -}) diff --git a/pkgs/applications/editors/emacs-modes/proofgeneral/4.3pre.nix b/pkgs/applications/editors/emacs-modes/proofgeneral/4.4.nix similarity index 56% rename from pkgs/applications/editors/emacs-modes/proofgeneral/4.3pre.nix rename to pkgs/applications/editors/emacs-modes/proofgeneral/4.4.nix index 815863ac6da1..0f7ac1d1dc80 100644 --- a/pkgs/applications/editors/emacs-modes/proofgeneral/4.3pre.nix +++ b/pkgs/applications/editors/emacs-modes/proofgeneral/4.4.nix @@ -1,44 +1,38 @@ -{ stdenv, fetchurl, emacs, texinfo, texLive, perl, which, automake, enableDoc ? false }: +{ stdenv, fetchFromGitHub, emacs, texinfo, texLive, which, automake, enableDoc ? false }: -stdenv.mkDerivation (rec { - name = "ProofGeneral-4.3pre150313"; +stdenv.mkDerivation rec { + name = "ProofGeneral-${version}"; + version = "4.4"; - src = fetchurl { - url = "http://proofgeneral.inf.ed.ac.uk/releases/${name}.tgz"; - sha256 = "1jq5ykkk14xr5qcn4kyxmi5ls0fibr0y47gfygzm1mzrfvz9aw3f"; + src = fetchFromGitHub { + owner = "ProofGeneral"; + repo = "PG"; + rev = "v${version}"; + sha256 = "0bdfk91wf71z80mdfnl8hpinripndcjgdkz854zil6521r84nqk8"; }; - sourceRoot = name; - - buildInputs = [ emacs texinfo perl which ] ++ stdenv.lib.optional enableDoc texLive; + buildInputs = [ emacs which ] ++ stdenv.lib.optionals enableDoc [ texinfo texLive ]; prePatch = '' sed -i "Makefile" \ -e "s|^\(\(DEST_\)\?PREFIX\)=.*$|\1=$out|g ; \ s|/sbin/install-info|install-info|g" - sed -i "bin/proofgeneral" -e's/which/type -p/g' - # @image{ProofGeneral} fails, so remove it. - sed -i '94d' doc/PG-adapting.texi + chmod +x bin/proofgeneral + + # @image{ProofGeneral-image} fails, so remove it. + sed -i '91d' doc/PG-adapting.texi sed -i '96d' doc/ProofGeneral.texi + '' + stdenv.lib.optionalString enableDoc + # Copy `texinfo.tex' in the right place so that `texi2pdf' works. + '' cp -v "${automake}/share/"automake-*/texinfo.tex doc ''; patches = [ ./pg.patch ]; - preBuild = '' - make clean; - ''; - - installPhase = - if enableDoc - then - # Copy `texinfo.tex' in the right place so that `texi2pdf' works. - '' cp -v "${automake}/share/"automake-*/texinfo.tex doc - make install install-doc - '' - else "make install"; + installTargets = [ "install" ] ++ stdenv.lib.optional enableDoc "install-doc"; meta = { description = "Proof General, an Emacs front-end for proof assistants"; @@ -50,4 +44,4 @@ stdenv.mkDerivation (rec { license = stdenv.lib.licenses.gpl2Plus; platforms = stdenv.lib.platforms.unix; # arbitrary choice }; -}) +} diff --git a/pkgs/applications/editors/emacs-modes/proofgeneral/HEAD.nix b/pkgs/applications/editors/emacs-modes/proofgeneral/HEAD.nix index d119117caebf..a6ccd4f631d5 100644 --- a/pkgs/applications/editors/emacs-modes/proofgeneral/HEAD.nix +++ b/pkgs/applications/editors/emacs-modes/proofgeneral/HEAD.nix @@ -5,8 +5,8 @@ stdenv.mkDerivation (rec { src = fetchgit { url = "https://github.com/ProofGeneral/PG.git"; - rev = "16991280fb09743ae7320aef77f6a166afb907d7"; - sha256 = "1yakjxfz6a09m7lrxff04sj1717gpmhq2bsibd5f9lkp6z0w2i0q"; + rev = "64ca55b1593fff8cfffab89c51d7e92c1a68dc27"; + sha256 = "1gz13fagxf0w2zgp7qd0w328qiv97295jwq7ra8vj61pdfi8xklj"; }; buildInputs = [ emacs texinfo perl which ] ++ stdenv.lib.optional enableDoc texLive; diff --git a/pkgs/applications/editors/emacs-modes/stratego/builder.sh b/pkgs/applications/editors/emacs-modes/stratego/builder.sh deleted file mode 100644 index 7d734ec08884..000000000000 --- a/pkgs/applications/editors/emacs-modes/stratego/builder.sh +++ /dev/null @@ -1,4 +0,0 @@ -source $stdenv/setup - -mkdir -p $out/share/emacs/site-lisp -cp $src $out/share/emacs/site-lisp/stratego.el diff --git a/pkgs/applications/editors/emacs-modes/stratego/default.nix b/pkgs/applications/editors/emacs-modes/stratego/default.nix deleted file mode 100644 index bb4078d2d2d1..000000000000 --- a/pkgs/applications/editors/emacs-modes/stratego/default.nix +++ /dev/null @@ -1,10 +0,0 @@ -{stdenv, fetchsvn}: -stdenv.mkDerivation { - name = "stratego-mode"; - builder = ./builder.sh; - src = fetchsvn { - url = https://svn.strategoxt.org/repos/StrategoXT/stratego-editors/trunk/emacs/stratego.el; - rev = 12678; - sha256 = "4ab4ec587550233f29ca08b82fa0a9f7e5b33fc178348037e3ab1816bd60f538"; - }; -} diff --git a/pkgs/applications/editors/emacs-modes/tramp/default.nix b/pkgs/applications/editors/emacs-modes/tramp/default.nix new file mode 100644 index 000000000000..b0cfe9979081 --- /dev/null +++ b/pkgs/applications/editors/emacs-modes/tramp/default.nix @@ -0,0 +1,16 @@ +{ stdenv, fetchurl, emacs, texinfo }: + +stdenv.mkDerivation rec { + name = "tramp-2.3.0"; + src = fetchurl { + url = "mirror://gnu/tramp/${name}.tar.gz"; + sha256 = "1srwm24lwyf00w1661wbx03xg6j943dk05jhwnwdjf99m82cqbgi"; + }; + buildInputs = [ emacs texinfo ]; + meta = { + description = "Transparently access remote files from Emacs. Newer versions than built-in."; + homepage = https://www.gnu.org/software/tramp; + license = stdenv.lib.licenses.gpl3Plus; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/applications/editors/emacs-24/at-fdcwd.patch b/pkgs/applications/editors/emacs/at-fdcwd.patch similarity index 100% rename from pkgs/applications/editors/emacs-24/at-fdcwd.patch rename to pkgs/applications/editors/emacs/at-fdcwd.patch diff --git a/pkgs/applications/editors/emacs-25/builder.sh b/pkgs/applications/editors/emacs/builder.sh similarity index 100% rename from pkgs/applications/editors/emacs-25/builder.sh rename to pkgs/applications/editors/emacs/builder.sh diff --git a/pkgs/applications/editors/emacs/default.nix b/pkgs/applications/editors/emacs/default.nix new file mode 100644 index 000000000000..aacc3f9e7927 --- /dev/null +++ b/pkgs/applications/editors/emacs/default.nix @@ -0,0 +1,143 @@ +{ stdenv, lib, fetchurl, ncurses, xlibsWrapper, libXaw, libXpm, Xaw3d +, pkgconfig, gettext, libXft, dbus, libpng, libjpeg, libungif +, libtiff, librsvg, gconf, libxml2, imagemagick, gnutls, libselinux +, alsaLib, cairo, acl, gpm, AppKit, CoreWLAN, Kerberos, GSS, ImageIO +, withX ? !stdenv.isDarwin +, withGTK2 ? true, gtk2 ? null +, withGTK3 ? false, gtk3 ? null +, withXwidgets ? false, webkitgtk24x ? null, wrapGAppsHook ? null, glib_networking ? null +, withCsrc ? true +, srcRepo ? false, autoconf ? null, automake ? null, texinfo ? null +}: + +assert (libXft != null) -> libpng != null; # probably a bug +assert stdenv.isDarwin -> libXaw != null; # fails to link otherwise +assert withGTK2 -> withX || stdenv.isDarwin; +assert withGTK3 -> withX || stdenv.isDarwin; +assert withGTK2 -> !withGTK3 && gtk2 != null; +assert withGTK3 -> !withGTK2 && gtk3 != null; +assert withXwidgets -> withGTK3 && webkitgtk24x != null; + +let + toolkit = + if withGTK2 then "gtk2" + else if withGTK3 then "gtk3" + else "lucid"; +in +stdenv.mkDerivation rec { + name = "emacs-${version}${versionModifier}"; + version = "25.1"; + versionModifier = ""; + + src = fetchurl { + url = "mirror://gnu//emacs/${name}.tar.xz"; + sha256 = "0cwgyiyymnx4xdg99dm2drfxcyhy2jmyf0rkr9fwj9mwwf77kwhr"; + }; + + patches = (lib.optional stdenv.isDarwin ./at-fdcwd.patch) ++ [ + ## Fixes a segfault in emacs 25.1 + ## http://lists.gnu.org/archive/html/emacs-devel/2016-10/msg00917.html + ## https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24358 + (fetchurl { + url = http://git.savannah.gnu.org/cgit/emacs.git/patch/?id=9afea93ed536fb9110ac62b413604cf4c4302199; + sha256 = "1iifyfqh7qfdfsrpqgz2l7z0l7alvma57jlklyq258qyjg0pc8n4"; }) + (fetchurl { + url = http://git.savannah.gnu.org/cgit/emacs.git/patch/?id=71ca4f6a43bad06192cbc4bb8c7a2d69c179b7b0; + sha256 = "0vadqvcigca0j891yis1mhjn18rg4l9qj621q6vzip46ka6qig0d"; }) + (fetchurl { + url = http://git.savannah.gnu.org/cgit/emacs.git/patch/?id=1047496722a58ef5b736dae64d32adeb58c5055c; + sha256 = "01lfa89qw7y0spcy57hm1ymijb57i6kvhb9z9impcxwza60lbi7b"; }) + (fetchurl { + url = http://git.savannah.gnu.org/cgit/emacs.git/patch/?id=96ac0c3ebce825e60595794f99e703ec8302e240; + sha256 = "0bmkrm356fbwc8wsiqh2w706mq5r9q4ic4m8vzdj099ihnf121nn"; }) + (fetchurl { + url = http://git.savannah.gnu.org/cgit/emacs.git/patch/?id=43986d16fb6ad78a627250e14570ea70bdb1f23a; + sha256 = "0kp8dgs7fjgvidhm2y84jrxad78mxi0c47jhyszj5644qqxm47cr"; + }) + ]; + + nativeBuildInputs = [ pkgconfig ] + ++ lib.optionals srcRepo [ autoconf automake texinfo ]; + + buildInputs = + [ ncurses gconf libxml2 gnutls alsaLib acl gpm gettext ] + ++ lib.optionals stdenv.isLinux [ dbus libselinux ] + ++ lib.optionals withX + [ xlibsWrapper libXaw Xaw3d libXpm libpng libjpeg libungif libtiff librsvg libXft + imagemagick gconf ] + ++ lib.optional (withX && withGTK2) gtk2 + ++ lib.optional (withX && withGTK3) gtk3 + ++ lib.optional (stdenv.isDarwin && withX) cairo + ++ lib.optionals withXwidgets [ webkitgtk24x wrapGAppsHook glib_networking ]; + + propagatedBuildInputs = lib.optionals stdenv.isDarwin [ AppKit GSS ImageIO ]; + + hardeningDisable = [ "format" ]; + + configureFlags = [ "--with-modules" ] ++ + (if stdenv.isDarwin + then [ "--with-ns" "--disable-ns-self-contained" ] + else if withX + then [ "--with-x-toolkit=${toolkit}" "--with-xft" ] + else [ "--with-x=no" "--with-xpm=no" "--with-jpeg=no" "--with-png=no" + "--with-gif=no" "--with-tiff=no" ]) + ++ lib.optional withXwidgets "--with-xwidgets"; + + preConfigure = lib.optionalString srcRepo '' + ./autogen.sh + '' + '' + substituteInPlace lisp/international/mule-cmds.el \ + --replace /usr/share/locale ${gettext}/share/locale + + for makefile_in in $(find . -name Makefile.in -print); do + substituteInPlace $makefile_in --replace /bin/pwd pwd + done + ''; + + installTargets = "tags install"; + + postInstall = '' + mkdir -p $out/share/emacs/site-lisp + cp ${./site-start.el} $out/share/emacs/site-lisp/site-start.el + $out/bin/emacs --batch -f batch-byte-compile $out/share/emacs/site-lisp/site-start.el + + rm -rf $out/var + rm -rf $out/share/emacs/${version}/site-lisp + '' + lib.optionalString withCsrc '' + for srcdir in src lisp lwlib ; do + dstdir=$out/share/emacs/${version}/$srcdir + mkdir -p $dstdir + find $srcdir -name "*.[chm]" -exec cp {} $dstdir \; + cp $srcdir/TAGS $dstdir + echo '((nil . ((tags-file-name . "TAGS"))))' > $dstdir/.dir-locals.el + done + '' + lib.optionalString stdenv.isDarwin '' + mkdir -p $out/Applications + mv nextstep/Emacs.app $out/Applications + ''; + + meta = with stdenv.lib; { + description = "The extensible, customizable GNU text editor"; + homepage = http://www.gnu.org/software/emacs/; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ chaoflow lovek323 peti the-kenny jwiegley ]; + platforms = platforms.all; + + longDescription = '' + GNU Emacs is an extensible, customizable text editor—and more. At its + core is an interpreter for Emacs Lisp, a dialect of the Lisp + programming language with extensions to support text editing. + + The features of GNU Emacs include: content-sensitive editing modes, + including syntax coloring, for a wide variety of file types including + plain text, source code, and HTML; complete built-in documentation, + including a tutorial for new users; full Unicode support for nearly all + human languages and their scripts; highly customizable, using Emacs + Lisp code or a graphical interface; a large number of extensions that + add other functionality, including a project planner, mail and news + reader, debugger interface, calendar, and more. Many of these + extensions are distributed with GNU Emacs; others are available + separately. + ''; + }; +} diff --git a/pkgs/applications/editors/emacs-24/macport-24.5.nix b/pkgs/applications/editors/emacs/macport-24.5.nix similarity index 95% rename from pkgs/applications/editors/emacs-24/macport-24.5.nix rename to pkgs/applications/editors/emacs/macport-24.5.nix index 23133ec262c3..33d24242db79 100644 --- a/pkgs/applications/editors/emacs-24/macport-24.5.nix +++ b/pkgs/applications/editors/emacs/macport-24.5.nix @@ -1,5 +1,6 @@ { stdenv, fetchurl, ncurses, pkgconfig, texinfo, libxml2, gnutls, gettext , AppKit, Carbon, Cocoa, IOKit, OSAKit, Quartz, QuartzCore, WebKit +, autoconf, automake , ImageCaptureCore, GSS, ImageIO # These may be optional }: @@ -21,7 +22,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - buildInputs = [ ncurses libxml2 gnutls pkgconfig texinfo gettext ]; + buildInputs = [ ncurses libxml2 gnutls pkgconfig texinfo gettext autoconf automake ]; propagatedBuildInputs = [ AppKit Carbon Cocoa IOKit OSAKit Quartz QuartzCore WebKit @@ -47,7 +48,7 @@ stdenv.mkDerivation rec { "--enable-mac-app=$$out/Applications" ]; - CFLAGS = "-O3"; + CFLAGS = "-O3 -DMAC_OS_X_VERSION_MAX_ALLOWED=1090 -DMAC_OS_X_VERSION_MIN_REQUIRED=1090"; LDFLAGS = "-O3 -L${ncurses.out}/lib"; postInstall = '' diff --git a/pkgs/applications/editors/emacs/macport-25.1.nix b/pkgs/applications/editors/emacs/macport-25.1.nix new file mode 100644 index 000000000000..84d1950b8659 --- /dev/null +++ b/pkgs/applications/editors/emacs/macport-25.1.nix @@ -0,0 +1,91 @@ +{ stdenv, fetchurl, ncurses, pkgconfig, texinfo, libxml2, gnutls, gettext, autoconf, automake +, AppKit, Carbon, Cocoa, IOKit, OSAKit, Quartz, QuartzCore, WebKit +, ImageCaptureCore, GSS, ImageIO # These may be optional +}: + +stdenv.mkDerivation rec { + emacsName = "emacs-25.1"; + name = "${emacsName}-mac-6.1"; + + builder = ./builder.sh; + + src = fetchurl { + url = "ftp://ftp.gnu.org/gnu/emacs/${emacsName}.tar.xz"; + sha256 = "19f2798ee3bc26c95dca3303e7ab141e7ad65d6ea2b6945eeba4dbea7df48f33"; + }; + + macportSrc = fetchurl { + url = "ftp://ftp.math.s.chiba-u.ac.jp/emacs/${name}.tar.gz"; + sha256 = "1zwxh7zsvwcg221mpjh0dhpdas3j9mc5q92pprf8yljl7clqvg62"; + }; + + enableParallelBuilding = true; + + buildInputs = [ ncurses libxml2 gnutls pkgconfig texinfo gettext autoconf automake]; + + propagatedBuildInputs = [ + AppKit Carbon Cocoa IOKit OSAKit Quartz QuartzCore WebKit + ImageCaptureCore GSS ImageIO # may be optional + ]; + + postUnpack = '' + mv $sourceRoot $name + tar xzf $macportSrc + mv $name $sourceRoot + ''; + + postPatch = '' + patch -p1 < patch-mac + substituteInPlace lisp/international/mule-cmds.el \ + --replace /usr/share/locale ${gettext}/share/locale + ''; + + configureFlags = [ + "LDFLAGS=-L${ncurses.out}/lib" + "--with-xml2=yes" + "--with-gnutls=yes" + "--with-mac" + "--enable-mac-app=$$out/Applications" + ]; + + CFLAGS = "-O3 -DMAC_OS_X_VERSION_MAX_ALLOWED=1090 -DMAC_OS_X_VERSION_MIN_REQUIRED=1090"; + LDFLAGS = "-O3 -L${ncurses.out}/lib"; + + postInstall = '' + mkdir -p $out/share/emacs/site-lisp/ + cp ${./site-start.el} $out/share/emacs/site-lisp/site-start.el + ''; + + doCheck = true; + + meta = with stdenv.lib; { + description = "GNU Emacs 25, the extensible, customizable text editor"; + homepage = http://www.gnu.org/software/emacs/; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ jwiegley ]; + platforms = platforms.darwin; + + longDescription = '' + GNU Emacs is an extensible, customizable text editor—and more. At its + core is an interpreter for Emacs Lisp, a dialect of the Lisp + programming language with extensions to support text editing. + + The features of GNU Emacs include: content-sensitive editing modes, + including syntax coloring, for a wide variety of file types including + plain text, source code, and HTML; complete built-in documentation, + including a tutorial for new users; full Unicode support for nearly all + human languages and their scripts; highly customizable, using Emacs + Lisp code or a graphical interface; a large number of extensions that + add other functionality, including a project planner, mail and news + reader, debugger interface, calendar, and more. Many of these + extensions are distributed with GNU Emacs; others are available + separately. + + This is "Mac port" addition to GNU Emacs 24. This provides a native + GUI support for Mac OS X 10.4 - 10.11. Note that Emacs 23 and later + already contain the official GUI support via the NS (Cocoa) port for + Mac OS X 10.4 and later. So if it is good enough for you, then you + don't need to try this. + ''; + }; +} diff --git a/pkgs/applications/editors/emacs/site-start.el b/pkgs/applications/editors/emacs/site-start.el new file mode 100644 index 000000000000..b41ca92db086 --- /dev/null +++ b/pkgs/applications/editors/emacs/site-start.el @@ -0,0 +1,35 @@ +;;; NixOS specific load-path +(setq load-path + (append (reverse (mapcar (lambda (x) (concat x "/share/emacs/site-lisp/")) + (split-string (or (getenv "NIX_PROFILES") "")))) + load-path)) + +;;; Make `woman' find the man pages +(eval-after-load 'woman + '(setq woman-manpath + (append (reverse (mapcar (lambda (x) (concat x "/share/man/")) + (split-string (or (getenv "NIX_PROFILES") "")))) + woman-manpath))) + +;;; Make tramp work for remote NixOS machines +(eval-after-load 'tramp + '(add-to-list 'tramp-remote-path "/run/current-system/sw/bin")) + +;;; C source directory +;;; +;;; Computes the location of the C source directory from the path of +;;; the current file: +;;; from: /nix/store/-emacs-/share/emacs/site-lisp/site-start.el +;;; to: /nix/store/-emacs-/share/emacs//src/ +(let ((emacs + (file-name-directory ;; .../emacs/ + (directory-file-name ;; .../emacs/site-lisp + (file-name-directory load-file-name)))) ;; .../emacs/site-lisp/ + (version + (file-name-as-directory + (concat + (number-to-string emacs-major-version) + "." + (number-to-string emacs-minor-version)))) + (src (file-name-as-directory "src"))) + (setq find-function-C-source-directory (concat emacs version src))) diff --git a/pkgs/applications/editors/fte/default.nix b/pkgs/applications/editors/fte/default.nix new file mode 100644 index 000000000000..d32a3fb5f1b5 --- /dev/null +++ b/pkgs/applications/editors/fte/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, unzip, perl, libX11, libXpm, gpm, ncurses, slang }: + +stdenv.mkDerivation rec { + name = "fte-0.50.02"; + + buildInputs = [ unzip perl libX11 libXpm gpm ncurses slang ]; + + ftesrc = fetchurl { + url = "mirror://sourceforge/fte/fte-20110708-src.zip"; + sha256 = "17j9akr19w19myglw5mljjw2g3i2cwxiqrjaln82h3rz5ma1qcfn"; + }; + ftecommon = fetchurl { + url = "mirror://sourceforge/fte/fte-20110708-common.zip"; + sha256 = "1xva4kh0674sj2b9rhf2amlr37yxmsvjkgyj89gpcn0rndw1ahaq"; + }; + src = [ ftesrc ftecommon ]; + + buildFlags = "PREFIX=$(out)"; + + installFlags = "PREFIX=$(out) INSTALL_NONROOT=1"; + + meta = with stdenv.lib; { + description = "A free text editor for developers"; + homepage = http://fte.sourceforge.net/; + license = licenses.gpl2; + maintainers = [ maintainers.volth ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/applications/editors/geany/default.nix b/pkgs/applications/editors/geany/default.nix index 961c7ba04619..c0370229580b 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.28"; + version = "1.29"; in stdenv.mkDerivation rec { @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "http://download.geany.org/${name}.tar.bz2"; - sha256 = "0nha21rbdhl10vdpaq8d5v5fszvggl1xar555pvrnvm2y443ffpp"; + sha256 = "394307596bc908419617e4c33e93eae8b5b733dfc8d01161677b8cbd3a4fb20f"; }; NIX_LDFLAGS = if stdenv.isDarwin then "-lintl" else null; diff --git a/pkgs/applications/editors/geany/with-vte.nix b/pkgs/applications/editors/geany/with-vte.nix index 679125b5ec4e..7689ebad0f01 100644 --- a/pkgs/applications/editors/geany/with-vte.nix +++ b/pkgs/applications/editors/geany/with-vte.nix @@ -1,8 +1,8 @@ -{ runCommand, makeWrapper, geany, gnome }: +{ runCommand, makeWrapper, geany, gnome2 }: let name = builtins.replaceStrings ["geany-"] ["geany-with-vte-"] geany.name; in runCommand "${name}" { nativeBuildInputs = [ makeWrapper ]; } " mkdir -p $out ln -s ${geany}/share $out - makeWrapper ${geany}/bin/geany $out/bin/geany --prefix LD_LIBRARY_PATH : ${gnome.vte}/lib + makeWrapper ${geany}/bin/geany $out/bin/geany --prefix LD_LIBRARY_PATH : ${gnome2.vte}/lib " diff --git a/pkgs/applications/editors/gobby/default.nix b/pkgs/applications/editors/gobby/default.nix index c023da0bc958..32998700c23e 100644 --- a/pkgs/applications/editors/gobby/default.nix +++ b/pkgs/applications/editors/gobby/default.nix @@ -1,7 +1,7 @@ { avahiSupport ? false # build support for Avahi in libinfinity , gnomeSupport ? false # build support for Gnome(gnome-vfs) , stdenv, fetchurl, pkgconfig -, gtkmm, gsasl, gtksourceview, libxmlxx, libinfinity, intltool +, gtkmm2, gsasl, gtksourceview, libxmlxx, libinfinity, intltool , gnome_vfs ? null}: let @@ -15,7 +15,7 @@ in stdenv.mkDerivation rec { sha256 = "165x0r668ma5blziisvbr8qig3jw9hf7i6w8r7wwvz3wsac3bswc"; }; - buildInputs = [ pkgconfig gtkmm gsasl gtksourceview libxmlxx libinf intltool ] + buildInputs = [ pkgconfig gtkmm2 gsasl gtksourceview libxmlxx libinf intltool ] ++ stdenv.lib.optional gnomeSupport gnome_vfs; configureFlags = '' diff --git a/pkgs/applications/editors/hecate/default.nix b/pkgs/applications/editors/hecate/default.nix new file mode 100644 index 000000000000..8aea8508aefd --- /dev/null +++ b/pkgs/applications/editors/hecate/default.nix @@ -0,0 +1,26 @@ +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + version = "0.0.1"; + name = "hecate-${version}"; + + src = fetchFromGitHub { + owner = "evanmiller"; + repo = "hecate"; + rev = "v${version}"; + sha256 = "0ymirsd06z3qa9wi59k696mg8f4mhscw8gc5c5zkd0n3n8s0k0z8"; + }; + + goPackagePath = "hecate"; + + goDeps = ./deps.nix; + + meta = with stdenv.lib; { + inherit (src.meta) homepage; + description = "terminal hex editor"; + longDescription = "The Hex Editor From Hell!"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ ramkromberg ]; + platforms = with platforms; linux; + }; +} diff --git a/pkgs/applications/editors/hecate/deps.nix b/pkgs/applications/editors/hecate/deps.nix new file mode 100644 index 000000000000..c9d94934a444 --- /dev/null +++ b/pkgs/applications/editors/hecate/deps.nix @@ -0,0 +1,29 @@ +[ + { + goPackagePath = "github.com/nsf/termbox-go"; + fetch = { + type = "git"; + url = "https://github.com/nsf/termbox-go"; + rev = "b6acae516ace002cb8105a89024544a1480655a5"; + sha256 = "0zf95qdd5bif9rw03hqk87x7d905p373bvsj0bl4gi16spqjbdil"; + }; + } + { + goPackagePath = "github.com/edsrzf/mmap-go"; + fetch = { + type = "git"; + url = "https://github.com/edsrzf/mmap-go"; + rev = "935e0e8a636ca4ba70b713f3e38a19e1b77739e8"; + sha256 = "11a63wrjwfnchjhwqjp6yd5j0370ysppjgv31l5bmvvwps7whq9d"; + }; + } + { + goPackagePath = "github.com/mattn/go-runewidth"; + fetch = { + type = "git"; + url = "https://github.com/mattn/go-runewidth"; + rev = "737072b4e32b7a5018b4a7125da8d12de90e8045"; + sha256 = "09ni8bmj6p2b774bdh6mfcxl03bh5sqk860z03xpb6hv6yfxqkjm"; + }; + } +] diff --git a/pkgs/applications/editors/idea/default.nix b/pkgs/applications/editors/idea/default.nix index 06573f22a1a5..cef1ab8e19bf 100644 --- a/pkgs/applications/editors/idea/default.nix +++ b/pkgs/applications/editors/idea/default.nix @@ -115,10 +115,38 @@ let propagatedUserEnvPkgs = [ python ]; }; + buildDataGrip = { name, version, src, license, description, wmClass }: + (mkIdeaProduct { + inherit name version src wmClass jdk; + product = "DataGrip"; + meta = with stdenv.lib; { + homepage = "https://www.jetbrains.com/datagrip/"; + inherit description license; + longDescription = '' + DataGrip is a new IDE from JetBrains built for database admins. + It allows you to quickly migrate and refactor relational databases, + construct efficient, statically checked SQL queries and much more. + ''; + maintainers = with maintainers; [ loskutov ]; + platforms = platforms.linux; + }; + }); in { clion = buildClion rec { + name = "clion-${version}"; + version = "2016.3"; + description = "C/C++ IDE. New. Intelligent. Cross-platform"; + license = stdenv.lib.licenses.unfree; + src = fetchurl { + url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz"; + sha256 = "16nszamr0bxg8aghyrg4wzxbp9158kjzhr957ljpbipz0rlixf31"; + }; + wmClass = "jetbrains-clion"; + }; + + clion1 = buildClion rec { name = "clion-${version}"; version = "1.2.5"; description = "C/C++ IDE. New. Intelligent. Cross-platform"; @@ -144,12 +172,12 @@ in idea-community = buildIdea rec { name = "idea-community-${version}"; - version = "2016.2"; + version = "2016.3.2"; 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 = "164x4l0q31zpc1jh3js1xx9y6afrzsshmnkx1mwhmq8qmvzc4w32"; + sha256 = "0ngign34gq7i121ss2s9wfziy3vkv1jb79pw8nf1qp7rb15xn4vc"; }; wmClass = "jetbrains-idea-ce"; }; @@ -161,7 +189,7 @@ in license = stdenv.lib.licenses.unfree; src = fetchurl { url = "https://download.jetbrains.com/idea/ideaIU-${version}.tar.gz"; - sha256 = "a2259249f6e7bf14ba17b0af90a18d24d9b4670af60d24f0bb51af2f62500fc2"; + sha256 = "1hhga1i2zbsipgq283gn19kv9n94inhr1bxh2yx19gz7yr4r49d2"; }; wmClass = "jetbrains-idea"; }; @@ -180,17 +208,29 @@ in idea-ultimate = buildIdea rec { name = "idea-ultimate-${version}"; - version = "2016.2.2"; + version = "2016.3.2"; 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 = "1z5kr47n3hhx0ck163193lwlh76sykgchnq9hw1ihi25n6655j1z"; + sha256 = "13pd95zad29c3i9qpwhjii601ixb4dgcld0kxk3liq4zmnv6wqxa"; }; wmClass = "jetbrains-idea"; }; ruby-mine = buildRubyMine rec { + name = "ruby-mine-${version}"; + version = "2016.2.5"; + description = "The Most Intelligent Ruby and Rails IDE"; + license = stdenv.lib.licenses.unfree; + src = fetchurl { + url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz"; + sha256 = "1rncnm5dvhpfb7l5p2k0hs4yqzp8n1c4rvz9vldlf5k7mvwggp7p"; + }; + wmClass = "jetbrains-rubymine"; + }; + + ruby-mine7 = buildRubyMine rec { name = "ruby-mine-${version}"; version = "7.1.5"; description = "The Most Intelligent Ruby and Rails IDE"; @@ -202,31 +242,55 @@ in wmClass = "jetbrains-rubymine"; }; + ruby-mine8 = buildRubyMine rec { + name = "ruby-mine-${version}"; + version = "8.0.4"; + description = "The Most Intelligent Ruby and Rails IDE"; + license = stdenv.lib.licenses.unfree; + src = fetchurl { + url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz"; + sha256 = "0hipxib7377232w1jbf8h98bmh0djkllsrq3lq0w3fdxqglma43a"; + }; + wmClass = "jetbrains-rubymine"; + }; + pycharm-community = buildPycharm rec { name = "pycharm-community-${version}"; - version = "2016.1.3"; + version = "2016.3"; description = "PyCharm Community Edition"; license = stdenv.lib.licenses.asl20; src = fetchurl { url = "https://download.jetbrains.com/python/${name}.tar.gz"; - sha256 = "1ks7crrfnhzkdxban2hh2pnr986vqwmac5zybmb1ighcyamhdi4q"; + sha256 = "1pi822ihzy58jszdy7y2pyni6pki9ih8s9xdbwlbwg9vck1iqprs"; }; wmClass = "jetbrains-pycharm-ce"; }; pycharm-professional = buildPycharm rec { name = "pycharm-professional-${version}"; - version = "2016.1.3"; + version = "2016.3"; description = "PyCharm Professional Edition"; license = stdenv.lib.licenses.unfree; src = fetchurl { url = "https://download.jetbrains.com/python/${name}.tar.gz"; - sha256 = "1rn0i5qbvfjbl4v571ngmyslispibcq5ab0fb7xjl38vr1y417f2"; + sha256 = "1b4ib77wzg0y12si8zqrfwbhv4kvmy9nm5dsrdr3k7f89dqg3279"; }; wmClass = "jetbrains-pycharm"; }; phpstorm = buildPhpStorm rec { + name = "phpstorm-${version}"; + version = "2016.3"; + description = "Professional IDE for Web and PHP developers"; + license = stdenv.lib.licenses.unfree; + src = fetchurl { + url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz"; + sha256 = "0hzjhwij2x3b5fqwyd69h24ld13bpc2bf9wdcd1jy758waf0d91y"; + }; + wmClass = "jetbrains-phpstorm"; + }; + + phpstorm10 = buildPhpStorm rec { name = "phpstorm-${version}"; version = "10.0.4"; description = "Professional IDE for Web and PHP developers"; @@ -239,6 +303,18 @@ in }; webstorm = buildWebStorm rec { + name = "webstorm-${version}"; + version = "2016.3.1"; + description = "Professional IDE for Web and JavaScript development"; + license = stdenv.lib.licenses.unfree; + src = fetchurl { + url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz"; + sha256 = "10za4d6w9yns7kclbviizslq2y7zas9rkmvs3xwrfw1rdw2b69af"; + }; + wmClass = "jetbrains-webstorm"; + }; + + webstorm10 = buildWebStorm rec { name = "webstorm-${version}"; version = "10.0.5"; description = "Professional IDE for Web and JavaScript development"; @@ -250,4 +326,27 @@ in wmClass = "jetbrains-webstorm"; }; + webstorm11 = buildWebStorm rec { + name = "webstorm-${version}"; + version = "11.0.4"; + description = "Professional IDE for Web and JavaScript development"; + license = stdenv.lib.licenses.unfree; + src = fetchurl { + url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz"; + sha256 = "17agyqdyz6naxyx6p0y240ar93gja0ypw01nm2qmfzvh7ch03r24"; + }; + wmClass = "jetbrains-webstorm"; + }; + + datagrip = buildDataGrip rec { + name = "datagrip-${version}"; + version = "2016.3"; + description = "Your Swiss Army Knife for Databases and SQL"; + license = stdenv.lib.licenses.unfree; + src = fetchurl { + url = "https://download.jetbrains.com/datagrip/${name}.tar.gz"; + sha256 = "10nah7v330qrrczzz5jldnr0k7w2xzljiny32gm9pqmjbl0i70il"; + }; + wmClass = "jetbrains-datagrip"; + }; } diff --git a/pkgs/applications/editors/kakoune/default.nix b/pkgs/applications/editors/kakoune/default.nix index d45fdc8e12d6..14b13c394f31 100644 --- a/pkgs/applications/editors/kakoune/default.nix +++ b/pkgs/applications/editors/kakoune/default.nix @@ -4,17 +4,18 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "kakoune-nightly-${version}"; - version = "2016-07-26"; + version = "2016-12-30"; src = fetchFromGitHub { repo = "kakoune"; owner = "mawww"; - rev = "0d2c5072b083a893843e4fa87f9f702979069e14"; - sha256 = "01qqs5yr9xvvklg3gg45lgnyh6gji28m854mi1snzvjd7fksf50n"; + rev = "76c58aa022a896dc170c207ff821992ee354d934"; + sha256 = "0hgpcp6444cyg4bm0a9ypywjwfh19qpqpfr5w0wcd2y3clnsvsdz"; }; buildInputs = [ ncurses boost asciidoc docbook_xsl libxslt ]; buildPhase = '' sed -ie 's#--no-xmllint#--no-xmllint --xsltproc-opts="--nonet"#g' src/Makefile + substituteInPlace src/Makefile --replace "boost_regex-mt" "boost_regex" export PREFIX=$out (cd src && make ) ''; @@ -28,6 +29,6 @@ stdenv.mkDerivation rec { description = "A vim inspired text editor"; license = licenses.publicDomain; maintainers = with maintainers; [ vrthra ]; - platforms = platforms.linux; + platforms = platforms.unix; }; } diff --git a/pkgs/applications/editors/kdevelop5/kdevelop.nix b/pkgs/applications/editors/kdevelop5/kdevelop.nix index 845a02bebf6a..19ffb2c4959b 100644 --- a/pkgs/applications/editors/kdevelop5/kdevelop.nix +++ b/pkgs/applications/editors/kdevelop5/kdevelop.nix @@ -1,16 +1,16 @@ { stdenv, fetchurl, cmake, gettext, pkgconfig, extra-cmake-modules, makeQtWrapper -, qtquickcontrols, qtwebkit +, qtquickcontrols, qtwebkit, qttools , kconfig, kdeclarative, kdoctools, kiconthemes, ki18n, kitemmodels, kitemviews , kjobwidgets, kcmutils, kio, knewstuff, knotifyconfig, kparts, ktexteditor -, threadweaver, kxmlgui, kwindowsystem +, threadweaver, kxmlgui, kwindowsystem, grantlee , plasma-framework, krunner, kdevplatform, kdevelop-pg-qt, shared_mime_info -, libksysguard, llvmPackages +, libksysguard, konsole, llvmPackages, makeWrapper }: let pname = "kdevelop"; - version = "5.0"; - dirVersion = "5.0.0"; + version = "5.0.3"; + dirVersion = "5.0.3"; in stdenv.mkDerivation rec { @@ -18,22 +18,25 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://kde/stable/${pname}/${dirVersion}/src/${name}.tar.xz"; - sha256 = "5e034b8670f4ba13ccb2948c28efa0b54df346e85b648078698cca8974ea811c"; + sha256 = "17a58dfc38b853c6c5987084e8973b4f7f5015a6c2c20f94c2a9f96b0c13f601"; }; - nativeBuildInputs = [ cmake gettext pkgconfig extra-cmake-modules makeQtWrapper ]; + nativeBuildInputs = [ + cmake gettext pkgconfig extra-cmake-modules makeWrapper makeQtWrapper + ]; buildInputs = [ qtquickcontrols qtwebkit kconfig kdeclarative kdoctools kiconthemes ki18n kitemmodels kitemviews kjobwidgets kcmutils kio knewstuff knotifyconfig kparts ktexteditor - threadweaver kxmlgui kwindowsystem plasma-framework krunner - kdevplatform kdevelop-pg-qt shared_mime_info libksysguard + threadweaver kxmlgui kwindowsystem grantlee plasma-framework krunner + kdevplatform kdevelop-pg-qt shared_mime_info libksysguard konsole.unwrapped llvmPackages.llvm llvmPackages.clang-unwrapped ]; postInstall = '' wrapQtProgram "$out/bin/kdevelop" + wrapProgram "$out/bin/kdevelop!" --prefix PATH ":" "${qttools}/bin" ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/editors/kdevelop5/kdevplatform.nix b/pkgs/applications/editors/kdevelop5/kdevplatform.nix index 52af0a4e05db..93c3eac9c343 100644 --- a/pkgs/applications/editors/kdevelop5/kdevplatform.nix +++ b/pkgs/applications/editors/kdevelop5/kdevplatform.nix @@ -6,8 +6,8 @@ let pname = "kdevplatform"; - version = "5.0"; - dirVersion = "5.0.0"; + version = "5.0.3"; + dirVersion = "5.0.3"; in stdenv.mkDerivation rec { @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://kde/stable/kdevelop/${dirVersion}/src/${name}.tar.xz"; - sha256 = "4085b355ab8d599d902afbc11027e1aefb22afe30d63ed54ea5fe02f24edfd10"; + sha256 = "643d1145e1948af221f9ae148d0a10809f3d89af4b97ff0d6c4d571004f46bd4"; }; nativeBuildInputs = [ cmake gettext pkgconfig extra-cmake-modules makeQtWrapper ]; diff --git a/pkgs/applications/editors/kile/frameworks.nix b/pkgs/applications/editors/kile/frameworks.nix index c16dce1eccc5..34ea76478937 100644 --- a/pkgs/applications/editors/kile/frameworks.nix +++ b/pkgs/applications/editors/kile/frameworks.nix @@ -24,12 +24,12 @@ let unwrapped = kdeDerivation rec { name = "kile-${version}"; - version = "2016-07-25"; + version = "2016-10-24"; src = fetchgit { url = git://anongit.kde.org/kile.git; - rev = "9cad4757df2493a6099b89114340493c6b436d0b"; - sha256 = "0kikrkssfd7bj580iwsipirbz2klxvk0f7nfg5y9mkv0pnchx2mj"; + rev = "e005e2ac140881aa7610bd363d181cf306f91f80"; + sha256 = "1labv8jagsfk0k7nvxh90in9464avzdabgs215y1h658zjh1wpy4"; }; @@ -60,8 +60,9 @@ let }; }; in -kdeWrapper unwrapped +kdeWrapper { + inherit unwrapped; targets = [ "bin/kile" ]; paths = [ konsole.unwrapped ]; } diff --git a/pkgs/applications/editors/leafpad/default.nix b/pkgs/applications/editors/leafpad/default.nix index a5b0f2e400a4..055816a798d3 100644 --- a/pkgs/applications/editors/leafpad/default.nix +++ b/pkgs/applications/editors/leafpad/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, intltool, pkgconfig, gtk }: +{ stdenv, fetchurl, intltool, pkgconfig, gtk2 }: stdenv.mkDerivation rec { version = "0.8.18.1"; @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { sha256 = "0b0az2wvqgvam7w0ns1j8xp2llslm1rx6h7zcsy06a7j0yp257cm"; }; - buildInputs = [ intltool pkgconfig gtk ]; + buildInputs = [ intltool pkgconfig gtk2 ]; hardeningDisable = [ "format" ]; diff --git a/pkgs/applications/editors/lighttable/default.nix b/pkgs/applications/editors/lighttable/default.nix index 108b7cceb4e2..68f5e14891fa 100644 --- a/pkgs/applications/editors/lighttable/default.nix +++ b/pkgs/applications/editors/lighttable/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, buildEnv, zlib, glib, alsaLib, makeDesktopItem -, dbus, gtk, atk, pango, freetype, fontconfig, libgnome_keyring3, gdk_pixbuf -, cairo, cups, expat, libgpgerror, nspr, gnome3, nss, xorg, libudev, libnotify +, dbus, gtk2, atk, pango, freetype, fontconfig, libgnome_keyring3, gdk_pixbuf +, cairo, cups, expat, libgpgerror, nspr, gnome3, nss, xorg, systemd, libnotify }: let libPath = stdenv.lib.makeLibraryPath [ - stdenv.cc.cc zlib glib dbus gtk atk pango freetype libgnome_keyring3 nss + stdenv.cc.cc zlib glib dbus gtk2 atk pango freetype libgnome_keyring3 nss fontconfig gdk_pixbuf cairo cups expat libgpgerror alsaLib nspr gnome3.gconf xorg.libXrender xorg.libX11 xorg.libXext xorg.libXdamage xorg.libXtst xorg.libXcomposite xorg.libXi xorg.libXfixes libnotify xorg.libXrandr @@ -45,9 +45,9 @@ stdenv.mkDerivation rec { mv $out/share/LightTable/light $out/bin/light - ln -sf ${libudev.out}/lib/libudev.so.1 $out/share/LightTable/libudev.so.0 + ln -sf ${systemd.lib}/lib/libudev.so.1 $out/share/LightTable/libudev.so.0 substituteInPlace $out/bin/light \ - --replace "/usr/lib/x86_64-linux-gnu" "${libudev.out}/lib" \ + --replace "/usr/lib/x86_64-linux-gnu" "${systemd.lib}/lib" \ --replace "/lib/x86_64-linux-gnu" "$out/share/LightTable" \ --replace 'HERE=`dirname $(readlink -f $0)`' "HERE=$out/share/LightTable" diff --git a/pkgs/applications/editors/monodevelop/default.nix b/pkgs/applications/editors/monodevelop/default.nix index cdf1daabea76..44c61d16ec8d 100644 --- a/pkgs/applications/editors/monodevelop/default.nix +++ b/pkgs/applications/editors/monodevelop/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, fetchgit, fetchNuGet , autoconf, automake, pkgconfig, shared_mime_info, intltool -, glib, mono, gtk-sharp, gnome, gnome-sharp, unzip +, glib, mono, gtk-sharp-2_0, gnome2, gnome-sharp, unzip , dotnetPackages }: @@ -36,7 +36,7 @@ stdenv.mkDerivation rec { buildInputs = [ autoconf automake pkgconfig shared_mime_info intltool - mono gtk-sharp gnome-sharp unzip + mono gtk-sharp-2_0 gnome-sharp unzip pkgconfig dotnetPackages.NUnit dotnetPackages.NUnitRunners @@ -57,9 +57,9 @@ stdenv.mkDerivation rec { for prog in monodevelop mdtool; do patch -p 0 $out/bin/$prog < export MONO_GAC_PREFIX=${gnome-sharp}:${gtk-sharp}:\$MONO_GAC_PREFIX + > export MONO_GAC_PREFIX=${gnome-sharp}:${gtk-sharp-2_0}:\$MONO_GAC_PREFIX > export PATH=${mono}/bin:\$PATH - > export LD_LIBRARY_PATH=${stdenv.lib.makeLibraryPath [ glib gnome.libgnomeui gnome.gnome_vfs gnome-sharp gtk-sharp gtk-sharp.gtk ]}:\$LD_LIBRARY_PATH + > export LD_LIBRARY_PATH=${stdenv.lib.makeLibraryPath [ glib gnome2.libgnomeui gnome2.gnome_vfs gnome-sharp gtk-sharp-2_0 gtk-sharp-2_0.gtk ]}:\$LD_LIBRARY_PATH > EOF done diff --git a/pkgs/applications/editors/nano/default.nix b/pkgs/applications/editors/nano/default.nix index f99e5d76a473..0b45f9502fad 100644 --- a/pkgs/applications/editors/nano/default.nix +++ b/pkgs/applications/editors/nano/default.nix @@ -12,10 +12,10 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "nano-${version}"; - version = "2.6.3"; + version = "2.7.3"; src = fetchurl { - url = "https://nano-editor.org/dist/v2.6/${name}.tar.gz"; - sha256 = "00ym3zws1vdds726drgr5wj14mjn18d96ghn6vjci0915zhm8h2g"; + url = "mirror://gnu/nano/${name}.tar.xz"; + sha256 = "1z0bfyc5cvv83l3bjmlcwl49mpxrp65k5ffsfpnayfyjc18fy9nr"; }; nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext; buildInputs = [ ncurses ]; @@ -26,15 +26,6 @@ stdenv.mkDerivation rec { ${optionalString enableTiny "--enable-tiny"} ''; - patchFlags = [ "-p0" ]; - - patches = optional stdenv.isDarwin - (fetchurl { - name = "darwin.patch"; - url = "https://trac.macports.org/browser/trunk/dports/editors/nano/files/patch-src-winio.c.diff?rev=151356&format=txt"; - sha256 = "184q33irz9px2svwr2qx70zvfby5zlwlhv4k607yzsy90fq2jpdd"; - }); - postPatch = stdenv.lib.optionalString stdenv.isDarwin '' substituteInPlace src/text.c --replace "__time_t" "time_t" ''; @@ -43,7 +34,10 @@ stdenv.mkDerivation rec { homepage = http://www.nano-editor.org/; description = "A small, user-friendly console text editor"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ joachifm ]; + maintainers = with maintainers; [ + jgeerds + joachifm + ]; platforms = platforms.all; }; } diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix index 19678d241e67..cbaf14cee603 100644 --- a/pkgs/applications/editors/neovim/default.nix +++ b/pkgs/applications/editors/neovim/default.nix @@ -1,10 +1,11 @@ { stdenv, fetchFromGitHub, cmake, gettext, libmsgpack, libtermkey -, libtool, libuv, luajit, luaPackages, man, ncurses, perl, pkgconfig -, unibilium, makeWrapper, vimUtils, xsel +, libtool, libuv, luajit, luaPackages, ncurses, perl, pkgconfig +, unibilium, makeWrapper, vimUtils, xsel, gperf , withPython ? true, pythonPackages, extraPythonPackages ? [] , withPython3 ? true, python3Packages, extraPython3Packages ? [] , withJemalloc ? true, jemalloc +, withRuby ? true, bundlerEnv , withPyGUI ? false , vimAlias ? false @@ -18,13 +19,13 @@ let # Note: this is NOT the libvterm already in nixpkgs, but some NIH silliness: neovimLibvterm = stdenv.mkDerivation rec { name = "neovim-libvterm-${version}"; - version = "2015-11-06"; + version = "2016-10-07"; src = fetchFromGitHub { owner = "neovim"; repo = "libvterm"; - rev = "487f21dbf65f1c28962fef3f064603f415fbaeb2"; - sha256 = "1fig6v0qk0ylr7lqqk0d6x5yywb9ymh85vay4spw5b5r5p0ky7yx"; + rev = "11682793d84668057c5aedc3d7f8071bb54eaf2c"; + sha256 = "0pd90yx6xsagrqjipi26sxri1l4wdnx23ziad1zbxnqx9njxa7g3"; }; buildInputs = [ perl ]; @@ -44,6 +45,14 @@ let }; }; + rubyEnv = bundlerEnv { + name = "neovim-ruby-env"; + gemdir = ./ruby_provider; + }; + + rubyWrapper = ''--suffix PATH : \"${rubyEnv}/bin\" '' + + ''--suffix GEM_HOME : \"${rubyEnv}/${rubyEnv.ruby.gemPath}\" ''; + pythonEnv = pythonPackages.python.buildEnv.override { extraLibs = ( if withPyGUI @@ -52,21 +61,27 @@ let ) ++ extraPythonPackages; ignoreCollisions = true; }; + pythonWrapper = ''--cmd \"let g:python_host_prog='$out/bin/nvim-python'\" ''; python3Env = python3Packages.python.buildEnv.override { extraLibs = [ python3Packages.neovim ] ++ extraPython3Packages; ignoreCollisions = true; }; + python3Wrapper = ''--cmd \"let g:python3_host_prog='$out/bin/nvim-python3'\" ''; + pythonFlags = optionalString (withPython || withPython3) ''--add-flags "${ + (optionalString withPython pythonWrapper) + + (optionalString withPython3 python3Wrapper) + }"''; neovim = stdenv.mkDerivation rec { name = "neovim-${version}"; - version = "0.1.5"; + version = "0.1.7"; src = fetchFromGitHub { owner = "neovim"; repo = "neovim"; rev = "v${version}"; - sha256 = "1ihlgm2h7147xyd5wrwg61vsnmkqc9j3ghsida4g2ilr7gw9c85y"; + sha256 = "0bk0raxlb1xsqyw9pmqmxvcq5szqhimidrasnvzrci84gld8cwz4"; }; enableParallelBuilding = true; @@ -80,6 +95,7 @@ let unibilium luajit luaPackages.lua + gperf ] ++ optional withJemalloc jemalloc ++ lualibs; @@ -102,10 +118,7 @@ let # triggers on buffer overflow bug while running tests hardeningDisable = [ "fortify" ]; - preConfigure = '' - substituteInPlace runtime/autoload/man.vim \ - --replace /usr/bin/man ${man}/bin/man - '' + stdenv.lib.optionalString stdenv.isDarwin '' + preConfigure = stdenv.lib.optionalString stdenv.isDarwin '' export DYLD_LIBRARY_PATH=${jemalloc}/lib substituteInPlace src/nvim/CMakeLists.txt --replace " util" "" ''; @@ -123,13 +136,8 @@ let --prefix PATH : "$out/bin" '' + optionalString withPython3 '' ln -s ${python3Env}/bin/python3 $out/bin/nvim-python3 - '' + optionalString (withPython || withPython3) '' - wrapProgram $out/bin/nvim --add-flags "${ - (optionalString withPython - ''--cmd \"let g:python_host_prog='$out/bin/nvim-python'\" '') + - (optionalString withPython3 - ''--cmd \"let g:python3_host_prog='$out/bin/nvim-python3'\" '') - }" + '' + optionalString (withPython || withPython3 || withRuby) '' + wrapProgram $out/bin/nvim ${rubyWrapper + pythonFlags} ''; meta = { @@ -156,7 +164,7 @@ let in if (vimAlias == false && configure == null) then neovim else stdenv.mkDerivation { name = "neovim-${neovim.version}-configured"; - inherit (neovim) version; + inherit (neovim) version meta; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/editors/neovim/qt.nix b/pkgs/applications/editors/neovim/qt.nix index 10522f449ae5..07660eaddf6c 100644 --- a/pkgs/applications/editors/neovim/qt.nix +++ b/pkgs/applications/editors/neovim/qt.nix @@ -3,7 +3,7 @@ }: let # not very usable ATM - version = "0.2.1"; + version = "0.2.4"; in stdenv.mkDerivation { name = "neovim-qt-${version}"; @@ -12,7 +12,7 @@ stdenv.mkDerivation { owner = "equalsraf"; repo = "neovim-qt"; rev = "v${version}"; - sha256 = "0mqs2f7l05q2ayj77czr5fnpr7fa00qrmjdjxglbwxdxswcsz88n"; + sha256 = "0yf9wwkl0lbbj3vyf8hxnlsk7jhk5ggivszyqxply69dbar9ww59"; }; # It tries to download libmsgpack; let's use ours. diff --git a/pkgs/applications/editors/neovim/ruby_provider/Gemfile b/pkgs/applications/editors/neovim/ruby_provider/Gemfile new file mode 100644 index 000000000000..eebecf2906fb --- /dev/null +++ b/pkgs/applications/editors/neovim/ruby_provider/Gemfile @@ -0,0 +1,3 @@ +source 'https://rubygems.org' + +gem 'neovim' diff --git a/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock b/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock new file mode 100644 index 000000000000..88100b2e8f87 --- /dev/null +++ b/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock @@ -0,0 +1,15 @@ +GEM + remote: https://rubygems.org/ + specs: + msgpack (1.0.2) + neovim (0.3.1) + msgpack (~> 1.0) + +PLATFORMS + ruby + +DEPENDENCIES + neovim + +BUNDLED WITH + 1.12.5 diff --git a/pkgs/applications/editors/neovim/ruby_provider/gemset.nix b/pkgs/applications/editors/neovim/ruby_provider/gemset.nix new file mode 100644 index 000000000000..c3ed45a78481 --- /dev/null +++ b/pkgs/applications/editors/neovim/ruby_provider/gemset.nix @@ -0,0 +1,19 @@ +{ + msgpack = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1fb2my91j08plsbbry5kilsrh7slmzgbbf6f55zy6xk28p9036lg"; + type = "gem"; + }; + version = "1.0.2"; + }; + neovim = { + dependencies = ["msgpack"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "018mk4vqaxzbk4anq558h2rgj8prbn2rmi777iwrg3n0v8k5nxqw"; + type = "gem"; + }; + version = "0.3.1"; + }; +} \ No newline at end of file diff --git a/pkgs/applications/editors/netbeans/default.nix b/pkgs/applications/editors/netbeans/default.nix index 289de0ad91ac..a23c5242a24b 100644 --- a/pkgs/applications/editors/netbeans/default.nix +++ b/pkgs/applications/editors/netbeans/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, makeWrapper, makeDesktopItem -, gawk, jdk, perl, python, unzip, which +, jdk, perl, python, unzip, which }: let @@ -13,18 +13,15 @@ let }; in stdenv.mkDerivation { - name = "netbeans-8.1"; + name = "netbeans-8.2"; src = fetchurl { - url = http://download.netbeans.org/netbeans/8.1/final/zip/netbeans-8.1-201510222201.zip; - sha256 = "1aaf132mndpgfbd5v8izqzp37hjs5gwqwd6zrb519fx0viz9aq5r"; + url = http://download.netbeans.org/netbeans/8.2/final/zip/netbeans-8.2-201609300101.zip; + sha256 = "0j092qw7aqfc9vpnvr3ix1ii94p4ik6frcnw708iyv4s9crqi65d"; }; buildCommand = '' # Unpack and perform some path patching. unzip $src - patch -p1 <${./path.patch} - substituteInPlace netbeans/platform/lib/nbexec \ - --subst-var-by AWK ${gawk}/bin/awk patchShebangs . # Copy to installation directory and create a wrapper capable of starting @@ -35,14 +32,14 @@ stdenv.mkDerivation { --prefix PATH : ${stdenv.lib.makeBinPath [ jdk which ]} \ --prefix JAVA_HOME : ${jdk.home} \ --add-flags "--jdkhome ${jdk.home}" - + # Create desktop item, so we can pick it from the KDE/GNOME menu mkdir -p $out/share/applications cp ${desktopItem}/share/applications/* $out/share/applications ''; - + buildInputs = [ makeWrapper perl python unzip ]; - + meta = { description = "An integrated development environment for Java, C, C++ and PHP"; maintainers = [ stdenv.lib.maintainers.sander ]; diff --git a/pkgs/applications/editors/netbeans/path.patch b/pkgs/applications/editors/netbeans/path.patch deleted file mode 100644 index 57b5730e137c..000000000000 --- a/pkgs/applications/editors/netbeans/path.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/netbeans/platform/lib/nbexec 2015-09-29 21:26:39.282600903 -0700 -+++ b/netbeans/platform/lib/nbexec 2015-09-29 21:26:58.977697858 -0700 -@@ -198,7 +198,7 @@ - SunOS*) awk=nawk ;; - *) awk=awk ;; - esac -- jdk_version=$("${jdkhome}/bin/java" -version 2>&1 | "/usr/bin/${awk}" -F '"' '/version/ {print substr($2, 1, 3)}') -+ jdk_version=$("${jdkhome}/bin/java" -version 2>&1 | "@AWK@" -F '"' '/version/ {print substr($2, 1, 3)}') - if [ "$jdk_version" = "1.7" ] ; then - jargs="$jargs $launcher_args" - fi diff --git a/pkgs/applications/editors/notepadqq/default.nix b/pkgs/applications/editors/notepadqq/default.nix new file mode 100644 index 000000000000..0de33d6d1949 --- /dev/null +++ b/pkgs/applications/editors/notepadqq/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchgit, pkgconfig, which, qtbase }: + +let + version = "0.53.0"; +in stdenv.mkDerivation { + name = "notepadqq-${version}"; + src = fetchgit { + url = "https://github.com/notepadqq/notepadqq.git"; + rev = "3b0751277fb268ec72b466b37d0f0977c536bc1b"; + sha256 = "0hw94mn2xg2r58afvz1xg990jinv9aa33942zgwq54qwj61r93hi"; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ + pkgconfig which + ]; + + buildInputs = [ + qtbase.qtsvg qtbase.qtwebkit qtbase.qttools + ]; + + preConfigure = '' + export LRELEASE="lrelease" + ''; + + meta = { + homepage = "http://notepadqq.altervista.org/"; + description = "Notepad++-like editor for the Linux desktop"; + license = stdenv.lib.licenses.gpl3; + platforms = stdenv.lib.platforms.linux; + maintainers = with stdenv.lib.maintainers; [ rszibele ]; + }; +} diff --git a/pkgs/applications/editors/nvpy/default.nix b/pkgs/applications/editors/nvpy/default.nix index c42940440ae5..c9d86561fe26 100644 --- a/pkgs/applications/editors/nvpy/default.nix +++ b/pkgs/applications/editors/nvpy/default.nix @@ -1,6 +1,8 @@ -{ pkgs, fetchurl, tk, buildPythonApplication, pythonPackages }: +{ pkgs, fetchurl, tk, python2Packages }: -buildPythonApplication rec { +let + pythonPackages = python2Packages; +in pythonPackages.buildPythonApplication rec { version = "0.9.7"; name = "nvpy-${version}"; @@ -9,22 +11,21 @@ buildPythonApplication rec { sha256 = "1rd3vlaqkg16iz6qcw6rkbq0jmyvc0843wa3brnvn1nz0kla243f"; }; - buildInputs = [tk]; - - propagatedBuildInputs = [ - pythonPackages.markdown - pythonPackages.tkinter - pythonPackages.docutils + propagatedBuildInputs = with pythonPackages; [ + markdown + tkinter + docutils ]; + # No tests + doCheck = false; + postInstall = '' install -dm755 "$out/share/licenses/nvpy/" install -m644 LICENSE.txt "$out/share/licenses/nvpy/LICENSE" install -dm755 "$out/share/doc/nvpy/" install -m644 README.rst "$out/share/doc/nvpy/README" - - wrapProgram $out/bin/nvpy --set TK_LIBRARY "${tk}/lib/${tk.libPrefix}" ''; meta = with pkgs.lib; { diff --git a/pkgs/applications/editors/rstudio/default.nix b/pkgs/applications/editors/rstudio/default.nix index 0749f58ecea2..82bcc485da3c 100644 --- a/pkgs/applications/editors/rstudio/default.nix +++ b/pkgs/applications/editors/rstudio/default.nix @@ -1,11 +1,11 @@ -{ stdenv, fetchurl, cmake, boost155, zlib, openssl, R, qt4, libuuid, hunspellDicts, unzip, ant, jdk, gnumake, makeWrapper }: +{ stdenv, fetchurl, makeDesktopItem, cmake, boost155, zlib, openssl, R, qt4, libuuid, hunspellDicts, unzip, ant, jdk, gnumake, makeWrapper }: let version = "0.98.110"; ginVer = "1.5"; gwtVer = "2.5.1"; in -stdenv.mkDerivation { +stdenv.mkDerivation rec { name = "RStudio-${version}"; buildInputs = [ cmake boost155 zlib openssl R qt4 libuuid unzip ant jdk makeWrapper ]; @@ -31,7 +31,7 @@ stdenv.mkDerivation { sha256 = "0fjr2rcr8lnywj54mzhg9i4xz1b6fh8yv12p5i2q5mgfld2xymy4"; }; - hunspellDicts = builtins.attrValues hunspellDicts; + hunspellDictionaries = builtins.attrValues hunspellDicts; mathJaxSrc = fetchurl { url = https://s3.amazonaws.com/rstudio-buildtools/mathjax-20.zip; @@ -50,7 +50,7 @@ stdenv.mkDerivation { mv gwt-$gwtVer $GWT_LIB_DIR/gwt/$gwtVer mkdir dependencies/common/dictionaries - for dict in $hunspellDicts; do + for dict in $hunspellDictionaries; do for i in "$dict/share/hunspell/"* do ln -sv $i dependencies/common/dictionaries/ done @@ -61,8 +61,23 @@ stdenv.mkDerivation { cmakeFlags = [ "-DRSTUDIO_TARGET=Desktop" ]; + desktopItem = makeDesktopItem { + name = name; + exec = "rstudio %F"; + icon = "rstudio"; + desktopName = "RStudio"; + genericName = "IDE"; + comment = meta.description; + categories = "Development;"; + mimeType = "text/x-r-source;text/x-r;text/x-R;text/x-r-doc;text/x-r-sweave;text/x-r-markdown;text/x-r-html;text/x-r-presentation;application/x-r-data;application/x-r-project;text/x-r-history;text/x-r-profile;text/x-tex;text/x-markdown;text/html;text/css;text/javascript;text/x-chdr;text/x-csrc;text/x-c++hdr;text/x-c++src;"; + }; + postInstall = '' wrapProgram $out/bin/rstudio --suffix PATH : ${gnumake}/bin + mkdir $out/share + cp -r ${desktopItem}/share/applications $out/share + mkdir $out/share/icons + ln $out/rstudio.png $out/share/icons ''; meta = with stdenv.lib; diff --git a/pkgs/applications/editors/scite/default.nix b/pkgs/applications/editors/scite/default.nix index b2ac66c1e083..989d3e42a6fa 100644 --- a/pkgs/applications/editors/scite/default.nix +++ b/pkgs/applications/editors/scite/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, gtk }: +{ stdenv, fetchurl, pkgconfig, gtk2 }: let version = "3.3.7"; @@ -12,7 +12,7 @@ in stdenv.mkDerivation { sha256 = "0x7i6yxq50frsjkrp3lc5zy0d1ssq2n91igjn0dmqajpg7kls2dd"; }; - buildInputs = [ pkgconfig gtk ]; + buildInputs = [ pkgconfig gtk2 ]; sourceRoot = "scintilla/gtk"; buildPhase = '' diff --git a/pkgs/applications/editors/sublime/default.nix b/pkgs/applications/editors/sublime/default.nix index 1f4be1ac5085..9cf5bd97d0a3 100644 --- a/pkgs/applications/editors/sublime/default.nix +++ b/pkgs/applications/editors/sublime/default.nix @@ -1,6 +1,6 @@ -{ fetchurl, stdenv, glib, xorg, cairo, gtk, makeDesktopItem }: +{ fetchurl, stdenv, glib, xorg, cairo, gtk2, makeDesktopItem }: let - libPath = stdenv.lib.makeLibraryPath [glib xorg.libX11 gtk cairo]; + libPath = stdenv.lib.makeLibraryPath [glib xorg.libX11 gtk2 cairo]; in assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"; diff --git a/pkgs/applications/editors/sublime3/default.nix b/pkgs/applications/editors/sublime3/default.nix index 9e7b52e40d4d..0f7d50088a9d 100644 --- a/pkgs/applications/editors/sublime3/default.nix +++ b/pkgs/applications/editors/sublime3/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, glib, xorg, cairo, gtk, pango, makeWrapper, openssl, bzip2, +{ fetchurl, stdenv, glib, xorg, cairo, gtk2, pango, makeWrapper, openssl, bzip2, pkexecPath ? "/var/permissions-wrappers/pkexec", libredirect, gksuSupport ? false, gksu}: @@ -6,8 +6,8 @@ assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"; assert gksuSupport -> gksu != null; let - build = "3114"; - libPath = stdenv.lib.makeLibraryPath [glib xorg.libX11 gtk cairo pango]; + build = "3126"; + libPath = stdenv.lib.makeLibraryPath [glib xorg.libX11 gtk2 cairo pango]; redirects = [ "/usr/bin/pkexec=${pkexecPath}" ] ++ stdenv.lib.optional gksuSupport "/usr/bin/gksudo=${gksu}/bin/gksudo"; in let @@ -20,13 +20,13 @@ in let fetchurl { name = "sublimetext-${build}.tar.bz2"; url = "https://download.sublimetext.com/sublime_text_3_build_${build}_x32.tar.bz2"; - sha256 = "0xrfx76ilw5hlx26hv9zx1kw8q9qf76646yyjmn36p6mq9vs6y0d"; + sha256 = "0acff4wj1s61x3xszdd93lkhaqa26lb7ryqdxnbphxzhf2jfzzwj"; } else fetchurl { name = "sublimetext-${build}.tar.bz2"; url = "https://download.sublimetext.com/sublime_text_3_build_${build}_x64.tar.bz2"; - sha256 = "0nmi2gkpz56a47a0f56nx6nl3sl7gif035517gx2v82113y9nh66"; + sha256 = "0ykj33fq86iv7f9zx76h90pl9y86iri0idhlj09a6prhk8p17nqq"; }; dontStrip = true; diff --git a/pkgs/applications/editors/supertux-editor/default.nix b/pkgs/applications/editors/supertux-editor/default.nix index 8dcc718e7bbb..a9f236a57ae7 100644 --- a/pkgs/applications/editors/supertux-editor/default.nix +++ b/pkgs/applications/editors/supertux-editor/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, mono, gtk-sharp, pkgconfig, makeWrapper, gnome, gtk }: +{ stdenv, fetchFromGitHub, mono, gtk-sharp-2_0, pkgconfig, makeWrapper, gnome2, gtk2 }: stdenv.mkDerivation rec { version = "git-2014-08-20"; name = "supertux-editor-${version}"; @@ -10,19 +10,19 @@ stdenv.mkDerivation rec { sha256 = "08y5haclgxvcii3hpdvn1ah8qd0f3n8xgxxs8zryj02b8n7cz3vx"; }; - buildInputs = [mono gtk-sharp pkgconfig makeWrapper gnome.libglade gtk ]; + buildInputs = [mono gtk-sharp-2_0 pkgconfig makeWrapper gnome2.libglade gtk2 ]; installPhase = '' mkdir -p $out/bin $out/lib/supertux-editor cp *.{dll,dll.config,exe} $out/lib/supertux-editor makeWrapper "${mono}/bin/mono" $out/bin/supertux-editor \ --add-flags "$out/lib/supertux-editor/supertux-editor.exe" \ - --prefix MONO_GAC_PREFIX : ${gtk-sharp} \ + --prefix MONO_GAC_PREFIX : ${gtk-sharp-2_0} \ --suffix LD_LIBRARY_PATH : $(echo $NIX_LDFLAGS | sed 's/ -L/:/g;s/ -rpath /:/g;s/-rpath //') makeWrapper "${mono}/bin/mono" $out/bin/supertux-editor-debug \ --add-flags "--debug $out/lib/supertux-editor/supertux-editor.exe" \ - --prefix MONO_GAC_PREFIX : ${gtk-sharp} \ + --prefix MONO_GAC_PREFIX : ${gtk-sharp-2_0} \ --suffix LD_LIBRARY_PATH : $(echo $NIX_LDFLAGS | sed 's/ -L/:/g;s/ -rpath /:/g;s/-rpath //') ''; diff --git a/pkgs/applications/editors/tecoc/default.nix b/pkgs/applications/editors/tecoc/default.nix new file mode 100644 index 000000000000..a3f58012e534 --- /dev/null +++ b/pkgs/applications/editors/tecoc/default.nix @@ -0,0 +1,56 @@ +{ stdenv, fetchgit +, ncurses }: + +stdenv.mkDerivation rec { + + name = "tecoc-git-${version}"; + version = "20150606"; + + src = fetchgit { + url = "https://github.com/blakemcbride/TECOC.git"; + rev = "d7dffdeb1dfb812e579d6d3b518545b23e1b50cb"; + sha256 = "11zfa73dlx71c0hmjz5n3wqcvk6082rpb4sss877nfiayisc0njj"; + }; + + buildInputs = [ ncurses ]; + + configurePhase = '' + cp src/makefile.linux src/Makefile + ''; + buildPhase = '' + make CC=${stdenv.cc}/bin/cc -C src/ + ''; + installPhase = '' + mkdir -p $out/bin $out/share/doc/${name} $out/lib/teco/macros + cp src/tecoc $out/bin + cp src/aaout.txt doc/* $out/share/doc/${name} + cp lib/* lib2/* $out/lib/teco/macros + (cd $out/bin + ln -s tecoc Make + ln -s tecoc mung + ln -s tecoc teco + ln -s tecoc Inspect ) + ''; + + meta = with stdenv.lib; { + description = "A clone of the good old TECO editor"; + longDescription = '' + For those who don't know: TECO is the acronym of Tape Editor and + COrrector (because it was a paper tape edition tool in its debut + days). Now the acronym follows after Text Editor and Corrector, + or Text Editor Character-Oriented. + + TECO is a character-oriented text editor, originally developed + bu Dan Murphy at MIT circa 1962. It is also a Turing-complete + imperative interpreted programming language for text + manipulation, done via user-loaded sets of macros. In fact, Emacs + was born as a set of Editor MACroS for TECO. + + TECOC is a portable C implementation of TECO-11. + ''; + homepage = https://github.com/blakemcbride/TECOC; + maintainers = [ maintainers.AndersonTorres ]; + platforms = platforms.unix; + }; +} +# TODO: test in other platforms - especially Darwin diff --git a/pkgs/applications/editors/texstudio/default.nix b/pkgs/applications/editors/texstudio/default.nix index 69f03f392710..89ae2e04eac0 100644 --- a/pkgs/applications/editors/texstudio/default.nix +++ b/pkgs/applications/editors/texstudio/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "texstudio"; - version = "2.11.0"; + version = "2.11.2"; name = "${pname}-${version}"; altname="Texstudio"; src = fetchurl { url = "mirror://sourceforge/texstudio/${name}.tar.gz"; - sha256 = "170e6d68952251e8c64589b0d147cb7692005e135cc6fc14579c6fd593f54307"; + sha256 = "1p6ja5y5902y814f3f5mafh0y8vj682ghrarx1pbm4r5ap8x9z82"; }; buildInputs = [ qt4 qmake4Hook poppler_qt4 zlib pkgconfig ]; diff --git a/pkgs/applications/editors/textadept/default.nix b/pkgs/applications/editors/textadept/default.nix index f412a9bada22..1e24054b9960 100644 --- a/pkgs/applications/editors/textadept/default.nix +++ b/pkgs/applications/editors/textadept/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchhg, fetchurl, fetchzip, gtk, glib, pkgconfig, unzip, ncurses, zip }: +{ stdenv, fetchhg, fetchurl, fetchzip, gtk2, glib, pkgconfig, unzip, ncurses, zip }: let # Textadept requires a whole bunch of external dependencies. # The build system expects to be able to download them with wget. @@ -43,22 +43,23 @@ let # These lists are taken from the Makefile. - scintilla_tgz = "scintilla365.tgz"; + scintilla_tgz = "scintilla367.tgz"; + tre_zip = "cdce45e8dd7a3b36954022b4a4d3570e1ac5a4f8.zip"; scinterm_zip = "scinterm_1.8.zip"; - scintillua_zip = "scintillua_3.6.5-1.zip"; - lua_tgz = "lua-5.3.2.tar.gz"; + scintillua_zip = "scintillua_3.6.7-1.zip"; + lua_tgz = "lua-5.3.3.tar.gz"; lpeg_tgz = "lpeg-1.0.0.tar.gz"; lfs_zip = "v_1_6_3.zip"; - luautf8_zip = "0.1.1.zip"; lspawn_zip = "lspawn_1.5.zip"; luajit_tgz = "LuaJIT-2.0.3.tar.gz"; libluajit_tgz = "libluajit_2.0.3.x86_64.tgz"; - gtdialog_zip = "gtdialog_1.2.zip"; + gtdialog_zip = "gtdialog_1.3.zip"; cdk_tgz = "cdk-5.0-20150928.tgz"; termkey_tgz = "libtermkey-0.17.tar.gz"; bombay_zip = "bombay.zip"; scinterm_url = "http://foicica.com/scinterm/download/" + scinterm_zip; + tre_url = "https://github.com/laurikari/tre/archive/" + tre_zip; scintillua_url = "http://foicica.com/scintillua/download/" + scintillua_zip; gtdialog_url = "http://foicica.com/gtdialog/download/" + gtdialog_zip; lspawn_url = "http://foicica.com/lspawn/download/" + lspawn_zip; @@ -67,7 +68,6 @@ let lua_url = "http://www.lua.org/ftp/" + lua_tgz; lpeg_url = "http://www.inf.puc-rio.br/~roberto/lpeg/" + lpeg_tgz; lfs_url = "https://github.com/keplerproject/luafilesystem/archive/" + lfs_zip; - luautf8_url = "https://github.com/starwing/luautf8/archive/" + luautf8_zip; luajit_url = "http://luajit.org/download/" + luajit_tgz; libluajit_url = "http://foicica.com/textadept/download/" + libluajit_tgz; cdk_url = "http://invisible-mirror.net/archives/cdk/" + cdk_tgz; @@ -75,13 +75,13 @@ let termkey_url = "http://www.leonerd.org.uk/code/libtermkey/" + termkey_tgz; - get_scintilla = get_url scintilla_url "1s5zbkn5f3vs8gbnjlkfzw4b137y12m3c89lyc4pmvqvrvxgyalj"; + get_scintilla = get_url scintilla_url "0rh1xgd06qcnj4l0vi8g4i94vi63s76366b8hhqky3iqdjgwsxpi"; + get_tre = get_url tre_url "0mw8npwk5nnhc33352j4akannhpx77kqvfam8jdq1n4yf8js1gi7"; get_scinterm = get_url scinterm_url "02ax6cjpxylfz7iqp1cjmsl323in066a38yklmsyzdl3w7761nxi"; - get_scintillua = get_url scintillua_url "0s4q7a9mgvxh0msi18llkczhcgafaiizw9qm1p9w18r2a7wjq9wc"; - get_lua = get_url lua_url "13x6knpv5xsli0n2bib7g1nrga2iacy7qfy63i798dm94fxwfh67"; + get_scintillua = get_url scintillua_url "0fhyjrkfj2cvxnql65687nx1d0sfyg5lbrxmylyzhnfh4s4jnwmq"; + get_lua = get_url lua_url "18mcfbbmjyp8f2l9yy7n6dzk066nq6man0kpwly4bppphilc04si"; get_lpeg = get_url lpeg_url "13mz18s359wlkwm9d9iqlyyrrwjc6iqfpa99ai0icam2b3khl68h"; get_lfs = get_url_zip lfs_url "1hxcnqj53540ysyw8fzax7f09pl98b8f55s712gsglcdxp2g2pri"; - get_luautf8_zip = get_url_zip luautf8_url "1dgmxdk88njpic4d4sn2wzlni4b6sfqcsmh2hrraxivpqf9ps7f7"; get_lspawn = get_url lspawn_url "09c6v9irblay2kv1n7i59pyj9g4xb43c6rfa7ba5m353lymcwwqi"; get_luajit = get_url luajit_url "0ydxpqkmsn2c341j4r2v6r5r0ig3kbwv3i9jran3iv81s6r6rgjm"; get_libluajit = get_url libluajit_url "1nhvcdjpqrhd5qbihdm3bxpw84irfvnw2vmfqnsy253ay3dxzrgy"; @@ -93,12 +93,12 @@ let get_deps = get_scintilla + + get_tre + get_scinterm + get_scintillua + get_lua + get_lpeg + get_lfs - + get_luautf8_zip + get_lspawn + get_luajit + get_libluajit @@ -108,17 +108,17 @@ let + get_termkey; in stdenv.mkDerivation rec { - version = "8.7"; + version = "9.0"; name = "textadept-${version}"; buildInputs = [ - gtk glib pkgconfig unzip ncurses zip + gtk2 glib pkgconfig unzip ncurses zip ]; src = fetchhg { url = http://foicica.com/hg/textadept; rev = "textadept_${version}"; - sha256 = "1gi73wk11w3rbkxqqdp8z9g83qiyhx6gxry221vxjxpqsl9pvhlf"; + sha256 = "1fkxblf2db4i0kbfww94xwps7nbn88qc4fwghrm4dcszcq32jlfi"; }; preConfigure = '' diff --git a/pkgs/applications/editors/tiled/default.nix b/pkgs/applications/editors/tiled/default.nix index a128899d24e7..5f2fffa5f508 100644 --- a/pkgs/applications/editors/tiled/default.nix +++ b/pkgs/applications/editors/tiled/default.nix @@ -5,12 +5,12 @@ let # qtEnv = with qt5; env "qt-${qtbase.version}" [ qtbase qttools ]; in stdenv.mkDerivation rec { name = "tiled-${version}"; - version = "0.16.1"; + version = "0.17.0"; src = fetchurl { name = "${name}.tar.gz"; url = "https://github.com/bjorn/tiled/archive/v${version}.tar.gz"; - sha256 = "0s1i6yhm1z9ayzjh8cprcc9jvj5m87l9snyqg6w7zlj3q9zn4rn6"; + sha256 = "0c9gykxmq0sk0yyfdq81g9psd922scqzn5asskjydj84d80f5z7p"; }; nativeBuildInputs = [ pkgconfig qmakeHook ]; diff --git a/pkgs/applications/editors/vim/cflags-prune.diff b/pkgs/applications/editors/vim/cflags-prune.diff new file mode 100644 index 000000000000..6bec4fec09ef --- /dev/null +++ b/pkgs/applications/editors/vim/cflags-prune.diff @@ -0,0 +1,15 @@ +diff --git a/src/Makefile b/src/Makefile +index 864f54b..fd85f76 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -2806,8 +2806,8 @@ auto/pathdef.c: Makefile auto/config.mk + -@echo '#include "vim.h"' >> $@ + -@echo 'char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)";' | $(QUOTESED) >> $@ + -@echo 'char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)";' | $(QUOTESED) >> $@ +- -@echo 'char_u *all_cflags = (char_u *)"$(CC) -c -I$(srcdir) $(ALL_CFLAGS)";' | $(QUOTESED) >> $@ +- -@echo 'char_u *all_lflags = (char_u *)"$(CC) $(ALL_LIB_DIRS) $(LDFLAGS) -o $(VIMTARGET) $(ALL_LIBS) ";' | $(QUOTESED) >> $@ ++ -@echo 'char_u *all_cflags = (char_u *)"see nix-store --read-log $(out)";' | $(QUOTESED) >> $@ ++ -@echo 'char_u *all_lflags = (char_u *)"see nix-store --read-log $(out)";' | $(QUOTESED) >> $@ + -@echo 'char_u *compiled_user = (char_u *)"' | tr -d $(NL) >> $@ + -@if test -n "$(COMPILEDBY)"; then \ + echo "$(COMPILEDBY)" | tr -d $(NL) >> $@; \ diff --git a/pkgs/applications/editors/vim/common.nix b/pkgs/applications/editors/vim/common.nix new file mode 100644 index 000000000000..39975c3dc69d --- /dev/null +++ b/pkgs/applications/editors/vim/common.nix @@ -0,0 +1,30 @@ +{ lib, fetchFromGitHub }: +rec { + version = "8.0.0075"; + + src = fetchFromGitHub { + owner = "vim"; + repo = "vim"; + rev = "v${version}"; + sha256 = "1imhvrd90f797jlbzvx8sc08h53s55ns6jxy1kl5kh8lz1qq455w"; + }; + + enableParallelBuilding = true; + + hardeningDisable = [ "fortify" ]; + + postPatch = + # Use man from $PATH; escape sequences are still problematic. + '' + substituteInPlace runtime/ftplugin/man.vim \ + --replace "/usr/bin/man " "man " + ''; + + meta = with lib; { + description = "The most popular clone of the VI editor"; + homepage = http://www.vim.org; + license = licenses.vim; + maintainers = with maintainers; [ lovek323 ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/editors/vim/configurable.nix b/pkgs/applications/editors/vim/configurable.nix index f0d76eae3b4f..d0a0c63d9d06 100644 --- a/pkgs/applications/editors/vim/configurable.nix +++ b/pkgs/applications/editors/vim/configurable.nix @@ -1,7 +1,7 @@ # TODO tidy up eg The patchelf code is patching gvim even if you don't build it.. # but I have gvim with python support now :) - Marc -args@{pkgs, source ? "default", fetchurl, fetchFromGitHub, stdenv, ncurses, pkgconfig, gettext -, composableDerivation, lib, config, glib, gtk, python, perl, tcl, ruby +args@{ source ? "default", callPackage, fetchurl, stdenv, ncurses, pkgconfig, gettext +, composableDerivation, writeText, lib, config, glib, gtk2, python, perl, tcl, ruby , libX11, libXext, libSM, libXpm, libXt, libXaw, libXau, libXmu , libICE @@ -11,8 +11,9 @@ args@{pkgs, source ? "default", fetchurl, fetchFromGitHub, stdenv, ncurses, pkgc , ... }: with args; -let inherit (args.composableDerivation) composableDerivation edf; - nixosRuntimepath = pkgs.writeText "nixos-vimrc" '' +let + inherit (args.composableDerivation) composableDerivation edf; + nixosRuntimepath = writeText "nixos-vimrc" '' set nocompatible syntax on @@ -37,25 +38,18 @@ let inherit (args.composableDerivation) composableDerivation edf; source /etc/vim/vimrc endif ''; + + common = callPackage ./common.nix {}; in composableDerivation { } (fix: rec { name = "vim_configurable-${version}"; - version = "7.4.826"; - enableParallelBuilding = true; # test this + inherit (common) version postPatch hardeningDisable enableParallelBuilding meta; - src = - builtins.getAttr source { - "default" = - # latest release - args.fetchFromGitHub { - owner = "vim"; - repo = "vim"; - rev = "v${version}"; - sha256 = "04hp2gqbbj9h872bgj1g9xcaj5qlg9q45v6by2ch9n105dng9aj3"; - }; + src = builtins.getAttr source { + "default" = common.src; # latest release "vim-nox" = { @@ -67,37 +61,27 @@ composableDerivation { }.src; }; - prePatch = "cd src"; - - # if darwin support is enabled, we want to make sure we're not building with - # OS-installed python framework - patches = stdenv.lib.optionals - (stdenv.isDarwin && (config.vim.darwin or true)) - [ ./python_framework.patch ]; + patches = [ ./cflags-prune.diff ]; configureFlags = [ "--enable-gui=${args.gui}" "--with-features=${args.features}" ]; - nativeBuildInputs - = [ ncurses pkgconfig gtk libX11 libXext libSM libXpm libXt libXaw libXau + nativeBuildInputs = [ pkgconfig ]; + + buildInputs + = [ ncurses gtk2 libX11 libXext libSM libXpm libXt libXaw libXau libXmu glib libICE ]; # most interpreters aren't tested yet.. (see python for example how to do it) flags = { ftNix = { - # because we cd to src in the main patch phase, we can't just add this - # patch to the list, we have to apply it manually - postPatch = '' - cd ../runtime - patch -p2 < ${./ft-nix-support.patch} - cd .. - ''; + patches = [ ./ft-nix-support.patch ]; }; } // edf { name = "darwin"; enable = { - nativeBuildInputs = [ CoreServices CoreData Cocoa Foundation libobjc cf-private ]; + buildInputs = [ CoreServices CoreData Cocoa Foundation libobjc cf-private ]; NIX_LDFLAGS = stdenv.lib.optional stdenv.isDarwin "/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation"; }; @@ -111,7 +95,7 @@ composableDerivation { name = "python"; feat = "python${if python ? isPy3 then "3" else ""}interp"; enable = { - nativeBuildInputs = [ python ]; + buildInputs = [ python ]; } // lib.optionalAttrs stdenv.isDarwin { configureFlags = [ "--enable-python${if python ? isPy3 then "3" else ""}interp=yes" @@ -120,13 +104,13 @@ composableDerivation { }; } - // edf { name = "tcl"; feat = "tclinterp"; enable = { nativeBuildInputs = [tcl]; }; } #Include Tcl interpreter. - // edf { name = "ruby"; feat = "rubyinterp"; enable = { nativeBuildInputs = [ruby]; };} #Include Ruby interpreter. + // edf { name = "tcl"; feat = "tclinterp"; enable = { buildInputs = [tcl]; }; } #Include Tcl interpreter. + // edf { name = "ruby"; feat = "rubyinterp"; enable = { buildInputs = [ruby]; };} #Include Ruby interpreter. // edf { name = "lua"; feat = "luainterp"; enable = { - nativeBuildInputs = [lua]; + buildInputs = [lua]; configureFlags = [ "--with-lua-prefix=${args.lua}" "--enable-luainterp" @@ -178,28 +162,13 @@ composableDerivation { */ postInstall = stdenv.lib.optionalString stdenv.isLinux '' - rpath=`patchelf --print-rpath $out/bin/vim`; - for i in $nativeBuildInputs; do - echo adding $i/lib - rpath=$rpath:$i/lib - done - echo $nativeBuildInputs - echo $rpath - patchelf --set-rpath $rpath $out/bin/{vim,gvim} + patchelf --set-rpath \ + "$(patchelf --print-rpath $out/bin/vim):${lib.makeLibraryPath buildInputs}" \ + "$out"/bin/{vim,gvim} - ln -sfn ${nixosRuntimepath} $out/share/vim/vimrc + ln -sfn '${nixosRuntimepath}' "$out"/share/vim/vimrc ''; dontStrip = 1; - - hardeningDisable = [ "fortify" ]; - - meta = with stdenv.lib; { - description = "The most popular clone of the VI editor"; - homepage = http://www.vim.org; - license = licenses.vim; - maintainers = with maintainers; [ lovek323 ]; - platforms = platforms.unix; - }; }) diff --git a/pkgs/applications/editors/vim/default.nix b/pkgs/applications/editors/vim/default.nix index 1c81cda7ce97..8c9a725ddd66 100644 --- a/pkgs/applications/editors/vim/default.nix +++ b/pkgs/applications/editors/vim/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, fetchurl, ncurses, gettext, pkgconfig +{ stdenv, fetchurl, callPackage, ncurses, gettext, pkgconfig # default vimrc , vimrc ? fetchurl { name = "default-vimrc"; @@ -8,18 +8,13 @@ # apple frameworks , Carbon, Cocoa }: +let + common = callPackage ./common.nix {}; +in stdenv.mkDerivation rec { name = "vim-${version}"; - version = "7.4.1585"; - src = fetchFromGitHub { - owner = "vim"; - repo = "vim"; - rev = "v${version}"; - sha256 = "1kjdwpka269i4cyl0rmnmzg23dl26g65k26h32w8ayzfm3kbj123"; - }; - - enableParallelBuilding = true; + inherit (common) version src postPatch hardeningDisable enableParallelBuilding meta; buildInputs = [ ncurses pkgconfig ] ++ stdenv.lib.optionals stdenv.isDarwin [ Carbon Cocoa ]; @@ -30,8 +25,6 @@ stdenv.mkDerivation rec { "--enable-nls" ]; - hardeningDisable = [ "fortify" ]; - postInstall = '' ln -s $out/bin/vim $out/bin/vi mkdir -p $out/share/vim @@ -62,12 +55,4 @@ stdenv.mkDerivation rec { # patchPhase = '' # sed -i -e 's/as_fn_error.*int32.*/:/' src/auto/configure # ''; - - meta = with stdenv.lib; { - description = "The most popular clone of the VI editor"; - homepage = http://www.vim.org; - license = licenses.vim; - maintainers = with maintainers; [ lovek323 ]; - platforms = platforms.unix; - }; } diff --git a/pkgs/applications/editors/vim/python_framework.patch b/pkgs/applications/editors/vim/python_framework.patch deleted file mode 100644 index ba4ddef889f6..000000000000 --- a/pkgs/applications/editors/vim/python_framework.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- a/auto/configure -+++ b/auto/configure -@@ -5895,13 +5895,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 -@@ -5921,7 +5914,6 @@ - vi_cv_path_python_plibs="${vi_cv_path_python_plibs} ${python_BASEMODLIBS} ${python_LIBS} ${python_SYSLIBS} ${python_LINKFORSHARED}" - vi_cv_path_python_plibs=`echo $vi_cv_path_python_plibs | sed s/-ltermcap//` - --fi - - if ${vi_cv_dll_name_python+:} false; then : - $as_echo_n "(cached) " >&6 diff --git a/pkgs/applications/editors/vis/default.nix b/pkgs/applications/editors/vis/default.nix index 41994563ee3d..f6760895b572 100644 --- a/pkgs/applications/editors/vis/default.nix +++ b/pkgs/applications/editors/vis/default.nix @@ -1,13 +1,13 @@ -{ stdenv, fetchFromGitHub, unzip, pkgconfig, makeWrapper +{ stdenv, fetchFromGitHub, pkgconfig, makeWrapper, makeDesktopItem , ncurses, libtermkey, lpeg, lua , acl ? null, libselinux ? null -, version ? "2016-07-15" -, rev ? "5c2cee9461ef1199f2e80ddcda699595b11fdf08" -, sha256 ? "1jmsv72hq0c2f2rnpllvd70cmxbjwfhynzwaxx24f882zlggwsnd" +, version ? "2016-10-09" +, rev ? "b0c9b0063d0b9ed9a7f93c69779749130b353ff1" +, sha256 ? "0g3242g3r2w38ld3w71f79qp7zzy3zhanff2nhwkwmyq89js8s90" }: stdenv.mkDerivation rec { - name = "vis-nightly-${version}"; + name = "vis-unstable-${version}"; inherit version; src = fetchFromGitHub { @@ -17,15 +17,14 @@ stdenv.mkDerivation rec { owner = "martanne"; }; - nativeBuildInputs = [ makeWrapper ]; + nativeBuildInputs = [ pkgconfig makeWrapper ]; buildInputs = [ - unzip pkgconfig ncurses libtermkey lua lpeg - ] ++ stdenv.lib.optional stdenv.isLinux [ + ] ++ stdenv.lib.optionals stdenv.isLinux [ acl libselinux ]; @@ -34,18 +33,38 @@ stdenv.mkDerivation rec { LUA_PATH="${lpeg}/share/lua/${lua.luaversion}/?.lua"; postInstall = '' + mkdir -p "$out/share/applications" + cp $desktopItem/share/applications/* $out/share/applications echo wrapping $out/bin/vis with runtime environment wrapProgram $out/bin/vis \ --prefix LUA_CPATH : "${lpeg}/lib/lua/${lua.luaversion}/?.so" \ --prefix LUA_PATH : "${lpeg}/share/lua/${lua.luaversion}/?.lua" \ - --prefix VIS_PATH : "$out/share/vis" + --prefix VIS_PATH : "\$HOME/.config:$out/share/vis" ''; + desktopItem = makeDesktopItem rec { + name = "vis"; + exec = "vis %U"; + type = "Application"; + icon = "accessories-text-editor"; + comment = meta.description; + desktopName = "vis"; + genericName = "Text editor"; + categories = stdenv.lib.concatStringsSep ";" [ + "Application" "Development" "IDE" + ]; + mimeType = stdenv.lib.concatStringsSep ";" [ + "text/plain" "application/octet-stream" + ]; + startupNotify = "false"; + terminal = "true"; + }; + meta = with stdenv.lib; { description = "A vim like editor"; homepage = http://github.com/martanne/vis; license = licenses.isc; - maintainers = [ maintainers.vrthra ]; + maintainers = with maintainers; [ vrthra ramkromberg ]; platforms = platforms.unix; }; } diff --git a/pkgs/applications/editors/vscode/default.nix b/pkgs/applications/editors/vscode/default.nix index 78964e316c5c..689a1537b691 100644 --- a/pkgs/applications/editors/vscode/default.nix +++ b/pkgs/applications/editors/vscode/default.nix @@ -1,17 +1,23 @@ -{ stdenv, lib, callPackage, fetchurl, unzip, atomEnv, makeDesktopItem }: +{ stdenv, lib, callPackage, fetchurl, unzip, atomEnv, makeDesktopItem, + makeWrapper, libXScrnSaver }: let - version = "1.4.0"; - rev = "6276dcb0ae497766056b4c09ea75be1d76a8b679"; + version = "1.8.0"; + rev = "38746938a4ab94f2f57d9e1309c51fd6fb37553d"; - sha256 = if stdenv.system == "i686-linux" then "1k228kv1v2765qnz6zw41h79fddwx5pcy9v9jyhsrwyla83fx4ar" - else if stdenv.system == "x86_64-linux" then "1v0am0xpgnlwb3k35v7wxlv22035444ii3v5gv6hf1xbnybsa7lm" - else if stdenv.system == "x86_64-darwin" then "0395wnq8wi9x382l51wf8wiaclx7bjf5p0j39gq8y6j2ww8y2z7n" + sha256 = if stdenv.system == "i686-linux" then "0p7r1i71v2ab4dzlwh43hqih958a31cqskf64ds4vgc35x2mfjcq" + else if stdenv.system == "x86_64-linux" then "1k15701jskk7w5kwzlzfri96vvw7fcinyfqqafls8nms8h5csv76" + else if stdenv.system == "x86_64-darwin" then "12fqz62gs2wcg2wwx1k6gv2gqil9c54yq254vk3rqdf82q9zyapk" else throw "Unsupported system: ${stdenv.system}"; - urlMod = if stdenv.system == "i686-linux" then "linux-ia32" - else if stdenv.system == "x86_64-linux" then "linux-x64" - else if stdenv.system == "x86_64-darwin" then "darwin" + urlBase = "https://az764295.vo.msecnd.net/stable/${rev}/"; + + urlStr = if stdenv.system == "i686-linux" then + urlBase + "code-stable-code_${version}-1481650382_i386.tar.gz" + else if stdenv.system == "x86_64-linux" then + urlBase + "code-stable-code_${version}-1481651903_amd64.tar.gz" + else if stdenv.system == "x86_64-darwin" then + urlBase + "VSCode-darwin-stable.zip" else throw "Unsupported system: ${stdenv.system}"; in stdenv.mkDerivation rec { @@ -19,7 +25,7 @@ in inherit version; src = fetchurl { - url = "https://az764295.vo.msecnd.net/stable/${rev}/VSCode-${urlMod}-stable.zip"; + url = urlStr; inherit sha256; }; @@ -27,13 +33,18 @@ in name = "code"; exec = "code"; icon = "code"; - comment = "Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications"; + comment = '' + Code editor redefined and optimized for building and debugging modern + web and cloud applications + ''; desktopName = "Visual Studio Code"; genericName = "Text Editor"; categories = "GNOME;GTK;Utility;TextEditor;Development;"; }; - buildInputs = [ unzip ]; + buildInputs = if stdenv.system == "x86_64-darwin" + then [ unzip makeWrapper libXScrnSaver ] + else [ makeWrapper libXScrnSaver ]; installPhase = '' mkdir -p $out/lib/vscode $out/bin @@ -52,14 +63,22 @@ in --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --set-rpath "${atomEnv.libPath}:$out/lib/vscode" \ $out/lib/vscode/code + + wrapProgram $out/bin/code \ + --prefix LD_PRELOAD : ${stdenv.lib.makeLibraryPath [ libXScrnSaver ]}/libXss.so.1 ''; meta = with stdenv.lib; { - description = "Visual Studio Code is an open source source code editor developed by Microsoft for Windows, Linux and OS X."; + description = '' + Open source source code editor developed by Microsoft for Windows, + Linux and OS X + ''; longDescription = '' - Visual Studio Code is an open source source code editor developed by Microsoft for Windows, Linux and OS X. - It includes support for debugging, embedded Git control, syntax highlighting, intelligent code completion, snippets, and code refactoring. - It is also customizable, so users can change the editor's theme, keyboard shortcuts, and preferences. + Open source source code editor developed by Microsoft for Windows, + Linux and OS X. It includes support for debugging, embedded Git + control, syntax highlighting, intelligent code completion, snippets, + and code refactoring. It is also customizable, so users can change the + editor's theme, keyboard shortcuts, and preferences ''; homepage = http://code.visualstudio.com/; downloadPage = https://code.visualstudio.com/Updates; diff --git a/pkgs/applications/editors/zile/default.nix b/pkgs/applications/editors/zile/default.nix index 7282dc0ba202..58971b3199bf 100644 --- a/pkgs/applications/editors/zile/default.nix +++ b/pkgs/applications/editors/zile/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, pkgconfig, ncurses, boehmgc, perl, help2man }: stdenv.mkDerivation rec { - name = "zile-2.4.11"; + name = "zile-2.4.13"; src = fetchurl { url = "mirror://gnu/zile/${name}.tar.gz"; - sha256 = "1k593y1xzvlj52q0gyhcx2lllws4sg84b8r9pcginjb1vjypplhz"; + sha256 = "03mcg0bxkzprlsx8y6h22w924pzx4a9zr7zm3g11j8j3x9lz75f7"; }; buildInputs = [ pkgconfig ncurses boehmgc ]; diff --git a/pkgs/applications/gis/grass/default.nix b/pkgs/applications/gis/grass/default.nix index 5773718b0a4c..7d2828115f77 100644 --- a/pkgs/applications/gis/grass/default.nix +++ b/pkgs/applications/gis/grass/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, flex, bison, pkgconfig, zlib, libtiff, libpng, fftw , cairo, readline, ffmpeg, makeWrapper, wxGTK30, netcdf, blas -, proj, gdal, geos, sqlite, postgresql, mysql, pythonPackages +, proj, gdal, geos, sqlite, postgresql, mysql, python2Packages }: stdenv.mkDerivation { @@ -12,7 +12,7 @@ stdenv.mkDerivation { buildInputs = [ flex bison zlib proj gdal libtiff libpng fftw sqlite pkgconfig cairo readline ffmpeg makeWrapper wxGTK30 netcdf geos postgresql mysql.client blas ] - ++ (with pythonPackages; [ python dateutil wxPython30 numpy sqlite3 ]); + ++ (with python2Packages; [ python dateutil wxPython30 numpy ]); configureFlags = [ "--with-proj-share=${proj}/share/proj" @@ -59,7 +59,8 @@ stdenv.mkDerivation { postInstall = '' wrapProgram $out/bin/grass70 \ --set PYTHONPATH $PYTHONPATH \ - --set GRASS_PYTHON ${pythonPackages.python}/bin/${pythonPackages.python.executable} + --set GRASS_PYTHON ${python2Packages.python}/bin/${python2Packages.python.executable} + --suffix LD_LIBRARY_PATH ':' '${gdal}/lib' ln -s $out/grass-*/lib $out/lib ''; diff --git a/pkgs/applications/gis/qgis/default.nix b/pkgs/applications/gis/qgis/default.nix index 880053e05c29..680cf921ce26 100644 --- a/pkgs/applications/gis/qgis/default.nix +++ b/pkgs/applications/gis/qgis/default.nix @@ -1,16 +1,16 @@ { stdenv, fetchurl, gdal, cmake, qt4, flex, bison, proj, geos, xlibsWrapper, sqlite, gsl -, qwt, fcgi, pythonPackages, libspatialindex, libspatialite, qscintilla, postgresql, makeWrapper -, qjson, qca2, txt2tags +, qwt, fcgi, python2Packages, libspatialindex, libspatialite, qscintilla, postgresql, makeWrapper +, qjson, qca2, txt2tags, openssl , withGrass ? false, grass }: stdenv.mkDerivation rec { name = "qgis-2.16.2"; - buildInputs = [ gdal qt4 flex bison proj geos xlibsWrapper sqlite gsl qwt qscintilla + buildInputs = [ gdal qt4 flex openssl bison proj geos xlibsWrapper sqlite gsl qwt qscintilla fcgi libspatialindex libspatialite postgresql qjson qca2 txt2tags ] ++ (stdenv.lib.optional withGrass grass) ++ - (with pythonPackages; [ numpy psycopg2 requests2 ]) ++ [ pythonPackages.qscintilla ]; + (with python2Packages; [ numpy psycopg2 requests2 python2Packages.qscintilla sip ]); nativeBuildInputs = [ cmake makeWrapper ]; @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { # To handle the lack of 'local' RPATH; required, as they call one of # their built binaries requiring their libs, in the build process. preBuild = '' - export LD_LIBRARY_PATH=`pwd`/output/lib:$LD_LIBRARY_PATH + export LD_LIBRARY_PATH=`pwd`/output/lib:${stdenv.lib.makeLibraryPath [ openssl ]}:$LD_LIBRARY_PATH ''; src = fetchurl { @@ -32,7 +32,8 @@ stdenv.mkDerivation rec { postInstall = '' wrapProgram $out/bin/qgis \ - --prefix PYTHONPATH : $PYTHONPATH + --prefix PYTHONPATH : $PYTHONPATH \ + --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ openssl ]} ''; meta = { diff --git a/pkgs/applications/graphics/ImageMagick/7.0.nix b/pkgs/applications/graphics/ImageMagick/7.0.nix new file mode 100644 index 000000000000..f5c475ef93a9 --- /dev/null +++ b/pkgs/applications/graphics/ImageMagick/7.0.nix @@ -0,0 +1,90 @@ +{ lib, stdenv, fetchurl, fetchpatch, pkgconfig, libtool +, bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg +, lcms2, openexr, libpng, librsvg, libtiff, libxml2, openjpeg, libwebp +, ApplicationServices +}: + +let + arch = + if stdenv.system == "i686-linux" then "i686" + else if stdenv.system == "x86_64-linux" || stdenv.system == "x86_64-darwin" then "x86-64" + else if stdenv.system == "armv7l-linux" then "armv7l" + else throw "ImageMagick is not supported on this platform."; + + cfg = { + version = "7.0.4-0"; + sha256 = "0hfkdvfl60f9ksh07c06cpq8ib05apczl767yyvc671gd90n11ds"; + patches = []; + }; +in + +stdenv.mkDerivation rec { + name = "imagemagick-${version}"; + inherit (cfg) version; + + src = fetchurl { + urls = [ + "mirror://imagemagick/releases/ImageMagick-${version}.tar.xz" + # the original source above removes tarballs quickly + "http://distfiles.macports.org/ImageMagick/ImageMagick-${version}.tar.xz" + "https://bintray.com/homebrew/mirror/download_file?file_path=imagemagick-${version}.tar.xz" + ]; + inherit (cfg) sha256; + }; + + patches = [ ./imagetragick.patch ] ++ cfg.patches; + + outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big + outputMan = "out"; # it's tiny + + enableParallelBuilding = true; + + configureFlags = + [ "--with-frozenpaths" ] + ++ [ "--with-gcc-arch=${arch}" ] + ++ lib.optional (librsvg != null) "--with-rsvg" + ++ lib.optionals (ghostscript != null) + [ "--with-gs-font-dir=${ghostscript}/share/ghostscript/fonts" + "--with-gslib" + ] + ++ lib.optionals (stdenv.cross.libc or null == "msvcrt") + [ "--enable-static" "--disable-shared" ] # due to libxml2 being without DLLs ATM + ; + + nativeBuildInputs = [ pkgconfig libtool ]; + + buildInputs = + [ zlib fontconfig freetype ghostscript + libpng libtiff libxml2 + ] + ++ lib.optionals (stdenv.cross.libc or null != "msvcrt") + [ openexr librsvg openjpeg ] + ++ lib.optional stdenv.isDarwin ApplicationServices; + + propagatedBuildInputs = + [ bzip2 freetype libjpeg lcms2 ] + ++ lib.optionals (stdenv.cross.libc or null != "msvcrt") + [ libX11 libXext libXt libwebp ] + ; + + postInstall = '' + (cd "$dev/include" && ln -s ImageMagick* ImageMagick) + moveToOutput "bin/*-config" "$dev" + moveToOutput "lib/ImageMagick-*/config-Q16HDRI" "$dev" # includes configure params + for file in "$dev"/bin/*-config; do + substituteInPlace "$file" --replace pkg-config \ + "PKG_CONFIG_PATH='$dev/lib/pkgconfig' '${pkgconfig}/bin/pkg-config'" + done + '' + lib.optionalString (ghostscript != null) '' + for la in $out/lib/*.la; do + sed 's|-lgs|-L${lib.getLib ghostscript}/lib -lgs|' -i $la + done + ''; + + meta = with stdenv.lib; { + homepage = http://www.imagemagick.org/; + description = "A software suite to create, edit, compose, or convert bitmap images"; + platforms = platforms.linux ++ platforms.darwin; + maintainers = with maintainers; [ the-kenny wkennington ]; + }; +} diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix index 6d507c5d227a..3364a661e0c5 100644 --- a/pkgs/applications/graphics/ImageMagick/default.nix +++ b/pkgs/applications/graphics/ImageMagick/default.nix @@ -1,6 +1,7 @@ { lib, stdenv, fetchurl, fetchpatch, pkgconfig, libtool , bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg , lcms2, openexr, libpng, librsvg, libtiff, libxml2, openjpeg, libwebp +, ApplicationServices }: let @@ -11,11 +12,12 @@ let else throw "ImageMagick is not supported on this platform."; cfg = { - version = "6.9.5-2"; - sha256 = "09h3rpr1jnzd7ipy5d16r2gi0bwg4hk5khwzv4cyhv1xzs8pk7pj"; + version = "6.9.7-0"; + sha256 = "0c6ff1am2mhc0dc26h50l78yx6acwqymwpwgkxgx69cb6jfpwrdx"; patches = []; } # Freeze version on mingw so we don't need to port the patch too often. + # FIXME: This version has multiple security vulnerabilities // lib.optionalAttrs (stdenv.cross.libc or null == "msvcrt") { version = "6.9.2-0"; sha256 = "17ir8bw1j7g7srqmsz3rx780sgnc21zfn0kwyj78iazrywldx8h7"; @@ -37,6 +39,7 @@ stdenv.mkDerivation rec { "mirror://imagemagick/releases/ImageMagick-${version}.tar.xz" # the original source above removes tarballs quickly "http://distfiles.macports.org/ImageMagick/ImageMagick-${version}.tar.xz" + "https://bintray.com/homebrew/mirror/download_file?file_path=imagemagick-${version}.tar.xz" ]; inherit (cfg) sha256; }; @@ -68,7 +71,7 @@ stdenv.mkDerivation rec { ] ++ lib.optionals (stdenv.cross.libc or null != "msvcrt") [ openexr librsvg openjpeg ] - ; + ++ lib.optional stdenv.isDarwin ApplicationServices; propagatedBuildInputs = [ bzip2 freetype libjpeg lcms2 ] diff --git a/pkgs/applications/graphics/PythonMagick/default.nix b/pkgs/applications/graphics/PythonMagick/default.nix index 5ab7d4d8a694..a8d0d490f8bb 100644 --- a/pkgs/applications/graphics/PythonMagick/default.nix +++ b/pkgs/applications/graphics/PythonMagick/default.nix @@ -2,7 +2,7 @@ let - version = "0.9.12"; + version = "0.9.14"; in @@ -10,8 +10,8 @@ stdenv.mkDerivation rec { name = "pythonmagick-${version}"; src = fetchurl { - url = "http://www.imagemagick.org/download/python/releases/PythonMagick-${version}.tar.xz"; - sha256 = "1l1kr3d7l40fkxgs6mrlxj65alv2jizm9hhgg9i9g90a8qj8642b"; + url = "mirror://imagemagick/python/releases/PythonMagick-${version}.tar.xz"; + sha256 = "1flkdfi3c19wy2qcfzax1cqvmmri10rvmhc2y85gmagqvv01zz22"; }; buildInputs = [python boost pkgconfig imagemagick]; diff --git a/pkgs/applications/graphics/ahoviewer/default.nix b/pkgs/applications/graphics/ahoviewer/default.nix index 79d6ff06578c..2a78f509429e 100644 --- a/pkgs/applications/graphics/ahoviewer/default.nix +++ b/pkgs/applications/graphics/ahoviewer/default.nix @@ -1,5 +1,5 @@ { stdenv, pkgs, fetchurl, fetchFromGitHub, pkgconfig, libconfig, - gtkmm, glibmm, libxml2, libsecret, curl, unrar, libzip, + gtkmm2, glibmm, libxml2, libsecret, curl, unrar, libzip, librsvg, gst_all_1, autoreconfHook, makeWrapper }: stdenv.mkDerivation { name = "ahoviewer-1.4.6"; @@ -11,7 +11,7 @@ stdenv.mkDerivation { }; enableParallelBuilding = true; nativeBuildInputs = [ autoreconfHook pkgconfig makeWrapper ]; - buildInputs = [ glibmm libconfig gtkmm glibmm libxml2 + buildInputs = [ glibmm libconfig gtkmm2 glibmm libxml2 libsecret curl unrar libzip librsvg gst_all_1.gstreamer gst_all_1.gst-plugins-good diff --git a/pkgs/applications/graphics/apitrace/default.nix b/pkgs/applications/graphics/apitrace/default.nix index e130b23a8aaa..a9b2eb1163af 100644 --- a/pkgs/applications/graphics/apitrace/default.nix +++ b/pkgs/applications/graphics/apitrace/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, cmake, libX11, procps, python, libdwarf, qtbase, qtwebkit }: +{ stdenv, fetchFromGitHub, cmake, libX11, procps, python2, libdwarf, qtbase, qtwebkit }: stdenv.mkDerivation rec { name = "apitrace-${version}"; @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { # LD_PRELOAD wrappers need to be statically linked to work against all kinds # of games -- so it's fine to use e.g. bundled snappy. - buildInputs = [ libX11 procps python libdwarf qtbase qtwebkit ]; + buildInputs = [ libX11 procps python2 libdwarf qtbase qtwebkit ]; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/applications/graphics/batik/default.nix b/pkgs/applications/graphics/batik/default.nix index 3c121211e3f0..a27590ccd4da 100644 --- a/pkgs/applications/graphics/batik/default.nix +++ b/pkgs/applications/graphics/batik/default.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation { builder = ./builder.sh; src = fetchurl { url = http://tarballs.nixos.org/batik-1.6.zip; - md5 = "edff288fc64f968ff96ca49763d50f3c"; + sha256 = "0cf15dspmzcnfda8w5lbsdx28m4v2rpq1dv5zx0r0n99ihqd1sh6"; }; buildInputs = [unzip]; diff --git a/pkgs/applications/graphics/cinepaint/default.nix b/pkgs/applications/graphics/cinepaint/default.nix index 4866ba92addd..22ac473bdd95 100644 --- a/pkgs/applications/graphics/cinepaint/default.nix +++ b/pkgs/applications/graphics/cinepaint/default.nix @@ -1,10 +1,12 @@ -{ stdenv, fetchurl, cmake, pkgconfig, gtk, freetype, fontconfig, lcms, +{ stdenv, fetchurl, cmake, pkgconfig, gtk2, freetype, fontconfig, lcms, flex, libtiff, libjpeg, libpng, libexif, zlib, perl, libX11, - perlXMLParser, python, pygtk, gettext, intltool, babl, gegl, + perlXMLParser, pythonPackages, gettext, intltool, babl, gegl, glib, makedepend, xf86vidmodeproto, xineramaproto, libXmu, openexr, mesa, libXext, libXpm, libXau, libXxf86vm, pixman, libpthreadstubs, fltk } : -stdenv.mkDerivation rec { +let + inherit (pythonPackages) python pygtk; +in stdenv.mkDerivation rec { name = "cinepaint-1.1"; src = fetchurl { @@ -12,7 +14,7 @@ stdenv.mkDerivation rec { sha256 = "0b5g4bkq62yiz1cnb2vfij0a8fw5w5z202v5dm4dh89k7cj0yq4w"; }; - buildInputs = [ libpng gtk freetype fontconfig lcms flex libtiff libjpeg + buildInputs = [ libpng gtk2 freetype fontconfig lcms flex libtiff libjpeg libexif zlib perl libX11 perlXMLParser python pygtk gettext intltool babl gegl glib makedepend xf86vidmodeproto xineramaproto libXmu openexr mesa libXext libXpm libXau libXxf86vm pixman libpthreadstubs fltk diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix index 2a4d52088e8e..7213ddcc366c 100644 --- a/pkgs/applications/graphics/darktable/default.nix +++ b/pkgs/applications/graphics/darktable/default.nix @@ -11,12 +11,12 @@ assert stdenv ? glibc; stdenv.mkDerivation rec { - version = "2.0.5"; + version = "2.2.1"; name = "darktable-${version}"; src = fetchurl { url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz"; - sha256 = "00hap68yvfdif6a4lpbhn4jx1n68mpd2kj473kml1xby9swp32w9"; + sha256 = "da843190f08e02df19ccbc02b9d1bef6bd242b81499494c7da2cccdc520e24fc"; }; buildInputs = @@ -34,6 +34,16 @@ stdenv.mkDerivation rec { "-DBUILD_USERMANUAL=False" ]; + # darktable changed its rpath handling in commit + # 83c70b876af6484506901e6b381304ae0d073d3c and as a result the + # binaries can't find libdarktable.so, so change LD_LIBRARY_PATH in + # the wrappers: + preFixup = '' + gappsWrapperArgs+=( + --prefix LD_LIBRARY_PATH ":" "$out/lib/darktable" + ) + ''; + meta = with stdenv.lib; { description = "Virtual lighttable and darkroom for photographers"; homepage = https://www.darktable.org; diff --git a/pkgs/applications/graphics/dia/default.nix b/pkgs/applications/graphics/dia/default.nix index 6200048c41dc..a8f38d61f9df 100644 --- a/pkgs/applications/graphics/dia/default.nix +++ b/pkgs/applications/graphics/dia/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, gtk, pkgconfig, perl, perlXMLParser, libxml2, gettext +{stdenv, fetchurl, gtk2, pkgconfig, perl, perlXMLParser, libxml2, gettext , python, libxml2Python, docbook5, docbook_xsl, libxslt, intltool, libart_lgpl , withGNOME ? false, libgnomeui }: @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { }; buildInputs = - [ gtk perlXMLParser libxml2 gettext python libxml2Python docbook5 + [ gtk2 perlXMLParser libxml2 gettext python libxml2Python docbook5 libxslt docbook_xsl libart_lgpl ] ++ stdenv.lib.optional withGNOME libgnomeui; diff --git a/pkgs/applications/graphics/digikam/5.nix b/pkgs/applications/graphics/digikam/5.nix new file mode 100644 index 000000000000..3e5d1b7b52ef --- /dev/null +++ b/pkgs/applications/graphics/digikam/5.nix @@ -0,0 +1,120 @@ +{ stdenv, fetchurl, cmake, ecm, makeQtWrapper + +# For `digitaglinktree` +, perl, sqlite + +, qtbase +, qtxmlpatterns +, qtsvg +, qtwebkit + +, kconfigwidgets +, kcoreaddons +, kdoctools +, kfilemetadata +, knotifications +, knotifyconfig +, ktextwidgets +, kwidgetsaddons +, kxmlgui + +, bison +, boost +, eigen +, exiv2 +, flex +, jasper +, lcms2 +, lensfun +, libgphoto2 +, libkipi +, liblqr1 +, libusb1 +, marble +, mysql +, opencv +, threadweaver + +# For panorama and focus stacking +, enblend-enfuse +, hugin +, gnumake + +, oxygen +}: + +stdenv.mkDerivation rec { + name = "digikam-${version}"; + version = "5.3.0"; + + src = fetchurl { + url = "http://download.kde.org/stable/digikam/${name}.tar.xz"; + sha256 = "0p1y5kgkz7lzzqpf7qd3mmg59zfdkkz9jg7knldd8dl94wkzlv5k"; + }; + + nativeBuildInputs = [ cmake ecm makeQtWrapper ]; + + buildInputs = [ + qtbase + qtxmlpatterns + qtsvg + qtwebkit + + kconfigwidgets + kcoreaddons + kdoctools + kfilemetadata + knotifications + knotifyconfig + ktextwidgets + kwidgetsaddons + kxmlgui + + bison + boost + eigen + exiv2 + flex + jasper + lcms2 + lensfun + libgphoto2 + libkipi + liblqr1 + libusb1 + marble.unwrapped + mysql + opencv + threadweaver + + oxygen + ]; + + enableParallelBuilding = true; + + cmakeFlags = [ + "-DLIBUSB_LIBRARIES=${libusb1.out}/lib" + "-DLIBUSB_INCLUDE_DIR=${libusb1.dev}/include/libusb-1.0" + "-DENABLE_MYSQLSUPPORT=1" + "-DENABLE_INTERNALMYSQL=1" + ]; + + fixupPhase = '' + substituteInPlace $out/bin/digitaglinktree \ + --replace "/usr/bin/perl" "${perl}/bin/perl" \ + --replace "/usr/bin/sqlite3" "${sqlite}/bin/sqlite3" + + wrapQtProgram $out/bin/digikam \ + --prefix PATH : "${gnumake}/bin:${hugin}/bin:${enblend-enfuse}/bin" + + wrapQtProgram $out/bin/showfoto + ''; + + meta = { + description = "Photo Management Program"; + license = stdenv.lib.licenses.gpl2; + homepage = http://www.digikam.org; + maintainers = with stdenv.lib.maintainers; [ the-kenny ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/applications/graphics/fbida/default.nix b/pkgs/applications/graphics/fbida/default.nix index 65209cbd6ffe..75033cf0f9d6 100644 --- a/pkgs/applications/graphics/fbida/default.nix +++ b/pkgs/applications/graphics/fbida/default.nix @@ -1,20 +1,18 @@ { stdenv, fetchurl, libjpeg, libexif, libungif, libtiff, libpng, libwebp, libdrm -, pkgconfig, freetype, fontconfig, which, imagemagick, curl, sane-backends -}: +, pkgconfig, freetype, fontconfig, which, imagemagick, curl, sane-backends, libXpm +, epoxy, poppler }: stdenv.mkDerivation rec { - name = "fbida-2.11"; + name = "fbida-2.12"; src = fetchurl { url = "http://dl.bytesex.org/releases/fbida/${name}.tar.gz"; - sha256 = "00x1lppb66b0gvp6sqs7zjgnlfh80lnkwvsm15ifzvlss3b67akw"; + sha256 = "0bw224vb7jh0lrqaf4jgxk48xglvxs674qcpj5y0axyfbh896cfk"; }; nativeBuildInputs = [ pkgconfig which ]; - buildInputs = - [ libexif libjpeg libpng libungif freetype fontconfig libtiff libwebp - imagemagick curl sane-backends libdrm - ]; + buildInputs = [ libexif libjpeg libpng libungif freetype fontconfig libtiff + libwebp imagemagick curl sane-backends libdrm libXpm epoxy poppler ]; makeFlags = [ "prefix=$(out)" "verbose=yes" ]; @@ -34,6 +32,6 @@ stdenv.mkDerivation rec { homepage = https://www.kraxel.org/blog/linux/fbida/; license = licenses.gpl2; maintainers = with maintainers; [ pSub ]; - platforms = with platforms; linux; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/graphics/feh/default.nix b/pkgs/applications/graphics/feh/default.nix index a20a1be77f88..40fe178d6257 100644 --- a/pkgs/applications/graphics/feh/default.nix +++ b/pkgs/applications/graphics/feh/default.nix @@ -1,19 +1,20 @@ -{ stdenv, makeWrapper, fetchurl, xlibsWrapper, imlib2, libjpeg, libpng -, libXinerama, curl, libexif, perlPackages }: +{ stdenv, fetchurl, makeWrapper, xorg, imlib2, libjpeg, libpng +, curl, libexif, perlPackages }: stdenv.mkDerivation rec { - name = "feh-2.16.1"; + name = "feh-2.17.1"; src = fetchurl { url = "http://feh.finalrewind.org/${name}.tar.bz2"; - sha256 = "1cxnc8dxyl7s4qnkvdjaqx7gdvc6brxpq0qbg91mljg47fd2hmbf"; + sha256 = "0lyq17kkmjxj3vxpmri56linr1bnfmx5568pgrcjgd3amnj1is59"; }; outputs = [ "out" "doc" ]; - nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ xlibsWrapper imlib2 libjpeg libpng libXinerama curl libexif ] - ++ stdenv.lib.optional doCheck [ perlPackages.TestCommand perlPackages.TestHarness ]; + nativeBuildInputs = [ makeWrapper xorg.libXt ] + ++ stdenv.lib.optionals doCheck [ perlPackages.TestCommand perlPackages.TestHarness ]; + + buildInputs = [ xorg.libX11 xorg.libXinerama imlib2 libjpeg libpng curl libexif ]; preBuild = '' makeFlags="PREFIX=$out exif=1" diff --git a/pkgs/applications/graphics/freecad/default.nix b/pkgs/applications/graphics/freecad/default.nix index 482abe2126fd..c58d9e0bda13 100644 --- a/pkgs/applications/graphics/freecad/default.nix +++ b/pkgs/applications/graphics/freecad/default.nix @@ -1,8 +1,9 @@ { stdenv, fetchurl, cmake, coin3d, xercesc, ode, eigen, qt4, opencascade, gts -, boost, zlib, python, swig, gfortran, soqt, libf2c, makeWrapper -, matplotlib, pycollada, pyside, pysideTools, pysideShiboken, pivy }: +, boost, zlib, python27Packages, swig, gfortran, soqt, libf2c, makeWrapper }: -stdenv.mkDerivation rec { +let + pythonPackages = python27Packages; +in stdenv.mkDerivation rec { name = "freecad-${version}"; version = "0.16"; @@ -11,7 +12,7 @@ stdenv.mkDerivation rec { sha256 = "02cfw5wlb04j0ymhk4skrm7rvbz13hpv995asf9v8q6wn2s1mivc"; }; - buildInputs = [ cmake coin3d xercesc ode eigen qt4 opencascade gts boost + buildInputs = with pythonPackages; [ cmake coin3d xercesc ode eigen qt4 opencascade gts boost zlib python swig gfortran soqt libf2c makeWrapper matplotlib pycollada pyside pysideShiboken pysideTools pivy ]; diff --git a/pkgs/applications/graphics/gcolor2/default.nix b/pkgs/applications/graphics/gcolor2/default.nix index c7113801b615..b9cf229e8c86 100644 --- a/pkgs/applications/graphics/gcolor2/default.nix +++ b/pkgs/applications/graphics/gcolor2/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, gtk, perl, perlXMLParser, pkgconfig } : +{stdenv, fetchurl, gtk2, perl, perlXMLParser, pkgconfig } : let version = "0.4"; in stdenv.mkDerivation { @@ -20,7 +20,7 @@ stdenv.mkDerivation { [ ./gcolor2-amd64.patch ] else [ ]; -buildInputs = [ gtk perl perlXMLParser pkgconfig ]; +buildInputs = [ gtk2 perl perlXMLParser pkgconfig ]; meta = { description = "Simple GTK+2 color selector"; diff --git a/pkgs/applications/graphics/geeqie/default.nix b/pkgs/applications/graphics/geeqie/default.nix index 952d23bbc484..9149e19819ff 100644 --- a/pkgs/applications/graphics/geeqie/default.nix +++ b/pkgs/applications/graphics/geeqie/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, autoconf, automake, gtk, libpng, exiv2 +{ stdenv, fetchurl, pkgconfig, autoconf, automake, gtk2, libpng, exiv2 , lcms, intltool, gettext, fbida }: @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--enable-gps" ]; buildInputs = [ - pkgconfig autoconf automake gtk libpng exiv2 lcms intltool gettext + pkgconfig autoconf automake gtk2 libpng exiv2 lcms intltool gettext ]; postInstall = '' diff --git a/pkgs/applications/graphics/gimp/2.8.nix b/pkgs/applications/graphics/gimp/2.8.nix index 48278f5aac57..b123dcade1d7 100644 --- a/pkgs/applications/graphics/gimp/2.8.nix +++ b/pkgs/applications/graphics/gimp/2.8.nix @@ -1,9 +1,11 @@ -{ stdenv, fetchurl, pkgconfig, intltool, babl, gegl, gtk, glib, gdk_pixbuf +{ stdenv, fetchurl, pkgconfig, intltool, babl, gegl, gtk2, glib, gdk_pixbuf , pango, cairo, freetype, fontconfig, lcms, libpng, libjpeg, poppler, libtiff , webkit, libmng, librsvg, libwmf, zlib, libzip, ghostscript, aalib, jasper -, python, pygtk, libart_lgpl, libexif, gettext, xorg, wrapPython }: +, python2Packages, libart_lgpl, libexif, gettext, xorg }: -stdenv.mkDerivation rec { +let + inherit (python2Packages) pygtk wrapPython python; +in stdenv.mkDerivation rec { name = "gimp-${version}"; version = "2.8.18"; @@ -19,7 +21,7 @@ stdenv.mkDerivation rec { }; buildInputs = - [ pkgconfig intltool babl gegl gtk glib gdk_pixbuf pango cairo + [ pkgconfig intltool babl gegl gtk2 glib gdk_pixbuf pango cairo freetype fontconfig lcms libpng libjpeg poppler libtiff webkit libmng librsvg libwmf zlib libzip ghostscript aalib jasper python pygtk libart_lgpl libexif gettext xorg.libXpm @@ -35,7 +37,7 @@ stdenv.mkDerivation rec { --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" ''; - passthru = { inherit gtk; }; # probably its a good idea to use the same gtk in plugins ? + passthru = { gtk = gtk2; }; # probably its a good idea to use the same gtk in plugins ? #configureFlags = [ "--disable-print" ]; diff --git a/pkgs/applications/graphics/gimp/plugins/default.nix b/pkgs/applications/graphics/gimp/plugins/default.nix index 74abc06bc4e3..fa6db4e7f02f 100644 --- a/pkgs/applications/graphics/gimp/plugins/default.nix +++ b/pkgs/applications/graphics/gimp/plugins/default.nix @@ -5,7 +5,7 @@ { pkgs, gimp }: let - inherit (pkgs) stdenv fetchurl pkgconfig glib; + inherit (pkgs) stdenv fetchurl pkgconfig glib fetchFromGitHub; inherit (gimp) targetPluginDir targetScriptDir; pluginDerivation = a: stdenv.mkDerivation ({ @@ -57,6 +57,7 @@ rec { sed -e 's,^\(GIMP_PLUGIN_DIR=\).*,\1'"$out/${gimp.name}-plugins", \ -e 's,^\(GIMP_DATA_DIR=\).*,\1'"$out/share/${gimp.name}", -i configure ''; + hardeningDisable = [ "format" ]; meta = with stdenv.lib; { description = "The GIMP Animation Package"; homepage = http://www.gimp.org; @@ -116,6 +117,25 @@ rec { "; }; + resynthesizer2 = pluginDerivation { + /* menu: + Filters/Map/Resynthesize + Filters/Enhance/Smart enlarge + Filters/Enhance/Smart sharpen + Filters/Enhance/Smart remove selection + */ + name = "resynthesizer-2.0.1"; + buildInputs = [ gimp pkgs.fftw pkgs.autoreconfHook ] + ++ gimp.nativeBuildInputs; + makeFlags = "GIMP_LIBDIR=$out/lib/gimp/2.0/"; + src = fetchFromGitHub { + owner = "bootchk"; + repo = "resynthesizer"; + rev = "2.0.1"; + sha256 = "1d214s0jsqxz83l9dd8vhnz3siw9fyw7xdhhir25ra7jiwxc99hd"; + }; + }; + texturize = pluginDerivation { name = "texturize-2.1"; buildInputs = [ gimp ] ++ gimp.nativeBuildInputs; @@ -213,21 +233,20 @@ rec { }; gimplensfun = pluginDerivation rec { - name = "gimplensfun-0.1.1"; + version = "0.2.4"; + name = "gimplensfun-${version}"; - src = fetchurl { - url = "http://lensfun.sebastiankraft.net/${name}.tar.gz"; - sha256 = "0kr296n4k7gsjqg1abmvpysxi88iq5wrzdpcg7vm7l1ifvbs972q"; + src = fetchFromGitHub { + owner = "seebk"; + repo = "GIMP-Lensfun"; + rev = version; + sha256 = "0zlmp9v732qmzj083mnk5z421s57mnckmpjhiw890wmmwzj2lhxz"; }; - patchPhase = '' sed -i Makefile -e's|/usr/bin/g++|g++|' ''; - buildInputs = [ gimp pkgconfig glib gimp.gtk pkgs.lensfun pkgs.exiv2 ]; installPhase = " - installPlugins gimplensfun - mkdir -p $out/bin - cp gimplensfun $out/bin + installPlugins gimp-lensfun "; meta = { diff --git a/pkgs/applications/graphics/giv/default.nix b/pkgs/applications/graphics/giv/default.nix index 1587ceb4037e..6c892f1bfd4e 100644 --- a/pkgs/applications/graphics/giv/default.nix +++ b/pkgs/applications/graphics/giv/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, gdk_pixbuf, scons, pkgconfig, gtk, glib, +{ stdenv, fetchFromGitHub, gdk_pixbuf, scons, pkgconfig, gtk2, glib, pcre, cfitsio, perl, gob2, vala_0_23, libtiff, json_glib }: stdenv.mkDerivation rec { @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { installPhase = "scons install"; - buildInputs = [ gdk_pixbuf pkgconfig gtk glib scons pcre cfitsio perl gob2 vala_0_23 libtiff + buildInputs = [ gdk_pixbuf pkgconfig gtk2 glib scons pcre cfitsio perl gob2 vala_0_23 libtiff json_glib ]; meta = { diff --git a/pkgs/applications/graphics/gqview/default.nix b/pkgs/applications/graphics/gqview/default.nix index d2a819c1a3c2..801e9c5f502b 100644 --- a/pkgs/applications/graphics/gqview/default.nix +++ b/pkgs/applications/graphics/gqview/default.nix @@ -1,19 +1,19 @@ -{stdenv, fetchurl, pkgconfig, gtk, libpng}: +{stdenv, fetchurl, pkgconfig, gtk2, libpng}: -assert pkgconfig != null && gtk != null && libpng != null; +assert pkgconfig != null && gtk2 != null && libpng != null; # Note that we cannot just copy gtk's png attribute, since gtk might # not be linked against png. -# !!! assert libpng == gtk.libpng; +# !!! assert libpng == gtk2.libpng; stdenv.mkDerivation { name = "gqview-2.1.5"; src = fetchurl { url = mirror://sourceforge/gqview/gqview-2.1.5.tar.gz; - md5 = "4644187d9b14b1dc11ac3bb146f262ea"; + sha256 = "0ilm5s7ps9kg4f5hzgjhg0xhn6zg0v9i7jnd67zrx9h7wsaa9zhj"; }; - buildInputs = [pkgconfig gtk libpng]; + buildInputs = [pkgconfig gtk2 libpng]; hardeningDisable = [ "format" ]; diff --git a/pkgs/applications/graphics/graphicsmagick/default.nix b/pkgs/applications/graphics/graphicsmagick/default.nix index b780067823a9..651bfafcead9 100644 --- a/pkgs/applications/graphics/graphicsmagick/default.nix +++ b/pkgs/applications/graphics/graphicsmagick/default.nix @@ -1,18 +1,44 @@ -{stdenv, fetchurl, bzip2, freetype, graphviz, ghostscript -, libjpeg, libpng, libtiff, libxml2, zlib, libtool, xz -, libX11, libwebp, quantumdepth ? 8}: +{ stdenv, fetchurl, fetchpatch, bzip2, freetype, graphviz, ghostscript +, libjpeg, libpng, libtiff, libxml2, zlib, libtool, xz, libX11 +, libwebp, quantumdepth ? 8 }: -let version = "1.3.24"; in +let version = "1.3.25"; in stdenv.mkDerivation { name = "graphicsmagick-${version}"; src = fetchurl { url = "mirror://sourceforge/graphicsmagick/GraphicsMagick-${version}.tar.xz"; - sha256 = "1q40w5hcl8rcpszm0r7rpr3a9lj390p39zfvavkvlgxyyk7bmgsj"; + sha256 = "17xcc7pfcmiwpfr1g8ys5a7bdnvqzka53vg3kkzhwwz0s99gljyn"; }; - patches = [ ./disable-popen.patch ]; + patches = [ + ./disable-popen.patch + (fetchpatch { + url = "https://sources.debian.net/data/main/g/graphicsmagick/1.3.25-5/debian/patches/CVE-2016-7996_CVE-2016-7997.patch"; + sha256 = "0xsby2z8n7cnnln7szjznq7iaabq323wymvdjra59yb41aix74r2"; + }) + (fetchpatch { + url = "https://sources.debian.net/data/main/g/graphicsmagick/1.3.25-5/debian/patches/CVE-2016-7800_part1.patch"; + sha256 = "02s0x9bkbnm5wrd0d2x9ld4d9z5xqpfk310lyylyr5zlnhqxmwgn"; + }) + (fetchpatch { + url = "https://sources.debian.net/data/main/g/graphicsmagick/1.3.25-5/debian/patches/CVE-2016-7800_part2.patch"; + sha256 = "1h4xv3i1aq5avsd584rwa5sa7ca8f7w9ggmh7j2llqq5kymwsv5f"; + }) + (fetchpatch { + url = "https://sources.debian.net/data/main/g/graphicsmagick/1.3.25-5/debian/patches/CVE-2016-8682.patch"; + sha256 = "1wfirw2yi5y72657kvnbgjs0f9b3rs9nvk8gjbwhb9a03z9ws0y5"; + }) + (fetchpatch { + url = "https://sources.debian.net/data/main/g/graphicsmagick/1.3.25-5/debian/patches/CVE-2016-8683.patch"; + sha256 = "102252zb34nj6alk1nhh1wbn3apd2v9rzk7clmm237332yj72vif"; + }) + (fetchpatch { + url = "https://sources.debian.net/data/main/g/graphicsmagick/1.3.25-5/debian/patches/CVE-2016-8684.patch"; + sha256 = "1p36gpz904wnmbz1n64x4pdpg8lp9zs3gx0awklxqdvgl8m82vvy"; + }) + ]; configureFlags = [ "--enable-shared" diff --git a/pkgs/applications/graphics/gthumb/default.nix b/pkgs/applications/graphics/gthumb/default.nix index 76086b87eb2b..8aa2cf8f9f13 100644 --- a/pkgs/applications/graphics/gthumb/default.nix +++ b/pkgs/applications/graphics/gthumb/default.nix @@ -1,17 +1,17 @@ { stdenv, fetchurl, gnome3, itstool, libxml2, pkgconfig, intltool, exiv2, libjpeg, libtiff, gstreamer, libraw, libsoup, libsecret, libchamplain, librsvg, libwebp, json_glib, webkit, lcms2, bison, - flex, wrapGAppsHook }: + flex, hicolor_icon_theme, wrapGAppsHook }: stdenv.mkDerivation rec { name = "${pname}-${version}"; pname = "gthumb"; - version = "${major}.3"; + version = "${major}.4"; major = "3.4"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${major}/${name}.tar.xz"; - sha256 = "0pc2xl6kwhi5l3d0dj6nzdcj2vpihs7y1s3l1hwir8zy7cpx23y1"; + sha256 = "154bdc8c1940209f1e3d9c60184efef45b0d24f5f7f7f59b819e9c08e19c2981"; }; nativeBuildInputs = [ pkgconfig wrapGAppsHook ]; @@ -19,7 +19,9 @@ stdenv.mkDerivation rec { buildInputs = with gnome3; [ itstool libxml2 intltool glib gtk gsettings_desktop_schemas dconf exiv2 libjpeg libtiff gstreamer libraw libsoup libsecret libchamplain - librsvg libwebp json_glib webkit lcms2 bison flex ]; + librsvg libwebp json_glib webkit lcms2 bison flex hicolor_icon_theme defaultIconTheme ]; + + enableParallelBuilding = true; meta = with stdenv.lib; { homepage = https://wiki.gnome.org/Apps/gthumb; diff --git a/pkgs/applications/graphics/hugin/default.nix b/pkgs/applications/graphics/hugin/default.nix index f06f2f15d5c1..29e43a93c985 100644 --- a/pkgs/applications/graphics/hugin/default.nix +++ b/pkgs/applications/graphics/hugin/default.nix @@ -5,11 +5,11 @@ }: stdenv.mkDerivation rec { - name = "hugin-2016.0.0"; + name = "hugin-2016.2.0"; src = fetchurl { url = "mirror://sourceforge/hugin/${name}.tar.bz2"; - sha256 = "1rk5bgsvszv9bza46jxwr3i3qgiha2rza5v8lbwkqn4b4idv0c5h"; + sha256 = "058zd63vx29yrx2pphbbll7kzcxkai22q26lpw13rn4lvp41pasl"; }; buildInputs = [ diff --git a/pkgs/applications/graphics/imlibsetroot/default.nix b/pkgs/applications/graphics/imlibsetroot/default.nix new file mode 100644 index 000000000000..4fdfb87f134c --- /dev/null +++ b/pkgs/applications/graphics/imlibsetroot/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, libX11, libXinerama, imlib2 }: + +stdenv.mkDerivation rec { + name = "imlibsetroot-${version}"; + version = "1.2"; + src = fetchurl { + url = "http://robotmonkeys.net/wp-content/uploads/2010/03/imlibsetroot-12.tar.gz"; + sha256 = "8c1b3b7c861e4d865883ec13a96b8e4ab22464a87d4e6c67255b17a88e3cfd1c"; + }; + + buildInputs = [ libX11 imlib2 libXinerama ]; + buildPhase = '' + gcc -g imlibsetroot.c -o imlibsetroot \ + `imlib2-config --cflags` `imlib2-config --libs` \ + -I/include/X11/extensions -lXinerama -lX11 + ''; + installPhase = '' + mkdir -p $out/bin + install -m 755 imlibsetroot $out/bin + ''; + + meta = with stdenv.lib; { + description = "A Xinerama Aware Background Changer"; + homepage = "http://robotmonkeys.net/2010/03/30/imlibsetroot/"; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = with maintainers; [ lucas8 ]; + }; +} diff --git a/pkgs/applications/graphics/imv/default.nix b/pkgs/applications/graphics/imv/default.nix index 16a05607da38..e9a0dccd30a9 100644 --- a/pkgs/applications/graphics/imv/default.nix +++ b/pkgs/applications/graphics/imv/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { name = "imv-${version}"; - version = "2.1.2"; + version = "2.1.3"; src = fetchgit { url = "https://github.com/eXeC64/imv.git"; - rev = "3e6402456b00e29f659baf26ced10f3d7205cf63"; - sha256 = "0fhc944g7b61jrkd4wn1piq6dkpabsbxpm80pifx9dqmj16sf0pf"; + rev = "e59d0e9e120f1dbde9ab068748a190e93978e5b7"; + sha256 = "0j48dk1bcbh5541522qkn487637wcx104zckrnxa5g3nirfqa7r7"; }; buildInputs = [ SDL2 SDL2_ttf freeimage fontconfig ]; diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix index 25cf3a990d11..2f72d00bd15f 100644 --- a/pkgs/applications/graphics/inkscape/default.nix +++ b/pkgs/applications/graphics/inkscape/default.nix @@ -1,83 +1,42 @@ -{ stdenv, fetchurl, fetchpatch, pkgconfig, perl, perlXMLParser, gtk, libXft -, libpng, zlib, popt, boehmgc, libxml2, libxslt, glib, gtkmm +{ stdenv, fetchurl, fetchpatch, pkgconfig, perl, perlXMLParser, libXft +, libpng, zlib, popt, boehmgc, libxml2, libxslt, glib, gtkmm2 , glibmm, libsigcxx, lcms, boost, gettext, makeWrapper, intltool -, gsl, python, numpy, pyxml, lxml, poppler, imagemagick, libwpg, librevenge -, libvisio, libcdr, libexif, unzip, automake114x, autoconf -, boxMakerPlugin ? false # boxmaker plugin +, gsl, python2, poppler, imagemagick, libwpg, librevenge +, libvisio, libcdr, libexif, automake114x, cmake }: let - -boxmaker = fetchurl { - # http://www.inkscapeforum.com/viewtopic.php?f=11&t=10403 - url = "http://www.keppel.demon.co.uk/111000/files/BoxMaker0.91.zip"; - sha256 = "5c5697f43dc3a95468f61f479cb50b7e2b93379a1729abf19e4040ac9f43a1a8"; -}; - -stdcxx-patch = fetchpatch { - url = http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/diff/14542?context=3; - sha256 = "15h831lsh61ichgdygkdkbdm1dlb9mhprldq27hkx2472lcnyx6y"; -}; - + python2Env = python2.withPackages(ps: with ps; [ numpy lxml ]); in stdenv.mkDerivation rec { - name = "inkscape-0.91"; + name = "inkscape-0.92.0"; src = fetchurl { - url = "https://inkscape.global.ssl.fastly.net/media/resources/file/" - + "${name}.tar.bz2"; - sha256 = "06ql3x732x2rlnanv0a8aharsnj91j5kplksg574090rks51z42d"; + url = "https://inkscape.org/gallery/item/10552/${name}.tar.bz2"; + sha256 = "0mmssxnxsvb3bpm7ck5pqvwyacrz1nkyacs571jx8j04l1cw3d5q"; }; - patches = [ ./deprecated-scopedptr.patch ]; - postPatch = '' - patch -i ${stdcxx-patch} -p 0 patchShebangs share/extensions - '' - # Clang gets misdetected, so hardcode the right answer - + stdenv.lib.optionalString stdenv.cc.isClang '' - substituteInPlace src/ui/tool/node.h \ - --replace "#if __cplusplus >= 201103L" "#if true" + patchShebangs fix-roff-punct ''; - propagatedBuildInputs = [ - # Python is used at run-time to execute scripts, e.g., those from - # the "Effects" menu. - python pyxml numpy lxml - ]; + # Python is used at run-time to execute scripts, e.g., those from + # the "Effects" menu. + propagatedBuildInputs = [ python2Env ]; buildInputs = [ - pkgconfig perl perlXMLParser gtk libXft libpng zlib popt boehmgc - libxml2 libxslt glib gtkmm glibmm libsigcxx lcms boost gettext + pkgconfig perl perlXMLParser libXft libpng zlib popt boehmgc + libxml2 libxslt glib gtkmm2 glibmm libsigcxx lcms boost gettext makeWrapper intltool gsl poppler imagemagick libwpg librevenge - libvisio libcdr libexif automake114x autoconf - ] ++ stdenv.lib.optional boxMakerPlugin unzip; + libvisio libcdr libexif automake114x cmake + ]; enableParallelBuilding = true; - doCheck = true; postInstall = '' - ${if boxMakerPlugin then " - mkdir -p $out/share/inkscape/extensions/ - # boxmaker packaged version 0.91 in a directory called 0.85 ?!?? - unzip ${boxmaker}; - cp boxmake-upd-0.85/* $out/share/inkscape/extensions/ - rm -Rf boxmake-upd-0.85 - " - else - "" - } - # Make sure PyXML modules can be found at run-time. - for i in "$out/bin/"* - do - wrapProgram "$i" --prefix PYTHONPATH : \ - "$(toPythonPath ${pyxml}):$(toPythonPath ${lxml}):$(toPythonPath ${numpy})" \ - --prefix PATH : ${python}/bin || \ - exit 2 - done rm "$out/share/icons/hicolor/icon-theme.cache" ''; diff --git a/pkgs/applications/graphics/inkscape/deprecated-scopedptr.patch b/pkgs/applications/graphics/inkscape/deprecated-scopedptr.patch deleted file mode 100644 index 94ae901394fa..000000000000 --- a/pkgs/applications/graphics/inkscape/deprecated-scopedptr.patch +++ /dev/null @@ -1,16 +0,0 @@ -glibmm deprecated ScopedPtr ---- -diff -u src/ui/clipboard.cpp src/ui/clipboard.cpp ---- a/src/ui/clipboard.cpp 2015-01-28 04:32:28.162676000 +0100 -+++ b/src/ui/clipboard.cpp 2016-04-03 09:13:12.360980533 +0200 -@@ -1402,7 +1402,7 @@ - - Glib::ustring target; - if (atom_name) { -- target = Glib::ScopedPtr(atom_name).get(); //This frees the gchar*. -+ target = Glib::make_unique_ptr_gfree(atom_name).get(); //This frees the gchar*. - } - - listTargets.push_back(target); - -Diff finished. Sun Apr 3 09:13:51 2016 diff --git a/pkgs/applications/graphics/jbrout/default.nix b/pkgs/applications/graphics/jbrout/default.nix index 8d6c15129cb3..c9587b222d90 100644 --- a/pkgs/applications/graphics/jbrout/default.nix +++ b/pkgs/applications/graphics/jbrout/default.nix @@ -1,6 +1,8 @@ -{ stdenv, fetchsvn, buildPythonApplication, python, pyGtkGlade, makeWrapper, pyexiv2, pythonPackages, fbida, which }: +{ stdenv, fetchsvn, pythonPackages, makeWrapper, fbida, which }: -buildPythonApplication rec { +let + inherit (pythonPackages) python; +in pythonPackages.buildPythonApplication rec { name = "jbrout-${version}"; version = "338"; diff --git a/pkgs/applications/graphics/k3d/default.nix b/pkgs/applications/graphics/k3d/default.nix index f204114a5813..d8052f93345a 100644 --- a/pkgs/applications/graphics/k3d/default.nix +++ b/pkgs/applications/graphics/k3d/default.nix @@ -1,16 +1,25 @@ -{ stdenv, fetchurl, unzip, ftgl, glew, asciidoc +{ stdenv, fetchFromGitHub, fetchpatch, unzip, ftgl, glew, asciidoc , cmake, mesa, zlib, python, expat, libxml2, libsigcxx, libuuid, freetype , libpng, boost, doxygen, cairomm, pkgconfig, imagemagick, libjpeg, libtiff -, gettext, intltool, perl, gtkmm, glibmm, gtkglext, pangox_compat, libXmu }: +, gettext, intltool, perl, gtkmm2, glibmm, gtkglext, pangox_compat, libXmu }: stdenv.mkDerivation rec { - version = "0.8.0.3"; + version = "0.8.0.6"; name = "k3d-${version}"; - src = fetchurl { - url = "https://github.com/K-3D/k3d/archive/${name}.zip"; - sha256 = "09ywwvlk8hh1357pnal96kc40ma4jq7776hqk0609rgz13s6babp"; + src = fetchFromGitHub { + owner = "K-3D"; + repo = "k3d"; + rev = name; + sha256 = "0vdjjg6h8mxm2n8mvkkg2mvd27jn2xx90hnmx23cbd35mpz9p4aa"; }; - + + patches = [ + (fetchpatch { /* glibmm 2.50 fix */ + url = https://github.com/K-3D/k3d/commit/c65889d0652490d88a573e47de7a9324bf27bff2.patch; + sha256 = "162icv1hicr2dirkb9ijacvg9bhz5j30yfwg7b45ijavk8rns62j"; + }) + ]; + cmakeFlags = "-DK3D_BUILD_DOCS=false -DK3D_BUILD_GUIDE=false"; preConfigure = '' @@ -22,7 +31,7 @@ stdenv.mkDerivation rec { cmake mesa zlib python expat libxml2 libsigcxx libuuid freetype libpng boost boost doxygen cairomm pkgconfig imagemagick libjpeg libtiff gettext intltool perl unzip ftgl glew asciidoc - gtkmm glibmm gtkglext pangox_compat libXmu + gtkmm2 glibmm gtkglext pangox_compat libXmu ]; #doCheck = false; @@ -31,7 +40,7 @@ stdenv.mkDerivation rec { meta = { description = "A 3D editor with support for procedural editing"; - homepage = "http://k-3d.org/"; + homepage = http://www.k-3d.org/; platforms = with stdenv.lib.platforms; linux; maintainers = with stdenv.lib.maintainers; diff --git a/pkgs/applications/graphics/kipi-plugins/5.x.nix b/pkgs/applications/graphics/kipi-plugins/5.x.nix new file mode 100644 index 000000000000..2f6cc8e4ece0 --- /dev/null +++ b/pkgs/applications/graphics/kipi-plugins/5.x.nix @@ -0,0 +1,34 @@ +{ + stdenv, fetchurl, + ecm, + karchive, kconfig, ki18n, kiconthemes, kio, kservice, kwindowsystem, kxmlgui, + libkipi, qtbase, qtsvg, qtxmlpatterns +}: + +stdenv.mkDerivation rec { + name = "kipi-plugins-${version}"; + version = "5.2.0"; + + src = fetchurl { + url = "http://download.kde.org/stable/digikam/digikam-${version}.tar.xz"; + sha256 = "0q4j7iv20cxgfsr14qwzx05wbp2zkgc7cg2pi7ibcnwba70ky96g"; + }; + + prePatch = '' + cd extra/kipi-plugins + ''; + + nativeBuildInputs = [ ecm ]; + buildInputs = [ + karchive kconfig ki18n kiconthemes kio kservice kwindowsystem kxmlgui libkipi + qtbase qtsvg qtxmlpatterns + ]; + + meta = { + description = "Plugins for KDE-based image applications"; + license = stdenv.lib.licenses.gpl2; + homepage = http://www.digikam.org; + maintainers = with stdenv.lib.maintainers; [ ttuegel ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/applications/graphics/krita/default.nix b/pkgs/applications/graphics/krita/default.nix index f29d09b8ef7b..fded09545e1f 100644 --- a/pkgs/applications/graphics/krita/default.nix +++ b/pkgs/applications/graphics/krita/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchgit, cmake, extra-cmake-modules, makeQtWrapper +{ stdenv, lib, fetchurl, cmake, extra-cmake-modules, makeQtWrapper , karchive, kconfig, kwidgetsaddons, kcompletion, kcoreaddons , kguiaddons, ki18n, kitemmodels, kitemviews, kwindowsystem , kio, kcrash @@ -8,12 +8,11 @@ stdenv.mkDerivation rec { name = "krita-${version}"; - version = "3.0"; + version = "3.0.1.1"; - src = fetchgit { - url = "http://phabricator.kde.org/diffusion/KRITA/krita.git"; - rev = "refs/tags/v${version}"; - sha256 = "0aas86667ncp8jz00c8qk7bm26g76l65cysh06wxr8kxbvqynrdn"; + src = fetchurl { + url = "http://download.kde.org/stable/krita/${version}/${name}.tar.gz"; + sha256 = "0v58p9am2gsrgn5nhynvdg1a7v8d9kcsswb1962r8ijszm3fav5k"; }; nativeBuildInputs = [ cmake extra-cmake-modules makeQtWrapper ]; diff --git a/pkgs/applications/graphics/ktikz/default.nix b/pkgs/applications/graphics/ktikz/default.nix index ea4826ffaf8e..e351534f9e6a 100644 --- a/pkgs/applications/graphics/ktikz/default.nix +++ b/pkgs/applications/graphics/ktikz/default.nix @@ -61,7 +61,7 @@ let inherit version; src = fetchurl { url = "http://www.hackenberger.at/ktikz/ktikz_${version}.tar.gz"; - md5 = "e8f0826cba2447250bcdcd389a71a2ac"; + sha256 = "19jl49r7dw3vb3hg52man8p2lszh71pvnx7d0xawyyi0x6r8ml9i"; }; enableParallelBuilding = true; diff --git a/pkgs/applications/graphics/mcomix/default.nix b/pkgs/applications/graphics/mcomix/default.nix index 88f3937335ba..20c01f77bbf8 100644 --- a/pkgs/applications/graphics/mcomix/default.nix +++ b/pkgs/applications/graphics/mcomix/default.nix @@ -1,7 +1,6 @@ -{ stdenv, fetchurl, buildPythonApplication, python27Packages }: +{ stdenv, fetchurl, python27Packages }: -buildPythonApplication rec { - namePrefix = ""; +python27Packages.buildPythonApplication rec { name = "mcomix-${version}"; version = "1.2.1"; @@ -10,7 +9,7 @@ buildPythonApplication rec { sha256 = "0fzsf9pklhfs1rzwzj64c0v30b74nk94p93h371rpg45qnfiahvy"; }; - propagatedBuildInputs = with python27Packages; [ pygtk pillow sqlite3 ]; + propagatedBuildInputs = with python27Packages; [ pygtk pillow ]; meta = { description = "Image viewer designed to handle comic books"; diff --git a/pkgs/applications/graphics/mirage/default.nix b/pkgs/applications/graphics/mirage/default.nix index c3f06544bb4a..515b834b41ea 100644 --- a/pkgs/applications/graphics/mirage/default.nix +++ b/pkgs/applications/graphics/mirage/default.nix @@ -1,8 +1,8 @@ -{ stdenv, fetchurl, buildPythonApplication, python, pygtk, pillow, libX11, gettext }: +{ stdenv, fetchurl, pythonPackages, libX11, gettext }: -buildPythonApplication rec { - namePrefix = ""; - name = "mirage-0.9.5.2"; +pythonPackages.buildPythonApplication rec { + name = "mirage-${version}"; + version = "0.9.5.2"; src = fetchurl { url = "mirror://sourceforge/mirageiv/${name}.tar.bz2"; @@ -17,7 +17,7 @@ buildPythonApplication rec { sed -i "s@/usr/local/share/locale@$out/share/locale@" mirage.py ''; - propagatedBuildInputs = [ pygtk pillow ]; + propagatedBuildInputs = with pythonPackages; [ pygtk pillow ]; meta = { description = "Simple image viewer written in PyGTK"; diff --git a/pkgs/applications/graphics/mtpaint/default.nix b/pkgs/applications/graphics/mtpaint/default.nix new file mode 100644 index 000000000000..e8c22b37638c --- /dev/null +++ b/pkgs/applications/graphics/mtpaint/default.nix @@ -0,0 +1,41 @@ +{ stdenv, fetchFromGitHub +, pkgconfig +, freetype, giflib, gtk2, lcms2, libjpeg, libpng, libtiff, openjpeg, gifsicle +}: + +stdenv.mkDerivation rec { + p_name = "mtPaint"; + ver_maj = "3.49"; + ver_min = "12"; + name = "${p_name}-${ver_maj}.${ver_min}"; + + src = fetchFromGitHub { + owner = "wjaguar"; + repo = p_name; + rev = "6aed1b0441f99055fc7d475942f8bd5cb23c41f8"; + sha256 = "0bvf623g0n2ifijcxv1nw0z3wbs2vhhdky4n04ywsbjlykm44nd1"; + }; + + buildInputs = [ + pkgconfig + freetype giflib gtk2 lcms2 libjpeg libpng libtiff openjpeg gifsicle + ]; + + meta = { + description = "A simple GTK+1/2 painting program"; + longDescription = '' + mtPaint is a simple GTK+1/2 painting program designed for + creating icons and pixel based artwork. It can edit indexed palette + or 24 bit RGB images and offers basic painting and palette manipulation + tools. It also has several other more powerful features such as channels, + layers and animation. + Due to its simplicity and lack of dependencies it runs well on + GNU/Linux, Windows and older PC hardware. + ''; + homepage = "http://mtpaint.sourceforge.net/"; + license = stdenv.lib.licenses.gpl3; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.vklquevs ]; + }; +} + diff --git a/pkgs/applications/graphics/mypaint/default.nix b/pkgs/applications/graphics/mypaint/default.nix index be8df8ef16dc..db5e6e1a7e37 100644 --- a/pkgs/applications/graphics/mypaint/default.nix +++ b/pkgs/applications/graphics/mypaint/default.nix @@ -1,9 +1,11 @@ -{ stdenv, fetchurl, gettext, glib, gtk, hicolor_icon_theme, json_c -, lcms2, libpng , makeWrapper, pkgconfig, pygtk, python, pythonPackages +{ stdenv, fetchurl, gettext, glib, gtk2, hicolor_icon_theme, json_c +, lcms2, libpng , makeWrapper, pkgconfig, python2Packages , scons, swig }: -stdenv.mkDerivation rec { +let + inherit (python2Packages) python pygtk numpy; +in stdenv.mkDerivation rec { name = "mypaint-${version}"; version = "1.1.0"; @@ -13,11 +15,11 @@ stdenv.mkDerivation rec { }; buildInputs = [ - gettext glib gtk json_c lcms2 libpng makeWrapper pkgconfig pygtk + gettext glib gtk2 json_c lcms2 libpng makeWrapper pkgconfig pygtk python scons swig ]; - propagatedBuildInputs = [ hicolor_icon_theme pythonPackages.numpy ]; + propagatedBuildInputs = [ hicolor_icon_theme numpy ]; buildPhase = "scons prefix=$out"; diff --git a/pkgs/applications/graphics/pqiv/default.nix b/pkgs/applications/graphics/pqiv/default.nix index 3fd9d47374a3..25c6fc36c6c9 100644 --- a/pkgs/applications/graphics/pqiv/default.nix +++ b/pkgs/applications/graphics/pqiv/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, getopt, which, pkgconfig, gtk } : +{ stdenv, fetchurl, getopt, which, pkgconfig, gtk2 } : stdenv.mkDerivation (rec { name = "pqiv-0.12"; @@ -8,7 +8,7 @@ stdenv.mkDerivation (rec { sha256 = "646c69f2f4e7289913f6b8e8ae984befba9debf0d2b4cc8af9955504a1fccf1e"; }; - buildInputs = [ getopt which pkgconfig gtk ]; + buildInputs = [ getopt which pkgconfig gtk2 ]; preConfigure='' substituteInPlace configure --replace /bin/bash "$shell" diff --git a/pkgs/applications/graphics/qiv/default.nix b/pkgs/applications/graphics/qiv/default.nix index 35c0ca2aff98..9d147a635f3b 100644 --- a/pkgs/applications/graphics/qiv/default.nix +++ b/pkgs/applications/graphics/qiv/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, gtk, imlib2, file, lcms2, libexif } : +{ stdenv, fetchurl, pkgconfig, gtk2, imlib2, file, lcms2, libexif } : stdenv.mkDerivation (rec { version = "2.3.1"; @@ -9,7 +9,7 @@ stdenv.mkDerivation (rec { sha256 = "1rlf5h67vhj7n1y7jqkm9k115nfnzpwngj3kzqsi2lg676srclv7"; }; - buildInputs = [ pkgconfig gtk imlib2 file lcms2 libexif ]; + buildInputs = [ pkgconfig gtk2 imlib2 file lcms2 libexif ]; preBuild='' substituteInPlace Makefile --replace /usr/local "$out" diff --git a/pkgs/applications/graphics/rawtherapee/ReleaseInfo.cmake b/pkgs/applications/graphics/rawtherapee/ReleaseInfo.cmake new file mode 100644 index 000000000000..7be7cb63f701 --- /dev/null +++ b/pkgs/applications/graphics/rawtherapee/ReleaseInfo.cmake @@ -0,0 +1,4 @@ +set(GIT_BRANCH master) +set(GIT_VERSION 4.2.1115) +set(GIT_CHANGESET 0821eea7b6a4ac2fce1fcf644e06078e161e41e3) +set(GIT_TAGDISTANCE 1115) diff --git a/pkgs/applications/graphics/rawtherapee/default.nix b/pkgs/applications/graphics/rawtherapee/default.nix index aeb427348ca3..50eb7749031f 100644 --- a/pkgs/applications/graphics/rawtherapee/default.nix +++ b/pkgs/applications/graphics/rawtherapee/default.nix @@ -1,34 +1,42 @@ -{ stdenv, fetchFromGitHub, pkgconfig, gtk, cmake, pixman, libpthreadstubs, gtkmm, libXau -, libXdmcp, lcms2, libiptcdata, libcanberra, fftw, expat, pcre, libsigcxx -, mercurial # Not really needed for anything, but it fails if it does not find 'hg' +{ stdenv, fetchFromGitHub, pkgconfig, cmake, pixman, libpthreadstubs, gtkmm2, libXau +, libXdmcp, lcms2, libiptcdata, libcanberra_gtk2, fftw, expat, pcre, libsigcxx }: stdenv.mkDerivation rec { - name = "rawtherapee-4.2"; - + version = "4.2.1025"; + name = "rawtherapee-" + version; + src = fetchFromGitHub { owner = "Beep6581"; repo = "RawTherapee"; - rev = "4.2"; - sha256 = "1v4px239vlmk9l8wbzlvlyni4ns12icxmgfz21m86jkd10pj5dgr"; + rev = "dc4bbe906ba92ddc66f98a3c26ce19822bfb99ab"; + sha256 = "0c5za9s8533fiyl32378dq9rgd5044xi8y0wm2gkr7krbdnx74l3"; }; - - buildInputs = [ pkgconfig gtk cmake pixman libpthreadstubs gtkmm libXau libXdmcp - lcms2 libiptcdata mercurial libcanberra fftw expat pcre libsigcxx ]; - patchPhase = '' - patch -p1 < ${./sigc++_fix.patch} + buildInputs = [ pkgconfig cmake pixman libpthreadstubs gtkmm2 libXau libXdmcp + lcms2 libiptcdata libcanberra_gtk2 fftw expat pcre libsigcxx ]; + + patches = [ + ./fix-glibmm-output.patch + ]; + + cmakeFlags = [ + "-DPROC_TARGET_NUMBER=2" + ]; + + CMAKE_CXX_FLAGS = "-std=c++11 -Wno-deprecated-declarations -Wno-unused-result"; + + postUnpack = '' + echo "set(HG_VERSION $version)" > $sourceRoot/ReleaseInfo.cmake ''; - NIX_CFLAGS_COMPILE = "-std=gnu++11 -Wno-deprecated-declarations -Wno-unused-result"; - enableParallelBuilding = true; meta = { description = "RAW converter and digital photo processing software"; homepage = http://www.rawtherapee.com/; license = stdenv.lib.licenses.gpl3Plus; - maintainers = with stdenv.lib.maintainers; [viric jcumming mahe]; + maintainers = with stdenv.lib.maintainers; [ viric jcumming mahe the-kenny ]; platforms = with stdenv.lib.platforms; linux; }; } diff --git a/pkgs/applications/graphics/rawtherapee/dev.nix b/pkgs/applications/graphics/rawtherapee/dev.nix new file mode 100644 index 000000000000..71e41faaaef5 --- /dev/null +++ b/pkgs/applications/graphics/rawtherapee/dev.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchFromGitHub, pkgconfig, cmake, pixman, libpthreadstubs, gtkmm2, libXau +, libXdmcp, lcms2, libiptcdata, libcanberra_gtk2, fftw, expat, pcre, libsigcxx +}: + +stdenv.mkDerivation rec { + name = "rawtherapee-git-2016-10-10"; + + src = fetchFromGitHub { + owner = "Beep6581"; + repo = "RawTherapee"; + rev = "0821eea7b6a4ac2fce1fcf644e06078e161e41e3"; + sha256 = "1nwb6b1qrpdyigwig7bvr42lf7na1ngm0q2cislcvb2v1nmk6nlz"; + }; + + buildInputs = [ pkgconfig cmake pixman libpthreadstubs gtkmm2 libXau libXdmcp + lcms2 libiptcdata libcanberra_gtk2 fftw expat pcre libsigcxx ]; + + NIX_CFLAGS_COMPILE = "-std=gnu++11 -Wno-deprecated-declarations -Wno-unused-result"; + + # Copy generated ReleaseInfo.cmake so we don't need git. File was + # generated manually using `./tools/generateReleaseInfo` in the + # source folder. Make sure to regenerate it when updating. + preConfigure = '' + cp ${./ReleaseInfo.cmake} ./ReleaseInfo.cmake + ''; + + enableParallelBuilding = true; + + meta = { + description = "RAW converter and digital photo processing software"; + homepage = http://www.rawtherapee.com/; + license = stdenv.lib.licenses.gpl3Plus; + maintainers = with stdenv.lib.maintainers; [ viric jcumming mahe the-kenny ]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/pkgs/applications/graphics/rawtherapee/fix-glibmm-output.patch b/pkgs/applications/graphics/rawtherapee/fix-glibmm-output.patch new file mode 100644 index 000000000000..3c87ce64e26b --- /dev/null +++ b/pkgs/applications/graphics/rawtherapee/fix-glibmm-output.patch @@ -0,0 +1,23 @@ +From ca0afa8d5f3cc7d09b6bab32d155a87c550f0d7b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Fl=C3=B6ssie?= +Date: Sat, 1 Oct 2016 12:38:24 +0200 +Subject: [PATCH] Fix incompatibility with glibmm 2.50 (#3440) + +Kudos to @Hombre57 for the suggestion. +--- + rtgui/dirbrowser.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/rtgui/dirbrowser.cc b/rtgui/dirbrowser.cc +index d3fc8bf..6f25f0f 100644 +--- a/rtgui/dirbrowser.cc ++++ b/rtgui/dirbrowser.cc +@@ -59,7 +59,7 @@ std::vector listSubDirs (const Glib::RefPtr& dir, bool + } catch (const Glib::Exception& exception) { + + if (options.rtSettings.verbose) { +- std::cerr << "Failed to list subdirectories of \"" << dir << "\": " << exception.what () << std::endl; ++ std::cerr << "Failed to list subdirectories of \"" << dir->get_basename() << "\": " << exception.what () << std::endl; + } + + } diff --git a/pkgs/applications/graphics/rawtherapee/sigc++_fix.patch b/pkgs/applications/graphics/rawtherapee/sigc++_fix.patch deleted file mode 100644 index eeeefb733df6..000000000000 --- a/pkgs/applications/graphics/rawtherapee/sigc++_fix.patch +++ /dev/null @@ -1,52 +0,0 @@ -diff --git a/rtgui/adjuster.cc b/rtgui/adjuster.cc -index f73dd8a..a7a069c 100644 ---- a/rtgui/adjuster.cc -+++ b/rtgui/adjuster.cc -@@ -17,7 +17,7 @@ - * along with RawTherapee. If not, see . - */ - #include "adjuster.h" --#include -+#include - #include - #include "multilangmgr.h" - #include "../rtengine/rtengine.h" -diff --git a/rtgui/preferences.cc b/rtgui/preferences.cc -index 134c0d7..8ce1808 100644 ---- a/rtgui/preferences.cc -+++ b/rtgui/preferences.cc -@@ -16,7 +16,7 @@ - * You should have received a copy of the GNU General Public License - * along with RawTherapee. If not, see . - */ --#include -+#include - #include "preferences.h" - #include "multilangmgr.h" - #include "splash.h" -diff --git a/rtgui/thresholdadjuster.cc b/rtgui/thresholdadjuster.cc -index 6b41329..19cde25 100644 ---- a/rtgui/thresholdadjuster.cc -+++ b/rtgui/thresholdadjuster.cc -@@ -17,7 +17,7 @@ - * along with RawTherapee. If not, see . - */ - #include "thresholdadjuster.h" --#include -+#include - #include - #include "multilangmgr.h" - #include "../rtengine/rtengine.h" -diff --git a/rtgui/tonecurve.cc b/rtgui/tonecurve.cc -index 2e439e1..5f14200 100644 ---- a/rtgui/tonecurve.cc -+++ b/rtgui/tonecurve.cc -@@ -18,7 +18,7 @@ - */ - #include "tonecurve.h" - #include "adjuster.h" --#include -+#include - #include - #include "ppversion.h" - #include "edit.h" diff --git a/pkgs/applications/graphics/sane/config.nix b/pkgs/applications/graphics/sane/config.nix index 4b8c7a4fe921..c0a0206ddd1f 100644 --- a/pkgs/applications/graphics/sane/config.nix +++ b/pkgs/applications/graphics/sane/config.nix @@ -4,25 +4,26 @@ with stdenv.lib; let installSanePath = path: '' - if test -e "${path}/lib/sane"; then + if [ -e "${path}/lib/sane" ]; then find "${path}/lib/sane" -maxdepth 1 -not -type d | while read backend; do - ln -s $backend $out/lib/sane/$(basename $backend) + ln -s "$backend" "$out/lib/sane/$(basename "$backend")" done fi - if test -e "${path}/etc/sane.d"; then + if [ -e "${path}/etc/sane.d" ]; then find "${path}/etc/sane.d" -maxdepth 1 -not -type d | while read conf; do - if test $(basename $conf) = "dll.conf"; then - cat $conf >> $out/etc/sane.d/dll.conf + name="$(basename $conf)" + if [ "$name" = "dll.conf" ] || [ "$name" = "saned.conf" ] || [ "$name" = "net.conf" ]; then + cat "$conf" >> "$out/etc/sane.d/$name" else - ln -s $conf $out/etc/sane.d/$(basename $conf) + ln -s "$conf" "$out/etc/sane.d/$name" fi done fi - if test -e "${path}/etc/sane.d/dll.d"; then + if [ -e "${path}/etc/sane.d/dll.d" ]; then find "${path}/etc/sane.d/dll.d" -maxdepth 1 -not -type d | while read conf; do - ln -s $conf $out/etc/sane.d/dll.d/$(basename $conf) + ln -s "$conf" "$out/etc/sane.d/dll.d/$(basename $conf)" done fi ''; diff --git a/pkgs/applications/graphics/sane/frontends.nix b/pkgs/applications/graphics/sane/frontends.nix index 7e9e6fc0099b..bd19ef3c43b1 100644 --- a/pkgs/applications/graphics/sane/frontends.nix +++ b/pkgs/applications/graphics/sane/frontends.nix @@ -1,18 +1,18 @@ -{ stdenv, fetchurl, sane-backends, libX11, gtk, pkgconfig, libusb ? null}: +{ stdenv, fetchurl, sane-backends, libX11, gtk2, pkgconfig, libusb ? null}: stdenv.mkDerivation rec { name = "sane-frontends-1.0.14"; src = fetchurl { - url = "ftp://ftp.sane-project.org/pub/sane/sane-frontends-1.0.14/${name}.tar.gz"; - md5 = "c63bf7b0bb5f530cf3c08715db721cd3"; + url = "https://alioth.debian.org/frs/download.php/file/1140/${name}.tar.gz"; + sha256 = "1ad4zr7rcxpda8yzvfkq1rfjgx9nl6lan5a628wvpdbh3fn9v0z7"; }; preConfigure = '' sed -e '/SANE_CAP_ALWAYS_SETTABLE/d' -i src/gtkglue.c ''; - buildInputs = [sane-backends libX11 gtk pkgconfig] ++ + buildInputs = [sane-backends libX11 gtk2 pkgconfig] ++ (if libusb != null then [libusb] else []); meta = { diff --git a/pkgs/applications/graphics/sane/xsane.nix b/pkgs/applications/graphics/sane/xsane.nix index b3a432c96dfd..de07a4f1a896 100644 --- a/pkgs/applications/graphics/sane/xsane.nix +++ b/pkgs/applications/graphics/sane/xsane.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, sane-backends, sane-frontends, libX11, gtk, pkgconfig, libpng +{ stdenv, fetchurl, sane-backends, sane-frontends, libX11, gtk2, pkgconfig, libpng , libusb ? null , gimpSupport ? false, gimp_2_8 ? null }: @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { chmod a+rX -R . ''; - buildInputs = [libpng sane-backends sane-frontends libX11 gtk pkgconfig ] + buildInputs = [libpng sane-backends sane-frontends libX11 gtk2 pkgconfig ] ++ (if libusb != null then [libusb] else []) ++ stdenv.lib.optional gimpSupport gimp_2_8; diff --git a/pkgs/applications/graphics/shotwell/default.nix b/pkgs/applications/graphics/shotwell/default.nix index 3f9fd132c09e..ca74cd1a4aa3 100644 --- a/pkgs/applications/graphics/shotwell/default.nix +++ b/pkgs/applications/graphics/shotwell/default.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation rec { version = "${major}.${minor}"; - major = "0.23"; - minor = "5"; + major = "0.25"; + minor = "2"; name = "shotwell-${version}"; src = fetchurl { url = "mirror://gnome/sources/shotwell/${major}/${name}.tar.xz"; - sha256 = "0fgs1rgvkmy79bmpxrsvm5w8rvqml4l1vnwma0xqx5zzm02p8a07"; + sha256 = "1bih5hr3pvpkx3fck55bnhngn4fl92ryjizc34wb8pwigbkxnaj1"; }; NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/glib-2.0 -I${glib.out}/lib/glib-2.0/include"; @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { pkgconfig gst_all_1.gstreamer gst_all_1.gst-plugins-base gnome3.libgee which udev libgudev gnome3.gexiv2 hicolor_icon_theme libraw json_glib gettext desktop_file_utils glib lcms2 gdk_pixbuf librsvg - wrapGAppsHook gnome_doc_utils gnome3.rest + wrapGAppsHook gnome_doc_utils gnome3.rest gnome3.gcr gnome3.defaultIconTheme itstool ]; meta = with stdenv.lib; { diff --git a/pkgs/applications/graphics/shutter/default.nix b/pkgs/applications/graphics/shutter/default.nix index 0d52e563c9de..3d4e8c592abb 100644 --- a/pkgs/applications/graphics/shutter/default.nix +++ b/pkgs/applications/graphics/shutter/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, perl, perlPackages, makeWrapper, imagemagick, gdk_pixbuf, librsvg }: +{ stdenv, fetchurl, fetchpatch, perl, perlPackages, makeWrapper, imagemagick, gdk_pixbuf, librsvg }: let perlModules = with perlPackages; @@ -18,6 +18,14 @@ stdenv.mkDerivation rec { sha256 = "09cn3scwy98wqxkrjhnmxhpfnnynlbb41856yn5m3zwzqrxiyvak"; }; + patches = [ + (fetchpatch { + url = "http://svnweb.mageia.org/packages/cauldron/shutter/current/SOURCES/CVE-2015-0854.patch?revision=880308&view=co"; + name = "CVE-2015-0854.patch"; + sha256 = "14r18sxz3ylf39cn9b85snjhjxdk6ngq4vnpljwghw2q5430nb12"; + }) + ]; + buildInputs = [ perl makeWrapper gdk_pixbuf librsvg ] ++ perlModules; installPhase = '' diff --git a/pkgs/applications/graphics/simple-scan/default.nix b/pkgs/applications/graphics/simple-scan/default.nix index 8af753ac29c4..8a24eab22007 100644 --- a/pkgs/applications/graphics/simple-scan/default.nix +++ b/pkgs/applications/graphics/simple-scan/default.nix @@ -1,18 +1,18 @@ { stdenv, fetchurl, cairo, colord, glib, gtk3, gusb, intltool, itstool -, libusb1, libxml2, pkgconfig, sane-backends, vala_0_23, wrapGAppsHook +, libusb1, libxml2, pkgconfig, sane-backends, vala_0_32, wrapGAppsHook , gnome3 }: stdenv.mkDerivation rec { name = "simple-scan-${version}"; - version = "3.21.1"; + version = "${major_version}.0.1"; + major_version = "3.22"; src = fetchurl { - sha256 = "00w206isni8m8qd9m8x0644s1gqg11pvgnw6zav33b0bs2h2kk79"; - url = "https://launchpad.net/simple-scan/3.21/${version}/+download/${name}.tar.xz"; + url = "https://launchpad.net/simple-scan/${major_version}/${version}/+download/${name}.tar.xz"; + sha256 = "0l1b3llkdlqq0bcjx1cadba67l2zb4zfykdaprpjbjbr6gkbc1f5"; }; - buildInputs = [ cairo colord glib gusb gtk3 libusb1 libxml2 sane-backends - vala_0_23 ]; + buildInputs = [ cairo colord glib gnome3.defaultIconTheme gusb gtk3 libusb1 libxml2 sane-backends vala_0_32 ]; nativeBuildInputs = [ intltool itstool pkgconfig wrapGAppsHook ]; configureFlags = [ "--disable-packagekit" ]; @@ -27,18 +27,8 @@ stdenv.mkDerivation rec { ''; postInstall = '' - ( - cd ${gnome3.defaultIconTheme}/share/icons/Adwaita - - for f in `find . | grep 'scanner\.'` - do - local outFile="`echo "$out/share/icons/hicolor/$f" | sed \ - -e 's#/devices/#/apps/#g' \ - -e 's#scanner\.#simple-scan\.#g'`" - mkdir -p "`realpath -m "$outFile/.."`" - cp "$f" "$outFile" - done - ) + mkdir -p $out/share/icons + mv $out/share/simple-scan/icons/* $out/share/icons/ ''; enableParallelBuilding = true; diff --git a/pkgs/applications/graphics/tesseract/default.nix b/pkgs/applications/graphics/tesseract/default.nix index 375b09995488..1f1da9a389f2 100644 --- a/pkgs/applications/graphics/tesseract/default.nix +++ b/pkgs/applications/graphics/tesseract/default.nix @@ -1,53 +1,31 @@ -{ stdenv, fetchurl, autoconf, automake, libtool, leptonica, libpng, libtiff -, enableLanguages ? null +{ stdenv, fetchFromGitHub, pkgconfig, leptonica, libpng, libtiff +, icu, pango, opencl-headers }: -with stdenv.lib; - -let - majVersion = "3.02"; - version = "${majVersion}.02"; - - mkLang = lang: sha256: let - src = fetchurl { - url = "http://tesseract-ocr.googlecode.com/files/tesseract-ocr-${majVersion}.${lang}.tar.gz"; - inherit sha256; - }; - in "tar xfvz ${src} -C $out/share/ --strip=1"; - - wantLang = name: const (enableLanguages == null || elem name enableLanguages); - - extraLanguages = mapAttrsToList mkLang (filterAttrs wantLang { - cat = "0d1smiv1b3k9ay2s05sl7q08mb3ln4w5iiiymv2cs8g8333z8jl9"; - rus = "059336mkhsj9m3hwfb818xjlxkcdpy7wfgr62qwz65cx914xl709"; - spa = "1c9iza5mbahd9pa7znnq8yv09v5kz3gbd2sarcgcgc1ps1jc437l"; - nld = "162acxp1yb6gyki2is3ay2msalmfcsnrlsd9wml2ja05k94m6bjy"; - eng = "1y5xf794n832s3lymzlsdm2s9nlrd2v27jjjp0fd9xp7c2ah4461"; - slv = "0rqng43435cly32idxm1lvxkcippvc3xpxbfizwq5j0155ym00dr"; - jpn = "07v8pymd0iwyzh946lxylybda20gsw7p4fsb09jw147955x49gq9"; - }); -in - stdenv.mkDerivation rec { name = "tesseract-${version}"; + version = "3.04.01"; - src = fetchurl { - url = "http://tesseract-ocr.googlecode.com/files/tesseract-ocr-${version}.tar.gz"; - sha256 = "0g81m9y4iydp7kgr56mlkvjdwpp3mb01q385yhdnyvra7z5kkk96"; + src = fetchFromGitHub { + owner = "tesseract-ocr"; + repo = "tesseract"; + rev = version; + sha256 = "0h1x4z1h86n2gwknd0wck6gykkp99bmm02lg4a47a698g4az6ybv"; }; - buildInputs = [ autoconf automake libtool leptonica libpng libtiff ]; + tessdata = fetchFromGitHub { + owner = "tesseract-ocr"; + repo = "tessdata"; + rev = "3cf1e2df1fe1d1da29295c9ef0983796c7958b7d"; + sha256 = "1v4b63v5nzcxr2y3635r19l7lj5smjmc9vfk0wmxlryxncb4vpg7"; + }; - hardeningDisable = [ "format" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ leptonica libpng libtiff icu pango opencl-headers ]; - preConfigure = '' - ./autogen.sh - substituteInPlace "configure" \ - --replace 'LIBLEPT_HEADERSDIR="/usr/local/include /usr/include"' \ - 'LIBLEPT_HEADERSDIR=${leptonica}/include' - ''; + LIBLEPT_HEADERSDIR = "${leptonica}/include"; - postInstall = concatStringsSep "; " extraLanguages; + postInstall = "cp -Rt \"$out/share/tessdata\" \"$tessdata/\"*"; meta = { description = "OCR engine"; diff --git a/pkgs/applications/graphics/ufraw/default.nix b/pkgs/applications/graphics/ufraw/default.nix index 23a37ab43ae6..fc8e7a62c2ba 100644 --- a/pkgs/applications/graphics/ufraw/default.nix +++ b/pkgs/applications/graphics/ufraw/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, pkgconfig, gtk, gettext, bzip2, zlib +{ fetchurl, stdenv, pkgconfig, gtk2, gettext, bzip2, zlib , libjpeg, libtiff, cfitsio, exiv2, lcms2, gtkimageview, lensfun }: stdenv.mkDerivation rec { @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { }; buildInputs = - [ pkgconfig gtk gtkimageview gettext bzip2 zlib + [ pkgconfig gtk2 gtkimageview gettext bzip2 zlib libjpeg libtiff cfitsio exiv2 lcms2 lensfun ]; diff --git a/pkgs/applications/graphics/unigine-valley/default.nix b/pkgs/applications/graphics/unigine-valley/default.nix new file mode 100644 index 000000000000..1bb57538cd5f --- /dev/null +++ b/pkgs/applications/graphics/unigine-valley/default.nix @@ -0,0 +1,100 @@ +{ stdenv, fetchurl + +# Build-time dependencies +, makeWrapper +, file + +# Runtime dependencies +, fontconfig +, freetype +, libX11 +, libXext +, libXinerama +, libXrandr +, libXrender +, openal}: + +let + version = "1.0"; + + arch = if stdenv.system == "x86_64-linux" then + "x64" + else if stdenv.system == "i686-linux" then + "x86" + else + abort "Unsupported platform"; + +in + stdenv.mkDerivation rec { + name = "unigine-valley-${version}"; + + src = fetchurl { + url = "http://assets.unigine.com/d/Unigine_Valley-${version}.run"; + sha256 = "5f0c8bd2431118551182babbf5f1c20fb14e7a40789697240dcaf546443660f4"; + }; + + sourceRoot = "Unigine_Valley-${version}"; + instPath = "lib/unigine/valley"; + + buildInputs = [file makeWrapper]; + + libPath = stdenv.lib.makeLibraryPath [ + stdenv.cc.cc # libstdc++.so.6 + fontconfig + freetype + libX11 + libXext + libXinerama + libXrandr + libXrender + openal + ]; + + unpackPhase = '' + cp $src extractor.run + chmod +x extractor.run + ./extractor.run --target $sourceRoot + ''; + + patchPhase = '' + # Patch ELF files. + elfs=$(find bin -type f | xargs file | grep ELF | cut -d ':' -f 1) + for elf in $elfs; do + patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux-x86-64.so.2 $elf || true + done + ''; + + installPhase = '' + instdir=$out/${instPath} + + # Install executables and libraries + mkdir -p $instdir/bin + install -m 0755 bin/browser_${arch} $instdir/bin + install -m 0755 bin/libApp{Stereo,Surround,Wall}_${arch}.so $instdir/bin + install -m 0755 bin/libGPUMonitor_${arch}.so $instdir/bin + install -m 0755 bin/libQt{Core,Gui,Network,WebKit,Xml}Unigine_${arch}.so.4 $instdir/bin + install -m 0755 bin/libUnigine_${arch}.so $instdir/bin + install -m 0755 bin/valley_${arch} $instdir/bin + install -m 0755 valley $instdir + + # Install other files + cp -R data documentation $instdir + + # Install and wrap executable + mkdir -p $out/bin + install -m 0755 valley $out/bin/valley + wrapProgram $out/bin/valley \ + --run "cd $instdir" \ + --prefix LD_LIBRARY_PATH : /run/opengl-driver/lib:$instdir/bin:$libPath + ''; + + stripDebugList = ["${instPath}/bin"]; + + meta = { + description = "The Unigine Valley GPU benchmarking tool"; + homepage = "http://unigine.com/products/benchmarks/valley/"; + license = stdenv.lib.licenses.unfree; # see also: $out/$instPath/documentation/License.pdf + maintainers = [ stdenv.lib.maintainers.kierdavis ]; + platforms = ["x86_64-linux" "i686-linux"]; + }; + } diff --git a/pkgs/applications/graphics/vimiv/default.nix b/pkgs/applications/graphics/vimiv/default.nix new file mode 100644 index 000000000000..39db1dd1f6d8 --- /dev/null +++ b/pkgs/applications/graphics/vimiv/default.nix @@ -0,0 +1,72 @@ +{ lib, python3Packages, fetchFromGitHub, imagemagick, librsvg, gtk3, jhead +, hicolor_icon_theme, defaultIconTheme + +# Test requirements +, dbus, xvfb_run, xdotool +}: + +python3Packages.buildPythonApplication rec { + name = "vimiv"; + version = "0.7.3"; + + src = fetchFromGitHub { + owner = "karlch"; + repo = "vimiv"; + rev = "v${version}"; + sha256 = "18dn81n8hcrqhrqfida34qz7a0ar9rz2rrmzsvyp54zc6nyvv1cn"; + }; + + testimages = fetchFromGitHub { + owner = "karlch"; + repo = "vimiv"; + rev = "6f4d1372b27f2065c56eafdb521d230d9bb8f4e2"; + sha256 = "0a3aybzpms0381dz9japhm4c7j5klhmw91prcac6zaww6x34nmxb"; + }; + + postPatch = '' + patchShebangs scripts/install_icons.sh + sed -i -e 's,/usr,,g' -e '/setup\.py/d' Makefile scripts/install_icons.sh + + sed -i \ + -e 's,/etc/vimiv/\(vimivrc\|keys\.conf\),'"$out"'&,g' \ + man/* vimiv/parser.py + + sed -i \ + -e 's!"mogrify"!"${imagemagick}/bin/mogrify"!g' \ + -e '/cmd *=/s!"jhead"!"${jhead}/bin/jhead"!g' \ + vimiv/imageactions.py + ''; + + checkInputs = [ python3Packages.nose dbus.daemon xvfb_run xdotool ]; + buildInputs = [ hicolor_icon_theme defaultIconTheme librsvg ]; + propagatedBuildInputs = with python3Packages; [ pillow pygobject3 gtk3 ]; + + makeWrapperArgs = [ + "--prefix GI_TYPELIB_PATH : \"$GI_TYPELIB_PATH\"" + "--suffix XDG_DATA_DIRS : \"$XDG_ICON_DIRS:$out/share\"" + "--set GDK_PIXBUF_MODULE_FILE \"$GDK_PIXBUF_MODULE_FILE\"" + ]; + + postCheck = '' + # Some tests assume that the directory only contains one vimiv directory + rm -rf vimiv.egg-info vimiv.desktop + + # Re-use the wrapper args from the main program + makeWrapper "$SHELL" run-tests $makeWrapperArgs + + cp -Rd --no-preserve=mode "$testimages/testimages" vimiv/testimages + HOME="$(mktemp -d)" PATH="$out/bin:$PATH" \ + xvfb-run -s '-screen 0 800x600x24' dbus-run-session \ + --config-file=${dbus.daemon}/share/dbus-1/session.conf \ + ./run-tests -c 'python tests/main_test.py && nosetests -vx' + ''; + + postInstall = "make DESTDIR=\"$out\" install"; + + meta = { + homepage = "https://github.com/karlch/vimiv"; + description = "An image viewer with Vim-like keybindings"; + license = lib.licenses.mit; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/applications/graphics/xara/default.nix b/pkgs/applications/graphics/xara/default.nix index cc456465ba63..4542de2d42fa 100644 --- a/pkgs/applications/graphics/xara/default.nix +++ b/pkgs/applications/graphics/xara/default.nix @@ -1,5 +1,5 @@ {stdenv, fetchurl, automake, gettext, freetype, libxml2, pango, pkgconfig -, wxGTK, gtk, perl, zip}: +, wxGTK, gtk2, perl, zip}: stdenv.mkDerivation { name = "xaralx-0.7r1785"; @@ -10,7 +10,7 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ automake pkgconfig gettext perl zip ]; - buildInputs = [ wxGTK gtk libxml2 freetype pango ]; + buildInputs = [ wxGTK gtk2 libxml2 freetype pango ]; configureFlags = "--disable-svnversion"; diff --git a/pkgs/applications/graphics/xfractint/default.nix b/pkgs/applications/graphics/xfractint/default.nix new file mode 100644 index 000000000000..4b1040ce7657 --- /dev/null +++ b/pkgs/applications/graphics/xfractint/default.nix @@ -0,0 +1,30 @@ +{stdenv, fetchurl, libX11, libXft}: +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + pname = "xfractint"; + version = "20.04p14"; + # or fetchFromGitHub(owner,repo,rev) or fetchgit(rev) + src = fetchurl { + url = "https://www.fractint.net/ftp/current/linux/xfractint-${version}.tar.gz"; + sha256 = "0jdqr639z862qrswwk5srmv4fj5d7rl8kcscpn6mlkx4jvjmca0f"; + }; + + buildInputs = [libX11 libXft]; + + configurePhase = '' + sed -e 's@/usr/bin/@@' -i Makefile + ''; + + makeFlags = ["PREFIX=$(out)"]; + + meta = { + inherit version; + description = ""; + # Code cannot be used in commercial programs + # Looks like the definition hinges on the price, not license + license = stdenv.lib.licenses.unfree; + maintainers = [stdenv.lib.maintainers.raskin]; + platforms = stdenv.lib.platforms.linux; + homepage = "https://www.fractint.net/"; + }; +} diff --git a/pkgs/applications/graphics/xournal/default.nix b/pkgs/applications/graphics/xournal/default.nix index 53d0473638a8..97b418f08c10 100644 --- a/pkgs/applications/graphics/xournal/default.nix +++ b/pkgs/applications/graphics/xournal/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchurl -, ghostscript, atk, gtk, glib, fontconfig, freetype +{ stdenv, fetchurl, makeDesktopItem +, ghostscript, atk, gtk2, glib, fontconfig, freetype , libgnomecanvas, libgnomeprint, libgnomeprintui , pango, libX11, xproto, zlib, poppler , autoconf, automake, libtool, pkgconfig}: @@ -12,20 +12,48 @@ stdenv.mkDerivation rec { }; buildInputs = [ - ghostscript atk gtk glib fontconfig freetype - libgnomecanvas libgnomeprint libgnomeprintui + ghostscript atk gtk2 glib fontconfig freetype + libgnomecanvas pango libX11 xproto zlib poppler + ] ++ stdenv.lib.optionals (!stdenv.isDarwin) [ + libgnomeprint libgnomeprintui ]; nativeBuildInputs = [ autoconf automake libtool pkgconfig ]; NIX_LDFLAGS = [ "-lX11" "-lz" ]; - meta = { + desktopItem = makeDesktopItem { + name = name; + exec = "xournal"; + icon = "xournal"; + desktopName = "Xournal"; + comment = meta.description; + categories = "Office;Graphics;"; + mimeType = "application/pdf;application/x-xoj"; + genericName = "PDF Editor"; + }; + + postInstall='' + mkdir --parents $out/share/mime/packages + cat << EOF > $out/share/mime/packages/xournal.xml + + + Xournal Document + + + + EOF + cp --recursive ${desktopItem}/share/applications $out/share + mkdir --parents $out/share/icons + cp $out/share/xournal/pixmaps/xournal.png $out/share/icons + ''; + + meta = with stdenv.lib; { homepage = http://xournal.sourceforge.net/; description = "Note-taking application (supposes stylus)"; - maintainers = [ stdenv.lib.maintainers.guibert ]; - license = stdenv.lib.licenses.gpl2; - platforms = stdenv.lib.platforms.linux; + maintainers = [ maintainers.guibert ]; + license = licenses.gpl2; + platforms = with platforms; linux ++ darwin; }; } diff --git a/pkgs/applications/graphics/xzgv/default.nix b/pkgs/applications/graphics/xzgv/default.nix index 053e1137e391..999314429452 100644 --- a/pkgs/applications/graphics/xzgv/default.nix +++ b/pkgs/applications/graphics/xzgv/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, gtk, pkgconfig, texinfo }: +{ stdenv, fetchurl, gtk2, pkgconfig, texinfo }: stdenv.mkDerivation rec { name = "xzgv-${version}"; @@ -7,7 +7,7 @@ stdenv.mkDerivation rec { url = "mirror://sourceforge/xzgv/xzgv-${version}.tar.gz"; sha256 = "1rh432wnvzs434knzbda0fslhfx0gngryrrnqkfm6gwd2g5mxcph"; }; - buildInputs = [ gtk pkgconfig texinfo ]; + buildInputs = [ gtk2 pkgconfig texinfo ]; patches = [ ./fix-linker-paths.patch ]; postPatch = '' substituteInPlace config.mk \ diff --git a/pkgs/applications/graphics/yed/default.nix b/pkgs/applications/graphics/yed/default.nix index afb48c697b5c..d97a970df2a5 100644 --- a/pkgs/applications/graphics/yed/default.nix +++ b/pkgs/applications/graphics/yed/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { name = "yEd-${version}"; - version = "3.16.1"; + version = "3.16.2.1"; src = requireFile { name = "${name}.zip"; url = "https://www.yworks.com/en/products/yfiles/yed/"; - sha256 = "0h7ykcpvsikjfap51hpcz6z814riiwyps585j2i1yv9dmsbqdi7j"; + sha256 = "019qfmdifqsrc9h4g3zbn7ivdc0dzlp3isa5ixdkgdhfsdm79b27"; }; nativeBuildInputs = [ unzip makeWrapper ]; @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { license = licenses.unfree; - homepage = http://www.yworks.com/en/products/yfiles/yed/; + homepage = "http://www.yworks.com/en/products/yfiles/yed/"; description = "A powerful desktop application that can be used to quickly and effectively generate high-quality diagrams"; platforms = jre.meta.platforms; maintainers = with maintainers; [ abbradar ]; diff --git a/pkgs/applications/graphics/zgrviewer/default.nix b/pkgs/applications/graphics/zgrviewer/default.nix index 85b05dd3b0a1..03ffa8af3706 100644 --- a/pkgs/applications/graphics/zgrviewer/default.nix +++ b/pkgs/applications/graphics/zgrviewer/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { cp -r target/* "$out/share/java/zvtm/" echo '#!/bin/sh' > "$out/bin/zgrviewer" - echo "java -jar '$out/share/java/zvtm/zgrviewer-${version}.jar'" >> "$out/bin/zgrviewer" + echo "${jre}/lib/openjdk/jre/bin/java -jar '$out/share/java/zvtm/zgrviewer-${version}.jar' \"\$@\"" >> "$out/bin/zgrviewer" chmod a+x "$out/bin/zgrviewer" ''; meta = { diff --git a/pkgs/applications/misc/adobe-reader/default.nix b/pkgs/applications/misc/adobe-reader/default.nix index d31e9234e094..88bf87b0a84f 100644 --- a/pkgs/applications/misc/adobe-reader/default.nix +++ b/pkgs/applications/misc/adobe-reader/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, libX11, cups, zlib, libxml2, pango, atk, gtk, glib +{ stdenv, fetchurl, libX11, cups, zlib, libxml2, pango, atk, gtk2, glib , gdk_pixbuf }: assert stdenv.system == "i686-linux"; @@ -20,7 +20,7 @@ stdenv.mkDerivation { # versions. libPath = stdenv.lib.makeLibraryPath - [ stdenv.cc.cc libX11 zlib libxml2 cups pango atk gtk glib gdk_pixbuf ]; + [ stdenv.cc.cc libX11 zlib libxml2 cups pango atk gtk2 glib gdk_pixbuf ]; passthru.mozillaPlugin = "/libexec/adobe-reader/Browser/intellinux"; diff --git a/pkgs/applications/misc/albert/default.nix b/pkgs/applications/misc/albert/default.nix index 655fa5b9405d..b339d8aeb7b3 100644 --- a/pkgs/applications/misc/albert/default.nix +++ b/pkgs/applications/misc/albert/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "albert-${version}"; - version = "0.8.10"; + version = "0.8.11"; src = fetchFromGitHub { owner = "manuelschneid3r"; repo = "albert"; rev = "v${version}"; - sha256 = "1x8fpc6rnjifh405p385avdaww4v8ld6qwczqwmkzgbcn15gman7"; + sha256 = "12ag30l3dd05hg0d08ax4c8dvp24lgd677szkq445xzvvhggxr37"; }; nativeBuildInputs = [ cmake makeQtWrapper ]; @@ -21,11 +21,11 @@ stdenv.mkDerivation rec { wrapQtProgram $out/bin/albert ''; - meta = { + meta = with stdenv.lib; { homepage = https://github.com/manuelSchneid3r/albert; description = "Desktop agnostic launcher"; - license = stdenv.lib.licenses.gpl3Plus; - maintainers = [ stdenv.lib.maintainers.ericsagnes ]; - platforms = stdenv.lib.platforms.linux; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ ericsagnes ]; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/misc/artha/default.nix b/pkgs/applications/misc/artha/default.nix index a8914a9014d9..3294d18e70b8 100644 --- a/pkgs/applications/misc/artha/default.nix +++ b/pkgs/applications/misc/artha/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, dbus_glib, gtk, pkgconfig, wordnet }: +{ stdenv, fetchurl, dbus_glib, gtk2, pkgconfig, wordnet }: stdenv.mkDerivation rec { name = "artha-${version}"; @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "0qr4ihl7ma3cq82xi1fpzvf74mm9vsg0j035xvmcp3r6rmw2fycx"; }; - buildInputs = [ dbus_glib gtk pkgconfig wordnet ]; + buildInputs = [ dbus_glib gtk2 pkgconfig wordnet ]; meta = with stdenv.lib; { description = "An offline thesaurus based on WordNet"; diff --git a/pkgs/applications/misc/avrdudess/default.nix b/pkgs/applications/misc/avrdudess/default.nix index 0df0a5647318..6cc6cc5d9b93 100644 --- a/pkgs/applications/misc/avrdudess/default.nix +++ b/pkgs/applications/misc/avrdudess/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, unzip, mono, avrgcclibc, avrdude, gtk, xdg_utils }: +{ stdenv, fetchurl, unzip, mono, avrgcclibc, avrdude, gtk2, xdg_utils }: stdenv.mkDerivation rec { name = "avrdudess-2.2.20140102"; @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { cat >> "$out/bin/avrdudess" << __EOF__ #!${stdenv.shell} - export LD_LIBRARY_PATH="${stdenv.lib.makeLibraryPath [gtk mono]}" + export LD_LIBRARY_PATH="${stdenv.lib.makeLibraryPath [gtk2 mono]}" # We need PATH from user env for xdg-open to find its tools, which # typically depend on the currently running desktop environment. export PATH="${stdenv.lib.makeBinPath [ avrgcclibc avrdude xdg_utils ]}:\$PATH" diff --git a/pkgs/applications/misc/batti/default.nix b/pkgs/applications/misc/batti/default.nix index 14416c24d23e..283e7f199071 100644 --- a/pkgs/applications/misc/batti/default.nix +++ b/pkgs/applications/misc/batti/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl , pkgconfig, gettext, pythonPackages -, gtk, gdk_pixbuf, upower +, gtk2, gdk_pixbuf, upower , makeWrapper }: let @@ -16,7 +16,7 @@ in stdenv.mkDerivation rec { }; buildInputs = with stdenv.lib; - [ pkgconfig gettext python gtk pygtk dbus-python gdk_pixbuf upower makeWrapper ]; + [ pkgconfig gettext python gtk2 pygtk dbus-python gdk_pixbuf upower makeWrapper ]; configurePhase = "true"; diff --git a/pkgs/applications/misc/bleachbit/default.nix b/pkgs/applications/misc/bleachbit/default.nix index 84a122d6fd71..e67480fb3c7a 100644 --- a/pkgs/applications/misc/bleachbit/default.nix +++ b/pkgs/applications/misc/bleachbit/default.nix @@ -22,7 +22,7 @@ pythonPackages.buildPythonApplication rec { substituteInPlace $out/bin/bleachbit --replace "#!/usr/bin/env python" "#!${pythonPackages.python.interpreter}" ''; - propagatedBuildInputs = with pythonPackages; [ pygtk sqlite3 ]; + propagatedBuildInputs = with pythonPackages; [ pygtk ]; meta = { homepage = "http://bleachbit.sourceforge.net"; diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix index d76c935f0a69..e07fa1df5464 100644 --- a/pkgs/applications/misc/blender/default.nix +++ b/pkgs/applications/misc/blender/default.nix @@ -1,7 +1,8 @@ { stdenv, lib, fetchurl, boost, cmake, ffmpeg, gettext, glew -, ilmbase, libXi, libX11, libjpeg, libpng, libsamplerate, libsndfile -, libtiff, mesa, openal, opencolorio, openexr, openimageio, openjpeg, python -, zlib, fftw, opensubdiv, freetype +, ilmbase, libXi, libX11, libXext, libXrender +, libjpeg, libpng, libsamplerate, libsndfile +, libtiff, mesa, openal, opencolorio, openexr, openimageio, openjpeg_1, python +, zlib, fftw, opensubdiv, freetype, jemalloc , jackaudioSupport ? false, libjack2 , cudaSupport ? false, cudatoolkit , colladaSupport ? true, opencollada @@ -10,17 +11,18 @@ with lib; stdenv.mkDerivation rec { - name = "blender-2.77a"; + name = "blender-2.78a"; src = fetchurl { url = "http://download.blender.org/source/${name}.tar.gz"; - sha256 = "0rswx2n52wjr4jpvg1a6mir5das2i752brjzigmm8rhayl0glw1p"; + sha256 = "1byf1klrvm8fdw2libx7wldz2i6lblp9nih6y58ydh00paqi8jh1"; }; buildInputs = - [ boost cmake ffmpeg gettext glew ilmbase libXi libX11 freetype - libjpeg libpng libsamplerate libsndfile libtiff mesa openal - opencolorio openexr openimageio openjpeg python zlib fftw + [ boost cmake ffmpeg gettext glew ilmbase + libXi libX11 libXext libXrender + freetype libjpeg libpng libsamplerate libsndfile libtiff mesa openal + opencolorio openexr openimageio openjpeg_1 python zlib fftw jemalloc (opensubdiv.override { inherit cudaSupport; }) ] ++ optional jackaudioSupport libjack2 @@ -38,7 +40,7 @@ stdenv.mkDerivation rec { "-DWITH_CODEC_SNDFILE=ON" "-DWITH_INSTALL_PORTABLE=OFF" "-DWITH_FFTW3=ON" - "-DWITH_SDL=ON" + #"-DWITH_SDL=ON" "-DWITH_GAMEENGINE=ON" "-DWITH_OPENCOLORIO=ON" "-DWITH_SYSTEM_OPENJPEG=ON" diff --git a/pkgs/applications/misc/buku/default.nix b/pkgs/applications/misc/buku/default.nix index 79b4e787eaaa..a0414786ba42 100644 --- a/pkgs/applications/misc/buku/default.nix +++ b/pkgs/applications/misc/buku/default.nix @@ -1,19 +1,22 @@ { stdenv, pythonPackages, fetchFromGitHub, - encryptionSupport ? false }: -pythonPackages.buildPythonApplication rec { - version = "1.9"; +with pythonPackages; buildPythonApplication rec { + version = "2.7"; name = "buku-${version}"; src = fetchFromGitHub { owner = "jarun"; repo = "buku"; - rev = "e99844876d0d871df80770b1bd76c161276116eb"; - sha256 = "1qwkff61gdjd6w337a5ipfiybzqdwkxdyfa1l4zzm9dj7lsklgq2"; + rev = "v${version}"; + sha256 = "1hb5283xaz1ll3iv5542i6f9qshrdgg33dg7gvghz0fwdh8i0jbk"; }; - buildInputs = stdenv.lib.optional encryptionSupport pythonPackages.pycrypto; + buildInputs = [ + cryptography + beautifulsoup4 + ]; + propagatedBuildInputs = [ beautifulsoup4 ]; phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix index 327596006091..5c05d1e17873 100644 --- a/pkgs/applications/misc/calibre/default.nix +++ b/pkgs/applications/misc/calibre/default.nix @@ -1,47 +1,63 @@ -{ stdenv, fetchurl, python, pyqt5, sip, poppler_utils, pkgconfig, libpng +{ stdenv, fetchurl, fetchpatch, poppler_utils, pkgconfig, libpng , imagemagick, libjpeg, fontconfig, podofo, qtbase, qmakeHook, icu, sqlite -, makeWrapper, unrarSupport ? false, chmlib, pythonPackages, xz, libusb1, libmtp +, makeWrapper, unrarSupport ? false, chmlib, python2Packages, xz, libusb1, libmtp , xdg_utils, makeDesktopItem }: stdenv.mkDerivation rec { - version = "2.64.0"; + version = "2.76.0"; name = "calibre-${version}"; src = fetchurl { url = "https://download.calibre-ebook.com/${version}/${name}.tar.xz"; - sha256 = "0jjbkhd3n7rh5q6cl6yy51hyjbxmgm6xj7i2a1d3h2ggrip1zmr9"; + sha256 = "1xfm586n6gm44mkyn25mbiyhj6w9ji9yl6fvmnr4zk1q6qcga3v8"; }; - inherit python; - patches = [ - # Patch from Debian that switches the version update change from - # enabled by default to disabled by default. - ./no_updates_dialog.patch + # Patches from Debian that: + # - disable plugin installation (very insecure) + # - disables loading of web bug for privacy + # - switches the version update from enabled to disabled by default + (fetchpatch { + name = "disable_plugins.patch"; + url = "http://bazaar.launchpad.net/~calibre-packagers/calibre/debian/download/head:/disable_plugins.py-20111220183043-dcl08ccfagjxt1dv-1/disable_plugins.py"; + sha256 = "19spdx52dhbrfn9lm084yl3cfwm6f90imd51k97sf7flmpl569pk"; + }) + (fetchpatch { + name = "links_privacy.patch"; + url = "http://bazaar.launchpad.net/~calibre-packagers/calibre/debian/download/head:/linksprivacy.patch-20160417214308-6hvive72pc0r4awc-1/links-privacy.patch"; + sha256 = "0f6pq2b7q56pxrq2j8yqd7bksc623q2zgq29qcli30f13vga1w60"; + }) + (fetchpatch { + name = "no_updates_dialog.patch"; + url = "http://bazaar.launchpad.net/~calibre-packagers/calibre/debian/download/head:/no_updates_dialog.pa-20081231120426-rzzufl0zo66t3mtc-16/no_updates_dialog.patch"; + sha256 = "16xwa2fa47jvs954fjrwr8rhh89aljgi1d1wrfxa40sknlmfwxif"; + }) + # the unrar patch is not from debian ] ++ stdenv.lib.optional (!unrarSupport) ./dont_build_unrar_plugin.patch; prePatch = '' - sed -i "/pyqt_sip_dir/ s:=.*:= '${pyqt5}/share/sip/PyQt5':" \ + sed -i "/pyqt_sip_dir/ s:=.*:= '${python2Packages.pyqt5}/share/sip/PyQt5':" \ setup/build_environment.py + + # Remove unneeded files and libs + rm -rf resources/calibre-portable.* \ + src/{chardet,cherrypy,html5lib,odf,routes} ''; dontUseQmakeConfigure = true; - # hack around a build problem - preBuild = '' - mkdir -p ../tmp.*/lib - ''; nativeBuildInputs = [ makeWrapper pkgconfig qmakeHook ]; - buildInputs = - [ python pyqt5 sip poppler_utils libpng imagemagick libjpeg - fontconfig podofo qtbase chmlib icu sqlite libusb1 libmtp xdg_utils - pythonPackages.mechanize pythonPackages.lxml pythonPackages.dateutil - pythonPackages.cssutils pythonPackages.beautifulsoup pythonPackages.pillow - pythonPackages.sqlite3 pythonPackages.netifaces pythonPackages.apsw - pythonPackages.cssselect - ]; + buildInputs = [ + poppler_utils libpng imagemagick libjpeg + fontconfig podofo qtbase chmlib icu sqlite libusb1 libmtp xdg_utils + ] ++ (with python2Packages; [ + apsw beautifulsoup cssselect cssutils dateutil lxml mechanize netifaces pillow + python pyqt5 sip + # the following are distributed with calibre, but we use upstream instead + chardet cherrypy html5lib_0_9999999 odfpy routes + ]); installPhase = '' export HOME=$TMPDIR/fakehome @@ -53,8 +69,8 @@ stdenv.mkDerivation rec { export FC_LIB_DIR=${fontconfig.lib}/lib export PODOFO_INC_DIR=${podofo}/include/podofo export PODOFO_LIB_DIR=${podofo}/lib - export SIP_BIN=${sip}/bin/sip - python setup.py install --prefix=$out + export SIP_BIN=${python2Packages.sip}/bin/sip + ${python2Packages.python.interpreter} setup.py install --prefix=$out PYFILES="$out/bin/* $out/lib/calibre/calibre/web/feeds/*.py $out/lib/calibre/calibre/ebooks/metadata/*.py @@ -108,14 +124,14 @@ stdenv.mkDerivation rec { ]; categories = "Office"; extraEntries = '' - Actions=ebook-edit ebook-viewer + Actions=Edit;Viewer; - [Desktop Action ebook-edit] + [Desktop Action Edit] Name=Edit E-book Icon=@out@/share/calibre/images/tweak.png Exec=@out@/bin/ebook-edit --detach %F - [Desktop Action ebook-viewer] + [Desktop Action Viewer] Name=E-book Viewer Icon=@out@/share/calibre/images/viewer.png Exec=@out@/bin/ebook-viewer --detach %F diff --git a/pkgs/applications/misc/calibre/no_updates_dialog.patch b/pkgs/applications/misc/calibre/no_updates_dialog.patch deleted file mode 100644 index 52364f64dac7..000000000000 --- a/pkgs/applications/misc/calibre/no_updates_dialog.patch +++ /dev/null @@ -1,16 +0,0 @@ -# Description: Disable update check by default. -Index: calibre/src/calibre/gui2/main.py -=================================================================== ---- calibre.orig/src/calibre/gui2/main.py 2014-02-02 10:41:28.470954623 +0100 -+++ calibre/src/calibre/gui2/main.py 2014-02-02 10:41:56.546954247 +0100 -@@ -37,8 +37,8 @@ - help=_('Start minimized to system tray.')) - parser.add_option('-v', '--verbose', default=0, action='count', - help=_('Ignored, do not use. Present only for legacy reasons')) -- parser.add_option('--no-update-check', default=False, action='store_true', -- help=_('Do not check for updates')) -+ parser.add_option('--update-check', dest='no_update_check', default=True, action='store_false', -+ help=_('Check for updates')) - parser.add_option('--ignore-plugins', default=False, action='store_true', - help=_('Ignore custom plugins, useful if you installed a plugin' - ' that is preventing calibre from starting')) diff --git a/pkgs/applications/misc/cheat/default.nix b/pkgs/applications/misc/cheat/default.nix new file mode 100644 index 000000000000..246a50842c66 --- /dev/null +++ b/pkgs/applications/misc/cheat/default.nix @@ -0,0 +1,22 @@ +{ python3Packages, fetchurl, lib }: + +python3Packages.buildPythonApplication rec { + version = "2.1.27"; + name = "cheat-${version}"; + + propagatedBuildInputs = with python3Packages; [ docopt pygments ]; + + src = fetchurl { + url = "mirror://pypi/c/cheat/${name}.tar.gz"; + sha256 = "1mrrfwd4ivas0alfkhjryxxzf24a4ngk8c6n2zlfb8ziwf7czcqd"; + }; + # no tests available + doCheck = false; + + meta = { + description = "cheat allows you to create and view interactive cheatsheets on the command-line"; + maintainers = with lib.maintainers; [ mic92 ]; + license = with lib.licenses; [gpl3 mit]; + homepage = "https://github.com/chrisallenlane/cheat"; + }; +} diff --git a/pkgs/applications/misc/cherrytree/default.nix b/pkgs/applications/misc/cherrytree/default.nix index 4198a9f32b25..324fa12dc463 100644 --- a/pkgs/applications/misc/cherrytree/default.nix +++ b/pkgs/applications/misc/cherrytree/default.nix @@ -4,16 +4,13 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "cherrytree-${version}"; - version = "0.37.1"; + version = "0.37.6"; src = fetchurl { url = "http://www.giuspen.com/software/${name}.tar.xz"; - sha256 = "45f1cee4067598cf2ca8ae6f89d03789b86f9e3bf196236119868653420d7cdd"; + sha256 = "0x4cgsimpwh7wfbzbzw2f5ipxxjizpi4wa99s1cwizynfjr38y5s"; }; - propagatedBuildInputs = with pythonPackages; - [ sqlite3 ]; - buildInputs = with pythonPackages; [ python gettext wrapPython pygtk dbus-python pygtksourceview ]; diff --git a/pkgs/applications/misc/chirp/default.nix b/pkgs/applications/misc/chirp/default.nix index e77dd0e8c8a4..469da1f6ec42 100644 --- a/pkgs/applications/misc/chirp/default.nix +++ b/pkgs/applications/misc/chirp/default.nix @@ -2,15 +2,15 @@ , python, pyserial, pygtk }: let - version = "0.4.1"; + version = "20161018"; in stdenv.mkDerivation rec { - name = "chirp-${version}"; + name = "chirp-daily-${version}"; inherit version; src = fetchurl { - url = "http://chirp.danplanet.com/download/0.4.1/chirp-${version}.tar.gz"; - sha256 = "17iihghqjprn2hld193qw0yl1kkrf6m0fp57l7ibkflxr0nnb7cc"; + url = "http://trac.chirp.danplanet.com/chirp_daily/daily-${version}/chirp-daily-${version}.tar.gz"; + sha256 = "0f3r919az4vvcgxzqmxvhrxa2byzk5algy7srzzs15ihkvyxcwkb"; }; buildInputs = [ diff --git a/pkgs/applications/misc/cli-visualizer/default.nix b/pkgs/applications/misc/cli-visualizer/default.nix index 1c7fd62f8ecc..cdde212275d7 100644 --- a/pkgs/applications/misc/cli-visualizer/default.nix +++ b/pkgs/applications/misc/cli-visualizer/default.nix @@ -1,13 +1,14 @@ -{ stdenv, fetchgit, fftw, ncurses, libpulseaudio }: +{ stdenv, fetchFromGitHub, fftw, ncurses, libpulseaudio }: stdenv.mkDerivation rec { - version = "2016-06-02"; + version = "1.5"; name = "cli-visualizer-${version}"; - src = fetchgit { - url = "https://github.com/dpayne/cli-visualizer.git"; - rev = "bc0104eb57e7a0b3821510bc8f93cf5d1154fa8e"; - sha256 = "16768gyi85mkizfn874q2q9xf32knw08z27si3k5bk99492dxwzw"; + src = fetchFromGitHub { + owner = "dpayne"; + repo = "cli-visualizer"; + rev = version; + sha256 = "18qv4ya64qmczq94dnynrnzn7pwhmzbn14r05qcvbbwv7r8gclzs"; }; postPatch = '' diff --git a/pkgs/applications/misc/clipit/default.nix b/pkgs/applications/misc/clipit/default.nix index 57f6c229a08f..06ebaa7c12dd 100644 --- a/pkgs/applications/misc/clipit/default.nix +++ b/pkgs/applications/misc/clipit/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, intltool, pkgconfig, gtk, xdotool }: +{ fetchurl, stdenv, intltool, pkgconfig, gtk2, xdotool, hicolor_icon_theme }: stdenv.mkDerivation rec { name = "clipit-${version}"; @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "0jrwn8qfgb15rwspdp1p8hb1nc0ngmpvgr87d4k3lhlvqg2cfqva"; }; - buildInputs = [ intltool pkgconfig gtk xdotool ]; + buildInputs = [ intltool pkgconfig gtk2 xdotool hicolor_icon_theme ]; meta = with stdenv.lib; { description = "Lightweight GTK+ Clipboard Manager"; diff --git a/pkgs/applications/misc/confclerk/default.nix b/pkgs/applications/misc/confclerk/default.nix new file mode 100644 index 000000000000..08f654cdec4f --- /dev/null +++ b/pkgs/applications/misc/confclerk/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchurl, qt4, qmake4Hook }: + +let version = "0.6.1"; in +stdenv.mkDerivation { + name = "confclerk-${version}"; + + src = fetchurl { + url = "http://www.toastfreeware.priv.at/tarballs/confclerk/confclerk-${version}.tar.gz"; + sha256 = "1wprndshmc7k1919n7k93c4ha2jp171q31gx7xsbzx7g4sw6432g"; + }; + + buildInputs = [ qt4 ]; + + nativeBuildInputs = [ qmake4Hook ]; + + installPhase = '' + mkdir -p $out/bin + cp src/bin/confclerk $out/bin + ''; + + meta = { + description = "Offline conference schedule viewer"; + homepage = "http://www.toastfreeware.priv.at/confclerk"; + license = stdenv.lib.licenses.gpl2; + maintainers = with stdenv.lib.maintainers; [ ehmry ]; + inherit (qt4.meta) platforms; + }; +} diff --git a/pkgs/applications/misc/cortex/default.nix b/pkgs/applications/misc/cortex/default.nix index 777a759177c8..42565ae7fa8c 100644 --- a/pkgs/applications/misc/cortex/default.nix +++ b/pkgs/applications/misc/cortex/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchgit, python3 }: stdenv.mkDerivation { - name = "cortex-2014-08-01"; + name = "cortex-2015-08-23"; src = fetchgit { url = "https://github.com/gglucas/cortex"; - rev = "e749de6c21aae02386f006fd0401d22b9dcca424"; - sha256 = "d5d59c5257107344122c701eb370f3740f9957b6b898ac798d797a4f152f614c"; + rev = "ff10ff860479fe2f50590c0f8fcfc6dc34446639"; + sha256 = "0pa2kkkcnmf56d5d5kknv0gfahddym75xripd4kgszaj6hsib3zg"; }; buildInputs = [ stdenv python3 ]; diff --git a/pkgs/applications/misc/cpp-ethereum/default.nix b/pkgs/applications/misc/cpp-ethereum/default.nix new file mode 100644 index 000000000000..150c900ba9fb --- /dev/null +++ b/pkgs/applications/misc/cpp-ethereum/default.nix @@ -0,0 +1,84 @@ +{ stdenv +, fetchFromGitHub +, cmake +, jsoncpp +, libjson_rpc_cpp +, curl +, boost +, leveldb +, cryptopp +, libcpuid +, opencl-headers +, ocl-icd +, miniupnpc +, libmicrohttpd +, gmp +, mesa +, extraCmakeFlags ? [] +}: +stdenv.mkDerivation rec { + name = "cpp-ethereum-${version}"; + version = "1.3.0"; + + src = fetchFromGitHub { + owner = "ethereum"; + repo = "cpp-ethereum"; + rev = "62ab9522e58df9f28d2168ea27999a214b16ea96"; + sha256 = "1fxgpqhmjhpv0zzs1m3yf9h8mh25dqpa7pmcfy7f9qiqpfdr4zq9"; + }; + + cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" extraCmakeFlags ]; + + configurePhase = '' + export BOOST_INCLUDEDIR=${boost.dev}/include + export BOOST_LIBRARYDIR=${boost.out}/lib + + mkdir -p Build/Install + pushd Build + + cmake .. -DCMAKE_INSTALL_PREFIX=$(pwd)/Install $cmakeFlags + ''; + + enableParallelBuilding = true; + + runPath = with stdenv.lib; makeLibraryPath ([ stdenv.cc.cc ] ++ buildInputs); + + installPhase = '' + make install + + mkdir -p $out + + for f in Install/lib/*.so* $(find Install/bin -executable -type f); do + patchelf --set-rpath $runPath:$out/lib $f + done + + cp -r Install/* $out + ''; + + buildInputs = [ + cmake + jsoncpp + libjson_rpc_cpp + curl + boost + leveldb + cryptopp + libcpuid + opencl-headers + ocl-icd + miniupnpc + libmicrohttpd + gmp + mesa + ]; + + dontStrip = true; + + meta = with stdenv.lib; { + description = "Ethereum C++ client"; + homepage = https://github.com/ethereum/cpp-ethereum; + license = licenses.gpl3; + maintainers = with maintainers; [ artuuge ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/misc/curaengine/default.nix b/pkgs/applications/misc/curaengine/default.nix index b7db33609cc5..ce743a008798 100644 --- a/pkgs/applications/misc/curaengine/default.nix +++ b/pkgs/applications/misc/curaengine/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl }: let - version = "15.04"; + version = "15.04.6"; in stdenv.mkDerivation { name = "curaengine-${version}"; src = fetchurl { url = "https://github.com/Ultimaker/CuraEngine/archive/${version}.tar.gz"; - sha256 = "0rgrsyi7951fsv3lzprlzrg55jf6pbdjfql85dylwmg9nc4y8xym"; + sha256 = "1cd4dikzvqyj5g80rqwymvh4nwm76vsf78clb37kj6q0fig3qbjg"; }; postPatch = '' diff --git a/pkgs/applications/misc/d4x/default.nix b/pkgs/applications/misc/d4x/default.nix index cdcada196b98..b6d6e53b0019 100644 --- a/pkgs/applications/misc/d4x/default.nix +++ b/pkgs/applications/misc/d4x/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, gtk, glib, pkgconfig, openssl, boost }: +{ stdenv, fetchurl, gtk2, glib, pkgconfig, openssl, boost }: stdenv.mkDerivation { name = "d4x-2.5.7.1"; @@ -10,7 +10,7 @@ stdenv.mkDerivation { sha256 = "1i1jj02bxynisqapv31481sz9jpfp3f023ky47spz1v1wlwbs13m"; }; - buildInputs = [ gtk glib pkgconfig openssl boost ]; + buildInputs = [ gtk2 glib pkgconfig openssl boost ]; meta = { description = "Graphical download manager"; diff --git a/pkgs/applications/misc/ding/default.nix b/pkgs/applications/misc/ding/default.nix index 38cd9dbcc37a..e76f95b6a50d 100644 --- a/pkgs/applications/misc/ding/default.nix +++ b/pkgs/applications/misc/ding/default.nix @@ -10,11 +10,11 @@ let }; in stdenv.mkDerivation rec { - name = "ding-1.8"; + name = "ding-1.8.1"; src = fetchurl { url = "http://ftp.tu-chemnitz.de/pub/Local/urz/ding/${name}.tar.gz"; - sha256 = "00z97ndwmzsgig9q6y98y8nbxy76pyi9qyj5qfpbbck24gakpz5l"; + sha256 = "0chjqs3z9zs1w3l7b5lsaj682rgnkf9kibcbzhggqqcn1pbvl5sq"; }; buildInputs = [ aspellEnv fortune gnugrep makeWrapper tk tre ]; @@ -36,11 +36,11 @@ stdenv.mkDerivation rec { sed -i "s@/usr/bin/ding@$out/bin/ding@g" ding.desktop - cp ding $out/bin/ - cp de-en.txt $out/share/dict/ - cp ding.1 $out/share/man/man1/ - cp ding.png $out/share/pixmaps/ - cp ding.desktop $out/share/applications/ + cp -v ding $out/bin/ + cp -v de-en.txt $out/share/dict/ + cp -v ding.1 $out/share/man/man1/ + cp -v ding.png $out/share/pixmaps/ + cp -v ding.desktop $out/share/applications/ wrapProgram $out/bin/ding --prefix PATH : ${stdenv.lib.makeBinPath [ gnugrep aspellEnv tk fortune ]} --prefix ASPELL_CONF : "\"prefix ${aspellEnv};\"" ''; diff --git a/pkgs/applications/misc/doomseeker/default.nix b/pkgs/applications/misc/doomseeker/default.nix index 3e76f6c36e71..33adacefb9de 100644 --- a/pkgs/applications/misc/doomseeker/default.nix +++ b/pkgs/applications/misc/doomseeker/default.nix @@ -8,8 +8,6 @@ stdenv.mkDerivation rec { sha256 = "172ybxg720r64hp6aah0hqvxklqv1cf8v7kwx0ng5ap0h20jydbw"; }; - cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" ]; - buildInputs = [ qt4 zlib bzip2 ]; nativeBuildInputs = [ cmake pkgconfig ]; diff --git a/pkgs/applications/misc/dunst/default.nix b/pkgs/applications/misc/dunst/default.nix index 0c51cb132629..221bd3c4bf5e 100644 --- a/pkgs/applications/misc/dunst/default.nix +++ b/pkgs/applications/misc/dunst/default.nix @@ -1,7 +1,8 @@ -{ stdenv, fetchFromGitHub +{ stdenv, fetchFromGitHub, fetchpatch , pkgconfig, which, perl , cairo, dbus, freetype, gdk_pixbuf, glib, libX11, libXScrnSaver , libXext, libXinerama, libnotify, libxdg_basedir, pango, xproto +, librsvg }: stdenv.mkDerivation rec { @@ -15,11 +16,17 @@ stdenv.mkDerivation rec { sha256 = "102s0rkcdz22hnacsi3dhm7kj3lsw9gnikmh3a7wk862nkvvwjmk"; }; + patches = [(fetchpatch { + name = "add-svg-support.patch"; + url = "https://github.com/knopwob/dunst/commit/63b11141185d1d07a6d12212257a543e182d250a.patch"; + sha256 = "0giiaj5zjim7xqcav5ij5gn4x6nnchkllwcx0ln16j0p3vbi4y4x"; + })]; + nativeBuildInputs = [ perl pkgconfig which ]; buildInputs = [ cairo dbus freetype gdk_pixbuf glib libX11 libXScrnSaver libXext - libXinerama libnotify libxdg_basedir pango xproto + libXinerama libnotify libxdg_basedir pango xproto librsvg ]; outputs = [ "out" "man" ]; diff --git a/pkgs/applications/misc/eaglemode/default.nix b/pkgs/applications/misc/eaglemode/default.nix index 061a10c6a9f2..95cae316a711 100644 --- a/pkgs/applications/misc/eaglemode/default.nix +++ b/pkgs/applications/misc/eaglemode/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, perl, libX11, libjpeg, libpng, libtiff, pkgconfig, -librsvg, glib, gtk, libXext, libXxf86vm, poppler, xineLib }: +librsvg, glib, gtk2, libXext, libXxf86vm, poppler, xineLib }: stdenv.mkDerivation rec { name = "eaglemode-0.86.0"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { }; buildInputs = [ perl libX11 libjpeg libpng libtiff pkgconfig - librsvg glib gtk libXxf86vm libXext poppler xineLib ]; + librsvg glib gtk2 libXxf86vm libXext poppler xineLib ]; # The program tries to dlopen both Xxf86vm and Xext, so we use the # trick on NIX_LDFLAGS and dontPatchELF to make it find them. diff --git a/pkgs/applications/misc/electrum-dash/default.nix b/pkgs/applications/misc/electrum-dash/default.nix index 7b1bdef4eb59..917d32e74afd 100644 --- a/pkgs/applications/misc/electrum-dash/default.nix +++ b/pkgs/applications/misc/electrum-dash/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchurl, buildPythonApplication, pythonPackages, slowaes }: +{ stdenv, fetchurl, python2Packages }: -buildPythonApplication rec { +python2Packages.buildPythonApplication rec { name = "electrum-dash-${version}"; version = "2.4.1"; @@ -9,11 +9,11 @@ buildPythonApplication rec { sha256 = "02k7m7fyn0cvlgmwxr2gag7rf2knllkch1ma58shysp7zx9jb000"; }; - propagatedBuildInputs = with pythonPackages; [ + propagatedBuildInputs = with python2Packages; [ dns ecdsa pbkdf2 - protobuf + protobuf3_0 pyasn1 pyasn1-modules pycrypto diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix index d5442a2ded8b..e0d426e99b62 100644 --- a/pkgs/applications/misc/electrum/default.nix +++ b/pkgs/applications/misc/electrum/default.nix @@ -1,36 +1,20 @@ -{ stdenv, fetchurl, pythonPackages }: +{ stdenv, fetchurl, python2Packages }: -let - jsonrpclib = pythonPackages.buildPythonPackage rec { - version = "0.1.7"; - name = "jsonrpclib-${version}"; - src = fetchurl { - url = "mirror://pypi/j/jsonrpclib/${name}.tar.gz"; - sha256 = "02vgirw2bcgvpcxhv5hf3yvvb4h5wzd1lpjx8na5psdmaffj6l3z"; - }; - propagatedBuildInputs = [ pythonPackages.cjson ]; - meta = { - homepage = https://pypi.python.org/pypi/jsonrpclib; - license = stdenv.lib.licenses.asl20; - }; - }; -in - -pythonPackages.buildPythonApplication rec { +python2Packages.buildPythonApplication rec { name = "electrum-${version}"; - version = "2.6.4"; + version = "2.7.12"; src = fetchurl { url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz"; - sha256 = "0rpqpspmrmgm0bhsnlnhlwhag6zg8hnv5bcw5vkqmv86891kpd9a"; + sha256 = "0vxdfl208if7mdsnva1jg37bnay2dsz3ww157aqwcv1j6512fi1n"; }; - propagatedBuildInputs = with pythonPackages; [ + propagatedBuildInputs = with python2Packages; [ dns ecdsa jsonrpclib pbkdf2 - protobuf + protobuf3_0 pyasn1 pyasn1-modules pycrypto @@ -49,26 +33,34 @@ pythonPackages.buildPythonApplication rec { # amodem ]; - preInstall = '' - mkdir -p $out/share - sed -i 's@usr_share = .*@usr_share = os.getenv("out")+"/share"@' setup.py + preBuild = '' + sed -i 's,usr_share = .*,usr_share = "'$out'/share",g' setup.py pyrcc4 icons.qrc -o gui/qt/icons_rc.py + # Recording the creation timestamps introduces indeterminism to the build + sed -i '/Created: .*/d' gui/qt/icons_rc.py ''; - doCheck = true; - checkPhase = '' + postInstall = '' + # Despite setting usr_share above, these files are installed under + # $out/nix ... + mv $out/lib/python2.7/site-packages/nix/store/*/share $out + rm -rf $out/lib/python2.7/site-packages/nix + ''; + + doInstallCheck = true; + installCheckPhase = '' $out/bin/electrum help >/dev/null ''; meta = with stdenv.lib; { - description = "Bitcoin thin-client"; + description = "A lightweight Bitcoin wallet"; longDescription = '' An easy-to-use Bitcoin client featuring wallets generated from mnemonic seeds (in addition to other, more advanced, wallet options) and the ability to perform transactions without downloading a copy of the blockchain. ''; - homepage = https://electrum.org; + homepage = https://electrum.org/; license = licenses.mit; maintainers = with maintainers; [ ehmry joachifm np ]; }; diff --git a/pkgs/applications/misc/epdfview/default.nix b/pkgs/applications/misc/epdfview/default.nix index 782ef4ae3660..09bef975c85b 100644 --- a/pkgs/applications/misc/epdfview/default.nix +++ b/pkgs/applications/misc/epdfview/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fetchpatch, pkgconfig, gtk, poppler }: +{ stdenv, fetchurl, fetchpatch, pkgconfig, gtk2, poppler }: stdenv.mkDerivation rec { name = "epdfview-0.1.8"; @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { sha256 = "1w7qybh8ssl4dffi5qfajq8mndw7ipsd92vkim03nywxgjp4i1ll"; }; - buildInputs = [ pkgconfig gtk poppler ]; + buildInputs = [ pkgconfig gtk2 poppler ]; hardeningDisable = [ "format" ]; diff --git a/pkgs/applications/misc/evilvte/default.nix b/pkgs/applications/misc/evilvte/default.nix index f7a8fe4eafc2..1165ced11f9c 100644 --- a/pkgs/applications/misc/evilvte/default.nix +++ b/pkgs/applications/misc/evilvte/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchgit, makeWrapper, pkgconfig, - gnome, glib, pango, cairo, gdk_pixbuf, atk, freetype, xorg, + gnome2, glib, pango, cairo, gdk_pixbuf, atk, freetype, xorg, configH }: @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { }; buildInputs = [ - gnome.vte glib pango gnome.gtk cairo gdk_pixbuf atk freetype xorg.libX11 + gnome2.vte glib pango gnome2.gtk cairo gdk_pixbuf atk freetype xorg.libX11 xorg.xproto xorg.kbproto xorg.libXext xorg.xextproto makeWrapper pkgconfig ]; diff --git a/pkgs/applications/misc/exercism/default.nix b/pkgs/applications/misc/exercism/default.nix new file mode 100644 index 000000000000..6ccae9d53601 --- /dev/null +++ b/pkgs/applications/misc/exercism/default.nix @@ -0,0 +1,23 @@ +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + name = "exercism-${version}"; + version = "2.3.0"; + + goPackagePath = "github.com/exercism/cli"; + + src = fetchFromGitHub { + owner = "exercism"; + repo = "cli"; + rev = "v${version}"; + sha256 = "1zhvvmsh5kw739kylk0bqj1wa6vjyahz43dlxdpv42h8gfiiksf5"; + }; + + meta = with stdenv.lib; { + description = "A Go based command line tool for exercism.io"; + homepage = http://exercism.io/cli; + license = licenses.mit; + maintainers = [ maintainers.rbasso ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/misc/fehlstart/default.nix b/pkgs/applications/misc/fehlstart/default.nix index 35b66299c06d..548679e4b47c 100644 --- a/pkgs/applications/misc/fehlstart/default.nix +++ b/pkgs/applications/misc/fehlstart/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation { meta = with stdenv.lib; { description = "Small desktop application launcher with reasonable memory footprint"; homepage = https://gitlab.com/fehlstart/fehlstart; - licence = licenses.gpl3; + license = licenses.gpl3; maintainers = [ maintainers.mounium ]; platforms = platforms.all; }; diff --git a/pkgs/applications/misc/fme/default.nix b/pkgs/applications/misc/fme/default.nix index 685c0ecb4ede..301695885016 100644 --- a/pkgs/applications/misc/fme/default.nix +++ b/pkgs/applications/misc/fme/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig, autoconf, automake, gettext -, fluxbox, bc, gtkmm, glibmm, libglademm, libsigcxx }: +, fluxbox, bc, gtkmm2, glibmm, libglademm, libsigcxx }: stdenv.mkDerivation rec{ @@ -11,7 +11,7 @@ stdenv.mkDerivation rec{ sha256 = "d1c81a6a38c0faad02943ad65d6d0314bd205c6de841669a2efe43e4c503e63d"; }; - buildInputs = [ pkgconfig autoconf automake gettext fluxbox bc gtkmm glibmm libglademm libsigcxx ]; + buildInputs = [ pkgconfig autoconf automake gettext fluxbox bc gtkmm2 glibmm libglademm libsigcxx ]; preConfigure = '' ./autogen.sh diff --git a/pkgs/applications/misc/font-manager/default.nix b/pkgs/applications/misc/font-manager/default.nix index 9dbfa9605446..6d67d3a340f5 100644 --- a/pkgs/applications/misc/font-manager/default.nix +++ b/pkgs/applications/misc/font-manager/default.nix @@ -1,17 +1,17 @@ { stdenv, fetchFromGitHub, makeWrapper, automake, autoconf, libtool, pkgconfig, file, intltool, libxml2, json_glib , sqlite, itstool, - vala_0_32, gnome3, wrapGAppsHook + librsvg, vala_0_34, gnome3, wrapGAppsHook }: stdenv.mkDerivation rec { name = "font-manager-${version}"; - version = "2016-06-04"; + version = "0.7.3"; src = fetchFromGitHub { owner = "FontManager"; repo = "master"; - rev = "07b47c153494f19ced291c84437349253c5bde4d"; - sha256 = "13pjmvx31fr8fqhl5qwawhawfl7as9c50qshzzig8n5g7vb5v1i0"; + rev = version; + sha256 = "0qwi1mn2sc2q5cs28rga8i3cn34ylybs949vjnh97dl2rvlc0x06"; }; nativeBuildInputs = [ @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { automake autoconf libtool file intltool - vala_0_32 + vala_0_34 gnome3.yelp_tools wrapGAppsHook ]; @@ -30,17 +30,18 @@ stdenv.mkDerivation rec { json_glib sqlite itstool + librsvg gnome3.gtk gnome3.gucharmap gnome3.libgee gnome3.file-roller + gnome3.defaultIconTheme ]; enableParallelBuilding = true; preConfigure = '' NOCONFIGURE=true ./autogen.sh - chmod +x configure; substituteInPlace configure --replace "/usr/bin/file" "${file}/bin/file" ''; diff --git a/pkgs/applications/misc/get_iplayer/default.nix b/pkgs/applications/misc/get_iplayer/default.nix index 069d07bd82a4..a858fefa8c2b 100644 --- a/pkgs/applications/misc/get_iplayer/default.nix +++ b/pkgs/applications/misc/get_iplayer/default.nix @@ -1,30 +1,33 @@ -{stdenv, fetchurl, flvstreamer, ffmpeg, makeWrapper, perl, buildPerlPackage, perlPackages, vlc, rtmpdump}: -buildPerlPackage { - name = "get_iplayer-2.94"; +{stdenv, fetchurl, atomicparsley, flvstreamer, ffmpeg, makeWrapper, perl, buildPerlPackage, perlPackages, rtmpdump}: +buildPerlPackage rec { + name = "get_iplayer-${version}"; + version = "2.97"; buildInputs = [makeWrapper perl]; - propagatedBuildInputs = with perlPackages; [HTMLParser HTTPCookies LWP XMLSimple]; + propagatedBuildInputs = with perlPackages; [HTMLParser HTTPCookies LWP XMLLibXML XMLSimple]; preConfigure = "touch Makefile.PL"; doCheck = false; outputs = [ "out" "man" ]; - patchPhase = '' - sed -e 's|^update_script|#update_script|' \ - -e '/WARNING.*updater/d' \ - -i get_iplayer - ''; - - installPhase = '' + installPhase = '' mkdir -p $out/bin $out/share/man/man1 cp get_iplayer $out/bin - wrapProgram $out/bin/get_iplayer --suffix PATH : ${stdenv.lib.makeBinPath [ ffmpeg flvstreamer vlc rtmpdump ]} --prefix PERL5LIB : $PERL5LIB + wrapProgram $out/bin/get_iplayer --suffix PATH : ${stdenv.lib.makeBinPath [ atomicparsley ffmpeg flvstreamer rtmpdump ]} --prefix PERL5LIB : $PERL5LIB cp get_iplayer.1 $out/share/man/man1 ''; src = fetchurl { - url = ftp://ftp.infradead.org/pub/get_iplayer/get_iplayer-2.94.tar.gz; - sha256 = "16p0bw879fl8cs6rp37g1hgrcai771z6rcqk2nvm49kk39dx1zi4"; + url = "https://github.com/get-iplayer/get_iplayer/archive/v${version}.tar.gz"; + sha256 = "0bb6kmzjmazwfxq5ip7yxm39vssfgz3v5vfx1114wfssp6pw0r44"; + }; + + meta = { + description = "Downloads TV and radio from BBC iPlayer"; + license = stdenv.lib.licenses.gpl3Plus; + homepage = https://squarepenguin.co.uk/; + downloadPage = https://github.com/get-iplayer/get_iplayer/releases; + platforms = stdenv.lib.platforms.all; }; } diff --git a/pkgs/applications/misc/getxbook/default.nix b/pkgs/applications/misc/getxbook/default.nix new file mode 100644 index 000000000000..a77f87f6f1f1 --- /dev/null +++ b/pkgs/applications/misc/getxbook/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl, openssl }: + +stdenv.mkDerivation rec { + name = "getxbook-${version}"; + version = "1.2"; + + src = fetchurl { + url = "https://njw.me.uk/getxbook/${name}.tar.xz"; + sha256 = "0ihwrx4gspj8l7fc8vxch6dpjrw1lvv9z3c19f0wxnmnxhv1cjvs"; + }; + + buildInputs = [ openssl ]; + + makeFlags = [ "PREFIX=$(out)" ]; + + meta = with stdenv.lib; { + description = "A collection of tools to download books from Google Books"; + homepage = https://njw.me.uk/getxbook/; + license = licenses.isc; + maintainers = with maintainers; [ obadz ]; + platforms = platforms.all; + inherit version; + }; +} diff --git a/pkgs/applications/misc/gkrellm/default.nix b/pkgs/applications/misc/gkrellm/default.nix index f4fec41b9e66..d6a59a89be65 100644 --- a/pkgs/applications/misc/gkrellm/default.nix +++ b/pkgs/applications/misc/gkrellm/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, gettext, pkgconfig, glib, gtk, libX11, libSM, libICE +{ fetchurl, stdenv, gettext, pkgconfig, glib, gtk2, libX11, libSM, libICE , IOKit ? null }: stdenv.mkDerivation rec { @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { sha256 = "12rc6zaa7kb60b9744lbrlfkxxfniprm6x0mispv63h4kh75navh"; }; - buildInputs = [gettext pkgconfig glib gtk libX11 libSM libICE] + buildInputs = [gettext pkgconfig glib gtk2 libX11 libSM libICE] ++ stdenv.lib.optionals stdenv.isDarwin [ IOKit ]; hardeningDisable = [ "format" ]; diff --git a/pkgs/applications/misc/gksu/default.nix b/pkgs/applications/misc/gksu/default.nix index c3f78efd4123..0b6ebe06b88a 100644 --- a/pkgs/applications/misc/gksu/default.nix +++ b/pkgs/applications/misc/gksu/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, gtk, gnome3, libgksu, +{ stdenv, fetchurl, pkgconfig, gtk2, gnome3, libgksu, intltool, libstartup_notification, gtk_doc, wrapGAppsHook }: @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - gtk gnome3.gconf libstartup_notification gnome3.libgnome_keyring + gtk2 gnome3.gconf libstartup_notification gnome3.libgnome_keyring ]; propagatedBuildInputs = [ diff --git a/pkgs/applications/misc/gnome15/default.nix b/pkgs/applications/misc/gnome15/default.nix new file mode 100644 index 000000000000..c4f8be88bb51 --- /dev/null +++ b/pkgs/applications/misc/gnome15/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, python2, gnome_python, gnome_python_desktop }: + +stdenv.mkDerivation rec { + name = "gnome15-2016-06-10"; + + src = fetchFromGitHub { + owner = "achilleas-k"; + repo = "gnome15"; + rev = "1077c890d9ba8ef7a5e448e70a792de5c7443c84"; + sha256 = "0z5k2rgvv5zyi3lbbk6svncypidj44qzfchivb4vlr7clmh16m95"; + }; + + nativeBuildInputs = [ autoreconfHook pkgconfig python2.pkgs.wrapPython ]; + buildInputs = [ python2 ]; + propagatedBuildInputs = with python2.pkgs; [ + pygtk keyring virtkey pillow dbus-python pyinotify lxml pyxdg pyusb gnome_python gnome_python_desktop + python-uinput xlib pyudev pyinputevent + ]; + + postPatch = '' + touch README + export UDEV_RULES_PATH="$out/lib/udev/rules.d" + ''; + + postFixup = '' + wrapPythonPrograms + ''; + + meta = with stdenv.lib; { + description = "A set of tools for configuring the Logitech G15 keyboard"; + license = licenses.gpl3; + homepage = "https://gnome15.org/"; + platforms = platforms.linux; + maintainers = with maintainers; [ abbradar ]; + }; +} diff --git a/pkgs/applications/misc/gnuradio-ais/default.nix b/pkgs/applications/misc/gnuradio-ais/default.nix new file mode 100644 index 000000000000..eda95bc0c5e7 --- /dev/null +++ b/pkgs/applications/misc/gnuradio-ais/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchFromGitHub, cmake, pkgconfig, boost, gnuradio +, makeWrapper, cppunit, gnuradio-osmosdr +, pythonSupport ? true, python, swig +}: + +assert pythonSupport -> python != null && swig != null; + +stdenv.mkDerivation rec { + name = "gnuradio-ais-${version}"; + version = "2016-08-26"; + + src = fetchFromGitHub { + owner = "bistromath"; + repo = "gr-ais"; + rev = "1863d1bf8a7709a8dfedb3ddb8e2b99112e7c872"; + sha256 = "1vl3kk8xr2mh5lf31zdld7yzmwywqffffah8iblxdzblgsdwxfl6"; + }; + + buildInputs = [ + cmake pkgconfig boost gnuradio makeWrapper cppunit gnuradio-osmosdr + ] ++ stdenv.lib.optionals pythonSupport [ python swig ]; + + postInstall = '' + for prog in "$out"/bin/*; do + wrapProgram "$prog" --set PYTHONPATH $PYTHONPATH:$(toPythonPath "$out") + done + ''; + + meta = with stdenv.lib; { + description = "Gnuradio block for ais"; + homepage = https://github.com/bistromath/gr-ais; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ mog ]; + }; +} diff --git a/pkgs/applications/misc/gnuradio-gsm/default.nix b/pkgs/applications/misc/gnuradio-gsm/default.nix new file mode 100644 index 000000000000..a47925cab90d --- /dev/null +++ b/pkgs/applications/misc/gnuradio-gsm/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchFromGitHub, cmake, pkgconfig, boost, gnuradio +, makeWrapper, cppunit, libosmocore, gnuradio-osmosdr +, pythonSupport ? true, python, swig +}: + +assert pythonSupport -> python != null && swig != null; + +stdenv.mkDerivation rec { + name = "gnuradio-gsm-${version}"; + version = "2016-08-25"; + + src = fetchFromGitHub { + owner = "ptrkrysik"; + repo = "gr-gsm"; + rev = "3ca05e6914ef29eb536da5dbec323701fbc2050d"; + sha256 = "13nnq927kpf91iqccr8db9ripy5czjl5jiyivizn6bia0bam2pvx"; + }; + + buildInputs = [ + cmake pkgconfig boost gnuradio makeWrapper cppunit libosmocore gnuradio-osmosdr + ] ++ stdenv.lib.optionals pythonSupport [ python swig ]; + + postInstall = '' + for prog in "$out"/bin/*; do + wrapProgram "$prog" --set PYTHONPATH $PYTHONPATH:${gnuradio-osmosdr}/lib/${python.libPrefix}/site-packages:$(toPythonPath "$out") + done + ''; + + meta = with stdenv.lib; { + description = "Gnuradio block for gsm"; + homepage = https://github.com/ptrkrysik/gr-gsm; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ mog ]; + }; +} diff --git a/pkgs/applications/misc/gnuradio-rds/default.nix b/pkgs/applications/misc/gnuradio-rds/default.nix new file mode 100644 index 000000000000..5e729a75557e --- /dev/null +++ b/pkgs/applications/misc/gnuradio-rds/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchFromGitHub, cmake, pkgconfig, boost, gnuradio +, makeWrapper, pythonSupport ? true, python, swig +}: + +assert pythonSupport -> python != null && swig != null; + +stdenv.mkDerivation rec { + name = "gnuradio-rds-${version}"; + version = "2016-08-27"; + + src = fetchFromGitHub { + owner = "bastibl"; + repo = "gr-rds"; + rev = "5246b75180808d47f321cb26f6c16d7c7a7af4fc"; + sha256 = "008284ya464q4h4fd0zvcn6g7bym231p8fl3kdxncz9ks4zsbsxs"; + }; + + buildInputs = [ + cmake pkgconfig boost gnuradio makeWrapper + ] ++ stdenv.lib.optionals pythonSupport [ python swig ]; + + postInstall = '' + for prog in "$out"/bin/*; do + wrapProgram "$prog" --set PYTHONPATH $PYTHONPATH:$(toPythonPath "$out") + done + ''; + + meta = with stdenv.lib; { + description = "Gnuradio block for radio data system"; + homepage = https://github.com/bastibl/gr-rds; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ mog ]; + }; +} diff --git a/pkgs/applications/misc/gnuradio/default.nix b/pkgs/applications/misc/gnuradio/default.nix index 543f84bdfbc0..497ac298d281 100644 --- a/pkgs/applications/misc/gnuradio/default.nix +++ b/pkgs/applications/misc/gnuradio/default.nix @@ -4,7 +4,7 @@ # python wrappers , python, swig2, numpy, scipy, matplotlib # grc - the gnu radio companion -, cheetahTemplate, pygtk +, cheetah, pygtk # gr-wavelet: collection of wavelet blocks , gsl # gr-qtgui: the Qt-based GUI @@ -23,11 +23,11 @@ stdenv.mkDerivation rec { name = "gnuradio-${version}"; - version = "3.7.9.2"; + version = "3.7.10.1"; src = fetchurl { url = "http://gnuradio.org/releases/gnuradio/${name}.tar.gz"; - sha256 = "0qdmakvgq3jxnnqpcn3k4q07vj8ycrbyzv32h76k71cv13w2yrki"; + sha256 = "0ds9mcw8hgm03f82jvp3j4mm02ha6zvsl77lp13jzqmbqifbdmv3"; }; buildInputs = [ @@ -36,7 +36,7 @@ stdenv.mkDerivation rec { ]; propagatedBuildInputs = [ - cheetahTemplate numpy scipy matplotlib pyqt4 pygtk wxPython pyopengl + cheetah numpy scipy matplotlib pyqt4 pygtk wxPython pyopengl ]; enableParallelBuilding = true; diff --git a/pkgs/applications/misc/gosmore/default.nix b/pkgs/applications/misc/gosmore/default.nix index e894ace0d45c..5d13c18edc3e 100644 --- a/pkgs/applications/misc/gosmore/default.nix +++ b/pkgs/applications/misc/gosmore/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchsvn, libxml2, gtk, curl, pkgconfig } : +{ stdenv, fetchsvn, libxml2, gtk2, curl, pkgconfig } : let version = "31801"; @@ -15,7 +15,7 @@ stdenv.mkDerivation { ignoreExternals = true; }; - buildInputs = [ libxml2 gtk curl ]; + buildInputs = [ libxml2 gtk2 curl ]; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/misc/gpa/default.nix b/pkgs/applications/misc/gpa/default.nix index 10b8065c6237..600a54931217 100644 --- a/pkgs/applications/misc/gpa/default.nix +++ b/pkgs/applications/misc/gpa/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, intltool, pkgconfig, gtk, gpgme, libgpgerror, libassuan }: +{ stdenv, fetchurl, intltool, pkgconfig, gtk2, gpgme, libgpgerror, libassuan }: stdenv.mkDerivation rec { name = "gpa-0.9.9"; @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { sha256 = "0d235hcqai7m3qb7m9kvr2r4qg4714f87j9fdplwrlz1p4wdfa38"; }; - buildInputs = [ intltool pkgconfig gtk gpgme libgpgerror libassuan ]; + buildInputs = [ intltool pkgconfig gtk2 gpgme libgpgerror libassuan ]; meta = with stdenv.lib; { description = "Graphical user interface for the GnuPG"; diff --git a/pkgs/applications/misc/gpscorrelate/default.nix b/pkgs/applications/misc/gpscorrelate/default.nix index c6b48af5c061..5026fea0e358 100644 --- a/pkgs/applications/misc/gpscorrelate/default.nix +++ b/pkgs/applications/misc/gpscorrelate/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, pkgconfig, exiv2, libxml2, gtk +{ fetchurl, stdenv, pkgconfig, exiv2, libxml2, gtk2 , libxslt, docbook_xsl, docbook_xml_dtd_42 }: stdenv.mkDerivation rec { @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { }; buildInputs = [ - pkgconfig exiv2 libxml2 gtk + pkgconfig exiv2 libxml2 gtk2 libxslt docbook_xsl docbook_xml_dtd_42 ]; diff --git a/pkgs/applications/misc/gpsprune/default.nix b/pkgs/applications/misc/gpsprune/default.nix index 789f2d7c3fae..1f263a2b1dd5 100644 --- a/pkgs/applications/misc/gpsprune/default.nix +++ b/pkgs/applications/misc/gpsprune/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "gpsprune-${version}"; - version = "18.4"; + version = "18.5"; src = fetchurl { url = "http://activityworkshop.net/software/gpsprune/gpsprune_${version}.jar"; - sha256 = "0wrkvff3c1w66373m2w2ib07rkn3rmbp3n7ixz72qd1swvbk6xx1"; + sha256 = "0xd97b7rs5i41hyih6zdbvls090903yfr1r9lflq93dyqhmzpdhn"; }; phases = [ "installPhase" ]; diff --git a/pkgs/applications/misc/gramps/default.nix b/pkgs/applications/misc/gramps/default.nix index d750aea01ef0..4dcb5be8a21d 100644 --- a/pkgs/applications/misc/gramps/default.nix +++ b/pkgs/applications/misc/gramps/default.nix @@ -17,7 +17,7 @@ in buildPythonApplication rec { sha256 = "0jdps7yx2mlma1hdj64wssvnqd824xdvw0bmn2dnal5fn3h7h060"; }; - pythonPath = with pythonPackages; [ pygobject3 pycairo bsddb ] ++ [ pango ]; + pythonPath = with pythonPackages; [ pygobject3 pycairo ] ++ [ pango ]; # Same installPhase as in buildPythonApplication but without --old-and-unmanageble # install flag. diff --git a/pkgs/applications/misc/green-pdfviewer/default.nix b/pkgs/applications/misc/green-pdfviewer/default.nix index 03d333e59e67..623cb12f9323 100644 --- a/pkgs/applications/misc/green-pdfviewer/default.nix +++ b/pkgs/applications/misc/green-pdfviewer/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, poppler, pkgconfig, gdk_pixbuf, SDL, gtk }: +{ stdenv, fetchFromGitHub, poppler, pkgconfig, gdk_pixbuf, SDL, gtk2 }: stdenv.mkDerivation rec { name = "green-pdfviewer-${version}"; @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { sha256 = "0d0lv33flhgsxhc77kfp2avdz5gvml04r8l1j95yjz2rr096lzlj"; }; - buildInputs = [ poppler pkgconfig gdk_pixbuf SDL gtk ]; + buildInputs = [ poppler pkgconfig gdk_pixbuf SDL gtk2 ]; patches = [ ./gdk-libs.patch diff --git a/pkgs/applications/misc/grip/default.nix b/pkgs/applications/misc/grip/default.nix index 07cecc2d84e2..5db5b25947e6 100644 --- a/pkgs/applications/misc/grip/default.nix +++ b/pkgs/applications/misc/grip/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, gtk, glib, pkgconfig, libgnome, libgnomeui, vte +{ stdenv, fetchurl, gtk2, glib, pkgconfig, libgnome, libgnomeui, vte , curl, cdparanoia, libid3tag, ncurses, libtool }: stdenv.mkDerivation rec { @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "1zb6zpq7qmn6bflbgfwisyg3vrjr23yi1c1kqvwndl1f0shr8qyl"; }; - buildInputs = [ gtk glib pkgconfig libgnome libgnomeui vte curl cdparanoia + buildInputs = [ gtk2 glib pkgconfig libgnome libgnomeui vte curl cdparanoia libid3tag ncurses libtool ]; hardeningDisable = [ "format" ]; diff --git a/pkgs/applications/misc/hamster-time-tracker/default.nix b/pkgs/applications/misc/hamster-time-tracker/default.nix index aa6a4bd689a4..b8bd514c9ff3 100644 --- a/pkgs/applications/misc/hamster-time-tracker/default.nix +++ b/pkgs/applications/misc/hamster-time-tracker/default.nix @@ -21,7 +21,7 @@ pythonPackages.buildPythonApplication rec { docbook2x libxslt gnome_doc_utils intltool dbus_glib hicolor_icon_theme ]; - propagatedBuildInputs = with pythonPackages; [ pygobject pygtk pyxdg gnome_python dbus-python sqlite3 ]; + propagatedBuildInputs = with pythonPackages; [ pygobject2 pygtk pyxdg gnome_python dbus-python ]; configurePhase = '' python waf configure --prefix="$out" diff --git a/pkgs/applications/misc/haxor-news/default.nix b/pkgs/applications/misc/haxor-news/default.nix index e4074547d781..e925885f05f2 100644 --- a/pkgs/applications/misc/haxor-news/default.nix +++ b/pkgs/applications/misc/haxor-news/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, pythonPackages }: pythonPackages.buildPythonApplication rec { - version = "0.3.1"; + version = "0.4.1"; name = "haxor-news-${version}"; src = fetchurl { - url = "https://github.com/donnemartin/haxor-news/archive/0.3.1.tar.gz"; - sha256 = "0jglx8fy38sjyszvvg7mvmyk66l53kyq4i09hmgdz7hb1hrm9m2m"; + url = "https://github.com/donnemartin/haxor-news/archive/${version}.tar.gz"; + sha256 = "0d3an7by33hjl8zg48y7ig6r258ghgbdkpp1psa9jr6n2nk2w9mr"; }; propagatedBuildInputs = with pythonPackages; [ diff --git a/pkgs/applications/misc/hugo/default.nix b/pkgs/applications/misc/hugo/default.nix index c183f70a2895..05a4db7a2500 100644 --- a/pkgs/applications/misc/hugo/default.nix +++ b/pkgs/applications/misc/hugo/default.nix @@ -2,17 +2,23 @@ buildGoPackage rec { name = "hugo-${version}"; - version = "v0.16"; - rev = "8b54843a0db694facbaf368af4e777d0ae5fb992"; + version = "0.18.1"; goPackagePath = "github.com/spf13/hugo"; src = fetchFromGitHub { - inherit rev; owner = "spf13"; repo = "hugo"; - sha256 = "135mrdi8i56z9m2sihjrdfab6lrczbfgavwvfrngvi1zxnx7scmv"; + rev = "v${version}"; + sha256 = "1nmabcrq96b339in2yr2zwcd41nadr4bha3rlpyaxlzbyyhz2f81"; }; - goDeps = ./deps.json; + goDeps = ./deps.nix; + + meta = { + description = "A fast and modern static website engine."; + homepage = https://gohugo.io; + maintainers = with stdenv.lib.maintainers; [ schneefux ]; + license = stdenv.lib.licenses.asl20; + }; } diff --git a/pkgs/applications/misc/hugo/deps.json b/pkgs/applications/misc/hugo/deps.json deleted file mode 100644 index 53967d1bff09..000000000000 --- a/pkgs/applications/misc/hugo/deps.json +++ /dev/null @@ -1,317 +0,0 @@ -[ - { - "goPackagePath": "golang.org/x/sys", - "fetch": { - "type": "git", - "url": "https://go.googlesource.com/sys", - "rev": "d9157a9621b69ad1d8d77a1933590c416593f24f", - "sha256": "1asdbp7rj1j1m1aar1a022wpcwbml6zih6cpbxaw7b2m8v8is931" - } - }, - { - "goPackagePath": "gopkg.in/yaml.v2", - "fetch": { - "type": "git", - "url": "https://gopkg.in/yaml.v2", - "rev": "a83829b6f1293c91addabc89d0571c246397bbf4", - "sha256": "1m4dsmk90sbi17571h6pld44zxz7jc4lrnl4f27dpd1l8g5xvjhh" - } - }, - { - "goPackagePath": "golang.org/x/crypto", - "fetch": { - "type": "git", - "url": "https://go.googlesource.com/crypto", - "rev": "575fdbe86e5dd89229707ebec0575ce7d088a4a6", - "sha256": "1kgv1mkw9y404pk3lcwbs0vgl133mwyp294i18jg9hp10s5d56xa" - } - }, - { - "goPackagePath": "github.com/gorilla/websocket", - "fetch": { - "type": "git", - "url": "https://github.com/gorilla/websocket", - "rev": "a622679ebd7a3b813862379232f645f8e690e43f", - "sha256": "1nc9jbcmgya1i6dmf6sbcqsnxi9hbjg6dz1z0k7zmc6xdwlq0y4q" - } - }, - { - "goPackagePath": "github.com/inconshreveable/mousetrap", - "fetch": { - "type": "git", - "url": "https://github.com/inconshreveable/mousetrap", - "rev": "9dbb96d2c3a964935b0870b5abaea13c98b483aa", - "sha256": "1f9g8vm18qv1rcb745a4iahql9vfrz0jni9mnzriab2wy1pfdl5b" - } - }, - { - "goPackagePath": "github.com/kardianos/osext", - "fetch": { - "type": "git", - "url": "https://github.com/kardianos/osext", - "rev": "29ae4ffbc9a6fe9fb2bc5029050ce6996ea1d3bc", - "sha256": "1mawalaz84i16njkz6f9fd5jxhcbxkbsjnav3cmqq2dncv2hyv8a" - } - }, - { - "goPackagePath": "github.com/hashicorp/hcl", - "fetch": { - "type": "git", - "url": "https://github.com/hashicorp/hcl", - "rev": "54864211433d45cb780682431585b3e573b49e4a", - "sha256": "07l2dydzjpdgm2d4a72hkmincn455j3nrafg6hs3c23bkvizj950" - } - }, - { - "goPackagePath": "github.com/hashicorp/go-multierror", - "fetch": { - "type": "git", - "url": "https://github.com/hashicorp/go-multierror", - "rev": "56912fb08d85084aa318edcf2bba735b97cf35c5", - "sha256": "0s01cqdab2f7fxkkjjk2wqx05a1shnwlvfn45h2pi3i4gapvcn0r" - } - }, - { - "goPackagePath": "github.com/BurntSushi/toml", - "fetch": { - "type": "git", - "url": "https://github.com/BurntSushi/toml", - "rev": "056c9bc7be7190eaa7715723883caffa5f8fa3e4", - "sha256": "0gkgkw04ndr5y7hrdy0r4v2drs5srwfcw2bs1gyas066hwl84xyw" - } - }, - { - "goPackagePath": "github.com/mitchellh/mapstructure", - "fetch": { - "type": "git", - "url": "https://github.com/mitchellh/mapstructure", - "rev": "281073eb9eb092240d33ef253c404f1cca550309", - "sha256": "1zjx9fv29639sp1fn84rxs830z7gp7bs38yd5y1hl5adb8s5x1mh" - } - }, - { - "goPackagePath": "golang.org/x/text", - "fetch": { - "type": "git", - "url": "https://go.googlesource.com/text", - "rev": "5eb8d4684c4796dd36c74f6452f2c0fa6c79597e", - "sha256": "1cjwm2pv42dbfqc6ylr7jmma902zg4gng5aarqrbjf1k2nf2vs14" - } - }, - { - "goPackagePath": "github.com/shurcooL/sanitized_anchor_name", - "fetch": { - "type": "git", - "url": "https://github.com/shurcooL/sanitized_anchor_name", - "rev": "10ef21a441db47d8b13ebcc5fd2310f636973c77", - "sha256": "1cnbzcf47cn796rcjpph1s64qrabhkv5dn9sbynsy7m9zdwr5f01" - } - }, - { - "goPackagePath": "github.com/russross/blackfriday", - "fetch": { - "type": "git", - "url": "https://github.com/russross/blackfriday", - "rev": "d18b67ae0afd61dae240896eae1785f00709aa31", - "sha256": "1l78hz8k1ixry5fjw29834jz1q5ysjcpf6kx2ggjj1s6xh0bfzvf" - } - }, - { - "goPackagePath": "github.com/yosssi/ace", - "fetch": { - "type": "git", - "url": "https://github.com/yosssi/ace", - "rev": "71afeb714739f9d5f7e1849bcd4a0a5938e1a70d", - "sha256": "15k7ji8m3nqbwhnsvp82j4qa45sgvwv2giliw2xkdwi2g7mfrn8k" - } - }, - { - "goPackagePath": "github.com/spf13/viper", - "fetch": { - "type": "git", - "url": "https://github.com/spf13/viper", - "rev": "c1ccc378a054ea8d4e38d8c67f6938d4760b53dd", - "sha256": "0lpdzalqhqp9pwsg63inkxwjji7m0pp42ryw1499bqbjp97hriq0" - } - }, - { - "goPackagePath": "github.com/spf13/pflag", - "fetch": { - "type": "git", - "url": "https://github.com/spf13/pflag", - "rev": "367864438f1b1a3c7db4da06a2f55b144e6784e0", - "sha256": "03c6654hv4v1fj79i5sri3p9q2afqgicka4nicb6fr4kcfkkgbfp" - } - }, - { - "goPackagePath": "github.com/spf13/jwalterweatherman", - "fetch": { - "type": "git", - "url": "https://github.com/spf13/jwalterweatherman", - "rev": "33c24e77fb80341fe7130ee7c594256ff08ccc46", - "sha256": "1knvzspqzc2bh58q16zggzc8gcabjp5gr7zk4k7nx5ij4092cg0z" - } - }, - { - "goPackagePath": "github.com/fsnotify/fsnotify", - "fetch": { - "type": "git", - "url": "https://github.com/fsnotify/fsnotify", - "rev": "30411dbcefb7a1da7e84f75530ad3abe4011b4f8", - "sha256": "0kbpvyi6p9942k0vmcw5z13mja47f7hq7nqd332pn2zydss6kddm" - } - }, - { - "goPackagePath": "github.com/magiconair/properties", - "fetch": { - "type": "git", - "url": "https://github.com/magiconair/properties", - "rev": "c265cfa48dda6474e208715ca93e987829f572f8", - "sha256": "1ab9ywwsrdq5mvrcwl7m3276y1q4dfwinbv88vgpqwcqai9wkpp3" - } - }, - { - "goPackagePath": "github.com/bep/inflect", - "fetch": { - "type": "git", - "url": "https://github.com/bep/inflect", - "rev": "b896c45f5af983b1f416bdf3bb89c4f1f0926f69", - "sha256": "0drv6in94n7lmap4ajvgqlvdcbpn8alinfdzywzpihvzbx21b3h3" - } - }, - { - "goPackagePath": "github.com/eknkc/amber", - "fetch": { - "type": "git", - "url": "https://github.com/eknkc/amber", - "rev": "91774f050c1453128146169b626489e60108ec03", - "sha256": "1rb8bm35h8a77q4py6r3818cpwh7kpq1kh2ib2rb4i5s7z75ciis" - } - }, - { - "goPackagePath": "github.com/spf13/afero", - "fetch": { - "type": "git", - "url": "https://github.com/spf13/afero", - "rev": "1a8ecf8b9da1fb5306e149e83128fc447957d2a8", - "sha256": "1nrg0gmqnl4h6zjmi4mdhrwnl3l34nzxpq2hsr3nizfvrx5gqbzw" - } - }, - { - "goPackagePath": "github.com/spf13/cast", - "fetch": { - "type": "git", - "url": "https://github.com/spf13/cast", - "rev": "27b586b42e29bec072fe7379259cc719e1289da6", - "sha256": "1y73pfxdvm1bfpghwsfxj8gl4miv6fpzi9azxcknp6rcjn1gmq0x" - } - }, - { - "goPackagePath": "github.com/spf13/cobra", - "fetch": { - "type": "git", - "url": "https://github.com/spf13/cobra", - "rev": "bc81c21bd0d8be5ba2d6630a505d79d4467566e7", - "sha256": "1sp8gl25cjx0yibh6q1i8d5rbxpwaal3z8vz372wfmbz002say8r" - } - }, - { - "goPackagePath": "github.com/dchest/cssmin", - "fetch": { - "type": "git", - "url": "https://github.com/dchest/cssmin", - "rev": "fb8d9b44afdc258bfff6052d3667521babcb2239", - "sha256": "09sdijfx5d05z4cd5k6lhl7k3kbpdf2amzlngv15h5v0fff9qw4s" - } - }, - { - "goPackagePath": "github.com/spf13/fsync", - "fetch": { - "type": "git", - "url": "https://github.com/spf13/fsync", - "rev": "eefee59ad7de621617d4ff085cf768aab4b919b1", - "sha256": "0d56xdczawikyczc12i661qc79dbv4q8ihlj4p20zsjkyxxym59p" - } - }, - { - "goPackagePath": "github.com/cpuguy83/go-md2man", - "fetch": { - "type": "git", - "url": "https://github.com/cpuguy83/go-md2man", - "rev": "2724a9c9051aa62e9cca11304e7dd518e9e41599", - "sha256": "1j2bigs7ixy20cdqd246nxr417md2qcyvkfk3x94992cr88d0vyj" - } - }, - { - "goPackagePath": "github.com/miekg/mmark", - "fetch": { - "type": "git", - "url": "https://github.com/miekg/mmark", - "rev": "adb5c3e2e9f3e7da9bd25291edda8e66c0045a2a", - "sha256": "0fycz17fj37fh95lfshdrfwrgkzi3hl1kgnily0cxc9zwfbap3qa" - } - }, - { - "goPackagePath": "github.com/spf13/nitro", - "fetch": { - "type": "git", - "url": "https://github.com/spf13/nitro", - "rev": "24d7ef30a12da0bdc5e2eb370a79c659ddccf0e8", - "sha256": "143sbpx0jdgf8f8ayv51x6l4jg6cnv6nps6n60qxhx4vd90s6mib" - } - }, - { - "goPackagePath": "github.com/PuerkitoBio/purell", - "fetch": { - "type": "git", - "url": "https://github.com/PuerkitoBio/purell", - "rev": "1d5d1cfad45d42ec5f81fa8ef23de09cebc6dcc3", - "sha256": "12k82576ka21c6572yy2v81kxpjrgf9mffjlz469g3vs0g3nkwlb" - } - }, - { - "goPackagePath": "github.com/pkg/sftp", - "fetch": { - "type": "git", - "url": "https://github.com/pkg/sftp", - "rev": "d4c18e7ffdc496a38de67dde6e29b2f364afc472", - "sha256": "0cnl83k317gxskayfj3xwr4bl0vcbjvlwi3q0vjwvircynb6xscj" - } - }, - { - "goPackagePath": "github.com/kr/fs", - "fetch": { - "type": "git", - "url": "https://github.com/kr/fs", - "rev": "2788f0dbd16903de03cb8186e5c7d97b69ad387b", - "sha256": "1c0fipl4rsh0v5liq1ska1dl83v3llab4k6lm8mvrx9c4dyp71ly" - } - }, - { - "goPackagePath": "github.com/kyokomi/emoji", - "fetch": { - "type": "git", - "url": "https://github.com/kyokomi/emoji", - "rev": "17c5e7085c9d59630aa578df67f4469481fbe7a9", - "sha256": "0qs4mi7z1lghiyiw7s2bz5y959wj9ifmhyqh39xwqk69d690jwlp" - } - }, - { - "goPackagePath": "github.com/pkg/errors", - "fetch": { - "type": "git", - "url": "https://github.com/pkg/errors", - "rev": "494e70f7620561491c2ca11e185bbef4b70060da", - "sha256": "0a0961ixl67vryhnzyzhai357c9n9a7v3vpkpqrh32spn033gjd9" - } - }, - { - "goPackagePath": "github.com/PuerkitoBio/urlesc", - "fetch": { - "type": "git", - "url": "https://github.com/PuerkitoBio/urlesc", - "rev": "5fa9ff0392746aeae1c4b37fcc42c65afa7a9587", - "sha256": "0dppkmfs0hb5vcqli191x9yss5vvlx29qxjcywhdfirc89rn0sni" - } - } -] diff --git a/pkgs/applications/misc/hugo/deps.nix b/pkgs/applications/misc/hugo/deps.nix new file mode 100644 index 000000000000..0a95b083c0b8 --- /dev/null +++ b/pkgs/applications/misc/hugo/deps.nix @@ -0,0 +1,353 @@ +[ + { + goPackagePath = "golang.org/x/sys"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/sys"; + rev = "d9157a9621b69ad1d8d77a1933590c416593f24f"; + sha256 = "1asdbp7rj1j1m1aar1a022wpcwbml6zih6cpbxaw7b2m8v8is931"; + }; + } + { + goPackagePath = "gopkg.in/yaml.v2"; + fetch = { + type = "git"; + url = "https://gopkg.in/yaml.v2"; + rev = "a83829b6f1293c91addabc89d0571c246397bbf4"; + sha256 = "1m4dsmk90sbi17571h6pld44zxz7jc4lrnl4f27dpd1l8g5xvjhh"; + }; + } + { + goPackagePath = "golang.org/x/crypto"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/crypto"; + rev = "575fdbe86e5dd89229707ebec0575ce7d088a4a6"; + sha256 = "1kgv1mkw9y404pk3lcwbs0vgl133mwyp294i18jg9hp10s5d56xa"; + }; + } + { + goPackagePath = "github.com/gorilla/websocket"; + fetch = { + type = "git"; + url = "https://github.com/gorilla/websocket"; + rev = "a622679ebd7a3b813862379232f645f8e690e43f"; + sha256 = "1nc9jbcmgya1i6dmf6sbcqsnxi9hbjg6dz1z0k7zmc6xdwlq0y4q"; + }; + } + { + goPackagePath = "github.com/inconshreveable/mousetrap"; + fetch = { + type = "git"; + url = "https://github.com/inconshreveable/mousetrap"; + rev = "9dbb96d2c3a964935b0870b5abaea13c98b483aa"; + sha256 = "1f9g8vm18qv1rcb745a4iahql9vfrz0jni9mnzriab2wy1pfdl5b"; + }; + } + { + goPackagePath = "github.com/kardianos/osext"; + fetch = { + type = "git"; + url = "https://github.com/kardianos/osext"; + rev = "29ae4ffbc9a6fe9fb2bc5029050ce6996ea1d3bc"; + sha256 = "1mawalaz84i16njkz6f9fd5jxhcbxkbsjnav3cmqq2dncv2hyv8a"; + }; + } + { + goPackagePath = "github.com/hashicorp/hcl"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/hcl"; + rev = "54864211433d45cb780682431585b3e573b49e4a"; + sha256 = "07l2dydzjpdgm2d4a72hkmincn455j3nrafg6hs3c23bkvizj950"; + }; + } + { + goPackagePath = "github.com/hashicorp/go-multierror"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/go-multierror"; + rev = "56912fb08d85084aa318edcf2bba735b97cf35c5"; + sha256 = "0s01cqdab2f7fxkkjjk2wqx05a1shnwlvfn45h2pi3i4gapvcn0r"; + }; + } + { + goPackagePath = "github.com/BurntSushi/toml"; + fetch = { + type = "git"; + url = "https://github.com/BurntSushi/toml"; + rev = "056c9bc7be7190eaa7715723883caffa5f8fa3e4"; + sha256 = "0gkgkw04ndr5y7hrdy0r4v2drs5srwfcw2bs1gyas066hwl84xyw"; + }; + } + { + goPackagePath = "github.com/mitchellh/mapstructure"; + fetch = { + type = "git"; + url = "https://github.com/mitchellh/mapstructure"; + rev = "281073eb9eb092240d33ef253c404f1cca550309"; + sha256 = "1zjx9fv29639sp1fn84rxs830z7gp7bs38yd5y1hl5adb8s5x1mh"; + }; + } + { + goPackagePath = "golang.org/x/text"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/text"; + rev = "5eb8d4684c4796dd36c74f6452f2c0fa6c79597e"; + sha256 = "1cjwm2pv42dbfqc6ylr7jmma902zg4gng5aarqrbjf1k2nf2vs14"; + }; + } + { + goPackagePath = "github.com/shurcooL/sanitized_anchor_name"; + fetch = { + type = "git"; + url = "https://github.com/shurcooL/sanitized_anchor_name"; + rev = "10ef21a441db47d8b13ebcc5fd2310f636973c77"; + sha256 = "1cnbzcf47cn796rcjpph1s64qrabhkv5dn9sbynsy7m9zdwr5f01"; + }; + } + { + goPackagePath = "github.com/russross/blackfriday"; + fetch = { + type = "git"; + url = "https://github.com/russross/blackfriday"; + rev = "d18b67ae0afd61dae240896eae1785f00709aa31"; + sha256 = "1l78hz8k1ixry5fjw29834jz1q5ysjcpf6kx2ggjj1s6xh0bfzvf"; + }; + } + { + goPackagePath = "github.com/yosssi/ace"; + fetch = { + type = "git"; + url = "https://github.com/yosssi/ace"; + rev = "71afeb714739f9d5f7e1849bcd4a0a5938e1a70d"; + sha256 = "15k7ji8m3nqbwhnsvp82j4qa45sgvwv2giliw2xkdwi2g7mfrn8k"; + }; + } + { + goPackagePath = "github.com/spf13/viper"; + fetch = { + type = "git"; + url = "https://github.com/spf13/viper"; + rev = "ec4eb2fa8549869ae7a2accd4fcc83d1c0555c15"; + sha256 = "018niqyrg09andj3g08jalflq2ypz9bp7qb1mbk50kfly29lkih7"; + }; + } + { + goPackagePath = "github.com/spf13/pflag"; + fetch = { + type = "git"; + url = "https://github.com/spf13/pflag"; + rev = "b83537d79690b75cac5e021b036ae16792bf0f20"; + sha256 = "19blhq00rnynv11nnvixisx4h1429rp5bik13k661ixw0421qqyx"; + }; + } + { + goPackagePath = "github.com/spf13/jwalterweatherman"; + fetch = { + type = "git"; + url = "https://github.com/spf13/jwalterweatherman"; + rev = "33c24e77fb80341fe7130ee7c594256ff08ccc46"; + sha256 = "1knvzspqzc2bh58q16zggzc8gcabjp5gr7zk4k7nx5ij4092cg0z"; + }; + } + { + goPackagePath = "github.com/fsnotify/fsnotify"; + fetch = { + type = "git"; + url = "https://github.com/fsnotify/fsnotify"; + rev = "30411dbcefb7a1da7e84f75530ad3abe4011b4f8"; + sha256 = "0kbpvyi6p9942k0vmcw5z13mja47f7hq7nqd332pn2zydss6kddm"; + }; + } + { + goPackagePath = "github.com/magiconair/properties"; + fetch = { + type = "git"; + url = "https://github.com/magiconair/properties"; + rev = "c265cfa48dda6474e208715ca93e987829f572f8"; + sha256 = "1ab9ywwsrdq5mvrcwl7m3276y1q4dfwinbv88vgpqwcqai9wkpp3"; + }; + } + { + goPackagePath = "github.com/bep/inflect"; + fetch = { + type = "git"; + url = "https://github.com/bep/inflect"; + rev = "b896c45f5af983b1f416bdf3bb89c4f1f0926f69"; + sha256 = "0drv6in94n7lmap4ajvgqlvdcbpn8alinfdzywzpihvzbx21b3h3"; + }; + } + { + goPackagePath = "github.com/eknkc/amber"; + fetch = { + type = "git"; + url = "https://github.com/eknkc/amber"; + rev = "91774f050c1453128146169b626489e60108ec03"; + sha256 = "1rb8bm35h8a77q4py6r3818cpwh7kpq1kh2ib2rb4i5s7z75ciis"; + }; + } + { + goPackagePath = "github.com/spf13/afero"; + fetch = { + type = "git"; + url = "https://github.com/spf13/afero"; + rev = "1a8ecf8b9da1fb5306e149e83128fc447957d2a8"; + sha256 = "1nrg0gmqnl4h6zjmi4mdhrwnl3l34nzxpq2hsr3nizfvrx5gqbzw"; + }; + } + { + goPackagePath = "github.com/spf13/cast"; + fetch = { + type = "git"; + url = "https://github.com/spf13/cast"; + rev = "27b586b42e29bec072fe7379259cc719e1289da6"; + sha256 = "1y73pfxdvm1bfpghwsfxj8gl4miv6fpzi9azxcknp6rcjn1gmq0x"; + }; + } + { + goPackagePath = "github.com/spf13/cobra"; + fetch = { + type = "git"; + url = "https://github.com/spf13/cobra"; + rev = "bc81c21bd0d8be5ba2d6630a505d79d4467566e7"; + sha256 = "1sp8gl25cjx0yibh6q1i8d5rbxpwaal3z8vz372wfmbz002say8r"; + }; + } + { + goPackagePath = "github.com/dchest/cssmin"; + fetch = { + type = "git"; + url = "https://github.com/dchest/cssmin"; + rev = "fb8d9b44afdc258bfff6052d3667521babcb2239"; + sha256 = "09sdijfx5d05z4cd5k6lhl7k3kbpdf2amzlngv15h5v0fff9qw4s"; + }; + } + { + goPackagePath = "github.com/spf13/fsync"; + fetch = { + type = "git"; + url = "https://github.com/spf13/fsync"; + rev = "cb2da332d00cbc04e4f3f677520dc3e7cc11874b"; + sha256 = "03ib2xj80cbz77hx2baanyi50qr40akrybg49fzdvdm3lv9x100z"; + }; + } + { + goPackagePath = "github.com/cpuguy83/go-md2man"; + fetch = { + type = "git"; + url = "https://github.com/cpuguy83/go-md2man"; + rev = "2724a9c9051aa62e9cca11304e7dd518e9e41599"; + sha256 = "1j2bigs7ixy20cdqd246nxr417md2qcyvkfk3x94992cr88d0vyj"; + }; + } + { + goPackagePath = "github.com/miekg/mmark"; + fetch = { + type = "git"; + url = "https://github.com/miekg/mmark"; + rev = "adb5c3e2e9f3e7da9bd25291edda8e66c0045a2a"; + sha256 = "0fycz17fj37fh95lfshdrfwrgkzi3hl1kgnily0cxc9zwfbap3qa"; + }; + } + { + goPackagePath = "github.com/spf13/nitro"; + fetch = { + type = "git"; + url = "https://github.com/spf13/nitro"; + rev = "24d7ef30a12da0bdc5e2eb370a79c659ddccf0e8"; + sha256 = "143sbpx0jdgf8f8ayv51x6l4jg6cnv6nps6n60qxhx4vd90s6mib"; + }; + } + { + goPackagePath = "github.com/PuerkitoBio/purell"; + fetch = { + type = "git"; + url = "https://github.com/PuerkitoBio/purell"; + rev = "1d5d1cfad45d42ec5f81fa8ef23de09cebc6dcc3"; + sha256 = "12k82576ka21c6572yy2v81kxpjrgf9mffjlz469g3vs0g3nkwlb"; + }; + } + { + goPackagePath = "github.com/pkg/sftp"; + fetch = { + type = "git"; + url = "https://github.com/pkg/sftp"; + rev = "d4c18e7ffdc496a38de67dde6e29b2f364afc472"; + sha256 = "0cnl83k317gxskayfj3xwr4bl0vcbjvlwi3q0vjwvircynb6xscj"; + }; + } + { + goPackagePath = "github.com/kr/fs"; + fetch = { + type = "git"; + url = "https://github.com/kr/fs"; + rev = "2788f0dbd16903de03cb8186e5c7d97b69ad387b"; + sha256 = "1c0fipl4rsh0v5liq1ska1dl83v3llab4k6lm8mvrx9c4dyp71ly"; + }; + } + { + goPackagePath = "github.com/kyokomi/emoji"; + fetch = { + type = "git"; + url = "https://github.com/kyokomi/emoji"; + rev = "17c5e7085c9d59630aa578df67f4469481fbe7a9"; + sha256 = "0qs4mi7z1lghiyiw7s2bz5y959wj9ifmhyqh39xwqk69d690jwlp"; + }; + } + { + goPackagePath = "github.com/pkg/errors"; + fetch = { + type = "git"; + url = "https://github.com/pkg/errors"; + rev = "494e70f7620561491c2ca11e185bbef4b70060da"; + sha256 = "0a0961ixl67vryhnzyzhai357c9n9a7v3vpkpqrh32spn033gjd9"; + }; + } + { + goPackagePath = "github.com/PuerkitoBio/urlesc"; + fetch = { + type = "git"; + url = "https://github.com/PuerkitoBio/urlesc"; + rev = "5fa9ff0392746aeae1c4b37fcc42c65afa7a9587"; + sha256 = "0dppkmfs0hb5vcqli191x9yss5vvlx29qxjcywhdfirc89rn0sni"; + }; + } + { + goPackagePath = "github.com/nicksnyder/go-i18n"; + fetch = { + type = "git"; + url = "https://github.com/nicksnyder/go-i18n"; + rev = "e6c90c3ceece7f43060f843b495c3c9c031f5575"; + sha256 = "1i1hqvq05lk12wnrhayca66pvfbyjnj7dm0lr0hn5qhb2i8k84kd"; + }; + } + { + goPackagePath = "github.com/pelletier/go-toml"; + fetch = { + type = "git"; + url = "https://github.com/pelletier/go-toml"; + rev = "45932ad32dfdd20826f5671da37a5f3ce9f26a8d"; + sha256 = "1rs25xqlpz2j9gqii144qnkvhsgzhwgy9ild7yvxhnbs2mybgix7"; + }; + } + { + goPackagePath = "github.com/pelletier/go-buffruneio"; + fetch = { + type = "git"; + url = "https://github.com/pelletier/go-buffruneio"; + rev = "df1e16fde7fc330a0ca68167c23bf7ed6ac31d6d"; + sha256 = "0jwn2g4jfdb3wvpqisd8h055099pwx6c5i3bb4zxk5l9vybg1c5f"; + }; + } + { + goPackagePath = "github.com/bep/gitmap"; + fetch = { + type = "git"; + url = "https://github.com/bep/gitmap"; + rev = "a1a71abe12823e27ae7507189fe2e914ba9626ac"; + sha256 = "0qfhb72y6wbypaqv6dkl42syifnhps3qcy1karpd6ziw4pxak18g"; + }; + } +] diff --git a/pkgs/applications/misc/hyper/default.nix b/pkgs/applications/misc/hyper/default.nix new file mode 100644 index 000000000000..310f8feb2fd4 --- /dev/null +++ b/pkgs/applications/misc/hyper/default.nix @@ -0,0 +1,42 @@ +{ stdenv, lib, fetchurl, dpkg, gtk2, atk, glib, pango, gdk_pixbuf, cairo +, freetype, fontconfig, dbus, libXi, libXcursor, libXdamage, libXrandr +, libXcomposite, libXext, libXfixes, libXrender, libX11, libXtst, libXScrnSaver +, GConf, nss, nspr, alsaLib, cups, expat, libudev, libpulseaudio }: + +let + libPath = stdenv.lib.makeLibraryPath [ + stdenv.cc.cc gtk2 atk glib pango gdk_pixbuf cairo freetype fontconfig dbus + libXi libXcursor libXdamage libXrandr libXcomposite libXext libXfixes + libXrender libX11 libXtst libXScrnSaver GConf nss nspr alsaLib cups expat libudev libpulseaudio + ]; +in +stdenv.mkDerivation rec { + version = "0.8.3"; + name = "hyper-${version}"; + src = fetchurl { + url = "https://github.com/zeit/hyper/releases/download/${version}/hyper-${version}-amd64.deb"; + sha256 = "1683gc0fhifn89l9h67yz02pk1xz7p5l3qpiyddr9w21qr9h3lhq"; + }; + buildInputs = [ dpkg ]; + unpackPhase = '' + mkdir pkg + dpkg-deb -x $src pkg + sourceRoot=pkg + ''; + installPhase = '' + mkdir -p "$out/bin" + mv opt "$out/" + ln -s "$out/opt/Hyper/Hyper" "$out/bin/Hyper" + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath "${libPath}:\$ORIGIN" "$out/opt/Hyper/Hyper" + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc ]}" "$out/opt/Hyper/resources/app/node_modules/child_pty/build/Release/exechelper" + mv usr/* "$out/" + ''; + dontPatchELF = true; + meta = with lib; { + description = "A terminal built on web technologies"; + homepage = https://hyper.is/; + maintainers = with maintainers; [ puffnfresh ]; + license = licenses.mit; + platforms = [ "i686-linux" "x86_64-linux" ]; + }; +} diff --git a/pkgs/applications/misc/ikiwiki/default.nix b/pkgs/applications/misc/ikiwiki/default.nix index 810c7f2586ff..71418732a48a 100644 --- a/pkgs/applications/misc/ikiwiki/default.nix +++ b/pkgs/applications/misc/ikiwiki/default.nix @@ -23,7 +23,7 @@ assert mercurialSupport -> (mercurial != null); let name = "ikiwiki"; - version = "3.20150614"; + version = "3.20160905"; lib = stdenv.lib; in @@ -31,8 +31,8 @@ stdenv.mkDerivation { name = "${name}-${version}"; src = fetchurl { - url = "http://ftp.de.debian.org/debian/pool/main/i/ikiwiki/${name}_${version}.tar.gz"; - sha256 = "0sbs58d7faap1wp2rv7kf3gy3hid1hcpspgqs9wwms2qcki9kwa2"; + url = "mirror://debian/pool/main/i/ikiwiki/${name}_${version}.tar.gz"; + sha256 = "1xbjj5qpxh7f05b69z9vvajg05zv63fj8js77c47yx01xifgd3vn"; }; buildInputs = [ perl TextMarkdown URI HTMLParser HTMLScrubber HTMLTemplate diff --git a/pkgs/applications/misc/jigdo/default.nix b/pkgs/applications/misc/jigdo/default.nix index fd9077a619c5..8e5c5d6206c9 100644 --- a/pkgs/applications/misc/jigdo/default.nix +++ b/pkgs/applications/misc/jigdo/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, db, gtk, bzip2 }: +{ stdenv, fetchurl, db, gtk2, bzip2 }: stdenv.mkDerivation { name = "jigdo-0.7.3"; @@ -14,7 +14,7 @@ stdenv.mkDerivation { sha256 = "0cp4jz3sg9g86vprh90pmwpcfla79f0dr50w14yh01k0yaq70fs8"; }; - buildInputs = [ db gtk bzip2 ]; + buildInputs = [ db gtk2 bzip2 ]; configureFlags = "--without-libdb"; diff --git a/pkgs/applications/misc/josm/default.nix b/pkgs/applications/misc/josm/default.nix index 410f56c2299b..30398747d437 100644 --- a/pkgs/applications/misc/josm/default.nix +++ b/pkgs/applications/misc/josm/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "josm-${version}"; - version = "9979"; + version = "11223"; src = fetchurl { url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar"; - sha256 = "0zy88f4h71qyj7vlhiwnayaaz50gg6bj5pfypy43ghmjrh01d9vh"; + sha256 = "0fv1hlp98f178jy7lxnvq2rk6rq1zj62q6dv0vn02fvm00ia53s8"; }; phases = [ "installPhase" ]; diff --git a/pkgs/applications/misc/keepass-plugins/keefox/default.nix b/pkgs/applications/misc/keepass-plugins/keefox/default.nix index e32f0b7ca012..0215c5a71c2f 100644 --- a/pkgs/applications/misc/keepass-plugins/keefox/default.nix +++ b/pkgs/applications/misc/keepass-plugins/keefox/default.nix @@ -1,12 +1,12 @@ { stdenv, buildEnv, fetchurl, mono, unzip }: let - version = "1.5.4"; + version = "1.6.4"; drv = stdenv.mkDerivation { name = "keefox-${version}"; src = fetchurl { url = "https://github.com/luckyrat/KeeFox/releases/download/v${version}/${version}.xpi"; - sha256 = "c7c30770beb0ea32cbdee5311d03a9910fb7772695af3aa655e4ae64cd4d8335"; + sha256 = "0nj4l9ssyfwbl1pxgxvd2h9q0mqhx7i0yzm4a2xjqlqwam534d1w"; }; meta = { @@ -14,6 +14,7 @@ let homepage = http://keefox.org; platforms = with stdenv.lib.platforms; linux; license = stdenv.lib.licenses.gpl2; + maintainers = [ stdenv.lib.maintainers.mjanczyk ]; }; buildInputs = [ unzip ]; diff --git a/pkgs/applications/misc/keepass-plugins/keepasshttp/default.nix b/pkgs/applications/misc/keepass-plugins/keepasshttp/default.nix new file mode 100644 index 000000000000..5e43486b0752 --- /dev/null +++ b/pkgs/applications/misc/keepass-plugins/keepasshttp/default.nix @@ -0,0 +1,30 @@ +{ stdenv, buildEnv, fetchFromGitHub, mono }: + +let + version = "1.8.4.1"; + drv = stdenv.mkDerivation { + name = "keepasshttp-${version}"; + src = fetchFromGitHub { + owner = "pfn"; + repo = "keepasshttp"; + rev = "${version}"; + sha256 = "1074yv0pmzdwfwkx9fh7n2igdqwsyxypv55khkyng6synbv2p2fd"; + }; + + meta = { + description = "KeePass plugin to expose password entries securely (256bit AES/CBC) over HTTP"; + homepage = https://github.com/pfn/keepasshttp; + platforms = with stdenv.lib.platforms; linux; + license = stdenv.lib.licenses.gpl3; + }; + + pluginFilename = "KeePassHttp.plgx"; + + installPhase = '' + mkdir -p $out/lib/dotnet/keepass/ + cp $pluginFilename $out/lib/dotnet/keepass/$pluginFilename + ''; + }; +in + # Mono is required to compile plugin at runtime, after loading. + buildEnv { name = drv.name; paths = [ mono drv ]; } diff --git a/pkgs/applications/misc/keepass/default.nix b/pkgs/applications/misc/keepass/default.nix index 391410628bad..5eaad6514e1f 100644 --- a/pkgs/applications/misc/keepass/default.nix +++ b/pkgs/applications/misc/keepass/default.nix @@ -8,11 +8,11 @@ # plugin derivations in the Nix store and nowhere else. with builtins; buildDotnetPackage rec { baseName = "keepass"; - version = "2.33"; + version = "2.34"; src = fetchurl { url = "mirror://sourceforge/keepass/KeePass-${version}-Source.zip"; - sha256 = "0n4rkx2awyq1gbqiby1lkf2zw82brji96s4fkjsahmci528a882i"; + sha256 = "e3f184e4deddd1aa5ee2b52e2373c772d3f3975e5eddb2fd729eb27b437011aa"; }; sourceRoot = "."; @@ -20,7 +20,7 @@ with builtins; buildDotnetPackage rec { buildInputs = [ unzip makeWrapper icoutils ]; pluginLoadPathsPatch = - let outputLc = toString (add 8 (length plugins)); + let outputLc = toString (add 7 (length plugins)); patchTemplate = readFile ./keepass-plugins.patch; loadTemplate = readFile ./keepass-plugins-load.patch; loads = diff --git a/pkgs/applications/misc/keepass/keepass-plugins-load.patch b/pkgs/applications/misc/keepass/keepass-plugins-load.patch index 872b6c06d788..b7bea38e4c81 100644 --- a/pkgs/applications/misc/keepass/keepass-plugins-load.patch +++ b/pkgs/applications/misc/keepass/keepass-plugins-load.patch @@ -1 +1 @@ -+ m_pluginManager.LoadAllPlugins("$PATH$/lib/dotnet/keepass"); ++ m_pluginManager.LoadAllPlugins("$PATH$/lib/dotnet/keepass", SearchOption.TopDirectoryOnly, new string[] {}); diff --git a/pkgs/applications/misc/keepass/keepass-plugins.patch b/pkgs/applications/misc/keepass/keepass-plugins.patch index 1a32d77806a4..1793f04a1708 100644 --- a/pkgs/applications/misc/keepass/keepass-plugins.patch +++ b/pkgs/applications/misc/keepass/keepass-plugins.patch @@ -1,13 +1,45 @@ --- old/KeePass/Forms/MainForm.cs +++ new/KeePass/Forms/MainForm.cs -@@ -384,9 +384,$OUTPUT_LC$ @@ namespace KeePass.Forms - m_pluginManager.Initialize(m_pluginDefaultHost); - +@@ -386,42 +386,$OUTPUT_LC$ @@ namespace KeePass.Forms m_pluginManager.UnloadAllPlugins(); -- if(AppPolicy.Current.Plugins) -- m_pluginManager.LoadAllPlugins(UrlUtil.GetFileDirectory( -- WinUtil.GetExecutable(), false, true)); -+ if(AppPolicy.Current.Plugins) { + if(AppPolicy.Current.Plugins) + { +- string[] vExclNames = new string[] { +- AppDefs.FileNames.Program, AppDefs.FileNames.XmlSerializers, +- AppDefs.FileNames.NativeLib32, AppDefs.FileNames.NativeLib64, +- AppDefs.FileNames.ShInstUtil +- }; +- +- string strPlgRoot = UrlUtil.GetFileDirectory( +- WinUtil.GetExecutable(), false, true); +- m_pluginManager.LoadAllPlugins(strPlgRoot, SearchOption.TopDirectoryOnly, +- vExclNames); +- +- if(!NativeLib.IsUnix()) +- { +- string strPlgSub = UrlUtil.EnsureTerminatingSeparator(strPlgRoot, +- false) + AppDefs.PluginsDir; +- m_pluginManager.LoadAllPlugins(strPlgSub, SearchOption.AllDirectories, +- vExclNames); +- } +- else // Unix +- { +- try +- { +- DirectoryInfo diPlgRoot = new DirectoryInfo(strPlgRoot); +- foreach(DirectoryInfo diSub in diPlgRoot.GetDirectories()) +- { +- if(diSub == null) { Debug.Assert(false); continue; } +- +- if(string.Equals(diSub.Name, AppDefs.PluginsDir, +- StrUtil.CaseIgnoreCmp)) +- m_pluginManager.LoadAllPlugins(diSub.FullName, +- SearchOption.AllDirectories, vExclNames); +- } +- } +- catch(Exception) { Debug.Assert(false); } +- } +- } $DO_LOADS$+ } // Delete old files *after* loading plugins (when timestamps diff --git a/pkgs/applications/misc/keepassx/2.0.nix b/pkgs/applications/misc/keepassx/2.0.nix index b76d59c30e14..030b1d326e1d 100644 --- a/pkgs/applications/misc/keepassx/2.0.nix +++ b/pkgs/applications/misc/keepassx/2.0.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "keepassx2-${version}"; - version = "2.0.2"; + version = "2.0.3"; src = fetchurl { url = "https://www.keepassx.org/releases/${version}/keepassx-${version}.tar.gz"; - sha256 = "1f1nlbd669rmpzr52d9dgfgclg4jcaq2jkrby3b8q1vjkksdqjr0"; + sha256 = "1ia7cqx9ias38mnffsl7da7g1f66bcbjsi23k49sln0c6spb9zr3"; }; buildInputs = [ cmake libgcrypt qt4 xorg.libXtst ]; diff --git a/pkgs/applications/misc/keepassx/2.0-http.nix b/pkgs/applications/misc/keepassx/reboot.nix similarity index 60% rename from pkgs/applications/misc/keepassx/2.0-http.nix rename to pkgs/applications/misc/keepassx/reboot.nix index b3a84d36b1ec..f6ed251601a9 100644 --- a/pkgs/applications/misc/keepassx/2.0-http.nix +++ b/pkgs/applications/misc/keepassx/reboot.nix @@ -1,23 +1,23 @@ { stdenv, fetchFromGitHub, cmake, libgcrypt, qt5, zlib, libmicrohttpd, libXtst }: stdenv.mkDerivation rec { - name = "keepassx2-http-unstable-${version}"; - version = "2016-05-27"; + name = "keepassx-reboot-${version}"; + version = "2.0.3"; src = fetchFromGitHub { - owner = "droidmonkey"; - repo = "keepassx_http"; - rev = "bb2e1ee8da3a3245c3ca58978a979dd6b5c2472a"; - sha256 = "1rlbjs0i1kbrkksliisnykhki8f15g09xm3fwqlgcfc2czwbv5sv"; + owner = "keepassxreboot"; + repo = "keepassx"; + rev = "${version}-http"; + sha256 = "0pj3mirhw87hk9nlls9hgfx08xrr8ln7d1fqi3fcm519qjr72lmv"; }; buildInputs = [ cmake libgcrypt zlib qt5.full libXtst libmicrohttpd ]; meta = { description = "Fork of the keepassX password-manager with additional http-interface to allow browser-integration an use with plugins such as PasslFox (https://github.com/pfn/passifox). See also keepassX2."; - homepage = http://www.keepassx.org/; + homepage = https://github.com/keepassxreboot/keepassx; license = stdenv.lib.licenses.gpl2; - maintainers = with stdenv.lib.maintainers; [ s1lvester ]; + maintainers = with stdenv.lib.maintainers; [ s1lvester jonafato ]; platforms = with stdenv.lib.platforms; linux; }; } diff --git a/pkgs/applications/misc/khal/default.nix b/pkgs/applications/misc/khal/default.nix index 305c5863626f..0e93418255e8 100644 --- a/pkgs/applications/misc/khal/default.nix +++ b/pkgs/applications/misc/khal/default.nix @@ -4,12 +4,12 @@ with python3Packages; buildPythonApplication rec { # Reenable tests for 0.9.0, they are broken at the moment: #15981 - version = "0.8.2"; + version = "0.8.4"; name = "khal-${version}"; src = fetchurl { url = "mirror://pypi/k/khal/khal-${version}.tar.gz"; - sha256 = "0ihclh3jsxhvq7azgdxbdzwbl7my30cdcg3g5ss5bpm4ivskrzzj"; + sha256 = "03vy4dp9n43w51mwqjjy08dr5nj7wxqnb085visz3j43vzm42p1f"; }; LC_ALL = "en_US.UTF-8"; diff --git a/pkgs/applications/misc/kiwix/default.nix b/pkgs/applications/misc/kiwix/default.nix index bd0118c75f44..a3c140b6e6c2 100644 --- a/pkgs/applications/misc/kiwix/default.nix +++ b/pkgs/applications/misc/kiwix/default.nix @@ -1,7 +1,7 @@ { stdenv, callPackage, overrideCC, fetchurl, makeWrapper, pkgconfig , zip, python, zlib, which, icu, libmicrohttpd, lzma, ctpp2, aria2, wget, bc , libuuid, glibc, libX11, libXext, libXt, libXrender, glib, dbus, dbus_glib -, gtk, gdk_pixbuf, pango, cairo , freetype, fontconfig, alsaLib, atk +, gtk2, gdk_pixbuf, pango, cairo , freetype, fontconfig, alsaLib, atk }: let @@ -98,7 +98,7 @@ stdenv.mkDerivation rec { rm $out/bin/kiwix makeWrapper $out/lib/kiwix/kiwix-launcher $out/bin/kiwix \ - --suffix LD_LIBRARY_PATH : ${makeLibraryPath [stdenv.cc.cc libX11 libXext libXt libXrender glib dbus dbus_glib gtk gdk_pixbuf pango cairo freetype fontconfig alsaLib atk]} \ + --suffix LD_LIBRARY_PATH : ${makeLibraryPath [stdenv.cc.cc libX11 libXext libXt libXrender glib dbus dbus_glib gtk2 gdk_pixbuf pango cairo freetype fontconfig alsaLib atk]} \ --suffix PATH : ${aria2}/bin ''; diff --git a/pkgs/applications/misc/libosmocore/default.nix b/pkgs/applications/misc/libosmocore/default.nix new file mode 100644 index 000000000000..7a0eadf74e5a --- /dev/null +++ b/pkgs/applications/misc/libosmocore/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchFromGitHub, autoreconfHook, pcsclite, pkgconfig +}: + +stdenv.mkDerivation rec { + name = "libosmocore-${version}"; + version = "0.9.0"; + + src = fetchFromGitHub { + owner = "osmocom"; + repo = "libosmocore"; + rev = "8649d57f507d359c99a89654aac7e19ce22db282"; + sha256 = "08mcpy9ljwb1i3l4cmlwn024q2psk5gg9f0ylgh99hy1ffx0n7am"; + }; + + buildInputs = [ + autoreconfHook pcsclite pkgconfig + ]; + + preConfigure = '' + autoreconf -i -f + ''; + + meta = with stdenv.lib; { + description = "libosmocore"; + homepage = https://github.com/osmocom/libosmocore; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ mog ]; + }; +} diff --git a/pkgs/applications/misc/librecad/default.nix b/pkgs/applications/misc/librecad/default.nix index 3161af33ead1..bfb658098b73 100644 --- a/pkgs/applications/misc/librecad/default.nix +++ b/pkgs/applications/misc/librecad/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, qt4, qmake4Hook, muparser, which, boost, pkgconfig }: stdenv.mkDerivation rec { - version = "2.0.10"; + version = "2.1.3"; name = "librecad-${version}"; src = fetchurl { url = "https://github.com/LibreCAD/LibreCAD/tarball/${version}"; name = name + ".tar.gz"; - sha256 = "13jr0zkirnnpkbx8ysh7j6sh2psxi1dg7ncfjqzyxrcr2b270rcj"; + sha256 = "1czp8bja61hfav2m7184cq1np1n76w3w6vn0hlkp81hhz9zc62sx"; }; patchPhase = '' diff --git a/pkgs/applications/misc/lighthouse/default.nix b/pkgs/applications/misc/lighthouse/default.nix index 6bd834846b66..f6bfe61e5aa2 100644 --- a/pkgs/applications/misc/lighthouse/default.nix +++ b/pkgs/applications/misc/lighthouse/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, pkgconfig -, libX11, libxcb, cairo, gtk, pango, python27, python3 +, libX11, libxcb, cairo, gtk2, pango, python27, python3 }: stdenv.mkDerivation rec { @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { }; buildInputs = [ - pkgconfig libX11 libxcb cairo gtk pango python27 python3 + pkgconfig libX11 libxcb cairo gtk2 pango python27 python3 ]; makeFlags = [ "PREFIX=\${out}" ]; diff --git a/pkgs/applications/misc/llpp/default.nix b/pkgs/applications/misc/llpp/default.nix index 5b764912f735..e350a9a95301 100644 --- a/pkgs/applications/misc/llpp/default.nix +++ b/pkgs/applications/misc/llpp/default.nix @@ -1,6 +1,8 @@ -{ stdenv, makeWrapper, fetchgit, pkgconfig, ninja, ocaml, findlib, mupdf, lablgl +{ stdenv, lib, makeWrapper, fetchgit, pkgconfig, ninja, ocaml, findlib, mupdf, lablgl , gtk3, openjpeg, jbig2dec, mujs, xsel, openssl, freetype, ncurses }: +assert lib.versionAtLeast (lib.getVersion ocaml) "4.02"; + let ocamlVersion = (builtins.parseDrvName (ocaml.name)).version; in stdenv.mkDerivation rec { name = "llpp-${version}"; diff --git a/pkgs/applications/misc/loxodo/default.nix b/pkgs/applications/misc/loxodo/default.nix index 7a877afb0c3a..291e225d6c4f 100644 --- a/pkgs/applications/misc/loxodo/default.nix +++ b/pkgs/applications/misc/loxodo/default.nix @@ -12,7 +12,7 @@ py.buildPythonApplication rec { sha256 = "1cg0dfcv57ps54f1a0ksib7hgkrbdi9q699w302xyyfyvjcb5dd2"; }; - propagatedBuildInputs = with py; [ wxPython python.modules.readline ]; + propagatedBuildInputs = with py; [ wxPython ]; postInstall = '' mv $out/bin/loxodo.py $out/bin/loxodo diff --git a/pkgs/applications/misc/lyx/default.nix b/pkgs/applications/misc/lyx/default.nix index db0980fa965f..0da6e8eb34ae 100644 --- a/pkgs/applications/misc/lyx/default.nix +++ b/pkgs/applications/misc/lyx/default.nix @@ -1,36 +1,40 @@ { fetchurl, stdenv, pkgconfig, python, file, bc -, qt4, hunspell, makeWrapper #, mythes, boost +, qtbase, qtsvg, hunspell, makeWrapper #, mythes, boost }: stdenv.mkDerivation rec { - version = "2.1.5"; + version = "2.2.2"; name = "lyx-${version}"; src = fetchurl { - url = "ftp://ftp.lyx.org/pub/lyx/stable/2.1.x/${name}.tar.xz"; - sha256 = "1wrcxsvr5kx8cfdabshzmcjrb3rmy5bh74njnzpq9m5xms8parrf"; + url = "ftp://ftp.lyx.org/pub/lyx/stable/2.2.x/${name}.tar.xz"; + sha256 = "0s2mma8fkj5mi8qzc0j67589mbj854bypx2s3y59y1n429s3sp58"; }; + # LaTeX is used from $PATH, as people often want to have it with extra pkgs + buildInputs = [ + pkgconfig qtbase qtsvg python file/*for libmagic*/ bc + hunspell makeWrapper # enchant + ]; + + # bogus configure script tests + preConfigure = '' + NIX_CFLAGS_COMPILE+=" $(pkg-config --cflags Qt5Core)" + ''; + configureFlags = [ + "--enable-qt5" #"--without-included-boost" /* Boost is a huge dependency from which 1.4 MB of libs would be used. Using internal boost stuff only increases executable by around 0.2 MB. */ #"--without-included-mythes" # such a small library isn't worth a separate package ]; - # LaTeX is used from $PATH, as people often want to have it with extra pkgs - buildInputs = [ - pkgconfig qt4 python file/*for libmagic*/ bc - hunspell makeWrapper # enchant - ]; - enableParallelBuilding = true; doCheck = true; # python is run during runtime to do various tasks postFixup = '' - sed '1s:/usr/bin/python:${python}/bin/python:' - wrapProgram "$out/bin/lyx" \ --prefix PATH : '${python}/bin' ''; diff --git a/pkgs/applications/misc/mdp/default.nix b/pkgs/applications/misc/mdp/default.nix index a44f4bff83eb..5206feb215c9 100644 --- a/pkgs/applications/misc/mdp/default.nix +++ b/pkgs/applications/misc/mdp/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchFromGitHub, ncurses }: stdenv.mkDerivation rec { - version = "1.0.7"; + version = "1.0.9"; name = "mdp-${version}"; src = fetchFromGitHub { owner = "visit1985"; repo = "mdp"; rev = version; - sha256 = "10jkv8g04vvhik42y0qqcbn05hlnfsgbljhx69hx1sfn7js2d8g4"; + sha256 = "183flp52zfady4f8f3vgapr5f5k6cvanmj2hw293v6pw71qnafmd"; }; makeFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/applications/misc/mediainfo-gui/default.nix b/pkgs/applications/misc/mediainfo-gui/default.nix index 2fe806649c24..e60d1619685a 100644 --- a/pkgs/applications/misc/mediainfo-gui/default.nix +++ b/pkgs/applications/misc/mediainfo-gui/default.nix @@ -2,11 +2,11 @@ , desktop_file_utils, libSM, imagemagick }: stdenv.mkDerivation rec { - version = "0.7.87"; + version = "0.7.91"; name = "mediainfo-gui-${version}"; src = fetchurl { url = "http://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz"; - sha256 = "1ws4hyfcw289hax0bq8y3bbw5y321xmh0va1x4zv5rjwfzcd51pv"; + sha256 = "15jrph9hjza4c87m739s7c9v27gji94ha7rpchb8li0rcdvy40dm"; }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; diff --git a/pkgs/applications/misc/mediainfo/default.nix b/pkgs/applications/misc/mediainfo/default.nix index 77c1badbf401..0ddee228e9d0 100644 --- a/pkgs/applications/misc/mediainfo/default.nix +++ b/pkgs/applications/misc/mediainfo/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, autoreconfHook, pkgconfig, libzen, libmediainfo, zlib }: stdenv.mkDerivation rec { - version = "0.7.87"; + version = "0.7.91"; name = "mediainfo-${version}"; src = fetchurl { url = "http://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz"; - sha256 = "1ws4hyfcw289hax0bq8y3bbw5y321xmh0va1x4zv5rjwfzcd51pv"; + sha256 = "15jrph9hjza4c87m739s7c9v27gji94ha7rpchb8li0rcdvy40dm"; }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; diff --git a/pkgs/applications/misc/mlterm/default.nix b/pkgs/applications/misc/mlterm/default.nix index d9b03fd86e1d..9da087d49692 100644 --- a/pkgs/applications/misc/mlterm/default.nix +++ b/pkgs/applications/misc/mlterm/default.nix @@ -1,38 +1,101 @@ -{ stdenv, fetchurl, pkgconfig, libX11, gdk_pixbuf, cairo, libXft, gtk2, fribidi }: +{ stdenv, fetchurl, pkgconfig, autoconf, makeDesktopItem +, libX11, gdk_pixbuf, cairo, libXft, gtk3, vte +, harfbuzz #substituting glyphs with opentype fonts +, fribidi, m17n_lib #bidi and encoding +, openssl, libssh2 #build-in ssh +}: stdenv.mkDerivation rec { name = "mlterm-${version}"; - version = "3.3.8"; + version = "3.7.2"; src = fetchurl { url = "mirror://sourceforge/project/mlterm/01release/${name}/${name}.tar.gz"; - sha256 = "088pgxynzxxii7wdmjp2fdkxydirx4k05588zkhlzalkb5l8ji1i"; + sha256 = "1b24w8hfck1ylfkdz9z55vlmsb36q9iyfr0i9q9y98dfk0f0rrw8"; }; - buildInputs = [ pkgconfig libX11 gdk_pixbuf cairo libXft gtk2 fribidi ]; + nativeBuildInputs = [ pkgconfig autoconf ]; + buildInputs = [ + libX11 gdk_pixbuf.dev cairo libXft gtk3 vte + harfbuzz fribidi m17n_lib openssl libssh2 + ]; + patches = [ ./x_shortcut.c.patch ]; #fixes numlock in 3.7.2. should be safe to remove by 3.7.3 since it's already in the trunk: https://bitbucket.org/arakiken/mlterm/commits/4820d42c7abfe1760a5ea35492c83be469c642b3 + + #bad configure.ac and Makefile.in everywhere preConfigure = '' - sed -ie 's#-L/usr/local/lib -R/usr/local/lib##g' \ + sed -ie 's;-L/usr/local/lib -R/usr/local/lib;;g' \ xwindow/libtype/Makefile.in \ main/Makefile.in \ - java/Makefile.in \ + tool/mlfc/Makefile.in \ tool/mlimgloader/Makefile.in \ - tool/registobmp/Makefile.in \ - tool/mlconfig/Makefile.in - sed -ie 's;cd ..srcdir. && rm -f ...lang..gmo.*;;g' tool/mlconfig/po/Makefile.in.in + tool/mlconfig/Makefile.in \ + xwindow/libotl/Makefile.in + sed -ie 's;cd ..srcdir. && rm -f ...lang..gmo.*;;g' \ + tool/mlconfig/po/Makefile.in.in + #utmp and mlterm-fb + substituteInPlace configure.in \ + --replace "-m 2755 -g utmp" " " \ + --replace "-m 4755 -o root" " " + substituteInPlace configure \ + --replace "-m 2755 -g utmp" " " \ + --replace "-m 4755 -o root" " " ''; + NIX_LDFLAGS = " + -L${stdenv.cc.cc.lib}/lib + -lX11 -lgdk_pixbuf-2.0 -lcairo -lfontconfig -lfreetype -lXft + -lvte-2.91 -lgtk-3 -lharfbuzz -lfribidi -lm17n + " + stdenv.lib.optionalString (openssl != null) " + -lcrypto + " + stdenv.lib.optionalString (libssh2 != null) " + -lssh2 + "; configureFlags = [ - "--with-imagelib=gdk-pixbuf" + "--with-x=yes" + "--with-gui=xlib,fb" + "--with-imagelib=gdk-pixbuf" #or mlimgloader depending on your bugs of choice "--with-type-engines=cairo,xft,xcore" - "--with-x" - "--enable-ind" + "--with-gtk=3.0" + "--enable-ind" #indic scripts + "--enable-fribidi" #bidi scripts + "--enable-m17nlib" #character encodings + "--with-tools=mlclient,mlconfig,mlcc,mlterm-menu,mlimgloader,registobmp,mlfc" + #mlterm-menu and mlconfig depend on enabling gnome3.at-spi2-core + #and configuring ~/.mlterm/key correctly. + ] ++ stdenv.lib.optional (libssh2 == null) [ + "--disable-ssh2" ]; + postInstall = '' + mkdir -p "$out/share/icons/hicolor/scalable/apps" + cp contrib/icon/mlterm-icon.svg "$out/share/icons/hicolor/scalable/apps/mlterm.svg" + + mkdir -p "$out/share/icons/hicolor/48x48/apps" + cp contrib/icon/mlterm-icon-gnome2.png "$out/share/icons/hicolor/48x48/apps/mlterm.png" + + mkdir -p "$out/share/applications" + cp $desktopItem/share/applications/* $out/share/applications + ''; + + desktopItem = makeDesktopItem rec { + name = "mlterm"; + exec = "mlterm %U"; + icon = "mlterm"; + type = "Application"; + comment = "Terminal emulator"; + desktopName = "mlterm"; + genericName = "Terminal emulator"; + categories = stdenv.lib.concatStringsSep ";" [ + "Application" "System" "TerminalEmulator" + ]; + startupNotify = "false"; + }; + meta = with stdenv.lib; { - homepage = https://sourceforge.net/projects/mlterm/; + homepage = http://mlterm.sourceforge.net/; license = licenses.bsd2; - maintainers = [ maintainers.vrthra ]; + maintainers = with maintainers; [ vrthra ramkromberg ]; platforms = with platforms; linux; }; } diff --git a/pkgs/applications/misc/mlterm/x_shortcut.c.patch b/pkgs/applications/misc/mlterm/x_shortcut.c.patch new file mode 100644 index 000000000000..f0f929b79650 --- /dev/null +++ b/pkgs/applications/misc/mlterm/x_shortcut.c.patch @@ -0,0 +1,26 @@ +--- mlterm-3.7.2/xwindow/x_shortcut.c ++++ mlterm-3.7.2/xwindow/x_shortcut.c +@@ -292,6 +292,11 @@ + /* ingoring except these masks */ + state &= (ModMask|ControlMask|ShiftMask|CommandMask|button_mask) ; + ++ if( state & button_mask) ++ { ++ state &= ~Mod2Mask ; /* XXX NumLock */ ++ } ++ + if( shortcut->map[func].ksym == ksym && + shortcut->map[func].state == + ( state | +@@ -318,6 +323,11 @@ + /* ingoring except these masks */ + state &= (ModMask|ControlMask|ShiftMask|CommandMask|button_mask) ; + ++ if( state & button_mask) ++ { ++ state &= ~Mod2Mask ; /* XXX NumLock */ ++ } ++ + for( count = 0 ; count < shortcut->str_map_size ; count ++) + { + if( shortcut->str_map[count].ksym == ksym && diff --git a/pkgs/applications/misc/mop/default.nix b/pkgs/applications/misc/mop/default.nix index ccdb47c4b608..336b136c56d6 100644 --- a/pkgs/applications/misc/mop/default.nix +++ b/pkgs/applications/misc/mop/default.nix @@ -6,7 +6,7 @@ buildGoPackage rec { rev = "bc666ec165d08b43134f7ec0bf29083ad5466243"; goPackagePath = "github.com/michaeldv/mop"; - goDeps = ./deps.json; + goDeps = ./deps.nix; preConfigure = '' for i in $(find . -type f);do diff --git a/pkgs/applications/misc/mop/deps.json b/pkgs/applications/misc/mop/deps.json deleted file mode 100644 index d2c59589dc22..000000000000 --- a/pkgs/applications/misc/mop/deps.json +++ /dev/null @@ -1,11 +0,0 @@ -[ - { - "goPackagePath": "github.com/nsf/termbox-go", - "fetch": { - "type": "git", - "url": "https://github.com/nsf/termbox-go", - "rev": "9aecf65084a5754f12d27508fa2e6ed56851953b", - "sha256": "16sak07bgvmax4zxfrd4jia1dgygk733xa8vk8cdx28z98awbfsh" - } - } -] diff --git a/pkgs/applications/misc/mop/deps.nix b/pkgs/applications/misc/mop/deps.nix new file mode 100644 index 000000000000..4081cd1ddaa2 --- /dev/null +++ b/pkgs/applications/misc/mop/deps.nix @@ -0,0 +1,11 @@ +[ + { + goPackagePath = "github.com/nsf/termbox-go"; + fetch = { + type = "git"; + url = "https://github.com/nsf/termbox-go"; + rev = "9aecf65084a5754f12d27508fa2e6ed56851953b"; + sha256 = "16sak07bgvmax4zxfrd4jia1dgygk733xa8vk8cdx28z98awbfsh"; + }; + } +] diff --git a/pkgs/applications/misc/multisync/default.nix b/pkgs/applications/misc/multisync/default.nix index fc55b275dd0a..5c00bddd9d23 100644 --- a/pkgs/applications/misc/multisync/default.nix +++ b/pkgs/applications/misc/multisync/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, gtk, glib, ORBit2, libbonobo, libtool, pkgconfig +{ stdenv, fetchurl, gtk2, glib, ORBit2, libbonobo, libtool, pkgconfig , libgnomeui, GConf, automake, autoconf }: stdenv.mkDerivation { @@ -10,7 +10,7 @@ stdenv.mkDerivation { }; buildInputs = - [ gtk glib ORBit2 libbonobo libtool pkgconfig libgnomeui GConf + [ gtk2 glib ORBit2 libbonobo libtool pkgconfig libgnomeui GConf automake autoconf ]; diff --git a/pkgs/applications/misc/mupdf/default.nix b/pkgs/applications/misc/mupdf/default.nix index d52f88ad553d..e1926ce386f7 100644 --- a/pkgs/applications/misc/mupdf/default.nix +++ b/pkgs/applications/misc/mupdf/default.nix @@ -18,15 +18,19 @@ stdenv.mkDerivation rec { url = "http://git.ghostscript.com/?p=mupdf.git;a=commitdiff_plain;h=39b0f07dd960f34e7e6bf230ffc3d87c41ef0f2e;hp=fa1936405b6a84e5c9bb440912c23d532772f958"; sha256 = "1g9fkd1f5rx1z043vr9dj4934qf7i4nkvbwjc61my9azjrrc3jv7"; }) + (fetchpatch { + name = "mupdf-696941-fix-use-after-free.patch"; + url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=fa1936405b6a84e5c9bb440912c23d532772f958"; + sha256 = "02j9b6my1h3rb0sz9yp6gi7c4ldi3mz0z9s5i8g9cl0arxyzys5h"; + }) # Compatibility with new openjpeg (fetchpatch { - name = "mupdf-1.5-openjpeg-2.1.0.patch"; - url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/mupdf-1.5-openjpeg-2.1.0.patch?h=packages/mupdf&id=ca5e3ef6c7788ccfb6011d785078bc47762f19e5"; - sha256 = "0f18793q9fd22h3lclm8wahvc8az4v08an6lzy8mczrkl8mcgm3k"; + name = "mupdf-1.9a-openjpeg-2.1.1.patch"; + url = "https://git.archlinux.org/svntogit/community.git/plain/mupdf/trunk/0001-mupdf-openjpeg.patch?id=9083dac2a398bfe694d31a0c6a0a839c5a756e53"; + sha256 = "14ndgy3w1sl25km9bcc2zfcxrcihqjw1sdzkpcw5g1mi7gcgxp3g"; }) ]; - NIX_CFLAGS_COMPILE= [ "-fPIC" ]; makeFlags = [ "prefix=$(out)" ]; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ zlib libX11 libXcursor libXext harfbuzz mesa libXrandr libXinerama freetype libjpeg jbig2dec openjpeg ]; @@ -78,7 +82,7 @@ stdenv.mkDerivation rec { repositories.git = git://git.ghostscript.com/mupdf.git; description = "Lightweight PDF viewer and toolkit written in portable C"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ viric vrthra ]; + maintainers = with maintainers; [ viric vrthra fpletz ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/misc/mysql-workbench/default.nix b/pkgs/applications/misc/mysql-workbench/default.nix index 775d344643e3..fbb10bc9ceb6 100644 --- a/pkgs/applications/misc/mysql-workbench/default.nix +++ b/pkgs/applications/misc/mysql-workbench/default.nix @@ -1,32 +1,72 @@ -{ stdenv, fetchurl, makeWrapper, autoreconfHook, boost, file -, glib, glibc, libgnome_keyring, gnome_keyring, gtk, gtkmm, intltool -, libctemplate, libglade -, libiodbc -, libgnome, libsigcxx, libuuid, libxml2, libzip, lua, mesa, mysql -, pango, pcre, pkgconfig, sqlite, sudo -, pythonPackages +{ stdenv, fetchurl, makeWrapper, cmake, pkgconfig +, glibc, gnome_keyring, gtk, gtkmm, pcre, swig, sudo +, mysql, libxml2, libctemplate, libmysqlconnectorcpp +, vsqlite, tinyxml, gdal, libiodbc, libpthreadstubs +, libXdmcp, libuuid, libzip, libgnome_keyring, file +, pythonPackages, jre, autoconf, automake, libtool +, boost, glibmm, libsigcxx, pangomm, libX11, openssl +, proj, cairo, libglade }: let inherit (pythonPackages) pexpect pycrypto python paramiko; in stdenv.mkDerivation rec { pname = "mysql-workbench"; - version = "5.2.47"; + version = "6.3.7"; name = "${pname}-${version}"; src = fetchurl { - url = "http://mirror.cogentco.com/pub/mysql/MySQLGUITools/mysql-workbench-gpl-${version}-src.tar.gz"; - sha256 = "1343fn3msdxqfpxw0kgm0mdx5r7g9ra1cpc8p2xhl7kz2pmqp4p6"; + url = "http://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-workbench-community-${version}-src.tar.gz"; + sha256 = "1v4k04facdn2qzflf0clf3ir5hghqlabq89ssm2s4x1nqdniz544"; }; - buildInputs = [ autoreconfHook boost file glib glibc libgnome_keyring gtk gtkmm intltool - libctemplate libglade libgnome libiodbc libsigcxx libuuid libxml2 libzip lua makeWrapper mesa - mysql.lib paramiko pcre pexpect pkgconfig pycrypto python sqlite ]; + buildInputs = [ cmake pkgconfig glibc gnome_keyring gtk gtk.dev gtkmm pcre swig python sudo + paramiko mysql libxml2 libctemplate libmysqlconnectorcpp vsqlite tinyxml gdal libiodbc file + libpthreadstubs libXdmcp libuuid libzip libgnome_keyring libgnome_keyring.dev jre autoconf + automake libtool boost glibmm glibmm.dev libsigcxx pangomm libX11 pexpect pycrypto openssl + proj cairo cairo.dev makeWrapper libglade ] ; + + prePatch = '' + for f in backend/wbpublic/{grt/spatial_handler.h,grtui/geom_draw_box.h,objimpl/db.query/db_query_Resultset.cpp} ; + do + sed -i 's@#include ext/antlr-runtime/fix-configure + #!${stdenv.shell} + echo "fixing bundled antlr3c configure" ; + sed -i 's@/usr/bin/file@${file}/bin/file@' configure + sed -i '12121d' configure + EOF + chmod +x ext/antlr-runtime/fix-configure + sed -i '236s@&&@& ''${PROJECT_SOURCE_DIR}/ext/antlr-runtime/fix-configure &@' CMakeLists.txt - preConfigure = '' substituteInPlace $(pwd)/frontend/linux/workbench/mysql-workbench.in --replace "catchsegv" "${glibc.bin}/bin/catchsegv" + substituteInPlace $(pwd)/frontend/linux/workbench/mysql-workbench.in --replace "/usr/lib/x86_64-linux-gnu" "${proj}/lib" + patchShebangs $(pwd)/library/mysql.parser/grammar/build-parser + patchShebangs $(pwd)/tools/get_wb_version.sh ''; + NIX_CFLAGS_COMPILE = [ + "-I${libsigcxx}/lib/sigc++-2.0/include" + "-I${pangomm}/lib/pangomm-1.4/include" + "-I${glibmm}/lib/giomm-2.4/include" + ]; + + cmakeFlags = [ + "-DCMAKE_CXX_FLAGS=-std=c++11" + "-DMySQL_CONFIG_PATH=${mysql}/bin/mysql_config" + "-DCTemplate_INCLUDE_DIR=${libctemplate}/include" + "-DCAIRO_INCLUDE_DIRS=${cairo.dev}/include" + "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk}/lib/gtk-2.0/include" + "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${gtk.dev}/include" + "-DGTK2_GTKMMCONFIG_INCLUDE_DIR=${gtkmm}/lib/gtkmm-2.4/include" + "-DGTK2_GDKMMCONFIG_INCLUDE_DIR=${gtkmm}/lib/gdkmm-2.4/include" + "-DGTK2_GLIBMMCONFIG_INCLUDE_DIR=${glibmm}/lib/glibmm-2.4/include" + ]; + postInstall = '' patchShebangs $out/share/mysql-workbench/extras/build_freetds.sh @@ -52,7 +92,7 @@ in stdenv.mkDerivation rec { # used because we cannot clean up after ourselves due to the exec call. # Start gnome-keyring-daemon, export the environment variables it asks us to set. -for expr in $( gnome-keyring-daemon --components=ssh,pkcs11 --start ) ; do eval "export "$expr ; done +for expr in $( gnome-keyring-daemon --start ) ; do eval "export "$expr ; done # Prepare fifo pipe. FIFOCTL="/tmp/gnome-keyring-daemon-ctl.$$.fifo" diff --git a/pkgs/applications/misc/navit/default.nix b/pkgs/applications/misc/navit/default.nix index 53b1106a2239..51b29a5c04c4 100644 --- a/pkgs/applications/misc/navit/default.nix +++ b/pkgs/applications/misc/navit/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchsvn, pkgconfig, gtk, SDL, fontconfig, freetype, imlib2, SDL_image, mesa, +{ stdenv, fetchsvn, pkgconfig, gtk2, SDL, fontconfig, freetype, imlib2, SDL_image, mesa, libXmu, freeglut, python, gettext, quesoglc, gd, postgresql, cmake, qt4, SDL_ttf, fribidi}: stdenv.mkDerivation rec { name = "navit-svn-3537"; @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { hardeningDisable = [ "format" ]; - buildInputs = [ gtk SDL fontconfig freetype imlib2 SDL_image mesa + buildInputs = [ gtk2 SDL fontconfig freetype imlib2 SDL_image mesa libXmu freeglut python gettext quesoglc gd postgresql qt4 SDL_ttf fribidi ]; nativeBuildInputs = [ pkgconfig cmake ]; diff --git a/pkgs/applications/misc/octoprint/default.nix b/pkgs/applications/misc/octoprint/default.nix index b39b73c830ff..aecea732a23e 100644 --- a/pkgs/applications/misc/octoprint/default.nix +++ b/pkgs/applications/misc/octoprint/default.nix @@ -1,14 +1,49 @@ -{ stdenv, fetchFromGitHub, pythonPackages }: +{ stdenv, fetchFromGitHub, pythonPackages, fetchurl }: -pythonPackages.buildPythonApplication rec { +let + + tornado_4_0_1 = pythonPackages.buildPythonPackage rec { + name = "tornado-${version}"; + version = "4.0.1"; + + propagatedBuildInputs = with pythonPackages; [ backports_ssl_match_hostname_3_4_0_2 certifi ]; + + src = fetchurl { + url = "mirror://pypi/t/tornado/${name}.tar.gz"; + sha256 = "00crp5vnasxg7qyjv89qgssb69vd7qr13jfghdryrcbnn9l8c1df"; + }; + }; + + sockjs-tornado = pythonPackages.buildPythonPackage rec { + name = "sockjs-tornado-${version}"; + version = "1.0.3"; + + src = fetchurl { + url = "mirror://pypi/s/sockjs-tornado/${name}.tar.gz"; + sha256 = "16cff40nniqsyvda1pb2j3b4zwmrw7y2g1vqq78lp20xpmhnwwkd"; + }; + + # This is needed for compatibility with OctoPrint + propagatedBuildInputs = [ tornado_4_0_1 ]; + + meta = with stdenv.lib; { + description = "SockJS python server implementation on top of Tornado framework"; + homepage = "http://github.com/mrjoes/sockjs-tornado/"; + license = licenses.mit; + platforms = platforms.all; + maintainers = with maintainers; [ abbradar ]; + }; + }; + +in pythonPackages.buildPythonApplication rec { name = "OctoPrint-${version}"; - version = "1.2.15"; + version = "1.2.17"; src = fetchFromGitHub { owner = "foosel"; repo = "OctoPrint"; rev = version; - sha256 = "0qfragp7n8m7l5l30s5fz1x7xzini2sdh2y3m1ahs7ay8zp4xk56"; + sha256 = "1di2f5npwsfckx5p2fl23bl5zi75i0aksd9qy4sa3zmw672337fh"; }; # We need old Tornado @@ -32,8 +67,10 @@ pythonPackages.buildPythonApplication rec { -e 's,Flask-Principal>=[^"]*,Flask-Principal,g' \ -e 's,markdown>=[^"]*,markdown,g' \ -e 's,Flask-Assets>=[^"]*,Flask-Assets,g' \ + -e 's,Flask-Login>=[^"]*,Flask-Login,g' \ -e 's,rsa>=[^"]*,rsa,g' \ -e 's,PyYAML>=[^"]*,PyYAML,g' \ + -e 's,flask>=[^"]*,flask,g' \ setup.py ''; diff --git a/pkgs/applications/misc/octoprint/m33-fio-one-library.patch b/pkgs/applications/misc/octoprint/m33-fio-one-library.patch index 968983696feb..cbfb6111ec51 100644 --- a/pkgs/applications/misc/octoprint/m33-fio-one-library.patch +++ b/pkgs/applications/misc/octoprint/m33-fio-one-library.patch @@ -1,18 +1,18 @@ -From 62b4fabd1d4ee7a584a565d48c7eaec6e80fe0bd Mon Sep 17 00:00:00 2001 +From c84b2130dab0d26be35294d023ed8f4be404c3c1 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov -Date: Fri, 12 Aug 2016 23:41:22 +0300 +Date: Wed, 23 Nov 2016 00:40:48 +0300 Subject: [PATCH] Build and use one version of preprocessor library --- - octoprint_m33fio/__init__.py | 66 +----------------------------------------- - shared library source/Makefile | 59 +++---------------------------------- - 2 files changed, 5 insertions(+), 120 deletions(-) + octoprint_m33fio/__init__.py | 67 ++---------------------------------------- + shared library source/Makefile | 62 +++----------------------------------- + 2 files changed, 6 insertions(+), 123 deletions(-) diff --git a/octoprint_m33fio/__init__.py b/octoprint_m33fio/__init__.py -index da539f5..b0a17ad 100755 +index f9f84c4..b365024 100755 --- a/octoprint_m33fio/__init__.py +++ b/octoprint_m33fio/__init__.py -@@ -979,71 +979,7 @@ class M33FioPlugin( +@@ -1061,71 +1061,8 @@ class M33FioPlugin( # Check if using shared library or checking if it is usable if self._settings.get_boolean(["UseSharedLibrary"]) or isUsable : @@ -81,19 +81,20 @@ index da539f5..b0a17ad 100755 - - # Set shared library - self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/preprocessor_x86-64.dylib") -+ self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/libpreprocessor.so") ++ # Set shared library ++ self.sharedLibrary = ctypes.cdll.LoadLibrary(self._basefolder.replace('\\', '/') + "/static/libraries/libpreprocessor.so") # Check if shared library was set if self.sharedLibrary : diff --git a/shared library source/Makefile b/shared library source/Makefile -index a43d657..0b254aa 100755 +index 887899b..4c74f5c 100755 --- a/shared library source/Makefile +++ b/shared library source/Makefile -@@ -1,62 +1,11 @@ - # Target platform options: LINUX32, LINUX64, WINDOWS32, WINDOWS64, PI, PI2, ARM7, OSX32, OSX64 +@@ -1,68 +1,14 @@ +-# Target platform options: LINUX32, LINUX64, WINDOWS32, WINDOWS64, PI, PI2, ARM7, OSX32, OSX64 -LIBRARY_NAME = preprocessor +-TARGET_PLATFORM = LINUX64 +LIBRARY_NAME = libpreprocessor - TARGET_PLATFORM = LINUX64 VER = .1 -ifeq ($(TARGET_PLATFORM), LINUX32) @@ -122,19 +123,19 @@ index a43d657..0b254aa 100755 - -ifeq ($(TARGET_PLATFORM), PI) - PROG = $(LIBRARY_NAME)_arm1176jzf-s.so -- CC = ~/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ +- CC = /opt/arm-toolchain/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ - CFLAGS = -fPIC -mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard -static-libgcc -O3 -Wl,-soname,$(PROG)$(VER) -static-libstdc++ -endif - -ifeq ($(TARGET_PLATFORM), PI2) - PROG = $(LIBRARY_NAME)_arm_cortex-a7.so -- CC = ~/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ +- CC = /opt/arm-toolchain/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ - CFLAGS = -fPIC -mcpu=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard -static-libgcc -O3 -Wl,-soname,$(PROG)$(VER) -static-libstdc++ -endif - -ifeq ($(TARGET_PLATFORM), ARM7) - PROG = $(LIBRARY_NAME)_arm7.so -- CC = ~/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++ +- CC = /opt/arm-toolchain/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++ - CFLAGS = -fPIC -mcpu=generic-armv7-a -mfpu=vfp -mfloat-abi=hard -static-libgcc -O3 -Wl,-soname,$(PROG)$(VER) -static-libstdc++ -endif - @@ -151,11 +152,17 @@ index a43d657..0b254aa 100755 - CFLAGS = -fPIC -m64 -stdlib=libc++ -O3 -Wl,-install_name,$(PROG)$(VER) -endif +PROG = $(LIBRARY_NAME).so -+CC = g++ +CFLAGS = -fPIC -O3 -Wl,-soname,$(PROG)$(VER) SRCS = preprocessor.cpp gcode.cpp vector.cpp CFLAGS += -Wall -std=c++11 -fvisibility=hidden -shared + + all: +- $(CC) $(CFLAGS) -o ../octoprint_m33fio/static/libraries/$(PROG) $(SRCS) ++ $(CXX) $(CFLAGS) -o ../octoprint_m33fio/static/libraries/$(PROG) $(SRCS) + + clean: + rm -f ../octoprint_m33fio/static/libraries/$(PROG) -- -2.9.2 +2.10.2 diff --git a/pkgs/applications/misc/octoprint/plugins.nix b/pkgs/applications/misc/octoprint/plugins.nix index 3c07bfa80e80..8f0152457632 100644 --- a/pkgs/applications/misc/octoprint/plugins.nix +++ b/pkgs/applications/misc/octoprint/plugins.nix @@ -12,13 +12,13 @@ let m33-fio = buildPlugin rec { name = "M33-Fio-${version}"; - version = "1.5"; + version = "1.11"; src = fetchFromGitHub { owner = "donovan6000"; repo = "M33-Fio"; rev = "V${version}"; - sha256 = "0ss8ic9l5srb5wj2mj0qafam0z4d6zv0cixhxgghh03fp0lvwjyq"; + sha256 = "11nbsi93clrqlnmaj73ak87hkqyghybccqz5jzhn2dhp0263adhl"; }; patches = [ diff --git a/pkgs/applications/misc/openbox-menu/default.nix b/pkgs/applications/misc/openbox-menu/default.nix index 9e52c629a244..1985b6448846 100644 --- a/pkgs/applications/misc/openbox-menu/default.nix +++ b/pkgs/applications/misc/openbox-menu/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, glib, gtk, menu-cache }: +{ stdenv, fetchurl, pkgconfig, glib, gtk2, menu-cache }: stdenv.mkDerivation rec { name = "openbox-menu-${version}"; @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "1hi4b6mq97y6ajq4hhsikbkk23aha7ikaahm92djw48mgj2f1w8l"; }; - buildInputs = [ pkgconfig glib gtk menu-cache ]; + buildInputs = [ pkgconfig glib gtk2 menu-cache ]; patches = [ ./with-svg.patch ]; diff --git a/pkgs/applications/misc/osmctools/default.nix b/pkgs/applications/misc/osmctools/default.nix new file mode 100644 index 000000000000..bb4719639ab9 --- /dev/null +++ b/pkgs/applications/misc/osmctools/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchurl, zlib } : + +stdenv.mkDerivation rec { + name = "osmctools-${version}"; + version = "0.8.5"; + + src = fetchurl { + url = http://m.m.i24.cc/osmconvert.c; + sha256 = "9da0940912d1bc62223b962483fd796f92c959c48749806aee5806164e5875d7"; + }; + + buildInputs = [ zlib ]; + + phases = [ "buildPhase" "installPhase" ]; + + buildPhase = '' + cc $src -lz -O3 -o osmconvert + ''; + + installPhase = '' + mkdir -p $out/bin + mv osmconvert $out/bin + ''; + + meta = with stdenv.lib; { + description = "Converter between various Open Street Map file formats"; + homepage = http://wiki.openstreetmap.org/wiki/Osmconvert; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/misc/pcmanfm-qt/default.nix b/pkgs/applications/misc/pcmanfm-qt/default.nix deleted file mode 100644 index 5b270f15fb6d..000000000000 --- a/pkgs/applications/misc/pcmanfm-qt/default.nix +++ /dev/null @@ -1,60 +0,0 @@ -{ stdenv -, fetchFromGitHub -, cmake -, pkgconfig -, qt5 -, menu-cache -, libfm -, elementary-icon-theme -}: - -let - version = "0.11.0"; - - buildInputsCommon = [ cmake pkgconfig qt5.qtbase qt5.qttools qt5.qtx11extras menu-cache libfm ]; - - libfm-qt = stdenv.mkDerivation rec { - name = "${pname}-${version}"; - pname = "libfm-qt"; - - src = fetchFromGitHub { - owner = "lxde"; - repo = pname; - rev = version; - sha256 = "0a8rd0m66l6n2jl7fin74byyy69pyc6rgnfkpmkbi6561l903592"; - }; - - buildInputs = buildInputsCommon; - }; - -in stdenv.mkDerivation rec { - name = "${pname}-${version}"; - pname = "pcmanfm-qt"; - - src = fetchFromGitHub { - owner = "lxde"; - repo = pname; - rev = version; - sha256 = "139l8m32sqcjmydppbv24iqnfsbl5b4rqmqzdayvlh6haf1ihinn"; - }; - - - buildInputs = buildInputsCommon ++ [ libfm-qt qt5.makeQtWrapper ]; - - postPatch = '' - substituteInPlace pcmanfm/settings.cpp --replace \"elementary\" \"Elementary\" - ''; - - postInstall = '' - wrapQtProgram $out/bin/pcmanfm-qt \ - --prefix XDG_DATA_DIRS : "${elementary-icon-theme}/share" - ''; - - meta = with stdenv.lib; { - homepage = "https://github.com/lxde/pcmanfm-qt"; - license = licenses.gpl2Plus; - description = "File manager with QT interface"; - maintainers = with maintainers; [ obadz ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/applications/misc/pcmanfm/default.nix b/pkgs/applications/misc/pcmanfm/default.nix index bf1bed08ed4c..e6d96b099fad 100644 --- a/pkgs/applications/misc/pcmanfm/default.nix +++ b/pkgs/applications/misc/pcmanfm/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, glib, gtk, intltool, libfm, libX11, pango, pkgconfig }: +{ stdenv, fetchurl, glib, gtk2, intltool, libfm, libX11, pango, pkgconfig }: stdenv.mkDerivation rec { name = "pcmanfm-1.2.4"; @@ -7,7 +7,7 @@ stdenv.mkDerivation rec { sha256 = "04z3vd9si24yi4c8calqncdpb9b6mbj4cs4f3fs86i6j05gvpk9q"; }; - buildInputs = [ glib gtk intltool libfm libX11 pango pkgconfig ]; + buildInputs = [ glib gtk2 intltool libfm libX11 pango pkgconfig ]; meta = with stdenv.lib; { homepage = "http://blog.lxde.org/?cat=28/"; diff --git a/pkgs/applications/misc/pcmanx-gtk2/default.nix b/pkgs/applications/misc/pcmanx-gtk2/default.nix index fb655ceba5dc..87c4df3446ed 100644 --- a/pkgs/applications/misc/pcmanx-gtk2/default.nix +++ b/pkgs/applications/misc/pcmanx-gtk2/default.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation { buildInputs = [ gtk2 libXft intltool automake115x autoconf libtool pkgconfig ]; - preConfigurePhases = '' + preConfigure = '' ./autogen.sh ''; diff --git a/pkgs/applications/misc/pdfmod/default.nix b/pkgs/applications/misc/pdfmod/default.nix index 0978da3512b8..919935a41ee5 100644 --- a/pkgs/applications/misc/pdfmod/default.nix +++ b/pkgs/applications/misc/pdfmod/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, fetchpatch, pkgconfig, gnome_doc_utils, intltool, lib -, mono, gtk-sharp, gnome-sharp, hyena +, mono, gtk-sharp-2_0, gnome-sharp, hyena , which, makeWrapper, glib, gnome3, poppler, wrapGAppsHook }: @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { }) ]; buildInputs = [ - pkgconfig gnome_doc_utils intltool mono gtk-sharp gnome-sharp + pkgconfig gnome_doc_utils intltool mono gtk-sharp-2_0 gnome-sharp hyena which makeWrapper wrapGAppsHook ]; @@ -31,9 +31,9 @@ stdenv.mkDerivation rec { postInstall = '' makeWrapper "${mono}/bin/mono" "$out/bin/pdfmod" \ --add-flags "$out/lib/pdfmod/PdfMod.exe" \ - --prefix MONO_GAC_PREFIX : ${gtk-sharp} \ + --prefix MONO_GAC_PREFIX : ${gtk-sharp-2_0} \ --prefix MONO_GAC_PREFIX : ${gnome-sharp} \ - --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ glib gnome-sharp gnome3.gconf gtk-sharp gtk-sharp.gtk poppler ]} + --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ glib gnome-sharp gnome3.gconf gtk-sharp-2_0 gtk-sharp-2_0.gtk poppler ]} ''; dontStrip = true; diff --git a/pkgs/applications/misc/pdfpc/default.nix b/pkgs/applications/misc/pdfpc/default.nix index 96ad943ad57c..2f023412faf5 100644 --- a/pkgs/applications/misc/pdfpc/default.nix +++ b/pkgs/applications/misc/pdfpc/default.nix @@ -1,21 +1,21 @@ -{ stdenv, fetchFromGitHub, cmake, makeWrapper, pkgconfig, vala_0_26, gtk3, libgee +{ stdenv, fetchFromGitHub, cmake, makeWrapper, pkgconfig, vala, gtk3, libgee , poppler, libpthreadstubs, gstreamer, gst-plugins-base, librsvg }: stdenv.mkDerivation rec { name = "${product}-${version}"; product = "pdfpc"; - version = "4.0.2"; + version = "4.0.5"; src = fetchFromGitHub { repo = "pdfpc"; owner = "pdfpc"; rev = "v${version}"; - sha256 = "0151i9msagcqcfaddgd1vkmman0qgqy6s3714sqas568r4r9ngdk"; + sha256 = "13spngkp0lq2qlw4mxsngx4ckr201axzn5ppjax0bhlckirvzr2s"; }; - nativeBuildInputs = [ cmake pkgconfig ]; - buildInputs = [ gstreamer gst-plugins-base vala_0_26 gtk3 libgee poppler - libpthreadstubs makeWrapper librsvg ]; + nativeBuildInputs = [ cmake pkgconfig vala ]; + buildInputs = [ gstreamer gst-plugins-base gtk3 libgee poppler + libpthreadstubs makeWrapper librsvg ]; postInstall = '' wrapProgram $out/bin/pdfpc \ diff --git a/pkgs/applications/misc/playonlinux/default.nix b/pkgs/applications/misc/playonlinux/default.nix index 4050f8bf5894..b604905320b2 100644 --- a/pkgs/applications/misc/playonlinux/default.nix +++ b/pkgs/applications/misc/playonlinux/default.nix @@ -7,7 +7,7 @@ , gnupg1compat , icoutils , imagemagick -, netcat +, netcat-gnu , p7zip , python2Packages , unzip @@ -34,7 +34,7 @@ let gnupg1compat icoutils imagemagick - netcat + netcat-gnu p7zip unzip wget diff --git a/pkgs/applications/misc/plover/default.nix b/pkgs/applications/misc/plover/default.nix new file mode 100644 index 000000000000..b8fa38268c38 --- /dev/null +++ b/pkgs/applications/misc/plover/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchurl, python27Packages, wmctrl }: + +python27Packages.buildPythonPackage rec { + name = "plover-${version}"; + version = "3.1.0"; + + meta = with stdenv.lib; { + description = "OpenSteno Plover stenography software"; + maintainers = with maintainers; [ twey kovirobi ]; + license = licenses.gpl2; + }; + + src = fetchurl { + url = "https://github.com/openstenoproject/plover/archive/v${version}.tar.gz"; + sha256 = "1zdlgyjp93sfvk6by7rsh9hj4ijzplglrxpcpkcir6c3nq2bixl4"; + }; + + # This is a fix for https://github.com/pypa/pip/issues/3624 causing regression https://github.com/pypa/pip/issues/3781 + postPatch = '' + substituteInPlace setup.py --replace " in sys_platform" " == sys_platform" + ''; + + buildInputs = with python27Packages; [ pytest mock ]; + propagatedBuildInputs = with python27Packages; [ six setuptools pyserial appdirs hidapi + wxPython xlib wmctrl ]; +} diff --git a/pkgs/applications/misc/pmenu/default.nix b/pkgs/applications/misc/pmenu/default.nix index 4798ae5a0248..da59f7f18867 100644 --- a/pkgs/applications/misc/pmenu/default.nix +++ b/pkgs/applications/misc/pmenu/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitLab, pythonPackages, gnome }: +{ stdenv, fetchFromGitLab, python2Packages, gnome2 }: stdenv.mkDerivation rec { name = "pmenu-${version}"; @@ -11,11 +11,11 @@ stdenv.mkDerivation rec { sha256 = "15bkvadr7ab44mc8gkdqs3w14cm498mwf72w5rjm2rdh55357jjh"; }; - nativeBuildInputs = [ pythonPackages.wrapPython ]; + nativeBuildInputs = [ python2Packages.wrapPython ]; - buildInputs = [ pythonPackages.pygtk gnome.gnome_menus ]; + buildInputs = [ python2Packages.pygtk gnome2.gnome_menus ]; - pythonPath = [ pythonPackages.pygtk ]; + pythonPath = [ python2Packages.pygtk ]; patchPhase = '' substituteInPlace install.sh --replace "/usr/local" "$out" diff --git a/pkgs/applications/misc/procmail/default.nix b/pkgs/applications/misc/procmail/default.nix index 0bdc771e2bdd..b62c6b77cac3 100644 --- a/pkgs/applications/misc/procmail/default.nix +++ b/pkgs/applications/misc/procmail/default.nix @@ -6,11 +6,15 @@ stdenv.mkDerivation { patches = [ ./CVE-2014-3618.patch ]; # getline is defined differently in glibc now. So rename it. + # Without the .PHONY target "make install" won't install anything on Darwin. postPatch = '' sed -e "s%^RM.*$%#%" -i Makefile sed -e "s%^BASENAME.*%\BASENAME=$out%" -i Makefile sed -e "s%^LIBS=.*%LIBS=-lm%" -i Makefile sed -e "s%getline%thisgetline%g" -i src/*.c src/*.h + sed -e "3i\ +.PHONY: install +" -i Makefile ''; src = fetchurl { diff --git a/pkgs/applications/misc/qsyncthingtray/default.nix b/pkgs/applications/misc/qsyncthingtray/default.nix new file mode 100644 index 000000000000..96d2aa0c85b7 --- /dev/null +++ b/pkgs/applications/misc/qsyncthingtray/default.nix @@ -0,0 +1,41 @@ +{ stdenv, fetchFromGitHub +, qtbase, qtwebengine +, qmakeHook }: + +stdenv.mkDerivation rec { + version = "0.5.5rc2"; + name = "qsyncthingtray-${version}"; + + src = fetchFromGitHub { + owner = "sieren"; + repo = "QSyncthingTray"; + rev = "${version}"; + sha256 = "1x7j7ylgm4ih06m7gb5ls3c9bdjwbra675489caq2f04kgw4yxq2"; + }; + + buildInputs = [ qtbase qtwebengine ]; + nativeBuildInputs = [ qmakeHook ]; + enableParallelBuilding = true; + + postInstall = '' + mkdir -p $out/bin + cp binary/QSyncthingTray $out/bin + cat > $out/bin/qt.conf <> $out/nix-support/propagated-user-env-packages + cp -r ${desktopItem}/share/applications/ $out/share/ ''; - meta = { - description = "A clone of the well-known terminal emulator rxvt"; + meta = with stdenv.lib; { + inherit description; homepage = "http://software.schmorp.de/pkg/rxvt-unicode.html"; - maintainers = [ stdenv.lib.maintainers.mornfall ]; - platforms = stdenv.lib.platforms.unix; + downloadPage = "http://dist.schmorp.de/rxvt-unicode/Attic/"; + maintainers = [ maintainers.mornfall ]; + platforms = platforms.unix; }; }) diff --git a/pkgs/applications/misc/sakura/default.nix b/pkgs/applications/misc/sakura/default.nix index 3febcfb17fb1..66e40befe7c0 100644 --- a/pkgs/applications/misc/sakura/default.nix +++ b/pkgs/applications/misc/sakura/default.nix @@ -1,17 +1,20 @@ -{ stdenv, fetchurl, cmake, pkgconfig, gtk3, perl, vte }: +{ stdenv, fetchurl, cmake, pkgconfig, gtk3, perl, vte, pcre, glib , makeWrapper }: stdenv.mkDerivation rec { name = "sakura-${version}"; - version = "3.2.0"; + version = "3.3.4"; src = fetchurl { url = "http://launchpad.net/sakura/trunk/${version}/+download/${name}.tar.bz2"; - sha256 = "1pfvc35kckrzik5wx8ywhkhclr52rfp2syg46ix2nsdm72q6dl90"; + sha256 = "1fnkrkzf2ysav1ljgi4y4w8kvbwiwgmg1462xhizlla8jqa749r7"; }; nativeBuildInputs = [ cmake perl pkgconfig ]; - buildInputs = [ gtk3 vte ]; + buildInputs = [ makeWrapper gtk3 vte pcre glib ]; + + # Wrapper sets path to gsettings-schemata so sakura knows where to find colorchooser, fontchooser ... + postInstall = "wrapProgram $out/bin/sakura --suffix XDG_DATA_DIRS : ${gtk3}/share/gsettings-schemas/${gtk3.name}/"; meta = with stdenv.lib; { description = "A terminal emulator based on GTK and VTE"; diff --git a/pkgs/applications/misc/sc-im/default.nix b/pkgs/applications/misc/sc-im/default.nix index cb18278d1ed4..75d08ec81883 100644 --- a/pkgs/applications/misc/sc-im/default.nix +++ b/pkgs/applications/misc/sc-im/default.nix @@ -1,26 +1,23 @@ -{ stdenv, fetchFromGitHub, yacc, ncurses, libxml2 }: +{ stdenv, fetchFromGitHub, yacc, ncurses, libxml2, pkgconfig }: -let - version = "0.2.1"; -in stdenv.mkDerivation rec { - + version = "0.4.0"; name = "sc-im-${version}"; src = fetchFromGitHub { owner = "andmarti1424"; repo = "sc-im"; rev = "v${version}"; - sha256 = "0v6b8xksvd12vmz198vik2ranyr5mhnp85hl9yxh9svibs7jxsbb"; + sha256 = "1v1cfmfqs5997bqlirp6p7smc3qrinq8dvsi33sk09r33zkzyar0"; }; - buildInputs = [ yacc ncurses libxml2 ]; + buildInputs = [ yacc ncurses libxml2 pkgconfig ]; buildPhase = '' cd src - sed "s,prefix=/usr,prefix=$out," Makefile - sed "s,-I/usr/include/libxml2,-I$libxml2," Makefile + sed -i "s,prefix=/usr,prefix=$out," Makefile + sed -i "s,-I/usr/include/libxml2,-I$libxml2," Makefile make export DESTDIR=$out diff --git a/pkgs/applications/misc/simplenote/default.nix b/pkgs/applications/misc/simplenote/default.nix new file mode 100644 index 000000000000..7367c8207054 --- /dev/null +++ b/pkgs/applications/misc/simplenote/default.nix @@ -0,0 +1,63 @@ +{ fetchurl, stdenv, lib, zlib, glib, alsaLib, dbus, gtk2, atk, pango, freetype, fontconfig +, libgnome_keyring3, gdk_pixbuf, gvfs, cairo, cups, expat, libgpgerror, nspr +, nss, xorg, libcap, systemd, libnotify ,libXScrnSaver, gnome3 }: + + stdenv.mkDerivation rec { + + name = "simplenote-${pkgver}"; + pkgver = "1.0.6"; + + src = fetchurl { + url = "https://github.com/Automattic/simplenote-electron/releases/download/v${pkgver}/Simplenote-linux-x64.${pkgver}.tar.gz"; + sha256 = "18wj880iw92yd57w781dqaj7iv9j3bqhyh2cbikqrl4m5w9xkla8"; + }; + + buildCommand = let + + packages = [ + stdenv.cc.cc zlib glib dbus gtk2 atk pango freetype libgnome_keyring3 + fontconfig gdk_pixbuf cairo cups expat libgpgerror alsaLib nspr nss + xorg.libXrender xorg.libX11 xorg.libXext xorg.libXdamage xorg.libXtst + xorg.libXcomposite xorg.libXi xorg.libXfixes xorg.libXrandr + xorg.libXcursor libcap systemd libnotify libXScrnSaver gnome3.gconf + ]; + + libPathNative = lib.makeLibraryPath packages; + libPath64 = lib.makeSearchPathOutput "lib" "lib64" packages; + libPath = "${libPathNative}:${libPath64}"; + + in '' + mkdir -p $out/share/ + mkdir -p $out/bin + tar xvzf $src -C $out/share/ + mv $out/share/Simplenote-linux-x64 $out/share/simplenote + mv $out/share/simplenote/Simplenote $out/share/simplenote/simplenote + mkdir -p $out/share/applications + + cat > $out/share/applications/simplenote.desktop << EOF + [Desktop Entry] + Name=Simplenote + Comment=Simplenote for Linux + Exec=$out/bin/simplenote + Icon=$out/share/simplenote/Simplenote.png + Type=Application + StartupNotify=true + Categories=Development; + EOF + + fixupPhase + + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "${libPath}:$out/share/simplenote" \ + $out/share/simplenote/simplenote + + ln -s $out/share/simplenote/simplenote $out/bin/simplenote + ''; + + meta = with stdenv.lib; { + description = "The simplest way to keep notes"; + homepage = https://github.com/Automattic/simplenote-electron; + license = licenses.lgpl2; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/applications/misc/slade/default.nix b/pkgs/applications/misc/slade/default.nix new file mode 100644 index 000000000000..b50c2f18690e --- /dev/null +++ b/pkgs/applications/misc/slade/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchFromGitHub, cmake, pkgconfig, wxGTK, gtk2, sfml, fluidsynth, curl, freeimage, ftgl, glew, zip }: + +stdenv.mkDerivation rec { + name = "slade-${version}"; + version = "3.1.1.4"; + + src = fetchFromGitHub { + owner = "sirjuddington"; + repo = "SLADE"; + rev = version; + sha256 = "0c2yjkpcwxkid1wczmc9f16x1p40my8jv61jc93ldgjzcprmrpn8"; + }; + + nativeBuildInputs = [ cmake pkgconfig zip ]; + buildInputs = [ wxGTK gtk2 sfml fluidsynth curl freeimage ftgl glew ]; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + description = "Doom editor"; + homepage = "http://slade.mancubus.net/"; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = with maintainers; [ abbradar ]; + }; +} diff --git a/pkgs/applications/misc/st/default.nix b/pkgs/applications/misc/st/default.nix index deceba0ea554..704262da5bf5 100644 --- a/pkgs/applications/misc/st/default.nix +++ b/pkgs/applications/misc/st/default.nix @@ -1,33 +1,32 @@ -{ stdenv, fetchurl, pkgconfig, writeText, libX11, ncurses, libXext, libXft, fontconfig -, conf ? null, patches ? []}: +{ stdenv, fetchurl, pkgconfig, writeText, libX11, ncurses, libXext, libXft +, fontconfig, conf ? null, patches ? []}: with stdenv.lib; -stdenv.mkDerivation rec { - name = "st-0.6"; - +let patches' = if isNull patches then [] else patches; +in stdenv.mkDerivation rec { + name = "st-0.7"; + src = fetchurl { url = "http://dl.suckless.org/st/${name}.tar.gz"; - sha256 = "0avsfc1qp8zvshsfjwwrkvk411jlqy58z225bsdhjkl1qc40qcc5"; + sha256 = "f7870d906ccc988926eef2cc98950a99cc78725b685e934c422c03c1234e6000"; }; - inherit patches; + patches = patches' ++ [ ./st-fix-deletekey.patch ]; configFile = optionalString (conf!=null) (writeText "config.def.h" conf); preBuild = optionalString (conf!=null) "cp ${configFile} config.def.h"; - - buildInputs = [ pkgconfig libX11 ncurses libXext libXft fontconfig ]; - NIX_LDFLAGS = "-lfontconfig"; + buildInputs = [ pkgconfig libX11 ncurses libXext libXft fontconfig ]; installPhase = '' TERMINFO=$out/share/terminfo make install PREFIX=$out ''; - + meta = { homepage = http://st.suckless.org/; license = stdenv.lib.licenses.mit; - maintainers = with maintainers; [viric]; + maintainers = with maintainers; [viric andsild]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/misc/st/st-fix-deletekey.patch b/pkgs/applications/misc/st/st-fix-deletekey.patch new file mode 100644 index 000000000000..cf0093220539 --- /dev/null +++ b/pkgs/applications/misc/st/st-fix-deletekey.patch @@ -0,0 +1,15 @@ +diff --git a/config.def.h b/config.def.h +index 1896246..b41747f 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -315,8 +315,8 @@ static Key key[] = { + { XK_Delete, ControlMask, "\033[3;5~", +1, 0, 0}, + { XK_Delete, ShiftMask, "\033[2K", -1, 0, 0}, + { XK_Delete, ShiftMask, "\033[3;2~", +1, 0, 0}, +- { XK_Delete, XK_ANY_MOD, "\033[P", -1, 0, 0}, +- { XK_Delete, XK_ANY_MOD, "\033[3~", +1, 0, 0}, ++ { XK_Delete, XK_ANY_MOD, "\033[P", +1, 0, 0}, ++ { XK_Delete, XK_ANY_MOD, "\033[3~", -1, 0, 0}, + { XK_BackSpace, XK_NO_MOD, "\177", 0, 0, 0}, + { XK_BackSpace, Mod1Mask, "\033\177", 0, 0, 0}, + { XK_Home, ShiftMask, "\033[2J", 0, -1, 0}, diff --git a/pkgs/applications/misc/styx/default.nix b/pkgs/applications/misc/styx/default.nix new file mode 100644 index 000000000000..15e8453de515 --- /dev/null +++ b/pkgs/applications/misc/styx/default.nix @@ -0,0 +1,53 @@ +{ stdenv, fetchFromGitHub, caddy, asciidoctor +, file, lessc, sass, multimarkdown }: + +stdenv.mkDerivation rec { + name = "styx-${version}"; + version = "0.4.0"; + + src = fetchFromGitHub { + owner = "styx-static"; + repo = "styx"; + rev = "v${version}"; + sha256 = "1s4465absxqwlwhn5rf51h0s1rw25ls581yjg0fy9kbyhy979qvs"; + }; + + setSourceRoot = "cd styx-*/src; export sourceRoot=`pwd`"; + + server = "${caddy.bin}/bin/caddy"; + + nativeBuildInputs = [ asciidoctor ]; + + propagatedBuildInputs = [ + file + lessc + sass + asciidoctor + multimarkdown + ]; + + installPhase = '' + mkdir $out + install -D -m 777 styx.sh $out/bin/styx + + mkdir -p $out/share/styx + cp -r lib $out/share/styx + cp -r scaffold $out/share/styx + cp builder.nix $out/share/styx + + mkdir -p $out/share/doc/styx + asciidoctor doc/manual.adoc -o $out/share/doc/styx/index.html + + substituteAllInPlace $out/bin/styx + substituteAllInPlace $out/share/doc/styx/index.html + ''; + + meta = with stdenv.lib; { + description = "Nix based static site generator"; + maintainers = with maintainers; [ ericsagnes ]; + homepage = https://styx-static.github.io/styx-site/; + downloadPage = https://github.com/styx-static/styx/; + platforms = platforms.all; + license = licenses.mit; + }; +} diff --git a/pkgs/applications/misc/styx/themes.nix b/pkgs/applications/misc/styx/themes.nix new file mode 100644 index 000000000000..2b3570608afb --- /dev/null +++ b/pkgs/applications/misc/styx/themes.nix @@ -0,0 +1,92 @@ +{ fetchFromGitHub, stdenv }: + +let + + mkThemeDrv = args: stdenv.mkDerivation { + name = "styx-theme-${args.themeName}-${args.version}"; + + src = fetchFromGitHub ({ + owner = "styx-static"; + repo = "styx-theme-${args.themeName}"; + } // args.src); + + installPhase = '' + mkdir $out + cp -r * $out/ + ''; + + preferLocalBuild = true; + + meta = with stdenv.lib; { + maintainer = with maintainers; [ ericsagnes ]; + description = "${args.themeName} theme for styx"; + platforms = platforms.all; + } // args.meta; + }; + +in +{ + agency = mkThemeDrv { + themeName = "agency"; + version = "2016-12-03"; + src = { + rev = "3604239cc5d940eee9c14ad2540d68a53cfebd7e"; + sha256 = "1kk8d5a3lb7fx1avivjd49gv0ffq7ppiswmwqlcsq87h2dbrqf61"; + }; + meta = { + license = stdenv.lib.licenses.asl20; + longDescription = '' + Agency Theme is a one page portfolio for companies and freelancers. + This theme features several content sections, a responsive portfolio + grid with hover effects, full page portfolio item modals, a timeline, + and a contact form. + ''; + }; + }; + + hyde = mkThemeDrv { + themeName = "hyde"; + version = "2016-12-03"; + src = { + rev = "b6b9b77839959fbf3c9ca3a4488617fa1831cd28"; + sha256 = "0d1k03mjn08s3rpc5rdivb8ahr345kblhqyihxnfgd1501ih9pg6"; + }; + meta = { + license = stdenv.lib.licenses.mit; + longDescription = '' + Hyde is a brazen two-column Jekyll theme that pairs a prominent sidebar + with uncomplicated content. + ''; + }; + }; + + orbit = mkThemeDrv { + themeName = "orbit"; + version = "2016-12-03"; + src = { + rev = "1d41745c689c4336d4e2bfbb2483b80e67ec96e4"; + sha256 = "19pp9dykqxmrixn3cvqpdpcqy547y9n5izqhz0c4a11mmm0v3v64"; + }; + meta = { + license = stdenv.lib.licenses.cc-by-30; + longDescription = '' + Orbit is a free resume/CV template designed for developers. + ''; + }; + }; + + showcase = mkThemeDrv { + themeName = "showcase"; + version = "2016-12-04"; + src = { + rev = "33feb0a09183e88d3580e9444ea36a255dffef60"; + sha256 = "01ighlnrja442ip5fhllydl77bfdz8yig80spmizivdfxdrdiyyf"; + }; + meta = { + license = stdenv.lib.licenses.mit; + longDescription = '' + Theme that show most of styx functionalities with a basic design. + ''; + }; + }; +} diff --git a/pkgs/applications/misc/subsurface/default.nix b/pkgs/applications/misc/subsurface/default.nix new file mode 100644 index 000000000000..06b367fa6e78 --- /dev/null +++ b/pkgs/applications/misc/subsurface/default.nix @@ -0,0 +1,62 @@ +{ + stdenv, + cmake, + curl, + fetchgit, + grantlee, + libdivecomputer, + libgit2, + libmarble-ssrf, + libssh2, + libxml2, + libxslt, + libzip, + pkgconfig, + qtbase, + qtconnectivity, + qttools, + qtwebkit, + sqlite +}: + +stdenv.mkDerivation rec { + version = "4.5.97"; + name = "subsurface-${version}"; + + src = fetchgit { + sha256 = "035ywhicadmr9sh7zhfxsvpchwa9sywccacbspfam39n2hpyqnmm"; + url = "git://git.subsurface-divelog.org/subsurface"; + rev = "72bcb6481f3b935444d7868a74599dda133f9b43"; + branchName = "master"; + }; + + buildInputs = [ qtbase libdivecomputer libmarble-ssrf libxslt + libzip libxml2 grantlee qtwebkit qttools + qtconnectivity libgit2 libssh2 curl ]; + nativeBuildInputs = [ pkgconfig cmake ]; + + #enableParallelBuilding = true; # fatal error: ui_mainwindow.h: No such file or directory + + # hack incoming... + preConfigure = '' + marble_libs=$(echo $(echo $CMAKE_LIBRARY_PATH | grep -o "/nix/store/[[:alnum:]]*-libmarble-ssrf-[a-zA-Z0-9\-]*/lib")/libssrfmarblewidget.so) + cmakeFlags="$cmakeFlags -DCMAKE_BUILD_TYPE=Debug \ + -DMARBLE_LIBRARIES=$marble_libs \ + -DNO_PRINTING=OFF" + ''; + + meta = with stdenv.lib; { + description = "Subsurface is an open source divelog program that runs on Windows, Mac and Linux"; + longDescription = '' + Subsurface can track single- and multi-tank dives using air, Nitrox or TriMix. + It allows tracking of dive locations including GPS coordinates (which can also + conveniently be entered using a map interface), logging of equipment used and + names of other divers, and lets users rate dives and provide additional notes. + ''; + homepage = https://subsurface-divelog.org; + license = licenses.gpl2; + maintainers = [ maintainers.mguentner ]; + platforms = platforms.all; + }; + +} diff --git a/pkgs/applications/misc/synapse/default.nix b/pkgs/applications/misc/synapse/default.nix index 21c0c0f5ea31..e7d2a595684b 100644 --- a/pkgs/applications/misc/synapse/default.nix +++ b/pkgs/applications/misc/synapse/default.nix @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { ''; homepage = https://launchpad.net/synapse-project; license = stdenv.lib.licenses.gpl3; - maintainers = with stdenv.lib.maintainers; mahe; + maintainers = with stdenv.lib.maintainers; [ mahe ]; platforms = with stdenv.lib.platforms; all; }; } diff --git a/pkgs/applications/misc/tangogps/default.nix b/pkgs/applications/misc/tangogps/default.nix index 1a42d9a90e6d..584b8f6a2966 100644 --- a/pkgs/applications/misc/tangogps/default.nix +++ b/pkgs/applications/misc/tangogps/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, pkgconfig, gettext, gtk, gconf +{ fetchurl, stdenv, pkgconfig, gettext, gtk2, gconf , curl, libexif, sqlite, libxml2 }: stdenv.mkDerivation rec { @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "15q2kkrv4mfsivfdzjgpxr7s2amw7d501q2ayjl3ff4vmvfn5516"; }; - buildInputs = [ pkgconfig gettext gtk gconf curl libexif sqlite libxml2 ]; + buildInputs = [ pkgconfig gettext gtk2 gconf curl libexif sqlite libxml2 ]; # bogus includes fail with newer library version postPatch = '' diff --git a/pkgs/applications/misc/taskjuggler/default.nix b/pkgs/applications/misc/taskjuggler/2.x/default.nix similarity index 100% rename from pkgs/applications/misc/taskjuggler/default.nix rename to pkgs/applications/misc/taskjuggler/2.x/default.nix diff --git a/pkgs/applications/misc/taskjuggler/timezone-glibc.patch b/pkgs/applications/misc/taskjuggler/2.x/timezone-glibc.patch similarity index 100% rename from pkgs/applications/misc/taskjuggler/timezone-glibc.patch rename to pkgs/applications/misc/taskjuggler/2.x/timezone-glibc.patch diff --git a/pkgs/applications/misc/taskjuggler/3.x/Gemfile b/pkgs/applications/misc/taskjuggler/3.x/Gemfile new file mode 100644 index 000000000000..77cbaeeed793 --- /dev/null +++ b/pkgs/applications/misc/taskjuggler/3.x/Gemfile @@ -0,0 +1,2 @@ +source 'http://rubygems.org' +gem 'taskjuggler' diff --git a/pkgs/applications/misc/taskjuggler/3.x/Gemfile.lock b/pkgs/applications/misc/taskjuggler/3.x/Gemfile.lock new file mode 100644 index 000000000000..d1642e76fa65 --- /dev/null +++ b/pkgs/applications/misc/taskjuggler/3.x/Gemfile.lock @@ -0,0 +1,21 @@ +GEM + remote: http://rubygems.org/ + specs: + mail (2.6.3) + mime-types (>= 1.16, < 3) + mime-types (2.6.1) + taskjuggler (3.5.0) + mail (>= 2.4.3) + term-ansicolor (>= 1.0.7) + term-ansicolor (1.3.2) + tins (~> 1.0) + tins (1.6.0) + +PLATFORMS + ruby + +DEPENDENCIES + taskjuggler + +BUNDLED WITH + 1.10.5 diff --git a/pkgs/applications/misc/taskjuggler/3.x/default.nix b/pkgs/applications/misc/taskjuggler/3.x/default.nix new file mode 100644 index 000000000000..eaca537356b3 --- /dev/null +++ b/pkgs/applications/misc/taskjuggler/3.x/default.nix @@ -0,0 +1,17 @@ +{ lib, bundlerEnv, ruby }: + +bundlerEnv { + name = "taskjuggler-3.5.0"; + + inherit ruby; + gemfile = ./Gemfile; + lockfile = ./Gemfile.lock; + gemset = ./gemset.nix; + + meta = { + description = "A modern and powerful project management tool"; + homepage = http://taskjuggler.org/; + license = lib.licenses.gpl2; + platforms = lib.platforms.unix; + }; +} diff --git a/pkgs/applications/misc/taskjuggler/3.x/gemset.nix b/pkgs/applications/misc/taskjuggler/3.x/gemset.nix new file mode 100644 index 000000000000..e65ab3451a62 --- /dev/null +++ b/pkgs/applications/misc/taskjuggler/3.x/gemset.nix @@ -0,0 +1,47 @@ +{ + "mail" = { + version = "2.6.3"; + source = { + type = "gem"; + sha256 = "1nbg60h3cpnys45h7zydxwrl200p7ksvmrbxnwwbpaaf9vnf3znp"; + }; + dependencies = [ + "mime-types" + ]; + }; + "mime-types" = { + version = "2.6.1"; + source = { + type = "gem"; + sha256 = "1vnrvf245ijfyxzjbj9dr6i1hkjbyrh4yj88865wv9bs75axc5jv"; + }; + }; + "taskjuggler" = { + version = "3.5.0"; + source = { + type = "gem"; + sha256 = "0r84rlc7a6w7p9nc9mgycbs5h0hq0kzscjq7zj3296xyf0afiwj2"; + }; + dependencies = [ + "mail" + "term-ansicolor" + ]; + }; + "term-ansicolor" = { + version = "1.3.2"; + source = { + type = "gem"; + sha256 = "0ydbbyjmk5p7fsi55ffnkq79jnfqx65c3nj8d9rpgl6sw85ahyys"; + }; + dependencies = [ + "tins" + ]; + }; + "tins" = { + version = "1.6.0"; + source = { + type = "gem"; + sha256 = "02qarvy17nbwvslfgqam8y6y7479cwmb1a6di9z18hzka4cf90hz"; + }; + }; +} diff --git a/pkgs/applications/misc/tasksh/default.nix b/pkgs/applications/misc/tasksh/default.nix index 9283469fcc39..333ed411941b 100644 --- a/pkgs/applications/misc/tasksh/default.nix +++ b/pkgs/applications/misc/tasksh/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "tasksh-${version}"; - version = "1.0.0"; + version = "1.1.0"; enableParallelBuilding = true; src = fetchurl { - url = "http://taskwarrior.org/download/tasksh-latest.tar.gz"; - sha256 = "0ll6pwhw4wsdffacsmpq46fqh084p9mdaa777giqbag3b8gwik4s"; + url = "http://taskwarrior.org/download/${name}.tar.gz"; + sha256 = "0900nzfgvhcc106pl68d0v0qszvdc34yi59mw70b34b2gmkwdxzf"; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/applications/misc/terminator/default.nix b/pkgs/applications/misc/terminator/default.nix index 7ca5f962403c..3959ad88ece9 100644 --- a/pkgs/applications/misc/terminator/default.nix +++ b/pkgs/applications/misc/terminator/default.nix @@ -1,27 +1,27 @@ -{ stdenv, fetchurl, python, pygtk, notify, keybinder, vte, gettext, intltool -, makeWrapper +{ stdenv, fetchurl, pythonPackages, pango, keybinder, vte, gettext, intltool, file }: -stdenv.mkDerivation rec { +pythonPackages.buildPythonApplication rec { name = "terminator-${version}"; - version = "0.98"; - + version = "1.0"; + src = fetchurl { url = "https://launchpad.net/terminator/trunk/${version}/+download/${name}.tar.gz"; - sha256 = "1h965z06dsfk38byyhnsrscd9r91qm92ggwgjrh7xminzsgqqv8a"; + sha256 = "1pfspcxsbax8a835kcld32fax6vcxsn1fmkny9zzvi4icplhkal8"; }; - - buildInputs = [ - python pygtk notify keybinder vte gettext intltool makeWrapper + + nativeBuildInputs = [ file intltool ]; + + pythonPath = with pythonPackages; [ + pygtk pygobject2 vte keybinder notify gettext pango psutil ]; - installPhase = '' - python setup.py --without-icon-cache install --prefix="$out" + postPatch = '' + patchShebangs . + ''; - for file in "$out"/bin/*; do - wrapProgram "$file" \ - --prefix PYTHONPATH : "$(toPythonPath $out):$PYTHONPATH" - done + checkPhase = '' + ./run_tests ''; meta = with stdenv.lib; { @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { ''; homepage = http://gnometerminator.blogspot.no/p/introduction.html; license = licenses.gpl2; - maintainers = [ maintainers.bjornfor ]; + maintainers = with maintainers; [ bjornfor globin ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/misc/termite/default.nix b/pkgs/applications/misc/termite/default.nix index 33c42e3dc1dd..837d736d10dd 100644 --- a/pkgs/applications/misc/termite/default.nix +++ b/pkgs/applications/misc/termite/default.nix @@ -1,16 +1,16 @@ -{ stdenv, fetchgit, pkgconfig, vte, gtk3, ncurses, makeWrapper +{ stdenv, fetchgit, pkgconfig, vte, gtk3, ncurses, makeWrapper, symlinkJoin , configFile ? null }: let - version = "11"; + version = "12"; termite = stdenv.mkDerivation { name = "termite-${version}"; src = fetchgit { url = "https://github.com/thestinger/termite"; rev = "refs/tags/v${version}"; - sha256 = "1cw4yw7n9m2si8b7zcfyz9pyihncabxm5g39v1mxslfajxgwzmd8"; + sha256 = "0s6dyg3vcqk5qcx90bs24wdnd3p56rdjdcanx4pcxvp6ksjl61jz"; }; postPatch = "sed '1i#include ' -i termite.cc"; @@ -37,13 +37,13 @@ let platforms = platforms.all; }; }; -in if configFile == null then termite else stdenv.mkDerivation { +in if configFile == null then termite else symlinkJoin { name = "termite-with-config-${version}"; + paths = [ termite ]; nativeBuildInputs = [ makeWrapper ]; - buildCommand = '' - mkdir -p $out/etc/xdg/termite/ $out/bin - ln -s ${termite}/bin/termite $out/bin/termite - wrapProgram $out/bin/termite --add-flags "--config ${configFile}" + postBuild = '' + wrapProgram $out/bin/termite \ + --add-flags "--config ${configFile}" ''; passthru.terminfo = termite.terminfo; } diff --git a/pkgs/applications/misc/tilda/default.nix b/pkgs/applications/misc/tilda/default.nix index 43b7312cda64..a64ab0ea2ca3 100644 --- a/pkgs/applications/misc/tilda/default.nix +++ b/pkgs/applications/misc/tilda/default.nix @@ -6,11 +6,11 @@ stdenv.mkDerivation rec { name = "tilda-${version}"; - version = "1.2.4"; + version = "1.3.3"; src = fetchurl { url = "https://github.com/lanoxx/tilda/archive/${name}.tar.gz"; - sha256 = "1f7b52c5d8cfd9038ad2e41fc633fce935f420fa657ed15e3942722c8570751e"; + sha256 = "1cc4qbg1m3i04lj5p6i6xbd0zvy1320pxdgmjhz5p3j95ibsbfki"; }; buildInputs = [ pkgconfig autoreconfHook gettext confuse vte gtk makeWrapper ]; diff --git a/pkgs/applications/misc/tint2/default.nix b/pkgs/applications/misc/tint2/default.nix index 40810adbbdc8..f72f4fdc5677 100644 --- a/pkgs/applications/misc/tint2/default.nix +++ b/pkgs/applications/misc/tint2/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitLab, pkgconfig, cmake, gettext, cairo, pango, pcre -, glib , imlib2, gtk, libXinerama , libXrender, libXcomposite, libXdamage +, glib , imlib2, gtk2, libXinerama , libXrender, libXcomposite, libXdamage , libX11 , libXrandr, librsvg, libpthreadstubs , libXdmcp , libstartup_notification , hicolor_icon_theme, wrapGAppsHook }: @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig cmake gettext wrapGAppsHook ]; - buildInputs = [ cairo pango pcre glib imlib2 gtk libXinerama libXrender + buildInputs = [ cairo pango pcre glib imlib2 gtk2 libXinerama libXrender libXcomposite libXdamage libX11 libXrandr librsvg libpthreadstubs libXdmcp libstartup_notification hicolor_icon_theme ]; diff --git a/pkgs/applications/misc/tnef/tnef/default.nix b/pkgs/applications/misc/tnef/tnef/default.nix deleted file mode 100644 index 3256ed1a5706..000000000000 --- a/pkgs/applications/misc/tnef/tnef/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ fetchurl, lib }: - -stdenv.mkDerivation rec { - version = "1.4.12"; - name = "tnef-${version}"; - - src = fetchFromGitHub { - owner = "verdammelt"; - repo = "tnef"; - rev = "${version}"; - sha256 = "0ssi2wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i"; - }; - - doCheck = true; - - meta = with lib; { - description = "Unpacks MIME attachments of type application/ms-tnef"; - longDescription = '' - TNEF is a program for unpacking MIME attachments of type "application/ms-tnef". This is a Microsoft only attachment. - - Due to the proliferation of Microsoft Outlook and Exchange mail servers, more and more mail is encapsulated into this format. - - The TNEF program allows one to unpack the attachments which were encapsulated into the TNEF attachment. Thus alleviating the need to use Microsoft Outlook to view the attachment. - ''; - homepage = https://github.com/verdammelt/tnef; - license = licenses.gpl2; - maintainers = [ maintainers.DamienCassou ]; - platforms = platforms.all; - }; -} diff --git a/pkgs/applications/misc/twmn/default.nix b/pkgs/applications/misc/twmn/default.nix index 06ae708db2bc..c38b97b0e980 100644 --- a/pkgs/applications/misc/twmn/default.nix +++ b/pkgs/applications/misc/twmn/default.nix @@ -16,8 +16,12 @@ stdenv.mkDerivation rec { ''; installPhase = '' + runHook preInstall + mkdir -p "$out/bin" cp bin/* "$out/bin" + + runHook postInstall ''; meta = { diff --git a/pkgs/applications/misc/udiskie/default.nix b/pkgs/applications/misc/udiskie/default.nix new file mode 100644 index 000000000000..6a326dba39c6 --- /dev/null +++ b/pkgs/applications/misc/udiskie/default.nix @@ -0,0 +1,44 @@ +{ stdenv, fetchFromGitHub, asciidoc-full, gettext +, gobjectIntrospection, gtk3, hicolor_icon_theme, libnotify, librsvg +, pythonPackages, udisks2, wrapGAppsHook }: + +pythonPackages.buildPythonApplication rec { + name = "udiskie-${version}"; + version = "1.5.1"; + + src = fetchFromGitHub { + owner = "coldfix"; + repo = "udiskie"; + rev = version; + sha256 = "01x5fvllb262x6r3547l23z7p6hr7ddz034bkhmj2cqmf83sxwxd"; + }; + + buildInputs = [ + asciidoc-full # For building man page. + hicolor_icon_theme + wrapGAppsHook + librsvg # required for loading svg icons (udiskie uses svg icons) + ]; + + propagatedBuildInputs = [ + gettext gobjectIntrospection gtk3 libnotify pythonPackages.docopt + pythonPackages.pygobject3 pythonPackages.pyyaml udisks2 + ]; + + postBuild = "make -C doc"; + + postInstall = '' + mkdir -p $out/share/man/man8 + cp -v doc/udiskie.8 $out/share/man/man8/ + ''; + + # tests require dbusmock + doCheck = false; + + meta = with stdenv.lib; { + description = "Removable disk automounter for udisks"; + license = licenses.mit; + homepage = https://github.com/coldfix/udiskie; + maintainers = with maintainers; [ AndersonTorres ]; + }; +} diff --git a/pkgs/applications/misc/urlscan/default.nix b/pkgs/applications/misc/urlscan/default.nix new file mode 100644 index 000000000000..dc9cb3189d5b --- /dev/null +++ b/pkgs/applications/misc/urlscan/default.nix @@ -0,0 +1,25 @@ +{ stdenv, buildPythonPackage, fetchFromGitHub, urwid, pythonOlder }: + +buildPythonPackage rec { + name = "urlscan-${version}"; + version = "0.8.3"; + + src = fetchFromGitHub { + owner = "firecat53"; + repo = "urlscan"; + rev = version; + # (equivalent but less nice(?): rev = "00333f6d03bf3151c9884ec778715fc605f58cc5") + sha256 = "0l40anfznam4d3q0q0jp2wwfrvfypz9ppbpjyzjdrhb3r2nizb0y"; + }; + + propagatedBuildInputs = [ urwid ]; + + # FIXME doesn't work with 2.7; others than 2.7 and 3.5 were not tested (yet) + disabled = !pythonOlder "3.5"; + + meta = with stdenv.lib; { + description = "Mutt and terminal url selector (similar to urlview)"; + license = licenses.gpl2; + maintainers = [ maintainers.dpaetzel ]; + }; +} diff --git a/pkgs/applications/misc/vifm/default.nix b/pkgs/applications/misc/vifm/default.nix index 2e8f747e724c..00e1d10df10e 100644 --- a/pkgs/applications/misc/vifm/default.nix +++ b/pkgs/applications/misc/vifm/default.nix @@ -21,12 +21,10 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ raskin garbas ]; platforms = platforms.linux; license = licenses.gpl2; - }; - - passthru = { - updateInfo = { - downloadPage = "http://vifm.sf.net"; - }; + downloadPage = "http://vifm.info/downloads.shtml"; + homepage = "http://vifm.info/"; + inherit version; + updateWalker = true; }; } diff --git a/pkgs/applications/misc/viking/default.nix b/pkgs/applications/misc/viking/default.nix index 50749681f2cf..1e7c7f654b5f 100644 --- a/pkgs/applications/misc/viking/default.nix +++ b/pkgs/applications/misc/viking/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, makeWrapper, pkgconfig, intltool, gettext, gtk, expat, curl +{ fetchurl, stdenv, makeWrapper, pkgconfig, intltool, gettext, gtk2, expat, curl , gpsd, bc, file, gnome_doc_utils, libexif, libxml2, libxslt, scrollkeeper , docbook_xml_dtd_412, gexiv2, sqlite, gpsbabel, expect }: @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { sha256 = "09kq0sxs2czps0d6xzgkkp41746v44ip63m72qvfs7rsrnqj7qnz"; }; - buildInputs = [ makeWrapper pkgconfig intltool gettext gtk expat curl gpsd bc file gnome_doc_utils + buildInputs = [ makeWrapper pkgconfig intltool gettext gtk2 expat curl gpsd bc file gnome_doc_utils libexif libxml2 libxslt scrollkeeper docbook_xml_dtd_412 gexiv2 sqlite ]; diff --git a/pkgs/applications/misc/volnoti/default.nix b/pkgs/applications/misc/volnoti/default.nix new file mode 100644 index 000000000000..836deb656a29 --- /dev/null +++ b/pkgs/applications/misc/volnoti/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchFromGitHub, fetchpatch +, pkgconfig, dbus, gdk_pixbuf, glib, libX11, gtk2, librsvg +, dbus_glib, autoreconfHook, wrapGAppsHook }: + +stdenv.mkDerivation rec { + name = "volnoti-unstable-${version}"; + version = "2013-09-23"; + + src = fetchFromGitHub { + owner = "davidbrazdil"; + repo = "volnoti"; + rev = "4af7c8e54ecc499097121909f02ecb42a8a60d24"; + sha256 = "155lb7w563dkdkdn4752hl0zjhgnq3j4cvs9z98nb25k1xpmpki7"; + }; + + patches = [ + # Fix dbus interface headers. See + # https://github.com/davidbrazdil/volnoti/pull/10 + (fetchpatch { + url = "https://github.com/davidbrazdil/volnoti/pull/10.patch"; + sha256 = "046zfdjmvhb7jrsgh04vfgi35sgy1zkrhd3bzdby3nvds1wslfam"; + }) + ]; + + nativeBuildInputs = [ pkgconfig autoreconfHook wrapGAppsHook ]; + + buildInputs = [ + dbus gdk_pixbuf glib libX11 gtk2 dbus_glib librsvg + ]; + + meta = with stdenv.lib; { + description = "Lightweight volume notification for Linux"; + homepage = "https://github.com/davidbrazdil/volnoti"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = [ maintainers.gilligan ]; + }; +} diff --git a/pkgs/applications/misc/vp/default.nix b/pkgs/applications/misc/vp/default.nix index c40df820b33d..e794b82e2f6e 100644 --- a/pkgs/applications/misc/vp/default.nix +++ b/pkgs/applications/misc/vp/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, autoconf, automake, SDL, SDL_image }: +{ stdenv, fetchFromGitHub, autoreconfHook, SDL, SDL_image }: stdenv.mkDerivation rec { name = "vp-${version}"; @@ -11,11 +11,11 @@ stdenv.mkDerivation rec { sha256 = "08q6xrxsyj6vj0sz59nix9isqz84gw3x9hym63lz6v8fpacvykdq"; }; - buildInputs = [ SDL autoconf automake SDL_image ]; + nativeBuildInputs = [ autoreconfHook ]; - preConfigure = '' - autoreconf -i - ''; + buildInputs = [ SDL SDL_image ]; + + NIX_CFLAGS_COMPILE="-I${SDL}/include/SDL -I${SDL_image}/include/SDL"; meta = with stdenv.lib; { homepage = http://brlcad.org/~erik/; diff --git a/pkgs/applications/misc/weather/default.nix b/pkgs/applications/misc/weather/default.nix index 192e4406b6d8..a184d31233c4 100644 --- a/pkgs/applications/misc/weather/default.nix +++ b/pkgs/applications/misc/weather/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, pythonPackages }: stdenv.mkDerivation rec { - version = "2.0"; + version = "2.3"; name = "weather-${version}"; src = fetchurl { url = "http://fungi.yuggoth.org/weather/src/${name}.tar.xz"; - sha256 = "0yil363y9iyr4mkd7xxq0p2260wh50f9i5p0map83k9i5l0gyyl0"; + sha256 = "0inij30prqqcmzjwcmfzjjn0ya5klv18qmajgxipz1jr3lpqs546"; }; nativeBuildInputs = [ pythonPackages.wrapPython ]; diff --git a/pkgs/applications/misc/webthree-umbrella/default.nix b/pkgs/applications/misc/webthree-umbrella/default.nix deleted file mode 100644 index 6ada451edf1b..000000000000 --- a/pkgs/applications/misc/webthree-umbrella/default.nix +++ /dev/null @@ -1,128 +0,0 @@ -{ stdenv -, fetchgit -, cmake -, boost -, gmp -, jsoncpp -, leveldb -, cryptopp -, libcpuid -, miniupnpc -, libjson_rpc_cpp -, curl -, libmicrohttpd -, mesa - -, withOpenCL ? false -, opencl-headers ? null -, ocl-icd ? null - -, withGUI ? false -, qtwebengine ? null -, qtbase ? null -, qtdeclarative ? null - -, withProfiling ? false -, gperftools ? null - -, withEVMJIT ? false -, llvm ? null -, zlib ? null -, ncurses ? null - -, extraCmakeFlags ? [] -}: - -assert withOpenCL -> (opencl-headers != null) && (ocl-icd != null); -assert withGUI -> (qtwebengine != null) && (qtbase != null) && (qtdeclarative != null); -assert withProfiling -> (gperftools != null); -assert withEVMJIT -> (llvm != null) && (zlib != null) && (ncurses != null); - -stdenv.mkDerivation rec { - name = "cpp-ethereum-${version}"; - version = "1.2.9"; - - src = fetchgit { - url = https://github.com/ethereum/webthree-umbrella.git; - rev = "850479b159a0bfa316fd261ab96b0a043acd766c"; - sha256 = "0k8w8gqzy71x77p0p85r38gfdnzrlzk2yvb3ablml9ppg4qb4ch5"; - }; - - cmakeFlags = with stdenv.lib; concatStringsSep " " (flatten [ - "-DCMAKE_BUILD_TYPE=Release" - "-DGUI=${toString withGUI}" - "-DETHASHCL=${toString withOpenCL}" - "-DPROFILING=${toString withProfiling}" - "-DEVMJIT=${toString withEVMJIT}" - (optional withOpenCL [ - "-DCMAKE_INCLUDE_PATH=${opencl-headers}/include" - "-DCMAKE_LIBRARY_PATH=${ocl-icd}/lib" - ]) - (optional withEVMJIT "-DCMAKE_PREFIX_PATH=${llvm}") - extraCmakeFlags - ]); - - configurePhase = '' - export BOOST_INCLUDEDIR=${boost.dev}/include - export BOOST_LIBRARYDIR=${boost.out}/lib - - mkdir -p Build/Install - pushd Build - - cmake .. -DCMAKE_INSTALL_PREFIX=$(pwd)/Install $cmakeFlags - ''; - - buildInputs = with stdenv.lib; [ - cmake - boost - gmp - jsoncpp - leveldb - cryptopp - libcpuid - miniupnpc - libjson_rpc_cpp - curl - libmicrohttpd - mesa - (optional withOpenCL [ - opencl-headers - ocl-icd - ]) - (optional withGUI [ - qtwebengine - qtbase - qtdeclarative - ]) - (optional withProfiling gperftools) - (optional withEVMJIT [ - llvm - zlib - ncurses - ]) - ]; - - runPath = with stdenv.lib; (makeLibraryPath (flatten [ stdenv.cc.cc buildInputs ])); - - installPhase = '' - make install - - mkdir -p $out - - for f in Install/lib/*.so* $(find Install/bin -executable -type f); do - patchelf --set-rpath $runPath:$out/lib $f - done - - cp -r Install/* $out - ''; - - dontStrip = true; - - meta = with stdenv.lib; { - decription = "Umbrella project for the Ethereum C++ implementation"; - homepage = https://github.com/ethereum/webthree-umbrella.git; - license = licenses.gpl3; - maintainers = with maintainers; [ artuuge ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/applications/misc/wego/default.nix b/pkgs/applications/misc/wego/default.nix index 5918f3ef3788..e59a3e989432 100644 --- a/pkgs/applications/misc/wego/default.nix +++ b/pkgs/applications/misc/wego/default.nix @@ -13,5 +13,5 @@ buildGoPackage rec { sha256 = "14p3hvv82bsxqnbnzz8hjv75i39kzg154a132n6cdxx3vgw76gck"; }; - goDeps = ./deps.json; + goDeps = ./deps.nix; } diff --git a/pkgs/applications/misc/wego/deps.json b/pkgs/applications/misc/wego/deps.json deleted file mode 100644 index 5bfb64ffbc5f..000000000000 --- a/pkgs/applications/misc/wego/deps.json +++ /dev/null @@ -1,29 +0,0 @@ -[ - { - "goPackagePath": "github.com/mattn/go-runewidth", - "fetch": { - "type": "git", - "url": "https://github.com/mattn/go-runewidth", - "rev": "d6bea18f789704b5f83375793155289da36a3c7f", - "sha256": "1hnigpn7rjbwd1ircxkyx9hvi0xmxr32b2jdy2jzw6b3jmcnz1fs" - } - }, - { - "goPackagePath": "github.com/mattn/go-colorable", - "fetch": { - "type": "git", - "url": "https://github.com/mattn/go-colorable", - "rev": "3dac7b4f76f6e17fb39b768b89e3783d16e237fe", - "sha256": "08680mba8hh2rghymqbzd4m40r9k765w5kbzvrif9ngd6h85qnw6" - } - }, - { - "goPackagePath": "github.com/schachmat/ingo", - "fetch": { - "type": "git", - "url": "https://github.com/schachmat/ingo", - "rev": "fab41e4e62cbef5d92998746ec25f7e195100f38", - "sha256": "04yfnch7pdabjjqfl2qxjmsaknvp4m1rbjlv8qrpmnqwjkxzx0hb" - } - } -] diff --git a/pkgs/applications/misc/wego/deps.nix b/pkgs/applications/misc/wego/deps.nix new file mode 100644 index 000000000000..408b3908d8f4 --- /dev/null +++ b/pkgs/applications/misc/wego/deps.nix @@ -0,0 +1,29 @@ +[ + { + goPackagePath = "github.com/mattn/go-runewidth"; + fetch = { + type = "git"; + url = "https://github.com/mattn/go-runewidth"; + rev = "d6bea18f789704b5f83375793155289da36a3c7f"; + sha256 = "1hnigpn7rjbwd1ircxkyx9hvi0xmxr32b2jdy2jzw6b3jmcnz1fs"; + }; + } + { + goPackagePath = "github.com/mattn/go-colorable"; + fetch = { + type = "git"; + url = "https://github.com/mattn/go-colorable"; + rev = "3dac7b4f76f6e17fb39b768b89e3783d16e237fe"; + sha256 = "08680mba8hh2rghymqbzd4m40r9k765w5kbzvrif9ngd6h85qnw6"; + }; + } + { + goPackagePath = "github.com/schachmat/ingo"; + fetch = { + type = "git"; + url = "https://github.com/schachmat/ingo"; + rev = "fab41e4e62cbef5d92998746ec25f7e195100f38"; + sha256 = "04yfnch7pdabjjqfl2qxjmsaknvp4m1rbjlv8qrpmnqwjkxzx0hb"; + }; + } +] diff --git a/pkgs/applications/misc/workrave/default.nix b/pkgs/applications/misc/workrave/default.nix index e9e34518932f..8c554da03621 100644 --- a/pkgs/applications/misc/workrave/default.nix +++ b/pkgs/applications/misc/workrave/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, fetchpatch , autoconf, automake, gettext, intltool, libtool, pkgconfig , libICE, libSM, libXScrnSaver, libXtst, cheetah -, glib, glibmm, gtk, gtkmm, atk, pango, pangomm, cairo, cairomm +, glib, glibmm, gtkmm2, atk, pango, pangomm, cairo, cairomm , dbus, dbus_glib, GConf, gconfmm, gdome2, gstreamer, libsigcxx }: stdenv.mkDerivation rec { @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { ]; buildInputs = [ libICE libSM libXScrnSaver libXtst cheetah - glib glibmm gtk gtkmm atk pango pangomm cairo cairomm + glib glibmm gtkmm2 atk pango pangomm cairo cairomm dbus dbus_glib GConf gconfmm gdome2 gstreamer libsigcxx ]; diff --git a/pkgs/applications/misc/xautoclick/default.nix b/pkgs/applications/misc/xautoclick/default.nix index 1a71a2756d15..32daf108c1ca 100644 --- a/pkgs/applications/misc/xautoclick/default.nix +++ b/pkgs/applications/misc/xautoclick/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, xorg, pkgconfig -, gtkSupport ? true, gtk +, gtkSupport ? true, gtk2 , qtSupport ? true, qt4 }: @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { sha256 = "0h522f12a7v2b89411xm51iwixmjp2mp90rnizjgiakx9ajnmqnm"; }; buildInputs = [ xorg.libX11 xorg.libXtst xorg.xinput xorg.libXi xorg.libXext pkgconfig ] - ++ stdenv.lib.optionals gtkSupport [ gtk ] + ++ stdenv.lib.optionals gtkSupport [ gtk2 ] ++ stdenv.lib.optionals qtSupport [ qt4 ]; patchPhase = '' substituteInPlace configure --replace /usr/X11R6 ${xorg.libX11.dev} diff --git a/pkgs/applications/misc/xca/default.nix b/pkgs/applications/misc/xca/default.nix index e861973b13cc..8515efc56bce 100644 --- a/pkgs/applications/misc/xca/default.nix +++ b/pkgs/applications/misc/xca/default.nix @@ -1,4 +1,7 @@ -{ stdenv, fetchurl, pkgconfig, which, openssl, qt4, libtool, gcc, makeWrapper }: +{ stdenv, fetchurl, pkgconfig, which, makeQtWrapper, + libtool, openssl, qtbase, qttools }: + +with stdenv.lib; stdenv.mkDerivation rec { name = "xca-${version}"; @@ -9,19 +12,28 @@ stdenv.mkDerivation rec { sha256 = "1r2w9gpahjv221j963bd4vn0gj4cxmb9j42f3cd9qdn890hizw84"; }; - postInstall = '' - wrapProgram "$out/bin/xca" \ - --prefix LD_LIBRARY_PATH : \ - "${gcc.cc.lib}/lib64:${stdenv.lib.makeLibraryPath [ qt4 gcc.cc openssl libtool ]}" + enableParallelBuilding = false; + + buildInputs = [ libtool openssl qtbase qttools ]; + + nativeBuildInputs = [ makeQtWrapper pkgconfig which ]; + + preBuild = '' + substituteInPlace Local.mak \ + --replace ${qtbase}/bin/moc ${qtbase.dev}/bin/moc \ + --replace ${qtbase}/bin/uic ${qtbase.dev}/bin/uic ''; - buildInputs = [ openssl qt4 libtool gcc makeWrapper ]; - nativeBuildInputs = [ pkgconfig ]; + postInstall = '' + wrapQtProgram "$out/bin/xca" + wrapQtProgram "$out/bin/xca_db_stat" + ''; meta = with stdenv.lib; { description = "Interface for managing asymetric keys like RSA or DSA"; homepage = http://xca.sourceforge.net/; platforms = platforms.all; license = licenses.bsd3; + maintainers = with maintainers; [ offline peterhoeg ]; }; } diff --git a/pkgs/applications/misc/xdgmenumaker/default.nix b/pkgs/applications/misc/xdgmenumaker/default.nix index cf8bcb7a51b9..8155c1ca4148 100644 --- a/pkgs/applications/misc/xdgmenumaker/default.nix +++ b/pkgs/applications/misc/xdgmenumaker/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "xdgmenumaker-${version}"; - version = "0.9"; + version = "1.1"; src = fetchFromGitHub { - rev = version; owner = "gapan"; repo = "xdgmenumaker"; - sha256 = "1n29syadsgj0vpnkc8nji4k1c8gminr1xdriz5ck2bcygsgxkdrd"; + rev = version; + sha256 = "11mqafpgfnz0h0d6fxd1xsfsjxzg1abvwqgwy9jmm5xhcjx3c3l7"; }; nativeBuildInputs = [ @@ -32,7 +32,8 @@ stdenv.mkDerivation rec { description = "Command line tool that generates XDG menus for several window managers"; homepage = https://github.com/gapan/xdgmenumaker; license = licenses.gpl2Plus; - platforms = platforms.unix; + # NOTE: exclude darwin from platforms because Travis reports hash mismatch + platforms = with platforms; filter (x: !(elem x darwin)) unix; maintainers = [ maintainers.romildo ]; }; } diff --git a/pkgs/applications/misc/xmind/default.nix b/pkgs/applications/misc/xmind/default.nix new file mode 100644 index 000000000000..a578c53f0e7c --- /dev/null +++ b/pkgs/applications/misc/xmind/default.nix @@ -0,0 +1,63 @@ +{ stdenv, lib, dpkg, fetchurl, gtk2, jre, libXtst, makeWrapper }: + +stdenv.mkDerivation rec { + name = "xmind-${version}"; + version = "7.5-update1"; + + src = if stdenv.system == "i686-linux" then fetchurl { + url = "http://dl2.xmind.net/xmind-downloads/${name}-linux_i386.deb"; + sha256 = "04kr6pw0kwy715bp9wcnqnw1k5wl65xa87lhljrskm291p402jy1"; + } else if stdenv.system == "x86_64-linux" then fetchurl { + url = "http://dl2.xmind.net/xmind-downloads/${name}-linux_amd64.deb"; + sha256 = "1j2ynhk7p3m3vd6c4mjwpnlzqgfj5c4q3zydab3nfwncwx6gaqj9"; + } else throw "platform ${stdenv.system} not supported!"; + + nativeBuildInputs = [ dpkg makeWrapper ]; + + unpackCmd = "mkdir root ; dpkg-deb -x $curSrc root"; + + dontBuild = true; + dontPatchELF = true; + dontStrip = true; + + libPath = lib.makeLibraryPath [ gtk2 libXtst ]; + + installPhase = '' + mkdir -p $out + cp -r usr/lib/xmind $out/libexec + cp -r usr/bin usr/share $out + rm $out/libexec/XMind.ini + mv etc/XMind.ini $out/libexec + + patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) \ + $out/libexec/XMind + + wrapProgram $out/libexec/XMind \ + --prefix LD_LIBRARY_PATH : "${libPath}" + + substituteInPlace "$out/bin/XMind" \ + --replace '/usr/lib/xmind' "$out/libexec" + + ln -s ${jre} $out/libexec/jre + ''; + + meta = with stdenv.lib; { + description = "Mind-mapping software"; + longDescription = '' + XMind is a mind mapping and brainstorming software. In addition + to the management elements, the software can capture ideas, + clarify thinking, manage complex information, and promote team + collaboration for higher productivity. + + It supports mind maps, fishbone diagrams, tree diagrams, + organization charts, spreadsheets, etc. Normally, it is used for + knowledge management, meeting minutes, task management, and + GTD. Meanwhile, XMind can read FreeMind and MindManager files, + and save to Evernote. + ''; + homepage = http://www.xmind.net/; + license = licenses.unfree; + platforms = platforms.linux; + maintainers = with maintainers; [ michalrus ]; + }; +} diff --git a/pkgs/applications/misc/xneur/default.nix b/pkgs/applications/misc/xneur/default.nix index 8e3165b75d26..ca0d7775ecef 100644 --- a/pkgs/applications/misc/xneur/default.nix +++ b/pkgs/applications/misc/xneur/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig, xorg, pcre, gstreamer, glib, libxml2 -, aspell, cairo, imlib2, xosd, libnotify, gtk, pango, atk, enchant, +, aspell, cairo, imlib2, xosd, libnotify, gtk2, pango, atk, enchant, gdk_pixbuf}: let s = import ./src-for-default.nix; in @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { buildInputs = [ xorg.libX11 pkgconfig pcre gstreamer glib libxml2 aspell cairo xorg.libXpm imlib2 xosd xorg.libXt xorg.libXext xorg.libXi libnotify - gtk pango enchant gdk_pixbuf + gtk2 pango enchant gdk_pixbuf ]; preConfigure = '' @@ -23,8 +23,8 @@ stdenv.mkDerivation rec { sed -e 's@for imlib2_dir in@for imlib2_dir in ${imlib2} @' -i configure sed -e 's@for xosd_dir in@for xosd_dir in ${xosd} @' -i configure - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${gtk.dev}/include/gtk-2.0" - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${gtk.out}/lib/gtk-2.0/include" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${gtk2.dev}/include/gtk-2.0" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${gtk2.out}/lib/gtk-2.0/include" export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${cairo.dev}/include/cairo" export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${pango.dev}/include/pango-1.0" export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${atk.dev}/include/atk-1.0" diff --git a/pkgs/applications/misc/xterm/default.nix b/pkgs/applications/misc/xterm/default.nix index adc0c3c9fb63..d01dc1207350 100644 --- a/pkgs/applications/misc/xterm/default.nix +++ b/pkgs/applications/misc/xterm/default.nix @@ -1,18 +1,18 @@ -{ stdenv, fetchurl, xorg, ncurses, freetype, fontconfig, pkgconfig +{ stdenv, fetchurl, xorg, ncurses, freetype, fontconfig, pkgconfig, makeWrapper , enableDecLocator ? true }: stdenv.mkDerivation rec { - name = "xterm-325"; + name = "xterm-327"; src = fetchurl { url = "ftp://invisible-island.net/xterm/${name}.tgz"; - sha256 = "06sz66z4hvjjkvm3r5a5z442iis8lz8yjfzc629pwhj01ixb0c9v"; + sha256 = "02qmfr1y24y5vq6kddksw84b8gxalc96n9wwaj7i8hmk6mn2zyv6"; }; buildInputs = [ xorg.libXaw xorg.xproto xorg.libXt xorg.libXext xorg.libX11 xorg.libSM xorg.libICE - ncurses freetype fontconfig pkgconfig xorg.libXft xorg.luit + ncurses freetype fontconfig pkgconfig xorg.libXft xorg.luit makeWrapper ]; patches = [ @@ -30,6 +30,7 @@ stdenv.mkDerivation rec { "--enable-luit" "--enable-mini-luit" "--with-tty-group=tty" + "--with-app-defaults=$(out)/lib/X11/app-defaults" ] ++ stdenv.lib.optional enableDecLocator "--enable-dec-locator"; # Work around broken "plink.sh". @@ -44,6 +45,12 @@ stdenv.mkDerivation rec { echo '#define USE_UTMP_SETGID 1' ''; + postInstall = '' + for bin in $out/bin/*; do + wrapProgram $bin --set XAPPLRESDIR $out/lib/X11/app-defaults/ + done + ''; + meta = { homepage = http://invisible-island.net/xterm; license = "BSD"; diff --git a/pkgs/applications/misc/yakuake/3.0.nix b/pkgs/applications/misc/yakuake/3.0.nix index 4ccef7f435a4..8bce26deefc3 100644 --- a/pkgs/applications/misc/yakuake/3.0.nix +++ b/pkgs/applications/misc/yakuake/3.0.nix @@ -55,9 +55,9 @@ let in -kdeWrapper unwrapped +kdeWrapper { + inherit unwrapped; targets = [ "bin/yakuake" ]; paths = [ konsole.unwrapped ]; } - diff --git a/pkgs/applications/misc/zk-shell/default.nix b/pkgs/applications/misc/zk-shell/default.nix new file mode 100644 index 000000000000..ec8deadf9f54 --- /dev/null +++ b/pkgs/applications/misc/zk-shell/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchFromGitHub, pythonPackages }: + +pythonPackages.buildPythonApplication rec { + version = "1.0.0"; + name = "zk-shell-" + version; + + src = fetchFromGitHub { + owner = "rgs1"; + repo = "zk_shell"; + rev = "v${version}"; + sha256 = "0zisvvlclsf4sdh7dpqcl1149xbxw6pi1aqcwjbqblgf8m4nm0c7"; + }; + + propagatedBuildInputs = (with pythonPackages; [ + ansi kazoo nose six tabulate twitter + ]); + + #requires a running zookeeper, don't know how to fix that for the moment + doCheck = false; + + meta = { + description = "A powerful & scriptable shell for Apache ZooKeeper"; + homepage = https://github.com/rgs1/zk_shell; + license = stdenv.lib.licenses.asl20; + maintainers = [ stdenv.lib.maintainers.mahe ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/applications/networking/browsers/chromium/browser.nix b/pkgs/applications/networking/browsers/chromium/browser.nix index 9eb25c316f95..75f2dcda6a62 100644 --- a/pkgs/applications/networking/browsers/chromium/browser.nix +++ b/pkgs/applications/networking/browsers/chromium/browser.nix @@ -18,6 +18,11 @@ mkChromiumDerivation (base: rec { cp -vLR "$buildPath/locales" "$buildPath/resources" "$libExecPath/" cp -v "$buildPath/chrome" "$libExecPath/$packageName" + if [ -e "$buildPath/libwidevinecdmadapter.so" ]; then + cp -v "$buildPath/libwidevinecdmadapter.so" \ + "$libExecPath/libwidevinecdmadapter.so" + fi + mkdir -p "$sandbox/bin" cp -v "$buildPath/chrome_sandbox" "$sandbox/bin/${sandboxExecutableName}" @@ -37,6 +42,8 @@ mkChromiumDerivation (base: rec { passthru = { inherit sandboxExecutableName; }; + requiredSystemFeatures = [ "big-parallel" ]; + meta = { description = "An open source web browser from Google"; homepage = http://www.chromium.org/; @@ -44,6 +51,5 @@ mkChromiumDerivation (base: rec { license = licenses.bsd3; platforms = platforms.linux; hydraPlatforms = if channel == "stable" then ["x86_64-linux"] else []; - requiredSystemFeatures = [ "big-parallel" ]; }; }) diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index a1110fa07a86..ea66703f166d 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -1,17 +1,17 @@ -{ stdenv, ninja, which +{ stdenv, gn, ninja, which # default dependencies , bzip2, flac, speex, libopus , libevent, expat, libjpeg, snappy , libpng, libxml2, libxslt, libcap , xdg_utils, yasm, minizip, libwebp -, libusb1, pciutils, nss +, libusb1, pciutils, nss, re2, zlib, libvpx -, python, pythonPackages, perl, pkgconfig -, nspr, libudev, kerberos +, python2Packages, perl, pkgconfig +, nspr, systemd, kerberos , utillinux, alsaLib , bison, gperf -, glib, gtk, dbus_glib +, glib, gtk2, gtk3, dbus_glib , libXScrnSaver, libXcursor, libXtst, mesa , protobuf, speechd, libXdamage, cups @@ -23,12 +23,12 @@ , enableSELinux ? false, libselinux ? null , enableNaCl ? false , enableHotwording ? false +, enableWideVine ? false , gnomeSupport ? false, gnome ? null , gnomeKeyringSupport ? false, libgnome_keyring3 ? null , proprietaryCodecs ? true , cupsSupport ? true , pulseSupport ? false, libpulseaudio ? null -, hiDPISupport ? false , upstream-info }: @@ -42,41 +42,24 @@ let # source tree. extraAttrs = buildFun base; - mkGypFlags = + mkGnFlags = let + # Serialize Nix types into GN types according to this document: + # https://chromium.googlesource.com/chromium/src/+/master/tools/gn/docs/language.md + mkGnString = value: "\"${escape ["\"" "$" "\\"] value}\""; sanitize = value: - if value == true then "1" - else if value == false then "0" - else "${value}"; - toFlag = key: value: "-D${key}=${sanitize value}"; + if value == true then "true" + else if value == false then "false" + else if isList value then "[${concatMapStringsSep ", " sanitize value}]" + else if isInt value then toString value + else if isString value then mkGnString value + else throw "Unsupported type for GN value `${value}'."; + toFlag = key: value: "${key}=${sanitize value}"; in attrs: concatStringsSep " " (attrValues (mapAttrs toFlag attrs)); - gypFlagsUseSystemLibs = { - use_system_bzip2 = true; - use_system_flac = true; - use_system_libevent = true; - use_system_libexpat = true; - # XXX: System libjpeg fails to link for version 52.0.2743.10 - use_system_libjpeg = versionOlder upstream-info.version "52.0.2743.10"; - use_system_libpng = false; - use_system_libwebp = true; - use_system_libxml = true; - use_system_opus = true; - use_system_snappy = true; - use_system_speex = true; - use_system_stlport = true; - use_system_xdg_utils = true; - use_system_yasm = true; - use_system_zlib = false; - use_system_protobuf = false; # needs newer protobuf - - use_system_harfbuzz = false; - use_system_icu = false; # Doesn't support ICU 52 yet. - use_system_libusb = false; # http://crbug.com/266149 - use_system_skia = false; - use_system_sqlite = false; # http://crbug.com/22208 - use_system_v8 = false; - }; + gnSystemLibraries = [ + "flac" "libwebp" "libxml" "libxslt" "snappy" "yasm" + ]; opusWithCustomModes = libopus.override { withCustomModes = true; @@ -87,7 +70,7 @@ let libevent expat libjpeg snappy libpng libxml2 libxslt libcap xdg_utils yasm minizip libwebp - libusb1 + libusb1 re2 zlib ]; # build paths and release info @@ -103,36 +86,27 @@ let src = upstream-info.main; - unpackCmd = '' - tar xf "$src" \ - --anchored \ - --no-wildcards-match-slash \ - --exclude='*/tools/gyp' - ''; + nativeBuildInputs = [ gn which python2Packages.python perl pkgconfig ]; buildInputs = defaultDependencies ++ [ - which - python perl pkgconfig - nspr nss libudev + nspr nss systemd utillinux alsaLib bison gperf kerberos - glib gtk dbus_glib + glib gtk2 dbus_glib libXScrnSaver libXcursor libXtst mesa pciutils protobuf speechd libXdamage - pythonPackages.gyp pythonPackages.ply pythonPackages.jinja2 + python2Packages.ply python2Packages.jinja2 ] ++ optional gnomeKeyringSupport libgnome_keyring3 ++ optionals gnomeSupport [ gnome.GConf libgcrypt ] ++ optional enableSELinux libselinux ++ optionals cupsSupport [ libgcrypt cups ] - ++ optional pulseSupport libpulseaudio; + ++ optional pulseSupport libpulseaudio + ++ optional (versionAtLeast version "56.0.0.0") gtk3; patches = [ - ./patches/widevine.patch ./patches/glibc-2.24.patch - (if versionOlder version "52.0.0.0" - then ./patches/nix_plugin_paths_50.patch - else ./patches/nix_plugin_paths_52.patch) - ]; + ./patches/nix_plugin_paths_52.patch + ] ++ optional enableWideVine ./patches/widevine.patch; postPatch = '' # We want to be able to specify where the sandbox is via CHROME_DEVEL_SANDBOX @@ -141,13 +115,7 @@ let 'return sandbox_binary;' \ 'return base::FilePath(GetDevelSandboxPath());' - sed -i -r \ - -e 's/-f(stack-protector)(-all)?/-fno-\1/' \ - -e 's|/bin/echo|echo|' \ - -e "/python_arch/s/: *'[^']*'/: '""'/" \ - build/common.gypi chrome/chrome_tests.gypi - - sed -i -e '/lib_loader.*Load/s!"\(libudev\.so\)!"${libudev.out}/lib/\1!' \ + sed -i -e '/lib_loader.*Load/s!"\(libudev\.so\)!"${systemd.lib}/lib/\1!' \ device/udev_linux/udev?_loader.cc sed -i -e '/libpci_loader.*Load/s!"\(libpci\.so\)!"${pciutils}/lib/\1!' \ @@ -155,31 +123,37 @@ let sed -i -re 's/([^:])\<(isnan *\()/\1std::\2/g' \ chrome/browser/ui/webui/engagement/site_engagement_ui.cc + + sed -i -e '/#include/ { + i #include + :l; n; bl + }' gpu/config/gpu_control_list.cc + + patchShebangs . '' + optionalString (versionAtLeast version "52.0.0.0") '' sed -i -re 's/([^:])\<(isnan *\()/\1std::\2/g' \ third_party/pdfium/xfa/fxbarcode/utils.h ''; - gypFlags = mkGypFlags (gypFlagsUseSystemLibs // { + gnFlags = mkGnFlags ({ linux_use_bundled_binutils = false; linux_use_bundled_gold = false; linux_use_gold_flags = true; + is_debug = false; proprietary_codecs = false; use_sysroot = false; use_gnome_keyring = gnomeKeyringSupport; use_gconf = gnomeSupport; use_gio = gnomeSupport; - use_pulseaudio = pulseSupport; - linux_link_pulseaudio = pulseSupport; - disable_nacl = !enableNaCl; + enable_nacl = enableNaCl; enable_hotwording = enableHotwording; + enable_widevine = enableWideVine; selinux = enableSELinux; use_cups = cupsSupport; } // { - werror = ""; - clang = false; - enable_hidpi = hiDPISupport; + treat_warnings_as_errors = false; + is_clang = false; # Google API keys, see: # http://www.chromium.org/developers/how-tos/api-keys @@ -193,22 +167,17 @@ let proprietary_codecs = true; enable_hangout_services_extension = true; ffmpeg_branding = "Chrome"; - } // optionalAttrs (stdenv.system == "x86_64-linux") { - target_arch = "x64"; - python_arch = "x86-64"; - } // optionalAttrs (stdenv.system == "i686-linux") { - target_arch = "ia32"; - python_arch = "ia32"; - } // (extraAttrs.gypFlags or {})); + } // optionalAttrs pulseSupport { + use_pulseaudio = true; + link_pulseaudio = true; + } // (extraAttrs.gnFlags or {})); configurePhase = '' - echo "Precompiling .py files to prevent race conditions..." >&2 - python -m compileall -q -f . > /dev/null 2>&1 || : # ignore errors - # This is to ensure expansion of $out. libExecPath="${libExecPath}" - python build/linux/unbundle/replace_gyp_files.py ${gypFlags} - python build/gyp_chromium -f ninja --depth . ${gypFlags} + python build/linux/unbundle/replace_gn_files.py \ + --system-libraries ${toString gnSystemLibraries} + gn gen --args=${escapeShellArg gnFlags} out/Release ''; buildPhase = let @@ -226,5 +195,5 @@ let # Remove some extraAttrs we supplied to the base attributes already. in stdenv.mkDerivation (base // removeAttrs extraAttrs [ - "name" "gypFlags" "buildTargets" + "name" "gnFlags" "buildTargets" ]) diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix index 973669f87cdc..d014999a667c 100644 --- a/pkgs/applications/networking/browsers/chromium/default.nix +++ b/pkgs/applications/networking/browsers/chromium/default.nix @@ -5,14 +5,14 @@ , enableSELinux ? false , enableNaCl ? false , enableHotwording ? false -, gnomeSupport ? false +, gnomeSupport ? false, gnome ? null , gnomeKeyringSupport ? false , proprietaryCodecs ? true , enablePepperFlash ? false , enableWideVine ? false , cupsSupport ? true , pulseSupport ? false -, hiDPISupport ? false +, commandLineArgs ? "" }: let @@ -22,9 +22,9 @@ let upstream-info = (callPackage ./update.nix {}).getChannel channel; mkChromiumDerivation = callPackage ./common.nix { - inherit enableSELinux enableNaCl enableHotwording gnomeSupport + inherit enableSELinux enableNaCl enableHotwording gnomeSupport gnome gnomeKeyringSupport proprietaryCodecs cupsSupport pulseSupport - hiDPISupport; + enableWideVine; }; browser = callPackage ./browser.nix { inherit channel; }; @@ -77,6 +77,7 @@ in stdenv.mkDerivation { mkdir -p "$out/bin" eval makeWrapper "${browserBinary}" "$out/bin/chromium" \ + ${commandLineArgs} \ ${concatMapStringsSep " " getWrapperFlags chromium.plugins.enabled} ed -v -s "$out/bin/chromium" << EOF diff --git a/pkgs/applications/networking/browsers/chromium/patches/nix_plugin_paths_50.patch b/pkgs/applications/networking/browsers/chromium/patches/nix_plugin_paths_50.patch deleted file mode 100644 index 062098a85225..000000000000 --- a/pkgs/applications/networking/browsers/chromium/patches/nix_plugin_paths_50.patch +++ /dev/null @@ -1,75 +0,0 @@ -diff --git a/chrome/common/chrome_paths.cc b/chrome/common/chrome_paths.cc -index 74bf041..5f34198 100644 ---- a/chrome/common/chrome_paths.cc -+++ b/chrome/common/chrome_paths.cc -@@ -66,21 +66,14 @@ static base::LazyInstance - g_invalid_specified_user_data_dir = LAZY_INSTANCE_INITIALIZER; - - // Gets the path for internal plugins. --bool GetInternalPluginsDirectory(base::FilePath* result) { --#if defined(OS_MACOSX) -- // If called from Chrome, get internal plugins from a subdirectory of the -- // framework. -- if (base::mac::AmIBundled()) { -- *result = chrome::GetFrameworkBundlePath(); -- DCHECK(!result->empty()); -- *result = result->Append("Internet Plug-Ins"); -- return true; -- } -- // In tests, just look in the module directory (below). --#endif -- -- // The rest of the world expects plugins in the module directory. -- return PathService::Get(base::DIR_MODULE, result); -+bool GetInternalPluginsDirectory(base::FilePath* result, -+ const std::string& ident) { -+ std::string full_env = std::string("NIX_CHROMIUM_PLUGIN_PATH_") + ident; -+ const char* value = getenv(full_env.c_str()); -+ if (value == NULL) -+ return PathService::Get(base::DIR_MODULE, result); -+ else -+ *result = base::FilePath(value); - } - - #if defined(OS_WIN) -@@ -253,11 +246,11 @@ bool PathProvider(int key, base::FilePath* result) { - create_dir = true; - break; - case chrome::DIR_INTERNAL_PLUGINS: -- if (!GetInternalPluginsDirectory(&cur)) -+ if (!GetInternalPluginsDirectory(&cur, "ALL")) - return false; - break; - case chrome::DIR_PEPPER_FLASH_PLUGIN: -- if (!GetInternalPluginsDirectory(&cur)) -+ if (!GetInternalPluginsDirectory(&cur, "PEPPERFLASH")) - return false; - cur = cur.Append(kPepperFlashBaseDirectory); - break; -@@ -314,7 +307,7 @@ bool PathProvider(int key, base::FilePath* result) { - // We currently need a path here to look up whether the plugin is disabled - // and what its permissions are. - case chrome::FILE_NACL_PLUGIN: -- if (!GetInternalPluginsDirectory(&cur)) -+ if (!GetInternalPluginsDirectory(&cur, "NACL")) - return false; - cur = cur.Append(kInternalNaClPluginFileName); - break; -@@ -349,7 +342,7 @@ bool PathProvider(int key, base::FilePath* result) { - cur = cur.DirName(); - } - #else -- if (!GetInternalPluginsDirectory(&cur)) -+ if (!GetInternalPluginsDirectory(&cur, "PNACL")) - return false; - #endif - cur = cur.Append(FILE_PATH_LITERAL("pnacl")); -@@ -366,7 +359,7 @@ bool PathProvider(int key, base::FilePath* result) { - // In the component case, this is the source adapter. Otherwise, it is the - // actual Pepper module that gets loaded. - case chrome::FILE_WIDEVINE_CDM_ADAPTER: -- if (!GetInternalPluginsDirectory(&cur)) -+ if (!GetInternalPluginsDirectory(&cur, "WIDEVINE")) - return false; - cur = cur.AppendASCII(kWidevineCdmAdapterFileName); - break; diff --git a/pkgs/applications/networking/browsers/chromium/patches/widevine.patch b/pkgs/applications/networking/browsers/chromium/patches/widevine.patch index 45048cada875..90a13928e3bd 100644 --- a/pkgs/applications/networking/browsers/chromium/patches/widevine.patch +++ b/pkgs/applications/networking/browsers/chromium/patches/widevine.patch @@ -1,12 +1,16 @@ -diff -upr chromium-42.0.2311.90.orig/third_party/widevine/cdm/widevine_cdm_version.h chromium-42.0.2311.90/third_party/widevine/cdm/widevine_cdm_version.h ---- chromium-42.0.2311.90.orig/third_party/widevine/cdm/widevine_cdm_version.h 2015-04-15 01:18:59.000000000 +0300 -+++ chromium-42.0.2311.90/third_party/widevine/cdm/widevine_cdm_version.h 2015-04-15 09:09:49.157260050 +0300 -@@ -14,4 +14,8 @@ - // - WIDEVINE_CDM_VERSION_STRING (with the version of the CDM that's available - // as a string, e.g., "1.0.123.456"). +Minimal WideVine patch from Gentoo: + +https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/chromium-widevine-r1.patch + +BTS: https://bugs.gentoo.org/show_bug.cgi?id=547630 + +--- a/third_party/widevine/cdm/stub/widevine_cdm_version.h ++++ b/third_party/widevine/cdm/stub/widevine_cdm_version.h +@@ -10,6 +10,7 @@ + + #include "third_party/widevine/cdm/widevine_cdm_common.h" + ++#define WIDEVINE_CDM_VERSION_STRING "unknown" + #define WIDEVINE_CDM_AVAILABLE -+#include "third_party/widevine/cdm/widevine_cdm_common.h" -+#define WIDEVINE_CDM_AVAILABLE -+#define WIDEVINE_CDM_VERSION_STRING "@WIDEVINE_VERSION@" -+ #endif // WIDEVINE_CDM_VERSION_H_ diff --git a/pkgs/applications/networking/browsers/chromium/plugins.nix b/pkgs/applications/networking/browsers/chromium/plugins.nix index ac7f8111212e..c1c18828fb42 100644 --- a/pkgs/applications/networking/browsers/chromium/plugins.nix +++ b/pkgs/applications/networking/browsers/chromium/plugins.nix @@ -1,5 +1,6 @@ { stdenv , jshon +, fetchzip , enablePepperFlash ? false , enableWideVine ? false @@ -9,6 +10,8 @@ with stdenv.lib; let + mkrpath = p: "${makeSearchPathOutput "lib" "lib64" p}:${makeLibraryPath p}"; + # Generate a shell fragment that emits flags appended to the # final makeWrapper call for wrapping the browser's main binary. # @@ -37,14 +40,12 @@ let echo ${toString quoted} > "''$${output}/nix-support/wrapper-flags" ''; - plugins = stdenv.mkDerivation { - name = "chromium-binary-plugins"; + widevine = stdenv.mkDerivation { + name = "chromium-binary-plugin-widevine"; src = upstream-info.binary; phases = [ "unpackPhase" "patchPhase" "installPhase" "checkPhase" ]; - outputs = [ "flash" "widevine" ]; - out = "flash"; # outputs TODO: is this a hack? unpackCmd = let chan = if upstream-info.channel == "dev" then "chrome-unstable" @@ -53,7 +54,6 @@ let in '' mkdir -p plugins ar p "$src" data.tar.xz | tar xJ -C plugins --strip-components=4 \ - ./opt/google/${chan}/PepperFlash \ ./opt/google/${chan}/libwidevinecdm.so \ ./opt/google/${chan}/libwidevinecdmadapter.so ''; @@ -63,17 +63,13 @@ let ! find -iname '*.so' -exec ldd {} + | grep 'not found' ''; - patchPhase = let - rpaths = [ stdenv.cc.cc ]; - mkrpath = p: "${makeSearchPathOutput "lib" "lib64" p}:${makeLibraryPath p}"; - in '' - for sofile in PepperFlash/libpepflashplayer.so \ - libwidevinecdm.so libwidevinecdmadapter.so; do + patchPhase = '' + for sofile in libwidevinecdm.so libwidevinecdmadapter.so; do chmod +x "$sofile" - patchelf --set-rpath "${mkrpath rpaths}" "$sofile" + patchelf --set-rpath "${mkrpath [ stdenv.cc.cc ]}" "$sofile" done - patchelf --set-rpath "$widevine/lib:${mkrpath rpaths}" \ + patchelf --set-rpath "$out/lib:${mkrpath [ stdenv.cc.cc ]}" \ libwidevinecdmadapter.so ''; @@ -81,38 +77,62 @@ let wvName = "Widevine Content Decryption Module"; wvDescription = "Playback of encrypted HTML audio/video content"; wvMimeTypes = "application/x-ppapi-widevine-cdm"; - wvModule = "@widevine@/lib/libwidevinecdmadapter.so"; + wvModule = "@out@/lib/libwidevinecdmadapter.so"; wvInfo = "#${wvName}#${wvDescription};${wvMimeTypes}"; in '' - flashVersion="$( - "${jshon}/bin/jshon" -F PepperFlash/manifest.json -e version -u - )" - - install -vD PepperFlash/libpepflashplayer.so \ - "$flash/lib/libpepflashplayer.so" + install -vD libwidevinecdm.so \ + "$out/lib/libwidevinecdm.so" + install -vD libwidevinecdmadapter.so \ + "$out/lib/libwidevinecdmadapter.so" ${mkPluginInfo { - output = "flash"; - allowedVars = [ "flash" "flashVersion" ]; + flags = [ "--register-pepper-plugins=${wvModule}${wvInfo}" ]; + envVars.NIX_CHROMIUM_PLUGIN_PATH_WIDEVINE = "@out@/lib"; + }} + ''; + }; + + flash = stdenv.mkDerivation rec { + name = "flashplayer-ppapi-${version}"; + version = "24.0.0.186"; + + src = fetchzip { + url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/" + + "${version}/flash_player_ppapi_linux.x86_64.tar.gz"; + sha256 = "1pwayhnfjvb6gal5msw0k8rv4h6jvl0mpfsi0jqlka00cnyfjqpd"; + stripRoot = false; + }; + + patchPhase = '' + chmod +x libpepflashplayer.so + patchelf --set-rpath "${mkrpath [ stdenv.cc.cc ]}" libpepflashplayer.so + ''; + + doCheck = true; + checkPhase = '' + ! find -iname '*.so' -exec ldd {} + | grep 'not found' + ''; + + installPhase = '' + flashVersion="$( + "${jshon}/bin/jshon" -F manifest.json -e version -u + )" + + install -vD libpepflashplayer.so "$out/lib/libpepflashplayer.so" + + ${mkPluginInfo { + allowedVars = [ "out" "flashVersion" ]; flags = [ - "--ppapi-flash-path=@flash@/lib/libpepflashplayer.so" + "--ppapi-flash-path=@out@/lib/libpepflashplayer.so" "--ppapi-flash-version=@flashVersion@" ]; }} - - install -vD libwidevinecdm.so \ - "$widevine/lib/libwidevinecdm.so" - install -vD libwidevinecdmadapter.so \ - "$widevine/lib/libwidevinecdmadapter.so" - - ${mkPluginInfo { - output = "widevine"; - flags = [ "--register-pepper-plugins=${wvModule}${wvInfo}" ]; - envVars.NIX_CHROMIUM_PLUGIN_PATH_WIDEVINE = "@widevine@/lib"; - }} ''; - passthru.enabled = optional enablePepperFlash plugins.flash - ++ optional enableWideVine plugins.widevine; + dontStrip = true; }; -in plugins + +in { + enabled = optional enableWideVine widevine + ++ optional enablePepperFlash flash; +} diff --git a/pkgs/applications/networking/browsers/chromium/update.nix b/pkgs/applications/networking/browsers/chromium/update.nix index bd7e256bfa9d..3b9ea3966473 100644 --- a/pkgs/applications/networking/browsers/chromium/update.nix +++ b/pkgs/applications/networking/browsers/chromium/update.nix @@ -64,7 +64,7 @@ in rec { csv2nix = name: src: import (runCommand "${name}.nix" { src = builtins.fetchurl src; } '' - esc() { echo "\"$(echo "$1" | sed -e 's/"\\$/\\&/')\""; } + esc() { echo "\"$(echo "$1" | sed -e 's/"\\$/\\&/')\""; } # ohai emacs " IFS=, read -r -a headings <<< "$(head -n1 "$src")" echo "[" > "$out" tail -n +2 "$src" | while IFS=, read -r -a line; do @@ -157,9 +157,7 @@ in rec { fi ''; - impureEnvVars = [ - "http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy" - ]; + impureEnvVars = lib.fetchers.proxyImpureEnvVars; }; in { diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix index d7b9c74130ba..2337cd51cbb7 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix @@ -1,18 +1,18 @@ # This file is autogenerated from update.sh in the same directory. { beta = { - sha256 = "0brpkjg1rcq8c0h5hnzqg3bg4jj805dph67zzramlcvbr44a06r6"; - sha256bin64 = "0zqa40xz0v715ggb1g2hc2085k65m24mf8xl1n2fzj7k21hf7bkc"; - version = "53.0.2785.34"; + sha256 = "00mq90h5kjj3x7asclp97x5mqy6pvcj0vqxcf77djlyjmsy1q10i"; + sha256bin64 = "1prmj546sp627crnjfj2sxprr6ahb59ajgqp8jwy4wiy1x5c3j88"; + version = "56.0.2924.28"; }; dev = { - sha256 = "1c73jfy11l4qiy553a3lvmd8kb29i25az6i5a4azmfc1abriwhjn"; - sha256bin64 = "06r53fnwp8v5drh3ilplqbwcak954gcgclc8mqq3mlx5530fp6fv"; - version = "54.0.2816.0"; + sha256 = "1dnqqlhdxawwy4zdk2p8zn6vg0cpi3hqpl9rf3j0xylvm3knr9a1"; + sha256bin64 = "1hnmca8jqvammsb3y847p2n9hm93129li5zfi5pacqizqlakmv3z"; + version = "57.0.2950.4"; }; stable = { - sha256 = "00d16yr8d9280b2rcjmjxkqvdzgy6a7l7fmnsjrj8404vcgax551"; - sha256bin64 = "0knlxgcv3wfvpgysaxb83agmp88n4ljmyx40j4r8wb5cisnl6cs8"; - version = "52.0.2743.116"; + sha256 = "0n0sp3f3cmac2lblzn3mjkkhm8p6vy34dafr0kpdz14w1lad66z8"; + sha256bin64 = "1cvp9fvdpd8qrl48lzs7f6k43bqd43gp0sbzz6h7yrpzw1c49r0m"; + version = "55.0.2883.87"; }; } diff --git a/pkgs/applications/networking/browsers/elinks/default.nix b/pkgs/applications/networking/browsers/elinks/default.nix index a785b8593504..cc34318edf3c 100644 --- a/pkgs/applications/networking/browsers/elinks/default.nix +++ b/pkgs/applications/networking/browsers/elinks/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, perl, ncurses, xlibsWrapper, bzip2, zlib, openssl -, spidermonkey, gpm +, spidermonkey_1_8_5, gpm , enableGuile ? false, guile ? null # Incompatible licenses, LGPLv3 - GPLv2 , enablePython ? false, python ? null }: @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { patches = [ ./gc-init.patch ]; - buildInputs = [ perl ncurses xlibsWrapper bzip2 zlib openssl spidermonkey gpm ] + buildInputs = [ perl ncurses xlibsWrapper bzip2 zlib openssl spidermonkey_1_8_5 gpm ] ++ stdenv.lib.optional enableGuile guile ++ stdenv.lib.optional enablePython python; @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { '' --enable-finger --enable-html-highlight --with-perl --enable-gopher --enable-cgi --enable-bittorrent - --with-spidermonkey=${spidermonkey} + --with-spidermonkey=${spidermonkey_1_8_5} --enable-nntp --with-openssl=${openssl.dev} '' + stdenv.lib.optionalString enableGuile " --with-guile" + stdenv.lib.optionalString enablePython " --with-python"; diff --git a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix index ce49d92e3350..fec1665f8b7c 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix @@ -1,192 +1,925 @@ -# This file is generated from generate_sources.rb. DO NOT EDIT. -# Execute the following command to update the file. -# -# ruby generate_sources.rb 46.0.1 > sources.nix - { - version = "49.0b1"; + version = "51.0b8"; sources = [ - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/ach/firefox-49.0b1.tar.bz2"; locale = "ach"; arch = "linux-i686"; sha512 = "98736e1a7503e6550491147b418815abc1cc59e58172ca45933f24f8a3df1d2e2d614d059d1159fefd727e771489c488a369e0b1f9bb7a25c8eb75cfb4c3e2b0"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/ach/firefox-49.0b1.tar.bz2"; locale = "ach"; arch = "linux-x86_64"; sha512 = "e8186d58d6c3847b475ac3c55f97476f393bb2ef210a4b7ec95d174d160011e0b4d0798de8bd33ebd30c342506f713a71509eba06fab03dc6b0fee7524f19dcc"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/af/firefox-49.0b1.tar.bz2"; locale = "af"; arch = "linux-i686"; sha512 = "0732de2c643ec1ac17bfb3b7629207cfde48f4a135b7dafd6a5efbac3231382fdc5f19048cb76f3da3bca255bf9816956e301e26cf28390ea9cccada67d920cc"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/af/firefox-49.0b1.tar.bz2"; locale = "af"; arch = "linux-x86_64"; sha512 = "ea5c72eb31b41714d57385040cd2d80f273b4177a576685ee752b2e92f90f8d9b5439e1f52dfc9941143bf91248be72aa670d134ba523cca856d175960bb3f40"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/an/firefox-49.0b1.tar.bz2"; locale = "an"; arch = "linux-i686"; sha512 = "36e3b5c374522efe6dfbb3b072ed2a75b3bcda8934c4763468643999fd14bcf043a2e4a0a5c62ada2f2d903a1f593e06976354a620733523ff806f6b8fecf1ce"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/an/firefox-49.0b1.tar.bz2"; locale = "an"; arch = "linux-x86_64"; sha512 = "398134c3133b75f027743ded416f3063d74ef777cc854992cd39aabb6397b00fff8dcf5116dabdfccee6ab1335bc296ccd991b3a4d72707735880d94b8f81af7"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/ar/firefox-49.0b1.tar.bz2"; locale = "ar"; arch = "linux-i686"; sha512 = "395b9abf6a6f01f448d7671908c2d7903604592490109793f3e36ba83375685aa43007bec07d3f28997416d8aa02df2597ce3392b7c1e83e1af4911203e2baaf"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/ar/firefox-49.0b1.tar.bz2"; locale = "ar"; arch = "linux-x86_64"; sha512 = "731d61dbc03548c77aade87c413f91d727cc8a87e15c202b73dece2a17c2bab887eb3912077aea670d9a928e930c4550ef2150442be8894e59b082c6f3d4b479"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/as/firefox-49.0b1.tar.bz2"; locale = "as"; arch = "linux-i686"; sha512 = "7f2d08dbeae79e7f903ed182c9eeb436f227ed9ff9db17d93f2c34efc3353788a0b499e23f2fb3eb892c9ee1592493cd8f960a6092f83b19de9419c7bd4ec3e1"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/as/firefox-49.0b1.tar.bz2"; locale = "as"; arch = "linux-x86_64"; sha512 = "311e413592438b610b8402eb00ed19b87caaa02522e8c40fff454d6d3fd8e0b7d5cf9223a6fc52d7c5f0be23baebb87639c2c64630e5a1a966d341b679bc1d03"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/ast/firefox-49.0b1.tar.bz2"; locale = "ast"; arch = "linux-i686"; sha512 = "a782df4a337fe18a7bb85c2a252444154100a597253d98d25c268c69a430045e4722a888f3d5fa51926de3571dd1941c117cd34537ff866c5d34279f3861e0e5"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/ast/firefox-49.0b1.tar.bz2"; locale = "ast"; arch = "linux-x86_64"; sha512 = "87a7759ecd002f994ebf7334b9c8c4c042ed6b84bc33485c791c5ba49bb7477ec801531a0723820aa181770c3d404eb7a0f7fb91818c38044ca9e3a130962899"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/az/firefox-49.0b1.tar.bz2"; locale = "az"; arch = "linux-i686"; sha512 = "d3822be0aebbbaf200e243c3e0ed0564cf6b5a9f14825f477767f98b796afedde9c6018f3b34c0263553fe190516ff0020e591ddc8ed688cab9454b7760cf131"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/az/firefox-49.0b1.tar.bz2"; locale = "az"; arch = "linux-x86_64"; sha512 = "2a70bffe3da3d3a9a61e649badc3a64f3110950cfc0b3cbb42c6f799465d928ec12c9efd1e7ee6ea978c865e2d3fe05d732a870654bf629f083f15357b360ccd"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/be/firefox-49.0b1.tar.bz2"; locale = "be"; arch = "linux-i686"; sha512 = "edc39ed32b7d990074ae3a5099cc4a0caf23190364eb87d1218a61a25b66777fa02b5df6f20c96c5ea67798a999f0cba6873d5d23b583bcd3d6ee90a7c978847"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/be/firefox-49.0b1.tar.bz2"; locale = "be"; arch = "linux-x86_64"; sha512 = "d0558a2e751d561e2f316a7bd57c3a8d92e8d5cb56e5eb28d44b5d40303550afef2bb9b69dfb0b80d1ef706a33717017eb077d3b2bca9277294cc76656a6131b"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/bg/firefox-49.0b1.tar.bz2"; locale = "bg"; arch = "linux-i686"; sha512 = "3524f48e8fb8b0c98c8df55d3e2934240eb414160d0e17d6f9beccb6b0540b9c9b554757e99dc99b16e685779c5d3395ff9bdb5c3a6c9faa2e88e099986aa4df"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/bg/firefox-49.0b1.tar.bz2"; locale = "bg"; arch = "linux-x86_64"; sha512 = "f44089b4c10a0791d98e75580c1316f400c7fadd48050d9f3a352064005b3b4205db7ef54bb1ab7bf6518f7bdb3be5f853f490cc0247f3f7a4ee7d6c50cbd20b"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/bn-BD/firefox-49.0b1.tar.bz2"; locale = "bn-BD"; arch = "linux-i686"; sha512 = "39b42d189a8ba7508e98045e1d94a1c79f8544cf4b2e2cc5187356d7f9ab6deef012c6e5d2220b2ce2b5a58f565289c5aeaee6ddcf0ab7b0cfcf18a902b95715"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/bn-BD/firefox-49.0b1.tar.bz2"; locale = "bn-BD"; arch = "linux-x86_64"; sha512 = "210c40e18347440077ddd0ffd25426fe583547a2a9bfbecf3e8ba3d0159d7f7317c06f893731512cc0666af488f32ed5808c8e2aabc921367f538695ba49fde9"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/bn-IN/firefox-49.0b1.tar.bz2"; locale = "bn-IN"; arch = "linux-i686"; sha512 = "dadbab0c70f22ec20a253d73081d3ccecbe148c6b0e854b85e7c079f4979f746c79fd5febd916c167cedd78ef04f5e0b2d2c925999424bb77118d251287311a6"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/bn-IN/firefox-49.0b1.tar.bz2"; locale = "bn-IN"; arch = "linux-x86_64"; sha512 = "8a2b9fe150579e487063f68373157ba087c571f53a98dbc9251deee92ebc58d587e38be2bc0412ed02cd8ccd485d91bc2fe5d70c223e7fe6edd996d9bfb89bfe"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/br/firefox-49.0b1.tar.bz2"; locale = "br"; arch = "linux-i686"; sha512 = "7a3a3c5015f407a1b7ecbf35763ea091cdcd3652c7916fe81d39336521fd6ab908a549bec8d39e089d0161fb6b37894b893058b523f78bb76e75dff21852fd13"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/br/firefox-49.0b1.tar.bz2"; locale = "br"; arch = "linux-x86_64"; sha512 = "9a7b5efd1f8d35f8cacaeefcb446028745bd999765fb04e60403b710cc9e5be14d172b6f0c2b08f1093083b6c4d94f22117f2b717473f5cd2bdc43ecaaec50a4"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/bs/firefox-49.0b1.tar.bz2"; locale = "bs"; arch = "linux-i686"; sha512 = "4671c1ed650df67ecdf152ae1503979f52b001660e167ea4ca1c47e1152e1450e2a5eac306b302c55b28e686c8535f6d612faa4c53b81cc5297e765c1bdd0afc"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/bs/firefox-49.0b1.tar.bz2"; locale = "bs"; arch = "linux-x86_64"; sha512 = "a2e4417c3987c8ab15ef8afd4fa130f6c45550c57a4605ffa301dc7d4ff49620c768d83e9de00f509dbb0cfd94530f4cb102cdb1f2a01eba091982fbfcd82d36"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/ca/firefox-49.0b1.tar.bz2"; locale = "ca"; arch = "linux-i686"; sha512 = "076f1deebdec83f76b44c41820253a7659b6702a1b1ef7139419a50411f2f752e764f96f84be24d84be388a3a3083656f967ee53ae1c640651dcac46b6dcd089"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/ca/firefox-49.0b1.tar.bz2"; locale = "ca"; arch = "linux-x86_64"; sha512 = "6a34ba7edb264cf974fa23650c73bcdca3e9344dfa82f3adf56c04a73439af5a093789e38406e2ec94c97635883eda2a232fe33a1746d08ff148022a1bb61fd1"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/cak/firefox-49.0b1.tar.bz2"; locale = "cak"; arch = "linux-i686"; sha512 = "0657e07ceb245e435dcb3c2e36e71054bf369c088e42ad0b7448c05c5d6a666ba5505da01d2e232388794ce5ae3be8dd1ce30ab0926dc9948d2a1291948f9b5f"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/cak/firefox-49.0b1.tar.bz2"; locale = "cak"; arch = "linux-x86_64"; sha512 = "4e95bff1e40614451baad90fb3ef76e27f2ee5d1d2ede400c091f46421b6b17a0c91bad04a45208219ef7513046749b9a42a147cdf7ba52a88dd515f5dc27cec"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/cs/firefox-49.0b1.tar.bz2"; locale = "cs"; arch = "linux-i686"; sha512 = "73264dd3b43e4ea4028bf622a2062797e4a28118ba597df19affa7fe38e630aac4a960fde8eb6be4a1e64d91b3b01e986d93684819c54e66c506153b19a06550"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/cs/firefox-49.0b1.tar.bz2"; locale = "cs"; arch = "linux-x86_64"; sha512 = "a94a811ede59154c98e87c47bedf4a5faae44cbf2c87bd7346476c92977abcdb96b79cfe379a04a459daa576170849a5c2c779a14948e51e046fc6fcf0ba4571"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/cy/firefox-49.0b1.tar.bz2"; locale = "cy"; arch = "linux-i686"; sha512 = "cc45c49758e3542ce704f941fda143ec531c9c0b9b0b28eade737e792afe7bad0db708a61510fadcede7af64622b7a97cb1f2c8eae7385ab447dc4a4198c07d4"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/cy/firefox-49.0b1.tar.bz2"; locale = "cy"; arch = "linux-x86_64"; sha512 = "07999f0049f305e75ec3fd1102673576e685e42b894db7ac8eef4d4dd1b4d2599a47b8f1ac034c728a5f3bb433ed96550907dd2f9e63a3fbd0aa43b65f2ca744"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/da/firefox-49.0b1.tar.bz2"; locale = "da"; arch = "linux-i686"; sha512 = "115840053470a057de9afeecc8a74113ff97c06293ce52995ef2bb473217d7b057329a4bb239bd21799d894e6a11081e7afe5191cc1ffb8887481fd08911f333"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/da/firefox-49.0b1.tar.bz2"; locale = "da"; arch = "linux-x86_64"; sha512 = "358f79e56cab4260557fdd999a70d025c6b2f8e7ea01a5767500e4b1906a57994592c633b7e10b9aa54a7a2dfd98f86bb3a8f8b09c364d8675bad5d74cedfd2c"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/de/firefox-49.0b1.tar.bz2"; locale = "de"; arch = "linux-i686"; sha512 = "5f80f4e32a71560188a21bb6b457b66a692f5eb32c5b45e04c40770b83689ead6bc07ec4a110f3855f5fe0e034f7b64ef8b5fe80526c708077664b179def71f6"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/de/firefox-49.0b1.tar.bz2"; locale = "de"; arch = "linux-x86_64"; sha512 = "01c71572560665dafa87ae8b327ee356b18b5ef08df093792c07b3858c42f2f9f3a89a2752fee35503785cf10130ca22fb21db83ce48fb902876eb9780b959cf"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/dsb/firefox-49.0b1.tar.bz2"; locale = "dsb"; arch = "linux-i686"; sha512 = "11385bdd26fd0eb9eb505141af2033a9e3b85f0d748959938eb51b9d7bb9e4c801ecf19e351957b9f8549d487086968b1f86e19534b09997b04642ced3f708d5"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/dsb/firefox-49.0b1.tar.bz2"; locale = "dsb"; arch = "linux-x86_64"; sha512 = "4daa34474c395c52c42c12f03125db8266e83ac1d8e5b098f0371cab7445b767abfb965668eafff466857ac99b6f4c00f4238d00b2f3915f228a25277b54fc2d"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/el/firefox-49.0b1.tar.bz2"; locale = "el"; arch = "linux-i686"; sha512 = "f77b62b8acabbd5afca19572be983c2f81200ff2bccabfe45b6c3d41c32de90cb4fac56db7be01fcf6a8dd69a72056e903f62d2af08b7ef0a06d18588c685b8e"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/el/firefox-49.0b1.tar.bz2"; locale = "el"; arch = "linux-x86_64"; sha512 = "9a3852f3dec48d5c40c09d6c961f87fb34f7fd6423ac86c4f4fe293560769c1e5a40f0d3e307fe65cdf614fe6b7fa7b1279c59b8a514e83e121b58ca90b46d31"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/en-GB/firefox-49.0b1.tar.bz2"; locale = "en-GB"; arch = "linux-i686"; sha512 = "3197dddc1f6aa65cc7bef6217175d308c29f1bc87014e651af76b490601cc202e9609d2728ba2c05203cfb93735094dc7efc2ee9f02b8544776ead8e788ac7b2"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/en-GB/firefox-49.0b1.tar.bz2"; locale = "en-GB"; arch = "linux-x86_64"; sha512 = "c1dcd26ed3b07c555793304c15644033105a72390c1307921fb215a06ddde547a34e1d027966e524878adf26a8fd3323d3d59c2914bfd20b6e7b7b4e59f54eb3"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/en-US/firefox-49.0b1.tar.bz2"; locale = "en-US"; arch = "linux-i686"; sha512 = "27d8f7ca57bd1fad729e73c0fce7f33da77249f1668c4d2b546db8b0edbddff4795537250c190d59cebd83dd91a06baad9b791c7c7ffec2f4d82cfdf15bb58f8"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/en-US/firefox-49.0b1.tar.bz2"; locale = "en-US"; arch = "linux-x86_64"; sha512 = "1e267127d21a6f7c64acd7e1a991a70b51742bdc2ae83f669a25203f710483a35b3bc7a9f226ad2efed77ef88161d345d312efba32e9b38d60d2144a1ff1810d"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/en-ZA/firefox-49.0b1.tar.bz2"; locale = "en-ZA"; arch = "linux-i686"; sha512 = "37fc1a82999c427496fb50ab6ce47d719add8f2e00d47269d266418dc1c1cb4191675a0cef398098fa17e9ec510a40250628eb5290b270c502316b3694361f6c"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/en-ZA/firefox-49.0b1.tar.bz2"; locale = "en-ZA"; arch = "linux-x86_64"; sha512 = "5ce15a1e1d9a5d3c26a2e1b2705c11fcd42acbd296231f2d25d7b130185b09ab25d0332c199d0f8e4994b30c97ea8d80e1f1ceaab8c8d8ffeaa2a2da91b32875"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/eo/firefox-49.0b1.tar.bz2"; locale = "eo"; arch = "linux-i686"; sha512 = "bb5e5f0b07054f2cfaa047e8df129c0fede79f6e5d736014cea52bc59b8b4c5276bf3c4217b818adf2ddf11c054c8a5ddc782a9c0b529b7164bd6f1e7edb6ca4"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/eo/firefox-49.0b1.tar.bz2"; locale = "eo"; arch = "linux-x86_64"; sha512 = "01d363154887ebf4c008646c4d749c89f8d748d9b0f76e19de37dc097517aa67485830679406b57348a670568f9406fe14fd22e01410f3a00e102b5436779193"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/es-AR/firefox-49.0b1.tar.bz2"; locale = "es-AR"; arch = "linux-i686"; sha512 = "8fa22a6ac6e2f9553bfc6fd7b0326ce327e4352b83e45d89ea0f79267073e03bba7dd1f2c2c2de40e3533cb0af97673aaa758eb0914c090078306f4b2902e361"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/es-AR/firefox-49.0b1.tar.bz2"; locale = "es-AR"; arch = "linux-x86_64"; sha512 = "da2b44fc3bd5c7536744b1355ee9640b2d430c32c3127ce1f8eea09cf88016c0e2bd9768925abf19b49ba62c55d90c029465b03c307fbc361ad95f4c28acb419"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/es-CL/firefox-49.0b1.tar.bz2"; locale = "es-CL"; arch = "linux-i686"; sha512 = "2cbc20485b5faf26a7f8978b63b8c135582569bc5d68c96b2dcd3d66864b2158479b7c5db0521ccb9c2de4eda6b4ffdea04ea480ac9b3e4609fade7f17806a6f"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/es-CL/firefox-49.0b1.tar.bz2"; locale = "es-CL"; arch = "linux-x86_64"; sha512 = "ea8bfed6bb886d23f8755b8187495ead5aa955c9fa45db1249a2f23477bf01dae4959cd4eeacffb6c3a6402d47da458c9d9fdb43243d64e19e3d66e3e1b85114"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/es-ES/firefox-49.0b1.tar.bz2"; locale = "es-ES"; arch = "linux-i686"; sha512 = "ffb37896e2f7de03c26b6e182416c399b9776bb14828fd54ebb34406f25ef77bc9eb975a13b7c9c9b02bf78b496928abc059283322fb1422d63d506f40b533a5"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/es-ES/firefox-49.0b1.tar.bz2"; locale = "es-ES"; arch = "linux-x86_64"; sha512 = "635e7f1e0fe96d6e074bb1f2a4e92d98e0fb4049f7bf34f5e5547fadd00691e27efbd5acf6b79ea9e3bbb8d7b72a50f7beb64bbabfc55601645292a83384a2a2"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/es-MX/firefox-49.0b1.tar.bz2"; locale = "es-MX"; arch = "linux-i686"; sha512 = "f67781fcf3ff9e4dfc1ed042bbc6c8aede1a06a6f9b4f9f4c969a9df769114febcdb4bae191ccc9ac10cebe727f495307e497af721c326ad7d2bb6894fd93944"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/es-MX/firefox-49.0b1.tar.bz2"; locale = "es-MX"; arch = "linux-x86_64"; sha512 = "42236f745af27e5ffbd1370b9d5136793d1c0ffcd1a1f8299f3a3d439e2671175524416bba6e1ecd162d9f986f89da0d3d1ffc760f2d48c5d28a99d74c467bbb"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/et/firefox-49.0b1.tar.bz2"; locale = "et"; arch = "linux-i686"; sha512 = "d2823810c39808332c46cc39d50c552efb61d74dbc7fb59dfd5b76d1efae544b52de89cac42be4944d831691971d4d8c880ed1cffd9448b05872acf7da39b698"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/et/firefox-49.0b1.tar.bz2"; locale = "et"; arch = "linux-x86_64"; sha512 = "61fb55d812c8b487ddad136f9c908396aa02e3ec4eee3f2f3fefd883c5aaf24a0c138366326bfbebe59b7065cc6f8f99550823e46bad876db8d930251f6a4492"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/eu/firefox-49.0b1.tar.bz2"; locale = "eu"; arch = "linux-i686"; sha512 = "5086ad7828197b129d8cd25fbbe7bf0e152b3476ea886ed8cc02290d4ab4912cd02ccdee0c02f08c73dffe6a0b34c11dceeba73cd948c03b26fea8c3bb2a84bc"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/eu/firefox-49.0b1.tar.bz2"; locale = "eu"; arch = "linux-x86_64"; sha512 = "b701decbbb6374ebb39522b068a36fb7c3bedff9f2b76cb655cd56addd592bf7d118c828283f52686545a6d9f603b674d8d80b35db217b5637fe2b29864e35b1"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/fa/firefox-49.0b1.tar.bz2"; locale = "fa"; arch = "linux-i686"; sha512 = "e14d7a15eb97c7b35bcdca156a86514ad8ca91d9af8978d9e9c1afeef6e71fd3f990daabd65efe424c6275944ea1922c3a313d562e710ee747b4e63d950c6578"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/fa/firefox-49.0b1.tar.bz2"; locale = "fa"; arch = "linux-x86_64"; sha512 = "4a0cd3b22daae4cba54473e4b144062e93dcc995a00e4f94fb66349e52274a5504b8e91e681305999fbd0acc3691fb011cc4db5485d59a9de79f542c3fd4dc64"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/ff/firefox-49.0b1.tar.bz2"; locale = "ff"; arch = "linux-i686"; sha512 = "d199ced706d4dd7f1b21999c335c500cacb8c1e4ece153f2f169711b4b381c316d5c2654608bb6f9a035f8c318c6ec96afe217ee6480451002e8f3269b4f0a82"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/ff/firefox-49.0b1.tar.bz2"; locale = "ff"; arch = "linux-x86_64"; sha512 = "58bb1595a4eb0dc651ad4778674103b42621375f8f7d138ac658915a974be52c35fd3944c099ee7ff791d7441cd818b09cddfb2a1498274aaecbaba8cbbd8ba7"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/fi/firefox-49.0b1.tar.bz2"; locale = "fi"; arch = "linux-i686"; sha512 = "4796471c2c42d9f5f278615b4a29edd80df8c113f42929a97c211bd63fe905bb7861a4c42474c6f19847308c2444e5549b7844824d99e6f236bcd0e2ab44e906"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/fi/firefox-49.0b1.tar.bz2"; locale = "fi"; arch = "linux-x86_64"; sha512 = "5d61a0ce98ffb8b9b3a8942b756ecaccaed33fe02513607aacf5338141beefcdcc547815d0f522da57ea1ba81dfcfb0c0e3ca6a0df237ce12501c41a157cfb51"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/fr/firefox-49.0b1.tar.bz2"; locale = "fr"; arch = "linux-i686"; sha512 = "6d69faed2f0c72d47311b2a756cd08c1f0b3c142129fd062bce661ec90a888e1ab246a04fd10dc2ba987ee2602f43b794a1507a7f23a5c65e909c0378e2bdea6"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/fr/firefox-49.0b1.tar.bz2"; locale = "fr"; arch = "linux-x86_64"; sha512 = "c92b0a2d591037bfda7831767d3c3f3d324190cfb26100bfb26cb12d9281a1b3a487141e4db5112cf122cb4e236ffded74d751aef2590fe703201128a1c453ff"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/fy-NL/firefox-49.0b1.tar.bz2"; locale = "fy-NL"; arch = "linux-i686"; sha512 = "25cddb8ea11d5422f966c1467d225743aa5807df9131563ed272953b4fa5004c331de87629e2eb6ba1903ad9abf8f0745be966f2e29c82fa74f620f08473f638"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/fy-NL/firefox-49.0b1.tar.bz2"; locale = "fy-NL"; arch = "linux-x86_64"; sha512 = "6ea3b911dcbf66fa365b2ce6a6722ce3e412e61e9779d647fdc42d6e9571d60b3908af034658cfa42bc22432ab0a360f9eca676ef3f22b36f05008a33760b1db"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/ga-IE/firefox-49.0b1.tar.bz2"; locale = "ga-IE"; arch = "linux-i686"; sha512 = "7d594f87fc45fd1ef00f2d62dc1c0a382eabd02745cee1901d133f853cc937a4c8915615c189ee6c5378d161fc75230a1c250c789a8c734aca7eb23bb44d45cd"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/ga-IE/firefox-49.0b1.tar.bz2"; locale = "ga-IE"; arch = "linux-x86_64"; sha512 = "af5a12a3cf90eeaea1f028d4c9a6985d9d8c994947b7976b1a3e8e0ec1af18bab4f8d7b5b86105eb119b1928c23abb4cb7fde737662eb06e0b8394b19573daef"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/gd/firefox-49.0b1.tar.bz2"; locale = "gd"; arch = "linux-i686"; sha512 = "8f0e9fa58b929fe1d5640a373ec0b9a93eac336989b1cf10e1577ef8b3b57786f51a40fb0b6a2401faf192e54f7793f04ac3ebccef5dec56a48ded34cbd5cbb7"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/gd/firefox-49.0b1.tar.bz2"; locale = "gd"; arch = "linux-x86_64"; sha512 = "8719d4655bf8ac157a6d144ff9acbcdcc138094a3d589a4078d9786acd036adfae6216846681a8feb33f9e020129acff3756074bfe18289cca126f140c4be1a5"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/gl/firefox-49.0b1.tar.bz2"; locale = "gl"; arch = "linux-i686"; sha512 = "e198a3becf663600184ee46f5d7043d5349abf10e2e951abfef7782449c142755fa0a37defaadecd674fb92589c24c3d49b45fadcd75ccfb81dea5ddd42b766e"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/gl/firefox-49.0b1.tar.bz2"; locale = "gl"; arch = "linux-x86_64"; sha512 = "e37ed350a7cdd5801631ddc934874016b38e4596b1d397d28a9735a977ceee80a70f0b382c186a88bef39c3c747f9825805a2c8143e0fb7b7be574c07301b77d"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/gn/firefox-49.0b1.tar.bz2"; locale = "gn"; arch = "linux-i686"; sha512 = "24b41e132f5aac62884d6b5703a8c3be679d6f8201a3abd3ed966cfe349055102bf099cec81f01cd86b40499c597adfbcbae2ca17bc6767c18aa9c0f1c317fb5"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/gn/firefox-49.0b1.tar.bz2"; locale = "gn"; arch = "linux-x86_64"; sha512 = "27c62ad953946a1c40b7b7393cc249a9fc2047c6a251c4d27c5a1a9ae8e8361a14c3fa934f6669f0e7a99b27573fac6c5e151ae9c590bb58327ab503f4482ba5"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/gu-IN/firefox-49.0b1.tar.bz2"; locale = "gu-IN"; arch = "linux-i686"; sha512 = "aea376e23c7522fdd3c0c82f39455b8bbe67ce7008e1e1d9de575f98776fdf3bfa06bab3ba0da81862c0a7242ab9cd2ab1f873a34df084a88ec82ec45c088611"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/gu-IN/firefox-49.0b1.tar.bz2"; locale = "gu-IN"; arch = "linux-x86_64"; sha512 = "4dbb401a0f92e02ee8822379a6313a9e7822d1155d064199272dd2be921d9dc7849439b04be3f25043fe37f43a3dee3e7b21831eabd1c555d5292694975987ae"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/he/firefox-49.0b1.tar.bz2"; locale = "he"; arch = "linux-i686"; sha512 = "97888c66cec9bfd111e76fc22440dda604c643396679abad421223b10688763a5d0e64fec46dd94084f30d819a5a12df4fd78434c4b03290fa745b60281b39eb"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/he/firefox-49.0b1.tar.bz2"; locale = "he"; arch = "linux-x86_64"; sha512 = "d46a2aec65b32e9b92a11230465ee6e2f83cef5a5b95057710f0ebdb3581810a1cbff09563f9ad3503a2c7217947369fdd80e0217318a40feed7bfd01fdbbcff"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/hi-IN/firefox-49.0b1.tar.bz2"; locale = "hi-IN"; arch = "linux-i686"; sha512 = "48c3142a39ed9d9173d1c25337d65367f1430804b13d0c9595ac2546c7c22a177a4d528f37d773ddff3379bc7bdba5e69002f2a37c837aa95a29d4e52774e65b"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/hi-IN/firefox-49.0b1.tar.bz2"; locale = "hi-IN"; arch = "linux-x86_64"; sha512 = "cc3c1520f6ec453bd7e347791f8ab3da06a3aeaccb44cfe5491a4fcfdf69ed7baef66c2d31a9ebad9d2538b6ff8f1dd27b20a8f42665a1c6ee57c5f60094ef71"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/hr/firefox-49.0b1.tar.bz2"; locale = "hr"; arch = "linux-i686"; sha512 = "86dce4d32a3f01493ce83379cb20bb2e267dbeb770b9631914d3b9e722cdb9ae5a0a974b323ee2ed17fb97bd232baaaea1e53ea6f29b11253046656f98219cde"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/hr/firefox-49.0b1.tar.bz2"; locale = "hr"; arch = "linux-x86_64"; sha512 = "446c11ab6645e17465e24fe1d4dbf27175b27e4808bc66084bcf8a1760883f6a36a5992be18ab26115f75bf0dce780c42fcabb1af3d2009f4ff7015bbe0612fd"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/hsb/firefox-49.0b1.tar.bz2"; locale = "hsb"; arch = "linux-i686"; sha512 = "8eae4fae6e4a7d5acb9ad2b83c4f7b4d2c7edd75a4d320b6665d803d44fc448214ac71b2c86c9b16e6450f7b5238db8633a917f201b5d45f2cc03a31df2ac9d7"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/hsb/firefox-49.0b1.tar.bz2"; locale = "hsb"; arch = "linux-x86_64"; sha512 = "c937552d45b948fde0854ab6ec27f77aebf7fa13eb6ff5fbcc74e86309581fe6ec799580fca7e131c940d218d09f70e4e49dc5348ec99e4d5ae6a0c63c9a6f06"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/hu/firefox-49.0b1.tar.bz2"; locale = "hu"; arch = "linux-i686"; sha512 = "4c38f40861411365e4a67bef548252328024438fc3a39260708a505a625ae9fc2912bd537a83bbe4125a027b50916daceae369a68d0ea7ba309b8595f8864fd8"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/hu/firefox-49.0b1.tar.bz2"; locale = "hu"; arch = "linux-x86_64"; sha512 = "fa298f7b4cd8fa50767f8b9a2bea0bd10e898a9e3042a0e09785ac74559b05877dbbc663ddb185146062fb1b3018a06f7e948fc33711726e43d5f33df1b3aef4"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/hy-AM/firefox-49.0b1.tar.bz2"; locale = "hy-AM"; arch = "linux-i686"; sha512 = "9e2838645094c6f8703857b674916517a47328aedead3e10dd3801abfe94971a648d792cbc1abfcfc7e39629aa7936d74cb711b53daf9f7198594e7b82c063ec"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/hy-AM/firefox-49.0b1.tar.bz2"; locale = "hy-AM"; arch = "linux-x86_64"; sha512 = "a84c9f9f20e19d3820b632f3ba4c9c479066459d293a57b5ff8fd4dae1d1451f812b0a6a71e72559d3ae0596a4ccb5fd09c0056a2726ac3a0c1cf083595adceb"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/id/firefox-49.0b1.tar.bz2"; locale = "id"; arch = "linux-i686"; sha512 = "dc84f03e90ca309805c85f45f8e3a54c92e80237980b488abcac0eee1083237a51f30847b84adc3b6051b6d9c9075799c295996d5a912b7ebfb290911006b8c7"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/id/firefox-49.0b1.tar.bz2"; locale = "id"; arch = "linux-x86_64"; sha512 = "e3d9e20347ffdce67d5bf5c720c93330b6a19e9733eab79f07820b50cc4ccd39a7f0736b0355f15e5bd59a8de24a0e9105bedb9d8da1cef125ea88cd1e6865c0"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/is/firefox-49.0b1.tar.bz2"; locale = "is"; arch = "linux-i686"; sha512 = "5b4966046dae0bb27a9fde5850fe291820b19c5e41fef4f010faa4d2d040ffcccb487d7f7647d0286e8e4e7fd27b50a12047d6fc95dc70dc34e7e1da4bce6b37"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/is/firefox-49.0b1.tar.bz2"; locale = "is"; arch = "linux-x86_64"; sha512 = "7b30d841c840af2c9b55173ac31ce5880a8b01daefd7871a4519107d276660af072c097479ae92b5b83379cd36a7c68ecf2d781d16b75d5eb38648aef6d89288"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/it/firefox-49.0b1.tar.bz2"; locale = "it"; arch = "linux-i686"; sha512 = "920e34f7db5452fad20303296b49f7d3dc7bc780735ef881c4c2cb42f2393d3be319adacbda74cfa965283681a01260dbe2298244fba5e541b807f7faffdf285"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/it/firefox-49.0b1.tar.bz2"; locale = "it"; arch = "linux-x86_64"; sha512 = "3af89ab3f92d771fa82c58fc5ebdaa9ad11d7f89b57357e98ecadcd57bcadfe66101d09b187daec1c64dff808172eac5a608239be6c991e2a725ea9421e4b8e5"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/ja/firefox-49.0b1.tar.bz2"; locale = "ja"; arch = "linux-i686"; sha512 = "e0239291135a98bce718d86831a0aaf3486c0e1ff54c98e65e970d1824786624e76ae73572b85f009b413bbe8c61aff41972629819812eb36918d4f2e864a274"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/ja/firefox-49.0b1.tar.bz2"; locale = "ja"; arch = "linux-x86_64"; sha512 = "998635a41eb45b8329f70837d0096cc69c6c7983ec48a208185fb0f3ee56c607c68178ac6f8c02de34c62e5c7ab38c1829b445dfed80f7794b7ef4fcd9ddc4aa"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/kk/firefox-49.0b1.tar.bz2"; locale = "kk"; arch = "linux-i686"; sha512 = "aee3c991acefbf1e257882bbd34eaee45415eecfb3fee2fa47a1d70cc5b6780b0894165a4c25609d595e4759d56ff0767b42f5b1d9174b4c1daa3e967871b66d"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/kk/firefox-49.0b1.tar.bz2"; locale = "kk"; arch = "linux-x86_64"; sha512 = "e2170378be3b442bd97066d740d458e82d282cbcdcac555d425d16082ca22c766832a8602071135cf9802eb97b0c6f7f414fe076ddb976d84a4ddb1f1ea23bcc"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/km/firefox-49.0b1.tar.bz2"; locale = "km"; arch = "linux-i686"; sha512 = "71e8ebcec8758c4fcd6056530b26c2fed1512f36746d431660eb603838c22e7c9c86a560ba36bd18e3df783531e608c67daceb50ea1758671c489ce91e214690"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/km/firefox-49.0b1.tar.bz2"; locale = "km"; arch = "linux-x86_64"; sha512 = "ed54aa4da9b6b2692c7d275d11ea53a85bd4ad131ecd644ec37acd3efbd51a25358c6b5720227e5cffb291d018c0890d46d09b61d3782e8000012893da10d144"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/kn/firefox-49.0b1.tar.bz2"; locale = "kn"; arch = "linux-i686"; sha512 = "678f4cfff160cfc6fd4f8e478f64ace3658c84672153c501f817a1456d7f7721d891d0186dfffa32e12bbbb46421e08e46753dc01021d3361b2e863176b32288"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/kn/firefox-49.0b1.tar.bz2"; locale = "kn"; arch = "linux-x86_64"; sha512 = "ec945284725364eff8e57d2f2e8bee7d35d8c217423b21d97328c8c5c2d43575c2af30fc93c8e128131c72ca7b2ea7420b88b21ded184a6b5e242fc76731e25a"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/ko/firefox-49.0b1.tar.bz2"; locale = "ko"; arch = "linux-i686"; sha512 = "07839edad66284da56ec54366fef1ef0d1a55b6e7f7d215d9f52827e080d070c07be4948df13d3b082bb5962e00d503b4916937bcf5045d9e3f9896e7c8698d1"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/ko/firefox-49.0b1.tar.bz2"; locale = "ko"; arch = "linux-x86_64"; sha512 = "6183cd77dfef7ed41e2049f3b423942eedcc2d5a49f820226c1fa366cbb75f63954b26c7797da42a11ec63f19bfc5bf19ebe605ac0d501391f64f5f168e157a5"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/lij/firefox-49.0b1.tar.bz2"; locale = "lij"; arch = "linux-i686"; sha512 = "3e78f5ada0a37d181e4a7b5ef90ad39fcc0216783e6ef26de826c642f1aaea59cb968636b0249af9ff92b0ef32fdde051c2d6a71d4aa2e6ac35aecc062f8e222"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/lij/firefox-49.0b1.tar.bz2"; locale = "lij"; arch = "linux-x86_64"; sha512 = "b8e8f635e927beaa0a12e92e025deaa2e98cf2d19dacca5ae91c21fe6c41177c8670b46b1a896f1b8b80fc60d806f1642bf787c44058077c4225a6de8902e664"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/lt/firefox-49.0b1.tar.bz2"; locale = "lt"; arch = "linux-i686"; sha512 = "e71759b4088ab845c193271e0c48c319401362c8d2f0def8342807a972f70db6963ea405c93fb8832cae1f930503a3a54458de230d17d53cc376946782cb6e3f"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/lt/firefox-49.0b1.tar.bz2"; locale = "lt"; arch = "linux-x86_64"; sha512 = "616a104d2ef421c162e6688d4128995faddac35f95327fccb313e20e56c410558f39869041900ac246d2cdbf510552bdc8a006623d8c6bbbf5350b6d7bd94899"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/lv/firefox-49.0b1.tar.bz2"; locale = "lv"; arch = "linux-i686"; sha512 = "2c413f2194c147fa4c3e21a9bdf67157fa7ea51dc7129dd8cb34e3b645600561ad9e9ebf3608cd75fc17e7d7b95cec49bb746d48c0b55fb4ea7b9ba7a359cfee"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/lv/firefox-49.0b1.tar.bz2"; locale = "lv"; arch = "linux-x86_64"; sha512 = "2743486ad0860c500a6a9146a49ec6190867706a74350310ed2987b71c5503886ba2931ba066f373fd05342198f6e8bf2a491cbb4a85c0763f1a68c1a124f796"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/mai/firefox-49.0b1.tar.bz2"; locale = "mai"; arch = "linux-i686"; sha512 = "7e5bbede973200faf58753d0de6041298f8d31937e19b9353bb83043229c8634cafc2e79129e9a8b34d1b4be451b6d3ad77e3ceb21ce8bf1a35f386ecdd64d09"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/mai/firefox-49.0b1.tar.bz2"; locale = "mai"; arch = "linux-x86_64"; sha512 = "8e51758b070bbde4d7bb4cd8aee148c1e8fef2d5bf236a4801b58e8acdfa567b6df5d32c3d46ddf965a599ba79c95b0884210bc3166fb8e9408e5255fcfaf5c7"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/mk/firefox-49.0b1.tar.bz2"; locale = "mk"; arch = "linux-i686"; sha512 = "3d945094b78f360045cfe6e1ffd53ac15a070b61adafec3063a88dd7f6ad4972fa5d4cc0398aa9bf30494be4326b63c8d8340ebd25d15c231c39d9a8b9c18da4"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/mk/firefox-49.0b1.tar.bz2"; locale = "mk"; arch = "linux-x86_64"; sha512 = "d2e8537a64747c06b2fe05b080c0eb0af82e1f4427a396c90006d012b663c1d34273307af4995b6ff8e75de4e3727cc3f736c7a9a78e0042f2f8d018ce525582"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/ml/firefox-49.0b1.tar.bz2"; locale = "ml"; arch = "linux-i686"; sha512 = "561b7a1d3f308552ba8b2084c86d6318b901fe8a7fff3254b65b790e4909dffb355eaaa898ee352310b8633fc695c6d7feb1d13ab60bf491a0668dbb05297b7a"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/ml/firefox-49.0b1.tar.bz2"; locale = "ml"; arch = "linux-x86_64"; sha512 = "6970448bfda2c54605d052570fa3ac81cfd554611c994125247ff4927807938a80fa65405ddc14a295a38bae9a1d9fcf460b32e5ba0cdff5cc690b57cb4a8d87"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/mr/firefox-49.0b1.tar.bz2"; locale = "mr"; arch = "linux-i686"; sha512 = "43b9022cd14ca829cc1f8546a9e13767e6f32daa3b008b6864a8cae3a8e6f99e70df0a05fdaa724e92fad38aabc5ffdbc9685795a0cbf1c914fbe3b515e80c99"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/mr/firefox-49.0b1.tar.bz2"; locale = "mr"; arch = "linux-x86_64"; sha512 = "16e029ba38ba9a88d57a72d7bb3ac843916f2e15b4a288815f59109cad9bb1c70beb0716360df4977231fe91f18ba3490168a857ce94c04d85a1aa5927372571"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/ms/firefox-49.0b1.tar.bz2"; locale = "ms"; arch = "linux-i686"; sha512 = "f418c661961f6c2e6fae0a1cd5329c35b331fa64bf9aa6d186f59d7b778d5b3fd7d6d548f69ba86f5b031bade68ec118aecc4aefc9a90ebc219945ce907f31be"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/ms/firefox-49.0b1.tar.bz2"; locale = "ms"; arch = "linux-x86_64"; sha512 = "05630d2f74ea7f70e9dd97284b41c4d4da2d325884696f58b1f88b3e29c4d5bcfa1ba7cc5f3aa412c852ac61f406fec29e0d3fea7820759d87f022811e6c5b0f"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/nb-NO/firefox-49.0b1.tar.bz2"; locale = "nb-NO"; arch = "linux-i686"; sha512 = "81127ce66c7f7da82e6059abaf002b79225bea3e69558636d5aaccba0c9df97adcc8c041b9239ec8763e28040807151b2ea01c795f4df088b896b774ea2e6162"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/nb-NO/firefox-49.0b1.tar.bz2"; locale = "nb-NO"; arch = "linux-x86_64"; sha512 = "e6c13dcdef6935921f74beaad25ceb8394a1256bc3ac6a1d76f3957f067d0bf1572d1a7b8ea2da6ffeb0eff8a4b2a1d80215f5169dce3c701fcc40dece34bd3e"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/nl/firefox-49.0b1.tar.bz2"; locale = "nl"; arch = "linux-i686"; sha512 = "b97db2d48eb98be9228358a0a068ea93d21ce4a5f6d138d079461c0a7f93d3a726d141adb43f41a56e658f629366eebb7ed4a0a1594a9d265ef121faabb14d52"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/nl/firefox-49.0b1.tar.bz2"; locale = "nl"; arch = "linux-x86_64"; sha512 = "acd10d50291fd833a574d049d99a567383dbb4483ecc45583dd977c3c67fabb9d450c802b8e2eb3d4eabc719f68f0db4e2a102bd716a4bf50aa02724da382f58"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/nn-NO/firefox-49.0b1.tar.bz2"; locale = "nn-NO"; arch = "linux-i686"; sha512 = "a07fb8c7ee065b0b7a4a3fa33e8dad026b65e42920398e6fdbf186985e46c6c55b72ecff087aace1559df286b7832a6de8215b713274234242531d7807d90180"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/nn-NO/firefox-49.0b1.tar.bz2"; locale = "nn-NO"; arch = "linux-x86_64"; sha512 = "37d17e905e92aa51d82f13e33415738cf8a5952617bec6a6e095147efca81b7196f997b47167abdd7a8d041c3308307c587a29ca3ec9f2e65e71d15b68b8bbda"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/or/firefox-49.0b1.tar.bz2"; locale = "or"; arch = "linux-i686"; sha512 = "85ec647821f82cc3ad99142e8e4425a00b6e0b273f137cdbff10c4e91afbdf4eb9feb7d4a2c9f80191cec918180aab0a84f96b7de1efda1fe0cdf9e1c44446eb"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/or/firefox-49.0b1.tar.bz2"; locale = "or"; arch = "linux-x86_64"; sha512 = "8819b00e2fdc06fb17873c769f7c8461fa131bcb12f0fd191a08a3a6526571fe40caa7cd8f7ef8e0d8722bae84699a479105cf518897c76aee674ea8a2dddc2f"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/pa-IN/firefox-49.0b1.tar.bz2"; locale = "pa-IN"; arch = "linux-i686"; sha512 = "70f7cdc912a6d1c5360b58ce522386ed9562aee8dffbf4a1f653871114359880df3f98629a2d4fe5556a1ba89fc5ec90a2c3da2d56ccf419f3956dfad157a3f9"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/pa-IN/firefox-49.0b1.tar.bz2"; locale = "pa-IN"; arch = "linux-x86_64"; sha512 = "9b60f41e9fd92c1d22dbfa1d287081d9514e081940dd9cbe1c9b4467926d83cec9ff43caf854710ec59d805293a83ea5defab887be5a93c8eedfa959b74ba783"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/pl/firefox-49.0b1.tar.bz2"; locale = "pl"; arch = "linux-i686"; sha512 = "80372feb8348b48627a93c5f2a5486933fe731a3fdfa2da6d71a7c75b35f585cd5b2cfa0760bb17de8fb98be1ef3dd90339a635ce25749bd27d147b316847084"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/pl/firefox-49.0b1.tar.bz2"; locale = "pl"; arch = "linux-x86_64"; sha512 = "445b104cd539f088a5cecbad4a1a861096542d1a4f2c95696ec51d43d08f10fc71513cceb5a68fa179fd988abaedb20829742f108f529face6e8e442576abb54"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/pt-BR/firefox-49.0b1.tar.bz2"; locale = "pt-BR"; arch = "linux-i686"; sha512 = "0788d7f599c3f46dfe485ed1ded013a7d87db6aec63193887f5e6b8c3636e0b117f4b854c5b0f60ee8b9683e6d46390f365a19e499fabc2a78ac29380dd26b35"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/pt-BR/firefox-49.0b1.tar.bz2"; locale = "pt-BR"; arch = "linux-x86_64"; sha512 = "ced012e0d447aae654edde3b26422f895440d8aa0822f3a14450142f6d97c20e74d1ec068bf2cde4a81270a77ef01a23646532e55ada6dc41603b013945986cf"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/pt-PT/firefox-49.0b1.tar.bz2"; locale = "pt-PT"; arch = "linux-i686"; sha512 = "d27ad4e240ee032cf16ecdc5588d3bdfcc81d338ef357c96194bc33d5d0d571c3826d298215b9cf058dec1cdb86d2bb41d5739ee4f49292bcc290ea4d50d2ca7"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/pt-PT/firefox-49.0b1.tar.bz2"; locale = "pt-PT"; arch = "linux-x86_64"; sha512 = "e80d1df4ea210d5a3731803026c3fca5143ade3e7f994a7a7bd673a6ba8b7df8eff9784e9bfe6d3360caf5c50609835ffaab631ecb5aafe71dde8adafa91db04"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/rm/firefox-49.0b1.tar.bz2"; locale = "rm"; arch = "linux-i686"; sha512 = "75f10944c6ab83ca1ca49d2bc05e8923830b1fa236620ceba9cbe2f874713cd49a6f0ea4968ce3ad08a5196746dbe3c48a3b51eb0f6d8d310715c6636d17d1f1"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/rm/firefox-49.0b1.tar.bz2"; locale = "rm"; arch = "linux-x86_64"; sha512 = "35df8ad315c60342119605cbad7fc1614002750ba6745d35d25653eaad6eedd7b039271b2900f712ec5a1c03425a902f5009e76b8c42bb074d5f64d6f6ea7477"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/ro/firefox-49.0b1.tar.bz2"; locale = "ro"; arch = "linux-i686"; sha512 = "8c31aa2df6cf1e1006691152e74aaf4b580a3b15d141444eab1cd4f3adc1066e7ac9c8196c8cd87902d590cf605bdf449d71fcb34b132a9221b101e0c16efe8d"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/ro/firefox-49.0b1.tar.bz2"; locale = "ro"; arch = "linux-x86_64"; sha512 = "ff6d5a5bc127841a1e92eb6bc22d157a57d7f48e4bc95b68907fee50683b20a0dcfd9e5a567f013a6c72311b9441231e986c7659fa60b894ea34d265786a857e"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/ru/firefox-49.0b1.tar.bz2"; locale = "ru"; arch = "linux-i686"; sha512 = "e8e7a794a3dde3b9fbe82c367d44134979cc45ad115fbc82bc8b9c8c438a857abe2e4962f50fa69ac7c22772ba3eb21c464bb800bef9eee9f2b33636f43261d2"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/ru/firefox-49.0b1.tar.bz2"; locale = "ru"; arch = "linux-x86_64"; sha512 = "c653182b26d643d32e0983cf546fe8f0e5a96b7f174c52e8a9025fc56f17ce6ae12b1362abe9b408cb9970b15fcacad1747b41be86bd2475a3e3c45665f88355"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/si/firefox-49.0b1.tar.bz2"; locale = "si"; arch = "linux-i686"; sha512 = "4e4ab25fc8048b4bd9129a554b465ced3ff773d9a7eed9715c71ab92852573712c58667971a1dec556917603c493872577b003168821350ceaa3dc3dd9e2211c"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/si/firefox-49.0b1.tar.bz2"; locale = "si"; arch = "linux-x86_64"; sha512 = "a8a9dad2f7563b686012a002b8fedac3b0a68f73986db717b901e832c57d1e4b2304b47aabcc17f5e453de3467caf8aabf9635e6db7772ef340fa38fed29eb0d"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/sk/firefox-49.0b1.tar.bz2"; locale = "sk"; arch = "linux-i686"; sha512 = "2e2f936448e58f8b3b46119e06b2ab5f1c181536939127de0a76931ac992f28ea307227d5c61aa8b440907aefaeb95cdf81f9d0184c78234f82f6d965c045c98"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/sk/firefox-49.0b1.tar.bz2"; locale = "sk"; arch = "linux-x86_64"; sha512 = "14d5960a06fb7135bbe78ea7123a7c151c4494898ad6ea1a5386f0532f0a5ec35ef58e3fcb82381afdf47ca1c0e6954d0903232d1ee06d9c2a606e706d22e82e"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/sl/firefox-49.0b1.tar.bz2"; locale = "sl"; arch = "linux-i686"; sha512 = "04f2f408835a9bdddd4a4c256d9a0040171760f5bce1b7d5e9c3a4ce2c74682c4016ee93f8da193280c7fd3d47ef839d67e0c480d5abd8c2235e61b9c039453d"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/sl/firefox-49.0b1.tar.bz2"; locale = "sl"; arch = "linux-x86_64"; sha512 = "631c9305f259aab364c71550ad14a0cfc6edc24a43eac08345e4331cfd4192faf710f077f5b2a5fad169b15098725c996587b96261dc18b96bc18f2a63c62e34"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/son/firefox-49.0b1.tar.bz2"; locale = "son"; arch = "linux-i686"; sha512 = "b8605cc6851440a615cb8a29d6baadb90fc783270253c25992299b1ced630094c891d41a49a9802e47aa2f9e1656875825dabb31450d7765658e5fd4f3815b10"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/son/firefox-49.0b1.tar.bz2"; locale = "son"; arch = "linux-x86_64"; sha512 = "c17946e4d664eefbeed3a3e3430b4c5b9ffcb69628344568b354092fb72142e7da107b1a88d1af89caa7ae63a0cb76814662fdffc9e179213df4e10a3290596b"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/sq/firefox-49.0b1.tar.bz2"; locale = "sq"; arch = "linux-i686"; sha512 = "ecab80a09b8c2eb75f38c14c169ee88f78266973d21da9295d5cdbeb329a43e3978feca7bada4ee049b24cb914dcd2a4ebaa95f42ed6966cf614c55a229862a2"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/sq/firefox-49.0b1.tar.bz2"; locale = "sq"; arch = "linux-x86_64"; sha512 = "5931bc9ddb86a39fd0edda4cbedfa6838549201efb882eb9a3c25ea88031fe4aed971ef327d6c356c99a0610a19e99a6ec49e755888b00882c6039f2c0e4cfc5"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/sr/firefox-49.0b1.tar.bz2"; locale = "sr"; arch = "linux-i686"; sha512 = "57895b4d8a0319d25288661b145d0aa59afbbd36edd8fbdf777d95f48fffa53d3dea546f465ce2070b801bcf751b03182711e5f74ca01f72258427fd37b2f038"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/sr/firefox-49.0b1.tar.bz2"; locale = "sr"; arch = "linux-x86_64"; sha512 = "67d96d069f43312a4c5870c2a9715e9aa5e7592b12302a773c8d6fd9f9979e63a5053d54f326d66374f216d1e69203fafef436be6b015269513f8f4a289aa796"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/sv-SE/firefox-49.0b1.tar.bz2"; locale = "sv-SE"; arch = "linux-i686"; sha512 = "f7b1ddace365492563a3eb985067e0c19270725a8db571b626000593b7e89130345b61199d50d41daadd499ecc6858fcb46115dac455cc62ed21460b916eaf41"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/sv-SE/firefox-49.0b1.tar.bz2"; locale = "sv-SE"; arch = "linux-x86_64"; sha512 = "7ac9fbd7b3175d82e73fe176481c3611eaf313fd006cf1191b79860f215af8847af88299fcf673d9e9a52db4a68a4ea4e95b632729c7b221f38e35926d60bc93"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/ta/firefox-49.0b1.tar.bz2"; locale = "ta"; arch = "linux-i686"; sha512 = "05a83591aaf1d5fc15b9a0445e2d5a20798329b3842992ccd82d22e4c788bbd34cdb46b09b48cf044369742f2b6244857e7d00b68160d094fe01465b746e0493"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/ta/firefox-49.0b1.tar.bz2"; locale = "ta"; arch = "linux-x86_64"; sha512 = "ec3cc0ae6d3765e9942436fadcb6208672a745df670a9e5881d243812b86023e8181f5b1b6d3ad3a2dbf8b93e80e3c8b2eee4622b511566b3ca7902b454d698c"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/te/firefox-49.0b1.tar.bz2"; locale = "te"; arch = "linux-i686"; sha512 = "ab9a5d17a70bd8685370898ad86ca867bb9a919169ef4c8ee6dae07836f4dfa58d3dead4565462b6f12d3c39c16b50ef99919f850928de0527c55563edac66ed"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/te/firefox-49.0b1.tar.bz2"; locale = "te"; arch = "linux-x86_64"; sha512 = "e3d216ee3ab627f7f86ef192f63a63f1e20bbc22df4947f53e3d9f8902e3871b7fb797eb409f0cf966be4da5b1ae05461c0b0dab7788a6c87069f940e1cc5498"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/th/firefox-49.0b1.tar.bz2"; locale = "th"; arch = "linux-i686"; sha512 = "4df9b93ba7bb70fa0c7c3c4e9a88cbfd8197c6bf628d2107a2a57105307a50cb08d8fc114e456b125164668c6f48aef1f0e4b71b52eb045e6b8be792e8b8e38b"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/th/firefox-49.0b1.tar.bz2"; locale = "th"; arch = "linux-x86_64"; sha512 = "51ed80166e1224db790dbdffc60d0eda618eaf67f473fb60ff0bb6a6f15d45fa8d44a31c6d4bc747752dac8fc3075371b4798040afaa594b713c331a91633724"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/tr/firefox-49.0b1.tar.bz2"; locale = "tr"; arch = "linux-i686"; sha512 = "7db1ec390a2d4f120eff21fbaee7700d106c4fd5c1ee1216bba0c7f896e6708bbc1da4c0f1f3ef1dd6f830ed58256fce36616950df9eae3307d2bffba6c3147f"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/tr/firefox-49.0b1.tar.bz2"; locale = "tr"; arch = "linux-x86_64"; sha512 = "7f1295dbb8c66e22dd818e9fcc910957328dee42ffed8ad3f987b1959bf6f1c01f8f94657dcf0c2593ff747308c6fccf14fa3716fb4b189fb03b77332300823a"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/uk/firefox-49.0b1.tar.bz2"; locale = "uk"; arch = "linux-i686"; sha512 = "81b1d6cd6e5666307ea592992084f7289a5eed5a732070fd65532722f6a345cb78de868e15f3e74dc15d97cfb57f346b7e36559c5f40769391f6616c897b218c"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/uk/firefox-49.0b1.tar.bz2"; locale = "uk"; arch = "linux-x86_64"; sha512 = "752a9aaafe23559f2cb15e6652012803eeca5e3b584dd5515fc496d62671090272b7154f1e5f701a2cc6f848b5d2a1050966c1b9cccfab7cd16fe88d66a101c9"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/uz/firefox-49.0b1.tar.bz2"; locale = "uz"; arch = "linux-i686"; sha512 = "44b6ea23bd56ad74892f00f1abd3aaf1d0e8d748814b509f791dc0ac4d303c61cb3f5d9988c07028e9dfe88ef8130fb300c131b96fa1f1b5fb4693c8a2dc0c4f"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/uz/firefox-49.0b1.tar.bz2"; locale = "uz"; arch = "linux-x86_64"; sha512 = "94a7da589c758fc5766ade665f15af4704aae4e0729fe0a92235804c42a280bdedc3b0d2d23f153243765fb803d05023c1f4900367fcbf1b60ec5a9449f99226"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/vi/firefox-49.0b1.tar.bz2"; locale = "vi"; arch = "linux-i686"; sha512 = "e1674665330ce86c9ce6379e81f71ce7e1dd58f1dcf7ce4141a681e1135262565021c0885e884065b5f3637884ef25f7611c7ababa614e0f3e561051925fb168"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/vi/firefox-49.0b1.tar.bz2"; locale = "vi"; arch = "linux-x86_64"; sha512 = "74da3a781ceb5937e42f3aa8b6f2aa3481d439e67ab16e1745a9248efe96129c6962583276e06e417b7930ac65d4681f6362eef4cb916a5943f50b7ef98aa4a3"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/xh/firefox-49.0b1.tar.bz2"; locale = "xh"; arch = "linux-i686"; sha512 = "052c729f9a90bb02e60dc5d0639fb9639669aba511fbfb5cb727500892e58519f3b6231144741a163622a5bcbe855d38b530780350c5caf33d43d297769b0aa0"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/xh/firefox-49.0b1.tar.bz2"; locale = "xh"; arch = "linux-x86_64"; sha512 = "b0c436603ed7ab7004e84f2e0654f04c5e5f3fb7866faa7548e675e8246adb2a60528d476292be99206a3e1b6342ced48d80031c8caba11f01a1534ae17901fa"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/zh-CN/firefox-49.0b1.tar.bz2"; locale = "zh-CN"; arch = "linux-i686"; sha512 = "c591789133b5c73026d1f5131581f91c21d8c6ea402dfcfb80ff1dd5e07f7985274ef8682fc7a576421b05721df9533a14bb34ba95193178e62b6e195fae0ae6"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/zh-CN/firefox-49.0b1.tar.bz2"; locale = "zh-CN"; arch = "linux-x86_64"; sha512 = "762eec0143e00d41d909f865dfef006a460a5b046b75f1132b63d76dff6380d40284a04b07415785f0bbadc457cf66f3aed1bf47e34cf5d5909fb6f8fddf58ec"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-i686/zh-TW/firefox-49.0b1.tar.bz2"; locale = "zh-TW"; arch = "linux-i686"; sha512 = "b7eacd7854170626e9135d2bd5360b9d2073afc64ecc9f963de8b03ea550a0f6d2c4bae48268d2f9d0c09e7747dcbf8d06eaff4951cbf5953c237a8461b163df"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/49.0b1/linux-x86_64/zh-TW/firefox-49.0b1.tar.bz2"; locale = "zh-TW"; arch = "linux-x86_64"; sha512 = "78968866d80798b3360d3860db039b4f5ab4d62618be681188799efa675ed83b84b4b266dee84ff26d27afdbb8a08f3a3bf73f3bc85289473e7e7836e4a92cab"; } - ]; + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ach/firefox-51.0b8.tar.bz2"; + locale = "ach"; + arch = "linux-x86_64"; + sha512 = "c251fe3e50d7bb85a46e86afb9d041b161061e6718cbfe6114172a098f35eedaa2f221a3f7bcdb2ebe210a5ebb5cc33fb50b1dd04da5256cb32646678d722b28"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/af/firefox-51.0b8.tar.bz2"; + locale = "af"; + arch = "linux-x86_64"; + sha512 = "ff8af74fdf27e72169193a81e62b99ce831bc466e50ef2d843dda03894fe3cc764ba69021c839ee09ab48b7b3a6140f1ed01c045efb01f75342bcbc333158a49"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/an/firefox-51.0b8.tar.bz2"; + locale = "an"; + arch = "linux-x86_64"; + sha512 = "20b5965b70cc773eb2226608fef18efdc24fe22f2feea43f39fe9d09afcb89db15caa8149a908bbca3f26e8d6b4f3651d164fb97f2dd2ee67e33b8e43635871e"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ar/firefox-51.0b8.tar.bz2"; + locale = "ar"; + arch = "linux-x86_64"; + sha512 = "b1816f401757634f618e1d9929c2a341adfdfad42bcefa8673c7d8c511c46267054352558f3a83d399c68e7f80faa1c2cea519ac24618479828c37b4067f8e78"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/as/firefox-51.0b8.tar.bz2"; + locale = "as"; + arch = "linux-x86_64"; + sha512 = "049a8f3782a34d8432204ef6119a2909ca4e6eba83f760c8f35f1be86595483e47823088e508a1389d68ee366e14431686db7edc44d1fd5934f887aaed85bc4d"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ast/firefox-51.0b8.tar.bz2"; + locale = "ast"; + arch = "linux-x86_64"; + sha512 = "b2c48f6009e01924e75d7671a819b4af51b87a3a08576812bc7f89b2273d047a3ca914147b519dcc50f1deb21acebeeebb05fc306fbbe016f12e3fbaa885bf16"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/az/firefox-51.0b8.tar.bz2"; + locale = "az"; + arch = "linux-x86_64"; + sha512 = "315e47d4e4d6d985f4390d8a40cb736ec871ecb30ab76db9235bb040eac9b73c3a1e709d783db2363c97f6ca91e3281c4c88e10c4d9fc62131fd8c105d7269ee"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/bg/firefox-51.0b8.tar.bz2"; + locale = "bg"; + arch = "linux-x86_64"; + sha512 = "b31bf59b6546741ab005c5ca11115f1557923f467e801f16049e83881deb8a8f6b775b425a8fc2a608b51170fa00a4b464c9e60e306267fb50b2144b23948613"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/bn-BD/firefox-51.0b8.tar.bz2"; + locale = "bn-BD"; + arch = "linux-x86_64"; + sha512 = "5683955a4d1e678d9893554d9cc534a61f2cb0242e2ac068424eba238f1ce89e58692cdb35e43d58cdd71c0c0683a5d61920089ffd100416e6a2448ce43f2004"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/bn-IN/firefox-51.0b8.tar.bz2"; + locale = "bn-IN"; + arch = "linux-x86_64"; + sha512 = "0220a226f53b7a99d123a1e72a6db88e726748c9d3e0ed46a51ab36b2ba5213dbf2cdef55b8a8892c97ee656905f01920563e344a412142993c719f15cb0bc43"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/br/firefox-51.0b8.tar.bz2"; + locale = "br"; + arch = "linux-x86_64"; + sha512 = "046d7c42a294fe636cbdbd13da8fccb879595ebda6353ed91981ecae39f670f1650f33b1ce0d3705158a437a22a718d5d381bbc37583702253941abe25ebc477"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/bs/firefox-51.0b8.tar.bz2"; + locale = "bs"; + arch = "linux-x86_64"; + sha512 = "a2e0df77bdb46f501e2760df79589ebec8e1bfb85e07ddee1d89c797a34781efd57e1790127d6cb38199bbe01680e5b04208f2c06b22a9bc684c87042f825267"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ca/firefox-51.0b8.tar.bz2"; + locale = "ca"; + arch = "linux-x86_64"; + sha512 = "e8a4a37a55a882ce638e51ad5d4a08ac815fb5cd556d0e8db3982501ee2f9c0ec141132ffb0eebbdae47be78f74dec7fba730638c8ebe38ce82ecdcfb570adb6"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/cak/firefox-51.0b8.tar.bz2"; + locale = "cak"; + arch = "linux-x86_64"; + sha512 = "aefda93ce59fdf238c2b957e45463c6f75e511a4331596bafaa4e8a99139f17ad2facc22befcf2fbe105651e9b003447bb62c3c2c6ffe4681816baa400f68a6f"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/cs/firefox-51.0b8.tar.bz2"; + locale = "cs"; + arch = "linux-x86_64"; + sha512 = "9eeeab75b2963959db947165f46443f686760f655dedae4de3d174a340c88830fbfcc0fd1df23740e6abe6d7f4552f06630c93f28246ff907fe6eebc1437d943"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/cy/firefox-51.0b8.tar.bz2"; + locale = "cy"; + arch = "linux-x86_64"; + sha512 = "659ea6606bb307893448b0352c175761e6bae90246ce157eb2cb9373b923ffede18eb8526330391396f9998fdade7db135a54f8aa14c4f52daeb9cddc44f344e"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/da/firefox-51.0b8.tar.bz2"; + locale = "da"; + arch = "linux-x86_64"; + sha512 = "22647561d07e92d82be5bcd2c5f2e7a08d6491ea582464f64a8ba686496b0267eab6c07db49ae189f996b8cac9d0c4c7789c3230003d05dbc5fa8319acabc4fb"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/de/firefox-51.0b8.tar.bz2"; + locale = "de"; + arch = "linux-x86_64"; + sha512 = "313446d8dd7764b98eba2284d71d8abb47568577f312718f02a73bdbee4938477ed407d3d638fee4dfacbb43d4125806c882e0c96cda43c9fc5b09e7fc6656d3"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/dsb/firefox-51.0b8.tar.bz2"; + locale = "dsb"; + arch = "linux-x86_64"; + sha512 = "4e0bec424f15dec37ed21a46c79f9672d380f9d59e3109afd4debbda2cfe58bf8b17f75d905babcbf7bce5cb8f7f3312bd938ad945e163d3e11be42b9dee2fca"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/el/firefox-51.0b8.tar.bz2"; + locale = "el"; + arch = "linux-x86_64"; + sha512 = "c10b58b13a85bc1cee23ed23ab8f62dc79247d025ead6efbc4165895568c6d369574fed7cd2d294bbbdec56e7673928ffa4db77720d871011b7757aa90789e18"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/en-GB/firefox-51.0b8.tar.bz2"; + locale = "en-GB"; + arch = "linux-x86_64"; + sha512 = "1cfe32620ca3a3fc5cce03ba13c6acb174567f99879fac86705e10d0036eea35c912064827676fe5dd0ba3da5bbc624795c3f7bde7546f15246b1acc1cbfbcda"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/en-US/firefox-51.0b8.tar.bz2"; + locale = "en-US"; + arch = "linux-x86_64"; + sha512 = "c8504535fc15bad6fdcf5aeb11a54ef26ef56d14076ac6fe06cfb530c1952118b957fc3cc6ea2c046af3a5ca90dc87655ae67d7baf66e46064382ba529045362"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/en-ZA/firefox-51.0b8.tar.bz2"; + locale = "en-ZA"; + arch = "linux-x86_64"; + sha512 = "80b40ea103d5691cff9df8373231acb151e6bda0526d27d59bf226f24e8287eae335b1224429b61676c8c9f3021ba77a31cfd3bfc68948d6553978fc570ac6f0"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/eo/firefox-51.0b8.tar.bz2"; + locale = "eo"; + arch = "linux-x86_64"; + sha512 = "a9809ec0e031e7e127441c11003bc81d8dc701e3acc45f137e7e68bbf1ebdcb5cf40267e9f8e7431e62506678cac04f732e73978ad566cd51597a1cb45eb0ac7"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/es-AR/firefox-51.0b8.tar.bz2"; + locale = "es-AR"; + arch = "linux-x86_64"; + sha512 = "18851295d00c2204b75c8e3d2d07a12ecdb9456d8ce41606178054b64ea5b7e9ebd3832db76412d2d5a26941494936c811084216525c56e4f017063734d7ca44"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/es-CL/firefox-51.0b8.tar.bz2"; + locale = "es-CL"; + arch = "linux-x86_64"; + sha512 = "9a7dabef38bb5f0909f033950f4e0424fc2c0119f4bbc0de85bf76f29413b2984e0d56522f900055cd9e79916397791f0597229a19d2d6fe0f8850c09f9bf3f2"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/es-ES/firefox-51.0b8.tar.bz2"; + locale = "es-ES"; + arch = "linux-x86_64"; + sha512 = "52b87c75267dc27aa9acb9a49ce9e59bf989f76827c078acb8d9166f60f0d86f6a0e937aba324e8e9e9ab5e0c721f75f0330199e16540809d0e8e9c068826406"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/es-MX/firefox-51.0b8.tar.bz2"; + locale = "es-MX"; + arch = "linux-x86_64"; + sha512 = "e57f22ee791acab3792cce3f52823d5fdcced5befb2808cc717d0da4a876a517d52b2e22f4558c33ecbbff01a799d70e2e67ead9140630a0111d73ffa5e54de9"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/et/firefox-51.0b8.tar.bz2"; + locale = "et"; + arch = "linux-x86_64"; + sha512 = "572a6f67b10f1a4981d7f0f131bfb9900a20a094f34cb3eee717d7694e3c1b2a949dbe262a10b6ed22cdc97c3a99ef885a4f34d15268c6aacdc7cd28ceb16f8a"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/eu/firefox-51.0b8.tar.bz2"; + locale = "eu"; + arch = "linux-x86_64"; + sha512 = "8ce7450a27a26954701585a2d55616d98658295c122071641209274a2555e0bd45e57e17be715cd69e00187169501f7c8fdf419a3e1626c4a1e5636f36be26b9"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/fa/firefox-51.0b8.tar.bz2"; + locale = "fa"; + arch = "linux-x86_64"; + sha512 = "f42a0effb6ff4210707371f6693e2bb25119f7535581c488760c237a3019e58fa270543f6981348f609c776bee54e76a220c449b7169d7032b2817ea1255eacf"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ff/firefox-51.0b8.tar.bz2"; + locale = "ff"; + arch = "linux-x86_64"; + sha512 = "7718bb71ff031975bae785130c86c1fe007698177b04d55008a5175074f9ba33841e3939f80dd76034680d7409ba281162540757b4365c03e10fdc21317b3df4"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/fi/firefox-51.0b8.tar.bz2"; + locale = "fi"; + arch = "linux-x86_64"; + sha512 = "9f5cb2d9ad20d788d715eae64406abc5fdf9229125f8a88f44de574c836af2943a7844ddbd96eb6770a5e011c5e239009aaf022ae6c0a14fc1c01dd2a9283b1f"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/fr/firefox-51.0b8.tar.bz2"; + locale = "fr"; + arch = "linux-x86_64"; + sha512 = "d9098b1b61bdfa82db7acc0f24fdd8e248f9fc0ae1c044829a27c45ed99c933fe7e8eded84cce9d454dd544b0645b2e871a00f3677868aa4efc00bd82dbeaf5b"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/fy-NL/firefox-51.0b8.tar.bz2"; + locale = "fy-NL"; + arch = "linux-x86_64"; + sha512 = "146b24d3670822394130e270b851beb3a4017818004ad5d6699b8424ca5d4dda16788668addb7f42b21980a6dd39a2c3546bc36d5bf2298b831fa83e957beefb"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ga-IE/firefox-51.0b8.tar.bz2"; + locale = "ga-IE"; + arch = "linux-x86_64"; + sha512 = "b1b38c876e9226abe24cc4379ae8a0d489db7f91f332560f922b3998d0c564f42730ab568277f4159bce95c1024634f20c918b97e84fa7915e4b841f9d0b760d"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/gd/firefox-51.0b8.tar.bz2"; + locale = "gd"; + arch = "linux-x86_64"; + sha512 = "e3b3191298f2a08ff52314aaf9ff9689e8ea83128f43010fa90ad8a24caf340e24223c8f5109fec2286a68c699bcfa98fbdca0c10f62956dfd768a473e0a77a6"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/gl/firefox-51.0b8.tar.bz2"; + locale = "gl"; + arch = "linux-x86_64"; + sha512 = "024747e36d569e323964b9e0c3a3922563c94c5679774a9cfade272d8378dfed987c291bc55554b0e0273938a3cf65f48b5924549f6962dfffb51caeb053b64c"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/gn/firefox-51.0b8.tar.bz2"; + locale = "gn"; + arch = "linux-x86_64"; + sha512 = "e0487d5ac3730b09315f1b5b486fdd8359c78ed7a741ead18ab7d4951f9e079b80c1066a54f2b86988bcc8edab62971f0cc99e7d7cbaa97122d90e4fdc08298f"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/gu-IN/firefox-51.0b8.tar.bz2"; + locale = "gu-IN"; + arch = "linux-x86_64"; + sha512 = "e9ceb5eea20eb9881c87e47700dddca0060628c28f7a8bee4df1be45d7b0f9f7ced122e7bd1b16468853512f759691072a455c13ab98e642c94f2f8794ca6b3c"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/he/firefox-51.0b8.tar.bz2"; + locale = "he"; + arch = "linux-x86_64"; + sha512 = "68ef5903758f59df5e3bad14903734d470ee19cf7e3f34f112ff5be5d11b28e19cbb55331552a7437ba3bfea1d03d527690d0efecf0ca9e824c12fd2c5992269"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/hi-IN/firefox-51.0b8.tar.bz2"; + locale = "hi-IN"; + arch = "linux-x86_64"; + sha512 = "c0bb9bab0b5ff7571af336febf1ecb07427400ef72d6a49fed3958a48fdb63a5cc8174b4365fbbecc11d4f7b646ef32d2204241d2c17290dda4b99bb971a1dc7"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/hr/firefox-51.0b8.tar.bz2"; + locale = "hr"; + arch = "linux-x86_64"; + sha512 = "16e07aaaf4bcbe83dbe40ab688e4f40d02792e3793afa1fdbc90be6d7cce87ca3c8ebce27585eb24e899348f6bfcf3b471c73a0f09d0007c62e224710bbdf538"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/hsb/firefox-51.0b8.tar.bz2"; + locale = "hsb"; + arch = "linux-x86_64"; + sha512 = "6968bcc314f05af065a7a8dff0723579c760d979db7186e0c6dd7a1ddd5c5135673ff940ec471b57f2eee550e5c357342115a2799f1dd48c2120d3404c5e0510"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/hu/firefox-51.0b8.tar.bz2"; + locale = "hu"; + arch = "linux-x86_64"; + sha512 = "498823b2075e70459b71b60560ce7e458a8619e249fce237d91cdfa2a3992e279223586d82af35c2804eddb05544602f06925c8d24c76f9dc8aa37f8c5fa40b6"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/hy-AM/firefox-51.0b8.tar.bz2"; + locale = "hy-AM"; + arch = "linux-x86_64"; + sha512 = "3b86b1efc5b958b999303de303df07967d4a51f5b8853663bf3e07c19762cc273cb26c073d8bfafb873f09399e6299472a210148d6dca2494580f727fcb7ce35"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/id/firefox-51.0b8.tar.bz2"; + locale = "id"; + arch = "linux-x86_64"; + sha512 = "27a7574ff31cb8bafec7d2882b19d944829ff1508810118dc4053c602313c7f5ead2dc6328c14313c8b687fb5bc369be0aa5bef78193251ade7461f178ed466b"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/is/firefox-51.0b8.tar.bz2"; + locale = "is"; + arch = "linux-x86_64"; + sha512 = "d990e47ddbfda4c4a22a1c9f60b0aee13cad35de496c50c13d6f33fb6624e948a0c94a1f883a8f6ab94f0310fd3d3db1554b502c4faed8e05844c06f84d7bc23"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/it/firefox-51.0b8.tar.bz2"; + locale = "it"; + arch = "linux-x86_64"; + sha512 = "faedb800d78be5cda15858df073099767d521bbd71915733cb8558deb2fe3a6e90a203ae946795ce6f55ad7a6d35fa0acd016c3466286548e3d198a499d24bd9"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ja/firefox-51.0b8.tar.bz2"; + locale = "ja"; + arch = "linux-x86_64"; + sha512 = "3063eb49a6076153cabf57d7006c6e41306c652573a4d037ccba721fc4069b9fe7a3ec1f65ac8b8f596a4b7493209b8b46f9338f4eb3141793caaa47dbf7e821"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ka/firefox-51.0b8.tar.bz2"; + locale = "ka"; + arch = "linux-x86_64"; + sha512 = "24defb6af2daaeb42c850d876feff49504e3e93ef2e1a4c3d1b85a8a86c4e8cedbfdb86693bf7bf7e4bd2e096f6ad53ea877b6c1505842b731ff2cfe7a75c134"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/kab/firefox-51.0b8.tar.bz2"; + locale = "kab"; + arch = "linux-x86_64"; + sha512 = "0c41c51f725e02e1fae284723547911cac5958352bf36f2382a8f293001d086e2667722e06fe7aa3ddfcdb24f60e6307b9f050eb15d4d58b7a9e0ef9e7a89b37"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/kk/firefox-51.0b8.tar.bz2"; + locale = "kk"; + arch = "linux-x86_64"; + sha512 = "82cc8c6063359fa1a28d84a56500a0aea2fe7735dc695e0bb5c57445284e0d4a4b0cb76cd78e399023af83fbc00bfd20f0b17098a264aa6a230d925b5453112a"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/km/firefox-51.0b8.tar.bz2"; + locale = "km"; + arch = "linux-x86_64"; + sha512 = "a2a4d80aa6e9096cc8d11c101128e712079f3b6d3da9da3a9268e6e433274ebac4b0adb07da1fc63f57673dacf16ba91efce38bdfa3db9c4b4d1454fa4ecfb63"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/kn/firefox-51.0b8.tar.bz2"; + locale = "kn"; + arch = "linux-x86_64"; + sha512 = "5c202454bc5e221f14aa1ddcb04df9d489e1c036538a747315848b238ab8a8e569fa35b27e906bbbfa00b4502bb0f6a64d317744d5d3e82b430f2c0f28ee3d60"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ko/firefox-51.0b8.tar.bz2"; + locale = "ko"; + arch = "linux-x86_64"; + sha512 = "88f96e25f721e005acd51512e5f5323eadaaeb0fed0bc5c0e919661109e8800c3b940ba131fc788a82a8e6a35be37f9c7111c189b2e9d1ed4ba1a5a3503748ad"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/lij/firefox-51.0b8.tar.bz2"; + locale = "lij"; + arch = "linux-x86_64"; + sha512 = "9b5bd55794df871bb7a622ded9bfe3b85d2edcff1a1a4bf5237f17dba98e3af53f70de48636c0bbcba68c5c19fac08873607094492d03bcfbd7550cbae9e4178"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/lt/firefox-51.0b8.tar.bz2"; + locale = "lt"; + arch = "linux-x86_64"; + sha512 = "be075ac4bda511c2bd81e726003f4ee680f35022e84365fccae090305c45dcc586162428dad944bd59b7e3c1f836e8b07a2a78e5a28d0eabb6aa44877398650c"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/lv/firefox-51.0b8.tar.bz2"; + locale = "lv"; + arch = "linux-x86_64"; + sha512 = "0bd623b3203c1403ca187a3b25abe0e438ddda0c6f5d4f947c0643ae3f492c649cf830002f7211853050b15e179a482677898ef0d93d32c5afe34ad6e7040cff"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/mai/firefox-51.0b8.tar.bz2"; + locale = "mai"; + arch = "linux-x86_64"; + sha512 = "b406ea5ddf4169961cb11104186a809ca7c8a69b124e85e796703326a37ee18473e4f0b430d5da2dfbbc38f7ec370951a5dd0c73be4f9bf48da771bb603bf38d"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/mk/firefox-51.0b8.tar.bz2"; + locale = "mk"; + arch = "linux-x86_64"; + sha512 = "ae182c6ffd7fcb3acd396e8d9f4b2baa65942d78498acf7a0f3efff69cce62812c2e60c937611c29116a45c5799625891f39e25ff499b7d3e4f453f790d8e8ce"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ml/firefox-51.0b8.tar.bz2"; + locale = "ml"; + arch = "linux-x86_64"; + sha512 = "9dfe1593bdbedb6262e7cf50857036a624a3ae13bfcc853dd91fd800d74f831665d8c89832b5727a9bd2bae3b4123104dbaaae1bdd39918f2c06be2fdf0a5c0e"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/mr/firefox-51.0b8.tar.bz2"; + locale = "mr"; + arch = "linux-x86_64"; + sha512 = "2744d4fb88f2713b956efdb6d56fa1ef7e003013cb9a526ab2f9e8cfeb915fa3651978a3d863cc3c4dd62a447bb8cdde402483701b38cb206b99eff5fe5272c8"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ms/firefox-51.0b8.tar.bz2"; + locale = "ms"; + arch = "linux-x86_64"; + sha512 = "4a313418db320dff4f91f817cba054fb65b5e97a434a6150d4f3373bb788b18bc02b194fc8349e5f41e1b8ebee94f0874431759fe79ed32fe7f5645f25c4e297"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/nb-NO/firefox-51.0b8.tar.bz2"; + locale = "nb-NO"; + arch = "linux-x86_64"; + sha512 = "41085294ea372990b058e61942de5f2c972511bb22a1719e92275e4258d6c0c0a71ada6ab21475c1b32021fddf5b149f1dccb469a948050d901b2ddfb91886f2"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/nl/firefox-51.0b8.tar.bz2"; + locale = "nl"; + arch = "linux-x86_64"; + sha512 = "45ed2265c4d6a66142bfe117794bd950e56821d377a5437c9d0cb8405e7605de617cad3e92ec6aa71129117690591fc95ba5c4d9e662fafa408c3e018845e40e"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/nn-NO/firefox-51.0b8.tar.bz2"; + locale = "nn-NO"; + arch = "linux-x86_64"; + sha512 = "1c981c33bea1ecea733db9c278d92ef42809a4dcc0ce8f9064e08b303a56970099b4f3591103fe262a777c4ded9948d9cedcca6d2046512851544c8da774a250"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/or/firefox-51.0b8.tar.bz2"; + locale = "or"; + arch = "linux-x86_64"; + sha512 = "3c67ad9f3ae800cd2e0665f35cbe92f17337c5f2568b057b9c9baa7aa8c91ba4f5b1e7718f288a2cc982ecfa43241e992e35c798e833fa56c636f8c7296d5a55"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/pa-IN/firefox-51.0b8.tar.bz2"; + locale = "pa-IN"; + arch = "linux-x86_64"; + sha512 = "9778843430f504faae4f8e138490a92c14f5f0f1c47c642f7f1f81c90a37c4cdf0660ad5b134429d6a86f61bbbed0f285a41ba315b9c318799a90f3208cc4a3e"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/pl/firefox-51.0b8.tar.bz2"; + locale = "pl"; + arch = "linux-x86_64"; + sha512 = "336a3afddebd687f62753f0bfd6b7e57884cbcb4c536de2d2a85e9ab22a696bda55795d5511ce299d34eac20abe91032450ddac97fd2be9c4b8db6b4b0fe6c6e"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/pt-BR/firefox-51.0b8.tar.bz2"; + locale = "pt-BR"; + arch = "linux-x86_64"; + sha512 = "1908080393d171ea86a05277a4a0d67c0c054fdbc60c5a9ba76fdc92071e45ffa57750bca8b1f56c65a4a45d296399c1cf3e9c0db8593ae57e7b8b53a6969171"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/pt-PT/firefox-51.0b8.tar.bz2"; + locale = "pt-PT"; + arch = "linux-x86_64"; + sha512 = "eaec79b2cf363f613cefb2cbbeb3a5b607ab608d7e82ac21aaf4b591475a85374f49f34c912b569ae3fb8224f19b93d753298ef8f6db820fdb84a70b306b16d2"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/rm/firefox-51.0b8.tar.bz2"; + locale = "rm"; + arch = "linux-x86_64"; + sha512 = "f6fa58d42c155552546b7500d6a0081b3c02c3cd300c0744e4a964b97970f1a87e9754e126de346880447b6af9853a91f157ef5285a2db1a8fd677c46cd0f347"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ro/firefox-51.0b8.tar.bz2"; + locale = "ro"; + arch = "linux-x86_64"; + sha512 = "876be7fb744a6887890671e00d84387c71e5c77ece611646e721eda3659654760094e39544a2bd3b6e80b075e7d24acfe1d7e86dcb4003efd867b2e7b81e3366"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ru/firefox-51.0b8.tar.bz2"; + locale = "ru"; + arch = "linux-x86_64"; + sha512 = "52f58ee2af336e18640b1edeb54f2c632104a1cd40952509b512af5dc838deda531e850e0b56d605bfad046af34db1158dbd69bb25380b80a178f32083d148dd"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/si/firefox-51.0b8.tar.bz2"; + locale = "si"; + arch = "linux-x86_64"; + sha512 = "0b36230b9d214793cbd75f282f537e73e28ed37efc9f17e4aa0f5dbb3bdaee5b5569708d99f4cff772767e074a2b85a7079e48acf7aa31e955e6ae6658a779d6"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/sk/firefox-51.0b8.tar.bz2"; + locale = "sk"; + arch = "linux-x86_64"; + sha512 = "6595aa0a2601005b0488e8ad02f0f5a8b96c4419beaf9a88660e111bb6e932cc98dfa16e511e0af2622360635e2139a8007bea5fd61708f4558576ad54da17dc"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/sl/firefox-51.0b8.tar.bz2"; + locale = "sl"; + arch = "linux-x86_64"; + sha512 = "56fd9bb355c5dfc680a7a91a1686285a32e147b1b0a72787106fca5244277238948ce9635f97b7c3ccd59d7999c794d4224bf4172384bcf2a02e0aa9d4716633"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/son/firefox-51.0b8.tar.bz2"; + locale = "son"; + arch = "linux-x86_64"; + sha512 = "6475248c31a1d5199d6a4dcba9c98eb3a0c4bdd57ef37c5fb611ec68807658ff9de9056c0a5ad9e016e55d8ccc3ba7987948b2b2f47d6c3061e3f4d13051cf27"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/sq/firefox-51.0b8.tar.bz2"; + locale = "sq"; + arch = "linux-x86_64"; + sha512 = "41b602396bf33e36974c97ec25f120ee7452df5d26caed74a10835f0fa7a9302aa87d0fe09fafc2e6670d8ce859a8757a7e7c70657b29a7154b1501e478510a5"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/sr/firefox-51.0b8.tar.bz2"; + locale = "sr"; + arch = "linux-x86_64"; + sha512 = "dbc7df70483246003f27acd833c881b3ae6ddaa9e93c7e612334923e63a1a4bcf35c082d355d67425fcb72123039ee4b33a5ce5f75909ea6cc3990d76dc21c41"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/sv-SE/firefox-51.0b8.tar.bz2"; + locale = "sv-SE"; + arch = "linux-x86_64"; + sha512 = "082f21155e8c68f8e1f786a3bfc3f832637813bda06881f1b6ebe8a1be85bfeff03100d4a9f311ea8bd6ec802e55bbb674eddcd9551db6a26ae32a6a97535bd4"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/ta/firefox-51.0b8.tar.bz2"; + locale = "ta"; + arch = "linux-x86_64"; + sha512 = "51bf00c2014222e0d1b30d83a483882930d87d5f281d6b33712616769060dd4b1c5ffa92d30e0e61effe2392490dee43e1d49cd6e28c28bd3b94ef005b87846d"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/te/firefox-51.0b8.tar.bz2"; + locale = "te"; + arch = "linux-x86_64"; + sha512 = "83a879a6d9b96963e3370068961559cd530695cfd7db200fb8bff7d79ed01de0357e211454f9735b667a1c65ad7338da913646709d9c212704f2dad0486b3d24"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/th/firefox-51.0b8.tar.bz2"; + locale = "th"; + arch = "linux-x86_64"; + sha512 = "d49d76980c091d354638a2c887cef68e762ddcf9d2a7c1ef74d1d735791949928a6fafa270711a0f776e51410b35c9b396015288ceb5992969af88dd3dea990b"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/tr/firefox-51.0b8.tar.bz2"; + locale = "tr"; + arch = "linux-x86_64"; + sha512 = "642a6be0577f16c0c4ede21a82cf6c3866011c3b663f7ce7c15961eec7f01133fca8bebd46dc2cb9b91116ab7cb1060f04e9b4e208eaf6a1ddb3e64219a2d5c0"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/uk/firefox-51.0b8.tar.bz2"; + locale = "uk"; + arch = "linux-x86_64"; + sha512 = "bd72d88ff7f82b195f6ce44ab8d9b7541e0564ae7b6cc6bb9676a38a9bb2a2e23561f07006749de5598da1c6aadc1e90d0ad2a5eb1be0f998b4d36534a075afb"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/uz/firefox-51.0b8.tar.bz2"; + locale = "uz"; + arch = "linux-x86_64"; + sha512 = "242b5367c7e78f0c753ebf4f8a4b1d1fd42e236f7417a3dc441a9e72c071fbb9488b226214cc14991f5d12c514e53b35de3c903ddbe5fd4aad31e53f1a6516cb"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/vi/firefox-51.0b8.tar.bz2"; + locale = "vi"; + arch = "linux-x86_64"; + sha512 = "d2cf85b0592b3116de4848665c5726f40d3ee2e7b92c808a7a41f0760041fb5aee1d61b626d9fc427a8b0bbf697828ed86741a1d319e27694b51dde630afff8d"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/xh/firefox-51.0b8.tar.bz2"; + locale = "xh"; + arch = "linux-x86_64"; + sha512 = "c865f0b18d427aa364f512b0e5cf02c126f156bffc4db2ab50f32fe9d28a949644fc672fae9a651a28ce6119191b6b0cbf7dfef3e102266b790fd0290d3ecdcf"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/zh-CN/firefox-51.0b8.tar.bz2"; + locale = "zh-CN"; + arch = "linux-x86_64"; + sha512 = "20fb7a5ed74e3badb56038ef16064b1fb92c6bf274341db0aed52427e313558846f34372cd019730ba0593439e6fb127241ec02906a76b5a7139c7ac45960783"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-x86_64/zh-TW/firefox-51.0b8.tar.bz2"; + locale = "zh-TW"; + arch = "linux-x86_64"; + sha512 = "955bc613dfe9a968bd298b6cf038bf7db615ce456de31da656fb54c7f3e8126391154b49b1948a95871ddec04d03a51b543b9248498b661a998d40249f6e8bd0"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ach/firefox-51.0b8.tar.bz2"; + locale = "ach"; + arch = "linux-i686"; + sha512 = "cbceeff2ef8fa20f18ae5106a6cec638bb064c7b32fdd9bca83776bd58f3a579babd2a6e933e0cee9d0ff2e553358e136ea478b629317a1892f62c4c52f47e22"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/af/firefox-51.0b8.tar.bz2"; + locale = "af"; + arch = "linux-i686"; + sha512 = "76c6eff9a98743a64d387f3a58830b7583510444fff7bcec5daac6fbe56f068925491fb2c8114302f862ddee3d4bce7df4a1dfd1057a918f584de4774da7ebc5"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/an/firefox-51.0b8.tar.bz2"; + locale = "an"; + arch = "linux-i686"; + sha512 = "6152904cf2cb33e6fe63b3c573bfabed1915b538d028be9fcf7ad3c169c98899becee772bb803a2b6830457a0d93bbacd49e8c0b962fd1898e8225463387e092"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ar/firefox-51.0b8.tar.bz2"; + locale = "ar"; + arch = "linux-i686"; + sha512 = "a83ab8633fa7658669daf271db339ed5812d0a85a9eaf313165671f11ae6d50ac92cdd8414945dc6b374a8a46b68df241812e8c8396e9256521ab81949969b6a"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/as/firefox-51.0b8.tar.bz2"; + locale = "as"; + arch = "linux-i686"; + sha512 = "2a76a7eb0b3015eced2a4a83965d314753e44232bc333cccdacc8a0c207b5113aeb7b97fa972dfdaf6e79eda03d8e18f4d8daa6ae3f8059d75e1245ff5618173"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ast/firefox-51.0b8.tar.bz2"; + locale = "ast"; + arch = "linux-i686"; + sha512 = "91d8801a2fffaadee3635643a813d588650b318d9e074ce3284f97795408a9d513ccdc573fb083e523959470095ffabb8023f250e7b3abf7f94853f126ff42d7"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/az/firefox-51.0b8.tar.bz2"; + locale = "az"; + arch = "linux-i686"; + sha512 = "abdaf4dcaf3ed2813b389fb91adee89f796d30152374110bab10b6aa1b328a406cf9e572b2d41b5ad9827928f8d5249c9d6abaea5b0698ff2840f66ffb71b656"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/bg/firefox-51.0b8.tar.bz2"; + locale = "bg"; + arch = "linux-i686"; + sha512 = "65a76933c06f7d8bb71ab24e28f6e755090f8eef8cb7ac741d37c8532d20aa35eb119dcc0f7e28a97dec34a3720b79f869f8adda079b49dd270227bdc081d1ae"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/bn-BD/firefox-51.0b8.tar.bz2"; + locale = "bn-BD"; + arch = "linux-i686"; + sha512 = "e6cb0cf7469a125da031b2e9bb4d2dfa90df169e6a61f03d482e44e9beb19744a038eb1922ac31812732d0e72419211894bd5029e16091741aaf45c00e72c14b"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/bn-IN/firefox-51.0b8.tar.bz2"; + locale = "bn-IN"; + arch = "linux-i686"; + sha512 = "4018dd322a92660780cd4e9ef9c8631593c34717d2d1ccee1a340e34c8465ea7a5fb196f39292c3f502f7458bd4790971a443cd9c16f28e1112417c8eed35bed"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/br/firefox-51.0b8.tar.bz2"; + locale = "br"; + arch = "linux-i686"; + sha512 = "31f75272fa7a747031697505505f8362589f46986f840fc8325fb95c0009356d4fbeccd33e20e923c49df91d7af40c948ebdbf35e6d2d48b734055e33b1a19de"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/bs/firefox-51.0b8.tar.bz2"; + locale = "bs"; + arch = "linux-i686"; + sha512 = "888c6b2e2d79071710d580da39e33dbfa4392b9995bdfbe16a7c4377f54e7b9c81cdd4864fdd05d2f376e1d6650dcfb5dc94fe67e3bbbca55471ce2f62cc4589"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ca/firefox-51.0b8.tar.bz2"; + locale = "ca"; + arch = "linux-i686"; + sha512 = "87971a8c4bcf96a67fc370778274e2c35356b6239db4104740c16b281a45d45b03e4c8627c14f1c6f3ac5702784134c743f07998f3db2b2a8d4a2e6cf9c0b97b"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/cak/firefox-51.0b8.tar.bz2"; + locale = "cak"; + arch = "linux-i686"; + sha512 = "047e10a19ac8fae5474820ae26429711efff76e84d9f58b0f4b8a36d7f5c45fad6c46402448c454c32b3466de3618e2b2a392bd186361466f7e87717fcda4108"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/cs/firefox-51.0b8.tar.bz2"; + locale = "cs"; + arch = "linux-i686"; + sha512 = "7d7b4583e3c6c4e906cde2cea8cb7bda2ce4cd007640b3e681608651e6f414675b7039c1ff13678947d617607cef407382feefd44ec1fe1534b9abb0b1dd0d7e"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/cy/firefox-51.0b8.tar.bz2"; + locale = "cy"; + arch = "linux-i686"; + sha512 = "768429d9772d8e39d4230fac01c4bc6fbe20c7c2efd326e78cdcdf74382e3a38bee9bda90a1d97b61035cb35b5be8f337fd80d15d4f185a6a668f68afd3b67af"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/da/firefox-51.0b8.tar.bz2"; + locale = "da"; + arch = "linux-i686"; + sha512 = "a6e435be5ac73d683ade3dc29bd6d5e0c4ebea30f8521036650981b510d4df014891f8eb65a5a6a39855fcf5e45d1b393617d7c16071812952c635725bf206ee"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/de/firefox-51.0b8.tar.bz2"; + locale = "de"; + arch = "linux-i686"; + sha512 = "7ea17df3c926546f1eb7ec0880f7b0b63cc8201044b444280b31d2646999ad36ac10ce74e19794ba7c1a026f860c79e83ce6ead339865fe31a021bccd85f04b9"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/dsb/firefox-51.0b8.tar.bz2"; + locale = "dsb"; + arch = "linux-i686"; + sha512 = "0e75929ba5879fbbc269d1fe8e18627ba54c5f74edd3179360998c9aefbf21d1f3c3cb0860990e7b1b0a5f5037ce9a4779c3edb64912f4f13c80501e579cfa3b"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/el/firefox-51.0b8.tar.bz2"; + locale = "el"; + arch = "linux-i686"; + sha512 = "b682e47f225a270ab421b3642f7c28085d9f2f1de1e68867ba09e69fed3d9b5908909be46bfaac6e9d0d1243eaad3cfe2bbeeeae6a5b9696b0ffb901a98db50b"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/en-GB/firefox-51.0b8.tar.bz2"; + locale = "en-GB"; + arch = "linux-i686"; + sha512 = "aeac6a542c1a4f91ee6bf01d4c916f8da4628b36550d80a166dc46c5c9b1a010b5201c87613e4d59640bdf9d2f9d029d0112bf8b62c7707e99b928c4ec18babe"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/en-US/firefox-51.0b8.tar.bz2"; + locale = "en-US"; + arch = "linux-i686"; + sha512 = "1315208cd55f48ee05fcfc98c92891307442dc0bb34bb636e14a88701a1fef2229a62a0e8eb00e8028f460518c95c1369a198666cf67c4b09a0e69c2b76c75b9"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/en-ZA/firefox-51.0b8.tar.bz2"; + locale = "en-ZA"; + arch = "linux-i686"; + sha512 = "891b4a076239132976a4cc51a3a374fe244b6a9119f76303253d6ec9d62b8230ac9c04b657bc741b13ca291a9b75a7b38a4aa25471e4faa6f34f06000a7f2fb8"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/eo/firefox-51.0b8.tar.bz2"; + locale = "eo"; + arch = "linux-i686"; + sha512 = "f805e9bb3d2241a366026354433670c2792c16c74ab2f5d3691081f682639b23c4e6d1e91e5e81719601c571e74270d8b5bc4f24e7babfc77ee435c6a2125ba2"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/es-AR/firefox-51.0b8.tar.bz2"; + locale = "es-AR"; + arch = "linux-i686"; + sha512 = "df78b4626f41afaba10331cc8921dc8f196aa2c8669366ae286a75e8850a647e7288964a8a323c742926d7661aa122072dcad592654dead9f57b8c008b61f7e6"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/es-CL/firefox-51.0b8.tar.bz2"; + locale = "es-CL"; + arch = "linux-i686"; + sha512 = "71a340f8b004f3907eb763bcd817338be19955ef447241a6a680381823591324df9b9771425255693b49513a8f4475fa1ed8558e5a510bcd370bd225469a5f69"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/es-ES/firefox-51.0b8.tar.bz2"; + locale = "es-ES"; + arch = "linux-i686"; + sha512 = "a34dc5ceef8875bd5d15c61ed9ada2f62b52cbe42636675cfb6a3df694a0fcbbb3b0dd61c3a0ed5b18e7ec427dfbf58887b91a0ada596dca04b3d2cd066123a9"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/es-MX/firefox-51.0b8.tar.bz2"; + locale = "es-MX"; + arch = "linux-i686"; + sha512 = "a178599eb6454eb9a463fea5704b49c720cd2f9df033bd6f271322c75a5f2f52e82661c82f9ff9097af28ba617e2393979b28209758df3710ecdf72d0304c5f9"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/et/firefox-51.0b8.tar.bz2"; + locale = "et"; + arch = "linux-i686"; + sha512 = "20e3af6d1f7fb7f154e366ee5e031889f3f24e04691a3d2915f4405f33e7220dae91e6e635ae98451048c254b7a08900851f013e7979c013f84b643635ecfebd"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/eu/firefox-51.0b8.tar.bz2"; + locale = "eu"; + arch = "linux-i686"; + sha512 = "d13833a0eeb5b4c37baf6d1f85adcb3502b67219aef6ac5b5d25914fae90cf78284830acba0e8d6c76d8ceef7fbe3332d673be125325b9bf53f24d4b070e6998"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/fa/firefox-51.0b8.tar.bz2"; + locale = "fa"; + arch = "linux-i686"; + sha512 = "fc4a1d2c1e635de2094a8fdf3b082c0407bb937f089ae33c0f429e0c0bb41a7c0cc3158fdd1d01e81cbd01213b452301e2ba83a9dce1810c8d7c8adb035ba903"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ff/firefox-51.0b8.tar.bz2"; + locale = "ff"; + arch = "linux-i686"; + sha512 = "1e4626d053e7abf236fc795f59e7dfd8053048fa1d0d8f4585efe7ea872a99511f9053e9bd6a1ae1af22cb3ff399d16d33c1b45a7b3c6557bda49062d1c672cf"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/fi/firefox-51.0b8.tar.bz2"; + locale = "fi"; + arch = "linux-i686"; + sha512 = "dd8ea8dea6f76f3c5dee63abdc187f69e949e0b6b11126d4219b38d1314ba6ac77cc789e0923fe9efb26167200187cb236a783f7aadde64f20798d44839236ef"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/fr/firefox-51.0b8.tar.bz2"; + locale = "fr"; + arch = "linux-i686"; + sha512 = "9124a3c541879fa6f886555c93b1e07f431eef0d0b864cf414d2bf5d3cd749e30c65db4fb85a16072260f656598066cb8957d667aebf07f9067646e11fa09ad1"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/fy-NL/firefox-51.0b8.tar.bz2"; + locale = "fy-NL"; + arch = "linux-i686"; + sha512 = "2ff6aed7c4b172b5dd801d180a7b7e945a4f39b8b8001e673bfb16b868a2079a2c741ea1a0b44c6588468546e883c6057fc4787eac64ca9b10860b7d538fd72f"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ga-IE/firefox-51.0b8.tar.bz2"; + locale = "ga-IE"; + arch = "linux-i686"; + sha512 = "163994a889e92bc84999e0c827f7ed0d162b43b1046a0391a851bd826730ce1199fa54a0e5dd549b3f30e197a8535ac5b4e1cb99f7f7a8706f7ecdd5bc125cff"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/gd/firefox-51.0b8.tar.bz2"; + locale = "gd"; + arch = "linux-i686"; + sha512 = "324c856b4f0505bf5481ee57a2549594739dcec8b2a57ff32156c724adc001dfaaa2202b0b66a30565061f4ad8719bebb382ac5961c960f4991e9ab6488f2195"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/gl/firefox-51.0b8.tar.bz2"; + locale = "gl"; + arch = "linux-i686"; + sha512 = "1b055c927c318d09ade13b64e50cb6ed03e10676535c9171ff3867200e8c79bd175b08b89377a4ef86f92f91977cd8a6cbeb48ac8beaf6576707d14743299227"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/gn/firefox-51.0b8.tar.bz2"; + locale = "gn"; + arch = "linux-i686"; + sha512 = "7ef12effe16f92e87d98c71cde4f3f7303674b124a41d174e57a9a4bbca0c6cd33cf8f39bbf72fc693355b5a054fc8c6ef15228751eef52a1599b280c9a17801"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/gu-IN/firefox-51.0b8.tar.bz2"; + locale = "gu-IN"; + arch = "linux-i686"; + sha512 = "6437e9fc0e171f48c335fc7c6b7ba327dd9419dcd293449ecabef1a6a6546dc70c38099abdd42e5f087290a256362170fec02ca53ee33e8883f4c654c9382e29"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/he/firefox-51.0b8.tar.bz2"; + locale = "he"; + arch = "linux-i686"; + sha512 = "ed8e6b961458652c273e443a29f4640b230044ca03d6da22a374704c800bbf8df4f7e984e9d3ec936153263cf29ee066c4fb6578ffdecf9955b7f65f10c26828"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/hi-IN/firefox-51.0b8.tar.bz2"; + locale = "hi-IN"; + arch = "linux-i686"; + sha512 = "091595a3b68c6951357f1a8e417a8ebed56c41fc1548c8aabe846980c4e3a769795fc0fc7e4cb1af47be2f4bf77b691269018d8ac2052f5acc5111b752fbafb0"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/hr/firefox-51.0b8.tar.bz2"; + locale = "hr"; + arch = "linux-i686"; + sha512 = "4dd4646bedeffd0219e1577e61f4e17f5c2b67b78cd8f8001d033dd7d4f906d0ac8d3e6d5500fa8a4aa049be0f7aeed967909d6cfa13b97fd1b9f93ac7d7b687"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/hsb/firefox-51.0b8.tar.bz2"; + locale = "hsb"; + arch = "linux-i686"; + sha512 = "8cc10487146e89e1728529271b6a9e3e6ce6260d495ad0a013c5489da06425ff9adb88bb521ce8bb90c0ac5e21ba126147d23cefe716b2708bf084d39d70c800"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/hu/firefox-51.0b8.tar.bz2"; + locale = "hu"; + arch = "linux-i686"; + sha512 = "5c15c474ce885c88d863f1f22e73d300e0defeaf61009b939ea6c2e62f16a6fb3693a3dafdf264e83c618263153d3dd81bfcacbe5c9f701a28530d17b38d8189"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/hy-AM/firefox-51.0b8.tar.bz2"; + locale = "hy-AM"; + arch = "linux-i686"; + sha512 = "fdd30dbeeb08a07822de29eb0e6ccb9df895675546054c75b4bfb0cf1f427488cfad9e2a1f541894cf366ddd1bb03e8eb4a75c318a1f80b2cc967a5b4ded8b39"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/id/firefox-51.0b8.tar.bz2"; + locale = "id"; + arch = "linux-i686"; + sha512 = "54734428db8860a7ae9c1543c341a5dd53f6e966f290a176e69f4fa66c2a4bcdd25075c5ec5f311adc033abb85e525b2b7426e113743632ebed07abaf31dba4c"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/is/firefox-51.0b8.tar.bz2"; + locale = "is"; + arch = "linux-i686"; + sha512 = "6ee38f9506403f3cb57c6b7f971c599ea1a2e77cbd5424bae209390a20b322f0b527ea4a0be93bac8976cadb5080d22e262d6797b4e9257aec232e768909c235"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/it/firefox-51.0b8.tar.bz2"; + locale = "it"; + arch = "linux-i686"; + sha512 = "71a1d593554466db36e09aed429d07ac9ed563af33959c899319e96e7d757e8dfe912a8d18b52cc198a0c4a1c45226406bb56996bc199b67f79c6a3aaea7f6b9"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ja/firefox-51.0b8.tar.bz2"; + locale = "ja"; + arch = "linux-i686"; + sha512 = "7d38e749f69ee99bcb546291b09a0a2b51b969bd4fcea50dc4f386cb951ab8a025c2ae8746c9e1d6398024d7904b63497421fc16f4f061babd0efafd17ea52af"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ka/firefox-51.0b8.tar.bz2"; + locale = "ka"; + arch = "linux-i686"; + sha512 = "813069de2be9e1b299bbead6e2078d86d3a382bf6d502c5f96a9c10c9571f4dc79127b450760d994e8fe41b3afd966fc70cea60e798432c7b8aa900d3d715bb6"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/kab/firefox-51.0b8.tar.bz2"; + locale = "kab"; + arch = "linux-i686"; + sha512 = "e1c562cf189a60b15c94fdd681007b4a64fe3e275900c3c78d492854fa28eb61ff30ab65ce7d3537170f28d51ad543e1b306b94d1ef6280b0b03b466fae9edf3"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/kk/firefox-51.0b8.tar.bz2"; + locale = "kk"; + arch = "linux-i686"; + sha512 = "be54a4085ecccf9d2dbb8894872d73d3d261a8a75c755fbb91ac4c1d8bd3ab696b95a25c87f0d509ab250b53470b20aad3255d128296928c591d45b2786c1cf3"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/km/firefox-51.0b8.tar.bz2"; + locale = "km"; + arch = "linux-i686"; + sha512 = "6369eb361d1ee31d33b9780072c1c49926fc4314168e5883ca71cf864765d7758d51db55f5ccda231e24ed4b65d2665b5fde7a3fcb1524a04e7057490e8b2308"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/kn/firefox-51.0b8.tar.bz2"; + locale = "kn"; + arch = "linux-i686"; + sha512 = "671165858cedd7f4ba9173cabe9532f08de780c967f6af085e73e3ac97f156b39000b3b672bb690cc40691d3b9b6b9d20c08883a1f2a1da689a71093096642a1"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ko/firefox-51.0b8.tar.bz2"; + locale = "ko"; + arch = "linux-i686"; + sha512 = "04cd3b277dc483cddcf6fbb79687b3ec170d33b0eee46717d645358df0f224c86f36723442e4d28e4460e663b3357f3d3c7a7aa1ec594013a8d91d030e08313a"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/lij/firefox-51.0b8.tar.bz2"; + locale = "lij"; + arch = "linux-i686"; + sha512 = "e62b1481001d5d63b65e07b527dbfc29b435f659db7237b411105711a601d9117d62f71dd93849b5ebb8dd0dd4e5981ffe9f318aff2e74485580471f672d5b6c"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/lt/firefox-51.0b8.tar.bz2"; + locale = "lt"; + arch = "linux-i686"; + sha512 = "f7cb9819f955f7b32439a7ffaf0cb57351bc25be579646d00f945f04152f64c9174bb49c99ec49b2d5c053634c73872a5b4a9615fd66744d0b5c650c9bbc67d9"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/lv/firefox-51.0b8.tar.bz2"; + locale = "lv"; + arch = "linux-i686"; + sha512 = "e7cfab908f9ea12c77ff0a76d2283e205c9b3751eb16a5dc06171e2cc3315193c6010faca943341e1a6496b48b3d90520308c53d85677cc18014fb8560f7714a"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/mai/firefox-51.0b8.tar.bz2"; + locale = "mai"; + arch = "linux-i686"; + sha512 = "6088910c06e1310097d09c6bd582e20928de56fddec03d7338faa9b9651900919315c15cffc601a0e4878ef7c8821d40d5e4d7e6998786b1cd50f21ca0e2dfc6"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/mk/firefox-51.0b8.tar.bz2"; + locale = "mk"; + arch = "linux-i686"; + sha512 = "d4ab8618c7945843cd0c9234ffa68dc61adfc3759a99bd174f66456038614497e3b389b0af452b3958c12e9b2755ddbed33e098c9e4c07110daf0bc5c4b874cb"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ml/firefox-51.0b8.tar.bz2"; + locale = "ml"; + arch = "linux-i686"; + sha512 = "05d3de5e0565316ccad5ad407299f6c31071d48edf1ec44492e61b8764040f22a6b23230b74f256554f313575084c9d79504d3ef85451c9f73c12edd663c57a4"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/mr/firefox-51.0b8.tar.bz2"; + locale = "mr"; + arch = "linux-i686"; + sha512 = "1ba2e3529f379c8e77941ce42a0100cef1f2daab31d8b1a0b23bed898ce0bdc4cb3a873aae71c1c3f5789f35edf7ffd88e11902154a3aa4f3117ba1ba782b0c6"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ms/firefox-51.0b8.tar.bz2"; + locale = "ms"; + arch = "linux-i686"; + sha512 = "7fe116ab0d79e7de3faeeebcdaedebbfba94ce6320b563ad79de7f3d5459cc113a1f10b6b2fb3c3b074d4a027f0cff9106e078c2945a62e5f3b828459c1e8d83"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/nb-NO/firefox-51.0b8.tar.bz2"; + locale = "nb-NO"; + arch = "linux-i686"; + sha512 = "9625821a4ce710ba5f1b5f7416086d4e33c67037e40dc0ad9a5d57049b4fd5bef9fd1b1c4c02cf6910465c641242a5ab9e596c962f5f4ace66b07cf4f0f85405"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/nl/firefox-51.0b8.tar.bz2"; + locale = "nl"; + arch = "linux-i686"; + sha512 = "5ff420c38ec644f622aed733c599a505498bde48f2a573492d647745d7f7c5cee44b009eaccb8de458af813260bd19f9baa7f9f1e2dd946cde48f09510a885cf"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/nn-NO/firefox-51.0b8.tar.bz2"; + locale = "nn-NO"; + arch = "linux-i686"; + sha512 = "12ccce434da504753b38449959c97952767fa5af7aa2b0f58777f8775e4dac94d55d67e8d575f68e55e084bc65cdae101ad92b4654bcf345782bbe914d01f655"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/or/firefox-51.0b8.tar.bz2"; + locale = "or"; + arch = "linux-i686"; + sha512 = "3b456b222d39b5a69761da7cd33504fc64ee76d5d8e6e4ca26be158f562bad27a3322604a6542195aed1181f578a650b05200b1ba75d5d8a05e400014bf25660"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/pa-IN/firefox-51.0b8.tar.bz2"; + locale = "pa-IN"; + arch = "linux-i686"; + sha512 = "3472c5eb75dd40b68995bfed8542546a9f35e04ca8a7fe17465a99a94846ea696d1cfedcca2d59a47082de6d2261f1701950be3295f063e69846cc90d531f5e0"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/pl/firefox-51.0b8.tar.bz2"; + locale = "pl"; + arch = "linux-i686"; + sha512 = "0a883e16dc997c748a6d76e32455473ffea6612dcb88446f331e43f9d247f01ae93e49827b1e222a2990e54e201c58aed2150e800080fa47b222daaa69154bd9"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/pt-BR/firefox-51.0b8.tar.bz2"; + locale = "pt-BR"; + arch = "linux-i686"; + sha512 = "34e6870557e30a75838bcac1e268796f670b8f5dc4e49cdbcc6e34cab5f8c3e4996cc73149d13a5178ebadd1f052ac5c2eaecbaaf0d3f4245080e71f8b86c856"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/pt-PT/firefox-51.0b8.tar.bz2"; + locale = "pt-PT"; + arch = "linux-i686"; + sha512 = "932291baa2091d12d9832483d14a6e05568fa8d1d1c41f42d066c5efc13d7e511afcb953945334b9e7a573776bd2263c9e38a64f73cb44f4f8a32509e5fe5119"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/rm/firefox-51.0b8.tar.bz2"; + locale = "rm"; + arch = "linux-i686"; + sha512 = "7258b1c4a865d593e820220f5b48bfd1a8b9c4a7bdeac9b15208f5060ca501e03b72914b2b53b65164d2db606b092252f0abd6fd83f781ef0f330d4bb487dbb5"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ro/firefox-51.0b8.tar.bz2"; + locale = "ro"; + arch = "linux-i686"; + sha512 = "5fedc4a3dee59bcd804eee04ba07ee4b862e6ea8198d1a5c3383cf36667e2f15ef728f21138868b84c15f59c7b11760fb5fe293e8545840d1e5c98945f404eb7"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ru/firefox-51.0b8.tar.bz2"; + locale = "ru"; + arch = "linux-i686"; + sha512 = "8e6a4f786d5db808ac5c63d4abbe4a53b941845a48fe2fb8dfbefb46e01e1053d591aa8bda63ee83785ef3cdc481593c86c804e4683455a2e27fe594b96a650b"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/si/firefox-51.0b8.tar.bz2"; + locale = "si"; + arch = "linux-i686"; + sha512 = "39c0c3487242a54287af42c9457ebe8882112954dec168630b8914896e3900e9799691bb88147927328c4c5f4b2078bf68e623e09ca2f62a4b7efb4e625bb283"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/sk/firefox-51.0b8.tar.bz2"; + locale = "sk"; + arch = "linux-i686"; + sha512 = "e87215632b5f0264a04fefd631def717c3f6bdfe31817dbe855d7c6195b4f340af043bf613fa9f89ca4af4893cc6effb876eb51555a089880970315f7ad15e2f"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/sl/firefox-51.0b8.tar.bz2"; + locale = "sl"; + arch = "linux-i686"; + sha512 = "7cb036e5926b2ce9a03b27f37359b640f824f32a918ad8e9959683114755949ad7d2069f02e0206c2d67633ec9763ea612ec3e3e44dc5e881d4e275d1767cf30"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/son/firefox-51.0b8.tar.bz2"; + locale = "son"; + arch = "linux-i686"; + sha512 = "e74ea45d6b5dab67229472ab524abc805c5e1c91b7ba627d95f0fb5eb1310aacfcd73a4a5fbfe8d7d5546aba9d254297494b34efe81aecc7e261cce23b9e0de1"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/sq/firefox-51.0b8.tar.bz2"; + locale = "sq"; + arch = "linux-i686"; + sha512 = "8321933b4eec21e9297e446d62f63b4a7c69eef3952d99aa32828b76776c34efc9cc174ded4637c586a383558eebd2ce43a63dcb7608ea0a2568c03fa363e0aa"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/sr/firefox-51.0b8.tar.bz2"; + locale = "sr"; + arch = "linux-i686"; + sha512 = "a81dcf72785936754c04fe2e549795f612af671e360a653860dec811a65ad8e19cb6cba5fb205ee5925f364e49a358d459c354e26b23746a2e5deba41374115a"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/sv-SE/firefox-51.0b8.tar.bz2"; + locale = "sv-SE"; + arch = "linux-i686"; + sha512 = "1835da3f930b9daa37dc14785feb0d145aa9640278a4119b2a8f6168bb5bb385187914a625fcf3d88c3822ea62f338c2376c08831a2c4d8203a4b6c0bacb2d7a"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/ta/firefox-51.0b8.tar.bz2"; + locale = "ta"; + arch = "linux-i686"; + sha512 = "0a7f219eece161bb3ae9ef280457e94470d1929770123a9197c08eb320ca2119aac66cd7fc5181e4c0c1359514d0338d306db1322435abea70538f9c55d5d7a2"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/te/firefox-51.0b8.tar.bz2"; + locale = "te"; + arch = "linux-i686"; + sha512 = "10a412a83c75b8a7d4adc800c858d9f0adbbf7b2c08cf8a3d5dc494ecf38cf8a83cd3a462eda7eabdec73e194264b698f40a705458fb0916829b783c511fd3aa"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/th/firefox-51.0b8.tar.bz2"; + locale = "th"; + arch = "linux-i686"; + sha512 = "d5bd9c86174be82336f711d50dc75e6f252a468083354c0a1dff99f4c72469a1a789144ffab2beba65d3e43a2e8812955176f426b560bb000607bb683eed81ac"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/tr/firefox-51.0b8.tar.bz2"; + locale = "tr"; + arch = "linux-i686"; + sha512 = "7ec4d2419a1afd9b23351ed896c92ba7812f4aac083e72242d21e0608c32dd5ac157c8d08a89991fd051f6fa0cc56507739b49cc94731a4aa83219d9c76cfc85"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/uk/firefox-51.0b8.tar.bz2"; + locale = "uk"; + arch = "linux-i686"; + sha512 = "eaebff23162685126416f9974ca6d4d20a8dfa320818c76716e695c6d9984e4591620185fc5bb4ea97c2ab0d042864525f9704d7c3e0fd222db3eb60fbbc63cd"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/uz/firefox-51.0b8.tar.bz2"; + locale = "uz"; + arch = "linux-i686"; + sha512 = "5cc21748974536c0f2e73dbd486e2bba1e5d44b4c198d94a6a4d8c3c0be925e89264a7201031903e1c4a41e4bd2c9fb558117ace9acb8f52051224c35b3558ec"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/vi/firefox-51.0b8.tar.bz2"; + locale = "vi"; + arch = "linux-i686"; + sha512 = "42ad1640ffd4c1f35addf69156992f87e1cf5925c8e5d5a1ee49a34835d28117918d3c7cc7087e258726f83e16e3e8fae14f6b8530d308b29606105c8a2f337d"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/xh/firefox-51.0b8.tar.bz2"; + locale = "xh"; + arch = "linux-i686"; + sha512 = "14f18ee698bf639d4e51c13f58257af6a4a87e912e14dce51b2052351005f66df501e5b28408079d6d6221e2419da55675d298859c65b6c40b94108a7406f5c2"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/zh-CN/firefox-51.0b8.tar.bz2"; + locale = "zh-CN"; + arch = "linux-i686"; + sha512 = "66ee019ea1694d8e16e16a39799fa0bf1b6fca66a39ed5435865c7d3fd9ebd93496d20c37d750a1e70006e11672ae1a603ea81781146a10086604dbe39c3f2d4"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/51.0b8/linux-i686/zh-TW/firefox-51.0b8.tar.bz2"; + locale = "zh-TW"; + arch = "linux-i686"; + sha512 = "2575b4111e6061f941237392f23254eabbe7bf7c29a5113fcd61780238fb22f5b9d8ca9df0243f29d40b69f65ab5fa59d8ed83fdaff96ebab0b0e648f9adc0ad"; + } + ]; } diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix index d782f4a7b536..0b9ff9db219c 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/default.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix @@ -2,6 +2,7 @@ , alsaLib , atk , cairo +, curl , cups , dbus_glib , dbus_libs @@ -25,7 +26,7 @@ , libXinerama , libXrender , libXt -, libcanberra +, libcanberra_gtk2 , libgnome , libgnomeui , defaultIconTheme @@ -37,6 +38,11 @@ , libpulseaudio , systemd , generated ? import ./sources.nix +, writeScript +, xidel +, coreutils +, gnused +, gnugrep }: assert stdenv.isLinux; @@ -61,10 +67,12 @@ let source = stdenv.lib.findFirst (sourceMatches systemLocale) defaultSource sources; + name = "firefox-bin-unwrapped-${version}"; + in stdenv.mkDerivation { - name = "firefox-bin-unwrapped-${version}"; + inherit name; src = fetchurl { inherit (source) url sha512; }; @@ -75,6 +83,7 @@ stdenv.mkDerivation { alsaLib atk cairo + curl cups dbus_glib dbus_libs @@ -98,7 +107,7 @@ stdenv.mkDerivation { libXinerama libXrender libXt - libcanberra + libcanberra_gtk2 libgnome libgnomeui mesa @@ -163,7 +172,9 @@ stdenv.mkDerivation { ''; passthru.ffmpegSupport = true; - + passthru.updateScript = import ./update.nix { + inherit name writeScript xidel coreutils gnused gnugrep curl; + }; meta = with stdenv.lib; { description = "Mozilla Firefox, free web browser (binary package)"; homepage = http://www.mozilla.org/firefox/; diff --git a/pkgs/applications/networking/browsers/firefox-bin/generate_sources.rb b/pkgs/applications/networking/browsers/firefox-bin/generate_sources.rb deleted file mode 100644 index d049363f2cf5..000000000000 --- a/pkgs/applications/networking/browsers/firefox-bin/generate_sources.rb +++ /dev/null @@ -1,48 +0,0 @@ -# TODO share code with thunderbird-bin/generate_sources.rb - -require "open-uri" - -version = - if ARGV.empty? - $stderr.puts("Usage: ruby generate_sources.rb > sources.nix") - exit(-1) - else - ARGV[0] - end - -base_path = "http://download-installer.cdn.mozilla.net/pub/firefox/releases" - -Source = Struct.new(:hash, :arch, :locale, :filename) - -sources = open("#{base_path}/#{version}/SHA512SUMS") do |input| - input.readlines -end.select do |line| - /\/firefox-.*\.tar\.bz2$/ === line && !(/source/ === line) -end.map do |line| - hash, name = line.chomp.split(/ +/) - Source.new(hash, *(name.split("/"))) -end.sort_by do |source| - [source.locale, source.arch] -end - -arches = ["linux-i686", "linux-x86_64"] - -puts(<<"EOH") -# This file is generated from generate_sources.rb. DO NOT EDIT. -# Execute the following command to update the file. -# -# ruby generate_sources.rb 46.0.1 > sources.nix - -{ - version = "#{version}"; - sources = [ -EOH - -sources.each do |source| - puts(%Q| { url = "#{base_path}/#{version}/#{source.arch}/#{source.locale}/firefox-#{version}.tar.bz2"; locale = "#{source.locale}"; arch = "#{source.arch}"; sha512 = "#{source.hash}"; }|) -end - -puts(<<'EOF') - ]; -} -EOF diff --git a/pkgs/applications/networking/browsers/firefox-bin/sources.nix b/pkgs/applications/networking/browsers/firefox-bin/sources.nix index b4e683372e11..8e424ea80b0a 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/sources.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/sources.nix @@ -1,192 +1,915 @@ -# This file is generated from generate_sources.rb. DO NOT EDIT. -# Execute the following command to update the file. -# -# ruby generate_sources.rb 46.0.1 > sources.nix - { - version = "48.0.2"; + version = "50.1.0"; sources = [ - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/ach/firefox-48.0.2.tar.bz2"; locale = "ach"; arch = "linux-i686"; sha512 = "2e06c639284e5258e9bba9f02f3d21df6a3a37e3dc55667b2836e9eb68ad5ab24ccd99f82714da14231b5c6a301a40acaf9763ca19b920bb4f6acf535dc753b6"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/ach/firefox-48.0.2.tar.bz2"; locale = "ach"; arch = "linux-x86_64"; sha512 = "d0777aa0a5128f9ea0b0929781a7d86ad81e72bc8c204e8f026d37bac120d0e210b0a0c8ed42aabd378f96fe52237a103ea25c773b49ea814d06862e770e3180"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/af/firefox-48.0.2.tar.bz2"; locale = "af"; arch = "linux-i686"; sha512 = "81cddaae3ab0ac26b3cb5faefddfb088addea7f5d112a317d5c56c16cdae2801539e7c9c4fd9d77a14ad77db7a96a75767d5c08b3858455b801adab8a997da02"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/af/firefox-48.0.2.tar.bz2"; locale = "af"; arch = "linux-x86_64"; sha512 = "5020fda908bcc8b3bb937c5ea4f5a78e74cf836488937f3c4c6f6533a57d5e086e88a85fefac3983407254e3f9a9e2a0b03167095ba9b6e30e69b7381dfe756f"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/an/firefox-48.0.2.tar.bz2"; locale = "an"; arch = "linux-i686"; sha512 = "a47b6bd64f1e654ed9041035c36ddda60cedaf634327fd005f9610390a53433da21f12fbe4a3225d756755544a01b9fea463965c47c08145103b357e5b1071b6"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/an/firefox-48.0.2.tar.bz2"; locale = "an"; arch = "linux-x86_64"; sha512 = "31d116e6e1950ae3e93ad0ac744967f00699a04f3df89f9e0e4a2cea62e2a9675f7499ca41fcc2acbb91a72cbe3cd74f057dc25a6db947b1b5448fb0d92decdb"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/ar/firefox-48.0.2.tar.bz2"; locale = "ar"; arch = "linux-i686"; sha512 = "bb9acd986a258cdc8c368aa1375cee500bf45be31821220c90d562bcc3d526bafc5362c91d4dbd7a003955adc9f26adfe8d62403cf3b9004b82f3880a5b58db7"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/ar/firefox-48.0.2.tar.bz2"; locale = "ar"; arch = "linux-x86_64"; sha512 = "dc4ae811b19887c8f039b046ec2d48d4aaf628f7869e471c97b637e5daaa0e0b0b96fa327ab3b2ba3a184ffbf91213f4cb619d2d2a396b22849782ac41f7f31b"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/as/firefox-48.0.2.tar.bz2"; locale = "as"; arch = "linux-i686"; sha512 = "d9dd79d56912bc65e4993214ff58f7dc725077a62e391495acb6aa4b50c371d1c843811e5c511408dc3b343df0056bf33efc1e8f16177f4549ee49fe7b22ccdb"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/as/firefox-48.0.2.tar.bz2"; locale = "as"; arch = "linux-x86_64"; sha512 = "f8278a0141814f2b0e1ac4bb0e94e6d566e97943fabfd7561e249de6a2da9650edfc42456e503ed2473d7df65b4f1949d5fe423b79f9519d59a1ece121361029"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/ast/firefox-48.0.2.tar.bz2"; locale = "ast"; arch = "linux-i686"; sha512 = "e1aca0b09d6c7ef78eff26e88d817a203ffc142f9be998ba08be74dce67da8ae4c728853c6f6f19a4b18fb439ed01fab556718a4f991a206bf5cc069232665a4"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/ast/firefox-48.0.2.tar.bz2"; locale = "ast"; arch = "linux-x86_64"; sha512 = "53ab2cc04741152f11fd4f7ad70eec7f927c7aa70997cf9d3069736a13bafa3b26dcabe610cb5dc10243a1b6b00f22bf9d6bc05afd26d0b7de254f55412c5805"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/az/firefox-48.0.2.tar.bz2"; locale = "az"; arch = "linux-i686"; sha512 = "39649887ca38ed1beb819227d80f5c75b0fbc08c537d6af48755c35a0ecc195127d9cf4c1af05a09b0e9e604144f5e9e00ad57d1cf895cc3f0142b482c98980a"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/az/firefox-48.0.2.tar.bz2"; locale = "az"; arch = "linux-x86_64"; sha512 = "5c75fb1a34fa9fa447f7b279ef57cd0701baeeb95a2dee48b878d01d7e33eeba3d7985ef375317080a1a74732bebc4c26883bedfd00578d1a653deb2a250ca6e"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/be/firefox-48.0.2.tar.bz2"; locale = "be"; arch = "linux-i686"; sha512 = "7879202dc251f9f2dce656058e51a724b7e49e9b03db8bf5921448b8e48b74186c40425ef51a84be6df810819ce2e297895017ac748b30221e3cad73c80eb0eb"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/be/firefox-48.0.2.tar.bz2"; locale = "be"; arch = "linux-x86_64"; sha512 = "35291f1c2326af74938c953ecb55e55951ceb8fe10443f39edd2b505dfd137be161f8c4a1e776e3ef75311f52609ce74cc5c13fb78f59893cbf7d7bdcb4c7162"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/bg/firefox-48.0.2.tar.bz2"; locale = "bg"; arch = "linux-i686"; sha512 = "07d630045d9c99655ef04b6de10e34e4c1eb6a38f5a1eed4f08f90ce0f61ca9129235e48882005c0c98eb962273ac644a46dd4cdf76b748ad1b007a018b7f1ef"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/bg/firefox-48.0.2.tar.bz2"; locale = "bg"; arch = "linux-x86_64"; sha512 = "457d65bb0afa6c755048191a24eaef286f5fbd9b68b020abf554c7ad978398605947cf276ce09d4447cca4b64f053b956af805196c45617f2f14911598a75f6b"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/bn-BD/firefox-48.0.2.tar.bz2"; locale = "bn-BD"; arch = "linux-i686"; sha512 = "a355957e649ab82a6693e8da580b075111fa14bb1efa722397e3fc56c1dd14e6bc4f1315c7a74f1dc47aca228d0faa59db358b7f2baf79939f480c2e4113781b"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/bn-BD/firefox-48.0.2.tar.bz2"; locale = "bn-BD"; arch = "linux-x86_64"; sha512 = "612ef87c01fe221c6e546f110efe228a73e632312af5ee3a4324904aba028365d06c9aaf080eb010b90f653d0aeb4a19f78a0abd15ee02688102cfd4f4c15f5f"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/bn-IN/firefox-48.0.2.tar.bz2"; locale = "bn-IN"; arch = "linux-i686"; sha512 = "43e41905c397a2e311ab1a326f70070e0a1b922dd38301cfe9af17ae7916f2b697e1f3d218bbfd26741492d10ab5f6623a182691f036dbb653996d87cba10861"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/bn-IN/firefox-48.0.2.tar.bz2"; locale = "bn-IN"; arch = "linux-x86_64"; sha512 = "29299d5174cc226330f7d89b734b15f934a8dbf6c577e81f37b362ce8fc2adf4d8f901f2ddbdf90d8d43181e369b5e339408604b5cd0bea8a2c6eeca5e319957"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/br/firefox-48.0.2.tar.bz2"; locale = "br"; arch = "linux-i686"; sha512 = "38ed922491f7690cc9aa62a4d9703c7d83dd67b067f3901a8ce34a3f937063fefacc0991530a79c66581554a86c564f8d0468f9a3aaf500c56abcc89ae4d872b"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/br/firefox-48.0.2.tar.bz2"; locale = "br"; arch = "linux-x86_64"; sha512 = "efbb2ccf082f2ac5b5d580f02642730b934e367fc4b6e841c53fc651b43c129ad092c0028d810d94aed102f01b521838dd81a0137cf057e903ccc78e182911b6"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/bs/firefox-48.0.2.tar.bz2"; locale = "bs"; arch = "linux-i686"; sha512 = "d9183190513145a246db8592631b22c61cb895fd8b8b5294c772da1c584f63cfdfdf67ab664cea5045611a9366521d91ec3ddeb74079a1046886ede1c0421ea5"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/bs/firefox-48.0.2.tar.bz2"; locale = "bs"; arch = "linux-x86_64"; sha512 = "140a0e65e8995702986e3c85fd38ef5b729911405156a3d3fbc37d7c10685a88300850c339ddb94687994bfa8482fa1f93690e3781d3e02f8f90f8f6eee17371"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/ca/firefox-48.0.2.tar.bz2"; locale = "ca"; arch = "linux-i686"; sha512 = "d80b1716eeafb294b2e1d68791e9d84b45285851361f732ec84688b5c440da1c30b669ac01b7a77bf8e065523d77d0a5a4e997a98a82652100b2111177c5567a"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/ca/firefox-48.0.2.tar.bz2"; locale = "ca"; arch = "linux-x86_64"; sha512 = "12282634abc6acbd0877436258657116d1a0ea07f90b04447d8ce372c950e3b5288de9ae76a867b1af5c2d4dc2c85efbb349df616eaca95aa03774d7dd331c7a"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/cak/firefox-48.0.2.tar.bz2"; locale = "cak"; arch = "linux-i686"; sha512 = "407f1eb4b637a8abdc342b61ed898a5900d9914e5fc67c9c9f44327221dcbcb2fba0e27e9b1af5540d25ad282e9765d1c91bc70ec4a7ac641404ce05d83ea22e"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/cak/firefox-48.0.2.tar.bz2"; locale = "cak"; arch = "linux-x86_64"; sha512 = "a611f37240c3b22e715121d64ed636a650620022edadf8090cd4a51769373c669f230efd39316244b4d727244e093087fb88754aafdeba2948b0bff3316092e5"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/cs/firefox-48.0.2.tar.bz2"; locale = "cs"; arch = "linux-i686"; sha512 = "e7c7a1564944bbbc5852d11c11480bc03366cfaaacd132f2252a9322fe4f4cc94cc4d7853b56b4c5a130882f254fce4d791a047e5d141dc5143c97d5248da72f"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/cs/firefox-48.0.2.tar.bz2"; locale = "cs"; arch = "linux-x86_64"; sha512 = "d6931627e77fd8e4e0c445573e05a5e96bc6a2a47193cf2fb21403d0c10bdf009eb699d1cad6daee787e569d3508fb85f6edd8ffea80b69d6afed724d568ea50"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/cy/firefox-48.0.2.tar.bz2"; locale = "cy"; arch = "linux-i686"; sha512 = "15df651ea244c39150534bcb467649467c636281b7442af8ef5f2a296104b39ee951202b950fd6a960b10ff54fcea0f37a0b2a8f76cb969fbd9ed57e5a92d66b"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/cy/firefox-48.0.2.tar.bz2"; locale = "cy"; arch = "linux-x86_64"; sha512 = "0b168a6fc6f181303f7398ee3366f18bb2b256d654229da9cfa46ce0b424b4d5d414652509df3ca6600ddc7a9adf823050165d716a3d376a08563457af3e6696"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/da/firefox-48.0.2.tar.bz2"; locale = "da"; arch = "linux-i686"; sha512 = "64ef134d5839659c096d556e7060ee07ec160c59adc9ca3105eddbdc1c2b2b166e00996b2a88422461c7bdecdcd71b917e4ce1df8e92912542c413845ace7c69"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/da/firefox-48.0.2.tar.bz2"; locale = "da"; arch = "linux-x86_64"; sha512 = "cd477b4c541fa16f8c4054f670143c6605b7beb48fbe1b26948c50435e11f0d4fbcf907f192b53a1419a2be8589daf5c1efcae013366567a8c0003da0186593f"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/de/firefox-48.0.2.tar.bz2"; locale = "de"; arch = "linux-i686"; sha512 = "6768f6445dabcd1e98ed27a8a28b930a160c7717b688ea38e0930055c59c123fcd7f52d0159dd2b2425978fd9e8e2d0e4e0877e6bba659f840836ff68b2e6c67"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/de/firefox-48.0.2.tar.bz2"; locale = "de"; arch = "linux-x86_64"; sha512 = "6dd6fe70fc26f4b7fbcc1e7ec212263e4e6822d365704364ae8f4ef3ede45a68ea1651e65c02f36e90dc44f2462a874703cfa02bc45e74bf0ab19bc31267e471"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/dsb/firefox-48.0.2.tar.bz2"; locale = "dsb"; arch = "linux-i686"; sha512 = "328e30142ed129560ca2a23de9963f40cdb0ff87454a9257b00b9bdd9b5d566b6f2f263c484f3c58c8e52ae6de5221a1ca936f7960ce01d88f7ba4c9b97f789e"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/dsb/firefox-48.0.2.tar.bz2"; locale = "dsb"; arch = "linux-x86_64"; sha512 = "7e57b66afdfca30e7c770ec87d7ffcbdc644c54e01e037bb348709c8f091d82da48a3ff3a3dd8187f12f5ba1f94599f8aa8ed375c7e6bd90a2f787b3b5a09340"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/el/firefox-48.0.2.tar.bz2"; locale = "el"; arch = "linux-i686"; sha512 = "ea715903a796e386aa1d1bca22a0dc3cde08690efc17ecaa8380f086fdb0968292a838296adb4c78ac30b7c93baabd4dc19d088ffd890e11c76b58d9baf73efd"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/el/firefox-48.0.2.tar.bz2"; locale = "el"; arch = "linux-x86_64"; sha512 = "1bf80e3b64c95d74b7893e2ee36947f293f574c49461d742d7f47ea990d198fa78d9d3f9c04ec3c4d81745549a23b2a502497766441c61098b9ccd5f9169f191"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/en-GB/firefox-48.0.2.tar.bz2"; locale = "en-GB"; arch = "linux-i686"; sha512 = "4db30d4d7140cdeafb41353133c9ea5679f5eeae8fdafde86887d6ac3553d1d0db74f2e189219f6f7cb9a8d33f2c2eef58b3280fd0d435593109ab5058404eab"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/en-GB/firefox-48.0.2.tar.bz2"; locale = "en-GB"; arch = "linux-x86_64"; sha512 = "4b9d24e2faff85cf56012baa7c4d32b29173f903a5c19b0ebc20c7959ae291be39ee875f98f08a07d16aacc0fa5e7633245e265f11b30c64f703f22c889abf7c"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/en-US/firefox-48.0.2.tar.bz2"; locale = "en-US"; arch = "linux-i686"; sha512 = "656ddb1fc57f2308cd5a6b376828676d9c7529dca18751e5ec6f4b903b47cc31c15f6fb70717605219051f8a54a89d9c579cd70327e2029ca374953671d9d1e6"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/en-US/firefox-48.0.2.tar.bz2"; locale = "en-US"; arch = "linux-x86_64"; sha512 = "ea8a1edee8ac64720a2694d0ed0ccecbc38d1b1aa6b65fa87969b31189f624549d3e3712052c55e0aebc65119701e88d4397bf01c8526b3ba662e6583acec815"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/en-ZA/firefox-48.0.2.tar.bz2"; locale = "en-ZA"; arch = "linux-i686"; sha512 = "27b805f5f89f999bf5a95f174dcc6d611dd297e8ae094e1557300d12311963a3410ad0c077355e2cb31d0e134f0d015fbdf7662e2f172174a1abb24dabdb4040"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/en-ZA/firefox-48.0.2.tar.bz2"; locale = "en-ZA"; arch = "linux-x86_64"; sha512 = "abad4283afed609217799fd3f97e6dd1b89d5844344a68912f712a8796613db371259883b92292fa12a33c923692f7302f63123431fbcba590c780fe4a9e2517"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/eo/firefox-48.0.2.tar.bz2"; locale = "eo"; arch = "linux-i686"; sha512 = "04fd9ec015150c9c8d26c69e7e0213caeb3a880b162eee48123b0355f73488bf667d5217cdcd2c45cd3cd5fc88c01ad02b4e2cc40b220beb93d55d64689206c6"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/eo/firefox-48.0.2.tar.bz2"; locale = "eo"; arch = "linux-x86_64"; sha512 = "fabb940bc6f392ed1f5e6e0fe23947d28e1b8143f29784509eeac361050921f1fc97ffe18e51f47026b7a69178ddbb367e4dec6cda45feccfc6876e9e178d6f1"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/es-AR/firefox-48.0.2.tar.bz2"; locale = "es-AR"; arch = "linux-i686"; sha512 = "01015a8756aaaa012fe35ba9d8192304fe8a22af6a512a644b20794446a31738b9142e03492db10e0e237a63cb3ffa2f581e700df00dfa3f4616157782cddf28"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/es-AR/firefox-48.0.2.tar.bz2"; locale = "es-AR"; arch = "linux-x86_64"; sha512 = "0383d5df8041ee2ba1d32b9b1e090c50a4b911bcfe5354d0cc43a09355a790882afe5a9a837dcf2d9f4456ac75594112c5e3f520400e23d7bc91d37499ac9533"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/es-CL/firefox-48.0.2.tar.bz2"; locale = "es-CL"; arch = "linux-i686"; sha512 = "4d74b9de4b4f0ab8ec43290d7f11c0439a1050e8561ae5192ff4fd3d0576d7d1857c9e616ed75b6fe7da5207e284b9713cb7184e65b093e101cbcb25fd90f74f"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/es-CL/firefox-48.0.2.tar.bz2"; locale = "es-CL"; arch = "linux-x86_64"; sha512 = "77aa56f1fca65c9374f15f012ecf1bbe439b99ed6ebe9823cd7f820e06cb10014033a4f6abb914969d0a5b03564385910af2569eb060c6065b7d1ceab5bbe7ef"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/es-ES/firefox-48.0.2.tar.bz2"; locale = "es-ES"; arch = "linux-i686"; sha512 = "9e93a646c345a5c129bd9472601dc9d1cf3955ee0e6ad44a4b55f2dec7dba7d133c865d2c8b59383f48b1a870e2e02f781c93ced3811b03873e9c2d241ba0513"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/es-ES/firefox-48.0.2.tar.bz2"; locale = "es-ES"; arch = "linux-x86_64"; sha512 = "488b79aba6acefe5a7973d63ba034eacc8894fd2e5aaea6c010af84975f45f00c49e85c003e876f1636a00dd396c6071511c84f61c0b6961ab677cee6b31ac3b"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/es-MX/firefox-48.0.2.tar.bz2"; locale = "es-MX"; arch = "linux-i686"; sha512 = "d2c353bc74b35d13f0e018ac8f8a1c3bba211524269b82188504e4b76701a2db2b085bea9c293caee4cd8ea8251d1c871ef0628bf7fe17123a0ca4475611dcc2"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/es-MX/firefox-48.0.2.tar.bz2"; locale = "es-MX"; arch = "linux-x86_64"; sha512 = "6bfea70619b2d9e853b36ad93ddc4b5b09c98279541eb737dda98009e61642fb9066ea097230fdfd942286d94fe512365fb48fa30ffddbde898589a471e02f89"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/et/firefox-48.0.2.tar.bz2"; locale = "et"; arch = "linux-i686"; sha512 = "c527a2736b3fabb6b248816e04373235281a5dd0f1275108fc006db1f2e48485bd5f413169f698f94d015aab2d6d8a00ba638a35eb574556453af2b8a2c20172"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/et/firefox-48.0.2.tar.bz2"; locale = "et"; arch = "linux-x86_64"; sha512 = "f3fad1f2f0256d0bdfabb3ce20eb475c1f54c762e3af1fec90565eb18cd7ef3603586c79821bfadca27eb7db42aad3a887abb348f955d394c8bbaad909314ce7"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/eu/firefox-48.0.2.tar.bz2"; locale = "eu"; arch = "linux-i686"; sha512 = "772423ee4b87e308d1dbda39265e6671a6576c3b950abcd2dbabe2491a8cc5b5b6fa8ddbb00504efa2f5f43b59339423ef1347a3a92b8f00f61ea4be5bab2c20"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/eu/firefox-48.0.2.tar.bz2"; locale = "eu"; arch = "linux-x86_64"; sha512 = "0b87aff412594848f1aca67e766c2423e1f28ad294a42feb894a69514fbd97efe97e6c119a19daba21c8d09f6e205ecc94bf1c4d150a5b684f7990494dcd2524"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/fa/firefox-48.0.2.tar.bz2"; locale = "fa"; arch = "linux-i686"; sha512 = "9d8c4f63297198054074bf244f947cb92db29f70695c69c6fd54cc18844653e4dae1447543c8ad8b8687c20231d72b6965e59d552aafb6f4c35bde89839b3909"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/fa/firefox-48.0.2.tar.bz2"; locale = "fa"; arch = "linux-x86_64"; sha512 = "7f3248c02c142ec88a9a32eed0a3f9802b6ad18a6fa56a28f2b5fd580ca917850352bbb4193559686f9e95f53e8e85727afd500eb03e3b5181180a1e5022328a"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/ff/firefox-48.0.2.tar.bz2"; locale = "ff"; arch = "linux-i686"; sha512 = "fc160572277bfdb35cd3fb9c5a5b0a39710c78de4782ed679b96ae00c6cdf22b14d99d62462679bb4ab9bd68b8f7dc3cf43fb390a382e31120c91b24a98993f9"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/ff/firefox-48.0.2.tar.bz2"; locale = "ff"; arch = "linux-x86_64"; sha512 = "c192466b8f92186a80895f5bfe1094747b214ace2135c72cbb19bd71a7fb7b77491c8af4648a88dcbf2a1235d73a408c6122d7b46fe923633bce8d7113f03298"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/fi/firefox-48.0.2.tar.bz2"; locale = "fi"; arch = "linux-i686"; sha512 = "98bb77f6ad8b39d506e4fb0666386332fa22f01f4b7362fd614ea951c3520b7f692e8282d1aa175d94d43c46c267c941d4cfd0d19b454a7345ce13f7a264b6bf"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/fi/firefox-48.0.2.tar.bz2"; locale = "fi"; arch = "linux-x86_64"; sha512 = "14bf0b3a34dd2a6a7b5d0dcf8f5c0313e643f8a730afda92ab94afcf8505bed895724098e991c28344851288180d25e18b5327c44c742918d7e83007177cfb6c"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/fr/firefox-48.0.2.tar.bz2"; locale = "fr"; arch = "linux-i686"; sha512 = "b6a4ba15cc2c4d0f9aac90789e86f69d983e7dd33b744d213fa856259b57192e403ec67fce870d710782f0c0d3c24ae23a38bcb101d60efc967e87bf9efc43af"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/fr/firefox-48.0.2.tar.bz2"; locale = "fr"; arch = "linux-x86_64"; sha512 = "dba11e63b3435fe2665f5437147d854ac590394e1f270bc0ea9638f0f8622a8639ce54c74fb2ef0b75cc6df2eeaf28fa21ae4aec6a41637fa2b107581970ec4f"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/fy-NL/firefox-48.0.2.tar.bz2"; locale = "fy-NL"; arch = "linux-i686"; sha512 = "6be75948bacadfb5de5f49f5a1455294e5a511aaa30cd9575823c91b304b1f433fa5e10c146d971497f23052e6e2db2111d740ffb9e48ea8aafac81fd5477ff8"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/fy-NL/firefox-48.0.2.tar.bz2"; locale = "fy-NL"; arch = "linux-x86_64"; sha512 = "6e7e28ff66b29d39e87625711da4d83e376cca5521f8734b25b60b34e9bd350fb6b24a982306b902bfacbf367d9ebc3bb0d1de0d9d4f7fec39f5629aaeaec79b"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/ga-IE/firefox-48.0.2.tar.bz2"; locale = "ga-IE"; arch = "linux-i686"; sha512 = "22a3def2c74cefd8d7a254f4b746b1d131d9bc508f686c2027ad29bafd31a4e414d10a94d0c8c8ab7a4ac59b8a453e98183ce5e7597fd1624710803c139e704a"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/ga-IE/firefox-48.0.2.tar.bz2"; locale = "ga-IE"; arch = "linux-x86_64"; sha512 = "cc5ada6a14ca46a89a8d20deefd7da57b012ec1cf2a271e6327de676639217b67d60208c9bbf4ea88418b5447ca62dd2addc584613e55a51afe04b3fbafe4a60"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/gd/firefox-48.0.2.tar.bz2"; locale = "gd"; arch = "linux-i686"; sha512 = "1c25a5d9c95c38faa1f9ee2709b1dbd2c3adad7b7c0d18a56dfb0e16b61cb0b47683e259d2876e2cce5a25c738fcec422939e417e3cc71229917af043a6425ac"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/gd/firefox-48.0.2.tar.bz2"; locale = "gd"; arch = "linux-x86_64"; sha512 = "c4f68019652565cb4fd9c3f7da7ff476442a6d2f168531db40f29524bf4b4961b04de98effefdbff935c8a7bd110fad0cd72aa229500348bda16807d55fa5de6"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/gl/firefox-48.0.2.tar.bz2"; locale = "gl"; arch = "linux-i686"; sha512 = "a74a1c2f18c2955f643315bf896d7ad2ca2b0f42c84622244c8ecb448911acb9a8aceb27e15b7f643c95293d7afef625ad7c6b927732e670f811a99287ccce3b"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/gl/firefox-48.0.2.tar.bz2"; locale = "gl"; arch = "linux-x86_64"; sha512 = "51cb84043f5bccb269c39fd7d043445d70a750ebc13fa85d902aabeafdd72d6696eaf0b955a0e040abec44c9134ba6709b67f7b635b80ad45eb78fa5a1013d44"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/gn/firefox-48.0.2.tar.bz2"; locale = "gn"; arch = "linux-i686"; sha512 = "f05f87f4be059f08a874cd28b5eea0a8be071bf548e726f9e14a47f0d96f9d0d9417cebb92919020fd5fc40801e83455a543270d61ce83652909508eac43d5a2"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/gn/firefox-48.0.2.tar.bz2"; locale = "gn"; arch = "linux-x86_64"; sha512 = "29f9a5895df46fb1844e447b1289b791d42b14250f814875afe67873cb00aba43d62175f29debc5d099abb9b0b4050465d2180d25987ec721d747ab46f433f47"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/gu-IN/firefox-48.0.2.tar.bz2"; locale = "gu-IN"; arch = "linux-i686"; sha512 = "b45dcf6d34b54bf69f36f49fd71589257ed6ce039315e50737c2ef4434917fb6b8dac18a4ee903575808d02762282620b9830c564578b87c1d4a5bd5a2234d30"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/gu-IN/firefox-48.0.2.tar.bz2"; locale = "gu-IN"; arch = "linux-x86_64"; sha512 = "efe560a176f13da9995ca59e5b8858d0c7a06c91aeebf361affcbecb0f0de88c977d33b15eb8ec9f80f305000b0ef2b621addf44cfa9ff4fbfb740b937b441f8"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/he/firefox-48.0.2.tar.bz2"; locale = "he"; arch = "linux-i686"; sha512 = "314706b90bfd6ea3c94c28f880284992b0886897a4576c5c55b6bc2b02aa31e7050ccc11af1d5a085633a7fe65dd5fd03a435fc378c64ca5ddaa10ed91853f58"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/he/firefox-48.0.2.tar.bz2"; locale = "he"; arch = "linux-x86_64"; sha512 = "44b716392d79a000732a3ce2737f2367f65d855481c7a0d75f33898812a49abcbe73ed6c57a983035a6628b5f80ecf3921a336e4f45c964a7d52145c71c73b48"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/hi-IN/firefox-48.0.2.tar.bz2"; locale = "hi-IN"; arch = "linux-i686"; sha512 = "03b36a04acfaf4a2e79a0e34368292723aa9aabbb2f4a0f0508dc8a7c7511133d18973ae08fe00b2ea571976ed6acabec44092694fc230c4cdaeee174d6aacb5"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/hi-IN/firefox-48.0.2.tar.bz2"; locale = "hi-IN"; arch = "linux-x86_64"; sha512 = "7d1b3d4e3b33c61d63671f4ec4a36e422c2ae99c192231bfd70d98c68b81a8ea61b0538e8efa47a3ad4b23ba58e405dcdd8044a7403aa1ff241aaf4ab76d4eec"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/hr/firefox-48.0.2.tar.bz2"; locale = "hr"; arch = "linux-i686"; sha512 = "eb445e988d3ad1b009c1a8f92e07aafc38babcc8641c92b161efede4b7079731e72140d609cadf6220bbba23e3146ccabfd7fe875836c962ca4b12f451e8ac00"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/hr/firefox-48.0.2.tar.bz2"; locale = "hr"; arch = "linux-x86_64"; sha512 = "dbb8fa4458a36c403f68642c41c15fbd9cf1e7a703805ebdde827b9bf25752885c0263c1a604f37d0508994513259a2e3719b288fa9ed4d0b563d82e0e5f0dd9"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/hsb/firefox-48.0.2.tar.bz2"; locale = "hsb"; arch = "linux-i686"; sha512 = "e2b7c81ff1c57f1e656169fd206f33660718278468f062e46249b875babc6598857bcfcb884ac658ebe907e745413c82d948d8bf7a0ec34617a55cb0ae90f7e9"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/hsb/firefox-48.0.2.tar.bz2"; locale = "hsb"; arch = "linux-x86_64"; sha512 = "14544652977e0faa49cb5727e283e1e6cf59df14194b67777ee151e37ea68c53ed8efb2b5000233ffe8efa530ca881d4e84a7b5bf281a0f51d8baffb115f11fe"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/hu/firefox-48.0.2.tar.bz2"; locale = "hu"; arch = "linux-i686"; sha512 = "072c40fac3ce476abed251140e71b1c537aa61ba29460bc26a6cbf224a43fd926cd2e690929c108e0437537025fe0a45fdda71fc2ac6637385a0e75678330cf8"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/hu/firefox-48.0.2.tar.bz2"; locale = "hu"; arch = "linux-x86_64"; sha512 = "e9893aaab901d03e9563bf84839577d55942f8d78d1f520388922392d7e7101d7752354816696f6fb1ab77bc2473b0cdaa7b2c62d6412c33c6616353f0b9a984"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/hy-AM/firefox-48.0.2.tar.bz2"; locale = "hy-AM"; arch = "linux-i686"; sha512 = "bd4f2e7a1c9c7ab1558caced2716acd3e0d3441873dc00f1fcef9e20bc2b25e1d3ec3d520a378c3b8fe9bac36a500d745516f16f14aa9b530c9ad940565690f5"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/hy-AM/firefox-48.0.2.tar.bz2"; locale = "hy-AM"; arch = "linux-x86_64"; sha512 = "e36ba4db7706d08d03c84cf3a78c20c60e7e67ebed01943d54b1483ec86e5b2f17dc7a1319c29863e7f6fd3b35ff390d1b462692c06c8ec26c164c0daa251dfb"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/id/firefox-48.0.2.tar.bz2"; locale = "id"; arch = "linux-i686"; sha512 = "61cba41c80783921039ecb5038bc16da52e8191e38b8dd8d276225fe21f6bf1c8628d0e8f15292e02fa07a962ca355d7173f0dce6cd3b2259f87b823d2ce70ca"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/id/firefox-48.0.2.tar.bz2"; locale = "id"; arch = "linux-x86_64"; sha512 = "12ca05a297c65780d1a2df33aec2bed06498db34e98283053b1f7082e96fd83f92d320a8db91d7e4bd44405c21c5d276913f47403da479cacb3a082f6d1e43fa"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/is/firefox-48.0.2.tar.bz2"; locale = "is"; arch = "linux-i686"; sha512 = "7df3200095a8b8b02bbf41f1a160e4557e059e514ffa4ef25c0dc0e274c319677d134cd8d2583e4ec51bed68091ca7cb8b13bf6e26afd682398ed285dc055da7"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/is/firefox-48.0.2.tar.bz2"; locale = "is"; arch = "linux-x86_64"; sha512 = "c55649493a8bd47a9d53ffc8d6c22f741550fc40124f54bce320c96a73316e6c48229e12d0615c48b55e873b3ddddf38320987af5a109db68f53646e3c8206a1"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/it/firefox-48.0.2.tar.bz2"; locale = "it"; arch = "linux-i686"; sha512 = "f42fc4acdb2f30650c62dd8ff440e1def00920a1481f8f008565517bb535459773f8c7a39d7d89edcac91b683f92eeeac41c0c4d4c5d4fbf6d74f66ddf528a07"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/it/firefox-48.0.2.tar.bz2"; locale = "it"; arch = "linux-x86_64"; sha512 = "c7828610404f8bf93f3dde1feaf713e3111a7d3a6db792b013ecfc0dc225782d537d5842ac35af292451a7c5e475407655f246881472575d2912d0c607b52c30"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/ja/firefox-48.0.2.tar.bz2"; locale = "ja"; arch = "linux-i686"; sha512 = "9464f9a33ca3d0fbee32df31d1fe677ff298b21209986db8cc4893ff9414a96b885fa408f36d32c95e68274e2815a77be02c3859754c217874a5d3c0b6d280d6"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/ja/firefox-48.0.2.tar.bz2"; locale = "ja"; arch = "linux-x86_64"; sha512 = "d150ad3102d90bcb755bd91c9960710c64518b7ffa445a6f4e15055a449eb9aeb4203084180cf2234c000dbe98620ac91fc9dc453415cb7e981457c43d08ae4f"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/kk/firefox-48.0.2.tar.bz2"; locale = "kk"; arch = "linux-i686"; sha512 = "d28ad5965aa76f2525164045a06118a289cd543b1b9afd7e0681da4739467858a2c1eaf3a7aab1002c3c18d51a3a5623801d974c0230b78a07a664016d302b33"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/kk/firefox-48.0.2.tar.bz2"; locale = "kk"; arch = "linux-x86_64"; sha512 = "4846ea6f4834cb21b609d1c71b3efbd75bc5a98b63cda04d152c18e0b22ff5980004e01d09aeb83a108ba2c401e655e5b6b2e5ea1a2e9fd707b1bb409c46f3c9"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/km/firefox-48.0.2.tar.bz2"; locale = "km"; arch = "linux-i686"; sha512 = "6d3fca317792c6929e55fc0757f72decbbd2f714f259fe53eeb549d0b85984745dd1177aa15d68bc352a541703d1d3f4983943b03c4d3cdc2edb6e57c1cfc2dc"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/km/firefox-48.0.2.tar.bz2"; locale = "km"; arch = "linux-x86_64"; sha512 = "c719b3631626d57da3d14a1ae356122b3df1f3c92a1633e2f85ecdaed9ac83abf066cd2ea5ce679e6e38dbc1d1f6839e2f3df9ff2f8e217f25bd25900693f47e"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/kn/firefox-48.0.2.tar.bz2"; locale = "kn"; arch = "linux-i686"; sha512 = "76faf5f9b98e4a13a42c71df7411fa51c0b6def1d973970c149b18adfa36b2e2eb14c94e3371d303abb3d0c7e226d9d42b15cb7a77d161fe404a4c567fea01ca"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/kn/firefox-48.0.2.tar.bz2"; locale = "kn"; arch = "linux-x86_64"; sha512 = "a772a4adf418adf933bf82379cc3b69c4f5e426ed63d4d6458a87b005a59070cd035a483718dedb433d9401f4da4dbec70e0a5e920f5046478a1aaa4547547e2"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/ko/firefox-48.0.2.tar.bz2"; locale = "ko"; arch = "linux-i686"; sha512 = "0ada95e8e3367ac30c91be660a037de18c5bb9edaf10d8a078d8c5f37c954717c3e33b710249274faf5e95409f9f67cef28f28d2ab34e452deae4fb66ab01bad"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/ko/firefox-48.0.2.tar.bz2"; locale = "ko"; arch = "linux-x86_64"; sha512 = "dda86dbbd40721ac85c9b8486dd54a33fc5978ca79312cabfeb7700e0fbba809062c3b6be61e6c784c6b479f435d4ab886c2a6788dd115585af9e9f277ba6192"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/lij/firefox-48.0.2.tar.bz2"; locale = "lij"; arch = "linux-i686"; sha512 = "f9053b301331d36710e31fe6d2172a98af5219e9900d60810bb02eaf1f19e6f4db6e0500de6ef6e77acd4705fdb0bc5025e9db52ef44bb79d82c674b53eee6e0"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/lij/firefox-48.0.2.tar.bz2"; locale = "lij"; arch = "linux-x86_64"; sha512 = "63a4b697a1295b92b93d8602abb027be6a07cc58c45ade11957f716d91b3670015901ae6f5a667c4119798f4135c59be128f3c8e97c7ed6dc69b7f2f40c7d58d"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/lt/firefox-48.0.2.tar.bz2"; locale = "lt"; arch = "linux-i686"; sha512 = "77dc96b596e3010cdad83d3ce2b23f075672ddae73999652fbff24c85ef7ec0a749c1793b77eb7d34bb9c8beb6803d97c8ccc84b8f6ec02a8629c895d1a3400f"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/lt/firefox-48.0.2.tar.bz2"; locale = "lt"; arch = "linux-x86_64"; sha512 = "f7252d515e700fae4ffe31219b0135629d50487359947ad2b6d7a61e578b20997b95c4c2a7930b93f1b59ab9262a8b28bcfad22c14fc98029043339e3f2318aa"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/lv/firefox-48.0.2.tar.bz2"; locale = "lv"; arch = "linux-i686"; sha512 = "44d97dc8855004fd91b96155592edd4f6ac9e92257814eae2727df0a4e1df496e1be13fb95c0e2ba6d0e31e8ea12df659317cc5ac8d005322075c9d8d13a67ec"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/lv/firefox-48.0.2.tar.bz2"; locale = "lv"; arch = "linux-x86_64"; sha512 = "1fa86b8f8cfaec70db3c6033276f1b5a943e2065d78754f873c7ca99897f0195e0793bec936d2471b814a90c5a211a9653d8ef5480d64cd1fa9c49d7f8ed34bc"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/mai/firefox-48.0.2.tar.bz2"; locale = "mai"; arch = "linux-i686"; sha512 = "df4e98b7414b58c145e7fe82b78c66c5d8a7fa8dbb34f78b91f9160ce3bb9e22ab065485de15e13d3660186760a9cb3c88403e8955ad092064eaab29f8dfe9b2"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/mai/firefox-48.0.2.tar.bz2"; locale = "mai"; arch = "linux-x86_64"; sha512 = "7bf726777eaa92f4a18107c4be48024cb2a7ae4a3aa9d94cf55a6b0fa46ab7256f097e7f7c610ae1f748c376063b7dd275f03dc7664e86fc738b867671e5d231"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/mk/firefox-48.0.2.tar.bz2"; locale = "mk"; arch = "linux-i686"; sha512 = "7c48c47f916ac8389b5b10bae29d40820b59b3e52fc86b1408c426f4ed662f49243fbe6e7267b17ed3ff9dc179b435fbfa2516dce974972097fb39985039b4e3"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/mk/firefox-48.0.2.tar.bz2"; locale = "mk"; arch = "linux-x86_64"; sha512 = "b184dc34a47a9336190ff0090140b47ca345b9445dfe40133ed08ba30bb9966e1f7b5488a5289ddc4d84cb4de0b7121824ed6570afe857f0da8ebf6ab26a5c4b"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/ml/firefox-48.0.2.tar.bz2"; locale = "ml"; arch = "linux-i686"; sha512 = "cb363c7b01ba9d252375b4f01d9515561bec11d72655730aa7c05d95d8ac4ba58288c64638543bcc48fb36387e6ea4e4604f34616d8b90ea068e09f7bfb8be61"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/ml/firefox-48.0.2.tar.bz2"; locale = "ml"; arch = "linux-x86_64"; sha512 = "789aaaf1495740adbcc4ffc90ffe0e3dd2b7d1822444bea6676bddcad228aaecb0a67916560cac892067383f2faca06b066782e8a40f39928e7cdf2370a3f0f8"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/mr/firefox-48.0.2.tar.bz2"; locale = "mr"; arch = "linux-i686"; sha512 = "d6a45cf0bf37fcf67369bfd9a3e0fd2a3fa4b1538a905e419915d5eaa350f812739de97179f2efcedf5aa2fa0571f555fe4012bd05a39adc331a34bab934808e"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/mr/firefox-48.0.2.tar.bz2"; locale = "mr"; arch = "linux-x86_64"; sha512 = "46bac718bade7205bd307b7c1ec9957d245c18d305f08d9c2263e070128f49d4fb7e4fbd3b1270866a1aeae8e726a21e7befb884af8d86bf323bc6723cc05c63"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/ms/firefox-48.0.2.tar.bz2"; locale = "ms"; arch = "linux-i686"; sha512 = "490fc881444dcdda259719b2545de34b8a3759d6f13a4d66cdd449fb629948bf6ded39576a2ffa53ef6d83ff16854c8c0b8521001ce3f43abf1f35387c8d6191"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/ms/firefox-48.0.2.tar.bz2"; locale = "ms"; arch = "linux-x86_64"; sha512 = "fc4c0588aeec05fdb2d65adadbacb210d04470e9588b3950d2011ab0e667311aed76262888f9870a4ce409370d8ed19b3d481437bef72960b151f76d0eb7ecb4"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/nb-NO/firefox-48.0.2.tar.bz2"; locale = "nb-NO"; arch = "linux-i686"; sha512 = "d75931b47ede66d7c5025c4fabfdd918f21b0f66a9d8c2a5e772d3d26d941926da4f0852ac8dab92dc9236a0aec4b5cc1eadf5132d00721a91676cff1d7076cb"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/nb-NO/firefox-48.0.2.tar.bz2"; locale = "nb-NO"; arch = "linux-x86_64"; sha512 = "e42a91e469b87235a8deed1e4564899287dd568d0ae93ebe139d499d9d5f59aafc327178a86f36f5f44d90ffb404907c80643f00f1160014708f061afe1e17a6"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/nl/firefox-48.0.2.tar.bz2"; locale = "nl"; arch = "linux-i686"; sha512 = "e0dbe6187eadcf305546f2916c8d21c6ae6dfa634aa30b51002a8d2ddda412cb35fd2c6cf5a44ab42c9805ec3a6c3322132e5121b04476935d7f67d30291011f"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/nl/firefox-48.0.2.tar.bz2"; locale = "nl"; arch = "linux-x86_64"; sha512 = "56b674761390018c7bbfdc8523b0ccef1d66576478cee43a6464d6df3e0da741ed9775e7ab48abf57028f62f43d91d8a0e7b17a8ce301c87ee576f9daaceb1f5"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/nn-NO/firefox-48.0.2.tar.bz2"; locale = "nn-NO"; arch = "linux-i686"; sha512 = "a18693969b1d3f8824ecdc705c3b577dc1288cd5ba47ca0e3cd8e88d0a5a01927f87e56a2beff62d3ca9e6aa325619221f2f134c8c95b0687a49bc0f2cfc2ada"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/nn-NO/firefox-48.0.2.tar.bz2"; locale = "nn-NO"; arch = "linux-x86_64"; sha512 = "73874b50e63de07f73de2feac7a907dfb4e0eb014d913ea433c2f7d3ce9050b8ba811b72884ff7129a149ee38a30603246aaa55d81f11bb80e9fdfff87ba9120"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/or/firefox-48.0.2.tar.bz2"; locale = "or"; arch = "linux-i686"; sha512 = "de8dc3c4b91e96c5e49b32197e1351717cd1b359ba3802c9f0fd39516f25d4df7a9a57b4d4058d32e1d31af3c0ca8e1a8fd3fb4edbdb9718dc51f0881499bb0e"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/or/firefox-48.0.2.tar.bz2"; locale = "or"; arch = "linux-x86_64"; sha512 = "999a71a5f978e2cf507966ac465ae170b4c01602c703b7ee85fa02224c8edb0f789d35bb0a20a5f72c86782a95943e9f8f4bfca301fd74ecc7f063f35bfe1f4c"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/pa-IN/firefox-48.0.2.tar.bz2"; locale = "pa-IN"; arch = "linux-i686"; sha512 = "7378012baf763bdab21238f306244be208c20ade796cb15e2801133f0ac8b00cd92a86403d9591d5c2af94ea6fafd7162953ce88b5e9148fd447118128b2398f"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/pa-IN/firefox-48.0.2.tar.bz2"; locale = "pa-IN"; arch = "linux-x86_64"; sha512 = "b20490e7303aeecb8d7b158464dd1a4f4b70979d74d0c4f2f15661abd0403dacb4674ea1bc2a09ce5b04ebed2987eab4475e839786e63dfb2f1eedfc44ec021c"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/pl/firefox-48.0.2.tar.bz2"; locale = "pl"; arch = "linux-i686"; sha512 = "e0cf99f816eeca80e7f2a5344b11202be124e1fa1f7a2c206ffb5c349556e0a2d5a7a3c653538bbb867c0a4d19eb9126c947806e0f021b68a9268d1913a178c3"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/pl/firefox-48.0.2.tar.bz2"; locale = "pl"; arch = "linux-x86_64"; sha512 = "fe27c64b344f6d02e09e240f1a8c45236c9632c2ea9422ede227ef4c1890bb81c049a8c320e4a53cc818c129927e289f8279a64cf15655563958af23b4ca7076"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/pt-BR/firefox-48.0.2.tar.bz2"; locale = "pt-BR"; arch = "linux-i686"; sha512 = "868461b1d4d971ae4af0010bffa03012940758fd5ae10c05045c77fd5bd0f50997775a1c390f1cdc553197eceb583de47659ce84055145a290ca81e6e66a0a36"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/pt-BR/firefox-48.0.2.tar.bz2"; locale = "pt-BR"; arch = "linux-x86_64"; sha512 = "ff50b389d0c653db38a4ab8bf3b28095ca81b30340e973315bfccedfc737e9e853711d813fb08c52178e9948f49f7ec1bf7ae7958d611c1998fe938a9478b657"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/pt-PT/firefox-48.0.2.tar.bz2"; locale = "pt-PT"; arch = "linux-i686"; sha512 = "6a786c014c60268c8d24ca99e40106571fcc1777afef117a0125f7a78658f41cdcab4b16bfc2dd4c7ee520af0753b0b4180fcdcf32eaca8dfec7975146a08a60"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/pt-PT/firefox-48.0.2.tar.bz2"; locale = "pt-PT"; arch = "linux-x86_64"; sha512 = "56e911a6b2839a10c3d06b76bcdf0b746fb45fa0ced80c466d240a31cf7e6aba6df21b98dec1a4d3bf11baba2f530dbf06d1f94706b622acd2b08f2b2ef9ebf4"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/rm/firefox-48.0.2.tar.bz2"; locale = "rm"; arch = "linux-i686"; sha512 = "88fe9ad3d7afc11e195f40ec0bddb4ab5e04446e08f9317f82733e32e536d32b2a68a1ebb235f8cca828555c4b315911dbba178159f12f8bb2cad64a8a44511a"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/rm/firefox-48.0.2.tar.bz2"; locale = "rm"; arch = "linux-x86_64"; sha512 = "5153adba79e65368d1e901dc557d311b637d8e9b0506ba979246bd1ab6d5e31e2d885a73be704488457e051e81467412bd45a6c74d30e20198d9309f6ce59dd6"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/ro/firefox-48.0.2.tar.bz2"; locale = "ro"; arch = "linux-i686"; sha512 = "faea58185a6bf7d57134b218a058ed4a3abf4d51dec96a5f5dde0f04daf2a2c8c76846bef8b8b43ed7fce05b4c6431fad52ee61f4e47ad62be95ef8b8914a726"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/ro/firefox-48.0.2.tar.bz2"; locale = "ro"; arch = "linux-x86_64"; sha512 = "319792a258e2ba40cceeabf5b0879c2572811484046bf34fa04b213c083391de20da1bcdb654294ac961a8b818f0c9c9287f32948e65eb50f3a85f43b15e538b"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/ru/firefox-48.0.2.tar.bz2"; locale = "ru"; arch = "linux-i686"; sha512 = "ec44f3a0d95beaebf99e9492c7457ecf3857899d4587e8d27ecbd2205d5b4a1c1d0159f471ccdff01b5d9efdeda9dcdf28bb84bbd12c73e676ea0baeafe0afbf"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/ru/firefox-48.0.2.tar.bz2"; locale = "ru"; arch = "linux-x86_64"; sha512 = "3525382dcd7b2ee2f3ce847245216c0b8925679d539ef2f83e43d9062be06724db6f66b9b4747f3e20c5e7355e4b6ecabd816c07f201f2afe921570905cd0a3f"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/si/firefox-48.0.2.tar.bz2"; locale = "si"; arch = "linux-i686"; sha512 = "6cb64f9fa85fe4adddaf68f0a221da8b2dd92625b2302102ad530c15d51c6ca1994ba53a300ab1c054da1fc20c5073deb308a46060ee6d7ab6ca843a930a6138"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/si/firefox-48.0.2.tar.bz2"; locale = "si"; arch = "linux-x86_64"; sha512 = "499dd5b16a48ecca536379fec41fc9ebefc71ae12963bac44dd0d76014709e2ab219869f3b3fb08f5196b051ec8a7e519fb994b15613559b38b35c4e6d8bbfcc"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/sk/firefox-48.0.2.tar.bz2"; locale = "sk"; arch = "linux-i686"; sha512 = "11a73be8c2f801be0a46831b81980c2a9b2b9a4a645a710d01fb0d9a8e2de91ee18ea57c23b73b25e091bf88b15351a8fa261c349e9768d200172ea053e5c465"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/sk/firefox-48.0.2.tar.bz2"; locale = "sk"; arch = "linux-x86_64"; sha512 = "07e1462282e2484b58ba6b413034081a3e99ac907d7285f207530cb46d6ee61a6b166bb9d8820ca696789b57a0dcc3c1dc058975688d06b63b32f8a7a65974d2"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/sl/firefox-48.0.2.tar.bz2"; locale = "sl"; arch = "linux-i686"; sha512 = "64d0b5cfefc8e98c8ede5497164be13854334f72d1e526a08d43d6712e6286ae509347805e9329cb38bb8f4708615d51e56221309198071c0b6ecd6c7dfdfbb5"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/sl/firefox-48.0.2.tar.bz2"; locale = "sl"; arch = "linux-x86_64"; sha512 = "d6e727ca07084eefc02b2287a286daf6302ea0cc3c8fcc22f238ce2c9074e95c0ec031068acdeb34277786670a91faf85027c9ae5acb963d150b1a89e534f98f"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/son/firefox-48.0.2.tar.bz2"; locale = "son"; arch = "linux-i686"; sha512 = "9ac81b861b81d7cd4e9e71b6cf72a1bd8469c8190371b93b41034596148d831ef7f231b84de9cb8e520d7e3e92e83fdaf2290bca5e9c578ade17e0dfab41293a"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/son/firefox-48.0.2.tar.bz2"; locale = "son"; arch = "linux-x86_64"; sha512 = "9759f52732b9a84b8c6b3237356b0ec1c2aa0a2a1db79164cee491e761a9e10d88e931f73a5bbf0b7ed184738c44d12e542903577e1f0811f823853d43daf2d4"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/sq/firefox-48.0.2.tar.bz2"; locale = "sq"; arch = "linux-i686"; sha512 = "c7bc8ec81124127735d49d74bb12b77de24a5a851c34c3728adc752596e04c6b1ebeaf1a361fbca36631135cd9e385664adaef4d3c76ecea4d41cf88d7b6adfd"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/sq/firefox-48.0.2.tar.bz2"; locale = "sq"; arch = "linux-x86_64"; sha512 = "aa7b7c20f372f23d507aa7bfd088b2d2306b267a3cbf1b0004400d29b96187d9ea74a77933b9dcc42ef081d7dcb8db56b397d37ff001c61bed22976a6435d3b8"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/sr/firefox-48.0.2.tar.bz2"; locale = "sr"; arch = "linux-i686"; sha512 = "cdef642d72e3c3e33c1e2cfb8a5005249719390ce732b06ffeb15b01a77539263605fd8657ac8cbe8acfa2c92b2e1c0dd2168728ae2578e25453d6d79c06a17b"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/sr/firefox-48.0.2.tar.bz2"; locale = "sr"; arch = "linux-x86_64"; sha512 = "f12bbabaefb8811d3babe7b3673fd7f281645bb8bba0372594cca4fee4e0b81afedf46378fef714c1e624ede6039c913f66bb227a2d076a6950a0e623606adad"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/sv-SE/firefox-48.0.2.tar.bz2"; locale = "sv-SE"; arch = "linux-i686"; sha512 = "dac4342478d5a8e2743c6cbb44f58774be0b9bb96d9ec7a94b4ef41d093e76a511ff914d323ee5aa55cd8a00292c477e41eb0bb9fe37cfd91c89fae432a661b7"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/sv-SE/firefox-48.0.2.tar.bz2"; locale = "sv-SE"; arch = "linux-x86_64"; sha512 = "44323f6ff400058dad98f2e7a2f82afd52d706fecd34e7a6dd1780f45b6af77d2f6e892e2aa33784e4624f40ec5251e494ad0b8f95bbc11351dca94c599b405f"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/ta/firefox-48.0.2.tar.bz2"; locale = "ta"; arch = "linux-i686"; sha512 = "cac58900c6d169d1ef3828b4627c36c86224e21a011141c8bbf9fd3df3ea3bcddb5ba821d7d8ac9f5e6f5e348d1ae3cd92cbf2c151d380c22cb925f595cb637e"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/ta/firefox-48.0.2.tar.bz2"; locale = "ta"; arch = "linux-x86_64"; sha512 = "38fba18d8edc2a4fd614a39b77aeeafeafea98e1dbc3bc2863284bbc2b7b07d28b273da9e3fa0bcabac90bd8049dc295db3d28e0dd0f1f522bb496f06d7e7c5d"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/te/firefox-48.0.2.tar.bz2"; locale = "te"; arch = "linux-i686"; sha512 = "25adccb31523a1159fa9022791198869d87c8ef44deb8e3d7626a2500ddd82fa977d3c294d755b7e0385eb4dc80e00067091da78c65ece26e45b3ab9f2a4676c"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/te/firefox-48.0.2.tar.bz2"; locale = "te"; arch = "linux-x86_64"; sha512 = "550ba329d8c968fda79d0dbc7291f83bfd66227ba60a79c697cfb29a81216d3323853a651e401a0a8d02c658093330470b42bc0b91f4e27bcde368b33072ed8f"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/th/firefox-48.0.2.tar.bz2"; locale = "th"; arch = "linux-i686"; sha512 = "a41abdaa15a97e55e0062a9f114a80bdc0e750112c15fe7204124aa1f9e54ad3caa1515caf145cf5e5269f41d1b32d8a0c2fa6691612e1b36fbcbc685ba17f79"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/th/firefox-48.0.2.tar.bz2"; locale = "th"; arch = "linux-x86_64"; sha512 = "ecd440389c07042aaf7aad74a135562eaf60c23f840bea0b9b3b62438610c0adf8de1c2ca57ab700f70913ee498317d92fd1c00f92d1af5d6d50a95c15d9bf72"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/tr/firefox-48.0.2.tar.bz2"; locale = "tr"; arch = "linux-i686"; sha512 = "06b828afd3c9a89aaa448d9a8e18579142cf19d0008c409e115bb0148c4cb298eb2e896bdf20f3593f5f873489eb9b701104643d6088218c98e7b2ed44a6a775"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/tr/firefox-48.0.2.tar.bz2"; locale = "tr"; arch = "linux-x86_64"; sha512 = "3107986002dd0b05fc10de856a532c40d5c38291bfbea07948b2c4fefe9cc2d4f5d8567b0e9856ec7fbbc7004078bc485a572b1a1dacf444db5c71aa7684edc6"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/uk/firefox-48.0.2.tar.bz2"; locale = "uk"; arch = "linux-i686"; sha512 = "9e6d5854a468c5ecc942735c89d740fc8e304053f6e07a9caa3960dbf95e4cb9a6c7c0dd2e9e951bb49314c4cf0385a5a99ad7df6700ba21b9816f6aa3c77689"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/uk/firefox-48.0.2.tar.bz2"; locale = "uk"; arch = "linux-x86_64"; sha512 = "ef021c365d2ef8d2eeaa6a92ac5d9d979361de30e2de06c7442f2085d66719a9fa876f77393737778f5b8afa29cff1898a0ac638df2e45b6c54e0c25c7c9b2b2"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/uz/firefox-48.0.2.tar.bz2"; locale = "uz"; arch = "linux-i686"; sha512 = "d15770f8b6db9f55ecaff13d27a0c2559c032870873930c420fcd2d94c79ef3853138e42fe4205b5ac8af33aafcd6b2130c712025ef49801717b153e416058bc"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/uz/firefox-48.0.2.tar.bz2"; locale = "uz"; arch = "linux-x86_64"; sha512 = "4b47c53585f3ed44d80d0099596ab710dc6565499c2f9ce0ed38ac24274882d5bdab16260c4c67c73b1b93b4fe9a8ceb0ca135b2d432fdae28c91025d1cb2e9d"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/vi/firefox-48.0.2.tar.bz2"; locale = "vi"; arch = "linux-i686"; sha512 = "2d2dfc0c5515dac6bbc337acb41d72aad101837caa75257a1e369991ca93dac0bbc4cc3b31c8457f76ccba18afc9751eba33b9f602777a65d65da5ce0c208858"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/vi/firefox-48.0.2.tar.bz2"; locale = "vi"; arch = "linux-x86_64"; sha512 = "7afafaee8de0e47d8e9919bb60da7cd361b18ee15b764522d9609e44e1aeac3ca8b5ffa97c23430a66efc4f38c28a5ffdc05bb4a46734ad2e3388f587b16110f"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/xh/firefox-48.0.2.tar.bz2"; locale = "xh"; arch = "linux-i686"; sha512 = "b86ceb71c96d19e92af81604925b005eef63c7a55ce5fd9c1176017c9938389c30a5d91134c3d900a4a0635dcad7b25233f39848f9b50fee4e1ca1520dcf2c95"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/xh/firefox-48.0.2.tar.bz2"; locale = "xh"; arch = "linux-x86_64"; sha512 = "c6ed1a65b72d6d63b4c031da93fa1e07cca97027d2a3dedc15e9cd2ffc21b371236e1b2cdeae02534e37c7efe6112cdbce0e5924e872c76e057cd59445ceef04"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/zh-CN/firefox-48.0.2.tar.bz2"; locale = "zh-CN"; arch = "linux-i686"; sha512 = "90ea550631d4b3a314b56896d1eeff147e42e41667a94f6457fd18cd2c4bf0e18ca3134e4dc20696a2a30ad9795cfeb454908cb99c580b30bd5eb147e53004cb"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/zh-CN/firefox-48.0.2.tar.bz2"; locale = "zh-CN"; arch = "linux-x86_64"; sha512 = "3ef020131a05958aff64d5d313aa8bcb92801d1ea0215406532efa55cbc66291d976e7aaa9bb11b38d35634d3e2ead7f838a7d908066e0b36b65d41767d38583"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/zh-TW/firefox-48.0.2.tar.bz2"; locale = "zh-TW"; arch = "linux-i686"; sha512 = "8725261467ff069d523d6e813ca04a8912a21df2fada21cfc8c9442aada3a882fbab7468fed376a2a16be121caf68e74de21fffbd1b9345bd68923dffa2c4a31"; } - { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/zh-TW/firefox-48.0.2.tar.bz2"; locale = "zh-TW"; arch = "linux-x86_64"; sha512 = "172fe85c404b8ae7e073e11953a74896a07238c89077fc487be2dbb52a43fa183dd1ec17fb43971b2ada95c8c85a6aeb2b5bd9b637f0de8a3322a57b18783255"; } - ]; + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/ach/firefox-50.1.0.tar.bz2"; + locale = "ach"; + arch = "linux-x86_64"; + sha512 = "fb941dda8a38f2e8474b4c1b235b4d3b2364a3e4b70f929cb40a6bc96a8859a830b072a0b3bb03bf7d551bec6eb0c46e41a93f7ebf4fb73a21949b824ab09084"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/af/firefox-50.1.0.tar.bz2"; + locale = "af"; + arch = "linux-x86_64"; + sha512 = "9ca21be569db94f528dd74ae269e9a0929f9a73b399ad619066c45f38fdd04b511fd8126bcbdca7ad0d6aeb7ec82d597287ef168c04fe1c7a47d9dd4fec3674c"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/an/firefox-50.1.0.tar.bz2"; + locale = "an"; + arch = "linux-x86_64"; + sha512 = "1899bd8140e847c6458b23bb0652bcfbc3cc1a6a9520ea10546d6b2f6719715f18ef5e79af07b68fe2cb5f50bb7f7c85376f17081478990a7ba907c45a31cc95"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/ar/firefox-50.1.0.tar.bz2"; + locale = "ar"; + arch = "linux-x86_64"; + sha512 = "d3c5e6c263ed1a0cbd535279d03a446ed6e59471c7949d381265056e7dc6bcb7df4abbdc13601b7b681185f66219676a6662e217510a13136d89dbdd6f8460a2"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/as/firefox-50.1.0.tar.bz2"; + locale = "as"; + arch = "linux-x86_64"; + sha512 = "3b0112c8830fd9e90301efaff5d8414cc3edac9382947520ab1c283ebc4dd897ccc3102d12d35eee60fefbdd13329a02f056375fced5bf45a51895a7abeb48b6"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/ast/firefox-50.1.0.tar.bz2"; + locale = "ast"; + arch = "linux-x86_64"; + sha512 = "b036544990cc08fc0588730780fefe9bda82fa1ffe53b0d7cc0cce60f5fbaba261fbeb6117ecc4b18985751572a5c08f8cc30e9b35291841694a180e0d5e75c5"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/az/firefox-50.1.0.tar.bz2"; + locale = "az"; + arch = "linux-x86_64"; + sha512 = "4beacaf3cf371bf7226095916f3e0c8f4941e32dc2ee6b25368cee6569dd102131cff4fef53f9ce88706172e838dc0a916bc741ae22bbf3eabe293fde3350e67"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/be/firefox-50.1.0.tar.bz2"; + locale = "be"; + arch = "linux-x86_64"; + sha512 = "e249554f4ed1f1434b3c0b51736c9739817f39db8afd70cf60a7e3ce5a78dc6a23ae903b991f342bdb93b4324c5c5309bec4e84313beb5af94d887249619fa79"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/bg/firefox-50.1.0.tar.bz2"; + locale = "bg"; + arch = "linux-x86_64"; + sha512 = "cc4ecea41635b921a652684d7bf10f2e200aacb0c18e50a95f0412c049db26042c0cfbf6d40fabd3db5aedd7ffdca4633827b5f17a27b56766b372420536b593"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/bn-BD/firefox-50.1.0.tar.bz2"; + locale = "bn-BD"; + arch = "linux-x86_64"; + sha512 = "75483d1f7a5bf3fe54de817222f78aecd4621cd1a53c330cda74348ca6569bfe3bac6b60d628abe4632c0e68b9a9e6f0c24b69bb3ac09e52023ee352190d1cf3"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/bn-IN/firefox-50.1.0.tar.bz2"; + locale = "bn-IN"; + arch = "linux-x86_64"; + sha512 = "5b378bc2874cc2fd0f3c739048c894670ed7dfb6e0f37e7de324261c5ed62bc75e62a26a1b2b4392858d86bf2314534841eb8676aeb0bd0e4ce6c23432b4b4a8"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/br/firefox-50.1.0.tar.bz2"; + locale = "br"; + arch = "linux-x86_64"; + sha512 = "eb33bf820530e267a5b5c322951563cf66c886bd71f30d6aa8cc43a2a9b16b6e58d207648b68fb1f2c0d1fd645aba6292c6d8674a3fef7c23f3d2ef706973ab9"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/bs/firefox-50.1.0.tar.bz2"; + locale = "bs"; + arch = "linux-x86_64"; + sha512 = "aaa4221204b3f736e31fee50c30e73a919066f8cd1f25bf4fc42532edd0a87c557a10f11e275e8b8d2396fe876b8859760d952a311caf0bdfd967e813144b86b"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/ca/firefox-50.1.0.tar.bz2"; + locale = "ca"; + arch = "linux-x86_64"; + sha512 = "e98b08fb0cd937375fd7473617fd234659fdd08d1299f0792efb9757b356447c479335bea765b0fad902d3b055569fe491a30b73d3f1c3d32c76c3cd1e621ab8"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/cak/firefox-50.1.0.tar.bz2"; + locale = "cak"; + arch = "linux-x86_64"; + sha512 = "e8a5ec70d52574929edfe93064f03d254e894a790093b2ae86d3f34376db646366a6970d06eaf3f3fe5cfdc89a8f11d0c289061f41d66d7602c0a841cf589428"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/cs/firefox-50.1.0.tar.bz2"; + locale = "cs"; + arch = "linux-x86_64"; + sha512 = "3b5e7ea9571eb8ec0f66ca9d062405e3efa874cfa6d39bc455a14f1f25ce1923b276272deda191ddec085d52042ca8cb633e89a8e908ecc428b0d8c3877b08cc"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/cy/firefox-50.1.0.tar.bz2"; + locale = "cy"; + arch = "linux-x86_64"; + sha512 = "78b0e26cdff7f123c6ed3721066ad7f5e9f55d0aee5d1c87c12927ae87fadb8f3e1021193134a83fe5c23c62c68cd9536151999c1ed66a885e12a4dcb4b12fb0"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/da/firefox-50.1.0.tar.bz2"; + locale = "da"; + arch = "linux-x86_64"; + sha512 = "de0f78b0d69c292c482edde52f728df7c3d865f31b8b9633d4ca5a66b4fc5f272402a0715baf5efcf14eba683f8ff633c172a5a198906991ff1735db128816b3"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/de/firefox-50.1.0.tar.bz2"; + locale = "de"; + arch = "linux-x86_64"; + sha512 = "f95e36a8393d233409b1c3ae6b56b08fbc44d4603bc932cbdd1897650d1528f57cade92b1b1cf3717191c95db54380ba3c11fbb46b25c14a514e0a00fa5b2a3a"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/dsb/firefox-50.1.0.tar.bz2"; + locale = "dsb"; + arch = "linux-x86_64"; + sha512 = "a06f9172490ac731f06701fb7f8414438c1e520bbe5669e8dae54697dc9cc3aa03837ee8f84dd1b69751a4e8d82b34f88ef3c43a37ad9fe6e0c8b1afd18956d1"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/el/firefox-50.1.0.tar.bz2"; + locale = "el"; + arch = "linux-x86_64"; + sha512 = "78e4a2fc29487347eea47069e022f13482925ce15f37918455a96eb68fed50152ef6a9a93773c4acb680957eded79c0b20883d86f87ac28895d61d777dc07cdd"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/en-GB/firefox-50.1.0.tar.bz2"; + locale = "en-GB"; + arch = "linux-x86_64"; + sha512 = "53deaf16fefcb954b34ce8577d0ff40d2d497c591765a16c7befa6ded348eb997e1523e873775a52a74e47c41ff06cbad3c612722036b6dce538d768d1659886"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/en-US/firefox-50.1.0.tar.bz2"; + locale = "en-US"; + arch = "linux-x86_64"; + sha512 = "f81b63d9737c672958674096a69c941351caa335d481dbe39ebbe051153f0680f2d3ab4832267eb27ede36b8ce8242e43374ebb49d5cd3a0c44a813efa8c7a22"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/en-ZA/firefox-50.1.0.tar.bz2"; + locale = "en-ZA"; + arch = "linux-x86_64"; + sha512 = "6e1247ccce230fd044f0fbc64deb345b7d82cd347595fee084b8ccedaf31071b992b988346a8bfc5e5af8a2706a47b7e4ce2681e67a11098eefb7895a73bcdd0"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/eo/firefox-50.1.0.tar.bz2"; + locale = "eo"; + arch = "linux-x86_64"; + sha512 = "c27c51252c8312f4280dcedb94906296c52c96c26dcfa21fa392c80b0d1277b8d7507daca312c69192cfd6fa70273f66a3319788bc3ae8b8e835af365f3e8fbc"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/es-AR/firefox-50.1.0.tar.bz2"; + locale = "es-AR"; + arch = "linux-x86_64"; + sha512 = "ece5c060bbc1809a5609dffbc477ad215245eef1e341232d2516859f1f15959d117e2728605ac57bc94fd6ff6a5b85a892275552ac0b006783d4a1d0f02fa26b"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/es-CL/firefox-50.1.0.tar.bz2"; + locale = "es-CL"; + arch = "linux-x86_64"; + sha512 = "2df20afb64fa6d25678bb6dd91f7c042c754aa241af4e3f728d54526edc342b4e6e591d8586e9cfbcde5baeb932e092c00feabe5e3eff1f00e5065a80f0fd097"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/es-ES/firefox-50.1.0.tar.bz2"; + locale = "es-ES"; + arch = "linux-x86_64"; + sha512 = "5b9af2b2664caeaa574ca92d4a63cd0a86a70278f63596e6a7fef0cab3fa4dd22d1c00408e067080979d9b9017f2edd9a3e1e22b3a75710017ef94bb1ba82bb4"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/es-MX/firefox-50.1.0.tar.bz2"; + locale = "es-MX"; + arch = "linux-x86_64"; + sha512 = "610462c6841615e2241a3edde60333fe3ada9897dc7ec8bfeb1771025a5f9aa0acf9fded1459938c70c7fb478f659817606a133af4b38019a3dfcc7fd3b3f9dd"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/et/firefox-50.1.0.tar.bz2"; + locale = "et"; + arch = "linux-x86_64"; + sha512 = "2fa4a1683102849ef33c7a149b7628a3c783ee2466d733b328fb8ea4e1ba96917b128a00ad9a8fb75cec181b0208635667bc16d959b28ac1a4af7c96af10e07a"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/eu/firefox-50.1.0.tar.bz2"; + locale = "eu"; + arch = "linux-x86_64"; + sha512 = "0b53f26346f16dc06478bad62a0191fb2c9c9fdf2864e0d5332540eaa81a4c22b0492128df5c8d7eea9d122482986b3f97837538436730b4ddfcd1c02098d1ed"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/fa/firefox-50.1.0.tar.bz2"; + locale = "fa"; + arch = "linux-x86_64"; + sha512 = "6e6d92624e89214a4110bfdfa181e46847759bb0735e18ca0fcd4b9e333b40b91f8ca48e271b3d1ff4fadc05cfce9824435dbc429f56dfecb6d98e48ea0a31ca"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/ff/firefox-50.1.0.tar.bz2"; + locale = "ff"; + arch = "linux-x86_64"; + sha512 = "59865504f50aa5e5aa2bfafa1159623dd54b91e3cbcc0cd76ae84e8da063e6db11e2594b9448e5ee75fdd15188c5ba9daf335eafa13601ad942e8f6f4d2bca26"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/fi/firefox-50.1.0.tar.bz2"; + locale = "fi"; + arch = "linux-x86_64"; + sha512 = "6e07761ce3aa5e42bf887ff13a35619e3e20209b94ed890b505c1f0fd79712a2daeab53ea344378c18f6f05c4673e1f146e8f6a44d325ba387ea6967188357cd"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/fr/firefox-50.1.0.tar.bz2"; + locale = "fr"; + arch = "linux-x86_64"; + sha512 = "0abd50bc0a7d5a79b98900cbeff95827c46dc53163ee6cc9220f234049ec43c09bbb8a283c54a1a41387be8d0ac761fd9e215d37ad234a0bdd088b07e339757b"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/fy-NL/firefox-50.1.0.tar.bz2"; + locale = "fy-NL"; + arch = "linux-x86_64"; + sha512 = "2a272b160a2cde4d27f3f3da7a1d6600f4b78af11ecfcfdb3f3596d6a4a1f56b19cec7fee1066afea050b951e1eb7f3245dae28b0a91ac4110010c122609dd58"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/ga-IE/firefox-50.1.0.tar.bz2"; + locale = "ga-IE"; + arch = "linux-x86_64"; + sha512 = "730f2c608d9770e2e4c154d6f1ec223290018d2412a1a6103245a71ef17876cf304acbb16e11915cb2e3564c08099a9207839dc8caeb0553cfdcbb869f6cb09c"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/gd/firefox-50.1.0.tar.bz2"; + locale = "gd"; + arch = "linux-x86_64"; + sha512 = "cde56f2453d780a9d0debcc012e9a139d61c1d78fcb2a4a7823982321fd65ffe6b538fbaa7a0e5dd69db6f1f3139e5386bd6e02ca5c065510a936fe35583872b"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/gl/firefox-50.1.0.tar.bz2"; + locale = "gl"; + arch = "linux-x86_64"; + sha512 = "161ee7b027f64698c30bc5147599853c4fa6b8f8629d33e4f11380cf4431835489e834cc3a7b42a676d9da6d6231e1e1bdc5f81f410ccf8f55f33c5ec3e07b32"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/gn/firefox-50.1.0.tar.bz2"; + locale = "gn"; + arch = "linux-x86_64"; + sha512 = "b4637e7727bc726acf3c1aff2c199fef896eb98f95a04b5b899b9800d0fa2cc6b23ae0c7b5a5acb591e49b03dcab22ef73840f129d9e82dc49e5636234fa570e"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/gu-IN/firefox-50.1.0.tar.bz2"; + locale = "gu-IN"; + arch = "linux-x86_64"; + sha512 = "b8028122a8132110fb951175d51d07c685c212cc56128788c75bd0c0d21452752e4fd03e6345d80806c8babffeed04f7cdc89b1b338f7d56e539b847c0da7f72"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/he/firefox-50.1.0.tar.bz2"; + locale = "he"; + arch = "linux-x86_64"; + sha512 = "57adfc574ca5160ca5f95f98c76542109dacef231ad8cbcd4c75467bb599e922d6590cb3214f4e4946a947b36e6130b25f12cf4c641b2ca91a36aab5e8489426"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/hi-IN/firefox-50.1.0.tar.bz2"; + locale = "hi-IN"; + arch = "linux-x86_64"; + sha512 = "3a71226d56c373663401d144388d5c74e583ae34b4d05bb444703426991162392e338f11e993707a83943c0fe85b8a5192099b932afa03b9d3ff6a17903b1271"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/hr/firefox-50.1.0.tar.bz2"; + locale = "hr"; + arch = "linux-x86_64"; + sha512 = "f919ce865004a64bcfd834475917ba24c1bfe0bf573e578984199085c073abcfce38b4e838d684f4cdf5bbc2408f84758df9f81345da6e0824f290ad311dc6c3"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/hsb/firefox-50.1.0.tar.bz2"; + locale = "hsb"; + arch = "linux-x86_64"; + sha512 = "4641225b3dcf328dfbe12af68698a4504d0882c1029a36aa617f57ddf11e0edd9cd10add1d887d2154a59e6fa60bb8b13bc185529df166c72195200ef94a5dd4"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/hu/firefox-50.1.0.tar.bz2"; + locale = "hu"; + arch = "linux-x86_64"; + sha512 = "1f34d1d52d28413a46d5f9efa8d8067c41ec5af861f9fca49a5b59f03e6e325455883a2ee4f9c5e3629d7a61a3f1106f24b4bf4f9a75e6659cad4ec511024ce7"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/hy-AM/firefox-50.1.0.tar.bz2"; + locale = "hy-AM"; + arch = "linux-x86_64"; + sha512 = "926a0a1e036303c53fb0a5c65ec2a0285d562c86eb7396f84fa5926a3b9e67ea7872af6d8d436322ca5a939d1626adad80230abfecdeefd51d5cb3b27e16cd5e"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/id/firefox-50.1.0.tar.bz2"; + locale = "id"; + arch = "linux-x86_64"; + sha512 = "f3389014409d143a35c66d57974a77d1d811c3ff9d47f6f13b7c40c0f24154d42bb7e4908589de21b3430d44a108f3765792f7573c78e510292d824f96cc77e4"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/is/firefox-50.1.0.tar.bz2"; + locale = "is"; + arch = "linux-x86_64"; + sha512 = "58f320b32ba9a83a6a8a4f4d108c3bd87a4879da7205dfae59b24a3550e0bb90917b431b15a18e38da0d702ee8f2c8756179ea07082ff6e0aeae9f51a3820246"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/it/firefox-50.1.0.tar.bz2"; + locale = "it"; + arch = "linux-x86_64"; + sha512 = "60acfa5b847b5390fb5b733f4a35a0a9c426c4126c53f517eae3e6fea3c6c7c88092063ae0d5d3be05a1dfbab32a1e392aff7f18c6566f827cdc6d21b0e22c7f"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/ja/firefox-50.1.0.tar.bz2"; + locale = "ja"; + arch = "linux-x86_64"; + sha512 = "3d668102a2f56547b49add2dacbfa1a8ac285007d47585325002cf4250465dae809b50ff1d1d13dcd3f05ce6afaf76b607a696004e60d33caf52d2d531297550"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/kk/firefox-50.1.0.tar.bz2"; + locale = "kk"; + arch = "linux-x86_64"; + sha512 = "c35217a07255fcac9bdbfb52777bae3609c22984733297722c62b8391350fe2d68bea20b542d6d2d7f55fc18aa662da226bf83a62e0017c315b92eb460021cac"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/km/firefox-50.1.0.tar.bz2"; + locale = "km"; + arch = "linux-x86_64"; + sha512 = "fab7429671c3b866ddb7fd0d25101a4a83c6a1ee3822a57517b9c6288e35f6a4339f5a42d93f865a9c6ddf1a9bb5e2e23d8458b39acc34bc2701d68522feef03"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/kn/firefox-50.1.0.tar.bz2"; + locale = "kn"; + arch = "linux-x86_64"; + sha512 = "2ea7a6094ad8f9b8179028820d79d003f5c04e9bd223fd2df19c7b5daa08ba631176775e9586c7507291aa34fc1c39510bd8851b1fd9a7a08c1786f689949839"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/ko/firefox-50.1.0.tar.bz2"; + locale = "ko"; + arch = "linux-x86_64"; + sha512 = "701a0873b860c62d18ab778d1b0e5c3719cd3e6b49ca37083983f9e3f988d54ebcb2ff27138d7a5e76c940f64f445f96143b0f836af4b9611999b3f49670b8c9"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/lij/firefox-50.1.0.tar.bz2"; + locale = "lij"; + arch = "linux-x86_64"; + sha512 = "b394da463400ebbcb77cda8ed102f42eca419e896f0b95432e565f126e9e20aee0d9790888c691b9f7291322a3f49d44a58349f611ffc159d514a5a68f7013f4"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/lt/firefox-50.1.0.tar.bz2"; + locale = "lt"; + arch = "linux-x86_64"; + sha512 = "55ac32604ec630d2540a7cd2d2a46c4161650f1a3607c2e45ee8006e6bbec0039dd4927ef28c9efd70961f7f5c4d9d6fdc83dd60b670aaaff26c31594c25c813"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/lv/firefox-50.1.0.tar.bz2"; + locale = "lv"; + arch = "linux-x86_64"; + sha512 = "df012ca9e5026661622b1d0a1230399e970809f2d8f9a3d81a9b05d438e7f20c706cbf739a229b82296db15bf8bda89c266051c56c7786a673e38600bfd81164"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/mai/firefox-50.1.0.tar.bz2"; + locale = "mai"; + arch = "linux-x86_64"; + sha512 = "df74e2c1465b74602ba834cedbc3e07671a813d5979e6a0d85c32e504e01136a05f4915253f785f0b03fa98a4c284d066ff2101737f40490bfe9e30165b712e0"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/mk/firefox-50.1.0.tar.bz2"; + locale = "mk"; + arch = "linux-x86_64"; + sha512 = "68d80303625c9bf86bc2b86a38d9a41643416bea77445630b10a4219d725a9800fbd973e683c7dad46941fa089df6bcf1d07ba5fcf2c3739eede865eed038a97"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/ml/firefox-50.1.0.tar.bz2"; + locale = "ml"; + arch = "linux-x86_64"; + sha512 = "bd1168a7b3e17edc28dbc051fb2951d134c85637b0e0bfa2ac2542211498a8018f8c8a74584d2ebfc24336dc803ec04bfdb11d5975f261f8ad92cdda6dbc1067"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/mr/firefox-50.1.0.tar.bz2"; + locale = "mr"; + arch = "linux-x86_64"; + sha512 = "d62ab5e147d55ef1b02b4b4fa5b10986f4a8db2c6154d519f4704a6ad4eee99235219b5d825571c8e08128ecac84c1ec0dc19d124c83d608b4afb4606786e474"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/ms/firefox-50.1.0.tar.bz2"; + locale = "ms"; + arch = "linux-x86_64"; + sha512 = "e254c8a787f2dda76cc2929665b261437d35351d6725af6d1dbdcca514638800d199827edc8cfeafd927d4f0f758cd246ac47b9cef3011aa68fb0baaaa17c882"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/nb-NO/firefox-50.1.0.tar.bz2"; + locale = "nb-NO"; + arch = "linux-x86_64"; + sha512 = "b9e53d23338b7d825e0eebce3764862abacaceb5bb40f66c3d0d67a3fffc2c1f60c168385537bb042bdc45d77453977ca3c95660cbe3a27c7c87b68d047ea782"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/nl/firefox-50.1.0.tar.bz2"; + locale = "nl"; + arch = "linux-x86_64"; + sha512 = "0c8de38bdb5ee3636a7a633c57e9e3445374514014221086b9db106247ca08111c987aca889a416997ed6678cae81d1414636d0fc9ff4e490444041b53cb54d9"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/nn-NO/firefox-50.1.0.tar.bz2"; + locale = "nn-NO"; + arch = "linux-x86_64"; + sha512 = "4617abaa89c7caaf9481aca13e61629619b1b4a889a2ed652434c8c01d5b8ad9ad96de167f9d3687d303a8aca49492d7b6d7712f9497ae017200962cb229f855"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/or/firefox-50.1.0.tar.bz2"; + locale = "or"; + arch = "linux-x86_64"; + sha512 = "27df7d794fa1693fb79aae60ec72004cdc3fffa9eeb0662e71aeb639e46b6a4c740e08227e5e334e6c0167aab95de6310f3142bcbd3eef089dedd5eeedd29f8e"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/pa-IN/firefox-50.1.0.tar.bz2"; + locale = "pa-IN"; + arch = "linux-x86_64"; + sha512 = "33101ba56588e23bb5cbd66bf8fd90e66e2fa382f4fa6b3b5d9fc6a1372957ff4e01a7a01b697ee694c589573c9a5f1e605f205bb17ac63c5b5faf8545879376"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/pl/firefox-50.1.0.tar.bz2"; + locale = "pl"; + arch = "linux-x86_64"; + sha512 = "373d3355e980a3dbed1cdf8099ba31e370b270402181e61f6e1a829c2f2d9b7b73a9ebbe074e59f21ac3f934898c9c23adb0a5c09c7637fb6c67c3093bd46fbd"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/pt-BR/firefox-50.1.0.tar.bz2"; + locale = "pt-BR"; + arch = "linux-x86_64"; + sha512 = "ccd935e398095d3b79e2a86b8181e1aa1988fa6a1e12c879d50457756b62ab3dea3087e8de77c7cd98dead6b0078598d22ead36285559af041254bdb454eafad"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/pt-PT/firefox-50.1.0.tar.bz2"; + locale = "pt-PT"; + arch = "linux-x86_64"; + sha512 = "a8adaa40a2fa564663173641b3dc3d5642c8c3909a8c14904213c9e1cf9bdb4f03dbd44412bed023b02e6eae63bf56fcadfef0907a168879121811bffb9b9ac4"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/rm/firefox-50.1.0.tar.bz2"; + locale = "rm"; + arch = "linux-x86_64"; + sha512 = "ce37bb7d969c0fc31c2bfed7ac143e5a6d7d8035a748c5b3eb9a23dc62917ed9ad9b028a9db0b5dca156eb99cb36c763eee39ca893e5a314233e5bf4ec4dbfee"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/ro/firefox-50.1.0.tar.bz2"; + locale = "ro"; + arch = "linux-x86_64"; + sha512 = "339120884b8add14d36fdb3fc3ca1355074b0f8a0a87577d1616c392230342c7361859126edfd959e11ebabc6b86c496b440acea679c61e07df59e7e298c47ae"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/ru/firefox-50.1.0.tar.bz2"; + locale = "ru"; + arch = "linux-x86_64"; + sha512 = "59ade7f2ef86f412fa376e4fa6a9d7e72cbfabc10e687c7c0bb7e4b4bc2324d7e97e86075c1d7e12480b9f1dd8bffb5e4723f4183882976cd35c4ccf6f2b4726"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/si/firefox-50.1.0.tar.bz2"; + locale = "si"; + arch = "linux-x86_64"; + sha512 = "4a74944879e40876515e03b1dc2261998bfa2264e074874f886a979de5b48e453c7cbd9a020e8854089b77ca5b5182fe13c685b33991e81c7c533246f87825e4"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/sk/firefox-50.1.0.tar.bz2"; + locale = "sk"; + arch = "linux-x86_64"; + sha512 = "b1440e76e19ef3ed6786f9a40330881bff498c7ab20030189c3eaed293e1ffdf991172251da1ac5d512da4897f2a46f3e0921436d86d9178d96387e33e82708c"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/sl/firefox-50.1.0.tar.bz2"; + locale = "sl"; + arch = "linux-x86_64"; + sha512 = "abd4e6da09005698655e2fb2bb749be35f8b9e8302ba1068e20d27e158c4ae57a0f1cb277a87a2229e4e815cd9d4656ab32cdf0614c01deab572e6c8749d4fb2"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/son/firefox-50.1.0.tar.bz2"; + locale = "son"; + arch = "linux-x86_64"; + sha512 = "17d0444a559c7a5331b93bd314003d84f853fba791efc2df6867becabab9fb7d02bba964d208f44f31af1dfb292cfcbd4de7b48454a7e83668bec26139be40b4"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/sq/firefox-50.1.0.tar.bz2"; + locale = "sq"; + arch = "linux-x86_64"; + sha512 = "c416060454550ff04086aba74173500a41c4e592246eb524e682f082a75173a6752e982993df3ca096c176c0a75ed5f26a22414df5e794a042dbeb2a0de22413"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/sr/firefox-50.1.0.tar.bz2"; + locale = "sr"; + arch = "linux-x86_64"; + sha512 = "f615964e4d87b74dadb841993b3c62d6d683a66ff6ed1634311f58e9c7dc522ed9f2a271a043f7ebaff37f3c1a563d862d7abf22af1015d720979f7459e2ceaa"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/sv-SE/firefox-50.1.0.tar.bz2"; + locale = "sv-SE"; + arch = "linux-x86_64"; + sha512 = "4aab1caa825e685923c7c3a32ecf664e2e8cfc2389f48980f51eddaf696cd9056afd944a950dc60987adbfe977d22fab4c994c3aebe1d14c7514369f6898aa7b"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/ta/firefox-50.1.0.tar.bz2"; + locale = "ta"; + arch = "linux-x86_64"; + sha512 = "6e556f182e0652b79c338fb0d7bfc9da9eee5ef5c68115e748013404ba4409dbf743b03f8722b36ace38a8732924bb426e7a7af5059256ae1f0065096e68a661"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/te/firefox-50.1.0.tar.bz2"; + locale = "te"; + arch = "linux-x86_64"; + sha512 = "ff201a9e66645e148ec740921a7bb1d1b9ffd4b6200d98d06be0f235e829c6a355be0615341f899b433836fc2f2976223a6e46c4f5172590b5254a26f4998959"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/th/firefox-50.1.0.tar.bz2"; + locale = "th"; + arch = "linux-x86_64"; + sha512 = "0e9d0c10f21d3d41825194a3afe21cf4281cbf5825839f908d58821d40358ded4226b5dbe7a094b95aa087769de6179331a19a2fe780b4ee56c74ce137a33ac4"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/tr/firefox-50.1.0.tar.bz2"; + locale = "tr"; + arch = "linux-x86_64"; + sha512 = "299f07161a3439902110d8929b5ffdc332562b956d25999235b3e212241d95ce94646ba3542d7138c6ac5bbbe274c614d2f49aca8a674d252b240265397fa48b"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/uk/firefox-50.1.0.tar.bz2"; + locale = "uk"; + arch = "linux-x86_64"; + sha512 = "f108296c0aee994d558cc422403f45c994d2878b69180d3cf526abe4f5b29d8dc59ed9c58f72a0d21d2550a4d32869b96ae43a1ed251e885bc7abc47b22c3894"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/uz/firefox-50.1.0.tar.bz2"; + locale = "uz"; + arch = "linux-x86_64"; + sha512 = "293e4d99572a22dc053cdc8f5ac40338eadcbd622ee1d47c2bab9914ee1d2507e89a8b4340a12d64c0c4b37f4ec312bcf94921184402852c2a7cb114da93983f"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/vi/firefox-50.1.0.tar.bz2"; + locale = "vi"; + arch = "linux-x86_64"; + sha512 = "24355d25ecae3e5f18a0f3c7b87dcec8c18077292329a7ea38e5e9411c38812f394656d79f3fa653a70770ae136b3f5fbd1644a7657f448dfa78f8e795de5afb"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/xh/firefox-50.1.0.tar.bz2"; + locale = "xh"; + arch = "linux-x86_64"; + sha512 = "0c917bc8cf0a5b66f85cf1511d3fb0b2f4c4bfaa10883d277e6d4bf399b4b359d8ec39c4fcdd6dd23ba3645047318eace530527796b4be58058cb15de69853f4"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/zh-CN/firefox-50.1.0.tar.bz2"; + locale = "zh-CN"; + arch = "linux-x86_64"; + sha512 = "ceb0d7404aa7d8295920e99ccc77e2da7db6101af92d29dfc3c1f2cb4689b582542d154cbc749ad3b7a744f545ccc39e479db4fbe2c7d18c98bf3bf412eccc46"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-x86_64/zh-TW/firefox-50.1.0.tar.bz2"; + locale = "zh-TW"; + arch = "linux-x86_64"; + sha512 = "e942d5d6b8891d062b452f1a083de2849cc69ac45801aee0b5c413a786ce9d67555d94416d65fb6bb6e4b74cf11ae75a1036dfc661b50fda10b95febd86a80a2"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ach/firefox-50.1.0.tar.bz2"; + locale = "ach"; + arch = "linux-i686"; + sha512 = "7546a3fb1cd0e06c9f6916c668cedcfa4671bc15a7ece8ed3ad8ebd1bce5c6ac84e2e024d7e2149844f1797d66374bb2c8769e67d1c4af941eb626c610c433f2"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/af/firefox-50.1.0.tar.bz2"; + locale = "af"; + arch = "linux-i686"; + sha512 = "a6981413d7974e2ca13ffce9fc65c0f69242d6c6bfaa6253fb13fd8fc7e62059df718b4722a7a879dc8e352fd94dcf74db41765dbafc277e8debdd7e35a1242c"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/an/firefox-50.1.0.tar.bz2"; + locale = "an"; + arch = "linux-i686"; + sha512 = "e123cd3a8c9c8657f09d198b7f113b84192174b021dd816b82ee4497e307794bda1399e5425456c2d990788340a58831cd261a4c5c67e5b0ea3daa3d0ac65f65"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ar/firefox-50.1.0.tar.bz2"; + locale = "ar"; + arch = "linux-i686"; + sha512 = "618b9c24d37f4b82b1e51a5ceb5b2d3981c764f906e7959eb346adc5c974e464d4a691e50acdad7f9e0cfa5855afb6157e8ab600d22266a31fa444db9b7886da"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/as/firefox-50.1.0.tar.bz2"; + locale = "as"; + arch = "linux-i686"; + sha512 = "93e53546ca9fc554decc0c1d6590b5b84a433ab392abf9fff9712d4432bfd47a1cc57439fc65ae9be91da6d38dd462fbb81fdd7304424e42d08eeb600d298eab"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ast/firefox-50.1.0.tar.bz2"; + locale = "ast"; + arch = "linux-i686"; + sha512 = "e1115994008db11f3c69679372a3f07b6edde23dca20733b7f06a5b0c63dad2a264c02e9f94dc74976efbb3961155216111522c3f1ebca91929ae356f8218c87"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/az/firefox-50.1.0.tar.bz2"; + locale = "az"; + arch = "linux-i686"; + sha512 = "93be21a2a79d2f4cb2fb5132856837b1ac8d44c699faf623d076b95b5e61126ea540bcabbf57e2752b49cc7b5116f3345a2a78cd07104d873afc2e2127f64224"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/be/firefox-50.1.0.tar.bz2"; + locale = "be"; + arch = "linux-i686"; + sha512 = "ca41cbbe732e8e754cdb0c832ca7820d5320a8106bbb3e5d753f4a7f6eb30045b81cd84191f868076e0edca68e35b344d63ececa45eabff7102fe82c1ca19e61"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/bg/firefox-50.1.0.tar.bz2"; + locale = "bg"; + arch = "linux-i686"; + sha512 = "4e0a3ff42a8502e07afca92ff98ae675213527e68c3907b177e53a580e0391c075a41ba4e5b87c27558f86b28c1abe2dcae191334c737d37bdbbfb25c33d0024"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/bn-BD/firefox-50.1.0.tar.bz2"; + locale = "bn-BD"; + arch = "linux-i686"; + sha512 = "602cffffa7ebf0f53f3e466d3aa5d8f203698db16089e83c893092e9a0841a9a8ec6a46aa5df1e2fec020cd8a7345e4fe86fc20797ad65bcca56bb2f391390ef"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/bn-IN/firefox-50.1.0.tar.bz2"; + locale = "bn-IN"; + arch = "linux-i686"; + sha512 = "2f7ab4b093b8be7dfdbdcf2faad88eb99e8b0e19ebc17efba44d46a332754fcf16e9317398e88c8eea73680ac85f08d2f0a99768fad160d79102e8e1fd6fb8f2"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/br/firefox-50.1.0.tar.bz2"; + locale = "br"; + arch = "linux-i686"; + sha512 = "abc0fb371ae3144fcb3a5130b13c376169d8a3c3051493fb5fece9a4682757c42bf4717b6494d4220daebc3f1560397f1263706e2a3871d7ee5c0135cdfbe1a5"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/bs/firefox-50.1.0.tar.bz2"; + locale = "bs"; + arch = "linux-i686"; + sha512 = "f62657ff653edae873269a4113a93dadbbb36920e9e30ff04407d28f755bc04e35223031a60018e69cd4c3b891511109b66e7baa83656b0ac37ef5e334f3a89b"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ca/firefox-50.1.0.tar.bz2"; + locale = "ca"; + arch = "linux-i686"; + sha512 = "bcc4184d882075eb2ea875c7493ca4f276796672a029ab161b4f2168e879b46a6fef454e04e53531a32ed5bf82178d8d2ef15f9e43679625e4f7632e7cf51f32"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/cak/firefox-50.1.0.tar.bz2"; + locale = "cak"; + arch = "linux-i686"; + sha512 = "88448d8c17235e318628bed05d607f30ab9db4e05f181a36e39c02f2df840a10990a534d5d5f8e16fdaeecfbf3e51bc7cd9f45b8a84b3447132bb57a87c4e2d3"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/cs/firefox-50.1.0.tar.bz2"; + locale = "cs"; + arch = "linux-i686"; + sha512 = "acb9fe18d8a5fe97cdeeea24e8a6e56895a3be16c6a5f2099a69c32768e2f76a2c0fd081d3759a2c87d002ea5021dcc5f806195d3bed06e8514c383ee8bf998f"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/cy/firefox-50.1.0.tar.bz2"; + locale = "cy"; + arch = "linux-i686"; + sha512 = "89119e29496981f8ebc85d512e5d58d8bd3678cc8ea4c90e544bde60881cf5f768b4060d710f8ba4d61dfbd7299a4437f5e7aab1140a03cd498af18c480e0b4b"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/da/firefox-50.1.0.tar.bz2"; + locale = "da"; + arch = "linux-i686"; + sha512 = "285363c04cb6506400077f36867a65372fae80ca6b3fbed88be219c3814d3f38a650c78f36014ae205ba9e5167b5291353c799b918c8e2bca6f23374094db209"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/de/firefox-50.1.0.tar.bz2"; + locale = "de"; + arch = "linux-i686"; + sha512 = "ea470ab934f49ff79b8cb04809f5605edb70d3ea9bc997c01802f09e3fbc8d045bb322b97b729916b6371b047f3b4ac14b25dca8e8befea401362c2024a2fa13"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/dsb/firefox-50.1.0.tar.bz2"; + locale = "dsb"; + arch = "linux-i686"; + sha512 = "74bb1ab27970819fd9a368ac5f9a14add5378d9a7c39707e12146ae8082f39593ea53b5dd730708764515b0177d7ddb675b04a8a75f259303d30f281b44527cd"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/el/firefox-50.1.0.tar.bz2"; + locale = "el"; + arch = "linux-i686"; + sha512 = "3d3eb83a16c94eaa0bcb8627239b74c0a261189b67b917d4e2fa9ac538ea353a998b691350797470ab8ab4a5effc65a35a36e4b3d372895bd691c63d439a4c9f"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/en-GB/firefox-50.1.0.tar.bz2"; + locale = "en-GB"; + arch = "linux-i686"; + sha512 = "23a75b31d461ebb0a3960c6235b6c77471f3687e76f154c8d1fc8cce40ba571a9699e19a5310faa55c52b243e6fd88ec76ccbcb93dfa8b3521493805ca852d57"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/en-US/firefox-50.1.0.tar.bz2"; + locale = "en-US"; + arch = "linux-i686"; + sha512 = "b1667f7c235b3fdbd3a2c3ee6ddd7976b4142983393b0b8e0443896cd0929d7a43ca484ba5922340410fa3c4868f555a4ab581c9664281a31b912c1922a1dce5"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/en-ZA/firefox-50.1.0.tar.bz2"; + locale = "en-ZA"; + arch = "linux-i686"; + sha512 = "78238141da05b61b797440a04973187bbfb4d3cff7830385e163e8ccaa603368910be89ee7f2f4e65a47a6917835dff8f840a77a507c3ff0242baaf1b7cfb4f4"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/eo/firefox-50.1.0.tar.bz2"; + locale = "eo"; + arch = "linux-i686"; + sha512 = "af424d87210909ad480823d56f20327b0e7879bb0ce7ab43994870a69e6e91b3181e480dcc2610064f276ccfccb71badca135f3d8e00ff16947c220dfe67ee82"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/es-AR/firefox-50.1.0.tar.bz2"; + locale = "es-AR"; + arch = "linux-i686"; + sha512 = "cca38288b4ef6de4c7469cdcbd7cc29715993ca69c39febb877691b2368182a0efbb0111b45bb5a7ddf47b7c70f20638bc6dc7d6fcd46f8d8127d36bc29da3e3"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/es-CL/firefox-50.1.0.tar.bz2"; + locale = "es-CL"; + arch = "linux-i686"; + sha512 = "104a3fa6bdf86e0e70c54bfdd8c0d388a8e91a9bae0ef973fc043247907295cc5f53c44f414fe8cd6e2f17a02eae14e366fa8c11ccbb45df2055813b17fd7712"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/es-ES/firefox-50.1.0.tar.bz2"; + locale = "es-ES"; + arch = "linux-i686"; + sha512 = "be847e51e78991ac739bc32fb29cc0cc166f12f02b5ada4d4656d3447379eb9cd10f80391433607fb63e971d54a48591d60baa5cb963421f1934033e08525d7a"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/es-MX/firefox-50.1.0.tar.bz2"; + locale = "es-MX"; + arch = "linux-i686"; + sha512 = "7a7464de3223e9cf1cd0f6b7767ea0fb7ee8db0b3b2c3eb9d284cd5ee8db77b9b0ec3c604625c8c6ffffc41bbac4ea47543c1508f7f8aadbaaeb9954b7e62247"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/et/firefox-50.1.0.tar.bz2"; + locale = "et"; + arch = "linux-i686"; + sha512 = "907612ce5691ec5e4647e943ed58d437db872551da8490af3e5f7af44e7d9ac78a8c5eaf721f719af782c8b202aa24ee6a87640e54323b5eb823dbee39b2903b"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/eu/firefox-50.1.0.tar.bz2"; + locale = "eu"; + arch = "linux-i686"; + sha512 = "29c76a0f49d87d162749f824e287f2c1b37cab465cdd5e5e991ce429273d492fc905772c25f4c812c6fb899249a9bb7346eefc91af9f642b4acdc70d3af6f338"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/fa/firefox-50.1.0.tar.bz2"; + locale = "fa"; + arch = "linux-i686"; + sha512 = "0deec5372d5876861af20a60d8db9d4c5aaef8c133c81bc3af6d85d2de528f96ae1da7f5fc78a9bf34bf06d9121fdb6d74e28ad40ae2b7fc23b4a0c161e09722"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ff/firefox-50.1.0.tar.bz2"; + locale = "ff"; + arch = "linux-i686"; + sha512 = "07c87801154ce44d37b1a477850bf9568651beabb4004d7cfe427c0ecf75fc85da91cffbbd60af773c8b3b7cd30e10937c9ff2fcf65409faf2dd194694d9b6c1"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/fi/firefox-50.1.0.tar.bz2"; + locale = "fi"; + arch = "linux-i686"; + sha512 = "310b71c8e46fd7ab3127cfc0743c1d98ede8adbfd01a645089cb6e5752e8ff4e3da9f8f47ab5fd7d06284b3fd76b9780d60c2898d0868e30a76dcebf35c24b05"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/fr/firefox-50.1.0.tar.bz2"; + locale = "fr"; + arch = "linux-i686"; + sha512 = "1bc1e595f12d04067b9985be57fe4ec17de89069e4d6b780c16231c4ea195fa0cd8e6daece265335fa56ac3dae9d94c3b76f93199cf1e0946f6d6ac75bd01a1a"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/fy-NL/firefox-50.1.0.tar.bz2"; + locale = "fy-NL"; + arch = "linux-i686"; + sha512 = "d07b171d615306c6de663f4592450dea92cd7298e6994ea7fb5d55f01f260c2b66d1b4bc4109f44c3d007107c78feccaa6540ddb14dc8666e0192ff3978d8f5f"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ga-IE/firefox-50.1.0.tar.bz2"; + locale = "ga-IE"; + arch = "linux-i686"; + sha512 = "1c234083d098c52a7597dd727c246ea6dfc177edd1e4fc021ad5868ce9082353036d78b9297503a5eb14dc8d500a7a2549d771ea2d3c849817ab791329925d25"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/gd/firefox-50.1.0.tar.bz2"; + locale = "gd"; + arch = "linux-i686"; + sha512 = "0e88344c58c1b2e63b765949db63ed9e874b23e382f9fe833206cadde1d6c32d804d68a22f17741cc7964773858fa7adb6a6a42e7ed56dad54f2d7d0a71dce08"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/gl/firefox-50.1.0.tar.bz2"; + locale = "gl"; + arch = "linux-i686"; + sha512 = "244cf85b95f4a1eed0369f4f41ba870f4a3fd48fd85979b005ffc19ab4c03e52da87ae8687f5e3048c33599baab46fa8ed8274db5b180936076fd63e02b955b2"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/gn/firefox-50.1.0.tar.bz2"; + locale = "gn"; + arch = "linux-i686"; + sha512 = "20d51aefbc2f98f83fafd23a5800840d1bce7f0688f76d0ef322b2f1dfe44e75fd82c39fef23cc9afb15faa41514f29f8313748a2e969e2051b3824962de6e56"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/gu-IN/firefox-50.1.0.tar.bz2"; + locale = "gu-IN"; + arch = "linux-i686"; + sha512 = "b07adecbbf8aaa8dce8e7d8e03b86d5ce3bb97646404433d89d82832e692efeb532df86a5a4276dcf1f63c705507e0d87f3d72440c49e5d70c9a08968f75fbe7"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/he/firefox-50.1.0.tar.bz2"; + locale = "he"; + arch = "linux-i686"; + sha512 = "a6d9a10704ad4097af79ee05aae504a9a6ff109192241cd99c3be665f0adaffa6e5b7b39da859d61d9294cf899a5496ce0c82ac4012a318ad4aa96d6418f380f"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/hi-IN/firefox-50.1.0.tar.bz2"; + locale = "hi-IN"; + arch = "linux-i686"; + sha512 = "6d78b83b289abf37267b08c72c3b3c42005ddc2f2b13c846012f342b16a3bbf9a891fcd6e24af01160d1749c1b7e76a9f62060970d52144405e4162d4c6297e1"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/hr/firefox-50.1.0.tar.bz2"; + locale = "hr"; + arch = "linux-i686"; + sha512 = "e70daf40c8a0885c344a01d1cde03b34af23a2d9c76450f0723cc5ec1b577251dfbb8bfacd3eba866953c5b3dcd2974456305a9e171025cfbd43416f679f1cc4"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/hsb/firefox-50.1.0.tar.bz2"; + locale = "hsb"; + arch = "linux-i686"; + sha512 = "8c137a61cb020dbfb1d73a698d76c4921c9a1dff5f836185caba29c22c81c7c0683cb4139b0642d4bf408e01d498de46022c36de78a3c0413eae048f2be69e72"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/hu/firefox-50.1.0.tar.bz2"; + locale = "hu"; + arch = "linux-i686"; + sha512 = "1630ad84eff835e1f56e424000515e37d52a268ce569ea12fe5abb8afde231f2aee2293046ee8aeb338ccd81ec98c92246f4b62e000ece032349eedb2ca3bb82"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/hy-AM/firefox-50.1.0.tar.bz2"; + locale = "hy-AM"; + arch = "linux-i686"; + sha512 = "dc2359753972d1eac82bc357461331d69e52bde41736ab5c4bd590491add2b592bd3e4f15f32db94922afee84af04500928ece6be14071b10ad1fc4c8b82314b"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/id/firefox-50.1.0.tar.bz2"; + locale = "id"; + arch = "linux-i686"; + sha512 = "61717f0c508b61b874080e21f7cf22283b1d123e2301490af409c710ee612ee8e0e7709f3bee20891c0a76b3b2de05b4ba94885d1b3813e6612a1dd1f871d34c"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/is/firefox-50.1.0.tar.bz2"; + locale = "is"; + arch = "linux-i686"; + sha512 = "57d649dd96889b533c336078b4d2380a8417a1f77e40379d51a80518ffe2024a303c2b9c42861436425098cbf2e328264972b82039b9fe13054ae3d33a93e737"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/it/firefox-50.1.0.tar.bz2"; + locale = "it"; + arch = "linux-i686"; + sha512 = "b8bb4e379f4e21bdea2190695b0f74c23b72af5c6149e8790a433c09cbe3ee170fc68a375b71ea112d15eb00b948b6c30466fe382f86e8c5da85ea7479b355ed"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ja/firefox-50.1.0.tar.bz2"; + locale = "ja"; + arch = "linux-i686"; + sha512 = "287d4ba06988e7a6022fead8af2d921fb761222cd0cbaacb7136c44e397b4620a6129f59f97d98d8a992caaf203e7c8fc130aa4e5e9c58b13a2700f63d786497"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/kk/firefox-50.1.0.tar.bz2"; + locale = "kk"; + arch = "linux-i686"; + sha512 = "f96a9b418849234b41d181ad141dbb030a8b2f26e73944694c5a805a21778d708862df988dda8ab8fe28eca0aa342153db84d6af971461f0eb8072590445ac15"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/km/firefox-50.1.0.tar.bz2"; + locale = "km"; + arch = "linux-i686"; + sha512 = "63af9259f4326d4dc356513203646712f26dd992d2150d58c4f1892d76f0a3944063dbfec0db68f67d20538aea3247313357e5a822e0a8507bfad2a7209067d4"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/kn/firefox-50.1.0.tar.bz2"; + locale = "kn"; + arch = "linux-i686"; + sha512 = "afa965fd87ca7dcf5217011cf0aa53d89e1656d64cb8ad973a149eed3897eb577bdbe3359a5310bf9e11dc6e927883c08fb7ef069756313dfc75850378ae7820"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ko/firefox-50.1.0.tar.bz2"; + locale = "ko"; + arch = "linux-i686"; + sha512 = "724726e85066350ba9fb0254462b198e198c20970664737c925ca41a474ac4070d2e746b671e8583339fb1935e9a05d6191856f5abaa6e23413efdb707d34d19"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/lij/firefox-50.1.0.tar.bz2"; + locale = "lij"; + arch = "linux-i686"; + sha512 = "e17504c60dcf3eea34c9525b3ca537656fabf90a7d888284cd5ac014a939565ba50e8b3d0fd1c936dd5be1ac59ee9f61e2de22b5b1eaeb12fca0f59a094a06eb"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/lt/firefox-50.1.0.tar.bz2"; + locale = "lt"; + arch = "linux-i686"; + sha512 = "00689c1e19f748e5676ea3b8ed0076f6a63698c57b171eb771d45e9d9ba5bcf359eeb827f5791c96ca6a31eb9ca166208fc63b4a211676b466656e537323719d"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/lv/firefox-50.1.0.tar.bz2"; + locale = "lv"; + arch = "linux-i686"; + sha512 = "1218ec478e28229f0ef8d5a7a669ed6f69722602f75185c4817a9870b35b6955f87f004317bb32cdada379075115c12ad92f73f74818c182a480393961a85bf4"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/mai/firefox-50.1.0.tar.bz2"; + locale = "mai"; + arch = "linux-i686"; + sha512 = "6fe97505743b8aa14b9bb3be57077c9da14c2049b2d0d455fc2b777b09bc42924f04c781073188fcdb3130bd5d1cba2cbc5c2ebd04fecc7e73ddb8f20f61c716"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/mk/firefox-50.1.0.tar.bz2"; + locale = "mk"; + arch = "linux-i686"; + sha512 = "e0bbe68d53a08df8e2ac46b9b51567f69fcd11b03d19b6e84f86ca9f255c0920f89b011df5fd4ff300cb3fda65470fc15ad779757421eea2b3b6db6bc7ae9c1d"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ml/firefox-50.1.0.tar.bz2"; + locale = "ml"; + arch = "linux-i686"; + sha512 = "0e6560b60dc8c0fa309c3a73c1aa3331aec82556e3ee5eec9014d8787c9a5f8311049fc7939ec69569abf689e349be08bce040bfab8bd2ee3ac0042753ce2860"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/mr/firefox-50.1.0.tar.bz2"; + locale = "mr"; + arch = "linux-i686"; + sha512 = "cc31171f3ee669fb47dfe4e416c84ed58125b1a4787a92588c3650a2062e4e7fed28f2cc5c784fcf1d804c64fb335c2e16340d46f2d879b73e4465f8c662350a"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ms/firefox-50.1.0.tar.bz2"; + locale = "ms"; + arch = "linux-i686"; + sha512 = "12d3bfa0c956b342604a043beefadbe5bff639fbe4b12614832ca36ac11a4046987f3be34dfeb5d3dbb4e9c1d8533645a8d78c3413f9730a72ae952bb07fd703"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/nb-NO/firefox-50.1.0.tar.bz2"; + locale = "nb-NO"; + arch = "linux-i686"; + sha512 = "b144e104f01a075bd0d107f77af39664323eed78987ebc78a7a2917b86d83c2d6ff3bb35b6c5230e27c8164246fb32defea91e5b84672e20f5071e0d52456726"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/nl/firefox-50.1.0.tar.bz2"; + locale = "nl"; + arch = "linux-i686"; + sha512 = "da466f3dc573096be1d55bdb03f926f0b94ee2ad8e326a3fdc29d519d00f5c0c9166b85c0c8c191d1ca7c992b05b68abff5f33882e52e43be3015a35333be3d8"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/nn-NO/firefox-50.1.0.tar.bz2"; + locale = "nn-NO"; + arch = "linux-i686"; + sha512 = "85f83572953a0b54805b22f3a21cea70343092912c3b988f8408ac1df1931dda52a8686c32cdd7c91e776a17af0a390d6394b22fdf46ae1205a01499f390dc5a"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/or/firefox-50.1.0.tar.bz2"; + locale = "or"; + arch = "linux-i686"; + sha512 = "1a0b08aa675bfe8b26675f1eac53389f34d02b0c28287d1a73e663ce5d747efd0bc4db5f0f29e3e864c99447e759fdf35ff573235a7ac9b815fe8b749f0a0e88"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/pa-IN/firefox-50.1.0.tar.bz2"; + locale = "pa-IN"; + arch = "linux-i686"; + sha512 = "ee9c1c9cc27cd8470cee9a1600951274f9a663e4562cacf7452426c562815f393b726402b1356f9a60095e85278030d64f35cb1fdadd5c8cd11d6917f9c70d60"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/pl/firefox-50.1.0.tar.bz2"; + locale = "pl"; + arch = "linux-i686"; + sha512 = "a326d11cb0df567ad13e6d543426c0a28d9158f7d8f0f519b208bddad26145e3eee6350dfb54735cfc05d656ed40b022fa132991a91f1de78eb36ee4f7333fcc"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/pt-BR/firefox-50.1.0.tar.bz2"; + locale = "pt-BR"; + arch = "linux-i686"; + sha512 = "cb99dec511614bfdccf43b06e4babd28dbe0dfac464147aadccbf69bdedf3a093e625e4fcdfe0cf8db867b5854ce4c3c5d399a6e9ba932a9fd8574928962360c"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/pt-PT/firefox-50.1.0.tar.bz2"; + locale = "pt-PT"; + arch = "linux-i686"; + sha512 = "2c4215b8bd5ee9ff78fdfda763c5506fb6a3c7056c9b4494d89f77ff4255c86617f4102f36bf534c0e3ff24ed27ef4a0853d24578bb39ae0a04f741422e6eba3"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/rm/firefox-50.1.0.tar.bz2"; + locale = "rm"; + arch = "linux-i686"; + sha512 = "470b3ce93cd25c24c0c9a1581da7a48c101d7a93764423073b1934dbeb5a0fc401150009a622feba1f2f799501fb03e0af79a308c4fef08ac942c5adcaaf0d91"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ro/firefox-50.1.0.tar.bz2"; + locale = "ro"; + arch = "linux-i686"; + sha512 = "7cfaa6b7b2dbe4dadc464591ffbb508e66b724eba76b6fa8e9547ef1092f1aa51f1846e9392a8531c7ba24aedb4ba49e7a2e0c1f41a0b97e6dbacdf1d6c34c75"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ru/firefox-50.1.0.tar.bz2"; + locale = "ru"; + arch = "linux-i686"; + sha512 = "5915a55e881a57797a67d59b4ae9fd95da8bcc4caaa1ad7decb78a6de7a5da7ff35139ff33f7e4ed171615ba9c25ab7df43677a58cecbee530eed25d8a7cc8ca"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/si/firefox-50.1.0.tar.bz2"; + locale = "si"; + arch = "linux-i686"; + sha512 = "a1702939f705a7c2b3b66efdd6dc27a4320ed019dcd62b59da67ef3f078be0afab91ee5158e67cb62691b1a4a002783f807d6133885bd0ac9bb05401268d5f24"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/sk/firefox-50.1.0.tar.bz2"; + locale = "sk"; + arch = "linux-i686"; + sha512 = "43b72dd5ebcb1524c5b633cbfb73eed21aaf466227f29f4ffdd93f1c49dcc2295a38b57b3ce072c40da72184e1fb954a9097ea6d6d6df6807dfc5d04ff48b327"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/sl/firefox-50.1.0.tar.bz2"; + locale = "sl"; + arch = "linux-i686"; + sha512 = "24840e76f00d6a07de581d06050f924018ae2613a6e4cba993073859dd05007b6c97a7d518a6c4b111740945357621c7325c4cd7f45adddceea270e08c1a09c3"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/son/firefox-50.1.0.tar.bz2"; + locale = "son"; + arch = "linux-i686"; + sha512 = "004f8732e194d9c1972390d0ce0d04f9e8f91583676fa5d65bcfb1ee58a6b52db5176ce8a281a3ac94391b43aa637ed157128950e589a0f0a354622da6f04132"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/sq/firefox-50.1.0.tar.bz2"; + locale = "sq"; + arch = "linux-i686"; + sha512 = "3dead0e008b4255585d22dacb6fa0aec125da6581b7ef4b1ccc6697e03a5afacd14d340bd8eb7bc0b38478bc6ca20f09364e9180313ceedf1853739ee181d125"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/sr/firefox-50.1.0.tar.bz2"; + locale = "sr"; + arch = "linux-i686"; + sha512 = "cdbf5fa9d085829828f5a395114c3efae9b82e77e34aa69b622e611de8aaf54c525ad12ca445190ba5cc9c22d979be902e4f1f6e6a746b5f97570326cd90009b"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/sv-SE/firefox-50.1.0.tar.bz2"; + locale = "sv-SE"; + arch = "linux-i686"; + sha512 = "ef8a625973d0286799e2a9ea3a5a10078d912a65521be8f935ec6eb207ba53942ec5d0e0c4c5c013ea2705307dafda12294fdf708dca35f72d5ba3eb48733238"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/ta/firefox-50.1.0.tar.bz2"; + locale = "ta"; + arch = "linux-i686"; + sha512 = "64652e5c68680f1ab15bdb5ec6487387789bd4b1a1537daa215094e57156fd4a1272311d8084435994151aff5e7ddffb16b93c2048989d9c2dc455f98d072b06"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/te/firefox-50.1.0.tar.bz2"; + locale = "te"; + arch = "linux-i686"; + sha512 = "e516ee1f536dd98ab95a9a621cf4634f1ac70a3b5952cd8c6498890536b1630b362ebda8e69577eda4c0a6224f1a9cbf19453e5709dbca467e37597016eb5fe3"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/th/firefox-50.1.0.tar.bz2"; + locale = "th"; + arch = "linux-i686"; + sha512 = "0b9ae06d78e94d6f9ee5861dc911eca02f39671d8f13f2119323ed7dc394dffbe99f2d23dd3eba955d46f7d4b9775cd9fc3311337d4339748c178aa67d7467eb"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/tr/firefox-50.1.0.tar.bz2"; + locale = "tr"; + arch = "linux-i686"; + sha512 = "31be512e591504d3e8a776933f0926ae54a7797fa037e53a4627b1bb39ed61e4689cafee7d84dfb6b930ee2e4a84df158a97c1c5b201a3a8ea112e2910e65846"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/uk/firefox-50.1.0.tar.bz2"; + locale = "uk"; + arch = "linux-i686"; + sha512 = "19614a4999f5c7509a3c0b1c6bb2bc3d9f408ff6727bcf9bf93bf91a59ec8d3c04206719fe2aa2319a0e62687df871bfa2fe67117219398e19aa5a6e0782c15c"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/uz/firefox-50.1.0.tar.bz2"; + locale = "uz"; + arch = "linux-i686"; + sha512 = "22bb3b4a3a5a98ad8da002a220dd2779a46fd50a3d0ff41bec8312186ae34543da44fc49518fee160aa4b48176a0d3ba0dd0c4853fea9befc66911684b83ddb1"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/vi/firefox-50.1.0.tar.bz2"; + locale = "vi"; + arch = "linux-i686"; + sha512 = "99140a71208a7912dc8b9fd3bd7f5454a0b032dee4d903304dfd14aa9abec0722fdcc6624f3c0a1c6e753bc6ab6ea512d6f8c55b5482069ed6c65d5579f562e0"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/xh/firefox-50.1.0.tar.bz2"; + locale = "xh"; + arch = "linux-i686"; + sha512 = "440573a5e364ecd59121b30f664ed23bd2fa80945562d1e5cc04303f12dfff23c96ef53ce07cf689d247a5120b9d7679533ccb6e17c27b29898154f0fc9fc581"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/zh-CN/firefox-50.1.0.tar.bz2"; + locale = "zh-CN"; + arch = "linux-i686"; + sha512 = "4a2f5550c130d0992408d328afa3dbd37f80e5b63c2b33c095ab74e397ea394cb33f87214f1b0d3650c60450738fe3eca636ed51ca1c4e5dce9b58e0f09c30f6"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/50.1.0/linux-i686/zh-TW/firefox-50.1.0.tar.bz2"; + locale = "zh-TW"; + arch = "linux-i686"; + sha512 = "6417da7af1792f241c8d57dd5bb05dac974db2b73a6274fe3159037bcf8ae8a23b3f1849f5b42a0bfc09f1dcbf949bcaa8b1e9cc633fd3726c12cde7e3cf542f"; + } + ]; } diff --git a/pkgs/applications/networking/browsers/firefox-bin/update.nix b/pkgs/applications/networking/browsers/firefox-bin/update.nix new file mode 100644 index 000000000000..d32f4dfcf5b0 --- /dev/null +++ b/pkgs/applications/networking/browsers/firefox-bin/update.nix @@ -0,0 +1,78 @@ +{ name +, writeScript +, xidel +, coreutils +, gnused +, gnugrep +, curl +, baseName ? "firefox" +, basePath ? "pkgs/applications/networking/browsers/firefox-bin" +, baseUrl ? "http://archive.mozilla.org/pub/firefox/releases/" +}: + +let + version = (builtins.parseDrvName name).version; + isBeta = builtins.stringLength version + 1 == builtins.stringLength (builtins.replaceStrings ["b"] ["bb"] version); +in writeScript "update-${baseName}-bin" '' + PATH=${coreutils}/bin:${gnused}/bin:${gnugrep}/bin:${xidel}/bin:${curl}/bin + + pushd ${basePath} + + tmpfile=`mktemp` + url=${baseUrl} + + # retriving latest released version + # - extracts all links from the $url + # - removes . and .. + # - this line remove everything not starting with a number + # - this line sorts everything with semver in mind + # - we remove lines that are mentioning funnelcake + # - this line removes beta version if we are looking for final release + # versions or removes release versions if we are looking for beta + # versions + # - this line pick up latest release + version=`xidel -q $url --extract "//a" | \ + sed s"/.$//" | \ + grep "^[0-9]" | \ + sort --version-sort | \ + grep -v "funnelcake" | \ + grep -e "${if isBeta then "b" else ""}\([[:digit:]]\|[[:digit:]][[:digit:]]\)$" | ${if isBeta then "" else "grep -v \"b\" |"} \ + tail -1` + + # this is a list of sha512 and tarballs for both arches + shasums=`curl --silent $url$version/SHA512SUMS` + + cat > $tmpfile <> $tmpfile <> $tmpfile <ga ''; preInstall = @@ -113,6 +120,14 @@ common = { pname, version, sha512 }: stdenv.mkDerivation rec { "$out/bin/firefox" --version ''; + postFixup = + # Fix notifications. LibXUL uses dlopen for this, unfortunately; see #18712. + '' + patchelf --set-rpath "${lib.getLib libnotify + }/lib:$(patchelf --print-rpath "$out"/lib/firefox-*/libxul.so)" \ + "$out"/lib/firefox-*/libxul.so + ''; + meta = { description = "A web browser" + lib.optionalString (pname == "firefox-esr") " (Extended Support Release)"; homepage = http://www.mozilla.com/en-US/firefox/; @@ -121,7 +136,8 @@ common = { pname, version, sha512 }: stdenv.mkDerivation rec { }; passthru = { - inherit gtk nspr version; + inherit nspr version updateScript; + gtk = gtk2; isFirefox3Like = true; browserName = "firefox"; ffmpegSupport = lib.versionAtLeast version "46.0"; @@ -132,14 +148,23 @@ in { firefox-unwrapped = common { pname = "firefox"; - version = "48.0.2"; - sha512 = "d5addb0cd01e2aeb0fd9387800e82e385f3986716887840322d261d772a442f6fdb1d910cd53f2373f0fb82ed0b2a45356ac83f3ef230e14a2b9db8999ad8a4e"; + version = "50.1.0"; + sha512 = "370d2e9b8c4b1b59c3394659c3a7f0f79e6a911ccd9f32095b50b3a22d087132b1f7cb87b734f7497c4381b1df6df80d120b4b87c13eecc425cc66f56acccba5"; + updateScript = import ./update.nix { + name = "firefox"; + inherit writeScript xidel coreutils gnused gnugrep curl ed; + }; }; firefox-esr-unwrapped = common { pname = "firefox-esr"; - version = "45.3.0esr"; - sha512 = "ee618aec579625122c3e511a7ac83ac4db9718f5695b6fe6250717602178bae9bb7e5ebe8764f4d33ecf44d3db13abfed0d24c1ec71e64a1087fb6d5a579b0c0"; + version = "45.6.0esr"; + sha512 = "b96c71aeed8a1185a085512f33d454a1735237cd9ddf37c8caa9cc91892eafab0615fc0ca6035f282ca8101489fa84c0de1087d1963c05b64df32b0c86446610"; + updateScript = import ./update.nix { + name = "firefox-esr"; + versionSuffix = "esr"; + inherit writeScript xidel coreutils gnused gnugrep curl ed; + }; }; } diff --git a/pkgs/applications/networking/browsers/firefox/update.nix b/pkgs/applications/networking/browsers/firefox/update.nix new file mode 100644 index 000000000000..33c9f3079181 --- /dev/null +++ b/pkgs/applications/networking/browsers/firefox/update.nix @@ -0,0 +1,54 @@ +{ name +, writeScript +, xidel +, coreutils +, gnused +, gnugrep +, curl +, ed +, sourceSectionRegex ? "${name}-unwrapped = common" +, basePath ? "pkgs/applications/networking/browsers/firefox" +, baseUrl ? "http://archive.mozilla.org/pub/firefox/releases/" +, versionSuffix ? "" +}: + +let + version = (builtins.parseDrvName name).version; +in writeScript "update-${name}" '' + PATH=${coreutils}/bin:${gnused}/bin:${gnugrep}/bin:${xidel}/bin:${curl}/bin:${ed}/bin + + pushd ${basePath} + + url=${baseUrl} + + # retriving latest released version + # - extracts all links from the $url + # - extracts lines only with number and dots followed by a slash + # - removes trailing slash + # - sorts everything with semver in mind + # - picks up latest release + version=`xidel -q $url --extract "//a" | \ + grep "^[0-9.]*${versionSuffix}/$" | \ + sed s/[/]$// | \ + sort --version-sort | \ + tail -n 1` + + shasum=`curl --silent $url$version/SHA512SUMS | grep 'source\.tar\.xz' | cut -d ' ' -f 1` + + ed default.nix < $plugins/extra-ld-preload + + # Prevent a dependency on gcc. + strip -S $preload + patchELF $preload ''; dontStrip = true; diff --git a/pkgs/applications/networking/browsers/opera/default.nix b/pkgs/applications/networking/browsers/opera/default.nix index a00905cf9377..0edd982f0f75 100644 --- a/pkgs/applications/networking/browsers/opera/default.nix +++ b/pkgs/applications/networking/browsers/opera/default.nix @@ -1,84 +1,121 @@ -{ stdenv, fetchurl, zlib, libX11, libXext, libSM, libICE, libXt -, freetype, fontconfig, libXft, libXrender, libxcb, expat, libXau, libXdmcp -, libuuid, cups, xz -, gstreamer, gst_plugins_base, libxml2 -, gtkSupport ? true, glib, gtk, pango, gdk_pixbuf, cairo, atk -, kdeSupport ? false, qt4, kdelibs +{ alsaLib +, atk +, cairo +, cups +, curl +, dbus +, dpkg +, expat +, fetchurl +, fontconfig +, freetype +, gdk_pixbuf +, glib +, gnome2 +, gtk2 +, libX11 +, libXScrnSaver +, libXcomposite +, libXcursor +, libXdamage +, libXext +, libXfixes +, libXi +, libXrandr +, libXrender +, libXtst +, libnotify +, libpulseaudio +, nspr +, nss +, pango +, stdenv +, systemd }: -assert stdenv.isLinux && stdenv.cc.isGNU && stdenv.cc.libc != null; - let - mirror = http://get.geo.opera.com/pub/opera; -in -stdenv.mkDerivation rec { - name = "opera-12.16-1860"; + mirror = https://get.geo.opera.com/pub/opera/desktop; + version = "41.0.2353.56"; + + rpath = stdenv.lib.makeLibraryPath [ + + # These provide shared libraries loaded when starting. If one is missing, + # an error is shown in stderr. + alsaLib.out + atk.out + cairo.out + cups.out + curl.out + dbus.lib + expat.out + fontconfig.lib + freetype.out + gdk_pixbuf.out + glib.out + gnome2.GConf.out + gtk2.out + libX11.out + libXScrnSaver.out + libXcomposite.out + libXcursor.out + libXdamage.out + libXext.out + libXfixes.out + libXi.out + libXrandr.out + libXrender.out + libXtst.out + libnotify.out + nspr.out + nss.out + pango.out + stdenv.cc.cc.lib + + # This is a little tricky. Without it the app starts then crashes. Then it + # brings up the crash report, which also crashes. `strace -f` hints at a + # missing libudev.so.0. + systemd.lib + + # Works fine without this except there is no sound. + libpulseaudio.out + ]; + +in stdenv.mkDerivation { + + name = "opera-${version}"; src = if stdenv.system == "i686-linux" then fetchurl { - url = "${mirror}/linux/1216/${name}.i386.linux.tar.xz"; - sha256 = "df640656a52b7c714faf25de92d84992116ce8f82b7a67afc1121eb3c428489d"; + url = "${mirror}/${version}/linux/opera-stable_${version}_i386.deb"; + sha256 = "0qjkhadlpn5c20wm66hm7rn12kdk4bh2plfgpfkzp85jmsjdxri5"; } else if stdenv.system == "x86_64-linux" then fetchurl { - url = "${mirror}/linux/1216/${name}.x86_64.linux.tar.xz"; - sha256 = "b3b5cada3829d2b3b0e2da25e9444ce9dff73dc6692586ce72cfd4f6431e639e"; + url = "${mirror}/${version}/linux/opera-stable_${version}_amd64.deb"; + sha256 = "1f3slbydxkk15banjbm7d8602l3vxy834ijsdqpyj0ckc5mw0g9y"; } else throw "Opera is not supported on ${stdenv.system} (only i686-linux and x86_64 linux are supported)"; - dontStrip = 1; - - phases = "unpackPhase installPhase fixupPhase"; + unpackCmd = "${dpkg}/bin/dpkg-deb -x $curSrc ."; installPhase = '' - ./install --unattended --prefix $out - ''; - - buildInputs = - [ stdenv.cc.cc stdenv.cc.libc zlib libX11 libXt libXext libSM libICE - libXft freetype fontconfig libXrender libuuid expat - gstreamer libxml2 gst_plugins_base - ] - ++ stdenv.lib.optionals gtkSupport [ glib gtk pango gdk_pixbuf cairo atk ] - ++ stdenv.lib.optionals kdeSupport [ kdelibs qt4 ]; - - libPath = stdenv.lib.makeLibraryPath buildInputs - + stdenv.lib.optionalString (stdenv.system == "x86_64-linux") - (":" + stdenv.lib.makeSearchPathOutput "lib" "lib64" buildInputs); - - preFixup = - '' - rm $out/bin/uninstall-opera - find $out/lib/opera -type f | while read f; do - type=$(readelf -h "$f" 2>/dev/null | sed -n 's/ *Type: *\([A-Z]*\).*/\1/p' || true) - if [ -z "$type" ]; then - : - elif [ $type == "EXEC" ]; then - echo "patching $f executable <<" - patchelf \ - --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${libPath}" \ - "$f" - elif [ $type == "DYN" ]; then - echo "patching $f library <<" - patchelf --set-rpath "${libPath}" "$f" - else - echo "Unknown type $type" - exit 1 - fi - done - ''; + mkdir --parent $out + mv * $out/ + mv $out/lib/*/opera/*.so $out/lib/ + ''; postFixup = '' - oldRPATH=`patchelf --print-rpath $out/lib/opera/opera` - patchelf --set-rpath $oldRPATH:${cups.out}/lib $out/lib/opera/opera - - # This file should normally require a gtk-update-icon-cache -q /usr/share/icons/hicolor command - # It have no reasons to exist in a redistribuable package - rm $out/share/icons/hicolor/icon-theme.cache - ''; + find $out -executable -type f \ + | while read f + do + patchelf \ + --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "$out/lib:${rpath}" \ + "$f" + done + ''; meta = { homepage = http://www.opera.com; diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix index 490823860b10..3746bbe4f7ec 100644 --- a/pkgs/applications/networking/browsers/qutebrowser/default.nix +++ b/pkgs/applications/networking/browsers/qutebrowser/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, unzip, buildPythonApplication, makeQtWrapper, wrapGAppsHook -, qtbase, pyqt5, jinja2, pygments, pyyaml, pypeg2, glib_networking +, qtbase, pyqt5, jinja2, pygments, pyyaml, pypeg2, cssutils, glib_networking , asciidoc, docbook_xml_dtd_45, docbook_xsl, libxml2, libxslt , gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly, gst-libav , qtwebkit-plugins }: @@ -7,11 +7,11 @@ let pdfjs = stdenv.mkDerivation rec { name = "pdfjs-${version}"; - version = "1.4.20"; + version = "1.5.188"; src = fetchurl { url = "https://github.com/mozilla/pdf.js/releases/download/v${version}/${name}-dist.zip"; - sha256 = "1ca1fzyc5qnan6gavcd8bnfqriqqvgdsf4m8ka4nayf50k64xxj9"; + sha256 = "1y3yaqfgjj96qzvbm5200x68j5hy1qs7l2mqm3kbbj2b58z9f1qv"; }; nativeBuildInputs = [ unzip ]; @@ -24,12 +24,12 @@ let in buildPythonApplication rec { name = "qutebrowser-${version}"; - version = "0.8.2"; + version = "0.9.0"; namePrefix = ""; src = fetchurl { url = "https://github.com/The-Compiler/qutebrowser/releases/download/v${version}/${name}.tar.gz"; - sha256 = "1kfxjdn1dqla8d8gcggp55zcgf4zb77knkfshd213my0iw2yzgcf"; + sha256 = "1fp7yddx8xmy6hx01gg4z3vnw8b9qa5ixam7150i3xaalx0gjzfq"; }; # Needs tox @@ -46,7 +46,7 @@ in buildPythonApplication rec { ]; propagatedBuildInputs = [ - pyyaml pyqt5 jinja2 pygments pypeg2 + pyyaml pyqt5 jinja2 pygments pypeg2 cssutils ]; postPatch = '' @@ -72,7 +72,6 @@ in buildPythonApplication rec { ''; postFixup = '' - wrapPythonPrograms mv $out/bin/qutebrowser $out/bin/.qutebrowser-noqtpath makeQtWrapper $out/bin/.qutebrowser-noqtpath $out/bin/qutebrowser @@ -80,7 +79,7 @@ in buildPythonApplication rec { ''; meta = { - homepage = https://github.com/The-Compiler/qutebrowser; + homepage = "https://github.com/The-Compiler/qutebrowser"; description = "Keyboard-focused browser with a minimal GUI"; license = stdenv.lib.licenses.gpl3Plus; maintainers = [ stdenv.lib.maintainers.jagajaga ]; diff --git a/pkgs/applications/networking/browsers/surf/default.nix b/pkgs/applications/networking/browsers/surf/default.nix index fcaaec63b9e6..ae6ce3dd2c30 100644 --- a/pkgs/applications/networking/browsers/surf/default.nix +++ b/pkgs/applications/networking/browsers/surf/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, makeWrapper, gtk, webkit, pkgconfig, glib, glib_networking, libsoup, gsettings_desktop_schemas, patches ? null}: +{stdenv, fetchurl, makeWrapper, gtk2, webkit, pkgconfig, glib, glib_networking, libsoup, gsettings_desktop_schemas, patches ? null}: stdenv.mkDerivation rec { name = "surf-${version}"; @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "0jj93izd8fizxfa6ln9w1h9bwki81sz5dhskh5x1rl34zd38aq4m"; }; - buildInputs = [ gtk makeWrapper webkit gsettings_desktop_schemas pkgconfig glib libsoup ]; + buildInputs = [ gtk2 makeWrapper webkit gsettings_desktop_schemas pkgconfig glib libsoup ]; # Allow users set their own list of patches inherit patches; diff --git a/pkgs/applications/networking/browsers/uzbl/default.nix b/pkgs/applications/networking/browsers/uzbl/default.nix index 4b768602c6ea..6ac8d9f1f6e7 100644 --- a/pkgs/applications/networking/browsers/uzbl/default.nix +++ b/pkgs/applications/networking/browsers/uzbl/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchurl, pkgconfig, python3, makeWrapper, pygtk -, webkit, glib_networking, gsettings_desktop_schemas, pythonPackages +{ stdenv, fetchurl, pkgconfig, python3, makeWrapper +, webkit, glib_networking, gsettings_desktop_schemas, python2Packages }: # This package needs python3 during buildtime, # but Python 2 + packages during runtime. @@ -40,5 +40,5 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig python3 makeWrapper ]; buildInputs = [ gsettings_desktop_schemas webkit ]; - propagatedBuildInputs = [ pygtk pythonPackages.six ]; + propagatedBuildInputs = with python2Packages; [ pygtk six ]; } diff --git a/pkgs/applications/networking/browsers/vimb/default.nix b/pkgs/applications/networking/browsers/vimb/default.nix index ddaaa68f60d4..55dfb05cb3ea 100644 --- a/pkgs/applications/networking/browsers/vimb/default.nix +++ b/pkgs/applications/networking/browsers/vimb/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, libsoup, webkit, gtk, glib_networking +{ stdenv, fetchurl, pkgconfig, libsoup, webkit, gtk2, glib_networking , gsettings_desktop_schemas, makeWrapper }: @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { sha256 = "0d9rankzgmnx5423pyfkbxy0qxw3ck2vrdjdnlhddy15wkk87i9f"; }; - buildInputs = [ makeWrapper gtk libsoup pkgconfig webkit gsettings_desktop_schemas ]; + buildInputs = [ makeWrapper gtk2 libsoup pkgconfig webkit gsettings_desktop_schemas ]; makeFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/applications/networking/browsers/vimprobable2/default.nix b/pkgs/applications/networking/browsers/vimprobable2/default.nix index e2d5061b92e4..c98910cb08c2 100644 --- a/pkgs/applications/networking/browsers/vimprobable2/default.nix +++ b/pkgs/applications/networking/browsers/vimprobable2/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, makeWrapper, glib, glib_networking, gtk, libsoup, libX11, perl, +{ stdenv, fetchurl, makeWrapper, glib, glib_networking, gtk2, libsoup, libX11, perl, pkgconfig, webkit, gsettings_desktop_schemas }: stdenv.mkDerivation rec { @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "13jdximksh9r3cgd2f8vms0pbsn3x0gxvyqdqiw16xp5fmdx5kzr"; }; - buildInputs = [ makeWrapper gtk libsoup libX11 perl pkgconfig webkit gsettings_desktop_schemas ]; + buildInputs = [ makeWrapper gtk2 libsoup libX11 perl pkgconfig webkit gsettings_desktop_schemas ]; hardeningDisable = [ "format" ]; diff --git a/pkgs/applications/networking/browsers/vivaldi/default.nix b/pkgs/applications/networking/browsers/vivaldi/default.nix index f511c6e7e9c7..0531a58f0a23 100644 --- a/pkgs/applications/networking/browsers/vivaldi/default.nix +++ b/pkgs/applications/networking/browsers/vivaldi/default.nix @@ -1,26 +1,27 @@ { stdenv, fetchurl, zlib, libX11, libXext, libSM, libICE , libXfixes, libXt, libXi, libXcursor, libXScrnSaver, libXcomposite, libXdamage, libXtst, libXrandr -, alsaLib, dbus_libs, cups, libexif, ffmpeg, libudev +, alsaLib, dbus_libs, cups, libexif, ffmpeg, systemd , freetype, fontconfig, libXft, libXrender, libxcb, expat, libXau, libXdmcp , libuuid, xz , gstreamer, gst_plugins_base, libxml2 -, glib, gtk, pango, gdk_pixbuf, cairo, atk, gnome3 +, glib, gtk2, pango, gdk_pixbuf, cairo, atk, gnome3 , nss, nspr , patchelf }: let - version = "1.3"; - build = "551.30-1"; + version = "1.6"; + build = "689.34-1"; fullVersion = "stable_${version}.${build}"; info = if stdenv.is64bit then { arch = "amd64"; - sha256 = "89d0630c9df56cfb12a87f23430179f6d14a8c57fb029d1c8d28ab06c98b7640"; + sha256 = "0wn98nzlhppmm3g797kiqr9bxxff8l7l110f1w1fnfl93d325hrm"; } else { arch = "i386"; - sha256 = "0a7e07833f5359e38516222767da63edeca92177cbb6d4ef4946a6ef7c7b2946"; + sha256 = "0agybibfwk5n1gxi8g4rbvvmlq5963df5arz4fyi4a1hcayllaz0"; }; + in stdenv.mkDerivation rec { product = "vivaldi"; name = "${product}-${version}"; @@ -36,9 +37,9 @@ in stdenv.mkDerivation rec { ''; buildInputs = - [ stdenv.cc.cc stdenv.cc.libc zlib libX11 libXt libXext libSM libICE + [ stdenv.cc.cc stdenv.cc.libc zlib libX11 libXt libXext libSM libICE libxcb libXi libXft libXcursor libXfixes libXScrnSaver libXcomposite libXdamage libXtst libXrandr - atk alsaLib dbus_libs cups gtk gdk_pixbuf libexif ffmpeg libudev + atk alsaLib dbus_libs cups gtk2 gdk_pixbuf libexif ffmpeg systemd freetype fontconfig libXrender libuuid expat glib nss nspr gstreamer libxml2 gst_plugins_base pango cairo gnome3.gconf patchelf @@ -53,7 +54,7 @@ in stdenv.mkDerivation rec { patchelf \ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --set-rpath "${libPath}" \ - opt/vivaldi/vivaldi-bin + opt/vivaldi/vivaldi-bin echo "Finished patching Vivaldi binaries" ''; @@ -65,6 +66,17 @@ in stdenv.mkDerivation rec { cp -r opt "$out" mkdir "$out/bin" ln -s "$out/opt/vivaldi/vivaldi" "$out/bin/vivaldi" + mkdir -p "$out/share" + cp -r usr/share/{applications,xfce4} "$out"/share + substituteInPlace "$out"/share/applications/*.desktop \ + --replace /usr/bin/vivaldi-stable "$out"/bin/vivaldi + local d + for d in 16 22 24 32 48 64 128 256; do + mkdir -p "$out"/share/icons/hicolor/''${d}x''${d}/apps + ln -s \ + "$out"/opt/vivaldi/product_logo_''${d}.png \ + "$out"/share/icons/hicolor/''${d}x''${d}/apps/vivaldi.png + done ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/networking/browsers/w3m/default.nix b/pkgs/applications/networking/browsers/w3m/default.nix index e4486943e628..f07668756adf 100644 --- a/pkgs/applications/networking/browsers/w3m/default.nix +++ b/pkgs/applications/networking/browsers/w3m/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchgit, fetchpatch +{ stdenv, fetchFromGitHub, fetchpatch , ncurses, boehmgc, gettext, zlib , sslSupport ? true, openssl ? null , graphicsSupport ? true, imlib2 ? null @@ -15,12 +15,13 @@ assert mouseSupport -> gpm-ncurses != null; with stdenv.lib; stdenv.mkDerivation rec { - name = "w3m-0.5.3-2015-12-20"; + name = "w3m-v0.5.3+git20161120"; - src = fetchgit { - url = "git://anonscm.debian.org/collab-maint/w3m.git"; - rev = "e0b6e022810271bd0efcd655006389ee3879e94d"; - sha256 = "1vahm3719hb0m20nc8k88165z35f8b15qasa0whhk78r12bls1q6"; + src = fetchFromGitHub { + owner = "tats"; + repo = "w3m"; + rev = "v0.5.3+git20161120"; + sha256 = "06n5a9jdyihkd4xdjmyci32dpqp1k2l5awia5g9ng0bn256bacdc"; }; NIX_LDFLAGS = optionalString stdenv.isSunOS "-lsocket -lnsl"; diff --git a/pkgs/applications/networking/c14/default.nix b/pkgs/applications/networking/c14/default.nix new file mode 100644 index 000000000000..188ccdd71d4e --- /dev/null +++ b/pkgs/applications/networking/c14/default.nix @@ -0,0 +1,23 @@ +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + name = "c14-cli-2016-09-09"; + goPackagePath = "github.com/online-net/c14-cli"; + subPackages = [ "cmd/c14" ]; + + src = fetchFromGitHub { + owner = "online-net"; + repo = "c14-cli"; + rev = "e7c7c3cb214fd06df63530a4e861210e7a0a1b6c"; + sha256 = "1k53lii2c04j8cy1bnyfvckl9fglprxp75cmbg15lrp9iic2w22a"; + }; + + goDeps = ./deps.nix; + + meta = with stdenv.lib; { + description = "C14 is designed for data archiving & long-term backups."; + homepage = "https://www.online.net/en/c14"; + license = licenses.mit; + maintainers = with maintainers; [ apeyroux ]; + }; +} diff --git a/pkgs/applications/networking/c14/deps.nix b/pkgs/applications/networking/c14/deps.nix new file mode 100644 index 000000000000..60b6b7384387 --- /dev/null +++ b/pkgs/applications/networking/c14/deps.nix @@ -0,0 +1,65 @@ +[ + { + goPackagePath = "github.com/davecgh/go-spew"; + fetch = { + type = "git"; + url = "https://github.com/davecgh/go-spew"; + rev = "6d212800a42e8ab5c146b8ace3490ee17e5225f9"; + sha256 = "01i0n1s4j7khb7n6mz2wymniz37q0vbzkgfv7rbi6p9hpg227q93"; + }; + } + { + goPackagePath = "github.com/fatih/color"; + fetch = { + type = "git"; + url = "https://github.com/fatih/color"; + rev = "87d4004f2ab62d0d255e0a38f1680aa534549fe3"; + sha256 = "0d51avdl4z38f7jd8qmzrzyh4gxkcjpxd0vvma9zfqhmqy15jqhb"; + }; + } + { + goPackagePath = "github.com/mattn/go-colorable"; + fetch = { + type = "git"; + url = "https://github.com/mattn/go-colorable"; + rev = "ed8eb9e318d7a84ce5915b495b7d35e0cfe7b5a8"; + sha256 = "034fhyqmiqmn0v9gdbdmm0ca5d0pki2q1ch1rd34p9kh9574mjyq"; + }; + } + { + goPackagePath = "github.com/mattn/go-isatty"; + fetch = { + type = "git"; + url = "https://github.com/mattn/go-isatty"; + rev = "66b8e73f3f5cda9f96b69efd03dd3d7fc4a5cdb8"; + sha256 = "17lf13ndnai9a6dlmykqkdyzf1z04q7kffs0l7kvd78wpv3l6rm5"; + }; + } + { + goPackagePath = "github.com/online-net/c14-cli"; + fetch = { + type = "git"; + url = "https://github.com/online-net/c14-cli"; + rev = "e7c7c3cb214fd06df63530a4e861210e7a0a1b6c"; + sha256 = "1k53lii2c04j8cy1bnyfvckl9fglprxp75cmbg15lrp9iic2w22a"; + }; + } + { + goPackagePath = "github.com/pmezard/go-difflib"; + fetch = { + type = "git"; + url = "https://github.com/pmezard/go-difflib"; + rev = "792786c7400a136282c1664665ae0a8db921c6c2"; + sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw"; + }; + } + { + goPackagePath = "github.com/stretchr/testify"; + fetch = { + type = "git"; + url = "https://github.com/stretchr/testify"; + rev = "d77da356e56a7428ad25149ca77381849a6a5232"; + sha256 = "11id286pkzyswxcx2xz6185fzh0nz6yzkk055dd6z02gvinl6pqa"; + }; + } +] diff --git a/pkgs/applications/networking/cluster/chronos/chronos-deps.nix b/pkgs/applications/networking/cluster/chronos/chronos-deps.nix index d258c493aa1a..1caf1ce0bc8e 100644 --- a/pkgs/applications/networking/cluster/chronos/chronos-deps.nix +++ b/pkgs/applications/networking/cluster/chronos/chronos-deps.nix @@ -10,9 +10,5 @@ stdenv.mkDerivation { buildInputs = [ curl ]; - # We borrow these environment variables from the caller to allow - # easy proxy configuration. This is impure, but a fixed-output - # derivation like fetchurl is allowed to do so since its result is - # by definition pure. - impureEnvVars = ["http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy"]; + impureEnvVars = stdenv.lib.fetchers.proxyImpureEnvVars; } diff --git a/pkgs/applications/networking/cluster/cni/default.nix b/pkgs/applications/networking/cluster/cni/default.nix new file mode 100644 index 000000000000..bdff04cb0738 --- /dev/null +++ b/pkgs/applications/networking/cluster/cni/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchFromGitHub, go }: + +stdenv.mkDerivation rec { + name = "cni-${version}"; + version = "0.3.0"; + + src = fetchFromGitHub { + owner = "containernetworking"; + repo = "cni"; + rev = "v${version}"; + sha256 = "1nvixvf5slnsdrfpfs2km64x680wf83jbyp7il12bcim37q2az7m"; + }; + + buildInputs = [ go ]; + + outputs = ["out" "plugins"]; + + buildPhase = '' + patchShebangs build + ./build + ''; + + installPhase = '' + mkdir -p $out/bin $plugins + mv bin/cnitool $out/bin + mv bin/* $plugins/ + ''; + + meta = with stdenv.lib; { + description = "Container Network Interface - networking for Linux containers"; + license = licenses.asl20; + homepage = https://github.com/containernetworking/cni; + maintainers = with maintainers; [offline]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/applications/networking/cluster/docker-machine/default.nix b/pkgs/applications/networking/cluster/docker-machine/default.nix new file mode 100644 index 000000000000..d714033e4125 --- /dev/null +++ b/pkgs/applications/networking/cluster/docker-machine/default.nix @@ -0,0 +1,33 @@ +# This file was generated by go2nix. +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + name = "machine-${version}"; + version = "0.8.1"; + + goPackagePath = "github.com/docker/machine"; + + src = fetchFromGitHub { + rev = "v${version}"; + owner = "docker"; + repo = "machine"; + sha256 = "0l4a5bqfw8i8wrl5yzkqy848r7vdx6hw8p5m3z3vzabvsmsjjwy7"; + }; + + postInstall = '' + mkdir -p $bin/share/bash-completion/completions/ + cp go/src/github.com/docker/machine/contrib/completion/bash/* $bin/share/bash-completion/completions/ + ''; + + postFixup = '' + mv $bin/bin/cmd $bin/bin/docker-machine + ''; + + meta = with stdenv.lib; { + homepage = https://docs.docker.com/machine/; + description = "Docker Machine is a tool that lets you install Docker Engine on virtual hosts, and manage Docker Engine on the hosts."; + license = licenses.asl20; + maintainers = with maintainers; [ offline tailhook ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/networking/cluster/docker-machine/kvm-deps.nix b/pkgs/applications/networking/cluster/docker-machine/kvm-deps.nix new file mode 100644 index 000000000000..709491a76f8a --- /dev/null +++ b/pkgs/applications/networking/cluster/docker-machine/kvm-deps.nix @@ -0,0 +1,21 @@ +# This file was generated by go2nix. +[ + { + goPackagePath = "github.com/alexzorin/libvirt-go"; + fetch = { + type = "git"; + url = "https://github.com/alexzorin/libvirt-go"; + rev = "9359c4feb97212380aa05213fa30c4b7348365f0"; + sha256 = "02ipw28pjl5ng2xk63r279apc2py1yr5brcpnsc0cnd2imd51fqa"; + }; + } + { + goPackagePath = "github.com/docker/machine"; + fetch = { + type = "git"; + url = "https://github.com/docker/machine"; + rev = "bb37dc7806687013c0c3097342ef7db4257655d2"; + sha256 = "0wgyxpwis4hyknqalal1cnvb0v3j8f6lscchhk9ch6i69ngiaf03"; + }; + } +] diff --git a/pkgs/applications/networking/cluster/docker-machine/kvm.nix b/pkgs/applications/networking/cluster/docker-machine/kvm.nix new file mode 100644 index 000000000000..46105f34b5b7 --- /dev/null +++ b/pkgs/applications/networking/cluster/docker-machine/kvm.nix @@ -0,0 +1,31 @@ +# This file was generated by go2nix. +{ stdenv, buildGoPackage, fetchFromGitHub, libvirt }: + +buildGoPackage rec { + name = "docker-machine-kvm-${version}"; + version = "0.7.0"; + + goPackagePath = "github.com/dhiltgen/docker-machine-kvm"; + goDeps = ./kvm-deps.nix; + + src = fetchFromGitHub { + rev = "v${version}"; + owner = "dhiltgen"; + repo = "docker-machine-kvm"; + sha256 = "0zkwwkx74vsfd7v38y9sidi759mhdcpm4409l9y4cx0wmkpavlv6"; + }; + + buildInputs = [ libvirt ]; + + postInstall = '' + mv $bin/bin/bin $bin/bin/docker-machine-driver-kvm + ''; + + meta = with stdenv.lib; { + homepage = https://github.com/dhiltgen/docker-machine-kvm; + description = "KVM driver for docker-machine."; + license = licenses.asl20; + maintainers = with maintainers; [ offline ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/networking/cluster/hadoop/default.nix b/pkgs/applications/networking/cluster/hadoop/default.nix index c5cc7ca74312..55ebb580f52b 100644 --- a/pkgs/applications/networking/cluster/hadoop/default.nix +++ b/pkgs/applications/networking/cluster/hadoop/default.nix @@ -15,7 +15,8 @@ stdenv.mkDerivation rec { for n in "bin/"* "sbin/"*; do sed -i $n -e "s|#!/usr/bin/env bash|#! ${bash}/bin/bash|" done - patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" bin/container-executor + '' + stdenv.lib.optionalString (!stdenv.isDarwin) '' + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" bin/container-executor; ''; installPhase = '' diff --git a/pkgs/applications/networking/cluster/helm/default.nix b/pkgs/applications/networking/cluster/helm/default.nix new file mode 100644 index 000000000000..a258a8024770 --- /dev/null +++ b/pkgs/applications/networking/cluster/helm/default.nix @@ -0,0 +1,45 @@ +{ stdenv, fetchurl, kubernetes }: +let + arch = if stdenv.isLinux + then "linux-amd64" + else "darwin-amd64"; + checksum = if stdenv.isLinux + then "1797ab74720f122432eace591fb415e5e5f5db97f4b6608ca8dbe59bae988374" + else "2b522dcfe27e987138f7826c79fb26a187075dd9be5c5a4c76fd6846bf109014"; +in +stdenv.mkDerivation rec { + pname = "helm"; + version = "2.1.2"; + name = "${pname}-${version}"; + + src = fetchurl { + url = "https://kubernetes-helm.storage.googleapis.com/helm-v${version}-${arch}.tar.gz"; + sha256 = "${checksum}"; + }; + + preferLocalBuild = true; + + buildInputs = [ ]; + + propagatedBuildInputs = [ kubernetes ]; + + phases = [ "buildPhase" "installPhase" ]; + + buildPhase = '' + mkdir -p $out/bin + ''; + + installPhase = '' + tar -xvzf $src + cp ${arch}/helm $out/bin/${pname} + chmod +x $out/bin/${pname} + ''; + + meta = with stdenv.lib; { + homepage = https://github.com/kubernetes/helm; + description = "A package manager for kubernetes"; + license = licenses.asl20; + maintainers = [ maintainers.rlupton20 ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/pkgs/applications/networking/cluster/kops/default.nix b/pkgs/applications/networking/cluster/kops/default.nix new file mode 100644 index 000000000000..80747e44bf53 --- /dev/null +++ b/pkgs/applications/networking/cluster/kops/default.nix @@ -0,0 +1,31 @@ +{ stdenv, lib, buildGoPackage, fetchFromGitHub, go-bindata }: + +buildGoPackage rec { + name = "kops-${version}"; + version = "1.4.0"; + rev = "v${version}"; + + goPackagePath = "k8s.io/kops"; + + src = fetchFromGitHub { + inherit rev; + owner = "kubernetes"; + repo = "kops"; + sha256 = "1jwgn7l8c639j5annwymqjdw5mcajwn58y21042jy5lhgdh8pdf5"; + }; + + buildInputs = [go-bindata]; + subPackages = ["cmd/kops"]; + + preBuild = '' + (cd go/src/k8s.io/kops + go-bindata -o upup/models/bindata.go -pkg models -prefix upup/models/ upup/models/...) + ''; + + meta = with stdenv.lib; { + description = "Easiest way to get a production Kubernetes up and running"; + homepage = https://github.com/kubernetes/kops; + license = licenses.asl20; + maintainers = with maintainers; [offline]; + }; +} diff --git a/pkgs/applications/networking/cluster/kubernetes/default.nix b/pkgs/applications/networking/cluster/kubernetes/default.nix index 75083409ba7b..da5d426a0c5d 100644 --- a/pkgs/applications/networking/cluster/kubernetes/default.nix +++ b/pkgs/applications/networking/cluster/kubernetes/default.nix @@ -1,55 +1,75 @@ -{ stdenv, fetchFromGitHub, which, go, makeWrapper, iptables, rsync, utillinux, coreutils, e2fsprogs, procps-ng }: +{ stdenv, lib, fetchFromGitHub, which, go, go-bindata, makeWrapper, rsync +, iptables, coreutils +, components ? [ + "cmd/kubectl" + "cmd/kubelet" + "cmd/kube-apiserver" + "cmd/kube-controller-manager" + "cmd/kube-proxy" + "plugin/cmd/kube-scheduler" + "cmd/kube-dns" + "federation/cmd/federation-apiserver" + "federation/cmd/federation-controller-manager" + ] +}: + +with lib; stdenv.mkDerivation rec { name = "kubernetes-${version}"; - version = "1.2.4"; + version = "1.4.6"; src = fetchFromGitHub { owner = "kubernetes"; repo = "kubernetes"; rev = "v${version}"; - sha256 = "1a3y0f1l008ywkwwygg9vn2rb722c54i3pbgqks38gw1yyvgbiih"; + sha256 = "1n5ppzr9hnn7ljfdgx40rnkn6n6a9ya0qyrhjhpnbfwz5mdp8ws3"; }; - buildInputs = [ makeWrapper which go iptables rsync ]; + buildInputs = [ makeWrapper which go rsync go-bindata ]; - buildPhase = '' - GOPATH=$(pwd):$(pwd)/Godeps/_workspace - mkdir -p $(pwd)/Godeps/_workspace/src/k8s.io - ln -s $(pwd) $(pwd)/Godeps/_workspace/src/k8s.io/kubernetes + outputs = ["out" "man" "pause"]; + postPatch = '' substituteInPlace "hack/lib/golang.sh" --replace "_cgo" "" - patchShebangs ./hack - hack/build-go.sh --use_go_build + substituteInPlace "hack/generate-docs.sh" --replace "make" "make SHELL=${stdenv.shell}" + substituteInPlace "hack/update-munge-docs.sh" --replace "make" "make SHELL=${stdenv.shell}" + substituteInPlace "hack/update-munge-docs.sh" --replace "kube::util::git_upstream_remote_name" "echo origin" - (cd cluster/addons/dns/kube2sky && go build ./kube2sky.go) + patchShebangs ./hack + ''; + + WHAT="--use_go_build ${concatStringsSep " " components}"; + + postBuild = '' + ./hack/generate-docs.sh + (cd build/pause && gcc pause.c -o pause) ''; installPhase = '' - mkdir -p "$out/bin" "$out"/libexec/kubernetes/cluster - cp _output/local/go/bin/{kube*,hyperkube} "$out/bin/" - cp cluster/addons/dns/kube2sky/kube2sky "$out/bin/" - cp cluster/saltbase/salt/helpers/safe_format_and_mount "$out/libexec/kubernetes" - cp -R hack "$out/libexec/kubernetes" - cp cluster/update-storage-objects.sh "$out/libexec/kubernetes/cluster" - makeWrapper "$out"/libexec/kubernetes/cluster/update-storage-objects.sh "$out"/bin/kube-update-storage-objects \ - --prefix KUBE_BIN : "$out/bin" + mkdir -p "$out/bin" "$out/share/bash-completion/completions" "$man/share/man" "$pause/bin" + + cp _output/local/go/bin/* "$out/bin/" + cp build/pause/pause "$pause/bin/pause" + cp -R docs/man/man1 "$man/share/man" + + $out/bin/kubectl completion bash > $out/share/bash-completion/completions/kubectl ''; preFixup = '' - wrapProgram "$out/bin/kube-proxy" --prefix PATH : "${iptables}/bin" - wrapProgram "$out/bin/kubelet" --prefix PATH : "${stdenv.lib.makeBinPath [ utillinux procps-ng ]}" - chmod +x "$out/libexec/kubernetes/safe_format_and_mount" - wrapProgram "$out/libexec/kubernetes/safe_format_and_mount" --prefix PATH : "${stdenv.lib.makeBinPath [ e2fsprogs utillinux ]}" - substituteInPlace "$out"/libexec/kubernetes/cluster/update-storage-objects.sh \ - --replace KUBE_OUTPUT_HOSTBIN KUBE_BIN + # Remove references to go compiler + while read file; do + cat $file | sed "s,${go},$(echo "${go}" | sed "s,$NIX_STORE/[^-]*,$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee,"),g" > $file.tmp + mv $file.tmp $file + chmod +x $file + done < <(find $out/bin $pause/bin -type f 2>/dev/null) ''; - meta = with stdenv.lib; { + meta = { description = "Production-Grade Container Scheduling and Management"; license = licenses.asl20; homepage = http://kubernetes.io; maintainers = with maintainers; [offline]; - platforms = [ "x86_64-linux" ]; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/networking/cluster/marathon/default.nix b/pkgs/applications/networking/cluster/marathon/default.nix index f737d4e04bd5..fa19c562e8cc 100644 --- a/pkgs/applications/networking/cluster/marathon/default.nix +++ b/pkgs/applications/networking/cluster/marathon/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "marathon-${version}"; - version = "1.1.1"; + version = "1.3.6"; src = fetchurl { url = "https://downloads.mesosphere.com/marathon/v${version}/marathon-${version}.tgz"; - sha256 = "35a80401383f6551c45c676beed30b3c1af6d3ad027f44735c208abe8eaca93d"; + sha256 = "12a6ah6qsx1ap6y7sps4vwkq8lyc08k1qnak2mnsa04ifrx9z0dy"; }; buildInputs = [ makeWrapper jdk mesos ]; diff --git a/pkgs/applications/networking/cluster/mesos/default.nix b/pkgs/applications/networking/cluster/mesos/default.nix index 27c31443f120..8857e6ba4e35 100644 --- a/pkgs/applications/networking/cluster/mesos/default.nix +++ b/pkgs/applications/networking/cluster/mesos/default.nix @@ -2,6 +2,7 @@ , automake115x, libtool, unzip, gnutar, jdk, maven, python, wrapPython , setuptools, boto, pythonProtobuf, apr, subversion, gzip, systemd , leveldb, glog, perf, utillinux, libnl, iproute, openssl, libevent +, ethtool, coreutils , bash }: @@ -10,7 +11,7 @@ let soext = if stdenv.system == "x86_64-darwin" then "dylib" else "so"; in stdenv.mkDerivation rec { - version = "0.28.0"; + version = "1.0.1"; name = "mesos-${version}"; enableParallelBuilding = true; @@ -18,13 +19,19 @@ in stdenv.mkDerivation rec { src = fetchurl { url = "mirror://apache/mesos/${version}/${name}.tar.gz"; - sha256 = "05dnj6r5pspizna0fk7yayn38a4w9hlcswgg8l9qmb35m6nq6hby"; + sha256 = "1hdh2wh11ck98ycfrxfzgivgk2pjl3638vkyw14xj7faj9qxjlz0"; }; patches = [ # https://reviews.apache.org/r/36610/ ./rb36610.patch - ./maven_repo.patch + + # https://issues.apache.org/jira/browse/MESOS-6013 + ./rb51324.patch + ./rb51325.patch + + # see https://github.com/cstrahan/mesos/tree/nixos-${version} + ./nixos.patch ]; buildInputs = [ @@ -40,59 +47,59 @@ in stdenv.mkDerivation rec { ]; preConfigure = '' - substituteInPlace src/Makefile.am --subst-var-by mavenRepo ${mavenRepo} - - substituteInPlace 3rdparty/libprocess/include/process/subprocess.hpp \ - --replace '"sh"' '"${bash}/bin/bash"' + substituteInPlace 3rdparty/stout/include/stout/os/posix/fork.hpp \ + --subst-var-by sh ${bash}/bin/bash - substituteInPlace 3rdparty/libprocess/3rdparty/stout/include/stout/posix/os.hpp \ - --replace '"sh"' '"${bash}/bin/bash"' + substituteInPlace 3rdparty/stout/include/stout/os/posix/shell.hpp \ + --subst-var-by sh ${bash}/bin/bash - substituteInPlace 3rdparty/libprocess/3rdparty/stout/include/stout/os/posix/shell.hpp \ - --replace '"sh"' '"${bash}/bin/bash"' + substituteInPlace src/Makefile.am \ + --subst-var-by mavenRepo ${mavenRepo} - substituteInPlace 3rdparty/libprocess/3rdparty/stout/include/stout/os/posix/fork.hpp \ - --replace '"sh"' '"${bash}/bin/bash"' + substituteInPlace src/cli/mesos-scp \ + --subst-var-by scp ${openssh}/bin/scp - substituteInPlace src/cli/mesos-scp \ - --replace "'scp " "'${openssh}/bin/scp " - - substituteInPlace src/launcher/executor.cpp \ - --replace '"sh"' '"${bash}/bin/bash"' - substituteInPlace src/launcher/fetcher.cpp \ - --replace '"gzip' '"${gzip}/bin/gzip' \ - --replace '"tar' '"${gnutar}/bin/tar' \ - --replace '"unzip' '"${unzip}/bin/unzip' + --subst-var-by gzip ${gzip}/bin/gzip \ + --subst-var-by tar ${gnutar}/bin/tar \ + --subst-var-by unzip ${unzip}/bin/unzip substituteInPlace src/python/cli/src/mesos/cli.py \ - --replace "['mesos-resolve'" "['$out/bin/mesos-resolve'" - - substituteInPlace src/slave/containerizer/mesos/launch.cpp \ - --replace '"sh"' '"${bash}/bin/bash"' + --subst-var-by mesos-resolve $out/bin/mesos-resolve + + substituteInPlace src/slave/containerizer/mesos/isolators/posix/disk.cpp \ + --subst-var-by du ${coreutils}/bin/du \ + --subst-var-by cp ${coreutils}/bin/cp + + substituteInPlace src/slave/containerizer/mesos/provisioner/backends/copy.cpp \ + --subst-var-by cp ${coreutils}/bin/cp + + substituteInPlace src/uri/fetchers/copy.cpp \ + --subst-var-by cp ${coreutils}/bin/cp + + substituteInPlace src/uri/fetchers/curl.cpp \ + --subst-var-by curl ${curl}/bin/curl + + substituteInPlace src/uri/fetchers/docker.cpp \ + --subst-var-by curl ${curl}/bin/curl '' + lib.optionalString stdenv.isLinux '' - substituteInPlace configure.ac \ - --replace /usr/include/libnl3 ${libnl.dev}/include/libnl3 - - substituteInPlace src/linux/perf.cpp \ - --replace '"perf ' '"${perf}/bin/perf ' - - substituteInPlace src/linux/systemd.cpp \ - --replace 'os::realpath("/sbin/init")' '"${systemd}/lib/systemd/systemd"' + substituteInPlace src/linux/perf.cpp \ + --subst-var-by perf ${perf}/bin/perf substituteInPlace src/slave/containerizer/mesos/isolators/filesystem/shared.cpp \ - --replace '"mount ' '"${utillinux}/bin/mount ' \ + --subst-var-by mount ${utillinux}/bin/mount substituteInPlace src/slave/containerizer/mesos/isolators/namespaces/pid.cpp \ - --replace '"mount ' '"${utillinux}/bin/mount ' \ + --subst-var-by mount ${utillinux}/bin/mount substituteInPlace src/slave/containerizer/mesos/isolators/network/port_mapping.cpp \ - --replace '"tc ' '"${iproute}/bin/tc ' \ - --replace '"ip ' '"${iproute}/bin/ip ' \ - --replace '"mount ' '"${utillinux}/bin/mount ' \ - --replace '/bin/sh' "${stdenv.shell}" + --subst-var-by tc ${iproute}/bin/tc \ + --subst-var-by ip ${iproute}/bin/ip \ + --subst-var-by mount ${utillinux}/bin/mount \ + --subst-var-by sh ${stdenv.shell} \ + --subst-var-by ethtool ${ethtool}/sbin/ethtool ''; configureFlags = [ @@ -108,8 +115,11 @@ in stdenv.mkDerivation rec { "--with-ssl=${openssl.dev}" "--enable-libevent" "--with-libevent=${libevent.dev}" + "--with-protobuf=${pythonProtobuf.protobuf}" + "PROTOBUF_JAR=${mavenRepo}/com/google/protobuf/protobuf-java/2.6.1/protobuf-java-2.6.1.jar" ] ++ lib.optionals stdenv.isLinux [ "--with-network-isolator" + "--with-nl=${libnl.dev}" ]; postInstall = '' diff --git a/pkgs/applications/networking/cluster/mesos/fetch-mesos-deps.sh b/pkgs/applications/networking/cluster/mesos/fetch-mesos-deps.sh index bcdae83839fc..f4a4588dbe41 100644 --- a/pkgs/applications/networking/cluster/mesos/fetch-mesos-deps.sh +++ b/pkgs/applications/networking/cluster/mesos/fetch-mesos-deps.sh @@ -9,1292 +9,1349 @@ function fetchArtifact { curl --fail --location --insecure --retry 3 --max-redirs 20 "$url" --output "$out/$repoPath" } -fetchArtifact org/apache/maven/maven-compat/3.0/maven-compat-3.0.jar -fetchArtifact org/apache/maven/maven-profile/2.2.0/maven-profile-2.2.0.jar -fetchArtifact org/apache/maven/maven-artifact-manager/2.2.0/maven-artifact-manager-2.2.0.jar -fetchArtifact org/apache/maven/maven-project/2.2.0/maven-project-2.2.0.jar -fetchArtifact org/apache/maven/maven-plugin-registry/2.2.0/maven-plugin-registry-2.2.0.jar -fetchArtifact org/apache/maven/maven-artifact/3.0/maven-artifact-3.0.jar -fetchArtifact org/apache/maven/maven-repository-metadata/3.0/maven-repository-metadata-3.0.jar -fetchArtifact org/apache/maven/maven-model-builder/3.0/maven-model-builder-3.0.jar -fetchArtifact org/apache/maven/maven-core/3.0/maven-core-3.0.jar -fetchArtifact org/sonatype/aether/aether-spi/1.7/aether-spi-1.7.jar -fetchArtifact org/sonatype/aether/aether-api/1.7/aether-api-1.7.jar -fetchArtifact org/sonatype/aether/aether-impl/1.7/aether-impl-1.7.jar -fetchArtifact org/sonatype/sisu/sisu-inject-plexus/1.4.2/sisu-inject-plexus-1.4.2.jar -fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.jar -fetchArtifact org/apache/maven/maven-model/3.0/maven-model-3.0.jar -fetchArtifact org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.jar -fetchArtifact org/apache/maven/maven-settings/3.0/maven-settings-3.0.jar -fetchArtifact org/apache/maven/maven-settings-builder/3.0/maven-settings-builder-3.0.jar -fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-beta-6/wagon-provider-api-1.0-beta-6.jar -fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/wagon-provider-api-1.0-alpha-6.jar -fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0/wagon-provider-api-1.0.jar -fetchArtifact org/apache/maven/maven-aether-provider/3.0/maven-aether-provider-3.0.jar -fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-30/plexus-container-default-1.0-alpha-30.jar -fetchArtifact antlr/antlr/2.7.2/antlr-2.7.2.jar -fetchArtifact antlr/antlr/2.7.2/antlr-2.7.2.jar.sha1 -fetchArtifact antlr/antlr/2.7.2/antlr-2.7.2.pom -fetchArtifact antlr/antlr/2.7.2/antlr-2.7.2.pom.sha1 -fetchArtifact asm/asm/3.2/asm-3.2.pom -fetchArtifact asm/asm/3.2/asm-3.2.pom.sha1 -fetchArtifact asm/asm/3.3.1/asm-3.3.1.jar -fetchArtifact asm/asm/3.3.1/asm-3.3.1.jar.sha1 -fetchArtifact asm/asm/3.3.1/asm-3.3.1.pom -fetchArtifact asm/asm/3.3.1/asm-3.3.1.pom.sha1 -fetchArtifact asm/asm-analysis/3.2/asm-analysis-3.2.jar -fetchArtifact asm/asm-analysis/3.2/asm-analysis-3.2.jar.sha1 -fetchArtifact asm/asm-analysis/3.2/asm-analysis-3.2.pom -fetchArtifact asm/asm-analysis/3.2/asm-analysis-3.2.pom.sha1 -fetchArtifact asm/asm-commons/3.2/asm-commons-3.2.pom -fetchArtifact asm/asm-commons/3.2/asm-commons-3.2.pom.sha1 -fetchArtifact asm/asm-commons/3.3.1/asm-commons-3.3.1.jar -fetchArtifact asm/asm-commons/3.3.1/asm-commons-3.3.1.jar.sha1 -fetchArtifact asm/asm-commons/3.3.1/asm-commons-3.3.1.pom -fetchArtifact asm/asm-commons/3.3.1/asm-commons-3.3.1.pom.sha1 -fetchArtifact asm/asm-parent/3.2/asm-parent-3.2.pom -fetchArtifact asm/asm-parent/3.2/asm-parent-3.2.pom.sha1 -fetchArtifact asm/asm-parent/3.3.1/asm-parent-3.3.1.pom -fetchArtifact asm/asm-parent/3.3.1/asm-parent-3.3.1.pom.sha1 -fetchArtifact asm/asm-tree/3.2/asm-tree-3.2.pom -fetchArtifact asm/asm-tree/3.2/asm-tree-3.2.pom.sha1 -fetchArtifact asm/asm-tree/3.3.1/asm-tree-3.3.1.jar -fetchArtifact asm/asm-tree/3.3.1/asm-tree-3.3.1.jar.sha1 -fetchArtifact asm/asm-tree/3.3.1/asm-tree-3.3.1.pom -fetchArtifact asm/asm-tree/3.3.1/asm-tree-3.3.1.pom.sha1 -fetchArtifact asm/asm-util/3.2/asm-util-3.2.jar -fetchArtifact asm/asm-util/3.2/asm-util-3.2.jar.sha1 -fetchArtifact asm/asm-util/3.2/asm-util-3.2.pom -fetchArtifact asm/asm-util/3.2/asm-util-3.2.pom.sha1 -fetchArtifact avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.pom -fetchArtifact avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.pom.sha1 -fetchArtifact backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar -fetchArtifact backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar.sha1 -fetchArtifact backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.pom -fetchArtifact backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.pom.sha1 -fetchArtifact classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar -fetchArtifact classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom -fetchArtifact classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom.sha1 -fetchArtifact classworlds/classworlds/1.1/classworlds-1.1.jar -fetchArtifact classworlds/classworlds/1.1/classworlds-1.1.pom -fetchArtifact classworlds/classworlds/1.1/classworlds-1.1.pom.sha1 -fetchArtifact com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar -fetchArtifact com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar.sha1 -fetchArtifact com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.pom -fetchArtifact com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.pom.sha1 -fetchArtifact com/google/collections/google-collections/1.0/google-collections-1.0.pom -fetchArtifact com/google/collections/google-collections/1.0/google-collections-1.0.pom.sha1 -fetchArtifact com/google/google/1/google-1.pom -fetchArtifact com/google/google/1/google-1.pom.sha1 -fetchArtifact com/google/guava/guava/11.0.2/guava-11.0.2.jar -fetchArtifact com/google/guava/guava/11.0.2/guava-11.0.2.jar.sha1 -fetchArtifact com/google/guava/guava/11.0.2/guava-11.0.2.pom -fetchArtifact com/google/guava/guava/11.0.2/guava-11.0.2.pom.sha1 -fetchArtifact com/google/guava/guava-parent/11.0.2/guava-parent-11.0.2.pom -fetchArtifact com/google/guava/guava-parent/11.0.2/guava-parent-11.0.2.pom.sha1 -fetchArtifact com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.jar -fetchArtifact com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.jar.sha1 -fetchArtifact com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.pom -fetchArtifact com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.pom.sha1 -fetchArtifact com/jcraft/jsch/0.1.44-1/jsch-0.1.44-1.jar -fetchArtifact com/jcraft/jsch/0.1.44-1/jsch-0.1.44-1.jar.sha1 -fetchArtifact com/jcraft/jsch/0.1.44-1/jsch-0.1.44-1.pom -fetchArtifact com/jcraft/jsch/0.1.44-1/jsch-0.1.44-1.pom.sha1 -fetchArtifact commons-beanutils/commons-beanutils/1.6/commons-beanutils-1.6.pom -fetchArtifact commons-beanutils/commons-beanutils/1.6/commons-beanutils-1.6.pom.sha1 -fetchArtifact commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar -fetchArtifact commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar.sha1 -fetchArtifact commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.pom -fetchArtifact commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.pom.sha1 -fetchArtifact commons-chain/commons-chain/1.1/commons-chain-1.1.jar -fetchArtifact commons-chain/commons-chain/1.1/commons-chain-1.1.jar.sha1 -fetchArtifact commons-chain/commons-chain/1.1/commons-chain-1.1.pom -fetchArtifact commons-chain/commons-chain/1.1/commons-chain-1.1.pom.sha1 -fetchArtifact commons-cli/commons-cli/1.0/commons-cli-1.0.jar -fetchArtifact commons-cli/commons-cli/1.0/commons-cli-1.0.jar.sha1 -fetchArtifact commons-cli/commons-cli/1.0/commons-cli-1.0.pom -fetchArtifact commons-cli/commons-cli/1.0/commons-cli-1.0.pom.sha1 -fetchArtifact commons-codec/commons-codec/1.2/commons-codec-1.2.jar -fetchArtifact commons-codec/commons-codec/1.2/commons-codec-1.2.jar.sha1 -fetchArtifact commons-codec/commons-codec/1.2/commons-codec-1.2.pom -fetchArtifact commons-codec/commons-codec/1.2/commons-codec-1.2.pom.sha1 -fetchArtifact commons-codec/commons-codec/1.3/commons-codec-1.3.jar -fetchArtifact commons-codec/commons-codec/1.3/commons-codec-1.3.jar.sha1 -fetchArtifact commons-codec/commons-codec/1.3/commons-codec-1.3.pom -fetchArtifact commons-codec/commons-codec/1.3/commons-codec-1.3.pom.sha1 -fetchArtifact commons-collections/commons-collections/2.0/commons-collections-2.0.pom -fetchArtifact commons-collections/commons-collections/2.0/commons-collections-2.0.pom.sha1 -fetchArtifact commons-collections/commons-collections/2.1/commons-collections-2.1.pom -fetchArtifact commons-collections/commons-collections/2.1/commons-collections-2.1.pom.sha1 -fetchArtifact commons-collections/commons-collections/3.1/commons-collections-3.1.jar -fetchArtifact commons-collections/commons-collections/3.1/commons-collections-3.1.jar.sha1 -fetchArtifact commons-collections/commons-collections/3.1/commons-collections-3.1.pom -fetchArtifact commons-collections/commons-collections/3.1/commons-collections-3.1.pom.sha1 -fetchArtifact commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar -fetchArtifact commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar.sha1 -fetchArtifact commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.pom -fetchArtifact commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.pom.sha1 -fetchArtifact commons-collections/commons-collections/3.2/commons-collections-3.2.jar -fetchArtifact commons-collections/commons-collections/3.2/commons-collections-3.2.jar.sha1 -fetchArtifact commons-collections/commons-collections/3.2/commons-collections-3.2.pom -fetchArtifact commons-collections/commons-collections/3.2/commons-collections-3.2.pom.sha1 -fetchArtifact commons-digester/commons-digester/1.6/commons-digester-1.6.jar -fetchArtifact commons-digester/commons-digester/1.6/commons-digester-1.6.jar.sha1 -fetchArtifact commons-digester/commons-digester/1.6/commons-digester-1.6.pom -fetchArtifact commons-digester/commons-digester/1.6/commons-digester-1.6.pom.sha1 -fetchArtifact commons-digester/commons-digester/1.8/commons-digester-1.8.jar -fetchArtifact commons-digester/commons-digester/1.8/commons-digester-1.8.jar.sha1 -fetchArtifact commons-digester/commons-digester/1.8/commons-digester-1.8.pom -fetchArtifact commons-digester/commons-digester/1.8/commons-digester-1.8.pom.sha1 -fetchArtifact commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.jar -fetchArtifact commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.jar.sha1 -fetchArtifact commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.pom -fetchArtifact commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.pom.sha1 -fetchArtifact commons-io/commons-io/1.3.2/commons-io-1.3.2.jar -fetchArtifact commons-io/commons-io/1.3.2/commons-io-1.3.2.jar.sha1 -fetchArtifact commons-io/commons-io/1.3.2/commons-io-1.3.2.pom -fetchArtifact commons-io/commons-io/1.3.2/commons-io-1.3.2.pom.sha1 -fetchArtifact commons-io/commons-io/1.4/commons-io-1.4.jar -fetchArtifact commons-io/commons-io/1.4/commons-io-1.4.jar.sha1 -fetchArtifact commons-io/commons-io/1.4/commons-io-1.4.pom -fetchArtifact commons-io/commons-io/1.4/commons-io-1.4.pom.sha1 -fetchArtifact commons-lang/commons-lang/2.1/commons-lang-2.1.jar -fetchArtifact commons-lang/commons-lang/2.1/commons-lang-2.1.jar.sha1 -fetchArtifact commons-lang/commons-lang/2.1/commons-lang-2.1.pom -fetchArtifact commons-lang/commons-lang/2.1/commons-lang-2.1.pom.sha1 -fetchArtifact commons-lang/commons-lang/2.4/commons-lang-2.4.jar -fetchArtifact commons-lang/commons-lang/2.4/commons-lang-2.4.jar.sha1 -fetchArtifact commons-lang/commons-lang/2.4/commons-lang-2.4.pom -fetchArtifact commons-lang/commons-lang/2.4/commons-lang-2.4.pom.sha1 -fetchArtifact commons-lang/commons-lang/2.5/commons-lang-2.5.jar -fetchArtifact commons-lang/commons-lang/2.5/commons-lang-2.5.jar.sha1 -fetchArtifact commons-lang/commons-lang/2.5/commons-lang-2.5.pom -fetchArtifact commons-lang/commons-lang/2.5/commons-lang-2.5.pom.sha1 -fetchArtifact commons-lang/commons-lang/2.6/commons-lang-2.6.jar -fetchArtifact commons-lang/commons-lang/2.6/commons-lang-2.6.jar.sha1 -fetchArtifact commons-lang/commons-lang/2.6/commons-lang-2.6.pom -fetchArtifact commons-lang/commons-lang/2.6/commons-lang-2.6.pom.sha1 -fetchArtifact commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.pom -fetchArtifact commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.pom.sha1 -fetchArtifact commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar -fetchArtifact commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar.sha1 -fetchArtifact commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.pom -fetchArtifact commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.pom.sha1 -fetchArtifact commons-logging/commons-logging/1.0/commons-logging-1.0.pom -fetchArtifact commons-logging/commons-logging/1.0/commons-logging-1.0.pom.sha1 -fetchArtifact commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar -fetchArtifact commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar.sha1 -fetchArtifact commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.pom -fetchArtifact commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.pom.sha1 -fetchArtifact commons-logging/commons-logging/1.1/commons-logging-1.1.pom -fetchArtifact commons-logging/commons-logging/1.1/commons-logging-1.1.pom.sha1 -fetchArtifact commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.pom -fetchArtifact commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.pom.sha1 -fetchArtifact commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.jar -fetchArtifact commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.jar.sha1 -fetchArtifact commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.pom -fetchArtifact commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.pom.sha1 -fetchArtifact commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.jar -fetchArtifact commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.jar.sha1 -fetchArtifact commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.pom -fetchArtifact commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.pom.sha1 -fetchArtifact com/thoughtworks/qdox/qdox/1.12/qdox-1.12.jar -fetchArtifact com/thoughtworks/qdox/qdox/1.12/qdox-1.12.jar.sha1 -fetchArtifact com/thoughtworks/qdox/qdox/1.12/qdox-1.12.pom -fetchArtifact com/thoughtworks/qdox/qdox/1.12/qdox-1.12.pom.sha1 -fetchArtifact dom4j/dom4j/1.1/dom4j-1.1.jar -fetchArtifact dom4j/dom4j/1.1/dom4j-1.1.jar.sha1 -fetchArtifact dom4j/dom4j/1.1/dom4j-1.1.pom -fetchArtifact dom4j/dom4j/1.1/dom4j-1.1.pom.sha1 -fetchArtifact doxia/doxia-sink-api/1.0-alpha-4/doxia-sink-api-1.0-alpha-4.pom -fetchArtifact doxia/doxia-sink-api/1.0-alpha-4/doxia-sink-api-1.0-alpha-4.pom.sha1 -fetchArtifact javax/servlet/servlet-api/2.3/servlet-api-2.3.pom -fetchArtifact javax/servlet/servlet-api/2.3/servlet-api-2.3.pom.sha1 -fetchArtifact javax/servlet/servlet-api/2.5/servlet-api-2.5.jar -fetchArtifact javax/servlet/servlet-api/2.5/servlet-api-2.5.jar.sha1 -fetchArtifact javax/servlet/servlet-api/2.5/servlet-api-2.5.pom -fetchArtifact javax/servlet/servlet-api/2.5/servlet-api-2.5.pom.sha1 -fetchArtifact junit/junit/3.8.1/junit-3.8.1.jar -fetchArtifact junit/junit/3.8.1/junit-3.8.1.jar.sha1 -fetchArtifact junit/junit/3.8.1/junit-3.8.1.pom -fetchArtifact junit/junit/3.8.1/junit-3.8.1.pom.sha1 -fetchArtifact junit/junit/3.8.2/junit-3.8.2.pom -fetchArtifact junit/junit/3.8.2/junit-3.8.2.pom.sha1 -fetchArtifact junit/junit/4.10/junit-4.10.pom -fetchArtifact junit/junit/4.10/junit-4.10.pom.sha1 -fetchArtifact log4j/log4j/1.2.12/log4j-1.2.12.pom -fetchArtifact log4j/log4j/1.2.12/log4j-1.2.12.pom.sha1 -fetchArtifact log4j/log4j/1.2.14/log4j-1.2.14.jar -fetchArtifact log4j/log4j/1.2.14/log4j-1.2.14.jar.sha1 -fetchArtifact log4j/log4j/1.2.14/log4j-1.2.14.pom -fetchArtifact log4j/log4j/1.2.14/log4j-1.2.14.pom.sha1 -fetchArtifact logkit/logkit/1.0.1/logkit-1.0.1.pom -fetchArtifact logkit/logkit/1.0.1/logkit-1.0.1.pom.sha1 -fetchArtifact org/apache/apache/10/apache-10.pom -fetchArtifact org/apache/apache/10/apache-10.pom.sha1 fetchArtifact org/apache/apache/11/apache-11.pom fetchArtifact org/apache/apache/11/apache-11.pom.sha1 -fetchArtifact org/apache/apache/13/apache-13.pom -fetchArtifact org/apache/apache/13/apache-13.pom.sha1 -fetchArtifact org/apache/apache/2/apache-2.pom -fetchArtifact org/apache/apache/2/apache-2.pom.sha1 -fetchArtifact org/apache/apache/3/apache-3.pom -fetchArtifact org/apache/apache/3/apache-3.pom.sha1 -fetchArtifact org/apache/apache/4/apache-4.pom -fetchArtifact org/apache/apache/4/apache-4.pom.sha1 -fetchArtifact org/apache/apache/5/apache-5.pom -fetchArtifact org/apache/apache/5/apache-5.pom.sha1 -fetchArtifact org/apache/apache/6/apache-6.pom -fetchArtifact org/apache/apache/6/apache-6.pom.sha1 +fetchArtifact org/apache/apache/10/apache-10.pom +fetchArtifact org/apache/apache/10/apache-10.pom.sha1 fetchArtifact org/apache/apache/7/apache-7.pom fetchArtifact org/apache/apache/7/apache-7.pom.sha1 fetchArtifact org/apache/apache/9/apache-9.pom fetchArtifact org/apache/apache/9/apache-9.pom.sha1 -fetchArtifact org/apache/apache-jar-resource-bundle/1.4/apache-jar-resource-bundle-1.4.jar -fetchArtifact org/apache/apache-jar-resource-bundle/1.4/apache-jar-resource-bundle-1.4.jar.sha1 -fetchArtifact org/apache/commons/commons-parent/12/commons-parent-12.pom -fetchArtifact org/apache/commons/commons-parent/12/commons-parent-12.pom.sha1 -fetchArtifact org/apache/commons/commons-parent/17/commons-parent-17.pom -fetchArtifact org/apache/commons/commons-parent/17/commons-parent-17.pom.sha1 -fetchArtifact org/apache/commons/commons-parent/3/commons-parent-3.pom -fetchArtifact org/apache/commons/commons-parent/3/commons-parent-3.pom.sha1 -fetchArtifact org/apache/commons/commons-parent/5/commons-parent-5.pom -fetchArtifact org/apache/commons/commons-parent/5/commons-parent-5.pom.sha1 -fetchArtifact org/apache/commons/commons-parent/7/commons-parent-7.pom -fetchArtifact org/apache/commons/commons-parent/7/commons-parent-7.pom.sha1 -fetchArtifact org/apache/commons/commons-parent/9/commons-parent-9.pom -fetchArtifact org/apache/commons/commons-parent/9/commons-parent-9.pom.sha1 -fetchArtifact org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.jar -fetchArtifact org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.jar.sha1 -fetchArtifact org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.pom -fetchArtifact org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.pom.sha1 -fetchArtifact org/apache/httpcomponents/httpcomponents-client/4.0.2/httpcomponents-client-4.0.2.pom -fetchArtifact org/apache/httpcomponents/httpcomponents-client/4.0.2/httpcomponents-client-4.0.2.pom.sha1 -fetchArtifact org/apache/httpcomponents/httpcomponents-core/4.0.1/httpcomponents-core-4.0.1.pom -fetchArtifact org/apache/httpcomponents/httpcomponents-core/4.0.1/httpcomponents-core-4.0.1.pom.sha1 -fetchArtifact org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.jar -fetchArtifact org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.jar.sha1 -fetchArtifact org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.pom -fetchArtifact org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.pom.sha1 -fetchArtifact org/apache/httpcomponents/project/4.0/project-4.0.pom -fetchArtifact org/apache/httpcomponents/project/4.0/project-4.0.pom.sha1 -fetchArtifact org/apache/httpcomponents/project/4.1/project-4.1.pom -fetchArtifact org/apache/httpcomponents/project/4.1/project-4.1.pom.sha1 -fetchArtifact org/apache/maven/doxia/doxia/1.0-alpha-10/doxia-1.0-alpha-10.pom -fetchArtifact org/apache/maven/doxia/doxia/1.0-alpha-10/doxia-1.0-alpha-10.pom.sha1 -fetchArtifact org/apache/maven/doxia/doxia/1.0-alpha-7/doxia-1.0-alpha-7.pom -fetchArtifact org/apache/maven/doxia/doxia/1.0-alpha-7/doxia-1.0-alpha-7.pom.sha1 -fetchArtifact org/apache/maven/doxia/doxia/1.0/doxia-1.0.pom -fetchArtifact org/apache/maven/doxia/doxia/1.0/doxia-1.0.pom.sha1 -fetchArtifact org/apache/maven/doxia/doxia/1.2/doxia-1.2.pom -fetchArtifact org/apache/maven/doxia/doxia/1.2/doxia-1.2.pom.sha1 -fetchArtifact org/apache/maven/doxia/doxia/1.3/doxia-1.3.pom -fetchArtifact org/apache/maven/doxia/doxia/1.3/doxia-1.3.pom.sha1 -fetchArtifact org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.jar -fetchArtifact org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.jar.sha1 -fetchArtifact org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.pom -fetchArtifact org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.pom.sha1 -fetchArtifact org/apache/maven/doxia/doxia-core/1.3/doxia-core-1.3.jar -fetchArtifact org/apache/maven/doxia/doxia-core/1.3/doxia-core-1.3.jar.sha1 -fetchArtifact org/apache/maven/doxia/doxia-core/1.3/doxia-core-1.3.pom -fetchArtifact org/apache/maven/doxia/doxia-core/1.3/doxia-core-1.3.pom.sha1 -fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.jar -fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.jar.sha1 -fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.pom -fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.pom.sha1 -fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.2/doxia-decoration-model-1.2.pom -fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.2/doxia-decoration-model-1.2.pom.sha1 -fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.3/doxia-decoration-model-1.3.jar -fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.3/doxia-decoration-model-1.3.jar.sha1 -fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.3/doxia-decoration-model-1.3.pom -fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.3/doxia-decoration-model-1.3.pom.sha1 -fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.2/doxia-logging-api-1.2.pom -fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.2/doxia-logging-api-1.2.pom.sha1 -fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.3/doxia-logging-api-1.3.jar -fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.3/doxia-logging-api-1.3.jar.sha1 -fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.3/doxia-logging-api-1.3.pom -fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.3/doxia-logging-api-1.3.pom.sha1 -fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.jar -fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.jar.sha1 -fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.pom -fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.pom.sha1 -fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.3/doxia-module-apt-1.3.jar -fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.3/doxia-module-apt-1.3.jar.sha1 -fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.3/doxia-module-apt-1.3.pom -fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.3/doxia-module-apt-1.3.pom.sha1 -fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.jar -fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.jar.sha1 -fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.pom -fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.pom.sha1 -fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.3/doxia-module-fml-1.3.jar -fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.3/doxia-module-fml-1.3.jar.sha1 -fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.3/doxia-module-fml-1.3.pom -fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.3/doxia-module-fml-1.3.pom.sha1 -fetchArtifact org/apache/maven/doxia/doxia-modules/1.0/doxia-modules-1.0.pom -fetchArtifact org/apache/maven/doxia/doxia-modules/1.0/doxia-modules-1.0.pom.sha1 -fetchArtifact org/apache/maven/doxia/doxia-modules/1.3/doxia-modules-1.3.pom -fetchArtifact org/apache/maven/doxia/doxia-modules/1.3/doxia-modules-1.3.pom.sha1 -fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.jar -fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.jar.sha1 -fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.pom -fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.pom.sha1 -fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.3/doxia-module-xdoc-1.3.jar -fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.3/doxia-module-xdoc-1.3.jar.sha1 -fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.3/doxia-module-xdoc-1.3.pom -fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.3/doxia-module-xdoc-1.3.pom.sha1 -fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.jar -fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.jar.sha1 -fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.pom -fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.pom.sha1 -fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.3/doxia-module-xhtml-1.3.jar -fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.3/doxia-module-xhtml-1.3.jar.sha1 -fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.3/doxia-module-xhtml-1.3.pom -fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.3/doxia-module-xhtml-1.3.pom.sha1 -fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-10/doxia-sink-api-1.0-alpha-10.pom -fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-10/doxia-sink-api-1.0-alpha-10.pom.sha1 -fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.jar -fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.jar.sha1 -fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.pom -fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.pom.sha1 -fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.jar -fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.jar.sha1 -fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.pom -fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.pom.sha1 -fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.3/doxia-sink-api-1.3.jar -fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.3/doxia-sink-api-1.3.jar.sha1 -fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.3/doxia-sink-api-1.3.pom -fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.3/doxia-sink-api-1.3.pom.sha1 -fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.jar -fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.jar.sha1 -fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.pom -fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.pom.sha1 -fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.3/doxia-site-renderer-1.3.jar -fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.3/doxia-site-renderer-1.3.jar.sha1 -fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.3/doxia-site-renderer-1.3.pom -fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.3/doxia-site-renderer-1.3.pom.sha1 -fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.0/doxia-sitetools-1.0.pom -fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.0/doxia-sitetools-1.0.pom.sha1 -fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.2/doxia-sitetools-1.2.pom -fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.2/doxia-sitetools-1.2.pom.sha1 -fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.3/doxia-sitetools-1.3.pom -fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.3/doxia-sitetools-1.3.pom.sha1 -fetchArtifact org/apache/maven/maven/2.0.1/maven-2.0.1.pom -fetchArtifact org/apache/maven/maven/2.0.1/maven-2.0.1.pom.sha1 -fetchArtifact org/apache/maven/maven/2.0.2/maven-2.0.2.pom -fetchArtifact org/apache/maven/maven/2.0.2/maven-2.0.2.pom.sha1 -fetchArtifact org/apache/maven/maven/2.0.5/maven-2.0.5.pom -fetchArtifact org/apache/maven/maven/2.0.5/maven-2.0.5.pom.sha1 -fetchArtifact org/apache/maven/maven/2.0.6/maven-2.0.6.pom -fetchArtifact org/apache/maven/maven/2.0.6/maven-2.0.6.pom.sha1 -fetchArtifact org/apache/maven/maven/2.0.8/maven-2.0.8.pom -fetchArtifact org/apache/maven/maven/2.0.8/maven-2.0.8.pom.sha1 -fetchArtifact org/apache/maven/maven/2.0.9/maven-2.0.9.pom -fetchArtifact org/apache/maven/maven/2.0.9/maven-2.0.9.pom.sha1 -fetchArtifact org/apache/maven/maven/2.0/maven-2.0.pom -fetchArtifact org/apache/maven/maven/2.0/maven-2.0.pom.sha1 -fetchArtifact org/apache/maven/maven/2.2.0/maven-2.2.0.pom -fetchArtifact org/apache/maven/maven/2.2.0/maven-2.2.0.pom.sha1 -fetchArtifact org/apache/maven/maven/2.2.1/maven-2.2.1.pom -fetchArtifact org/apache/maven/maven/2.2.1/maven-2.2.1.pom.sha1 -fetchArtifact org/apache/maven/maven/3.0/maven-3.0.pom -fetchArtifact org/apache/maven/maven/3.0/maven-3.0.pom.sha1 -fetchArtifact org/apache/maven/maven-aether-provider/3.0/maven-aether-provider-3.0.pom -fetchArtifact org/apache/maven/maven-aether-provider/3.0/maven-aether-provider-3.0.pom.sha1 -fetchArtifact org/apache/maven/maven-archiver/2.3/maven-archiver-2.3.jar -fetchArtifact org/apache/maven/maven-archiver/2.3/maven-archiver-2.3.jar.sha1 -fetchArtifact org/apache/maven/maven-archiver/2.3/maven-archiver-2.3.pom -fetchArtifact org/apache/maven/maven-archiver/2.3/maven-archiver-2.3.pom.sha1 -fetchArtifact org/apache/maven/maven-archiver/2.4.1/maven-archiver-2.4.1.jar -fetchArtifact org/apache/maven/maven-archiver/2.4.1/maven-archiver-2.4.1.jar.sha1 -fetchArtifact org/apache/maven/maven-archiver/2.4.1/maven-archiver-2.4.1.pom -fetchArtifact org/apache/maven/maven-archiver/2.4.1/maven-archiver-2.4.1.pom.sha1 -fetchArtifact org/apache/maven/maven-archiver/2.4.2/maven-archiver-2.4.2.jar -fetchArtifact org/apache/maven/maven-archiver/2.4.2/maven-archiver-2.4.2.jar.sha1 -fetchArtifact org/apache/maven/maven-archiver/2.4.2/maven-archiver-2.4.2.pom -fetchArtifact org/apache/maven/maven-archiver/2.4.2/maven-archiver-2.4.2.pom.sha1 -fetchArtifact org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.jar -fetchArtifact org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.jar.sha1 -fetchArtifact org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.pom -fetchArtifact org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.pom.sha1 -fetchArtifact org/apache/maven/maven-artifact/2.0.2/maven-artifact-2.0.2.pom -fetchArtifact org/apache/maven/maven-artifact/2.0.2/maven-artifact-2.0.2.pom.sha1 -fetchArtifact org/apache/maven/maven-artifact/2.0.5/maven-artifact-2.0.5.pom -fetchArtifact org/apache/maven/maven-artifact/2.0.5/maven-artifact-2.0.5.pom.sha1 -fetchArtifact org/apache/maven/maven-artifact/2.0.6/maven-artifact-2.0.6.jar -fetchArtifact org/apache/maven/maven-artifact/2.0.6/maven-artifact-2.0.6.pom -fetchArtifact org/apache/maven/maven-artifact/2.0.6/maven-artifact-2.0.6.pom.sha1 -fetchArtifact org/apache/maven/maven-artifact/2.0.8/maven-artifact-2.0.8.pom -fetchArtifact org/apache/maven/maven-artifact/2.0.8/maven-artifact-2.0.8.pom.sha1 -fetchArtifact org/apache/maven/maven-artifact/2.0.9/maven-artifact-2.0.9.jar -fetchArtifact org/apache/maven/maven-artifact/2.0.9/maven-artifact-2.0.9.pom -fetchArtifact org/apache/maven/maven-artifact/2.0.9/maven-artifact-2.0.9.pom.sha1 -fetchArtifact org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.pom -fetchArtifact org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.pom.sha1 -fetchArtifact org/apache/maven/maven-artifact/2.2.0/maven-artifact-2.2.0.pom -fetchArtifact org/apache/maven/maven-artifact/2.2.0/maven-artifact-2.2.0.pom.sha1 -fetchArtifact org/apache/maven/maven-artifact/2.2.1/maven-artifact-2.2.1.pom -fetchArtifact org/apache/maven/maven-artifact/2.2.1/maven-artifact-2.2.1.pom.sha1 -fetchArtifact org/apache/maven/maven-artifact/3.0/maven-artifact-3.0.pom -fetchArtifact org/apache/maven/maven-artifact/3.0/maven-artifact-3.0.pom.sha1 -fetchArtifact org/apache/maven/maven-artifact-manager/2.0.2/maven-artifact-manager-2.0.2.pom -fetchArtifact org/apache/maven/maven-artifact-manager/2.0.2/maven-artifact-manager-2.0.2.pom.sha1 -fetchArtifact org/apache/maven/maven-artifact-manager/2.0.5/maven-artifact-manager-2.0.5.pom -fetchArtifact org/apache/maven/maven-artifact-manager/2.0.5/maven-artifact-manager-2.0.5.pom.sha1 -fetchArtifact org/apache/maven/maven-artifact-manager/2.0.6/maven-artifact-manager-2.0.6.jar -fetchArtifact org/apache/maven/maven-artifact-manager/2.0.6/maven-artifact-manager-2.0.6.pom -fetchArtifact org/apache/maven/maven-artifact-manager/2.0.6/maven-artifact-manager-2.0.6.pom.sha1 -fetchArtifact org/apache/maven/maven-artifact-manager/2.0.8/maven-artifact-manager-2.0.8.pom -fetchArtifact org/apache/maven/maven-artifact-manager/2.0.8/maven-artifact-manager-2.0.8.pom.sha1 -fetchArtifact org/apache/maven/maven-artifact-manager/2.0.9/maven-artifact-manager-2.0.9.jar -fetchArtifact org/apache/maven/maven-artifact-manager/2.0.9/maven-artifact-manager-2.0.9.pom -fetchArtifact org/apache/maven/maven-artifact-manager/2.0.9/maven-artifact-manager-2.0.9.pom.sha1 -fetchArtifact org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.pom -fetchArtifact org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.pom.sha1 -fetchArtifact org/apache/maven/maven-artifact-manager/2.2.0/maven-artifact-manager-2.2.0.pom -fetchArtifact org/apache/maven/maven-artifact-manager/2.2.0/maven-artifact-manager-2.2.0.pom.sha1 -fetchArtifact org/apache/maven/maven-compat/3.0/maven-compat-3.0.pom -fetchArtifact org/apache/maven/maven-compat/3.0/maven-compat-3.0.pom.sha1 -fetchArtifact org/apache/maven/maven-core/2.0.6/maven-core-2.0.6.jar -fetchArtifact org/apache/maven/maven-core/2.0.6/maven-core-2.0.6.pom -fetchArtifact org/apache/maven/maven-core/2.0.6/maven-core-2.0.6.pom.sha1 -fetchArtifact org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.jar -fetchArtifact org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.pom -fetchArtifact org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.pom.sha1 -fetchArtifact org/apache/maven/maven-core/2.0/maven-core-2.0.pom -fetchArtifact org/apache/maven/maven-core/2.0/maven-core-2.0.pom.sha1 -fetchArtifact org/apache/maven/maven-core/3.0/maven-core-3.0.pom -fetchArtifact org/apache/maven/maven-core/3.0/maven-core-3.0.pom.sha1 -fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.6/maven-error-diagnostics-2.0.6.jar -fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.6/maven-error-diagnostics-2.0.6.pom -fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.6/maven-error-diagnostics-2.0.6.pom.sha1 -fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.9/maven-error-diagnostics-2.0.9.jar -fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.9/maven-error-diagnostics-2.0.9.pom -fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.9/maven-error-diagnostics-2.0.9.pom.sha1 -fetchArtifact org/apache/maven/maven-error-diagnostics/2.0/maven-error-diagnostics-2.0.pom -fetchArtifact org/apache/maven/maven-error-diagnostics/2.0/maven-error-diagnostics-2.0.pom.sha1 -fetchArtifact org/apache/maven/maven-model/2.0.5/maven-model-2.0.5.pom -fetchArtifact org/apache/maven/maven-model/2.0.5/maven-model-2.0.5.pom.sha1 -fetchArtifact org/apache/maven/maven-model/2.0.6/maven-model-2.0.6.jar -fetchArtifact org/apache/maven/maven-model/2.0.6/maven-model-2.0.6.pom -fetchArtifact org/apache/maven/maven-model/2.0.6/maven-model-2.0.6.pom.sha1 -fetchArtifact org/apache/maven/maven-model/2.0.8/maven-model-2.0.8.pom -fetchArtifact org/apache/maven/maven-model/2.0.8/maven-model-2.0.8.pom.sha1 -fetchArtifact org/apache/maven/maven-model/2.0.9/maven-model-2.0.9.jar -fetchArtifact org/apache/maven/maven-model/2.0.9/maven-model-2.0.9.pom -fetchArtifact org/apache/maven/maven-model/2.0.9/maven-model-2.0.9.pom.sha1 -fetchArtifact org/apache/maven/maven-model/2.0/maven-model-2.0.pom -fetchArtifact org/apache/maven/maven-model/2.0/maven-model-2.0.pom.sha1 -fetchArtifact org/apache/maven/maven-model/2.2.0/maven-model-2.2.0.pom -fetchArtifact org/apache/maven/maven-model/2.2.0/maven-model-2.2.0.pom.sha1 -fetchArtifact org/apache/maven/maven-model/2.2.1/maven-model-2.2.1.pom -fetchArtifact org/apache/maven/maven-model/2.2.1/maven-model-2.2.1.pom.sha1 -fetchArtifact org/apache/maven/maven-model/3.0/maven-model-3.0.pom -fetchArtifact org/apache/maven/maven-model/3.0/maven-model-3.0.pom.sha1 -fetchArtifact org/apache/maven/maven-model-builder/3.0/maven-model-builder-3.0.pom -fetchArtifact org/apache/maven/maven-model-builder/3.0/maven-model-builder-3.0.pom.sha1 -fetchArtifact org/apache/maven/maven-monitor/2.0.6/maven-monitor-2.0.6.jar -fetchArtifact org/apache/maven/maven-monitor/2.0.6/maven-monitor-2.0.6.pom -fetchArtifact org/apache/maven/maven-monitor/2.0.6/maven-monitor-2.0.6.pom.sha1 -fetchArtifact org/apache/maven/maven-monitor/2.0.9/maven-monitor-2.0.9.jar -fetchArtifact org/apache/maven/maven-monitor/2.0.9/maven-monitor-2.0.9.pom -fetchArtifact org/apache/maven/maven-monitor/2.0.9/maven-monitor-2.0.9.pom.sha1 -fetchArtifact org/apache/maven/maven-monitor/2.0/maven-monitor-2.0.pom -fetchArtifact org/apache/maven/maven-monitor/2.0/maven-monitor-2.0.pom.sha1 -fetchArtifact org/apache/maven/maven-parent/10/maven-parent-10.pom -fetchArtifact org/apache/maven/maven-parent/10/maven-parent-10.pom.sha1 -fetchArtifact org/apache/maven/maven-parent/11/maven-parent-11.pom -fetchArtifact org/apache/maven/maven-parent/11/maven-parent-11.pom.sha1 -fetchArtifact org/apache/maven/maven-parent/13/maven-parent-13.pom -fetchArtifact org/apache/maven/maven-parent/13/maven-parent-13.pom.sha1 -fetchArtifact org/apache/maven/maven-parent/15/maven-parent-15.pom -fetchArtifact org/apache/maven/maven-parent/15/maven-parent-15.pom.sha1 -fetchArtifact org/apache/maven/maven-parent/16/maven-parent-16.pom -fetchArtifact org/apache/maven/maven-parent/16/maven-parent-16.pom.sha1 -fetchArtifact org/apache/maven/maven-parent/19/maven-parent-19.pom -fetchArtifact org/apache/maven/maven-parent/19/maven-parent-19.pom.sha1 -fetchArtifact org/apache/maven/maven-parent/20/maven-parent-20.pom -fetchArtifact org/apache/maven/maven-parent/20/maven-parent-20.pom.sha1 -fetchArtifact org/apache/maven/maven-parent/21/maven-parent-21.pom -fetchArtifact org/apache/maven/maven-parent/21/maven-parent-21.pom.sha1 -fetchArtifact org/apache/maven/maven-parent/23/maven-parent-23.pom -fetchArtifact org/apache/maven/maven-parent/23/maven-parent-23.pom.sha1 -fetchArtifact org/apache/maven/maven-parent/5/maven-parent-5.pom -fetchArtifact org/apache/maven/maven-parent/5/maven-parent-5.pom.sha1 -fetchArtifact org/apache/maven/maven-parent/6/maven-parent-6.pom -fetchArtifact org/apache/maven/maven-parent/6/maven-parent-6.pom.sha1 -fetchArtifact org/apache/maven/maven-parent/7/maven-parent-7.pom -fetchArtifact org/apache/maven/maven-parent/7/maven-parent-7.pom.sha1 -fetchArtifact org/apache/maven/maven-parent/8/maven-parent-8.pom -fetchArtifact org/apache/maven/maven-parent/8/maven-parent-8.pom.sha1 -fetchArtifact org/apache/maven/maven-parent/9/maven-parent-9.pom -fetchArtifact org/apache/maven/maven-parent/9/maven-parent-9.pom.sha1 -fetchArtifact org/apache/maven/maven-plugin-api/2.0.1/maven-plugin-api-2.0.1.pom -fetchArtifact org/apache/maven/maven-plugin-api/2.0.1/maven-plugin-api-2.0.1.pom.sha1 -fetchArtifact org/apache/maven/maven-plugin-api/2.0.6/maven-plugin-api-2.0.6.jar -fetchArtifact org/apache/maven/maven-plugin-api/2.0.6/maven-plugin-api-2.0.6.pom -fetchArtifact org/apache/maven/maven-plugin-api/2.0.6/maven-plugin-api-2.0.6.pom.sha1 -fetchArtifact org/apache/maven/maven-plugin-api/2.0.8/maven-plugin-api-2.0.8.pom -fetchArtifact org/apache/maven/maven-plugin-api/2.0.8/maven-plugin-api-2.0.8.pom.sha1 -fetchArtifact org/apache/maven/maven-plugin-api/2.0.9/maven-plugin-api-2.0.9.jar -fetchArtifact org/apache/maven/maven-plugin-api/2.0.9/maven-plugin-api-2.0.9.pom -fetchArtifact org/apache/maven/maven-plugin-api/2.0.9/maven-plugin-api-2.0.9.pom.sha1 -fetchArtifact org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.pom -fetchArtifact org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.pom.sha1 -fetchArtifact org/apache/maven/maven-plugin-api/2.2.1/maven-plugin-api-2.2.1.pom -fetchArtifact org/apache/maven/maven-plugin-api/2.2.1/maven-plugin-api-2.2.1.pom.sha1 -fetchArtifact org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.pom -fetchArtifact org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.pom.sha1 -fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.6/maven-plugin-descriptor-2.0.6.jar -fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.6/maven-plugin-descriptor-2.0.6.pom -fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.6/maven-plugin-descriptor-2.0.6.pom.sha1 -fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.9/maven-plugin-descriptor-2.0.9.jar -fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.9/maven-plugin-descriptor-2.0.9.pom -fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.9/maven-plugin-descriptor-2.0.9.pom.sha1 -fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0/maven-plugin-descriptor-2.0.pom -fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0/maven-plugin-descriptor-2.0.pom.sha1 -fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.6/maven-plugin-parameter-documenter-2.0.6.jar -fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.6/maven-plugin-parameter-documenter-2.0.6.pom -fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.6/maven-plugin-parameter-documenter-2.0.6.pom.sha1 -fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.9/maven-plugin-parameter-documenter-2.0.9.jar -fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.9/maven-plugin-parameter-documenter-2.0.9.pom -fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.9/maven-plugin-parameter-documenter-2.0.9.pom.sha1 -fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0/maven-plugin-parameter-documenter-2.0.pom -fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0/maven-plugin-parameter-documenter-2.0.pom.sha1 -fetchArtifact org/apache/maven/maven-plugin-registry/2.0.6/maven-plugin-registry-2.0.6.jar -fetchArtifact org/apache/maven/maven-plugin-registry/2.0.6/maven-plugin-registry-2.0.6.pom -fetchArtifact org/apache/maven/maven-plugin-registry/2.0.6/maven-plugin-registry-2.0.6.pom.sha1 -fetchArtifact org/apache/maven/maven-plugin-registry/2.0.8/maven-plugin-registry-2.0.8.pom -fetchArtifact org/apache/maven/maven-plugin-registry/2.0.8/maven-plugin-registry-2.0.8.pom.sha1 -fetchArtifact org/apache/maven/maven-plugin-registry/2.0.9/maven-plugin-registry-2.0.9.jar -fetchArtifact org/apache/maven/maven-plugin-registry/2.0.9/maven-plugin-registry-2.0.9.pom -fetchArtifact org/apache/maven/maven-plugin-registry/2.0.9/maven-plugin-registry-2.0.9.pom.sha1 -fetchArtifact org/apache/maven/maven-plugin-registry/2.0/maven-plugin-registry-2.0.pom -fetchArtifact org/apache/maven/maven-plugin-registry/2.0/maven-plugin-registry-2.0.pom.sha1 -fetchArtifact org/apache/maven/maven-plugin-registry/2.2.0/maven-plugin-registry-2.2.0.pom -fetchArtifact org/apache/maven/maven-plugin-registry/2.2.0/maven-plugin-registry-2.2.0.pom.sha1 -fetchArtifact org/apache/maven/maven-profile/2.0.5/maven-profile-2.0.5.pom -fetchArtifact org/apache/maven/maven-profile/2.0.5/maven-profile-2.0.5.pom.sha1 -fetchArtifact org/apache/maven/maven-profile/2.0.6/maven-profile-2.0.6.jar -fetchArtifact org/apache/maven/maven-profile/2.0.6/maven-profile-2.0.6.pom -fetchArtifact org/apache/maven/maven-profile/2.0.6/maven-profile-2.0.6.pom.sha1 -fetchArtifact org/apache/maven/maven-profile/2.0.8/maven-profile-2.0.8.pom -fetchArtifact org/apache/maven/maven-profile/2.0.8/maven-profile-2.0.8.pom.sha1 -fetchArtifact org/apache/maven/maven-profile/2.0.9/maven-profile-2.0.9.jar -fetchArtifact org/apache/maven/maven-profile/2.0.9/maven-profile-2.0.9.pom -fetchArtifact org/apache/maven/maven-profile/2.0.9/maven-profile-2.0.9.pom.sha1 -fetchArtifact org/apache/maven/maven-profile/2.0/maven-profile-2.0.pom -fetchArtifact org/apache/maven/maven-profile/2.0/maven-profile-2.0.pom.sha1 -fetchArtifact org/apache/maven/maven-profile/2.2.0/maven-profile-2.2.0.pom -fetchArtifact org/apache/maven/maven-profile/2.2.0/maven-profile-2.2.0.pom.sha1 -fetchArtifact org/apache/maven/maven-project/2.0.5/maven-project-2.0.5.pom -fetchArtifact org/apache/maven/maven-project/2.0.5/maven-project-2.0.5.pom.sha1 -fetchArtifact org/apache/maven/maven-project/2.0.6/maven-project-2.0.6.jar -fetchArtifact org/apache/maven/maven-project/2.0.6/maven-project-2.0.6.pom -fetchArtifact org/apache/maven/maven-project/2.0.6/maven-project-2.0.6.pom.sha1 -fetchArtifact org/apache/maven/maven-project/2.0.8/maven-project-2.0.8.pom -fetchArtifact org/apache/maven/maven-project/2.0.8/maven-project-2.0.8.pom.sha1 -fetchArtifact org/apache/maven/maven-project/2.0.9/maven-project-2.0.9.jar -fetchArtifact org/apache/maven/maven-project/2.0.9/maven-project-2.0.9.pom -fetchArtifact org/apache/maven/maven-project/2.0.9/maven-project-2.0.9.pom.sha1 -fetchArtifact org/apache/maven/maven-project/2.0/maven-project-2.0.pom -fetchArtifact org/apache/maven/maven-project/2.0/maven-project-2.0.pom.sha1 -fetchArtifact org/apache/maven/maven-project/2.2.0/maven-project-2.2.0.pom -fetchArtifact org/apache/maven/maven-project/2.2.0/maven-project-2.2.0.pom.sha1 -fetchArtifact org/apache/maven/maven-repository-metadata/2.0.2/maven-repository-metadata-2.0.2.pom -fetchArtifact org/apache/maven/maven-repository-metadata/2.0.2/maven-repository-metadata-2.0.2.pom.sha1 -fetchArtifact org/apache/maven/maven-repository-metadata/2.0.5/maven-repository-metadata-2.0.5.pom -fetchArtifact org/apache/maven/maven-repository-metadata/2.0.5/maven-repository-metadata-2.0.5.pom.sha1 -fetchArtifact org/apache/maven/maven-repository-metadata/2.0.6/maven-repository-metadata-2.0.6.jar -fetchArtifact org/apache/maven/maven-repository-metadata/2.0.6/maven-repository-metadata-2.0.6.pom -fetchArtifact org/apache/maven/maven-repository-metadata/2.0.6/maven-repository-metadata-2.0.6.pom.sha1 -fetchArtifact org/apache/maven/maven-repository-metadata/2.0.8/maven-repository-metadata-2.0.8.pom -fetchArtifact org/apache/maven/maven-repository-metadata/2.0.8/maven-repository-metadata-2.0.8.pom.sha1 -fetchArtifact org/apache/maven/maven-repository-metadata/2.0.9/maven-repository-metadata-2.0.9.jar -fetchArtifact org/apache/maven/maven-repository-metadata/2.0.9/maven-repository-metadata-2.0.9.pom -fetchArtifact org/apache/maven/maven-repository-metadata/2.0.9/maven-repository-metadata-2.0.9.pom.sha1 -fetchArtifact org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.pom -fetchArtifact org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.pom.sha1 -fetchArtifact org/apache/maven/maven-repository-metadata/2.2.0/maven-repository-metadata-2.2.0.pom -fetchArtifact org/apache/maven/maven-repository-metadata/2.2.0/maven-repository-metadata-2.2.0.pom.sha1 -fetchArtifact org/apache/maven/maven-repository-metadata/3.0/maven-repository-metadata-3.0.pom -fetchArtifact org/apache/maven/maven-repository-metadata/3.0/maven-repository-metadata-3.0.pom.sha1 -fetchArtifact org/apache/maven/maven-settings/2.0.5/maven-settings-2.0.5.pom -fetchArtifact org/apache/maven/maven-settings/2.0.5/maven-settings-2.0.5.pom.sha1 -fetchArtifact org/apache/maven/maven-settings/2.0.6/maven-settings-2.0.6.jar -fetchArtifact org/apache/maven/maven-settings/2.0.6/maven-settings-2.0.6.pom -fetchArtifact org/apache/maven/maven-settings/2.0.6/maven-settings-2.0.6.pom.sha1 -fetchArtifact org/apache/maven/maven-settings/2.0.8/maven-settings-2.0.8.pom -fetchArtifact org/apache/maven/maven-settings/2.0.8/maven-settings-2.0.8.pom.sha1 -fetchArtifact org/apache/maven/maven-settings/2.0.9/maven-settings-2.0.9.jar -fetchArtifact org/apache/maven/maven-settings/2.0.9/maven-settings-2.0.9.pom -fetchArtifact org/apache/maven/maven-settings/2.0.9/maven-settings-2.0.9.pom.sha1 -fetchArtifact org/apache/maven/maven-settings/2.0/maven-settings-2.0.pom -fetchArtifact org/apache/maven/maven-settings/2.0/maven-settings-2.0.pom.sha1 -fetchArtifact org/apache/maven/maven-settings/2.2.0/maven-settings-2.2.0.pom -fetchArtifact org/apache/maven/maven-settings/2.2.0/maven-settings-2.2.0.pom.sha1 -fetchArtifact org/apache/maven/maven-settings/3.0/maven-settings-3.0.pom -fetchArtifact org/apache/maven/maven-settings/3.0/maven-settings-3.0.pom.sha1 -fetchArtifact org/apache/maven/maven-settings-builder/3.0/maven-settings-builder-3.0.pom -fetchArtifact org/apache/maven/maven-settings-builder/3.0/maven-settings-builder-3.0.pom.sha1 -fetchArtifact org/apache/maven/maven-toolchain/1.0/maven-toolchain-1.0.jar -fetchArtifact org/apache/maven/maven-toolchain/1.0/maven-toolchain-1.0.pom -fetchArtifact org/apache/maven/maven-toolchain/1.0/maven-toolchain-1.0.pom.sha1 -fetchArtifact org/apache/maven/maven-toolchain/2.0.9/maven-toolchain-2.0.9.pom -fetchArtifact org/apache/maven/maven-toolchain/2.0.9/maven-toolchain-2.0.9.jar -fetchArtifact org/apache/maven/maven-toolchain/2.0.9/maven-toolchain-2.0.9.pom.sha1 -fetchArtifact org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.jar -fetchArtifact org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.jar.sha1 -fetchArtifact org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom -fetchArtifact org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom.sha1 -fetchArtifact org/apache/maven/plugins/maven-compiler-plugin/2.5.1/maven-compiler-plugin-2.5.1.jar -fetchArtifact org/apache/maven/plugins/maven-compiler-plugin/2.5.1/maven-compiler-plugin-2.5.1.jar.sha1 -fetchArtifact org/apache/maven/plugins/maven-compiler-plugin/2.5.1/maven-compiler-plugin-2.5.1.pom -fetchArtifact org/apache/maven/plugins/maven-compiler-plugin/2.5.1/maven-compiler-plugin-2.5.1.pom.sha1 -fetchArtifact org/apache/maven/plugins/maven-dependency-plugin/2.8/maven-dependency-plugin-2.8.jar -fetchArtifact org/apache/maven/plugins/maven-dependency-plugin/2.8/maven-dependency-plugin-2.8.jar.sha1 -fetchArtifact org/apache/maven/plugins/maven-dependency-plugin/2.8/maven-dependency-plugin-2.8.pom -fetchArtifact org/apache/maven/plugins/maven-dependency-plugin/2.8/maven-dependency-plugin-2.8.pom.sha1 -fetchArtifact org/apache/maven/plugins/maven-gpg-plugin/1.4/maven-gpg-plugin-1.4.jar -fetchArtifact org/apache/maven/plugins/maven-gpg-plugin/1.4/maven-gpg-plugin-1.4.jar.sha1 -fetchArtifact org/apache/maven/plugins/maven-gpg-plugin/1.4/maven-gpg-plugin-1.4.pom -fetchArtifact org/apache/maven/plugins/maven-gpg-plugin/1.4/maven-gpg-plugin-1.4.pom.sha1 -fetchArtifact org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.jar -fetchArtifact org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.jar.sha1 -fetchArtifact org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.pom -fetchArtifact org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.pom.sha1 -fetchArtifact org/apache/maven/plugins/maven-javadoc-plugin/2.8.1/maven-javadoc-plugin-2.8.1.jar -fetchArtifact org/apache/maven/plugins/maven-javadoc-plugin/2.8.1/maven-javadoc-plugin-2.8.1.jar.sha1 -fetchArtifact org/apache/maven/plugins/maven-javadoc-plugin/2.8.1/maven-javadoc-plugin-2.8.1.pom -fetchArtifact org/apache/maven/plugins/maven-javadoc-plugin/2.8.1/maven-javadoc-plugin-2.8.1.pom.sha1 +fetchArtifact org/apache/apache/13/apache-13.pom +fetchArtifact org/apache/apache/13/apache-13.pom.sha1 +fetchArtifact org/apache/apache/3/apache-3.pom +fetchArtifact org/apache/apache/3/apache-3.pom.sha1 +fetchArtifact org/apache/apache/6/apache-6.pom +fetchArtifact org/apache/apache/6/apache-6.pom.sha1 +fetchArtifact org/apache/apache/4/apache-4.pom +fetchArtifact org/apache/apache/4/apache-4.pom.sha1 +fetchArtifact org/apache/apache/2/apache-2.pom +fetchArtifact org/apache/apache/2/apache-2.pom.sha1 +fetchArtifact org/apache/apache/5/apache-5.pom +fetchArtifact org/apache/apache/5/apache-5.pom.sha1 +fetchArtifact org/apache/maven/plugins/maven-remote-resources-plugin/1.3/maven-remote-resources-plugin-1.3.pom +fetchArtifact org/apache/maven/plugins/maven-remote-resources-plugin/1.3/maven-remote-resources-plugin-1.3.pom.sha1 +fetchArtifact org/apache/maven/plugins/maven-remote-resources-plugin/1.3/maven-remote-resources-plugin-1.3.jar +fetchArtifact org/apache/maven/plugins/maven-remote-resources-plugin/1.3/maven-remote-resources-plugin-1.3.jar.sha1 +fetchArtifact org/apache/maven/plugins/maven-plugins/22/maven-plugins-22.pom +fetchArtifact org/apache/maven/plugins/maven-plugins/22/maven-plugins-22.pom.sha1 fetchArtifact org/apache/maven/plugins/maven-plugins/18/maven-plugins-18.pom fetchArtifact org/apache/maven/plugins/maven-plugins/18/maven-plugins-18.pom.sha1 fetchArtifact org/apache/maven/plugins/maven-plugins/19/maven-plugins-19.pom fetchArtifact org/apache/maven/plugins/maven-plugins/19/maven-plugins-19.pom.sha1 -fetchArtifact org/apache/maven/plugins/maven-plugins/22/maven-plugins-22.pom -fetchArtifact org/apache/maven/plugins/maven-plugins/22/maven-plugins-22.pom.sha1 fetchArtifact org/apache/maven/plugins/maven-plugins/24/maven-plugins-24.pom fetchArtifact org/apache/maven/plugins/maven-plugins/24/maven-plugins-24.pom.sha1 -fetchArtifact org/apache/maven/plugins/maven-remote-resources-plugin/1.3/maven-remote-resources-plugin-1.3.jar -fetchArtifact org/apache/maven/plugins/maven-remote-resources-plugin/1.3/maven-remote-resources-plugin-1.3.jar.sha1 -fetchArtifact org/apache/maven/plugins/maven-remote-resources-plugin/1.3/maven-remote-resources-plugin-1.3.pom -fetchArtifact org/apache/maven/plugins/maven-remote-resources-plugin/1.3/maven-remote-resources-plugin-1.3.pom.sha1 -fetchArtifact org/apache/maven/plugins/maven-resources-plugin/2.5/maven-resources-plugin-2.5.jar -fetchArtifact org/apache/maven/plugins/maven-resources-plugin/2.5/maven-resources-plugin-2.5.jar.sha1 -fetchArtifact org/apache/maven/plugins/maven-resources-plugin/2.5/maven-resources-plugin-2.5.pom -fetchArtifact org/apache/maven/plugins/maven-resources-plugin/2.5/maven-resources-plugin-2.5.pom.sha1 -fetchArtifact org/apache/maven/plugins/maven-shade-plugin/2.2/maven-shade-plugin-2.2.jar -fetchArtifact org/apache/maven/plugins/maven-shade-plugin/2.2/maven-shade-plugin-2.2.jar.sha1 -fetchArtifact org/apache/maven/plugins/maven-shade-plugin/2.2/maven-shade-plugin-2.2.pom -fetchArtifact org/apache/maven/plugins/maven-shade-plugin/2.2/maven-shade-plugin-2.2.pom.sha1 -fetchArtifact org/apache/maven/plugins/maven-site-plugin/3.1/maven-site-plugin-3.1.jar -fetchArtifact org/apache/maven/plugins/maven-site-plugin/3.1/maven-site-plugin-3.1.jar.sha1 fetchArtifact org/apache/maven/plugins/maven-site-plugin/3.1/maven-site-plugin-3.1.pom fetchArtifact org/apache/maven/plugins/maven-site-plugin/3.1/maven-site-plugin-3.1.pom.sha1 -fetchArtifact org/apache/maven/plugins/maven-source-plugin/2.1.2/maven-source-plugin-2.1.2.jar -fetchArtifact org/apache/maven/plugins/maven-source-plugin/2.1.2/maven-source-plugin-2.1.2.jar.sha1 +fetchArtifact org/apache/maven/plugins/maven-site-plugin/3.1/maven-site-plugin-3.1.jar +fetchArtifact org/apache/maven/plugins/maven-site-plugin/3.1/maven-site-plugin-3.1.jar.sha1 fetchArtifact org/apache/maven/plugins/maven-source-plugin/2.1.2/maven-source-plugin-2.1.2.pom fetchArtifact org/apache/maven/plugins/maven-source-plugin/2.1.2/maven-source-plugin-2.1.2.pom.sha1 -fetchArtifact org/apache/maven/plugins/maven-surefire-plugin/2.12/maven-surefire-plugin-2.12.jar -fetchArtifact org/apache/maven/plugins/maven-surefire-plugin/2.12/maven-surefire-plugin-2.12.jar.sha1 +fetchArtifact org/apache/maven/plugins/maven-source-plugin/2.1.2/maven-source-plugin-2.1.2.jar +fetchArtifact org/apache/maven/plugins/maven-source-plugin/2.1.2/maven-source-plugin-2.1.2.jar.sha1 +fetchArtifact org/apache/maven/plugins/maven-gpg-plugin/1.4/maven-gpg-plugin-1.4.pom +fetchArtifact org/apache/maven/plugins/maven-gpg-plugin/1.4/maven-gpg-plugin-1.4.pom.sha1 +fetchArtifact org/apache/maven/plugins/maven-gpg-plugin/1.4/maven-gpg-plugin-1.4.jar +fetchArtifact org/apache/maven/plugins/maven-gpg-plugin/1.4/maven-gpg-plugin-1.4.jar.sha1 +fetchArtifact org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom +fetchArtifact org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom.sha1 +fetchArtifact org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.jar +fetchArtifact org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.jar.sha1 +fetchArtifact org/apache/maven/plugins/maven-resources-plugin/2.5/maven-resources-plugin-2.5.pom +fetchArtifact org/apache/maven/plugins/maven-resources-plugin/2.5/maven-resources-plugin-2.5.pom.sha1 +fetchArtifact org/apache/maven/plugins/maven-resources-plugin/2.5/maven-resources-plugin-2.5.jar +fetchArtifact org/apache/maven/plugins/maven-resources-plugin/2.5/maven-resources-plugin-2.5.jar.sha1 +fetchArtifact org/apache/maven/plugins/maven-compiler-plugin/2.5.1/maven-compiler-plugin-2.5.1.pom +fetchArtifact org/apache/maven/plugins/maven-compiler-plugin/2.5.1/maven-compiler-plugin-2.5.1.pom.sha1 +fetchArtifact org/apache/maven/plugins/maven-compiler-plugin/2.5.1/maven-compiler-plugin-2.5.1.jar +fetchArtifact org/apache/maven/plugins/maven-compiler-plugin/2.5.1/maven-compiler-plugin-2.5.1.jar.sha1 fetchArtifact org/apache/maven/plugins/maven-surefire-plugin/2.12/maven-surefire-plugin-2.12.pom fetchArtifact org/apache/maven/plugins/maven-surefire-plugin/2.12/maven-surefire-plugin-2.12.pom.sha1 -fetchArtifact org/apache/maven/reporting/maven-reporting/2.0.6/maven-reporting-2.0.6.pom -fetchArtifact org/apache/maven/reporting/maven-reporting/2.0.6/maven-reporting-2.0.6.pom.sha1 -fetchArtifact org/apache/maven/reporting/maven-reporting/2.0.9/maven-reporting-2.0.9.pom -fetchArtifact org/apache/maven/reporting/maven-reporting/2.0.9/maven-reporting-2.0.9.pom.sha1 -fetchArtifact org/apache/maven/reporting/maven-reporting/2.0/maven-reporting-2.0.pom -fetchArtifact org/apache/maven/reporting/maven-reporting/2.0/maven-reporting-2.0.pom.sha1 -fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.jar -fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.jar.sha1 +fetchArtifact org/apache/maven/plugins/maven-surefire-plugin/2.12/maven-surefire-plugin-2.12.jar +fetchArtifact org/apache/maven/plugins/maven-surefire-plugin/2.12/maven-surefire-plugin-2.12.jar.sha1 +fetchArtifact org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.pom +fetchArtifact org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.pom.sha1 +fetchArtifact org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.jar +fetchArtifact org/apache/maven/plugins/maven-jar-plugin/2.4/maven-jar-plugin-2.4.jar.sha1 +fetchArtifact org/apache/maven/plugins/maven-javadoc-plugin/2.8.1/maven-javadoc-plugin-2.8.1.pom +fetchArtifact org/apache/maven/plugins/maven-javadoc-plugin/2.8.1/maven-javadoc-plugin-2.8.1.pom.sha1 +fetchArtifact org/apache/maven/plugins/maven-javadoc-plugin/2.8.1/maven-javadoc-plugin-2.8.1.jar +fetchArtifact org/apache/maven/plugins/maven-javadoc-plugin/2.8.1/maven-javadoc-plugin-2.8.1.jar.sha1 +fetchArtifact org/apache/maven/plugins/maven-shade-plugin/2.2/maven-shade-plugin-2.2.pom +fetchArtifact org/apache/maven/plugins/maven-shade-plugin/2.2/maven-shade-plugin-2.2.pom.sha1 +fetchArtifact org/apache/maven/plugins/maven-shade-plugin/2.2/maven-shade-plugin-2.2.jar +fetchArtifact org/apache/maven/plugins/maven-shade-plugin/2.2/maven-shade-plugin-2.2.jar.sha1 +fetchArtifact org/apache/maven/plugins/maven-dependency-plugin/2.8/maven-dependency-plugin-2.8.pom +fetchArtifact org/apache/maven/plugins/maven-dependency-plugin/2.8/maven-dependency-plugin-2.8.pom.sha1 +fetchArtifact org/apache/maven/plugins/maven-dependency-plugin/2.8/maven-dependency-plugin-2.8.jar +fetchArtifact org/apache/maven/plugins/maven-dependency-plugin/2.8/maven-dependency-plugin-2.8.jar.sha1 +fetchArtifact org/apache/maven/maven-parent/21/maven-parent-21.pom +fetchArtifact org/apache/maven/maven-parent/21/maven-parent-21.pom.sha1 +fetchArtifact org/apache/maven/maven-parent/16/maven-parent-16.pom +fetchArtifact org/apache/maven/maven-parent/16/maven-parent-16.pom.sha1 +fetchArtifact org/apache/maven/maven-parent/19/maven-parent-19.pom +fetchArtifact org/apache/maven/maven-parent/19/maven-parent-19.pom.sha1 +fetchArtifact org/apache/maven/maven-parent/23/maven-parent-23.pom +fetchArtifact org/apache/maven/maven-parent/23/maven-parent-23.pom.sha1 +fetchArtifact org/apache/maven/maven-parent/5/maven-parent-5.pom +fetchArtifact org/apache/maven/maven-parent/5/maven-parent-5.pom.sha1 +fetchArtifact org/apache/maven/maven-parent/13/maven-parent-13.pom +fetchArtifact org/apache/maven/maven-parent/13/maven-parent-13.pom.sha1 +fetchArtifact org/apache/maven/maven-parent/7/maven-parent-7.pom +fetchArtifact org/apache/maven/maven-parent/7/maven-parent-7.pom.sha1 +fetchArtifact org/apache/maven/maven-parent/6/maven-parent-6.pom +fetchArtifact org/apache/maven/maven-parent/6/maven-parent-6.pom.sha1 +fetchArtifact org/apache/maven/maven-parent/8/maven-parent-8.pom +fetchArtifact org/apache/maven/maven-parent/8/maven-parent-8.pom.sha1 +fetchArtifact org/apache/maven/maven-parent/20/maven-parent-20.pom +fetchArtifact org/apache/maven/maven-parent/20/maven-parent-20.pom.sha1 +fetchArtifact org/apache/maven/maven-parent/10/maven-parent-10.pom +fetchArtifact org/apache/maven/maven-parent/10/maven-parent-10.pom.sha1 +fetchArtifact org/apache/maven/maven-parent/15/maven-parent-15.pom +fetchArtifact org/apache/maven/maven-parent/15/maven-parent-15.pom.sha1 +fetchArtifact org/apache/maven/maven-parent/11/maven-parent-11.pom +fetchArtifact org/apache/maven/maven-parent/11/maven-parent-11.pom.sha1 +fetchArtifact org/apache/maven/maven-parent/9/maven-parent-9.pom +fetchArtifact org/apache/maven/maven-parent/9/maven-parent-9.pom.sha1 +fetchArtifact org/apache/maven/surefire/surefire/2.12/surefire-2.12.pom +fetchArtifact org/apache/maven/surefire/surefire/2.12/surefire-2.12.pom.sha1 +fetchArtifact org/apache/maven/surefire/surefire-booter/2.12/surefire-booter-2.12.pom +fetchArtifact org/apache/maven/surefire/surefire-booter/2.12/surefire-booter-2.12.pom.sha1 +fetchArtifact org/apache/maven/surefire/surefire-booter/2.12/surefire-booter-2.12.jar +fetchArtifact org/apache/maven/surefire/surefire-booter/2.12/surefire-booter-2.12.jar.sha1 +fetchArtifact org/apache/maven/surefire/surefire-api/2.12/surefire-api-2.12.pom +fetchArtifact org/apache/maven/surefire/surefire-api/2.12/surefire-api-2.12.pom.sha1 +fetchArtifact org/apache/maven/surefire/surefire-api/2.12/surefire-api-2.12.jar +fetchArtifact org/apache/maven/surefire/surefire-api/2.12/surefire-api-2.12.jar.sha1 +fetchArtifact org/apache/maven/surefire/maven-surefire-common/2.12/maven-surefire-common-2.12.pom +fetchArtifact org/apache/maven/surefire/maven-surefire-common/2.12/maven-surefire-common-2.12.pom.sha1 +fetchArtifact org/apache/maven/surefire/maven-surefire-common/2.12/maven-surefire-common-2.12.jar +fetchArtifact org/apache/maven/surefire/maven-surefire-common/2.12/maven-surefire-common-2.12.jar.sha1 +fetchArtifact org/apache/maven/maven-plugin-api/2.0.6/maven-plugin-api-2.0.6.pom +fetchArtifact org/apache/maven/maven-plugin-api/2.0.6/maven-plugin-api-2.0.6.pom.sha1 +fetchArtifact org/apache/maven/maven-plugin-api/2.0.6/maven-plugin-api-2.0.6.jar +fetchArtifact org/apache/maven/maven-plugin-api/2.0.6/maven-plugin-api-2.0.6.jar.sha1 +fetchArtifact org/apache/maven/maven-plugin-api/2.0.1/maven-plugin-api-2.0.1.pom +fetchArtifact org/apache/maven/maven-plugin-api/2.0.1/maven-plugin-api-2.0.1.pom.sha1 +fetchArtifact org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.pom +fetchArtifact org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.pom.sha1 +fetchArtifact org/apache/maven/maven-plugin-api/2.0.9/maven-plugin-api-2.0.9.pom +fetchArtifact org/apache/maven/maven-plugin-api/2.0.9/maven-plugin-api-2.0.9.pom.sha1 +fetchArtifact org/apache/maven/maven-plugin-api/2.0.9/maven-plugin-api-2.0.9.jar +fetchArtifact org/apache/maven/maven-plugin-api/2.0.9/maven-plugin-api-2.0.9.jar.sha1 +fetchArtifact org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.pom +fetchArtifact org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.pom.sha1 +fetchArtifact org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.jar +fetchArtifact org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.jar.sha1 +fetchArtifact org/apache/maven/maven-plugin-api/2.2.1/maven-plugin-api-2.2.1.pom +fetchArtifact org/apache/maven/maven-plugin-api/2.2.1/maven-plugin-api-2.2.1.pom.sha1 +fetchArtifact org/apache/maven/maven-plugin-api/2.0.8/maven-plugin-api-2.0.8.pom +fetchArtifact org/apache/maven/maven-plugin-api/2.0.8/maven-plugin-api-2.0.8.pom.sha1 +fetchArtifact org/apache/maven/maven/2.0.6/maven-2.0.6.pom +fetchArtifact org/apache/maven/maven/2.0.6/maven-2.0.6.pom.sha1 +fetchArtifact org/apache/maven/maven/2.0.1/maven-2.0.1.pom +fetchArtifact org/apache/maven/maven/2.0.1/maven-2.0.1.pom.sha1 +fetchArtifact org/apache/maven/maven/2.0.8/maven-2.0.8.pom +fetchArtifact org/apache/maven/maven/2.0.8/maven-2.0.8.pom.sha1 +fetchArtifact org/apache/maven/maven/2.0/maven-2.0.pom +fetchArtifact org/apache/maven/maven/2.0/maven-2.0.pom.sha1 +fetchArtifact org/apache/maven/maven/2.0.9/maven-2.0.9.pom +fetchArtifact org/apache/maven/maven/2.0.9/maven-2.0.9.pom.sha1 +fetchArtifact org/apache/maven/maven/3.0/maven-3.0.pom +fetchArtifact org/apache/maven/maven/3.0/maven-3.0.pom.sha1 +fetchArtifact org/apache/maven/maven/2.2.1/maven-2.2.1.pom +fetchArtifact org/apache/maven/maven/2.2.1/maven-2.2.1.pom.sha1 +fetchArtifact org/apache/maven/maven/2.2.0/maven-2.2.0.pom +fetchArtifact org/apache/maven/maven/2.2.0/maven-2.2.0.pom.sha1 +fetchArtifact org/apache/maven/maven/2.0.2/maven-2.0.2.pom +fetchArtifact org/apache/maven/maven/2.0.2/maven-2.0.2.pom.sha1 +fetchArtifact org/apache/maven/maven/2.0.5/maven-2.0.5.pom +fetchArtifact org/apache/maven/maven/2.0.5/maven-2.0.5.pom.sha1 +fetchArtifact org/apache/maven/maven-model/2.0.6/maven-model-2.0.6.pom +fetchArtifact org/apache/maven/maven-model/2.0.6/maven-model-2.0.6.pom.sha1 +fetchArtifact org/apache/maven/maven-model/2.0.6/maven-model-2.0.6.jar +fetchArtifact org/apache/maven/maven-model/2.0.6/maven-model-2.0.6.jar.sha1 +fetchArtifact org/apache/maven/maven-model/2.0/maven-model-2.0.pom +fetchArtifact org/apache/maven/maven-model/2.0/maven-model-2.0.pom.sha1 +fetchArtifact org/apache/maven/maven-model/2.0.9/maven-model-2.0.9.pom +fetchArtifact org/apache/maven/maven-model/2.0.9/maven-model-2.0.9.pom.sha1 +fetchArtifact org/apache/maven/maven-model/2.0.9/maven-model-2.0.9.jar +fetchArtifact org/apache/maven/maven-model/2.0.9/maven-model-2.0.9.jar.sha1 +fetchArtifact org/apache/maven/maven-model/3.0/maven-model-3.0.pom +fetchArtifact org/apache/maven/maven-model/3.0/maven-model-3.0.pom.sha1 +fetchArtifact org/apache/maven/maven-model/3.0/maven-model-3.0.jar +fetchArtifact org/apache/maven/maven-model/3.0/maven-model-3.0.jar.sha1 +fetchArtifact org/apache/maven/maven-model/2.2.1/maven-model-2.2.1.pom +fetchArtifact org/apache/maven/maven-model/2.2.1/maven-model-2.2.1.pom.sha1 +fetchArtifact org/apache/maven/maven-model/2.0.8/maven-model-2.0.8.pom +fetchArtifact org/apache/maven/maven-model/2.0.8/maven-model-2.0.8.pom.sha1 +fetchArtifact org/apache/maven/maven-model/2.2.0/maven-model-2.2.0.pom +fetchArtifact org/apache/maven/maven-model/2.2.0/maven-model-2.2.0.pom.sha1 +fetchArtifact org/apache/maven/maven-model/2.0.5/maven-model-2.0.5.pom +fetchArtifact org/apache/maven/maven-model/2.0.5/maven-model-2.0.5.pom.sha1 +fetchArtifact org/apache/maven/maven-project/2.0.6/maven-project-2.0.6.pom +fetchArtifact org/apache/maven/maven-project/2.0.6/maven-project-2.0.6.pom.sha1 +fetchArtifact org/apache/maven/maven-project/2.0.6/maven-project-2.0.6.jar +fetchArtifact org/apache/maven/maven-project/2.0.6/maven-project-2.0.6.jar.sha1 +fetchArtifact org/apache/maven/maven-project/2.0/maven-project-2.0.pom +fetchArtifact org/apache/maven/maven-project/2.0/maven-project-2.0.pom.sha1 +fetchArtifact org/apache/maven/maven-project/2.0.9/maven-project-2.0.9.pom +fetchArtifact org/apache/maven/maven-project/2.0.9/maven-project-2.0.9.pom.sha1 +fetchArtifact org/apache/maven/maven-project/2.0.9/maven-project-2.0.9.jar +fetchArtifact org/apache/maven/maven-project/2.0.9/maven-project-2.0.9.jar.sha1 +fetchArtifact org/apache/maven/maven-project/2.0.8/maven-project-2.0.8.pom +fetchArtifact org/apache/maven/maven-project/2.0.8/maven-project-2.0.8.pom.sha1 +fetchArtifact org/apache/maven/maven-project/2.2.0/maven-project-2.2.0.pom +fetchArtifact org/apache/maven/maven-project/2.2.0/maven-project-2.2.0.pom.sha1 +fetchArtifact org/apache/maven/maven-project/2.2.0/maven-project-2.2.0.jar +fetchArtifact org/apache/maven/maven-project/2.2.0/maven-project-2.2.0.jar.sha1 +fetchArtifact org/apache/maven/maven-project/2.0.5/maven-project-2.0.5.pom +fetchArtifact org/apache/maven/maven-project/2.0.5/maven-project-2.0.5.pom.sha1 +fetchArtifact org/apache/maven/maven-settings/2.0.6/maven-settings-2.0.6.pom +fetchArtifact org/apache/maven/maven-settings/2.0.6/maven-settings-2.0.6.pom.sha1 +fetchArtifact org/apache/maven/maven-settings/2.0.6/maven-settings-2.0.6.jar +fetchArtifact org/apache/maven/maven-settings/2.0.6/maven-settings-2.0.6.jar.sha1 +fetchArtifact org/apache/maven/maven-settings/2.0/maven-settings-2.0.pom +fetchArtifact org/apache/maven/maven-settings/2.0/maven-settings-2.0.pom.sha1 +fetchArtifact org/apache/maven/maven-settings/2.0.9/maven-settings-2.0.9.pom +fetchArtifact org/apache/maven/maven-settings/2.0.9/maven-settings-2.0.9.pom.sha1 +fetchArtifact org/apache/maven/maven-settings/2.0.9/maven-settings-2.0.9.jar +fetchArtifact org/apache/maven/maven-settings/2.0.9/maven-settings-2.0.9.jar.sha1 +fetchArtifact org/apache/maven/maven-settings/3.0/maven-settings-3.0.pom +fetchArtifact org/apache/maven/maven-settings/3.0/maven-settings-3.0.pom.sha1 +fetchArtifact org/apache/maven/maven-settings/3.0/maven-settings-3.0.jar +fetchArtifact org/apache/maven/maven-settings/3.0/maven-settings-3.0.jar.sha1 +fetchArtifact org/apache/maven/maven-settings/2.0.8/maven-settings-2.0.8.pom +fetchArtifact org/apache/maven/maven-settings/2.0.8/maven-settings-2.0.8.pom.sha1 +fetchArtifact org/apache/maven/maven-settings/2.2.0/maven-settings-2.2.0.pom +fetchArtifact org/apache/maven/maven-settings/2.2.0/maven-settings-2.2.0.pom.sha1 +fetchArtifact org/apache/maven/maven-settings/2.0.5/maven-settings-2.0.5.pom +fetchArtifact org/apache/maven/maven-settings/2.0.5/maven-settings-2.0.5.pom.sha1 +fetchArtifact org/apache/maven/maven-profile/2.0.6/maven-profile-2.0.6.pom +fetchArtifact org/apache/maven/maven-profile/2.0.6/maven-profile-2.0.6.pom.sha1 +fetchArtifact org/apache/maven/maven-profile/2.0.6/maven-profile-2.0.6.jar +fetchArtifact org/apache/maven/maven-profile/2.0.6/maven-profile-2.0.6.jar.sha1 +fetchArtifact org/apache/maven/maven-profile/2.0/maven-profile-2.0.pom +fetchArtifact org/apache/maven/maven-profile/2.0/maven-profile-2.0.pom.sha1 +fetchArtifact org/apache/maven/maven-profile/2.0.9/maven-profile-2.0.9.pom +fetchArtifact org/apache/maven/maven-profile/2.0.9/maven-profile-2.0.9.pom.sha1 +fetchArtifact org/apache/maven/maven-profile/2.0.9/maven-profile-2.0.9.jar +fetchArtifact org/apache/maven/maven-profile/2.0.9/maven-profile-2.0.9.jar.sha1 +fetchArtifact org/apache/maven/maven-profile/2.0.8/maven-profile-2.0.8.pom +fetchArtifact org/apache/maven/maven-profile/2.0.8/maven-profile-2.0.8.pom.sha1 +fetchArtifact org/apache/maven/maven-profile/2.2.0/maven-profile-2.2.0.pom +fetchArtifact org/apache/maven/maven-profile/2.2.0/maven-profile-2.2.0.pom.sha1 +fetchArtifact org/apache/maven/maven-profile/2.2.0/maven-profile-2.2.0.jar +fetchArtifact org/apache/maven/maven-profile/2.2.0/maven-profile-2.2.0.jar.sha1 +fetchArtifact org/apache/maven/maven-profile/2.0.5/maven-profile-2.0.5.pom +fetchArtifact org/apache/maven/maven-profile/2.0.5/maven-profile-2.0.5.pom.sha1 +fetchArtifact org/apache/maven/maven-artifact-manager/2.0.6/maven-artifact-manager-2.0.6.pom +fetchArtifact org/apache/maven/maven-artifact-manager/2.0.6/maven-artifact-manager-2.0.6.pom.sha1 +fetchArtifact org/apache/maven/maven-artifact-manager/2.0.6/maven-artifact-manager-2.0.6.jar +fetchArtifact org/apache/maven/maven-artifact-manager/2.0.6/maven-artifact-manager-2.0.6.jar.sha1 +fetchArtifact org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.pom +fetchArtifact org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.pom.sha1 +fetchArtifact org/apache/maven/maven-artifact-manager/2.0.9/maven-artifact-manager-2.0.9.pom +fetchArtifact org/apache/maven/maven-artifact-manager/2.0.9/maven-artifact-manager-2.0.9.pom.sha1 +fetchArtifact org/apache/maven/maven-artifact-manager/2.0.9/maven-artifact-manager-2.0.9.jar +fetchArtifact org/apache/maven/maven-artifact-manager/2.0.9/maven-artifact-manager-2.0.9.jar.sha1 +fetchArtifact org/apache/maven/maven-artifact-manager/2.0.8/maven-artifact-manager-2.0.8.pom +fetchArtifact org/apache/maven/maven-artifact-manager/2.0.8/maven-artifact-manager-2.0.8.pom.sha1 +fetchArtifact org/apache/maven/maven-artifact-manager/2.2.0/maven-artifact-manager-2.2.0.pom +fetchArtifact org/apache/maven/maven-artifact-manager/2.2.0/maven-artifact-manager-2.2.0.pom.sha1 +fetchArtifact org/apache/maven/maven-artifact-manager/2.2.0/maven-artifact-manager-2.2.0.jar +fetchArtifact org/apache/maven/maven-artifact-manager/2.2.0/maven-artifact-manager-2.2.0.jar.sha1 +fetchArtifact org/apache/maven/maven-artifact-manager/2.0.2/maven-artifact-manager-2.0.2.pom +fetchArtifact org/apache/maven/maven-artifact-manager/2.0.2/maven-artifact-manager-2.0.2.pom.sha1 +fetchArtifact org/apache/maven/maven-artifact-manager/2.0.5/maven-artifact-manager-2.0.5.pom +fetchArtifact org/apache/maven/maven-artifact-manager/2.0.5/maven-artifact-manager-2.0.5.pom.sha1 +fetchArtifact org/apache/maven/maven-repository-metadata/2.0.6/maven-repository-metadata-2.0.6.pom +fetchArtifact org/apache/maven/maven-repository-metadata/2.0.6/maven-repository-metadata-2.0.6.pom.sha1 +fetchArtifact org/apache/maven/maven-repository-metadata/2.0.6/maven-repository-metadata-2.0.6.jar +fetchArtifact org/apache/maven/maven-repository-metadata/2.0.6/maven-repository-metadata-2.0.6.jar.sha1 +fetchArtifact org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.pom +fetchArtifact org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.pom.sha1 +fetchArtifact org/apache/maven/maven-repository-metadata/2.0.9/maven-repository-metadata-2.0.9.pom +fetchArtifact org/apache/maven/maven-repository-metadata/2.0.9/maven-repository-metadata-2.0.9.pom.sha1 +fetchArtifact org/apache/maven/maven-repository-metadata/2.0.9/maven-repository-metadata-2.0.9.jar +fetchArtifact org/apache/maven/maven-repository-metadata/2.0.9/maven-repository-metadata-2.0.9.jar.sha1 +fetchArtifact org/apache/maven/maven-repository-metadata/3.0/maven-repository-metadata-3.0.pom +fetchArtifact org/apache/maven/maven-repository-metadata/3.0/maven-repository-metadata-3.0.pom.sha1 +fetchArtifact org/apache/maven/maven-repository-metadata/3.0/maven-repository-metadata-3.0.jar +fetchArtifact org/apache/maven/maven-repository-metadata/3.0/maven-repository-metadata-3.0.jar.sha1 +fetchArtifact org/apache/maven/maven-repository-metadata/2.0.8/maven-repository-metadata-2.0.8.pom +fetchArtifact org/apache/maven/maven-repository-metadata/2.0.8/maven-repository-metadata-2.0.8.pom.sha1 +fetchArtifact org/apache/maven/maven-repository-metadata/2.2.0/maven-repository-metadata-2.2.0.pom +fetchArtifact org/apache/maven/maven-repository-metadata/2.2.0/maven-repository-metadata-2.2.0.pom.sha1 +fetchArtifact org/apache/maven/maven-repository-metadata/2.0.2/maven-repository-metadata-2.0.2.pom +fetchArtifact org/apache/maven/maven-repository-metadata/2.0.2/maven-repository-metadata-2.0.2.pom.sha1 +fetchArtifact org/apache/maven/maven-repository-metadata/2.0.5/maven-repository-metadata-2.0.5.pom +fetchArtifact org/apache/maven/maven-repository-metadata/2.0.5/maven-repository-metadata-2.0.5.pom.sha1 +fetchArtifact org/apache/maven/maven-artifact/2.0.6/maven-artifact-2.0.6.pom +fetchArtifact org/apache/maven/maven-artifact/2.0.6/maven-artifact-2.0.6.pom.sha1 +fetchArtifact org/apache/maven/maven-artifact/2.0.6/maven-artifact-2.0.6.jar +fetchArtifact org/apache/maven/maven-artifact/2.0.6/maven-artifact-2.0.6.jar.sha1 +fetchArtifact org/apache/maven/maven-artifact/2.0.8/maven-artifact-2.0.8.pom +fetchArtifact org/apache/maven/maven-artifact/2.0.8/maven-artifact-2.0.8.pom.sha1 +fetchArtifact org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.pom +fetchArtifact org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.pom.sha1 +fetchArtifact org/apache/maven/maven-artifact/2.0.9/maven-artifact-2.0.9.pom +fetchArtifact org/apache/maven/maven-artifact/2.0.9/maven-artifact-2.0.9.pom.sha1 +fetchArtifact org/apache/maven/maven-artifact/2.0.9/maven-artifact-2.0.9.jar +fetchArtifact org/apache/maven/maven-artifact/2.0.9/maven-artifact-2.0.9.jar.sha1 +fetchArtifact org/apache/maven/maven-artifact/3.0/maven-artifact-3.0.pom +fetchArtifact org/apache/maven/maven-artifact/3.0/maven-artifact-3.0.pom.sha1 +fetchArtifact org/apache/maven/maven-artifact/3.0/maven-artifact-3.0.jar +fetchArtifact org/apache/maven/maven-artifact/3.0/maven-artifact-3.0.jar.sha1 +fetchArtifact org/apache/maven/maven-artifact/2.2.1/maven-artifact-2.2.1.pom +fetchArtifact org/apache/maven/maven-artifact/2.2.1/maven-artifact-2.2.1.pom.sha1 +fetchArtifact org/apache/maven/maven-artifact/2.2.0/maven-artifact-2.2.0.pom +fetchArtifact org/apache/maven/maven-artifact/2.2.0/maven-artifact-2.2.0.pom.sha1 +fetchArtifact org/apache/maven/maven-artifact/2.0.2/maven-artifact-2.0.2.pom +fetchArtifact org/apache/maven/maven-artifact/2.0.2/maven-artifact-2.0.2.pom.sha1 +fetchArtifact org/apache/maven/maven-artifact/2.0.5/maven-artifact-2.0.5.pom +fetchArtifact org/apache/maven/maven-artifact/2.0.5/maven-artifact-2.0.5.pom.sha1 +fetchArtifact org/apache/maven/maven-plugin-registry/2.0.6/maven-plugin-registry-2.0.6.pom +fetchArtifact org/apache/maven/maven-plugin-registry/2.0.6/maven-plugin-registry-2.0.6.pom.sha1 +fetchArtifact org/apache/maven/maven-plugin-registry/2.0.6/maven-plugin-registry-2.0.6.jar +fetchArtifact org/apache/maven/maven-plugin-registry/2.0.6/maven-plugin-registry-2.0.6.jar.sha1 +fetchArtifact org/apache/maven/maven-plugin-registry/2.0/maven-plugin-registry-2.0.pom +fetchArtifact org/apache/maven/maven-plugin-registry/2.0/maven-plugin-registry-2.0.pom.sha1 +fetchArtifact org/apache/maven/maven-plugin-registry/2.0.9/maven-plugin-registry-2.0.9.pom +fetchArtifact org/apache/maven/maven-plugin-registry/2.0.9/maven-plugin-registry-2.0.9.pom.sha1 +fetchArtifact org/apache/maven/maven-plugin-registry/2.0.9/maven-plugin-registry-2.0.9.jar +fetchArtifact org/apache/maven/maven-plugin-registry/2.0.9/maven-plugin-registry-2.0.9.jar.sha1 +fetchArtifact org/apache/maven/maven-plugin-registry/2.0.8/maven-plugin-registry-2.0.8.pom +fetchArtifact org/apache/maven/maven-plugin-registry/2.0.8/maven-plugin-registry-2.0.8.pom.sha1 +fetchArtifact org/apache/maven/maven-plugin-registry/2.2.0/maven-plugin-registry-2.2.0.pom +fetchArtifact org/apache/maven/maven-plugin-registry/2.2.0/maven-plugin-registry-2.2.0.pom.sha1 +fetchArtifact org/apache/maven/maven-plugin-registry/2.2.0/maven-plugin-registry-2.2.0.jar +fetchArtifact org/apache/maven/maven-plugin-registry/2.2.0/maven-plugin-registry-2.2.0.jar.sha1 +fetchArtifact org/apache/maven/maven-core/2.0.6/maven-core-2.0.6.pom +fetchArtifact org/apache/maven/maven-core/2.0.6/maven-core-2.0.6.pom.sha1 +fetchArtifact org/apache/maven/maven-core/2.0.6/maven-core-2.0.6.jar +fetchArtifact org/apache/maven/maven-core/2.0.6/maven-core-2.0.6.jar.sha1 +fetchArtifact org/apache/maven/maven-core/2.0/maven-core-2.0.pom +fetchArtifact org/apache/maven/maven-core/2.0/maven-core-2.0.pom.sha1 +fetchArtifact org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.pom +fetchArtifact org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.pom.sha1 +fetchArtifact org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.jar +fetchArtifact org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.jar.sha1 +fetchArtifact org/apache/maven/maven-core/3.0/maven-core-3.0.pom +fetchArtifact org/apache/maven/maven-core/3.0/maven-core-3.0.pom.sha1 +fetchArtifact org/apache/maven/maven-core/3.0/maven-core-3.0.jar +fetchArtifact org/apache/maven/maven-core/3.0/maven-core-3.0.jar.sha1 +fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.6/maven-plugin-parameter-documenter-2.0.6.pom +fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.6/maven-plugin-parameter-documenter-2.0.6.pom.sha1 +fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.6/maven-plugin-parameter-documenter-2.0.6.jar +fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.6/maven-plugin-parameter-documenter-2.0.6.jar.sha1 +fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0/maven-plugin-parameter-documenter-2.0.pom +fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0/maven-plugin-parameter-documenter-2.0.pom.sha1 +fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.9/maven-plugin-parameter-documenter-2.0.9.pom +fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.9/maven-plugin-parameter-documenter-2.0.9.pom.sha1 +fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.9/maven-plugin-parameter-documenter-2.0.9.jar +fetchArtifact org/apache/maven/maven-plugin-parameter-documenter/2.0.9/maven-plugin-parameter-documenter-2.0.9.jar.sha1 fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.pom fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.pom.sha1 -fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.jar -fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.jar.sha1 -fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.pom -fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.pom.sha1 +fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.jar +fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.jar.sha1 fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0/maven-reporting-api-2.0.pom fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0/maven-reporting-api-2.0.pom.sha1 -fetchArtifact org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.jar -fetchArtifact org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.jar.sha1 +fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.pom +fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.pom.sha1 +fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.jar +fetchArtifact org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.jar.sha1 fetchArtifact org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.pom fetchArtifact org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.pom.sha1 -fetchArtifact org/apache/maven/reporting/maven-reporting-exec/1.0.2/maven-reporting-exec-1.0.2.jar -fetchArtifact org/apache/maven/reporting/maven-reporting-exec/1.0.2/maven-reporting-exec-1.0.2.jar.sha1 +fetchArtifact org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.jar +fetchArtifact org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.jar.sha1 +fetchArtifact org/apache/maven/reporting/maven-reporting/2.0.6/maven-reporting-2.0.6.pom +fetchArtifact org/apache/maven/reporting/maven-reporting/2.0.6/maven-reporting-2.0.6.pom.sha1 +fetchArtifact org/apache/maven/reporting/maven-reporting/2.0/maven-reporting-2.0.pom +fetchArtifact org/apache/maven/reporting/maven-reporting/2.0/maven-reporting-2.0.pom.sha1 +fetchArtifact org/apache/maven/reporting/maven-reporting/2.0.9/maven-reporting-2.0.9.pom +fetchArtifact org/apache/maven/reporting/maven-reporting/2.0.9/maven-reporting-2.0.9.pom.sha1 fetchArtifact org/apache/maven/reporting/maven-reporting-exec/1.0.2/maven-reporting-exec-1.0.2.pom fetchArtifact org/apache/maven/reporting/maven-reporting-exec/1.0.2/maven-reporting-exec-1.0.2.pom.sha1 -fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.0.5/maven-reporting-impl-2.0.5.jar -fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.0.5/maven-reporting-impl-2.0.5.jar.sha1 +fetchArtifact org/apache/maven/reporting/maven-reporting-exec/1.0.2/maven-reporting-exec-1.0.2.jar +fetchArtifact org/apache/maven/reporting/maven-reporting-exec/1.0.2/maven-reporting-exec-1.0.2.jar.sha1 fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.0.5/maven-reporting-impl-2.0.5.pom fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.0.5/maven-reporting-impl-2.0.5.pom.sha1 -fetchArtifact org/apache/maven/shared/file-management/1.2.1/file-management-1.2.1.jar -fetchArtifact org/apache/maven/shared/file-management/1.2.1/file-management-1.2.1.jar.sha1 -fetchArtifact org/apache/maven/shared/file-management/1.2.1/file-management-1.2.1.pom -fetchArtifact org/apache/maven/shared/file-management/1.2.1/file-management-1.2.1.pom.sha1 -fetchArtifact org/apache/maven/shared/maven-artifact-resolver/1.0/maven-artifact-resolver-1.0.jar -fetchArtifact org/apache/maven/shared/maven-artifact-resolver/1.0/maven-artifact-resolver-1.0.jar.sha1 +fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.0.5/maven-reporting-impl-2.0.5.jar +fetchArtifact org/apache/maven/reporting/maven-reporting-impl/2.0.5/maven-reporting-impl-2.0.5.jar.sha1 +fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.pom +fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.pom.sha1 +fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.jar +fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.jar.sha1 +fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.pom +fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.pom.sha1 +fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.jar +fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.jar.sha1 +fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.3/doxia-sink-api-1.3.pom +fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.3/doxia-sink-api-1.3.pom.sha1 +fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.3/doxia-sink-api-1.3.jar +fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.3/doxia-sink-api-1.3.jar.sha1 +fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-10/doxia-sink-api-1.0-alpha-10.pom +fetchArtifact org/apache/maven/doxia/doxia-sink-api/1.0-alpha-10/doxia-sink-api-1.0-alpha-10.pom.sha1 +fetchArtifact org/apache/maven/doxia/doxia/1.0-alpha-7/doxia-1.0-alpha-7.pom +fetchArtifact org/apache/maven/doxia/doxia/1.0-alpha-7/doxia-1.0-alpha-7.pom.sha1 +fetchArtifact org/apache/maven/doxia/doxia/1.0/doxia-1.0.pom +fetchArtifact org/apache/maven/doxia/doxia/1.0/doxia-1.0.pom.sha1 +fetchArtifact org/apache/maven/doxia/doxia/1.3/doxia-1.3.pom +fetchArtifact org/apache/maven/doxia/doxia/1.3/doxia-1.3.pom.sha1 +fetchArtifact org/apache/maven/doxia/doxia/1.2/doxia-1.2.pom +fetchArtifact org/apache/maven/doxia/doxia/1.2/doxia-1.2.pom.sha1 +fetchArtifact org/apache/maven/doxia/doxia/1.0-alpha-10/doxia-1.0-alpha-10.pom +fetchArtifact org/apache/maven/doxia/doxia/1.0-alpha-10/doxia-1.0-alpha-10.pom.sha1 +fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.3/doxia-logging-api-1.3.pom +fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.3/doxia-logging-api-1.3.pom.sha1 +fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.3/doxia-logging-api-1.3.jar +fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.3/doxia-logging-api-1.3.jar.sha1 +fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.2/doxia-logging-api-1.2.pom +fetchArtifact org/apache/maven/doxia/doxia-logging-api/1.2/doxia-logging-api-1.2.pom.sha1 +fetchArtifact org/apache/maven/doxia/doxia-core/1.3/doxia-core-1.3.pom +fetchArtifact org/apache/maven/doxia/doxia-core/1.3/doxia-core-1.3.pom.sha1 +fetchArtifact org/apache/maven/doxia/doxia-core/1.3/doxia-core-1.3.jar +fetchArtifact org/apache/maven/doxia/doxia-core/1.3/doxia-core-1.3.jar.sha1 +fetchArtifact org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.pom +fetchArtifact org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.pom.sha1 +fetchArtifact org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.jar +fetchArtifact org/apache/maven/doxia/doxia-core/1.0/doxia-core-1.0.jar.sha1 +fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.3/doxia-module-xhtml-1.3.pom +fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.3/doxia-module-xhtml-1.3.pom.sha1 +fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.3/doxia-module-xhtml-1.3.jar +fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.3/doxia-module-xhtml-1.3.jar.sha1 +fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.pom +fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.pom.sha1 +fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.jar +fetchArtifact org/apache/maven/doxia/doxia-module-xhtml/1.0/doxia-module-xhtml-1.0.jar.sha1 +fetchArtifact org/apache/maven/doxia/doxia-modules/1.3/doxia-modules-1.3.pom +fetchArtifact org/apache/maven/doxia/doxia-modules/1.3/doxia-modules-1.3.pom.sha1 +fetchArtifact org/apache/maven/doxia/doxia-modules/1.0/doxia-modules-1.0.pom +fetchArtifact org/apache/maven/doxia/doxia-modules/1.0/doxia-modules-1.0.pom.sha1 +fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.3/doxia-module-apt-1.3.pom +fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.3/doxia-module-apt-1.3.pom.sha1 +fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.3/doxia-module-apt-1.3.jar +fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.3/doxia-module-apt-1.3.jar.sha1 +fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.pom +fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.pom.sha1 +fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.jar +fetchArtifact org/apache/maven/doxia/doxia-module-apt/1.0/doxia-module-apt-1.0.jar.sha1 +fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.3/doxia-module-xdoc-1.3.pom +fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.3/doxia-module-xdoc-1.3.pom.sha1 +fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.3/doxia-module-xdoc-1.3.jar +fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.3/doxia-module-xdoc-1.3.jar.sha1 +fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.pom +fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.pom.sha1 +fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.jar +fetchArtifact org/apache/maven/doxia/doxia-module-xdoc/1.0/doxia-module-xdoc-1.0.jar.sha1 +fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.3/doxia-module-fml-1.3.pom +fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.3/doxia-module-fml-1.3.pom.sha1 +fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.3/doxia-module-fml-1.3.jar +fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.3/doxia-module-fml-1.3.jar.sha1 +fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.pom +fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.pom.sha1 +fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.jar +fetchArtifact org/apache/maven/doxia/doxia-module-fml/1.0/doxia-module-fml-1.0.jar.sha1 +fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.3/doxia-decoration-model-1.3.pom +fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.3/doxia-decoration-model-1.3.pom.sha1 +fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.3/doxia-decoration-model-1.3.jar +fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.3/doxia-decoration-model-1.3.jar.sha1 +fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.2/doxia-decoration-model-1.2.pom +fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.2/doxia-decoration-model-1.2.pom.sha1 +fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.pom +fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.pom.sha1 +fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.jar +fetchArtifact org/apache/maven/doxia/doxia-decoration-model/1.0/doxia-decoration-model-1.0.jar.sha1 +fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.3/doxia-sitetools-1.3.pom +fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.3/doxia-sitetools-1.3.pom.sha1 +fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.2/doxia-sitetools-1.2.pom +fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.2/doxia-sitetools-1.2.pom.sha1 +fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.0/doxia-sitetools-1.0.pom +fetchArtifact org/apache/maven/doxia/doxia-sitetools/1.0/doxia-sitetools-1.0.pom.sha1 +fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.3/doxia-site-renderer-1.3.pom +fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.3/doxia-site-renderer-1.3.pom.sha1 +fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.3/doxia-site-renderer-1.3.jar +fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.3/doxia-site-renderer-1.3.jar.sha1 +fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.pom +fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.pom.sha1 +fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.jar +fetchArtifact org/apache/maven/doxia/doxia-site-renderer/1.0/doxia-site-renderer-1.0.jar.sha1 +fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.6/maven-error-diagnostics-2.0.6.pom +fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.6/maven-error-diagnostics-2.0.6.pom.sha1 +fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.6/maven-error-diagnostics-2.0.6.jar +fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.6/maven-error-diagnostics-2.0.6.jar.sha1 +fetchArtifact org/apache/maven/maven-error-diagnostics/2.0/maven-error-diagnostics-2.0.pom +fetchArtifact org/apache/maven/maven-error-diagnostics/2.0/maven-error-diagnostics-2.0.pom.sha1 +fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.9/maven-error-diagnostics-2.0.9.pom +fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.9/maven-error-diagnostics-2.0.9.pom.sha1 +fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.9/maven-error-diagnostics-2.0.9.jar +fetchArtifact org/apache/maven/maven-error-diagnostics/2.0.9/maven-error-diagnostics-2.0.9.jar.sha1 +fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.6/maven-plugin-descriptor-2.0.6.pom +fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.6/maven-plugin-descriptor-2.0.6.pom.sha1 +fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.6/maven-plugin-descriptor-2.0.6.jar +fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.6/maven-plugin-descriptor-2.0.6.jar.sha1 +fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0/maven-plugin-descriptor-2.0.pom +fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0/maven-plugin-descriptor-2.0.pom.sha1 +fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.9/maven-plugin-descriptor-2.0.9.pom +fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.9/maven-plugin-descriptor-2.0.9.pom.sha1 +fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.9/maven-plugin-descriptor-2.0.9.jar +fetchArtifact org/apache/maven/maven-plugin-descriptor/2.0.9/maven-plugin-descriptor-2.0.9.jar.sha1 +fetchArtifact org/apache/maven/maven-monitor/2.0.6/maven-monitor-2.0.6.pom +fetchArtifact org/apache/maven/maven-monitor/2.0.6/maven-monitor-2.0.6.pom.sha1 +fetchArtifact org/apache/maven/maven-monitor/2.0.6/maven-monitor-2.0.6.jar +fetchArtifact org/apache/maven/maven-monitor/2.0.6/maven-monitor-2.0.6.jar.sha1 +fetchArtifact org/apache/maven/maven-monitor/2.0/maven-monitor-2.0.pom +fetchArtifact org/apache/maven/maven-monitor/2.0/maven-monitor-2.0.pom.sha1 +fetchArtifact org/apache/maven/maven-monitor/2.0.9/maven-monitor-2.0.9.pom +fetchArtifact org/apache/maven/maven-monitor/2.0.9/maven-monitor-2.0.9.pom.sha1 +fetchArtifact org/apache/maven/maven-monitor/2.0.9/maven-monitor-2.0.9.jar +fetchArtifact org/apache/maven/maven-monitor/2.0.9/maven-monitor-2.0.9.jar.sha1 fetchArtifact org/apache/maven/shared/maven-artifact-resolver/1.0/maven-artifact-resolver-1.0.pom fetchArtifact org/apache/maven/shared/maven-artifact-resolver/1.0/maven-artifact-resolver-1.0.pom.sha1 -fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.0/maven-common-artifact-filters-1.0.jar -fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.0/maven-common-artifact-filters-1.0.jar.sha1 -fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.0/maven-common-artifact-filters-1.0.pom -fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.0/maven-common-artifact-filters-1.0.pom.sha1 -fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.3/maven-common-artifact-filters-1.3.jar -fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.3/maven-common-artifact-filters-1.3.jar.sha1 -fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.3/maven-common-artifact-filters-1.3.pom -fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.3/maven-common-artifact-filters-1.3.pom.sha1 -fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.jar -fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.jar.sha1 -fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.pom -fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.pom.sha1 -fetchArtifact org/apache/maven/shared/maven-dependency-analyzer/1.4/maven-dependency-analyzer-1.4.jar -fetchArtifact org/apache/maven/shared/maven-dependency-analyzer/1.4/maven-dependency-analyzer-1.4.jar.sha1 -fetchArtifact org/apache/maven/shared/maven-dependency-analyzer/1.4/maven-dependency-analyzer-1.4.pom -fetchArtifact org/apache/maven/shared/maven-dependency-analyzer/1.4/maven-dependency-analyzer-1.4.pom.sha1 -fetchArtifact org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.jar -fetchArtifact org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.jar.sha1 -fetchArtifact org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.pom -fetchArtifact org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.pom.sha1 -fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.0.2/maven-doxia-tools-1.0.2.jar -fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.0.2/maven-doxia-tools-1.0.2.jar.sha1 -fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.0.2/maven-doxia-tools-1.0.2.pom -fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.0.2/maven-doxia-tools-1.0.2.pom.sha1 -fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.4/maven-doxia-tools-1.4.jar -fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.4/maven-doxia-tools-1.4.jar.sha1 -fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.4/maven-doxia-tools-1.4.pom -fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.4/maven-doxia-tools-1.4.pom.sha1 -fetchArtifact org/apache/maven/shared/maven-filtering/1.0/maven-filtering-1.0.jar -fetchArtifact org/apache/maven/shared/maven-filtering/1.0/maven-filtering-1.0.jar.sha1 -fetchArtifact org/apache/maven/shared/maven-filtering/1.0/maven-filtering-1.0.pom -fetchArtifact org/apache/maven/shared/maven-filtering/1.0/maven-filtering-1.0.pom.sha1 -fetchArtifact org/apache/maven/shared/maven-invoker/2.0.11/maven-invoker-2.0.11.jar -fetchArtifact org/apache/maven/shared/maven-invoker/2.0.11/maven-invoker-2.0.11.jar.sha1 -fetchArtifact org/apache/maven/shared/maven-invoker/2.0.11/maven-invoker-2.0.11.pom -fetchArtifact org/apache/maven/shared/maven-invoker/2.0.11/maven-invoker-2.0.11.pom.sha1 -fetchArtifact org/apache/maven/shared/maven-invoker/2.0.9/maven-invoker-2.0.9.jar -fetchArtifact org/apache/maven/shared/maven-invoker/2.0.9/maven-invoker-2.0.9.jar.sha1 -fetchArtifact org/apache/maven/shared/maven-invoker/2.0.9/maven-invoker-2.0.9.pom -fetchArtifact org/apache/maven/shared/maven-invoker/2.0.9/maven-invoker-2.0.9.pom.sha1 -fetchArtifact org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.jar -fetchArtifact org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.jar.sha1 -fetchArtifact org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.pom -fetchArtifact org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.pom.sha1 -fetchArtifact org/apache/maven/shared/maven-shared-components/10/maven-shared-components-10.pom -fetchArtifact org/apache/maven/shared/maven-shared-components/10/maven-shared-components-10.pom.sha1 -fetchArtifact org/apache/maven/shared/maven-shared-components/11/maven-shared-components-11.pom -fetchArtifact org/apache/maven/shared/maven-shared-components/11/maven-shared-components-11.pom.sha1 +fetchArtifact org/apache/maven/shared/maven-artifact-resolver/1.0/maven-artifact-resolver-1.0.jar +fetchArtifact org/apache/maven/shared/maven-artifact-resolver/1.0/maven-artifact-resolver-1.0.jar.sha1 fetchArtifact org/apache/maven/shared/maven-shared-components/12/maven-shared-components-12.pom fetchArtifact org/apache/maven/shared/maven-shared-components/12/maven-shared-components-12.pom.sha1 -fetchArtifact org/apache/maven/shared/maven-shared-components/15/maven-shared-components-15.pom -fetchArtifact org/apache/maven/shared/maven-shared-components/15/maven-shared-components-15.pom.sha1 +fetchArtifact org/apache/maven/shared/maven-shared-components/8/maven-shared-components-8.pom +fetchArtifact org/apache/maven/shared/maven-shared-components/8/maven-shared-components-8.pom.sha1 +fetchArtifact org/apache/maven/shared/maven-shared-components/7/maven-shared-components-7.pom +fetchArtifact org/apache/maven/shared/maven-shared-components/7/maven-shared-components-7.pom.sha1 fetchArtifact org/apache/maven/shared/maven-shared-components/16/maven-shared-components-16.pom fetchArtifact org/apache/maven/shared/maven-shared-components/16/maven-shared-components-16.pom.sha1 fetchArtifact org/apache/maven/shared/maven-shared-components/17/maven-shared-components-17.pom fetchArtifact org/apache/maven/shared/maven-shared-components/17/maven-shared-components-17.pom.sha1 -fetchArtifact org/apache/maven/shared/maven-shared-components/19/maven-shared-components-19.pom -fetchArtifact org/apache/maven/shared/maven-shared-components/19/maven-shared-components-19.pom.sha1 -fetchArtifact org/apache/maven/shared/maven-shared-components/7/maven-shared-components-7.pom -fetchArtifact org/apache/maven/shared/maven-shared-components/7/maven-shared-components-7.pom.sha1 -fetchArtifact org/apache/maven/shared/maven-shared-components/8/maven-shared-components-8.pom -fetchArtifact org/apache/maven/shared/maven-shared-components/8/maven-shared-components-8.pom.sha1 +fetchArtifact org/apache/maven/shared/maven-shared-components/15/maven-shared-components-15.pom +fetchArtifact org/apache/maven/shared/maven-shared-components/15/maven-shared-components-15.pom.sha1 fetchArtifact org/apache/maven/shared/maven-shared-components/9/maven-shared-components-9.pom fetchArtifact org/apache/maven/shared/maven-shared-components/9/maven-shared-components-9.pom.sha1 -fetchArtifact org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.jar -fetchArtifact org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.jar.sha1 +fetchArtifact org/apache/maven/shared/maven-shared-components/19/maven-shared-components-19.pom +fetchArtifact org/apache/maven/shared/maven-shared-components/19/maven-shared-components-19.pom.sha1 +fetchArtifact org/apache/maven/shared/maven-shared-components/11/maven-shared-components-11.pom +fetchArtifact org/apache/maven/shared/maven-shared-components/11/maven-shared-components-11.pom.sha1 +fetchArtifact org/apache/maven/shared/maven-shared-components/10/maven-shared-components-10.pom +fetchArtifact org/apache/maven/shared/maven-shared-components/10/maven-shared-components-10.pom.sha1 +fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.0/maven-common-artifact-filters-1.0.pom +fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.0/maven-common-artifact-filters-1.0.pom.sha1 +fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.0/maven-common-artifact-filters-1.0.jar +fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.0/maven-common-artifact-filters-1.0.jar.sha1 +fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.3/maven-common-artifact-filters-1.3.pom +fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.3/maven-common-artifact-filters-1.3.pom.sha1 +fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.3/maven-common-artifact-filters-1.3.jar +fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.3/maven-common-artifact-filters-1.3.jar.sha1 +fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.pom +fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.pom.sha1 +fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.jar +fetchArtifact org/apache/maven/shared/maven-common-artifact-filters/1.4/maven-common-artifact-filters-1.4.jar.sha1 +fetchArtifact org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.pom +fetchArtifact org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.pom.sha1 +fetchArtifact org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.jar +fetchArtifact org/apache/maven/shared/maven-plugin-testing-harness/1.1/maven-plugin-testing-harness-1.1.jar.sha1 +fetchArtifact org/apache/maven/shared/maven-filtering/1.0/maven-filtering-1.0.pom +fetchArtifact org/apache/maven/shared/maven-filtering/1.0/maven-filtering-1.0.pom.sha1 +fetchArtifact org/apache/maven/shared/maven-filtering/1.0/maven-filtering-1.0.jar +fetchArtifact org/apache/maven/shared/maven-filtering/1.0/maven-filtering-1.0.jar.sha1 +fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.4/maven-doxia-tools-1.4.pom +fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.4/maven-doxia-tools-1.4.pom.sha1 +fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.4/maven-doxia-tools-1.4.jar +fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.4/maven-doxia-tools-1.4.jar.sha1 +fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.0.2/maven-doxia-tools-1.0.2.pom +fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.0.2/maven-doxia-tools-1.0.2.pom.sha1 +fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.0.2/maven-doxia-tools-1.0.2.jar +fetchArtifact org/apache/maven/shared/maven-doxia-tools/1.0.2/maven-doxia-tools-1.0.2.jar.sha1 +fetchArtifact org/apache/maven/shared/maven-invoker/2.0.9/maven-invoker-2.0.9.pom +fetchArtifact org/apache/maven/shared/maven-invoker/2.0.9/maven-invoker-2.0.9.pom.sha1 +fetchArtifact org/apache/maven/shared/maven-invoker/2.0.9/maven-invoker-2.0.9.jar +fetchArtifact org/apache/maven/shared/maven-invoker/2.0.9/maven-invoker-2.0.9.jar.sha1 +fetchArtifact org/apache/maven/shared/maven-invoker/2.0.11/maven-invoker-2.0.11.pom +fetchArtifact org/apache/maven/shared/maven-invoker/2.0.11/maven-invoker-2.0.11.pom.sha1 +fetchArtifact org/apache/maven/shared/maven-invoker/2.0.11/maven-invoker-2.0.11.jar +fetchArtifact org/apache/maven/shared/maven-invoker/2.0.11/maven-invoker-2.0.11.jar.sha1 +fetchArtifact org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.pom +fetchArtifact org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.pom.sha1 +fetchArtifact org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.jar +fetchArtifact org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.jar.sha1 +fetchArtifact org/apache/maven/shared/file-management/1.2.1/file-management-1.2.1.pom +fetchArtifact org/apache/maven/shared/file-management/1.2.1/file-management-1.2.1.pom.sha1 +fetchArtifact org/apache/maven/shared/file-management/1.2.1/file-management-1.2.1.jar +fetchArtifact org/apache/maven/shared/file-management/1.2.1/file-management-1.2.1.jar.sha1 fetchArtifact org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.pom fetchArtifact org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.pom.sha1 -fetchArtifact org/apache/maven/surefire/maven-surefire-common/2.12/maven-surefire-common-2.12.jar -fetchArtifact org/apache/maven/surefire/maven-surefire-common/2.12/maven-surefire-common-2.12.jar.sha1 -fetchArtifact org/apache/maven/surefire/maven-surefire-common/2.12/maven-surefire-common-2.12.pom -fetchArtifact org/apache/maven/surefire/maven-surefire-common/2.12/maven-surefire-common-2.12.pom.sha1 -fetchArtifact org/apache/maven/surefire/surefire/2.12/surefire-2.12.pom -fetchArtifact org/apache/maven/surefire/surefire/2.12/surefire-2.12.pom.sha1 -fetchArtifact org/apache/maven/surefire/surefire-api/2.12/surefire-api-2.12.jar -fetchArtifact org/apache/maven/surefire/surefire-api/2.12/surefire-api-2.12.jar.sha1 -fetchArtifact org/apache/maven/surefire/surefire-api/2.12/surefire-api-2.12.pom -fetchArtifact org/apache/maven/surefire/surefire-api/2.12/surefire-api-2.12.pom.sha1 -fetchArtifact org/apache/maven/surefire/surefire-booter/2.12/surefire-booter-2.12.jar -fetchArtifact org/apache/maven/surefire/surefire-booter/2.12/surefire-booter-2.12.jar.sha1 -fetchArtifact org/apache/maven/surefire/surefire-booter/2.12/surefire-booter-2.12.pom -fetchArtifact org/apache/maven/surefire/surefire-booter/2.12/surefire-booter-2.12.pom.sha1 -fetchArtifact org/apache/maven/wagon/wagon/1.0-alpha-6/wagon-1.0-alpha-6.pom -fetchArtifact org/apache/maven/wagon/wagon/1.0-alpha-6/wagon-1.0-alpha-6.pom.sha1 -fetchArtifact org/apache/maven/wagon/wagon/1.0-beta-6/wagon-1.0-beta-6.pom -fetchArtifact org/apache/maven/wagon/wagon/1.0-beta-6/wagon-1.0-beta-6.pom.sha1 -fetchArtifact org/apache/maven/wagon/wagon/1.0/wagon-1.0.pom -fetchArtifact org/apache/maven/wagon/wagon/1.0/wagon-1.0.pom.sha1 -fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/wagon-provider-api-1.0-alpha-6.pom -fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/wagon-provider-api-1.0-alpha-6.pom.sha1 -fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-beta-6/wagon-provider-api-1.0-beta-6.pom -fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-beta-6/wagon-provider-api-1.0-beta-6.pom.sha1 -fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0/wagon-provider-api-1.0.pom -fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0/wagon-provider-api-1.0.pom.sha1 -fetchArtifact org/apache/maven/wagon/wagon-providers/1.0/wagon-providers-1.0.pom -fetchArtifact org/apache/maven/wagon/wagon-providers/1.0/wagon-providers-1.0.pom.sha1 -fetchArtifact org/apache/maven/wagon/wagon-ssh/1.0/wagon-ssh-1.0.jar -fetchArtifact org/apache/maven/wagon/wagon-ssh/1.0/wagon-ssh-1.0.jar.sha1 +fetchArtifact org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.jar +fetchArtifact org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.jar.sha1 +fetchArtifact org/apache/maven/shared/maven-dependency-analyzer/1.4/maven-dependency-analyzer-1.4.pom +fetchArtifact org/apache/maven/shared/maven-dependency-analyzer/1.4/maven-dependency-analyzer-1.4.pom.sha1 +fetchArtifact org/apache/maven/shared/maven-dependency-analyzer/1.4/maven-dependency-analyzer-1.4.jar +fetchArtifact org/apache/maven/shared/maven-dependency-analyzer/1.4/maven-dependency-analyzer-1.4.jar.sha1 +fetchArtifact org/apache/maven/maven-toolchain/1.0/maven-toolchain-1.0.pom +fetchArtifact org/apache/maven/maven-toolchain/1.0/maven-toolchain-1.0.pom.sha1 +fetchArtifact org/apache/maven/maven-toolchain/1.0/maven-toolchain-1.0.jar +fetchArtifact org/apache/maven/maven-toolchain/1.0/maven-toolchain-1.0.jar.sha1 +fetchArtifact org/apache/maven/maven-toolchain/2.0.9/maven-toolchain-2.0.9.pom +fetchArtifact org/apache/maven/maven-toolchain/2.0.9/maven-toolchain-2.0.9.pom.sha1 +fetchArtifact org/apache/maven/maven-toolchain/2.0.9/maven-toolchain-2.0.9.jar +fetchArtifact org/apache/maven/maven-toolchain/2.0.9/maven-toolchain-2.0.9.jar.sha1 +fetchArtifact org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.pom +fetchArtifact org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.pom.sha1 +fetchArtifact org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.jar +fetchArtifact org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.jar.sha1 +fetchArtifact org/apache/maven/maven-archiver/2.4.2/maven-archiver-2.4.2.pom +fetchArtifact org/apache/maven/maven-archiver/2.4.2/maven-archiver-2.4.2.pom.sha1 +fetchArtifact org/apache/maven/maven-archiver/2.4.2/maven-archiver-2.4.2.jar +fetchArtifact org/apache/maven/maven-archiver/2.4.2/maven-archiver-2.4.2.jar.sha1 +fetchArtifact org/apache/maven/maven-archiver/2.3/maven-archiver-2.3.pom +fetchArtifact org/apache/maven/maven-archiver/2.3/maven-archiver-2.3.pom.sha1 +fetchArtifact org/apache/maven/maven-archiver/2.3/maven-archiver-2.3.jar +fetchArtifact org/apache/maven/maven-archiver/2.3/maven-archiver-2.3.jar.sha1 +fetchArtifact org/apache/maven/maven-archiver/2.4.1/maven-archiver-2.4.1.pom +fetchArtifact org/apache/maven/maven-archiver/2.4.1/maven-archiver-2.4.1.pom.sha1 +fetchArtifact org/apache/maven/maven-archiver/2.4.1/maven-archiver-2.4.1.jar +fetchArtifact org/apache/maven/maven-archiver/2.4.1/maven-archiver-2.4.1.jar.sha1 fetchArtifact org/apache/maven/wagon/wagon-ssh/1.0/wagon-ssh-1.0.pom fetchArtifact org/apache/maven/wagon/wagon-ssh/1.0/wagon-ssh-1.0.pom.sha1 -fetchArtifact org/apache/maven/wagon/wagon-ssh-common/1.0/wagon-ssh-common-1.0.jar -fetchArtifact org/apache/maven/wagon/wagon-ssh-common/1.0/wagon-ssh-common-1.0.jar.sha1 +fetchArtifact org/apache/maven/wagon/wagon-ssh/1.0/wagon-ssh-1.0.jar +fetchArtifact org/apache/maven/wagon/wagon-ssh/1.0/wagon-ssh-1.0.jar.sha1 +fetchArtifact org/apache/maven/wagon/wagon-providers/1.0/wagon-providers-1.0.pom +fetchArtifact org/apache/maven/wagon/wagon-providers/1.0/wagon-providers-1.0.pom.sha1 +fetchArtifact org/apache/maven/wagon/wagon/1.0/wagon-1.0.pom +fetchArtifact org/apache/maven/wagon/wagon/1.0/wagon-1.0.pom.sha1 +fetchArtifact org/apache/maven/wagon/wagon/1.0-beta-6/wagon-1.0-beta-6.pom +fetchArtifact org/apache/maven/wagon/wagon/1.0-beta-6/wagon-1.0-beta-6.pom.sha1 +fetchArtifact org/apache/maven/wagon/wagon/1.0-alpha-6/wagon-1.0-alpha-6.pom +fetchArtifact org/apache/maven/wagon/wagon/1.0-alpha-6/wagon-1.0-alpha-6.pom.sha1 fetchArtifact org/apache/maven/wagon/wagon-ssh-common/1.0/wagon-ssh-common-1.0.pom fetchArtifact org/apache/maven/wagon/wagon-ssh-common/1.0/wagon-ssh-common-1.0.pom.sha1 -fetchArtifact org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.jar -fetchArtifact org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.jar.sha1 -fetchArtifact org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.pom -fetchArtifact org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.pom.sha1 -fetchArtifact org/apache/struts/struts-master/4/struts-master-4.pom -fetchArtifact org/apache/struts/struts-master/4/struts-master-4.pom.sha1 -fetchArtifact org/apache/struts/struts-parent/1.3.8/struts-parent-1.3.8.pom -fetchArtifact org/apache/struts/struts-parent/1.3.8/struts-parent-1.3.8.pom.sha1 -fetchArtifact org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.jar -fetchArtifact org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.jar.sha1 -fetchArtifact org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.pom -fetchArtifact org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.pom.sha1 -fetchArtifact org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.jar -fetchArtifact org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.jar.sha1 -fetchArtifact org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.pom -fetchArtifact org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.pom.sha1 -fetchArtifact org/apache/velocity/velocity/1.5/velocity-1.5.jar -fetchArtifact org/apache/velocity/velocity/1.5/velocity-1.5.jar.sha1 -fetchArtifact org/apache/velocity/velocity/1.5/velocity-1.5.pom -fetchArtifact org/apache/velocity/velocity/1.5/velocity-1.5.pom.sha1 -fetchArtifact org/apache/velocity/velocity/1.6.2/velocity-1.6.2.pom -fetchArtifact org/apache/velocity/velocity/1.6.2/velocity-1.6.2.pom.sha1 -fetchArtifact org/apache/velocity/velocity/1.7/velocity-1.7.jar -fetchArtifact org/apache/velocity/velocity/1.7/velocity-1.7.jar.sha1 +fetchArtifact org/apache/maven/wagon/wagon-ssh-common/1.0/wagon-ssh-common-1.0.jar +fetchArtifact org/apache/maven/wagon/wagon-ssh-common/1.0/wagon-ssh-common-1.0.jar.sha1 +fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0/wagon-provider-api-1.0.pom +fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0/wagon-provider-api-1.0.pom.sha1 +fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0/wagon-provider-api-1.0.jar +fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0/wagon-provider-api-1.0.jar.sha1 +fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-beta-6/wagon-provider-api-1.0-beta-6.pom +fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-beta-6/wagon-provider-api-1.0-beta-6.pom.sha1 +fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-beta-6/wagon-provider-api-1.0-beta-6.jar +fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-beta-6/wagon-provider-api-1.0-beta-6.jar.sha1 +fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/wagon-provider-api-1.0-alpha-6.pom +fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/wagon-provider-api-1.0-alpha-6.pom.sha1 +fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/wagon-provider-api-1.0-alpha-6.jar +fetchArtifact org/apache/maven/wagon/wagon-provider-api/1.0-alpha-6/wagon-provider-api-1.0-alpha-6.jar.sha1 +fetchArtifact org/apache/maven/maven-settings-builder/3.0/maven-settings-builder-3.0.pom +fetchArtifact org/apache/maven/maven-settings-builder/3.0/maven-settings-builder-3.0.pom.sha1 +fetchArtifact org/apache/maven/maven-settings-builder/3.0/maven-settings-builder-3.0.jar +fetchArtifact org/apache/maven/maven-settings-builder/3.0/maven-settings-builder-3.0.jar.sha1 +fetchArtifact org/apache/maven/maven-model-builder/3.0/maven-model-builder-3.0.pom +fetchArtifact org/apache/maven/maven-model-builder/3.0/maven-model-builder-3.0.pom.sha1 +fetchArtifact org/apache/maven/maven-model-builder/3.0/maven-model-builder-3.0.jar +fetchArtifact org/apache/maven/maven-model-builder/3.0/maven-model-builder-3.0.jar.sha1 +fetchArtifact org/apache/maven/maven-aether-provider/3.0/maven-aether-provider-3.0.pom +fetchArtifact org/apache/maven/maven-aether-provider/3.0/maven-aether-provider-3.0.pom.sha1 +fetchArtifact org/apache/maven/maven-aether-provider/3.0/maven-aether-provider-3.0.jar +fetchArtifact org/apache/maven/maven-aether-provider/3.0/maven-aether-provider-3.0.jar.sha1 +fetchArtifact org/apache/maven/maven-compat/3.0/maven-compat-3.0.pom +fetchArtifact org/apache/maven/maven-compat/3.0/maven-compat-3.0.pom.sha1 +fetchArtifact org/apache/maven/maven-compat/3.0/maven-compat-3.0.jar +fetchArtifact org/apache/maven/maven-compat/3.0/maven-compat-3.0.jar.sha1 fetchArtifact org/apache/velocity/velocity/1.7/velocity-1.7.pom fetchArtifact org/apache/velocity/velocity/1.7/velocity-1.7.pom.sha1 -fetchArtifact org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.jar -fetchArtifact org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.jar.sha1 +fetchArtifact org/apache/velocity/velocity/1.7/velocity-1.7.jar +fetchArtifact org/apache/velocity/velocity/1.7/velocity-1.7.jar.sha1 +fetchArtifact org/apache/velocity/velocity/1.5/velocity-1.5.pom +fetchArtifact org/apache/velocity/velocity/1.5/velocity-1.5.pom.sha1 +fetchArtifact org/apache/velocity/velocity/1.5/velocity-1.5.jar +fetchArtifact org/apache/velocity/velocity/1.5/velocity-1.5.jar.sha1 +fetchArtifact org/apache/velocity/velocity/1.6.2/velocity-1.6.2.pom +fetchArtifact org/apache/velocity/velocity/1.6.2/velocity-1.6.2.pom.sha1 fetchArtifact org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.pom fetchArtifact org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.pom.sha1 -fetchArtifact org/apache/xbean/xbean/3.4/xbean-3.4.pom -fetchArtifact org/apache/xbean/xbean/3.4/xbean-3.4.pom.sha1 +fetchArtifact org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.jar +fetchArtifact org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.jar.sha1 +fetchArtifact org/apache/commons/commons-parent/9/commons-parent-9.pom +fetchArtifact org/apache/commons/commons-parent/9/commons-parent-9.pom.sha1 +fetchArtifact org/apache/commons/commons-parent/5/commons-parent-5.pom +fetchArtifact org/apache/commons/commons-parent/5/commons-parent-5.pom.sha1 +fetchArtifact org/apache/commons/commons-parent/7/commons-parent-7.pom +fetchArtifact org/apache/commons/commons-parent/7/commons-parent-7.pom.sha1 +fetchArtifact org/apache/commons/commons-parent/12/commons-parent-12.pom +fetchArtifact org/apache/commons/commons-parent/12/commons-parent-12.pom.sha1 +fetchArtifact org/apache/commons/commons-parent/3/commons-parent-3.pom +fetchArtifact org/apache/commons/commons-parent/3/commons-parent-3.pom.sha1 +fetchArtifact org/apache/commons/commons-parent/17/commons-parent-17.pom +fetchArtifact org/apache/commons/commons-parent/17/commons-parent-17.pom.sha1 +fetchArtifact org/apache/apache-jar-resource-bundle/1.4/apache-jar-resource-bundle-1.4.jar +fetchArtifact org/apache/apache-jar-resource-bundle/1.4/apache-jar-resource-bundle-1.4.jar.sha1 +fetchArtifact org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.pom +fetchArtifact org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.pom.sha1 +fetchArtifact org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.jar +fetchArtifact org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.jar.sha1 +fetchArtifact org/apache/httpcomponents/httpcomponents-client/4.0.2/httpcomponents-client-4.0.2.pom +fetchArtifact org/apache/httpcomponents/httpcomponents-client/4.0.2/httpcomponents-client-4.0.2.pom.sha1 +fetchArtifact org/apache/httpcomponents/project/4.1/project-4.1.pom +fetchArtifact org/apache/httpcomponents/project/4.1/project-4.1.pom.sha1 +fetchArtifact org/apache/httpcomponents/project/4.0/project-4.0.pom +fetchArtifact org/apache/httpcomponents/project/4.0/project-4.0.pom.sha1 +fetchArtifact org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.pom +fetchArtifact org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.pom.sha1 +fetchArtifact org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.jar +fetchArtifact org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.jar.sha1 +fetchArtifact org/apache/httpcomponents/httpcomponents-core/4.0.1/httpcomponents-core-4.0.1.pom +fetchArtifact org/apache/httpcomponents/httpcomponents-core/4.0.1/httpcomponents-core-4.0.1.pom.sha1 +fetchArtifact org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.pom +fetchArtifact org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.pom.sha1 +fetchArtifact org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.jar +fetchArtifact org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.jar.sha1 +fetchArtifact org/apache/struts/struts-parent/1.3.8/struts-parent-1.3.8.pom +fetchArtifact org/apache/struts/struts-parent/1.3.8/struts-parent-1.3.8.pom.sha1 +fetchArtifact org/apache/struts/struts-master/4/struts-master-4.pom +fetchArtifact org/apache/struts/struts-master/4/struts-master-4.pom.sha1 +fetchArtifact org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.pom +fetchArtifact org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.pom.sha1 +fetchArtifact org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.jar +fetchArtifact org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.jar.sha1 +fetchArtifact org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.pom +fetchArtifact org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.pom.sha1 +fetchArtifact org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.jar +fetchArtifact org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.jar.sha1 fetchArtifact org/apache/xbean/xbean-reflect/3.4/xbean-reflect-3.4.pom fetchArtifact org/apache/xbean/xbean-reflect/3.4/xbean-reflect-3.4.pom.sha1 -fetchArtifact org/beanshell/beanshell/2.0b4/beanshell-2.0b4.pom -fetchArtifact org/beanshell/beanshell/2.0b4/beanshell-2.0b4.pom.sha1 -fetchArtifact org/beanshell/bsh/2.0b4/bsh-2.0b4.jar -fetchArtifact org/beanshell/bsh/2.0b4/bsh-2.0b4.jar.sha1 -fetchArtifact org/beanshell/bsh/2.0b4/bsh-2.0b4.pom -fetchArtifact org/beanshell/bsh/2.0b4/bsh-2.0b4.pom.sha1 -fetchArtifact org/codehaus/codehaus-parent/4/codehaus-parent-4.pom -fetchArtifact org/codehaus/codehaus-parent/4/codehaus-parent-4.pom.sha1 -fetchArtifact org/codehaus/mojo/build-helper-maven-plugin/1.8/build-helper-maven-plugin-1.8.jar -fetchArtifact org/codehaus/mojo/build-helper-maven-plugin/1.8/build-helper-maven-plugin-1.8.jar.sha1 +fetchArtifact org/apache/xbean/xbean/3.4/xbean-3.4.pom +fetchArtifact org/apache/xbean/xbean/3.4/xbean-3.4.pom.sha1 fetchArtifact org/codehaus/mojo/build-helper-maven-plugin/1.8/build-helper-maven-plugin-1.8.pom fetchArtifact org/codehaus/mojo/build-helper-maven-plugin/1.8/build-helper-maven-plugin-1.8.pom.sha1 +fetchArtifact org/codehaus/mojo/build-helper-maven-plugin/1.8/build-helper-maven-plugin-1.8.jar +fetchArtifact org/codehaus/mojo/build-helper-maven-plugin/1.8/build-helper-maven-plugin-1.8.jar.sha1 fetchArtifact org/codehaus/mojo/mojo-parent/30/mojo-parent-30.pom fetchArtifact org/codehaus/mojo/mojo-parent/30/mojo-parent-30.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom -fetchArtifact org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom -fetchArtifact org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus/1.0.12/plexus-1.0.12.pom -fetchArtifact org/codehaus/plexus/plexus/1.0.12/plexus-1.0.12.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom -fetchArtifact org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus/1.0.5/plexus-1.0.5.pom -fetchArtifact org/codehaus/plexus/plexus/1.0.5/plexus-1.0.5.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom -fetchArtifact org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom -fetchArtifact org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus/2.0.2/plexus-2.0.2.pom -fetchArtifact org/codehaus/plexus/plexus/2.0.2/plexus-2.0.2.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus/2.0.3/plexus-2.0.3.pom -fetchArtifact org/codehaus/plexus/plexus/2.0.3/plexus-2.0.3.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus/2.0.5/plexus-2.0.5.pom -fetchArtifact org/codehaus/plexus/plexus/2.0.5/plexus-2.0.5.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus/2.0.6/plexus-2.0.6.pom -fetchArtifact org/codehaus/plexus/plexus/2.0.6/plexus-2.0.6.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus/2.0.7/plexus-2.0.7.pom -fetchArtifact org/codehaus/plexus/plexus/2.0.7/plexus-2.0.7.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus/3.0.1/plexus-3.0.1.pom -fetchArtifact org/codehaus/plexus/plexus/3.0.1/plexus-3.0.1.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus/3.1/plexus-3.1.pom -fetchArtifact org/codehaus/plexus/plexus/3.1/plexus-3.1.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus/3.2/plexus-3.2.pom -fetchArtifact org/codehaus/plexus/plexus/3.2/plexus-3.2.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus/3.3.1/plexus-3.3.1.pom -fetchArtifact org/codehaus/plexus/plexus/3.3.1/plexus-3.3.1.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus/3.3/plexus-3.3.pom -fetchArtifact org/codehaus/plexus/plexus/3.3/plexus-3.3.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.jar -fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.jar.sha1 -fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.pom -fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-9/plexus-archiver-1.0-alpha-9.jar -fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-9/plexus-archiver-1.0-alpha-9.jar.sha1 -fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-9/plexus-archiver-1.0-alpha-9.pom -fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-9/plexus-archiver-1.0-alpha-9.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-archiver/1.0/plexus-archiver-1.0.jar -fetchArtifact org/codehaus/plexus/plexus-archiver/1.0/plexus-archiver-1.0.jar.sha1 -fetchArtifact org/codehaus/plexus/plexus-archiver/1.0/plexus-archiver-1.0.pom -fetchArtifact org/codehaus/plexus/plexus-archiver/1.0/plexus-archiver-1.0.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-archiver/2.0.1/plexus-archiver-2.0.1.pom -fetchArtifact org/codehaus/plexus/plexus-archiver/2.0.1/plexus-archiver-2.0.1.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.jar -fetchArtifact org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.jar.sha1 -fetchArtifact org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.pom -fetchArtifact org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-archiver/2.3/plexus-archiver-2.3.jar -fetchArtifact org/codehaus/plexus/plexus-archiver/2.3/plexus-archiver-2.3.jar.sha1 -fetchArtifact org/codehaus/plexus/plexus-archiver/2.3/plexus-archiver-2.3.pom -fetchArtifact org/codehaus/plexus/plexus-archiver/2.3/plexus-archiver-2.3.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-6/plexus-classworlds-1.2-alpha-6.pom -fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-6/plexus-classworlds-1.2-alpha-6.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.pom -fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-9/plexus-classworlds-1.2-alpha-9.pom -fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-9/plexus-classworlds-1.2-alpha-9.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.2/plexus-classworlds-2.2.2.pom -fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.2/plexus-classworlds-2.2.2.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.pom -fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-compiler/1.9.1/plexus-compiler-1.9.1.pom -fetchArtifact org/codehaus/plexus/plexus-compiler/1.9.1/plexus-compiler-1.9.1.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-compiler-api/1.9.1/plexus-compiler-api-1.9.1.jar -fetchArtifact org/codehaus/plexus/plexus-compiler-api/1.9.1/plexus-compiler-api-1.9.1.jar.sha1 -fetchArtifact org/codehaus/plexus/plexus-compiler-api/1.9.1/plexus-compiler-api-1.9.1.pom -fetchArtifact org/codehaus/plexus/plexus-compiler-api/1.9.1/plexus-compiler-api-1.9.1.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-compiler-javac/1.9.1/plexus-compiler-javac-1.9.1.jar -fetchArtifact org/codehaus/plexus/plexus-compiler-javac/1.9.1/plexus-compiler-javac-1.9.1.jar.sha1 -fetchArtifact org/codehaus/plexus/plexus-compiler-javac/1.9.1/plexus-compiler-javac-1.9.1.pom -fetchArtifact org/codehaus/plexus/plexus-compiler-javac/1.9.1/plexus-compiler-javac-1.9.1.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-compiler-manager/1.9.1/plexus-compiler-manager-1.9.1.jar -fetchArtifact org/codehaus/plexus/plexus-compiler-manager/1.9.1/plexus-compiler-manager-1.9.1.jar.sha1 -fetchArtifact org/codehaus/plexus/plexus-compiler-manager/1.9.1/plexus-compiler-manager-1.9.1.pom -fetchArtifact org/codehaus/plexus/plexus-compiler-manager/1.9.1/plexus-compiler-manager-1.9.1.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-compilers/1.9.1/plexus-compilers-1.9.1.pom -fetchArtifact org/codehaus/plexus/plexus-compilers/1.9.1/plexus-compilers-1.9.1.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.4/plexus-component-annotations-1.5.4.pom -fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.4/plexus-component-annotations-1.5.4.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar -fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar.sha1 -fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.pom -fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-component-api/1.0-alpha-15/plexus-component-api-1.0-alpha-15.pom -fetchArtifact org/codehaus/plexus/plexus-component-api/1.0-alpha-15/plexus-component-api-1.0-alpha-15.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.pom -fetchArtifact org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-components/1.1.12/plexus-components-1.1.12.pom -fetchArtifact org/codehaus/plexus/plexus-components/1.1.12/plexus-components-1.1.12.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-components/1.1.14/plexus-components-1.1.14.pom -fetchArtifact org/codehaus/plexus/plexus-components/1.1.14/plexus-components-1.1.14.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-components/1.1.15/plexus-components-1.1.15.pom -fetchArtifact org/codehaus/plexus/plexus-components/1.1.15/plexus-components-1.1.15.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-components/1.1.17/plexus-components-1.1.17.pom -fetchArtifact org/codehaus/plexus/plexus-components/1.1.17/plexus-components-1.1.17.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-components/1.1.18/plexus-components-1.1.18.pom -fetchArtifact org/codehaus/plexus/plexus-components/1.1.18/plexus-components-1.1.18.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-components/1.1.19/plexus-components-1.1.19.pom -fetchArtifact org/codehaus/plexus/plexus-components/1.1.19/plexus-components-1.1.19.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-components/1.1.20/plexus-components-1.1.20.pom -fetchArtifact org/codehaus/plexus/plexus-components/1.1.20/plexus-components-1.1.20.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-components/1.1.6/plexus-components-1.1.6.pom -fetchArtifact org/codehaus/plexus/plexus-components/1.1.6/plexus-components-1.1.6.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-components/1.1.9/plexus-components-1.1.9.pom -fetchArtifact org/codehaus/plexus/plexus-components/1.1.9/plexus-components-1.1.9.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-components/1.2/plexus-components-1.2.pom -fetchArtifact org/codehaus/plexus/plexus-components/1.2/plexus-components-1.2.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-components/1.3/plexus-components-1.3.pom -fetchArtifact org/codehaus/plexus/plexus-components/1.3/plexus-components-1.3.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-15/plexus-container-default-1.0-alpha-15.pom -fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-15/plexus-container-default-1.0-alpha-15.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-20/plexus-container-default-1.0-alpha-20.pom -fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-20/plexus-container-default-1.0-alpha-20.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-30/plexus-container-default-1.0-alpha-30.pom -fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-30/plexus-container-default-1.0-alpha-30.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.pom -fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.jar -fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.pom -fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.jar -fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.pom -fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-container-default/1.5.5/plexus-container-default-1.5.5.pom -fetchArtifact org/codehaus/plexus/plexus-container-default/1.5.5/plexus-container-default-1.5.5.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-containers/1.0.3/plexus-containers-1.0.3.pom -fetchArtifact org/codehaus/plexus/plexus-containers/1.0.3/plexus-containers-1.0.3.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-15/plexus-containers-1.0-alpha-15.pom -fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-15/plexus-containers-1.0-alpha-15.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-16/plexus-containers-1.0-alpha-16.pom -fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-16/plexus-containers-1.0-alpha-16.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-20/plexus-containers-1.0-alpha-20.pom -fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-20/plexus-containers-1.0-alpha-20.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-30/plexus-containers-1.0-alpha-30.pom -fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-30/plexus-containers-1.0-alpha-30.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-containers/1.5.4/plexus-containers-1.5.4.pom -fetchArtifact org/codehaus/plexus/plexus-containers/1.5.4/plexus-containers-1.5.4.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-containers/1.5.5/plexus-containers-1.5.5.pom -fetchArtifact org/codehaus/plexus/plexus-containers/1.5.5/plexus-containers-1.5.5.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.jar -fetchArtifact org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.jar.sha1 -fetchArtifact org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.pom -fetchArtifact org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-interactivity/1.0-alpha-6/plexus-interactivity-1.0-alpha-6.pom -fetchArtifact org/codehaus/plexus/plexus-interactivity/1.0-alpha-6/plexus-interactivity-1.0-alpha-6.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.jar -fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.jar.sha1 -fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom -fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-6/plexus-interactivity-api-1.0-alpha-6.jar -fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-6/plexus-interactivity-api-1.0-alpha-6.jar.sha1 -fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-6/plexus-interactivity-api-1.0-alpha-6.pom -fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-6/plexus-interactivity-api-1.0-alpha-6.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-interpolation/1.11/plexus-interpolation-1.11.pom -fetchArtifact org/codehaus/plexus/plexus-interpolation/1.11/plexus-interpolation-1.11.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-interpolation/1.12/plexus-interpolation-1.12.jar -fetchArtifact org/codehaus/plexus/plexus-interpolation/1.12/plexus-interpolation-1.12.jar.sha1 -fetchArtifact org/codehaus/plexus/plexus-interpolation/1.12/plexus-interpolation-1.12.pom -fetchArtifact org/codehaus/plexus/plexus-interpolation/1.12/plexus-interpolation-1.12.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.jar -fetchArtifact org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.jar.sha1 -fetchArtifact org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.pom -fetchArtifact org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar -fetchArtifact org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar.sha1 -fetchArtifact org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.pom -fetchArtifact org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.jar -fetchArtifact org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.jar.sha1 -fetchArtifact org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.pom -fetchArtifact org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-io/1.0-alpha-1/plexus-io-1.0-alpha-1.jar -fetchArtifact org/codehaus/plexus/plexus-io/1.0-alpha-1/plexus-io-1.0-alpha-1.jar.sha1 -fetchArtifact org/codehaus/plexus/plexus-io/1.0-alpha-1/plexus-io-1.0-alpha-1.pom -fetchArtifact org/codehaus/plexus/plexus-io/1.0-alpha-1/plexus-io-1.0-alpha-1.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-io/1.0/plexus-io-1.0.jar -fetchArtifact org/codehaus/plexus/plexus-io/1.0/plexus-io-1.0.jar.sha1 -fetchArtifact org/codehaus/plexus/plexus-io/1.0/plexus-io-1.0.pom -fetchArtifact org/codehaus/plexus/plexus-io/1.0/plexus-io-1.0.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-io/2.0.1/plexus-io-2.0.1.pom -fetchArtifact org/codehaus/plexus/plexus-io/2.0.1/plexus-io-2.0.1.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.jar -fetchArtifact org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.jar.sha1 -fetchArtifact org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.pom -fetchArtifact org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-io/2.0.6/plexus-io-2.0.6.jar -fetchArtifact org/codehaus/plexus/plexus-io/2.0.6/plexus-io-2.0.6.jar.sha1 -fetchArtifact org/codehaus/plexus/plexus-io/2.0.6/plexus-io-2.0.6.pom -fetchArtifact org/codehaus/plexus/plexus-io/2.0.6/plexus-io-2.0.6.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-resources/1.0-alpha-5/plexus-resources-1.0-alpha-5.jar -fetchArtifact org/codehaus/plexus/plexus-resources/1.0-alpha-5/plexus-resources-1.0-alpha-5.jar.sha1 -fetchArtifact org/codehaus/plexus/plexus-resources/1.0-alpha-5/plexus-resources-1.0-alpha-5.pom -fetchArtifact org/codehaus/plexus/plexus-resources/1.0-alpha-5/plexus-resources-1.0-alpha-5.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.pom -fetchArtifact org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom -fetchArtifact org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-utils/1.2/plexus-utils-1.2.pom -fetchArtifact org/codehaus/plexus/plexus-utils/1.2/plexus-utils-1.2.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-utils/1.3/plexus-utils-1.3.pom -fetchArtifact org/codehaus/plexus/plexus-utils/1.3/plexus-utils-1.3.pom.sha1 +fetchArtifact org/codehaus/codehaus-parent/4/codehaus-parent-4.pom +fetchArtifact org/codehaus/codehaus-parent/4/codehaus-parent-4.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.pom +fetchArtifact org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.jar +fetchArtifact org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.jar.sha1 fetchArtifact org/codehaus/plexus/plexus-utils/1.4.1/plexus-utils-1.4.1.pom fetchArtifact org/codehaus/plexus/plexus-utils/1.4.1/plexus-utils-1.4.1.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-utils/1.4.2/plexus-utils-1.4.2.pom -fetchArtifact org/codehaus/plexus/plexus-utils/1.4.2/plexus-utils-1.4.2.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom -fetchArtifact org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.pom +fetchArtifact org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.pom +fetchArtifact org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.jar +fetchArtifact org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.jar.sha1 fetchArtifact org/codehaus/plexus/plexus-utils/1.4.6/plexus-utils-1.4.6.pom fetchArtifact org/codehaus/plexus/plexus-utils/1.4.6/plexus-utils-1.4.6.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-utils/1.4.9/plexus-utils-1.4.9.pom -fetchArtifact org/codehaus/plexus/plexus-utils/1.4.9/plexus-utils-1.4.9.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-utils/1.4/plexus-utils-1.4.pom -fetchArtifact org/codehaus/plexus/plexus-utils/1.4/plexus-utils-1.4.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-utils/1.5.10/plexus-utils-1.5.10.jar -fetchArtifact org/codehaus/plexus/plexus-utils/1.5.10/plexus-utils-1.5.10.jar.sha1 -fetchArtifact org/codehaus/plexus/plexus-utils/1.5.10/plexus-utils-1.5.10.pom -fetchArtifact org/codehaus/plexus/plexus-utils/1.5.10/plexus-utils-1.5.10.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-utils/1.5.12/plexus-utils-1.5.12.jar -fetchArtifact org/codehaus/plexus/plexus-utils/1.5.12/plexus-utils-1.5.12.jar.sha1 -fetchArtifact org/codehaus/plexus/plexus-utils/1.5.12/plexus-utils-1.5.12.pom -fetchArtifact org/codehaus/plexus/plexus-utils/1.5.12/plexus-utils-1.5.12.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-utils/1.4.2/plexus-utils-1.4.2.pom +fetchArtifact org/codehaus/plexus/plexus-utils/1.4.2/plexus-utils-1.4.2.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-utils/1.2/plexus-utils-1.2.pom +fetchArtifact org/codehaus/plexus/plexus-utils/1.2/plexus-utils-1.2.pom.sha1 fetchArtifact org/codehaus/plexus/plexus-utils/1.5.15/plexus-utils-1.5.15.pom fetchArtifact org/codehaus/plexus/plexus-utils/1.5.15/plexus-utils-1.5.15.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-utils/1.5.1/plexus-utils-1.5.1.pom -fetchArtifact org/codehaus/plexus/plexus-utils/1.5.1/plexus-utils-1.5.1.pom.sha1 fetchArtifact org/codehaus/plexus/plexus-utils/1.5.5/plexus-utils-1.5.5.pom fetchArtifact org/codehaus/plexus/plexus-utils/1.5.5/plexus-utils-1.5.5.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-utils/1.5.12/plexus-utils-1.5.12.pom +fetchArtifact org/codehaus/plexus/plexus-utils/1.5.12/plexus-utils-1.5.12.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-utils/1.5.12/plexus-utils-1.5.12.jar +fetchArtifact org/codehaus/plexus/plexus-utils/1.5.12/plexus-utils-1.5.12.jar.sha1 +fetchArtifact org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.pom +fetchArtifact org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.jar +fetchArtifact org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.jar.sha1 +fetchArtifact org/codehaus/plexus/plexus-utils/1.5.1/plexus-utils-1.5.1.pom +fetchArtifact org/codehaus/plexus/plexus-utils/1.5.1/plexus-utils-1.5.1.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-utils/1.4/plexus-utils-1.4.pom +fetchArtifact org/codehaus/plexus/plexus-utils/1.4/plexus-utils-1.4.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-utils/2.0.4/plexus-utils-2.0.4.pom +fetchArtifact org/codehaus/plexus/plexus-utils/2.0.4/plexus-utils-2.0.4.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom +fetchArtifact org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-utils/1.3/plexus-utils-1.3.pom +fetchArtifact org/codehaus/plexus/plexus-utils/1.3/plexus-utils-1.3.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-utils/1.5.10/plexus-utils-1.5.10.pom +fetchArtifact org/codehaus/plexus/plexus-utils/1.5.10/plexus-utils-1.5.10.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-utils/1.5.10/plexus-utils-1.5.10.jar +fetchArtifact org/codehaus/plexus/plexus-utils/1.5.10/plexus-utils-1.5.10.jar.sha1 +fetchArtifact org/codehaus/plexus/plexus-utils/1.4.9/plexus-utils-1.4.9.pom +fetchArtifact org/codehaus/plexus/plexus-utils/1.4.9/plexus-utils-1.4.9.pom.sha1 fetchArtifact org/codehaus/plexus/plexus-utils/1.5.6/plexus-utils-1.5.6.pom fetchArtifact org/codehaus/plexus/plexus-utils/1.5.6/plexus-utils-1.5.6.pom.sha1 fetchArtifact org/codehaus/plexus/plexus-utils/1.5.7/plexus-utils-1.5.7.pom fetchArtifact org/codehaus/plexus/plexus-utils/1.5.7/plexus-utils-1.5.7.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.jar -fetchArtifact org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.jar.sha1 -fetchArtifact org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.pom -fetchArtifact org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-utils/2.0.4/plexus-utils-2.0.4.pom -fetchArtifact org/codehaus/plexus/plexus-utils/2.0.4/plexus-utils-2.0.4.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.jar -fetchArtifact org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.jar.sha1 -fetchArtifact org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.pom -fetchArtifact org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-utils/2.1/plexus-utils-2.1.pom -fetchArtifact org/codehaus/plexus/plexus-utils/2.1/plexus-utils-2.1.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-utils/3.0.10/plexus-utils-3.0.10.pom -fetchArtifact org/codehaus/plexus/plexus-utils/3.0.10/plexus-utils-3.0.10.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.jar -fetchArtifact org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.jar.sha1 fetchArtifact org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.pom fetchArtifact org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.jar +fetchArtifact org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.jar.sha1 +fetchArtifact org/codehaus/plexus/plexus-utils/3.0.10/plexus-utils-3.0.10.pom +fetchArtifact org/codehaus/plexus/plexus-utils/3.0.10/plexus-utils-3.0.10.pom.sha1 fetchArtifact org/codehaus/plexus/plexus-utils/3.0.8/plexus-utils-3.0.8.pom fetchArtifact org/codehaus/plexus/plexus-utils/3.0.8/plexus-utils-3.0.8.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-utils/3.0.9/plexus-utils-3.0.9.jar -fetchArtifact org/codehaus/plexus/plexus-utils/3.0.9/plexus-utils-3.0.9.jar.sha1 fetchArtifact org/codehaus/plexus/plexus-utils/3.0.9/plexus-utils-3.0.9.pom fetchArtifact org/codehaus/plexus/plexus-utils/3.0.9/plexus-utils-3.0.9.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.jar -fetchArtifact org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.jar.sha1 -fetchArtifact org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.pom -fetchArtifact org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.jar -fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.jar.sha1 -fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.pom -fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.pom.sha1 -fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.8/plexus-velocity-1.1.8.jar -fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.8/plexus-velocity-1.1.8.jar.sha1 +fetchArtifact org/codehaus/plexus/plexus-utils/3.0.9/plexus-utils-3.0.9.jar +fetchArtifact org/codehaus/plexus/plexus-utils/3.0.9/plexus-utils-3.0.9.jar.sha1 +fetchArtifact org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom +fetchArtifact org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-utils/2.1/plexus-utils-2.1.pom +fetchArtifact org/codehaus/plexus/plexus-utils/2.1/plexus-utils-2.1.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom +fetchArtifact org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom +fetchArtifact org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus/2.0.2/plexus-2.0.2.pom +fetchArtifact org/codehaus/plexus/plexus/2.0.2/plexus-2.0.2.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom +fetchArtifact org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus/1.0.5/plexus-1.0.5.pom +fetchArtifact org/codehaus/plexus/plexus/1.0.5/plexus-1.0.5.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus/2.0.3/plexus-2.0.3.pom +fetchArtifact org/codehaus/plexus/plexus/2.0.3/plexus-2.0.3.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus/2.0.6/plexus-2.0.6.pom +fetchArtifact org/codehaus/plexus/plexus/2.0.6/plexus-2.0.6.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus/3.1/plexus-3.1.pom +fetchArtifact org/codehaus/plexus/plexus/3.1/plexus-3.1.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus/3.0.1/plexus-3.0.1.pom +fetchArtifact org/codehaus/plexus/plexus/3.0.1/plexus-3.0.1.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom +fetchArtifact org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom +fetchArtifact org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus/2.0.7/plexus-2.0.7.pom +fetchArtifact org/codehaus/plexus/plexus/2.0.7/plexus-2.0.7.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus/2.0.5/plexus-2.0.5.pom +fetchArtifact org/codehaus/plexus/plexus/2.0.5/plexus-2.0.5.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus/1.0.12/plexus-1.0.12.pom +fetchArtifact org/codehaus/plexus/plexus/1.0.12/plexus-1.0.12.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus/3.3.1/plexus-3.3.1.pom +fetchArtifact org/codehaus/plexus/plexus/3.3.1/plexus-3.3.1.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus/3.3/plexus-3.3.pom +fetchArtifact org/codehaus/plexus/plexus/3.3/plexus-3.3.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus/3.2/plexus-3.2.pom +fetchArtifact org/codehaus/plexus/plexus/3.2/plexus-3.2.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.pom +fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.jar +fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.jar.sha1 +fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.pom +fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.jar +fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.jar.sha1 +fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.pom +fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-30/plexus-container-default-1.0-alpha-30.pom +fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-30/plexus-container-default-1.0-alpha-30.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-30/plexus-container-default-1.0-alpha-30.jar +fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-30/plexus-container-default-1.0-alpha-30.jar.sha1 +fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-20/plexus-container-default-1.0-alpha-20.pom +fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-20/plexus-container-default-1.0-alpha-20.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-15/plexus-container-default-1.0-alpha-15.pom +fetchArtifact org/codehaus/plexus/plexus-container-default/1.0-alpha-15/plexus-container-default-1.0-alpha-15.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-container-default/1.5.5/plexus-container-default-1.5.5.pom +fetchArtifact org/codehaus/plexus/plexus-container-default/1.5.5/plexus-container-default-1.5.5.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-containers/1.0.3/plexus-containers-1.0.3.pom +fetchArtifact org/codehaus/plexus/plexus-containers/1.0.3/plexus-containers-1.0.3.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-containers/1.5.5/plexus-containers-1.5.5.pom +fetchArtifact org/codehaus/plexus/plexus-containers/1.5.5/plexus-containers-1.5.5.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-containers/1.5.4/plexus-containers-1.5.4.pom +fetchArtifact org/codehaus/plexus/plexus-containers/1.5.4/plexus-containers-1.5.4.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-30/plexus-containers-1.0-alpha-30.pom +fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-30/plexus-containers-1.0-alpha-30.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-20/plexus-containers-1.0-alpha-20.pom +fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-20/plexus-containers-1.0-alpha-20.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-15/plexus-containers-1.0-alpha-15.pom +fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-15/plexus-containers-1.0-alpha-15.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-16/plexus-containers-1.0-alpha-16.pom +fetchArtifact org/codehaus/plexus/plexus-containers/1.0-alpha-16/plexus-containers-1.0-alpha-16.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom +fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.jar +fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.jar.sha1 +fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-6/plexus-interactivity-api-1.0-alpha-6.pom +fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-6/plexus-interactivity-api-1.0-alpha-6.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-6/plexus-interactivity-api-1.0-alpha-6.jar +fetchArtifact org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-6/plexus-interactivity-api-1.0-alpha-6.jar.sha1 +fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.pom +fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.jar +fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.jar.sha1 +fetchArtifact org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.pom +fetchArtifact org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.jar +fetchArtifact org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.jar.sha1 +fetchArtifact org/codehaus/plexus/plexus-archiver/2.0.1/plexus-archiver-2.0.1.pom +fetchArtifact org/codehaus/plexus/plexus-archiver/2.0.1/plexus-archiver-2.0.1.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-archiver/1.0/plexus-archiver-1.0.pom +fetchArtifact org/codehaus/plexus/plexus-archiver/1.0/plexus-archiver-1.0.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-archiver/1.0/plexus-archiver-1.0.jar +fetchArtifact org/codehaus/plexus/plexus-archiver/1.0/plexus-archiver-1.0.jar.sha1 +fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-9/plexus-archiver-1.0-alpha-9.pom +fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-9/plexus-archiver-1.0-alpha-9.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-9/plexus-archiver-1.0-alpha-9.jar +fetchArtifact org/codehaus/plexus/plexus-archiver/1.0-alpha-9/plexus-archiver-1.0-alpha-9.jar.sha1 +fetchArtifact org/codehaus/plexus/plexus-archiver/2.3/plexus-archiver-2.3.pom +fetchArtifact org/codehaus/plexus/plexus-archiver/2.3/plexus-archiver-2.3.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-archiver/2.3/plexus-archiver-2.3.jar +fetchArtifact org/codehaus/plexus/plexus-archiver/2.3/plexus-archiver-2.3.jar.sha1 +fetchArtifact org/codehaus/plexus/plexus-components/1.1.6/plexus-components-1.1.6.pom +fetchArtifact org/codehaus/plexus/plexus-components/1.1.6/plexus-components-1.1.6.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-components/1.1.14/plexus-components-1.1.14.pom +fetchArtifact org/codehaus/plexus/plexus-components/1.1.14/plexus-components-1.1.14.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-components/1.1.15/plexus-components-1.1.15.pom +fetchArtifact org/codehaus/plexus/plexus-components/1.1.15/plexus-components-1.1.15.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-components/1.1.20/plexus-components-1.1.20.pom +fetchArtifact org/codehaus/plexus/plexus-components/1.1.20/plexus-components-1.1.20.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-components/1.1.19/plexus-components-1.1.19.pom +fetchArtifact org/codehaus/plexus/plexus-components/1.1.19/plexus-components-1.1.19.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-components/1.1.9/plexus-components-1.1.9.pom +fetchArtifact org/codehaus/plexus/plexus-components/1.1.9/plexus-components-1.1.9.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-components/1.1.18/plexus-components-1.1.18.pom +fetchArtifact org/codehaus/plexus/plexus-components/1.1.18/plexus-components-1.1.18.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-components/1.1.12/plexus-components-1.1.12.pom +fetchArtifact org/codehaus/plexus/plexus-components/1.1.12/plexus-components-1.1.12.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-components/1.1.17/plexus-components-1.1.17.pom +fetchArtifact org/codehaus/plexus/plexus-components/1.1.17/plexus-components-1.1.17.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-components/1.3/plexus-components-1.3.pom +fetchArtifact org/codehaus/plexus/plexus-components/1.3/plexus-components-1.3.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-components/1.2/plexus-components-1.2.pom +fetchArtifact org/codehaus/plexus/plexus-components/1.2/plexus-components-1.2.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-interpolation/1.12/plexus-interpolation-1.12.pom +fetchArtifact org/codehaus/plexus/plexus-interpolation/1.12/plexus-interpolation-1.12.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-interpolation/1.12/plexus-interpolation-1.12.jar +fetchArtifact org/codehaus/plexus/plexus-interpolation/1.12/plexus-interpolation-1.12.jar.sha1 +fetchArtifact org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.pom +fetchArtifact org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.jar +fetchArtifact org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.jar.sha1 +fetchArtifact org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.pom +fetchArtifact org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.jar +fetchArtifact org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.jar.sha1 +fetchArtifact org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.pom +fetchArtifact org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar +fetchArtifact org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar.sha1 +fetchArtifact org/codehaus/plexus/plexus-interpolation/1.11/plexus-interpolation-1.11.pom +fetchArtifact org/codehaus/plexus/plexus-interpolation/1.11/plexus-interpolation-1.11.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-resources/1.0-alpha-5/plexus-resources-1.0-alpha-5.pom +fetchArtifact org/codehaus/plexus/plexus-resources/1.0-alpha-5/plexus-resources-1.0-alpha-5.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-resources/1.0-alpha-5/plexus-resources-1.0-alpha-5.jar +fetchArtifact org/codehaus/plexus/plexus-resources/1.0-alpha-5/plexus-resources-1.0-alpha-5.jar.sha1 fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.8/plexus-velocity-1.1.8.pom fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.8/plexus-velocity-1.1.8.pom.sha1 -fetchArtifact org/eclipse/aether/aether/0.9.0.M2/aether-0.9.0.M2.pom -fetchArtifact org/eclipse/aether/aether/0.9.0.M2/aether-0.9.0.M2.pom.sha1 -fetchArtifact org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.jar -fetchArtifact org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.jar.sha1 -fetchArtifact org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.pom -fetchArtifact org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.pom.sha1 -fetchArtifact org/eclipse/jetty/jetty-parent/14/jetty-parent-14.pom -fetchArtifact org/eclipse/jetty/jetty-parent/14/jetty-parent-14.pom.sha1 -fetchArtifact org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar -fetchArtifact org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar.sha1 -fetchArtifact org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.pom -fetchArtifact org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.pom.sha1 -fetchArtifact org/hamcrest/hamcrest-parent/1.1/hamcrest-parent-1.1.pom -fetchArtifact org/hamcrest/hamcrest-parent/1.1/hamcrest-parent-1.1.pom.sha1 -fetchArtifact org/jdom/jdom/1.1/jdom-1.1.jar -fetchArtifact org/jdom/jdom/1.1/jdom-1.1.jar.sha1 -fetchArtifact org/jdom/jdom/1.1/jdom-1.1.pom -fetchArtifact org/jdom/jdom/1.1/jdom-1.1.pom.sha1 -fetchArtifact org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.jar -fetchArtifact org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.jar.sha1 -fetchArtifact org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.pom -fetchArtifact org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.pom.sha1 -fetchArtifact org/mortbay/jetty/jetty/6.1.25/jetty-6.1.25.jar -fetchArtifact org/mortbay/jetty/jetty/6.1.25/jetty-6.1.25.jar.sha1 -fetchArtifact org/mortbay/jetty/jetty/6.1.25/jetty-6.1.25.pom -fetchArtifact org/mortbay/jetty/jetty/6.1.25/jetty-6.1.25.pom.sha1 -fetchArtifact org/mortbay/jetty/jetty-parent/10/jetty-parent-10.pom -fetchArtifact org/mortbay/jetty/jetty-parent/10/jetty-parent-10.pom.sha1 -fetchArtifact org/mortbay/jetty/jetty-parent/7/jetty-parent-7.pom -fetchArtifact org/mortbay/jetty/jetty-parent/7/jetty-parent-7.pom.sha1 -fetchArtifact org/mortbay/jetty/jetty-util/6.1.25/jetty-util-6.1.25.jar -fetchArtifact org/mortbay/jetty/jetty-util/6.1.25/jetty-util-6.1.25.jar.sha1 -fetchArtifact org/mortbay/jetty/jetty-util/6.1.25/jetty-util-6.1.25.pom -fetchArtifact org/mortbay/jetty/jetty-util/6.1.25/jetty-util-6.1.25.pom.sha1 -fetchArtifact org/mortbay/jetty/project/6.1.25/project-6.1.25.pom -fetchArtifact org/mortbay/jetty/project/6.1.25/project-6.1.25.pom.sha1 -fetchArtifact org/mortbay/jetty/servlet-api/2.5-20081211/servlet-api-2.5-20081211.jar -fetchArtifact org/mortbay/jetty/servlet-api/2.5-20081211/servlet-api-2.5-20081211.jar.sha1 -fetchArtifact org/mortbay/jetty/servlet-api/2.5-20081211/servlet-api-2.5-20081211.pom -fetchArtifact org/mortbay/jetty/servlet-api/2.5-20081211/servlet-api-2.5-20081211.pom.sha1 -fetchArtifact org/objenesis/objenesis/1.0/objenesis-1.0.jar -fetchArtifact org/objenesis/objenesis/1.0/objenesis-1.0.jar.sha1 -fetchArtifact org/objenesis/objenesis/1.0/objenesis-1.0.pom -fetchArtifact org/objenesis/objenesis/1.0/objenesis-1.0.pom.sha1 -fetchArtifact org/sonatype/aether/aether-api/1.7/aether-api-1.7.pom -fetchArtifact org/sonatype/aether/aether-api/1.7/aether-api-1.7.pom.sha1 -fetchArtifact org/sonatype/aether/aether-impl/1.7/aether-impl-1.7.pom -fetchArtifact org/sonatype/aether/aether-impl/1.7/aether-impl-1.7.pom.sha1 -fetchArtifact org/sonatype/aether/aether-parent/1.7/aether-parent-1.7.pom -fetchArtifact org/sonatype/aether/aether-parent/1.7/aether-parent-1.7.pom.sha1 -fetchArtifact org/sonatype/aether/aether-spi/1.7/aether-spi-1.7.pom -fetchArtifact org/sonatype/aether/aether-spi/1.7/aether-spi-1.7.pom.sha1 -fetchArtifact org/sonatype/aether/aether-util/1.7/aether-util-1.7.jar -fetchArtifact org/sonatype/aether/aether-util/1.7/aether-util-1.7.jar.sha1 -fetchArtifact org/sonatype/aether/aether-util/1.7/aether-util-1.7.pom -fetchArtifact org/sonatype/aether/aether-util/1.7/aether-util-1.7.pom.sha1 -fetchArtifact org/sonatype/forge/forge-parent/10/forge-parent-10.pom -fetchArtifact org/sonatype/forge/forge-parent/10/forge-parent-10.pom.sha1 -fetchArtifact org/sonatype/forge/forge-parent/3/forge-parent-3.pom -fetchArtifact org/sonatype/forge/forge-parent/3/forge-parent-3.pom.sha1 -fetchArtifact org/sonatype/forge/forge-parent/4/forge-parent-4.pom -fetchArtifact org/sonatype/forge/forge-parent/4/forge-parent-4.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.8/plexus-velocity-1.1.8.jar +fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.8/plexus-velocity-1.1.8.jar.sha1 +fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.pom +fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.jar +fetchArtifact org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.jar.sha1 +fetchArtifact org/codehaus/plexus/plexus-compiler-api/1.9.1/plexus-compiler-api-1.9.1.pom +fetchArtifact org/codehaus/plexus/plexus-compiler-api/1.9.1/plexus-compiler-api-1.9.1.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-compiler-api/1.9.1/plexus-compiler-api-1.9.1.jar +fetchArtifact org/codehaus/plexus/plexus-compiler-api/1.9.1/plexus-compiler-api-1.9.1.jar.sha1 +fetchArtifact org/codehaus/plexus/plexus-compiler/1.9.1/plexus-compiler-1.9.1.pom +fetchArtifact org/codehaus/plexus/plexus-compiler/1.9.1/plexus-compiler-1.9.1.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-compiler-manager/1.9.1/plexus-compiler-manager-1.9.1.pom +fetchArtifact org/codehaus/plexus/plexus-compiler-manager/1.9.1/plexus-compiler-manager-1.9.1.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-compiler-manager/1.9.1/plexus-compiler-manager-1.9.1.jar +fetchArtifact org/codehaus/plexus/plexus-compiler-manager/1.9.1/plexus-compiler-manager-1.9.1.jar.sha1 +fetchArtifact org/codehaus/plexus/plexus-compiler-javac/1.9.1/plexus-compiler-javac-1.9.1.pom +fetchArtifact org/codehaus/plexus/plexus-compiler-javac/1.9.1/plexus-compiler-javac-1.9.1.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-compiler-javac/1.9.1/plexus-compiler-javac-1.9.1.jar +fetchArtifact org/codehaus/plexus/plexus-compiler-javac/1.9.1/plexus-compiler-javac-1.9.1.jar.sha1 +fetchArtifact org/codehaus/plexus/plexus-compilers/1.9.1/plexus-compilers-1.9.1.pom +fetchArtifact org/codehaus/plexus/plexus-compilers/1.9.1/plexus-compilers-1.9.1.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.pom +fetchArtifact org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.jar +fetchArtifact org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.jar.sha1 +fetchArtifact org/codehaus/plexus/plexus-io/2.0.1/plexus-io-2.0.1.pom +fetchArtifact org/codehaus/plexus/plexus-io/2.0.1/plexus-io-2.0.1.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-io/1.0/plexus-io-1.0.pom +fetchArtifact org/codehaus/plexus/plexus-io/1.0/plexus-io-1.0.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-io/1.0/plexus-io-1.0.jar +fetchArtifact org/codehaus/plexus/plexus-io/1.0/plexus-io-1.0.jar.sha1 +fetchArtifact org/codehaus/plexus/plexus-io/1.0-alpha-1/plexus-io-1.0-alpha-1.pom +fetchArtifact org/codehaus/plexus/plexus-io/1.0-alpha-1/plexus-io-1.0-alpha-1.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-io/1.0-alpha-1/plexus-io-1.0-alpha-1.jar +fetchArtifact org/codehaus/plexus/plexus-io/1.0-alpha-1/plexus-io-1.0-alpha-1.jar.sha1 +fetchArtifact org/codehaus/plexus/plexus-io/2.0.6/plexus-io-2.0.6.pom +fetchArtifact org/codehaus/plexus/plexus-io/2.0.6/plexus-io-2.0.6.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-io/2.0.6/plexus-io-2.0.6.jar +fetchArtifact org/codehaus/plexus/plexus-io/2.0.6/plexus-io-2.0.6.jar.sha1 +fetchArtifact org/codehaus/plexus/plexus-interactivity/1.0-alpha-6/plexus-interactivity-1.0-alpha-6.pom +fetchArtifact org/codehaus/plexus/plexus-interactivity/1.0-alpha-6/plexus-interactivity-1.0-alpha-6.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.pom +fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar +fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar.sha1 +fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.4/plexus-component-annotations-1.5.4.pom +fetchArtifact org/codehaus/plexus/plexus-component-annotations/1.5.4/plexus-component-annotations-1.5.4.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.pom +fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.jar +fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.jar.sha1 +fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-9/plexus-classworlds-1.2-alpha-9.pom +fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-9/plexus-classworlds-1.2-alpha-9.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.pom +fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-6/plexus-classworlds-1.2-alpha-6.pom +fetchArtifact org/codehaus/plexus/plexus-classworlds/1.2-alpha-6/plexus-classworlds-1.2-alpha-6.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.2/plexus-classworlds-2.2.2.pom +fetchArtifact org/codehaus/plexus/plexus-classworlds/2.2.2/plexus-classworlds-2.2.2.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.pom +fetchArtifact org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.jar +fetchArtifact org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.jar.sha1 +fetchArtifact org/codehaus/plexus/plexus-component-api/1.0-alpha-15/plexus-component-api-1.0-alpha-15.pom +fetchArtifact org/codehaus/plexus/plexus-component-api/1.0-alpha-15/plexus-component-api-1.0-alpha-15.pom.sha1 +fetchArtifact org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.pom +fetchArtifact org/codehaus/plexus/plexus-component-api/1.0-alpha-16/plexus-component-api-1.0-alpha-16.pom.sha1 +fetchArtifact org/sonatype/spice/spice-parent/16/spice-parent-16.pom +fetchArtifact org/sonatype/spice/spice-parent/16/spice-parent-16.pom.sha1 +fetchArtifact org/sonatype/spice/spice-parent/10/spice-parent-10.pom +fetchArtifact org/sonatype/spice/spice-parent/10/spice-parent-10.pom.sha1 +fetchArtifact org/sonatype/spice/spice-parent/17/spice-parent-17.pom +fetchArtifact org/sonatype/spice/spice-parent/17/spice-parent-17.pom.sha1 +fetchArtifact org/sonatype/spice/spice-parent/12/spice-parent-12.pom +fetchArtifact org/sonatype/spice/spice-parent/12/spice-parent-12.pom.sha1 fetchArtifact org/sonatype/forge/forge-parent/5/forge-parent-5.pom fetchArtifact org/sonatype/forge/forge-parent/5/forge-parent-5.pom.sha1 +fetchArtifact org/sonatype/forge/forge-parent/3/forge-parent-3.pom +fetchArtifact org/sonatype/forge/forge-parent/3/forge-parent-3.pom.sha1 +fetchArtifact org/sonatype/forge/forge-parent/10/forge-parent-10.pom +fetchArtifact org/sonatype/forge/forge-parent/10/forge-parent-10.pom.sha1 +fetchArtifact org/sonatype/forge/forge-parent/4/forge-parent-4.pom +fetchArtifact org/sonatype/forge/forge-parent/4/forge-parent-4.pom.sha1 fetchArtifact org/sonatype/forge/forge-parent/6/forge-parent-6.pom fetchArtifact org/sonatype/forge/forge-parent/6/forge-parent-6.pom.sha1 +fetchArtifact org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.pom +fetchArtifact org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.pom.sha1 +fetchArtifact org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.jar +fetchArtifact org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.jar.sha1 +fetchArtifact org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.pom +fetchArtifact org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.pom.sha1 +fetchArtifact org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar +fetchArtifact org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar.sha1 +fetchArtifact org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.pom +fetchArtifact org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.pom.sha1 +fetchArtifact org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar +fetchArtifact org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar.sha1 fetchArtifact org/sonatype/oss/oss-parent/6/oss-parent-6.pom fetchArtifact org/sonatype/oss/oss-parent/6/oss-parent-6.pom.sha1 fetchArtifact org/sonatype/oss/oss-parent/7/oss-parent-7.pom fetchArtifact org/sonatype/oss/oss-parent/7/oss-parent-7.pom.sha1 -fetchArtifact org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.jar -fetchArtifact org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.jar.sha1 -fetchArtifact org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.pom -fetchArtifact org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.pom.sha1 -fetchArtifact org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar -fetchArtifact org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar.sha1 -fetchArtifact org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.pom -fetchArtifact org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.pom.sha1 -fetchArtifact org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar -fetchArtifact org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar.sha1 -fetchArtifact org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.pom -fetchArtifact org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.pom.sha1 -fetchArtifact org/sonatype/sisu/inject/guice-bean/1.4.2/guice-bean-1.4.2.pom -fetchArtifact org/sonatype/sisu/inject/guice-bean/1.4.2/guice-bean-1.4.2.pom.sha1 -fetchArtifact org/sonatype/sisu/inject/guice-plexus/1.4.2/guice-plexus-1.4.2.pom -fetchArtifact org/sonatype/sisu/inject/guice-plexus/1.4.2/guice-plexus-1.4.2.pom.sha1 -fetchArtifact org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar -fetchArtifact org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar.sha1 -fetchArtifact org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7.pom -fetchArtifact org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7.pom.sha1 -fetchArtifact org/sonatype/sisu/sisu-inject/1.4.2/sisu-inject-1.4.2.pom -fetchArtifact org/sonatype/sisu/sisu-inject/1.4.2/sisu-inject-1.4.2.pom.sha1 -fetchArtifact org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar -fetchArtifact org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar.sha1 -fetchArtifact org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.pom -fetchArtifact org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.pom.sha1 fetchArtifact org/sonatype/sisu/sisu-inject-plexus/1.4.2/sisu-inject-plexus-1.4.2.pom fetchArtifact org/sonatype/sisu/sisu-inject-plexus/1.4.2/sisu-inject-plexus-1.4.2.pom.sha1 +fetchArtifact org/sonatype/sisu/sisu-inject-plexus/1.4.2/sisu-inject-plexus-1.4.2.jar +fetchArtifact org/sonatype/sisu/sisu-inject-plexus/1.4.2/sisu-inject-plexus-1.4.2.jar.sha1 +fetchArtifact org/sonatype/sisu/inject/guice-plexus/1.4.2/guice-plexus-1.4.2.pom +fetchArtifact org/sonatype/sisu/inject/guice-plexus/1.4.2/guice-plexus-1.4.2.pom.sha1 +fetchArtifact org/sonatype/sisu/inject/guice-bean/1.4.2/guice-bean-1.4.2.pom +fetchArtifact org/sonatype/sisu/inject/guice-bean/1.4.2/guice-bean-1.4.2.pom.sha1 +fetchArtifact org/sonatype/sisu/sisu-inject/1.4.2/sisu-inject-1.4.2.pom +fetchArtifact org/sonatype/sisu/sisu-inject/1.4.2/sisu-inject-1.4.2.pom.sha1 fetchArtifact org/sonatype/sisu/sisu-parent/1.4.2/sisu-parent-1.4.2.pom fetchArtifact org/sonatype/sisu/sisu-parent/1.4.2/sisu-parent-1.4.2.pom.sha1 -fetchArtifact org/sonatype/spice/spice-parent/10/spice-parent-10.pom -fetchArtifact org/sonatype/spice/spice-parent/10/spice-parent-10.pom.sha1 -fetchArtifact org/sonatype/spice/spice-parent/12/spice-parent-12.pom -fetchArtifact org/sonatype/spice/spice-parent/12/spice-parent-12.pom.sha1 -fetchArtifact org/sonatype/spice/spice-parent/16/spice-parent-16.pom -fetchArtifact org/sonatype/spice/spice-parent/16/spice-parent-16.pom.sha1 -fetchArtifact org/sonatype/spice/spice-parent/17/spice-parent-17.pom -fetchArtifact org/sonatype/spice/spice-parent/17/spice-parent-17.pom.sha1 -fetchArtifact org/vafer/jdependency/0.7/jdependency-0.7.jar -fetchArtifact org/vafer/jdependency/0.7/jdependency-0.7.jar.sha1 +fetchArtifact org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.pom +fetchArtifact org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.pom.sha1 +fetchArtifact org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar +fetchArtifact org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar.sha1 +fetchArtifact org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7.pom +fetchArtifact org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7.pom.sha1 +fetchArtifact org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar +fetchArtifact org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar.sha1 +fetchArtifact org/sonatype/aether/aether-api/1.7/aether-api-1.7.pom +fetchArtifact org/sonatype/aether/aether-api/1.7/aether-api-1.7.pom.sha1 +fetchArtifact org/sonatype/aether/aether-api/1.7/aether-api-1.7.jar +fetchArtifact org/sonatype/aether/aether-api/1.7/aether-api-1.7.jar.sha1 +fetchArtifact org/sonatype/aether/aether-parent/1.7/aether-parent-1.7.pom +fetchArtifact org/sonatype/aether/aether-parent/1.7/aether-parent-1.7.pom.sha1 +fetchArtifact org/sonatype/aether/aether-util/1.7/aether-util-1.7.pom +fetchArtifact org/sonatype/aether/aether-util/1.7/aether-util-1.7.pom.sha1 +fetchArtifact org/sonatype/aether/aether-util/1.7/aether-util-1.7.jar +fetchArtifact org/sonatype/aether/aether-util/1.7/aether-util-1.7.jar.sha1 +fetchArtifact org/sonatype/aether/aether-impl/1.7/aether-impl-1.7.pom +fetchArtifact org/sonatype/aether/aether-impl/1.7/aether-impl-1.7.pom.sha1 +fetchArtifact org/sonatype/aether/aether-impl/1.7/aether-impl-1.7.jar +fetchArtifact org/sonatype/aether/aether-impl/1.7/aether-impl-1.7.jar.sha1 +fetchArtifact org/sonatype/aether/aether-spi/1.7/aether-spi-1.7.pom +fetchArtifact org/sonatype/aether/aether-spi/1.7/aether-spi-1.7.pom.sha1 +fetchArtifact org/sonatype/aether/aether-spi/1.7/aether-spi-1.7.jar +fetchArtifact org/sonatype/aether/aether-spi/1.7/aether-spi-1.7.jar.sha1 +fetchArtifact org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.pom +fetchArtifact org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.pom.sha1 +fetchArtifact org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar +fetchArtifact org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar.sha1 +fetchArtifact org/hamcrest/hamcrest-parent/1.1/hamcrest-parent-1.1.pom +fetchArtifact org/hamcrest/hamcrest-parent/1.1/hamcrest-parent-1.1.pom.sha1 +fetchArtifact org/beanshell/bsh/2.0b4/bsh-2.0b4.pom +fetchArtifact org/beanshell/bsh/2.0b4/bsh-2.0b4.pom.sha1 +fetchArtifact org/beanshell/bsh/2.0b4/bsh-2.0b4.jar +fetchArtifact org/beanshell/bsh/2.0b4/bsh-2.0b4.jar.sha1 +fetchArtifact org/beanshell/beanshell/2.0b4/beanshell-2.0b4.pom +fetchArtifact org/beanshell/beanshell/2.0b4/beanshell-2.0b4.pom.sha1 +fetchArtifact org/mortbay/jetty/jetty/6.1.25/jetty-6.1.25.pom +fetchArtifact org/mortbay/jetty/jetty/6.1.25/jetty-6.1.25.pom.sha1 +fetchArtifact org/mortbay/jetty/jetty/6.1.25/jetty-6.1.25.jar +fetchArtifact org/mortbay/jetty/jetty/6.1.25/jetty-6.1.25.jar.sha1 +fetchArtifact org/mortbay/jetty/project/6.1.25/project-6.1.25.pom +fetchArtifact org/mortbay/jetty/project/6.1.25/project-6.1.25.pom.sha1 +fetchArtifact org/mortbay/jetty/jetty-parent/10/jetty-parent-10.pom +fetchArtifact org/mortbay/jetty/jetty-parent/10/jetty-parent-10.pom.sha1 +fetchArtifact org/mortbay/jetty/jetty-parent/7/jetty-parent-7.pom +fetchArtifact org/mortbay/jetty/jetty-parent/7/jetty-parent-7.pom.sha1 +fetchArtifact org/mortbay/jetty/jetty-util/6.1.25/jetty-util-6.1.25.pom +fetchArtifact org/mortbay/jetty/jetty-util/6.1.25/jetty-util-6.1.25.pom.sha1 +fetchArtifact org/mortbay/jetty/jetty-util/6.1.25/jetty-util-6.1.25.jar +fetchArtifact org/mortbay/jetty/jetty-util/6.1.25/jetty-util-6.1.25.jar.sha1 +fetchArtifact org/mortbay/jetty/servlet-api/2.5-20081211/servlet-api-2.5-20081211.pom +fetchArtifact org/mortbay/jetty/servlet-api/2.5-20081211/servlet-api-2.5-20081211.pom.sha1 +fetchArtifact org/mortbay/jetty/servlet-api/2.5-20081211/servlet-api-2.5-20081211.jar +fetchArtifact org/mortbay/jetty/servlet-api/2.5-20081211/servlet-api-2.5-20081211.jar.sha1 +fetchArtifact org/eclipse/jetty/jetty-parent/14/jetty-parent-14.pom +fetchArtifact org/eclipse/jetty/jetty-parent/14/jetty-parent-14.pom.sha1 +fetchArtifact org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.pom +fetchArtifact org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.pom.sha1 +fetchArtifact org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.jar +fetchArtifact org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.jar.sha1 +fetchArtifact org/eclipse/aether/aether/0.9.0.M2/aether-0.9.0.M2.pom +fetchArtifact org/eclipse/aether/aether/0.9.0.M2/aether-0.9.0.M2.pom.sha1 +fetchArtifact org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.pom +fetchArtifact org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.pom.sha1 +fetchArtifact org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.jar +fetchArtifact org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.jar.sha1 +fetchArtifact org/objenesis/objenesis/1.0/objenesis-1.0.pom +fetchArtifact org/objenesis/objenesis/1.0/objenesis-1.0.pom.sha1 +fetchArtifact org/objenesis/objenesis/1.0/objenesis-1.0.jar +fetchArtifact org/objenesis/objenesis/1.0/objenesis-1.0.jar.sha1 +fetchArtifact org/jdom/jdom/1.1/jdom-1.1.pom +fetchArtifact org/jdom/jdom/1.1/jdom-1.1.pom.sha1 +fetchArtifact org/jdom/jdom/1.1/jdom-1.1.jar +fetchArtifact org/jdom/jdom/1.1/jdom-1.1.jar.sha1 fetchArtifact org/vafer/jdependency/0.7/jdependency-0.7.pom fetchArtifact org/vafer/jdependency/0.7/jdependency-0.7.pom.sha1 -fetchArtifact oro/oro/2.0.8/oro-2.0.8.jar -fetchArtifact oro/oro/2.0.8/oro-2.0.8.jar.sha1 +fetchArtifact org/vafer/jdependency/0.7/jdependency-0.7.jar +fetchArtifact org/vafer/jdependency/0.7/jdependency-0.7.jar.sha1 +fetchArtifact com/google/protobuf/protobuf-java/2.6.1/protobuf-java-2.6.1.pom +fetchArtifact com/google/protobuf/protobuf-java/2.6.1/protobuf-java-2.6.1.pom.sha1 +fetchArtifact com/google/protobuf/protobuf-java/2.6.1/protobuf-java-2.6.1.jar +fetchArtifact com/google/protobuf/protobuf-java/2.6.1/protobuf-java-2.6.1.jar.sha1 +fetchArtifact com/google/google/1/google-1.pom +fetchArtifact com/google/google/1/google-1.pom.sha1 +fetchArtifact com/google/guava/guava/11.0.2/guava-11.0.2.pom +fetchArtifact com/google/guava/guava/11.0.2/guava-11.0.2.pom.sha1 +fetchArtifact com/google/guava/guava/11.0.2/guava-11.0.2.jar +fetchArtifact com/google/guava/guava/11.0.2/guava-11.0.2.jar.sha1 +fetchArtifact com/google/guava/guava-parent/11.0.2/guava-parent-11.0.2.pom +fetchArtifact com/google/guava/guava-parent/11.0.2/guava-parent-11.0.2.pom.sha1 +fetchArtifact com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.pom +fetchArtifact com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.pom.sha1 +fetchArtifact com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar +fetchArtifact com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar.sha1 +fetchArtifact com/google/collections/google-collections/1.0/google-collections-1.0.pom +fetchArtifact com/google/collections/google-collections/1.0/google-collections-1.0.pom.sha1 +fetchArtifact com/jcraft/jsch/0.1.44-1/jsch-0.1.44-1.pom +fetchArtifact com/jcraft/jsch/0.1.44-1/jsch-0.1.44-1.pom.sha1 +fetchArtifact com/jcraft/jsch/0.1.44-1/jsch-0.1.44-1.jar +fetchArtifact com/jcraft/jsch/0.1.44-1/jsch-0.1.44-1.jar.sha1 +fetchArtifact com/thoughtworks/qdox/qdox/1.12/qdox-1.12.pom +fetchArtifact com/thoughtworks/qdox/qdox/1.12/qdox-1.12.pom.sha1 +fetchArtifact com/thoughtworks/qdox/qdox/1.12/qdox-1.12.jar +fetchArtifact com/thoughtworks/qdox/qdox/1.12/qdox-1.12.jar.sha1 +fetchArtifact junit/junit/4.10/junit-4.10.pom +fetchArtifact junit/junit/4.10/junit-4.10.pom.sha1 +fetchArtifact junit/junit/3.8.1/junit-3.8.1.pom +fetchArtifact junit/junit/3.8.1/junit-3.8.1.pom.sha1 +fetchArtifact junit/junit/3.8.1/junit-3.8.1.jar +fetchArtifact junit/junit/3.8.1/junit-3.8.1.jar.sha1 +fetchArtifact junit/junit/3.8.2/junit-3.8.2.pom +fetchArtifact junit/junit/3.8.2/junit-3.8.2.pom.sha1 +fetchArtifact classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom +fetchArtifact classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom.sha1 +fetchArtifact classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar +fetchArtifact classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar.sha1 +fetchArtifact classworlds/classworlds/1.1/classworlds-1.1.pom +fetchArtifact classworlds/classworlds/1.1/classworlds-1.1.pom.sha1 +fetchArtifact classworlds/classworlds/1.1/classworlds-1.1.jar +fetchArtifact classworlds/classworlds/1.1/classworlds-1.1.jar.sha1 +fetchArtifact commons-cli/commons-cli/1.0/commons-cli-1.0.pom +fetchArtifact commons-cli/commons-cli/1.0/commons-cli-1.0.pom.sha1 +fetchArtifact commons-cli/commons-cli/1.0/commons-cli-1.0.jar +fetchArtifact commons-cli/commons-cli/1.0/commons-cli-1.0.jar.sha1 +fetchArtifact doxia/doxia-sink-api/1.0-alpha-4/doxia-sink-api-1.0-alpha-4.pom +fetchArtifact doxia/doxia-sink-api/1.0-alpha-4/doxia-sink-api-1.0-alpha-4.pom.sha1 +fetchArtifact commons-collections/commons-collections/3.1/commons-collections-3.1.pom +fetchArtifact commons-collections/commons-collections/3.1/commons-collections-3.1.pom.sha1 +fetchArtifact commons-collections/commons-collections/3.1/commons-collections-3.1.jar +fetchArtifact commons-collections/commons-collections/3.1/commons-collections-3.1.jar.sha1 +fetchArtifact commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.pom +fetchArtifact commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.pom.sha1 +fetchArtifact commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar +fetchArtifact commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar.sha1 +fetchArtifact commons-collections/commons-collections/2.0/commons-collections-2.0.pom +fetchArtifact commons-collections/commons-collections/2.0/commons-collections-2.0.pom.sha1 +fetchArtifact commons-collections/commons-collections/2.1/commons-collections-2.1.pom +fetchArtifact commons-collections/commons-collections/2.1/commons-collections-2.1.pom.sha1 +fetchArtifact commons-collections/commons-collections/3.2/commons-collections-3.2.pom +fetchArtifact commons-collections/commons-collections/3.2/commons-collections-3.2.pom.sha1 +fetchArtifact commons-collections/commons-collections/3.2/commons-collections-3.2.jar +fetchArtifact commons-collections/commons-collections/3.2/commons-collections-3.2.jar.sha1 +fetchArtifact commons-lang/commons-lang/2.4/commons-lang-2.4.pom +fetchArtifact commons-lang/commons-lang/2.4/commons-lang-2.4.pom.sha1 +fetchArtifact commons-lang/commons-lang/2.4/commons-lang-2.4.jar +fetchArtifact commons-lang/commons-lang/2.4/commons-lang-2.4.jar.sha1 +fetchArtifact commons-lang/commons-lang/2.1/commons-lang-2.1.pom +fetchArtifact commons-lang/commons-lang/2.1/commons-lang-2.1.pom.sha1 +fetchArtifact commons-lang/commons-lang/2.1/commons-lang-2.1.jar +fetchArtifact commons-lang/commons-lang/2.1/commons-lang-2.1.jar.sha1 +fetchArtifact commons-lang/commons-lang/2.5/commons-lang-2.5.pom +fetchArtifact commons-lang/commons-lang/2.5/commons-lang-2.5.pom.sha1 +fetchArtifact commons-lang/commons-lang/2.5/commons-lang-2.5.jar +fetchArtifact commons-lang/commons-lang/2.5/commons-lang-2.5.jar.sha1 +fetchArtifact commons-lang/commons-lang/2.6/commons-lang-2.6.pom +fetchArtifact commons-lang/commons-lang/2.6/commons-lang-2.6.pom.sha1 +fetchArtifact commons-lang/commons-lang/2.6/commons-lang-2.6.jar +fetchArtifact commons-lang/commons-lang/2.6/commons-lang-2.6.jar.sha1 fetchArtifact oro/oro/2.0.8/oro-2.0.8.pom fetchArtifact oro/oro/2.0.8/oro-2.0.8.pom.sha1 -fetchArtifact sslext/sslext/1.2-0/sslext-1.2-0.jar -fetchArtifact sslext/sslext/1.2-0/sslext-1.2-0.jar.sha1 -fetchArtifact sslext/sslext/1.2-0/sslext-1.2-0.pom -fetchArtifact sslext/sslext/1.2-0/sslext-1.2-0.pom.sha1 -fetchArtifact velocity/velocity/1.5/velocity-1.5.jar -fetchArtifact velocity/velocity/1.5/velocity-1.5.jar.sha1 +fetchArtifact oro/oro/2.0.8/oro-2.0.8.jar +fetchArtifact oro/oro/2.0.8/oro-2.0.8.jar.sha1 fetchArtifact velocity/velocity/1.5/velocity-1.5.pom fetchArtifact velocity/velocity/1.5/velocity-1.5.pom.sha1 -fetchArtifact xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar -fetchArtifact xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar.sha1 +fetchArtifact velocity/velocity/1.5/velocity-1.5.jar +fetchArtifact velocity/velocity/1.5/velocity-1.5.jar.sha1 fetchArtifact xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.pom fetchArtifact xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.pom.sha1 -fetchArtifact xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar -fetchArtifact xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar.sha1 -fetchArtifact xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom -fetchArtifact xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom.sha1 -fetchArtifact xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.jar -fetchArtifact xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.jar.sha1 +fetchArtifact xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar +fetchArtifact xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar.sha1 fetchArtifact xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.pom fetchArtifact xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.pom.sha1 +fetchArtifact xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.jar +fetchArtifact xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.jar.sha1 +fetchArtifact xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom +fetchArtifact xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom.sha1 +fetchArtifact xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar +fetchArtifact xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar.sha1 fetchArtifact xml-apis/xml-apis/2.0.2/xml-apis-2.0.2.pom fetchArtifact xml-apis/xml-apis/2.0.2/xml-apis-2.0.2.pom.sha1 +fetchArtifact commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.pom +fetchArtifact commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.pom.sha1 +fetchArtifact commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar +fetchArtifact commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar.sha1 +fetchArtifact commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.pom +fetchArtifact commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.pom.sha1 +fetchArtifact commons-logging/commons-logging/1.1/commons-logging-1.1.pom +fetchArtifact commons-logging/commons-logging/1.1/commons-logging-1.1.pom.sha1 +fetchArtifact commons-logging/commons-logging/1.0/commons-logging-1.0.pom +fetchArtifact commons-logging/commons-logging/1.0/commons-logging-1.0.pom.sha1 +fetchArtifact commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.pom +fetchArtifact commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.pom.sha1 +fetchArtifact commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar +fetchArtifact commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar.sha1 +fetchArtifact commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.pom +fetchArtifact commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.pom.sha1 +fetchArtifact commons-codec/commons-codec/1.3/commons-codec-1.3.pom +fetchArtifact commons-codec/commons-codec/1.3/commons-codec-1.3.pom.sha1 +fetchArtifact commons-codec/commons-codec/1.3/commons-codec-1.3.jar +fetchArtifact commons-codec/commons-codec/1.3/commons-codec-1.3.jar.sha1 +fetchArtifact commons-codec/commons-codec/1.2/commons-codec-1.2.pom +fetchArtifact commons-codec/commons-codec/1.2/commons-codec-1.2.pom.sha1 +fetchArtifact commons-codec/commons-codec/1.2/commons-codec-1.2.jar +fetchArtifact commons-codec/commons-codec/1.2/commons-codec-1.2.jar.sha1 +fetchArtifact javax/servlet/servlet-api/2.5/servlet-api-2.5.pom +fetchArtifact javax/servlet/servlet-api/2.5/servlet-api-2.5.pom.sha1 +fetchArtifact javax/servlet/servlet-api/2.5/servlet-api-2.5.jar +fetchArtifact javax/servlet/servlet-api/2.5/servlet-api-2.5.jar.sha1 +fetchArtifact javax/servlet/servlet-api/2.3/servlet-api-2.3.pom +fetchArtifact javax/servlet/servlet-api/2.3/servlet-api-2.3.pom.sha1 +fetchArtifact commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.pom +fetchArtifact commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.pom.sha1 +fetchArtifact commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar +fetchArtifact commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar.sha1 +fetchArtifact commons-beanutils/commons-beanutils/1.6/commons-beanutils-1.6.pom +fetchArtifact commons-beanutils/commons-beanutils/1.6/commons-beanutils-1.6.pom.sha1 +fetchArtifact commons-digester/commons-digester/1.8/commons-digester-1.8.pom +fetchArtifact commons-digester/commons-digester/1.8/commons-digester-1.8.pom.sha1 +fetchArtifact commons-digester/commons-digester/1.8/commons-digester-1.8.jar +fetchArtifact commons-digester/commons-digester/1.8/commons-digester-1.8.jar.sha1 +fetchArtifact commons-digester/commons-digester/1.6/commons-digester-1.6.pom +fetchArtifact commons-digester/commons-digester/1.6/commons-digester-1.6.pom.sha1 +fetchArtifact commons-digester/commons-digester/1.6/commons-digester-1.6.jar +fetchArtifact commons-digester/commons-digester/1.6/commons-digester-1.6.jar.sha1 +fetchArtifact log4j/log4j/1.2.12/log4j-1.2.12.pom +fetchArtifact log4j/log4j/1.2.12/log4j-1.2.12.pom.sha1 +fetchArtifact log4j/log4j/1.2.14/log4j-1.2.14.pom +fetchArtifact log4j/log4j/1.2.14/log4j-1.2.14.pom.sha1 +fetchArtifact log4j/log4j/1.2.14/log4j-1.2.14.jar +fetchArtifact log4j/log4j/1.2.14/log4j-1.2.14.jar.sha1 +fetchArtifact logkit/logkit/1.0.1/logkit-1.0.1.pom +fetchArtifact logkit/logkit/1.0.1/logkit-1.0.1.pom.sha1 +fetchArtifact avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.pom +fetchArtifact avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.pom.sha1 +fetchArtifact commons-chain/commons-chain/1.1/commons-chain-1.1.pom +fetchArtifact commons-chain/commons-chain/1.1/commons-chain-1.1.pom.sha1 +fetchArtifact commons-chain/commons-chain/1.1/commons-chain-1.1.jar +fetchArtifact commons-chain/commons-chain/1.1/commons-chain-1.1.jar.sha1 +fetchArtifact commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.pom +fetchArtifact commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.pom.sha1 +fetchArtifact commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.jar +fetchArtifact commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.jar.sha1 +fetchArtifact commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.pom +fetchArtifact commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.pom.sha1 +fetchArtifact commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.jar +fetchArtifact commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.jar.sha1 +fetchArtifact dom4j/dom4j/1.1/dom4j-1.1.pom +fetchArtifact dom4j/dom4j/1.1/dom4j-1.1.pom.sha1 +fetchArtifact dom4j/dom4j/1.1/dom4j-1.1.jar +fetchArtifact dom4j/dom4j/1.1/dom4j-1.1.jar.sha1 +fetchArtifact sslext/sslext/1.2-0/sslext-1.2-0.pom +fetchArtifact sslext/sslext/1.2-0/sslext-1.2-0.pom.sha1 +fetchArtifact sslext/sslext/1.2-0/sslext-1.2-0.jar +fetchArtifact sslext/sslext/1.2-0/sslext-1.2-0.jar.sha1 +fetchArtifact antlr/antlr/2.7.2/antlr-2.7.2.pom +fetchArtifact antlr/antlr/2.7.2/antlr-2.7.2.pom.sha1 +fetchArtifact antlr/antlr/2.7.2/antlr-2.7.2.jar +fetchArtifact antlr/antlr/2.7.2/antlr-2.7.2.jar.sha1 +fetchArtifact commons-io/commons-io/1.4/commons-io-1.4.pom +fetchArtifact commons-io/commons-io/1.4/commons-io-1.4.pom.sha1 +fetchArtifact commons-io/commons-io/1.4/commons-io-1.4.jar +fetchArtifact commons-io/commons-io/1.4/commons-io-1.4.jar.sha1 +fetchArtifact commons-io/commons-io/1.3.2/commons-io-1.3.2.pom +fetchArtifact commons-io/commons-io/1.3.2/commons-io-1.3.2.pom.sha1 +fetchArtifact commons-io/commons-io/1.3.2/commons-io-1.3.2.jar +fetchArtifact commons-io/commons-io/1.3.2/commons-io-1.3.2.jar.sha1 +fetchArtifact commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.pom +fetchArtifact commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.pom.sha1 +fetchArtifact commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.jar +fetchArtifact commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.jar.sha1 +fetchArtifact asm/asm/3.3.1/asm-3.3.1.pom +fetchArtifact asm/asm/3.3.1/asm-3.3.1.pom.sha1 +fetchArtifact asm/asm/3.3.1/asm-3.3.1.jar +fetchArtifact asm/asm/3.3.1/asm-3.3.1.jar.sha1 +fetchArtifact asm/asm/3.2/asm-3.2.pom +fetchArtifact asm/asm/3.2/asm-3.2.pom.sha1 +fetchArtifact asm/asm-parent/3.3.1/asm-parent-3.3.1.pom +fetchArtifact asm/asm-parent/3.3.1/asm-parent-3.3.1.pom.sha1 +fetchArtifact asm/asm-parent/3.2/asm-parent-3.2.pom +fetchArtifact asm/asm-parent/3.2/asm-parent-3.2.pom.sha1 +fetchArtifact asm/asm-commons/3.3.1/asm-commons-3.3.1.pom +fetchArtifact asm/asm-commons/3.3.1/asm-commons-3.3.1.pom.sha1 +fetchArtifact asm/asm-commons/3.3.1/asm-commons-3.3.1.jar +fetchArtifact asm/asm-commons/3.3.1/asm-commons-3.3.1.jar.sha1 +fetchArtifact asm/asm-commons/3.2/asm-commons-3.2.pom +fetchArtifact asm/asm-commons/3.2/asm-commons-3.2.pom.sha1 +fetchArtifact asm/asm-tree/3.3.1/asm-tree-3.3.1.pom +fetchArtifact asm/asm-tree/3.3.1/asm-tree-3.3.1.pom.sha1 +fetchArtifact asm/asm-tree/3.3.1/asm-tree-3.3.1.jar +fetchArtifact asm/asm-tree/3.3.1/asm-tree-3.3.1.jar.sha1 +fetchArtifact asm/asm-tree/3.2/asm-tree-3.2.pom +fetchArtifact asm/asm-tree/3.2/asm-tree-3.2.pom.sha1 +fetchArtifact asm/asm-analysis/3.2/asm-analysis-3.2.pom +fetchArtifact asm/asm-analysis/3.2/asm-analysis-3.2.pom.sha1 +fetchArtifact asm/asm-analysis/3.2/asm-analysis-3.2.jar +fetchArtifact asm/asm-analysis/3.2/asm-analysis-3.2.jar.sha1 +fetchArtifact asm/asm-util/3.2/asm-util-3.2.pom +fetchArtifact asm/asm-util/3.2/asm-util-3.2.pom.sha1 +fetchArtifact asm/asm-util/3.2/asm-util-3.2.jar +fetchArtifact asm/asm-util/3.2/asm-util-3.2.jar.sha1 +fetchArtifact backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.pom +fetchArtifact backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.pom.sha1 +fetchArtifact backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar +fetchArtifact backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar.sha1 stopNest diff --git a/pkgs/applications/networking/cluster/mesos/mesos-deps.nix b/pkgs/applications/networking/cluster/mesos/mesos-deps.nix index f8d5dd2c9d6f..1edb4a755d89 100644 --- a/pkgs/applications/networking/cluster/mesos/mesos-deps.nix +++ b/pkgs/applications/networking/cluster/mesos/mesos-deps.nix @@ -6,13 +6,9 @@ stdenv.mkDerivation { outputHashAlgo = "sha256"; outputHashMode = "recursive"; - outputHash = "12c6z5yvp60v57f6nijifp14i56bb5614hac1qg528s9liaf8vml"; + outputHash = "066ikswavq3l37x1s3pfdncyj77pvpa0kj14ax5dqb9njmsg0s11"; buildInputs = [ curl ]; - # We borrow these environment variables from the caller to allow - # easy proxy configuration. This is impure, but a fixed-output - # derivation like fetchurl is allowed to do so since its result is - # by definition pure. - impureEnvVars = ["http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy"]; + impureEnvVars = stdenv.lib.fetchers.proxyImpureEnvVars; } diff --git a/pkgs/applications/networking/cluster/mesos/nixos.patch b/pkgs/applications/networking/cluster/mesos/nixos.patch new file mode 100644 index 000000000000..032357e452db --- /dev/null +++ b/pkgs/applications/networking/cluster/mesos/nixos.patch @@ -0,0 +1,463 @@ +diff --git a/3rdparty/stout/include/stout/os/posix/fork.hpp b/3rdparty/stout/include/stout/os/posix/fork.hpp +index a29967d..290b98b 100644 +--- a/3rdparty/stout/include/stout/os/posix/fork.hpp ++++ b/3rdparty/stout/include/stout/os/posix/fork.hpp +@@ -369,7 +369,7 @@ private: + if (exec.isSome()) { + // Execute the command (via '/bin/sh -c command'). + const char* command = exec.get().command.c_str(); +- execlp("sh", "sh", "-c", command, (char*) nullptr); ++ execlp("@sh@", "sh", "-c", command, (char*) nullptr); + EXIT(EXIT_FAILURE) + << "Failed to execute '" << command << "': " << os::strerror(errno); + } else if (wait.isSome()) { +diff --git a/3rdparty/stout/include/stout/os/posix/shell.hpp b/3rdparty/stout/include/stout/os/posix/shell.hpp +index 1d73ae5..9bf89b5 100644 +--- a/3rdparty/stout/include/stout/os/posix/shell.hpp ++++ b/3rdparty/stout/include/stout/os/posix/shell.hpp +@@ -37,7 +37,7 @@ namespace Shell { + // received by the callee, usually the command name and `arg1` is the + // second command argument received by the callee. + +-constexpr const char* name = "sh"; ++constexpr const char* name = "@sh@"; + constexpr const char* arg0 = "sh"; + constexpr const char* arg1 = "-c"; + +diff --git a/src/Makefile.am b/src/Makefile.am +index 28dd151..36fc6ec 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -1528,7 +1528,8 @@ if HAS_JAVA + + $(MESOS_JAR): $(MESOS_JAR_SOURCE) $(MESOS_JAR_GENERATED) java/mesos.pom + @echo "Building mesos-$(PACKAGE_VERSION).jar ..." +- @cd $(abs_top_builddir)/src/java && $(MVN) -B -f mesos.pom clean package ++ @cd $(abs_top_builddir)/src/java && $(MVN) -B -f mesos.pom -Dmaven.repo.local=@mavenRepo@ clean package ++ + + # Convenience library for JNI bindings. + # TODO(Charles Reiss): We really should be building the Java library +diff --git a/src/cli/mesos-scp b/src/cli/mesos-scp +index a71ab07..feed8c4 100755 +--- a/src/cli/mesos-scp ++++ b/src/cli/mesos-scp +@@ -19,7 +19,7 @@ if sys.version_info < (2,6,0): + + + def scp(host, src, dst): +- cmd = 'scp -pr %s %s' % (src, host + ':' + dst) ++ cmd = '@scp@ -pr %s %s' % (src, host + ':' + dst) + try: + process = subprocess.Popen( + cmd, +diff --git a/src/launcher/fetcher.cpp b/src/launcher/fetcher.cpp +index 4456c28..e22c8fc 100644 +--- a/src/launcher/fetcher.cpp ++++ b/src/launcher/fetcher.cpp +@@ -68,13 +68,13 @@ static Try extract( + strings::endsWith(sourcePath, ".tar.bz2") || + strings::endsWith(sourcePath, ".txz") || + strings::endsWith(sourcePath, ".tar.xz")) { +- command = "tar -C '" + destinationDirectory + "' -xf"; ++ command = "@tar@ -C '" + destinationDirectory + "' -xf"; + } else if (strings::endsWith(sourcePath, ".gz")) { + string pathWithoutExtension = sourcePath.substr(0, sourcePath.length() - 3); + string filename = Path(pathWithoutExtension).basename(); +- command = "gzip -dc > '" + destinationDirectory + "/" + filename + "' <"; ++ command = "@gzip@ -dc > '" + destinationDirectory + "/" + filename + "' <"; + } else if (strings::endsWith(sourcePath, ".zip")) { +- command = "unzip -o -d '" + destinationDirectory + "'"; ++ command = "@unzip@ -o -d '" + destinationDirectory + "'"; + } else { + return false; + } +@@ -162,7 +162,7 @@ static Try copyFile( + const string& sourcePath, + const string& destinationPath) + { +- const string command = "cp '" + sourcePath + "' '" + destinationPath + "'"; ++ const string command = "@cp@ '" + sourcePath + "' '" + destinationPath + "'"; + + LOG(INFO) << "Copying resource with command:" << command; + +diff --git a/src/linux/perf.cpp b/src/linux/perf.cpp +index ea823b3..170f54d 100644 +--- a/src/linux/perf.cpp ++++ b/src/linux/perf.cpp +@@ -125,7 +125,7 @@ private: + // NOTE: The watchdog process places perf in its own process group + // and will kill the perf process when the parent dies. + Try _perf = subprocess( +- "perf", ++ "@perf@", + argv, + Subprocess::PIPE(), + Subprocess::PIPE(), +@@ -319,7 +319,7 @@ bool valid(const set& events) + ostringstream command; + + // Log everything to stderr which is then redirected to /dev/null. +- command << "perf stat --log-fd 2"; ++ command << "@perf@ stat --log-fd 2"; + foreach (const string& event, events) { + command << " --event " << event; + } +diff --git a/src/linux/systemd.cpp b/src/linux/systemd.cpp +index 619aa27..c1cbfe4 100644 +--- a/src/linux/systemd.cpp ++++ b/src/linux/systemd.cpp +@@ -196,12 +196,19 @@ bool exists() + // This is static as the init system should not change while we are running. + static const bool exists = []() -> bool { + // (1) Test whether `/sbin/init` links to systemd. +- const Result realpath = os::realpath("/sbin/init"); +- if (realpath.isError() || realpath.isNone()) { +- LOG(WARNING) << "Failed to test /sbin/init for systemd environment: " +- << realpath.error(); +- +- return false; ++ // cstrahan: first assume we're on NixOS, then try non-NixOS ++ Result realpath = os::realpath("/run/current-system/systemd/lib/systemd/systemd"); ++ Result realpathNixOS = realpath; ++ if (realpathNixOS.isError() || realpathNixOS.isNone()) { ++ Result realpathNonNixOS = realpath = os::realpath("/sbin/init"); ++ if (realpathNonNixOS.isError() || realpathNonNixOS.isNone()) { ++ LOG(WARNING) << "Failed to test /run/current-system/systemd/lib/systemd/systemd for systemd environment: " ++ << realpathNixOS.error(); ++ LOG(WARNING) << "Failed to test /sbin/init for systemd environment: " ++ << realpathNonNixOS.error(); ++ ++ return false; ++ } + } + + CHECK_SOME(realpath); +diff --git a/src/python/cli/src/mesos/cli.py b/src/python/cli/src/mesos/cli.py +index f342992..354abf4 100644 +--- a/src/python/cli/src/mesos/cli.py ++++ b/src/python/cli/src/mesos/cli.py +@@ -40,7 +40,7 @@ def resolve(master): + import subprocess + + process = subprocess.Popen( +- ['mesos-resolve', master], ++ ['@mesos-resolve@', master], + stdin=None, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, +diff --git a/src/slave/containerizer/mesos/isolators/filesystem/shared.cpp b/src/slave/containerizer/mesos/isolators/filesystem/shared.cpp +index 51d1518..783adb5 100644 +--- a/src/slave/containerizer/mesos/isolators/filesystem/shared.cpp ++++ b/src/slave/containerizer/mesos/isolators/filesystem/shared.cpp +@@ -204,7 +204,7 @@ Future> SharedFilesystemIsolatorProcess::prepare( + } + + launchInfo.add_pre_exec_commands()->set_value( +- "mount -n --bind " + hostPath + " " + volume.container_path()); ++ "@mount@ -n --bind " + hostPath + " " + volume.container_path()); + } + + return launchInfo; +diff --git a/src/slave/containerizer/mesos/isolators/namespaces/pid.cpp b/src/slave/containerizer/mesos/isolators/namespaces/pid.cpp +index b41e266..e07c163 100644 +--- a/src/slave/containerizer/mesos/isolators/namespaces/pid.cpp ++++ b/src/slave/containerizer/mesos/isolators/namespaces/pid.cpp +@@ -163,7 +163,7 @@ Future> NamespacesPidIsolatorProcess::prepare( + // containers cannot see the namespace bind mount of other + // containers. + launchInfo.add_pre_exec_commands()->set_value( +- "mount -n --bind " + string(PID_NS_BIND_MOUNT_MASK_DIR) + ++ "@mount@ -n --bind " + string(PID_NS_BIND_MOUNT_MASK_DIR) + + " " + string(PID_NS_BIND_MOUNT_ROOT)); + + // Mount /proc for the container's pid namespace to show the +@@ -176,9 +176,9 @@ Future> NamespacesPidIsolatorProcess::prepare( + // -n flag so the mount is not added to the mtab where it will not + // be correctly removed with the namespace terminates. + launchInfo.add_pre_exec_commands()->set_value( +- "mount none /proc --make-private -o rec"); ++ "@mount@ none /proc --make-private -o rec"); + launchInfo.add_pre_exec_commands()->set_value( +- "mount -n -t proc proc /proc -o nosuid,noexec,nodev"); ++ "@mount@ -n -t proc proc /proc -o nosuid,noexec,nodev"); + + return launchInfo; + } +diff --git a/src/slave/containerizer/mesos/isolators/network/port_mapping.cpp b/src/slave/containerizer/mesos/isolators/network/port_mapping.cpp +index 79ee960..d55a353 100644 +--- a/src/slave/containerizer/mesos/isolators/network/port_mapping.cpp ++++ b/src/slave/containerizer/mesos/isolators/network/port_mapping.cpp +@@ -1392,19 +1392,19 @@ Try PortMappingIsolatorProcess::create(const Flags& flags) + // Check the availability of a few Linux commands that we will use. + // We use the blocking os::shell here because 'create' will only be + // invoked during initialization. +- Try checkCommandTc = os::shell("tc filter show"); ++ Try checkCommandTc = os::shell("@tc@ filter show"); + if (checkCommandTc.isError()) { + return Error("Check command 'tc' failed: " + checkCommandTc.error()); + } + + // NOTE: loopback device always exists. +- Try checkCommandEthtool = os::shell("ethtool -k lo"); ++ Try checkCommandEthtool = os::shell("@ethtool@ -k lo"); + if (checkCommandEthtool.isError()) { + return Error("Check command 'ethtool' failed: " + + checkCommandEthtool.error()); + } + +- Try checkCommandIp = os::shell("ip link show"); ++ Try checkCommandIp = os::shell("@ip@ link show"); + if (checkCommandIp.isError()) { + return Error("Check command 'ip' failed: " + checkCommandIp.error()); + } +@@ -1924,9 +1924,9 @@ Try PortMappingIsolatorProcess::create(const Flags& flags) + // visible. It's OK to use the blocking os::shell here because + // 'create' will only be invoked during initialization. + Try mount = os::shell( +- "mount --bind %s %s && " +- "mount --make-slave %s && " +- "mount --make-shared %s", ++ "@mount@ --bind %s %s && " ++ "@mount@ --make-slave %s && " ++ "@mount@ --make-shared %s", + bindMountRoot->c_str(), + bindMountRoot->c_str(), + bindMountRoot->c_str(), +@@ -1943,8 +1943,8 @@ Try PortMappingIsolatorProcess::create(const Flags& flags) + // shared mount yet (possibly due to slave crash while preparing + // the work directory mount). It's safe to re-do the following. + Try mount = os::shell( +- "mount --make-slave %s && " +- "mount --make-shared %s", ++ "@mount@ --make-slave %s && " ++ "@mount@ --make-shared %s", + bindMountRoot->c_str(), + bindMountRoot->c_str()); + +@@ -1963,8 +1963,8 @@ Try PortMappingIsolatorProcess::create(const Flags& flags) + // so that they are in different peer groups. + if (entry.shared() == bindMountEntry->shared()) { + Try mount = os::shell( +- "mount --make-slave %s && " +- "mount --make-shared %s", ++ "@mount@ --make-slave %s && " ++ "@mount@ --make-shared %s", + bindMountRoot->c_str(), + bindMountRoot->c_str()); + +@@ -3916,13 +3916,13 @@ string PortMappingIsolatorProcess::scripts(Info* info) + { + ostringstream script; + +- script << "#!/bin/sh\n"; ++ script << "#!@sh@\n"; + script << "set -xe\n"; + + // Mark the mount point PORT_MAPPING_BIND_MOUNT_ROOT() as slave + // mount so that changes in the container will not be propagated to + // the host. +- script << "mount --make-rslave " << bindMountRoot << "\n"; ++ script << "@mount@ --make-rslave " << bindMountRoot << "\n"; + + // Disable IPv6 when IPv6 module is loaded as IPv6 packets won't be + // forwarded anyway. +@@ -3930,7 +3930,7 @@ string PortMappingIsolatorProcess::scripts(Info* info) + << " echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6\n"; + + // Configure lo and eth0. +- script << "ip link set " << lo << " address " << hostMAC ++ script << "@ip@ link set " << lo << " address " << hostMAC + << " mtu " << hostEth0MTU << " up\n"; + + // NOTE: This is mostly a kernel issue: in veth_xmit() the kernel +@@ -3939,12 +3939,12 @@ string PortMappingIsolatorProcess::scripts(Info* info) + // when we receive a packet with a bad checksum. Disabling rx + // checksum offloading ensures the TCP layer will checksum and drop + // it. +- script << "ethtool -K " << eth0 << " rx off\n"; +- script << "ip link set " << eth0 << " address " << hostMAC << " up\n"; +- script << "ip addr add " << hostIPNetwork << " dev " << eth0 << "\n"; ++ script << "@ethtool@ -K " << eth0 << " rx off\n"; ++ script << "@ip@ link set " << eth0 << " address " << hostMAC << " up\n"; ++ script << "@ip@ addr add " << hostIPNetwork << " dev " << eth0 << "\n"; + + // Set up the default gateway to match that of eth0. +- script << "ip route add default via " << hostDefaultGateway << "\n"; ++ script << "@ip@ route add default via " << hostDefaultGateway << "\n"; + + // Restrict the ephemeral ports that can be used by the container. + script << "echo " << info->ephemeralPorts.lower() << " " +@@ -3973,19 +3973,19 @@ string PortMappingIsolatorProcess::scripts(Info* info) + } + + // Set up filters on lo and eth0. +- script << "tc qdisc add dev " << lo << " ingress\n"; +- script << "tc qdisc add dev " << eth0 << " ingress\n"; ++ script << "@tc@ qdisc add dev " << lo << " ingress\n"; ++ script << "@tc@ qdisc add dev " << eth0 << " ingress\n"; + + // Allow talking between containers and from container to host. + // TODO(chzhcn): Consider merging the following two filters. +- script << "tc filter add dev " << lo << " parent " << ingress::HANDLE ++ script << "@tc@ filter add dev " << lo << " parent " << ingress::HANDLE + << " protocol ip" + << " prio " << Priority(IP_FILTER_PRIORITY, NORMAL).get() << " u32" + << " flowid ffff:0" + << " match ip dst " << hostIPNetwork.address() + << " action mirred egress redirect dev " << eth0 << "\n"; + +- script << "tc filter add dev " << lo << " parent " << ingress::HANDLE ++ script << "@tc@ filter add dev " << lo << " parent " << ingress::HANDLE + << " protocol ip" + << " prio " << Priority(IP_FILTER_PRIORITY, NORMAL).get() << " u32" + << " flowid ffff:0" +@@ -3996,7 +3996,7 @@ string PortMappingIsolatorProcess::scripts(Info* info) + foreach (const PortRange& range, + getPortRanges(info->nonEphemeralPorts + info->ephemeralPorts)) { + // Local traffic inside a container will not be redirected to eth0. +- script << "tc filter add dev " << lo << " parent " << ingress::HANDLE ++ script << "@tc@ filter add dev " << lo << " parent " << ingress::HANDLE + << " protocol ip" + << " prio " << Priority(IP_FILTER_PRIORITY, HIGH).get() << " u32" + << " flowid ffff:0" +@@ -4005,7 +4005,7 @@ string PortMappingIsolatorProcess::scripts(Info* info) + + // Traffic going to host loopback IP and ports assigned to this + // container will be redirected to lo. +- script << "tc filter add dev " << eth0 << " parent " << ingress::HANDLE ++ script << "@tc@ filter add dev " << eth0 << " parent " << ingress::HANDLE + << " protocol ip" + << " prio " << Priority(IP_FILTER_PRIORITY, NORMAL).get() << " u32" + << " flowid ffff:0" +@@ -4017,14 +4017,14 @@ string PortMappingIsolatorProcess::scripts(Info* info) + } + + // Do not forward the ICMP packet if the destination IP is self. +- script << "tc filter add dev " << lo << " parent " << ingress::HANDLE ++ script << "@tc@ filter add dev " << lo << " parent " << ingress::HANDLE + << " protocol ip" + << " prio " << Priority(ICMP_FILTER_PRIORITY, NORMAL).get() << " u32" + << " flowid ffff:0" + << " match ip protocol 1 0xff" + << " match ip dst " << hostIPNetwork.address() << "\n"; + +- script << "tc filter add dev " << lo << " parent " << ingress::HANDLE ++ script << "@tc@ filter add dev " << lo << " parent " << ingress::HANDLE + << " protocol ip" + << " prio " << Priority(ICMP_FILTER_PRIORITY, NORMAL).get() << " u32" + << " flowid ffff:0" +@@ -4033,9 +4033,9 @@ string PortMappingIsolatorProcess::scripts(Info* info) + << net::IPNetwork::LOOPBACK_V4().address() << "\n"; + + // Display the filters created on eth0 and lo. +- script << "tc filter show dev " << eth0 ++ script << "@tc@ filter show dev " << eth0 + << " parent " << ingress::HANDLE << "\n"; +- script << "tc filter show dev " << lo ++ script << "@tc@ filter show dev " << lo + << " parent " << ingress::HANDLE << "\n"; + + // If throughput limit for container egress traffic exists, use HTB +@@ -4047,9 +4047,9 @@ string PortMappingIsolatorProcess::scripts(Info* info) + // throughput. TBF requires other parameters such as 'burst' that + // HTB already has default values for. + if (egressRateLimitPerContainer.isSome()) { +- script << "tc qdisc add dev " << eth0 << " root handle " ++ script << "@tc@ qdisc add dev " << eth0 << " root handle " + << CONTAINER_TX_HTB_HANDLE << " htb default 1\n"; +- script << "tc class add dev " << eth0 << " parent " ++ script << "@tc@ class add dev " << eth0 << " parent " + << CONTAINER_TX_HTB_HANDLE << " classid " + << CONTAINER_TX_HTB_CLASS_ID << " htb rate " + << egressRateLimitPerContainer.get().bytes() * 8 << "bit\n"; +@@ -4060,12 +4060,12 @@ string PortMappingIsolatorProcess::scripts(Info* info) + // fq_codel, which has a larger buffer and better control on + // buffer bloat. + // TODO(cwang): Verity that fq_codel qdisc is available. +- script << "tc qdisc add dev " << eth0 ++ script << "@tC@ qdisc add dev " << eth0 + << " parent " << CONTAINER_TX_HTB_CLASS_ID << " fq_codel\n"; + + // Display the htb qdisc and class created on eth0. +- script << "tc qdisc show dev " << eth0 << "\n"; +- script << "tc class show dev " << eth0 << "\n"; ++ script << "@tc@ qdisc show dev " << eth0 << "\n"; ++ script << "@tc@ class show dev " << eth0 << "\n"; + } + + return script.str(); +diff --git a/src/slave/containerizer/mesos/isolators/posix/disk.cpp b/src/slave/containerizer/mesos/isolators/posix/disk.cpp +index 3dfe7ad..4288666 100644 +--- a/src/slave/containerizer/mesos/isolators/posix/disk.cpp ++++ b/src/slave/containerizer/mesos/isolators/posix/disk.cpp +@@ -492,7 +492,7 @@ private: + // NOTE: The monitor watchdog will watch the parent process and kill + // the 'du' process in case that the parent die. + Try s = subprocess( +- "du", ++ "@du@", + command, + Subprocess::PATH("/dev/null"), + Subprocess::PIPE(), +diff --git a/src/slave/containerizer/mesos/provisioner/backends/copy.cpp b/src/slave/containerizer/mesos/provisioner/backends/copy.cpp +index b9f6d7a..0fcf455 100644 +--- a/src/slave/containerizer/mesos/provisioner/backends/copy.cpp ++++ b/src/slave/containerizer/mesos/provisioner/backends/copy.cpp +@@ -141,7 +141,7 @@ Future CopyBackendProcess::_provision( + #endif // __APPLE__ || __FreeBSD__ + + Try s = subprocess( +- "cp", ++ "@cp@", + args, + Subprocess::PATH("/dev/null"), + Subprocess::PATH("/dev/null"), +diff --git a/src/uri/fetchers/copy.cpp b/src/uri/fetchers/copy.cpp +index f095ad6..ee0c2a7 100644 +--- a/src/uri/fetchers/copy.cpp ++++ b/src/uri/fetchers/copy.cpp +@@ -88,7 +88,7 @@ Future CopyFetcherPlugin::fetch( + const vector argv = {"cp", "-a", uri.path(), directory}; + + Try s = subprocess( +- "cp", ++ "@cp@", + argv, + Subprocess::PATH("/dev/null"), + Subprocess::PIPE(), +diff --git a/src/uri/fetchers/curl.cpp b/src/uri/fetchers/curl.cpp +index cc3f9ee..691d2d9 100644 +--- a/src/uri/fetchers/curl.cpp ++++ b/src/uri/fetchers/curl.cpp +@@ -98,7 +98,7 @@ Future CurlFetcherPlugin::fetch( + }; + + Try s = subprocess( +- "curl", ++ "@curl@", + argv, + Subprocess::PATH("/dev/null"), + Subprocess::PIPE(), +diff --git a/src/uri/fetchers/docker.cpp b/src/uri/fetchers/docker.cpp +index 211be6f..d7e3771 100644 +--- a/src/uri/fetchers/docker.cpp ++++ b/src/uri/fetchers/docker.cpp +@@ -113,7 +113,7 @@ static Future curl( + + // TODO(jieyu): Kill the process if discard is called. + Try s = subprocess( +- "curl", ++ "@curl@", + argv, + Subprocess::PATH("/dev/null"), + Subprocess::PIPE(), +@@ -212,7 +212,7 @@ static Future download( + + // TODO(jieyu): Kill the process if discard is called. + Try s = subprocess( +- "curl", ++ "@curl@", + argv, + Subprocess::PATH("/dev/null"), + Subprocess::PIPE(), diff --git a/pkgs/applications/networking/cluster/mesos/rb51324.patch b/pkgs/applications/networking/cluster/mesos/rb51324.patch new file mode 100644 index 000000000000..68ef866161fe --- /dev/null +++ b/pkgs/applications/networking/cluster/mesos/rb51324.patch @@ -0,0 +1,71 @@ +diff --git a/3rdparty/stout/include/stout/os/ls.hpp b/3rdparty/stout/include/stout/os/ls.hpp +index f8da9ef..6d549d3 100644 +--- a/3rdparty/stout/include/stout/os/ls.hpp ++++ b/3rdparty/stout/include/stout/os/ls.hpp +@@ -18,6 +18,7 @@ + #else + #include + #endif // __WINDOWS__ ++ + #include + + #include +@@ -26,8 +27,6 @@ + #include + #include + +-#include +- + + namespace os { + +@@ -36,36 +35,32 @@ inline Try> ls(const std::string& directory) + DIR* dir = opendir(directory.c_str()); + + if (dir == nullptr) { +- // Preserve `opendir` error. + return ErrnoError("Failed to opendir '" + directory + "'"); + } + +- dirent* temp = (dirent*) malloc(os::dirent_size(dir)); +- +- if (temp == nullptr) { +- // Preserve `malloc` error. +- ErrnoError error("Failed to allocate directory entries"); +- closedir(dir); +- return error; +- } +- + std::list result; + struct dirent* entry; +- int error; + +- while ((error = readdir_r(dir, temp, &entry)) == 0 && entry != nullptr) { ++ // Zero `errno` before starting to call `readdir`. This is necessary ++ // to allow us to determine when `readdir` returns an error. ++ errno = 0; ++ ++ while ((entry = readdir(dir)) != NULL) { + if (strcmp(entry->d_name, ".") == 0 || strcmp(entry->d_name, "..") == 0) { + continue; + } + result.push_back(entry->d_name); + } + +- free(temp); +- closedir(dir); ++ if (errno != 0) { ++ // Preserve `readdir` error. ++ Error error = ErrnoError("Failed to read directory"); ++ closedir(dir); ++ return error; ++ } + +- if (error != 0) { +- // Preserve `readdir_r` error. +- return ErrnoError("Failed to read directories"); ++ if (closedir(dir) == -1) { ++ return ErrnoError("Failed to close directory"); + } + + return result; diff --git a/pkgs/applications/networking/cluster/mesos/rb51325.patch b/pkgs/applications/networking/cluster/mesos/rb51325.patch new file mode 100644 index 000000000000..5c5ce00730bb --- /dev/null +++ b/pkgs/applications/networking/cluster/mesos/rb51325.patch @@ -0,0 +1,157 @@ +diff --git a/3rdparty/stout/include/Makefile.am b/3rdparty/stout/include/Makefile.am +index 1f2ee85..b0b08d8 100644 +--- a/3rdparty/stout/include/Makefile.am ++++ b/3rdparty/stout/include/Makefile.am +@@ -64,7 +64,6 @@ nobase_include_HEADERS = \ + stout/os/chroot.hpp \ + stout/os/close.hpp \ + stout/os/constants.hpp \ +- stout/os/direntsize.hpp \ + stout/os/environment.hpp \ + stout/os/exists.hpp \ + stout/os/fcntl.hpp \ +@@ -108,7 +107,6 @@ nobase_include_HEADERS = \ + stout/os/posix/chown.hpp \ + stout/os/posix/chroot.hpp \ + stout/os/posix/close.hpp \ +- stout/os/posix/direntsize.hpp \ + stout/os/posix/exists.hpp \ + stout/os/posix/fcntl.hpp \ + stout/os/posix/fork.hpp \ +@@ -134,7 +132,6 @@ nobase_include_HEADERS = \ + stout/os/windows/bootid.hpp \ + stout/os/windows/chroot.hpp \ + stout/os/windows/close.hpp \ +- stout/os/windows/direntsize.hpp \ + stout/os/windows/exists.hpp \ + stout/os/windows/fcntl.hpp \ + stout/os/windows/fork.hpp \ +diff --git a/3rdparty/stout/include/stout/os/direntsize.hpp b/3rdparty/stout/include/stout/os/direntsize.hpp +deleted file mode 100644 +index 819f99a..0000000 +--- a/3rdparty/stout/include/stout/os/direntsize.hpp ++++ /dev/null +@@ -1,26 +0,0 @@ +-// Licensed under the Apache License, Version 2.0 (the "License"); +-// you may not use this file except in compliance with the License. +-// You may obtain a copy of the License at +-// +-// http://www.apache.org/licenses/LICENSE-2.0 +-// +-// Unless required by applicable law or agreed to in writing, software +-// distributed under the License is distributed on an "AS IS" BASIS, +-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-// See the License for the specific language governing permissions and +-// limitations under the License. +- +-#ifndef __STOUT_OS_DIRENTSIZE_HPP__ +-#define __STOUT_OS_DIRENTSIZE_HPP__ +- +- +-// For readability, we minimize the number of #ifdef blocks in the code by +-// splitting platform specifc system calls into separate directories. +-#ifdef __WINDOWS__ +-#include +-#else +-#include +-#endif // __WINDOWS__ +- +- +-#endif // __STOUT_OS_DIRENTSIZE_HPP__ +diff --git a/3rdparty/stout/include/stout/os/posix/direntsize.hpp b/3rdparty/stout/include/stout/os/posix/direntsize.hpp +deleted file mode 100644 +index 9d8f72e..0000000 +--- a/3rdparty/stout/include/stout/os/posix/direntsize.hpp ++++ /dev/null +@@ -1,42 +0,0 @@ +-// Licensed under the Apache License, Version 2.0 (the "License"); +-// you may not use this file except in compliance with the License. +-// You may obtain a copy of the License at +-// +-// http://www.apache.org/licenses/LICENSE-2.0 +-// +-// Unless required by applicable law or agreed to in writing, software +-// distributed under the License is distributed on an "AS IS" BASIS, +-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-// See the License for the specific language governing permissions and +-// limitations under the License. +- +-#ifndef __STOUT_OS_POSIX_DIRENTSIZE_HPP__ +-#define __STOUT_OS_POSIX_DIRENTSIZE_HPP__ +- +-#include +-#include +- +- +-namespace os { +- +-inline size_t dirent_size(DIR* dir) +-{ +- // Calculate the size for a "directory entry". +- long name_max = fpathconf(dirfd(dir), _PC_NAME_MAX); +- +- // If we don't get a valid size, check NAME_MAX, but fall back on +- // 255 in the worst case ... Danger, Will Robinson! +- if (name_max == -1) { +- name_max = (NAME_MAX > 255) ? NAME_MAX : 255; +- } +- +- size_t name_end = (size_t) offsetof(dirent, d_name) + name_max + 1; +- +- size_t size = (name_end > sizeof(dirent) ? name_end : sizeof(dirent)); +- +- return size; +-} +- +-} // namespace os { +- +-#endif // __STOUT_OS_POSIX_DIRENTSIZE_HPP__ +diff --git a/3rdparty/stout/include/stout/os/windows/direntsize.hpp b/3rdparty/stout/include/stout/os/windows/direntsize.hpp +deleted file mode 100644 +index 7c8c7a0..0000000 +--- a/3rdparty/stout/include/stout/os/windows/direntsize.hpp ++++ /dev/null +@@ -1,43 +0,0 @@ +-// Licensed under the Apache License, Version 2.0 (the "License"); +-// you may not use this file except in compliance with the License. +-// You may obtain a copy of the License at +-// +-// http://www.apache.org/licenses/LICENSE-2.0 +-// +-// Unless required by applicable law or agreed to in writing, software +-// distributed under the License is distributed on an "AS IS" BASIS, +-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-// See the License for the specific language governing permissions and +-// limitations under the License. +- +-#ifndef __STOUT_OS_WINDOWS_DIRENTSIZE_HPP__ +-#define __STOUT_OS_WINDOWS_DIRENTSIZE_HPP__ +- +-#include +- +-#include +- +- +-namespace os { +- +-inline size_t dirent_size(DIR* dir) +-{ +- // NOTE: Size calculation logic here is much simpler than on POSIX because +- // our implementation of `dirent` is constant-sized. In particular, on POSIX, +- // we usually have to calculate the maximum name size for a path before we +- // can alloc a correctly-size `dirent`, but on Windows, `dirent.d_name` is +- // always `MAX_PATH` bytes in size. +- // +- // This follows closely from the Windows standard API data structures for +- // manipulating and querying directories. For example, the structures +- // `WIN32_FIND_DATA`[1] (which in many ways is the Windows equivalent of +- // `dirent`) has a field `cFileName` (which is much like `d_name`) that is +- // also `MAX_PATH` in size. +- // +- // [1] https://msdn.microsoft.com/en-us/library/windows/desktop/aa365740(v=vs.85).aspx +- return sizeof(dirent); +-} +- +-} // namespace os { +- +-#endif // __STOUT_OS_WINDOWS_DIRENTSIZE_HPP__ diff --git a/pkgs/applications/networking/cluster/minikube/default.nix b/pkgs/applications/networking/cluster/minikube/default.nix new file mode 100644 index 000000000000..2fe9db267655 --- /dev/null +++ b/pkgs/applications/networking/cluster/minikube/default.nix @@ -0,0 +1,45 @@ +{ stdenv, fetchurl, kubernetes }: +let + arch = if stdenv.isLinux + then "linux-amd64" + else "darwin-amd64"; + checksum = if stdenv.isLinux + then "17r8w4lvj7fhh7qppi9z5i2fpqqry4s61zjr9zmsbybc5flnsw2j" + else "0jf0kd1mm35qcf0ydr5yyzfq6qi8ifxchvpjsydb1gm1kikp5g3p"; +in +stdenv.mkDerivation rec { + pname = "minikube"; + version = "0.13.1"; + name = "${pname}-${version}"; + + src = fetchurl { + url = "https://storage.googleapis.com/minikube/releases/v${version}/minikube-${arch}"; + sha256 = "${checksum}"; + }; + + buildInputs = [ ]; + + propagatedBuildInputs = [ kubernetes ]; + + phases = [ "buildPhase" "installPhase" ]; + + buildPhase = '' + mkdir -p $out/bin + ''; + + installPhase = '' + cp $src $out/bin/${pname} + chmod +x $out/bin/${pname} + + mkdir -p $out/share/bash-completion/completions/ + HOME=$(pwd) $out/bin/minikube completion bash > $out/share/bash-completion/completions/minikube + ''; + + meta = with stdenv.lib; { + homepage = https://github.com/kubernetes/minikube; + description = "A tool that makes it easy to run Kubernetes locally"; + license = licenses.asl20; + maintainers = [ maintainers.ebzzry ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/pkgs/applications/networking/cluster/nomad/default.nix b/pkgs/applications/networking/cluster/nomad/default.nix index 4ca54811ce8b..fdb8e09d6a53 100644 --- a/pkgs/applications/networking/cluster/nomad/default.nix +++ b/pkgs/applications/networking/cluster/nomad/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { name = "nomad-${version}"; - version = "0.4.0"; + version = "0.4.1"; rev = "v${version}"; goPackagePath = "github.com/hashicorp/nomad"; @@ -12,7 +12,7 @@ buildGoPackage rec { owner = "hashicorp"; repo = "nomad"; inherit rev; - sha256 = "0c6qrprb33fb3y4d1xn3df0nvh0hsnqccq6xaab0jb40cbz3048p"; + sha256 = "093nljhibphhccjwxkylbvlc8dh8g2js36mlxxdh9nh21b3mghcs"; }; meta = with stdenv.lib; { diff --git a/pkgs/applications/networking/cluster/openshift/default.nix b/pkgs/applications/networking/cluster/openshift/default.nix index c82d671a5232..403457bb4a61 100644 --- a/pkgs/applications/networking/cluster/openshift/default.nix +++ b/pkgs/applications/networking/cluster/openshift/default.nix @@ -1,32 +1,51 @@ -{ stdenv, fetchgit, go, git, which }: +{ stdenv, fetchFromGitHub, go, which }: +let + version = "1.3.2"; + ver = stdenv.lib.elemAt (stdenv.lib.splitString "." version); + versionMajor = ver 0; + versionMinor = ver 1; + versionPatch = ver 2; +in stdenv.mkDerivation rec { name = "openshift-origin-${version}"; - version = "1.0.1"; + inherit version; - src = fetchgit { - url = https://github.com/openshift/origin.git; - rev = "1b601951daa44964c9bc7e4a2264d65489e3a58c"; - sha256 = "0hvipgnkpph81jx6h6bar49j5zkrxzi6h71b4y75c0l7af129wdi"; - leaveDotGit = true; - deepClone = true; + src = fetchFromGitHub { + owner = "openshift"; + repo = "origin"; + rev = "v${version}"; + sha256 = "0zw8zb9c6icigcq6y47ppnjnqyghk2kril07bapbddvgnvbbfp6m"; }; - buildInputs = [ go git which ]; + buildInputs = [ go which ]; - buildPhase = "hack/build-go.sh"; + patchPhase = '' + patchShebangs ./hack + ''; + + buildPhase = '' + export GOPATH=$(pwd) + # Openshift build require this variables to be set + # unless there is a .git folder which is not the case with fetchFromGitHub + export OS_GIT_VERSION=${version} + export OS_GIT_MAJOR=${versionMajor} + export OS_GIT_MINOR=${versionMinor} + make build + ''; installPhase = '' + export GOOS=$(go env GOOS) + export GOARCH=$(go env GOARCH) mkdir -p "$out/bin" - cp _output/local/go/bin/* "$out/bin/" + mv _output/local/bin/$GOOS/$GOARCH/* "$out/bin/" ''; meta = with stdenv.lib; { description = "Build, deploy, and manage your applications with Docker and Kubernetes"; license = licenses.asl20; homepage = http://www.openshift.org; - maintainers = with maintainers; [offline]; - platforms = [ "x86_64-linux" ]; - broken = true; + maintainers = with maintainers; [offline bachp]; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/networking/cluster/pachyderm/default.nix b/pkgs/applications/networking/cluster/pachyderm/default.nix new file mode 100644 index 000000000000..a0df23e6f623 --- /dev/null +++ b/pkgs/applications/networking/cluster/pachyderm/default.nix @@ -0,0 +1,24 @@ +{ lib, fetchFromGitHub, buildGoPackage }: + +buildGoPackage rec { + name = "pachyderm-${version}"; + version = "1.3.0"; + rev = "v${version}"; + + goPackagePath = "github.com/pachyderm/pachyderm"; + subPackages = [ "src/server/cmd/pachctl" ]; + + src = fetchFromGitHub { + inherit rev; + owner = "pachyderm"; + repo = "pachyderm"; + sha256 = "0y25xh6h7p8hg0bzrjlschmz62r6dwh5mrvbnni1hb1pm0w9jb6g"; + }; + + meta = with lib; { + description = "Containerized Data Analytics"; + homepage = https://github.com/pachyderm/pachyderm; + license = licenses.asl20; + maintainers = with maintainers; [offline]; + }; +} diff --git a/pkgs/applications/networking/cluster/spark/default.nix b/pkgs/applications/networking/cluster/spark/default.nix index 79074d2d28e6..b4c20e22680b 100644 --- a/pkgs/applications/networking/cluster/spark/default.nix +++ b/pkgs/applications/networking/cluster/spark/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { }; buildInputs = [ makeWrapper jre pythonPackages.python pythonPackages.numpy ] - ++ optional mesosSupport [ mesos ]; + ++ optional mesosSupport mesos; untarDir = "${name}-bin-cdh4"; installPhase = '' diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix index d66209a6d204..d436aa99d4b2 100644 --- a/pkgs/applications/networking/cluster/terraform/default.nix +++ b/pkgs/applications/networking/cluster/terraform/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { name = "terraform-${version}"; - version = "0.7.1"; + version = "0.8.2"; rev = "v${version}"; goPackagePath = "github.com/hashicorp/terraform"; @@ -11,7 +11,7 @@ buildGoPackage rec { inherit rev; owner = "hashicorp"; repo = "terraform"; - sha256 = "1nvz4nqkn8pl25zyw7x5079dbzmwdxsar9gbcjk1srfpa746j1y4"; + sha256 = "1645la750lqx2m57sbl6xg1cnqgwrfk5dhcw08wm4z7zxdnqys7b"; }; postInstall = '' @@ -27,5 +27,9 @@ buildGoPackage rec { description = "Tool for building, changing, and versioning infrastructure"; homepage = "https://www.terraform.io/"; license = licenses.mpl20; + maintainers = with maintainers; [ + jgeerds + zimbatm + ]; }; } diff --git a/pkgs/applications/networking/cluster/terragrunt/default.nix b/pkgs/applications/networking/cluster/terragrunt/default.nix new file mode 100644 index 000000000000..e4a267ec1b5f --- /dev/null +++ b/pkgs/applications/networking/cluster/terragrunt/default.nix @@ -0,0 +1,32 @@ +{ stdenv, lib, buildGoPackage, fetchFromGitHub, terraform, makeWrapper }: + +buildGoPackage rec { + name = "terragrunt-${version}"; + version = "0.8.0"; + rev = "v${version}"; + + goPackagePath = "github.com/gruntwork-io/terragrunt"; + + src = fetchFromGitHub { + inherit rev; + owner = "gruntwork-io"; + repo = "terragrunt"; + sha256 = "1d035p2r6d8c1crxvpi5ayb9jx6f2pdgzw2197zhllavyi8n8dw1"; + }; + + goDeps = ./deps.nix; + + buildInputs = [ makeWrapper terraform ]; + + postInstall = '' + wrapProgram $bin/bin/terragrunt \ + --suffix PATH : ${lib.makeBinPath [ terraform ]} + ''; + + meta = with stdenv.lib; { + description = "A thin wrapper for Terraform that supports locking for Terraform state and enforces best practices."; + homepage = https://github.com/gruntwork-io/terragrunt/; + license = licenses.mit; + maintainers = with maintainers; [ peterhoeg ]; + }; +} diff --git a/pkgs/applications/networking/cluster/terragrunt/deps.nix b/pkgs/applications/networking/cluster/terragrunt/deps.nix new file mode 100644 index 000000000000..ba1ac2b6a1ef --- /dev/null +++ b/pkgs/applications/networking/cluster/terragrunt/deps.nix @@ -0,0 +1,66 @@ +# This file was generated by go2nix. +[ + { + goPackagePath = "github.com/aws/aws-sdk-go"; + fetch = { + type = "git"; + url = "https://github.com/aws/aws-sdk-go"; + rev = "8649d278323ebf6bd20c9cd56ecb152b1c617375"; + sha256 = "0m2nxdlvi90vw68ds9qby291skc5d0dgqi3pkalr8ma3kd9r9khv"; + }; + } + { + goPackagePath = "github.com/go-errors/errors"; + fetch = { + type = "git"; + url = "https://github.com/go-errors/errors"; + rev = "8fa88b06e5974e97fbf9899a7f86a344bfd1f105"; + sha256 = "02mvb2clbmfcqb4yclv5zhs4clkk9jxi2hiawsynl5fwmgn0d3xa"; + }; + } + { + goPackagePath = "github.com/hashicorp/hcl"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/hcl"; + rev = "eb6f65b2d77ed5078887f960ff570fbddbbeb49d"; + sha256 = "1wx6hpxmq5sby54025j9hliz10gv5v0bq6q1z2cd0asznj154ij1"; + }; + } + { + goPackagePath = "github.com/mattn/go-zglob"; + fetch = { + type = "git"; + url = "https://github.com/mattn/go-zglob"; + rev = "0b24567ec079616e9897f635f542e3bf56abb3d0"; + sha256 = "0380dqsy0qdjranl5qfmmcr6a4g7sw4z26g1bld9y1s66madl03l"; + }; + } + { + goPackagePath = "github.com/mitchellh/mapstructure"; + fetch = { + type = "git"; + url = "https://github.com/mitchellh/mapstructure"; + rev = "bfdb1a85537d60bc7e954e600c250219ea497417"; + sha256 = "141kkh801jyp1r6hba14krydqg1iivp13j12is70j0g05z9fbji8"; + }; + } + { + goPackagePath = "github.com/stretchr/testify"; + fetch = { + type = "git"; + url = "https://github.com/stretchr/testify"; + rev = "2402e8e7a02fc811447d11f881aa9746cdc57983"; + sha256 = "01qaz781cvrv3h1428xqq8knf5ahdcj93m5k9dnivg2hcrlnqibj"; + }; + } + { + goPackagePath = "github.com/urfave/cli"; + fetch = { + type = "git"; + url = "https://github.com/urfave/cli"; + rev = "8ef3805c9de2519805c3f060524b695bba2cd715"; + sha256 = "0680rd87skmz8p8s3cwy55siz4bgjls314agfi03d7640gz7mp24"; + }; + } +] diff --git a/pkgs/applications/networking/corebird/default.nix b/pkgs/applications/networking/corebird/default.nix new file mode 100644 index 000000000000..3ceb9c4d8164 --- /dev/null +++ b/pkgs/applications/networking/corebird/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchFromGitHub, gtk3, json_glib, sqlite, libsoup, gettext, vala_0_32 +, automake, autoconf, libtool, pkgconfig, gnome3, gst_all_1, wrapGAppsHook }: + +stdenv.mkDerivation rec { + version = "1.3.3"; + name = "corebird-${version}"; + + src = fetchFromGitHub { + owner = "baedert"; + repo = "corebird"; + rev = version; + sha256 = "09k0jrhjqrmpvyz5pf1g7wkidflkhpvw5869a95vnhfxjd45kzs3"; + }; + + preConfigure = '' + ./autogen.sh + ''; + + nativeBuildInputs = [ automake autoconf libtool pkgconfig wrapGAppsHook ]; + + buildInputs = [ + gtk3 json_glib sqlite libsoup gettext vala_0_32 gnome3.rest + ] ++ (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-libav ]); + + meta = { + description = "Native Gtk+ Twitter client for the Linux desktop"; + longDescription = "Corebird is a modern, easy and fun Twitter client."; + homepage = http://corebird.baedert.org; + license = stdenv.lib.licenses.gpl3; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.jonafato ]; + }; +} diff --git a/pkgs/applications/networking/davmail/default.nix b/pkgs/applications/networking/davmail/default.nix index eb5d12ed82c7..bb4a4a710094 100644 --- a/pkgs/applications/networking/davmail/default.nix +++ b/pkgs/applications/networking/davmail/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, jre, glib, libXtst, gtk, makeWrapper }: +{ fetchurl, stdenv, jre, glib, libXtst, gtk2, makeWrapper }: stdenv.mkDerivation rec { name = "davmail-4.7.2"; @@ -20,6 +20,6 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p $out/bin cp ./* $out/bin/ -R - wrapProgram $out/bin/davmail.sh --prefix PATH : ${jre}/bin --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ glib gtk libXtst ]} + wrapProgram $out/bin/davmail.sh --prefix PATH : ${jre}/bin --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ glib gtk2 libXtst ]} ''; } diff --git a/pkgs/applications/networking/drive/default.nix b/pkgs/applications/networking/drive/default.nix index 3b64d7af43bb..826452016e73 100644 --- a/pkgs/applications/networking/drive/default.nix +++ b/pkgs/applications/networking/drive/default.nix @@ -1,18 +1,25 @@ -{ stdenv, lib, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn }: +{ stdenv, lib, buildGoPackage, fetchFromGitHub }: buildGoPackage rec { name = "drive-${version}"; - version = "20151025-${stdenv.lib.strings.substring 0 7 rev}"; - rev = "6dc2f1e83032ea3911fa6147b846ee93f18dc544"; + version = "0.3.8.1"; goPackagePath = "github.com/odeke-em/drive"; subPackages = [ "cmd/drive" ]; - src = fetchgit { - inherit rev; - url = "https://github.com/odeke-em/drive"; - sha256 = "07s4nhfcr6vznf1amvl3a4wq2hn9zq871rcppfi4i6zs7iw2ay1v"; + src = fetchFromGitHub { + owner = "odeke-em"; + repo = "drive"; + rev = "v${version}"; + sha256 = "1b9cgc148rg5irg4jas10zv9i2km75x1zin25hld340dmpjcpi82"; }; - goDeps = ./deps.json; + goDeps = ./deps.nix; + + meta = with lib; { + homepage = https://github.com/odeke-em/drive; + description = "Google Drive client for the commandline"; + license = licenses.asl20; + platforms = platforms.linux; + }; } diff --git a/pkgs/applications/networking/drive/deps.json b/pkgs/applications/networking/drive/deps.json deleted file mode 100644 index a1d1fde7727d..000000000000 --- a/pkgs/applications/networking/drive/deps.json +++ /dev/null @@ -1,164 +0,0 @@ -[ - { - "goPackagePath": "golang.org/x/net", - "fetch": { - "type": "git", - "url": "https://go.googlesource.com/net", - "rev": "62ac18b461605b4be188bbc7300e9aa2bc836cd4", - "sha256": "0lwwvbbwbf3yshxkfhn6z20gd45dkvnmw2ms36diiy34krgy402p" - } - }, - { - "goPackagePath": "google.golang.org/api", - "fetch": { - "type": "git", - "url": "https://code.googlesource.com/google-api-go-client", - "rev": "a5c3e2a4792aff40e59840d9ecdff0542a202a80", - "sha256": "1kigddnbyrl9ddpj5rs8njvf1ck54ipi4q1282k0d6b3am5qfbj8" - } - }, - { - "goPackagePath": "google.golang.org/cloud", - "fetch": { - "type": "git", - "url": "https://code.googlesource.com/gocloud", - "rev": "6335269abf9002cf5a84613c13cda6010842b834", - "sha256": "15xrqxna5ms0r634k3bfzyymn431dvqcjwbsap8ay60x371kzbwf" - } - }, - { - "goPackagePath": "golang.org/x/oauth2", - "fetch": { - "type": "git", - "url": "https://go.googlesource.com/oauth2", - "rev": "397fe7649477ff2e8ced8fc0b2696f781e53745a", - "sha256": "0fza0l7iwh6llkq2yzqn7dxi138vab0da64lnghfj1p71fprjzn8" - } - }, - { - "goPackagePath": "github.com/mattn/go-isatty", - "fetch": { - "type": "git", - "url": "https://github.com/mattn/go-isatty", - "rev": "ae0b1f8f8004be68d791a576e3d8e7648ab41449", - "sha256": "0qrcsh7j9mxcaspw8lfxh9hhflz55vj4aq1xy00v78301czq6jlj" - } - }, - { - "goPackagePath": "github.com/boltdb/bolt", - "fetch": { - "type": "git", - "url": "https://github.com/boltdb/bolt", - "rev": "957d850b5158a4eebf915476058e720f43459584", - "sha256": "193adhhsqdy0kyq1l1fi8pg2n6pwyrw4h607qm78qyi26f8i7vzf" - } - }, - { - "goPackagePath": "github.com/cheggaaa/pb", - "fetch": { - "type": "git", - "url": "https://github.com/cheggaaa/pb", - "rev": "e648e12b78cedf14ebb2fc1855033f07b034cfbb", - "sha256": "03k4cars7hcqqgdsd0minfls2p7gjpm8q6y8vknh1s68kvxd4xam" - } - }, - { - "goPackagePath": "github.com/odeke-em/cli-spinner", - "fetch": { - "type": "git", - "url": "https://github.com/odeke-em/cli-spinner", - "rev": "610063bb4aeef25f7645b3e6080456655ec0fb33", - "sha256": "13wzs2qrxd72ah32ym0ppswhvyimjw5cqaq3q153y68vlvxd048c" - } - }, - { - "goPackagePath": "github.com/odeke-em/statos", - "fetch": { - "type": "git", - "url": "https://github.com/odeke-em/statos", - "rev": "f27d6ab69b62abd9d9fe80d355e23a3e45d347d6", - "sha256": "17cpks8bi9i7p8j38x0wy60jb9g39wbzszcmhx4hlq6yzxr04jvs" - } - }, - { - "goPackagePath": "github.com/odeke-em/exponential-backoff", - "fetch": { - "type": "git", - "url": "https://github.com/odeke-em/exponential-backoff", - "rev": "96e25d36ae36ad09ac02cbfe653b44c4043a8e09", - "sha256": "1as21p2jj8xpahvdxqwsw2i1s3fll14dlc9j192iq7xl1ybwpqs6" - } - }, - { - "goPackagePath": "github.com/odeke-em/extractor", - "fetch": { - "type": "git", - "url": "https://github.com/odeke-em/extractor", - "rev": "801861aedb854c7ac5e1329e9713023e9dc2b4d4", - "sha256": "036zmnqxy48h6mxiwywgxix2p4fqvl4svlmcp734ri2rbq3cmxs1" - } - }, - { - "goPackagePath": "github.com/odeke-em/meddler", - "fetch": { - "type": "git", - "url": "https://github.com/odeke-em/meddler", - "rev": "d2b51d2b40e786ab5f810d85e65b96404cf33570", - "sha256": "0m0fqrn3kxy4swyk4ja1y42dn1i35rq9j85y11wb222qppy2342x" - } - }, - { - "goPackagePath": "github.com/odeke-em/xon", - "fetch": { - "type": "git", - "url": "https://github.com/odeke-em/xon", - "rev": "d580be739d723da4f6378083128f93017b8ab295", - "sha256": "07a7zj01d4a23xqp01m48jp2v5mw49islf4nbq2rj13sd5w4s6sc" - } - }, - { - "goPackagePath": "github.com/odeke-em/cache", - "fetch": { - "type": "git", - "url": "https://github.com/odeke-em/cache", - "rev": "b51b08cb6cf889deda6c941a5205baecfd16f3eb", - "sha256": "1rmm1ky7irqypqjkk6qcd2n0xkzpaggdxql9dp9i9qci5rvvwwd4" - } - }, - { - "goPackagePath": "github.com/odeke-em/command", - "fetch": { - "type": "git", - "url": "https://github.com/odeke-em/command", - "rev": "91ca5ec5e9a1bc2668b1ccbe0967e04a349e3561", - "sha256": "1ghckzr8h99ckagpmb15p61xazdjmf9mjmlym634hsr9vcj84v62" - } - }, - { - "goPackagePath": "github.com/odeke-em/log", - "fetch": { - "type": "git", - "url": "https://github.com/odeke-em/log", - "rev": "cad53c4565a0b0304577bd13f3862350bdc5f907", - "sha256": "059c933qjikxlvaywzpzljqnab19svymbv6x32pc7khw156fh48w" - } - }, - { - "goPackagePath": "github.com/odeke-em/pretty-words", - "fetch": { - "type": "git", - "url": "https://github.com/odeke-em/pretty-words", - "rev": "9d37a7fcb4ae6f94b288d371938482994458cecb", - "sha256": "1466wjhrg9lhqmzil1vf8qj16fxk32b5kxlcccyw2x6dybqa6pkl" - } - }, - { - "goPackagePath": "github.com/skratchdot/open-golang", - "fetch": { - "type": "git", - "url": "https://github.com/skratchdot/open-golang", - "rev": "c8748311a7528d0ba7330d302adbc5a677ef9c9e", - "sha256": "0qhn2d00v3m9fiqk9z7swdm599clc6j7rnli983s8s1byyp0x3ac" - } - } -] diff --git a/pkgs/applications/networking/drive/deps.nix b/pkgs/applications/networking/drive/deps.nix new file mode 100644 index 000000000000..ca132288bd69 --- /dev/null +++ b/pkgs/applications/networking/drive/deps.nix @@ -0,0 +1,192 @@ +# This file was generated by go2nix. +[ + { + goPackagePath = "cloud.google.com/go"; + fetch = { + type = "git"; + url = "https://code.googlesource.com/gocloud"; + rev = "7450882a75c8d2600748666d1ed16e0a5afa532d"; + sha256 = "1hl2lsf9m1imdszf5mww4h6qrcjfdjghwh6l2kqsy85d32vbkjgd"; + }; + } + { + goPackagePath = "github.com/boltdb/bolt"; + fetch = { + type = "git"; + url = "https://github.com/boltdb/bolt"; + rev = "074dffcc83e9f421e261526d297cd93f22a34080"; + sha256 = "1kkmsby74n9czqx4mvng9x1cvnm4qgjl3dp6b4mfmg2b00fwbqnv"; + }; + } + { + goPackagePath = "github.com/cheggaaa/pb"; + fetch = { + type = "git"; + url = "https://github.com/cheggaaa/pb"; + rev = "ad4efe000aa550bb54918c06ebbadc0ff17687b9"; + sha256 = "0w6dl2s0vzb64q85yfy1hd5z2fq2vzwygiwl65is6hwa4vkc7hi3"; + }; + } + { + goPackagePath = "github.com/mattn/go-isatty"; + fetch = { + type = "git"; + url = "https://github.com/mattn/go-isatty"; + rev = "66b8e73f3f5cda9f96b69efd03dd3d7fc4a5cdb8"; + sha256 = "17lf13ndnai9a6dlmykqkdyzf1z04q7kffs0l7kvd78wpv3l6rm5"; + }; + } + { + goPackagePath = "github.com/odeke-em/cache"; + fetch = { + type = "git"; + url = "https://github.com/odeke-em/cache"; + rev = "baf8e436bc97557118cb0bf118ab8ac6aeeda381"; + sha256 = "00nvrnp40w4m1ld89k3s3gwi9qcfjxwi8hnp62zggnvqqyc4fyz1"; + }; + } + { + goPackagePath = "github.com/odeke-em/cli-spinner"; + fetch = { + type = "git"; + url = "https://github.com/odeke-em/cli-spinner"; + rev = "610063bb4aeef25f7645b3e6080456655ec0fb33"; + sha256 = "13wzs2qrxd72ah32ym0ppswhvyimjw5cqaq3q153y68vlvxd048c"; + }; + } + { + goPackagePath = "github.com/odeke-em/command"; + fetch = { + type = "git"; + url = "https://github.com/odeke-em/command"; + rev = "91ca5ec5e9a1bc2668b1ccbe0967e04a349e3561"; + sha256 = "1ghckzr8h99ckagpmb15p61xazdjmf9mjmlym634hsr9vcj84v62"; + }; + } + { + goPackagePath = "github.com/odeke-em/exponential-backoff"; + fetch = { + type = "git"; + url = "https://github.com/odeke-em/exponential-backoff"; + rev = "96e25d36ae36ad09ac02cbfe653b44c4043a8e09"; + sha256 = "1as21p2jj8xpahvdxqwsw2i1s3fll14dlc9j192iq7xl1ybwpqs6"; + }; + } + { + goPackagePath = "github.com/odeke-em/extractor"; + fetch = { + type = "git"; + url = "https://github.com/odeke-em/extractor"; + rev = "801861aedb854c7ac5e1329e9713023e9dc2b4d4"; + sha256 = "036zmnqxy48h6mxiwywgxix2p4fqvl4svlmcp734ri2rbq3cmxs1"; + }; + } + { + goPackagePath = "github.com/odeke-em/go-utils"; + fetch = { + type = "git"; + url = "https://github.com/odeke-em/go-utils"; + rev = "d915395a7a46a9fe73d93f4daeff5953eeac5ef2"; + sha256 = "0c1z4vmz69vxak8ldw4qjcgwia5ph969gj80az7a3824gia7zhbh"; + }; + } + { + goPackagePath = "github.com/odeke-em/go-uuid"; + fetch = { + type = "git"; + url = "https://github.com/odeke-em/go-uuid"; + rev = "b211d769a9aaba5b2b8bdbab5de3c227116f3c39"; + sha256 = "086l4xmwkjl5qcylcb5iwy9ksk9k5g43xwfbkcgvmhpz5mq3wmz2"; + }; + } + { + goPackagePath = "github.com/odeke-em/log"; + fetch = { + type = "git"; + url = "https://github.com/odeke-em/log"; + rev = "cad53c4565a0b0304577bd13f3862350bdc5f907"; + sha256 = "059c933qjikxlvaywzpzljqnab19svymbv6x32pc7khw156fh48w"; + }; + } + { + goPackagePath = "github.com/odeke-em/meddler"; + fetch = { + type = "git"; + url = "https://github.com/odeke-em/meddler"; + rev = "d2b51d2b40e786ab5f810d85e65b96404cf33570"; + sha256 = "0m0fqrn3kxy4swyk4ja1y42dn1i35rq9j85y11wb222qppy2342x"; + }; + } + { + goPackagePath = "github.com/odeke-em/pretty-words"; + fetch = { + type = "git"; + url = "https://github.com/odeke-em/pretty-words"; + rev = "9d37a7fcb4ae6f94b288d371938482994458cecb"; + sha256 = "1466wjhrg9lhqmzil1vf8qj16fxk32b5kxlcccyw2x6dybqa6pkl"; + }; + } + { + goPackagePath = "github.com/odeke-em/semalim"; + fetch = { + type = "git"; + url = "https://github.com/odeke-em/semalim"; + rev = "9c88bf5f9156ed06ec5110a705d41b8580fd96f7"; + sha256 = "0nq93dcl84cmlvg31rdk281ndlc2452zlh5s7i40hasi0z0kmn1k"; + }; + } + { + goPackagePath = "github.com/odeke-em/statos"; + fetch = { + type = "git"; + url = "https://github.com/odeke-em/statos"; + rev = "6f7e4db337bc11fc46d9b0456a93836cbbfe5141"; + sha256 = "1lijz3cxqxd78sl0nzfgvs675dg7q99jqwvhgisnk9n84ic4ffzj"; + }; + } + { + goPackagePath = "github.com/skratchdot/open-golang"; + fetch = { + type = "git"; + url = "https://github.com/skratchdot/open-golang"; + rev = "75fb7ed4208cf72d323d7d02fd1a5964a7a9073c"; + sha256 = "1b67imqbsdvg19vif1q1dfmapxy3v2anagacbql95fwnnw0v8jga"; + }; + } + { + goPackagePath = "golang.org/x/crypto"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/crypto"; + rev = "5dc8cb4b8a8eb076cbb5a06bc3b8682c15bdbbd3"; + sha256 = "18c1vpqlj10z1id66hglgnv51d9gwphgsdvxgghc6mcm01f1g5xj"; + }; + } + { + goPackagePath = "golang.org/x/net"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/net"; + rev = "6acef71eb69611914f7a30939ea9f6e194c78172"; + sha256 = "1fcsv50sbq0lpzrhx3m9jw51wa255fsbqjwsx9iszq4d0gysnnvc"; + }; + } + { + goPackagePath = "golang.org/x/oauth2"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/oauth2"; + rev = "1e695b1c8febf17aad3bfa7bf0a819ef94b98ad5"; + sha256 = "1sfgrc63jwslczkld7bsfipw1jm1rn06228dx0vc5gggd52155ys"; + }; + } + { + goPackagePath = "google.golang.org/api"; + fetch = { + type = "git"; + url = "https://code.googlesource.com/google-api-go-client"; + rev = "eb84d1a029af1654777e7ba65c979085305c3e38"; + sha256 = "0ldmzcx5lxa81lcr39djcvyhd0ls11jlswj5877rinq3505ayf5l"; + }; + } +] diff --git a/pkgs/applications/networking/dropbox/default.nix b/pkgs/applications/networking/dropbox/default.nix index b98e7eea14b5..e78230a74b4d 100644 --- a/pkgs/applications/networking/dropbox/default.nix +++ b/pkgs/applications/networking/dropbox/default.nix @@ -23,11 +23,11 @@ let # NOTE: When updating, please also update in current stable, # as older versions stop working - version = "8.4.21"; + version = "16.4.30"; sha256 = { - "x86_64-linux" = "1nihmr99mzyjhhdlg39j6g0m6hqgdz80lgrjdw1nnh38vq4fgbnq"; - "i686-linux" = "09jfdc8isjcpvgnvfykawlvdq65ng0dg6b54m4vdswk58ggndvlq"; + "x86_64-linux" = "0inwc12d14i6gyfllxbhizb434a7vy0l5nvc07kz0bca7c4665wb"; + "i686-linux" = "0pdn8558ll317k3jrrjir90pn6abwbm99y9wzdq39wxj4dmrlh6w"; }."${stdenv.system}" or (throw "system ${stdenv.system} not supported"); arch = diff --git a/pkgs/applications/networking/dyndns/cfdyndns/default.nix b/pkgs/applications/networking/dyndns/cfdyndns/default.nix index d3be9c28df35..a79404e77c85 100644 --- a/pkgs/applications/networking/dyndns/cfdyndns/default.nix +++ b/pkgs/applications/networking/dyndns/cfdyndns/default.nix @@ -27,5 +27,6 @@ buildRustPackage rec { license = stdenv.lib.licenses.mit; maintainers = with maintainers; [ colemickens ]; platforms = with platforms; linux; + broken = true; }; } diff --git a/pkgs/applications/networking/errbot/default.nix b/pkgs/applications/networking/errbot/default.nix index 5b8140bfa51c..f37f10d5209b 100644 --- a/pkgs/applications/networking/errbot/default.nix +++ b/pkgs/applications/networking/errbot/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, pythonPackages }: -pythonPackages.buildPythonPackage rec { +pythonPackages.buildPythonApplication rec { name = "errbot-${version}"; version = "4.2.2"; @@ -23,7 +23,7 @@ pythonPackages.buildPythonPackage rec { webtest bottle threadpool rocket-errbot requests2 jinja2 pyopenssl colorlog Yapsy markdown ansi pygments dns pep8 daemonize pygments-markdown-lexer telegram irc slackclient - pyside sleekxmpp hypchat + pyside sleekxmpp hypchat pytest ]; meta = with stdenv.lib; { diff --git a/pkgs/applications/networking/esniper/default.nix b/pkgs/applications/networking/esniper/default.nix index 751f6f9855b2..bf6da8c207a0 100644 --- a/pkgs/applications/networking/esniper/default.nix +++ b/pkgs/applications/networking/esniper/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, openssl, curl, coreutils, gawk, bash, which }: stdenv.mkDerivation { - name = "esniper-2.31.0"; + name = "esniper-2.32.0"; src = fetchurl { - url = "mirror://sourceforge/esniper/esniper-2-31-0.tgz"; - sha256 = "0xn6gdyr0c18khwcsi2brp49wkancrsrxxca7hvbawhbf263glih"; + url = "mirror://sourceforge/esniper/esniper-2-32-0.tgz"; + sha256 = "04lka4d0mnrwc369yzvq28n8qi1qbm8810ykx6d0a4kaghiybqsy"; }; buildInputs = [ openssl curl ]; diff --git a/pkgs/applications/networking/feedreaders/rawdog/default.nix b/pkgs/applications/networking/feedreaders/rawdog/default.nix index eca53ccf2ec0..39543f256fa2 100644 --- a/pkgs/applications/networking/feedreaders/rawdog/default.nix +++ b/pkgs/applications/networking/feedreaders/rawdog/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchurl, pythonPackages }: +{ stdenv, fetchurl, python2Packages }: -pythonPackages.buildPythonApplication rec { +python2Packages.buildPythonApplication rec { name = "rawdog-${version}"; version = "2.21"; @@ -9,7 +9,7 @@ pythonPackages.buildPythonApplication rec { sha256 = "0f5z7b70pyhjl6s28hgxninsr86s4dj5ycd50sv6bfz4hm1c2030"; }; - propagatedBuildInputs = with pythonPackages; [ feedparser ]; + propagatedBuildInputs = with python2Packages; [ feedparser ]; namePrefix = ""; diff --git a/pkgs/applications/networking/flexget/default.nix b/pkgs/applications/networking/flexget/default.nix new file mode 100644 index 000000000000..f7dd96183070 --- /dev/null +++ b/pkgs/applications/networking/flexget/default.nix @@ -0,0 +1,39 @@ +{ lib +, pythonPackages +, fetchurl +, transmission +, deluge +, config +}: + +with pythonPackages; + +buildPythonPackage rec { + version = "1.2.337"; + name = "FlexGet-${version}"; + disabled = isPy3k; + + src = fetchurl { + url = "mirror://pypi/F/FlexGet/${name}.tar.gz"; + sha256 = "0f7aaf0bf37860f0c5adfb0ba59ca228aa3f5c582131445623a4c3bc82d45346"; + }; + + doCheck = false; + + buildInputs = [ nose ]; + propagatedBuildInputs = [ + paver feedparser sqlalchemy pyyaml rpyc + beautifulsoup_4_1_3 html5lib_0_9999999 pyrss2gen pynzb progressbar jinja2 flask + cherrypy requests dateutil_2_1 jsonschema python_tvrage tmdb3 + guessit pathpy apscheduler ] + # enable deluge and transmission plugin support, if they're installed + ++ lib.optional (config.deluge or false) deluge + ++ lib.optional (transmission != null) transmissionrpc; + + meta = { + homepage = http://flexget.com/; + description = "Multipurpose automation tool for content like torrents"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ domenkozar ]; + }; +} \ No newline at end of file diff --git a/pkgs/applications/networking/ftp/filezilla/default.nix b/pkgs/applications/networking/ftp/filezilla/default.nix index eb95647ff0f8..c0951d979904 100644 --- a/pkgs/applications/networking/ftp/filezilla/default.nix +++ b/pkgs/applications/networking/ftp/filezilla/default.nix @@ -1,21 +1,22 @@ { stdenv, fetchurl, dbus, gnutls, wxGTK30, libidn, tinyxml, gettext , pkgconfig, xdg_utils, gtk2, sqlite, pugixml, libfilezilla, nettle }: -let version = "3.20.1"; in +let version = "3.23.0.2"; in stdenv.mkDerivation { name = "filezilla-${version}"; src = fetchurl { url = "mirror://sourceforge/project/filezilla/FileZilla_Client/${version}/FileZilla_${version}_src.tar.bz2"; - sha256 = "0bcy0j89y2mpjyzwnz1qa33412n7yl0g8px2r4v7gla25r2x5qwa"; + sha256 = "0bq22nq2g1b0x5msm9if74ync2qk13n2782mwj2r1r7hsmx4liiz"; }; configureFlags = [ "--disable-manualupdatecheck" ]; + nativeBuildInputs = [ pkgconfig ]; buildInputs = [ - dbus gnutls wxGTK30 libidn tinyxml gettext pkgconfig xdg_utils gtk2 sqlite + dbus gnutls wxGTK30 libidn tinyxml gettext xdg_utils gtk2 sqlite pugixml libfilezilla nettle ]; meta = with stdenv.lib; { diff --git a/pkgs/applications/networking/google-drive-ocamlfuse/default.nix b/pkgs/applications/networking/google-drive-ocamlfuse/default.nix index 532ab3613138..0a938766e930 100644 --- a/pkgs/applications/networking/google-drive-ocamlfuse/default.nix +++ b/pkgs/applications/networking/google-drive-ocamlfuse/default.nix @@ -1,4 +1,5 @@ -{ stdenv, fetchurl, ocamlPackages, zlib }: +{ stdenv, fetchurl, zlib +, ocaml, ocamlfuse, findlib, gapi_ocaml, ocaml_sqlite3, camlidl }: stdenv.mkDerivation rec { name = "google-drive-ocamlfuse-${version}"; @@ -9,7 +10,7 @@ stdenv.mkDerivation rec { sha256 = "1hjm6hyva9sl6lddb0372wsy7f76105iaxh976yyzfn3b4ran6ab"; }; - buildInputs = [ zlib ] ++ (with ocamlPackages; [ocaml ocamlfuse findlib gapi_ocaml ocaml_sqlite3 camlidl]); + buildInputs = [ zlib ocaml ocamlfuse findlib gapi_ocaml ocaml_sqlite3 camlidl]; configurePhase = "ocaml setup.ml -configure --prefix \"$out\""; buildPhase = "ocaml setup.ml -build"; diff --git a/pkgs/applications/networking/gopher/gopher/default.nix b/pkgs/applications/networking/gopher/gopher/default.nix new file mode 100644 index 000000000000..9057fda2e600 --- /dev/null +++ b/pkgs/applications/networking/gopher/gopher/default.nix @@ -0,0 +1,23 @@ +{stdenv, fetchurl, ncurses}: + +stdenv.mkDerivation rec { + name = "gopher-${version}"; + version = "3.0.11"; + + src = fetchurl { + url = "http://gopher.quux.org:70/devel/gopher/Downloads/gopher_${version}.tar.gz"; + sha256 = "15r7x518wlpfqpd6z0hbdwm8rw8ll8hbpskdqgxxhrmy00aa7w9c"; + }; + + buildInputs = [ ncurses ]; + + preConfigure = "export LIBS=-lncurses"; + + meta = { + homepage = http://gopher.quux.org:70/devel/gopher; + description = "A ncurses gopher client"; + platforms = stdenv.lib.platforms.unix; + license = stdenv.lib.licenses.gpl2; + maintainers = with stdenv.lib.maintainers; [ sternenseemann ]; + }; +} diff --git a/pkgs/applications/networking/ids/bro/default.nix b/pkgs/applications/networking/ids/bro/default.nix index 10cf9874ff1e..946d0dedba0c 100644 --- a/pkgs/applications/networking/ids/bro/default.nix +++ b/pkgs/applications/networking/ids/bro/default.nix @@ -1,15 +1,15 @@ {stdenv, fetchurl, cmake, flex, bison, openssl, libpcap, perl, zlib, file, curl -, geoip, gperftools }: +, geoip, gperftools, python }: stdenv.mkDerivation rec { - name = "bro-2.4.1"; + name = "bro-2.5"; src = fetchurl { - url = "http://www.bro.org/downloads/release/${name}.tar.gz"; - sha256 = "1xn8qwgnxihlr4lmg7kz2vqjk46aqgwc8878pbv30ih2lmrrdffq"; + url = "http://www.bro.org/downloads/${name}.tar.gz"; + sha256 = "10603lwhwsmh08m5rgknbspbhd4lis71qv7z8ixacgv6sf8a40hm"; }; - buildInputs = [ cmake flex bison openssl libpcap perl zlib file curl geoip gperftools ]; + buildInputs = [ cmake flex bison openssl libpcap perl zlib file curl geoip gperftools python ]; enableParallelBuilding = true; diff --git a/pkgs/applications/networking/instant-messengers/baresip/default.nix b/pkgs/applications/networking/instant-messengers/baresip/default.nix index e4a732ba66d8..3ce638e6b58a 100644 --- a/pkgs/applications/networking/instant-messengers/baresip/default.nix +++ b/pkgs/applications/networking/instant-messengers/baresip/default.nix @@ -1,18 +1,19 @@ {stdenv, fetchurl, zlib, openssl, libre, librem, pkgconfig , cairo, mpg123, gstreamer, gst_ffmpeg, gst_plugins_base, gst_plugins_bad , gst_plugins_good, alsaLib, SDL, libv4l, celt, libsndfile, srtp, ffmpeg -, gsm, speex, portaudio, spandsp, libuuid +, gsm, speex, portaudio, spandsp, libuuid, ccache }: stdenv.mkDerivation rec { - version = "0.4.20"; + version = "0.5.0"; name = "baresip-${version}"; src=fetchurl { url = "http://www.creytiv.com/pub/baresip-${version}.tar.gz"; - sha256 = "0m8afbfdc9a57cy94ny7g6jv2ndfmrvkx0lgk64i8w870958gkwb"; + sha256 = "0dhlgjkqn7jkd1pmdyid41c829clzmi5kczjdwxzh5ygn95lydjc"; }; buildInputs = [zlib openssl libre librem pkgconfig cairo mpg123 gstreamer gst_ffmpeg gst_plugins_base gst_plugins_bad gst_plugins_good alsaLib SDL libv4l celt libsndfile srtp ffmpeg gsm speex portaudio spandsp libuuid + ccache ]; makeFlags = [ "LIBRE_MK=${libre}/share/re/re.mk" @@ -21,6 +22,7 @@ stdenv.mkDerivation rec { "LIBREM_PATH=${librem}" ''PREFIX=$(out)'' "USE_VIDEO=1" + "CCACHE_DISABLE=1" "USE_ALSA=1" "USE_AMR=1" "USE_CAIRO=1" "USE_CELT=1" "USE_CONS=1" "USE_EVDEV=1" "USE_FFMPEG=1" "USE_GSM=1" "USE_GST=1" @@ -29,13 +31,15 @@ stdenv.mkDerivation rec { "USE_SPEEX_AEC=1" "USE_SPEEX_PP=1" "USE_SPEEX_RESAMP=1" "USE_SRTP=1" "USE_STDIO=1" "USE_SYSLOG=1" "USE_UUID=1" "USE_V4L2=1" "USE_X11=1" - "USE_BV32=" "USE_COREAUDIO=" "USE_G711=" "USE_G722=" "USE_G722_1=" + "USE_BV32=" "USE_COREAUDIO=" "USE_G711=1" "USE_G722=1" "USE_G722_1=" "USE_ILBC=" "USE_OPUS=" "USE_SILK=" ] ++ stdenv.lib.optional (stdenv.cc.cc != null) "SYSROOT_ALT=${stdenv.cc.cc}" ++ stdenv.lib.optional (stdenv.cc.libc != null) "SYSROOT=${stdenv.cc.libc}" ; - NIX_CFLAGS_COMPILE='' -I${librem}/include/rem -I${gsm}/include/gsm ''; + NIX_CFLAGS_COMPILE='' -I${librem}/include/rem -I${gsm}/include/gsm + -DHAVE_INTTYPES_H -D__GLIBC__ + -D__need_timeval -D__need_timespec -D__need_time_t ''; meta = { homepage = "http://www.creytiv.com/baresip.html"; platforms = with stdenv.lib.platforms; linux; diff --git a/pkgs/applications/networking/instant-messengers/blink/default.nix b/pkgs/applications/networking/instant-messengers/blink/default.nix index e771db3795b5..f0b74370c3c7 100644 --- a/pkgs/applications/networking/instant-messengers/blink/default.nix +++ b/pkgs/applications/networking/instant-messengers/blink/default.nix @@ -4,7 +4,7 @@ pythonPackages.buildPythonApplication rec { name = "blink-${version}"; version = "2.0.0"; - + src = fetchurl { url = "http://download.ag-projects.com/BlinkQt/${name}.tar.gz"; sha256 = "07hvy45pavgkvdlh4wbz3shsxh4fapg96qlqmfymdi1nfhwghb05"; @@ -15,8 +15,7 @@ pythonPackages.buildPythonApplication rec { sed -i 's|@out@|'"''${out}"'|g' blink/resources.py ''; - propagatedBuildInputs = with pythonPackages;[ pyqt4 cjson sipsimple twisted - ]; + propagatedBuildInputs = with pythonPackages; [ pyqt4 cjson sipsimple twisted ]; buildInputs = [ pythonPackages.cython zlib libvncserver libvpx ]; diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix index 71382558d3c2..1d1ae151caa0 100644 --- a/pkgs/applications/networking/instant-messengers/discord/default.nix +++ b/pkgs/applications/networking/instant-messengers/discord/default.nix @@ -1,29 +1,29 @@ -{ stdenv, fetchurl +{ stdenv, fetchurl, makeDesktopItem , alsaLib, atk, cairo, cups, dbus, expat, fontconfig, freetype, gdk_pixbuf -, glib, gnome, gtk, libnotify, libX11, libXcomposite, libXcursor, libXdamage +, glib, gnome2, gtk2, libnotify, libX11, libXcomposite, libXcursor, libXdamage , libXext, libXfixes, libXi, libXrandr, libXrender, libXtst, nspr, nss, pango -, libudev, libXScrnSaver }: +, systemd, libXScrnSaver }: -let version = "0.0.8"; in +stdenv.mkDerivation rec { -stdenv.mkDerivation { - - name = "discord-${version}"; + pname = "discord"; + version = "0.0.13"; + name = "${pname}-${version}"; src = fetchurl { - url = "https://cdn-canary.discordapp.com/apps/linux/${version}/discord-canary-${version}.tar.gz"; - sha256 = "1g48jxiswpfvbgjs4dyywmzj9kncvrgpajhixk3acizdmfmsyqkk"; + url = "https://cdn-canary.discordapp.com/apps/linux/${version}/${pname}-canary-${version}.tar.gz"; + sha256 = "1pwb8y80z1bmfln5wd1vrhras0xygd1j15sib0g9vaig4mc55cs6"; }; libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc alsaLib atk cairo cups dbus expat fontconfig freetype - gdk_pixbuf glib gnome.GConf gtk libnotify libX11 libXcomposite + gdk_pixbuf glib gnome2.GConf gtk2 libnotify libX11 libXcomposite libXcursor libXdamage libXext libXfixes libXi libXrandr libXrender - libXtst nspr nss pango libudev.out libXScrnSaver + libXtst nspr nss pango systemd libXScrnSaver ]; installPhase = '' - mkdir -p $out/bin + mkdir -p $out/{bin,share/pixmaps} mv * $out # Copying how adobe-reader does it, @@ -32,12 +32,25 @@ stdenv.mkDerivation { --set-rpath "$out:$libPath" \ $out/DiscordCanary + paxmark m $out/DiscordCanary + ln -s $out/DiscordCanary $out/bin/ + ln -s $out/discord.png $out/share/pixmaps # Putting udev in the path won't work :( - ln -s ${libudev.out}/lib/libudev.so.1 $out + ln -s ${systemd.lib}/lib/libudev.so.1 $out + ln -s "${desktopItem}/share/applications" $out/share/ ''; + desktopItem = makeDesktopItem { + name = pname; + exec = "DiscordCanary"; + icon = pname; + desktopName = "Discord Canary"; + genericName = meta.description; + categories = "Network;InstantMessaging;"; + }; + meta = with stdenv.lib; { description = "All-in-one voice and text chat for gamers that’s free, secure, and works on both your desktop and phone"; homepage = "https://discordapp.com/"; diff --git a/pkgs/applications/networking/instant-messengers/franz/default.nix b/pkgs/applications/networking/instant-messengers/franz/default.nix new file mode 100644 index 000000000000..ef84f6402b52 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/franz/default.nix @@ -0,0 +1,68 @@ +{ stdenv, fetchurl, makeDesktopItem +, xorg, gtk2, atk, glib, pango, gdk_pixbuf, cairo, freetype, fontconfig +, gnome2, dbus, nss, nspr, alsaLib, cups, expat, udev, libnotify }: + +let + bits = if stdenv.system == "x86_64-linux" then "x64" + else "ia32"; + + version = "4.0.4"; + + desktopItem = makeDesktopItem rec { + name = "Franz"; + exec = name; + icon = "franz"; + desktopName = name; + genericName = "Franz messenger"; + categories = "Network;"; + }; +in stdenv.mkDerivation rec { + name = "franz-${version}"; + src = fetchurl { + url = "https://github.com/meetfranz/franz-app/releases/download/${version}/Franz-linux-${bits}-${version}.tgz"; + sha256 = if bits == "x64" then + "0ssym0jfrig474g6j67g1jfybjkxnyhbqqjvrs8z6ihwlyd3rrk5" else + "16l9jma2hiwzl9l41yhrwribcgmxca271rq0cfbbm9701mmmciyy"; + }; + + phases = [ "unpackPhase" "installPhase" "postFixup" ]; + + deps = with xorg; [ + gtk2 atk glib pango gdk_pixbuf cairo freetype fontconfig dbus + libXi libXcursor libXdamage libXrandr libXcomposite libXext libXfixes + libXrender libX11 libXtst libXScrnSaver gnome2.GConf nss nspr alsaLib + cups expat stdenv.cc.cc + + udev libnotify + ]; + + unpackPhase = '' + tar xzf $src + ''; + + installPhase = '' + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" Franz + patchelf --set-rpath "$out/share/franz:${stdenv.lib.makeLibraryPath deps}" Franz + + mkdir -p $out/bin $out/share/franz + cp -r * $out/share/franz + ln -s $out/share/franz/Franz $out/bin + + mkdir -p $out/share/applications $out/share/pixmaps + ln -s ${desktopItem}/share/applications/* $out/share/applications + ln -s $out/share/franz/resources/app.asar.unpacked/assets/franz.png $out/share/pixmaps + ''; + + postFixup = '' + paxmark m $out/share/franz/Franz + ''; + + meta = with stdenv.lib; { + description = "A free messaging app that combines chat & messaging services into one application"; + homepage = http://meetfranz.com; + license = licenses.free; + maintainers = [ stdenv.lib.maintainers.gnidorah ]; + platforms = ["i686-linux" "x86_64-linux"]; + hydraPlatforms = []; + }; +} diff --git a/pkgs/applications/networking/instant-messengers/gajim/default.nix b/pkgs/applications/networking/instant-messengers/gajim/default.nix index 8d9cf434e5d2..3041d6e045ef 100644 --- a/pkgs/applications/networking/instant-messengers/gajim/default.nix +++ b/pkgs/applications/networking/instant-messengers/gajim/default.nix @@ -1,12 +1,13 @@ -{ stdenv, fetchurl, python, intltool, pkgconfig, libX11, gtk +{ stdenv, fetchurl, python, intltool, pkgconfig, libX11 , ldns, pythonPackages , enableJingle ? true, farstream ? null, gst_plugins_bad ? null , libnice ? null , enableE2E ? true , enableRST ? true -, enableSpelling ? true, gtkspell ? null +, enableSpelling ? true, gtkspell2 ? null , enableNotifications ? false +, enableOmemoPluginDependencies ? true , extraPythonPackages ? pkgs: [] }: @@ -14,18 +15,18 @@ assert enableJingle -> farstream != null && gst_plugins_bad != null && libnice != null; assert enableE2E -> pythonPackages.pycrypto != null; assert enableRST -> pythonPackages.docutils != null; -assert enableSpelling -> gtkspell != null; +assert enableSpelling -> gtkspell2 != null; assert enableNotifications -> pythonPackages.notify != null; with stdenv.lib; stdenv.mkDerivation rec { name = "gajim-${version}"; - version = "0.16.5"; + version = "0.16.6"; src = fetchurl { url = "http://www.gajim.org/downloads/0.16/gajim-${version}.tar.bz2"; - sha256 = "14fhcqnkqygh91132dnf1idayj4r3iqbwb44sd3mxv20n6ribh55"; + sha256 = "1p3qwzy07f0wkika9yigyiq167l2k6wn12flqa7x55z4ihbysmqk"; }; patches = [ @@ -47,7 +48,7 @@ stdenv.mkDerivation rec { src/features_window.py sed -i -e "s|'drill'|'${ldns}/bin/drill'|" src/common/resolver.py '' + optionalString enableSpelling '' - sed -i -e 's|=.*find_lib.*|= "${gtkspell}/lib/libgtkspell.so"|' \ + sed -i -e 's|=.*find_lib.*|= "${gtkspell2}/lib/libgtkspell.so"|' \ src/gtkspell.py ''; @@ -60,15 +61,17 @@ stdenv.mkDerivation rec { ]; propagatedBuildInputs = [ - pythonPackages.pygobject pythonPackages.pyGtkGlade - pythonPackages.sqlite3 pythonPackages.pyasn1 + pythonPackages.pygobject2 pythonPackages.pyGtkGlade + pythonPackages.pyasn1 pythonPackages.pyxdg pythonPackages.nbxmpp pythonPackages.pyopenssl pythonPackages.dbus-python ] ++ optional enableE2E pythonPackages.pycrypto ++ optional enableRST pythonPackages.docutils ++ optional enableNotifications pythonPackages.notify - ++ extraPythonPackages pythonPackages; + ++ optionals enableOmemoPluginDependencies (with pythonPackages; [ + cryptography python-axolotl python-axolotl-curve25519 qrcode + ]) ++ extraPythonPackages pythonPackages; postFixup = '' install -m 644 -t "$out/share/gajim/icons/hicolor" \ diff --git a/pkgs/applications/networking/instant-messengers/hipchat/default.nix b/pkgs/applications/networking/instant-messengers/hipchat/default.nix index c782b857e0c0..326f95630707 100644 --- a/pkgs/applications/networking/instant-messengers/hipchat/default.nix +++ b/pkgs/applications/networking/instant-messengers/hipchat/default.nix @@ -1,10 +1,10 @@ { stdenv, fetchurl, xorg, freetype, fontconfig, openssl, glib, nss, nspr, expat , alsaLib, dbus, zlib, libxml2, libxslt, makeWrapper, xkeyboard_config, systemd -, mesa_noglu, xcbutilkeysyms, xdg_utils }: +, mesa_noglu, xcbutilkeysyms, xdg_utils, libtool }: let - version = "4.26.0.1657"; + version = "4.29.4.1662"; rpath = stdenv.lib.makeLibraryPath [ xdg_utils @@ -31,6 +31,7 @@ let dbus alsaLib zlib + libtool libxml2 libxslt expat @@ -43,7 +44,7 @@ let if stdenv.system == "x86_64-linux" then fetchurl { url = "https://atlassian.artifactoryonline.com/atlassian/hipchat-apt-client/pool/HipChat4-${version}-Linux.deb"; - sha256 = "1ififcy1lhm0g4x9sprwfxlg34pkarkypww5ywsf8hvbcdnj02gp"; + sha256 = "1cz9zv9aj8xdrjs6dgi7fpm4q9l9find4m8l0nmvac2s4r60vw6y"; } else throw "HipChat is not supported on ${stdenv.system}"; diff --git a/pkgs/applications/networking/instant-messengers/jackline/default.nix b/pkgs/applications/networking/instant-messengers/jackline/default.nix new file mode 100644 index 000000000000..bbeb6c4aa4a3 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/jackline/default.nix @@ -0,0 +1,33 @@ +{stdenv, fetchFromGitHub, ocamlPackages, opam}: + +assert stdenv.lib.versionAtLeast ocamlPackages.ocaml.version "4.02.2"; + +stdenv.mkDerivation rec { + version = "2016-11-18"; + name = "jackline-${version}"; + + src = fetchFromGitHub { + owner = "hannesm"; + repo = "jackline"; + rev = "cab34acab004023911997ec9aee8b00a976af7e4"; + sha256 = "0h7wdsic4v6ys130w61zvxm5s2vc7y574hn7zby12rq88lhhrjh7"; + }; + + buildInputs = with ocamlPackages; [ + ocaml ocamlbuild findlib topkg ppx_sexp_conv + erm_xmpp_0_3 tls nocrypto x509 ocaml_lwt otr astring + ptime notty sexplib_p4 hex uutf opam + ]; + + buildPhase = with ocamlPackages; + "ocaml -I ${findlib}/lib/ocaml/${ocaml.version}/site-lib pkg/pkg.ml build --pinned true"; + + installPhase = "opam-installer --prefix=$out --script | sh"; + + meta = with stdenv.lib; { + homepage = https://github.com/hannesm/jackline; + description = "Terminal-based XMPP client in OCaml"; + license = licenses.bsd2; + maintainers = with maintainers; [ sternenseemann ]; + }; +} diff --git a/pkgs/applications/networking/instant-messengers/kadu/default.nix b/pkgs/applications/networking/instant-messengers/kadu/default.nix index 44cf13e2917c..904002c3b442 100644 --- a/pkgs/applications/networking/instant-messengers/kadu/default.nix +++ b/pkgs/applications/networking/instant-messengers/kadu/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation { export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${phonon}/lib64/pkgconfig:${phonon}/lib32/pkgconfig" ''; - cmakeFlags = "-DENABLE_AUTODOWNLOAD=OFF -DBUILD_DESCRIPTION='NixOS' -DCMAKE_BUILD_TYPE=Release"; + cmakeFlags = "-DENABLE_AUTODOWNLOAD=OFF -DBUILD_DESCRIPTION='NixOS'"; prePatch = '' patchShebangs . diff --git a/pkgs/applications/networking/instant-messengers/linphone/default.nix b/pkgs/applications/networking/instant-messengers/linphone/default.nix index 781d10cbc4f9..55187f335981 100644 --- a/pkgs/applications/networking/instant-messengers/linphone/default.nix +++ b/pkgs/applications/networking/instant-messengers/linphone/default.nix @@ -1,32 +1,36 @@ { stdenv, fetchurl, intltool, pkgconfig, readline, openldap, cyrus_sasl, libupnp -, zlib, libxml2, gtk2, libnotify, speex, ffmpeg, libX11, polarssl, libsoup, udev +, zlib, libxml2, gtk2, libnotify, speex, ffmpeg, libX11, libsoup, udev , ortp, mediastreamer, sqlite, belle-sip, libosip, libexosip -, mediastreamer-openh264, makeWrapper +, mediastreamer-openh264, bctoolbox, makeWrapper, fetchFromGitHub, cmake +, libmatroska, bcunit, doxygen, gdk_pixbuf, glib, cairo, pango, polarssl }: stdenv.mkDerivation rec { - name = "linphone-3.8.5"; + baseName = "linphone"; + version = "3.10.2"; + name = "${baseName}-${version}"; - src = fetchurl { - url = "mirror://savannah/linphone/3.8.x/sources/${name}.tar.gz"; - sha256 = "10brlbwkk61nhd5v2sim1vfv11xm138l1cqqh3imhs2sigmzzlax"; + src = fetchFromGitHub { + owner = "BelledonneCommunications"; + repo = "${baseName}"; + rev = "${version}"; + sha256 = "053gad4amdbq5za8f2n9j5q59nkky0w098zbsa3dvpcqvv7ar16p"; }; buildInputs = [ readline openldap cyrus_sasl libupnp zlib libxml2 gtk2 libnotify speex ffmpeg libX11 polarssl libsoup udev ortp mediastreamer sqlite belle-sip libosip libexosip + bctoolbox libmatroska bcunit gdk_pixbuf glib cairo pango ]; - nativeBuildInputs = [ intltool pkgconfig makeWrapper ]; + nativeBuildInputs = [ intltool pkgconfig makeWrapper cmake doxygen ]; - configureFlags = [ - "--enable-ldap" - "--with-ffmpeg=${ffmpeg.dev}" - "--with-polarssl=${polarssl}" - "--enable-lime" - "--enable-external-ortp" - "--enable-external-mediastreamer" - ]; + NIX_CFLAGS_COMPILE = " -Wno-error -I${glib.dev}/include/glib-2.0 + -I${glib.out}/lib/glib-2.0/include -I${gtk2.dev}/include/gtk-2.0/ + -I${cairo.dev}/include/cairo -I${pango.dev}/include/pango-1.0 + -I${gtk2}/lib/gtk-2.0/include + -DLIBLINPHONE_GIT_VERSION=\"v${version}\" + "; postInstall = '' for i in $(cd $out/bin && ls); do diff --git a/pkgs/applications/networking/instant-messengers/mcabber/default.nix b/pkgs/applications/networking/instant-messengers/mcabber/default.nix index 4ef2c81449a2..ca752ccf8269 100644 --- a/pkgs/applications/networking/instant-messengers/mcabber/default.nix +++ b/pkgs/applications/networking/instant-messengers/mcabber/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { name = "mcabber-${version}"; - version = "1.0.2"; + version = "1.0.4"; src = fetchurl { url = "http://mcabber.com/files/mcabber-${version}.tar.bz2"; - sha256 = "1phzfsl6cfzaga140dm8bb8q678j0qsw29cc03rw4vkcxa8kh577"; + sha256 = "02nfn5r7cjpnacym95l6bvczii232v3x2gi79gfa9syc7w0brdk3"; }; buildInputs = [ openssl ncurses pkgconfig glib loudmouth libotr gpgme ]; @@ -16,12 +16,14 @@ stdenv.mkDerivation rec { configureFlags = "--with-openssl=${openssl.dev} --enable-modules --enable-otr"; doCheck = true; - + meta = with stdenv.lib; { homepage = http://mcabber.com/; description = "Small Jabber console client"; license = licenses.gpl2; maintainers = with maintainers; [ pSub ]; platforms = with platforms; linux; + updateWalker = true; + downloadURLRegexp = "mcabber-[0-9.]+[.]tar[.][a-z0-9]+$"; }; } diff --git a/pkgs/applications/networking/instant-messengers/mm/default.nix b/pkgs/applications/networking/instant-messengers/mm/default.nix new file mode 100644 index 000000000000..a75835b3c7e9 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/mm/default.nix @@ -0,0 +1,21 @@ +{ stdenv, buildGoPackage, fetchFromGitLab }: + +buildGoPackage rec { + name = "mm-${version}"; + version = "2016.11.04"; + + goPackagePath = "gitlab.com/meutraa/mm"; + + src = fetchFromGitLab { + owner = "meutraa"; + repo = "mm"; + rev = "473fdd97285168054b672dbad2ffc4047324c518"; + sha256 = "1s8v5gxpw1sms1g3i8nq2x2mmmyz97qkmxs1fzlspfcd6i8vknkp"; + }; + + meta = { + description = "A file system based matrix client"; + homepage = https://gitlab.com/meutraa/mm; + license = stdenv.lib.licenses.isc; + }; +} diff --git a/pkgs/applications/networking/instant-messengers/oneteam/default.nix b/pkgs/applications/networking/instant-messengers/oneteam/default.nix index 00650bb685de..3d70990f4620 100644 --- a/pkgs/applications/networking/instant-messengers/oneteam/default.nix +++ b/pkgs/applications/networking/instant-messengers/oneteam/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub , perl, xulrunner, cmake, perlPackages, zip, unzip, pkgconfig -, libpulseaudio, glib, gtk, pixman, nspr, nss, libXScrnSaver +, libpulseaudio, glib, gtk2, pixman, nspr, nss, libXScrnSaver , scrnsaverproto }: @@ -17,9 +17,9 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig cmake zip unzip ]; buildInputs = - [ perl xulrunner libpulseaudio glib gtk pixman nspr + [ perl xulrunner libpulseaudio glib gtk2 pixman nspr nss libXScrnSaver scrnsaverproto - ] ++ [ perlPackages.SubName gtk glib ]; + ] ++ [ perlPackages.SubName gtk2 glib ]; postPatch = '' sed -e '1i#include ' -i src/rtp/otRTPDecoder.cpp src/rtp/otRTPEncoder.cpp diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/default.nix index 245894147dcf..d4dba663e6da 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, pidgin, texLive, imagemagick, glib, gtk }: +{ stdenv, fetchurl, pkgconfig, pidgin, texLive, imagemagick, glib, gtk2 }: let version = "1.5.0"; in @@ -11,7 +11,7 @@ stdenv.mkDerivation { }; nativeBuildInputs = [pkgconfig]; - buildInputs = [gtk glib pidgin]; + buildInputs = [gtk2 glib pidgin]; makeFlags = "PREFIX=$(out)"; postPatch = '' @@ -23,7 +23,7 @@ stdenv.mkDerivation { }; meta = with stdenv.lib; { - homepage = http://sourceforge.net/projects/pidgin-latex/; + homepage = "http://sourceforge.net/projects/pidgin-latex/"; description = "LaTeX rendering plugin for Pidgin IM"; license = licenses.gpl2; platforms = platforms.linux; diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-osd/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-osd/default.nix index 9c0f64d6574d..ff065e7e2ce3 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-osd/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-osd/default.nix @@ -1,22 +1,22 @@ -{ stdenv, fetchurl, pidgin, xosd +{ stdenv, fetchFromGitHub, pidgin, xosd , autoreconfHook } : stdenv.mkDerivation rec { - name = "pidgin-osd-0.1.0"; - src = fetchurl { - url = https://github.com/mbroemme/pidgin-osd/archive/pidgin-osd-0.1.0.tar.gz; - sha256 = "11hqfifhxa9gijbnp9kq85k37hvr36spdd79cj9bkkvw4kyrdp3j"; + name = "pidgin-osd-0.2.0"; + src = fetchFromGitHub { + owner = "edanaher"; + repo = "pidgin-osd"; + rev = name; + sha256 = "07wa9anz99hnv6kffpcph3fbq8mjbyq17ij977ggwgw37zb9fzb5"; }; - makeFlags = "PIDGIN_LIBDIR=$(out)"; - # autoreconf is run such that it *really* wants all the files, and there's no # default ChangeLog. So make it happy. preAutoreconf = "touch ChangeLog"; postInstall = '' mkdir -p $out/lib/pidgin - ln -s $out/pidgin $out/lib/pidgin + mv $out/lib/pidgin-osd.{la,so} $out/lib/pidgin ''; nativeBuildInputs = [ autoreconfHook ]; diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-skypeweb/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-skypeweb/default.nix index 533c0ba48ba7..f68b8306fc84 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-skypeweb/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-skypeweb/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "pidgin-skypeweb-${version}"; - version = "1.2.1"; + version = "1.2.2"; src = fetchFromGitHub { owner = "EionRobb"; repo = "skype4pidgin"; rev = "${version}"; - sha256 = "0qmqf1r9kc7r6rgzz0byyq7yf5spsl2iima0cvxafs43gn4hnc2z"; + sha256 = "1lxpz316jmns6i143v4j6sd6k0a4a54alw08rvwjckf2rig57lj2"; }; sourceRoot = "skype4pidgin-${version}-src/skypeweb"; diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-facebook/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-facebook/default.nix new file mode 100644 index 000000000000..cc58736afa59 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-facebook/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchFromGitHub, pidgin, glib, json_glib, mercurial, autoreconfHook } : + +stdenv.mkDerivation rec { + name = "purple-facebook-${version}"; + version = "2016-04-09"; + + src = fetchFromGitHub { + owner = "dequis"; + repo = "purple-facebook"; + rev = "66ee77378d82"; + sha256 = "0kr9idl79h70lacd3cvpmzvfd6il3b5xm2fj1sj96l7bjhiw9s3y"; + }; + + preAutoreconf = "./autogen.sh"; + + makeFlags = [ + "PLUGIN_DIR_PURPLE=/lib/pidgin/" + "DATA_ROOT_DIR_PURPLE=/share" + "DESTDIR=$(out)" + ]; + + postInstall = '' + mkdir -p $out/lib/purple-2 + cp pidgin/libpurple/protocols/facebook/.libs/*.so $out/lib/purple-2/ + ''; + + buildInputs = [ pidgin glib json_glib mercurial autoreconfHook]; + + meta = with stdenv.lib; { + inherit (src.meta) homepage; + description = "Facebook protocol plugin for libpurple"; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = with maintainers; [ davorb ]; + }; +} diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-hangouts/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-hangouts/default.nix index 494496e48075..7134b3179d0e 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-hangouts/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-hangouts/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { name = "purple-hangouts-hg-${version}"; - version = "2016-07-17"; + version = "2016-10-01"; src = fetchhg { url = "https://bitbucket.org/EionRobb/purple-hangouts/"; - rev = "2c60a5e"; - sha256 = "1m8132ywg9982q3yiqgy1hzm61wkgi590425pp8yk1q03yipd6zb"; + rev = "00e28b7"; + sha256 = "08jllhhww3cqlw6dg9w1hli3havdfzb47grcdl184537gl2bl49d"; }; buildInputs = [ pidgin glib json_glib protobuf protobufc ]; diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/telegram-purple/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/telegram-purple/default.nix index 1a036c3083b2..4b68d603f211 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/telegram-purple/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/telegram-purple/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p $out/lib/pidgin/ - cp bin/*.so $out/lib/pidgin/ + cp bin/*.so $out/lib/pidgin/ #*/ cp tg-server.tglpub $out/lib/pidgin/server.tglpub mkdir -p $out/pixmaps/pidgin/protocols/{16,22,48} cp imgs/telegram16.png $out/pixmaps/pidgin/protocols/16 @@ -29,11 +29,11 @@ stdenv.mkDerivation rec { cp imgs/telegram48.png $out/pixmaps/pidgin/protocols/48 ''; - meta = { + meta = with stdenv.lib; { homepage = https://github.com/majn/telegram-purple; description = "Telegram for Pidgin / libpurple"; - license = stdenv.lib.licenses.gpl2; - maintainers = stdenv.lib.maintainers.jagajaga; - platforms = stdenv.lib.platforms.linux; + license = licenses.gpl2; + maintainers = [ maintainers.jagajaga ]; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/networking/instant-messengers/pidgin/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/default.nix index 9123f6b39ed7..def683882dc9 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchurl, makeWrapper, pkgconfig, gtk, gtkspell, aspell -, gstreamer, gst_plugins_base, gst_plugins_good, startupnotification, gettext -, perl, perlXMLParser, libxml2, nss, nspr, farsight2 +{ stdenv, fetchurl, makeWrapper, pkgconfig, gtk2, gtkspell2, aspell +, gst_all_1, startupnotification, gettext +, perl, perlXMLParser, libxml2, nss, nspr, farstream, farsight2 , libXScrnSaver, ncurses, avahi, dbus, dbus_glib, intltool, libidn , lib, python, libICE, libXext, libSM , openssl ? null @@ -14,21 +14,23 @@ let unwrapped = stdenv.mkDerivation rec { name = "pidgin-${version}"; majorVersion = "2"; - version = "${majorVersion}.10.11"; + version = "${majorVersion}.11.0"; src = fetchurl { url = "mirror://sourceforge/pidgin/${name}.tar.bz2"; - sha256 = "01s0q30qrjlzj7kkz6f8lvrwsdd55a9yjh2xjjwyyxzw849j3bpj"; + sha256 = "0crkggjj6y07v1kdwil9vw532b0vrs6p33nmlvdkpnl60m2169pp"; }; inherit nss ncurses; nativeBuildInputs = [ makeWrapper ]; + NIX_CFLAGS_COMPILE = "-I${gst_all_1.gst-plugins-base.dev}/include/gstreamer-1.0"; + buildInputs = [ - gtkspell aspell - gstreamer gst_plugins_base gst_plugins_good startupnotification - libxml2 nss nspr farsight2 + gtkspell2 aspell startupnotification + gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good + libxml2 nss nspr farstream farsight2 libXScrnSaver ncurses python avahi dbus dbus_glib intltool libidn libICE libXext libSM @@ -38,10 +40,10 @@ let unwrapped = stdenv.mkDerivation rec { ++ (lib.optional (libgcrypt != null) libgcrypt); propagatedBuildInputs = [ - pkgconfig gtk perl perlXMLParser gettext + pkgconfig gtk2 perl perlXMLParser gettext ]; - patches = [./pidgin-makefile.patch ./add-search-path.patch ]; + patches = [ ./pidgin-makefile.patch ./add-search-path.patch ]; configureFlags = [ "--with-nspr-includes=${nspr.dev}/include/nspr" diff --git a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-makefile.patch b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-makefile.patch index 2812496effaf..049d404a8d5f 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-makefile.patch +++ b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-makefile.patch @@ -1,15 +1,16 @@ -diff -ru pidgin-2.6.4/pidgin/Makefile.am pidgin-2.6.4.new/pidgin/Makefile.am ---- pidgin-2.6.4/pidgin/Makefile.am 2009-11-30 04:13:54.000000000 +0100 -+++ pidgin-2.6.4.new/pidgin/Makefile.am 2009-12-27 17:30:58.000000000 +0100 -@@ -200,6 +200,7 @@ +diff --git a/pidgin/Makefile.am b/pidgin/Makefile.am +index 84d927b..1467c19 100644 +--- a/pidgin/Makefile.am ++++ b/pidgin/Makefile.am +@@ -151,6 +151,7 @@ pidgin_LDADD = \ $(GLIB_LIBS) \ $(DBUS_LIBS) \ $(GSTREAMER_LIBS) \ + $(GSTINTERFACES_LIBS) \ + $(GSTVIDEO_LIBS) \ $(XSS_LIBS) \ $(SM_LIBS) \ - $(INTLLIBS) \ -@@ -224,6 +225,7 @@ +@@ -171,6 +172,7 @@ AM_CPPFLAGS = \ -I$(top_srcdir) \ $(GLIB_CFLAGS) \ $(GSTREAMER_CFLAGS) \ @@ -17,18 +18,19 @@ diff -ru pidgin-2.6.4/pidgin/Makefile.am pidgin-2.6.4.new/pidgin/Makefile.am $(DEBUG_CFLAGS) \ $(GTK_CFLAGS) \ $(DBUS_CFLAGS) \ -diff -ru pidgin-2.6.4/pidgin/Makefile.in pidgin-2.6.4.new/pidgin/Makefile.in ---- pidgin-2.6.4/pidgin/Makefile.in 2009-11-30 05:12:21.000000000 +0100 -+++ pidgin-2.6.4.new/pidgin/Makefile.in 2009-12-27 17:30:36.000000000 +0100 -@@ -645,6 +645,7 @@ +diff --git a/pidgin/Makefile.in b/pidgin/Makefile.in +index 0d51e25..dd5d879 100644 +--- a/pidgin/Makefile.in ++++ b/pidgin/Makefile.in +@@ -703,6 +703,7 @@ EXTRA_DIST = \ @ENABLE_GTK_TRUE@ $(GLIB_LIBS) \ @ENABLE_GTK_TRUE@ $(DBUS_LIBS) \ @ENABLE_GTK_TRUE@ $(GSTREAMER_LIBS) \ +@ENABLE_GTK_TRUE@ $(GSTINTERFACES_LIBS) \ + @ENABLE_GTK_TRUE@ $(GSTVIDEO_LIBS) \ @ENABLE_GTK_TRUE@ $(XSS_LIBS) \ @ENABLE_GTK_TRUE@ $(SM_LIBS) \ - @ENABLE_GTK_TRUE@ $(INTLLIBS) \ -@@ -666,6 +667,7 @@ +@@ -723,6 +724,7 @@ EXTRA_DIST = \ @ENABLE_GTK_TRUE@ -I$(top_srcdir) \ @ENABLE_GTK_TRUE@ $(GLIB_CFLAGS) \ @ENABLE_GTK_TRUE@ $(GSTREAMER_CFLAGS) \ @@ -36,23 +38,25 @@ diff -ru pidgin-2.6.4/pidgin/Makefile.in pidgin-2.6.4.new/pidgin/Makefile.in @ENABLE_GTK_TRUE@ $(DEBUG_CFLAGS) \ @ENABLE_GTK_TRUE@ $(GTK_CFLAGS) \ @ENABLE_GTK_TRUE@ $(DBUS_CFLAGS) \ -diff -ru pidgin-2.6.4/pidgin/plugins/Makefile.am pidgin-2.6.4.new/pidgin/plugins/Makefile.am ---- pidgin-2.6.4/pidgin/plugins/Makefile.am 2009-11-30 04:13:57.000000000 +0100 -+++ pidgin-2.6.4.new/pidgin/plugins/Makefile.am 2009-12-27 16:58:50.000000000 +0100 -@@ -137,6 +137,7 @@ - $(DEBUG_CFLAGS) \ +diff --git a/pidgin/plugins/Makefile.am b/pidgin/plugins/Makefile.am +index 3bb8c22..6d1e869 100644 +--- a/pidgin/plugins/Makefile.am ++++ b/pidgin/plugins/Makefile.am +@@ -145,6 +145,7 @@ AM_CPPFLAGS = \ $(GTK_CFLAGS) \ + $(UNITY_CFLAGS) \ $(GSTREAMER_CFLAGS) \ + $(GSTINTERFACES_CFLAGS) \ $(PLUGIN_CFLAGS) # -diff -ru pidgin-2.6.4/pidgin/plugins/Makefile.in pidgin-2.6.4.new/pidgin/plugins/Makefile.in ---- pidgin-2.6.4/pidgin/plugins/Makefile.in 2009-11-30 05:12:22.000000000 +0100 -+++ pidgin-2.6.4.new/pidgin/plugins/Makefile.in 2009-12-27 16:59:13.000000000 +0100 -@@ -644,6 +644,7 @@ - $(DEBUG_CFLAGS) \ +diff --git a/pidgin/plugins/Makefile.in b/pidgin/plugins/Makefile.in +index 82a34aa..1f7db00 100644 +--- a/pidgin/plugins/Makefile.in ++++ b/pidgin/plugins/Makefile.in +@@ -781,6 +781,7 @@ AM_CPPFLAGS = \ $(GTK_CFLAGS) \ + $(UNITY_CFLAGS) \ $(GSTREAMER_CFLAGS) \ + $(GSTINTERFACES_CFLAGS) \ $(PLUGIN_CFLAGS) diff --git a/pkgs/applications/networking/instant-messengers/pond/default.nix b/pkgs/applications/networking/instant-messengers/pond/default.nix index 3b7b96b778f0..8190be65e75b 100644 --- a/pkgs/applications/networking/instant-messengers/pond/default.nix +++ b/pkgs/applications/networking/instant-messengers/pond/default.nix @@ -18,7 +18,7 @@ buildGoPackage rec { sha256 = "1dmgbg4ak3jkbgmxh0lr4hga1nl623mh7pvsgby1rxl4ivbzwkh4"; }; - goDeps = ./deps.json; + goDeps = ./deps.nix; buildInputs = [ trousers pkgconfig gtk3 gtkspell3 ] ++ stdenv.lib.optional isx86_64 dclxvi diff --git a/pkgs/applications/networking/instant-messengers/pond/deps.json b/pkgs/applications/networking/instant-messengers/pond/deps.json deleted file mode 100644 index c4d600a2ab3e..000000000000 --- a/pkgs/applications/networking/instant-messengers/pond/deps.json +++ /dev/null @@ -1,47 +0,0 @@ -[ - { - "goPackagePath": "golang.org/x/crypto", - "fetch": { - "type": "git", - "url": "https://go.googlesource.com/crypto", - "rev": "575fdbe86e5dd89229707ebec0575ce7d088a4a6", - "sha256": "1kgv1mkw9y404pk3lcwbs0vgl133mwyp294i18jg9hp10s5d56xa" - } - }, - { - "goPackagePath": "github.com/agl/ed25519", - "fetch": { - "type": "git", - "url": "https://github.com/agl/ed25519", - "rev": "278e1ec8e8a6e017cd07577924d6766039146ced", - "sha256": "165d89cc6dl28j4hkn86pny0jz3sa6hamzdvpvwdj4iha3x6lzc9" - } - }, - { - "goPackagePath": "github.com/golang/protobuf", - "fetch": { - "type": "git", - "url": "https://github.com/golang/protobuf", - "rev": "59b73b37c1e45995477aae817e4a653c89a858db", - "sha256": "1dx22jvhvj34ivpr7gw01fncg9yyx35mbpal4mpgnqka7ajmgjsa" - } - }, - { - "goPackagePath": "golang.org/x/net", - "fetch": { - "type": "git", - "url": "https://go.googlesource.com/net", - "rev": "62ac18b461605b4be188bbc7300e9aa2bc836cd4", - "sha256": "0lwwvbbwbf3yshxkfhn6z20gd45dkvnmw2ms36diiy34krgy402p" - } - }, - { - "goPackagePath": "github.com/agl/go-gtk", - "fetch": { - "type": "git", - "url": "https://github.com/agl/go-gtk", - "rev": "91c1edb38c241d73129e6b098ca1c9fa83abfc15", - "sha256": "156ixlhakpqgyp35rsvmndrqz8aggv5bcmzg9ynpri3b9j6kim4d" - } - } -] diff --git a/pkgs/applications/networking/instant-messengers/pond/deps.nix b/pkgs/applications/networking/instant-messengers/pond/deps.nix new file mode 100644 index 000000000000..55850f0a89c2 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/pond/deps.nix @@ -0,0 +1,47 @@ +[ + { + goPackagePath = "golang.org/x/crypto"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/crypto"; + rev = "575fdbe86e5dd89229707ebec0575ce7d088a4a6"; + sha256 = "1kgv1mkw9y404pk3lcwbs0vgl133mwyp294i18jg9hp10s5d56xa"; + }; + } + { + goPackagePath = "github.com/agl/ed25519"; + fetch = { + type = "git"; + url = "https://github.com/agl/ed25519"; + rev = "278e1ec8e8a6e017cd07577924d6766039146ced"; + sha256 = "165d89cc6dl28j4hkn86pny0jz3sa6hamzdvpvwdj4iha3x6lzc9"; + }; + } + { + goPackagePath = "github.com/golang/protobuf"; + fetch = { + type = "git"; + url = "https://github.com/golang/protobuf"; + rev = "59b73b37c1e45995477aae817e4a653c89a858db"; + sha256 = "1dx22jvhvj34ivpr7gw01fncg9yyx35mbpal4mpgnqka7ajmgjsa"; + }; + } + { + goPackagePath = "golang.org/x/net"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/net"; + rev = "62ac18b461605b4be188bbc7300e9aa2bc836cd4"; + sha256 = "0lwwvbbwbf3yshxkfhn6z20gd45dkvnmw2ms36diiy34krgy402p"; + }; + } + { + goPackagePath = "github.com/agl/go-gtk"; + fetch = { + type = "git"; + url = "https://github.com/agl/go-gtk"; + rev = "91c1edb38c241d73129e6b098ca1c9fa83abfc15"; + sha256 = "156ixlhakpqgyp35rsvmndrqz8aggv5bcmzg9ynpri3b9j6kim4d"; + }; + } +] diff --git a/pkgs/applications/networking/instant-messengers/profanity/default.nix b/pkgs/applications/networking/instant-messengers/profanity/default.nix index ac4776c20722..e556eeb72834 100644 --- a/pkgs/applications/networking/instant-messengers/profanity/default.nix +++ b/pkgs/applications/networking/instant-messengers/profanity/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchurl, automake, autoconf, pkgconfig, glib, openssl, expat -, ncurses, libotr, curl, libstrophe, readline, libuuid +{ stdenv, fetchurl, pkgconfig, glib, openssl, expat, libmesode +, ncurses, libotr, curl, readline, libuuid , autoAwaySupport ? false, libXScrnSaver ? null, libX11 ? null , notifySupport ? false, libnotify ? null, gdk_pixbuf ? null @@ -12,21 +12,19 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "profanity-${version}"; - version = "0.4.7"; + version = "0.5.0"; src = fetchurl { url = "http://www.profanity.im/profanity-${version}.tar.gz"; - sha256 = "1p8ixvxacvf63r6lnf6iwlyz4pgiyp6widna1h2l2jg8kw14wb5h"; + sha256 = "0s4njc4rcaii51qw1najxa0fa8bb2fnas00z47y94wdbdsmfhfvq"; }; buildInputs = [ - automake autoconf pkgconfig readline libuuid - glib openssl expat ncurses libotr curl libstrophe + pkgconfig readline libuuid libmesode + glib openssl expat ncurses libotr curl ] ++ optionals autoAwaySupport [ libXScrnSaver libX11 ] ++ optionals notifySupport [ libnotify gdk_pixbuf ]; - preConfigure = "sh bootstrap.sh"; - meta = { description = "A console based XMPP client"; longDescription = '' diff --git a/pkgs/applications/networking/instant-messengers/pybitmessage/default.nix b/pkgs/applications/networking/instant-messengers/pybitmessage/default.nix index 9675b5d5315a..ec4eb91d6ab1 100644 --- a/pkgs/applications/networking/instant-messengers/pybitmessage/default.nix +++ b/pkgs/applications/networking/instant-messengers/pybitmessage/default.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { sha256 = "1f4h0yc1mfjnxzvxiv9hxgak59mgr3a5ykv50vlyiay82za20jax"; }; - buildInputs = with pythonPackages; [ python pyqt4 wrapPython sqlite3 ] ++ [ openssl ]; + buildInputs = with pythonPackages; [ python pyqt4 wrapPython ] ++ [ openssl ]; preConfigure = '' substituteInPlace Makefile \ diff --git a/pkgs/applications/networking/instant-messengers/qtox/default.nix b/pkgs/applications/networking/instant-messengers/qtox/default.nix index b30605294b33..9a26e2e4fc0f 100644 --- a/pkgs/applications/networking/instant-messengers/qtox/default.nix +++ b/pkgs/applications/networking/instant-messengers/qtox/default.nix @@ -4,7 +4,7 @@ qtbase, qtsvg, qttools, qmakeHook, qttranslations, sqlcipher }: let - version = "1.4.1"; + version = "1.5.0"; revision = "v${version}"; in @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { owner = "tux3"; repo = "qTox"; rev = revision; - sha256 = "1n0bfcfc90pnh0bzas7gv60jicsg9vpfwhhln9hkllsrimjvcdq5"; + sha256 = "1na2qqzbdbjfw8kymxw5jfglslmw18fz3vpw805pqg4d5y7f7vsi"; }; buildInputs = diff --git a/pkgs/applications/networking/instant-messengers/rambox/default.nix b/pkgs/applications/networking/instant-messengers/rambox/default.nix new file mode 100644 index 000000000000..e0b86dfc6331 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/rambox/default.nix @@ -0,0 +1,68 @@ +{ stdenv, fetchurl, makeDesktopItem +, xorg, gtk2, atk, glib, pango, gdk_pixbuf, cairo, freetype, fontconfig +, gnome2, dbus, nss, nspr, alsaLib, cups, expat, udev, libnotify }: + +let + bits = if stdenv.system == "x86_64-linux" then "x64" + else "ia32"; + + version = "0.4.5"; + + myIcon = fetchurl { + url = "https://raw.githubusercontent.com/saenzramiro/rambox/9e4444e6297dd35743b79fe23f8d451a104028d5/resources/Icon.png"; + sha256 = "0r00l4r5mlbgn689i3rp6ks11fgs4h2flvrlggvm2qdd974d1x0b"; + }; + + desktopItem = makeDesktopItem rec { + name = "Rambox"; + exec = name; + icon = myIcon; + desktopName = name; + genericName = "Rambox messenger"; + categories = "Network;"; + }; +in stdenv.mkDerivation rec { + name = "rambox-${version}"; + src = fetchurl { + url = "https://github.com/saenzramiro/rambox/releases/download/${version}/Rambox-${version}-${bits}.tar.gz"; + sha256 = if bits == "x64" then + "0z2rmfiwhb6v2hkzgrbkd4nhdvm1rssh0mbfbdmdwxq91qzp6558" else + "0gq0ywk1jr0apl39dnm0vwdwg1inr7fari3cmfz3fvaym7gc8fki"; + }; + + phases = [ "unpackPhase" "installPhase" "postFixup" ]; + + deps = with xorg; [ + gtk2 atk glib pango gdk_pixbuf cairo freetype fontconfig dbus + libXi libXcursor libXdamage libXrandr libXcomposite libXext libXfixes + libXrender libX11 libXtst libXScrnSaver gnome2.GConf nss nspr alsaLib + cups expat stdenv.cc.cc + + udev libnotify + ]; + + installPhase = '' + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" Rambox + patchelf --set-rpath "$out/share/rambox:${stdenv.lib.makeLibraryPath deps}" Rambox + + mkdir -p $out/bin $out/share/rambox + cp -r * $out/share/rambox + ln -s $out/share/rambox/Rambox $out/bin + + mkdir -p $out/share/applications + ln -s ${desktopItem}/share/applications/* $out/share/applications + ''; + + postFixup = '' + paxmark m $out/share/rambox/Rambox + ''; + + meta = with stdenv.lib; { + description = "Free and Open Source messaging and emailing app that combines common web applications into one"; + homepage = http://rambox.pro; + license = licenses.mit; + maintainers = [ stdenv.lib.maintainers.gnidorah ]; + platforms = ["i686-linux" "x86_64-linux"]; + hydraPlatforms = []; + }; +} diff --git a/pkgs/applications/networking/instant-messengers/ricochet/default.nix b/pkgs/applications/networking/instant-messengers/ricochet/default.nix index 15cc5a0f093a..d1af2ad70d19 100644 --- a/pkgs/applications/networking/instant-messengers/ricochet/default.nix +++ b/pkgs/applications/networking/instant-messengers/ricochet/default.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { name = "ricochet-${version}"; - version = "1.1.2"; + version = "1.1.4"; src = fetchurl { url = "https://github.com/ricochet-im/ricochet/archive/v${version}.tar.gz"; - sha256 = "1szb5vmlqal0vhan87kgbks184f7xbfay1hr3d3vm8r1lvcjjfkr"; + sha256 = "1kfj42ksvj7axc809lb8siqzj5hck2pib427b63a3ipnqc5h1faf"; }; desktopItem = makeDesktopItem { @@ -51,7 +51,7 @@ stdenv.mkDerivation rec { description = "Anonymous peer-to-peer instant messaging"; homepage = "https://ricochet.im"; license = licenses.bsd3; - maintainers = [ maintainers.codsl maintainers.jgillich ]; + maintainers = [ maintainers.codsl maintainers.jgillich maintainers.np ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/networking/instant-messengers/salut-a-toi/default.nix b/pkgs/applications/networking/instant-messengers/salut-a-toi/default.nix index d442addaeaa4..c035fc626651 100644 --- a/pkgs/applications/networking/instant-messengers/salut-a-toi/default.nix +++ b/pkgs/applications/networking/instant-messengers/salut-a-toi/default.nix @@ -12,7 +12,7 @@ in stdenv.mkDerivation rec { buildInputs = with pythonPackages; [ - python twisted urwid beautifulsoup wxPython pygobject + python twisted urwid beautifulsoup wxPython pygobject2 wokkel dbus-python pyfeed wrapPython setuptools ]; @@ -26,7 +26,7 @@ in stdenv.mkDerivation rec { ''; buildPhase = '' - ${python.interpreter}setup.py build + ${python.interpreter} setup.py build ''; installPhase = '' diff --git a/pkgs/applications/networking/instant-messengers/scudcloud/default.nix b/pkgs/applications/networking/instant-messengers/scudcloud/default.nix new file mode 100644 index 000000000000..5e5c2fe8eed6 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/scudcloud/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchgit, python3Packages }: + +python3Packages.buildPythonPackage { + name = "scudcloud-1.38"; + + # Branch 254-port-to-qt5 + # https://github.com/raelgc/scudcloud/commit/6bcd877daea3d679cd5fd2c946c2d933940c48d9 + src = fetchgit { + url = https://github.com/raelgc/scudcloud/; + rev = "6bcd877daea3d679cd5fd2c946c2d933940c48d9"; + sha256 = "1884svz6m5vl06d0yac5zjb2phxwg6bjva72y15fw4larkjnh72s"; + }; + + propagatedBuildInputs = with python3Packages; [ pyqt5 dbus-python ]; + + meta = with stdenv.lib; { + description = "Non-official desktop client for Slack"; + homepage = "https://github.com/raelgc/scudcloud"; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ volhovm ]; + }; +} diff --git a/pkgs/applications/networking/instant-messengers/skype/default.nix b/pkgs/applications/networking/instant-messengers/skype/default.nix index 5bb2121b1fda..a84b9cbf31c1 100644 --- a/pkgs/applications/networking/instant-messengers/skype/default.nix +++ b/pkgs/applications/networking/instant-messengers/skype/default.nix @@ -38,6 +38,9 @@ stdenv.mkDerivation rec { mkdir -p $out/{libexec/skype/,bin} cp -r * $out/libexec/skype/ + # Fix execution on PaX-enabled kernels + paxmark m $out/libexec/skype/skype + patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --set-rpath "${lib.makeLibraryPath buildInputs}" $out/libexec/skype/skype diff --git a/pkgs/applications/networking/instant-messengers/slack/default.nix b/pkgs/applications/networking/instant-messengers/slack/default.nix index 669ab7d3beda..240aebe91753 100644 --- a/pkgs/applications/networking/instant-messengers/slack/default.nix +++ b/pkgs/applications/networking/instant-messengers/slack/default.nix @@ -1,10 +1,10 @@ { stdenv, fetchurl, dpkg -, alsaLib, atk, cairo, cups, dbus, expat, fontconfig, freetype, glib, gnome +, alsaLib, atk, cairo, cups, dbus, expat, fontconfig, freetype, glib, gnome2 , libnotify, nspr, nss, systemd, xorg }: let - version = "2.1.0"; + version = "2.3.4"; rpath = stdenv.lib.makeLibraryPath [ alsaLib @@ -16,10 +16,10 @@ let fontconfig freetype glib - gnome.GConf - gnome.gdk_pixbuf - gnome.gtk - gnome.pango + gnome2.GConf + gnome2.gdk_pixbuf + gnome2.gtk + gnome2.pango libnotify nspr nss @@ -36,13 +36,14 @@ let xorg.libXrandr xorg.libXrender xorg.libXtst + xorg.libXScrnSaver ] + ":${stdenv.cc.cc.lib}/lib64"; src = if stdenv.system == "x86_64-linux" then fetchurl { url = "https://slack-ssb-updates.global.ssl.fastly.net/linux_releases/slack-desktop-${version}-amd64.deb"; - sha256 = "0p9ffcy3xva1jwaafw4kw424687838s6cn5dh82ncvcr1pnyk63b"; + sha256 = "01kr7maj8f4yinyri7rs4pmzab9cvp48xfqw3ilirx4mvh8mr1fd"; } else throw "Slack is not supported on ${stdenv.system}"; diff --git a/pkgs/applications/networking/instant-messengers/teamspeak/server.nix b/pkgs/applications/networking/instant-messengers/teamspeak/server.nix index f95d3f0490aa..73e8ab83f725 100644 --- a/pkgs/applications/networking/instant-messengers/teamspeak/server.nix +++ b/pkgs/applications/networking/instant-messengers/teamspeak/server.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, makeWrapper }: let - version = "3.0.12.4"; + version = "3.0.13.5"; arch = if stdenv.is64bit then "amd64" else "x86"; libDir = if stdenv.is64bit then "lib64" else "lib"; in @@ -15,8 +15,8 @@ stdenv.mkDerivation { "http://teamspeak.gameserver.gamed.de/ts3/releases/${version}/teamspeak3-server_linux_${arch}-${version}.tar.bz2" ]; sha256 = if stdenv.is64bit - then "1n8vgbgnfbllfvsl82ai6smv6hl32a3nd071j2dp79agjz4fic3b" - else "19vkcgb0h71amixry8r72qqwaxwplzyz9nrxg5bdjjg8r2mkh4bc"; + then "bd5933dd17d17f93d56f69332927cd1ce6f34439ec464a0ce2ca73102d85080c" + else "848e1a44af3c2b00840a280ba558a13407f4844432ddfd262ee8a7800365386b"; }; buildInputs = [ makeWrapper ]; @@ -60,7 +60,7 @@ stdenv.mkDerivation { meta = { description = "TeamSpeak voice communication server"; - homepage = http://teamspeak.com/; + homepage = https://teamspeak.com/; license = stdenv.lib.licenses.unfreeRedistributable; platforms = stdenv.lib.platforms.linux; maintainers = [ stdenv.lib.maintainers.arobyn ]; diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix index 130fe644143e..c07258a78371 100644 --- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix @@ -1,60 +1,59 @@ -{ stdenv, lib, fetchFromGitHub, fetchgit, qtbase, qtimageformats +{ stdenv, lib, fetchFromGitHub, fetchgit, pkgconfig, gyp, cmake +, qtbase, qtimageformats, qtwayland , breakpad, ffmpeg, openalSoft, openssl, zlib, libexif, lzma, libopus , gtk2, glib, cairo, pango, gdk_pixbuf, atk, libappindicator-gtk2 -, libwebp, libunity, dee, libdbusmenu-glib, libva +, libwebp, libunity, dee, libdbusmenu-glib, libva-full, wayland +, xcbutilrenderutil, icu, libSM, libICE, libproxy -, pkgconfig, libxcb, xcbutilwm, xcbutilimage, xcbutilkeysyms -, libxkbcommon, libpng, libjpeg, freetype, harfbuzz, pcre16 -, xproto, libX11, inputproto, sqlite, dbus +, libxcb, xcbutilwm, xcbutilimage, xcbutilkeysyms, libxkbcommon +, libpng, libjpeg, freetype, harfbuzz, pcre16, xproto, libX11 +, inputproto, sqlite, dbus }: let system-x86_64 = lib.elem stdenv.system lib.platforms.x86_64; - packagedQt = "5.6.0"; + packagedQt = "5.6.2"; # Hacky: split "1.2.3-4" into "1.2.3" and "4" systemQt = (builtins.parseDrvName qtbase.version).name; + qtLibs = [ qtbase qtimageformats qtwayland ]; in stdenv.mkDerivation rec { name = "telegram-desktop-${version}"; - version = "0.10.1"; + version = "0.10.19"; qtVersion = lib.replaceStrings ["."] ["_"] packagedQt; src = fetchFromGitHub { owner = "telegramdesktop"; repo = "tdesktop"; rev = "v${version}"; - sha256 = "08isxwif6zllglkpd9i7ypxm2s4bibzqris48607bafr88ylksdk"; + sha256 = "1p07kxfmcd90sx9bq046x03h1h807vs0pn64lfghr6m6ln8z44s3"; }; tgaur = fetchgit { url = "https://aur.archlinux.org/telegram-desktop.git"; - rev = "9ce7be9efed501f988bb099956fa63729f2c25ea"; - sha256 = "1wp6lqscpm2byizchm0bj48dg9bga02r9r69ns10zxk0gk0qvvdn"; + rev = "99bb0519f14e23fafb6884fe296d34b6f8bed5c3"; + sha256 = "0z5m3binbl06kk34plmfblhqz6hlnkbnjb93sam0c6c995k3sz82"; }; buildInputs = [ breakpad ffmpeg openalSoft openssl zlib libexif lzma libopus gtk2 glib libappindicator-gtk2 libunity cairo pango gdk_pixbuf atk - dee libdbusmenu-glib libva + dee libdbusmenu-glib libva-full xcbutilrenderutil icu libproxy + libSM libICE # Qt dependencies libxcb xcbutilwm xcbutilimage xcbutilkeysyms libxkbcommon libpng libjpeg freetype harfbuzz pcre16 xproto libX11 - inputproto sqlite dbus libwebp + inputproto sqlite dbus libwebp wayland ]; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig gyp cmake ]; + + patches = [ "${tgaur}/aur-fixes.diff" ]; enableParallelBuilding = true; - qmakeFlags = [ - "CONFIG+=release" - "DEFINES+=TDESKTOP_DISABLE_AUTOUPDATE" - "DEFINES+=TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME" - "INCLUDEPATH+=${breakpad}/include/breakpad" - "QT_TDESKTOP_VERSION=${systemQt}" - ]; - - qtSrcs = [ qtbase.src qtimageformats.src ]; + qtSrcs = builtins.map (x: x.src) qtLibs; + qtNames = builtins.map (x: (builtins.parseDrvName x.name).name) (lib.tail qtLibs); qtPatches = qtbase.patches; buildCommand = '' @@ -62,15 +61,23 @@ in stdenv.mkDerivation rec { cd "$sourceRoot" patchPhase - sed -i 'Telegram/Telegram.pro' \ - -e 's,CUSTOM_API_ID,,g' \ - -e 's,/usr,/does-not-exist,g' \ - -e 's, -flto,,g' \ - -e 's,LIBS += .*libbreakpad_client.a,LIBS += ${breakpad}/lib/libbreakpad_client.a,' \ - -e 's, -static-libstdc++,,g' \ - -e '/LIBS += .*libxkbcommon.a/d' - export qmakeFlags="$qmakeFlags QT_TDESKTOP_PATH=$PWD/../qt" + sed -i Telegram/gyp/Telegram.gyp \ + -e 's,/usr/include/breakpad,${breakpad}/include/breakpad,g' + + sed -i Telegram/gyp/telegram_linux.gypi \ + -e 's,/usr,/does-not-exist,g' \ + -e 's,-flto,,g' + + sed -i Telegram/gyp/qt.gypi \ + -e 's,${packagedQt},${systemQt},g' + + gypFlagsArray=( + "-Dlinux_path_qt=$PWD/../qt" + "-Dlinux_lib_ssl=-lssl" + "-Dlinux_lib_crypto=-lcrypto" + "-Dlinux_lib_icu=-licuuc -licutu -licui18n" + ) export QMAKE=$PWD/../qt/bin/qmake ( mkdir -p ../Libraries @@ -79,7 +86,7 @@ in stdenv.mkDerivation rec { tar -xaf $i done cd qtbase-* - # This patch is outdated but the fixes doesn't feel very important + # This patch is often outdated but the fixes doesn't feel very important patch -p1 < ../../$sourceRoot/Telegram/Patches/qtbase_${qtVersion}.diff || true for i in $qtPatches; do patch -p1 < $i @@ -89,8 +96,8 @@ in stdenv.mkDerivation rec { export configureFlags="-prefix "$PWD/../qt" -release -opensource -confirm-license -system-zlib \ -system-libpng -system-libjpeg -system-freetype -system-harfbuzz -system-pcre -system-xcb \ - -system-xkbcommon-x11 -no-opengl -static -nomake examples -nomake tests \ - -openssl-linked -dbus-linked -system-sqlite -verbose -no-gtkstyle \ + -system-xkbcommon-x11 -no-eglfs -no-gtkstyle -static -nomake examples -nomake tests \ + -no-directfb -system-proxies -openssl-linked -dbus-linked -system-sqlite -verbose \ ${lib.optionalString (!system-x86_64) "-no-sse2"} -no-sse3 -no-ssse3 \ -no-sse4.1 -no-sse4.2 -no-avx -no-avx2 -no-mips_dsp -no-mips_dspr2" export dontAddPrefix=1 @@ -101,39 +108,29 @@ in stdenv.mkDerivation rec { buildPhase make install ) - - ( cd qtimageformats-* - $QMAKE - buildPhase - make install - ) + for i in $qtNames; do + ( cd $i-* + $QMAKE + buildPhase + make install + ) + done ) - ( mkdir -p Linux/obj/codegen_style/Debug - cd Linux/obj/codegen_style/Debug - $QMAKE $qmakeFlags ../../../../Telegram/build/qmake/codegen_style/codegen_style.pro - buildPhase + ( cd Telegram/gyp + gyp "''${gypFlagsArray[@]}" --depth=. --generator-output=../.. -Goutput_dir=out Telegram.gyp --format=cmake ) - ( mkdir -p Linux/obj/codegen_numbers/Debug - cd Linux/obj/codegen_numbers/Debug - $QMAKE $qmakeFlags ../../../../Telegram/build/qmake/codegen_numbers/codegen_numbers.pro - buildPhase - ) - ( mkdir -p Linux/DebugIntermediateLang - cd Linux/DebugIntermediateLang - $QMAKE $qmakeFlags ../../Telegram/MetaLang.pro + + ( cd out/Release + export ASM=$(type -p gcc) + cmake . + # For some reason, it can't find stdafx.h -- we need to build dependencies till it fails and then retry. + buildPhase || true + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -include stdafx.h" buildPhase ) - ( mkdir -p Linux/ReleaseIntermediate - cd Linux/ReleaseIntermediate - $QMAKE $qmakeFlags ../../Telegram/Telegram.pro - pattern="^PRE_TARGETDEPS +=" - grep "$pattern" "../../Telegram/Telegram.pro" | sed "s/$pattern//g" | xargs make - buildPhase - ) - - install -Dm755 Linux/Release/Telegram $out/bin/telegram-desktop + install -Dm755 out/Release/Telegram $out/bin/telegram-desktop mkdir -p $out/share/applications $out/share/kde4/services sed "s,/usr/bin,$out/bin,g" $tgaur/telegramdesktop.desktop > $out/share/applications/telegramdesktop.desktop sed "s,/usr/bin,$out/bin,g" $tgaur/tg.protocol > $out/share/kde4/services/tg.protocol diff --git a/pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix index 971a834f4096..32266d7b42d5 100644 --- a/pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix +++ b/pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig, libxslt, telepathy_glib, libxml2, dbus_glib, dbus_daemon -, sqlite, libsoup, libnice, gnutls }: +, sqlite, libsoup, libnice, gnutls}: stdenv.mkDerivation rec { name = "telepathy-gabble-0.18.2"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkgconfig libxslt ]; - buildInputs = [ libxml2 dbus_glib sqlite libsoup libnice telepathy_glib gnutls ] + buildInputs = [ libxml2 dbus_glib sqlite libsoup libnice telepathy_glib gnutls telepathy_glib.python ] ++ stdenv.lib.optional doCheck dbus_daemon; configureFlags = "--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt"; diff --git a/pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix index ffc29a52aa1f..4e4a2a9b6a96 100644 --- a/pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix +++ b/pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pidgin, telepathy_glib, glib, dbus_glib, pkgconfig, libxslt }: +{ stdenv, fetchurl, fetchpatch, pidgin, telepathy_glib, glib, dbus_glib, pkgconfig, libxslt }: stdenv.mkDerivation rec { pname = "telepathy-haze"; @@ -9,10 +9,19 @@ stdenv.mkDerivation rec { sha256 = "1jgrp32p6rllj089ynbsk3n9xrvsvzmwzhf0ql05kkgj0nf08xiy"; }; - buildInputs = [ glib telepathy_glib dbus_glib pidgin ]; + buildInputs = [ glib telepathy_glib dbus_glib pidgin telepathy_glib.python ]; nativeBuildInputs = [ pkgconfig libxslt ]; + patches = [ + # Patch from Gentoo that helps telepathy-haze build with more + # recent versions of pidgin. + (fetchpatch { + url = https://raw.githubusercontent.com/gentoo/gentoo/master/net-voip/telepathy-haze/files/telepathy-haze-0.8.0-pidgin-2.10.12-compat.patch; + sha256 = "0fa1p4n1559qd096w7ya4kvfnc1c98ykarkxzlpkwvzbczwzng3c"; + }) + ]; + meta = { description = "A Telepathy connection manager based on libpurple"; platforms = stdenv.lib.platforms.gnu; # Random choice diff --git a/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix index 16a31f6f3ba1..c29c6def2f60 100644 --- a/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix +++ b/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { sha256 = "1argdzbif1vdmwp5vqbgkadq9ancjmgdm2ncp0qfckni715ss4rh"; }; - buildInputs = [ pkgconfig glib telepathy_glib dbus_glib libxslt ]; + buildInputs = [ pkgconfig glib telepathy_glib dbus_glib libxslt telepathy_glib.python ]; meta = { description = "IRC connection manager for the Telepathy framework"; diff --git a/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix index aaff39ccb44d..2ade2fd3edd0 100644 --- a/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix +++ b/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { NIX_CFLAGS_COMPILE = "-I${dbus_glib.dev}/include/dbus-1.0 -I${dbus_libs.dev}/include/dbus-1.0"; buildInputs = [ dbus_glib libxml2 sqlite telepathy_glib pkgconfig intltool - gobjectIntrospection dbus_libs ]; + gobjectIntrospection dbus_libs telepathy_glib.python ]; nativeBuildInputs = [ libxslt ]; diff --git a/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix index aab7f84f467a..a8fc9477707d 100644 --- a/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix +++ b/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "0zcbx69k0d3p2pjh3g7sa3q2zkd5xchxkqsmlfn3fwxaz0pmsmvi"; }; - buildInputs = [ telepathy_glib makeWrapper /*upower*/ ]; # ToDo: optional stuff missing + buildInputs = [ telepathy_glib telepathy_glib.python makeWrapper /*upower*/ ]; # ToDo: optional stuff missing # 5.16.3 won't build with upower-0.99. Arch and Debian choose to disable it nativeBuildInputs = [ pkgconfig libxslt ]; diff --git a/pkgs/applications/networking/instant-messengers/telepathy/rakia/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/rakia/default.nix index 538a8d7f6d2b..7d06d57ca9ac 100644 --- a/pkgs/applications/networking/instant-messengers/telepathy/rakia/default.nix +++ b/pkgs/applications/networking/instant-messengers/telepathy/rakia/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfigUpstream, libxslt, telepathy_glib, libxml2, dbus_glib -, python, sofia_sip }: +, sofia_sip }: stdenv.mkDerivation rec { pname = "telepathy-rakia"; @@ -10,8 +10,8 @@ stdenv.mkDerivation rec { sha256 = "18dxffa8hhjyvqkhhac05rrkx81vnncjrakg5ygikfp0j79vrbhv"; }; - nativeBuildInputs = [pkgconfigUpstream libxslt python]; - buildInputs = [ libxml2 dbus_glib telepathy_glib sofia_sip]; + nativeBuildInputs = [pkgconfigUpstream libxslt ]; + buildInputs = [ libxml2 dbus_glib telepathy_glib sofia_sip telepathy_glib.python ]; meta = { homepage = http://telepathy.freedesktop.org; diff --git a/pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix index 918be4e9b83e..cbae6af97b85 100644 --- a/pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix +++ b/pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { # pcre needed because https://github.com/NixOS/nixpkgs/pull/15046 buildInputs = [ glib libxml2 telepathy_glib avahi libsoup libuuid openssl - sqlite pcre ]; + sqlite pcre telepathy_glib.python ]; nativeBuildInputs = [ libxslt pkgconfigUpstream ]; diff --git a/pkgs/applications/networking/instant-messengers/toxic/default.nix b/pkgs/applications/networking/instant-messengers/toxic/default.nix index f733acf4133a..be72895b430a 100644 --- a/pkgs/applications/networking/instant-messengers/toxic/default.nix +++ b/pkgs/applications/networking/instant-messengers/toxic/default.nix @@ -1,24 +1,25 @@ -{ stdenv, fetchFromGitHub, autoconf, libtool, automake, libsodium, ncurses -, libtoxcore, openal, libvpx, freealut, libconfig, pkgconfig }: +{ stdenv, fetchFromGitHub, libsodium, ncurses, curl +, libtoxcore-dev, openal, libvpx, freealut, libconfig, pkgconfig +, libqrencode }: stdenv.mkDerivation rec { - name = "toxic-dev-20150125"; + name = "toxic-dev-20160728"; src = fetchFromGitHub { owner = "Tox"; repo = "toxic"; - rev = "4badc983ea"; - sha256 = "01zk6316v51f1zvp5ss53ay49h3nnaq5snlk0gxmsrmwg71bsnm6"; + rev = "cb21672600206423c844306a84f8b122e534c348"; + sha256 = "1nq1xnbyjfrk8jrjvk5sli1bm3i9r8b4m8f4xgmiz68mx1r3fn5k"; }; - makeFlags = [ "-Cbuild" "PREFIX=$(out)" ]; + makeFlags = [ "PREFIX=$(out)" ]; installFlags = [ "PREFIX=$(out)" ]; + nativeBuildInputs = [ pkgconfig libconfig ]; buildInputs = [ - autoconf libtool automake libtoxcore libsodium ncurses - libconfig pkgconfig + libtoxcore-dev libsodium ncurses curl ] ++ stdenv.lib.optionals (!stdenv.isArm) [ - openal libvpx freealut + openal libvpx freealut libqrencode ]; meta = with stdenv.lib; { diff --git a/pkgs/applications/networking/instant-messengers/utox/default.nix b/pkgs/applications/networking/instant-messengers/utox/default.nix index 227198ccd6b7..75995a6c5e38 100644 --- a/pkgs/applications/networking/instant-messengers/utox/default.nix +++ b/pkgs/applications/networking/instant-messengers/utox/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { name = "utox-${version}"; - version = "0.9.4"; + version = "0.9.8"; src = fetchFromGitHub { owner = "GrayHatter"; repo = "uTox"; rev = "v${version}"; - sha256 = "0kcz8idjsf3vc94ccxqkwnqdj5q1m8c720nsvixk25klzws2cshv"; + sha256 = "0ahwdwqhi1gmvw80jihc1ba4cqqnx8ifjnzazxidfdky4ikzccmn"; }; buildInputs = [ pkgconfig libtoxcore-dev dbus libvpx libX11 openal freetype diff --git a/pkgs/applications/networking/instant-messengers/viber/default.nix b/pkgs/applications/networking/instant-messengers/viber/default.nix index 9c25c6eaad2e..2e3832b9ee87 100644 --- a/pkgs/applications/networking/instant-messengers/viber/default.nix +++ b/pkgs/applications/networking/instant-messengers/viber/default.nix @@ -1,6 +1,6 @@ {fetchurl, stdenv, dpkg, makeWrapper, alsaLib, cups, curl, dbus, expat, fontconfig, freetype, glib, gst_all_1, harfbuzz, libcap, - libpulseaudio, mesa, nspr, nss, libudev, wayland, xorg, zlib, ... + libpulseaudio, mesa, nspr, nss, systemd, wayland, xorg, zlib, ... }: assert stdenv.system == "x86_64-linux"; @@ -39,7 +39,7 @@ stdenv.mkDerivation rec { nspr nss stdenv.cc.cc - libudev + systemd wayland zlib diff --git a/pkgs/applications/networking/instant-messengers/xmpp-client/default.nix b/pkgs/applications/networking/instant-messengers/xmpp-client/default.nix index de8d0c19b4f8..980d21572cc0 100644 --- a/pkgs/applications/networking/instant-messengers/xmpp-client/default.nix +++ b/pkgs/applications/networking/instant-messengers/xmpp-client/default.nix @@ -1,19 +1,20 @@ -{ stdenv, lib, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn }: +{ stdenv, buildGoPackage, fetchFromGitHub }: buildGoPackage rec { name = "xmpp-client-${version}"; - version = "20160110-${stdenv.lib.strings.substring 0 7 rev}"; - rev = "525bd26cf5f56ec5aee99464714fd1d019c119ff"; + version = "20160916-${stdenv.lib.strings.substring 0 7 rev}"; + rev = "abbf9020393e8caae3e8996a16ce48446e31cf0e"; goPackagePath = "github.com/agl/xmpp-client"; - src = fetchgit { + src = fetchFromGitHub { + owner = "agl"; + repo = "xmpp-client"; inherit rev; - url = "https://github.com/agl/xmpp-client"; - sha256 = "0a1r08zs723ikcskmn6ylkdi3frcd0i0lkx30i9q39ilf734v253"; + sha256 = "0j9mfr208cachzm39i8b94v5qk9hws278vv2ms9ma4wn16wns81s"; }; - goDeps = ./deps.json; + goDeps = ./deps.nix; meta = with stdenv.lib; { description = "An XMPP client with OTR support"; diff --git a/pkgs/applications/networking/instant-messengers/xmpp-client/deps.json b/pkgs/applications/networking/instant-messengers/xmpp-client/deps.json deleted file mode 100644 index 7ac2b86cc21f..000000000000 --- a/pkgs/applications/networking/instant-messengers/xmpp-client/deps.json +++ /dev/null @@ -1,20 +0,0 @@ -[ - { - "goPackagePath": "golang.org/x/net", - "fetch": { - "type": "git", - "url": "https://go.googlesource.com/net", - "rev": "62ac18b461605b4be188bbc7300e9aa2bc836cd4", - "sha256": "0lwwvbbwbf3yshxkfhn6z20gd45dkvnmw2ms36diiy34krgy402p" - } - }, - { - "goPackagePath": "golang.org/x/crypto", - "fetch": { - "type": "git", - "url": "https://go.googlesource.com/crypto", - "rev": "575fdbe86e5dd89229707ebec0575ce7d088a4a6", - "sha256": "1kgv1mkw9y404pk3lcwbs0vgl133mwyp294i18jg9hp10s5d56xa" - } - } -] diff --git a/pkgs/applications/networking/instant-messengers/xmpp-client/deps.nix b/pkgs/applications/networking/instant-messengers/xmpp-client/deps.nix new file mode 100644 index 000000000000..caa41024fc61 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/xmpp-client/deps.nix @@ -0,0 +1,20 @@ +[ + { + goPackagePath = "golang.org/x/net"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/net"; + rev = "62ac18b461605b4be188bbc7300e9aa2bc836cd4"; + sha256 = "0lwwvbbwbf3yshxkfhn6z20gd45dkvnmw2ms36diiy34krgy402p"; + }; + } + { + goPackagePath = "golang.org/x/crypto"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/crypto"; + rev = "575fdbe86e5dd89229707ebec0575ce7d088a4a6"; + sha256 = "1kgv1mkw9y404pk3lcwbs0vgl133mwyp294i18jg9hp10s5d56xa"; + }; + } +] diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix index f0243f45b8f0..4e9f00b03404 100644 --- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix +++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix @@ -4,13 +4,13 @@ , glib , gst_plugins_base , gstreamer -, icu_54_1 +, icu , libpulseaudio , libuuid , libxml2 , libxslt , makeQtWrapper -, qt55 +, qt56 , sqlite , stdenv , xlibs @@ -27,29 +27,31 @@ stdenv.mkDerivation rec { platforms = stdenv.lib.platforms.linux; }; - version = "2.0.52458.0531"; + version = "2.0.70790.1031"; src = fetchurl { - url = "https://zoom.us/client/${version}/zoom_${version}_x86_64.tar.xz"; - sha256 = "16d64pn9j27v3fnh4c9i32vpkr10q1yr26w14964n0af1mv5jf7a"; + url = "https://zoom.us/client/${version}/zoom_x86_64.tar.xz"; + sha256 = "0kkg3bqv8zwhpxgrssa7ds00dxhdimnq2vfklgrdqn5qzbij31hd"; }; phases = [ "unpackPhase" "installPhase" ]; nativeBuildInputs = [ makeQtWrapper ]; - libPath = stdenv.lib.makeLibraryPath [ + buildInputs = [ alsaLib gcc.cc glib gst_plugins_base gstreamer - icu_54_1 + icu libpulseaudio libuuid libxml2 libxslt - qt55.qtbase - qt55.qtdeclarative - qt55.qtscript - qt55.qtwebkit + qt56.qtbase + qt56.qtdeclarative + qt56.qtlocation + qt56.qtscript + qt56.qtwebchannel + qt56.qtwebengine sqlite xlibs.xcbutilkeysyms xorg.libX11 @@ -61,13 +63,15 @@ stdenv.mkDerivation rec { xorg.xcbutilimage zlib ]; + + libPath = stdenv.lib.makeLibraryPath buildInputs; + installPhase = '' mkdir -p $out/share cp -r \ application-x-zoom.png \ audio \ imageformats \ - chrome.bmp \ config-dump.sh \ dingdong1.pcm \ dingdong.pcm \ @@ -77,13 +81,7 @@ stdenv.mkDerivation rec { platforminputcontexts \ platforms \ platformthemes \ - Qt \ - QtMultimedia \ - QtQml \ - QtQuick \ - QtQuick.2 \ - QtWebKit \ - QtWebProcess \ + leave.pcm \ ring.pcm \ ring.wav \ version.txt \ @@ -98,6 +96,7 @@ stdenv.mkDerivation rec { --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ --set-rpath ${libPath} \ $out/share/zoom + paxmark m $out/share/zoom wrapQtProgram "$out/share/zoom" mkdir -p $out/bin ln -s $out/share/zoom $out/bin/zoom-us diff --git a/pkgs/applications/networking/insync/default.nix b/pkgs/applications/networking/insync/default.nix new file mode 100644 index 000000000000..86cc9bded10d --- /dev/null +++ b/pkgs/applications/networking/insync/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchurl, makeWrapper }: + +stdenv.mkDerivation rec { + name = "insync-${version}"; + version = "1.3.13.36129"; + src = fetchurl { + url = "http://s.insynchq.com/builds/insync-portable_${version}_amd64.tar.bz2"; + sha256 = "18d8ww529nvhwcl5k31qmkzb83k9753ics0dw64w202r8vwbm3cd"; + }; + + buildInputs = [ makeWrapper ]; + + postPatch = '' + patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" client/insync-portable + ''; + + installPhase = '' + mkdir -p $out/bin + cp -a client $out/client + makeWrapper $out/client/insync-portable $out/bin/insync --set LC_TIME C + ''; + + meta = { + platforms = ["x86_64-linux"]; + license = stdenv.lib.licenses.unfree; + maintainers = [ stdenv.lib.maintainers.benley ]; + homepage = https://www.insynchq.com; + description = "Google Drive sync and backup with multiple account support"; + longDescription = '' + Insync is a commercial application that syncs your Drive files to your + computer. It has more advanced features than Google's official client + such as multiple account support, Google Doc conversion, symlink support, + and built in sharing. + + There is a 15-day free trial, and it is a paid application after that. + ''; + }; +} diff --git a/pkgs/applications/networking/ipfs/default.nix b/pkgs/applications/networking/ipfs/default.nix index 79e2185f04e6..0d018c9588f6 100644 --- a/pkgs/applications/networking/ipfs/default.nix +++ b/pkgs/applications/networking/ipfs/default.nix @@ -1,22 +1,31 @@ -{ stdenv, buildGoPackage, fetchFromGitHub }: +{ stdenv, buildGoPackage, fetchFromGitHub, fetchgx }: buildGoPackage rec { name = "ipfs-${version}"; - version = "i20160112--${stdenv.lib.strings.substring 0 7 rev}"; - rev = "7070b4d878baad57dcc8da80080dd293aa46cabd"; + version = "0.4.4"; + rev = "d905d485192616abaea25f7e721062a9e1093ab9"; goPackagePath = "github.com/ipfs/go-ipfs"; + extraSrcPaths = [ + (fetchgx { + inherit name src; + sha256 = "0mm1rs2mbs3rmxfcji5yal9ai3v1w75kk05bfyhgzmcjvi6lwpyb"; + }) + ]; + src = fetchFromGitHub { owner = "ipfs"; repo = "go-ipfs"; inherit rev; - sha256 = "1b7aimnbz287fy7p27v3qdxnz514r5142v3jihqxanbk9g384gcd"; + sha256 = "06iq7fmq7p0854aqrnmd0f0jvnxy9958wvw7ibn754fdfii9l84l"; }; meta = with stdenv.lib; { description = "A global, versioned, peer-to-peer filesystem"; + homepage = https://ipfs.io/; license = licenses.mit; - broken = true; + platforms = platforms.unix; + maintainers = with maintainers; [ fpletz ]; }; } diff --git a/pkgs/applications/networking/irc/chatzilla/default.nix b/pkgs/applications/networking/irc/chatzilla/default.nix index 82d9912192ed..e11f4c65c49a 100644 --- a/pkgs/applications/networking/irc/chatzilla/default.nix +++ b/pkgs/applications/networking/irc/chatzilla/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, unzip, firefox-unwrapped, makeWrapper }: stdenv.mkDerivation rec { - name = "chatzilla-0.9.91"; + name = "chatzilla-0.9.92"; src = fetchurl { # Obtained from http://chatzilla.rdmsoft.com/xulrunner/. url = "http://chatzilla.rdmsoft.com/xulrunner/download/${name}.en-US.xulapp"; - sha256 = "1bmjw2wvp8gh7fdl8czkxc55iari6dy672446hps20xixrh8hl8r"; + sha256 = "09asg7ixjrin46xd19ri71g4jdrgb1gg0pk0lwk0dlb1qjxyf1xy"; }; buildInputs = [ unzip makeWrapper ]; diff --git a/pkgs/applications/networking/irc/hexchat/default.nix b/pkgs/applications/networking/irc/hexchat/default.nix index da47ec6580b8..4d7ebbfac2e8 100644 --- a/pkgs/applications/networking/irc/hexchat/default.nix +++ b/pkgs/applications/networking/irc/hexchat/default.nix @@ -1,16 +1,16 @@ -{ stdenv, fetchurl, pkgconfig, gtk, lua, perl, python -, libtool, pciutils, dbus_glib, libcanberra, libproxy +{ stdenv, fetchurl, pkgconfig, gtk2, lua, perl, python +, libtool, pciutils, dbus_glib, libcanberra_gtk2, libproxy , libsexy, enchant, libnotify, openssl, intltool , desktop_file_utils, hicolor_icon_theme }: stdenv.mkDerivation rec { - version = "2.12.1"; + version = "2.12.3"; name = "hexchat-${version}"; src = fetchurl { url = "http://dl.hexchat.net/hexchat/${name}.tar.xz"; - sha256 = "0svwz9ldrry1sn35jywgpacjj1cf3xl3k74ynwn8rjvxs73b00aj"; + sha256 = "1fpj2kk1p85snffchqxsz3sphhcgiripjw41mgzxi7ks5hvj4avg"; }; nativeBuildInputs = [ @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - gtk lua perl python pciutils dbus_glib libcanberra libproxy + gtk2 lua perl python pciutils dbus_glib libcanberra_gtk2 libproxy libsexy libnotify openssl desktop_file_utils hicolor_icon_theme ]; diff --git a/pkgs/applications/networking/irc/irssi/default.nix b/pkgs/applications/networking/irc/irssi/default.nix index a467cead17c4..88e2ede631b9 100644 --- a/pkgs/applications/networking/irc/irssi/default.nix +++ b/pkgs/applications/networking/irc/irssi/default.nix @@ -1,20 +1,23 @@ { stdenv, fetchurl, pkgconfig, ncurses, glib, openssl, perl, libintlOrEmpty }: stdenv.mkDerivation rec { - - version = "0.8.19"; + version = "1.0.0"; name = "irssi-${version}"; src = fetchurl { - urls = [ "https://github.com/irssi/irssi/releases/download/${version}/${name}.tar.gz" ]; - sha256 = "0ny8dry1b8siyc5glaxcwzng0d2mxnwxk74v64f8xplqhrvlnkzy"; + url = "https://github.com/irssi/irssi/releases/download/${version}/${name}.tar.gz"; + sha256 = "11x47ahkvzzx3xkvqak34235ghnpln65v13k77xx32c85nvb63kr"; }; - buildInputs = [ pkgconfig ncurses glib openssl perl libintlOrEmpty ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ ncurses glib openssl perl libintlOrEmpty ]; - NIX_LDFLAGS = ncurses.ldflags; - - configureFlags = "--with-proxy --with-ncurses --enable-ssl --with-perl=yes"; + configureFlags = [ + "--with-proxy" + "--with-bot" + "--with-perl=yes" + "--enable-true-color" + ]; meta = { homepage = http://irssi.org; diff --git a/pkgs/applications/networking/irc/irssi/otr/default.nix b/pkgs/applications/networking/irc/irssi/otr/default.nix index 38c2c3c2930c..1141f5639181 100644 --- a/pkgs/applications/networking/irc/irssi/otr/default.nix +++ b/pkgs/applications/networking/irc/irssi/otr/default.nix @@ -1,27 +1,23 @@ -{ stdenv, fetchFromGitHub, libotr, automake, autoconf, libtool, glib, pkgconfig, irssi }: +{ stdenv, fetchurl, fetchFromGitHub, libotr, automake, autoconf, libtool, glib, pkgconfig, irssi }: with stdenv.lib; stdenv.mkDerivation rec { name = "irssi-otr-${version}"; - version = "1.0.1"; + version = "1.0.2"; src = fetchFromGitHub { owner = "cryptodotis"; repo = "irssi-otr"; - rev = "4ad3b7b6c85be0154ab3694fe9831796db20c4fe"; - sha256 = "1hm1whx1wzlx4fh4xf2y68rx9x6whi8bsbrhd6hqjhskg5msssrg"; + rev = "v${version}"; + sha256 = "0c5wb2lg9q0i1jdhpyb5vpvxaa2xx00gvp3gdk93ix9v68gq1ppp"; }; - patchPhase = '' - sed -i 's,/usr/include/irssi,${irssi}/include/irssi,' src/Makefile.am - sed -i "s,/usr/lib/irssi,$out/lib/irssi," configure.ac - sed -i "s,/usr/share/irssi,$out/share/irssi," help/Makefile.am - ''; - preConfigure = "sh ./bootstrap"; buildInputs = [ libotr automake autoconf libtool glib pkgconfig irssi ]; + NIX_CFLAGS_COMPILE="-I ${irssi}/include/irssi -I ${irssi}/include/irssi/src/core -I ${irssi}/include/irssi/src/"; + meta = { homepage = https://github.com/cryptodotis/irssi-otr; license = stdenv.lib.licenses.gpl2Plus; diff --git a/pkgs/applications/networking/irc/konversation/1.6.nix b/pkgs/applications/networking/irc/konversation/1.6.nix index 995eddd9321b..9724ae5f4bf0 100644 --- a/pkgs/applications/networking/irc/konversation/1.6.nix +++ b/pkgs/applications/networking/irc/konversation/1.6.nix @@ -30,13 +30,13 @@ let unwrapped = let pname = "konversation"; - version = "1.6.1"; + version = "1.6.2"; in kdeDerivation rec { name = "${pname}-${version}"; src = fetchurl { url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.xz"; - sha256 = "28346d6629261a5328c43ffa09c12e37743b3ef4f4bc4c411d39bc19f7bf06c6"; + sha256 = "1798sslwz7a3h1v524ra33p0j5iqvcg0v1insyvb5qp4kv11slmn"; }; buildInputs = [ @@ -75,7 +75,8 @@ let homepage = https://konversation.kde.org; }; }; -in kdeWrapper unwrapped { +in kdeWrapper { + inherit unwrapped; targets = [ "bin/konversation" ]; } diff --git a/pkgs/applications/networking/irc/quassel-webserver/default.nix b/pkgs/applications/networking/irc/quassel-webserver/default.nix new file mode 100644 index 000000000000..4ca3d619aa69 --- /dev/null +++ b/pkgs/applications/networking/irc/quassel-webserver/default.nix @@ -0,0 +1,43 @@ +{ stdenv, lib, fetchFromGitHub, callPackage, python, utillinux}: + +with lib; + +let + nodePackages = callPackage ../../../../top-level/node-packages.nix { + neededNatives = [ python ]; + self = nodePackages; + generated = ./quassel-webserver.nix; + }; + +in nodePackages.buildNodePackage rec { + name = "quassel-webserver-${version}"; + version = "2.1.1"; + src = fetchFromGitHub { + owner = "magne4000"; + repo = "quassel-webserver"; + rev = "dda457f38795d15565557a8629085063fa6a7378"; + sha256 = "0syglfdmjnssxdiak1dw8cns5f736v58zmlsh81dvxww90gx3k7h"; + }; + buildInputs = nodePackages.nativeDeps."quassel-webserver" or []; + deps = [ nodePackages.by-spec."body-parser"."^1.15.2" + nodePackages.by-spec."commander"."^2.9.0" + nodePackages.by-spec."cookie-parser"."~1.4.3" + nodePackages.by-spec."express"."^4.14.0" + nodePackages.by-spec."jade"."~1.11.0" + nodePackages.by-spec."less"."^2.7.1" + nodePackages.by-spec."less-middleware"."^2.2.0" + nodePackages.by-spec."libquassel"."~2.0.5" + nodePackages.by-spec."morgan"."^1.7.0" + nodePackages.by-spec."net-browserify-alt"."^1.0.0" + nodePackages.by-spec."serve-favicon"."~2.3.0" + ]; + peerDependencies = []; + + meta = { + description = "A web server/client for Quassel"; + license = licenses.mit; + homepage = "https://github.com/magne4000/quassel-webserver"; + maintainers = with maintainers; [ uwap ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/networking/irc/quassel-webserver/quassel-webserver.nix b/pkgs/applications/networking/irc/quassel-webserver/quassel-webserver.nix new file mode 100644 index 000000000000..954762dc46f2 --- /dev/null +++ b/pkgs/applications/networking/irc/quassel-webserver/quassel-webserver.nix @@ -0,0 +1,2436 @@ +{ self, fetchurl, fetchgit ? null, lib }: + +{ + by-spec."accepts"."~1.3.3" = + self.by-version."accepts"."1.3.3"; + by-version."accepts"."1.3.3" = self.buildNodePackage { + name = "accepts-1.3.3"; + version = "1.3.3"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz"; + name = "accepts-1.3.3.tgz"; + sha1 = "c3ca7434938648c3e0d9c1e328dd68b622c284ca"; + }; + deps = { + "mime-types-2.1.12" = self.by-version."mime-types"."2.1.12"; + "negotiator-0.6.1" = self.by-version."negotiator"."0.6.1"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."acorn"."^1.0.1" = + self.by-version."acorn"."1.2.2"; + by-version."acorn"."1.2.2" = self.buildNodePackage { + name = "acorn-1.2.2"; + version = "1.2.2"; + bin = true; + src = fetchurl { + url = "https://registry.npmjs.org/acorn/-/acorn-1.2.2.tgz"; + name = "acorn-1.2.2.tgz"; + sha1 = "c8ce27de0acc76d896d2b1fad3df588d9e82f014"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."acorn"."^2.1.0" = + self.by-version."acorn"."2.7.0"; + by-version."acorn"."2.7.0" = self.buildNodePackage { + name = "acorn-2.7.0"; + version = "2.7.0"; + bin = true; + src = fetchurl { + url = "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz"; + name = "acorn-2.7.0.tgz"; + sha1 = "ab6e7d9d886aaca8b085bc3312b79a198433f0e7"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."acorn-globals"."^1.0.3" = + self.by-version."acorn-globals"."1.0.9"; + by-version."acorn-globals"."1.0.9" = self.buildNodePackage { + name = "acorn-globals-1.0.9"; + version = "1.0.9"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.9.tgz"; + name = "acorn-globals-1.0.9.tgz"; + sha1 = "55bb5e98691507b74579d0513413217c380c54cf"; + }; + deps = { + "acorn-2.7.0" = self.by-version."acorn"."2.7.0"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."align-text"."^0.1.1" = + self.by-version."align-text"."0.1.4"; + by-version."align-text"."0.1.4" = self.buildNodePackage { + name = "align-text-0.1.4"; + version = "0.1.4"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz"; + name = "align-text-0.1.4.tgz"; + sha1 = "0cd90a561093f35d0a99256c22b7069433fad117"; + }; + deps = { + "kind-of-3.0.4" = self.by-version."kind-of"."3.0.4"; + "longest-1.0.1" = self.by-version."longest"."1.0.1"; + "repeat-string-1.5.4" = self.by-version."repeat-string"."1.5.4"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."align-text"."^0.1.3" = + self.by-version."align-text"."0.1.4"; + by-spec."amdefine".">=0.0.4" = + self.by-version."amdefine"."1.0.0"; + by-version."amdefine"."1.0.0" = self.buildNodePackage { + name = "amdefine-1.0.0"; + version = "1.0.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz"; + name = "amdefine-1.0.0.tgz"; + sha1 = "fd17474700cb5cc9c2b709f0be9d23ce3c198c33"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."array-flatten"."1.1.1" = + self.by-version."array-flatten"."1.1.1"; + by-version."array-flatten"."1.1.1" = self.buildNodePackage { + name = "array-flatten-1.1.1"; + version = "1.1.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz"; + name = "array-flatten-1.1.1.tgz"; + sha1 = "9a5f699051b1e7073328f2a008968b64ea2955d2"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."asap"."~1.0.0" = + self.by-version."asap"."1.0.0"; + by-version."asap"."1.0.0" = self.buildNodePackage { + name = "asap-1.0.0"; + version = "1.0.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/asap/-/asap-1.0.0.tgz"; + name = "asap-1.0.0.tgz"; + sha1 = "b2a45da5fdfa20b0496fc3768cc27c12fa916a7d"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."asap"."~2.0.3" = + self.by-version."asap"."2.0.5"; + by-version."asap"."2.0.5" = self.buildNodePackage { + name = "asap-2.0.5"; + version = "2.0.5"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/asap/-/asap-2.0.5.tgz"; + name = "asap-2.0.5.tgz"; + sha1 = "522765b50c3510490e52d7dcfe085ef9ba96958f"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."async"."~0.2.6" = + self.by-version."async"."0.2.10"; + by-version."async"."0.2.10" = self.buildNodePackage { + name = "async-0.2.10"; + version = "0.2.10"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/async/-/async-0.2.10.tgz"; + name = "async-0.2.10.tgz"; + sha1 = "b6bbe0b0674b9d719708ca38de8c237cb526c3d1"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."basic-auth"."~1.0.3" = + self.by-version."basic-auth"."1.0.4"; + by-version."basic-auth"."1.0.4" = self.buildNodePackage { + name = "basic-auth-1.0.4"; + version = "1.0.4"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/basic-auth/-/basic-auth-1.0.4.tgz"; + name = "basic-auth-1.0.4.tgz"; + sha1 = "030935b01de7c9b94a824b29f3fccb750d3a5290"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."body-parser"."^1.15.2" = + self.by-version."body-parser"."1.15.2"; + by-version."body-parser"."1.15.2" = self.buildNodePackage { + name = "body-parser-1.15.2"; + version = "1.15.2"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/body-parser/-/body-parser-1.15.2.tgz"; + name = "body-parser-1.15.2.tgz"; + sha1 = "d7578cf4f1d11d5f6ea804cef35dc7a7ff6dae67"; + }; + deps = { + "bytes-2.4.0" = self.by-version."bytes"."2.4.0"; + "content-type-1.0.2" = self.by-version."content-type"."1.0.2"; + "debug-2.2.0" = self.by-version."debug"."2.2.0"; + "depd-1.1.0" = self.by-version."depd"."1.1.0"; + "http-errors-1.5.0" = self.by-version."http-errors"."1.5.0"; + "iconv-lite-0.4.13" = self.by-version."iconv-lite"."0.4.13"; + "on-finished-2.3.0" = self.by-version."on-finished"."2.3.0"; + "qs-6.2.0" = self.by-version."qs"."6.2.0"; + "raw-body-2.1.7" = self.by-version."raw-body"."2.1.7"; + "type-is-1.6.13" = self.by-version."type-is"."1.6.13"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + "body-parser" = self.by-version."body-parser"."1.15.2"; + by-spec."bytes"."2.4.0" = + self.by-version."bytes"."2.4.0"; + by-version."bytes"."2.4.0" = self.buildNodePackage { + name = "bytes-2.4.0"; + version = "2.4.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz"; + name = "bytes-2.4.0.tgz"; + sha1 = "7d97196f9d5baf7f6935e25985549edd2a6c2339"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."camelcase"."^1.0.2" = + self.by-version."camelcase"."1.2.1"; + by-version."camelcase"."1.2.1" = self.buildNodePackage { + name = "camelcase-1.2.1"; + version = "1.2.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz"; + name = "camelcase-1.2.1.tgz"; + sha1 = "9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."center-align"."^0.1.1" = + self.by-version."center-align"."0.1.3"; + by-version."center-align"."0.1.3" = self.buildNodePackage { + name = "center-align-0.1.3"; + version = "0.1.3"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz"; + name = "center-align-0.1.3.tgz"; + sha1 = "aa0d32629b6ee972200411cbd4461c907bc2b7ad"; + }; + deps = { + "align-text-0.1.4" = self.by-version."align-text"."0.1.4"; + "lazy-cache-1.0.4" = self.by-version."lazy-cache"."1.0.4"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."character-parser"."1.2.1" = + self.by-version."character-parser"."1.2.1"; + by-version."character-parser"."1.2.1" = self.buildNodePackage { + name = "character-parser-1.2.1"; + version = "1.2.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/character-parser/-/character-parser-1.2.1.tgz"; + name = "character-parser-1.2.1.tgz"; + sha1 = "c0dde4ab182713b919b970959a123ecc1a30fcd6"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."clean-css"."^3.1.9" = + self.by-version."clean-css"."3.4.20"; + by-version."clean-css"."3.4.20" = self.buildNodePackage { + name = "clean-css-3.4.20"; + version = "3.4.20"; + bin = true; + src = fetchurl { + url = "https://registry.npmjs.org/clean-css/-/clean-css-3.4.20.tgz"; + name = "clean-css-3.4.20.tgz"; + sha1 = "c0d8963b5448e030f0bcd3ddd0dac4dfe3dea501"; + }; + deps = { + "commander-2.8.1" = self.by-version."commander"."2.8.1"; + "source-map-0.4.4" = self.by-version."source-map"."0.4.4"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."cliui"."^2.1.0" = + self.by-version."cliui"."2.1.0"; + by-version."cliui"."2.1.0" = self.buildNodePackage { + name = "cliui-2.1.0"; + version = "2.1.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz"; + name = "cliui-2.1.0.tgz"; + sha1 = "4b475760ff80264c762c3a1719032e91c7fea0d1"; + }; + deps = { + "center-align-0.1.3" = self.by-version."center-align"."0.1.3"; + "right-align-0.1.3" = self.by-version."right-align"."0.1.3"; + "wordwrap-0.0.2" = self.by-version."wordwrap"."0.0.2"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."commander"."2.8.x" = + self.by-version."commander"."2.8.1"; + by-version."commander"."2.8.1" = self.buildNodePackage { + name = "commander-2.8.1"; + version = "2.8.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz"; + name = "commander-2.8.1.tgz"; + sha1 = "06be367febfda0c330aa1e2a072d3dc9762425d4"; + }; + deps = { + "graceful-readlink-1.0.1" = self.by-version."graceful-readlink"."1.0.1"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."commander"."^2.9.0" = + self.by-version."commander"."2.9.0"; + by-version."commander"."2.9.0" = self.buildNodePackage { + name = "commander-2.9.0"; + version = "2.9.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz"; + name = "commander-2.9.0.tgz"; + sha1 = "9c99094176e12240cb22d6c5146098400fe0f7d4"; + }; + deps = { + "graceful-readlink-1.0.1" = self.by-version."graceful-readlink"."1.0.1"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + "commander" = self.by-version."commander"."2.9.0"; + by-spec."commander"."~2.6.0" = + self.by-version."commander"."2.6.0"; + by-version."commander"."2.6.0" = self.buildNodePackage { + name = "commander-2.6.0"; + version = "2.6.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/commander/-/commander-2.6.0.tgz"; + name = "commander-2.6.0.tgz"; + sha1 = "9df7e52fb2a0cb0fb89058ee80c3104225f37e1d"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."constantinople"."~3.0.1" = + self.by-version."constantinople"."3.0.2"; + by-version."constantinople"."3.0.2" = self.buildNodePackage { + name = "constantinople-3.0.2"; + version = "3.0.2"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/constantinople/-/constantinople-3.0.2.tgz"; + name = "constantinople-3.0.2.tgz"; + sha1 = "4b945d9937907bcd98ee575122c3817516544141"; + }; + deps = { + "acorn-2.7.0" = self.by-version."acorn"."2.7.0"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."content-disposition"."0.5.1" = + self.by-version."content-disposition"."0.5.1"; + by-version."content-disposition"."0.5.1" = self.buildNodePackage { + name = "content-disposition-0.5.1"; + version = "0.5.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.1.tgz"; + name = "content-disposition-0.5.1.tgz"; + sha1 = "87476c6a67c8daa87e32e87616df883ba7fb071b"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."content-type"."~1.0.2" = + self.by-version."content-type"."1.0.2"; + by-version."content-type"."1.0.2" = self.buildNodePackage { + name = "content-type-1.0.2"; + version = "1.0.2"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz"; + name = "content-type-1.0.2.tgz"; + sha1 = "b7d113aee7a8dd27bd21133c4dc2529df1721eed"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."cookie"."0.3.1" = + self.by-version."cookie"."0.3.1"; + by-version."cookie"."0.3.1" = self.buildNodePackage { + name = "cookie-0.3.1"; + version = "0.3.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz"; + name = "cookie-0.3.1.tgz"; + sha1 = "e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."cookie-parser"."~1.4.3" = + self.by-version."cookie-parser"."1.4.3"; + by-version."cookie-parser"."1.4.3" = self.buildNodePackage { + name = "cookie-parser-1.4.3"; + version = "1.4.3"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.3.tgz"; + name = "cookie-parser-1.4.3.tgz"; + sha1 = "0fe31fa19d000b95f4aadf1f53fdc2b8a203baa5"; + }; + deps = { + "cookie-0.3.1" = self.by-version."cookie"."0.3.1"; + "cookie-signature-1.0.6" = self.by-version."cookie-signature"."1.0.6"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + "cookie-parser" = self.by-version."cookie-parser"."1.4.3"; + by-spec."cookie-signature"."1.0.6" = + self.by-version."cookie-signature"."1.0.6"; + by-version."cookie-signature"."1.0.6" = self.buildNodePackage { + name = "cookie-signature-1.0.6"; + version = "1.0.6"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz"; + name = "cookie-signature-1.0.6.tgz"; + sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."css"."~1.0.8" = + self.by-version."css"."1.0.8"; + by-version."css"."1.0.8" = self.buildNodePackage { + name = "css-1.0.8"; + version = "1.0.8"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/css/-/css-1.0.8.tgz"; + name = "css-1.0.8.tgz"; + sha1 = "9386811ca82bccc9ee7fb5a732b1e2a317c8a3e7"; + }; + deps = { + "css-parse-1.0.4" = self.by-version."css-parse"."1.0.4"; + "css-stringify-1.0.5" = self.by-version."css-stringify"."1.0.5"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."css-parse"."1.0.4" = + self.by-version."css-parse"."1.0.4"; + by-version."css-parse"."1.0.4" = self.buildNodePackage { + name = "css-parse-1.0.4"; + version = "1.0.4"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/css-parse/-/css-parse-1.0.4.tgz"; + name = "css-parse-1.0.4.tgz"; + sha1 = "38b0503fbf9da9f54e9c1dbda60e145c77117bdd"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."css-stringify"."1.0.5" = + self.by-version."css-stringify"."1.0.5"; + by-version."css-stringify"."1.0.5" = self.buildNodePackage { + name = "css-stringify-1.0.5"; + version = "1.0.5"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/css-stringify/-/css-stringify-1.0.5.tgz"; + name = "css-stringify-1.0.5.tgz"; + sha1 = "b0d042946db2953bb9d292900a6cb5f6d0122031"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."debug"."^2.2.0" = + self.by-version."debug"."2.2.0"; + by-version."debug"."2.2.0" = self.buildNodePackage { + name = "debug-2.2.0"; + version = "2.2.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz"; + name = "debug-2.2.0.tgz"; + sha1 = "f87057e995b1a1f6ae6a4960664137bc56f039da"; + }; + deps = { + "ms-0.7.1" = self.by-version."ms"."0.7.1"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."debug"."~2.2.0" = + self.by-version."debug"."2.2.0"; + by-spec."decamelize"."^1.0.0" = + self.by-version."decamelize"."1.2.0"; + by-version."decamelize"."1.2.0" = self.buildNodePackage { + name = "decamelize-1.2.0"; + version = "1.2.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz"; + name = "decamelize-1.2.0.tgz"; + sha1 = "f6534d15148269b20352e7bee26f501f9a191290"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."depd"."~1.1.0" = + self.by-version."depd"."1.1.0"; + by-version."depd"."1.1.0" = self.buildNodePackage { + name = "depd-1.1.0"; + version = "1.1.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz"; + name = "depd-1.1.0.tgz"; + sha1 = "e1bd82c6aab6ced965b97b88b17ed3e528ca18c3"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."destroy"."~1.0.4" = + self.by-version."destroy"."1.0.4"; + by-version."destroy"."1.0.4" = self.buildNodePackage { + name = "destroy-1.0.4"; + version = "1.0.4"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz"; + name = "destroy-1.0.4.tgz"; + sha1 = "978857442c44749e4206613e37946205826abd80"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."ee-first"."1.1.1" = + self.by-version."ee-first"."1.1.1"; + by-version."ee-first"."1.1.1" = self.buildNodePackage { + name = "ee-first-1.1.1"; + version = "1.1.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz"; + name = "ee-first-1.1.1.tgz"; + sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."encodeurl"."~1.0.1" = + self.by-version."encodeurl"."1.0.1"; + by-version."encodeurl"."1.0.1" = self.buildNodePackage { + name = "encodeurl-1.0.1"; + version = "1.0.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz"; + name = "encodeurl-1.0.1.tgz"; + sha1 = "79e3d58655346909fe6f0f45a5de68103b294d20"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."errno"."^0.1.1" = + self.by-version."errno"."0.1.4"; + by-version."errno"."0.1.4" = self.buildNodePackage { + name = "errno-0.1.4"; + version = "0.1.4"; + bin = true; + src = fetchurl { + url = "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz"; + name = "errno-0.1.4.tgz"; + sha1 = "b896e23a9e5e8ba33871fc996abd3635fc9a1c7d"; + }; + deps = { + "prr-0.0.0" = self.by-version."prr"."0.0.0"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."escape-html"."~1.0.3" = + self.by-version."escape-html"."1.0.3"; + by-version."escape-html"."1.0.3" = self.buildNodePackage { + name = "escape-html-1.0.3"; + version = "1.0.3"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz"; + name = "escape-html-1.0.3.tgz"; + sha1 = "0258eae4d3d0c0974de1c169188ef0051d1d1988"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."etag"."~1.7.0" = + self.by-version."etag"."1.7.0"; + by-version."etag"."1.7.0" = self.buildNodePackage { + name = "etag-1.7.0"; + version = "1.7.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz"; + name = "etag-1.7.0.tgz"; + sha1 = "03d30b5f67dd6e632d2945d30d6652731a34d5d8"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."eventemitter2"."^2.1.3" = + self.by-version."eventemitter2"."2.1.3"; + by-version."eventemitter2"."2.1.3" = self.buildNodePackage { + name = "eventemitter2-2.1.3"; + version = "2.1.3"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/eventemitter2/-/eventemitter2-2.1.3.tgz"; + name = "eventemitter2-2.1.3.tgz"; + sha1 = "bd7201f85c59548380e1e43b3f6a7286d4da7349"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."express"."^4.14.0" = + self.by-version."express"."4.14.0"; + by-version."express"."4.14.0" = self.buildNodePackage { + name = "express-4.14.0"; + version = "4.14.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/express/-/express-4.14.0.tgz"; + name = "express-4.14.0.tgz"; + sha1 = "c1ee3f42cdc891fb3dc650a8922d51ec847d0d66"; + }; + deps = { + "accepts-1.3.3" = self.by-version."accepts"."1.3.3"; + "array-flatten-1.1.1" = self.by-version."array-flatten"."1.1.1"; + "content-disposition-0.5.1" = self.by-version."content-disposition"."0.5.1"; + "content-type-1.0.2" = self.by-version."content-type"."1.0.2"; + "cookie-0.3.1" = self.by-version."cookie"."0.3.1"; + "cookie-signature-1.0.6" = self.by-version."cookie-signature"."1.0.6"; + "debug-2.2.0" = self.by-version."debug"."2.2.0"; + "depd-1.1.0" = self.by-version."depd"."1.1.0"; + "encodeurl-1.0.1" = self.by-version."encodeurl"."1.0.1"; + "escape-html-1.0.3" = self.by-version."escape-html"."1.0.3"; + "etag-1.7.0" = self.by-version."etag"."1.7.0"; + "finalhandler-0.5.0" = self.by-version."finalhandler"."0.5.0"; + "fresh-0.3.0" = self.by-version."fresh"."0.3.0"; + "merge-descriptors-1.0.1" = self.by-version."merge-descriptors"."1.0.1"; + "methods-1.1.2" = self.by-version."methods"."1.1.2"; + "on-finished-2.3.0" = self.by-version."on-finished"."2.3.0"; + "parseurl-1.3.1" = self.by-version."parseurl"."1.3.1"; + "path-to-regexp-0.1.7" = self.by-version."path-to-regexp"."0.1.7"; + "proxy-addr-1.1.2" = self.by-version."proxy-addr"."1.1.2"; + "qs-6.2.0" = self.by-version."qs"."6.2.0"; + "range-parser-1.2.0" = self.by-version."range-parser"."1.2.0"; + "send-0.14.1" = self.by-version."send"."0.14.1"; + "serve-static-1.11.1" = self.by-version."serve-static"."1.11.1"; + "type-is-1.6.13" = self.by-version."type-is"."1.6.13"; + "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0"; + "vary-1.1.0" = self.by-version."vary"."1.1.0"; + "jade-1.11.0" = self.by-version."jade"."1.11.0"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + "express" = self.by-version."express"."4.14.0"; + by-spec."finalhandler"."0.5.0" = + self.by-version."finalhandler"."0.5.0"; + by-version."finalhandler"."0.5.0" = self.buildNodePackage { + name = "finalhandler-0.5.0"; + version = "0.5.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/finalhandler/-/finalhandler-0.5.0.tgz"; + name = "finalhandler-0.5.0.tgz"; + sha1 = "e9508abece9b6dba871a6942a1d7911b91911ac7"; + }; + deps = { + "debug-2.2.0" = self.by-version."debug"."2.2.0"; + "escape-html-1.0.3" = self.by-version."escape-html"."1.0.3"; + "on-finished-2.3.0" = self.by-version."on-finished"."2.3.0"; + "statuses-1.3.0" = self.by-version."statuses"."1.3.0"; + "unpipe-1.0.0" = self.by-version."unpipe"."1.0.0"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."forwarded"."~0.1.0" = + self.by-version."forwarded"."0.1.0"; + by-version."forwarded"."0.1.0" = self.buildNodePackage { + name = "forwarded-0.1.0"; + version = "0.1.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz"; + name = "forwarded-0.1.0.tgz"; + sha1 = "19ef9874c4ae1c297bcf078fde63a09b66a84363"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."fresh"."0.3.0" = + self.by-version."fresh"."0.3.0"; + by-version."fresh"."0.3.0" = self.buildNodePackage { + name = "fresh-0.3.0"; + version = "0.3.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz"; + name = "fresh-0.3.0.tgz"; + sha1 = "651f838e22424e7566de161d8358caa199f83d4f"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."graceful-fs"."^4.1.2" = + self.by-version."graceful-fs"."4.1.9"; + by-version."graceful-fs"."4.1.9" = self.buildNodePackage { + name = "graceful-fs-4.1.9"; + version = "4.1.9"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.9.tgz"; + name = "graceful-fs-4.1.9.tgz"; + sha1 = "baacba37d19d11f9d146d3578bc99958c3787e29"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."graceful-readlink".">= 1.0.0" = + self.by-version."graceful-readlink"."1.0.1"; + by-version."graceful-readlink"."1.0.1" = self.buildNodePackage { + name = "graceful-readlink-1.0.1"; + version = "1.0.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz"; + name = "graceful-readlink-1.0.1.tgz"; + sha1 = "4cafad76bc62f02fa039b2f94e9a3dd3a391a725"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."http-errors"."~1.5.0" = + self.by-version."http-errors"."1.5.0"; + by-version."http-errors"."1.5.0" = self.buildNodePackage { + name = "http-errors-1.5.0"; + version = "1.5.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/http-errors/-/http-errors-1.5.0.tgz"; + name = "http-errors-1.5.0.tgz"; + sha1 = "b1cb3d8260fd8e2386cad3189045943372d48211"; + }; + deps = { + "inherits-2.0.1" = self.by-version."inherits"."2.0.1"; + "setprototypeof-1.0.1" = self.by-version."setprototypeof"."1.0.1"; + "statuses-1.3.0" = self.by-version."statuses"."1.3.0"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."iconv-lite"."0.4.13" = + self.by-version."iconv-lite"."0.4.13"; + by-version."iconv-lite"."0.4.13" = self.buildNodePackage { + name = "iconv-lite-0.4.13"; + version = "0.4.13"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz"; + name = "iconv-lite-0.4.13.tgz"; + sha1 = "1f88aba4ab0b1508e8312acc39345f36e992e2f2"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."image-size"."~0.5.0" = + self.by-version."image-size"."0.5.0"; + by-version."image-size"."0.5.0" = self.buildNodePackage { + name = "image-size-0.5.0"; + version = "0.5.0"; + bin = true; + src = fetchurl { + url = "https://registry.npmjs.org/image-size/-/image-size-0.5.0.tgz"; + name = "image-size-0.5.0.tgz"; + sha1 = "be7aed1c37b5ac3d9ba1d66a24b4c47ff8397651"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."inherits"."2.0.1" = + self.by-version."inherits"."2.0.1"; + by-version."inherits"."2.0.1" = self.buildNodePackage { + name = "inherits-2.0.1"; + version = "2.0.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"; + name = "inherits-2.0.1.tgz"; + sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."int64-buffer"."^0.1.4" = + self.by-version."int64-buffer"."0.1.9"; + by-version."int64-buffer"."0.1.9" = self.buildNodePackage { + name = "int64-buffer-0.1.9"; + version = "0.1.9"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/int64-buffer/-/int64-buffer-0.1.9.tgz"; + name = "int64-buffer-0.1.9.tgz"; + sha1 = "9e039da043b24f78b196b283e04653ef5e990f61"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."ipaddr.js"."1.1.1" = + self.by-version."ipaddr.js"."1.1.1"; + by-version."ipaddr.js"."1.1.1" = self.buildNodePackage { + name = "ipaddr.js-1.1.1"; + version = "1.1.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.1.1.tgz"; + name = "ipaddr.js-1.1.1.tgz"; + sha1 = "c791d95f52b29c1247d5df80ada39b8a73647230"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."is"."^3.1.0" = + self.by-version."is"."3.1.0"; + by-version."is"."3.1.0" = self.buildNodePackage { + name = "is-3.1.0"; + version = "3.1.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/is/-/is-3.1.0.tgz"; + name = "is-3.1.0.tgz"; + sha1 = "2945d205d691cbfe4833e3f8a11c8ae94673f2a7"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."is-buffer"."^1.0.2" = + self.by-version."is-buffer"."1.1.4"; + by-version."is-buffer"."1.1.4" = self.buildNodePackage { + name = "is-buffer-1.1.4"; + version = "1.1.4"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.4.tgz"; + name = "is-buffer-1.1.4.tgz"; + sha1 = "cfc86ccd5dc5a52fa80489111c6920c457e2d98b"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."is-promise"."^2.0.0" = + self.by-version."is-promise"."2.1.0"; + by-version."is-promise"."2.1.0" = self.buildNodePackage { + name = "is-promise-2.1.0"; + version = "2.1.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz"; + name = "is-promise-2.1.0.tgz"; + sha1 = "79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."is-promise"."~1" = + self.by-version."is-promise"."1.0.1"; + by-version."is-promise"."1.0.1" = self.buildNodePackage { + name = "is-promise-1.0.1"; + version = "1.0.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz"; + name = "is-promise-1.0.1.tgz"; + sha1 = "31573761c057e33c2e91aab9e96da08cefbe76e5"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."jade"."~1.11.0" = + self.by-version."jade"."1.11.0"; + by-version."jade"."1.11.0" = self.buildNodePackage { + name = "jade-1.11.0"; + version = "1.11.0"; + bin = true; + src = fetchurl { + url = "https://registry.npmjs.org/jade/-/jade-1.11.0.tgz"; + name = "jade-1.11.0.tgz"; + sha1 = "9c80e538c12d3fb95c8d9bb9559fa0cc040405fd"; + }; + deps = { + "character-parser-1.2.1" = self.by-version."character-parser"."1.2.1"; + "clean-css-3.4.20" = self.by-version."clean-css"."3.4.20"; + "commander-2.6.0" = self.by-version."commander"."2.6.0"; + "constantinople-3.0.2" = self.by-version."constantinople"."3.0.2"; + "jstransformer-0.0.2" = self.by-version."jstransformer"."0.0.2"; + "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1"; + "transformers-2.1.0" = self.by-version."transformers"."2.1.0"; + "uglify-js-2.7.3" = self.by-version."uglify-js"."2.7.3"; + "void-elements-2.0.1" = self.by-version."void-elements"."2.0.1"; + "with-4.0.3" = self.by-version."with"."4.0.3"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + "jade" = self.by-version."jade"."1.11.0"; + by-spec."jstransformer"."0.0.2" = + self.by-version."jstransformer"."0.0.2"; + by-version."jstransformer"."0.0.2" = self.buildNodePackage { + name = "jstransformer-0.0.2"; + version = "0.0.2"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/jstransformer/-/jstransformer-0.0.2.tgz"; + name = "jstransformer-0.0.2.tgz"; + sha1 = "7aae29a903d196cfa0973d885d3e47947ecd76ab"; + }; + deps = { + "is-promise-2.1.0" = self.by-version."is-promise"."2.1.0"; + "promise-6.1.0" = self.by-version."promise"."6.1.0"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."kind-of"."^3.0.2" = + self.by-version."kind-of"."3.0.4"; + by-version."kind-of"."3.0.4" = self.buildNodePackage { + name = "kind-of-3.0.4"; + version = "3.0.4"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/kind-of/-/kind-of-3.0.4.tgz"; + name = "kind-of-3.0.4.tgz"; + sha1 = "7b8ecf18a4e17f8269d73b501c9f232c96887a74"; + }; + deps = { + "is-buffer-1.1.4" = self.by-version."is-buffer"."1.1.4"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."lazy-cache"."^1.0.3" = + self.by-version."lazy-cache"."1.0.4"; + by-version."lazy-cache"."1.0.4" = self.buildNodePackage { + name = "lazy-cache-1.0.4"; + version = "1.0.4"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz"; + name = "lazy-cache-1.0.4.tgz"; + sha1 = "a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."less"."^2.7.1" = + self.by-version."less"."2.7.1"; + by-version."less"."2.7.1" = self.buildNodePackage { + name = "less-2.7.1"; + version = "2.7.1"; + bin = true; + src = fetchurl { + url = "https://registry.npmjs.org/less/-/less-2.7.1.tgz"; + name = "less-2.7.1.tgz"; + sha1 = "6cbfea22b3b830304e9a5fb371d54fa480c9d7cf"; + }; + deps = { + }; + optionalDependencies = { + "errno-0.1.4" = self.by-version."errno"."0.1.4"; + "graceful-fs-4.1.9" = self.by-version."graceful-fs"."4.1.9"; + "image-size-0.5.0" = self.by-version."image-size"."0.5.0"; + "mime-1.3.4" = self.by-version."mime"."1.3.4"; + "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1"; + "promise-7.1.1" = self.by-version."promise"."7.1.1"; + "source-map-0.5.6" = self.by-version."source-map"."0.5.6"; + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + "less" = self.by-version."less"."2.7.1"; + by-spec."less"."~2.7.1" = + self.by-version."less"."2.7.1"; + by-spec."less-middleware"."^2.2.0" = + self.by-version."less-middleware"."2.2.0"; + by-version."less-middleware"."2.2.0" = self.buildNodePackage { + name = "less-middleware-2.2.0"; + version = "2.2.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/less-middleware/-/less-middleware-2.2.0.tgz"; + name = "less-middleware-2.2.0.tgz"; + sha1 = "c3e4d512c8403685204add7bdaad7398c535c674"; + }; + deps = { + "less-2.7.1" = self.by-version."less"."2.7.1"; + "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1"; + "node.extend-1.1.6" = self.by-version."node.extend"."1.1.6"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + "less-middleware" = self.by-version."less-middleware"."2.2.0"; + by-spec."libquassel"."~2.0.5" = + self.by-version."libquassel"."2.0.5"; + by-version."libquassel"."2.0.5" = self.buildNodePackage { + name = "libquassel-2.0.5"; + version = "2.0.5"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/libquassel/-/libquassel-2.0.5.tgz"; + name = "libquassel-2.0.5.tgz"; + sha1 = "faeba62e381b37527b1d6dea2e2c2f4c7a0f220f"; + }; + deps = { + "debug-2.2.0" = self.by-version."debug"."2.2.0"; + "eventemitter2-2.1.3" = self.by-version."eventemitter2"."2.1.3"; + "net-browserify-alt-1.0.0" = self.by-version."net-browserify-alt"."1.0.0"; + "qtdatastream-0.6.6" = self.by-version."qtdatastream"."0.6.6"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + "libquassel" = self.by-version."libquassel"."2.0.5"; + by-spec."longest"."^1.0.1" = + self.by-version."longest"."1.0.1"; + by-version."longest"."1.0.1" = self.buildNodePackage { + name = "longest-1.0.1"; + version = "1.0.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz"; + name = "longest-1.0.1.tgz"; + sha1 = "30a0b2da38f73770e8294a0d22e6625ed77d0097"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."media-typer"."0.3.0" = + self.by-version."media-typer"."0.3.0"; + by-version."media-typer"."0.3.0" = self.buildNodePackage { + name = "media-typer-0.3.0"; + version = "0.3.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz"; + name = "media-typer-0.3.0.tgz"; + sha1 = "8710d7af0aa626f8fffa1ce00168545263255748"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."merge-descriptors"."1.0.1" = + self.by-version."merge-descriptors"."1.0.1"; + by-version."merge-descriptors"."1.0.1" = self.buildNodePackage { + name = "merge-descriptors-1.0.1"; + version = "1.0.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz"; + name = "merge-descriptors-1.0.1.tgz"; + sha1 = "b00aaa556dd8b44568150ec9d1b953f3f90cbb61"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."methods"."~1.1.2" = + self.by-version."methods"."1.1.2"; + by-version."methods"."1.1.2" = self.buildNodePackage { + name = "methods-1.1.2"; + version = "1.1.2"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz"; + name = "methods-1.1.2.tgz"; + sha1 = "5529a4d67654134edcc5266656835b0f851afcee"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."mime"."1.3.4" = + self.by-version."mime"."1.3.4"; + by-version."mime"."1.3.4" = self.buildNodePackage { + name = "mime-1.3.4"; + version = "1.3.4"; + bin = true; + src = fetchurl { + url = "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz"; + name = "mime-1.3.4.tgz"; + sha1 = "115f9e3b6b3daf2959983cb38f149a2d40eb5d53"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."mime"."^1.2.11" = + self.by-version."mime"."1.3.4"; + by-spec."mime-db"."~1.24.0" = + self.by-version."mime-db"."1.24.0"; + by-version."mime-db"."1.24.0" = self.buildNodePackage { + name = "mime-db-1.24.0"; + version = "1.24.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/mime-db/-/mime-db-1.24.0.tgz"; + name = "mime-db-1.24.0.tgz"; + sha1 = "e2d13f939f0016c6e4e9ad25a8652f126c467f0c"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."mime-types"."~2.1.11" = + self.by-version."mime-types"."2.1.12"; + by-version."mime-types"."2.1.12" = self.buildNodePackage { + name = "mime-types-2.1.12"; + version = "2.1.12"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.12.tgz"; + name = "mime-types-2.1.12.tgz"; + sha1 = "152ba256777020dd4663f54c2e7bc26381e71729"; + }; + deps = { + "mime-db-1.24.0" = self.by-version."mime-db"."1.24.0"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."minimist"."0.0.8" = + self.by-version."minimist"."0.0.8"; + by-version."minimist"."0.0.8" = self.buildNodePackage { + name = "minimist-0.0.8"; + version = "0.0.8"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"; + name = "minimist-0.0.8.tgz"; + sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."mkdirp"."^0.5.0" = + self.by-version."mkdirp"."0.5.1"; + by-version."mkdirp"."0.5.1" = self.buildNodePackage { + name = "mkdirp-0.5.1"; + version = "0.5.1"; + bin = true; + src = fetchurl { + url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz"; + name = "mkdirp-0.5.1.tgz"; + sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903"; + }; + deps = { + "minimist-0.0.8" = self.by-version."minimist"."0.0.8"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."mkdirp"."~0.5.0" = + self.by-version."mkdirp"."0.5.1"; + by-spec."mkdirp"."~0.5.1" = + self.by-version."mkdirp"."0.5.1"; + by-spec."morgan"."^1.7.0" = + self.by-version."morgan"."1.7.0"; + by-version."morgan"."1.7.0" = self.buildNodePackage { + name = "morgan-1.7.0"; + version = "1.7.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/morgan/-/morgan-1.7.0.tgz"; + name = "morgan-1.7.0.tgz"; + sha1 = "eb10ca8e50d1abe0f8d3dad5c0201d052d981c62"; + }; + deps = { + "basic-auth-1.0.4" = self.by-version."basic-auth"."1.0.4"; + "debug-2.2.0" = self.by-version."debug"."2.2.0"; + "depd-1.1.0" = self.by-version."depd"."1.1.0"; + "on-finished-2.3.0" = self.by-version."on-finished"."2.3.0"; + "on-headers-1.0.1" = self.by-version."on-headers"."1.0.1"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + "morgan" = self.by-version."morgan"."1.7.0"; + by-spec."ms"."0.7.1" = + self.by-version."ms"."0.7.1"; + by-version."ms"."0.7.1" = self.buildNodePackage { + name = "ms-0.7.1"; + version = "0.7.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"; + name = "ms-0.7.1.tgz"; + sha1 = "9cd13c03adbff25b65effde7ce864ee952017098"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."negotiator"."0.6.1" = + self.by-version."negotiator"."0.6.1"; + by-version."negotiator"."0.6.1" = self.buildNodePackage { + name = "negotiator-0.6.1"; + version = "0.6.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz"; + name = "negotiator-0.6.1.tgz"; + sha1 = "2b327184e8992101177b28563fb5e7102acd0ca9"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."net-browserify-alt"."^1.0.0" = + self.by-version."net-browserify-alt"."1.0.0"; + by-version."net-browserify-alt"."1.0.0" = self.buildNodePackage { + name = "net-browserify-alt-1.0.0"; + version = "1.0.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/net-browserify-alt/-/net-browserify-alt-1.0.0.tgz"; + name = "net-browserify-alt-1.0.0.tgz"; + sha1 = "d85326b4940ba4630db5ea7644cc07c5551a0e7e"; + }; + deps = { + "body-parser-1.15.2" = self.by-version."body-parser"."1.15.2"; + "ws-1.1.1" = self.by-version."ws"."1.1.1"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + "net-browserify-alt" = self.by-version."net-browserify-alt"."1.0.0"; + by-spec."node.extend"."~1.1.5" = + self.by-version."node.extend"."1.1.6"; + by-version."node.extend"."1.1.6" = self.buildNodePackage { + name = "node.extend-1.1.6"; + version = "1.1.6"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/node.extend/-/node.extend-1.1.6.tgz"; + name = "node.extend-1.1.6.tgz"; + sha1 = "a7b882c82d6c93a4863a5504bd5de8ec86258b96"; + }; + deps = { + "is-3.1.0" = self.by-version."is"."3.1.0"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."on-finished"."~2.3.0" = + self.by-version."on-finished"."2.3.0"; + by-version."on-finished"."2.3.0" = self.buildNodePackage { + name = "on-finished-2.3.0"; + version = "2.3.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz"; + name = "on-finished-2.3.0.tgz"; + sha1 = "20f1336481b083cd75337992a16971aa2d906947"; + }; + deps = { + "ee-first-1.1.1" = self.by-version."ee-first"."1.1.1"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."on-headers"."~1.0.1" = + self.by-version."on-headers"."1.0.1"; + by-version."on-headers"."1.0.1" = self.buildNodePackage { + name = "on-headers-1.0.1"; + version = "1.0.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz"; + name = "on-headers-1.0.1.tgz"; + sha1 = "928f5d0f470d49342651ea6794b0857c100693f7"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."optimist"."~0.3.5" = + self.by-version."optimist"."0.3.7"; + by-version."optimist"."0.3.7" = self.buildNodePackage { + name = "optimist-0.3.7"; + version = "0.3.7"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz"; + name = "optimist-0.3.7.tgz"; + sha1 = "c90941ad59e4273328923074d2cf2e7cbc6ec0d9"; + }; + deps = { + "wordwrap-0.0.3" = self.by-version."wordwrap"."0.0.3"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."options".">=0.0.5" = + self.by-version."options"."0.0.6"; + by-version."options"."0.0.6" = self.buildNodePackage { + name = "options-0.0.6"; + version = "0.0.6"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/options/-/options-0.0.6.tgz"; + name = "options-0.0.6.tgz"; + sha1 = "ec22d312806bb53e731773e7cdaefcf1c643128f"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."parseurl"."~1.3.0" = + self.by-version."parseurl"."1.3.1"; + by-version."parseurl"."1.3.1" = self.buildNodePackage { + name = "parseurl-1.3.1"; + version = "1.3.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz"; + name = "parseurl-1.3.1.tgz"; + sha1 = "c8ab8c9223ba34888aa64a297b28853bec18da56"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."parseurl"."~1.3.1" = + self.by-version."parseurl"."1.3.1"; + by-spec."path-to-regexp"."0.1.7" = + self.by-version."path-to-regexp"."0.1.7"; + by-version."path-to-regexp"."0.1.7" = self.buildNodePackage { + name = "path-to-regexp-0.1.7"; + version = "0.1.7"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz"; + name = "path-to-regexp-0.1.7.tgz"; + sha1 = "df604178005f522f15eb4490e7247a1bfaa67f8c"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."promise"."^6.0.1" = + self.by-version."promise"."6.1.0"; + by-version."promise"."6.1.0" = self.buildNodePackage { + name = "promise-6.1.0"; + version = "6.1.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/promise/-/promise-6.1.0.tgz"; + name = "promise-6.1.0.tgz"; + sha1 = "2ce729f6b94b45c26891ad0602c5c90e04c6eef6"; + }; + deps = { + "asap-1.0.0" = self.by-version."asap"."1.0.0"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."promise"."^7.1.1" = + self.by-version."promise"."7.1.1"; + by-version."promise"."7.1.1" = self.buildNodePackage { + name = "promise-7.1.1"; + version = "7.1.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/promise/-/promise-7.1.1.tgz"; + name = "promise-7.1.1.tgz"; + sha1 = "489654c692616b8aa55b0724fa809bb7db49c5bf"; + }; + deps = { + "asap-2.0.5" = self.by-version."asap"."2.0.5"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."promise"."~2.0" = + self.by-version."promise"."2.0.0"; + by-version."promise"."2.0.0" = self.buildNodePackage { + name = "promise-2.0.0"; + version = "2.0.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/promise/-/promise-2.0.0.tgz"; + name = "promise-2.0.0.tgz"; + sha1 = "46648aa9d605af5d2e70c3024bf59436da02b80e"; + }; + deps = { + "is-promise-1.0.1" = self.by-version."is-promise"."1.0.1"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."proxy-addr"."~1.1.2" = + self.by-version."proxy-addr"."1.1.2"; + by-version."proxy-addr"."1.1.2" = self.buildNodePackage { + name = "proxy-addr-1.1.2"; + version = "1.1.2"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.1.2.tgz"; + name = "proxy-addr-1.1.2.tgz"; + sha1 = "b4cc5f22610d9535824c123aef9d3cf73c40ba37"; + }; + deps = { + "forwarded-0.1.0" = self.by-version."forwarded"."0.1.0"; + "ipaddr.js-1.1.1" = self.by-version."ipaddr.js"."1.1.1"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."prr"."~0.0.0" = + self.by-version."prr"."0.0.0"; + by-version."prr"."0.0.0" = self.buildNodePackage { + name = "prr-0.0.0"; + version = "0.0.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz"; + name = "prr-0.0.0.tgz"; + sha1 = "1a84b85908325501411853d0081ee3fa86e2926a"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."qs"."6.2.0" = + self.by-version."qs"."6.2.0"; + by-version."qs"."6.2.0" = self.buildNodePackage { + name = "qs-6.2.0"; + version = "6.2.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/qs/-/qs-6.2.0.tgz"; + name = "qs-6.2.0.tgz"; + sha1 = "3b7848c03c2dece69a9522b0fae8c4126d745f3b"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."qtdatastream"."^0.6.6" = + self.by-version."qtdatastream"."0.6.6"; + by-version."qtdatastream"."0.6.6" = self.buildNodePackage { + name = "qtdatastream-0.6.6"; + version = "0.6.6"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/qtdatastream/-/qtdatastream-0.6.6.tgz"; + name = "qtdatastream-0.6.6.tgz"; + sha1 = "c572113d4a2174acb4062e58c06644723b50e1c1"; + }; + deps = { + "debug-2.2.0" = self.by-version."debug"."2.2.0"; + "int64-buffer-0.1.9" = self.by-version."int64-buffer"."0.1.9"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."range-parser"."~1.2.0" = + self.by-version."range-parser"."1.2.0"; + by-version."range-parser"."1.2.0" = self.buildNodePackage { + name = "range-parser-1.2.0"; + version = "1.2.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz"; + name = "range-parser-1.2.0.tgz"; + sha1 = "f49be6b487894ddc40dcc94a322f611092e00d5e"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."raw-body"."~2.1.7" = + self.by-version."raw-body"."2.1.7"; + by-version."raw-body"."2.1.7" = self.buildNodePackage { + name = "raw-body-2.1.7"; + version = "2.1.7"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz"; + name = "raw-body-2.1.7.tgz"; + sha1 = "adfeace2e4fb3098058014d08c072dcc59758774"; + }; + deps = { + "bytes-2.4.0" = self.by-version."bytes"."2.4.0"; + "iconv-lite-0.4.13" = self.by-version."iconv-lite"."0.4.13"; + "unpipe-1.0.0" = self.by-version."unpipe"."1.0.0"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."repeat-string"."^1.5.2" = + self.by-version."repeat-string"."1.5.4"; + by-version."repeat-string"."1.5.4" = self.buildNodePackage { + name = "repeat-string-1.5.4"; + version = "1.5.4"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/repeat-string/-/repeat-string-1.5.4.tgz"; + name = "repeat-string-1.5.4.tgz"; + sha1 = "64ec0c91e0f4b475f90d5b643651e3e6e5b6c2d5"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."right-align"."^0.1.1" = + self.by-version."right-align"."0.1.3"; + by-version."right-align"."0.1.3" = self.buildNodePackage { + name = "right-align-0.1.3"; + version = "0.1.3"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz"; + name = "right-align-0.1.3.tgz"; + sha1 = "61339b722fe6a3515689210d24e14c96148613ef"; + }; + deps = { + "align-text-0.1.4" = self.by-version."align-text"."0.1.4"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."send"."0.14.1" = + self.by-version."send"."0.14.1"; + by-version."send"."0.14.1" = self.buildNodePackage { + name = "send-0.14.1"; + version = "0.14.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/send/-/send-0.14.1.tgz"; + name = "send-0.14.1.tgz"; + sha1 = "a954984325392f51532a7760760e459598c89f7a"; + }; + deps = { + "debug-2.2.0" = self.by-version."debug"."2.2.0"; + "depd-1.1.0" = self.by-version."depd"."1.1.0"; + "destroy-1.0.4" = self.by-version."destroy"."1.0.4"; + "encodeurl-1.0.1" = self.by-version."encodeurl"."1.0.1"; + "escape-html-1.0.3" = self.by-version."escape-html"."1.0.3"; + "etag-1.7.0" = self.by-version."etag"."1.7.0"; + "fresh-0.3.0" = self.by-version."fresh"."0.3.0"; + "http-errors-1.5.0" = self.by-version."http-errors"."1.5.0"; + "mime-1.3.4" = self.by-version."mime"."1.3.4"; + "ms-0.7.1" = self.by-version."ms"."0.7.1"; + "on-finished-2.3.0" = self.by-version."on-finished"."2.3.0"; + "range-parser-1.2.0" = self.by-version."range-parser"."1.2.0"; + "statuses-1.3.0" = self.by-version."statuses"."1.3.0"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."serve-favicon"."~2.3.0" = + self.by-version."serve-favicon"."2.3.0"; + by-version."serve-favicon"."2.3.0" = self.buildNodePackage { + name = "serve-favicon-2.3.0"; + version = "2.3.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.3.0.tgz"; + name = "serve-favicon-2.3.0.tgz"; + sha1 = "aed36cc6834069a6f189cc7222c6a1a811dc5b39"; + }; + deps = { + "etag-1.7.0" = self.by-version."etag"."1.7.0"; + "fresh-0.3.0" = self.by-version."fresh"."0.3.0"; + "ms-0.7.1" = self.by-version."ms"."0.7.1"; + "parseurl-1.3.1" = self.by-version."parseurl"."1.3.1"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + "serve-favicon" = self.by-version."serve-favicon"."2.3.0"; + by-spec."serve-static"."~1.11.1" = + self.by-version."serve-static"."1.11.1"; + by-version."serve-static"."1.11.1" = self.buildNodePackage { + name = "serve-static-1.11.1"; + version = "1.11.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/serve-static/-/serve-static-1.11.1.tgz"; + name = "serve-static-1.11.1.tgz"; + sha1 = "d6cce7693505f733c759de57befc1af76c0f0805"; + }; + deps = { + "encodeurl-1.0.1" = self.by-version."encodeurl"."1.0.1"; + "escape-html-1.0.3" = self.by-version."escape-html"."1.0.3"; + "parseurl-1.3.1" = self.by-version."parseurl"."1.3.1"; + "send-0.14.1" = self.by-version."send"."0.14.1"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."setprototypeof"."1.0.1" = + self.by-version."setprototypeof"."1.0.1"; + by-version."setprototypeof"."1.0.1" = self.buildNodePackage { + name = "setprototypeof-1.0.1"; + version = "1.0.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.1.tgz"; + name = "setprototypeof-1.0.1.tgz"; + sha1 = "52009b27888c4dc48f591949c0a8275834c1ca7e"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."source-map"."0.4.x" = + self.by-version."source-map"."0.4.4"; + by-version."source-map"."0.4.4" = self.buildNodePackage { + name = "source-map-0.4.4"; + version = "0.4.4"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz"; + name = "source-map-0.4.4.tgz"; + sha1 = "eba4f5da9c0dc999de68032d8b4f76173652036b"; + }; + deps = { + "amdefine-1.0.0" = self.by-version."amdefine"."1.0.0"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."source-map"."^0.5.3" = + self.by-version."source-map"."0.5.6"; + by-version."source-map"."0.5.6" = self.buildNodePackage { + name = "source-map-0.5.6"; + version = "0.5.6"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz"; + name = "source-map-0.5.6.tgz"; + sha1 = "75ce38f52bf0733c5a7f0c118d81334a2bb5f412"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."source-map"."~0.1.7" = + self.by-version."source-map"."0.1.43"; + by-version."source-map"."0.1.43" = self.buildNodePackage { + name = "source-map-0.1.43"; + version = "0.1.43"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz"; + name = "source-map-0.1.43.tgz"; + sha1 = "c24bc146ca517c1471f5dacbe2571b2b7f9e3346"; + }; + deps = { + "amdefine-1.0.0" = self.by-version."amdefine"."1.0.0"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."source-map"."~0.5.1" = + self.by-version."source-map"."0.5.6"; + by-spec."statuses".">= 1.3.0 < 2" = + self.by-version."statuses"."1.3.0"; + by-version."statuses"."1.3.0" = self.buildNodePackage { + name = "statuses-1.3.0"; + version = "1.3.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/statuses/-/statuses-1.3.0.tgz"; + name = "statuses-1.3.0.tgz"; + sha1 = "8e55758cb20e7682c1f4fce8dcab30bf01d1e07a"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."statuses"."~1.3.0" = + self.by-version."statuses"."1.3.0"; + by-spec."transformers"."2.1.0" = + self.by-version."transformers"."2.1.0"; + by-version."transformers"."2.1.0" = self.buildNodePackage { + name = "transformers-2.1.0"; + version = "2.1.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/transformers/-/transformers-2.1.0.tgz"; + name = "transformers-2.1.0.tgz"; + sha1 = "5d23cb35561dd85dc67fb8482309b47d53cce9a7"; + }; + deps = { + "promise-2.0.0" = self.by-version."promise"."2.0.0"; + "css-1.0.8" = self.by-version."css"."1.0.8"; + "uglify-js-2.2.5" = self.by-version."uglify-js"."2.2.5"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."type-is"."~1.6.13" = + self.by-version."type-is"."1.6.13"; + by-version."type-is"."1.6.13" = self.buildNodePackage { + name = "type-is-1.6.13"; + version = "1.6.13"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/type-is/-/type-is-1.6.13.tgz"; + name = "type-is-1.6.13.tgz"; + sha1 = "6e83ba7bc30cd33a7bb0b7fb00737a2085bf9d08"; + }; + deps = { + "media-typer-0.3.0" = self.by-version."media-typer"."0.3.0"; + "mime-types-2.1.12" = self.by-version."mime-types"."2.1.12"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."uglify-js"."^2.4.19" = + self.by-version."uglify-js"."2.7.3"; + by-version."uglify-js"."2.7.3" = self.buildNodePackage { + name = "uglify-js-2.7.3"; + version = "2.7.3"; + bin = true; + src = fetchurl { + url = "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.3.tgz"; + name = "uglify-js-2.7.3.tgz"; + sha1 = "39b3a7329b89f5ec507e344c6e22568698ef4868"; + }; + deps = { + "async-0.2.10" = self.by-version."async"."0.2.10"; + "source-map-0.5.6" = self.by-version."source-map"."0.5.6"; + "uglify-to-browserify-1.0.2" = self.by-version."uglify-to-browserify"."1.0.2"; + "yargs-3.10.0" = self.by-version."yargs"."3.10.0"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."uglify-js"."~2.2.5" = + self.by-version."uglify-js"."2.2.5"; + by-version."uglify-js"."2.2.5" = self.buildNodePackage { + name = "uglify-js-2.2.5"; + version = "2.2.5"; + bin = true; + src = fetchurl { + url = "https://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz"; + name = "uglify-js-2.2.5.tgz"; + sha1 = "a6e02a70d839792b9780488b7b8b184c095c99c7"; + }; + deps = { + "source-map-0.1.43" = self.by-version."source-map"."0.1.43"; + "optimist-0.3.7" = self.by-version."optimist"."0.3.7"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."uglify-to-browserify"."~1.0.0" = + self.by-version."uglify-to-browserify"."1.0.2"; + by-version."uglify-to-browserify"."1.0.2" = self.buildNodePackage { + name = "uglify-to-browserify-1.0.2"; + version = "1.0.2"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz"; + name = "uglify-to-browserify-1.0.2.tgz"; + sha1 = "6e0924d6bda6b5afe349e39a6d632850a0f882b7"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."ultron"."1.0.x" = + self.by-version."ultron"."1.0.2"; + by-version."ultron"."1.0.2" = self.buildNodePackage { + name = "ultron-1.0.2"; + version = "1.0.2"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz"; + name = "ultron-1.0.2.tgz"; + sha1 = "ace116ab557cd197386a4e88f4685378c8b2e4fa"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."unpipe"."1.0.0" = + self.by-version."unpipe"."1.0.0"; + by-version."unpipe"."1.0.0" = self.buildNodePackage { + name = "unpipe-1.0.0"; + version = "1.0.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"; + name = "unpipe-1.0.0.tgz"; + sha1 = "b2bf4ee8514aae6165b4817829d21b2ef49904ec"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."unpipe"."~1.0.0" = + self.by-version."unpipe"."1.0.0"; + by-spec."utils-merge"."1.0.0" = + self.by-version."utils-merge"."1.0.0"; + by-version."utils-merge"."1.0.0" = self.buildNodePackage { + name = "utils-merge-1.0.0"; + version = "1.0.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz"; + name = "utils-merge-1.0.0.tgz"; + sha1 = "0294fb922bb9375153541c4f7096231f287c8af8"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."vary"."~1.1.0" = + self.by-version."vary"."1.1.0"; + by-version."vary"."1.1.0" = self.buildNodePackage { + name = "vary-1.1.0"; + version = "1.1.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/vary/-/vary-1.1.0.tgz"; + name = "vary-1.1.0.tgz"; + sha1 = "e1e5affbbd16ae768dd2674394b9ad3022653140"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."void-elements"."~2.0.1" = + self.by-version."void-elements"."2.0.1"; + by-version."void-elements"."2.0.1" = self.buildNodePackage { + name = "void-elements-2.0.1"; + version = "2.0.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz"; + name = "void-elements-2.0.1.tgz"; + sha1 = "c066afb582bb1cb4128d60ea92392e94d5e9dbec"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."window-size"."0.1.0" = + self.by-version."window-size"."0.1.0"; + by-version."window-size"."0.1.0" = self.buildNodePackage { + name = "window-size-0.1.0"; + version = "0.1.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz"; + name = "window-size-0.1.0.tgz"; + sha1 = "5438cd2ea93b202efa3a19fe8887aee7c94f9c9d"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."with"."~4.0.0" = + self.by-version."with"."4.0.3"; + by-version."with"."4.0.3" = self.buildNodePackage { + name = "with-4.0.3"; + version = "4.0.3"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/with/-/with-4.0.3.tgz"; + name = "with-4.0.3.tgz"; + sha1 = "eefd154e9e79d2c8d3417b647a8f14d9fecce14e"; + }; + deps = { + "acorn-1.2.2" = self.by-version."acorn"."1.2.2"; + "acorn-globals-1.0.9" = self.by-version."acorn-globals"."1.0.9"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."wordwrap"."0.0.2" = + self.by-version."wordwrap"."0.0.2"; + by-version."wordwrap"."0.0.2" = self.buildNodePackage { + name = "wordwrap-0.0.2"; + version = "0.0.2"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz"; + name = "wordwrap-0.0.2.tgz"; + sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."wordwrap"."~0.0.2" = + self.by-version."wordwrap"."0.0.3"; + by-version."wordwrap"."0.0.3" = self.buildNodePackage { + name = "wordwrap-0.0.3"; + version = "0.0.3"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz"; + name = "wordwrap-0.0.3.tgz"; + sha1 = "a3d5da6cd5c0bc0008d37234bbaf1bed63059107"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."ws"."^1.1.1" = + self.by-version."ws"."1.1.1"; + by-version."ws"."1.1.1" = self.buildNodePackage { + name = "ws-1.1.1"; + version = "1.1.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/ws/-/ws-1.1.1.tgz"; + name = "ws-1.1.1.tgz"; + sha1 = "082ddb6c641e85d4bb451f03d52f06eabdb1f018"; + }; + deps = { + "options-0.0.6" = self.by-version."options"."0.0.6"; + "ultron-1.0.2" = self.by-version."ultron"."1.0.2"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."yargs"."~3.10.0" = + self.by-version."yargs"."3.10.0"; + by-version."yargs"."3.10.0" = self.buildNodePackage { + name = "yargs-3.10.0"; + version = "3.10.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz"; + name = "yargs-3.10.0.tgz"; + sha1 = "f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1"; + }; + deps = { + "camelcase-1.2.1" = self.by-version."camelcase"."1.2.1"; + "cliui-2.1.0" = self.by-version."cliui"."2.1.0"; + "decamelize-1.2.0" = self.by-version."decamelize"."1.2.0"; + "window-size-0.1.0" = self.by-version."window-size"."0.1.0"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; +} diff --git a/pkgs/applications/networking/irc/weechat/default.nix b/pkgs/applications/networking/irc/weechat/default.nix index 1ad0cfa62759..911555fa6a61 100644 --- a/pkgs/applications/networking/irc/weechat/default.nix +++ b/pkgs/applications/networking/irc/weechat/default.nix @@ -1,6 +1,7 @@ { stdenv, fetchurl, ncurses, openssl, aspell, gnutls , zlib, curl , pkgconfig, libgcrypt -, cmake, makeWrapper, libobjc, libiconv +, cmake, makeWrapper, libobjc, libresolv, libiconv +, asciidoctor # manpages , guileSupport ? true, guile , luaSupport ? true, lua5 , perlSupport ? true, perl @@ -20,16 +21,22 @@ let in stdenv.mkDerivation rec { - version = "1.5"; + version = "1.6"; name = "weechat-${version}"; src = fetchurl { url = "http://weechat.org/files/src/weechat-${version}.tar.bz2"; - sha256 = "0n4cbhh9a7qq6y70ac9b4r0kb7hydwsic99h45ppr2jly322fvij"; + sha256 = "0d1wcpsxx13clcf1ygcn5hsa1pjkck4xznbjbxphbdxd5whsbv3k"; }; - cmakeFlags = with stdenv.lib; [] - ++ optional stdenv.isDarwin "-DICONV_LIBRARY=${libiconv}/lib/libiconv.dylib" + outputs = [ "out" "doc" ]; + + enableParallelBuilding = true; + cmakeFlags = with stdenv.lib; [ + "-DENABLE_MAN=ON" + "-DENABLE_DOC=ON" + ] + ++ optionals stdenv.isDarwin ["-DICONV_LIBRARY=${libiconv}/lib/libiconv.dylib" "-DCMAKE_FIND_FRAMEWORK=LAST"] ++ optional (!guileSupport) "-DENABLE_GUILE=OFF" ++ optional (!luaSupport) "-DENABLE_LUA=OFF" ++ optional (!perlSupport) "-DENABLE_PERL=OFF" @@ -41,8 +48,9 @@ stdenv.mkDerivation rec { ncurses python openssl aspell gnutls zlib curl pkgconfig libgcrypt pycrypto makeWrapper cmake - ] - ++ optionals stdenv.isDarwin [ pync libobjc ] + asciidoctor + ] + ++ optionals stdenv.isDarwin [ pync libobjc libresolv ] ++ optional guileSupport guile ++ optional luaSupport lua5 ++ optional perlSupport perl @@ -50,7 +58,9 @@ stdenv.mkDerivation rec { ++ optional tclSupport tcl ++ extraBuildInputs; - NIX_CFLAGS_COMPILE = "-I${python}/include/${python.libPrefix} -DCA_FILE=/etc/ssl/certs/ca-certificates.crt"; + NIX_CFLAGS_COMPILE = "-I${python}/include/${python.libPrefix}" + # Fix '_res_9_init: undefined symbol' error + + (stdenv.lib.optionalString stdenv.isDarwin "-DBIND_8_COMPAT=1 -lresolv"); postInstall = with stdenv.lib; '' NIX_PYTHONPATH="$out/lib/${python.libPrefix}/site-packages" diff --git a/pkgs/applications/networking/mailreaders/astroid/default.nix b/pkgs/applications/networking/mailreaders/astroid/default.nix new file mode 100644 index 000000000000..31cad15296cf --- /dev/null +++ b/pkgs/applications/networking/mailreaders/astroid/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchFromGitHub, scons, pkgconfig, gnome3, gmime, webkitgtk24x + , libsass, notmuch, boost, makeWrapper }: + +stdenv.mkDerivation rec { + name = "astroid-${version}"; + version = "0.6"; + + src = fetchFromGitHub { + owner = "astroidmail"; + repo = "astroid"; + rev = "v${version}"; + sha256 = "0zashjmqv8ips9q8ckyhgm9hfyf01wpgs6g21cwl05q5iklc5x7r"; + }; + + patches = [ ./propagate-environment.patch ]; + + buildInputs = [ scons pkgconfig gnome3.gtkmm gmime webkitgtk24x libsass + gnome3.libpeas notmuch boost gnome3.gsettings_desktop_schemas + makeWrapper ]; + + buildPhase = "scons --prefix=$out build"; + installPhase = "scons --prefix=$out install"; + + preFixup = '' + wrapProgram "$out/bin/astroid" \ + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" + ''; + + meta = { + homepage = "https://astroidmail.github.io/"; + description = "GTK+ frontend to the notmuch mail system"; + maintainers = [ stdenv.lib.maintainers.bdimcheff ]; + license = stdenv.lib.licenses.gpl3Plus; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/applications/networking/mailreaders/astroid/propagate-environment.patch b/pkgs/applications/networking/mailreaders/astroid/propagate-environment.patch new file mode 100644 index 000000000000..db536ea721f2 --- /dev/null +++ b/pkgs/applications/networking/mailreaders/astroid/propagate-environment.patch @@ -0,0 +1,13 @@ +diff --git a/SConstruct b/SConstruct +index a80bca3..ed2cd6d 100644 +--- a/SConstruct ++++ b/SConstruct +@@ -5,7 +5,7 @@ from subprocess import * + def getGitDesc(): + return Popen('git describe --abbrev=8 --tags --always', stdout=PIPE, shell=True).stdout.read ().strip () + +-env = Environment () ++env = Environment(ENV = os.environ) + + AddOption ("--release", action="store", dest="release", default="git", help="Make a release (default: git describe output)") + AddOption ("--enable-debug", action="store", dest="debug", default=None, help="Enable the -g flag for debugging (default: true when release is git)") diff --git a/pkgs/applications/networking/mailreaders/claws-mail/default.nix b/pkgs/applications/networking/mailreaders/claws-mail/default.nix index 62a58c42cd43..346dba3acd5f 100644 --- a/pkgs/applications/networking/mailreaders/claws-mail/default.nix +++ b/pkgs/applications/networking/mailreaders/claws-mail/default.nix @@ -1,6 +1,6 @@ { fetchurl, stdenv, wrapGAppsHook -, curl, dbus, dbus_glib, enchant, gtk, gnutls, gnupg, gpgme, hicolor_icon_theme -, libarchive, libcanberra, libetpan, libnotify, libsoup, libxml2, networkmanager +, curl, dbus, dbus_glib, enchant, gtk2, gnutls, gnupg, gpgme, hicolor_icon_theme +, libarchive, libcanberra_gtk2, libetpan, libnotify, libsoup, libxml2, networkmanager , openldap , perl, pkgconfig, poppler, python, shared_mime_info, webkitgtk2 , glib_networking, gsettings_desktop_schemas @@ -55,13 +55,13 @@ stdenv.mkDerivation rec { ''; buildInputs = - [ curl dbus dbus_glib gtk gnutls gsettings_desktop_schemas hicolor_icon_theme + [ curl dbus dbus_glib gtk2 gnutls gsettings_desktop_schemas hicolor_icon_theme libetpan perl pkgconfig python wrapGAppsHook glib_networking ] ++ optional enableSpellcheck enchant ++ optionals (enablePgp || enablePluginSmime) [ gnupg gpgme ] ++ optional enablePluginArchive libarchive - ++ optional enablePluginNotificationSounds libcanberra + ++ optional enablePluginNotificationSounds libcanberra_gtk2 ++ optional enablePluginNotificationDialogs libnotify ++ optional enablePluginFancy libsoup ++ optional enablePluginRssyl libxml2 diff --git a/pkgs/applications/networking/mailreaders/mailnag/default.nix b/pkgs/applications/networking/mailreaders/mailnag/default.nix index bf3f6296acc2..7720fd69eebd 100644 --- a/pkgs/applications/networking/mailreaders/mailnag/default.nix +++ b/pkgs/applications/networking/mailreaders/mailnag/default.nix @@ -1,9 +1,9 @@ -{ stdenv, fetchurl, gettext, gtk3, pythonPackages +{ stdenv, fetchurl, gettext, gtk3, python2Packages , gdk_pixbuf, libnotify, gst_all_1 , libgnome_keyring3 ? null, networkmanager ? null }: -pythonPackages.buildPythonApplication rec { +python2Packages.buildPythonApplication rec { name = "mailnag-${version}"; version = "1.1.0"; @@ -13,8 +13,8 @@ pythonPackages.buildPythonApplication rec { }; buildInputs = [ - gettext gtk3 pythonPackages.pygobject3 pythonPackages.dbus-python - pythonPackages.pyxdg gdk_pixbuf libnotify gst_all_1.gstreamer + gettext gtk3 python2Packages.pygobject3 python2Packages.dbus-python + python2Packages.pyxdg gdk_pixbuf libnotify gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad libgnome_keyring3 networkmanager ]; diff --git a/pkgs/applications/networking/mailreaders/mailpile/default.nix b/pkgs/applications/networking/mailreaders/mailpile/default.nix index be74e0796918..05fea05fd14e 100644 --- a/pkgs/applications/networking/mailreaders/mailpile/default.nix +++ b/pkgs/applications/networking/mailreaders/mailpile/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchgit, pythonPackages, gnupg1orig, makeWrapper, openssl }: +{ stdenv, fetchgit, python2Packages, gnupg1orig, makeWrapper, openssl }: -pythonPackages.buildPythonApplication rec { +python2Packages.buildPythonApplication rec { name = "mailpile-${version}"; version = "0.4.1"; @@ -11,12 +11,12 @@ pythonPackages.buildPythonApplication rec { }; patchPhase = '' - substituteInPlace setup.py --replace "data_files.append((dir" "data_files.append(('lib/${pythonPackages.python.libPrefix}/site-packages/' + dir" + substituteInPlace setup.py --replace "data_files.append((dir" "data_files.append(('lib/${python2Packages.python.libPrefix}/site-packages/' + dir" ''; - propagatedBuildInputs = with pythonPackages; [ - makeWrapper pillow jinja2 spambayes pythonPackages.lxml - python.modules.readline pgpdump gnupg1orig + propagatedBuildInputs = with python2Packages; [ + makeWrapper pillow jinja2 spambayes python2Packages.lxml + pgpdump gnupg1orig ]; postInstall = '' @@ -24,6 +24,9 @@ pythonPackages.buildPythonApplication rec { --prefix PATH ":" "${stdenv.lib.makeBinPath [ gnupg1orig openssl ]}" ''; + # No tests were found + doCheck = false; + meta = with stdenv.lib; { description = "A modern, fast web-mail client with user-friendly encryption and privacy features"; homepage = https://www.mailpile.is/; diff --git a/pkgs/applications/networking/mailreaders/mutt-kz/default.nix b/pkgs/applications/networking/mailreaders/mutt-kz/default.nix deleted file mode 100644 index 5cd0ef9f7a44..000000000000 --- a/pkgs/applications/networking/mailreaders/mutt-kz/default.nix +++ /dev/null @@ -1,64 +0,0 @@ -{ stdenv, fetchurl, ncurses, which, perl, autoreconfHook, autoconf, automake, notmuch -, sslSupport ? true -, imapSupport ? true -, headerCache ? true -, saslSupport ? true -, gpgmeSupport ? true -, gdbm ? null -, openssl ? null -, cyrus_sasl ? null -, gpgme ? null -}: - -assert headerCache -> gdbm != null; -assert sslSupport -> openssl != null; -assert saslSupport -> cyrus_sasl != null; -assert gpgmeSupport -> gpgme != null; - -let - version = "1.5.23.1"; -in -stdenv.mkDerivation rec { - name = "mutt-kz-${version}"; - - src = fetchurl { - url = "https://github.com/karelzak/mutt-kz/archive/v${version}.tar.gz"; - sha256 = "01k4hrf8x2100pcqnrm61mm1x0pqi2kr3rx22k5hwvbs1wh8zyhz"; - }; - - buildInputs = with stdenv.lib; - [ ncurses which perl autoreconfHook autoconf automake notmuch] - ++ optional headerCache gdbm - ++ optional sslSupport openssl - ++ optional saslSupport cyrus_sasl - ++ optional gpgmeSupport gpgme; - -configureFlags = [ - "--with-mailpath=" "--enable-smtp" - - # This allows calls with "-d N", that output debug info into ~/.muttdebug* - "--enable-debug" - - "--enable-pop" "--enable-imap" - - "--enable-notmuch" - - # The next allows building mutt without having anything setgid - # set by the installer, and removing the need for the group 'mail' - # I set the value 'mailbox' because it is a default in the configure script - "--with-homespool=mailbox" - (if headerCache then "--enable-hcache" else "--disable-hcache") - (if sslSupport then "--with-ssl" else "--without-ssl") - (if imapSupport then "--enable-imap" else "--disable-imap") - (if saslSupport then "--with-sasl" else "--without-sasl") - (if gpgmeSupport then "--enable-gpgme" else "--disable-gpgme") - ]; - - meta = with stdenv.lib; { - description = "A small but very powerful text-based mail client, forked to support notmuch"; - homepage = https://github.com/karelzak/mutt-kz/; - license = stdenv.lib.licenses.gpl2Plus; - platforms = platforms.unix; - maintainers = with maintainers; [ magnetophon ]; - }; -} diff --git a/pkgs/applications/networking/mailreaders/mutt/default.nix b/pkgs/applications/networking/mailreaders/mutt/default.nix index 0be5e0bd57eb..195cf13e4c29 100644 --- a/pkgs/applications/networking/mailreaders/mutt/default.nix +++ b/pkgs/applications/networking/mailreaders/mutt/default.nix @@ -1,16 +1,14 @@ -{ stdenv, fetchurl, fetchpatch, ncurses, which, perl, autoreconfHook +{ stdenv, fetchurl, ncurses, which, perl , gdbm ? null , openssl ? null , cyrus_sasl ? null , gpgme ? null -, aclocal ? null , headerCache ? true , sslSupport ? true , saslSupport ? true , gpgmeSupport ? true , imapSupport ? true -, withSidebar ? false -, withTrash ? false +, withSidebar ? true }: assert headerCache -> gdbm != null; @@ -22,20 +20,23 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "mutt-${version}"; - version = "1.6.2"; + version = "1.7.2"; src = fetchurl { url = "http://ftp.mutt.org/pub/mutt/${name}.tar.gz"; - sha256 = "13hxmji7v9m2agmvzrs7gzx8s3c9jiwrv7pbkr7z1kc6ckq2xl65"; + sha256 = "1yazrl82s9fxmamnlvwmsxhwrxnwv6kwakgfmawda8ndhwb50lqm"; }; + patchPhase = optionalString (openssl != null) '' + sed -i 's#/usr/bin/openssl#${openssl}/bin/openssl#' smime_keys.pl + ''; + buildInputs = [ ncurses which perl ] ++ optional headerCache gdbm ++ optional sslSupport openssl ++ optional saslSupport cyrus_sasl - ++ optional gpgmeSupport gpgme - ++ optional withSidebar autoreconfHook; + ++ optional gpgmeSupport gpgme; configureFlags = [ (enableFeature headerCache "hcache") @@ -60,18 +61,6 @@ stdenv.mkDerivation rec { ] ++ optional sslSupport "--with-ssl" ++ optional saslSupport "--with-sasl"; - patches = - optional withTrash (fetchpatch { - name = "trash.patch"; - url = "https://aur.archlinux.org/cgit/aur.git/plain/trash.patch?h=mutt-sidebar"; - sha256 = "1hrib9jk28mqd02nzv0sx01jfdabzvnwcc5qjc3810zfglzc1nql"; - }) ++ - optional withSidebar (fetchpatch { - name = "sidebar.patch"; - url = "https://aur.archlinux.org/cgit/aur.git/plain/sidebar.patch?h=mutt-sidebar"; - sha256 = "1l63wj7kw41jrh00mcxdw4p4vrbc9wld42s99liw8kz2aclymq5m"; - }); - meta = { description = "A small but very powerful text-based mail client"; homepage = http://www.mutt.org; diff --git a/pkgs/applications/networking/mailreaders/neomutt/default.nix b/pkgs/applications/networking/mailreaders/neomutt/default.nix index be4ce9e41f26..57f633d2c990 100644 --- a/pkgs/applications/networking/mailreaders/neomutt/default.nix +++ b/pkgs/applications/networking/mailreaders/neomutt/default.nix @@ -1,20 +1,20 @@ { stdenv, fetchFromGitHub, which, autoconf, automake, ncurses, perl -, cyrus_sasl, gdbm, gpgme, kerberos, libidn, notmuch, openssl }: +, cyrus_sasl, gdbm, gpgme, kerberos, libidn, notmuch, openssl, lmdb }: stdenv.mkDerivation rec { - version = "20160827"; + version = "20161126"; name = "neomutt-${version}"; src = fetchFromGitHub { owner = "neomutt"; repo = "neomutt"; rev = "neomutt-${version}"; - sha256 = "1gam2iyy75drlp9ap1hlfb38i0p6zwgw09m08m5x50dbp3lxf7xp"; + sha256 = "10ycfya11pvwv0rdyyak56r6f8ia8yf0h8qyi904bbpvm8lqvqfd"; }; buildInputs = [ autoconf automake cyrus_sasl gdbm gpgme kerberos libidn ncurses - notmuch which openssl perl ]; + notmuch which openssl perl lmdb ]; configureFlags = [ "--enable-debug" @@ -36,6 +36,7 @@ stdenv.mkDerivation rec { "--with-curses" "--with-regex" "--with-idn" + "--with-lmdb" # Look in $PATH at runtime, instead of hardcoding /usr/bin/sendmail "ac_cv_path_SENDMAIL=sendmail" @@ -48,6 +49,6 @@ stdenv.mkDerivation rec { homepage = http://www.neomutt.org; license = stdenv.lib.licenses.gpl2Plus; platforms = platforms.unix; - maintainers = with maintainers; [ hiberno cstrahan vrthra ]; + maintainers = with maintainers; [ cstrahan vrthra erikryb ]; }; } diff --git a/pkgs/applications/networking/mailreaders/notmuch-addrlookup/default.nix b/pkgs/applications/networking/mailreaders/notmuch-addrlookup/default.nix index 3b90bc9f0ac1..2cc4905e4351 100644 --- a/pkgs/applications/networking/mailreaders/notmuch-addrlookup/default.nix +++ b/pkgs/applications/networking/mailreaders/notmuch-addrlookup/default.nix @@ -11,7 +11,6 @@ stdenv.mkDerivation rec { sha256 = "0mz0llf1ggl1k46brgrqj3i8qlg1ycmkc5a3a0kg8fg4s1c1m6xk"; }; - buildInputs = [ pkgconfig glib notmuch ]; installPhase = '' @@ -19,12 +18,10 @@ stdenv.mkDerivation rec { cp notmuch-addrlookup "$out/bin" ''; - - meta = with stdenv.lib; { description = "Address lookup tool for Notmuch in C"; homepage = https://github.com/aperezdc/notmuch-addrlookup-c; - maintainers = with maintainers; [ mog ]; + maintainers = with maintainers; [ mog garbas ]; platforms = platforms.linux; license = licenses.mit; }; diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix index bbf92ea0462a..c1a32341ffe4 100644 --- a/pkgs/applications/networking/mailreaders/notmuch/default.nix +++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix @@ -1,11 +1,16 @@ -{ fetchurl, stdenv, bash, emacs, fixDarwinDylibNames -, gdb, glib, gmime, gnupg -, pkgconfig, talloc, xapian -, sphinx, python +{ fetchurl, stdenv, fixDarwinDylibNames, gdb +, pkgconfig, gnupg +, xapian, gmime, talloc, zlib +, doxygen, perl +, pythonPackages +, bash-completion +, emacs +, ruby +, which, dtach, openssl, bash }: stdenv.mkDerivation rec { - version = "0.22"; + version = "0.23.4"; name = "notmuch-${version}"; passthru = { @@ -15,17 +20,39 @@ stdenv.mkDerivation rec { src = fetchurl { url = "http://notmuchmail.org/releases/${name}.tar.gz"; - sha256 = "16mrrw6xpsgip4dy8rfx0zncij5h41fsg2aah6x6z83bjbpihhfn"; + sha256 = "0fs5crf8v3jghc8jnm61cv7wxhclcg88hi5894d8fma9kkixcv8h"; }; - buildInputs = [ bash emacs glib gmime gnupg pkgconfig talloc xapian sphinx python ] + buildInputs = [ + pkgconfig gnupg # undefined dependencies + xapian gmime talloc zlib # dependencies described in INSTALL + doxygen perl # (optional) api docs + pythonPackages.sphinx pythonPackages.python # (optional) documentation -> doc/INSTALL + bash-completion # (optional) dependency to install bash completion + emacs # (optional) to byte compile emacs code + ruby # (optional) ruby bindings + which dtach openssl bash # test dependencies + ] ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames ++ stdenv.lib.optional (!stdenv.isDarwin) gdb; + doCheck = !stdenv.isDarwin; + checkTarget = "test"; + patchPhase = '' + # XXX: disabling few tests since i have no idea how to make them pass for now + rm -f test/T010-help-test.sh \ + test/T350-crypto.sh \ + test/T355-smime.sh + find test -type f -exec \ sed -i \ - "1s_#!/usr/bin/env bash_#!${bash}/bin/bash_" \ + -e "1s|#!/usr/bin/env bash|#!${bash}/bin/bash|" \ + -e "s|gpg |${gnupg}/bin/gpg2 |" \ + -e "s| gpg| ${gnupg}/bin/gpg2|" \ + -e "s|gpgsm |${gnupg}/bin/gpgsm |" \ + -e "s| gpgsm| ${gnupg}/bin/gpgsm|" \ + -e "s|crypto.gpg_path=gpg|crypto.gpg_path=${gnupg}/bin/gpg2|" \ "{}" ";" for src in \ @@ -38,44 +65,37 @@ stdenv.mkDerivation rec { done ''; + preFixup = stdenv.lib.optionalString stdenv.isDarwin '' + set -e + + die() { + >&2 echo "$@" + exit 1 + } + + prg="$out/bin/notmuch" + lib="$(find "$out/lib" -name 'libnotmuch.?.dylib')" + + [[ -s "$prg" ]] || die "couldn't find notmuch binary" + [[ -s "$lib" ]] || die "couldn't find libnotmuch" + + badname="$(otool -L "$prg" | awk '$1 ~ /libtalloc/ { print $1 }')" + goodname="$(find "${talloc}/lib" -name 'libtalloc.?.?.?.dylib')" + + [[ -n "$badname" ]] || die "couldn't find libtalloc reference in binary" + [[ -n "$goodname" ]] || die "couldn't find libtalloc in nix store" + + echo "fixing libtalloc link in $lib" + install_name_tool -change "$badname" "$goodname" "$lib" + + echo "fixing libtalloc link in $prg" + install_name_tool -change "$badname" "$goodname" "$prg" + ''; + postInstall = '' make install-man ''; - preFixup = if stdenv.isDarwin then - '' - set -e - - die() { - >&2 echo "$@" - exit 1 - } - - prg="$out/bin/notmuch" - lib="$(find "$out/lib" -name 'libnotmuch.?.dylib')" - - [[ -s "$prg" ]] || die "couldn't find notmuch binary" - [[ -s "$lib" ]] || die "couldn't find libnotmuch" - - badname="$(otool -L "$prg" | awk '$1 ~ /libtalloc/ { print $1 }')" - goodname="$(find "${talloc}/lib" -name 'libtalloc.?.?.?.dylib')" - - [[ -n "$badname" ]] || die "couldn't find libtalloc reference in binary" - [[ -n "$goodname" ]] || die "couldn't find libtalloc in nix store" - - echo "fixing libtalloc link in $lib" - install_name_tool -change "$badname" "$goodname" "$lib" - - echo "fixing libtalloc link in $prg" - install_name_tool -change "$badname" "$goodname" "$prg" - '' - else - ""; - - # XXX: emacs tests broken - doCheck = false; - checkTarget = "test"; - meta = { description = "Mail indexer"; license = stdenv.lib.licenses.gpl3; diff --git a/pkgs/applications/networking/mailreaders/sylpheed/default.nix b/pkgs/applications/networking/mailreaders/sylpheed/default.nix index 65c1001ae781..b1cdd509f98e 100644 --- a/pkgs/applications/networking/mailreaders/sylpheed/default.nix +++ b/pkgs/applications/networking/mailreaders/sylpheed/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, gtk +{ stdenv, fetchurl, pkgconfig, gtk2 , openssl ? null , gpgme ? null @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { }; buildInputs = - [ pkgconfig gtk ] + [ pkgconfig gtk2 ] ++ optional sslSupport openssl ++ optional gpgSupport gpgme; diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix index f2b2f6dfa5ca..2bc65226c5fc 100644 --- a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix +++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix @@ -15,7 +15,7 @@ , glibc , gst_plugins_base , gstreamer -, gtk +, gtk2 , kerberos , libX11 , libXScrnSaver @@ -26,13 +26,18 @@ , libXinerama , libXrender , libXt -, libcanberra +, libcanberra_gtk2 , libgnome , libgnomeui , mesa , nspr , nss , pango +, writeScript +, xidel +, coreutils +, gnused +, gnugrep }: assert stdenv.isLinux; @@ -57,10 +62,11 @@ let source = stdenv.lib.findFirst (sourceMatches systemLocale) defaultSource sources; + name = "thunderbird-bin-${version}"; in stdenv.mkDerivation { - name = "thunderbird-bin-${version}"; + inherit name; src = fetchurl { url = "http://download-installer.cdn.mozilla.net/pub/thunderbird/releases/${version}/${source.arch}/${source.locale}/thunderbird-${version}.tar.bz2"; @@ -87,7 +93,7 @@ stdenv.mkDerivation { glibc gst_plugins_base gstreamer - gtk + gtk2 kerberos libX11 libXScrnSaver @@ -98,7 +104,7 @@ stdenv.mkDerivation { libXinerama libXrender libXt - libcanberra + libcanberra_gtk2 libgnome libgnomeui mesa @@ -141,6 +147,12 @@ stdenv.mkDerivation { EOF ''; + passthru.updateScript = import ./../../browsers/firefox-bin/update.nix { + inherit name writeScript xidel coreutils gnused gnugrep curl; + baseName = "thunderbird"; + basePath = "pkgs/applications/networking/mailreaders/thunderbird-bin"; + baseUrl = "http://archive.mozilla.org/pub/thunderbird/releases/"; + }; meta = with stdenv.lib; { description = "Mozilla Thunderbird, a full-featured email client (binary package)"; homepage = http://www.mozilla.org/thunderbird/; diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix index 0ff4d5a5f2a2..5d385eeb9501 100644 --- a/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix +++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix @@ -1,126 +1,585 @@ -# This file is generated from generate_sources.rb. DO NOT EDIT. -# Execute the following command to update the file. -# -# ruby generate_sources.rb 45.1.1 > sources.nix - { - version = "45.3.0"; + version = "45.6.0"; sources = [ - { locale = "ar"; arch = "linux-i686"; sha512 = "a2d1728cec3775a3a012ada32a8934fa1a94ff0af315e395e765c94873593c4e2ddb1ec5acee33a83f2970137087ff1fd6ba23b0bbea3780e4f67a3b46146911"; } - { locale = "ar"; arch = "linux-x86_64"; sha512 = "d29362ecf4abe3cb7224058ffb421feafe5ddb277ad8cae407907c0939028e7e03079ec3b6a691cf260ea29908be7df4377dbc626704da622548056f45b6e9d7"; } - { locale = "ast"; arch = "linux-i686"; sha512 = "51fb3626875acbf78f0d2337feee07aeaca24dec59042a2b6374afb205dce099df477ab3384e0e9c545fe68ac13af921a8d3a1c4c93f721d7831f3aca15e4783"; } - { locale = "ast"; arch = "linux-x86_64"; sha512 = "660376e67491f11d484ff112b8b8d1dc9187a7bb7f7ff1e8665d3693e5eee9737bff8f23f69f4d71b2d3f3be0ad4d816febb4894bb17ac911e19ef18411fc667"; } - { locale = "be"; arch = "linux-i686"; sha512 = "be5fed683ee9b325f135e65fc6f641d81b7294f3d13f411b36b4e73d68a8b8592d0c93fa6ad55fc9aa8a281a5d2069f3f8dcf029038d867f3b87baf8e4a93411"; } - { locale = "be"; arch = "linux-x86_64"; sha512 = "4b92f1999478d9a97737b31f34ca78bcbf6d657297b0ef791327c73d89a1737a29df9eaca47aed3e0f1ddf0d4925ba6c0a51584ca8009237ea98fec9007e69b9"; } - { locale = "bg"; arch = "linux-i686"; sha512 = "76d2450774254052ee216644f53025ffd4a928932955d856e16141a95b557fc327b17f01d4c47ff3b7f8a8c267a6a78511c126980554bf64f5fa5c06eba758fe"; } - { locale = "bg"; arch = "linux-x86_64"; sha512 = "53f2463e8838e6dc53fd1212745f401dbbffec484036745114f04e90e2270421efb0e579724023f1a153e2fbf5afb9e31b383b9d0a8e74ec15cdd17aff04b58c"; } - { locale = "bn-BD"; arch = "linux-i686"; sha512 = "c798161824be7fd3253308b3157c0dfb5dbec085f2b530fa4a7cd8992b8e602031c0c8f6959449a3a7f988f10b00b1f99f331b017c8d38358a017e54c2ff5166"; } - { locale = "bn-BD"; arch = "linux-x86_64"; sha512 = "8f8fafa9a79696a81e2e4a7e033edec1e37c44fc6b4a5a20cea0853f88ac978fa536109a81f5fe7baf574af6e1778975b8df5e0a47a0c6cb8161dd19f3e2c067"; } - { locale = "br"; arch = "linux-i686"; sha512 = "9007da613fd8930e669da228197d5be59d53a26f94453523ae468a0b4172adb4509e5ae1677ca21421031238910d19f45323fb09ef52ac95205f1fa3a1d8ce46"; } - { locale = "br"; arch = "linux-x86_64"; sha512 = "57cead8865a052981729f55f85f402329dd4151cf3f89ad5c6cc1a83a068a9ba1e309db521ecde1cf90a3737b04a7d992087a68b93506ce0ab4a7ea26253b761"; } - { locale = "ca"; arch = "linux-i686"; sha512 = "5401395d2e57ada9b62fd1d8a90006e60884a38086fe74bc720109d1fd8d989292bcb2781c1b30f19fbfcb867bf157bf33c3948463ab1e0fd8ddbfbc790b492d"; } - { locale = "ca"; arch = "linux-x86_64"; sha512 = "1d69ddc33643c7227d80cbb61087a73ff46c79e1531479531201b4e49a53400fc576f445306dad20b318f189e8b739179390f9ca7fd340e2d2cac46650569da6"; } - { locale = "cs"; arch = "linux-i686"; sha512 = "25a9c864e60aced998c1599786a9cb3db92c02b9d855c7500fd466cd92f4bc8ff6fc7c5cb37c52b3dbba990ae4ce0eee1854f4f3459b4c2ce50e4e4ccd3ff445"; } - { locale = "cs"; arch = "linux-x86_64"; sha512 = "0b1b72a4f43192afa03fcf17e234fa6d09ab20cccadc0a58682b37c96a576c31d2e5022d3d778992c188b826816d7d36e56fbf4055a0be2213e45062a162939d"; } - { locale = "cy"; arch = "linux-i686"; sha512 = "b69312902ede9687c804a068f9fcf70c0c3c68786d92c72a5b38ed38e9773382223e5d09a2067632b02ae9e2f224c85e0c95de9ada535e0b8e37ce5f6aa86006"; } - { locale = "cy"; arch = "linux-x86_64"; sha512 = "bd03a664a14c2b7271db1ae66f65fada02eb995da9d8466f345d25b40bbd7f836e48e9e8f19276f7109e5e42effc3be70d0c20705d386620319c6e2c920027c4"; } - { locale = "da"; arch = "linux-i686"; sha512 = "2fce874759494b51d9f9081f26985834527984cec849f1f07ebd0f3b7523bdeb7a39cae6d17f021e82972f392ae7cc33d6b81606f81afc7bc35a75698889905d"; } - { locale = "da"; arch = "linux-x86_64"; sha512 = "c7fd6b68f50c2ea4abb2d72dfb804db0e5ff3a8dd932f36fb7e9f194f4a12469bf64785ba18ad6f989b5456e6a0387c17fcf421075341998dce315f658b70058"; } - { locale = "de"; arch = "linux-i686"; sha512 = "8661fd16bcb94fba14156ea0d569364b495dd470359491b482f6e9c957a6ffd1c9b3a60728d6a0755a1789d6c3029952bead677df38d3f7e972469cd877d96a2"; } - { locale = "de"; arch = "linux-x86_64"; sha512 = "c98b8afbd38e3ea31196a2dfdd3e8a13639aed9a3052a25dbcf851139a75167481b67c94542be310c5a2fd8850c8396ff2fbb57ac14b0158c87b6e30562d1eb6"; } - { locale = "dsb"; arch = "linux-i686"; sha512 = "2e5f781f0ea57f4cc129693d5085d17047ecdde3273a97b83717e793bef2693ddd543078c667635e2603e5a4867fdee60cecf0fe47170f84d31456c72f4753a1"; } - { locale = "dsb"; arch = "linux-x86_64"; sha512 = "fcaad0f6ea4f9610bbfb5efd414005ab1b62d13799e2f0ff0188c0e262910c881f0e7ca838c6d18df0bc629eb26e4dc34e48635fb64029f484c0fe3aec12cef0"; } - { locale = "el"; arch = "linux-i686"; sha512 = "d71b2805881cf5b7f0c06e398289907f224bbb58ffe676c32587f98cdfa6d80b1a8497bf4d1d515a4b1ba8472f5250dc7df178a0fd47baf51746409c18157d69"; } - { locale = "el"; arch = "linux-x86_64"; sha512 = "89309f36b503f1be5a23f24def962a7ed6604369fc1e3a254deaf3fca6b020837813e7b3a5896320620301eb14025c604121c4b6727f1362d6783da6256be039"; } - { locale = "en-GB"; arch = "linux-i686"; sha512 = "233fb74c88ff43fc5520fef6fc052019551405ed43e786448c9b7921fb620b81b8b1569dbd3c57b7e8a0aa34043b29fa388100ab0ad66545bb84675de43d4b9b"; } - { locale = "en-GB"; arch = "linux-x86_64"; sha512 = "70dddef3561b53d359ed59205dd77d661f6842a7ac4a62d79f2f2576a7d2b9a8735ae7e48759b669bade841dd7329857d4c273fd6e202f1ae22201b7d461def3"; } - { locale = "en-US"; arch = "linux-i686"; sha512 = "bf1f75d614dc0e401981b81d84911f2e13a1c8fc668b8a7c531963162ac293f72d6252aceb4447c97c57cc3b632452de6475f294f82090751141c3f8f681b868"; } - { locale = "en-US"; arch = "linux-x86_64"; sha512 = "5b7ba243783d5bd3eb1acc6cad872b5f2885cf289d33274932ceee2159295c84230f692a1338fc4c4c3e1947436917251ed54a6995922b4777bdee7e5303ec29"; } - { locale = "es-AR"; arch = "linux-i686"; sha512 = "9fddac56cc41a0b83c794ad7b7744573a6039c736d785a46666fb5c40360aae0397d129e523a7ac8b7e9b07295b56741e96e8cea770533c7c3611c209f9ae5ad"; } - { locale = "es-AR"; arch = "linux-x86_64"; sha512 = "f7d7a051bc7411d2811aa5672da7aff51ee96065eb26e47e9eda721c0e125a529353a6290195cc257f36e44dbca6d81dff1342478a52b0d700f7def335135440"; } - { locale = "es-ES"; arch = "linux-i686"; sha512 = "b0b32a37d13b76899037c7d34e2444cb45d54166516c6f6f141ae4713e5cca36827c0c02f4d9614a1c7eb5d9d859087586dda3e311d221f19091414557f9b713"; } - { locale = "es-ES"; arch = "linux-x86_64"; sha512 = "918affe04e2dbf1f8d2f65a8a16cb30d575631d323eeb5cd29e76f2b30d003337e35792e57f78ca6bf8abd253f005296b44b71ecd4c48d055456b8820a2b8551"; } - { locale = "et"; arch = "linux-i686"; sha512 = "7a2aaa9e81fa166ad66ef6a275ea1e1b1f333946e73bd22c7954b78641949a870e8c4ff38f763ef22bbf25cf81ad0138e5d4b154b1d2cb90126ef53e56b6e676"; } - { locale = "et"; arch = "linux-x86_64"; sha512 = "cfb751a0d94cbc3e130abe78dceb81117750b16c9665860a083a71554ce96e9102fa3c8b084c7acf07c9e10a8fe30e54e5964a214486c2bd16d93678a4b6948d"; } - { locale = "eu"; arch = "linux-i686"; sha512 = "c99dd3738739f06963cf3e31d72831d8861c898ac512b0563f0d9ab21e671fed55c0e16e07ff87e058873095204a81f1756d77453e792bcc522c81d6ac26638c"; } - { locale = "eu"; arch = "linux-x86_64"; sha512 = "4726d30ed22d79edca4d3a6082ecf40cb107b28aeebcc1ed21faca951cd955fca524d4c16f4e9ac71fd57651c2392d79c5adcafea9a7dadbe84dc3e3511f47f4"; } - { locale = "fi"; arch = "linux-i686"; sha512 = "3fe4ae74f046a0fcf95570ff7cd00abfa63567153bbabd036ecd8cccf1aab075b19e43642e247c741165d3990f1690d4c7f4b3eb16aaa34188d1bd17c202e06d"; } - { locale = "fi"; arch = "linux-x86_64"; sha512 = "5e76a85eb66d62c2fcd42d0274e43c052131bd2a8d54bce256e417782d1b97985cc9a917fba18ab1118e72fd3bacb94abdf5620c1be9a7225f6c9b62f1eb0e02"; } - { locale = "fr"; arch = "linux-i686"; sha512 = "216e084442018d1e5925d4deb14c11bda248d5015696b22167693f2534dd98049dd385bc3061348085113487b93cfea675cb7ea528ca4385022b33860b39633a"; } - { locale = "fr"; arch = "linux-x86_64"; sha512 = "6fbb2935899d94b3f56b27c131e2574f6735fba4147430a1dd5cd8728db29b90fd1416bc3661b1a3a927f496e9d716ae165ed8c65951184c2b1e07c962f876df"; } - { locale = "fy-NL"; arch = "linux-i686"; sha512 = "f752dbe8d2e90c0b5e60faa0b34280050463ea1bdda0749c9d46a46f08339e5952eacf70f0765144677362c9dad51c24a3bdffeb89e309563e472484f436993f"; } - { locale = "fy-NL"; arch = "linux-x86_64"; sha512 = "302d8bf3941e0dff52918202f7f885dcb14ae9504baf52686a5c9201a644d469c57925181074ac0789d437d9bd8bfa965ae2ccbd54f51dbe2bc352b29d4a1e9c"; } - { locale = "ga-IE"; arch = "linux-i686"; sha512 = "be52801d6995cd377d451a640e319c2b812d83d62cbb2c3bf7063a18f03838f9b758add09875aa9e4e973b3ce3ac285f6f3486a7495590acf5672ccb900e5528"; } - { locale = "ga-IE"; arch = "linux-x86_64"; sha512 = "a475b35c3fbd9fee3e4fd1475b9d3138d58df296744660dd8cc1932f121bbe9b1a2324c6452a4159b5c97a3846f38e92b9214a512d739a897cffeb40805cc0c7"; } - { locale = "gd"; arch = "linux-i686"; sha512 = "88e209d87e38dd950b1248351d6b0518f63dd27423d2f30df1b177740dda4fb3568e19361b066ddd758fe071a7f2c747f8ff9307d6745b9d68002bb34be5dc77"; } - { locale = "gd"; arch = "linux-x86_64"; sha512 = "a56c26c2393323a8ec9190a89b3c1a4a27de9086222791e6cc84de0f640e2700274b92ffda0a21aa1de39684443108499122a12fbf5ceec3df69301132cf3463"; } - { locale = "gl"; arch = "linux-i686"; sha512 = "bc180ce7132641596151a1b6516b6ab9aa6070c542fbe90be7e440580c8f7a488348ba238922e33c8aea10505814604d5f5568d03978bcc75db536a31f66c4ce"; } - { locale = "gl"; arch = "linux-x86_64"; sha512 = "92bba67974146f832d91c6d023b60a7d4dd3f0391f4df9744379035bbf6fe2ca43d8eb81e05184658da34d5519b310f06fe4429287874ba618d3720931ef89a6"; } - { locale = "he"; arch = "linux-i686"; sha512 = "37da8123306823963ac02c9756d5ce3e76207ee0a1652fdad42cf2c8467062f1369c8f6640625fdc049e2c024d6ed71cb3c9c669d18e1d737246d510102d1d89"; } - { locale = "he"; arch = "linux-x86_64"; sha512 = "62bb1f1735c13ac7adef4ce922eff64aba486bb2274691b8c3df12c4d87c30660dd2054e6fa314f56a690a0a8bf3533237d0d4bce89f83cc7a955e8de3f9fc43"; } - { locale = "hr"; arch = "linux-i686"; sha512 = "b36128139442da20bdda63bf325a12e6f7467fe8f1baf8a56a3b0c55c8cce45f8c5a629b25a97b12c86e10fc12cddc2edd9aeea651bb9026427c6486270d80a2"; } - { locale = "hr"; arch = "linux-x86_64"; sha512 = "ec3c826ed484ced10b417320d50f3c0c9b955b71eb656b2469c7a3268d712579901cba904a789f5f6a2fab6d7707401ff1ea0e112a575091c4196d7bd178387d"; } - { locale = "hsb"; arch = "linux-i686"; sha512 = "274b913c0a5c293b45c622c360380560c62b19772c0d5616d46040b6330cc5c330177084f743f2edc2624c88bcafda748fcd3beae606adf7eafbc4711845517e"; } - { locale = "hsb"; arch = "linux-x86_64"; sha512 = "5af289d7d57645959c0b1f1437239e8ed989720c586b6dff7734bd675258f6876b467b2e4a29686ac0f703685e41204b702df758ea25410271ecad9d9beee203"; } - { locale = "hu"; arch = "linux-i686"; sha512 = "fff9201e818d17b8ed453d272c5095625edac664555fc028efa9f08d23ad151d5aa22e3ddd9ee0eae9d0dfdfac27ca882107f12aa023741bcbd20be61e11c457"; } - { locale = "hu"; arch = "linux-x86_64"; sha512 = "cbe561fbd504b14c59e5db745dcbf83edbb5bf1813f86888419d0dc5cab43bc700f96782c36d1bc8c8732311758209faee5d9755e872e626c0a6012e5be6e441"; } - { locale = "hy-AM"; arch = "linux-i686"; sha512 = "954e697b2400b93fc575c7336a613d3d63702e80a12617a9c86b08e294bf4dad54c2cae4669525e88ecb55a0c029bab028105659a12656f03ce2ba0f0a7e71b1"; } - { locale = "hy-AM"; arch = "linux-x86_64"; sha512 = "9e27956960fb2154e8c4b895123ceb0cbc8538f3f4563e2888db2d056605de0612a629c66f3db9a9acc3db7032ef39b553a9791a11489e89b6485c00f0e1b903"; } - { locale = "id"; arch = "linux-i686"; sha512 = "bdedb03a25ec664c0443fa4e1e0d5dfa84ac5644e2a5dcefc67a714b71c2d18d9a38962e7ca2661f4d0d4d518d3e4eab51fb499efc32825a0446387cd22ed34e"; } - { locale = "id"; arch = "linux-x86_64"; sha512 = "2c18f2b919a64f540e5a1e59a430d1c710959711757e06fb38a12b67f0ff139ddde822ef7cdf5836a32d3bf904e56fb56e9d8d97f9d49cf35b67650be54e131c"; } - { locale = "is"; arch = "linux-i686"; sha512 = "73e866f713fc38ab7e56b97c985db69d49bdea2007c84e2ba54638f07433fc37a1a65a1189dd2b847394811e57ba8c767e20756686ec7fc86dcc3248168b110d"; } - { locale = "is"; arch = "linux-x86_64"; sha512 = "031c069a6c6dd79f21594dcd64801c9f11bf4e41ba8efd3b17020fdebae585ea746910c0186a5dcfb5a073ff33807d8324932e5ef3c2e04b5d35e24a714f2cd2"; } - { locale = "it"; arch = "linux-i686"; sha512 = "86bf4650fabfb9716d228e8449792b620a0692e3f5c6af19398cb37b1079cdf79f42795e16cd13c6ed261c1a81b7b3a23ba305299d03bcf1d716ee0ccade903d"; } - { locale = "it"; arch = "linux-x86_64"; sha512 = "5225af86242544e4fdc176fa68463c9ab03e4066ae57266f112aec179f7085b7621df7e46e34302bc3e3e30dc713eb45af568b86bfb1a4fa6b01f50fe677b5b2"; } - { locale = "ja"; arch = "linux-i686"; sha512 = "401e4c7b9831f2a3342764b6a2de732c89fe5687ff1e611c4ba1b630f22936c0343b3ef5ec444925ccc68c8ad45cd98d67ca502c32094adb567bfa64481e82c0"; } - { locale = "ja"; arch = "linux-x86_64"; sha512 = "7962eaef19bc5bdcf5f3aa9dad6df110ffed9b247d13dd61f3c4c170e4c854985d061847b84058bac35c16391821bdbbf5ed05120687cfc75c4baeba2de6f5ee"; } - { locale = "ko"; arch = "linux-i686"; sha512 = "d09e2083db577b308a65d1600bf15cbc6cae7b5137c66782d922a28588803a58348f87df5b9cb2cf9ca00713d542d441c5947475b551c8d5d929dc6293c00a48"; } - { locale = "ko"; arch = "linux-x86_64"; sha512 = "b8689c851b176ec82b73566bffecff54c0e6c85efcae7deb9dd542360fd7a0f8a6f8e53c193060dc36a98203ad7024a0c1d408ac2348f59fd9f3cbd591a17e5e"; } - { locale = "lt"; arch = "linux-i686"; sha512 = "8d5bd77d3d5d1b6168b65458bbb4f2409c447cfb6d019fcf7f8d81b3d4d486203533d3acb8a59257e664296636ee5b192b237ebf070b37a729926ff11bd81090"; } - { locale = "lt"; arch = "linux-x86_64"; sha512 = "7314e8138a913c7610227cbbf71d535f85bf008e09610d742d996be391ff4be0e9dd4daed8fa3ccf1e1556e5c66982e3f2cea0d34d76d78588fe9926420af75f"; } - { locale = "nb-NO"; arch = "linux-i686"; sha512 = "6b1cbcd9888b400ebcb4eccd416e12d09f29431a4afa3b890b05721d1c4108c35549c2f70800ca386f3b21c66b42be3d00a730d4fd2a4ba9c62069c92ab726f7"; } - { locale = "nb-NO"; arch = "linux-x86_64"; sha512 = "27f278b9f54b563f0aa907448eba04b4f84c9ab33eadb4737a662058e904e68baa481625c0303764ac7416cf5cad7bcf94a651db981fbcf94ab8e93625555415"; } - { locale = "nl"; arch = "linux-i686"; sha512 = "d932296e6cc61c634ab09a66328335e0c6049e9d6ca660a862dce3cbe8cc0900fb3bdc0956b82c9f70f18f5c68c1f37acacdd7a3b8a697acd24df1197683aea3"; } - { locale = "nl"; arch = "linux-x86_64"; sha512 = "010e833b541b1a9ef20d10a1678b7b25cf2a9268cfc6b6f0f1c1e5b1803bfdc4cd214b9e3a86132f1335531f107773dfe01f9f4dcd996262dc2c3ece491b36a4"; } - { locale = "nn-NO"; arch = "linux-i686"; sha512 = "b2ed20a973248031fb63b5652f6eea2c572c1fc2d8dc780db4cfa6a0450ccc211effc1d79ac67718b444f0247f8659d134586a0abe829df4090f65b1cdb59d93"; } - { locale = "nn-NO"; arch = "linux-x86_64"; sha512 = "5924aaeeb828464552b0de572ce24cbb94558aa30d599cb518d7dae74e6974d7da9ac5035c5bb2195fe826a8197907c29f02f5f0e83e36c84bb023b208fb56c7"; } - { locale = "pa-IN"; arch = "linux-i686"; sha512 = "6ac911f182c6c9b7e2617118efb76285136f0320d99f49401e5732841ffd846770bdd7ec98a200922536cfbd855debd037bdbe279b0f43e644d6e107afd73e68"; } - { locale = "pa-IN"; arch = "linux-x86_64"; sha512 = "e16db609e60e4c79336e31d267af552124b2d2b62fac0066e0a84a6e48f082a46699010a9f2540df30ff5c1d4f8d481c4cfc4caea4acc68f50ab83f996105209"; } - { locale = "pl"; arch = "linux-i686"; sha512 = "90217da5f30de60aef9da734355d6b5e0a93526e0d8f91db6c21405e2666df12d1ae37acb94638966b1bff6e3de3713c5243b683e4d321b916125ef89af42c15"; } - { locale = "pl"; arch = "linux-x86_64"; sha512 = "b77b19d6c413a92ae3c0da43f989725b3d74fd9d7c1f343711ea73d5a10e4310f005a2d728fa708fcad3b281c5694964ab91966df00b2667a7a8ef616c3a86eb"; } - { locale = "pt-BR"; arch = "linux-i686"; sha512 = "d4ce84451941a9382d4fa6225b697e2bea2f72dcf76c72b779bd1e3d955803d7ad3bcbed47e9a7dafde72cd20bfa1e8616b691d275e1e390b2af415e0ea9610c"; } - { locale = "pt-BR"; arch = "linux-x86_64"; sha512 = "c3585047b7b5611e5925f873e3a996142e9b73b5f5389729f3b609f3554030d39a988183f15aa2a5d07036fecc147cdd0abc02b13601a0e02e794c40cada5b40"; } - { locale = "pt-PT"; arch = "linux-i686"; sha512 = "e28dce49f6660bea1f56f2515ae539701cc160956318305464ea6b8cf1cf6be21fa8b97b30b234eec9f7e5bc3987ed939b5eca50174ab148a988706f00a2ef0f"; } - { locale = "pt-PT"; arch = "linux-x86_64"; sha512 = "81a225e7d4f56b0c231d690b4da3f819a1549e8f5194cd6dd2da23d7909c24d9f5f9262e6bec5eee8701ce510980426c7d2612149c4c88da68f910cb7b046d1e"; } - { locale = "rm"; arch = "linux-i686"; sha512 = "c4c724f0be3d6a1ada175ec87f840b177ab2a074d5ec858a49732ca7b5289a7d3b1e09b9d0e5c195e1e7565175cdef35e5b6e6e1a3344d7e307f9901e0ca1e6f"; } - { locale = "rm"; arch = "linux-x86_64"; sha512 = "8e55f3b680a7b7d4299e59360413a339a99569af8c3a890cb95437c76dfd903f5fc60b6abfb3820e4dbd7d637015ebf8600f351f858022b535709879c9b0608a"; } - { locale = "ro"; arch = "linux-i686"; sha512 = "cf91019d92850db3954690a403c13948f53d79574d874aa10effeac92d759d1b5e62cad9184f58c29b6e478903a4c6f4e27cc3e7e2457605332e361da5ab3ab4"; } - { locale = "ro"; arch = "linux-x86_64"; sha512 = "ed1106a9855752c951f232de0946665914051dda0e9ded0052b4ef10b7f8d19ce3994165eabeb8b2a1f04009fb7909a48c79c484451335ee24541ab3eee52f4c"; } - { locale = "ru"; arch = "linux-i686"; sha512 = "e3175d29cee4f253f7adf4f1d9b9826840e434d11d0c3f10fd9163f904ca315764b4943fb9d2c8a2324aedaac26047e95b6cf87c3218bc5b941e0b9a07e2b49f"; } - { locale = "ru"; arch = "linux-x86_64"; sha512 = "62c15a60e2d600068273695f00e4d37416cd7c1804bbc814a3e0b7c0de2a3f23a03b4d6fa5666f25971b7726bd0cde1fccb40cde1e95522704c14252d52384dd"; } - { locale = "si"; arch = "linux-i686"; sha512 = "a94106b78937fa105eb254044f5ba808edb17b7b0f9b2b56ad918a48566ed43e181b652f4b4feb37d81ed749a5ecd9bd6997cfe6fd1cd7fc001567d9a888f582"; } - { locale = "si"; arch = "linux-x86_64"; sha512 = "974c8349b19e34e9262a98b44c691354061a8f802c8ce47609251023eb91a97096cc107fbd653e9ef9536deb81259cead57b5bcebadb602af8fe51b7e1224fc6"; } - { locale = "sk"; arch = "linux-i686"; sha512 = "63fea9c688a89717b5626e407abf82e650916ede2f01189a54d33e4af366474b39383c2d64bde4bfdfdde3bfe767afb8677b1638b3b327c8a387d0dc00b1318e"; } - { locale = "sk"; arch = "linux-x86_64"; sha512 = "96684db63e28088ca0d1f6c3bc30b3075ee2f135900359060add36a34d539132655ec403847acd4d7823bf80d6fb5f7ce7a0c618031b64f6af725a8b3c4c5a22"; } - { locale = "sl"; arch = "linux-i686"; sha512 = "6279d3656f2b0a71e7082fd728bd2b551b16838263d7f83a32eebbb28e6d69df11be3f25db259a464428529ddf389f221048f445f0a0f34de1c263aca6fc48ae"; } - { locale = "sl"; arch = "linux-x86_64"; sha512 = "c69e0ae0d72229c59ca0fa68789c1bdab1ceff5159906ccb27766b854b677328cb1c305d5568c058b93c4e512fd5b7f7626531c5a6f1655519f0c07ecc02308f"; } - { locale = "sq"; arch = "linux-i686"; sha512 = "d63f84b4e5d8b9728e354487b243c3de604c571af39e43a7552cebdf28139271a8acab85bd1dfc6506e1231bb1ed49dc127f3b0400c9fdaeba2bf6c3ea78829d"; } - { locale = "sq"; arch = "linux-x86_64"; sha512 = "df10b39b6cc461c2418d8b297fed5f7ce34e31a0892737b99076b11095602f250b7018af109555a0ce7959695e00c56835786a9ca10573bfca07d1f21af7dedb"; } - { locale = "sr"; arch = "linux-i686"; sha512 = "57f710812a1f26212ad0cbc4a3506424d36d0560f5d7d17f8e01d7ed4836fb7a385753b17388b30074cd00985ce7edd7882cb5c326b89840cc816f0b5f1c19cd"; } - { locale = "sr"; arch = "linux-x86_64"; sha512 = "88a92d428e32b7c3f63fc898c1c3a448ef3b78afde1334d86dc4e68819f05cb8cba9816e875aaf36f52f1f04c42f9833d690c43dc5eedff3743416a76d33f38d"; } - { locale = "sv-SE"; arch = "linux-i686"; sha512 = "f86b0d7fd4f5875dee70ec00efe7f4c99a59d34e877b21288c89f9d5c83d04b31eeafe7dadc01ee5bd91a76363dace2da86e5bc219909fa06d47c5351931efc4"; } - { locale = "sv-SE"; arch = "linux-x86_64"; sha512 = "8994b908589746e5d8dc980b5dd06294988399be8e1ced10c6d4b3a6da440f69d6de7f101b9f96723fe55afdc21a7336c141058aa7fc70d283533e5fdd096b85"; } - { locale = "ta-LK"; arch = "linux-i686"; sha512 = "852a0132af6ed9d0c3da36025e0183b9c5bfc4a34af7870373989602059f05f6f5f779439c68ce577e6821295c2aa45135a2b90624b941c736089c391364e566"; } - { locale = "ta-LK"; arch = "linux-x86_64"; sha512 = "bf8332314c43a8f2709be4440e9eace27ce4ca097d0db7a25de99ac6447606fda297bdccd5d7bf865a964f5276f04371a022134c22962fa5743cc90f4e1a627e"; } - { locale = "tr"; arch = "linux-i686"; sha512 = "e46e71d28a9bf4eefe453ad3841bfdbc261594e2b29322bc2e5cc072957674e1121c246d3be3fb56c84f64692d048f6792be526dd600dc85d5b2d7f5d2aaeab4"; } - { locale = "tr"; arch = "linux-x86_64"; sha512 = "1c5d2d1f01129aa4456c166120ab21dd021e92bcd9ba9f4c1d2911699f856516bd9c9a5ae356397d117ae376fc5a44eb3b3880a2fe7e4f61a3b5bc581544f2b1"; } - { locale = "uk"; arch = "linux-i686"; sha512 = "7b3acee5c624600f908ec6ff7e664d2414a3fc48208bd54baf0cf209f66460e560137a52445805ccfb410913f2ab8ecee30f4a702fbe0c8bf758bf89411d06fe"; } - { locale = "uk"; arch = "linux-x86_64"; sha512 = "3b90f1a04c8922889182b81c88a071de2ff54f3524110739878e80738513216ba133ab973219eef822d7c1f605c1d2fa1b32fdbee2451e4c6427a27f9d25599a"; } - { locale = "vi"; arch = "linux-i686"; sha512 = "bd37a54a586e91b29c668a2995fc37ec5b2e6d0bab5af640575981aff2be91e97181f5f89e0c4720979fac38b19530c056562a2c4a07c3b9868b347ea5f7f831"; } - { locale = "vi"; arch = "linux-x86_64"; sha512 = "a571cfd9e0e43e9ebf5d29969a9af08c16c3fb44abad302207ee17018b105cb7079a0e3da02433264cddfc2da7922296c41f4d5ee76d722b07211c9cb78c8caa"; } - { locale = "zh-CN"; arch = "linux-i686"; sha512 = "6560d28c15ec9e46787d8eaa1fd9b20630828f15b2ebea98591e25123e5c51a90e12889ac2474467f9d1e3e41b88ae3cacc75ebb67391af0abbe18aaffa29a48"; } - { locale = "zh-CN"; arch = "linux-x86_64"; sha512 = "0ad5965f5028c7d0642cdbb140caabab24536e9bb386b6b14c59af52758e667a6217c7251445c462d3c283c72215a449545f06a1d176ad178a17ed51640715c3"; } - { locale = "zh-TW"; arch = "linux-i686"; sha512 = "a44dc60451845e27560ba41ff5a37446f955076e0da8cbf8ed9ffe06c217dee8847f57c6a58913581ccd4d4039b0f2b570b660882e68bd0e9050371cd1220022"; } - { locale = "zh-TW"; arch = "linux-x86_64"; sha512 = "17cbdb81577522510f7538d843755f09465700f558d164e6e292070859c9e298165e16c57e5c6db109be6b570666986fd506b60ce6b8ea6f983070c36c5b28c4"; } - ]; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/ar/thunderbird-45.6.0.tar.bz2"; + locale = "ar"; + arch = "linux-x86_64"; + sha512 = "7a2976d272ecc0a3727e34b0841865fea6de9f05195089aa912831836c6f74b9fd34de0ed327cf96cf5b8c0e39829e2db5dd364a92e4ffc48e7139a0fd9cf066"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/ast/thunderbird-45.6.0.tar.bz2"; + locale = "ast"; + arch = "linux-x86_64"; + sha512 = "fcb1efd553617825e5ca55afe56a6e36cd8a0c067f4e851c6527058fe1b8169da2e548932e21bc7a52eacec9fa2c55b0cc1369a850a9927ba6c686ed6f5940e6"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/be/thunderbird-45.6.0.tar.bz2"; + locale = "be"; + arch = "linux-x86_64"; + sha512 = "7ca8e07771a984510f2114bcf58397e49e6d64013dfba94e3312ad926e05afb01dc5beced22e5c00f0e43d742752f8a96b5ef167f4d892a01fbaedc194b76d49"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/bg/thunderbird-45.6.0.tar.bz2"; + locale = "bg"; + arch = "linux-x86_64"; + sha512 = "fe717fc5590f420e13a0c8bedba031b8ed5e2379ddf613fc14d82f718afe9341d953baf4f056fca88366248a5f3777cbcc3c12e5bccc33ac07698d3de8306370"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/bn-BD/thunderbird-45.6.0.tar.bz2"; + locale = "bn-BD"; + arch = "linux-x86_64"; + sha512 = "9e87ff7976eed19137767b0e9ee2b43b41701edc060201da8d54c68d40f26d88f07c3972d59d59e74191bf30163eec642d6b72f7e633fe48d5cc34f1624d7983"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/br/thunderbird-45.6.0.tar.bz2"; + locale = "br"; + arch = "linux-x86_64"; + sha512 = "2c829c85255d15aa6ad9a941404290a546dbe7522877bfc0b9869415e6f806f853252bb646650d8a9f9729cfd139121dceafc4c1c052030ff7ff7b17e9cef4c3"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/ca/thunderbird-45.6.0.tar.bz2"; + locale = "ca"; + arch = "linux-x86_64"; + sha512 = "452f701dd496fe6da40372188f7db2628cbe9b7db737b167d052a4dd75c668fb2505e68b6ec299b8a9d0e4cb448a57f8805aabd0d898e21cb67e89eba0163014"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/cs/thunderbird-45.6.0.tar.bz2"; + locale = "cs"; + arch = "linux-x86_64"; + sha512 = "2574febad30bf072d7a0674ff821ca35845d6a5fda09cfce9cff18960af210ded42370bd148324e3599b14977cea770e59e8425c1bf0e6a52824c52f0a864457"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/cy/thunderbird-45.6.0.tar.bz2"; + locale = "cy"; + arch = "linux-x86_64"; + sha512 = "f07456acf596b6e3e98586177ebe41cdc09a7476c465371153062b394f0e89a0bf17ead255375cd0616c2db063dce3ac9aeba8d29f7e5906fc1c323000b49f22"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/da/thunderbird-45.6.0.tar.bz2"; + locale = "da"; + arch = "linux-x86_64"; + sha512 = "7bda2aeb26814fc9b2b1afb4470ec17f0b069b779e99ddd3ee423ac3776ca47d23223009cd35d2f6e495e7b5523787a228fa55db6e56f0c724b45e5ba2bac9d4"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/de/thunderbird-45.6.0.tar.bz2"; + locale = "de"; + arch = "linux-x86_64"; + sha512 = "7a9c629f957c74e54c2e82912836fc1f2688f37ceee43a31b29d1d4b9b2c477e7ebff3f4b4969386e7aee458215f22a76ede4abba9138fd8d64411a0bd7103d3"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/dsb/thunderbird-45.6.0.tar.bz2"; + locale = "dsb"; + arch = "linux-x86_64"; + sha512 = "666a64764cbd0f216f9b960f78b1e45d63c008332efd93b9e233842f37478d9c0f2d1faac494a5b28d43ff21a9e01059fa8b46554d05f47d919483b6d63befab"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/el/thunderbird-45.6.0.tar.bz2"; + locale = "el"; + arch = "linux-x86_64"; + sha512 = "02a7f06adfb93ee1694e0389e01b6bd2fe51e5e2379cf3c0fd34b8c7c8d7f58a848679fae19a7cea851bbfcf96fae493a020701841b2753678a142e3925b56e8"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/en-GB/thunderbird-45.6.0.tar.bz2"; + locale = "en-GB"; + arch = "linux-x86_64"; + sha512 = "1e45378d32c04db6b802480e245663f3c4522105da6c548d6ff1e5eebead55f53322909b87ecf0b97b85fab30b684ef8e9f3c0175a033824bccadffbb42cad7f"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/en-US/thunderbird-45.6.0.tar.bz2"; + locale = "en-US"; + arch = "linux-x86_64"; + sha512 = "ab06b894f881ebc847cdcc11ffabcf7d9b626da9ce17c4195e7c401963bb3937b8a05eb73ea2fb988662f318568af3ad7142d3fc556cfe139d4393249c353446"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/es-AR/thunderbird-45.6.0.tar.bz2"; + locale = "es-AR"; + arch = "linux-x86_64"; + sha512 = "07be1c0f88aa49a8264bfccbc6db3e738dcde83d93f86939bf3ffb5f85c835252f2f4a74a8cb3eb5d2ea6a1b4af31d3d84418090a23be36aa11965cd4ed67b66"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/es-ES/thunderbird-45.6.0.tar.bz2"; + locale = "es-ES"; + arch = "linux-x86_64"; + sha512 = "2c51ff6931dea175ad6d8eb64c768792f61bef1cb5762efa3e7261cbf14c7619c81ef44a8d6e1ebe7d9764d2608b85e6ddbe47ec437f500c65037d6be8341d88"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/et/thunderbird-45.6.0.tar.bz2"; + locale = "et"; + arch = "linux-x86_64"; + sha512 = "e726a397cecb1d624fef5840b89a177591c8a10d397042b2c5f47574d9b88d0725a1b53999e2d268a67c4efd1b4551ffa2052398c1ad14903a8b0217b5b353bc"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/eu/thunderbird-45.6.0.tar.bz2"; + locale = "eu"; + arch = "linux-x86_64"; + sha512 = "85c2fdc7e27a8298d8e553f221595ae0d7872eae4e78d143d533a18582d8f40195db38f179aa2ed558e790fb7c58510a8ad6037c698ab149d3bd582e34528e5c"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/fi/thunderbird-45.6.0.tar.bz2"; + locale = "fi"; + arch = "linux-x86_64"; + sha512 = "ad4516f11670424d31e7fc5c9b12bcf1f0c63110b81ab45a3c5b5a897e1d0a3ce1855117254902ca177a04fc422c193c742098a431dbd8b760bdefe1d7c4c6a3"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/fr/thunderbird-45.6.0.tar.bz2"; + locale = "fr"; + arch = "linux-x86_64"; + sha512 = "4abb3fd8430867262811a4aa56304666ad6a1336959afff73fcdc38f157505975d6c340219db4980157f38dcb4b2596cdf623f311f6fbd29e613a89bed35beca"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/fy-NL/thunderbird-45.6.0.tar.bz2"; + locale = "fy-NL"; + arch = "linux-x86_64"; + sha512 = "dddab8f7453bfc074f3cd8d6aea33402f66be1bec08ea7c152873af63c802e03edf01e74db236dac6e088f836f188258d3dc62fefa833ffc525ca15b71cfbf21"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/ga-IE/thunderbird-45.6.0.tar.bz2"; + locale = "ga-IE"; + arch = "linux-x86_64"; + sha512 = "66acfc92a997ef6a2f1dfdf6a6952eebd7788b14d3080867349619b3f9559bbac4cfe6e983ad87900e089a0cb15dab2b9f77dcac69adb66ef0f97f9b5cc4e809"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/gd/thunderbird-45.6.0.tar.bz2"; + locale = "gd"; + arch = "linux-x86_64"; + sha512 = "e4d2fefb8e7c0c14395af7f695e216f6fdb685ca150cb803a347228aaea988169a7093747e770921716123a9333bbc00560e6324ff2f4f966cd895c2fbe6e21d"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/gl/thunderbird-45.6.0.tar.bz2"; + locale = "gl"; + arch = "linux-x86_64"; + sha512 = "6cc628399fa0adce0fe740e77a8e708988f7dee4d004bcb785fe567ca680fca79fde756e479cab9017828cebe48fa091e402d52d6bed54aae9cc5b6e28f246d8"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/he/thunderbird-45.6.0.tar.bz2"; + locale = "he"; + arch = "linux-x86_64"; + sha512 = "82bbf5a5fe84953d9118948fe3e9d4d6a46ceaafe42f76ea3dda36134458d30f0c73f2ab61682d2627b8c3d598d2174d549d8b4b80bf5c3071627b57b713329a"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/hr/thunderbird-45.6.0.tar.bz2"; + locale = "hr"; + arch = "linux-x86_64"; + sha512 = "c70dcfc8506132ce0764de325c8e0debafdc8460052bfa4901172f880b935d1c0bd70b1f7d227604f6bfd155c2ff165c1ad7a5b509d512483b54eff80e910a1a"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/hsb/thunderbird-45.6.0.tar.bz2"; + locale = "hsb"; + arch = "linux-x86_64"; + sha512 = "5baeaa2ae960514551d062979cd60644971b6603ab33b9773a3eff10e267f0029b2edd5d48734dfcf99697ec77c88e12f4f240ea18a7433a0a2eb07f70283389"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/hu/thunderbird-45.6.0.tar.bz2"; + locale = "hu"; + arch = "linux-x86_64"; + sha512 = "bbba8bfef9168efcf0aca6fa98596b3d7bbfaf456ceca263825d2f96b054d6dbc672e1086db645a48966f82cd0d6f4c85e9846935dc7b2595faeefa81c66904f"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/hy-AM/thunderbird-45.6.0.tar.bz2"; + locale = "hy-AM"; + arch = "linux-x86_64"; + sha512 = "b58088defd9a2f76aa779bf080135a5735e1531de065b1a3ac6f9048266e763bee8a22be634f435584d308aa5a532b72687bbddc8f7dedaca39642ed04137bfa"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/id/thunderbird-45.6.0.tar.bz2"; + locale = "id"; + arch = "linux-x86_64"; + sha512 = "c83198b8ac60132f3124253c082ea0d5a45f1db7a7a6509ea18e3d084e26796364e6ced3c20675620cfc7f849b4e7fe342c86d0cea24eee48c815dc02730074f"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/is/thunderbird-45.6.0.tar.bz2"; + locale = "is"; + arch = "linux-x86_64"; + sha512 = "285427b6f53c181889b78d005071f71211a2a51b6fa5f3eaf5a573a4a5e15cd83d946b97f3da89d383fd797a6985f8c1d589fe40e1267a73224848080af9b79c"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/it/thunderbird-45.6.0.tar.bz2"; + locale = "it"; + arch = "linux-x86_64"; + sha512 = "5e763b01fce3bb3ce5deaea0d3e4bb51b5cd752ab5fa191a064400f7961d237924b98013179f0d32017bc527478d665d6fbc74482680aaf041444d3c376497ae"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/ja/thunderbird-45.6.0.tar.bz2"; + locale = "ja"; + arch = "linux-x86_64"; + sha512 = "7dd7b1f9fcfe103d8b70587e2a8307bec93766b504390ee138cab52bb8b8f76759af84568eccc71e5a88ee8cf3e326313930760cc92267ecf7e0fb29fc09f8e8"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/ko/thunderbird-45.6.0.tar.bz2"; + locale = "ko"; + arch = "linux-x86_64"; + sha512 = "1776ae557e7f7d6df013d178a68f969aee4da9de6049f0055e290a808da61af4bd712d7915ac05a04c159db93fab7d994bd0317a471dc0498c2b5c0b8696cf71"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/lt/thunderbird-45.6.0.tar.bz2"; + locale = "lt"; + arch = "linux-x86_64"; + sha512 = "499a710619b3e9f86fe7e77e35ddbfece5609af92d79b50b697ea8539cd0b198ec88702a7c19a9169cdb2b1dead19fe786d0af16bc6fe2b9f3e0414780a1e1e9"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/nb-NO/thunderbird-45.6.0.tar.bz2"; + locale = "nb-NO"; + arch = "linux-x86_64"; + sha512 = "d97a5f532a000f3cf44e1b741a3a7026d07bf2c6012b4f6361021b81058aa93876304014d3d8d7181695c526cfd887523e217b7b502c493f5327bb4ba4d00461"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/nl/thunderbird-45.6.0.tar.bz2"; + locale = "nl"; + arch = "linux-x86_64"; + sha512 = "06df0ab52f6a9916bef1605283c7669a1afbe5ce7f6bed5746673ad5ad222034333bb41a6a1d81e87165105e3493d095bc90c5a910cb48041042367972dd9d61"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/nn-NO/thunderbird-45.6.0.tar.bz2"; + locale = "nn-NO"; + arch = "linux-x86_64"; + sha512 = "3509fbcb2955b226d869e43812665c7d2752956f68cff8cd4df3dbb3d0bda2b060218ede3eb9fdae285ed6765ce89c720793f905e09a97d6d22c2e36db890261"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/pa-IN/thunderbird-45.6.0.tar.bz2"; + locale = "pa-IN"; + arch = "linux-x86_64"; + sha512 = "b113f1134df372dd4d369eb9d4c9c30dfe15fc8d65c153ca2087a6ce3ade368554ea2e9561b7d4642f7ec52247071bb323649e884ebd89b8472bc046c1e3be5e"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/pl/thunderbird-45.6.0.tar.bz2"; + locale = "pl"; + arch = "linux-x86_64"; + sha512 = "4ea27afc66451ba40c8cfa22930598925dc18b4b074ab190d8c8866d0f516e9887e8c006ec1564b490a79f67b0b2c88d3fdfa616727e36bf705d780af82a27f3"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/pt-BR/thunderbird-45.6.0.tar.bz2"; + locale = "pt-BR"; + arch = "linux-x86_64"; + sha512 = "263ac30d26e20733eb332c6ae6837e3ebe7b8c41ff1cc15e47951f22e89873a620218e9caa2a3cfb74a93e619575a4812b362d4908372fd3ce05406d7ef295d5"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/pt-PT/thunderbird-45.6.0.tar.bz2"; + locale = "pt-PT"; + arch = "linux-x86_64"; + sha512 = "90ed68c12871e11165f9357a1e836fe8cf872bf654303c07e26f1bf30979d756e9fe6f034b4265d8f22fe8d31853ba76a983a8c7fe3759d7793f904f8cd0f788"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/rm/thunderbird-45.6.0.tar.bz2"; + locale = "rm"; + arch = "linux-x86_64"; + sha512 = "ba6aa5a07a06e57a4241f1e9962f4a28b4221032b8b3220cbfec2f3675f808367c586da0fba987e7d1309bb3bcc4d2ed48ea8ef98a6f4a3e65d4fd9fe06c527d"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/ro/thunderbird-45.6.0.tar.bz2"; + locale = "ro"; + arch = "linux-x86_64"; + sha512 = "caeecf69a9da3dfeb2c3ef8b0d8733e81e32ac201c0c5b60206160d47172863c91f2a0fddf3e7d2f707918934467c01a0dbbe1f63e3859a7106974b3a5f084a8"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/ru/thunderbird-45.6.0.tar.bz2"; + locale = "ru"; + arch = "linux-x86_64"; + sha512 = "22727502ca4dec94470a71456c19ffd7f01b75118480ae67ed4849510bf77c8ec1359ddb0233e41c1b1dbad219ad5111d0b11c6c7ae7258ec10167f27b08f197"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/si/thunderbird-45.6.0.tar.bz2"; + locale = "si"; + arch = "linux-x86_64"; + sha512 = "b872fb53f0380f77dd4dd87ccde7151db206adaa81801aa907db398df1a51bf3ae65510c452b035cf71c9000dd949106c9d64f44cbde7f1419cc41e403ac6d29"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/sk/thunderbird-45.6.0.tar.bz2"; + locale = "sk"; + arch = "linux-x86_64"; + sha512 = "32b1e962e7e4e6aa8d198e080a09b43d21cb307bb8a3af50fc7170748604ce3b6f96b5f59b56b5c0edd61f7af31ccec9446aac50ef9eb94e5ef7a48c71e99541"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/sl/thunderbird-45.6.0.tar.bz2"; + locale = "sl"; + arch = "linux-x86_64"; + sha512 = "c9192435795c677aae642884e773362d17e5afd8e5943e2759d1486e4ca5bddb35be3c99a4b6869aa7018db4bffa09f0b63e500eb26a00cd35c141543eec0a00"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/sq/thunderbird-45.6.0.tar.bz2"; + locale = "sq"; + arch = "linux-x86_64"; + sha512 = "2150abcdded45107ce54ee58f55bbb78f9fdd0fae143fe423e14f4debfa4819c23b021c8d4d36dfe606e206d3dc3deda0671cd08f6d82f7ceca7e7591e7df3a6"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/sr/thunderbird-45.6.0.tar.bz2"; + locale = "sr"; + arch = "linux-x86_64"; + sha512 = "a9bdf3062d72095d080ad309f25bb8aa27635d3497fd99e6982ae3ba635f61c97e66fe9aefb88466f6f22c6e691692d70abe00c10294353d88fc288111dad6f1"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/sv-SE/thunderbird-45.6.0.tar.bz2"; + locale = "sv-SE"; + arch = "linux-x86_64"; + sha512 = "4353836558baf234d4dd3376a6262ac0af576f16d725c71ec5eb994a72599e748d2334cb916a3050db8f719aa68f2f9d7204aaa4a41ff9da339db933fb64d496"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/ta-LK/thunderbird-45.6.0.tar.bz2"; + locale = "ta-LK"; + arch = "linux-x86_64"; + sha512 = "9f4c8192c6d683325efcfed3d5ccea7218e2eaf3193ccde00be8542f13e8b3771d2a3690ff212cabaef067452f72061fb47a8184ef16fdf59d687e3b760126a5"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/tr/thunderbird-45.6.0.tar.bz2"; + locale = "tr"; + arch = "linux-x86_64"; + sha512 = "12f567a390f44a79af8615f677b87164d74172f7540ebe6d08023e017576493b0da5a63c466ffc2c3a4c406b0d9e8753e00aaa45dd1acb751621cbb8d9e53415"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/uk/thunderbird-45.6.0.tar.bz2"; + locale = "uk"; + arch = "linux-x86_64"; + sha512 = "844e7ee825d304ae19edfbd4c324ba11c2037c9a97fc96f8b99da7fc3ad0137d3106069fdfb06814d2df20a75c6051416b52448ec56980858c70110676294f90"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/vi/thunderbird-45.6.0.tar.bz2"; + locale = "vi"; + arch = "linux-x86_64"; + sha512 = "35c0fee2083c922284fc11a048150d53a343fe7980160d2c4cf2046e588056457b4e5876dfceb51b79a828886d9671a1934d51079c6d1e64e9af979927d9d8db"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/zh-CN/thunderbird-45.6.0.tar.bz2"; + locale = "zh-CN"; + arch = "linux-x86_64"; + sha512 = "039cb44b4e07fdaf6d9b1eb717baf798b3f3a3cf8726ce97b4fa7ab7e938b9365158597747e406916ae35150c9cf96af74590c5189a64ddfbf65740c1cd45c5c"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-x86_64/zh-TW/thunderbird-45.6.0.tar.bz2"; + locale = "zh-TW"; + arch = "linux-x86_64"; + sha512 = "4721eed25de2cc71728d7cee651fdf51ef5b791873a3e59df2720c0f46269bf375e0e9456024ca4ec9ca31f8178b5af704e2fa9cb057860fa46b72ff4b22970c"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/ar/thunderbird-45.6.0.tar.bz2"; + locale = "ar"; + arch = "linux-i686"; + sha512 = "e149770dd3229d3a00e56cd34848afbb1ff6765e66da4fa449156dc58c6990bd35e442ea8c14cf90e63541a34fbcfec8d8714350186e863ded72391b60622c69"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/ast/thunderbird-45.6.0.tar.bz2"; + locale = "ast"; + arch = "linux-i686"; + sha512 = "3bf557b9e9ce9f4b84e3407dfed2fbaaa280893033d4bee0724543b6951e0533050b8feeb0a01b4693140815ced705a5ef16e800d149f967bb39329dcbecb5f7"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/be/thunderbird-45.6.0.tar.bz2"; + locale = "be"; + arch = "linux-i686"; + sha512 = "ace07c8982b68ed259b344aab73790fc9f90f98f39b65a57c6be7463c3918d545c4a0a6ff6df5b8ef7b7b07ae44c7e69a1bfa84c7cc82b9dd62bba075a2a113c"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/bg/thunderbird-45.6.0.tar.bz2"; + locale = "bg"; + arch = "linux-i686"; + sha512 = "fed2ed25fe530939c4116daa3a3a09075812b005a937c36cab385bfb867d703a84feef50e2006f83009a25c0736c9b032c17605b2364d8fde4799d1e9f479b8c"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/bn-BD/thunderbird-45.6.0.tar.bz2"; + locale = "bn-BD"; + arch = "linux-i686"; + sha512 = "84190d0cc6884f14ccf4ce06dbd69193f90591becd5d8064ea89c7ec12ec411bf766bff1bc5d5c6f142fa53ed2b9ce494718f7d32a74a027819de32381b24526"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/br/thunderbird-45.6.0.tar.bz2"; + locale = "br"; + arch = "linux-i686"; + sha512 = "619857fadb8721ccf103a3739a1336e2cafbfa62a0a2ab074254481d50f0d301f7718d47b5a3d42922fa562f1382de2aa8b5256bc62d829400926a494bc19403"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/ca/thunderbird-45.6.0.tar.bz2"; + locale = "ca"; + arch = "linux-i686"; + sha512 = "3314b1129be6ce854a6b028849167af5f93c289073f962f5de09eb37fc7a2c40eb75b8b361289c879c4b7f752170f05a01dc6ae996bba4a5b706c1deb037cfc4"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/cs/thunderbird-45.6.0.tar.bz2"; + locale = "cs"; + arch = "linux-i686"; + sha512 = "07d21c5f4aef38b9f7b330bf0c06f10ba3fc7cfeedcdd45e45ffb9ad4e5b1f729cb5d249028a87a8ce122da96c240447a6eed4be2220e302a2c55ac39cb1628a"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/cy/thunderbird-45.6.0.tar.bz2"; + locale = "cy"; + arch = "linux-i686"; + sha512 = "b2f86ed9ebfd8124611f6d9e20cf36322e36cecc2fea688649b9f6df231d65ed4cad192e12b7a27367b3b7706e510c5547c5bb22aedab76d420540cea9b81ee5"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/da/thunderbird-45.6.0.tar.bz2"; + locale = "da"; + arch = "linux-i686"; + sha512 = "00ef125afcb33ebd5f11b765c9c3ea9e3e240e3416d00012cbf1b82377f8d610ab2b4aac800d7a0ae0f443447840b35d92e58600d83dfb6c6dd76e8ecabd3924"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/de/thunderbird-45.6.0.tar.bz2"; + locale = "de"; + arch = "linux-i686"; + sha512 = "05e1cae57b9a2e2fb274c2efc130e596c5f6c35ce14055156f728a662e9f8f5423a42708629726e0a70e3420aeb1d9b3b224c019cbbaa6f4a0cee69f78c740ac"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/dsb/thunderbird-45.6.0.tar.bz2"; + locale = "dsb"; + arch = "linux-i686"; + sha512 = "dd0dadb02dd11dc9c39c6aa67eb995b786fdec47e966cb79177bde56400300b214ba90509a50ad839b36908da18829eb02431a4e1cae3e878dcb3debed258bc1"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/el/thunderbird-45.6.0.tar.bz2"; + locale = "el"; + arch = "linux-i686"; + sha512 = "12fc5fe4fb9fcccc295cd05c46850dab1ebfa81e0fc1ea073c493ef7c8db73e2c96999e9b1a29cda8f8cfa5437920f8a6b88d3b6911fd88dfde2673563e2afc1"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/en-GB/thunderbird-45.6.0.tar.bz2"; + locale = "en-GB"; + arch = "linux-i686"; + sha512 = "0e195cd68923d8b8bedb4028d17b08d029eecc82d0b40de575b55d573dda6227684043cf50c959c790746a6b38089e02cc996cc8a23cb31011c6fe4c3fd2ae89"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/en-US/thunderbird-45.6.0.tar.bz2"; + locale = "en-US"; + arch = "linux-i686"; + sha512 = "d3ceea1ef1e3562d682882b14f518f917143e4c4417ac07e8a474c52a57ccf0169fe1580355dcda0710e03c67b46eeb78fd59b31b831b8f431ef1a0cd9a37c2e"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/es-AR/thunderbird-45.6.0.tar.bz2"; + locale = "es-AR"; + arch = "linux-i686"; + sha512 = "19a3703f4f3fc5ce82ac8f69468fabb494ff663ed0b507af4a7cb74fcfefc5eb7e8090771392a800cbec88897c9c00315b457289eb1be860e1b47dff2f25a5d3"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/es-ES/thunderbird-45.6.0.tar.bz2"; + locale = "es-ES"; + arch = "linux-i686"; + sha512 = "706987651522f9c843c8771a4e58c474661da8a45104e1dfdd1b72be74c3a43d9eaaf4f9eb3661718c4237515afc90272c535579d0db1fa3715a29d03bef36af"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/et/thunderbird-45.6.0.tar.bz2"; + locale = "et"; + arch = "linux-i686"; + sha512 = "3ec0d0fa4ab85a3ce958b8c637e4d208f803e861f3b544d3f15a79ac1e1704efa963eb127f1687cbe5f4e75926bf1731bd9fd781a6e7fdda07035766eba8d39d"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/eu/thunderbird-45.6.0.tar.bz2"; + locale = "eu"; + arch = "linux-i686"; + sha512 = "54eaeebfce0f0c805954be911c3ac666993d9bf927ccdb01ce0f322524451523ccb7d6d8fee473eebd9cac14d6653655de8f0e6861f8d4fb0953658cd808b74e"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/fi/thunderbird-45.6.0.tar.bz2"; + locale = "fi"; + arch = "linux-i686"; + sha512 = "51d09e9b7ecbf4891ceee5fde9fe00ce2ac9cbf4a2fc0a3f1433e7004677d6fc35067734c3f0506362b346953423f71844937c1187db9194ebe952adad1abef6"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/fr/thunderbird-45.6.0.tar.bz2"; + locale = "fr"; + arch = "linux-i686"; + sha512 = "0c3b9635cf107cdfb91c4cdc4771c25b112fd7d87341c88259a5670c5fa716e105cb910b1b6b85d8c22d518abba5a538f87250c8bb34c71df4cb98bf7026f8be"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/fy-NL/thunderbird-45.6.0.tar.bz2"; + locale = "fy-NL"; + arch = "linux-i686"; + sha512 = "45adb1b96d4d57c5302ca373f193b5a7e0a9f8577fabcb37c184bc8aaa66cdd4b0136e810af0ca8f1a7727fd51d60ee1006f6dc3e5fd182ff45056fc923d7d13"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/ga-IE/thunderbird-45.6.0.tar.bz2"; + locale = "ga-IE"; + arch = "linux-i686"; + sha512 = "4c3453566e747b57f94ef980a7d9b4d2a1c5b78584b0bcf1eea4d8c6b26ca177f18cf94811e5301a12e7de8939a11bbebe202683449b367f29a391a94d020cb1"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/gd/thunderbird-45.6.0.tar.bz2"; + locale = "gd"; + arch = "linux-i686"; + sha512 = "ba0f0ee9c8a2a64c414e1621c8d5ce47194ef144f026e3306cf2c81d214fd0e1df541fea11dfdc2de7629cdc8ba2a4aaccb16dc7cc0c3404925177b893ca5d73"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/gl/thunderbird-45.6.0.tar.bz2"; + locale = "gl"; + arch = "linux-i686"; + sha512 = "f1d948b366842bfc2fd349ccae3c6c9f586fd69e99f0a0f9804bf3bff25ce6262451513952ad30f128626bffd6f9719d377868fb7d2fa56d8b6f54b2f4751ea8"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/he/thunderbird-45.6.0.tar.bz2"; + locale = "he"; + arch = "linux-i686"; + sha512 = "1e0f048b272b4927d19f66390577ae2a37a32dadc24e36a7cdfd48e4257db09f5433c2812429c1700a5fa1f3630deb3c43db316de921d8e9be58f41388d2502d"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/hr/thunderbird-45.6.0.tar.bz2"; + locale = "hr"; + arch = "linux-i686"; + sha512 = "a821b66d67f32c84d0bf4172fb82ee487c13703122821042b00739890777573288c31c5178f4dfb6fce587eb58a19eaccd6f23b4b8f3d851fc203293674fb510"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/hsb/thunderbird-45.6.0.tar.bz2"; + locale = "hsb"; + arch = "linux-i686"; + sha512 = "c756ae475fc1964ae915a68313411ec8ab4a7d4744685de2ffeaaae33d58fcc08712657a2f030b1b358d02d9653c26478515ecbd915881e33cdaca9d9842fb38"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/hu/thunderbird-45.6.0.tar.bz2"; + locale = "hu"; + arch = "linux-i686"; + sha512 = "d2f68c86f57fb9351c5c2ba74a8976bc89810634dbf5a521c34a553ccb6ff27eaf66fdc92e50c0f226246e9fc25316d4305feea1c3801513f418f58dff1955bd"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/hy-AM/thunderbird-45.6.0.tar.bz2"; + locale = "hy-AM"; + arch = "linux-i686"; + sha512 = "42ad523ad7f30638a69d8d549491af06ab9f740f8eb0b81e681236a09ce39de3758e2af61f2857293d085603f3530df3edaa23c19a014034528d3d130517fcef"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/id/thunderbird-45.6.0.tar.bz2"; + locale = "id"; + arch = "linux-i686"; + sha512 = "42a023e474e440b8201dbe5caaa7354546f89d5e4e9fcd34152dae93349bab8872f6060e5029fa629fd9853999ecf08688e51a2d9a16400265bc5c61a9abf783"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/is/thunderbird-45.6.0.tar.bz2"; + locale = "is"; + arch = "linux-i686"; + sha512 = "6fe784f65ee584a1fb9fdc962be412e09ff43e88afa29365ddabf6a237ae7a1c854c05d5e3b3bbef83653fae94646c7a32144c2f7907304573b5f71e5f978ac9"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/it/thunderbird-45.6.0.tar.bz2"; + locale = "it"; + arch = "linux-i686"; + sha512 = "dae36c69bfa5cc80ad9489c76acdc6094f5fcd2c41f8c2f5dcd5d8d103aca564daaa96b27426f8096aaf555b6786f7d2c2227cbf1096d7eae53285b337d8221c"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/ja/thunderbird-45.6.0.tar.bz2"; + locale = "ja"; + arch = "linux-i686"; + sha512 = "c33ba443ee0556b28b60ba4517913d54a931cc2b63339262b35a1d576166e9abe1e7f6297f11683397a13f5c7b71cd96f97e60ad1a956aa27ba9fbd7f0c5fb43"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/ko/thunderbird-45.6.0.tar.bz2"; + locale = "ko"; + arch = "linux-i686"; + sha512 = "0587a7bb7218b16c859717e99a3fd96e697b3a32dd322361edfbaf0b069522914e84b74160466d3b25fac76d925af485b9688fb5a3e072f1eff94dabb0239669"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/lt/thunderbird-45.6.0.tar.bz2"; + locale = "lt"; + arch = "linux-i686"; + sha512 = "0789f1357a0c2a61fa676c9c375c79c29e78c3b3bf8faa2a392ec90714e1e581bd07eb75628284e6873c66553c613e7b43a18532a01cc66510f0bdcbef5f5b83"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/nb-NO/thunderbird-45.6.0.tar.bz2"; + locale = "nb-NO"; + arch = "linux-i686"; + sha512 = "906ebc96274cc490b82b434f648ba33f16a4f2b641e99142fcf18cd24701ed0b4b34558b2b380a0ff1d4ebe253ffd99d6b2cf4b9cf059a3f071c9e3bee94dd0b"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/nl/thunderbird-45.6.0.tar.bz2"; + locale = "nl"; + arch = "linux-i686"; + sha512 = "d18b521eddf0e71cecb33473275bb44038717cefadddc648441b0d4c7a01aaa08e45fad28e3eb74e8d01d1a637db1ef4d999d45a83c2fcb3aa3e7430b73b666f"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/nn-NO/thunderbird-45.6.0.tar.bz2"; + locale = "nn-NO"; + arch = "linux-i686"; + sha512 = "66f7b07352f7a6064d3a805d8d348ae4956240b42359a2d3fbd1d96291a025e1f4920ddcb0cd9312e1d8f146fcceae4e0d9811a9e6ae43479307aa204d8de8d3"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/pa-IN/thunderbird-45.6.0.tar.bz2"; + locale = "pa-IN"; + arch = "linux-i686"; + sha512 = "828e57876a063979f945d0cee371b57e43d2f26eba4723a8983b448b85a091a303da068f17ba73f1eb23b35e06d9b3a37b56d9a3be49c202c950d2bd2ed9db05"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/pl/thunderbird-45.6.0.tar.bz2"; + locale = "pl"; + arch = "linux-i686"; + sha512 = "6ca824649b5f030423213dd573018af5b6a8033fa86b6b23c5b99e59afdd5234cd2c7a8237124dabbf75175511afff980dd3d971f59967c3522b633680d7277a"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/pt-BR/thunderbird-45.6.0.tar.bz2"; + locale = "pt-BR"; + arch = "linux-i686"; + sha512 = "399dc86d31375ea3af21e6032b686ffdec65a3c0ca403d95bc89e0e7715e6c998dc846057ff4a6b919fda794a9fdabb53eafd7a07d8894a65e1109c9c52e43d1"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/pt-PT/thunderbird-45.6.0.tar.bz2"; + locale = "pt-PT"; + arch = "linux-i686"; + sha512 = "f758fb69c99c02fe1bcab8c9a4b02eeebcc190c30e73f4b009521c36956cc7f076e1f544181a332807bee93ec39d7d170cca3f0d87fc6ed89b60a4515c394749"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/rm/thunderbird-45.6.0.tar.bz2"; + locale = "rm"; + arch = "linux-i686"; + sha512 = "d338c243cbfa41e5b54195923bc12876e45683271df477d492058973dbc0f7352d59863a3bde571ab001612b8ce5704512f1bc0ad1e8af066f7aa448b5c89f0a"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/ro/thunderbird-45.6.0.tar.bz2"; + locale = "ro"; + arch = "linux-i686"; + sha512 = "2c011b2cef9c5761c1297b2cc2dcd442ae9fd8d0f28d0f469aa2abbd6da80fe11bd607df8fb224ff03bd21932bdd40591532722756c467b498313da0f639c3fc"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/ru/thunderbird-45.6.0.tar.bz2"; + locale = "ru"; + arch = "linux-i686"; + sha512 = "90fe536806f6e2ec20c470c72812ff8e54af58499ba220f9b6a5b6043c3a6072c78dc834c4204ca4e1f9d5ab71093296c958fe12409e50435136903f3ea3d544"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/si/thunderbird-45.6.0.tar.bz2"; + locale = "si"; + arch = "linux-i686"; + sha512 = "36fed4f969775870a3e224aef66b36d8b8f1adec2471b4b45d75c52318b9481bdd81a9f583589b4c5450045e4a8abff91f3fb9083f4bafd237c742015626291f"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/sk/thunderbird-45.6.0.tar.bz2"; + locale = "sk"; + arch = "linux-i686"; + sha512 = "e89ac23a25ae446f69e9c31478cc844253ba57de01893bd12b6b2bbe0e599fa09bf1506e9cfcbeab506998d81bc170fe1cff2d0e9aa13411299a5441d40d8959"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/sl/thunderbird-45.6.0.tar.bz2"; + locale = "sl"; + arch = "linux-i686"; + sha512 = "6a74cc252d64d6d11a98af51e8fffc8a4bba8c74e2647afee9cfaae55ffcabe7ef9d82ee95a1a4d169fc057025c84f1253f455c6bd5e8f5fb9e33d7372c96a01"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/sq/thunderbird-45.6.0.tar.bz2"; + locale = "sq"; + arch = "linux-i686"; + sha512 = "2ab4b18e5560eb495093aa0e5867f6e91148fe1cf7123f50306cb19b646b0834cde8cbd449df46f7e12b597465ee69910ad386e9920e26cdadc2085ca92e7af9"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/sr/thunderbird-45.6.0.tar.bz2"; + locale = "sr"; + arch = "linux-i686"; + sha512 = "dc23ac3a9c3fc8b0105bdac2b14f24a0cd76b7f6c3bcd3994d979ef2db44a9f11bc2e5648148bd45008ea832261399898737b39727c0a61a03b8315aeede6bde"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/sv-SE/thunderbird-45.6.0.tar.bz2"; + locale = "sv-SE"; + arch = "linux-i686"; + sha512 = "ebcac4ddcb84291613eeb64289e1f9f374a6085eb587df3cffc906dd7d7950f7564be1aed17c794d37f415840459b82c0c6edebefab2d8ba6f3e34c20426757a"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/ta-LK/thunderbird-45.6.0.tar.bz2"; + locale = "ta-LK"; + arch = "linux-i686"; + sha512 = "b164c7e70aa313517ecd85828a3734113f504f7e86ae615a24465a4334f41197af42b181f1f0048782d841422c3847eff1b8868450d190e362a36ffb5d1f2b6d"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/tr/thunderbird-45.6.0.tar.bz2"; + locale = "tr"; + arch = "linux-i686"; + sha512 = "6c3d65c4c277382961238e491f90e0f33a265614614428f2abeeb3779cc3b23b068d8ddf7f4a7c98a4c7497b22df79b3ba16ef0191b9cfb752aa24316d4fb8e3"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/uk/thunderbird-45.6.0.tar.bz2"; + locale = "uk"; + arch = "linux-i686"; + sha512 = "6754bead8887f244c6d87a6c76f45247933fae42fc74240c453bbef8acfa7a85ba282db4185c1fb6ec9e93115e3d9e4ac0ee113c00db9634f26a4eec6f79ea6b"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/vi/thunderbird-45.6.0.tar.bz2"; + locale = "vi"; + arch = "linux-i686"; + sha512 = "34110501557ea23c1c854fbba9e6c043e25634f5993f34197b8d5842ee88d4717c87a0a8fe326a35dd12e74fcfbf9ddb0b6e7db0b09a058d710680e37cd5b939"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/zh-CN/thunderbird-45.6.0.tar.bz2"; + locale = "zh-CN"; + arch = "linux-i686"; + sha512 = "493073bee16e9e22db0d3c2700f13f1304129c28528a80fb9a548afbabaaa147b7ac46a254cc3b05619d47e94e61c29ff7cc80618c8af09b3659e6c91883c017"; + } + { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.6.0/linux-i686/zh-TW/thunderbird-45.6.0.tar.bz2"; + locale = "zh-TW"; + arch = "linux-i686"; + sha512 = "7ac66a0ee967e7f87d084acda72120c65bb64c2572f42249b97baf9755b0b7dc314a1d88049941a7be86846f98f236cdfe54b87b22ff7f66b6099397788373b2"; + } + ]; } diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix index b03698f10fad..5f1483672b24 100644 --- a/pkgs/applications/networking/mailreaders/thunderbird/default.nix +++ b/pkgs/applications/networking/mailreaders/thunderbird/default.nix @@ -1,9 +1,10 @@ -{ stdenv, fetchurl, pkgconfig, which, m4, gtk, pango, perl, python, zip, libIDL +{ stdenv, fetchurl, pkgconfig, which, m4, gtk2, pango, perl, python2, zip, libIDL , libjpeg, libpng, zlib, dbus, dbus_glib, bzip2, xorg , freetype, fontconfig, file, alsaLib, nspr, nss, libnotify -, yasm, mesa, sqlite, unzip, makeWrapper, pysqlite +, yasm, mesa, sqlite, unzip, makeWrapper , hunspell, libevent, libstartup_notification, libvpx , cairo, gstreamer, gst_plugins_base, icu +, writeScript, xidel, coreutils, gnused, gnugrep, curl, ed , debugBuild ? false , # If you want the resulting program to call itself "Thunderbird" # instead of "Earlybird", enable this option. However, those @@ -13,7 +14,7 @@ enableOfficialBranding ? false }: -let version = "45.3.0"; in +let version = "45.6.0"; in let verName = "${version}"; in stdenv.mkDerivation rec { @@ -21,15 +22,22 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://mozilla/thunderbird/releases/${verName}/source/thunderbird-${verName}.source.tar.xz"; - sha512 = "1226b35535d68b9c088ab8692f61120c99951e1ecbae4739ced711665a3237d248202831831f00536c724e2f6359db4601fa5c90f2793433eab4bd9dab0c1165"; + sha512 = "1f4579ac37b8ab98c91fe2e3e6742ba1b005ca9346d23f467d19e6af45eb457cab749bf91ed2a79f2058bd66f54da661da3ea5d5786f8c4b472d8a2a6c34db4b"; }; + # New sed no longer tolerates this mistake. + postPatch = '' + for f in mozilla/{js/src,}/configure; do + substituteInPlace "$f" --replace '[:space:]*' '[[:space:]]*' + done + ''; + buildInputs = # from firefox30Pkgs.xulrunner, without gstreamer and libvpx - [ pkgconfig which libpng gtk perl zip libIDL libjpeg zlib bzip2 - python dbus dbus_glib pango freetype fontconfig xorg.libXi + [ pkgconfig which libpng gtk2 perl zip libIDL libjpeg zlib bzip2 + python2 dbus dbus_glib pango freetype fontconfig xorg.libXi xorg.libX11 xorg.libXrender xorg.libXft xorg.libXt file alsaLib nspr nss libnotify xorg.pixman yasm mesa - xorg.libXScrnSaver xorg.scrnsaverproto pysqlite + xorg.libXScrnSaver xorg.scrnsaverproto xorg.libXext xorg.xextproto sqlite unzip makeWrapper hunspell libevent libstartup_notification cairo icu ] ++ [ m4 ]; @@ -113,6 +121,11 @@ stdenv.mkDerivation rec { EOF ''; + postFixup = + '' + paxmark m $out/lib/thunderbird-${version}/thunderbird + ''; + meta = with stdenv.lib; { description = "A full-featured e-mail client"; homepage = http://www.mozilla.org/thunderbird/; @@ -123,4 +136,12 @@ stdenv.mkDerivation rec { maintainers = [ maintainers.pierron maintainers.eelco ]; platforms = platforms.linux; }; + + passthru.updateScript = import ./../../browsers/firefox/update.nix { + name = "thunderbird"; + sourceSectionRegex = "."; + basePath = "pkgs/applications/networking/mailreaders/thunderbird"; + baseUrl = "http://archive.mozilla.org/pub/thunderbird/releases/"; + inherit writeScript xidel coreutils gnused gnugrep curl ed; + }; } diff --git a/pkgs/applications/networking/mumble/default.nix b/pkgs/applications/networking/mumble/default.nix index 26dcbe200792..92fe9c9d01be 100644 --- a/pkgs/applications/networking/mumble/default.nix +++ b/pkgs/applications/networking/mumble/default.nix @@ -37,6 +37,7 @@ let "CONFIG+=no-bundled-speex" ] ++ optional (!speechdSupport) "CONFIG+=no-speechd" ++ optional jackSupport "CONFIG+=no-oss CONFIG+=no-alsa CONFIG+=jackaudio" + ++ optional (!iceSupport) "CONFIG+=no-ice" ++ (overrides.configureFlags or [ ]); preConfigure = '' @@ -103,16 +104,16 @@ let "CONFIG+=no-client" ]; - buildInputs = [ libcap ] ++ optional iceSupport [ zeroc_ice ]; + buildInputs = [ libcap ] ++ optional iceSupport zeroc_ice; }; stableSource = rec { - version = "1.2.16"; + version = "1.2.17"; qtVersion = 4; src = fetchurl { url = "https://github.com/mumble-voip/mumble/releases/download/${version}/mumble-${version}.tar.gz"; - sha256 = "1ikswfm7zhwqcwcc1fwk0i9jjgqng49s0yilw50s34bgg1h3im7b"; + sha256 = "176br3b0pv5sz3zvgzsz9rxr3n79irlm902h7n1wh4f6vbph2dhw"; }; }; diff --git a/pkgs/applications/networking/newsreaders/liferea/default.nix b/pkgs/applications/networking/newsreaders/liferea/default.nix index ae60ae113096..f3fdea59e48d 100644 --- a/pkgs/applications/networking/newsreaders/liferea/default.nix +++ b/pkgs/applications/networking/newsreaders/liferea/default.nix @@ -1,14 +1,15 @@ -{ stdenv, fetchurl, pkgconfig, intltool, python, pygobject3 +{ stdenv, fetchurl, pkgconfig, intltool, pythonPackages , glib, gnome3, pango, libxml2, libxslt, sqlite, libsoup, glib_networking , webkitgtk, json_glib, gobjectIntrospection, gst_all_1 , libnotify , makeWrapper }: -let pname = "liferea"; - version = "1.10.19"; -in -stdenv.mkDerivation rec { +let + pname = "liferea"; + version = "1.10.19"; + inherit (pythonPackages) python pygobject3; +in stdenv.mkDerivation rec { name = "${pname}-${version}"; src = fetchurl { diff --git a/pkgs/applications/networking/newsreaders/pan/default.nix b/pkgs/applications/networking/newsreaders/pan/default.nix index 9ca5ace2caf8..e8885edaa2aa 100644 --- a/pkgs/applications/networking/newsreaders/pan/default.nix +++ b/pkgs/applications/networking/newsreaders/pan/default.nix @@ -1,9 +1,9 @@ { spellChecking ? true -, stdenv, fetchurl, pkgconfig, gtk, gtkspell ? null +, stdenv, fetchurl, pkgconfig, gtk2, gtkspell2 ? null , perl, pcre, gmime, gettext, intltool, dbus_glib, libnotify }: -assert spellChecking -> gtkspell != null; +assert spellChecking -> gtkspell2 != null; let version = "0.139"; in @@ -15,8 +15,8 @@ stdenv.mkDerivation { sha1 = "01ea0361a6d81489888e6abb075fd552999c3c60"; }; - buildInputs = [ pkgconfig gtk perl gmime gettext intltool dbus_glib libnotify ] - ++ stdenv.lib.optional spellChecking gtkspell; + buildInputs = [ pkgconfig gtk2 perl gmime gettext intltool dbus_glib libnotify ] + ++ stdenv.lib.optional spellChecking gtkspell2; enableParallelBuilding = true; diff --git a/pkgs/applications/networking/newsreaders/quiterss/default.nix b/pkgs/applications/networking/newsreaders/quiterss/default.nix new file mode 100644 index 000000000000..53520909b09c --- /dev/null +++ b/pkgs/applications/networking/newsreaders/quiterss/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchFromGitHub, qt5, qmakeHook, makeQtWrapper, pkgconfig, sqlite }: + +stdenv.mkDerivation rec { + name = "quiterss-${version}"; + version = "0.18.4"; + + src = fetchFromGitHub { + owner = "QuiteRSS"; + repo = "quiterss"; + rev = "${version}"; + sha256 = "0gk4s41npg8is0jf4yyqpn8ksqrhwxq97z40iqcbd7dzsiv7bkvj"; + }; + + buildInputs = [ qt5.qtbase qt5.qttools qt5.qtwebkit qmakeHook makeQtWrapper pkgconfig sqlite.dev ]; + + postInstall = '' + wrapQtProgram "$out/bin/quiterss" + ''; + + meta = with stdenv.lib; { + description = "A Qt-based RSS/Atom news feed reader"; + longDescription = '' + QuiteRSS is a open-source cross-platform RSS/Atom news feeds reader + written on Qt/C++ + ''; + homepage = "https://quiterss.org"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ primeos ]; + }; +} diff --git a/pkgs/applications/networking/p2p/ktorrent/5.nix b/pkgs/applications/networking/p2p/ktorrent/5.nix new file mode 100644 index 000000000000..7e47838c4f98 --- /dev/null +++ b/pkgs/applications/networking/p2p/ktorrent/5.nix @@ -0,0 +1,41 @@ +{ stdenv, fetchurl, cmake +, ecm, qtbase, qtscript +, ki18n, kio, knotifications, knotifyconfig, kdoctools, kross, kcmutils, kdelibs4support +, libktorrent, boost, taglib +}: + +stdenv.mkDerivation rec { + name = pname + "-" + version; + + pname = "ktorrent"; + version = "5.0.1"; + + src = fetchurl { + url = http://download.kde.org/stable/ktorrent/5.0/ktorrent-5.0.1.tar.xz; + sha256 = "1rbr932djmn1la6vs2sy1zdf39fmla8vwzfn76h7csncbp5fw3yh"; + }; + + patches = + [ (fetchurl { + url = https://cgit.kde.org/ktorrent.git/patch/?id=f48acc22f0105ce6bac63294d248873ae231c6cc; + sha256 = "0jm4y35w2ypbjzf165rnjr224nq4w651ydnpd9zdn3inxh8r4s0v"; + }) + ]; + + nativeBuildInputs = [ kdoctools ecm ]; + + buildInputs = + [ cmake qtbase qtscript + ki18n kio knotifications knotifyconfig kross kcmutils kdelibs4support + libktorrent taglib + ]; + + enableParallelBuilding = true; + + meta = { + description = "KDE integrated BtTorrent client"; + homepage = https://www.kde.org/applications/internet/ktorrent/; + maintainers = [ stdenv.lib.maintainers.eelco ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/applications/networking/p2p/ldcpp/default.nix b/pkgs/applications/networking/p2p/ldcpp/default.nix index 53b7b7748b24..b540ffd0967c 100644 --- a/pkgs/applications/networking/p2p/ldcpp/default.nix +++ b/pkgs/applications/networking/p2p/ldcpp/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, scons, pkgconfig, gtk, bzip2, libglade, openssl +{ stdenv, fetchurl, scons, pkgconfig, gtk2, bzip2, libglade, openssl , libX11, boost, zlib, libnotify }: stdenv.mkDerivation rec { @@ -7,7 +7,7 @@ stdenv.mkDerivation rec { url = http://launchpad.net/linuxdcpp/1.1/1.1.0/+download/linuxdcpp-1.1.0.tar.bz2; sha256 = "12i92hirmwryl1qy0n3jfrpziwzb82f61xca9jcjwyilx502f0b6"; }; - buildInputs = [ scons pkgconfig gtk bzip2 libglade openssl libX11 boost libnotify ]; + buildInputs = [ scons pkgconfig gtk2 bzip2 libglade openssl libX11 boost libnotify ]; installPhase = '' export NIX_LDFLAGS="$NIX_LDFLAGS -lX11"; diff --git a/pkgs/applications/networking/p2p/opentracker/default.nix b/pkgs/applications/networking/p2p/opentracker/default.nix index 52378bac55ed..abddc22c285c 100644 --- a/pkgs/applications/networking/p2p/opentracker/default.nix +++ b/pkgs/applications/networking/p2p/opentracker/default.nix @@ -1,24 +1,28 @@ { stdenv, fetchgit, libowfat, zlib }: stdenv.mkDerivation { - name = "opentracker-2014-08-03"; + name = "opentracker-2016-10-02"; + src = fetchgit { - url = "https://github.com/masroore/opentracker.git"; - rev = "9a26b3d203755577879315ecc2b515d0e22793cb"; - sha256 = "1ayj3j9jv6h26jfhw93wcw7lvhwyfnc20kkicvskalwzw51mpsz8"; + url = "git://erdgeist.org/opentracker"; + rev = "0ebc0ed6a3e3b7acc9f9e338cc23cea5f4f22f61"; + sha256 = "0qi0a8fygjwgs3yacramfn53jdabfgrlzid7q597x9lr94anfpyl"; }; - + buildInputs = [ libowfat zlib ]; - + installPhase = '' - mkdir -p $out/bin + mkdir -p $out/bin $out/share/doc cp opentracker $out/bin + cp opentracker.conf.sample $out/share/doc + runHook postInstall ''; - + meta = with stdenv.lib; { - homepage = https://github.com/masroore/opentracker; - license = "beer-ware"; + homepage = https://erdgeist.org/arts/software/opentracker/; + license = licenses.beerware; platforms = platforms.linux; - description = "Bittorrent tracker project aiminf for minimal resource usage and is intended to run at your wlan router"; + description = "Bittorrent tracker project which aims for minimal resource usage and is intended to run at your wlan router."; + maintainers = with maintainers; [ makefu ]; }; } diff --git a/pkgs/applications/networking/p2p/qbittorrent/default.nix b/pkgs/applications/networking/p2p/qbittorrent/default.nix index f3c94e8577f8..620b8601d7dc 100644 --- a/pkgs/applications/networking/p2p/qbittorrent/default.nix +++ b/pkgs/applications/networking/p2p/qbittorrent/default.nix @@ -10,11 +10,11 @@ assert guiSupport -> (dbus_libs != null); with stdenv.lib; stdenv.mkDerivation rec { name = "qbittorrent-${version}"; - version = "3.3.5"; + version = "3.3.7"; src = fetchurl { url = "mirror://sourceforge/qbittorrent/${name}.tar.xz"; - sha256 = "1nh4lr4kbgh6rrsjax2a4lg82vn1ld0rnqjpp7sb6vpz8ikavk9q"; + sha256 = "0h2ccqmjnm0x0qjvd0vz5hk7dy9qbqhiqvxywqjhip7sj1585p3j"; }; nativeBuildInputs = [ pkgconfig which ]; diff --git a/pkgs/applications/networking/p2p/retroshare/0.6.nix b/pkgs/applications/networking/p2p/retroshare/0.6.nix index 39c1fd02b2b6..4b881445323a 100644 --- a/pkgs/applications/networking/p2p/retroshare/0.6.nix +++ b/pkgs/applications/networking/p2p/retroshare/0.6.nix @@ -36,7 +36,8 @@ stdenv.mkDerivation { qmakeFlags="$qmakeFlags DESTDIR=$out" ''; - enableParallelBuilding = true; + # gui/settings/PluginsPage.h:25:28: fatal error: ui_PluginsPage.h: No such file or directory + enableParallelBuilding = false; postInstall = '' mkdir -p $out/bin diff --git a/pkgs/applications/networking/p2p/transgui/default.nix b/pkgs/applications/networking/p2p/transgui/default.nix index 421fd9afb168..3a6a71843a2d 100644 --- a/pkgs/applications/networking/p2p/transgui/default.nix +++ b/pkgs/applications/networking/p2p/transgui/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchsvn, pkgconfig, makeDesktopItem, unzip, fpc, lazarus, -libX11, glib, gtk, gdk_pixbuf, pango, atk, cairo, openssl }: +libX11, glib, gtk2, gdk_pixbuf, pango, atk, cairo, openssl }: stdenv.mkDerivation rec { name = "transgui-5.0.1-svn-r${revision}"; @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { buildInputs = [ pkgconfig unzip fpc lazarus stdenv.cc - libX11 glib gtk gdk_pixbuf pango atk cairo openssl + libX11 glib gtk2 gdk_pixbuf pango atk cairo openssl ]; NIX_LDFLAGS = " diff --git a/pkgs/applications/networking/p2p/transmission-remote-cli/default.nix b/pkgs/applications/networking/p2p/transmission-remote-cli/default.nix index ddb37a3f64b7..fc803fa2745c 100644 --- a/pkgs/applications/networking/p2p/transmission-remote-cli/default.nix +++ b/pkgs/applications/networking/p2p/transmission-remote-cli/default.nix @@ -10,7 +10,6 @@ stdenv.mkDerivation rec { }; buildInputs = with pythonPackages; [ python wrapPython ]; - pythonPath = [ pythonPackages.curses ]; installPhase = '' install -D transmission-remote-cli $out/bin/transmission-remote-cli diff --git a/pkgs/applications/networking/p2p/transmission/default.nix b/pkgs/applications/networking/p2p/transmission/default.nix index b85970df4b4a..12692b9566f9 100644 --- a/pkgs/applications/networking/p2p/transmission/default.nix +++ b/pkgs/applications/networking/p2p/transmission/default.nix @@ -1,6 +1,9 @@ { stdenv, fetchurl, pkgconfig, intltool, file, makeWrapper , openssl, curl, libevent, inotify-tools, systemd, zlib , enableGTK3 ? false, gtk3 +, enableSystemd ? stdenv.isLinux +, enableDaemon ? true +, enableCli ? true }: let @@ -17,18 +20,24 @@ stdenv.mkDerivation rec { sha256 = "0pykmhi7pdmzq47glbj8i2im6iarp4wnj4l1pyvsrnba61f0939s"; }; - buildInputs = [ pkgconfig intltool file openssl curl libevent inotify-tools zlib ] + buildInputs = [ pkgconfig intltool file openssl curl libevent zlib ] ++ optionals enableGTK3 [ gtk3 makeWrapper ] - ++ optional stdenv.isLinux systemd; + ++ optionals enableSystemd [ systemd ] + ++ optionals stdenv.isLinux [ inotify-tools ]; postPatch = '' substituteInPlace ./configure \ --replace "libsystemd-daemon" "libsystemd" \ - --replace "/usr/bin/file" "${file}/bin/file" + --replace "/usr/bin/file" "${file}/bin/file" \ + --replace "test ! -d /Developer/SDKs/MacOSX10.5.sdk" "false" ''; - configureFlags = [ "--with-systemd-daemon" ] - ++ [ "--enable-cli" ] + configureFlags = [ + ("--enable-cli=" + (if enableCli then "yes" else "no")) + ("--enable-daemon=" + (if enableDaemon then "yes" else "no")) + "--disable-mac" # requires xcodebuild + ] + ++ optional enableSystemd "--with-systemd-daemon" ++ optional enableGTK3 "--with-gtk"; preFixup = optionalString enableGTK3 /* gsettings schemas for file dialogues */ '' @@ -37,6 +46,8 @@ stdenv.mkDerivation rec { --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" ''; + NIX_LDFLAGS = optionalString stdenv.isDarwin "-framework CoreFoundation"; + meta = with stdenv.lib; { description = "A fast, easy and free BitTorrent client"; longDescription = '' @@ -53,7 +64,7 @@ stdenv.mkDerivation rec { homepage = http://www.transmissionbt.com/; license = licenses.gpl2; # parts are under MIT maintainers = with maintainers; [ astsmtl vcunat wizeman ]; - platforms = platforms.linux; + platforms = platforms.unix; }; } diff --git a/pkgs/applications/networking/p2p/tribler/default.nix b/pkgs/applications/networking/p2p/tribler/default.nix index 210dbaf41c84..890271916544 100644 --- a/pkgs/applications/networking/p2p/tribler/default.nix +++ b/pkgs/applications/networking/p2p/tribler/default.nix @@ -21,7 +21,6 @@ stdenv.mkDerivation rec { pythonPath = [ libtorrentRasterbar pythonPackages.wxPython - pythonPackages.curses pythonPackages.apsw pythonPackages.twisted pythonPackages.gmpy @@ -32,7 +31,6 @@ stdenv.mkDerivation rec { pythonPackages.requests pythonPackages.setuptools pythonPackages.m2crypto - pythonPackages.sqlite3 ]; installPhase = diff --git a/pkgs/applications/networking/p2p/twister/default.nix b/pkgs/applications/networking/p2p/twister/default.nix index 43ec9a5b022a..b6f4d8b5b19c 100644 --- a/pkgs/applications/networking/p2p/twister/default.nix +++ b/pkgs/applications/networking/p2p/twister/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, autoconf, automake, libtool, pkgconfig, python +{ stdenv, fetchurl, autoconf, automake, libtool, pkgconfig, python2 , boost, db, openssl, geoip, libiconv, miniupnpc , srcOnly, fetchgit }: @@ -33,7 +33,7 @@ in stdenv.mkDerivation rec { ]; buildInputs = [ - autoconf automake libtool pkgconfig python + autoconf automake libtool pkgconfig python2 boost db openssl geoip miniupnpc libiconv ]; diff --git a/pkgs/applications/networking/pyload/default.nix b/pkgs/applications/networking/pyload/default.nix new file mode 100644 index 000000000000..f8cd1ab1d00b --- /dev/null +++ b/pkgs/applications/networking/pyload/default.nix @@ -0,0 +1,54 @@ +{ stdenv, fetchFromGitHub, fetchpatch, pythonPackages, gocr, unrar, rhino, spidermonkey }: +pythonPackages.buildPythonApplication rec { + version = "0.4.9-next"; + name = "pyLoad-" + version; + + src = fetchFromGitHub { + owner = "pyload"; + repo = "pyload"; + rev = "721ea9f089217b9cb0f2799c051116421faac081"; + sha256 = "1ad4r9slx1wgvd2fs4plfbpzi4i2l2bk0lybzsb2ncgh59m87h54"; + }; + + patches = + let + # gets merged in next release version of pyload + configParserPatch = fetchpatch { + url = "https://patch-diff.githubusercontent.com/raw/pyload/pyload/pull/2625.diff"; + sha256 = "1bisgx78kcr5c0x0i3h0ch5mykns5wx5wx7gvjj0pc71lfzlxzb9"; + }; + setupPyPatch = fetchpatch { + url = "https://patch-diff.githubusercontent.com/raw/pyload/pyload/pull/2638.diff"; + sha256 = "006g4qbl582262ariflbyfrszcx8ck2ac1cpry1f82f76p4cgf6z"; + }; + in [ configParserPatch setupPyPatch ]; + + buildInputs = [ + unrar rhino spidermonkey gocr pythonPackages.paver + ]; + + propagatedBuildInputs = with pythonPackages; [ + pycurl jinja2 beaker thrift simplejson pycrypto feedparser tkinter + beautifulsoup send2trash + ]; + + #remove this once the PR patches above are merged. Needed because githubs diff endpoint + #does not support diff -N + prePatch = '' + touch module/config/__init__.py + ''; + + preBuild = '' + paver generate_setup + ''; + + doCheck = false; + + meta = { + description = "Free and open source downloader for 1-click-hosting sites"; + homepage = https://github.com/pyload/pyload; + license = stdenv.lib.licenses.gpl3; + maintainers = [ stdenv.lib.maintainers.mahe ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/applications/networking/remote/citrix-receiver/default.nix b/pkgs/applications/networking/remote/citrix-receiver/default.nix index 4f64e947f09e..57d04e528452 100644 --- a/pkgs/applications/networking/remote/citrix-receiver/default.nix +++ b/pkgs/applications/networking/remote/citrix-receiver/default.nix @@ -8,7 +8,7 @@ , tzdata , cacert , glib -, gtk +, gtk2 , atk , gdk_pixbuf , cairo @@ -24,17 +24,17 @@ stdenv.mkDerivation rec { name = "citrix-receiver-${version}"; - version = "13.3.0"; + version = "13.4.0"; homepage = https://www.citrix.com/downloads/citrix-receiver/linux/receiver-for-linux-latest.html; prefixWithBitness = if stdenv.is64bit then "linuxx64" else "linuxx86"; src = requireFile rec { - name = "${prefixWithBitness}-${version}.344519.tar.gz"; + name = "${prefixWithBitness}-${version}.10109380.tar.gz"; sha256 = if stdenv.is64bit - then "11l0s4f1si43qlxai053ps4nks7v4bahipsmcdpnrdzq0vps17ls" - else "0sbgkb9a3ss2n08lal7qk8pmxyqbvkm7jj7l995ddjaa6jbkr3fz"; + then "133brs0sq6d0mgr19rc6ig1n9ahm3ryi23v5nrgqfh0hgxqcrrjb" + else "0r7jfl5yqv1s2npy8l9gsn0gbb82f6raa092ppkc8xy5pni5sh7l"; message = '' In order to use Citrix Receiver, you need to comply with the Citrix EULA and download the ${if stdenv.is64bit then "64-bit" else "32-bit"} binaries, .tar.gz from: @@ -56,13 +56,13 @@ stdenv.mkDerivation rec { makeWrapper busybox file - gtk + gtk2 gdk_pixbuf ]; libPath = stdenv.lib.makeLibraryPath [ glib - gtk + gtk2 atk gdk_pixbuf cairo @@ -135,7 +135,7 @@ stdenv.mkDerivation rec { makeWrapper "$ICAInstDir/wfica -icaroot $ICAInstDir" "$out/bin/wfica" \ --set ICAROOT "$ICAInstDir" \ - --set GTK_PATH "${gtk.out}/lib/gtk-2.0:${gnome3.gnome_themes_standard}/lib/gtk-2.0" \ + --set GTK_PATH "${gtk2.out}/lib/gtk-2.0:${gnome3.gnome_themes_standard}/lib/gtk-2.0" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ --set LD_PRELOAD "${libredirect}/lib/libredirect.so" \ --set LD_LIBRARY_PATH "$libPath" \ diff --git a/pkgs/applications/networking/remote/freerdp/default.nix b/pkgs/applications/networking/remote/freerdp/default.nix index cf1a8552b25e..05ec51d66814 100644 --- a/pkgs/applications/networking/remote/freerdp/default.nix +++ b/pkgs/applications/networking/remote/freerdp/default.nix @@ -62,5 +62,6 @@ stdenv.mkDerivation rec { license = stdenv.lib.licenses.free; platforms = stdenv.lib.platforms.linux; + broken = true; }; } diff --git a/pkgs/applications/networking/remote/freerdp/unstable.nix b/pkgs/applications/networking/remote/freerdp/unstable.nix index cc6ec9bd2315..5483e9420761 100644 --- a/pkgs/applications/networking/remote/freerdp/unstable.nix +++ b/pkgs/applications/networking/remote/freerdp/unstable.nix @@ -1,20 +1,24 @@ { stdenv, fetchFromGitHub, cmake, pkgconfig, openssl, zlib, libX11, libXcursor -, libXdamage, libXext, glib, alsaLib, ffmpeg, libxkbfile, libXinerama, libXv +, libXdamage, libXext, libXrender, glib, alsaLib, ffmpeg, libxkbfile, libXinerama, libXv , substituteAll , libpulseaudio ? null, cups ? null, pcsclite ? null , buildServer ? true, optimize ? true }: stdenv.mkDerivation rec { - name = "freerdp-1.2.0-beta1"; + name = "freerdp-2.0-dev"; src = fetchFromGitHub { owner = "FreeRDP"; repo = "FreeRDP"; - rev = "1.2.0-beta1+android7"; - sha256 = "08nn18jydblrif1qs92pakzd3ww7inr0i378ssn1bjp09lm1bkk0"; + rev = "1855e36179fb197e713d41c4ef93e19cf1f0be2f"; + sha256 = "1lydkh6by0sjy6dl57bzg7c11ccyp24s80pwxw9h5kmxkbw6mx5q"; }; + prePatch = '' + substituteInPlace "libfreerdp/freerdp.pc.in" --replace "Requires:" "Requires: @WINPR_PKG_CONFIG_FILENAME@" + ''; + patches = [ ] ++ stdenv.lib.optional (pcsclite != null) (substituteAll { @@ -23,7 +27,7 @@ stdenv.mkDerivation rec { }); buildInputs = [ - cmake pkgconfig openssl zlib libX11 libXcursor libXdamage libXext glib + cmake pkgconfig openssl zlib libX11 libXcursor libXdamage libXext libXrender glib alsaLib ffmpeg libxkbfile libXinerama libXv cups libpulseaudio pcsclite ]; @@ -38,7 +42,6 @@ stdenv.mkDerivation rec { ++ stdenv.lib.optional buildServer "-DWITH_SERVER=ON" ++ stdenv.lib.optional optimize "-DWITH_SSE2=ON"; - meta = with stdenv.lib; { description = "A Remote Desktop Protocol Client"; longDescription = '' @@ -51,4 +54,3 @@ stdenv.mkDerivation rec { platforms = platforms.unix; }; } - diff --git a/pkgs/applications/networking/remote/putty/default.nix b/pkgs/applications/networking/remote/putty/default.nix index 05019f833538..503632c009b0 100644 --- a/pkgs/applications/networking/remote/putty/default.nix +++ b/pkgs/applications/networking/remote/putty/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, ncurses, gtk, pkgconfig, autoconf, automake, perl, halibut, libtool }: +{ stdenv, fetchurl, ncurses, gtk2, pkgconfig, autoconf, automake, perl, halibut, libtool }: stdenv.mkDerivation rec { version = "0.67"; @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { cd unix ''; - buildInputs = [ gtk ncurses pkgconfig autoconf automake perl halibut libtool ]; + buildInputs = [ gtk2 ncurses pkgconfig autoconf automake perl halibut libtool ]; meta = with stdenv.lib; { description = "A Free Telnet/SSH Client"; diff --git a/pkgs/applications/networking/remote/remmina/default.nix b/pkgs/applications/networking/remote/remmina/default.nix index 6257c5f95ebc..ec31beb00801 100644 --- a/pkgs/applications/networking/remote/remmina/default.nix +++ b/pkgs/applications/networking/remote/remmina/default.nix @@ -1,10 +1,17 @@ -{ stdenv, fetchurl, cmake, pkgconfig, makeWrapper -, glib, gtk, gettext, libxkbfile, libgnome_keyring, libX11 -, freerdp, libssh, libgcrypt, gnutls, makeDesktopItem }: +{ stdenv, fetchFromGitHub, cmake, pkgconfig, wrapGAppsHook +, glib, gtk3, gettext, libxkbfile, libgnome_keyring, libX11 +, freerdp, libssh, libgcrypt, gnutls, makeDesktopItem +, pcre, webkitgtk, libdbusmenu-gtk3, libappindicator-gtk3 +, libvncserver, libpthreadstubs, libXdmcp, libxkbcommon +, libsecret, spice_protocol, spice_gtk, epoxy, at_spi2_core +, openssl, gsettings_desktop_schemas +# The themes here are soft dependencies; only icons are missing without them. +, hicolor_icon_theme, adwaita-icon-theme +}: let - version = "1.0.0"; - + version = "1.2.0-rcgit.15"; + desktopItem = makeDesktopItem { name = "remmina"; desktopName = "Remmina"; @@ -15,30 +22,51 @@ let categories = "GTK;GNOME;X-GNOME-NetworkSettings;Network;"; }; + # Latest release of remmina refers to thing that aren't yet in + # a FreeRDP release so we need to build one from git source + # See also https://github.com/FreeRDP/Remmina/pull/731 + # Remove when FreeRDP release catches up with this commit + freerdp_git = stdenv.lib.overrideDerivation freerdp (args: { + name = "freerdp-git-2016-09-30"; + src = fetchFromGitHub { + owner = "FreeRDP"; + repo = "FreeRDP"; + rev = "dbb353db92e7a5cb0be3c73aa950fb1113e627ec"; + sha256 = "1nhm4v6z9var9hasp4bkmhvlrksbdizx95swx19shizfc82s9g4y"; + }; + }); + in stdenv.mkDerivation { name = "remmina-${version}"; - src = fetchurl { - url = "https://github.com/downloads/FreeRDP/Remmina/Remmina-${version}.tar.gz"; - sha256 = "7cd0d2d6adbd96c7139da8c4bfc4cf4821e1fa97242bb9cc9db32a53df289731"; + src = fetchFromGitHub { + owner = "FreeRDP"; + repo = "Remmina"; + rev = "v${version}"; + sha256 = "07lj6a7x9cqcff18pwfkx8c8iml015zp6sq29dfcxpfg4ai578h0"; }; - buildInputs = [ cmake pkgconfig makeWrapper - glib gtk gettext libxkbfile libgnome_keyring libX11 - freerdp libssh libgcrypt gnutls ]; + buildInputs = [ cmake pkgconfig wrapGAppsHook gsettings_desktop_schemas + glib gtk3 gettext libxkbfile libgnome_keyring libX11 + freerdp_git libssh libgcrypt gnutls + pcre webkitgtk libdbusmenu-gtk3 libappindicator-gtk3 + libvncserver libpthreadstubs libXdmcp libxkbcommon + libsecret spice_protocol spice_gtk epoxy at_spi2_core + openssl hicolor_icon_theme adwaita-icon-theme ]; - cmakeFlags = "-DWITH_VTE=OFF -DWITH_TELEPATHY=OFF -DWITH_AVAHI=OFF"; + cmakeFlags = "-DWITH_VTE=OFF -DWITH_TELEPATHY=OFF -DWITH_AVAHI=OFF -DWINPR_INCLUDE_DIR=${freerdp_git}/include/winpr2"; - patches = [ ./lgthread.patch ]; + preFixup = '' + gappsWrapperArgs+=( + --prefix LD_LIBRARY_PATH : "${libX11.out}/lib" + ) + ''; postInstall = '' mkdir -pv $out/share/applications - mkdir -pv $out/share/icons cp ${desktopItem}/share/applications/* $out/share/applications - cp -r $out/share/remmina/icons/* $out/share/icons - wrapProgram $out/bin/remmina --prefix LD_LIBRARY_PATH : "${libX11.out}/lib" ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/networking/remote/remmina/lgthread.patch b/pkgs/applications/networking/remote/remmina/lgthread.patch deleted file mode 100644 index 2d8e60f75726..000000000000 --- a/pkgs/applications/networking/remote/remmina/lgthread.patch +++ /dev/null @@ -1,16 +0,0 @@ -Fix [undefined reference to `g_thread_init'] as suggested by -http://ragnermagalhaes.blogspot.ru/2007/09/undefined-reference-to-gthreadinit.html - -diff -ru FreeRDP-Remmina-356c033.orig/remmina/CMakeLists.txt FreeRDP-Remmina-356c033/remmina/CMakeLists.txt ---- FreeRDP-Remmina-356c033.orig/remmina/CMakeLists.txt 2013-11-05 12:43:27.660276912 +0400 -+++ FreeRDP-Remmina-356c033/remmina/CMakeLists.txt 2013-11-05 12:53:39.607018349 +0400 -@@ -132,6 +132,8 @@ - endif() - endif() - -+set( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lgthread-2.0" ) -+ - add_subdirectory(po) - add_subdirectory(icons) - add_subdirectory(desktop) - diff --git a/pkgs/applications/networking/remote/teamviewer/default.nix b/pkgs/applications/networking/remote/teamviewer/default.nix index be685118e1f0..288fa4383610 100644 --- a/pkgs/applications/networking/remote/teamviewer/default.nix +++ b/pkgs/applications/networking/remote/teamviewer/default.nix @@ -16,13 +16,13 @@ in stdenv.mkDerivation rec { name = "teamviewer-${version}"; - version = "11.0.57095"; + version = "12.0.71510"; src = fetchurl { # There is a 64-bit package, but it has no differences apart from Debian dependencies. # Generic versioned packages (teamviewer_${version}_i386.tar.xz) are not available for some reason. url = "http://download.teamviewer.com/download/teamviewer_${version}_i386.deb"; - sha256 = "0gdqy6b3np8ndlrq5cwgsys6ad529904133za51r20cj528n7rx3"; + sha256 = "0f2qc2rpxk7zsyfxlsfr5gwbs9vhnzc3z7ib677pnr99bz06hbqp"; }; unpackPhase = '' @@ -41,7 +41,7 @@ stdenv.mkDerivation rec { ln -s $out/share/teamviewer/tv_bin/script/teamviewer $out/bin ln -s $out/share/teamviewer/tv_bin/teamviewerd $out/bin - ln -s $out/share/teamviewer/tv_bin/desktop/teamviewer-teamviewer*.desktop $out/share/applications + ln -s $out/share/teamviewer/tv_bin/desktop/com.teamviewer.*.desktop $out/share/applications ln -s /var/lib/teamviewer $out/share/teamviewer/config ln -s /var/log/teamviewer $out/share/teamviewer/logfiles ln -s ${xdg_utils}/bin $out/share/teamviewer/tv_bin/xdg-utils @@ -55,7 +55,7 @@ stdenv.mkDerivation rec { sed -i "/TV_LD64_PATH=.*/d" script/tvw_config ''} - sed -i "s,/opt/teamviewer,$out/share/teamviewer,g" desktop/teamviewer-*.desktop + sed -i "s,/opt/teamviewer,$out/share/teamviewer,g" desktop/com.teamviewer.*.desktop for i in teamviewer-config teamviewerd TeamViewer_Desktop TVGuiDelegate TVGuiSlave.32 wine/bin/*; do echo "patching $i" diff --git a/pkgs/applications/networking/siproxd/cheaders.patch b/pkgs/applications/networking/siproxd/cheaders.patch index 53c4813cc335..69a3e3287371 100644 --- a/pkgs/applications/networking/siproxd/cheaders.patch +++ b/pkgs/applications/networking/siproxd/cheaders.patch @@ -3,11 +3,12 @@ index 1904ab3..cb3624d 100644 --- a/src/dejitter.c +++ b/src/dejitter.c @@ -22,6 +22,8 @@ - + #include - + +#include +#include + #include #include #include #include diff --git a/pkgs/applications/networking/siproxd/default.nix b/pkgs/applications/networking/siproxd/default.nix index 69ebab78f947..14ed2587e636 100644 --- a/pkgs/applications/networking/siproxd/default.nix +++ b/pkgs/applications/networking/siproxd/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, libosip }: stdenv.mkDerivation rec { - name = "siproxd-0.8.1"; - + name = "siproxd-0.8.2"; + src = fetchurl { url = "mirror://sourceforge/siproxd/${name}.tar.gz"; - sha256 = "1bcxl0h5nc28m8lcdhpbl5yc93w98xm53mfzrf04knsvmx7z0bfz"; + sha256 = "1l6cyxxhra825jiiw9npa7jrbfgbyfpk4966cqkrw66cn28y8v2j"; }; patches = [ ./cheaders.patch ]; diff --git a/pkgs/applications/networking/sniffers/etherape/default.nix b/pkgs/applications/networking/sniffers/etherape/default.nix index f5104665562d..5bc5bafe7db8 100644 --- a/pkgs/applications/networking/sniffers/etherape/default.nix +++ b/pkgs/applications/networking/sniffers/etherape/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, libtool, gtk, libpcap, libglade, libgnome, libgnomeui +{ stdenv, fetchurl, pkgconfig, libtool, gtk2, libpcap, libglade, libgnome, libgnomeui , gnomedocutils, scrollkeeper, libxslt }: stdenv.mkDerivation rec { @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--disable-scrollkeeper" ]; buildInputs = [ - pkgconfig libtool gtk libpcap libglade libgnome libgnomeui gnomedocutils + pkgconfig libtool gtk2 libpcap libglade libgnome libgnomeui gnomedocutils scrollkeeper libxslt ]; diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix index 32bd9e104677..637f2cdca9cb 100644 --- a/pkgs/applications/networking/sniffers/wireshark/default.nix +++ b/pkgs/applications/networking/sniffers/wireshark/default.nix @@ -1,17 +1,18 @@ { stdenv, fetchurl, pkgconfig, perl, flex, bison, libpcap, libnl, c-ares , gnutls, libgcrypt, geoip, openssl, lua5, makeDesktopItem, python, libcap, glib , zlib -, withGtk ? false, gtk ? null, pango ? null, cairo ? null, gdk_pixbuf ? null +, withGtk ? false, gtk2 ? null, pango ? null, cairo ? null, gdk_pixbuf ? null , withQt ? false, qt4 ? null +, ApplicationServices, SystemConfiguration, gmp }: -assert withGtk -> !withQt && gtk != null; +assert withGtk -> !withQt && gtk2 != null; assert withQt -> !withGtk && qt4 != null; with stdenv.lib; let - version = "2.0.5"; + version = "2.2.3"; variant = if withGtk then "gtk" else if withQt then "qt" else "cli"; in @@ -20,14 +21,16 @@ stdenv.mkDerivation { src = fetchurl { url = "http://www.wireshark.org/download/src/all-versions/wireshark-${version}.tar.bz2"; - sha256 = "02xi3fz8blcz9cf75rs11g7bijk06wm45vpgnksp72c2609j9q0c"; + sha256 = "0fsrvl6sp772g2q2j24h10h9lfda6q67x7wahjjm8849i2gciflp"; }; buildInputs = [ bison flex perl pkgconfig libpcap lua5 openssl libgcrypt gnutls - geoip libnl c-ares python libcap glib zlib + geoip c-ares python glib zlib ] ++ optional withQt qt4 - ++ (optionals withGtk [gtk pango cairo gdk_pixbuf]); + ++ (optionals withGtk [gtk2 pango cairo gdk_pixbuf]) + ++ optionals stdenv.isLinux [ libcap libnl ] + ++ optionals stdenv.isDarwin [ SystemConfiguration ApplicationServices gmp ]; patches = [ ./wireshark-lookup-dumpcap-in-path.patch ]; @@ -68,7 +71,7 @@ stdenv.mkDerivation { experts. It runs on UNIX, OS X and Windows. ''; - platforms = stdenv.lib.platforms.linux; + platforms = stdenv.lib.platforms.unix; maintainers = with stdenv.lib.maintainers; [ bjornfor fpletz ]; }; } diff --git a/pkgs/applications/networking/sync/acd_cli/default.nix b/pkgs/applications/networking/sync/acd_cli/default.nix new file mode 100644 index 000000000000..bb767da94d06 --- /dev/null +++ b/pkgs/applications/networking/sync/acd_cli/default.nix @@ -0,0 +1,41 @@ +{ stdenv, fetchFromGitHub, buildPythonApplication, fuse +, appdirs, colorama, dateutil, requests2, requests_toolbelt +, fusepy, sqlalchemy }: + +buildPythonApplication rec { + name = pname + "-" + version; + pname = "acd_cli"; + version = "0.3.2"; + + doCheck = false; + + src = fetchFromGitHub { + owner = "yadayada"; + repo = pname; + rev = version; + sha256 = "0a0fr632l24a3jmgla3b1vcm50ayfa9hdbp677ch1chwj5dq4zfp"; + }; + + propagatedBuildInputs = [ appdirs colorama dateutil fusepy requests2 + requests_toolbelt sqlalchemy ]; + + makeWrapperArgs = [ "--prefix LIBFUSE_PATH : ${fuse}/lib/libfuse.so" ]; + + postFixup = '' + function lnOverBin() { + rm -f $out/bin/{$2,.$2-wrapped} + ln -s $out/bin/$1 $out/bin/$2 + } + lnOverBin acd_cli.py acd-cli + lnOverBin acd_cli.py acd_cli + lnOverBin acd_cli.py acdcli + ''; + + meta = with stdenv.lib; { + description = "A command line interface and FUSE filesystem for Amazon Cloud Drive"; + homepage = https://github.com/yadayada/acd_cli; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = with maintainers; [ edwtjo ]; + }; +} diff --git a/pkgs/applications/networking/sync/backintime/common.nix b/pkgs/applications/networking/sync/backintime/common.nix index c1907c44e584..3190d999a912 100644 --- a/pkgs/applications/networking/sync/backintime/common.nix +++ b/pkgs/applications/networking/sync/backintime/common.nix @@ -1,4 +1,4 @@ -{stdenv, fetchFromGitHub, makeWrapper, gettext, python3Packages, rsync, cron, openssh, sshfsFuse, encfs }: +{stdenv, fetchFromGitHub, makeWrapper, gettext, python3Packages, rsync, cron, openssh, sshfs-fuse, encfs }: let inherit (python3Packages) python dbus-python keyring; @@ -14,7 +14,7 @@ in stdenv.mkDerivation rec { sha256 = "0n3x48wa8aa7i8fff85h3b5h3xpabk51ld0ymy3pkqh0krfgs59a"; }; - buildInputs = [ makeWrapper gettext python dbus-python keyring openssh cron rsync sshfsFuse encfs ]; + buildInputs = [ makeWrapper gettext python dbus-python keyring openssh cron rsync sshfs-fuse encfs ]; installFlags = [ "DEST=$(out)" ]; diff --git a/pkgs/applications/networking/sync/rclone/default.nix b/pkgs/applications/networking/sync/rclone/default.nix new file mode 100644 index 000000000000..adbadba411c9 --- /dev/null +++ b/pkgs/applications/networking/sync/rclone/default.nix @@ -0,0 +1,23 @@ +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + name = "rclone-${version}"; + version = "1.35"; + + goPackagePath = "github.com/ncw/rclone"; + + src = fetchFromGitHub { + owner = "ncw"; + repo = "rclone"; + rev = "v${version}"; + sha256 = "15dmppb7qgr3vg76dsv770l51lmsl8n8k3rvbnhhks5a2cz0kf2i"; + }; + + meta = with stdenv.lib; { + description = "Command line program to sync files and directories to and from major cloud storage"; + homepage = "http://rclone.org"; + license = licenses.mit; + maintainers = with maintainers; [ danielfullmer ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix index 276550e3afd1..8e568798df81 100644 --- a/pkgs/applications/networking/syncthing/default.nix +++ b/pkgs/applications/networking/syncthing/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchFromGitHub, go }: +{ stdenv, lib, fetchFromGitHub, go, pkgs }: stdenv.mkDerivation rec { - version = "0.14.5"; + version = "0.14.18"; name = "syncthing-${version}"; src = fetchFromGitHub { - owner = "syncthing"; - repo = "syncthing"; - rev = "v${version}"; - sha256 = "172ca3xgc3dp9yiqm3fmq696615jnclgfg521sh5mk78na1r4mgz"; + owner = "syncthing"; + repo = "syncthing"; + rev = "v${version}"; + sha256 = "099r1n9awznv17ac1fm4ff6az40bvk6xxwaw8x8fx7ikqi1wv8vp"; }; buildInputs = [ go ]; @@ -25,15 +25,28 @@ stdenv.mkDerivation rec { ''; installPhase = '' - mkdir -p $out/bin + mkdir -p $out/bin $out/etc/systemd/{system,user} + cp bin/* $out/bin + '' + lib.optionalString (stdenv.isLinux) '' + substitute etc/linux-systemd/system/syncthing-resume.service \ + $out/etc/systemd/system/syncthing-resume.service \ + --replace /usr/bin/pkill ${pkgs.procps}/bin/pkill + + substitute etc/linux-systemd/system/syncthing@.service \ + $out/etc/systemd/system/syncthing@.service \ + --replace /usr/bin/syncthing $out/bin/syncthing + + substitute etc/linux-systemd/user/syncthing.service \ + $out/etc/systemd/user/syncthing.service \ + --replace /usr/bin/syncthing $out/bin/syncthing ''; - meta = { + meta = with stdenv.lib; { homepage = https://www.syncthing.net/; description = "Open Source Continuous File Synchronization"; - license = stdenv.lib.licenses.mpl20; - maintainers = with stdenv.lib.maintainers; [ pshendry joko peterhoeg ]; - platforms = with stdenv.lib.platforms; linux ++ freebsd ++ openbsd ++ netbsd; + license = licenses.mpl20; + maintainers = with maintainers; [ pshendry joko peterhoeg ]; + platforms = platforms.unix; }; } diff --git a/pkgs/applications/networking/syncthing/inotify-deps.json b/pkgs/applications/networking/syncthing/inotify-deps.json deleted file mode 100644 index e0cc9680e228..000000000000 --- a/pkgs/applications/networking/syncthing/inotify-deps.json +++ /dev/null @@ -1,38 +0,0 @@ -[ - { - "goPackagePath": "github.com/cenkalti/backoff", - "fetch": { - "type": "git", - "url": "https://github.com/cenkalti/backoff", - "rev": "cdf48bbc1eb78d1349cbda326a4a037f7ba565c6", - "sha256": "0dg7hvpv0a1db8qriygz1jqgp16v8k505b197x9902z7z6lldgbh" - } - }, - { - "goPackagePath": "github.com/gobwas/glob", - "fetch": { - "type": "git", - "url": "https://github.com/gobwas/glob", - "rev": "ce6abff51712df5da11095fb41dd4b0353559797", - "sha256": "1gxv4nnn3f9hw1ncdmhsr8fbfdma2h713ima7b4k28gxydfa8i9m" - } - }, - { - "goPackagePath": "github.com/syncthing/syncthing", - "fetch": { - "type": "git", - "url": "https://github.com/syncthing/syncthing", - "rev": "66a506e72b9dcc749d09a03cb120ba86bbf3d7f8", - "sha256": "0is4f1r3im2bbmbca9fafzxffikxaf86vd6f851831fk5wi4pzw9" - } - }, - { - "goPackagePath": "github.com/zillode/notify", - "fetch": { - "type": "git", - "url": "https://github.com/zillode/notify", - "rev": "2da5cc9881e8f16bab76b63129c7781898f97d16", - "sha256": "0qwsj730p5mivp2xw9zr5vq8xr7rr9cxjmi564wgmsn7dcvqnr40" - } - } -] \ No newline at end of file diff --git a/pkgs/applications/networking/syncthing/inotify-deps.nix b/pkgs/applications/networking/syncthing/inotify-deps.nix new file mode 100644 index 000000000000..7b0be65c8afa --- /dev/null +++ b/pkgs/applications/networking/syncthing/inotify-deps.nix @@ -0,0 +1,29 @@ +[ + { + goPackagePath = "github.com/cenkalti/backoff"; + fetch = { + type = "git"; + url = "https://github.com/cenkalti/backoff"; + rev = "b02f2bbce11d7ea6b97f282ef1771b0fe2f65ef3"; + sha256 = "0lhcll9pzcxbbm9sdsijvcvdqc4lrsgbyw0q1xly0pnz556v6pyc"; + }; + } + { + goPackagePath = "github.com/syncthing/syncthing"; + fetch = { + type = "git"; + url = "https://github.com/syncthing/syncthing"; + rev = "7fba8cf759a3b48cfc1507a8c32355865500a571"; + sha256 = "1s8l528fqq661ks70cna5cx1bawpv7szcx88z33bs4gkaq2fbws5"; + }; + } + { + goPackagePath = "github.com/zillode/notify"; + fetch = { + type = "git"; + url = "https://github.com/zillode/notify"; + rev = "df33c1a773b462f936a149c36696c018c047eaa9"; + sha256 = "0ncfqnj5kvbyw630xsxqkxy3y6jv5hp89fqi9mzra3lr4zckiv3s"; + }; + } +] diff --git a/pkgs/applications/networking/syncthing/inotify.nix b/pkgs/applications/networking/syncthing/inotify.nix index 4f001794e86d..8d9a813f961c 100644 --- a/pkgs/applications/networking/syncthing/inotify.nix +++ b/pkgs/applications/networking/syncthing/inotify.nix @@ -2,7 +2,7 @@ buildGoPackage rec { name = "syncthing-inotify-${version}"; - version = "0.8.3"; + version = "0.8.4"; goPackagePath = "github.com/syncthing/syncthing-inotify"; @@ -10,17 +10,30 @@ buildGoPackage rec { owner = "syncthing"; repo = "syncthing-inotify"; rev = "v${version}"; - sha256 = "194pbz9zzxaz0vri93czpbsxl85znlba2gy61mjgyr0dm2h4s6yw"; + sha256 = "0iix4gd5zh2ydn429jmcf0pr1pxxd1wq1vp5ciq9bavhvnim9clw"; }; - goDeps = ./inotify-deps.json; + goDeps = ./inotify-deps.nix; - meta = { + postInstall = '' + mkdir -p $bin/etc/systemd/{system,user} + + substitute $src/etc/linux-systemd/system/syncthing-inotify@.service \ + $bin/etc/systemd/system/syncthing-inotify@.service \ + --replace /usr/bin/syncthing-inotify $bin/bin/syncthing-inotify + + substitute $src/etc/linux-systemd/user/syncthing-inotify.service \ + $bin/etc/systemd/user/syncthing-inotify.service \ + --replace /usr/bin/syncthing-inotify $bin/bin/syncthing-inotify + '' + stdenv.lib.optionalString stdenv.isDarwin '' + install_name_tool -delete_rpath $out/lib -add_rpath $bin $bin/bin/syncthing-inotify + ''; + + meta = with stdenv.lib; { homepage = https://github.com/syncthing/syncthing-inotify; description = "File watcher intended for use with Syncthing"; - license = stdenv.lib.licenses.mpl20; - maintainers = with stdenv.lib.maintainers; [ joko ]; - platforms = with stdenv.lib.platforms; linux ++ freebsd ++ openbsd ++ netbsd; + license = licenses.mpl20; + maintainers = with maintainers; [ joko peterhoeg ]; + platforms = platforms.unix; }; - } diff --git a/pkgs/applications/networking/syncthing012/default.nix b/pkgs/applications/networking/syncthing012/default.nix index 9f436d21bc3d..5735dd68bcd2 100644 --- a/pkgs/applications/networking/syncthing012/default.nix +++ b/pkgs/applications/networking/syncthing012/default.nix @@ -16,7 +16,7 @@ buildGoPackage rec { sha256 = "0g4sj509h45iq6g7b0pl88rbbn7c7s01774yjc6bl376x1xrl6a1"; }; - goDeps = ./deps.json; + goDeps = ./deps.nix; postPatch = '' # Mostly a cosmetic change diff --git a/pkgs/applications/networking/syncthing012/deps.json b/pkgs/applications/networking/syncthing012/deps.json deleted file mode 100644 index b21f2ef6a168..000000000000 --- a/pkgs/applications/networking/syncthing012/deps.json +++ /dev/null @@ -1,128 +0,0 @@ -[ - { - "goPackagePath": "golang.org/x/crypto", - "fetch": { - "type": "git", - "url": "https://go.googlesource.com/crypto", - "rev": "575fdbe86e5dd89229707ebec0575ce7d088a4a6", - "sha256": "1kgv1mkw9y404pk3lcwbs0vgl133mwyp294i18jg9hp10s5d56xa" - } - }, - { - "goPackagePath": "golang.org/x/net", - "fetch": { - "type": "git", - "url": "https://go.googlesource.com/net", - "rev": "62ac18b461605b4be188bbc7300e9aa2bc836cd4", - "sha256": "0lwwvbbwbf3yshxkfhn6z20gd45dkvnmw2ms36diiy34krgy402p" - } - }, - { - "goPackagePath": "github.com/rcrowley/go-metrics", - "fetch": { - "type": "git", - "url": "https://github.com/rcrowley/go-metrics", - "rev": "1ce93efbc8f9c568886b2ef85ce305b2217b3de3", - "sha256": "06gg72krlmd0z3zdq6s716blrga95pyj8dc2f2psfbknbkyrkfqa" - } - }, - { - "goPackagePath": "github.com/kardianos/osext", - "fetch": { - "type": "git", - "url": "https://github.com/kardianos/osext", - "rev": "29ae4ffbc9a6fe9fb2bc5029050ce6996ea1d3bc", - "sha256": "1mawalaz84i16njkz6f9fd5jxhcbxkbsjnav3cmqq2dncv2hyv8a" - } - }, - { - "goPackagePath": "github.com/bkaradzic/go-lz4", - "fetch": { - "type": "git", - "url": "https://github.com/bkaradzic/go-lz4", - "rev": "74ddf82598bc4745b965729e9c6a463bedd33049", - "sha256": "1vdid8v0c2v2qhrg9rzn3l7ya1h34jirrxfnir7gv7w6s4ivdvc1" - } - }, - { - "goPackagePath": "github.com/calmh/luhn", - "fetch": { - "type": "git", - "url": "https://github.com/calmh/luhn", - "rev": "0c8388ff95fa92d4094011e5a04fc99dea3d1632", - "sha256": "1hfj1lx7wdpifn16zqrl4xml6cj5gxbn6hfz1f46g2a6bdf0gcvs" - } - }, - { - "goPackagePath": "golang.org/x/text", - "fetch": { - "type": "git", - "url": "https://go.googlesource.com/text", - "rev": "5eb8d4684c4796dd36c74f6452f2c0fa6c79597e", - "sha256": "1cjwm2pv42dbfqc6ylr7jmma902zg4gng5aarqrbjf1k2nf2vs14" - } - }, - { - "goPackagePath": "github.com/vitrun/qart", - "fetch": { - "type": "git", - "url": "https://github.com/vitrun/qart", - "rev": "ccb109cf25f0cd24474da73b9fee4e7a3e8a8ce0", - "sha256": "0bhp768b8ha6f25dmhwn9q8m2lkbn4qnjf8n7pizk25jn5zjdvc8" - } - }, - { - "goPackagePath": "github.com/calmh/du", - "fetch": { - "type": "git", - "url": "https://github.com/calmh/du", - "rev": "3c0690cca16228b97741327b1b6781397afbdb24", - "sha256": "1mv6mkbslfc8giv47kyl97ny0igb3l7jya5hc75sm54xi6g205wa" - } - }, - { - "goPackagePath": "github.com/calmh/xdr", - "fetch": { - "type": "git", - "url": "https://github.com/calmh/xdr", - "rev": "e467b5aeb65ca8516fb3925c84991bf1d7cc935e", - "sha256": "1bi4b2xkjzcr0vq1wxz14i9943k71sj092dam0gdmr9yvdrg0nra" - } - }, - { - "goPackagePath": "github.com/juju/ratelimit", - "fetch": { - "type": "git", - "url": "https://github.com/juju/ratelimit", - "rev": "772f5c38e468398c4511514f4f6aa9a4185bc0a0", - "sha256": "02rs61ay6sq499lxxszjsrxp33m6zklds1xrmnr5fk73vpqfa28p" - } - }, - { - "goPackagePath": "github.com/thejerf/suture", - "fetch": { - "type": "git", - "url": "https://github.com/thejerf/suture", - "rev": "99c1f2d613756768fc4299acd9dc621e11ed3fd7", - "sha256": "094ksr2nlxhvxr58nbnzzk0prjskb21r86jmxqjr3rwg4rkwn6d4" - } - }, - { - "goPackagePath": "github.com/golang/snappy", - "fetch": { - "type": "git", - "url": "https://github.com/golang/snappy", - "rev": "723cc1e459b8eea2dea4583200fd60757d40097a", - "sha256": "0bprq0qb46f5511b5scrdqqzskqqi2z8b4yh3216rv0n1crx536h" - } - }, - { - "goPackagePath": "github.com/syndtr/goleveldb", - "fetch": { - "type": "git", - "url": "https://github.com/syndtr/goleveldb", - "rev": "1a9d62f03ea92815b46fcaab357cfd4df264b1a0", - "sha256": "04ywbif36fiah4fw0x2abr5q3p4fdhi6q57d5icc2mz03q889vhb" - } - } -] diff --git a/pkgs/applications/networking/syncthing012/deps.nix b/pkgs/applications/networking/syncthing012/deps.nix new file mode 100644 index 000000000000..44e18c2f606d --- /dev/null +++ b/pkgs/applications/networking/syncthing012/deps.nix @@ -0,0 +1,128 @@ +[ + { + goPackagePath = "golang.org/x/crypto"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/crypto"; + rev = "575fdbe86e5dd89229707ebec0575ce7d088a4a6"; + sha256 = "1kgv1mkw9y404pk3lcwbs0vgl133mwyp294i18jg9hp10s5d56xa"; + }; + } + { + goPackagePath = "golang.org/x/net"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/net"; + rev = "62ac18b461605b4be188bbc7300e9aa2bc836cd4"; + sha256 = "0lwwvbbwbf3yshxkfhn6z20gd45dkvnmw2ms36diiy34krgy402p"; + }; + } + { + goPackagePath = "github.com/rcrowley/go-metrics"; + fetch = { + type = "git"; + url = "https://github.com/rcrowley/go-metrics"; + rev = "1ce93efbc8f9c568886b2ef85ce305b2217b3de3"; + sha256 = "06gg72krlmd0z3zdq6s716blrga95pyj8dc2f2psfbknbkyrkfqa"; + }; + } + { + goPackagePath = "github.com/kardianos/osext"; + fetch = { + type = "git"; + url = "https://github.com/kardianos/osext"; + rev = "29ae4ffbc9a6fe9fb2bc5029050ce6996ea1d3bc"; + sha256 = "1mawalaz84i16njkz6f9fd5jxhcbxkbsjnav3cmqq2dncv2hyv8a"; + }; + } + { + goPackagePath = "github.com/bkaradzic/go-lz4"; + fetch = { + type = "git"; + url = "https://github.com/bkaradzic/go-lz4"; + rev = "74ddf82598bc4745b965729e9c6a463bedd33049"; + sha256 = "1vdid8v0c2v2qhrg9rzn3l7ya1h34jirrxfnir7gv7w6s4ivdvc1"; + }; + } + { + goPackagePath = "github.com/calmh/luhn"; + fetch = { + type = "git"; + url = "https://github.com/calmh/luhn"; + rev = "0c8388ff95fa92d4094011e5a04fc99dea3d1632"; + sha256 = "1hfj1lx7wdpifn16zqrl4xml6cj5gxbn6hfz1f46g2a6bdf0gcvs"; + }; + } + { + goPackagePath = "golang.org/x/text"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/text"; + rev = "5eb8d4684c4796dd36c74f6452f2c0fa6c79597e"; + sha256 = "1cjwm2pv42dbfqc6ylr7jmma902zg4gng5aarqrbjf1k2nf2vs14"; + }; + } + { + goPackagePath = "github.com/vitrun/qart"; + fetch = { + type = "git"; + url = "https://github.com/vitrun/qart"; + rev = "ccb109cf25f0cd24474da73b9fee4e7a3e8a8ce0"; + sha256 = "0bhp768b8ha6f25dmhwn9q8m2lkbn4qnjf8n7pizk25jn5zjdvc8"; + }; + } + { + goPackagePath = "github.com/calmh/du"; + fetch = { + type = "git"; + url = "https://github.com/calmh/du"; + rev = "3c0690cca16228b97741327b1b6781397afbdb24"; + sha256 = "1mv6mkbslfc8giv47kyl97ny0igb3l7jya5hc75sm54xi6g205wa"; + }; + } + { + goPackagePath = "github.com/calmh/xdr"; + fetch = { + type = "git"; + url = "https://github.com/calmh/xdr"; + rev = "e467b5aeb65ca8516fb3925c84991bf1d7cc935e"; + sha256 = "1bi4b2xkjzcr0vq1wxz14i9943k71sj092dam0gdmr9yvdrg0nra"; + }; + } + { + goPackagePath = "github.com/juju/ratelimit"; + fetch = { + type = "git"; + url = "https://github.com/juju/ratelimit"; + rev = "772f5c38e468398c4511514f4f6aa9a4185bc0a0"; + sha256 = "02rs61ay6sq499lxxszjsrxp33m6zklds1xrmnr5fk73vpqfa28p"; + }; + } + { + goPackagePath = "github.com/thejerf/suture"; + fetch = { + type = "git"; + url = "https://github.com/thejerf/suture"; + rev = "99c1f2d613756768fc4299acd9dc621e11ed3fd7"; + sha256 = "094ksr2nlxhvxr58nbnzzk0prjskb21r86jmxqjr3rwg4rkwn6d4"; + }; + } + { + goPackagePath = "github.com/golang/snappy"; + fetch = { + type = "git"; + url = "https://github.com/golang/snappy"; + rev = "723cc1e459b8eea2dea4583200fd60757d40097a"; + sha256 = "0bprq0qb46f5511b5scrdqqzskqqi2z8b4yh3216rv0n1crx536h"; + }; + } + { + goPackagePath = "github.com/syndtr/goleveldb"; + fetch = { + type = "git"; + url = "https://github.com/syndtr/goleveldb"; + rev = "1a9d62f03ea92815b46fcaab357cfd4df264b1a0"; + sha256 = "04ywbif36fiah4fw0x2abr5q3p4fdhi6q57d5icc2mz03q889vhb"; + }; + } +] diff --git a/pkgs/applications/networking/tcpkali/default.nix b/pkgs/applications/networking/tcpkali/default.nix new file mode 100644 index 000000000000..d28c162874ec --- /dev/null +++ b/pkgs/applications/networking/tcpkali/default.nix @@ -0,0 +1,21 @@ +{stdenv, autoreconfHook, fetchFromGitHub, bison}: + +let version = "0.9"; in + +stdenv.mkDerivation rec { + name = "tcpkali-${version}"; + src = fetchFromGitHub { + owner = "machinezone"; + repo = "tcpkali"; + rev = "v${version}"; + sha256 = "03cbmnc60wkd7f4bapn5cbm3c4zas2l0znsbpci2mn8ms8agif82"; + }; + buildInputs = [autoreconfHook bison]; + meta = { + description = "High performance TCP and WebSocket load generator and sink"; + license = stdenv.lib.licenses.bsd2; + inherit (src.meta) homepage; + platforms = stdenv.lib.platforms.linux; + maintainers = with stdenv.lib.maintainers; [ ethercrow ]; + }; +} diff --git a/pkgs/applications/networking/znc/default.nix b/pkgs/applications/networking/znc/default.nix index 73ab0baca25f..bc75fb5f9a48 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.2"; + name = "znc-1.6.3"; src = fetchurl { url = "http://znc.in/releases/${name}.tar.gz"; - sha256 = "14q5dyr5zg99hm6j6g1gilcn1zf7dskhxfpz3bnkyhy6q0kpgwgf"; + sha256 = "09xqi5fs40x6nj9gq99bnw1a7saq96bvqxknxx0ilq7yfvg4c733"; }; buildInputs = [ openssl pkgconfig ] @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Advanced IRC bouncer"; homepage = http://wiki.znc.in/ZNC; - maintainers = with maintainers; [ viric ]; + maintainers = with maintainers; [ viric schneefux ]; license = licenses.asl20; platforms = platforms.unix; }; diff --git a/pkgs/applications/networking/znc/modules.nix b/pkgs/applications/networking/znc/modules.nix index 492850bda1cd..2923a30b2ef0 100644 --- a/pkgs/applications/networking/znc/modules.nix +++ b/pkgs/applications/networking/znc/modules.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fetchgit, znc }: +{ stdenv, fetchurl, fetchFromGitHub, znc }: let zncDerivation = a@{ @@ -20,8 +20,9 @@ in rec { version = "git-2015-08-27"; module_name = "clientbuffer"; - src = fetchgit { - url = meta.repositories.git; + src = fetchFromGitHub { + owner = "jpnurmi"; + repo = "znc-clientbuffer"; rev = "fe0f368e1fcab2b89d5c94209822d9b616cea840"; sha256 = "1s8bqqlwy9kmcpmavil558rd2b0wigjlzp2lpqpcqrd1cg25g4a7"; }; @@ -29,7 +30,6 @@ in rec { meta = with stdenv.lib; { description = "ZNC module for client specific buffers"; homepage = https://github.com/jpnurmi/znc-clientbuffer; - repositories.git = https://github.com/jpnurmi/znc-clientbuffer.git; license = licenses.asl20; maintainers = with maintainers; [ hrdinka ]; }; @@ -40,8 +40,10 @@ in rec { version = "git-2014-10-10"; module_name = "fish"; - src = fetchgit { - url = meta.repositories.git; + src = fetchFromGitHub { + # this fork works with ZNC 1.6 + owner = "jarrydpage"; + repo = "znc-fish"; rev = "9c580e018a1a08374e814fc06f551281cff827de"; sha256 = "0yvs0jkwwp18qxqvw1dvir91ggczz56ka00k0zlsb81csdi8xfvl"; }; @@ -49,8 +51,6 @@ in rec { meta = { description = "ZNC FiSH module"; homepage = https://github.com/dctrwatson/znc-fish; - # this fork works with ZNC 1.6 - repositories.git = https://github.com/jarrydpage/znc-fish.git; maintainers = [ stdenv.lib.maintainers.offline ]; }; }; @@ -60,8 +60,9 @@ in rec { version = "git-2015-08-04"; module_name = "playback"; - src = fetchgit { - url = meta.repositories.git; + src = fetchFromGitHub { + owner = "jpnurmi"; + repo = "znc-playback"; rev = "8691abf75becc1f3d7b5bb5ad68dad17cd21863b"; sha256 = "0mgfajljy035051b2sx70i8xrb51zw9q2z64kf85zw1lynihzyh4"; }; @@ -69,7 +70,6 @@ in rec { meta = with stdenv.lib; { description = "An advanced playback module for ZNC"; homepage = https://github.com/jpnurmi/znc-playback; - repositories.git = https://github.com/jpnurmi/znc-playback.git; license = licenses.asl20; maintainers = with maintainers; [ hrdinka ]; }; @@ -80,8 +80,9 @@ in rec { version = "git-2015-02-22"; module_name = "privmsg"; - src = fetchgit { - url = meta.repositories.git; + src = fetchFromGitHub { + owner = "kylef"; + repo = "znc-contrib"; rev = "9f1f98db56cbbea96d83e6628f657e0d62cd9517"; sha256 = "0n82z87gdxxragcaixjc80z8bw4bmfwbk0jrf9zs8kk42phlkkc2"; }; @@ -89,27 +90,26 @@ in rec { meta = { description = "ZNC privmsg module"; homepage = https://github.com/kylef/znc-contrib; - repositories.git = https://github.com/kylef/znc-contrib.git; }; }; push = zncDerivation rec { name = "znc-push-${version}"; - version = "git-2015-12-07"; + version = "git-2016-10-12"; module_name = "push"; - src = fetchgit { - url = "https://github.com/jreese/znc-push.git"; - rev = "717a2b1741eee75456b0862ef76dbb5af906e936"; - sha256 = "1ih1hf11mqgi0cfh6v70v3b93xrw83xcb80psmijcqxi7kwjn404"; + src = fetchFromGitHub { + owner = "jreese"; + repo = "znc-push"; + rev = "cf08b9e0f483f03c28d72dd78df932cbef141f10"; + sha256 = "0xpwjw8csyrg736g1jc1n8d6804x6kbdkrvldzhk9ldj4iwqz7ay"; }; meta = { description = "Push notification service module for ZNC"; homepage = https://github.com/jreese/znc-push; - repositories.git = https://github.com/jreese/znc-push.git; license = stdenv.lib.licenses.mit; - maintainers = [ stdenv.lib.maintainers.offline ]; + maintainers = with stdenv.lib.maintainers; [ offline schneefux ]; }; }; diff --git a/pkgs/applications/office/antiword/default.nix b/pkgs/applications/office/antiword/default.nix index 4ec939a01290..059c68b77e65 100644 --- a/pkgs/applications/office/antiword/default.nix +++ b/pkgs/applications/office/antiword/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation { sha256 = "1b7mi1l20jhj09kyh0bq14qzz8vdhhyf35gzwsq43mn6rc7h0b4f"; }; - preInstall = '' + prePatch = '' sed -i -e "s|/usr/local/bin|$out/bin|g" -e "s|/usr/share|$out/share|g" Makefile antiword.h ''; diff --git a/pkgs/applications/office/beancount/bean-add.nix b/pkgs/applications/office/beancount/bean-add.nix new file mode 100644 index 000000000000..4e73a305ea46 --- /dev/null +++ b/pkgs/applications/office/beancount/bean-add.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchFromGitHub, python3Packages }: + +stdenv.mkDerivation rec { + name = "bean-add-2016-12-02"; + + src = fetchFromGitHub { + owner = "simon-v"; + repo = "bean-add"; + rev = "8038dabf5838c880c8e750c0e65cf0da4faf40b9"; + sha256 = "016ybq570xicj90x4kxrbxhzdvkjh0d6v3r6s3k3qfzz2c5vwh09"; + }; + + propagatedBuildInputs = with python3Packages; [ python ]; + + installPhase = '' + mkdir -p $out/bin/ + cp bean-add $out/bin/bean-add + chmod +x $out/bin/bean-add + ''; + + meta = { + homepage = https://github.com/simon-v/bean-add/; + description = "beancount transaction entry assistant"; + + # The (only) source file states: + # License: "Do what you feel is right, but don't be a jerk" public license. + + maintainers = with stdenv.lib.maintainers; [ matthiasbeyer ]; + }; +} + diff --git a/pkgs/applications/office/beancount/default.nix b/pkgs/applications/office/beancount/default.nix index 77fcb8ce7e91..72f6c5de8a19 100644 --- a/pkgs/applications/office/beancount/default.nix +++ b/pkgs/applications/office/beancount/default.nix @@ -1,14 +1,13 @@ { stdenv, fetchhg, pkgs, pythonPackages }: pythonPackages.buildPythonApplication rec { - version = "2016-04-10-b5721f1c6f01bd168a5781652e5e3167f7f8ceb3"; + version = "2.0b13"; name = "beancount-${version}"; namePrefix = ""; - src = fetchhg { - url = "https://bitbucket.org/blais/beancount"; - rev = "b5721f1c6f01bd168a5781652e5e3167f7f8ceb3"; - sha256 = "10nv3p9cix7yp23a9hnq5163rpl8cfs3hv75h90ld57dc24nxzn2"; + src = pkgs.fetchurl { + url = "mirror://pypi/b/beancount/${name}.tar.gz"; + sha256 = "16gkcq28bwd015b1qhdr5d7vhxid8xfn6ia4n9n8dnl5n448yqkm"; }; buildInputs = with pythonPackages; [ nose ]; diff --git a/pkgs/applications/office/fava/default.nix b/pkgs/applications/office/fava/default.nix new file mode 100644 index 000000000000..a246c7290a56 --- /dev/null +++ b/pkgs/applications/office/fava/default.nix @@ -0,0 +1,43 @@ +{ stdenv, pkgs, fetchurl, python3Packages, fetchFromGitHub, fetchzip, python3, beancount }: + +python3Packages.buildPythonApplication rec { + version = "1.2"; + name = "fava-${version}"; + + src = fetchurl { + url = "https://github.com/beancount/fava/archive/v${version}.tar.gz"; + sha256 = "0sykx054w4cvr0pgbqph0lmkxffafl83k5ir252gl5znxgcvg6yw"; + }; + + assets = fetchzip { + url = "https://github.com/beancount/fava/releases/download/v${version}/beancount-fava-${version}.tar.gz"; + sha256 = "1lk6s3s6xvvwbcbkr1qpr9bqdgwspk3vms25zjd6xcs21s3hchmp"; + }; + + buildInputs = with python3Packages; [ pytest_30 ]; + + checkPhase = '' + # pyexcel is optional + # the other 2 tests fail due non-unicode locales + PATH=$out/bin:$PATH pytest tests \ + --ignore tests/test_util_excel.py \ + --ignore tests/test_cli.py \ + --ignore tests/test_translations.py \ + ''; + + postInstall = '' + cp -r $assets/fava/static/gen $out/${python3.sitePackages}/fava/static + ''; + + propagatedBuildInputs = with python3Packages; + [ flask dateutil pygments wheel markdown2 flaskbabel tornado + click beancount ]; + + meta = { + homepage = https://github.com/aumayr/fava; + description = "Web interface for beancount"; + license = stdenv.lib.licenses.mit; + maintainers = with stdenv.lib.maintainers; [ matthiasbeyer ]; + }; +} + diff --git a/pkgs/applications/office/gnucash/2.6.nix b/pkgs/applications/office/gnucash/2.6.nix index 5c87218e306f..ef824f57a354 100644 --- a/pkgs/applications/office/gnucash/2.6.nix +++ b/pkgs/applications/office/gnucash/2.6.nix @@ -1,5 +1,5 @@ { fetchurl, stdenv, pkgconfig, libxml2, libxslt, perl, perlPackages, gconf, guile -, intltool, glib, gtk, libofx, aqbanking, gwenhywfar, libgnomecanvas, goffice +, intltool, glib, gtk2, libofx, aqbanking, gwenhywfar, libgnomecanvas, goffice , webkit, glibcLocales, gsettings_desktop_schemas, makeWrapper, dconf, file , gettext, swig, slibGuile, enchant, bzip2, isocodes, libdbi, libdbiDrivers , pango, gdk_pixbuf @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { intltool pkgconfig libxml2 libxslt glibcLocales file gettext swig enchant bzip2 isocodes # glib, gtk... - glib gtk goffice webkit + glib gtk2 goffice webkit # gnome... dconf gconf libgnomecanvas gsettings_desktop_schemas # financial @@ -79,7 +79,7 @@ stdenv.mkDerivation rec { ''; # The following settings fix failures in the test suite. It's not required otherwise. - LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath [ guile glib gtk pango gdk_pixbuf ]; + LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath [ guile glib gtk2 pango gdk_pixbuf ]; preCheck = "export GNC_DOT_DIR=$PWD/dot-gnucash"; doCheck = true; diff --git a/pkgs/applications/office/gnucash/default.nix b/pkgs/applications/office/gnucash/default.nix index 7ef77dc2562d..1eedf1f313b7 100644 --- a/pkgs/applications/office/gnucash/default.nix +++ b/pkgs/applications/office/gnucash/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, pkgconfig, libxml2, gconf, glib, gtk, libgnomeui, libofx +{ fetchurl, stdenv, pkgconfig, libxml2, gconf, glib, gtk2, libgnomeui, libofx , libgtkhtml, gtkhtml, libgnomeprint, goffice, enchant, gettext, libbonoboui , intltool, perl, guile, slibGuile, swig, isocodes, bzip2, makeWrapper, libglade , libgsf, libart_lgpl, perlPackages, aqbanking, gwenhywfar @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { }; buildInputs = [ - pkgconfig libxml2 gconf glib gtk libgnomeui libgtkhtml gtkhtml + pkgconfig libxml2 gconf glib gtk2 libgnomeui libgtkhtml gtkhtml libgnomeprint goffice enchant gettext intltool perl guile slibGuile swig isocodes bzip2 makeWrapper libofx libglade libgsf libart_lgpl perlPackages.DateManip perlPackages.FinanceQuote aqbanking gwenhywfar diff --git a/pkgs/applications/office/gnumeric/default.nix b/pkgs/applications/office/gnumeric/default.nix index ba37a3ef4288..fcd9f954a675 100644 --- a/pkgs/applications/office/gnumeric/default.nix +++ b/pkgs/applications/office/gnumeric/default.nix @@ -1,9 +1,10 @@ { stdenv, fetchurl, pkgconfig, intltool, perl, perlXMLParser -, goffice, gnome3, makeWrapper, gtk3, bison -, python, pygobject3 +, goffice, gnome3, makeWrapper, gtk3, bison, pythonPackages }: -stdenv.mkDerivation rec { +let + inherit (pythonPackages) python pygobject3; +in stdenv.mkDerivation rec { name = "gnumeric-1.12.32"; src = fetchurl { diff --git a/pkgs/applications/office/homebank/default.nix b/pkgs/applications/office/homebank/default.nix index b1eb4ddf021c..5f1c721e4c41 100644 --- a/pkgs/applications/office/homebank/default.nix +++ b/pkgs/applications/office/homebank/default.nix @@ -1,28 +1,22 @@ { fetchurl, stdenv, gtk, pkgconfig, libofx, intltool, wrapGAppsHook -, hicolor_icon_theme}: - -let - download_root = "http://homebank.free.fr/public/"; - name = "homebank-5.0.6"; - lastrelease = download_root + name + ".tar.gz"; - oldrelease = download_root + "old/" + name + ".tar.gz"; -in - -stdenv.mkDerivation { - inherit name; +, hicolor_icon_theme, libsoup, gnome3 }: +stdenv.mkDerivation rec { + name = "homebank-5.1.2"; src = fetchurl { - urls = [ lastrelease oldrelease ]; - sha256 = "1r1rn8lgnqnlwkspx230gly5f4i90ij0a3ddrvw51kdc41xfylja"; + url = "http://homebank.free.fr/public/${name}.tar.gz"; + sha256 = "09zsq5l3s8cg4slhsyybsq8v1arnhh07i0rzka3j6ahysky15pfh"; }; - buildInputs = [ pkgconfig gtk libofx intltool hicolor_icon_theme wrapGAppsHook ]; + nativeBuildInputs = [ pkgconfig wrapGAppsHook ]; + buildInputs = [ gtk libofx intltool hicolor_icon_theme libsoup + gnome3.defaultIconTheme ]; - meta = { + meta = with stdenv.lib; { description = "Free, easy, personal accounting for everyone"; homepage = http://homebank.free.fr/; - license = stdenv.lib.licenses.gpl2Plus; - maintainers = with stdenv.lib.maintainers; [viric]; - platforms = with stdenv.lib.platforms; linux; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ viric pSub ]; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/office/impressive/default.nix b/pkgs/applications/office/impressive/default.nix index 1422369d20ef..3232abfb268e 100644 --- a/pkgs/applications/office/impressive/default.nix +++ b/pkgs/applications/office/impressive/default.nix @@ -1,9 +1,9 @@ -{ fetchurl, stdenv, pythonPackages, makeWrapper, lib -, xpdf, mesa, freeglut }: +{ fetchurl, stdenv, python2Packages, makeWrapper, lib +, xpdf, mesa, SDL, freeglut }: let - inherit (pythonPackages) python pyopengl pygame setuptools pillow; - version = "0.10.5"; + inherit (python2Packages) python pyopengl pygame setuptools pillow; + version = "0.11.1"; in stdenv.mkDerivation { # This project was formerly known as KeyJNote. # See http://keyj.s2000.ws/?p=77 for details. @@ -12,7 +12,7 @@ in stdenv.mkDerivation { src = fetchurl { url = "mirror://sourceforge/impressive/Impressive-${version}.tar.gz"; - sha256 = "0fz1zahxlfjang53wn06svy4s4aw28c79v24gwadvjvv3h1g5wam"; + sha256 = "0b3rmy6acp2vmf5nill3aknxvr9a5aawk1vnphkah61anxp62gsr"; }; # Note: We need to have `setuptools' in the path to be able to use @@ -39,13 +39,13 @@ in stdenv.mkDerivation { # honors $LIBRARY_PATH. See # http://python.net/crew/theller/ctypes/reference.html#id1 . wrapProgram "$out/bin/impressive" \ - --prefix PATH ":" "${xpdf}" \ + --prefix PATH ":" "${xpdf}/bin" \ --prefix PYTHONPATH ":" \ ${lib.concatStringsSep ":" (map (path: path + "/lib/${python.libPrefix}/site-packages") [ pillow pyopengl pygame setuptools ])} \ - --prefix LIBRARY_PATH ":" "${lib.makeLibraryPath [ mesa freeglut ]}" + --prefix LIBRARY_PATH ":" "${lib.makeLibraryPath [ mesa freeglut SDL ]}" ''; meta = { diff --git a/pkgs/applications/office/keepnote/default.nix b/pkgs/applications/office/keepnote/default.nix index d4790edbb3e0..bb2c6adbf3b4 100644 --- a/pkgs/applications/office/keepnote/default.nix +++ b/pkgs/applications/office/keepnote/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchurl, buildPythonApplication, pythonPackages, pygtk }: +{ stdenv, fetchurl, python2Packages }: -buildPythonApplication { +python2Packages.buildPythonApplication { name = "keepnote-0.7.8"; namePrefix = ""; @@ -9,7 +9,7 @@ buildPythonApplication { sha256 = "0nhkkv1n0lqf3zn17pxg5cgryv1wwlj4hfmhixwd76rcy8gs45dh"; }; - propagatedBuildInputs = [ pythonPackages.sqlite3 pygtk ]; + propagatedBuildInputs = with python2Packages; [ pyGtkGlade ]; # Testing fails. doCheck = false; diff --git a/pkgs/applications/office/kmymoney/default.nix b/pkgs/applications/office/kmymoney/default.nix index 2516cfd45971..f375da175044 100644 --- a/pkgs/applications/office/kmymoney/default.nix +++ b/pkgs/applications/office/kmymoney/default.nix @@ -21,7 +21,10 @@ stdenv.mkDerivation rec { KDEDIRS = libalkimia; - patches = [ ./qgpgme.patch ]; + patches = [ + ./qgpgme.patch + ./seqaccessmgrtest.patch + ]; meta = { homepage = http://kmymoney2.sourceforge.net/; diff --git a/pkgs/applications/office/kmymoney/seqaccessmgrtest.patch b/pkgs/applications/office/kmymoney/seqaccessmgrtest.patch new file mode 100644 index 000000000000..d01a433ba09a --- /dev/null +++ b/pkgs/applications/office/kmymoney/seqaccessmgrtest.patch @@ -0,0 +1,26 @@ +Fix tests for 32bit builds until we can bring these upstream +diff --git a/kmymoney/mymoney/storage/mymoneyseqaccessmgrtest.cpp b/kmymoney/mymoney/storage/mymoneyseqaccessmgrtest.cpp +index dcb4b4a..e803203 100644 +--- a/kmymoney/mymoney/storage/mymoneyseqaccessmgrtest.cpp ++++ b/kmymoney/mymoney/storage/mymoneyseqaccessmgrtest.cpp +@@ -58,13 +58,13 @@ void MyMoneySeqAccessMgrTest::testEmptyConstructor() + QCOMPARE(m->m_nextPayeeID, 0ul); + QCOMPARE(m->m_nextScheduleID, 0ul); + QCOMPARE(m->m_nextReportID, 0ul); +- QCOMPARE(m->m_institutionList.count(), 0ul); +- QCOMPARE(m->m_accountList.count(), 5ul); +- QCOMPARE(m->m_transactionList.count(), 0ul); +- QCOMPARE(m->m_transactionKeys.count(), 0ul); +- QCOMPARE(m->m_payeeList.count(), 0ul); +- QCOMPARE(m->m_tagList.count(), 0ul); +- QCOMPARE(m->m_scheduleList.count(), 0ul); ++ QCOMPARE(m->m_institutionList.count(), (size_t)0); ++ QCOMPARE(m->m_accountList.count(), (size_t)5); ++ QCOMPARE(m->m_transactionList.count(), (size_t)0); ++ QCOMPARE(m->m_transactionKeys.count(), (size_t)0); ++ QCOMPARE(m->m_payeeList.count(), (size_t)0); ++ QCOMPARE(m->m_tagList.count(), (size_t)0); ++ QCOMPARE(m->m_scheduleList.count(), (size_t)0); + + QCOMPARE(m->m_dirty, false); + QCOMPARE(m->m_creationDate, QDate::currentDate()); diff --git a/pkgs/applications/office/ledger-web/Gemfile b/pkgs/applications/office/ledger-web/Gemfile new file mode 100644 index 000000000000..77e8024da3a3 --- /dev/null +++ b/pkgs/applications/office/ledger-web/Gemfile @@ -0,0 +1,3 @@ +source 'https://rubygems.org' + +gem 'ledger_web' diff --git a/pkgs/applications/office/ledger-web/Gemfile.lock b/pkgs/applications/office/ledger-web/Gemfile.lock new file mode 100644 index 000000000000..2c94c53ebc99 --- /dev/null +++ b/pkgs/applications/office/ledger-web/Gemfile.lock @@ -0,0 +1,61 @@ +GEM + remote: https://rubygems.org/ + specs: + backports (3.6.8) + database_cleaner (1.5.3) + diff-lcs (1.2.5) + directory_watcher (1.5.1) + ledger_web (1.5.2) + database_cleaner + directory_watcher (~> 1.5.1) + pg + rack (>= 1.3.6) + rspec + sequel + sinatra + sinatra-contrib + sinatra-session + multi_json (1.12.1) + pg (0.18.4) + rack (1.6.4) + rack-protection (1.5.3) + rack + rack-test (0.6.3) + rack (>= 1.0) + rspec (3.5.0) + rspec-core (~> 3.5.0) + rspec-expectations (~> 3.5.0) + rspec-mocks (~> 3.5.0) + rspec-core (3.5.2) + rspec-support (~> 3.5.0) + rspec-expectations (3.5.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.5.0) + rspec-mocks (3.5.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.5.0) + rspec-support (3.5.0) + sequel (4.37.0) + sinatra (1.4.7) + rack (~> 1.5) + rack-protection (~> 1.4) + tilt (>= 1.3, < 3) + sinatra-contrib (1.4.7) + backports (>= 2.0) + multi_json + rack-protection + rack-test + sinatra (~> 1.4.0) + tilt (>= 1.3, < 3) + sinatra-session (1.0.0) + sinatra (>= 1.0) + tilt (2.0.5) + +PLATFORMS + ruby + +DEPENDENCIES + ledger_web (= 1.5.2) + +BUNDLED WITH + 1.12.5 diff --git a/pkgs/applications/office/ledger-web/default.nix b/pkgs/applications/office/ledger-web/default.nix new file mode 100644 index 000000000000..6be5ad525db4 --- /dev/null +++ b/pkgs/applications/office/ledger-web/default.nix @@ -0,0 +1,25 @@ +{ lib, bundlerEnv, ruby +, withPostgresql ? true, postgresql +, withSqlite ? false, sqlite +}: + +bundlerEnv rec { + name = "ledger-web-${version}"; + + version = (import gemset).ledger_web.version; + inherit ruby; + gemfile = ./Gemfile; + lockfile = ./Gemfile.lock; + gemset = ./gemset.nix; + + buildInputs = lib.optional withPostgresql postgresql + ++ lib.optional withSqlite sqlite; + + meta = with lib; { + description = "A web frontend to the Ledger CLI tool"; + homepage = https://github.com/peterkeen/ledger-web; + license = licenses.mit; + maintainers = with maintainers; [ peterhoeg ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/office/ledger-web/gemset.nix b/pkgs/applications/office/ledger-web/gemset.nix new file mode 100644 index 000000000000..62e2ad54847d --- /dev/null +++ b/pkgs/applications/office/ledger-web/gemset.nix @@ -0,0 +1,164 @@ +{ + backports = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zcgqw7m7jb8n7b2jwla5cq0nw9wsgddxfmn0a9v89ihzd4i1a5k"; + type = "gem"; + }; + version = "3.6.8"; + }; + database_cleaner = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0fx6zmqznklmkbjl6f713jyl11d4g9q220rcl86m2jp82r8kfwjj"; + type = "gem"; + }; + version = "1.5.3"; + }; + diff-lcs = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1vf9civd41bnqi6brr5d9jifdw73j9khc6fkhfl1f8r9cpkdvlx1"; + type = "gem"; + }; + version = "1.2.5"; + }; + directory_watcher = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0fwc2shba7vks262ind74y3g76qp7znjq5q8b2dvza0yidgywhcq"; + type = "gem"; + }; + version = "1.5.1"; + }; + ledger_web = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0i4vagaiyayymlr41rsy4lg2cl1r011ib0ql9dgjadfy6imb4kqh"; + type = "gem"; + }; + version = "1.5.2"; + }; + multi_json = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1wpc23ls6v2xbk3l1qncsbz16npvmw8p0b38l8czdzri18mp51xk"; + type = "gem"; + }; + version = "1.12.1"; + }; + pg = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "07dv4ma9xd75xpsnnwwg1yrpwpji7ydy0q1d9dl0yfqbzpidrw32"; + type = "gem"; + }; + version = "0.18.4"; + }; + rack = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "09bs295yq6csjnkzj7ncj50i6chfxrhmzg1pk6p0vd2lb9ac8pj5"; + type = "gem"; + }; + version = "1.6.4"; + }; + rack-protection = { + dependencies = ["rack"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0cvb21zz7p9wy23wdav63z5qzfn4nialik22yqp6gihkgfqqrh5r"; + type = "gem"; + }; + version = "1.5.3"; + }; + rack-test = { + dependencies = ["rack"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0h6x5jq24makgv2fq5qqgjlrk74dxfy62jif9blk43llw8ib2q7z"; + type = "gem"; + }; + version = "0.6.3"; + }; + rspec = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "16g3mmih999f0b6vcz2c3qsc7ks5zy4lj1rzjh8hf6wk531nvc6s"; + type = "gem"; + }; + version = "3.5.0"; + }; + rspec-core = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "12yndf7y6g3s1306bv1aycsmd0gjy5m172spdhx54svca2fcpzy1"; + type = "gem"; + }; + version = "3.5.2"; + }; + rspec-expectations = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bbqfrb1x8gmwf8x2xhhwvvlhwbbafq4isbvlibxi6jk602f09gs"; + type = "gem"; + }; + version = "3.5.0"; + }; + rspec-mocks = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0nl3ksivh9wwrjjd47z5dggrwx40v6gpb3a0gzbp1gs06a5dmk24"; + type = "gem"; + }; + version = "3.5.0"; + }; + rspec-support = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10vf3k3d472y573mag2kzfsfrf6rv355s13kadnpryk8d36yq5r0"; + type = "gem"; + }; + version = "3.5.0"; + }; + sequel = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "11vdpr3r4dwhcan16gs4gjm2k21y9qz7ri5w2zz54pmnxp499cjw"; + type = "gem"; + }; + version = "4.37.0"; + }; + sinatra = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1b81kbr65mmcl9cdq2r6yc16wklyp798rxkgmm5pr9fvsj7jwmxp"; + type = "gem"; + }; + version = "1.4.7"; + }; + sinatra-contrib = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0vi3i0icbi2figiayxpvxbqpbn1syma7w4p4zw5mav1ln4c7jnfr"; + type = "gem"; + }; + version = "1.4.7"; + }; + sinatra-session = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "183xl8i4d2hc03afd1i52gwn2xi3vzrv02g22llhfy5wkmm44gmq"; + type = "gem"; + }; + version = "1.0.0"; + }; + tilt = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0lgk8bfx24959yq1cn55php3321wddw947mgj07bxfnwyipy9hqf"; + type = "gem"; + }; + version = "2.0.5"; + }; +} \ No newline at end of file diff --git a/pkgs/applications/office/ledger/default.nix b/pkgs/applications/office/ledger/default.nix index ac90e0c4cb2b..07726ba90a41 100644 --- a/pkgs/applications/office/ledger/default.nix +++ b/pkgs/applications/office/ledger/default.nix @@ -20,6 +20,8 @@ stdenv.mkDerivation { enableParallelBuilding = true; + cmakeFlags = [ "-DCMAKE_INSTALL_LIBDIR=lib" ]; + # Skip byte-compiling of emacs-lisp files because this is currently # broken in ledger... postInstall = '' diff --git a/pkgs/applications/office/libreoffice/README.md b/pkgs/applications/office/libreoffice/README.md new file mode 100644 index 000000000000..eb21fe2f441e --- /dev/null +++ b/pkgs/applications/office/libreoffice/README.md @@ -0,0 +1,10 @@ +LibreOffice +=========== + +To generate `libreoffice-srcs.nix`: + + nix-shell default-gen-shell.nix --run generate + +To generate `libreoffice-srcs-still.nix`: + + nix-shell still-gen-shell.nix --run generate diff --git a/pkgs/applications/office/libreoffice/default-gen-shell.nix b/pkgs/applications/office/libreoffice/default-gen-shell.nix new file mode 100644 index 000000000000..366030971237 --- /dev/null +++ b/pkgs/applications/office/libreoffice/default-gen-shell.nix @@ -0,0 +1,29 @@ +{ pkgs ? (import {}) }: + +with pkgs; + +let + + primary-src = callPackage ./default-primary-src.nix {}; + +in + +stdenv.mkDerivation { + name = "generate-libreoffice-srcs-shell"; + + buildCommand = "exit 1"; + + downloadList = stdenv.mkDerivation { + name = "libreoffice-${primary-src.version}-download-list"; + inherit (primary-src) src version; + builder = ./download-list-builder.sh; + }; + + buildInputs = [ python3 ]; + + shellHook = '' + function generate { + python3 generate-libreoffice-srcs.py > libreoffice-srcs.nix + } + ''; +} diff --git a/pkgs/applications/office/libreoffice/default-primary-src.nix b/pkgs/applications/office/libreoffice/default-primary-src.nix new file mode 100644 index 000000000000..497d4305873e --- /dev/null +++ b/pkgs/applications/office/libreoffice/default-primary-src.nix @@ -0,0 +1,17 @@ +{ fetchurl }: + +rec { + major = "5"; + minor = "2"; + patch = "4"; + tweak = "2"; + + subdir = "${major}.${minor}.${patch}"; + + version = "${subdir}${if tweak == "" then "" else "."}${tweak}"; + + src = fetchurl { + url = "http://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz"; + sha256 = "047byvyg13baws1bycaq1s6wqhkcr2pk27xbag0npzx1lspx2wwb"; + }; +} diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix index 40983c918acd..29cc1dc118fe 100644 --- a/pkgs/applications/office/libreoffice/default.nix +++ b/pkgs/applications/office/libreoffice/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, pam, python3, libxslt, perl, ArchiveZip , CompressZlib, zlib, libjpeg, expat, pkgconfigUpstream, freetype, libwpd , libxml2, db, sablotron, curl, fontconfig, libsndfile, neon -, bison, flex, zip, unzip, gtk3, gtk, libmspack, getopt, file, cairo, which +, bison, flex, zip, unzip, gtk3, gtk2, libmspack, getopt, file, cairo, which , icu, boost, jdk, ant, cups, xorg, libcmis , openssl, gperf, cppunit, GConf, ORBit2, poppler , librsvg, gnome_vfs, mesa, bsh, CoinMP, libwps, libabw @@ -18,23 +18,15 @@ , kdeIntegration ? false }: +let + primary-src = import ./default-primary-src.nix { inherit fetchurl; }; +in + +with { inherit (primary-src) major minor subdir version; }; + let lib = stdenv.lib; langsSpaces = lib.concatStringsSep " " langs; - major = "5"; - minor = "2"; - patch = "0"; - tweak = "4"; - subdir = "${major}.${minor}.${patch}"; - version = "${subdir}${if tweak == "" then "" else "."}${tweak}"; - - fetchThirdParty = {name, md5, brief, subDir ? ""}: fetchurl { - inherit name md5; - url = if brief then - "http://dev-www.libreoffice.org/src/${subDir}${name}" - else - "http://dev-www.libreoffice.org/src/${subDir}${md5}-${name}"; - }; fetchSrc = {name, sha256}: fetchurl { url = "http://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${name}-${version}.tar.xz"; @@ -42,32 +34,29 @@ let }; srcs = { - third_party = [ (fetchurl rec { + third_party = [ (let md5 = "185d60944ea767075d27247c3162b3bc"; in fetchurl rec { url = "http://dev-www.libreoffice.org/extern/${md5}-${name}"; - md5 = "185d60944ea767075d27247c3162b3bc"; + sha256 = "1infwvv1p6i21scywrldsxs22f62x85mns4iq8h6vr6vlx3fdzga"; name = "unowinreg.dll"; - }) ] ++ (map fetchThirdParty (import ./libreoffice-srcs.nix)); + }) ] ++ (map (x : ((fetchurl {inherit (x) url sha256 name;}) // {inherit (x) md5name md5;})) (import ./libreoffice-srcs.nix)); translations = fetchSrc { name = "translations"; - sha256 = "0a3dnqm9k1skp7jvg354fdn84y0ylvnjzpd4v2r2mbz8vc4p3ld5"; + sha256 = "075f7jpp8qi6piwrw4n8inynvsgp0270pdd9jmc2fqv6j5gsn332"; }; # TODO: dictionaries help = fetchSrc { name = "help"; - sha256 = "1gyakwbbsd3aykf0gsanyg6p4g4qixj1rh6qxspln70afl3kxm90"; + sha256 = "10p1xd077278gm3syd3lc54fzjsvrvzm0zr6csn9iq90kmlsgwzy"; }; }; in stdenv.mkDerivation rec { name = "libreoffice-${version}"; - src = fetchurl { - url = "http://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz"; - sha256 = "1v3bbk2afq61gs3l4qvc1r6y0ylr21jzbm3wcnyq9c3bbyw43pj7"; - }; + inherit (primary-src) src; # Openoffice will open libcups dynamically, so we link it directly # to make its dlopen work. @@ -87,7 +76,7 @@ in stdenv.mkDerivation rec { postUnpack = '' mkdir -v $sourceRoot/src - '' + (stdenv.lib.concatMapStrings (f: "ln -sfv ${f} $sourceRoot/src/${f.outputHash}-${f.name}\nln -sfv ${f} $sourceRoot/src/${f.name}\n") srcs.third_party) + '' + (stdenv.lib.concatMapStrings (f: "ln -sfv ${f} $sourceRoot/src/${f.md5 or f.outputHash}-${f.name}\nln -sfv ${f} $sourceRoot/src/${f.name}\n") srcs.third_party) + '' ln -sv ${srcs.help} $sourceRoot/src/${srcs.help.name} ln -svf ${srcs.translations} $sourceRoot/src/${srcs.translations.name} @@ -242,7 +231,7 @@ in stdenv.mkDerivation rec { buildInputs = with xorg; [ ant ArchiveZip autoconf automake bison boost cairo clucene_core CompressZlib cppunit cups curl db dbus_glib expat file flex fontconfig - freetype GConf getopt gnome_vfs gperf gtk3 gtk + freetype GConf getopt gnome_vfs gperf gtk3 gtk2 hunspell icu jdk lcms libcdr libexttextcat unixODBC libjpeg libmspack librdf_redland librsvg libsndfile libvisio libwpd libwpg libX11 libXaw libXext libXi libXinerama libxml2 libxslt libXtst @@ -254,6 +243,7 @@ in stdenv.mkDerivation rec { libxshmfence libatomic_ops graphite2 harfbuzz librevenge libe-book libmwaw glm glew ncurses libodfgen CoinMP librdf_rasqal defaultIconTheme makeWrapper + gdb ] ++ lib.optional kdeIntegration kde4.kdelibs; @@ -261,6 +251,8 @@ in stdenv.mkDerivation rec { inherit srcs; }; + requiredSystemFeatures = [ "big-parallel" ]; + meta = with lib; { description = "Comprehensive, professional-quality productivity suite, a variant of openoffice.org"; homepage = http://libreoffice.org/; diff --git a/pkgs/applications/office/libreoffice/download-list-builder.sh b/pkgs/applications/office/libreoffice/download-list-builder.sh new file mode 100644 index 000000000000..c054e2c72cbe --- /dev/null +++ b/pkgs/applications/office/libreoffice/download-list-builder.sh @@ -0,0 +1,3 @@ +source $stdenv/setup + +tar --extract --file=$src libreoffice-$version/download.lst -O > $out diff --git a/pkgs/applications/office/libreoffice/generate-libreoffice-srcs.py b/pkgs/applications/office/libreoffice/generate-libreoffice-srcs.py new file mode 100755 index 000000000000..3d56c74e3ab8 --- /dev/null +++ b/pkgs/applications/office/libreoffice/generate-libreoffice-srcs.py @@ -0,0 +1,307 @@ +#!/usr/bin/env python3 + +""" +Converts the LibreOffice `download.lst` file into a Nix expression. + +Requires an environment variable named `downloadList` identifying the path +of the input file, and writes the result to stdout. + +todo - Ideally we would move as much as possible into derivation dependencies. +""" +import collections, itertools, json, re, subprocess, sys, os + +def main(): + + packages = list(get_packages()) + + for x in packages: + print(x, file=sys.stderr) + + print('[') + + for x in packages: + + md5 = x['md5'] + tarball = x['tarball'] + + url = construct_url(x) + print('url: {}'.format(url), file=sys.stderr) + + path = download(url, tarball, md5) + print('path: {}'.format(path), file=sys.stderr) + + sha256 = get_sha256(path) + print('sha256: {}'.format(sha256), file=sys.stderr) + + print(' {') + print(' name = "{}";'.format(tarball)) + print(' url = "{}";'.format(url)) + print(' sha256 = "{}";'.format(sha256)) + print(' md5 = "{}";'.format(md5)) + print(' md5name = "{}-{}";'.format(md5,tarball)) + print(' }') + + print(']') + + +def construct_url(x): + if x['brief']: + return 'http://dev-www.libreoffice.org/src/{}{}'.format( + x.get('subdir', ''), x['tarball']) + else: + return 'http://dev-www.libreoffice.org/src/{}{}-{}'.format( + x.get('subdir', ''), x['md5'], x['tarball']) + + +def download(url, name, md5): + cmd = ['nix-prefetch-url', url, md5, '--print-path', + '--type', 'md5', '--name', name] + proc = subprocess.run(cmd, stdout=subprocess.PIPE, check=True, + universal_newlines=True) + return proc.stdout.split('\n')[1].strip() + + +def get_sha256(path): + cmd = ['sha256sum', path] + proc = subprocess.run(cmd, stdout=subprocess.PIPE, check=True, + universal_newlines=True) + return proc.stdout.split(' ')[0].strip() + + +def get_packages(): + """ + All of the package data: What's parsed from download.lst, + plus our additions. + """ + return apply_additions(get_packages_from_download_list(), + get_additions()) + + +def get_additions(): + """ + A mapping from package name (the all-caps identifiers used in + `download.lst`) to a dict of additional attributes to set on the package. + """ + with open('./libreoffice-srcs-additions.json') as f: + return json.load(f) + + +def apply_additions(xs, additions): + for x in xs: + yield dict_merge([x, + additions.get(x['name'], {})]) + + +def get_packages_from_download_list(): + """ + The result of parsing `download.lst`: A list of dicts containing keys + 'name', 'tarball', 'md5', 'brief'. + """ + + def lines(): + for x in sub_symbols(parse_lines(get_lines())): + + interpretation = interpret(x) + + if interpretation == 'unrecognized': + print_skipped_line(x) + else: + yield dict_merge([x, + interpretation]) + + def cluster(xs): + """ + Groups lines according to their order within the file, to support + packages that are listed in `download.lst` more than once. + """ + keys = ['tarball', 'md5', 'brief'] + a = {k: [x for x in xs if k in x['attrs']] for k in keys} + return zip(*[a[k] for k in keys]) + + def packages(): + for (name, group) in groupby(lines(), lambda x: x['name']): + for xs in cluster(group): + yield {'name': name, + 'attrs': dict_merge(x['attrs'] for x in xs), + 'index': min(x['index'] for x in xs)} + + for x in sorted(packages(), key=lambda x: x['index']): + yield dict_merge([{'name': x['name']}, + x['attrs']]) + + +def dict_merge(xs): + """ + >>> dict_merge([{1: 2}, {3: 4}, {3: 5}]) + {1: 2, 3: 4} + """ + return dict(collections.ChainMap(*xs)) + + +def groupby(xs, f): + """ + >>> groupby([1, 2, 3, 4], lambda x: x % 2) + [(0, [2, 4]), (1, [1, 3])] + """ + for (k, iter) in itertools.groupby(sorted(xs, key=f), f): + group = list(iter) + yield (f(group[0]), group) + + +def get_lines(): + + download_list = os.getenv('downloadList') + + with open(download_list) as f: + return f.read().splitlines() + + +def print_skipped_line(x): + + print('Skipped line {}: {}'.format(x['index'], + x['original']), + file=sys.stderr) + + +def parse_lines(lines): + """ + Input: List of strings (the lines from `download.lst` + Output: Iterator of dicts with keys 'key', 'value', and 'index' + """ + for (index, line) in enumerate(lines): + + x = { 'index': index, 'original': line } + + result = parse_line(line) + + if result == 'nothing': + pass + elif result == 'unrecognized': + print_skipped_line(x) + else: + yield dict_merge([x, + result]) + + +def parse_line(line): + """ + Input: A string + Output: One of 1. A dict with keys 'key', 'value' + 2. 'nothing' (if the line contains no information) + 2. 'unrecognized' (if parsing failed) + """ + + if re.match('\s*(#.*)?$', line): + return 'nothing' + + match = re.match('\s*export\s+([^:\s]+)\s*:=\s*(.*)$', line) + + if match: + return { + 'key': match.group(1), + 'value': match.group(2).strip() + } + else: + return 'unrecognized' + + +def sub_symbols(xs): + """ + Do substitution of variables across all lines. + + >>> sub_symbols([{'key': 'a', 'value': 'x'}, + ... {'key': 'c': 'value': '$(a)yz'}]) + [{'key': 'a', 'value': 'x'}, {'key': 'c': 'value': 'xyz'}] + """ + + xs = list(xs) + + symbols = {x['key']: x for x in xs} + + def get_value(k): + x = symbols.get(k) + return x['value'] if x is not None else None + + for x in xs: + yield dict_merge([{'value': sub_str(x['value'], get_value)}, + x]) + + +def sub_str(string, func): + """ + Do substitution of variables in a single line. + + >>> sub_str("x = $(x)", lambda k: {'x': 'a'}[k]) + "x = a" + """ + + def func2(m): + x = m.group(1) + result = func(x) + return result if result is not None else x + + return re.sub(r'\$\(([^\$\(\)]+)\)', func2, string) + + +def interpret(x): + """ + Input: Dict with keys 'key' and 'value' + Output: One of 1. Dict with keys 'name' and 'attrs' + 2. 'unrecognized' (if interpretation failed) + """ + for f in [interpret_md5, interpret_tarball_with_md5, interpret_tarball]: + result = f(x) + if result is not None: + return result + + return 'unrecognized' + + +def interpret_md5(x): + """ + >>> interpret_md5("ODFGEN_MD5SUM", "32572ea48d9021bbd6fa317ddb697abc") + {'name': 'ODFGEN', 'attrs': {'md5': '32572ea48d9021bbd6fa317ddb697abc'}} + """ + + match = re.match('^(.*)_MD5SUM$', x['key']) + + if match: + return {'name': match.group(1), + 'attrs': {'md5': x['value']}} + + +def interpret_tarball(x): + """ + >>> interpret_tarball("FREEHAND_TARBALL", "libfreehand-0.1.1.tar.bz2") + {'name': 'FREEHAND', + 'attrs': {'tarball': 'libfreehand-0.1.1.tar.bz2', 'brief': True}} + """ + + match = re.match('^(.*)_TARBALL$', x['key']) + + if match: + return {'name': match.group(1), + 'attrs': {'tarball': x['value'], 'brief': True}} + + +def interpret_tarball_with_md5(x): + """ + >>> interpret_tarball_with_md5("CLUCENE_TARBALL",\ + "48d647fbd8ef8889e5a7f422c1bfda94-clucene-core-2.3.3.4.tar.gz") + {'name': 'CLUCENE', + 'attrs': {'tarball': 'clucene-core-2.3.3.4.tar.gz', + 'md5': '48d647fbd8ef8889e5a7f422c1bfda94', 'brief': False}} + """ + + match = {'key': re.match('^(.*)_TARBALL$', x['key']), + 'value': re.match('(?P[0-9a-fA-F]{32})-(?P.+)$', + x['value'])} + + if match['key'] and match['value']: + return {'name': match['key'].group(1), + 'attrs': {'tarball': match['value'].group('tarball'), + 'md5': match['value'].group('md5'), + 'brief': False}} + + +main() diff --git a/pkgs/applications/office/libreoffice/generate-libreoffice-srcs.sh b/pkgs/applications/office/libreoffice/generate-libreoffice-srcs.sh deleted file mode 100755 index 0c92a1c5553f..000000000000 --- a/pkgs/applications/office/libreoffice/generate-libreoffice-srcs.sh +++ /dev/null @@ -1,70 +0,0 @@ -#!/run/current-system/sw/bin/bash - -# Ideally we would move as much as possible into derivation dependencies - -# Take the list of files from the main package, ooo.lst.in - -# This script wants an argument: download list file - -cat <&2; - eval "${line#* }"; - ;; - \#*) - echo Skipping comment: "$line" >&2; - ;; - *_MD5SUM\ :=*) - read tbline; - line=${line##* }; - line=${line##*:=}; - if [ "${tbline#*VERSION_MICRO}" != "$tbline" ]; then - verline=${tbline##* }; - read tbline; - tbline=${tbline##* }; - tbline=${tbline##*:=}; - md5=$line - name=$tbline; - name="${name/\$([A-Z]*_VERSION_MICRO)/$verline}" - else - tbline=${tbline##* }; - tbline=${tbline##*:=}; - md5=$line - name=$tbline; - fi - brief=true; - write_entry; - ;; - *_TARBALL\ :=*) - line=${line##* }; - line=${line##*:=}; - line="${line#,}" - md5=${line:0:32}; - name=${line:33}; - name="${name%)}" - brief=false; - write_entry; - ;; - *) - echo Skipping: "$line" >&2; - ;; - esac -done - -echo ']' diff --git a/pkgs/applications/office/libreoffice/libreoffice-srcs-additions.json b/pkgs/applications/office/libreoffice/libreoffice-srcs-additions.json new file mode 100644 index 000000000000..75d4cced92a6 --- /dev/null +++ b/pkgs/applications/office/libreoffice/libreoffice-srcs-additions.json @@ -0,0 +1,3 @@ +{ + "LIBGLTF": {"subdir": "libgltf/"} +} diff --git a/pkgs/applications/office/libreoffice/libreoffice-srcs-additions.sh b/pkgs/applications/office/libreoffice/libreoffice-srcs-additions.sh deleted file mode 100644 index d505aa7a4cbb..000000000000 --- a/pkgs/applications/office/libreoffice/libreoffice-srcs-additions.sh +++ /dev/null @@ -1 +0,0 @@ -EVAL additions_libgltf=' subDir = "libgltf/";' diff --git a/pkgs/applications/office/libreoffice/libreoffice-srcs-still.nix b/pkgs/applications/office/libreoffice/libreoffice-srcs-still.nix index 0d626728c9a4..3d2514f8414b 100644 --- a/pkgs/applications/office/libreoffice/libreoffice-srcs-still.nix +++ b/pkgs/applications/office/libreoffice/libreoffice-srcs-still.nix @@ -1,528 +1,737 @@ [ -{ - name = "libabw-0.1.1.tar.bz2"; - md5 = "7a3815b506d064313ba309617b6f5a0b"; - brief = true; -} -{ - name = "commons-logging-1.2-src.tar.gz"; - md5 = "ce977548f1cbf46918e93cd38ac35163"; - brief = true; -} -{ - name = "apr-1.4.8.tar.gz"; - md5 = "eff9d741b0999a9bbab96862dd2a2a3d"; - brief = true; -} -{ - name = "apr-util-1.5.3.tar.gz"; - md5 = "71a11d037240b292f824ba1eb537b4e3"; - brief = true; -} -{ - name = "boost_1_59_0.tar.bz2"; - md5 = "6aa9a5c6a4ca1016edd0ed1178e3cb87"; - brief = true; -} -{ - name = "bsh-2.0b5-src.zip"; - md5 = "ec1941a74d3ef513c4ce57a9092b74e1"; - brief = false; -} -{ - name = "bzip2-1.0.6.tar.gz"; - md5 = "00b516f4704d4a7cb50a1d97e6e8e15b"; - brief = false; -} -{ - name = "cairo-1.10.2.tar.gz"; - md5 = "f101a9e88b783337b20b2e26dfd26d5f"; - brief = false; -} -{ - name = "libcdr-0.1.2.tar.bz2"; - md5 = "6e3062b55b149d7b3c6aedb3bb5b86e2"; - brief = true; -} -{ - name = "clucene-core-2.3.3.4.tar.gz"; - md5 = "48d647fbd8ef8889e5a7f422c1bfda94"; - brief = false; -} -{ - name = "libcmis-0.5.0.tar.gz"; - md5 = "5821b806a98e6c38370970e682ce76e8"; - brief = false; -} -{ - name = "CoinMP-1.7.6.tgz"; - md5 = "1cce53bf4b40ae29790d2c5c9f8b1129"; - brief = true; -} -{ - name = "collada2gltf-master-cb1d97788a.tar.bz2"; - md5 = "4b87018f7fff1d054939d19920b751a0"; - brief = false; -} -{ - name = "cppunit-1.13.2.tar.gz"; - md5 = "d1c6bdd5a76c66d2c38331e2d287bc01"; - brief = true; -} -{ - name = "converttexttonumber-1-5-0.oxt"; - md5 = "1f467e5bb703f12cbbb09d5cf67ecf4a"; - brief = false; -} -{ - name = "curl-7.43.0.tar.bz2"; - md5 = "11bddbb452a8b766b932f859aaeeed39"; - brief = true; -} -{ - name = "libe-book-0.1.2.tar.bz2"; - md5 = "6b48eda57914e6343efebc9381027b78"; - brief = true; -} -{ - name = "epm-3.7.tar.gz"; - md5 = "3ade8cfe7e59ca8e65052644fed9fca4"; - brief = false; -} -{ - name = "libetonyek-0.1.6.tar.bz2"; - md5 = "77ff46936dcc83670557274e7dd2aa33"; - brief = true; -} -{ - name = "expat-2.1.1.tar.bz2"; - md5 = "7380a64a8e3a9d66a9887b01d0d7ea81"; - brief = true; -} -{ - name = "Firebird-2.5.4.26856-0.tar.bz2"; - md5 = "7a17ec9889424b98baa29e001a054434"; - brief = true; -} -{ - name = "fontconfig-2.8.0.tar.gz"; - md5 = "77e15a92006ddc2adbb06f840d591c0e"; - brief = false; -} -{ - name = "crosextrafonts-20130214.tar.gz"; - md5 = "368f114c078f94214a308a74c7e991bc"; - brief = false; -} -{ - name = "crosextrafonts-carlito-20130920.tar.gz"; - md5 = "c74b7223abe75949b4af367942d96c7a"; - brief = false; -} -{ - name = "dejavu-fonts-ttf-2.35.zip"; - md5 = "d8b5214d35bcd2bfcb2cffa7795b351d"; - brief = false; -} -{ - name = "gentiumbasic-fonts-1.10.zip"; - md5 = "35efabc239af896dfb79be7ebdd6e6b9"; - brief = false; -} -{ - name = "liberation-fonts-ttf-1.07.4.tar.gz"; - md5 = "134d8262145fc793c6af494dcace3e71"; - brief = false; -} -{ - name = "liberation-fonts-ttf-2.00.1.tar.gz"; - md5 = "5c781723a0d9ed6188960defba8e91cf"; - brief = false; -} -{ - name = "LinLibertineG-20120116.zip"; - md5 = "e7a384790b13c29113e22e596ade9687"; - brief = false; -} -{ - name = "open-sans-font-ttf-1.10.tar.gz"; - md5 = "7a15edea7d415ac5150ea403e27401fd"; - brief = false; -} -{ - name = "pt-serif-font-1.0000W.tar.gz"; - md5 = "c3c1a8ba7452950636e871d25020ce0d"; - brief = false; -} -{ - name = "source-code-font-1.009.tar.gz"; - md5 = "0279a21fab6f245e85a6f85fea54f511"; - brief = false; -} -{ - name = "source-sans-pro-2.010R-ro-1.065R-it.tar.gz"; - md5 = "edc4d741888bc0d38e32dbaa17149596"; - brief = false; -} -{ - name = "libfreehand-0.1.1.tar.bz2"; - md5 = "8cf70c5dc4d24d2dc4a107f509d2d6d7"; - brief = true; -} -{ - name = "freetype-2.4.8.tar.bz2"; - md5 = "dbf2caca1d3afd410a29217a9809d397"; - brief = false; -} -{ - name = "glew-1.12.0.zip"; - md5 = "3941e9cab2f4f9d8faee3e8d57ae7664"; - brief = false; -} -{ - name = "glm-0.9.4.6-libreoffice.zip"; - md5 = "bae83fa5dc7f081768daace6e199adc3"; - brief = false; -} -{ - name = "glyphy-0.2.0.tar.bz2"; - md5 = "5d303fb955beb9bf112267316ca9d021"; - brief = false; -} -{ - name = "graphite-minimal-1.3.6.tgz"; - md5 = "17df8301bcc459e83f8a8f3aca6183b2"; - brief = false; -} -{ - name = "harfbuzz-0.9.40.tar.bz2"; - md5 = "0e27e531f4c4acff601ebff0957755c2"; - brief = true; -} -{ - name = "hsqldb_1_8_0.zip"; - md5 = "17410483b5b5f267aa18b7e00b65e6e0"; - brief = false; -} -{ - name = "hunspell-1.3.3.tar.gz"; - md5 = "4967da60b23413604c9e563beacc63b4"; - brief = false; -} -{ - name = "hyphen-2.8.8.tar.gz"; - md5 = "5ade6ae2a99bc1e9e57031ca88d36dad"; - brief = false; -} -{ - name = "icu4c-56_1-src.tgz"; - md5 = "c4a2d71ff56aec5ebfab2a3f059be99d"; - brief = false; -} -{ - name = "flow-engine-0.9.4.zip"; - md5 = "ba2930200c9f019c2d93a8c88c651a0f"; - brief = false; -} -{ - name = "flute-1.1.6.zip"; - md5 = "d8bd5eed178db6e2b18eeed243f85aa8"; - brief = false; -} -{ - name = "libbase-1.1.6.zip"; - md5 = "eeb2c7ddf0d302fba4bfc6e97eac9624"; - brief = false; -} -{ - name = "libfonts-1.1.6.zip"; - md5 = "3bdf40c0d199af31923e900d082ca2dd"; - brief = false; -} -{ - name = "libformula-1.1.7.zip"; - md5 = "3404ab6b1792ae5f16bbd603bd1e1d03"; - brief = false; -} -{ - name = "liblayout-0.2.10.zip"; - md5 = "db60e4fde8dd6d6807523deb71ee34dc"; - brief = false; -} -{ - name = "libloader-1.1.6.zip"; - md5 = "97b2d4dba862397f446b217e2b623e71"; - brief = false; -} -{ - name = "librepository-1.1.6.zip"; - md5 = "8ce2fcd72becf06c41f7201d15373ed9"; - brief = false; -} -{ - name = "libserializer-1.1.6.zip"; - md5 = "f94d9870737518e3b597f9265f4e9803"; - brief = false; -} -{ - name = "libxml-1.1.7.zip"; - md5 = "ace6ab49184e329db254e454a010f56d"; - brief = false; -} -{ - name = "sacjava-1.3.zip"; - md5 = "39bb3fcea1514f1369fcfc87542390fd"; - brief = false; -} -{ - name = "jpegsrc.v9a.tar.gz"; - md5 = "3353992aecaee1805ef4109aadd433e7"; - brief = true; -} -{ - name = "libjpeg-turbo-1.4.2.tar.gz"; - md5 = "86b0d5f7507c2e6c21c00219162c3c44"; - brief = true; -} -{ - name = "language-subtag-registry-2016-02-10.tar.bz2"; - md5 = "d1e7c55a0383f7d720d3ead0b6117284"; - brief = true; -} -{ - name = "JLanguageTool-1.7.0.tar.bz2"; - md5 = "b63e6340a02ff1cacfeadb2c42286161"; - brief = false; -} -{ - name = "lcms2-2.6.tar.gz"; - md5 = "f4c08d38ceade4a664ebff7228910a33"; - brief = true; -} -{ - name = "libatomic_ops-7_2d.zip"; - md5 = "c0b86562d5aa40761a87134f83e6adcf"; - brief = true; -} -{ - name = "libeot-0.01.tar.bz2"; - md5 = "aa24f5dd2a2992f4a116aa72af817548"; - brief = true; -} -{ - name = "libexttextcat-3.4.4.tar.bz2"; - md5 = "10d61fbaa6a06348823651b1bd7940fe"; - brief = false; -} -{ - name = "libgltf-0.0.2.tar.bz2"; - md5 = "d63a9f47ab048f5009d90693d6aa6424"; - brief = true; - subDir = "libgltf/"; -} -{ - name = "liblangtag-0.5.8.tar.bz2"; - md5 = "aa899eff126216dafe721149fbdb511b"; - brief = false; -} -{ - name = "xmlsec1-1.2.14.tar.gz"; - md5 = "1f24ab1d39f4a51faf22244c94a6203f"; - brief = false; -} -{ - name = "libxml2-2.9.4.tar.gz"; - md5 = "ae249165c173b1ff386ee8ad676815f5"; - brief = false; -} -{ - name = "libxslt-1.1.28.tar.gz"; - md5 = "9667bf6f9310b957254fdcf6596600b7"; - brief = false; -} -{ - name = "lp_solve_5.5.tar.gz"; - md5 = "26b3e95ddf3d9c077c480ea45874b3b8"; - brief = false; -} -{ - name = "mariadb_client-2.0.0-src.tar.gz"; - md5 = "a233181e03d3c307668b4c722d881661"; - brief = false; -} -{ - name = "mdds_0.12.1.tar.bz2"; - md5 = "ef2560ed5416652a7fe195305b14cebe"; - brief = true; -} -{ - name = "libmspub-0.1.2.tar.bz2"; - md5 = "ff9d0f9dd8fbc523408ea1953d5bde41"; - brief = true; -} -{ - name = "libmwaw-0.3.7.tar.bz2"; - md5 = "4a8a53a9d997cf0e2bd208178797dbfb"; - brief = true; -} -{ - name = "mysql-connector-c++-1.1.4.tar.gz"; - md5 = "7239a4430efd4d0189c4f24df67f08e5"; - brief = false; -} -{ - name = "mythes-1.2.4.tar.gz"; - md5 = "a8c2c5b8f09e7ede322d5c602ff6a4b6"; - brief = false; -} -{ - name = "neon-0.30.1.tar.gz"; - md5 = "231adebe5c2f78fded3e3df6e958878e"; - brief = false; -} -{ - name = "nss-3.22.2-with-nspr-4.12.tar.gz"; - md5 = "6b254cf2f8cb4b27a3f0b8b7b9966ea7"; - brief = false; -} -{ - name = "libodfgen-0.1.6.tar.bz2"; - md5 = "32572ea48d9021bbd6fa317ddb697abc"; - brief = true; -} -{ - name = "OpenCOLLADA-master-6509aa13af.tar.bz2"; - md5 = "4ca8a6ef0afeefc864e9ef21b9f14bd6"; - brief = true; -} -{ - name = "openldap-2.4.31.tgz"; - md5 = "804c6cb5698db30b75ad0ff1c25baefd"; - brief = false; -} -{ - name = "openssl-1.0.2h.tar.gz"; - md5 = "9392e65072ce4b614c1392eefc1f23d0"; - brief = true; -} -{ - name = "liborcus-0.9.2.tar.gz"; - md5 = "e6efcbe50a5fd4d50d513c9a7a4139b0"; - brief = true; -} -{ - name = "owncloud-android-library-0.9.4-no-binary-deps.tar.gz"; - md5 = "593f0aa47bf2efc0efda2d28fae063b2"; - brief = true; -} -{ - name = "libpagemaker-0.0.2.tar.bz2"; - md5 = "795cc7a59ace4db2b12586971d668671"; - brief = true; -} -{ - name = "pixman-0.24.4.tar.bz2"; - md5 = "c63f411b3ad147db2bcce1bf262a0e02"; - brief = false; -} -{ - name = "libpng-1.6.19.tar.gz"; - md5 = "3121bdc77c365a87e054b9f859f421fe"; - brief = true; -} -{ - name = "poppler-0.26.4.tar.gz"; - md5 = "35c0660065d023365e9854c13e289d12"; - brief = true; -} -{ - name = "postgresql-9.2.1.tar.bz2"; - md5 = "c0b4799ea9850eae3ead14f0a60e9418"; - brief = false; -} -{ - name = "Python-3.3.5.tgz"; - md5 = "803a75927f8f241ca78633890c798021"; - brief = true; -} -{ - name = "Python-3.5.0.tgz"; - md5 = "a56c0c0b45d75a0ec9c6dee933c41c36"; - brief = true; -} -{ - name = "raptor2-2.0.9.tar.gz"; - md5 = "4ceb9316488b0ea01acf011023cf7fff"; - brief = false; -} -{ - name = "rasqal-0.9.30.tar.gz"; - md5 = "b12c5f9cfdb6b04efce5a4a186b8416b"; - brief = false; -} -{ - name = "redland-1.0.16.tar.gz"; - md5 = "32f8e1417a64d3c6f2c727f9053f55ea"; - brief = false; -} -{ - name = "librevenge-0.0.4.tar.bz2"; - md5 = "5b9ac52ec77d4d19157cf5962ebc0aea"; - brief = true; -} -{ - name = "rhino1_5R5.zip"; - md5 = "798b2ffdc8bcfe7bca2cf92b62caf685"; - brief = false; -} -{ - name = "serf-1.2.1.tar.bz2"; - md5 = "4f8e76c9c6567aee1d66aba49f76a58b"; - brief = true; -} -{ - name = "swingExSrc.zip"; - md5 = "35c94d2df8893241173de1d16b6034c0"; - brief = false; -} -{ - name = "ucpp-1.3.2.tar.gz"; - md5 = "0168229624cfac409e766913506961a8"; - brief = false; -} -{ - name = "vigra1.6.0.tar.gz"; - md5 = "d62650a6f908e85643e557a236ea989c"; - brief = false; -} -{ - name = "libvisio-0.1.5.tar.bz2"; - md5 = "cbee198a78b842b2087f32d33c522818"; - brief = true; -} -{ - name = "libwpd-0.10.1.tar.bz2"; - md5 = "79b56bcc349264d686a67994506ad199"; - brief = true; -} -{ - name = "libwpg-0.3.1.tar.bz2"; - md5 = "dfd066658ec9d2fb2262417039a8a1c3"; - brief = true; -} -{ - name = "libwps-0.4.2.tar.bz2"; - md5 = "8a6c55542ce80203dd6d3b1cba99d4e5"; - brief = true; -} -{ - name = "xsltml_2.1.2.zip"; - md5 = "a7983f859eafb2677d7ff386a023bc40"; - brief = false; -} -{ - name = "zlib-1.2.8.tar.gz"; - md5 = "44d667c142d7cda120332623eab69f40"; - brief = true; -} + { + name = "libabw-0.1.1.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/libabw-0.1.1.tar.bz2"; + sha256 = "7a3d3415cf82ab9894f601d1b3057c4615060304d5279efdec6275e01b96a199"; + md5 = "7a3815b506d064313ba309617b6f5a0b"; + md5name = "7a3815b506d064313ba309617b6f5a0b-libabw-0.1.1.tar.bz2"; + } + { + name = "commons-logging-1.2-src.tar.gz"; + url = "http://dev-www.libreoffice.org/src/commons-logging-1.2-src.tar.gz"; + sha256 = "49665da5a60d033e6dff40fe0a7f9173e886ae859ce6096c1afe34c48b677c81"; + md5 = "ce977548f1cbf46918e93cd38ac35163"; + md5name = "ce977548f1cbf46918e93cd38ac35163-commons-logging-1.2-src.tar.gz"; + } + { + name = "apr-1.4.8.tar.gz"; + url = "http://dev-www.libreoffice.org/src/apr-1.4.8.tar.gz"; + sha256 = "1689e415bdfab6aaa41f07836b5dd9ed4901d22ddeb99feffdb2cee3124adf49"; + md5 = "eff9d741b0999a9bbab96862dd2a2a3d"; + md5name = "eff9d741b0999a9bbab96862dd2a2a3d-apr-1.4.8.tar.gz"; + } + { + name = "apr-util-1.5.3.tar.gz"; + url = "http://dev-www.libreoffice.org/src/apr-util-1.5.3.tar.gz"; + sha256 = "76db34cb508e346e3bf69347c29ed1500bf0b71bcc48d54271ad9d1c25703743"; + md5 = "71a11d037240b292f824ba1eb537b4e3"; + md5name = "71a11d037240b292f824ba1eb537b4e3-apr-util-1.5.3.tar.gz"; + } + { + name = "boost_1_59_0.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/boost_1_59_0.tar.bz2"; + sha256 = "727a932322d94287b62abb1bd2d41723eec4356a7728909e38adb65ca25241ca"; + md5 = "6aa9a5c6a4ca1016edd0ed1178e3cb87"; + md5name = "6aa9a5c6a4ca1016edd0ed1178e3cb87-boost_1_59_0.tar.bz2"; + } + { + name = "bsh-2.0b5-src.zip"; + url = "http://dev-www.libreoffice.org/src/ec1941a74d3ef513c4ce57a9092b74e1-bsh-2.0b5-src.zip"; + sha256 = "90993aa17a786996653fc5fcf148e879fb3689b8678f9ba99b376a5a13dff513"; + md5 = "ec1941a74d3ef513c4ce57a9092b74e1"; + md5name = "ec1941a74d3ef513c4ce57a9092b74e1-bsh-2.0b5-src.zip"; + } + { + name = "bzip2-1.0.6.tar.gz"; + url = "http://dev-www.libreoffice.org/src/00b516f4704d4a7cb50a1d97e6e8e15b-bzip2-1.0.6.tar.gz"; + sha256 = "a2848f34fcd5d6cf47def00461fcb528a0484d8edef8208d6d2e2909dc61d9cd"; + md5 = "00b516f4704d4a7cb50a1d97e6e8e15b"; + md5name = "00b516f4704d4a7cb50a1d97e6e8e15b-bzip2-1.0.6.tar.gz"; + } + { + name = "cairo-1.10.2.tar.gz"; + url = "http://dev-www.libreoffice.org/src/f101a9e88b783337b20b2e26dfd26d5f-cairo-1.10.2.tar.gz"; + sha256 = "32018c7998358eebc2ad578ff8d8559d34fc80252095f110a572ed23d989fc41"; + md5 = "f101a9e88b783337b20b2e26dfd26d5f"; + md5name = "f101a9e88b783337b20b2e26dfd26d5f-cairo-1.10.2.tar.gz"; + } + { + name = "libcdr-0.1.2.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/libcdr-0.1.2.tar.bz2"; + sha256 = "d05a986dab9f960e64466072653a900d03f8257b084440d9d16599e16060581e"; + md5 = "6e3062b55b149d7b3c6aedb3bb5b86e2"; + md5name = "6e3062b55b149d7b3c6aedb3bb5b86e2-libcdr-0.1.2.tar.bz2"; + } + { + name = "clucene-core-2.3.3.4.tar.gz"; + url = "http://dev-www.libreoffice.org/src/48d647fbd8ef8889e5a7f422c1bfda94-clucene-core-2.3.3.4.tar.gz"; + sha256 = "ddfdc433dd8ad31b5c5819cc4404a8d2127472a3b720d3e744e8c51d79732eab"; + md5 = "48d647fbd8ef8889e5a7f422c1bfda94"; + md5name = "48d647fbd8ef8889e5a7f422c1bfda94-clucene-core-2.3.3.4.tar.gz"; + } + { + name = "libcmis-0.5.0.tar.gz"; + url = "http://dev-www.libreoffice.org/src/5821b806a98e6c38370970e682ce76e8-libcmis-0.5.0.tar.gz"; + sha256 = "a87e02913dee3ee659db5abf6d7dafcfcd85dd4b24bf4389d8d4afe8c8dcf9b6"; + md5 = "5821b806a98e6c38370970e682ce76e8"; + md5name = "5821b806a98e6c38370970e682ce76e8-libcmis-0.5.0.tar.gz"; + } + { + name = "CoinMP-1.7.6.tgz"; + url = "http://dev-www.libreoffice.org/src/CoinMP-1.7.6.tgz"; + sha256 = "86c798780b9e1f5921fe4efe651a93cb420623b45aa1fdff57af8c37f116113f"; + md5 = "1cce53bf4b40ae29790d2c5c9f8b1129"; + md5name = "1cce53bf4b40ae29790d2c5c9f8b1129-CoinMP-1.7.6.tgz"; + } + { + name = "collada2gltf-master-cb1d97788a.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/4b87018f7fff1d054939d19920b751a0-collada2gltf-master-cb1d97788a.tar.bz2"; + sha256 = "b0adb8e71aef80751b999c9c055e419a625c4a05184e407aef2aee28752ad8cb"; + md5 = "4b87018f7fff1d054939d19920b751a0"; + md5name = "4b87018f7fff1d054939d19920b751a0-collada2gltf-master-cb1d97788a.tar.bz2"; + } + { + name = "cppunit-1.13.2.tar.gz"; + url = "http://dev-www.libreoffice.org/src/cppunit-1.13.2.tar.gz"; + sha256 = "3f47d246e3346f2ba4d7c9e882db3ad9ebd3fcbd2e8b732f946e0e3eeb9f429f"; + md5 = "d1c6bdd5a76c66d2c38331e2d287bc01"; + md5name = "d1c6bdd5a76c66d2c38331e2d287bc01-cppunit-1.13.2.tar.gz"; + } + { + name = "converttexttonumber-1-5-0.oxt"; + url = "http://dev-www.libreoffice.org/src/1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt"; + sha256 = "71b238efd2734be9800af07566daea8d6685aeed28db5eb5fa0e6453f4d85de3"; + md5 = "1f467e5bb703f12cbbb09d5cf67ecf4a"; + md5name = "1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt"; + } + { + name = "curl-7.43.0.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/curl-7.43.0.tar.bz2"; + sha256 = "baa654a1122530483ccc1c58cc112fec3724a82c11c6a389f1e6a37dc8858df9"; + md5 = "11bddbb452a8b766b932f859aaeeed39"; + md5name = "11bddbb452a8b766b932f859aaeeed39-curl-7.43.0.tar.bz2"; + } + { + name = "libe-book-0.1.2.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/libe-book-0.1.2.tar.bz2"; + sha256 = "b710a57c633205b933015474d0ac0862253d1c52114d535dd09b20939a0d1850"; + md5 = "6b48eda57914e6343efebc9381027b78"; + md5name = "6b48eda57914e6343efebc9381027b78-libe-book-0.1.2.tar.bz2"; + } + { + name = "epm-3.7.tar.gz"; + url = "http://dev-www.libreoffice.org/src/3ade8cfe7e59ca8e65052644fed9fca4-epm-3.7.tar.gz"; + sha256 = "b3fc4c5445de6c9a801504a3ea3efb2d4ea9d5a622c9427e716736e7713ddb91"; + md5 = "3ade8cfe7e59ca8e65052644fed9fca4"; + md5name = "3ade8cfe7e59ca8e65052644fed9fca4-epm-3.7.tar.gz"; + } + { + name = "libetonyek-0.1.6.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/libetonyek-0.1.6.tar.bz2"; + sha256 = "032f53e8d7691e48a73ddbe74fa84c906ff6ff32a33e6ee2a935b6fdb6aecb78"; + md5 = "77ff46936dcc83670557274e7dd2aa33"; + md5name = "77ff46936dcc83670557274e7dd2aa33-libetonyek-0.1.6.tar.bz2"; + } + { + name = "expat-2.1.1.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/expat-2.1.1.tar.bz2"; + sha256 = "aff584e5a2f759dcfc6d48671e9529f6afe1e30b0cd6a4cec200cbe3f793de67"; + md5 = "7380a64a8e3a9d66a9887b01d0d7ea81"; + md5name = "7380a64a8e3a9d66a9887b01d0d7ea81-expat-2.1.1.tar.bz2"; + } + { + name = "Firebird-2.5.4.26856-0.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/Firebird-2.5.4.26856-0.tar.bz2"; + sha256 = "4e775dcf218640d3af507a816aef0060f52a295b9ee5f66ec66f0b0564da18d3"; + md5 = "7a17ec9889424b98baa29e001a054434"; + md5name = "7a17ec9889424b98baa29e001a054434-Firebird-2.5.4.26856-0.tar.bz2"; + } + { + name = "fontconfig-2.8.0.tar.gz"; + url = "http://dev-www.libreoffice.org/src/77e15a92006ddc2adbb06f840d591c0e-fontconfig-2.8.0.tar.gz"; + sha256 = "fa2a1c6eea654d9fce7a4b1220f10c99cdec848dccaf1625c01f076b31382335"; + md5 = "77e15a92006ddc2adbb06f840d591c0e"; + md5name = "77e15a92006ddc2adbb06f840d591c0e-fontconfig-2.8.0.tar.gz"; + } + { + name = "crosextrafonts-20130214.tar.gz"; + url = "http://dev-www.libreoffice.org/src/368f114c078f94214a308a74c7e991bc-crosextrafonts-20130214.tar.gz"; + sha256 = "c48d1c2fd613c9c06c959c34da7b8388059e2408d2bb19845dc3ed35f76e4d09"; + md5 = "368f114c078f94214a308a74c7e991bc"; + md5name = "368f114c078f94214a308a74c7e991bc-crosextrafonts-20130214.tar.gz"; + } + { + name = "crosextrafonts-carlito-20130920.tar.gz"; + url = "http://dev-www.libreoffice.org/src/c74b7223abe75949b4af367942d96c7a-crosextrafonts-carlito-20130920.tar.gz"; + sha256 = "4bd12b6cbc321c1cf16da76e2c585c925ce956a08067ae6f6c64eff6ccfdaf5a"; + md5 = "c74b7223abe75949b4af367942d96c7a"; + md5name = "c74b7223abe75949b4af367942d96c7a-crosextrafonts-carlito-20130920.tar.gz"; + } + { + name = "dejavu-fonts-ttf-2.35.zip"; + url = "http://dev-www.libreoffice.org/src/d8b5214d35bcd2bfcb2cffa7795b351d-dejavu-fonts-ttf-2.35.zip"; + sha256 = "7e0d00f20080784c3a38a845d5858c161af14f0073d9474cdbfdedae883cc747"; + md5 = "d8b5214d35bcd2bfcb2cffa7795b351d"; + md5name = "d8b5214d35bcd2bfcb2cffa7795b351d-dejavu-fonts-ttf-2.35.zip"; + } + { + name = "gentiumbasic-fonts-1.10.zip"; + url = "http://dev-www.libreoffice.org/src/35efabc239af896dfb79be7ebdd6e6b9-gentiumbasic-fonts-1.10.zip"; + sha256 = "f1691e48d02effdee0701622297394451759f13e0e0b36e788847f4b3e2ba11b"; + md5 = "35efabc239af896dfb79be7ebdd6e6b9"; + md5name = "35efabc239af896dfb79be7ebdd6e6b9-gentiumbasic-fonts-1.10.zip"; + } + { + name = "liberation-fonts-ttf-1.07.4.tar.gz"; + url = "http://dev-www.libreoffice.org/src/134d8262145fc793c6af494dcace3e71-liberation-fonts-ttf-1.07.4.tar.gz"; + sha256 = "61a7e2b6742a43c73e8762cdfeaf6dfcf9abdd2cfa0b099a9854d69bc4cfee5c"; + md5 = "134d8262145fc793c6af494dcace3e71"; + md5name = "134d8262145fc793c6af494dcace3e71-liberation-fonts-ttf-1.07.4.tar.gz"; + } + { + name = "liberation-fonts-ttf-2.00.1.tar.gz"; + url = "http://dev-www.libreoffice.org/src/5c781723a0d9ed6188960defba8e91cf-liberation-fonts-ttf-2.00.1.tar.gz"; + sha256 = "7890278a6cd17873c57d9cd785c2d230d9abdea837e96516019c5885dd271504"; + md5 = "5c781723a0d9ed6188960defba8e91cf"; + md5name = "5c781723a0d9ed6188960defba8e91cf-liberation-fonts-ttf-2.00.1.tar.gz"; + } + { + name = "LinLibertineG-20120116.zip"; + url = "http://dev-www.libreoffice.org/src/e7a384790b13c29113e22e596ade9687-LinLibertineG-20120116.zip"; + sha256 = "54adcb2bc8cac0927a647fbd9362f45eff48130ce6e2379dc3867643019e08c5"; + md5 = "e7a384790b13c29113e22e596ade9687"; + md5name = "e7a384790b13c29113e22e596ade9687-LinLibertineG-20120116.zip"; + } + { + name = "open-sans-font-ttf-1.10.tar.gz"; + url = "http://dev-www.libreoffice.org/src/7a15edea7d415ac5150ea403e27401fd-open-sans-font-ttf-1.10.tar.gz"; + sha256 = "cc80fd415e57ecec067339beadd0eef9eaa45e65d3c51a922ba5f9172779bfb8"; + md5 = "7a15edea7d415ac5150ea403e27401fd"; + md5name = "7a15edea7d415ac5150ea403e27401fd-open-sans-font-ttf-1.10.tar.gz"; + } + { + name = "pt-serif-font-1.0000W.tar.gz"; + url = "http://dev-www.libreoffice.org/src/c3c1a8ba7452950636e871d25020ce0d-pt-serif-font-1.0000W.tar.gz"; + sha256 = "6757feb23f889a82df59679d02b8ee1f907df0a0ac1c49cdb48ed737b60e5dfa"; + md5 = "c3c1a8ba7452950636e871d25020ce0d"; + md5name = "c3c1a8ba7452950636e871d25020ce0d-pt-serif-font-1.0000W.tar.gz"; + } + { + name = "source-code-font-1.009.tar.gz"; + url = "http://dev-www.libreoffice.org/src/0279a21fab6f245e85a6f85fea54f511-source-code-font-1.009.tar.gz"; + sha256 = "9b295127164c81bcf28c7ebb687f1555b71796108b443a04d40202b7364e4cce"; + md5 = "0279a21fab6f245e85a6f85fea54f511"; + md5name = "0279a21fab6f245e85a6f85fea54f511-source-code-font-1.009.tar.gz"; + } + { + name = "source-sans-pro-2.010R-ro-1.065R-it.tar.gz"; + url = "http://dev-www.libreoffice.org/src/edc4d741888bc0d38e32dbaa17149596-source-sans-pro-2.010R-ro-1.065R-it.tar.gz"; + sha256 = "e7bc9a1fec787a529e49f5a26b93dcdcf41506449dfc70f92cdef6d17eb6fb61"; + md5 = "edc4d741888bc0d38e32dbaa17149596"; + md5name = "edc4d741888bc0d38e32dbaa17149596-source-sans-pro-2.010R-ro-1.065R-it.tar.gz"; + } + { + name = "libfreehand-0.1.1.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/libfreehand-0.1.1.tar.bz2"; + sha256 = "45dab0e5d632eb51eeb00847972ca03835d6791149e9e714f093a9df2b445877"; + md5 = "8cf70c5dc4d24d2dc4a107f509d2d6d7"; + md5name = "8cf70c5dc4d24d2dc4a107f509d2d6d7-libfreehand-0.1.1.tar.bz2"; + } + { + name = "freetype-2.4.8.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/dbf2caca1d3afd410a29217a9809d397-freetype-2.4.8.tar.bz2"; + sha256 = "a9eb7da3875fcb2f022a9c280c01b94ae45ac83d8102838c05dce1277948fb71"; + md5 = "dbf2caca1d3afd410a29217a9809d397"; + md5name = "dbf2caca1d3afd410a29217a9809d397-freetype-2.4.8.tar.bz2"; + } + { + name = "glew-1.12.0.zip"; + url = "http://dev-www.libreoffice.org/src/3941e9cab2f4f9d8faee3e8d57ae7664-glew-1.12.0.zip"; + sha256 = "6f1083eb034efbc3b2017ef052d58f3e9bd70963ec2acd26b3d59231ee1633d4"; + md5 = "3941e9cab2f4f9d8faee3e8d57ae7664"; + md5name = "3941e9cab2f4f9d8faee3e8d57ae7664-glew-1.12.0.zip"; + } + { + name = "glm-0.9.4.6-libreoffice.zip"; + url = "http://dev-www.libreoffice.org/src/bae83fa5dc7f081768daace6e199adc3-glm-0.9.4.6-libreoffice.zip"; + sha256 = "d0312c360efe04dd048b3311fe375ff36f1993b4c2e3cb58c81062990532904a"; + md5 = "bae83fa5dc7f081768daace6e199adc3"; + md5name = "bae83fa5dc7f081768daace6e199adc3-glm-0.9.4.6-libreoffice.zip"; + } + { + name = "glyphy-0.2.0.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/5d303fb955beb9bf112267316ca9d021-glyphy-0.2.0.tar.bz2"; + sha256 = "9a8f629f7ea40ba118199a37adee8f2dfb084cffa5f7f4db3a47b8b0075777be"; + md5 = "5d303fb955beb9bf112267316ca9d021"; + md5name = "5d303fb955beb9bf112267316ca9d021-glyphy-0.2.0.tar.bz2"; + } + { + name = "graphite-minimal-1.3.6.tgz"; + url = "http://dev-www.libreoffice.org/src/17df8301bcc459e83f8a8f3aca6183b2-graphite-minimal-1.3.6.tgz"; + sha256 = "db27e1a6092b8ea00b5f8eec2a3ea500756fbb769c1023a1afc3386c5918d1b8"; + md5 = "17df8301bcc459e83f8a8f3aca6183b2"; + md5name = "17df8301bcc459e83f8a8f3aca6183b2-graphite-minimal-1.3.6.tgz"; + } + { + name = "harfbuzz-0.9.40.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/harfbuzz-0.9.40.tar.bz2"; + sha256 = "1771d53583be6d91ca961854b2a24fb239ef0545eed221ae3349abae0ab8321f"; + md5 = "0e27e531f4c4acff601ebff0957755c2"; + md5name = "0e27e531f4c4acff601ebff0957755c2-harfbuzz-0.9.40.tar.bz2"; + } + { + name = "hsqldb_1_8_0.zip"; + url = "http://dev-www.libreoffice.org/src/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip"; + sha256 = "d30b13f4ba2e3b6a2d4f020c0dee0a9fb9fc6fbcc2d561f36b78da4bf3802370"; + md5 = "17410483b5b5f267aa18b7e00b65e6e0"; + md5name = "17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip"; + } + { + name = "hunspell-1.3.3.tar.gz"; + url = "http://dev-www.libreoffice.org/src/4967da60b23413604c9e563beacc63b4-hunspell-1.3.3.tar.gz"; + sha256 = "a7b2c0de0e2ce17426821dc1ac8eb115029959b3ada9d80a81739fa19373246c"; + md5 = "4967da60b23413604c9e563beacc63b4"; + md5name = "4967da60b23413604c9e563beacc63b4-hunspell-1.3.3.tar.gz"; + } + { + name = "hyphen-2.8.8.tar.gz"; + url = "http://dev-www.libreoffice.org/src/5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz"; + sha256 = "304636d4eccd81a14b6914d07b84c79ebb815288c76fe027b9ebff6ff24d5705"; + md5 = "5ade6ae2a99bc1e9e57031ca88d36dad"; + md5name = "5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz"; + } + { + name = "icu4c-56_1-src.tgz"; + url = "http://dev-www.libreoffice.org/src/c4a2d71ff56aec5ebfab2a3f059be99d-icu4c-56_1-src.tgz"; + sha256 = "3a64e9105c734dcf631c0b3ed60404531bce6c0f5a64bfe1a6402a4cc2314816"; + md5 = "c4a2d71ff56aec5ebfab2a3f059be99d"; + md5name = "c4a2d71ff56aec5ebfab2a3f059be99d-icu4c-56_1-src.tgz"; + } + { + name = "flow-engine-0.9.4.zip"; + url = "http://dev-www.libreoffice.org/src/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip"; + sha256 = "233f66e8d25c5dd971716d4200203a612a407649686ef3b52075d04b4c9df0dd"; + md5 = "ba2930200c9f019c2d93a8c88c651a0f"; + md5name = "ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip"; + } + { + name = "flute-1.1.6.zip"; + url = "http://dev-www.libreoffice.org/src/d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip"; + sha256 = "1b5b24f7bc543c0362b667692f78db8bab4ed6dafc6172f104d0bd3757d8a133"; + md5 = "d8bd5eed178db6e2b18eeed243f85aa8"; + md5name = "d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip"; + } + { + name = "libbase-1.1.6.zip"; + url = "http://dev-www.libreoffice.org/src/eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip"; + sha256 = "75c80359c9ce343c20aab8a36a45cb3b9ee7c61cf92c13ae45399d854423a9ba"; + md5 = "eeb2c7ddf0d302fba4bfc6e97eac9624"; + md5name = "eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip"; + } + { + name = "libfonts-1.1.6.zip"; + url = "http://dev-www.libreoffice.org/src/3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip"; + sha256 = "e0531091787c0f16c83965fdcbc49162c059d7f0c64669e7f119699321549743"; + md5 = "3bdf40c0d199af31923e900d082ca2dd"; + md5name = "3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip"; + } + { + name = "libformula-1.1.7.zip"; + url = "http://dev-www.libreoffice.org/src/3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip"; + sha256 = "5826d1551bf599b85742545f6e01a0079b93c1b2c8434bf409eddb3a29e4726b"; + md5 = "3404ab6b1792ae5f16bbd603bd1e1d03"; + md5name = "3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip"; + } + { + name = "liblayout-0.2.10.zip"; + url = "http://dev-www.libreoffice.org/src/db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip"; + sha256 = "e1fb87f3f7b980d33414473279615c4644027e013012d156efa538bc2b031772"; + md5 = "db60e4fde8dd6d6807523deb71ee34dc"; + md5name = "db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip"; + } + { + name = "libloader-1.1.6.zip"; + url = "http://dev-www.libreoffice.org/src/97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip"; + sha256 = "3d853b19b1d94a6efa69e7af90f7f2b09ecf302913bee3da796c15ecfebcfac8"; + md5 = "97b2d4dba862397f446b217e2b623e71"; + md5name = "97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip"; + } + { + name = "librepository-1.1.6.zip"; + url = "http://dev-www.libreoffice.org/src/8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip"; + sha256 = "abe2c57ac12ba45d83563b02e240fa95d973376de2f720aab8fe11f2e621c095"; + md5 = "8ce2fcd72becf06c41f7201d15373ed9"; + md5name = "8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip"; + } + { + name = "libserializer-1.1.6.zip"; + url = "http://dev-www.libreoffice.org/src/f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip"; + sha256 = "05640a1f6805b2b2d7e2cb9c50db9a5cb084e3c52ab1a71ce015239b4a1d4343"; + md5 = "f94d9870737518e3b597f9265f4e9803"; + md5name = "f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip"; + } + { + name = "libxml-1.1.7.zip"; + url = "http://dev-www.libreoffice.org/src/ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip"; + sha256 = "7d2797fe9f79a77009721e3f14fa4a1dec17a6d706bdc93f85f1f01d124fab66"; + md5 = "ace6ab49184e329db254e454a010f56d"; + md5name = "ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip"; + } + { + name = "sacjava-1.3.zip"; + url = "http://dev-www.libreoffice.org/src/39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip"; + sha256 = "085f2112c51fa8c1783fac12fbd452650596415121348393bb51f0f7e85a9045"; + md5 = "39bb3fcea1514f1369fcfc87542390fd"; + md5name = "39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip"; + } + { + name = "jpegsrc.v9a.tar.gz"; + url = "http://dev-www.libreoffice.org/src/jpegsrc.v9a.tar.gz"; + sha256 = "3a753ea48d917945dd54a2d97de388aa06ca2eb1066cbfdc6652036349fe05a7"; + md5 = "3353992aecaee1805ef4109aadd433e7"; + md5name = "3353992aecaee1805ef4109aadd433e7-jpegsrc.v9a.tar.gz"; + } + { + name = "libjpeg-turbo-1.4.2.tar.gz"; + url = "http://dev-www.libreoffice.org/src/libjpeg-turbo-1.4.2.tar.gz"; + sha256 = "521bb5d3043e7ac063ce3026d9a59cc2ab2e9636c655a2515af5f4706122233e"; + md5 = "86b0d5f7507c2e6c21c00219162c3c44"; + md5name = "86b0d5f7507c2e6c21c00219162c3c44-libjpeg-turbo-1.4.2.tar.gz"; + } + { + name = "language-subtag-registry-2016-02-10.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/language-subtag-registry-2016-02-10.tar.bz2"; + sha256 = "1e3a74b39e999bc9ff9fb0dd6fa6a64a0ed6bf7f0775ff3756e7c9e8db45a353"; + md5 = "d1e7c55a0383f7d720d3ead0b6117284"; + md5name = "d1e7c55a0383f7d720d3ead0b6117284-language-subtag-registry-2016-02-10.tar.bz2"; + } + { + name = "JLanguageTool-1.7.0.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/b63e6340a02ff1cacfeadb2c42286161-JLanguageTool-1.7.0.tar.bz2"; + sha256 = "48c87e41636783bba438b65fd895821e369ed139e1465fac654323ad93c5a82d"; + md5 = "b63e6340a02ff1cacfeadb2c42286161"; + md5name = "b63e6340a02ff1cacfeadb2c42286161-JLanguageTool-1.7.0.tar.bz2"; + } + { + name = "lcms2-2.6.tar.gz"; + url = "http://dev-www.libreoffice.org/src/lcms2-2.6.tar.gz"; + sha256 = "5172528839647c54c3da211837225e221be93e4733f5b5e9f57668f7107e14b1"; + md5 = "f4c08d38ceade4a664ebff7228910a33"; + md5name = "f4c08d38ceade4a664ebff7228910a33-lcms2-2.6.tar.gz"; + } + { + name = "libatomic_ops-7_2d.zip"; + url = "http://dev-www.libreoffice.org/src/libatomic_ops-7_2d.zip"; + sha256 = "cf5c52f08a2067ae4fe7c8919e3c1ccf3ee917f1749e0bcc7efffff59c68d9ad"; + md5 = "c0b86562d5aa40761a87134f83e6adcf"; + md5name = "c0b86562d5aa40761a87134f83e6adcf-libatomic_ops-7_2d.zip"; + } + { + name = "libeot-0.01.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/libeot-0.01.tar.bz2"; + sha256 = "cf5091fa8e7dcdbe667335eb90a2cfdd0a3fe8f8c7c8d1ece44d9d055736a06a"; + md5 = "aa24f5dd2a2992f4a116aa72af817548"; + md5name = "aa24f5dd2a2992f4a116aa72af817548-libeot-0.01.tar.bz2"; + } + { + name = "libexttextcat-3.4.4.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/10d61fbaa6a06348823651b1bd7940fe-libexttextcat-3.4.4.tar.bz2"; + sha256 = "9595601c41051356d03d0a7d5dcad334fe1b420d221f6885d143c14bb8d62163"; + md5 = "10d61fbaa6a06348823651b1bd7940fe"; + md5name = "10d61fbaa6a06348823651b1bd7940fe-libexttextcat-3.4.4.tar.bz2"; + } + { + name = "libgltf-0.0.2.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/libgltf/libgltf-0.0.2.tar.bz2"; + sha256 = "d1cc7297ed1921aa969e26413b4c4e18afc882ce4d2f5a2aa2a2905706f7206b"; + md5 = "d63a9f47ab048f5009d90693d6aa6424"; + md5name = "d63a9f47ab048f5009d90693d6aa6424-libgltf-0.0.2.tar.bz2"; + } + { + name = "liblangtag-0.5.8.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/aa899eff126216dafe721149fbdb511b-liblangtag-0.5.8.tar.bz2"; + sha256 = "08e2f64bfe3f750be7391eb0af53967e164b628c59f02be4d83789eb4f036eaa"; + md5 = "aa899eff126216dafe721149fbdb511b"; + md5name = "aa899eff126216dafe721149fbdb511b-liblangtag-0.5.8.tar.bz2"; + } + { + name = "xmlsec1-1.2.14.tar.gz"; + url = "http://dev-www.libreoffice.org/src/1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz"; + sha256 = "390a5085651828b8fe12aa978b200f59b9155eedbb91a4be89bf7cf39eefdd4a"; + md5 = "1f24ab1d39f4a51faf22244c94a6203f"; + md5name = "1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz"; + } + { + name = "libxml2-2.9.4.tar.gz"; + url = "http://dev-www.libreoffice.org/src/ae249165c173b1ff386ee8ad676815f5-libxml2-2.9.4.tar.gz"; + sha256 = "ffb911191e509b966deb55de705387f14156e1a56b21824357cdf0053233633c"; + md5 = "ae249165c173b1ff386ee8ad676815f5"; + md5name = "ae249165c173b1ff386ee8ad676815f5-libxml2-2.9.4.tar.gz"; + } + { + name = "libxslt-1.1.28.tar.gz"; + url = "http://dev-www.libreoffice.org/src/9667bf6f9310b957254fdcf6596600b7-libxslt-1.1.28.tar.gz"; + sha256 = "5fc7151a57b89c03d7b825df5a0fae0a8d5f05674c0e7cf2937ecec4d54a028c"; + md5 = "9667bf6f9310b957254fdcf6596600b7"; + md5name = "9667bf6f9310b957254fdcf6596600b7-libxslt-1.1.28.tar.gz"; + } + { + name = "lp_solve_5.5.tar.gz"; + url = "http://dev-www.libreoffice.org/src/26b3e95ddf3d9c077c480ea45874b3b8-lp_solve_5.5.tar.gz"; + sha256 = "171816288f14215c69e730f7a4f1c325739873e21f946ff83884b350574e6695"; + md5 = "26b3e95ddf3d9c077c480ea45874b3b8"; + md5name = "26b3e95ddf3d9c077c480ea45874b3b8-lp_solve_5.5.tar.gz"; + } + { + name = "mariadb_client-2.0.0-src.tar.gz"; + url = "http://dev-www.libreoffice.org/src/a233181e03d3c307668b4c722d881661-mariadb_client-2.0.0-src.tar.gz"; + sha256 = "fd2f751dea049c1907735eb236aeace1d811d6a8218118b00bbaa9b84dc5cd60"; + md5 = "a233181e03d3c307668b4c722d881661"; + md5name = "a233181e03d3c307668b4c722d881661-mariadb_client-2.0.0-src.tar.gz"; + } + { + name = "mdds_0.12.1.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/mdds_0.12.1.tar.bz2"; + sha256 = "23565e9d7810a6ac30478833813db847f80e927b414a7be07b7cc03ed3aae83d"; + md5 = "ef2560ed5416652a7fe195305b14cebe"; + md5name = "ef2560ed5416652a7fe195305b14cebe-mdds_0.12.1.tar.bz2"; + } + { + name = "libmspub-0.1.2.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/libmspub-0.1.2.tar.bz2"; + sha256 = "26d488527ffbb0b41686d4bab756e3e6aaeb99f88adeb169d0c16d2cde96859a"; + md5 = "ff9d0f9dd8fbc523408ea1953d5bde41"; + md5name = "ff9d0f9dd8fbc523408ea1953d5bde41-libmspub-0.1.2.tar.bz2"; + } + { + name = "libmwaw-0.3.7.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/libmwaw-0.3.7.tar.bz2"; + sha256 = "a66b3e45a5ba5dd89849a766e128585cac8aaf9e9c6f037040200e5bf31f1427"; + md5 = "4a8a53a9d997cf0e2bd208178797dbfb"; + md5name = "4a8a53a9d997cf0e2bd208178797dbfb-libmwaw-0.3.7.tar.bz2"; + } + { + name = "mysql-connector-c++-1.1.4.tar.gz"; + url = "http://dev-www.libreoffice.org/src/7239a4430efd4d0189c4f24df67f08e5-mysql-connector-c++-1.1.4.tar.gz"; + sha256 = "a25f14dad39e93a2f9cdf09166ee53981f7212dce829e4208e07a522963a8585"; + md5 = "7239a4430efd4d0189c4f24df67f08e5"; + md5name = "7239a4430efd4d0189c4f24df67f08e5-mysql-connector-c++-1.1.4.tar.gz"; + } + { + name = "mythes-1.2.4.tar.gz"; + url = "http://dev-www.libreoffice.org/src/a8c2c5b8f09e7ede322d5c602ff6a4b6-mythes-1.2.4.tar.gz"; + sha256 = "1e81f395d8c851c3e4e75b568e20fa2fa549354e75ab397f9de4b0e0790a305f"; + md5 = "a8c2c5b8f09e7ede322d5c602ff6a4b6"; + md5name = "a8c2c5b8f09e7ede322d5c602ff6a4b6-mythes-1.2.4.tar.gz"; + } + { + name = "neon-0.30.1.tar.gz"; + url = "http://dev-www.libreoffice.org/src/231adebe5c2f78fded3e3df6e958878e-neon-0.30.1.tar.gz"; + sha256 = "00c626c0dc18d094ab374dbd9a354915bfe4776433289386ed489c2ec0845cdd"; + md5 = "231adebe5c2f78fded3e3df6e958878e"; + md5name = "231adebe5c2f78fded3e3df6e958878e-neon-0.30.1.tar.gz"; + } + { + name = "nss-3.22.2-with-nspr-4.12.tar.gz"; + url = "http://dev-www.libreoffice.org/src/6b254cf2f8cb4b27a3f0b8b7b9966ea7-nss-3.22.2-with-nspr-4.12.tar.gz"; + sha256 = "7bc7e5483fc90071be5facd3043f94c69b153055a369c8f0b751ad374c5ae09e"; + md5 = "6b254cf2f8cb4b27a3f0b8b7b9966ea7"; + md5name = "6b254cf2f8cb4b27a3f0b8b7b9966ea7-nss-3.22.2-with-nspr-4.12.tar.gz"; + } + { + name = "libodfgen-0.1.6.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/libodfgen-0.1.6.tar.bz2"; + sha256 = "2c7b21892f84a4c67546f84611eccdad6259875c971e98ddb027da66ea0ac9c2"; + md5 = "32572ea48d9021bbd6fa317ddb697abc"; + md5name = "32572ea48d9021bbd6fa317ddb697abc-libodfgen-0.1.6.tar.bz2"; + } + { + name = "OpenCOLLADA-master-6509aa13af.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/OpenCOLLADA-master-6509aa13af.tar.bz2"; + sha256 = "8f25d429237cde289a448c82a0a830791354ccce5ee40d77535642e46367d6c4"; + md5 = "4ca8a6ef0afeefc864e9ef21b9f14bd6"; + md5name = "4ca8a6ef0afeefc864e9ef21b9f14bd6-OpenCOLLADA-master-6509aa13af.tar.bz2"; + } + { + name = "openldap-2.4.31.tgz"; + url = "http://dev-www.libreoffice.org/src/804c6cb5698db30b75ad0ff1c25baefd-openldap-2.4.31.tgz"; + sha256 = "bde845840df4794b869a6efd6a6b1086f80989038e4844b2e4d7d6b57b39c5b6"; + md5 = "804c6cb5698db30b75ad0ff1c25baefd"; + md5name = "804c6cb5698db30b75ad0ff1c25baefd-openldap-2.4.31.tgz"; + } + { + name = "openssl-1.0.2h.tar.gz"; + url = "http://dev-www.libreoffice.org/src/openssl-1.0.2h.tar.gz"; + sha256 = "1d4007e53aad94a5b2002fe045ee7bb0b3d98f1a47f8b2bc851dcd1c74332919"; + md5 = "9392e65072ce4b614c1392eefc1f23d0"; + md5name = "9392e65072ce4b614c1392eefc1f23d0-openssl-1.0.2h.tar.gz"; + } + { + name = "liborcus-0.9.2.tar.gz"; + url = "http://dev-www.libreoffice.org/src/liborcus-0.9.2.tar.gz"; + sha256 = "adcf90f6cb1e6546ef1ea11277db39cb875786ea4b283e37f5e37c8c09b4952b"; + md5 = "e6efcbe50a5fd4d50d513c9a7a4139b0"; + md5name = "e6efcbe50a5fd4d50d513c9a7a4139b0-liborcus-0.9.2.tar.gz"; + } + { + name = "owncloud-android-library-0.9.4-no-binary-deps.tar.gz"; + url = "http://dev-www.libreoffice.org/src/owncloud-android-library-0.9.4-no-binary-deps.tar.gz"; + sha256 = "b18b3e3ef7fae6a79b62f2bb43cc47a5346b6330f6a383dc4be34439aca5e9fb"; + md5 = "593f0aa47bf2efc0efda2d28fae063b2"; + md5name = "593f0aa47bf2efc0efda2d28fae063b2-owncloud-android-library-0.9.4-no-binary-deps.tar.gz"; + } + { + name = "libpagemaker-0.0.2.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/libpagemaker-0.0.2.tar.bz2"; + sha256 = "43be46721affcb5a967406c09acfc36c79d2d968917fe36a21cc004230a01e0f"; + md5 = "795cc7a59ace4db2b12586971d668671"; + md5name = "795cc7a59ace4db2b12586971d668671-libpagemaker-0.0.2.tar.bz2"; + } + { + name = "pixman-0.24.4.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/c63f411b3ad147db2bcce1bf262a0e02-pixman-0.24.4.tar.bz2"; + sha256 = "3d1bf79329be76103c7d9632a79962178364371807104a10e5f63ae0551731dc"; + md5 = "c63f411b3ad147db2bcce1bf262a0e02"; + md5name = "c63f411b3ad147db2bcce1bf262a0e02-pixman-0.24.4.tar.bz2"; + } + { + name = "libpng-1.6.24.tar.gz"; + url = "http://dev-www.libreoffice.org/src/libpng-1.6.24.tar.gz"; + sha256 = "be46e0d14ccac3800f816ae860d191a1187a40164b7552c44afeee97a9caa0a3"; + md5 = "65213080dd30a9b16193d9b83adc1ee9"; + md5name = "65213080dd30a9b16193d9b83adc1ee9-libpng-1.6.24.tar.gz"; + } + { + name = "poppler-0.26.4.tar.gz"; + url = "http://dev-www.libreoffice.org/src/poppler-0.26.4.tar.gz"; + sha256 = "e05a4d8d8252a564ec7a96a99af772042b2d85275ffda8043f427dde31e97fe8"; + md5 = "35c0660065d023365e9854c13e289d12"; + md5name = "35c0660065d023365e9854c13e289d12-poppler-0.26.4.tar.gz"; + } + { + name = "postgresql-9.2.1.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/c0b4799ea9850eae3ead14f0a60e9418-postgresql-9.2.1.tar.bz2"; + sha256 = "db61d498105a7d5fe46185e67ac830c878cdd7dc1f82a87f06b842217924c461"; + md5 = "c0b4799ea9850eae3ead14f0a60e9418"; + md5name = "c0b4799ea9850eae3ead14f0a60e9418-postgresql-9.2.1.tar.bz2"; + } + { + name = "Python-3.3.5.tgz"; + url = "http://dev-www.libreoffice.org/src/Python-3.3.5.tgz"; + sha256 = "916bc57dd8524dc27429bebae7b39d6942742cf9699b875b2b496a3d960c7168"; + md5 = "803a75927f8f241ca78633890c798021"; + md5name = "803a75927f8f241ca78633890c798021-Python-3.3.5.tgz"; + } + { + name = "Python-3.5.0.tgz"; + url = "http://dev-www.libreoffice.org/src/Python-3.5.0.tgz"; + sha256 = "584e3d5a02692ca52fce505e68ecd77248a6f2c99adf9db144a39087336b0fe0"; + md5 = "a56c0c0b45d75a0ec9c6dee933c41c36"; + md5name = "a56c0c0b45d75a0ec9c6dee933c41c36-Python-3.5.0.tgz"; + } + { + name = "raptor2-2.0.9.tar.gz"; + url = "http://dev-www.libreoffice.org/src/4ceb9316488b0ea01acf011023cf7fff-raptor2-2.0.9.tar.gz"; + sha256 = "e26fb9c18e6ebf71100f434070d50196a21d592b715e361850c3b4e789b5f6ef"; + md5 = "4ceb9316488b0ea01acf011023cf7fff"; + md5name = "4ceb9316488b0ea01acf011023cf7fff-raptor2-2.0.9.tar.gz"; + } + { + name = "rasqal-0.9.30.tar.gz"; + url = "http://dev-www.libreoffice.org/src/b12c5f9cfdb6b04efce5a4a186b8416b-rasqal-0.9.30.tar.gz"; + sha256 = "abf0e93d80cc79bdf383fd3e904255bf98bc729356d6cf2f673bce74b08b1cfd"; + md5 = "b12c5f9cfdb6b04efce5a4a186b8416b"; + md5name = "b12c5f9cfdb6b04efce5a4a186b8416b-rasqal-0.9.30.tar.gz"; + } + { + name = "redland-1.0.16.tar.gz"; + url = "http://dev-www.libreoffice.org/src/32f8e1417a64d3c6f2c727f9053f55ea-redland-1.0.16.tar.gz"; + sha256 = "d9a274fc086e61119d5c9beafb8d05527e040ec86f4c0961276ca8de0a049dbd"; + md5 = "32f8e1417a64d3c6f2c727f9053f55ea"; + md5name = "32f8e1417a64d3c6f2c727f9053f55ea-redland-1.0.16.tar.gz"; + } + { + name = "librevenge-0.0.4.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/librevenge-0.0.4.tar.bz2"; + sha256 = "c51601cd08320b75702812c64aae0653409164da7825fd0f451ac2c5dbe77cbf"; + md5 = "5b9ac52ec77d4d19157cf5962ebc0aea"; + md5name = "5b9ac52ec77d4d19157cf5962ebc0aea-librevenge-0.0.4.tar.bz2"; + } + { + name = "rhino1_5R5.zip"; + url = "http://dev-www.libreoffice.org/src/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip"; + sha256 = "1fb458d6aab06932693cc8a9b6e4e70944ee1ff052fa63606e3131df34e21753"; + md5 = "798b2ffdc8bcfe7bca2cf92b62caf685"; + md5name = "798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip"; + } + { + name = "serf-1.2.1.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/serf-1.2.1.tar.bz2"; + sha256 = "6988d394b62c3494635b6f0760bc3079f9a0cd380baf0f6b075af1eb9fa5e700"; + md5 = "4f8e76c9c6567aee1d66aba49f76a58b"; + md5name = "4f8e76c9c6567aee1d66aba49f76a58b-serf-1.2.1.tar.bz2"; + } + { + name = "swingExSrc.zip"; + url = "http://dev-www.libreoffice.org/src/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip"; + sha256 = "64585ac36a81291a58269ec5347e7e3e2e8596dbacb9221015c208191333c6e1"; + md5 = "35c94d2df8893241173de1d16b6034c0"; + md5name = "35c94d2df8893241173de1d16b6034c0-swingExSrc.zip"; + } + { + name = "ucpp-1.3.2.tar.gz"; + url = "http://dev-www.libreoffice.org/src/0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz"; + sha256 = "983941d31ee8d366085cadf28db75eb1f5cb03ba1e5853b98f12f7f51c63b776"; + md5 = "0168229624cfac409e766913506961a8"; + md5name = "0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz"; + } + { + name = "vigra1.6.0.tar.gz"; + url = "http://dev-www.libreoffice.org/src/d62650a6f908e85643e557a236ea989c-vigra1.6.0.tar.gz"; + sha256 = "1f188ac03a8aa4663223eca8c82f91a55293d066d67127082e29a7dba1a98c9f"; + md5 = "d62650a6f908e85643e557a236ea989c"; + md5name = "d62650a6f908e85643e557a236ea989c-vigra1.6.0.tar.gz"; + } + { + name = "libvisio-0.1.5.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/libvisio-0.1.5.tar.bz2"; + sha256 = "b83b7991a40b4e7f07d0cac7bb46ddfac84dece705fd18e21bfd119a09be458e"; + md5 = "cbee198a78b842b2087f32d33c522818"; + md5name = "cbee198a78b842b2087f32d33c522818-libvisio-0.1.5.tar.bz2"; + } + { + name = "libwpd-0.10.1.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/libwpd-0.10.1.tar.bz2"; + sha256 = "efc20361d6e43f9ff74de5f4d86c2ce9c677693f5da08b0a88d603b7475a508d"; + md5 = "79b56bcc349264d686a67994506ad199"; + md5name = "79b56bcc349264d686a67994506ad199-libwpd-0.10.1.tar.bz2"; + } + { + name = "libwpg-0.3.1.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/libwpg-0.3.1.tar.bz2"; + sha256 = "29049b95895914e680390717a243b291448e76e0f82fb4d2479adee5330fbb59"; + md5 = "dfd066658ec9d2fb2262417039a8a1c3"; + md5name = "dfd066658ec9d2fb2262417039a8a1c3-libwpg-0.3.1.tar.bz2"; + } + { + name = "libwps-0.4.2.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/libwps-0.4.2.tar.bz2"; + sha256 = "254b8aeb36a3b58eabf682b04a5a6cf9b01267e762c7dc57d4533b95f30dc587"; + md5 = "8a6c55542ce80203dd6d3b1cba99d4e5"; + md5name = "8a6c55542ce80203dd6d3b1cba99d4e5-libwps-0.4.2.tar.bz2"; + } + { + name = "xsltml_2.1.2.zip"; + url = "http://dev-www.libreoffice.org/src/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip"; + sha256 = "75823776fb51a9c526af904f1503a7afaaab900fba83eda64f8a41073724c870"; + md5 = "a7983f859eafb2677d7ff386a023bc40"; + md5name = "a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip"; + } + { + name = "zlib-1.2.8.tar.gz"; + url = "http://dev-www.libreoffice.org/src/zlib-1.2.8.tar.gz"; + sha256 = "36658cb768a54c1d4dec43c3116c27ed893e88b02ecfcb44f2166f9c0b7f2a0d"; + md5 = "44d667c142d7cda120332623eab69f40"; + md5name = "44d667c142d7cda120332623eab69f40-zlib-1.2.8.tar.gz"; + } ] diff --git a/pkgs/applications/office/libreoffice/libreoffice-srcs.nix b/pkgs/applications/office/libreoffice/libreoffice-srcs.nix index 219b7e20632a..6cacff49fc65 100644 --- a/pkgs/applications/office/libreoffice/libreoffice-srcs.nix +++ b/pkgs/applications/office/libreoffice/libreoffice-srcs.nix @@ -1,533 +1,744 @@ [ -{ - name = "libabw-0.1.1.tar.bz2"; - md5 = "7a3815b506d064313ba309617b6f5a0b"; - brief = true; -} -{ - name = "commons-logging-1.2-src.tar.gz"; - md5 = "ce977548f1cbf46918e93cd38ac35163"; - brief = true; -} -{ - name = "apr-1.4.8.tar.gz"; - md5 = "eff9d741b0999a9bbab96862dd2a2a3d"; - brief = true; -} -{ - name = "apr-util-1.5.3.tar.gz"; - md5 = "71a11d037240b292f824ba1eb537b4e3"; - brief = true; -} -{ - name = "boost_1_60_0.tar.bz2"; - md5 = "65a840e1a0b13a558ff19eeb2c4f0cbe"; - brief = true; -} -{ - name = "breakpad.zip"; - md5 = "415ce291aa6f2ee1d5db7b62bf62ade8"; - brief = true; -} -{ - name = "bsh-2.0b6-src.zip"; - md5 = "beeca87be45ec87d241ddd0e1bad80c1"; - brief = false; -} -{ - name = "bzip2-1.0.6.tar.gz"; - md5 = "00b516f4704d4a7cb50a1d97e6e8e15b"; - brief = false; -} -{ - name = "cairo-1.10.2.tar.gz"; - md5 = "f101a9e88b783337b20b2e26dfd26d5f"; - brief = false; -} -{ - name = "libcdr-0.1.2.tar.bz2"; - md5 = "6e3062b55b149d7b3c6aedb3bb5b86e2"; - brief = true; -} -{ - name = "clucene-core-2.3.3.4.tar.gz"; - md5 = "48d647fbd8ef8889e5a7f422c1bfda94"; - brief = false; -} -{ - name = "libcmis-0.5.1.tar.gz"; - md5 = "3270154f0f40d86fce849b161f914101"; - brief = true; -} -{ - name = "CoinMP-1.7.6.tgz"; - md5 = "1cce53bf4b40ae29790d2c5c9f8b1129"; - brief = true; -} -{ - name = "collada2gltf-master-cb1d97788a.tar.bz2"; - md5 = "4b87018f7fff1d054939d19920b751a0"; - brief = false; -} -{ - name = "cppunit-1.13.2.tar.gz"; - md5 = "d1c6bdd5a76c66d2c38331e2d287bc01"; - brief = true; -} -{ - name = "converttexttonumber-1-5-0.oxt"; - md5 = "1f467e5bb703f12cbbb09d5cf67ecf4a"; - brief = false; -} -{ - name = "curl-7.43.0.tar.bz2"; - md5 = "11bddbb452a8b766b932f859aaeeed39"; - brief = true; -} -{ - name = "libe-book-0.1.2.tar.bz2"; - md5 = "6b48eda57914e6343efebc9381027b78"; - brief = true; -} -{ - name = "epm-3.7.tar.gz"; - md5 = "3ade8cfe7e59ca8e65052644fed9fca4"; - brief = false; -} -{ - name = "libetonyek-0.1.6.tar.bz2"; - md5 = "77ff46936dcc83670557274e7dd2aa33"; - brief = true; -} -{ - name = "expat-2.2.0.tar.bz2"; - md5 = "2f47841c829facb346eb6e3fab5212e2"; - brief = true; -} -{ - name = "Firebird-2.5.5.26952-0.tar.bz2"; - md5 = "b0b5293991fcf07347b38431c80be1d4"; - brief = true; -} -{ - name = "fontconfig-2.8.0.tar.gz"; - md5 = "77e15a92006ddc2adbb06f840d591c0e"; - brief = false; -} -{ - name = "crosextrafonts-20130214.tar.gz"; - md5 = "368f114c078f94214a308a74c7e991bc"; - brief = false; -} -{ - name = "crosextrafonts-carlito-20130920.tar.gz"; - md5 = "c74b7223abe75949b4af367942d96c7a"; - brief = false; -} -{ - name = "dejavu-fonts-ttf-2.35.zip"; - md5 = "d8b5214d35bcd2bfcb2cffa7795b351d"; - brief = false; -} -{ - name = "gentiumbasic-fonts-1.10.zip"; - md5 = "35efabc239af896dfb79be7ebdd6e6b9"; - brief = false; -} -{ - name = "liberation-fonts-ttf-1.07.4.tar.gz"; - md5 = "134d8262145fc793c6af494dcace3e71"; - brief = false; -} -{ - name = "liberation-fonts-ttf-2.00.1.tar.gz"; - md5 = "5c781723a0d9ed6188960defba8e91cf"; - brief = false; -} -{ - name = "LinLibertineG-20120116.zip"; - md5 = "e7a384790b13c29113e22e596ade9687"; - brief = false; -} -{ - name = "open-sans-font-ttf-1.10.tar.gz"; - md5 = "7a15edea7d415ac5150ea403e27401fd"; - brief = false; -} -{ - name = "pt-serif-font-1.0000W.tar.gz"; - md5 = "c3c1a8ba7452950636e871d25020ce0d"; - brief = false; -} -{ - name = "source-code-font-1.009.tar.gz"; - md5 = "0279a21fab6f245e85a6f85fea54f511"; - brief = false; -} -{ - name = "source-sans-pro-2.010R-ro-1.065R-it.tar.gz"; - md5 = "edc4d741888bc0d38e32dbaa17149596"; - brief = false; -} -{ - name = "libfreehand-0.1.1.tar.bz2"; - md5 = "8cf70c5dc4d24d2dc4a107f509d2d6d7"; - brief = true; -} -{ - name = "freetype-2.4.8.tar.bz2"; - md5 = "dbf2caca1d3afd410a29217a9809d397"; - brief = false; -} -{ - name = "glew-1.12.0.zip"; - md5 = "3941e9cab2f4f9d8faee3e8d57ae7664"; - brief = false; -} -{ - name = "glm-0.9.4.6-libreoffice.zip"; - md5 = "bae83fa5dc7f081768daace6e199adc3"; - brief = false; -} -{ - name = "glyphy-0.2.0.tar.bz2"; - md5 = "5d303fb955beb9bf112267316ca9d021"; - brief = false; -} -{ - name = "graphite2-minimal-1.3.8.tgz"; - md5 = "4311dd9ace498b57c85f611e0670df64"; - brief = false; -} -{ - name = "harfbuzz-1.2.6.tar.bz2"; - md5 = "9f4b6831c86135faef011e991f59f77f"; - brief = true; -} -{ - name = "hsqldb_1_8_0.zip"; - md5 = "17410483b5b5f267aa18b7e00b65e6e0"; - brief = false; -} -{ - name = "hunspell-1.4.1.tar.gz"; - md5 = "33d370f7fe5a030985e445a5672b2067"; - brief = false; -} -{ - name = "hyphen-2.8.8.tar.gz"; - md5 = "5ade6ae2a99bc1e9e57031ca88d36dad"; - brief = false; -} -{ - name = "icu4c-57_1-src.tgz"; - md5 = "976734806026a4ef8bdd17937c8898b9"; - brief = false; -} -{ - name = "flow-engine-0.9.4.zip"; - md5 = "ba2930200c9f019c2d93a8c88c651a0f"; - brief = false; -} -{ - name = "flute-1.1.6.zip"; - md5 = "d8bd5eed178db6e2b18eeed243f85aa8"; - brief = false; -} -{ - name = "libbase-1.1.6.zip"; - md5 = "eeb2c7ddf0d302fba4bfc6e97eac9624"; - brief = false; -} -{ - name = "libfonts-1.1.6.zip"; - md5 = "3bdf40c0d199af31923e900d082ca2dd"; - brief = false; -} -{ - name = "libformula-1.1.7.zip"; - md5 = "3404ab6b1792ae5f16bbd603bd1e1d03"; - brief = false; -} -{ - name = "liblayout-0.2.10.zip"; - md5 = "db60e4fde8dd6d6807523deb71ee34dc"; - brief = false; -} -{ - name = "libloader-1.1.6.zip"; - md5 = "97b2d4dba862397f446b217e2b623e71"; - brief = false; -} -{ - name = "librepository-1.1.6.zip"; - md5 = "8ce2fcd72becf06c41f7201d15373ed9"; - brief = false; -} -{ - name = "libserializer-1.1.6.zip"; - md5 = "f94d9870737518e3b597f9265f4e9803"; - brief = false; -} -{ - name = "libxml-1.1.7.zip"; - md5 = "ace6ab49184e329db254e454a010f56d"; - brief = false; -} -{ - name = "sacjava-1.3.zip"; - md5 = "39bb3fcea1514f1369fcfc87542390fd"; - brief = false; -} -{ - name = "jpegsrc.v9a.tar.gz"; - md5 = "3353992aecaee1805ef4109aadd433e7"; - brief = true; -} -{ - name = "libjpeg-turbo-1.4.2.tar.gz"; - md5 = "86b0d5f7507c2e6c21c00219162c3c44"; - brief = true; -} -{ - name = "language-subtag-registry-2016-02-10.tar.bz2"; - md5 = "d1e7c55a0383f7d720d3ead0b6117284"; - brief = true; -} -{ - name = "JLanguageTool-1.7.0.tar.bz2"; - md5 = "b63e6340a02ff1cacfeadb2c42286161"; - brief = false; -} -{ - name = "lcms2-2.6.tar.gz"; - md5 = "f4c08d38ceade4a664ebff7228910a33"; - brief = true; -} -{ - name = "libatomic_ops-7_2d.zip"; - md5 = "c0b86562d5aa40761a87134f83e6adcf"; - brief = true; -} -{ - name = "libeot-0.01.tar.bz2"; - md5 = "aa24f5dd2a2992f4a116aa72af817548"; - brief = true; -} -{ - name = "libexttextcat-3.4.4.tar.bz2"; - md5 = "10d61fbaa6a06348823651b1bd7940fe"; - brief = false; -} -{ - name = "libgltf-0.0.2.tar.bz2"; - md5 = "d63a9f47ab048f5009d90693d6aa6424"; - brief = true; - subDir = "libgltf/"; -} -{ - name = "liblangtag-0.5.8.tar.bz2"; - md5 = "aa899eff126216dafe721149fbdb511b"; - brief = false; -} -{ - name = "xmlsec1-1.2.20.tar.gz"; - md5 = "ce12af00283eb90d9281956524250d6e"; - brief = false; -} -{ - name = "libxml2-2.9.4.tar.gz"; - md5 = "ae249165c173b1ff386ee8ad676815f5"; - brief = false; -} -{ - name = "libxslt-1.1.29.tar.gz"; - md5 = "a129d3c44c022de3b9dcf6d6f288d72e"; - brief = false; -} -{ - name = "lp_solve_5.5.tar.gz"; - md5 = "26b3e95ddf3d9c077c480ea45874b3b8"; - brief = false; -} -{ - name = "mariadb_client-2.0.0-src.tar.gz"; - md5 = "a233181e03d3c307668b4c722d881661"; - brief = false; -} -{ - name = "mdds-1.2.0.tar.bz2"; - md5 = "9f3383fb7bae825eab69f3a6ec1d74b2"; - brief = true; -} -{ - name = "mDNSResponder-576.30.4.tar.gz"; - md5 = "940057ac8b513b00e8e9ca12ef796762"; - brief = true; -} -{ - name = "libmspub-0.1.2.tar.bz2"; - md5 = "ff9d0f9dd8fbc523408ea1953d5bde41"; - brief = true; -} -{ - name = "libmwaw-0.3.7.tar.bz2"; - md5 = "4a8a53a9d997cf0e2bd208178797dbfb"; - brief = true; -} -{ - name = "mysql-connector-c++-1.1.4.tar.gz"; - md5 = "7239a4430efd4d0189c4f24df67f08e5"; - brief = false; -} -{ - name = "mythes-1.2.4.tar.gz"; - md5 = "a8c2c5b8f09e7ede322d5c602ff6a4b6"; - brief = false; -} -{ - name = "neon-0.30.1.tar.gz"; - md5 = "231adebe5c2f78fded3e3df6e958878e"; - brief = false; -} -{ - name = "nss-3.22.2-with-nspr-4.12.tar.gz"; - md5 = "6b254cf2f8cb4b27a3f0b8b7b9966ea7"; - brief = false; -} -{ - name = "libodfgen-0.1.6.tar.bz2"; - md5 = "32572ea48d9021bbd6fa317ddb697abc"; - brief = true; -} -{ - name = "OpenCOLLADA-master-6509aa13af.tar.bz2"; - md5 = "4ca8a6ef0afeefc864e9ef21b9f14bd6"; - brief = true; -} -{ - name = "openldap-2.4.31.tgz"; - md5 = "804c6cb5698db30b75ad0ff1c25baefd"; - brief = false; -} -{ - name = "openssl-1.0.2h.tar.gz"; - md5 = "9392e65072ce4b614c1392eefc1f23d0"; - brief = true; -} -{ - name = "liborcus-0.11.2.tar.gz"; - md5 = "205badaee72adf99422add8c4c49d669"; - brief = true; -} -{ - name = "owncloud-android-library-0.9.4-no-binary-deps.tar.gz"; - md5 = "593f0aa47bf2efc0efda2d28fae063b2"; - brief = true; -} -{ - name = "libpagemaker-0.0.3.tar.bz2"; - md5 = "5c4985a68be0b79d3f809da5e12b143c"; - brief = true; -} -{ - name = "pixman-0.24.4.tar.bz2"; - md5 = "c63f411b3ad147db2bcce1bf262a0e02"; - brief = false; -} -{ - name = "libpng-1.6.19.tar.gz"; - md5 = "3121bdc77c365a87e054b9f859f421fe"; - brief = true; -} -{ - name = "poppler-0.26.4.tar.gz"; - md5 = "35c0660065d023365e9854c13e289d12"; - brief = true; -} -{ - name = "postgresql-9.2.1.tar.bz2"; - md5 = "c0b4799ea9850eae3ead14f0a60e9418"; - brief = false; -} -{ - name = "Python-3.3.5.tgz"; - md5 = "803a75927f8f241ca78633890c798021"; - brief = true; -} -{ - name = "Python-3.5.0.tgz"; - md5 = "a56c0c0b45d75a0ec9c6dee933c41c36"; - brief = true; -} -{ - name = "raptor2-2.0.9.tar.gz"; - md5 = "4ceb9316488b0ea01acf011023cf7fff"; - brief = false; -} -{ - name = "rasqal-0.9.30.tar.gz"; - md5 = "b12c5f9cfdb6b04efce5a4a186b8416b"; - brief = false; -} -{ - name = "redland-1.0.16.tar.gz"; - md5 = "32f8e1417a64d3c6f2c727f9053f55ea"; - brief = false; -} -{ - name = "librevenge-0.0.4.tar.bz2"; - md5 = "5b9ac52ec77d4d19157cf5962ebc0aea"; - brief = true; -} -{ - name = "rhino1_5R5.zip"; - md5 = "798b2ffdc8bcfe7bca2cf92b62caf685"; - brief = false; -} -{ - name = "serf-1.2.1.tar.bz2"; - md5 = "4f8e76c9c6567aee1d66aba49f76a58b"; - brief = true; -} -{ - name = "swingExSrc.zip"; - md5 = "35c94d2df8893241173de1d16b6034c0"; - brief = false; -} -{ - name = "ucpp-1.3.2.tar.gz"; - md5 = "0168229624cfac409e766913506961a8"; - brief = false; -} -{ - name = "libvisio-0.1.5.tar.bz2"; - md5 = "cbee198a78b842b2087f32d33c522818"; - brief = true; -} -{ - name = "libwpd-0.10.1.tar.bz2"; - md5 = "79b56bcc349264d686a67994506ad199"; - brief = true; -} -{ - name = "libwpg-0.3.1.tar.bz2"; - md5 = "dfd066658ec9d2fb2262417039a8a1c3"; - brief = true; -} -{ - name = "libwps-0.4.3.tar.bz2"; - md5 = "027fb17fb9e43553aa6624dc18f830ac"; - brief = true; -} -{ - name = "xsltml_2.1.2.zip"; - md5 = "a7983f859eafb2677d7ff386a023bc40"; - brief = false; -} -{ - name = "zlib-1.2.8.tar.gz"; - md5 = "44d667c142d7cda120332623eab69f40"; - brief = true; -} + { + name = "libabw-0.1.1.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/libabw-0.1.1.tar.bz2"; + sha256 = "7a3d3415cf82ab9894f601d1b3057c4615060304d5279efdec6275e01b96a199"; + md5 = "7a3815b506d064313ba309617b6f5a0b"; + md5name = "7a3815b506d064313ba309617b6f5a0b-libabw-0.1.1.tar.bz2"; + } + { + name = "commons-logging-1.2-src.tar.gz"; + url = "http://dev-www.libreoffice.org/src/commons-logging-1.2-src.tar.gz"; + sha256 = "49665da5a60d033e6dff40fe0a7f9173e886ae859ce6096c1afe34c48b677c81"; + md5 = "ce977548f1cbf46918e93cd38ac35163"; + md5name = "ce977548f1cbf46918e93cd38ac35163-commons-logging-1.2-src.tar.gz"; + } + { + name = "apr-1.4.8.tar.gz"; + url = "http://dev-www.libreoffice.org/src/apr-1.4.8.tar.gz"; + sha256 = "1689e415bdfab6aaa41f07836b5dd9ed4901d22ddeb99feffdb2cee3124adf49"; + md5 = "eff9d741b0999a9bbab96862dd2a2a3d"; + md5name = "eff9d741b0999a9bbab96862dd2a2a3d-apr-1.4.8.tar.gz"; + } + { + name = "apr-util-1.5.3.tar.gz"; + url = "http://dev-www.libreoffice.org/src/apr-util-1.5.3.tar.gz"; + sha256 = "76db34cb508e346e3bf69347c29ed1500bf0b71bcc48d54271ad9d1c25703743"; + md5 = "71a11d037240b292f824ba1eb537b4e3"; + md5name = "71a11d037240b292f824ba1eb537b4e3-apr-util-1.5.3.tar.gz"; + } + { + name = "boost_1_60_0.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/boost_1_60_0.tar.bz2"; + sha256 = "686affff989ac2488f79a97b9479efb9f2abae035b5ed4d8226de6857933fd3b"; + md5 = "65a840e1a0b13a558ff19eeb2c4f0cbe"; + md5name = "65a840e1a0b13a558ff19eeb2c4f0cbe-boost_1_60_0.tar.bz2"; + } + { + name = "breakpad.zip"; + url = "http://dev-www.libreoffice.org/src/breakpad.zip"; + sha256 = "7060149be16a8789b0ccf596bdeaf63115f03f520acb508f72a14686fb311cb9"; + md5 = "415ce291aa6f2ee1d5db7b62bf62ade8"; + md5name = "415ce291aa6f2ee1d5db7b62bf62ade8-breakpad.zip"; + } + { + name = "bsh-2.0b6-src.zip"; + url = "http://dev-www.libreoffice.org/src/beeca87be45ec87d241ddd0e1bad80c1-bsh-2.0b6-src.zip"; + sha256 = "9e93c73e23aff644b17dfff656444474c14150e7f3b38b19635e622235e01c96"; + md5 = "beeca87be45ec87d241ddd0e1bad80c1"; + md5name = "beeca87be45ec87d241ddd0e1bad80c1-bsh-2.0b6-src.zip"; + } + { + name = "bzip2-1.0.6.tar.gz"; + url = "http://dev-www.libreoffice.org/src/00b516f4704d4a7cb50a1d97e6e8e15b-bzip2-1.0.6.tar.gz"; + sha256 = "a2848f34fcd5d6cf47def00461fcb528a0484d8edef8208d6d2e2909dc61d9cd"; + md5 = "00b516f4704d4a7cb50a1d97e6e8e15b"; + md5name = "00b516f4704d4a7cb50a1d97e6e8e15b-bzip2-1.0.6.tar.gz"; + } + { + name = "cairo-1.10.2.tar.gz"; + url = "http://dev-www.libreoffice.org/src/f101a9e88b783337b20b2e26dfd26d5f-cairo-1.10.2.tar.gz"; + sha256 = "32018c7998358eebc2ad578ff8d8559d34fc80252095f110a572ed23d989fc41"; + md5 = "f101a9e88b783337b20b2e26dfd26d5f"; + md5name = "f101a9e88b783337b20b2e26dfd26d5f-cairo-1.10.2.tar.gz"; + } + { + name = "libcdr-0.1.2.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/libcdr-0.1.2.tar.bz2"; + sha256 = "d05a986dab9f960e64466072653a900d03f8257b084440d9d16599e16060581e"; + md5 = "6e3062b55b149d7b3c6aedb3bb5b86e2"; + md5name = "6e3062b55b149d7b3c6aedb3bb5b86e2-libcdr-0.1.2.tar.bz2"; + } + { + name = "clucene-core-2.3.3.4.tar.gz"; + url = "http://dev-www.libreoffice.org/src/48d647fbd8ef8889e5a7f422c1bfda94-clucene-core-2.3.3.4.tar.gz"; + sha256 = "ddfdc433dd8ad31b5c5819cc4404a8d2127472a3b720d3e744e8c51d79732eab"; + md5 = "48d647fbd8ef8889e5a7f422c1bfda94"; + md5name = "48d647fbd8ef8889e5a7f422c1bfda94-clucene-core-2.3.3.4.tar.gz"; + } + { + name = "libcmis-0.5.1.tar.gz"; + url = "http://dev-www.libreoffice.org/src/libcmis-0.5.1.tar.gz"; + sha256 = "6acbdf22ecdbaba37728729b75bfc085ee5a4b49a6024757cfb86ccd3da27b0e"; + md5 = "3270154f0f40d86fce849b161f914101"; + md5name = "3270154f0f40d86fce849b161f914101-libcmis-0.5.1.tar.gz"; + } + { + name = "CoinMP-1.7.6.tgz"; + url = "http://dev-www.libreoffice.org/src/CoinMP-1.7.6.tgz"; + sha256 = "86c798780b9e1f5921fe4efe651a93cb420623b45aa1fdff57af8c37f116113f"; + md5 = "1cce53bf4b40ae29790d2c5c9f8b1129"; + md5name = "1cce53bf4b40ae29790d2c5c9f8b1129-CoinMP-1.7.6.tgz"; + } + { + name = "collada2gltf-master-cb1d97788a.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/4b87018f7fff1d054939d19920b751a0-collada2gltf-master-cb1d97788a.tar.bz2"; + sha256 = "b0adb8e71aef80751b999c9c055e419a625c4a05184e407aef2aee28752ad8cb"; + md5 = "4b87018f7fff1d054939d19920b751a0"; + md5name = "4b87018f7fff1d054939d19920b751a0-collada2gltf-master-cb1d97788a.tar.bz2"; + } + { + name = "cppunit-1.13.2.tar.gz"; + url = "http://dev-www.libreoffice.org/src/cppunit-1.13.2.tar.gz"; + sha256 = "3f47d246e3346f2ba4d7c9e882db3ad9ebd3fcbd2e8b732f946e0e3eeb9f429f"; + md5 = "d1c6bdd5a76c66d2c38331e2d287bc01"; + md5name = "d1c6bdd5a76c66d2c38331e2d287bc01-cppunit-1.13.2.tar.gz"; + } + { + name = "converttexttonumber-1-5-0.oxt"; + url = "http://dev-www.libreoffice.org/src/1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt"; + sha256 = "71b238efd2734be9800af07566daea8d6685aeed28db5eb5fa0e6453f4d85de3"; + md5 = "1f467e5bb703f12cbbb09d5cf67ecf4a"; + md5name = "1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt"; + } + { + name = "curl-7.51.0.tar.gz"; + url = "http://dev-www.libreoffice.org/src/curl-7.51.0.tar.gz"; + sha256 = "65b5216a6fbfa72f547eb7706ca5902d7400db9868269017a8888aa91d87977c"; + md5 = "490e19a8ccd1f4a244b50338a0eb9456"; + md5name = "490e19a8ccd1f4a244b50338a0eb9456-curl-7.51.0.tar.gz"; + } + { + name = "libe-book-0.1.2.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/libe-book-0.1.2.tar.bz2"; + sha256 = "b710a57c633205b933015474d0ac0862253d1c52114d535dd09b20939a0d1850"; + md5 = "6b48eda57914e6343efebc9381027b78"; + md5name = "6b48eda57914e6343efebc9381027b78-libe-book-0.1.2.tar.bz2"; + } + { + name = "epm-3.7.tar.gz"; + url = "http://dev-www.libreoffice.org/src/3ade8cfe7e59ca8e65052644fed9fca4-epm-3.7.tar.gz"; + sha256 = "b3fc4c5445de6c9a801504a3ea3efb2d4ea9d5a622c9427e716736e7713ddb91"; + md5 = "3ade8cfe7e59ca8e65052644fed9fca4"; + md5name = "3ade8cfe7e59ca8e65052644fed9fca4-epm-3.7.tar.gz"; + } + { + name = "libetonyek-0.1.6.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/libetonyek-0.1.6.tar.bz2"; + sha256 = "032f53e8d7691e48a73ddbe74fa84c906ff6ff32a33e6ee2a935b6fdb6aecb78"; + md5 = "77ff46936dcc83670557274e7dd2aa33"; + md5name = "77ff46936dcc83670557274e7dd2aa33-libetonyek-0.1.6.tar.bz2"; + } + { + name = "expat-2.2.0.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/expat-2.2.0.tar.bz2"; + sha256 = "d9e50ff2d19b3538bd2127902a89987474e1a4db8e43a66a4d1a712ab9a504ff"; + md5 = "2f47841c829facb346eb6e3fab5212e2"; + md5name = "2f47841c829facb346eb6e3fab5212e2-expat-2.2.0.tar.bz2"; + } + { + name = "Firebird-2.5.5.26952-0.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/Firebird-2.5.5.26952-0.tar.bz2"; + sha256 = "b33e63ede88184d9ef2ae6760537ab75bfe641513821410b83e837946162b7d1"; + md5 = "b0b5293991fcf07347b38431c80be1d4"; + md5name = "b0b5293991fcf07347b38431c80be1d4-Firebird-2.5.5.26952-0.tar.bz2"; + } + { + name = "fontconfig-2.8.0.tar.gz"; + url = "http://dev-www.libreoffice.org/src/77e15a92006ddc2adbb06f840d591c0e-fontconfig-2.8.0.tar.gz"; + sha256 = "fa2a1c6eea654d9fce7a4b1220f10c99cdec848dccaf1625c01f076b31382335"; + md5 = "77e15a92006ddc2adbb06f840d591c0e"; + md5name = "77e15a92006ddc2adbb06f840d591c0e-fontconfig-2.8.0.tar.gz"; + } + { + name = "crosextrafonts-20130214.tar.gz"; + url = "http://dev-www.libreoffice.org/src/368f114c078f94214a308a74c7e991bc-crosextrafonts-20130214.tar.gz"; + sha256 = "c48d1c2fd613c9c06c959c34da7b8388059e2408d2bb19845dc3ed35f76e4d09"; + md5 = "368f114c078f94214a308a74c7e991bc"; + md5name = "368f114c078f94214a308a74c7e991bc-crosextrafonts-20130214.tar.gz"; + } + { + name = "crosextrafonts-carlito-20130920.tar.gz"; + url = "http://dev-www.libreoffice.org/src/c74b7223abe75949b4af367942d96c7a-crosextrafonts-carlito-20130920.tar.gz"; + sha256 = "4bd12b6cbc321c1cf16da76e2c585c925ce956a08067ae6f6c64eff6ccfdaf5a"; + md5 = "c74b7223abe75949b4af367942d96c7a"; + md5name = "c74b7223abe75949b4af367942d96c7a-crosextrafonts-carlito-20130920.tar.gz"; + } + { + name = "dejavu-fonts-ttf-2.35.zip"; + url = "http://dev-www.libreoffice.org/src/d8b5214d35bcd2bfcb2cffa7795b351d-dejavu-fonts-ttf-2.35.zip"; + sha256 = "7e0d00f20080784c3a38a845d5858c161af14f0073d9474cdbfdedae883cc747"; + md5 = "d8b5214d35bcd2bfcb2cffa7795b351d"; + md5name = "d8b5214d35bcd2bfcb2cffa7795b351d-dejavu-fonts-ttf-2.35.zip"; + } + { + name = "gentiumbasic-fonts-1.10.zip"; + url = "http://dev-www.libreoffice.org/src/35efabc239af896dfb79be7ebdd6e6b9-gentiumbasic-fonts-1.10.zip"; + sha256 = "f1691e48d02effdee0701622297394451759f13e0e0b36e788847f4b3e2ba11b"; + md5 = "35efabc239af896dfb79be7ebdd6e6b9"; + md5name = "35efabc239af896dfb79be7ebdd6e6b9-gentiumbasic-fonts-1.10.zip"; + } + { + name = "liberation-fonts-ttf-1.07.4.tar.gz"; + url = "http://dev-www.libreoffice.org/src/134d8262145fc793c6af494dcace3e71-liberation-fonts-ttf-1.07.4.tar.gz"; + sha256 = "61a7e2b6742a43c73e8762cdfeaf6dfcf9abdd2cfa0b099a9854d69bc4cfee5c"; + md5 = "134d8262145fc793c6af494dcace3e71"; + md5name = "134d8262145fc793c6af494dcace3e71-liberation-fonts-ttf-1.07.4.tar.gz"; + } + { + name = "liberation-fonts-ttf-2.00.1.tar.gz"; + url = "http://dev-www.libreoffice.org/src/5c781723a0d9ed6188960defba8e91cf-liberation-fonts-ttf-2.00.1.tar.gz"; + sha256 = "7890278a6cd17873c57d9cd785c2d230d9abdea837e96516019c5885dd271504"; + md5 = "5c781723a0d9ed6188960defba8e91cf"; + md5name = "5c781723a0d9ed6188960defba8e91cf-liberation-fonts-ttf-2.00.1.tar.gz"; + } + { + name = "LinLibertineG-20120116.zip"; + url = "http://dev-www.libreoffice.org/src/e7a384790b13c29113e22e596ade9687-LinLibertineG-20120116.zip"; + sha256 = "54adcb2bc8cac0927a647fbd9362f45eff48130ce6e2379dc3867643019e08c5"; + md5 = "e7a384790b13c29113e22e596ade9687"; + md5name = "e7a384790b13c29113e22e596ade9687-LinLibertineG-20120116.zip"; + } + { + name = "open-sans-font-ttf-1.10.tar.gz"; + url = "http://dev-www.libreoffice.org/src/7a15edea7d415ac5150ea403e27401fd-open-sans-font-ttf-1.10.tar.gz"; + sha256 = "cc80fd415e57ecec067339beadd0eef9eaa45e65d3c51a922ba5f9172779bfb8"; + md5 = "7a15edea7d415ac5150ea403e27401fd"; + md5name = "7a15edea7d415ac5150ea403e27401fd-open-sans-font-ttf-1.10.tar.gz"; + } + { + name = "pt-serif-font-1.0000W.tar.gz"; + url = "http://dev-www.libreoffice.org/src/c3c1a8ba7452950636e871d25020ce0d-pt-serif-font-1.0000W.tar.gz"; + sha256 = "6757feb23f889a82df59679d02b8ee1f907df0a0ac1c49cdb48ed737b60e5dfa"; + md5 = "c3c1a8ba7452950636e871d25020ce0d"; + md5name = "c3c1a8ba7452950636e871d25020ce0d-pt-serif-font-1.0000W.tar.gz"; + } + { + name = "source-code-pro-2.030R-ro-1.050R-it.tar.gz"; + url = "http://dev-www.libreoffice.org/src/907d6e99f241876695c19ff3db0b8923-source-code-pro-2.030R-ro-1.050R-it.tar.gz"; + sha256 = "09466dce87653333f189acd8358c60c6736dcd95f042dee0b644bdcf65b6ae2f"; + md5 = "907d6e99f241876695c19ff3db0b8923"; + md5name = "907d6e99f241876695c19ff3db0b8923-source-code-pro-2.030R-ro-1.050R-it.tar.gz"; + } + { + name = "source-sans-pro-2.010R-ro-1.065R-it.tar.gz"; + url = "http://dev-www.libreoffice.org/src/edc4d741888bc0d38e32dbaa17149596-source-sans-pro-2.010R-ro-1.065R-it.tar.gz"; + sha256 = "e7bc9a1fec787a529e49f5a26b93dcdcf41506449dfc70f92cdef6d17eb6fb61"; + md5 = "edc4d741888bc0d38e32dbaa17149596"; + md5name = "edc4d741888bc0d38e32dbaa17149596-source-sans-pro-2.010R-ro-1.065R-it.tar.gz"; + } + { + name = "libfreehand-0.1.1.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/libfreehand-0.1.1.tar.bz2"; + sha256 = "45dab0e5d632eb51eeb00847972ca03835d6791149e9e714f093a9df2b445877"; + md5 = "8cf70c5dc4d24d2dc4a107f509d2d6d7"; + md5name = "8cf70c5dc4d24d2dc4a107f509d2d6d7-libfreehand-0.1.1.tar.bz2"; + } + { + name = "freetype-2.4.8.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/dbf2caca1d3afd410a29217a9809d397-freetype-2.4.8.tar.bz2"; + sha256 = "a9eb7da3875fcb2f022a9c280c01b94ae45ac83d8102838c05dce1277948fb71"; + md5 = "dbf2caca1d3afd410a29217a9809d397"; + md5name = "dbf2caca1d3afd410a29217a9809d397-freetype-2.4.8.tar.bz2"; + } + { + name = "glew-1.12.0.zip"; + url = "http://dev-www.libreoffice.org/src/3941e9cab2f4f9d8faee3e8d57ae7664-glew-1.12.0.zip"; + sha256 = "6f1083eb034efbc3b2017ef052d58f3e9bd70963ec2acd26b3d59231ee1633d4"; + md5 = "3941e9cab2f4f9d8faee3e8d57ae7664"; + md5name = "3941e9cab2f4f9d8faee3e8d57ae7664-glew-1.12.0.zip"; + } + { + name = "glm-0.9.4.6-libreoffice.zip"; + url = "http://dev-www.libreoffice.org/src/bae83fa5dc7f081768daace6e199adc3-glm-0.9.4.6-libreoffice.zip"; + sha256 = "d0312c360efe04dd048b3311fe375ff36f1993b4c2e3cb58c81062990532904a"; + md5 = "bae83fa5dc7f081768daace6e199adc3"; + md5name = "bae83fa5dc7f081768daace6e199adc3-glm-0.9.4.6-libreoffice.zip"; + } + { + name = "glyphy-0.2.0.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/5d303fb955beb9bf112267316ca9d021-glyphy-0.2.0.tar.bz2"; + sha256 = "9a8f629f7ea40ba118199a37adee8f2dfb084cffa5f7f4db3a47b8b0075777be"; + md5 = "5d303fb955beb9bf112267316ca9d021"; + md5name = "5d303fb955beb9bf112267316ca9d021-glyphy-0.2.0.tar.bz2"; + } + { + name = "graphite2-minimal-1.3.8.tgz"; + url = "http://dev-www.libreoffice.org/src/4311dd9ace498b57c85f611e0670df64-graphite2-minimal-1.3.8.tgz"; + sha256 = "d16940175822760753e9762d0af9679c9726e64f25955677fe7ab68448601c3b"; + md5 = "4311dd9ace498b57c85f611e0670df64"; + md5name = "4311dd9ace498b57c85f611e0670df64-graphite2-minimal-1.3.8.tgz"; + } + { + name = "harfbuzz-1.2.6.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/harfbuzz-1.2.6.tar.bz2"; + sha256 = "7537bacccb3524df0cd2a4d5bc7e168bcc10e8171e0324f3cd522583868192c1"; + md5 = "9f4b6831c86135faef011e991f59f77f"; + md5name = "9f4b6831c86135faef011e991f59f77f-harfbuzz-1.2.6.tar.bz2"; + } + { + name = "hsqldb_1_8_0.zip"; + url = "http://dev-www.libreoffice.org/src/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip"; + sha256 = "d30b13f4ba2e3b6a2d4f020c0dee0a9fb9fc6fbcc2d561f36b78da4bf3802370"; + md5 = "17410483b5b5f267aa18b7e00b65e6e0"; + md5name = "17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip"; + } + { + name = "hunspell-1.4.1.tar.gz"; + url = "http://dev-www.libreoffice.org/src/33d370f7fe5a030985e445a5672b2067-hunspell-1.4.1.tar.gz"; + sha256 = "c4476aff0ced52eec334eae1e8d3fdaaebdd90f5ecd0b57cf2a92a6fd220d1bb"; + md5 = "33d370f7fe5a030985e445a5672b2067"; + md5name = "33d370f7fe5a030985e445a5672b2067-hunspell-1.4.1.tar.gz"; + } + { + name = "hyphen-2.8.8.tar.gz"; + url = "http://dev-www.libreoffice.org/src/5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz"; + sha256 = "304636d4eccd81a14b6914d07b84c79ebb815288c76fe027b9ebff6ff24d5705"; + md5 = "5ade6ae2a99bc1e9e57031ca88d36dad"; + md5name = "5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz"; + } + { + name = "icu4c-57_1-src.tgz"; + url = "http://dev-www.libreoffice.org/src/976734806026a4ef8bdd17937c8898b9-icu4c-57_1-src.tgz"; + sha256 = "ff8c67cb65949b1e7808f2359f2b80f722697048e90e7cfc382ec1fe229e9581"; + md5 = "976734806026a4ef8bdd17937c8898b9"; + md5name = "976734806026a4ef8bdd17937c8898b9-icu4c-57_1-src.tgz"; + } + { + name = "flow-engine-0.9.4.zip"; + url = "http://dev-www.libreoffice.org/src/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip"; + sha256 = "233f66e8d25c5dd971716d4200203a612a407649686ef3b52075d04b4c9df0dd"; + md5 = "ba2930200c9f019c2d93a8c88c651a0f"; + md5name = "ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip"; + } + { + name = "flute-1.1.6.zip"; + url = "http://dev-www.libreoffice.org/src/d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip"; + sha256 = "1b5b24f7bc543c0362b667692f78db8bab4ed6dafc6172f104d0bd3757d8a133"; + md5 = "d8bd5eed178db6e2b18eeed243f85aa8"; + md5name = "d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip"; + } + { + name = "libbase-1.1.6.zip"; + url = "http://dev-www.libreoffice.org/src/eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip"; + sha256 = "75c80359c9ce343c20aab8a36a45cb3b9ee7c61cf92c13ae45399d854423a9ba"; + md5 = "eeb2c7ddf0d302fba4bfc6e97eac9624"; + md5name = "eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip"; + } + { + name = "libfonts-1.1.6.zip"; + url = "http://dev-www.libreoffice.org/src/3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip"; + sha256 = "e0531091787c0f16c83965fdcbc49162c059d7f0c64669e7f119699321549743"; + md5 = "3bdf40c0d199af31923e900d082ca2dd"; + md5name = "3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip"; + } + { + name = "libformula-1.1.7.zip"; + url = "http://dev-www.libreoffice.org/src/3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip"; + sha256 = "5826d1551bf599b85742545f6e01a0079b93c1b2c8434bf409eddb3a29e4726b"; + md5 = "3404ab6b1792ae5f16bbd603bd1e1d03"; + md5name = "3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip"; + } + { + name = "liblayout-0.2.10.zip"; + url = "http://dev-www.libreoffice.org/src/db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip"; + sha256 = "e1fb87f3f7b980d33414473279615c4644027e013012d156efa538bc2b031772"; + md5 = "db60e4fde8dd6d6807523deb71ee34dc"; + md5name = "db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip"; + } + { + name = "libloader-1.1.6.zip"; + url = "http://dev-www.libreoffice.org/src/97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip"; + sha256 = "3d853b19b1d94a6efa69e7af90f7f2b09ecf302913bee3da796c15ecfebcfac8"; + md5 = "97b2d4dba862397f446b217e2b623e71"; + md5name = "97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip"; + } + { + name = "librepository-1.1.6.zip"; + url = "http://dev-www.libreoffice.org/src/8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip"; + sha256 = "abe2c57ac12ba45d83563b02e240fa95d973376de2f720aab8fe11f2e621c095"; + md5 = "8ce2fcd72becf06c41f7201d15373ed9"; + md5name = "8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip"; + } + { + name = "libserializer-1.1.6.zip"; + url = "http://dev-www.libreoffice.org/src/f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip"; + sha256 = "05640a1f6805b2b2d7e2cb9c50db9a5cb084e3c52ab1a71ce015239b4a1d4343"; + md5 = "f94d9870737518e3b597f9265f4e9803"; + md5name = "f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip"; + } + { + name = "libxml-1.1.7.zip"; + url = "http://dev-www.libreoffice.org/src/ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip"; + sha256 = "7d2797fe9f79a77009721e3f14fa4a1dec17a6d706bdc93f85f1f01d124fab66"; + md5 = "ace6ab49184e329db254e454a010f56d"; + md5name = "ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip"; + } + { + name = "sacjava-1.3.zip"; + url = "http://dev-www.libreoffice.org/src/39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip"; + sha256 = "085f2112c51fa8c1783fac12fbd452650596415121348393bb51f0f7e85a9045"; + md5 = "39bb3fcea1514f1369fcfc87542390fd"; + md5name = "39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip"; + } + { + name = "jpegsrc.v9a.tar.gz"; + url = "http://dev-www.libreoffice.org/src/jpegsrc.v9a.tar.gz"; + sha256 = "3a753ea48d917945dd54a2d97de388aa06ca2eb1066cbfdc6652036349fe05a7"; + md5 = "3353992aecaee1805ef4109aadd433e7"; + md5name = "3353992aecaee1805ef4109aadd433e7-jpegsrc.v9a.tar.gz"; + } + { + name = "libjpeg-turbo-1.4.2.tar.gz"; + url = "http://dev-www.libreoffice.org/src/libjpeg-turbo-1.4.2.tar.gz"; + sha256 = "521bb5d3043e7ac063ce3026d9a59cc2ab2e9636c655a2515af5f4706122233e"; + md5 = "86b0d5f7507c2e6c21c00219162c3c44"; + md5name = "86b0d5f7507c2e6c21c00219162c3c44-libjpeg-turbo-1.4.2.tar.gz"; + } + { + name = "language-subtag-registry-2016-07-19.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/language-subtag-registry-2016-07-19.tar.bz2"; + sha256 = "e3dc30bdbfdad442c542dc0e165df9d8d2ba06a357cd55957155d8259d1661dc"; + md5 = "8a037dc60b16bf8c5fe871b33390a4a2"; + md5name = "8a037dc60b16bf8c5fe871b33390a4a2-language-subtag-registry-2016-07-19.tar.bz2"; + } + { + name = "JLanguageTool-1.7.0.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/b63e6340a02ff1cacfeadb2c42286161-JLanguageTool-1.7.0.tar.bz2"; + sha256 = "48c87e41636783bba438b65fd895821e369ed139e1465fac654323ad93c5a82d"; + md5 = "b63e6340a02ff1cacfeadb2c42286161"; + md5name = "b63e6340a02ff1cacfeadb2c42286161-JLanguageTool-1.7.0.tar.bz2"; + } + { + name = "lcms2-2.6.tar.gz"; + url = "http://dev-www.libreoffice.org/src/lcms2-2.6.tar.gz"; + sha256 = "5172528839647c54c3da211837225e221be93e4733f5b5e9f57668f7107e14b1"; + md5 = "f4c08d38ceade4a664ebff7228910a33"; + md5name = "f4c08d38ceade4a664ebff7228910a33-lcms2-2.6.tar.gz"; + } + { + name = "libatomic_ops-7_2d.zip"; + url = "http://dev-www.libreoffice.org/src/libatomic_ops-7_2d.zip"; + sha256 = "cf5c52f08a2067ae4fe7c8919e3c1ccf3ee917f1749e0bcc7efffff59c68d9ad"; + md5 = "c0b86562d5aa40761a87134f83e6adcf"; + md5name = "c0b86562d5aa40761a87134f83e6adcf-libatomic_ops-7_2d.zip"; + } + { + name = "libeot-0.01.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/libeot-0.01.tar.bz2"; + sha256 = "cf5091fa8e7dcdbe667335eb90a2cfdd0a3fe8f8c7c8d1ece44d9d055736a06a"; + md5 = "aa24f5dd2a2992f4a116aa72af817548"; + md5name = "aa24f5dd2a2992f4a116aa72af817548-libeot-0.01.tar.bz2"; + } + { + name = "libexttextcat-3.4.4.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/10d61fbaa6a06348823651b1bd7940fe-libexttextcat-3.4.4.tar.bz2"; + sha256 = "9595601c41051356d03d0a7d5dcad334fe1b420d221f6885d143c14bb8d62163"; + md5 = "10d61fbaa6a06348823651b1bd7940fe"; + md5name = "10d61fbaa6a06348823651b1bd7940fe-libexttextcat-3.4.4.tar.bz2"; + } + { + name = "libgltf-0.0.2.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/libgltf/libgltf-0.0.2.tar.bz2"; + sha256 = "d1cc7297ed1921aa969e26413b4c4e18afc882ce4d2f5a2aa2a2905706f7206b"; + md5 = "d63a9f47ab048f5009d90693d6aa6424"; + md5name = "d63a9f47ab048f5009d90693d6aa6424-libgltf-0.0.2.tar.bz2"; + } + { + name = "liblangtag-0.5.8.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/aa899eff126216dafe721149fbdb511b-liblangtag-0.5.8.tar.bz2"; + sha256 = "08e2f64bfe3f750be7391eb0af53967e164b628c59f02be4d83789eb4f036eaa"; + md5 = "aa899eff126216dafe721149fbdb511b"; + md5name = "aa899eff126216dafe721149fbdb511b-liblangtag-0.5.8.tar.bz2"; + } + { + name = "xmlsec1-1.2.20.tar.gz"; + url = "http://dev-www.libreoffice.org/src/ce12af00283eb90d9281956524250d6e-xmlsec1-1.2.20.tar.gz"; + sha256 = "3221593ca50f362b546a0888a1431ad24be1470f96b2469c0e0df5e1c55e7305"; + md5 = "ce12af00283eb90d9281956524250d6e"; + md5name = "ce12af00283eb90d9281956524250d6e-xmlsec1-1.2.20.tar.gz"; + } + { + name = "libxml2-2.9.4.tar.gz"; + url = "http://dev-www.libreoffice.org/src/ae249165c173b1ff386ee8ad676815f5-libxml2-2.9.4.tar.gz"; + sha256 = "ffb911191e509b966deb55de705387f14156e1a56b21824357cdf0053233633c"; + md5 = "ae249165c173b1ff386ee8ad676815f5"; + md5name = "ae249165c173b1ff386ee8ad676815f5-libxml2-2.9.4.tar.gz"; + } + { + name = "libxslt-1.1.29.tar.gz"; + url = "http://dev-www.libreoffice.org/src/a129d3c44c022de3b9dcf6d6f288d72e-libxslt-1.1.29.tar.gz"; + sha256 = "b5976e3857837e7617b29f2249ebb5eeac34e249208d31f1fbf7a6ba7a4090ce"; + md5 = "a129d3c44c022de3b9dcf6d6f288d72e"; + md5name = "a129d3c44c022de3b9dcf6d6f288d72e-libxslt-1.1.29.tar.gz"; + } + { + name = "lp_solve_5.5.tar.gz"; + url = "http://dev-www.libreoffice.org/src/26b3e95ddf3d9c077c480ea45874b3b8-lp_solve_5.5.tar.gz"; + sha256 = "171816288f14215c69e730f7a4f1c325739873e21f946ff83884b350574e6695"; + md5 = "26b3e95ddf3d9c077c480ea45874b3b8"; + md5name = "26b3e95ddf3d9c077c480ea45874b3b8-lp_solve_5.5.tar.gz"; + } + { + name = "mariadb_client-2.0.0-src.tar.gz"; + url = "http://dev-www.libreoffice.org/src/a233181e03d3c307668b4c722d881661-mariadb_client-2.0.0-src.tar.gz"; + sha256 = "fd2f751dea049c1907735eb236aeace1d811d6a8218118b00bbaa9b84dc5cd60"; + md5 = "a233181e03d3c307668b4c722d881661"; + md5name = "a233181e03d3c307668b4c722d881661-mariadb_client-2.0.0-src.tar.gz"; + } + { + name = "mdds-1.2.2.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/mdds-1.2.2.tar.bz2"; + sha256 = "141e730b39110434b02cd844c5ad3442103f7c35f7e9a4d6a9f8af813594cc9d"; + md5 = "8855cf852a6088cfdc792c6f7ceb0243"; + md5name = "8855cf852a6088cfdc792c6f7ceb0243-mdds-1.2.2.tar.bz2"; + } + { + name = "mDNSResponder-576.30.4.tar.gz"; + url = "http://dev-www.libreoffice.org/src/mDNSResponder-576.30.4.tar.gz"; + sha256 = "4737cb51378377e11d0edb7bcdd1bec79cbdaa7b27ea09c13e3006e58f8d92c0"; + md5 = "940057ac8b513b00e8e9ca12ef796762"; + md5name = "940057ac8b513b00e8e9ca12ef796762-mDNSResponder-576.30.4.tar.gz"; + } + { + name = "libmspub-0.1.2.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/libmspub-0.1.2.tar.bz2"; + sha256 = "26d488527ffbb0b41686d4bab756e3e6aaeb99f88adeb169d0c16d2cde96859a"; + md5 = "ff9d0f9dd8fbc523408ea1953d5bde41"; + md5name = "ff9d0f9dd8fbc523408ea1953d5bde41-libmspub-0.1.2.tar.bz2"; + } + { + name = "libmwaw-0.3.7.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/libmwaw-0.3.7.tar.bz2"; + sha256 = "a66b3e45a5ba5dd89849a766e128585cac8aaf9e9c6f037040200e5bf31f1427"; + md5 = "4a8a53a9d997cf0e2bd208178797dbfb"; + md5name = "4a8a53a9d997cf0e2bd208178797dbfb-libmwaw-0.3.7.tar.bz2"; + } + { + name = "mysql-connector-c++-1.1.4.tar.gz"; + url = "http://dev-www.libreoffice.org/src/7239a4430efd4d0189c4f24df67f08e5-mysql-connector-c++-1.1.4.tar.gz"; + sha256 = "a25f14dad39e93a2f9cdf09166ee53981f7212dce829e4208e07a522963a8585"; + md5 = "7239a4430efd4d0189c4f24df67f08e5"; + md5name = "7239a4430efd4d0189c4f24df67f08e5-mysql-connector-c++-1.1.4.tar.gz"; + } + { + name = "mythes-1.2.4.tar.gz"; + url = "http://dev-www.libreoffice.org/src/a8c2c5b8f09e7ede322d5c602ff6a4b6-mythes-1.2.4.tar.gz"; + sha256 = "1e81f395d8c851c3e4e75b568e20fa2fa549354e75ab397f9de4b0e0790a305f"; + md5 = "a8c2c5b8f09e7ede322d5c602ff6a4b6"; + md5name = "a8c2c5b8f09e7ede322d5c602ff6a4b6-mythes-1.2.4.tar.gz"; + } + { + name = "neon-0.30.1.tar.gz"; + url = "http://dev-www.libreoffice.org/src/231adebe5c2f78fded3e3df6e958878e-neon-0.30.1.tar.gz"; + sha256 = "00c626c0dc18d094ab374dbd9a354915bfe4776433289386ed489c2ec0845cdd"; + md5 = "231adebe5c2f78fded3e3df6e958878e"; + md5name = "231adebe5c2f78fded3e3df6e958878e-neon-0.30.1.tar.gz"; + } + { + name = "nss-3.27-with-nspr-4.13.tar.gz"; + url = "http://dev-www.libreoffice.org/src/0e3eee39402386cf16fd7aaa7399ebef-nss-3.27-with-nspr-4.13.tar.gz"; + sha256 = "c74ad468ed5da0304b58ec56fa627fa388b256451b1a44fd184145c6d8203820"; + md5 = "0e3eee39402386cf16fd7aaa7399ebef"; + md5name = "0e3eee39402386cf16fd7aaa7399ebef-nss-3.27-with-nspr-4.13.tar.gz"; + } + { + name = "libodfgen-0.1.6.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/libodfgen-0.1.6.tar.bz2"; + sha256 = "2c7b21892f84a4c67546f84611eccdad6259875c971e98ddb027da66ea0ac9c2"; + md5 = "32572ea48d9021bbd6fa317ddb697abc"; + md5name = "32572ea48d9021bbd6fa317ddb697abc-libodfgen-0.1.6.tar.bz2"; + } + { + name = "OpenCOLLADA-master-6509aa13af.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/OpenCOLLADA-master-6509aa13af.tar.bz2"; + sha256 = "8f25d429237cde289a448c82a0a830791354ccce5ee40d77535642e46367d6c4"; + md5 = "4ca8a6ef0afeefc864e9ef21b9f14bd6"; + md5name = "4ca8a6ef0afeefc864e9ef21b9f14bd6-OpenCOLLADA-master-6509aa13af.tar.bz2"; + } + { + name = "openldap-2.4.31.tgz"; + url = "http://dev-www.libreoffice.org/src/804c6cb5698db30b75ad0ff1c25baefd-openldap-2.4.31.tgz"; + sha256 = "bde845840df4794b869a6efd6a6b1086f80989038e4844b2e4d7d6b57b39c5b6"; + md5 = "804c6cb5698db30b75ad0ff1c25baefd"; + md5name = "804c6cb5698db30b75ad0ff1c25baefd-openldap-2.4.31.tgz"; + } + { + name = "openssl-1.0.2h.tar.gz"; + url = "http://dev-www.libreoffice.org/src/openssl-1.0.2h.tar.gz"; + sha256 = "1d4007e53aad94a5b2002fe045ee7bb0b3d98f1a47f8b2bc851dcd1c74332919"; + md5 = "9392e65072ce4b614c1392eefc1f23d0"; + md5name = "9392e65072ce4b614c1392eefc1f23d0-openssl-1.0.2h.tar.gz"; + } + { + name = "liborcus-0.11.2.tar.gz"; + url = "http://dev-www.libreoffice.org/src/liborcus-0.11.2.tar.gz"; + sha256 = "10afc617fd7600fa02bd4467d2e3c7bd058f84e4d672d558e1db90e82dafd256"; + md5 = "205badaee72adf99422add8c4c49d669"; + md5name = "205badaee72adf99422add8c4c49d669-liborcus-0.11.2.tar.gz"; + } + { + name = "owncloud-android-library-0.9.4-no-binary-deps.tar.gz"; + url = "http://dev-www.libreoffice.org/src/owncloud-android-library-0.9.4-no-binary-deps.tar.gz"; + sha256 = "b18b3e3ef7fae6a79b62f2bb43cc47a5346b6330f6a383dc4be34439aca5e9fb"; + md5 = "593f0aa47bf2efc0efda2d28fae063b2"; + md5name = "593f0aa47bf2efc0efda2d28fae063b2-owncloud-android-library-0.9.4-no-binary-deps.tar.gz"; + } + { + name = "libpagemaker-0.0.3.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/libpagemaker-0.0.3.tar.bz2"; + sha256 = "3b5de037692f8e156777a75e162f6b110fa24c01749e4a66d7eb83f364e52a33"; + md5 = "5c4985a68be0b79d3f809da5e12b143c"; + md5name = "5c4985a68be0b79d3f809da5e12b143c-libpagemaker-0.0.3.tar.bz2"; + } + { + name = "pixman-0.24.4.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/c63f411b3ad147db2bcce1bf262a0e02-pixman-0.24.4.tar.bz2"; + sha256 = "3d1bf79329be76103c7d9632a79962178364371807104a10e5f63ae0551731dc"; + md5 = "c63f411b3ad147db2bcce1bf262a0e02"; + md5name = "c63f411b3ad147db2bcce1bf262a0e02-pixman-0.24.4.tar.bz2"; + } + { + name = "libpng-1.6.24.tar.gz"; + url = "http://dev-www.libreoffice.org/src/libpng-1.6.24.tar.gz"; + sha256 = "be46e0d14ccac3800f816ae860d191a1187a40164b7552c44afeee97a9caa0a3"; + md5 = "65213080dd30a9b16193d9b83adc1ee9"; + md5name = "65213080dd30a9b16193d9b83adc1ee9-libpng-1.6.24.tar.gz"; + } + { + name = "poppler-0.46.0.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/poppler-0.46.0.tar.bz2"; + sha256 = "e3b53c4d1baffb047d4752d68886210fcb279e75cc32c0c61c7165e4d4cf846a"; + md5 = "38c758d84437378ec4f5aae9f875301d"; + md5name = "38c758d84437378ec4f5aae9f875301d-poppler-0.46.0.tar.bz2"; + } + { + name = "postgresql-9.2.1.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/c0b4799ea9850eae3ead14f0a60e9418-postgresql-9.2.1.tar.bz2"; + sha256 = "db61d498105a7d5fe46185e67ac830c878cdd7dc1f82a87f06b842217924c461"; + md5 = "c0b4799ea9850eae3ead14f0a60e9418"; + md5name = "c0b4799ea9850eae3ead14f0a60e9418-postgresql-9.2.1.tar.bz2"; + } + { + name = "Python-3.3.5.tgz"; + url = "http://dev-www.libreoffice.org/src/Python-3.3.5.tgz"; + sha256 = "916bc57dd8524dc27429bebae7b39d6942742cf9699b875b2b496a3d960c7168"; + md5 = "803a75927f8f241ca78633890c798021"; + md5name = "803a75927f8f241ca78633890c798021-Python-3.3.5.tgz"; + } + { + name = "Python-3.5.0.tgz"; + url = "http://dev-www.libreoffice.org/src/Python-3.5.0.tgz"; + sha256 = "584e3d5a02692ca52fce505e68ecd77248a6f2c99adf9db144a39087336b0fe0"; + md5 = "a56c0c0b45d75a0ec9c6dee933c41c36"; + md5name = "a56c0c0b45d75a0ec9c6dee933c41c36-Python-3.5.0.tgz"; + } + { + name = "raptor2-2.0.9.tar.gz"; + url = "http://dev-www.libreoffice.org/src/4ceb9316488b0ea01acf011023cf7fff-raptor2-2.0.9.tar.gz"; + sha256 = "e26fb9c18e6ebf71100f434070d50196a21d592b715e361850c3b4e789b5f6ef"; + md5 = "4ceb9316488b0ea01acf011023cf7fff"; + md5name = "4ceb9316488b0ea01acf011023cf7fff-raptor2-2.0.9.tar.gz"; + } + { + name = "rasqal-0.9.30.tar.gz"; + url = "http://dev-www.libreoffice.org/src/b12c5f9cfdb6b04efce5a4a186b8416b-rasqal-0.9.30.tar.gz"; + sha256 = "abf0e93d80cc79bdf383fd3e904255bf98bc729356d6cf2f673bce74b08b1cfd"; + md5 = "b12c5f9cfdb6b04efce5a4a186b8416b"; + md5name = "b12c5f9cfdb6b04efce5a4a186b8416b-rasqal-0.9.30.tar.gz"; + } + { + name = "redland-1.0.16.tar.gz"; + url = "http://dev-www.libreoffice.org/src/32f8e1417a64d3c6f2c727f9053f55ea-redland-1.0.16.tar.gz"; + sha256 = "d9a274fc086e61119d5c9beafb8d05527e040ec86f4c0961276ca8de0a049dbd"; + md5 = "32f8e1417a64d3c6f2c727f9053f55ea"; + md5name = "32f8e1417a64d3c6f2c727f9053f55ea-redland-1.0.16.tar.gz"; + } + { + name = "librevenge-0.0.4.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/librevenge-0.0.4.tar.bz2"; + sha256 = "c51601cd08320b75702812c64aae0653409164da7825fd0f451ac2c5dbe77cbf"; + md5 = "5b9ac52ec77d4d19157cf5962ebc0aea"; + md5name = "5b9ac52ec77d4d19157cf5962ebc0aea-librevenge-0.0.4.tar.bz2"; + } + { + name = "rhino1_5R5.zip"; + url = "http://dev-www.libreoffice.org/src/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip"; + sha256 = "1fb458d6aab06932693cc8a9b6e4e70944ee1ff052fa63606e3131df34e21753"; + md5 = "798b2ffdc8bcfe7bca2cf92b62caf685"; + md5name = "798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip"; + } + { + name = "serf-1.2.1.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/serf-1.2.1.tar.bz2"; + sha256 = "6988d394b62c3494635b6f0760bc3079f9a0cd380baf0f6b075af1eb9fa5e700"; + md5 = "4f8e76c9c6567aee1d66aba49f76a58b"; + md5name = "4f8e76c9c6567aee1d66aba49f76a58b-serf-1.2.1.tar.bz2"; + } + { + name = "swingExSrc.zip"; + url = "http://dev-www.libreoffice.org/src/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip"; + sha256 = "64585ac36a81291a58269ec5347e7e3e2e8596dbacb9221015c208191333c6e1"; + md5 = "35c94d2df8893241173de1d16b6034c0"; + md5name = "35c94d2df8893241173de1d16b6034c0-swingExSrc.zip"; + } + { + name = "ucpp-1.3.2.tar.gz"; + url = "http://dev-www.libreoffice.org/src/0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz"; + sha256 = "983941d31ee8d366085cadf28db75eb1f5cb03ba1e5853b98f12f7f51c63b776"; + md5 = "0168229624cfac409e766913506961a8"; + md5name = "0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz"; + } + { + name = "libvisio-0.1.5.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/libvisio-0.1.5.tar.bz2"; + sha256 = "b83b7991a40b4e7f07d0cac7bb46ddfac84dece705fd18e21bfd119a09be458e"; + md5 = "cbee198a78b842b2087f32d33c522818"; + md5name = "cbee198a78b842b2087f32d33c522818-libvisio-0.1.5.tar.bz2"; + } + { + name = "libwpd-0.10.1.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/libwpd-0.10.1.tar.bz2"; + sha256 = "efc20361d6e43f9ff74de5f4d86c2ce9c677693f5da08b0a88d603b7475a508d"; + md5 = "79b56bcc349264d686a67994506ad199"; + md5name = "79b56bcc349264d686a67994506ad199-libwpd-0.10.1.tar.bz2"; + } + { + name = "libwpg-0.3.1.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/libwpg-0.3.1.tar.bz2"; + sha256 = "29049b95895914e680390717a243b291448e76e0f82fb4d2479adee5330fbb59"; + md5 = "dfd066658ec9d2fb2262417039a8a1c3"; + md5name = "dfd066658ec9d2fb2262417039a8a1c3-libwpg-0.3.1.tar.bz2"; + } + { + name = "libwps-0.4.3.tar.bz2"; + url = "http://dev-www.libreoffice.org/src/libwps-0.4.3.tar.bz2"; + sha256 = "0c30407865a873ff76b6d5b2d2aa599f6af68936638c81ca8292449324042a6c"; + md5 = "027fb17fb9e43553aa6624dc18f830ac"; + md5name = "027fb17fb9e43553aa6624dc18f830ac-libwps-0.4.3.tar.bz2"; + } + { + name = "xsltml_2.1.2.zip"; + url = "http://dev-www.libreoffice.org/src/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip"; + sha256 = "75823776fb51a9c526af904f1503a7afaaab900fba83eda64f8a41073724c870"; + md5 = "a7983f859eafb2677d7ff386a023bc40"; + md5name = "a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip"; + } + { + name = "zlib-1.2.8.tar.gz"; + url = "http://dev-www.libreoffice.org/src/zlib-1.2.8.tar.gz"; + sha256 = "36658cb768a54c1d4dec43c3116c27ed893e88b02ecfcb44f2166f9c0b7f2a0d"; + md5 = "44d667c142d7cda120332623eab69f40"; + md5name = "44d667c142d7cda120332623eab69f40-zlib-1.2.8.tar.gz"; + } ] diff --git a/pkgs/applications/office/libreoffice/still-gen-shell.nix b/pkgs/applications/office/libreoffice/still-gen-shell.nix new file mode 100644 index 000000000000..c5c17c2aaad0 --- /dev/null +++ b/pkgs/applications/office/libreoffice/still-gen-shell.nix @@ -0,0 +1,29 @@ +{ pkgs ? (import {}) }: + +with pkgs; + +let + + primary-src = callPackage ./still-primary-src.nix {}; + +in + +stdenv.mkDerivation { + name = "generate-libreoffice-srcs-shell"; + + buildCommand = "exit 1"; + + downloadList = stdenv.mkDerivation { + name = "libreoffice-${primary-src.version}-download-list"; + inherit (primary-src) src version; + builder = ./download-list-builder.sh; + }; + + buildInputs = [ python3 ]; + + shellHook = '' + function generate { + python3 generate-libreoffice-srcs.py > libreoffice-srcs-still.nix + } + ''; +} diff --git a/pkgs/applications/office/libreoffice/still-primary-src.nix b/pkgs/applications/office/libreoffice/still-primary-src.nix new file mode 100644 index 000000000000..078efa0227d4 --- /dev/null +++ b/pkgs/applications/office/libreoffice/still-primary-src.nix @@ -0,0 +1,17 @@ +{ fetchurl }: + +rec { + major = "5"; + minor = "1"; + patch = "6"; + tweak = "2"; + + subdir = "${major}.${minor}.${patch}"; + + version = "${subdir}${if tweak == "" then "" else "."}${tweak}"; + + src = fetchurl { + url = "http://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz"; + sha256 = "150xb76pc3889gfy4jrnq8sidymm1aihkm5pzy8b1fdy51zip804"; + }; +} diff --git a/pkgs/applications/office/libreoffice/still.nix b/pkgs/applications/office/libreoffice/still.nix index d873ca0a02f0..75d295887f63 100644 --- a/pkgs/applications/office/libreoffice/still.nix +++ b/pkgs/applications/office/libreoffice/still.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, pam, python3, libxslt, perl, ArchiveZip , CompressZlib, zlib, libjpeg, expat, pkgconfigUpstream, freetype, libwpd , libxml2, db, sablotron, curl, fontconfig, libsndfile, neon -, bison, flex, zip, unzip, gtk3, gtk, libmspack, getopt, file, cairo, which +, bison, flex, zip, unzip, gtk3, gtk2, libmspack, getopt, file, cairo, which , icu, boost, jdk, ant, cups, xorg, libcmis , openssl, gperf, cppunit, GConf, ORBit2, poppler , librsvg, gnome_vfs, mesa, bsh, CoinMP, libwps, libabw @@ -18,23 +18,15 @@ , kdeIntegration ? false }: +let + primary-src = import ./still-primary-src.nix { inherit fetchurl; }; +in + +with { inherit (primary-src) major minor subdir version; }; + let lib = stdenv.lib; langsSpaces = lib.concatStringsSep " " langs; - major = "5"; - minor = "1"; - patch = "5"; - tweak = "2"; - subdir = "${major}.${minor}.${patch}"; - version = "${subdir}${if tweak == "" then "" else "."}${tweak}"; - - fetchThirdParty = {name, md5, brief, subDir ? ""}: fetchurl { - inherit name md5; - url = if brief then - "http://dev-www.libreoffice.org/src/${subDir}${name}" - else - "http://dev-www.libreoffice.org/src/${subDir}${md5}-${name}"; - }; fetchSrc = {name, sha256}: fetchurl { url = "http://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${name}-${version}.tar.xz"; @@ -42,32 +34,29 @@ let }; srcs = { - third_party = [ (fetchurl rec { + third_party = [ (let md5 = "185d60944ea767075d27247c3162b3bc"; in fetchurl rec { url = "http://dev-www.libreoffice.org/extern/${md5}-${name}"; - md5 = "185d60944ea767075d27247c3162b3bc"; + sha256 = "1infwvv1p6i21scywrldsxs22f62x85mns4iq8h6vr6vlx3fdzga"; name = "unowinreg.dll"; - }) ] ++ (map fetchThirdParty (import ./libreoffice-srcs-still.nix)); + }) ] ++ (map (x : ((fetchurl {inherit (x) url sha256 name;}) // {inherit (x) md5name md5;})) (import ./libreoffice-srcs-still.nix)); translations = fetchSrc { name = "translations"; - sha256 = "1mzsz9pd2k1lpvwf7r5q90qmdp57160362cmlxaj6bxz52gr9f2i"; + sha256 = "0g88dscdmixhv17lzz4k00jrrvmafxzv0bakzf0v9zny2b3hb6r2"; }; # TODO: dictionaries help = fetchSrc { name = "help"; - sha256 = "1qqpggcanchz0qqasc5xvginrpa5rx7ahj3dw2vk7n34xaarnni6"; + sha256 = "1aqdzw4sqwfli9aah7zjir93nc1v5zdrbbgvmbn5wh1kawa8dr5g"; }; }; in stdenv.mkDerivation rec { name = "libreoffice-${version}"; - src = fetchurl { - url = "http://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz"; - sha256 = "1qg0dj0zwh5ifhmvv4k771nmyqddz4ifn75s9mr1p0nyix8zks8x"; - }; + inherit (primary-src) src; # we only have this problem on i686 ATM patches = if stdenv.is64bit then null else [ @@ -97,7 +86,7 @@ in stdenv.mkDerivation rec { postUnpack = '' mkdir -v $sourceRoot/src - '' + (stdenv.lib.concatMapStrings (f: "ln -sfv ${f} $sourceRoot/src/${f.outputHash}-${f.name}\nln -sfv ${f} $sourceRoot/src/${f.name}\n") srcs.third_party) + '' + (stdenv.lib.concatMapStrings (f: "ln -sfv ${f} $sourceRoot/src/${f.md5 or f.outputHash}-${f.name}\nln -sfv ${f} $sourceRoot/src/${f.name}\n") srcs.third_party) + '' ln -sv ${srcs.help} $sourceRoot/src/${srcs.help.name} ln -svf ${srcs.translations} $sourceRoot/src/${srcs.translations.name} @@ -246,7 +235,7 @@ in stdenv.mkDerivation rec { buildInputs = with xorg; [ ant ArchiveZip autoconf automake bison boost cairo clucene_core CompressZlib cppunit cups curl db dbus_glib expat file flex fontconfig - freetype GConf getopt gnome_vfs gperf gtk3 gtk + freetype GConf getopt gnome_vfs gperf gtk3 gtk2 hunspell icu jdk lcms libcdr libexttextcat unixODBC libjpeg libmspack librdf_redland librsvg libsndfile libvisio libwpd libwpg libX11 libXaw libXext libXi libXinerama libxml2 libxslt libXtst @@ -265,6 +254,8 @@ in stdenv.mkDerivation rec { inherit srcs; }; + requiredSystemFeatures = [ "big-parallel" ]; + meta = with lib; { description = "Comprehensive, professional-quality productivity suite (Still/stable release)"; homepage = http://libreoffice.org/; diff --git a/pkgs/applications/office/marp/default.nix b/pkgs/applications/office/marp/default.nix index 7c95bcafec5c..9a59bef617b5 100644 --- a/pkgs/applications/office/marp/default.nix +++ b/pkgs/applications/office/marp/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "marp-${version}"; - version = "0.0.8"; + version = "0.0.9"; src = fetchurl { url = "https://github.com/yhatt/marp/releases/download/v${version}/${version}-Marp-linux-x64.tar.gz"; - sha256 = "0d7vvz34ik2jafwl3qjkdsvcva25gyrgrfg1gz1nk8f5dkl1wjcf"; + sha256 = "142c35d88rkgjy85f4204givgx0p1qyfpipbrsa11lp3cb6jzhn2"; }; sourceRoot = "."; diff --git a/pkgs/applications/office/mendeley/default.nix b/pkgs/applications/office/mendeley/default.nix index 7ccf66c055ed..0ae0732da27f 100644 --- a/pkgs/applications/office/mendeley/default.nix +++ b/pkgs/applications/office/mendeley/default.nix @@ -1,5 +1,5 @@ { fetchurl, stdenv, dpkg, makeWrapper, which -,gcc, liborc, xorg, qt4, zlib +, gcc, orc, xorg, qt4, zlib , ...}: assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"; @@ -12,18 +12,18 @@ let then "i386" else "amd64"; - shortVersion = "1.16.2-stable"; + shortVersion = "1.16.3-stable"; version = "${shortVersion}_${arch}"; url = "http://desktop-download.mendeley.com/download/apt/pool/main/m/mendeleydesktop/mendeleydesktop_${version}.deb"; sha256 = if stdenv.system == arch32 - then "08f61972d5a5e491fcd3d4cf5dfe59ad7e07b3883b7ad50d440868c3057af6fb" - else "9bd139b236143f78b23ff4271c01a20c059622abe9dd125e771e0b5db16b7b7b"; + then "14cxysn1l6s6z8awmqj1glm4146jif0852wiyhjg1dhhh25cvpbv" + else "1hdvawj8g4hpj36xy5ys27h1fa76xcdx8apsxa6hpg5xmxvcamqz"; deps = [ gcc.cc - liborc + orc qt4 xorg.libX11 zlib diff --git a/pkgs/applications/office/mmex/default.nix b/pkgs/applications/office/mmex/default.nix index c45eb7d53d0c..2981a0f7f890 100644 --- a/pkgs/applications/office/mmex/default.nix +++ b/pkgs/applications/office/mmex/default.nix @@ -1,36 +1,25 @@ -# To use this program, copy all that is in $out/opt/mmax into a writable directory, -# and run it from there. This is the intended usage, as far as I understand. +{ stdenv, fetchgit, sqlite, wxGTK30, gettext }: -{ fetchsvn, stdenv, wxGTK }: -let version = "0.9.5.1"; +let + version = "1.3.1"; in stdenv.mkDerivation { name = "money-manager-ex-${version}"; - src = fetchsvn { - url = "https://moneymanagerex.svn.sourceforge.net/svnroot/moneymanagerex/tags/releases/${version}"; - sha256 = "0mby1p01fyxk5pgd7h3919q91r10zbfk16rfz1kbchqxqz87x4jq"; + src = fetchgit { + url = "https://github.com/moneymanagerex/moneymanagerex.git"; + rev = "refs/tags/v${version}"; + sha256 = "1cmwmvlzg7r85qq23lbbmq2y91vhf9f5pblpja5ph98bsd218pc0"; }; - preConfigure = '' - export CFLAGS="-I`pwd`/include" - export CXXFLAGS="$CFLAGS" - ''; - - installPhase = '' - mkdir -p $out/opt/mmex - cp -r mmex runtime/{*.txt,*.png,*.db3,en,help,*.wav,*.ico} $out/opt/mmex - ''; - - buildInputs = [ wxGTK ]; + buildInputs = [ sqlite wxGTK30 gettext ]; meta = { description = "Easy-to-use personal finance software"; - homepage = http://www.codelathe.com/mmex; + homepage = http://www.moneymanagerex.org/; license = stdenv.lib.licenses.gpl2Plus; maintainers = with stdenv.lib.maintainers; [viric]; platforms = with stdenv.lib.platforms; linux; - broken = true; }; } diff --git a/pkgs/applications/office/osmo/default.nix b/pkgs/applications/office/osmo/default.nix index 6da3bf6df83f..3209ae0a9c9b 100644 --- a/pkgs/applications/office/osmo/default.nix +++ b/pkgs/applications/office/osmo/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchurl, pkgconfig, gtk, libxml2, gettext, libical, libnotify -, libarchive, gtkspell, webkitgtk2, libgringotts }: +{ stdenv, fetchurl, pkgconfig, gtk2, libxml2, gettext, libical, libnotify +, libarchive, gtkspell2, webkitgtk2, libgringotts }: stdenv.mkDerivation rec { name = "osmo-${version}"; @@ -10,8 +10,8 @@ stdenv.mkDerivation rec { sha256 = "0vaayrmyiqn010gr11drmhkkg8fkxdmla3gwj9v3zvp5x44kab05"; }; - buildInputs = [ pkgconfig gtk libxml2 gettext libical libnotify libarchive - gtkspell webkitgtk2 libgringotts ]; + buildInputs = [ pkgconfig gtk2 libxml2 gettext libical libnotify libarchive + gtkspell2 webkitgtk2 libgringotts ]; meta = with stdenv.lib; { description = "A handy personal organizer"; diff --git a/pkgs/applications/office/paperwork/default.nix b/pkgs/applications/office/paperwork/default.nix new file mode 100644 index 000000000000..2c55be55b08b --- /dev/null +++ b/pkgs/applications/office/paperwork/default.nix @@ -0,0 +1,78 @@ +{ lib, python3Packages, fetchFromGitHub, gtk3, cairo +, aspellDicts, buildEnv +, gnome3, hicolor_icon_theme +, xvfb_run, dbus +}: + +python3Packages.buildPythonApplication rec { + name = "paperwork-${version}"; + # Don't forget to also update paperwork-backend when updating this! + version = "1.0.6.1"; + + src = fetchFromGitHub { + repo = "paperwork"; + owner = "jflesch"; + rev = version; + sha256 = "1v1lxyi4crdik4jlwjds9n6lzw4m4l4f9n5azlinv8wb477qpv6h"; + }; + + # Patch out a few paths that assume that we're using the FHS: + postPatch = '' + themeDir="$(echo "${gnome3.defaultIconTheme}/share/icons/"*)" + sed -i -e "s,/usr/share/icons/gnome,$themeDir," src/paperwork/deps.py + + sed -i -e 's,sys\.prefix,"",g' \ + src/paperwork/frontend/aboutdialog/__init__.py \ + src/paperwork/frontend/mainwindow/__init__.py \ + setup.py + + sed -i -e '/^UI_FILES_DIRS = \[/,/^\]$/ { + c UI_FILES_DIRS = ["'"$out/share/paperwork"'"] + }' src/paperwork/frontend/util/__init__.py + + sed -i -e '/^LOCALE_PATHS = \[/,/^\]$/ { + c LOCALE_PATHS = ["'"$out/share/locale"'"] + }' src/paperwork/paperwork.py + + sed -i -e 's/"icon"/"icon-name"/g' \ + src/paperwork/frontend/mainwindow/mainwindow.glade + + sed -i -e 's/"logo"/"logo-icon-name"/g' \ + src/paperwork/frontend/aboutdialog/aboutdialog.glade + ''; + + ASPELL_CONF = "dict-dir ${buildEnv { + name = "aspell-all-dicts"; + paths = lib.collect lib.isDerivation aspellDicts; + }}/lib/aspell"; + + checkInputs = [ xvfb_run dbus.daemon ]; + buildInputs = [ gnome3.defaultIconTheme hicolor_icon_theme ]; + + # A few parts of chkdeps need to have a display and a dbus session, so we not + # only need to run a virtual X server + dbus but also have a large enough + # resolution, because the Cairo test tries to draw a 200x200 window. + preCheck = '' + xvfb-run -s '-screen 0 800x600x24' dbus-run-session \ + --config-file=${dbus.daemon}/share/dbus-1/session.conf \ + paperwork-shell chkdeps paperwork + ''; + + propagatedBuildInputs = with python3Packages; [ + paperwork-backend pypillowfight gtk3 cairo + ]; + + makeWrapperArgs = [ + "--set GI_TYPELIB_PATH \"$GI_TYPELIB_PATH\"" + "--prefix XDG_DATA_DIRS : \"$out/share\"" + "--suffix XDG_DATA_DIRS : \"$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH\"" + ]; + + meta = { + description = "A personal document manager for scanned documents"; + homepage = "https://github.com/jflesch/paperwork"; + license = lib.licenses.gpl3Plus; + maintainers = [ lib.maintainers.aszlig ]; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/applications/office/planner/default.nix b/pkgs/applications/office/planner/default.nix index 9222ed5757ce..e7fd94500290 100644 --- a/pkgs/applications/office/planner/default.nix +++ b/pkgs/applications/office/planner/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl , pkgconfig , intltool -, gnome +, gnome2 , libxslt , python }: @@ -20,15 +20,17 @@ in stdenv.mkDerivation { sha256 = "15h6ps58giy5r1g66sg1l4xzhjssl362mfny2x09khdqsvk2j38k"; }; - buildInputs = [ + buildInputs = with gnome2; [ pkgconfig intltool - gnome.GConf - gnome.gtk - gnome.libgnomecanvas - gnome.libgnomeui - gnome.libglade - gnome.scrollkeeper + + GConf + gtk + libgnomecanvas + libgnomeui + libglade + scrollkeeper + libxslt python ]; diff --git a/pkgs/applications/office/ppl-address-book/Gemfile b/pkgs/applications/office/ppl-address-book/Gemfile new file mode 100644 index 000000000000..0039c4366963 --- /dev/null +++ b/pkgs/applications/office/ppl-address-book/Gemfile @@ -0,0 +1,2 @@ +source 'https://rubygems.org' +gem 'ppl' diff --git a/pkgs/applications/office/ppl-address-book/Gemfile.lock b/pkgs/applications/office/ppl-address-book/Gemfile.lock new file mode 100644 index 000000000000..5054bb8b9c8b --- /dev/null +++ b/pkgs/applications/office/ppl-address-book/Gemfile.lock @@ -0,0 +1,34 @@ +GEM + remote: https://rubygems.org/ + specs: + colored (1.2) + greencard (0.0.5) + i18n (0.7.0) + inifile (2.0.2) + mail (2.5.3) + i18n (>= 0.4.0) + mime-types (~> 1.16) + treetop (~> 1.4.8) + mime-types (1.25.1) + morphine (0.1.1) + polyglot (0.3.5) + ppl (2.4.0) + colored (= 1.2) + greencard (= 0.0.5) + inifile (= 2.0.2) + mail (= 2.5.3) + morphine (= 0.1.1) + rugged (= 0.17.0.b6) + rugged (0.17.0.b6) + treetop (1.4.15) + polyglot + polyglot (>= 0.3.1) + +PLATFORMS + ruby + +DEPENDENCIES + ppl + +BUNDLED WITH + 1.12.5 diff --git a/pkgs/applications/office/ppl-address-book/default.nix b/pkgs/applications/office/ppl-address-book/default.nix new file mode 100644 index 000000000000..1c48fc50842d --- /dev/null +++ b/pkgs/applications/office/ppl-address-book/default.nix @@ -0,0 +1,38 @@ +{ stdenv, lib, bundlerEnv, ruby, makeWrapper, which }: + +let + pname = "ppl-address-book"; + + version = (import ./gemset.nix).ppl.version; + + env = bundlerEnv rec { + name = "${pname}-env-${version}"; + inherit ruby; + gemfile = ./Gemfile; + lockfile = ./Gemfile.lock; + gemset = ./gemset.nix; + + gemConfig.rugged = attrs: { buildInputs = [ which ]; }; + }; + +in stdenv.mkDerivation { + name = "${pname}-${version}"; + + phases = [ "installPhase" ]; + + buildInputs = [ env makeWrapper ]; + + installPhase = '' + mkdir -p $out/bin + makeWrapper ${env}/bin/ppl $out/bin/ppl + ''; + + meta = with lib; { + description = "Address book software for command-line users"; + homepage = http://ppladdressbook.org/; + license = with licenses; mit; + maintainers = with maintainers; [ chris-martin ]; + platforms = platforms.unix; + }; + +} diff --git a/pkgs/applications/office/ppl-address-book/gemset.nix b/pkgs/applications/office/ppl-address-book/gemset.nix new file mode 100644 index 000000000000..e8229f6153fd --- /dev/null +++ b/pkgs/applications/office/ppl-address-book/gemset.nix @@ -0,0 +1,90 @@ +{ + colored = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0b0x5jmsyi0z69bm6sij1k89z7h0laag3cb4mdn7zkl9qmxb90lx"; + type = "gem"; + }; + version = "1.2"; + }; + greencard = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "11pxrl1w8c7m7rmnnmdaplrv53qgylyvkv8bzsfyjna7k16hynvq"; + type = "gem"; + }; + version = "0.0.5"; + }; + i18n = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1i5z1ykl8zhszsxcs8mzl8d0dxgs3ylz8qlzrw74jb0gplkx6758"; + type = "gem"; + }; + version = "0.7.0"; + }; + inifile = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "03rpacxnrnisjhd2zhc7629ica958bkdbakicl5kipw1wbprck25"; + type = "gem"; + }; + version = "2.0.2"; + }; + mail = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1afr3acz7vsvr4gp6wnrkw1iwbjhf14mh8g8mlm40r86wcwzr39k"; + type = "gem"; + }; + version = "2.5.3"; + }; + mime-types = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0mhzsanmnzdshaba7gmsjwnv168r1yj8y0flzw88frw1cickrvw8"; + type = "gem"; + }; + version = "1.25.1"; + }; + morphine = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "05aw93cijd1gq39ikw2dw3i2c79bjq05kvxrs81mqxqdlini5wwa"; + type = "gem"; + }; + version = "0.1.1"; + }; + polyglot = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1bqnxwyip623d8pr29rg6m8r0hdg08fpr2yb74f46rn1wgsnxmjr"; + type = "gem"; + }; + version = "0.3.5"; + }; + ppl = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0vpp4s12ggbk5kpl9z1i7vi9vvghgxrc8my35yk8knckg5waxg47"; + type = "gem"; + }; + version = "2.4.0"; + }; + rugged = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "025rj3rkj5yxf4pjj1s8x4yzshlyni3hgrjwhggg54nvw6b688qi"; + type = "gem"; + }; + version = "0.17.0.b6"; + }; + treetop = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zqj5y0mvfvyz11nhsb4d5ch0i0rfcyj64qx19mw4qhg3hh8z9pz"; + type = "gem"; + }; + version = "1.4.15"; + }; +} \ No newline at end of file diff --git a/pkgs/applications/office/qnotero/default.nix b/pkgs/applications/office/qnotero/default.nix index 695db93d4de1..5076a8f586e3 100644 --- a/pkgs/applications/office/qnotero/default.nix +++ b/pkgs/applications/office/qnotero/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, buildPythonPackage, python3, python3Packages +{ stdenv, fetchFromGitHub, python3Packages }: python3Packages.buildPythonPackage rec { @@ -14,7 +14,7 @@ python3Packages.buildPythonPackage rec { sha256 = "1d5a9k1llzn9q1qv1bfwc7gfflabh4riplz9jj0hf04b279y1bj0"; }; - propagatedBuildInputs = [ python3 python3Packages.pyqt4 ]; + propagatedBuildInputs = [ python3Packages.pyqt4 ]; patchPhase = '' substituteInPlace ./setup.py \ diff --git a/pkgs/applications/office/scribus/default.nix b/pkgs/applications/office/scribus/default.nix index d592e149588a..a6f0bccec96b 100644 --- a/pkgs/applications/office/scribus/default.nix +++ b/pkgs/applications/office/scribus/default.nix @@ -1,8 +1,10 @@ { stdenv, fetchurl, pkgconfig, freetype, lcms, libtiff, libxml2 -, libart_lgpl, qt4, python, cups, fontconfig, libjpeg +, libart_lgpl, qt4, python2, cups, fontconfig, libjpeg , zlib, libpng, xorg, cairo, podofo, aspell, boost, cmake }: -stdenv.mkDerivation rec { +let + pythonEnv = python2.withPackages(ps: [ps.tkinter]); +in stdenv.mkDerivation rec { name = "scribus-1.4.6"; src = fetchurl { @@ -14,7 +16,7 @@ stdenv.mkDerivation rec { buildInputs = with xorg; [ pkgconfig cmake freetype lcms libtiff libxml2 libart_lgpl qt4 - python cups fontconfig + pythonEnv cups fontconfig libjpeg zlib libpng podofo aspell cairo boost # for internal 2geom library libXaw libXext libX11 libXtst libXi libXinerama diff --git a/pkgs/applications/office/skrooge/2.nix b/pkgs/applications/office/skrooge/2.nix index f9be34efd953..98c1c4c8b79f 100644 --- a/pkgs/applications/office/skrooge/2.nix +++ b/pkgs/applications/office/skrooge/2.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { name = "skrooge-${version}"; - version = "2.4.0"; + version = "2.6.0"; src = fetchurl { url = "http://download.kde.org/stable/skrooge/${name}.tar.xz"; - sha256 = "132d022337140f841f51420536c31dfe07c90fa3a38878279026825f5d2526fe"; + sha256 = "13sd669rx66fpk9pm72nr2y69k2h4mcs4b904i9xm41i0fiy6szp"; }; nativeBuildInputs = [ cmake ecm makeQtWrapper ]; diff --git a/pkgs/applications/office/tagainijisho/default.nix b/pkgs/applications/office/tagainijisho/default.nix index 9283ee1274c0..bd7d537a2c6e 100644 --- a/pkgs/applications/office/tagainijisho/default.nix +++ b/pkgs/applications/office/tagainijisho/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation { /* program */ gpl3Plus /* data */ cc-by-sa-30 ]; - platforms = platforms.unix; + platforms = platforms.linux; maintainers = with maintainers; [ vbgl ]; }; } diff --git a/pkgs/applications/office/zim/default.nix b/pkgs/applications/office/zim/default.nix index 9014e3884688..313239581a1a 100644 --- a/pkgs/applications/office/zim/default.nix +++ b/pkgs/applications/office/zim/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchurl, buildPythonApplication, pythonPackages, pygtk, pygobject, python }: +{ stdenv, lib, fetchurl, pythonPackages }: # # TODO: Declare configuration options for the following optional dependencies: @@ -7,7 +7,7 @@ # - pyxdg: Need to make it work first (see setupPyInstallFlags). # -buildPythonApplication rec { +pythonPackages.buildPythonApplication rec { name = "zim-${version}"; version = "0.65"; namePrefix = ""; @@ -17,7 +17,7 @@ buildPythonApplication rec { sha256 = "15pdq4fxag85qjsrdmmssiq85qsk5vnbp8mrqnpvx8lm8crz6hjl"; }; - propagatedBuildInputs = [ pythonPackages.sqlite3 pygtk pythonPackages.pyxdg pygobject ]; + propagatedBuildInputs = with pythonPackages; [ pyGtkGlade pyxdg pygobject2 ]; preBuild = '' export HOME=$TMP @@ -30,13 +30,13 @@ buildPythonApplication rec { export makeWrapperArgs="--prefix XDG_DATA_DIRS : $out/share --argv0 $out/bin/.zim-wrapped" ''; - postFixup = '' - wrapPythonPrograms - substituteInPlace $out/bin/.zim-wrapped \ - --replace "sys.argv[0] = 'zim'" "sys.argv[0] = '$out/bin/zim'" + # RuntimeError: could not create GtkClipboard object + doCheck = false; + + checkPhase = '' + python test.py ''; - doCheck = true; meta = { description = "A desktop wiki"; diff --git a/pkgs/applications/office/zotero/default.nix b/pkgs/applications/office/zotero/default.nix index 5a21754b44e3..0e9f2eba1d12 100644 --- a/pkgs/applications/office/zotero/default.nix +++ b/pkgs/applications/office/zotero/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, bash, firefox, perl, unzipNLS, xorg }: +{ stdenv, fetchurl, lib, bash, firefox, perl, unzipNLS, xorg }: let @@ -30,7 +30,7 @@ stdenv.mkDerivation { unzip "${xpi}" -d "$out/libexec/zotero" BUILDID=`date +%Y%m%d` - GECKO_VERSION="${firefox.passthru.version}" + GECKO_VERSION="${lib.removeSuffix "esr" firefox.passthru.version}" UPDATE_CHANNEL="default" # Copy branding @@ -52,8 +52,8 @@ stdenv.mkDerivation { # Copy application.ini and modify cp assets/application.ini "$out/libexec/zotero/application.ini" - perl -pi -e "s/{{VERSION}}/$version/" "$out/libexec/zotero/application.ini" - perl -pi -e "s/{{BUILDID}}/$BUILDID/" "$out/libexec/zotero/application.ini" + perl -pi -e "s/\{\{VERSION}}/$version/" "$out/libexec/zotero/application.ini" + perl -pi -e "s/\{\{BUILDID}}/$BUILDID/" "$out/libexec/zotero/application.ini" perl -pi -e "s/^MaxVersion.*\$/MaxVersion=$GECKO_VERSION/" "$out/libexec/zotero/application.ini" # Copy prefs.js and modify @@ -77,6 +77,6 @@ stdenv.mkDerivation { description = "Collect, organize, cite, and share your research sources"; license = licenses.agpl3; platforms = platforms.linux; - maintainers = with maintainers; [ ttuegel ]; + broken = true; # probably; see #20049 }; } diff --git a/pkgs/applications/science/astronomy/stellarium/default.nix b/pkgs/applications/science/astronomy/stellarium/default.nix index 6f7d1b7b764f..49c774f7039a 100644 --- a/pkgs/applications/science/astronomy/stellarium/default.nix +++ b/pkgs/applications/science/astronomy/stellarium/default.nix @@ -1,20 +1,22 @@ { stdenv, fetchurl, cmake, freetype, libpng, mesa, gettext, openssl, perl, libiconv , qtscript, qtserialport, qttools, makeQtWrapper +, qtmultimedia }: stdenv.mkDerivation rec { - name = "stellarium-0.14.3"; + name = "stellarium-${version}"; + version = "0.15.0"; src = fetchurl { url = "mirror://sourceforge/stellarium/${name}.tar.gz"; - sha256 = "1919wzlvhfxdxficbwhp31xlhm0571grgcmsfdp5y36z9yqwahfy"; + sha256 = "0il751lgnfkx35h1m8fzwwnrygpxjx2a80gng1i1rbybkykf7l3l"; }; nativeBuildInputs = [ makeQtWrapper ]; buildInputs = [ cmake freetype libpng mesa gettext openssl perl libiconv qtscript - qtserialport qttools + qtserialport qttools qtmultimedia ]; enableParallelBuilding = true; diff --git a/pkgs/applications/science/biology/bcftools/default.nix b/pkgs/applications/science/biology/bcftools/default.nix index 71ceca122244..7ae62b15d34a 100644 --- a/pkgs/applications/science/biology/bcftools/default.nix +++ b/pkgs/applications/science/biology/bcftools/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { makeFlags = [ "HSTDIR=${htslib}" - "prefix=$out" + "prefix=$(out)" "CC=cc" ]; diff --git a/pkgs/applications/science/biology/freebayes/builder.sh b/pkgs/applications/science/biology/freebayes/builder.sh new file mode 100644 index 000000000000..a9f56e77d7e3 --- /dev/null +++ b/pkgs/applications/science/biology/freebayes/builder.sh @@ -0,0 +1,11 @@ +source $stdenv/setup + +unpackPhase + +cd freebayes-* + +make + +mkdir -p $out/bin +cp bin/freebayes bin/bamleftalign $out/bin +cp scripts/* $out/bin diff --git a/pkgs/applications/science/biology/freebayes/default.nix b/pkgs/applications/science/biology/freebayes/default.nix new file mode 100644 index 000000000000..ef0da619b25a --- /dev/null +++ b/pkgs/applications/science/biology/freebayes/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchFromGitHub, cmake, gcc, zlib}: + +stdenv.mkDerivation rec { + name = "freebayes-${version}"; + version = "1.1.0"; + + src = fetchFromGitHub { + name = "freebayes-${version}-src"; + owner = "ekg"; + repo = "freebayes"; + rev = "refs/tags/v${version}"; + sha256 = "0xb8aicb36w9mfs1gq1x7mcp3p82kl7i61d162hfncqzg2npg8rr"; + fetchSubmodules = true; + }; + + buildInputs = [ cmake gcc zlib ]; + + builder = ./builder.sh; + + meta = with stdenv.lib; { + description = "Bayesian haplotype-based polymorphism discovery and genotyping"; + license = licenses.mit; + homepage = https://github.com/ekg/freebayes; + maintainers = with maintainers; [ jdagilliland ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/applications/science/biology/igv/default.nix b/pkgs/applications/science/biology/igv/default.nix index 3d0f7154e0e0..3acf7d965279 100644 --- a/pkgs/applications/science/biology/igv/default.nix +++ b/pkgs/applications/science/biology/igv/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "igv-${version}"; - version = "2.3.77"; + version = "2.3.89"; src = fetchurl { url = "http://data.broadinstitute.org/igv/projects/downloads/IGV_${version}.zip"; - sha256 = "9d8c622649f9f02026e92fa44006bb57e897baad4359c8708ca9cdbb71f94bb5"; + sha256 = "06bmj9jsnk5010ipv0w4qlcvgw67dy8hsvgcx9l74v3s0zp5di3y"; }; buildInputs = [ unzip jre ]; diff --git a/pkgs/applications/science/biology/minc-tools/default.nix b/pkgs/applications/science/biology/minc-tools/default.nix index 41813dcda149..aae0cf40cee3 100644 --- a/pkgs/applications/science/biology/minc-tools/default.nix +++ b/pkgs/applications/science/biology/minc-tools/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib/" ]; checkPhase = "ctest"; - doCheck = true; + doCheck = false; meta = with stdenv.lib; { homepage = https://github.com/BIC-MNI/minc-tools; diff --git a/pkgs/applications/science/biology/pal2nal/default.nix b/pkgs/applications/science/biology/pal2nal/default.nix deleted file mode 100644 index 956f8b07e989..000000000000 --- a/pkgs/applications/science/biology/pal2nal/default.nix +++ /dev/null @@ -1,31 +0,0 @@ -{stdenv, fetchurl, perl, paml}: - -stdenv.mkDerivation { - name = "pal2nal-12"; - src = fetchurl { - url = http://coot.embl.de/pal2nal/distribution/pal2nal.v12.tar.gz; - sha256 = "1qj9sq5skpa7vyccl9gxc5ls85jwiq8j6mr8wvacz4yhyg0afy04"; - }; - - installPhase = '' - mkdir -p $out/bin - - cp -v pal2nal.pl $out/bin - - mkdir -p $out/doc - - cp -v README $out/doc - ''; - - meta = { - description = "Program for aligning nucleotide sequences based on an aminoacid alignment"; - longDescription = '' - PAL2NAL is a program that converts a multiple sequence alignment of proteins and the corresponding DNA (or mRNA) sequences into a codon alignment. The program automatically assigns the corresponding codon sequence even if the input DNA sequence has mismatches with the input protein sequence, or contains UTRs, polyA tails. It can also deal with frame shifts in the input alignment, which is suitable for the analysis of pseudogenes. The resulting codon alignment can further be subjected to the calculation of synonymous (KS) and non-synonymous (KA) substitution rates. - -If the input is a pair of sequences, PAL2NAL automatically calculates KS and KA by the codeml program in PAML. -''; - license = "non-commercial"; - homepage = http://coot.embl.de/pal2nal/; - pkgMaintainer = "Pjotr Prins"; - }; -} diff --git a/pkgs/applications/science/biology/paml/default.nix b/pkgs/applications/science/biology/paml/default.nix index cec0aa7e5eba..589c2809a931 100644 --- a/pkgs/applications/science/biology/paml/default.nix +++ b/pkgs/applications/science/biology/paml/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl}: stdenv.mkDerivation rec { - version = "4.2a"; + version = "4.9c"; name = "paml-${version}"; src = fetchurl { - url = "http://abacus.gene.ucl.ac.uk/software/paml${version}.tar.gz"; - sha256 = "0yywyrjgxrpavp50n00l01pl90b7pykgb2k53yrlykz9dnf583pb"; + url = "http://abacus.gene.ucl.ac.uk/software/paml${version}.tgz"; + sha256 = "18a1l47223l7jyjavm8a8la84q9k9kbxwmj7kz4z3pdx70qrl04j"; }; preBuild = '' @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { ''; installPhase = '' mkdir -pv $out/bin - cp -v codeml $out/bin + cp -v codeml $out/bin cp -v baseml $out/bin cp -v basemlg $out/bin cp -v chi2 $out/bin @@ -28,6 +28,6 @@ stdenv.mkDerivation rec { description = "Phylogenetic Analysis by Maximum Likelihood (PAML)"; longDescription = ''PAML is a package of programs for phylogenetic analyses of DNA or protein sequences using maximum likelihood. It is maintained and distributed for academic use free of charge by Ziheng Yang. ANSI C source codes are distributed for UNIX/Linux/Mac OSX, and executables are provided for MS Windows. PAML is not good for tree making. It may be used to estimate parameters and test hypotheses to study the evolutionary process, when you have reconstructed trees using other programs such as PAUP*, PHYLIP, MOLPHY, PhyML, RaxML, etc.''; license = "non-commercial"; - homepage = http://abacus.gene.ucl.ac.uk/software/paml.html; + homepage = http://abacus.gene.ucl.ac.uk/software/paml.html; }; } diff --git a/pkgs/applications/science/biology/plink-ng/default.nix b/pkgs/applications/science/biology/plink-ng/default.nix new file mode 100644 index 000000000000..eb4d2714a127 --- /dev/null +++ b/pkgs/applications/science/biology/plink-ng/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchFromGitHub, zlib, openblas, darwin}: + +stdenv.mkDerivation rec { + name = "plink-ng-${version}"; + version = "1.90b3"; + + src = fetchFromGitHub { + owner = "chrchang"; + repo = "plink-ng"; + rev = "v${version}"; + sha256 = "1zhffjbwpd50dxywccbnv1rxy9njwz73l4awc5j7i28rgj3davcq"; + }; + + buildInputs = [ zlib ] ++ (if stdenv.isDarwin then [ darwin.apple_sdk.frameworks.Accelerate ] else [ openblas ]) ; + + buildPhase = '' + sed -i 's|zlib-1.2.8/zlib.h|zlib.h|g' *.c *.h + ${if stdenv.cc.isClang then "sed -i 's|g++|clang++|g' Makefile.std" else ""} + make ZLIB=-lz ${if stdenv.isDarwin then "" else "BLASFLAGS=-lopenblas"} -f Makefile.std + ''; + + installPhase = '' + mkdir -p $out/bin + cp plink $out/bin + ''; + + meta = { + description = "A comprehensive update to the PLINK association analysis toolset"; + homepage = "https://www.cog-genomics.org/plink2"; + license = stdenv.lib.licenses.gpl3; + platforms = stdenv.lib.platforms.all; + }; +} + diff --git a/pkgs/applications/science/electronics/geda/default.nix b/pkgs/applications/science/electronics/geda/default.nix index 25934c71e8eb..b8406c3255cc 100644 --- a/pkgs/applications/science/electronics/geda/default.nix +++ b/pkgs/applications/science/electronics/geda/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, guile, gtk, flex, gawk, perl }: +{ stdenv, fetchurl, pkgconfig, guile, gtk2, flex, gawk, perl }: stdenv.mkDerivation rec { name = "geda-${version}"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { }; configureFlags = "--disable-update-xdg-database"; - buildInputs = [ pkgconfig guile gtk flex gawk perl ]; + buildInputs = [ pkgconfig guile gtk2 flex gawk perl ]; meta = with stdenv.lib; { description = "Full GPL'd suite of Electronic Design Automation tools"; diff --git a/pkgs/applications/science/electronics/gerbv/default.nix b/pkgs/applications/science/electronics/gerbv/default.nix index 92d0ceba1cfe..7cdcbb7fd197 100644 --- a/pkgs/applications/science/electronics/gerbv/default.nix +++ b/pkgs/applications/science/electronics/gerbv/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchgit, pkgconfig, gettext, libtool, automake, autoconf, cairo, gtk, autoreconfHook }: +{ stdenv, fetchgit, pkgconfig, gettext, libtool, automake, autoconf, cairo, gtk2, autoreconfHook }: stdenv.mkDerivation rec { name = "gerbv-${version}"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { sha256 = "00jn1xhf6kblxc5gac1wvk8zm12fy6sk81nj3jwdag0z6wk3z446"; }; - buildInputs = [ pkgconfig gettext libtool automake autoconf cairo gtk autoreconfHook ]; + buildInputs = [ pkgconfig gettext libtool automake autoconf cairo gtk2 autoreconfHook ]; configureFlags = ["--disable-update-desktop-database"]; diff --git a/pkgs/applications/science/electronics/gtkwave/default.nix b/pkgs/applications/science/electronics/gtkwave/default.nix index 32d39d8a609d..657d20553b7f 100644 --- a/pkgs/applications/science/electronics/gtkwave/default.nix +++ b/pkgs/applications/science/electronics/gtkwave/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, gtk, gperf, pkgconfig, bzip2, tcl, tk, judy, xz}: +{stdenv, fetchurl, gtk2, gperf, pkgconfig, bzip2, tcl, tk, judy, xz}: stdenv.mkDerivation rec { name = "gtkwave-3.3.70"; @@ -7,7 +7,7 @@ stdenv.mkDerivation rec { sha256 = "1akzf1sq8mwarrbrbz5chrvgwlsp444h5za8rg1dfyqk733s7piz"; }; - buildInputs = [ gtk gperf pkgconfig bzip2 tcl tk judy xz ]; + buildInputs = [ gtk2 gperf pkgconfig bzip2 tcl tk judy xz ]; configureFlags = [ "--with-tcl=${tcl}/lib" "--with-tk=${tk}/lib" "--enable-judy" ]; diff --git a/pkgs/applications/science/electronics/kicad/default.nix b/pkgs/applications/science/electronics/kicad/default.nix index 56fbf20f52d1..9cac49d5189a 100644 --- a/pkgs/applications/science/electronics/kicad/default.nix +++ b/pkgs/applications/science/electronics/kicad/default.nix @@ -21,11 +21,10 @@ stdenv.mkDerivation rec { sha256 = "0vrzykgxx423iwgz6186bi8724kmbi5wfl92gfwb3r6mqammgwpg"; }) ]; - + sourceRoot = "kicad-${version}"; cmakeFlags = '' - -DCMAKE_BUILD_TYPE=Release -DKICAD_SKIP_BOOST=ON -DKICAD_BUILD_VERSION=${version} -DKICAD_REPO_NAME=stable @@ -43,7 +42,7 @@ stdenv.mkDerivation rec { postUnpack = '' pushd $(pwd) - ''; + ''; postInstall = '' popd @@ -53,7 +52,7 @@ stdenv.mkDerivation rec { make $MAKE_FLAGS make install popd - + pushd kicad-footprints-* mkdir -p $out/share/kicad/modules cp -R *.pretty $out/share/kicad/modules/ diff --git a/pkgs/applications/science/electronics/pcb/default.nix b/pkgs/applications/science/electronics/pcb/default.nix index 257d6993ff59..1f5109434000 100644 --- a/pkgs/applications/science/electronics/pcb/default.nix +++ b/pkgs/applications/science/electronics/pcb/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, gtk, bison, intltool, flex, netpbm, imagemagick, dbus, xlibsWrapper, mesa, shared_mime_info, tcl, tk, gnome, pangox_compat, gd, xorg }: +{ stdenv, fetchurl, pkgconfig, gtk2, bison, intltool, flex, netpbm, imagemagick, dbus, xlibsWrapper, mesa, shared_mime_info, tcl, tk, gnome2, pangox_compat, gd, xorg }: stdenv.mkDerivation rec { name = "pcb-${version}"; @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "0l6944hq79qsyp60i5ai02xwyp8l47q7xdm3js0jfkpf72ag7i42"; }; - buildInputs = [ pkgconfig gtk bison intltool flex netpbm imagemagick dbus xlibsWrapper mesa tcl shared_mime_info tk gnome.gtkglext pangox_compat gd xorg.libXmu ]; + buildInputs = [ pkgconfig gtk2 bison intltool flex netpbm imagemagick dbus xlibsWrapper mesa tcl shared_mime_info tk gnome2.gtkglext pangox_compat gd xorg.libXmu ]; configureFlags = ["--disable-update-desktop-database"]; diff --git a/pkgs/applications/science/electronics/xoscope/default.nix b/pkgs/applications/science/electronics/xoscope/default.nix index df7d053d93bd..f26b13c5e32c 100644 --- a/pkgs/applications/science/electronics/xoscope/default.nix +++ b/pkgs/applications/science/electronics/xoscope/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, gtk, pkgconfig}: +{stdenv, fetchurl, gtk2, pkgconfig}: stdenv.mkDerivation rec { name = "xoscope-2.0"; @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { sha256 = "00xlvvqyw6l1ljbsx1vgx2v1jfh0xacz1a0yhq1dj6yxf5wh58x8"; }; - buildInputs = [ gtk pkgconfig ]; + buildInputs = [ gtk2 pkgconfig ]; # from: https://aur.archlinux.org/packages.php?ID=12140&detail=1 patches = [ ./gtkdepre.diff ]; diff --git a/pkgs/applications/science/geometry/drgeo/default.nix b/pkgs/applications/science/geometry/drgeo/default.nix index 3e5408ac7f5d..8db1beedebbb 100644 --- a/pkgs/applications/science/geometry/drgeo/default.nix +++ b/pkgs/applications/science/geometry/drgeo/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, libglade, gtk, guile, libxml2, perl +{ stdenv, fetchurl, libglade, gtk2, guile, libxml2, perl , intltool, libtool, pkgconfig }: stdenv.mkDerivation rec { @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { }; patches = [ ./struct.patch ]; - buildInputs = [libglade gtk guile libxml2 + buildInputs = [libglade gtk2 guile libxml2 perl intltool libtool pkgconfig]; prebuild = '' diff --git a/pkgs/applications/science/logic/coq/8.3.nix b/pkgs/applications/science/logic/coq/8.3.nix index b434063cae98..ec4e530ae523 100644 --- a/pkgs/applications/science/logic/coq/8.3.nix +++ b/pkgs/applications/science/logic/coq/8.3.nix @@ -3,7 +3,10 @@ # However, coq can build without csdp by setting it to null. # In this case some Micromega tactics will search the user's path for the csdp program and will fail if it is not found. -{ stdenv, make, fetchurl, ocaml, findlib, camlp5, ncurses, lablgtk ? null, csdp ? null }: +{ stdenv, lib, make, fetchurl +, ocaml, findlib, camlp5, ncurses, lablgtk ? null, csdp ? null }: + +assert lib.versionOlder ocaml.version "4"; let version = "8.3pl4"; diff --git a/pkgs/applications/science/logic/coq/8.4.nix b/pkgs/applications/science/logic/coq/8.4.nix new file mode 100644 index 000000000000..f162fe4a86ea --- /dev/null +++ b/pkgs/applications/science/logic/coq/8.4.nix @@ -0,0 +1,95 @@ +# - coqide compilation can be disabled by setting lablgtk to null; +# - The csdp program used for the Micromega tactic is statically referenced. +# However, coq can build without csdp by setting it to null. +# In this case some Micromega tactics will search the user's path for the csdp program and will fail if it is not found. + +{stdenv, fetchurl, pkgconfig, writeText, ocaml, findlib, camlp5, ncurses, lablgtk ? null, csdp ? null}: + +let + version = "8.4pl6"; + coq-version = "8.4"; + buildIde = lablgtk != null; + ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else ""; + csdpPatch = if csdp != null then '' + substituteInPlace plugins/micromega/sos.ml --replace "; csdp" "; ${csdp}/bin/csdp" + substituteInPlace plugins/micromega/coq_micromega.ml --replace "System.is_in_system_path \"csdp\"" "true" + '' else ""; + +self = +stdenv.mkDerivation { + name = "coq-${version}"; + + inherit coq-version; + inherit ocaml camlp5; + + src = fetchurl { + url = "http://coq.inria.fr/distrib/V${version}/files/coq-${version}.tar.gz"; + sha256 = "1mpbj4yf36kpjg2v2sln12i8dzqn8rag6fd07hslj2lpm4qs4h55"; + }; + + buildInputs = [ pkgconfig ocaml findlib camlp5 ncurses lablgtk ]; + + patches = [ ./configure.patch ]; + + postPatch = '' + UNAME=$(type -tp uname) + RM=$(type -tp rm) + substituteInPlace configure --replace "/bin/uname" "$UNAME" + substituteInPlace tools/beautify-archive --replace "/bin/rm" "$RM" + ${csdpPatch} + ''; + + preConfigure = '' + configureFlagsArray=( + -opt + -camldir ${ocaml}/bin + -camlp5dir $(ocamlfind query camlp5) + ${ideFlags} + ) + ''; + + prefixKey = "-prefix "; + + buildFlags = "revision coq coqide"; + + setupHook = writeText "setupHook.sh" '' + addCoqPath () { + if test -d "''$1/lib/coq/${coq-version}/user-contrib"; then + export COQPATH="''${COQPATH}''${COQPATH:+:}''$1/lib/coq/${coq-version}/user-contrib/" + fi + } + + envHooks=(''${envHooks[@]} addCoqPath) + ''; + + passthru = { + emacsBufferSetup = pkgs: '' + ; Propagate coq paths to children + (inherit-local-permanent coq-prog-name "${self}/bin/coqtop") + (inherit-local-permanent coq-dependency-analyzer "${self}/bin/coqdep") + (inherit-local-permanent coq-compiler "${self}/bin/coqc") + ; If the coq-library path was already set, re-set it based on our current coq + (when (fboundp 'get-coq-library-directory) + (inherit-local-permanent coq-library-directory (get-coq-library-directory)) + (coq-prog-args)) + (mapc (lambda (arg) + (when (file-directory-p (concat arg "/lib/coq/${coq-version}/user-contrib")) + (setenv "COQPATH" (concat (getenv "COQPATH") ":" arg "/lib/coq/${coq-version}/user-contrib")))) '(${stdenv.lib.concatStringsSep " " (map (pkg: "\"${pkg}\"") pkgs)})) + ''; + }; + + meta = with stdenv.lib; { + description = "Formal proof management system"; + longDescription = '' + Coq is a formal proof management system. It provides a formal language + to write mathematical definitions, executable algorithms and theorems + together with an environment for semi-interactive development of + machine-checked proofs. + ''; + homepage = "http://coq.inria.fr"; + license = licenses.lgpl21; + branch = coq-version; + maintainers = with maintainers; [ roconnor thoughtpolice vbgl ]; + platforms = platforms.unix; + }; +}; in self diff --git a/pkgs/applications/science/logic/coq/8.5.nix b/pkgs/applications/science/logic/coq/8.5.nix index eb74891f511c..aae2101f50e9 100644 --- a/pkgs/applications/science/logic/coq/8.5.nix +++ b/pkgs/applications/science/logic/coq/8.5.nix @@ -2,11 +2,22 @@ # - The csdp program used for the Micromega tactic is statically referenced. # However, coq can build without csdp by setting it to null. # In this case some Micromega tactics will search the user's path for the csdp program and will fail if it is not found. +# - The patch-level version can be specified through the `pl` argument to +# the derivation; it defaults to the greatest. -{stdenv, fetchurl, writeText, pkgconfig, ocaml, findlib, camlp5, ncurses, lablgtk ? null, csdp ? null}: +{ stdenv, fetchurl, writeText, pkgconfig +, ocaml, findlib, camlp5, ncurses +, lablgtk ? null, csdp ? null +, pl ? "3" +}: let - version = "8.5pl2"; + version = "8.5pl${pl}"; + sha256 = { + "1" = "1w2xvm6w16khfn63bp95s25hnkn2ny3w0yqg3lq63gp11aqpbyjb"; + "2" = "0wyywia0darak2zmc5v0ra9rn0b9whwdfiahralm8v5za499s8w3"; + "3" = "0fyk2a4fpifibq8y8jhx1891k55qnsnlygglch64sva0bph94nrh"; + }."${pl}"; coq-version = "8.5"; buildIde = lablgtk != null; ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else ""; @@ -24,7 +35,7 @@ stdenv.mkDerivation { src = fetchurl { url = "http://coq.inria.fr/distrib/V${version}/files/coq-${version}.tar.gz"; - sha256 = "0wyywia0darak2zmc5v0ra9rn0b9whwdfiahralm8v5za499s8w3"; + inherit sha256; }; buildInputs = [ pkgconfig ocaml findlib camlp5 ncurses lablgtk ]; @@ -34,7 +45,7 @@ stdenv.mkDerivation { RM=$(type -tp rm) substituteInPlace configure --replace "/bin/uname" "$UNAME" substituteInPlace tools/beautify-archive --replace "/bin/rm" "$RM" - substituteInPlace configure.ml --replace "if arch = \"Darwin\" || arch = \"FreeBSD\" then \"md5" "if arch = \"Darwinx\" then \"md5" + substituteInPlace configure.ml --replace '"md5 -q"' '"md5sum"' ${csdpPatch} ''; @@ -57,7 +68,11 @@ stdenv.mkDerivation { prefixKey = "-prefix "; - buildFlags = "revision coq coqide"; + buildFlags = "revision coq coqide bin/votour"; + + postInstall = '' + cp bin/votour $out/bin/ + ''; meta = with stdenv.lib; { description = "Coq proof assistant"; diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/8.6.nix similarity index 77% rename from pkgs/applications/science/logic/coq/default.nix rename to pkgs/applications/science/logic/coq/8.6.nix index 38ba14e83cf8..9d3aa756aa58 100644 --- a/pkgs/applications/science/logic/coq/default.nix +++ b/pkgs/applications/science/logic/coq/8.6.nix @@ -2,12 +2,20 @@ # - The csdp program used for the Micromega tactic is statically referenced. # However, coq can build without csdp by setting it to null. # In this case some Micromega tactics will search the user's path for the csdp program and will fail if it is not found. +# - The patch-level version can be specified through the `pl` argument to +# the derivation; it defaults to the greatest. -{stdenv, fetchurl, pkgconfig, writeText, ocaml, findlib, camlp5, ncurses, lablgtk ? null, csdp ? null}: +{ stdenv, fetchurl, writeText, pkgconfig +, ocaml, findlib, camlp5, ncurses +, lablgtk ? null, csdp ? null +, pl ? "1" +}: let - version = "8.4pl6"; - coq-version = "8.4"; + # version = "8.6pl${pl}"; + version = "8.6"; + sha256 = "1pw1xvy1657l1k69wrb911iqqflzhhp8wwsjvihbgc72r3skqg3f"; + coq-version = "8.6"; buildIde = lablgtk != null; ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else ""; csdpPatch = if csdp != null then '' @@ -24,34 +32,20 @@ stdenv.mkDerivation { src = fetchurl { url = "http://coq.inria.fr/distrib/V${version}/files/coq-${version}.tar.gz"; - sha256 = "1mpbj4yf36kpjg2v2sln12i8dzqn8rag6fd07hslj2lpm4qs4h55"; + inherit sha256; }; buildInputs = [ pkgconfig ocaml findlib camlp5 ncurses lablgtk ]; - patches = [ ./configure.patch ]; - postPatch = '' UNAME=$(type -tp uname) RM=$(type -tp rm) substituteInPlace configure --replace "/bin/uname" "$UNAME" substituteInPlace tools/beautify-archive --replace "/bin/rm" "$RM" + substituteInPlace configure.ml --replace '"md5 -q"' '"md5sum"' ${csdpPatch} ''; - preConfigure = '' - configureFlagsArray=( - -opt - -camldir ${ocaml}/bin - -camlp5dir $(ocamlfind query camlp5) - ${ideFlags} - ) - ''; - - prefixKey = "-prefix "; - - buildFlags = "revision coq coqide"; - setupHook = writeText "setupHook.sh" '' addCoqPath () { if test -d "''$1/lib/coq/${coq-version}/user-contrib"; then @@ -62,8 +56,23 @@ stdenv.mkDerivation { envHooks=(''${envHooks[@]} addCoqPath) ''; + preConfigure = '' + configureFlagsArray=( + -opt + ${ideFlags} + ) + ''; + + prefixKey = "-prefix "; + + buildFlags = "revision coq coqide bin/votour"; + + postInstall = '' + cp bin/votour $out/bin/ + ''; + meta = with stdenv.lib; { - description = "Formal proof management system"; + description = "Coq proof assistant"; longDescription = '' Coq is a formal proof management system. It provides a formal language to write mathematical definitions, executable algorithms and theorems diff --git a/pkgs/applications/science/logic/coq/HEAD.nix b/pkgs/applications/science/logic/coq/HEAD.nix index 86935b178d99..f6837397e21a 100644 --- a/pkgs/applications/science/logic/coq/HEAD.nix +++ b/pkgs/applications/science/logic/coq/HEAD.nix @@ -6,8 +6,8 @@ {stdenv, fetchgit, writeText, pkgconfig, ocaml, findlib, camlp5, ncurses, lablgtk ? null, csdp ? null}: let - version = "8.5pre-0c999f02"; - coq-version = "8.5"; + version = "8.6pre-0c999f02"; + coq-version = "8.6"; buildIde = lablgtk != null; ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else ""; csdpPatch = if csdp != null then '' @@ -24,20 +24,18 @@ stdenv.mkDerivation { src = fetchgit { url = git://scm.gforge.inria.fr/coq/coq.git; - rev = "0c999f02ffcd61fcace0cc2d045056a82992a100"; - sha256 = "08z9z4bv4a8ha1jrn18vxad6d7y7h92ggr00rx8jfvvi290n9344"; + rev = "ad768e435a736ca51ac79a575967b388b34918c7"; + sha256 = "05s7sk1l3mvdjag3idnhkpj707y4bv56da7kpffw862f2qgfr77j"; }; buildInputs = [ pkgconfig ocaml findlib camlp5 ncurses lablgtk ]; - patches = [ ./no-codesign.patch ]; - postPatch = '' UNAME=$(type -tp uname) RM=$(type -tp rm) substituteInPlace configure --replace "/bin/uname" "$UNAME" substituteInPlace tools/beautify-archive --replace "/bin/rm" "$RM" - substituteInPlace Makefile.build --replace "ifeq (\$(ARCH),Darwin)" "ifeq (\$(ARCH),Darwinx)" + substituteInPlace configure.ml --replace "\"Darwin\"; \"FreeBSD\"; \"OpenBSD\"" "\"Darwinx\"; \"FreeBSD\"; \"OpenBSD\"" ${csdpPatch} ''; diff --git a/pkgs/applications/science/logic/eprover/default.nix b/pkgs/applications/science/logic/eprover/default.nix index 1f36858ae320..92b5b49cec7c 100644 --- a/pkgs/applications/science/logic/eprover/default.nix +++ b/pkgs/applications/science/logic/eprover/default.nix @@ -1,46 +1,29 @@ { stdenv, fetchurl, which }: -let - s = # Generated upstream information - rec { - baseName="eprover"; - version="1.9"; - name="${baseName}-${version}"; - hash="0vipapqjg0339lpc98vpvz58m6xkqrhgxylmp0hrnld4lrhmcdn4"; - url="http://wwwlehre.dhbw-stuttgart.de/~sschulz/WORK/E_DOWNLOAD/V_1.9/E.tgz"; - sha256="0vipapqjg0339lpc98vpvz58m6xkqrhgxylmp0hrnld4lrhmcdn4"; - }; -in -stdenv.mkDerivation { - inherit (s) name; +stdenv.mkDerivation rec { + name = "eprover-${version}"; + version = "1.9.1"; src = fetchurl { - name = "E-${s.version}.tar.gz"; - inherit (s) url sha256; + url = "http://wwwlehre.dhbw-stuttgart.de/~sschulz/WORK/E_DOWNLOAD/V_${version}/E.tgz"; + sha256 = "1vi977mdfqnj04m590aw4896nqzlc4c5rqadjzk86z1zvj7mqnqw"; }; buildInputs = [ which ]; preConfigure = '' - sed -e 's@^EXECPATH\\s.*@EXECPATH = '\$out'/bin@' \ - -e 's/^CC *= gcc$//' \ - -i Makefile.vars + sed -e 's/ *CC *= gcc$//' -i Makefile.vars + ''; + configureFlags = "--exec-prefix=$(out) --man-prefix=$(out)/share/man"; + + postInstall = '' + sed -e s,EXECPATH=.\*,EXECPATH=$out/bin, -i $out/bin/eproof{,_ram} ''; - buildPhase = "make install"; - - installPhase = '' - mkdir -p $out/bin - make install - echo eproof -xAuto --tstp-in --tstp-out '"$@"' > $out/bin/eproof-tptp - chmod a+x $out/bin/eproof-tptp - ''; - - meta = { - inherit (s) version; + meta = with stdenv.lib; { description = "Automated theorem prover for full first-order logic with equality"; homepage = http://www.eprover.org/; - license = stdenv.lib.licenses.gpl2; - maintainers = [stdenv.lib.maintainers.raskin]; - platforms = stdenv.lib.platforms.all; + license = licenses.gpl2; + maintainers = with maintainers; [ raskin gebner ]; + platforms = platforms.all; }; } diff --git a/pkgs/applications/science/logic/eprover/default.upstream b/pkgs/applications/science/logic/eprover/default.upstream deleted file mode 100644 index f871d4985bbd..000000000000 --- a/pkgs/applications/science/logic/eprover/default.upstream +++ /dev/null @@ -1,3 +0,0 @@ -url http://wwwlehre.dhbw-stuttgart.de/~sschulz/E/Download.html -version_link '[.]tgz$' -version '.*[/]V_([0-9.]+)[/].*' '\1' diff --git a/pkgs/applications/science/logic/hol_light/Makefile.patch b/pkgs/applications/science/logic/hol_light/Makefile.patch index b572001a75d6..5c1ec4f7aaf1 100644 --- a/pkgs/applications/science/logic/hol_light/Makefile.patch +++ b/pkgs/applications/science/logic/hol_light/Makefile.patch @@ -6,8 +6,8 @@ Index: Makefile then cp pa_j_3.1x_6.02.1.ml pa_j.ml; \ else if test ${CAMLP5_VERSION} = "6.02.2" -o ${CAMLP5_VERSION} = "6.02.3" -o ${CAMLP5_VERSION} = "6.03" -o ${CAMLP5_VERSION} = "6.04" -o ${CAMLP5_VERSION} = "6.05" -o ${CAMLP5_VERSION} = "6.06" ; \ then cp pa_j_3.1x_6.02.2.ml pa_j.ml; \ -- else if test ${CAMLP5_VERSION} = "6.06" -o ${CAMLP5_VERSION} = "6.07" -o ${CAMLP5_VERSION} = "6.08" -o ${CAMLP5_VERSION} = "6.09" -o ${CAMLP5_VERSION} = "6.10" -o ${CAMLP5_VERSION} = "6.11" -o ${CAMLP5_VERSION} = "6.12" ; \ -+ else if test ${CAMLP5_VERSION} = "6.06" -o ${CAMLP5_VERSION} = "6.07" -o ${CAMLP5_VERSION} = "6.08" -o ${CAMLP5_VERSION} = "6.09" -o ${CAMLP5_VERSION} = "6.10" -o ${CAMLP5_VERSION} = "6.11" -o ${CAMLP5_VERSION} = "6.12" -o ${CAMLP5_VERSION} = "6.13" -o ${CAMLP5_VERSION} = "6.14" -o ${CAMLP5_VERSION} = "6.16" ; \ +- else if test ${CAMLP5_VERSION} = "6.06" -o ${CAMLP5_VERSION} = "6.07" -o ${CAMLP5_VERSION} = "6.08" -o ${CAMLP5_VERSION} = "6.09" -o ${CAMLP5_VERSION} = "6.10" -o ${CAMLP5_VERSION} = "6.11" -o ${CAMLP5_VERSION} = "6.12" -o ${CAMLP5_VERSION} = "6.13" -o ${CAMLP5_VERSION} = "6.14" -o ${CAMLP5_VERSION} = "6.15" -o ${CAMLP5_VERSION} = "6.16" ; \ ++ else if test ${CAMLP5_VERSION} = "6.06" -o ${CAMLP5_VERSION} = "6.07" -o ${CAMLP5_VERSION} = "6.08" -o ${CAMLP5_VERSION} = "6.09" -o ${CAMLP5_VERSION} = "6.10" -o ${CAMLP5_VERSION} = "6.11" -o ${CAMLP5_VERSION} = "6.12" -o ${CAMLP5_VERSION} = "6.13" -o ${CAMLP5_VERSION} = "6.14" -o ${CAMLP5_VERSION} = "6.15" -o ${CAMLP5_VERSION} = "6.16" -o ${CAMLP5_VERSION} = "6.17" ; \ then cp pa_j_3.1x_6.11.ml pa_j.ml; \ else cp pa_j_3.1x_${CAMLP5_BINARY_VERSION}.xx.ml pa_j.ml; \ fi \ diff --git a/pkgs/applications/science/logic/hol_light/default.nix b/pkgs/applications/science/logic/hol_light/default.nix index bc391c47b8bc..fbd732595e6c 100644 --- a/pkgs/applications/science/logic/hol_light/default.nix +++ b/pkgs/applications/science/logic/hol_light/default.nix @@ -20,6 +20,8 @@ stdenv.mkDerivation { buildInputs = [ ocaml camlp5 ]; + patches = [ ./Makefile.patch ]; + installPhase = '' mkdir -p "$out/lib/hol_light" "$out/bin" cp -a . $out/lib/hol_light diff --git a/pkgs/applications/science/logic/lean/default.nix b/pkgs/applications/science/logic/lean/default.nix index 3bc1441212ee..ece867de2a0a 100644 --- a/pkgs/applications/science/logic/lean/default.nix +++ b/pkgs/applications/science/logic/lean/default.nix @@ -1,31 +1,23 @@ -{ stdenv, fetchFromGitHub, cmake, gmp, mpfr, boost, python -, gperftools, ninja, makeWrapper }: +{ stdenv, fetchFromGitHub, cmake, gmp, mpfr, gperftools }: stdenv.mkDerivation rec { name = "lean-${version}"; - version = "2016-07-05"; + version = "2017-01-06"; src = fetchFromGitHub { owner = "leanprover"; repo = "lean"; - rev = "cc70845332e63a1f1be21dc1f96d17269fc85909"; - sha256 = "09qz2vjw7whiggvw0cdaa4i2f49wnch2sd4r43glq181ssln27d6"; + rev = "6f8ccb5873b6f72d735e700e25044e99c6ebb7b6"; + sha256 = "1nxbqdc6faxivbrifb7b9j5zl5kml9w5pa63afh93z2ng7mn0jyg"; }; - buildInputs = [ gmp mpfr boost cmake python gperftools ninja makeWrapper ]; + buildInputs = [ gmp mpfr cmake gperftools ]; enableParallelBuilding = true; preConfigure = '' - patchShebangs bin/leantags cd src ''; - cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" ]; - - postInstall = '' - wrapProgram $out/bin/linja --prefix PATH : $out/bin:${ninja}/bin - ''; - meta = with stdenv.lib; { description = "Automatic and interactive theorem prover"; homepage = "http://leanprover.github.io"; diff --git a/pkgs/applications/science/logic/lean2/default.nix b/pkgs/applications/science/logic/lean2/default.nix new file mode 100644 index 000000000000..a938af72f587 --- /dev/null +++ b/pkgs/applications/science/logic/lean2/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchFromGitHub, cmake, gmp, mpfr, boost, python +, gperftools, ninja, makeWrapper }: + +stdenv.mkDerivation rec { + name = "lean2-${version}"; + version = "2016-11-29"; + + src = fetchFromGitHub { + owner = "leanprover"; + repo = "lean2"; + rev = "a086fb334838c427bbc8f984eb44a4cbbe013a6b"; + sha256 = "0qlvhnb37amclgcyizl8bfab33b0a3jk54br9gsrik8cq76lkwwx"; + }; + + buildInputs = [ gmp mpfr cmake python gperftools ninja makeWrapper ]; + enableParallelBuilding = true; + + preConfigure = '' + patchShebangs bin/leantags + cd src + ''; + + postInstall = '' + wrapProgram $out/bin/linja --prefix PATH : $out/bin:${ninja}/bin + ''; + + meta = with stdenv.lib; { + description = "Automatic and interactive theorem prover (version with HoTT support)"; + homepage = "http://leanprover.github.io"; + license = licenses.asl20; + platforms = platforms.unix; + maintainers = with maintainers; [ thoughtpolice gebner ]; + }; +} diff --git a/pkgs/applications/science/logic/matita/130312.nix b/pkgs/applications/science/logic/matita/130312.nix index 5117ba62e21e..573b0ad7e4b5 100644 --- a/pkgs/applications/science/logic/matita/130312.nix +++ b/pkgs/applications/science/logic/matita/130312.nix @@ -1,10 +1,8 @@ {stdenv, fetchurl, ocaml, findlib, gdome2, ocaml_expat, gmetadom, ocaml_http, lablgtk, ocaml_mysql, ocamlnet, ulex08, camlzip, ocaml_pcre, automake, autoconf }: let - ocaml_version = (builtins.parseDrvName ocaml.name).version; version = "0.99.1pre130312"; pname = "matita"; - in stdenv.mkDerivation { diff --git a/pkgs/applications/science/logic/matita/default.nix b/pkgs/applications/science/logic/matita/default.nix index 0f393b419f1d..5495f61bfd88 100644 --- a/pkgs/applications/science/logic/matita/default.nix +++ b/pkgs/applications/science/logic/matita/default.nix @@ -1,10 +1,8 @@ {stdenv, fetchurl, ocaml, findlib, gdome2, ocaml_expat, gmetadom, ocaml_http, lablgtk, lablgtkmathview, ocaml_mysql, ocaml_sqlite3, ocamlnet, ulex08, camlzip, ocaml_pcre }: let - ocaml_version = (builtins.parseDrvName ocaml.name).version; version = "0.5.8"; pname = "matita"; - in stdenv.mkDerivation { diff --git a/pkgs/applications/science/logic/minisat/darwin.patch b/pkgs/applications/science/logic/minisat/darwin.patch new file mode 100644 index 000000000000..f2b618d6bb3a --- /dev/null +++ b/pkgs/applications/science/logic/minisat/darwin.patch @@ -0,0 +1,26 @@ +https://github.com/fasterthanlime/homebrew-mingw/blob/master/Library/Formula/minisat.rb + +diff --git a/utils/System.cc b/utils/System.cc +index a7cf53f..feeaf3c 100644 +--- a/utils/System.cc ++++ b/utils/System.cc +@@ -78,16 +78,17 @@ double Minisat::memUsed(void) { + struct rusage ru; + getrusage(RUSAGE_SELF, &ru); + return (double)ru.ru_maxrss / 1024; } +-double MiniSat::memUsedPeak(void) { return memUsed(); } ++double Minisat::memUsedPeak(void) { return memUsed(); } + + + #elif defined(__APPLE__) + #include + +-double Minisat::memUsed(void) { ++double Minisat::memUsed() { + malloc_statistics_t t; + malloc_zone_statistics(NULL, &t); + return (double)t.max_size_in_use / (1024*1024); } ++double Minisat::memUsedPeak() { return memUsed(); } + + #else + double Minisat::memUsed() { diff --git a/pkgs/applications/science/logic/minisat/default.nix b/pkgs/applications/science/logic/minisat/default.nix index 3ed055cc0936..d980afee7c4e 100644 --- a/pkgs/applications/science/logic/minisat/default.nix +++ b/pkgs/applications/science/logic/minisat/default.nix @@ -9,7 +9,9 @@ stdenv.mkDerivation rec { sha256 = "023qdnsb6i18yrrawlhckm47q8x0sl7chpvvw3gssfyw3j2pv5cj"; }; - patches = stdenv.lib.optionals stdenv.cc.isClang [ ./clang.diff ]; + patches = + [ ./darwin.patch ] + ++ stdenv.lib.optionals stdenv.cc.isClang [ ./clang.diff ]; buildInputs = [ zlib ]; diff --git a/pkgs/applications/science/logic/proverif/default.nix b/pkgs/applications/science/logic/proverif/default.nix index 4f5e91550787..8726f5affea7 100644 --- a/pkgs/applications/science/logic/proverif/default.nix +++ b/pkgs/applications/science/logic/proverif/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "proverif-${version}"; - version = "1.94"; + version = "1.95"; src = fetchurl { url = "http://prosecco.gforge.inria.fr/personal/bblanche/proverif/proverif${version}.tar.gz"; - sha256 = "0dv2hgk76y0ap7dwf80qd94dmxjw47c50iavxgq5702k1d6qap56"; + sha256 = "01viwi6sccdxk723ycy1shklz8g29j5i3wj2mcwb3j7advvqmws2"; }; buildInputs = [ ocaml ]; diff --git a/pkgs/applications/science/logic/redprl/default.nix b/pkgs/applications/science/logic/redprl/default.nix new file mode 100644 index 000000000000..0cbe1d1cb375 --- /dev/null +++ b/pkgs/applications/science/logic/redprl/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchgit, mlton }: +stdenv.mkDerivation { + name = "redprl-2016-09-22"; + src = fetchgit { + url = "https://github.com/RedPRL/sml-redprl.git"; + rev = "3215faf0d494f4ac14d6e10172329a161df192c4"; + sha256 = "0pcq4q9xy34j7ziwbly4qxccpkcrl92r9y11bv6hdkbzwm1g2a77"; + fetchSubmodules = true; + }; + buildInputs = [ mlton ]; + patchPhase = '' + patchShebangs ./script/ + ''; + buildPhase = '' + ./script/mlton.sh + ''; + installPhase = '' + mkdir -p $out/bin + mv ./bin/redprl $out/bin + ''; + meta = { + description = "A proof assistant for Nominal Computational Type Theory"; + homepage = "http://www.redprl.org/"; + license = stdenv.lib.licenses.mit; + maintainers = [ stdenv.lib.maintainers.acowley ]; + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/pkgs/applications/science/logic/tptp/default.nix b/pkgs/applications/science/logic/tptp/default.nix index 32906b88d590..db7e0c0c9382 100644 --- a/pkgs/applications/science/logic/tptp/default.nix +++ b/pkgs/applications/science/logic/tptp/default.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { "http://www.cs.miami.edu/~tptp/TPTP/Distribution/TPTP-v${version}.tgz" "http://www.cs.miami.edu/~tptp/TPTP/Archive/TPTP-v${version}/TPTP-v${version}.tgz" ]; - sha256 = "1i5hi8grfl5zyh8py63zn39rg019bd90h2l312iswbgai6nyfdw0"; + sha256 = "17mnqxnyibmzf5vvbnyhsd010zykqw8ikx4pvyj0x9sfyhpvgfix"; }; buildInputs = [ tcsh yap perl patchelf ]; diff --git a/pkgs/applications/science/logic/twelf/default.nix b/pkgs/applications/science/logic/twelf/default.nix index 7d5724967c17..ca2422558e9a 100644 --- a/pkgs/applications/science/logic/twelf/default.nix +++ b/pkgs/applications/science/logic/twelf/default.nix @@ -21,6 +21,9 @@ stdenv.mkDerivation rec { rsync -av bin/{*,.heap} $out/bin/ bin/.mkexec ${smlnj}/bin/sml $out/ twelf-server twelf-server + substituteInPlace emacs/twelf-init.el \ + --replace '(concat twelf-root "emacs")' '(concat twelf-root "share/emacs/site-lisp/twelf")' + mkdir -p $out/share/emacs/site-lisp/twelf/ rsync -av emacs/ $out/share/emacs/site-lisp/twelf/ diff --git a/pkgs/applications/science/logic/verifast/default.nix b/pkgs/applications/science/logic/verifast/default.nix index d7c593b736e4..ada586fc4e6d 100644 --- a/pkgs/applications/science/logic/verifast/default.nix +++ b/pkgs/applications/science/logic/verifast/default.nix @@ -1,11 +1,11 @@ -{ stdenv, fetchurl, gtk, gdk_pixbuf, atk, pango, glib, cairo, freetype +{ stdenv, fetchurl, gtk2, gdk_pixbuf, atk, pango, glib, cairo, freetype , fontconfig, libxml2, gnome2 }: assert stdenv.isLinux; let libPath = stdenv.lib.makeLibraryPath - [ stdenv.cc.libc stdenv.cc.cc gtk gdk_pixbuf atk pango glib cairo + [ stdenv.cc.libc stdenv.cc.cc gtk2 gdk_pixbuf atk pango glib cairo freetype fontconfig libxml2 gnome2.gtksourceview ] + ":${stdenv.cc.cc.lib}/lib64"; diff --git a/pkgs/applications/science/logic/yices/default.nix b/pkgs/applications/science/logic/yices/default.nix index f495ee257ff0..cf5114b4a417 100644 --- a/pkgs/applications/science/logic/yices/default.nix +++ b/pkgs/applications/science/logic/yices/default.nix @@ -2,24 +2,31 @@ stdenv.mkDerivation rec { name = "yices-${version}"; - version = "2.3.1"; + version = "2.5.1"; src = fetchurl { - url = "http://yices.csl.sri.com/cgi-bin/yices2-newnewdownload.cgi?file=yices-2.3.1-src.tar.gz&accept=I+Agree"; + url = "http://yices.csl.sri.com/cgi-bin/yices2-newnewdownload.cgi?file=yices-${version}-src.tar.gz&accept=I+Agree"; name = "yices-${version}-src.tar.gz"; - sha256 = "1da70n0cah0dh3pk7fcrvjkszx9qmhc0csgl15jqa7bdh707k2zs"; + sha256 = "1wfq6hcm54h0mqmbs1ip63i0ywlwnciav86sbzk3gafxyzg1nd0c"; }; + patchPhase = ''patchShebangs tests/regress/check.sh''; + configureFlags = [ "--with-static-gmp=${gmp-static.out}/lib/libgmp.a" "--with-static-gmp-include-dir=${gmp-static.dev}/include" ]; buildInputs = [ gmp-static gperf autoreconfHook ]; - meta = { + enableParallelBuilding = true; + doCheck = true; + + installPhase = ''make install LDCONFIG=true''; + + meta = with stdenv.lib; { description = "A high-performance theorem prover and SMT solver"; homepage = "http://yices.csl.sri.com"; - license = stdenv.lib.licenses.unfreeRedistributable; - platforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + license = licenses.unfreeRedistributable; + platforms = platforms.linux ++ platforms.darwin; + maintainers = [ maintainers.thoughtpolice ]; }; } diff --git a/pkgs/applications/science/logic/z3/default.nix b/pkgs/applications/science/logic/z3/default.nix index 43ce46b8e7a0..9683579af475 100644 --- a/pkgs/applications/science/logic/z3/default.nix +++ b/pkgs/applications/science/logic/z3/default.nix @@ -1,34 +1,24 @@ -{ stdenv, fetchFromGitHub, python }: +{ stdenv, fetchFromGitHub, python2, fixDarwinDylibNames }: -stdenv.mkDerivation rec { +let + python = python2; +in stdenv.mkDerivation rec { name = "z3-${version}"; - version = "4.4.1"; + version = "4.5.0"; src = fetchFromGitHub { owner = "Z3Prover"; repo = "z3"; rev = "z3-${version}"; - sha256 = "1ix100r1h00iph1bk5qx5963gpqaxmmx42r2vb5zglynchjif07c"; + sha256 = "0ssp190ksak93hiz61z90x6hy9hcw1ywp8b2dzmbhn6fbd4bnxzp"; }; - buildInputs = [ python ]; + buildInputs = [ python fixDarwinDylibNames ]; enableParallelBuilding = true; - configurePhase = "python scripts/mk_make.py --prefix=$out && cd build"; - - # z3's install phase is stupid because it tries to calculate the - # python package store location itself, meaning it'll attempt to - # write files into the nix store, and fail. - soext = if stdenv.system == "x86_64-darwin" then ".dylib" else ".so"; - installPhase = '' - mkdir -p $out/bin $out/lib/${python.libPrefix}/site-packages $out/include - cp ../src/api/z3*.h $out/include - cp ../src/api/c++/z3*.h $out/include - cp z3 $out/bin - cp libz3${soext} $out/lib - cp libz3${soext} $out/lib/${python.libPrefix}/site-packages - cp z3*.pyc $out/lib/${python.libPrefix}/site-packages - cp ../src/api/python/*.py $out/lib/${python.libPrefix}/site-packages + configurePhase = '' + ${python.interpreter} scripts/mk_make.py --prefix=$out --python --pypkgdir=$out/${python.sitePackages} + cd build ''; meta = { diff --git a/pkgs/applications/science/logic/z3_opt/default.nix b/pkgs/applications/science/logic/z3_opt/default.nix index b4d8fbc95298..1b989097758e 100644 --- a/pkgs/applications/science/logic/z3_opt/default.nix +++ b/pkgs/applications/science/logic/z3_opt/default.nix @@ -1,8 +1,10 @@ -{ stdenv, fetchFromGitHub, python }: +{ stdenv, fetchFromGitHub, python2 }: # Copied shamelessly from the normal z3 .nix -stdenv.mkDerivation rec { +let + python = python2; +in stdenv.mkDerivation rec { name = "z3_opt-${version}"; version = "4.3.2"; @@ -16,21 +18,21 @@ stdenv.mkDerivation rec { buildInputs = [ python ]; enableParallelBuilding = true; - configurePhase = "python scripts/mk_make.py --prefix=$out && cd build"; + configurePhase = "${python.interpreter} scripts/mk_make.py --prefix=$out && cd build"; # z3's install phase is stupid because it tries to calculate the # python package store location itself, meaning it'll attempt to # write files into the nix store, and fail. soext = if stdenv.system == "x86_64-darwin" then ".dylib" else ".so"; installPhase = '' - mkdir -p $out/bin $out/lib/${python.libPrefix}/site-packages $out/include + mkdir -p $out/bin $out/${python.sitePackages} $out/include cp ../src/api/z3*.h $out/include cp ../src/api/c++/z3*.h $out/include cp z3 $out/bin cp libz3${soext} $out/lib - cp libz3${soext} $out/lib/${python.libPrefix}/site-packages - cp z3*.pyc $out/lib/${python.libPrefix}/site-packages - cp ../src/api/python/*.py $out/lib/${python.libPrefix}/site-packages + cp libz3${soext} $out/${python.sitePackages} + cp z3*.pyc $out/${python.sitePackages} + cp ../src/api/python/*.py $out/${python.sitePackages} ''; meta = { diff --git a/pkgs/applications/science/math/R/default.nix b/pkgs/applications/science/math/R/default.nix index 430c6629df2a..dea095c834ff 100644 --- a/pkgs/applications/science/math/R/default.nix +++ b/pkgs/applications/science/math/R/default.nix @@ -7,11 +7,11 @@ }: stdenv.mkDerivation rec { - name = "R-3.2.3"; + name = "R-3.2.4"; src = fetchurl { url = "http://cran.r-project.org/src/base/R-3/${name}.tar.gz"; - sha256 = "b93b7d878138279234160f007cb9b7f81b8a72c012a15566e9ec5395cfd9b6c1"; + sha256 = "0l6k3l3cy6fa9xkn23zvz5ykpw10s45779x88yz3pzn2x5gl1zds"; }; buildInputs = [ bzip2 gfortran libX11 libXmu libXt diff --git a/pkgs/applications/science/math/calc/default.nix b/pkgs/applications/science/math/calc/default.nix index b9db4174c094..19f769e4365c 100644 --- a/pkgs/applications/science/math/calc/default.nix +++ b/pkgs/applications/science/math/calc/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, makeWrapper, glibc, readline, ncurses, groff, utillinux }: +{ stdenv, fetchurl, makeWrapper, glibc, readline, ncurses, utillinux }: with stdenv.lib; let @@ -7,7 +7,6 @@ let BINDIR=$out/bin LIBDIR=$out/lib CALC_INCDIR=$out/include/calc CALC_SHAREDIR=$out/share/calc MANDIR=$out/share/man/man1 \ USE_READLINE=-DUSE_READLINE READLINE_LIB=-lreadline READLINE_EXTRAS='-lhistory -lncurses' \ TERMCONTROL=-DUSE_TERMIOS \ - NROFF=groff ''; in stdenv.mkDerivation rec { @@ -20,7 +19,7 @@ stdenv.mkDerivation rec { sha256 = "14mnz6smhi3a0rgmwvddk9w3vdisi8khq67i8nqsl47vgs8n1kqg"; }; - buildInputs = [ makeWrapper readline ncurses groff utillinux ]; + buildInputs = [ makeWrapper readline ncurses utillinux ]; configurePhase = '' sed -i 's/all: check_include/all:/' Makefile diff --git a/pkgs/applications/science/math/ecm/default.nix b/pkgs/applications/science/math/ecm/default.nix index 53b289983a4a..072d772775cd 100644 --- a/pkgs/applications/science/math/ecm/default.nix +++ b/pkgs/applications/science/math/ecm/default.nix @@ -23,6 +23,6 @@ stdenv.mkDerivation { license = stdenv.lib.licenses.gpl2Plus; homepage = http://ecm.gforge.inria.fr/; maintainers = [ stdenv.lib.maintainers.roconnor ]; - platforms = stdenv.lib.platforms.all; + platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/applications/science/math/geogebra/default.nix b/pkgs/applications/science/math/geogebra/default.nix index fcbd13566657..0e16e1fb3050 100644 --- a/pkgs/applications/science/math/geogebra/default.nix +++ b/pkgs/applications/science/math/geogebra/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "geogebra-${version}"; - version = "5.0.265.0"; + version = "5.0.271.0"; preferLocalBuild = true; src = fetchurl { url = "http://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2"; - sha256 = "74e5abfa098ee0fc464cd391cd3ef6db474ff25e8ea4fbcd82c4b4b5d3d5c459"; + sha256 = "5dd5be1cde27c9b567f79c38048045864064b69c0d2b469ae93e1fca5f543475"; }; srcIcon = fetchurl { diff --git a/pkgs/applications/science/math/gfan/default.nix b/pkgs/applications/science/math/gfan/default.nix new file mode 100644 index 000000000000..dbd28cf9e8ce --- /dev/null +++ b/pkgs/applications/science/math/gfan/default.nix @@ -0,0 +1,24 @@ +{stdenv, fetchurl, gmp, mpir, cddlib}: +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + pname = "gfan"; + version = "0.5"; + # or fetchFromGitHub(owner,repo,rev) or fetchgit(rev) + src = fetchurl { + url = "http://home.math.au.dk/jensen/software/gfan/gfan${version}.tar.gz"; + sha256 = "0adk9pia683wf6kn6h1i02b3801jz8zn67yf39pl57md7bqbrsma"; + }; + preBuild = '' + sed -e 's@static int i;@//&@' -i app_minkowski.cpp + ''; + makeFlags = ''PREFIX=$(out)''; + buildInputs = [gmp mpir cddlib]; + meta = { + inherit version; + description = ''A software package for computing Gröbner fans and tropical varieties''; + license = stdenv.lib.licenses.gpl2 ; + maintainers = [stdenv.lib.maintainers.raskin]; + platforms = stdenv.lib.platforms.linux; + homepage = "http://home.math.au.dk/jensen/software/gfan/gfan.html"; + }; +} diff --git a/pkgs/applications/science/math/glsurf/default.nix b/pkgs/applications/science/math/glsurf/default.nix index 2c09f572d125..eae4b0ceb628 100644 --- a/pkgs/applications/science/math/glsurf/default.nix +++ b/pkgs/applications/science/math/glsurf/default.nix @@ -1,9 +1,5 @@ { stdenv, fetchdarcs, ocaml, findlib, lablgl, camlimages, mesa, freeglut, ocaml_mysql, mysql, mlgmp, mpfr, gmp, libtiff, libjpeg, libpng, giflib }: -let - ocaml_version = (builtins.parseDrvName ocaml.name).version; -in - stdenv.mkDerivation { name = "glsurf-3.3"; @@ -27,5 +23,6 @@ stdenv.mkDerivation { meta = { homepage = http://www.lama.univ-savoie.fr/~raffalli/glsurf; description = "A program to draw implicit surfaces and curves"; + broken = true; }; } diff --git a/pkgs/applications/science/math/mathematica/10.nix b/pkgs/applications/science/math/mathematica/10.nix new file mode 100644 index 000000000000..4de4a0c261d5 --- /dev/null +++ b/pkgs/applications/science/math/mathematica/10.nix @@ -0,0 +1,138 @@ +{ stdenv +, coreutils +, patchelf +, requireFile +, alsaLib +, fontconfig +, freetype +, gcc +, glib +, libpng +, ncurses +, opencv +, openssl +, unixODBC +, xorg +, zlib +, libxml2 +, libuuid +}: + +let + platform = + if stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux" then + "Linux" + else + throw "Mathematica requires i686-linux or x86_64 linux"; +in +stdenv.mkDerivation rec { + version = "10.0.2"; + + name = "mathematica-${version}"; + + src = requireFile rec { + name = "Mathematica_${version}_LINUX.sh"; + message = '' + This nix expression requires that ${name} is + already part of the store. Find the file on your Mathematica CD + and add it to the nix store with nix-store --add-fixed sha256 . + ''; + sha256 = "1d2yaiaikzcacjamlw64g3xkk81m3pb4vz4an12cv8nb7kb20x9l"; + }; + + buildInputs = [ + coreutils + patchelf + alsaLib + coreutils + fontconfig + freetype + gcc.cc + gcc.libc + glib + ncurses + opencv + openssl + unixODBC + libxml2 + libuuid + ] ++ (with xorg; [ + libX11 + libXext + libXtst + libXi + libXmu + libXrender + libxcb + libXcursor + libXfixes + libXrandr + libICE + libSM + ]); + + ldpath = stdenv.lib.makeLibraryPath buildInputs + + stdenv.lib.optionalString (stdenv.system == "x86_64-linux") + (":" + stdenv.lib.makeSearchPathOutput "lib" "lib64" buildInputs); + + phases = "unpackPhase installPhase fixupPhase"; + + unpackPhase = '' + echo "=== Extracting makeself archive ===" + # find offset from file + offset=$(${stdenv.shell} -c "$(grep -axm1 -e 'offset=.*' $src); echo \$offset" $src) + dd if="$src" ibs=$offset skip=1 | tar -xf - + cd Unix + ''; + + installPhase = '' + cd Installer + # don't restrict PATH, that has already been done + sed -i -e 's/^PATH=/# PATH=/' MathInstaller + + echo "=== Running MathInstaller ===" + ./MathInstaller -auto -createdir=y -execdir=$out/bin -targetdir=$out/libexec/Mathematica -platforms=${platform} -silent + ''; + + preFixup = '' + echo "=== PatchElfing away ===" + # This code should be a bit forgiving of errors, unfortunately + set +e + find $out/libexec/Mathematica/SystemFiles -type f -perm -0100 | while read f; do + type=$(readelf -h "$f" 2>/dev/null | grep 'Type:' | sed -e 's/ *Type: *\([A-Z]*\) (.*/\1/') + if [ -z "$type" ]; then + : + elif [ "$type" == "EXEC" ]; then + echo "patching $f executable <<" + patchelf --shrink-rpath "$f" + patchelf \ + --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "$(patchelf --print-rpath "$f"):${ldpath}" \ + "$f" \ + && patchelf --shrink-rpath "$f" \ + || echo unable to patch ... ignoring 1>&2 + elif [ "$type" == "DYN" ]; then + echo "patching $f library <<" + patchelf \ + --set-rpath "$(patchelf --print-rpath "$f"):${ldpath}" \ + "$f" \ + && patchelf --shrink-rpath "$f" \ + || echo unable to patch ... ignoring 1>&2 + else + echo "not patching $f <<: unknown elf type" + fi + done + ''; + + # all binaries are already stripped + dontStrip = true; + + # we did this in prefixup already + dontPatchELF = true; + + meta = { + description = "Wolfram Mathematica computational software system"; + homepage = "http://www.wolfram.com/mathematica/"; + license = stdenv.lib.licenses.unfree; + }; +} diff --git a/pkgs/applications/science/math/mathematica/default.nix b/pkgs/applications/science/math/mathematica/default.nix index 4de4a0c261d5..1a9adcd4782f 100644 --- a/pkgs/applications/science/math/mathematica/default.nix +++ b/pkgs/applications/science/math/mathematica/default.nix @@ -26,7 +26,7 @@ let throw "Mathematica requires i686-linux or x86_64 linux"; in stdenv.mkDerivation rec { - version = "10.0.2"; + version = "11.0.1"; name = "mathematica-${version}"; @@ -37,7 +37,7 @@ stdenv.mkDerivation rec { already part of the store. Find the file on your Mathematica CD and add it to the nix store with nix-store --add-fixed sha256 . ''; - sha256 = "1d2yaiaikzcacjamlw64g3xkk81m3pb4vz4an12cv8nb7kb20x9l"; + sha256 = "1qqwz8gbw74rnnyirpbdanwx3d25s4x0i4zc7bs6kp959x66cdkw"; }; buildInputs = [ @@ -89,9 +89,10 @@ stdenv.mkDerivation rec { cd Installer # don't restrict PATH, that has already been done sed -i -e 's/^PATH=/# PATH=/' MathInstaller + sed -i -e 's/\/bin\/bash/\/bin\/sh/' MathInstaller echo "=== Running MathInstaller ===" - ./MathInstaller -auto -createdir=y -execdir=$out/bin -targetdir=$out/libexec/Mathematica -platforms=${platform} -silent + ./MathInstaller -auto -createdir=y -execdir=$out/bin -targetdir=$out/libexec/Mathematica -silent ''; preFixup = '' diff --git a/pkgs/applications/science/math/maxima/default.nix b/pkgs/applications/science/math/maxima/default.nix index 4981767f21f2..85a13f7ac377 100644 --- a/pkgs/applications/science/math/maxima/default.nix +++ b/pkgs/applications/science/math/maxima/default.nix @@ -1,22 +1,25 @@ -{ stdenv, fetchurl, sbcl, texinfo, perl, python, makeWrapper, rlwrap ? null, tk ? null, gnuplot ? null }: +{ stdenv, fetchurl, sbcl, texinfo, perl, python, makeWrapper, rlwrap ? null, +tk ? null, gnuplot ? null, ecl ? null, ecl-fasl ? false +}: let name = "maxima"; - version = "5.38.1"; + version = "5.39.0"; searchPath = stdenv.lib.makeBinPath - (stdenv.lib.filter (x: x != null) [ sbcl rlwrap tk gnuplot ]); + (stdenv.lib.filter (x: x != null) [ sbcl ecl rlwrap tk gnuplot ]); in -stdenv.mkDerivation { +stdenv.mkDerivation ({ name = "${name}-${version}"; src = fetchurl { url = "mirror://sourceforge/${name}/${name}-${version}.tar.gz"; - sha256 = "1p6646rvq43hk09msyp0dk50cqpkh07mf4x0bc2fqisqmcv6b1hf"; + sha256 = "1cvignn5y6qzrby6qb885yc8zdcdqdr1d50vcvc3gapw2f0gk3zm"; }; - buildInputs = [sbcl texinfo perl python makeWrapper]; + buildInputs = stdenv.lib.filter (x: x != null) + [sbcl ecl texinfo perl python makeWrapper]; postInstall = '' # Make sure that maxima can find its runtime dependencies. @@ -27,7 +30,11 @@ stdenv.mkDerivation { mkdir -p $out/share/emacs $out/share/doc ln -s ../maxima/${version}/emacs $out/share/emacs/site-lisp ln -s ../maxima/${version}/doc $out/share/doc/maxima - ''; + '' + + (stdenv.lib.optionalString ecl-fasl '' + cp src/binary-ecl/maxima.fas* "$out/lib/maxima/${version}/binary-ecl/" + '') + ; # Failures in the regression test suite won't abort the build process. We run # the suite only so that potential errors show up in the build log. See also: @@ -51,4 +58,8 @@ stdenv.mkDerivation { platforms = stdenv.lib.platforms.unix; maintainers = [ stdenv.lib.maintainers.peti ]; }; -} +} // (stdenv.lib.optionalAttrs ecl-fasl { + preConfigure = '' + sed -e '/c::build-program "binary-ecl\/maxima"/i(c::build-fasl "binary-ecl\/maxima.fasl" :lisp-files obj :ld-flags (let ((x (symbol-value (find-symbol "*AUTOCONF-LD-FLAGS*" (find-package "MAXIMA"))))) (if (and x (not (string= x ""))) (list x))))' -i src/maxima.system + ''; +})) diff --git a/pkgs/applications/science/math/nauty/default.nix b/pkgs/applications/science/math/nauty/default.nix new file mode 100644 index 000000000000..7503c50c6d22 --- /dev/null +++ b/pkgs/applications/science/math/nauty/default.nix @@ -0,0 +1,24 @@ +{stdenv, fetchurl}: +stdenv.mkDerivation rec { + name = "nauty-${version}"; + version = "26r7"; + src = fetchurl { + url = "http://pallini.di.uniroma1.it/nauty${version}.tar.gz"; + sha256 = "1indcc1im7s5x89x0xn4699izw1wwars1aanpmf8jibnw66n9dcp"; + }; + buildInputs = []; + installPhase = '' + mkdir -p "$out"/{bin,share/doc/nauty} + + cp $(find . -type f -perm -111 \! -name '*.*' ) "$out/bin" + cp [Rr][Ee][Aa][Dd]* COPYRIGHT This* [Cc]hange* "$out/share/doc/nauty" + ''; + meta = { + inherit version; + description = ''Programs for computing automorphism groups of graphs and digraphs''; + license = stdenv.lib.licenses.asl20; + maintainers = [stdenv.lib.maintainers.raskin]; + platforms = stdenv.lib.platforms.linux; + homepage = "http://pallini.di.uniroma1.it/"; + }; +} diff --git a/pkgs/applications/science/math/pari/default.nix b/pkgs/applications/science/math/pari/default.nix index 0cda65b32c30..64784facfb96 100644 --- a/pkgs/applications/science/math/pari/default.nix +++ b/pkgs/applications/science/math/pari/default.nix @@ -1,30 +1,56 @@ -{ stdenv, fetchurl, gmp, readline }: +{ stdenv, fetchurl +, gmp, readline, libX11, libpthreadstubs, tex, perl }: stdenv.mkDerivation rec { - version = "2.7.6"; + name = "pari-${version}"; + version = "2.9.1"; src = fetchurl { url = "http://pari.math.u-bordeaux.fr/pub/pari/unix/${name}.tar.gz"; - sha256 = "04dqi697czd8mmw8aiwzrkgbvkjassqagg6lfy3lkf1k5qi9g9rr"; + sha256 = "0rq7wz9df1xs4acdzzb5dapx8vs6m5py39n2wynw2qv4d2b0ylfw"; }; - buildInputs = [gmp readline]; + buildInputs = [ gmp readline libX11 libpthreadstubs tex perl ]; configureScript = "./Configure"; configureFlags = + "--mt=pthread" + "--with-gmp=${gmp.dev} " + "--with-readline=${readline.dev}"; + makeFlags = "all"; + meta = with stdenv.lib; { description = "Computer algebra system for high-performance number theory computations"; - homepage = "http://pari.math.u-bordeaux.fr/"; - license = licenses.gpl2Plus; - maintainers = with maintainers; [ ertes raskin ]; - platforms = platforms.linux; + longDescription = '' + PARI/GP is a widely used computer algebra system designed for fast + computations in number theory (factorizations, algebraic number theory, + elliptic curves...), but also contains a large number of other useful + functions to compute with mathematical entities such as matrices, + polynomials, power series, algebraic numbers etc., and a lot of + transcendental functions. PARI is also available as a C library to allow + for faster computations. - inherit version; + Originally developed by Henri Cohen and his co-workers (Université + Bordeaux I, France), PARI is now under the GPL and maintained by Karim + Belabas with the help of many volunteer contributors. + + - PARI is a C library, allowing fast computations. + - gp is an easy-to-use interactive shell giving access to the + PARI functions. + - GP is the name of gp's scripting language. + - gp2c, the GP-to-C compiler, combines the best of both worlds + by compiling GP scripts to the C language and transparently loading + the resulting functions into gp. (gp2c-compiled scripts will typically + run 3 or 4 times faster.) gp2c currently only understands a subset + of the GP language. + ''; + homepage = "http://pari.math.u-bordeaux.fr/"; downloadPage = "http://pari.math.u-bordeaux.fr/download.html"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ ertes raskin AndersonTorres ]; + platforms = platforms.linux; updateWalker = true; }; } diff --git a/pkgs/applications/science/math/pari/gp2c.nix b/pkgs/applications/science/math/pari/gp2c.nix new file mode 100644 index 000000000000..007514e65528 --- /dev/null +++ b/pkgs/applications/science/math/pari/gp2c.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchurl +, pari, perl }: + +stdenv.mkDerivation rec { + + name = "gp2c-${version}"; + version = "0.0.10"; + + src = fetchurl { + url = "http://pari.math.u-bordeaux.fr/pub/pari/GP2C/${name}.tar.gz"; + sha256 = "1xhpz5p81iw261ay1kip283ggr0ir8ydz8qx3v24z8jfms1r3y70"; + }; + + buildInputs = [ pari perl ]; + + configureFlags = [ + "--with-paricfg=${pari}/lib/pari/pari.cfg" + "--with-perl=${perl}/bin/perl" ]; + + meta = with stdenv.lib; { + description = "A compiler to translate GP scripts to PARI programs"; + homepage = "http://pari.math.u-bordeaux.fr/"; + downloadPage = "http://pari.math.u-bordeaux.fr/download.html"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ AndersonTorres ]; + }; +} +# TODO: add it as "source file" for default package diff --git a/pkgs/applications/science/math/pari/unstable.nix b/pkgs/applications/science/math/pari/unstable.nix new file mode 100644 index 000000000000..2c1cc7d75d8e --- /dev/null +++ b/pkgs/applications/science/math/pari/unstable.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchurl, gmp, readline, perl }: + +stdenv.mkDerivation rec { + version = "2.8.1.beta"; + name = "pari-unstable-${version}"; + + src = fetchurl { + url = "http://pari.math.u-bordeaux.fr/pub/pari/unstable/pari-${version}.tar.gz"; + sha256 = "167dcqrqsblqrd7z5pb8jrs9xqm8138mik0s4ihlqcq6c3wndhv1"; + }; + + buildInputs = [gmp readline]; + nativeBuildInputs = [perl]; + + configureScript = "./Configure"; + configureFlags = + "--with-gmp=${gmp.dev} " + + "--with-readline=${readline.dev}"; + + meta = with stdenv.lib; { + description = "Computer algebra system for high-performance number theory computations"; + homepage = "http://pari.math.u-bordeaux.fr/"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ ertes raskin ]; + platforms = platforms.linux; + + inherit version; + downloadPage = "http://pari.math.u-bordeaux.fr/download.html"; + updateWalker = true; + }; +} diff --git a/pkgs/applications/science/math/pssp/default.nix b/pkgs/applications/science/math/pssp/default.nix index 6ced805b3115..e74e17fa44f5 100644 --- a/pkgs/applications/science/math/pssp/default.nix +++ b/pkgs/applications/science/math/pssp/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, libxml2, readline, zlib, perl, cairo, gtk, gsl +{ stdenv, fetchurl, libxml2, readline, zlib, perl, cairo, gtk2, gsl , pkgconfig, gtksourceview, pango, gettext, libglade }: @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { sha256 = "0vri2pzvmm38qaihfvwlry30f40lcnps4blg59ixic4q20ldxf5d"; }; - buildInputs = [ libxml2 readline zlib perl cairo gtk gsl pkgconfig + buildInputs = [ libxml2 readline zlib perl cairo gtk2 gsl pkgconfig gtksourceview pango gettext libglade ]; doCheck = false; diff --git a/pkgs/applications/science/math/ratpoints/default.nix b/pkgs/applications/science/math/ratpoints/default.nix new file mode 100644 index 000000000000..1e99b8782a96 --- /dev/null +++ b/pkgs/applications/science/math/ratpoints/default.nix @@ -0,0 +1,21 @@ +{stdenv, fetchurl, gmp}: +stdenv.mkDerivation rec { + name = "ratpoints-${version}"; + version = "2.1.3"; + src = fetchurl { + url = "http://www.mathe2.uni-bayreuth.de/stoll/programs/ratpoints-${version}.tar.gz"; + sha256 = "0zhad84sfds7izyksbqjmwpfw4rvyqk63yzdjd3ysd32zss5bgf4"; + }; + buildInputs = [gmp]; + makeFlags = "INSTALL_DIR=$(out)"; + preInstall = ''mkdir -p "$out"/{bin,share,lib,include}''; + meta = { + inherit version; + description = ''A program to find rational points on hyperelliptic curves''; + license = stdenv.lib.licenses.gpl2Plus; + maintainers = [stdenv.lib.maintainers.raskin]; + platforms = stdenv.lib.platforms.linux; + homepage = "http://www.mathe2.uni-bayreuth.de/stoll/programs/"; + updateWalker = true; + }; +} diff --git a/pkgs/applications/science/math/scilab/default.nix b/pkgs/applications/science/math/scilab/default.nix index 8482bd6fe94b..bb52b430f8cb 100644 --- a/pkgs/applications/science/math/scilab/default.nix +++ b/pkgs/applications/science/math/scilab/default.nix @@ -3,7 +3,7 @@ , Xaw3d, withXaw3d ? false #, withPVMlib ? false , tcl, tk, withTk ? false -, gtk, withGtk ? false # working ? +, gtk2, withGtk ? false # working ? #, withF2c ? false , ocaml, withOCaml ? false #, withJava ? false @@ -16,12 +16,11 @@ stdenv.mkDerivation rec { name = "scilab-${version}"; src = fetchurl { url = "http://www.scilab.org/download/${version}/${name}-src.tar.gz"; - # md5 coming from http://www.scilab.org/download/index_download.php - md5 = "17a7a6aa52918f33d96777a0dc423658"; + sha256 = "1adk6jqlj7i3gjklvlf1j3il1nb22axnp4rvwl314an62siih0sc"; }; buildInputs = [gfortran ncurses] - ++ lib.optionals withGtk [gtk] + ++ lib.optionals withGtk [gtk2] ++ lib.optionals withOCaml [ocaml] ++ lib.optional withX xlibsWrapper ; @@ -68,5 +67,6 @@ stdenv.mkDerivation rec { description = "Scientific software package for numerical computations (Matlab lookalike)"; # see http://www.scilab.org/legal license = "SciLab"; + broken = true; }; } diff --git a/pkgs/applications/science/math/singular/default.nix b/pkgs/applications/science/math/singular/default.nix index a0fdf7c82395..6cd66c62a0ad 100644 --- a/pkgs/applications/science/math/singular/default.nix +++ b/pkgs/applications/science/math/singular/default.nix @@ -1,30 +1,47 @@ -{ stdenv, fetchurl, gmp, bison, perl, autoconf, ncurses, readline, coreutils }: +{ stdenv, fetchurl, gmp, bison, perl, autoconf, ncurses, readline, coreutils, pkgconfig +, asLibsingular ? false +}: stdenv.mkDerivation rec { name = "singular-${version}"; - version="3-1-2"; + version="3-1-7"; src = fetchurl { - url = "http://www.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/${version}/${name}.tar.gz"; - sha256 = "04f9i1xar0r7qrrbfki1h9rrmx5y2xg4w7rrvlbx05v2dy6s8djv"; + url = "http://www.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/${version}/Singular-${version}.tar.gz"; + sha256 = "1j4mcpnwzdp3h4qspk6ww0m67rmx4s11cy17pvzbpf70lm0jzzh2"; }; - buildInputs = [ gmp bison perl autoconf ncurses readline coreutils ]; + buildInputs = [ gmp perl ncurses readline ]; + nativeBuildInputs = [ autoconf bison pkgconfig ]; preConfigure = '' find . -exec sed -e 's@/bin/rm@${coreutils}&@g' -i '{}' ';' find . -exec sed -e 's@/bin/uname@${coreutils}&@g' -i '{}' ';' + ${stdenv.lib.optionalString asLibsingular ''NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -DLIBSINGULAR"''} ''; hardeningDisable = stdenv.lib.optional stdenv.isi686 "stackprotector"; - postInstall = '' - rm -rf "$out/LIB" - cp -r Singular/LIB "$out" + # The Makefile actually defaults to `make install` anyway + buildPhase = "true;"; + + installPhase = '' + mkdir -p "$out" + cp -r Singular/LIB "$out/LIB" + make install${stdenv.lib.optionalString asLibsingular "-libsingular"} + + binaries="$(find "$out"/* \( -type f -o -type l \) -perm -111 \! -name '*.so' -maxdepth 1)" + ln -s "$out"/*/{include,lib} "$out" mkdir -p "$out/bin" - ln -s "$out/"*/Singular "$out/bin" + for b in $binaries; do + bbn="$(basename "$b")" + echo -e '#! ${stdenv.shell}\n"'"$b"'" "$@"' > "$out/bin/$bbn" + chmod a+x "$out/bin/$bbn" + done ''; + enableParallelBuild = true; + meta = with stdenv.lib; { description = "A CAS for polynomial computations"; maintainers = with maintainers; @@ -32,10 +49,6 @@ stdenv.mkDerivation rec { platforms = platforms.linux; license = licenses.gpl3; # Or GPLv2 at your option - but not GPLv4 homepage = "http://www.singular.uni-kl.de/index.php"; - }; - passthru = { - updateInfo = { - downloadPage = "http://www.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/"; - }; + downloadPage = "http://www.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/"; }; } diff --git a/pkgs/applications/science/math/symmetrica/default.nix b/pkgs/applications/science/math/symmetrica/default.nix new file mode 100644 index 000000000000..0c87beb22dfc --- /dev/null +++ b/pkgs/applications/science/math/symmetrica/default.nix @@ -0,0 +1,29 @@ +{stdenv, fetchurl}: +stdenv.mkDerivation rec { + name = "symmetrica-${version}"; + version = "2.0"; + # or fetchFromGitHub(owner,repo,rev) or fetchgit(rev) + src = fetchurl { + url = "http://www.algorithm.uni-bayreuth.de/en/research/SYMMETRICA/SYM2_0_tar.gz"; + sha256 = "1qhfrbd5ybb0sinl9pad64rscr08qvlfzrzmi4p4hk61xn6phlmz"; + name = "symmetrica-2.0.tar.gz"; + }; + buildInputs = []; + sourceRoot = "."; + installPhase = '' + mkdir -p "$out"/{lib,share/doc/symmetrica,include/symmetrica} + ar crs libsymmetrica.a *.o + ranlib libsymmetrica.a + cp libsymmetrica.a "$out/lib" + cp *.h "$out/include/symmetrica" + cp README *.doc "$out/share/doc/symmetrica" + ''; + meta = { + inherit version; + description = ''A collection of routines for representation theory and combinatorics''; + license = stdenv.lib.licenses.publicDomain; + maintainers = [stdenv.lib.maintainers.raskin]; + platforms = stdenv.lib.platforms.linux; + homepage = "http://www.symmetrica.de/"; + }; +} diff --git a/pkgs/applications/science/misc/boinc/default.nix b/pkgs/applications/science/misc/boinc/default.nix index d45f4a2b2102..53ea9ce72125 100644 --- a/pkgs/applications/science/misc/boinc/default.nix +++ b/pkgs/applications/science/misc/boinc/default.nix @@ -1,6 +1,6 @@ { fetchFromGitHub, stdenv, autoconf, automake, pkgconfig, m4, curl, mesa, libXmu, libXi, freeglut, libjpeg, libtool, wxGTK, xcbutil, -sqlite, gtk, patchelf, libXScrnSaver, libnotify, libX11, libxcb }: +sqlite, gtk2, patchelf, libXScrnSaver, libnotify, libX11, libxcb }: stdenv.mkDerivation rec { version = "7.4.42"; @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { }; buildInputs = [ libtool automake autoconf m4 pkgconfig curl mesa libXmu libXi - freeglut libjpeg wxGTK sqlite gtk libXScrnSaver libnotify patchelf libX11 + freeglut libjpeg wxGTK sqlite gtk2 libXScrnSaver libnotify patchelf libX11 libxcb xcbutil ]; diff --git a/pkgs/applications/science/misc/fityk/default.nix b/pkgs/applications/science/misc/fityk/default.nix index 7d9f8542eed3..1c1cac203f8b 100644 --- a/pkgs/applications/science/misc/fityk/default.nix +++ b/pkgs/applications/science/misc/fityk/default.nix @@ -3,7 +3,7 @@ let name = "fityk"; - version = "1.3.0"; + version = "1.3.1"; in stdenv.mkDerivation { name = "${name}-${version}"; @@ -12,7 +12,7 @@ stdenv.mkDerivation { owner = "wojdyr"; repo = "fityk"; rev = "v${version}"; - sha256 = "07xzhy47q5ddg1qn51qds4wp6r5g2cx8bla0hm0a9ipr2hg92lm9"; + sha256 = "0kmrjjjwrh6xgw590awcd52b86kksmv6rfgih75zvpiavr1ygwsi"; }; buildInputs = [ autoreconfHook wxGTK30 boost lua zlib bzip2 xylib readline diff --git a/pkgs/applications/science/misc/gplates/boostfix.patch b/pkgs/applications/science/misc/gplates/boostfix.patch new file mode 100644 index 000000000000..e429600b7095 --- /dev/null +++ b/pkgs/applications/science/misc/gplates/boostfix.patch @@ -0,0 +1,612 @@ +--- a/src/app-logic/ApplicationState.h ++++ b/src/app-logic/ApplicationState.h +@@ -33,6 +33,7 @@ + #include + #include + ++#ifndef Q_MOC_RUN + #include "FeatureCollectionFileState.h" + #include "Layer.h" + #include "LayerTaskRegistry.h" +@@ -48,6 +49,7 @@ + #include "model/ModelInterface.h" + #include "model/types.h" + #include "model/WeakReferenceCallback.h" ++#endif + + //////////////////////////////////////////////////////////////////////////////////////////////// + // NOTE: Please use forward declarations (and boost::scoped_ptr) instead of including headers +--- a/src/app-logic/CoRegistrationLayerTask.h ++++ b/src/app-logic/CoRegistrationLayerTask.h +@@ -32,11 +32,13 @@ + #include + #include + ++#ifndef Q_MOC_RUN + #include "CoRegistrationLayerParams.h" + #include "CoRegistrationLayerProxy.h" + #include "LayerTask.h" + + #include "model/FeatureCollectionHandle.h" ++#endif + + namespace GPlatesAppLogic + { +--- a/src/app-logic/RasterLayerTask.h ++++ b/src/app-logic/RasterLayerTask.h +@@ -32,11 +32,13 @@ + #include + #include + ++#ifndef Q_MOC_RUN + #include "LayerTask.h" + #include "RasterLayerParams.h" + #include "RasterLayerProxy.h" + + #include "model/FeatureCollectionHandle.h" ++#endif + + + namespace GPlatesAppLogic +--- a/src/app-logic/ReconstructGraph.h ++++ b/src/app-logic/ReconstructGraph.h +@@ -46,6 +46,7 @@ + #include + #include + ++#ifndef Q_MOC_RUN + #include "FeatureCollectionFileState.h" + #include "Layer.h" + #include "Reconstruction.h" +@@ -53,6 +54,7 @@ + + #include "model/FeatureCollectionHandle.h" + #include "model/WeakReferenceCallback.h" ++#endif + + + namespace GPlatesAppLogic +--- a/src/app-logic/ReconstructLayerTask.h ++++ b/src/app-logic/ReconstructLayerTask.h +@@ -33,6 +33,7 @@ + #include + #include + ++#ifndef Q_MOC_RUN + #include "LayerTask.h" + #include "ReconstructLayerProxy.h" + #include "ReconstructLayerParams.h" +@@ -42,6 +43,7 @@ + #include "maths/types.h" + + #include "model/FeatureCollectionHandle.h" ++#endif + + + namespace GPlatesAppLogic +--- a/src/app-logic/ReconstructScalarCoverageLayerParams.h ++++ b/src/app-logic/ReconstructScalarCoverageLayerParams.h +@@ -30,6 +30,7 @@ + #include + #include + ++#ifndef Q_MOC_RUN + #include "LayerParams.h" + #include "ReconstructScalarCoverageLayerProxy.h" + #include "ReconstructScalarCoverageParams.h" +@@ -38,6 +39,7 @@ + #include "property-values/ValueObjectType.h" + + #include "utils/SubjectObserverToken.h" ++#endif + + + namespace GPlatesAppLogic +--- a/src/app-logic/ReconstructScalarCoverageLayerTask.h ++++ b/src/app-logic/ReconstructScalarCoverageLayerTask.h +@@ -30,12 +30,14 @@ + #include + #include + ++#ifndef Q_MOC_RUN + #include "LayerTask.h" + #include "ReconstructScalarCoverageLayerParams.h" + #include "ReconstructScalarCoverageLayerProxy.h" + #include "ScalarCoverageFeatureProperties.h" + + #include "model/FeatureCollectionHandle.h" ++#endif + + + namespace GPlatesAppLogic +--- a/src/app-logic/TopologyNetworkResolverLayerTask.h ++++ b/src/app-logic/TopologyNetworkResolverLayerTask.h +@@ -33,6 +33,7 @@ + #include + #include + ++#ifndef Q_MOC_RUN + #include "LayerParams.h" + #include "LayerTask.h" + #include "ReconstructLayerProxy.h" +@@ -41,6 +42,7 @@ + #include "TopologyNetworkResolverLayerProxy.h" + + #include "model/FeatureCollectionHandle.h" ++#endif + + + namespace GPlatesAppLogic +--- a/src/app-logic/VelocityFieldCalculatorLayerTask.h ++++ b/src/app-logic/VelocityFieldCalculatorLayerTask.h +@@ -32,9 +32,11 @@ + #include + #include + ++#ifndef Q_MOC_RUN + #include "LayerTask.h" + #include "VelocityFieldCalculatorLayerParams.h" + #include "VelocityFieldCalculatorLayerProxy.h" ++#endif + + #include "model/FeatureCollectionHandle.h" + +--- a/src/data-mining/CoRegConfigurationTable.h ++++ b/src/data-mining/CoRegConfigurationTable.h +@@ -28,6 +28,7 @@ + + #include + #include ++#ifndef Q_MOC_RUN + #include + + #include "CoRegFilter.h" +@@ -44,6 +45,7 @@ + #include "scribe/Transcribe.h" + #include "scribe/TranscribeContext.h" + ++#endif + + namespace GPlatesDataMining + { +--- a/src/gui/CommandServer.h ++++ b/src/gui/CommandServer.h +@@ -38,9 +38,11 @@ + #include + #include + ++#ifndef Q_MOC_RUN + #include "app-logic/ApplicationState.h" + + #include "presentation/ViewState.h" ++#endif + + namespace GPlatesGui + { +--- a/src/gui/FeatureTableModel.h ++++ b/src/gui/FeatureTableModel.h +@@ -32,8 +32,10 @@ + #include + #include + ++#ifndef Q_MOC_RUN + #include "app-logic/Layer.h" + #include "app-logic/ReconstructionGeometry.h" ++#endif + + + namespace GPlatesAppLogic +--- a/src/gui/TopologyTools.h ++++ b/src/gui/TopologyTools.h +@@ -35,6 +35,7 @@ + #include + #include + ++#ifndef Q_MOC_RUN + #include "TopologySectionsContainer.h" + + #include "app-logic/Layer.h" +@@ -64,6 +65,7 @@ + #include "utils/UnicodeStringUtils.h" + + #include "view-operations/RenderedGeometryCollection.h" ++#endif + + + namespace GPlatesAppLogic +--- a/src/opengl/GLVisualLayers.h ++++ b/src/opengl/GLVisualLayers.h +@@ -35,6 +35,7 @@ + #include + #include + ++#ifndef Q_MOC_RUN + #include "GLAgeGridMaskSource.h" + #include "GLContext.h" + #include "GLLight.h" +@@ -79,6 +80,7 @@ + + #include "view-operations/RenderedGeometry.h" + #include "view-operations/ScalarField3DRenderParameters.h" ++#endif + + + namespace GPlatesAppLogic +--- a/src/presentation/VisualLayer.h ++++ b/src/presentation/VisualLayer.h +@@ -32,6 +32,7 @@ + #include + #include + ++#ifndef Q_MOC_RUN + #include "VisualLayerParams.h" + #include "VisualLayerType.h" + +@@ -42,6 +43,7 @@ + #include "model/FeatureCollectionHandle.h" + + #include "view-operations/RenderedGeometryCollection.h" ++#endif + + + namespace GPlatesAppLogic +--- a/src/presentation/VisualLayers.h ++++ b/src/presentation/VisualLayers.h +@@ -34,6 +34,7 @@ + #include + #include + ++#ifndef Q_MOC_RUN + #include "VisualLayer.h" + + #include "app-logic/FeatureCollectionFileState.h" +@@ -42,6 +43,7 @@ + #include "gui/Symbol.h" + + #include "view-operations/RenderedGeometryCollection.h" ++#endif + + + namespace GPlatesAppLogic +--- a/src/qt-widgets/AssignReconstructionPlateIdsDialog.h ++++ b/src/qt-widgets/AssignReconstructionPlateIdsDialog.h +@@ -39,6 +39,7 @@ + #include "GPlatesDialog.h" + #include "InformationDialog.h" + ++#ifndef Q_MOC_RUN + #include "app-logic/AssignPlateIds.h" + + #include "file-io/File.h" +@@ -47,6 +48,7 @@ + #include "model/ModelInterface.h" + + #include "presentation/VisualLayer.h" ++#endif + + + namespace GPlatesAppLogic +--- a/src/qt-widgets/CoRegistrationLayerConfigurationDialog.h ++++ b/src/qt-widgets/CoRegistrationLayerConfigurationDialog.h +@@ -38,6 +38,7 @@ + + #include "OpenDirectoryDialog.h" + ++#ifndef Q_MOC_RUN + #include "app-logic/ApplicationState.h" + #include "app-logic/Layer.h" + #include "app-logic/LayerInputChannelName.h" +@@ -45,6 +46,7 @@ + + #include "data-mining/CheckAttrTypeVisitor.h" + #include "data-mining/CoRegConfigurationTable.h" ++#endif + + #include "global/PointerTraits.h" + +--- a/src/qt-widgets/CoRegistrationOptionsWidget.h ++++ b/src/qt-widgets/CoRegistrationOptionsWidget.h +@@ -31,6 +31,7 @@ + #include "CoRegistrationLayerConfigurationDialog.h" + #include "CoRegistrationOptionsWidgetUi.h" + #include "LayerOptionsWidget.h" ++#ifndef Q_MOC_RUN + #include "CoRegistrationResultTableDialog.h" + + #include "app-logic/CoRegistrationLayerTask.h" +@@ -41,7 +42,7 @@ + #include "file-io/File.h" + + #include "presentation/VisualLayer.h" +- ++#endif + + namespace GPlatesAppLogic + { +--- a/src/qt-widgets/CoRegistrationResultTableDialog.h ++++ b/src/qt-widgets/CoRegistrationResultTableDialog.h +@@ -36,6 +36,7 @@ + #include + #include + ++#ifndef Q_MOC_RUN + #include "CoRegistrationResultTableDialogUi.h" + #include "SaveFileDialog.h" + +@@ -43,6 +44,7 @@ + #include "data-mining/OpaqueDataToQString.h" + + #include "presentation/VisualLayer.h" ++#endif + + namespace GPlatesPresentation + { +--- a/src/qt-widgets/DrawStyleDialog.h ++++ b/src/qt-widgets/DrawStyleDialog.h +@@ -33,6 +33,7 @@ + #include + #include + ++#ifndef Q_MOC_RUN + #include "DrawStyleDialogUi.h" + #include "GPlatesDialog.h" + #include "PythonArgumentWidget.h" +@@ -41,6 +42,7 @@ + #include "gui/PythonConfiguration.h" + + #include "presentation/Application.h" ++#endif + + namespace GPlatesAppLogic + { +--- a/src/qt-widgets/EditTableActionWidget.h ++++ b/src/qt-widgets/EditTableActionWidget.h +@@ -27,8 +27,11 @@ + #define GPLATES_QTWIDGETS_EDITTABLEACTIONWIDGET_H + + #include ++ ++#ifndef Q_MOC_RUN + #include "app-logic/ApplicationState.h" + #include "EditTableActionWidgetUi.h" ++#endif + + namespace GPlatesQtWidgets + { +--- a/src/qt-widgets/GlobeCanvas.h ++++ b/src/qt-widgets/GlobeCanvas.h +@@ -41,6 +41,7 @@ + #include + #include + ++#ifndef Q_MOC_RUN + #include "gui/ColourScheme.h" + #include "gui/Globe.h" + #include "gui/ViewportZoom.h" +@@ -58,6 +59,7 @@ + #include "qt-widgets/SceneView.h" + + #include "view-operations/RenderedGeometryFactory.h" ++#endif + + + namespace GPlatesGui +--- a/src/qt-widgets/LogDialog.h ++++ b/src/qt-widgets/LogDialog.h +@@ -34,7 +34,9 @@ + #include "GPlatesDialog.h" + #include "LogDialogUi.h" + ++#ifndef Q_MOC_RUN + #include "app-logic/ApplicationState.h" ++#endif + + + namespace GPlatesGui +--- a/src/qt-widgets/MapCanvas.h ++++ b/src/qt-widgets/MapCanvas.h +@@ -39,6 +39,7 @@ + #include + #include + ++#ifndef Q_MOC_RUN + #include "gui/ColourScheme.h" + #include "gui/Map.h" + #include "gui/TextOverlay.h" +@@ -47,6 +48,7 @@ + #include "opengl/GLMatrix.h" + #include "opengl/GLOffScreenContext.h" + #include "opengl/GLVisualLayers.h" ++#endif + + + namespace GPlatesGui +--- a/src/qt-widgets/MapView.h ++++ b/src/qt-widgets/MapView.h +@@ -36,6 +36,7 @@ + #include + #include + ++#ifndef Q_MOC_RUN + #include "gui/ColourScheme.h" + + #include "maths/LatLonPoint.h" +@@ -44,6 +45,7 @@ + #include "opengl/GLVisualLayers.h" + + #include "qt-widgets/SceneView.h" ++#endif + + + namespace GPlatesGui +--- a/src/qt-widgets/MergeReconstructionLayersDialog.h ++++ b/src/qt-widgets/MergeReconstructionLayersDialog.h +@@ -33,7 +33,9 @@ + + #include "MergeReconstructionLayersDialogUi.h" + ++#ifndef Q_MOC_RUN + #include "app-logic/Layer.h" ++#endif + + + namespace GPlatesAppLogic +--- a/src/qt-widgets/RasterLayerOptionsWidget.h ++++ b/src/qt-widgets/RasterLayerOptionsWidget.h +@@ -31,6 +31,7 @@ + #include + #include + ++#ifndef Q_MOC_RUN + #include "RasterLayerOptionsWidgetUi.h" + + #include "LayerOptionsWidget.h" +@@ -40,6 +41,7 @@ + + #include "gui/BuiltinColourPaletteType.h" + #include "gui/RasterColourPalette.h" ++#endif + + + namespace GPlatesAppLogic +--- a/src/qt-widgets/ReconstructScalarCoverageLayerOptionsWidget.h ++++ b/src/qt-widgets/ReconstructScalarCoverageLayerOptionsWidget.h +@@ -28,6 +28,7 @@ + + #include + ++#ifndef Q_MOC_RUN + #include "ReconstructScalarCoverageLayerOptionsWidgetUi.h" + + #include "LayerOptionsWidget.h" +@@ -37,6 +38,7 @@ + + #include "gui/BuiltinColourPaletteType.h" + #include "gui/RasterColourPalette.h" ++#endif + + + namespace GPlatesAppLogic +--- a/src/qt-widgets/ScalarField3DLayerOptionsWidget.h ++++ b/src/qt-widgets/ScalarField3DLayerOptionsWidget.h +@@ -30,6 +30,7 @@ + #include + #include + ++#ifndef Q_MOC_RUN + #include "ScalarField3DLayerOptionsWidgetUi.h" + + #include "LayerOptionsWidget.h" +@@ -41,6 +42,7 @@ + #include "gui/RasterColourPalette.h" + + #include "view-operations/ScalarField3DRenderParameters.h" ++#endif + + + namespace GPlatesAppLogic +--- a/src/qt-widgets/TotalReconstructionPolesDialog.h ++++ b/src/qt-widgets/TotalReconstructionPolesDialog.h +@@ -32,12 +32,14 @@ + #include + #include + ++#ifndef Q_MOC_RUN + #include "TotalReconstructionPolesDialogUi.h" + + #include "GPlatesDialog.h" + #include "SaveFileDialog.h" + + #include "presentation/VisualLayer.h" ++#endif + + + namespace GPlatesAppLogic +--- a/src/qt-widgets/VisualLayersComboBox.h ++++ b/src/qt-widgets/VisualLayersComboBox.h +@@ -32,8 +32,10 @@ + #include + #include + ++#ifndef Q_MOC_RUN + #include "presentation/VisualLayer.h" + #include "presentation/VisualLayerType.h" ++#endif + + + namespace GPlatesPresentation +--- a/src/qt-widgets/VisualLayerWidget.h ++++ b/src/qt-widgets/VisualLayerWidget.h +@@ -36,11 +36,13 @@ + #include + #include + ++#ifndef Q_MOC_RUN + #include "VisualLayerWidgetUi.h" + + #include "app-logic/Layer.h" + + #include "gui/Colour.h" ++#endif + + + namespace GPlatesAppLogic +--- a/src/view-operations/InternalGeometryBuilder.h ++++ b/src/view-operations/InternalGeometryBuilder.h +@@ -30,9 +30,11 @@ + #include + #include + ++#ifndef Q_MOC_RUN + #include "maths/GeometryOnSphere.h" + #include "maths/GeometryType.h" + #include "maths/PointOnSphere.h" ++#endif + + namespace GPlatesViewOperations + { +--- a/src/view-operations/RenderedGeometryCollection.h ++++ b/src/view-operations/RenderedGeometryCollection.h +@@ -39,7 +39,9 @@ + #include + #include + ++#ifndef Q_MOC_RUN + #include "RenderedGeometryLayer.h" ++#endif + + namespace GPlatesViewOperations + { +--- a/src/view-operations/RenderedGeometryFactory.h ++++ b/src/view-operations/RenderedGeometryFactory.h +@@ -33,6 +33,7 @@ + #include + #include + ++#ifndef Q_MOC_RUN + #include "RenderedGeometry.h" + #include "RenderedColouredEdgeSurfaceMesh.h" + #include "RenderedColouredTriangleSurfaceMesh.h" +@@ -62,6 +63,7 @@ + #include "property-values/TextContent.h" + + #include "view-operations/ScalarField3DRenderParameters.h" ++#endif + + + namespace GPlatesAppLogic +--- a/src/view-operations/RenderedGeometryLayer.h ++++ b/src/view-operations/RenderedGeometryLayer.h +@@ -35,10 +35,12 @@ + #include + #include + ++#ifndef Q_MOC_RUN + #include "RenderedGeometry.h" + + #include "maths/CubeQuadTreeLocation.h" + ++#endif + + namespace GPlatesMaths + { diff --git a/pkgs/applications/science/misc/gplates/default.nix b/pkgs/applications/science/misc/gplates/default.nix new file mode 100644 index 000000000000..9dd7b6b72db1 --- /dev/null +++ b/pkgs/applications/science/misc/gplates/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl, qt4, qwt6_qt4, mesa, glew, gdal_1_11, cgal, proj, boost, cmake, python2, doxygen, graphviz, gmp }: + +stdenv.mkDerivation rec { + name = "gplates-${version}"; + version = "2.0.0"; + + src = fetchurl { + url = "mirror://sourceforge/gplates/${name}-unixsrc.tar.bz2"; + sha256 = "02scnjj5nlc2d2c8lbx0xvj8gg1bgkjliv3wxsx564c55a9x69qw"; + }; + + patches = [ + ./boostfix.patch + ]; + + buildInputs = [ qt4 qwt6_qt4 mesa glew gdal_1_11 cgal proj boost cmake python2 doxygen graphviz gmp ]; + + meta = with stdenv.lib; { + description = "Desktop software for the interactive visualisation of plate-tectonics"; + homepage = https://www.gplates.org; + license = licenses.gpl2; + platforms = platforms.all; + }; +} diff --git a/pkgs/applications/science/misc/openmodelica/default.nix b/pkgs/applications/science/misc/openmodelica/default.nix index 8b413f20b1e9..8d673a15fa8e 100644 --- a/pkgs/applications/science/misc/openmodelica/default.nix +++ b/pkgs/applications/science/misc/openmodelica/default.nix @@ -1,7 +1,7 @@ {stdenv, fetchgit, fetchsvn, autoconf, automake, libtool, gfortran, clang, cmake, gnumake, hwloc, jre, liblapack, blas, hdf5, expat, ncurses, readline, qt4, webkit, which, lp_solve, omniorb, sqlite, libatomic_ops, pkgconfig, file, gettext, flex, bison, -doxygen, boost, openscenegraph, gnome, pangox_compat, xorg, git, bash, gtk, makeWrapper }: +doxygen, boost, openscenegraph, gnome2, pangox_compat, xorg, git, bash, gtk2, makeWrapper }: let @@ -17,11 +17,13 @@ stdenv.mkDerivation { buildInputs = [autoconf cmake automake libtool gfortran clang gnumake hwloc jre liblapack blas hdf5 expat ncurses readline qt4 webkit which lp_solve omniorb sqlite libatomic_ops pkgconfig file gettext flex bison - doxygen boost openscenegraph gnome.gtkglext pangox_compat xorg.libXmu - git gtk makeWrapper]; + doxygen boost openscenegraph gnome2.gtkglext pangox_compat xorg.libXmu + git gtk2 makeWrapper]; hardeningDisable = [ "format" ]; + enableParallelBuilding = true; + patchPhase = '' cp -fv ${fakegit}/bin/checkout-git.sh libraries/checkout-git.sh cp -fv ${fakegit}/bin/checkout-svn.sh libraries/checkout-svn.sh diff --git a/pkgs/applications/science/misc/root/default.nix b/pkgs/applications/science/misc/root/default.nix index 10c777d8601c..220b2e06360f 100644 --- a/pkgs/applications/science/misc/root/default.nix +++ b/pkgs/applications/science/misc/root/default.nix @@ -1,22 +1,25 @@ -{ stdenv, fetchurl, fetchpatch, cmake, pkgconfig, python -, libX11, libXpm, libXft, libXext, zlib, lzma, gsl }: +{ stdenv, fetchurl, fetchpatch, cmake, pcre, pkgconfig, python2 +, libX11, libXpm, libXft, libXext, zlib, lzma, gsl, Cocoa }: stdenv.mkDerivation rec { name = "root-${version}"; - version = "6.04.18"; + version = "6.08.02"; src = fetchurl { url = "https://root.cern.ch/download/root_v${version}.source.tar.gz"; - sha256 = "00f3v3l8nimfkcxpn9qpyh3h23na0mi4wkds2y5gwqh8wh3jryq9"; + sha256 = "0530v1r4rvds52hgb13f00l3phhn76z6vii550mwv8bj3sl5070k"; }; - buildInputs = [ cmake pkgconfig python libX11 libXpm libXft libXext zlib lzma gsl ]; + buildInputs = [ cmake pcre pkgconfig python2 zlib lzma gsl ] + ++ stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext ] + ++ stdenv.lib.optionals (stdenv.isDarwin) [ Cocoa ] + ; patches = [ - (fetchpatch { - url = "https://github.com/root-mirror/root/commit/ee9964210c56e7c1868618a4434c5340fef38fe4.patch"; - sha256 = "186i7ni75yvjydy6lpmaplqxfb5z2019bgpbhff1n6zn2qlrff2r"; - }) + ./sw_vers.patch + + # this prevents thisroot.sh from setting $p, which interferes with stdenv setup + ./thisroot.patch ]; preConfigure = '' @@ -27,14 +30,44 @@ stdenv.mkDerivation rec { "-Drpath=ON" "-DCMAKE_INSTALL_LIBDIR=lib" "-DCMAKE_INSTALL_INCLUDEDIR=include" + "-Dalien=OFF" + "-Dbonjour=OFF" + "-Dcastor=OFF" + "-Dchirp=OFF" + "-Ddavix=OFF" + "-Ddcache=OFF" + "-Dfftw3=OFF" + "-Dfitsio=OFF" + "-Dfortran=OFF" + "-Dgfal=OFF" + "-Dgviz=OFF" + "-Dhdfs=OFF" + "-Dkrb5=OFF" + "-Dldap=OFF" + "-Dmonalisa=OFF" + "-Dmysql=OFF" + "-Dodbc=OFF" + "-Dopengl=OFF" + "-Doracle=OFF" + "-Dpgsql=OFF" + "-Dpythia6=OFF" + "-Dpythia8=OFF" + "-Drfio=OFF" + "-Dsqlite=OFF" + "-Dssl=OFF" + "-Dxml=OFF" + "-Dxrootd=OFF" ] ++ stdenv.lib.optional (stdenv.cc.libc != null) "-DC_INCLUDE_DIRS=${stdenv.lib.getDev stdenv.cc.libc}/include"; enableParallelBuilding = true; + setupHook = ./setup-hook.sh; + meta = { homepage = "https://root.cern.ch/"; description = "A data analysis framework"; - platforms = stdenv.lib.platforms.linux; + platforms = stdenv.lib.platforms.unix; + maintainers = with stdenv.lib.maintainers; [ veprbl ]; }; } diff --git a/pkgs/applications/science/misc/root/setup-hook.sh b/pkgs/applications/science/misc/root/setup-hook.sh new file mode 100644 index 000000000000..fc2b697d8a82 --- /dev/null +++ b/pkgs/applications/science/misc/root/setup-hook.sh @@ -0,0 +1,9 @@ +thisroot () { + # Workaround thisroot.sh dependency on man + if [ -z "${MANPATH}" ]; then + MANPATH=: + fi + source @out@/bin/thisroot.sh +} + +postHooks+=(thisroot) diff --git a/pkgs/applications/science/misc/root/sw_vers.patch b/pkgs/applications/science/misc/root/sw_vers.patch new file mode 100644 index 000000000000..c4632d62b4fe --- /dev/null +++ b/pkgs/applications/science/misc/root/sw_vers.patch @@ -0,0 +1,90 @@ +diff --git a/build/unix/compiledata.sh b/build/unix/compiledata.sh +--- a/build/unix/compiledata.sh ++++ b/build/unix/compiledata.sh +@@ -49,7 +49,7 @@ fi + + if [ "$ARCH" = "macosx" ] || [ "$ARCH" = "macosx64" ] || \ + [ "$ARCH" = "macosxicc" ]; then +- macosx_minor=`sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2` ++ macosx_minor=7 + SOEXT="so" + if [ $macosx_minor -ge 5 ]; then + if [ "x`echo $SOFLAGS | grep -- '-install_name'`" != "x" ]; then +diff --git a/cmake/modules/SetUpMacOS.cmake b/cmake/modules/SetUpMacOS.cmake +--- a/cmake/modules/SetUpMacOS.cmake ++++ b/cmake/modules/SetUpMacOS.cmake +@@ -12,25 +12,11 @@ set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} /usr/X11R6) + #--------------------------------------------------------------------------------------------------------- + + if (CMAKE_SYSTEM_NAME MATCHES Darwin) +- EXECUTE_PROCESS(COMMAND sw_vers "-productVersion" +- COMMAND cut -d . -f 1-2 +- OUTPUT_VARIABLE MACOSX_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) +- MESSAGE(STATUS "Found a Mac OS X System ${MACOSX_VERSION}") +- EXECUTE_PROCESS(COMMAND sw_vers "-productVersion" +- COMMAND cut -d . -f 2 +- OUTPUT_VARIABLE MACOSX_MINOR OUTPUT_STRIP_TRAILING_WHITESPACE) +- +- if(MACOSX_VERSION VERSION_GREATER 10.7 AND ${CMAKE_CXX_COMPILER_ID} STREQUAL Clang) + set(libcxx ON CACHE BOOL "Build using libc++" FORCE) +- endif() + +- if(${MACOSX_MINOR} GREATER 4) + #TODO: check haveconfig and rpath -> set rpath true + #TODO: check Thread, define link command + #TODO: more stuff check configure script +- execute_process(COMMAND /usr/sbin/sysctl machdep.cpu.extfeatures OUTPUT_VARIABLE SYSCTL_OUTPUT) +- if(${SYSCTL_OUTPUT} MATCHES 64) +- MESSAGE(STATUS "Found a 64bit system") + set(ROOT_ARCHITECTURE macosx64) + SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}") + SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS} -m64") +@@ -38,27 +24,6 @@ if (CMAKE_SYSTEM_NAME MATCHES Darwin) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m64") + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m64") + SET(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -m64") +- else(${SYSCTL_OUTPUT} MATCHES 64) +- MESSAGE(STATUS "Found a 32bit system") +- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32") +- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32") +- SET(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -m32") +- endif(${SYSCTL_OUTPUT} MATCHES 64) +- endif() +- +- if(MACOSX_VERSION VERSION_GREATER 10.6) +- set(MACOSX_SSL_DEPRECATED ON) +- endif() +- if(MACOSX_VERSION VERSION_GREATER 10.7) +- set(MACOSX_ODBC_DEPRECATED ON) +- endif() +- if(MACOSX_VERSION VERSION_GREATER 10.8) +- set(MACOSX_GLU_DEPRECATED ON) +- set(MACOSX_KRB5_DEPRECATED ON) +- endif() +- if(MACOSX_VERSION VERSION_GREATER 10.9) +- set(MACOSX_LDAP_DEPRECATED ON) +- endif() + + if (CMAKE_COMPILER_IS_GNUCXX) + message(STATUS "Found GNU compiler collection") +@@ -135,7 +100,7 @@ if (CMAKE_SYSTEM_NAME MATCHES Darwin) + endif() + + #---Set Linker flags---------------------------------------------------------------------- +- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -mmacosx-version-min=${MACOSX_VERSION} -Wl,-rpath,@loader_path/../lib") ++ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-rpath,@loader_path/../lib") + + + else (CMAKE_SYSTEM_NAME MATCHES Darwin) +diff --git a/config/root-config.in b/config/root-config.in +--- a/config/root-config.in ++++ b/config/root-config.in +@@ -304,7 +304,7 @@ macosxicc) + ;; + macosx64) + # MacOS X with gcc (GNU cc v4.x) in 64 bit mode +- macosx_minor=`sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2` ++ macosx_minor=7 + # cannot find the one linked to libGraf if relocated after built + if [ $macosx_minor -le 4 ]; then + rootlibs="$rootlibs -lfreetype" diff --git a/pkgs/applications/science/misc/root/thisroot.patch b/pkgs/applications/science/misc/root/thisroot.patch new file mode 100644 index 000000000000..57cd5838e64a --- /dev/null +++ b/pkgs/applications/science/misc/root/thisroot.patch @@ -0,0 +1,15 @@ +diff --git a/config/thisroot.sh b/config/thisroot.sh +index 85dee20..532cb28 100644 +--- a/config/thisroot.sh ++++ b/config/thisroot.sh +@@ -15,8 +15,8 @@ drop_from_path() + return 1 + fi + +- p=$1 +- drop=$2 ++ local p=$1 ++ local drop=$2 + + newpath=`echo $p | sed -e "s;:${drop}:;:;g" \ + -e "s;:${drop};;g" \ diff --git a/pkgs/applications/science/misc/tulip/default.nix b/pkgs/applications/science/misc/tulip/default.nix index da6e0cb2805d..9b8035fcefe7 100644 --- a/pkgs/applications/science/misc/tulip/default.nix +++ b/pkgs/applications/science/misc/tulip/default.nix @@ -1,16 +1,16 @@ { fetchurl, stdenv, libxml2, freetype, mesa, glew, qt4 -, cmake, makeWrapper, libjpeg }: +, cmake, makeWrapper, libjpeg, python }: -let version = "4.1.0"; in +let version = "4.9.0"; in stdenv.mkDerivation rec { name = "tulip-${version}"; src = fetchurl { url = "mirror://sourceforge/auber/${name}_src.tar.gz"; - sha256 = "1js1f8xdm9g2m66xbhfxa8ixzw6h4gjynxsm83p54l3i0hs3biig"; + sha256 = "0phc7972brvm0v6lfk4ghq9b2b4jsj6c15xlbgnvhhcxhc99wba3"; }; - buildInputs = [ libxml2 freetype glew mesa qt4 libjpeg ]; + buildInputs = [ libxml2 freetype glew mesa qt4 libjpeg python ]; nativeBuildInputs = [ cmake makeWrapper ]; diff --git a/pkgs/applications/science/physics/sacrifice/compat.patch b/pkgs/applications/science/physics/sacrifice/compat.patch new file mode 100644 index 000000000000..c66b91b76280 --- /dev/null +++ b/pkgs/applications/science/physics/sacrifice/compat.patch @@ -0,0 +1,12 @@ +diff --git a/src/PythiaMain.cxx b/src/PythiaMain.cxx +index 0e5ddd2..2b626ab 100644 +--- a/src/PythiaMain.cxx ++++ b/src/PythiaMain.cxx +@@ -96,7 +96,6 @@ int main(int argc, char **argv){ + HepMCConverter pythiaToHepMC; + + pythiaToHepMC.set_store_pdf(true); +- pythiaToHepMC.set_crash_on_problem(true); + + if(photosHandler.isEnabled()){ + photosHandler.initialise(); diff --git a/pkgs/applications/science/physics/sacrifice/default.nix b/pkgs/applications/science/physics/sacrifice/default.nix new file mode 100644 index 000000000000..d6aeeedc086d --- /dev/null +++ b/pkgs/applications/science/physics/sacrifice/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchurl, boost, hepmc, lhapdf, pythia }: + +stdenv.mkDerivation rec { + name = "sacrifice-${version}"; + version = "1.0.0"; + + src = fetchurl { + url = "http://www.hepforge.org/archive/agile/Sacrifice-1.0.0.tar.gz"; + sha256 = "10bvpq63kmszy1habydwncm0j1dgvam0fkrmvkgbkvf804dcjp6g"; + }; + + buildInputs = [ boost hepmc lhapdf pythia ]; + + patches = [ + ./compat.patch + ]; + + preConfigure = '' + substituteInPlace configure --replace HAVE_LCG=yes HAVE_LCG=no + '' + + stdenv.lib.optionalString stdenv.isDarwin '' + substituteInPlace configure --replace LIB_SUFFIX=\"so\" LIB_SUFFIX=\"dylib\" + ''; + + configureFlags = [ + "--with-HepMC=${hepmc}" + "--with-pythia=${pythia}" + ]; + + enableParallelBuilding = true; + + meta = { + description = "A standalone contribution to AGILe for steering Pythia 8"; + license = stdenv.lib.licenses.gpl2; + homepage = https://agile.hepforge.org/trac/wiki/Sacrifice; + platforms = stdenv.lib.platforms.unix; + maintainers = with stdenv.lib.maintainers; [ veprbl ]; + }; +} diff --git a/pkgs/applications/science/physics/sherpa/default.nix b/pkgs/applications/science/physics/sherpa/default.nix new file mode 100644 index 000000000000..e815ddfc1c2f --- /dev/null +++ b/pkgs/applications/science/physics/sherpa/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchurl, gfortran, hepmc, fastjet, lhapdf, rivet, sqlite }: + +stdenv.mkDerivation rec { + name = "sherpa-${version}"; + version = "2.2.1"; + + src = fetchurl { + url = "http://www.hepforge.org/archive/sherpa/SHERPA-MC-${version}.tar.gz"; + sha256 = "13vkz6w8kqyv8sgy3mxnlps5ykml5rnlj50vjj0pp9rgbl5y8ali"; + }; + + buildInputs = [ gfortran sqlite lhapdf rivet ]; + + enableParallelBuilding = true; + + configureFlags = [ + "--with-sqlite3=${sqlite.dev}" + "--enable-hepmc2=${hepmc}" + "--enable-fastjet=${fastjet}" + "--enable-lhapdf=${lhapdf}" + "--enable-rivet=${rivet}" + ]; + + CXXFLAGS = "-std=c++11"; # needed for rivet on OSX + + meta = { + description = "Simulation of High-Energy Reactions of PArticles in lepton-lepton, lepton-photon, photon-photon, lepton-hadron and hadron-hadron collisions"; + license = stdenv.lib.licenses.gpl2; + homepage = https://sherpa.hepforge.org; + platforms = stdenv.lib.platforms.unix; + maintainers = with stdenv.lib.maintainers; [ veprbl ]; + }; +} diff --git a/pkgs/applications/science/robotics/gazebo/default.nix b/pkgs/applications/science/robotics/gazebo/default.nix index 1b71e45eb821..e8b3bcb16a26 100644 --- a/pkgs/applications/science/robotics/gazebo/default.nix +++ b/pkgs/applications/science/robotics/gazebo/default.nix @@ -31,7 +31,9 @@ stdenv.mkDerivation rec { }; enableParallelBuilding = true; # gazebo needs this so bad - cmakeFlags = [] + cmakeFlags = [ + "-DCMAKE_INSTALL_LIBDIR:PATH=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" ] ++ optional withQuickBuild [ "-DENABLE_TESTS_COMPILATION=False" ] ++ optional withLowMemorySupport [ "-DUSE_LOW_MEMORY_TESTS=True" ] ++ optional withHeadless [ "-DENABLE_SCREEN_TESTS=False" ]; diff --git a/pkgs/applications/science/robotics/yarp/default.nix b/pkgs/applications/science/robotics/yarp/default.nix index 76ba871c4a1d..76b05c8a3a71 100644 --- a/pkgs/applications/science/robotics/yarp/default.nix +++ b/pkgs/applications/science/robotics/yarp/default.nix @@ -3,18 +3,29 @@ stdenv.mkDerivation rec { name = "yarp-${version}"; - version = "2.3.65"; + version = "2.3.68"; src = fetchFromGitHub { owner = "robotology"; repo = "yarp"; rev = "v${version}"; - sha256 = "003n0z1qrd7l8maa98aa49gsfsyy7w8gb2pprlgj92r0drk8zm02"; + sha256 = "1ksz2kv4v14fqgz3fsvvmdk2sikhnxr11jhhf7c2547x6jbzhda6"; }; buildInputs = [ cmake ace ]; enableParallelBuilding = true; + cmakeFlags = [ + "-DYARP_COMPILE_UNMAINTAINED:BOOL=ON" + "-DCREATE_YARPC:BOOL=ON" + "-DCREATE_YARPCXX:BOOL=ON" + ]; + + # since we cant expand $out in cmakeFlags + preConfigure = ''cmakeFlags="$cmakeFlags -DCMAKE_INSTALL_LIBDIR=$out/lib"''; + + postInstall = "mv ./$out/lib/*.so $out/lib/"; + meta = { description = "Yet Another Robot Platform"; homepage = http://yarp.it; diff --git a/pkgs/applications/version-management/bazaar/default.nix b/pkgs/applications/version-management/bazaar/default.nix index 29dee3f03c57..47d667a0c067 100644 --- a/pkgs/applications/version-management/bazaar/default.nix +++ b/pkgs/applications/version-management/bazaar/default.nix @@ -1,6 +1,8 @@ -{ stdenv, fetchurl, pythonPackages }: +{ stdenv, fetchurl, python2Packages +, withSFTP ? true + }: -stdenv.mkDerivation rec { +python2Packages.buildPythonApplication rec { version = "2.7"; release = ".0"; name = "bazaar-${version}${release}"; @@ -10,10 +12,10 @@ stdenv.mkDerivation rec { sha256 = "1cysix5k3wa6y7jjck3ckq3abls4gvz570s0v0hxv805nwki4i8d"; }; - buildInputs = [ pythonPackages.python pythonPackages.wrapPython ]; + doCheck = false; - # Readline support is needed by bzrtools. - pythonPath = [ pythonPackages.readline ]; + propagatedBuildInputs = [] + ++ stdenv.lib.optionals withSFTP [ python2Packages.paramiko ]; # Bazaar can't find the certificates alone patches = [ ./add_certificates.patch ]; @@ -22,11 +24,6 @@ stdenv.mkDerivation rec { --subst-var-by certPath /etc/ssl/certs/ca-certificates.crt ''; - installPhase = '' - python setup.py install --prefix=$out - wrapPythonPrograms - ''; - meta = { homepage = http://bazaar-vcs.org/; description = "A distributed version control system that Just Works"; diff --git a/pkgs/applications/version-management/bazaar/tools.nix b/pkgs/applications/version-management/bazaar/tools.nix index 68b69f335b63..d6c65548c1f7 100644 --- a/pkgs/applications/version-management/bazaar/tools.nix +++ b/pkgs/applications/version-management/bazaar/tools.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchurl, makeWrapper, python2, bazaar }: +{ stdenv, fetchurl, makeWrapper, python2Packages, bazaar }: -stdenv.mkDerivation rec { +python2Packages.buildPythonApplication rec { name = "bzr-tools-${version}"; version = "2.6.0"; @@ -9,12 +9,8 @@ stdenv.mkDerivation rec { sha256 = "0n3zzc6jf5866kfhmrnya1vdr2ja137a45qrzsz8vz6sc6xgn5wb"; }; - buildInputs = [ makeWrapper python2 ]; + doCheck = false; - installPhase = '' - ${python2}/bin/python ./setup.py install --prefix=$out - ''; - meta = { description = "Bazaar plugins"; homepage = http://wiki.bazaar.canonical.com/BzrTools; diff --git a/pkgs/applications/version-management/bitkeeper/default.nix b/pkgs/applications/version-management/bitkeeper/default.nix index e5937977994e..86e555a989c7 100644 --- a/pkgs/applications/version-management/bitkeeper/default.nix +++ b/pkgs/applications/version-management/bitkeeper/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { name = "bitkeeper-${version}"; - version = "7.3ce"; + version = "7.3.1ce"; src = fetchurl { - url = "https://www.bitkeeper.org/downloads/${version}/bk-${version}.tar.gz"; - sha256 = "0lk4vydpq5bi52m81h327gvzdzybf8kkak7yjwmpj6kg1jn9blaz"; + url = "https://www.bitkeeper.org/downloads/${version}/bk-${version}.src.tar.gz"; + sha256 = "0l6jwvcg4s1q00vb01hdv58jgv03l8x5mhjl73cwgfiff80zx147"; }; hardeningDisable = [ "fortify" ]; diff --git a/pkgs/applications/version-management/cvs/default.nix b/pkgs/applications/version-management/cvs/default.nix index 3aace6b7e021..74a2267043cb 100644 --- a/pkgs/applications/version-management/cvs/default.nix +++ b/pkgs/applications/version-management/cvs/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation { patches = [ ./getcwd-chroot.patch ]; - hardeningDisable = [ "format" ]; + hardeningDisable = [ "fortify" "format" ]; preConfigure = '' # Apply the Debian patches. diff --git a/pkgs/applications/version-management/cvs2svn/default.nix b/pkgs/applications/version-management/cvs2svn/default.nix index 2bfde38af29d..90a9f26045f3 100644 --- a/pkgs/applications/version-management/cvs2svn/default.nix +++ b/pkgs/applications/version-management/cvs2svn/default.nix @@ -1,4 +1,4 @@ -{stdenv, lib, fetchurl, python, cvs, makeWrapper}: +{stdenv, lib, fetchurl, python2, cvs, makeWrapper}: stdenv.mkDerivation rec { name = "cvs2svn-2.4.0"; @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { sha256 = "05piyrcp81a1jgjm66xhq7h1sscx42ccjqaw30h40dxlwz1pyrx6"; }; - buildInputs = [python makeWrapper]; + buildInputs = [python2 makeWrapper]; dontBuild = true; installPhase = '' diff --git a/pkgs/applications/version-management/cvsps/01_ignoretrunk.dpatch b/pkgs/applications/version-management/cvsps/01_ignoretrunk.dpatch deleted file mode 100644 index 39185ae2bfa6..000000000000 --- a/pkgs/applications/version-management/cvsps/01_ignoretrunk.dpatch +++ /dev/null @@ -1,23 +0,0 @@ -#! /bin/sh /usr/share/dpatch/dpatch-run -## 01_ignoretrunk.dpatch by -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: Ignore TRUNK branch name patch - -@DPATCH@ - -diff -urN cvsps-2.1.orig/cvsps.c cvsps-2.1/cvsps.c ---- cvsps-2.1.orig/cvsps.c 2005-05-25 22:39:40.000000000 -0500 -+++ cvsps-2.1/cvsps.c 2005-06-19 23:07:20.000000000 -0500 -@@ -2104,6 +2109,11 @@ - - if (!get_branch_ext(rev, eot, &leaf)) - { -+ if (strcmp(tag, "TRUNK") == 0) -+ { -+ debug(DEBUG_STATUS, "ignoring the TRUNK branch/tag"); -+ return; -+ } - debug(DEBUG_APPERROR, "malformed revision"); - exit(1); - } diff --git a/pkgs/applications/version-management/cvsps/02_dynamicbufferalloc.dpatch b/pkgs/applications/version-management/cvsps/02_dynamicbufferalloc.dpatch deleted file mode 100644 index 70ffb02a21aa..000000000000 --- a/pkgs/applications/version-management/cvsps/02_dynamicbufferalloc.dpatch +++ /dev/null @@ -1,125 +0,0 @@ -#! /bin/sh /usr/share/dpatch/dpatch-run -## 02_dynamicbufferalloc.dpatch by -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: Dynamic buffer allocation - -@DPATCH@ - -diff -urN cvsps-2.1-orig/cache.c cvsps-2.1/cache.c ---- cvsps-2.1-orig/cache.c 2005-05-25 22:39:40.000000000 -0500 -+++ cvsps-2.1/cache.c 2005-07-26 15:21:29.716569500 -0500 -@@ -108,10 +108,19 @@ - int tag_flags = 0; - char branchbuff[LOG_STR_MAX] = ""; - int branch_add = 0; -- char logbuff[LOG_STR_MAX] = ""; -+ int logbufflen = LOG_STR_MAX + 1; -+ char * logbuff = malloc(logbufflen); - time_t cache_date = -1; - int read_version; - -+ if (logbuff == NULL) -+ { -+ debug(DEBUG_SYSERROR, "could not malloc %d bytes for logbuff in read_cache", logbufflen); -+ exit(1); -+ } -+ -+ logbuff[0] = 0; -+ - if (!(fp = cache_open("r"))) - goto out; - -@@ -299,8 +308,19 @@ - else - { - /* Make sure we have enough in the buffer */ -- if (strlen(logbuff)+strlen(buff)= LOG_STR_MAX) -+ { -+ logbufflen += (len >= LOG_STR_MAX ? (len+1) : LOG_STR_MAX); -+ char * newlogbuff = realloc(logbuff, logbufflen); -+ if (newlogbuff == NULL) -+ { -+ debug(DEBUG_SYSERROR, "could not realloc %d bytes for logbuff in read_cache", logbufflen); -+ exit(1); -+ } -+ logbuff = newlogbuff; -+ } -+ strcat(logbuff, buff); - } - break; - case CACHE_NEED_PS_MEMBERS: -@@ -332,6 +352,7 @@ - out_close: - fclose(fp); - out: -+ free(logbuff); - return cache_date; - } - -diff -urN cvsps-2.1-orig/cvsps.c cvsps-2.1/cvsps.c ---- cvsps-2.1-orig/cvsps.c 2005-05-25 22:39:40.000000000 -0500 -+++ cvsps-2.1/cvsps.c 2005-07-26 15:22:02.558230700 -0500 -@@ -265,7 +265,8 @@ - PatchSetMember * psm = NULL; - char datebuff[20]; - char authbuff[AUTH_STR_MAX]; -- char logbuff[LOG_STR_MAX + 1]; -+ int logbufflen = LOG_STR_MAX + 1; -+ char * logbuff = malloc(logbufflen); - int loglen = 0; - int have_log = 0; - char cmd[BUFSIZ]; -@@ -273,6 +274,12 @@ - char use_rep_buff[PATH_MAX]; - char * ltype; - -+ if (logbuff == NULL) -+ { -+ debug(DEBUG_SYSERROR, "could not malloc %d bytes for logbuff in load_from_cvs", logbufflen); -+ exit(1); -+ } -+ - if (!no_rlog && !test_log_file && cvs_check_cap(CAP_HAVE_RLOG)) - { - ltype = "rlog"; -@@ -480,24 +487,22 @@ - */ - if (have_log || !is_revision_metadata(buff)) - { -- /* if the log buffer is full, that's it. -- * -- * Also, read lines (fgets) always have \n in them -- * which we count on. So if truncation happens, -- * be careful to put a \n on. -- * -- * Buffer has LOG_STR_MAX + 1 for room for \0 if -- * necessary -- */ -- if (loglen < LOG_STR_MAX) -+ /* If the log buffer is full, try to reallocate more. */ -+ if (loglen < logbufflen) - { - int len = strlen(buff); - -- if (len >= LOG_STR_MAX - loglen) -+ if (len >= logbufflen - loglen) - { -- debug(DEBUG_APPMSG1, "WARNING: maximum log length exceeded, truncating log"); -- len = LOG_STR_MAX - loglen; -- buff[len - 1] = '\n'; -+ debug(DEBUG_STATUS, "reallocating logbufflen to %d bytes for file %s", logbufflen, file->filename); -+ logbufflen += (len >= LOG_STR_MAX ? (len+1) : LOG_STR_MAX); -+ char * newlogbuff = realloc(logbuff, logbufflen); -+ if (newlogbuff == NULL) -+ { -+ debug(DEBUG_SYSERROR, "could not realloc %d bytes for logbuff in load_from_cvs", logbufflen); -+ exit(1); -+ } -+ logbuff = newlogbuff; - } - - debug(DEBUG_STATUS, "appending %s to log", buff); diff --git a/pkgs/applications/version-management/cvsps/03_diffoptstypo.dpatch b/pkgs/applications/version-management/cvsps/03_diffoptstypo.dpatch deleted file mode 100644 index eb3818ed97e9..000000000000 --- a/pkgs/applications/version-management/cvsps/03_diffoptstypo.dpatch +++ /dev/null @@ -1,19 +0,0 @@ -#! /bin/sh /usr/share/dpatch/dpatch-run -## 03_diffoptstypo.dpatch by -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: Diff opts typo fix - -@DPATCH@ - ---- cvsps-2.1-orig/cvsps.1 2005-05-26 05:39:40.000000000 +0200 -+++ cvsps-2.1/cvsps.1 2005-07-28 15:17:48.885112048 +0200 -@@ -83,7 +83,7 @@ - disable the use of rlog internally. Note: rlog is - required for stable PatchSet numbering. Use with care. - .TP --.B \-\-diffs\-opts