diff --git a/.dir-locals.el b/.dir-locals.el deleted file mode 100644 index a53c8aa6db54f6d2c9c86f13e1d74daaccf2ddbd..0000000000000000000000000000000000000000 --- a/.dir-locals.el +++ /dev/null @@ -1,8 +0,0 @@ -;;; Directory Local Variables -;;; For more information see (info "(emacs) Directory Variables") - -((nil - (bug-reference-bug-regexp . "\\(\\(?:[Ii]ssue \\|[Ff]ixe[ds] \\|[Rr]esolve[ds]? \\|[Cc]lose[ds]? \\|[Pp]\\(?:ull [Rr]equest\\|[Rr]\\) \\|(\\)#\\([0-9]+\\))?\\)") - (bug-reference-url-format . "https://github.com/NixOS/nixpkgs/issues/%s")) - (nix-mode - (tab-width . 2))) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 76fb19529b031166e9e60753388f89a5f4bf334a..ba6a3501e38f9b5cbb54ed4779ae32932d3f2ee1 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -12,7 +12,7 @@ # Libraries /lib @edolstra @nbp -/lib/systems @nbp @ericson2314 +/lib/systems @nbp @ericson2314 @matthewbauer /lib/generators.nix @edolstra @nbp @Profpatsch /lib/debug.nix @edolstra @nbp @Profpatsch @@ -20,9 +20,11 @@ /default.nix @nbp /pkgs/top-level/default.nix @nbp @Ericson2314 /pkgs/top-level/impure.nix @nbp @Ericson2314 -/pkgs/top-level/stage.nix @nbp @Ericson2314 -/pkgs/stdenv/generic @Ericson2314 -/pkgs/stdenv/cross @Ericson2314 +/pkgs/top-level/stage.nix @nbp @Ericson2314 @matthewbauer +/pkgs/top-level/splice.nix @Ericson2314 @matthewbauer +/pkgs/top-level/release-cross.nix @Ericson2314 @matthewbauer +/pkgs/stdenv/generic @Ericson2314 @matthewbauer +/pkgs/stdenv/cross @Ericson2314 @matthewbauer /pkgs/build-support/cc-wrapper @Ericson2314 @orivej /pkgs/build-support/bintools-wrapper @Ericson2314 @orivej /pkgs/build-support/setup-hooks @Ericson2314 @@ -45,27 +47,35 @@ /nixos/doc/manual/man-nixos-option.xml @nbp /nixos/modules/installer/tools/nixos-option.sh @nbp +# NixOS modules +/nixos/modules @Infinisil + # Python-related code and docs /maintainers/scripts/update-python-libraries @FRidh /pkgs/top-level/python-packages.nix @FRidh /pkgs/development/interpreters/python @FRidh /pkgs/development/python-modules @FRidh -/doc/languages-frameworks/python.md @FRidh +/doc/languages-frameworks/python.section.md @FRidh # Haskell -/pkgs/development/compilers/ghc @peti @ryantm @basvandijk -/pkgs/development/haskell-modules @peti @ryantm @basvandijk -/pkgs/development/haskell-modules/default.nix @peti @ryantm @basvandijk -/pkgs/development/haskell-modules/generic-builder.nix @peti @ryantm @basvandijk -/pkgs/development/haskell-modules/hoogle.nix @peti @ryantm @basvandijk +/pkgs/development/compilers/ghc @basvandijk +/pkgs/development/haskell-modules @basvandijk +/pkgs/development/haskell-modules/default.nix @basvandijk +/pkgs/development/haskell-modules/generic-builder.nix @basvandijk +/pkgs/development/haskell-modules/hoogle.nix @basvandijk + +# Perl +/pkgs/development/interpreters/perl @volth +/pkgs/top-level/perl-packages.nix @volth +/pkgs/development/perl-modules @volth # R /pkgs/applications/science/math/R @peti /pkgs/development/r-modules @peti # Ruby -/pkgs/development/interpreters/ruby @zimbatm -/pkgs/development/ruby-modules @zimbatm +/pkgs/development/interpreters/ruby @alyssais @zimbatm +/pkgs/development/ruby-modules @alyssais @zimbatm # Rust /pkgs/development/compilers/rust @Mic92 @LnL7 @@ -74,6 +84,14 @@ /pkgs/stdenv/darwin @NixOS/darwin-maintainers /pkgs/os-specific/darwin @NixOS/darwin-maintainers +# C compilers +/pkgs/development/compilers/gcc @matthewbauer +/pkgs/development/compilers/llvm @matthewbauer + +# Compatibility stuff +/pkgs/top-level/unix-tools.nix @matthewbauer +/pkgs/development/tools/xcbuild @matthewbauer + # Beam-related (Erlang, Elixir, LFE, etc) /pkgs/development/beam-modules @gleber /pkgs/development/interpreters/erlang @gleber @@ -97,3 +115,27 @@ /pkgs/desktops/plasma-5 @ttuegel /pkgs/development/libraries/kde-frameworks @ttuegel /pkgs/development/libraries/qt-5 @ttuegel + +# PostgreSQL and related stuff +/pkgs/servers/sql/postgresql @thoughtpolice +/nixos/modules/services/databases/postgresql.xml @thoughtpolice +/nixos/modules/services/databases/postgresql.nix @thoughtpolice +/nixos/tests/postgresql.nix @thoughtpolice + +# Hardened profile & related modules +/nixos/modules/profiles/hardened.nix @joachifm +/nixos/modules/security/hidepid.nix @joachifm +/nixos/modules/security/lock-kernel-modules.nix @joachifm +/nixos/modules/security/misc.nix @joachifm +/nixos/tests/hardened.nix @joachifm +/pkgs/os-specific/linux/kernel/hardened-config.nix @joachifm + +# Dhall +/pkgs/development/dhall-modules @Gabriel439 @Profpatsch +/pkgs/development/interpreters/dhall @Gabriel439 @Profpatsch + +# Idris +/pkgs/development/idris-modules @Infinisil + +# Bazel +/pkgs/development/tools/build-managers/bazel @mboes @Profpatsch diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 981036bf4a027b657c98485399fa001aca58189a..07eddc80c2531e2ef7e3982395113054d4392190 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -20,6 +20,8 @@ under the terms of [COPYING](../COPYING), which is an MIT-like license. (Motivation for change. Additional information.) ``` + For consistency, there should not be a period at the end of the commit message's summary line (the first line of the commit message). + Examples: * nginx: init at 2.0.1 @@ -43,7 +45,7 @@ See the nixpkgs manual for more details on [standard meta-attributes](https://ni ## Writing good commit messages -In addition to writing properly formatted commit messages, it's important to include relevant information so other developers can later understand *why* a change was made. While this information usually can be found by digging code, mailing list archives, pull request discussions or upstream changes, it may require a lot of work. +In addition to writing properly formatted commit messages, it's important to include relevant information so other developers can later understand *why* a change was made. While this information usually can be found by digging code, mailing list/Discourse archives, pull request discussions or upstream changes, it may require a lot of work. For package version upgrades and such a one-line commit message is usually sufficient. diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index ab1a50865f093b5e5607e1b6befaeb077417658a..834a2e81c13227c501c0814b489aa3ea044199d3 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,3 +1,4 @@ + ###### Motivation for this change @@ -11,10 +12,10 @@ - [ ] macOS - [ ] other Linux distributions - [ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside [nixos/tests](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests)) -- [ ] Tested compilation of all pkgs that depend on this change using `nix-shell -p nox --run "nox-review wip"` +- [ ] Tested compilation of all pkgs that depend on this change using `nix-shell -p nix-review --run "nix-review wip"` - [ ] Tested execution of all binary files (usually in `./result/bin/`) - [ ] Determined the impact on package closure size (by running `nix path-info -S` before and after) +- [ ] Assured whether relevant documentation is up to date - [ ] Fits [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/.github/CONTRIBUTING.md). --- - diff --git a/.gitignore b/.gitignore index dba957f766205f8a5729650e55d794712e4a6049..b3ae9e6ea863d213c35110b264068cf9dc8eadb0 100644 --- a/.gitignore +++ b/.gitignore @@ -13,4 +13,5 @@ result-* .DS_Store /pkgs/development/libraries/qt-5/*/tmp/ -/pkgs/desktops/kde-5/*/tmp/ \ No newline at end of file +/pkgs/desktops/kde-5/*/tmp/ +/pkgs/development/mobile/androidenv/xml/* diff --git a/.version b/.version index 770bde1f44b3d407b56396ef4614d70990bd08a1..ba19dc3bb41eab373afe125b2874aafd25e5027e 100644 --- a/.version +++ b/.version @@ -1 +1 @@ -18.09 +19.09 \ No newline at end of file diff --git a/COPYING b/COPYING index 198597a1b410bb3fc3c4c5a3f6c7a488af220891..9a73903d6df1c13050792807b6976a79d18488f5 100644 --- a/COPYING +++ b/COPYING @@ -1,4 +1,4 @@ -Copyright (c) 2003-2018 Eelco Dolstra and the Nixpkgs/NixOS contributors +Copyright (c) 2003-2019 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 @@ -18,12 +18,3 @@ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -====================================================================== - -Note: the license above does not apply to the packages built by the -Nix Packages collection, merely to the package descriptions (i.e., Nix -expressions, build scripts, etc.). It also might not apply to patches -included in Nixpkgs, which may be derivative works of the packages to -which they apply. The aforementioned artifacts are all covered by the -licenses of the respective packages. diff --git a/README.md b/README.md index 86bc8534b3c479f6e27949d1a28a562c5d364c89..8cdbb73595bf8cb4a3b612dd76f275dc3a821998 100644 --- a/README.md +++ b/README.md @@ -12,15 +12,15 @@ 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-18.03` for the latest +custom changes on top of one of the channels, e.g. `nixos-19.03` for the latest release and `nixos-unstable` for the latest successful build of master: ``` % git remote update channels -% git rebase channels/nixos-18.03 +% git rebase channels/nixos-19.03 ``` -For pull-requests, please rebase onto nixpkgs `master`. +For pull requests, please rebase onto nixpkgs `master`. [NixOS](https://nixos.org/nixos/) Linux distribution source code is located inside `nixos/` folder. @@ -31,12 +31,17 @@ For pull-requests, please rebase onto nixpkgs `master`. * [Manual (NixOS)](https://nixos.org/nixos/manual/) * [Community maintained wiki](https://nixos.wiki/) * [Continuous package builds for unstable/master](https://hydra.nixos.org/jobset/nixos/trunk-combined) -* [Continuous package builds for 18.03 release](https://hydra.nixos.org/jobset/nixos/release-18.03) +* [Continuous package builds for 19.03 release](https://hydra.nixos.org/jobset/nixos/release-19.03) * [Tests for unstable/master](https://hydra.nixos.org/job/nixos/trunk-combined/tested#tabs-constituents) -* [Tests for 18.03 release](https://hydra.nixos.org/job/nixos/release-18.03/tested#tabs-constituents) +* [Tests for 19.03 release](https://hydra.nixos.org/job/nixos/release-19.03/tested#tabs-constituents) Communication: * [Discourse Forum](https://discourse.nixos.org/) -* [Mailing list](https://groups.google.com/forum/#!forum/nix-devel) * [IRC - #nixos on freenode.net](irc://irc.freenode.net/#nixos) + +Note: MIT license does not apply to the packages built by Nixpkgs, merely to +the package descriptions (Nix expressions, build scripts, and so on). It also +might not apply to patches included in Nixpkgs, which may be derivative works +of the packages to which they apply. The aforementioned artifacts are all +covered by the licenses of the respective packages. diff --git a/default.nix b/default.nix index 180815d4d6de90e35d846f35e05396f0c6f97bb8..a74a01719c737ca50e6f226e01eec12f0eaa6ebf 100644 --- a/default.nix +++ b/default.nix @@ -15,6 +15,12 @@ if ! builtins ? nixVersion || builtins.compareVersions requiredVersion builtins. it is safe to upgrade by running it again: curl https://nixos.org/nix/install | sh + + For more information, please see the NixOS release notes at + https://nixos.org/nixos/manual or locally at + ${toString ./nixos/doc/manual/release-notes}. + + If you need further help, see https://nixos.org/nixos/support.html '' else diff --git a/doc/.gitignore b/doc/.gitignore index d0ba103fa9f1f47f51071c138404c71b43690db2..b5c58be03d150485cea560432ab36171e79ceab3 100644 --- a/doc/.gitignore +++ b/doc/.gitignore @@ -1,6 +1,8 @@ *.chapter.xml *.section.xml .version -out -manual-full.xml +functions/library/generated +functions/library/locations.xml highlightjs +manual-full.xml +out diff --git a/doc/Makefile b/doc/Makefile index ba77be6678c41c2ea9dc2ce05051ae9cf1b96947..5badfe4138d43f41f111c709b2921603da6ab0fc 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -9,8 +9,10 @@ debug: .PHONY: format format: - find . -iname '*.xml' -type f -print0 | xargs -0 -I{} -n1 \ - xmlformat --config-file "$$XMLFORMAT_CONFIG" -i {} + find . -iname '*.xml' -type f | while read f; do \ + echo $$f ;\ + xmlformat --config-file "$$XMLFORMAT_CONFIG" -i $$f ;\ + done .PHONY: fix-misc-xml fix-misc-xml: @@ -19,7 +21,7 @@ fix-misc-xml: .PHONY: clean clean: - rm -f ${MD_TARGETS} .version manual-full.xml + rm -f ${MD_TARGETS} .version manual-full.xml functions/library/locations.xml functions/library/generated rm -rf ./out/ ./highlightjs .PHONY: validate @@ -69,13 +71,22 @@ highlightjs: cp -r "$$HIGHLIGHTJS/loader.js" highlightjs/ -manual-full.xml: ${MD_TARGETS} .version *.xml +manual-full.xml: ${MD_TARGETS} .version functions/library/locations.xml functions/library/generated *.xml **/*.xml **/**/*.xml xmllint --nonet --xinclude --noxincludenode manual.xml --output manual-full.xml .version: nix-instantiate --eval \ -E '(import ../lib).version' > .version +functions/library/locations.xml: + nix-build ./lib-function-locations.nix \ + --out-link $@ + +functions/library/generated: functions/library/locations.xml + nix-build ./lib-function-docs.nix \ + --arg locationsXml $< \ + --out-link $@ + %.section.xml: %.section.md pandoc $^ -w docbook+smart \ -f markdown+smart \ diff --git a/doc/coding-conventions.xml b/doc/coding-conventions.xml index b3f7f093835cd4e3fbe54565fe2854a763ac8cb7..58ce9c7e627c15f5d8202069b7d12a68b62f725e 100644 --- a/doc/coding-conventions.xml +++ b/doc/coding-conventions.xml @@ -56,25 +56,30 @@ foo { arg = ...; } or list elements should be aligned: # A long list. -list = - [ elem1 - elem2 - elem3 - ]; +list = [ + elem1 + elem2 + elem3 +]; # A long attribute set. -attrs = - { attr1 = short_expr; - attr2 = - if true then big_expr else big_expr; - }; - -# Alternatively: attrs = { attr1 = short_expr; attr2 = if true then big_expr else big_expr; }; + +# Combined +listOfAttrs = [ + { + attr1 = 3; + attr2 = "fff"; + } + { + attr1 = 5; + attr2 = "ggg"; + } +]; @@ -191,6 +196,17 @@ args.stdenv.mkDerivation (args // {
Package naming + + The key words must, must not, + required, shall, shall + not, should, should + not, recommended, may, + and optional in this section are to be interpreted as + described in RFC + 2119. Only emphasized words are to be + interpreted in this way. + + In Nixpkgs, there are generally three different names associated with a package: @@ -231,14 +247,15 @@ args.stdenv.mkDerivation (args // { - Generally, try to stick to the upstream package name. + The name attribute should be + identical to the upstream package name. - Don’t use uppercase letters in the name attribute - — e.g., "mplayer-1.0rc2" instead of - "MPlayer-1.0rc2". + The name attribute must not + contain uppercase letters — e.g., "mplayer-1.0rc2" + instead of "MPlayer-1.0rc2". @@ -252,28 +269,29 @@ args.stdenv.mkDerivation (args // { If a package is not a release but a commit from a repository, then the version part of the name must be the date of that - (fetched) commit. The date must be in "YYYY-MM-DD" - format. Also append "unstable" to the name - e.g., + (fetched) commit. The date must be in + "YYYY-MM-DD" format. Also append + "unstable" to the name - e.g., "pkgname-unstable-2014-09-23". - Dashes in the package name should be preserved in new variable names, - rather than converted to underscores or camel cased — e.g., - http-parser instead of http_parser - or httpParser. The hyphenated style is preferred in - all three package names. + Dashes in the package name should be preserved in + new variable names, rather than converted to underscores or camel cased + — e.g., http-parser instead of + http_parser or httpParser. The + hyphenated style is preferred in all three package names. - If there are multiple versions of a package, this should be reflected in - the variable names in all-packages.nix, e.g. - json-c-0-9 and json-c-0-11. If - there is an obvious “default” version, make an attribute like - json-c = json-c-0-9;. See also - + If there are multiple versions of a package, this + should be reflected in the variable names in + all-packages.nix, e.g. json-c-0-9 + and json-c-0-11. If there is an obvious “default” + version, make an attribute like json-c = json-c-0-9;. + See also @@ -791,8 +809,8 @@ args.stdenv.mkDerivation (args // { There are multiple ways to fetch a package source in nixpkgs. The general - guideline is that you should package sources with a high degree of - availability. Right now there is only one fetcher which has mirroring + guideline is that you should package reproducible sources with a high degree + of availability. Right now there is only one fetcher which has mirroring support and that is fetchurl. Note that you should also prefer protocols which have a corresponding proxy environment variable. @@ -842,14 +860,143 @@ src = fetchFromGitHub { owner = "NixOS"; repo = "nix"; rev = "1f795f9f44607cc5bec70d1300150bfefcef2aae"; - sha256 = "04yri911rj9j19qqqn6m82266fl05pz98inasni0vxr1cf1gdgv9"; + sha256 = "1i2yxndxb6yc9l6c99pypbd92lfq5aac4klq7y2v93c9qvx2cgpc"; } + Find the value to put as sha256 by running + nix run -f '<nixpkgs>' nix-prefetch-github -c + nix-prefetch-github --rev 1f795f9f44607cc5bec70d1300150bfefcef2aae NixOS + nix or nix-prefetch-url --unpack + https://github.com/NixOS/nix/archive/1f795f9f44607cc5bec70d1300150bfefcef2aae.tar.gz.
+
+ Obtaining source hash + + + Preferred source hash type is sha256. There are several ways to get it. + + + + + + Prefetch URL (with nix-prefetch-XXX + URL, where + XXX is one of url, + git, hg, cvs, + bzr, svn). Hash is printed to + stdout. + + + + + Prefetch by package source (with nix-prefetch-url + '<nixpkgs>' -A PACKAGE.src, + where PACKAGE is package attribute name). Hash + is printed to stdout. + + + This works well when you've upgraded existing package version and want to + find out new hash, but is useless if package can't be accessed by + attribute or package has multiple sources (.srcs, + architecture-dependent sources, etc). + + + + + Upstream provided hash: use it when upstream provides + sha256 or sha512 (when upstream + provides md5, don't use it, compute + sha256 instead). + + + A little nuance is that nix-prefetch-* tools produce + hash encoded with base32, but upstream usually provides + hexadecimal (base16) encoding. Fetchers understand both + formats. Nixpkgs does not standardize on any one format. + + + You can convert between formats with nix-hash, for example: + +$ nix-hash --type sha256 --to-base32 HASH + + + + + + Extracting hash from local source tarball can be done with + sha256sum. Use nix-prefetch-url + file:///path/to/tarball if you want base32 hash. + + + + + Fake hash: set fake hash in package expression, perform build and extract + correct hash from error Nix prints. + + + For package updates it is enough to change one symbol to make hash fake. + For new packages, you can use lib.fakeSha256, + lib.fakeSha512 or any other fake hash. + + + This is last resort method when reconstructing source URL is non-trivial + and nix-prefetch-url -A isn't applicable (for example, + + one of kodi dependencies). The easiest way then + would be replace hash with a fake one and rebuild. Nix build will fail and + error message will contain desired hash. + + + + This method has security problems. Check below for details. + + + + + +
+ Obtaining hashes securely + + + Let's say Man-in-the-Middle (MITM) sits close to your network. Then instead + of fetching source you can fetch malware, and instead of source hash you + get hash of malware. Here are security considerations for this scenario: + + + + + + http:// URLs are not secure to prefetch hash from; + + + + + hashes from upstream (in method 3) should be obtained via secure + protocol; + + + + + https:// URLs are secure in methods 1, 2, 3; + + + + + https:// URLs are not secure in method 5. When + obtaining hashes with fake hash method, TLS checks are disabled. So + refetch source hash from several different networks to exclude MITM + scenario. Alternatively, use fake hash method to make Nix error, but + instead of extracting hash from error, extract + https:// URL and prefetch it with method 1. + + + +
+
Patches diff --git a/doc/configuration.xml b/doc/configuration.xml index c91f38f309300b2c4d0b7686d46c3cd4961ac31c..b497fa4e2722cafe5cd36f875dc69bdfd67fac72 100644 --- a/doc/configuration.xml +++ b/doc/configuration.xml @@ -132,13 +132,13 @@ - The difference between an a package being unsupported on some system and - being broken is admittedly a bit fuzzy. If a program - ought to work on a certain platform, but doesn't, the - platform should be included in meta.platforms, but marked - as broken with e.g. meta.broken = - !hostPlatform.isWindows. Of course, this begs the question of what - "ought" means exactly. That is left to the package maintainer. + The difference between a package being unsupported on some system and being + broken is admittedly a bit fuzzy. If a program ought to + work on a certain platform, but doesn't, the platform should be included in + meta.platforms, but marked as broken with e.g. + meta.broken = !hostPlatform.isWindows. Of course, this + begs the question of what "ought" means exactly. That is left to the package + maintainer.
@@ -175,11 +175,15 @@ - A more useful example, the following configuration allows only allows - flash player and visual studio code: + For a more useful example, try the following. This configuration only + allows unfree packages named flash player and visual studio code: { - allowUnfreePredicate = (pkg: elem (builtins.parseDrvName pkg.name).name [ "flashplayer" "vscode" ]); + allowUnfreePredicate = (pkg: builtins.elem + (builtins.parseDrvName pkg.name).name [ + "flashplayer" + "vscode" + ]); } @@ -286,8 +290,8 @@ You can define a function called packageOverrides in your - local ~/.config/nixpkgs/config.nix to override nix - packages. It must be a function that takes pkgs as an argument and return + local ~/.config/nixpkgs/config.nix to override Nix + packages. It must be a function that takes pkgs as an argument and returns a modified set of packages. { @@ -321,11 +325,22 @@ packageOverrides = pkgs: with pkgs; { myPackages = pkgs.buildEnv { name = "my-packages"; - paths = [ aspell bc coreutils gdb ffmpeg nixUnstable emscripten jq nox silver-searcher ]; + paths = [ + aspell + bc + coreutils + gdb + ffmpeg + nixUnstable + emscripten + jq + nox + silver-searcher + ]; }; }; } - + To install it into our environment, you can just run nix-env -iA @@ -342,12 +357,23 @@ packageOverrides = pkgs: with pkgs; { myPackages = pkgs.buildEnv { name = "my-packages"; - paths = [ aspell bc coreutils gdb ffmpeg nixUnstable emscripten jq nox silver-searcher ]; + paths = [ + aspell + bc + coreutils + gdb + ffmpeg + nixUnstable + emscripten + jq + nox + silver-searcher + ]; pathsToLink = [ "/share" "/bin" ]; }; }; } - + pathsToLink tells Nixpkgs to only link the paths listed @@ -377,13 +403,23 @@ packageOverrides = pkgs: with pkgs; { myPackages = pkgs.buildEnv { name = "my-packages"; - paths = [ aspell bc coreutils ffmpeg nixUnstable emscripten jq nox silver-searcher ]; + paths = [ + aspell + bc + coreutils + ffmpeg + nixUnstable + emscripten + jq + nox + silver-searcher + ]; pathsToLink = [ "/share/man" "/share/doc" "/bin" ]; extraOutputsToInstall = [ "man" "doc" ]; }; }; } - + This provides us with some useful documentation for using our packages. @@ -395,15 +431,15 @@ { packageOverrides = pkgs: with pkgs; rec { myProfile = writeText "my-profile" '' -export PATH=$HOME/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/sbin:/bin:/usr/sbin:/usr/bin -export MANPATH=$HOME/.nix-profile/share/man:/nix/var/nix/profiles/default/share/man:/usr/share/man + export PATH=$HOME/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/sbin:/bin:/usr/sbin:/usr/bin + export MANPATH=$HOME/.nix-profile/share/man:/nix/var/nix/profiles/default/share/man:/usr/share/man ''; myPackages = pkgs.buildEnv { name = "my-packages"; paths = [ (runCommand "profile" {} '' -mkdir -p $out/etc/profile.d -cp ${myProfile} $out/etc/profile.d/my-profile.sh + mkdir -p $out/etc/profile.d + cp ${myProfile} $out/etc/profile.d/my-profile.sh '') aspell bc @@ -421,7 +457,7 @@ cp ${myProfile} $out/etc/profile.d/my-profile.sh }; }; } - + For this to work fully, you must also have this script sourced when you are @@ -438,7 +474,7 @@ if [ -d $HOME/.nix-profile/etc/profile.d ]; then fi done fi - + Now just run source $HOME/.profile and you can starting @@ -459,16 +495,16 @@ fi { packageOverrides = pkgs: with pkgs; rec { myProfile = writeText "my-profile" '' -export PATH=$HOME/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/sbin:/bin:/usr/sbin:/usr/bin -export MANPATH=$HOME/.nix-profile/share/man:/nix/var/nix/profiles/default/share/man:/usr/share/man -export INFOPATH=$HOME/.nix-profile/share/info:/nix/var/nix/profiles/default/share/info:/usr/share/info + export PATH=$HOME/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/sbin:/bin:/usr/sbin:/usr/bin + export MANPATH=$HOME/.nix-profile/share/man:/nix/var/nix/profiles/default/share/man:/usr/share/man + export INFOPATH=$HOME/.nix-profile/share/info:/nix/var/nix/profiles/default/share/info:/usr/share/info ''; myPackages = pkgs.buildEnv { name = "my-packages"; paths = [ (runCommand "profile" {} '' -mkdir -p $out/etc/profile.d -cp ${myProfile} $out/etc/profile.d/my-profile.sh + mkdir -p $out/etc/profile.d + cp ${myProfile} $out/etc/profile.d/my-profile.sh '') aspell bc @@ -485,17 +521,17 @@ cp ${myProfile} $out/etc/profile.d/my-profile.sh pathsToLink = [ "/share/man" "/share/doc" "/share/info" "/bin" "/etc" ]; extraOutputsToInstall = [ "man" "doc" "info" ]; postBuild = '' - if [ -x $out/bin/install-info -a -w $out/share/info ]; then - shopt -s nullglob - for i in $out/share/info/*.info $out/share/info/*.info.gz; do - $out/bin/install-info $i $out/share/info/dir - done - fi + if [ -x $out/bin/install-info -a -w $out/share/info ]; then + shopt -s nullglob + for i in $out/share/info/*.info $out/share/info/*.info.gz; do + $out/bin/install-info $i $out/share/info/dir + done + fi ''; }; }; } - + postBuild tells Nixpkgs to run a command after building diff --git a/doc/cross-compilation.xml b/doc/cross-compilation.xml index a7b43aeec23f9fd763d64d1cc9e876db9bca2652..b7844da195d7f58f18f25ed5ce3aa72cc99bf366 100644 --- a/doc/cross-compilation.xml +++ b/doc/cross-compilation.xml @@ -7,15 +7,16 @@ "Cross-compilation" means compiling a program on one machine for another - type of machine. For example, a typical use of cross compilation is to + type of machine. For example, a typical use of cross-compilation is to compile programs for embedded devices. These devices often don't have the computing power and memory to compile their own programs. One might think - that cross-compilation is a fairly niche concern, but there are advantages - to being rigorous about distinguishing build-time vs run-time environments - even when one is developing and deploying on the same machine. Nixpkgs is - increasingly adopting the opinion that packages should be written with - cross-compilation in mind, and nixpkgs should evaluate in a similar way (by - minimizing cross-compilation-specific special cases) whether or not one is + that cross-compilation is a fairly niche concern. However, there are + significant advantages to rigorously distinguishing between build-time and + run-time environments! Significant, because the benefits apply even when one + is developing and deploying on the same machine. Nixpkgs is increasingly + adopting the opinion that packages should be written with cross-compilation + in mind, and nixpkgs should evaluate in a similar way (by minimizing + cross-compilation-specific special cases) whether or not one is cross-compiling. @@ -30,30 +31,28 @@
Packaging in a cross-friendly manner -
+
Platform parameters Nixpkgs follows the - common - historical convention of GNU autoconf of distinguishing between 3 - types of platform: build, + conventions + of GNU autoconf. We distinguish between 3 types of platforms when + building a derivation: build, host, and target. In summary, build is the platform on which a package is being built, host is the platform on which it - is to run. The third attribute, target, is - relevant only for certain specific compilers and build tools. + will run. The third attribute, target, is relevant + only for certain specific compilers and build tools. In Nixpkgs, these three platforms are defined as attribute sets under the names buildPlatform, hostPlatform, - and targetPlatform. All three are always defined as - attributes in the standard environment, and at the top level. That means - one can get at them just like a dependency in a function that is imported - with callPackage: -{ stdenv, buildPlatform, hostPlatform, fooDep, barDep, .. }: ...buildPlatform... - , or just off stdenv: + and targetPlatform. They are always defined as + attributes in the standard environment. That means one can access them + like: { stdenv, fooDep, barDep, .. }: ...stdenv.buildPlatform... . @@ -67,7 +66,7 @@ The "build platform" is the platform on which a package is built. Once someone has a built package, or pre-built binary package, the build - platform should not matter and be safe to ignore. + platform should not matter and can be ignored. @@ -97,11 +96,11 @@ The build process of certain compilers is written in such a way that the compiler resulting from a single build can itself only produce binaries - for a single platform. The task specifying this single "target platform" - is thus pushed to build time of the compiler. The root cause of this - mistake is often that the compiler (which will be run on the host) and - the the standard library/runtime (which will be run on the target) are - built by a single build process. + for a single platform. The task of specifying this single "target + platform" is thus pushed to build time of the compiler. The root cause + of this is that the compiler (which will be run on the host) and the + standard library/runtime (which will be run on the target) are built by + a single build process. There is no fundamental need to think about a single target ahead of @@ -138,8 +137,10 @@ This is a two-component shorthand for the platform. Examples of this would be "x86_64-darwin" and "i686-linux"; see - lib.systems.doubles for more. This format isn't very - standard, but has built-in support in Nix, such as the + lib.systems.doubles for more. The first component + corresponds to the CPU architecture of the platform and the second to + the operating system of the platform ([cpu]-[os]). + This format has built-in support in Nix, such as the builtins.currentSystem impure string. @@ -151,12 +152,13 @@ This is a 3- or 4- component shorthand for the platform. Examples of - this would be "x86_64-unknown-linux-gnu" and "aarch64-apple-darwin14". - This is a standard format called the "LLVM target triple", as they are - pioneered by LLVM and traditionally just used for the - targetPlatform. This format is strictly more - informative than the "Nix host double", as the previous format could - analogously be termed. This needs a better name than + this would be x86_64-unknown-linux-gnu and + aarch64-apple-darwin14. This is a standard format + called the "LLVM target triple", as they are pioneered by LLVM. In the + 4-part form, this corresponds to + [cpu]-[vendor]-[os]-[abi]. This format is strictly + more informative than the "Nix host double", as the previous format + could analogously be termed. This needs a better name than config! @@ -167,11 +169,9 @@ - This is a nix representation of a parsed LLVM target triple with + This is a Nix representation of a parsed LLVM target triple with white-listed components. This can be specified directly, or actually - parsed from the config. [Technically, only one need - be specified and the others can be inferred, though the precision of - inference may not be very good.] See + parsed from the config. See lib.systems.parse for the exact representation. @@ -196,7 +196,7 @@ These predicates are defined in lib.systems.inspect, - and slapped on every platform. They are superior to the ones in + and slapped onto every platform. They are superior to the ones in stdenv as they force the user to be explicit about which platform they are inspecting. Please use these instead of those. @@ -219,105 +219,132 @@
-
- Specifying Dependencies +
+ Theory of dependency categorization + + + + This is a rather philosophical description that isn't very + Nixpkgs-specific. For an overview of all the relevant attributes given to + mkDerivation, see + . For a description of how + everything is implemented, see + . + + In this section we explore the relationship between both runtime and - buildtime dependencies and the 3 Autoconf platforms. + build-time dependencies and the 3 Autoconf platforms. - A runtime dependency between 2 packages implies that between them both the - host and target platforms match. This is directly implied by the meaning of - "host platform" and "runtime dependency": The package dependency exists - while both packages are running on a single host platform. + A run time dependency between two packages requires that their host + platforms match. This is directly implied by the meaning of "host platform" + and "runtime dependency": The package dependency exists while both packages + are running on a single host platform. - A build time dependency, however, implies a shift in platforms between the - depending package and the depended-on package. The meaning of a build time - dependency is that to build the depending package we need to be able to run - the depended-on's package. The depending package's build platform is - therefore equal to the depended-on package's host platform. Analogously, - the depending package's host platform is equal to the depended-on package's - target platform. + A build time dependency, however, has a shift in platforms between the + depending package and the depended-on package. "build time dependency" + means that to build the depending package we need to be able to run the + depended-on's package. The depending package's build platform is therefore + equal to the depended-on package's host platform. - In this manner, given the 3 platforms for one package, we can determine the - three platforms for all its transitive dependencies. This is the most - important guiding principle behind cross-compilation with Nixpkgs, and will - be called the sliding window principle. + If both the dependency and depending packages aren't compilers or other + machine-code-producing tools, we're done. And indeed + buildInputs and nativeBuildInputs + have covered these simpler build-time and run-time (respectively) changes + for many years. But if the dependency does produce machine code, we might + need to worry about its target platform too. In principle, that target + platform might be any of the depending package's build, host, or target + platforms, but we prohibit dependencies from a "later" platform to an + earlier platform to limit confusion because we've never seen a legitimate + use for them. - Some examples will probably make this clearer. If a package is being built - with a (build, host, target) platform triple of - (foo, bar, bar), then its build-time dependencies would - have a triple of (foo, foo, bar), and those - packages' build-time dependencies would have triple of - (foo, foo, foo). In other words, it should take two - "rounds" of following build-time dependency edges before one reaches a - fixed point where, by the sliding window principle, the platform triple no - longer changes. Indeed, this happens with cross compilation, where only - rounds of native dependencies starting with the second necessarily coincide - with native packages. + Finally, if the depending package is a compiler or other + machine-code-producing tool, it might need dependencies that run at "emit + time". This is for compilers that (regrettably) insist on being built + together with their source langauges' standard libraries. Assuming build != + host != target, a run-time dependency of the standard library cannot be run + at the compiler's build time or run time, but only at the run time of code + emitted by the compiler. - - - The depending package's target platform is unconstrained by the sliding - window principle, which makes sense in that one can in principle build - cross compilers targeting arbitrary platforms. - - - - How does this work in practice? Nixpkgs is now structured so that - build-time dependencies are taken from buildPackages, - whereas run-time dependencies are taken from the top level attribute set. - For example, buildPackages.gcc should be used at build - time, while gcc should be used at run time. Now, for - most of Nixpkgs's history, there was no buildPackages, - and most packages have not been refactored to use it explicitly. Instead, - one can use the six (gasp) attributes used for - specifying dependencies as documented in - . We "splice" together the - run-time and build-time package sets with callPackage, - and then mkDerivation for each of four attributes pulls - the right derivation out. This splicing can be skipped when not cross - compiling as the package sets are the same, but is a bit slow for cross - compiling. Because of this, a best-of-both-worlds solution is in the works - with no splicing or explicit access of buildPackages - needed. For now, feel free to use either method. + Putting this all together, that means we have dependencies in the form + "host → target", in at most the following six combinations: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Possible dependency types
Dependency's host platformDependency's target platform
buildbuild
buildhost
buildtarget
hosthost
hosttarget
targettarget
- - - There is also a "backlink" targetPackages, yielding a - package set whose buildPackages is the current package - set. This is a hack, though, to accommodate compilers with lousy build - systems. Please do not use this unless you are absolutely sure you are - packaging such a compiler and there is no other way. - - + + Some examples will make this table clearer. Suppose there's some package + that is being built with a (build, host, target) + platform triple of (foo, bar, baz). If it has a + build-time library dependency, that would be a "host → build" dependency + with a triple of (foo, foo, *) (the target platform is + irrelevant). If it needs a compiler to be built, that would be a "build → + host" dependency with a triple of (foo, foo, *) (the + target platform is irrelevant). That compiler, would be built with another + compiler, also "build → host" dependency, with a triple of (foo, + foo, foo). +
-
+
Cross packaging cookbook - Some frequently problems when packaging for cross compilation are good to - just spell and answer. Ideally the information above is exhaustive, so this - section cannot provide any new information, but its ludicrous and cruel to - expect everyone to spend effort working through the interaction of many - features just to figure out the same answer to the same common problem. - Feel free to add to this list! + Some frequently encountered problems when packaging for cross-compilation + should be answered here. Ideally, the information above is exhaustive, so + this section cannot provide any new information, but it is ludicrous and + cruel to expect everyone to spend effort working through the interaction of + many features just to figure out the same answer to the same common + problem. Feel free to add to this list! - + What if my package's build system needs to build a C program to be run @@ -331,7 +358,7 @@ - + My package fails to find ar. @@ -347,7 +374,7 @@ - + My package's testsuite needs to run host platform code. @@ -367,17 +394,9 @@
Cross-building packages - - - More information needs to moved from the old wiki, especially - , for this - section. - - - Nixpkgs can be instantiated with localSystem alone, in - which case there is no cross compiling and everything is built by and for + which case there is no cross-compiling and everything is built by and for that system, or also with crossSystem, in which case packages run on the latter, but all building happens on the former. Both parameters take the same schema as the 3 (build, host, and target) platforms @@ -394,7 +413,7 @@ nix-build <nixpkgs> --arg crossSystem '(import <nixpkgs/lib>).system Eventually we would like to make these platform examples an unnecessary convenience so that -nix-build <nixpkgs> --arg crossSystem.config '<arch>-<os>-<vendor>-<abi>' -A whatever +nix-build <nixpkgs> --arg crossSystem '{ config = "<arch>-<os>-<vendor>-<abi>"; }' -A whatever works in the vast majority of cases. The problem today is dependencies on other sorts of configuration which aren't given proper defaults. We rely on the examples to crudely to set those configuration parameters in some @@ -448,7 +467,7 @@ nix-build <nixpkgs> --arg crossSystem.config '<arch>-<os>-< dependencies or buildPackages, the three platforms will be defined as one of localSystem or crossSystem, with the former replacing the latter as one - traverses build-time dependencies. A last simple difference then is + traverses build-time dependencies. A last simple difference is that crossSystem should be null when one doesn't want to cross-compile, while the *Platforms are always non-null. localSystem is always non-null. @@ -458,21 +477,202 @@ nix-build <nixpkgs> --arg crossSystem.config '<arch>-<os>-<
Cross-compilation infrastructure - - To be written. - +
+ Implementation of dependencies - - If one explores nixpkgs, they will see derivations with names like - gccCross. Such *Cross derivations is - a holdover from before we properly distinguished between the host and - target platforms —the derivation with "Cross" in the name covered the - build = host != target case, while the other covered the - host = target, with build platform the same or not based - on whether one was using its .nativeDrv or - .crossDrv. This ugliness will disappear soon. + The categorizes of dependencies developed in + are specified as + lists of derivations given to mkDerivation, as + documented in . In short, + each list of dependencies for "host → target" of "foo → bar" is called + depsFooBar, with exceptions for backwards + compatibility that depsBuildHost is instead called + nativeBuildInputs and depsHostTarget + is instead called buildInputs. Nixpkgs is now structured + so that each depsFooBar is automatically taken from + pkgsFooBar. (These pkgsFooBars are + quite new, so there is no special case for + nativeBuildInputs and buildInputs.) + For example, pkgsBuildHost.gcc should be used at + build-time, while pkgsHostTarget.gcc should be used at + run-time. - + + + Now, for most of Nixpkgs's history, there were no + pkgsFooBar attributes, and most packages have not been + refactored to use it explicitly. Prior to those, there were just + buildPackages, pkgs, and + targetPackages. Those are now redefined as aliases to + pkgsBuildHost, pkgsHostTarget, and + pkgsTargetTarget. It is acceptable, even + recommended, to use them for libraries to show that the host platform is + irrelevant. + + + + But before that, there was just pkgs, even though both + buildInputs and nativeBuildInputs + existed. [Cross barely worked, and those were implemented with some hacks + on mkDerivation to override dependencies.] What this + means is the vast majority of packages do not use any explicit package set + to populate their dependencies, just using whatever + callPackage gives them even if they do correctly sort + their dependencies into the multiple lists described above. And indeed, + asking that users both sort their dependencies, and + take them from the right attribute set, is both too onerous and redundant, + so the recommended approach (for now) is to continue just categorizing by + list and not using an explicit package set. + + + + To make this work, we "splice" together the six + pkgsFooBar package sets and have + callPackage actually take its arguments from that. This + is currently implemented in pkgs/top-level/splice.nix. + mkDerivation then, for each dependency attribute, pulls + the right derivation out from the splice. This splicing can be skipped when + not cross-compiling as the package sets are the same, but still is a bit + slow for cross-compiling. We'd like to do something better, but haven't + come up with anything yet. + +
+ +
+ Bootstrapping + + + Each of the package sets described above come from a single bootstrapping + stage. While pkgs/top-level/default.nix, coordinates + the composition of stages at a high level, + pkgs/top-level/stage.nix "ties the knot" (creates the + fixed point) of each stage. The package sets are defined per-stage however, + so they can be thought of as edges between stages (the nodes) in a graph. + Compositions like pkgsBuildTarget.targetPackages can be + thought of as paths to this graph. + + + + While there are many package sets, and thus many edges, the stages can also + be arranged in a linear chain. In other words, many of the edges are + redundant as far as connectivity is concerned. This hinges on the type of + bootstrapping we do. Currently for cross it is: + + + + (native, native, native) + + + + + (native, native, foreign) + + + + + (native, foreign, foreign) + + + + In each stage, pkgsBuildHost refers the the previous + stage, pkgsBuildBuild refers to the one before that, and + pkgsHostTarget refers to the current one, and + pkgsTargetTarget refers to the next one. When there is + no previous or next stage, they instead refer to the current stage. Note + how all the invariants regarding the mapping between dependency and depending + packages' build host and target platforms are preserved. + pkgsBuildTarget and pkgsHostHost are + more complex in that the stage fitting the requirements isn't always a + fixed chain of "prevs" and "nexts" away (modulo the "saturating" + self-references at the ends). We just special case each instead. All the primary + edges are implemented is in pkgs/stdenv/booter.nix, + and secondarily aliases in pkgs/top-level/stage.nix. + + + + + Note the native stages are bootstrapped in legacy ways that predate the + current cross implementation. This is why the the bootstrapping stages + leading up to the final stages are ignored inthe previous paragraph. + + + + + If one looks at the 3 platform triples, one can see that they overlap such + that one could put them together into a chain like: + +(native, native, native, foreign, foreign) + + If one imagines the saturating self references at the end being replaced + with infinite stages, and then overlays those platform triples, one ends up + with the infinite tuple: + +(native..., native, native, native, foreign, foreign, foreign...) + + On can then imagine any sequence of platforms such that there are bootstrap + stages with their 3 platforms determined by "sliding a window" that is the + 3 tuple through the sequence. This was the original model for + bootstrapping. Without a target platform (assume a better world where all + compilers are multi-target and all standard libraries are built in their + own derivation), this is sufficient. Conversely if one wishes to cross + compile "faster", with a "Canadian Cross" bootstraping stage where + build != host != target, more bootstrapping stages are + needed since no sliding window providess the pesky + pkgsBuildTarget package set since it skips the Canadian + cross stage's "host". + + + + + It is much better to refer to buildPackages than + targetPackages, or more broadly package sets that do + not mention "target". There are three reasons for this. + + + First, it is because bootstrapping stages do not have a unique + targetPackages. For example a (x86-linux, + x86-linux, arm-linux) and (x86-linux, x86-linux, + x86-windows) package set both have a (x86-linux, + x86-linux, x86-linux) package set. Because there is no canonical + targetPackages for such a native (build == + host == target) package set, we set their + targetPackages + + + Second, it is because this is a frequent source of hard-to-follow + "infinite recursions" / cycles. When only package sets that don't mention + target are used, the package set forms a directed acyclic graph. This + means that all cycles that exist are confined to one stage. This means + they are a lot smaller, and easier to follow in the code or a backtrace. It + also means they are present in native and cross builds alike, and so more + likely to be caught by CI and other users. + + + Thirdly, it is because everything target-mentioning only exists to + accommodate compilers with lousy build systems that insist on the compiler + itself and standard library being built together. Of course that is bad + because bigger derivations means longer rebuilds. It is also problematic because + it tends to make the standard libraries less like other libraries than + they could be, complicating code and build systems alike. Because of the + other problems, and because of these innate disadvantages, compilers ought + to be packaged another way where possible. + + + + + + If one explores Nixpkgs, they will see derivations with names like + gccCross. Such *Cross derivations is + a holdover from before we properly distinguished between the host and + target platforms—the derivation with "Cross" in the name covered the + build = host != target case, while the other covered + the host = target, with build platform the same or not + based on whether one was using its .nativeDrv or + .crossDrv. This ugliness will disappear soon. + + +
diff --git a/doc/default.nix b/doc/default.nix index 4c04128052bc570c93b8e6e103dd21a59d627cd9..7ceaec28af38b781a1a66acbd2266cc65a9d4093 100644 --- a/doc/default.nix +++ b/doc/default.nix @@ -1,8 +1,9 @@ +{ pkgs ? (import ./.. { }), nixpkgs ? { }}: let - pkgs = import ./.. { }; lib = pkgs.lib; -in -pkgs.stdenv.mkDerivation { + locationsXml = import ./lib-function-locations.nix { inherit pkgs nixpkgs; }; + functionDocs = import ./lib-function-docs.nix { inherit locationsXml pkgs; }; +in pkgs.stdenv.mkDerivation { name = "nixpkgs-manual"; buildInputs = with pkgs; [ pandoc libxml2 libxslt zip jing xmlformat ]; @@ -29,6 +30,9 @@ pkgs.stdenv.mkDerivation { ]; postPatch = '' + rm -rf ./functions/library/locations.xml + ln -s ${locationsXml} ./functions/library/locations.xml + ln -s ${functionDocs} ./functions/library/generated echo ${lib.version} > .version ''; diff --git a/doc/functions.xml b/doc/functions.xml index 2a9cc44d5c5bb8b708eb04503045a30c7eec0b5c..1f2d00b9e1afa8690f6e519a292814ea6984a46a 100644 --- a/doc/functions.xml +++ b/doc/functions.xml @@ -1,796 +1,22 @@ + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:xi="http://www.w3.org/2001/XInclude" + xml:id="chap-functions"> Functions reference The nixpkgs repository has several utility functions to manipulate Nix expressions. -
- Overriding - - - Sometimes one wants to override parts of nixpkgs, e.g. - derivation attributes, the results of derivations or even the whole package - set. - - -
- <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; ... } -import pkgs.path { overlays = [ (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 - overridden 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 ~/.config/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. - -
-
-
- Generators - - - 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 - - - - All generators follow a similar call interface: generatorName - configFunctions data, where configFunctions is an - attrset of user-defined functions that format nested 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 receives the - name of a section and sanitizes it. The default - mkSectionName escapes [ and - ] with a backslash. - - - - Generators can be fine-tuned to produce exactly the file format required by - your application/service. One example is an INI-file format which uses - : as separator, the strings - "yes"/"no" as boolean values and - requires all string values to be quoted: - - - -with lib; -let - customToINI = generators.toINI { - # specifies how to format a key/value pair - mkKeyValue = generators.mkKeyValueDefault { - # specifies the generated string for a subset of nix values - mkValueString = v: - if v == true then ''"yes"'' - else if v == false then ''"no"'' - else if isString v then ''"${v}"'' - # and delegats all other values to the default generator - else generators.mkValueStringDefault {} v; - } ":"; - }; - -# the INI file can now be given as plain old nix values -in customToINI { - main = { - pushinfo = true; - autopush = false; - host = "localhost"; - port = 42; - }; - mergetool = { - merge = "diff3"; - }; -} - - - - This will produce the following INI file as nix string: - - - -[main] -autopush:"no" -host:"localhost" -port:42 -pushinfo:"yes" -str\:ange:"very::strange" - -[mergetool] -merge:"diff3" - - - - - Nix store paths can be converted to strings by enclosing a derivation - attribute like so: "${drv}". - - - - - Detailed documentation for each generator can be found in - lib/generators.nix. - -
-
- Debugging Nix Expressions - - - Nix is a unityped, dynamic language, this means every value can potentially - appear anywhere. Since it is also non-strict, evaluation order and what - ultimately is evaluated might surprise you. Therefore it is important to be - able to debug nix expressions. - - - - In the lib/debug.nix file you will find a number of - functions that help (pretty-)printing values while evaluation is runnnig. - You can even specify how deep these values should be printed recursively, - and transform them on the fly. Please consult the docstrings in - lib/debug.nix for usage information. - -
-
- buildFHSUserEnv - - - buildFHSUserEnv provides a way to build and run - FHS-compatible lightweight sandboxes. It creates an isolated root with bound - /nix/store, so its footprint in terms of disk space - needed is quite small. This allows one to run software which is hard or - unfeasible to patch for NixOS -- 3rd-party source trees with FHS - assumptions, games distributed as tarballs, software with integrity checking - and/or external self-updated binaries. It uses Linux namespaces feature to - create temporary lightweight environments which are destroyed after all - child processes exit, without root user rights requirement. Accepted - arguments are: - - - - - - name - - - - Environment name. - - - - - - targetPkgs - - - - Packages to be installed for the main host's architecture (i.e. x86_64 on - x86_64 installations). Along with libraries binaries are also installed. - - - - - - multiPkgs - - - - Packages to be installed for all architectures supported by a host (i.e. - i686 and x86_64 on x86_64 installations). Only libraries are installed by - default. - - - - - - extraBuildCommands - - - - Additional commands to be executed for finalizing the directory - structure. - - - - - - extraBuildCommandsMulti - - - - Like extraBuildCommands, but executed only on multilib - architectures. - - - - - - extraOutputsToInstall - - - - Additional derivation outputs to be linked for both target and - multi-architecture packages. - - - - - - extraInstallCommands - - - - Additional commands to be executed for finalizing the derivation with - runner script. - - - - - - runScript - - - - A command that would be executed inside the sandbox and passed all the - command line arguments. It defaults to bash. - - - - - - - One can create a simple environment using a shell.nix - like that: - - - {} }: - -(pkgs.buildFHSUserEnv { - name = "simple-x11-env"; - targetPkgs = pkgs: (with pkgs; - [ udev - alsaLib - ]) ++ (with pkgs.xorg; - [ libX11 - libXcursor - libXrandr - ]); - multiPkgs = pkgs: (with pkgs; - [ udev - alsaLib - ]); - runScript = "bash"; -}).env -]]> - - - Running nix-shell would then drop you into a shell with - these libraries and binaries available. You can use this to run - closed-source applications which expect FHS structure without hassles: - simply change runScript to the application path, e.g. - ./bin/start.sh -- relative paths are supported. - -
-
- pkgs.dockerTools - - - pkgs.dockerTools is a set of functions for creating and - manipulating Docker images according to the - - Docker Image Specification v1.2.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. - - - -
- 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. - - - - The parameters of buildImage with relative example - values are described below: - - - - Docker build - - buildImage { - name = "redis"; - tag = "latest"; - - fromImage = someBaseImage; - fromImageName = null; - fromImageTag = "latest"; - - contents = pkgs.redis; - runAsRoot = '' - #!${stdenv.shell} - mkdir -p /data - ''; - - config = { - Cmd = [ "/bin/redis-server" ]; - WorkingDir = "/data"; - Volumes = { - "/data" = {}; - }; - }; - } - - - - - 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. - - - - - - 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 null, which indicates that the nix output hash will be used as tag. - - - - - 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. - - - - - 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. - - - - - - - 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.2.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. - - - - 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. - - - - It is possible to inspect the arguments with which an image was built using - its buildArgs attribute. - - - - - If you see errors similar to getProtocolByName: does not exist - (no such protocol name: tcp) you may need to add - pkgs.iana-etc to contents. - - - - - - If you see errors similar to Error_Protocol ("certificate has - unknown CA",True,UnknownCa) you may need to add - pkgs.cacert to contents. - - -
- -
- pullImage - - - This function is analogous to the docker pull command, - in that can be used to pull a Docker image from a Docker registry. By - default Docker Hub is - used to pull images. - - - - Its parameters are described in the example below: - - - - Docker pull - - pullImage { - imageName = "nixos/nix"; - imageDigest = "sha256:20d9485b25ecfd89204e843a962c1bd70e9cc6858d65d7f5fadc340246e2116b"; - finalImageTag = "1.11"; - sha256 = "0mqjy3zq2v6rrhizgb9nvhczl87lcfphq9601wcprdika2jz7qh8"; - os = "linux"; - arch = "x86_64"; - } - - - - - - - imageName specifies the name of the image to be - downloaded, which can also include the registry namespace (e.g. - nixos). This argument is required. - - - - - imageDigest specifies the digest of the image to be - downloaded. Skopeo can be used to get the digest of an image, with its - inspect subcommand. Since a given imageName - may transparently refer to a manifest list of images which support - multiple architectures and/or operating systems, supply the `--override-os` - and `--override-arch` arguments to specify exactly which image you - want. By default it will match the OS and architecture of the host the - command is run on. - - $ nix-shell --packages skopeo jq --command "skopeo --override-os linux --override-arch x86_64 inspect docker://docker.io/nixos/nix:1.11 | jq -r '.Digest'" - sha256:20d9485b25ecfd89204e843a962c1bd70e9cc6858d65d7f5fadc340246e2116b - - This argument is required. - - - - - finalImageTag, if specified, this is the tag of the - image to be created. Note it is never used to fetch the image since we - prefer to rely on the immutable digest ID. By default it's - latest. - - - - - sha256 is the checksum of the whole fetched image. - This argument is required. - - - - - os, if specified, is the operating system of the fetched image. - By default it's linux. - - - - - arch, if specified, is the cpu architecture of the fetched image. - By default it's x86_64. - - - -
- -
- 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. - - - - - Using this function requires the kvm device to be - available. - - - - - The parameters of exportImage are the following: - - - - Docker export - - exportImage { - 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 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: - - - - Shadow base files - - buildImage { - name = "shadow-basic"; - - runAsRoot = '' - #!${stdenv.shell} - ${shadowSetup} - groupadd -r redis - useradd -r -g redis redis - mkdir /data - chown redis:redis /data - ''; - } - - - - - Creating base files like /etc/passwd or - /etc/login.defs are necessary for shadow-utils to - manipulate users and groups. - -
-
+ + + + + + + + + + + +
diff --git a/doc/functions/appimagetools.xml b/doc/functions/appimagetools.xml new file mode 100644 index 0000000000000000000000000000000000000000..4205c6da38518af43b5bce80bc2ab81bae1c9e13 --- /dev/null +++ b/doc/functions/appimagetools.xml @@ -0,0 +1,118 @@ +
+ pkgs.appimageTools + + + pkgs.appimageTools is a set of functions for extracting + and wrapping AppImage files. + They are meant to be used if traditional packaging from source is infeasible, + or it would take too long. To quickly run an AppImage file, + pkgs.appimage-run can be used as well. + + + + + The appimageTools API is unstable and may be subject to + backwards-incompatible changes in the future. + + + +
+ AppImage formats + + + There are different formats for AppImages, see + the + specification for details. + + + + + + Type 1 images are ISO 9660 files that are also ELF executables. + + + + + Type 2 images are ELF executables with an appended filesystem. + + + + + + They can be told apart with file -k: + + + +$ file -k type1.AppImage +type1.AppImage: ELF 64-bit LSB executable, x86-64, version 1 (SYSV) ISO 9660 CD-ROM filesystem data 'AppImage' (Lepton 3.x), scale 0-0, +spot sensor temperature 0.000000, unit celsius, color scheme 0, calibration: offset 0.000000, slope 0.000000, dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.18, BuildID[sha1]=d629f6099d2344ad82818172add1d38c5e11bc6d, stripped\012- data + +$ file -k type2.AppImage +type2.AppImage: ELF 64-bit LSB executable, x86-64, version 1 (SYSV) (Lepton 3.x), scale 232-60668, spot sensor temperature -4.187500, color scheme 15, show scale bar, calibration: offset -0.000000, slope 0.000000 (Lepton 2.x), scale 4111-45000, spot sensor temperature 412442.250000, color scheme 3, minimum point enabled, calibration: offset -75402534979642766821519867692934234112.000000, slope 5815371847733706829839455140374904832.000000, dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.18, BuildID[sha1]=79dcc4e55a61c293c5e19edbd8d65b202842579f, stripped\012- data + + + + Note how the type 1 AppImage is described as an ISO 9660 CD-ROM + filesystem, and the type 2 AppImage is not. + +
+ +
+ Wrapping + + + Depending on the type of AppImage you're wrapping, you'll have to use + wrapType1 or wrapType2. + + + +appimageTools.wrapType2 { # or wrapType1 + name = "patchwork"; + src = fetchurl { + url = https://github.com/ssbc/patchwork/releases/download/v3.11.4/Patchwork-3.11.4-linux-x86_64.AppImage; + sha256 = "1blsprpkvm0ws9b96gb36f0rbf8f5jgmw4x6dsb1kswr4ysf591s"; + }; + extraPkgs = pkgs: with pkgs; [ ]; +} + + + + + name specifies the name of the resulting image. + + + + + src specifies the AppImage file to extract. + + + + + extraPkgs allows you to pass a function to include + additional packages inside the FHS environment your AppImage is going to + run in. There are a few ways to learn which dependencies an application + needs: + + + + Looking through the extracted AppImage files, reading its scripts and + running patchelf and ldd on its + executables. This can also be done in appimage-run, + by setting APPIMAGE_DEBUG_EXEC=bash. + + + + + Running strace -vfefile on the wrapped executable, + looking for libraries that can't be found. + + + + + + +
+
diff --git a/doc/functions/debug.xml b/doc/functions/debug.xml new file mode 100644 index 0000000000000000000000000000000000000000..c6b3611eea53dc43437418d6a4c062322e15047e --- /dev/null +++ b/doc/functions/debug.xml @@ -0,0 +1,21 @@ +
+ Debugging Nix Expressions + + + Nix is a unityped, dynamic language, this means every value can potentially + appear anywhere. Since it is also non-strict, evaluation order and what + ultimately is evaluated might surprise you. Therefore it is important to be + able to debug nix expressions. + + + + In the lib/debug.nix file you will find a number of + functions that help (pretty-)printing values while evaluation is runnnig. You + can even specify how deep these values should be printed recursively, and + transform them on the fly. Please consult the docstrings in + lib/debug.nix for usage information. + +
diff --git a/doc/functions/dockertools.xml b/doc/functions/dockertools.xml new file mode 100644 index 0000000000000000000000000000000000000000..e95ce1979ded5f608a3626e7e8fdf78caa39cc4d --- /dev/null +++ b/doc/functions/dockertools.xml @@ -0,0 +1,590 @@ +
+ pkgs.dockerTools + + + pkgs.dockerTools is a set of functions for creating and + manipulating Docker images according to the + + Docker Image Specification v1.2.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. + + + +
+ buildImage + + + This function is analogous to the docker build command, + in that it can be 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: + + + + Docker build + +buildImage { + name = "redis"; + tag = "latest"; + + fromImage = someBaseImage; + fromImageName = null; + fromImageTag = "latest"; + + contents = pkgs.redis; + runAsRoot = '' + #!${pkgs.runtimeShell} + mkdir -p /data + ''; + + config = { + Cmd = [ "/bin/redis-server" ]; + WorkingDir = "/data"; + Volumes = { + "/data" = {}; + }; + }; +} + + + + + 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. + + + + + + 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 null, which indicates that the nix output + hash will be used as tag. + + + + + 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. + + + + + 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. + + + + + + + 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.2.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. + + + + 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. + + + + It is possible to inspect the arguments with which an image was built using + its buildArgs attribute. + + + + + If you see errors similar to getProtocolByName: does not exist (no + such protocol name: tcp) you may need to add + pkgs.iana-etc to contents. + + + + + + If you see errors similar to Error_Protocol ("certificate has + unknown CA",True,UnknownCa) you may need to add + pkgs.cacert to contents. + + + + + Impurely Defining a Docker Layer's Creation Date + + By default buildImage will use a static date of one + second past the UNIX Epoch. This allows buildImage to + produce binary reproducible images. When listing images with + docker images, the newly created images will be listed + like this: + + + + You can break binary reproducibility but have a sorted, meaningful + CREATED column by setting created to + now. + + + + and now the Docker CLI will display a reasonable date and sort the images + as expected: + + however, the produced images will not be binary reproducible. + + +
+ +
+ buildLayeredImage + + + Create a Docker image with many of the store paths being on their own layer + to improve sharing between images. + + + + + + name + + + + The name of the resulting image. + + + + + + tag optional + + + + Tag of the generated image. + + + Default: the output path's hash + + + + + + contents optional + + + + Top level paths in the container. Either a single derivation, or a list + of derivations. + + + Default: [] + + + + + + config optional + + + + Run-time configuration of the container. A full list of the options are + available at in the + + Docker Image Specification v1.2.0 . + + + Default: {} + + + + + + created optional + + + + Date and time the layers were created. Follows the same + now exception supported by + buildImage. + + + Default: 1970-01-01T00:00:01Z + + + + + + maxLayers optional + + + + Maximum number of layers to create. + + + Default: 24 + + + + + +
+ Behavior of <varname>contents</varname> in the final image + + + Each path directly listed in contents will have a + symlink in the root of the image. + + + + For example: + + will create symlinks for all the paths in the hello + package: + /nix/store/h1zb1padqbbb7jicsvkmrym3r6snphxg-hello-2.10/bin/hello +/share/info/hello.info -> /nix/store/h1zb1padqbbb7jicsvkmrym3r6snphxg-hello-2.10/share/info/hello.info +/share/locale/bg/LC_MESSAGES/hello.mo -> /nix/store/h1zb1padqbbb7jicsvkmrym3r6snphxg-hello-2.10/share/locale/bg/LC_MESSAGES/hello.mo +]]> + +
+ +
+ Automatic inclusion of <varname>config</varname> references + + + The closure of config is automatically included in the + closure of the final image. + + + + This allows you to make very simple Docker images with very little code. + This container will start up and run hello: + + +
+ +
+ Adjusting <varname>maxLayers</varname> + + + Increasing the maxLayers increases the number of layers + which have a chance to be shared between different images. + + + + Modern Docker installations support up to 128 layers, however older + versions support as few as 42. + + + + If the produced image will not be extended by other Docker builds, it is + safe to set maxLayers to 128. However + it will be impossible to extend the image further. + + + + The first (maxLayers-2) most "popular" paths will have + their own individual layers, then layer #maxLayers-1 + will contain all the remaining "unpopular" paths, and finally layer + #maxLayers will contain the Image configuration. + + + + Docker's Layers are not inherently ordered, they are content-addressable + and are not explicitly layered until they are composed in to an Image. + +
+
+ +
+ pullImage + + + This function is analogous to the docker pull command, in + that it can be used to pull a Docker image from a Docker registry. By + default Docker Hub is used + to pull images. + + + + Its parameters are described in the example below: + + + + Docker pull + +pullImage { + imageName = "nixos/nix"; + imageDigest = "sha256:20d9485b25ecfd89204e843a962c1bd70e9cc6858d65d7f5fadc340246e2116b"; + finalImageName = "nix"; + finalImageTag = "1.11"; + sha256 = "0mqjy3zq2v6rrhizgb9nvhczl87lcfphq9601wcprdika2jz7qh8"; + os = "linux"; + arch = "x86_64"; +} + + + + + + + imageName specifies the name of the image to be + downloaded, which can also include the registry namespace (e.g. + nixos). This argument is required. + + + + + imageDigest specifies the digest of the image to be + downloaded. This argument is required. + + + + + finalImageName, if specified, this is the name of the + image to be created. Note it is never used to fetch the image since we + prefer to rely on the immutable digest ID. By default it's equal to + imageName. + + + + + finalImageTag, if specified, this is the tag of the + image to be created. Note it is never used to fetch the image since we + prefer to rely on the immutable digest ID. By default it's + latest. + + + + + sha256 is the checksum of the whole fetched image. This + argument is required. + + + + + os, if specified, is the operating system of the + fetched image. By default it's linux. + + + + + arch, if specified, is the cpu architecture of the + fetched image. By default it's x86_64. + + + + + + nix-prefetch-docker command can be used to get required + image parameters: + + +$ nix run nixpkgs.nix-prefetch-docker -c nix-prefetch-docker --image-name mysql --image-tag 5 + + + Since a given imageName may transparently refer to a + manifest list of images which support multiple architectures and/or + operating systems, you can supply the and + arguments to specify exactly which image you want. + By default it will match the OS and architecture of the host the command is + run on. + + +$ nix-prefetch-docker --image-name mysql --image-tag 5 --arch x86_64 --os linux + + + Desired image name and tag can be set using + and + arguments: + + +$ nix-prefetch-docker --image-name mysql --image-tag 5 --final-image-name eu.gcr.io/my-project/mysql --final-image-tag prod + + +
+ +
+ exportImage + + + This function is analogous to the docker export command, + in that it can be 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: + + + + Docker export + +exportImage { + 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 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: + + + + Shadow base files + +buildImage { + name = "shadow-basic"; + + runAsRoot = '' + #!${pkgs.runtimeShell} + ${shadowSetup} + groupadd -r redis + useradd -r -g redis redis + mkdir /data + chown redis:redis /data + ''; +} + + + + + Creating base files like /etc/passwd or + /etc/login.defs is necessary for shadow-utils to + manipulate users and groups. + +
+
diff --git a/doc/functions/fetchers.xml b/doc/functions/fetchers.xml new file mode 100644 index 0000000000000000000000000000000000000000..a736008c9d41817c1027c3d214da34815091ad50 --- /dev/null +++ b/doc/functions/fetchers.xml @@ -0,0 +1,194 @@ +
+ Fetcher functions + + + When using Nix, you will frequently need to download source code and other + files from the internet. Nixpkgs comes with a few helper functions that allow + you to fetch fixed-output derivations in a structured way. + + + + The two fetcher primitives are fetchurl and + fetchzip. Both of these have two required arguments, a + URL and a hash. The hash is typically sha256, although + many more hash algorithms are supported. Nixpkgs contributors are currently + recommended to use sha256. This hash will be used by Nix + to identify your source. A typical usage of fetchurl is provided below. + + + + + + The main difference between fetchurl and + fetchzip is in how they store the contents. + fetchurl will store the unaltered contents of the URL + within the Nix store. fetchzip on the other hand will + decompress the archive for you, making files and directories directly + accessible in the future. fetchzip can only be used with + archives. Despite the name, fetchzip is not limited to + .zip files and can also be used with any tarball. + + + + fetchpatch works very similarly to + fetchurl with the same arguments expected. It expects + patch files as a source and and performs normalization on them before + computing the checksum. For example it will remove comments or other unstable + parts that are sometimes added by version control systems and can change over + time. + + + + Other fetcher functions allow you to add source code directly from a VCS such + as subversion or git. These are mostly straightforward names based on the + name of the command used with the VCS system. Because they give you a working + repository, they act most like fetchzip. + + + + + + fetchsvn + + + + Used with Subversion. Expects url to a Subversion + directory, rev, and sha256. + + + + + + fetchgit + + + + Used with Git. Expects url to a Git repo, + rev, and sha256. + rev in this case can be full the git commit id (SHA1 + hash) or a tag name like refs/tags/v1.0. + + + + + + fetchfossil + + + + Used with Fossil. Expects url to a Fossil archive, + rev, and sha256. + + + + + + fetchcvs + + + + Used with CVS. Expects cvsRoot, tag, + and sha256. + + + + + + fetchhg + + + + Used with Mercurial. Expects url, + rev, and sha256. + + + + + + + A number of fetcher functions wrap part of fetchurl and + fetchzip. They are mainly convenience functions intended + for commonly used destinations of source code in Nixpkgs. These wrapper + fetchers are listed below. + + + + + + fetchFromGitHub + + + + fetchFromGitHub expects four arguments. + owner is a string corresponding to the GitHub user or + organization that controls this repository. repo + corresponds to the name of the software repository. These are located at + the top of every GitHub HTML page as + owner/repo. rev + corresponds to the Git commit hash or tag (e.g v1.0) + that will be downloaded from Git. Finally, sha256 + corresponds to the hash of the extracted directory. Again, other hash + algorithms are also available but sha256 is currently + preferred. + + + + + + fetchFromGitLab + + + + This is used with GitLab repositories. The arguments expected are very + similar to fetchFromGitHub above. + + + + + + fetchFromBitbucket + + + + This is used with BitBucket repositories. The arguments expected are very + similar to fetchFromGitHub above. + + + + + + fetchFromSavannah + + + + This is used with Savannah repositories. The arguments expected are very + similar to fetchFromGitHub above. + + + + + + fetchFromRepoOrCz + + + + This is used with repo.or.cz repositories. The arguments expected are very + similar to fetchFromGitHub above. + + + + +
diff --git a/doc/functions/fhs-environments.xml b/doc/functions/fhs-environments.xml new file mode 100644 index 0000000000000000000000000000000000000000..79682080be314a1d545d3429af06214ee1f5740d --- /dev/null +++ b/doc/functions/fhs-environments.xml @@ -0,0 +1,142 @@ +
+ buildFHSUserEnv + + + buildFHSUserEnv provides a way to build and run + FHS-compatible lightweight sandboxes. It creates an isolated root with bound + /nix/store, so its footprint in terms of disk space + needed is quite small. This allows one to run software which is hard or + unfeasible to patch for NixOS -- 3rd-party source trees with FHS assumptions, + games distributed as tarballs, software with integrity checking and/or + external self-updated binaries. It uses Linux namespaces feature to create + temporary lightweight environments which are destroyed after all child + processes exit, without root user rights requirement. Accepted arguments are: + + + + + + name + + + + Environment name. + + + + + + targetPkgs + + + + Packages to be installed for the main host's architecture (i.e. x86_64 on + x86_64 installations). Along with libraries binaries are also installed. + + + + + + multiPkgs + + + + Packages to be installed for all architectures supported by a host (i.e. + i686 and x86_64 on x86_64 installations). Only libraries are installed by + default. + + + + + + extraBuildCommands + + + + Additional commands to be executed for finalizing the directory structure. + + + + + + extraBuildCommandsMulti + + + + Like extraBuildCommands, but executed only on multilib + architectures. + + + + + + extraOutputsToInstall + + + + Additional derivation outputs to be linked for both target and + multi-architecture packages. + + + + + + extraInstallCommands + + + + Additional commands to be executed for finalizing the derivation with + runner script. + + + + + + runScript + + + + A command that would be executed inside the sandbox and passed all the + command line arguments. It defaults to bash. + + + + + + + One can create a simple environment using a shell.nix like + that: + + + {} }: + +(pkgs.buildFHSUserEnv { + name = "simple-x11-env"; + targetPkgs = pkgs: (with pkgs; + [ udev + alsaLib + ]) ++ (with pkgs.xorg; + [ libX11 + libXcursor + libXrandr + ]); + multiPkgs = pkgs: (with pkgs; + [ udev + alsaLib + ]); + runScript = "bash"; +}).env +]]> + + + Running nix-shell would then drop you into a shell with + these libraries and binaries available. You can use this to run closed-source + applications which expect FHS structure without hassles: simply change + runScript to the application path, e.g. + ./bin/start.sh -- relative paths are supported. + +
diff --git a/doc/functions/generators.xml b/doc/functions/generators.xml new file mode 100644 index 0000000000000000000000000000000000000000..e860b10e8979f090d5763c57b3cbd3ae7998b616 --- /dev/null +++ b/doc/functions/generators.xml @@ -0,0 +1,89 @@ +
+ Generators + + + 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 + + + + All generators follow a similar call interface: generatorName + configFunctions data, where configFunctions is an + attrset of user-defined functions that format nested 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 receives the name + of a section and sanitizes it. The default mkSectionName + escapes [ and ] with a backslash. + + + + Generators can be fine-tuned to produce exactly the file format required by + your application/service. One example is an INI-file format which uses + : as separator, the strings + "yes"/"no" as boolean values and + requires all string values to be quoted: + + + +with lib; +let + customToINI = generators.toINI { + # specifies how to format a key/value pair + mkKeyValue = generators.mkKeyValueDefault { + # specifies the generated string for a subset of nix values + mkValueString = v: + if v == true then ''"yes"'' + else if v == false then ''"no"'' + else if isString v then ''"${v}"'' + # and delegats all other values to the default generator + else generators.mkValueStringDefault {} v; + } ":"; + }; + +# the INI file can now be given as plain old nix values +in customToINI { + main = { + pushinfo = true; + autopush = false; + host = "localhost"; + port = 42; + }; + mergetool = { + merge = "diff3"; + }; +} + + + + This will produce the following INI file as nix string: + + + +[main] +autopush:"no" +host:"localhost" +port:42 +pushinfo:"yes" +str\:ange:"very::strange" + +[mergetool] +merge:"diff3" + + + + + Nix store paths can be converted to strings by enclosing a derivation + attribute like so: "${drv}". + + + + + Detailed documentation for each generator can be found in + lib/generators.nix. + +
diff --git a/doc/functions/library.xml b/doc/functions/library.xml new file mode 100644 index 0000000000000000000000000000000000000000..e6aedaa6efdd5e77b2c2c6113af709e5b687cb85 --- /dev/null +++ b/doc/functions/library.xml @@ -0,0 +1,29 @@ +
+ Nixpkgs Library Functions + + + Nixpkgs provides a standard library at pkgs.lib, or + through import <nixpkgs/lib>. + + + + + + + + + + + + + + + + + +
diff --git a/doc/functions/library/asserts.xml b/doc/functions/library/asserts.xml new file mode 100644 index 0000000000000000000000000000000000000000..437850e408bc2194e96759daa5d552d7e18455c0 --- /dev/null +++ b/doc/functions/library/asserts.xml @@ -0,0 +1,117 @@ +
+ Assert functions + +
+ <function>lib.asserts.assertMsg</function> + + assertMsg :: Bool -> String -> Bool + + + + + + Print a trace message if pred is false. + + + + Intended to be used to augment asserts with helpful error messages. + + + + + + pred + + + + Condition under which the msg should + not be printed. + + + + + + msg + + + + Message to print. + + + + + + + Printing when the predicate is false + trace: foo is not bar, silly +stderr> assert failed +]]> + +
+ +
+ <function>lib.asserts.assertOneOf</function> + + assertOneOf :: String -> String -> + StringList -> Bool + + + + + + Specialized asserts.assertMsg for checking if + val is one of the elements of xs. + Useful for checking enums. + + + + + + name + + + + The name of the variable the user entered val into, + for inclusion in the error message. + + + + + + val + + + + The value of what the user provided, to be compared against the values in + xs. + + + + + + xs + + + + The list of valid values. + + + + + + + Ensuring a user provided a possible value + false +stderr> trace: sslLibrary must be one of "openssl", "libressl", but is: "bearssl" + ]]> + +
+
diff --git a/doc/functions/library/attrsets.xml b/doc/functions/library/attrsets.xml new file mode 100644 index 0000000000000000000000000000000000000000..65d0b40e2e82728e4ec2b88abf9cfe8cdb4af779 --- /dev/null +++ b/doc/functions/library/attrsets.xml @@ -0,0 +1,1731 @@ +
+ Attribute-Set Functions + +
+ <function>lib.attrset.attrByPath</function> + + attrByPath :: [String] -> Any -> AttrSet + + + + + + Return an attribute from within nested attribute sets. + + + + + + attrPath + + + + A list of strings representing the path through the nested attribute set + set. + + + + + + default + + + + Default value if attrPath does not resolve to an + existing value. + + + + + + set + + + + The nested attributeset to select values from. + + + + + + + Extracting a value from a nested attribute set + 3 +]]> + + + + No value at the path, instead using the default + 0 +]]> + +
+ +
+ <function>lib.attrsets.hasAttrByPath</function> + + hasAttrByPath :: [String] -> AttrSet -> Bool + + + + + + Determine if an attribute exists within a nested attribute set. + + + + + + attrPath + + + + A list of strings representing the path through the nested attribute set + set. + + + + + + set + + + + The nested attributeset to check. + + + + + + + A nested value does exist inside a set + true +]]> + +
+ +
+ <function>lib.attrsets.setAttrByPath</function> + + setAttrByPath :: [String] -> Any -> AttrSet + + + + + + Create a new attribute set with value set at the nested + attribute location specified in attrPath. + + + + + + attrPath + + + + A list of strings representing the path through the nested attribute set. + + + + + + value + + + + The value to set at the location described by + attrPath. + + + + + + + Creating a new nested attribute set + { a = { b = 3; }; } +]]> + +
+ +
+ <function>lib.attrsets.getAttrFromPath</function> + + getAttrFromPath :: [String] -> AttrSet -> Value + + + + + + Like except + without a default, and it will throw if the value doesn't exist. + + + + + + attrPath + + + + A list of strings representing the path through the nested attribute set + set. + + + + + + set + + + + The nested attribute set to find the value in. + + + + + + + Succesfully getting a value from an attribute set + 3 +]]> + + + + Throwing after failing to get a value from an attribute set + error: cannot find attribute `x.y' +]]> + +
+ +
+ <function>lib.attrsets.attrVals</function> + + attrVals :: [String] -> AttrSet -> [Any] + + + + + + Return the specified attributes from a set. All values must exist. + + + + + + nameList + + + + The list of attributes to fetch from set. Each + attribute name must exist on the attrbitue set. + + + + + + set + + + + The set to get attribute values from. + + + + + + + Getting several values from an attribute set + [ 1 2 3 ] +]]> + + + + Getting missing values from an attribute set + + +
+ +
+ <function>lib.attrsets.attrValues</function> + + attrValues :: AttrSet -> [Any] + + + + + + Get all the attribute values from an attribute set. + + + + Provides a backwards-compatible interface of + builtins.attrValues for Nix version older than 1.8. + + + + + + attrs + + + + The attribute set. + + + + + + + + [ 1 2 3 ] +]]> + +
+ +
+ <function>lib.attrsets.catAttrs</function> + + catAttrs :: String -> AttrSet -> [Any] + + + + + + Collect each attribute named `attr' from the list of attribute sets, + sets. Sets that don't contain the named attribute are + ignored. + + + + Provides a backwards-compatible interface of + builtins.catAttrs for Nix version older than 1.9. + + + + + + attr + + + + Attribute name to select from each attribute set in + sets. + + + + + + sets + + + + The list of attribute sets to select attr from. + + + + + + + Collect an attribute from a list of attribute sets. + + Attribute sets which don't have the attribute are ignored. + + [ 1 2 ] + ]]> + +
+ +
+ <function>lib.attrsets.filterAttrs</function> + + filterAttrs :: (String -> Any -> Bool) -> AttrSet -> AttrSet + + + + + + Filter an attribute set by removing all attributes for which the given + predicate return false. + + + + + + pred + + + + String -> Any -> Bool + + + Predicate which returns true to include an attribute, or returns false to + exclude it. + + + + + name + + + + The attribute's name + + + + + + value + + + + The attribute's value + + + + + + Returns true to include the attribute, + false to exclude the attribute. + + + + + + set + + + + The attribute set to filter + + + + + + + Filtering an attributeset + { foo = 1; } +]]> + +
+ +
+ <function>lib.attrsets.filterAttrsRecursive</function> + + filterAttrsRecursive :: (String -> Any -> Bool) -> AttrSet -> AttrSet + + + + + + Filter an attribute set recursively by removing all attributes for which the + given predicate return false. + + + + + + pred + + + + String -> Any -> Bool + + + Predicate which returns true to include an attribute, or returns false to + exclude it. + + + + + name + + + + The attribute's name + + + + + + value + + + + The attribute's value + + + + + + Returns true to include the attribute, + false to exclude the attribute. + + + + + + set + + + + The attribute set to filter + + + + + + + Recursively filtering an attribute set + { + levelA = { + example = "hi"; + levelB = { + hello = "there"; + this-one-is-present = { }; + }; + }; + } + ]]> + +
+ +
+ <function>lib.attrsets.foldAttrs</function> + + foldAttrs :: (Any -> Any -> Any) -> Any -> [AttrSets] -> Any + + + + + + Apply fold function to values grouped by key. + + + + + + op + + + + Any -> Any -> Any + + + Given a value val and a collector + col, combine the two. + + + + + val + + + + An attribute's value + + + + + + col + + + + + The result of previous op calls with other values + and nul. + + + + + + + + + nul + + + + The null-value, the starting value. + + + + + + list_of_attrs + + + + A list of attribute sets to fold together by key. + + + + + + + Combining an attribute of lists in to one attribute set + { a = [ 2 3 ]; b = [ 7 6 ]; } +]]> + +
+ +
+ <function>lib.attrsets.collect</function> + + collect :: (Any -> Bool) -> AttrSet -> [Any] + + + + + + Recursively collect sets that verify a given predicate named + pred from the set attrs. The recursion + stops when pred returns true. + + + + + + pred + + + + Any -> Bool + + + Given an attribute's value, determine if recursion should stop. + + + + + value + + + + The attribute set value. + + + + + + + + + attrs + + + + The attribute set to recursively collect. + + + + + + + Collecting all lists from an attribute set + [["b"] [1]] +]]> + + + + Collecting all attribute-sets which contain the <literal>outPath</literal> attribute name. + [{ outPath = "a/"; } { outPath = "b/"; }] +]]> + +
+ +
+ <function>lib.attrsets.nameValuePair</function> + + nameValuePair :: String -> Any -> AttrSet + + + + + + Utility function that creates a {name, value} pair as + expected by builtins.listToAttrs. + + + + + + name + + + + The attribute name. + + + + + + value + + + + The attribute value. + + + + + + + Creating a name value pair + { name = "some"; value = 6; } +]]> + +
+ +
+ <function>lib.attrsets.mapAttrs</function> + + + + + + + + Apply a function to each element in an attribute set, creating a new + attribute set. + + + + Provides a backwards-compatible interface of + builtins.mapAttrs for Nix version older than 2.1. + + + + + + fn + + + + String -> Any -> Any + + + Given an attribute's name and value, return a new value. + + + + + name + + + + The name of the attribute. + + + + + + value + + + + The attribute's value. + + + + + + + + + + Modifying each value of an attribute set + { x = "x-foo"; y = "y-bar"; } +]]> + +
+ +
+ <function>lib.attrsets.mapAttrs'</function> + + mapAttrs' :: (String -> Any -> { name = String; value = Any }) -> AttrSet -> AttrSet + + + + + + Like mapAttrs, but allows the name of each attribute to + be changed in addition to the value. The applied function should return both + the new name and value as a nameValuePair. + + + + + + fn + + + + String -> Any -> { name = String; value = Any } + + + Given an attribute's name and value, return a new + name + value pair. + + + + + name + + + + The name of the attribute. + + + + + + value + + + + The attribute's value. + + + + + + + + + set + + + + The attribute set to map over. + + + + + + + Change the name and value of each attribute of an attribute set + { foo_x = "bar-a"; foo_y = "bar-b"; } + + ]]> + +
+ +
+ <function>lib.attrsets.mapAttrsToList</function> + + mapAttrsToList :: (String -> Any -> Any) -> + AttrSet -> Any + + + + + + Call fn for each attribute in the given + set and return the result in a list. + + + + + + fn + + + + String -> Any -> Any + + + Given an attribute's name and value, return a new value. + + + + + name + + + + The name of the attribute. + + + + + + value + + + + The attribute's value. + + + + + + + + + set + + + + The attribute set to map over. + + + + + + + Combine attribute values and names in to a list + [ "x=a" "y=b" ] +]]> + +
+ +
+ <function>lib.attrsets.mapAttrsRecursive</function> + + mapAttrsRecursive :: ([String] > Any -> Any) -> AttrSet -> AttrSet + + + + + + Like mapAttrs, except that it recursively applies + itself to attribute sets. Also, the first argument of the argument function + is a list of the names of the containing attributes. + + + + + + f + + + + [ String ] -> Any -> Any + + + Given a list of attribute names and value, return a new value. + + + + + name_path + + + + The list of attribute names to this value. + + + For example, the name_path for the + example string in the attribute set { foo + = { bar = "example"; }; } is [ "foo" "bar" + ]. + + + + + + value + + + + The attribute's value. + + + + + + + + + set + + + + The attribute set to recursively map over. + + + + + + + A contrived example of using <function>lib.attrsets.mapAttrsRecursive</function> + { + n = { + a = "n-a-A"; + m = { + b = "n-m-b-B"; + c = "n-m-c-C"; + }; + }; + d = "d-D"; + } + ]]> + +
+ +
+ <function>lib.attrsets.mapAttrsRecursiveCond</function> + + mapAttrsRecursiveCond :: (AttrSet -> Bool) -> ([ String ] -> Any -> Any) -> AttrSet -> AttrSet + + + + + + Like mapAttrsRecursive, but it takes an additional + predicate function that tells it whether to recursive into an attribute set. + If it returns false, mapAttrsRecursiveCond does not + recurse, but does apply the map function. It is returns true, it does + recurse, and does not apply the map function. + + + + + + cond + + + + (AttrSet -> Bool) + + + Determine if mapAttrsRecursive should recurse deeper + in to the attribute set. + + + + + attributeset + + + + An attribute set. + + + + + + + + + f + + + + [ String ] -> Any -> Any + + + Given a list of attribute names and value, return a new value. + + + + + name_path + + + + The list of attribute names to this value. + + + For example, the name_path for the + example string in the attribute set { foo + = { bar = "example"; }; } is [ "foo" "bar" + ]. + + + + + + value + + + + The attribute's value. + + + + + + + + + set + + + + The attribute set to recursively map over. + + + + + + + Only convert attribute values to JSON if the containing attribute set is marked for recursion + { + dorecur = { + hello = "\"there\""; + recurse = "true"; + }; + dontrecur = "{\"converted-to\":\"json\"}"; + } + ]]> + +
+ +
+ <function>lib.attrsets.genAttrs</function> + + genAttrs :: [ String ] -> (String -> Any) -> AttrSet + + + + + + Generate an attribute set by mapping a function over a list of attribute + names. + + + + + + names + + + + Names of values in the resulting attribute set. + + + + + + f + + + + String -> Any + + + Takes the name of the attribute and return the attribute's value. + + + + + name + + + + The name of the attribute to generate a value for. + + + + + + + + + + Generate an attrset based on names only + { foo = "x_foo"; bar = "x_bar"; } + ]]> + +
+ +
+ <function>lib.attrsets.isDerivation</function> + + isDerivation :: Any -> Bool + + + + + + Check whether the argument is a derivation. Any set with { type = + "derivation"; } counts as a derivation. + + + + + + value + + + + The value which is possibly a derivation. + + + + + + + A package is a derivation + {}).ruby +=> true + ]]> + + + + Anything else is not a derivation + false + ]]> + +
+ +
+ <function>lib.attrsets.toDerivation</function> + + toDerivation :: Path -> Derivation + + + + + + Converts a store path to a fake derivation. + + + + + + path + + + + A store path to convert to a derivation. + + + + +
+ +
+ <function>lib.attrsets.optionalAttrs</function> + + optionalAttrs :: Bool -> AttrSet + + + + + + Conditionally return an attribute set or an empty attribute set. + + + + + + cond + + + + Condition under which the as attribute set is + returned. + + + + + + as + + + + The attribute set to return if cond is true. + + + + + + + Return the provided attribute set when <varname>cond</varname> is true + { my = "set"; } + ]]> + + + + Return an empty attribute set when <varname>cond</varname> is false + { } + ]]> + +
+ +
+ <function>lib.attrsets.zipAttrsWithNames</function> + + zipAttrsWithNames :: [ String ] -> (String -> [ Any ] -> Any) -> [ AttrSet ] -> AttrSet + + + + + + Merge sets of attributes and use the function f to merge + attribute values where the attribute name is in names. + + + + + + names + + + + A list of attribute names to zip. + + + + + + f + + + + (String -> [ Any ] -> Any + + + Accepts an attribute name, all the values, and returns a combined value. + + + + + name + + + + The name of the attribute each value came from. + + + + + + vs + + + + A list of values collected from the list of attribute sets. + + + + + + + + + sets + + + + A list of attribute sets to zip together. + + + + + + + Summing a list of attribute sets of numbers + { a = "a 11"; b = "b 101"; } + ]]> + +
+ +
+ <function>lib.attrsets.zipAttrsWith</function> + + zipAttrsWith :: (String -> [ Any ] -> Any) -> [ AttrSet ] -> AttrSet + + + + + + Merge sets of attributes and use the function f to merge + attribute values. Similar to + where + all key names are passed for names. + + + + + + f + + + + (String -> [ Any ] -> Any + + + Accepts an attribute name, all the values, and returns a combined value. + + + + + name + + + + The name of the attribute each value came from. + + + + + + vs + + + + A list of values collected from the list of attribute sets. + + + + + + + + + sets + + + + A list of attribute sets to zip together. + + + + + + + Summing a list of attribute sets of numbers + { a = "a 11"; b = "b 101"; c = "c 1001"; } + ]]> + +
+ +
+ <function>lib.attrsets.zipAttrs</function> + + zipAttrsWith :: [ AttrSet ] -> AttrSet + + + + + + Merge sets of attributes and combine each attribute value in to a list. + Similar to + where the merge function returns a list of all values. + + + + + + sets + + + + A list of attribute sets to zip together. + + + + + + + Combining a list of attribute sets + { a = [ 1 10 ]; b = [ 1 100 ]; c = [ 1 1000 ]; } + ]]> + +
+ +
+ <function>lib.attrsets.recursiveUpdateUntil</function> + + recursiveUpdateUntil :: ( [ String ] -> AttrSet -> AttrSet -> Bool ) -> AttrSet -> AttrSet -> AttrSet + + + + + + Does the same as the update operator // except that + attributes are merged until the given predicate is verified. The predicate + should accept 3 arguments which are the path to reach the attribute, a part + of the first attribute set and a part of the second attribute set. When the + predicate is verified, the value of the first attribute set is replaced by + the value of the second attribute set. + + + + + + pred + + + + [ String ] -> AttrSet -> AttrSet -> Bool + + + + + path + + + + The path to the values in the left and right hand sides. + + + + + + l + + + + The left hand side value. + + + + + + r + + + + The right hand side value. + + + + + + + + + lhs + + + + The left hand attribute set of the merge. + + + + + + rhs + + + + The right hand attribute set of the merge. + + + + + + + Recursively merging two attribute sets + { + foo.bar = 1; # 'foo.*' from the second set + foo.quz = 2; # + bar = 3; # 'bar' from the first set + baz = 4; # 'baz' from the second set +} + ]]> + +
+ +
+ <function>lib.attrsets.recursiveUpdate</function> + + recursiveUpdate :: AttrSet -> AttrSet -> AttrSet + + + + + + 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. + + + + + + lhs + + + + The left hand attribute set of the merge. + + + + + + rhs + + + + The right hand attribute set of the merge. + + + + + + + Recursively merging two attribute sets + { + boot.loader.grub.enable = true; + boot.loader.grub.device = ""; +} +]]> + +
+
diff --git a/doc/functions/nix-gitignore.xml b/doc/functions/nix-gitignore.xml new file mode 100644 index 0000000000000000000000000000000000000000..9011570d1eaed005b66fc7359c71e01dd098701e --- /dev/null +++ b/doc/functions/nix-gitignore.xml @@ -0,0 +1,84 @@ +
+ pkgs.nix-gitignore + + + pkgs.nix-gitignore is a function that acts similarly to + builtins.filterSource but also allows filtering with the + help of the gitignore format. + + +
+ Usage + + + pkgs.nix-gitignore exports a number of functions, but + you'll most likely need either gitignoreSource or + gitignoreSourcePure. As their first argument, they both + accept either 1. a file with gitignore lines or 2. a string with gitignore + lines, or 3. a list of either of the two. They will be concatenated into a + single big string. + + + {} }: + + nix-gitignore.gitignoreSource [] ./source + # Simplest version + + nix-gitignore.gitignoreSource "supplemental-ignores\n" ./source + # This one reads the ./source/.gitignore and concats the auxiliary ignores + + nix-gitignore.gitignoreSourcePure "ignore-this\nignore-that\n" ./source + # Use this string as gitignore, don't read ./source/.gitignore. + + nix-gitignore.gitignoreSourcePure ["ignore-this\nignore-that\n", ~/.gitignore] ./source + # It also accepts a list (of strings and paths) that will be concatenated + # once the paths are turned to strings via readFile. + ]]> + + + These functions are derived from the Filter functions by + setting the first filter argument to (_: _: true): + + + + + + Those filter functions accept the same arguments the + builtins.filterSource function would pass to its filters, + thus fn: gitignoreFilterSourcePure fn "" should be + extensionally equivalent to filterSource. The file is + blacklisted iff it's blacklisted by either your filter or the + gitignoreFilter. + + + + If you want to make your own filter from scratch, you may use + + + +
+ +
+ gitignore files in subdirectories + + + If you wish to use a filter that would search for .gitignore files in + subdirectories, just like git does by default, use this function: + + + +
+
diff --git a/doc/functions/overrides.xml b/doc/functions/overrides.xml new file mode 100644 index 0000000000000000000000000000000000000000..1bd90d2a0c760276a5bc1975fbefaef31de46e80 --- /dev/null +++ b/doc/functions/overrides.xml @@ -0,0 +1,212 @@ +
+ Overriding + + + Sometimes one wants to override parts of nixpkgs, e.g. + derivation attributes, the results of derivations. + + + + These functions are used to make changes to packages, returning only single + packages. Overlays, on the other + hand, can be used to combine the overridden packages across the entire + package set of Nixpkgs. + + +
+ <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; ... } + + +import pkgs.path { overlays = [ (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 + overridden 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 stdenv.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 it 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 ~/.config/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. + +
+
diff --git a/doc/functions/prefer-remote-fetch.xml b/doc/functions/prefer-remote-fetch.xml new file mode 100644 index 0000000000000000000000000000000000000000..2ccad9218062c1cf6d097630d47fc9902c5f8c0c --- /dev/null +++ b/doc/functions/prefer-remote-fetch.xml @@ -0,0 +1,25 @@ +
+ prefer-remote-fetch overlay + + + prefer-remote-fetch is an overlay that download sources + on remote builder. This is useful when the evaluating machine has a slow + upload while the builder can fetch faster directly from the source. To use + it, put the following snippet as a new overlay: + + self: super: + (super.prefer-remote-fetch self super) + + A full configuration example for that sets the overlay up for your own + account, could look like this + + $ mkdir ~/.config/nixpkgs/overlays/ + $ cat > ~/.config/nixpkgs/overlays/prefer-remote-fetch.nix <<EOF + self: super: super.prefer-remote-fetch self super + EOF + + +
diff --git a/doc/functions/shell.xml b/doc/functions/shell.xml new file mode 100644 index 0000000000000000000000000000000000000000..e5031c9463c0676c94a1c172fecea137b1d090e4 --- /dev/null +++ b/doc/functions/shell.xml @@ -0,0 +1,26 @@ +
+ pkgs.mkShell + + + pkgs.mkShell is a special kind of derivation that is + only useful when using it combined with nix-shell. It will + in fact fail to instantiate when invoked with nix-build. + + +
+ Usage + + {} }: +pkgs.mkShell { + # this will make all the build inputs from hello and gnutar + # available to the shell environment + inputsFrom = with pkgs; [ hello gnutar ]; + buildInputs = [ pkgs.gnumake ]; +} +]]> +
+
diff --git a/doc/functions/trivial-builders.xml b/doc/functions/trivial-builders.xml new file mode 100644 index 0000000000000000000000000000000000000000..1fd92ecfe2627182cae6fdbd231b7fddd3c389d5 --- /dev/null +++ b/doc/functions/trivial-builders.xml @@ -0,0 +1,113 @@ +
+ Trivial builders + + + Nixpkgs provides a couple of functions that help with building derivations. + The most important one, stdenv.mkDerivation, has already + been documented above. The following functions wrap + stdenv.mkDerivation, making it easier to use in certain + cases. + + + + + + runCommand + + + + This takes three arguments, name, + env, and buildCommand. + name is just the name that Nix will append to the store + path in the same way that stdenv.mkDerivation uses its + name attribute. env is an attribute + set specifying environment variables that will be set for this derivation. + These attributes are then passed to the wrapped + stdenv.mkDerivation. buildCommand + specifies the commands that will be run to create this derivation. Note + that you will need to create $out for Nix to register + the command as successful. + + + An example of using runCommand is provided below. + + + (import <nixpkgs> {}).runCommand "my-example" {} '' + echo My example command is running + + mkdir $out + + echo I can write data to the Nix store > $out/message + + echo I can also run basic commands like: + + echo ls + ls + + echo whoami + whoami + + echo date + date + '' + + + + + + runCommandCC + + + + This works just like runCommand. The only difference is + that it also provides a C compiler in buildCommand’s + environment. To minimize your dependencies, you should only use this if + you are sure you will need a C compiler as part of running your command. + + + + + + writeTextFile, writeText, writeTextDir, writeScript, writeScriptBin + + + + These functions write text to the Nix store. This is + useful for creating scripts from Nix expressions. + writeTextFile takes an attribute set and expects two + arguments, name and text. + name corresponds to the name used in the Nix store + path. text will be the contents of the file. You can + also set executable to true to make this file have the + executable bit set. + + + Many more commands wrap writeTextFile including + writeText, writeTextDir, + writeScript, and writeScriptBin. + These are convenience functions over writeTextFile. + + + + + + symlinkJoin + + + + This can be used to put many derivations into the same directory + structure. It works by creating a new derivation and adding symlinks to + each of the paths listed. It expects two arguments, + name, and paths. + name is the name used in the Nix store path for the + created derivation. paths is a list of paths that will + be symlinked. These paths can be to Nix store derivations or any other + subdirectory contained within. + + + + +
diff --git a/doc/languages-frameworks/android.section.md b/doc/languages-frameworks/android.section.md new file mode 100644 index 0000000000000000000000000000000000000000..237f3441874f02d6fb7b2920b0636d1d2dd9407b --- /dev/null +++ b/doc/languages-frameworks/android.section.md @@ -0,0 +1,240 @@ +--- +title: Android +author: Sander van der Burg +date: 2018-11-18 +--- +# Android + +The Android build environment provides three major features and a number of +supporting features. + +Deploying an Android SDK installation with plugins +-------------------------------------------------- +The first use case is deploying the SDK with a desired set of plugins or subsets +of an SDK. + +```nix +with import {}; + +let + androidComposition = androidenv.composeAndroidPackages { + toolsVersion = "25.2.5"; + platformToolsVersion = "27.0.1"; + buildToolsVersions = [ "27.0.3" ]; + includeEmulator = false; + emulatorVersion = "27.2.0"; + platformVersions = [ "24" ]; + includeSources = false; + includeDocs = false; + includeSystemImages = false; + systemImageTypes = [ "default" ]; + abiVersions = [ "armeabi-v7a" ]; + lldbVersions = [ "2.0.2558144" ]; + cmakeVersions = [ "3.6.4111459" ]; + includeNDK = false; + ndkVersion = "16.1.4479499"; + useGoogleAPIs = false; + useGoogleTVAddOns = false; + includeExtras = [ + "extras;google;gcm" + ]; + }; +in +androidComposition.androidsdk +``` + +The above function invocation states that we want an Android SDK with the above +specified plugin versions. By default, most plugins are disabled. Notable +exceptions are the tools, platform-tools and build-tools sub packages. + +The following parameters are supported: + +* `toolsVersion`, specifies the version of the tools package to use +* `platformsToolsVersion` specifies the version of the `platform-tools` plugin +* `buildToolsVersion` specifies the versions of the `build-tools` plugins to + use. +* `includeEmulator` specifies whether to deploy the emulator package (`false` + by default). When enabled, the version of the emulator to deploy can be + specified by setting the `emulatorVersion` parameter. +* `includeDocs` specifies whether the documentation catalog should be included. +* `lldbVersions` specifies what LLDB versions should be deployed. +* `cmakeVersions` specifies which CMake versions should be deployed. +* `includeNDK` specifies that the Android NDK bundle should be included. + Defaults to: `false`. +* `ndkVersion` specifies the NDK version that we want to use. +* `includeExtras` is an array of identifier strings referring to arbitrary + add-on packages that should be installed. +* `platformVersions` specifies which platform SDK versions should be included. + +For each platform version that has been specified, we can apply the following +options: + +* `includeSystemImages` specifies whether a system image for each platform SDK + should be included. +* `includeSources` specifies whether the sources for each SDK version should be + included. +* `useGoogleAPIs` specifies that for each selected platform version the + Google API should be included. +* `useGoogleTVAddOns` specifies that for each selected platform version the + Google TV add-on should be included. + +For each requested system image we can specify the following options: + +* `systemImageTypes` specifies what kind of system images should be included. + Defaults to: `default`. +* `abiVersions` specifies what kind of ABI version of each system image should + be included. Defaults to: `armeabi-v7a`. + +Most of the function arguments have reasonable default settings. + +When building the above expression with: + +```bash +$ nix-build +``` + +The Android SDK gets deployed with all desired plugin versions. + +We can also deploy subsets of the Android SDK. For example, to only the the +`platform-tools` package, you can evaluate the following expression: + +```nix +with import {}; + +let + androidComposition = androidenv.composeAndroidPackages { + # ... + }; +in +androidComposition.platform-tools +``` + +Using predefine Android package compositions +-------------------------------------------- +In addition to composing an Android package set manually, it is also possible +to use a predefined composition that contains all basic packages for a specific +Android version, such as version 9.0 (API-level 28). + +The following Nix expression can be used to deploy the entire SDK with all basic +plugins: + +```nix +with import {}; + +androidenv.androidPkgs_9_0.androidsdk +``` + +It is also possible to use one plugin only: + +```nix +with import {}; + +androidenv.androidPkgs_9_0.platform-tools +``` + +Building an Android application +------------------------------- +In addition to the SDK, it is also possible to build an Ant-based Android +project and automatically deploy all the Android plugins that a project +requires. + +```nix +with import {}; + +androidenv.buildApp { + name = "MyAndroidApp"; + src = ./myappsources; + release = true; + + # If release is set to true, you need to specify the following parameters + keyStore = ./keystore; + keyAlias = "myfirstapp"; + keyStorePassword = "mykeystore"; + keyAliasPassword = "myfirstapp"; + + # Any Android SDK parameters that install all the relevant plugins that a + # build requires + platformVersions = [ "24" ]; + + # When we include the NDK, then ndk-build is invoked before Ant gets invoked + includeNDK = true; +} +``` + +Aside from the app-specific build parameters (`name`, `src`, `release` and +keystore parameters), the `buildApp {}` function supports all the function +parameters that the SDK composition function (the function shown in the +previous section) supports. + +This build function is particularly useful when it is desired to use +[Hydra](http://nixos.org/hydra): the Nix-based continuous integration solution +to build Android apps. An Android APK gets exposed as a build product and can be +installed on any Android device with a web browser by navigating to the build +result page. + +Spawning emulator instances +--------------------------- +For testing purposes, it can also be quite convenient to automatically generate +scripts that spawn emulator instances with all desired configuration settings. + +An emulator spawn script can be configured by invoking the `emulateApp {}` +function: + +```nix +with import {}; + +androidenv.emulateApp { + name = "emulate-MyAndroidApp"; + platformVersion = "24"; + abiVersion = "armeabi-v7a"; # mips, x86 or x86_64 + systemImageType = "default"; + useGoogleAPIs = false; +} +``` + +It is also possible to specify an APK to deploy inside the emulator +and the package and activity names to launch it: + +```nix +with import {}; + +androidenv.emulateApp { + name = "emulate-MyAndroidApp"; + platformVersion = "24"; + abiVersion = "armeabi-v7a"; # mips, x86 or x86_64 + systemImageType = "default"; + useGoogleAPIs = false; + app = ./MyApp.apk; + package = "MyApp"; + activity = "MainActivity"; +} +``` + +In addition to prebuilt APKs, you can also bind the APK parameter to a +`buildApp {}` function invocation shown in the previous example. + +Querying the available versions of each plugin +---------------------------------------------- +When using any of the previously shown functions, it may be a bit inconvenient +to find out what options are supported, since the Android SDK provides many +plugins. + +A shell script in the `pkgs/development/mobile/androidenv/` sub directory can be used to retrieve all +possible options: + +```bash +sh ./querypackages.sh packages build-tools +``` + +The above command-line instruction queries all build-tools versions in the +generated `packages.nix` expression. + +Updating the generated expressions +---------------------------------- +Most of the Nix expressions are generated from XML files that the Android +package manager uses. To update the expressions run the `generate.sh` script +that is stored in the `pkgs/development/mobile/androidenv/` sub directory: + +```bash +sh ./generate.sh +``` diff --git a/doc/languages-frameworks/coq.xml b/doc/languages-frameworks/coq.xml index d5f2574039f22e8b75d607e498c672d8c7dd688b..4314df5c9df29e602d4749c65e4cf2f1340a9d5f 100644 --- a/doc/languages-frameworks/coq.xml +++ b/doc/languages-frameworks/coq.xml @@ -11,10 +11,9 @@
- Some libraries require OCaml and sometimes also Camlp5 or findlib. The exact - versions that were used to build Coq are saved in the - coq.ocaml and coq.camlp5 and - coq.findlib attributes. + Some extensions (plugins) might require OCaml and sometimes other OCaml + packages. The coq.ocamlPackages attribute can be used to + depend on the same package set Coq was built against. diff --git a/doc/languages-frameworks/go.xml b/doc/languages-frameworks/go.xml index ab4c9f0f7c8857f6d527b2dcbdc0e8e37c678f45..6f6e7925a1b5fe4a4ae717d13de684706ea978ce 100644 --- a/doc/languages-frameworks/go.xml +++ b/doc/languages-frameworks/go.xml @@ -3,12 +3,91 @@ xml:id="sec-language-go"> Go - - The function buildGoPackage builds standard Go programs. - +
+ Go modules - - buildGoPackage + + The function buildGoModule builds Go programs managed + with Go modules. It builds a + Go + modules through a two phase build: + + + + An intermediate fetcher derivation. This derivation will be used to fetch + all of the dependencies of the Go module. + + + + + A final derivation will use the output of the intermediate derivation to + build the binaries and produce the final output. + + + + + + + buildGoModule + +pet = buildGoModule rec { + name = "pet-${version}"; + version = "0.3.4"; + + src = fetchFromGitHub { + owner = "knqyf263"; + repo = "pet"; + rev = "v${version}"; + sha256 = "0m2fzpqxk7hrbxsgqplkg7h2p7gv6s1miymv3gvw0cz039skag0s"; + }; + + modSha256 = "1879j77k96684wi554rkjxydrj8g3hpp0kvxz03sd8dmwr3lh83j"; + + subPackages = [ "." ]; + + meta = with lib; { + description = "Simple command-line snippet manager, written in Go"; + homepage = https://github.com/knqyf263/pet; + license = licenses.mit; + maintainers = with maintainers; [ kalbasit ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} + + + + + is an example expression using + buildGoModule, the following arguments are of special significance to the + function: + + + + modSha256 is the hash of the output of the + intermediate fetcher derivation. + + + + + subPackages limits the builder from building child + packages that have not been listed. If subPackages is + not specified, all child packages will be built. + + + + +
+ +
+ Go legacy + + + The function buildGoPackage builds legacy Go programs, + not supporting Go modules. + + + + buildGoPackage deis = buildGoPackage rec { name = "deis-${version}"; @@ -29,56 +108,56 @@ deis = buildGoPackage rec { buildFlags = "--tags release"; } - - - - is an example expression using - buildGoPackage, the following arguments are of special significance to the - function: - - - - goPackagePath specifies the package's canonical Go - import path. - - - - - subPackages limits the builder from building child - packages that have not been listed. If subPackages is - not specified, all child packages will be built. - - - In this example only github.com/deis/deis/client will - be built. - - - - - goDeps is where the Go dependencies of a Go program are - listed 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. - - - - - buildFlags is a list of flags passed to the go build - command. - - - - - - - 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.nix + + + + is an example expression using + buildGoPackage, the following arguments are of special significance to the + function: + + + + goPackagePath specifies the package's canonical Go + import path. + + + + + subPackages limits the builder from building child + packages that have not been listed. If subPackages is + not specified, all child packages will be built. + + + In this example only github.com/deis/deis/client will + be built. + + + + + goDeps is where the Go dependencies of a Go program + are listed 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. + + + + + buildFlags is a list of flags passed to the go build + command. + + + + + + + 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.nix [ { @@ -101,60 +180,62 @@ deis = buildGoPackage rec { } ] - - - - - - - goDeps is a list of Go dependencies. - - - - - goPackagePath specifies Go package import path. - - - - - fetch type that needs to be used to get package source. - If git is used there should be url, - rev and sha256 defined next to it. - - - - - - - To extract dependency information from a Go package in automated way use - go2nix. It can - produce complete derivation and goDeps file for Go - programs. - - - - buildGoPackage produces - where - bin includes program binaries. You can test build a Go - binary as follows: + + + + + + + goDeps is a list of Go dependencies. + + + + + goPackagePath specifies Go package import path. + + + + + fetch type that needs to be used to get package + source. If git is used there should be + url, rev and + sha256 defined next to it. + + + + + + + To extract dependency information from a Go package in automated way use + go2nix. It can + produce complete derivation and goDeps file for Go + programs. + + + + buildGoPackage produces + where + bin includes program binaries. You can test build a Go + binary as follows: $ nix-build -A deis.bin - or build all outputs with: + or build all outputs with: $ nix-build -A deis.all - bin output will be installed by default with - nix-env -i or systemPackages. - + bin output will be installed by default with + nix-env -i or systemPackages. + - - You may use Go packages installed into the active Nix profiles by adding the - following to your ~/.bashrc: + + You may use Go packages installed into the active Nix profiles by adding the + following to your ~/.bashrc: for p in $NIX_PROFILES; do GOPATH="$p/share/go:$GOPATH" done - + +
diff --git a/doc/languages-frameworks/haskell.section.md b/doc/languages-frameworks/haskell.section.md index 7677c366191fb54ecfc9146c3a498010ef424b4f..d832716c030821e31a78d7a5d82bc3fdebf82322 100644 --- a/doc/languages-frameworks/haskell.section.md +++ b/doc/languages-frameworks/haskell.section.md @@ -55,7 +55,7 @@ package `haskell-pandoc`, for example, installs both a library and an application. You can install and use Haskell executables just like any other program in Nixpkgs, but using Haskell libraries for development is a bit trickier and we'll address that subject in great detail in section [How to -create a development environment]. +create a development environment](#how-to-create-a-development-environment). Attribute paths are deterministic inside of Nixpkgs, but the path necessary to reach Nixpkgs varies from system to system. We dodged that problem by giving @@ -127,7 +127,7 @@ Also, the attributes `haskell.compiler.ghcXYC` and A simple development environment consists of a Haskell compiler and one or both of the tools `cabal-install` and `stack`. We saw in section -[How to install Haskell packages] how you can install those programs into your +[How to install Haskell packages](#how-to-install-haskell-packages) how you can install those programs into your user profile: ```shell nix-env -f "" -iA haskellPackages.ghc haskellPackages.cabal-install @@ -162,7 +162,7 @@ nix-shell -p haskell.compiler.ghc784 to bring GHC 7.8.4 into `$PATH`. Alternatively, you can use Stack instead of `nix-shell` directly to select compiler versions and other build tools per-project. It uses `nix-shell` under the hood when Nix support is turned on. -See [How to build a Haskell project using Stack]. +See [How to build a Haskell project using Stack](#how-to-build-a-haskell-project-using-stack). If you're using `cabal-install`, re-running `cabal configure` inside the spawned shell switches your build to use that compiler instead. If you're working on @@ -352,9 +352,9 @@ you want them to come from. Add the following to `configuration.nix`. ```nix services.hoogle = { -enable = true; -packages = (hpkgs: with hpkgs; [text cryptonite]); -haskellPackages = pkgs.haskellPackages; + enable = true; + packages = (hpkgs: with hpkgs; [text cryptonite]); + haskellPackages = pkgs.haskellPackages; }; ``` @@ -366,7 +366,7 @@ automatically select the right version of GHC and other build tools to build, test and execute apps in an existing project downloaded from somewhere on the Internet. Pass the `--nix` flag to any `stack` command to do so, e.g. ```shell -git clone --recursive http://github.com/yesodweb/wai +git clone --recursive https://github.com/yesodweb/wai cd wai stack --nix build ``` @@ -935,7 +935,7 @@ The implementation can be found in the [integer-gmp](http://hackage.haskell.org/package/integer-gmp) package. A potential problem with this is that GMP is licensed under the -[GNU Lesser General Public License (LGPL)](http://www.gnu.org/copyleft/lesser.html), +[GNU Lesser General Public License (LGPL)](https://www.gnu.org/copyleft/lesser.html), a kind of "copyleft" license. According to the terms of the LGPL, paragraph 5, you may distribute a program that is designed to be compiled and dynamically linked with the library under the terms of your choice (i.e., commercially) but diff --git a/doc/languages-frameworks/idris.section.md b/doc/languages-frameworks/idris.section.md index 005ed3602851ccee3a0dba23da67976335751471..50979d76d98be98951fcee60f74ae0f2e4a52fe2 100644 --- a/doc/languages-frameworks/idris.section.md +++ b/doc/languages-frameworks/idris.section.md @@ -1,39 +1,115 @@ -Idris packages -============== +# Idris packages -This directory contains build rules for idris packages. In addition, -it contains several functions to build and compose those packages. -Everything is exposed to the user via the `idrisPackages` attribute. +## Installing Idris -callPackage ------------- +The easiest way to get a working idris version is to install the `idris` attribute: -This is like the normal nixpkgs callPackage function, specialized to -idris packages. +``` +$ # On NixOS +$ nix-env -i nixos.idris +$ # On non-NixOS +$ nix-env -i nixpkgs.idris +``` -builtins ---------- +This however only provides the `prelude` and `base` libraries. To install additional libraries: -This is a list of all of the libraries that come packaged with Idris -itself. +``` +$ nix-env -iE 'pkgs: pkgs.idrisPackages.with-packages (with pkgs.idrisPackages; [ contrib pruviloj ])' +``` -build-idris-package --------------------- +To see all available Idris packages: +``` +$ # On NixOS +$ nix-env -qaPA nixos.idrisPackages +$ # On non-NixOS +$ nix-env -qaPA nixpkgs.idrisPackages +``` -A function to build an idris package. Its sole argument is a set like -you might pass to `stdenv.mkDerivation`, except `build-idris-package` -sets several attributes for you. See `build-idris-package.nix` for -details. +Similarly, entering a `nix-shell`: +``` +$ nix-shell -p 'idrisPackages.with-packages (with idrisPackages; [ contrib pruviloj ])' +``` -build-builtin-package ----------------------- +## Starting Idris with library support -A version of `build-idris-package` specialized to builtin libraries. -Mostly for internal use. +To have access to these libraries in idris, call it with an argument `-p ` for each library: -with-packages -------------- +``` +$ nix-shell -p 'idrisPackages.with-packages (with idrisPackages; [ contrib pruviloj ])' +[nix-shell:~]$ idris -p contrib -p pruviloj +``` -Bundle idris together with a list of packages. Because idris currently -only supports a single directory in its library path, you must include -all desired libraries here, including `prelude` and `base`. \ No newline at end of file +A listing of all available packages the Idris binary has access to is available via `--listlibs`: + +``` +$ idris --listlibs +00prelude-idx.ibc +pruviloj +base +contrib +prelude +00pruviloj-idx.ibc +00base-idx.ibc +00contrib-idx.ibc +``` + +## Building an Idris project with Nix + +As an example of how a Nix expression for an Idris package can be created, here is the one for `idrisPackages.yaml`: + +```nix +{ build-idris-package +, fetchFromGitHub +, contrib +, lightyear +, lib +}: +build-idris-package { + name = "yaml"; + version = "2018-01-25"; + + # This is the .ipkg file that should be built, defaults to the package name + # In this case it should build `Yaml.ipkg` instead of `yaml.ipkg` + # This is only necessary because the yaml packages ipkg file is + # different from its package name here. + ipkgName = "Yaml"; + # Idris dependencies to provide for the build + idrisDeps = [ contrib lightyear ]; + + src = fetchFromGitHub { + owner = "Heather"; + repo = "Idris.Yaml"; + rev = "5afa51ffc839844862b8316faba3bafa15656db4"; + sha256 = "1g4pi0swmg214kndj85hj50ccmckni7piprsxfdzdfhg87s0avw7"; + }; + + meta = { + description = "Idris YAML lib"; + homepage = https://github.com/Heather/Idris.Yaml; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.brainrape ]; + }; +} +``` + +Assuming this file is saved as `yaml.nix`, it's buildable using + +``` +$ nix-build -E '(import {}).idrisPackages.callPackage ./yaml.nix {}' +``` + +Or it's possible to use + +```nix +with import {}; + +{ + yaml = idrisPackages.callPackage ./yaml.nix {}; +} +``` + +in another file (say `default.nix`) to be able to build it with + +``` +$ nix-build -A yaml +``` diff --git a/doc/languages-frameworks/index.xml b/doc/languages-frameworks/index.xml index f22984cb56b0aba028488f843539982ba6bb1d78..4564df98fe99b34187481e98fd441927bb48e4d8 100644 --- a/doc/languages-frameworks/index.xml +++ b/doc/languages-frameworks/index.xml @@ -10,15 +10,18 @@ Nixpkgs to easily build packages for other programming languages, such as Perl or Haskell. These are described in this chapter.
+ + + @@ -26,6 +29,7 @@ + diff --git a/doc/languages-frameworks/ios.section.md b/doc/languages-frameworks/ios.section.md new file mode 100644 index 0000000000000000000000000000000000000000..6684b809ffe614e1318f235c8c3e0e6de4505152 --- /dev/null +++ b/doc/languages-frameworks/ios.section.md @@ -0,0 +1,219 @@ +--- +title: iOS +author: Sander van der Burg +date: 2018-11-18 +--- +# iOS + +This component is basically a wrapper/workaround that makes it possible to +expose an Xcode installation as a Nix package by means of symlinking to the +relevant executables on the host system. + +Since Xcode can't be packaged with Nix, nor we can publish it as a Nix package +(because of its license) this is basically the only integration strategy +making it possible to do iOS application builds that integrate with other +components of the Nix ecosystem + +The primary objective of this project is to use the Nix expression language to +specify how iOS apps can be built from source code, and to automatically spawn +iOS simulator instances for testing. + +This component also makes it possible to use [Hydra](http://nixos.org/hydra), +the Nix-based continuous integration server to regularly build iOS apps and to +do wireless ad-hoc installations of enterprise IPAs on iOS devices through +Hydra. + +The Xcode build environment implements a number of features. + +Deploying a proxy component wrapper exposing Xcode +-------------------------------------------------- +The first use case is deploying a Nix package that provides symlinks to the Xcode +installation on the host system. This package can be used as a build input to +any build function implemented in the Nix expression language that requires +Xcode. + +```nix +let + pkgs = import {}; + + xcodeenv = import ./xcodeenv { + inherit (pkgs) stdenv; + }; +in +xcodeenv.composeXcodeWrapper { + version = "9.2"; + xcodeBaseDir = "/Applications/Xcode.app"; +} +``` + +By deploying the above expression with `nix-build` and inspecting its content +you will notice that several Xcode-related executables are exposed as a Nix +package: + +```bash +$ ls result/bin +lrwxr-xr-x 1 sander staff 94 1 jan 1970 Simulator -> /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator +lrwxr-xr-x 1 sander staff 17 1 jan 1970 codesign -> /usr/bin/codesign +lrwxr-xr-x 1 sander staff 17 1 jan 1970 security -> /usr/bin/security +lrwxr-xr-x 1 sander staff 21 1 jan 1970 xcode-select -> /usr/bin/xcode-select +lrwxr-xr-x 1 sander staff 61 1 jan 1970 xcodebuild -> /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild +lrwxr-xr-x 1 sander staff 14 1 jan 1970 xcrun -> /usr/bin/xcrun +``` + +Building an iOS application +--------------------------- +We can build an iOS app executable for the simulator, or an IPA/xcarchive file +for release purposes, e.g. ad-hoc, enterprise or store installations, by +executing the `xcodeenv.buildApp {}` function: + +```nix +let + pkgs = import {}; + + xcodeenv = import ./xcodeenv { + inherit (pkgs) stdenv; + }; +in +xcodeenv.buildApp { + name = "MyApp"; + src = ./myappsources; + sdkVersion = "11.2"; + + target = null; # Corresponds to the name of the app by default + configuration = null; # Release for release builds, Debug for debug builds + scheme = null; # -scheme will correspond to the app name by default + sdk = null; # null will set it to 'iphonesimulator` for simulator builds or `iphoneos` to real builds + xcodeFlags = ""; + + release = true; + certificateFile = ./mycertificate.p12; + certificatePassword = "secret"; + provisioningProfile = ./myprovisioning.profile; + signMethod = "ad-hoc"; # 'enterprise' or 'store' + generateIPA = true; + generateXCArchive = false; + + enableWirelessDistribution = true; + installURL = "/installipa.php"; + bundleId = "mycompany.myapp"; + appVersion = "1.0"; + + # Supports all xcodewrapper parameters as well + xcodeBaseDir = "/Applications/Xcode.app"; +} +``` + +The above function takes a variety of parameters: +* The `name` and `src` parameters are mandatory and specify the name of the app + and the location where the source code resides +* `sdkVersion` specifies which version of the iOS SDK to use. + +It also possile to adjust the `xcodebuild` parameters. This is only needed in +rare circumstances. In most cases the default values should suffice: + +* Specifies which `xcodebuild` target to build. By default it takes the target + that has the same name as the app. +* The `configuration` parameter can be overridden if desired. By default, it + will do a debug build for the simulator and a release build for real devices. +* The `scheme` parameter specifies which `-scheme` parameter to propagate to + `xcodebuild`. By default, it corresponds to the app name. +* The `sdk` parameter specifies which SDK to use. By default, it picks + `iphonesimulator` for simulator builds and `iphoneos` for release builds. +* The `xcodeFlags` parameter specifies arbitrary command line parameters that + should be propagated to `xcodebuild`. + +By default, builds are carried out for the iOS simulator. To do release builds +(builds for real iOS devices), you must set the `release` parameter to `true`. +In addition, you need to set the following parameters: + +* `certificateFile` refers to a P12 certificate file. +* `certificatePassword` specifies the password of the P12 certificate. +* `provisioningProfile` refers to the provision profile needed to sign the app +* `signMethod` should refer to `ad-hoc` for signing the app with an ad-hoc + certificate, `enterprise` for enterprise certificates and `app-store` for App + store certificates. +* `generateIPA` specifies that we want to produce an IPA file (this is probably + what you want) +* `generateXCArchive` specifies thet we want to produce an xcarchive file. + +When building IPA files on Hydra and when it is desired to allow iOS devices to +install IPAs by browsing to the Hydra build products page, you can enable the +`enableWirelessDistribution` parameter. + +When enabled, you need to configure the following options: + +* The `installURL` parameter refers to the URL of a PHP script that composes the + `itms-services://` URL allowing iOS devices to install the IPA file. +* `bundleId` refers to the bundle ID value of the app +* `appVersion` refers to the app's version number + +To use wireless adhoc distributions, you must also install the corresponding +PHP script on a web server (see section: 'Installing the PHP script for wireless +ad hoc installations from Hydra' for more information). + +In addition to the build parameters, you can also specify any parameters that +the `xcodeenv.composeXcodeWrapper {}` function takes. For example, the +`xcodeBaseDir` parameter can be overridden to refer to a different Xcode +version. + +Spawning simulator instances +---------------------------- +In addition to building iOS apps, we can also automatically spawn simulator +instances: + +```nix +let + pkgs = import {}; + + xcodeenv = import ./xcodeenv { + inherit (pkgs) stdenv; + }; +in +xcode.simulateApp { + name = "simulate"; + + # Supports all xcodewrapper parameters as well + xcodeBaseDir = "/Applications/Xcode.app"; +} +``` + +The above expression produces a script that starts the simulator from the +provided Xcode installation. The script can be started as follows: + +```bash +./result/bin/run-test-simulator +``` + +By default, the script will show an overview of UDID for all available simulator +instances and asks you to pick one. You can also provide a UDID as a +command-line parameter to launch an instance automatically: + +```bash +./result/bin/run-test-simulator 5C93129D-CF39-4B1A-955F-15180C3BD4B8 +``` + +You can also extend the simulator script to automatically deploy and launch an +app in the requested simulator instance: + +```nix +let + pkgs = import {}; + + xcodeenv = import ./xcodeenv { + inherit (pkgs) stdenv; + }; +in +xcode.simulateApp { + name = "simulate"; + bundleId = "mycompany.myapp"; + app = xcode.buildApp { + # ... + }; + + # Supports all xcodewrapper parameters as well + xcodeBaseDir = "/Applications/Xcode.app"; +} +``` + +By providing the result of an `xcode.buildApp {}` function and configuring the +app bundle id, the app gets deployed automatically and started. diff --git a/doc/languages-frameworks/java.xml b/doc/languages-frameworks/java.xml index 1acea6a7547a8fa357acbd4738adf5e3c45b3f8a..667a795a8d3ac50a558c4a4d01cee7d96f4de47a 100644 --- a/doc/languages-frameworks/java.xml +++ b/doc/languages-frameworks/java.xml @@ -16,18 +16,17 @@ stdenv.mkDerivation { } Note that jdk is an alias for the OpenJDK (self-built - where available, or pre-built via Zulu). - Platforms with OpenJDK not (yet) in Nixpkgs (Aarch32, - Aarch64) point to the (unfree) - oraclejdk. - + where available, or pre-built via Zulu). Platforms with OpenJDK not (yet) in + Nixpkgs (Aarch32, Aarch64) point to the + (unfree) oraclejdk. + JAR files that are intended to be used by other packages should be installed - in $out/share/java. JDKs have a stdenv setup hook - that add any JARs in the share/java directories of the - build inputs to the CLASSPATH environment variable. For - instance, if the package libfoo installs a JAR named + in $out/share/java. JDKs have a stdenv setup hook that + add any JARs in the share/java directories of the build + inputs to the CLASSPATH environment variable. For instance, if + the package libfoo installs a JAR named foo.jar in its share/java directory, and another package declares the attribute @@ -61,18 +60,17 @@ installPhase = ${jre}/bin/java instead of ${jdk}/bin/java, you prevent your package from depending on the JDK at runtime. - + - + Note all JDKs passthru home, so if your application requires environment variables like JAVA_HOME being set, that can be done in a generic fashion with the --set argument of makeWrapper: - --set JAVA_HOME ${jdk.home} - + It is possible to use a different Java compiler than javac diff --git a/doc/languages-frameworks/node.section.md b/doc/languages-frameworks/node.section.md index 17a203ed12befb2f34a70b1b2be1aa6f9a736339..c6dce04c7b8b00409e191b16b04c6cd679ef16d7 100644 --- a/doc/languages-frameworks/node.section.md +++ b/doc/languages-frameworks/node.section.md @@ -14,7 +14,7 @@ project. The package set also provides support for multiple Node.js versions. The policy is that a new package should be added to the collection for the latest stable LTS -release (which is currently 6.x), unless there is an explicit reason to support +release (which is currently 10.x), unless there is an explicit reason to support a different release. If your package uses native addons, you need to examine what kind of native @@ -26,7 +26,7 @@ build system it uses. Here are some examples: After you have identified the correct system, you need to override your package expression while adding in build system as a build input. For example, `dat` -requires `node-gyp-build`, so we override its expression in `default-v6.nix`: +requires `node-gyp-build`, so we override its expression in `default-v10.nix`: ```nix dat = nodePackages.dat.override (oldAttrs: { @@ -36,14 +36,14 @@ dat = nodePackages.dat.override (oldAttrs: { To add a package from NPM to nixpkgs: - 1. Modify `pkgs/development/node-packages/node-packages-v6.json` to add, update - or remove package entries. (Or `pkgs/development/node-packages/node-packages-v4.json` - for packages depending on Node.js 4.x) + 1. Modify `pkgs/development/node-packages/node-packages-v10.json` to add, update + or remove package entries. (Or `pkgs/development/node-packages/node-packages-v8.json` + for packages depending on Node.js 8.x) 2. Run the script: `(cd pkgs/development/node-packages && ./generate.sh)`. 3. Build your new package to test your changes: `cd /path/to/nixpkgs && nix-build -A nodePackages.`. - To build against a specific Node.js version (e.g. 4.x): - `nix-build -A nodePackages_4_x.` + To build against a specific Node.js version (e.g. 10.x): + `nix-build -A nodePackages_10_x.` 4. Add and commit all modified and generated files. For more information about the generation process, consult the diff --git a/doc/languages-frameworks/ocaml.xml b/doc/languages-frameworks/ocaml.xml new file mode 100644 index 0000000000000000000000000000000000000000..0deadf2edd0367a57c1613d644f618d60163274f --- /dev/null +++ b/doc/languages-frameworks/ocaml.xml @@ -0,0 +1,97 @@ +
+ OCaml + + + OCaml libraries should be installed in + $(out)/lib/ocaml/${ocaml.version}/site-lib/. Such + directories are automatically added to the $OCAMLPATH + environment variable when building another package that depends on them or + when opening a nix-shell. + + + + Given that most of the OCaml ecosystem is now built with dune, nixpkgs + includes a convenience build support function called + buildDunePackage that will build an OCaml package using + dune, OCaml and findlib and any additional dependencies provided as + buildInputs or propagatedBuildInputs. + + + + Here is a simple package example. It defines an (optional) attribute + minimumOCamlVersion that will be used to throw a + descriptive evaluation error if building with an older OCaml is attempted. It + uses the fetchFromGitHub fetcher to get its source. It + sets the doCheck (optional) attribute to + true which means that tests will be run with dune + runtest -p angstrom after the build (dune build -p + angstrom) is complete. It uses alcotest as a + build input (because it is needed to run the tests) and + bigstringaf and result as propagated + build inputs (thus they will also be available to libraries depending on this + library). The library will be installed using the + angstrom.install file that dune generates. + + + +{ stdenv, fetchFromGitHub, buildDunePackage, alcotest, result, bigstringaf }: + +buildDunePackage rec { + pname = "angstrom"; + version = "0.10.0"; + + minimumOCamlVersion = "4.03"; + + src = fetchFromGitHub { + owner = "inhabitedtype"; + repo = pname; + rev = version; + sha256 = "0lh6024yf9ds0nh9i93r9m6p5psi8nvrqxl5x7jwl13zb0r9xfpw"; + }; + + buildInputs = [ alcotest ]; + propagatedBuildInputs = [ bigstringaf result ]; + doCheck = true; + + meta = { + homepage = https://github.com/inhabitedtype/angstrom; + description = "OCaml parser combinators built for speed and memory efficiency"; + license = stdenv.lib.licenses.bsd3; + maintainers = with stdenv.lib.maintainers; [ sternenseemann ]; + }; +} + + + + Here is a second example, this time using a source archive generated with + dune-release. It is a good idea to use this archive when + it is available as it will usually contain substituted variables such as a + %%VERSION%% field. This library does not depend on any + other OCaml library and no tests are run after building it. + + + +{ stdenv, fetchurl, buildDunePackage }: + +buildDunePackage rec { + pname = "wtf8"; + version = "1.0.1"; + + minimumOCamlVersion = "4.01"; + + src = fetchurl { + url = "https://github.com/flowtype/ocaml-${pname}/releases/download/v${version}/${pname}-${version}.tbz"; + sha256 = "1msg3vycd3k8qqj61sc23qks541cxpb97vrnrvrhjnqxsqnh6ygq"; + }; + + meta = with stdenv.lib; { + homepage = https://github.com/flowtype/ocaml-wtf8; + description = "WTF-8 is a superset of UTF-8 that allows unpaired surrogates."; + license = licenses.mit; + maintainers = [ maintainers.eqyiel ]; + }; +} + +
diff --git a/doc/languages-frameworks/python.section.md b/doc/languages-frameworks/python.section.md index 93eb5af0f2cc08d19f87651f33a33381d8502d1e..b72616a75658a3513f026c9211626e946085adec 100644 --- a/doc/languages-frameworks/python.section.md +++ b/doc/languages-frameworks/python.section.md @@ -186,25 +186,24 @@ building Python libraries is `buildPythonPackage`. Let's see how we can build th `toolz` package. ```nix -{ # ... +{ lib, buildPythonPackage, fetchPypi }: - toolz = buildPythonPackage rec { - pname = "toolz"; - version = "0.7.4"; +buildPythonPackage rec { + pname = "toolz"; + version = "0.7.4"; - src = fetchPypi { - inherit pname version; - sha256 = "43c2c9e5e7a16b6c88ba3088a9bfc82f7db8e13378be7c78d6c14a5f8ed05afd"; - }; + src = fetchPypi { + inherit pname version; + sha256 = "43c2c9e5e7a16b6c88ba3088a9bfc82f7db8e13378be7c78d6c14a5f8ed05afd"; + }; - doCheck = false; + doCheck = false; - meta = { - homepage = "https://github.com/pytoolz/toolz/"; - description = "List processing tools and functional utilities"; - license = licenses.bsd3; - maintainers = with maintainers; [ fridh ]; - }; + meta = with lib; { + homepage = https://github.com/pytoolz/toolz; + description = "List processing tools and functional utilities"; + license = licenses.bsd3; + maintainers = with maintainers; [ fridh ]; }; } ``` @@ -267,43 +266,43 @@ that we introduced with the `let` expression. #### Handling dependencies -Our example, `toolz`, does not have any dependencies on other Python -packages or system libraries. According to the manual, `buildPythonPackage` -uses the arguments `buildInputs` and `propagatedBuildInputs` to specify dependencies. If something is -exclusively a build-time dependency, then the dependency should be included as a -`buildInput`, but if it is (also) a runtime dependency, then it should be added -to `propagatedBuildInputs`. Test dependencies are considered build-time dependencies. +Our example, `toolz`, does not have any dependencies on other Python packages or +system libraries. According to the manual, `buildPythonPackage` uses the +arguments `buildInputs` and `propagatedBuildInputs` to specify dependencies. If +something is exclusively a build-time dependency, then the dependency should be +included as a `buildInput`, but if it is (also) a runtime dependency, then it +should be added to `propagatedBuildInputs`. Test dependencies are considered +build-time dependencies and passed to `checkInputs`. The following example shows which arguments are given to `buildPythonPackage` in order to build [`datashape`](https://github.com/blaze/datashape). ```nix -{ # ... +{ lib, buildPythonPackage, fetchPypi, numpy, multipledispatch, dateutil, pytest }: - datashape = buildPythonPackage rec { - pname = "datashape"; - version = "0.4.7"; +buildPythonPackage rec { + pname = "datashape"; + version = "0.4.7"; - src = fetchPypi { - inherit pname version; - sha256 = "14b2ef766d4c9652ab813182e866f493475e65e558bed0822e38bf07bba1a278"; - }; + src = fetchPypi { + inherit pname version; + sha256 = "14b2ef766d4c9652ab813182e866f493475e65e558bed0822e38bf07bba1a278"; + }; - checkInputs = with self; [ pytest ]; - propagatedBuildInputs = with self; [ numpy multipledispatch dateutil ]; + checkInputs = [ pytest ]; + propagatedBuildInputs = [ numpy multipledispatch dateutil ]; - meta = { - homepage = https://github.com/ContinuumIO/datashape; - description = "A data description language"; - license = licenses.bsd2; - maintainers = with maintainers; [ fridh ]; - }; + meta = with lib; { + homepage = https://github.com/ContinuumIO/datashape; + description = "A data description language"; + license = licenses.bsd2; + maintainers = with maintainers; [ fridh ]; }; } ``` We can see several runtime dependencies, `numpy`, `multipledispatch`, and -`dateutil`. Furthermore, we have one `buildInput`, i.e. `pytest`. `pytest` is a +`dateutil`. Furthermore, we have one `checkInputs`, i.e. `pytest`. `pytest` is a test runner and is only used during the `checkPhase` and is therefore not added to `propagatedBuildInputs`. @@ -313,25 +312,24 @@ Python bindings to `libxml2` and `libxslt`. These libraries are only required when building the bindings and are therefore added as `buildInputs`. ```nix -{ # ... +{ lib, pkgs, buildPythonPackage, fetchPypi }: - lxml = buildPythonPackage rec { - pname = "lxml"; - version = "3.4.4"; +buildPythonPackage rec { + pname = "lxml"; + version = "3.4.4"; - src = fetchPypi { - inherit pname version; - sha256 = "16a0fa97hym9ysdk3rmqz32xdjqmy4w34ld3rm3jf5viqjx65lxk"; - }; + src = fetchPypi { + inherit pname version; + sha256 = "16a0fa97hym9ysdk3rmqz32xdjqmy4w34ld3rm3jf5viqjx65lxk"; + }; - buildInputs = with self; [ pkgs.libxml2 pkgs.libxslt ]; + buildInputs = [ pkgs.libxml2 pkgs.libxslt ]; - meta = { - description = "Pythonic binding for the libxml2 and libxslt libraries"; - homepage = https://lxml.de; - license = licenses.bsd3; - maintainers = with maintainers; [ sjourdois ]; - }; + meta = with lib; { + description = "Pythonic binding for the libxml2 and libxslt libraries"; + homepage = https://lxml.de; + license = licenses.bsd3; + maintainers = with maintainers; [ sjourdois ]; }; } ``` @@ -347,35 +345,34 @@ find each of them in a different folder, and therefore we have to set `LDFLAGS` and `CFLAGS`. ```nix -{ # ... +{ lib, pkgs, buildPythonPackage, fetchPypi, numpy, scipy }: - pyfftw = buildPythonPackage rec { - pname = "pyFFTW"; - version = "0.9.2"; +buildPythonPackage rec { + pname = "pyFFTW"; + version = "0.9.2"; - src = fetchPypi { - inherit pname version; - sha256 = "f6bbb6afa93085409ab24885a1a3cdb8909f095a142f4d49e346f2bd1b789074"; - }; + src = fetchPypi { + inherit pname version; + sha256 = "f6bbb6afa93085409ab24885a1a3cdb8909f095a142f4d49e346f2bd1b789074"; + }; - buildInputs = [ pkgs.fftw pkgs.fftwFloat pkgs.fftwLongDouble]; + buildInputs = [ pkgs.fftw pkgs.fftwFloat pkgs.fftwLongDouble]; - propagatedBuildInputs = with self; [ numpy scipy ]; + propagatedBuildInputs = [ numpy scipy ]; - # Tests cannot import pyfftw. pyfftw works fine though. - doCheck = false; + # Tests cannot import pyfftw. pyfftw works fine though. + doCheck = false; - preConfigure = '' - export LDFLAGS="-L${pkgs.fftw.dev}/lib -L${pkgs.fftwFloat.out}/lib -L${pkgs.fftwLongDouble.out}/lib" - export CFLAGS="-I${pkgs.fftw.dev}/include -I${pkgs.fftwFloat.dev}/include -I${pkgs.fftwLongDouble.dev}/include" - ''; + preConfigure = '' + export LDFLAGS="-L${pkgs.fftw.dev}/lib -L${pkgs.fftwFloat.out}/lib -L${pkgs.fftwLongDouble.out}/lib" + export CFLAGS="-I${pkgs.fftw.dev}/include -I${pkgs.fftwFloat.dev}/include -I${pkgs.fftwLongDouble.dev}/include" + ''; - meta = { - description = "A pythonic wrapper around FFTW, the FFT library, presenting a unified interface for all the supported transforms"; - homepage = http://hgomersall.github.com/pyFFTW/; - license = with licenses; [ bsd2 bsd3 ]; - maintainers = with maintainers; [ fridh ]; - }; + meta = with lib; { + description = "A pythonic wrapper around FFTW, the FFT library, presenting a unified interface for all the supported transforms"; + homepage = http://hgomersall.github.com/pyFFTW; + license = with licenses; [ bsd2 bsd3 ]; + maintainers = with maintainers; [ fridh ]; }; } ``` @@ -403,7 +400,7 @@ Indeed, we can just add any package we like to have in our environment to `propa ```nix with import {}; -with pkgs.python35Packages; +with python35Packages; buildPythonPackage rec { name = "mypackage"; @@ -436,7 +433,7 @@ Let's split the package definition from the environment definition. We first create a function that builds `toolz` in `~/path/to/toolz/release.nix` ```nix -{ lib, pkgs, buildPythonPackage }: +{ lib, buildPythonPackage }: buildPythonPackage rec { pname = "toolz"; @@ -448,7 +445,7 @@ buildPythonPackage rec { }; meta = with lib; { - homepage = "http://github.com/pytoolz/toolz/"; + homepage = "https://github.com/pytoolz/toolz/"; description = "List processing tools and functional utilities"; license = licenses.bsd3; maintainers = with maintainers; [ fridh ]; @@ -456,18 +453,17 @@ buildPythonPackage rec { } ``` -It takes two arguments, `pkgs` and `buildPythonPackage`. +It takes an argument `buildPythonPackage`. We now call this function using `callPackage` in the definition of our environment ```nix with import {}; ( let - toolz = pkgs.callPackage /path/to/toolz/release.nix { - pkgs = pkgs; - buildPythonPackage = pkgs.python35Packages.buildPythonPackage; + toolz = callPackage /path/to/toolz/release.nix { + buildPythonPackage = python35Packages.buildPythonPackage; }; - in pkgs.python35.withPackages (ps: [ ps.numpy toolz ]) + in python35.withPackages (ps: [ ps.numpy toolz ]) ).env ``` @@ -478,18 +474,18 @@ don't explicitly define which `python` derivation should be used. In the above example we use `buildPythonPackage` that is part of the set `python35Packages`, and in this case the `python35` interpreter is automatically used. - - ## Reference ### Interpreters -Versions 2.7, 3.4, 3.5, 3.6 and 3.7 of the CPython interpreter are available as -respectively `python27`, `python34`, `python35` and `python36`. 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`. +Versions 2.7, 3.5, 3.6 and 3.7 of the CPython interpreter are available as +respectively `python27`, `python35`, `python36` and `python37`. The aliases +`python2` and `python3` correspond to respectively `python27` and +`python37`. The default interpreter, `python`, maps to `python2`. The PyPy +interpreters compatible with Python 2.7 and 3 are available as `pypy27` and +`pypy3`, with aliases `pypy2` mapping to `pypy27` and `pypy` mapping to +`pypy2`. The Nix expressions for the interpreters can be +found in `pkgs/development/interpreters/python`. All packages depending on any Python interpreter get appended `out/{python.sitePackages}` to `$PYTHONPATH` if such directory @@ -508,13 +504,13 @@ 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, e.g. `python3.4`. +- `executable`. Name of the interpreter executable, e.g. `python3.7`. - `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 libraries and applications that use `setuptools` or -`distutils` are typically build with respectively the `buildPythonPackage` and +`distutils` are typically built 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 @@ -530,7 +526,6 @@ attribute set is created for each available Python interpreter. The available sets are * `pkgs.python27Packages` -* `pkgs.python34Packages` * `pkgs.python35Packages` * `pkgs.python36Packages` * `pkgs.python37Packages` @@ -539,7 +534,7 @@ sets are and the aliases * `pkgs.python2Packages` pointing to `pkgs.python27Packages` -* `pkgs.python3Packages` pointing to `pkgs.python36Packages` +* `pkgs.python3Packages` pointing to `pkgs.python37Packages` * `pkgs.pythonPackages` pointing to `pkgs.python2Packages` #### `buildPythonPackage` function @@ -549,31 +544,31 @@ The `buildPythonPackage` function is implemented in The following is an example: ```nix +{ lib, buildPythonPackage, fetchPypi, hypothesis, setuptools_scm, attrs, py, setuptools, six, pluggy }: buildPythonPackage rec { - version = "3.3.1"; pname = "pytest"; - - preCheck = '' - # don't test bash builtins - rm testing/test_argcomplete.py - ''; + version = "3.3.1"; src = fetchPypi { inherit pname version; sha256 = "cf8436dc59d8695346fcd3ab296de46425ecab00d64096cebe79fb51ecb2eb93"; }; + postPatch = '' + # don't test bash builtins + rm testing/test_argcomplete.py + ''; + checkInputs = [ hypothesis ]; - buildInputs = [ setuptools_scm ]; + nativeBuildInputs = [ setuptools_scm ]; propagatedBuildInputs = [ attrs py setuptools six pluggy ]; - meta = with stdenv.lib; { + meta = with lib; { maintainers = with maintainers; [ domenkozar lovek323 madjar lsix ]; description = "Framework for writing tests"; }; } - ``` The `buildPythonPackage` mainly does four things: @@ -586,11 +581,6 @@ The `buildPythonPackage` mainly does four things: environment variable and add dependent libraries to script's `sys.path`. * In the `installCheck` phase, `${python.interpreter} setup.py test` is ran. -As in Perl, dependencies on other Python packages can be specified in the -`buildInputs` and `propagatedBuildInputs` attributes. If something is -exclusively a build-time dependency, use `buildInputs`; if it is (also) a runtime -dependency, use `propagatedBuildInputs`. - By default tests are run because `doCheck = true`. Test dependencies, like e.g. the test runner, should be added to `checkInputs`. @@ -602,11 +592,10 @@ as the interpreter unless overridden otherwise. All parameters from `stdenv.mkDerivation` function are still supported. The following are specific to `buildPythonPackage`: * `catchConflicts ? true`: 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`. * `disabled` ? false: If `true`, package is not build for the particular Python interpreter version. * `dontWrapPythonPrograms ? false`: Skip wrapping of python programs. -* `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 ? "setuptools"`: Format of the source. Valid options are `"setuptools"`, `"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. Use `other` when a custom `buildPhase` and/or `installPhase` is needed. +* `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 ? "setuptools"`: Format of the source. Valid options are `"setuptools"`, `"pyproject"`, `"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. Use `other` when a custom `buildPhase` and/or `installPhase` is needed. * `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"]`. * `namePrefix`: Prepends text to `${name}` parameter. In case of libraries, this defaults to `"python3.5-"` for Python 3.5, etc., and in case of applications to `""`. * `pythonPath ? []`: List of packages to be added into `$PYTHONPATH`. Packages in `pythonPath` are not propagated (contrary to `propagatedBuildInputs`). @@ -615,6 +604,14 @@ All parameters from `stdenv.mkDerivation` function are still supported. The foll * `removeBinByteCode ? true`: Remove bytecode from `/bin`. Bytecode is only created when the filenames end with `.py`. * `setupPyBuildFlags ? []`: List of flags passed to `setup.py build_ext` command. +The `stdenv.mkDerivation` function accepts various parameters for describing build inputs (see "Specifying dependencies"). The following are of special +interest for Python packages, either because these are primarily used, or because their behaviour is different: + +* `nativeBuildInputs ? []`: Build-time only dependencies. Typically executables as well as the items listed in `setup_requires`. +* `buildInputs ? []`: Build and/or run-time dependencies that need to be be compiled for the host machine. Typically non-Python libraries which are being linked. +* `checkInputs ? []`: Dependencies needed for running the `checkPhase`. These are added to `nativeBuildInputs` when `doCheck = true`. Items listed in `tests_require` go here. +* `propagatedBuildInputs ? []`: Aside from propagating dependencies, `buildPythonPackage` also injects code into and wraps executables with the paths included in this list. Items listed in `install_requires` go here. + ##### Overriding Python packages The `buildPythonPackage` function has a `overridePythonAttrs` method that @@ -645,9 +642,48 @@ in python.withPackages(ps: [ps.blaze])).env #### `buildPythonApplication` function -The `buildPythonApplication` function is practically the same as `buildPythonPackage`. -The difference is that `buildPythonPackage` by default prefixes the names of the packages with the version of the interpreter. -Because this is irrelevant for applications, the prefix is omitted. +The `buildPythonApplication` function is practically the same as +`buildPythonPackage`. The main purpose of this function is to build a Python +package where one is interested only in the executables, and not importable +modules. For that reason, when adding this package to a `python.buildEnv`, the +modules won't be made available. + +Another difference is that `buildPythonPackage` by default prefixes the names of +the packages with the version of the interpreter. Because this is irrelevant for +applications, the prefix is omitted. + +When packaging a python application with `buildPythonApplication`, it should be +called with `callPackage` and passed `python` or `pythonPackages` (possibly +specifying an interpreter version), like this: + +```nix +{ lib, python3Packages }: + +python3Packages.buildPythonApplication rec { + pname = "luigi"; + version = "2.7.9"; + + src = python3Packages.fetchPypi { + inherit pname version; + sha256 = "035w8gqql36zlan0xjrzz9j4lh9hs0qrsgnbyw07qs7lnkvbdv9x"; + }; + + propagatedBuildInputs = with python3Packages; [ tornado_4 python-daemon ]; + + meta = with lib; { + ... + }; +} +``` + +This is then added to `all-packages.nix` just as any other application would be. + +```nix +luigi = callPackage ../applications/networking/cluster/luigi { }; +``` + +Since the package is an application, a consumer doesn't need to care about +python versions or modules, which is why they don't go in `pythonPackages`. #### `toPythonApplication` function @@ -688,7 +724,7 @@ Saving the following as `default.nix` with import {}; python.buildEnv.override { - extraLibs = [ pkgs.pythonPackages.pyramid ]; + extraLibs = [ pythonPackages.pyramid ]; ignoreCollisions = true; } ``` @@ -770,11 +806,12 @@ Given a `default.nix`: ```nix with import {}; -buildPythonPackage { name = "myproject"; - -buildInputs = with pkgs.pythonPackages; [ pyramid ]; +pythonPackages.buildPythonPackage { + name = "myproject"; + buildInputs = with pythonPackages; [ pyramid ]; -src = ./.; } + src = ./.; +} ``` Running `nix-shell` with no arguments should give you @@ -799,7 +836,7 @@ community to help save time. No tool is preferred at the moment. ### Deterministic builds -Python 2.7, 3.5 and 3.6 are now built deterministically and 3.4 mostly. +The Python interpreters are now built deterministically. Minor modifications had to be made to the interpreters in order to generate deterministic bytecode. This has security implications and is relevant for those using Python in a `nix-shell`. @@ -835,7 +872,6 @@ example of such a situation is when `py.test` is used. ''; } ``` -- Unicode issues can typically be fixed by including `glibcLocales` in `buildInputs` and exporting `LC_ALL=en_US.utf-8`. - Tests that attempt to access `$HOME` can be fixed by using the following work-around before running tests (e.g. `preCheck`): `export HOME=$(mktemp -d)` ## FAQ @@ -961,10 +997,13 @@ Create this `default.nix` file, together with a `requirements.txt` and simply ex ```nix with import {}; -with pkgs.python27Packages; +with python27Packages; stdenv.mkDerivation { name = "impurePythonEnv"; + + src = null; + buildInputs = [ # these packages are required for virtualenv and pip to work: # @@ -984,14 +1023,15 @@ stdenv.mkDerivation { libxslt libzip stdenv - zlib ]; - src = null; + zlib + ]; + shellHook = '' - # set SOURCE_DATE_EPOCH so that we can use python wheels - SOURCE_DATE_EPOCH=$(date +%s) - virtualenv --no-setuptools venv - export PATH=$PWD/venv/bin:$PATH - pip install -r requirements.txt + # set SOURCE_DATE_EPOCH so that we can use python wheels + SOURCE_DATE_EPOCH=$(date +%s) + virtualenv --no-setuptools venv + export PATH=$PWD/venv/bin:$PATH + pip install -r requirements.txt ''; } ``` @@ -1041,8 +1081,7 @@ To modify only a Python package set instead of a whole Python derivation, use th Use the following overlay template: ```nix -self: super: -{ +self: super: { python = super.python.override { packageOverrides = python-self: python-super: { zerobin = python-super.zerobin.overrideAttrs (oldAttrs: { @@ -1057,6 +1096,42 @@ self: super: } ``` +### How to use Intel's MKL with numpy and scipy? + +A `site.cfg` is created that configures BLAS based on the `blas` parameter +of the `numpy` derivation. By passing in `mkl`, `numpy` and packages depending +on `numpy` will be built with `mkl`. + +The following is an overlay that configures `numpy` to use `mkl`: +```nix +self: super: { + python37 = super.python37.override { + packageOverrides = python-self: python-super: { + numpy = python-super.numpy.override { + blas = super.pkgs.mkl; + }; + }; + }; +} +``` + +`mkl` requires an `openmp` implementation when running with multiple processors. +By default, `mkl` will use Intel's `iomp` implementation if no other is +specified, but this is a runtime-only dependency and binary compatible with the +LLVM implementation. To use that one instead, Intel recommends users set it with +`LD_PRELOAD`. + +Note that `mkl` is only available on `x86_64-{linux,darwin}` platforms; +moreover, Hydra is not building and distributing pre-compiled binaries using it. + +### What inputs do `setup_requires`, `install_requires` and `tests_require` map to? + +In a `setup.py` or `setup.cfg` it is common to declare dependencies: + +* `setup_requires` corresponds to `nativeBuildInputs` +* `install_requires` corresponds to `propagatedBuildInputs` +* `tests_require` corresponds to `checkInputs` + ## Contributing ### Contributing guidelines @@ -1068,4 +1143,5 @@ Following rules are desired to be respected: * Make sure libraries build for all Python interpreters. * By default we enable tests. Make sure the tests are found and, in the case of libraries, are passing for all interpreters. If certain tests fail they can be disabled individually. Try to avoid disabling the tests altogether. In any case, when you disable tests, leave a comment explaining why. * Commit names of Python libraries should reflect that they are Python libraries, so write for example `pythonPackages.numpy: 1.11 -> 1.12`. - +* Attribute names in `python-packages.nix` should be normalized according to [PEP 0503](https://www.python.org/dev/peps/pep-0503/#normalized-names). + This means that characters should be converted to lowercase and `.` and `_` should be replaced by a single `-` (foo-bar-baz instead of Foo__Bar.baz ) diff --git a/doc/languages-frameworks/ruby.xml b/doc/languages-frameworks/ruby.xml index c52a72a3df4a746757d844ce94a3385d4b8cffad..df4e5acb22cb94892a5f0dd06c5e7be8b27d170e 100644 --- a/doc/languages-frameworks/ruby.xml +++ b/doc/languages-frameworks/ruby.xml @@ -50,6 +50,17 @@ bundlerEnv rec { future updates can be run easily.
+ + Updating Ruby packages can then be done like this: + + + + + + For tools written in Ruby - i.e. where the desire is to install a package and then execute e.g. rake at the command line, there is an diff --git a/doc/languages-frameworks/rust.section.md b/doc/languages-frameworks/rust.section.md index eec982d4c90ab75585121308413bcd07f43664ab..14b36f55f52f2a0402c4818fe370ea4c27943ae4 100644 --- a/doc/languages-frameworks/rust.section.md +++ b/doc/languages-frameworks/rust.section.md @@ -64,9 +64,6 @@ When the `Cargo.lock`, provided by upstream, is not in sync with the added in `cargoPatches` will also be prepended to the patches in `patches` at build-time. -To install crates with nix there is also an experimental project called -[nixcrates](https://github.com/fractalide/nixcrates). - ## Compiling Rust crates using Nix instead of Cargo ### Simple operation @@ -93,8 +90,8 @@ Now, the file produced by the call to `carnix`, called `hello.nix`, looks like: ``` # Generated by carnix 0.6.5: carnix -o hello.nix --src ./. Cargo.lock --standalone -{ lib, buildPlatform, buildRustCrate, fetchgit }: -let kernel = buildPlatform.parsed.kernel.name; +{ lib, stdenv, buildRustCrate, fetchgit }: +let kernel = stdenv.buildPlatform.parsed.kernel.name; # ... (content skipped) in rec { @@ -122,8 +119,8 @@ following nix file: ``` # Generated by carnix 0.6.5: carnix -o hello.nix --src ./. Cargo.lock --standalone -{ lib, buildPlatform, buildRustCrate, fetchgit }: -let kernel = buildPlatform.parsed.kernel.name; +{ lib, stdenv, buildRustCrate, fetchgit }: +let kernel = stdenv.buildPlatform.parsed.kernel.name; # ... (content skipped) in rec { @@ -306,11 +303,15 @@ with import {}; stdenv.mkDerivation { name = "rust-env"; - buildInputs = [ + nativeBuildInputs = [ rustc cargo - # Example Additional Dependencies - pkgconfig openssl + # Example Build-time Additional Dependencies + pkgconfig + ]; + buildInputs = [ + # Example Run-time Additional Dependencies + openssl ]; # Set Environment Variables diff --git a/doc/languages-frameworks/texlive.xml b/doc/languages-frameworks/texlive.xml index af0b07166e3ec70b8cea0dd795989c48aafa9877..5792a16963a97fe3bd78059acabce2222683c7eb 100644 --- a/doc/languages-frameworks/texlive.xml +++ b/doc/languages-frameworks/texlive.xml @@ -8,7 +8,7 @@ under attribute texlive. -
+
User's guide @@ -49,12 +49,12 @@ texlive.combine { - You can list packages e.g. by nix-repl. - -$ nix-repl -nix-repl> :l <nixpkgs> -nix-repl> texlive.collection-<TAB> - + You can list packages e.g. by nix repl. + :l +nix-repl> texlive.collection- +]]> @@ -68,7 +68,7 @@ nix-repl> texlive.collection-<TAB>
-
+
Known problems diff --git a/doc/languages-frameworks/titanium.section.md b/doc/languages-frameworks/titanium.section.md new file mode 100644 index 0000000000000000000000000000000000000000..7a97664ec59848ec406d29d88c740136d4a4a214 --- /dev/null +++ b/doc/languages-frameworks/titanium.section.md @@ -0,0 +1,115 @@ +--- +title: Titanium +author: Sander van der Burg +date: 2018-11-18 +--- +# Titanium + +The Nixpkgs repository contains facilities to deploy a variety of versions of +the [Titanium SDK](https://www.appcelerator.com) versions, a cross-platform +mobile app development framework using JavaScript as an implementation language, +and includes a function abstraction making it possible to build Titanium +applications for Android and iOS devices from source code. + +Not all Titanium features supported -- currently, it can only be used to build +Android and iOS apps. + +Building a Titanium app +----------------------- +We can build a Titanium app from source for Android or iOS and for debugging or +release purposes by invoking the `titaniumenv.buildApp {}` function: + +```nix +titaniumenv.buildApp { + name = "myapp"; + src = ./myappsource; + + preBuild = ""; + target = "android"; # or 'iphone' + tiVersion = "7.1.0.GA"; + release = true; + + androidsdkArgs = { + platformVersions = [ "25" "26" ]; + }; + androidKeyStore = ./keystore; + androidKeyAlias = "myfirstapp"; + androidKeyStorePassword = "secret"; + + xcodeBaseDir = "/Applications/Xcode.app"; + xcodewrapperArgs = { + version = "9.3"; + }; + iosMobileProvisioningProfile = ./myprovisioning.profile; + iosCertificateName = "My Company"; + iosCertificate = ./mycertificate.p12; + iosCertificatePassword = "secret"; + iosVersion = "11.3"; + iosBuildStore = false; + + enableWirelessDistribution = true; + installURL = "/installipa.php"; +} +``` + +The `titaniumenv.buildApp {}` function takes the following parameters: + +* The `name` parameter refers to the name in the Nix store. +* The `src` parameter refers to the source code location of the app that needs + to be built. +* `preRebuild` contains optional build instructions that are carried out before + the build starts. +* `target` indicates for which device the app must be built. Currently only + 'android' and 'iphone' (for iOS) are supported. +* `tiVersion` can be used to optionally override the requested Titanium version + in `tiapp.xml`. If not specified, it will use the version in `tiapp.xml`. +* `release` should be set to true when building an app for submission to the + Google Playstore or Apple Appstore. Otherwise, it should be false. + +When the `target` has been set to `android`, we can configure the following +parameters: + +* The `androidSdkArgs` parameter refers to an attribute set that propagates all + parameters to the `androidenv.composeAndroidPackages {}` function. This can + be used to install all relevant Android plugins that may be needed to perform + the Android build. If no parameters are given, it will deploy the platform + SDKs for API-levels 25 and 26 by default. + +When the `release` parameter has been set to true, you need to provide +parameters to sign the app: + +* `androidKeyStore` is the path to the keystore file +* `androidKeyAlias` is the key alias +* `androidKeyStorePassword` refers to the password to open the keystore file. + +When the `target` has been set to `iphone`, we can configure the following +parameters: + +* The `xcodeBaseDir` parameter refers to the location where Xcode has been + installed. When none value is given, the above value is the default. +* The `xcodewrapperArgs` parameter passes arbitrary parameters to the + `xcodeenv.composeXcodeWrapper {}` function. This can, for example, be used + to adjust the default version of Xcode. + +When `release` has been set to true, you also need to provide the following +parameters: + +* `iosMobileProvisioningProfile` refers to a mobile provisioning profile needed + for signing. +* `iosCertificateName` refers to the company name in the P12 certificate. +* `iosCertificate` refers to the path to the P12 file. +* `iosCertificatePassword` contains the password to open the P12 file. +* `iosVersion` refers to the iOS SDK version to use. It defaults to the latest + version. +* `iosBuildStore` should be set to `true` when building for the Apple Appstore + submission. For enterprise or ad-hoc builds it should be set to `false`. + +When `enableWirelessDistribution` has been enabled, you must also provide the +path of the PHP script (`installURL`) (that is included with the iOS build +environment) to enable wireless ad-hoc installations. + +Emulating or simulating the app +------------------------------- +It is also possible to simulate the correspond iOS simulator build by using +`xcodeenv.simulateApp {}` and emulate an Android APK by using +`androidenv.emulateApp {}`. diff --git a/doc/languages-frameworks/vim.section.md b/doc/languages-frameworks/vim.section.md index 1d6a4fe8da8d62a91450ffcb2f6994bbdcef3b29..c450a09f7bd2749e4a3a40c5f8c9032f840aed36 100644 --- a/doc/languages-frameworks/vim.section.md +++ b/doc/languages-frameworks/vim.section.md @@ -5,11 +5,17 @@ date: 2016-06-25 --- # User's Guide to Vim Plugins/Addons/Bundles/Scripts in Nixpkgs -You'll get a vim(-your-suffix) in PATH also loading the plugins you want. +Both Neovim and Vim can be configured to include your favorite plugins +and additional libraries. + Loading can be deferred; see examples. -Vim packages, VAM (=vim-addon-manager) and Pathogen are supported to load -packages. +At the moment we support three different methods for managing plugins: + +- Vim packages (*recommend*) +- VAM (=vim-addon-manager) +- Pathogen +- vim-plug ## Custom configuration @@ -17,6 +23,7 @@ Adding custom .vimrc lines can be done using the following code: ``` vim_configurable.customize { + # `name` specifies the name of the executable and package name = "vim-with-plugins"; vimrcConfig.customRC = '' @@ -25,9 +32,38 @@ vim_configurable.customize { } ``` -## Vim packages +This configuration is used when vim is invoked with the command specified as name, in this case `vim-with-plugins`. + +For Neovim the `configure` argument can be overridden to achieve the same: + +``` +neovim.override { + configure = { + customRC = '' + # here your custom configuration goes! + ''; + }; +} +``` -To store you plugins in Vim packages the following example can be used: +If you want to use `neovim-qt` as a graphical editor, you can configure it by overriding neovim in an overlay +or passing it an overridden neovimn: + +``` +neovim-qt.override { + neovim = neovim.override { + configure = { + customRC = '' + # your custom configuration + ''; + }; + }; +} +``` + +## Managing plugins with Vim packages + +To store you plugins in Vim packages (the native vim plugin manager, see `:help packages`) the following example can be used: ``` vim_configurable.customize { @@ -35,16 +71,88 @@ vim_configurable.customize { # loaded on launch start = [ youcompleteme fugitive ]; # manually loadable by calling `:packadd $plugin-name` + # however, if a vim plugin has a dependency that is not explicitly listed in + # opt that dependency will always be added to start to avoid confusion. opt = [ phpCompletion elm-vim ]; # To automatically load a plugin when opening a filetype, add vimrc lines like: # autocmd FileType php :packadd phpCompletion - } -}; + }; +} +``` + +`myVimPackage` is an arbitrary name for the generated package. You can choose any name you like. +For Neovim the syntax is: + +``` +neovim.override { + configure = { + customRC = '' + # here your custom configuration goes! + ''; + packages.myVimPackage = with pkgs.vimPlugins; { + # see examples below how to use custom packages + start = [ ]; + # If a vim plugin has a dependency that is not explicitly listed in + # opt that dependency will always be added to start to avoid confusion. + opt = [ ]; + }; + }; +} +``` + +The resulting package can be added to `packageOverrides` in `~/.nixpkgs/config.nix` to make it installable: + +``` +{ + packageOverrides = pkgs: with pkgs; { + myVim = vim_configurable.customize { + # `name` specifies the name of the executable and package + name = "vim-with-plugins"; + # add here code from the example section + }; + myNeovim = neovim.override { + configure = { + # add here code from the example section + }; + }; + }; +} ``` -## VAM +After that you can install your special grafted `myVim` or `myNeovim` packages. -### dependencies by Vim plugins +## Managing plugins with vim-plug + +To use [vim-plug](https://github.com/junegunn/vim-plug) to manage your Vim +plugins the following example can be used: + +``` +vim_configurable.customize { + vimrcConfig.packages.myVimPackage = with pkgs.vimPlugins; { + # loaded on launch + plug.plugins = [ youcompleteme fugitive phpCompletion elm-vim ]; + }; +} +``` + +For Neovim the syntax is: + +``` +neovim.override { + configure = { + customRC = '' + # here your custom configuration goes! + ''; + plug.plugins = with pkgs.vimPlugins; [ + vim-go + ]; + }; +} +``` + +## Managing plugins with VAM + +### Handling dependencies of Vim plugins VAM introduced .json files supporting dependencies without versioning assuming that "using latest version" is ok most of the time. @@ -125,11 +233,23 @@ Sample output2: ] +## Adding new plugins to nixpkgs + +In `pkgs/misc/vim-plugins/vim-plugin-names` we store the plugin names +for all vim plugins we automatically generate plugins for. +The format of this file `github username/github repository`: +For example https://github.com/scrooloose/nerdtree becomes `scrooloose/nerdtree`. +After adding your plugin to this file run the `./update.py` in the same folder. +This will updated a file called `generated.nix` and make your plugin accessible in the +`vimPlugins` attribute set (`vimPlugins.nerdtree` in our example). +If additional steps to the build process of the plugin are required, add an +override to the `pkgs/misc/vim-plugins/default.nix` in the same directory. + ## Important repositories - [vim-pi](https://bitbucket.org/vimcommunity/vim-pi) is a plugin repository from VAM plugin manager meant to be used by others as well used by -- [vim2nix](http://github.com/MarcWeber/vim-addon-vim2nix) which generates the +- [vim2nix](https://github.com/MarcWeber/vim-addon-vim2nix) which generates the .nix code diff --git a/doc/lib-function-docs.nix b/doc/lib-function-docs.nix new file mode 100644 index 0000000000000000000000000000000000000000..421f848d25abffc5b1e782a8af117f57dbaaac43 --- /dev/null +++ b/doc/lib-function-docs.nix @@ -0,0 +1,26 @@ +# Generates the documentation for library functons via nixdoc. To add +# another library function file to this list, the include list in the +# file `doc/functions/library.xml` must also be updated. + +{ pkgs ? import ./.. {}, locationsXml }: + +with pkgs; stdenv.mkDerivation { + name = "nixpkgs-lib-docs"; + src = ./../lib; + + buildInputs = [ nixdoc ]; + installPhase = '' + function docgen { + nixdoc -c "$1" -d "$2" -f "../lib/$1.nix" > "$out/$1.xml" + } + + mkdir -p $out + ln -s ${locationsXml} $out/locations.xml + + docgen strings 'String manipulation functions' + docgen trivial 'Miscellaneous functions' + docgen lists 'List manipulation functions' + docgen debug 'Debugging functions' + docgen options 'NixOS / nixpkgs option handling' + ''; +} diff --git a/doc/lib-function-locations.nix b/doc/lib-function-locations.nix new file mode 100644 index 0000000000000000000000000000000000000000..ae7036e4626439ecf12028dff84366c86843ce61 --- /dev/null +++ b/doc/lib-function-locations.nix @@ -0,0 +1,85 @@ +{ pkgs ? (import ./.. { }), nixpkgs ? { }}: +let + revision = pkgs.lib.trivial.revisionWithDefault (nixpkgs.revision or "master"); + + libDefPos = set: + builtins.map + (name: { + name = name; + location = builtins.unsafeGetAttrPos name set; + }) + (builtins.attrNames set); + + libset = toplib: + builtins.map + (subsetname: { + subsetname = subsetname; + functions = libDefPos toplib."${subsetname}"; + }) + (builtins.filter + (name: builtins.isAttrs toplib."${name}") + (builtins.attrNames toplib)); + + nixpkgsLib = pkgs.lib; + + flattenedLibSubset = { subsetname, functions }: + builtins.map + (fn: { + name = "lib.${subsetname}.${fn.name}"; + value = fn.location; + }) + functions; + + locatedlibsets = libs: builtins.map flattenedLibSubset (libset libs); + removeFilenamePrefix = prefix: filename: + let + prefixLen = (builtins.stringLength prefix) + 1; # +1 to remove the leading / + filenameLen = builtins.stringLength filename; + substr = builtins.substring prefixLen filenameLen filename; + in substr; + + removeNixpkgs = removeFilenamePrefix (builtins.toString pkgs.path); + + liblocations = + builtins.filter + (elem: elem.value != null) + (nixpkgsLib.lists.flatten + (locatedlibsets nixpkgsLib)); + + fnLocationRelative = { name, value }: + { + inherit name; + value = value // { file = removeNixpkgs value.file; }; + }; + + relativeLocs = (builtins.map fnLocationRelative liblocations); + sanitizeId = builtins.replaceStrings + [ "'" ] + [ "-prime" ]; + + urlPrefix = "https://github.com/NixOS/nixpkgs/blob/${revision}"; + xmlstrings = (nixpkgsLib.strings.concatMapStrings + ({ name, value }: + '' +
${name} + + Located at + ${value.file}:${builtins.toString value.line} + in <nixpkgs>. + +
+ '') + relativeLocs); + +in pkgs.writeText + "locations.xml" + '' +
+ All the locations for every lib function + This file is only for inclusion by other files. + ${xmlstrings} +
+ '' diff --git a/doc/meta.xml b/doc/meta.xml index 496b32916552b4066ce11c290e7e0d047b9bacbe..774ed2db75009a28378c74d48eb1c37f7aaec637 100644 --- a/doc/meta.xml +++ b/doc/meta.xml @@ -14,7 +14,7 @@ meta = with stdenv.lib; { GNU Hello is a program that prints "Hello, world!" when you run it. It is fully customizable. ''; - homepage = http://www.gnu.org/software/hello/manual/; + homepage = https://www.gnu.org/software/hello/manual/; license = licenses.gpl3Plus; maintainers = [ maintainers.eelco ]; platforms = platforms.all; @@ -35,7 +35,7 @@ $ nix-env -qa hello --json "hello": { "meta": { "description": "A program that produces a familiar, friendly greeting", - "homepage": "http://www.gnu.org/software/hello/manual/", + "homepage": "https://www.gnu.org/software/hello/manual/", "license": { "fullName": "GNU General Public License version 3 or later", "shortName": "GPLv3+", @@ -135,7 +135,7 @@ hello-2.3 A program that produces a familiar, friendly greeting The package’s homepage. Example: - http://www.gnu.org/software/hello/manual/ + https://www.gnu.org/software/hello/manual/ @@ -146,7 +146,7 @@ hello-2.3 A program that produces a familiar, friendly greeting The page where a link to the current version can be found. Example: - http://ftp.gnu.org/gnu/hello/ + https://ftp.gnu.org/gnu/hello/ @@ -250,6 +250,60 @@ meta.platforms = stdenv.lib.platforms.linux; + + + tests + + + + + This attribute is special in that it is not actually under the + meta attribute set but rather under the + passthru attribute set. This is due to a current + limitation of Nix, and will change as soon as Nixpkgs will be able to + depend on a new enough version of Nix. See + the relevant + issue for more details. + + + + An attribute set with as values tests. A test is a derivation, which + builds successfully when the test passes, and fails to build otherwise. A + derivation that is a test needs to have meta.timeout + defined. + + + The NixOS tests are available as nixosTests in + parameters of derivations. For instance, the OpenSMTPD derivation + includes lines similar to: + +{ /* ... */, nixosTests }: +{ + # ... + passthru.tests = { + basic-functionality-and-dovecot-integration = nixosTests.opensmtpd; + }; +} + + + + + + + timeout + + + + A timeout (in seconds) for building the derivation. If the derivation + takes longer than this time to build, it can fail due to breaking the + timeout. However, all computers do not have the same computing power, + hence some builders may decide to apply a multiplicative factor to this + value. When filling this value in, try to keep it approximately + consistent with other values already present in + nixpkgs. + + + hydraPlatforms diff --git a/doc/multiple-output.xml b/doc/multiple-output.xml index 981b4b966cdf28c49173f614f9b36368f0069f62..d0247e081f9958fa46d18b9d15519f45cef8a97e 100644 --- a/doc/multiple-output.xml +++ b/doc/multiple-output.xml @@ -6,13 +6,13 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="chap-multiple-output"> Multiple-output packages -
+
Introduction The Nix language allows a derivation to produce multiple outputs, which is similar to what is utilized by other Linux distribution packaging systems. - The outputs reside in separate nix store paths, so they can be mostly + The outputs reside in separate Nix store paths, so they can be mostly handled independently of each other, including passing to build inputs, garbage collection or binary substitution. The exception is that building from source always produces all the outputs. @@ -38,7 +38,7 @@
-
+
Installing a split package @@ -84,7 +84,7 @@
-
+
Using a split package @@ -101,8 +101,15 @@ contain $outputBin and $outputLib are also added. (See .) + + + In some cases it may be desirable to combine different outputs under a + single store path. A function symlinkJoin can be used to + do this. (Note that it may negate some closure size benefits of using a + multiple-output package.) +
-
+
Writing a split derivation @@ -283,7 +290,7 @@
-
+
Common caveats diff --git a/doc/old/cross.txt b/doc/old/cross.txt index c0885c08176e9e26ab23876bfa18940a8bb7c20e..ff9fefb04a86020ae8367e9f368577aa7d0333dc 100644 --- a/doc/old/cross.txt +++ b/doc/old/cross.txt @@ -78,7 +78,7 @@ Step 2: build kernel headers for the target architecture --- {stdenv, fetchurl}: -assert stdenv.system == "i686-linux"; +assert stdenv.buildPlatform.system == "i686-linux"; stdenv.mkDerivation { name = "linux-headers-2.6.13.1-arm"; diff --git a/doc/overlays.xml b/doc/overlays.xml index 2decf9febe809f7b0962036e832056593aa68547..bff2339ca9338cbdf5e14d91b47cfd2b1dbeee5f 100644 --- a/doc/overlays.xml +++ b/doc/overlays.xml @@ -3,9 +3,9 @@ xml:id="chap-overlays"> Overlays - This chapter describes how to extend and change Nixpkgs packages using - overlays. Overlays are used to add layers in the fix-point used by Nixpkgs to - compose the set of all packages. + This chapter describes how to extend and change Nixpkgs using overlays. + Overlays are used to add layers in the fixed-point used by Nixpkgs to compose + the set of all packages. Nixpkgs can be configured with a list of overlays, which are applied in @@ -17,91 +17,122 @@ Installing overlays - The list of overlays is determined as follows. + The list of overlays can be set either explicitly in a Nix expression, or + through <nixpkgs-overlays> or user configuration + files. - - If the overlays argument is not provided explicitly, we - look for overlays in a path. The path is determined as follows: - - - - First, if an overlays argument to the nixpkgs function - itself is given, then that is used. - - - This can be passed explicitly when importing nipxkgs, for example - import <nixpkgs> { overlays = [ overlay1 overlay2 ]; - }. - - - - - Otherwise, if the Nix path entry <nixpkgs-overlays> - exists, we look for overlays at that path, as described below. - - - See the section on NIX_PATH in the Nix manual for more - details on how to set a value for - <nixpkgs-overlays>. - - - - - If one of ~/.config/nixpkgs/overlays.nix and - ~/.config/nixpkgs/overlays/ exists, then we look for - overlays at that path, as described below. It is an error if both exist. - - - - +
+ Set overlays in NixOS or Nix expressions - - If we are looking for overlays at a path, then there are two cases: - - - - If the path is a file, then the file is imported as a Nix expression and - used as the list of overlays. - - - - - If the path is a directory, then we take the content of the directory, - order it lexicographically, and attempt to interpret each as an overlay - by: - - - - Importing the file, if it is a .nix file. - - - - - Importing a top-level default.nix file, if it is - a directory. - - - - - - - + + On a NixOS system the value of the nixpkgs.overlays + option, if present, is passed to the system Nixpkgs directly as an + argument. Note that this does not affect the overlays for non-NixOS + operations (e.g. nix-env), which are + looked up independently. + - - On a NixOS system the value of the nixpkgs.overlays - option, if present, is passed to the system Nixpkgs directly as an argument. - Note that this does not affect the overlays for non-NixOS operations (e.g. - nix-env), which are looked up independently. - + + The list of overlays can be passed explicitly when importing nixpkgs, for + example import <nixpkgs> { overlays = [ overlay1 overlay2 ]; + }. + - - The overlays.nix option therefore provides a convenient - way to use the same overlays for a NixOS system configuration and user - configuration: the same file can be used as - overlays.nix and imported as the value of - nixpkgs.overlays. - + + Further overlays can be added by calling the pkgs.extend + or pkgs.appendOverlays, although it is often preferable + to avoid these functions, because they recompute the Nixpkgs fixpoint, + which is somewhat expensive to do. + +
+ +
+ Install overlays via configuration lookup + + + The list of overlays is determined as follows. + + + + + + + First, if an + overlays + argument to the Nixpkgs function itself is given, then that is + used and no path lookup will be performed. + + + + + Otherwise, if the Nix path entry + <nixpkgs-overlays> exists, we look for overlays at + that path, as described below. + + + See the section on NIX_PATH in the Nix manual for + more details on how to set a value for + <nixpkgs-overlays>. + + + + + If one of ~/.config/nixpkgs/overlays.nix and + ~/.config/nixpkgs/overlays/ exists, then we look + for overlays at that path, as described below. It is an error if both + exist. + + + + + + + If we are looking for overlays at a path, then there are two cases: + + + + If the path is a file, then the file is imported as a Nix expression and + used as the list of overlays. + + + + + If the path is a directory, then we take the content of the directory, + order it lexicographically, and attempt to interpret each as an overlay + by: + + + + Importing the file, if it is a .nix file. + + + + + Importing a top-level default.nix file, if it is + a directory. + + + + + + + + + + Because overlays that are set in NixOS configuration do not affect + non-NixOS operations such as nix-env, the + overlays.nix option provides a convenient way to use + the same overlays for a NixOS system configuration and user configuration: + the same file can be used as overlays.nix and imported + as the value of nixpkgs.overlays. + + + +
diff --git a/doc/package-notes.xml b/doc/package-notes.xml index 0634432fe95a34f634553970fdf95b3a7c96614f..12d81ae29bffdc09534f4acbcd5c7c76ad0d892e 100644 --- a/doc/package-notes.xml +++ b/doc/package-notes.xml @@ -181,7 +181,7 @@ $ cat $(PRINT_PATH=1 nix-prefetch-url $i | tail -n 1) \
- 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. + In a case a contributor definitively leaves the Nix community, they should + create an issue or post on + Discourse with + references of packages and modules they maintain so the maintainership can + be taken over by other contributors.
diff --git a/doc/shell.nix b/doc/shell.nix index 24fe20e81050e338c9b54688bbdd4a60aa47e873..8ac2019f9d66accc3961cdf042d5e47813c6d2d3 100644 --- a/doc/shell.nix +++ b/doc/shell.nix @@ -1,5 +1,5 @@ { pkgs ? import ../. {} }: -(import ./default.nix).overrideAttrs (x: { +(import ./default.nix {}).overrideAttrs (x: { buildInputs = x.buildInputs ++ [ pkgs.xmloscopy pkgs.ruby ]; }) diff --git a/doc/shell.section.md b/doc/shell.section.md deleted file mode 100644 index cb8832a814fcc036a881544d175430e3cf6b2587..0000000000000000000000000000000000000000 --- a/doc/shell.section.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: pkgs.mkShell -author: zimbatm -date: 2017-10-30 ---- - -# mkShell - -pkgs.mkShell is a special kind of derivation that is only useful when using -it combined with nix-shell. It will in fact fail to instantiate when invoked -with nix-build. - -## Usage - -```nix -{ pkgs ? import {} }: -pkgs.mkShell { - # this will make all the build inputs from hello and gnutar available to the shell environment - inputsFrom = with pkgs; [ hello gnutar ]; - buildInputs = [ pkgs.gnumake ]; -} -``` diff --git a/doc/stdenv.xml b/doc/stdenv.xml index 94bd7365dd9a6ff7491585b5f55a5e0affb24f5f..0435362306ba3ad75d45031b60a615e2e6b0ef9b 100644 --- a/doc/stdenv.xml +++ b/doc/stdenv.xml @@ -212,7 +212,7 @@ genericBuild platforms relative to the new derivation's, and whether they are propagated. The platform distinctions are motivated by cross compilation; see for exactly what each platform means. - + The build platform is ignored because it is a mere implementation detail of the package satisfying the dependency: As a general programming @@ -222,24 +222,25 @@ genericBuild But even if one is not cross compiling, the platforms imply whether or not the dependency is needed at run-time or build-time, a concept that makes - perfect sense outside of cross compilation. For now, the run-time/build-time - distinction is just a hint for mental clarity, but in the future it perhaps - could be enforced. + perfect sense outside of cross compilation. By default, the + run-time/build-time distinction is just a hint for mental clarity, but with + strictDeps set it is mostly enforced even in the native + case. The extension of PATH with dependencies, alluded to above, proceeds according to the relative platforms alone. The process is carried out only for dependencies whose host platform matches the new derivation's - build platform–i.e. which run on the platform where the new derivation - will be built. - + build platform i.e. dependencies which run on the platform where the new + derivation will be built. + - Currently, that means for native builds all dependencies are put on the + Currently, this means for native builds all dependencies are put on the PATH. But in the future that may not be the case for sake of matching cross: the platforms would be assumed to be unique for native and cross builds alike, so only the depsBuild* and - nativeBuildDependencies dependencies would affect the + nativeBuildInputs would be added to the PATH. @@ -258,20 +259,20 @@ genericBuild - It is important to note dependencies are not necessary propagated as the - same sort of dependency that they were before, but rather as the + It is important to note that dependencies are not necessarily propagated as + the same sort of dependency that they were before, but rather as the corresponding sort so that the platform rules still line up. The exact rules - for dependency propagation can be given by assigning each sort of dependency - two integers based one how it's host and target platforms are offset from - the depending derivation's platforms. Those offsets are given are given - below in the descriptions of each dependency list attribute. - Algorithmically, we traverse propagated inputs, accumulating every - propagated dep's propagated deps and adjusting them to account for the - "shift in perspective" described by the current dep's platform offsets. This - results in sort a transitive closure of the dependency relation, with the - offsets being approximately summed when two dependency links are combined. - We also prune transitive deps whose combined offsets go out-of-bounds, which - can be viewed as a filter over that transitive closure removing dependencies + for dependency propagation can be given by assigning to each dependency two + integers based one how its host and target platforms are offset from the + depending derivation's platforms. Those offsets are given below in the + descriptions of each dependency list attribute. Algorithmically, we traverse + propagated inputs, accumulating every propagated dependency's propagated + dependencies and adjusting them to account for the "shift in perspective" + described by the current dependency's platform offsets. This results in sort + a transitive closure of the dependency relation, with the offsets being + approximately summed when two dependency links are combined. We also prune + transitive dependencies whose combined offsets go out-of-bounds, which can + be viewed as a filter over that transitive closure removing dependencies that are blatantly absurd. @@ -280,15 +281,15 @@ genericBuild Natural Deduction using the inference rules. This probably seems a bit obtuse, but so is the bash code that actually implements it! - + The findInputs function, currently residing in pkgs/stdenv/generic/setup.sh, implements the propagation logic. - They're confusing in very different ways so...hopefully if something doesn't - make sense in one presentation, it does in the other! + They're confusing in very different ways so... hopefully if something + doesn't make sense in one presentation, it will in the other! let mapOffset(h, t, i) = i + (if i <= 0 then h else t - 1) @@ -307,13 +308,13 @@ dep(h0, _, A, B) propagated-dep(h1, t1, B, C) h0 + h1 in {-1, 0, 1} h0 + t1 in {-1, 0, -1} --------------------------------------- Take immediate deps' propagated deps +----------------------------- Take immediate dependencies' propagated dependencies propagated-dep(mapOffset(h0, t0, h1), mapOffset(h0, t0, t1), A, C) propagated-dep(h, t, A, B) --------------------------------------- Propagated deps count as deps +----------------------------- Propagated dependencies count as dependencies dep(h, t, A, B) Some explanation of this monstrosity is in order. In the common case, the target offset of a dependency is the successor to the target offset: @@ -324,10 +325,10 @@ let f(h, h + 1, i) = i + (if i <= 0 then h else (h + 1) - 1) let f(h, h + 1, i) = i + (if i <= 0 then h else h) let f(h, h + 1, i) = i + h - This is where the "sum-like" comes from above: We can just sum all the host - offset to get the host offset of the transitive dependency. The target - offset is the transitive dep is simply the host offset + 1, just as it was - with the dependencies composed to make this transitive one; it can be + This is where "sum-like" comes in from above: We can just sum all of the + host offsets to get the host offset of the transitive dependency. The target + offset is the transitive dependency is simply the host offset + 1, just as + it was with the dependencies composed to make this transitive one; it can be ignored as it doesn't add any new information. @@ -335,8 +336,8 @@ let f(h, h + 1, i) = i + h Because of the bounds checks, the uncommon cases are h = t and h + 2 = t. In the former case, the motivation for mapOffset is that since its host and - target platforms are the same, no transitive dep of it should be able to - "discover" an offset greater than its reduced target offsets. + target platforms are the same, no transitive dependency of it should be able + to "discover" an offset greater than its reduced target offsets. mapOffset effectively "squashes" all its transitive dependencies' offsets so that none will ever be greater than the target offset of the original h = t package. In the other case, @@ -347,8 +348,11 @@ let f(h, h + 1, i) = i + h Overall, the unifying theme here is that propagation shouldn't be - introducing transitive dependencies involving platforms the needing package - is unaware of. The offset bounds checking and definition of + introducing transitive dependencies involving platforms the depending + package is unaware of. [One can imagine the dependending package asking for + dependencies with the platforms it knows about; other platforms it doesn't + know how to ask for. The platform description in that scenario is a kind of + unforagable capability.] The offset bounds checking and definition of mapOffset together ensure that this is the case. Discovering a new offset is discovering a new platform, and since those platforms weren't in the derivation "spec" of the needing package, they @@ -369,16 +373,16 @@ let f(h, h + 1, i) = i + h A list of dependencies whose host and target platforms are the new derivation's build platform. This means a -1 host and -1 target offset from the new derivation's platforms. - They are programs/libraries used at build time that furthermore produce - programs/libraries also used at build time. If the dependency doesn't - care about the target platform (i.e. isn't a compiler or similar tool), - put it in nativeBuildInputsinstead. The most common - use for this buildPackages.stdenv.cc, the default C - compiler for this role. That example crops up more than one might think - in old commonly used C libraries. + These are programs and libraries used at build time that produce programs + and libraries also used at build time. If the dependency doesn't care + about the target platform (i.e. isn't a compiler or similar tool), put it + in nativeBuildInputs instead. The most common use of + this buildPackages.stdenv.cc, the default C compiler + for this role. That example crops up more than one might think in old + commonly used C libraries. - Since these packages are able to be run at build time, that are always + Since these packages are able to be run at build-time, they are always added to the PATH, as described above. But since these packages are only guaranteed to be able to run then, they shouldn't persist as run-time dependencies. This isn't currently enforced, but @@ -395,19 +399,19 @@ let f(h, h + 1, i) = i + h A list of dependencies whose host platform is the new derivation's build platform, and target platform is the new derivation's host platform. This means a -1 host offset and 0 target - offset from the new derivation's platforms. They are programs/libraries - used at build time that, if they are a compiler or similar tool, produce - code to run at run time—i.e. tools used to build the new derivation. If - the dependency doesn't care about the target platform (i.e. isn't a - compiler or similar tool), put it here, rather than in + offset from the new derivation's platforms. These are programs and + libraries used at build-time that, if they are a compiler or similar + tool, produce code to run at run-time—i.e. tools used to build the new + derivation. If the dependency doesn't care about the target platform + (i.e. isn't a compiler or similar tool), put it here, rather than in depsBuildBuild or depsBuildTarget. - This would be called depsBuildHost but for historical - continuity. + This could be called depsBuildHost but + nativeBuildInputs is used for historical continuity. - Since these packages are able to be run at build time, that are added to - the PATH, as described above. But since these packages - only are guaranteed to be able to run then, they shouldn't persist as + Since these packages are able to be run at build-time, they are added to + the PATH, as described above. But since these packages are + only guaranteed to be able to run then, they shouldn't persist as run-time dependencies. This isn't currently enforced, but could be in the future. @@ -422,32 +426,34 @@ let f(h, h + 1, i) = i + h A list of dependencies whose host platform is the new derivation's build platform, and target platform is the new derivation's target platform. This means a -1 host offset and 1 - target offset from the new derivation's platforms. They are programs used - at build time that produce code to run at run with code produced by the - depending package. Most commonly, these would tools used to build the - runtime or standard library the currently-being-built compiler will - inject into any code it compiles. In many cases, the currently-being - built compiler is itself employed for that task, but when that compiler - won't run (i.e. its build and host platform differ) this is not possible. - Other times, the compiler relies on some other tool, like binutils, that - is always built separately so the dependency is unconditional. - - - This is a somewhat confusing dependency to wrap ones head around, and for - good reason. As the only one where the platform offsets are not adjacent - integers, it requires thinking of a bootstrapping stage - two away from the current one. It and it's use-case - go hand in hand and are both considered poor form: try not to need this - sort dependency, and try not avoid building standard libraries / runtimes - in the same derivation as the compiler produces code using them. Instead - strive to build those like a normal library, using the newly-built - compiler just as a normal library would. In short, do not use this - attribute unless you are packaging a compiler and are sure it is needed. - - - Since these packages are able to be run at build time, that are added to - the PATH, as described above. But since these packages - only are guaranteed to be able to run then, they shouldn't persist as + target offset from the new derivation's platforms. These are programs + used at build time that produce code to run with code produced by the + depending package. Most commonly, these are tools used to build the + runtime or standard library that the currently-being-built compiler will + inject into any code it compiles. In many cases, the + currently-being-built-compiler is itself employed for that task, but when + that compiler won't run (i.e. its build and host platform differ) this is + not possible. Other times, the compiler relies on some other tool, like + binutils, that is always built separately so that the dependency is + unconditional. + + + This is a somewhat confusing concept to wrap one’s head around, and for + good reason. As the only dependency type where the platform offsets are + not adjacent integers, it requires thinking of a bootstrapping stage + two away from the current one. It and its use-case + go hand in hand and are both considered poor form: try to not need this + sort of dependency, and try to avoid building standard libraries and + runtimes in the same derivation as the compiler produces code using them. + Instead strive to build those like a normal library, using the + newly-built compiler just as a normal library would. In short, do not use + this attribute unless you are packaging a compiler and are sure it is + needed. + + + Since these packages are able to run at build time, they are added to the + PATH, as described above. But since these packages are + only guaranteed to be able to run then, they shouldn't persist as run-time dependencies. This isn't currently enforced, but could be in the future. @@ -460,14 +466,14 @@ let f(h, h + 1, i) = i + h A list of dependencies whose host and target platforms match the new - derivation's host platform. This means a both 0 host - offset and 0 target offset from the new derivation's - host platform. These are packages used at run-time to generate code also - used at run-time. In practice, that would usually be tools used by - compilers for metaprogramming/macro systems, or libraries used by the - macros/metaprogramming code itself. It's always preferable to use a + derivation's host platform. This means a 0 host offset + and 0 target offset from the new derivation's host + platform. These are packages used at run-time to generate code also used + at run-time. In practice, this would usually be tools used by compilers + for macros or a metaprogramming system, or libraries used by the macros + or metaprogramming code itself. It's always preferable to use a depsBuildBuild dependency in the derivation being - built than a depsHostHost on the tool doing the + built over a depsHostHost on the tool doing the building for this purpose. @@ -479,7 +485,7 @@ let f(h, h + 1, i) = i + h A list of dependencies whose host platform and target platform match the - new derivation's. This means a 0 host offset and + new derivation's. This means a 0 host offset and a 1 target offset from the new derivation's host platform. This would be called depsHostTarget but for historical continuity. If the dependency doesn't care about the target @@ -487,12 +493,12 @@ let f(h, h + 1, i) = i + h than in depsBuildBuild. - These often are programs/libraries used by the new derivation at + These are often programs and libraries used by the new derivation at run-time, but that isn't always the case. For - example, the machine code in a statically linked library is only used at - run time, but the derivation containing the library is only needed at - build time. Even in the dynamic case, the library may also be needed at - build time to appease the linker. + example, the machine code in a statically-linked library is only used at + run-time, but the derivation containing the library is only needed at + build-time. Even in the dynamic case, the library may also be needed at + build-time to appease the linker. @@ -581,7 +587,7 @@ let f(h, h + 1, i) = i + h - depsTargetTarget + depsTargetTargetPropagated @@ -604,10 +610,10 @@ let f(h, h + 1, i) = i + h A natural number indicating how much information to log. If set to 1 or - higher, stdenv will print moderate debug information - during the build. In particular, the gcc and - ld wrapper scripts will print out the complete command - line passed to the wrapped tools. If set to 6 or higher, the + higher, stdenv will print moderate debugging + information during the build. In particular, the gcc + and ld wrapper scripts will print out the complete + command line passed to the wrapped tools. If set to 6 or higher, the stdenv setup script will be run with set -x tracing. If set to 7 or higher, the gcc and ld wrapper scripts will also be run with @@ -618,7 +624,7 @@ let f(h, h + 1, i) = i + h - Variables affecting build properties + Attributes affecting build properties enableParallelBuilding @@ -637,21 +643,6 @@ let f(h, h + 1, i) = i + h - - - preferLocalBuild - - - - If set, specifies that the package is so lightweight in terms of build - operations (e.g. write a text file from a Nix string to the store) that - there's no need to look for it in binary caches -- it's faster to just - build it locally. It also tells Hydra and other facilities that this - package doesn't need to be exported in binary caches (noone would use it, - after all). - - - @@ -689,6 +680,51 @@ passthru = { + + + passthru.updateScript + + + + A script to be run by maintainers/scripts/update.nix + when the package is matched. It needs to be an executable file, either on + the file system: + +passthru.updateScript = ./update.sh; + + or inside the expression itself: + +passthru.updateScript = writeScript "update-zoom-us" '' + #!/usr/bin/env nix-shell + #!nix-shell -i bash -p curl pcre common-updater-scripts + + set -eu -o pipefail + + version="$(curl -sI https://zoom.us/client/latest/zoom_x86_64.tar.xz | grep -Fi 'Location:' | pcregrep -o1 '/(([0-9]\.?)+)/')" + update-source-version zoom-us "$version" +''; + + The attribute can also contain a list, a script followed by arguments to + be passed to it: + +passthru.updateScript = [ ../../update.sh pname "--requested-release=unstable" ]; + + Note that the update scripts will be run in parallel by default; you + should avoid running git commit or any other commands + that cannot handle that. + + + For information about how to run the updates, execute + + nix-shell + + maintainers/scripts/update.nix + + + . + + +
@@ -851,7 +887,7 @@ passthru = { Zip files are unpacked using unzip. However, unzip is not in the standard environment, so you - should add it to buildInputs yourself. + should add it to nativeBuildInputs yourself. @@ -1091,6 +1127,17 @@ passthru = { + + + prefixKey + + + + The key to use when specifying the prefix. By default, this is set to + as that is used by the majority of packages. + + + dontAddDisableDepTrack @@ -1112,7 +1159,7 @@ passthru = { By default, the configure phase applies some special hackery to all files called ltmain.sh before running the configure script in order to improve the purity of Libtool-based packages - + It clears the sys_lib_*search_path @@ -1149,11 +1196,10 @@ passthru = { and passed. Packages can instead pass [ "build" "host" "target" ] or a subset to control exactly which platform flags are passed. - Compilers and other tools should use this to also pass the target - platform, for example. - + Compilers and other tools can use this to also pass the target platform. + - Eventually these will be passed when in native builds too, to improve + Eventually these will be passed building natively as well, to improve determinism: build-time guessing, as is done today, is a risk of impurity. @@ -1218,17 +1264,6 @@ passthru = { - - - checkInputs - - - - A list of dependencies used by the phase. This gets included in - buildInputs when doCheck is set. - - - makeFlags @@ -1261,7 +1296,9 @@ makeFlags = [ "PREFIX=$(out)" ]; make. You must use this instead of makeFlags if the arguments contain spaces, e.g. -makeFlagsArray=(CFLAGS="-O0 -g" LDFLAGS="-lfoo -lbar") +preBuild = '' + makeFlagsArray+=(CFLAGS="-O0 -g" LDFLAGS="-lfoo -lbar") +''; Note that shell arrays cannot be passed through environment variables, so you cannot set makeFlagsArray in a derivation @@ -1378,6 +1415,18 @@ makeFlagsArray=(CFLAGS="-O0 -g" LDFLAGS="-lfoo -lbar") + + + checkInputs + + + + A list of dependencies used by the phase. This gets included in + nativeBuildInputs when doCheck is + set. + + + preCheck @@ -1632,6 +1681,18 @@ installTargets = "install-bin install-doc"; + + + dontPruneLibtoolFiles + + + + If set, libtool .la files associated with shared + libraries won't have their dependency_libs field + cleared. + + + forceShare @@ -1650,13 +1711,12 @@ installTargets = "install-bin install-doc"; - A package can export a setup + A package can export a setup hook by setting this variable. The setup hook, if defined, is copied to $out/nix-support/setup-hook. Environment variables are then substituted in it using substituteAll. + linkend="fun-substituteAll">substituteAll. @@ -1740,6 +1800,29 @@ set debug-file-directory ~/.nix-profile/lib/debug + + + installCheckTarget + + + + The make target that runs the install tests. Defaults to + installcheck. + + + + + + installCheckFlags / installCheckFlagsArray + + + + A list of strings passed as additional flags to make. + Like makeFlags and makeFlagsArray, + but only used by the installCheck phase. + + + installCheckInputs @@ -1747,8 +1830,8 @@ set debug-file-directory ~/.nix-profile/lib/debug A list of dependencies used by the phase. This gets included in - buildInputs when doInstallCheck is - set. + nativeBuildInputs when + doInstallCheck is set. @@ -2066,30 +2149,30 @@ someVar=$(stripHash $name) Package setup hooks - Nix itself considers a build-time dependency merely something that should + Nix itself considers a build-time dependency as merely something that should previously be built and accessible at build time—packages themselves are on their own to perform any additional setup. In most cases, that is fine, - and the downstream derivation can deal with it's own dependencies. But for a + and the downstream derivation can deal with its own dependencies. But for a few common tasks, that would result in almost every package doing the same - sort of setup work---depending not on the package itself, but entirely on + sort of setup work—depending not on the package itself, but entirely on which dependencies were used. - In order to alleviate this burden, the setup - hook>mechanism was written, where any package can include a - shell script that [by convention rather than enforcement by Nix], any - downstream reverse-dependency will source as part of its build process. That - allows the downstream dependency to merely specify its dependencies, and - lets those dependencies effectively initialize themselves. No boilerplate - mirroring the list of dependencies is needed. + In order to alleviate this burden, the setup hook + mechanism was written, where any package can include a shell script that [by + convention rather than enforcement by Nix], any downstream + reverse-dependency will source as part of its build process. That allows the + downstream dependency to merely specify its dependencies, and lets those + dependencies effectively initialize themselves. No boilerplate mirroring the + list of dependencies is needed. - The Setup hook mechanism is a bit of a sledgehammer though: a powerful + The setup hook mechanism is a bit of a sledgehammer though: a powerful feature with a broad and indiscriminate area of effect. The combination of its power and implicit use may be expedient, but isn't without costs. Nix - itself is unchanged, but the spirit of adding dependencies being effect-free + itself is unchanged, but the spirit of added dependencies being effect-free is violated even if the letter isn't. For example, if a derivation path is mentioned more than once, Nix itself doesn't care and simply makes sure the dependency derivation is already built just the same—depending is just @@ -2106,7 +2189,7 @@ someVar=$(stripHash $name) The most typical use of the setup hook is actually to add other hooks which are then run (i.e. after all the setup hooks) on each dependency. For example, the C compiler wrapper's setup hook feeds itself flags for each - dependency that contains relevant libaries and headers. This is done by + dependency that contains relevant libraries and headers. This is done by defining a bash function, and appending its name to one of envBuildBuildHooks`, envBuildHostHooks`, envBuildTargetHooks`, envHostHostHooks`, @@ -2118,14 +2201,14 @@ someVar=$(stripHash $name) Packages adding a hook should not hard code a specific hook, but rather choose a variable relative to how they are included. - Returning to the C compiler wrapper example, if it itself is an + Returning to the C compiler wrapper example, if the wrapper itself is an n dependency, then it only wants to accumulate flags from n + 1 dependencies, as only those ones match the compiler's target platform. The hostOffset variable is defined with the current dependency's host offset - targetOffset with its target offset, before it's setup hook - is sourced. Additionally, since most environment hooks don't care about the - target platform, That means the setup hook can append to the right bash + targetOffset with its target offset, before its setup hook is + sourced. Additionally, since most environment hooks don't care about the + target platform, that means the setup hook can append to the right bash array by doing something like addEnvHooks "$hostOffset" myBashFunction @@ -2134,63 +2217,180 @@ addEnvHooks "$hostOffset" myBashFunction The existence of setups hooks has long been documented - and packages inside Nixpkgs are free to use these mechanism. Other packages, + and packages inside Nixpkgs are free to use this mechanism. Other packages, however, should not rely on these mechanisms not changing between Nixpkgs versions. Because of the existing issues with this system, there's little benefit from mandating it be stable for any period of time. - Here are some packages that provide a setup hook. Since the mechanism is - modular, this probably isn't an exhaustive list. Then again, since the - mechanism is only to be used as a last resort, it might be. + First, let’s cover some setup hooks that are part of Nixpkgs default + stdenv. This means that they are run for every package built using + stdenv.mkDerivation. Some of these are platform + specific, so they may run on Linux but not Darwin or vice-versa. + + + move-docs.sh + + + + This setup hook moves any installed documentation to the + /share subdirectory directory. This includes the man, + doc and info directories. This is needed for legacy programs that do not + know how to use the share subdirectory. + + + + + + compress-man-pages.sh + + + + This setup hook compresses any man pages that have been installed. The + compression is done using the gzip program. This helps to reduce the + installed size of packages. + + + + + + strip.sh + + + + This runs the strip command on installed binaries and libraries. This + removes unnecessary information like debug symbols when they are not + needed. This also helps to reduce the installed size of packages. + + + + + + patch-shebangs.sh + + + + This setup hook patches installed scripts to use the full path to the + shebang interpreter. A shebang interpreter is the first commented line + of a script telling the operating system which program will run the + script (e.g #!/bin/bash). In Nix, we want an exact + path to that interpreter to be used. This often replaces + /bin/sh with a path in the Nix store. + + + + + + audit-tmpdir.sh + + + + This verifies that no references are left from the install binaries to + the directory used to build those binaries. This ensures that the + binaries do not need things outside the Nix store. This is currently + supported in Linux only. + + + + + + multiple-outputs.sh + + + + This setup hook adds configure flags that tell packages to install files + into any one of the proper outputs listed in outputs. + This behavior can be turned off by setting + setOutputFlags to false in the derivation + environment. See for more + information. + + + + + + move-sbin.sh + + + + This setup hook moves any binaries installed in the sbin subdirectory + into bin. In addition, a link is provided from sbin to bin for + compatibility. + + + + + + move-lib64.sh + + + + This setup hook moves any libraries installed in the lib64 subdirectory + into lib. In addition, a link is provided from lib64 to lib for + compatibility. + + + + + + set-source-date-epoch-to-latest.sh + + + + This sets SOURCE_DATE_EPOCH to the modification time + of the most recent file. + + + Bintools Wrapper - Bintools Wrapper wraps the binary utilities for a bunch of miscellaneous - purposes. These are GNU Binutils when targetting Linux, and a mix of - cctools and GNU binutils for Darwin. [The "Bintools" name is supposed to - be a compromise between "Binutils" and "cctools" not denoting any - specific implementation.] Specifically, the underlying bintools package, - and a C standard library (glibc or Darwin's libSystem, just for the - dynamic loader) are all fed in, and dependency finding, hardening (see - below), and purity checks for each are handled by Bintools Wrapper. - Packages typically depend on CC Wrapper, which in turn (at run time) - depends on Bintools Wrapper. + The Bintools Wrapper wraps the binary utilities for a bunch of + miscellaneous purposes. These are GNU Binutils when targetting Linux, + and a mix of cctools and GNU binutils for Darwin. [The "Bintools" name + is supposed to be a compromise between "Binutils" and "cctools" not + denoting any specific implementation.] Specifically, the underlying + bintools package, and a C standard library (glibc or Darwin's libSystem, + just for the dynamic loader) are all fed in, and dependency finding, + hardening (see below), and purity checks for each are handled by the + Bintools Wrapper. Packages typically depend on CC Wrapper, which in turn + (at run time) depends on the Bintools Wrapper. - Bintools Wrapper was only just recently split off from CC Wrapper, so - the division of labor is still being worked out. For example, it + The Bintools Wrapper was only just recently split off from CC Wrapper, + so the division of labor is still being worked out. For example, it shouldn't care about about the C standard library, but just take a derivation with the dynamic loader (which happens to be the glibc on linux). Dependency finding however is a task both wrappers will continue to need to share, and probably the most important to understand. It is currently accomplished by collecting directories of host-platform dependencies (i.e. buildInputs and - nativeBuildInputs) in environment variables. Bintools - Wrapper's setup hook causes any lib and + nativeBuildInputs) in environment variables. The + Bintools Wrapper's setup hook causes any lib and lib64 subdirectories to be added to - NIX_LDFLAGS. Since CC Wrapper and Bintools Wrapper use - the same strategy, most of the Bintools Wrapper code is sparsely - commented and refers to CC Wrapper. But CC Wrapper's code, by contrast, - has quite lengthy comments. Bintools Wrapper merely cites those, rather - than repeating them, to avoid falling out of sync. + NIX_LDFLAGS. Since the CC Wrapper and the Bintools + Wrapper use the same strategy, most of the Bintools Wrapper code is + sparsely commented and refers to the CC Wrapper. But the CC Wrapper's + code, by contrast, has quite lengthy comments. The Bintools Wrapper + merely cites those, rather than repeating them, to avoid falling out of + sync. A final task of the setup hook is defining a number of standard - environment variables to tell build systems which executables full-fill + environment variables to tell build systems which executables fulfill which purpose. They are defined to just be the base name of the tools, - under the assumption that Bintools Wrapper's binaries will be on the + under the assumption that the Bintools Wrapper's binaries will be on the path. Firstly, this helps poorly-written packages, e.g. ones that look for just gcc when CC isn't defined yet clang is to be used. Secondly, this helps packages not get confused when cross-compiling, in which case multiple Bintools Wrappers may simultaneously be in use. - + Each wrapper targets a single platform, so if binaries for multiple platforms are needed, the underlying binaries must be wrapped multiple @@ -2200,12 +2400,12 @@ addEnvHooks "$hostOffset" myBashFunction BUILD_- and TARGET_-prefixed versions of - the normal environment variable are defined for the additional Bintools + the normal environment variable are defined for additional Bintools Wrappers, properly disambiguating them. - A problem with this final task is that Bintools Wrapper is honest and - defines LD as ld. Most packages, + A problem with this final task is that the Bintools Wrapper is honest + and defines LD as ld. Most packages, however, firstly use the C compiler for linking, secondly use LD anyways, defining it as the C compiler, and thirdly, only so define LD when it is undefined as a fallback. @@ -2223,33 +2423,42 @@ addEnvHooks "$hostOffset" myBashFunction - CC Wrapper wraps a C toolchain for a bunch of miscellaneous purposes. - Specifically, a C compiler (GCC or Clang), wrapped binary tools, and a C - standard library (glibc or Darwin's libSystem, just for the dynamic - loader) are all fed in, and dependency finding, hardening (see below), - and purity checks for each are handled by CC Wrapper. Packages typically - depend on CC Wrapper, which in turn (at run time) depends on Bintools - Wrapper. + The CC Wrapper wraps a C toolchain for a bunch of miscellaneous + purposes. Specifically, a C compiler (GCC or Clang), wrapped binary + tools, and a C standard library (glibc or Darwin's libSystem, just for + the dynamic loader) are all fed in, and dependency finding, hardening + (see below), and purity checks for each are handled by the CC Wrapper. + Packages typically depend on the CC Wrapper, which in turn (at run-time) + depends on the Bintools Wrapper. - Dependency finding is undoubtedly the main task of CC Wrapper. This - works just like Bintools Wrapper, except that any + Dependency finding is undoubtedly the main task of the CC Wrapper. This + works just like the Bintools Wrapper, except that any include subdirectory of any relevant dependency is added to NIX_CFLAGS_COMPILE. The setup hook itself contains some lengthy comments describing the exact convoluted mechanism by which this is accomplished. - CC Wrapper also like Bintools Wrapper defines standard environment - variables with the names of the tools it wraps, for the same reasons - described above. Importantly, while it includes a cc - symlink to the c compiler for portability, the CC will be - defined using the compiler's "real name" (i.e. gcc or - clang). This helps lousy build systems that inspect - on the name of the compiler rather than run it. + Similarly, the CC Wrapper follows the Bintools Wrapper in defining + standard environment variables with the names of the tools it wraps, for + the same reasons described above. Importantly, while it includes a + cc symlink to the c compiler for portability, the + CC will be defined using the compiler's "real name" (i.e. + gcc or clang). This helps lousy + build systems that inspect on the name of the compiler rather than run + it. + + + + + Here are some more packages that provide a setup hook. Since the list of + hooks is extensible, this is not an exhaustive list the mechanism is only to + be used as a last resort, it might cover most uses. + Perl @@ -2308,7 +2517,9 @@ addEnvHooks "$hostOffset" myBashFunction The autoreconfHook derivation adds autoreconfPhase, which runs autoreconf, libtoolize and automake, essentially preparing the configure script in - autotools-based builds. + autotools-based builds. Most autotools-based packages come with the + configure script pre-generated, but this hook is necessary for a few + packages and when you need to patch the package’s configure scripts. @@ -2352,7 +2563,7 @@ addEnvHooks "$hostOffset" myBashFunction - Exports GDK_PIXBUF_MODULE_FILE environment variable the + Exports GDK_PIXBUF_MODULE_FILE environment variable to the builder. Add librsvg package to buildInputs to get svg support. @@ -2383,42 +2594,181 @@ addEnvHooks "$hostOffset" myBashFunction - paxctl + autoPatchelfHook + + + + This is a special setup hook which helps in packaging proprietary + software in that it automatically tries to find missing shared library + dependencies of ELF files based on the given + buildInputs and nativeBuildInputs. + + + You can also specify a runtimeDependencies environment + variable which lists dependencies that are unconditionally added to all + executables. + + + This is useful for programs that use + dlopen + 3 to load libraries at runtime. + + + In certain situations you may want to run the main command + (autoPatchelf) of the setup hook on a file or a set + of directories instead of unconditionally patching all outputs. This can + be done by setting the dontAutoPatchelf environment + variable to a non-empty value. + + + The autoPatchelf command also recognizes a + --no-recurse command line flag, + which prevents it from recursing into subdirectories. + + + + + + breakpointHook - Defines the paxmark helper for setting per-executable - PaX flags on Linux (where it is available by default; on all other - platforms, paxmark is a no-op). For example, to - disable secure memory protections on the executable - foo: + This hook will make a build pause instead of stopping when a failure + happens. It prevents nix from cleaning up the build environment + immediately and allows the user to attach to a build environment using + the cntr command. Upon build error it will print + instructions on how to use cntr, which can be used to + enter the environment for debugging. Installing cntr and running the + command will provide shell access to the build sandbox of failed build. + At /var/lib/cntr the sandboxed filesystem is + mounted. All commands and files of the system are still accessible + within the shell. To execute commands from the sandbox use the cntr exec + subcommand. Note that cntr also needs to be executed + on the machine that is doing the build, which might not be the case when + remote builders are enabled. cntr is only supported + on Linux-based platforms. To use it first add cntr to + your environment.systemPackages on NixOS or + alternatively to the root user on non-NixOS systems. Then in the package + that is supposed to be inspected, add breakpointHook + to nativeBuildInputs. - postFixup = '' - paxmark m $out/bin/foo - ''; - - The m flag is the most common flag and is typically - required for applications that employ JIT compilation or otherwise need - to execute code generated at run-time. Disabling PaX protections should - be considered a last resort: if possible, problematic features should be - disabled or patched to work with PaX. + nativeBuildInputs = [ breakpointHook ]; + + When a build failure happens there will be an instruction printed that + shows how to attach with cntr to the build sandbox. - autoPatchelfHook + libiconv, libintl - This is a special setup hook which helps in packaging proprietary - software in that it automatically tries to find missing shared library - dependencies of ELF files. All packages within the - runtimeDependencies environment variable are - unconditionally added to executables, which is useful for programs that - use - dlopen - 3 to load libraries at runtime. + A few libraries automatically add to NIX_LDFLAGS + their library, making their symbols automatically available to the + linker. This includes libiconv and libintl (gettext). This is done to + provide compatibility between GNU Linux, where libiconv and libintl are + bundled in, and other systems where that might not be the case. + Sometimes, this behavior is not desired. To disable this behavior, set + dontAddExtraLibs. + + + + + + cmake + + + + Overrides the default configure phase to run the CMake command. By + default, we use the Make generator of CMake. In addition, dependencies + are added automatically to CMAKE_PREFIX_PATH so that packages are + correctly detected by CMake. Some additional flags are passed in to give + similar behavior to configure-based packages. You can disable this + hook’s behavior by setting configurePhase to a custom value, or by + setting dontUseCmakeConfigure. cmakeFlags controls flags passed only to + CMake. By default, parallel building is enabled as CMake supports + parallel building almost everywhere. When Ninja is also in use, CMake + will detect that and use the ninja generator. + + + + + + xcbuildHook + + + + Overrides the build and install phases to run the “xcbuild” command. + This hook is needed when a project only comes with build files for the + XCode build system. You can disable this behavior by setting buildPhase + and configurePhase to a custom value. xcbuildFlags controls flags passed + only to xcbuild. + + + + + + meson + + + + Overrides the configure phase to run meson to generate Ninja files. You + can disable this behavior by setting configurePhase to a custom value, + or by setting dontUseMesonConfigure. To run these files, you should + accompany meson with ninja. mesonFlags controls only the flags passed to + meson. By default, parallel building is enabled as Meson supports + parallel building almost everywhere. + + + + + + ninja + + + + Overrides the build, install, and check phase to run ninja instead of + make. You can disable this behavior with the dontUseNinjaBuild, + dontUseNinjaInstall, and dontUseNinjaCheck, respectively. Parallel + building is enabled by default in Ninja. + + + + + + unzip + + + + This setup hook will allow you to unzip .zip files specified in $src. + There are many similar packages like unrar, undmg, etc. + + + + + + wafHook + + + + Overrides the configure, build, and install phases. This will run the + "waf" script used by many projects. If wafPath (default ./waf) doesn’t + exist, it will copy the version of waf available in Nixpkgs. wafFlags can + be used to pass flags to the waf script. + + + + + + scons + + + + Overrides the build, install, and check phases. This uses the scons + build system as a replacement for make. scons does not provide a + configure phase, so everything is managed at build and install time. diff --git a/doc/style.css b/doc/style.css index 0db907815b6b77496871cd266fcc828b51ae57d9..474dd32e3fb148c0aa7000dce2967a4e4dff8533 100644 --- a/doc/style.css +++ b/doc/style.css @@ -9,6 +9,7 @@ body { font-family: "Nimbus Sans L", sans-serif; + font-size: 1em; background: white; margin: 2em 1em 2em 1em; } @@ -28,6 +29,25 @@ h2 /* chapters, appendices, subtitle */ font-size: 180%; } +div.book +{ + text-align: center; +} + +div.book > div +{ + /* + * based on https://medium.com/@zkareemz/golden-ratio-62b3b6d4282a + * we do 70 characters per line to fit code listings better + * 70 * (font-size / 1.618) + * expression for emacs: + * (* 70 (/ 1 1.618)) + */ + max-width: 43.2em; + text-align: left; + margin: auto; +} + /* Extra space between chapters, appendices. */ div.chapter > div.titlepage h2, div.appendix > div.titlepage h2 { @@ -102,8 +122,8 @@ pre.screen, pre.programlisting { border: 1px solid #b0b0b0; padding: 3px 3px; - margin-left: 1.5em; - margin-right: 1.5em; + margin-left: 0.5em; + margin-right: 0.5em; background: #f4f4f8; font-family: monospace; diff --git a/doc/submitting-changes.xml b/doc/submitting-changes.xml index 6c6f808f631ec497f637cb2e40b431dd57ee0b45..bc090fd757ce0c336748113359207038c38b48be 100644 --- a/doc/submitting-changes.xml +++ b/doc/submitting-changes.xml @@ -2,7 +2,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="chap-submitting-changes"> Submitting changes -
+
Making patches @@ -205,7 +205,7 @@ Additional information.
-
+
Submitting changes @@ -253,7 +253,7 @@ Additional information.
-
+
Pull Request Template @@ -269,7 +269,7 @@ Additional information. below: -
+
Tested using sandboxing @@ -322,7 +322,7 @@ Additional information.
-
+
Built on platform(s) @@ -334,7 +334,7 @@ Additional information.
-
+
Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests) @@ -350,30 +350,29 @@ Additional information.
-
- Tested compilation of all pkgs that depend on this change using <command>nox-review</command> +
+ Tested compilation of all pkgs that depend on this change using <command>nix-review</command> - If you are updating a package's version, you can use nox to make sure all - packages that depend on the updated package still compile correctly. This - can be done using the nox utility. The nox-review - utility can look for and build all dependencies either based on uncommited - changes with the wip option or specifying a github pull - request number. + If you are updating a package's version, you can use nix-review to make + sure all packages that depend on the updated package still compile + correctly. The nix-review utility can look for and build + all dependencies either based on uncommited changes with the + wip option or specifying a github pull request number. - review uncommitted changes: -nix-shell -p nox --run "nox-review wip" + review changes from pull request number 12345: +nix-shell -p nix-review --run "nix-review pr 12345" - review changes from pull request number 12345: -nix-shell -p nox --run "nox-review pr 12345" + review uncommitted changes: +nix-shell -p nix-review --run "nix-review wip"
-
+
Tested execution of all binary files (usually in <filename>./result/bin/</filename>) @@ -387,8 +386,8 @@ Additional information.
-
- Meets nixpkgs contribution standards +
+ Meets Nixpkgs contribution standards The last checkbox is fits @@ -402,7 +401,7 @@ Additional information.
-
+
Hotfixing pull requests @@ -430,7 +429,7 @@ Additional information.
-
+
Commit policy @@ -456,7 +455,7 @@ Additional information. -
+
Master branch @@ -468,7 +467,7 @@ Additional information.
-
+
Staging branch @@ -493,7 +492,7 @@ Additional information.
-
+
Stable release branches diff --git a/lib/asserts.nix b/lib/asserts.nix new file mode 100644 index 0000000000000000000000000000000000000000..8a5f1fb3feb76a200ba2c9c016ab50d7e6e1a0c4 --- /dev/null +++ b/lib/asserts.nix @@ -0,0 +1,44 @@ +{ lib }: + +rec { + + /* Print a trace message if pred is false. + Intended to be used to augment asserts with helpful error messages. + + Example: + assertMsg false "nope" + => false + stderr> trace: nope + + assert (assertMsg ("foo" == "bar") "foo is not bar, silly"); "" + stderr> trace: foo is not bar, silly + stderr> assert failed at … + + Type: + assertMsg :: Bool -> String -> Bool + */ + # TODO(Profpatsch): add tests that check stderr + assertMsg = pred: msg: + if pred + then true + else builtins.trace msg false; + + /* Specialized `assertMsg` for checking if val is one of the elements + of a list. Useful for checking enums. + + Example: + let sslLibrary = "libressl" + in assertOneOf "sslLibrary" sslLibrary [ "openssl" "bearssl" ] + => false + stderr> trace: sslLibrary must be one of "openssl", "bearssl", but is: "libressl" + + Type: + assertOneOf :: String -> ComparableVal -> List ComparableVal -> Bool + */ + assertOneOf = name: val: xs: assertMsg + (lib.elem val xs) + "${name} must be one of ${ + lib.generators.toPretty {} xs}, but is: ${ + lib.generators.toPretty {} val}"; + +} diff --git a/lib/attrsets.nix b/lib/attrsets.nix index cda13ee43eedebc1bea5199d899dd864392fe58e..d374d229f5975f0eddb5b03d379fc0ce1d359c96 100644 --- a/lib/attrsets.nix +++ b/lib/attrsets.nix @@ -94,6 +94,15 @@ rec { attrValues = builtins.attrValues or (attrs: attrVals (attrNames attrs) attrs); + /* Given a set of attribute names, return the set of the corresponding + attributes from the given set. + + Example: + getAttrs [ "a" "b" ] { a = 1; b = 2; c = 3; } + => { a = 1; b = 2; } + */ + getAttrs = names: attrs: genAttrs names (name: attrs.${name}); + /* Collect each attribute named `attr' from a list of attribute sets. Sets that don't contain the named attribute are ignored. @@ -145,7 +154,7 @@ rec { foldAttrs = op: nul: list_of_attrs: fold (n: a: fold (name: o: - o // (listToAttrs [{inherit name; value = op n.${name} (a.${name} or nul); }]) + o // { ${name} = op n.${name} (a.${name} or nul); } ) a (attrNames n) ) {} list_of_attrs; @@ -435,12 +444,15 @@ rec { useful for deep-overriding. Example: - x = { a = { b = 4; c = 3; }; } - overrideExisting x { a = { b = 6; d = 2; }; } - => { a = { b = 6; d = 2; }; } + overrideExisting {} { a = 1; } + => {} + overrideExisting { b = 2; } { a = 1; } + => { b = 2; } + overrideExisting { a = 3; b = 2; } { a = 1; } + => { a = 1; b = 2; } */ overrideExisting = old: new: - old // listToAttrs (map (attr: nameValuePair attr (attrByPath [attr] old.${attr} new)) (attrNames old)); + mapAttrs (name: value: new.${name} or value) old; /* Get a package output. If no output is found, fallback to `.out` and then to the default. diff --git a/lib/composable-derivation.nix b/lib/composable-derivation.nix deleted file mode 100644 index cb1fdc121e11b7bfbcf4a25864568fe3077df2e3..0000000000000000000000000000000000000000 --- a/lib/composable-derivation.nix +++ /dev/null @@ -1,113 +0,0 @@ -{lib, pkgs}: -let inherit (lib) nvs; in -{ - - # composableDerivation basically mixes these features: - # - fix function - # - mergeAttrBy - # - provides shortcuts for "options" such as "--enable-foo" and adding - # buildInputs, see php example - # - # It predates styles which are common today, such as - # * the config attr - # * mkDerivation.override feature - # * overrideDerivation (lib/customization.nix) - # - # Some of the most more important usage examples (which could be rewritten if it was important): - # * php - # * postgis - # * vim_configurable - # - # A minimal example illustrating most features would look like this: - # let base = composableDerivation { (fixed: let inherit (fixed.fixed) name in { - # src = fetchurl { - # } - # buildInputs = [A]; - # preConfigre = "echo ${name}"; - # # attention, "name" attr is missing, thus you cannot instantiate "base". - # } - # in { - # # These all add name attribute, thus you can instantiate those: - # v1 = base.merge ({ name = "foo-add-B"; buildInputs = [B]; }); // B gets merged into buildInputs - # v2 = base.merge ({ name = "mix-in-pre-configure-lines" preConfigre = ""; }); - # v3 = base.replace ({ name = "foo-no-A-only-B;" buildInputs = [B]; }); - # } - # - # So yes, you can think about it being something like nixos modules, and - # you'd be merging "features" in one at a time using .merge or .replace - # Thanks Shea for telling me that I rethink the documentation .. - # - # issues: - # * its complicated to understand - # * some "features" such as exact merge behaviour are buried in mergeAttrBy - # and defaultOverridableDelayableArgs assuming the default behaviour does - # the right thing in the common case - # * Eelco once said using such fix style functions are slow to evaluate - # * Too quick & dirty. Hard to understand for others. The benefit was that - # you were able to create a kernel builder like base derivation and replace - # / add patches the way you want without having to declare function arguments - # - # nice features: - # declaring "optional features" is modular. For instance: - # flags.curl = { - # configureFlags = ["--with-curl=${curl.dev}" "--with-curlwrappers"]; - # buildInputs = [curl openssl]; - # }; - # flags.other = { .. } - # (Example taken from PHP) - # - # alternative styles / related features: - # * Eg see function supporting building the kernel - # * versionedDerivation (discussion about this is still going on - or ended) - # * composedArgsAndFun - # * mkDerivation.override - # * overrideDerivation - # * using { .., *Support ? false }: like configurable options. - # To find those examples use grep - # - # To sum up: It exists for historical reasons - and for most commonly used - # tasks the alternatives should be used - # - # If you have questions about this code ping Marc Weber. - composableDerivation = { - mkDerivation ? pkgs.stdenv.mkDerivation, - - # list of functions to be applied before defaultOverridableDelayableArgs removes removeAttrs names - # prepareDerivationArgs handles derivation configurations - applyPreTidy ? [ lib.prepareDerivationArgs ], - - # consider adding addtional elements by derivation.merge { removeAttrs = ["elem"]; }; - removeAttrs ? ["cfg" "flags"] - - }: (lib.defaultOverridableDelayableArgs ( a: mkDerivation a) - { - inherit applyPreTidy removeAttrs; - }).merge; - - # some utility functions - # use this function to generate flag attrs for prepareDerivationArgs - # E nable D isable F eature - edf = {name, feat ? name, enable ? {}, disable ? {} , value ? ""}: - nvs name { - set = { - configureFlags = ["--enable-${feat}${if value == "" then "" else "="}${value}"]; - } // enable; - unset = { - configureFlags = ["--disable-${feat}"]; - } // disable; - }; - - # same for --with and --without- - # W ith or W ithout F eature - wwf = {name, feat ? name, enable ? {}, disable ? {}, value ? ""}: - nvs name { - set = enable // { - configureFlags = ["--with-${feat}${if value == "" then "" else "="}${value}"] - ++ lib.maybeAttr "configureFlags" [] enable; - }; - unset = disable // { - configureFlags = ["--without-${feat}"] - ++ lib.maybeAttr "configureFlags" [] disable; - }; - }; -} diff --git a/lib/customisation.nix b/lib/customisation.nix index 0107ed33d9e432c405d1a73492a7085dfa1096e0..1f5eb0d11e8bf7726184c8f10698d483374e1e73 100644 --- a/lib/customisation.nix +++ b/lib/customisation.nix @@ -121,7 +121,7 @@ rec { auto = builtins.intersectAttrs (lib.functionArgs f) autoArgs; origArgs = auto // args; pkgs = f origArgs; - mkAttrOverridable = name: pkg: makeOverridable (newArgs: (f newArgs).${name}) origArgs; + mkAttrOverridable = name: _: makeOverridable (newArgs: (f newArgs).${name}) origArgs; in lib.mapAttrs mkAttrOverridable pkgs; @@ -185,7 +185,7 @@ rec { /* Make a set of packages with a common scope. All packages called with the provided `callPackage' will be evaluated with the same arguments. Any package in the set may depend on any other. The - `overrideScope' function allows subsequent modification of the package + `overrideScope'` function allows subsequent modification of the package set in a consistent way, i.e. all packages in the set will be called with the overridden packages. The package sets may be hierarchical: the packages in the set are called with the scope @@ -195,10 +195,10 @@ rec { let self = f self // { newScope = scope: newScope (self // scope); callPackage = self.newScope {}; - # TODO(@Ericson2314): Haromonize argument order of `g` with everything else - overrideScope = g: - makeScope newScope - (lib.fixedPoints.extends (lib.flip g) f); + overrideScope = g: lib.warn + "`overrideScope` (from `lib.makeScope`) is deprecated. Do `overrideScope' (self: super: { … })` instead of `overrideScope (super: self: { … })`. All other overrides have the parameters in that order, including other definitions of `overrideScope`. This was the only definition violating the pattern." + (makeScope newScope (lib.fixedPoints.extends (lib.flip g) f)); + overrideScope' = g: makeScope newScope (lib.fixedPoints.extends g f); packages = f; }; in self; diff --git a/lib/debug.nix b/lib/debug.nix index 383eb32d75d0d8be32e4c98c3c8c1c548ff365be..2879f72ed2ba431a10692a92e5e09a1298676487 100644 --- a/lib/debug.nix +++ b/lib/debug.nix @@ -23,27 +23,54 @@ rec { # -- TRACING -- - /* Trace msg, but only if pred is true. + /* Conditionally trace the supplied message, based on a predicate. + + Type: traceIf :: bool -> string -> a -> a Example: traceIf true "hello" 3 trace: hello => 3 */ - traceIf = pred: msg: x: if pred then trace msg x else x; + traceIf = + # Predicate to check + pred: + # Message that should be traced + msg: + # Value to return + x: if pred then trace msg x else x; + + /* Trace the supplied value after applying a function to it, and + return the original value. - /* Trace the value and also return it. + Type: traceValFn :: (a -> b) -> a -> a Example: traceValFn (v: "mystring ${v}") "foo" trace: mystring foo => "foo" */ - traceValFn = f: x: trace (f x) x; + traceValFn = + # Function to apply + f: + # Value to trace and return + x: trace (f x) x; + + /* Trace the supplied value and return it. + + Type: traceVal :: a -> a + + Example: + traceVal 42 + # trace: 42 + => 42 + */ traceVal = traceValFn id; /* `builtins.trace`, but the value is `builtins.deepSeq`ed first. + Type: traceSeq :: a -> b -> b + Example: trace { a.b.c = 3; } null trace: { a = ; } @@ -52,7 +79,11 @@ rec { trace: { a = { b = { c = 3; }; }; } => null */ - traceSeq = x: y: trace (builtins.deepSeq x x) y; + traceSeq = + # The value to trace + x: + # The value to return + y: trace (builtins.deepSeq x x) y; /* Like `traceSeq`, but only evaluate down to depth n. This is very useful because lots of `traceSeq` usages @@ -76,27 +107,49 @@ rec { in trace (generators.toPretty { allowPrettyValues = true; } (modify depth snip x)) y; - /* A combination of `traceVal` and `traceSeq` */ - traceValSeqFn = f: v: traceValFn f (builtins.deepSeq v v); + /* A combination of `traceVal` and `traceSeq` that applies a + provided function to the value to be traced after `deepSeq`ing + it. + */ + traceValSeqFn = + # Function to apply + f: + # Value to trace + v: traceValFn f (builtins.deepSeq v v); + + /* A combination of `traceVal` and `traceSeq`. */ traceValSeq = traceValSeqFn id; + /* A combination of `traceVal` and `traceSeqN` that applies a + provided function to the value to be traced. */ + traceValSeqNFn = + # Function to apply + f: + depth: + # Value to trace + v: traceSeqN depth (f v) v; + /* A combination of `traceVal` and `traceSeqN`. */ - traceValSeqNFn = f: depth: v: traceSeqN depth (f v) v; traceValSeqN = traceValSeqNFn id; # -- TESTING -- - /* Evaluate a set of tests. A test is an attribute set {expr, - expected}, denoting an expression and its expected result. The - result is a list of failed tests, each represented as {name, - expected, actual}, denoting the attribute name of the failing - test and its expected and actual results. Used for regression - testing of the functions in lib; see tests.nix for an example. - Only tests having names starting with "test" are run. - Add attr { tests = ["testName"]; } to run these test only + /* Evaluate a set of tests. A test is an attribute set `{expr, + expected}`, denoting an expression and its expected result. The + result is a list of failed tests, each represented as `{name, + expected, actual}`, denoting the attribute name of the failing + test and its expected and actual results. + + Used for regression testing of the functions in lib; see + tests.nix for an example. Only tests having names starting with + "test" are run. + + Add attr { tests = ["testName"]; } to run these tests only. */ - runTests = tests: lib.concatLists (lib.attrValues (lib.mapAttrs (name: test: + runTests = + # Tests to run + tests: lib.concatLists (lib.attrValues (lib.mapAttrs (name: test: let testsToRun = if tests ? tests then tests.tests else []; in if (substring 0 4 name == "test" || elem name testsToRun) && ((testsToRun == []) || elem name tests.tests) @@ -105,8 +158,11 @@ rec { then [ { inherit name; expected = test.expected; result = test.expr; } ] else [] ) tests)); - # create a test assuming that list elements are true - # usage: { testX = allTrue [ true ]; } + /* Create a test assuming that list elements are `true`. + + Example: + { testX = allTrue [ true ]; } + */ testAllTrue = expr: { inherit expr; expected = map (x: true) expr; }; diff --git a/lib/default.nix b/lib/default.nix index dd6fcec75e219ca9f846ca5ed67cf3dfee903ba4..8735b6476795bb9b81f3dbd76f5154443ddbfe64 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -38,10 +38,11 @@ let systems = callLibs ./systems; # misc + asserts = callLibs ./asserts.nix; debug = callLibs ./debug.nix; - generators = callLibs ./generators.nix; misc = callLibs ./deprecated.nix; + # domain-specific fetchers = callLibs ./fetchers.nix; @@ -58,13 +59,12 @@ let stringLength sub substring tail; inherit (trivial) id const concat or and bitAnd bitOr bitXor bitNot boolToString mergeAttrs flip mapNullable inNixShell min max - importJSON warn info nixpkgsVersion version mod compare + importJSON warn info showWarnings nixpkgsVersion version mod compare splitByAndCompare functionArgs setFunctionArgs isFunction; - - inherit (fixedPoints) fix fix' extends composeExtensions + inherit (fixedPoints) fix fix' converge extends composeExtensions makeExtensible makeExtensibleWithCustomName; inherit (attrsets) attrByPath hasAttrByPath setAttrByPath - getAttrFromPath attrVals attrValues catAttrs filterAttrs + getAttrFromPath attrVals attrValues getAttrs catAttrs filterAttrs filterAttrsRecursive foldAttrs collect nameValuePair mapAttrs mapAttrs' mapAttrsToList mapAttrsRecursive mapAttrsRecursiveCond genAttrs isDerivation toDerivation optionalAttrs @@ -80,8 +80,8 @@ let inherit (strings) concatStrings concatMapStrings concatImapStrings intersperse concatStringsSep concatMapStringsSep concatImapStringsSep makeSearchPath makeSearchPathOutput - makeLibraryPath makeBinPath makePerlPath makeFullPerlPath optionalString - hasPrefix hasSuffix stringToCharacters stringAsChars escape + makeLibraryPath makeBinPath optionalString + hasInfix hasPrefix hasSuffix stringToCharacters stringAsChars escape escapeShellArg escapeShellArgs replaceChars lowerChars upperChars toLower toUpper addContextFrom splitString removePrefix removeSuffix versionOlder versionAtLeast getVersion @@ -94,7 +94,7 @@ let callPackageWith callPackagesWith extendDerivation hydraJob makeScope; inherit (meta) addMetaAttrs dontDistribute setName updateName - appendToName mapDerivationAttrset lowPrio lowPrioSet hiPrio + appendToName mapDerivationAttrset setPrio lowPrio lowPrioSet hiPrio hiPrioSet; inherit (sources) pathType pathIsDirectory cleanSourceFilter cleanSource sourceByRegex sourceFilesBySuffices @@ -117,20 +117,22 @@ let unknownModule mkOption; inherit (types) isType setType defaultTypeMerge defaultFunctor isOptionType mkOptionType; + inherit (asserts) + assertMsg assertOneOf; inherit (debug) addErrorContextToAttrs traceIf traceVal traceValFn traceXMLVal traceXMLValMarked traceSeq traceSeqN traceValSeq traceValSeqFn traceValSeqN traceValSeqNFn traceShowVal traceShowValMarked showVal traceCall traceCall2 traceCall3 traceValIfNot runTests testAllTrue traceCallXml attrNamesToStr; inherit (misc) maybeEnv defaultMergeArg defaultMerge foldArgs - defaultOverridableDelayableArgs composedArgsAndFun maybeAttrNullable maybeAttr ifEnable checkFlag getValue checkReqs uniqList uniqListExt condConcat lazyGenericClosure innerModifySumArgs modifySumArgs innerClosePropagation closePropagation mapAttrsFlatten nvs setAttr setAttrMerge mergeAttrsWithFunc mergeAttrsConcatenateValues mergeAttrsNoOverride mergeAttrByFunc mergeAttrsByFuncDefaults - mergeAttrsByFuncDefaultsClean mergeAttrBy prepareDerivationArgs - nixType imap overridableDelayableArgs; + mergeAttrsByFuncDefaultsClean mergeAttrBy + fakeSha256 fakeSha512 + nixType imap; }); in lib diff --git a/lib/deprecated.nix b/lib/deprecated.nix index 34cf336d1f42c4c4c6fc3adf3d6033ee1487a547..15de50456612876a596d0ed3b71201629df53191 100644 --- a/lib/deprecated.nix +++ b/lib/deprecated.nix @@ -35,74 +35,6 @@ rec { withStdOverrides; - # predecessors: proposed replacement for applyAndFun (which has a bug cause it merges twice) - # the naming "overridableDelayableArgs" tries to express that you can - # - override attr values which have been supplied earlier - # - use attr values before they have been supplied by accessing the fix point - # name "fixed" - # f: the (delayed overridden) arguments are applied to this - # - # initial: initial attrs arguments and settings. see defaultOverridableDelayableArgs - # - # returns: f applied to the arguments // special attributes attrs - # a) merge: merge applied args with new args. Wether an argument is overridden depends on the merge settings - # b) replace: this let's you replace and remove names no matter which merge function has been set - # - # examples: see test cases "res" below; - overridableDelayableArgs = - f: # the function applied to the arguments - initial: # you pass attrs, the functions below are passing a function taking the fix argument - let - takeFixed = if lib.isFunction initial then initial else (fixed : initial); # transform initial to an expression always taking the fixed argument - tidy = args: - let # apply all functions given in "applyPreTidy" in sequence - applyPreTidyFun = fold ( n: a: x: n ( a x ) ) lib.id (maybeAttr "applyPreTidy" [] args); - in removeAttrs (applyPreTidyFun args) ( ["applyPreTidy"] ++ (maybeAttr "removeAttrs" [] args) ); # tidy up args before applying them - fun = n: x: - let newArgs = fixed: - let args = takeFixed fixed; - mergeFun = args.${n}; - in if isAttrs x then (mergeFun args x) - else assert lib.isFunction x; - mergeFun args (x ( args // { inherit fixed; })); - in overridableDelayableArgs f newArgs; - in - (f (tidy (lib.fix takeFixed))) // { - merge = fun "mergeFun"; - replace = fun "keepFun"; - }; - defaultOverridableDelayableArgs = f: - let defaults = { - mergeFun = mergeAttrByFunc; # default merge function. merge strategie (concatenate lists, strings) is given by mergeAttrBy - keepFun = a: b: { inherit (a) removeAttrs mergeFun keepFun mergeAttrBy; } // b; # even when using replace preserve these values - applyPreTidy = []; # list of functions applied to args before args are tidied up (usage case : prepareDerivationArgs) - mergeAttrBy = mergeAttrBy // { - applyPreTidy = a: b: a ++ b; - removeAttrs = a: b: a ++ b; - }; - removeAttrs = ["mergeFun" "keepFun" "mergeAttrBy" "removeAttrs" "fixed" ]; # before applying the arguments to the function make sure these names are gone - }; - in (overridableDelayableArgs f defaults).merge; - - - - # rec { # an example of how composedArgsAndFun can be used - # a = composedArgsAndFun (x: x) { a = ["2"]; meta = { d = "bar";}; }; - # # meta.d will be lost ! It's your task to preserve it (eg using a merge function) - # b = a.passthru.function { a = [ "3" ]; meta = { d2 = "bar2";}; }; - # # instead of passing/ overriding values you can use a merge function: - # c = b.passthru.function ( x: { a = x.a ++ ["4"]; }); # consider using (maybeAttr "a" [] x) - # } - # result: - # { - # a = { a = ["2"]; meta = { d = "bar"; }; passthru = { function = .. }; }; - # b = { a = ["3"]; meta = { d2 = "bar2"; }; passthru = { function = .. }; }; - # c = { a = ["3" "4"]; meta = { d2 = "bar2"; }; passthru = { function = .. }; }; - # # c2 is equal to c - # } - composedArgsAndFun = f: foldArgs defaultMerge f {}; - - # shortcut for attrByPath ["name"] default attrs maybeAttrNullable = maybeAttr; @@ -285,7 +217,7 @@ rec { # }; # will result in # { mergeAttrsBy = [...]; buildInputs = [ a b c d ]; } - # is used by prepareDerivationArgs, defaultOverridableDelayableArgs and can be used when composing using + # is used by defaultOverridableDelayableArgs and can be used when composing using # foldArgs, composedArgsAndFun or applyAndFun. Example: composableDerivation in all-packages.nix mergeAttrByFunc = x: y: let @@ -318,58 +250,6 @@ rec { // listToAttrs (map (n: nameValuePair n (a: b: "${a}\n${b}") ) [ "preConfigure" "postInstall" ]) ; - # prepareDerivationArgs tries to make writing configurable derivations easier - # example: - # prepareDerivationArgs { - # mergeAttrBy = { - # myScript = x: y: x ++ "\n" ++ y; - # }; - # cfg = { - # readlineSupport = true; - # }; - # flags = { - # readline = { - # set = { - # configureFlags = [ "--with-compiler=${compiler}" ]; - # buildInputs = [ compiler ]; - # pass = { inherit compiler; READLINE=1; }; - # assertion = compiler.dllSupport; - # myScript = "foo"; - # }; - # unset = { configureFlags = ["--without-compiler"]; }; - # }; - # }; - # src = ... - # buildPhase = '' ... ''; - # name = ... - # myScript = "bar"; - # }; - # if you don't have need for unset you can omit the surrounding set = { .. } attr - # all attrs except flags cfg and mergeAttrBy will be merged with the - # additional data from flags depending on config settings - # It's used in composableDerivation in all-packages.nix. It's also used - # heavily in the new python and libs implementation - # - # should we check for misspelled cfg options? - # TODO use args.mergeFun here as well? - prepareDerivationArgs = args: - let args2 = { cfg = {}; flags = {}; } // args; - flagName = name: "${name}Support"; - cfgWithDefaults = (listToAttrs (map (n: nameValuePair (flagName n) false) (attrNames args2.flags))) - // args2.cfg; - opts = attrValues (mapAttrs (a: v: - let v2 = if v ? set || v ? unset then v else { set = v; }; - n = if cfgWithDefaults.${flagName a} then "set" else "unset"; - attr = maybeAttr n {} v2; in - if (maybeAttr "assertion" true attr) - then attr - else throw "assertion of flag ${a} of derivation ${args.name} failed" - ) args2.flags ); - in removeAttrs - (mergeAttrsByFuncDefaults ([args] ++ opts ++ [{ passthru = cfgWithDefaults; }])) - ["flags" "cfg" "mergeAttrBy" ]; - - nixType = x: if isAttrs x then if x ? outPath then "derivation" @@ -390,4 +270,8 @@ rec { starting at zero. */ imap = imap1; + + # Fake hashes. Can be used as hash placeholders, when computing hash ahead isn't trivial + fakeSha256 = "0000000000000000000000000000000000000000000000000000000000000000"; + fakeSha512 = "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"; } diff --git a/lib/fixed-points.nix b/lib/fixed-points.nix index 13e053b5aa7dbffcd1db7fe576fea52efc0fa63b..968930526a6394a80d3f5f635b3883a77441bc2b 100644 --- a/lib/fixed-points.nix +++ b/lib/fixed-points.nix @@ -24,6 +24,19 @@ rec { # for a concrete example. fix' = f: let x = f x // { __unfix__ = f; }; in x; + # Return the fixpoint that `f` converges to when called recursively, starting + # with the input `x`. + # + # nix-repl> converge (x: x / 2) 16 + # 0 + converge = f: x: + let + x' = f x; + in + if x' == x + then x + else converge f x'; + # Modify the contents of an explicitly recursive attribute set in a way that # honors `self`-references. This is accomplished with a function # @@ -41,6 +54,18 @@ rec { # think of it as an infix operator `g extends f` that mimics the syntax from # Java. It may seem counter-intuitive to have the "base class" as the second # argument, but it's nice this way if several uses of `extends` are cascaded. + # + # To get a better understanding how `extends` turns a function with a fix + # point (the package set we start with) into a new function with a different fix + # point (the desired packages set) lets just see, how `extends g f` + # unfolds with `g` and `f` defined above: + # + # extends g f = self: let super = f self; in super // g self super; + # = self: let super = { foo = "foo"; bar = "bar"; foobar = self.foo + self.bar; }; in super // g self super + # = self: { foo = "foo"; bar = "bar"; foobar = self.foo + self.bar; } // g self { foo = "foo"; bar = "bar"; foobar = self.foo + self.bar; } + # = self: { foo = "foo"; bar = "bar"; foobar = self.foo + self.bar; } // { foo = "foo" + " + "; } + # = self: { foo = "foo + "; bar = "bar"; foobar = self.foo + self.bar; } + # extends = f: rattrs: self: let super = rattrs self; in super // f self super; # Compose two extending functions of the type expected by 'extends' diff --git a/lib/generators.nix b/lib/generators.nix index f5faf70078605698b808210a58db7bae94b1c644..863ba847423ee0c322a3fd3abe5679b28d2414c3 100644 --- a/lib/generators.nix +++ b/lib/generators.nix @@ -143,6 +143,7 @@ rec { }@args: v: with builtins; let isPath = v: typeOf v == "path"; in if isInt v then toString v + else if isFloat v then "~${toString v}" else if isString v then ''"${libStr.escape [''"''] v}"'' else if true == v then "true" else if false == v then "false" diff --git a/lib/kernel.nix b/lib/kernel.nix index 45b33aea7b87190364d4b99914b612021051a349..5923011774b153961c9ac55a419fe17fa9de5538 100644 --- a/lib/kernel.nix +++ b/lib/kernel.nix @@ -1,57 +1,21 @@ -{ lib -# we pass the kernel version here to keep a nice syntax `whenOlder "4.13"` -# kernelVersion, e.g., config.boot.kernelPackages.version -, version -, mkValuePreprocess ? null -}: +{ lib, version }: with lib; rec { - # Common patterns - when = cond: opt: if cond then opt else null; - whenAtLeast = ver: when (versionAtLeast version ver); - whenOlder = ver: when (versionOlder version ver); - whenBetween = verLow: verHigh: when (versionAtLeast version verLow && versionOlder version verHigh); + # Common patterns/legacy + whenAtLeast = ver: mkIf (versionAtLeast version ver); + whenOlder = ver: mkIf (versionOlder version ver); + # range is (inclusive, exclusive) + whenBetween = verLow: verHigh: mkIf (versionAtLeast version verLow && versionOlder version verHigh); - # Keeping these around in case we decide to change this horrible implementation :) - option = x: if x == null then null else "?${x}"; - yes = "y"; - no = "n"; - module = "m"; - mkValue = val: - let - isNumber = c: elem c ["0" "1" "2" "3" "4" "5" "6" "7" "8" "9"]; - in - if val == "" then "\"\"" - else if val == yes || val == module || val == no then val - else if all isNumber (stringToCharacters val) then val - else if substring 0 2 val == "0x" then val - else val; # FIXME: fix quoting one day + # Keeping these around in case we decide to change this horrible implementation :) + option = x: + x // { optional = true; }; + yes = { tristate = "y"; }; + no = { tristate = "n"; }; + module = { tristate = "m"; }; + freeform = x: { freeform = x; }; - # generate nix intermediate kernel config file of the form - # - # VIRTIO_MMIO m - # VIRTIO_BLK y - # VIRTIO_CONSOLE n - # NET_9P_VIRTIO? y - # - # Use mkValuePreprocess to preprocess option values, aka mark 'modules' as - # 'yes' or vice-versa - # Borrowed from copumpkin https://github.com/NixOS/nixpkgs/pull/12158 - # returns a string, expr should be an attribute set - generateNixKConf = exprs: mkValuePreprocess: - let - mkConfigLine = key: rawval: - let - val = if builtins.isFunction mkValuePreprocess then mkValuePreprocess rawval else rawval; - in - if val == null - then "" - else if hasPrefix "?" val - then "${key}? ${mkValue (removePrefix "?" val)}\n" - else "${key} ${mkValue val}\n"; - mkConf = cfg: concatStrings (mapAttrsToList mkConfigLine cfg); - in mkConf exprs; } diff --git a/lib/licenses.nix b/lib/licenses.nix index c442d74c857c1f9944df79501b9f659db69f58ea..53a84999bc835a3e6fe17bff2c6ba84c16b0e5fc 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -13,6 +13,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec { * add it to this list. The URL mentioned above is a good source for inspiration. */ + abstyles = spdx { + spdxId = "Abstyles"; + fullName = "Abstyles License"; + }; + afl21 = spdx { spdxId = "AFL-2.1"; fullName = "Academic Free License v2.1"; @@ -24,13 +29,13 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec { }; agpl3 = spdx { - spdxId = "AGPL-3.0"; - fullName = "GNU Affero General Public License v3.0"; + spdxId = "AGPL-3.0-only"; + fullName = "GNU Affero General Public License v3.0 only"; }; - agpl3Plus = { + agpl3Plus = spdx { + spdxId = "AGPL-3.0-or-later"; fullName = "GNU Affero General Public License v3.0 or later"; - inherit (agpl3) url; }; amazonsl = { @@ -42,6 +47,7 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec { amd = { fullName = "AMD License Agreement"; url = http://developer.amd.com/amd-license-agreement/; + free = false; }; apsl20 = spdx { @@ -99,14 +105,10 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec { fullName = ''BSD 4-clause "Original" or "Old" License''; }; - bsl10 = { - fullName = "Business Source License 1.0"; - url = https://mariadb.com/bsl10; - }; - bsl11 = { fullName = "Business Source License 1.1"; url = https://mariadb.com/bsl11; + free = false; }; clArtistic = spdx { @@ -143,6 +145,12 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec { free = false; }; + cc-by-nc-30 = spdx { + spdxId = "CC-BY-NC-3.0"; + fullName = "Creative Commons Attribution Non Commercial 3.0 Unported"; + free = false; + }; + cc-by-nc-40 = spdx { spdxId = "CC-BY-NC-4.0"; fullName = "Creative Commons Attribution Non Commercial 4.0 International"; @@ -264,13 +272,23 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec { }; fdl12 = spdx { - spdxId = "GFDL-1.2"; - fullName = "GNU Free Documentation License v1.2"; + spdxId = "GFDL-1.2-only"; + fullName = "GNU Free Documentation License v1.2 only"; + }; + + fdl12Plus = spdx { + spdxId = "GFDL-1.2-or-later"; + fullName = "GNU Free Documentation License v1.2 or later"; }; fdl13 = spdx { - spdxId = "GFDL-1.3"; - fullName = "GNU Free Documentation License v1.3"; + spdxId = "GFDL-1.3-only"; + fullName = "GNU Free Documentation License v1.3 only"; + }; + + fdl13Plus = spdx { + spdxId = "GFDL-1.3-or-later"; + fullName = "GNU Free Documentation License v1.3 or later"; }; ffsl = { @@ -295,20 +313,25 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec { }; gpl1 = spdx { - spdxId = "GPL-1.0"; + spdxId = "GPL-1.0-only"; fullName = "GNU General Public License v1.0 only"; }; gpl1Plus = spdx { - spdxId = "GPL-1.0+"; + spdxId = "GPL-1.0-or-later"; fullName = "GNU General Public License v1.0 or later"; }; gpl2 = spdx { - spdxId = "GPL-2.0"; + spdxId = "GPL-2.0-only"; fullName = "GNU General Public License v2.0 only"; }; + gpl2Classpath = spdx { + spdxId = "GPL-2.0-with-classpath-exception"; + fullName = "GNU General Public License v2.0 only (with Classpath exception)"; + }; + gpl2ClasspathPlus = { fullName = "GNU General Public License v2.0 or later (with Classpath exception)"; url = https://fedoraproject.org/wiki/Licensing/GPL_Classpath_Exception; @@ -320,17 +343,17 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec { }; gpl2Plus = spdx { - spdxId = "GPL-2.0+"; + spdxId = "GPL-2.0-or-later"; fullName = "GNU General Public License v2.0 or later"; }; gpl3 = spdx { - spdxId = "GPL-3.0"; + spdxId = "GPL-3.0-only"; fullName = "GNU General Public License v3.0 only"; }; gpl3Plus = spdx { - spdxId = "GPL-3.0+"; + spdxId = "GPL-3.0-or-later"; fullName = "GNU General Public License v3.0 or later"; }; @@ -355,6 +378,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec { fullName = "Independent JPEG Group License"; }; + imagemagick = spdx { + fullName = "ImageMagick License"; + spdxId = "imagemagick"; + }; + inria-compcert = { fullName = "INRIA Non-Commercial License Agreement for the CompCert verified compiler"; url = "http://compcert.inria.fr/doc/LICENSE"; @@ -382,33 +410,45 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec { fullName = "ISC License"; }; + # Proprietary binaries; free to redistribute without modification. + issl = { + fullName = "Intel Simplified Software License"; + url = https://software.intel.com/en-us/license/intel-simplified-software-license; + free = false; + }; + + jasper = spdx { + spdxId = "JasPer-2.0"; + fullName = "JasPer License"; + }; + lgpl2 = spdx { - spdxId = "LGPL-2.0"; + spdxId = "LGPL-2.0-only"; fullName = "GNU Library General Public License v2 only"; }; lgpl2Plus = spdx { - spdxId = "LGPL-2.0+"; + spdxId = "LGPL-2.0-or-later"; fullName = "GNU Library General Public License v2 or later"; }; lgpl21 = spdx { - spdxId = "LGPL-2.1"; + spdxId = "LGPL-2.1-only"; fullName = "GNU Library General Public License v2.1 only"; }; lgpl21Plus = spdx { - spdxId = "LGPL-2.1+"; + spdxId = "LGPL-2.1-or-later"; fullName = "GNU Library General Public License v2.1 or later"; }; lgpl3 = spdx { - spdxId = "LGPL-3.0"; + spdxId = "LGPL-3.0-only"; fullName = "GNU Lesser General Public License v3.0 only"; }; lgpl3Plus = spdx { - spdxId = "LGPL-3.0+"; + spdxId = "LGPL-3.0-or-later"; fullName = "GNU Lesser General Public License v3.0 or later"; }; @@ -417,6 +457,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec { fullName = "libpng License"; }; + libpng2 = { + fullName = "libpng License v2"; # 1.6.36+ + url = "http://www.libpng.org/pub/png/src/libpng-LICENSE.txt"; + }; + libtiff = spdx { spdxId = "libtiff"; fullName = "libtiff License"; @@ -480,6 +525,12 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec { free = false; }; + nasa13 = spdx { + spdxId = "NASA-1.3"; + fullName = "NASA Open Source Agreement 1.3"; + free = false; + }; + ncsa = spdx { spdxId = "NCSA"; fullName = "University of Illinois/NCSA Open Source License"; @@ -495,6 +546,12 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec { fullName = "Non-Profit Open Software License 3.0"; }; + ocamlpro_nc = { + fullName = "OCamlPro Non Commercial license version 1"; + url = "https://alt-ergo.ocamlpro.com/http/alt-ergo-2.2.0/OCamlPro-Non-Commercial-License.pdf"; + free = false; + }; + ofl = spdx { spdxId = "OFL-1.1"; fullName = "SIL Open Font License 1.1"; @@ -510,6 +567,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec { fullName = "OpenSSL License"; }; + osl2 = spdx { + spdxId = "OSL-2.0"; + fullName = "Open Software License 2.0"; + }; + osl21 = spdx { spdxId = "OSL-2.1"; fullName = "Open Software License 2.1"; @@ -546,6 +608,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec { fullName = "Public Domain"; }; + purdueBsd = { + fullName = " Purdue BSD-Style License"; # also know as lsof license + url = https://enterprise.dejacode.com/licenses/public/purdue-bsd; + }; + qpl = spdx { spdxId = "QPL-1.0"; fullName = "Q Public License 1.0"; @@ -561,6 +628,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec { fullName = "Ruby License"; }; + sendmail = spdx { + spdxId = "Sendmail"; + fullName = "Sendmail License"; + }; + sgi-b-20 = spdx { spdxId = "SGI-B-2.0"; fullName = "SGI Free Software License B v2.0"; @@ -650,7 +722,7 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec { }; wxWindows = spdx { - spdxId = "WXwindows"; + spdxId = "wxWindows"; fullName = "wxWindows Library Licence, Version 3.1"; }; diff --git a/lib/lists.nix b/lib/lists.nix index 288882924fff103bf670de01e212b67f317f202f..30d87ece66412d5e468d72e691e3d3fc1a692373 100644 --- a/lib/lists.nix +++ b/lib/lists.nix @@ -1,4 +1,5 @@ # General list operations. + { lib }: with lib.trivial; let @@ -6,23 +7,25 @@ let in rec { - inherit (builtins) head tail length isList elemAt concatLists filter elem genList; + inherit (builtins) head tail length isList elemAt concatLists filter elem genList map; - /* Create a list consisting of a single element. `singleton x' is - sometimes more convenient with respect to indentation than `[x]' + /* Create a list consisting of a single element. `singleton x` is + sometimes more convenient with respect to indentation than `[x]` when x spans multiple lines. + Type: singleton :: a -> [a] + Example: singleton "foo" => [ "foo" ] */ singleton = x: [x]; - /* “right fold” a binary function `op' between successive elements of - `list' with `nul' as the starting value, i.e., - `foldr op nul [x_1 x_2 ... x_n] == op x_1 (op x_2 ... (op x_n nul))'. - Type: - foldr :: (a -> b -> b) -> b -> [a] -> b + /* “right fold” a binary function `op` between successive elements of + `list` with `nul' as the starting value, i.e., + `foldr op nul [x_1 x_2 ... x_n] == op x_1 (op x_2 ... (op x_n nul))`. + + Type: foldr :: (a -> b -> b) -> b -> [a] -> b Example: concat = foldr (a: b: a + b) "z" @@ -42,16 +45,15 @@ rec { else op (elemAt list n) (fold' (n + 1)); in fold' 0; - /* `fold' is an alias of `foldr' for historic reasons */ + /* `fold` is an alias of `foldr` for historic reasons */ # FIXME(Profpatsch): deprecate? fold = foldr; - /* “left fold”, like `foldr', but from the left: + /* “left fold”, like `foldr`, but from the left: `foldl op nul [x_1 x_2 ... x_n] == op (... (op (op nul x_1) x_2) ... x_n)`. - Type: - foldl :: (b -> a -> b) -> b -> [a] -> b + Type: foldl :: (b -> a -> b) -> b -> [a] -> b Example: lconcat = foldl (a: b: a + b) "z" @@ -70,16 +72,20 @@ rec { else op (foldl' (n - 1)) (elemAt list n); in foldl' (length list - 1); - /* Strict version of `foldl'. + /* Strict version of `foldl`. The difference is that evaluation is forced upon access. Usually used with small whole results (in contract with lazily-generated list or large lists where only a part is consumed.) + + Type: foldl' :: (b -> a -> b) -> b -> [a] -> b */ foldl' = builtins.foldl' or foldl; /* Map with index starting from 0 + Type: imap0 :: (int -> a -> b) -> [a] -> [b] + Example: imap0 (i: v: "${v}-${toString i}") ["a" "b"] => [ "a-0" "b-1" ] @@ -88,6 +94,8 @@ rec { /* Map with index starting from 1 + Type: imap1 :: (int -> a -> b) -> [a] -> [b] + Example: imap1 (i: v: "${v}-${toString i}") ["a" "b"] => [ "a-1" "b-2" ] @@ -96,6 +104,8 @@ rec { /* Map and concatenate the result. + Type: concatMap :: (a -> [b]) -> [a] -> [b] + Example: concatMap (x: [x] ++ ["z"]) ["a" "b"] => [ "a" "z" "b" "z" ] @@ -118,15 +128,21 @@ rec { /* Remove elements equal to 'e' from a list. Useful for buildInputs. + Type: remove :: a -> [a] -> [a] + Example: remove 3 [ 1 3 4 3 ] => [ 1 4 ] */ - remove = e: filter (x: x != e); + remove = + # Element to remove from the list + e: filter (x: x != e); /* Find the sole element in the list matching the specified - predicate, returns `default' if no such element exists, or - `multiple' if there are multiple matching elements. + predicate, returns `default` if no such element exists, or + `multiple` if there are multiple matching elements. + + Type: findSingle :: (a -> bool) -> a -> a -> [a] -> a Example: findSingle (x: x == 3) "none" "multiple" [ 1 3 3 ] @@ -136,14 +152,24 @@ rec { findSingle (x: x == 3) "none" "multiple" [ 1 9 ] => "none" */ - findSingle = pred: default: multiple: list: + findSingle = + # Predicate + pred: + # Default value to return if element was not found. + default: + # Default value to return if more than one element was found + multiple: + # Input list + list: let found = filter pred list; len = length found; in if len == 0 then default else if len != 1 then multiple else head found; /* Find the first element in the list matching the specified - predicate or returns `default' if no such element exists. + predicate or return `default` if no such element exists. + + Type: findFirst :: (a -> bool) -> a -> [a] -> a Example: findFirst (x: x > 3) 7 [ 1 6 4 ] @@ -151,12 +177,20 @@ rec { findFirst (x: x > 9) 7 [ 1 6 4 ] => 7 */ - findFirst = pred: default: list: + findFirst = + # Predicate + pred: + # Default value to return + default: + # Input list + list: let found = filter pred list; in if found == [] then default else head found; - /* Return true iff function `pred' returns true for at least element - of `list'. + /* Return true if function `pred` returns true for at least one + element of `list`. + + Type: any :: (a -> bool) -> [a] -> bool Example: any isString [ 1 "a" { } ] @@ -166,8 +200,10 @@ rec { */ any = builtins.any or (pred: foldr (x: y: if pred x then true else y) false); - /* Return true iff function `pred' returns true for all elements of - `list'. + /* Return true if function `pred` returns true for all elements of + `list`. + + Type: all :: (a -> bool) -> [a] -> bool Example: all (x: x < 3) [ 1 2 ] @@ -177,19 +213,25 @@ rec { */ all = builtins.all or (pred: foldr (x: y: if pred x then y else false) true); - /* Count how many times function `pred' returns true for the elements - of `list'. + /* Count how many elements of `list` match the supplied predicate + function. + + Type: count :: (a -> bool) -> [a] -> int Example: count (x: x == 3) [ 3 2 3 4 6 ] => 2 */ - count = pred: foldl' (c: x: if pred x then c + 1 else c) 0; + count = + # Predicate + pred: foldl' (c: x: if pred x then c + 1 else c) 0; /* Return a singleton list or an empty list, depending on a boolean value. Useful when building lists with optional elements (e.g. `++ optional (system == "i686-linux") flashplayer'). + Type: optional :: bool -> a -> [a] + Example: optional true "foo" => [ "foo" ] @@ -200,13 +242,19 @@ rec { /* Return a list or an empty list, depending on a boolean value. + Type: optionals :: bool -> [a] -> [a] + Example: optionals true [ 2 3 ] => [ 2 3 ] optionals false [ 2 3 ] => [ ] */ - optionals = cond: elems: if cond then elems else []; + optionals = + # Condition + cond: + # List to return if condition is true + elems: if cond then elems else []; /* If argument is a list, return it; else, wrap it in a singleton @@ -223,20 +271,28 @@ rec { /* Return a list of integers from `first' up to and including `last'. + Type: range :: int -> int -> [int] + Example: range 2 4 => [ 2 3 4 ] range 3 2 => [ ] */ - range = first: last: + range = + # First integer in the range + first: + # Last integer in the range + last: if first > last then [] else genList (n: first + n) (last - first + 1); - /* Splits the elements of a list in two lists, `right' and - `wrong', depending on the evaluation of a predicate. + /* Splits the elements of a list in two lists, `right` and + `wrong`, depending on the evaluation of a predicate. + + Type: (a -> bool) -> [a] -> { right :: [a], wrong :: [a] } Example: partition (x: x > 2) [ 5 1 2 3 4 ] @@ -252,7 +308,7 @@ rec { /* Splits the elements of a list into many lists, using the return value of a predicate. Predicate should return a string which becomes keys of attrset `groupBy' returns. - `groupBy'' allows to customise the combining function and initial value + `groupBy'` allows to customise the combining function and initial value Example: groupBy (x: boolToString (x > 2)) [ 5 1 2 3 4 ] @@ -268,10 +324,6 @@ rec { xfce = [ { name = "xfce"; script = "xfce4-session &"; } ]; } - - groupBy' allows to customise the combining function and initial value - - Example: groupBy' builtins.add 0 (x: boolToString (x > 2)) [ 5 1 2 3 4 ] => { true = 12; false = 3; } */ @@ -289,17 +341,27 @@ rec { the merging stops at the shortest. How both lists are merged is defined by the first argument. + Type: zipListsWith :: (a -> b -> c) -> [a] -> [b] -> [c] + Example: zipListsWith (a: b: a + b) ["h" "l"] ["e" "o"] => ["he" "lo"] */ - zipListsWith = f: fst: snd: + zipListsWith = + # Function to zip elements of both lists + f: + # First list + fst: + # Second list + snd: genList (n: f (elemAt fst n) (elemAt snd n)) (min (length fst) (length snd)); /* Merges two lists of the same size together. If the sizes aren't the same the merging stops at the shortest. + Type: zipLists :: [a] -> [b] -> [{ fst :: a, snd :: b}] + Example: zipLists [ 1 2 ] [ "a" "b" ] => [ { fst = 1; snd = "a"; } { fst = 2; snd = "b"; } ] @@ -308,6 +370,8 @@ rec { /* Reverse the order of the elements of a list. + Type: reverseList :: [a] -> [a] + Example: reverseList [ "b" "o" "j" ] @@ -321,8 +385,7 @@ rec { `before a b == true` means that `b` depends on `a` (there's an edge from `b` to `a`). - Examples: - + Example: listDfs true hasPrefix [ "/home/user" "other" "/" "/home" ] == { minimal = "/"; # minimal element visited = [ "/home/user" ]; # seen elements (in reverse order) @@ -336,7 +399,6 @@ rec { rest = [ "/home" "other" ]; # everything else */ - listDfs = stopOnCycles: before: list: let dfs' = us: visited: rest: @@ -361,7 +423,7 @@ rec { `before a b == true` means that `b` should be after `a` in the result. - Examples: + Example: toposort hasPrefix [ "/home/user" "other" "/" "/home" ] == { result = [ "/" "/home" "/home/user" "other" ]; } @@ -376,7 +438,6 @@ rec { toposort (a: b: a < b) [ 3 2 1 ] == { result = [ 1 2 3 ]; } */ - toposort = before: list: let dfsthis = listDfs true before list; @@ -467,26 +528,38 @@ rec { /* Return the first (at most) N elements of a list. + Type: take :: int -> [a] -> [a] + Example: take 2 [ "a" "b" "c" "d" ] => [ "a" "b" ] take 2 [ ] => [ ] */ - take = count: sublist 0 count; + take = + # Number of elements to take + count: sublist 0 count; /* Remove the first (at most) N elements of a list. + Type: drop :: int -> [a] -> [a] + Example: drop 2 [ "a" "b" "c" "d" ] => [ "c" "d" ] drop 2 [ ] => [ ] */ - drop = count: list: sublist count (length list) list; + drop = + # Number of elements to drop + count: + # Input list + list: sublist count (length list) list; + + /* Return a list consisting of at most `count` elements of `list`, + starting at index `start`. - /* Return a list consisting of at most ‘count’ elements of ‘list’, - starting at index ‘start’. + Type: sublist :: int -> int -> [a] -> [a] Example: sublist 1 3 [ "a" "b" "c" "d" "e" ] @@ -494,7 +567,13 @@ rec { sublist 1 3 [ ] => [ ] */ - sublist = start: count: list: + sublist = + # Index at which to start the sublist + start: + # Number of elements to take + count: + # Input list + list: let len = length list; in genList (n: elemAt list (n + start)) @@ -504,23 +583,34 @@ rec { /* Return the last element of a list. + This function throws an error if the list is empty. + + Type: last :: [a] -> a + Example: last [ 1 2 3 ] => 3 */ last = list: - assert list != []; elemAt list (length list - 1); + assert lib.assertMsg (list != []) "lists.last: list must not be empty!"; + elemAt list (length list - 1); - /* Return all elements but the last + /* Return all elements but the last. + + This function throws an error if the list is empty. + + Type: init :: [a] -> [a] Example: init [ 1 2 3 ] => [ 1 2 ] */ - init = list: assert list != []; take (length list - 1) list; + init = list: + assert lib.assertMsg (list != []) "lists.init: list must not be empty!"; + take (length list - 1) list; - /* return the image of the cross product of some lists by a function + /* Return the image of the cross product of some lists by a function. Example: crossLists (x:y: "${toString x}${toString y}") [[1 2] [3 4]] @@ -531,8 +621,9 @@ rec { /* Remove duplicate elements from the list. O(n^2) complexity. - Example: + Type: unique :: [a] -> [a] + Example: unique [ 3 2 3 4 ] => [ 3 2 4 ] */ @@ -542,8 +633,7 @@ rec { else let x = head list; - xs = unique (drop 1 list); - in [x] ++ remove x xs; + in [x] ++ unique (remove x list); /* Intersects list 'e' and another list. O(nm) complexity. diff --git a/lib/meta.nix b/lib/meta.nix index 199030c103af58031ec8243193d324c0b391a8c6..2e83c4247ddfb9cb11a364087a08fb5015340292 100644 --- a/lib/meta.nix +++ b/lib/meta.nix @@ -41,16 +41,18 @@ rec { let x = builtins.parseDrvName name; in "${x.name}-${suffix}-${x.version}"); - /* Apply a function to each derivation and only to derivations in an attrset + /* Apply a function to each derivation and only to derivations in an attrset. */ mapDerivationAttrset = f: set: lib.mapAttrs (name: pkg: if lib.isDerivation pkg then (f pkg) else pkg) set; + /* Set the nix-env priority of the package. + */ + setPrio = priority: addMetaAttrs { inherit priority; }; /* Decrease the nix-env priority of the package, i.e., other versions/variants of the package will be preferred. */ - lowPrio = drv: addMetaAttrs { priority = 10; } drv; - + lowPrio = setPrio 10; /* Apply lowPrio to an attrset with derivations */ @@ -60,8 +62,7 @@ rec { /* Increase the nix-env priority of the package, i.e., this version/variant of the package will be preferred. */ - hiPrio = drv: addMetaAttrs { priority = -10; } drv; - + hiPrio = setPrio (-10); /* Apply hiPrio to an attrset with derivations */ diff --git a/lib/minver.nix b/lib/minver.nix index 2147820c0e49e7d3946fbcc5c6d08bd1d7d1210c..fee6b65a2447e63479f0522b6d8252c6d759295c 100644 --- a/lib/minver.nix +++ b/lib/minver.nix @@ -1,2 +1,2 @@ # Expose the minimum required version for evaluating Nixpkgs -"1.11" +"2.0" diff --git a/lib/modules.nix b/lib/modules.nix index a443d5ec5d161861938a2bb841ecceafb789f202..0869eae1982b667f7c93e9ba95ca910169a63e5a 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -192,29 +192,55 @@ rec { (concatMap (m: map (config: { inherit (m) file; inherit config; }) (pushDownProperties m.config)) modules); mergeModules' = prefix: options: configs: - listToAttrs (map (name: { + let + /* byName is like foldAttrs, but will look for attributes to merge in the + specified attribute name. + + byName "foo" (module: value: ["module.hidden=${module.hidden},value=${value}"]) + [ + { + hidden="baz"; + foo={qux="bar"; gla="flop";}; + } + { + hidden="fli"; + foo={qux="gne"; gli="flip";}; + } + ] + ===> + { + gla = [ "module.hidden=baz,value=flop" ]; + gli = [ "module.hidden=fli,value=flip" ]; + qux = [ "module.hidden=baz,value=bar" "module.hidden=fli,value=gne" ]; + } + */ + byName = attr: f: modules: + foldl' (acc: module: + acc // (mapAttrs (n: v: + (acc.${n} or []) ++ f module v + ) module.${attr} + ) + ) {} modules; + # an attrset 'name' => list of submodules that declare ‘name’. + declsByName = byName "options" (module: option: + [{ inherit (module) file; options = option; }] + ) options; + # an attrset 'name' => list of submodules that define ‘name’. + defnsByName = byName "config" (module: value: + map (config: { inherit (module) file; inherit config; }) (pushDownProperties value) + ) configs; + # extract the definitions for each loc + defnsByName' = byName "config" (module: value: + [{ inherit (module) file; inherit value; }] + ) configs; + in + (flip mapAttrs declsByName (name: decls: # We're descending into attribute ‘name’. - inherit name; - value = let loc = prefix ++ [name]; - # Get all submodules that declare ‘name’. - decls = concatMap (m: - if m.options ? ${name} - then [ { inherit (m) file; options = m.options.${name}; } ] - else [] - ) options; - # Get all submodules that define ‘name’. - defns = concatMap (m: - if m.config ? ${name} - then map (config: { inherit (m) file; inherit config; }) - (pushDownProperties m.config.${name}) - else [] - ) configs; + defns = defnsByName.${name} or []; + defns' = defnsByName'.${name} or []; nrOptions = count (m: isOption m.options) decls; - # Extract the definitions for this loc - defns' = map (m: { inherit (m) file; value = m.config.${name}; }) - (filter (m: m.config ? ${name}) configs); in if nrOptions == length decls then let opt = fixupOptionType loc (mergeOptionDecls loc decls); @@ -226,8 +252,8 @@ rec { in throw "The option `${showOption loc}' in `${firstOption.file}' is a prefix of options in `${firstNonOption.file}'." else - mergeModules' loc decls defns; - }) (concatMap (m: attrNames m.options) options)) + mergeModules' loc decls defns + )) // { _definedNames = map (m: { inherit (m) file; names = attrNames m.config; }) configs; }; /* Merge multiple option declarations into a single declaration. In @@ -338,7 +364,6 @@ rec { values = defs'''; inherit (defs'') highestPrio; }; - defsFinal = defsFinal'.values; # Type-check the remaining definitions, and merge them. @@ -426,8 +451,7 @@ rec { filterOverrides' = defs: let - defaultPrio = 100; - getPrio = def: if def.value._type or "" == "override" then def.value.priority else defaultPrio; + getPrio = def: if def.value._type or "" == "override" then def.value.priority else defaultPriority; highestPrio = foldl' (prio: def: min (getPrio def) prio) 9999 defs; strip = def: if def.value._type or "" == "override" then def // { value = def.value.content; } else def; in { @@ -510,6 +534,8 @@ rec { mkBefore = mkOrder 500; mkAfter = mkOrder 1500; + # The default priority for things that don't have a priority specified. + defaultPriority = 100; # Convenient property used to transfer all definitions and their # properties from one option to another. This property is useful for @@ -532,8 +558,20 @@ rec { # mkAliasDefinitions = mkAliasAndWrapDefinitions id; mkAliasAndWrapDefinitions = wrap: option: - mkIf (isOption option && option.isDefined) (wrap (mkMerge option.definitions)); + mkAliasIfDef option (wrap (mkMerge option.definitions)); + # Similar to mkAliasAndWrapDefinitions but copies over the priority from the + # option as well. + # + # If a priority is not set, it assumes a priority of defaultPriority. + mkAliasAndWrapDefsWithPriority = wrap: option: + let + prio = option.highestPrio or defaultPriority; + defsWithPrio = map (mkOverride prio) option.definitions; + in mkAliasIfDef option (wrap (mkMerge defsWithPrio)); + + mkAliasIfDef = option: + mkIf (isOption option && option.isDefined); /* Compatibility. */ fixMergeModules = modules: args: evalModules { inherit modules args; check = false; }; @@ -572,6 +610,9 @@ rec { forwards any definitions of boot.copyKernels to boot.loader.grub.copyKernels while printing a warning. + + This also copies over the priority from the aliased option to the + non-aliased option. */ mkRenamedOptionModule = from: to: doRename { inherit from to; @@ -666,7 +707,7 @@ rec { use = id; }; - doRename = { from, to, visible, warn, use }: + doRename = { from, to, visible, warn, use, withPriority ? true }: { config, options, ... }: let fromOpt = getAttrFromPath from options; @@ -684,7 +725,9 @@ rec { warnings = optional (warn && fromOpt.isDefined) "The option `${showOption from}' defined in ${showFiles fromOpt.files} has been renamed to `${showOption to}'."; } - (mkAliasAndWrapDefinitions (setAttrByPath to) fromOpt) + (if withPriority + then mkAliasAndWrapDefsWithPriority (setAttrByPath to) fromOpt + else mkAliasAndWrapDefinitions (setAttrByPath to) fromOpt) ]; }; diff --git a/lib/options.nix b/lib/options.nix index 01160b48ec01998ac665b7685cdbbecb1ba0627c..a16a980398d6b951a3ccf0192d6af539011a9dfa 100644 --- a/lib/options.nix +++ b/lib/options.nix @@ -8,33 +8,72 @@ with lib.strings; rec { + /* Returns true when the given argument is an option + + Type: isOption :: a -> bool + + Example: + isOption 1 // => false + isOption (mkOption {}) // => true + */ isOption = lib.isType "option"; + + /* Creates an Option attribute set. mkOption accepts an attribute set with the following keys: + + All keys default to `null` when not given. + + Example: + mkOption { } // => { _type = "option"; } + mkOption { defaultText = "foo"; } // => { _type = "option"; defaultText = "foo"; } + */ mkOption = - { default ? null # Default value used when no definition is given in the configuration. - , defaultText ? null # Textual representation of the default, for in the manual. - , example ? null # Example value used in the manual. - , description ? null # String describing the option. - , relatedPackages ? null # Related packages used in the manual (see `genRelatedPackages` in ../nixos/doc/manual/default.nix). - , type ? null # Option type, providing type-checking and value merging. - , apply ? null # Function that converts the option value to something else. - , internal ? null # Whether the option is for NixOS developers only. - , visible ? null # Whether the option shows up in the manual. - , readOnly ? null # Whether the option can be set only once - , options ? null # Obsolete, used by types.optionSet. + { + # Default value used when no definition is given in the configuration. + default ? null, + # Textual representation of the default, for the manual. + defaultText ? null, + # Example value used in the manual. + example ? null, + # String describing the option. + description ? null, + # Related packages used in the manual (see `genRelatedPackages` in ../nixos/doc/manual/default.nix). + relatedPackages ? null, + # Option type, providing type-checking and value merging. + type ? null, + # Function that converts the option value to something else. + apply ? null, + # Whether the option is for NixOS developers only. + internal ? null, + # Whether the option shows up in the manual. + visible ? null, + # Whether the option can be set only once + readOnly ? null, + # Deprecated, used by types.optionSet. + options ? null } @ attrs: attrs // { _type = "option"; }; - mkEnableOption = name: mkOption { + /* Creates an Option attribute set for a boolean value option i.e an + option to be toggled on or off: + + Example: + mkEnableOption "foo" + => { _type = "option"; default = false; description = "Whether to enable foo."; example = true; type = { ... }; } + */ + mkEnableOption = + # Name for the created option + name: mkOption { default = false; example = true; description = "Whether to enable ${name}."; type = lib.types.bool; }; - # This option accept anything, but it does not produce any result. This - # is useful for sharing a module across different module sets without - # having to implement similar features as long as the value of the options - # are not expected. + /* This option accepts anything, but it does not produce any result. + + This is useful for sharing a module across different module sets + without having to implement similar features as long as the + values of the options are not accessed. */ mkSinkUndeclaredOptions = attrs: mkOption ({ internal = true; visible = false; @@ -74,7 +113,24 @@ rec { else val) (head defs).value defs; + /* Extracts values of all "value" keys of the given list. + + Type: getValues :: [ { value :: a } ] -> [a] + + Example: + getValues [ { value = 1; } { value = 2; } ] // => [ 1 2 ] + getValues [ ] // => [ ] + */ getValues = map (x: x.value); + + /* Extracts values of all "file" keys of the given list + + Type: getFiles :: [ { file :: a } ] -> [a] + + Example: + getFiles [ { file = "file1"; } { file = "file2"; } ] // => [ "file1" "file2" ] + getFiles [ ] // => [ ] + */ getFiles = map (x: x.file); # Generate documentation template from the list of option declaration like @@ -87,7 +143,7 @@ rec { docOption = rec { loc = opt.loc; name = showOption opt.loc; - description = opt.description or (throw "Option `${name}' has no description."); + description = opt.description or (lib.warn "Option `${name}' has no description." "This option has no description."); declarations = filter (x: x != unknownModule) opt.declarations; internal = opt.internal or false; visible = opt.visible or true; @@ -107,10 +163,13 @@ rec { /* This function recursively removes all derivation attributes from - `x' except for the `name' attribute. This is to make the - generation of `options.xml' much more efficient: the XML - representation of derivations is very large (on the order of - megabytes) and is not actually used by the manual generator. */ + `x` except for the `name` attribute. + + This is to make the generation of `options.xml` much more + efficient: the XML representation of derivations is very large + (on the order of megabytes) and is not actually used by the + manual generator. + */ scrubOptionValue = x: if isDerivation x then { type = "derivation"; drvPath = x.name; outPath = x.name; name = x.name; } @@ -119,20 +178,21 @@ rec { else x; - /* For use in the ‘example’ option attribute. It causes the given - text to be included verbatim in documentation. This is necessary - for example values that are not simple values, e.g., - functions. */ + /* For use in the `example` option attribute. It causes the given + text to be included verbatim in documentation. This is necessary + for example values that are not simple values, e.g., functions. + */ literalExample = text: { _type = "literalExample"; inherit text; }; + # Helper functions. - /* Helper functions. */ + /* Convert an option, described as a list of the option parts in to a + safe, human readable version. - # Convert an option, described as a list of the option parts in to a - # safe, human readable version. ie: - # - # (showOption ["foo" "bar" "baz"]) == "foo.bar.baz" - # (showOption ["foo" "bar.baz" "tux"]) == "foo.\"bar.baz\".tux" + Example: + (showOption ["foo" "bar" "baz"]) == "foo.bar.baz" + (showOption ["foo" "bar.baz" "tux"]) == "foo.\"bar.baz\".tux" + */ showOption = parts: let escapeOptionPart = part: let diff --git a/lib/sources.nix b/lib/sources.nix index 704711b20cd9492b3cead39b0f73f6d86fe682cb..f02ddad17c6d76f6015e44b70834ce4660b600fe 100644 --- a/lib/sources.nix +++ b/lib/sources.nix @@ -12,8 +12,8 @@ rec { # Bring in a path as a source, filtering out all Subversion and CVS # directories, as well as backup files (*~). 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 version control software files/directories + (baseName == ".git" || type == "directory" && (baseName == ".svn" || baseName == "CVS" || baseName == ".hg")) || # Filter out editor backup / swap files. lib.hasSuffix "~" baseName || builtins.match "^\\.sw[a-z]$" baseName != null || @@ -26,6 +26,10 @@ rec { (type == "symlink" && lib.hasPrefix "result" baseName) ); + # Filters a source tree removing version control files and directories using cleanSourceWith + # + # Example: + # cleanSource ./. cleanSource = src: cleanSourceWith { filter = cleanSourceFilter; inherit src; }; # Like `builtins.filterSource`, except it will compose with itself, @@ -69,7 +73,7 @@ rec { # Get the commit id of a git repo # Example: commitIdFromGitRepo commitIdFromGitRepo = - let readCommitFromFile = path: file: + let readCommitFromFile = file: path: with builtins; let fileName = toString path + "/" + file; packedRefsName = toString path + "/packed-refs"; @@ -81,7 +85,7 @@ rec { matchRef = match "^ref: (.*)$" fileContent; in if isNull matchRef then fileContent - else readCommitFromFile path (lib.head matchRef) + else readCommitFromFile (lib.head matchRef) path # Sometimes, the file isn't there at all and has been packed away in the # packed-refs file, so we have to grep through it: else if lib.pathExists packedRefsName @@ -92,7 +96,7 @@ rec { then throw ("Could not find " + file + " in " + packedRefsName) else lib.head matchRef else throw ("Not a .git directory: " + path); - in lib.flip readCommitFromFile "HEAD"; + in readCommitFromFile "HEAD"; pathHasContext = builtins.hasContext or (lib.hasPrefix builtins.storeDir); diff --git a/lib/strings.nix b/lib/strings.nix index af932ce6ecff86458ff5cf13885621223b457e39..ae0d74c6721dc48867235cc0321771e7b44ee224 100644 --- a/lib/strings.nix +++ b/lib/strings.nix @@ -12,6 +12,8 @@ rec { /* Concatenate a list of strings. + Type: concatStrings :: [string] -> string + Example: concatStrings ["foo" "bar"] => "foobar" @@ -20,15 +22,19 @@ rec { /* Map a function over a list and concatenate the resulting strings. + Type: concatMapStrings :: (a -> string) -> [a] -> string + Example: concatMapStrings (x: "a" + x) ["foo" "bar"] => "afooabar" */ concatMapStrings = f: list: concatStrings (map f list); - /* Like `concatMapStrings' except that the f functions also gets the + /* Like `concatMapStrings` except that the f functions also gets the position as a parameter. + Type: concatImapStrings :: (int -> a -> string) -> [a] -> string + Example: concatImapStrings (pos: x: "${toString pos}-${x}") ["foo" "bar"] => "1-foo2-bar" @@ -37,17 +43,25 @@ rec { /* Place an element between each element of a list + Type: intersperse :: a -> [a] -> [a] + Example: intersperse "/" ["usr" "local" "bin"] => ["usr" "/" "local" "/" "bin"]. */ - intersperse = separator: list: + intersperse = + # Separator to add between elements + separator: + # Input list + list: if list == [] || length list == 1 then list else tail (lib.concatMap (x: [separator x]) list); /* Concatenate a list of strings with a separator between each element + Type: concatStringsSep :: string -> [string] -> string + Example: concatStringsSep "/" ["usr" "local" "bin"] => "usr/local/bin" @@ -55,43 +69,77 @@ rec { concatStringsSep = builtins.concatStringsSep or (separator: list: concatStrings (intersperse separator list)); - /* First maps over the list and then concatenates it. + /* Maps a function over a list of strings and then concatenates the + result with the specified separator interspersed between + elements. + + Type: concatMapStringsSep :: string -> (string -> string) -> [string] -> string Example: concatMapStringsSep "-" (x: toUpper x) ["foo" "bar" "baz"] => "FOO-BAR-BAZ" */ - concatMapStringsSep = sep: f: list: concatStringsSep sep (map f list); + concatMapStringsSep = + # Separator to add between elements + sep: + # Function to map over the list + f: + # List of input strings + list: concatStringsSep sep (map f list); - /* First imaps over the list and then concatenates it. + /* Same as `concatMapStringsSep`, but the mapping function + additionally receives the position of its argument. - Example: + Type: concatIMapStringsSep :: string -> (int -> string -> string) -> [string] -> string + Example: concatImapStringsSep "-" (pos: x: toString (x / pos)) [ 6 6 6 ] => "6-3-2" */ - concatImapStringsSep = sep: f: list: concatStringsSep sep (lib.imap1 f list); + concatImapStringsSep = + # Separator to add between elements + sep: + # Function that receives elements and their positions + f: + # List of input strings + list: concatStringsSep sep (lib.imap1 f list); + + /* Construct a Unix-style, colon-separated search path consisting of + the given `subDir` appended to each of the given paths. - /* Construct a Unix-style search path consisting of each `subDir" - directory of the given list of packages. + Type: makeSearchPath :: string -> [string] -> string Example: makeSearchPath "bin" ["/root" "/usr" "/usr/local"] => "/root/bin:/usr/bin:/usr/local/bin" - makeSearchPath "bin" ["/"] - => "//bin" + makeSearchPath "bin" [""] + => "/bin" */ - makeSearchPath = subDir: packages: - concatStringsSep ":" (map (path: path + "/" + subDir) (builtins.filter (x: x != null) packages)); + makeSearchPath = + # Directory name to append + subDir: + # List of base paths + paths: + concatStringsSep ":" (map (path: path + "/" + subDir) (builtins.filter (x: x != null) paths)); - /* Construct a Unix-style search path, using given package output. - If no output is found, fallback to `.out` and then to the default. + /* Construct a Unix-style search path by appending the given + `subDir` to the specified `output` of each of the packages. If no + output by the given name is found, fallback to `.out` and then to + the default. + + Type: string -> string -> [package] -> string Example: makeSearchPathOutput "dev" "bin" [ pkgs.openssl pkgs.zlib ] => "/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r-dev/bin:/nix/store/wwh7mhwh269sfjkm6k5665b5kgp7jrk2-zlib-1.2.8/bin" */ - makeSearchPathOutput = output: subDir: pkgs: makeSearchPath subDir (map (lib.getOutput output) pkgs); + makeSearchPathOutput = + # Package output to use + output: + # Directory name to append + subDir: + # List of packages + pkgs: makeSearchPath subDir (map (lib.getOutput output) pkgs); /* Construct a library search path (such as RPATH) containing the libraries for a set of packages @@ -114,64 +162,80 @@ rec { */ makeBinPath = makeSearchPathOutput "bin" "bin"; - - /* Construct a perl search path (such as $PERL5LIB) - - FIXME(zimbatm): this should be moved in perl-specific code - - Example: - pkgs = import { } - makePerlPath [ pkgs.perlPackages.libnet ] - => "/nix/store/n0m1fk9c960d8wlrs62sncnadygqqc6y-perl-Net-SMTP-1.25/lib/perl5/site_perl" - */ - makePerlPath = makeSearchPathOutput "lib" "lib/perl5/site_perl"; - - /* Construct a perl search path recursively including all dependencies (such as $PERL5LIB) - - Example: - pkgs = import { } - makeFullPerlPath [ pkgs.perlPackages.CGI ] - => "/nix/store/fddivfrdc1xql02h9q500fpnqy12c74n-perl-CGI-4.38/lib/perl5/site_perl:/nix/store/8hsvdalmsxqkjg0c5ifigpf31vc4vsy2-perl-HTML-Parser-3.72/lib/perl5/site_perl:/nix/store/zhc7wh0xl8hz3y3f71nhlw1559iyvzld-perl-HTML-Tagset-3.20/lib/perl5/site_perl" - */ - makeFullPerlPath = deps: makePerlPath (lib.misc.closePropagation deps); - /* Depending on the boolean `cond', return either the given string or the empty string. Useful to concatenate against a bigger string. + Type: optionalString :: bool -> string -> string + Example: optionalString true "some-string" => "some-string" optionalString false "some-string" => "" */ - optionalString = cond: string: if cond then string else ""; + optionalString = + # Condition + cond: + # String to return if condition is true + string: if cond then string else ""; /* Determine whether a string has given prefix. + Type: hasPrefix :: string -> string -> bool + Example: hasPrefix "foo" "foobar" => true hasPrefix "foo" "barfoo" => false */ - hasPrefix = pref: str: - substring 0 (stringLength pref) str == pref; + hasPrefix = + # Prefix to check for + pref: + # Input string + str: substring 0 (stringLength pref) str == pref; /* Determine whether a string has given suffix. + Type: hasSuffix :: string -> string -> bool + Example: hasSuffix "foo" "foobar" => false hasSuffix "foo" "barfoo" => true */ - hasSuffix = suffix: content: + hasSuffix = + # Suffix to check for + suffix: + # Input string + content: let lenContent = stringLength content; lenSuffix = stringLength suffix; in lenContent >= lenSuffix && substring (lenContent - lenSuffix) lenContent content == suffix; + /* Determine whether a string contains the given infix + + Type: hasInfix :: string -> string -> bool + + Example: + hasInfix "bc" "abcd" + => true + hasInfix "ab" "abcd" + => true + hasInfix "cd" "abcd" + => true + hasInfix "foo" "abcd" + => false + */ + hasInfix = infix: content: + let + drop = x: substring 1 (stringLength x) x; + in hasPrefix infix content + || content != "" && hasInfix infix (drop content); + /* Convert a string to a list of characters (i.e. singleton strings). This allows you to, e.g., map a function over each character. However, note that this will likely be horribly inefficient; Nix is not a @@ -180,6 +244,8 @@ rec { Also note that Nix treats strings as a list of bytes and thus doesn't handle unicode. + Type: stringtoCharacters :: string -> [string] + Example: stringToCharacters "" => [ ] @@ -194,18 +260,25 @@ rec { /* Manipulate a string character by character and replace them by strings before concatenating the results. + Type: stringAsChars :: (string -> string) -> string -> string + Example: stringAsChars (x: if x == "a" then "i" else x) "nax" => "nix" */ - stringAsChars = f: s: - concatStrings ( + stringAsChars = + # Function to map over each individual character + f: + # Input string + s: concatStrings ( map f (stringToCharacters s) ); - /* Escape occurrence of the elements of ‘list’ in ‘string’ by + /* Escape occurrence of the elements of `list` in `string` by prefixing it with a backslash. + Type: escape :: [string] -> string -> string + Example: escape ["(" ")"] "(foo)" => "\\(foo\\)" @@ -214,6 +287,8 @@ rec { /* Quote string to be used safely within the Bourne shell. + Type: escapeShellArg :: string -> string + Example: escapeShellArg "esc'ape\nme" => "'esc'\\''ape\nme'" @@ -222,6 +297,8 @@ rec { /* Quote all arguments to be safely passed to the Bourne shell. + Type: escapeShellArgs :: [string] -> string + Example: escapeShellArgs ["one" "two three" "four'five"] => "'one' 'two three' 'four'\\''five'" @@ -230,13 +307,15 @@ rec { /* Turn a string into a Nix expression representing that string + Type: string -> string + Example: escapeNixString "hello\${}\n" => "\"hello\\\${}\\n\"" */ escapeNixString = s: escape ["$"] (builtins.toJSON s); - /* Obsolete - use replaceStrings instead. */ + # Obsolete - use replaceStrings instead. replaceChars = builtins.replaceStrings or ( del: new: s: let @@ -256,6 +335,8 @@ rec { /* Converts an ASCII string to lower-case. + Type: toLower :: string -> string + Example: toLower "HOME" => "home" @@ -264,6 +345,8 @@ rec { /* Converts an ASCII string to upper-case. + Type: toUpper :: string -> string + Example: toUpper "home" => "HOME" @@ -273,7 +356,7 @@ rec { /* Appends string context from another string. This is an implementation detail of Nix. - Strings in Nix carry an invisible `context' which is a list of strings + Strings in Nix carry an invisible `context` which is a list of strings representing store paths. If the string is later used in a derivation attribute, the derivation will properly populate the inputDrvs and inputSrcs. @@ -319,8 +402,9 @@ rec { in recurse 0 0; - /* Return the suffix of the second argument if the first argument matches - its prefix. + /* Return a string without the specified prefix, if the prefix matches. + + Type: string -> string -> string Example: removePrefix "foo." "foo.bar.baz" @@ -328,18 +412,23 @@ rec { removePrefix "xxx" "foo.bar.baz" => "foo.bar.baz" */ - removePrefix = pre: s: + removePrefix = + # Prefix to remove if it matches + prefix: + # Input string + str: let - preLen = stringLength pre; - sLen = stringLength s; + preLen = stringLength prefix; + sLen = stringLength str; in - if hasPrefix pre s then - substring preLen (sLen - preLen) s + if hasPrefix prefix str then + substring preLen (sLen - preLen) str else - s; + str; + + /* Return a string without the specified suffix, if the suffix matches. - /* Return the prefix of the second argument if the first argument matches - its suffix. + Type: string -> string -> string Example: removeSuffix "front" "homefront" @@ -347,17 +436,21 @@ rec { removeSuffix "xxx" "homefront" => "homefront" */ - removeSuffix = suf: s: + removeSuffix = + # Suffix to remove if it matches + suffix: + # Input string + str: let - sufLen = stringLength suf; - sLen = stringLength s; + sufLen = stringLength suffix; + sLen = stringLength str; in - if sufLen <= sLen && suf == substring (sLen - sufLen) sufLen s then - substring 0 (sLen - sufLen) s + if sufLen <= sLen && suffix == substring (sLen - sufLen) sufLen str then + substring 0 (sLen - sufLen) str else - s; + str; - /* Return true iff string v1 denotes a version older than v2. + /* Return true if string v1 denotes a version older than v2. Example: versionOlder "1.1" "1.2" @@ -367,7 +460,7 @@ rec { */ versionOlder = v1: v2: builtins.compareVersions v2 v1 == 1; - /* Return true iff string v1 denotes a version equal to or newer than v2. + /* Return true if string v1 denotes a version equal to or newer than v2. Example: versionAtLeast "1.1" "1.0" @@ -410,7 +503,7 @@ rec { components = splitString "/" url; filename = lib.last components; name = builtins.head (splitString sep filename); - in assert name != filename; name; + in assert name != filename; name; /* Create an --{enable,disable}- string that can be passed to standard GNU Autoconf scripts. @@ -459,6 +552,11 @@ rec { /* Create a fixed width string with additional prefix to match required width. + This function will fail if the input string is longer than the + requested length. + + Type: fixedWidthString :: int -> string -> string + Example: fixedWidthString 5 "0" (toString 15) => "00015" @@ -468,7 +566,10 @@ rec { strw = lib.stringLength str; reqWidth = width - (lib.stringLength filler); in - assert strw <= width; + assert lib.assertMsg (strw <= width) + "fixedWidthString: requested string length (${ + toString width}) must not be shorter than actual length (${ + toString strw})"; if strw == width then str else filler + fixedWidthString reqWidth filler str; /* Format a number adding leading zeroes up to fixed width. @@ -499,12 +600,16 @@ rec { => false */ isStorePath = x: - isCoercibleToString x - && builtins.substring 0 1 (toString x) == "/" - && dirOf (builtins.toPath x) == builtins.storeDir; + if isCoercibleToString x then + let str = toString x; in + builtins.substring 0 1 str == "/" + && dirOf str == builtins.storeDir + else + false; - /* Convert string to int - Obviously, it is a bit hacky to use fromJSON that way. + /* Parse a string string as an int. + + Type: string -> int Example: toInt "1337" @@ -514,17 +619,18 @@ rec { toInt "3.14" => error: floating point JSON numbers are not supported */ + # Obviously, it is a bit hacky to use fromJSON this way. toInt = str: let may_be_int = builtins.fromJSON str; in if builtins.isInt may_be_int then may_be_int else throw "Could not convert ${str} to int."; - /* Read a list of paths from `file', relative to the `rootPath'. Lines - beginning with `#' are treated as comments and ignored. Whitespace - is significant. + /* Read a list of paths from `file`, relative to the `rootPath`. + Lines beginning with `#` are treated as comments and ignored. + Whitespace is significant. - NOTE: this function is not performant and should be avoided + NOTE: This function is not performant and should be avoided. Example: readPathsFromFile /prefix @@ -537,16 +643,17 @@ rec { */ readPathsFromFile = rootPath: file: let - root = toString rootPath; lines = lib.splitString "\n" (builtins.readFile file); removeComments = lib.filter (line: line != "" && !(lib.hasPrefix "#" line)); relativePaths = removeComments lines; - absolutePaths = builtins.map (path: builtins.toPath (root + "/" + path)) relativePaths; + absolutePaths = builtins.map (path: rootPath + "/${path}") relativePaths; in absolutePaths; /* Read the contents of a file removing the trailing \n + Type: fileContents :: path -> string + Example: $ echo "1.0" > ./version diff --git a/lib/systems/default.nix b/lib/systems/default.nix index 5eacc9eb23e11277e7f59bd76533b005f4b5e527..5e6d277be7d5a1ee32649d00a67ec065c74ac227 100644 --- a/lib/systems/default.nix +++ b/lib/systems/default.nix @@ -24,14 +24,20 @@ rec { config = parse.tripleFromSystem final.parsed; # Just a guess, based on `system` platform = platforms.selectBySystem final.system; + # Determine whether we are compatible with the provided CPU + isCompatible = platform: parse.isCompatible final.parsed.cpu platform.parsed.cpu; # Derived meta-data libc = /**/ if final.isDarwin then "libSystem" else if final.isMinGW then "msvcrt" + else if final.isWasi then "wasilibc" else if final.isMusl then "musl" else if final.isUClibc then "uclibc" else if final.isAndroid then "bionic" else if final.isLinux /* default */ then "glibc" + else if final.isMsp430 then "newlib" + else if final.isAvr then "avrlibc" + else if final.isNetBSD then "nblibc" # TODO(@Ericson2314) think more about other operating systems else "native/impure"; extensions = { @@ -46,6 +52,73 @@ rec { # Misc boolean options useAndroidPrebuilt = false; useiOSPrebuilt = false; + + # Output from uname + uname = { + # uname -s + system = { + "linux" = "Linux"; + "windows" = "Windows"; + "darwin" = "Darwin"; + "netbsd" = "NetBSD"; + "freebsd" = "FreeBSD"; + "openbsd" = "OpenBSD"; + "wasi" = "Wasi"; + }.${final.parsed.kernel.name} or null; + + # uname -p + processor = final.parsed.cpu.name; + + # uname -r + release = null; + }; + + kernelArch = + if final.isAarch32 then "arm" + else if final.isAarch64 then "arm64" + else if final.isx86_32 then "x86" + else if final.isx86_64 then "ia64" + else final.parsed.cpu.name; + + qemuArch = + if final.isArm then "arm" + else if final.isx86_64 then "x86_64" + else if final.isx86 then "i386" + else { + "powerpc" = "ppc"; + "powerpcle" = "ppc"; + "powerpc64" = "ppc64"; + "powerpc64le" = "ppc64le"; + }.${final.parsed.cpu.name} or final.parsed.cpu.name; + + emulator = pkgs: let + qemu-user = pkgs.qemu.override { + smartcardSupport = false; + spiceSupport = false; + openGLSupport = false; + virglSupport = false; + vncSupport = false; + gtkSupport = false; + sdlSupport = false; + pulseSupport = false; + smbdSupport = false; + seccompSupport = false; + hostCpuTargets = ["${final.qemuArch}-linux-user"]; + }; + wine-name = "wine${toString final.parsed.cpu.bits}"; + wine = (pkgs.winePackagesFor wine-name).minimal; + in + if final.parsed.kernel.name == pkgs.stdenv.hostPlatform.parsed.kernel.name && + pkgs.stdenv.hostPlatform.isCompatible final + then "${pkgs.runtimeShell} -c '\"$@\"' --" + else if final.isWindows + then "${wine}/bin/${wine-name}" + else if final.isLinux && pkgs.stdenv.hostPlatform.isLinux + then "${qemu-user}/bin/qemu-${final.qemuArch}" + else if final.isWasi + then "${pkgs.wasmtime}/bin/wasmtime" + else throw "Don't know how to run ${final.config} executables."; + } // mapAttrs (n: v: v final.parsed) inspect.predicates // args; in assert final.useAndroidPrebuilt -> final.isAndroid; diff --git a/lib/systems/doubles.nix b/lib/systems/doubles.nix index adc454406b851c75f7b27b64a65f6955c480f08c..c6877ebef0bc51fa00116183f34f321adc5104c3 100644 --- a/lib/systems/doubles.nix +++ b/lib/systems/doubles.nix @@ -15,6 +15,10 @@ let "x86_64-cygwin" "x86_64-darwin" "x86_64-freebsd" "x86_64-linux" "x86_64-netbsd" "x86_64-openbsd" "x86_64-solaris" + + "x86_64-windows" "i686-windows" + + "wasm64-wasi" "wasm32-wasi" ]; allParsed = map parse.mkSystemFromString all; @@ -36,13 +40,15 @@ in rec { cygwin = filterDoubles predicates.isCygwin; darwin = filterDoubles predicates.isDarwin; freebsd = filterDoubles predicates.isFreeBSD; - # Should be better, but MinGW is unclear, and HURD is bit-rotted. - gnu = filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnu; }); + # Should be better, but MinGW is unclear. + gnu = filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnu; }) ++ filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnueabi; }) ++ filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnueabihf; }); illumos = filterDoubles predicates.isSunOS; linux = filterDoubles predicates.isLinux; netbsd = filterDoubles predicates.isNetBSD; openbsd = filterDoubles predicates.isOpenBSD; unix = filterDoubles predicates.isUnix; + wasi = filterDoubles predicates.isWasi; + windows = filterDoubles predicates.isWindows; - mesaPlatforms = ["i686-linux" "x86_64-linux" "x86_64-darwin" "armv5tel-linux" "armv6l-linux" "armv7l-linux" "aarch64-linux" "powerpc64le-linux"]; + mesaPlatforms = ["i686-linux" "x86_64-linux" "x86_64-darwin" "armv5tel-linux" "armv6l-linux" "armv7l-linux" "armv7a-linux" "aarch64-linux" "powerpc64le-linux"]; } diff --git a/lib/systems/examples.nix b/lib/systems/examples.nix index 3828b2f84c6491ad608ed2f3c480a646eb4492ef..94c7cfd7570f6b7e9d01e6d491d5fdc50758b341 100644 --- a/lib/systems/examples.nix +++ b/lib/systems/examples.nix @@ -2,7 +2,14 @@ # `crossSystem`. They are put here for user convenience, but also used by cross # tests and linux cross stdenv building, so handle with care! { lib }: -let platforms = import ./platforms.nix { inherit lib; }; in +let + platforms = import ./platforms.nix { inherit lib; }; + + riscv = bits: { + config = "riscv${bits}-unknown-linux-gnu"; + platform = platforms.riscv-multiplatform bits; + }; +in rec { # @@ -28,7 +35,7 @@ rec { }; armv7l-hf-multiplatform = rec { - config = "armv7a-unknown-linux-gnueabihf"; + config = "armv7l-unknown-linux-gnueabihf"; platform = platforms.armv7l-hf-multiplatform; }; @@ -37,18 +44,10 @@ rec { platform = platforms.aarch64-multiplatform; }; - armv5te-android-prebuilt = rec { - config = "armv5tel-unknown-linux-androideabi"; - sdkVer = "21"; - ndkVer = "10e"; - platform = platforms.armv5te-android; - useAndroidPrebuilt = true; - }; - armv7a-android-prebuilt = rec { config = "armv7a-unknown-linux-androideabi"; sdkVer = "24"; - ndkVer = "17"; + ndkVer = "18b"; platform = platforms.armv7a-android; useAndroidPrebuilt = true; }; @@ -56,7 +55,7 @@ rec { aarch64-android-prebuilt = rec { config = "aarch64-unknown-linux-android"; sdkVer = "24"; - ndkVer = "17"; + ndkVer = "18b"; platform = platforms.aarch64-multiplatform; useAndroidPrebuilt = true; }; @@ -92,13 +91,56 @@ rec { musl64 = { config = "x86_64-unknown-linux-musl"; }; musl32 = { config = "i686-unknown-linux-musl"; }; - riscv = bits: { - config = "riscv${bits}-unknown-linux-gnu"; - platform = platforms.riscv-multiplatform bits; - }; riscv64 = riscv "64"; riscv32 = riscv "32"; + msp430 = { + config = "msp430-elf"; + libc = "newlib"; + }; + + avr = { + config = "avr"; + }; + + arm-embedded = { + config = "arm-none-eabi"; + libc = "newlib"; + }; + armhf-embedded = { + config = "arm-none-eabihf"; + libc = "newlib"; + }; + + aarch64-embedded = { + config = "aarch64-none-elf"; + libc = "newlib"; + }; + + aarch64be-embedded = { + config = "aarch64_be-none-elf"; + libc = "newlib"; + }; + + ppc-embedded = { + config = "powerpc-none-eabi"; + libc = "newlib"; + }; + + ppcle-embedded = { + config = "powerpcle-none-eabi"; + libc = "newlib"; + }; + + i686-embedded = { + config = "i686-elf"; + libc = "newlib"; + }; + + x86_64-embedded = { + config = "x86_64-elf"; + libc = "newlib"; + }; # # Darwin @@ -162,4 +204,21 @@ rec { libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain platform = {}; }; + + # BSDs + + amd64-netbsd = { + config = "x86_64-unknown-netbsd"; + libc = "nblibc"; + }; + + # + # WASM + # + + wasi32 = { + config = "wasm32-unknown-wasi"; + useLLVM = true; + }; + } diff --git a/lib/systems/for-meta.nix b/lib/systems/for-meta.nix index 96e8b6f86eb06fcd4520234aec760c2dd3ac4db2..17ae94deb7d1c46d1cc7b1baa986e90f604e26ea 100644 --- a/lib/systems/for-meta.nix +++ b/lib/systems/for-meta.nix @@ -20,7 +20,7 @@ in rec { cygwin = [ patterns.isCygwin ]; darwin = [ patterns.isDarwin ]; freebsd = [ patterns.isFreeBSD ]; - # Should be better, but MinGW is unclear, and HURD is bit-rotted. + # Should be better, but MinGW is unclear. gnu = [ { kernel = parse.kernels.linux; abi = abis.gnu; } { kernel = parse.kernels.linux; abi = abis.gnueabi; } @@ -32,6 +32,7 @@ in rec { openbsd = [ patterns.isOpenBSD ]; unix = patterns.isUnix; # Actually a list windows = [ patterns.isWindows ]; + wasi = [ patterns.isWasi ]; inherit (lib.systems.doubles) mesaPlatforms; } diff --git a/lib/systems/inspect.nix b/lib/systems/inspect.nix index ac34ed45695cea095eab9fccbfd83646a2691417..1c90af88879a412a3a67ab51fe4d2dccfed15205 100644 --- a/lib/systems/inspect.nix +++ b/lib/systems/inspect.nix @@ -9,7 +9,8 @@ let abis = lib.mapAttrs (_: abi: builtins.removeAttrs abi [ "assertions" ]) abis rec { patterns = rec { isi686 = { cpu = cpuTypes.i686; }; - isx86_64 = { cpu = cpuTypes.x86_64; }; + isx86_32 = { cpu = { family = "x86"; bits = 32; }; }; + isx86_64 = { cpu = { family = "x86"; bits = 64; }; }; isPowerPC = { cpu = cpuTypes.powerpc; }; isPower = { cpu = { family = "power"; }; }; isx86 = { cpu = { family = "x86"; }; }; @@ -19,6 +20,9 @@ rec { isRiscV = { cpu = { family = "riscv"; }; }; isSparc = { cpu = { family = "sparc"; }; }; isWasm = { cpu = { family = "wasm"; }; }; + isMsp430 = { cpu = { family = "msp430"; }; }; + isAvr = { cpu = { family = "avr"; }; }; + isAlpha = { cpu = { family = "alpha"; }; }; is32bit = { cpu = { bits = 32; }; }; is64bit = { cpu = { bits = 64; }; }; @@ -27,19 +31,19 @@ rec { isBSD = { kernel = { families = { inherit (kernelFamilies) bsd; }; }; }; isDarwin = { kernel = { families = { inherit (kernelFamilies) darwin; }; }; }; - isUnix = [ isBSD isDarwin isLinux isSunOS isHurd isCygwin ]; + isUnix = [ isBSD isDarwin isLinux isSunOS isCygwin ]; isMacOS = { kernel = kernels.macos; }; isiOS = { kernel = kernels.ios; }; isLinux = { kernel = kernels.linux; }; isSunOS = { kernel = kernels.solaris; }; isFreeBSD = { kernel = kernels.freebsd; }; - isHurd = { kernel = kernels.hurd; }; isNetBSD = { kernel = kernels.netbsd; }; isOpenBSD = { kernel = kernels.openbsd; }; isWindows = { kernel = kernels.windows; }; isCygwin = { kernel = kernels.windows; abi = abis.cygnus; }; isMinGW = { kernel = kernels.windows; abi = abis.gnu; }; + isWasi = { kernel = kernels.wasi; }; isAndroid = [ { abi = abis.android; } { abi = abis.androideabi; } ]; isMusl = with abis; map (a: { abi = a; }) [ musl musleabi musleabihf ]; diff --git a/lib/systems/parse.nix b/lib/systems/parse.nix index 7ee3479c333d88bb11afb3e734d2d041be07922c..7f5912a13a75153c8973c5ae378afbd4c2a0e4b2 100644 --- a/lib/systems/parse.nix +++ b/lib/systems/parse.nix @@ -69,20 +69,24 @@ rec { cpuTypes = with significantBytes; setTypes types.openCpuType { arm = { bits = 32; significantByte = littleEndian; family = "arm"; }; - armv5tel = { bits = 32; significantByte = littleEndian; family = "arm"; version = "5"; }; - armv6m = { bits = 32; significantByte = littleEndian; family = "arm"; version = "6"; }; - armv6l = { bits = 32; significantByte = littleEndian; family = "arm"; version = "6"; }; - armv7a = { bits = 32; significantByte = littleEndian; family = "arm"; version = "7"; }; - armv7r = { bits = 32; significantByte = littleEndian; family = "arm"; version = "7"; }; - armv7m = { bits = 32; significantByte = littleEndian; family = "arm"; version = "7"; }; - armv7l = { bits = 32; significantByte = littleEndian; family = "arm"; version = "7"; }; - armv8a = { bits = 32; significantByte = littleEndian; family = "arm"; version = "8"; }; - armv8r = { bits = 32; significantByte = littleEndian; family = "arm"; version = "8"; }; - armv8m = { bits = 32; significantByte = littleEndian; family = "arm"; version = "8"; }; - aarch64 = { bits = 64; significantByte = littleEndian; family = "arm"; version = "8"; }; - - i686 = { bits = 32; significantByte = littleEndian; family = "x86"; }; - x86_64 = { bits = 64; significantByte = littleEndian; family = "x86"; }; + armv5tel = { bits = 32; significantByte = littleEndian; family = "arm"; version = "5"; arch = "armv5t"; }; + armv6m = { bits = 32; significantByte = littleEndian; family = "arm"; version = "6"; arch = "armv6-m"; }; + armv6l = { bits = 32; significantByte = littleEndian; family = "arm"; version = "6"; arch = "armv6"; }; + armv7a = { bits = 32; significantByte = littleEndian; family = "arm"; version = "7"; arch = "armv7-a"; }; + armv7r = { bits = 32; significantByte = littleEndian; family = "arm"; version = "7"; arch = "armv7-r"; }; + armv7m = { bits = 32; significantByte = littleEndian; family = "arm"; version = "7"; arch = "armv7-m"; }; + armv7l = { bits = 32; significantByte = littleEndian; family = "arm"; version = "7"; arch = "armv7"; }; + armv8a = { bits = 32; significantByte = littleEndian; family = "arm"; version = "8"; arch = "armv8-a"; }; + armv8r = { bits = 32; significantByte = littleEndian; family = "arm"; version = "8"; arch = "armv8-a"; }; + armv8m = { bits = 32; significantByte = littleEndian; family = "arm"; version = "8"; arch = "armv8-m"; }; + aarch64 = { bits = 64; significantByte = littleEndian; family = "arm"; version = "8"; arch = "armv8-a"; }; + aarch64_be = { bits = 64; significantByte = bigEndian; family = "arm"; version = "8"; arch = "armv8-a"; }; + + i386 = { bits = 32; significantByte = littleEndian; family = "x86"; arch = "i386"; }; + i486 = { bits = 32; significantByte = littleEndian; family = "x86"; arch = "i486"; }; + i586 = { bits = 32; significantByte = littleEndian; family = "x86"; arch = "i586"; }; + i686 = { bits = 32; significantByte = littleEndian; family = "x86"; arch = "i686"; }; + x86_64 = { bits = 64; significantByte = littleEndian; family = "x86"; arch = "x86-64"; }; mips = { bits = 32; significantByte = bigEndian; family = "mips"; }; mipsel = { bits = 32; significantByte = littleEndian; family = "mips"; }; @@ -92,6 +96,7 @@ rec { powerpc = { bits = 32; significantByte = bigEndian; family = "power"; }; powerpc64 = { bits = 64; significantByte = bigEndian; family = "power"; }; powerpc64le = { bits = 64; significantByte = littleEndian; family = "power"; }; + powerpcle = { bits = 32; significantByte = littleEndian; family = "power"; }; riscv32 = { bits = 32; significantByte = littleEndian; family = "riscv"; }; riscv64 = { bits = 64; significantByte = littleEndian; family = "riscv"; }; @@ -101,8 +106,93 @@ rec { wasm32 = { bits = 32; significantByte = littleEndian; family = "wasm"; }; wasm64 = { bits = 64; significantByte = littleEndian; family = "wasm"; }; + + alpha = { bits = 64; significantByte = littleEndian; family = "alpha"; }; + + msp430 = { bits = 16; significantByte = littleEndian; family = "msp430"; }; + avr = { bits = 8; family = "avr"; }; }; + # Determine where two CPUs are compatible with each other. That is, + # can we run code built for system b on system a? For that to + # happen, then the set of all possible possible programs that system + # b accepts must be a subset of the set of all programs that system + # a accepts. This compatibility relation forms a category where each + # CPU is an object and each arrow from a to b represents + # compatibility. CPUs with multiple modes of Endianness are + # isomorphic while all CPUs are endomorphic because any program + # built for a CPU can run on that CPU. + isCompatible = a: b: with cpuTypes; lib.any lib.id [ + # x86 + (b == i386 && isCompatible a i486) + (b == i486 && isCompatible a i586) + (b == i586 && isCompatible a i686) + + # XXX: Not true in some cases. Like in WSL mode. + (b == i686 && isCompatible a x86_64) + + # ARMv4 + (b == arm && isCompatible a armv5tel) + + # ARMv5 + (b == armv5tel && isCompatible a armv6l) + + # ARMv6 + (b == armv6l && isCompatible a armv6m) + (b == armv6m && isCompatible a armv7l) + + # ARMv7 + (b == armv7l && isCompatible a armv7a) + (b == armv7l && isCompatible a armv7r) + (b == armv7l && isCompatible a armv7m) + (b == armv7a && isCompatible a armv8a) + (b == armv7r && isCompatible a armv8a) + (b == armv7m && isCompatible a armv8a) + (b == armv7a && isCompatible a armv8r) + (b == armv7r && isCompatible a armv8r) + (b == armv7m && isCompatible a armv8r) + (b == armv7a && isCompatible a armv8m) + (b == armv7r && isCompatible a armv8m) + (b == armv7m && isCompatible a armv8m) + + # ARMv8 + (b == armv8r && isCompatible a armv8a) + (b == armv8m && isCompatible a armv8a) + + # XXX: not always true! Some arm64 cpus don’t support arm32 mode. + (b == aarch64 && a == armv8a) + (b == armv8a && isCompatible a aarch64) + + (b == aarch64 && a == aarch64_be) + (b == aarch64_be && isCompatible a aarch64) + + # PowerPC + (b == powerpc && isCompatible a powerpc64) + (b == powerpcle && isCompatible a powerpc) + (b == powerpc && a == powerpcle) + (b == powerpc64le && isCompatible a powerpc64) + (b == powerpc64 && a == powerpc64le) + + # MIPS + (b == mips && isCompatible a mips64) + (b == mips && a == mipsel) + (b == mipsel && isCompatible a mips) + (b == mips64 && a == mips64el) + (b == mips64el && isCompatible a mips64) + + # RISCV + (b == riscv32 && isCompatible a riscv64) + + # SPARC + (b == sparc && isCompatible a sparc64) + + # WASM + (b == wasm32 && isCompatible a wasm64) + + # identity + (b == a) + ]; + ################################################################################ types.openVendor = mkOptionType { @@ -117,6 +207,7 @@ rec { apple = {}; pc = {}; + none = {}; unknown = {}; }; @@ -135,6 +226,7 @@ rec { elf = {}; macho = {}; pe = {}; + wasm = {}; unknown = {}; }; @@ -172,12 +264,12 @@ rec { macos = { execFormat = macho; families = { inherit darwin; }; name = "darwin"; }; ios = { execFormat = macho; families = { inherit darwin; }; }; freebsd = { execFormat = elf; families = { inherit bsd; }; }; - hurd = { execFormat = elf; families = { }; }; linux = { execFormat = elf; families = { }; }; netbsd = { execFormat = elf; families = { inherit bsd; }; }; none = { execFormat = unknown; families = { }; }; openbsd = { execFormat = elf; families = { inherit bsd; }; }; solaris = { execFormat = elf; families = { }; }; + wasi = { execFormat = wasm; families = { }; }; windows = { execFormat = pe; families = { }; }; } // { # aliases # 'darwin' is the kernel for all of them. We choose macOS by default. @@ -200,7 +292,15 @@ rec { abis = setTypes types.openAbi { cygnus = {}; msvc = {}; - eabi = {}; + + # Note: eabi is specific to ARM and PowerPC. + # On PowerPC, this corresponds to PPCEABI. + # On ARM, this corresponds to ARMEABI. + eabi = { float = "soft"; }; + eabihf = { float = "hard"; }; + + # Other architectures should use ELF in embedded situations. + elf = {}; androideabi = {}; android = { @@ -256,11 +356,20 @@ rec { setType "system" components; mkSkeletonFromList = l: { + "1" = if elemAt l 0 == "avr" + then { cpu = elemAt l 0; kernel = "none"; abi = "unknown"; } + else throw "Target specification with 1 components is ambiguous"; "2" = # We only do 2-part hacks for things Nix already supports if elemAt l 1 == "cygwin" then { cpu = elemAt l 0; kernel = "windows"; abi = "cygnus"; } - else if elemAt l 1 == "gnu" - then { cpu = elemAt l 0; kernel = "hurd"; abi = "gnu"; } + # MSVC ought to be the default ABI so this case isn't needed. But then it + # becomes difficult to handle the gnu* variants for Aarch32 correctly for + # minGW. So it's easier to make gnu* the default for the MinGW, but + # hack-in MSVC for the non-MinGW case right here. + else if elemAt l 1 == "windows" + then { cpu = elemAt l 0; kernel = "windows"; abi = "msvc"; } + else if (elemAt l 1) == "elf" + then { cpu = elemAt l 0; vendor = "unknown"; kernel = "none"; abi = elemAt l 1; } else { cpu = elemAt l 0; kernel = elemAt l 1; }; "3" = # Awkwards hacks, beware! if elemAt l 1 == "apple" @@ -268,9 +377,13 @@ rec { else if (elemAt l 1 == "linux") || (elemAt l 2 == "gnu") then { cpu = elemAt l 0; kernel = elemAt l 1; abi = elemAt l 2; } else if (elemAt l 2 == "mingw32") # autotools breaks on -gnu for window - then { cpu = elemAt l 0; vendor = elemAt l 1; kernel = "windows"; abi = "gnu"; } + then { cpu = elemAt l 0; vendor = elemAt l 1; kernel = "windows"; } + else if (elemAt l 2 == "wasi") + then { cpu = elemAt l 0; vendor = elemAt l 1; kernel = "wasi"; } else if hasPrefix "netbsd" (elemAt l 2) then { cpu = elemAt l 0; vendor = elemAt l 1; kernel = elemAt l 2; } + else if (elem (elemAt l 2) ["eabi" "eabihf" "elf"]) + then { cpu = elemAt l 0; vendor = "unknown"; kernel = elemAt l 1; abi = elemAt l 2; } else throw "Target specification with 3 components is ambiguous"; "4" = { cpu = elemAt l 0; vendor = elemAt l 1; kernel = elemAt l 2; abi = elemAt l 3; }; }.${toString (length l)} @@ -302,13 +415,12 @@ rec { else getKernel args.kernel; abi = /**/ if args ? abi then getAbi args.abi - else if isLinux parsed then + else if isLinux parsed || isWindows parsed then if isAarch32 parsed then if lib.versionAtLeast (parsed.cpu.version or "0") "6" then abis.gnueabihf else abis.gnueabi else abis.gnu - else if isWindows parsed then abis.gnu else abis.unknown; }; diff --git a/lib/systems/platforms.nix b/lib/systems/platforms.nix index 56783d99e3d43fc7a8b2af1200cb0849f5cdb91a..a2b43c970a411ef6e894d1a5fb1b1bcea48da20e 100644 --- a/lib/systems/platforms.nix +++ b/lib/systems/platforms.nix @@ -253,22 +253,11 @@ rec { kernelTarget = "zImage"; }; - # https://developer.android.com/ndk/guides/abis#armeabi - armv5te-android = { - name = "armeabi"; - gcc = { - arch = "armv5te"; - float = "soft"; - float-abi = "soft"; - }; - }; - # https://developer.android.com/ndk/guides/abis#v7a armv7a-android = { name = "armeabi-v7a"; gcc = { arch = "armv7-a"; - float = "hard"; float-abi = "softfp"; fpu = "vfpv3-d16"; }; @@ -467,10 +456,13 @@ rec { }; selectBySystem = system: { + "i486-linux" = pc32; + "i586-linux" = pc32; "i686-linux" = pc32; "x86_64-linux" = pc64; "armv5tel-linux" = sheevaplug; "armv6l-linux" = raspberrypi; + "armv7a-linux" = armv7l-hf-multiplatform; "armv7l-linux" = armv7l-hf-multiplatform; "aarch64-linux" = aarch64-multiplatform; "mipsel-linux" = fuloong2f_n32; diff --git a/lib/tests/check-eval.nix b/lib/tests/check-eval.nix new file mode 100644 index 0000000000000000000000000000000000000000..8bd7b605a39bdad6d8ad632591a571b31ae30b95 --- /dev/null +++ b/lib/tests/check-eval.nix @@ -0,0 +1,7 @@ +# Throws an error if any of our lib tests fail. + +let tests = [ "misc" "systems" ]; + all = builtins.concatLists (map (f: import (./. + "/${f}.nix")) tests); +in if all == [] + then null + else throw (builtins.toJSON all) diff --git a/lib/tests/misc.nix b/lib/tests/misc.nix index cf99aca58c0907b252b4aea589ce91e271f58f78..d8f412d3fc49ae4a94faca0ab59903e45d5776c0 100644 --- a/lib/tests/misc.nix +++ b/lib/tests/misc.nix @@ -112,7 +112,7 @@ runTests { storePathAppendix = isStorePath "${goodPath}/bin/python"; nonAbsolute = isStorePath (concatStrings (tail (stringToCharacters goodPath))); - asPath = isStorePath (builtins.toPath goodPath); + asPath = isStorePath (/. + goodPath); otherPath = isStorePath "/something/else"; otherVals = { attrset = isStorePath {}; @@ -236,6 +236,20 @@ runTests { }; }; + testOverrideExistingEmpty = { + expr = overrideExisting {} { a = 1; }; + expected = {}; + }; + + testOverrideExistingDisjoint = { + expr = overrideExisting { b = 2; } { a = 1; }; + expected = { b = 2; }; + }; + + testOverrideExistingOverride = { + expr = overrideExisting { a = 3; b = 2; } { a = 1; }; + expected = { a = 1; b = 2; }; + }; # GENERATORS # these tests assume attributes are converted to lists @@ -355,9 +369,10 @@ runTests { testToPretty = { expr = mapAttrs (const (generators.toPretty {})) rec { int = 42; + float = 0.1337; bool = true; string = ''fno"rd''; - path = /. + "/foo"; # toPath returns a string + path = /. + "/foo"; null_ = null; function = x: x; functionArgs = { arg ? 4, foo }: arg; @@ -367,6 +382,7 @@ runTests { }; expected = rec { int = "42"; + float = "~0.133700"; bool = "true"; string = ''"fno\"rd"''; path = "/foo"; @@ -385,42 +401,4 @@ runTests { expected = "«foo»"; }; - -# MISC - - testOverridableDelayableArgsTest = { - expr = - let res1 = defaultOverridableDelayableArgs id {}; - res2 = defaultOverridableDelayableArgs id { a = 7; }; - res3 = let x = defaultOverridableDelayableArgs id { a = 7; }; - in (x.merge) { b = 10; }; - res4 = let x = defaultOverridableDelayableArgs id { a = 7; }; - in (x.merge) ( x: { b = 10; }); - res5 = let x = defaultOverridableDelayableArgs id { a = 7; }; - in (x.merge) ( x: { a = builtins.add x.a 3; }); - res6 = let x = defaultOverridableDelayableArgs id { a = 7; mergeAttrBy = { a = builtins.add; }; }; - y = x.merge {}; - in (y.merge) { a = 10; }; - - resRem7 = res6.replace (a: removeAttrs a ["a"]); - - # fixed tests (delayed args): (when using them add some comments, please) - resFixed1 = - let x = defaultOverridableDelayableArgs id ( x: { a = 7; c = x.fixed.b; }); - y = x.merge (x: { name = "name-${builtins.toString x.fixed.c}"; }); - in (y.merge) { b = 10; }; - strip = attrs: removeAttrs attrs ["merge" "replace"]; - in all id - [ ((strip res1) == { }) - ((strip res2) == { a = 7; }) - ((strip res3) == { a = 7; b = 10; }) - ((strip res4) == { a = 7; b = 10; }) - ((strip res5) == { a = 10; }) - ((strip res6) == { a = 17; }) - ((strip resRem7) == {}) - ((strip resFixed1) == { a = 7; b = 10; c =10; name = "name-10"; }) - ]; - expected = true; - }; - } diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh index b83e1eb7d82d01bc228d9af375be0e49204ef506..eadaa0521b359914349b712ccdae02e5038d720b 100755 --- a/lib/tests/modules.sh +++ b/lib/tests/modules.sh @@ -149,6 +149,12 @@ checkConfigOutput "1 2 3 4 5 6 7 8 9 10" config.result ./loaOf-with-long-list.ni # Check loaOf with many merges of lists. checkConfigOutput "1 2 3 4 5 6 7 8 9 10" config.result ./loaOf-with-many-list-merges.nix +# Check mkAliasOptionModule. +checkConfigOutput "true" config.enable ./alias-with-priority.nix +checkConfigOutput "true" config.enableAlias ./alias-with-priority.nix +checkConfigOutput "false" config.enable ./alias-with-priority-can-override.nix +checkConfigOutput "false" config.enableAlias ./alias-with-priority-can-override.nix + cat < a */ - id = x: x; + id = + # The value to return + x: x; /* The constant function - Ignores the second argument. - Or: Construct a function that always returns a static value. + + Ignores the second argument. If called with only one argument, + constructs a function that always returns a static value. Type: const :: a -> b -> a Example: let f = const 5; in f 10 => 5 */ - const = x: y: x; + const = + # Value to return + x: + # Value to ignore + y: x; ## Named versions corresponding to some builtin operators. - /* Concatenate two lists */ + /* Concatenate two lists + + Type: concat :: [a] -> [a] -> [a] + + Example: + concat [ 1 2 ] [ 3 4 ] + => [ 1 2 3 4 ] + */ concat = x: y: x ++ y; /* boolean “or” */ @@ -36,44 +50,57 @@ rec { /* bitwise “and” */ bitAnd = builtins.bitAnd - or import ./zip-int-bits.nix - (a: b: if a==1 && b==1 then 1 else 0); + or (import ./zip-int-bits.nix + (a: b: if a==1 && b==1 then 1 else 0)); /* bitwise “or” */ bitOr = builtins.bitOr - or import ./zip-int-bits.nix - (a: b: if a==1 || b==1 then 1 else 0); + or (import ./zip-int-bits.nix + (a: b: if a==1 || b==1 then 1 else 0)); /* bitwise “xor” */ bitXor = builtins.bitXor - or import ./zip-int-bits.nix - (a: b: if a!=b then 1 else 0); + or (import ./zip-int-bits.nix + (a: b: if a!=b then 1 else 0)); /* bitwise “not” */ bitNot = builtins.sub (-1); /* Convert a boolean to a string. - Note that toString on a bool returns "1" and "". + + This function uses the strings "true" and "false" to represent + boolean values. Calling `toString` on a bool instead returns "1" + and "" (sic!). + + Type: boolToString :: bool -> string */ boolToString = b: if b then "true" else "false"; /* Merge two attribute sets shallowly, right side trumps left + mergeAttrs :: attrs -> attrs -> attrs + Example: mergeAttrs { a = 1; b = 2; } { b = 3; c = 4; } => { a = 1; b = 3; c = 4; } */ - mergeAttrs = x: y: x // y; + mergeAttrs = + # Left attribute set + x: + # Right attribute set (higher precedence for equal keys) + y: x // y; /* Flip the order of the arguments of a binary function. + Type: flip :: (a -> b -> c) -> (b -> a -> c) + Example: flip concat [1] [2] => [ 2 1 ] */ flip = f: a: b: f b a; - /* Apply function if argument is non-null. + /* Apply function if the supplied argument is non-null. Example: mapNullable (x: x+1) null @@ -81,7 +108,11 @@ rec { mapNullable (x: x+1) 22 => 23 */ - mapNullable = f: a: if isNull a then a else f a; + mapNullable = + # Function to call + f: + # Argument to check for null before passing it to `f` + a: if isNull a then a else f a; # Pull in some builtins not included elsewhere. inherit (builtins) @@ -92,29 +123,58 @@ rec { ## nixpks version strings - # The current full nixpkgs version number. + /* Returns the current full nixpkgs version number. */ version = release + versionSuffix; - # The current nixpkgs version number as string. + /* Returns the current nixpkgs release number as string. */ release = lib.strings.fileContents ../.version; - # The current nixpkgs version suffix as string. + /* Returns the current nixpkgs release code name. + + On each release the first letter is bumped and a new animal is chosen + starting with that new letter. + */ + codeName = "Loris"; + + /* Returns the current nixpkgs version suffix as string. */ versionSuffix = let suffixFile = ../.version-suffix; in if pathExists suffixFile then lib.strings.fileContents suffixFile else "pre-git"; + /* Attempts to return the the current revision of nixpkgs and + returns the supplied default value otherwise. + + Type: revisionWithDefault :: string -> string + */ + revisionWithDefault = + # Default value to return if revision can not be determined + default: + let + revisionFile = "${toString ./..}/.git-revision"; + gitRepo = "${toString ./..}/.git"; + in if lib.pathIsDirectory gitRepo + then lib.commitIdFromGitRepo gitRepo + else if lib.pathExists revisionFile then lib.fileContents revisionFile + else default; + nixpkgsVersion = builtins.trace "`lib.nixpkgsVersion` is deprecated, use `lib.version` instead!" version; - # Whether we're being called by nix-shell. + /* Determine whether the function is being called from inside a Nix + shell. + + Type: inNixShell :: bool + */ inNixShell = builtins.getEnv "IN_NIX_SHELL" != ""; ## Integer operations - # Return minimum/maximum of two numbers. + /* Return minimum of two numbers. */ min = x: y: if x < y then x else y; + + /* Return maximum of two numbers. */ max = x: y: if x > y then x else y; /* Integer modulus @@ -148,8 +208,9 @@ rec { second subtype, compare elements of a single subtype with `yes` and `no` respectively. - Example: + Type: (a -> bool) -> (a -> a -> int) -> (a -> a -> int) -> (a -> a -> int) + Example: let cmp = splitByAndCompare (hasPrefix "foo") compare compare; in cmp "a" "z" => -1 @@ -160,34 +221,48 @@ rec { # while compare "fooa" "a" => 1 */ - splitByAndCompare = p: yes: no: a: b: + splitByAndCompare = + # Predicate + p: + # Comparison function if predicate holds for both values + yes: + # Comparison function if predicate holds for neither value + no: + # First value to compare + a: + # Second value to compare + b: if p a then if p b then yes a b else -1 else if p b then 1 else no a b; - /* Reads a JSON file. */ + /* Reads a JSON file. + + Type :: path -> any + */ importJSON = path: builtins.fromJSON (builtins.readFile path); - ## Warnings and asserts - - /* See https://github.com/NixOS/nix/issues/749. Eventually we'd like these - to expand to Nix builtins that carry metadata so that Nix can filter out - the INFO messages without parsing the message string. + ## Warnings - Usage: - { - foo = lib.warn "foo is deprecated" oldFoo; - } + # See https://github.com/NixOS/nix/issues/749. Eventually we'd like these + # to expand to Nix builtins that carry metadata so that Nix can filter out + # the INFO messages without parsing the message string. + # + # Usage: + # { + # foo = lib.warn "foo is deprecated" oldFoo; + # } + # + # TODO: figure out a clever way to integrate location information from + # something like __unsafeGetAttrPos. - TODO: figure out a clever way to integrate location information from - something like __unsafeGetAttrPos. - */ - warn = msg: builtins.trace "WARNING: ${msg}"; + warn = msg: builtins.trace "warning: ${msg}"; info = msg: builtins.trace "INFO: ${msg}"; + showWarnings = warnings: res: lib.fold (w: x: warn w x) res warnings; ## Function annotations diff --git a/lib/types.nix b/lib/types.nix index 4d6ac51c89882c7652e8427ab28f8d5b8c8185ee..b225119299da124d7f9bca240860b45e18cdb1c8 100644 --- a/lib/types.nix +++ b/lib/types.nix @@ -119,7 +119,9 @@ rec { let betweenDesc = lowest: highest: "${toString lowest} and ${toString highest} (both inclusive)"; - between = lowest: highest: assert lowest <= highest; + between = lowest: highest: + assert lib.assertMsg (lowest <= highest) + "ints.between: lowest must be smaller than highest"; addCheck int (x: x >= lowest && x <= highest) // { name = "intBetween"; description = "integer between ${betweenDesc lowest highest}"; @@ -167,6 +169,9 @@ rec { # s32 = sign 32 4294967296; }; + # Alias of u16 for a port number + port = ints.u16; + float = mkOptionType rec { name = "float"; description = "floating point number"; @@ -192,7 +197,10 @@ rec { # separator between the values). separatedString = sep: mkOptionType rec { name = "separatedString"; - description = "string"; + description = if sep == "" + then "Concatenated string" # for types.string. + else "strings concatenated with ${builtins.toJSON sep}" + ; check = isString; merge = loc: defs: concatStringsSep sep (getValues defs); functor = (defaultFunctor name) // { @@ -276,8 +284,7 @@ rec { (mergeDefinitions (loc ++ [name]) elemType defs).optionalValue ) # Push down position info. - (map (def: listToAttrs (mapAttrsToList (n: def': - { name = n; value = { inherit (def) file; value = def'; }; }) def.value)) defs))); + (map (def: mapAttrs (n: v: { inherit (def) file; value = v; }) def.value) defs))); getSubOptions = prefix: elemType.getSubOptions (prefix ++ [""]); getSubModules = elemType.getSubModules; substSubModules = m: attrsOf (elemType.substSubModules m); @@ -439,7 +446,9 @@ rec { # Either value of type `finalType` or `coercedType`, the latter is # converted to `finalType` using `coerceFunc`. coercedTo = coercedType: coerceFunc: finalType: - assert coercedType.getSubModules == null; + assert lib.assertMsg (coercedType.getSubModules == null) + "coercedTo: coercedType must not have submodules (it’s a ${ + coercedType.description})"; mkOptionType rec { name = "coercedTo"; description = "${finalType.description} or ${coercedType.description} convertible to it"; @@ -464,7 +473,6 @@ rec { 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. addCheck = elemType: check: elemType // { check = x: elemType.check x && check x; }; diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 5bb5045c6c735e0a0b9c5be221c7ae86afec4cee..4f6e9b1084ff5db1774f3f8e1a85a2d592e8b75a 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -1,28 +1,67 @@ /* List of NixOS maintainers. handle = { - name = "Real name"; + # Required + name = "Your name"; email = "address@example.org"; + + # Optional github = "GithubUsername"; + keys = [{ + longkeyid = "rsa2048/0x0123456789ABCDEF"; + fingerprint = "AAAA BBBB CCCC DDDD EEEE FFFF 0000 1111 2222 3333"; + }]; }; - where `name` is your real name, `email` is your maintainer email - address and `github` is your GitHub handle (as it appears in the - URL of your profile page, `https://github.com/`). - address - The only required fields are `name` and `email`. + where + + - `handle` is the handle you are going to use in nixpkgs expressions, + - `name` is your, preferably real, name, + - `email` is your maintainer email address, and + - `github` is your GitHub handle (as it appears in the URL of your profile page, `https://github.com/`), + - `keys` is a list of your PGP/GPG key IDs and fingerprints. + + `handle == github` is strongly preferred whenever `github` is an acceptable attribute name and is short and convenient. + + Add PGP/GPG keys only if you actually use them to sign commits and/or mail. + + To get the required PGP/GPG values for a key run + ```shell + gpg --keyid-format 0xlong --fingerprint | head -n 2 + ``` + + !!! Note that PGP/GPG values stored here are for informational purposes only, don't use this file as a source of truth. + More fields may be added in the future. Please keep the list alphabetically sorted. - See `../maintainers/scripts/check-maintainer-github-handles.sh` - for an example on how to work with this data. + See `./scripts/check-maintainer-github-handles.sh` for an example on how to work with this data. */ { + "0x4A6F" = { + email = "0x4A6F@shackspace.de"; + name = "Joachim Ernst"; + github = "0x4A6F"; + keys = [{ + longkeyid = "rsa8192/0x87027528B006D66D"; + fingerprint = "F466 A548 AD3F C1F1 8C88 4576 8702 7528 B006 D66D"; + }]; + }; + "1000101" = { + email = "jan.hrnko@satoshilabs.com"; + github = "1000101"; + name = "Jan Hrnko"; + }; a1russell = { email = "adamlr6+pub@gmail.com"; github = "a1russell"; name = "Adam Russell"; }; + aanderse = { + email = "aaron@fosslib.net"; + github = "aanderse"; + name = "Aaron Andersen"; + }; aaronschif = { email = "aaronschif@gmail.com"; github = "aaronschif"; @@ -38,6 +77,11 @@ github = "abbradar"; name = "Nikolay Amiantov"; }; + abhi18av = { + email = "abhi18av@gmail.com"; + github = "abhi18av"; + name = "Abhinav Sharma"; + }; abigailbuccaneer = { email = "abigailbuccaneer@gmail.com"; github = "abigailbuccaneer"; @@ -63,6 +107,11 @@ github = "acowley"; name = "Anthony Cowley"; }; + adamt = { + email = "mail@adamtulinius.dk"; + github = "adamtulinius"; + name = "Adam Tulinius"; + }; adelbertc = { email = "adelbertc@gmail.com"; github = "adelbertc"; @@ -98,6 +147,11 @@ github = "aepsil0n"; name = "Eduard Bopp"; }; + aerialx = { + email = "aaron+nixos@aaronlindsay.com"; + github = "AerialX"; + name = "Aaron Lindsay"; + }; aespinosa = { email = "allan.espinosa@outlook.com"; github = "aespinosa"; @@ -133,11 +187,21 @@ github = "ahmedtd"; name = "Taahir Ahmed"; }; + ahuzik = { + email = "ales.guzik@gmail.com"; + github = "alesguzik"; + name = "Ales Huzik"; + }; aij = { email = "aij+git@mrph.org"; github = "aij"; name = "Ivan Jager"; }; + ajs124 = { + email = "nix@ajs124.de"; + github = "ajs124"; + name = "Andreas Schrägle"; + }; ajgrf = { email = "a@ajgrf.com"; github = "ajgrf"; @@ -148,6 +212,11 @@ github = "alexanderkjeldaas"; name = "Alexander Kjeldaas"; }; + akavel = { + email = "czapkofan@gmail.com"; + github = "akavel"; + name = "Mateusz Czapliński"; + }; akaWolf = { email = "akawolf0@gmail.com"; github = "akaWolf"; @@ -191,11 +260,21 @@ email = "nix-commits@lists.science.uu.nl"; name = "Nix Committers"; }; + allonsy = { + email = "linuxbash8@gmail.com"; + github = "allonsy"; + name = "Alec Snyder"; + }; alunduil = { - email = "alunduil@alunduil.com"; + email = "alunduil@gmail.com"; github = "alunduil"; name = "Alex Brandt"; }; + amar1729 = { + email = "amar.paul16@gmail.com"; + github = "amar1729"; + name = "Amar Paul"; + }; ambrop72 = { email = "ambrop7@gmail.com"; github = "ambrop72"; @@ -211,6 +290,11 @@ github = "amiloradovsky"; name = "Andrew Miloradovsky"; }; + aminb = { + email = "amin@aminb.org"; + github = "aminb"; + name = "Amin Bandali"; + }; aminechikhaoui = { email = "amine.chikhaoui91@gmail.com"; github = "AmineChikhaoui"; @@ -221,8 +305,13 @@ github = "AndrewMorsillo"; name = "Andrew Morsillo"; }; + andersk = { + email = "andersk@mit.edu"; + github = "andersk"; + name = "Anders Kaseorg"; + }; AndersonTorres = { - email = "torres.anderson.85@gmail.com"; + email = "torres.anderson.85@protonmail.com"; github = "AndersonTorres"; name = "Anderson Torres"; }; @@ -256,6 +345,11 @@ github = "andrew-d"; name = "Andrew Dunham"; }; + andrewchambers = { + email = "ac@acha.ninja"; + github = "andrewchambers"; + name = "Andrew Chambers"; + }; andrewrk = { email = "superjoe30@gmail.com"; github = "andrewrk"; @@ -276,6 +370,11 @@ github = "ankhers"; name = "Justin Wood"; }; + anton-dessiatov = { + email = "anton.dessiatov@gmail.com"; + github = "anton-dessiatov"; + name = "Anton Desyatov"; + }; Anton-Latukha = { email = "anton.latuka+nixpkgs@gmail.com"; github = "Anton-Latukha"; @@ -301,6 +400,11 @@ github = "apeyroux"; name = "Alexandre Peyroux"; }; + ar1a = { + email = "aria@ar1as.space"; + github = "ar1a"; + name = "Aria Edmonds"; + }; arcadio = { email = "arc@well.ox.ac.uk"; github = "arcadio"; @@ -326,6 +430,15 @@ github = "shados"; name = "Alexei Robyn"; }; + artemist = { + email = "me@artem.ist"; + github = "artemist"; + name = "Artemis Tosini"; + keys = [{ + longkeyid = "rsa4096/0x4FDC96F161E7BA8A"; + fingerprint = "3D2B B230 F9FA F0C5 1832 46DD 4FDC 96F1 61E7 BA8A"; + }]; + }; artuuge = { email = "artuuge@gmail.com"; github = "artuuge"; @@ -351,6 +464,11 @@ github = "asppsa"; name = "Alastair Pharo"; }; + astro = { + email = "astro@spaceboyz.net"; + github = "astro"; + name = "Astro"; + }; astsmtl = { email = "astsmtl@yandex.ru"; github = "astsmtl"; @@ -366,16 +484,41 @@ github = "aszlig"; name = "aszlig"; }; + atnnn = { + email = "etienne@atnnn.com"; + github = "atnnn"; + name = "Etienne Laurin"; + }; auntie = { email = "auntieNeo@gmail.com"; github = "auntie"; name = "Jonathan Glines"; }; + avaq = { + email = "avaq+nixos@xs4all.nl"; + github = "avaq"; + name = "Aldwin Vlasblom"; + }; + avery = { + email = "averyl+nixos@protonmail.com"; + github = "AveryLychee"; + name = "Avery Lychee"; + }; + averelld = { + email = "averell+nixos@rxd4.com"; + github = "averelld"; + name = "averelld"; + }; avnik = { email = "avn@avnik.info"; github = "avnik"; name = "Alexander V. Nikolaev"; }; + aw = { + email = "aw-nixos@meterriblecrew.net"; + github = "herrwiese"; + name = "Andreas Wiese"; + }; aycanirican = { email = "iricanaycan@gmail.com"; github = "aycanirican"; @@ -405,11 +548,21 @@ email = "sivaraman.balaji@gmail.com"; name = "Balaji Sivaraman"; }; + balsoft = { + email = "balsoft75@gmail.com"; + github = "balsoft"; + name = "Alexander Bantyev"; + }; bandresen = { email = "bandresen@gmail.com"; github = "bandresen"; name = "Benjamin Andresen"; }; + baracoder = { + email = "baracoder@googlemail.com"; + github = "baracoder"; + name = "Herman Fries"; + }; barrucadu = { email = "mike@barrucadu.co.uk"; github = "barrucadu"; @@ -425,11 +578,21 @@ github = "Baughn"; name = "Svein Ove Aas"; }; + bb010g = { + email = "me@bb010g.com"; + github = "bb010g"; + name = "Brayden Banks"; + }; bbarker = { email = "brandon.barker@gmail.com"; github = "bbarker"; name = "Brandon Elam Barker"; }; + bbigras = { + email = "bigras.bruno@gmail.com"; + github = "bbigras"; + name = "Bruno Bigras"; + }; bcarrell = { email = "brandoncarrell@gmail.com"; github = "bcarrell"; @@ -460,6 +623,11 @@ github = "bennofs"; name = "Benno Fünfstück"; }; + benpye = { + email = "ben@curlybracket.co.uk"; + github = "benpye"; + name = "Ben Pye"; + }; benwbooth = { email = "benwbooth@gmail.com"; github = "benwbooth"; @@ -490,6 +658,11 @@ github = "bgamari"; name = "Ben Gamari"; }; + bhall = { + email = "brendan.j.hall@bath.edu"; + github = "brendan-hall"; + name = "Brendan Hall"; + }; bhipple = { email = "bhipple@protonmail.com"; github = "bhipple"; @@ -569,6 +742,11 @@ github = "bramd"; name = "Bram Duvigneau"; }; + braydenjw = { + email = "nixpkgs@willenborg.ca"; + github = "braydenjw"; + name = "Brayden Willenborg"; + }; brian-dawn = { email = "brian.t.dawn@gmail.com"; github = "brian-dawn"; @@ -584,6 +762,11 @@ github = "bstrik"; name = "Berno Strik"; }; + buffet = { + email = "niclas@countingsort.com"; + github = "buffet"; + name = "Niclas Meyer"; + }; bugworm = { email = "bugworm@zoho.com"; github = "bugworm"; @@ -613,6 +796,11 @@ github = "calbrecht"; name = "Christian Albrecht"; }; + callahad = { + email = "dan.callahan@gmail.com"; + github = "callahad"; + name = "Dan Callahan"; + }; calvertvl = { email = "calvertvl@gmail.com"; github = "calvertvl"; @@ -623,6 +811,11 @@ github = "campadrenalin"; name = "Philip Horger"; }; + candeira = { + email = "javier@candeira.com"; + github = "candeira"; + name = "Javier Candeira"; + }; canndrew = { email = "shum@canndrew.org"; github = "canndrew"; @@ -658,16 +851,31 @@ github = "caugner"; name = "Claas Augner"; }; + cbley = { + email = "claudio.bley@gmail.com"; + github = "avdv"; + name = "Claudio Bley"; + }; cdepillabout = { email = "cdep.illabout@gmail.com"; github = "cdepillabout"; name = "Dennis Gosnell"; }; + ceedubs = { + email = "ceedubs@gmail.com"; + github = "ceedubs"; + name = "Cody Allen"; + }; cfouche = { email = "chaddai.fouche@gmail.com"; github = "Chaddai"; name = "Chaddaï Fouché"; }; + chaduffy = { + email = "charles@dyfis.net"; + github = "charles-dyfis-net"; + name = "Charles Duffy"; + }; changlinli = { email = "mail@changlinli.com"; github = "changlinli"; @@ -692,6 +900,11 @@ github = "ChengCat"; name = "Yucheng Zhang"; }; + chessai = { + email = "chessai1996@gmail.com"; + github = "chessai"; + name = "Daniel Cartwright"; + }; chiiruno = { email = "okinan@protonmail.com"; github = "chiiruno"; @@ -757,6 +970,11 @@ github = "cko"; name = "Christine Koppelt"; }; + clacke = { + email = "claes.wallin@greatsinodevelopment.com"; + github = "clacke"; + name = "Claes Wallin"; + }; cleverca22 = { email = "cleverca22@gmail.com"; github = "cleverca22"; @@ -897,6 +1115,11 @@ github = "danielfullmer"; name = "Daniel Fullmer"; }; + das-g = { + email = "nixpkgs@raphael.dasgupta.ch"; + github = "das-g"; + name = "Raphael Das Gupta"; + }; das_j = { email = "janne@hess.ooo"; github = "dasJ"; @@ -941,6 +1164,11 @@ github = "deepfire"; name = "Kosyrev Serge"; }; + delroth = { + email = "delroth@gmail.com"; + github = "delroth"; + name = "Pierre Bourdon"; + }; deltaevo = { email = "deltaduartedavid@gmail.com"; github = "DeltaEvo"; @@ -1011,6 +1239,11 @@ github = "dgonyeo"; name = "Derek Gonyeo"; }; + dhkl = { + email = "david@davidslab.com"; + github = "dhl"; + name = "David Leung"; + }; dipinhora = { email = "dipinhora+github@gmail.com"; github = "dipinhora"; @@ -1021,6 +1254,11 @@ github = "disassembler"; name = "Samuel Leathers"; }; + disserman = { + email = "disserman@gmail.com"; + github = "divi255"; + name = "Sergei S."; + }; dizfer = { email = "david@izquierdofernandez.com"; github = "dizfer"; @@ -1095,8 +1333,18 @@ github = "dtzWill"; name = "Will Dietz"; }; + dxf = { + email = "dingxiangfei2009@gmail.com"; + github = "dingxiangfei2009"; + name = "Ding Xiang Fei"; + }; + dysinger = { + email = "tim@dysinger.net"; + github = "dysinger"; + name = "Tim Dysinger"; + }; dywedir = { - email = "dywedir@protonmail.ch"; + email = "dywedir@gra.red"; github = "dywedir"; name = "Vladyslav M."; }; @@ -1115,6 +1363,11 @@ github = "eadwu"; name = "Edmund Wu"; }; + eamsden = { + email = "edward@blackriversoft.com"; + github = "eamsden"; + name = "Edward Amsden"; + }; earldouglas = { email = "james@earldouglas.com"; github = "earldouglas"; @@ -1140,6 +1393,11 @@ github = "edef1c"; name = "edef"; }; + embr = { + email = "hi@liclac.eu"; + github = "liclac"; + name = "embr"; + }; ederoyd46 = { email = "matt@ederoyd.co.uk"; github = "ederoyd46"; @@ -1150,6 +1408,11 @@ github = "eduarrrd"; name = "Eduard Bachmakov"; }; + edude03 = { + email = "michael@melenion.com"; + github = "edude03"; + name = "Michael Francis"; + }; edwtjo = { email = "ed@cflags.cc"; github = "edwtjo"; @@ -1209,6 +1472,16 @@ github = "ellis"; name = "Ellis Whitehead"; }; + elohmeier = { + email = "elo-nixos@nerdworks.de"; + github = "elohmeier"; + name = "Enno Lohmeier"; + }; + elseym = { + email = "elseym@me.com"; + github = "elseym"; + name = "Simon Waibl"; + }; elvishjerricco = { email = "elvishjerricco@gmail.com"; github = "ElvishJerricco"; @@ -1262,6 +1535,10 @@ email = "justin.humm@posteo.de"; github = "erictapen"; name = "Justin Humm"; + keys = [{ + longkeyid = "rsa4096/0x438871E000AA178E"; + fingerprint = "984E 4BAD 9127 4D0E AE47 FF03 4388 71E0 00AA 178E"; + }]; }; erikryb = { email = "erik.rybakken@math.ntnu.no"; @@ -1291,6 +1568,15 @@ email = "elis@hirwing.se"; github = "etu"; name = "Elis Hirwing"; + keys = [{ + longkeyid = "rsa4096/0xD57EFA625C9A925F"; + fingerprint = "67FE 98F2 8C44 CF22 1828 E12F D57E FA62 5C9A 925F"; + }]; + }; + evck = { + email = "eric@evenchick.com"; + github = "ericevenchick"; + name = "Eric Evenchick"; }; exfalso = { email = "0slemi0@gmail.com"; @@ -1312,6 +1598,16 @@ github = "expipiplus1"; name = "Joe Hermaszewski"; }; + eyjhb = { + email = "eyjhbb@gmail.com"; + github = "eyJhb"; + name = "eyJhb"; + }; + f--t = { + email = "git@f-t.me"; + github = "f--t"; + name = "f--t"; + }; f-breidenstein = { email = "mail@felixbreidenstein.de"; github = "f-breidenstein"; @@ -1337,8 +1633,13 @@ github = "fdns"; name = "Felipe Espinoza"; }; + ffinkdevs = { + email = "fink@h0st.space"; + github = "ffinkdevs"; + name = "Fabian Fink"; + }; fgaz = { - email = "francygazz@gmail.com"; + email = "fgaz@fgaz.me"; github = "fgaz"; name = "Francesco Gazzetta"; }; @@ -1347,11 +1648,21 @@ github = "FireyFly"; name = "Jonas Höglund"; }; + flexw = { + email = "felix.weilbach@t-online.de"; + github = "FlexW"; + name = "Felix Weilbach"; + }; flokli = { email = "flokli@flokli.de"; github = "flokli"; name = "Florian Klink"; }; + FlorianFranzen = { + email = "Florian.Franzen@gmail.com"; + github = "FlorianFranzen"; + name = "Florian Franzen"; + }; florianjacob = { email = "projects+nixos@florianjacob.de"; github = "florianjacob"; @@ -1386,12 +1697,21 @@ email = "fpletz@fnordicwalking.de"; github = "fpletz"; name = "Franz Pletz"; + keys = [{ + longkeyid = "rsa4096/0x846FDED7792617B4"; + fingerprint = "8A39 615D CE78 AF08 2E23 F303 846F DED7 7926 17B4"; + }]; }; fps = { email = "mista.tapas@gmx.net"; github = "fps"; name = "Florian Paul Schmidt"; }; + fredeb = { + email = "im@fredeb.dev"; + github = "fredeeb"; + name = "Frede Emil"; + }; freepotion = { email = "freepotion@protonmail.com"; github = "freepotion"; @@ -1427,15 +1747,30 @@ github = "ftrvxmtrx"; name = "Siarhei Zirukin"; }; + fuerbringer = { + email = "severin@fuerbringer.info"; + github = "fuerbringer"; + name = "Severin Fürbringer"; + }; funfunctor = { email = "eocallaghan@alterapraxis.com"; name = "Edward O'Callaghan"; }; + fusion809 = { + email = "brentonhorne77@gmail.com"; + github = "fusion809"; + name = "Brenton Horne"; + }; fuuzetsu = { email = "fuuzetsu@fuuzetsu.co.uk"; github = "fuuzetsu"; name = "Mateusz Kowalczyk"; }; + fuwa = { + email = "echowss@gmail.com"; + github = "fuwa0529"; + name = "Haruka Akiyama"; + }; fuzzy-id = { email = "hacking+nixos@babibo.de"; name = "Thomas Bach"; @@ -1495,6 +1830,11 @@ github = "Gerschtli"; name = "Tobias Happ"; }; + ggpeti = { + email = "ggpeti@gmail.com"; + github = "ggpeti"; + name = "Peter Ferenczy"; + }; gilligan = { email = "tobias.pflug@gmail.com"; github = "gilligan"; @@ -1555,6 +1895,11 @@ github = "grburst"; name = "Julius Elias"; }; + greydot = { + email = "lanablack@amok.cc"; + github = "greydot"; + name = "Lana Black"; + }; gridaphobe = { email = "eric@seidel.io"; github = "gridaphobe"; @@ -1565,6 +1910,11 @@ github = "dguibert"; name = "David Guibert"; }; + groodt = { + email = "groodt@gmail.com"; + github = "groodt"; + name = "Greg Roodt"; + }; guibou = { email = "guillaum.bouchard@gmail.com"; github = "guibou"; @@ -1590,6 +1940,21 @@ github = "hamhut1066"; name = "Hamish Hutchings"; }; + hansjoergschurr = { + email = "commits@schurr.at"; + github = "hansjoergschurr"; + name = "Hans-Jörg Schurr"; + }; + HaoZeke = { + email = "r95g10@gmail.com"; + github = "haozeke"; + name = "Rohit Goswami"; + }; + haslersn = { + email = "haslersn@fius.informatik.uni-stuttgart.de"; + github = "haslersn"; + name = "Sebastian Hasler"; + }; havvy = { email = "ryan.havvy@gmail.com"; github = "havvy"; @@ -1625,6 +1990,11 @@ github = "heel"; name = "Sergii Paryzhskyi"; }; + helkafen = { + email = "arnaudpourseb@gmail.com"; + github = "Helkafen"; + name = "Sébastian Méric de Bellefon"; + }; henrytill = { email = "henrytill@gmail.com"; github = "henrytill"; @@ -1639,6 +2009,11 @@ email = "t@larkery.com"; name = "Tom Hinton"; }; + hlolli = { + email = "hlolli@gmail.com"; + github = "hlolli"; + name = "Hlodver Sigurdsson"; + }; hodapp = { email = "hodapp87@gmail.com"; github = "Hodapp87"; @@ -1699,6 +2074,11 @@ github = "ikervagyok"; name = "Balázs Lengyel"; }; + ilikeavocadoes = { + email = "ilikeavocadoes@hush.com"; + github = "ilikeavocadoes"; + name = "Lassi Haasio"; + }; illegalprime = { email = "themichaeleden@gmail.com"; github = "illegalprime"; @@ -1729,15 +2109,34 @@ github = "infinisil"; name = "Silvan Mosberger"; }; + ingenieroariel = { + email = "ariel@nunez.co"; + github = "ingenieroariel"; + name = "Ariel Nunez"; + }; ironpinguin = { email = "michele@catalano.de"; github = "ironpinguin"; name = "Michele Catalano"; }; + ivan = { + email = "ivan@ludios.org"; + github = "ivan"; + name = "Ivan Kozik"; + }; ivan-tkatchev = { email = "tkatchev@gmail.com"; name = "Ivan Tkatchev"; }; + ivegotasthma = { + email = "ivegotasthma@protonmail.com"; + github = "ivegotasthma"; + name = "John Doe"; + keys = [{ + longkeyid = "rsa4096/09AC52AEA87817A4"; + fingerprint = "4008 2A5B 56A4 79B9 83CB 95FD 09AC 52AE A878 17A4"; + }]; + }; ixmatus = { email = "parnell@digitalmentat.com"; github = "ixmatus"; @@ -1763,6 +2162,16 @@ github = "jagajaga"; name = "Arseniy Seroka"; }; + jakelogemann = { + email = "jake.logemann@gmail.com"; + github = "jakelogemann"; + name = "Jake Logemann"; + }; + jakewaksbaum = { + email = "jake.waksbaum@gmail.com"; + github = "jbaum98"; + name = "Jake Waksbaum"; + }; jammerful = { email = "jammerful@gmail.com"; github = "jammerful"; @@ -1793,6 +2202,11 @@ github = "jbgi"; name = "Jean-Baptiste Giraudeau"; }; + jchw = { + email = "johnwchadwick@gmail.com"; + github = "jchv"; + name = "John Chadwick"; + }; jcumming = { email = "jack@mudshark.org"; name = "Jack Cummings"; @@ -1807,6 +2221,11 @@ github = "jdagilliland"; name = "Jason Gilliland"; }; + jdehaas = { + email = "qqlq@nullptr.club"; + github = "jeroendehaas"; + name = "Jeroen de Haas"; + }; jefdaj = { email = "jefdaj@gmail.com"; github = "jefdaj"; @@ -1822,6 +2241,16 @@ github = "jerith666"; name = "Matt McHenry"; }; + jeschli = { + email = "jeschli@gmail.com"; + github = "jeschli"; + name = "Markus Hihn"; + }; + jethro = { + email = "jethrokuan95@gmail.com"; + github = "jethrokuan"; + name = "Jethro Kuan"; + }; jfb = { email = "james@yamtime.com"; github = "tftio"; @@ -1852,11 +2281,21 @@ github = "jgillich"; name = "Jakob Gillich"; }; + jglukasik = { + email = "joseph@jgl.me"; + github = "jglukasik"; + name = "Joseph Lukasik"; + }; jhhuh = { email = "jhhuh.note@gmail.com"; github = "jhhuh"; name = "Ji-Haeng Huh"; }; + jhillyerd = { + email = "james+nixos@hillyerd.com"; + github = "jhillyerd"; + name = "James Hillyerd"; + }; jirkamarsik = { email = "jiri.marsik89@gmail.com"; github = "jirkamarsik"; @@ -1872,15 +2311,16 @@ github = "jluttine"; name = "Jaakko Luttinen"; }; + jmagnusj = { + email = "jmagnusj@gmail.com"; + github = "magnusjonsson"; + name = "Johan Magnus Jonsson"; + }; jmettes = { email = "jonathan@jmettes.com"; github = "jmettes"; name = "Jonathan Mettes"; }; - Jo = { - email = "0x4A6F@shackspace.de"; - name = "Joachim Ernst"; - }; joachifm = { email = "joachifm@fastmail.fm"; github = "joachifm"; @@ -1938,6 +2378,11 @@ joko = { email = "ioannis.koutras@gmail.com"; github = "jokogr"; + keys = [{ + # compare with https://keybase.io/joko + longkeyid = "rsa2048/0x85EAE7D9DF56C5CA"; + fingerprint = "B154 A8F9 0610 DB45 0CA8 CF39 85EA E7D9 DF56 C5CA"; + }]; name = "Ioannis Koutras"; }; jonafato = { @@ -1955,6 +2400,11 @@ github = "joncojonathan"; name = "Jonathan Haddock"; }; + jorsn = { + name = "Johannes Rosenberger"; + email = "johannes@jorsn.eu"; + github = "jorsn"; + }; jpdoyle = { email = "joethedoyle@gmail.com"; github = "jpdoyle"; @@ -1970,6 +2420,11 @@ github = "jpotier"; name = "Martin Potier"; }; + jqueiroz = { + email = "nixos@johnjq.com"; + github = "jqueiroz"; + name = "Jonathan Queiroz"; + }; jraygauthier = { email = "jraygauthier@gmail.com"; github = "jraygauthier"; @@ -1985,6 +2440,11 @@ github = "juliendehos"; name = "Julien Dehos"; }; + justinwoo = { + email = "moomoowoo@gmail.com"; + github = "justinwoo"; + name = "Justin Woo"; + }; jwiegley = { email = "johnw@newartisans.com"; github = "jwiegley"; @@ -2063,6 +2523,11 @@ github = "kiloreux"; name = "Kiloreux Emperex"; }; + kimburgess = { + email = "kim@acaprojects.com"; + github = "kimburgess"; + name = "Kim Burgess"; + }; kini = { email = "keshav.kini@gmail.com"; github = "kini"; @@ -2073,11 +2538,25 @@ github = "kirelagin"; name = "Kirill Elagin"; }; + kisonecat = { + email = "kisonecat@gmail.com"; + github = "kisonecat"; + name = "Jim Fowler"; + }; + kjuvi = { + email = "quentin.vaucher@pm.me"; + github = "kjuvi"; + name = "Quentin Vaucher"; + }; kkallio = { email = "tierpluspluslists@gmail.com"; name = "Karn Kallio"; }; - + klntsky = { + email = "klntsky@gmail.com"; + name = "Vladimir Kalnitsky"; + github = "8084"; + }; kmeakin = { email = "karlwfmeakin@gmail.com"; name = "Karl Meakin"; @@ -2089,6 +2568,11 @@ github = "knedlsepp"; name = "Josef Kemetmüller"; }; + knl = { + email = "nikola@knezevic.co"; + github = "knl"; + name = "Nikola Knežević"; + }; konimex = { email = "herdiansyah@netc.eu"; github = "konimex"; @@ -2119,6 +2603,11 @@ github = "krav"; name = "Kristoffer Thømt Ravneberg"; }; + kroell = { + email = "nixosmainter@makroell.de"; + github = "rokk4"; + name = "Matthias Axel Kröll"; + }; kristoff3r = { email = "k.soeholm@gmail.com"; github = "kristoff3r"; @@ -2239,11 +2728,21 @@ github = "lihop"; name = "Leroy Hopson"; }; + lilyball = { + email = "lily@sb.org"; + github = "lilyball"; + name = "Lily Ballard"; + }; limeytexan = { email = "limeytexan@gmail.com"; github = "limeytexan"; name = "Michael Brantley"; }; + linarcx = { + email = "linarcx@gmail.com"; + github = "linarcx"; + name = "Kaveh Ahangar"; + }; linc01n = { email = "git@lincoln.hk"; github = "linc01n"; @@ -2259,6 +2758,16 @@ github = "listx"; name = "Linus Arver"; }; + luis = { + email = "luis.nixos@gmail.com"; + github = "Luis-Hebendanz"; + name = "Luis Hebendanz"; + }; + lionello = { + email = "lio@lunesu.com"; + github = "lionello"; + name = "Lionello Lunesu"; + }; lluchs = { email = "lukas.werling@gmail.com"; github = "lluchs"; @@ -2274,6 +2783,11 @@ github = "lo1tuma"; name = "Mathias Schreck"; }; + loewenheim = { + email = "loewenheim@mailbox.org"; + github = "loewenheim"; + name = "Sebastian Zivota"; + }; lopsided98 = { email = "benwolsieffer@gmail.com"; github = "lopsided98"; @@ -2314,6 +2828,11 @@ github = "lucas8"; name = "Luc Chabassier"; }; + lucus16 = { + email = "lars.jellema@gmail.com"; + github = "Lucus16"; + name = "Lars Jellema"; + }; ludo = { email = "ludo@gnu.org"; github = "civodul"; @@ -2362,6 +2881,11 @@ github = "ma27"; name = "Maximilian Bosch"; }; + ma9e = { + email = "sean@lfo.team"; + github = "ma9e"; + name = "Sean Haugh"; + }; madjar = { email = "georges.dubus@compiletoi.net"; github = "madjar"; @@ -2402,6 +2926,11 @@ github = "marcweber"; name = "Marc Weber"; }; + marenz = { + email = "marenz@arkom.men"; + github = "marenz2569"; + name = "Markus Schmidl"; + }; markus1189 = { email = "markus1189@gmail.com"; github = "markus1189"; @@ -2416,6 +2945,11 @@ email = "markus@wotringer.de"; name = "Markus Wotringer"; }; + marius851000 = { + email = "mariusdavid@laposte.net"; + name = "Marius David"; + github = "marius851000"; + }; marsam = { email = "marsam@users.noreply.github.com"; github = "marsam"; @@ -2441,6 +2975,11 @@ github = "mathnerd314"; name = "Mathnerd314"; }; + matklad = { + email = "aleksey.kladov@gmail.com"; + github = "matklad"; + name = "matklad"; + }; matthewbauer = { email = "mjbauer95@gmail.com"; github = "matthewbauer"; @@ -2451,6 +2990,11 @@ github = "matthiasbeyer"; name = "Matthias Beyer"; }; + matti-kariluoma = { + email = "matti@kariluo.ma"; + github = "matti-kariluoma"; + name = "Matti Kariluoma"; + }; maurer = { email = "matthew.r.maurer+nix@gmail.com"; github = "maurer"; @@ -2496,6 +3040,11 @@ github = "mdaiter"; name = "Matthew S. Daiter"; }; + mdevlamynck = { + email = "matthias.devlamynck@mailoo.org"; + github = "mdevlamynck"; + name = "Matthias Devlamynck"; + }; meditans = { email = "meditans@gmail.com"; github = "meditans"; @@ -2516,20 +3065,40 @@ github = "meisternu"; name = "Matt Miemiec"; }; + melchips = { + email = "truphemus.francois@gmail.com"; + github = "melchips"; + name = "Francois Truphemus"; + }; melsigl = { email = "melanie.bianca.sigl@gmail.com"; github = "melsigl"; name = "Melanie B. Sigl"; }; + melkor333 = { + email = "samuel@ton-kunst.ch"; + github = "melkor333"; + name = "Samuel Ruprecht"; + }; metabar = { email = "softs@metabarcoding.org"; name = "Celine Mercier"; }; + mfossen = { + email = "msfossen@gmail.com"; + github = "mfossen"; + name = "Mitchell Fossen"; + }; mgdelacroix = { email = "mgdelacroix@gmail.com"; github = "mgdelacroix"; name = "Miguel de la Cruz"; }; + mgregoire = { + email = "gregoire@martinache.net"; + github = "M-Gregoire"; + name = "Gregoire Martinache"; + }; mgttlinger = { email = "megoettlinger@gmail.com"; github = "mgttlinger"; @@ -2539,11 +3108,21 @@ email = "code@klandest.in"; github = "mguentner"; name = "Maximilian Güntner"; + }; + mhaselsteiner = { + email = "magdalena.haselsteiner@gmx.at"; + github = "mhaselsteiner"; + name = "Magdalena Haselsteiner"; }; mic92 = { email = "joerg@thalheim.io"; github = "mic92"; name = "Jörg Thalheim"; + keys = [{ + # compare with https://keybase.io/Mic92 + longkeyid = "rsa4096/0x003F2096411B5F92"; + fingerprint = "3DEE 1C55 6E1C 3DC5 54F5 875A 003F 2096 411B 5F92"; + }]; }; michaelpj = { email = "michaelpj@gmail.com"; @@ -2659,6 +3238,11 @@ github = "mogria"; name = "Mogria"; }; + monsieurp = { + email = "monsieurp@gentoo.org"; + github = "monsieurp"; + name = "Patrice Clement"; + }; montag451 = { email = "montag451@laposte.net"; github = "montag451"; @@ -2773,6 +3357,16 @@ github = "muflax"; name = "Stefan Dorn"; }; + mvnetbiz = { + email = "mvnetbiz@gmail.com"; + github = "mvnetbiz"; + name = "Matt Votava"; + }; + mwilsoninsight = { + email = "max.wilson@insight.com"; + github = "mwilsoninsight"; + name = "Max Wilson"; + }; myrl = { email = "myrl.0xf@gmail.com"; github = "myrl"; @@ -2783,6 +3377,11 @@ github = "nadrieril"; name = "Nadrieril Feneanar"; }; + nalbyuites = { + email = "ashijit007@gmail.com"; + github = "nalbyuites"; + name = "Ashijit Pramanik"; + }; namore = { email = "namor@hemio.de"; github = "namore"; @@ -2827,6 +3426,16 @@ github = "nequissimus"; name = "Tim Steinbach"; }; + netixx = { + email = "dev.espinetfrancois@gmail.com"; + github = "netixx"; + name = "François Espinet"; + }; + nikitavoloboev = { + email = "nikita.voloboev@gmail.com"; + github = "nikitavoloboev"; + name = "Nikita Voloboev"; + }; nfjinjing = { email = "nfjinjing@gmail.com"; github = "nfjinjing"; @@ -2897,6 +3506,11 @@ github = "nocoolnametom"; name = "Tom Doggett"; }; + nomeata = { + email = "mail@joachim-breitner.de"; + github = "nomeata"; + name = "Joachim Breitner"; + }; noneucat = { email = "andy@lolc.at"; github = "noneucat"; @@ -2912,6 +3526,11 @@ github = "np"; name = "Nicolas Pouillard"; }; + nphilou = { + email = "nphilou@gmail.com"; + github = "nphilou"; + name = "Philippe Nguyen"; + }; nslqqq = { email = "nslqqq@gmail.com"; name = "Nikita Mikhailov"; @@ -2936,6 +3555,11 @@ github = "nyarly"; name = "Judson Lester"; }; + nzhang-zh = { + email = "n.zhang.hp.au@gmail.com"; + github = "nzhang-zh"; + name = "Ning Zhang"; + }; obadz = { email = "obadz-nixos@obadz.com"; github = "obadz"; @@ -2952,7 +3576,7 @@ name = "Oliver Dunkl"; }; offline = { - email = "jakahudoklin@gmail.com"; + email = "jaka@x-truder.net"; github = "offlinehacker"; name = "Jaka Hudoklin"; }; @@ -2980,6 +3604,16 @@ github = "olynch"; name = "Owen Lynch"; }; + omnipotententity = { + email = "omnipotententity@gmail.com"; + github = "omnipotententity"; + name = "Michael Reilly"; + }; + OPNA2608 = { + email = "christoph.neidahl@gmail.com"; + github = "OPNA2608"; + name = "Christoph Neidahl"; + }; orbekk = { email = "kjetil.orbekk@gmail.com"; github = "orbekk"; @@ -3009,12 +3643,26 @@ email = "oxij@oxij.org"; github = "oxij"; name = "Jan Malakhovski"; + keys = [{ + longkeyid = "rsa2048/0x0E6CA66E5C557AA8"; + fingerprint = "514B B966 B46E 3565 0508 86E8 0E6C A66E 5C55 7AA8"; + }]; }; oyren = { email = "m.scheuren@oyra.eu"; github = "oyren"; name = "Moritz Scheuren"; }; + pacien = { + email = "b4gx3q.nixpkgs@pacien.net"; + github = "pacien"; + name = "Pacien Tran-Girard"; + }; + paddygord = { + email = "pgpatrickgordon@gmail.com"; + github = "paddygord"; + name = "Patrick Gordon"; + }; paholg = { email = "paho@paholg.com"; github = "paholg"; @@ -3080,6 +3728,11 @@ github = "pesterhazy"; name = "Paulus Esterhazy"; }; + petabyteboy = { + email = "me@pbb.lc"; + github = "petabyteboy"; + name = "Milan Pässler"; + }; peterhoeg = { email = "peter@hoeg.com"; github = "peterhoeg"; @@ -3159,6 +3812,11 @@ github = "pkmx"; name = "Chih-Mao Chen"; }; + plchldr = { + email = "mail@oddco.de"; + github = "plchldr"; + name = "Jonas Beyer"; + }; plcplc = { email = "plcplc@gmail.com"; github = "plcplc"; @@ -3189,6 +3847,11 @@ github = "pmyjavec"; name = "Pauly Myjavec"; }; + pnelson = { + email = "me@pnelson.ca"; + github = "pnelson"; + name = "Philip Nelson"; + }; pneumaticat = { email = "kevin@potatofrom.space"; github = "pneumaticat"; @@ -3199,6 +3862,11 @@ github = "polyrod"; name = "Maurizio Di Pietro"; }; + pombeirp = { + email = "nix@endgr.33mail.com"; + github = "PombeirP"; + name = "Pedro Pombeiro"; + }; pradeepchhetri = { email = "pradeep.chhetri89@gmail.com"; github = "pradeepchhetri"; @@ -3213,6 +3881,14 @@ email = "dev.primeos@gmail.com"; github = "primeos"; name = "Michael Weiss"; + keys = [ + { longkeyid = "ed25519/0x130826A6C2A389FD"; # Git only + fingerprint = "86A7 4A55 07D0 58D1 322E 37FD 1308 26A6 C2A3 89FD"; + } + { longkeyid = "rsa3072/0xBCA9943DD1DF4C04"; # Email, etc. + fingerprint = "AF85 991C C950 49A2 4205 1933 BCA9 943D D1DF 4C04"; + } + ]; }; Profpatsch = { email = "mail@profpatsch.de"; @@ -3224,6 +3900,11 @@ github = "proglodyte"; name = "Proglodyte"; }; + prusnak = { + email = "stick@gk2.sk"; + github = "prusnak"; + name = "Pavol Rusnak"; + }; pshendry = { email = "paul@pshendry.com"; github = "pshendry"; @@ -3245,9 +3926,14 @@ }; psyanticy = { email = "iuns@outlook.fr"; - github = "Assassinkin"; + github = "PsyanticY"; name = "Psyanticy"; }; + ptival = { + email = "valentin.robert.42@gmail.com"; + github = "Ptival"; + name = "Valentin Robert"; + }; puffnfresh = { email = "brian@brianmckenna.org"; github = "puffnfresh"; @@ -3276,6 +3962,20 @@ email = "hi@alyssa.is"; github = "alyssais"; name = "Alyssa Ross"; + keys = [{ + longkeyid = "rsa4096/736CCDF9EF51BD97"; + fingerprint = "7573 56D7 79BB B888 773E 415E 736C CDF9 EF51 BD97"; + }]; + }; + rafaelgg = { + email = "rafael.garcia.gallego@gmail.com"; + github = "rafaelgg"; + name = "Rafael García"; + }; + raquelgb = { + email = "raquel.garcia.bautista@gmail.com"; + github = "raquelgb"; + name = "Raquel García"; }; ragge = { email = "r.dahlen@gmail.com"; @@ -3326,6 +4026,11 @@ github = "rbasso"; name = "Rafael Basso"; }; + rbrewer = { + email = "rwb123@gmail.com"; + github = "rbrewer123"; + name = "Rob Brewer"; + }; rdnetto = { email = "rdnetto@gmail.com"; github = "rdnetto"; @@ -3361,6 +4066,21 @@ github = "relrod"; name = "Ricky Elrod"; }; + rembo10 = { + email = "rembo10@users.noreply.github.com"; + github = "rembo10"; + name = "rembo10"; + }; + renatoGarcia = { + email = "fgarcia.renato@gmail.com"; + github = "renatoGarcia"; + name = "Renato Garcia"; + }; + rencire = { + email = "546296+rencire@users.noreply.github.com"; + github = "rencire"; + name = "Eric Ren"; + }; renzo = { email = "renzocarbonara@gmail.com"; github = "k0001"; @@ -3401,6 +4121,11 @@ github = "rittelle"; name = "Lennart Rittel"; }; + rixed = { + email = "rixed-github@happyleptic.org"; + github = "rixed"; + name = "Cedric Cellier"; + }; rkoe = { email = "rk@simple-is-better.org"; github = "rkoe"; @@ -3471,11 +4196,21 @@ github = "roosemberth"; name = "Roosembert (Roosemberth) Palacios"; }; + royneary = { + email = "christian@ulrich.earth"; + github = "royneary"; + name = "Christian Ulrich"; + }; rprospero = { email = "rprospero+nix@gmail.com"; github = "rprospero"; name = "Adam Washington"; }; + rps = { + email = "robbpseaton@gmail.com"; + github = "robertseaton"; + name = "Robert P. Seaton"; + }; rszibele = { email = "richard@szibele.com"; github = "rszibele"; @@ -3586,11 +4321,30 @@ github = "sauyon"; name = "Sauyon Lee"; }; + sb0 = { + email = "sb@m-labs.hk"; + github = "sbourdeauducq"; + name = "Sébastien Bourdeauducq"; + }; + sboosali = { + email = "SamBoosalis@gmail.com"; + github = "sboosali"; + name = "Sam Boosalis"; + }; + scalavision = { + email = "scalavision@gmail.com"; + github = "scalavision"; + name = "Tom Sorlie"; + }; schmitthenner = { email = "development@schmitthenner.eu"; github = "fkz"; name = "Fabian Schmitthenner"; }; + schmittlauch = { + email = "t.schmittlauch+nixos@orlives.de"; + github = "schmittlauch"; + }; schneefux = { email = "schneefux+nixos_pkg@schneefux.xyz"; github = "schneefux"; @@ -3610,6 +4364,11 @@ github = "scolobb"; name = "Sergiu Ivanov"; }; + screendriver = { + email = "nix@echooff.de"; + github = "screendriver"; + name = "Christian Rackerseder"; + }; Scriptkiddi = { email = "nixos@scriptkiddi.de"; github = "scriptkiddi"; @@ -3650,6 +4409,11 @@ github = "seppeljordan"; name = "Sebastian Jordan"; }; + seqizz = { + email = "seqizz@gmail.com"; + github = "seqizz"; + name = "Gurkan Gur"; + }; sfrijters = { email = "sfrijters@gmail.com"; github = "sfrijters"; @@ -3685,11 +4449,21 @@ github = "shlevy"; name = "Shea Levy"; }; + shou = { + email = "x+g@shou.io"; + github = "Shou"; + name = "Benedict Aas"; + }; siddharthist = { email = "langston.barrett@gmail.com"; github = "siddharthist"; name = "Langston Barrett"; }; + siers = { + email = "veinbahs+nixpkgs@gmail.com"; + github = "siers"; + name = "Raitis Veinbahs"; + }; sifmelcara = { email = "ming@culpring.com"; github = "sifmelcara"; @@ -3715,6 +4489,11 @@ github = "sjagoe"; name = "Simon Jagoe"; }; + sjau = { + email = "nixos@sjau.ch"; + github = "sjau"; + name = "Stephan Jau"; + }; sjmackenzie = { email = "setori88@gmail.com"; github = "sjmackenzie"; @@ -3738,10 +4517,23 @@ github = "sleexyz"; name = "Sean Lee"; }; + smakarov = { + email = "setser200018@gmail.com"; + github = "setser"; + name = "Sergey Makarov"; + keys = [{ + longkeyid = "rsa2048/6AA23A1193B7064B"; + fingerprint = "6F8A 18AE 4101 103F 3C54 24B9 6AA2 3A11 93B7 064B"; + }]; + }; smaret = { email = "sebastien.maret@icloud.com"; github = "smaret"; name = "Sébastien Maret"; + keys = [{ + longkeyid = "rsa4096/0x86E30E5A0F5FC59C"; + fingerprint = "4242 834C D401 86EF 8281 4093 86E3 0E5A 0F5F C59C"; + }]; }; smironov = { email = "grrwlf@gmail.com"; @@ -3768,6 +4560,15 @@ github = "solson"; name = "Scott Olson"; }; + sondr3 = { + email = "nilsen.sondre@gmail.com"; + github = "sondr3"; + name = "Sondre Nilsen"; + keys = [{ + longkeyid = "ed25519/0x25676BCBFFAD76B1"; + fingerprint = "0EC3 FA89 EFBA B421 F82E 40B0 2567 6BCB FFAD 76B1"; + }]; + }; sorki = { email = "srk@48.io"; github = "sorki"; @@ -3783,6 +4584,11 @@ github = "spacefrogg"; name = "Michael Raitza"; }; + spacekookie = { + email = "kookie@spacekookie.de"; + github = "spacekookie"; + name = "Katharina Fey"; + }; spencerjanssen = { email = "spencerjanssen@gmail.com"; github = "spencerjanssen"; @@ -3833,6 +4639,11 @@ github = "stesie"; name = "Stefan Siegl"; }; + steve-chavez = { + email = "stevechavezast@gmail.com"; + github = "steve-chavez"; + name = "Steve Chávez"; + }; steveej = { email = "mail@stefanjunker.de"; github = "steveej"; @@ -3848,11 +4659,21 @@ github = "StillerHarpo"; name = "Florian Engel"; }; + stites = { + email = "sam@stites.io"; + github = "stites"; + name = "Sam Stites"; + }; stumoss = { email = "samoss@gmail.com"; github = "stumoss"; name = "Stuart Moss"; }; + suhr = { + email = "suhr@i2pmail.org"; + github = "suhr"; + name = "Сухарик"; + }; SuprDewd = { email = "suprdewd@gmail.com"; github = "SuprDewd"; @@ -3878,6 +4699,11 @@ github = "swarren83"; name = "Shawn Warren"; }; + swdunlop = { + email = "swdunlop@gmail.com"; + github = "swdunlop"; + name = "Scott W. Dunlop"; + }; swflint = { email = "swflint@flintfam.org"; github = "swflint"; @@ -3908,6 +4734,20 @@ github = "sztupi"; name = "Attila Sztupak"; }; + t184256 = { + email = "monk@unboiled.info"; + github = "t184256"; + name = "Alexander Sosedkin"; + }; + tadeokondrak = { + email = "me@tadeo.ca"; + github = "tadeokondrak"; + name = "Tadeo Kondrak"; + keys = [{ + longkeyid = "ed25519/0xFBE607FCC49516D3"; + fingerprint = "0F2B C0C7 E77C 5B42 AC5B 4C18 FBE6 07FC C495 16D3"; + }]; + }; tadfisher = { email = "tadfisher@gmail.com"; github = "tadfisher"; @@ -3948,6 +4788,16 @@ github = "taku0"; name = "Takuo Yonezawa"; }; + talyz = { + email = "kim.lindberger@gmail.com"; + github = "talyz"; + name = "Kim Lindberger"; + }; + taneb = { + email = "nvd1234@gmail.com"; + github = "Taneb"; + name = "Nathan van Doorn"; + }; tari = { email = "peter@taricorp.net"; github = "tari"; @@ -3963,10 +4813,10 @@ github = "tazjin"; name = "Vincent Ambo"; }; - TealG = { - email = "~@Teal.Gr"; - github = "TealG"; - name = "Teal Gaure"; + tbenst = { + email = "nix@tylerbenster.com"; + github = "tbenst"; + name = "Tyler Benster"; }; teh = { email = "tehunger@gmail.com"; @@ -3983,6 +4833,11 @@ github = "teozkr"; name = "Teo Klestrup Röijezon"; }; + terlar = { + email = "terlar@gmail.com"; + github = "terlar"; + name = "Terje Larsen"; + }; teto = { email = "mcoudron@hotmail.com"; github = "teto"; @@ -3993,6 +4848,11 @@ github = "tex"; name = "Milan Svoboda"; }; + tg-x = { + email = "*@tg-x.net"; + github = "tg-x"; + name = "TG ⊗ Θ"; + }; thall = { email = "niclas.thall@gmail.com"; github = "thall"; @@ -4013,6 +4873,15 @@ github = "the-kenny"; name = "Moritz Ulrich"; }; + thesola10 = { + email = "thesola10@bobile.fr"; + github = "thesola10"; + keys = [{ + longkeyid = "rsa4096/0x89245619BEBB95BA"; + fingerprint = "1D05 13A6 1AC4 0D8D C6D6 5F2C 8924 5619 BEBB 95BA"; + }]; + name = "Karim Vergnes"; + }; theuni = { email = "ct@flyingcircus.io"; github = "ctheune"; @@ -4104,10 +4973,15 @@ name = "Thomas Bereknyei"; }; tomsmeets = { - email = "tom@tsmeets.nl"; + email = "tom.tsmeets@gmail.com"; github = "tomsmeets"; name = "Tom Smeets"; }; + toonn = { + email = "nnoot@toonn.io"; + github = "toonn"; + name = "Toon Nolten"; + }; travisbhartwell = { email = "nafai@travishartwell.net"; github = "travisbhartwell"; @@ -4143,7 +5017,7 @@ name = "Thomas Tuegel"; }; tv = { - email = "tv@shackspace.de"; + email = "tv@krebsco.de"; github = "4z3"; name = "Tomislav Viljetić"; }; @@ -4192,6 +5066,11 @@ github = "uri-canva"; name = "Uri Baghin"; }; + uskudnik = { + email = "urban.skudnik@gmail.com"; + github = "uskudnik"; + name = "Urban Skudnik"; + }; utdemir = { email = "me@utdemir.com"; github = "utdemir"; @@ -4253,9 +5132,13 @@ name = "Vincent Bernardoff"; }; vcunat = { - email = "vcunat@gmail.com"; - github = "vcunat"; name = "Vladimír Čunát"; + email = "v@cunat.cz"; # vcunat@gmail.com predominated in commits before 2019/03 + github = "vcunat"; + keys = [{ + longkeyid = "rsa4096/0xE747DF1F9575A3AA"; + fingerprint = "B600 6460 B60A 80E7 8206 2449 E747 DF1F 9575 A3AA"; + }]; }; vdemeester = { email = "vincent@sbr.pm"; @@ -4302,6 +5185,11 @@ github = "vklquevs"; name = "vklquevs"; }; + vlaci = { + email = "laszlo.vasko@outlook.com"; + github = "vlaci"; + name = "László Vaskó"; + }; vlstill = { email = "xstill@fi.muni.cz"; github = "vlstill"; @@ -4336,6 +5224,11 @@ github = "vrthra"; name = "Rahul Gopinath"; }; + vskilet = { + email = "victor@sene.ovh"; + github = "vskilet"; + name = "Victor SENE"; + }; vyp = { email = "elisp.vim@gmail.com"; github = "vyp"; @@ -4368,6 +5261,11 @@ email = "windenntw@gmail.com"; name = "Antonio Vargas Gonzalez"; }; + winpat = { + email = "patrickwinter@posteo.ch"; + github = "winpat"; + name = "Patrick Winter"; + }; wizeman = { email = "rcorreia@wizy.org"; github = "wizeman"; @@ -4378,11 +5276,6 @@ github = "wjlroe"; name = "William Roe"; }; - wkennington = { - email = "william@wkennington.com"; - github = "wkennington"; - name = "William A. Kennington III"; - }; wmertens = { email = "Wout.Mertens@gmail.com"; github = "wmertens"; @@ -4399,7 +5292,7 @@ name = "Kranium Gikos Mendoza"; }; worldofpeace = { - email = "worldofpeace@users.noreply.github.com"; + email = "worldofpeace@protonmail.ch"; github = "worldofpeace"; name = "Worldofpeace"; }; @@ -4413,6 +5306,11 @@ github = "wucke13"; name = "Wucke"; }; + wykurz = { + email = "wykurz@gmail.com"; + github = "wykurz"; + name = "Mateusz Wykurz"; + }; wyvie = { email = "elijahrum@gmail.com"; github = "wyvie"; @@ -4438,6 +5336,11 @@ github = "xnwdd"; name = "Guillermo NWDD"; }; + xrelkd = { + email = "46590321+xrelkd@users.noreply.github.com"; + github = "xrelkd"; + name = "xrelkd"; + }; xurei = { email = "olivier.bourdoux@gmail.com"; github = "xurei"; @@ -4463,13 +5366,18 @@ github = "y0no"; name = "Yoann Ono"; }; + yarny = { + email = "41838844+Yarny0@users.noreply.github.com"; + github = "Yarny0"; + name = "Yarny"; + }; yarr = { email = "savraz@gmail.com"; github = "Eternity-Yarr"; name = "Dmitry V."; }; yegortimoshenko = { - email = "yegortimoshenko@gmail.com"; + email = "yegortimoshenko@riseup.net"; github = "yegortimoshenko"; name = "Yegor Timoshenko"; }; @@ -4518,6 +5426,11 @@ github = "maggesi"; name = "Marco Maggesi"; }; + zachcoyle = { + email = "zach.coyle@gmail.com"; + github = "zachcoyle"; + name = "Zach Coyle"; + }; zagy = { email = "cz@flyingcircus.io"; github = "zagy"; @@ -4528,6 +5441,11 @@ github = "umazalakain"; name = "Unai Zalakain"; }; + zaninime = { + email = "francesco@zanini.me"; + github = "zaninime"; + name = "Francesco Zanini"; + }; zarelit = { email = "david@zarel.net"; github = "zarelit"; @@ -4562,6 +5480,11 @@ github = "zohl"; name = "Al Zohali"; }; + zookatron = { + email = "tim@zookatron.com"; + github = "zookatron"; + name = "Tim Zook"; + }; zoomulator = { email = "zoomulator@gmail.com"; github = "zoomulator"; @@ -4582,4 +5505,34 @@ github = "zzamboni"; name = "Diego Zamboni"; }; + mredaelli = { + email = "massimo@typish.io"; + github = "mredaelli"; + name = "Massimo Redaelli"; + }; + shmish111 = { + email = "shmish111@gmail.com"; + github = "shmish111"; + name = "David Smith"; + }; + minijackson = { + email = "minijackson@riseup.net"; + github = "minijackson"; + name = "Rémi Nicole"; + }; + shazow = { + email = "andrey.petrov@shazow.net"; + github = "shazow"; + name = "Andrey Petrov"; + }; + freezeboy = { + email = "freezeboy@users.noreply.github.com"; + github = "freezeboy"; + name = "freezeboy"; + }; + tesq0 = { + email = "mikolaj.galkowski@gmail.com"; + github = "tesq0"; + name = "Mikolaj Galkowski"; + }; } diff --git a/maintainers/scripts/copy-tarballs.pl b/maintainers/scripts/copy-tarballs.pl index 31e6045fb64564274fbf9fce94b005547a3c83a2..59696a4432d8ba8e478971d15c61a4e88d002c2a 100755 --- a/maintainers/scripts/copy-tarballs.pl +++ b/maintainers/scripts/copy-tarballs.pl @@ -1,5 +1,5 @@ #! /usr/bin/env nix-shell -#! nix-shell -i perl -p perl perlPackages.NetAmazonS3 perlPackages.FileSlurp nixUnstable nixUnstable.perl-bindings +#! nix-shell -i perl -p perl perlPackages.NetAmazonS3 perlPackages.FileSlurp perlPackages.JSON perlPackages.LWPProtocolHttps nixUnstable nixUnstable.perl-bindings # This command uploads tarballs to tarballs.nixos.org, the # content-addressed cache used by fetchurl as a fallback for when @@ -101,8 +101,8 @@ sub uploadFile { my ($name, $dest) = @_; #print STDERR "linking $name to $dest...\n"; $bucket->add_key($name, "", { - 'x-amz-website-redirect-location' => "/" . $dest, - 'x-amz-acl' => "public-read" + 'x-amz-website-redirect-location' => "/" . $dest, + 'x-amz-acl' => "public-read" }) or die "failed to create redirect from $name to $dest\n"; $cache{$name} = 1; @@ -116,8 +116,8 @@ sub uploadFile { # Upload the file as sha512/. print STDERR "uploading $fn to $mainKey...\n"; $bucket->add_key_filename($mainKey, $fn, { - 'x-amz-meta-original-name' => $name, - 'x-amz-acl' => "public-read" + 'x-amz-meta-original-name' => $name, + 'x-amz-acl' => "public-read" }) or die "failed to upload $fn to $mainKey\n"; $cache{$mainKey} = 1; diff --git a/maintainers/scripts/eval-release.sh b/maintainers/scripts/eval-release.sh new file mode 100755 index 0000000000000000000000000000000000000000..e0dfaf1de74c1c133f4fcc9524c1b10a8475fabc --- /dev/null +++ b/maintainers/scripts/eval-release.sh @@ -0,0 +1,11 @@ +#! /bin/sh + +if [[ -z "$VERBOSE" ]]; then + echo "You may set VERBOSE=1 to see debug output or to any other non-empty string to make this script completely silent" +fi +unset HOME NIXPKGS_CONFIG # Force empty config + +# With the default heap size (380MB), nix-instantiate fails: +# Too many heap sections: Increase MAXHINCR or MAX_HEAP_SECTS +export GC_INITIAL_HEAP_SIZE=${GC_INITIAL_HEAP_SIZE:-2000000000} # 2GB +nix-instantiate --strict --eval-only --xml --show-trace "$(dirname "$0")"/eval-release.nix 2>&1 > /dev/null diff --git a/maintainers/scripts/fetch-kde-qt.sh b/maintainers/scripts/fetch-kde-qt.sh index 1357f87aaa5d3ced8b152e003037afa2744d88d3..a267a5fa8715dfdbd3f7768304b766b1b8e1260a 100755 --- a/maintainers/scripts/fetch-kde-qt.sh +++ b/maintainers/scripts/fetch-kde-qt.sh @@ -14,12 +14,13 @@ fi tmp=$(mktemp -d) pushd $tmp >/dev/null -wget -nH -r -c --no-parent "${WGET_ARGS[@]}" >/dev/null +wget -nH -r -c --no-parent "${WGET_ARGS[@]}" -A '*.tar.xz.sha256' -A '*.mirrorlist' >/dev/null +find -type f -name '*.mirrorlist' -delete csv=$(mktemp) find . -type f | while read src; do # Sanitize file name - filename=$(basename "$src" | tr '@' '_') + filename=$(gawk '{ print $2 }' "$src" | tr '@' '_') nameVersion="${filename%.tar.*}" name=$(echo "$nameVersion" | sed -e 's,-[[:digit:]].*,,' | sed -e 's,-opensource-src$,,' | sed -e 's,-everywhere-src$,,') version=$(echo "$nameVersion" | sed -e 's,^\([[:alpha:]][[:alnum:]]*-\)\+,,') @@ -38,8 +39,8 @@ gawk -F , "{ print \$1 }" $csv | sort | uniq | while read name; do latestVersion=$(echo "$versions" | sort -rV | head -n 1) src=$(gawk -F , "/^$name,$latestVersion,/ { print \$3 }" $csv) filename=$(gawk -F , "/^$name,$latestVersion,/ { print \$4 }" $csv) - url="${src:2}" - sha256=$(nix-hash --type sha256 --base32 --flat "$src") + url="$(dirname "${src:2}")/$filename" + sha256=$(gawk '{ print $1 }' "$src") cat >>"$SRCS" <&1 > /dev/null diff --git a/maintainers/scripts/update-luarocks-packages b/maintainers/scripts/update-luarocks-packages new file mode 100755 index 0000000000000000000000000000000000000000..aee74dae10cdecd952915349022917580f7bf1bd --- /dev/null +++ b/maintainers/scripts/update-luarocks-packages @@ -0,0 +1,118 @@ +#!/usr/bin/env nix-shell +#!nix-shell -p nix-prefetch-scripts luarocks-nix -i bash + +# You'll likely want to use +# `` +# nixpkgs $ maintainers/scripts/update-luarocks-packages pkgs/development/lua-modules/generated-packages.nix +# `` +# to update all libraries in that folder. +# to debug, redirect stderr to stdout with 2>&1 + + +# stop the script upon C-C +set -eu -o pipefail + +if [ $# -lt 1 ]; then + print_help + exit 1 +fi + +CSV_FILE="maintainers/scripts/luarocks-packages.csv" +TMP_FILE="$(mktemp)" + +exit_trap() +{ + local lc="$BASH_COMMAND" rc=$? + test $rc -eq 0 || echo -e "*** error $rc: $lc.\nGenerated temporary file in $TMP_FILE" >&2 +} +trap exit_trap EXIT + +print_help() { + echo "Usage: $0 " + echo "(most likely pkgs/development/lua-modules/generated-packages.nix)" + echo "" + echo " -c to set the list of luarocks package to generate" + exit 1 +} + + +while getopts ":hc:" opt; do + case $opt in + h) + print_help + ;; + c) + echo "Loading package list from $OPTARG !" >&2 + CSV_FILE="$OPTARG" + ;; + \?) + echo "Invalid option: -$OPTARG" >&2 + ;; + esac + shift $((OPTIND-1)) +done + +GENERATED_NIXFILE="$1" + +HEADER=" +/* ${GENERATED_NIXFILE} is an auto-generated file -- DO NOT EDIT! +Regenerate it with: +nixpkgs$ ${0} ${GENERATED_NIXFILE} + +These packages are manually refined in lua-overrides.nix +*/ +{ self, stdenv, fetchurl, fetchgit, pkgs, ... } @ args: +self: super: +with self; +{ +" + +FOOTER=" +} +/* GENERATED */ +" + + +function convert_pkg () { + nix_pkg_name="$1" + lua_pkg_name="$2" + server="" + if [ ! -z "$3" ]; then + server=" --server=$3" + fi + + version="${4:-}" + + echo "looking at $lua_pkg_name (version $version) from server [$server]" >&2 + cmd="luarocks nix $server $lua_pkg_name $version" + drv="$nix_pkg_name = $($cmd)" + if [ $? -ne 0 ]; then + echo "Failed to convert $pkg" >&2 + echo "$drv" >&2 + else + echo "$drv" | tee -a "$TMP_FILE" + fi +} + +# params needed when called via callPackage +echo "$HEADER" | tee "$TMP_FILE" + +# list of packages with format +# name,server,version +while IFS=, read -r nix_pkg_name lua_pkg_name server version +do + if [ "${nix_pkg_name:0:1}" == "#" ]; then + echo "Skipping comment ${nix_pkg_name}" >&2 + continue + fi + if [ -z "$lua_pkg_name" ]; then + echo "Using nix_name as lua_pkg_name" >&2 + lua_pkg_name="$nix_pkg_name" + fi + convert_pkg "$nix_pkg_name" "$lua_pkg_name" "$server" "$version" +done < "$CSV_FILE" + +# close the set +echo "$FOOTER" | tee -a "$TMP_FILE" + +cp "$TMP_FILE" "$GENERATED_NIXFILE" diff --git a/maintainers/scripts/update-python-libraries b/maintainers/scripts/update-python-libraries index d95ff4f347e87f761be71fd6f6a1f857c403bb08..4a6024c40380bcbb04f9b2b0fb9148edc8aaa1b0 100755 --- a/maintainers/scripts/update-python-libraries +++ b/maintainers/scripts/update-python-libraries @@ -1,361 +1,5 @@ -#! /usr/bin/env nix-shell -#! nix-shell -i python3 -p "python3.withPackages(ps: with ps; [ packaging requests toolz ])" -p git +#!/bin/sh +build=`nix-build -E "with import (fetchTarball "channel:nixpkgs-unstable") {}; python3.withPackages(ps: with ps; [ packaging requests toolz ])"` +python=${build}/bin/python +exec ${python} pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py $@ -""" -Update a Python package expression by passing in the `.nix` file, or the directory containing it. -You can pass in multiple files or paths. - -You'll likely want to use -`` - $ ./update-python-libraries ../../pkgs/development/python-modules/* -`` -to update all libraries in that folder. -""" - -import argparse -import logging -import os -import re -import requests -import toolz -from concurrent.futures import ThreadPoolExecutor as Pool -from packaging.version import Version as _Version -from packaging.version import InvalidVersion -from packaging.specifiers import SpecifierSet -import collections -import subprocess - -INDEX = "https://pypi.io/pypi" -"""url of PyPI""" - -EXTENSIONS = ['tar.gz', 'tar.bz2', 'tar', 'zip', '.whl'] -"""Permitted file extensions. These are evaluated from left to right and the first occurance is returned.""" - -PRERELEASES = False - -import logging -logging.basicConfig(level=logging.INFO) - - -class Version(_Version, collections.abc.Sequence): - - def __init__(self, version): - super().__init__(version) - # We cannot use `str(Version(0.04.21))` because that becomes `0.4.21` - # https://github.com/avian2/unidecode/issues/13#issuecomment-354538882 - self.raw_version = version - - def __getitem__(self, i): - return self._version.release[i] - - def __len__(self): - return len(self._version.release) - - def __iter__(self): - yield from self._version.release - - -def _get_values(attribute, text): - """Match attribute in text and return all matches. - - :returns: List of matches. - """ - regex = '{}\s+=\s+"(.*)";'.format(attribute) - regex = re.compile(regex) - values = regex.findall(text) - return values - -def _get_unique_value(attribute, text): - """Match attribute in text and return unique match. - - :returns: Single match. - """ - values = _get_values(attribute, text) - n = len(values) - if n > 1: - raise ValueError("found too many values for {}".format(attribute)) - elif n == 1: - return values[0] - else: - raise ValueError("no value found for {}".format(attribute)) - -def _get_line_and_value(attribute, text): - """Match attribute in text. Return the line and the value of the attribute.""" - regex = '({}\s+=\s+"(.*)";)'.format(attribute) - regex = re.compile(regex) - value = regex.findall(text) - n = len(value) - if n > 1: - raise ValueError("found too many values for {}".format(attribute)) - elif n == 1: - return value[0] - else: - raise ValueError("no value found for {}".format(attribute)) - - -def _replace_value(attribute, value, text): - """Search and replace value of attribute in text.""" - old_line, old_value = _get_line_and_value(attribute, text) - new_line = old_line.replace(old_value, value) - new_text = text.replace(old_line, new_line) - return new_text - -def _fetch_page(url): - r = requests.get(url) - if r.status_code == requests.codes.ok: - return r.json() - else: - raise ValueError("request for {} failed".format(url)) - - -SEMVER = { - 'major' : 0, - 'minor' : 1, - 'patch' : 2, -} - - -def _determine_latest_version(current_version, target, versions): - """Determine latest version, given `target`. - """ - current_version = Version(current_version) - - def _parse_versions(versions): - for v in versions: - try: - yield Version(v) - except InvalidVersion: - pass - - versions = _parse_versions(versions) - - index = SEMVER[target] - - ceiling = list(current_version[0:index]) - if len(ceiling) == 0: - ceiling = None - else: - ceiling[-1]+=1 - ceiling = Version(".".join(map(str, ceiling))) - - # We do not want prereleases - versions = SpecifierSet(prereleases=PRERELEASES).filter(versions) - - if ceiling is not None: - versions = SpecifierSet(f"<{ceiling}").filter(versions) - - return (max(sorted(versions))).raw_version - - -def _get_latest_version_pypi(package, extension, current_version, target): - """Get latest version and hash from PyPI.""" - url = "{}/{}/json".format(INDEX, package) - json = _fetch_page(url) - - versions = json['releases'].keys() - version = _determine_latest_version(current_version, target, versions) - - try: - releases = json['releases'][version] - except KeyError as e: - raise KeyError('Could not find version {} for {}'.format(version, package)) from e - for release in releases: - if release['filename'].endswith(extension): - # TODO: In case of wheel we need to do further checks! - sha256 = release['digests']['sha256'] - break - else: - sha256 = None - return version, sha256 - - -def _get_latest_version_github(package, extension, current_version, target): - raise ValueError("updating from GitHub is not yet supported.") - - -FETCHERS = { - 'fetchFromGitHub' : _get_latest_version_github, - 'fetchPypi' : _get_latest_version_pypi, - 'fetchurl' : _get_latest_version_pypi, -} - - -DEFAULT_SETUPTOOLS_EXTENSION = 'tar.gz' - - -FORMATS = { - 'setuptools' : DEFAULT_SETUPTOOLS_EXTENSION, - 'wheel' : 'whl' -} - -def _determine_fetcher(text): - # Count occurences of fetchers. - nfetchers = sum(text.count('src = {}'.format(fetcher)) for fetcher in FETCHERS.keys()) - if nfetchers == 0: - raise ValueError("no fetcher.") - elif nfetchers > 1: - raise ValueError("multiple fetchers.") - else: - # Then we check which fetcher to use. - for fetcher in FETCHERS.keys(): - if 'src = {}'.format(fetcher) in text: - return fetcher - - -def _determine_extension(text, fetcher): - """Determine what extension is used in the expression. - - If we use: - - fetchPypi, we check if format is specified. - - fetchurl, we determine the extension from the url. - - fetchFromGitHub we simply use `.tar.gz`. - """ - if fetcher == 'fetchPypi': - try: - src_format = _get_unique_value('format', text) - except ValueError as e: - src_format = None # format was not given - - try: - extension = _get_unique_value('extension', text) - except ValueError as e: - extension = None # extension was not given - - if extension is None: - if src_format is None: - src_format = 'setuptools' - elif src_format == 'flit': - raise ValueError("Don't know how to update a Flit package.") - extension = FORMATS[src_format] - - elif fetcher == 'fetchurl': - url = _get_unique_value('url', text) - extension = os.path.splitext(url)[1] - if 'pypi' not in url: - raise ValueError('url does not point to PyPI.') - - elif fetcher == 'fetchFromGitHub': - raise ValueError('updating from GitHub is not yet implemented.') - - return extension - - -def _update_package(path, target): - - # Read the expression - with open(path, 'r') as f: - text = f.read() - - # Determine pname. - pname = _get_unique_value('pname', text) - - # Determine version. - version = _get_unique_value('version', text) - - # First we check how many fetchers are mentioned. - fetcher = _determine_fetcher(text) - - extension = _determine_extension(text, fetcher) - - new_version, new_sha256 = FETCHERS[fetcher](pname, extension, version, target) - - if new_version == version: - logging.info("Path {}: no update available for {}.".format(path, pname)) - return False - elif Version(new_version) <= Version(version): - raise ValueError("downgrade for {}.".format(pname)) - if not new_sha256: - raise ValueError("no file available for {}.".format(pname)) - - text = _replace_value('version', new_version, text) - text = _replace_value('sha256', new_sha256, text) - - with open(path, 'w') as f: - f.write(text) - - logging.info("Path {}: updated {} from {} to {}".format(path, pname, version, new_version)) - - result = { - 'path' : path, - 'target': target, - 'pname': pname, - 'old_version' : version, - 'new_version' : new_version, - #'fetcher' : fetcher, - } - - return result - - -def _update(path, target): - - # We need to read and modify a Nix expression. - if os.path.isdir(path): - path = os.path.join(path, 'default.nix') - - # If a default.nix does not exist, we quit. - if not os.path.isfile(path): - logging.info("Path {}: does not exist.".format(path)) - return False - - # If file is not a Nix expression, we quit. - if not path.endswith(".nix"): - logging.info("Path {}: does not end with `.nix`.".format(path)) - return False - - try: - return _update_package(path, target) - except ValueError as e: - logging.warning("Path {}: {}".format(path, e)) - return False - - -def _commit(path, pname, old_version, new_version, **kwargs): - """Commit result. - """ - - msg = f'python: {pname}: {old_version} -> {new_version}' - - try: - subprocess.check_call(['git', 'add', path]) - subprocess.check_call(['git', 'commit', '-m', msg]) - except subprocess.CalledProcessError as e: - subprocess.check_call(['git', 'checkout', path]) - raise subprocess.CalledProcessError(f'Could not commit {path}') from e - - return True - - -def main(): - - parser = argparse.ArgumentParser() - parser.add_argument('package', type=str, nargs='+') - parser.add_argument('--target', type=str, choices=SEMVER.keys(), default='major') - parser.add_argument('--commit', action='store_true', help='Create a commit for each package update') - - args = parser.parse_args() - target = args.target - - packages = list(map(os.path.abspath, args.package)) - - logging.info("Updating packages...") - - # Use threads to update packages concurrently - with Pool() as p: - results = list(p.map(lambda pkg: _update(pkg, target), packages)) - - logging.info("Finished updating packages.") - - # Commits are created sequentially. - if args.commit: - logging.info("Committing updates...") - list(map(lambda x: _commit(**x), filter(bool, results))) - logging.info("Finished committing updates") - - count = sum(map(bool, results)) - logging.info("{} package(s) updated".format(count)) - - - -if __name__ == '__main__': - main() diff --git a/maintainers/scripts/update.nix b/maintainers/scripts/update.nix index 8d1e47c6bc951d3e601cf573cf63937734ba8f93..120cd5552f4804b4741731b941b995e006b88ef9 100755 --- a/maintainers/scripts/update.nix +++ b/maintainers/scripts/update.nix @@ -1,6 +1,8 @@ { package ? null , maintainer ? null , path ? null +, max-workers ? null +, keep-going ? null }: # TODO: add assert statements @@ -105,27 +107,24 @@ let % nix-shell maintainers/scripts/update.nix --argstr path gnome3 to run update script for all package under an attribute path. - ''; - 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. " + You can also add + + --argstr max-workers 8 + + to increase the number of jobs in parallel, or + + --argstr keep-going true + + to continue running when a single update fails. ''; + packageData = package: { + name = package.name; + pname = (builtins.parseDrvName package.name).name; + updateScript = pkgs.lib.toList package.updateScript; + }; + in pkgs.stdenv.mkDerivation { name = "nixpkgs-update-script"; buildCommand = '' @@ -139,21 +138,7 @@ in pkgs.stdenv.mkDerivation { 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 + unset shellHook # do not contaminate nested shells + exec ${pkgs.python3.interpreter} ${./update.py} ${pkgs.writeText "packages.json" (builtins.toJSON (map packageData packages))}${pkgs.lib.optionalString (max-workers != null) " --max-workers=${max-workers}"}${pkgs.lib.optionalString (keep-going == "true") " --keep-going"} ''; } diff --git a/maintainers/scripts/update.py b/maintainers/scripts/update.py new file mode 100644 index 0000000000000000000000000000000000000000..eb7d0ef2647bf59687cc7a794ca5334febce49e4 --- /dev/null +++ b/maintainers/scripts/update.py @@ -0,0 +1,79 @@ +import argparse +import concurrent.futures +import json +import os +import subprocess +import sys + +updates = {} + +def eprint(*args, **kwargs): + print(*args, file=sys.stderr, **kwargs) + +def run_update_script(package): + eprint(f" - {package['name']}: UPDATING ...") + + subprocess.run(package['updateScript'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT, check=True) + + +def main(max_workers, keep_going, packages): + with open(sys.argv[1]) as f: + packages = json.load(f) + + eprint() + eprint('Going to be running update for following packages:') + for package in packages: + eprint(f" - {package['name']}") + eprint() + + confirm = input('Press Enter key to continue...') + if confirm == '': + eprint() + eprint('Running update for:') + + with concurrent.futures.ProcessPoolExecutor(max_workers=max_workers) as executor: + for package in packages: + updates[executor.submit(run_update_script, package)] = package + + for future in concurrent.futures.as_completed(updates): + package = updates[future] + + try: + future.result() + eprint(f" - {package['name']}: DONE.") + except subprocess.CalledProcessError as e: + eprint(f" - {package['name']}: ERROR") + eprint() + eprint(f"--- SHOWING ERROR LOG FOR {package['name']} ----------------------") + eprint() + eprint(e.stdout.decode('utf-8')) + with open(f"{package['pname']}.log", 'wb') as f: + f.write(e.stdout) + eprint() + eprint(f"--- SHOWING ERROR LOG FOR {package['name']} ----------------------") + + if not keep_going: + sys.exit(1) + + eprint() + eprint('Packages updated!') + sys.exit() + else: + eprint('Aborting!') + sys.exit(130) + +parser = argparse.ArgumentParser(description='Update packages') +parser.add_argument('--max-workers', '-j', dest='max_workers', type=int, help='Number of updates to run concurrently', nargs='?', default=4) +parser.add_argument('--keep-going', '-k', dest='keep_going', action='store_true', help='Do not stop after first failure') +parser.add_argument('packages', help='JSON file containing the list of package names and their update scripts') + +if __name__ == '__main__': + args = parser.parse_args() + + try: + main(args.max_workers, args.keep_going, args.packages) + except (KeyboardInterrupt, SystemExit) as e: + for update in updates: + update.cancel() + + sys.exit(e.code if isinstance(e, SystemExit) else 130) diff --git a/nixos/doc/manual/Makefile b/nixos/doc/manual/Makefile index 5cbbf140869a6d649b4ff42dfbddd78f1e94d91c..9ff599a0090f7b3229553a3ced9bd60cfcfa4c13 100644 --- a/nixos/doc/manual/Makefile +++ b/nixos/doc/manual/Makefile @@ -4,15 +4,16 @@ all: manual-combined.xml format .PHONY: debug debug: generated manual-combined.xml -manual-combined.xml: generated *.xml +manual-combined.xml: generated *.xml **/*.xml rm -f ./manual-combined.xml - nix-shell --packages xmloscopy \ + nix-shell --pure -Q --packages xmloscopy \ --run "xmloscopy --docbook5 ./manual.xml ./manual-combined.xml" .PHONY: format format: - find . -iname '*.xml' -type f -print0 | xargs -0 -I{} -n1 \ - xmlformat --config-file "../xmlformat.conf" -i {} + nix-shell --pure -Q --packages xmlformat \ + --run "find ../../ -iname '*.xml' -type f -print0 | xargs -0 -I{} -n1 \ + xmlformat --config-file '../xmlformat.conf' -i {}" .PHONY: fix-misc-xml fix-misc-xml: diff --git a/nixos/doc/manual/administration/cleaning-store.xml b/nixos/doc/manual/administration/cleaning-store.xml index ee201982a40be37a0e6ae52f4b5e9dfe365d20f3..f078b8c3ba370916661543a3eb524dc4bd4626c6 100644 --- a/nixos/doc/manual/administration/cleaning-store.xml +++ b/nixos/doc/manual/administration/cleaning-store.xml @@ -50,4 +50,14 @@ $ nix-store --optimise Since this command needs to read the entire Nix store, it can take quite a while to finish. +
+ NixOS Boot Entries + + + If your /boot partition runs out of space, after + clearing old profiles you must rebuild your system with + nixos-rebuild to update the /boot + partition and clear space. + +
diff --git a/nixos/doc/manual/administration/container-networking.xml b/nixos/doc/manual/administration/container-networking.xml index 4b977d1d82eb42b79d4eed281e13f5320f11225f..2ee8bfdd50f1b94ba0adb2d12335724f93d2b69d 100644 --- a/nixos/doc/manual/administration/container-networking.xml +++ b/nixos/doc/manual/administration/container-networking.xml @@ -52,4 +52,8 @@ $ ping -c1 10.233.4.2 networking.networkmanager.unmanaged = [ "interface-name:ve-*" ]; + + + You may need to restart your system for the changes to take effect. +
diff --git a/nixos/doc/manual/administration/declarative-containers.xml b/nixos/doc/manual/administration/declarative-containers.xml index 2a98fb1262310275849d0451221f3fc671b04a47..d03dbc4d70556cefe5223f7d8eb496345237bb23 100644 --- a/nixos/doc/manual/administration/declarative-containers.xml +++ b/nixos/doc/manual/administration/declarative-containers.xml @@ -15,7 +15,7 @@ containers.database = { config = { config, pkgs, ... }: { = true; - = pkgs.postgresql96; + = pkgs.postgresql_9_6; }; }; diff --git a/nixos/doc/manual/administration/running.xml b/nixos/doc/manual/administration/running.xml index 786dd5e2390d6579f90e55881717d723c95bf4f8..19bec1f7794d8724a604fb66d48600659551a10d 100644 --- a/nixos/doc/manual/administration/running.xml +++ b/nixos/doc/manual/administration/running.xml @@ -4,7 +4,7 @@ version="5.0" xml:id="ch-running"> Administration - + This chapter describes various aspects of managing a running NixOS system, such as how to use the systemd service manager. diff --git a/nixos/doc/manual/configuration/adding-custom-packages.xml b/nixos/doc/manual/configuration/adding-custom-packages.xml index 028a94275345d470ddc1e5ace68566573bccf9da..cdcfa10b8200ee6980e62b6bb6d888f8622ae5c4 100644 --- a/nixos/doc/manual/configuration/adding-custom-packages.xml +++ b/nixos/doc/manual/configuration/adding-custom-packages.xml @@ -31,7 +31,7 @@ $ cd nixpkgs The second possibility is to add the package outside of the Nixpkgs tree. For instance, here is how you specify a build of the - GNU Hello + GNU Hello package directly in configuration.nix: = diff --git a/nixos/doc/manual/configuration/config-file.xml b/nixos/doc/manual/configuration/config-file.xml index 8a1a39c98c10d3dec9e919959b24b5c7e6d5d276..eadafb94b8f6d1b3aabdbbe6c50ffbec236184c4 100644 --- a/nixos/doc/manual/configuration/config-file.xml +++ b/nixos/doc/manual/configuration/config-file.xml @@ -197,11 +197,12 @@ swapDevices = [ { device = "/dev/disk/by-label/swap"; } ]; pkgs.emacs ]; - = pkgs.postgresql90; + = pkgs.postgresql_10; The latter option definition changes the default PostgreSQL package used - by NixOS’s PostgreSQL service to 9.0. For more information on packages, - including how to add new ones, see . + by NixOS’s PostgreSQL service to 10.x. For more information on + packages, including how to add new ones, see + . diff --git a/nixos/doc/manual/configuration/configuration.xml b/nixos/doc/manual/configuration/configuration.xml index 8d05dcd34b4d40813b5d6224af5258337e77c431..5961209bc13ace2d262906147b5422e1d3760fb0 100644 --- a/nixos/doc/manual/configuration/configuration.xml +++ b/nixos/doc/manual/configuration/configuration.xml @@ -4,7 +4,7 @@ version="5.0" xml:id="ch-configuration"> Configuration - + This chapter describes how to configure various aspects of a NixOS machine through the configuration file @@ -21,6 +21,9 @@ + + + diff --git a/nixos/doc/manual/configuration/declarative-packages.xml b/nixos/doc/manual/configuration/declarative-packages.xml index be9884fe9dce14bcc6ff6889c96f888283762241..c9acbefea60eadc1de6f9c21065fcb7ddbd9d48b 100644 --- a/nixos/doc/manual/configuration/declarative-packages.xml +++ b/nixos/doc/manual/configuration/declarative-packages.xml @@ -27,8 +27,13 @@ nixos.firefox firefox-23.0 Mozilla Firefox - the browser, reloaded ... The first column in the output is the attribute name, - such as nixos.thunderbird. (The nixos - prefix allows distinguishing between different channels that you might have.) + such as nixos.thunderbird. + + + Note: the nixos prefix tells us that we want to get the + package from the nixos channel and works only in CLI tools. + + In declarative configuration use pkgs prefix (variable). diff --git a/nixos/doc/manual/configuration/firewall.xml b/nixos/doc/manual/configuration/firewall.xml index b66adcedce6e888ce613ede9e4db7f9a03fa85cd..47a19ac82c0fea6b9e67f84f7743507cd6da6b22 100644 --- a/nixos/doc/manual/configuration/firewall.xml +++ b/nixos/doc/manual/configuration/firewall.xml @@ -34,13 +34,4 @@ Similarly, UDP port ranges can be opened through . - - - Also of interest is - - = true; - - to allow the machine to respond to ping requests. (ICMPv6 pings are always - allowed.) -
diff --git a/nixos/doc/manual/configuration/kubernetes.xml b/nixos/doc/manual/configuration/kubernetes.xml new file mode 100644 index 0000000000000000000000000000000000000000..54a100e44795473a1efe4f54f46191d12799f49b --- /dev/null +++ b/nixos/doc/manual/configuration/kubernetes.xml @@ -0,0 +1,112 @@ + + Kubernetes + + The NixOS Kubernetes module is a collective term for a handful of individual + submodules implementing the Kubernetes cluster components. + + + There are generally two ways of enabling Kubernetes on NixOS. One way is to + enable and configure cluster components appropriately by hand: + +services.kubernetes = { + apiserver.enable = true; + controllerManager.enable = true; + scheduler.enable = true; + addonManager.enable = true; + proxy.enable = true; + flannel.enable = true; +}; + + Another way is to assign cluster roles ("master" and/or "node") to the host. + This enables apiserver, controllerManager, scheduler, addonManager, + kube-proxy and etcd: + + = [ "master" ]; + + While this will enable the kubelet and kube-proxy only: + + = [ "node" ]; + + Assigning both the master and node roles is usable if you want a single node + Kubernetes cluster for dev or testing purposes: + + = [ "master" "node" ]; + + Note: Assigning either role will also default both + and + to true. This sets up + flannel as CNI and activates automatic PKI bootstrapping. + + + As of kubernetes 1.10.X it has been deprecated to open non-tls-enabled ports + on kubernetes components. Thus, from NixOS 19.03 all plain HTTP ports have + been disabled by default. While opening insecure ports is still possible, it + is recommended not to bind these to other interfaces than loopback. To + re-enable the insecure port on the apiserver, see options: + and + + + + + As of NixOS 19.03, it is mandatory to configure: + . The masterAddress + must be resolveable and routeable by all cluster nodes. In single node + clusters, this can be set to localhost. + + + + Role-based access control (RBAC) authorization mode is enabled by default. + This means that anonymous requests to the apiserver secure port will + expectedly cause a permission denied error. All cluster components must + therefore be configured with x509 certificates for two-way tls communication. + The x509 certificate subject section determines the roles and permissions + granted by the apiserver to perform clusterwide or namespaced operations. See + also: + + Using RBAC Authorization. + + + The NixOS kubernetes module provides an option for automatic certificate + bootstrapping and configuration, + . The PKI bootstrapping + process involves setting up a certificate authority (CA) daemon (cfssl) on + the kubernetes master node. cfssl generates a CA-cert for the cluster, and + uses the CA-cert for signing subordinate certs issued to each of the cluster + components. Subsequently, the certmgr daemon monitors active certificates and + renews them when needed. For single node Kubernetes clusters, setting + = true is sufficient and + no further action is required. For joining extra node machines to an existing + cluster on the other hand, establishing initial trust is mandatory. + + + To add new nodes to the cluster: On any (non-master) cluster node where + is enabled, the helper + script nixos-kubernetes-node-join is available on PATH. + Given a token on stdin, it will copy the token to the kubernetes secrets + directory and restart the certmgr service. As requested certificates are + issued, the script will restart kubernetes cluster components as needed for + them to pick up new keypairs. + + + + Multi-master (HA) clusters are not supported by the easyCerts module. + + + + In order to interact with an RBAC-enabled cluster as an administrator, one + needs to have cluster-admin privileges. By default, when easyCerts is + enabled, a cluster-admin kubeconfig file is generated and linked into + /etc/kubernetes/cluster-admin.kubeconfig as determined by + . + export KUBECONFIG=/etc/kubernetes/cluster-admin.kubeconfig + will make kubectl use this kubeconfig to access and authenticate the cluster. + The cluster-admin kubeconfig references an auto-generated keypair owned by + root. Thus, only root on the kubernetes master may obtain cluster-admin + rights by means of this file. + + diff --git a/nixos/doc/manual/configuration/linux-kernel.xml b/nixos/doc/manual/configuration/linux-kernel.xml index f4d697c42dbd0b030dee92e66502c8e67e72901f..644d3a33ffd2c8208b83be9d5a4503b2f62a94c9 100644 --- a/nixos/doc/manual/configuration/linux-kernel.xml +++ b/nixos/doc/manual/configuration/linux-kernel.xml @@ -66,14 +66,15 @@ nixpkgs.config.packageOverrides = pkgs: sets the kernel’s TCP keepalive time to 120 seconds. To see the available parameters, run sysctl -a. -
+
Customize your kernel The first step before compiling the kernel is to generate an appropriate - .config configuration. Either you pass your own config via - the configfile setting of linuxManualConfig: - .config configuration. Either you pass your own config + via the configfile setting of + linuxManualConfig: + - -You can edit the config with this snippet (by default make menuconfig won't work - out of the box on nixos): - make + menuconfig won't work out of the box on nixos): + {}; kernelToOverride.overrideAttrs (o: {nativeBuildInputs=o.nativeBuildInputs ++ [ pkgconfig ncurses ];})' ]]> - - - or you can let nixpkgs generate the configuration. - Nixpkgs generates it via answering the interactive kernel utility make config. - The answers depend on parameters passed to pkgs/os-specific/linux/kernel/generic.nix - (which you can influence by overriding extraConfig, autoModules, modDirVersion, preferBuiltin, extraConfig). + or you can let nixpkgs generate the configuration. Nixpkgs generates it via + answering the interactive kernel utility make config. The + answers depend on parameters passed to + pkgs/os-specific/linux/kernel/generic.nix (which you + can influence by overriding extraConfig, autoModules, + modDirVersion, preferBuiltin, extraConfig). make menuconfig
-
+
Developing kernel modules diff --git a/nixos/doc/manual/configuration/matrix.xml b/nixos/doc/manual/configuration/matrix.xml new file mode 100644 index 0000000000000000000000000000000000000000..66965460a15d18b03684291c39b70633fc7f9d7d --- /dev/null +++ b/nixos/doc/manual/configuration/matrix.xml @@ -0,0 +1,203 @@ + + Matrix + + Matrix is an open standard for + interoperable, decentralised, real-time communication over IP. It can be used + to power Instant Messaging, VoIP/WebRTC signalling, Internet of Things + communication - or anywhere you need a standard HTTP API for publishing and + subscribing to data whilst tracking the conversation history. + + + This chapter will show you how to set up your own, self-hosted Matrix + homeserver using the Synapse reference homeserver, and how to serve your own + copy of the Riot web client. See the + Try + Matrix Now! overview page for links to Riot Apps for Android and iOS, + desktop clients, as well as bridges to other networks and other projects + around Matrix. + +
+ Synapse Homeserver + + + Synapse is + the reference homeserver implementation of Matrix from the core development + team at matrix.org. The following configuration example will set up a + synapse server for the example.org domain, served from + the host myhostname.example.org. For more information, + please refer to the + + installation instructions of Synapse . + + let + fqdn = + let + join = hostName: domain: hostName + optionalString (domain != null) ".${domain}"; + in join config.networking.hostName config.networking.domain; + in { + networking = { + hostName = "myhostname"; + domain = "example.org"; + }; + networking.firewall.allowedTCPPorts = [ 80 443 ]; + + services.nginx = { + enable = true; + # only recommendedProxySettings and recommendedGzipSettings are strictly required, + # but the rest make sense as well + recommendedTlsSettings = true; + recommendedOptimisation = true; + recommendedGzipSettings = true; + recommendedProxySettings = true; + + virtualHosts = { + # This host section can be placed on a different host than the rest, + # i.e. to delegate from the host being accessible as ${config.networking.domain} + # to another host actually running the Matrix homeserver. + "${config.networking.domain}" = { + locations."= /.well-known/matrix/server".extraConfig = + let + # use 443 instead of the default 8448 port to unite + # the client-server and server-server port for simplicity + server = { "m.server" = "${fqdn}:443"; }; + in '' + add_header Content-Type application/json; + return 200 '${builtins.toJSON server}'; + ''; + locations."= /.well-known/matrix/client".extraConfig = + let + client = { + "m.homeserver" = { "base_url" = "https://${fqdn}"; }; + "m.identity_server" = { "base_url" = "https://vector.im"; }; + }; + # ACAO required to allow riot-web on any URL to request this json file + in '' + add_header Content-Type application/json; + add_header Access-Control-Allow-Origin *; + return 200 '${builtins.toJSON client}'; + ''; + }; + + # Reverse proxy for Matrix client-server and server-server communication + ${fqdn} = { + enableACME = true; + forceSSL = true; + + # Or do a redirect instead of the 404, or whatever is appropriate for you. + # But do not put a Matrix Web client here! See the Riot Web section below. + locations."/".extraConfig = '' + return 404; + ''; + + # forward all Matrix API calls to the synapse Matrix homeserver + locations."/_matrix" = { + proxyPass = "http://[::1]:8008"; + }; + }; + }; + }; + services.matrix-synapse = { + enable = true; + server_name = config.networking.domain; + listeners = [ + { + port = 8008; + bind_address = "::1"; + type = "http"; + tls = false; + x_forwarded = true; + resources = [ + { names = [ "client" "federation" ]; compress = false; } + ]; + } + ]; + }; + }; + + + + + If the A and AAAA DNS records on + example.org do not point on the same host as the records + for myhostname.example.org, you can easily move the + /.well-known virtualHost section of the code to the host that + is serving example.org, while the rest stays on + myhostname.example.org with no other changes required. + This pattern also allows to seamlessly move the homeserver from + myhostname.example.org to + myotherhost.example.org by only changing the + /.well-known redirection target. + + + + If you want to run a server with public registration by anybody, you can + then enable . Otherwise, or you can generate a registration secret with + pwgen -s 64 1 and set it with + . To + create a new user or admin, run the following after you have set the secret + and have rebuilt NixOS: + + $ nix run nixpkgs.matrix-synapse + $ register_new_matrix_user -k <your-registration-shared-secret> http://localhost:8008 + New user localpart: <your-username> + Password: + Confirm password: + Make admin [no]: + Success! + + In the example, this would create a user with the Matrix Identifier + @your-username:example.org. Note that the registration + secret ends up in the nix store and therefore is world-readable by any user + on your machine, so it makes sense to only temporarily activate the + option until a better solution + for NixOS is in place. + +
+
+ Riot Web Client + + + Riot Web is + the reference web client for Matrix and developed by the core team at + matrix.org. The following snippet can be optionally added to the code before + to complete the synapse installation with a web client served at + https://riot.myhostname.example.org and + https://riot.example.org. Alternatively, you can use the hosted + copy at https://riot.im/app, + or use other web clients or native client applications. Due to the + /.well-known urls set up done above, many clients should + fill in the required connection details automatically when you enter your + Matrix Identifier. See + Try + Matrix Now! for a list of existing clients and their supported + featureset. + + services.nginx.virtualHosts."riot.${fqdn}" = { + enableACME = true; + forceSSL = true; + serverAliases = [ + "riot.${config.networking.domain}" + ]; + + root = pkgs.riot-web; + }; + + + + + Note that the Riot developers do not recommend running Riot and your Matrix + homeserver on the same fully-qualified domain name for security reasons. In + the example, this means that you should not reuse the + myhostname.example.org virtualHost to also serve Riot, + but instead serve it on a different subdomain, like + riot.example.org in the example. See the + Riot + Important Security Notes for more information on this subject. + +
+
diff --git a/nixos/doc/manual/configuration/modularity.xml b/nixos/doc/manual/configuration/modularity.xml index 3ff96f719ec57f70004103c2f2925c058d11edff..724abd31ca4ec4e7fc40c43e1634e74f8e6fb6ac 100644 --- a/nixos/doc/manual/configuration/modularity.xml +++ b/nixos/doc/manual/configuration/modularity.xml @@ -74,7 +74,7 @@ The unique option `services.httpd.adminAddr' is defined multiple times, in `/etc argument is for: it contains the complete, merged system configuration. That is, config is the result of combining the configurations returned by every module - + If you’re wondering how it’s possible that the (indirect) result of a function is passed as an @@ -112,13 +112,10 @@ true $ nixos-option [ "tun" "ipv6" "loop" ... ] - Interactive exploration of the configuration is possible using - nix-repl, - a read-eval-print loop for Nix expressions. It’s not installed by default; - run nix-env -i nix-repl to get it. A typical use: + Interactive exploration of the configuration is possible using nix + repl, a read-eval-print loop for Nix expressions. A typical use: -$ nix-repl '<nixpkgs/nixos>' +$ nix repl '<nixpkgs/nixos>' nix-repl> config. "mandark" @@ -127,4 +124,22 @@ nix-repl> map (x: x.hostName) config. + + + While abstracting your configuration, you may find it useful to generate + modules using code, instead of writing files. The example below would have + the same effect as importing a file which sets those options. + + { config, pkgs, ... }: + + let netConfig = { hostName }: { + networking.hostName = hostName; + networking.useDHCP = false; + }; + + in + + { imports = [ (netConfig "nixos.localdomain") ]; } + +
diff --git a/nixos/doc/manual/configuration/profiles.xml b/nixos/doc/manual/configuration/profiles.xml new file mode 100644 index 0000000000000000000000000000000000000000..c0a8f55785fc8a5ebe8d671e37772d73f11a498e --- /dev/null +++ b/nixos/doc/manual/configuration/profiles.xml @@ -0,0 +1,39 @@ + + Profiles + + In some cases, it may be desirable to take advantage of commonly-used, + predefined configurations provided by nixpkgs, but different from those that + come as default. This is a role fulfilled by NixOS's Profiles, which come as + files living in <nixpkgs/nixos/modules/profiles>. + That is to say, expected usage is to add them to the imports list of your + /etc/configuration.nix as such: + + + imports = [ + <nixpkgs/nixos/modules/profiles/profile-name.nix> + ]; + + + Even if some of these profiles seem only useful in the context of install + media, many are actually intended to be used in real installs. + + + What follows is a brief explanation on the purpose and use-case for each + profile. Detailing each option configured by each one is out of scope. + + + + + + + + + + + + + diff --git a/nixos/doc/manual/configuration/profiles/all-hardware.xml b/nixos/doc/manual/configuration/profiles/all-hardware.xml new file mode 100644 index 0000000000000000000000000000000000000000..2936f71069d539b5425d55387895145be9951d7e --- /dev/null +++ b/nixos/doc/manual/configuration/profiles/all-hardware.xml @@ -0,0 +1,21 @@ +
+ All Hardware + + + Enables all hardware supported by NixOS: i.e., all firmware is included, and + all devices from which one may boot are enabled in the initrd. Its primary + use is in the NixOS installation CDs. + + + + The enabled kernel modules include support for SATA and PATA, SCSI + (partially), USB, Firewire (untested), Virtio (QEMU, KVM, etc.), VMware, and + Hyper-V. Additionally, is + enabled, and the firmware for the ZyDAS ZD1211 chipset is specifically + installed. + +
diff --git a/nixos/doc/manual/configuration/profiles/base.xml b/nixos/doc/manual/configuration/profiles/base.xml new file mode 100644 index 0000000000000000000000000000000000000000..b75f6ba25b4f6173978706deb21b72b6711d6f82 --- /dev/null +++ b/nixos/doc/manual/configuration/profiles/base.xml @@ -0,0 +1,15 @@ +
+ Base + + + Defines the software packages included in the "minimal" installation CD. It + installs several utilities useful in a simple recovery or install media, such + as a text-mode web browser, and tools for manipulating block devices, + networking, hardware diagnostics, and filesystems (with their respective + kernel modules). + +
diff --git a/nixos/doc/manual/configuration/profiles/clone-config.xml b/nixos/doc/manual/configuration/profiles/clone-config.xml new file mode 100644 index 0000000000000000000000000000000000000000..234835845e2d248ffca469965d7adf8457ad99f0 --- /dev/null +++ b/nixos/doc/manual/configuration/profiles/clone-config.xml @@ -0,0 +1,14 @@ +
+ Clone Config + + + This profile is used in installer images. It provides an editable + configuration.nix that imports all the modules that were also used when + creating the image in the first place. As a result it allows users to edit + and rebuild the live-system. + +
diff --git a/nixos/doc/manual/configuration/profiles/demo.xml b/nixos/doc/manual/configuration/profiles/demo.xml new file mode 100644 index 0000000000000000000000000000000000000000..395a5ec357c9069912973f085f31c3c1f19f3adb --- /dev/null +++ b/nixos/doc/manual/configuration/profiles/demo.xml @@ -0,0 +1,15 @@ +
+ Demo + + + This profile just enables a demo + user, with password demo, uid 1000, + wheel group and + autologin + in the SDDM display manager. + +
diff --git a/nixos/doc/manual/configuration/profiles/docker-container.xml b/nixos/doc/manual/configuration/profiles/docker-container.xml new file mode 100644 index 0000000000000000000000000000000000000000..efa7b8f24c430018ca8a0648406e8280228356f5 --- /dev/null +++ b/nixos/doc/manual/configuration/profiles/docker-container.xml @@ -0,0 +1,16 @@ +
+ Docker Container + + + This is the profile from which the Docker images are generated. It prepares a + working system by importing the + Minimal and + Clone Config profiles, and + setting appropriate configuration options that are useful inside a container + context, like . + +
diff --git a/nixos/doc/manual/configuration/profiles/graphical.xml b/nixos/doc/manual/configuration/profiles/graphical.xml new file mode 100644 index 0000000000000000000000000000000000000000..73e3abc59d0cc33101c07a25115b530cf6ec7ab0 --- /dev/null +++ b/nixos/doc/manual/configuration/profiles/graphical.xml @@ -0,0 +1,22 @@ +
+ Graphical + + + Defines a NixOS configuration with the Plasma 5 desktop. It's used by the + graphical installation CD. + + + + It sets , + , + ( + + without Qt4 Support), and + to true. It also + includes glxinfo and firefox in the system packages list. + +
diff --git a/nixos/doc/manual/configuration/profiles/hardened.xml b/nixos/doc/manual/configuration/profiles/hardened.xml new file mode 100644 index 0000000000000000000000000000000000000000..dc83fc837e2a34c207d27297daeb4abe0775ef61 --- /dev/null +++ b/nixos/doc/manual/configuration/profiles/hardened.xml @@ -0,0 +1,24 @@ +
+ Hardened + + + A profile with most (vanilla) hardening options enabled by default, + potentially at the cost of features and performance. + + + + This includes a hardened kernel, and limiting the system information + available to processes through the /sys and + /proc filesystems. It also disables the User Namespaces + feature of the kernel, which stops Nix from being able to build anything + (this particular setting can be overriden via + ). See the + + profile source for further detail on which settings are altered. + +
diff --git a/nixos/doc/manual/configuration/profiles/headless.xml b/nixos/doc/manual/configuration/profiles/headless.xml new file mode 100644 index 0000000000000000000000000000000000000000..1b64497ebf7f10d8b68c57868514784d3f8441fd --- /dev/null +++ b/nixos/doc/manual/configuration/profiles/headless.xml @@ -0,0 +1,19 @@ +
+ Headless + + + Common configuration for headless machines (e.g., Amazon EC2 instances). + + + + Disables sound, + vesa, serial consoles, + emergency mode, + grub splash images + and configures the kernel to reboot automatically on panic. + +
diff --git a/nixos/doc/manual/configuration/profiles/installation-device.xml b/nixos/doc/manual/configuration/profiles/installation-device.xml new file mode 100644 index 0000000000000000000000000000000000000000..3dcdf403d89d48c56ed3cbabbffda7dff8332d34 --- /dev/null +++ b/nixos/doc/manual/configuration/profiles/installation-device.xml @@ -0,0 +1,38 @@ +
+ Installation Device + + + Provides a basic configuration for installation devices like CDs. This means + enabling hardware scans, using the + Clone Config profile to guarantee + /etc/nixos/configuration.nix exists (for + nixos-rebuild to work), a copy of the Nixpkgs channel + snapshot used to create the install media. + + + + Additionally, documentation for + Nixpkgs and NixOS + are forcefully enabled (to override the + Minimal profile preference); the + NixOS manual is shown automatically on TTY 8, sudo and udisks are disabled. + Autologin is enabled as root. + + + + A message is shown to the user to start a display manager if needed, ssh with + are enabled (but + doesn't autostart). WPA Supplicant is also enabled without autostart. + + + + Finally, vim is installed, root is set to not have a password, the kernel is + made more silent for remote public IP installs, and several settings are + tweaked so that the installer has a better chance of succeeding under + low-memory environments. + +
diff --git a/nixos/doc/manual/configuration/profiles/minimal.xml b/nixos/doc/manual/configuration/profiles/minimal.xml new file mode 100644 index 0000000000000000000000000000000000000000..179f2d0be64b34062dc9de0fe52d0bbfc4b682aa --- /dev/null +++ b/nixos/doc/manual/configuration/profiles/minimal.xml @@ -0,0 +1,17 @@ +
+ Minimal + + + This profile defines a small NixOS configuration. It does not contain any + graphical stuff. It's a very short file that enables + noXlibs, sets + i18n.supportedLocales to + only support the user-selected locale, + disables packages' documentation + , and disables sound. + +
diff --git a/nixos/doc/manual/configuration/profiles/qemu-guest.xml b/nixos/doc/manual/configuration/profiles/qemu-guest.xml new file mode 100644 index 0000000000000000000000000000000000000000..5d055c45d2d836fd7ee383832a1be48b57340c41 --- /dev/null +++ b/nixos/doc/manual/configuration/profiles/qemu-guest.xml @@ -0,0 +1,18 @@ +
+ QEMU Guest + + + This profile contains common configuration for virtual machines running under + QEMU (using virtio). + + + + It makes virtio modules available on the initrd, sets the system time from + the hardware clock to work around a bug in qemu-kvm, and + enables rngd. + +
diff --git a/nixos/doc/manual/configuration/wireless.xml b/nixos/doc/manual/configuration/wireless.xml index 999447234ad1f276f24c092b1969a6f02c3de411..7c7b3b4a65a5d9b63d0519b640fbc33e581b9973 100644 --- a/nixos/doc/manual/configuration/wireless.xml +++ b/nixos/doc/manual/configuration/wireless.xml @@ -23,18 +23,36 @@ psk = "abcdefgh"; }; "free.wifi" = {}; -} +}; Be aware that keys will be written to the nix store in plaintext! When no networks are set, it will default to using a configuration file at /etc/wpa_supplicant.conf. You should edit this file - yourself to define wireless networks, WPA keys and so on (see - wpa_supplicant.conf(5)). + yourself to define wireless networks, WPA keys and so on (see + wpa_supplicant.conf + 5 ). - If you are using WPA2 the wpa_passphrase tool might be - useful to generate the wpa_supplicant.conf. + If you are using WPA2 you can generate pskRaw key using + wpa_passphrase: + +$ wpa_passphrase ESSID PSK +network={ + ssid="echelon" + #psk="abcdefgh" + psk=dca6d6ed41f4ab5a984c9f55f6f66d4efdc720ebf66959810f4329bb391c5435 +} + + + = { + echelon = { + pskRaw = "dca6d6ed41f4ab5a984c9f55f6f66d4efdc720ebf66959810f4329bb391c5435"; + }; +} + + or you can use it to directly generate the + wpa_supplicant.conf: # wpa_passphrase ESSID PSK > /etc/wpa_supplicant.conf After you have edited the wpa_supplicant.conf, you need to diff --git a/nixos/doc/manual/configuration/x-windows.xml b/nixos/doc/manual/configuration/x-windows.xml index 948b35209b7902a39c433e9bf065216d44d57bfb..798d1fbdfd8573ccf14f30502916114476cfaa28 100644 --- a/nixos/doc/manual/configuration/x-windows.xml +++ b/nixos/doc/manual/configuration/x-windows.xml @@ -35,11 +35,11 @@ NixOS’s default display manager (the program that - provides a graphical login prompt and manages the X server) is SLiM. You can - select an alternative one by picking one of the following lines: + provides a graphical login prompt and manages the X server) is LightDM. You + can select an alternative one by picking one of the following lines: = true; - = true; + = true; @@ -60,8 +60,41 @@ # systemctl start display-manager.service - - NVIDIA Graphics Cards + + On 64-bit systems, if you want OpenGL for 32-bit programs such as in Wine, + you should also set the following: + + = true; + + + + Auto-login + + The x11 login screen can be skipped entirely, automatically logging you into + your window manager and desktop environment when you boot your computer. + + + This is especially helpful if you have disk encryption enabled. Since you + already have to provide a password to decrypt your disk, entering a second + password to login can be redundant. + + + To enable auto-login, you need to define your default window manager and + desktop environment. If you wanted no desktop environment and i3 as your your + window manager, you'd define: + + = "none"; + = "i3"; + + And, finally, to enable auto-login for a user johndoe: + + = true; + = "johndoe"; + + + + + Proprietary NVIDIA drivers NVIDIA provides a proprietary driver for its graphics cards that has better 3D performance than the X.org drivers. It is not enabled by default because @@ -71,6 +104,7 @@ Or if you have an older card, you may have to use one of the legacy drivers: + = [ "nvidiaLegacy390" ]; = [ "nvidiaLegacy340" ]; = [ "nvidiaLegacy304" ]; = [ "nvidiaLegacy173" ]; @@ -78,16 +112,9 @@ You may need to reboot after enabling this driver to prevent a clash with other kernel modules. - - On 64-bit systems, if you want full acceleration for 32-bit programs such as - Wine, you should also set the following: - - = true; - - - - AMD Graphics Cards + + Proprietary AMD drivers AMD provides a proprietary driver for its graphics cards that has better 3D performance than the X.org drivers. It is not enabled by default because @@ -99,14 +126,11 @@ other kernel modules. - On 64-bit systems, if you want full acceleration for 32-bit programs such as - Wine, you should also set the following: - - = true; - + Note: for recent AMD GPUs you most likely want to keep either the defaults + or "amdgpu" (both free). - + Touchpads Support for Synaptics touchpads (found in many laptops such as the Dell @@ -123,7 +147,7 @@ since NixOS 17.09. - + GTK/Qt themes GTK themes can be installed either to user profile or system-wide (via diff --git a/nixos/doc/manual/configuration/xfce.xml b/nixos/doc/manual/configuration/xfce.xml index 40e61d2bd691ff360ad2767e46a3ebe3e4d4c677..77d5d963279212513373e00d286e963aba78a418 100644 --- a/nixos/doc/manual/configuration/xfce.xml +++ b/nixos/doc/manual/configuration/xfce.xml @@ -31,7 +31,7 @@ (system wide), put them into your . - + Thunar Volume Support To enable Thunar volume support, put @@ -41,7 +41,7 @@ into your configuration.nix. - + Polkit Authentication Agent There is no authentication agent automatically installed alongside Xfce. To @@ -50,7 +50,7 @@ and login did the trick. - + Troubleshooting Even after enabling udisks2, volume management might not work. Thunar and/or diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix index be28c2c17afd83bf87fd8693609a26984dc14724..7fc0ad702f8495bdbd639697d56618b54d37acb8 100644 --- a/nixos/doc/manual/default.nix +++ b/nixos/doc/manual/default.nix @@ -90,7 +90,9 @@ let fi ${buildPackages.libxslt.bin}/bin/xsltproc \ --stringparam revision '${revision}' \ - -o $out ${./options-to-docbook.xsl} $optionsXML + -o intermediate.xml ${./options-to-docbook.xsl} $optionsXML + ${buildPackages.libxslt.bin}/bin/xsltproc \ + -o "$out" ${./postprocess-option-descriptions.xsl} intermediate.xml ''; sources = lib.sourceFilesBySuffices ./. [".xml"]; @@ -250,7 +252,7 @@ in rec { ''; # */ # Generate the NixOS manual. - manual = runCommand "nixos-manual" + manualHTML = runCommand "nixos-manual-html" { inherit sources; nativeBuildInputs = [ buildPackages.libxml2.bin buildPackages.libxslt.bin ]; meta.description = "The NixOS manual in HTML format"; @@ -263,9 +265,13 @@ in rec { xsltproc \ ${manualXsltprocOptions} \ --stringparam target.database.document "${olinkDB}/olinkdb.xml" \ + --stringparam id.warnings "1" \ --nonet --output $dst/ \ ${docbook_xsl_ns}/xml/xsl/docbook/xhtml/chunktoc.xsl \ - ${manual-combined}/manual-combined.xml + ${manual-combined}/manual-combined.xml \ + |& tee xsltproc.out + grep "^ID recommended on" xsltproc.out &>/dev/null && echo "error: some IDs are missing" && false + rm xsltproc.out mkdir -p $dst/images/callouts cp ${docbook_xsl_ns}/xml/xsl/docbook/images/callouts/*.svg $dst/images/callouts/ @@ -279,6 +285,11 @@ in rec { echo "doc manual $dst" >> $out/nix-support/hydra-build-products ''; # */ + # Alias for backward compatibility. TODO(@oxij): remove eventually. + manual = manualHTML; + + # Index page of the NixOS manual. + manualHTMLIndex = "${manualHTML}/share/doc/nixos/index.html"; manualEpub = runCommand "nixos-manual-epub" { inherit sources; @@ -319,6 +330,7 @@ in rec { # Generate manpages. mkdir -p $out/share/man xsltproc --nonet \ + --maxdepth 6000 \ --param man.output.in.separate.dir 1 \ --param man.output.base.dir "'$out/share/man/'" \ --param man.endnotes.are.numbered 0 \ diff --git a/nixos/doc/manual/development/assertions.xml b/nixos/doc/manual/development/assertions.xml index 17c38ffcc717b219b5d68f6eb5c650febcc0f773..32f90cf2e7c47acabb01d3c35a8542cb80380526 100644 --- a/nixos/doc/manual/development/assertions.xml +++ b/nixos/doc/manual/development/assertions.xml @@ -20,7 +20,7 @@ NixOS module system. -
+
Warnings @@ -44,7 +44,7 @@
-
+
Assertions diff --git a/nixos/doc/manual/development/building-parts.xml b/nixos/doc/manual/development/building-parts.xml index eaffc0ef47c2f0af4b809ec5ce4761a3d9098788..b4791b72970f68de495cd1536fa90598d35bebbf 100644 --- a/nixos/doc/manual/development/building-parts.xml +++ b/nixos/doc/manual/development/building-parts.xml @@ -34,7 +34,7 @@ $ nix-build -A system - system.build.manual.manual + system.build.manual.manualHTML diff --git a/nixos/doc/manual/development/development.xml b/nixos/doc/manual/development/development.xml index 03dee6ff09bb958fdc087c5ae2bd24fd69ca4f1d..43f511b3e96ba710618666983de95efad8cbaf9b 100644 --- a/nixos/doc/manual/development/development.xml +++ b/nixos/doc/manual/development/development.xml @@ -4,7 +4,7 @@ version="5.0" xml:id="ch-development"> Development - + This chapter describes how you can modify and extend NixOS. diff --git a/nixos/doc/manual/development/option-def.xml b/nixos/doc/manual/development/option-def.xml index 580a5afd58cdc9452a58e7b9ad44350d5e0410ce..50a705d0cb8ed717c54c780e897e5ae2cbf030a4 100644 --- a/nixos/doc/manual/development/option-def.xml +++ b/nixos/doc/manual/development/option-def.xml @@ -17,7 +17,7 @@ config = { definitions in a property to achieve certain effects: - + Delaying Conditionals If a set of option definitions is conditional on the value of another @@ -59,7 +59,7 @@ config = { - + Setting Priorities A module can override the definitions of an option in other modules by @@ -76,7 +76,7 @@ services.openssh.enable = mkOverride 10 false; - + Merging Configurations In conjunction with mkIf, it is sometimes useful for a diff --git a/nixos/doc/manual/development/option-types.xml b/nixos/doc/manual/development/option-types.xml index 47dd09158e91e4d935fcf92de11d9a886f61e235..069cc36573d847d5aeb3ab5b17131e3a9384bf0c 100644 --- a/nixos/doc/manual/development/option-types.xml +++ b/nixos/doc/manual/development/option-types.xml @@ -11,7 +11,7 @@ value definitions. -
+
Basic Types @@ -106,7 +106,7 @@ - + types.ints.{u8, u16, u32} @@ -131,6 +131,17 @@ + + + types.port + + + + A port number. This type is an alias to + types.ints.u16. + + + @@ -196,7 +207,7 @@
-
+
Value Types @@ -257,7 +268,7 @@
-
+
Composed Types @@ -483,7 +494,7 @@ config.mod.two = { foo = 2; bar = "two"; };
-
+
Extending types @@ -501,7 +512,7 @@ config.mod.two = { foo = 2; bar = "two"; }; 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 (). @@ -511,7 +522,7 @@ config.mod.two = { foo = 2; bar = "two"; }; byte = mkOption { description = "An integer between 0 and 255."; - type = addCheck types.int (x: x >= 0 && x <= 255); + type = types.addCheck types.int (x: x >= 0 && x <= 255); }; @@ -543,14 +554,14 @@ nixThings = mkOption {
-
+
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. diff --git a/nixos/doc/manual/development/releases.xml b/nixos/doc/manual/development/releases.xml index d4e5ff3f4312e713d3ff445e51452cab743ea908..f45fecd16c356c09ea70b33ed52be8d2d7f0cb51 100755 --- a/nixos/doc/manual/development/releases.xml +++ b/nixos/doc/manual/development/releases.xml @@ -60,13 +60,6 @@ Make sure a channel is created at http://nixos.org/channels/. - - - - Let a GitHub nixpkgs admin lock the branch on github for you. (so - developers can’t force push) - - @@ -182,6 +175,12 @@ git tag -s -a -m "Release 15.09" 15.09 + + + Update "Chapter 4. Upgrading NixOS" section of the manual to match + new stable release version. + + Update http://nixos.org/nixos/download.html and diff --git a/nixos/doc/manual/development/running-nixos-tests-interactively.xml b/nixos/doc/manual/development/running-nixos-tests-interactively.xml index 862b364a6d79b5b450d85aaed20e1aa6ad9c62b5..c15ad448317fdb60d7bdce65fe7daebdc159d49c 100644 --- a/nixos/doc/manual/development/running-nixos-tests-interactively.xml +++ b/nixos/doc/manual/development/running-nixos-tests-interactively.xml @@ -19,6 +19,7 @@ starting VDE switch for network 1 > startAll > testScript > $machine->succeed("touch /tmp/foo") +> print($machine->succeed("pwd")) # Show stdout of command The function testScript executes the entire test script and drops you back into the test driver command line upon its completion. @@ -33,8 +34,11 @@ $ nix-build nixos/tests/login.nix -A driver $ ./result/bin/nixos-run-vms The script nixos-run-vms starts the virtual machines - defined by test. The root file system of the VMs is created on the fly and - kept across VM restarts in - ./hostname.qcow2. + defined by test. + + + + The machine state is kept across VM restarts in + /tmp/vm-state-machinename.
diff --git a/nixos/doc/manual/development/writing-documentation.xml b/nixos/doc/manual/development/writing-documentation.xml index 8ecdd1c770f2dce348ceac88480e74d9d7635a15..2183937ad0daac02a154122566c5b042308b41cc 100644 --- a/nixos/doc/manual/development/writing-documentation.xml +++ b/nixos/doc/manual/development/writing-documentation.xml @@ -10,7 +10,7 @@ sources and presenting it in an accessible style would be a worthy contribution to the project. -
+
Building the Manual @@ -42,7 +42,7 @@ ./result/share/doc/nixos/index.html.
-
+
Editing DocBook XML @@ -76,7 +76,7 @@ Issue and someone will handle the conversion to XML for you.
-
+
Creating a Topic @@ -128,7 +128,7 @@
-
+
Adding a Topic to the Book diff --git a/nixos/doc/manual/development/writing-nixos-tests.xml b/nixos/doc/manual/development/writing-nixos-tests.xml index 5935fbc049bde683dacf09f14bfa2a3bf1cd4c7e..4a2615c9407b0174df5938a3891306b11e9acb22 100644 --- a/nixos/doc/manual/development/writing-nixos-tests.xml +++ b/nixos/doc/manual/development/writing-nixos-tests.xml @@ -108,7 +108,7 @@ xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/virtualis $machine->start; $machine->waitForUnit("default.target"); -$machine->succeed("uname") =~ /Linux/; +$machine->succeed("uname") =~ /Linux/ or die; The first line is actually unnecessary; machines are implicitly started when you first execute an action on them (such as waitForUnit diff --git a/nixos/doc/manual/installation/installation.xml b/nixos/doc/manual/installation/installation.xml index d4276be95d6893df24151ab1f63ecc5652c6b011..2901f462dee04ae2e51e0f59a33093602a837dbc 100644 --- a/nixos/doc/manual/installation/installation.xml +++ b/nixos/doc/manual/installation/installation.xml @@ -4,7 +4,7 @@ version="5.0" xml:id="ch-installation"> Installation - + This section describes how to obtain, install, and configure NixOS for first-time use. diff --git a/nixos/doc/manual/installation/installing-behind-a-proxy.xml b/nixos/doc/manual/installation/installing-behind-a-proxy.xml new file mode 100644 index 0000000000000000000000000000000000000000..8f9baff44b51e3d85fe0d5fcae1b75b14114f709 --- /dev/null +++ b/nixos/doc/manual/installation/installing-behind-a-proxy.xml @@ -0,0 +1,48 @@ +
+ Installing behind a proxy + + + To install NixOS behind a proxy, do the following before running + nixos-install. + + + + + + Update proxy configuration in + /mnt/etc/nixos/configuration.nix to keep the internet + accessible after reboot. + + +networking.proxy.default = "http://user:password@proxy:port/"; +networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; + + + + + Setup the proxy environment variables in the shell where you are running + nixos-install. + + +# proxy_url="http://user:password@proxy:port/" +# export http_proxy="$proxy_url" +# export HTTP_PROXY="$proxy_url" +# export https_proxy="$proxy_url" +# export HTTPS_PROXY="$proxy_url" + + + + + + + If you are switching networks with different proxy configurations, use the + nesting.clone option in + configuration.nix to switch proxies at runtime. Refer to + for more information. + + +
diff --git a/nixos/doc/manual/installation/installing-usb.xml b/nixos/doc/manual/installation/installing-usb.xml index c5934111749cf7dd75dbd9ddd181e4b2de3139b8..c0372e8ebd9bb766eed9178298657cfdba7e40e4 100644 --- a/nixos/doc/manual/installation/installing-usb.xml +++ b/nixos/doc/manual/installation/installing-usb.xml @@ -9,13 +9,12 @@ For systems without CD drive, the NixOS live CD can be booted from a USB stick. You can use the dd utility to write the image: dd if=path-to-image - of=/dev/sdb. Be careful about specifying + of=/dev/sdX. Be careful about specifying the correct drive; you can use the lsblk command to get a list of block devices. -
- - - On macOS: + + On macOS + $ diskutil list [..] @@ -24,45 +23,18 @@ $ diskutil list [..] $ diskutil unmountDisk diskN Unmount of all volumes on diskN was successful -$ sudo dd bs=1m if=nix.iso of=/dev/rdiskN +$ sudo dd if=nix.iso of=/dev/rdiskN - Using the 'raw' rdiskN device instead of - diskN completes in minutes instead of hours. After - dd completes, a GUI dialog "The disk you inserted was not - readable by this computer" will pop up, which can be ignored. + Using the 'raw' rdiskN device instead of + diskN completes in minutes instead of hours. After + dd completes, a GUI dialog "The disk you inserted was + not readable by this computer" will pop up, which can be ignored. + + The dd utility will write the image verbatim to the drive, making it the recommended option for both UEFI and non-UEFI installations. - For non-UEFI installations, you can alternatively use - unetbootin. If - you cannot use dd for a UEFI installation, you can also - mount the ISO, copy its contents verbatim to your drive, then either: - - - - Change the label of the disk partition to the label of the ISO (visible - with the blkid command), or - - - - - Edit loader/entries/nixos-livecd.conf on the drive - and change the root= field in the - options line to point to your drive (see the - documentation on root= in - - the kernel documentation for more details). - - - - - If you want to load the contents of the ISO to ram after bootin (So you - can remove the stick after bootup) you can append the parameter - copytoram to the options field. - - -
diff --git a/nixos/doc/manual/installation/installing-virtualbox-guest.xml b/nixos/doc/manual/installation/installing-virtualbox-guest.xml index da78b480f5aa90f07fbd0c8aab2ae7c92aa58972..5c86eacfbf45c509e21815a56c749a41151ab952 100644 --- a/nixos/doc/manual/installation/installing-virtualbox-guest.xml +++ b/nixos/doc/manual/installation/installing-virtualbox-guest.xml @@ -77,18 +77,22 @@ Shared folders can be given a name and a path in the host system in the VirtualBox settings (Machine / Settings / Shared Folders, then click on the "Add" icon). Add the following to the - /etc/nixos/configuration.nix to auto-mount them: + /etc/nixos/configuration.nix to auto-mount them. If you do + not add "nofail", the system will no boot properly. The + same goes for disabling rngd which is normally used to get + randomness but this does not work in virtual machines. { config, pkgs, ...} : { + security.rngd.enable = false; // otherwise vm will not boot ... fileSystems."/virtualboxshare" = { fsType = "vboxsf"; device = "nameofthesharedfolder"; - options = [ "rw" ]; + options = [ "rw" "nofail" ]; }; } diff --git a/nixos/doc/manual/installation/installing.xml b/nixos/doc/manual/installation/installing.xml index 6f8e0f613b198aa0d67d40ebc2cc1e10e7d9a1f6..9687c21a01e6c8a7c6c691bcf523aa69b2035836 100644 --- a/nixos/doc/manual/installation/installing.xml +++ b/nixos/doc/manual/installation/installing.xml @@ -4,60 +4,46 @@ version="5.0" xml:id="sec-installation"> Installing NixOS - - NixOS can be installed on BIOS or UEFI systems. The procedure for a UEFI - installation is by and large the same as a BIOS installation. The differences - are mentioned in the steps that follow. - - - - - Boot from the CD. - - - - - UEFI systems - - - - You should boot the live CD in UEFI mode (consult your specific - hardware's documentation for instructions). You may find the - rEFInd boot - manager useful. - - - - - - - - The CD contains a basic NixOS installation. (It also contains Memtest86+, - useful if you want to test new hardware). When it’s finished booting, it - should have detected most of your hardware. - - - - - The NixOS manual is available on virtual console 8 (press Alt+F8 to access) - or by running nixos-help. - - - - - You get logged in as root (with empty password). - - - - - If you downloaded the graphical ISO image, you can run systemctl - start display-manager to start KDE. If you want to continue on - the terminal, you can use loadkeys to switch to your - preferred keyboard layout. (We even provide neo2 via loadkeys de - neo!) - - - +
+ Booting the system + + + NixOS can be installed on BIOS or UEFI systems. The procedure for a UEFI + installation is by and large the same as a BIOS installation. The + differences are mentioned in the steps that follow. + + + + The installation media can be burned to a CD, or now more commonly, "burned" + to a USB drive (see ). + + + + The installation media contains a basic NixOS installation. When it’s + finished booting, it should have detected most of your hardware. + + + + The NixOS manual is available on virtual console 8 (press Alt+F8 to access) + or by running nixos-help. + + + + You are logged-in automatically as root. (The + root user account has an empty password.) + + + + If you downloaded the graphical ISO image, you can run systemctl + start display-manager to start KDE. If you want to continue on the + terminal, you can use loadkeys to switch to your + preferred keyboard layout. (We even provide neo2 via loadkeys de + neo!) + + +
+ Networking in the installer + The boot process should have brought up networking (check ip a). Networking is necessary for the installer, since it will @@ -65,58 +51,165 @@ binaries). It’s best if you have a DHCP server on your network. Otherwise configure networking manually using ifconfig. + To manually configure the network on the graphical installer, first disable - network-manager with systemctl stop network-manager. + network-manager with systemctl stop NetworkManager. + To manually configure the wifi on the minimal installer, run wpa_supplicant -B -i interface -c <(wpa_passphrase 'SSID' 'key'). - - + If you would like to continue the installation from a different machine you need to activate the SSH daemon via systemctl start sshd. In order to be able to login you also need to set a password for root using passwd. - - +
+
+
+ Partitioning and formatting + + + The NixOS installer doesn’t do any partitioning or formatting, so you need + to do that yourself. + + + + The NixOS installer ships with multiple partitioning tools. The examples + below use parted, but also provides + fdisk, gdisk, + cfdisk, and cgdisk. + + + + The recommended partition scheme differs depending if the computer uses + Legacy Boot or UEFI. + + +
+ UEFI (GPT) + - The NixOS installer doesn’t do any partitioning or formatting yet, so you - need to do that yourself. Use the following commands: - + Here's an example partition scheme for UEFI, using + /dev/sda as the device. + + + You can safely ignore parted's informational message + about needing to update /etc/fstab. + + + + + + - For partitioning: fdisk. - -# fdisk /dev/sda # (or whatever device you want to install on) --- for UEFI systems only -> n # (create a new partition for /boot) -> 3 # (make it a partition number 3) -> # (press enter to accept the default) -> +512M # (the size of the UEFI boot partition) -> t # (change the partition type ...) -> 3 # (... of the boot partition ...) -> 1 # (... to 'UEFI System') --- for BIOS or UEFI systems -> n # (create a new partition for /swap) -> 2 # (make it a partition number 2) -> # (press enter to accept the default) -> +8G # (the size of the swap partition, set to whatever you like) -> n # (create a new partition for /) -> 1 # (make it a partition number 1) -> # (press enter to accept the default) -> # (press enter to accept the default and use the rest of the remaining space) -> a # (make the partition bootable) -> x # (enter expert mode) -> f # (fix up the partition ordering) -> r # (exit expert mode) -> w # (write the partition table to disk and exit) + Create a GPT partition table. +# parted /dev/sda -- mklabel gpt + + + + + Add the root partition. This will fill the disk + except for the end part, where the swap will live, and the space left in + front (512MiB) which will be used by the boot partition. +# parted /dev/sda -- mkpart primary 512MiB -8GiB + + + + + Next, add a swap partition. The size required will + vary according to needs, here a 8GiB one is created. +# parted /dev/sda -- mkpart primary linux-swap -8GiB 100% + + + The swap partition size rules are no different than for other Linux + distributions. + + + + + + + Finally, the boot partition. NixOS by default uses + the ESP (EFI system partition) as its /boot + partition. It uses the initially reserved 512MiB at the start of the + disk. +# parted /dev/sda -- mkpart ESP fat32 1MiB 512MiB +# parted /dev/sda -- set 3 boot on + + + + + + + Once complete, you can follow with + . + +
+ +
+ Legacy Boot (MBR) + + + Here's an example partition scheme for Legacy Boot, using + /dev/sda as the device. + + + You can safely ignore parted's informational message + about needing to update /etc/fstab. + + + + + + + + + Create a MBR partition table. +# parted /dev/sda -- mklabel msdos + + + + + Add the root partition. This will fill the the disk + except for the end part, where the swap will live. +# parted /dev/sda -- mkpart primary 1MiB -8GiB + + + + + Finally, add a swap partition. The size required + will vary according to needs, here a 8GiB one is created. +# parted /dev/sda -- mkpart primary linux-swap -8GiB 100% + + + The swap partition size rules are no different than for other Linux + distributions. + + + + + + + Once complete, you can follow with + . + +
+ +
+ Formatting + + + Use the following commands: + For initialising Ext4 partitions: mkfs.ext4. It is @@ -169,242 +262,253 @@ - - - - Mount the target file system on which NixOS should be installed on - /mnt, e.g. +
+
+
+ Installing + + + + + Mount the target file system on which NixOS should be installed on + /mnt, e.g. # mount /dev/disk/by-label/nixos /mnt - - - - - - - UEFI systems - - - - Mount the boot file system on /mnt/boot, e.g. + + + + + + + UEFI systems + + + + Mount the boot file system on /mnt/boot, e.g. # mkdir -p /mnt/boot # mount /dev/disk/by-label/boot /mnt/boot - - - - - - - - If your machine has a limited amount of memory, you may want to activate - swap devices now (swapon - device). The installer (or rather, the - build actions that it may spawn) may need quite a bit of RAM, depending on - your configuration. + + + + + + + + If your machine has a limited amount of memory, you may want to activate + swap devices now (swapon + device). The installer (or rather, + the build actions that it may spawn) may need quite a bit of RAM, + depending on your configuration. # swapon /dev/sda2 - - - - - You now need to create a file - /mnt/etc/nixos/configuration.nix that specifies the - intended configuration of the system. This is because NixOS has a - declarative configuration model: you create or edit a - description of the desired configuration of your system, and then NixOS - takes care of making it happen. The syntax of the NixOS configuration file - is described in , while a list of - available configuration options appears in - + + + + You now need to create a file + /mnt/etc/nixos/configuration.nix that specifies the + intended configuration of the system. This is because NixOS has a + declarative configuration model: you create or edit a + description of the desired configuration of your system, and then NixOS + takes care of making it happen. The syntax of the NixOS configuration file + is described in , while a list + of available configuration options appears in + . A minimal example is shown in - . - - - The command nixos-generate-config can generate an - initial configuration file for you: + + + The command nixos-generate-config can generate an + initial configuration file for you: # nixos-generate-config --root /mnt - You should then edit /mnt/etc/nixos/configuration.nix - to suit your needs: + You should then edit /mnt/etc/nixos/configuration.nix + to suit your needs: # nano /mnt/etc/nixos/configuration.nix - If you’re using the graphical ISO image, other editors may be available - (such as vim). If you have network access, you can also - install other editors — for instance, you can install Emacs by running - nix-env -i emacs. - - - - - BIOS systems - - - - You must set the option - to specify on which disk - the GRUB boot loader is to be installed. Without it, NixOS cannot boot. - - - - - - UEFI systems - - - - You must set the option - to - true. nixos-generate-config should - do this automatically for new configurations when booted in UEFI mode. - - - You may want to look at the options starting with - - and - - as well. - - - - - - If there are other operating systems running on the machine before - installing NixOS, the - option can be set to true to automatically add them to - the grub menu. - - - Another critical option is , specifying the - file systems that need to be mounted by NixOS. However, you typically - don’t need to set it yourself, because - nixos-generate-config sets it automatically in - /mnt/etc/nixos/hardware-configuration.nix from your - currently mounted file systems. (The configuration file - hardware-configuration.nix is included from - configuration.nix and will be overwritten by future - invocations of nixos-generate-config; thus, you - generally should not modify it.) - - + If you’re using the graphical ISO image, other editors may be available + (such as vim). If you have network access, you can also + install other editors — for instance, you can install Emacs by running + nix-env -i emacs. + + + + + BIOS systems + + + + You must set the option + to specify on which disk + the GRUB boot loader is to be installed. Without it, NixOS cannot boot. + + + + + + UEFI systems + + + + You must set the option + to + true. nixos-generate-config + should do this automatically for new configurations when booted in UEFI + mode. + + + You may want to look at the options starting with + + and + + as well. + + + + - Depending on your hardware configuration or type of file system, you may - need to set the option to - include the kernel modules that are necessary for mounting the root file - system, otherwise the installed system will not be able to boot. (If this - happens, boot from the CD again, mount the target file system on - /mnt, fix - /mnt/etc/nixos/configuration.nix and rerun - nixos-install.) In most cases, - nixos-generate-config will figure out the required - modules. + If there are other operating systems running on the machine before + installing NixOS, the + option can be set to true to automatically add them to + the grub menu. - - - - - Do the installation: + + If you need to configure networking for your machine the configuration + options are described in . + + + Another critical option is , specifying the + file systems that need to be mounted by NixOS. However, you typically + don’t need to set it yourself, because + nixos-generate-config sets it automatically in + /mnt/etc/nixos/hardware-configuration.nix from your + currently mounted file systems. (The configuration file + hardware-configuration.nix is included from + configuration.nix and will be overwritten by future + invocations of nixos-generate-config; thus, you + generally should not modify it.) + + + + Depending on your hardware configuration or type of file system, you may + need to set the option to + include the kernel modules that are necessary for mounting the root file + system, otherwise the installed system will not be able to boot. (If this + happens, boot from the installation media again, mount the target file + system on /mnt, fix + /mnt/etc/nixos/configuration.nix and rerun + nixos-install.) In most cases, + nixos-generate-config will figure out the required + modules. + + + + + + Do the installation: # nixos-install - Cross fingers. If this fails due to a temporary problem (such as a network - issue while downloading binaries from the NixOS binary cache), you can just - re-run nixos-install. Otherwise, fix your - configuration.nix and then re-run - nixos-install. - - - As the last step, nixos-install will ask you to set the - password for the root user, e.g. + Cross fingers. If this fails due to a temporary problem (such as a network + issue while downloading binaries from the NixOS binary cache), you can + just re-run nixos-install. Otherwise, fix your + configuration.nix and then re-run + nixos-install. + + + As the last step, nixos-install will ask you to set the + password for the root user, e.g. setting root password... Enter new UNIX password: *** -Retype new UNIX password: *** - - - - For unattended installations, it is possible to use - nixos-install --no-root-passwd - in order to disable the password prompt entirely. - - - - - - - If everything went well: +Retype new UNIX password: *** + + + For unattended installations, it is possible to use + nixos-install --no-root-passwd in order to disable + the password prompt entirely. + + + + + + + If everything went well: - # reboot - - - - - You should now be able to boot into the installed NixOS. The GRUB boot menu - shows a list of available configurations (initially - just one). Every time you change the NixOS configuration (see - + + + + + You should now be able to boot into the installed NixOS. The GRUB boot + menu shows a list of available configurations + (initially just one). Every time you change the NixOS configuration (see + Changing Configuration - ), a new item is added to the menu. This allows you to easily roll back to - a previous configuration if something goes wrong. - - - You should log in and change the root password with - passwd. - - - You’ll probably want to create some user accounts as well, which can be - done with useradd: + ), a new item is added to the menu. This allows you to easily roll back to + a previous configuration if something goes wrong. + + + You should log in and change the root password with + passwd. + + + You’ll probably want to create some user accounts as well, which can be + done with useradd: $ useradd -c 'Eelco Dolstra' -m eelco $ passwd eelco - - - You may also want to install some software. For instance, + + + You may also want to install some software. For instance, $ nix-env -qa \* - shows what packages are available, and + shows what packages are available, and $ nix-env -i w3m - install the w3m browser. - - - - - To summarise, shows a typical sequence - of commands for installing NixOS on an empty hard drive (here - /dev/sda). w3m browser. + + + +
+
+ Installation summary + + + To summarise, shows a typical + sequence of commands for installing NixOS on an empty hard drive (here + /dev/sda). shows a - corresponding configuration Nix expression. - - - Commands for Installing NixOS on <filename>/dev/sda</filename> - -# fdisk /dev/sda # (or whatever device you want to install on) --- for UEFI systems only -> n # (create a new partition for /boot) -> 3 # (make it a partition number 3) -> # (press enter to accept the default) -> +512M # (the size of the UEFI boot partition) -> t # (change the partition type ...) -> 3 # (... of the boot partition ...) -> 1 # (... to 'UEFI System') --- for BIOS or UEFI systems -> n # (create a new partition for /swap) -> 2 # (make it a partition number 2) -> # (press enter to accept the default) -> +8G # (the size of the swap partition) -> n # (create a new partition for /) -> 1 # (make it a partition number 1) -> # (press enter to accept the default) -> # (press enter to accept the default and use the rest of the remaining space) -> a # (make the partition bootable) -> x # (enter expert mode) -> f # (fix up the partition ordering) -> r # (exit expert mode) -> w # (write the partition table to disk and exit) + corresponding configuration Nix expression. + + + + Example partition schemes for NixOS on <filename>/dev/sda</filename> (MBR) + +# parted /dev/sda -- mklabel msdos +# parted /dev/sda -- mkpart primary 1MiB -8GiB +# parted /dev/sda -- mkpart primary linux-swap -8GiB 100% + + + + Example partition schemes for NixOS on <filename>/dev/sda</filename> (UEFI) + +# parted /dev/sda -- mklabel gpt +# parted /dev/sda -- mkpart primary 512MiB -8GiB +# parted /dev/sda -- mkpart primary linux-swap -8GiB 100% +# parted /dev/sda -- mkpart ESP fat32 1MiB 512MiB +# parted /dev/sda -- set 3 boot on + + + + Commands for Installing NixOS on <filename>/dev/sda</filename> + + With a partitioned disk. + # mkfs.ext4 -L nixos /dev/sda1 # mkswap -L swap /dev/sda2 # swapon /dev/sda2 @@ -416,9 +520,11 @@ $ nix-env -i w3m # nano /mnt/etc/nixos/configuration.nix # nixos-install # reboot - - - NixOS Configuration + + + + + NixOS Configuration { config, pkgs, ... }: { imports = [ @@ -438,9 +544,19 @@ $ nix-env -i w3m services.sshd.enable = true; } - - - - - + +
+
+ Additional installation notes + + + + + + + + + + +
diff --git a/nixos/doc/manual/installation/upgrading.xml b/nixos/doc/manual/installation/upgrading.xml index 20355812ec635e32ce6f10e84f3ace3d7e0ba004..35b4d266e12efa5c29e33f30e680d99d51aaedc8 100644 --- a/nixos/doc/manual/installation/upgrading.xml +++ b/nixos/doc/manual/installation/upgrading.xml @@ -14,11 +14,11 @@ Stable channels, such as nixos-17.03. + xlink:href="https://nixos.org/channels/nixos-19.03">nixos-19.03. These only get conservative bug fixes and package upgrades. For instance, a channel update may cause the Linux kernel on your system to be upgraded - from 4.9.16 to 4.9.17 (a minor bug fix), but not from - 4.9.x to 4.11.x (a + from 4.19.34 to 4.19.38 (a minor bug fix), but not from + 4.19.x to 4.20.x (a major change that has the potential to break things). Stable channels are generally maintained until the next stable branch is created. @@ -38,7 +38,7 @@ Small channels, such as nixos-17.03-small + xlink:href="https://nixos.org/channels/nixos-19.03-small">nixos-19.03-small or nixos-unstable-small. @@ -52,16 +52,19 @@
To see what channels are available, go to - . (Note that the URIs of the + . (Note that the URIs of the various channels redirect to a directory that contains the channel’s latest - version and includes ISO images and VirtualBox appliances.) + version and includes ISO images and VirtualBox appliances.) Please note that + during the release process, channels that are not yet released will be + present here as well. See the Getting NixOS page + to find the newest + supported stable release. When you first install NixOS, you’re automatically subscribed to the NixOS channel that corresponds to your installation source. For instance, if you - installed from a 17.03 ISO, you will be subscribed to the - nixos-17.03 channel. To see which NixOS channel you’re + installed from a 19.03 ISO, you will be subscribed to the + nixos-19.03 channel. To see which NixOS channel you’re subscribed to, run the following as root: # nix-channel --list | grep nixos @@ -72,13 +75,13 @@ nixos https://nixos.org/channels/nixos-unstable # nix-channel --add https://nixos.org/channels/channel-name nixos (Be sure to include the nixos parameter at the end.) For - instance, to use the NixOS 17.03 stable channel: + instance, to use the NixOS 19.03 stable channel: -# nix-channel --add https://nixos.org/channels/nixos-17.03 nixos +# nix-channel --add https://nixos.org/channels/nixos-19.03 nixos If you have a server, you may want to use the “small” channel instead: -# nix-channel --add https://nixos.org/channels/nixos-17.03-small nixos +# nix-channel --add https://nixos.org/channels/nixos-19.03-small nixos And if you want to live on the bleeding edge: @@ -109,7 +112,7 @@ nixos https://nixos.org/channels/nixos-unstable so in that case you will not be able to go back to your original channel. -
+
Automatic Upgrades @@ -124,7 +127,7 @@ nixos https://nixos.org/channels/nixos-unstable current channel. (To see when the service runs, see systemctl list-timers.) You can also specify a channel explicitly, e.g. - = https://nixos.org/channels/nixos-17.03; + = https://nixos.org/channels/nixos-19.03;
diff --git a/nixos/doc/manual/man-nixos-build-vms.xml b/nixos/doc/manual/man-nixos-build-vms.xml index 87e4f3dae869072658a6dbd32d4b427d880920a0..7d6e04e0dd90bbf056bb6070adcc71989cc6a0b6 100644 --- a/nixos/doc/manual/man-nixos-build-vms.xml +++ b/nixos/doc/manual/man-nixos-build-vms.xml @@ -24,8 +24,14 @@ - - + + + + + name + value + + network.nix @@ -115,6 +121,18 @@ + + + name value + + + Set the Nix configuration option + name to value. + This overrides settings in the Nix configuration file (see + nix.conf5). + + + diff --git a/nixos/doc/manual/man-nixos-generate-config.xml b/nixos/doc/manual/man-nixos-generate-config.xml index 1227873f57800b34baad489ca43c58418db24b67..160ada9fff315da5b1a98752d2b52898352fe4ed 100644 --- a/nixos/doc/manual/man-nixos-generate-config.xml +++ b/nixos/doc/manual/man-nixos-generate-config.xml @@ -167,7 +167,7 @@ $ nixos-generate-config --root /mnt { imports = - [ <nixos/modules/installer/scan/not-detected.nix> + [ <nixos/modules/installer/scan/not-detected.nix> ]; boot.initrd.availableKernelModules = [ "ehci_hcd" "ahci" ]; diff --git a/nixos/doc/manual/man-nixos-rebuild.xml b/nixos/doc/manual/man-nixos-rebuild.xml index 551a65f5e96beebc770d1c9b8fd9b41e941323d1..0b0c0b8f6ea293a75436a6a5b153a7e0ef9de5b7 100644 --- a/nixos/doc/manual/man-nixos-rebuild.xml +++ b/nixos/doc/manual/man-nixos-rebuild.xml @@ -38,6 +38,10 @@ + + + + @@ -66,6 +70,10 @@ + + + builder-spec + @@ -184,6 +192,16 @@ $ nix-build /path/to/nixpkgs/nixos -A system + + + + + + + Opens configuration.nix in the default editor. + + + @@ -315,6 +333,25 @@ $ ./result/bin/run-*-vm + + + builder-spec + + + + Allow ad-hoc remote builders for building the new system. This requires + the user executing nixos-rebuild (usually root) to be + configured as a trusted user in the Nix daemon. This can be achieved by + using the nix.trustedUsers NixOS option. Examples + values for that option are described in the Remote builds + chapter in the Nix manual, (i.e. --builders + "ssh://bigbrother x86_64-linux"). By specifying an empty string + existing builders specified in /etc/nix/machines can + be ignored: --builders "" for example when they are + not reachable due to network connectivity. + + + diff --git a/nixos/doc/manual/manual.xml b/nixos/doc/manual/manual.xml index 61b21203f5006b27e8a4a28f39960ae8c777bd23..12f52e1997c8d207e0414218e2aaa1aff243daa3 100644 --- a/nixos/doc/manual/manual.xml +++ b/nixos/doc/manual/manual.xml @@ -8,7 +8,7 @@ Version - + Preface This manual describes how to install, use and extend NixOS, a Linux @@ -17,8 +17,8 @@ If you encounter problems, please report them on the nix-devel - mailing list or on the Discourse or + on the #nixos channel on Freenode. Bugs should be reported in diff --git a/nixos/doc/manual/options-to-docbook.xsl b/nixos/doc/manual/options-to-docbook.xsl index 43a69806a2b0fd27ff6c36b12353446ad11d8513..72ac89d4ff62ccc3c90afe783acd5495052a5e6d 100644 --- a/nixos/doc/manual/options-to-docbook.xsl +++ b/nixos/doc/manual/options-to-docbook.xsl @@ -4,6 +4,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:str="http://exslt.org/strings" xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:nixos="tag:nixos.org" xmlns="http://docbook.org/ns/docbook" extension-element-prefixes="str" > @@ -15,7 +16,7 @@ - + Configuration Options @@ -30,10 +31,12 @@ - - - + + + + + diff --git a/nixos/doc/manual/postprocess-option-descriptions.xsl b/nixos/doc/manual/postprocess-option-descriptions.xsl new file mode 100644 index 0000000000000000000000000000000000000000..1201c7612c2edb5722c58b85fb104a789eb509d8 --- /dev/null +++ b/nixos/doc/manual/postprocess-option-descriptions.xsl @@ -0,0 +1,115 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/nixos/doc/manual/release-notes/release-notes.xml b/nixos/doc/manual/release-notes/release-notes.xml index 94f176186b6e0abacb766793b198ba85137a0031..02b5914772143cdaf8f28b4049f29c10c9448363 100644 --- a/nixos/doc/manual/release-notes/release-notes.xml +++ b/nixos/doc/manual/release-notes/release-notes.xml @@ -8,6 +8,8 @@ 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-1412.xml b/nixos/doc/manual/release-notes/rl-1412.xml index 4d93aa644c1d6fdf205237a1e41f8afeba8d395b..139f61c2a5509fe0d66e188eba3fc8e5ac253721 100644 --- a/nixos/doc/manual/release-notes/rl-1412.xml +++ b/nixos/doc/manual/release-notes/rl-1412.xml @@ -17,7 +17,7 @@ - + Nix has been updated to 1.8. diff --git a/nixos/doc/manual/release-notes/rl-1509.xml b/nixos/doc/manual/release-notes/rl-1509.xml index 4eb2f9aa0a95687ec4589e31d3ed754859990a22..e500c9d634224224cbe9a376efe8a03296591ee8 100644 --- a/nixos/doc/manual/release-notes/rl-1509.xml +++ b/nixos/doc/manual/release-notes/rl-1509.xml @@ -435,11 +435,11 @@ system.autoUpgrade.enable = true; system.stateVersion = "14.12"; - The new option ensures that - certain configuration changes that could break existing systems (such as - the sshd host key setting) will maintain compatibility - with the specified NixOS release. NixOps sets the state version of - existing deployments automatically. + The new option ensures that certain + configuration changes that could break existing systems (such as the + sshd host key setting) will maintain compatibility with + the specified NixOS release. NixOps sets the state version of existing + deployments automatically. diff --git a/nixos/doc/manual/release-notes/rl-1809.xml b/nixos/doc/manual/release-notes/rl-1809.xml index d831f851446620a57eb1ceb46d983f2007ba9960..3f10b26223ddcc2702eb65918f0ab07035f71b0c 100644 --- a/nixos/doc/manual/release-notes/rl-1809.xml +++ b/nixos/doc/manual/release-notes/rl-1809.xml @@ -3,7 +3,7 @@ xmlns:xi="http://www.w3.org/2001/XInclude" version="5.0" xml:id="sec-release-18.09"> - Release 18.09 (“Jellyfish”, 2018/09/??) + Release 18.09 (“Jellyfish”, 2018/10/05)
In addition to numerous new and upgraded packages, this release has the - following highlights: + following notable updates: - - Support for wrapping binaries using firejail has been - added through programs.firejail.wrappedBinaries. - - - For example - + + End of support is planned for end of April 2019, handing over to 19.03. + + + + + Platform support: x86_64-linux and x86_64-darwin as always. Support for + aarch64-linux is as with the previous releases, not equivalent to the + x86-64-linux release, but with efforts to reach parity. + + + + + Nix has been updated to 2.1; see its + release + notes. + + + + + Core versions: linux: 4.14 LTS (unchanged), glibc: 2.26 → 2.27, gcc: 7 + (unchanged), systemd: 237 → 239. + + + + + Desktop version changes: gnome: 3.26 → 3.28, (KDE) plasma-desktop: 5.12 + → 5.13. + + + + + + Notable changes and additions for 18.09 include: + + + + + + Support for wrapping binaries using firejail has been + added through programs.firejail.wrappedBinaries. + + + For example + programs.firejail = { enable = true; @@ -35,9 +73,10 @@ programs.firejail = { }; }; - - This will place firefox and mpv binaries in the global path wrapped by firejail. - + + This will place firefox and mpv + binaries in the global path wrapped by firejail. + @@ -69,46 +108,355 @@ $ nix-instantiate -E '(import <nixpkgsunstable> {}).gitFull' New Services - The following new services were added since the last release: + A curated selection of new services that were added since the last release: - The services.cassandra module has been reworked and - was rewritten from scratch. The service has succeeding tests for - the versions 2.1, 2.2, 3.0 and 3.11 of Apache Cassandra. + The services.cassandra module has been reworked and was + rewritten from scratch. The service has succeeding tests for the versions + 2.1, 2.2, 3.0 and 3.11 of + Apache + Cassandra. - There is a new services.foundationdb module for deploying - FoundationDB clusters. + There is a new services.foundationdb module for + deploying + FoundationDB + clusters. When enabled the iproute2 will copy the files expected by ip route (e.g., rt_tables) in - /run/iproute2. This allows to write aliases for + /etc/iproute2. This allows to write aliases for routing tables for instance. - services.strongswan-swanctl - is a modern replacement for services.strongswan. - You can use either one of them to setup IPsec VPNs but not both at the same time. + services.strongswan-swanctl is a modern replacement for + services.strongswan. You can use either one of them to + setup IPsec VPNs but not both at the same time. - services.strongswan-swanctl uses the - swanctl - command which uses the modern - vici - Versatile IKE Configuration Interface. - The deprecated ipsec command used in services.strongswan is using the legacy - stroke configuration interface. + services.strongswan-swanctl uses the + swanctl + command which uses the modern + vici + Versatile IKE Configuration Interface. The deprecated + ipsec command used in + services.strongswan is using the legacy + stroke + configuration interface. + + + + + The new services.elasticsearch-curator service + periodically curates or manages, your Elasticsearch indices and snapshots. + + + + + + Every new services: + + + + + + ./config/xdg/autostart.nix + + + + + ./config/xdg/icons.nix + + + + + ./config/xdg/menus.nix + + + + + ./config/xdg/mime.nix + + + + + ./hardware/brightnessctl.nix + + + + + ./hardware/onlykey.nix + + + + + ./hardware/video/uvcvideo/default.nix + + + + + ./misc/documentation.nix + + + + + ./programs/firejail.nix + + + + + ./programs/iftop.nix + + + + + ./programs/sedutil.nix + + + + + ./programs/singularity.nix + + + + + ./programs/xss-lock.nix + + + + + ./programs/zsh/zsh-autosuggestions.nix + + + + + ./services/admin/oxidized.nix + + + + + ./services/backup/duplicati.nix + + + + + ./services/backup/restic.nix + + + + + ./services/backup/restic-rest-server.nix + + + + + ./services/cluster/hadoop/default.nix + + + + + ./services/databases/aerospike.nix + + + + + ./services/databases/monetdb.nix + + + + + ./services/desktops/bamf.nix + + + + + ./services/desktops/flatpak.nix + + + + + ./services/desktops/zeitgeist.nix + + + + + ./services/development/bloop.nix + + + + + ./services/development/jupyter/default.nix + + + + + ./services/hardware/lcd.nix + + + + + ./services/hardware/undervolt.nix + + + + + ./services/misc/clipmenu.nix + + + + + ./services/misc/gitweb.nix + + + + + ./services/misc/serviio.nix + + + + + ./services/misc/safeeyes.nix + + + + + ./services/misc/sysprof.nix + + + + + ./services/misc/weechat.nix + + + + + ./services/monitoring/datadog-agent.nix + + + + + ./services/monitoring/incron.nix + + + + + ./services/networking/dnsdist.nix + + + + + ./services/networking/freeradius.nix + + + + + ./services/networking/hans.nix + + + + + ./services/networking/morty.nix + + + + + ./services/networking/ndppd.nix + + + + + ./services/networking/ocserv.nix + + + + + ./services/networking/owamp.nix + + + + + ./services/networking/quagga.nix + + + + + ./services/networking/shadowsocks.nix + + + + + ./services/networking/stubby.nix + + + + + ./services/networking/zeronet.nix + + + + + ./services/security/certmgr.nix + + + + + ./services/security/cfssl.nix + + + + + ./services/security/oauth2_proxy_nginx.nix + + + + + ./services/web-apps/virtlyst.nix + + + + + ./services/web-apps/youtrack.nix + + + + + ./services/web-servers/hitch/default.nix + + + + + ./services/web-servers/hydron.nix + + + + + ./services/web-servers/meguca.nix + + + + + ./services/web-servers/nginx/gitweb.nix + + + + + ./virtualisation/kvmgt.nix + + + + + ./virtualisation/qemu-guest-agent.nix @@ -129,8 +477,50 @@ $ nix-instantiate -E '(import <nixpkgsunstable> {}).gitFull' - The deprecated services.cassandra module has - seen a complete rewrite. (See above.) + Some licenses that were incorrectly not marked as unfree now are. This is + the case for: + + + + cc-by-nc-sa-20: Creative Commons Attribution Non Commercial Share Alike + 2.0 + + + + + cc-by-nc-sa-25: Creative Commons Attribution Non Commercial Share Alike + 2.5 + + + + + cc-by-nc-sa-30: Creative Commons Attribution Non Commercial Share Alike + 3.0 + + + + + cc-by-nc-sa-40: Creative Commons Attribution Non Commercial Share Alike + 4.0 + + + + + cc-by-nd-30: Creative Commons Attribution-No Derivative Works v3.00 + + + + + msrla: Microsoft Research License Agreement + + + + + + + + The deprecated services.cassandra module has seen a + complete rewrite. (See above.) @@ -180,24 +570,77 @@ $ nix-instantiate -E '(import <nixpkgsunstable> {}).gitFull' - services.munge now runs as user (and group) munge instead of root. - Make sure the key file is accessible to the daemon. + services.munge now runs as user (and group) + munge instead of root. Make sure the key file is + accessible to the daemon. + + + + + dockerTools.buildImage now uses null + as default value for tag, which indicates that the nix + output hash will be used as tag. + + + + + The ELK stack: elasticsearch, + logstash and kibana has been + upgraded from 2.* to 6.3.*. The 2.* versions have been + unsupported since + last year so they have been removed. You can still use the 5.* + versions under the names elasticsearch5, + logstash5 and kibana5. + + + The elastic beats: filebeat, + heartbeat, metricbeat and + packetbeat have had the same treatment: they now target + 6.3.* as well. The 5.* versions are available under the names: + filebeat5, heartbeat5, + metricbeat5 and packetbeat5 + + + The ELK-6.3 stack now comes with + X-Pack by + default. Since X-Pack is licensed under the + Elastic + License the ELK packages now have an unfree license. To use them + you need to specify allowUnfree = true; in your nixpkgs + configuration. + + + Fortunately there is also a free variant of the ELK stack without X-Pack. + The packages are available under the names: + elasticsearch-oss, logstash-oss and + kibana-oss. + + + + + Options + boot.initrd.luks.devices.name.yubikey.ramfsMountPoint + boot.initrd.luks.devices.name.yubikey.storage.mountPoint + were removed. luksroot.nix module never supported more + than one YubiKey at a time anyway, hence those options never had any + effect. You should be able to remove them from your config without any + issues. - dockerTools.buildImage now uses null as default value for tag, - which indicates that the nix output hash will be used as tag. + stdenv.system and system in nixpkgs + now refer to the host platform instead of the build platform. For native + builds this is not change, let alone a breaking one. For cross builds, it + is a breaking change, and stdenv.buildPlatform.system + can be used instead for the old behavior. They should be using that + anyways for clarity. - Options - boot.initrd.luks.devices.name.yubikey.ramfsMountPoint - boot.initrd.luks.devices.name.yubikey.storage.mountPoint - were removed. luksroot.nix module never supported more than one YubiKey at - a time anyway, hence those options never had any effect. You should be able to remove them - from your config without any issues. + Groups kvm and render are introduced + now, as systemd requires them. @@ -251,26 +694,33 @@ $ nix-instantiate -E '(import <nixpkgsunstable> {}).gitFull' - The pkgs argument to NixOS modules can now be set directly using nixpkgs.pkgs. Previously, only the system, config and overlays arguments could be used to influence pkgs. + The pkgs argument to NixOS modules can now be set + directly using nixpkgs.pkgs. Previously, only the + system, config and + overlays arguments could be used to influence + pkgs. - A NixOS system can now be constructed more easily based on a preexisting invocation of Nixpkgs. For example: - + A NixOS system can now be constructed more easily based on a preexisting + invocation of Nixpkgs. For example: + inherit (pkgs.nixos { boot.loader.grub.enable = false; fileSystems."/".device = "/dev/xvda1"; }) toplevel kernel initialRamdisk manual; - - This benefits evaluation performance, lets you write Nixpkgs packages that depend on NixOS images and is consistent with a deployment architecture that would be centered around Nixpkgs overlays. + This benefits evaluation performance, lets you write Nixpkgs packages that + depend on NixOS images and is consistent with a deployment architecture + that would be centered around Nixpkgs overlays. - lib.traceValIfNot has been deprecated. Use - if/then/else and lib.traceValSeq instead. + lib.traceValIfNot has been deprecated. Use + if/then/else and lib.traceValSeq + instead. @@ -289,9 +739,9 @@ inherit (pkgs.nixos { - lib.recursiveUpdateUntil was not acting according to its - specification. It has been fixed to act according to the docstring, and a - test has been added. + lib.recursiveUpdateUntil was not acting according to + its specification. It has been fixed to act according to the docstring, + and a test has been added. @@ -360,6 +810,14 @@ inherit (pkgs.nixos { deprecated. Use networking.networkmanager.dns instead. + + + The Kubernetes package has been bumped to major version 1.11. Please + consult the + release + notes for details on new features and api changes. + + The option @@ -377,8 +835,8 @@ inherit (pkgs.nixos { - The option services.kubernetes.apiserver.address - was renamed to services.kubernetes.apiserver.bindAddress. + The option services.kubernetes.apiserver.address was + renamed to services.kubernetes.apiserver.bindAddress. Note that the default value has changed from 127.0.0.1 to 0.0.0.0. @@ -390,47 +848,86 @@ inherit (pkgs.nixos { - The option services.kubernetes.addons.dashboard.enableRBAC - was renamed to services.kubernetes.addons.dashboard.rbac.enable. + The option + services.kubernetes.addons.dashboard.enableRBAC was + renamed to + services.kubernetes.addons.dashboard.rbac.enable. The Kubernetes Dashboard now has only minimal RBAC permissions by default. - If dashboard cluster-admin rights are desired, - set services.kubernetes.addons.dashboard.rbac.clusterAdmin to true. - On existing clusters, in order for the revocation of privileges to take effect, - the current ClusterRoleBinding for kubernetes-dashboard must be manually removed: - kubectl delete clusterrolebinding kubernetes-dashboard + If dashboard cluster-admin rights are desired, set + services.kubernetes.addons.dashboard.rbac.clusterAdmin + to true. On existing clusters, in order for the revocation of privileges + to take effect, the current ClusterRoleBinding for kubernetes-dashboard + must be manually removed: kubectl delete clusterrolebinding + kubernetes-dashboard The programs.screen module provides allows to configure - /etc/screenrc, however the module behaved fairly counterintuitive as - the config exists, but the package wasn't available. Since 18.09 pkgs.screen - will be added to environment.systemPackages. + /etc/screenrc, however the module behaved fairly + counterintuitive as the config exists, but the package wasn't available. + Since 18.09 pkgs.screen will be added to + environment.systemPackages. + + + + + The module now uses WPA2 by + default. + + + + + s6Dns, s6Networking, + s6LinuxUtils and s6PortableUtils + renamed to s6-dns, s6-networking, + s6-linux-utils and s6-portable-utils + respectively. - The module now uses WPA2 by default. + The module option is now defaulted to + true. - s6Dns, s6Networking, - s6LinuxUtils and s6PortableUtils - renamed to - s6-dns, s6-networking, - s6-linux-utils and s6-portable-utils respectively. + The config activation script of nixos-rebuild now + reloads + all user units for each authenticated user. - - + + + + The default display manager is now LightDM. To use SLiM set + services.xserver.displayManager.slim.enable to + true. + + + - The module option is now defaulted to true. + NixOS option descriptions are now automatically broken up into individual + paragraphs if the text contains two consecutive newlines, so it's no + longer necessary to use </para><para> to start a + new paragraph. - + + + + Top-level buildPlatform, + hostPlatform, and targetPlatform in + Nixpkgs are deprecated. Please use their equivalents in + stdenv instead: + stdenv.buildPlatform, + stdenv.hostPlatform, and + stdenv.targetPlatform. + +
diff --git a/nixos/doc/manual/release-notes/rl-1903.xml b/nixos/doc/manual/release-notes/rl-1903.xml new file mode 100644 index 0000000000000000000000000000000000000000..e9c6cd7e9acbb4b4f389324edefb3f4d0240c5b4 --- /dev/null +++ b/nixos/doc/manual/release-notes/rl-1903.xml @@ -0,0 +1,763 @@ +
+ Release 19.03 (“Koi”, 2019/03/??) + +
+ Highlights + + + In addition to numerous new and upgraded packages, this release has the + following highlights: + + + + + + The default Python 3 interpreter is now CPython 3.7 instead of CPython + 3.6. + + + + + Added the Pantheon desktop environment. It can be enabled through + services.xserver.desktopManager.pantheon.enable. + + + + By default, services.xserver.desktopManager.pantheon + enables LightDM as a display manager, as pantheon's screen locking + implementation relies on it. + + + Because of that it is recommended to leave LightDM enabled. If you'd like + to disable it anyway, set + to + false and enable your preferred display manager. + + + + Also note that Pantheon's LightDM greeter is not enabled by default, + because it has numerous issues in NixOS and isn't optimal for use here + yet. + + + + + A major refactoring of the Kubernetes module has been completed. + Refactorings primarily focus on decoupling components and enhancing + security. Two-way TLS and RBAC has been enabled by default for all + components, which slightly changes the way the module is configured. See: + for details. + + + + + There is now a set of options for + , which allows to restrict services + into a + chroot + 2 + ed environment that only contains the store paths from + the runtime closure of the service. + + + +
+ +
+ New Services + + + The following new services were added since the last release: + + + + + + ./programs/nm-applet.nix + + + + + There is a new security.googleOsLogin module for using + OS + Login to manage SSH access to Google Compute Engine instances, + which supersedes the imperative and broken + google-accounts-daemon used in + nixos/modules/virtualisation/google-compute-config.nix. + + + + + ./services/misc/beanstalkd.nix + + + + + There is a new services.cockroachdb module for running + CockroachDB databases. NixOS now ships with CockroachDB 2.1.x as well, + available on x86_64-linux and + aarch64-linux. + + + + + + + + ./security/duosec.nix + + + + + The PAM module for Duo + Security has been enabled for use. One can configure it using the + options along with the corresponding PAM + option in + . + + + +
+ +
+ Backward Incompatibilities + + + When upgrading from a previous release, please be aware of the following + incompatible changes: + + + + + + The minimum version of Nix required to evaluate Nixpkgs is now 2.0. + + + + + For users of NixOS 18.03 and 19.03, NixOS defaults to Nix 2.0, but + supports using Nix 1.11 by setting nix.package = + pkgs.nix1;. If this option is set to a Nix 1.11 package, you + will need to either unset the option or upgrade it to Nix 2.0. + + + + + For users of NixOS 17.09, you will first need to upgrade Nix by setting + nix.package = pkgs.nixStable2; and run + nixos-rebuild switch as the root + user. + + + + + For users of a daemon-less Nix installation on Linux or macOS, you can + upgrade Nix by running curl https://nixos.org/nix/install | + sh, or prior to doing a channel update, running + nix-env -iA nix. + + + If you have already run a channel update and Nix is no longer able to + evaluate Nixpkgs, the error message printed should provide adequate + directions for upgrading Nix. + + + + + For users of the Nix daemon on macOS, you can upgrade Nix by running + sudo -i sh -c 'nix-channel --update && nix-env -iA + nixpkgs.nix'; sudo launchctl stop org.nixos.nix-daemon; sudo launchctl + start org.nixos.nix-daemon. + + + + + + + The buildPythonPackage function now sets + strictDeps = true to help distinguish between native + and non-native dependencies in order to improve cross-compilation + compatibility. Note however that this may break user expressions. + + + + + The buildPythonPackage function now sets LANG + = C.UTF-8 to enable Unicode support. The + glibcLocales package is no longer needed as a build + input. + + + + + The Syncthing state and configuration data has been moved from + services.syncthing.dataDir to the newly defined + services.syncthing.configDir, which default to + /var/lib/syncthing/.config/syncthing. This change makes + possible to share synced directories using ACLs without Syncthing + resetting the permission on every start. + + + + + The ntp module now has sane default restrictions. If + you're relying on the previous defaults, which permitted all queries and + commands from all firewall-permitted sources, you can set + services.ntp.restrictDefault and + services.ntp.restrictSource to []. + + + + + Package rabbitmq_server is renamed to + rabbitmq-server. + + + + + The light module no longer uses setuid binaries, but + udev rules. As a consequence users of that module have to belong to the + video group in order to use the executable (i.e. + users.users.yourusername.extraGroups = ["video"];). + + + + + Buildbot now supports Python 3 and its packages have been moved to + pythonPackages. The options + and + can be used to select + the Python 2 or 3 version of the package. + + + + + Options + services.znc.confOptions.networks.name.userName + and + services.znc.confOptions.networks.name.modulePackages + were removed. They were never used for anything and can therefore safely + be removed. + + + + + Package wasm has been renamed + proglodyte-wasm. The package wasm + will be pointed to ocamlPackages.wasm in 19.09, so make + sure to update your configuration if you want to keep + proglodyte-wasm + + + + + When the nixpkgs.pkgs option is set, NixOS will no + longer ignore the nixpkgs.overlays option. The old + behavior can be recovered by setting nixpkgs.overlays = + lib.mkForce [];. + + + + + OpenSMTPD has been upgraded to version 6.4.0p1. This release makes + backwards-incompatible changes to the configuration file format. See + man smtpd.conf for more information on the new file + format. + + + + + The versioned postgresql have been renamed to use + underscore number seperators. For example, postgresql96 + has been renamed to postgresql_9_6. + + + + + Package consul-ui and passthrough + consul.ui have been removed. The package + consul now uses upstream releases that vendor the UI + into the binary. See + #48714 + for details. + + + + + Slurm introduces the new option + services.slurm.stateSaveLocation, which is now set to + /var/spool/slurm by default (instead of + /var/spool). Make sure to move all files to the new + directory or to set the option accordingly. + + + The slurmctld now runs as user slurm instead of + root. If you want to keep slurmctld running as + root, set services.slurm.user = + root. + + + The options services.slurm.nodeName and + services.slurm.partitionName are now sets of strings to + correctly reflect that fact that each of these options can occour more + than once in the configuration. + + + + + The solr package has been upgraded from 4.10.3 to 7.5.0 + and has undergone some major changes. The services.solr + module has been updated to reflect these changes. Please review + http://lucene.apache.org/solr/ carefully before upgrading. + + + + + Package ckb is renamed to ckb-next, + and options hardware.ckb.* are renamed to + hardware.ckb-next.*. + + + + + The option + services.xserver.displayManager.job.logToFile which was + previously set to true when using the display managers + lightdm, sddm or + xpra has been reset to the default value + (false). + + + + + Network interface indiscriminate NixOS firewall options + (networking.firewall.allow*) are now preserved when + also setting interface specific rules such as + networking.firewall.interfaces.en0.allow*. These rules + continue to use the pseudo device "default" + (networking.firewall.interfaces.default.*), and + assigning to this pseudo device will override the + (networking.firewall.allow*) options. + + + + + The nscd service now disables all caching of + passwd and group databases by + default. This was interferring with the correct functioning of the + libnss_systemd.so module which is used by + systemd to manage uids and usernames in the presence of + DynamicUser= in systemd services. This was already the + default behaviour in presence of services.sssd.enable = + true because nscd caching would interfere with + sssd in unpredictable ways as well. Because we're using + nscd not for caching, but for convincing glibc to find NSS modules in the + nix store instead of an absolute path, we have decided to disable caching + globally now, as it's usually not the behaviour the user wants and can + lead to surprising behaviour. Furthermore, negative caching of host + lookups is also disabled now by default. This should fix the issue of dns + lookups failing in the presence of an unreliable network. + + + If the old behaviour is desired, this can be restored by setting the + services.nscd.config option with the desired caching + parameters. + + services.nscd.config = + '' + server-user nscd + threads 1 + paranoia no + debug-level 0 + + enable-cache passwd yes + positive-time-to-live passwd 600 + negative-time-to-live passwd 20 + suggested-size passwd 211 + check-files passwd yes + persistent passwd no + shared passwd yes + + enable-cache group yes + positive-time-to-live group 3600 + negative-time-to-live group 60 + 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 + ''; + + See + #50316 + for details. + + + + + GitLab Shell previously used the nix store paths for the + gitlab-shell command in its + authorized_keys file, which might stop working after + garbage collection. To circumvent that, we regenerated that file on each + startup. As gitlab-shell has now been changed to use + /var/run/current-system/sw/bin/gitlab-shell, this is + not necessary anymore, but there might be leftover lines with a nix store + path. Regenerate the authorized_keys file via + sudo -u git -H gitlab-rake gitlab:shell:setup in that + case. + + + + + The pam_unix account module is now loaded with its + control field set to required instead of + sufficient, so that later PAM account modules that + might do more extensive checks are being executed. Previously, the whole + account module verification was exited prematurely in case a nss module + provided the account name to pam_unix. The LDAP and + SSSD NixOS modules already add their NSS modules when enabled. In case + your setup breaks due to some later PAM account module previosuly + shadowed, or failing NSS lookups, please file a bug. You can get back the + old behaviour by manually setting +.text]]> + . + + + + + The pam_unix password module is now loaded with its + control field set to sufficient instead of + required, so that password managed only by later PAM + password modules are being executed. Previously, for example, changing an + LDAP account's password through PAM was not possible: the whole password + module verification was exited prematurely by pam_unix, + preventing pam_ldap to manage the password as it + should. + + + + + fish has been upgraded to 3.0. It comes with a number + of improvements and backwards incompatible changes. See the + fish + release + notes for more information. + + + + + The ibus-table input method has had a change in config format, which + causes all previous settings to be lost. See + this + commit message for details. + + + + + NixOS module system type types.optionSet and + lib.mkOption argument options are + deprecated. Use types.submodule instead. + (#54637) + + + + + matrix-synapse has been updated to version 0.99. It + will no + longer generate a self-signed certificate on first launch and will + be + the + last version to accept self-signed certificates. As such, it is now + recommended to use a proper certificate verified by a root CA (for example + Let's Encrypt). The new manual + chapter on Matrix contains a working example of using nginx as a + reverse proxy in front of matrix-synapse, using Let's + Encrypt certificates. + + + + + mailutils now works by default when + sendmail is not in a setuid wrapper. As a consequence, + the sendmailPath argument, having lost its main use, + has been removed. + + + + + graylog has been upgraded from version 2.* to 3.*. Some + setups making use of extraConfig (especially those exposing Graylog via + reverse proxies) need to be updated as upstream removed/replaced some + settings. See + Upgrading + Graylog for details. + + + + + The option users.ldap.bind.password was renamed to users.ldap.bind.passwordFile, + and needs to be readable by the nslcd user. + Same applies to the new users.ldap.daemon.rootpwmodpwFile option. + + + + + nodejs-6_x is end-of-life. + nodejs-6_x, nodejs-slim-6_x and + nodePackages_6_x are removed. + + + +
+ +
+ Other Notable Changes + + + + + The module gained the option + which determines the used Matomo + version. + + + The Matomo module now also comes with the systemd service + matomo-archive-processing.service and a timer that + automatically triggers archive processing every hour. This means that you + can safely + + disable browser triggers for Matomo archiving at + Administration > System > General Settings. + + + Additionally, you can enable to + + delete old visitor logs at Administration > System > + Privacy, but make sure that you run systemctl start + matomo-archive-processing.service at least once without errors + if you have already collected data before, so that the reports get + archived before the source data gets deleted. + + + + + composableDerivation along with supporting library + functions has been removed. + + + + + The deprecated truecrypt package has been removed and + truecrypt attribute is now an alias for + veracrypt. VeraCrypt is backward-compatible with + TrueCrypt volumes. Note that cryptsetup also supports + loading TrueCrypt volumes. + + + + + The Kubernetes DNS addons, kube-dns, has been replaced with CoreDNS. This + change is made in accordance with Kubernetes making CoreDNS the official + default starting from + Kubernetes + v1.11. Please beware that upgrading DNS-addon on existing clusters + might induce minor downtime while the DNS-addon terminates and + re-initializes. Also note that the DNS-service now runs with 2 pod + replicas by default. The desired number of replicas can be configured + using: . + + + + + The quassel-webserver package and module was removed from nixpkgs due to + the lack of maintainers. + + + + + The manual gained a new chapter on + self-hosting matrix-synapse and + riot-web , the most prevalent server and client + implementations for the + Matrix federated + communication network. + + + + + The astah-community package was removed from nixpkgs due to it being + discontinued and the downloads not being available anymore. + + + + + The httpd service now saves log files with a .log file extension by + default for easier integration with the logrotate service. + + + + + The owncloud server packages and httpd subservice module were removed from + nixpkgs due to the lack of maintainers. + + + + + It is possible now to uze ZRAM devices as general purpose ephemeral block + devices, not only as swap. Using more than 1 device as ZRAM swap is no + longer recommended, but is still possible by setting + zramSwap.swapDevices explicitly. + + + ZRAM algorithm can be changed now. + + + Changes to ZRAM algorithm are applied during nixos-rebuild + switch, so make sure you have enough swap space on disk to + survive ZRAM device rebuild. Alternatively, use nixos-rebuild + boot; reboot. + + + + + Flat volumes are now disabled by default in + hardware.pulseaudio. This has been done to prevent + applications, which are unaware of this feature, setting their volumes to + 100% on startup causing harm to your audio hardware and potentially your + ears. + + + + With this change application specific volumes are relative to the master + volume which can be adjusted independently, whereas before they were + absolute; meaning that in effect, it scaled the device-volume with the + volume of the loudest application. + + + + + + The + ndppd + module now supports all config + options provided by the current upstream version as service + options. Additionally the ndppd package doesn't contain + the systemd unit configuration from upstream anymore, the unit is + completely configured by the NixOS module now. + + + + + New installs of NixOS will default to the Redmine 4.x series unless + otherwise specified in services.redmine.package while + existing installs of NixOS will default to the Redmine 3.x series. + + + + + The Grafana module now + supports declarative + datasource + and dashboard provisioning. + + + + + The use of insecure ports on kubernetes has been deprecated. Thus options: + services.kubernetes.apiserver.port and + services.kubernetes.controllerManager.port has been + renamed to .insecurePort, and default of both options + has changed to 0 (disabled). + + + + + Note that the default value of + services.kubernetes.apiserver.bindAddress has changed + from 127.0.0.1 to 0.0.0.0, allowing the apiserver to be accessible from + outside the master node itself. If the apiserver insecurePort is enabled, + it is strongly recommended to only bind on the loopback interface. See: + services.kubernetes.apiserver.insecurebindAddress. + + + + + The option + services.kubernetes.apiserver.allowPrivileged and + services.kubernetes.kubelet.allowPrivileged now + defaults to false. Disallowing privileged containers on the cluster. + + + + + The kubernetes module does no longer add the kubernetes package to + environment.systemPackages implicitly. + + + + + The intel driver has been removed from the default list + of X.org video + drivers. The modesetting driver should take over + automatically, it is better maintained upstream and has less problems with + advanced X11 features. This can lead to a change in the output names used + by xrandr. Some performance regressions on some GPU + models might happen. Some OpenCL and VA-API applications might also break + (Beignet seems to provide OpenCL support with + modesetting driver, too). Kernel mode setting API does + not support backlight control, so xbacklight tool will + not work; backlight level can be controlled directly via + /sys/ or with brightnessctl. Users + who need this functionality more than multi-output XRandR are advised to + add `intel` to `videoDrivers` and report an issue (or provide additional + details in an existing one) + + + + + Openmpi has been updated to version 4.0.0, which removes some deprecated + MPI-1 symbols. This may break some older applications that still rely on + those symbols. An upgrade guide can be found + here. + + + The nginx package now relies on OpenSSL 1.1 and supports TLS 1.3 by + default. You can set the protocols used by the nginx service using + . + + + + + A new subcommand nixos-rebuild edit was added. + + + +
+
diff --git a/nixos/doc/manual/release-notes/rl-1909.xml b/nixos/doc/manual/release-notes/rl-1909.xml new file mode 100644 index 0000000000000000000000000000000000000000..b16297da7ce6864cf93051a1f265ee48d126489e --- /dev/null +++ b/nixos/doc/manual/release-notes/rl-1909.xml @@ -0,0 +1,148 @@ +
+ Release 19.09 (“Loris”, 2019/09/??) + +
+ Highlights + + + In addition to numerous new and upgraded packages, this release has the + following highlights: + + + + + + + +
+ +
+ New Services + + + The following new services were added since the last release: + + +
+ +
+ Backward Incompatibilities + + + When upgrading from a previous release, please be aware of the following + incompatible changes: + + + + + + Buildbot no longer supports Python 2, as support was dropped upstream in + version 2.0.0. Configurations may need to be modified to make them + compatible with Python 3. + + + + + PostgreSQL now uses + /run/postgresql as its socket + directory instead of /tmp. So + if you run an application like eg. Nextcloud, where you need to use + the Unix socket path as the database host name, you need to change it + accordingly. + + + + + The options and + have been removed + because the alertmanager service is now using systemd's + DynamicUser mechanism which obviates these options. + + + + + The NetworkManager systemd unit was renamed back from network-manager.service to + NetworkManager.service for better compatibility with other applications expecting this name. + The same applies to ModemManager where modem-manager.service is now called ModemManager.service again. + + + + + The and + options were removed as they are managed internally by the nzbget. The + option hadn't actually been used by + the module for some time and so was removed as cleanup. + + + +
+ +
+ Other Notable Changes + + + + + The module gained an option named + which makes the + generated + configuration.nix + 5 manual page include all options + from all NixOS modules included in a given + configuration.nix configuration file. Currently, it is + set to false by default as enabling it frequently + prevents evaluation. But the plan is to eventually have it set to + true by default. Please set it to + true now in your configuration.nix + and fix all the bugs it uncovers. + + + + + The vlc package gained support for Chromecast + streaming, enabled by default. TCP port 8010 must be open for it to work, + so something like networking.firewall.allowedTCPPorts = [ 8010 + ]; may be required in your configuration. Also consider enabling + + Accelerated Video Playback for better transcoding performance. + + + + + The following changes apply if the stateVersion is + changed to 19.09 or higher. For stateVersion = "19.03" + or lower the old behavior is preserved. + + + + + solr.package defaults to + pkgs.solr_8. + + + + + +
+
diff --git a/nixos/lib/build-vms.nix b/nixos/lib/build-vms.nix index 48288cf5962c4f30f72ad727bbab1e2528738755..a5580f4712ebca824c66709ceec356ddf3e9082d 100644 --- a/nixos/lib/build-vms.nix +++ b/nixos/lib/build-vms.nix @@ -1,6 +1,13 @@ -{ system, minimal ? false, config ? {} }: - -let pkgs = import ../.. { inherit system config; }; in +{ system +, # Use a minimal kernel? + minimal ? false +, # Ignored + config ? null + # Nixpkgs, for qemu, lib and more +, pkgs +, # NixOS configuration to add to the VMs + extraConfigurations ? [] +}: with pkgs.lib; with import ../lib/qemu-flags.nix { inherit pkgs; }; @@ -28,9 +35,10 @@ rec { modules = configurations ++ [ ../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 = "no-manual"; documentation.nixos.enable = false; } { key = "qemu"; system.build.qemu = qemu; } - ] ++ optional minimal ../modules/testing/minimal-kernel.nix; + ] ++ optional minimal ../modules/testing/minimal-kernel.nix + ++ extraConfigurations; extraArgs = { inherit nodes; }; }; @@ -75,6 +83,8 @@ rec { (m': let config = (getAttr m' nodes).config; in optionalString (config.networking.primaryIPAddress != "") ("${config.networking.primaryIPAddress} " + + optionalString (config.networking.domain != null) + "${config.networking.hostName}.${config.networking.domain} " + "${config.networking.hostName}\n")); virtualisation.qemu.options = diff --git a/nixos/lib/eval-config.nix b/nixos/lib/eval-config.nix index 97c79487df4c140d2c0126899cd9630041e357c9..77490ca3762a53688b0ebd3b8a63dc6e38f8b69f 100644 --- a/nixos/lib/eval-config.nix +++ b/nixos/lib/eval-config.nix @@ -28,7 +28,7 @@ let extraArgs_ = extraArgs; pkgs_ = pkgs; extraModules = let e = builtins.getEnv "NIXOS_EXTRA_MODULE_PATH"; - in if e == "" then [] else [(import (builtins.toPath e))]; + in if e == "" then [] else [(import e)]; in let @@ -36,7 +36,11 @@ let _file = ./eval-config.nix; key = _file; config = { - nixpkgs.localSystem = lib.mkDefault { inherit system; }; + # Explicit `nixpkgs.system` or `nixpkgs.localSystem` should override + # this. Since the latter defaults to the former, the former should + # default to the argument. That way this new default could propagate all + # they way through, but has the last priority behind everything else. + nixpkgs.system = lib.mkDefault system; _module.args.pkgs = lib.mkIf (pkgs_ != null) (lib.mkForce pkgs_); }; }; @@ -47,15 +51,16 @@ in rec { # system configuration. inherit (lib.evalModules { inherit prefix check; - modules = modules ++ extraModules ++ baseModules ++ [ pkgsModule ]; + modules = baseModules ++ extraModules ++ [ pkgsModule ] ++ modules; args = extraArgs; - specialArgs = { modulesPath = ../modules; } // specialArgs; + specialArgs = + { modulesPath = builtins.toString ../modules; } // specialArgs; }) config options; # These are the extra arguments passed to every module. In # particular, Nixpkgs is passed through the "pkgs" argument. extraArgs = extraArgs_ // { - inherit modules baseModules; + inherit baseModules extraModules modules; }; inherit (config._module.args) pkgs; diff --git a/nixos/lib/make-channel.nix b/nixos/lib/make-channel.nix index fd805f7f943f21a4f0febfdf1e05029ce1a52c49..9b920b989fcf36140e205be719c46d63f1d53f98 100644 --- a/nixos/lib/make-channel.nix +++ b/nixos/lib/make-channel.nix @@ -1,3 +1,7 @@ +/* Build a channel tarball. These contain, in addition to the nixpkgs + * expressions themselves, files that indicate the version of nixpkgs + * that they represent. + */ { pkgs, nixpkgs, version, versionSuffix }: pkgs.releaseTools.makeSourceTarball { diff --git a/nixos/lib/make-disk-image.nix b/nixos/lib/make-disk-image.nix index bf32a36895c5e1f837730624f3b46cdf4e034845..5e86ea479d518292fb6f7d35d99b865463254ec7 100644 --- a/nixos/lib/make-disk-image.nix +++ b/nixos/lib/make-disk-image.nix @@ -27,6 +27,9 @@ , # The root file system type. fsType ? "ext4" +, # Filesystem label + label ? "nixos" + , # The initial NixOS configuration file to be copied to # /etc/nixos/configuration.nix. configFile ? null @@ -84,7 +87,7 @@ let format' = format; in let # FIXME: merge with channel.nix / make-channel.nix. channelSources = pkgs.runCommand "nixos-${config.system.nixos.version}" {} '' mkdir -p $out - cp -prd ${nixpkgs} $out/nixos + cp -prd ${nixpkgs.outPath} $out/nixos chmod -R u+w $out/nixos if [ ! -e $out/nixos/nixpkgs ]; then ln -s . $out/nixos/nixpkgs @@ -134,9 +137,9 @@ let format' = format; in let # Get start & length of the root partition in sectors to $START and $SECTORS. eval $(partx $diskImage -o START,SECTORS --nr ${rootPartition} --pairs) - mkfs.${fsType} -F -L nixos $diskImage -E offset=$(sectorsToBytes $START) $(sectorsToKilobytes $SECTORS)K + mkfs.${fsType} -F -L ${label} $diskImage -E offset=$(sectorsToBytes $START) $(sectorsToKilobytes $SECTORS)K '' else '' - mkfs.${fsType} -F -L nixos $diskImage + mkfs.${fsType} -F -L ${label} $diskImage ''} root="$PWD/root" diff --git a/nixos/lib/make-ext4-fs.nix b/nixos/lib/make-ext4-fs.nix index 88be8b73ab37b03a66fba86f8fe23c3cfa4544e4..47c6374c81adab155a061598848cb2d37ac4247d 100644 --- a/nixos/lib/make-ext4-fs.nix +++ b/nixos/lib/make-ext4-fs.nix @@ -9,6 +9,7 @@ , e2fsprogs , libfaketime , perl +, lkl }: let @@ -18,16 +19,13 @@ in pkgs.stdenv.mkDerivation { name = "ext4-fs.img"; - nativeBuildInputs = [e2fsprogs.bin libfaketime perl]; + nativeBuildInputs = [e2fsprogs.bin libfaketime perl lkl]; buildCommand = '' # Add the closures of the top-level store objects. storePaths=$(cat ${sdClosureInfo}/store-paths) - # Also include a manifest of the closures in a format suitable for nix-store --load-db. - cp ${sdClosureInfo}/registration nix-path-registration - # Make a crude approximation of the size of the target image. # If the script starts failing, increase the fudge factors here. numInodes=$(find $storePaths | wc -l) @@ -38,55 +36,16 @@ pkgs.stdenv.mkDerivation { truncate -s $bytes $out faketime -f "1970-01-01 00:00:01" mkfs.ext4 -L ${volumeLabel} -U ${uuid} $out - # Populate the image contents by piping a bunch of commands to the `debugfs` tool from e2fsprogs. - # For example, to copy /nix/store/abcd...efg-coreutils-8.23/bin/sleep: - # cd /nix/store/abcd...efg-coreutils-8.23/bin - # write /nix/store/abcd...efg-coreutils-8.23/bin/sleep sleep - # sif sleep mode 040555 - # sif sleep gid 30000 - # In particular, debugfs doesn't handle absolute target paths; you have to 'cd' in the virtual - # filesystem first. Likewise the intermediate directories must already exist (using `find` - # handles that for us). And when setting the file's permissions, the inode type flags (__S_IFDIR, - # __S_IFREG) need to be set as well. - ( - echo write nix-path-registration nix-path-registration - echo mkdir nix - echo cd /nix - echo mkdir store - - # XXX: This explodes in exciting ways if anything in /nix/store has a space in it. - find $storePaths -printf '%y %f %h %m\n'| while read -r type file dir perms; do - # echo "TYPE=$type DIR=$dir FILE=$file PERMS=$perms" >&2 + # Also include a manifest of the closures in a format suitable for nix-store --load-db. + cp ${sdClosureInfo}/registration nix-path-registration + cptofs -t ext4 -i $out nix-path-registration / - echo "cd $dir" - case $type in - d) - echo "mkdir $file" - echo sif $file mode $((040000 | 0$perms)) # magic constant is __S_IFDIR - ;; - f) - echo "write $dir/$file $file" - echo sif $file mode $((0100000 | 0$perms)) # magic constant is __S_IFREG - ;; - l) - echo "symlink $file $(readlink "$dir/$file")" - ;; - *) - echo "Unknown entry: $type $dir $file $perms" >&2 - exit 1 - ;; - esac + # Create nix/store before copying paths + faketime -f "1970-01-01 00:00:01" mkdir -p nix/store + cptofs -t ext4 -i $out nix / - echo sif $file gid 30000 # chgrp to nixbld - done - ) | faketime -f "1970-01-01 00:00:01" debugfs -w $out -f /dev/stdin > errorlog 2>&1 - - # The debugfs tool doesn't terminate on error nor exit with a non-zero status. Check manually. - if egrep -q 'Could not allocate|File not found' errorlog; then - cat errorlog - echo "--- Failed to create EXT4 image of $bytes bytes (numInodes=$numInodes, numDataBlocks=$numDataBlocks) ---" - return 1 - fi + echo "copying store paths to image..." + cptofs -t ext4 -i $out $storePaths /nix/store/ # I have ended up with corrupted images sometimes, I suspect that happens when the build machine's disk gets full during the build. if ! fsck.ext4 -n -f $out; then @@ -94,5 +53,24 @@ pkgs.stdenv.mkDerivation { cat errorlog return 1 fi + + ( + # Resizes **snugly** to its actual limits (or closer to) + free=$(dumpe2fs $out | grep '^Free blocks:') + blocksize=$(dumpe2fs $out | grep '^Block size:') + blocks=$(dumpe2fs $out | grep '^Block count:') + blocks=$((''${blocks##*:})) # format the number. + blocksize=$((''${blocksize##*:})) # format the number. + # System can't boot with 0 blocks free. + # Add 16MiB of free space + fudge=$(( 16 * 1024 * 1024 / blocksize )) + size=$(( blocks - ''${free##*:} + fudge )) + + echo "Resizing from $blocks blocks to $size blocks. (~ $((size*blocksize/1024/1024))MiB)" + EXT2FS_NO_MTAB_OK=yes resize2fs $out -f $size + ) + + # And a final fsck, because of the previous truncating. + fsck.ext4 -n -f $out ''; } diff --git a/nixos/lib/make-iso9660-image.sh b/nixos/lib/make-iso9660-image.sh index 45cdef1ef4df5933e4ae10d057bf341d92ad6db2..b7b1ab52a637365f03424b80d88d6725da9abc51 100644 --- a/nixos/lib/make-iso9660-image.sh +++ b/nixos/lib/make-iso9660-image.sh @@ -47,7 +47,8 @@ if test -n "$bootable"; then isoBootFlags="-eltorito-boot ${bootImage} -eltorito-catalog .boot.cat - -no-emul-boot -boot-load-size 4 -boot-info-table" + -no-emul-boot -boot-load-size 4 -boot-info-table + --sort-weight 1 /isolinux" # Make sure isolinux is near the beginning of the ISO fi if test -n "$usbBootable"; then @@ -112,7 +113,7 @@ xorriso="xorriso -r -path-list pathlist --sort-weight 0 / - --sort-weight 1 /isolinux" # Make sure isolinux is near the beginning of the ISO +" $xorriso -output $out/iso/$isoName diff --git a/nixos/lib/make-squashfs.nix b/nixos/lib/make-squashfs.nix index 7ab84e47f53b592ef70e5c598a126ece66c0a299..ee76c9c5bf240bfa2d9247722a447a79c4c57303 100644 --- a/nixos/lib/make-squashfs.nix +++ b/nixos/lib/make-squashfs.nix @@ -3,6 +3,9 @@ , # The root directory of the squashfs filesystem is filled with the # closures of the Nix store paths listed here. storeContents ? [] +, # Compression parameters. + # For zstd compression you can use "zstd -Xcompression-level 6". + comp ? "xz -Xdict-size 100%" }: stdenv.mkDerivation { @@ -20,6 +23,6 @@ stdenv.mkDerivation { # Generate the squashfs image. mksquashfs nix-path-registration $(cat $closureInfo/store-paths) $out \ - -keep-as-directory -all-root -b 1048576 -comp xz -Xdict-size 100% + -keep-as-directory -all-root -b 1048576 -comp ${comp} ''; } diff --git a/nixos/lib/make-system-tarball.nix b/nixos/lib/make-system-tarball.nix index 92539235be754932dbee61e72d68da62792aeb8c..dee91a6ce3f4922fcad2e6f4bef572fcb2cbdd28 100644 --- a/nixos/lib/make-system-tarball.nix +++ b/nixos/lib/make-system-tarball.nix @@ -1,7 +1,7 @@ -{ stdenv, perl, pixz, pathsFromGraph +{ stdenv, closureInfo, pixz , # The file name of the resulting tarball - fileName ? "nixos-system-${stdenv.system}" + fileName ? "nixos-system-${stdenv.hostPlatform.system}" , # The files and directories to be placed in the tarball. # This is a list of attribute sets {source, target} where `source' @@ -29,24 +29,28 @@ , extraInputs ? [ pixz ] }: +let + symlinks = map (x: x.symlink) storeContents; + objects = map (x: x.object) storeContents; +in + stdenv.mkDerivation { name = "tarball"; builder = ./make-system-tarball.sh; - buildInputs = [ perl ] ++ extraInputs; + buildInputs = extraInputs; - inherit fileName pathsFromGraph extraArgs extraCommands compressCommand; + inherit fileName extraArgs extraCommands compressCommand; # !!! should use XML. sources = map (x: x.source) contents; targets = map (x: x.target) contents; # !!! should use XML. - objects = map (x: x.object) storeContents; - symlinks = map (x: x.symlink) storeContents; + inherit symlinks objects; - # For obtaining the closure of `storeContents'. - exportReferencesGraph = - map (x: [("closure-" + baseNameOf x.object) x.object]) storeContents; + closureInfo = closureInfo { + rootPaths = objects; + }; extension = compressionExtension; } diff --git a/nixos/lib/make-system-tarball.sh b/nixos/lib/make-system-tarball.sh index 1a52a284a2573ebffe0c9c3e160eb8fd7bc4ac1b..1a0017a1799a4f87d3efc9246eb62e793f2648b1 100644 --- a/nixos/lib/make-system-tarball.sh +++ b/nixos/lib/make-system-tarball.sh @@ -3,7 +3,6 @@ source $stdenv/setup sources_=($sources) targets_=($targets) -echo $objects objects=($objects) symlinks=($symlinks) @@ -14,8 +13,6 @@ stripSlash() { if test "${res:0:1}" = /; then res=${res:1}; fi } -touch pathlist - # Add the individual files. for ((i = 0; i < ${#targets_[@]}; i++)); do stripSlash "${targets_[$i]}" @@ -25,9 +22,9 @@ done # Add the closures of the top-level store objects. +chmod +w . mkdir -p nix/store -storePaths=$(perl $pathsFromGraph closure-*) -for i in $storePaths; do +for i in $(< $closureInfo/store-paths); do cp -a "$i" "${i:1}" done @@ -35,7 +32,7 @@ done # TODO tar ruxo # Also include a manifest of the closures in a format suitable for # nix-store --load-db. -printRegistration=1 perl $pathsFromGraph closure-* > nix-path-registration +cp $closureInfo/registration nix-path-registration # Add symlinks to the top-level store objects. for ((n = 0; n < ${#objects[*]}; n++)); do diff --git a/nixos/lib/qemu-flags.nix b/nixos/lib/qemu-flags.nix index 6f61c64a832e119b3cfed1311dd3182b31026584..779f0377a512300e8b65ac3eea73615f53e63583 100644 --- a/nixos/lib/qemu-flags.nix +++ b/nixos/lib/qemu-flags.nix @@ -1,21 +1,25 @@ # QEMU flags shared between various Nix expressions. { pkgs }: +let + zeroPad = n: if n < 10 then "0${toString n}" else toString n; +in + { qemuNICFlags = nic: net: machine: - [ "-net nic,vlan=${toString nic},macaddr=52:54:00:12:${toString net}:${toString machine},model=virtio" - "-net vde,vlan=${toString nic},sock=$QEMU_VDE_SOCKET_${toString net}" + [ "-device virtio-net-pci,netdev=vlan${toString nic},mac=52:54:00:12:${zeroPad net}:${zeroPad machine}" + "-netdev vde,id=vlan${toString nic},sock=$QEMU_VDE_SOCKET_${toString net}" ]; qemuSerialDevice = if pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64 then "ttyS0" else if pkgs.stdenv.isAarch32 || pkgs.stdenv.isAarch64 then "ttyAMA0" - else throw "Unknown QEMU serial device for system '${pkgs.stdenv.system}'"; + else throw "Unknown QEMU serial device for system '${pkgs.stdenv.hostPlatform.system}'"; qemuBinary = qemuPkg: { "x86_64-linux" = "${qemuPkg}/bin/qemu-kvm -cpu kvm64"; "armv7l-linux" = "${qemuPkg}/bin/qemu-system-arm -enable-kvm -machine virt -cpu host"; "aarch64-linux" = "${qemuPkg}/bin/qemu-system-aarch64 -enable-kvm -machine virt,gic-version=host -cpu host"; "x86_64-darwin" = "${qemuPkg}/bin/qemu-kvm -cpu kvm64"; - }.${pkgs.stdenv.system} or "${qemuPkg}/bin/qemu-kvm"; + }.${pkgs.stdenv.hostPlatform.system} or "${qemuPkg}/bin/qemu-kvm"; } diff --git a/nixos/lib/test-driver/Logger.pm b/nixos/lib/test-driver/Logger.pm index 3fe5ef67c144e35cf80d225a3d5963d274134969..080310ea34e0854dd5c6efada0f44830ab78861f 100644 --- a/nixos/lib/test-driver/Logger.pm +++ b/nixos/lib/test-driver/Logger.pm @@ -4,6 +4,7 @@ use strict; use Thread::Queue; use XML::Writer; use Encode qw(decode encode); +use Time::HiRes qw(clock_gettime CLOCK_MONOTONIC); sub new { my ($class) = @_; @@ -46,10 +47,12 @@ sub nest { print STDERR maybePrefix("$msg\n", $attrs); $self->{log}->startTag("nest"); $self->{log}->dataElement("head", $msg, %{$attrs}); + my $now = clock_gettime(CLOCK_MONOTONIC); $self->drainLogQueue(); eval { &$coderef }; my $res = $@; $self->drainLogQueue(); + $self->log(sprintf("(%.2f seconds)", clock_gettime(CLOCK_MONOTONIC) - $now)); $self->{log}->endTag("nest"); die $@ if $@; } diff --git a/nixos/lib/test-driver/Machine.pm b/nixos/lib/test-driver/Machine.pm index b18f48464ceec5917b38b71d02b9235e54368ffa..006da889671eea860b18c27266614761aff0c5ca 100644 --- a/nixos/lib/test-driver/Machine.pm +++ b/nixos/lib/test-driver/Machine.pm @@ -10,6 +10,7 @@ use Cwd; use File::Basename; use File::Path qw(make_path); use File::Slurp; +use Time::HiRes qw(clock_gettime CLOCK_MONOTONIC); my $showGraphics = defined $ENV{'DISPLAY'}; @@ -247,12 +248,15 @@ sub connect { $self->start; + my $now = clock_gettime(CLOCK_MONOTONIC); local $SIG{ALRM} = sub { die "timed out waiting for the VM to connect\n"; }; - alarm 300; + alarm 600; readline $self->{socket} or die "the VM quit before connecting\n"; alarm 0; $self->log("connected to guest root shell"); + # We're interested in tracking how close we are to `alarm`. + $self->log(sprintf("(connecting took %.2f seconds)", clock_gettime(CLOCK_MONOTONIC) - $now)); $self->{connected} = 1; }); diff --git a/nixos/lib/testing.nix b/nixos/lib/testing.nix index 42a0c60c7e19c893ad57d49a9b03ddb0f6e19a6d..a13e76a695603f5d7350157710f3b06c84f66e45 100644 --- a/nixos/lib/testing.nix +++ b/nixos/lib/testing.nix @@ -1,6 +1,13 @@ -{ system, minimal ? false, config ? {} }: - -with import ./build-vms.nix { inherit system minimal config; }; +{ system +, pkgs ? import ../.. { inherit system config; } + # Use a minimal kernel? +, minimal ? false + # Ignored +, config ? {} + # Modules to add to each VM +, extraConfigurations ? [] }: + +with import ./build-vms.nix { inherit system pkgs minimal extraConfigurations; }; with pkgs; let @@ -27,14 +34,14 @@ in rec { cp ${./test-driver/test-driver.pl} $out/bin/nixos-test-driver chmod u+x $out/bin/nixos-test-driver - libDir=$out/lib/perl5/site_perl + libDir=$out/${perl.libPrefix} mkdir -p $libDir cp ${./test-driver/Machine.pm} $libDir/Machine.pm cp ${./test-driver/Logger.pm} $libDir/Logger.pm wrapProgram $out/bin/nixos-test-driver \ --prefix PATH : "${lib.makeBinPath [ qemu_test vde2 netpbm coreutils ]}" \ - --prefix PERL5LIB : "${with perlPackages; lib.makePerlPath [ TermReadLineGnu XMLWriter IOTty FileSlurp ]}:$out/lib/perl5/site_perl" + --prefix PERL5LIB : "${with perlPackages; makePerlPath [ TermReadLineGnu XMLWriter IOTty FileSlurp ]}:$out/${perl.libPrefix}" ''; }; @@ -69,7 +76,7 @@ in rec { mkdir -p $out/coverage-data mv $i $out/coverage-data/$(dirname $(dirname $i)) done - ''; # */ + ''; }; @@ -109,7 +116,7 @@ in rec { vms = map (m: m.config.system.build.vm) (lib.attrValues nodes); - ocrProg = tesseract_4.override { enableLanguages = [ "eng" ]; }; + ocrProg = tesseract4.override { enableLanguages = [ "eng" ]; }; imagemagick_tiff = imagemagick_light.override { inherit libtiff; }; @@ -149,9 +156,23 @@ in rec { test = passMeta (runTests driver); report = passMeta (releaseTools.gcovReport { coverageRuns = [ test ]; }); - in (if makeCoverageReport then report else test) // { - inherit nodes driver test; - }; + nodeNames = builtins.attrNames nodes; + invalidNodeNames = lib.filter + (node: builtins.match "^[A-z_][A-z0-9_]+$" node == null) nodeNames; + + in + if lib.length invalidNodeNames > 0 then + throw '' + Cannot create machines out of (${lib.concatStringsSep ", " invalidNodeNames})! + All machines are referenced as perl variables in the testing framework which will break the + script when special characters are used. + + Please stick to alphanumeric chars and underscores as separation. + '' + else + (if makeCoverageReport then report else test) // { + inherit nodes driver test; + }; runInMachine = { drv diff --git a/nixos/lib/utils.nix b/nixos/lib/utils.nix index 1ef915d406120fcb712ed61838a67de44c3c92a2..b68e55a40b90829d06e620f9924c149b6ecfe464 100644 --- a/nixos/lib/utils.nix +++ b/nixos/lib/utils.nix @@ -7,9 +7,8 @@ rec { || elem fs.mountPoint [ "/" "/nix" "/nix/store" "/var" "/var/log" "/var/lib" "/etc" ]; # Check whenever `b` depends on `a` as a fileSystem - # FIXME: it's incorrect to simply use hasPrefix here: "/dev/a" is not a parent of "/dev/ab" - fsBefore = a: b: ((any (x: elem x [ "bind" "move" ]) b.options) && (a.mountPoint == b.device)) - || (hasPrefix a.mountPoint b.mountPoint); + fsBefore = a: b: a.mountPoint == b.device + || hasPrefix "${a.mountPoint}${optionalString (!(hasSuffix "/" a.mountPoint)) "/"}" b.mountPoint; # Escape a path according to the systemd rules, e.g. /dev/xyzzy # becomes dev-xyzzy. FIXME: slow. diff --git a/nixos/maintainers/scripts/cloudstack/cloudstack-image.nix b/nixos/maintainers/scripts/cloudstack/cloudstack-image.nix new file mode 100644 index 0000000000000000000000000000000000000000..37b46db059c063e726aae8866dda32d9b18bb5e6 --- /dev/null +++ b/nixos/maintainers/scripts/cloudstack/cloudstack-image.nix @@ -0,0 +1,23 @@ +# nix-build '' -A config.system.build.cloudstackImage --arg configuration "{ imports = [ ./nixos/maintainers/scripts/cloudstack/cloudstack-image.nix ]; }" + +{ config, lib, pkgs, ... }: + +with lib; + +{ + imports = + [ ../../../modules/virtualisation/cloudstack-config.nix ]; + + system.build.cloudstackImage = import ../../../lib/make-disk-image.nix { + inherit lib config pkgs; + diskSize = 8192; + format = "qcow2"; + configFile = pkgs.writeText "configuration.nix" + '' + { + imports = [ ]; + } + ''; + }; + +} diff --git a/nixos/maintainers/scripts/ec2/amazon-image.nix b/nixos/maintainers/scripts/ec2/amazon-image.nix index eeae27ede0f89f04f43dc5d12a284cc87fd7559e..88d95e675447cb568da555c1fbb9b19e3beb7f22 100644 --- a/nixos/maintainers/scripts/ec2/amazon-image.nix +++ b/nixos/maintainers/scripts/ec2/amazon-image.nix @@ -53,6 +53,7 @@ in { pkgs = import ../../../.. { inherit (pkgs) system; }; # ensure we use the regular qemu-kvm package partitionTableType = if config.ec2.hvm then "legacy" else "none"; diskSize = cfg.sizeMB; + fsType = "ext4"; configFile = pkgs.writeText "configuration.nix" '' { diff --git a/nixos/maintainers/scripts/gce/create-gce.sh b/nixos/maintainers/scripts/gce/create-gce.sh index 0fd26d34d07f9ff6bf8bc55eb78bb88785196ae9..48748a59d298a41ff022f7c9ae76efc507c124ca 100755 --- a/nixos/maintainers/scripts/gce/create-gce.sh +++ b/nixos/maintainers/scripts/gce/create-gce.sh @@ -7,9 +7,9 @@ BUCKET_NAME="${BUCKET_NAME:-nixos-cloud-images}" TIMESTAMP="$(date +%Y%m%d%H%M)" export TIMESTAMP -nix-build '' \ +nix-build '' \ -A config.system.build.googleComputeImage \ - --arg configuration "{ imports = [ ]; }" \ + --arg modules "[ ]" \ --argstr system x86_64-linux \ -o gce \ -j 10 diff --git a/nixos/maintainers/scripts/openstack/nova-image.nix b/nixos/maintainers/scripts/openstack/nova-image.nix deleted file mode 100644 index b6f3a5b152003cfa8ffd9f680c60ea5289ea40eb..0000000000000000000000000000000000000000 --- a/nixos/maintainers/scripts/openstack/nova-image.nix +++ /dev/null @@ -1,26 +0,0 @@ -# nix-build '' -A config.system.build.novaImage --arg configuration "{ imports = [ ./nixos/maintainers/scripts/openstack/nova-image.nix ]; }" - -{ config, lib, pkgs, ... }: - -with lib; - -{ - imports = - [ ../../../modules/installer/cd-dvd/channel.nix - ../../../modules/virtualisation/nova-config.nix - ]; - - system.build.novaImage = import ../../../lib/make-disk-image.nix { - inherit lib config; - pkgs = import ../../../.. { inherit (pkgs) system; }; # ensure we use the regular qemu-kvm package - diskSize = 8192; - format = "qcow2"; - configFile = pkgs.writeText "configuration.nix" - '' - { - imports = [ ]; - } - ''; - }; - -} diff --git a/nixos/maintainers/scripts/openstack/openstack-image.nix b/nixos/maintainers/scripts/openstack/openstack-image.nix new file mode 100644 index 0000000000000000000000000000000000000000..4c464f43f61d8ba67d4e17d215e2e8089660a2c4 --- /dev/null +++ b/nixos/maintainers/scripts/openstack/openstack-image.nix @@ -0,0 +1,26 @@ +# nix-build '' -A config.system.build.openstackImage --arg configuration "{ imports = [ ./nixos/maintainers/scripts/openstack/openstack-image.nix ]; }" + +{ config, lib, pkgs, ... }: + +with lib; + +{ + imports = + [ ../../../modules/installer/cd-dvd/channel.nix + ../../../modules/virtualisation/openstack-config.nix + ]; + + system.build.openstackImage = import ../../../lib/make-disk-image.nix { + inherit lib config; + pkgs = import ../../../.. { inherit (pkgs) system; }; # ensure we use the regular qemu-kvm package + diskSize = 8192; + format = "qcow2"; + configFile = pkgs.writeText "configuration.nix" + '' + { + imports = [ ]; + } + ''; + }; + +} diff --git a/nixos/modules/config/appstream.nix b/nixos/modules/config/appstream.nix new file mode 100644 index 0000000000000000000000000000000000000000..483ac9c3cd76221d7abbd4fdccfc870bbc840523 --- /dev/null +++ b/nixos/modules/config/appstream.nix @@ -0,0 +1,25 @@ +{ config, lib, ... }: + +with lib; +{ + options = { + appstream.enable = mkOption { + type = types.bool; + default = true; + description = '' + Whether to install files to support the + AppStream metadata specification. + ''; + }; + }; + + config = mkIf config.appstream.enable { + environment.pathsToLink = [ + # per component metadata + "/share/metainfo" + # legacy path for above + "/share/appdata" + ]; + }; + +} diff --git a/nixos/modules/config/fonts/fontconfig-penultimate.nix b/nixos/modules/config/fonts/fontconfig-penultimate.nix index fc01c15acb9b895b55ca289d2b71d4c66e9ff905..2c18244621afa10fe601711109807b145e10cd33 100644 --- a/nixos/modules/config/fonts/fontconfig-penultimate.nix +++ b/nixos/modules/config/fonts/fontconfig-penultimate.nix @@ -55,7 +55,9 @@ let localConf = pkgs.writeText "fc-local.conf" cfg.localConf; # The configuration to be included in /etc/font/ - penultimateConf = pkgs.runCommand "font-penultimate-conf" {} '' + penultimateConf = pkgs.runCommand "font-penultimate-conf" { + preferLocalBuild = true; + } '' support_folder=$out/etc/fonts/conf.d latest_folder=$out/etc/fonts/${latestVersion}/conf.d @@ -269,7 +271,7 @@ in }; - config = mkIf (config.fonts.fontconfig.enable && cfg.enable) { + config = mkIf (config.fonts.fontconfig.enable && config.fonts.fontconfig.penultimate.enable) { fonts.fontconfig.confPackages = [ penultimateConf ]; diff --git a/nixos/modules/config/fonts/fontconfig-ultimate.nix b/nixos/modules/config/fonts/fontconfig-ultimate.nix index 7549dc6c0651c029221b79a760d7fccadb50a080..45328f3eaf13915df97901fc55ce8d96655e2fac 100644 --- a/nixos/modules/config/fonts/fontconfig-ultimate.nix +++ b/nixos/modules/config/fonts/fontconfig-ultimate.nix @@ -7,7 +7,7 @@ let cfg = config.fonts.fontconfig.ultimate; latestVersion = pkgs.fontconfig.configVersion; # The configuration to be included in /etc/font/ - confPkg = pkgs.runCommand "font-ultimate-conf" {} '' + confPkg = pkgs.runCommand "font-ultimate-conf" { preferLocalBuild = true; } '' support_folder=$out/etc/fonts/conf.d latest_folder=$out/etc/fonts/${latestVersion}/conf.d diff --git a/nixos/modules/config/fonts/fontconfig.nix b/nixos/modules/config/fonts/fontconfig.nix index 12f5ca2e7993a455221a0cbc5254420a978b58e9..d79c43c0b5b98e980da2237da68bf856918294a8 100644 --- a/nixos/modules/config/fonts/fontconfig.nix +++ b/nixos/modules/config/fonts/fontconfig.nix @@ -190,7 +190,7 @@ let cfg = config.fonts.fontconfig; ''; # fontconfig configuration package - confPkg = pkgs.runCommand "fontconfig-conf" {} '' + confPkg = pkgs.runCommand "fontconfig-conf" { preferLocalBuild = true; } '' support_folder=$out/etc/fonts latest_folder=$out/etc/fonts/${latestVersion} diff --git a/nixos/modules/config/fonts/fontdir.nix b/nixos/modules/config/fonts/fontdir.nix index 180e38f81f4fcaceaee5a59de56fa4c803301ff6..cc70fbf8744d9d4b8f19db9fd80676c7959ae73b 100644 --- a/nixos/modules/config/fonts/fontdir.nix +++ b/nixos/modules/config/fonts/fontdir.nix @@ -4,7 +4,7 @@ with lib; let - x11Fonts = pkgs.runCommand "X11-fonts" { } '' + x11Fonts = pkgs.runCommand "X11-fonts" { preferLocalBuild = true; } '' mkdir -p "$out/share/X11-fonts" find ${toString config.fonts.fonts} \ \( -name fonts.dir -o -name '*.ttf' -o -name '*.otf' \) \ diff --git a/nixos/modules/config/gtk/gtk-icon-cache.nix b/nixos/modules/config/gtk/gtk-icon-cache.nix new file mode 100644 index 0000000000000000000000000000000000000000..9c5d993b9c592c94d85ba22cb9f5586365f7870b --- /dev/null +++ b/nixos/modules/config/gtk/gtk-icon-cache.nix @@ -0,0 +1,86 @@ +{ config, lib, pkgs, ... }: + +with lib; +{ + options = { + gtk.iconCache.enable = mkOption { + type = types.bool; + default = config.services.xserver.enable; + description = '' + Whether to build icon theme caches for GTK+ applications. + ''; + }; + }; + + config = mkIf config.gtk.iconCache.enable { + + # (Re)build icon theme caches + # --------------------------- + # Each icon theme has its own cache. The difficult is that many + # packages may contribute with icons to the same theme by installing + # some icons. + # + # For instance, on my current NixOS system, the following packages + # (among many others) have icons installed into the hicolor icon + # theme: hicolor-icon-theme, psensor, wpa_gui, caja, etc. + # + # As another example, the mate icon theme has icons installed by the + # packages mate-icon-theme, mate-settings-daemon, and libmateweather. + # + # The HighContrast icon theme also has icons from different packages, + # like gnome-theme-extras and meld. + + # When the cache is built all of its icons has to be known. How to + # implement this? + # + # I think that most themes have all icons installed by only one + # package. On my system there are 71 themes installed. Only 3 of them + # have icons installed from more than one package. + # + # If the main package of the theme provides a cache, presumably most + # of its icons will be available to applications without running this + # module. But additional icons offered by other packages will not be + # available. Therefore I think that it is good that the main theme + # package installs a cache (although it does not completely fixes the + # situation for packages installed with nix-env). + # + # The module solution presented here keeps the cache when there is + # only one package contributing with icons to the theme. Otherwise it + # rebuilds the cache taking into account the icons provided all + # packages. + + environment.extraSetup = '' + # For each icon theme directory ... + + find $out/share/icons -mindepth 1 -maxdepth 1 -print0 | while read -d $'\0' themedir + do + + # In order to build the cache, the theme dir should be + # writable. When the theme dir is a symbolic link to somewhere + # in the nix store it is not writable and it means that only + # one package is contributing to the theme. If it already has + # a cache, no rebuild is needed. Otherwise a cache has to be + # built, and to be able to do that we first remove the + # symbolic link and make a directory, and then make symbolic + # links from the original directory into the new one. + + if [ ! -w "$themedir" -a -L "$themedir" -a ! -r "$themedir"/icon-theme.cache ]; then + name=$(basename "$themedir") + path=$(readlink -f "$themedir") + rm "$themedir" + mkdir -p "$themedir" + ln -s "$path"/* "$themedir"/ + fi + + # (Re)build the cache if the theme dir is writable, replacing any + # existing cache for the theme + + if [ -w "$themedir" ]; then + rm -f "$themedir"/icon-theme.cache + ${pkgs.gtk3.out}/bin/gtk-update-icon-cache --ignore-theme-index "$themedir" + fi + done + ''; + }; + +} diff --git a/nixos/modules/config/i18n.nix b/nixos/modules/config/i18n.nix index 6bf8c653e113a0247ee5cc1f7fefca5ba53f988b..dc7305b1ba24c7ded0dbbaaa8fc3937e30d1e3d1 100644 --- a/nixos/modules/config/i18n.nix +++ b/nixos/modules/config/i18n.nix @@ -34,6 +34,17 @@ with lib; ''; }; + extraLocaleSettings = mkOption { + type = types.attrsOf types.str; + default = {}; + example = { LC_MESSAGES = "en_US.UTF-8"; LC_TIME = "de_DE.UTF-8"; }; + description = '' + A set of additional system-wide locale settings other than + LANG which can be configured with + . + ''; + }; + supportedLocales = mkOption { type = types.listOf types.str; default = ["all"]; @@ -129,7 +140,7 @@ with lib; environment.sessionVariables = { LANG = config.i18n.defaultLocale; LOCALE_ARCHIVE = "/run/current-system/sw/lib/locale/locale-archive"; - }; + } // config.i18n.extraLocaleSettings; systemd.globalEnvironment = mkIf (config.i18n.supportedLocales != []) { LOCALE_ARCHIVE = "${config.i18n.glibcLocales}/lib/locale/locale-archive"; @@ -141,6 +152,7 @@ with lib; source = pkgs.writeText "locale.conf" '' LANG=${config.i18n.defaultLocale} + ${concatStringsSep "\n" (mapAttrsToList (n: v: ''${n}=${v}'') config.i18n.extraLocaleSettings)} ''; }; diff --git a/nixos/modules/config/iproute2.nix b/nixos/modules/config/iproute2.nix index 881ad671a627596c8b903c8bc1fb493ce96acc9d..a1d9ebcec66bf54f94a0f20b0e0fc69c18acded7 100644 --- a/nixos/modules/config/iproute2.nix +++ b/nixos/modules/config/iproute2.nix @@ -4,20 +4,29 @@ with lib; let cfg = config.networking.iproute2; - confDir = "/run/iproute2"; in { - options.networking.iproute2.enable = mkEnableOption "copy IP route configuration files"; - - config = mkMerge [ - ({ nixpkgs.config.iproute2.confDir = confDir; }) - - (mkIf cfg.enable { - system.activationScripts.iproute2 = '' - cp -R ${pkgs.iproute}/etc/iproute2 ${confDir} - chmod -R 664 ${confDir} - chmod +x ${confDir} + options.networking.iproute2 = { + enable = mkEnableOption "copy IP route configuration files"; + rttablesExtraConfig = mkOption { + type = types.lines; + default = ""; + description = '' + Verbatim lines to add to /etc/iproute2/rt_tables ''; - }) - ]; + }; + }; + + config = mkIf cfg.enable { + environment.etc."iproute2/bpf_pinning" = { mode = "0644"; text = fileContents "${pkgs.iproute}/etc/iproute2/bpf_pinning"; }; + environment.etc."iproute2/ematch_map" = { mode = "0644"; text = fileContents "${pkgs.iproute}/etc/iproute2/ematch_map"; }; + environment.etc."iproute2/group" = { mode = "0644"; text = fileContents "${pkgs.iproute}/etc/iproute2/group"; }; + environment.etc."iproute2/nl_protos" = { mode = "0644"; text = fileContents "${pkgs.iproute}/etc/iproute2/nl_protos"; }; + environment.etc."iproute2/rt_dsfield" = { mode = "0644"; text = fileContents "${pkgs.iproute}/etc/iproute2/rt_dsfield"; }; + environment.etc."iproute2/rt_protos" = { mode = "0644"; text = fileContents "${pkgs.iproute}/etc/iproute2/rt_protos"; }; + environment.etc."iproute2/rt_realms" = { mode = "0644"; text = fileContents "${pkgs.iproute}/etc/iproute2/rt_realms"; }; + environment.etc."iproute2/rt_scopes" = { mode = "0644"; text = fileContents "${pkgs.iproute}/etc/iproute2/rt_scopes"; }; + environment.etc."iproute2/rt_tables" = { mode = "0644"; text = (fileContents "${pkgs.iproute}/etc/iproute2/rt_tables") + + (optionalString (cfg.rttablesExtraConfig != "") "\n\n${cfg.rttablesExtraConfig}"); }; + }; } diff --git a/nixos/modules/config/krb5/default.nix b/nixos/modules/config/krb5/default.nix index c22e99a0a2f182ba6f91f35f59287d0310235612..87021a27d34f240778ed65bead0470138d8c4bdf 100644 --- a/nixos/modules/config/krb5/default.nix +++ b/nixos/modules/config/krb5/default.nix @@ -79,7 +79,7 @@ in { options = { krb5 = { - enable = mkEnableOption "Whether to enable Kerberos V."; + enable = mkEnableOption "building krb5.conf, configuration file for Kerberos V"; kerberos = mkOption { type = types.package; diff --git a/nixos/modules/config/ldap.nix b/nixos/modules/config/ldap.nix index 0693e896f7151601b93bb47970ac46b055095348..e008497a2a6e04c6eb7bcceaba0b7dfd231fad5d 100644 --- a/nixos/modules/config/ldap.nix +++ b/nixos/modules/config/ldap.nix @@ -27,23 +27,29 @@ let ''; }; - nslcdConfig = { - target = "nslcd.conf"; - source = writeText "nslcd.conf" '' - uid nslcd - gid nslcd - uri ${cfg.server} - base ${cfg.base} - timelimit ${toString cfg.timeLimit} - bind_timelimit ${toString cfg.bind.timeLimit} - ${optionalString (cfg.bind.distinguishedName != "") - "binddn ${cfg.bind.distinguishedName}" } - ${optionalString (cfg.daemon.extraConfig != "") cfg.daemon.extraConfig } - ''; - }; - - insertLdapPassword = !config.users.ldap.daemon.enable && - config.users.ldap.bind.distinguishedName != ""; + nslcdConfig = writeText "nslcd.conf" '' + uid nslcd + gid nslcd + uri ${cfg.server} + base ${cfg.base} + timelimit ${toString cfg.timeLimit} + bind_timelimit ${toString cfg.bind.timeLimit} + ${optionalString (cfg.bind.distinguishedName != "") + "binddn ${cfg.bind.distinguishedName}" } + ${optionalString (cfg.daemon.rootpwmoddn != "") + "rootpwmoddn ${cfg.daemon.rootpwmoddn}" } + ${optionalString (cfg.daemon.extraConfig != "") cfg.daemon.extraConfig } + ''; + + # nslcd normally reads configuration from /etc/nslcd.conf. + # this file might contain secrets. We append those at runtime, + # so redirect its location to something more temporary. + nslcdWrapped = runCommandNoCC "nslcd-wrapped" { nativeBuildInputs = [ makeWrapper ]; } '' + mkdir -p $out/bin + makeWrapper ${nss_pam_ldapd}/sbin/nslcd $out/bin/nslcd \ + --set LD_PRELOAD "${pkgs.libredirect}/lib/libredirect.so" \ + --set NIX_REDIRECTS "/etc/nslcd.conf=/run/nslcd/nslcd.conf" + ''; in @@ -126,6 +132,26 @@ in the end of the nslcd configuration file (nslcd.conf). '' ; } ; + + rootpwmoddn = mkOption { + default = ""; + example = "cn=admin,dc=example,dc=com"; + type = types.str; + description = '' + The distinguished name to use to bind to the LDAP server + when the root user tries to modify a user's password. + ''; + }; + + rootpwmodpwFile = mkOption { + default = ""; + example = "/run/keys/nslcd.rootpwmodpw"; + type = types.str; + description = '' + The path to a file containing the credentials with which to bind to + the LDAP server if the root user tries to change a user's password. + ''; + }; }; bind = { @@ -139,7 +165,7 @@ in ''; }; - password = mkOption { + passwordFile = mkOption { default = "/etc/ldap/bind.password"; type = types.str; description = '' @@ -198,14 +224,16 @@ in config = mkIf cfg.enable { - environment.etc = if cfg.daemon.enable then [nslcdConfig] else [ldapConfig]; + environment.etc = optional (!cfg.daemon.enable) ldapConfig; - system.activationScripts = mkIf insertLdapPassword { + system.activationScripts = mkIf (!cfg.daemon.enable) { ldap = stringAfter [ "etc" "groups" "users" ] '' - if test -f "${cfg.bind.password}" ; then - echo "bindpw "$(cat ${cfg.bind.password})"" | cat ${ldapConfig.source} - > /etc/ldap.conf.bindpw - mv -fT /etc/ldap.conf.bindpw /etc/ldap.conf - chmod 600 /etc/ldap.conf + if test -f "${cfg.bind.passwordFile}" ; then + umask 0077 + conf="$(mktemp)" + printf 'bindpw %s\n' "$(cat ${cfg.bind.passwordFile})" | + cat ${ldapConfig.source} - >"$conf" + mv -fT "$conf" /etc/ldap.conf fi ''; }; @@ -227,30 +255,39 @@ in }; systemd.services = mkIf cfg.daemon.enable { - nslcd = { wantedBy = [ "multi-user.target" ]; preStart = '' - mkdir -p /run/nslcd - rm -f /run/nslcd/nslcd.pid; - chown nslcd.nslcd /run/nslcd - ${optionalString (cfg.bind.distinguishedName != "") '' - if test -s "${cfg.bind.password}" ; then - ln -sfT "${cfg.bind.password}" /run/nslcd/bindpw - fi - ''} + umask 0077 + conf="$(mktemp)" + { + cat ${nslcdConfig} + test -z '${cfg.bind.distinguishedName}' -o ! -f '${cfg.bind.passwordFile}' || + printf 'bindpw %s\n' "$(cat '${cfg.bind.passwordFile}')" + test -z '${cfg.daemon.rootpwmoddn}' -o ! -f '${cfg.daemon.rootpwmodpwFile}' || + printf 'rootpwmodpw %s\n' "$(cat '${cfg.daemon.rootpwmodpwFile}')" + } >"$conf" + mv -fT "$conf" /run/nslcd/nslcd.conf ''; + restartTriggers = [ "/run/nslcd/nslcd.conf" ]; serviceConfig = { - ExecStart = "${nss_pam_ldapd}/sbin/nslcd"; + ExecStart = "${nslcdWrapped}/bin/nslcd"; Type = "forking"; - PIDFile = "/run/nslcd/nslcd.pid"; Restart = "always"; + User = "nslcd"; + Group = "nslcd"; + RuntimeDirectory = [ "nslcd" ]; + PIDFile = "/run/nslcd/nslcd.pid"; }; }; }; }; + + imports = + [ (mkRenamedOptionModule [ "users" "ldap" "bind" "password"] [ "users" "ldap" "bind" "passwordFile"]) + ]; } diff --git a/nixos/modules/config/networking.nix b/nixos/modules/config/networking.nix index 1ef5313d3fdd5dab4fdcf638ac249a0627190404..25253cf02e1d99e4b2e805af728d6ea66dee5620 100644 --- a/nixos/modules/config/networking.nix +++ b/nixos/modules/config/networking.nix @@ -16,6 +16,13 @@ let resolvconfOptions = cfg.resolvconfOptions ++ optional cfg.dnsSingleRequest "single-request" ++ optional cfg.dnsExtensionMechanism "edns0"; + + + localhostMapped4 = cfg.hosts ? "127.0.0.1" && elem "localhost" cfg.hosts."127.0.0.1"; + localhostMapped6 = cfg.hosts ? "::1" && elem "localhost" cfg.hosts."::1"; + + localhostMultiple = any (elem "localhost") (attrValues (removeAttrs cfg.hosts [ "127.0.0.1" "::1" ])); + in { @@ -23,8 +30,7 @@ in options = { networking.hosts = lib.mkOption { - type = types.attrsOf ( types.listOf types.str ); - default = {}; + type = types.attrsOf (types.listOf types.str); example = literalExample '' { "127.0.0.1" = [ "foo.bar.baz" ]; @@ -192,6 +198,29 @@ in config = { + assertions = [{ + assertion = localhostMapped4; + message = ''`networking.hosts` doesn't map "127.0.0.1" to "localhost"''; + } { + assertion = !cfg.enableIPv6 || localhostMapped6; + message = ''`networking.hosts` doesn't map "::1" to "localhost"''; + } { + assertion = !localhostMultiple; + message = '' + `networking.hosts` maps "localhost" to something other than "127.0.0.1" + or "::1". This will break some applications. Please use + `networking.extraHosts` if you really want to add such a mapping. + ''; + }]; + + networking.hosts = { + "127.0.0.1" = [ "localhost" ]; + } // optionalAttrs (cfg.hostName != "") { + "127.0.1.1" = [ cfg.hostName ]; + } // optionalAttrs cfg.enableIPv6 { + "::1" = [ "localhost" ]; + }; + environment.etc = { # /etc/services: TCP/UDP port assignments. "services".source = pkgs.iana-etc + "/etc/services"; @@ -199,29 +228,14 @@ in # /etc/protocols: IP protocol numbers. "protocols".source = pkgs.iana-etc + "/etc/protocols"; - # /etc/rpc: RPC program numbers. - "rpc".source = pkgs.glibc.out + "/etc/rpc"; - # /etc/hosts: Hostname-to-IP mappings. - "hosts".text = - let oneToString = set : ip : ip + " " + concatStringsSep " " ( getAttr ip set ); - allToString = set : concatMapStringsSep "\n" ( oneToString set ) ( attrNames set ); - userLocalHosts = optionalString - ( builtins.hasAttr "127.0.0.1" cfg.hosts ) - ( concatStringsSep " " ( remove "localhost" cfg.hosts."127.0.0.1" )); - userLocalHosts6 = optionalString - ( builtins.hasAttr "::1" cfg.hosts ) - ( concatStringsSep " " ( remove "localhost" cfg.hosts."::1" )); - otherHosts = allToString ( removeAttrs cfg.hosts [ "127.0.0.1" "::1" ]); - in - '' - 127.0.0.1 ${userLocalHosts} localhost - ${optionalString cfg.enableIPv6 '' - ::1 ${userLocalHosts6} localhost - ''} - ${otherHosts} - ${cfg.extraHosts} - ''; + "hosts".text = let + oneToString = set: ip: ip + " " + concatStringsSep " " set.${ip}; + allToString = set: concatMapStringsSep "\n" (oneToString set) (attrNames set); + in '' + ${allToString cfg.hosts} + ${cfg.extraHosts} + ''; # /etc/host.conf: resolver configuration file "host.conf".text = cfg.hostConf; @@ -233,6 +247,10 @@ in # a collision with an apparently unrelated environment # variable with the same name exported by dhcpcd. interface_order='lo lo[0-9]*' + '' + optionalString config.services.nscd.enable '' + # Invalidate the nscd cache whenever resolv.conf is + # regenerated. + libc_restart='${pkgs.systemd}/bin/systemctl try-restart --no-block nscd.service 2> /dev/null' '' + optionalString (length resolvconfOptions > 0) '' # Options as described in resolv.conf(5) resolv_conf_options='${concatStringsSep " " resolvconfOptions}' @@ -246,11 +264,14 @@ in ''; } // optionalAttrs config.services.resolved.enable { - # symlink the static version of resolv.conf as recommended by upstream: + # symlink the dynamic stub resolver of resolv.conf as recommended by upstream: # https://www.freedesktop.org/software/systemd/man/systemd-resolved.html#/etc/resolv.conf - "resolv.conf".source = "${pkgs.systemd}/lib/systemd/resolv.conf"; + "resolv.conf".source = "/run/systemd/resolve/stub-resolv.conf"; } // optionalAttrs (config.services.resolved.enable && dnsmasqResolve) { "dnsmasq-resolv.conf".source = "/run/systemd/resolve/resolv.conf"; + } // optionalAttrs (pkgs.stdenv.hostPlatform.libc == "glibc") { + # /etc/rpc: RPC program numbers. + "rpc".source = pkgs.glibc.out + "/etc/rpc"; }; networking.proxy.envVars = @@ -296,4 +317,4 @@ in }; - } +} diff --git a/nixos/modules/config/no-x-libs.nix b/nixos/modules/config/no-x-libs.nix index d9ecaa4818ba66f101928109114e1c353b6848cf..aad02a9ca4e3f2e87ea103b7bf91f788136de65e 100644 --- a/nixos/modules/config/no-x-libs.nix +++ b/nixos/modules/config/no-x-libs.nix @@ -34,8 +34,8 @@ with lib; networkmanager-openvpn = super.networkmanager-openvpn.override { withGnome = false; }; networkmanager-vpnc = super.networkmanager-vpnc.override { withGnome = false; }; networkmanager-iodine = super.networkmanager-iodine.override { withGnome = false; }; - pinentry = super.pinentry_ncurses; - gobjectIntrospection = super.gobjectIntrospection.override { x11Support = false; }; + pinentry = super.pinentry.override { gtk2 = null; gcr = null; qt = null; }; + gobject-introspection = super.gobject-introspection.override { x11Support = false; }; })); }; } diff --git a/nixos/modules/config/nsswitch.nix b/nixos/modules/config/nsswitch.nix index a74d551f50df47240f622ffb221c6278f9eef707..13277fe56e42484ec07f14e06898ed23a7eec09b 100644 --- a/nixos/modules/config/nsswitch.nix +++ b/nixos/modules/config/nsswitch.nix @@ -1,6 +1,6 @@ # Configuration for the Name Service Switch (/etc/nsswitch.conf). -{ config, lib, ... }: +{ config, lib, pkgs, ... }: with lib; @@ -15,6 +15,7 @@ let ldap = canLoadExternalModules && (config.users.ldap.enable && config.users.ldap.nsswitch); sssd = canLoadExternalModules && config.services.sssd.enable; resolved = canLoadExternalModules && config.services.resolved.enable; + googleOsLogin = canLoadExternalModules && config.security.googleOsLogin.enable; hostArray = [ "files" ] ++ optional mymachines "mymachines" @@ -29,6 +30,7 @@ let ++ optional sssd "sss" ++ optional ldap "ldap" ++ optional mymachines "mymachines" + ++ optional googleOsLogin "cache_oslogin oslogin" ++ [ "systemd" ]; shadowArray = [ "files" ] @@ -59,6 +61,15 @@ in { }; }; + system.nssHosts = mkOption { + type = types.listOf types.str; + default = []; + example = [ "mdns" ]; + description = '' + List of host entries to configure in /etc/nsswitch.conf. + ''; + }; + }; config = { @@ -83,7 +94,7 @@ in { group: ${concatStringsSep " " passwdArray} shadow: ${concatStringsSep " " shadowArray} - hosts: ${concatStringsSep " " hostArray} + hosts: ${concatStringsSep " " config.system.nssHosts} networks: files ethers: files @@ -92,12 +103,14 @@ in { rpc: files ''; + system.nssHosts = hostArray; + # 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 = optionals canLoadExternalModules [ config.systemd.package.out ]; - + system.nssModules = (optionals canLoadExternalModules [ config.systemd.package.out ]) + ++ optional googleOsLogin pkgs.google-compute-engine-oslogin.out; }; } diff --git a/nixos/modules/config/pulseaudio.nix b/nixos/modules/config/pulseaudio.nix index e16a021ec20b86ce9a78ac88f01f5665b512bc0a..e61a3a7312018ec05249a21d40db455fa6e5d7a9 100644 --- a/nixos/modules/config/pulseaudio.nix +++ b/nixos/modules/config/pulseaudio.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, pkgs_i686, ... }: +{ config, lib, pkgs, ... }: with pkgs; with lib; @@ -19,7 +19,7 @@ let # Forces 32bit pulseaudio and alsaPlugins to be built/supported for apps # using 32bit alsa on 64bit linux. - enable32BitAlsaPlugins = cfg.support32Bit && stdenv.isx86_64 && (pkgs_i686.alsaLib != null && pkgs_i686.libpulseaudio != null); + enable32BitAlsaPlugins = cfg.support32Bit && stdenv.isx86_64 && (pkgs.pkgsi686Linux.alsaLib != null && pkgs.pkgsi686Linux.libpulseaudio != null); myConfigFile = @@ -63,7 +63,7 @@ let pcm_type.pulse { libs.native = ${pkgs.alsaPlugins}/lib/alsa-lib/libasound_module_pcm_pulse.so ; ${lib.optionalString enable32BitAlsaPlugins - "libs.32Bit = ${pkgs_i686.alsaPlugins}/lib/alsa-lib/libasound_module_pcm_pulse.so ;"} + "libs.32Bit = ${pkgs.pkgsi686Linux.alsaPlugins}/lib/alsa-lib/libasound_module_pcm_pulse.so ;"} } pcm.!default { type pulse @@ -72,7 +72,7 @@ let ctl_type.pulse { libs.native = ${pkgs.alsaPlugins}/lib/alsa-lib/libasound_module_ctl_pulse.so ; ${lib.optionalString enable32BitAlsaPlugins - "libs.32Bit = ${pkgs_i686.alsaPlugins}/lib/alsa-lib/libasound_module_ctl_pulse.so ;"} + "libs.32Bit = ${pkgs.pkgsi686Linux.alsaPlugins}/lib/alsa-lib/libasound_module_ctl_pulse.so ;"} } ctl.!default { type pulse @@ -154,6 +154,18 @@ in { ''; }; + extraModules = mkOption { + type = types.listOf types.package; + default = []; + example = literalExample "[ pkgs.pulseaudio-modules-bt ]"; + description = '' + Extra pulseaudio modules to use. This is intended for out-of-tree + pulseaudio modules like extra bluetooth codecs. + + Extra modules take precedence over built-in pulseaudio modules. + ''; + }; + daemon = { logLevel = mkOption { type = types.str; @@ -168,7 +180,7 @@ in { type = types.attrsOf types.unspecified; default = {}; description = ''Config of the pulse daemon. See man pulse-daemon.conf.''; - example = literalExample ''{ flat-volumes = "no"; }''; + example = literalExample ''{ realtime-scheduling = "yes"; }''; }; }; @@ -230,12 +242,27 @@ in { source = writeText "libao.conf" "default_driver=pulse"; } ]; + # Disable flat volumes to enable relative ones + hardware.pulseaudio.daemon.config.flat-volumes = mkDefault "no"; + # Allow PulseAudio to get realtime priority using rtkit. security.rtkit.enable = true; systemd.packages = [ overriddenPackage ]; }) + (mkIf (cfg.extraModules != []) { + hardware.pulseaudio.daemon.config.dl-search-path = let + overriddenModules = builtins.map + (drv: drv.override { pulseaudio = overriddenPackage; }) + cfg.extraModules; + modulePaths = builtins.map + (drv: "${drv}/lib/pulse-${overriddenPackage.version}/modules") + # User-provided extra modules take precedence + (overriddenModules ++ [ overriddenPackage ]); + in lib.concatStringsSep ":" modulePaths; + }) + (mkIf hasZeroconf { services.avahi.enable = true; }) diff --git a/nixos/modules/config/shells-environment.nix b/nixos/modules/config/shells-environment.nix index 9dc4749b08d1e48723e7b1afd439624a189c9c84..6379b52870ea27be181069c2ad4f5a63f6467540 100644 --- a/nixos/modules/config/shells-environment.nix +++ b/nixos/modules/config/shells-environment.nix @@ -34,6 +34,7 @@ in environment.variables = mkOption { default = {}; + example = { EDITOR = "nvim"; VISUAL = "nvim"; }; description = '' A set of environment variables used in the global environment. These variables will be set on shell initialisation (e.g. in /etc/profile). @@ -80,7 +81,7 @@ in default = ""; description = '' Shell script code called during shell initialisation. - This code is asumed to be shell-independent, which means you should + This code is assumed to be shell-independent, which means you should stick to pure sh without sh word split. ''; type = types.lines; @@ -90,7 +91,7 @@ in default = ""; description = '' Shell script code called during login shell initialisation. - This code is asumed to be shell-independent, which means you should + This code is assumed to be shell-independent, which means you should stick to pure sh without sh word split. ''; type = types.lines; @@ -100,21 +101,21 @@ in default = ""; description = '' Shell script code called during interactive shell initialisation. - This code is asumed to be shell-independent, which means you should + This code is assumed to be shell-independent, which means you should stick to pure sh without sh word split. ''; type = types.lines; }; environment.shellAliases = mkOption { - default = {}; - example = { ll = "ls -l"; }; + example = { l = null; ll = "ls -l"; }; description = '' An attribute set that maps aliases (the top level attribute names in this option) to command strings or directly to build outputs. The aliases are added to all users' shells. + Aliases mapped to null are ignored. ''; - type = types.attrs; # types.attrsOf types.stringOrPath; + type = with types; attrsOf (nullOr (either str path)); }; environment.binsh = mkOption { @@ -156,21 +157,36 @@ in # terminal instead of logging out of X11). environment.variables = config.environment.sessionVariables; + environment.shellAliases = mapAttrs (name: mkDefault) { + ls = "ls --color=tty"; + ll = "ls -l"; + l = "ls -alh"; + }; + environment.etc."shells".text = '' ${concatStringsSep "\n" (map utils.toShellPath cfg.shells)} /bin/sh ''; + # For resetting environment with `. /etc/set-environment` when needed + # and discoverability (see motivation of #30418). + environment.etc."set-environment".source = config.system.build.setEnvironment; + system.build.setEnvironment = pkgs.writeText "set-environment" - '' - ${exportedEnvVars} + '' + # DO NOT EDIT -- this file has been generated automatically. + + # Prevent this file from being sourced by child shells. + export __NIXOS_SET_ENVIRONMENT_DONE=1 - ${cfg.extraInit} + ${exportedEnvVars} - # ~/bin if it exists overrides other bin directories. - export PATH="$HOME/bin:$PATH" - ''; + ${cfg.extraInit} + + # ~/bin if it exists overrides other bin directories. + export PATH="$HOME/bin:$PATH" + ''; system.activationScripts.binsh = stringAfter [ "stdio" ] '' diff --git a/nixos/modules/config/system-path.nix b/nixos/modules/config/system-path.nix index 361151665018130c75eb6fb002f40cce387da945..fae2fc74008290df848919ec3c5a385bec8bb219 100644 --- a/nixos/modules/config/system-path.nix +++ b/nixos/modules/config/system-path.nix @@ -7,19 +7,21 @@ with lib; let - requiredPackages = + requiredPackages = map (pkg: setPrio ((pkg.meta.priority or 5) + 3) pkg) [ config.nix.package pkgs.acl pkgs.attr pkgs.bashInteractive # bash with ncurses support pkgs.bzip2 - pkgs.coreutils + pkgs.coreutils-full pkgs.cpio pkgs.curl pkgs.diffutils pkgs.findutils pkgs.gawk - pkgs.glibc # for ldd, getent + pkgs.stdenv.cc.libc + pkgs.getent + pkgs.getconf pkgs.gnugrep pkgs.gnupatch pkgs.gnused @@ -81,6 +83,12 @@ in description = "List of additional package outputs to be symlinked into /run/current-system/sw."; }; + extraSetup = mkOption { + type = types.lines; + default = ""; + description = "Shell fragments to be run after the system environment has been created. This should only be used for things that need to modify the internals of the environment, e.g. generating MIME caches. The environment being built can be accessed at $out."; + }; + }; system = { @@ -107,12 +115,7 @@ in "/etc/gtk-3.0" "/lib" # FIXME: remove and update debug-info.nix "/sbin" - "/share/applications" - "/share/desktop-directories" "/share/emacs" - "/share/icons" - "/share/menus" - "/share/mime" "/share/nano" "/share/org" "/share/themes" @@ -132,28 +135,11 @@ in # outputs TODO: note that the tools will often not be linked by default postBuild = '' - if [ -x $out/bin/update-mime-database -a -w $out/share/mime ]; then - XDG_DATA_DIRS=$out/share $out/bin/update-mime-database -V $out/share/mime > /dev/null - fi - - if [ -x $out/bin/gtk-update-icon-cache -a -f $out/share/icons/hicolor/index.theme ]; then - $out/bin/gtk-update-icon-cache $out/share/icons/hicolor - fi - if [ -x $out/bin/glib-compile-schemas -a -w $out/share/glib-2.0/schemas ]; then $out/bin/glib-compile-schemas $out/share/glib-2.0/schemas fi - if [ -x $out/bin/update-desktop-database -a -w $out/share/applications ]; then - $out/bin/update-desktop-database $out/share/applications - fi - - if [ -x $out/bin/install-info -a -w $out/share/info ]; then - shopt -s nullglob - for i in $out/share/info/*.info $out/share/info/*.info.gz; do - $out/bin/install-info $i $out/share/info/dir - done - fi + ${config.environment.extraSetup} ''; }; diff --git a/nixos/modules/config/users-groups.nix b/nixos/modules/config/users-groups.nix index ddec21b5f6e55b27c656d5fae4e2181bf1b6d870..c3f228c9bcc4d78e0b4114397b159c8174a9be9f 100644 --- a/nixos/modules/config/users-groups.nix +++ b/nixos/modules/config/users-groups.nix @@ -266,7 +266,7 @@ let (mkIf config.isNormalUser { group = mkDefault "users"; createHome = mkDefault true; - home = mkDefault "/home/${name}"; + home = mkDefault "/home/${config.name}"; useDefaultShell = mkDefault true; isSystemUser = mkDefault false; }) @@ -524,6 +524,8 @@ in { utmp.gid = ids.gids.utmp; adm.gid = ids.gids.adm; input.gid = ids.gids.input; + kvm.gid = ids.gids.kvm; + render.gid = ids.gids.render; }; system.activationScripts.users = stringAfter [ "stdio" ] @@ -532,8 +534,8 @@ in { install -m 0755 -d /home ${pkgs.perl}/bin/perl -w \ - -I${pkgs.perlPackages.FileSlurp}/lib/perl5/site_perl \ - -I${pkgs.perlPackages.JSON}/lib/perl5/site_perl \ + -I${pkgs.perlPackages.FileSlurp}/${pkgs.perl.libPrefix} \ + -I${pkgs.perlPackages.JSON}/${pkgs.perl.libPrefix} \ ${./update-users-groups.pl} ${spec} ''; diff --git a/nixos/modules/config/xdg/autostart.nix b/nixos/modules/config/xdg/autostart.nix new file mode 100644 index 0000000000000000000000000000000000000000..0ee94fed818b16dc109c764fb7422239d0243a36 --- /dev/null +++ b/nixos/modules/config/xdg/autostart.nix @@ -0,0 +1,22 @@ +{ config, lib, ... }: + +with lib; +{ + options = { + xdg.autostart.enable = mkOption { + type = types.bool; + default = true; + description = '' + Whether to install files to support the + XDG Autostart specification. + ''; + }; + }; + + config = mkIf config.xdg.autostart.enable { + environment.pathsToLink = [ + "/etc/xdg/autostart" + ]; + }; + +} diff --git a/nixos/modules/config/xdg/icons.nix b/nixos/modules/config/xdg/icons.nix new file mode 100644 index 0000000000000000000000000000000000000000..8268a3771a0ea553561bd2af8b1a3154b5ce1b2e --- /dev/null +++ b/nixos/modules/config/xdg/icons.nix @@ -0,0 +1,27 @@ +{ config, lib, ... }: + +with lib; +{ + options = { + xdg.icons.enable = mkOption { + type = types.bool; + default = true; + description = '' + Whether to install files to support the + XDG Icon Theme specification. + ''; + }; + }; + + config = mkIf config.xdg.icons.enable { + environment.pathsToLink = [ + "/share/icons" + "/share/pixmaps" + ]; + + environment.profileRelativeEnvVars = { + XCURSOR_PATH = [ "/share/icons" ]; + }; + }; + +} diff --git a/nixos/modules/config/xdg/menus.nix b/nixos/modules/config/xdg/menus.nix new file mode 100644 index 0000000000000000000000000000000000000000..c172692df5d7d64d5213bdb2fcaa357414053200 --- /dev/null +++ b/nixos/modules/config/xdg/menus.nix @@ -0,0 +1,25 @@ +{ config, lib, ... }: + +with lib; +{ + options = { + xdg.menus.enable = mkOption { + type = types.bool; + default = true; + description = '' + Whether to install files to support the + XDG Desktop Menu specification. + ''; + }; + }; + + config = mkIf config.xdg.menus.enable { + environment.pathsToLink = [ + "/share/applications" + "/share/desktop-directories" + "/etc/xdg/menus" + "/etc/xdg/menus/applications-merged" + ]; + }; + +} diff --git a/nixos/modules/config/xdg/mime.nix b/nixos/modules/config/xdg/mime.nix new file mode 100644 index 0000000000000000000000000000000000000000..cd1064630fbcce0c671b2e3f1bbfe7a215ed8aae --- /dev/null +++ b/nixos/modules/config/xdg/mime.nix @@ -0,0 +1,36 @@ +{ config, lib, pkgs, ... }: + +with lib; +{ + options = { + xdg.mime.enable = mkOption { + type = types.bool; + default = true; + description = '' + Whether to install files to support the + XDG Shared MIME-info specification and the + XDG MIME Applications specification. + ''; + }; + }; + + config = mkIf config.xdg.mime.enable { + environment.pathsToLink = [ "/share/mime" ]; + + environment.systemPackages = [ + # this package also installs some useful data, as well as its utilities + pkgs.shared-mime-info + ]; + + environment.extraSetup = '' + if [ -w $out/share/mime ] && [ -d $out/share/mime/packages ]; then + XDG_DATA_DIRS=$out/share ${pkgs.buildPackages.shared-mime-info}/bin/update-mime-database -V $out/share/mime > /dev/null + fi + + if [ -w $out/share/applications ]; then + ${pkgs.buildPackages.desktop-file-utils}/bin/update-desktop-database $out/share/applications + fi + ''; + }; + +} diff --git a/nixos/modules/config/xdg/sounds.nix b/nixos/modules/config/xdg/sounds.nix new file mode 100644 index 0000000000000000000000000000000000000000..148240d631cf266696522da2a1fae60f38c84b10 --- /dev/null +++ b/nixos/modules/config/xdg/sounds.nix @@ -0,0 +1,22 @@ +{ config, lib, ... }: + +with lib; +{ + options = { + xdg.sounds.enable = mkOption { + type = types.bool; + default = true; + description = '' + Whether to install files to support the + XDG Sound Theme specification. + ''; + }; + }; + + config = mkIf config.xdg.sounds.enable { + environment.pathsToLink = [ + "/share/sounds" + ]; + }; + +} diff --git a/nixos/modules/config/zram.nix b/nixos/modules/config/zram.nix index c1748812821e71a86412c6a6566b708ca33244e0..5d411c73a560951ba78912c2d013a205b31c341d 100644 --- a/nixos/modules/config/zram.nix +++ b/nixos/modules/config/zram.nix @@ -6,10 +6,27 @@ let cfg = config.zramSwap; - devices = map (nr: "zram${toString nr}") (range 0 (cfg.numDevices - 1)); + # don't set swapDevices as mkDefault, so we can detect user had read our warning + # (see below) and made an action (or not) + devicesCount = if cfg.swapDevices != null then cfg.swapDevices else cfg.numDevices; + + devices = map (nr: "zram${toString nr}") (range 0 (devicesCount - 1)); modprobe = "${pkgs.kmod}/bin/modprobe"; + warnings = + assert cfg.swapDevices != null -> cfg.numDevices >= cfg.swapDevices; + flatten [ + (optional (cfg.numDevices > 1 && cfg.swapDevices == null) '' + Using several small zram devices as swap is no better than using one large. + Set either zramSwap.numDevices = 1 or explicitly set zramSwap.swapDevices. + + Previously multiple zram devices were used to enable multithreaded + compression. Linux supports multithreaded compression for 1 device + since 3.15. See https://lkml.org/lkml/2014/2/28/404 for details. + '') + ]; + in { @@ -24,9 +41,11 @@ in default = false; type = types.bool; description = '' - Enable in-memory compressed swap space provided by the zram kernel - module. - See https://www.kernel.org/doc/Documentation/blockdev/zram.txt + Enable in-memory compressed devices and swap space provided by the zram + kernel module. + See + https://www.kernel.org/doc/Documentation/blockdev/zram.txt + . ''; }; @@ -34,7 +53,19 @@ in default = 1; type = types.int; description = '' - Number of zram swap devices to create. + Number of zram devices to create. See also + zramSwap.swapDevices + ''; + }; + + swapDevices = mkOption { + default = null; + example = 1; + type = with types; nullOr int; + description = '' + Number of zram devices to be used as swap. Must be + <= zramSwap.numDevices. + Default is same as zramSwap.numDevices, recommended is 1. ''; }; @@ -44,7 +75,8 @@ in description = '' Maximum amount of memory that can be used by the zram swap devices (as a percentage of your total memory). Defaults to 1/2 of your total - RAM. + RAM. Run zramctl to check how good memory is + compressed. ''; }; @@ -58,12 +90,26 @@ in ''; }; + algorithm = mkOption { + default = "lzo"; + example = "lz4"; + type = with types; either (enum [ "lzo" "lz4" "zstd" ]) str; + description = '' + Compression algorithm. lzo has good compression, + but is slow. lz4 has bad compression, but is fast. + zstd is both good compression and fast, but requires newer kernel. + You can check what other algorithms are supported by your zram device with + cat /sys/class/block/zram*/comp_algorithm + ''; + }; }; }; config = mkIf cfg.enable { + inherit warnings; + system.requiredKernelConfig = with config.lib.kernelConfig; [ (isModule "ZRAM") ]; @@ -85,25 +131,25 @@ in createZramInitService = dev: nameValuePair "zram-init-${dev}" { description = "Init swap on zram-based device ${dev}"; - bindsTo = [ "dev-${dev}.swap" ]; after = [ "dev-${dev}.device" "zram-reloader.service" ]; requires = [ "dev-${dev}.device" "zram-reloader.service" ]; before = [ "dev-${dev}.swap" ]; requiredBy = [ "dev-${dev}.swap" ]; + unitConfig.DefaultDependencies = false; # needed to prevent a cycle serviceConfig = { Type = "oneshot"; RemainAfterExit = true; ExecStop = "${pkgs.runtimeShell} -c 'echo 1 > /sys/class/block/${dev}/reset'"; }; script = '' - set -u - set -o pipefail - + set -euo pipefail + # Calculate memory to use for zram - totalmem=$(${pkgs.gnugrep}/bin/grep 'MemTotal: ' /proc/meminfo | ${pkgs.gawk}/bin/awk '{print $2}') - mem=$(((totalmem * ${toString cfg.memoryPercent} / 100 / ${toString cfg.numDevices}) * 1024)) + mem=$(${pkgs.gawk}/bin/awk '/MemTotal: / { + print int($2*${toString cfg.memoryPercent}/100.0/${toString devicesCount}*1024) + }' /proc/meminfo) - echo $mem > /sys/class/block/${dev}/disksize + ${pkgs.utillinux}/sbin/zramctl --size $mem --algorithm ${cfg.algorithm} /dev/${dev} ${pkgs.utillinux}/sbin/mkswap /dev/${dev} ''; restartIfChanged = false; @@ -111,6 +157,9 @@ in in listToAttrs ((map createZramInitService devices) ++ [(nameValuePair "zram-reloader" { description = "Reload zram kernel module when number of devices changes"; + wants = [ "systemd-udevd.service" ]; + after = [ "systemd-udevd.service" ]; + unitConfig.DefaultDependencies = false; # needed to prevent a cycle serviceConfig = { Type = "oneshot"; RemainAfterExit = true; @@ -118,7 +167,11 @@ in ExecStart = "${modprobe} zram"; ExecStop = "${modprobe} -r zram"; }; - restartTriggers = [ cfg.numDevices ]; + restartTriggers = [ + cfg.numDevices + cfg.algorithm + cfg.memoryPercent + ]; restartIfChanged = true; })]); diff --git a/nixos/modules/hardware/acpilight.nix b/nixos/modules/hardware/acpilight.nix new file mode 100644 index 0000000000000000000000000000000000000000..34e8a222096533b942317ac1f25a1d698eae5b9f --- /dev/null +++ b/nixos/modules/hardware/acpilight.nix @@ -0,0 +1,24 @@ +{ config, lib, pkgs, ... }: + +with lib; +let + cfg = config.hardware.acpilight; +in +{ + options = { + hardware.acpilight = { + enable = mkOption { + default = false; + type = types.bool; + description = '' + Enable acpilight. + This will allow brightness control via xbacklight from users in the video group + ''; + }; + }; + }; + + config = mkIf cfg.enable { + services.udev.packages = with pkgs; [ acpilight ]; + }; +} diff --git a/nixos/modules/hardware/all-firmware.nix b/nixos/modules/hardware/all-firmware.nix index e978ec6b40ada61d64047bfc9605d8f09d26998b..c79be810eefd4ff1999b086195389efae2c8b89c 100644 --- a/nixos/modules/hardware/all-firmware.nix +++ b/nixos/modules/hardware/all-firmware.nix @@ -38,7 +38,13 @@ in { firmwareLinuxNonfree intel2200BGFirmware rtl8192su-firmware - ] ++ optional (pkgs.stdenv.isAarch32 || pkgs.stdenv.isAarch64) raspberrypiWirelessFirmware + rt5677-firmware + rtl8723bs-firmware + rtlwifi_new-firmware + zd1211fw + alsa-firmware + openelec-dvb-firmware + ] ++ optional (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) raspberrypiWirelessFirmware ++ optionals (versionOlder config.boot.kernelPackages.kernel.version "4.13") [ rtl8723bs-firmware ]; @@ -54,6 +60,10 @@ in { }]; hardware.firmware = with pkgs; [ broadcom-bt-firmware + b43Firmware_5_1_138 + b43Firmware_6_30_163_46 + b43FirmwareCutter + facetimehd-firmware ]; }) ]; diff --git a/nixos/modules/hardware/bladeRF.nix b/nixos/modules/hardware/bladeRF.nix new file mode 100644 index 0000000000000000000000000000000000000000..925443477143167e48c58f0b736c44f05bfe1447 --- /dev/null +++ b/nixos/modules/hardware/bladeRF.nix @@ -0,0 +1,28 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.hardware.bladeRF; + +in + +{ + options.hardware.bladeRF = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Enables udev rules for BladeRF devices. By default grants access + to users in the "bladerf" group. You may want to install the + libbladeRF package. + ''; + }; + + }; + + config = mkIf cfg.enable { + services.udev.packages = [ pkgs.libbladeRF ]; + users.groups.bladerf = {}; + }; +} \ No newline at end of file diff --git a/nixos/modules/hardware/ckb-next.nix b/nixos/modules/hardware/ckb-next.nix new file mode 100644 index 0000000000000000000000000000000000000000..20b2756d8b2663e8cfcfcd100d86d68fdf846f78 --- /dev/null +++ b/nixos/modules/hardware/ckb-next.nix @@ -0,0 +1,49 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.hardware.ckb-next; + +in + { + options.hardware.ckb-next = { + enable = mkEnableOption "the Corsair keyboard/mouse driver"; + + gid = mkOption { + type = types.nullOr types.int; + default = null; + example = 100; + description = '' + Limit access to the ckb daemon to a particular group. + ''; + }; + + package = mkOption { + type = types.package; + default = pkgs.ckb-next; + defaultText = "pkgs.ckb-next"; + description = '' + The package implementing the Corsair keyboard/mouse driver. + ''; + }; + }; + + config = mkIf cfg.enable { + environment.systemPackages = [ cfg.package ]; + + systemd.services.ckb-next = { + description = "Corsair Keyboards and Mice Daemon"; + wantedBy = ["multi-user.target"]; + serviceConfig = { + ExecStart = "${cfg.package}/bin/ckb-next-daemon ${optionalString (cfg.gid != null) "--gid=${builtins.toString cfg.gid}"}"; + Restart = "on-failure"; + StandardOutput = "syslog"; + }; + }; + }; + + meta = { + maintainers = with lib.maintainers; [ kierdavis ]; + }; + } diff --git a/nixos/modules/hardware/ckb.nix b/nixos/modules/hardware/ckb.nix deleted file mode 100644 index 8429572a8822644bbf628ee223d87bfb18cb66cc..0000000000000000000000000000000000000000 --- a/nixos/modules/hardware/ckb.nix +++ /dev/null @@ -1,40 +0,0 @@ -{ config, lib, pkgs, ... }: - -with lib; - -let - cfg = config.hardware.ckb; - -in - { - options.hardware.ckb = { - enable = mkEnableOption "the Corsair keyboard/mouse driver"; - - package = mkOption { - type = types.package; - default = pkgs.ckb; - defaultText = "pkgs.ckb"; - description = '' - The package implementing the Corsair keyboard/mouse driver. - ''; - }; - }; - - config = mkIf cfg.enable { - environment.systemPackages = [ cfg.package ]; - - systemd.services.ckb = { - description = "Corsair Keyboard Daemon"; - wantedBy = ["multi-user.target"]; - script = "${cfg.package}/bin/ckb-daemon"; - serviceConfig = { - Restart = "always"; - StandardOutput = "syslog"; - }; - }; - }; - - meta = { - maintainers = with lib.maintainers; [ kierdavis ]; - }; - } diff --git a/nixos/modules/hardware/ledger.nix b/nixos/modules/hardware/ledger.nix new file mode 100644 index 0000000000000000000000000000000000000000..41abe74315a0f467a0eafc9cea72b055e899ed26 --- /dev/null +++ b/nixos/modules/hardware/ledger.nix @@ -0,0 +1,14 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.hardware.ledger; + +in { + options.hardware.ledger.enable = mkEnableOption "udev rules for Ledger devices"; + + config = mkIf cfg.enable { + services.udev.packages = [ pkgs.ledger-udev-rules ]; + }; +} diff --git a/nixos/modules/hardware/logitech.nix b/nixos/modules/hardware/logitech.nix new file mode 100644 index 0000000000000000000000000000000000000000..d6f43bdddcc8c46e27d94125f71bd8a517f115a8 --- /dev/null +++ b/nixos/modules/hardware/logitech.nix @@ -0,0 +1,28 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.hardware.logitech; + +in { + options.hardware.logitech = { + enable = mkEnableOption "Logitech Devices"; + + enableGraphical = mkOption { + type = types.bool; + default = false; + description = "Enable graphical support applications."; + }; + }; + + config = lib.mkIf cfg.enable { + environment.systemPackages = [ + pkgs.ltunify + ] ++ lib.optional cfg.enableGraphical pkgs.solaar; + + # ltunifi and solaar both provide udev rules but the most up-to-date have been split + # out into a dedicated derivation + services.udev.packages = with pkgs; [ logitech-udev-rules ]; + }; +} diff --git a/nixos/modules/hardware/opengl.nix b/nixos/modules/hardware/opengl.nix index b371af353cf9ac2b3913398c51e55221064c63d3..6b7b8069fd44a23f08ea91d113c8b955f7599435 100644 --- a/nixos/modules/hardware/opengl.nix +++ b/nixos/modules/hardware/opengl.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, pkgs_i686, ... }: +{ config, lib, pkgs, ... }: with lib; @@ -124,22 +124,26 @@ in config = mkIf cfg.enable { - assertions = lib.singleton { - assertion = cfg.driSupport32Bit -> pkgs.stdenv.isx86_64; - message = "Option driSupport32Bit only makes sense on a 64-bit system."; - }; - - system.activationScripts.setup-opengl = - '' - ln -sfn ${package} /run/opengl-driver - ${if pkgs.stdenv.isi686 then '' - ln -sfn opengl-driver /run/opengl-driver-32 - '' else if cfg.driSupport32Bit then '' - ln -sfn ${package32} /run/opengl-driver-32 - '' else '' - rm -f /run/opengl-driver-32 - ''} - ''; + assertions = [ + { assertion = cfg.driSupport32Bit -> pkgs.stdenv.isx86_64; + message = "Option driSupport32Bit only makes sense on a 64-bit system."; + } + { assertion = cfg.driSupport32Bit -> (config.boot.kernelPackages.kernel.features.ia32Emulation or false); + message = "Option driSupport32Bit requires a kernel that supports 32bit emulation"; + } + ]; + + systemd.tmpfiles.rules = [ + "L+ /run/opengl-driver - - - - ${package}" + ( + if pkgs.stdenv.isi686 then + "L+ /run/opengl-driver-32 - - - - opengl-driver" + else if cfg.driSupport32Bit then + "L+ /run/opengl-driver-32 - - - - ${package32}" + else + "r /run/opengl-driver-32" + ) + ]; environment.sessionVariables.LD_LIBRARY_PATH = [ "/run/opengl-driver/lib" ] ++ optional cfg.driSupport32Bit "/run/opengl-driver-32/lib"; @@ -148,7 +152,7 @@ in [ "/run/opengl-driver/share" ] ++ optional cfg.driSupport32Bit "/run/opengl-driver-32/share"; hardware.opengl.package = mkDefault (makePackage pkgs); - hardware.opengl.package32 = mkDefault (makePackage pkgs_i686); + hardware.opengl.package32 = mkDefault (makePackage pkgs.pkgsi686Linux); boot.extraModulePackages = optional (elem "virtualbox" videoDrivers) kernelPackages.virtualboxGuestAdditions; }; diff --git a/nixos/modules/hardware/raid/hpsa.nix b/nixos/modules/hardware/raid/hpsa.nix index 1b4b1fa1954fb0cd793557f0938ddb6094365006..3a65cb800a98a9f938ca0bdf5cadea3dbdc53a18 100644 --- a/nixos/modules/hardware/raid/hpsa.nix +++ b/nixos/modules/hardware/raid/hpsa.nix @@ -8,7 +8,7 @@ let version = "2.40-13.0"; src = pkgs.fetchurl { - url = "http://downloads.linux.hpe.com/SDR/downloads/MCP/Ubuntu/pool/non-free/${name}_amd64.deb"; + url = "https://downloads.linux.hpe.com/SDR/downloads/MCP/Ubuntu/pool/non-free/${name}_amd64.deb"; sha256 = "11w7fwk93lmfw0yya4jpjwdmgjimqxx6412sqa166g1pz4jil4sw"; }; @@ -34,7 +34,7 @@ let meta = with lib; { description = "HP Smart Array CLI"; - homepage = http://downloads.linux.hpe.com/SDR/downloads/MCP/Ubuntu/pool/non-free/; + homepage = https://downloads.linux.hpe.com/SDR/downloads/MCP/Ubuntu/pool/non-free/; license = licenses.unfreeRedistributable; platforms = [ "x86_64-linux" ]; maintainers = with maintainers; [ volth ]; diff --git a/nixos/modules/hardware/steam-hardware.nix b/nixos/modules/hardware/steam-hardware.nix new file mode 100644 index 0000000000000000000000000000000000000000..378aeffe71b5ebc9b2671b5d4e5b2386d2961dd8 --- /dev/null +++ b/nixos/modules/hardware/steam-hardware.nix @@ -0,0 +1,25 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.hardware.steam-hardware; + +in + +{ + options.hardware.steam-hardware = { + enable = mkOption { + type = types.bool; + default = false; + description = "Enable udev rules for Steam hardware such as the Steam Controller, other supported controllers and the HTC Vive"; + }; + }; + + config = mkIf cfg.enable { + services.udev.packages = [ + pkgs.steamPackages.steam + ]; + }; +} diff --git a/nixos/modules/hardware/video/amdgpu-pro.nix b/nixos/modules/hardware/video/amdgpu-pro.nix index 50af022b93c86e54c0680afab7f1920ef6f053ef..ab9e0c92020e0c49a0b118753d548fb721085906 100644 --- a/nixos/modules/hardware/video/amdgpu-pro.nix +++ b/nixos/modules/hardware/video/amdgpu-pro.nix @@ -1,6 +1,6 @@ # This module provides the proprietary AMDGPU-PRO drivers. -{ config, lib, pkgs, pkgs_i686, ... }: +{ config, lib, pkgs, ... }: with lib; @@ -11,7 +11,7 @@ let enabled = elem "amdgpu-pro" drivers; package = config.boot.kernelPackages.amdgpu-pro; - package32 = pkgs_i686.linuxPackages.amdgpu-pro.override { libsOnly = true; kernel = null; }; + package32 = pkgs.pkgsi686Linux.linuxPackages.amdgpu-pro.override { libsOnly = true; kernel = null; }; opengl = config.hardware.opengl; diff --git a/nixos/modules/hardware/video/ati.nix b/nixos/modules/hardware/video/ati.nix index 2fa37af6ca58836d8c82fb0223f8af066dedda67..6102919f0155f78202a438173a2f3cc87647e308 100644 --- a/nixos/modules/hardware/video/ati.nix +++ b/nixos/modules/hardware/video/ati.nix @@ -1,6 +1,6 @@ # This module provides the proprietary ATI X11 / OpenGL drivers. -{ config, lib, pkgs_i686, ... }: +{ config, lib, pkgs, ... }: with lib; @@ -24,7 +24,7 @@ in { name = "fglrx"; modules = [ ati_x11 ]; libPath = [ "${ati_x11}/lib" ]; }; hardware.opengl.package = ati_x11; - hardware.opengl.package32 = pkgs_i686.linuxPackages.ati_drivers_x11.override { libsOnly = true; kernel = null; }; + hardware.opengl.package32 = pkgs.pkgsi686Linux.linuxPackages.ati_drivers_x11.override { libsOnly = true; kernel = null; }; environment.systemPackages = [ ati_x11 ]; diff --git a/nixos/modules/hardware/video/nvidia.nix b/nixos/modules/hardware/video/nvidia.nix index eb1952280331f6553cc21f016e9376b64b33de2c..80ea7bc5d5c9560ea588721f524313eadae509c0 100644 --- a/nixos/modules/hardware/video/nvidia.nix +++ b/nixos/modules/hardware/video/nvidia.nix @@ -1,6 +1,6 @@ # This module provides the proprietary NVIDIA X11 / OpenGL drivers. -{ config, lib, pkgs, pkgs_i686, ... }: +{ stdenv, config, lib, pkgs, ... }: with lib; @@ -20,48 +20,171 @@ let kernelPackages.nvidia_x11_legacy304 else if elem "nvidiaLegacy340" drivers then kernelPackages.nvidia_x11_legacy340 + else if elem "nvidiaLegacy390" drivers then + kernelPackages.nvidia_x11_legacy390 else null; nvidia_x11 = nvidiaForKernel config.boot.kernelPackages; - nvidia_libs32 = (nvidiaForKernel pkgs_i686.linuxPackages).override { libsOnly = true; kernel = null; }; + nvidia_libs32 = + if versionOlder nvidia_x11.version "391" then + ((nvidiaForKernel pkgs.pkgsi686Linux.linuxPackages).override { libsOnly = true; kernel = null; }).out + else + (nvidiaForKernel config.boot.kernelPackages).lib32; enabled = nvidia_x11 != null; + + cfg = config.hardware.nvidia; + optimusCfg = cfg.optimus_prime; in { + options = { + hardware.nvidia.modesetting.enable = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Enable kernel modesetting when using the NVIDIA proprietary driver. + + Enabling this fixes screen tearing when using Optimus via PRIME (see + . This is not enabled + by default because it is not officially supported by NVIDIA and would not + work with SLI. + ''; + }; + + hardware.nvidia.optimus_prime.enable = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Enable NVIDIA Optimus support using the NVIDIA proprietary driver via PRIME. + If enabled, the NVIDIA GPU will be always on and used for all rendering, + while enabling output to displays attached only to the integrated Intel GPU + without a multiplexer. + + Note that this option only has any effect if the "nvidia" driver is specified + in , and it should preferably + be the only driver there. + + If this is enabled, then the bus IDs of the NVIDIA and Intel GPUs have to be + specified ( and + ). + + If you enable this, you may want to also enable kernel modesetting for the + NVIDIA driver () in order + to prevent tearing. + + Note that this configuration will only be successful when a display manager + for which the + option is supported is used; notably, SLiM is not supported. + ''; + }; + + hardware.nvidia.optimus_prime.nvidiaBusId = lib.mkOption { + type = lib.types.string; + default = ""; + example = "PCI:1:0:0"; + description = '' + Bus ID of the NVIDIA GPU. You can find it using lspci; for example if lspci + shows the NVIDIA GPU at "01:00.0", set this option to "PCI:1:0:0". + ''; + }; + + hardware.nvidia.optimus_prime.intelBusId = lib.mkOption { + type = lib.types.string; + default = ""; + example = "PCI:0:2:0"; + description = '' + Bus ID of the Intel GPU. You can find it using lspci; for example if lspci + shows the Intel GPU at "00:02.0", set this option to "PCI:0:2:0". + ''; + }; + }; config = mkIf enabled { assertions = [ { - assertion = config.services.xserver.displayManager.gdm.wayland; - message = "NVidia drivers don't support wayland"; + assertion = with config.services.xserver.displayManager; gdm.enable -> !gdm.wayland; + message = "NVIDIA drivers don't support wayland, set services.xserver.displayManager.gdm.wayland=false"; + } + { + assertion = !optimusCfg.enable || + (optimusCfg.nvidiaBusId != "" && optimusCfg.intelBusId != ""); + message = '' + When NVIDIA Optimus via PRIME is enabled, the GPU bus IDs must configured. + ''; } ]; - services.xserver.drivers = singleton - { name = "nvidia"; modules = [ nvidia_x11.bin ]; libPath = [ nvidia_x11 ]; }; + # If Optimus/PRIME is enabled, we: + # - Specify the configured NVIDIA GPU bus ID in the Device section for the + # "nvidia" driver. + # - Add the AllowEmptyInitialConfiguration option to the Screen section for the + # "nvidia" driver, in order to allow the X server to start without any outputs. + # - Add a separate Device section for the Intel GPU, using the "modesetting" + # driver and with the configured BusID. + # - Reference that Device section from the ServerLayout section as an inactive + # device. + # - Configure the display manager to run specific `xrandr` commands which will + # configure/enable displays connected to the Intel GPU. + + services.xserver.drivers = singleton { + name = "nvidia"; + modules = [ nvidia_x11.bin ]; + libPath = [ nvidia_x11 ]; + deviceSection = optionalString optimusCfg.enable + '' + BusID "${optimusCfg.nvidiaBusId}" + ''; + screenSection = + '' + Option "RandRRotation" "on" + ${optionalString optimusCfg.enable "Option \"AllowEmptyInitialConfiguration\""} + ''; + }; - services.xserver.screenSection = + services.xserver.extraConfig = optionalString optimusCfg.enable + '' + Section "Device" + Identifier "nvidia-optimus-intel" + Driver "modesetting" + BusID "${optimusCfg.intelBusId}" + Option "AccelMethod" "none" + EndSection + ''; + services.xserver.serverLayoutSection = optionalString optimusCfg.enable '' - Option "RandRRotation" "on" + Inactive "nvidia-optimus-intel" ''; + services.xserver.displayManager.setupCommands = optionalString optimusCfg.enable '' + # Added by nvidia configuration module for Optimus/PRIME. + ${pkgs.xorg.xrandr}/bin/xrandr --setprovideroutputsource modesetting NVIDIA-0 + ${pkgs.xorg.xrandr}/bin/xrandr --auto + ''; + environment.etc."nvidia/nvidia-application-profiles-rc" = mkIf nvidia_x11.useProfiles { source = "${nvidia_x11.bin}/share/nvidia/nvidia-application-profiles-rc"; }; hardware.opengl.package = nvidia_x11.out; - hardware.opengl.package32 = nvidia_libs32.out; + hardware.opengl.package32 = nvidia_libs32; environment.systemPackages = [ nvidia_x11.bin nvidia_x11.settings ] ++ lib.filter (p: p != null) [ nvidia_x11.persistenced ]; + systemd.tmpfiles.rules = optional config.virtualisation.docker.enableNvidia + "L+ /run/nvidia-docker/bin - - - - ${nvidia_x11.bin}/origBin" + ++ optional (nvidia_x11.persistenced != null && config.virtualisation.docker.enableNvidia) + "L+ /run/nvidia-docker/extras/bin/nvidia-persistenced - - - - ${nvidia_x11.persistenced}/origBin/nvidia-persistenced"; + boot.extraModulePackages = [ nvidia_x11.bin ]; # nvidia-uvm is required by CUDA applications. boot.kernelModules = [ "nvidia-uvm" ] ++ lib.optionals config.services.xserver.enable [ "nvidia" "nvidia_modeset" "nvidia_drm" ]; + # If requested enable modesetting via kernel parameter. + boot.kernelParams = optional cfg.modesetting.enable "nvidia-drm.modeset=1"; # Create /dev/nvidia-uvm when the nvidia-uvm module is loaded. services.udev.extraRules = diff --git a/nixos/modules/hardware/video/uvcvideo/uvcdynctrl-udev-rules.nix b/nixos/modules/hardware/video/uvcvideo/uvcdynctrl-udev-rules.nix index 2cf5f13bc159e6259d9c6cdefecf3b5834c91420..a808429c99968518c0739889982069d4bdcfb8c8 100644 --- a/nixos/modules/hardware/video/uvcvideo/uvcdynctrl-udev-rules.nix +++ b/nixos/modules/hardware/video/uvcvideo/uvcdynctrl-udev-rules.nix @@ -29,6 +29,7 @@ runCommand "uvcdynctrl-udev-rules-${version}" ]; dontPatchELF = true; dontStrip = true; + preferLocalBuild = true; } '' mkdir -p "$out/lib/udev" diff --git a/nixos/modules/i18n/input-method/default.xml b/nixos/modules/i18n/input-method/default.xml index eb75b7415c9c4e943bb6f64b7f41c8c3251d7078..117482fb0d57d997797bb9e4772b5b716a3f631f 100644 --- a/nixos/modules/i18n/input-method/default.xml +++ b/nixos/modules/i18n/input-method/default.xml @@ -3,32 +3,50 @@ xmlns:xi="http://www.w3.org/2001/XInclude" version="5.0" xml:id="module-services-input-methods"> - -Input Methods - -Input methods are an operating system component that allows any data, such - as keyboard strokes or mouse movements, to be received as input. In this way - users can enter characters and symbols not found on their input devices. Using - an input method is obligatory for any language that has more graphemes than - there are keys on the keyboard. - -The following input methods are available in NixOS: - - - IBus: The intelligent input bus. - Fcitx: A customizable lightweight input - method. - Nabi: A Korean input method based on XIM. - Uim: The universal input method, is a library with a XIM - bridge. - - -
IBus - -IBus is an Intelligent Input Bus. It provides full featured and user - friendly input method user interface. - -The following snippet can be used to configure IBus: + Input Methods + + Input methods are an operating system component that allows any data, such as + keyboard strokes or mouse movements, to be received as input. In this way + users can enter characters and symbols not found on their input devices. + Using an input method is obligatory for any language that has more graphemes + than there are keys on the keyboard. + + + The following input methods are available in NixOS: + + + + + IBus: The intelligent input bus. + + + + + Fcitx: A customizable lightweight input method. + + + + + Nabi: A Korean input method based on XIM. + + + + + Uim: The universal input method, is a library with a XIM bridge. + + + +
+ IBus + + + IBus is an Intelligent Input Bus. It provides full featured and user + friendly input method user interface. + + + + The following snippet can be used to configure IBus: + i18n.inputMethod = { @@ -37,57 +55,89 @@ i18n.inputMethod = { }; -i18n.inputMethod.ibus.engines is optional and can be - used to add extra IBus engines. - -Available extra IBus engines are: - - - Anthy (ibus-engines.anthy): Anthy is a - system for Japanese input method. It converts Hiragana text to Kana Kanji - mixed text. - Hangul (ibus-engines.hangul): Korean input - method. - m17n (ibus-engines.m17n): m17n is an input - method that uses input methods and corresponding icons in the m17n - database. - mozc (ibus-engines.mozc): A Japanese input - method from Google. - Table (ibus-engines.table): An input method - that load tables of input methods. - table-others (ibus-engines.table-others): - 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: + + i18n.inputMethod.ibus.engines is optional and can be used + to add extra IBus engines. + + + + Available extra IBus engines are: + + + + + + Anthy (ibus-engines.anthy): Anthy is a system for + Japanese input method. It converts Hiragana text to Kana Kanji mixed text. + + + + + Hangul (ibus-engines.hangul): Korean input method. + + + + + m17n (ibus-engines.m17n): m17n is an input method that + uses input methods and corresponding icons in the m17n database. + + + + + mozc (ibus-engines.mozc): A Japanese input method from + Google. + + + + + Table (ibus-engines.table): An input method that load + tables of input methods. + + + + + table-others (ibus-engines.table-others): 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. - - - Troubleshooting - If IBus works in some applications but not others, a likely cause of - this is that IBus is depending on a different version of - glib to what the applications are depending on. This can - be checked by running nix-store -q --requisites <path> | grep - glib, where <path> is the path of either - IBus or an application in the Nix store. The glib - packages must match exactly. If they do not, uninstalling and reinstalling - the application is a likely fix. - -
- -
Fcitx - -Fcitx is an input method framework with extension support. It has three - built-in Input Method Engine, Pinyin, QuWei and Table-based input - methods. -The following snippet can be used to configure Fcitx: + + + + + + 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. + + + + Troubleshooting + + If IBus works in some applications but not others, a likely cause of this + is that IBus is depending on a different version of glib + to what the applications are depending on. This can be checked by running + nix-store -q --requisites <path> | grep glib, + where <path> is the path of either IBus or an + application in the Nix store. The glib packages must + match exactly. If they do not, uninstalling and reinstalling the + application is a likely fix. + + +
+
+ Fcitx + + + Fcitx is an input method framework with extension support. It has three + built-in Input Method Engine, Pinyin, QuWei and Table-based input methods. + + + + The following snippet can be used to configure Fcitx: + i18n.inputMethod = { @@ -96,51 +146,89 @@ i18n.inputMethod = { }; -i18n.inputMethod.fcitx.engines is optional and can be - used to add extra Fcitx engines. - -Available extra Fcitx engines are: - - - Anthy (fcitx-engines.anthy): Anthy is a - system for Japanese input method. It converts Hiragana text to Kana Kanji - mixed text. - Chewing (fcitx-engines.chewing): Chewing is - an intelligent Zhuyin input method. It is one of the most popular input - methods among Traditional Chinese Unix users. - Hangul (fcitx-engines.hangul): Korean input - method. - Unikey (fcitx-engines.unikey): Vietnamese input - method. - m17n (fcitx-engines.m17n): m17n is an input - method that uses input methods and corresponding icons in the m17n - database. - mozc (fcitx-engines.mozc): A Japanese input - method from Google. - table-others (fcitx-engines.table-others): - Various table-based input methods. - -
- -
Nabi - -Nabi is an easy to use Korean X input method. It allows you to enter - phonetic Korean characters (hangul) and pictographic Korean characters - (hanja). -The following snippet can be used to configure Nabi: + + i18n.inputMethod.fcitx.engines is optional and can be + used to add extra Fcitx engines. + + + + Available extra Fcitx engines are: + + + + + + Anthy (fcitx-engines.anthy): Anthy is a system for + Japanese input method. It converts Hiragana text to Kana Kanji mixed text. + + + + + Chewing (fcitx-engines.chewing): Chewing is an + intelligent Zhuyin input method. It is one of the most popular input + methods among Traditional Chinese Unix users. + + + + + Hangul (fcitx-engines.hangul): Korean input method. + + + + + Unikey (fcitx-engines.unikey): Vietnamese input method. + + + + + m17n (fcitx-engines.m17n): m17n is an input method that + uses input methods and corresponding icons in the m17n database. + + + + + mozc (fcitx-engines.mozc): A Japanese input method from + Google. + + + + + table-others (fcitx-engines.table-others): Various + table-based input methods. + + + +
+
+ Nabi + + + Nabi is an easy to use Korean X input method. It allows you to enter + phonetic Korean characters (hangul) and pictographic Korean characters + (hanja). + + + + The following snippet can be used to configure Nabi: + i18n.inputMethod = { enabled = "nabi"; }; -
+
+
+ Uim -
Uim + + Uim (short for "universal input method") is a multilingual input method + framework. Applications can use it through so-called bridges. + -Uim (short for "universal input method") is a multilingual input method - framework. Applications can use it through so-called bridges. -The following snippet can be used to configure uim: + + The following snippet can be used to configure uim: + i18n.inputMethod = { @@ -148,8 +236,9 @@ i18n.inputMethod = { }; -Note: The option can be - used to choose uim toolbar. - -
+ + Note: The option can be + used to choose uim toolbar. + +
diff --git a/nixos/modules/installer/cd-dvd/channel.nix b/nixos/modules/installer/cd-dvd/channel.nix index 01cfe8a02e10d248083fd135e32bfd33c8e7e222..ab5e7c0645f3bbb4ed3c782f501d79afa74e7c31 100644 --- a/nixos/modules/installer/cd-dvd/channel.nix +++ b/nixos/modules/installer/cd-dvd/channel.nix @@ -13,10 +13,10 @@ let # user, as expected by nixos-rebuild/nixos-install. FIXME: merge # with make-channel.nix. channelSources = pkgs.runCommand "nixos-${config.system.nixos.version}" - { } + { preferLocalBuild = true; } '' mkdir -p $out - cp -prd ${nixpkgs} $out/nixos + cp -prd ${nixpkgs.outPath} $out/nixos chmod -R u+w $out/nixos if [ ! -e $out/nixos/nixpkgs ]; then ln -s . $out/nixos/nixpkgs diff --git a/nixos/modules/installer/cd-dvd/installation-cd-base.nix b/nixos/modules/installer/cd-dvd/installation-cd-base.nix index 1453e8082b0ddc526abc466512abd381f4e45508..24070a786945a6bc6d52f47dbca3678a08a6234d 100644 --- a/nixos/modules/installer/cd-dvd/installation-cd-base.nix +++ b/nixos/modules/installer/cd-dvd/installation-cd-base.nix @@ -16,7 +16,7 @@ with lib; ]; # ISO naming. - isoImage.isoName = "${config.isoImage.isoBaseName}-${config.system.nixos.label}-${pkgs.stdenv.system}.iso"; + isoImage.isoName = "${config.isoImage.isoBaseName}-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}.iso"; isoImage.volumeID = substring 0 11 "NIXOS_ISO"; diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix new file mode 100644 index 0000000000000000000000000000000000000000..917b3758d384c4af86551ad50414d583b1f0094d --- /dev/null +++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix @@ -0,0 +1,53 @@ +# This module contains the basic configuration for building a graphical NixOS +# installation CD. + +{ config, lib, pkgs, ... }: + +with lib; + +{ + imports = [ ./installation-cd-base.nix ]; + + services.xserver = { + enable = true; + + # Don't start the X server by default. + autorun = mkForce false; + + # Automatically login as root. + displayManager.slim = { + enable = true; + defaultUser = "root"; + autoLogin = true; + }; + + }; + + # Provide networkmanager for easy wireless configuration. + networking.networkmanager.enable = true; + networking.wireless.enable = mkForce false; + + # KDE complains if power management is disabled (to be precise, if + # there is no power management backend such as upower). + powerManagement.enable = true; + + # Enable sound in graphical iso's. + hardware.pulseaudio.enable = true; + hardware.pulseaudio.systemWide = true; # Needed since we run plasma as root. + + environment.systemPackages = [ + # Include gparted for partitioning disks. + pkgs.gparted + + # Include some editors. + pkgs.vim + pkgs.bvi # binary editor + pkgs.joe + + # Firefox for reading the manual. + pkgs.firefox + + pkgs.glxinfo + ]; + +} diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix index 4c4e69d60d9c701aae370a39f9def061f66fcf18..42b5ec8822726c099de9058b49db2cd824c089f9 100644 --- a/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix +++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix @@ -6,47 +6,11 @@ with lib; { - imports = [ ./installation-cd-base.nix ]; + imports = [ ./installation-cd-graphical-base.nix ]; - services.xserver = { - enable = true; - # GDM doesn't start in virtual machines with ISO - displayManager.slim = { - enable = true; - defaultUser = "root"; - autoLogin = true; - }; - desktopManager.gnome3 = { - enable = true; - extraGSettingsOverrides = '' - [org.gnome.desktop.background] - show-desktop-icons=true - - [org.gnome.nautilus.desktop] - trash-icon-visible=false - volumes-visible=false - home-icon-visible=false - network-icon-visible=false - ''; - - extraGSettingsOverridePackages = [ pkgs.gnome3.nautilus ]; - }; - }; - - environment.systemPackages = - [ # Include gparted for partitioning disks. - pkgs.gparted + services.xserver.desktopManager.gnome3.enable = true; - # Include some editors. - pkgs.vim - pkgs.bvi # binary editor - pkgs.joe - - pkgs.glxinfo - ]; - - # Don't start the X server by default. - services.xserver.autorun = mkForce false; + services.xserver.displayManager.slim.enable = mkForce false; # Auto-login as root. services.xserver.displayManager.gdm.autoLogin = { @@ -54,25 +18,4 @@ with lib; user = "root"; }; - system.activationScripts.installerDesktop = let - # Must be executable - desktopFile = pkgs.writeScript "nixos-manual.desktop" '' - [Desktop Entry] - Version=1.0 - Type=Link - Name=NixOS Manual - URL=${config.system.build.manual.manual}/share/doc/nixos/index.html - Icon=system-help - ''; - - # use cp and chmod +x, we must be sure the apps are in the nix store though - in '' - mkdir -p /root/Desktop - ln -sfT ${desktopFile} /root/Desktop/nixos-manual.desktop - cp ${pkgs.gnome3.gnome-terminal}/share/applications/gnome-terminal.desktop /root/Desktop/gnome-terminal.desktop - chmod a+rx /root/Desktop/gnome-terminal.desktop - cp ${pkgs.gparted}/share/applications/gparted.desktop /root/Desktop/gparted.desktop - chmod a+rx /root/Desktop/gparted.desktop - ''; - } 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 63227d5734954d643a2354c4cd4f139534837637..1c3c9cb30b41b68dd90428433e611e8f7b083afb 100644 --- a/nixos/modules/installer/cd-dvd/installation-cd-graphical-kde.nix +++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-kde.nix @@ -1,23 +1,14 @@ # This module defines a NixOS installation CD that contains X11 and -# KDE 5. +# Plasma5. { config, lib, pkgs, ... }: with lib; { - imports = [ ./installation-cd-base.nix ]; + imports = [ ./installation-cd-graphical-base.nix ]; services.xserver = { - enable = true; - - # Automatically login as root. - displayManager.slim = { - enable = true; - defaultUser = "root"; - autoLogin = true; - }; - desktopManager.plasma5 = { enable = true; enableQt4Support = false; @@ -27,45 +18,25 @@ with lib; synaptics.enable = true; }; - environment.systemPackages = - [ 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 - pkgs.joe - ]; - - # Provide networkmanager for easy wireless configuration. - networking.networkmanager.enable = true; - networking.wireless.enable = mkForce false; - - # KDE complains if power management is disabled (to be precise, if - # there is no power management backend such as upower). - powerManagement.enable = true; - - # Don't start the X server by default. - services.xserver.autorun = mkForce false; + environment.systemPackages = with pkgs; [ + # Graphical text editor + kate + ]; system.activationScripts.installerDesktop = let - desktopFile = pkgs.writeText "nixos-manual.desktop" '' + + manualDesktopFile = pkgs.writeScript "nixos-manual.desktop" '' [Desktop Entry] Version=1.0 Type=Application Name=NixOS Manual - Exec=firefox ${config.system.build.manual.manual}/share/doc/nixos/index.html + Exec=firefox ${config.system.build.manual.manualHTMLIndex} Icon=text-html ''; in '' mkdir -p /root/Desktop - ln -sfT ${desktopFile} /root/Desktop/nixos-manual.desktop + ln -sfT ${manualDesktopFile} /root/Desktop/nixos-manual.desktop ln -sfT ${pkgs.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 ''; diff --git a/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix b/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix index 3dc0f606bf6090b7278a53485ec0eb7f98429d7c..bcdbffdc20b7d8c11a07583109f27a1f19882d1b 100644 --- a/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix +++ b/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix @@ -7,4 +7,6 @@ imports = [ ./installation-cd-base.nix ]; + + fonts.fontconfig.enable = false; } diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix index 08923970cd386589250237602d897ad479b68ce1..fd780be20825dc6159ca9948c8fe0547665b9dd6 100644 --- a/nixos/modules/installer/cd-dvd/iso-image.nix +++ b/nixos/modules/installer/cd-dvd/iso-image.nix @@ -7,6 +7,63 @@ with lib; let + /** + * Given a list of `options`, concats the result of mapping each options + * to a menuentry for use in grub. + * + * * defaults: {name, image, params, initrd} + * * options: [ option... ] + * * option: {name, params, class} + */ + menuBuilderGrub2 = + defaults: options: lib.concatStrings + ( + map + (option: '' + menuentry '${defaults.name} ${ + # Name appended to menuentry defaults to params if no specific name given. + option.name or (if option ? params then "(${option.params})" else "") + }' ${if option ? class then " --class ${option.class}" else ""} { + linux ${defaults.image} ${defaults.params} ${ + option.params or "" + } + initrd ${defaults.initrd} + } + '') + options + ) + ; + + /** + * Given a `config`, builds the default options. + */ + buildMenuGrub2 = config: + buildMenuAdditionalParamsGrub2 config "" + ; + + /** + * Given a `config` and params to add to `params`, build a set of default options. + * Use this one when creating a variant (e.g. hidpi) + */ + buildMenuAdditionalParamsGrub2 = config: additional: + let + finalCfg = { + name = "NixOS ${config.system.nixos.label}${config.isoImage.appendToMenuLabel}"; + params = "init=${config.system.build.toplevel}/init ${additional} ${toString config.boot.kernelParams}"; + image = "/boot/${config.system.boot.loader.kernelFile}"; + initrd = "/boot/initrd"; + }; + in + menuBuilderGrub2 + finalCfg + [ + { class = "installer"; } + { class = "nomodeset"; params = "nomodeset"; } + { class = "copytoram"; params = "copytoram"; } + { class = "debug"; params = "debug"; } + ] + ; + # Timeout in syslinux is in units of 1/10 of a second. # 0 is used to disable timeouts. syslinuxTimeout = if config.boot.loader.timeout == null then @@ -31,11 +88,33 @@ let # result in incorrect boot entries. baseIsolinuxCfg = '' - SERIAL 0 38400 + SERIAL 0 115200 TIMEOUT ${builtins.toString syslinuxTimeout} UI vesamenu.c32 MENU TITLE NixOS MENU BACKGROUND /isolinux/background.png + MENU RESOLUTION 800 600 + MENU CLEAR + MENU ROWS 6 + MENU CMDLINEROW -4 + MENU TIMEOUTROW -3 + MENU TABMSGROW -2 + MENU HELPMSGROW -1 + MENU HELPMSGENDROW -1 + MENU MARGIN 0 + + # FG:AARRGGBB BG:AARRGGBB shadow + MENU COLOR BORDER 30;44 #00000000 #00000000 none + MENU COLOR SCREEN 37;40 #FF000000 #00E2E8FF none + MENU COLOR TABMSG 31;40 #80000000 #00000000 none + MENU COLOR TIMEOUT 1;37;40 #FF000000 #00000000 none + MENU COLOR TIMEOUT_MSG 37;40 #FF000000 #00000000 none + MENU COLOR CMDMARK 1;36;40 #FF000000 #00000000 none + MENU COLOR CMDLINE 37;40 #FF000000 #00000000 none + MENU COLOR TITLE 1;36;44 #00000000 #00000000 none + MENU COLOR UNSEL 37;44 #FF000000 #00000000 none + MENU COLOR SEL 7;37;40 #FFFFFFFF #FF5277C3 std + DEFAULT boot LABEL boot @@ -76,49 +155,185 @@ let isolinuxCfg = concatStringsSep "\n" ([ baseIsolinuxCfg ] ++ optional config.boot.loader.grub.memtest86.enable isolinuxMemtest86Entry); + # Setup instructions for rEFInd. + refind = + if targetArch == "x64" then + '' + # Adds rEFInd to the ISO. + cp -v ${pkgs.refind}/share/refind/refind_x64.efi $out/EFI/boot/ + '' + else + "# No refind for ${targetArch}" + ; + + grubPkgs = if config.boot.loader.grub.forcei686 then pkgs.pkgsi686Linux else pkgs; + + grubMenuCfg = '' + # + # Menu configuration + # + + insmod gfxterm + insmod png + set gfxpayload=keep + + # Fonts can be loaded? + # (This font is assumed to always be provided as a fallback by NixOS) + if loadfont (hd0)/EFI/boot/unicode.pf2; then + # Use graphical term, it can be either with background image or a theme. + # input is "console", while output is "gfxterm". + # This enables "serial" input and output only when possible. + # Otherwise the failure mode is to not even enable gfxterm. + if test "\$with_serial" == "yes"; then + terminal_output gfxterm serial + terminal_input console serial + else + terminal_output gfxterm + terminal_input console + fi + else + # Sets colors for the non-graphical term. + set menu_color_normal=cyan/blue + set menu_color_highlight=white/blue + fi + + ${ # When there is a theme configured, use it, otherwise use the background image. + if (!isNull config.isoImage.grubTheme) then '' + # Sets theme. + set theme=(hd0)/EFI/boot/grub-theme/theme.txt + # Load theme fonts + $(find ${config.isoImage.grubTheme} -iname '*.pf2' -printf "loadfont (hd0)/EFI/boot/grub-theme/%P\n") + '' else '' + if background_image (hd0)/EFI/boot/efi-background.png; then + # Black background means transparent background when there + # is a background image set... This seems undocumented :( + set color_normal=black/black + set color_highlight=white/blue + else + # Falls back again to proper colors. + set menu_color_normal=cyan/blue + set menu_color_highlight=white/blue + fi + ''} + ''; + # The EFI boot image. + # Notes about grub: + # * Yes, the grubMenuCfg has to be repeated in all submenus. Otherwise you + # will get white-on-black console-like text on sub-menus. *sigh* efiDir = pkgs.runCommand "efi-directory" {} '' - mkdir -p $out/EFI/boot - cp -v ${pkgs.systemd}/lib/systemd/boot/efi/systemd-boot${targetArch}.efi $out/EFI/boot/boot${targetArch}.efi - mkdir -p $out/loader/entries - - cat << EOF > $out/loader/entries/nixos-iso.conf - title NixOS ${config.system.nixos.label}${config.isoImage.appendToMenuLabel} - linux /boot/${config.system.boot.loader.kernelFile} - initrd /boot/${config.system.boot.loader.initrdFile} - options init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams} - EOF - - # A variant to boot with 'nomodeset' - cat << EOF > $out/loader/entries/nixos-iso-nomodeset.conf - title NixOS ${config.system.nixos.label}${config.isoImage.appendToMenuLabel} - version nomodeset - linux /boot/${config.system.boot.loader.kernelFile} - initrd /boot/${config.system.boot.loader.initrdFile} - options init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams} nomodeset - EOF - - # A variant to boot with 'copytoram' - cat << EOF > $out/loader/entries/nixos-iso-copytoram.conf - title NixOS ${config.system.nixos.label}${config.isoImage.appendToMenuLabel} - version copytoram - linux /boot/${config.system.boot.loader.kernelFile} - initrd /boot/${config.system.boot.loader.initrdFile} - options init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams} copytoram - EOF - - # A variant to boot with verbose logging to the console - cat << EOF > $out/loader/entries/nixos-iso-debug.conf - title NixOS ${config.system.nixos.label}${config.isoImage.appendToMenuLabel} (debug) - linux /boot/${config.system.boot.loader.kernelFile} - initrd /boot/${config.system.boot.loader.initrdFile} - options init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams} loglevel=7 + mkdir -p $out/EFI/boot/ + + # ALWAYS required modules. + MODULES="fat iso9660 part_gpt part_msdos \ + normal boot linux configfile loopback chain halt \ + efifwsetup efi_gop \ + ls search search_label search_fs_uuid search_fs_file \ + gfxmenu gfxterm gfxterm_background gfxterm_menu test all_video loadenv \ + exfat ext2 ntfs btrfs hfsplus udf \ + videoinfo png \ + echo serial \ + " + + echo "Building GRUB with modules:" + for mod in $MODULES; do + echo " - $mod" + done + + # Modules that may or may not be available per-platform. + echo "Adding additional modules:" + for mod in efi_uga; do + if [ -f ${grubPkgs.grub2_efi}/lib/grub/${grubPkgs.grub2_efi.grubTarget}/$mod.mod ]; then + echo " - $mod" + MODULES+=" $mod" + fi + done + + # Make our own efi program, we can't rely on "grub-install" since it seems to + # probe for devices, even with --skip-fs-probe. + ${grubPkgs.grub2_efi}/bin/grub-mkimage -o $out/EFI/boot/boot${targetArch}.efi -p /EFI/boot -O ${grubPkgs.grub2_efi.grubTarget} \ + $MODULES + cp ${grubPkgs.grub2_efi}/share/grub/unicode.pf2 $out/EFI/boot/ + + cat < $out/EFI/boot/grub.cfg + + # If you want to use serial for "terminal_*" commands, you need to set one up: + # Example manual configuration: + # → serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1 + # This uses the defaults, and makes the serial terminal available. + set with_serial=no + if serial; then set with_serial=yes ;fi + export with_serial + clear + set timeout=10 + ${grubMenuCfg} + + # + # Menu entries + # + + ${buildMenuGrub2 config} + submenu "HiDPI, Quirks and Accessibility" --class hidpi --class submenu { + ${grubMenuCfg} + submenu "Suggests resolution @720p" --class hidpi-720p { + ${grubMenuCfg} + ${buildMenuAdditionalParamsGrub2 config "video=1280x720@60"} + } + submenu "Suggests resolution @1080p" --class hidpi-1080p { + ${grubMenuCfg} + ${buildMenuAdditionalParamsGrub2 config "video=1920x1080@60"} + } + + # Some laptop and convertibles have the panel installed in an + # inconvenient way, rotated away from the keyboard. + # Those entries makes it easier to use the installer. + submenu "" {return} + submenu "Rotate framebuffer Clockwise" --class rotate-90cw { + ${grubMenuCfg} + ${buildMenuAdditionalParamsGrub2 config "fbcon=rotate:1"} + } + submenu "Rotate framebuffer Upside-Down" --class rotate-180 { + ${grubMenuCfg} + ${buildMenuAdditionalParamsGrub2 config "fbcon=rotate:2"} + } + submenu "Rotate framebuffer Counter-Clockwise" --class rotate-90ccw { + ${grubMenuCfg} + ${buildMenuAdditionalParamsGrub2 config "fbcon=rotate:3"} + } + + # As a proof of concept, mainly. (Not sure it has accessibility merits.) + submenu "" {return} + submenu "Use black on white" --class accessibility-blakconwhite { + ${grubMenuCfg} + ${buildMenuAdditionalParamsGrub2 config "vt.default_red=0xFF,0xBC,0x4F,0xB4,0x56,0xBC,0x4F,0x00,0xA1,0xCF,0x84,0xCA,0x8D,0xB4,0x84,0x68 vt.default_grn=0xFF,0x55,0xBA,0xBA,0x4D,0x4D,0xB3,0x00,0xA0,0x8F,0xB3,0xCA,0x88,0x93,0xA4,0x68 vt.default_blu=0xFF,0x58,0x5F,0x58,0xC5,0xBD,0xC5,0x00,0xA8,0xBB,0xAB,0x97,0xBD,0xC7,0xC5,0x68"} + } + + # Serial access is a must! + submenu "" {return} + submenu "Serial console=ttyS0,115200n8" --class serial { + ${grubMenuCfg} + ${buildMenuAdditionalParamsGrub2 config "console=ttyS0,115200n8"} + } + } + + menuentry 'rEFInd' --class refind { + # UUID is hard-coded in the derivation. + search --set=root --no-floppy --fs-uuid 1234-5678 + chainloader (\$root)/EFI/boot/refind_x64.efi + } + menuentry 'Firmware Setup' --class settings { + fwsetup + clear + echo "" + echo "If you see this message, your EFI system doesn't support this feature." + echo "" + } + menuentry 'Shutdown' --class shutdown { + halt + } EOF - cat << EOF > $out/loader/loader.conf - default nixos-iso - timeout ${builtins.toString config.boot.loader.timeout} - EOF + ${refind} ''; efiImg = pkgs.runCommand "efi-image_eltorito" { buildInputs = [ pkgs.mtools pkgs.libfaketime ]; } @@ -126,11 +341,11 @@ let # dates (cp -p, touch, mcopy -m, faketime for label), IDs (mkfs.vfat -i) '' mkdir ./contents && cd ./contents - cp -rp "${efiDir}"/* . + cp -rp "${efiDir}"/EFI . mkdir ./boot cp -p "${config.boot.kernelPackages.kernel}/${config.system.boot.loader.kernelFile}" \ "${config.system.build.initialRamdisk}/${config.system.boot.loader.initrdFile}" ./boot/ - touch --date=@0 ./* + touch --date=@0 ./EFI ./boot usage_size=$(du -sb --apparent-size . | tr -cd '[:digit:]') # Make the image 110% as big as the files need to make up for FAT overhead @@ -142,15 +357,24 @@ let echo "Image size: $image_size" truncate --size=$image_size "$out" ${pkgs.libfaketime}/bin/faketime "2000-01-01 00:00:00" ${pkgs.dosfstools}/sbin/mkfs.vfat -i 12345678 -n EFIBOOT "$out" - mcopy -bpsvm -i "$out" ./* :: + mcopy -psvm -i "$out" ./EFI ./boot :: + # Verify the FAT partition. + ${pkgs.dosfstools}/sbin/fsck.vfat -vn "$out" ''; # */ - targetArch = if pkgs.stdenv.isi686 then - "ia32" - else if pkgs.stdenv.isx86_64 then - "x64" - else - throw "Unsupported architecture"; + # Name used by UEFI for architectures. + targetArch = + if pkgs.stdenv.isi686 || config.boot.loader.grub.forcei686 then + "ia32" + else if pkgs.stdenv.isx86_64 then + "x64" + else if pkgs.stdenv.isAarch64 then + "aa64" + else + throw "Unsupported architecture"; + + # Syslinux (and isolinux) only supports x86-based architectures. + canx86BiosBoot = pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64; in @@ -234,13 +458,31 @@ in ''; }; + isoImage.efiSplashImage = mkOption { + default = pkgs.fetchurl { + url = https://raw.githubusercontent.com/NixOS/nixos-artwork/a9e05d7deb38a8e005a2b52575a3f59a63a4dba0/bootloader/efi-background.png; + sha256 = "18lfwmp8yq923322nlb9gxrh5qikj1wsk6g5qvdh31c4h5b1538x"; + }; + description = '' + The splash image to use in the EFI bootloader. + ''; + }; + isoImage.splashImage = mkOption { default = pkgs.fetchurl { - url = https://raw.githubusercontent.com/NixOS/nixos-artwork/5729ab16c6a5793c10a2913b5a1b3f59b91c36ee/ideas/grub-splash/grub-nixos-1.png; - sha256 = "43fd8ad5decf6c23c87e9026170a13588c2eba249d9013cb9f888da5e2002217"; + url = https://raw.githubusercontent.com/NixOS/nixos-artwork/a9e05d7deb38a8e005a2b52575a3f59a63a4dba0/bootloader/isolinux/bios-boot.png; + sha256 = "1wp822zrhbg4fgfbwkr7cbkr4labx477209agzc0hr6k62fr6rxd"; }; description = '' - The splash image to use in the bootloader. + The splash image to use in the legacy-boot bootloader. + ''; + }; + + isoImage.grubTheme = mkOption { + default = pkgs.nixos-grub2-theme; + type = types.nullOr (types.either types.path types.package); + description = '' + The grub2 theme used for UEFI boot. ''; }; @@ -266,9 +508,9 @@ in # here and it causes a cyclic dependency. boot.loader.grub.enable = false; - # !!! Hack - attributes expected by other modules. - system.boot.loader.kernelFile = "bzImage"; - environment.systemPackages = [ pkgs.grub2 pkgs.grub2_efi pkgs.syslinux ]; + environment.systemPackages = [ grubPkgs.grub2 grubPkgs.grub2_efi ] + ++ optional canx86BiosBoot pkgs.syslinux + ; # 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 @@ -318,7 +560,7 @@ in 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" "iso9660" "usb-storage" "uas" ]; + boot.initrd.availableKernelModules = [ "squashfs" "iso9660" "uas" ]; boot.blacklistedKernelModules = [ "nouveau" ]; @@ -339,13 +581,7 @@ in # Individual files to be included on the CD, outside of the Nix # store on the CD. isoImage.contents = - [ { source = pkgs.substituteAll { - name = "isolinux.cfg"; - src = pkgs.writeText "isolinux.cfg-in" isolinuxCfg; - bootRoot = "/boot"; - }; - target = "/isolinux/isolinux.cfg"; - } + [ { source = config.boot.kernelPackages.kernel + "/" + config.system.boot.loader.kernelFile; target = "/boot/" + config.system.boot.loader.kernelFile; } @@ -355,8 +591,8 @@ in { source = config.system.build.squashfsStore; target = "/nix-store.squashfs"; } - { source = "${pkgs.syslinux}/share/syslinux"; - target = "/isolinux"; + { source = config.isoImage.efiSplashImage; + target = "/EFI/boot/efi-background.png"; } { source = config.isoImage.splashImage; target = "/isolinux/background.png"; @@ -364,6 +600,17 @@ in { source = pkgs.writeText "version" config.system.nixos.label; target = "/version.txt"; } + ] ++ optionals canx86BiosBoot [ + { source = pkgs.substituteAll { + name = "isolinux.cfg"; + src = pkgs.writeText "isolinux.cfg-in" isolinuxCfg; + bootRoot = "/boot"; + }; + target = "/isolinux/isolinux.cfg"; + } + { source = "${pkgs.syslinux}/share/syslinux"; + target = "/isolinux"; + } ] ++ optionals config.isoImage.makeEfiBootable [ { source = efiImg; target = "/boot/efi.img"; @@ -371,13 +618,14 @@ in { source = "${efiDir}/EFI"; target = "/EFI"; } - { source = "${efiDir}/loader"; - target = "/loader"; - } - ] ++ optionals config.boot.loader.grub.memtest86.enable [ + ] ++ optionals (config.boot.loader.grub.memtest86.enable && canx86BiosBoot) [ { source = "${pkgs.memtest86plus}/memtest.bin"; target = "/boot/memtest.bin"; } + ] ++ optionals (!isNull config.isoImage.grubTheme) [ + { source = config.isoImage.grubTheme; + target = "/EFI/boot/grub-theme"; + } ]; boot.loader.timeout = 10; @@ -385,9 +633,10 @@ in # Create the ISO image. system.build.isoImage = pkgs.callPackage ../../../lib/make-iso9660-image.nix ({ inherit (config.isoImage) isoName compressImage volumeID contents; - bootable = true; + bootable = canx86BiosBoot; bootImage = "/isolinux/isolinux.bin"; - } // optionalAttrs config.isoImage.makeUsbBootable { + syslinux = if canx86BiosBoot then pkgs.syslinux else null; + } // optionalAttrs (config.isoImage.makeUsbBootable && canx86BiosBoot) { usbBootable = true; isohybridMbrImage = "${pkgs.syslinux}/share/syslinux/isohdpfx.bin"; } // optionalAttrs config.isoImage.makeEfiBootable { diff --git a/nixos/modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix b/nixos/modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix new file mode 100644 index 0000000000000000000000000000000000000000..2882fbcc7305299b1624a2fbc34a7f952c5f77d4 --- /dev/null +++ b/nixos/modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix @@ -0,0 +1,7 @@ +{ pkgs, ... }: + +{ + imports = [ ./sd-image-aarch64.nix ]; + + boot.kernelPackages = pkgs.linuxPackages_latest; +} diff --git a/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix b/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix index bd6cf029967cbc69583b427dd390dc4038e25815..5f7194e92a364ba3c98bd0404a91844d3ee6b221 100644 --- a/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix +++ b/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix @@ -5,7 +5,7 @@ let extlinux-conf-builder = import ../../system/boot/loader/generic-extlinux-compatible/extlinux-conf-builder.nix { - inherit pkgs; + pkgs = pkgs.buildPackages; }; in { @@ -15,17 +15,10 @@ in ./sd-image.nix ]; - assertions = lib.singleton { - assertion = pkgs.stdenv.system == "aarch64-linux"; - message = "sd-image-aarch64.nix can be only built natively on Aarch64 / ARM64; " + - "it cannot be cross compiled"; - }; - boot.loader.grub.enable = false; boot.loader.generic-extlinux-compatible.enable = true; boot.consoleLogLevel = lib.mkDefault 7; - boot.kernelPackages = pkgs.linuxPackages_latest; # The serial ports listed here are: # - ttyS0: for Tegra (Jetson TX1) 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 0c89eb533359b85c368f04aa102dbb62a46b1ce3..71448f74c3611096e961a34e243b601b97a7f2b1 100644 --- a/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix +++ b/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix @@ -5,7 +5,7 @@ let extlinux-conf-builder = import ../../system/boot/loader/generic-extlinux-compatible/extlinux-conf-builder.nix { - inherit pkgs; + pkgs = pkgs.buildPackages; }; in { @@ -15,12 +15,6 @@ in ./sd-image.nix ]; - assertions = lib.singleton { - assertion = pkgs.stdenv.system == "armv7l-linux"; - message = "sd-image-armv7l-multiplatform.nix can be only built natively on ARMv7; " + - "it cannot be cross compiled"; - }; - boot.loader.grub.enable = false; boot.loader.generic-extlinux-compatible.enable = true; diff --git a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix index 78ea3f1a205c86b37854c48f1f83c68dd80643b6..96e06670694e8e631a5480678a8da9e7361af15f 100644 --- a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix +++ b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix @@ -5,7 +5,7 @@ let extlinux-conf-builder = import ../../system/boot/loader/generic-extlinux-compatible/extlinux-conf-builder.nix { - inherit pkgs; + pkgs = pkgs.buildPackages; }; in { @@ -15,12 +15,6 @@ in ./sd-image.nix ]; - assertions = lib.singleton { - assertion = pkgs.stdenv.system == "armv6l-linux"; - message = "sd-image-raspberrypi.nix can be only built natively on ARMv6; " + - "it cannot be cross compiled"; - }; - boot.loader.grub.enable = false; boot.loader.generic-extlinux-compatible.enable = true; diff --git a/nixos/modules/installer/cd-dvd/sd-image.nix b/nixos/modules/installer/cd-dvd/sd-image.nix index 2371be9d89a1e8688f00fc697fdc8a9d15e1d032..69746a8e9799e4067b130b5a9538c356e8607a5c 100644 --- a/nixos/modules/installer/cd-dvd/sd-image.nix +++ b/nixos/modules/installer/cd-dvd/sd-image.nix @@ -22,7 +22,7 @@ in { options.sdImage = { imageName = mkOption { - default = "${config.sdImage.imageBaseName}-${config.system.nixos.label}-${pkgs.stdenv.system}.img"; + default = "${config.sdImage.imageBaseName}-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}.img"; description = '' Name of the generated image file. ''; @@ -102,7 +102,7 @@ in mkdir -p $out/nix-support $out/sd-image export img=$out/sd-image/${config.sdImage.imageName} - echo "${pkgs.stdenv.system}" > $out/nix-support/system + echo "${pkgs.stdenv.buildPlatform.system}" > $out/nix-support/system echo "file sd-image $img" >> $out/nix-support/hydra-build-products # Create the image file sized to fit /boot and /, plus 20M of slack @@ -134,7 +134,9 @@ in ${config.sdImage.populateBootCommands} # Copy the populated /boot into the SD image - (cd boot; mcopy -bpsvm -i ../bootpart.img ./* ::) + (cd boot; mcopy -psvm -i ../bootpart.img ./* ::) + # Verify the FAT partition before copying it. + fsck.vfat -vn bootpart.img dd conv=notrunc if=bootpart.img of=$img seek=$START count=$SECTORS ''; }) {}; diff --git a/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix b/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix index 7ec09acd5919b1310c097814f3685257e3a84b4c..90a5128c02a5880ebab06d9e1fff455ef77bbdb8 100644 --- a/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix +++ b/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix @@ -137,7 +137,7 @@ in # Setting vesa, we don't get the nvidia driver, which can't work in arm. services.xserver.videoDrivers = [ "vesa" ]; - services.nixosManual.enable = false; + documentation.nixos.enable = false; # Include the firmware for various wireless cards. networking.enableRalinkFirmware = true; diff --git a/nixos/modules/installer/cd-dvd/system-tarball.nix b/nixos/modules/installer/cd-dvd/system-tarball.nix index e72d4a5b491075e34095d773d9b66b156e2ee04c..b84096861f56e4264a594afcf2fc3623a1e7f70c 100644 --- a/nixos/modules/installer/cd-dvd/system-tarball.nix +++ b/nixos/modules/installer/cd-dvd/system-tarball.nix @@ -68,7 +68,7 @@ in # Create the tarball system.build.tarball = import ../../../lib/make-system-tarball.nix { - inherit (pkgs) stdenv perl xz pathsFromGraph; + inherit (pkgs) stdenv closureInfo pixz; inherit (config.tarball) contents storeContents; }; diff --git a/nixos/modules/installer/netboot/netboot.nix b/nixos/modules/installer/netboot/netboot.nix index a2c8e26f62c256bcd7dae49c50828fe44c77db70..303d9fce3f9aa521a682b131ca6736b81e9f9dec 100644 --- a/nixos/modules/installer/netboot/netboot.nix +++ b/nixos/modules/installer/netboot/netboot.nix @@ -25,10 +25,9 @@ with lib; # !!! Hack - attributes expected by other modules. environment.systemPackages = [ pkgs.grub2_efi ] - ++ (if pkgs.stdenv.system == "aarch64-linux" + ++ (if pkgs.stdenv.hostPlatform.system == "aarch64-linux" then [] else [ pkgs.grub2 pkgs.syslinux ]); - system.boot.loader.kernelFile = pkgs.stdenv.hostPlatform.platform.kernelTarget; fileSystems."/" = { fsType = "tmpfs"; diff --git a/nixos/modules/installer/tools/nix-fallback-paths.nix b/nixos/modules/installer/tools/nix-fallback-paths.nix index 7c5414257b46f052a347e8a5ffa198cfa9b4b547..b9ab2053c41fcdf3e75477868f15a0d8a29dc8cd 100644 --- a/nixos/modules/installer/tools/nix-fallback-paths.nix +++ b/nixos/modules/installer/tools/nix-fallback-paths.nix @@ -1,6 +1,6 @@ { - x86_64-linux = "/nix/store/0d60i73mcv8z1m8d2m74yfn84980gfsa-nix-2.0.4"; - i686-linux = "/nix/store/6ssafj2s5a2g9x28yld7b70vwd6vw6lb-nix-2.0.4"; - aarch64-linux = "/nix/store/3wwch7bp7n7xsl8apgy2a4b16yzyij1z-nix-2.0.4"; - x86_64-darwin = "/nix/store/771l8i0mz4c8kry8cz3sz8rr3alalckg-nix-2.0.4"; + x86_64-linux = "/nix/store/hbhdjn5ik3byg642d1m11k3k3s0kn3py-nix-2.2.2"; + i686-linux = "/nix/store/fz5cikwvj3n0a6zl44h6l2z3cin64mda-nix-2.2.2"; + aarch64-linux = "/nix/store/2gba4cyl4wvxzfbhmli90jy4n5aj0kjj-nix-2.2.2"; + x86_64-darwin = "/nix/store/87i4fp46jfw9yl8c7i9gx75m5yph7irl-nix-2.2.2"; } diff --git a/nixos/modules/installer/tools/nixos-build-vms/build-vms.nix b/nixos/modules/installer/tools/nixos-build-vms/build-vms.nix index 4372d196261e969d59da8ab5604383db2bee748e..c1028a0ad7e93d830fd69b0733954fb5f1e2689b 100644 --- a/nixos/modules/installer/tools/nixos-build-vms/build-vms.nix +++ b/nixos/modules/installer/tools/nixos-build-vms/build-vms.nix @@ -1,9 +1,13 @@ { system ? builtins.currentSystem +, config ? {} , networkExpr }: let nodes = import networkExpr; in -with import ../../../../lib/testing.nix { inherit system; }; +with import ../../../../lib/testing.nix { + inherit system; + pkgs = import ../../../../.. { inherit system config; }; +}; (makeTest { inherit nodes; testScript = ""; }).driver diff --git a/nixos/modules/installer/tools/nixos-build-vms/nixos-build-vms.sh b/nixos/modules/installer/tools/nixos-build-vms/nixos-build-vms.sh index 4e981c074a5745766cd5913e7e2d6483b328a3eb..25106733087effc2e7b329e1a3cd631d19485ac0 100644 --- a/nixos/modules/installer/tools/nixos-build-vms/nixos-build-vms.sh +++ b/nixos/modules/installer/tools/nixos-build-vms/nixos-build-vms.sh @@ -9,49 +9,44 @@ showUsage() { # Parse valid argument options -PARAMS=`getopt -n $0 -o h -l no-out-link,show-trace,help -- "$@"` +nixBuildArgs=() +networkExpr= -if [ $? != 0 ] -then - showUsage - exit 1 -fi - -eval set -- "$PARAMS" - -# Evaluate valid options - -while [ "$1" != "--" ] -do +while [ $# -gt 0 ]; do case "$1" in - --no-out-link) - noOutLinkArg="--no-out-link" - ;; - --show-trace) - showTraceArg="--show-trace" - ;; - -h|--help) - showUsage - exit 0 - ;; + --no-out-link) + nixBuildArgs+=("--no-out-link") + ;; + --show-trace) + nixBuildArgs+=("--show-trace") + ;; + -h|--help) + showUsage + exit 0 + ;; + --option) + shift + nixBuildArgs+=("--option" "$1" "$2"); shift + ;; + *) + if [ ! -z "$networkExpr" ]; then + echo "Network expression already set!" + showUsage + exit 1 + fi + networkExpr="$(readlink -f $1)" + ;; esac - + shift done -shift - -# Validate the given options - -if [ "$1" = "" ] +if [ -z "$networkExpr" ] then echo "ERROR: A network expression must be specified!" >&2 exit 1 -else - networkExpr=$(readlink -f $1) fi # Build a network of VMs - nix-build '' \ - --argstr networkExpr $networkExpr $noOutLinkArg $showTraceArg + --argstr networkExpr $networkExpr "${nixBuildArgs[@]}" diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl index bb201d97ded1edb6995d9ca94a1dd4ff17762f56..686204ee034253b610299e6d1fe82f6df3e3a38e 100644 --- a/nixos/modules/installer/tools/nixos-generate-config.pl +++ b/nixos/modules/installer/tools/nixos-generate-config.pl @@ -277,8 +277,7 @@ if ($virt eq "qemu" || $virt eq "kvm" || $virt eq "bochs") { # Also for Hyper-V. if ($virt eq "microsoft") { - push @initrdAvailableKernelModules, "hv_storvsc"; - $videoDriver = "fbdev"; + push @attrs, "virtualisation.hypervGuest.enable = true;" } @@ -315,14 +314,16 @@ push @attrs, "services.xserver.videoDrivers = [ \"$videoDriver\" ];" if $videoDr # Generate the swapDevices option from the currently activated swap # devices. -my @swaps = read_file("/proc/swaps"); -shift @swaps; +my @swaps = read_file("/proc/swaps", err_mode => 'carp'); my @swapDevices; -foreach my $swap (@swaps) { - $swap =~ /^(\S+)\s/; - next unless -e $1; - my $dev = findStableDevPath $1; - push @swapDevices, "{ device = \"$dev\"; }"; +if (@swaps) { + shift @swaps; + foreach my $swap (@swaps) { + $swap =~ /^(\S+)\s/; + next unless -e $1; + my $dev = findStableDevPath $1; + push @swapDevices, "{ device = \"$dev\"; }"; + } } @@ -339,6 +340,8 @@ foreach my $fs (read_file("/proc/self/mountinfo")) { chomp $fs; my @fields = split / /, $fs; my $mountPoint = $fields[4]; + $mountPoint =~ s/\\040/ /g; # account for mount points with spaces in the name (\040 is the escape character) + $mountPoint =~ s/\\011/\t/g; # account for mount points with tabs in the name (\011 is the escape character) next unless -d $mountPoint; my @mountOptions = split /,/, $fields[5]; @@ -354,6 +357,8 @@ foreach my $fs (read_file("/proc/self/mountinfo")) { my $fsType = $fields[$n]; my $device = $fields[$n + 1]; my @superOptions = split /,/, $fields[$n + 2]; + $device =~ s/\\040/ /g; # account for devices with spaces in the name (\040 is the escape character) + $device =~ s/\\011/\t/g; # account for mount points with tabs in the name (\011 is the escape character) # Skip the read-only bind-mount on /nix/store. next if $mountPoint eq "/nix/store" && (grep { $_ eq "rw" } @superOptions) && (grep { $_ eq "ro" } @mountOptions); @@ -448,7 +453,11 @@ EOF if (-e $slave) { my $dmName = read_file("/sys/class/block/$deviceName/dm/name"); chomp $dmName; - $fileSystems .= " boot.initrd.luks.devices.\"$dmName\".device = \"${\(findStableDevPath $slave)}\";\n\n"; + # Ensure to add an entry only once + my $luksDevice = " boot.initrd.luks.devices.\"$dmName\".device"; + if ($fileSystems !~ /^\Q$luksDevice\E/m) { + $fileSystems .= "$luksDevice = \"${\(findStableDevPath $slave)}\";\n\n"; + } } } } @@ -574,6 +583,10 @@ $bootLoaderConfig # networking.hostName = "nixos"; # Define your hostname. # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. + # Configure network proxy if necessary + # networking.proxy.default = "http://user:password\@proxy:port/"; + # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; + # Select internationalisation properties. # i18n = { # consoleFont = "Lat2-Terminus16"; @@ -626,9 +639,9 @@ $bootLoaderConfig # services.xserver.desktopManager.plasma5.enable = true; # Define a user account. Don't forget to set a password with ‘passwd’. - # users.users.guest = { + # users.users.jane = { # isNormalUser = true; - # uid = 1000; + # extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user. # }; # This value determines the NixOS release with which your system is to be diff --git a/nixos/modules/installer/tools/nixos-install.sh b/nixos/modules/installer/tools/nixos-install.sh index 22c1e0fe9a34b64769ebd4dc8dac65fd2a931859..8685cb345e1e1c67c7cae2089d5e0e2eddb65f48 100644 --- a/nixos/modules/installer/tools/nixos-install.sh +++ b/nixos/modules/installer/tools/nixos-install.sh @@ -13,6 +13,7 @@ extraBuildFlags=() mountPoint=/mnt channelPath= +system= while [ "$#" -gt 0 ]; do i="$1"; shift 1 @@ -137,7 +138,18 @@ fi # Ask the user to set a root password, but only if the passwd command # exists (i.e. when mutable user accounts are enabled). if [[ -z $noRootPasswd ]] && [ -t 0 ]; then - nixos-enter --root "$mountPoint" -c '[[ -e /nix/var/nix/profiles/system/sw/bin/passwd ]] && echo "setting root password..." && /nix/var/nix/profiles/system/sw/bin/passwd' + if nixos-enter --root "$mountPoint" -c 'test -e /nix/var/nix/profiles/system/sw/bin/passwd'; then + set +e + nixos-enter --root "$mountPoint" -c 'echo "setting root password..." && /nix/var/nix/profiles/system/sw/bin/passwd' + exit_code=$? + set -e + + if [[ $exit_code != 0 ]]; then + echo "Setting a root password failed with the above printed error." + echo "You can set the root password manually by executing \`nixos-enter --root ${mountPoint@Q}\` and then running \`passwd\` in the shell of the new system." + exit $exit_code + fi + fi fi echo "installation finished!" diff --git a/nixos/modules/installer/tools/nixos-option.sh b/nixos/modules/installer/tools/nixos-option.sh index 3f1e591b97b01ddba3eadf196a199a0fa2ed87fc..4560e9c7403aa6607b0e02b9ca8bd5ab480d621f 100644 --- a/nixos/modules/installer/tools/nixos-option.sh +++ b/nixos/modules/installer/tools/nixos-option.sh @@ -82,7 +82,7 @@ evalNix(){ set -e if test $exit_code -eq 0; then - cat <&2 <&2 "Warning: This value is not an option." result=$(evalCfg "") - if names=$(attrNames "$result" 2> /dev/null); then + if [ ! -z "$result" ]; then + names=$(attrNames "$result" 2> /dev/null) echo 1>&2 "This attribute set contains:" escapeQuotes () { eval echo "$1"; } nixMap escapeQuotes "$names" else - echo 1>&2 "An error occurred while looking for attribute names." - echo $result + echo 1>&2 "An error occurred while looking for attribute names. Are you sure that '$option' exists?" fi fi diff --git a/nixos/modules/installer/tools/nixos-rebuild.sh b/nixos/modules/installer/tools/nixos-rebuild.sh index 2af73519bc5243bae58703d9402fc3dc61a42789..6a08c9b4c6c62e1a0cd1aac10775b88bb7d70948 100644 --- a/nixos/modules/installer/tools/nixos-rebuild.sh +++ b/nixos/modules/installer/tools/nixos-rebuild.sh @@ -29,7 +29,7 @@ while [ "$#" -gt 0 ]; do --help) showSyntax ;; - switch|boot|test|build|dry-build|dry-run|dry-activate|build-vm|build-vm-with-bootloader) + switch|boot|test|build|edit|dry-build|dry-run|dry-activate|build-vm|build-vm-with-bootloader) if [ "$i" = dry-run ]; then i=dry-build; fi action="$i" ;; @@ -53,11 +53,11 @@ while [ "$#" -gt 0 ]; do repair=1 extraBuildFlags+=("$i") ;; - --max-jobs|-j|--cores|-I) + --max-jobs|-j|--cores|-I|--builders) j="$1"; shift 1 extraBuildFlags+=("$i" "$j") ;; - --show-trace|--no-build-hook|--keep-failed|-K|--keep-going|-k|--verbose|-v|-vv|-vvv|-vvvv|-vvvvv|--fallback|--repair|--no-build-output|-Q|-j*) + --show-trace|--keep-failed|-K|--keep-going|-k|--verbose|-v|-vv|-vvv|-vvvv|-vvvvv|--fallback|--repair|--no-build-output|-Q|-j*) extraBuildFlags+=("$i") ;; --option) @@ -227,6 +227,13 @@ if [ -z "$_NIXOS_REBUILD_REEXEC" -a -n "$canRun" -a -z "$fast" ]; then fi fi +# Find configuration.nix and open editor instead of building. +if [ "$action" = edit ]; then + NIXOS_CONFIG=${NIXOS_CONFIG:-$(nix-instantiate --find-file nixos-config)} + exec "${EDITOR:-nano}" "$NIXOS_CONFIG" + exit 1 +fi + tmpDir=$(mktemp -t -d nixos-rebuild.XXXXXX) SSHOPTS="$NIX_SSHOPTS -o ControlMaster=auto -o ControlPath=$tmpDir/ssh-%n -o ControlPersist=60" @@ -260,6 +267,14 @@ if [ -n "$rollback" -o "$action" = dry-build ]; then buildNix= fi +nixSystem() { + machine="$(uname -m)" + if [[ "$machine" =~ i.86 ]]; then + machine=i686 + fi + echo $machine-linux +} + prebuiltNix() { machine="$1" if [ "$machine" = x86_64 ]; then @@ -279,7 +294,9 @@ if [ -n "$buildNix" ]; then nixDrv= if ! nixDrv="$(nix-instantiate '' --add-root $tmpDir/nix.drv --indirect -A config.nix.package.out "${extraBuildFlags[@]}")"; then if ! nixDrv="$(nix-instantiate '' --add-root $tmpDir/nix.drv --indirect -A nix "${extraBuildFlags[@]}")"; then - nixStorePath="$(prebuiltNix "$(uname -m)")" + if ! nixStorePath="$(nix-instantiate --eval '' -A $(nixSystem) | sed -e 's/^"//' -e 's/"$//')"; then + nixStorePath="$(prebuiltNix "$(uname -m)")" + fi if ! nix-store -r $nixStorePath --add-root $tmpDir/nix --indirect \ --option extra-binary-caches https://cache.nixos.org/; then echo "warning: don't know how to get latest Nix" >&2 diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix index af0a3a2fcc882f6c81accdcececca47f66b77000..00c4d5018bf56ff1c2ef689954af418518dff1b9 100644 --- a/nixos/modules/installer/tools/tools.nix +++ b/nixos/modules/installer/tools/tools.nix @@ -37,7 +37,7 @@ let name = "nixos-generate-config"; src = ./nixos-generate-config.pl; path = [ pkgs.btrfs-progs ]; - perl = "${pkgs.perl}/bin/perl -I${pkgs.perlPackages.FileSlurp}/lib/perl5/site_perl"; + perl = "${pkgs.perl}/bin/perl -I${pkgs.perlPackages.FileSlurp}/${pkgs.perl.libPrefix}"; inherit (config.system.nixos) release; }; diff --git a/nixos/modules/installer/virtualbox-demo.nix b/nixos/modules/installer/virtualbox-demo.nix index 8ca3592f380026260417287155b719436225854f..af3e1aecca713515add23003803fc9540d0b6232 100644 --- a/nixos/modules/installer/virtualbox-demo.nix +++ b/nixos/modules/installer/virtualbox-demo.nix @@ -22,4 +22,40 @@ with lib; powerManagement.enable = false; system.stateVersion = mkDefault "18.03"; + + installer.cloneConfigExtra = '' + # Let demo build as a trusted user. + # nix.trustedUsers = [ "demo" ]; + + # Mount a VirtualBox shared folder. + # This is configurable in the VirtualBox menu at + # Machine / Settings / Shared Folders. + # fileSystems."/mnt" = { + # fsType = "vboxsf"; + # device = "nameofdevicetomount"; + # options = [ "rw" ]; + # }; + + # By default, the NixOS VirtualBox demo image includes SDDM and Plasma. + # If you prefer another desktop manager or display manager, you may want + # to disable the default. + # services.xserver.desktopManager.plasma5.enable = lib.mkForce false; + # services.xserver.displayManager.sddm.enable = lib.mkForce false; + + # Enable GDM/GNOME by uncommenting above two lines and two lines below. + # services.xserver.displayManager.gdm.enable = true; + # services.xserver.desktopManager.gnome3.enable = true; + + # Set your time zone. + # time.timeZone = "Europe/Amsterdam"; + + # List packages installed in system profile. To search, run: + # \$ nix search wget + # environment.systemPackages = with pkgs; [ + # wget vim + # ]; + + # Enable the OpenSSH daemon. + # services.openssh.enable = true; + ''; } diff --git a/nixos/modules/misc/documentation.nix b/nixos/modules/misc/documentation.nix index b482a5a675230405cc6d7f2c35928330dbca80e2..834ac0de912135de7cafa6e4132e902c8737765a 100644 --- a/nixos/modules/misc/documentation.nix +++ b/nixos/modules/misc/documentation.nix @@ -1,8 +1,74 @@ -{ config, lib, pkgs, ... }: +{ config, lib, pkgs, baseModules, extraModules, modules, ... }: with lib; -let cfg = config.documentation; in +let + + cfg = config.documentation; + + manualModules = baseModules ++ optionals cfg.nixos.includeAllModules (extraModules ++ modules); + + /* For the purpose of generating docs, evaluate options with each derivation + in `pkgs` (recursively) replaced by a fake with path "\${pkgs.attribute.path}". + It isn't perfect, but it seems to cover a vast majority of use cases. + Caveat: even if the package is reached by a different means, + the path above will be shown and not e.g. `${config.services.foo.package}`. */ + manual = import ../../doc/manual rec { + inherit pkgs config; + version = config.system.nixos.release; + revision = "release-${version}"; + options = + let + scrubbedEval = evalModules { + modules = [ { nixpkgs.localSystem = config.nixpkgs.localSystem; } ] ++ manualModules; + args = (config._module.args) // { modules = [ ]; }; + specialArgs = { pkgs = scrubDerivations "pkgs" pkgs; }; + }; + scrubDerivations = namePrefix: pkgSet: mapAttrs + (name: value: + let wholeName = "${namePrefix}.${name}"; in + if isAttrs value then + scrubDerivations wholeName value + // (optionalAttrs (isDerivation value) { outPath = "\${${wholeName}}"; }) + else value + ) + pkgSet; + in scrubbedEval.options; + }; + + helpScript = pkgs.writeScriptBin "nixos-help" + '' + #! ${pkgs.runtimeShell} -e + # Finds first executable browser in a colon-separated list. + # (see how xdg-open defines BROWSER) + browser="$( + IFS=: ; for b in $BROWSER; do + [ -n "$(type -P "$b" || true)" ] && echo "$b" && break + done + )" + if [ -z "$browser" ]; then + browser="$(type -P xdg-open || true)" + if [ -z "$browser" ]; then + browser="$(type -P w3m || true)" + if [ -z "$browser" ]; then + echo "$0: unable to start a web browser; please set \$BROWSER" + exit 1 + fi + fi + fi + exec "$browser" ${manual.manualHTMLIndex} + ''; + + desktopItem = pkgs.makeDesktopItem { + name = "nixos-manual"; + desktopName = "NixOS Manual"; + genericName = "View NixOS documentation in a web browser"; + icon = "nix-snowflake"; + exec = "${helpScript}/bin/nixos-help"; + categories = "System"; + }; + +in { @@ -66,6 +132,33 @@ let cfg = config.documentation; in ''; }; + nixos.enable = mkOption { + type = types.bool; + default = true; + description = '' + Whether to install NixOS's own documentation. + + This includes man pages like + configuration.nix + 5 if is + set. + This includes the HTML manual and the nixos-help command if + is set. + + ''; + }; + + nixos.includeAllModules = mkOption { + type = types.bool; + default = false; + description = '' + Whether the generated NixOS's documentation should include documentation for all + the options from all the NixOS modules included in the current + configuration.nix. Disabling this will make the manual + generator to ignore options defined outside of baseModules. + ''; + }; + }; }; @@ -76,12 +169,21 @@ let cfg = config.documentation; in environment.systemPackages = [ pkgs.man-db ]; environment.pathsToLink = [ "/share/man" ]; environment.extraOutputsToInstall = [ "man" ] ++ optional cfg.dev.enable "devman"; + environment.etc."man.conf".source = "${pkgs.man-db}/etc/man_db.conf"; }) (mkIf cfg.info.enable { environment.systemPackages = [ pkgs.texinfoInteractive ]; environment.pathsToLink = [ "/share/info" ]; environment.extraOutputsToInstall = [ "info" ] ++ optional cfg.dev.enable "devinfo"; + environment.extraSetup = '' + if [ -w $out/share/info ]; then + shopt -s nullglob + for i in $out/share/info/*.info $out/share/info/*.info.gz; do + ${pkgs.buildPackages.texinfo}/bin/install-info $i $out/share/info/dir + done + fi + ''; }) (mkIf cfg.doc.enable { @@ -91,6 +193,21 @@ let cfg = config.documentation; in environment.extraOutputsToInstall = [ "doc" ] ++ optional cfg.dev.enable "devdoc"; }) + (mkIf cfg.nixos.enable { + system.build.manual = manual; + + environment.systemPackages = [] + ++ optional cfg.man.enable manual.manpages + ++ optionals cfg.doc.enable ([ manual.manualHTML helpScript ] + ++ optionals config.services.xserver.enable [ desktopItem pkgs.nixos-icons ]); + + services.mingetty.helpLine = mkIf cfg.doc.enable ( + "\nRun `nixos-help` " + + optionalString config.services.nixosManual.showManual "or press " + + "for the NixOS manual." + ); + }) + ]); } diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index bffd8aff78b9081743923213adf7ed2e6a62b677..e78673514e3ba5d9d9c4f535be34498198e9b0e6 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -53,7 +53,7 @@ tomcat = 16; #audio = 17; # unused #floppy = 18; # unused - #uucp = 19; # unused + uucp = 19; #lp = 20; # unused #proc = 21; # unused pulseaudio = 22; # must match `pulseaudio' GID @@ -101,7 +101,7 @@ iodined = 66; #libvirtd = 67; # unused graphite = 68; - statsd = 69; + #statsd = 69; # removed 2018-11-14 transmission = 70; postgres = 71; #vboxusers = 72; # unused @@ -175,7 +175,7 @@ dnsmasq = 141; uhub = 142; yandexdisk = 143; - #collectd = 144; #unused + mxisd = 144; # was once collectd consul = 145; mailpile = 146; redmine = 147; @@ -272,7 +272,7 @@ nzbget = 245; mosquitto = 246; toxvpn = 247; - squeezelite = 248; + # squeezelite = 248; # DynamicUser = true turnserver = 249; smokeping = 250; gocd-agent = 251; @@ -289,8 +289,8 @@ stanchion = 262; riak-cs = 263; infinoted = 264; - # keystone = 265; # unused, removed 2017-12-13 - # glance = 266; # unused, removed 2017-12-13 + sickbeard = 265; + headphones = 266; couchpotato = 267; gogs = 268; pdns-recursor = 269; @@ -306,7 +306,7 @@ rslsync = 279; minio = 280; kanboard = 281; - pykms = 282; + # pykms = 282; # DynamicUser = true kodi = 283; restya-board = 284; mighttpd2 = 285; @@ -326,6 +326,19 @@ cfssl = 299; cassandra = 300; qemu-libvirtd = 301; + # kvm = 302; # unused + # render = 303; # unused + zeronet = 304; + lirc = 305; + lidarr = 306; + slurm = 307; + kapacitor = 308; + solr = 309; + alerta = 310; + minetest = 311; + rss2email = 312; + cockroachdb = 313; + zoneminder = 314; # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399! @@ -380,7 +393,7 @@ virtuoso = 44; #rtkit = 45; # unused dovecot2 = 46; - #dovenull = 47; # unused + dovenull2 = 47; prayer = 49; mpd = 50; clamav = 51; @@ -401,7 +414,7 @@ iodined = 66; libvirtd = 67; graphite = 68; - #statsd = 69; # unused + #statsd = 69; # removed 2018-11-14 transmission = 70; postgres = 71; vboxusers = 72; @@ -473,7 +486,7 @@ #dnsmasq = 141; # unused uhub = 142; #yandexdisk = 143; # unused - #collectd = 144; # unused + mxisd = 144; # was once collectd #consul = 145; # unused mailpile = 146; redmine = 147; @@ -576,8 +589,8 @@ stanchion = 262; riak-cs = 263; infinoted = 264; - # keystone = 265; # unused, removed 2017-12-13 - # glance = 266; # unused, removed 2017-12-13 + sickbeard = 265; + headphones = 266; couchpotato = 267; gogs = 268; kresd = 270; @@ -592,7 +605,7 @@ rslsync = 279; minio = 280; kanboard = 281; - pykms = 282; + # pykms = 282; # DynamicUser = true kodi = 283; restya-board = 284; mighttpd2 = 285; @@ -612,6 +625,19 @@ cfssl = 299; cassandra = 300; qemu-libvirtd = 301; + kvm = 302; # default udev rules from systemd requires these + render = 303; # default udev rules from systemd requires these + zeronet = 304; + lirc = 305; + lidarr = 306; + slurm = 307; + kapacitor = 308; + solr = 309; + alerta = 310; + minetest = 311; + rss2email = 312; + cockroachdb = 313; + zoneminder = 314; # 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/nixpkgs.nix b/nixos/modules/misc/nixpkgs.nix index 8fbe218b232af3f57eb87c2b5abaf9aa024fc668..3a717fddaba2be68af2c4958e37827c03da439dc 100644 --- a/nixos/modules/misc/nixpkgs.nix +++ b/nixos/modules/misc/nixpkgs.nix @@ -1,9 +1,10 @@ -{ config, lib, pkgs, ... }: +{ config, options, lib, pkgs, ... }: with lib; let cfg = config.nixpkgs; + opt = options.nixpkgs; isConfig = x: builtins.isAttrs x || lib.isFunction x; @@ -54,6 +55,12 @@ let check = builtins.isAttrs; }; + defaultPkgs = import ../../.. { + inherit (cfg) config overlays localSystem crossSystem; + }; + + finalPkgs = if opt.pkgs.isDefined then cfg.pkgs.appendOverlays cfg.overlays else defaultPkgs; + in { @@ -62,21 +69,24 @@ in pkgs = mkOption { defaultText = literalExample ''import "''${nixos}/.." { - inherit (config.nixpkgs) config overlays localSystem crossSystem; + inherit (cfg) config overlays localSystem crossSystem; } ''; - default = import ../../.. { - localSystem = { inherit (cfg) system; } // cfg.localSystem; - inherit (cfg) config overlays crossSystem; - }; type = pkgsType; example = literalExample ''import {}''; description = '' - This is the evaluation of Nixpkgs that will be provided to - all NixOS modules. Defining this option has the effect of - ignoring the other options that would otherwise be used to - evaluate Nixpkgs, because those are arguments to the default - value. The default value imports the Nixpkgs source files + If set, the pkgs argument to all NixOS modules is the value of + this option, extended with nixpkgs.overlays, if + that is also set. Either nixpkgs.crossSystem or + nixpkgs.localSystem will be used in an assertion + to check that the NixOS and Nixpkgs architectures match. Any + other options in nixpkgs.*, notably config, + will be ignored. + + If unset, the pkgs argument to all NixOS modules is determined + as shown in the default value for this option. + + The default value imports the Nixpkgs source files relative to the location of this NixOS module, because NixOS and Nixpkgs are distributed together for consistency, so the nixos in the default value is in fact a @@ -129,19 +139,24 @@ in description = '' List of overlays to use with the Nix Packages collection. (For details, see the Nixpkgs documentation.) It allows - you to override packages globally. This is a function that + you to override packages globally. Each function in the list takes as an argument the original Nixpkgs. The first argument should be used for finding dependencies, and the second should be used for overriding recipes. - Ignored when nixpkgs.pkgs is set. + If nixpkgs.pkgs is set, overlays specified here + will be applied after the overlays that were already present + in nixpkgs.pkgs. ''; }; localSystem = mkOption { type = types.attrs; # TODO utilize lib.systems.parsedPlatform - default = { system = builtins.currentSystem; }; + default = { inherit (cfg) system; }; example = { system = "aarch64-linux"; config = "aarch64-unknown-linux-gnu"; }; + # Make sure that the final value has all fields for sake of other modules + # referring to this. TODO make `lib.systems` itself use the module system. + apply = lib.systems.elaborate; defaultText = literalExample ''(import "''${nixos}/../lib").lib.systems.examples.aarch64-multiplatform''; description = '' @@ -180,6 +195,7 @@ in system = mkOption { type = types.str; example = "i686-linux"; + default = { system = builtins.currentSystem; }; description = '' Specifies the Nix platform type on which NixOS should be built. It is better to specify nixpkgs.localSystem instead. @@ -196,6 +212,7 @@ in See nixpkgs.localSystem for more information. + Ignored when nixpkgs.localSystem is set. Ignored when nixpkgs.pkgs is set. ''; }; @@ -203,8 +220,26 @@ in config = { _module.args = { - pkgs = cfg.pkgs; - pkgs_i686 = cfg.pkgs.pkgsi686Linux; + pkgs = finalPkgs; }; + + assertions = [ + ( + let + nixosExpectedSystem = + if config.nixpkgs.crossSystem != null + then config.nixpkgs.crossSystem.system + else config.nixpkgs.localSystem.system; + nixosOption = + if config.nixpkgs.crossSystem != null + then "nixpkgs.crossSystem" + else "nixpkgs.localSystem"; + pkgsSystem = finalPkgs.stdenv.targetPlatform.system; + in { + assertion = nixosExpectedSystem == pkgsSystem; + message = "The NixOS nixpkgs.pkgs option was set to a Nixpkgs invocation that compiles to target system ${pkgsSystem} but NixOS was configured for system ${nixosExpectedSystem} via NixOS option ${nixosOption}. The NixOS system settings must match the Nixpkgs target system."; + } + ) + ]; }; } diff --git a/nixos/modules/misc/version.nix b/nixos/modules/misc/version.nix index 63717e0c6a8107debd672791d979d9d350d1bf69..c576cf4cb925ebdc99a0bf2ea3c0194c304e8b29 100644 --- a/nixos/modules/misc/version.nix +++ b/nixos/modules/misc/version.nix @@ -5,7 +5,6 @@ with lib; let cfg = config.system.nixos; - revisionFile = "${toString pkgs.path}/.git-revision"; gitRepo = "${toString pkgs.path}/.git"; gitCommitId = lib.substring 0 7 (commitIdFromGitRepo gitRepo); in @@ -37,15 +36,14 @@ in nixos.revision = mkOption { internal = true; type = types.str; - default = if pathIsDirectory gitRepo then commitIdFromGitRepo gitRepo - else if pathExists revisionFile then fileContents revisionFile - else "master"; + default = trivial.revisionWithDefault "master"; description = "The Git revision from which this NixOS configuration was built."; }; nixos.codeName = mkOption { readOnly = true; type = types.str; + default = trivial.codeName; description = "The NixOS release code name (e.g. Emu)."; }; @@ -82,9 +80,6 @@ in version = mkDefault (cfg.release + cfg.versionSuffix); revision = mkIf (pathIsDirectory gitRepo) (mkDefault gitCommitId); versionSuffix = mkIf (pathIsDirectory gitRepo) (mkDefault (".git." + gitCommitId)); - - # Note: the first letter is bumped on every release. It's an animal. - codeName = "Jellyfish"; }; # Generate /etc/os-release. See @@ -98,6 +93,7 @@ in VERSION_CODENAME=${toLower cfg.codeName} VERSION_ID="${cfg.version}" PRETTY_NAME="NixOS ${cfg.version} (${cfg.codeName})" + LOGO="nix-snowflake" HOME_URL="https://nixos.org/" SUPPORT_URL="https://nixos.org/nixos/support.html" BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues" diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 396e91204079cb0552f044cdfae77d09f6565a46..56c44a43c6e382b317ca5858cf91274b8e37b7e6 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -7,6 +7,13 @@ ./config/fonts/fontdir.nix ./config/fonts/fonts.nix ./config/fonts/ghostscript.nix + ./config/xdg/autostart.nix + ./config/xdg/icons.nix + ./config/xdg/menus.nix + ./config/xdg/mime.nix + ./config/appstream.nix + ./config/xdg/sounds.nix + ./config/gtk/gtk-icon-cache.nix ./config/gnu.nix ./config/i18n.nix ./config/iproute2.nix @@ -28,20 +35,25 @@ ./config/users-groups.nix ./config/vpnc.nix ./config/zram.nix + ./hardware/acpilight.nix ./hardware/all-firmware.nix + ./hardware/bladeRF.nix ./hardware/brightnessctl.nix - ./hardware/ckb.nix + ./hardware/ckb-next.nix ./hardware/cpu/amd-microcode.nix ./hardware/cpu/intel-microcode.nix ./hardware/digitalbitbox.nix ./hardware/sensor/iio.nix ./hardware/ksm.nix + ./hardware/ledger.nix + ./hardware/logitech.nix ./hardware/mcelog.nix ./hardware/network/b43.nix ./hardware/nitrokey.nix ./hardware/opengl.nix ./hardware/pcmcia.nix ./hardware/raid/hpsa.nix + ./hardware/steam-hardware.nix ./hardware/usb-wwan.nix ./hardware/onlykey.nix ./hardware/video/amdgpu.nix @@ -58,7 +70,6 @@ ./i18n/input-method/ibus.nix ./i18n/input-method/nabi.nix ./i18n/input-method/uim.nix - ./installer/tools/auto-upgrade.nix ./installer/tools/tools.nix ./misc/assertions.nix ./misc/crashdump.nix @@ -74,6 +85,7 @@ ./misc/version.nix ./programs/adb.nix ./programs/atop.nix + ./programs/autojump.nix ./programs/bash/bash.nix ./programs/bcc.nix ./programs/blcr.nix @@ -85,6 +97,7 @@ ./programs/criu.nix ./programs/dconf.nix ./programs/digitalbitbox/default.nix + ./programs/dmrconfig.nix ./programs/environment.nix ./programs/firejail.nix ./programs/fish.nix @@ -92,18 +105,20 @@ ./programs/gnupg.nix ./programs/gphoto2.nix ./programs/iftop.nix + ./programs/iotop.nix ./programs/java.nix ./programs/kbdlight.nix ./programs/less.nix ./programs/light.nix ./programs/mosh.nix + ./programs/mininet.nix ./programs/mtr.nix ./programs/nano.nix + ./programs/nm-applet.nix ./programs/npm.nix ./programs/oblogout.nix ./programs/plotinus.nix ./programs/qt5ct.nix - ./programs/rootston.nix ./programs/screen.nix ./programs/sedutil.nix ./programs/slock.nix @@ -121,7 +136,9 @@ ./programs/udevil.nix ./programs/venus.nix ./programs/vim.nix + ./programs/wavemon.nix ./programs/way-cooler.nix + ./programs/waybar.nix ./programs/wireshark.nix ./programs/xfs_quota.nix ./programs/xonsh.nix @@ -142,8 +159,10 @@ ./security/chromium-suid-sandbox.nix ./security/dhparams.nix ./security/duosec.nix + ./security/google_oslogin.nix ./security/hidepid.nix ./security/lock-kernel-modules.nix + ./security/misc.nix ./security/oath.nix ./security/pam.nix ./security/pam_usb.nix @@ -154,6 +173,7 @@ ./security/rtkit.nix ./security/wrappers/default.nix ./security/sudo.nix + ./security/systemd-confinement.nix ./services/admin/oxidized.nix ./services/admin/salt/master.nix ./services/admin/salt/minion.nix @@ -165,13 +185,16 @@ ./services/audio/mpd.nix ./services/audio/mopidy.nix ./services/audio/slimserver.nix + ./services/audio/snapserver.nix ./services/audio/squeezelite.nix ./services/audio/ympd.nix + ./services/backup/automysqlbackup.nix ./services/backup/bacula.nix ./services/backup/borgbackup.nix ./services/backup/duplicati.nix ./services/backup/crashplan.nix ./services/backup/crashplan-small-business.nix + ./services/backup/duplicity.nix ./services/backup/mysql-backup.nix ./services/backup/postgresql-backup.nix ./services/backup/restic.nix @@ -180,9 +203,17 @@ ./services/backup/tarsnap.nix ./services/backup/znapzend.nix ./services/cluster/hadoop/default.nix + ./services/cluster/kubernetes/addons/dns.nix + ./services/cluster/kubernetes/addons/dashboard.nix + ./services/cluster/kubernetes/addon-manager.nix + ./services/cluster/kubernetes/apiserver.nix + ./services/cluster/kubernetes/controller-manager.nix ./services/cluster/kubernetes/default.nix - ./services/cluster/kubernetes/dns.nix - ./services/cluster/kubernetes/dashboard.nix + ./services/cluster/kubernetes/flannel.nix + ./services/cluster/kubernetes/kubelet.nix + ./services/cluster/kubernetes/pki.nix + ./services/cluster/kubernetes/proxy.nix + ./services/cluster/kubernetes/scheduler.nix ./services/computing/boinc/client.nix ./services/computing/torque/server.nix ./services/computing/torque/mom.nix @@ -203,6 +234,7 @@ ./services/databases/aerospike.nix ./services/databases/cassandra.nix ./services/databases/clickhouse.nix + ./services/databases/cockroachdb.nix ./services/databases/couchdb.nix ./services/databases/firebird.nix ./services/databases/foundationdb.nix @@ -224,32 +256,45 @@ ./services/databases/virtuoso.nix ./services/desktops/accountsservice.nix ./services/desktops/bamf.nix + ./services/desktops/deepin/dde-daemon.nix + ./services/desktops/deepin/deepin-menu.nix ./services/desktops/dleyna-renderer.nix ./services/desktops/dleyna-server.nix + ./services/desktops/pantheon/contractor.nix + ./services/desktops/pantheon/files.nix ./services/desktops/flatpak.nix ./services/desktops/geoclue2.nix + ./services/desktops/gsignond.nix ./services/desktops/pipewire.nix ./services/desktops/gnome3/at-spi2-core.nix ./services/desktops/gnome3/chrome-gnome-shell.nix + ./services/desktops/gnome3/evince.nix ./services/desktops/gnome3/evolution-data-server.nix + ./services/desktops/gnome3/file-roller.nix + ./services/desktops/gnome3/glib-networking.nix ./services/desktops/gnome3/gnome-disks.nix ./services/desktops/gnome3/gnome-documents.nix ./services/desktops/gnome3/gnome-keyring.nix ./services/desktops/gnome3/gnome-online-accounts.nix + ./services/desktops/gnome3/gnome-remote-desktop.nix ./services/desktops/gnome3/gnome-online-miners.nix + ./services/desktops/gnome3/gnome-settings-daemon.nix ./services/desktops/gnome3/gnome-terminal-server.nix ./services/desktops/gnome3/gnome-user-share.nix ./services/desktops/gnome3/gpaste.nix ./services/desktops/gnome3/gvfs.nix + ./services/desktops/gnome3/rygel.nix ./services/desktops/gnome3/seahorse.nix ./services/desktops/gnome3/sushi.nix ./services/desktops/gnome3/tracker.nix ./services/desktops/gnome3/tracker-miners.nix ./services/desktops/profile-sync-daemon.nix ./services/desktops/telepathy.nix + ./services/desktops/tumbler.nix ./services/desktops/zeitgeist.nix ./services/development/bloop.nix ./services/development/hoogle.nix + ./services/development/jupyter/default.nix ./services/editors/emacs.nix ./services/editors/infinoted.nix ./services/games/factorio.nix @@ -259,6 +304,7 @@ ./services/hardware/acpid.nix ./services/hardware/actkbd.nix ./services/hardware/bluetooth.nix + ./services/hardware/bolt.nix ./services/hardware/brltty.nix ./services/hardware/freefall.nix ./services/hardware/fwupd.nix @@ -266,27 +312,34 @@ ./services/hardware/interception-tools.nix ./services/hardware/irqbalance.nix ./services/hardware/lcd.nix + ./services/hardware/lirc.nix ./services/hardware/nvidia-optimus.nix ./services/hardware/pcscd.nix ./services/hardware/pommed.nix + ./services/hardware/ratbagd.nix ./services/hardware/sane.nix ./services/hardware/sane_extra_backends/brscan4.nix + ./services/hardware/sane_extra_backends/dsseries.nix ./services/hardware/tcsd.nix ./services/hardware/tlp.nix ./services/hardware/thinkfan.nix ./services/hardware/trezord.nix + ./services/hardware/triggerhappy.nix ./services/hardware/u2f.nix ./services/hardware/udev.nix ./services/hardware/udisks2.nix ./services/hardware/upower.nix ./services/hardware/usbmuxd.nix ./services/hardware/thermald.nix + ./services/hardware/undervolt.nix + ./services/hardware/vdr.nix ./services/logging/SystemdJournal2Gelf.nix ./services/logging/awstats.nix ./services/logging/fluentd.nix ./services/logging/graylog.nix ./services/logging/heartbeat.nix ./services/logging/journalbeat.nix + ./services/logging/journaldriver.nix ./services/logging/journalwatch.nix ./services/logging/klogd.nix ./services/logging/logcheck.nix @@ -296,12 +349,14 @@ ./services/logging/syslog-ng.nix ./services/logging/syslogd.nix ./services/mail/clamsmtp.nix + ./services/mail/davmail.nix ./services/mail/dkimproxy-out.nix ./services/mail/dovecot.nix ./services/mail/dspam.nix ./services/mail/exim.nix ./services/mail/freepops.nix ./services/mail/mail.nix + ./services/mail/mailcatcher.nix ./services/mail/mailhog.nix ./services/mail/mlmmj.nix ./services/mail/offlineimap.nix @@ -313,12 +368,16 @@ ./services/mail/postgrey.nix ./services/mail/spamassassin.nix ./services/mail/rspamd.nix + ./services/mail/rss2email.nix ./services/mail/rmilter.nix + ./services/mail/roundcube.nix ./services/mail/nullmailer.nix ./services/misc/airsonic.nix ./services/misc/apache-kafka.nix ./services/misc/autofs.nix ./services/misc/autorandr.nix + ./services/misc/beanstalkd.nix + ./services/misc/bees.nix ./services/misc/bepasty.nix ./services/misc/canto-daemon.nix ./services/misc/calibre-server.nix @@ -350,12 +409,15 @@ ./services/misc/gogs.nix ./services/misc/gollum.nix ./services/misc/gpsd.nix + ./services/misc/headphones.nix ./services/misc/home-assistant.nix ./services/misc/ihaskell.nix ./services/misc/irkerd.nix ./services/misc/jackett.nix + ./services/misc/jellyfin.nix ./services/misc/logkeys.nix ./services/misc/leaps.nix + ./services/misc/lidarr.nix ./services/misc/mantisbt.nix ./services/misc/mathics.nix ./services/misc/matrix-synapse.nix @@ -377,7 +439,7 @@ ./services/misc/parsoid.nix ./services/misc/phd.nix ./services/misc/plex.nix - ./services/misc/plexpy.nix + ./services/misc/tautulli.nix ./services/misc/pykms.nix ./services/misc/radarr.nix ./services/misc/redmine.nix @@ -386,6 +448,7 @@ ./services/misc/rogue.nix ./services/misc/serviio.nix ./services/misc/safeeyes.nix + ./services/misc/sickbeard.nix ./services/misc/siproxd.nix ./services/misc/snapper.nix ./services/misc/sonarr.nix @@ -400,8 +463,11 @@ ./services/misc/taskserver ./services/misc/tzupdate.nix ./services/misc/uhub.nix + ./services/misc/weechat.nix ./services/misc/xmr-stak.nix + ./services/misc/zoneminder.nix ./services/misc/zookeeper.nix + ./services/monitoring/alerta.nix ./services/monitoring/apcupsd.nix ./services/monitoring/arbtt.nix ./services/monitoring/bosun.nix @@ -412,9 +478,12 @@ ./services/monitoring/dd-agent/dd-agent.nix ./services/monitoring/fusion-inventory.nix ./services/monitoring/grafana.nix + ./services/monitoring/grafana-reporter.nix ./services/monitoring/graphite.nix ./services/monitoring/hdaps.nix ./services/monitoring/heapster.nix + ./services/monitoring/incron.nix + ./services/monitoring/kapacitor.nix ./services/monitoring/longview.nix ./services/monitoring/monit.nix ./services/monitoring/munin.nix @@ -424,12 +493,12 @@ ./services/monitoring/prometheus/default.nix ./services/monitoring/prometheus/alertmanager.nix ./services/monitoring/prometheus/exporters.nix + ./services/monitoring/prometheus/pushgateway.nix ./services/monitoring/riemann.nix ./services/monitoring/riemann-dash.nix ./services/monitoring/riemann-tools.nix ./services/monitoring/scollector.nix ./services/monitoring/smartd.nix - ./services/monitoring/statsd.nix ./services/monitoring/sysstat.nix ./services/monitoring/systemhealth.nix ./services/monitoring/teamviewer.nix @@ -475,6 +544,7 @@ ./services/networking/cntlm.nix ./services/networking/connman.nix ./services/networking/consul.nix + ./services/networking/coredns.nix ./services/networking/coturn.nix ./services/networking/dante.nix ./services/networking/ddclient.nix @@ -487,6 +557,8 @@ ./services/networking/dnsdist.nix ./services/networking/dnsmasq.nix ./services/networking/ejabberd.nix + ./services/networking/epmd.nix + ./services/networking/eternal-terminal.nix ./services/networking/fakeroute.nix ./services/networking/ferm.nix ./services/networking/firefox/sync-server.nix @@ -508,14 +580,17 @@ ./services/networking/heyefi.nix ./services/networking/hostapd.nix ./services/networking/htpdate.nix + ./services/networking/hylafax/default.nix ./services/networking/i2pd.nix ./services/networking/i2p.nix ./services/networking/iodine.nix + ./services/networking/iperf3.nix ./services/networking/ircd-hybrid/default.nix ./services/networking/iwd.nix ./services/networking/keepalived/default.nix ./services/networking/keybase.nix ./services/networking/kippo.nix + ./services/networking/knot.nix ./services/networking/kresd.nix ./services/networking/lambdabot.nix ./services/networking/libreswan.nix @@ -532,6 +607,7 @@ ./services/networking/miredo.nix ./services/networking/mstpd.nix ./services/networking/murmur.nix + ./services/networking/mxisd.nix ./services/networking/namecoind.nix ./services/networking/nat.nix ./services/networking/ndppd.nix @@ -545,6 +621,7 @@ ./services/networking/nsd.nix ./services/networking/ntopng.nix ./services/networking/ntpd.nix + ./services/networking/nullidentdmod.nix ./services/networking/nylon.nix ./services/networking/ocserv.nix ./services/networking/oidentd.nix @@ -563,6 +640,7 @@ ./services/networking/prosody.nix ./services/networking/quagga.nix ./services/networking/quassel.nix + ./services/networking/quicktun.nix ./services/networking/racoon.nix ./services/networking/radicale.nix ./services/networking/radvd.nix @@ -593,12 +671,15 @@ ./services/networking/supplicant.nix ./services/networking/supybot.nix ./services/networking/syncthing.nix + ./services/networking/syncthing-relay.nix ./services/networking/tcpcrypt.nix ./services/networking/teamspeak3.nix + ./services/networking/tedicross.nix ./services/networking/tinc.nix ./services/networking/tinydns.nix ./services/networking/tftpd.nix ./services/networking/tox-bootstrapd.nix + ./services/networking/tox-node.nix ./services/networking/toxvpn.nix ./services/networking/tvheadend.nix ./services/networking/unbound.nix @@ -606,6 +687,7 @@ ./services/networking/vsftpd.nix ./services/networking/wakeonlan.nix ./services/networking/websockify.nix + ./services/networking/wg-quick.nix ./services/networking/wicd.nix ./services/networking/wireguard.nix ./services/networking/wpa_supplicant.nix @@ -613,8 +695,9 @@ ./services/networking/xl2tpd.nix ./services/networking/xrdp.nix ./services/networking/zerobin.nix + ./services/networking/zeronet.nix ./services/networking/zerotierone.nix - ./services/networking/znc.nix + ./services/networking/znc/default.nix ./services/printing/cupsd.nix ./services/scheduling/atd.nix ./services/scheduling/chronos.nix @@ -622,9 +705,11 @@ ./services/scheduling/fcron.nix ./services/scheduling/marathon.nix ./services/search/elasticsearch.nix + ./services/search/elasticsearch-curator.nix ./services/search/hound.nix ./services/search/kibana.nix ./services/search/solr.nix + ./services/security/bitwarden_rs/default.nix ./services/security/certmgr.nix ./services/security/cfssl.nix ./services/security/clamav.nix @@ -636,6 +721,7 @@ ./services/security/hologram-server.nix ./services/security/hologram-agent.nix ./services/security/munge.nix + ./services/security/nginx-sso.nix ./services/security/oauth2_proxy.nix ./services/security/oauth2_proxy_nginx.nix ./services/security/physlock.nix @@ -652,7 +738,7 @@ ./services/system/dbus.nix ./services/system/earlyoom.nix ./services/system/localtime.nix - ./services/system/kerberos.nix + ./services/system/kerberos/default.nix ./services/system/nscd.nix ./services/system/saslauthd.nix ./services/system/uptimed.nix @@ -667,15 +753,20 @@ ./services/web-apps/atlassian/confluence.nix ./services/web-apps/atlassian/crowd.nix ./services/web-apps/atlassian/jira.nix + ./services/web-apps/codimd.nix + ./services/web-apps/documize.nix ./services/web-apps/frab.nix + ./services/web-apps/icingaweb2/icingaweb2.nix + ./services/web-apps/icingaweb2/module-monitoring.nix ./services/web-apps/mattermost.nix + ./services/web-apps/miniflux.nix + ./services/web-apps/nextcloud.nix ./services/web-apps/nexus.nix ./services/web-apps/pgpkeyserver-lite.nix ./services/web-apps/matomo.nix ./services/web-apps/restya-board.nix ./services/web-apps/tt-rss.nix ./services/web-apps/selfoss.nix - ./services/web-apps/quassel-webserver.nix ./services/web-apps/virtlyst.nix ./services/web-apps/youtrack.nix ./services/web-servers/apache-httpd/default.nix @@ -694,6 +785,7 @@ ./services/web-servers/nginx/default.nix ./services/web-servers/nginx/gitweb.nix ./services/web-servers/phpfpm/default.nix + ./services/web-servers/unit/default.nix ./services/web-servers/shellinabox.nix ./services/web-servers/tomcat.nix ./services/web-servers/traefik.nix @@ -712,12 +804,14 @@ ./services/x11/display-managers/lightdm.nix ./services/x11/display-managers/sddm.nix ./services/x11/display-managers/slim.nix + ./services/x11/display-managers/startx.nix ./services/x11/display-managers/xpra.nix ./services/x11/fractalart.nix ./services/x11/hardware/libinput.nix ./services/x11/hardware/multitouch.nix ./services/x11/hardware/synaptics.nix ./services/x11/hardware/wacom.nix + ./services/x11/gdk-pixbuf.nix ./services/x11/redshift.nix ./services/x11/urxvtd.nix ./services/x11/window-managers/awesome.nix @@ -768,6 +862,7 @@ ./system/boot/timesyncd.nix ./system/boot/tmp.nix ./system/etc/etc.nix + ./tasks/auto-upgrade.nix ./tasks/bcache.nix ./tasks/cpu-freq.nix ./tasks/encrypted-devices.nix @@ -798,9 +893,11 @@ ./tasks/trackpoint.nix ./tasks/powertop.nix ./testing/service-runner.nix + ./virtualisation/anbox.nix ./virtualisation/container-config.nix ./virtualisation/containers.nix ./virtualisation/docker.nix + ./virtualisation/docker-containers.nix ./virtualisation/ecs-agent.nix ./virtualisation/libvirtd.nix ./virtualisation/lxc.nix diff --git a/nixos/modules/profiles/all-hardware.nix b/nixos/modules/profiles/all-hardware.nix index 0d7124be0a5c62d67688329e6d0822a7eed1129a..19f821ae17f393770ae4b5f660bc3c06911c669e 100644 --- a/nixos/modules/profiles/all-hardware.nix +++ b/nixos/modules/profiles/all-hardware.nix @@ -33,7 +33,7 @@ # USB support, especially for booting from USB CD-ROM # drives. - "usb_storage" + "uas" # Firewire support. Not tested. "ohci1394" "sbp2" diff --git a/nixos/modules/profiles/base.nix b/nixos/modules/profiles/base.nix index 5aaffa4f1f2a1272ab76868c5ae27f67d02e33a6..2a2fe119d30cb36ebf7b70d23cda106479974a90 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-nox # needed for the manual anyway + pkgs.w3m-nographics # needed for the manual anyway pkgs.testdisk # useful for repairing boot problems pkgs.ms-sys # for writing Microsoft boot sectors / MBRs pkgs.efibootmgr @@ -19,6 +19,9 @@ pkgs.cryptsetup # needed for dm-crypt volumes pkgs.mkpasswd # for generating password files + # Some text editors. + pkgs.vim + # Some networking tools. pkgs.fuse pkgs.fuse3 @@ -46,7 +49,7 @@ ]; # Include support for various filesystems. - boot.supportedFilesystems = [ "btrfs" "reiserfs" "vfat" "f2fs" "xfs" "ntfs" "cifs" ]; + boot.supportedFilesystems = [ "btrfs" "reiserfs" "vfat" "f2fs" "xfs" "zfs" "ntfs" "cifs" ]; # Configure host id for ZFS to work networking.hostId = lib.mkDefault "8425e349"; diff --git a/nixos/modules/profiles/clone-config.nix b/nixos/modules/profiles/clone-config.nix index 99d4774584f1eb527d44dad10e3bb7ae791f90ee..3f669ba7d2e1677251500c772196bb71f57426b6 100644 --- a/nixos/modules/profiles/clone-config.nix +++ b/nixos/modules/profiles/clone-config.nix @@ -48,6 +48,8 @@ let { imports = [ ${toString config.installer.cloneConfigIncludes} ]; + + ${config.installer.cloneConfigExtra} } ''; @@ -73,6 +75,13 @@ in ''; }; + installer.cloneConfigExtra = mkOption { + default = ""; + description = '' + Extra text to include in the cloned configuration.nix included in this + installer. + ''; + }; }; config = { diff --git a/nixos/modules/profiles/docker-container.nix b/nixos/modules/profiles/docker-container.nix index 7031d7d1d5931ef69b7828eb8ee810f7631c87f9..5d6b11498b522c06d95bdb4582ee38c9e03c0e28 100644 --- a/nixos/modules/profiles/docker-container.nix +++ b/nixos/modules/profiles/docker-container.nix @@ -15,15 +15,19 @@ in { # Create the tarball system.build.tarball = pkgs.callPackage ../../lib/make-system-tarball.nix { - contents = []; + contents = [ + { + source = "${config.system.build.toplevel}/."; + target = "./"; + } + ]; extraArgs = "--owner=0"; # Add init script to image - storeContents = [ - { object = config.system.build.toplevel + "/init"; - symlink = "/init"; - } - ] ++ (pkgs2storeContents [ pkgs.stdenv ]); + storeContents = pkgs2storeContents [ + config.system.build.toplevel + pkgs.stdenv + ]; # Some container managers like lxc need these extraCommands = "mkdir -p proc sys dev"; diff --git a/nixos/modules/profiles/graphical.nix b/nixos/modules/profiles/graphical.nix index 332cf58aa538224ceb1ad1e3f84a340efcb1bb88..649f5564ac61207c862e5cace41cf2b824491382 100644 --- a/nixos/modules/profiles/graphical.nix +++ b/nixos/modules/profiles/graphical.nix @@ -7,9 +7,16 @@ services.xserver = { enable = true; displayManager.sddm.enable = true; - desktopManager.plasma5.enable = true; + desktopManager.plasma5 = { + enable = true; + enableQt4Support = false; + }; libinput.enable = true; # for touchpad support on many laptops }; - environment.systemPackages = [ pkgs.glxinfo ]; + # Enable sound in virtualbox appliances. + hardware.pulseaudio.enable = true; + hardware.pulseaudio.systemWide = true; # Needed since we run plasma as root. + + environment.systemPackages = [ pkgs.glxinfo pkgs.firefox ]; } diff --git a/nixos/modules/profiles/hardened.nix b/nixos/modules/profiles/hardened.nix index 2af8bf1f8e30cb38fa2779aa4aea2a36c9b2367a..9ab2ee87a19e503771ad585f1e8349028440110c 100644 --- a/nixos/modules/profiles/hardened.nix +++ b/nixos/modules/profiles/hardened.nix @@ -6,23 +6,43 @@ with lib; { + meta = { + maintainers = [ maintainers.joachifm ]; + }; + boot.kernelPackages = mkDefault pkgs.linuxPackages_hardened; + nix.allowedUsers = mkDefault [ "@users" ]; + security.hideProcessInformation = mkDefault true; security.lockKernelModules = mkDefault true; + security.allowUserNamespaces = mkDefault false; + + security.protectKernelImage = mkDefault true; + + security.allowSimultaneousMultithreading = mkDefault false; + + security.virtualization.flushL1DataCache = mkDefault "always"; + security.apparmor.enable = mkDefault true; boot.kernelParams = [ + # Slab/slub sanity checks, redzoning, and poisoning + "slub_debug=FZP" + + # Disable slab merging to make certain heap overflow attacks harder + "slab_nomerge" + # Overwrite free'd memory "page_poison=1" # Disable legacy virtual syscalls "vsyscall=none" - # Disable hibernation (allows replacing the running kernel) - "nohibernate" + # Enable PTI even if CPU claims to be safe from meltdown + "pti=on" ]; boot.blacklistedKernelModules = [ @@ -36,9 +56,6 @@ with lib; # (e.g., parent/child) boot.kernel.sysctl."kernel.yama.ptrace_scope" = mkOverride 500 1; - # Prevent replacing the running kernel image w/o reboot - boot.kernel.sysctl."kernel.kexec_load_disabled" = mkDefault true; - # Restrict access to kernel ring buffer (information leaks) boot.kernel.sysctl."kernel.dmesg_restrict" = mkDefault true; @@ -55,18 +72,6 @@ with lib; # ... or at least apply some hardening to it boot.kernel.sysctl."net.core.bpf_jit_harden" = mkDefault true; - # A recurring problem with user namespaces is that there are - # still code paths where the kernel's permission checking logic - # fails to account for namespacing, instead permitting a - # namespaced process to act outside the namespace with the - # same privileges as it would have inside it. This is particularly - # bad in the common case of running as root within the namespace. - # - # Setting the number of allowed user namespaces to 0 effectively disables - # the feature at runtime. Attempting to create a user namespace - # with unshare will then fail with "no space left on device". - boot.kernel.sysctl."user.max_user_namespaces" = mkDefault 0; - # Raise ASLR entropy for 64bit & 32bit, respectively. # # Note: mmap_rnd_compat_bits may not exist on 64bit. diff --git a/nixos/modules/profiles/headless.nix b/nixos/modules/profiles/headless.nix index 131ee272859a914899406a6344c47c8843667988..46a9b6a7d8d5ccc78f0c8a8f1a42d48997a9827b 100644 --- a/nixos/modules/profiles/headless.nix +++ b/nixos/modules/profiles/headless.nix @@ -6,7 +6,6 @@ with lib; { - sound.enable = false; boot.vesa = false; # Don't start a tty on the serial consoles. diff --git a/nixos/modules/profiles/installation-device.nix b/nixos/modules/profiles/installation-device.nix index ff4a23a18d0692bb9c8316b10f4266cb7bca40a6..580ea4a58e5b48c0e61848e8c9f8e68688e8e1fb 100644 --- a/nixos/modules/profiles/installation-device.nix +++ b/nixos/modules/profiles/installation-device.nix @@ -22,9 +22,10 @@ with lib; config = { # Enable in installer, even if the minimal profile disables it. - services.nixosManual.enable = mkForce true; + documentation.enable = mkForce true; # Show the manual. + documentation.nixos.enable = mkForce true; services.nixosManual.showManual = true; # Let the user play Rogue on TTY 8 during the installation. @@ -62,7 +63,7 @@ with lib; # Tell the Nix evaluator to garbage collect more aggressively. # This is desirable in memory-constrained environments that don't # (yet) have swap set up. - environment.variables.GC_INITIAL_HEAP_SIZE = "100000"; + environment.variables.GC_INITIAL_HEAP_SIZE = "1M"; # Make the installer more likely to succeed in low memory # environments. The kernel's overcommit heustistics bite us @@ -86,9 +87,6 @@ with lib; # console less cumbersome if the machine has a public IP. networking.firewall.logRefusedConnections = mkDefault false; - environment.systemPackages = [ pkgs.vim ]; - - # Allow the user to log in as root without a password. users.users.root.initialHashedPassword = ""; }; diff --git a/nixos/modules/profiles/minimal.nix b/nixos/modules/profiles/minimal.nix index ed04e46c77d1d35199c8aac45880440a923c12e2..f044e6f39ea5ae15d41e5ce4f36ffccffea8cde1 100644 --- a/nixos/modules/profiles/minimal.nix +++ b/nixos/modules/profiles/minimal.nix @@ -12,7 +12,6 @@ with lib; i18n.supportedLocales = [ (config.i18n.defaultLocale + "/UTF-8") ]; documentation.enable = mkDefault false; - services.nixosManual.enable = mkDefault false; - sound.enable = mkDefault false; + documentation.nixos.enable = mkDefault false; } diff --git a/nixos/modules/programs/adb.nix b/nixos/modules/programs/adb.nix index 942572cef9d5114569a3df55b8e7bfaf0c99d0f2..250d8c252a3bcf165b3e37139360527c9abbf04c 100644 --- a/nixos/modules/programs/adb.nix +++ b/nixos/modules/programs/adb.nix @@ -16,7 +16,6 @@ with lib; To grant access to a user, it must be part of adbusers group: users.users.alice.extraGroups = ["adbusers"]; ''; - relatedPackages = [ ["androidenv" "platformTools"] ]; }; }; }; @@ -24,7 +23,7 @@ with lib; ###### implementation config = mkIf config.programs.adb.enable { services.udev.packages = [ pkgs.android-udev-rules ]; - environment.systemPackages = [ pkgs.androidenv.platformTools ]; + environment.systemPackages = [ pkgs.androidenv.androidPkgs_9_0.platform-tools ]; users.groups.adbusers = {}; }; } diff --git a/nixos/modules/programs/autojump.nix b/nixos/modules/programs/autojump.nix new file mode 100644 index 0000000000000000000000000000000000000000..3a8feec4bb45f4546115818cbba74591864135e8 --- /dev/null +++ b/nixos/modules/programs/autojump.nix @@ -0,0 +1,33 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.programs.autojump; + prg = config.programs; +in +{ + options = { + programs.autojump = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable autojump. + ''; + }; + }; + }; + + ###### implementation + + config = mkIf cfg.enable { + environment.pathsToLink = [ "/share/autojump" ]; + environment.systemPackages = [ pkgs.autojump ]; + + programs.bash.interactiveShellInit = "source ${pkgs.autojump}/share/autojump/autojump.bash"; + programs.zsh.interactiveShellInit = mkIf prg.zsh.enable "source ${pkgs.autojump}/share/autojump/autojump.zsh"; + programs.fish.interactiveShellInit = mkIf prg.fish.enable "source ${pkgs.autojump}/share/autojump/autojump.fish"; + }; +} diff --git a/nixos/modules/programs/bash/bash.nix b/nixos/modules/programs/bash/bash.nix index 69a1a482d0747831940b43433db77c582eb2a7e6..27b5f9e4b642f9eb7581539f9c3eedda7c767741 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 in obsolete /etc/bash_completion.d/ # directories. Bash loads completions in all - # $XDG_DATA_DIRS/share/bash-completion/completions/ + # $XDG_DATA_DIRS/bash-completion/completions/ # on demand, so they do not need to be sourced here. if shopt -q progcomp &>/dev/null; then . "${pkgs.bash-completion}/etc/profile.d/bash_completion.sh" @@ -33,7 +33,8 @@ let ''; bashAliases = concatStringsSep "\n" ( - mapAttrsFlatten (k: v: "alias ${k}='${v}'") cfg.shellAliases + mapAttrsFlatten (k: v: "alias ${k}=${escapeShellArg v}") + (filterAttrs (k: v: !isNull v) cfg.shellAliases) ); in @@ -59,12 +60,12 @@ in */ shellAliases = mkOption { - default = config.environment.shellAliases; + default = {}; description = '' - Set of aliases for bash shell. See - for an option format description. + Set of aliases for bash shell, which overrides . + See for an option format description. ''; - type = types.attrs; # types.attrsOf types.stringOrPath; + type = with types; attrsOf (nullOr (either str path)); }; shellInit = mkOption { @@ -97,7 +98,12 @@ in if [ "$TERM" != "dumb" -o -n "$INSIDE_EMACS" ]; then PROMPT_COLOR="1;31m" let $UID && PROMPT_COLOR="1;32m" - PS1="\n\[\033[$PROMPT_COLOR\][\u@\h:\w]\\$\[\033[0m\] " + if [ -n "$INSIDE_EMACS" ]; then + # Emacs term mode doesn't support xterm title escape sequence (\e]0;) + PS1="\n\[\033[$PROMPT_COLOR\][\u@\h:\w]\\$\[\033[0m\] " + else + PS1="\n\[\033[$PROMPT_COLOR\][\[\e]0;\u@\h: \w\a\]\u@\h:\w]\\$\[\033[0m\] " + fi if test "$TERM" = "xterm"; then PS1="\[\033]2;\h:\u:\w\007\]$PS1" fi @@ -125,8 +131,12 @@ in programs.bash = { + shellAliases = mapAttrs (name: mkDefault) cfge.shellAliases; + shellInit = '' - ${config.system.build.setEnvironment.text} + if [ -z "$__NIXOS_SET_ENVIRONMENT_DONE" ]; then + . ${config.system.build.setEnvironment} + fi ${cfge.shellInit} ''; @@ -166,11 +176,11 @@ in # Read system-wide modifications. if test -f /etc/profile.local; then - . /etc/profile.local + . /etc/profile.local fi if [ -n "''${BASH_VERSION:-}" ]; then - . /etc/bashrc + . /etc/bashrc fi ''; @@ -191,12 +201,12 @@ in # We are not always an interactive shell. if [ -n "$PS1" ]; then - ${cfg.interactiveShellInit} + ${cfg.interactiveShellInit} fi # Read system-wide modifications. if test -f /etc/bashrc.local; then - . /etc/bashrc.local + . /etc/bashrc.local fi ''; @@ -216,9 +226,7 @@ in environment.shells = [ "/run/current-system/sw/bin/bash" - "/var/run/current-system/sw/bin/bash" "/run/current-system/sw/bin/sh" - "/var/run/current-system/sw/bin/sh" "${pkgs.bashInteractive}/bin/bash" "${pkgs.bashInteractive}/bin/sh" ]; diff --git a/nixos/modules/programs/browserpass.nix b/nixos/modules/programs/browserpass.nix index 5f8a44a9848ece9723f829d97d952f9e36477619..e1456d3c184854dbd71ac51a7a55bf1ead9ddf76 100644 --- a/nixos/modules/programs/browserpass.nix +++ b/nixos/modules/programs/browserpass.nix @@ -4,19 +4,28 @@ with lib; { - ###### interface - options = { - programs.browserpass.enable = mkEnableOption "the NativeMessaging configuration for Chromium, Chrome, and Vivaldi."; - }; + options.programs.browserpass.enable = mkEnableOption "Browserpass native messaging host"; - ###### implementation config = mkIf config.programs.browserpass.enable { - environment.systemPackages = [ pkgs.browserpass ]; - environment.etc = { - "chromium/native-messaging-hosts/com.dannyvankooten.browserpass.json".source = "${pkgs.browserpass}/etc/chrome-host.json"; - "chromium/policies/managed/com.dannyvankooten.browserpass.json".source = "${pkgs.browserpass}/etc/chrome-policy.json"; - "opt/chrome/native-messaging-hosts/com.dannyvankooten.browserpass.json".source = "${pkgs.browserpass}/etc/chrome-host.json"; - "opt/chrome/policies/managed/com.dannyvankooten.browserpass.json".source = "${pkgs.browserpass}/etc/chrome-policy.json"; + environment.etc = let + appId = "com.github.browserpass.native.json"; + source = part: "${pkgs.browserpass}/lib/browserpass/${part}/${appId}"; + in { + # chromium + "chromium/native-messaging-hosts/${appId}".source = source "hosts/chromium"; + "chromium/policies/managed/${appId}".source = source "policies/chromium"; + + # chrome + "opt/chrome/native-messaging-hosts/${appId}".source = source "hosts/chromium"; + "opt/chrome/policies/managed/${appId}".source = source "policies/chromium"; + + # vivaldi + "opt/vivaldi/native-messaging-hosts/${appId}".source = source "hosts/chromium"; + "opt/vivaldi/policies/managed/${appId}".source = source "policies/chromium"; + + # brave + "opt/brave/native-messaging-hosts/${appId}".source = source "hosts/chromium"; + "opt/brave/policies/managed/${appId}".source = source "policies/chromium"; }; nixpkgs.config.firefox.enableBrowserpass = true; }; diff --git a/nixos/modules/programs/command-not-found/command-not-found.nix b/nixos/modules/programs/command-not-found/command-not-found.nix index bbe7165c62fbdf3eac5ff63f1b6d0b7a5a7bd86e..656c255fcb18566fcb7033e62c149aacce908e30 100644 --- a/nixos/modules/programs/command-not-found/command-not-found.nix +++ b/nixos/modules/programs/command-not-found/command-not-found.nix @@ -16,7 +16,7 @@ let isExecutable = true; inherit (pkgs) perl; inherit (cfg) dbPath; - perlFlags = concatStrings (map (path: "-I ${path}/lib/perl5/site_perl ") + perlFlags = concatStrings (map (path: "-I ${path}/${pkgs.perl.libPrefix} ") [ pkgs.perlPackages.DBI pkgs.perlPackages.DBDSQLite pkgs.perlPackages.StringShellQuote ]); }; diff --git a/nixos/modules/programs/dconf.nix b/nixos/modules/programs/dconf.nix index b7d8a345e65c56b4d4d97aef275659ed7e64a81a..b7bfb8504b6f196831748cf4c9f205c5aa962f16 100644 --- a/nixos/modules/programs/dconf.nix +++ b/nixos/modules/programs/dconf.nix @@ -32,11 +32,13 @@ in environment.etc = optionals (cfg.profiles != {}) (mapAttrsToList mkDconfProfile cfg.profiles); + services.dbus.packages = [ pkgs.gnome3.dconf ]; + environment.variables.GIO_EXTRA_MODULES = optional cfg.enable "${pkgs.gnome3.dconf.lib}/lib/gio/modules"; # https://github.com/NixOS/nixpkgs/pull/31891 #environment.variables.XDG_DATA_DIRS = optional cfg.enable - # "$(echo ${pkgs.gnome3.gsettings-desktop-schemas}/share/gsettings-schemas/gsettings-desktop-schemas-*)"; + # "$(echo ${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/gsettings-desktop-schemas-*)"; }; } diff --git a/nixos/modules/programs/digitalbitbox/doc.xml b/nixos/modules/programs/digitalbitbox/doc.xml index a26653dda535fd83854193bfd1d18c054f7421ec..c63201628dbd7bd2da0471f4c662976224649d2e 100644 --- a/nixos/modules/programs/digitalbitbox/doc.xml +++ b/nixos/modules/programs/digitalbitbox/doc.xml @@ -3,75 +3,64 @@ xmlns:xi="http://www.w3.org/2001/XInclude" version="5.0" xml:id="module-programs-digitalbitbox"> - - Digital Bitbox - - - Digital Bitbox is a hardware wallet and second-factor authenticator. - - - - The digitalbitbox programs module may be - installed by setting programs.digitalbitbox - to true in a manner similar to - + Digital Bitbox + + Digital Bitbox is a hardware wallet and second-factor authenticator. + + + The digitalbitbox programs module may be installed by + setting programs.digitalbitbox to true + in a manner similar to = true; - - and bundles the digitalbitbox package (see digitalbitbox package (see + ), which contains the - dbb-app and dbb-cli binaries, - along with the hardware module (see dbb-app and dbb-cli binaries, along + with the hardware module (see + ) which sets up the - necessary udev rules to access the device. - - - - Enabling the digitalbitbox module is pretty much the easiest way to - get a Digital Bitbox device working on your system. - + necessary udev rules to access the device. + + + Enabling the digitalbitbox module is pretty much the easiest way to get a + Digital Bitbox device working on your system. + + + For more information, see + . + +
+ Package - For more information, see - . - - -
- Package - - - The binaries, dbb-app (a GUI tool) and - dbb-cli (a CLI tool), are available through the - digitalbitbox package which could be installed - as follows: - + The binaries, dbb-app (a GUI tool) and + dbb-cli (a CLI tool), are available through the + digitalbitbox package which could be installed as + follows: = [ pkgs.digitalbitbox ]; - -
- - -
- Hardware - - - The digitalbitbox hardware package enables the udev rules for - Digital Bitbox devices and may be installed as follows: + +
+
+ Hardware + + The digitalbitbox hardware package enables the udev rules for Digital Bitbox + devices and may be installed as follows: = true; - - - - In order to alter the udev rules, one may provide different values for - the udevRule51 and udevRule52 - attributes by means of overriding as follows: + + + In order to alter the udev rules, one may provide different values for the + udevRule51 and udevRule52 attributes + by means of overriding as follows: programs.digitalbitbox = { enable = true; @@ -80,6 +69,6 @@ programs.digitalbitbox = { }; }; - -
+ +
diff --git a/nixos/modules/programs/dmrconfig.nix b/nixos/modules/programs/dmrconfig.nix new file mode 100644 index 0000000000000000000000000000000000000000..e48a4f318370825f2beb99b179462d7e4b3ae722 --- /dev/null +++ b/nixos/modules/programs/dmrconfig.nix @@ -0,0 +1,38 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.programs.dmrconfig; + +in { + meta.maintainers = [ maintainers.etu ]; + + ###### interface + options = { + programs.dmrconfig = { + enable = mkOption { + default = false; + type = types.bool; + description = '' + Whether to configure system to enable use of dmrconfig. This + enables the required udev rules and installs the program. + ''; + relatedPackages = [ "dmrconfig" ]; + }; + + package = mkOption { + default = pkgs.dmrconfig; + type = types.package; + defaultText = "pkgs.dmrconfig"; + description = "dmrconfig derivation to use"; + }; + }; + }; + + ###### implementation + config = mkIf cfg.enable { + environment.systemPackages = [ cfg.package ]; + services.udev.packages = [ cfg.package ]; + }; +} diff --git a/nixos/modules/programs/environment.nix b/nixos/modules/programs/environment.nix index 3bac8d98990ab5c48165de40233cfe119d6c5d15..3c6d356ef998d517880b27046d2e495342e9c051 100644 --- a/nixos/modules/programs/environment.nix +++ b/nixos/modules/programs/environment.nix @@ -40,7 +40,6 @@ in GTK_PATH = [ "/lib/gtk-2.0" "/lib/gtk-3.0" ]; XDG_CONFIG_DIRS = [ "/etc/xdg" ]; XDG_DATA_DIRS = [ "/share" ]; - XCURSOR_PATH = [ "/share/icons" ]; MOZ_PLUGIN_PATH = [ "/lib/mozilla/plugins" ]; LIBEXEC_PATH = [ "/lib/libexec" ]; }; diff --git a/nixos/modules/programs/fish.nix b/nixos/modules/programs/fish.nix index c8d94a47be28ccec786e4179b50e9bce58428d71..622d2f96fe4154eb66a736988ce85b0d37201030 100644 --- a/nixos/modules/programs/fish.nix +++ b/nixos/modules/programs/fish.nix @@ -9,7 +9,8 @@ let cfg = config.programs.fish; fishAliases = concatStringsSep "\n" ( - mapAttrsFlatten (k: v: "alias ${k} '${v}'") cfg.shellAliases + mapAttrsFlatten (k: v: "alias ${k} ${escapeShellArg v}") + (filterAttrs (k: v: !isNull v) cfg.shellAliases) ); in @@ -27,7 +28,7 @@ in ''; type = types.bool; }; - + vendor.config.enable = mkOption { type = types.bool; default = true; @@ -43,7 +44,7 @@ in Whether fish should use completion files provided by other packages. ''; }; - + vendor.functions.enable = mkOption { type = types.bool; default = true; @@ -53,12 +54,12 @@ in }; shellAliases = mkOption { - default = config.environment.shellAliases; + default = {}; description = '' - Set of aliases for fish shell. See - for an option format description. + Set of aliases for fish shell, which overrides . + See for an option format description. ''; - type = types.attrs; + type = with types; attrsOf (nullOr (either str path)); }; shellInit = mkOption { @@ -99,6 +100,8 @@ in config = mkIf cfg.enable { + programs.fish.shellAliases = mapAttrs (name: mkDefault) cfge.shellAliases; + environment.etc."fish/foreign-env/shellInit".text = cfge.shellInit; environment.etc."fish/foreign-env/loginShellInit".text = cfge.loginShellInit; environment.etc."fish/foreign-env/interactiveShellInit".text = cfge.interactiveShellInit; @@ -107,9 +110,11 @@ in # This happens before $__fish_datadir/config.fish sets fish_function_path, so it is currently # unset. We set it and then completely erase it, leaving its configuration to $__fish_datadir/config.fish set fish_function_path ${pkgs.fish-foreign-env}/share/fish-foreign-env/functions $__fish_datadir/functions - + # source the NixOS environment config - fenv source ${config.system.build.setEnvironment} + if [ -z "$__NIXOS_SET_ENVIRONMENT_DONE" ] + fenv source ${config.system.build.setEnvironment} + end # clear fish_function_path so that it will be correctly set when we return to $__fish_datadir/config.fish set -e fish_function_path @@ -123,7 +128,7 @@ in set fish_function_path ${pkgs.fish-foreign-env}/share/fish-foreign-env/functions $fish_function_path fenv source /etc/fish/foreign-env/shellInit > /dev/null set -e fish_function_path[1] - + ${cfg.shellInit} # and leave a note so we don't source this config section again from @@ -137,7 +142,7 @@ in set fish_function_path ${pkgs.fish-foreign-env}/share/fish-foreign-env/functions $fish_function_path fenv source /etc/fish/foreign-env/loginShellInit > /dev/null set -e fish_function_path[1] - + ${cfg.loginShellInit} # and leave a note so we don't source this config section again from @@ -149,12 +154,11 @@ in status --is-interactive; and not set -q __fish_nixos_interactive_config_sourced and begin ${fishAliases} - set fish_function_path ${pkgs.fish-foreign-env}/share/fish-foreign-env/functions $fish_function_path fenv source /etc/fish/foreign-env/interactiveShellInit > /dev/null set -e fish_function_path[1] - + ${cfg.promptInit} ${cfg.interactiveShellInit} @@ -165,17 +169,69 @@ in end ''; + programs.fish.interactiveShellInit = '' + # add completions generated by NixOS to $fish_complete_path + begin + # joins with null byte to acommodate all characters in paths, then respectively gets all paths before (exclusive) / after (inclusive) the first one including "generated_completions", + # splits by null byte, and then removes all empty lines produced by using 'string' + set -l prev (string join0 $fish_complete_path | string match --regex "^.*?(?=\x00[^\x00]*generated_completions.*)" | string split0 | string match -er ".") + set -l post (string join0 $fish_complete_path | string match --regex "[^\x00]*generated_completions.*" | string split0 | string match -er ".") + set fish_complete_path $prev "/etc/fish/generated_completions" $post + end + ''; + + environment.etc."fish/generated_completions".source = + let + patchedGenerator = pkgs.stdenv.mkDerivation { + name = "fish_patched-completion-generator"; + srcs = [ + "${pkgs.fish}/share/fish/tools/create_manpage_completions.py" + "${pkgs.fish}/share/fish/tools/deroff.py" + ]; + unpackCmd = "cp $curSrc $(basename $curSrc)"; + sourceRoot = "."; + patches = [ ./fish_completion-generator.patch ]; # to prevent collisions of identical completion files + dontBuild = true; + installPhase = '' + mkdir -p $out + cp * $out/ + ''; + preferLocalBuild = true; + allowSubstitutes = false; + }; + generateCompletions = package: pkgs.runCommand + "${package.name}_fish-completions" + ( + { + inherit package; + preferLocalBuild = true; + allowSubstitutes = false; + } + // optionalAttrs (package ? meta.priority) { meta.priority = package.meta.priority; } + ) + '' + mkdir -p $out + if [ -d $package/share/man ]; then + find $package/share/man -type f | xargs ${pkgs.python3.interpreter} ${patchedGenerator}/create_manpage_completions.py --directory $out >/dev/null + fi + ''; + in + pkgs.buildEnv { + name = "system_fish-completions"; + ignoreCollisions = true; + paths = map generateCompletions config.environment.systemPackages; + }; + # include programs that bring their own completions environment.pathsToLink = [] ++ optional cfg.vendor.config.enable "/share/fish/vendor_conf.d" ++ optional cfg.vendor.completions.enable "/share/fish/vendor_completions.d" ++ optional cfg.vendor.functions.enable "/share/fish/vendor_functions.d"; - + environment.systemPackages = [ pkgs.fish ]; environment.shells = [ "/run/current-system/sw/bin/fish" - "/var/run/current-system/sw/bin/fish" "${pkgs.fish}/bin/fish" ]; diff --git a/nixos/modules/programs/fish_completion-generator.patch b/nixos/modules/programs/fish_completion-generator.patch new file mode 100644 index 0000000000000000000000000000000000000000..a8c797d185a6852b390c2b51d517a42299b35d3d --- /dev/null +++ b/nixos/modules/programs/fish_completion-generator.patch @@ -0,0 +1,11 @@ +--- a/create_manpage_completions.py ++++ b/create_manpage_completions.py +@@ -776,8 +776,6 @@ def parse_manpage_at_path(manpage_path, output_directory): + + built_command_output.insert(0, "# " + CMDNAME) + +- # Output the magic word Autogenerated so we can tell if we can overwrite this +- built_command_output.insert(1, "# Autogenerated from man page " + manpage_path) + # built_command_output.insert(2, "# using " + parser.__class__.__name__) # XXX MISATTRIBUTES THE CULPABILE PARSER! Was really using Type2 but reporting TypeDeroffManParser + + for line in built_command_output: diff --git a/nixos/modules/programs/gnupg.nix b/nixos/modules/programs/gnupg.nix index addc9dcca87ede6292c4360c0f0edbbd5b902a98..9618d61a1f5bbe9b50ffce45cf96055a2292dbb9 100644 --- a/nixos/modules/programs/gnupg.nix +++ b/nixos/modules/programs/gnupg.nix @@ -11,6 +11,15 @@ in { options.programs.gnupg = { + package = mkOption { + type = types.package; + default = pkgs.gnupg; + defaultText = "pkgs.gnupg"; + description = '' + The gpg package that should be used. + ''; + }; + agent.enable = mkOption { type = types.bool; default = false; @@ -75,21 +84,23 @@ in wantedBy = [ "sockets.target" ]; }; - systemd.packages = [ pkgs.gnupg ]; + systemd.packages = [ cfg.package ]; - environment.extraInit = '' + environment.interactiveShellInit = '' # Bind gpg-agent to this TTY if gpg commands are used. export GPG_TTY=$(tty) '' + (optionalString cfg.agent.enableSSHSupport '' # SSH agent protocol doesn't support changing TTYs, so bind the agent # to every new TTY. - ${pkgs.gnupg}/bin/gpg-connect-agent --quiet updatestartuptty /bye > /dev/null + ${cfg.package}/bin/gpg-connect-agent --quiet updatestartuptty /bye > /dev/null + ''); + environment.extraInit = mkIf cfg.agent.enableSSHSupport '' if [ -z "$SSH_AUTH_SOCK" ]; then - export SSH_AUTH_SOCK=$(${pkgs.gnupg}/bin/gpgconf --list-dirs agent-ssh-socket) + export SSH_AUTH_SOCK=$(${cfg.package}/bin/gpgconf --list-dirs agent-ssh-socket) fi - ''); + ''; assertions = [ { assertion = cfg.agent.enableSSHSupport -> !config.programs.ssh.startAgent; diff --git a/nixos/modules/programs/iotop.nix b/nixos/modules/programs/iotop.nix new file mode 100644 index 0000000000000000000000000000000000000000..5512dbc62f72b65619af049743073cbdf4887f02 --- /dev/null +++ b/nixos/modules/programs/iotop.nix @@ -0,0 +1,17 @@ +{ config, pkgs, lib, ... }: + +with lib; + +let + cfg = config.programs.iotop; +in { + options = { + programs.iotop.enable = mkEnableOption "iotop + setcap wrapper"; + }; + config = mkIf cfg.enable { + security.wrappers.iotop = { + source = "${pkgs.iotop}/bin/iotop"; + capabilities = "cap_net_admin+p"; + }; + }; +} diff --git a/nixos/modules/programs/less.nix b/nixos/modules/programs/less.nix index d39103a58057d6a09a3c22276144841b9ae8af70..9fdf99e9c694af257f93526c769e7c9a2685a66d 100644 --- a/nixos/modules/programs/less.nix +++ b/nixos/modules/programs/less.nix @@ -25,7 +25,7 @@ let ''; lessKey = pkgs.runCommand "lesskey" - { src = pkgs.writeText "lessconfig" configText; } + { src = pkgs.writeText "lessconfig" configText; preferLocalBuild = true; } "${pkgs.less}/bin/lesskey -o $out $src"; in diff --git a/nixos/modules/programs/light.nix b/nixos/modules/programs/light.nix index 6f8c389acc97e1798789bc4467fa33883a8b26d0..9f2a03e7e7639355d2c8fa0176744645e7364cf6 100644 --- a/nixos/modules/programs/light.nix +++ b/nixos/modules/programs/light.nix @@ -13,7 +13,8 @@ in default = false; type = types.bool; description = '' - Whether to install Light backlight control with setuid wrapper. + Whether to install Light backlight control command + and udev rules granting access to members of the "video" group. ''; }; }; @@ -21,6 +22,6 @@ in config = mkIf cfg.enable { environment.systemPackages = [ pkgs.light ]; - security.wrappers.light.source = "${pkgs.light.out}/bin/light"; + services.udev.packages = [ pkgs.light ]; }; } diff --git a/nixos/modules/programs/mininet.nix b/nixos/modules/programs/mininet.nix new file mode 100644 index 0000000000000000000000000000000000000000..ecc924325e6b0613871fa105d5dd0c74f4d5f092 --- /dev/null +++ b/nixos/modules/programs/mininet.nix @@ -0,0 +1,39 @@ +# Global configuration for mininet +# kernel must have NETNS/VETH/SCHED +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.programs.mininet; + + generatedPath = with pkgs; makeSearchPath "bin" [ + iperf ethtool iproute socat + ]; + + pyEnv = pkgs.python.withPackages(ps: [ ps.mininet-python ]); + + mnexecWrapped = pkgs.runCommand "mnexec-wrapper" + { buildInputs = [ pkgs.makeWrapper pkgs.pythonPackages.wrapPython ]; } + '' + makeWrapper ${pkgs.mininet}/bin/mnexec \ + $out/bin/mnexec \ + --prefix PATH : "${generatedPath}" + + ln -s ${pyEnv}/bin/mn $out/bin/mn + + # mn errors out without a telnet binary + # pkgs.telnet brings an undesired ifconfig into PATH see #43105 + ln -s ${pkgs.telnet}/bin/telnet $out/bin/telnet + ''; +in +{ + options.programs.mininet.enable = mkEnableOption "Mininet"; + + config = mkIf cfg.enable { + + virtualisation.vswitch.enable = true; + + environment.systemPackages = [ mnexecWrapped ]; + }; +} diff --git a/nixos/modules/programs/nano.nix b/nixos/modules/programs/nano.nix index 27b6d446c75d74fbf26e606c20b47b56077fe454..6a4d46338e19bb3774ad553e0ac43d374b5c6b88 100644 --- a/nixos/modules/programs/nano.nix +++ b/nixos/modules/programs/nano.nix @@ -2,6 +2,7 @@ let cfg = config.programs.nano; + LF = "\n"; in { @@ -33,9 +34,9 @@ in ###### implementation - config = lib.mkIf (cfg.nanorc != "") { + config = lib.mkIf (cfg.nanorc != "" || cfg.syntaxHighlight) { environment.etc."nanorc".text = lib.concatStrings [ cfg.nanorc - (lib.optionalString cfg.syntaxHighlight ''include "${pkgs.nano}/share/nano/*.nanorc"'') ]; + (lib.optionalString cfg.syntaxHighlight ''${LF}include "${pkgs.nano}/share/nano/*.nanorc"'') ]; }; } diff --git a/nixos/modules/programs/nm-applet.nix b/nixos/modules/programs/nm-applet.nix new file mode 100644 index 0000000000000000000000000000000000000000..e42219e9638c931b179b52ca72697d74eb4f5367 --- /dev/null +++ b/nixos/modules/programs/nm-applet.nix @@ -0,0 +1,14 @@ +{ config, lib, pkgs, ... }: + +{ + options.programs.nm-applet.enable = lib.mkEnableOption "nm-applet"; + + config = lib.mkIf config.programs.nm-applet.enable { + systemd.user.services.nm-applet = { + description = "Network manager applet"; + wantedBy = [ "graphical-session.target" ]; + partOf = [ "graphical-session.target" ]; + serviceConfig.ExecStart = "${pkgs.networkmanagerapplet}/bin/nm-applet"; + }; + }; +} diff --git a/nixos/modules/programs/plotinus.xml b/nixos/modules/programs/plotinus.xml index 91740ee16ec2f59d497c0cdc9cd814dfe4d9aaa6..902cd89e0c4927176f65921e69905645beb4db78 100644 --- a/nixos/modules/programs/plotinus.xml +++ b/nixos/modules/programs/plotinus.xml @@ -3,23 +3,28 @@ xmlns:xi="http://www.w3.org/2001/XInclude" version="5.0" xml:id="module-program-plotinus"> - -Plotinus - -Source: modules/programs/plotinus.nix - -Upstream documentation: - -Plotinus is a searchable command palette in every modern GTK+ application. - -When in a GTK+3 application and Plotinus is enabled, you can press Ctrl+Shift+P to open the command palette. The command palette provides a searchable list of of all menu items in the application. - -To enable Plotinus, add the following to your configuration.nix: - + Plotinus + + Source: + modules/programs/plotinus.nix + + + Upstream documentation: + + + + Plotinus is a searchable command palette in every modern GTK+ application. + + + When in a GTK+3 application and Plotinus is enabled, you can press + Ctrl+Shift+P to open the command palette. The command + palette provides a searchable list of of all menu items in the application. + + + To enable Plotinus, add the following to your + configuration.nix: = true; - - - + diff --git a/nixos/modules/programs/rootston.nix b/nixos/modules/programs/rootston.nix deleted file mode 100644 index 842d9e6cfb48f10fe5bbe447876ac3f3a7c2d3ec..0000000000000000000000000000000000000000 --- a/nixos/modules/programs/rootston.nix +++ /dev/null @@ -1,103 +0,0 @@ -{ config, pkgs, lib, ... }: - -with lib; - -let - cfg = config.programs.rootston; - - rootstonWrapped = pkgs.writeScriptBin "rootston" '' - #! ${pkgs.runtimeShell} - if [[ "$#" -ge 1 ]]; then - exec ${pkgs.rootston}/bin/rootston "$@" - else - ${cfg.extraSessionCommands} - exec ${pkgs.rootston}/bin/rootston -C ${cfg.configFile} - fi - ''; -in { - options.programs.rootston = { - enable = mkEnableOption '' - rootston, the reference compositor for wlroots. The purpose of rootston - is to test and demonstrate the features of wlroots (if you want a real - Wayland compositor you should e.g. use Sway instead). You can manually - start the compositor by running "rootston" from a terminal''; - - extraSessionCommands = mkOption { - type = types.lines; - default = ""; - example = '' - # Define a keymap (US QWERTY is the default) - export XKB_DEFAULT_LAYOUT=de,us - export XKB_DEFAULT_VARIANT=nodeadkeys - export XKB_DEFAULT_OPTIONS=grp:alt_shift_toggle,caps:escape - ''; - description = '' - Shell commands executed just before rootston is started. - ''; - }; - - extraPackages = mkOption { - type = with types; listOf package; - default = with pkgs; [ - westonLite xwayland rofi - ]; - defaultText = literalExample '' - with pkgs; [ - westonLite xwayland rofi - ] - ''; - example = literalExample "[ ]"; - description = '' - Extra packages to be installed system wide. - ''; - }; - - config = mkOption { - type = types.str; - default = '' - [keyboard] - meta-key = Logo - - # Sway/i3 like Keybindings - # Maps key combinations with commands to execute - # Commands include: - # - "exit" to stop the compositor - # - "exec" to execute a shell command - # - "close" to close the current view - # - "next_window" to cycle through windows - [bindings] - Logo+Shift+e = exit - Logo+q = close - Logo+m = maximize - Alt+Tab = next_window - Logo+Return = exec weston-terminal - Logo+d = exec rofi -show run - ''; - description = '' - Default configuration for rootston (used when called without any - parameters). - ''; - }; - - configFile = mkOption { - type = types.path; - default = "/etc/rootston.ini"; - example = literalExample "${pkgs.rootston}/etc/rootston.ini"; - description = '' - Path to the default rootston configuration file (the "config" option - will have no effect if you change the path). - ''; - }; - }; - - config = mkIf cfg.enable { - environment.etc."rootston.ini".text = cfg.config; - environment.systemPackages = [ rootstonWrapped ] ++ cfg.extraPackages; - - hardware.opengl.enable = mkDefault true; - fonts.enableDefaultFonts = mkDefault true; - programs.dconf.enable = mkDefault true; - }; - - meta.maintainers = with lib.maintainers; [ primeos gnidorah ]; -} diff --git a/nixos/modules/programs/shell.nix b/nixos/modules/programs/shell.nix index 944a8bdf16fc40bc7e90c72c49db0b1730fa3c50..9842e2bef643dfc58ec6f4b4ef191fea529bfeae 100644 --- a/nixos/modules/programs/shell.nix +++ b/nixos/modules/programs/shell.nix @@ -8,18 +8,12 @@ with lib; config = { - environment.shellAliases = - { ls = "ls --color=tty"; - ll = "ls -l"; - l = "ls -alh"; - }; - environment.shellInit = '' # Set up the per-user profile. mkdir -m 0755 -p "$NIX_USER_PROFILE_DIR" if [ "$(stat --printf '%u' "$NIX_USER_PROFILE_DIR")" != "$(id -u)" ]; then - echo "WARNING: bad ownership on $NIX_USER_PROFILE_DIR, should be $(id -u)" >&2 + echo "WARNING: the per-user profile dir $NIX_USER_PROFILE_DIR should belong to user id $(id -u)" >&2 fi if [ -w "$HOME" ]; then @@ -41,7 +35,7 @@ with lib; NIX_USER_GCROOTS_DIR="/nix/var/nix/gcroots/per-user/$USER" mkdir -m 0755 -p "$NIX_USER_GCROOTS_DIR" if [ "$(stat --printf '%u' "$NIX_USER_GCROOTS_DIR")" != "$(id -u)" ]; then - echo "WARNING: bad ownership on $NIX_USER_GCROOTS_DIR, should be $(id -u)" >&2 + echo "WARNING: the per-user gcroots dir $NIX_USER_GCROOTS_DIR should belong to user id $(id -u)" >&2 fi # Set up a default Nix expression from which to install stuff. diff --git a/nixos/modules/programs/singularity.nix b/nixos/modules/programs/singularity.nix index 86153d933855d6437f5b60d03492bd5ef1c89c99..b27e122bd1d9eea7dfb997efc71fc714cbe88008 100644 --- a/nixos/modules/programs/singularity.nix +++ b/nixos/modules/programs/singularity.nix @@ -3,18 +3,27 @@ with lib; let cfg = config.programs.singularity; + singularity = pkgs.singularity.overrideAttrs (attrs : { + installPhase = attrs.installPhase + '' + mv $bin/libexec/singularity/bin/starter-suid $bin/libexec/singularity/bin/starter-suid.orig + ln -s /run/wrappers/bin/singularity-suid $bin/libexec/singularity/bin/starter-suid + ''; + }); in { options.programs.singularity = { enable = mkEnableOption "Singularity"; }; config = mkIf cfg.enable { - environment.systemPackages = [ pkgs.singularity ]; - systemd.tmpfiles.rules = [ "d /var/singularity/mnt/session 0770 root root -" - "d /var/singularity/mnt/final 0770 root root -" - "d /var/singularity/mnt/overlay 0770 root root -" - "d /var/singularity/mnt/container 0770 root root -" - "d /var/singularity/mnt/source 0770 root root -"]; + environment.systemPackages = [ singularity ]; + security.wrappers.singularity-suid.source = "${singularity}/libexec/singularity/bin/starter-suid.orig"; + systemd.tmpfiles.rules = [ + "d /var/singularity/mnt/session 0770 root root -" + "d /var/singularity/mnt/final 0770 root root -" + "d /var/singularity/mnt/overlay 0770 root root -" + "d /var/singularity/mnt/container 0770 root root -" + "d /var/singularity/mnt/source 0770 root root -" + ]; }; } diff --git a/nixos/modules/programs/ssh.nix b/nixos/modules/programs/ssh.nix index cc398174e6ce03418cc45ffedc3b32603fc2155e..46965dd35b713459185cf15177f6e3adf3aea676 100644 --- a/nixos/modules/programs/ssh.nix +++ b/nixos/modules/programs/ssh.nix @@ -88,7 +88,8 @@ in type = types.lines; default = ""; description = '' - Extra configuration text appended to ssh_config. + Extra configuration text prepended to ssh_config. Other generated + options will be added after a Host * pattern. See ssh_config5 for help. ''; @@ -167,16 +168,16 @@ in The set of system-wide known SSH hosts. ''; example = literalExample '' - [ - { + { + myhost = { hostNames = [ "myhost" "myhost.mydomain.com" "10.10.1.4" ]; publicKeyFile = ./pubkeys/myhost_ssh_host_dsa_key.pub; - } - { + }; + myhost2 = { hostNames = [ "myhost2" ]; publicKeyFile = ./pubkeys/myhost2_ssh_host_dsa_key.pub; - } - ] + }; + } ''; }; @@ -203,6 +204,11 @@ in # generation in the sshd service. environment.etc."ssh/ssh_config".text = '' + # Custom options from `extraConfig`, to override generated options + ${cfg.extraConfig} + + # Generated options from other settings + Host * AddressFamily ${if config.networking.enableIPv6 then "any" else "inet"} ${optionalString cfg.setXAuthLocation '' @@ -213,8 +219,6 @@ in ${optionalString (cfg.pubkeyAcceptedKeyTypes != []) "PubkeyAcceptedKeyTypes ${concatStringsSep "," cfg.pubkeyAcceptedKeyTypes}"} ${optionalString (cfg.hostKeyAlgorithms != []) "HostKeyAlgorithms ${concatStringsSep "," cfg.hostKeyAlgorithms}"} - - ${cfg.extraConfig} ''; environment.etc."ssh/ssh_known_hosts".text = knownHostsText; diff --git a/nixos/modules/programs/sway.nix b/nixos/modules/programs/sway.nix index 0eaaf6b85b99ade2a9c308ed6c603d564d7eda4d..b4f03151cdc1a4184ed2f5cb0c9a5d9d1e7ef50e 100644 --- a/nixos/modules/programs/sway.nix +++ b/nixos/modules/programs/sway.nix @@ -7,11 +7,18 @@ let swayPackage = pkgs.sway; swayWrapped = pkgs.writeShellScriptBin "sway" '' - if [[ "$#" -ge 1 ]]; then - exec sway-setcap "$@" - else + set -o errexit + + if [ ! "$_SWAY_WRAPPER_ALREADY_EXECUTED" ]; then + export _SWAY_WRAPPER_ALREADY_EXECUTED=1 ${cfg.extraSessionCommands} - exec ${pkgs.dbus.dbus-launch} --exit-with-session sway-setcap + fi + + if [ "$DBUS_SESSION_BUS_ADDRESS" ]; then + export DBUS_SESSION_BUS_ADDRESS + exec ${swayPackage}/bin/sway "$@" + else + exec ${pkgs.dbus}/bin/dbus-run-session ${swayPackage}/bin/sway "$@" fi ''; swayJoined = pkgs.symlinkJoin { @@ -21,22 +28,24 @@ let in { options.programs.sway = { enable = mkEnableOption '' - the tiling Wayland compositor Sway. After adding yourself to the "sway" - group you can manually launch Sway by executing "sway" from a terminal. - If you call "sway" with any parameters the extraSessionCommands won't be - executed and Sway won't be launched with dbus-launch''; + Sway, the i3-compatible tiling Wayland compositor. You can manually launch + Sway by executing "exec sway" on a TTY. Copy /etc/sway/config to + ~/.config/sway/config to modify the default configuration. See + https://github.com/swaywm/sway/wiki and "man 5 sway" for more information. + Please have a look at the "extraSessionCommands" example for running + programs natively under Wayland''; extraSessionCommands = mkOption { type = types.lines; default = ""; example = '' - # Define a keymap (US QWERTY is the default) - export XKB_DEFAULT_LAYOUT=de,us - export XKB_DEFAULT_VARIANT=nodeadkeys - export XKB_DEFAULT_OPTIONS=grp:alt_shift_toggle,caps:escape - # Change the Keyboard repeat delay and rate - export WLC_REPEAT_DELAY=660 - export WLC_REPEAT_RATE=25 + export SDL_VIDEODRIVER=wayland + # needs qt5.qtwayland in systemPackages + export QT_QPA_PLATFORM=wayland + export QT_WAYLAND_DISABLE_WINDOWDECORATION="1" + # Fix for some Java AWT applications (e.g. Android Studio), + # use this if they aren't displayed properly: + export _JAVA_AWT_WM_NONREPARENTING=1 ''; description = '' Shell commands executed just before Sway is started. @@ -46,14 +55,17 @@ in { extraPackages = mkOption { type = with types; listOf package; default = with pkgs; [ - i3status xwayland rxvt_unicode dmenu + swaylock swayidle + xwayland rxvt_unicode dmenu ]; defaultText = literalExample '' - with pkgs; [ i3status xwayland rxvt_unicode dmenu ]; + with pkgs; [ swaylock swayidle xwayland rxvt_unicode dmenu ]; ''; example = literalExample '' with pkgs; [ - i3lock light termite + xwayland + i3status i3status-rust + termite rofi light ] ''; description = '' @@ -63,23 +75,19 @@ in { }; config = mkIf cfg.enable { - environment.systemPackages = [ swayJoined ] ++ cfg.extraPackages; - security.wrappers.sway = { - program = "sway-setcap"; - source = "${swayPackage}/bin/sway"; - capabilities = "cap_sys_ptrace,cap_sys_tty_config=eip"; - owner = "root"; - group = "sway"; - permissions = "u+rx,g+rx"; + environment = { + systemPackages = [ swayJoined ] ++ cfg.extraPackages; + etc = { + "sway/config".source = mkOptionDefault "${swayPackage}/etc/sway/config"; + #"sway/security.d".source = mkOptionDefault "${swayPackage}/etc/sway/security.d/"; + #"sway/config.d".source = mkOptionDefault "${swayPackage}/etc/sway/config.d/"; + }; }; - - users.groups.sway = {}; security.pam.services.swaylock = {}; - hardware.opengl.enable = mkDefault true; fonts.enableDefaultFonts = mkDefault true; programs.dconf.enable = mkDefault true; }; - meta.maintainers = with lib.maintainers; [ gnidorah primeos ]; + meta.maintainers = with lib.maintainers; [ gnidorah primeos colemickens ]; } diff --git a/nixos/modules/programs/thefuck.nix b/nixos/modules/programs/thefuck.nix index f4ae52934760d75fe15a9710e74424c56d4f5137..21ed6603c1bdd283bef4ebea5f83a9b6766c81b8 100644 --- a/nixos/modules/programs/thefuck.nix +++ b/nixos/modules/programs/thefuck.nix @@ -29,8 +29,8 @@ in config = mkIf cfg.enable { environment.systemPackages = with pkgs; [ thefuck ]; - environment.shellInit = initScript; + programs.bash.interactiveShellInit = initScript; programs.zsh.interactiveShellInit = mkIf prg.zsh.enable initScript; programs.fish.interactiveShellInit = mkIf prg.fish.enable '' ${pkgs.thefuck}/bin/thefuck --alias | source diff --git a/nixos/modules/programs/wavemon.nix b/nixos/modules/programs/wavemon.nix new file mode 100644 index 0000000000000000000000000000000000000000..ac665fe4a02365e7dfcfe6bbbbc4b87f869537a8 --- /dev/null +++ b/nixos/modules/programs/wavemon.nix @@ -0,0 +1,28 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.programs.wavemon; +in { + options = { + programs.wavemon = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to add wavemon to the global environment and configure a + setcap wrapper for it. + ''; + }; + }; + }; + + config = mkIf cfg.enable { + environment.systemPackages = with pkgs; [ wavemon ]; + security.wrappers.wavemon = { + source = "${pkgs.wavemon}/bin/wavemon"; + capabilities = "cap_net_admin+ep"; + }; + }; +} diff --git a/nixos/modules/programs/way-cooler.nix b/nixos/modules/programs/way-cooler.nix index 633e959be9f329123d51b76f5b09d258e09ca603..f27bd42bd764c89496de010bd025aeb397b77df8 100644 --- a/nixos/modules/programs/way-cooler.nix +++ b/nixos/modules/programs/way-cooler.nix @@ -8,7 +8,7 @@ let wcWrapped = pkgs.writeShellScriptBin "way-cooler" '' ${cfg.extraSessionCommands} - exec ${pkgs.dbus.dbus-launch} --exit-with-session ${way-cooler}/bin/way-cooler + exec ${pkgs.dbus}/bin/dbus-run-session ${way-cooler}/bin/way-cooler ''; wcJoined = pkgs.symlinkJoin { name = "way-cooler-wrapped"; diff --git a/nixos/modules/programs/waybar.nix b/nixos/modules/programs/waybar.nix new file mode 100644 index 0000000000000000000000000000000000000000..22530e6c7d4d09b2fc02b4a6b269aa8a657aa20d --- /dev/null +++ b/nixos/modules/programs/waybar.nix @@ -0,0 +1,20 @@ +{ lib, pkgs, config, ... }: + +with lib; + +{ + options.programs.waybar = { + enable = mkEnableOption "waybar"; + }; + + config = mkIf config.programs.waybar.enable { + systemd.user.services.waybar = { + description = "Waybar as systemd service"; + wantedBy = [ "graphical-session.target" ]; + partOf = [ "graphical-session.target" ]; + script = "${pkgs.waybar}/bin/waybar"; + }; + }; + + meta.maintainers = [ maintainers.FlorianFranzen ]; +} diff --git a/nixos/modules/programs/xonsh.nix b/nixos/modules/programs/xonsh.nix index f967ca82ac8c78b22bac51c3233677463e266ade..ceab9b5db931a3675a7652c73ce756da301338d4 100644 --- a/nixos/modules/programs/xonsh.nix +++ b/nixos/modules/programs/xonsh.nix @@ -50,7 +50,6 @@ in environment.shells = [ "/run/current-system/sw/bin/xonsh" - "/var/run/current-system/sw/bin/xonsh" "${pkgs.xonsh}/bin/xonsh" ]; diff --git a/nixos/modules/programs/xss-lock.nix b/nixos/modules/programs/xss-lock.nix index 49d522c604f5fb1cfafa12a7efc212f005909680..c290df01b96044a066a5c892a992948c0bb37408 100644 --- a/nixos/modules/programs/xss-lock.nix +++ b/nixos/modules/programs/xss-lock.nix @@ -9,7 +9,8 @@ in options.programs.xss-lock = { enable = mkEnableOption "xss-lock"; lockerCommand = mkOption { - example = "xlock"; + default = "${pkgs.i3lock}/bin/i3lock"; + example = literalExample ''''${pkgs.i3lock-fancy}/bin/i3lock-fancy''; type = types.string; description = "Locker to be used with xsslock"; }; diff --git a/nixos/modules/programs/yabar.nix b/nixos/modules/programs/yabar.nix index a01083c3ace980f97eb9663362ad2476977eeee8..db085211366ee84f3aa13e5c63e033de70698a96 100644 --- a/nixos/modules/programs/yabar.nix +++ b/nixos/modules/programs/yabar.nix @@ -44,10 +44,23 @@ in enable = mkEnableOption "yabar"; package = mkOption { - default = pkgs.yabar; - example = literalExample "pkgs.yabar-unstable"; + default = pkgs.yabar-unstable; + example = literalExample "pkgs.yabar"; type = types.package; + # `yabar-stable` segfaults under certain conditions. + apply = x: if x == pkgs.yabar-unstable then x else flip warn x '' + It's not recommended to use `yabar' with `programs.yabar', the (old) stable release + tends to segfault under certain circumstances: + + * https://github.com/geommer/yabar/issues/86 + * https://github.com/geommer/yabar/issues/68 + * https://github.com/geommer/yabar/issues/143 + + Most of them don't occur on master anymore, until a new release is published, it's recommended + to use `yabar-unstable'. + ''; + description = '' The package which contains the `yabar` binary. diff --git a/nixos/modules/programs/zsh/oh-my-zsh.xml b/nixos/modules/programs/zsh/oh-my-zsh.xml index b74da8630ee77e86d23a6b176bd87e1381f027a1..568c2de655766cd94cf45ae191c056797018281d 100644 --- a/nixos/modules/programs/zsh/oh-my-zsh.xml +++ b/nixos/modules/programs/zsh/oh-my-zsh.xml @@ -3,105 +3,135 @@ xmlns:xi="http://www.w3.org/2001/XInclude" version="5.0" xml:id="module-programs-zsh-ohmyzsh"> - -Oh my ZSH - -oh-my-zsh is a framework -to manage your ZSH configuration -including completion scripts for several CLI tools or custom prompt themes. - -
Basic usage -The module uses the oh-my-zsh package with all available features. The -initial setup using Nix expressions is fairly similar to the configuration format -of oh-my-zsh. - + Oh my ZSH + + oh-my-zsh is a + framework to manage your ZSH + configuration including completion scripts for several CLI tools or custom + prompt themes. + +
+ Basic usage + + + The module uses the oh-my-zsh package with all available + features. The initial setup using Nix expressions is fairly similar to the + configuration format of oh-my-zsh. { - programs.ohMyZsh = { + programs.zsh.ohMyZsh = { enable = true; plugins = [ "git" "python" "man" ]; theme = "agnoster"; }; } - -For a detailed explanation of these arguments please refer to the -oh-my-zsh docs. - -The expression generates the needed -configuration and writes it into your /etc/zshrc. -
- -
Custom additions - -Sometimes third-party or custom scripts such as a modified theme may be needed. -oh-my-zsh provides the -ZSH_CUSTOM -environment variable for this which points to a directory with additional scripts. - -The module can do this as well: - + For a detailed explanation of these arguments please refer to the + oh-my-zsh + docs. + + + + The expression generates the needed configuration and writes it into your + /etc/zshrc. + +
+
+ Custom additions + + + Sometimes third-party or custom scripts such as a modified theme may be + needed. oh-my-zsh provides the + ZSH_CUSTOM + environment variable for this which points to a directory with additional + scripts. + + + + The module can do this as well: { - programs.ohMyZsh.custom = "~/path/to/custom/scripts"; + programs.zsh.ohMyZsh.custom = "~/path/to/custom/scripts"; } -
- -
Custom environments - -There are several extensions for oh-my-zsh packaged in nixpkgs. -One of them is nix-zsh-completions -which bundles completion scripts and a plugin for oh-my-zsh. - -Rather than using a single mutable path for ZSH_CUSTOM, it's also possible to -generate this path from a list of Nix packages: - + +
+
+ Custom environments + + + There are several extensions for oh-my-zsh packaged in + nixpkgs. One of them is + nix-zsh-completions + which bundles completion scripts and a plugin for + oh-my-zsh. + + + + Rather than using a single mutable path for ZSH_CUSTOM, + it's also possible to generate this path from a list of Nix packages: { pkgs, ... }: { - programs.ohMyZsh.customPkgs = with pkgs; [ + programs.zsh.ohMyZsh.customPkgs = with pkgs; [ pkgs.nix-zsh-completions # and even more... ]; } - -Internally a single store path will be created using buildEnv. -Please refer to the docs of -buildEnv -for further reference. - -Please keep in mind that this is not compatible with programs.ohMyZsh.custom -as it requires an immutable store path while custom shall remain mutable! An evaluation failure -will be thrown if both custom and customPkgs are set. -
- -
Package your own customizations - -If third-party customizations (e.g. new themes) are supposed to be added to oh-my-zsh -there are several pitfalls to keep in mind: - - - - To comply with the default structure of ZSH the entire output needs to be written to - $out/share/zsh. - - - Completion scripts are supposed to be stored at $out/share/zsh/site-functions. This directory - is part of the fpath - and the package should be compatible with pure ZSH setups. The module will automatically link - the contents of site-functions to completions directory in the proper store path. - - - The plugins directory needs the structure pluginname/pluginname.plugin.zsh - as structured in the upstream repo. + Internally a single store path will be created using + buildEnv. Please refer to the docs of + buildEnv + for further reference. + + + + Please keep in mind that this is not compatible with + programs.zsh.ohMyZsh.custom as it requires an immutable + store path while custom shall remain mutable! An + evaluation failure will be thrown if both custom and + customPkgs are set. + +
+
+ Package your own customizations + + + If third-party customizations (e.g. new themes) are supposed to be added to + oh-my-zsh there are several pitfalls to keep in mind: + + + + + + To comply with the default structure of ZSH the entire + output needs to be written to $out/share/zsh. + + + + + Completion scripts are supposed to be stored at + $out/share/zsh/site-functions. This directory is part + of the + fpath + and the package should be compatible with pure ZSH + setups. The module will automatically link the contents of + site-functions to completions directory in the proper + store path. + + + + + The plugins directory needs the structure + pluginname/pluginname.plugin.zsh as structured in the + upstream + repo. - - + + - -A derivation for oh-my-zsh may look like this: + + A derivation for oh-my-zsh may look like this: { stdenv, fetchFromGitHub }: @@ -120,6 +150,6 @@ stdenv.mkDerivation rec { ''; } - -
+
+
diff --git a/nixos/modules/programs/zsh/zsh-autosuggestions.nix b/nixos/modules/programs/zsh/zsh-autosuggestions.nix index 416f4c9c675115ca4b685a40d7c3f74257468f45..ded17f38a618eae87d69d518895b600151cffe17 100644 --- a/nixos/modules/programs/zsh/zsh-autosuggestions.nix +++ b/nixos/modules/programs/zsh/zsh-autosuggestions.nix @@ -18,13 +18,13 @@ in }; strategy = mkOption { - type = types.enum [ "default" "match_prev_cmd" ]; - default = "default"; + type = types.enum [ "history" "match_prev_cmd" ]; + default = "history"; description = '' Set ZSH_AUTOSUGGEST_STRATEGY to choose the strategy for generating suggestions. There are currently two to choose from: - * default: Chooses the most recent match. + * history: Chooses the most recent match. * match_prev_cmd: Chooses the most recent match whose preceding history item matches the most recently executed command (more info). Note that this strategy won't work as expected with ZSH options that don't preserve the history order such as @@ -51,7 +51,7 @@ in source ${pkgs.zsh-autosuggestions}/share/zsh-autosuggestions/zsh-autosuggestions.zsh export ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="${cfg.highlightStyle}" - export ZSH_AUTOSUGGEST_STRATEGY="${cfg.strategy}" + export ZSH_AUTOSUGGEST_STRATEGY=("${cfg.strategy}") ${concatStringsSep "\n" (mapAttrsToList (key: value: ''export ${key}="${value}"'') cfg.extraConfig)} ''; diff --git a/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix b/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix index e7cf17c2c00cb00a17c8aef6177bd656e6f2866e..89087a229eb7396c27bae2915b4e617d130f4f2d 100644 --- a/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix +++ b/nixos/modules/programs/zsh/zsh-syntax-highlighting.nix @@ -48,6 +48,23 @@ in https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/docs/highlighters/pattern.md ''; }; + styles = mkOption { + default = {}; + type = types.attrsOf types.string; + + example = literalExample '' + { + "alias" = "fg=magenta,bold"; + } + ''; + + description = '' + Specifies custom styles to be highlighted by zsh-syntax-highlighting. + + Please refer to the docs for more information about the usage: + https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/docs/highlighters/main.md + ''; + }; }; }; @@ -73,6 +90,11 @@ in pattern: design: "ZSH_HIGHLIGHT_PATTERNS+=('${pattern}' '${design}')" ) cfg.patterns) + ++ optionals (length(attrNames cfg.styles) > 0) + (mapAttrsToList ( + styles: design: + "ZSH_HIGHLIGHT_STYLES[${styles}]='${design}'" + ) cfg.styles) ); }; } diff --git a/nixos/modules/programs/zsh/zsh.nix b/nixos/modules/programs/zsh/zsh.nix index 42d4e1d4ada010f843fa08408ac2cef74cfe8e05..b7117e5f90d789570a54253bfe778f584ee0f981 100644 --- a/nixos/modules/programs/zsh/zsh.nix +++ b/nixos/modules/programs/zsh/zsh.nix @@ -11,7 +11,8 @@ let cfg = config.programs.zsh; zshAliases = concatStringsSep "\n" ( - mapAttrsFlatten (k: v: "alias ${k}='${v}'") cfg.shellAliases + mapAttrsFlatten (k: v: "alias ${k}=${escapeShellArg v}") + (filterAttrs (k: v: !isNull v) cfg.shellAliases) ); in @@ -34,13 +35,12 @@ in }; shellAliases = mkOption { - default = config.environment.shellAliases; + default = {}; description = '' - Set of aliases for zsh shell. Overrides the default value taken from - . + Set of aliases for zsh shell, which overrides . See for an option format description. ''; - type = types.attrs; # types.attrsOf types.stringOrPath; + type = with types; attrsOf (nullOr (either str path)); }; shellInit = mkOption { @@ -70,7 +70,7 @@ in promptInit = mkOption { default = '' if [ "$TERM" != dumb ]; then - autoload -U promptinit && promptinit && prompt walters + autoload -U promptinit && promptinit && prompt walters fi ''; description = '' @@ -79,6 +79,33 @@ in type = types.lines; }; + histSize = mkOption { + default = 2000; + description = '' + Change history size. + ''; + type = types.int; + }; + + histFile = mkOption { + default = "$HOME/.zsh_history"; + description = '' + Change history file. + ''; + type = types.str; + }; + + setOptions = mkOption { + type = types.listOf types.str; + default = [ + "HIST_IGNORE_DUPS" "SHARE_HISTORY" "HIST_FCNTL_LOCK" + ]; + example = [ "EXTENDED_HISTORY" "RM_STAR_WAIT" ]; + description = '' + Configure zsh options. + ''; + }; + enableCompletion = mkOption { default = true; description = '' @@ -87,12 +114,27 @@ in type = types.bool; }; + + enableGlobalCompInit = mkOption { + default = cfg.enableCompletion; + description = '' + Enable execution of compinit call for all interactive zsh shells. + + This option can be disabled if the user wants to extend its + fpath and a custom compinit + call in the local config is required. + ''; + type = types.bool; + }; + }; }; config = mkIf cfg.enable { + programs.zsh.shellAliases = mapAttrs (name: mkDefault) cfge.shellAliases; + environment.etc."zshenv".text = '' # /etc/zshenv: DO NOT EDIT -- this file has been generated automatically. @@ -103,7 +145,9 @@ in if [ -n "$__ETC_ZSHENV_SOURCED" ]; then return; fi export __ETC_ZSHENV_SOURCED=1 - ${config.system.build.setEnvironment.text} + if [ -z "$__NIXOS_SET_ENVIRONMENT_DONE" ]; then + . ${config.system.build.setEnvironment} + fi ${cfge.shellInit} @@ -111,7 +155,7 @@ in # Read system-wide modifications. if test -f /etc/zshenv.local; then - . /etc/zshenv.local + . /etc/zshenv.local fi ''; @@ -130,7 +174,7 @@ in # Read system-wide modifications. if test -f /etc/zprofile.local; then - . /etc/zprofile.local + . /etc/zprofile.local fi ''; @@ -145,21 +189,21 @@ in . /etc/zinputrc - # history defaults - SAVEHIST=2000 - HISTSIZE=2000 - HISTFILE=$HOME/.zsh_history + # Don't export these, otherwise other shells (bash) will try to use same histfile + SAVEHIST=${toString cfg.histSize} + HISTSIZE=${toString cfg.histSize} + HISTFILE=${cfg.histFile} - setopt HIST_IGNORE_DUPS SHARE_HISTORY HIST_FCNTL_LOCK + ${optionalString (cfg.setOptions != []) "setopt ${concatStringsSep " " cfg.setOptions}"} HELPDIR="${pkgs.zsh}/share/zsh/$ZSH_VERSION/help" # Tell zsh how to find installed completions for p in ''${(z)NIX_PROFILES}; do - fpath+=($p/share/zsh/site-functions $p/share/zsh/$ZSH_VERSION/functions $p/share/zsh/vendor-completions) + fpath+=($p/share/zsh/site-functions $p/share/zsh/$ZSH_VERSION/functions $p/share/zsh/vendor-completions) done - ${optionalString cfg.enableCompletion "autoload -U compinit && compinit"} + ${optionalString cfg.enableGlobalCompInit "autoload -U compinit && compinit"} ${cfge.interactiveShellInit} @@ -171,7 +215,7 @@ in # Read system-wide modifications. if test -f /etc/zshrc.local; then - . /etc/zshrc.local + . /etc/zshrc.local fi ''; @@ -186,7 +230,6 @@ in environment.shells = [ "/run/current-system/sw/bin/zsh" - "/var/run/current-system/sw/bin/zsh" "${pkgs.zsh}/bin/zsh" ]; diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix index f032f10e455730a94654293d9881a4a018f650e7..70807ccf7cd832a3305ee7198d1d16373214a99e 100644 --- a/nixos/modules/rename.nix +++ b/nixos/modules/rename.nix @@ -4,43 +4,38 @@ with lib; { imports = [ - # !!! These were renamed the other way, but got reverted later. - # !!! Drop these before 18.09 is released. - (mkRenamedOptionModule [ "system" "nixos" "stateVersion" ] [ "system" "stateVersion" ]) - (mkRenamedOptionModule [ "system" "nixos" "defaultChannel" ] [ "system" "defaultChannel" ]) - - (mkRenamedOptionModule [ "environment" "x11Packages" ] [ "environment" "systemPackages" ]) - (mkRenamedOptionModule [ "environment" "enableBashCompletion" ] [ "programs" "bash" "enableCompletion" ]) - (mkRenamedOptionModule [ "environment" "nix" ] [ "nix" "package" ]) - (mkRenamedOptionModule [ "fonts" "enableFontConfig" ] [ "fonts" "fontconfig" "enable" ]) - (mkRenamedOptionModule [ "fonts" "extraFonts" ] [ "fonts" "fonts" ]) - - (mkRenamedOptionModule [ "networking" "enableWLAN" ] [ "networking" "wireless" "enable" ]) (mkRenamedOptionModule [ "networking" "enableRT73Firmware" ] [ "hardware" "enableRedistributableFirmware" ]) (mkRenamedOptionModule [ "networking" "enableIntel3945ABGFirmware" ] [ "hardware" "enableRedistributableFirmware" ]) (mkRenamedOptionModule [ "networking" "enableIntel2100BGFirmware" ] [ "hardware" "enableRedistributableFirmware" ]) (mkRenamedOptionModule [ "networking" "enableRalinkFirmware" ] [ "hardware" "enableRedistributableFirmware" ]) (mkRenamedOptionModule [ "networking" "enableRTL8192cFirmware" ] [ "hardware" "enableRedistributableFirmware" ]) (mkRenamedOptionModule [ "networking" "networkmanager" "useDnsmasq" ] [ "networking" "networkmanager" "dns" ]) - - (mkRenamedOptionModule [ "services" "cadvisor" "host" ] [ "services" "cadvisor" "listenAddress" ]) (mkChangedOptionModule [ "services" "printing" "gutenprint" ] [ "services" "printing" "drivers" ] (config: let enabled = getAttrFromPath [ "services" "printing" "gutenprint" ] config; in if enabled then [ pkgs.gutenprint ] else [ ])) - (mkRenamedOptionModule [ "services" "ddclient" "domain" ] [ "services" "ddclient" "domains" ]) + (mkChangedOptionModule [ "services" "ddclient" "domain" ] [ "services" "ddclient" "domains" ] + (config: + let value = getAttrFromPath [ "services" "ddclient" "domain" ] config; + in if value != "" then [ value ] else [])) (mkRemovedOptionModule [ "services" "ddclient" "homeDir" ] "") - (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" ]) (mkRenamedOptionModule [ "services" "i2pd" "extIp" ] [ "services" "i2pd" "address" ]) - (mkRenamedOptionModule [ "services" "kibana" "host" ] [ "services" "kibana" "listenAddress" ]) (mkRenamedOptionModule [ "services" "kubernetes" "apiserver" "admissionControl" ] [ "services" "kubernetes" "apiserver" "enableAdmissionPlugins" ]) (mkRenamedOptionModule [ "services" "kubernetes" "apiserver" "address" ] ["services" "kubernetes" "apiserver" "bindAddress"]) + (mkRenamedOptionModule [ "services" "kubernetes" "apiserver" "port" ] ["services" "kubernetes" "apiserver" "insecurePort"]) (mkRemovedOptionModule [ "services" "kubernetes" "apiserver" "publicAddress" ] "") (mkRenamedOptionModule [ "services" "kubernetes" "addons" "dashboard" "enableRBAC" ] [ "services" "kubernetes" "addons" "dashboard" "rbac" "enable" ]) + (mkRenamedOptionModule [ "services" "kubernetes" "controllerManager" "address" ] ["services" "kubernetes" "controllerManager" "bindAddress"]) + (mkRenamedOptionModule [ "services" "kubernetes" "controllerManager" "port" ] ["services" "kubernetes" "controllerManager" "insecurePort"]) + (mkRenamedOptionModule [ "services" "kubernetes" "etcd" "servers" ] [ "services" "kubernetes" "apiserver" "etcd" "servers" ]) + (mkRenamedOptionModule [ "services" "kubernetes" "etcd" "keyFile" ] [ "services" "kubernetes" "apiserver" "etcd" "keyFile" ]) + (mkRenamedOptionModule [ "services" "kubernetes" "etcd" "certFile" ] [ "services" "kubernetes" "apiserver" "etcd" "certFile" ]) + (mkRenamedOptionModule [ "services" "kubernetes" "etcd" "caFile" ] [ "services" "kubernetes" "apiserver" "etcd" "caFile" ]) + (mkRemovedOptionModule [ "services" "kubernetes" "kubelet" "applyManifests" ] "") + (mkRemovedOptionModule [ "services" "kubernetes" "kubelet" "cadvisorPort" ] "") + (mkRenamedOptionModule [ "services" "kubernetes" "proxy" "address" ] ["services" "kubernetes" "proxy" "bindAddress"]) + (mkRemovedOptionModule [ "services" "kubernetes" "verbose" ] "") (mkRenamedOptionModule [ "services" "logstash" "address" ] [ "services" "logstash" "listenAddress" ]) - (mkRenamedOptionModule [ "services" "mpd" "network" "host" ] [ "services" "mpd" "network" "listenAddress" ]) (mkRenamedOptionModule [ "services" "neo4j" "host" ] [ "services" "neo4j" "defaultListenAddress" ]) (mkRenamedOptionModule [ "services" "neo4j" "listenAddress" ] [ "services" "neo4j" "defaultListenAddress" ]) (mkRenamedOptionModule [ "services" "neo4j" "enableBolt" ] [ "services" "neo4j" "bolt" "enable" ]) @@ -50,11 +45,13 @@ with lib; (mkRemovedOptionModule [ "services" "neo4j" "port" ] "Use services.neo4j.http.listenAddress instead.") (mkRemovedOptionModule [ "services" "neo4j" "boltPort" ] "Use services.neo4j.bolt.listenAddress instead.") (mkRemovedOptionModule [ "services" "neo4j" "httpsPort" ] "Use services.neo4j.https.listenAddress instead.") - (mkRenamedOptionModule [ "services" "shout" "host" ] [ "services" "shout" "listenAddress" ]) - (mkRenamedOptionModule [ "services" "sslh" "host" ] [ "services" "sslh" "listenAddress" ]) - (mkRenamedOptionModule [ "services" "statsd" "host" ] [ "services" "statsd" "listenAddress" ]) - (mkRenamedOptionModule [ "services" "subsonic" "host" ] [ "services" "subsonic" "listenAddress" ]) + (mkRemovedOptionModule [ "services" "misc" "nzbget" "configFile" ] "The configuration of nzbget is now managed by users through the web interface.") + (mkRemovedOptionModule [ "services" "misc" "nzbget" "dataDir" ] "The data directory for nzbget is now /var/lib/nzbget.") + (mkRemovedOptionModule [ "services" "misc" "nzbget" "openFirewall" ] "The port used by nzbget is managed through the web interface so you should adjust your firewall rules accordingly.") + (mkRemovedOptionModule [ "services" "prometheus" "alertmanager" "user" ] "The alertmanager service is now using systemd's DynamicUser mechanism which obviates a user setting.") + (mkRemovedOptionModule [ "services" "prometheus" "alertmanager" "group" ] "The alertmanager service is now using systemd's DynamicUser mechanism which obviates a group setting.") (mkRenamedOptionModule [ "services" "tor" "relay" "portSpec" ] [ "services" "tor" "relay" "port" ]) + (mkRenamedOptionModule [ "services" "vmwareGuest" ] [ "virtualisation" "vmware" "guest" ]) (mkRenamedOptionModule [ "jobs" ] [ "systemd" "services" ]) (mkRenamedOptionModule [ "services" "gitlab" "stateDir" ] [ "services" "gitlab" "statePath" ]) @@ -65,6 +62,9 @@ with lib; (mkRemovedOptionModule [ "security" "setuidOwners" ] "Use security.wrappers instead") (mkRemovedOptionModule [ "security" "setuidPrograms" ] "Use security.wrappers instead") + # PAM + (mkRenamedOptionModule [ "security" "pam" "enableU2F" ] [ "security" "pam" "u2f" "enable" ]) + (mkRemovedOptionModule [ "services" "rmilter" "bindInetSockets" ] "Use services.rmilter.bindSocket.* instead") (mkRemovedOptionModule [ "services" "rmilter" "bindUnixSockets" ] "Use services.rmilter.bindSocket.* instead") @@ -73,82 +73,31 @@ with lib; (mkRenamedOptionModule [ "services" "xserver" "displayManager" "logToJournal" ] [ "services" "xserver" "displayManager" "job" "logToJournal" ]) # Old Grub-related options. - (mkRenamedOptionModule [ "boot" "initrd" "extraKernelModules" ] [ "boot" "initrd" "kernelModules" ]) - (mkRenamedOptionModule [ "boot" "extraKernelParams" ] [ "boot" "kernelParams" ]) (mkRenamedOptionModule [ "boot" "loader" "grub" "timeout" ] [ "boot" "loader" "timeout" ]) (mkRenamedOptionModule [ "boot" "loader" "gummiboot" "timeout" ] [ "boot" "loader" "timeout" ]) - # smartd - (mkRenamedOptionModule [ "services" "smartd" "deviceOpts" ] [ "services" "smartd" "defaults" "monitored" ]) - # OpenSSH - (mkRenamedOptionModule [ "services" "sshd" "ports" ] [ "services" "openssh" "ports" ]) (mkAliasOptionModule [ "services" "sshd" "enable" ] [ "services" "openssh" "enable" ]) - (mkRenamedOptionModule [ "services" "sshd" "allowSFTP" ] [ "services" "openssh" "allowSFTP" ]) - (mkRenamedOptionModule [ "services" "sshd" "forwardX11" ] [ "services" "openssh" "forwardX11" ]) - (mkRenamedOptionModule [ "services" "sshd" "gatewayPorts" ] [ "services" "openssh" "gatewayPorts" ]) - (mkRenamedOptionModule [ "services" "sshd" "permitRootLogin" ] [ "services" "openssh" "permitRootLogin" ]) - (mkRenamedOptionModule [ "services" "xserver" "startSSHAgent" ] [ "services" "xserver" "startOpenSSHAgent" ]) - (mkRenamedOptionModule [ "services" "xserver" "startOpenSSHAgent" ] [ "programs" "ssh" "startAgent" ]) (mkAliasOptionModule [ "services" "openssh" "knownHosts" ] [ "programs" "ssh" "knownHosts" ]) - # VirtualBox - (mkRenamedOptionModule [ "services" "virtualbox" "enable" ] [ "virtualisation" "virtualbox" "guest" "enable" ]) - (mkRenamedOptionModule [ "services" "virtualboxGuest" "enable" ] [ "virtualisation" "virtualbox" "guest" "enable" ]) - (mkRenamedOptionModule [ "programs" "virtualbox" "enable" ] [ "virtualisation" "virtualbox" "host" "enable" ]) - (mkRenamedOptionModule [ "programs" "virtualbox" "addNetworkInterface" ] [ "virtualisation" "virtualbox" "host" "addNetworkInterface" ]) - (mkRenamedOptionModule [ "programs" "virtualbox" "enableHardening" ] [ "virtualisation" "virtualbox" "host" "enableHardening" ]) - (mkRenamedOptionModule [ "services" "virtualboxHost" "enable" ] [ "virtualisation" "virtualbox" "host" "enable" ]) - (mkRenamedOptionModule [ "services" "virtualboxHost" "addNetworkInterface" ] [ "virtualisation" "virtualbox" "host" "addNetworkInterface" ]) - (mkRenamedOptionModule [ "services" "virtualboxHost" "enableHardening" ] [ "virtualisation" "virtualbox" "host" "enableHardening" ]) - # libvirtd (mkRemovedOptionModule [ "virtualisation" "libvirtd" "enableKVM" ] "Set the option `virtualisation.libvirtd.qemuPackage' instead.") - # Tarsnap - (mkRenamedOptionModule [ "services" "tarsnap" "config" ] [ "services" "tarsnap" "archives" ]) - # ibus (mkRenamedOptionModule [ "programs" "ibus" "plugins" ] [ "i18n" "inputMethod" "ibus" "engines" ]) - # proxy - (mkRenamedOptionModule [ "nix" "proxy" ] [ "networking" "proxy" "default" ]) - # sandboxing (mkRenamedOptionModule [ "nix" "useChroot" ] [ "nix" "useSandbox" ]) (mkRenamedOptionModule [ "nix" "chrootDirs" ] [ "nix" "sandboxPaths" ]) - # KDE - (mkRenamedOptionModule [ "kde" "extraPackages" ] [ "environment" "systemPackages" ]) - (mkRenamedOptionModule [ "environment" "kdePackages" ] [ "environment" "systemPackages" ]) - - # Multiple efi bootloaders now - (mkRenamedOptionModule [ "boot" "loader" "efi" "efibootmgr" "enable" ] [ "boot" "loader" "efi" "canTouchEfiVariables" ]) - - # NixOS environment changes - # !!! this hardcodes bash, could we detect from config which shell is actually used? - (mkRenamedOptionModule [ "environment" "promptInit" ] [ "programs" "bash" "promptInit" ]) - - (mkRenamedOptionModule [ "services" "xserver" "driSupport" ] [ "hardware" "opengl" "driSupport" ]) - (mkRenamedOptionModule [ "services" "xserver" "driSupport32Bit" ] [ "hardware" "opengl" "driSupport32Bit" ]) - (mkRenamedOptionModule [ "services" "xserver" "s3tcSupport" ] [ "hardware" "opengl" "s3tcSupport" ]) - (mkRenamedOptionModule [ "hardware" "opengl" "videoDrivers" ] [ "services" "xserver" "videoDrivers" ]) (mkRenamedOptionModule [ "services" "xserver" "vaapiDrivers" ] [ "hardware" "opengl" "extraPackages" ]) - (mkRenamedOptionModule [ "services" "mysql55" ] [ "services" "mysql" ]) - (mkAliasOptionModule [ "environment" "checkConfigurationOptions" ] [ "_module" "check" ]) # opendkim (mkRenamedOptionModule [ "services" "opendkim" "keyFile" ] [ "services" "opendkim" "keyPath" ]) - # XBMC - (mkRenamedOptionModule [ "services" "xserver" "windowManager" "xbmc" ] [ "services" "xserver" "desktopManager" "kodi" ]) - (mkRenamedOptionModule [ "services" "xserver" "desktopManager" "xbmc" ] [ "services" "xserver" "desktopManager" "kodi" ]) - - (mkRenamedOptionModule [ "services" "hostapd" "extraCfg" ] [ "services" "hostapd" "extraConfig" ]) - # Enlightenment (mkRenamedOptionModule [ "services" "xserver" "desktopManager" "e19" "enable" ] [ "services" "xserver" "desktopManager" "enlightenment" "enable" ]) @@ -168,6 +117,9 @@ with lib; # parsoid (mkRemovedOptionModule [ "services" "parsoid" "interwikis" ] [ "services" "parsoid" "wikis" ]) + # plexpy / tautulli + (mkRenamedOptionModule [ "services" "plexpy" ] [ "services" "tautulli" ]) + # piwik was renamed to matomo (mkRenamedOptionModule [ "services" "piwik" "enable" ] [ "services" "matomo" "enable" ]) (mkRenamedOptionModule [ "services" "piwik" "webServerUser" ] [ "services" "matomo" "webServerUser" ]) @@ -187,7 +139,7 @@ with lib; inetPort = [ "services" "postgrey" "inetPort" ]; in if value inetAddr == null - then { path = "/var/run/postgrey.sock"; } + then { path = "/run/postgrey.sock"; } else { addr = value inetAddr; port = value inetPort; } )) @@ -219,7 +171,7 @@ with lib; '') # Profile splitting - (mkRenamedOptionModule [ "virtualization" "growPartition" ] [ "boot" "growPartition" ]) + (mkRenamedOptionModule [ "virtualisation" "growPartition" ] [ "boot" "growPartition" ]) # misc/version.nix (mkRenamedOptionModule [ "system" "nixosVersion" ] [ "system" "nixos" "version" ]) @@ -256,6 +208,7 @@ with lib; (mkRemovedOptionModule [ "fonts" "fontconfig" "forceAutohint" ] "") (mkRemovedOptionModule [ "fonts" "fontconfig" "renderMonoTTFAsBitmap" ] "") (mkRemovedOptionModule [ "virtualisation" "xen" "qemu" ] "You don't need this option anymore, it will work without it.") + (mkRemovedOptionModule [ "services" "logstash" "enableWeb" ] "The web interface was removed from logstash") (mkRemovedOptionModule [ "boot" "zfs" "enableLegacyCrypto" ] "The corresponding package was removed from nixpkgs.") # ZSH @@ -275,6 +228,11 @@ with lib; (mkRenamedOptionModule [ "programs" "info" "enable" ] [ "documentation" "info" "enable" ]) (mkRenamedOptionModule [ "programs" "man" "enable" ] [ "documentation" "man" "enable" ]) + (mkRenamedOptionModule [ "services" "nixosManual" "enable" ] [ "documentation" "nixos" "enable" ]) + + # ckb + (mkRenamedOptionModule [ "hardware" "ckb" "enable" ] [ "hardware" "ckb-next" "enable" ]) + (mkRenamedOptionModule [ "hardware" "ckb" "package" ] [ "hardware" "ckb-next" "package" ]) ] ++ (flip map [ "blackboxExporter" "collectdExporter" "fritzboxExporter" "jsonExporter" "minioExporter" "nginxExporter" "nodeExporter" diff --git a/nixos/modules/security/acme.nix b/nixos/modules/security/acme.nix index 946da92d80e76525662c4d1561df4111c6c551b1..092704c6fc3f69bbd6fe4f3e32c0932bb1c2c510 100644 --- a/nixos/modules/security/acme.nix +++ b/nixos/modules/security/acme.nix @@ -302,15 +302,15 @@ in workdir="$(mktemp -d)" # Create CA - openssl genrsa -des3 -passout pass:x -out $workdir/ca.pass.key 2048 - openssl rsa -passin pass:x -in $workdir/ca.pass.key -out $workdir/ca.key + openssl genrsa -des3 -passout pass:xxxx -out $workdir/ca.pass.key 2048 + openssl rsa -passin pass:xxxx -in $workdir/ca.pass.key -out $workdir/ca.key openssl req -new -key $workdir/ca.key -out $workdir/ca.csr \ -subj "/C=UK/ST=Warwickshire/L=Leamington/O=OrgName/OU=Security Department/CN=example.com" openssl x509 -req -days 1 -in $workdir/ca.csr -signkey $workdir/ca.key -out $workdir/ca.crt # Create key - openssl genrsa -des3 -passout pass:x -out $workdir/server.pass.key 2048 - openssl rsa -passin pass:x -in $workdir/server.pass.key -out $workdir/server.key + openssl genrsa -des3 -passout pass:xxxx -out $workdir/server.pass.key 2048 + openssl rsa -passin pass:xxxx -in $workdir/server.pass.key -out $workdir/server.key openssl req -new -key $workdir/server.key -out $workdir/server.csr \ -subj "/C=UK/ST=Warwickshire/L=Leamington/O=OrgName/OU=IT Department/CN=example.com" openssl x509 -req -days 1 -in $workdir/server.csr -CA $workdir/ca.crt \ diff --git a/nixos/modules/security/acme.xml b/nixos/modules/security/acme.xml index 7cdc554989ea4bce9033ef330e3edf27a36f305a..ef71fe53d0c7e5d04e4ebc1d46bdd3cbb618d13b 100644 --- a/nixos/modules/security/acme.xml +++ b/nixos/modules/security/acme.xml @@ -3,23 +3,25 @@ xmlns:xi="http://www.w3.org/2001/XInclude" version="5.0" xml:id="module-security-acme"> - -SSL/TLS Certificates with ACME - -NixOS supports automatic domain validation & certificate -retrieval and renewal using the ACME protocol. This is currently only -implemented by and for Let's Encrypt. The alternative ACME client -simp_le is used under the hood. - -
Prerequisites - -You need to have a running HTTP server for verification. The server must -have a webroot defined that can serve -.well-known/acme-challenge. This directory must be -writeable by the user that will run the ACME client. - -For instance, this generic snippet could be used for Nginx: - + SSL/TLS Certificates with ACME + + NixOS supports automatic domain validation & certificate retrieval and + renewal using the ACME protocol. This is currently only implemented by and + for Let's Encrypt. The alternative ACME client simp_le is + used under the hood. + +
+ Prerequisites + + + You need to have a running HTTP server for verification. The server must + have a webroot defined that can serve + .well-known/acme-challenge. This directory must be + writeable by the user that will run the ACME client. + + + + For instance, this generic snippet could be used for Nginx: http { server { @@ -37,43 +39,47 @@ http { } } - - -
- -
Configuring - -To enable ACME certificate retrieval & renewal for a certificate for -foo.example.com, add the following in your -configuration.nix: - + +
+
+ Configuring + + + To enable ACME certificate retrieval & renewal for a certificate for + foo.example.com, add the following in your + configuration.nix: ."foo.example.com" = { webroot = "/var/www/challenges"; email = "foo@example.com"; }; - - -The private key key.pem and certificate -fullchain.pem will be put into -/var/lib/acme/foo.example.com. The target directory can -be configured with the option . - - -Refer to for all available configuration -options for the security.acme module. - -
- -
Using ACME certificates in Nginx -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. - + + + + The private key key.pem and certificate + fullchain.pem will be put into + /var/lib/acme/foo.example.com. The target directory can + be configured with the option . + + + + Refer to for all available configuration + options for the security.acme + module. + +
+
+ Using ACME certificates in Nginx + + + 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 = { @@ -89,5 +95,5 @@ services.nginx = { }; } -
+
diff --git a/nixos/modules/security/apparmor-suid.nix b/nixos/modules/security/apparmor-suid.nix index dfbf5d859ba9efa5df8936688b8303b21ac7ce72..498c2f25d1c0d992586cf7b9375941995acf70af 100644 --- a/nixos/modules/security/apparmor-suid.nix +++ b/nixos/modules/security/apparmor-suid.nix @@ -28,7 +28,7 @@ with lib; capability setuid, network inet raw, - ${pkgs.glibc.out}/lib/*.so mr, + ${pkgs.stdenv.cc.libc.out}/lib/*.so mr, ${pkgs.libcap.lib}/lib/libcap.so* mr, ${pkgs.attr.out}/lib/libattr.so* mr, diff --git a/nixos/modules/security/apparmor.nix b/nixos/modules/security/apparmor.nix index d323a158a4df6a985b3f2f7e1ea4a4dae719ce48..4512a7a80f6d66cdb366d6b0843fae9b95bce803 100644 --- a/nixos/modules/security/apparmor.nix +++ b/nixos/modules/security/apparmor.nix @@ -33,7 +33,12 @@ in paths = concatMapStrings (s: " -I ${s}/etc/apparmor.d") ([ pkgs.apparmor-profiles ] ++ cfg.packages); in { - wantedBy = [ "local-fs.target" ]; + after = [ "local-fs.target" ]; + before = [ "sysinit.target" ]; + wantedBy = [ "multi-user.target" ]; + unitConfig = { + DefaultDependencies = "no"; + }; serviceConfig = { Type = "oneshot"; RemainAfterExit = "yes"; @@ -43,6 +48,9 @@ in ExecStop = map (p: ''${pkgs.apparmor-parser}/bin/apparmor_parser -Rv "${p}"'' ) cfg.profiles; + ExecReload = map (p: + ''${pkgs.apparmor-parser}/bin/apparmor_parser --reload ${paths} "${p}"'' + ) cfg.profiles; }; }; }; diff --git a/nixos/modules/security/ca.nix b/nixos/modules/security/ca.nix index 67469be18b413c9e7bf24777ad8d34b52d5f3bb8..1c4ee421fc56aec3844ae075dcafbd00bbec42f4 100644 --- a/nixos/modules/security/ca.nix +++ b/nixos/modules/security/ca.nix @@ -14,6 +14,7 @@ let { files = cfg.certificateFiles ++ [ (builtins.toFile "extra.crt" (concatStringsSep "\n" cfg.certificates)) ]; + preferLocalBuild = true; } '' cat $files > $out diff --git a/nixos/modules/security/dhparams.nix b/nixos/modules/security/dhparams.nix index e2b84c3e3b38018b95aa1ea7e8e1911e31f56226..62a499ea624de92d304927c47dcef1455e35836e 100644 --- a/nixos/modules/security/dhparams.nix +++ b/nixos/modules/security/dhparams.nix @@ -170,4 +170,6 @@ in { ''; }) cfg.params; }; + + meta.maintainers = with lib.maintainers; [ ekleog ]; } diff --git a/nixos/modules/security/duosec.nix b/nixos/modules/security/duosec.nix index df6108dede7c476b6842f31d300570969cd34f7a..997328ad9e6ab0a4d4978343b5f50f04b2621e59 100644 --- a/nixos/modules/security/duosec.nix +++ b/nixos/modules/security/duosec.nix @@ -7,7 +7,7 @@ let boolToStr = b: if b then "yes" else "no"; - configFile = '' + configFilePam = '' [duo] ikey=${cfg.ikey} skey=${cfg.skey} @@ -16,21 +16,24 @@ let failmode=${cfg.failmode} pushinfo=${boolToStr cfg.pushinfo} autopush=${boolToStr cfg.autopush} - motd=${boolToStr cfg.motd} prompts=${toString cfg.prompts} - accept_env_factor=${boolToStr cfg.acceptEnvFactor} fallback_local_ip=${boolToStr cfg.fallbackLocalIP} ''; + configFileLogin = configFilePam + '' + motd=${boolToStr cfg.motd} + accept_env_factor=${boolToStr cfg.acceptEnvFactor} + ''; + loginCfgFile = optional cfg.ssh.enable - { source = pkgs.writeText "login_duo.conf" configFile; + { source = pkgs.writeText "login_duo.conf" configFileLogin; mode = "0600"; user = "sshd"; target = "duo/login_duo.conf"; }; pamCfgFile = optional cfg.pam.enable - { source = pkgs.writeText "pam_duo.conf" configFile; + { source = pkgs.writeText "pam_duo.conf" configFilePam; mode = "0600"; user = "sshd"; target = "duo/pam_duo.conf"; @@ -73,7 +76,7 @@ in }; failmode = mkOption { - type = types.enum [ "safe" "enum" ]; + type = types.enum [ "safe" "secure" ]; default = "safe"; description = '' On service or configuration errors that prevent Duo @@ -180,12 +183,6 @@ in }; config = mkIf (cfg.ssh.enable || cfg.pam.enable) { - assertions = - [ { assertion = !cfg.pam.enable; - message = "PAM support is currently not implemented."; - } - ]; - environment.systemPackages = [ pkgs.duo-unix ]; security.wrappers.login_duo.source = "${pkgs.duo-unix.out}/bin/login_duo"; diff --git a/nixos/modules/security/google_oslogin.nix b/nixos/modules/security/google_oslogin.nix new file mode 100644 index 0000000000000000000000000000000000000000..246419b681af0cadcc00246353edeb4a53fb2005 --- /dev/null +++ b/nixos/modules/security/google_oslogin.nix @@ -0,0 +1,68 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.security.googleOsLogin; + package = pkgs.google-compute-engine-oslogin; + +in + +{ + + options = { + + security.googleOsLogin.enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable Google OS Login + + The OS Login package enables the following components: + AuthorizedKeysCommand to query valid SSH keys from the user's OS Login + profile during ssh authentication phase. + NSS Module to provide user and group information + PAM Module for the sshd service, providing authorization and + authentication support, allowing the system to use data stored in + Google Cloud IAM permissions to control both, the ability to log into + an instance, and to perform operations as root (sudo). + ''; + }; + + }; + + config = mkIf cfg.enable { + security.pam.services.sshd = { + makeHomeDir = true; + googleOsLoginAccountVerification = true; + # disabled for now: googleOsLoginAuthentication = true; + }; + + security.sudo.extraConfig = '' + #includedir /run/google-sudoers.d + ''; + systemd.tmpfiles.rules = [ + "d /run/google-sudoers.d 750 root root -" + "d /var/google-users.d 750 root root -" + ]; + + # enable the nss module, so user lookups etc. work + system.nssModules = [ package ]; + + # 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_google_oslogin" = { + mode = "0755"; + text = '' + #!/bin/sh + exec ${package}/bin/google_authorized_keys "$@" + ''; + }; + services.openssh.extraConfig = '' + AuthorizedKeysCommand /etc/ssh/authorized_keys_command_google_oslogin %u + AuthorizedKeysCommandUser nobody + ''; + }; + +} diff --git a/nixos/modules/security/hidepid.xml b/nixos/modules/security/hidepid.xml index d69341eb3cde18697fee94f1bf153332f3298c2c..5a17cb1da412c11114c12d390ad0a0ec58ad36b7 100644 --- a/nixos/modules/security/hidepid.xml +++ b/nixos/modules/security/hidepid.xml @@ -3,31 +3,26 @@ xmlns:xi="http://www.w3.org/2001/XInclude" version="5.0" xml:id="sec-hidepid"> - - Hiding process information - - - Setting + Hiding process information + + Setting = 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 + 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/lock-kernel-modules.nix b/nixos/modules/security/lock-kernel-modules.nix index c81521ed9b085c5856e897b413856dd6fadbfb3f..fc9e7939d814860f8bceec52b33916b3449ce66f 100644 --- a/nixos/modules/security/lock-kernel-modules.nix +++ b/nixos/modules/security/lock-kernel-modules.nix @@ -3,6 +3,10 @@ with lib; { + meta = { + maintainers = [ maintainers.joachifm ]; + }; + options = { security.lockKernelModules = mkOption { type = types.bool; diff --git a/nixos/modules/security/misc.nix b/nixos/modules/security/misc.nix new file mode 100644 index 0000000000000000000000000000000000000000..ecf22bf81c59b4c29e3132a10a46861808785ec7 --- /dev/null +++ b/nixos/modules/security/misc.nix @@ -0,0 +1,135 @@ +{ config, lib, ... }: + +with lib; + +{ + meta = { + maintainers = [ maintainers.joachifm ]; + }; + + options = { + security.allowUserNamespaces = mkOption { + type = types.bool; + default = true; + description = '' + Whether to allow creation of user namespaces. + + + + The motivation for disabling user namespaces is the potential + presence of code paths where the kernel's permission checking + logic fails to account for namespacing, instead permitting a + namespaced process to act outside the namespace with the same + privileges as it would have inside it. This is particularly + damaging in the common case of running as root within the namespace. + + + + When user namespace creation is disallowed, attempting to create a + user namespace fails with "no space left on device" (ENOSPC). + root may re-enable user namespace creation at runtime. + + + ''; + }; + + security.protectKernelImage = mkOption { + type = types.bool; + default = false; + description = '' + Whether to prevent replacing the running kernel image. + ''; + }; + + security.allowSimultaneousMultithreading = mkOption { + type = types.bool; + default = true; + description = '' + Whether to allow SMT/hyperthreading. Disabling SMT means that only + physical CPU cores will be usable at runtime, potentially at + significant performance cost. + + + + The primary motivation for disabling SMT is to mitigate the risk of + leaking data between threads running on the same CPU core (due to + e.g., shared caches). This attack vector is unproven. + + + + Disabling SMT is a supplement to the L1 data cache flushing mitigation + (see ) + versus malicious VM guests (SMT could "bring back" previously flushed + data). + + + ''; + }; + + security.virtualization.flushL1DataCache = mkOption { + type = types.nullOr (types.enum [ "never" "cond" "always" ]); + default = null; + description = '' + Whether the hypervisor should flush the L1 data cache before + entering guests. + See also . + + + + + + null + uses the kernel default + + + "never" + disables L1 data cache flushing entirely. + May be appropriate if all guests are trusted. + + + "cond" + flushes L1 data cache only for pre-determined + code paths. May leak information about the host address space + layout. + + + "always" + flushes L1 data cache every time the hypervisor + enters the guest. May incur significant performance cost. + + + + ''; + }; + }; + + config = mkMerge [ + (mkIf (!config.security.allowUserNamespaces) { + # Setting the number of allowed user namespaces to 0 effectively disables + # the feature at runtime. Note that root may raise the limit again + # at any time. + boot.kernel.sysctl."user.max_user_namespaces" = 0; + + assertions = [ + { assertion = config.nix.useSandbox -> config.security.allowUserNamespaces; + message = "`nix.useSandbox = true` conflicts with `!security.allowUserNamespaces`."; + } + ]; + }) + + (mkIf config.security.protectKernelImage { + # Disable hibernation (allows replacing the running kernel) + boot.kernelParams = [ "nohibernate" ]; + # Prevent replacing the running kernel image w/o reboot + boot.kernel.sysctl."kernel.kexec_load_disabled" = mkDefault true; + }) + + (mkIf (!config.security.allowSimultaneousMultithreading) { + boot.kernelParams = [ "nosmt" ]; + }) + + (mkIf (config.security.virtualization.flushL1DataCache != null) { + boot.kernelParams = [ "kvm-intel.vmentry_l1d_flush=${config.security.virtualization.flushL1DataCache}" ]; + }) + ]; +} diff --git a/nixos/modules/security/pam.nix b/nixos/modules/security/pam.nix index bef10b4fe614c92b5ce1693347c3896e55eb6c99..89e71c5136e43b9275c4d8aa56b0fac4c222c3f6 100644 --- a/nixos/modules/security/pam.nix +++ b/nixos/modules/security/pam.nix @@ -37,12 +37,24 @@ let }; u2fAuth = mkOption { - default = config.security.pam.enableU2F; + default = config.security.pam.u2f.enable; type = types.bool; description = '' If set, users listed in - ~/.config/Yubico/u2f_keys are able to log in - with the associated U2F key. + $XDG_CONFIG_HOME/Yubico/u2f_keys (or + $HOME/.config/Yubico/u2f_keys if XDG variable is + not set) are able to log in with the associated U2F key. Path can be + changed using option. + ''; + }; + + yubicoAuth = mkOption { + default = config.security.pam.yubico.enable; + type = types.bool; + description = '' + If set, users listed in + ~/.yubico/authorized_yubikeys + are able to log in with the asociated Yubikey tokens. ''; }; @@ -77,6 +89,30 @@ let ''; }; + googleOsLoginAccountVerification = mkOption { + default = false; + type = types.bool; + description = '' + If set, will use the Google OS Login PAM modules + (pam_oslogin_login, + pam_oslogin_admin) to verify possible OS Login + users and set sudoers configuration accordingly. + This only makes sense to enable for the sshd PAM + service. + ''; + }; + + googleOsLoginAuthentication = mkOption { + default = false; + type = types.bool; + description = '' + If set, will use the pam_oslogin_login's user + authentication methods to authenticate users using 2FA. + This only makes sense to enable for the sshd PAM + service. + ''; + }; + fprintAuth = mkOption { default = config.services.fprintd.enable; type = types.bool; @@ -105,6 +141,18 @@ let ''; }; + duoSecurity = { + enable = mkOption { + default = false; + type = types.bool; + description = '' + If set, use the Duo Security pam module + pam_duo for authentication. Requires + configuration of options. + ''; + }; + }; + startSession = mkOption { default = false; type = types.bool; @@ -269,7 +317,7 @@ let text = mkDefault ('' # Account management. - account ${if cfg.sssdStrictAccess then "required" else "sufficient"} pam_unix.so + account required pam_unix.so ${optionalString use_ldap "account sufficient ${pam_ldap}/lib/security/pam_ldap.so"} ${optionalString (config.services.sssd.enable && cfg.sssdStrictAccess==false) @@ -278,8 +326,14 @@ let "account [default=bad success=ok user_unknown=ignore] ${pkgs.sssd}/lib/security/pam_sss.so"} ${optionalString config.krb5.enable "account sufficient ${pam_krb5}/lib/security/pam_krb5.so"} + ${optionalString cfg.googleOsLoginAccountVerification '' + account [success=ok ignore=ignore default=die] ${pkgs.google-compute-engine-oslogin}/lib/pam_oslogin_login.so + account [success=ok default=ignore] ${pkgs.google-compute-engine-oslogin}/lib/pam_oslogin_admin.so + ''} # Authentication management. + ${optionalString cfg.googleOsLoginAuthentication + "auth [success=done perm_denied=bad default=ignore] ${pkgs.google-compute-engine-oslogin}/lib/pam_oslogin_login.so"} ${optionalString cfg.rootOK "auth sufficient pam_rootok.so"} ${optionalString cfg.requireWheel @@ -290,12 +344,14 @@ let "auth sufficient ${pkgs.pam_ssh_agent_auth}/libexec/pam_ssh_agent_auth.so file=~/.ssh/authorized_keys:~/.ssh/authorized_keys2:/etc/ssh/authorized_keys.d/%u"} ${optionalString cfg.fprintAuth "auth sufficient ${pkgs.fprintd}/lib/security/pam_fprintd.so"} - ${optionalString cfg.u2fAuth - "auth sufficient ${pkgs.pam_u2f}/lib/security/pam_u2f.so"} + ${let u2f = config.security.pam.u2f; in optionalString cfg.u2fAuth + "auth ${u2f.control} ${pkgs.pam_u2f}/lib/security/pam_u2f.so ${optionalString u2f.debug "debug"} ${optionalString (u2f.authFile != null) "authfile=${u2f.authFile}"} ${optionalString u2f.interactive "interactive"} ${optionalString u2f.cue "cue"}"} ${optionalString cfg.usbAuth "auth sufficient ${pkgs.pam_usb}/lib/security/pam_usb.so"} ${let oath = config.security.pam.oath; in optionalString cfg.oathAuth "auth requisite ${pkgs.oathToolkit}/lib/security/pam_oath.so window=${toString oath.window} usersfile=${toString oath.usersFile} digits=${toString oath.digits}"} + ${let yubi = config.security.pam.yubico; in optionalString cfg.yubicoAuth + "auth ${yubi.control} ${pkgs.yubico-pam}/lib/security/pam_yubico.so id=${toString yubi.id} ${optionalString yubi.debug "debug"}"} '' + # Modules in this block require having the password set in PAM_AUTHTOK. # pam_unix is marked as 'sufficient' on NixOS which means nothing will run @@ -308,7 +364,8 @@ let || cfg.pamMount || cfg.enableKwallet || cfg.enableGnomeKeyring - || cfg.googleAuthenticator.enable)) '' + || cfg.googleAuthenticator.enable + || cfg.duoSecurity.enable)) '' auth required pam_unix.so ${optionalString cfg.allowNullPassword "nullok"} likeauth ${optionalString config.security.pam.enableEcryptfs "auth optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so unwrap"} @@ -318,9 +375,11 @@ let ("auth optional ${pkgs.plasma5.kwallet-pam}/lib/security/pam_kwallet5.so" + " kwalletd=${pkgs.libsForQt5.kwallet.bin}/bin/kwalletd5")} ${optionalString cfg.enableGnomeKeyring - ("auth optional ${pkgs.gnome3.gnome-keyring}/lib/security/pam_gnome_keyring.so")} + "auth optional ${pkgs.gnome3.gnome-keyring}/lib/security/pam_gnome_keyring.so"} ${optionalString cfg.googleAuthenticator.enable - "auth required ${pkgs.googleAuthenticator}/lib/security/pam_google_authenticator.so no_increment_hotp"} + "auth required ${pkgs.googleAuthenticator}/lib/security/pam_google_authenticator.so no_increment_hotp"} + ${optionalString cfg.duoSecurity.enable + "auth required ${pkgs.duo-unix}/lib/security/pam_duo.so"} '') + '' ${optionalString cfg.unixAuth "auth sufficient pam_unix.so ${optionalString cfg.allowNullPassword "nullok"} likeauth try_first_pass"} @@ -338,7 +397,7 @@ let auth required pam_deny.so # Password management. - password requisite pam_unix.so nullok sha512 + password sufficient pam_unix.so nullok sha512 ${optionalString config.security.pam.enableEcryptfs "password optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so"} ${optionalString cfg.pamMount @@ -351,6 +410,8 @@ let "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"} + ${optionalString cfg.enableGnomeKeyring + "password optional ${pkgs.gnome3.gnome-keyring}/lib/security/pam_gnome_keyring.so use_authtok"} # Session management. ${optionalString cfg.setEnvironment '' @@ -497,11 +558,144 @@ in ''; }; - security.pam.enableU2F = mkOption { - default = false; - description = '' - Enable the U2F PAM module. - ''; + security.pam.u2f = { + enable = mkOption { + default = false; + type = types.bool; + description = '' + Enables U2F PAM (pam-u2f) module. + + If set, users listed in + $XDG_CONFIG_HOME/Yubico/u2f_keys (or + $HOME/.config/Yubico/u2f_keys if XDG variable is + not set) are able to log in with the associated U2F key. The path can + be changed using option. + + File format is: + username:first_keyHandle,first_public_key: second_keyHandle,second_public_key + This file can be generated using pamu2fcfg command. + + More information can be found here. + ''; + }; + + authFile = mkOption { + default = null; + type = with types; nullOr path; + description = '' + By default pam-u2f module reads the keys from + $XDG_CONFIG_HOME/Yubico/u2f_keys (or + $HOME/.config/Yubico/u2f_keys if XDG variable is + not set). + + If you want to change auth file locations or centralize database (for + example use /etc/u2f-mappings) you can set this + option. + + File format is: + username:first_keyHandle,first_public_key: second_keyHandle,second_public_key + This file can be generated using pamu2fcfg command. + + More information can be found here. + ''; + }; + + control = mkOption { + default = "sufficient"; + type = types.enum [ "required" "requisite" "sufficient" "optional" ]; + description = '' + This option sets pam "control". + If you want to have multi factor authentication, use "required". + If you want to use U2F device instead of regular password, use "sufficient". + + Read + + pam.conf + 5 + + for better understanding of this option. + ''; + }; + + debug = mkOption { + default = false; + type = types.bool; + description = '' + Debug output to stderr. + ''; + }; + + interactive = mkOption { + default = false; + type = types.bool; + description = '' + Set to prompt a message and wait before testing the presence of a U2F device. + Recommended if your device doesn’t have a tactile trigger. + ''; + }; + + cue = mkOption { + default = false; + type = types.bool; + description = '' + By default pam-u2f module does not inform user + that he needs to use the u2f device, it just waits without a prompt. + + If you set this option to true, + cue option is added to pam-u2f + module and reminder message will be displayed. + ''; + }; + }; + + security.pam.yubico = { + enable = mkOption { + default = false; + type = types.bool; + description = '' + Enables Yubico PAM (yubico-pam) module. + + If set, users listed in + ~/.yubico/authorized_yubikeys + are able to log in with the associated Yubikey tokens. + + The file must have only one line: + username:yubikey_token_id1:yubikey_token_id2 + More information can be found here. + ''; + }; + control = mkOption { + default = "sufficient"; + type = types.enum [ "required" "requisite" "sufficient" "optional" ]; + description = '' + This option sets pam "control". + If you want to have multi factor authentication, use "required". + If you want to use Yubikey instead of regular password, use "sufficient". + + Read + + pam.conf + 5 + + for better understanding of this option. + ''; + }; + id = mkOption { + example = "42"; + type = types.string; + description = "client id"; + }; + + debug = mkOption { + default = false; + type = types.bool; + description = '' + Debug output to stderr. + ''; + }; }; security.pam.enableEcryptfs = mkOption { @@ -533,7 +727,7 @@ in ++ optionals config.krb5.enable [pam_krb5 pam_ccreds] ++ optionals config.security.pam.enableOTPW [ pkgs.otpw ] ++ optionals config.security.pam.oath.enable [ pkgs.oathToolkit ] - ++ optionals config.security.pam.enableU2F [ pkgs.pam_u2f ]; + ++ optionals config.security.pam.u2f.enable [ pkgs.pam_u2f ]; boot.supportedFilesystems = optionals config.security.pam.enableEcryptfs [ "ecryptfs" ]; @@ -548,6 +742,13 @@ in environment.etc = mapAttrsToList (n: v: makePAMService v) config.security.pam.services; + systemd.tmpfiles.rules = optionals + (any (s: s.updateWtmp) (attrValues config.security.pam.services)) + [ + "f /var/log/wtmp" + "f /var/log/lastlog" + ]; + security.pam.services = { other.text = '' diff --git a/nixos/modules/security/polkit.nix b/nixos/modules/security/polkit.nix index 04685f2c9ea15c4a18715528a27259caeb4f954a..7f1de81d5b70dfda49dcb3d99a93bd0145826049 100644 --- a/nixos/modules/security/polkit.nix +++ b/nixos/modules/security/polkit.nix @@ -88,11 +88,11 @@ in "polkit-agent-helper-1".source = "${pkgs.polkit.out}/lib/polkit-1/polkit-agent-helper-1"; }; - system.activationScripts.polkit = - '' - # Probably no more needed, clean up - rm -rf /var/lib/{polkit-1,PolicyKit} - ''; + systemd.tmpfiles.rules = [ + # Probably no more needed, clean up + "R /var/lib/polkit-1" + "R /var/lib/PolicyKit" + ]; users.users.polkituser = { description = "PolKit daemon"; diff --git a/nixos/modules/security/rngd.nix b/nixos/modules/security/rngd.nix index 3a1ffc55e5fe99fc098e227971821d26d9574d19..a54ef2e6fcad1bd8310cf3ee6ce585aae7630517 100644 --- a/nixos/modules/security/rngd.nix +++ b/nixos/modules/security/rngd.nix @@ -20,7 +20,6 @@ with lib; KERNEL=="random", TAG+="systemd" 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"''} ''; systemd.services.rngd = { @@ -30,8 +29,7 @@ with lib; description = "Hardware RNG Entropy Gatherer Daemon"; - serviceConfig.ExecStart = "${pkgs.rng_tools}/sbin/rngd -f -v" + - (if config.services.tcsd.enable then " --no-tpm=1" else ""); + serviceConfig.ExecStart = "${pkgs.rng-tools}/sbin/rngd -f"; }; }; } diff --git a/nixos/modules/security/sudo.nix b/nixos/modules/security/sudo.nix index 69a2a4f8f9ae442c219e513b4567abc098b44828..573588aaeecc04cb21c85f41bf3fbe73e328c0e0 100644 --- a/nixos/modules/security/sudo.nix +++ b/nixos/modules/security/sudo.nix @@ -215,7 +215,10 @@ in environment.etc = singleton { source = pkgs.runCommand "sudoers" - { src = pkgs.writeText "sudoers-in" cfg.configFile; } + { + src = pkgs.writeText "sudoers-in" cfg.configFile; + preferLocalBuild = true; + } # Make sure that the sudoers file is syntactically valid. # (currently disabled - NIXOS-66) "${pkgs.buildPackages.sudo}/sbin/visudo -f $src -c && cp $src $out"; diff --git a/nixos/modules/security/systemd-confinement.nix b/nixos/modules/security/systemd-confinement.nix new file mode 100644 index 0000000000000000000000000000000000000000..cd4eb81dbe197e7d66e7a0f81c8586b2740a060e --- /dev/null +++ b/nixos/modules/security/systemd-confinement.nix @@ -0,0 +1,199 @@ +{ config, pkgs, lib, ... }: + +let + toplevelConfig = config; + inherit (lib) types; + inherit (import ../system/boot/systemd-lib.nix { + inherit config pkgs lib; + }) mkPathSafeName; +in { + options.systemd.services = lib.mkOption { + type = types.attrsOf (types.submodule ({ name, config, ... }: { + options.confinement.enable = lib.mkOption { + type = types.bool; + default = false; + description = '' + If set, all the required runtime store paths for this service are + bind-mounted into a tmpfs-based + chroot + 2 + . + ''; + }; + + options.confinement.fullUnit = lib.mkOption { + type = types.bool; + default = false; + description = '' + Whether to include the full closure of the systemd unit file into the + chroot, instead of just the dependencies for the executables. + + While it may be tempting to just enable this option to + make things work quickly, please be aware that this might add paths + to the closure of the chroot that you didn't anticipate. It's better + to use to explicitly add additional store paths to the + chroot. + ''; + }; + + options.confinement.packages = lib.mkOption { + type = types.listOf (types.either types.str types.package); + default = []; + description = let + mkScOption = optName: ""; + in '' + Additional packages or strings with context to add to the closure of + the chroot. By default, this includes all the packages from the + ${lib.concatMapStringsSep ", " mkScOption [ + "ExecReload" "ExecStartPost" "ExecStartPre" "ExecStop" + "ExecStopPost" + ]} and ${mkScOption "ExecStart"} options. If you want to have all the + dependencies of this systemd unit, you can use + . + + The store paths listed in are + not included in the closure as + well as paths from other options except those listed + above. + ''; + }; + + options.confinement.binSh = lib.mkOption { + type = types.nullOr types.path; + default = toplevelConfig.environment.binsh; + defaultText = "config.environment.binsh"; + example = lib.literalExample "\${pkgs.dash}/bin/dash"; + description = '' + The program to make available as /bin/sh inside + the chroot. If this is set to null, no + /bin/sh is provided at all. + + This is useful for some applications, which for example use the + + system + 3 + library function to execute commands. + ''; + }; + + options.confinement.mode = lib.mkOption { + type = types.enum [ "full-apivfs" "chroot-only" ]; + default = "full-apivfs"; + description = '' + The value full-apivfs (the default) sets up + private /dev, /proc, /sys and /tmp file systems in a separate user + name space. + + If this is set to chroot-only, only the file + system name space is set up along with the call to + chroot + 2 + . + + This doesn't cover network namespaces and is solely for + file system level isolation. + ''; + }; + + config = let + rootName = "${mkPathSafeName name}-chroot"; + inherit (config.confinement) binSh fullUnit; + wantsAPIVFS = lib.mkDefault (config.confinement.mode == "full-apivfs"); + in lib.mkIf config.confinement.enable { + serviceConfig = { + RootDirectory = pkgs.runCommand rootName {} "mkdir \"$out\""; + TemporaryFileSystem = "/"; + PrivateMounts = lib.mkDefault true; + + # https://github.com/NixOS/nixpkgs/issues/14645 is a future attempt + # to change some of these to default to true. + # + # If we run in chroot-only mode, having something like PrivateDevices + # set to true by default will mount /dev within the chroot, whereas + # with "chroot-only" it's expected that there are no /dev, /proc and + # /sys file systems available. + # + # However, if this suddenly becomes true, the attack surface will + # increase, so let's explicitly set these options to true/false + # depending on the mode. + MountAPIVFS = wantsAPIVFS; + PrivateDevices = wantsAPIVFS; + PrivateTmp = wantsAPIVFS; + PrivateUsers = wantsAPIVFS; + ProtectControlGroups = wantsAPIVFS; + ProtectKernelModules = wantsAPIVFS; + ProtectKernelTunables = wantsAPIVFS; + }; + confinement.packages = let + execOpts = [ + "ExecReload" "ExecStart" "ExecStartPost" "ExecStartPre" "ExecStop" + "ExecStopPost" + ]; + execPkgs = lib.concatMap (opt: let + isSet = config.serviceConfig ? ${opt}; + in lib.optional isSet config.serviceConfig.${opt}) execOpts; + unitAttrs = toplevelConfig.systemd.units."${name}.service"; + allPkgs = lib.singleton (builtins.toJSON unitAttrs); + unitPkgs = if fullUnit then allPkgs else execPkgs; + in unitPkgs ++ lib.optional (binSh != null) binSh; + }; + })); + }; + + config.assertions = lib.concatLists (lib.mapAttrsToList (name: cfg: let + whatOpt = optName: "The 'serviceConfig' option '${optName}' for" + + " service '${name}' is enabled in conjunction with" + + " 'confinement.enable'"; + in lib.optionals cfg.confinement.enable [ + { assertion = !cfg.serviceConfig.RootDirectoryStartOnly or false; + message = "${whatOpt "RootDirectoryStartOnly"}, but right now systemd" + + " doesn't support restricting bind-mounts to 'ExecStart'." + + " Please either define a separate service or find a way to run" + + " commands other than ExecStart within the chroot."; + } + { assertion = !cfg.serviceConfig.DynamicUser or false; + message = "${whatOpt "DynamicUser"}. Please create a dedicated user via" + + " the 'users.users' option instead as this combination is" + + " currently not supported."; + } + ]) config.systemd.services); + + config.systemd.packages = lib.concatLists (lib.mapAttrsToList (name: cfg: let + rootPaths = let + contents = lib.concatStringsSep "\n" cfg.confinement.packages; + in pkgs.writeText "${mkPathSafeName name}-string-contexts.txt" contents; + + chrootPaths = pkgs.runCommand "${mkPathSafeName name}-chroot-paths" { + closureInfo = pkgs.closureInfo { inherit rootPaths; }; + serviceName = "${name}.service"; + excludedPath = rootPaths; + } '' + mkdir -p "$out/lib/systemd/system" + serviceFile="$out/lib/systemd/system/$serviceName" + + echo '[Service]' > "$serviceFile" + + # /bin/sh is special here, because the option value could contain a + # symlink and we need to properly resolve it. + ${lib.optionalString (cfg.confinement.binSh != null) '' + binsh=${lib.escapeShellArg cfg.confinement.binSh} + realprog="$(readlink -e "$binsh")" + echo "BindReadOnlyPaths=$realprog:/bin/sh" >> "$serviceFile" + ''} + + while read storePath; do + if [ -L "$storePath" ]; then + # Currently, systemd can't cope with symlinks in Bind(ReadOnly)Paths, + # so let's just bind-mount the target to that location. + echo "BindReadOnlyPaths=$(readlink -e "$storePath"):$storePath" + elif [ "$storePath" != "$excludedPath" ]; then + echo "BindReadOnlyPaths=$storePath" + fi + done < "$closureInfo/store-paths" >> "$serviceFile" + ''; + in lib.optional cfg.confinement.enable chrootPaths) config.systemd.services); +} diff --git a/nixos/modules/security/wrappers/default.nix b/nixos/modules/security/wrappers/default.nix index 77e4b2a616d8ef404d91693c3277e48424c7f7b5..dcb9c8d4ed5f3acf73c5c7bf559c3073b913f875 100644 --- a/nixos/modules/security/wrappers/default.nix +++ b/nixos/modules/security/wrappers/default.nix @@ -180,35 +180,6 @@ in # programs to be wrapped. WRAPPER_PATH=${config.system.path}/bin:${config.system.path}/sbin - # Remove the old /var/setuid-wrappers path from the system... - # - # TODO: this is only necessary for upgrades 16.09 => 17.x; - # this conditional removal block needs to be removed after - # the release. - if [ -d /var/setuid-wrappers ]; then - rm -rf /var/setuid-wrappers - ln -s /run/wrappers/bin /var/setuid-wrappers - fi - - # Remove the old /run/setuid-wrappers-dir path from the - # system as well... - # - # TODO: this is only necessary for upgrades 16.09 => 17.x; - # this conditional removal block needs to be removed after - # the release. - if [ -d /run/setuid-wrapper-dirs ]; then - rm -rf /run/setuid-wrapper-dirs - ln -s /run/wrappers/bin /run/setuid-wrapper-dirs - fi - - # TODO: this is only necessary for upgrades 16.09 => 17.x; - # this conditional removal block needs to be removed after - # the release. - if readlink -f /run/booted-system | grep nixos-17 > /dev/null; then - rm -rf /run/setuid-wrapper-dirs - rm -rf /var/setuid-wrappers - fi - # We want to place the tmpdirs for the wrappers to the parent dir. wrapperDir=$(mktemp --directory --tmpdir="${parentWrapperDir}" wrappers.XXXXXXXXXX) chmod a+rx $wrapperDir diff --git a/nixos/modules/services/admin/oxidized.nix b/nixos/modules/services/admin/oxidized.nix index 70f7dd9e36475a193852a3f7c2e2c5bc6dca8cae..687cdfb5ba5754454932e96cd5d6df71fe275805 100644 --- a/nixos/modules/services/admin/oxidized.nix +++ b/nixos/modules/services/admin/oxidized.nix @@ -7,7 +7,7 @@ let in { options.services.oxidized = { - enable = mkEnableOption "the oxidized configuation backup service."; + enable = mkEnableOption "the oxidized configuration backup service"; user = mkOption { type = types.str; diff --git a/nixos/modules/services/admin/salt/master.nix b/nixos/modules/services/admin/salt/master.nix index 165580b978374c4c0d5dc35cf5eff8deae365800..c6b1b0cc0bd8e3c33e15e42674704120131cd3b4 100644 --- a/nixos/modules/services/admin/salt/master.nix +++ b/nixos/modules/services/admin/salt/master.nix @@ -53,6 +53,9 @@ in Type = "notify"; NotifyAccess = "all"; }; + restartTriggers = [ + config.environment.etc."salt/master".source + ]; }; }; diff --git a/nixos/modules/services/admin/salt/minion.nix b/nixos/modules/services/admin/salt/minion.nix index 9ecefb32cfa8fa5713aea0a62ab0951d3b756633..c8fa9461a209472829fc8588495e0d18c653a0e4 100644 --- a/nixos/modules/services/admin/salt/minion.nix +++ b/nixos/modules/services/admin/salt/minion.nix @@ -15,7 +15,6 @@ let # Default is in /etc/salt/pki/minion pki_dir = "/var/lib/salt/pki/minion"; } cfg.configuration; - configDir = pkgs.writeTextDir "minion" (builtins.toJSON fullConfig); in @@ -28,15 +27,24 @@ in default = {}; description = '' Salt minion configuration as Nix attribute set. - See - for details. + See + for details. ''; }; }; }; config = mkIf cfg.enable { - environment.systemPackages = with pkgs; [ salt ]; + environment = { + # Set this up in /etc/salt/minion so `salt-call`, etc. work. + # The alternatives are + # - passing --config-dir to all salt commands, not just the minion unit, + # - setting aglobal environment variable. + etc."salt/minion".source = pkgs.writeText "minion" ( + builtins.toJSON fullConfig + ); + systemPackages = with pkgs; [ salt ]; + }; systemd.services.salt-minion = { description = "Salt Minion"; wantedBy = [ "multi-user.target" ]; @@ -45,11 +53,14 @@ in utillinux ]; serviceConfig = { - ExecStart = "${pkgs.salt}/bin/salt-minion --config-dir=${configDir}"; + ExecStart = "${pkgs.salt}/bin/salt-minion"; LimitNOFILE = 8192; Type = "notify"; NotifyAccess = "all"; }; + restartTriggers = [ + config.environment.etc."salt/minion".source + ]; }; }; } diff --git a/nixos/modules/services/amqp/rabbitmq.nix b/nixos/modules/services/amqp/rabbitmq.nix index bb6fc0a104dff90dcac9766b756c791e4a1c932b..302b94de1965cdfff13a46c6f35e37b14632752f 100644 --- a/nixos/modules/services/amqp/rabbitmq.nix +++ b/nixos/modules/services/amqp/rabbitmq.nix @@ -4,14 +4,18 @@ with lib; let cfg = config.services.rabbitmq; - config_file = pkgs.writeText "rabbitmq.config" cfg.config; - config_file_wo_suffix = builtins.substring 0 ((builtins.stringLength config_file) - 7) config_file; + + inherit (builtins) concatStringsSep; + + config_file_content = lib.generators.toKeyValue {} cfg.configItems; + config_file = pkgs.writeText "rabbitmq.conf" config_file_content; + + advanced_config_file = pkgs.writeText "advanced.config" cfg.config; in { ###### interface options = { services.rabbitmq = { - enable = mkOption { default = false; description = '' @@ -20,6 +24,15 @@ in { ''; }; + package = mkOption { + default = pkgs.rabbitmq-server; + type = types.package; + defaultText = "pkgs.rabbitmq-server"; + description = '' + Which rabbitmq package to use. + ''; + }; + listenAddress = mkOption { default = "127.0.0.1"; example = ""; @@ -30,6 +43,10 @@ in { guest with password guest by default, so you should delete this user if you intend to allow external access. + + Together with 'port' setting it's mostly an alias for + configItems."listeners.tcp.1" and it's left for backwards + compatibility with previous version of this module. ''; type = types.str; }; @@ -60,12 +77,47 @@ in { ''; }; + configItems = mkOption { + default = {}; + type = types.attrsOf types.str; + example = '' + { + "auth_backends.1.authn" = "rabbit_auth_backend_ldap"; + "auth_backends.1.authz" = "rabbit_auth_backend_internal"; + } + ''; + description = '' + Configuration options in RabbitMQ's new config file format, + which is a simple key-value format that can not express nested + data structures. This is known as the rabbitmq.conf file, + although outside NixOS that filename may have Erlang syntax, particularly + prior to RabbitMQ 3.7.0. + + If you do need to express nested data structures, you can use + config option. Configuration from config + will be merged into these options by RabbitMQ at runtime to + form the final configuration. + + See http://www.rabbitmq.com/configure.html#config-items + For the distinct formats, see http://www.rabbitmq.com/configure.html#config-file-formats + ''; + }; + config = mkOption { default = ""; type = types.str; description = '' - Verbatim configuration file contents. - See http://www.rabbitmq.com/configure.html + Verbatim advanced configuration file contents using the Erlang syntax. + This is also known as the advanced.config file or the old config format. + + configItems is preferred whenever possible. However, nested + data structures can only be expressed properly using the config option. + + The contents of this option will be merged into the configItems + by RabbitMQ at runtime to form the final configuration. + + See the second table on http://www.rabbitmq.com/configure.html#config-items + For the distinct formats, see http://www.rabbitmq.com/configure.html#config-file-formats ''; }; @@ -74,6 +126,12 @@ in { type = types.listOf types.str; description = "The names of plugins to enable"; }; + + pluginDirs = mkOption { + default = []; + type = types.listOf types.path; + description = "The list of directories containing external plugins"; + }; }; }; @@ -81,7 +139,10 @@ in { ###### implementation config = mkIf cfg.enable { - environment.systemPackages = [ pkgs.rabbitmq_server ]; + # This is needed so we will have 'rabbitmqctl' in our PATH + environment.systemPackages = [ cfg.package ]; + + services.epmd.enable = true; users.users.rabbitmq = { description = "RabbitMQ server user"; @@ -93,39 +154,46 @@ in { users.groups.rabbitmq.gid = config.ids.gids.rabbitmq; + services.rabbitmq.configItems = { + "listeners.tcp.1" = mkDefault "${cfg.listenAddress}:${toString cfg.port}"; + }; + systemd.services.rabbitmq = { description = "RabbitMQ Server"; wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; + after = [ "network.target" "epmd.socket" ]; + wants = [ "network.target" "epmd.socket" ]; - path = [ pkgs.rabbitmq_server pkgs.procps ]; + path = [ cfg.package pkgs.procps ]; environment = { RABBITMQ_MNESIA_BASE = "${cfg.dataDir}/mnesia"; - RABBITMQ_NODE_IP_ADDRESS = cfg.listenAddress; - RABBITMQ_NODE_PORT = toString cfg.port; RABBITMQ_LOGS = "-"; - RABBITMQ_SASL_LOGS = "-"; - RABBITMQ_PID_FILE = "${cfg.dataDir}/pid"; SYS_PREFIX = ""; + RABBITMQ_CONFIG_FILE = config_file; + RABBITMQ_PLUGINS_DIR = concatStringsSep ":" cfg.pluginDirs; RABBITMQ_ENABLED_PLUGINS_FILE = pkgs.writeText "enabled_plugins" '' [ ${concatStringsSep "," cfg.plugins} ]. ''; - } // optionalAttrs (cfg.config != "") { RABBITMQ_CONFIG_FILE = config_file_wo_suffix; }; + } // optionalAttrs (cfg.config != "") { RABBITMQ_ADVANCED_CONFIG_FILE = advanced_config_file; }; serviceConfig = { - ExecStart = "${pkgs.rabbitmq_server}/sbin/rabbitmq-server"; - ExecStop = "${pkgs.rabbitmq_server}/sbin/rabbitmqctl stop"; + ExecStart = "${cfg.package}/sbin/rabbitmq-server"; + ExecStop = "${cfg.package}/sbin/rabbitmqctl shutdown"; User = "rabbitmq"; Group = "rabbitmq"; + LogsDirectory = "rabbitmq"; WorkingDirectory = cfg.dataDir; + Type = "notify"; + NotifyAccess = "all"; + UMask = "0027"; + LimitNOFILE = "100000"; + Restart = "on-failure"; + RestartSec = "10"; + TimeoutStartSec = "3600"; }; - postStart = '' - rabbitmqctl wait ${cfg.dataDir}/pid - ''; - preStart = '' ${optionalString (cfg.cookie != "") '' echo -n ${cfg.cookie} > ${cfg.dataDir}/.erlang.cookie diff --git a/nixos/modules/services/audio/liquidsoap.nix b/nixos/modules/services/audio/liquidsoap.nix index 66f84ef207622d869d8b8db3b63c2cc59b4b5a8f..3a047d10a6314d79767bab90aa68878a39faf885 100644 --- a/nixos/modules/services/audio/liquidsoap.nix +++ b/nixos/modules/services/audio/liquidsoap.nix @@ -14,15 +14,10 @@ let description = "${name} liquidsoap stream"; wantedBy = [ "multi-user.target" ]; path = [ pkgs.wget ]; - preStart = - '' - mkdir -p /var/log/liquidsoap - chown liquidsoap -R /var/log/liquidsoap - ''; serviceConfig = { - PermissionsStartOnly="true"; ExecStart = "${pkgs.liquidsoap}/bin/liquidsoap ${stream}"; User = "liquidsoap"; + LogsDirectory = "liquidsoap"; }; }; }; diff --git a/nixos/modules/services/audio/mpd.nix b/nixos/modules/services/audio/mpd.nix index 5bfe2b6a22ad78fc8b73a04e0d9c8c02ecda3ec4..0df8f9688d2540683536f10892b73f83f07622f2 100644 --- a/nixos/modules/services/audio/mpd.nix +++ b/nixos/modules/services/audio/mpd.nix @@ -158,18 +158,18 @@ in { }; }; + systemd.tmpfiles.rules = [ + "d '${cfg.dataDir}' - ${cfg.user} ${cfg.group} - -" + "d '${cfg.playlistDirectory}' - ${cfg.user} ${cfg.group} - -" + ]; + systemd.services.mpd = { after = [ "network.target" "sound.target" ]; description = "Music Player Daemon"; wantedBy = optional (!cfg.startWhenNeeded) "multi-user.target"; - preStart = '' - mkdir -p "${cfg.dataDir}" && chown -R ${cfg.user}:${cfg.group} "${cfg.dataDir}" - mkdir -p "${cfg.playlistDirectory}" && chown -R ${cfg.user}:${cfg.group} "${cfg.playlistDirectory}" - ''; serviceConfig = { User = "${cfg.user}"; - PermissionsStartOnly = true; ExecStart = "${pkgs.mpd}/bin/mpd --no-daemon ${mpdConf}"; Type = "notify"; LimitRTPRIO = 50; diff --git a/nixos/modules/services/audio/snapserver.nix b/nixos/modules/services/audio/snapserver.nix new file mode 100644 index 0000000000000000000000000000000000000000..f709dd7fe16bfcb193b5c01acdd6ca178094e31e --- /dev/null +++ b/nixos/modules/services/audio/snapserver.nix @@ -0,0 +1,217 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + package = "snapcast"; + name = "snapserver"; + + cfg = config.services.snapserver; + + # Using types.nullOr to inherit upstream defaults. + sampleFormat = mkOption { + type = with types; nullOr str; + default = null; + description = '' + Default sample format. + ''; + example = "48000:16:2"; + }; + + codec = mkOption { + type = with types; nullOr str; + default = null; + description = '' + Default audio compression method. + ''; + example = "flac"; + }; + + streamToOption = name: opt: + let + os = val: + optionalString (val != null) "${val}"; + os' = prefixx: val: + optionalString (val != null) (prefixx + "${val}"); + flatten = key: value: + "&${key}=${value}"; + in + "-s ${opt.type}://" + os opt.location + "?" + os' "name=" name + + concatStrings (mapAttrsToList flatten opt.query); + + optionalNull = val: ret: + optional (val != null) ret; + + optionString = concatStringsSep " " (mapAttrsToList streamToOption cfg.streams + ++ ["-p ${toString cfg.port}"] + ++ ["--controlPort ${toString cfg.controlPort}"] + ++ optionalNull cfg.sampleFormat "--sampleFormat ${cfg.sampleFormat}" + ++ optionalNull cfg.codec "-c ${cfg.codec}" + ++ optionalNull cfg.streamBuffer "--streamBuffer ${cfg.streamBuffer}" + ++ optionalNull cfg.buffer "-b ${cfg.buffer}" + ++ optional cfg.sendToMuted "--sendToMuted"); + +in { + + ###### interface + + options = { + + services.snapserver = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable snapserver. + ''; + }; + + port = mkOption { + type = types.port; + default = 1704; + description = '' + The port that snapclients can connect to. + ''; + }; + + controlPort = mkOption { + type = types.port; + default = 1705; + description = '' + The port for control connections (JSON-RPC). + ''; + }; + + openFirewall = mkOption { + type = types.bool; + default = true; + description = '' + Whether to automatically open the specified ports in the firewall. + ''; + }; + + inherit sampleFormat; + inherit codec; + + streams = mkOption { + type = with types; attrsOf (submodule { + options = { + location = mkOption { + type = types.path; + description = '' + The location of the pipe. + ''; + }; + type = mkOption { + type = types.enum [ "pipe" "file" "process" "spotify" "airplay" ]; + default = "pipe"; + description = '' + The type of input stream. + ''; + }; + query = mkOption { + type = attrsOf str; + default = {}; + description = '' + Key-value pairs that convey additional parameters about a stream. + ''; + example = literalExample '' + # for type == "pipe": + { + mode = "listen"; + }; + # for type == "process": + { + params = "--param1 --param2"; + logStderr = "true"; + }; + ''; + }; + inherit sampleFormat; + inherit codec; + }; + }); + default = { default = {}; }; + description = '' + The definition for an input source. + ''; + example = literalExample '' + { + mpd = { + type = "pipe"; + location = "/run/snapserver/mpd"; + sampleFormat = "48000:16:2"; + codec = "pcm"; + }; + }; + ''; + }; + + streamBuffer = mkOption { + type = with types; nullOr int; + default = null; + description = '' + Stream read (input) buffer in ms. + ''; + example = 20; + }; + + buffer = mkOption { + type = with types; nullOr int; + default = null; + description = '' + Network buffer in ms. + ''; + example = 1000; + }; + + sendToMuted = mkOption { + type = types.bool; + default = false; + description = '' + Send audio to muted clients. + ''; + }; + }; + + }; + + + ###### implementation + + config = mkIf cfg.enable { + + systemd.services.snapserver = { + after = [ "network.target" ]; + description = "Snapserver"; + wantedBy = [ "multi-user.target" ]; + before = [ "mpd.service" "mopidy.service" ]; + + serviceConfig = { + DynamicUser = true; + ExecStart = "${pkgs.snapcast}/bin/snapserver --daemon ${optionString}"; + Type = "forking"; + LimitRTPRIO = 50; + LimitRTTIME = "infinity"; + NoNewPrivileges = true; + PIDFile = "/run/${name}/pid"; + ProtectKernelTunables = true; + ProtectControlGroups = true; + ProtectKernelModules = true; + RestrictAddressFamilies = "AF_INET AF_INET6 AF_UNIX"; + RestrictNamespaces = true; + RuntimeDirectory = name; + StateDirectory = name; + }; + }; + + networking.firewall.allowedTCPPorts = optionals cfg.openFirewall [ cfg.port cfg.controlPort ]; + }; + + meta = { + maintainers = with maintainers; [ tobim ]; + }; + +} diff --git a/nixos/modules/services/audio/squeezelite.nix b/nixos/modules/services/audio/squeezelite.nix index 57ae385599394dfff178b33b588dc993d9e69bc4..05506f5bcc7ace2f97bfe88ed6a0d350bee5388e 100644 --- a/nixos/modules/services/audio/squeezelite.nix +++ b/nixos/modules/services/audio/squeezelite.nix @@ -3,8 +3,7 @@ with lib; let - - uid = config.ids.uids.squeezelite; + dataDir = "/var/lib/squeezelite"; cfg = config.services.squeezelite; in { @@ -17,14 +16,6 @@ in { enable = mkEnableOption "Squeezelite, a software Squeezebox emulator"; - dataDir = mkOption { - default = "/var/lib/squeezelite"; - type = types.str; - description = '' - The directory where Squeezelite stores its name file. - ''; - }; - extraArguments = mkOption { default = ""; type = types.str; @@ -46,22 +37,14 @@ in { wantedBy = [ "multi-user.target" ]; after = [ "network.target" "sound.target" ]; description = "Software Squeezebox emulator"; - preStart = "mkdir -p ${cfg.dataDir} && chown -R squeezelite ${cfg.dataDir}"; serviceConfig = { - ExecStart = "${pkgs.squeezelite}/bin/squeezelite -N ${cfg.dataDir}/player-name ${cfg.extraArguments}"; - User = "squeezelite"; - PermissionsStartOnly = true; + DynamicUser = true; + ExecStart = "${pkgs.squeezelite}/bin/squeezelite -N ${dataDir}/player-name ${cfg.extraArguments}"; + StateDirectory = builtins.baseNameOf dataDir; + SupplementaryGroups = "audio"; }; }; - users.users.squeezelite= { - inherit uid; - group = "nogroup"; - extraGroups = [ "audio" ]; - description = "Squeezelite user"; - home = "${cfg.dataDir}"; - }; - }; } diff --git a/nixos/modules/services/audio/ympd.nix b/nixos/modules/services/audio/ympd.nix index d34c1c9d83cc23d21f7064dcc8145663597dbcc1..919b766225107b59f3dd04a0c8a4372a62477e6b 100644 --- a/nixos/modules/services/audio/ympd.nix +++ b/nixos/modules/services/audio/ympd.nix @@ -15,7 +15,7 @@ in { enable = mkEnableOption "ympd, the MPD Web GUI"; webPort = mkOption { - type = types.string; + type = types.either types.str types.port; # string for backwards compat default = "8080"; description = "The port where ympd's web interface will be available."; example = "ssl://8080:/path/to/ssl-private-key.pem"; @@ -49,7 +49,7 @@ in { 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"; + serviceConfig.ExecStart = "${pkgs.ympd}/bin/ympd --host ${cfg.mpd.host} --port ${toString cfg.mpd.port} --webport ${toString cfg.webPort} --user nobody"; }; }; diff --git a/nixos/modules/services/backup/automysqlbackup.nix b/nixos/modules/services/backup/automysqlbackup.nix new file mode 100644 index 0000000000000000000000000000000000000000..b845f370fb7067454c22c12738067b31791581dd --- /dev/null +++ b/nixos/modules/services/backup/automysqlbackup.nix @@ -0,0 +1,115 @@ +{ config, lib, pkgs, ... }: + +let + + inherit (lib) concatMapStringsSep concatStringsSep isInt isList literalExample; + inherit (lib) mapAttrs mapAttrsToList mkDefault mkEnableOption mkIf mkOption optional types; + + cfg = config.services.automysqlbackup; + pkg = pkgs.automysqlbackup; + user = "automysqlbackup"; + group = "automysqlbackup"; + + toStr = val: + if isList val then "( ${concatMapStringsSep " " (val: "'${val}'") val} )" + else if isInt val then toString val + else if true == val then "'yes'" + else if false == val then "'no'" + else "'${toString val}'"; + + configFile = pkgs.writeText "automysqlbackup.conf" '' + #version=${pkg.version} + # DONT'T REMOVE THE PREVIOUS VERSION LINE! + # + ${concatStringsSep "\n" (mapAttrsToList (name: value: "CONFIG_${name}=${toStr value}") cfg.config)} + ''; + +in +{ + # interface + options = { + services.automysqlbackup = { + + enable = mkEnableOption "AutoMySQLBackup"; + + calendar = mkOption { + type = types.str; + default = "01:15:00"; + description = '' + Configured when to run the backup service systemd unit (DayOfWeek Year-Month-Day Hour:Minute:Second). + ''; + }; + + config = mkOption { + type = with types; attrsOf (either (either str (either int bool)) (listOf str)); + default = {}; + description = '' + automysqlbackup configuration. Refer to + ''${pkgs.automysqlbackup}/etc/automysqlbackup.conf + for details on supported values. + ''; + example = literalExample '' + { + db_names = [ "nextcloud" "matomo" ]; + table_exclude = [ "nextcloud.oc_users" "nextcloud.oc_whats_new" ]; + mailcontent = "log"; + mail_address = "admin@example.org"; + } + ''; + }; + + }; + }; + + # implementation + config = mkIf cfg.enable { + + assertions = [ + { assertion = !config.services.mysqlBackup.enable; + message = "Please choose one of services.mysqlBackup or services.automysqlbackup."; + } + ]; + + services.automysqlbackup.config = mapAttrs (name: mkDefault) { + mysql_dump_username = user; + mysql_dump_host = "localhost"; + backup_dir = "/var/backup/mysql"; + db_exclude = [ "information_schema" "performance_schema" ]; + mailcontent = "stdout"; + mysql_dump_single_transaction = true; + }; + + systemd.timers.automysqlbackup = { + description = "automysqlbackup timer"; + wantedBy = [ "timers.target" ]; + timerConfig = { + OnCalendar = cfg.calendar; + AccuracySec = "5m"; + }; + }; + + systemd.services.automysqlbackup = { + description = "automysqlbackup service"; + serviceConfig = { + User = user; + Group = group; + ExecStart = "${pkg}/bin/automysqlbackup ${configFile}"; + }; + }; + + environment.systemPackages = [ pkg ]; + + users.users.${user}.group = group; + users.groups.${group} = { }; + + systemd.tmpfiles.rules = [ + "d '${cfg.config.backup_dir}' 0750 ${user} ${group} - -" + ]; + + services.mysql.ensureUsers = optional (config.services.mysql.enable && cfg.config.mysql_dump_host == "localhost") { + name = user; + ensurePermissions = { "*.*" = "SELECT, SHOW VIEW, TRIGGER, LOCK TABLES"; }; + }; + + }; +} diff --git a/nixos/modules/services/backup/bacula.nix b/nixos/modules/services/backup/bacula.nix index a0565ca26204b6c1be1c1f69dacd8517be83821f..41bda7893a757b23672339d36327211a3783e2a5 100644 --- a/nixos/modules/services/backup/bacula.nix +++ b/nixos/modules/services/backup/bacula.nix @@ -15,7 +15,7 @@ let Name = "${fd_cfg.name}"; FDPort = ${toString fd_cfg.port}; WorkingDirectory = "${libDir}"; - Pid Directory = "/var/run"; + Pid Directory = "/run"; ${fd_cfg.extraClientConfig} } @@ -41,7 +41,7 @@ let Name = "${sd_cfg.name}"; SDPort = ${toString sd_cfg.port}; WorkingDirectory = "${libDir}"; - Pid Directory = "/var/run"; + Pid Directory = "/run"; ${sd_cfg.extraStorageConfig} } @@ -77,7 +77,7 @@ let Password = "${dir_cfg.password}"; DirPort = ${toString dir_cfg.port}; Working Directory = "${libDir}"; - Pid Directory = "/var/run/"; + Pid Directory = "/run/"; QueryFile = "${pkgs.bacula}/etc/query.sql"; ${dir_cfg.extraDirectorConfig} } @@ -346,8 +346,12 @@ in { description = "Bacula File Daemon"; wantedBy = [ "multi-user.target" ]; path = [ pkgs.bacula ]; - serviceConfig.ExecStart = "${pkgs.bacula}/sbin/bacula-fd -f -u root -g bacula -c ${fd_conf}"; - serviceConfig.ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + serviceConfig = { + ExecStart = "${pkgs.bacula}/sbin/bacula-fd -f -u root -g bacula -c ${fd_conf}"; + ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + LogsDirectory = "bacula"; + StateDirectory = "bacula"; + }; }; systemd.services.bacula-sd = mkIf sd_cfg.enable { @@ -355,8 +359,12 @@ in { description = "Bacula Storage Daemon"; wantedBy = [ "multi-user.target" ]; path = [ pkgs.bacula ]; - serviceConfig.ExecStart = "${pkgs.bacula}/sbin/bacula-sd -f -u bacula -g bacula -c ${sd_conf}"; - serviceConfig.ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + serviceConfig = { + ExecStart = "${pkgs.bacula}/sbin/bacula-sd -f -u bacula -g bacula -c ${sd_conf}"; + ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + LogsDirectory = "bacula"; + StateDirectory = "bacula"; + }; }; services.postgresql.enable = dir_cfg.enable == true; @@ -366,8 +374,12 @@ in { description = "Bacula Director Daemon"; wantedBy = [ "multi-user.target" ]; path = [ pkgs.bacula ]; - serviceConfig.ExecStart = "${pkgs.bacula}/sbin/bacula-dir -f -u bacula -g bacula -c ${dir_conf}"; - serviceConfig.ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + serviceConfig = { + ExecStart = "${pkgs.bacula}/sbin/bacula-dir -f -u bacula -g bacula -c ${dir_conf}"; + ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + LogsDirectory = "bacula"; + StateDirectory = "bacula"; + }; preStart = '' if ! test -e "${libDir}/db-created"; then ${pkgs.postgresql}/bin/createuser --no-superuser --no-createdb --no-createrole bacula diff --git a/nixos/modules/services/backup/borgbackup.nix b/nixos/modules/services/backup/borgbackup.nix index 415a70ea5ad41e41dbc6f3c70df361d68f32a8ae..2ad116a7872ade8234b6993e82d6d6255b0ec3f0 100644 --- a/nixos/modules/services/backup/borgbackup.nix +++ b/nixos/modules/services/backup/borgbackup.nix @@ -191,10 +191,9 @@ in { options = { paths = mkOption { - type = with types; either path (nonEmptyListOf path); + type = with types; coercedTo str lib.singleton (listOf str); description = "Path(s) to back up."; example = "/home/user"; - apply = x: if isList x then x else [ x ]; }; repo = mkOption { diff --git a/nixos/modules/services/backup/duplicity.nix b/nixos/modules/services/backup/duplicity.nix new file mode 100644 index 0000000000000000000000000000000000000000..a8d5642486235f451141f887e47ed3959bb87060 --- /dev/null +++ b/nixos/modules/services/backup/duplicity.nix @@ -0,0 +1,141 @@ +{ config, lib, pkgs, ...}: + +with lib; + +let + cfg = config.services.duplicity; + + stateDirectory = "/var/lib/duplicity"; + + localTarget = if hasPrefix "file://" cfg.targetUrl + then removePrefix "file://" cfg.targetUrl else null; + +in { + options.services.duplicity = { + enable = mkEnableOption "backups with duplicity"; + + root = mkOption { + type = types.path; + default = "/"; + description = '' + Root directory to backup. + ''; + }; + + include = mkOption { + type = types.listOf types.str; + default = []; + example = [ "/home" ]; + description = '' + List of paths to include into the backups. See the FILE SELECTION + section in duplicity + 1 for details on the syntax. + ''; + }; + + exclude = mkOption { + type = types.listOf types.str; + default = []; + description = '' + List of paths to exclude from backups. See the FILE SELECTION section in + duplicity + 1 for details on the syntax. + ''; + }; + + targetUrl = mkOption { + type = types.str; + example = "s3://host:port/prefix"; + description = '' + Target url to backup to. See the URL FORMAT section in + duplicity + 1 for supported urls. + ''; + }; + + secretFile = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + Path of a file containing secrets (gpg passphrase, access key...) in + the format of EnvironmentFile as described by + systemd.exec + 5. For example: + + PASSPHRASE=... + AWS_ACCESS_KEY_ID=... + AWS_SECRET_ACCESS_KEY=... + + ''; + }; + + frequency = mkOption { + type = types.nullOr types.str; + default = "daily"; + description = '' + Run duplicity with the given frequency (see + systemd.time + 7 for the format). + If null, do not run automatically. + ''; + }; + + extraFlags = mkOption { + type = types.listOf types.str; + default = []; + example = [ "--full-if-older-than" "1M" ]; + description = '' + Extra command-line flags passed to duplicity. See + duplicity + 1. + ''; + }; + }; + + config = mkIf cfg.enable { + systemd = { + services.duplicity = { + description = "backup files with duplicity"; + + environment.HOME = stateDirectory; + + serviceConfig = { + ExecStart = '' + ${pkgs.duplicity}/bin/duplicity ${escapeShellArgs ( + [ + cfg.root + cfg.targetUrl + "--archive-dir" stateDirectory + ] + ++ concatMap (p: [ "--include" p ]) cfg.include + ++ concatMap (p: [ "--exclude" p ]) cfg.exclude + ++ cfg.extraFlags)} + ''; + PrivateTmp = true; + ProtectSystem = "strict"; + ProtectHome = "read-only"; + StateDirectory = baseNameOf stateDirectory; + } // optionalAttrs (localTarget != null) { + ReadWritePaths = localTarget; + } // optionalAttrs (cfg.secretFile != null) { + EnvironmentFile = cfg.secretFile; + }; + } // optionalAttrs (cfg.frequency != null) { + startAt = cfg.frequency; + }; + + tmpfiles.rules = optional (localTarget != null) "d ${localTarget} 0700 root root -"; + }; + + assertions = singleton { + # Duplicity will fail if the last file selection option is an include. It + # is not always possible to detect but this simple case can be caught. + assertion = cfg.include != [] -> cfg.exclude != [] || cfg.extraFlags != []; + message = '' + Duplicity will fail if you only specify included paths ("Because the + default is to include all files, the expression is redundant. Exiting + because this probably isn't what you meant.") + ''; + }; + }; +} diff --git a/nixos/modules/services/backup/mysql-backup.nix b/nixos/modules/services/backup/mysql-backup.nix index f0c273ffebf154d5841a472a4edcfcadf4f8c8b8..ba6e154f6b3d0f4387b4d072b310b0fa22399566 100644 --- a/nixos/modules/services/backup/mysql-backup.nix +++ b/nixos/modules/services/backup/mysql-backup.nix @@ -117,14 +117,12 @@ in enable = true; serviceConfig = { User = cfg.user; - PermissionsStartOnly = true; }; - preStart = '' - mkdir -m 0700 -p ${cfg.location} - chown -R ${cfg.user} ${cfg.location} - ''; script = backupScript; }; + tmpfiles.rules = [ + "d ${cfg.location} 0700 ${cfg.user} - - -" + ]; }; }; diff --git a/nixos/modules/services/backup/postgresql-backup.nix b/nixos/modules/services/backup/postgresql-backup.nix index 2ec78ce6f2cfa2e2ab43d81bc87289a5a35c276b..17b410a97f3ea288a53aa753bd63de67df83569e 100644 --- a/nixos/modules/services/backup/postgresql-backup.nix +++ b/nixos/modules/services/backup/postgresql-backup.nix @@ -6,31 +6,27 @@ let cfg = config.services.postgresqlBackup; - postgresqlBackupService = db : + postgresqlBackupService = db: dumpCmd: { enable = true; - description = "Backup of database ${db}"; + description = "Backup of ${db} database(s)"; requires = [ "postgresql.service" ]; - preStart = '' - mkdir -m 0700 -p ${cfg.location} - chown postgres ${cfg.location} - ''; - script = '' + umask 0077 # ensure backup is only readable by postgres user + if [ -e ${cfg.location}/${db}.sql.gz ]; then ${pkgs.coreutils}/bin/mv ${cfg.location}/${db}.sql.gz ${cfg.location}/${db}.prev.sql.gz fi - ${config.services.postgresql.package}/bin/pg_dump ${cfg.pgdumpOptions} ${db} | \ + ${dumpCmd} | \ ${pkgs.gzip}/bin/gzip -c > ${cfg.location}/${db}.sql.gz ''; serviceConfig = { Type = "oneshot"; - PermissionsStartOnly = "true"; User = "postgres"; }; @@ -40,9 +36,7 @@ let in { options = { - services.postgresqlBackup = { - enable = mkOption { default = false; description = '' @@ -59,6 +53,19 @@ in { ''; }; + backupAll = mkOption { + default = cfg.databases == []; + defaultText = "services.postgresqlBackup.databases == []"; + type = lib.types.bool; + description = '' + Backup all databases using pg_dumpall. + This option is mutual exclusive to + services.postgresqlBackup.databases. + The resulting backup dump will have the name all.sql.gz. + This option is the default if no databases are specified. + ''; + }; + databases = mkOption { default = []; description = '' @@ -77,18 +84,41 @@ in { type = types.string; default = "-Cbo"; description = '' - Command line options for pg_dump. + Command line options for pg_dump. This options is not used + if config.services.postgresqlBackup.backupAll is enabled. + Note that config.services.postgresqlBackup.backupAll is also active, + when no databases where specified. ''; }; }; }; - config = mkIf config.services.postgresqlBackup.enable { - - systemd.services = listToAttrs (map (db : { + config = mkMerge [ + { + assertions = [{ + assertion = cfg.backupAll -> cfg.databases == []; + message = "config.services.postgresqlBackup.backupAll cannot be used together with config.services.postgresqlBackup.databases"; + }]; + } + (mkIf cfg.enable { + systemd.tmpfiles.rules = [ + "d '${cfg.location}' 0700 postgres - - -" + ]; + }) + (mkIf (cfg.enable && cfg.backupAll) { + systemd.services.postgresqlBackup = + postgresqlBackupService "all" "${config.services.postgresql.package}/bin/pg_dumpall"; + }) + (mkIf (cfg.enable && !cfg.backupAll) { + systemd.services = listToAttrs (map (db: + let + cmd = "${config.services.postgresql.package}/bin/pg_dump ${cfg.pgdumpOptions} ${db}"; + in { name = "postgresqlBackup-${db}"; - value = postgresqlBackupService db; } ) cfg.databases); - }; + value = postgresqlBackupService db cmd; + }) cfg.databases); + }) + ]; } diff --git a/nixos/modules/services/backup/restic.nix b/nixos/modules/services/backup/restic.nix index 6ece5a9b5ad632273ac1d4470e98842de9babea9..7e8e91e4b9c386def17bab01e36c89399311f25d 100644 --- a/nixos/modules/services/backup/restic.nix +++ b/nixos/modules/services/backup/restic.nix @@ -1,6 +1,11 @@ { config, lib, pkgs, ... }: with lib; + +let + # Type for a valid systemd unit option. Needed for correctly passing "timerConfig" to "systemd.timers" + unitOption = (import ../../system/boot/systemd-unit-options.nix { inherit config lib; }).unitOption; +in { options.services.restic.backups = mkOption { description = '' @@ -47,7 +52,7 @@ with lib; }; timerConfig = mkOption { - type = types.attrsOf types.str; + type = types.attrsOf unitOption; default = { OnCalendar = "daily"; }; diff --git a/nixos/modules/services/cluster/kubernetes/addon-manager.nix b/nixos/modules/services/cluster/kubernetes/addon-manager.nix new file mode 100644 index 0000000000000000000000000000000000000000..ad7d17c9c283989d69c954581dbd39e7192ebbaf --- /dev/null +++ b/nixos/modules/services/cluster/kubernetes/addon-manager.nix @@ -0,0 +1,242 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + top = config.services.kubernetes; + cfg = top.addonManager; + + isRBACEnabled = elem "RBAC" top.apiserver.authorizationMode; + + addons = pkgs.runCommand "kubernetes-addons" { } '' + mkdir -p $out + # since we are mounting the addons to the addon manager, they need to be copied + ${concatMapStringsSep ";" (a: "cp -v ${a}/* $out/") (mapAttrsToList (name: addon: + pkgs.writeTextDir "${name}.json" (builtins.toJSON addon) + ) (cfg.addons))} + ''; +in +{ + ###### interface + options.services.kubernetes.addonManager = with lib.types; { + + bootstrapAddons = mkOption { + description = '' + Bootstrap addons are like regular addons, but they are applied with cluster-admin rigths. + They are applied at addon-manager startup only. + ''; + default = { }; + type = attrsOf attrs; + example = literalExample '' + { + "my-service" = { + "apiVersion" = "v1"; + "kind" = "Service"; + "metadata" = { + "name" = "my-service"; + "namespace" = "default"; + }; + "spec" = { ... }; + }; + } + ''; + }; + + addons = mkOption { + description = "Kubernetes addons (any kind of Kubernetes resource can be an addon)."; + default = { }; + type = attrsOf (either attrs (listOf attrs)); + example = literalExample '' + { + "my-service" = { + "apiVersion" = "v1"; + "kind" = "Service"; + "metadata" = { + "name" = "my-service"; + "namespace" = "default"; + }; + "spec" = { ... }; + }; + } + // import { cfg = config.services.kubernetes; }; + ''; + }; + + enable = mkEnableOption "Kubernetes addon manager"; + + kubeconfig = top.lib.mkKubeConfigOptions "Kubernetes addon manager"; + bootstrapAddonsKubeconfig = top.lib.mkKubeConfigOptions "Kubernetes addon manager bootstrap"; + }; + + ###### implementation + config = let + + addonManagerPaths = filter (a: a != null) [ + cfg.kubeconfig.caFile + cfg.kubeconfig.certFile + cfg.kubeconfig.keyFile + ]; + bootstrapAddonsPaths = filter (a: a != null) [ + cfg.bootstrapAddonsKubeconfig.caFile + cfg.bootstrapAddonsKubeconfig.certFile + cfg.bootstrapAddonsKubeconfig.keyFile + ]; + + in mkIf cfg.enable { + environment.etc."kubernetes/addons".source = "${addons}/"; + + #TODO: Get rid of kube-addon-manager in the future for the following reasons + # - it is basically just a shell script wrapped around kubectl + # - it assumes that it is clusterAdmin or can gain clusterAdmin rights through serviceAccount + # - it is designed to be used with k8s system components only + # - it would be better with a more Nix-oriented way of managing addons + systemd.services.kube-addon-manager = { + description = "Kubernetes addon manager"; + wantedBy = [ "kubernetes.target" ]; + after = [ "kube-node-online.target" ]; + before = [ "kubernetes.target" ]; + environment = { + ADDON_PATH = "/etc/kubernetes/addons/"; + KUBECONFIG = top.lib.mkKubeConfig "kube-addon-manager" cfg.kubeconfig; + }; + path = with pkgs; [ gawk kubectl ]; + preStart = '' + until kubectl -n kube-system get serviceaccounts/default 2>/dev/null; do + echo kubectl -n kube-system get serviceaccounts/default: exit status $? + sleep 2 + done + ''; + serviceConfig = { + Slice = "kubernetes.slice"; + ExecStart = "${top.package}/bin/kube-addons"; + WorkingDirectory = top.dataDir; + User = "kubernetes"; + Group = "kubernetes"; + Restart = "on-failure"; + RestartSec = 10; + }; + unitConfig.ConditionPathExists = addonManagerPaths; + }; + + systemd.paths.kube-addon-manager = { + wantedBy = [ "kube-addon-manager.service" ]; + pathConfig = { + PathExists = addonManagerPaths; + PathChanged = addonManagerPaths; + }; + }; + + services.kubernetes.addonManager.kubeconfig.server = mkDefault top.apiserverAddress; + + systemd.services.kube-addon-manager-bootstrap = mkIf (top.apiserver.enable && top.addonManager.bootstrapAddons != {}) { + wantedBy = [ "kube-control-plane-online.target" ]; + after = [ "kube-apiserver.service" ]; + before = [ "kube-control-plane-online.target" ]; + path = [ pkgs.kubectl ]; + environment = { + KUBECONFIG = top.lib.mkKubeConfig "kube-addon-manager-bootstrap" cfg.bootstrapAddonsKubeconfig; + }; + preStart = with pkgs; let + files = mapAttrsToList (n: v: writeText "${n}.json" (builtins.toJSON v)) + cfg.bootstrapAddons; + in '' + until kubectl auth can-i '*' '*' -q 2>/dev/null; do + echo kubectl auth can-i '*' '*': exit status $? + sleep 2 + done + + kubectl apply -f ${concatStringsSep " \\\n -f " files} + ''; + script = "echo Ok"; + unitConfig.ConditionPathExists = bootstrapAddonsPaths; + }; + + systemd.paths.kube-addon-manager-bootstrap = { + wantedBy = [ "kube-addon-manager-bootstrap.service" ]; + pathConfig = { + PathExists = bootstrapAddonsPaths; + PathChanged = bootstrapAddonsPaths; + }; + }; + + services.kubernetes.addonManager.bootstrapAddonsKubeconfig.server = mkDefault top.apiserverAddress; + + services.kubernetes.addonManager.bootstrapAddons = mkIf isRBACEnabled + (let + name = system:kube-addon-manager; + namespace = "kube-system"; + in + { + + kube-addon-manager-r = { + apiVersion = "rbac.authorization.k8s.io/v1"; + kind = "Role"; + metadata = { + inherit name namespace; + }; + rules = [{ + apiGroups = ["*"]; + resources = ["*"]; + verbs = ["*"]; + }]; + }; + + kube-addon-manager-rb = { + apiVersion = "rbac.authorization.k8s.io/v1"; + kind = "RoleBinding"; + metadata = { + inherit name namespace; + }; + roleRef = { + apiGroup = "rbac.authorization.k8s.io"; + kind = "Role"; + inherit name; + }; + subjects = [{ + apiGroup = "rbac.authorization.k8s.io"; + kind = "User"; + inherit name; + }]; + }; + + kube-addon-manager-cluster-lister-cr = { + apiVersion = "rbac.authorization.k8s.io/v1"; + kind = "ClusterRole"; + metadata = { + name = "${name}:cluster-lister"; + }; + rules = [{ + apiGroups = ["*"]; + resources = ["*"]; + verbs = ["list"]; + }]; + }; + + kube-addon-manager-cluster-lister-crb = { + apiVersion = "rbac.authorization.k8s.io/v1"; + kind = "ClusterRoleBinding"; + metadata = { + name = "${name}:cluster-lister"; + }; + roleRef = { + apiGroup = "rbac.authorization.k8s.io"; + kind = "ClusterRole"; + name = "${name}:cluster-lister"; + }; + subjects = [{ + kind = "User"; + inherit name; + }]; + }; + }); + + services.kubernetes.pki.certs = { + addonManager = top.lib.mkCert { + name = "kube-addon-manager"; + CN = "system:kube-addon-manager"; + action = "systemctl restart kube-addon-manager.service"; + }; + }; + }; + +} diff --git a/nixos/modules/services/cluster/kubernetes/dashboard.nix b/nixos/modules/services/cluster/kubernetes/addons/dashboard.nix similarity index 94% rename from nixos/modules/services/cluster/kubernetes/dashboard.nix rename to nixos/modules/services/cluster/kubernetes/addons/dashboard.nix index cbd6e8f7bf733d2d03fb68cfc5695a4c7a77ed62..2295694ffc740072aaad095b5f3985a26f7c3ee3 100644 --- a/nixos/modules/services/cluster/kubernetes/dashboard.nix +++ b/nixos/modules/services/cluster/kubernetes/addons/dashboard.nix @@ -8,6 +8,13 @@ in { options.services.kubernetes.addons.dashboard = { enable = mkEnableOption "kubernetes dashboard addon"; + extraArgs = mkOption { + description = "Extra arguments to append to the dashboard cmdline"; + type = types.listOf types.str; + default = []; + example = ["--enable-skip-login"]; + }; + rbac = mkOption { description = "Role-based access control (RBAC) options"; default = {}; @@ -31,7 +38,7 @@ in { version = mkOption { description = "Which version of the kubernetes dashboard to deploy"; type = types.str; - default = "v1.8.3"; + default = "v1.10.1"; }; image = mkOption { @@ -39,9 +46,9 @@ in { type = types.attrs; default = { imageName = "k8s.gcr.io/kubernetes-dashboard-amd64"; - imageDigest = "sha256:dc4026c1b595435ef5527ca598e1e9c4343076926d7d62b365c44831395adbd0"; + imageDigest = "sha256:0ae6b69432e78069c5ce2bcde0fe409c5c4d6f0f4d9cd50a17974fea38898747"; finalImageTag = cfg.version; - sha256 = "18ajcg0q1vignfjk2sm4xj4wzphfz8wah69ps8dklqfvv0164mc8"; + sha256 = "01xrr4pwgr2hcjrjsi3d14ifpzdfbxzqpzxbk2fkbjb9zkv38zxy"; }; }; }; @@ -99,7 +106,7 @@ in { memory = "100Mi"; }; }; - args = ["--auto-generate-certificates"]; + args = ["--auto-generate-certificates"] ++ cfg.extraArgs; volumeMounts = [{ name = "tmp-volume"; mountPath = "/tmp"; @@ -162,6 +169,23 @@ in { }; }; + kubernetes-dashboard-cm = { + apiVersion = "v1"; + kind = "ConfigMap"; + metadata = { + labels = { + k8s-app = "kubernetes-dashboard"; + # Allows editing resource and makes sure it is created first. + "addonmanager.kubernetes.io/mode" = "EnsureExists"; + }; + name = "kubernetes-dashboard-settings"; + namespace = "kube-system"; + }; + }; + }; + + services.kubernetes.addonManager.bootstrapAddons = mkMerge [{ + kubernetes-dashboard-sa = { apiVersion = "v1"; kind = "ServiceAccount"; @@ -203,20 +227,9 @@ in { }; type = "Opaque"; }; - kubernetes-dashboard-cm = { - apiVersion = "v1"; - kind = "ConfigMap"; - metadata = { - labels = { - k8s-app = "kubernetes-dashboard"; - # Allows editing resource and makes sure it is created first. - "addonmanager.kubernetes.io/mode" = "EnsureExists"; - }; - name = "kubernetes-dashboard-settings"; - namespace = "kube-system"; - }; - }; - } // (optionalAttrs cfg.rbac.enable + } + + (optionalAttrs cfg.rbac.enable (let subjects = [{ kind = "ServiceAccount"; @@ -316,6 +329,6 @@ in { inherit subjects; }; }) - )); + ))]; }; } diff --git a/nixos/modules/services/cluster/kubernetes/addons/dns.nix b/nixos/modules/services/cluster/kubernetes/addons/dns.nix new file mode 100644 index 0000000000000000000000000000000000000000..4368159ea6e3bd0e1d9290155a562685496cd2db --- /dev/null +++ b/nixos/modules/services/cluster/kubernetes/addons/dns.nix @@ -0,0 +1,334 @@ +{ config, pkgs, lib, ... }: + +with lib; + +let + version = "1.3.1"; + cfg = config.services.kubernetes.addons.dns; + ports = { + dns = 10053; + health = 10054; + metrics = 10055; + }; +in { + options.services.kubernetes.addons.dns = { + enable = mkEnableOption "kubernetes dns addon"; + + clusterIp = mkOption { + description = "Dns addon clusterIP"; + + # this default is also what kubernetes users + default = ( + concatStringsSep "." ( + take 3 (splitString "." config.services.kubernetes.apiserver.serviceClusterIpRange + )) + ) + ".254"; + type = types.str; + }; + + clusterDomain = mkOption { + description = "Dns cluster domain"; + default = "cluster.local"; + type = types.str; + }; + + replicas = mkOption { + description = "Number of DNS pod replicas to deploy in the cluster."; + default = 2; + type = types.int; + }; + + reconcileMode = mkOption { + description = '' + Controls the addon manager reconciliation mode for the DNS addon. + + Setting reconcile mode to EnsureExists makes it possible to tailor DNS behavior by editing the coredns ConfigMap. + + See: . + ''; + default = "Reconcile"; + type = types.enum [ "Reconcile" "EnsureExists" ]; + }; + + coredns = mkOption { + description = "Docker image to seed for the CoreDNS container."; + type = types.attrs; + default = { + imageName = "coredns/coredns"; + imageDigest = "sha256:02382353821b12c21b062c59184e227e001079bb13ebd01f9d3270ba0fcbf1e4"; + finalImageTag = version; + sha256 = "0vbylgyxv2jm2mnzk6f28jbsj305zsxmx3jr6ngjq461czcl5fi5"; + }; + }; + }; + + config = mkIf cfg.enable { + services.kubernetes.kubelet.seedDockerImages = + singleton (pkgs.dockerTools.pullImage cfg.coredns); + + services.kubernetes.addonManager.bootstrapAddons = { + coredns-cr = { + apiVersion = "rbac.authorization.k8s.io/v1beta1"; + kind = "ClusterRole"; + metadata = { + labels = { + "addonmanager.kubernetes.io/mode" = "Reconcile"; + "k8s-app" = "kube-dns"; + "kubernetes.io/cluster-service" = "true"; + "kubernetes.io/bootstrapping" = "rbac-defaults"; + }; + name = "system:coredns"; + }; + rules = [ + { + apiGroups = [ "" ]; + resources = [ "endpoints" "services" "pods" "namespaces" ]; + verbs = [ "list" "watch" ]; + } + { + apiGroups = [ "" ]; + resources = [ "nodes" ]; + verbs = [ "get" ]; + } + ]; + }; + + coredns-crb = { + apiVersion = "rbac.authorization.k8s.io/v1beta1"; + kind = "ClusterRoleBinding"; + metadata = { + annotations = { + "rbac.authorization.kubernetes.io/autoupdate" = "true"; + }; + labels = { + "addonmanager.kubernetes.io/mode" = "Reconcile"; + "k8s-app" = "kube-dns"; + "kubernetes.io/cluster-service" = "true"; + "kubernetes.io/bootstrapping" = "rbac-defaults"; + }; + name = "system:coredns"; + }; + roleRef = { + apiGroup = "rbac.authorization.k8s.io"; + kind = "ClusterRole"; + name = "system:coredns"; + }; + subjects = [ + { + kind = "ServiceAccount"; + name = "coredns"; + namespace = "kube-system"; + } + ]; + }; + }; + + services.kubernetes.addonManager.addons = { + coredns-sa = { + apiVersion = "v1"; + kind = "ServiceAccount"; + metadata = { + labels = { + "addonmanager.kubernetes.io/mode" = "Reconcile"; + "k8s-app" = "kube-dns"; + "kubernetes.io/cluster-service" = "true"; + }; + name = "coredns"; + namespace = "kube-system"; + }; + }; + + coredns-cm = { + apiVersion = "v1"; + kind = "ConfigMap"; + metadata = { + labels = { + "addonmanager.kubernetes.io/mode" = cfg.reconcileMode; + "k8s-app" = "kube-dns"; + "kubernetes.io/cluster-service" = "true"; + }; + name = "coredns"; + namespace = "kube-system"; + }; + data = { + Corefile = ".:${toString ports.dns} { + errors + health :${toString ports.health} + kubernetes ${cfg.clusterDomain} in-addr.arpa ip6.arpa { + pods insecure + upstream + fallthrough in-addr.arpa ip6.arpa + } + prometheus :${toString ports.metrics} + proxy . /etc/resolv.conf + cache 30 + loop + reload + loadbalance + }"; + }; + }; + + coredns-deploy = { + apiVersion = "extensions/v1beta1"; + kind = "Deployment"; + metadata = { + labels = { + "addonmanager.kubernetes.io/mode" = cfg.reconcileMode; + "k8s-app" = "kube-dns"; + "kubernetes.io/cluster-service" = "true"; + "kubernetes.io/name" = "CoreDNS"; + }; + name = "coredns"; + namespace = "kube-system"; + }; + spec = { + replicas = cfg.replicas; + selector = { + matchLabels = { k8s-app = "kube-dns"; }; + }; + strategy = { + rollingUpdate = { maxUnavailable = 1; }; + type = "RollingUpdate"; + }; + template = { + metadata = { + labels = { + k8s-app = "kube-dns"; + }; + }; + spec = { + containers = [ + { + args = [ "-conf" "/etc/coredns/Corefile" ]; + image = with cfg.coredns; "${imageName}:${finalImageTag}"; + imagePullPolicy = "Never"; + livenessProbe = { + failureThreshold = 5; + httpGet = { + path = "/health"; + port = ports.health; + scheme = "HTTP"; + }; + initialDelaySeconds = 60; + successThreshold = 1; + timeoutSeconds = 5; + }; + name = "coredns"; + ports = [ + { + containerPort = ports.dns; + name = "dns"; + protocol = "UDP"; + } + { + containerPort = ports.dns; + name = "dns-tcp"; + protocol = "TCP"; + } + { + containerPort = ports.metrics; + name = "metrics"; + protocol = "TCP"; + } + ]; + resources = { + limits = { + memory = "170Mi"; + }; + requests = { + cpu = "100m"; + memory = "70Mi"; + }; + }; + securityContext = { + allowPrivilegeEscalation = false; + capabilities = { + drop = [ "all" ]; + }; + readOnlyRootFilesystem = true; + }; + volumeMounts = [ + { + mountPath = "/etc/coredns"; + name = "config-volume"; + readOnly = true; + } + ]; + } + ]; + dnsPolicy = "Default"; + nodeSelector = { + "beta.kubernetes.io/os" = "linux"; + }; + serviceAccountName = "coredns"; + tolerations = [ + { + effect = "NoSchedule"; + key = "node-role.kubernetes.io/master"; + } + { + key = "CriticalAddonsOnly"; + operator = "Exists"; + } + ]; + volumes = [ + { + configMap = { + items = [ + { + key = "Corefile"; + path = "Corefile"; + } + ]; + name = "coredns"; + }; + name = "config-volume"; + } + ]; + }; + }; + }; + }; + + coredns-svc = { + apiVersion = "v1"; + kind = "Service"; + metadata = { + annotations = { + "prometheus.io/port" = toString ports.metrics; + "prometheus.io/scrape" = "true"; + }; + labels = { + "addonmanager.kubernetes.io/mode" = "Reconcile"; + "k8s-app" = "kube-dns"; + "kubernetes.io/cluster-service" = "true"; + "kubernetes.io/name" = "CoreDNS"; + }; + name = "kube-dns"; + namespace = "kube-system"; + }; + spec = { + clusterIP = cfg.clusterIp; + ports = [ + { + name = "dns"; + port = 53; + targetPort = ports.dns; + protocol = "UDP"; + } + { + name = "dns-tcp"; + port = 53; + targetPort = ports.dns; + protocol = "TCP"; + } + ]; + selector = { k8s-app = "kube-dns"; }; + }; + }; + }; + + services.kubernetes.kubelet.clusterDns = mkDefault cfg.clusterIp; + }; +} diff --git a/nixos/modules/services/cluster/kubernetes/apiserver.nix b/nixos/modules/services/cluster/kubernetes/apiserver.nix new file mode 100644 index 0000000000000000000000000000000000000000..0c04648355b42dfb62c1b6a488685316a7b5535e --- /dev/null +++ b/nixos/modules/services/cluster/kubernetes/apiserver.nix @@ -0,0 +1,491 @@ + { config, lib, pkgs, ... }: + +with lib; + +let + top = config.services.kubernetes; + cfg = top.apiserver; + + isRBACEnabled = elem "RBAC" cfg.authorizationMode; + + apiserverServiceIP = (concatStringsSep "." ( + take 3 (splitString "." cfg.serviceClusterIpRange + )) + ".1"); +in +{ + ###### interface + options.services.kubernetes.apiserver = with lib.types; { + + 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 = nullOr str; + }; + + allowPrivileged = mkOption { + description = "Whether to allow privileged containers on Kubernetes."; + default = false; + type = bool; + }; + + authorizationMode = mkOption { + description = '' + Kubernetes apiserver authorization mode (AlwaysAllow/AlwaysDeny/ABAC/Webhook/RBAC/Node). See + + ''; + default = ["RBAC" "Node"]; # Enabling RBAC by default, although kubernetes default is AllowAllow + type = listOf (enum ["AlwaysAllow" "AlwaysDeny" "ABAC" "Webhook" "RBAC" "Node"]); + }; + + authorizationPolicy = mkOption { + description = '' + Kubernetes apiserver authorization policy file. See + + ''; + default = []; + type = listOf attrs; + }; + + basicAuthFile = mkOption { + description = '' + Kubernetes apiserver basic authentication file. See + + ''; + default = null; + type = nullOr path; + }; + + bindAddress = mkOption { + description = '' + The IP address on which to listen for the --secure-port port. + The associated interface(s) must be reachable by the rest + of the cluster, and by CLI/web clients. + ''; + default = "0.0.0.0"; + type = str; + }; + + clientCaFile = mkOption { + description = "Kubernetes apiserver CA file for client auth."; + default = top.caFile; + type = nullOr path; + }; + + disableAdmissionPlugins = mkOption { + description = '' + Kubernetes admission control plugins to disable. See + + ''; + default = []; + type = listOf str; + }; + + enable = mkEnableOption "Kubernetes apiserver"; + + enableAdmissionPlugins = mkOption { + description = '' + Kubernetes admission control plugins to enable. See + + ''; + default = [ + "NamespaceLifecycle" "LimitRanger" "ServiceAccount" + "ResourceQuota" "DefaultStorageClass" "DefaultTolerationSeconds" + "NodeRestriction" + ]; + example = [ + "NamespaceLifecycle" "NamespaceExists" "LimitRanger" + "SecurityContextDeny" "ServiceAccount" "ResourceQuota" + "PodSecurityPolicy" "NodeRestriction" "DefaultStorageClass" + ]; + type = listOf str; + }; + + etcd = { + servers = mkOption { + description = "List of etcd servers."; + 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 = top.caFile; + type = types.nullOr types.path; + }; + }; + + extraOpts = mkOption { + description = "Kubernetes apiserver extra command line options."; + default = ""; + type = str; + }; + + extraSANs = mkOption { + description = "Extra x509 Subject Alternative Names to be added to the kubernetes apiserver tls cert."; + default = []; + type = listOf str; + }; + + featureGates = mkOption { + description = "List set of feature gates"; + default = top.featureGates; + type = listOf str; + }; + + insecureBindAddress = mkOption { + description = "The IP address on which to serve the --insecure-port."; + default = "127.0.0.1"; + type = str; + }; + + insecurePort = mkOption { + description = "Kubernetes apiserver insecure listening port. (0 = disabled)"; + default = 0; + type = int; + }; + + kubeletClientCaFile = mkOption { + description = "Path to a cert file for connecting to kubelet."; + default = top.caFile; + type = nullOr path; + }; + + kubeletClientCertFile = mkOption { + description = "Client certificate to use for connections to kubelet."; + default = null; + type = nullOr path; + }; + + kubeletClientKeyFile = mkOption { + description = "Key to use for connections to kubelet."; + default = null; + type = nullOr path; + }; + + kubeletHttps = mkOption { + description = "Whether to use https for connections to kubelet."; + default = true; + type = bool; + }; + + proxyClientCertFile = mkOption { + description = "Client certificate to use for connections to proxy."; + default = null; + type = nullOr path; + }; + + proxyClientKeyFile = mkOption { + description = "Key to use for connections to proxy."; + default = null; + type = nullOr path; + }; + + runtimeConfig = mkOption { + description = '' + Api runtime configuration. See + + ''; + default = "authentication.k8s.io/v1beta1=true"; + example = "api/all=false,api/v1=true"; + type = str; + }; + + storageBackend = mkOption { + description = '' + Kubernetes apiserver storage backend. + ''; + default = "etcd3"; + type = enum ["etcd2" "etcd3"]; + }; + + securePort = mkOption { + description = "Kubernetes apiserver secure port."; + default = 6443; + type = int; + }; + + serviceAccountKeyFile = mkOption { + description = '' + Kubernetes apiserver PEM-encoded x509 RSA private or public key file, + used to verify ServiceAccount tokens. By default tls private key file + is used. + ''; + default = null; + type = nullOr path; + }; + + serviceClusterIpRange = mkOption { + description = '' + A CIDR notation IP range from which to assign service cluster IPs. + This must not overlap with any IP ranges assigned to nodes for pods. + ''; + default = "10.0.0.0/24"; + type = str; + }; + + tlsCertFile = mkOption { + description = "Kubernetes apiserver certificate file."; + default = null; + type = nullOr path; + }; + + tlsKeyFile = mkOption { + description = "Kubernetes apiserver private key file."; + default = null; + type = nullOr path; + }; + + tokenAuthFile = mkOption { + description = '' + Kubernetes apiserver token authentication file. See + + ''; + default = null; + type = nullOr path; + }; + + verbosity = mkOption { + description = '' + Optional glog verbosity level for logging statements. See + + ''; + default = null; + type = nullOr int; + }; + + webhookConfig = mkOption { + description = '' + Kubernetes apiserver Webhook config file. It uses the kubeconfig file format. + See + ''; + default = null; + type = nullOr path; + }; + + }; + + + ###### implementation + config = mkMerge [ + + (let + + apiserverPaths = filter (a: a != null) [ + cfg.clientCaFile + cfg.etcd.caFile + cfg.etcd.certFile + cfg.etcd.keyFile + cfg.kubeletClientCaFile + cfg.kubeletClientCertFile + cfg.kubeletClientKeyFile + cfg.serviceAccountKeyFile + cfg.tlsCertFile + cfg.tlsKeyFile + ]; + etcdPaths = filter (a: a != null) [ + config.services.etcd.trustedCaFile + config.services.etcd.certFile + config.services.etcd.keyFile + ]; + + in mkIf cfg.enable { + systemd.services.kube-apiserver = { + description = "Kubernetes APIServer Service"; + wantedBy = [ "kube-control-plane-online.target" ]; + after = [ "certmgr.service" ]; + before = [ "kube-control-plane-online.target" ]; + serviceConfig = { + Slice = "kubernetes.slice"; + ExecStart = ''${top.package}/bin/kube-apiserver \ + --allow-privileged=${boolToString cfg.allowPrivileged} \ + --authorization-mode=${concatStringsSep "," cfg.authorizationMode} \ + ${optionalString (elem "ABAC" cfg.authorizationMode) + "--authorization-policy-file=${ + pkgs.writeText "kube-auth-policy.jsonl" + (concatMapStringsSep "\n" (l: builtins.toJSON l) cfg.authorizationPolicy) + }" + } \ + ${optionalString (elem "Webhook" cfg.authorizationMode) + "--authorization-webhook-config-file=${cfg.webhookConfig}" + } \ + --bind-address=${cfg.bindAddress} \ + ${optionalString (cfg.advertiseAddress != null) + "--advertise-address=${cfg.advertiseAddress}"} \ + ${optionalString (cfg.clientCaFile != null) + "--client-ca-file=${cfg.clientCaFile}"} \ + --disable-admission-plugins=${concatStringsSep "," cfg.disableAdmissionPlugins} \ + --enable-admission-plugins=${concatStringsSep "," cfg.enableAdmissionPlugins} \ + --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}"} \ + ${optionalString (cfg.featureGates != []) + "--feature-gates=${concatMapStringsSep "," (feature: "${feature}=true") cfg.featureGates}"} \ + ${optionalString (cfg.basicAuthFile != null) + "--basic-auth-file=${cfg.basicAuthFile}"} \ + --kubelet-https=${boolToString cfg.kubeletHttps} \ + ${optionalString (cfg.kubeletClientCaFile != null) + "--kubelet-certificate-authority=${cfg.kubeletClientCaFile}"} \ + ${optionalString (cfg.kubeletClientCertFile != null) + "--kubelet-client-certificate=${cfg.kubeletClientCertFile}"} \ + ${optionalString (cfg.kubeletClientKeyFile != null) + "--kubelet-client-key=${cfg.kubeletClientKeyFile}"} \ + ${optionalString (cfg.proxyClientCertFile != null) + "--proxy-client-cert-file=${cfg.proxyClientCertFile}"} \ + ${optionalString (cfg.proxyClientKeyFile != null) + "--proxy-client-key-file=${cfg.proxyClientKeyFile}"} \ + --insecure-bind-address=${cfg.insecureBindAddress} \ + --insecure-port=${toString cfg.insecurePort} \ + ${optionalString (cfg.runtimeConfig != "") + "--runtime-config=${cfg.runtimeConfig}"} \ + --secure-port=${toString cfg.securePort} \ + ${optionalString (cfg.serviceAccountKeyFile!=null) + "--service-account-key-file=${cfg.serviceAccountKeyFile}"} \ + --service-cluster-ip-range=${cfg.serviceClusterIpRange} \ + --storage-backend=${cfg.storageBackend} \ + ${optionalString (cfg.tlsCertFile != null) + "--tls-cert-file=${cfg.tlsCertFile}"} \ + ${optionalString (cfg.tlsKeyFile != null) + "--tls-private-key-file=${cfg.tlsKeyFile}"} \ + ${optionalString (cfg.tokenAuthFile != null) + "--token-auth-file=${cfg.tokenAuthFile}"} \ + ${optionalString (cfg.verbosity != null) "--v=${toString cfg.verbosity}"} \ + ${cfg.extraOpts} + ''; + WorkingDirectory = top.dataDir; + User = "kubernetes"; + Group = "kubernetes"; + AmbientCapabilities = "cap_net_bind_service"; + Restart = "on-failure"; + RestartSec = 5; + }; + unitConfig.ConditionPathExists = apiserverPaths; + }; + + systemd.paths.kube-apiserver = mkIf top.apiserver.enable { + wantedBy = [ "kube-apiserver.service" ]; + pathConfig = { + PathExists = apiserverPaths; + PathChanged = apiserverPaths; + }; + }; + + services.etcd = { + clientCertAuth = mkDefault true; + peerClientCertAuth = mkDefault true; + listenClientUrls = mkDefault ["https://0.0.0.0:2379"]; + listenPeerUrls = mkDefault ["https://0.0.0.0:2380"]; + advertiseClientUrls = mkDefault ["https://${top.masterAddress}:2379"]; + initialCluster = mkDefault ["${top.masterAddress}=https://${top.masterAddress}:2380"]; + name = mkDefault top.masterAddress; + initialAdvertisePeerUrls = mkDefault ["https://${top.masterAddress}:2380"]; + }; + + systemd.services.etcd = { + unitConfig.ConditionPathExists = etcdPaths; + }; + + systemd.paths.etcd = { + wantedBy = [ "etcd.service" ]; + pathConfig = { + PathExists = etcdPaths; + PathChanged = etcdPaths; + }; + }; + + services.kubernetes.addonManager.bootstrapAddons = mkIf isRBACEnabled { + + apiserver-kubelet-api-admin-crb = { + apiVersion = "rbac.authorization.k8s.io/v1"; + kind = "ClusterRoleBinding"; + metadata = { + name = "system:kube-apiserver:kubelet-api-admin"; + }; + roleRef = { + apiGroup = "rbac.authorization.k8s.io"; + kind = "ClusterRole"; + name = "system:kubelet-api-admin"; + }; + subjects = [{ + kind = "User"; + name = "system:kube-apiserver"; + }]; + }; + + }; + + services.kubernetes.pki.certs = with top.lib; { + apiServer = mkCert { + name = "kube-apiserver"; + CN = "kubernetes"; + hosts = [ + "kubernetes.default.svc" + "kubernetes.default.svc.${top.addons.dns.clusterDomain}" + cfg.advertiseAddress + top.masterAddress + apiserverServiceIP + "127.0.0.1" + ] ++ cfg.extraSANs; + action = "systemctl restart kube-apiserver.service"; + }; + apiserverProxyClient = mkCert { + name = "kube-apiserver-proxy-client"; + CN = "front-proxy-client"; + action = "systemctl restart kube-apiserver.service"; + }; + apiserverKubeletClient = mkCert { + name = "kube-apiserver-kubelet-client"; + CN = "system:kube-apiserver"; + action = "systemctl restart kube-apiserver.service"; + }; + apiserverEtcdClient = mkCert { + name = "kube-apiserver-etcd-client"; + CN = "etcd-client"; + action = "systemctl restart kube-apiserver.service"; + }; + clusterAdmin = mkCert { + name = "cluster-admin"; + CN = "cluster-admin"; + fields = { + O = "system:masters"; + }; + privateKeyOwner = "root"; + }; + etcd = mkCert { + name = "etcd"; + CN = top.masterAddress; + hosts = [ + "etcd.local" + "etcd.${top.addons.dns.clusterDomain}" + top.masterAddress + cfg.advertiseAddress + ]; + privateKeyOwner = "etcd"; + action = "systemctl restart etcd.service"; + }; + }; + + }) + + ]; + +} diff --git a/nixos/modules/services/cluster/kubernetes/controller-manager.nix b/nixos/modules/services/cluster/kubernetes/controller-manager.nix new file mode 100644 index 0000000000000000000000000000000000000000..b94e8bd86d4c0596d602d74f60f7d1732ac16b51 --- /dev/null +++ b/nixos/modules/services/cluster/kubernetes/controller-manager.nix @@ -0,0 +1,191 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + top = config.services.kubernetes; + cfg = top.controllerManager; +in +{ + ###### interface + options.services.kubernetes.controllerManager = with lib.types; { + + allocateNodeCIDRs = mkOption { + description = "Whether to automatically allocate CIDR ranges for cluster nodes."; + default = true; + type = bool; + }; + + bindAddress = mkOption { + description = "Kubernetes controller manager listening address."; + default = "127.0.0.1"; + type = str; + }; + + clusterCidr = mkOption { + description = "Kubernetes CIDR Range for Pods in cluster."; + default = top.clusterCidr; + type = str; + }; + + enable = mkEnableOption "Kubernetes controller manager"; + + extraOpts = mkOption { + description = "Kubernetes controller manager extra command line options."; + default = ""; + type = str; + }; + + featureGates = mkOption { + description = "List set of feature gates"; + default = top.featureGates; + type = listOf str; + }; + + insecurePort = mkOption { + description = "Kubernetes controller manager insecure listening port."; + default = 0; + type = int; + }; + + kubeconfig = top.lib.mkKubeConfigOptions "Kubernetes controller manager"; + + leaderElect = mkOption { + description = "Whether to start leader election before executing main loop."; + type = bool; + default = true; + }; + + rootCaFile = mkOption { + description = '' + Kubernetes controller manager certificate authority file included in + service account's token secret. + ''; + default = top.caFile; + type = nullOr path; + }; + + securePort = mkOption { + description = "Kubernetes controller manager secure listening port."; + default = 10252; + type = int; + }; + + serviceAccountKeyFile = mkOption { + description = '' + Kubernetes controller manager PEM-encoded private RSA key file used to + sign service account tokens + ''; + default = null; + type = nullOr path; + }; + + tlsCertFile = mkOption { + description = "Kubernetes controller-manager certificate file."; + default = null; + type = nullOr path; + }; + + tlsKeyFile = mkOption { + description = "Kubernetes controller-manager private key file."; + default = null; + type = nullOr path; + }; + + verbosity = mkOption { + description = '' + Optional glog verbosity level for logging statements. See + + ''; + default = null; + type = nullOr int; + }; + + }; + + ###### implementation + config = let + + controllerManagerPaths = filter (a: a != null) [ + cfg.kubeconfig.caFile + cfg.kubeconfig.certFile + cfg.kubeconfig.keyFile + cfg.rootCaFile + cfg.serviceAccountKeyFile + cfg.tlsCertFile + cfg.tlsKeyFile + ]; + + in mkIf cfg.enable { + systemd.services.kube-controller-manager = rec { + description = "Kubernetes Controller Manager Service"; + wantedBy = [ "kube-control-plane-online.target" ]; + after = [ "kube-apiserver.service" ]; + before = [ "kube-control-plane-online.target" ]; + environment.KUBECONFIG = top.lib.mkKubeConfig "kube-controller-manager" cfg.kubeconfig; + preStart = '' + until kubectl auth can-i get /api -q 2>/dev/null; do + echo kubectl auth can-i get /api: exit status $? + sleep 2 + done + ''; + serviceConfig = { + RestartSec = "30s"; + Restart = "on-failure"; + Slice = "kubernetes.slice"; + ExecStart = ''${top.package}/bin/kube-controller-manager \ + --allocate-node-cidrs=${boolToString cfg.allocateNodeCIDRs} \ + --bind-address=${cfg.bindAddress} \ + ${optionalString (cfg.clusterCidr!=null) + "--cluster-cidr=${cfg.clusterCidr}"} \ + ${optionalString (cfg.featureGates != []) + "--feature-gates=${concatMapStringsSep "," (feature: "${feature}=true") cfg.featureGates}"} \ + --kubeconfig=${environment.KUBECONFIG} \ + --leader-elect=${boolToString cfg.leaderElect} \ + ${optionalString (cfg.rootCaFile!=null) + "--root-ca-file=${cfg.rootCaFile}"} \ + --port=${toString cfg.insecurePort} \ + --secure-port=${toString cfg.securePort} \ + ${optionalString (cfg.serviceAccountKeyFile!=null) + "--service-account-private-key-file=${cfg.serviceAccountKeyFile}"} \ + ${optionalString (cfg.tlsCertFile!=null) + "--tls-cert-file=${cfg.tlsCertFile}"} \ + ${optionalString (cfg.tlsKeyFile!=null) + "--tls-private-key-file=${cfg.tlsKeyFile}"} \ + ${optionalString (elem "RBAC" top.apiserver.authorizationMode) + "--use-service-account-credentials"} \ + ${optionalString (cfg.verbosity != null) "--v=${toString cfg.verbosity}"} \ + ${cfg.extraOpts} + ''; + WorkingDirectory = top.dataDir; + User = "kubernetes"; + Group = "kubernetes"; + }; + path = top.path ++ [ pkgs.kubectl ]; + unitConfig.ConditionPathExists = controllerManagerPaths; + }; + + systemd.paths.kube-controller-manager = { + wantedBy = [ "kube-controller-manager.service" ]; + pathConfig = { + PathExists = controllerManagerPaths; + PathChanged = controllerManagerPaths; + }; + }; + + services.kubernetes.pki.certs = with top.lib; { + controllerManager = mkCert { + name = "kube-controller-manager"; + CN = "kube-controller-manager"; + action = "systemctl restart kube-controller-manager.service"; + }; + controllerManagerClient = mkCert { + name = "kube-controller-manager-client"; + CN = "system:kube-controller-manager"; + action = "systemctl restart kube-controller-manager.service"; + }; + }; + + services.kubernetes.controllerManager.kubeconfig.server = mkDefault top.apiserverAddress; + }; +} diff --git a/nixos/modules/services/cluster/kubernetes/default.nix b/nixos/modules/services/cluster/kubernetes/default.nix index aeaa6bd66c99fb57648d1cd7e60610a51f81cc7f..5e46bfc4240f1e1a1daa67b49b2a22b1c2c9cd88 100644 --- a/nixos/modules/services/cluster/kubernetes/default.nix +++ b/nixos/modules/services/cluster/kubernetes/default.nix @@ -5,74 +5,52 @@ with lib; let cfg = config.services.kubernetes; - # YAML config; see: - # https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/ - # https://github.com/kubernetes/kubernetes/blob/release-1.10/pkg/kubelet/apis/kubeletconfig/v1beta1/types.go - # - # TODO: migrate the following flags to this config file - # - # --pod-manifest-path - # --address - # --port - # --tls-cert-file - # --tls-private-key-file - # --client-ca-file - # --authentication-token-webhook - # --authentication-token-webhook-cache-ttl - # --authorization-mode - # --healthz-bind-address - # --healthz-port - # --allow-privileged - # --cluster-dns - # --cluster-domain - # --hairpin-mode - # --feature-gates - kubeletConfig = pkgs.runCommand "kubelet-config.yaml" { } '' - echo > $out ${pkgs.lib.escapeShellArg (builtins.toJSON { - kind = "KubeletConfiguration"; - apiVersion = "kubelet.config.k8s.io/v1beta1"; - ${if cfg.kubelet.applyManifests then "staticPodPath" else null} = - manifests; - })} - ''; - - infraContainer = pkgs.dockerTools.buildImage { - name = "pause"; - tag = "latest"; - contents = cfg.package.pause; - config.Cmd = "/bin/pause"; - }; - - mkKubeConfig = name: cfg: pkgs.writeText "${name}-kubeconfig" (builtins.toJSON { + mkKubeConfig = name: conf: pkgs.writeText "${name}-kubeconfig" (builtins.toJSON { apiVersion = "v1"; kind = "Config"; clusters = [{ name = "local"; - cluster.certificate-authority = cfg.caFile; - cluster.server = cfg.server; + cluster.certificate-authority = conf.caFile or cfg.caFile; + cluster.server = conf.server; }]; users = [{ - name = "kubelet"; + inherit name; user = { - client-certificate = cfg.certFile; - client-key = cfg.keyFile; + client-certificate = conf.certFile; + client-key = conf.keyFile; }; }]; contexts = [{ context = { cluster = "local"; - user = "kubelet"; + user = name; }; - current-context = "kubelet-context"; + current-context = "local"; }]; }); + caCert = secret "ca"; + + etcdEndpoints = ["https://${cfg.masterAddress}:2379"]; + + mkCert = { name, CN, hosts ? [], fields ? {}, action ? "", + privateKeyOwner ? "kubernetes" }: rec { + inherit name caCert CN hosts fields action; + cert = secret name; + key = secret "${name}-key"; + privateKeyOptions = { + owner = privateKeyOwner; + group = "nogroup"; + mode = "0600"; + path = key; + }; + }; + + secret = name: "${cfg.secretsPath}/${name}.pem"; + mkKubeConfigOptions = prefix: { server = mkOption { description = "${prefix} kube-apiserver server address."; - default = "http://${if cfg.apiserver.advertiseAddress != null - then cfg.apiserver.advertiseAddress - else "127.0.0.1"}:${toString cfg.apiserver.port}"; type = types.str; }; @@ -101,66 +79,6 @@ let certFile = mkDefault cfg.kubeconfig.certFile; keyFile = mkDefault cfg.kubeconfig.keyFile; }; - - cniConfig = - if cfg.kubelet.cni.config != [] && !(isNull cfg.kubelet.cni.configDir) then - throw "Verbatim CNI-config and CNI configDir cannot both be set." - else if !(isNull cfg.kubelet.cni.configDir) then - cfg.kubelet.cni.configDir - else - (pkgs.buildEnv { - name = "kubernetes-cni-config"; - paths = imap (i: entry: - pkgs.writeTextDir "${toString (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; - }; - - addons = pkgs.runCommand "kubernetes-addons" { } '' - mkdir -p $out - # since we are mounting the addons to the addon manager, they need to be copied - ${concatMapStringsSep ";" (a: "cp -v ${a}/* $out/") (mapAttrsToList (name: addon: - pkgs.writeTextDir "${name}.json" (builtins.toJSON addon) - ) (cfg.addonManager.addons))} - ''; - - taintOptions = { name, ... }: { - options = { - key = mkOption { - description = "Key of taint."; - default = name; - type = types.str; - }; - value = mkOption { - description = "Value of taint."; - type = types.str; - }; - effect = mkOption { - description = "Effect of taint."; - example = "NoSchedule"; - type = types.enum ["NoSchedule" "PreferNoSchedule" "NoExecute"]; - }; - }; - }; - - taints = concatMapStringsSep "," (v: "${v.key}=${v.value}:${v.effect}") (mapAttrsToList (n: v: v) cfg.kubelet.taints); - - # needed for flannel to pass options to docker - mkDockerOpts = pkgs.runCommand "mk-docker-opts" { - buildInputs = [ pkgs.makeWrapper ]; - } '' - mkdir -p $out - cp ${pkgs.kubernetes.src}/cluster/centos/node/bin/mk-docker-opts.sh $out/mk-docker-opts.sh - - # bashInteractive needed for `compgen` - makeWrapper ${pkgs.bashInteractive}/bin/bash $out/mk-docker-opts --add-flags "$out/mk-docker-opts.sh" - ''; in { ###### interface @@ -170,8 +88,9 @@ in { description = '' Kubernetes role that this machine should take. - Master role will enable etcd, apiserver, scheduler and controller manager - services. Node role will enable etcd, docker, kubelet and proxy services. + Master role will enable etcd, apiserver, scheduler, controller manager + addon manager, flannel and proxy services. + Node role will enable flannel, docker, kubelet and proxy services. ''; default = []; type = types.listOf (types.enum ["master" "node"]); @@ -184,40 +103,17 @@ in { defaultText = "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; - }; + kubeconfig = mkKubeConfigOptions "Default kubeconfig"; - caFile = mkOption { - description = "Etcd ca file."; - default = cfg.caFile; - type = types.nullOr types.path; - }; + apiserverAddress = mkOption { + description = '' + Clusterwide accessible address for the kubernetes apiserver, + including protocol and optional port. + ''; + example = "https://kubernetes-apiserver.example.com:6443"; + type = types.str; }; - kubeconfig = mkKubeConfigOptions "Default kubeconfig"; - caFile = mkOption { description = "Default kubernetes certificate authority"; type = types.nullOr types.path; @@ -230,556 +126,22 @@ in { type = types.path; }; + easyCerts = mkOption { + description = "Automatically setup x509 certificates and keys for the entire cluster."; + default = false; + type = types.bool; + }; + featureGates = mkOption { - description = "List set of feature gates"; + description = "List set of feature gates."; default = []; type = types.listOf types.str; }; - apiserver = { - enable = mkOption { - description = "Whether to enable Kubernetes apiserver."; - default = false; - type = types.bool; - }; - - featureGates = mkOption { - description = "List set of feature gates"; - default = cfg.featureGates; - type = types.listOf types.str; - }; - - bindAddress = mkOption { - description = '' - The IP address on which to listen for the --secure-port port. - The associated interface(s) must be reachable by the rest - of the cluster, and by CLI/web clients. - ''; - default = "0.0.0.0"; - 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; - }; - - storageBackend = mkOption { - description = '' - Kubernetes apiserver storage backend. - ''; - default = "etcd3"; - type = types.enum ["etcd2" "etcd3"]; - }; - - port = mkOption { - description = "Kubernetes apiserver listening port."; - default = 8080; - type = types.int; - }; - - securePort = mkOption { - description = "Kubernetes apiserver secure port."; - default = 443; - type = types.int; - }; - - tlsCertFile = mkOption { - description = "Kubernetes apiserver certificate file."; - default = null; - type = types.nullOr types.path; - }; - - tlsKeyFile = mkOption { - description = "Kubernetes apiserver private key file."; - default = null; - type = types.nullOr types.path; - }; - - clientCaFile = mkOption { - description = "Kubernetes apiserver CA file for client auth."; - default = cfg.caFile; - type = types.nullOr types.path; - }; - - tokenAuthFile = mkOption { - description = '' - Kubernetes apiserver token authentication file. See - - ''; - default = null; - type = types.nullOr types.path; - }; - - basicAuthFile = mkOption { - description = '' - Kubernetes apiserver basic authentication file. See - - ''; - default = pkgs.writeText "users" '' - kubernetes,admin,0 - ''; - type = types.nullOr types.path; - }; - - authorizationMode = mkOption { - description = '' - Kubernetes apiserver authorization mode (AlwaysAllow/AlwaysDeny/ABAC/Webhook/RBAC/Node). See - - ''; - default = ["RBAC" "Node"]; - type = types.listOf (types.enum ["AlwaysAllow" "AlwaysDeny" "ABAC" "Webhook" "RBAC" "Node"]); - }; - - authorizationPolicy = mkOption { - description = '' - Kubernetes apiserver authorization policy file. See - - ''; - default = []; - type = types.listOf types.attrs; - }; - - webhookConfig = mkOption { - description = '' - Kubernetes apiserver Webhook config file. It uses the kubeconfig file format. - See - ''; - default = null; - type = types.nullOr types.path; - }; - - allowPrivileged = mkOption { - description = "Whether to allow privileged containers on Kubernetes."; - default = true; - type = types.bool; - }; - - serviceClusterIpRange = mkOption { - description = '' - A CIDR notation IP range from which to assign service cluster IPs. - This must not overlap with any IP ranges assigned to nodes for pods. - ''; - default = "10.0.0.0/24"; - type = types.str; - }; - - runtimeConfig = mkOption { - description = '' - Api runtime configuration. See - - ''; - default = "authentication.k8s.io/v1beta1=true"; - example = "api/all=false,api/v1=true"; - type = types.str; - }; - - enableAdmissionPlugins = mkOption { - description = '' - Kubernetes admission control plugins to enable. See - - ''; - default = ["NamespaceLifecycle" "LimitRanger" "ServiceAccount" "ResourceQuota" "DefaultStorageClass" "DefaultTolerationSeconds" "NodeRestriction"]; - example = [ - "NamespaceLifecycle" "NamespaceExists" "LimitRanger" - "SecurityContextDeny" "ServiceAccount" "ResourceQuota" - "PodSecurityPolicy" "NodeRestriction" "DefaultStorageClass" - ]; - type = types.listOf types.str; - }; - - disableAdmissionPlugins = mkOption { - description = '' - Kubernetes admission control plugins to disable. See - - ''; - default = []; - type = types.listOf types.str; - }; - - serviceAccountKeyFile = mkOption { - description = '' - Kubernetes apiserver PEM-encoded x509 RSA private or public key file, - 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 = cfg.caFile; - 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 = ""; - type = types.str; - }; - }; - - scheduler = { - enable = mkOption { - description = "Whether to enable Kubernetes scheduler."; - default = false; - type = types.bool; - }; - - featureGates = mkOption { - description = "List set of feature gates"; - default = cfg.featureGates; - type = types.listOf types.str; - }; - - address = mkOption { - description = "Kubernetes scheduler listening address."; - default = "127.0.0.1"; - type = types.str; - }; - - port = mkOption { - description = "Kubernetes scheduler listening port."; - default = 10251; - type = types.int; - }; - - leaderElect = mkOption { - description = "Whether to start leader election before executing main loop."; - type = types.bool; - default = true; - }; - - kubeconfig = mkKubeConfigOptions "Kubernetes scheduler"; - - extraOpts = mkOption { - description = "Kubernetes scheduler extra command line options."; - default = ""; - type = types.str; - }; - }; - - controllerManager = { - enable = mkOption { - description = "Whether to enable Kubernetes controller manager."; - default = false; - type = types.bool; - }; - - featureGates = mkOption { - description = "List set of feature gates"; - default = cfg.featureGates; - type = types.listOf types.str; - }; - - address = mkOption { - description = "Kubernetes controller manager listening address."; - default = "127.0.0.1"; - type = types.str; - }; - - port = mkOption { - description = "Kubernetes controller manager listening port."; - default = 10252; - type = types.int; - }; - - leaderElect = mkOption { - description = "Whether to start leader election before executing main loop."; - type = types.bool; - default = true; - }; - - serviceAccountKeyFile = mkOption { - description = '' - Kubernetes controller manager PEM-encoded private RSA key file used to - sign service account tokens - ''; - default = null; - type = types.nullOr types.path; - }; - - rootCaFile = mkOption { - description = '' - Kubernetes controller manager certificate authority file included in - service account's token secret. - ''; - default = cfg.caFile; - type = types.nullOr types.path; - }; - - kubeconfig = mkKubeConfigOptions "Kubernetes controller manager"; - - extraOpts = mkOption { - description = "Kubernetes controller manager extra command line options."; - default = ""; - type = types.str; - }; - }; - - kubelet = { - enable = mkOption { - description = "Whether to enable Kubernetes kubelet."; - default = false; - type = types.bool; - }; - - featureGates = mkOption { - description = "List set of feature gates"; - default = cfg.featureGates; - type = types.listOf types.str; - }; - - seedDockerImages = mkOption { - description = "List of docker images to preload on system"; - default = []; - type = types.listOf types.package; - }; - - registerNode = mkOption { - description = "Whether to auto register kubelet with API server."; - default = true; - type = types.bool; - }; - - address = mkOption { - description = "Kubernetes kubelet info server listening address."; - default = "0.0.0.0"; - type = types.str; - }; - - port = mkOption { - description = "Kubernetes kubelet info server listening port."; - default = 10250; - 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; - }; - - clientCaFile = mkOption { - description = "Kubernetes apiserver CA file for client authentication."; - default = cfg.caFile; - type = types.nullOr types.path; - }; - - healthz = { - bind = mkOption { - description = "Kubernetes kubelet healthz listening address."; - default = "127.0.0.1"; - type = types.str; - }; - - port = mkOption { - description = "Kubernetes kubelet healthz port."; - default = 10248; - type = types.int; - }; - }; - - hostname = mkOption { - description = "Kubernetes kubelet hostname override."; - default = config.networking.hostName; - type = types.str; - }; - - allowPrivileged = mkOption { - description = "Whether to allow Kubernetes containers to request privileged mode."; - default = true; - type = types.bool; - }; - - # TODO: remove this deprecated flag - cadvisorPort = mkOption { - description = "Kubernetes kubelet local cadvisor port."; - default = 4194; - type = types.int; - }; - - clusterDns = mkOption { - description = "Use alternative DNS."; - default = "10.1.0.1"; - type = types.str; - }; - - clusterDomain = mkOption { - description = "Use alternative domain."; - default = config.services.kubernetes.addons.dns.clusterDomain; - 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" - }] - ''; - }; - - configDir = mkOption { - description = "Path to Kubernetes CNI configuration directory."; - type = types.nullOr types.path; - default = null; - }; - }; - - manifests = mkOption { - description = "List of manifests to bootstrap with kubelet (only pods can be created as manifest entry)"; - type = types.attrsOf types.attrs; - default = {}; - }; - - applyManifests = mkOption { - description = "Whether to apply manifests (this is true for master node)."; - default = false; - type = types.bool; - }; - - unschedulable = mkOption { - description = "Whether to set node taint to unschedulable=true as it is the case of node that has only master role."; - default = false; - type = types.bool; - }; - - taints = mkOption { - description = "Node taints (https://kubernetes.io/docs/concepts/configuration/assign-pod-node/)."; - default = {}; - type = types.attrsOf (types.submodule [ taintOptions ]); - }; - - nodeIp = mkOption { - description = "IP address of the node. If set, kubelet will use this IP address for the node."; - default = null; - type = types.nullOr types.str; - }; - - kubeconfig = mkKubeConfigOptions "Kubelet"; - - extraOpts = mkOption { - description = "Kubernetes kubelet extra command line options."; - default = ""; - type = types.str; - }; - }; - - proxy = { - enable = mkOption { - description = "Whether to enable Kubernetes proxy."; - default = false; - type = types.bool; - }; - - featureGates = mkOption { - description = "List set of feature gates"; - default = cfg.featureGates; - type = types.listOf types.str; - }; - - address = mkOption { - description = "Kubernetes proxy listening address."; - default = "0.0.0.0"; - type = types.str; - }; - - kubeconfig = mkKubeConfigOptions "Kubernetes proxy"; - - extraOpts = mkOption { - description = "Kubernetes proxy extra command line options."; - default = ""; - type = types.str; - }; - }; - - addonManager = { - enable = mkOption { - description = "Whether to enable Kubernetes addon manager."; - default = false; - type = types.bool; - }; - - addons = mkOption { - description = "Kubernetes addons (any kind of Kubernetes resource can be an addon)."; - default = { }; - type = types.attrsOf (types.either types.attrs (types.listOf types.attrs)); - example = literalExample '' - { - "my-service" = { - "apiVersion" = "v1"; - "kind" = "Service"; - "metadata" = { - "name" = "my-service"; - "namespace" = "default"; - }; - "spec" = { ... }; - }; - } - // import { cfg = config.services.kubernetes; }; - ''; - }; + masterAddress = mkOption { + description = "Clusterwide available network address or hostname for the kubernetes master server."; + example = "master.example.com"; + type = types.str; }; path = mkOption { @@ -791,308 +153,78 @@ in { clusterCidr = mkOption { description = "Kubernetes controller manager and proxy CIDR Range for Pods in cluster."; default = "10.1.0.0/16"; - type = types.str; + type = types.nullOr types.str; }; - flannel.enable = mkOption { - description = "Whether to enable flannel networking"; - default = false; - type = types.bool; + lib = mkOption { + description = "Common functions for the kubernetes modules."; + default = { + inherit mkCert; + inherit mkKubeConfig; + inherit mkKubeConfigOptions; + }; + type = types.attrs; }; + secretsPath = mkOption { + description = "Default location for kubernetes secrets. Not a store location."; + type = types.path; + default = cfg.dataDir + "/secrets"; + }; }; ###### implementation config = mkMerge [ - (mkIf cfg.kubelet.enable { - services.kubernetes.kubelet.seedDockerImages = [infraContainer]; - - systemd.services.kubelet-bootstrap = { - description = "Boostrap Kubelet"; - wantedBy = ["kubernetes.target"]; - after = ["docker.service" "network.target"]; - path = with pkgs; [ docker ]; - script = '' - ${concatMapStrings (img: '' - echo "Seeding docker image: ${img}" - docker load <${img} - '') cfg.kubelet.seedDockerImages} - - rm /opt/cni/bin/* || true - ${concatMapStrings (package: '' - echo "Linking cni package: ${package}" - ln -fs ${package}/bin/* /opt/cni/bin - '') cfg.kubelet.cni.packages} - ''; - serviceConfig = { - Slice = "kubernetes.slice"; - Type = "oneshot"; - }; - }; - - systemd.services.kubelet = { - description = "Kubernetes Kubelet Service"; - wantedBy = [ "kubernetes.target" ]; - after = [ "network.target" "docker.service" "kube-apiserver.service" "kubelet-bootstrap.service" ]; - path = with pkgs; [ gitMinimal openssh docker utillinux iproute ethtool thin-provisioning-tools iptables socat ] ++ cfg.path; - serviceConfig = { - Slice = "kubernetes.slice"; - CPUAccounting = true; - MemoryAccounting = true; - ExecStart = ''${cfg.package}/bin/kubelet \ - ${optionalString (taints != "") - "--register-with-taints=${taints}"} \ - --kubeconfig=${mkKubeConfig "kubelet" cfg.kubelet.kubeconfig} \ - --config=${kubeletConfig} \ - --address=${cfg.kubelet.address} \ - --port=${toString cfg.kubelet.port} \ - --register-node=${boolToString cfg.kubelet.registerNode} \ - ${optionalString (cfg.kubelet.tlsCertFile != null) - "--tls-cert-file=${cfg.kubelet.tlsCertFile}"} \ - ${optionalString (cfg.kubelet.tlsKeyFile != null) - "--tls-private-key-file=${cfg.kubelet.tlsKeyFile}"} \ - ${optionalString (cfg.kubelet.clientCaFile != null) - "--client-ca-file=${cfg.kubelet.clientCaFile}"} \ - --authentication-token-webhook \ - --authentication-token-webhook-cache-ttl="10s" \ - --authorization-mode=Webhook \ - --healthz-bind-address=${cfg.kubelet.healthz.bind} \ - --healthz-port=${toString cfg.kubelet.healthz.port} \ - --hostname-override=${cfg.kubelet.hostname} \ - --allow-privileged=${boolToString cfg.kubelet.allowPrivileged} \ - --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} \ - --hairpin-mode=hairpin-veth \ - ${optionalString (cfg.kubelet.nodeIp != null) - "--node-ip=${cfg.kubelet.nodeIp}"} \ - ${optionalString (cfg.kubelet.featureGates != []) - "--feature-gates=${concatMapStringsSep "," (feature: "${feature}=true") cfg.kubelet.featureGates}"} \ - ${optionalString cfg.verbose "--v=6 --log_flush_frequency=1s"} \ - ${cfg.kubelet.extraOpts} - ''; - WorkingDirectory = cfg.dataDir; - }; - }; - - # Allways include cni plugins - services.kubernetes.kubelet.cni.packages = [pkgs.cni-plugins]; - - boot.kernelModules = ["br_netfilter"]; - services.kubernetes.kubelet.kubeconfig = kubeConfigDefaults; + (mkIf cfg.easyCerts { + services.kubernetes.pki.enable = mkDefault true; + services.kubernetes.caFile = caCert; }) - (mkIf (cfg.kubelet.applyManifests && cfg.kubelet.enable) { - environment.etc = mapAttrs' (name: manifest: - nameValuePair "kubernetes/manifests/${name}.json" { - text = builtins.toJSON manifest; - mode = "0755"; - } - ) cfg.kubelet.manifests; - }) - - (mkIf (cfg.kubelet.unschedulable && cfg.kubelet.enable) { - services.kubernetes.kubelet.taints.unschedulable = { - value = "true"; - effect = "NoSchedule"; - }; - }) - - (mkIf cfg.apiserver.enable { - systemd.services.kube-apiserver = { - description = "Kubernetes APIServer Service"; - wantedBy = [ "kubernetes.target" ]; - after = [ "network.target" "docker.service" ]; - serviceConfig = { - Slice = "kubernetes.slice"; - 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.bindAddress} \ - ${optionalString (cfg.apiserver.advertiseAddress != null) - "--advertise-address=${cfg.apiserver.advertiseAddress}"} \ - --allow-privileged=${boolToString cfg.apiserver.allowPrivileged}\ - ${optionalString (cfg.apiserver.tlsCertFile != null) - "--tls-cert-file=${cfg.apiserver.tlsCertFile}"} \ - ${optionalString (cfg.apiserver.tlsKeyFile != null) - "--tls-private-key-file=${cfg.apiserver.tlsKeyFile}"} \ - ${optionalString (cfg.apiserver.tokenAuthFile != null) - "--token-auth-file=${cfg.apiserver.tokenAuthFile}"} \ - ${optionalString (cfg.apiserver.basicAuthFile != null) - "--basic-auth-file=${cfg.apiserver.basicAuthFile}"} \ - --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=${concatStringsSep "," cfg.apiserver.authorizationMode} \ - ${optionalString (elem "ABAC" cfg.apiserver.authorizationMode) - "--authorization-policy-file=${ - pkgs.writeText "kube-auth-policy.jsonl" - (concatMapStringsSep "\n" (l: builtins.toJSON l) cfg.apiserver.authorizationPolicy) - }" - } \ - ${optionalString (elem "Webhook" cfg.apiserver.authorizationMode) - "--authorization-webhook-config-file=${cfg.apiserver.webhookConfig}" - } \ - --secure-port=${toString cfg.apiserver.securePort} \ - --service-cluster-ip-range=${cfg.apiserver.serviceClusterIpRange} \ - ${optionalString (cfg.apiserver.runtimeConfig != "") - "--runtime-config=${cfg.apiserver.runtimeConfig}"} \ - --enable-admission-plugins=${concatStringsSep "," cfg.apiserver.enableAdmissionPlugins} \ - --disable-admission-plugins=${concatStringsSep "," cfg.apiserver.disableAdmissionPlugins} \ - ${optionalString (cfg.apiserver.serviceAccountKeyFile!=null) - "--service-account-key-file=${cfg.apiserver.serviceAccountKeyFile}"} \ - ${optionalString cfg.verbose "--v=6"} \ - ${optionalString cfg.verbose "--log-flush-frequency=1s"} \ - --storage-backend=${cfg.apiserver.storageBackend} \ - ${optionalString (cfg.kubelet.featureGates != []) - "--feature-gates=${concatMapStringsSep "," (feature: "${feature}=true") cfg.kubelet.featureGates}"} \ - ${cfg.apiserver.extraOpts} - ''; - WorkingDirectory = cfg.dataDir; - User = "kubernetes"; - Group = "kubernetes"; - AmbientCapabilities = "cap_net_bind_service"; - Restart = "on-failure"; - RestartSec = 5; - }; - }; - }) - - (mkIf cfg.scheduler.enable { - systemd.services.kube-scheduler = { - description = "Kubernetes Scheduler Service"; - wantedBy = [ "kubernetes.target" ]; - after = [ "kube-apiserver.service" ]; - serviceConfig = { - Slice = "kubernetes.slice"; - ExecStart = ''${cfg.package}/bin/kube-scheduler \ - --address=${cfg.scheduler.address} \ - --port=${toString cfg.scheduler.port} \ - --leader-elect=${boolToString cfg.scheduler.leaderElect} \ - --kubeconfig=${mkKubeConfig "kube-scheduler" cfg.scheduler.kubeconfig} \ - ${optionalString cfg.verbose "--v=6"} \ - ${optionalString cfg.verbose "--log-flush-frequency=1s"} \ - ${optionalString (cfg.scheduler.featureGates != []) - "--feature-gates=${concatMapStringsSep "," (feature: "${feature}=true") cfg.scheduler.featureGates}"} \ - ${cfg.scheduler.extraOpts} - ''; - WorkingDirectory = cfg.dataDir; - User = "kubernetes"; - Group = "kubernetes"; - }; - }; - - services.kubernetes.scheduler.kubeconfig = kubeConfigDefaults; - }) - - (mkIf cfg.controllerManager.enable { - systemd.services.kube-controller-manager = { - description = "Kubernetes Controller Manager Service"; - wantedBy = [ "kubernetes.target" ]; - after = [ "kube-apiserver.service" ]; - serviceConfig = { - RestartSec = "30s"; - Restart = "on-failure"; - Slice = "kubernetes.slice"; - ExecStart = ''${cfg.package}/bin/kube-controller-manager \ - --address=${cfg.controllerManager.address} \ - --port=${toString cfg.controllerManager.port} \ - --kubeconfig=${mkKubeConfig "kube-controller-manager" cfg.controllerManager.kubeconfig} \ - --leader-elect=${boolToString cfg.controllerManager.leaderElect} \ - ${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"} \ - ${if (cfg.controllerManager.rootCaFile!=null) - then "--root-ca-file=${cfg.controllerManager.rootCaFile}" - else "--root-ca-file=/var/run/kubernetes/apiserver.crt"} \ - ${optionalString (cfg.clusterCidr!=null) - "--cluster-cidr=${cfg.clusterCidr}"} \ - --allocate-node-cidrs=true \ - ${optionalString (cfg.controllerManager.featureGates != []) - "--feature-gates=${concatMapStringsSep "," (feature: "${feature}=true") cfg.controllerManager.featureGates}"} \ - ${optionalString cfg.verbose "--v=6"} \ - ${optionalString cfg.verbose "--log-flush-frequency=1s"} \ - ${cfg.controllerManager.extraOpts} - ''; - WorkingDirectory = cfg.dataDir; - User = "kubernetes"; - Group = "kubernetes"; + (mkIf (elem "master" cfg.roles) { + services.kubernetes.apiserver.enable = mkDefault true; + services.kubernetes.scheduler.enable = mkDefault true; + services.kubernetes.controllerManager.enable = mkDefault true; + services.kubernetes.addonManager.enable = mkDefault true; + services.kubernetes.proxy.enable = mkDefault true; + services.etcd.enable = true; # Cannot mkDefault because of flannel default options + services.kubernetes.kubelet = { + enable = mkDefault true; + taints = mkIf (!(elem "node" cfg.roles)) { + master = { + key = "node-role.kubernetes.io/master"; + value = "true"; + effect = "NoSchedule"; + }; }; - path = cfg.path; }; - - services.kubernetes.controllerManager.kubeconfig = kubeConfigDefaults; }) - (mkIf cfg.proxy.enable { - systemd.services.kube-proxy = { - description = "Kubernetes Proxy Service"; - wantedBy = [ "kubernetes.target" ]; - after = [ "kube-apiserver.service" ]; - path = [pkgs.iptables pkgs.conntrack_tools]; - serviceConfig = { - Slice = "kubernetes.slice"; - ExecStart = ''${cfg.package}/bin/kube-proxy \ - --kubeconfig=${mkKubeConfig "kube-proxy" cfg.proxy.kubeconfig} \ - --bind-address=${cfg.proxy.address} \ - ${optionalString (cfg.proxy.featureGates != []) - "--feature-gates=${concatMapStringsSep "," (feature: "${feature}=true") cfg.proxy.featureGates}"} \ - ${optionalString cfg.verbose "--v=6"} \ - ${optionalString cfg.verbose "--log-flush-frequency=1s"} \ - ${optionalString (cfg.clusterCidr!=null) - "--cluster-cidr=${cfg.clusterCidr}"} \ - ${cfg.proxy.extraOpts} - ''; - WorkingDirectory = cfg.dataDir; - }; - }; - - # kube-proxy needs iptables - networking.firewall.enable = mkDefault true; - services.kubernetes.proxy.kubeconfig = kubeConfigDefaults; + (mkIf (all (el: el == "master") cfg.roles) { + # if this node is only a master make it unschedulable by default + services.kubernetes.kubelet.unschedulable = mkDefault true; }) - (mkIf (any (el: el == "master") cfg.roles) { - virtualisation.docker.enable = mkDefault true; + (mkIf (elem "node" cfg.roles) { services.kubernetes.kubelet.enable = mkDefault true; - services.kubernetes.kubelet.allowPrivileged = mkDefault true; - services.kubernetes.kubelet.applyManifests = mkDefault true; - services.kubernetes.apiserver.enable = mkDefault true; - services.kubernetes.scheduler.enable = mkDefault true; - services.kubernetes.controllerManager.enable = mkDefault true; - services.etcd.enable = mkDefault (cfg.etcd.servers == ["http://127.0.0.1:2379"]); - services.kubernetes.addonManager.enable = mkDefault true; services.kubernetes.proxy.enable = mkDefault true; }) - # if this node is only a master make it unschedulable by default - (mkIf (all (el: el == "master") cfg.roles) { - services.kubernetes.kubelet.unschedulable = mkDefault true; + # Using "services.kubernetes.roles" will automatically enable easyCerts and flannel + (mkIf (cfg.roles != []) { + services.kubernetes.flannel.enable = mkDefault true; + services.flannel.etcd.endpoints = mkDefault etcdEndpoints; + services.kubernetes.easyCerts = mkDefault true; + }) + + (mkIf cfg.apiserver.enable { + services.kubernetes.pki.etcClusterAdminKubeconfig = mkDefault "kubernetes/cluster-admin.kubeconfig"; + services.kubernetes.apiserver.etcd.servers = mkDefault etcdEndpoints; }) - (mkIf (any (el: el == "node") cfg.roles) { + (mkIf cfg.kubelet.enable { virtualisation.docker = { enable = mkDefault true; @@ -1102,26 +234,18 @@ in { # iptables must be disabled for kubernetes extraOptions = "--iptables=false --ip-masq=false"; }; - - services.kubernetes.kubelet.enable = mkDefault true; - services.kubernetes.proxy.enable = mkDefault true; }) - (mkIf cfg.addonManager.enable { - environment.etc."kubernetes/addons".source = "${addons}/"; - - systemd.services.kube-addon-manager = { - description = "Kubernetes addon manager"; - wantedBy = [ "kubernetes.target" ]; - after = [ "kube-apiserver.service" ]; - environment.ADDON_PATH = "/etc/kubernetes/addons/"; - path = [ pkgs.gawk ]; - serviceConfig = { - Slice = "kubernetes.slice"; - ExecStart = "${cfg.package}/bin/kube-addons"; - WorkingDirectory = cfg.dataDir; - User = "kubernetes"; - Group = "kubernetes"; + (mkIf (cfg.apiserver.enable || cfg.controllerManager.enable) { + services.kubernetes.pki.certs = { + serviceAccount = mkCert { + name = "service-account"; + CN = "system:service-account-signer"; + action = '' + systemctl reload \ + kube-apiserver.service \ + kube-controller-manager.service + ''; }; }; }) @@ -1131,20 +255,43 @@ in { cfg.scheduler.enable || cfg.controllerManager.enable || cfg.kubelet.enable || - cfg.proxy.enable + cfg.proxy.enable || + cfg.addonManager.enable ) { systemd.targets.kubernetes = { description = "Kubernetes"; wantedBy = [ "multi-user.target" ]; }; + systemd.targets.kube-control-plane-online = { + wantedBy = [ "kubernetes.target" ]; + before = [ "kubernetes.target" ]; + }; + + systemd.services.kube-control-plane-online = rec { + description = "Kubernetes control plane is online"; + wantedBy = [ "kube-control-plane-online.target" ]; + after = [ "kube-scheduler.service" "kube-controller-manager.service" ]; + before = [ "kube-control-plane-online.target" ]; + path = [ pkgs.curl ]; + preStart = '' + until curl -Ssf ${cfg.apiserverAddress}/healthz do + echo curl -Ssf ${cfg.apiserverAddress}/healthz: exit status $? + sleep 3 + done + ''; + script = "echo Ok"; + serviceConfig = { + TimeoutSec = "500"; + }; + }; + systemd.tmpfiles.rules = [ "d /opt/cni/bin 0755 root root -" - "d /var/run/kubernetes 0755 kubernetes kubernetes -" + "d /run/kubernetes 0755 kubernetes kubernetes -" "d /var/lib/kubernetes 0755 kubernetes kubernetes -" ]; - environment.systemPackages = [ cfg.package ]; users.users = singleton { name = "kubernetes"; uid = config.ids.uids.kubernetes; @@ -1156,53 +303,14 @@ in { }; users.groups.kubernetes.gid = config.ids.gids.kubernetes; - # dns addon is enabled by default + # dns addon is enabled by default services.kubernetes.addons.dns.enable = mkDefault true; - }) - - (mkIf cfg.flannel.enable { - services.flannel = { - enable = mkDefault true; - network = mkDefault cfg.clusterCidr; - etcd = mkDefault { - endpoints = cfg.etcd.servers; - inherit (cfg.etcd) caFile certFile keyFile; - }; - }; - services.kubernetes.kubelet = { - networkPlugin = mkDefault "cni"; - cni.config = mkDefault [{ - name = "mynet"; - type = "flannel"; - delegate = { - isDefaultGateway = true; - bridge = "docker0"; - }; - }]; - }; - - systemd.services."mk-docker-opts" = { - description = "Pre-Docker Actions"; - wantedBy = [ "flannel.service" ]; - before = [ "docker.service" ]; - after = [ "flannel.service" ]; - path = [ pkgs.gawk pkgs.gnugrep ]; - script = '' - mkdir -p /run/flannel - ${mkDockerOpts}/mk-docker-opts -d /run/flannel/docker - ''; - serviceConfig.Type = "oneshot"; - }; - systemd.services.docker.serviceConfig.EnvironmentFile = "/run/flannel/docker"; - - # read environment variables generated by mk-docker-opts - virtualisation.docker.extraOptions = "$DOCKER_OPTS"; + services.kubernetes.apiserverAddress = mkDefault ("https://${if cfg.apiserver.advertiseAddress != null + then cfg.apiserver.advertiseAddress + else "${cfg.masterAddress}:${toString cfg.apiserver.securePort}"}"); - networking.firewall.allowedUDPPorts = [ - 8285 # flannel udp - 8472 # flannel vxlan - ]; + services.kubernetes.kubeconfig.server = mkDefault cfg.apiserverAddress; }) ]; } diff --git a/nixos/modules/services/cluster/kubernetes/dns.nix b/nixos/modules/services/cluster/kubernetes/dns.nix deleted file mode 100644 index 43bbb50a48d4de8b01a25f775634b0940f479592..0000000000000000000000000000000000000000 --- a/nixos/modules/services/cluster/kubernetes/dns.nix +++ /dev/null @@ -1,326 +0,0 @@ -{ config, pkgs, lib, ... }: - -with lib; - -let - version = "1.14.10"; - cfg = config.services.kubernetes.addons.dns; -in { - options.services.kubernetes.addons.dns = { - enable = mkEnableOption "kubernetes dns addon"; - - clusterIp = mkOption { - description = "Dns addon clusterIP"; - - # this default is also what kubernetes users - default = ( - concatStringsSep "." ( - take 3 (splitString "." config.services.kubernetes.apiserver.serviceClusterIpRange - )) - ) + ".254"; - type = types.str; - }; - - clusterDomain = mkOption { - description = "Dns cluster domain"; - default = "cluster.local"; - type = types.str; - }; - - kube-dns = mkOption { - description = "Docker image to seed for the kube-dns main container."; - type = types.attrs; - default = { - imageName = "k8s.gcr.io/k8s-dns-kube-dns-amd64"; - imageDigest = "sha256:b99fc3eee2a9f052f7eb4cc00f15eb12fc405fa41019baa2d6b79847ae7284a8"; - finalImageTag = version; - sha256 = "0x583znk9smqn0fix7ld8sm5jgaxhqhx3fq97b1wkqm7iwhvl3pj"; - }; - }; - - dnsmasq-nanny = mkOption { - description = "Docker image to seed for the kube-dns dnsmasq container."; - type = types.attrs; - default = { - imageName = "k8s.gcr.io/k8s-dns-dnsmasq-nanny-amd64"; - imageDigest = "sha256:bbb2a290a568125b3b996028958eb773f33b5b87a6b37bf38a28f8b62dddb3c8"; - finalImageTag = version; - sha256 = "1fihml7s2mfwgac51cbqpylkwbivc8nyhgi4vb820s83zvl8a6y1"; - }; - }; - - sidecar = mkOption { - description = "Docker image to seed for the kube-dns sidecar container."; - type = types.attrs; - default = { - imageName = "k8s.gcr.io/k8s-dns-sidecar-amd64"; - imageDigest = "sha256:4f1ab957f87b94a5ec1edc26fae50da2175461f00afecf68940c4aa079bd08a4"; - finalImageTag = version; - sha256 = "08l1bv5jgrhvjzpqpbinrkgvv52snc4fzyd8ya9v18ns2klyz7m0"; - }; - }; - }; - - config = mkIf cfg.enable { - services.kubernetes.kubelet.seedDockerImages = with pkgs.dockerTools; [ - (pullImage cfg.kube-dns) - (pullImage cfg.dnsmasq-nanny) - (pullImage cfg.sidecar) - ]; - - services.kubernetes.addonManager.addons = { - kubedns-deployment = { - apiVersion = "extensions/v1beta1"; - kind = "Deployment"; - metadata = { - labels = { - "addonmanager.kubernetes.io/mode" = "Reconcile"; - "k8s-app" = "kube-dns"; - "kubernetes.io/cluster-service" = "true"; - }; - name = "kube-dns"; - namespace = "kube-system"; - }; - spec = { - selector.matchLabels."k8s-app" = "kube-dns"; - strategy = { - rollingUpdate = { - maxSurge = "10%"; - maxUnavailable = 0; - }; - }; - template = { - metadata = { - annotations."scheduler.alpha.kubernetes.io/critical-pod" = ""; - labels.k8s-app = "kube-dns"; - }; - spec = { - priorityClassName = "system-cluster-critical"; - containers = [ - { - name = "kubedns"; - image = with cfg.kube-dns; "${imageName}:${finalImageTag}"; - resources = { - limits.memory = "170Mi"; - requests = { - cpu = "100m"; - memory = "70Mi"; - }; - }; - livenessProbe = { - failureThreshold = 5; - httpGet = { - path = "/healthcheck/kubedns"; - port = 10054; - scheme = "HTTP"; - }; - initialDelaySeconds = 60; - successThreshold = 1; - timeoutSeconds = 5; - }; - readinessProbe = { - httpGet = { - path = "/readiness"; - port = 8081; - scheme = "HTTP"; - }; - initialDelaySeconds = 3; - timeoutSeconds = 5; - }; - args = [ - "--domain=${cfg.clusterDomain}" - "--dns-port=10053" - "--config-dir=/kube-dns-config" - "--v=2" - ]; - env = [ - { - name = "PROMETHEUS_PORT"; - value = "10055"; - } - ]; - ports = [ - { - containerPort = 10053; - name = "dns-local"; - protocol = "UDP"; - } - { - containerPort = 10053; - name = "dns-tcp-local"; - protocol = "TCP"; - } - { - containerPort = 10055; - name = "metrics"; - protocol = "TCP"; - } - ]; - volumeMounts = [ - { - mountPath = "/kube-dns-config"; - name = "kube-dns-config"; - } - ]; - } - { - name = "dnsmasq"; - image = with cfg.dnsmasq-nanny; "${imageName}:${finalImageTag}"; - livenessProbe = { - httpGet = { - path = "/healthcheck/dnsmasq"; - port = 10054; - scheme = "HTTP"; - }; - initialDelaySeconds = 60; - timeoutSeconds = 5; - successThreshold = 1; - failureThreshold = 5; - }; - args = [ - "-v=2" - "-logtostderr" - "-configDir=/etc/k8s/dns/dnsmasq-nanny" - "-restartDnsmasq=true" - "--" - "-k" - "--cache-size=1000" - "--log-facility=-" - "--server=/${cfg.clusterDomain}/127.0.0.1#10053" - "--server=/in-addr.arpa/127.0.0.1#10053" - "--server=/ip6.arpa/127.0.0.1#10053" - ]; - ports = [ - { - containerPort = 53; - name = "dns"; - protocol = "UDP"; - } - { - containerPort = 53; - name = "dns-tcp"; - protocol = "TCP"; - } - ]; - resources = { - requests = { - cpu = "150m"; - memory = "20Mi"; - }; - }; - volumeMounts = [ - { - mountPath = "/etc/k8s/dns/dnsmasq-nanny"; - name = "kube-dns-config"; - } - ]; - } - { - name = "sidecar"; - image = with cfg.sidecar; "${imageName}:${finalImageTag}"; - livenessProbe = { - httpGet = { - path = "/metrics"; - port = 10054; - scheme = "HTTP"; - }; - initialDelaySeconds = 60; - timeoutSeconds = 5; - successThreshold = 1; - failureThreshold = 5; - }; - args = [ - "--v=2" - "--logtostderr" - "--probe=kubedns,127.0.0.1:10053,kubernetes.default.svc.${cfg.clusterDomain},5,A" - "--probe=dnsmasq,127.0.0.1:53,kubernetes.default.svc.${cfg.clusterDomain},5,A" - ]; - ports = [ - { - containerPort = 10054; - name = "metrics"; - protocol = "TCP"; - } - ]; - resources = { - requests = { - cpu = "10m"; - memory = "20Mi"; - }; - }; - } - ]; - dnsPolicy = "Default"; - serviceAccountName = "kube-dns"; - tolerations = [ - { - key = "CriticalAddonsOnly"; - operator = "Exists"; - } - ]; - volumes = [ - { - configMap = { - name = "kube-dns"; - optional = true; - }; - name = "kube-dns-config"; - } - ]; - }; - }; - }; - }; - - kubedns-svc = { - apiVersion = "v1"; - kind = "Service"; - metadata = { - labels = { - "addonmanager.kubernetes.io/mode" = "Reconcile"; - "k8s-app" = "kube-dns"; - "kubernetes.io/cluster-service" = "true"; - "kubernetes.io/name" = "KubeDNS"; - }; - name = "kube-dns"; - namespace = "kube-system"; - }; - spec = { - clusterIP = cfg.clusterIp; - ports = [ - {name = "dns"; port = 53; protocol = "UDP";} - {name = "dns-tcp"; port = 53; protocol = "TCP";} - ]; - selector.k8s-app = "kube-dns"; - }; - }; - - kubedns-sa = { - apiVersion = "v1"; - kind = "ServiceAccount"; - metadata = { - name = "kube-dns"; - namespace = "kube-system"; - labels = { - "kubernetes.io/cluster-service" = "true"; - "addonmanager.kubernetes.io/mode" = "Reconcile"; - }; - }; - }; - - kubedns-cm = { - apiVersion = "v1"; - kind = "ConfigMap"; - metadata = { - name = "kube-dns"; - namespace = "kube-system"; - labels = { - "addonmanager.kubernetes.io/mode" = "EnsureExists"; - }; - }; - }; - }; - - services.kubernetes.kubelet.clusterDns = mkDefault cfg.clusterIp; - }; -} diff --git a/nixos/modules/services/cluster/kubernetes/flannel.nix b/nixos/modules/services/cluster/kubernetes/flannel.nix new file mode 100644 index 0000000000000000000000000000000000000000..d9437427d6d1af488cecd9ec29dff9068f328e87 --- /dev/null +++ b/nixos/modules/services/cluster/kubernetes/flannel.nix @@ -0,0 +1,184 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + top = config.services.kubernetes; + cfg = top.flannel; + + # we want flannel to use kubernetes itself as configuration backend, not direct etcd + storageBackend = "kubernetes"; + + # needed for flannel to pass options to docker + mkDockerOpts = pkgs.runCommand "mk-docker-opts" { + buildInputs = [ pkgs.makeWrapper ]; + } '' + mkdir -p $out + cp ${pkgs.kubernetes.src}/cluster/centos/node/bin/mk-docker-opts.sh $out/mk-docker-opts.sh + + # bashInteractive needed for `compgen` + makeWrapper ${pkgs.bashInteractive}/bin/bash $out/mk-docker-opts --add-flags "$out/mk-docker-opts.sh" + ''; +in +{ + ###### interface + options.services.kubernetes.flannel = { + enable = mkEnableOption "flannel networking"; + kubeconfig = top.lib.mkKubeConfigOptions "Kubernetes flannel"; + }; + + ###### implementation + config = let + + flannelPaths = filter (a: a != null) [ + cfg.kubeconfig.caFile + cfg.kubeconfig.certFile + cfg.kubeconfig.keyFile + ]; + kubeconfig = top.lib.mkKubeConfig "flannel" cfg.kubeconfig; + + in mkIf cfg.enable { + services.flannel = { + + enable = mkDefault true; + network = mkDefault top.clusterCidr; + inherit storageBackend kubeconfig; + nodeName = top.kubelet.hostname; + }; + + services.kubernetes.kubelet = { + networkPlugin = mkDefault "cni"; + cni.config = mkDefault [{ + name = "mynet"; + type = "flannel"; + delegate = { + isDefaultGateway = true; + bridge = "docker0"; + }; + }]; + }; + + systemd.services.mk-docker-opts = { + description = "Pre-Docker Actions"; + wantedBy = [ "flannel.target" ]; + before = [ "flannel.target" ]; + path = with pkgs; [ gawk gnugrep ]; + script = '' + ${mkDockerOpts}/mk-docker-opts -d /run/flannel/docker + systemctl restart docker + ''; + unitConfig.ConditionPathExists = [ "/run/flannel/subnet.env" ]; + serviceConfig.Type = "oneshot"; + }; + + systemd.paths.flannel-subnet-env = { + wantedBy = [ "mk-docker-opts.service" ]; + pathConfig = { + PathExists = [ "/run/flannel/subnet.env" ]; + PathChanged = [ "/run/flannel/subnet.env" ]; + Unit = "mk-docker-opts.service"; + }; + }; + + systemd.targets.flannel = { + wantedBy = [ "kube-node-online.target" ]; + before = [ "kube-node-online.target" ]; + }; + + systemd.services.flannel = { + wantedBy = [ "flannel.target" ]; + after = [ "kubelet.target" ]; + before = [ "flannel.target" ]; + path = with pkgs; [ iptables kubectl ]; + environment.KUBECONFIG = kubeconfig; + preStart = let + args = [ + "--selector=kubernetes.io/hostname=${top.kubelet.hostname}" + # flannel exits if node is not registered yet, before that there is no podCIDR + "--output=jsonpath={.items[0].spec.podCIDR}" + # if jsonpath cannot be resolved exit with status 1 + "--allow-missing-template-keys=false" + ]; + in '' + until kubectl get nodes ${concatStringsSep " " args} 2>/dev/null; do + echo Waiting for ${top.kubelet.hostname} to be RegisteredNode + sleep 1 + done + ''; + unitConfig.ConditionPathExists = flannelPaths; + }; + + systemd.paths.flannel = { + wantedBy = [ "flannel.service" ]; + pathConfig = { + PathExists = flannelPaths; + PathChanged = flannelPaths; + }; + }; + + services.kubernetes.flannel.kubeconfig.server = mkDefault top.apiserverAddress; + + systemd.services.docker = { + environment.DOCKER_OPTS = "-b none"; + serviceConfig.EnvironmentFile = "-/run/flannel/docker"; + }; + + # read environment variables generated by mk-docker-opts + virtualisation.docker.extraOptions = "$DOCKER_OPTS"; + + networking = { + firewall.allowedUDPPorts = [ + 8285 # flannel udp + 8472 # flannel vxlan + ]; + dhcpcd.denyInterfaces = [ "docker*" "flannel*" ]; + }; + + services.kubernetes.pki.certs = { + flannelClient = top.lib.mkCert { + name = "flannel-client"; + CN = "flannel-client"; + action = "systemctl restart flannel.service"; + }; + }; + + # give flannel som kubernetes rbac permissions if applicable + services.kubernetes.addonManager.bootstrapAddons = mkIf ((storageBackend == "kubernetes") && (elem "RBAC" top.apiserver.authorizationMode)) { + flannel-cr = { + apiVersion = "rbac.authorization.k8s.io/v1beta1"; + kind = "ClusterRole"; + metadata = { name = "flannel"; }; + rules = [{ + apiGroups = [ "" ]; + resources = [ "pods" ]; + verbs = [ "get" ]; + } + { + apiGroups = [ "" ]; + resources = [ "nodes" ]; + verbs = [ "list" "watch" ]; + } + { + apiGroups = [ "" ]; + resources = [ "nodes/status" ]; + verbs = [ "patch" ]; + }]; + }; + + flannel-crb = { + apiVersion = "rbac.authorization.k8s.io/v1beta1"; + kind = "ClusterRoleBinding"; + metadata = { name = "flannel"; }; + roleRef = { + apiGroup = "rbac.authorization.k8s.io"; + kind = "ClusterRole"; + name = "flannel"; + }; + subjects = [{ + kind = "User"; + name = "flannel-client"; + }]; + }; + }; + }; +} diff --git a/nixos/modules/services/cluster/kubernetes/kubelet.nix b/nixos/modules/services/cluster/kubernetes/kubelet.nix new file mode 100644 index 0000000000000000000000000000000000000000..2a4a0624555d8c708e6f01b364af7ba8467e9bc6 --- /dev/null +++ b/nixos/modules/services/cluster/kubernetes/kubelet.nix @@ -0,0 +1,426 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + top = config.services.kubernetes; + cfg = top.kubelet; + + cniConfig = + if cfg.cni.config != [] && !(isNull cfg.cni.configDir) then + throw "Verbatim CNI-config and CNI configDir cannot both be set." + else if !(isNull cfg.cni.configDir) then + cfg.cni.configDir + else + (pkgs.buildEnv { + name = "kubernetes-cni-config"; + paths = imap (i: entry: + pkgs.writeTextDir "${toString (10+i)}-${entry.type}.conf" (builtins.toJSON entry) + ) cfg.cni.config; + }); + + infraContainer = pkgs.dockerTools.buildImage { + name = "pause"; + tag = "latest"; + contents = top.package.pause; + config.Cmd = "/bin/pause"; + }; + + kubeconfig = top.lib.mkKubeConfig "kubelet" cfg.kubeconfig; + + manifests = pkgs.buildEnv { + name = "kubernetes-manifests"; + paths = mapAttrsToList (name: manifest: + pkgs.writeTextDir "${name}.json" (builtins.toJSON manifest) + ) cfg.manifests; + }; + + manifestPath = "kubernetes/manifests"; + + taintOptions = with lib.types; { name, ... }: { + options = { + key = mkOption { + description = "Key of taint."; + default = name; + type = str; + }; + value = mkOption { + description = "Value of taint."; + type = str; + }; + effect = mkOption { + description = "Effect of taint."; + example = "NoSchedule"; + type = enum ["NoSchedule" "PreferNoSchedule" "NoExecute"]; + }; + }; + }; + + taints = concatMapStringsSep "," (v: "${v.key}=${v.value}:${v.effect}") (mapAttrsToList (n: v: v) cfg.taints); +in +{ + ###### interface + options.services.kubernetes.kubelet = with lib.types; { + + address = mkOption { + description = "Kubernetes kubelet info server listening address."; + default = "0.0.0.0"; + type = str; + }; + + allowPrivileged = mkOption { + description = "Whether to allow Kubernetes containers to request privileged mode."; + default = false; + type = bool; + }; + + clusterDns = mkOption { + description = "Use alternative DNS."; + default = "10.1.0.1"; + type = str; + }; + + clusterDomain = mkOption { + description = "Use alternative domain."; + default = config.services.kubernetes.addons.dns.clusterDomain; + type = str; + }; + + clientCaFile = mkOption { + description = "Kubernetes apiserver CA file for client authentication."; + default = top.caFile; + type = nullOr path; + }; + + cni = { + packages = mkOption { + description = "List of network plugin packages to install."; + type = listOf package; + default = []; + }; + + config = mkOption { + description = "Kubernetes CNI configuration."; + type = listOf 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" + }] + ''; + }; + + configDir = mkOption { + description = "Path to Kubernetes CNI configuration directory."; + type = nullOr path; + default = null; + }; + }; + + enable = mkEnableOption "Kubernetes kubelet."; + + extraOpts = mkOption { + description = "Kubernetes kubelet extra command line options."; + default = ""; + type = str; + }; + + featureGates = mkOption { + description = "List set of feature gates"; + default = top.featureGates; + type = listOf str; + }; + + healthz = { + bind = mkOption { + description = "Kubernetes kubelet healthz listening address."; + default = "127.0.0.1"; + type = str; + }; + + port = mkOption { + description = "Kubernetes kubelet healthz port."; + default = 10248; + type = int; + }; + }; + + hostname = mkOption { + description = "Kubernetes kubelet hostname override."; + default = config.networking.hostName; + type = str; + }; + + kubeconfig = top.lib.mkKubeConfigOptions "Kubelet"; + + manifests = mkOption { + description = "List of manifests to bootstrap with kubelet (only pods can be created as manifest entry)"; + type = attrsOf attrs; + default = {}; + }; + + networkPlugin = mkOption { + description = "Network plugin to use by Kubernetes."; + type = nullOr (enum ["cni" "kubenet"]); + default = "kubenet"; + }; + + nodeIp = mkOption { + description = "IP address of the node. If set, kubelet will use this IP address for the node."; + default = null; + type = nullOr str; + }; + + registerNode = mkOption { + description = "Whether to auto register kubelet with API server."; + default = true; + type = bool; + }; + + port = mkOption { + description = "Kubernetes kubelet info server listening port."; + default = 10250; + type = int; + }; + + seedDockerImages = mkOption { + description = "List of docker images to preload on system"; + default = []; + type = listOf package; + }; + + taints = mkOption { + description = "Node taints (https://kubernetes.io/docs/concepts/configuration/assign-pod-node/)."; + default = {}; + type = attrsOf (submodule [ taintOptions ]); + }; + + tlsCertFile = mkOption { + description = "File containing x509 Certificate for HTTPS."; + default = null; + type = nullOr path; + }; + + tlsKeyFile = mkOption { + description = "File containing x509 private key matching tlsCertFile."; + default = null; + type = nullOr path; + }; + + unschedulable = mkOption { + description = "Whether to set node taint to unschedulable=true as it is the case of node that has only master role."; + default = false; + type = bool; + }; + + verbosity = mkOption { + description = '' + Optional glog verbosity level for logging statements. See + + ''; + default = null; + type = nullOr int; + }; + + }; + + ###### implementation + config = mkMerge [ + (let + + kubeletPaths = filter (a: a != null) [ + cfg.kubeconfig.caFile + cfg.kubeconfig.certFile + cfg.kubeconfig.keyFile + cfg.clientCaFile + cfg.tlsCertFile + cfg.tlsKeyFile + ]; + + in mkIf cfg.enable { + services.kubernetes.kubelet.seedDockerImages = [infraContainer]; + + systemd.services.kubelet = { + description = "Kubernetes Kubelet Service"; + wantedBy = [ "kubelet.target" ]; + after = [ "kube-control-plane-online.target" ]; + before = [ "kubelet.target" ]; + path = with pkgs; [ gitMinimal openssh docker utillinux iproute ethtool thin-provisioning-tools iptables socat ] ++ top.path; + preStart = '' + rm -f /opt/cni/bin/* || true + ${concatMapStrings (package: '' + echo "Linking cni package: ${package}" + ln -fs ${package}/bin/* /opt/cni/bin + '') cfg.cni.packages} + ''; + serviceConfig = { + Slice = "kubernetes.slice"; + CPUAccounting = true; + MemoryAccounting = true; + Restart = "on-failure"; + RestartSec = "1000ms"; + ExecStart = ''${top.package}/bin/kubelet \ + --address=${cfg.address} \ + --allow-privileged=${boolToString cfg.allowPrivileged} \ + --authentication-token-webhook \ + --authentication-token-webhook-cache-ttl="10s" \ + --authorization-mode=Webhook \ + ${optionalString (cfg.clientCaFile != null) + "--client-ca-file=${cfg.clientCaFile}"} \ + ${optionalString (cfg.clusterDns != "") + "--cluster-dns=${cfg.clusterDns}"} \ + ${optionalString (cfg.clusterDomain != "") + "--cluster-domain=${cfg.clusterDomain}"} \ + --cni-conf-dir=${cniConfig} \ + ${optionalString (cfg.featureGates != []) + "--feature-gates=${concatMapStringsSep "," (feature: "${feature}=true") cfg.featureGates}"} \ + --hairpin-mode=hairpin-veth \ + --healthz-bind-address=${cfg.healthz.bind} \ + --healthz-port=${toString cfg.healthz.port} \ + --hostname-override=${cfg.hostname} \ + --kubeconfig=${kubeconfig} \ + ${optionalString (cfg.networkPlugin != null) + "--network-plugin=${cfg.networkPlugin}"} \ + ${optionalString (cfg.nodeIp != null) + "--node-ip=${cfg.nodeIp}"} \ + --pod-infra-container-image=pause \ + ${optionalString (cfg.manifests != {}) + "--pod-manifest-path=/etc/${manifestPath}"} \ + --port=${toString cfg.port} \ + --register-node=${boolToString cfg.registerNode} \ + ${optionalString (taints != "") + "--register-with-taints=${taints}"} \ + --root-dir=${top.dataDir} \ + ${optionalString (cfg.tlsCertFile != null) + "--tls-cert-file=${cfg.tlsCertFile}"} \ + ${optionalString (cfg.tlsKeyFile != null) + "--tls-private-key-file=${cfg.tlsKeyFile}"} \ + ${optionalString (cfg.verbosity != null) "--v=${toString cfg.verbosity}"} \ + ${cfg.extraOpts} + ''; + WorkingDirectory = top.dataDir; + }; + unitConfig.ConditionPathExists = kubeletPaths; + }; + + systemd.paths.kubelet = { + wantedBy = [ "kubelet.service" ]; + pathConfig = { + PathExists = kubeletPaths; + PathChanged = kubeletPaths; + }; + }; + + systemd.services.docker.before = [ "kubelet.service" ]; + + systemd.services.docker-seed-images = { + wantedBy = [ "docker.service" ]; + after = [ "docker.service" ]; + before = [ "kubelet.service" ]; + path = with pkgs; [ docker ]; + preStart = '' + ${concatMapStrings (img: '' + echo "Seeding docker image: ${img}" + docker load <${img} + '') cfg.seedDockerImages} + ''; + script = "echo Ok"; + serviceConfig.Type = "oneshot"; + serviceConfig.RemainAfterExit = true; + serviceConfig.Slice = "kubernetes.slice"; + }; + + systemd.services.kubelet-online = { + wantedBy = [ "kube-node-online.target" ]; + after = [ "flannel.target" "kubelet.target" ]; + before = [ "kube-node-online.target" ]; + # it is complicated. flannel needs kubelet to run the pause container before + # it discusses the node CIDR with apiserver and afterwards configures and restarts + # dockerd. Until then prevent creating any pods because they have to be recreated anyway + # because the network of docker0 has been changed by flannel. + script = let + docker-env = "/run/flannel/docker"; + flannel-date = "stat --print=%Y ${docker-env}"; + docker-date = "systemctl show --property=ActiveEnterTimestamp --value docker"; + in '' + until test -f ${docker-env} ; do sleep 1 ; done + while test `${flannel-date}` -gt `date +%s --date="$(${docker-date})"` ; do + sleep 1 + done + ''; + serviceConfig.Type = "oneshot"; + serviceConfig.Slice = "kubernetes.slice"; + }; + + # Allways include cni plugins + services.kubernetes.kubelet.cni.packages = [pkgs.cni-plugins]; + + boot.kernelModules = ["br_netfilter"]; + + services.kubernetes.kubelet.hostname = with config.networking; + mkDefault (hostName + optionalString (!isNull domain) ".${domain}"); + + services.kubernetes.pki.certs = with top.lib; { + kubelet = mkCert { + name = "kubelet"; + CN = top.kubelet.hostname; + action = "systemctl restart kubelet.service"; + + }; + kubeletClient = mkCert { + name = "kubelet-client"; + CN = "system:node:${top.kubelet.hostname}"; + fields = { + O = "system:nodes"; + }; + action = "systemctl restart kubelet.service"; + }; + }; + + services.kubernetes.kubelet.kubeconfig.server = mkDefault top.apiserverAddress; + }) + + (mkIf (cfg.enable && cfg.manifests != {}) { + environment.etc = mapAttrs' (name: manifest: + nameValuePair "${manifestPath}/${name}.json" { + text = builtins.toJSON manifest; + mode = "0755"; + } + ) cfg.manifests; + }) + + (mkIf (cfg.unschedulable && cfg.enable) { + services.kubernetes.kubelet.taints.unschedulable = { + value = "true"; + effect = "NoSchedule"; + }; + }) + + { + systemd.targets.kubelet = { + wantedBy = [ "kube-node-online.target" ]; + before = [ "kube-node-online.target" ]; + }; + + systemd.targets.kube-node-online = { + wantedBy = [ "kubernetes.target" ]; + before = [ "kubernetes.target" ]; + }; + } + ]; +} diff --git a/nixos/modules/services/cluster/kubernetes/pki.nix b/nixos/modules/services/cluster/kubernetes/pki.nix new file mode 100644 index 0000000000000000000000000000000000000000..32eacad9025f4fa2c7c1ff8c916b348e0d68f33b --- /dev/null +++ b/nixos/modules/services/cluster/kubernetes/pki.nix @@ -0,0 +1,407 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + top = config.services.kubernetes; + cfg = top.pki; + + csrCA = pkgs.writeText "kube-pki-cacert-csr.json" (builtins.toJSON { + key = { + algo = "rsa"; + size = 2048; + }; + names = singleton cfg.caSpec; + }); + + csrCfssl = pkgs.writeText "kube-pki-cfssl-csr.json" (builtins.toJSON { + key = { + algo = "rsa"; + size = 2048; + }; + CN = top.masterAddress; + }); + + cfsslAPITokenBaseName = "apitoken.secret"; + cfsslAPITokenPath = "${config.services.cfssl.dataDir}/${cfsslAPITokenBaseName}"; + certmgrAPITokenPath = "${top.secretsPath}/${cfsslAPITokenBaseName}"; + cfsslAPITokenLength = 32; + + clusterAdminKubeconfig = with cfg.certs.clusterAdmin; { + server = top.apiserverAddress; + certFile = cert; + keyFile = key; + }; + + remote = with config.services; "https://${kubernetes.masterAddress}:${toString cfssl.port}"; +in +{ + ###### interface + options.services.kubernetes.pki = with lib.types; { + + enable = mkEnableOption "easyCert issuer service"; + + certs = mkOption { + description = "List of certificate specs to feed to cert generator."; + default = {}; + type = attrs; + }; + + genCfsslCACert = mkOption { + description = '' + Whether to automatically generate cfssl CA certificate and key, + if they don't exist. + ''; + default = true; + type = bool; + }; + + genCfsslAPICerts = mkOption { + description = '' + Whether to automatically generate cfssl API webserver TLS cert and key, + if they don't exist. + ''; + default = true; + type = bool; + }; + + genCfsslAPIToken = mkOption { + description = '' + Whether to automatically generate cfssl API-token secret, + if they doesn't exist. + ''; + default = true; + type = bool; + }; + + pkiTrustOnBootstrap = mkOption { + description = "Whether to always trust remote cfssl server upon initial PKI bootstrap."; + default = true; + type = bool; + }; + + caCertPathPrefix = mkOption { + description = '' + Path-prefrix for the CA-certificate to be used for cfssl signing. + Suffixes ".pem" and "-key.pem" will be automatically appended for + the public and private keys respectively. + ''; + default = "${config.services.cfssl.dataDir}/ca"; + type = str; + }; + + caSpec = mkOption { + description = "Certificate specification for the auto-generated CAcert."; + default = { + CN = "kubernetes-cluster-ca"; + O = "NixOS"; + OU = "services.kubernetes.pki.caSpec"; + L = "auto-generated"; + }; + type = attrs; + }; + + etcClusterAdminKubeconfig = mkOption { + description = '' + Symlink a kubeconfig with cluster-admin privileges to environment path + (/etc/<path>). + ''; + default = null; + type = nullOr str; + }; + + }; + + ###### implementation + config = mkIf cfg.enable + (let + cfsslCertPathPrefix = "${config.services.cfssl.dataDir}/cfssl"; + cfsslCert = "${cfsslCertPathPrefix}.pem"; + cfsslKey = "${cfsslCertPathPrefix}-key.pem"; + cfsslPort = toString config.services.cfssl.port; + + certmgrPaths = [ + top.caFile + certmgrAPITokenPath + ]; + in + { + + services.cfssl = mkIf (top.apiserver.enable) { + enable = true; + address = "0.0.0.0"; + tlsCert = cfsslCert; + tlsKey = cfsslKey; + configFile = toString (pkgs.writeText "cfssl-config.json" (builtins.toJSON { + signing = { + profiles = { + default = { + usages = ["digital signature"]; + auth_key = "default"; + expiry = "720h"; + }; + }; + }; + auth_keys = { + default = { + type = "standard"; + key = "file:${cfsslAPITokenPath}"; + }; + }; + })); + }; + + systemd.services.cfssl.preStart = with pkgs; with config.services.cfssl; mkIf (top.apiserver.enable) + (concatStringsSep "\n" [ + "set -e" + (optionalString cfg.genCfsslCACert '' + if [ ! -f "${cfg.caCertPathPrefix}.pem" ]; then + ${cfssl}/bin/cfssl genkey -initca ${csrCA} | \ + ${cfssl}/bin/cfssljson -bare ${cfg.caCertPathPrefix} + fi + '') + (optionalString cfg.genCfsslAPICerts '' + if [ ! -f "${dataDir}/cfssl.pem" ]; then + ${cfssl}/bin/cfssl gencert -ca "${cfg.caCertPathPrefix}.pem" -ca-key "${cfg.caCertPathPrefix}-key.pem" ${csrCfssl} | \ + ${cfssl}/bin/cfssljson -bare ${cfsslCertPathPrefix} + fi + '') + (optionalString cfg.genCfsslAPIToken '' + if [ ! -f "${cfsslAPITokenPath}" ]; then + head -c ${toString (cfsslAPITokenLength / 2)} /dev/urandom | od -An -t x | tr -d ' ' >"${cfsslAPITokenPath}" + fi + chown cfssl "${cfsslAPITokenPath}" && chmod 400 "${cfsslAPITokenPath}" + '')]); + + systemd.targets.cfssl-online = { + wantedBy = [ "network-online.target" ]; + after = [ "cfssl.service" "network-online.target" "cfssl-online.service" ]; + }; + + systemd.services.cfssl-online = { + description = "Wait for ${remote} to be reachable."; + wantedBy = [ "cfssl-online.target" ]; + before = [ "cfssl-online.target" ]; + path = [ pkgs.curl ]; + preStart = '' + until curl --fail-early -fskd '{}' ${remote}/api/v1/cfssl/info -o /dev/null; do + echo curl ${remote}/api/v1/cfssl/info: exit status $? + sleep 2 + done + ''; + script = "echo Ok"; + serviceConfig = { + TimeoutSec = "300"; + }; + }; + + systemd.services.kube-certmgr-bootstrap = { + description = "Kubernetes certmgr bootstrapper"; + wantedBy = [ "cfssl-online.target" ]; + after = [ "cfssl-online.target" ]; + before = [ "certmgr.service" ]; + path = with pkgs; [ curl cfssl ]; + script = concatStringsSep "\n" ['' + set -e + + mkdir -p $(dirname ${certmgrAPITokenPath}) + mkdir -p $(dirname ${top.caFile}) + + # If there's a cfssl (cert issuer) running locally, then don't rely on user to + # manually paste it in place. Just symlink. + # otherwise, create the target file, ready for users to insert the token + + if [ -f "${cfsslAPITokenPath}" ]; then + ln -fs "${cfsslAPITokenPath}" "${certmgrAPITokenPath}" + else + touch "${certmgrAPITokenPath}" && chmod 600 "${certmgrAPITokenPath}" + fi + '' + (optionalString (cfg.pkiTrustOnBootstrap) '' + if [ ! -s "${top.caFile}" ]; then + until test -s ${top.caFile}.json; do + sleep 2 + curl --fail-early -fskd '{}' ${remote}/api/v1/cfssl/info -o ${top.caFile}.json + done + cfssljson -f ${top.caFile}.json -stdout >${top.caFile} + rm ${top.caFile}.json + fi + '') + ]; + serviceConfig = { + TimeoutSec = "500"; + }; + }; + + services.certmgr = { + enable = true; + package = pkgs.certmgr-selfsigned; + svcManager = "command"; + specs = + let + mkSpec = _: cert: { + inherit (cert) action; + authority = { + inherit remote; + file.path = cert.caCert; + root_ca = cert.caCert; + profile = "default"; + auth_key_file = certmgrAPITokenPath; + }; + certificate = { + path = cert.cert; + }; + private_key = cert.privateKeyOptions; + request = { + inherit (cert) CN hosts; + key = { + algo = "rsa"; + size = 2048; + }; + names = [ cert.fields ]; + }; + }; + in + mapAttrs mkSpec cfg.certs; + }; + + systemd.services.certmgr = { + wantedBy = [ "cfssl-online.target" ]; + after = [ "cfssl-online.target" "kube-certmgr-bootstrap.service" ]; + preStart = '' + while ! test -s ${certmgrAPITokenPath} ; do + sleep 1 + echo Waiting for ${certmgrAPITokenPath} + done + ''; + unitConfig.ConditionPathExists = certmgrPaths; + }; + + systemd.paths.certmgr = { + wantedBy = [ "certmgr.service" ]; + pathConfig = { + PathExists = certmgrPaths; + PathChanged = certmgrPaths; + }; + }; + + environment.etc.${cfg.etcClusterAdminKubeconfig}.source = mkIf (!isNull cfg.etcClusterAdminKubeconfig) + (top.lib.mkKubeConfig "cluster-admin" clusterAdminKubeconfig); + + environment.systemPackages = mkIf (top.kubelet.enable || top.proxy.enable) [ + (pkgs.writeScriptBin "nixos-kubernetes-node-join" '' + set -e + exec 1>&2 + + if [ $# -gt 0 ]; then + echo "Usage: $(basename $0)" + echo "" + echo "No args. Apitoken must be provided on stdin." + echo "To get the apitoken, execute: 'sudo cat ${certmgrAPITokenPath}' on the master node." + exit 1 + fi + + if [ $(id -u) != 0 ]; then + echo "Run as root please." + exit 1 + fi + + read -r token + if [ ''${#token} != ${toString cfsslAPITokenLength} ]; then + echo "Token must be of length ${toString cfsslAPITokenLength}." + exit 1 + fi + + do_restart=$(test -s ${certmgrAPITokenPath} && echo -n y || echo -n n) + + echo $token > ${certmgrAPITokenPath} + chmod 600 ${certmgrAPITokenPath} + + if [ y = $do_restart ]; then + echo "Restarting certmgr..." >&1 + systemctl restart certmgr + fi + + echo "Node joined succesfully" >&1 + '')]; + + # isolate etcd on loopback at the master node + # easyCerts doesn't support multimaster clusters anyway atm. + services.etcd = mkIf top.apiserver.enable (with cfg.certs.etcd; { + listenClientUrls = ["https://127.0.0.1:2379"]; + listenPeerUrls = ["https://127.0.0.1:2380"]; + advertiseClientUrls = ["https://etcd.local:2379"]; + initialCluster = ["${top.masterAddress}=https://etcd.local:2380"]; + initialAdvertisePeerUrls = ["https://etcd.local:2380"]; + certFile = mkDefault cert; + keyFile = mkDefault key; + trustedCaFile = mkDefault caCert; + }); + networking.extraHosts = mkIf (config.services.etcd.enable) '' + 127.0.0.1 etcd.${top.addons.dns.clusterDomain} etcd.local + ''; + + services.kubernetes = { + + apiserver = mkIf top.apiserver.enable (with cfg.certs.apiServer; { + etcd = with cfg.certs.apiserverEtcdClient; { + servers = ["https://etcd.local:2379"]; + certFile = mkDefault cert; + keyFile = mkDefault key; + caFile = mkDefault caCert; + }; + clientCaFile = mkDefault caCert; + tlsCertFile = mkDefault cert; + tlsKeyFile = mkDefault key; + serviceAccountKeyFile = mkDefault cfg.certs.serviceAccount.cert; + kubeletClientCaFile = mkDefault caCert; + kubeletClientCertFile = mkDefault cfg.certs.apiserverKubeletClient.cert; + kubeletClientKeyFile = mkDefault cfg.certs.apiserverKubeletClient.key; + proxyClientCertFile = mkDefault cfg.certs.apiserverProxyClient.cert; + proxyClientKeyFile = mkDefault cfg.certs.apiserverProxyClient.key; + }); + addonManager = mkIf top.addonManager.enable { + kubeconfig = with cfg.certs.addonManager; { + certFile = mkDefault cert; + keyFile = mkDefault key; + }; + bootstrapAddonsKubeconfig = clusterAdminKubeconfig; + }; + controllerManager = mkIf top.controllerManager.enable { + serviceAccountKeyFile = mkDefault cfg.certs.serviceAccount.key; + rootCaFile = cfg.certs.controllerManagerClient.caCert; + kubeconfig = with cfg.certs.controllerManagerClient; { + certFile = mkDefault cert; + keyFile = mkDefault key; + }; + }; + flannel = mkIf top.flannel.enable { + kubeconfig = with cfg.certs.flannelClient; { + certFile = cert; + keyFile = key; + }; + }; + scheduler = mkIf top.scheduler.enable { + kubeconfig = with cfg.certs.schedulerClient; { + certFile = mkDefault cert; + keyFile = mkDefault key; + }; + }; + kubelet = mkIf top.kubelet.enable { + clientCaFile = mkDefault cfg.certs.kubelet.caCert; + tlsCertFile = mkDefault cfg.certs.kubelet.cert; + tlsKeyFile = mkDefault cfg.certs.kubelet.key; + kubeconfig = with cfg.certs.kubeletClient; { + certFile = mkDefault cert; + keyFile = mkDefault key; + }; + }; + proxy = mkIf top.proxy.enable { + kubeconfig = with cfg.certs.kubeProxyClient; { + certFile = mkDefault cert; + keyFile = mkDefault key; + }; + }; + }; + }); +} diff --git a/nixos/modules/services/cluster/kubernetes/proxy.nix b/nixos/modules/services/cluster/kubernetes/proxy.nix new file mode 100644 index 0000000000000000000000000000000000000000..23f4d97b7030268630f9ef667a86335a15b27075 --- /dev/null +++ b/nixos/modules/services/cluster/kubernetes/proxy.nix @@ -0,0 +1,107 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + top = config.services.kubernetes; + cfg = top.proxy; +in +{ + + ###### interface + options.services.kubernetes.proxy = with lib.types; { + + bindAddress = mkOption { + description = "Kubernetes proxy listening address."; + default = "0.0.0.0"; + type = str; + }; + + enable = mkEnableOption "Kubernetes proxy"; + + extraOpts = mkOption { + description = "Kubernetes proxy extra command line options."; + default = ""; + type = str; + }; + + featureGates = mkOption { + description = "List set of feature gates"; + default = top.featureGates; + type = listOf str; + }; + + kubeconfig = top.lib.mkKubeConfigOptions "Kubernetes proxy"; + + verbosity = mkOption { + description = '' + Optional glog verbosity level for logging statements. See + + ''; + default = null; + type = nullOr int; + }; + + }; + + ###### implementation + config = let + + proxyPaths = filter (a: a != null) [ + cfg.kubeconfig.caFile + cfg.kubeconfig.certFile + cfg.kubeconfig.keyFile + ]; + + in mkIf cfg.enable { + systemd.services.kube-proxy = rec { + description = "Kubernetes Proxy Service"; + wantedBy = [ "kube-node-online.target" ]; + after = [ "kubelet-online.service" ]; + before = [ "kube-node-online.target" ]; + environment.KUBECONFIG = top.lib.mkKubeConfig "kube-proxy" cfg.kubeconfig; + path = with pkgs; [ iptables conntrack_tools kubectl ]; + preStart = '' + until kubectl auth can-i get nodes/${top.kubelet.hostname} -q 2>/dev/null; do + echo kubectl auth can-i get nodes/${top.kubelet.hostname}: exit status $? + sleep 2 + done + ''; + serviceConfig = { + Slice = "kubernetes.slice"; + ExecStart = ''${top.package}/bin/kube-proxy \ + --bind-address=${cfg.bindAddress} \ + ${optionalString (top.clusterCidr!=null) + "--cluster-cidr=${top.clusterCidr}"} \ + ${optionalString (cfg.featureGates != []) + "--feature-gates=${concatMapStringsSep "," (feature: "${feature}=true") cfg.featureGates}"} \ + --kubeconfig=${environment.KUBECONFIG} \ + ${optionalString (cfg.verbosity != null) "--v=${toString cfg.verbosity}"} \ + ${cfg.extraOpts} + ''; + WorkingDirectory = top.dataDir; + Restart = "on-failure"; + RestartSec = 5; + }; + unitConfig.ConditionPathExists = proxyPaths; + }; + + systemd.paths.kube-proxy = { + wantedBy = [ "kube-proxy.service" ]; + pathConfig = { + PathExists = proxyPaths; + PathChanged = proxyPaths; + }; + }; + + services.kubernetes.pki.certs = { + kubeProxyClient = top.lib.mkCert { + name = "kube-proxy-client"; + CN = "system:kube-proxy"; + action = "systemctl restart kube-proxy.service"; + }; + }; + + services.kubernetes.proxy.kubeconfig.server = mkDefault top.apiserverAddress; + }; +} diff --git a/nixos/modules/services/cluster/kubernetes/scheduler.nix b/nixos/modules/services/cluster/kubernetes/scheduler.nix new file mode 100644 index 0000000000000000000000000000000000000000..a0e484542951352af779c0f6847bad97964fa2cb --- /dev/null +++ b/nixos/modules/services/cluster/kubernetes/scheduler.nix @@ -0,0 +1,120 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + top = config.services.kubernetes; + cfg = top.scheduler; +in +{ + ###### interface + options.services.kubernetes.scheduler = with lib.types; { + + address = mkOption { + description = "Kubernetes scheduler listening address."; + default = "127.0.0.1"; + type = str; + }; + + enable = mkEnableOption "Kubernetes scheduler"; + + extraOpts = mkOption { + description = "Kubernetes scheduler extra command line options."; + default = ""; + type = str; + }; + + featureGates = mkOption { + description = "List set of feature gates"; + default = top.featureGates; + type = listOf str; + }; + + kubeconfig = top.lib.mkKubeConfigOptions "Kubernetes scheduler"; + + leaderElect = mkOption { + description = "Whether to start leader election before executing main loop."; + type = bool; + default = true; + }; + + port = mkOption { + description = "Kubernetes scheduler listening port."; + default = 10251; + type = int; + }; + + verbosity = mkOption { + description = '' + Optional glog verbosity level for logging statements. See + + ''; + default = null; + type = nullOr int; + }; + + }; + + ###### implementation + config = let + + schedulerPaths = filter (a: a != null) [ + cfg.kubeconfig.caFile + cfg.kubeconfig.certFile + cfg.kubeconfig.keyFile + ]; + + in mkIf cfg.enable { + systemd.services.kube-scheduler = rec { + description = "Kubernetes Scheduler Service"; + wantedBy = [ "kube-control-plane-online.target" ]; + after = [ "kube-apiserver.service" ]; + before = [ "kube-control-plane-online.target" ]; + environment.KUBECONFIG = top.lib.mkKubeConfig "kube-scheduler" cfg.kubeconfig; + path = [ pkgs.kubectl ]; + preStart = '' + until kubectl auth can-i get /api -q 2>/dev/null; do + echo kubectl auth can-i get /api: exit status $? + sleep 2 + done + ''; + serviceConfig = { + Slice = "kubernetes.slice"; + ExecStart = ''${top.package}/bin/kube-scheduler \ + --address=${cfg.address} \ + ${optionalString (cfg.featureGates != []) + "--feature-gates=${concatMapStringsSep "," (feature: "${feature}=true") cfg.featureGates}"} \ + --kubeconfig=${environment.KUBECONFIG} \ + --leader-elect=${boolToString cfg.leaderElect} \ + --port=${toString cfg.port} \ + ${optionalString (cfg.verbosity != null) "--v=${toString cfg.verbosity}"} \ + ${cfg.extraOpts} + ''; + WorkingDirectory = top.dataDir; + User = "kubernetes"; + Group = "kubernetes"; + Restart = "on-failure"; + RestartSec = 5; + }; + unitConfig.ConditionPathExists = schedulerPaths; + }; + + systemd.paths.kube-scheduler = { + wantedBy = [ "kube-scheduler.service" ]; + pathConfig = { + PathExists = schedulerPaths; + PathChanged = schedulerPaths; + }; + }; + + services.kubernetes.pki.certs = { + schedulerClient = top.lib.mkCert { + name = "kube-scheduler-client"; + CN = "system:kube-scheduler"; + action = "systemctl restart kube-scheduler.service"; + }; + }; + + services.kubernetes.scheduler.kubeconfig.server = mkDefault top.apiserverAddress; + }; +} diff --git a/nixos/modules/services/computing/slurm/slurm.nix b/nixos/modules/services/computing/slurm/slurm.nix index 1e1c5bc9f035a50c469fd31b07a6cfa85fcdd81d..d1a1383e45b0b840ee81bafc63ccd792364ba886 100644 --- a/nixos/modules/services/computing/slurm/slurm.nix +++ b/nixos/modules/services/computing/slurm/slurm.nix @@ -6,12 +6,18 @@ let cfg = config.services.slurm; # configuration file can be generated by http://slurm.schedmd.com/configurator.html + + defaultUser = "slurm"; + configFile = pkgs.writeTextDir "slurm.conf" '' + ClusterName=${cfg.clusterName} + StateSaveLocation=${cfg.stateSaveLocation} + SlurmUser=${cfg.user} ${optionalString (cfg.controlMachine != null) ''controlMachine=${cfg.controlMachine}''} ${optionalString (cfg.controlAddr != null) ''controlAddr=${cfg.controlAddr}''} - ${optionalString (cfg.nodeName != null) ''nodeName=${cfg.nodeName}''} - ${optionalString (cfg.partitionName != null) ''partitionName=${cfg.partitionName}''} + ${toString (map (x: "NodeName=${x}\n") cfg.nodeName)} + ${toString (map (x: "PartitionName=${x}\n") cfg.partitionName)} PlugStackConfig=${plugStackConfig} ProctrackType=${cfg.procTrackType} ${cfg.extraConfig} @@ -23,17 +29,24 @@ let ${cfg.extraPlugstackConfig} ''; - cgroupConfig = pkgs.writeTextDir "cgroup.conf" '' ${cfg.extraCgroupConfig} ''; + slurmdbdConf = pkgs.writeTextDir "slurmdbd.conf" + '' + DbdHost=${cfg.dbdserver.dbdHost} + SlurmUser=${cfg.user} + StorageType=accounting_storage/mysql + ${cfg.dbdserver.extraConfig} + ''; + # slurm expects some additional config files to be # in the same directory as slurm.conf etcSlurm = pkgs.symlinkJoin { name = "etc-slurm"; - paths = [ configFile cgroupConfig plugStackConfig ]; + paths = [ configFile cgroupConfig plugStackConfig ] ++ cfg.extraConfigPaths; }; in @@ -42,6 +55,8 @@ in ###### interface + meta.maintainers = [ maintainers.markuskowa ]; + options = { services.slurm = { @@ -59,6 +74,27 @@ in }; }; + dbdserver = { + enable = mkEnableOption "SlurmDBD service"; + + dbdHost = mkOption { + type = types.str; + default = config.networking.hostName; + description = '' + Hostname of the machine where slurmdbd + is running (i.e. name returned by hostname -s). + ''; + }; + + extraConfig = mkOption { + type = types.lines; + default = ""; + description = '' + Extra configuration for slurmdbd.conf + ''; + }; + }; + client = { enable = mkEnableOption "slurm client daemon"; }; @@ -105,10 +141,19 @@ in ''; }; + clusterName = mkOption { + type = types.str; + default = "default"; + example = "myCluster"; + description = '' + Necessary to distinguish accounting records in a multi-cluster environment. + ''; + }; + nodeName = mkOption { - type = types.nullOr types.str; - default = null; - example = "linux[1-32] CPUs=1 State=UNKNOWN"; + type = types.listOf types.str; + default = []; + example = literalExample ''[ "linux[1-32] CPUs=1 State=UNKNOWN" ];''; description = '' Name that SLURM uses to refer to a node (or base partition for BlueGene systems). Typically this would be the string that "/bin/hostname -s" @@ -117,9 +162,9 @@ in }; partitionName = mkOption { - type = types.nullOr types.str; - default = null; - example = "debug Nodes=linux[1-32] Default=YES MaxTime=INFINITE State=UP"; + type = types.listOf types.str; + default = []; + example = literalExample ''[ "debug Nodes=linux[1-32] Default=YES MaxTime=INFINITE State=UP" ];''; description = '' Name by which the partition may be referenced. Note that now you have to write the partition's parameters after the name. @@ -140,7 +185,7 @@ in }; procTrackType = mkOption { - type = types.string; + type = types.str; default = "proctrack/linuxproc"; description = '' Plugin to be used for process tracking on a job step basis. @@ -149,6 +194,25 @@ in ''; }; + stateSaveLocation = mkOption { + type = types.str; + default = "/var/spool/slurmctld"; + description = '' + Directory into which the Slurm controller, slurmctld, saves its state. + ''; + }; + + user = mkOption { + type = types.str; + default = defaultUser; + description = '' + Set this option when you want to run the slurmctld daemon + as something else than the default slurm user "slurm". + Note that the UID of this user needs to be the same + on all nodes. + ''; + }; + extraConfig = mkOption { default = ""; type = types.lines; @@ -174,6 +238,19 @@ in used when procTrackType=proctrack/cgroup. ''; }; + + extraConfigPaths = mkOption { + type = with types; listOf path; + default = []; + description = '' + Slurm expects config files for plugins in the same path + as slurm.conf. Add extra nix store + paths that should be merged into same directory as + slurm.conf. + ''; + }; + + }; }; @@ -210,12 +287,24 @@ in ''; }; - in mkIf (cfg.enableStools || cfg.client.enable || cfg.server.enable) { + in mkIf ( cfg.enableStools || + cfg.client.enable || + cfg.server.enable || + cfg.dbdserver.enable ) { environment.systemPackages = [ wrappedSlurm ]; services.munge.enable = mkDefault true; + # use a static uid as default to ensure it is the same on all nodes + users.users.slurm = mkIf (cfg.user == defaultUser) { + name = defaultUser; + group = "slurm"; + uid = config.ids.uids.slurm; + }; + + users.groups.slurm.gid = config.ids.uids.slurm; + systemd.services.slurmd = mkIf (cfg.client.enable) { path = with pkgs; [ wrappedSlurm coreutils ] ++ lib.optional cfg.enableSrunX11 slurm-spank-x11; @@ -225,6 +314,7 @@ in serviceConfig = { Type = "forking"; + KillMode = "process"; ExecStart = "${wrappedSlurm}/bin/slurmd"; PIDFile = "/run/slurmd.pid"; ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; @@ -251,6 +341,29 @@ in PIDFile = "/run/slurmctld.pid"; ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; }; + + preStart = '' + mkdir -p ${cfg.stateSaveLocation} + chown -R ${cfg.user}:slurm ${cfg.stateSaveLocation} + ''; + }; + + systemd.services.slurmdbd = mkIf (cfg.dbdserver.enable) { + path = with pkgs; [ wrappedSlurm munge coreutils ]; + + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" "munged.service" "mysql.service" ]; + requires = [ "munged.service" "mysql.service" ]; + + # slurm strips the last component off the path + environment.SLURM_CONF = "${slurmdbdConf}/slurm.conf"; + + serviceConfig = { + Type = "forking"; + ExecStart = "${cfg.package}/bin/slurmdbd"; + PIDFile = "/run/slurmdbd.pid"; + ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + }; }; }; diff --git a/nixos/modules/services/continuous-integration/buildbot/master.nix b/nixos/modules/services/continuous-integration/buildbot/master.nix index 8d767de37f00abeac5fa4df69d81762dc37fd4f2..9c615fbe885f623f6bf35abe2096308b27f25a9f 100644 --- a/nixos/modules/services/continuous-integration/buildbot/master.nix +++ b/nixos/modules/services/continuous-integration/buildbot/master.nix @@ -6,8 +6,12 @@ with lib; let cfg = config.services.buildbot-master; + + python = cfg.package.pythonModule; + escapeStr = s: escape ["'"] s; - masterCfg = if cfg.masterCfg == null then pkgs.writeText "master.cfg" '' + + defaultMasterCfg = pkgs.writeText "master.cfg" '' from buildbot.plugins import * factory = util.BuildFactory() c = BuildmasterConfig = dict( @@ -27,8 +31,28 @@ let factory.addStep(step) ${cfg.extraConfig} - '' - else cfg.masterCfg; + ''; + + tacFile = pkgs.writeText "buildbot-master.tac" '' + import os + + from twisted.application import service + from buildbot.master import BuildMaster + + basedir = '${cfg.buildbotDir}' + + configfile = '${cfg.masterCfg}' + + # Default umask for server + umask = None + + # note: this line is matched against to check that this is a buildmaster + # directory; do not edit it. + application = service.Application('buildmaster') + + m = BuildMaster(basedir, configfile, umask) + m.setServiceParent(application) + ''; in { options = { @@ -66,9 +90,9 @@ in { }; masterCfg = mkOption { - type = types.nullOr types.path; + type = types.path; description = "Optionally pass master.cfg path. Other options in this configuration will be ignored."; - default = null; + default = defaultMasterCfg; example = "/etc/nixos/buildbot/master.cfg"; }; @@ -175,18 +199,25 @@ in { package = mkOption { type = types.package; - default = pkgs.buildbot-full; - defaultText = "pkgs.buildbot-full"; + default = pkgs.python3Packages.buildbot-full; + defaultText = "pkgs.python3Packages.buildbot-full"; description = "Package to use for buildbot."; - example = literalExample "pkgs.buildbot-full"; + example = literalExample "pkgs.python3Packages.buildbot"; }; packages = mkOption { - default = with pkgs; [ python27Packages.twisted git ]; + default = [ pkgs.git ]; example = literalExample "[ pkgs.git ]"; type = types.listOf types.package; description = "Packages to add to PATH for the buildbot process."; }; + + pythonPackages = mkOption { + default = pythonPackages: with pythonPackages; [ ]; + defaultText = "pythonPackages: with pythonPackages; [ ]"; + description = "Packages to add the to the PYTHONPATH of the buildbot process."; + example = literalExample "pythonPackages: with pythonPackages; [ requests ]"; + }; }; }; @@ -210,14 +241,15 @@ in { description = "Buildbot Continuous Integration Server."; after = [ "network-online.target" ]; wantedBy = [ "multi-user.target" ]; - path = cfg.packages; + path = cfg.packages ++ cfg.pythonPackages python.pkgs; + environment.PYTHONPATH = "${python.withPackages (self: cfg.pythonPackages self ++ [ cfg.package ])}/${python.sitePackages}"; preStart = '' - env > envvars - mkdir -vp ${cfg.buildbotDir} - ln -sfv ${masterCfg} ${cfg.buildbotDir}/master.cfg - rm -fv $cfg.buildbotDir}/buildbot.tac - ${cfg.package}/bin/buildbot create-master ${cfg.buildbotDir} + mkdir -vp "${cfg.buildbotDir}" + # Link the tac file so buildbot command line tools recognize the directory + ln -sf "${tacFile}" "${cfg.buildbotDir}/buildbot.tac" + ${cfg.package}/bin/buildbot create-master --db "${cfg.dbUrl}" "${cfg.buildbotDir}" + rm -f buildbot.tac.new master.cfg.sample ''; serviceConfig = { @@ -225,12 +257,11 @@ in { User = cfg.user; Group = cfg.group; WorkingDirectory = cfg.home; - ExecStart = "${cfg.package}/bin/buildbot start --nodaemon ${cfg.buildbotDir}"; + # NOTE: call twistd directly with stdout logging for systemd + ExecStart = "${python.pkgs.twisted}/bin/twistd -o --nodaemon --pidfile= --logfile - --python ${tacFile}"; }; - }; }; meta.maintainers = with lib.maintainers; [ nand0p mic92 ]; - } diff --git a/nixos/modules/services/continuous-integration/buildbot/worker.nix b/nixos/modules/services/continuous-integration/buildbot/worker.nix index 67c541570b97c4af283ecc346b8b8e892930e0ca..49e04ca36228c0bfa20c484bae8957057e32c1fe 100644 --- a/nixos/modules/services/continuous-integration/buildbot/worker.nix +++ b/nixos/modules/services/continuous-integration/buildbot/worker.nix @@ -7,6 +7,40 @@ with lib; let cfg = config.services.buildbot-worker; + python = cfg.package.pythonModule; + + tacFile = pkgs.writeText "aur-buildbot-worker.tac" '' + import os + from io import open + + from buildbot_worker.bot import Worker + from twisted.application import service + + basedir = '${cfg.buildbotDir}' + + # note: this line is matched against to check that this is a worker + # directory; do not edit it. + application = service.Application('buildbot-worker') + + master_url_split = '${cfg.masterUrl}'.split(':') + buildmaster_host = master_url_split[0] + port = int(master_url_split[1]) + workername = '${cfg.workerUser}' + + with open('${cfg.workerPassFile}', 'r', encoding='utf-8') as passwd_file: + passwd = passwd_file.read().strip('\r\n') + keepalive = 600 + umask = None + maxdelay = 300 + numcpus = None + allow_shutdown = None + + s = Worker(buildmaster_host, port, workername, passwd, basedir, + keepalive, umask=umask, maxdelay=maxdelay, + numcpus=numcpus, allow_shutdown=allow_shutdown) + s.setServiceParent(application) + ''; + in { options = { services.buildbot-worker = { @@ -59,6 +93,23 @@ in { description = "Specifies the Buildbot Worker password."; }; + workerPassFile = mkOption { + type = types.path; + description = "File used to store the Buildbot Worker password"; + }; + + hostMessage = mkOption { + default = null; + type = types.nullOr types.str; + description = "Description of this worker"; + }; + + adminMessage = mkOption { + default = null; + type = types.nullOr types.str; + description = "Name of the administrator of this worker"; + }; + masterUrl = mkOption { default = "localhost:9989"; type = types.str; @@ -67,23 +118,24 @@ in { package = mkOption { type = types.package; - default = pkgs.buildbot-worker; - defaultText = "pkgs.buildbot-worker"; + default = pkgs.python3Packages.buildbot-worker; + defaultText = "pkgs.python3Packages.buildbot-worker"; description = "Package to use for buildbot worker."; - example = literalExample "pkgs.buildbot-worker"; + example = literalExample "pkgs.python2Packages.buildbot-worker"; }; packages = mkOption { - default = with pkgs; [ python27Packages.twisted git ]; + default = with pkgs; [ git ]; example = literalExample "[ pkgs.git ]"; type = types.listOf types.package; description = "Packages to add to PATH for the buildbot process."; }; - }; }; config = mkIf cfg.enable { + services.buildbot-worker.workerPassFile = mkDefault (pkgs.writeText "buildbot-worker-password" cfg.workerPass); + users.groups = optional (cfg.group == "bbworker") { name = "bbworker"; }; @@ -104,11 +156,16 @@ in { after = [ "network.target" "buildbot-master.service" ]; wantedBy = [ "multi-user.target" ]; path = cfg.packages; + environment.PYTHONPATH = "${python.withPackages (p: [ cfg.package ])}/${python.sitePackages}"; preStart = '' - mkdir -vp ${cfg.buildbotDir} - rm -fv $cfg.buildbotDir}/buildbot.tac - ${cfg.package}/bin/buildbot-worker create-worker ${cfg.buildbotDir} ${cfg.masterUrl} ${cfg.workerUser} ${cfg.workerPass} + mkdir -vp "${cfg.buildbotDir}/info" + ${optionalString (cfg.hostMessage != null) '' + ln -sf "${pkgs.writeText "buildbot-worker-host" cfg.hostMessage}" "${cfg.buildbotDir}/info/host" + ''} + ${optionalString (cfg.adminMessage != null) '' + ln -sf "${pkgs.writeText "buildbot-worker-admin" cfg.adminMessage}" "${cfg.buildbotDir}/info/admin" + ''} ''; serviceConfig = { @@ -116,11 +173,9 @@ in { User = cfg.user; Group = cfg.group; WorkingDirectory = cfg.home; - Environment = "PYTHONPATH=${cfg.package}/lib/python2.7/site-packages:${pkgs.python27Packages.future}/lib/python2.7/site-packages"; # NOTE: call twistd directly with stdout logging for systemd - #ExecStart = "${cfg.package}/bin/buildbot-worker start --nodaemon ${cfg.buildbotDir}"; - ExecStart = "${pkgs.python27Packages.twisted}/bin/twistd -n -l - -y ${cfg.buildbotDir}/buildbot.tac"; + ExecStart = "${python.pkgs.twisted}/bin/twistd --nodaemon --pidfile= --logfile - --python ${tacFile}"; }; }; diff --git a/nixos/modules/services/continuous-integration/buildkite-agent.nix b/nixos/modules/services/continuous-integration/buildkite-agent.nix index 9daf391c73c46808f4f9aba9559c563fd03cbb70..2136778aff472991d7825b50866e8ed15f5f1dac 100644 --- a/nixos/modules/services/continuous-integration/buildkite-agent.nix +++ b/nixos/modules/services/continuous-integration/buildkite-agent.nix @@ -24,7 +24,7 @@ let EOF chmod 755 $out/${name} ''; - in pkgs.runCommand "buildkite-agent-hooks" {} '' + in pkgs.runCommand "buildkite-agent-hooks" { preferLocalBuild = true; } '' mkdir $out ${concatStringsSep "\n" (mapAttrsToList mkHookEntry (filterAttrs (n: v: v != null) cfg.hooks))} ''; diff --git a/nixos/modules/services/continuous-integration/gitlab-runner.nix b/nixos/modules/services/continuous-integration/gitlab-runner.nix index a0aff1b8b5b92b4e8ea9a818fb2773dbf924c2ec..3ceaa6f5ff3e6c7df8ec38190597051c16d08f97 100644 --- a/nixos/modules/services/continuous-integration/gitlab-runner.nix +++ b/nixos/modules/services/continuous-integration/gitlab-runner.nix @@ -8,6 +8,7 @@ let if (cfg.configFile == null) then (pkgs.runCommand "config.toml" { buildInputs = [ pkgs.remarshal ]; + preferLocalBuild = true; } '' remarshal -if json -of toml \ < ${pkgs.writeText "config.json" (builtins.toJSON cfg.configOptions)} \ diff --git a/nixos/modules/services/continuous-integration/jenkins/job-builder.nix b/nixos/modules/services/continuous-integration/jenkins/job-builder.nix index 861b46a2d642fe4caa421364c3fbba8f4d02ddbb..5d1bfe4ec407e889e34e233a77409d48112c448c 100644 --- a/nixos/modules/services/continuous-integration/jenkins/job-builder.nix +++ b/nixos/modules/services/continuous-integration/jenkins/job-builder.nix @@ -42,6 +42,18 @@ in { type = types.str; description = '' User token in Jenkins used to reload config. + WARNING: This token will be world readable in the Nix store. To keep + it secret, use the option instead. + ''; + }; + + accessTokenFile = mkOption { + default = ""; + type = types.str; + example = "/run/keys/jenkins-job-builder-access-token"; + description = '' + File containing the API token for the + user. ''; }; @@ -103,6 +115,21 @@ in { }; config = mkIf (jenkinsCfg.enable && cfg.enable) { + assertions = [ + { assertion = + if cfg.accessUser != "" + then (cfg.accessToken != "" && cfg.accessTokenFile == "") || + (cfg.accessToken == "" && cfg.accessTokenFile != "") + else true; + message = '' + One of accessToken and accessTokenFile options must be non-empty + strings, but not both. Current values: + services.jenkins.jobBuilder.accessToken = "${cfg.accessToken}" + services.jenkins.jobBuilder.accessTokenFile = "${cfg.accessTokenFile}" + ''; + } + ]; + systemd.services.jenkins-job-builder = { description = "Jenkins Job Builder Service"; # JJB can run either before or after jenkins. We chose after, so we can @@ -128,8 +155,13 @@ in { ownerStamp = ".config-xml-managed-by-nixos-jenkins-job-builder"; reloadScript = '' echo "Asking Jenkins to reload config" - CRUMB=$(curl -s 'http://${cfg.accessUser}:${cfg.accessToken}@${jenkinsCfg.listenAddress}:${toString jenkinsCfg.port}${jenkinsCfg.prefix}/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,":",//crumb)') - curl --silent -X POST -H "$CRUMB" http://${cfg.accessUser}:${cfg.accessToken}@${jenkinsCfg.listenAddress}:${toString jenkinsCfg.port}${jenkinsCfg.prefix}/reload + curl_opts="--silent --fail --show-error" + access_token=${if cfg.accessTokenFile != "" + then "$(cat '${cfg.accessTokenFile}')" + else cfg.accessToken} + jenkins_url="http://${cfg.accessUser}:$access_token@${jenkinsCfg.listenAddress}:${toString jenkinsCfg.port}${jenkinsCfg.prefix}" + crumb=$(curl $curl_opts "$jenkins_url"'/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,":",//crumb)') + curl $curl_opts -X POST -H "$crumb" "$jenkins_url"/reload ''; in '' diff --git a/nixos/modules/services/databases/aerospike.nix b/nixos/modules/services/databases/aerospike.nix index 5f33164998bebcafd944a21ae8deab4ea646280c..4b905f90529d2229dbc4dbadc003fadc5e3a9e86 100644 --- a/nixos/modules/services/databases/aerospike.nix +++ b/nixos/modules/services/databases/aerospike.nix @@ -43,6 +43,7 @@ in package = mkOption { default = pkgs.aerospike; + defaultText = "pkgs.aerospike"; type = types.package; description = "Which Aerospike derivation to use"; }; diff --git a/nixos/modules/services/databases/cassandra.nix b/nixos/modules/services/databases/cassandra.nix index 86e74d5d5ab42555fd6daac062c08854563c2afc..d741ee48c48f0b78d97dc4c90ca185d3e4483c7e 100644 --- a/nixos/modules/services/databases/cassandra.nix +++ b/nixos/modules/services/databases/cassandra.nix @@ -34,11 +34,13 @@ let { name = "cassandra-etc"; cassandraYaml = builtins.toJSON cassandraConfigWithAddresses; cassandraEnvPkg = "${cfg.package}/conf/cassandra-env.sh"; + cassandraLogbackConfig = pkgs.writeText "logback.xml" cfg.logbackConfig; buildCommand = '' mkdir -p "$out" echo "$cassandraYaml" > "$out/cassandra.yaml" ln -s "$cassandraEnvPkg" "$out/cassandra-env.sh" + ln -s "$cassandraLogbackConfig" "$out/logback.xml" ''; }; in { @@ -139,7 +141,27 @@ in { correspond to a single address, IP aliasing is not supported. ''; }; + logbackConfig = mkOption { + type = types.lines; + default = '' + + + + %-5level %date{HH:mm:ss,SSS} %msg%n + + + + + + + + + ''; + description = '' + XML logback configuration for cassandra + ''; + }; extraConfig = mkOption { type = types.attrs; default = {}; diff --git a/nixos/modules/services/databases/clickhouse.nix b/nixos/modules/services/databases/clickhouse.nix index 1b8771cec3915e037568865b27fa149b3baec6f4..dbabcae43ee5ed951bd8f4a1483767592a688677 100644 --- a/nixos/modules/services/databases/clickhouse.nix +++ b/nixos/modules/services/databases/clickhouse.nix @@ -1,8 +1,6 @@ { config, lib, pkgs, ... }: let cfg = config.services.clickhouse; - confDir = "/etc/clickhouse-server"; - stateDir = "/var/lib/clickhouse"; in with lib; { @@ -43,20 +41,13 @@ with lib; after = [ "network.target" ]; - preStart = '' - mkdir -p ${stateDir} - chown clickhouse:clickhouse ${confDir} ${stateDir} - ''; - - script = '' - cd "${confDir}" - exec ${pkgs.clickhouse}/bin/clickhouse-server - ''; - serviceConfig = { User = "clickhouse"; Group = "clickhouse"; - PermissionsStartOnly = true; + ConfigurationDirectory = "clickhouse-server"; + StateDirectory = "clickhouse"; + LogsDirectory = "clickhouse"; + ExecStart = "${pkgs.clickhouse}/bin/clickhouse-server --config-file=${pkgs.clickhouse}/etc/clickhouse-server/config.xml"; }; }; @@ -70,6 +61,11 @@ with lib; }; }; + environment.systemPackages = [ pkgs.clickhouse ]; + + # startup requires a `/etc/localtime` which only if exists if `time.timeZone != null` + time.timeZone = mkDefault "UTC"; + }; } diff --git a/nixos/modules/services/databases/cockroachdb.nix b/nixos/modules/services/databases/cockroachdb.nix new file mode 100644 index 0000000000000000000000000000000000000000..e977751b21efd5ee40f0e46edc33d4ee4aeae39b --- /dev/null +++ b/nixos/modules/services/databases/cockroachdb.nix @@ -0,0 +1,217 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.cockroachdb; + crdb = cfg.package; + + escape = builtins.replaceStrings ["%"] ["%%"]; + ifNotNull = v: s: optionalString (!isNull v) s; + + startupCommand = lib.concatStringsSep " " + [ # Basic startup + "${crdb}/bin/cockroach start" + "--logtostderr" + "--store=/var/lib/cockroachdb" + (ifNotNull cfg.locality "--locality='${cfg.locality}'") + + # WebUI settings + "--http-addr='${cfg.http.address}:${toString cfg.http.port}'" + + # Cluster listen address + "--listen-addr='${cfg.listen.address}:${toString cfg.listen.port}'" + + # Cluster configuration + (ifNotNull cfg.join "--join=${cfg.join}") + + # Cache and memory settings. Must be escaped. + "--cache='${escape cfg.cache}'" + "--max-sql-memory='${escape cfg.maxSqlMemory}'" + + # Certificate/security settings. + (if cfg.insecure then "--insecure" else "--certs-dir=${cfg.certsDir}") + ]; + + addressOption = descr: defaultPort: { + address = mkOption { + type = types.str; + default = "localhost"; + description = "Address to bind to for ${descr}"; + }; + + port = mkOption { + type = types.port; + default = defaultPort; + description = "Port to bind to for ${descr}"; + }; + }; +in + +{ + options = { + services.cockroachdb = { + enable = mkEnableOption "CockroachDB Server"; + + listen = addressOption "intra-cluster communication" 26257; + + http = addressOption "http-based Admin UI" 8080; + + locality = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + An ordered, comma-separated list of key-value pairs that describe the + topography of the machine. Topography might include country, + datacenter or rack designations. Data is automatically replicated to + maximize diversities of each tier. The order of tiers is used to + determine the priority of the diversity, so the more inclusive + localities like country should come before less inclusive localities + like datacenter. The tiers and order must be the same on all nodes. + Including more tiers is better than including fewer. For example: + + + country=us,region=us-west,datacenter=us-west-1b,rack=12 + country=ca,region=ca-east,datacenter=ca-east-2,rack=4 + + planet=earth,province=manitoba,colo=secondary,power=3 + + ''; + }; + + join = mkOption { + type = types.nullOr types.str; + default = null; + description = "The addresses for connecting the node to a cluster."; + }; + + insecure = mkOption { + type = types.bool; + default = false; + description = "Run in insecure mode."; + }; + + certsDir = mkOption { + type = types.nullOr types.path; + default = null; + description = "The path to the certificate directory."; + }; + + user = mkOption { + type = types.str; + default = "cockroachdb"; + description = "User account under which CockroachDB runs"; + }; + + group = mkOption { + type = types.str; + default = "cockroachdb"; + description = "User account under which CockroachDB runs"; + }; + + openPorts = mkOption { + type = types.bool; + default = false; + description = "Open firewall ports for cluster communication by default"; + }; + + cache = mkOption { + type = types.str; + default = "25%"; + description = '' + The total size for caches. + + This can be a percentage, expressed with a fraction sign or as a + decimal-point number, or any bytes-based unit. For example, + "25%", "0.25" both represent + 25% of the available system memory. The values + "1000000000" and "1GB" both + represent 1 gigabyte of memory. + + ''; + }; + + maxSqlMemory = mkOption { + type = types.str; + default = "25%"; + description = '' + The maximum in-memory storage capacity available to store temporary + data for SQL queries. + + This can be a percentage, expressed with a fraction sign or as a + decimal-point number, or any bytes-based unit. For example, + "25%", "0.25" both represent + 25% of the available system memory. The values + "1000000000" and "1GB" both + represent 1 gigabyte of memory. + ''; + }; + + package = mkOption { + type = types.package; + default = pkgs.cockroachdb; + defaultText = "pkgs.cockroachdb"; + description = '' + The CockroachDB derivation to use for running the service. + + This would primarily be useful to enable Enterprise Edition features + in your own custom CockroachDB build (Nixpkgs CockroachDB binaries + only contain open source features and open source code). + ''; + }; + }; + }; + + config = mkIf config.services.cockroachdb.enable { + assertions = [ + { assertion = !cfg.insecure -> !(isNull cfg.certsDir); + message = "CockroachDB must have a set of SSL certificates (.certsDir), or run in Insecure Mode (.insecure = true)"; + } + ]; + + environment.systemPackages = [ crdb ]; + + users.users = optionalAttrs (cfg.user == "cockroachdb") (singleton + { name = "cockroachdb"; + description = "CockroachDB Server User"; + uid = config.ids.uids.cockroachdb; + group = cfg.group; + }); + + users.groups = optionalAttrs (cfg.group == "cockroachdb") (singleton + { name = "cockroachdb"; + gid = config.ids.gids.cockroachdb; + }); + + networking.firewall.allowedTCPPorts = lib.optionals cfg.openPorts + [ cfg.http.port cfg.listen.port ]; + + systemd.services.cockroachdb = + { description = "CockroachDB Server"; + documentation = [ "man:cockroach(1)" "https://www.cockroachlabs.com" ]; + + after = [ "network.target" "time-sync.target" ]; + requires = [ "time-sync.target" ]; + wantedBy = [ "multi-user.target" ]; + + unitConfig.RequiresMountsFor = "/var/lib/cockroachdb"; + + serviceConfig = + { ExecStart = startupCommand; + Type = "notify"; + User = cfg.user; + StateDirectory = "cockroachdb"; + StateDirectoryMode = "0700"; + + Restart = "always"; + + # A conservative-ish timeout is alright here, because for Type=notify + # cockroach will send systemd pings during startup to keep it alive + TimeoutStopSec = 60; + RestartSec = 10; + }; + }; + }; + + meta.maintainers = with lib.maintainers; [ thoughtpolice ]; +} diff --git a/nixos/modules/services/databases/couchdb.nix b/nixos/modules/services/databases/couchdb.nix index ca89b1198205b5e0315f3bc0f58e5b9e89d54fb4..5ddf8ba4bfbdf9570f1859992fe29b89e8beb97c 100644 --- a/nixos/modules/services/databases/couchdb.nix +++ b/nixos/modules/services/databases/couchdb.nix @@ -85,7 +85,7 @@ in { uriFile = mkOption { type = types.path; - default = "/var/run/couchdb/couchdb.uri"; + default = "/run/couchdb/couchdb.uri"; description = '' This file contains the full URI that can be used to access this instance of CouchDB. It is used to help discover the port CouchDB is @@ -158,27 +158,21 @@ in { services.couchdb.configFile = mkDefault (if useVersion2 then "/var/lib/couchdb/local.ini" else "/var/lib/couchdb/couchdb.ini"); + systemd.tmpfiles.rules = [ + "d '${dirOf cfg.uriFile}' - ${cfg.user} ${cfg.group} - -" + "d '${dirOf cfg.logFile}' - ${cfg.user} ${cfg.group} - -" + "d '${cfg.databaseDir}' - ${cfg.user} ${cfg.group} - -" + "d '${cfg.viewIndexDir}' - ${cfg.user} ${cfg.group} - -" + ]; + systemd.services.couchdb = { description = "CouchDB Server"; wantedBy = [ "multi-user.target" ]; preStart = '' - mkdir -p `dirname ${cfg.uriFile}`; - mkdir -p `dirname ${cfg.logFile}`; - mkdir -p ${cfg.databaseDir}; - mkdir -p ${cfg.viewIndexDir}; touch ${cfg.configFile} touch -a ${cfg.logFile} - - if [ "$(id -u)" = 0 ]; then - chown ${cfg.user}:${cfg.group} `dirname ${cfg.uriFile}`; - (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} - chown ${cfg.user}:${cfg.group} ${cfg.logFile} - fi ''; environment = mkIf useVersion2 { @@ -191,7 +185,6 @@ in { }; serviceConfig = { - PermissionsStartOnly = true; User = cfg.user; Group = cfg.group; ExecStart = executable; diff --git a/nixos/modules/services/databases/foundationdb.xml b/nixos/modules/services/databases/foundationdb.xml index f4090c4927641117c5673d98f1a0f34c880e7603..bf4b644c9b86aacb0de103aea06ae2554a3aa97b 100644 --- a/nixos/modules/services/databases/foundationdb.xml +++ b/nixos/modules/services/databases/foundationdb.xml @@ -3,42 +3,50 @@ xmlns:xi="http://www.w3.org/2001/XInclude" version="5.0" xml:id="module-services-foundationdb"> - -FoundationDB - -Source: modules/services/databases/foundationdb.nix - -Upstream documentation: - -Maintainer: Austin Seipp - -Available version(s): 5.1.x, 5.2.x, 6.0.x - -FoundationDB (or "FDB") is an open source, distributed, transactional -key-value store. - -
Configuring and basic setup - -To enable FoundationDB, add the following to your -configuration.nix: - + FoundationDB + + Source: + modules/services/databases/foundationdb.nix + + + Upstream documentation: + + + + Maintainer: Austin Seipp + + + Available version(s): 5.1.x, 5.2.x, 6.0.x + + + FoundationDB (or "FDB") is an open source, distributed, transactional + key-value store. + +
+ Configuring and basic setup + + + To enable FoundationDB, add the following to your + configuration.nix: services.foundationdb.enable = true; services.foundationdb.package = pkgs.foundationdb52; # FoundationDB 5.2.x - - -The option is required, -and must always be specified. Due to the fact FoundationDB network protocols and -on-disk storage formats may change between (major) versions, and upgrades must -be explicitly handled by the user, you must always manually specify this -yourself so that the NixOS module will use the proper version. Note that minor, -bugfix releases are always compatible. - -After running nixos-rebuild, you can verify whether -FoundationDB is running by executing fdbcli (which is added -to ): - + + + + The option is required, and + must always be specified. Due to the fact FoundationDB network protocols and + on-disk storage formats may change between (major) versions, and upgrades + must be explicitly handled by the user, you must always manually specify + this yourself so that the NixOS module will use the proper version. Note + that minor, bugfix releases are always compatible. + + + + After running nixos-rebuild, you can verify whether + FoundationDB is running by executing fdbcli (which is + added to ): $ sudo -u foundationdb fdbcli Using cluster file `/etc/foundationdb/fdb.cluster'. @@ -66,14 +74,14 @@ Cluster: fdb> - - -You can also write programs using the available client libraries. -For example, the following Python program can be run in order to grab the -cluster status, as a quick example. (This example uses -nix-shell shebang support to automatically supply the -necessary Python modules). - + + + + You can also write programs using the available client libraries. For + example, the following Python program can be run in order to grab the + cluster status, as a quick example. (This example uses + nix-shell shebang support to automatically supply the + necessary Python modules). a@link> cat fdb-status.py #! /usr/bin/env nix-shell @@ -100,255 +108,336 @@ a@link> ./fdb-status.py FoundationDB available: True a@link> - - -FoundationDB is run under the foundationdb user and -group by default, but this may be changed in the NixOS configuration. The -systemd unit foundationdb.service controls the -fdbmonitor process. - -By default, the NixOS module for FoundationDB creates a single -SSD-storage based database for development and basic usage. This storage engine -is designed for SSDs and will perform poorly on HDDs; however it can handle far -more data than the alternative "memory" engine and is a better default choice -for most deployments. (Note that you can change the storage backend on-the-fly -for a given FoundationDB cluster using fdbcli.) - -Furthermore, only 1 server process and 1 backup agent are started in the -default configuration. See below for more on scaling to increase this. - -FoundationDB stores all data for all server processes under -/var/lib/foundationdb. You can override this using -, e.g. - + + + + FoundationDB is run under the foundationdb user and group + by default, but this may be changed in the NixOS configuration. The systemd + unit foundationdb.service controls the + fdbmonitor process. + + + + By default, the NixOS module for FoundationDB creates a single SSD-storage + based database for development and basic usage. This storage engine is + designed for SSDs and will perform poorly on HDDs; however it can handle far + more data than the alternative "memory" engine and is a better default + choice for most deployments. (Note that you can change the storage backend + on-the-fly for a given FoundationDB cluster using + fdbcli.) + + + + Furthermore, only 1 server process and 1 backup agent are started in the + default configuration. See below for more on scaling to increase this. + + + + FoundationDB stores all data for all server processes under + /var/lib/foundationdb. You can override this using + , e.g. services.foundationdb.dataDir = "/data/fdb"; - - - -Similarly, logs are stored under -/var/log/foundationdb by default, and there is a -corresponding as well. - -
- -
Scaling processes and backup agents - -Scaling the number of server processes is quite easy; simply specify - to be the number of -FoundationDB worker processes that should be started on the machine. - -FoundationDB worker processes typically require 4GB of RAM per-process at -minimum for good performance, so this option is set to 1 by default since the -maximum amount of RAM is unknown. You're advised to abide by this restriction, -so pick a number of processes so that each has 4GB or more. - -A similar option exists in order to scale backup agent processes, -. Backup agents are not -as performance/RAM sensitive, so feel free to experiment with the number of -available backup processes. - -
- -
Clustering - -FoundationDB on NixOS works similarly to other Linux systems, so this -section will be brief. Please refer to the full FoundationDB documentation for -more on clustering. - -FoundationDB organizes clusters using a set of -coordinators, which are just specially-designated worker -processes. By default, every installation of FoundationDB on NixOS will start -as its own individual cluster, with a single coordinator: the first worker -process on localhost. - -Coordinators are specified globally using the -/etc/foundationdb/fdb.cluster file, which all servers and -client applications will use to find and join coordinators. Note that this file -can not be managed by NixOS so easily: FoundationDB is -designed so that it will rewrite the file at runtime for all clients and nodes -when cluster coordinators change, with clients transparently handling this -without intervention. It is fundamentally a mutable file, and you should not -try to manage it in any way in NixOS. - -When dealing with a cluster, there are two main things you want to -do: - - - Add a node to the cluster for storage/compute. - Promote an ordinary worker to a coordinator. - - -A node must already be a member of the cluster in order to properly be -promoted to a coordinator, so you must always add it first if you wish to -promote it. - -To add a machine to a FoundationDB cluster: - - - Choose one of the servers to start as the initial coordinator. - - Copy the /etc/foundationdb/fdb.cluster file - from this server to all the other servers. Restart FoundationDB on all of - these other servers, so they join the cluster. - All of these servers are now connected and working together - in the cluster, under the chosen coordinator. - - -At this point, you can add as many nodes as you want by just repeating -the above steps. By default there will still be a single coordinator: you can -use fdbcli to change this and add new coordinators. - -As a convenience, FoundationDB can automatically assign coordinators -based on the redundancy mode you wish to achieve for the cluster. Once all the -nodes have been joined, simply set the replication policy, and then issue the -coordinators auto command - -For example, assuming we have 3 nodes available, we can enable double -redundancy mode, then auto-select coordinators. For double redundancy, 3 -coordinators is ideal: therefore FoundationDB will make -every node a coordinator automatically: + + + + Similarly, logs are stored under /var/log/foundationdb + by default, and there is a corresponding + as well. + +
+
+ Scaling processes and backup agents + + + Scaling the number of server processes is quite easy; simply specify + to be the number of + FoundationDB worker processes that should be started on the machine. + + + + FoundationDB worker processes typically require 4GB of RAM per-process at + minimum for good performance, so this option is set to 1 by default since + the maximum amount of RAM is unknown. You're advised to abide by this + restriction, so pick a number of processes so that each has 4GB or more. + + + + A similar option exists in order to scale backup agent processes, + . Backup agents are + not as performance/RAM sensitive, so feel free to experiment with the number + of available backup processes. + +
+
+ Clustering + + + FoundationDB on NixOS works similarly to other Linux systems, so this + section will be brief. Please refer to the full FoundationDB documentation + for more on clustering. + + + + FoundationDB organizes clusters using a set of + coordinators, which are just specially-designated + worker processes. By default, every installation of FoundationDB on NixOS + will start as its own individual cluster, with a single coordinator: the + first worker process on localhost. + + + + Coordinators are specified globally using the + /etc/foundationdb/fdb.cluster file, which all servers and + client applications will use to find and join coordinators. Note that this + file can not be managed by NixOS so easily: + FoundationDB is designed so that it will rewrite the file at runtime for all + clients and nodes when cluster coordinators change, with clients + transparently handling this without intervention. It is fundamentally a + mutable file, and you should not try to manage it in any way in NixOS. + + + + When dealing with a cluster, there are two main things you want to do: + + + + + + Add a node to the cluster for storage/compute. + + + + + Promote an ordinary worker to a coordinator. + + + + + + A node must already be a member of the cluster in order to properly be + promoted to a coordinator, so you must always add it first if you wish to + promote it. + + + + To add a machine to a FoundationDB cluster: + + + + + + Choose one of the servers to start as the initial coordinator. + + + + + Copy the /etc/foundationdb/fdb.cluster file from this + server to all the other servers. Restart FoundationDB on all of these + other servers, so they join the cluster. + + + + + All of these servers are now connected and working together in the + cluster, under the chosen coordinator. + + + + + + At this point, you can add as many nodes as you want by just repeating the + above steps. By default there will still be a single coordinator: you can + use fdbcli to change this and add new coordinators. + + + + As a convenience, FoundationDB can automatically assign coordinators based + on the redundancy mode you wish to achieve for the cluster. Once all the + nodes have been joined, simply set the replication policy, and then issue + the coordinators auto command + + + + For example, assuming we have 3 nodes available, we can enable double + redundancy mode, then auto-select coordinators. For double redundancy, 3 + coordinators is ideal: therefore FoundationDB will make + every node a coordinator automatically: + fdbcli> configure double ssd fdbcli> coordinators auto -This will transparently update all the servers within seconds, and -appropriately rewrite the fdb.cluster file, as well as -informing all client processes to do the same. - -
- -
Client connectivity - -By default, all clients must use the current -fdb.cluster file to access a given FoundationDB cluster. -This file is located by default in -/etc/foundationdb/fdb.cluster on all machines with the -FoundationDB service enabled, so you may copy the active one from your cluster -to a new node in order to connect, if it is not part of the cluster. - -
- -
Client authorization and TLS - -By default, any user who can connect to a FoundationDB process with the -correct cluster configuration can access anything. FoundationDB uses a -pluggable design to transport security, and out of the box it supports a -LibreSSL-based plugin for TLS support. This plugin not only does in-flight -encryption, but also performs client authorization based on the given -endpoint's certificate chain. For example, a FoundationDB server may be -configured to only accept client connections over TLS, where the client TLS -certificate is from organization Acme Co in the -Research and Development unit. - -Configuring TLS with FoundationDB is done using the - options in order to control the peer -verification string, as well as the certificate and its private key. - -Note that the certificate and its private key must be accessible to the -FoundationDB user account that the server runs under. These files are also NOT -managed by NixOS, as putting them into the store may reveal private -information. - -After you have a key and certificate file in place, it is not enough to -simply set the NixOS module options -- you must also configure the -fdb.cluster file to specify that a given set of coordinators -use TLS. This is as simple as adding the suffix :tls to your -cluster coordinator configuration, after the port number. For example, assuming -you have a coordinator on localhost with the default configuration, simply -specifying: + + This will transparently update all the servers within seconds, and + appropriately rewrite the fdb.cluster file, as well as + informing all client processes to do the same. + +
+
+ Client connectivity + + + By default, all clients must use the current fdb.cluster + file to access a given FoundationDB cluster. This file is located by default + in /etc/foundationdb/fdb.cluster on all machines with the + FoundationDB service enabled, so you may copy the active one from your + cluster to a new node in order to connect, if it is not part of the cluster. + +
+
+ Client authorization and TLS + + + By default, any user who can connect to a FoundationDB process with the + correct cluster configuration can access anything. FoundationDB uses a + pluggable design to transport security, and out of the box it supports a + LibreSSL-based plugin for TLS support. This plugin not only does in-flight + encryption, but also performs client authorization based on the given + endpoint's certificate chain. For example, a FoundationDB server may be + configured to only accept client connections over TLS, where the client TLS + certificate is from organization Acme Co in the + Research and Development unit. + + + + Configuring TLS with FoundationDB is done using the + options in order to control the + peer verification string, as well as the certificate and its private key. + + + + Note that the certificate and its private key must be accessible to the + FoundationDB user account that the server runs under. These files are also + NOT managed by NixOS, as putting them into the store may reveal private + information. + + + + After you have a key and certificate file in place, it is not enough to + simply set the NixOS module options -- you must also configure the + fdb.cluster file to specify that a given set of + coordinators use TLS. This is as simple as adding the suffix + :tls to your cluster coordinator configuration, after the + port number. For example, assuming you have a coordinator on localhost with + the default configuration, simply specifying: + XXXXXX:XXXXXX@127.0.0.1:4500:tls -will configure all clients and server processes to use TLS from now -on. - -
- -
Backups and Disaster Recovery - -The usual rules for doing FoundationDB backups apply on NixOS as written -in the FoundationDB manual. However, one important difference is the security -profile for NixOS: by default, the foundationdb systemd unit -uses Linux namespaces to restrict write access to the -system, except for the log directory, data directory, and the -/etc/foundationdb/ directory. This is enforced by default -and cannot be disabled. - -However, a side effect of this is that the fdbbackup -command doesn't work properly for local filesystem backups: FoundationDB uses a -server process alongside the database processes to perform backups and copy the -backups to the filesystem. As a result, this process is put under the -restricted namespaces above: the backup process can only write to a limited -number of paths. - -In order to allow flexible backup locations on local disks, the -FoundationDB NixOS module supports a - option. This option -takes a list of paths, and adds them to the systemd unit, allowing the -processes inside the service to write (and read) the specified -directories. - -For example, to create backups in /opt/fdb-backups, -first set up the paths in the module options: + + will configure all clients and server processes to use TLS from now on. + +
+
+ Backups and Disaster Recovery + + + The usual rules for doing FoundationDB backups apply on NixOS as written in + the FoundationDB manual. However, one important difference is the security + profile for NixOS: by default, the foundationdb systemd + unit uses Linux namespaces to restrict write access to + the system, except for the log directory, data directory, and the + /etc/foundationdb/ directory. This is enforced by default + and cannot be disabled. + + + + However, a side effect of this is that the fdbbackup + command doesn't work properly for local filesystem backups: FoundationDB + uses a server process alongside the database processes to perform backups + and copy the backups to the filesystem. As a result, this process is put + under the restricted namespaces above: the backup process can only write to + a limited number of paths. + + + + In order to allow flexible backup locations on local disks, the FoundationDB + NixOS module supports a + option. This + option takes a list of paths, and adds them to the systemd unit, allowing + the processes inside the service to write (and read) the specified + directories. + + + + For example, to create backups in /opt/fdb-backups, first + set up the paths in the module options: + services.foundationdb.extraReadWritePaths = [ "/opt/fdb-backups" ]; -Restart the FoundationDB service, and it will now be able to write to -this directory (even if it does not yet exist.) Note: this path -must exist before restarting the unit. Otherwise, systemd -will not include it in the private FoundationDB namespace (and it will not add -it dynamically at runtime). + + Restart the FoundationDB service, and it will now be able to write to this + directory (even if it does not yet exist.) Note: this path + must exist before restarting the unit. Otherwise, + systemd will not include it in the private FoundationDB namespace (and it + will not add it dynamically at runtime). + -You can now perform a backup: + + You can now perform a backup: + $ sudo -u foundationdb fdbbackup start -t default -d file:///opt/fdb-backups $ sudo -u foundationdb fdbbackup status -t default - -
- -
Known limitations - -The FoundationDB setup for NixOS should currently be considered beta. -FoundationDB is not new software, but the NixOS compilation and integration has -only undergone fairly basic testing of all the available functionality. - - - There is no way to specify individual parameters for - individual fdbserver processes. Currently, all server - processes inherit all the global fdbmonitor settings. - - Ruby bindings are not currently installed. - Go bindings are not currently installed. - - -
- -
Options - -NixOS's FoundationDB module allows you to configure all of the most -relevant configuration options for fdbmonitor, matching it -quite closely. A complete list of options for the FoundationDB module may be -found here. You should -also read the FoundationDB documentation as well. - -
- -
Full documentation - -FoundationDB is a complex piece of software, and requires careful -administration to properly use. Full documentation for administration can be -found here: . - -
- +
+
+ Known limitations + + + The FoundationDB setup for NixOS should currently be considered beta. + FoundationDB is not new software, but the NixOS compilation and integration + has only undergone fairly basic testing of all the available functionality. + + + + + + There is no way to specify individual parameters for individual + fdbserver processes. Currently, all server processes + inherit all the global fdbmonitor settings. + + + + + Ruby bindings are not currently installed. + + + + + Go bindings are not currently installed. + + + +
+
+ Options + + + NixOS's FoundationDB module allows you to configure all of the most relevant + configuration options for fdbmonitor, matching it quite + closely. A complete list of options for the FoundationDB module may be found + here. You should + also read the FoundationDB documentation as well. + +
+
+ Full documentation + + + FoundationDB is a complex piece of software, and requires careful + administration to properly use. Full documentation for administration can be + found here: . + +
diff --git a/nixos/modules/services/databases/hbase.nix b/nixos/modules/services/databases/hbase.nix index 4772e897efe2c904faf7847ac66703e9e242d272..52f2d95b4e00cb58c5dc29d690ea82a7e888ef8a 100644 --- a/nixos/modules/services/databases/hbase.nix +++ b/nixos/modules/services/databases/hbase.nix @@ -18,7 +18,7 @@ let ''; - configDir = pkgs.runCommand "hbase-config-dir" {} '' + configDir = pkgs.runCommand "hbase-config-dir" { preferLocalBuild = true; } '' mkdir -p $out cp ${cfg.package}/conf/* $out/ rm $out/hbase-site.xml diff --git a/nixos/modules/services/databases/influxdb.nix b/nixos/modules/services/databases/influxdb.nix index d7a028b25d8d9f0523af41f885c0660022caf33f..6868050c8446b3ce76a7913f5715bb1b4f0bd739 100644 --- a/nixos/modules/services/databases/influxdb.nix +++ b/nixos/modules/services/databases/influxdb.nix @@ -98,6 +98,7 @@ let configFile = pkgs.runCommand "config.toml" { buildInputs = [ pkgs.remarshal ]; + preferLocalBuild = true; } '' remarshal -if json -of toml \ < ${pkgs.writeText "config.json" (builtins.toJSON configOptions)} \ @@ -156,20 +157,19 @@ in config = mkIf config.services.influxdb.enable { + systemd.tmpfiles.rules = [ + "d '${cfg.dataDir}' 0770 ${cfg.user} ${cfg.group} - -" + ]; + systemd.services.influxdb = { description = "InfluxDB Server"; wantedBy = [ "multi-user.target" ]; after = [ "network.target" ]; serviceConfig = { ExecStart = ''${cfg.package}/bin/influxd -config "${configFile}"''; - User = "${cfg.user}"; - Group = "${cfg.group}"; - PermissionsStartOnly = true; + User = cfg.user; + Group = cfg.group; }; - preStart = '' - mkdir -m 0770 -p ${cfg.dataDir} - if [ "$(id -u)" = 0 ]; then chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir}; fi - ''; postStart = let scheme = if configOptions.http.https-enabled then "-k https" else "http"; diff --git a/nixos/modules/services/databases/memcached.nix b/nixos/modules/services/databases/memcached.nix index 7af452e4dced70e6c7ee17e199a7126948fa4eb1..052ff1f308eb7a6a933264d51349e952b41a694b 100644 --- a/nixos/modules/services/databases/memcached.nix +++ b/nixos/modules/services/databases/memcached.nix @@ -78,11 +78,6 @@ in after = [ "network.target" ]; serviceConfig = { - PermissionsStartOnly = true; - ExecStartPre = optionals cfg.enableUnixSocket [ - "${pkgs.coreutils}/bin/install -d -o ${cfg.user} /run/memcached/" - "${pkgs.coreutils}/bin/chown -R ${cfg.user} /run/memcached/" - ]; ExecStart = let networking = if cfg.enableUnixSocket @@ -91,12 +86,13 @@ in in "${memcached}/bin/memcached ${networking} -m ${toString cfg.maxMemory} -c ${toString cfg.maxConnections} ${concatStringsSep " " cfg.extraOptions}"; User = cfg.user; + RuntimeDirectory = "memcached"; }; }; }; imports = [ (mkRemovedOptionModule ["services" "memcached" "socket"] '' - This option was replaced by a fixed unix socket path at /run/memcached/memcached.sock enabled using services.memached.enableUnixSocket. + This option was replaced by a fixed unix socket path at /run/memcached/memcached.sock enabled using services.memcached.enableUnixSocket. '') ]; diff --git a/nixos/modules/services/databases/mongodb.nix b/nixos/modules/services/databases/mongodb.nix index 4c46d9228e5f88b745a1d7e94fe89e1c950d649e..3fe4af2f2619bc9db20f636993eaf104b79d5300 100644 --- a/nixos/modules/services/databases/mongodb.nix +++ b/nixos/modules/services/databases/mongodb.nix @@ -65,7 +65,7 @@ in }; pidFile = mkOption { - default = "/var/run/mongodb.pid"; + default = "/run/mongodb.pid"; description = "Location of MongoDB pid file"; }; diff --git a/nixos/modules/services/databases/mysql.nix b/nixos/modules/services/databases/mysql.nix index 0dde9ee6e2e5ff8033ab17e3167927f2ba83451f..89291d4438ff55d65c74c9ab865e0bf79614bdae 100644 --- a/nixos/modules/services/databases/mysql.nix +++ b/nixos/modules/services/databases/mysql.nix @@ -12,26 +12,22 @@ let let pName = _p: (builtins.parseDrvName (_p.name)).name; in pName mysql == pName pkgs.mariadb; + isMysqlAtLeast57 = + let + pName = _p: (builtins.parseDrvName (_p.name)).name; + in (pName mysql == pName pkgs.mysql57) + && ((builtins.compareVersions mysql.version "5.7") >= 0); pidFile = "${cfg.pidDir}/mysqld.pid"; + mysqldAndInstallOptions = + "--user=${cfg.user} --datadir=${cfg.dataDir} --basedir=${mysql}"; mysqldOptions = - "--user=${cfg.user} --datadir=${cfg.dataDir} --basedir=${mysql} " + - "--pid-file=${pidFile}"; - - myCnf = pkgs.writeText "my.cnf" - '' - [mysqld] - port = ${toString cfg.port} - ${optionalString (cfg.bind != null) "bind-address = ${cfg.bind}" } - ${optionalString (cfg.replication.role == "master" || cfg.replication.role == "slave") "log-bin=mysql-bin"} - ${optionalString (cfg.replication.role == "master" || cfg.replication.role == "slave") "server-id = ${toString cfg.replication.serverId}"} - ${optionalString (cfg.ensureUsers != []) - '' - plugin-load-add = auth_socket.so - ''} - ${cfg.extraOptions} - ''; + "${mysqldAndInstallOptions} --pid-file=${pidFile}"; + # For MySQL 5.7+, --insecure creates the root user without password + # (earlier versions and MariaDB do this by default). + installOptions = + "${mysqldAndInstallOptions} ${lib.optionalString isMysqlAtLeast57 "--insecure"}"; in @@ -107,6 +103,24 @@ in }; initialDatabases = mkOption { + type = types.listOf (types.submodule { + options = { + name = mkOption { + type = types.str; + description = '' + The name of the database to create. + ''; + }; + schema = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + The initial schema of the database; if null (the default), + an empty database is created. + ''; + }; + }; + }); default = []; description = '' List of database names and their initial schemas that should be used to create databases on the first startup @@ -119,11 +133,13 @@ in }; initialScript = mkOption { + type = types.nullOr types.lines; default = null; description = "A file containing SQL statements to be executed on the first startup. Can be used for granting certain permissions on the database"; }; ensureDatabases = mkOption { + type = types.listOf types.str; default = []; description = '' Ensures that the specified databases exist. @@ -138,6 +154,38 @@ in }; ensureUsers = mkOption { + type = types.listOf (types.submodule { + options = { + name = mkOption { + type = types.str; + description = '' + Name of the user to ensure. + ''; + }; + ensurePermissions = mkOption { + type = types.attrsOf types.str; + default = {}; + description = '' + Permissions to ensure for the user, specified as attribute set. + The attribute names specify the database and tables to grant the permissions for, + separated by a dot. You may use wildcards here. + The attribute values specfiy the permissions to grant. + You may specify one or multiple comma-separated SQL privileges here. + + For more information on how to specify the target + and on which privileges exist, see the + GRANT syntax. + The attributes are used as GRANT ''${attrName} ON ''${attrValue}. + ''; + example = literalExample '' + { + "database.*" = "ALL PRIVILEGES"; + "*.*" = "SELECT, LOCK TABLES"; + } + ''; + }; + }; + }); default = []; description = '' Ensures that the specified users exist and have at least the ensured permissions. @@ -147,20 +195,22 @@ in option is changed. This means that users created and permissions assigned once through this option or otherwise have to be removed manually. ''; - example = [ - { - name = "nextcloud"; - ensurePermissions = { - "nextcloud.*" = "ALL PRIVILEGES"; - }; - } - { - name = "backup"; - ensurePermissions = { - "*.*" = "SELECT, LOCK TABLES"; - }; - } - ]; + example = literalExample '' + [ + { + name = "nextcloud"; + ensurePermissions = { + "nextcloud.*" = "ALL PRIVILEGES"; + }; + } + { + name = "backup"; + ensurePermissions = { + "*.*" = "SELECT, LOCK TABLES"; + }; + } + ] + ''; }; # FIXME: remove this option; it's a really bad idea. @@ -231,6 +281,21 @@ in environment.systemPackages = [mysql]; + environment.etc."my.cnf".text = + '' + [mysqld] + port = ${toString cfg.port} + datadir = ${cfg.dataDir} + ${optionalString (cfg.bind != null) "bind-address = ${cfg.bind}" } + ${optionalString (cfg.replication.role == "master" || cfg.replication.role == "slave") "log-bin=mysql-bin"} + ${optionalString (cfg.replication.role == "master" || cfg.replication.role == "slave") "server-id = ${toString cfg.replication.serverId}"} + ${optionalString (cfg.ensureUsers != []) + '' + plugin-load-add = auth_socket.so + ''} + ${cfg.extraOptions} + ''; + systemd.services.mysql = let hasNotify = (cfg.package == pkgs.mariadb); in { @@ -238,6 +303,7 @@ in after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; + restartTriggers = [ config.environment.etc."my.cnf".source ]; unitConfig.RequiresMountsFor = "${cfg.dataDir}"; @@ -252,7 +318,7 @@ in if ! test -e ${cfg.dataDir}/mysql; then mkdir -m 0700 -p ${cfg.dataDir} chown -R ${cfg.user} ${cfg.dataDir} - ${mysql}/bin/mysql_install_db ${mysqldOptions} + ${mysql}/bin/mysql_install_db --defaults-file=/etc/my.cnf ${installOptions} touch /tmp/mysql_init fi @@ -263,7 +329,8 @@ in serviceConfig = { Type = if hasNotify then "notify" else "simple"; RuntimeDirectory = "mysqld"; - ExecStart = "${mysql}/bin/mysqld --defaults-extra-file=${myCnf} ${mysqldOptions}"; + # The last two environment variables are used for starting Galera clusters + ExecStart = "${mysql}/bin/mysqld --defaults-file=/etc/my.cnf ${mysqldOptions} $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION"; }; postStart = '' @@ -351,7 +418,7 @@ in ${optionalString (cfg.ensureDatabases != []) '' ( ${concatMapStrings (database: '' - echo "CREATE DATABASE IF NOT EXISTS ${database};" + echo "CREATE DATABASE IF NOT EXISTS \`${database}\`;" '') cfg.ensureDatabases} ) | ${mysql}/bin/mysql -u root -N ''} diff --git a/nixos/modules/services/databases/openldap.nix b/nixos/modules/services/databases/openldap.nix index 9f2bf5ef8a9ccdae9a0757c1eff441026d72fad7..c101e7375af90a989fbba5c9018c711ee4097c27 100644 --- a/nixos/modules/services/databases/openldap.nix +++ b/nixos/modules/services/databases/openldap.nix @@ -8,7 +8,20 @@ let openldap = pkgs.openldap; dataFile = pkgs.writeText "ldap-contents.ldif" cfg.declarativeContents; - configFile = pkgs.writeText "slapd.conf" cfg.extraConfig; + configFile = pkgs.writeText "slapd.conf" ((optionalString cfg.defaultSchemas '' + include ${pkgs.openldap.out}/etc/schema/core.schema + include ${pkgs.openldap.out}/etc/schema/cosine.schema + include ${pkgs.openldap.out}/etc/schema/inetorgperson.schema + include ${pkgs.openldap.out}/etc/schema/nis.schema + '') + '' + ${cfg.extraConfig} + database ${cfg.database} + suffix ${cfg.suffix} + rootdn ${cfg.rootdn} + rootpw ${cfg.rootpw} + directory ${cfg.dataDir} + ${cfg.extraDatabaseConfig} + ''); configOpts = if cfg.configDir == null then "-f ${configFile}" else "-F ${cfg.configDir}"; in @@ -54,6 +67,59 @@ in description = "The database directory."; }; + defaultSchemas = mkOption { + type = types.bool; + default = true; + description = '' + Include the default schemas core, cosine, inetorgperson and nis. + This setting will be ignored if configDir is set. + ''; + }; + + database = mkOption { + type = types.str; + default = "mdb"; + description = '' + Database type to use for the LDAP. + This setting will be ignored if configDir is set. + ''; + }; + + suffix = mkOption { + type = types.str; + example = "dc=example,dc=org"; + description = '' + Specify the DN suffix of queries that will be passed to this backend + database. + This setting will be ignored if configDir is set. + ''; + }; + + rootdn = mkOption { + type = types.str; + example = "cn=admin,dc=example,dc=org"; + description = '' + Specify the distinguished name that is not subject to access control + or administrative limit restrictions for operations on this database. + This setting will be ignored if configDir is set. + ''; + }; + + rootpw = mkOption { + type = types.str; + description = '' + Password for the root user. + This setting will be ignored if configDir is set. + ''; + }; + + logLevel = mkOption { + type = types.str; + default = "0"; + example = "acl trace"; + description = "The log level selector of slapd."; + }; + configDir = mkOption { type = types.nullOr types.path; default = null; @@ -111,6 +177,39 @@ in # ... ''; }; + + extraDatabaseConfig = mkOption { + type = types.lines; + default = ""; + description = '' + slapd.conf configuration after the database option. + This setting will be ignored if configDir is set. + ''; + example = '' + # Indices to maintain for this directory + # unique id so equality match only + index uid eq + # allows general searching on commonname, givenname and email + index cn,gn,mail eq,sub + # allows multiple variants on surname searching + index sn eq,sub + # sub above includes subintial,subany,subfinal + # optimise department searches + index ou eq + # if searches will include objectClass uncomment following + # index objectClass eq + # shows use of default index parameter + index default eq,sub + # indices missing - uses default eq,sub + index telephonenumber + + # other database parameters + # read more in slapd.conf reference section + cachesize 10000 + checkpoint 128 15 + ''; + }; + }; }; @@ -127,8 +226,8 @@ in wantedBy = [ "multi-user.target" ]; after = [ "network.target" ]; preStart = '' - mkdir -p /var/run/slapd - chown -R "${cfg.user}:${cfg.group}" /var/run/slapd + mkdir -p /run/slapd + chown -R "${cfg.user}:${cfg.group}" /run/slapd ${optionalString (cfg.declarativeContents != null) '' rm -Rf "${cfg.dataDir}" ''} @@ -139,7 +238,7 @@ in chown -R "${cfg.user}:${cfg.group}" "${cfg.dataDir}" ''; serviceConfig.ExecStart = - "${openldap.out}/libexec/slapd -d 0 " + + "${openldap.out}/libexec/slapd -d '${cfg.logLevel}' " + "-u '${cfg.user}' -g '${cfg.group}' " + "-h '${concatStringsSep " " cfg.urlList}' " + "${configOpts}"; diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix index f59fb1c8177265b408a2d5e166396d2c0893efac..87b236dd5fd1d232e725b0a68c70ddefc4fe328e 100644 --- a/nixos/modules/services/databases/postgresql.nix +++ b/nixos/modules/services/databases/postgresql.nix @@ -55,7 +55,7 @@ in package = mkOption { type = types.package; - example = literalExample "pkgs.postgresql96"; + example = literalExample "pkgs.postgresql_9_6"; description = '' PostgreSQL package to use. ''; @@ -118,7 +118,7 @@ in extraPlugins = mkOption { type = types.listOf types.path; default = []; - example = literalExample "[ (pkgs.postgis.override { postgresql = pkgs.postgresql94; }) ]"; + example = literalExample "[ (pkgs.postgis.override { postgresql = pkgs.postgresql_9_4; }) ]"; description = '' When this list contains elements a new store path is created. PostgreSQL and the elements are symlinked into it. Then pg_config, @@ -167,9 +167,9 @@ in # Note: when changing the default, make it conditional on # ‘system.stateVersion’ to maintain compatibility with existing # systems! - mkDefault (if versionAtLeast config.system.stateVersion "17.09" then pkgs.postgresql96 - else if versionAtLeast config.system.stateVersion "16.03" then pkgs.postgresql95 - else pkgs.postgresql94); + mkDefault (if versionAtLeast config.system.stateVersion "17.09" then pkgs.postgresql_9_6 + else if versionAtLeast config.system.stateVersion "16.03" then pkgs.postgresql_9_5 + else pkgs.postgresql_9_4); services.postgresql.dataDir = mkDefault (if versionAtLeast config.system.stateVersion "17.09" then "/var/lib/postgresql/${config.services.postgresql.package.psqlSchema}" @@ -188,6 +188,8 @@ in uid = config.ids.uids.postgres; group = "postgres"; description = "PostgreSQL server user"; + home = "${cfg.dataDir}"; + useDefaultShell = true; }; users.groups.postgres.gid = config.ids.gids.postgres; @@ -236,6 +238,10 @@ in User = "postgres"; Group = "postgres"; PermissionsStartOnly = true; + RuntimeDirectory = "postgresql"; + Type = if lib.versionAtLeast cfg.package.version "9.6" + then "notify" + else "simple"; # Shut down Postgres using SIGINT ("Fast Shutdown mode"). See # http://www.postgresql.org/docs/current/static/server-shutdown.html @@ -269,5 +275,5 @@ in }; meta.doc = ./postgresql.xml; - + meta.maintainers = with lib.maintainers; [ thoughtpolice ]; } diff --git a/nixos/modules/services/databases/postgresql.xml b/nixos/modules/services/databases/postgresql.xml index 98a631c0cd32aff47946ba9e4e7e034262b5b07e..14f4d4909bc0c038f3114c13116889cb0fcaa415 100644 --- a/nixos/modules/services/databases/postgresql.xml +++ b/nixos/modules/services/databases/postgresql.xml @@ -3,36 +3,39 @@ xmlns:xi="http://www.w3.org/2001/XInclude" version="5.0" xml:id="module-postgresql"> - -PostgreSQL - + PostgreSQL - -Source: modules/services/databases/postgresql.nix - -Upstream documentation: - + + Source: + modules/services/databases/postgresql.nix + + + Upstream documentation: + + - -PostgreSQL is an advanced, free relational database. - -
Configuring - -To enable PostgreSQL, add the following to your -configuration.nix: - + + PostgreSQL is an advanced, free relational database. + + +
+ Configuring + + + To enable PostgreSQL, add the following to your + configuration.nix: = true; - = pkgs.postgresql94; + = pkgs.postgresql_9_4; - -Note that you are required to specify the desired version of -PostgreSQL (e.g. pkgs.postgresql94). Since -upgrading your PostgreSQL version requires a database dump and reload -(see below), NixOS cannot provide a default value for - such as the most recent -release of PostgreSQL. + Note that you are required to specify the desired version of PostgreSQL + (e.g. pkgs.postgresql_9_4). Since upgrading your + PostgreSQL version requires a database dump and reload (see below), NixOS + cannot provide a default value for + such as the most recent + release of PostgreSQL. + -By default, PostgreSQL stores its databases in -/var/db/postgresql. You can override this using -, e.g. - + + By default, PostgreSQL stores its databases in + /var/db/postgresql. You can override this using + , e.g. = "/data/postgresql"; - - - -
- - -
Upgrading - -FIXME: document dump/upgrade/load cycle. - -
- - -
Options - - A complete list of options for the PostgreSQL module may be found here. - -
- - +
+
+
+ Upgrading + + + FIXME: document dump/upgrade/load cycle. + +
+
+ Options + + + A complete list of options for the PostgreSQL module may be found + here. + +
diff --git a/nixos/modules/services/databases/redis.nix b/nixos/modules/services/databases/redis.nix index cc7b51982d1d61dc975b00e6e34a98699ef79357..c04cc1283b2eda3d37b2977d8e46b0645451ade5 100644 --- a/nixos/modules/services/databases/redis.nix +++ b/nixos/modules/services/databases/redis.nix @@ -95,7 +95,7 @@ in type = with types; nullOr path; default = null; description = "The path to the socket to bind to."; - example = "/var/run/redis.sock"; + example = "/run/redis.sock"; }; logLevel = mkOption { diff --git a/nixos/modules/services/databases/rethinkdb.nix b/nixos/modules/services/databases/rethinkdb.nix index 789d9c851d64fe176755e6fe7d84aa2e26e292c4..4828e594b3283200f9dae1c8e2d30b1ce0d5dc57 100644 --- a/nixos/modules/services/databases/rethinkdb.nix +++ b/nixos/modules/services/databases/rethinkdb.nix @@ -41,7 +41,7 @@ in }; pidpath = mkOption { - default = "/var/run/rethinkdb"; + default = "/run/rethinkdb"; description = "Location where each instance's pid file is located."; }; diff --git a/nixos/modules/services/databases/stanchion.nix b/nixos/modules/services/databases/stanchion.nix index 9fe49f51edd263befbe960fb763f02f7cc74ec53..97e55bc70c470166d6a0e28ff584790c92c03ca2 100644 --- a/nixos/modules/services/databases/stanchion.nix +++ b/nixos/modules/services/databases/stanchion.nix @@ -98,7 +98,7 @@ in type = types.path; default = "/var/log/stanchion"; description = '' - Log directory for Stanchino. + Log directory for Stanchion. ''; }; @@ -152,6 +152,11 @@ in users.groups.stanchion.gid = config.ids.gids.stanchion; + systemd.tmpfiles.rules = [ + "d '${cfg.logDir}' - stanchion stanchion --" + "d '${cfg.dataDir}' 0700 stanchion stanchion --" + ]; + systemd.services.stanchion = { description = "Stanchion Server"; @@ -168,25 +173,12 @@ in 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; diff --git a/nixos/modules/services/desktops/accountsservice.nix b/nixos/modules/services/desktops/accountsservice.nix index 933b9da2c83c14556555841f6eec8c13841d5daf..c48036a99e8fb5a15358845811eea68cc873e955 100644 --- a/nixos/modules/services/desktops/accountsservice.nix +++ b/nixos/modules/services/desktops/accountsservice.nix @@ -39,14 +39,14 @@ with lib; systemd.packages = [ pkgs.accountsservice ]; - systemd.services.accounts-daemon = { + systemd.services.accounts-daemon = recursiveUpdate { wantedBy = [ "graphical.target" ]; # Accounts daemon looks for dbus interfaces in $XDG_DATA_DIRS/accountsservice environment.XDG_DATA_DIRS = "${config.system.path}/share"; - } // (optionalAttrs (!config.users.mutableUsers) { + } (optionalAttrs (!config.users.mutableUsers) { environment.NIXOS_USERS_PURE = "true"; }); }; diff --git a/nixos/modules/services/desktops/deepin/dde-daemon.nix b/nixos/modules/services/desktops/deepin/dde-daemon.nix new file mode 100644 index 0000000000000000000000000000000000000000..057da4e2d7f283d75a2672277214bb9ff063dc7d --- /dev/null +++ b/nixos/modules/services/desktops/deepin/dde-daemon.nix @@ -0,0 +1,41 @@ +# dde-daemon + +{ config, pkgs, lib, ... }: + +{ + + ###### interface + + options = { + + services.deepin.dde-daemon = { + + enable = lib.mkEnableOption + "A daemon for handling Deepin Desktop Environment session settings"; + + }; + + }; + + + ###### implementation + + config = lib.mkIf config.services.deepin.dde-daemon.enable { + + environment.systemPackages = [ pkgs.deepin.dde-daemon ]; + + services.dbus.packages = [ pkgs.deepin.dde-daemon ]; + + systemd.packages = [ pkgs.deepin.dde-daemon ]; + + users.groups.dde-daemon = { }; + + users.users.dde-daemon = { + description = "Deepin daemon user"; + group = "dde-daemon"; + isSystemUser = true; + }; + + }; + +} diff --git a/nixos/modules/services/desktops/deepin/deepin-menu.nix b/nixos/modules/services/desktops/deepin/deepin-menu.nix new file mode 100644 index 0000000000000000000000000000000000000000..23fe5a741c424fd42d6b0c09ab70e6a0d0a97faa --- /dev/null +++ b/nixos/modules/services/desktops/deepin/deepin-menu.nix @@ -0,0 +1,29 @@ +# deepin-menu + +{ config, pkgs, lib, ... }: + +{ + + ###### interface + + options = { + + services.deepin.deepin-menu = { + + enable = lib.mkEnableOption + "DBus service for unified menus in Deepin Desktop Environment"; + + }; + + }; + + + ###### implementation + + config = lib.mkIf config.services.deepin.deepin-menu.enable { + + services.dbus.packages = [ pkgs.deepin.deepin-menu ]; + + }; + +} diff --git a/nixos/modules/services/desktops/flatpak.xml b/nixos/modules/services/desktops/flatpak.xml index d9c8b711c450b8e16e604f2f77bf02ed3c4315f3..8045d5fa14f8b8a6de26ba757ba57b79c67a44b4 100644 --- a/nixos/modules/services/desktops/flatpak.xml +++ b/nixos/modules/services/desktops/flatpak.xml @@ -3,51 +3,54 @@ xmlns:xi="http://www.w3.org/2001/XInclude" version="5.0" xml:id="module-services-flatpak"> - -Flatpak - -Source: modules/services/desktop/flatpak.nix - -Upstream documentation: - -Flatpak is a system for building, distributing, and running sandboxed desktop applications on Linux. - - - To enable Flatpak, add the following to your configuration.nix: - - + Flatpak + + Source: + modules/services/desktop/flatpak.nix + + + Upstream documentation: + + + + Flatpak is a system for building, distributing, and running sandboxed desktop + applications on Linux. + + + To enable Flatpak, add the following to your + configuration.nix: + = true; - - - - For the sandboxed apps to work correctly, desktop integration portals need to be installed. If you run GNOME, this will be handled automatically for you; in other cases, you will need to add something like the following to your configuration.nix: - - + + + For the sandboxed apps to work correctly, desktop integration portals need to + be installed. If you run GNOME, this will be handled automatically for you; + in other cases, you will need to add something like the following to your + configuration.nix: + = [ pkgs.xdg-desktop-portal-gtk ]; - - - - Then, you will need to add a repository, for example, Flathub, either using the following commands: - - + + + Then, you will need to add a repository, for example, + Flathub, + either using the following commands: + flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo flatpak update - - or by opening the repository file in GNOME Software. - - - + or by opening the + repository + file in GNOME Software. + + Finally, you can search and install programs: - - + flatpak search bustle flatpak install flathub org.freedesktop.Bustle flatpak run org.freedesktop.Bustle - Again, GNOME Software offers graphical interface for these tasks. - + diff --git a/nixos/modules/services/desktops/geoclue2.nix b/nixos/modules/services/desktops/geoclue2.nix index dafb0af2075670bdfc1f6adc27a82942365f362d..840aa5294ed0d66925ba7a1078d01f4b51fd64c9 100644 --- a/nixos/modules/services/desktops/geoclue2.nix +++ b/nixos/modules/services/desktops/geoclue2.nix @@ -61,6 +61,8 @@ in wantedBy = [ "default.target" ]; }; }; + + environment.etc."geoclue/geoclue.conf".source = "${package}/etc/geoclue/geoclue.conf"; }; } diff --git a/nixos/modules/services/desktops/gnome3/evince.nix b/nixos/modules/services/desktops/gnome3/evince.nix new file mode 100644 index 0000000000000000000000000000000000000000..5f040a16f0678d95c10529d33e975affe1c71c8c --- /dev/null +++ b/nixos/modules/services/desktops/gnome3/evince.nix @@ -0,0 +1,35 @@ +# Evince. + +{ config, pkgs, lib, ... }: + +with lib; + +{ + + ###### interface + + options = { + + services.gnome3.evince = { + + enable = mkEnableOption + "systemd and dbus services for Evince, the GNOME document viewer"; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.gnome3.evince.enable { + + environment.systemPackages = [ pkgs.evince ]; + + services.dbus.packages = [ pkgs.evince ]; + + systemd.packages = [ pkgs.evince ]; + + }; + +} diff --git a/nixos/modules/services/desktops/gnome3/file-roller.nix b/nixos/modules/services/desktops/gnome3/file-roller.nix new file mode 100644 index 0000000000000000000000000000000000000000..7fb558a98953f3e2acf42a96418612e0997da708 --- /dev/null +++ b/nixos/modules/services/desktops/gnome3/file-roller.nix @@ -0,0 +1,32 @@ +# File Roller. + +{ config, pkgs, lib, ... }: + +with lib; + +{ + + ###### interface + + options = { + + services.gnome3.file-roller = { + + enable = mkEnableOption "File Roller, an archive manager for GNOME"; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.gnome3.file-roller.enable { + + environment.systemPackages = [ pkgs.gnome3.file-roller ]; + + services.dbus.packages = [ pkgs.gnome3.file-roller ]; + + }; + +} diff --git a/nixos/modules/services/desktops/gnome3/glib-networking.nix b/nixos/modules/services/desktops/gnome3/glib-networking.nix new file mode 100644 index 0000000000000000000000000000000000000000..186668d7d38503152cbf5482e845b03cf675242c --- /dev/null +++ b/nixos/modules/services/desktops/gnome3/glib-networking.nix @@ -0,0 +1,33 @@ +# GLib Networking + +{ config, pkgs, lib, ... }: + +with lib; + +{ + + ###### interface + + options = { + + services.gnome3.glib-networking = { + + enable = mkEnableOption "network extensions for GLib"; + + }; + + }; + + ###### implementation + + config = mkIf config.services.gnome3.glib-networking.enable { + + services.dbus.packages = [ pkgs.gnome3.glib-networking ]; + + systemd.packages = [ pkgs.gnome3.glib-networking ]; + + environment.variables.GIO_EXTRA_MODULES = [ "${pkgs.gnome3.glib-networking.out}/lib/gio/modules" ]; + + }; + +} diff --git a/nixos/modules/services/desktops/gnome3/gnome-keyring.nix b/nixos/modules/services/desktops/gnome3/gnome-keyring.nix index aa1165ab3bba63b7987ef7c1f130f7a3a28414b0..db60445ef7731dfba3f25037954386da2f68148d 100644 --- a/nixos/modules/services/desktops/gnome3/gnome-keyring.nix +++ b/nixos/modules/services/desktops/gnome3/gnome-keyring.nix @@ -33,7 +33,14 @@ with lib; environment.systemPackages = [ pkgs.gnome3.gnome-keyring ]; - services.dbus.packages = [ pkgs.gnome3.gnome-keyring pkgs.gnome3.gcr ]; + services.dbus.packages = [ pkgs.gnome3.gnome-keyring pkgs.gcr ]; + + security.pam.services.login.enableGnomeKeyring = true; + + security.wrappers.gnome-keyring-daemon = { + source = "${pkgs.gnome3.gnome-keyring}/bin/gnome-keyring-daemon"; + capabilities = "cap_ipc_lock=ep"; + }; }; diff --git a/nixos/modules/services/desktops/gnome3/gnome-remote-desktop.nix b/nixos/modules/services/desktops/gnome3/gnome-remote-desktop.nix new file mode 100644 index 0000000000000000000000000000000000000000..021f4f9534b42439b99ca492de9114fc7b3da489 --- /dev/null +++ b/nixos/modules/services/desktops/gnome3/gnome-remote-desktop.nix @@ -0,0 +1,18 @@ +# Remote desktop daemon using Pipewire. +{ config, lib, pkgs, ... }: + +with lib; + +{ + ###### interface + options = { + services.gnome3.gnome-remote-desktop = { + enable = mkEnableOption "Remote Desktop support using Pipewire"; + }; + }; + + ###### implementation + config = mkIf config.services.gnome3.gnome-remote-desktop.enable { + systemd.packages = [ pkgs.gnome3.gnome-remote-desktop ]; + }; +} diff --git a/nixos/modules/services/desktops/gnome3/gnome-settings-daemon.nix b/nixos/modules/services/desktops/gnome3/gnome-settings-daemon.nix new file mode 100644 index 0000000000000000000000000000000000000000..7f7adcf26acf4af41d142103349269aa80baaab7 --- /dev/null +++ b/nixos/modules/services/desktops/gnome3/gnome-settings-daemon.nix @@ -0,0 +1,45 @@ +# GNOME Settings Daemon + +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.gnome3.gnome-settings-daemon; + +in + +{ + + ###### interface + + options = { + + services.gnome3.gnome-settings-daemon = { + + enable = mkEnableOption "GNOME Settings Daemon"; + + # There are many forks of gnome-settings-daemon + package = mkOption { + type = types.package; + default = pkgs.gnome3.gnome-settings-daemon; + description = "Which gnome-settings-daemon package to use."; + }; + + }; + + }; + + + ###### implementation + + config = mkIf cfg.enable { + + environment.systemPackages = [ cfg.package ]; + + services.udev.packages = [ cfg.package ]; + + }; + +} diff --git a/nixos/modules/services/desktops/gnome3/rygel.nix b/nixos/modules/services/desktops/gnome3/rygel.nix new file mode 100644 index 0000000000000000000000000000000000000000..55d5e703aa19d9b1ec362d99158b9ee9c323c032 --- /dev/null +++ b/nixos/modules/services/desktops/gnome3/rygel.nix @@ -0,0 +1,30 @@ +# rygel service. +{ config, lib, pkgs, ... }: + +with lib; + +{ + ###### interface + options = { + services.gnome3.rygel = { + enable = mkOption { + default = false; + description = '' + Whether to enable Rygel UPnP Mediaserver. + + You will need to also allow UPnP connections in firewall, see the following comment. + ''; + type = types.bool; + }; + }; + }; + + ###### implementation + config = mkIf config.services.gnome3.rygel.enable { + environment.systemPackages = [ pkgs.gnome3.rygel ]; + + services.dbus.packages = [ pkgs.gnome3.rygel ]; + + systemd.packages = [ pkgs.gnome3.rygel ]; + }; +} diff --git a/nixos/modules/services/desktops/gnome3/seahorse.nix b/nixos/modules/services/desktops/gnome3/seahorse.nix index e9ad738269e434a89c91782585c3415129c8502d..9631157934f973ee4c00a824dd002684940d59b7 100644 --- a/nixos/modules/services/desktops/gnome3/seahorse.nix +++ b/nixos/modules/services/desktops/gnome3/seahorse.nix @@ -29,7 +29,7 @@ with lib; config = mkIf config.services.gnome3.seahorse.enable { - environment.systemPackages = [ pkgs.gnome3.seahorse ]; + environment.systemPackages = [ pkgs.gnome3.seahorse pkgs.gnome3.dconf ]; services.dbus.packages = [ pkgs.gnome3.seahorse ]; diff --git a/nixos/modules/services/desktops/gsignond.nix b/nixos/modules/services/desktops/gsignond.nix new file mode 100644 index 0000000000000000000000000000000000000000..5ab9add9f32d5dc36c3726baee75505f02d9d047 --- /dev/null +++ b/nixos/modules/services/desktops/gsignond.nix @@ -0,0 +1,45 @@ +# Accounts-SSO gSignOn daemon + +{ config, lib, pkgs, ... }: + +with lib; + +let + package = pkgs.gsignond.override { plugins = config.services.gsignond.plugins; }; +in +{ + + meta.maintainers = pkgs.pantheon.maintainers; + + ###### interface + + options = { + + services.gsignond = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable gSignOn daemon, a DBus service + which performs user authentication on behalf of its clients. + ''; + }; + + plugins = mkOption { + type = types.listOf types.package; + default = []; + description = '' + What plugins to use with the gSignOn daemon. + ''; + }; + }; + }; + + ###### implementation + config = mkIf config.services.gsignond.enable { + environment.etc."gsignond.conf".source = "${package}/etc/gsignond.conf"; + services.dbus.packages = [ package ]; + }; + +} diff --git a/nixos/modules/services/desktops/pantheon/contractor.nix b/nixos/modules/services/desktops/pantheon/contractor.nix new file mode 100644 index 0000000000000000000000000000000000000000..2638a21df73363e4815585584bbbe08787eaeb7a --- /dev/null +++ b/nixos/modules/services/desktops/pantheon/contractor.nix @@ -0,0 +1,41 @@ +# Contractor + +{ config, pkgs, lib, ... }: + +with lib; + +{ + + meta.maintainers = pkgs.pantheon.maintainers; + + ###### interface + + options = { + + services.pantheon.contractor = { + + enable = mkEnableOption "contractor, a desktop-wide extension service used by pantheon"; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.pantheon.contractor.enable { + + environment.systemPackages = with pkgs.pantheon; [ + contractor + extra-elementary-contracts + ]; + + services.dbus.packages = [ pkgs.pantheon.contractor ]; + + environment.pathsToLink = [ + "/share/contractor" + ]; + + }; + +} diff --git a/nixos/modules/services/desktops/pantheon/files.nix b/nixos/modules/services/desktops/pantheon/files.nix new file mode 100644 index 0000000000000000000000000000000000000000..577aad6c29872918246746b84595fad8c1a15a34 --- /dev/null +++ b/nixos/modules/services/desktops/pantheon/files.nix @@ -0,0 +1,38 @@ +# pantheon files daemon. + +{ config, pkgs, lib, ... }: + +with lib; + +{ + + meta.maintainers = pkgs.pantheon.maintainers; + + ###### interface + + options = { + + services.pantheon.files = { + + enable = mkEnableOption "pantheon files daemon"; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.pantheon.files.enable { + + environment.systemPackages = [ + pkgs.pantheon.elementary-files + ]; + + services.dbus.packages = [ + pkgs.pantheon.elementary-files + ]; + + }; + +} diff --git a/nixos/modules/services/desktops/profile-sync-daemon.nix b/nixos/modules/services/desktops/profile-sync-daemon.nix index e3f74df3e573e4e0486f20d7733acffca3f25061..e4e47cfbd43838845e8c949fc30008e47238e416 100644 --- a/nixos/modules/services/desktops/profile-sync-daemon.nix +++ b/nixos/modules/services/desktops/profile-sync-daemon.nix @@ -4,22 +4,7 @@ with lib; let cfg = config.services.psd; - - configFile = '' - ${optionalString (cfg.users != [ ]) '' - USERS="${concatStringsSep " " cfg.users}" - ''} - - ${optionalString (cfg.browsers != [ ]) '' - BROWSERS="${concatStringsSep " " cfg.browsers}" - ''} - - ${optionalString (cfg.volatile != "") "VOLATILE=${cfg.volatile}"} - ${optionalString (cfg.daemonFile != "") "DAEMON_FILE=${cfg.daemonFile}"} - ''; - in { - options.services.psd = with types; { enable = mkOption { type = bool; @@ -28,32 +13,6 @@ in { Whether to enable the Profile Sync daemon. ''; }; - - users = mkOption { - type = listOf str; - default = [ ]; - example = [ "demo" ]; - description = '' - A list of users whose browser profiles should be sync'd to tmpfs. - ''; - }; - - browsers = mkOption { - type = listOf str; - default = [ ]; - example = [ "chromium" "firefox" ]; - description = '' - A list of browsers to sync. Available choices are: - - chromium chromium-dev conkeror.mozdev.org epiphany firefox - firefox-trunk google-chrome google-chrome-beta google-chrome-unstable - heftig-aurora icecat luakit midori opera opera-developer opera-beta - qupzilla palemoon rekonq seamonkey - - An empty list will enable all browsers. - ''; - }; - resyncTimer = mkOption { type = str; default = "1h"; @@ -66,80 +25,53 @@ in { omitted. ''; }; - - volatile = mkOption { - type = str; - default = "/run/psd-profiles"; - description = '' - The directory where browser profiles should reside(this should be - mounted as a tmpfs). Do not include a trailing backslash. - ''; - }; - - daemonFile = mkOption { - type = str; - default = "/run/psd"; - description = '' - Where the pid and backup configuration files will be stored. - ''; - }; }; config = mkIf cfg.enable { - assertions = [ - { assertion = cfg.users != []; - message = "services.psd.users must contain at least one user"; - } - ]; - systemd = { - services = { - psd = { - description = "Profile Sync daemon"; - wants = [ "psd-resync.service" "local-fs.target" ]; - wantedBy = [ "multi-user.target" ]; - preStart = "mkdir -p ${cfg.volatile}"; - - path = with pkgs; [ glibc rsync gawk ]; - - unitConfig = { - RequiresMountsFor = [ "/home/" ]; + user = { + services = { + psd = { + enable = true; + description = "Profile Sync daemon"; + wants = [ "psd-resync.service" "local-fs.target" ]; + wantedBy = [ "default.target" ]; + path = with pkgs; [ rsync kmod gawk nettools utillinux profile-sync-daemon ]; + unitConfig = { + RequiresMountsFor = [ "/home/" ]; + }; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = "yes"; + ExecStart = "${pkgs.profile-sync-daemon}/bin/profile-sync-daemon sync"; + ExecStop = "${pkgs.profile-sync-daemon}/bin/profile-sync-daemon unsync"; + }; }; - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = "yes"; - ExecStart = "${pkgs.profile-sync-daemon}/bin/profile-sync-daemon sync"; - ExecStop = "${pkgs.profile-sync-daemon}/bin/profile-sync-daemon unsync"; + psd-resync = { + enable = true; + description = "Timed profile resync"; + after = [ "psd.service" ]; + wants = [ "psd-resync.timer" ]; + partOf = [ "psd.service" ]; + wantedBy = [ "default.target" ]; + path = with pkgs; [ rsync kmod gawk nettools utillinux profile-sync-daemon ]; + serviceConfig = { + Type = "oneshot"; + ExecStart = "${pkgs.profile-sync-daemon}/bin/profile-sync-daemon resync"; + }; }; }; - psd-resync = { - description = "Timed profile resync"; - after = [ "psd.service" ]; - wants = [ "psd-resync.timer" ]; - partOf = [ "psd.service" ]; - - path = with pkgs; [ glibc rsync gawk ]; + timers.psd-resync = { + description = "Timer for profile sync daemon - ${cfg.resyncTimer}"; + partOf = [ "psd-resync.service" "psd.service" ]; - serviceConfig = { - Type = "oneshot"; - ExecStart = "${pkgs.profile-sync-daemon}/bin/profile-sync-daemon resync"; + timerConfig = { + OnUnitActiveSec = "${cfg.resyncTimer}"; }; }; }; - - timers.psd-resync = { - description = "Timer for profile sync daemon - ${cfg.resyncTimer}"; - partOf = [ "psd-resync.service" "psd.service" ]; - - timerConfig = { - OnUnitActiveSec = "${cfg.resyncTimer}"; - }; - }; }; - - environment.etc."psd.conf".text = configFile; - }; } diff --git a/nixos/modules/services/desktops/tumbler.nix b/nixos/modules/services/desktops/tumbler.nix new file mode 100644 index 0000000000000000000000000000000000000000..ccbb6d1434d961b5cdc1cabd4d757c06de1bb5a6 --- /dev/null +++ b/nixos/modules/services/desktops/tumbler.nix @@ -0,0 +1,50 @@ +# Tumbler + +{ config, pkgs, lib, ... }: + +with lib; + +let + + cfg = config.services.tumbler; + tumbler = cfg.package; + +in + +{ + + ###### interface + + options = { + + services.tumbler = { + + enable = mkEnableOption "Tumbler, A D-Bus thumbnailer service"; + + package = mkOption { + type = types.package; + default = pkgs.xfce4-13.tumbler; + description = "Which tumbler package to use"; + example = pkgs.xfce4-12.tumbler; + }; + + }; + + }; + + + ###### implementation + + config = mkIf cfg.enable { + + environment.systemPackages = [ + tumbler + ]; + + services.dbus.packages = [ + tumbler + ]; + + }; + +} diff --git a/nixos/modules/services/development/jupyter/default.nix b/nixos/modules/services/development/jupyter/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..f20860af6e12874b6462bc0e2c7a5e71cbcb8e58 --- /dev/null +++ b/nixos/modules/services/development/jupyter/default.nix @@ -0,0 +1,185 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.jupyter; + + # NOTE: We don't use top-level jupyter because we don't + # want to pass in JUPYTER_PATH but use .environment instead, + # saving a rebuild. + package = pkgs.python3.pkgs.notebook; + + kernels = (pkgs.jupyter-kernel.create { + definitions = if cfg.kernels != null + then cfg.kernels + else pkgs.jupyter-kernel.default; + }); + + notebookConfig = pkgs.writeText "jupyter_config.py" '' + ${cfg.notebookConfig} + + c.NotebookApp.password = ${cfg.password} + ''; + +in { + meta.maintainers = with maintainers; [ aborsu ]; + + options.services.jupyter = { + enable = mkEnableOption "Jupyter development server"; + + ip = mkOption { + type = types.str; + default = "localhost"; + description = '' + IP address Jupyter will be listening on. + ''; + }; + + port = mkOption { + type = types.int; + default = 8888; + description = '' + Port number Jupyter will be listening on. + ''; + }; + + notebookDir = mkOption { + type = types.str; + default = "~/"; + description = '' + Root directory for notebooks. + ''; + }; + + user = mkOption { + type = types.str; + default = "jupyter"; + description = '' + Name of the user used to run the jupyter service. + For security reason, jupyter should really not be run as root. + If not set (jupyter), the service will create a jupyter user with appropriate settings. + ''; + example = "aborsu"; + }; + + group = mkOption { + type = types.str; + default = "jupyter"; + description = '' + Name of the group used to run the jupyter service. + Use this if you want to create a group of users that are able to view the notebook directory's content. + ''; + example = "users"; + }; + + password = mkOption { + type = types.str; + description = '' + Password to use with notebook. + Can be generated using: + In [1]: from notebook.auth import passwd + In [2]: passwd('test') + Out[2]: 'sha1:1b961dc713fb:88483270a63e57d18d43cf337e629539de1436ba' + NOTE: you need to keep the single quote inside the nix string. + Or you can use a python oneliner: + "open('/path/secret_file', 'r', encoding='utf8').read().strip()" + It will be interpreted at the end of the notebookConfig. + ''; + example = [ + "'sha1:1b961dc713fb:88483270a63e57d18d43cf337e629539de1436ba'" + "open('/path/secret_file', 'r', encoding='utf8').read().strip()" + ]; + }; + + notebookConfig = mkOption { + type = types.lines; + default = ""; + description = '' + Raw jupyter config. + ''; + }; + + kernels = mkOption { + type = types.nullOr (types.attrsOf(types.submodule (import ./kernel-options.nix { + inherit lib; + }))); + + default = null; + example = literalExample '' + { + python3 = let + env = (pkgs.python3.withPackages (pythonPackages: with pythonPackages; [ + ipykernel + pandas + scikitlearn + ])); + in { + displayName = "Python 3 for machine learning"; + argv = [ + "$ {env.interpreter}" + "-m" + "ipykernel_launcher" + "-f" + "{connection_file}" + ]; + language = "python"; + logo32 = "$ {env.sitePackages}/ipykernel/resources/logo-32x32.png"; + logo64 = "$ {env.sitePackages}/ipykernel/resources/logo-64x64.png"; + }; + } + ''; + description = "Declarative kernel config + + Kernels can be declared in any language that supports and has the required + dependencies to communicate with a jupyter server. + In python's case, it means that ipykernel package must always be included in + the list of packages of the targeted environment. + "; + }; + }; + + config = mkMerge [ + (mkIf cfg.enable { + systemd.services.jupyter = { + description = "Jupyter development server"; + + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + + # TODO: Patch notebook so we can explicitly pass in a shell + path = [ pkgs.bash ]; # needed for sh in cell magic to work + + environment = { + JUPYTER_PATH = toString kernels; + }; + + serviceConfig = { + Restart = "always"; + ExecStart = ''${package}/bin/jupyter-notebook \ + --no-browser \ + --ip=${cfg.ip} \ + --port=${toString cfg.port} --port-retries 0 \ + --notebook-dir=${cfg.notebookDir} \ + --NotebookApp.config_file=${notebookConfig} + ''; + User = cfg.user; + Group = cfg.group; + WorkingDirectory = "~"; + }; + }; + }) + (mkIf (cfg.enable && (cfg.group == "jupyter")) { + users.groups.jupyter = {}; + }) + (mkIf (cfg.enable && (cfg.user == "jupyter")) { + users.extraUsers.jupyter = { + extraGroups = [ cfg.group ]; + home = "/var/lib/jupyter"; + createHome = true; + useDefaultShell = true; # needed so that the user can start a terminal. + }; + }) + ]; +} diff --git a/nixos/modules/services/development/jupyter/kernel-options.nix b/nixos/modules/services/development/jupyter/kernel-options.nix new file mode 100644 index 0000000000000000000000000000000000000000..03547637449a2112f1da2f8196aa93ecbc377638 --- /dev/null +++ b/nixos/modules/services/development/jupyter/kernel-options.nix @@ -0,0 +1,60 @@ +# Options that can be used for creating a jupyter kernel. +{lib }: + +with lib; + +{ + options = { + + displayName = mkOption { + type = types.str; + default = ""; + example = [ + "Python 3" + "Python 3 for Data Science" + ]; + description = '' + Name that will be shown to the user. + ''; + }; + + argv = mkOption { + type = types.listOf types.str; + example = [ + "{customEnv.interpreter}" + "-m" + "ipykernel_launcher" + "-f" + "{connection_file}" + ]; + description = '' + Command and arguments to start the kernel. + ''; + }; + + language = mkOption { + type = types.str; + example = "python"; + description = '' + Language of the environment. Typically the name of the binary. + ''; + }; + + logo32 = mkOption { + type = types.nullOr types.path; + default = null; + example = "{env.sitePackages}/ipykernel/resources/logo-32x32.png"; + description = '' + Path to 32x32 logo png. + ''; + }; + logo64 = mkOption { + type = types.nullOr types.path; + default = null; + example = "{env.sitePackages}/ipykernel/resources/logo-64x64.png"; + description = '' + Path to 64x64 logo png. + ''; + }; + }; +} diff --git a/nixos/modules/services/editors/emacs.xml b/nixos/modules/services/editors/emacs.xml index dfab5ce4a79d39747e72de8d052e2cbae14a4985..1ac53c818a7f77086ea5a350d815fb08e38a361b 100644 --- a/nixos/modules/services/editors/emacs.xml +++ b/nixos/modules/services/editors/emacs.xml @@ -3,150 +3,148 @@ xmlns:xi="http://www.w3.org/2001/XInclude" version="5.0" xml:id="module-services-emacs"> - - Emacs - - + + Emacs is an + extensible, customizable, self-documenting real-time display 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. + + + Emacs runs within a graphical desktop environment using the X Window System, + but works equally well on a text terminal. Under + macOS, a "Mac port" edition is available, which + uses Apple's native GUI frameworks. + + + Nixpkgs provides a superior environment for + running Emacs. It's simple to create custom builds + by overriding the default packages. Chaotic collections of Emacs Lisp code + and extensions can be brought under control using declarative package + management. NixOS even provides a + systemd user service for automatically starting the Emacs + daemon. + +
+ Installing <application>Emacs</application> - Emacs - is an extensible, customizable, self-documenting real-time display - 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. + Emacs can be installed in the normal way for Nix (see + ). In addition, a NixOS + service can be enabled. - - Emacs runs within a graphical desktop environment using the X - Window System, but works equally well on a text terminal. Under - macOS, a "Mac port" edition is - available, which uses Apple's native GUI frameworks. - +
+ The Different Releases of Emacs + + + Nixpkgs defines several basic Emacs packages. + The following are attributes belonging to the pkgs set: + + + + emacs + + + emacs25 + + + + The latest stable version of Emacs 25 using the + GTK+ 2 + widget toolkit. + + + + + + emacs25-nox + + + + Emacs 25 built without any dependency on X11 libraries. + + + + + + emacsMacport + + + emacs25Macport + + + + Emacs 25 with the "Mac port" patches, providing a more native look and + feel under macOS. + + + + + + + + If those aren't suitable, then the following imitation Emacs editors are + also available in Nixpkgs: + Zile, + mg, + Yi. + +
- - Nixpkgs provides a superior environment - for running Emacs. It's simple to - create custom builds by overriding the default packages. Chaotic - collections of Emacs Lisp code and extensions can be brought under - control using declarative package - management. NixOS even provides a - systemd user service for automatically - starting the Emacs daemon. - +
+ Adding Packages to Emacs -
- Installing <application>Emacs</application> + + Emacs includes an entire ecosystem of functionality beyond text editing, + including a project planner, mail and news reader, debugger interface, + calendar, and more. + + + Most extensions are gotten with the Emacs packaging system + (package.el) from + Emacs Lisp Package Archive + (ELPA), + MELPA, + MELPA Stable, and + Org ELPA. Nixpkgs is + regularly updated to mirror all these archives. + + + + Under NixOS, you can continue to use + package-list-packages and + package-install to install packages. You can also + declare the set of Emacs packages you need using the derivations from + Nixpkgs. The rest of this section discusses declarative installation of + Emacs packages through nixpkgs. + + + - Emacs can be installed in the normal way for Nix (see - ). - In addition, a NixOS service - can be enabled. + This documentation describes the new Emacs packages framework in NixOS + 16.03 (emacsPackagesNg) which should not be confused + with the previous and deprecated framework + (emacs24Packages). - -
- The Different Releases of Emacs - - - Nixpkgs defines several basic Emacs - packages. The following are attributes belonging to the - pkgs set: - - - - emacs - emacs25 - - - The latest stable version of Emacs 25 using the GTK+ 2 widget - toolkit. - - - - - emacs25-nox - - - Emacs 25 built without any dependency on X11 - libraries. - - - - - emacsMacport - emacs25Macport - - - Emacs 25 with the "Mac port" patches, providing a more - native look and feel under macOS. - - - - - - - - If those aren't suitable, then the following imitation Emacs - editors are also available in Nixpkgs: - Zile, - mg, - Yi. - - -
-
- Adding Packages to Emacs - - Emacs includes an entire ecosystem of functionality beyond - text editing, including a project planner, mail and news - reader, debugger interface, calendar, and more. - - - - Most extensions are gotten with the Emacs packaging system - (package.el) from Emacs Lisp Package Archive - (ELPA), - MELPA, - MELPA Stable, - and Org ELPA. - Nixpkgs is regularly updated to mirror all these archives. - - - - Under NixOS, you can continue to use - package-list-packages and - package-install to install packages. You - can also declare the set of Emacs packages you need using the - derivations from Nixpkgs. The rest of this section discusses - declarative installation of Emacs packages through nixpkgs. - - - - - This documentation describes the new Emacs packages - framework in NixOS 16.03 - (emacsPackagesNg) which should not be - confused with the previous and deprecated framework - (emacs24Packages). - - - - - The first step to declare the list of packages you want in - your Emacs installation is to create a dedicated - derivation. This can be done in a dedicated - emacs.nix file such as: - - - Nix expression to build Emacs with packages (<filename>emacs.nix</filename>) - + + + + The first step to declare the list of packages you want in your Emacs + installation is to create a dedicated derivation. This can be done in a + dedicated emacs.nix file such as: + + Nix expression to build Emacs with packages (<filename>emacs.nix</filename>) + /* This is a nix expression to build Emacs and some Emacs packages I like from source on any distribution where Nix is installed. This will install @@ -181,119 +179,104 @@ in pkgs.notmuch # From main packages set ]) - - - - - - The first non-comment line in this file - ({ pkgs ? ... }) - indicates that the whole file represents a function. - - - - - - The let expression below defines a - myEmacs binding pointing to the current - stable version of Emacs. This binding is here to separate the - choice of the Emacs binary from the specification of the - required packages. - - - - - - This generates an emacsWithPackages - function. It takes a single argument: a function from a - package set to a list of packages (the packages that will - be available in Emacs). - - - - - - The rest of the file specifies the list of packages to - install. In the example, two packages - (magit and - zerodark-theme) are taken from MELPA - stable. - - - - - - Two packages (undo-tree and - zoom-frm) are taken from MELPA. - - - - - Three packages are taken from GNU ELPA. - - - - - notmuch is taken from a nixpkgs derivation - which contains an Emacs mode. - - - - + + + + + The first non-comment line in this file ({ pkgs ? ... + }) indicates that the whole file represents a function. - + + - The result of this configuration will be an - emacs command which launches Emacs with all - of your chosen packages in the load-path. + The let expression below defines a + myEmacs binding pointing to the current stable + version of Emacs. This binding is here to separate the choice of the + Emacs binary from the specification of the required packages. - + + - You can check that it works by executing this in a terminal: - + This generates an emacsWithPackages function. It + takes a single argument: a function from a package set to a list of + packages (the packages that will be available in Emacs). + + + + + The rest of the file specifies the list of packages to install. In the + example, two packages (magit and + zerodark-theme) are taken from MELPA stable. + + + + + Two packages (undo-tree and + zoom-frm) are taken from MELPA. + + + + + Three packages are taken from GNU ELPA. + + + + + notmuch is taken from a nixpkgs derivation which + contains an Emacs mode. + + + + + + + The result of this configuration will be an emacs + command which launches Emacs with all of your chosen packages in the + load-path. + + + + You can check that it works by executing this in a terminal: $ nix-build emacs.nix $ ./result/bin/emacs -q + and then typing M-x package-initialize. Check that you + can use all the packages you want in this Emacs instance. For example, try + switching to the zerodark theme through M-x load-theme <RET> + zerodark <RET> y. + - and then typing M-x package-initialize. - Check that you can use all the packages you want in this - Emacs instance. For example, try switching to the zerodark - theme through - M-x load-theme <RET> zerodark <RET> y. - - - - - A few popular extensions worth checking out are: auctex, - company, edit-server, flycheck, helm, iedit, magit, - multiple-cursors, projectile, and yasnippet. - - - - - The list of available packages in the various ELPA - repositories can be seen with the following commands: - - Querying Emacs packages - + + A few popular extensions worth checking out are: auctex, company, + edit-server, flycheck, helm, iedit, magit, multiple-cursors, projectile, + and yasnippet. + + + + + The list of available packages in the various ELPA repositories can be seen + with the following commands: + + Querying Emacs packages +" -qaP -A emacsPackagesNg.elpaPackages nix-env -f "" -qaP -A emacsPackagesNg.melpaPackages nix-env -f "" -qaP -A emacsPackagesNg.melpaStablePackages nix-env -f "" -qaP -A emacsPackagesNg.orgPackages ]]> - - - - - If you are on NixOS, you can install this particular Emacs for - all users by adding it to the list of system packages - (see ). Simply - modify your file configuration.nix to - make it contain: - - Custom Emacs in <filename>configuration.nix</filename> - + + + + If you are on NixOS, you can install this particular Emacs for all users by + adding it to the list of system packages (see + ). Simply modify your file + configuration.nix to make it contain: + + Custom Emacs in <filename>configuration.nix</filename> +" -qaP -A emacsPackagesNg.orgPackages ]; } ]]> - - + + - - In this case, the next nixos-rebuild switch - will take care of adding your emacs to the - PATH environment variable - (see ). - + + In this case, the next nixos-rebuild switch will take + care of adding your emacs to the PATH + environment variable (see ). + - - If you are not on NixOS or want to install this particular - Emacs only for yourself, you can do so by adding it to your - ~/.config/nixpkgs/config.nix - (see Nixpkgs manual): - - Custom Emacs in <filename>~/.config/nixpkgs/config.nix</filename> - + If you are not on NixOS or want to install this particular Emacs only for + yourself, you can do so by adding it to your + ~/.config/nixpkgs/config.nix (see + Nixpkgs + manual): + + Custom Emacs in <filename>~/.config/nixpkgs/config.nix</filename> + - - - - - In this case, the next - nix-env -f '<nixpkgs>' -iA myemacs - will take care of adding your emacs to the - PATH environment variable. - -
- -
- Advanced Emacs Configuration + + - - If you want, you can tweak the Emacs package itself from your - emacs.nix. For example, if you want to - have a GTK+3-based Emacs instead of the default GTK+2-based - binary and remove the automatically generated - emacs.desktop (useful is you only use - emacsclient), you can change your file - emacs.nix in this way: - + + In this case, the next nix-env -f '<nixpkgs>' -iA + myemacs will take care of adding your emacs to the + PATH environment variable. + +
- - Custom Emacs build - + Advanced Emacs Configuration + + + If you want, you can tweak the Emacs package itself from your + emacs.nix. For example, if you want to have a + GTK+3-based Emacs instead of the default GTK+2-based binary and remove the + automatically generated emacs.desktop (useful is you + only use emacsclient), you can change your file + emacs.nix in this way: + + + + Custom Emacs build + {} }: let myEmacs = (pkgs.emacs.override { @@ -370,161 +352,143 @@ let }); in [...] ]]> - + - - After building this file as shown in , - you will get an GTK3-based Emacs binary pre-loaded with your - favorite packages. - -
+ + After building this file as shown in , you + will get an GTK3-based Emacs binary pre-loaded with your favorite packages. +
- -
+
+
Running Emacs as a Service + - NixOS provides an optional - systemd service which launches - - Emacs daemon - - with the user's login session. + NixOS provides an optional + systemd service which launches + + Emacs daemon with the user's login session. - Source: - modules/services/editors/emacs.nix + Source: + modules/services/editors/emacs.nix -
- Enabling the Service - - - To install and enable the systemd - user service for Emacs daemon, add the following to your - configuration.nix: +
+ Enabling the Service + + To install and enable the systemd user service for Emacs + daemon, add the following to your configuration.nix: = true; = import /home/cassou/.emacs.d { pkgs = pkgs; }; - - - - The services.emacs.package option allows a - custom derivation to be used, for example, one created by - emacsWithPackages. - - - - Ensure that the Emacs server is enabled for your user's Emacs - configuration, either by customizing the - server-mode variable, or by adding - (server-start) to - ~/.emacs.d/init.el. - - - - To start the daemon, execute the following: - + + + + The services.emacs.package option allows a custom + derivation to be used, for example, one created by + emacsWithPackages. + + + + Ensure that the Emacs server is enabled for your user's Emacs + configuration, either by customizing the server-mode + variable, or by adding (server-start) to + ~/.emacs.d/init.el. + + + + To start the daemon, execute the following: $ nixos-rebuild switch # to activate the new configuration.nix $ systemctl --user daemon-reload # to force systemd reload $ systemctl --user start emacs.service # to start the Emacs daemon - - The server should now be ready to serve Emacs clients. - - + The server should now be ready to serve Emacs clients. +
-
- Starting the client - - Ensure that the emacs server is enabled, either by customizing - the server-mode variable, or by adding - (server-start) to - ~/.emacs. - +
+ Starting the client - - To connect to the emacs daemon, run one of the following: - + Ensure that the emacs server is enabled, either by customizing the + server-mode variable, or by adding + (server-start) to ~/.emacs. + + + + To connect to the emacs daemon, run one of the following: + - +
-
- Configuring the <varname>EDITOR</varname> variable - - - - If is - true, the EDITOR variable - will be set to a wrapper script which launches - emacsclient. - - - - Any setting of EDITOR in the shell config - files will override - services.emacs.defaultEditor. - To make sure EDITOR refers to the Emacs - wrapper script, remove any existing EDITOR - assignment from .profile, - .bashrc, .zshenv or - any other shell config file. - - - - If you have formed certain bad habits when editing files, - these can be corrected with a shell alias to the wrapper - script: - alias vi=$EDITOR - +
+ Configuring the <varname>EDITOR</varname> variable + + + + + If is + true, the EDITOR variable will be set + to a wrapper script which launches emacsclient. + + + + Any setting of EDITOR in the shell config files will + override services.emacs.defaultEditor. To make sure + EDITOR refers to the Emacs wrapper script, remove any + existing EDITOR assignment from + .profile, .bashrc, + .zshenv or any other shell config file. + + + + If you have formed certain bad habits when editing files, these can be + corrected with a shell alias to the wrapper script: +alias vi=$EDITOR +
-
- Per-User Enabling of the Service - - - In general, systemd user services - are globally enabled by symlinks in - /etc/systemd/user. In the case where - Emacs daemon is not wanted for all users, it is possible to - install the service but not globally enable it: +
+ Per-User Enabling of the Service + + In general, systemd user services are globally enabled + by symlinks in /etc/systemd/user. In the case where + Emacs daemon is not wanted for all users, it is possible to install the + service but not globally enable it: = false; = true; - - - - To enable the systemd user service for just - the currently logged in user, run: - - systemctl --user enable emacs - - This will add the symlink - ~/.config/systemd/user/emacs.service. - + + + + To enable the systemd user service for just the + currently logged in user, run: +systemctl --user enable emacs + This will add the symlink + ~/.config/systemd/user/emacs.service. +
-
- -
+
+
Configuring Emacs - The Emacs init file should be changed to load the extension - packages at startup: - - - Package initialization in <filename>.emacs</filename> - + Package initialization in <filename>.emacs</filename> + - + - After the declarative emacs package configuration has been - tested, previously downloaded packages can be cleaned up by - removing ~/.emacs.d/elpa (do make a backup - first, in case you forgot a package). + After the declarative emacs package configuration has been tested, + previously downloaded packages can be cleaned up by removing + ~/.emacs.d/elpa (do make a backup first, in case you + forgot a package). - -
- A Major Mode for Nix Expressions +
+ A Major Mode for Nix Expressions - - Of interest may be melpaPackages.nix-mode, - which provides syntax highlighting for the Nix language. This is - particularly convenient if you regularly edit Nix files. - + + Of interest may be melpaPackages.nix-mode, which + provides syntax highlighting for the Nix language. This is particularly + convenient if you regularly edit Nix files. +
-
- Accessing man pages - - You can use woman to get completion of all - available man pages. For example, type M-x woman - <RET> nixos-rebuild <RET>. - +
+ Accessing man pages + + + You can use woman to get completion of all available + man pages. For example, type M-x woman <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. - + Editing DocBook 5 XML Documents - - To install the DocBook 5.0 schemas, either add - pkgs.docbook5 to - ( + 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 + + (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>) - 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>) + +\ No newline at end of file ++ +--- a/src/gpodder/config.py ++++ b/src/gpodder/config.py +@@ -91,13 +91,6 @@ + 'retries': 3, # number of retries when downloads time out + }, + +- # Software updates from gpodder.org +- 'software_update': { +- 'check_on_startup': True, # check for updates on start +- 'last_check': 0, # unix timestamp of last update check +- 'interval': 5, # interval (in days) to check for updates +- }, +- + 'ui': { + # Settings for the Command-Line Interface + 'cli': { +--- a/src/gpodder/gtkui/main.py ++++ b/src/gpodder/gtkui/main.py +@@ -224,7 +224,7 @@ + util.idle_add(self.subscribe_to_url, self.options.subscribe) + elif not self.channels: + self.on_itemUpdate_activate() +- elif self.config.software_update.check_on_startup: ++ elif False and self.config.software_update.check_on_startup: + # Check for software updates from gpodder.org + diff = time.time() - self.config.software_update.last_check + if diff > (60 * 60 * 24) * self.config.software_update.interval: +@@ -3288,6 +3288,7 @@ + If silent=False, a message will be shown even if no updates are + available (set silent=False when the check is manually triggered). + """ ++ return + try: + up_to_date, version, released, days = util.get_update_info() + except Exception as e: diff --git a/pkgs/applications/audio/gradio/default.nix b/pkgs/applications/audio/gradio/default.nix index ed34c3118c68ddf0dc2823685be7d1216825ac99..3aea07235d8acec604c11ec8980afdd5c93e9bc0 100644 --- a/pkgs/applications/audio/gradio/default.nix +++ b/pkgs/applications/audio/gradio/default.nix @@ -16,7 +16,7 @@ , gst_plugins ? with gst_all_1; [ gst-plugins-good gst-plugins-ugly ] }: let - version = "7.1"; + version = "7.2"; in stdenv.mkDerivation rec { name = "gradio-${version}"; @@ -25,7 +25,7 @@ in stdenv.mkDerivation rec { owner = "haecker-felix"; repo = "gradio"; rev = "v${version}"; - sha256 = "0x0hmcjvpgvsm64ywcc71srlwqybfhadn5nkwycq0lh7r49d89kx"; + sha256 = "0c4vlrfl0ljkiwarpwa8wcfmmihh6a5j4pi4yr0qshyl9xxvxiv3"; }; nativeBuildInputs = [ @@ -56,7 +56,7 @@ in stdenv.mkDerivation rec { enableParallelBuilding = true; postInstall = '' - ${glib.dev}/bin/glib-compile-schemas $out/share/glib-2.0/schemas + glib-compile-schemas "$out"/share/glib-2.0/schemas ''; patches = [ ./0001-Remove-post-install-script-that-hardcodes-paths.patch ]; diff --git a/pkgs/applications/audio/gtklick/default.nix b/pkgs/applications/audio/gtklick/default.nix index 0434b00c7053b7ea41ccfd45031c933cf02e6ae2..b653ae5ca5881d3b8606de585677a9b29be466d1 100644 --- a/pkgs/applications/audio/gtklick/default.nix +++ b/pkgs/applications/audio/gtklick/default.nix @@ -14,7 +14,7 @@ pythonPackages.buildPythonApplication rec { pyGtkGlade ]; - buildInputs = [ gettext ]; + nativeBuildInputs = [ gettext ]; propagatedBuildInputs = [ klick ]; diff --git a/pkgs/applications/audio/gtkpod/default.nix b/pkgs/applications/audio/gtkpod/default.nix index 6546fd7866ea96ee82f21d0e88dbc71ffb1be193..0727ab56f7de43ca076e27ddae525c9066f48372 100644 --- a/pkgs/applications/audio/gtkpod/default.nix +++ b/pkgs/applications/audio/gtkpod/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig, wrapGAppsHook, intltool, libgpod, curl, flac, - gnome3, gtk3, gettext, perl, perlXMLParser, flex, libid3tag, + gnome3, gtk3, gettext, perlPackages, flex, libid3tag, gdl, libvorbis, gdk_pixbuf }: stdenv.mkDerivation rec { @@ -13,10 +13,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig wrapGAppsHook intltool ]; buildInputs = [ - curl gettext perl perlXMLParser + curl gettext flex libgpod libid3tag flac libvorbis gtk3 gdk_pixbuf - gnome3.gdl gnome3.defaultIconTheme gnome3.anjuta - ]; + gdl gnome3.adwaita-icon-theme gnome3.anjuta + ] ++ (with perlPackages; [ perl XMLParser ]); patchPhase = '' sed -i 's/which/type -P/' scripts/*.sh diff --git a/pkgs/applications/audio/guitarix/default.nix b/pkgs/applications/audio/guitarix/default.nix index 5c34293e7f9ff89bf8e645942ee735dd34260035..9df4308131eb3c7ba7c03fbad8966b95bd7a3c8f 100644 --- a/pkgs/applications/audio/guitarix/default.nix +++ b/pkgs/applications/audio/guitarix/default.nix @@ -2,7 +2,7 @@ , avahi, bluez, boost, eigen, fftw, glib, glib-networking , glibmm, gsettings-desktop-schemas, gtkmm2, libjack2 , ladspaH, libav, librdf, libsndfile, lilv, lv2, serd, sord, sratom -, wrapGAppsHook, zita-convolver, zita-resampler +, wrapGAppsHook, zita-convolver, zita-resampler, curl, wafHook , optimizationSupport ? false # Enable support for native CPU extensions }: @@ -12,23 +12,23 @@ in stdenv.mkDerivation rec { name = "guitarix-${version}"; - version = "0.37.1"; + version = "0.38.1"; src = fetchurl { url = "mirror://sourceforge/guitarix/guitarix2-${version}.tar.xz"; - sha256 = "064k0jzxqgx9gwf8za6jziansabzrwzjaim3qx1743ify5g3gaai"; + sha256 = "0bw7xnrx062nwb1bfj9x660h7069ncmz77szcs8icpqxrvhs7z80"; }; - nativeBuildInputs = [ gettext intltool wrapGAppsHook pkgconfig python2 ]; + nativeBuildInputs = [ gettext intltool wrapGAppsHook pkgconfig python2 wafHook ]; buildInputs = [ avahi bluez boost eigen fftw glib glibmm glib-networking.out gsettings-desktop-schemas gtkmm2 libjack2 ladspaH libav librdf libsndfile lilv lv2 serd sord sratom zita-convolver - zita-resampler + zita-resampler curl ]; - configureFlags = [ + wafConfigureFlags = [ "--shared-lib" "--no-desktop-update" "--enable-nls" @@ -38,12 +38,6 @@ stdenv.mkDerivation rec { "--convolver-ffmpeg" ] ++ optional optimizationSupport "--optimization"; - configurePhase = ''python2 waf configure --prefix=$out $configureFlags''; - - buildPhase = ''python2 waf build''; - - installPhase = ''python2 waf install''; - meta = with stdenv.lib; { description = "A virtual guitar amplifier for Linux running with JACK"; longDescription = '' diff --git a/pkgs/applications/audio/gxplugins-lv2/default.nix b/pkgs/applications/audio/gxplugins-lv2/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..62f11cbfb740bec890c26e66c3eff71e06b0da93 --- /dev/null +++ b/pkgs/applications/audio/gxplugins-lv2/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchFromGitHub, xorg, xorgproto, cairo, lv2, pkgconfig }: + +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + pname = "GxPlugins.lv2"; + version = "0.5"; + + src = fetchFromGitHub { + owner = "brummer10"; + repo = pname; + rev = "v${version}"; + sha256 = "16r5bj7w726d9327flg530fn0bli4crkxjss7i56yhb1bsi39mbv"; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ + xorg.libX11 xorgproto cairo lv2 + ]; + + installFlags = [ "INSTALL_DIR=$(out)/lib/lv2" ]; + + meta = with stdenv.lib; { + homepage = https://github.com/brummer10/GxPlugins.lv2; + description = "A set of extra lv2 plugins from the guitarix project"; + maintainers = [ maintainers.magnetophon ]; + license = licenses.gpl3; + }; +} diff --git a/pkgs/applications/audio/hybridreverb2/default.nix b/pkgs/applications/audio/hybridreverb2/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..19aac1bd1e9578e5236cd203e0d52eb67d5c9bb4 --- /dev/null +++ b/pkgs/applications/audio/hybridreverb2/default.nix @@ -0,0 +1,49 @@ +{ stdenv, fetchFromGitHub, fetchzip, cmake, pkgconfig, lv2, alsaLib, libjack2, + freetype, libX11, gtk3, pcre, libpthreadstubs, libXdmcp, libxkbcommon, + epoxy, at-spi2-core, dbus, curl, fftwFloat }: + +let + pname = "HybridReverb2"; + version = "2.1.1"; + owner = "jpcima"; + DBversion = "1.0.0"; +in + +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + + impulseDB = fetchzip { + url = "https://github.com/${owner}/${pname}-impulse-response-database/archive/v${DBversion}.zip"; + sha256 = "1hlfxbbkahm1k2sk3c3n2mjaz7k80ky3r55xil8nfbvbv0qan89z"; + }; + + src = fetchFromGitHub { + inherit owner; + repo = pname; + rev = "v${version}"; + sha256 = "15mba9qvlis0qrklr50wp3jdysvmk33m7pvclp0k1is9pirj97cb"; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ pkgconfig cmake ]; + buildInputs = [ lv2 alsaLib libjack2 freetype libX11 gtk3 pcre + libpthreadstubs libXdmcp libxkbcommon epoxy at-spi2-core dbus curl fftwFloat ]; + + cmakeFlags = [ + "-DHybridReverb2_AdvancedJackStandalone=ON" + "-DHybridReverb2_UseLocalDatabase=ON" + ]; + + postInstall = '' + mkdir -p $out/share/${pname}/ + cp -r ${impulseDB}/* $out/share/${pname}/ + ''; + + meta = with stdenv.lib; { + homepage = http://www2.ika.ruhr-uni-bochum.de/HybridReverb2; + description = "Reverb effect using hybrid impulse convolution"; + license = licenses.gpl2Plus; + maintainers = [ maintainers.magnetophon ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/audio/infamousPlugins/default.nix b/pkgs/applications/audio/infamousPlugins/default.nix index cae40929f95a7527965233cf263849cdffda6a7d..2b8c041a074084aecaf6b39ae410645d3d90ace9 100644 --- a/pkgs/applications/audio/infamousPlugins/default.nix +++ b/pkgs/applications/audio/infamousPlugins/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "infamousPlugins-${version}"; - version = "0.2.04"; + version = "0.3.0"; src = fetchFromGitHub { owner = "ssj71"; repo = "infamousPlugins"; rev = "v${version}"; - sha256 = "0hmqk80w4qxq09iag7b7srf2g0wigkyhzq0ywxvhz2iz0hq9k0dh"; + sha256 = "1r72agk5nxf5k0mghcc2j90z43j5d9i7rqjmf49jfyqnd443isip"; }; nativeBuildInputs = [ pkgconfig cmake ]; diff --git a/pkgs/applications/audio/ingen/default.nix b/pkgs/applications/audio/ingen/default.nix index d9109dd1c0e7155b66bfe4bace0ab791f718fa32..1e249b51fb76bb24550744b5e7b60dd9973f7e5c 100644 --- a/pkgs/applications/audio/ingen/default.nix +++ b/pkgs/applications/audio/ingen/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchgit, boost, ganv, glibmm, gtkmm2, libjack2, lilv , lv2Unstable, makeWrapper, pkgconfig, python, raul, rdflib, serd, sord, sratom - +, wafHook , suil }: @@ -15,27 +15,23 @@ stdenv.mkDerivation rec { deepClone = true; }; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig wafHook ]; buildInputs = [ boost ganv glibmm gtkmm2 libjack2 lilv lv2Unstable makeWrapper python raul serd sord sratom suil ]; - configurePhase = '' + preConfigure = '' sed -e "s@{PYTHONDIR}/'@out/'@" -i wscript - ${python.interpreter} waf configure --prefix=$out ''; propagatedBuildInputs = [ rdflib ]; - buildPhase = "${python.interpreter} waf"; - - installPhase = '' - ${python.interpreter} waf install + postInstall = '' for program in ingenams ingenish do wrapProgram $out/bin/$program \ - --prefix PYTHONPATH : $out/lib/python${python.majorVersion}/site-packages:$PYTHONPATH + --prefix PYTHONPATH : $out/${python.sitePackages}:$PYTHONPATH done ''; diff --git a/pkgs/applications/audio/jaaa/default.nix b/pkgs/applications/audio/jaaa/default.nix index 2410106cff035f4948aa70e5cffd3ac2c2659aef..33c74f2b04433c1afeb66ef7a57138148923550d 100644 --- a/pkgs/applications/audio/jaaa/default.nix +++ b/pkgs/applications/audio/jaaa/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "jaaa-${version}"; - version = "0.8.4"; + version = "0.9.2"; src = fetchurl { url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2"; - sha256 = "0jyll4rkb6vja2widc340ww078rr24c6nmxbxdqvbxw409nccd01"; + sha256 = "1czksxx2g8na07k7g57qlz0vvkkgi5bzajcx7vc7jhb94hwmmxbc"; }; buildInputs = [ diff --git a/pkgs/applications/audio/jack-rack/default.nix b/pkgs/applications/audio/jack-rack/default.nix index d68e67d19dd4e2951ad9c21140ace698fc9f0043..26a717dbd6e4c22bd58b74071618951b60566958 100644 --- a/pkgs/applications/audio/jack-rack/default.nix +++ b/pkgs/applications/audio/jack-rack/default.nix @@ -7,6 +7,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ libjack2 ladspaH gtk2 alsaLib libxml2 librdf ]; + NIX_LDFLAGS = [ + "-ldl" + "-lm" + "-lpthread" + ]; meta = { description = ''An effects "rack" for the JACK low latency audio API''; diff --git a/pkgs/applications/audio/jackmix/default.nix b/pkgs/applications/audio/jackmix/default.nix index aa78527d787e00a1eb1f0d2d67726260790beb8c..83644dd5ea511191891dc0a2722b14457dfac599 100644 --- a/pkgs/applications/audio/jackmix/default.nix +++ b/pkgs/applications/audio/jackmix/default.nix @@ -17,12 +17,8 @@ stdenv.mkDerivation rec { jack ]; - buildPhase = '' - scons - ''; installPhase = '' - mkdir -p $out/bin - cp jackmix/jackmix $out/bin + install -D jackmix/jackmix $out/bin/jackmix ''; meta = { diff --git a/pkgs/applications/audio/jalv/default.nix b/pkgs/applications/audio/jalv/default.nix index f78110e8bbbf4a35ba1ec388fe234156213baa81..e2f0c7ea7af456e99eb7b11c8cea09a6fc4ba112 100644 --- a/pkgs/applications/audio/jalv/default.nix +++ b/pkgs/applications/audio/jalv/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, gtk2, libjack2, lilv, lv2, pkgconfig, python -, serd, sord , sratom, suil }: +, serd, sord , sratom, suil, wafHook }: stdenv.mkDerivation rec { name = "jalv-${version}"; @@ -10,17 +10,11 @@ stdenv.mkDerivation rec { sha256 = "1x2wpzzx2cgvz3dgdcgsj8dr0w3zsasy62mvl199bsdj5fbjaili"; }; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig wafHook ]; buildInputs = [ gtk2 libjack2 lilv lv2 python serd sord sratom suil ]; - configurePhase = "python waf configure --prefix=$out"; - - buildPhase = "python waf"; - - installPhase = "python waf install"; - meta = with stdenv.lib; { description = "A simple but fully featured LV2 host for Jack"; homepage = http://drobilla.net/software/jalv; diff --git a/pkgs/applications/audio/jamin/default.nix b/pkgs/applications/audio/jamin/default.nix index 77946fc41ccc3d4b77883e3924dd00d3bd42dbdc..3511a08682c3d551feacb6750f2dca2081c50779 100644 --- a/pkgs/applications/audio/jamin/default.nix +++ b/pkgs/applications/audio/jamin/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, fftwFloat, gtk2, ladspaPlugins, libjack2, liblo, libxml2 -, makeWrapper, pkgconfig, perl, perlXMLParser +, makeWrapper, pkgconfig, perlPackages }: stdenv.mkDerivation { @@ -11,11 +11,11 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ - fftwFloat gtk2 ladspaPlugins libjack2 liblo libxml2 perl - perlXMLParser makeWrapper - ]; - + buildInputs = [ fftwFloat gtk2 ladspaPlugins libjack2 liblo libxml2 makeWrapper ] + ++ (with perlPackages; [ perl XMLParser ]); + + NIX_LDFLAGS = [ "-ldl" ]; + postInstall = '' wrapProgram $out/bin/jamin --set LADSPA_PATH ${ladspaPlugins}/lib/ladspa ''; diff --git a/pkgs/applications/audio/japa/default.nix b/pkgs/applications/audio/japa/default.nix index cdf25c08378a6b8f39406107e854f3986cfb047b..18b7bcd1d568f1359ea50d9d95a2f5fa87576daa 100644 --- a/pkgs/applications/audio/japa/default.nix +++ b/pkgs/applications/audio/japa/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, alsaLib, libjack2, fftwFloat, libclthreads, libclxclient, libX11, libXft, zita-alsa-pcmi, }: stdenv.mkDerivation rec { - version = "0.8.4"; + version = "0.9.2"; name = "japa-${version}"; src = fetchurl { url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2"; - sha256 = "1jhj7s4vqk5c4lchdall0kslvj5sh91902hhfjvs6r3a5nrhwcp0"; + sha256 = "1zmi4wg23hwsypg3h6y3qb72cbrihqcs19qrbzgs5a67d13q4897"; }; buildInputs = [ alsaLib libjack2 fftwFloat libclthreads libclxclient libX11 libXft zita-alsa-pcmi ]; diff --git a/pkgs/applications/audio/kid3/default.nix b/pkgs/applications/audio/kid3/default.nix index 31369bd1e6385677d3a13e0a70c94d04ff9826d7..b4406dab70eb0920e1c8c8e86248ddd398e4aff4 100644 --- a/pkgs/applications/audio/kid3/default.nix +++ b/pkgs/applications/audio/kid3/default.nix @@ -9,11 +9,11 @@ stdenv.mkDerivation rec { name = "kid3-${version}"; - version = "3.6.1"; + version = "3.7.1"; src = fetchurl { url = "mirror://sourceforge/project/kid3/kid3/${version}/${name}.tar.gz"; - sha256 = "1bbnd6jgahdiqmsbw6c3x4h517m50db592fnq1w0v4k5aaav4i26"; + sha256 = "0xkrsjrbr3z8cn8hjf623l28r3b755gr11i0clv8d8i3s10vhbd8"; }; buildInputs = with stdenv.lib; diff --git a/pkgs/applications/audio/klick/default.nix b/pkgs/applications/audio/klick/default.nix index 3a0da876acfce8e06b68256a1ba39de62cd5ba11..5e54609f8bf0d013f0904a52b35a938841bb9aac 100644 --- a/pkgs/applications/audio/klick/default.nix +++ b/pkgs/applications/audio/klick/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, scons, pkgconfig +{ stdenv, fetchurl, sconsPackages, pkgconfig , libsamplerate, libsndfile, liblo, libjack2, boost }: stdenv.mkDerivation rec { @@ -10,17 +10,11 @@ stdenv.mkDerivation rec { sha256 = "1289533c0849b1b66463bf27f7ce5f71736b655cfb7672ef884c7e6eb957ac42"; }; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ scons libsamplerate libsndfile liblo libjack2 boost ]; + nativeBuildInputs = [ sconsPackages.scons_3_0_1 pkgconfig ]; + buildInputs = [ libsamplerate libsndfile liblo libjack2 boost ]; + prefixKey = "PREFIX="; NIX_CFLAGS_COMPILE = "-fpermissive"; - buildPhase = '' - mkdir -p $out - scons PREFIX=$out - ''; - - installPhase = "scons install"; - meta = { homepage = http://das.nasophon.de/klick/; description = "Advanced command-line metronome for JACK"; @@ -28,4 +22,3 @@ stdenv.mkDerivation rec { platforms = stdenv.lib.platforms.linux; }; } - diff --git a/pkgs/applications/audio/lash/default.nix b/pkgs/applications/audio/lash/default.nix index da61eee3b643c208303c8e0b9504d08fd2be3e43..7fb5a01e2c80b6ef8c2c6fbccbff12929bdab1c5 100644 --- a/pkgs/applications/audio/lash/default.nix +++ b/pkgs/applications/audio/lash/default.nix @@ -18,6 +18,11 @@ stdenv.mkDerivation rec { buildInputs = [ alsaLib gtk2 libjack2 libxml2 makeWrapper pkgconfig readline ]; propagatedBuildInputs = [ libuuid ]; + NIX_LDFLAGS = [ + "-lm" + "-lpthread" + "-luuid" + ]; postInstall = '' for i in lash_control lash_panel @@ -30,7 +35,7 @@ stdenv.mkDerivation rec { longDescription = '' Session management system for GNU/Linux audio applications. ''; - homepage = http://www.nongnu.org/lash; + homepage = https://www.nongnu.org/lash; license = licenses.gpl2Plus; platforms = platforms.linux; maintainers = [ maintainers.goibhniu ]; diff --git a/pkgs/applications/audio/lastfmsubmitd/default.nix b/pkgs/applications/audio/lastfmsubmitd/default.nix index e22bca29bc974b847f8ffcbf6f98fc34a4fe2c36..3135a00334c7d941ea9d5fd575bd613845a34364 100644 --- a/pkgs/applications/audio/lastfmsubmitd/default.nix +++ b/pkgs/applications/audio/lastfmsubmitd/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, pythonPackages }: +{ lib, fetchurl, pythonPackages }: pythonPackages.buildPythonApplication rec { pname = "lastfmsubmitd"; @@ -15,6 +15,7 @@ pythonPackages.buildPythonApplication rec { meta = { homepage = https://www.red-bean.com/decklin/lastfmsubmitd/; + license = lib.licenses.mit; description = "An last.fm audio scrobbler and daemon"; }; } diff --git a/pkgs/applications/audio/lastwatch/default.nix b/pkgs/applications/audio/lastwatch/default.nix deleted file mode 100644 index d2ef7434c4dbdee4447f23939d684964c32bc707..0000000000000000000000000000000000000000 --- a/pkgs/applications/audio/lastwatch/default.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ stdenv, fetchgit, python2Packages }: - -python2Packages.buildPythonApplication rec { - pname = "lastwatch"; - version = "0.4.1"; - - src = fetchgit { - url = "git://github.com/aszlig/LastWatch.git"; - rev = "refs/tags/v${version}"; - sha256 = "0nlng3595j5jvnikk8i5hb915zak5zsmfn2306cc4gfcns9xzjwp"; - }; - - propagatedBuildInputs = with python2Packages; [ - pyinotify - pylast - mutagen - ]; - - meta = { - homepage = https://github.com/aszlig/LastWatch; - description = "An inotify-based last.fm audio scrobbler"; - license = stdenv.lib.licenses.gpl2; - platforms = stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/applications/audio/lingot/default.nix b/pkgs/applications/audio/lingot/default.nix index 389db3d548d6465e0f1d00bb79d0a6051d3c4257..d2ec92e0654adf618a89bc66444935f041c63a7d 100644 --- a/pkgs/applications/audio/lingot/default.nix +++ b/pkgs/applications/audio/lingot/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation { meta = { description = "Not a Guitar-Only tuner"; - homepage = http://www.nongnu.org/lingot/; + homepage = https://www.nongnu.org/lingot/; license = stdenv.lib.licenses.gpl2Plus; platforms = with stdenv.lib.platforms; linux; maintainers = with stdenv.lib.maintainers; [viric]; diff --git a/pkgs/applications/audio/lmms/default.nix b/pkgs/applications/audio/lmms/default.nix index 0ff864c0048bced200b1b94fdf33a6dc74726cf5..59e94e0bdad5d74b7df29d8e36766c847cd9c7d7 100644 --- a/pkgs/applications/audio/lmms/default.nix +++ b/pkgs/applications/audio/lmms/default.nix @@ -1,17 +1,17 @@ { stdenv, fetchFromGitHub, cmake, pkgconfig, alsaLib ? null, fftwFloat, fltk13 -, fluidsynth ? null, lame ? null, libgig ? null, libjack2 ? null, libpulseaudio ? null +, fluidsynth_1 ? null, lame ? null, libgig ? null, libjack2 ? null, libpulseaudio ? null , libsamplerate, libsoundio ? null, libsndfile, libvorbis ? null, portaudio ? null , qtbase, qtx11extras, qttools, SDL ? null }: stdenv.mkDerivation rec { name = "lmms-${version}"; - version = "1.2.0-rc6"; + version = "1.2.0-rc7"; src = fetchFromGitHub { owner = "LMMS"; repo = "lmms"; rev = "v${version}"; - sha256 = "1pqir5srfrknfd8nmbz565ymq18ffw8d8k9pbmzggaxvlcr12b25"; + sha256 = "1hshzf2sbdfw37y9rz1ksgvn81kp2n23dp74lsaasc2n7wzjwdis"; fetchSubmodules = true; }; @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { alsaLib fftwFloat fltk13 - fluidsynth + fluidsynth_1 lame libgig libjack2 diff --git a/pkgs/applications/audio/lollypop/default.nix b/pkgs/applications/audio/lollypop/default.nix index dc59ba6e01abd52f8a55a3a835492353eb0a711f..2a790514447dbfa0ebea39439dfaab2a196e3801 100644 --- a/pkgs/applications/audio/lollypop/default.nix +++ b/pkgs/applications/audio/lollypop/default.nix @@ -1,58 +1,90 @@ -{ stdenv, fetchgit, meson, ninja, pkgconfig, wrapGAppsHook -, appstream-glib, desktop-file-utils, gobjectIntrospection -, python36Packages, gnome3, glib, gst_all_1 }: +{ lib +, fetchgit +, meson +, ninja +, pkgconfig +, python3 +, gtk3 +, gst_all_1 +, libsecret +, libsoup +, appstream-glib +, desktop-file-utils +, totem-pl-parser +, hicolor-icon-theme +, gobject-introspection +, wrapGAppsHook +, lastFMSupport ? true +, wikipediaSupport ? true +, youtubeSupport ? true, youtube-dl +}: -stdenv.mkDerivation rec { - version = "0.9.521"; - name = "lollypop-${version}"; +python3.pkgs.buildPythonApplication rec { + pname = "lollypop"; + version = "1.0.7"; + + format = "other"; + doCheck = false; src = fetchgit { url = "https://gitlab.gnome.org/World/lollypop"; rev = "refs/tags/${version}"; fetchSubmodules = true; - sha256 = "1iwv0fj50h0xynv152anisbq29jfbmb9hpm60kaa9a9hdiypskcc"; + sha256 = "0gdds4qssn32axsa5janqny5i4426azj5wyj6bzn026zs3z38svn"; }; - nativeBuildInputs = with python36Packages; [ + nativeBuildInputs = [ appstream-glib desktop-file-utils - gobjectIntrospection + gobject-introspection meson ninja pkgconfig wrapGAppsHook - wrapPython ]; - buildInputs = [ glib ] ++ (with gnome3; [ - gsettings-desktop-schemas gtk3 libsecret libsoup totem-pl-parser - ]) ++ (with gst_all_1; [ - gst-libav gst-plugins-bad gst-plugins-base gst-plugins-good gst-plugins-ugly + buildInputs = with gst_all_1; [ + gobject-introspection + gst-libav + gst-plugins-bad + gst-plugins-base + gst-plugins-good + gst-plugins-ugly gstreamer - ]); + gtk3 + hicolor-icon-theme + libsoup + totem-pl-parser + ] ++ lib.optional lastFMSupport libsecret; - pythonPath = with python36Packages; [ + propagatedBuildInputs = with python3.pkgs; [ beautifulsoup4 gst-python pillow pycairo pydbus pygobject3 - pylast - ]; - - postFixup = "wrapPythonPrograms"; + ] + ++ lib.optional lastFMSupport pylast + ++ lib.optional wikipediaSupport wikipedia + ++ lib.optional youtubeSupport youtube-dl + ; postPatch = '' - chmod +x ./meson_post_install.py - patchShebangs ./meson_post_install.py + chmod +x meson_post_install.py + patchShebangs meson_post_install.py + ''; + + preFixup = '' + buildPythonPath "$out $propagatedBuildInputs" + patchPythonScript "$out/libexec/lollypop-sp" ''; - meta = with stdenv.lib; { + meta = with lib; { description = "A modern music player for GNOME"; - homepage = https://wiki.gnome.org/Apps/Lollypop; - license = licenses.gpl3Plus; + homepage = https://wiki.gnome.org/Apps/Lollypop; + license = licenses.gpl3Plus; maintainers = with maintainers; [ worldofpeace ]; - platforms = platforms.linux; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/audio/lsp-plugins/default.nix b/pkgs/applications/audio/lsp-plugins/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..d798a2bed535839354d42a6637d92a3b311d707a --- /dev/null +++ b/pkgs/applications/audio/lsp-plugins/default.nix @@ -0,0 +1,160 @@ +{ stdenv, fetchFromGitHub, pkgconfig, makeWrapper +, libsndfile, jack2Full +, libGLU, libGL, lv2, cairo +, ladspaH, php, expat }: + +stdenv.mkDerivation rec { + pname = "lsp-plugins"; + version = "1.1.5"; + name = "${pname}-${version}"; + + src = fetchFromGitHub { + owner = "sadko4u"; + repo = "${pname}"; + rev = "${name}"; + sha256 = "0xcxm47j7mz5vprjqqhi95gz62syp4y737h7cssxd3flqkgar7xr"; + }; + + nativeBuildInputs = [ pkgconfig php expat ]; + buildInputs = [ jack2Full libsndfile libGLU libGL lv2 cairo ladspaH makeWrapper ]; + + makeFlags = [ + "BIN_PATH=$(out)/bin" + "LIB_PATH=$(out)/lib" + "DOC_PATH=$(out)/share/doc" + ]; + + NIX_CFLAGS_COMPILE = [ "-DLSP_NO_EXPERIMENTAL" ]; + + patchPhase = '' + runHook prePatch + substituteInPlace Makefile --replace "/usr/lib" "$out/lib" + substituteInPlace ./include/container/jack/main.h --replace "/usr/lib" "$out/lib" + substituteInPlace ./include/container/vst/main.h --replace "/usr/lib" "$out/lib" + # for https://github.com/sadko4u/lsp-plugins/issues/7#issuecomment-426561549 : + sed -i '/X11__NET_WM_WINDOW_TYPE_DOCK;/d' ./src/ui/ws/x11/X11Window.cpp + runHook postPatch + ''; + + doCheck = true; + + checkPhase = '' + runHook preCheck + TEST_PATH=$(pwd)".build-test" + make OBJDIR=$TEST_PATH test + $TEST_PATH/lsp-plugins-test utest + runHook postCheck + ''; + + buildFlags = "release"; + + meta = with stdenv.lib; + { description = "Collection of open-source audio plugins"; + longDescription = '' + Compatible with follwing formats: + + - LADSPA - set of plugins for Linux Audio Developer's Simple Plugin API + - LV2 - set of plugins and UIs for Linux Audio Developer's Simple Plugin API (LADSPA) version 2 + - LinuxVST - set of plugins and UIs for Steinberg's VST 2.4 format ported on GNU/Linux Platform + - JACK - Standalone versions for JACK Audio connection Kit with UI + + Contains the following plugins: + + - Limiter Mono - Begrenzer Mono + - Limiter Stereo - Begrenzer Stereo + - Dynamic Processor LeftRight - Dynamikprozessor LeftRight + - Dynamic Processor MidSide - Dynamikprozessor MidSide + - Dynamic Processor Mono - Dynamikprozessor Mono + - Dynamic Processor Stereo - Dynamikprozessor Stereo + - Expander LeftRight - Expander LeftRight + - Expander MidSide - Expander MidSide + - Expander Mono - Expander Mono + - Expander Stereo - Expander Stereo + - Gate LeftRight - Gate LeftRight + - Gate MidSide - Gate MidSide + - Gate Mono - Gate Mono + - Gate Stereo - Gate Stereo + - Graphic Equalizer x16 LeftRight - Grafischer Entzerrer x16 LeftRight + - Graphic Equalizer x16 MidSide - Grafischer Entzerrer x16 MidSide + - Graphic Equalizer x16 Mono - Grafischer Entzerrer x16 Mono + - Graphic Equalizer x16 Stereo - Grafischer Entzerrer x16 Stereo + - Graphic Equalizer x32 LeftRight - Grafischer Entzerrer x32 LeftRight + - Graphic Equalizer x32 MidSide - Grafischer Entzerrer x32 MidSide + - Graphic Equalizer x32 Mono - Grafischer Entzerrer x32 Mono + - Graphic Equalizer x32 Stereo - Grafischer Entzerrer x32 Stereo + - Impulse Responses Mono - Impulsantworten Mono + - Impulse Responses Stereo - Impulsantworten Stereo + - Impulse Reverb Mono - Impulsnachhall Mono + - Impulse Reverb Stereo - Impulsnachhall Stereo + - Sampler Mono - Klangerzeuger Mono + - Sampler Stereo - Klangerzeuger Stereo + - Compressor LeftRight - Kompressor LeftRight + - Compressor MidSide - Kompressor MidSide + - Compressor Mono - Kompressor Mono + - Compressor Stereo - Kompressor Stereo + - Latency Meter - Latenzmessgerät + - Multiband Compressor LeftRight x8 - Multi-band Kompressor LeftRight x8 + - Multiband Compressor MidSide x8 - Multi-band Kompressor MidSide x8 + - Multiband Compressor Mono x8 - Multi-band Kompressor Mono x8 + - Multiband Compressor Stereo x8 - Multi-band Kompressor Stereo x8 + - Oscillator Mono - Oszillator Mono + - Parametric Equalizer x16 LeftRight - Parametrischer Entzerrer x16 LeftRight + - Parametric Equalizer x16 MidSide - Parametrischer Entzerrer x16 MidSide + - Parametric Equalizer x16 Mono - Parametrischer Entzerrer x16 Mono + - Parametric Equalizer x16 Stereo - Parametrischer Entzerrer x16 Stereo + - Parametric Equalizer x32 LeftRight - Parametrischer Entzerrer x32 LeftRight + - Parametric Equalizer x32 MidSide - Parametrischer Entzerrer x32 MidSide + - Parametric Equalizer x32 Mono - Parametrischer Entzerrer x32 Mono + - Parametric Equalizer x32 Stereo - Parametrischer Entzerrer x32 Stereo + - Phase Detector - Phasendetektor + - Profiler Mono - Profiler Mono + - Multi-Sampler x12 DirectOut - Schlagzeug x12 Direktausgabe + - Multi-Sampler x12 Stereo - Schlagzeug x12 Stereo + - Multi-Sampler x24 DirectOut - Schlagzeug x24 Direktausgabe + - Multi-Sampler x24 Stereo - Schlagzeug x24 Stereo + - Multi-Sampler x48 DirectOut - Schlagzeug x48 Direktausgabe + - Multi-Sampler x48 Stereo - Schlagzeug x48 Stereo + - Sidechain Multiband Compressor LeftRight x8 - Sidechain Multi-band Kompressor LeftRight x8 + - Sidechain Multiband Compressor MidSide x8 - Sidechain Multi-band Kompressor MidSide x8 + - Sidechain Multiband Compressor Mono x8 - Sidechain Multi-band Kompressor Mono x8 + - Sidechain Multiband Compressor Stereo x8 - Sidechain Multi-band Kompressor Stereo x8 + - Sidechain Limiter Mono - Sidechain-Begrenzer Mono + - Sidechain Limiter Stereo - Sidechain-Begrenzer Stereo + - Sidechain Dynamic Processor LeftRight - Sidechain-Dynamikprozessor LeftRight + - Sidechain Dynamic Processor MidSide - Sidechain-Dynamikprozessor MidSide + - Sidechain Dynamic Processor Mono - Sidechain-Dynamikprozessor Mono + - Sidechain Dynamic Processor Stereo - Sidechain-Dynamikprozessor Stereo + - Sidechain Expander LeftRight - Sidechain-Expander LeftRight + - Sidechain Expander MidSide - Sidechain-Expander MidSide + - Sidechain Expander Mono - Sidechain-Expander Mono + - Sidechain Expander Stereo - Sidechain-Expander Stereo + - Sidechain Gate LeftRight - Sidechain-Gate LeftRight + - Sidechain Gate MidSide - Sidechain-Gate MidSide + - Sidechain Gate Mono - Sidechain-Gate Mono + - Sidechain Gate Stereo - Sidechain-Gate Stereo + - Sidechain Compressor LeftRight - Sidechain-Kompressor LeftRight + - Sidechain Compressor MidSide - Sidechain-Kompressor MidSide + - Sidechain Compressor Mono - Sidechain-Kompressor Mono + - Sidechain Compressor Stereo - Sidechain-Kompressor Stereo + - Slapback Delay Mono - Slapback-Delay Mono + - Slapback Delay Stereo - Slapback-Delay Stereo + - Spectrum Analyzer x1 - Spektrumanalysator x1 + - Spectrum Analyzer x12 - Spektrumanalysator x12 + - Spectrum Analyzer x16 - Spektrumanalysator x16 + - Spectrum Analyzer x2 - Spektrumanalysator x2 + - Spectrum Analyzer x4 - Spektrumanalysator x4 + - Spectrum Analyzer x8 - Spektrumanalysator x8 + - Trigger MIDI Mono - Triggersensor MIDI Mono + - Trigger MIDI Stereo - Triggersensor MIDI Stereo + - Trigger Mono - Triggersensor Mono + - Trigger Stereo - Triggersensor Stereo + - Delay Compensator Mono - Verzögerungsausgleicher Mono + - Delay Compensator Stereo - Verzögerungsausgleicher Stereo + - Delay Compensator x2 Stereo - Verzögerungsausgleicher x2 Stereo + ''; + homepage = https://lsp-plug.in; + maintainers = with maintainers; [ magnetophon ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/audio/ltc-tools/default.nix b/pkgs/applications/audio/ltc-tools/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..81db133ff9ab026520fe798c857539c4c15c92d6 --- /dev/null +++ b/pkgs/applications/audio/ltc-tools/default.nix @@ -0,0 +1,25 @@ +{stdenv, fetchFromGitHub, pkgconfig, libltc, libsndfile, jack2}: + +stdenv.mkDerivation rec { + name = "ltc-tools-${version}"; + version = "0.7.0"; + + src = fetchFromGitHub { + owner = "x42"; + repo = "ltc-tools"; + rev = "v${version}"; + sha256 = "0vp25b970r1hv5ndzs4di63rgwnl31jfaj3jz5dka276kx34q4al"; + }; + + buildInputs = [ pkgconfig libltc libsndfile jack2 ]; + + makeFlags = [ "PREFIX=$(out)" ]; + + meta = with stdenv.lib; { + homepage = "https://github.com/x42/ltc-tools"; + description = "Tools to deal with linear-timecode (LTC)"; + license = licenses.gpl2; + platforms = platforms.unix; + maintainers = with maintainers; [ tg-x ]; + }; +} diff --git a/pkgs/applications/audio/luppp/build-install.patch b/pkgs/applications/audio/luppp/build-install.patch new file mode 100644 index 0000000000000000000000000000000000000000..4dae65438cb5f94f124e9bbf758d8f716b05ef7e --- /dev/null +++ b/pkgs/applications/audio/luppp/build-install.patch @@ -0,0 +1,16 @@ +commit 4ec09e6f6e00e40622a5207ed24dc657da9a9090 +Author: Pavol Rusnak +Date: Tue Dec 4 12:06:22 2018 +0100 + + build: add install: true to executable in meson.build + +diff --git a/meson.build b/meson.build +index 050e1b1..9224ed5 100644 +--- a/meson.build ++++ b/meson.build +@@ -39,4 +39,5 @@ endforeach + + # compile the main project + executable('luppp', luppp_src + [version_hxx], ++ install: true, + dependencies: deps) diff --git a/pkgs/applications/audio/luppp/default.nix b/pkgs/applications/audio/luppp/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..fdba836a6ae2ecfaa25a07bc773eda3c08fd81df --- /dev/null +++ b/pkgs/applications/audio/luppp/default.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchFromGitHub +, meson +, ninja +, pkgconfig +, jack2 +, cairo +, liblo +, libsndfile +, libsamplerate +, ntk +}: + +stdenv.mkDerivation rec { + pname = "luppp"; + version = "1.2.0"; + patches = [ ./build-install.patch ]; + + src = fetchFromGitHub { + owner = "openAVproductions"; + repo = "openAV-Luppp"; + rev = "release-${version}"; + sha256 = "194yq0lqc2psq9vyxmzif40ccawcvd9jndcn18mkz4f8h5w5rc1a"; + }; + + nativeBuildInputs = [ + meson ninja pkgconfig + ]; + + buildInputs = [ + jack2 cairo liblo libsndfile libsamplerate ntk + ]; + + meta = with stdenv.lib; { + homepage = http://openavproductions.com/luppp/; + description = "A music creation tool, intended for live use"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ prusnak ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/audio/mda-lv2/default.nix b/pkgs/applications/audio/mda-lv2/default.nix index e27aab6e898b5fa2db1739a0c4f8a94bc40c15c0..26290e5bf8885a431d53f17ca44794ff9355adb2 100644 --- a/pkgs/applications/audio/mda-lv2/default.nix +++ b/pkgs/applications/audio/mda-lv2/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fftwSinglePrec, lv2, pkgconfig, python }: +{ stdenv, fetchurl, fftwSinglePrec, lv2, pkgconfig, python, wafHook }: stdenv.mkDerivation rec { name = "mda-lv2-${version}"; @@ -9,15 +9,9 @@ stdenv.mkDerivation rec { sha256 = "0hh40c5d2m0k5gb3vw031l6lqn59dg804an3mkmhkc7qv4gc6xm4"; }; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig wafHook ]; buildInputs = [ fftwSinglePrec lv2 python ]; - configurePhase = "python waf configure --prefix=$out"; - - buildPhase = "python waf"; - - installPhase = "python waf install"; - meta = with stdenv.lib; { homepage = http://drobilla.net/software/mda-lv2/; description = "An LV2 port of the MDA plugins by Paul Kellett"; diff --git a/pkgs/applications/audio/meters_lv2/default.nix b/pkgs/applications/audio/meters_lv2/default.nix index 669ffbb2688a1b5ad20d3405cd198f7f90ad6627..a2368017cc1ed11974599b0c03f1b9523d89b9ee 100644 --- a/pkgs/applications/audio/meters_lv2/default.nix +++ b/pkgs/applications/audio/meters_lv2/default.nix @@ -1,24 +1,24 @@ { stdenv, fetchurl, pkgconfig -, lv2, libGLU_combined, gtk2, cairo, pango, fftw }: +, lv2, libGLU_combined, gtk2, cairo, pango, fftwFloat, libjack2 }: let - version = "0.8.1"; + version = "0.9.10"; name = "meters.lv2-${version}"; # robtk submodule is pegged to this version - robtkVersion = "0.3.0"; + robtkVersion = "0.6.2"; robtkName = "robtk-${robtkVersion}"; src = fetchurl { name = "${name}.tar.gz"; url = "https://github.com/x42/meters.lv2/archive/v${version}.tar.gz"; - sha256 = "142dg0j34mv5b0agajj2x1n9kgsmkfh08n1cjzk0j8n4xk2wb6ri"; + sha256 = "0yfyn7j8g50w671b1z7ph4ppjx8ddj5c6nx53syp5y5mfr1b94nx"; }; robtkSrc = fetchurl { name = "${robtkName}.tar.gz"; url = "https://github.com/x42/robtk/archive/v${robtkVersion}.tar.gz"; - sha256 = "1ny89i2sgga56k7fxskp9y8sb7pfhp6wgw5mni842p19z6q7h8rq"; + sha256 = "1v79xys1k2923wpivdjd44vand6c4agwvnrqi4c8kdv9r07b559v"; }; in @@ -26,15 +26,13 @@ stdenv.mkDerivation { inherit name; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ lv2 libGLU_combined gtk2 cairo pango fftw ]; + buildInputs = [ lv2 libGLU_combined gtk2 cairo pango fftwFloat libjack2 ]; srcs = [ src robtkSrc ]; sourceRoot = name; postUnpack = "mv ${robtkName}/* ${name}/robtk"; # */ - postPatch = "sed -i 's/fftw3f/fftw3/' Makefile"; - preConfigure = "makeFlagsArray=( PREFIX=$out )"; meter_VERSION = version; diff --git a/pkgs/applications/audio/mhwaveedit/default.nix b/pkgs/applications/audio/mhwaveedit/default.nix index 88b636679cbd133ecb226f36d3cb5cd384ba135c..db70e59218b37380ea98a51ae41ea2320cfa0a59 100644 --- a/pkgs/applications/audio/mhwaveedit/default.nix +++ b/pkgs/applications/audio/mhwaveedit/default.nix @@ -1,23 +1,24 @@ -{ stdenv, fetchurl, makeWrapper, SDL, alsaLib, autoreconfHook, gtk2, libjack2, ladspaH +{ stdenv, fetchFromGitHub, makeWrapper, SDL, alsaLib, autoreconfHook, gtk2, libjack2, ladspaH , ladspaPlugins, libsamplerate, libsndfile, pkgconfig, libpulseaudio, lame , vorbis-tools }: -stdenv.mkDerivation rec { +stdenv.mkDerivation rec { name = "mhwaveedit-${version}"; - version = "1.4.23"; + version = "1.4.24"; - src = fetchurl { - url = "https://github.com/magnush/mhwaveedit/archive/v${version}.tar.gz"; - sha256 = "1lvd54d8kpxwl4gihhznx1b5skhibz4vfxi9k2kwqg808jfgz37l"; + src = fetchFromGitHub { + owner = "magnush"; + repo = "mhwaveedit"; + rev = "v${version}"; + sha256 = "037pbq23kh8hsih994x2sv483imglwcrqrx6m8visq9c46fi0j1y"; }; - nativeBuildInputs = [ autoreconfHook ]; + nativeBuildInputs = [ autoreconfHook makeWrapper pkgconfig ]; preAutoreconf = "(cd docgen && sh gendocs.sh)"; buildInputs = [ - SDL alsaLib gtk2 libjack2 ladspaH libsamplerate libsndfile - pkgconfig libpulseaudio makeWrapper + SDL alsaLib gtk2 libjack2 ladspaH libsamplerate libsndfile libpulseaudio ]; configureFlags = [ "--with-default-ladspa-path=${ladspaPlugins}/lib/ladspa" ]; @@ -30,7 +31,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Graphical program for editing, playing and recording sound files"; - homepage = https://gna.org/projects/mhwaveedit; + homepage = https://github.com/magnush/mhwaveedit; license = licenses.gpl2Plus; platforms = platforms.linux; maintainers = [ maintainers.goibhniu ]; diff --git a/pkgs/applications/audio/mi2ly/default.nix b/pkgs/applications/audio/mi2ly/default.nix index 4dfc7b13046ef1877cf4c59e7fcbd94c2f70e24b..58c1690a9bb0d3f58452001c72688b4148265dba 100644 --- a/pkgs/applications/audio/mi2ly/default.nix +++ b/pkgs/applications/audio/mi2ly/default.nix @@ -6,7 +6,7 @@ let version="0.12"; name="${baseName}-${version}"; hash="1b14zcwlvnxhjxr3ymyzg0mg4sbijkinzpxm641s859jxcgylmll"; - url="http://download.savannah.gnu.org/releases/mi2ly/mi2ly.0.12.tar.bz2"; + url="https://download.savannah.gnu.org/releases/mi2ly/mi2ly.0.12.tar.bz2"; sha256="1b14zcwlvnxhjxr3ymyzg0mg4sbijkinzpxm641s859jxcgylmll"; }; buildInputs = [ diff --git a/pkgs/applications/audio/mi2ly/default.upstream b/pkgs/applications/audio/mi2ly/default.upstream index 131f0e3a71d62a3682af78bee6338778e523894a..0b2607989aa2f86716c93f5ae573b4d6263b6f60 100644 --- a/pkgs/applications/audio/mi2ly/default.upstream +++ b/pkgs/applications/audio/mi2ly/default.upstream @@ -1,3 +1,3 @@ -url http://download.savannah.gnu.org/releases/mi2ly/ +url https://download.savannah.gnu.org/releases/mi2ly/ ensure_choice version '.*/mi2ly[.]([0-9.]+)[.]tar.*' '\1' diff --git a/pkgs/applications/audio/mid2key/default.nix b/pkgs/applications/audio/mid2key/default.nix index 26ea2c7b0b2cf0488c308084d3b4164fe1532522..3c5660724d39726ca7d00b5d4ed81ce4ea445d2c 100644 --- a/pkgs/applications/audio/mid2key/default.nix +++ b/pkgs/applications/audio/mid2key/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, alsaLib, libX11, libXi, libXtst, xextproto }: +{ stdenv, fetchurl, alsaLib, libX11, libXi, libXtst, xorgproto }: stdenv.mkDerivation rec { name = "mid2key-r1"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { unpackPhase = "tar xvzf $src"; - buildInputs = [ alsaLib libX11 libXi libXtst xextproto ]; + buildInputs = [ alsaLib libX11 libXi libXtst xorgproto ]; buildPhase = "make"; diff --git a/pkgs/applications/audio/midisheetmusic/default.nix b/pkgs/applications/audio/midisheetmusic/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..448977e5705bbe06e017c8f669482a5e3eb3f771 --- /dev/null +++ b/pkgs/applications/audio/midisheetmusic/default.nix @@ -0,0 +1,60 @@ +{ stdenv, fetchurl +, mono, dotnetPackages, makeWrapper +, gtk2, cups, timidity }: + +let + version = "2.6"; +in stdenv.mkDerivation { + name = "midisheetmusic-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/midisheetmusic/MidiSheetMusic-${version}-linux-src.tar.gz"; + sha256 = "05c6zskj50g29f51lx8fvgzsi3f31z01zj6ssjjrgr7jfs7ak70p"; + }; + + checkInputs = (with dotnetPackages; [ NUnitConsole ]); + nativeBuildInputs = [ mono makeWrapper ]; + + buildPhase = '' + for i in Classes/MidiPlayer.cs Classes/MidiSheetMusic.cs + do + substituteInPlace $i --replace "/usr/bin/timidity" "${timidity}/bin/timidity" + done + + ./build.sh + ''; + + # include missing file with unit tests for building + # switch from mono nunit dll to standalone dll otherwise mono compiler barks + # run via nunit3 console, because mono nunit console wants access $HOME + checkPhase = '' + substituteInPlace UnitTestDLL.csproj \ + --replace "" '' \ + --replace nunit.framework.dll "${dotnetPackages.NUnit}/lib/dotnet/NUnit/nunit.framework.dll" + ./build_unit_test.sh + nunit3-console bin/Debug/UnitTest.dll + ''; + + # 2 tests of 47 are still failing + doCheck = false; + + installPhase = '' + mkdir -p $out/share/applications $out/share/pixmaps $out/bin + + cp deb/midisheetmusic.desktop $out/share/applications + cp NotePair.png $out/share/pixmaps/midisheetmusic.png + cp bin/Debug/MidiSheetMusic.exe $out/bin/.MidiSheetMusic.exe + + makeWrapper ${mono}/bin/mono $out/bin/midisheetmusic.mono.exe \ + --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ gtk2 cups ]} \ + --add-flags $out/bin/.MidiSheetMusic.exe + ''; + + meta = with stdenv.lib; { + description = "Convert MIDI Files to Piano Sheet Music for two hands"; + homepage = http://midisheetmusic.com; + license = licenses.gpl2; + maintainers = [ maintainers.gnidorah ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/audio/milkytracker/decompressor_gzip.patch b/pkgs/applications/audio/milkytracker/decompressor_gzip.patch deleted file mode 100644 index c64421116dea71d79b0fada00902687a4a08f128..0000000000000000000000000000000000000000 --- a/pkgs/applications/audio/milkytracker/decompressor_gzip.patch +++ /dev/null @@ -1,20 +0,0 @@ -https://bugs.archlinux.org/task/31324 -https://410333.bugs.gentoo.org/attachment.cgi?id=322456 - -diff -ur src.old/compression/DecompressorGZIP.cpp src/compression/DecompressorGZIP.cpp ---- src.old/compression/DecompressorGZIP.cpp 2012-08-28 17:54:46.000000000 +0200 -+++ src/compression/DecompressorGZIP.cpp 2012-08-28 17:55:21.000000000 +0200 -@@ -57,11 +57,11 @@ - - bool DecompressorGZIP::decompress(const PPSystemString& outFileName, Hints hint) - { -- gzFile *gz_input_file = NULL; -+ gzFile gz_input_file = NULL; - int len = 0; - pp_uint8 *buf; - -- if ((gz_input_file = (void **)gzopen (fileName.getStrBuffer(), "r")) == NULL) -+ if ((gz_input_file = gzopen (fileName.getStrBuffer(), "r")) == NULL) - return false; - - if ((buf = new pp_uint8[0x10000]) == NULL) diff --git a/pkgs/applications/audio/milkytracker/default.nix b/pkgs/applications/audio/milkytracker/default.nix index 6a71971c5fdffaad88006aec2230428aadf0c88d..6b3abeb1e23cd37b10384e7b4e48c85f197a0a2c 100644 --- a/pkgs/applications/audio/milkytracker/default.nix +++ b/pkgs/applications/audio/milkytracker/default.nix @@ -1,29 +1,26 @@ -{ stdenv, fetchurl, SDL2, alsaLib, cmake, libjack2, perl -, zlib, zziplib, pkgconfig, makeWrapper -}: +{ stdenv, fetchFromGitHub, cmake, pkgconfig, makeWrapper +, SDL2, alsaLib, libjack2, lhasa, perl, rtmidi, zlib, zziplib }: stdenv.mkDerivation rec { - version = "1.01"; + version = "1.02.00"; name = "milkytracker-${version}"; - src = fetchurl { - url = "https://github.com/milkytracker/MilkyTracker/archive/v${version}.00.tar.gz"; - sha256 = "1dvnddsnn9c83lz4dlm0cfjpc0m524amfkbalxbswdy0qc8cj1wv"; + src = fetchFromGitHub { + owner = "milkytracker"; + repo = "MilkyTracker"; + rev = "v${version}"; + sha256 = "05a6d7l98k9i82dwrgi855dnccm3f2lkb144gi244vhk1156n0ca"; }; - preBuild='' - export CPATH=${zlib.out}/lib - ''; - nativeBuildInputs = [ cmake pkgconfig makeWrapper ]; - buildInputs = [ SDL2 alsaLib libjack2 perl zlib zziplib ]; + buildInputs = [ SDL2 alsaLib libjack2 lhasa perl rtmidi zlib zziplib ]; - meta = { + meta = with stdenv.lib; { description = "Music tracker application, similar to Fasttracker II"; homepage = http://milkytracker.org; - license = stdenv.lib.licenses.gpl3Plus; + license = licenses.gpl3Plus; platforms = [ "x86_64-linux" "i686-linux" ]; - maintainers = [ stdenv.lib.maintainers.zoomulator ]; + maintainers = with maintainers; [ zoomulator ]; }; } diff --git a/pkgs/applications/audio/mimic/default.nix b/pkgs/applications/audio/mimic/default.nix index a4cd0c944dc242b2ab0f7d2908dc6fb0fee233e4..dcaffe3eb9b48032cc231c07527c993e68b6c2e2 100644 --- a/pkgs/applications/audio/mimic/default.nix +++ b/pkgs/applications/audio/mimic/default.nix @@ -1,6 +1,6 @@ -{ stdenv, autoreconfHook, fetchFromGitHub, pkgconfig +{ config, stdenv, autoreconfHook, fetchFromGitHub, pkgconfig , alsaLib, libtool, icu -, pulseaudioSupport ? true, libpulseaudio }: +, pulseaudioSupport ? config.pulseaudio or false, libpulseaudio }: stdenv.mkDerivation rec { name = "mimic-${version}"; @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { sha256 = "1wkpbwk88lsahzkc7pzbznmyy0lc02vsp0vkj8f1ags1gh0lc52j"; }; - nativeBuildInputs = [ + nativeBuildInputs = [ autoreconfHook pkgconfig ]; @@ -21,15 +21,14 @@ stdenv.mkDerivation rec { buildInputs = [ alsaLib libtool - icu + icu ] ++ stdenv.lib.optional pulseaudioSupport libpulseaudio; meta = { description = "Mycroft's TTS engine, based on CMU's Flite (Festival Lite)"; - homepage = https://mimic.mycroft.ai/; + homepage = https://mimic.mycroft.ai/; license = stdenv.lib.licenses.free; platforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.noneucat ]; + maintainers = [ stdenv.lib.maintainers.noneucat ]; }; } - diff --git a/pkgs/applications/audio/mimms/default.nix b/pkgs/applications/audio/mimms/default.nix index b9b840682d74337a51d16b6cb3d0edd7129cae68..2d301a8b6a967be21d0906f3c0b88bba5d552d8d 100644 --- a/pkgs/applications/audio/mimms/default.nix +++ b/pkgs/applications/audio/mimms/default.nix @@ -5,7 +5,7 @@ pythonPackages.buildPythonApplication rec { version = "3.2"; src = fetchurl { - url = "http://download.savannah.gnu.org/releases/mimms/mimms-${version}.tar.bz2"; + url = "https://download.savannah.gnu.org/releases/mimms/mimms-${version}.tar.bz2"; sha256 = "0zmcd670mpq85cs3nvdq3i805ba0d1alqahfy1m9cpf7kxrivfml"; }; diff --git a/pkgs/applications/audio/mixxx/default.nix b/pkgs/applications/audio/mixxx/default.nix index 60a0695ffecc90f97abe954e6c1fbae0049bfbda..8d8d8d8547549c159eec0eb44cacb0d6bab79c5b 100644 --- a/pkgs/applications/audio/mixxx/default.nix +++ b/pkgs/applications/audio/mixxx/default.nix @@ -1,62 +1,47 @@ -{ stdenv, fetchurl, chromaprint, fetchpatch, fftw, flac, faad2, mp4v2 +{ stdenv, fetchFromGitHub, makeWrapper, chromaprint, fetchpatch +, fftw, flac, faad2, glibcLocales, mp4v2 , libid3tag, libmad, libopus, libshout, libsndfile, libusb1, libvorbis -, pkgconfig, portaudio, portmidi, protobuf, qt4, rubberband, scons, sqlite -, taglib, vampSDK +, libGLU, libxcb, lilv, lv2, opusfile +, pkgconfig, portaudio, portmidi, protobuf, qtbase, qtscript, qtsvg +, qtx11extras, rubberband, scons, sqlite, taglib, upower, vampSDK }: stdenv.mkDerivation rec { name = "mixxx-${version}"; - version = "2.0.0"; + version = "2.2.0"; - src = fetchurl { - url = "https://downloads.mixxx.org/${name}/${name}-src.tar.gz"; - sha256 = "0vb71w1yq0xwwsclrn2jj9bk8w4n14rfv5c0aw46c11mp8xz7f71"; + src = fetchFromGitHub { + owner = "mixxxdj"; + repo = "mixxx"; + rev = "release-${version}"; + sha256 = "1rp2nyhz2j695k5kk0m94x30akwrlr9jgs0n4pi4snnvjpwmbfp9"; }; - patches = [ - (fetchpatch { - url = "https://sources.debian.net/data/main/m/mixxx/2.0.0~dfsg-7.1/debian/patches/0007-fix_gcc6_issue.patch"; - sha256 = "0kpyv10wcjcvbijk6vpq54gx9sqzrq4kq2qilc1czmisp9qdy5sd"; - }) - (fetchpatch { - url = "https://622776.bugs.gentoo.org/attachment.cgi?id=487284"; - name = "sqlite.patch"; - sha256 = "1qqbd8nrxrjcc1dwvyqfq1k2yz3l071sfcgd2dmpk6j8d4j5kx31"; - }) - ]; + nativeBuildInputs = [ makeWrapper ]; buildInputs = [ - chromaprint fftw flac faad2 mp4v2 libid3tag libmad libopus libshout libsndfile - libusb1 libvorbis pkgconfig portaudio portmidi protobuf qt4 - rubberband scons sqlite taglib vampSDK + chromaprint fftw flac faad2 glibcLocales mp4v2 libid3tag libmad libopus libshout libsndfile + libusb1 libvorbis libxcb libGLU lilv lv2 opusfile pkgconfig portaudio portmidi protobuf qtbase qtscript qtsvg + qtx11extras rubberband scons sqlite taglib upower vampSDK ]; sconsFlags = [ "build=release" - "qtdir=${qt4}" + "qtdir=${qtbase}" "faad=1" + "opus=1" ]; - buildPhase = '' - runHook preBuild - mkdir -p "$out" - scons \ - -j$NIX_BUILD_CORES -l$NIX_BUILD_CORES \ - $sconsFlags "prefix=$out" - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - scons $sconsFlags "prefix=$out" install - runHook postInstall + fixupPhase = '' + wrapProgram $out/bin/mixxx \ + --set LOCALE_ARCHIVE ${glibcLocales}/lib/locale/locale-archive; ''; meta = with stdenv.lib; { homepage = https://mixxx.org; description = "Digital DJ mixing software"; license = licenses.gpl2Plus; - maintainers = [ maintainers.aszlig maintainers.goibhniu ]; + maintainers = [ maintainers.aszlig maintainers.goibhniu maintainers.bfortz ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/audio/mopidy/default.nix b/pkgs/applications/audio/mopidy/default.nix index 753a273a08cc3a100ce29550178f36787eb45c0d..9015a8c749a89e2ddf800234467495b8ec0e8a47 100644 --- a/pkgs/applications/audio/mopidy/default.nix +++ b/pkgs/applications/audio/mopidy/default.nix @@ -1,27 +1,27 @@ { stdenv, fetchFromGitHub, pythonPackages, wrapGAppsHook -, gst_all_1, glib-networking, gobjectIntrospection +, gst_all_1, glib-networking, gobject-introspection }: pythonPackages.buildPythonApplication rec { pname = "mopidy"; - version = "2.1.0"; + version = "2.2.2"; src = fetchFromGitHub { owner = "mopidy"; repo = "mopidy"; rev = "v${version}"; - sha256 = "0krq5fbscqxayyc4vxai7iwxm2kdbgs5jicrdb013v04phw2za06"; + sha256 = "01vl162c7ssf69b0m65ys9fxnsqnfa1whwbprnc063lkcnrnlkr1"; }; nativeBuildInputs = [ wrapGAppsHook ]; buildInputs = with gst_all_1; [ gst-plugins-base gst-plugins-good gst-plugins-ugly gst-plugins-bad - glib-networking gobjectIntrospection + glib-networking gobject-introspection ]; propagatedBuildInputs = with pythonPackages; [ - gst-python pygobject3 pykka tornado requests + gst-python pygobject3 pykka tornado_4 requests ] ++ stdenv.lib.optional (!stdenv.isDarwin) dbus-python; # There are no tests diff --git a/pkgs/applications/audio/mopidy/gmusic.nix b/pkgs/applications/audio/mopidy/gmusic.nix index 5566c4b07b21d64b2abb2a9d6bff1469b6a47f90..8c173140efd8fd42636be5505934f9b9d1c52f28 100644 --- a/pkgs/applications/audio/mopidy/gmusic.nix +++ b/pkgs/applications/audio/mopidy/gmusic.nix @@ -13,7 +13,7 @@ pythonPackages.buildPythonApplication rec { mopidy pythonPackages.requests pythonPackages.gmusicapi - pythonPackages.cachetools_1 + pythonPackages.cachetools ]; doCheck = false; diff --git a/pkgs/applications/audio/mopidy/iris.nix b/pkgs/applications/audio/mopidy/iris.nix index 01d7befddd674fc4e076c9bb11b3a28abdf7c4cb..42ef89cd0fd1270feea33eada8988b24828baf07 100644 --- a/pkgs/applications/audio/mopidy/iris.nix +++ b/pkgs/applications/audio/mopidy/iris.nix @@ -2,11 +2,11 @@ pythonPackages.buildPythonApplication rec { pname = "Mopidy-Iris"; - version = "3.23.2"; + version = "3.36.0"; src = pythonPackages.fetchPypi { inherit pname version; - sha256 = "1zf4ck19z3nh1x9a847ay1qnkyvi6s6866kp6q6dh1xpn7i9rmx7"; + sha256 = "1qxb3rfjxmwihcm0nrarrgp9x7zr3kjipzn5igj0d57gpi2bdwgv"; }; propagatedBuildInputs = [ @@ -14,14 +14,10 @@ pythonPackages.buildPythonApplication rec { mopidy-local-images ] ++ (with pythonPackages; [ configobj - pylast - spotipy - raven - tornado + requests + tornado_4 ]); - postPatch = "sed -i /tornado/d setup.py"; - # no tests implemented doCheck = false; diff --git a/pkgs/applications/audio/mopidy/local-images.nix b/pkgs/applications/audio/mopidy/local-images.nix index 3e10904f3e69c3297fb750255bbff5b87e6195e7..2ffc736572bf796765619ff1281a72fa9f781cf6 100644 --- a/pkgs/applications/audio/mopidy/local-images.nix +++ b/pkgs/applications/audio/mopidy/local-images.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, pythonPackages, mopidy, gobjectIntrospection }: +{ stdenv, fetchFromGitHub, pythonPackages, mopidy, gobject-introspection }: pythonPackages.buildPythonApplication rec { pname = "mopidy-local-images"; @@ -11,7 +11,7 @@ pythonPackages.buildPythonApplication rec { sha256 = "0gdqxws0jish50mmi57mlqcs659wrllzv00czl18niz94vzvyc0d"; }; - buildInputs = [ gobjectIntrospection ]; + buildInputs = [ gobject-introspection ]; checkInputs = [ pythonPackages.mock diff --git a/pkgs/applications/audio/morituri/default.nix b/pkgs/applications/audio/morituri/default.nix deleted file mode 100644 index d4c67bb5622c74b043a90678f208cde60103a439..0000000000000000000000000000000000000000 --- a/pkgs/applications/audio/morituri/default.nix +++ /dev/null @@ -1,55 +0,0 @@ -{ stdenv, fetchgit, pythonPackages, cdparanoia, cdrdao -, gst-python, gst-plugins-base, gst-plugins-good -, utillinux, makeWrapper, substituteAll, autoreconfHook }: - -let - inherit (pythonPackages) python; -in stdenv.mkDerivation rec { - name = "morituri-${version}"; - version = "0.2.3.20151109"; - namePrefix = ""; - - src = fetchgit { - url = "https://github.com/thomasvs/morituri.git"; - fetchSubmodules = true; - rev = "135b2f7bf27721177e3aeb1d26403f1b29116599"; - sha256 = "1sl5y5j3gdbynf2v0gf9dwd2hzawj8lm8ywadid7qm34yn8lx12k"; - }; - - pythonPath = with pythonPackages; [ - pygobject2 gst-python musicbrainzngs - pycdio pyxdg setuptools - CDDB - ]; - - nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ - python cdparanoia cdrdao utillinux makeWrapper - gst-plugins-base gst-plugins-good - ] ++ pythonPath; - - patches = [ - (substituteAll { - src = ./paths.patch; - inherit cdrdao cdparanoia python utillinux; - }) - ]; - - # This package contains no binaries to patch or strip. - dontPatchELF = true; - dontStrip = true; - - postInstall = '' - wrapProgram "$out/bin/rip" \ - --prefix PYTHONPATH : "$PYTHONPATH" \ - --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH" - ''; - - meta = with stdenv.lib; { - homepage = http://thomas.apestaart.org/morituri/trac/; - description = "A CD ripper aiming for accuracy over speed"; - maintainers = with maintainers; [ rycee jgeerds ]; - license = licenses.gpl3Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/applications/audio/morituri/paths.patch b/pkgs/applications/audio/morituri/paths.patch deleted file mode 100644 index b3372dae48bfa945e1c6dd04da8e1c1321376152..0000000000000000000000000000000000000000 --- a/pkgs/applications/audio/morituri/paths.patch +++ /dev/null @@ -1,87 +0,0 @@ -diff --git a/doc/Makefile.am b/doc/Makefile.am -index c115c2c..78c883e 100644 ---- a/doc/Makefile.am -+++ b/doc/Makefile.am -@@ -24,7 +24,7 @@ morituri.ics: $(top_srcdir)/morituri.doap - man_MANS = rip.1 - - rip.1: $(top_srcdir)/morituri/extern/python-command/scripts/help2man $(top_srcdir)/morituri -- PYTHONPATH=$(top_srcdir) $(PYTHON) $(top_srcdir)/morituri/extern/python-command/scripts/help2man morituri.rip.main.Rip rip > rip.1 -+ PYTHONPATH=$(top_srcdir):$(PYTHONPATH) $(PYTHON) $(top_srcdir)/morituri/extern/python-command/scripts/help2man morituri.rip.main.Rip rip > rip.1 - - clean-local: - @rm -rf reference -diff --git a/morituri/common/program.py b/morituri/common/program.py -index d340fdd..15cb751 100644 ---- a/morituri/common/program.py -+++ b/morituri/common/program.py -@@ -92,13 +92,13 @@ class Program(log.Loggable): - """ - Load the given device. - """ -- os.system('eject -t %s' % device) -+ os.system('@utillinux@/bin/eject -t %s' % device) - - def ejectDevice(self, device): - """ - Eject the given device. - """ -- os.system('eject %s' % device) -+ os.system('@utillinux@/bin/eject %s' % device) - - def unmountDevice(self, device): - """ -@@ -112,7 +112,7 @@ class Program(log.Loggable): - proc = open('/proc/mounts').read() - if device in proc: - print 'Device %s is mounted, unmounting' % device -- os.system('umount %s' % device) -+ os.system('@utillinux@/bin/umount %s' % device) - - def getFastToc(self, runner, toc_pickle, device): - """ -Submodule morituri/extern/python-command contains modified content -diff --git a/morituri/program/cdparanoia.py b/morituri/program/cdparanoia.py -index 46176d5..fce14a5 100644 ---- a/morituri/program/cdparanoia.py -+++ b/morituri/program/cdparanoia.py -@@ -278,7 +278,7 @@ class ReadTrackTask(log.Loggable, task.Task): - stopTrack, stopOffset) - - bufsize = 1024 -- argv = ["cdparanoia", "--stderr-progress", -+ argv = ["@cdparanoia@/bin/cdparanoia", "--stderr-progress", - "--sample-offset=%d" % self._offset, ] - if self._device: - argv.extend(["--force-cdrom-device", self._device, ]) -@@ -551,7 +551,7 @@ _VERSION_RE = re.compile( - - def getCdParanoiaVersion(): - getter = common.VersionGetter('cdparanoia', -- ["cdparanoia", "-V"], -+ ["@cdparanoia@/bin/cdparanoia", "-V"], - _VERSION_RE, - "%(version)s %(release)s") - -diff --git a/morituri/program/cdrdao.py b/morituri/program/cdrdao.py -index c6fba64..c4d0306 100644 ---- a/morituri/program/cdrdao.py -+++ b/morituri/program/cdrdao.py -@@ -257,7 +257,7 @@ class CDRDAOTask(ctask.PopenTask): - - def start(self, runner): - self.debug('Starting cdrdao with options %r', self.options) -- self.command = ['cdrdao', ] + self.options -+ self.command = ['@cdrdao@/bin/cdrdao', ] + self.options - - ctask.PopenTask.start(self, runner) - -@@ -515,7 +515,7 @@ _VERSION_RE = re.compile( - - def getCDRDAOVersion(): - getter = common.VersionGetter('cdrdao', -- ["cdrdao"], -+ ["@cdrdao@/bin/cdrdao"], - _VERSION_RE, - "%(version)s") - diff --git a/pkgs/applications/audio/mpg123/default.nix b/pkgs/applications/audio/mpg123/default.nix index 3aef2e35943d746fc8497267733e0b5d86757212..44f1c681ec1a7ad5947b702bfb110551affff0c6 100644 --- a/pkgs/applications/audio/mpg123/default.nix +++ b/pkgs/applications/audio/mpg123/default.nix @@ -1,6 +1,5 @@ { stdenv , fetchurl, alsaLib -, hostPlatform }: stdenv.mkDerivation rec { @@ -13,8 +12,9 @@ stdenv.mkDerivation rec { buildInputs = stdenv.lib.optional (!stdenv.isDarwin) alsaLib; - configureFlags = - stdenv.lib.optional (hostPlatform ? mpg123) "--with-cpu=${hostPlatform.mpg123.cpu}"; + configureFlags = stdenv.lib.optional + (stdenv.hostPlatform ? mpg123) + "--with-cpu=${stdenv.hostPlatform.mpg123.cpu}"; meta = { description = "Fast console MPEG Audio Player and decoder library"; diff --git a/pkgs/applications/audio/muse/default.nix b/pkgs/applications/audio/muse/default.nix index 9687ff3106bdc469191153aac00aa61ce06d5e86..b3efa82ead4792f3a22fd06a2a156c1e584bfd13 100644 --- a/pkgs/applications/audio/muse/default.nix +++ b/pkgs/applications/audio/muse/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { name = "muse-sequencer-${version}"; - version = "3.0.2"; + version = "3.1pre1"; meta = with stdenv.lib; { homepage = http://www.muse-sequencer.org; @@ -38,11 +38,16 @@ stdenv.mkDerivation rec { fetchFromGitHub { owner = "muse-sequencer"; repo = "muse"; - rev = "02d9dc6abd757c3c1783fdd46dacd3c4ef2c0a6d"; - sha256 = "0pn0mcg79z3bhjwxbss3ylypdz3gg70q5d1ij3x8yw65ryxbqf51"; + rev = "2167ae053c16a633d8377acdb1debaac10932838"; + sha256 = "0rsdx8lvcbz5bapnjvypw8h8bq587s9z8cf2znqrk6ah38s6fsrf"; }; + nativeBuildInputs = [ + pkgconfig + gitAndTools.gitFull + ]; + buildInputs = [ libjack2 qt5.qtsvg @@ -57,8 +62,6 @@ stdenv.mkDerivation rec { lash dssi liblo - pkgconfig - gitAndTools.gitFull ]; sourceRoot = "source/muse3"; diff --git a/pkgs/applications/audio/musescore/default.nix b/pkgs/applications/audio/musescore/default.nix index 28381fcfee6254efb1a2729f44a53958c29c6adf..9407a1c2688231892961edd7fb714572146cb1dd 100644 --- a/pkgs/applications/audio/musescore/default.nix +++ b/pkgs/applications/audio/musescore/default.nix @@ -1,20 +1,23 @@ -{ stdenv, lib, fetchFromGitHub, cmake, pkgconfig +{ stdenv, lib, fetchzip, cmake, pkgconfig , alsaLib, freetype, libjack2, lame, libogg, libpulseaudio, libsndfile, libvorbis , portaudio, portmidi, qtbase, qtdeclarative, qtscript, qtsvg, qttools -, qtwebkit, qtxmlpatterns +, qtwebengine, qtxmlpatterns }: stdenv.mkDerivation rec { name = "musescore-${version}"; - version = "2.3.2"; + version = "3.0.5"; - src = fetchFromGitHub { - owner = "musescore"; - repo = "MuseScore"; - rev = "v${version}"; - sha256 = "0ncv0xfmq87plqa43cm0fpidlwzz1nq5s7h7139llrbc36yp3pr1"; + src = fetchzip { + url = "https://download.musescore.com/releases/MuseScore-${version}/MuseScore-${version}.zip"; + sha256 = "1pbf6v0l3nixxr8k5igwhj09wnqvw92av6q6yjrbb3kyjh5br2d8"; + stripRoot = false; }; + patches = [ + ./remove_qtwebengine_install_hack.patch + ]; + cmakeFlags = [ ] ++ lib.optional (lib.versionAtLeast freetype.version "2.5.2") "-DUSE_SYSTEM_FREETYPE=ON"; @@ -23,7 +26,7 @@ stdenv.mkDerivation rec { buildInputs = [ alsaLib libjack2 freetype lame libogg libpulseaudio libsndfile libvorbis portaudio portmidi # tesseract - qtbase qtdeclarative qtscript qtsvg qttools qtwebkit qtxmlpatterns + qtbase qtdeclarative qtscript qtsvg qttools qtwebengine qtxmlpatterns ]; meta = with stdenv.lib; { diff --git a/pkgs/applications/audio/musescore/remove_qtwebengine_install_hack.patch b/pkgs/applications/audio/musescore/remove_qtwebengine_install_hack.patch new file mode 100644 index 0000000000000000000000000000000000000000..53a0c90ce46edc7c3b62b207ee692af04fdc2133 --- /dev/null +++ b/pkgs/applications/audio/musescore/remove_qtwebengine_install_hack.patch @@ -0,0 +1,25 @@ +--- a/mscore/CMakeLists.txt ++++ b/mscore/CMakeLists.txt +@@ -660,22 +660,6 @@ if (MINGW) + else (MINGW) + + if ( NOT MSVC ) +-## install qwebengine core +- if (NOT APPLE AND USE_WEBENGINE) +- install(FILES +- ${QT_INSTALL_LIBEXECS}/QtWebEngineProcess +- DESTINATION bin +- ) +- install(DIRECTORY +- ${QT_INSTALL_DATA}/resources +- DESTINATION lib/qt5 +- ) +- install(DIRECTORY +- ${QT_INSTALL_TRANSLATIONS}/qtwebengine_locales +- DESTINATION lib/qt5/translations +- ) +- endif(NOT APPLE AND USE_WEBENGINE) +- + target_link_libraries(mscore + ${ALSA_LIB} + ${QT_LIBRARIES} diff --git a/pkgs/applications/audio/musly/default.nix b/pkgs/applications/audio/musly/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..47370d4bc2f7f5b21436e8f5716d4c0aac3e300e --- /dev/null +++ b/pkgs/applications/audio/musly/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchFromGitHub, cmake, eigen, libav_all }: +stdenv.mkDerivation rec { + pname = "musly"; + version = "unstable-2017-04-26"; + src = fetchFromGitHub { + owner = "dominikschnitzer"; + repo = "musly"; + rev = "f911eacbbe0b39ebe87cb37d0caef09632fa40d6"; + sha256 = "1q42wvdwy2pac7bhfraqqj2czw7w2m33ms3ifjl8phm7d87i8825"; + }; + nativeBuildInputs = [ cmake ]; + buildInputs = [ eigen (libav_all.override { vaapiSupport = stdenv.isLinux; }).libav_11 ]; + fixupPhase = if stdenv.isDarwin then '' + install_name_tool -change libmusly.dylib $out/lib/libmusly.dylib $out/bin/musly + install_name_tool -change libmusly_resample.dylib $out/lib/libmusly_resample.dylib $out/bin/musly + install_name_tool -change libmusly_resample.dylib $out/lib/libmusly_resample.dylib $out/lib/libmusly.dylib + '' else ""; + + meta = with stdenv.lib; { + homepage = https://www.musly.org; + description = "A fast and high-quality audio music similarity library written in C/C++"; + longDescription = '' + Musly analyzes the the audio signal of music pieces to estimate their similarity. + No meta-data about the music piece is included in the similarity estimation. + To use Musly in your application, have a look at the library documentation + or try the command line application included in the package and start generating + some automatic music playlists right away. + ''; + license = licenses.mpl20; + maintainers = with maintainers; [ ggpeti ]; + platforms = with platforms; darwin ++ linux; + }; +} diff --git a/pkgs/applications/audio/ncmpc/default.nix b/pkgs/applications/audio/ncmpc/default.nix index ffd5b9a5858248996a1bb7f2f7bd7a1098af6923..67fe983c26fd6ab66396d227baeb82de543804ce 100644 --- a/pkgs/applications/audio/ncmpc/default.nix +++ b/pkgs/applications/audio/ncmpc/default.nix @@ -1,18 +1,18 @@ { stdenv, fetchFromGitHub, meson, ninja, pkgconfig, glib, ncurses -, mpd_clientlib, gettext }: +, mpd_clientlib, gettext, boost }: stdenv.mkDerivation rec { name = "ncmpc-${version}"; - version = "0.30"; + version = "0.34"; src = fetchFromGitHub { owner = "MusicPlayerDaemon"; repo = "ncmpc"; rev = "v${version}"; - sha256 = "0s2bynm5szrk8bjhg200mvsm2ny0wz9s10nx7r69y9y4jsxr8624"; + sha256 = "0ffby37qdg251c1w0vl6rmd13akbydnf12468z4vrl0ybwfd7fc4"; }; - buildInputs = [ glib ncurses mpd_clientlib ]; + buildInputs = [ glib ncurses mpd_clientlib boost ]; nativeBuildInputs = [ meson ninja pkgconfig gettext ]; meta = with stdenv.lib; { diff --git a/pkgs/applications/audio/ncmpcpp/default.nix b/pkgs/applications/audio/ncmpcpp/default.nix index 87f5f94bb30b2d7b2f9ddd5e325299dd1c4d8ae5..d35cefb88416be1b48f5a3558d25a40c436d0bcc 100644 --- a/pkgs/applications/audio/ncmpcpp/default.nix +++ b/pkgs/applications/audio/ncmpcpp/default.nix @@ -1,8 +1,8 @@ { stdenv, fetchurl, boost, mpd_clientlib, ncurses, pkgconfig, readline , libiconv, icu, curl -, outputsSupport ? false # outputs screen +, outputsSupport ? true # outputs screen , visualizerSupport ? false, fftw ? null # visualizer screen -, clockSupport ? false # clock screen +, clockSupport ? true # clock screen , taglibSupport ? true, taglib ? null # tag editor }: diff --git a/pkgs/applications/audio/ncpamixer/default.nix b/pkgs/applications/audio/ncpamixer/default.nix index c3449ed3a4f4c620a6c4a514a975adbeb5e51238..8b715a24e3cb8675e6a93aceef647ad30a4ddb0c 100644 --- a/pkgs/applications/audio/ncpamixer/default.nix +++ b/pkgs/applications/audio/ncpamixer/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { name = "ncpamixer-${version}"; - version = "1.2"; + version = "1.3.3"; src = fetchFromGitHub { owner = "fulhax"; repo = "ncpamixer"; rev = version; - sha256 = "01kvd0pg5yraymlln5xdzqj1r6adxfvvza84wxn2481kcxfral54"; + sha256 = "19pxfvfhhrbfk1wz5awx60y51jccrgrcvlq7lb622sw2z0wzw4ac"; }; buildInputs = [ ncurses libpulseaudio ]; diff --git a/pkgs/applications/audio/non/default.nix b/pkgs/applications/audio/non/default.nix index c28c711d618e9377c033eed76ea2c2d8fa3a667c..44dd0d2d4ec397313da448aaf2ddb95f065f98a3 100644 --- a/pkgs/applications/audio/non/default.nix +++ b/pkgs/applications/audio/non/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, pkgconfig, python2, cairo, libjpeg, ntk, libjack2 -, libsndfile, ladspaH, liblrdf, liblo, libsigcxx +, libsndfile, ladspaH, liblrdf, liblo, libsigcxx, wafHook }: stdenv.mkDerivation rec { @@ -12,13 +12,10 @@ stdenv.mkDerivation rec { sha256 = "1cljkkyi9dxqpqhx8y6l2ja4zjmlya26m26kqxml8gx08vyvddhx"; }; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig wafHook ]; buildInputs = [ python2 cairo libjpeg ntk libjack2 libsndfile ladspaH liblrdf liblo libsigcxx ]; - configurePhase = "python waf configure --prefix=$out"; - buildPhase = "python waf build"; - installPhase = "python waf install"; meta = { description = "Lightweight and lightning fast modular Digital Audio Workstation"; diff --git a/pkgs/applications/audio/normalize/default.nix b/pkgs/applications/audio/normalize/default.nix index a727160ff2992d92ba93f5f2874b012614079204..85c902d383963b4b0d9f02c45749b8330d692075 100644 --- a/pkgs/applications/audio/normalize/default.nix +++ b/pkgs/applications/audio/normalize/default.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { buildInputs = [ libmad ]; meta = with stdenv.lib; { - homepage = http://normalize.nongnu.org/; + homepage = https://www.nongnu.org/normalize/; description = "Audio file normalizer"; license = licenses.gpl2; platforms = platforms.unix; diff --git a/pkgs/applications/audio/nova-filters/default.nix b/pkgs/applications/audio/nova-filters/default.nix index e65604e974afd5b9b9c626b7ccb2e497da954e53..bb186687c66ecfee25859e3e2167818b2b68a0b6 100644 --- a/pkgs/applications/audio/nova-filters/default.nix +++ b/pkgs/applications/audio/nova-filters/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, scons, boost, ladspaH, pkgconfig }: +{stdenv, fetchurl, sconsPackages, boost, ladspaH, pkgconfig }: stdenv.mkDerivation rec { version = "0.2-2"; @@ -9,8 +9,8 @@ stdenv.mkDerivation rec { sha256 = "16064vvl2w5lz4xi3lyjk4xx7fphwsxc14ajykvndiz170q32s6i"; }; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ scons boost ladspaH ]; + nativeBuildInputs = [ pkgconfig sconsPackages.scons_3_0_1 ]; + buildInputs = [ boost ladspaH ]; patchPhase = '' # remove TERM: @@ -21,14 +21,6 @@ stdenv.mkDerivation rec { sed -i "s/= check/= detail::filter_base::check/" nova/source/dsp/filter.hpp ''; - buildPhase = '' - scons - ''; - - installPhase = '' - scons $sconsFlags "prefix=$out" install - ''; - meta = with stdenv.lib; { description = "LADSPA plugins based on filters of nova"; homepage = http://klingt.org/~tim/nova-filters/; diff --git a/pkgs/applications/audio/openmpt123/default.nix b/pkgs/applications/audio/openmpt123/default.nix index 5d13aa7daf42a0b2092510feecb5bfad162129a3..f8f08369ab93cb5c692731bb73d9d602363d6b1b 100644 --- a/pkgs/applications/audio/openmpt123/default.nix +++ b/pkgs/applications/audio/openmpt123/default.nix @@ -1,24 +1,30 @@ -{ stdenv, fetchurl, SDL2, pkgconfig, flac, libsndfile }: +{ config, stdenv, fetchurl, zlib, pkgconfig, mpg123, libogg, libvorbis, portaudio, libsndfile, flac +, usePulseAudio ? config.pulseaudio or false, libpulseaudio }: let - version = "0.2.7025-beta20.1"; + version = "0.4.1"; in stdenv.mkDerivation rec { name = "openmpt123-${version}"; + src = fetchurl { - url = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${version}.tar.gz"; - sha256 = "0qp2nnz6pnl1d7yv9hcjyim7q6yax5881k1jxm8jfgjqagmz5k6p"; + url = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${version}+release.autotools.tar.gz"; + sha256 = "1k1m1adjh4s2q9lxgkf836k5243akxrzq1hsdjhrkg4idd3pxzp4"; }; + + enableParallelBuilding = true; + doCheck = true; + nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ SDL2 flac libsndfile ]; - makeFlags = [ "NO_PULSEAUDIO=1 NO_LTDL=1 TEST=0 EXAMPLES=0" ] - ++ stdenv.lib.optional (stdenv.isDarwin) "SHARED_SONAME=0"; - installFlags = "PREFIX=\${out}"; + buildInputs = [ zlib mpg123 libogg libvorbis portaudio libsndfile flac ] + ++ stdenv.lib.optional usePulseAudio libpulseaudio; + + configureFlags = stdenv.lib.optional (!usePulseAudio) [ "--without-pulseaudio" ]; 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; + maintainers = with maintainers; [ gnidorah ]; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/audio/opus-tools/default.nix b/pkgs/applications/audio/opus-tools/default.nix index 658ba1700f2628ba923dfca863a1454f9a37e505..85d0e1fbaf71c0398c703ab7a8e8950f7e058b8c 100644 --- a/pkgs/applications/audio/opus-tools/default.nix +++ b/pkgs/applications/audio/opus-tools/default.nix @@ -1,14 +1,14 @@ -{stdenv, fetchurl, libogg, libao, pkgconfig, libopus, flac}: +{stdenv, fetchurl, libogg, libao, pkgconfig, flac, opusfile, libopusenc}: stdenv.mkDerivation rec { - name = "opus-tools-0.1.10"; + name = "opus-tools-0.2"; src = fetchurl { url = "http://downloads.xiph.org/releases/opus/${name}.tar.gz"; - sha256 = "135jfb9ny3xvd27idsxj7j5ns90lslbyrq70cq3bfwcls4r7add2"; + sha256 = "11pzl27s4vcz4m18ch72nivbhww2zmzn56wspb7rll1y1nq6rrdl"; }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ libogg libao libopus flac ]; + buildInputs = [ libogg libao flac opusfile libopusenc ]; meta = { description = "Tools to work with opus encoded audio streams"; diff --git a/pkgs/applications/audio/opusfile/default.nix b/pkgs/applications/audio/opusfile/default.nix index d864d5972bce8b31d892786fe511ed456b44d84c..993e3c4fe8c5f63f443701412465d3e5be5e3a5c 100644 --- a/pkgs/applications/audio/opusfile/default.nix +++ b/pkgs/applications/audio/opusfile/default.nix @@ -1,10 +1,10 @@ { stdenv, fetchurl, pkgconfig, openssl, libogg, libopus }: stdenv.mkDerivation rec { - name = "opusfile-0.10"; + name = "opusfile-0.11"; src = fetchurl { url = "http://downloads.xiph.org/releases/opus/${name}.tar.gz"; - sha256 = "0bs1376sd131qdh7198jp64vv5d17az5wyy4y7srrvw7p8k3bq28"; + sha256 = "1gq3aszzl5glgbajw5p1f5a1kdyf23w5vjdmwwrk246syin9pkkl"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/audio/padthv1/default.nix b/pkgs/applications/audio/padthv1/default.nix index 5cecdc8187d8e14ca23fca8a42e113ed226d4f34..b2e5fb11ac31a2c3959706848bdd9dba86ce306b 100644 --- a/pkgs/applications/audio/padthv1/default.nix +++ b/pkgs/applications/audio/padthv1/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "padthv1-${version}"; - version = "0.9.0"; + version = "0.9.6"; src = fetchurl { url = "mirror://sourceforge/padthv1/${name}.tar.gz"; - sha256 = "0c519qk2g0dk8gqf9ywqfp7dnr4b25lsnxxbf2l1spnnvf8nysvh"; + sha256 = "0ddvlpjlg6zr9ckanqhisw0sgm8rxibvj1aj5dxzs9xb2wlwd8rr"; }; buildInputs = [ libjack2 alsaLib libsndfile liblo lv2 qt5.qtbase qt5.qttools fftw ]; diff --git a/pkgs/applications/audio/paprefs/default.nix b/pkgs/applications/audio/paprefs/default.nix index 23ba3582ce61b3a789b0e402807a65975f7a2d1e..6ad931d4867a4975ae10b4ad4d1ad6c27b39f7b1 100644 --- a/pkgs/applications/audio/paprefs/default.nix +++ b/pkgs/applications/audio/paprefs/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, meson, ninja, gettext, pkgconfig, pulseaudioFull, gtkmm3, dbus-glib, wrapGAppsHook }: stdenv.mkDerivation rec { - name = "paprefs-1.0"; + name = "paprefs-1.1"; src = fetchurl { url = "https://freedesktop.org/software/pulseaudio/paprefs/${name}.tar.xz"; - sha256 = "0y77i9gaaassvvjrpwb4xbgqcmr51zmj5rh4z8zm687i5izf84md"; + sha256 = "189z5p20hk0xv9vwvym293503j4pwl03xqk9hl7cl6dwgv0l7wkf"; }; nativeBuildInputs = [ meson ninja gettext pkgconfig wrapGAppsHook ]; diff --git a/pkgs/applications/audio/parlatype/default.nix b/pkgs/applications/audio/parlatype/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..87257f4920df5bdd61cc12cfbe4670d86e424a77 --- /dev/null +++ b/pkgs/applications/audio/parlatype/default.nix @@ -0,0 +1,69 @@ +{ stdenv, fetchFromGitHub, pkgconfig, meson, gtk3, at-spi2-core, dbus, gst_all_1, sphinxbase, pocketsphinx, ninja, gettext, appstream-glib, python3, glib, gobject-introspection, gsettings-desktop-schemas, itstool, wrapGAppsHook, makeWrapper, hicolor-icon-theme }: + +stdenv.mkDerivation rec { + pname = "parlatype"; + version = "1.6-beta"; + + src = fetchFromGitHub { + owner = "gkarsay"; + repo = pname; + rev = "v${version}"; + sha256 = "0bi0djic9kf178s7vl3y83v4rzhvynlvyf64n94fy80n2f100dj9"; + }; + + nativeBuildInputs = [ + pkgconfig + meson + ninja + gettext + appstream-glib + python3 + gobject-introspection + itstool + wrapGAppsHook + ]; + + buildInputs = [ + gtk3 + at-spi2-core + dbus + gst_all_1.gstreamer + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good + gst_all_1.gst-plugins-bad + gst_all_1.gst-plugins-ugly + gst_all_1.gst-libav + sphinxbase + pocketsphinx + glib + gsettings-desktop-schemas + hicolor-icon-theme + ]; + + mesonFlags = [ "-Dlibreoffice=false" ]; + + postPatch = '' + chmod +x data/meson_post_install.py + patchShebangs data/meson_post_install.py + ''; + + doCheck = false; + enableParallelBuilding = true; + + buildPhase = '' + export GST_PLUGIN_SYSTEM_PATH_1_0="$out/lib/gstreamer-1.0/:$GST_PLUGIN_SYSTEM_PATH_1_0" + ''; + + meta = with stdenv.lib; { + description = "GNOME audio player for transcription"; + longDescription = '' + Parlatype is a minimal audio player for manual speech transcription, written for the GNOME desktop environment. + It plays audio sources to transcribe them in your favourite text application. + It’s intended to be useful for journalists, students, scientists and whoever needs to transcribe audio files. + ''; + homepage = https://gkarsay.github.io/parlatype/; + license = licenses.gpl3Plus; + maintainers = [ maintainers.melchips ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/audio/patchage/default.nix b/pkgs/applications/audio/patchage/default.nix index 8425b48166e67fcb10811b2d59d423aef8ea4a15..7f3940e0ae9cf5ed41a9f7fb89caa692b6a5ff6a 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 -, gtkmm2, libjack2, pkgconfig, python2 +, gtkmm2, libjack2, pkgconfig, python2, wafHook }: stdenv.mkDerivation rec { @@ -13,13 +13,9 @@ stdenv.mkDerivation rec { buildInputs = [ alsaLib boost dbus-glib ganv glibmm gtkmm2 libjack2 - pkgconfig python2 + pkgconfig python2 wafHook ]; - configurePhase = "python waf configure --prefix=$out"; - buildPhase = "python waf build"; - installPhase = "python waf install"; - meta = { description = "Modular patch bay for Jack and ALSA systems"; homepage = http://non.tuxfamily.org; diff --git a/pkgs/applications/audio/paulstretch/default.nix b/pkgs/applications/audio/paulstretch/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..b2c049c9eeebdb050821f6e5769004d924aeca14 --- /dev/null +++ b/pkgs/applications/audio/paulstretch/default.nix @@ -0,0 +1,50 @@ +{ stdenv, fetchFromGitHub, audiofile, libvorbis, fltk, fftw, fftwFloat, +minixml, pkgconfig, libmad, libjack2, portaudio, libsamplerate }: + +stdenv.mkDerivation { + pname = "paulstretch"; + version = "2.2-2"; + + src = fetchFromGitHub { + owner = "paulnasca"; + repo = "paulstretch_cpp"; + rev = "7f5c3993abe420661ea0b808304b0e2b4b0048c5"; + sha256 = "06dy03dbz1yznhsn0xvsnkpc5drzwrgxbxdx0hfpsjn2xcg0jrnc"; + }; + + nativeBuildInputs = [ pkgconfig ]; + + buildInputs = [ + audiofile + libvorbis + fltk + fftw + fftwFloat + minixml + libmad + libjack2 + portaudio + libsamplerate + ]; + + buildPhase = '' + bash compile_linux_fftw_jack.sh + ''; + + installPhase = '' + install -Dm555 ./paulstretch $out/bin/paulstretch + ''; + + meta = with stdenv.lib; { + description = "Produces high quality extreme sound stretching"; + longDescription = '' + This is a program for stretching the audio. It is suitable only for + extreme sound stretching of the audio (like 50x) and for applying + special effects by "spectral smoothing" the sounds. + It can transform any sound/music to a texture. + ''; + homepage = http://hypermammut.sourceforge.net/paulstretch/; + platforms = platforms.linux; + license = licenses.gpl2; + }; +} diff --git a/pkgs/applications/audio/pavucontrol/default.nix b/pkgs/applications/audio/pavucontrol/default.nix index 4f64be02fd521e3db9a0bfc03a0770450d6972cb..ce2979a5e530591f1c97d815c85c1658f537c191 100644 --- a/pkgs/applications/audio/pavucontrol/default.nix +++ b/pkgs/applications/audio/pavucontrol/default.nix @@ -2,20 +2,22 @@ , libcanberra-gtk3, makeWrapper, gnome3 }: stdenv.mkDerivation rec { - name = "pavucontrol-3.0"; + pname = "pavucontrol"; + version = "4.0"; src = fetchurl { - url = "https://freedesktop.org/software/pulseaudio/pavucontrol/${name}.tar.xz"; - sha256 = "14486c6lmmirkhscbfygz114f6yzf97h35n3h3pdr27w4mdfmlmk"; + url = "https://freedesktop.org/software/pulseaudio/${pname}/${pname}-${version}.tar.xz"; + sha256 = "1qhlkl3g8d7h72xjskii3g1l7la2cavwp69909pzmbi2jyn5pi4g"; }; preFixup = '' wrapProgram "$out/bin/pavucontrol" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS" ''; buildInputs = [ libpulseaudio gtkmm3 libcanberra-gtk3 makeWrapper - gnome3.defaultIconTheme ]; + gnome3.adwaita-icon-theme ]; nativeBuildInputs = [ pkgconfig intltool ]; @@ -34,7 +36,7 @@ stdenv.mkDerivation rec { license = stdenv.lib.licenses.gpl2Plus; - maintainers = with maintainers; [ abbradar jgeerds ]; + maintainers = with maintainers; [ abbradar ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/audio/pianobar/default.nix b/pkgs/applications/audio/pianobar/default.nix index 1518ed9b79421d599e30ccc7e24b688d7878584b..40e45a76b4bf9c66906ba6d86ee0255dd8b9029e 100644 --- a/pkgs/applications/audio/pianobar/default.nix +++ b/pkgs/applications/audio/pianobar/default.nix @@ -1,16 +1,16 @@ -{ fetchurl, stdenv, pkgconfig, libao, json_c, libgcrypt, libav, curl }: +{ fetchurl, stdenv, pkgconfig, libao, json_c, libgcrypt, ffmpeg, curl }: stdenv.mkDerivation rec { - name = "pianobar-2016.06.02"; + name = "pianobar-2019.02.14"; src = fetchurl { url = "http://6xq.net/projects/pianobar/${name}.tar.bz2"; - sha256 = "0n9544bfsdp04xqcjm4nhfvp357dx0c3gpys0rjkq09nzv8b1vy6"; + sha256 = "07z21vmlqpmvb3294r384iqbx972rwcx6chrdlkfv4hlnc9h7gf0"; }; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ - libao json_c libgcrypt libav curl + libao json_c libgcrypt ffmpeg curl ]; makeFlags="PREFIX=$(out)"; diff --git a/pkgs/applications/audio/pianobooster/default.nix b/pkgs/applications/audio/pianobooster/default.nix index d013a26277e81e542347650ffac0ac2e4b8cf0fe..53afcdd2306aec82795cf5314eeb9acffaae3c14 100644 --- a/pkgs/applications/audio/pianobooster/default.nix +++ b/pkgs/applications/audio/pianobooster/default.nix @@ -17,6 +17,7 @@ stdenv.mkDerivation rec { preConfigure = "cd src"; buildInputs = [ alsaLib cmake makeWrapper libGLU_combined qt4 ]; + NIX_LDFLAGS = [ "-lGL" "-lpthread" ]; postInstall = '' wrapProgram $out/bin/pianobooster \ diff --git a/pkgs/applications/audio/picard/default.nix b/pkgs/applications/audio/picard/default.nix index d7e6173da9ad169fb47a1496f37651ac6f22e3eb..1ecb8be09ddfe1a86a6bfbaf63125226659d2833 100644 --- a/pkgs/applications/audio/picard/default.nix +++ b/pkgs/applications/audio/picard/default.nix @@ -1,21 +1,24 @@ -{ stdenv, python2Packages, fetchurl, gettext }: +{ stdenv, python3Packages, fetchFromGitHub, gettext, chromaprint }: let - pythonPackages = python2Packages; + pythonPackages = python3Packages; in pythonPackages.buildPythonApplication rec { pname = "picard"; - version = "1.4.2"; + version = "2.1.3"; - src = fetchurl { - url = "http://ftp.musicbrainz.org/pub/musicbrainz/picard/picard-${version}.tar.gz"; - sha256 = "0d12k40d9fbcn801gp5zdsgvjdrh4g97vda3ga16rmmvfwwfxbgh"; + src = fetchFromGitHub { + owner = "metabrainz"; + repo = pname; + rev = "release-${version}"; + sha256 = "1armg8vpvnbpk7rrfk9q7nj5gm56rza00ni9qwdyqpxp1xaz6apj"; }; - buildInputs = [ gettext ]; + nativeBuildInputs = [ gettext ]; propagatedBuildInputs = with pythonPackages; [ - pyqt4 + pyqt5 mutagen + chromaprint discid ]; @@ -23,7 +26,10 @@ in pythonPackages.buildPythonApplication rec { python setup.py install --prefix="$out" ''; - doCheck = false; + prePatch = '' + # Pesky unicode punctuation. + substituteInPlace setup.cfg --replace "‘" "'" + ''; meta = with stdenv.lib; { homepage = http://musicbrainz.org/doc/MusicBrainz_Picard; diff --git a/pkgs/applications/audio/pithos/default.nix b/pkgs/applications/audio/pithos/default.nix index 1d3fffb549d79757cd1c3149313377ab74ef68eb..f2c798d1e6e7c9f7c849540b2cb644acff4ee50f 100644 --- a/pkgs/applications/audio/pithos/default.nix +++ b/pkgs/applications/audio/pithos/default.nix @@ -1,4 +1,4 @@ -{ fetchFromGitHub, stdenv, pythonPackages, gtk3, gobjectIntrospection, libnotify +{ fetchFromGitHub, stdenv, pythonPackages, gtk3, gobject-introspection, libnotify , gst_all_1, wrapGAppsHook }: pythonPackages.buildPythonApplication rec { @@ -27,7 +27,7 @@ pythonPackages.buildPythonApplication rec { buildInputs = [ wrapGAppsHook ]; propagatedBuildInputs = - [ gtk3 gobjectIntrospection libnotify ] ++ + [ gtk3 gobject-introspection libnotify ] ++ (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-ugly gst-plugins-bad ]) ++ (with pythonPackages; [ pygobject3 pylast ]); @@ -35,6 +35,6 @@ pythonPackages.buildPythonApplication rec { description = "Pandora Internet Radio player for GNOME"; homepage = https://pithos.github.io/; license = licenses.gpl3; - maintainers = with maintainers; [ obadz jgeerds ]; + maintainers = with maintainers; [ obadz ]; }; } diff --git a/pkgs/applications/audio/praat/default.nix b/pkgs/applications/audio/praat/default.nix index 8d49c49f0c6cd664ab89611beb54ba67854eaf62..5db5035c8352c9aef7050b21dbe51afa9c5a601c 100644 --- a/pkgs/applications/audio/praat/default.nix +++ b/pkgs/applications/audio/praat/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "praat-${version}"; - version = "6.0.40"; + version = "6.0.43"; src = fetchurl { url = "https://github.com/praat/praat/archive/v${version}.tar.gz"; - sha256 = "168qrrr59qxii265vba7pj6f61lzq5lk9c43zcda0wmmjp87bq1x"; + sha256 = "1l13bvnl7sv8v6s5z63201bhzavnj6bnqcj446akippsam13z4sf"; }; configurePhase = '' diff --git a/pkgs/applications/audio/puddletag/default.nix b/pkgs/applications/audio/puddletag/default.nix index 915d7fcbd98b80bba3c2e358c5f39defbc559bfc..3a6cd298557f86aed7383a0073b32b3cfbf3f9ab 100644 --- a/pkgs/applications/audio/puddletag/default.nix +++ b/pkgs/applications/audio/puddletag/default.nix @@ -28,8 +28,8 @@ python2Packages.buildPythonApplication rec { dontStrip = true; # we are not generating any binaries meta = with stdenv.lib; { - homepage = https://puddletag.net; description = "An audio tag editor similar to the Windows program, Mp3tag"; + homepage = https://docs.puddletag.net; license = licenses.gpl3; maintainers = with maintainers; [ peterhoeg ]; platforms = platforms.linux; diff --git a/pkgs/applications/audio/pulseaudio-modules-bt/default.nix b/pkgs/applications/audio/pulseaudio-modules-bt/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..8a0762d5176bc4f57ade16a48ed6dc809f1788bf --- /dev/null +++ b/pkgs/applications/audio/pulseaudio-modules-bt/default.nix @@ -0,0 +1,83 @@ +{ stdenv +, runCommand +, fetchFromGitHub +, pulseaudio +, pkgconfig +, ffmpeg_4 +, patchelf +, fdk_aac +, libtool +, ldacbt +, cmake +, bluez +, dbus +, sbc +, lib +}: + +let + pulseSources = runCommand "pulseaudio-sources" {} '' + mkdir $out + tar -xf ${pulseaudio.src} + mv pulseaudio*/* $out/ + ''; + +in stdenv.mkDerivation rec { + name = "pulseaudio-modules-bt-${version}"; + version = "1.1.99"; + + src = fetchFromGitHub { + owner = "EHfive"; + repo = "pulseaudio-modules-bt"; + rev = "v${version}"; + sha256 = "0x670xbd62r3fs9a8pa5p4ppvxn6m64hvlrqa702gvikcvyrmwcg"; + }; + + patches = [ + ./fix-install-path.patch + ]; + + nativeBuildInputs = [ + pkgconfig + patchelf + cmake + ]; + + buildInputs = [ + pulseaudio + ffmpeg_4 + fdk_aac + libtool + ldacbt + bluez + dbus + sbc + ]; + + postPatch = '' + # Upstream bundles pulseaudio as a submodule + rm -r pa + ln -s ${pulseSources} pa + + # Pulseaudio version is detected with a -rebootstrapped suffix which build system assumptions + substituteInPlace config.h.in --replace PulseAudio_VERSION ${pulseaudio.version} + substituteInPlace CMakeLists.txt --replace '${"\${PulseAudio_VERSION}"}' ${pulseaudio.version} + ''; + + postFixup = '' + for so in $out/lib/pulse-${pulseaudio.version}/modules/*.so; do + orig_rpath=$(patchelf --print-rpath "$so") + patchelf \ + --set-rpath "${ldacbt}/lib:${lib.getLib ffmpeg_4}/lib:$out/lib/pulse-${pulseaudio.version}/modules:$orig_rpath" \ + "$so" + done + ''; + + meta = with stdenv.lib; { + homepage = https://github.com/EHfive/pulseaudio-modules-bt; + description = "LDAC, aptX, aptX HD, AAC codecs (A2DP Audio) support for Linux PulseAudio"; + platforms = platforms.linux; + license = licenses.mit; + maintainers = with maintainers; [ adisbladis ]; + }; +} diff --git a/pkgs/applications/audio/pulseaudio-modules-bt/fix-install-path.patch b/pkgs/applications/audio/pulseaudio-modules-bt/fix-install-path.patch new file mode 100644 index 0000000000000000000000000000000000000000..3c498fe8af1b5d3d7004f9536f2c68601f9e3ac2 --- /dev/null +++ b/pkgs/applications/audio/pulseaudio-modules-bt/fix-install-path.patch @@ -0,0 +1,11 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8d20dbf..63fe7ba 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -213,5 +213,4 @@ INSTALL(TARGETS + module-bluez5-device + module-bluetooth-discover + module-bluetooth-policy +- LIBRARY DESTINATION ${PulseAudio_modlibexecdir}) +- ++ LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/pulse-${PulseAudio_VERSION}/modules/) diff --git a/pkgs/applications/audio/pulseeffects/default.nix b/pkgs/applications/audio/pulseeffects/default.nix index 313f737cd422926b92547efb951accecd87d6f4c..0cbb022eb2011ac48921374a92c631604f6b66a7 100644 --- a/pkgs/applications/audio/pulseeffects/default.nix +++ b/pkgs/applications/audio/pulseeffects/default.nix @@ -4,6 +4,7 @@ , ninja , pkgconfig , itstool +, python3 , libxml2 , desktop-file-utils , wrapGAppsHook @@ -23,12 +24,14 @@ , libsndfile , libebur128 , boost +, dbus , fftwFloat , calf , zita-convolver , zam-plugins , rubberband , mda_lv2 +, lsp-plugins , hicolor-icon-theme }: @@ -36,20 +39,21 @@ let lv2Plugins = [ calf # limiter, compressor exciter, bass enhancer and others mda_lv2 # loudness + lsp-plugins # delay ]; ladspaPlugins = [ rubberband # pitch shifting zam-plugins # maximizer ]; in stdenv.mkDerivation rec { - name = "pulseeffects-${version}"; - version = "4.2.8"; + pname = "pulseeffects"; + version = "4.5.9"; src = fetchFromGitHub { owner = "wwmm"; repo = "pulseeffects"; rev = "v${version}"; - sha256 = "0ckl0640n6lhk0gcmnmwngajkf46rrd8bxfh7xy5sq6qmm01dhdd"; + sha256 = "19pqi9wix359hdrslzmi9sz0dzz03pdwqvdyzw3i5rdny01skdfw"; }; nativeBuildInputs = [ @@ -58,6 +62,7 @@ in stdenv.mkDerivation rec { pkgconfig libxml2 itstool + python3 desktop-file-utils wrapGAppsHook ]; @@ -69,8 +74,8 @@ in stdenv.mkDerivation rec { gtk3 gtkmm3 gst_all_1.gstreamer - gst_all_1.gst-plugins-base - gst_all_1.gst-plugins-good + gst_all_1.gst-plugins-base # gst-fft + gst_all_1.gst-plugins-good # pulsesrc gst_all_1.gst-plugins-bad lilv lv2 serd sord sratom libbs2b @@ -78,6 +83,7 @@ in stdenv.mkDerivation rec { libsamplerate libsndfile boost + dbus fftwFloat zita-convolver hicolor-icon-theme @@ -89,8 +95,6 @@ in stdenv.mkDerivation rec { ''; preFixup = '' - addToSearchPath GST_PLUGIN_SYSTEM_PATH_1_0 $out/lib/gstreamer-1.0 - gappsWrapperArgs+=( --set LV2_PATH "${stdenv.lib.makeSearchPath "lib/lv2" lv2Plugins}" --set LADSPA_PATH "${stdenv.lib.makeSearchPath "lib/ladspa" ladspaPlugins}" diff --git a/pkgs/applications/audio/puredata/default.nix b/pkgs/applications/audio/puredata/default.nix index 6aca7e9ce22611bc18fc302bf3960739429a86d8..6ade9042b53275e77ce75f93997371c23b37061b 100644 --- a/pkgs/applications/audio/puredata/default.nix +++ b/pkgs/applications/audio/puredata/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { name = "puredata-${version}"; - version = "0.48-0"; + version = "0.49-0"; src = fetchurl { url = "http://msp.ucsd.edu/Software/pd-${version}.src.tar.gz"; - sha256 = "0wy9kl2v00fl27x4mfzhbca415hpaisp6ls8a6mkl01qbw20krny"; + sha256 = "18rzqbpgnnvyslap7k0ly87aw1bbxkb0rk5agpr423ibs9slxq6j"; }; nativeBuildInputs = [ autoreconfHook gettext makeWrapper ]; @@ -20,11 +20,9 @@ stdenv.mkDerivation rec { "--enable-jack" "--enable-fftw" "--disable-portaudio" + "--disable-oss" ]; - # https://github.com/pure-data/pure-data/issues/188 - # --disable-oss - postInstall = '' wrapProgram $out/bin/pd --prefix PATH : ${tk}/bin ''; diff --git a/pkgs/applications/audio/qjackctl/default.nix b/pkgs/applications/audio/qjackctl/default.nix index 83608014f14251a9aa6fc238bb328957d2ce0cf4..089fffdc0e8325942894adf302b6bd10f73d003e 100644 --- a/pkgs/applications/audio/qjackctl/default.nix +++ b/pkgs/applications/audio/qjackctl/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, pkgconfig, alsaLib, libjack2, dbus, qtbase, qttools, qtx11extras }: stdenv.mkDerivation rec { - version = "0.5.3"; + version = "0.5.6"; name = "qjackctl-${version}"; # some dependencies such as killall have to be installed additionally src = fetchurl { url = "mirror://sourceforge/qjackctl/${name}.tar.gz"; - sha256 = "0x08af8m5l8qy9av3dlldsg58ny9nc69h1s4i6hqkvj24jwy6fw1"; + sha256 = "0wlmbb9m7cf3wr7c2h2hji18592x2b119m7mx85wksjs6rjaq2mj"; }; buildInputs = [ diff --git a/pkgs/applications/audio/qmidinet/default.nix b/pkgs/applications/audio/qmidinet/default.nix index 37677cc211cc270fd0550a704d32bc7bb0961995..21bcd158f7ae571bbd08bae7cb11e53a6d88945a 100644 --- a/pkgs/applications/audio/qmidinet/default.nix +++ b/pkgs/applications/audio/qmidinet/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, pkgconfig, qt5, alsaLib, libjack2 }: stdenv.mkDerivation rec { - version = "0.5.2"; + version = "0.5.3"; name = "qmidinet-${version}"; src = fetchurl { url = "mirror://sourceforge/qmidinet/${name}.tar.gz"; - sha256 = "0y2w3rymvc35r291sp2qaxn36wjwvxzk2iaw9y30q9fqc0vlpdns"; + sha256 = "0li6iz1anm8pzz7j12yrfyxlyslsfsksmz0kk0iapa4yx3kifn10"; }; hardeningDisable = [ "format" ]; diff --git a/pkgs/applications/audio/qmmp/default.nix b/pkgs/applications/audio/qmmp/default.nix index dc12baefed140251a11bcd819488f71e373e56bd..eab498b9624946d82f13b93bb81d3c5c35054d03 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.2.2"; + name = "qmmp-1.3.1"; src = fetchurl { url = "http://qmmp.ylsoftware.com/files/${name}.tar.bz2"; - sha256 = "01nnyg8m3p3px1fj3lfsqqv9zh1388dwx1bm2qv4v87jywimgp79"; + sha256 = "1dmybzibpr6hpr2iv1wvrjgww842mng2x0rh1mr8gs8j191xvlhw"; }; buildInputs = diff --git a/pkgs/applications/audio/qsampler/default.nix b/pkgs/applications/audio/qsampler/default.nix index 8ad251652d0e5edf3a168ec2f901d28a2dca28d6..aef0d013e9fec97ae94af0798dccf19d1d09cfd2 100644 --- a/pkgs/applications/audio/qsampler/default.nix +++ b/pkgs/applications/audio/qsampler/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { name = "qsampler-${version}"; - version = "0.5.2"; + version = "0.5.4"; src = fetchurl { url = "mirror://sourceforge/qsampler/${name}.tar.gz"; - sha256 = "0xb0j57k03pkdl7yl5mcv1i21ljnxcq6b9h3zp6mris916lj45zq"; + sha256 = "1hk0j63zzdyji5dd89spbyw79i74n28zjryyy0a4gsaq0m7j2dry"; }; nativeBuildInputs = [ autoconf automake libtool pkgconfig qttools ]; diff --git a/pkgs/applications/audio/qsynth/default.nix b/pkgs/applications/audio/qsynth/default.nix index 26adc63943498e865c02803f8542c16af3662355..b146513d735079787e1548306c8a7d1ac947e8e7 100644 --- a/pkgs/applications/audio/qsynth/default.nix +++ b/pkgs/applications/audio/qsynth/default.nix @@ -1,23 +1,17 @@ -{ stdenv, fetchurl, alsaLib, fluidsynth, libjack2, qtbase, qttools, qtx11extras, cmake, pkgconfig }: +{ stdenv, fetchurl, alsaLib, fluidsynth, libjack2, qt5, autoconf, pkgconfig }: stdenv.mkDerivation rec { name = "qsynth-${version}"; - version = "0.5.2"; + version = "0.5.6"; src = fetchurl { url = "mirror://sourceforge/qsynth/${name}.tar.gz"; - sha256 = "1rfkaxq1pyc4hv3l0i6wicianbcbm1wp53kh9i5d4jsljgisd1dv"; + sha256 = "0h4hhja8qbyzd6v24flw9wr4mwl03nplryx1gyrppn7sg13l1sx6"; }; - # cmake is looking for qsynth.desktop.in and fails if it doesn't find it - # seems like a bug and can presumable go in the next version after 0.5.2 - postPatch = '' - mv src/qsynth.desktop src/qsynth.desktop.in - ''; + nativeBuildInputs = [ autoconf pkgconfig ]; - nativeBuildInputs = [ cmake pkgconfig ]; - - buildInputs = [ alsaLib fluidsynth libjack2 qtbase qttools qtx11extras ]; + buildInputs = [ alsaLib fluidsynth libjack2 qt5.qtbase qt5.qttools qt5.qtx11extras ]; enableParallelBuilding = true; diff --git a/pkgs/applications/audio/qtractor/default.nix b/pkgs/applications/audio/qtractor/default.nix index 9e0abac5ce47b5f4d374b00d6744ebe121e3c807..703ce5c5cf9098e57e5d8b8c39ddd40d2c95c241 100644 --- a/pkgs/applications/audio/qtractor/default.nix +++ b/pkgs/applications/audio/qtractor/default.nix @@ -1,21 +1,24 @@ -{ alsaLib, autoconf, automake, dssi, fetchurl, gtk2, libjack2 +{ alsaLib, autoconf, automake, dssi, fetchurl, libjack2 , ladspaH, ladspaPlugins, liblo, libmad, libsamplerate, libsndfile -, libtool, libvorbis, lilv, lv2, pkgconfig, qt4, rubberband, serd +, libtool, libvorbis, lilv, lv2, pkgconfig, qttools, qtbase, rubberband, serd , sord, sratom, stdenv, suil }: stdenv.mkDerivation rec { - version = "0.6.7"; - name = "qtractor-${version}"; + pname = "qtractor"; + version = "0.9.6"; src = fetchurl { - url = "mirror://sourceforge/qtractor/${name}.tar.gz"; - sha256 = "0h5nblfkl4s412c9f02b40nb8c8jq8ypz67z2qn3hkvhx6i9yxsg"; + url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz"; + sha256 = "06sa4wl8zr0k8dnjiil0gjwnhrkq95h50xv56ih1y8jgyzxchaxp"; }; + nativeBuildInputs = [ + autoconf automake libtool pkgconfig qttools + ]; buildInputs = - [ alsaLib autoconf automake dssi gtk2 libjack2 ladspaH + [ alsaLib dssi libjack2 ladspaH ladspaPlugins liblo libmad libsamplerate libsndfile libtool - libvorbis lilv lv2 pkgconfig qt4 rubberband serd sord sratom + libvorbis lilv lv2 qtbase rubberband serd sord sratom suil ]; diff --git a/pkgs/applications/audio/quodlibet/default.nix b/pkgs/applications/audio/quodlibet/default.nix index f1a22bd839a0da6e3963b7c795acdef71b60c285..d457f25e3162b50d7e23b612b6916002e65d7697 100644 --- a/pkgs/applications/audio/quodlibet/default.nix +++ b/pkgs/applications/audio/quodlibet/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchurl, python3, wrapGAppsHook, gettext, intltool, libsoup, gnome3, gtk3, gdk_pixbuf, - tag ? "", xvfb_run, dbus, glibcLocales, glib, gobjectIntrospection, +{ stdenv, fetchurl, python3, wrapGAppsHook, gettext, libsoup, gnome3, gtk3, gdk_pixbuf, + tag ? "", xvfb_run, dbus, glibcLocales, glib, glib-networking, gobject-introspection, gst_all_1, withGstPlugins ? true, xineBackend ? false, xineLib, withDbusPython ? false, withPyInotify ? false, withMusicBrainzNgs ? false, withPahoMqtt ? false, @@ -9,22 +9,18 @@ let optionals = stdenv.lib.optionals; in python3.pkgs.buildPythonApplication rec { pname = "quodlibet${tag}"; - version = "4.1.0"; - - # XXX, tests fail - # https://github.com/quodlibet/quodlibet/issues/2820 - doCheck = false; + version = "4.2.1"; src = fetchurl { url = "https://github.com/quodlibet/quodlibet/releases/download/release-${version}/quodlibet-${version}.tar.gz"; - sha256 = "1vcxx4sz5i4ag74pjpdfw7jkwxfb8jhvn8igcjwd5cccw4gscm2z"; + sha256 = "0b1rvr4hqs2bjmhayms7vxxkn3d92k9v7p1269rjhf11hpk122l7"; }; - nativeBuildInputs = [ wrapGAppsHook gettext intltool ]; + nativeBuildInputs = [ wrapGAppsHook gettext ]; checkInputs = with python3.pkgs; [ pytest pytest_xdist pyflakes pycodestyle polib xvfb_run dbus.daemon glibcLocales ]; - buildInputs = [ gnome3.defaultIconTheme libsoup glib gtk3 webkitgtk gdk_pixbuf keybinder3 gtksourceview libmodplug libappindicator-gtk3 kakasi gobjectIntrospection ] + buildInputs = [ gnome3.adwaita-icon-theme libsoup glib glib-networking gtk3 webkitgtk gdk_pixbuf keybinder3 gtksourceview libmodplug libappindicator-gtk3 kakasi gobject-introspection ] ++ (if xineBackend then [ xineLib ] else with gst_all_1; [ gstreamer gst-plugins-base ] ++ optionals withGstPlugins [ gst-plugins-good gst-plugins-ugly gst-plugins-bad ]); @@ -39,13 +35,11 @@ python3.pkgs.buildPythonApplication rec { checkPhase = '' runHook preCheck - checkHomeDir=$(mktemp -d) - mkdir -p $checkHomeDir/.cache/thumbnails/normal # Required by TThumb.test_recreate_broken_cache_file env XDG_DATA_DIRS="$out/share:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS" \ - HOME=$checkHomeDir \ + HOME=$(mktemp -d) \ xvfb-run -s '-screen 0 800x600x24' dbus-run-session \ --config-file=${dbus.daemon}/share/dbus-1/session.conf \ - py.test + py.test${stdenv.lib.optionalString (xineBackend || !withGstPlugins) " --ignore=tests/plugin/test_replaygain.py"} runHook postCheck ''; diff --git a/pkgs/applications/audio/radiotray-ng/default.nix b/pkgs/applications/audio/radiotray-ng/default.nix index 82bc42143c67e9d78d12272850ed6e6699617596..91d82d686d03b7bfc8d7f181f457ccda0ed3ebe4 100644 --- a/pkgs/applications/audio/radiotray-ng/default.nix +++ b/pkgs/applications/audio/radiotray-ng/default.nix @@ -10,7 +10,7 @@ # GUI/Desktop , dbus , glibmm -, gnome3 +, gsettings-desktop-schemas , hicolor-icon-theme , libappindicator-gtk3 , libnotify @@ -40,13 +40,13 @@ let in stdenv.mkDerivation rec { name = "radiotray-ng-${version}"; - version = "0.2.3"; + version = "0.2.5"; src = fetchFromGitHub { owner = "ebruck"; repo = "radiotray-ng"; rev = "v${version}"; - sha256 = "1sq7bc0dswv3vv56w527z268ib0pyhdxyf25388vnj1fv0c146wc"; + sha256 = "1crvpn1mgrv7bd2k683mpgs59785mkrjvmp1f14iyq4qrr0f9zzi"; }; nativeBuildInputs = [ cmake pkgconfig wrapGAppsHook makeWrapper ]; @@ -54,13 +54,15 @@ stdenv.mkDerivation rec { buildInputs = [ curl boost jsoncpp libbsd pcre - glibmm hicolor-icon-theme gnome3.gsettings-desktop-schemas libappindicator-gtk3 libnotify + glibmm hicolor-icon-theme gsettings-desktop-schemas libappindicator-gtk3 libnotify libxdg_basedir lsb-release wxGTK ] ++ gstInputs ++ pythonInputs; + patches = [ ./no-dl-googletest.patch ]; + postPatch = '' for x in debian/CMakeLists.txt include/radiotray-ng/common.hpp data/*.desktop; do substituteInPlace $x --replace /usr $out @@ -80,9 +82,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; checkInputs = [ gtest ]; - checkPhase = "ctest"; - # doCheck = stdenv.hostPlatform == stdenv.buildPlatform; - doCheck = false; # fails to pick up supplied gtest, tries to download it instead + doCheck = !stdenv.isAarch64; # single failure that I can't explain preFixup = '' gappsWrapperArgs+=(--suffix PATH : ${stdenv.lib.makeBinPath [ dbus ]}) diff --git a/pkgs/applications/audio/radiotray-ng/no-dl-googletest.patch b/pkgs/applications/audio/radiotray-ng/no-dl-googletest.patch new file mode 100644 index 0000000000000000000000000000000000000000..3578d2d72b03369077c8b4947e22525ca94b1217 --- /dev/null +++ b/pkgs/applications/audio/radiotray-ng/no-dl-googletest.patch @@ -0,0 +1,55 @@ +From 2ce91cd2244e61d54e0c0a3b26851912240b0667 Mon Sep 17 00:00:00 2001 +From: Will Dietz +Date: Sat, 16 Mar 2019 11:40:00 -0500 +Subject: [PATCH] don't download googletest + +--- + CMakeLists.txt | 18 ------------------ + tests/CMakeLists.txt | 1 - + 2 files changed, 19 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fc1b9de..301c266 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -70,25 +70,7 @@ endif() + + # build tests? Then we need googletest... + if (BUILD_TESTS) +- include(ExternalProject) +- +- ExternalProject_Add(googletest +- PREFIX "${CMAKE_CURRENT_BINARY_DIR}/googletest" +- URL https://github.com/google/googletest/archive/release-1.8.1.tar.gz +- URL_HASH SHA256=9bf1fe5182a604b4135edc1a425ae356c9ad15e9b23f9f12a02e80184c3a249c +- TIMEOUT 30 +- DOWNLOAD_NO_PROGRESS true +- INSTALL_COMMAND "") +- +- ExternalProject_Get_Property(googletest SOURCE_DIR) +- include_directories(${SOURCE_DIR}/googlemock/include ${SOURCE_DIR}/googletest/include) +- ExternalProject_Get_Property(googletest BINARY_DIR) +- link_directories(${BINARY_DIR}/googlemock ${BINARY_DIR}/googlemock/gtest) + set(GMOCK_BOTH_LIBRARIES gmock_main gmock gtest) +- set_property(DIRECTORY PROPERTY CLEAN_NO_CUSTOM "${CMAKE_CURRENT_BINARY_DIR}/googletest") +- unset(SOURCE_DIR) +- unset(BINARY_DIR) +- + enable_testing() + add_subdirectory(tests) + add_subdirectory(tests/runners/) +diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt +index 859c048..58ab5c2 100644 +--- a/tests/CMakeLists.txt ++++ b/tests/CMakeLists.txt +@@ -2,7 +2,6 @@ include(GoogleTest) + + function(add_gmock_test target) + add_executable(${target} ${ARGN}) +- add_dependencies(${target} googletest) + target_link_libraries(${target} config playlist bookmarks event_bus ${GMOCK_BOTH_LIBRARIES} ${XDG_BASEDIR_LIBRARIES} ${Boost_LIBRARIES} ${CURL_LIBRARIES} ${JSONCPP_LIBRARIES} pthread) + target_include_directories(${target} PRIVATE ${JSONCPP_INCLUDE_DIRS}) + gtest_discover_tests(${target}) +-- +2.21.GIT + diff --git a/pkgs/applications/audio/reaper/default.nix b/pkgs/applications/audio/reaper/default.nix index 28aaf8a5354f4d57757da8c61b557eba1ae6d477..8e04b51753d7217dc7c5c4b808bebbece14a6791 100644 --- a/pkgs/applications/audio/reaper/default.nix +++ b/pkgs/applications/audio/reaper/default.nix @@ -1,68 +1,47 @@ { stdenv, fetchurl, autoPatchelfHook, makeWrapper , alsaLib, xorg -, fetchFromGitHub, pkgconfig, gnome3 -, gnome2, gdk_pixbuf, cairo, glib, freetype -, libpulseaudio +, gnome3, gtk3, pango, gdk_pixbuf, cairo, glib, freetype +, libpulseaudio, xdg_utils }: -let - libSwell = stdenv.mkDerivation { - name = "libSwell"; - - src = fetchFromGitHub { - owner = "justinfrankel"; - repo = "WDL"; - rev = "e87f5bdee7327b63398366fde6ec0a3f08bf600d"; - sha256 = "147idjqc6nc23w9krl8a9w571k5jx190z3id6ir6cr8zsx0lakdb"; - }; - - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ gnome3.gtk ]; - - buildPhase = '' - cd WDL/swell - make - ''; - - installPhase = '' - mv libSwell.so $out - ''; - }; - -in stdenv.mkDerivation rec { +stdenv.mkDerivation rec { name = "reaper-${version}"; - version = "5.94"; + version = "5.973"; src = fetchurl { url = "https://www.reaper.fm/files/${stdenv.lib.versions.major version}.x/reaper${builtins.replaceStrings ["."] [""] version}_linux_x86_64.tar.xz"; - sha256 = "16g5q12wh1cfbl9wq03vb7vpsd870k7i7883z0wn492x7y9syz8z"; + sha256 = "02ymi2rn29zrb71krx43nrpfldhkcvwry4gz228apff2hb2lmqdx"; }; nativeBuildInputs = [ autoPatchelfHook makeWrapper ]; buildInputs = [ alsaLib - stdenv.cc.cc.lib xorg.libX11 xorg.libXi - gnome3.gtk gdk_pixbuf - gnome2.pango + pango cairo glib freetype + + xdg_utils + ]; + + runtimeDependencies = [ + gtk3 ]; dontBuild = true; installPhase = '' - ./install-reaper.sh --install $out/opt + XDG_DATA_HOME="$out/share" ./install-reaper.sh \ + --install $out/opt \ + --integrate-user-desktop rm $out/opt/REAPER/uninstall-reaper.sh - cp ${libSwell.out} $out/opt/REAPER/libSwell.so - wrapProgram $out/opt/REAPER/reaper \ --prefix LD_LIBRARY_PATH : ${libpulseaudio}/lib diff --git a/pkgs/applications/audio/redoflacs/default.nix b/pkgs/applications/audio/redoflacs/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..1918fa9e3a991023be3726dcd2f3e1f915b6420f --- /dev/null +++ b/pkgs/applications/audio/redoflacs/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchFromGitHub, makeWrapper +, flac, sox }: + +stdenv.mkDerivation rec { + name = "redoflacs-${version}"; + version = "0.30.20150202"; + + src = fetchFromGitHub { + owner = "sirjaren"; + repo = "redoflacs"; + rev = "86c6f5becca0909dcb2a0cb9ed747a575d7a4735"; + sha256 = "1gzlmh4vnf2fl0x8ig2n1f76082ngldsv85i27dv15y2m1kffw2j"; + }; + + dontBuild = true; + + nativeBuildInputs = [ makeWrapper ]; + + installPhase = '' + runHook preInstall + + install -Dm755 -t $out/bin redoflacs + install -Dm644 -t $out/share/doc/redoflacs LICENSE *.md + + runHook postInstall + ''; + + postFixup = '' + wrapProgram $out/bin/redoflacs \ + --prefix PATH : ${stdenv.lib.makeBinPath [ flac sox ]} + ''; + + meta = with stdenv.lib; { + description = "Parallel BASH commandline FLAC compressor, verifier, organizer, analyzer, and retagger"; + homepage = src.meta.homepage; + license = licenses.gpl2; + platforms = platforms.all; + }; +} diff --git a/pkgs/applications/audio/renoise/default.nix b/pkgs/applications/audio/renoise/default.nix index 24a2f1a8a60143f291bbae2aaea685b99237d1ae..081c4ab41acb47d6154e78eb726f40da29708ec5 100644 --- a/pkgs/applications/audio/renoise/default.nix +++ b/pkgs/applications/audio/renoise/default.nix @@ -1,4 +1,5 @@ -{ stdenv, fetchurl, libX11, libXext, libXcursor, libXrandr, libjack2, alsaLib, releasePath ? null }: +{ stdenv, fetchurl, libX11, libXext, libXcursor, libXrandr, libjack2, alsaLib +, mpg123, releasePath ? null }: with stdenv.lib; @@ -17,7 +18,7 @@ stdenv.mkDerivation rec { version = "3.1.0"; src = - if stdenv.system == "x86_64-linux" then + if stdenv.hostPlatform.system == "x86_64-linux" then if builtins.isNull releasePath then fetchurl { url = "https://files.renoise.com/demo/Renoise_${urlVersion version}_Demo_x86_64.tar.bz2"; @@ -25,7 +26,7 @@ stdenv.mkDerivation rec { } else releasePath - else if stdenv.system == "i686-linux" then + else if stdenv.hostPlatform.system == "i686-linux" then if builtins.isNull releasePath then fetchurl { url = "http://files.renoise.com/demo/Renoise_${urlVersion version}_Demo_x86.tar.bz2"; @@ -35,7 +36,7 @@ stdenv.mkDerivation rec { releasePath else throw "Platform is not supported by Renoise"; - buildInputs = [ libX11 libXext libXcursor libXrandr alsaLib libjack2 ]; + buildInputs = [ alsaLib libjack2 libX11 libXcursor libXext libXrandr ]; installPhase = '' cp -r Resources $out @@ -54,13 +55,18 @@ stdenv.mkDerivation rec { mkdir $out/bin ln -s $out/renoise $out/bin/renoise + ''; - patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) --set-rpath $out/lib $out/renoise + postFixup = '' + patchelf \ + --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ + --set-rpath ${mpg123}/lib:$out/lib \ + $out/renoise ''; meta = { description = "Modern tracker-based DAW"; - homepage = http://www.renoise.com/; + homepage = https://www.renoise.com/; license = licenses.unfree; maintainers = []; platforms = [ "i686-linux" "x86_64-linux" ]; diff --git a/pkgs/applications/audio/rhvoice/default.nix b/pkgs/applications/audio/rhvoice/default.nix index 65cb7dab34a1f050b980e6d25df5ee7820fbbf4d..6516532df33f4c1208d58b86a2ed8dae1cdd237f 100644 --- a/pkgs/applications/audio/rhvoice/default.nix +++ b/pkgs/applications/audio/rhvoice/default.nix @@ -1,5 +1,5 @@ -{ stdenv, lib, pkgconfig, fetchFromGitHub, scons, python, glibmm, libpulseaudio, libao -}: +{ stdenv, lib, pkgconfig, fetchFromGitHub, scons +, python, glibmm, libpulseaudio, libao }: let version = "unstable-2018-02-10"; @@ -30,14 +30,6 @@ in stdenv.mkDerivation rec { patches = [ ./honor_nix_environment.patch ]; - buildPhase = '' - scons prefix=$out - ''; - - installPhase = '' - scons install - ''; - meta = { description = "A free and open source speech synthesizer for Russian language and others"; homepage = https://github.com/Olga-Yakovleva/RHVoice/wiki; diff --git a/pkgs/applications/audio/rhythmbox/default.nix b/pkgs/applications/audio/rhythmbox/default.nix index 8dab9e32f982a47f0f4223adfbb52df698a7873e..24b342a26a92d3465199f9316307846cc07a952b 100644 --- a/pkgs/applications/audio/rhythmbox/default.nix +++ b/pkgs/applications/audio/rhythmbox/default.nix @@ -4,8 +4,10 @@ , perlPackages , gtk3 , intltool +, libpeas , libsoup , gnome3 +, totem-pl-parser , tdb , json-glib , itstool @@ -15,24 +17,15 @@ }: let pname = "rhythmbox"; - version = "3.4.2"; + version = "3.4.3"; in stdenv.mkDerivation rec { name = "${pname}-${version}"; src = fetchurl { - url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz"; - sha256 = "0hzcns8gf5yb0rm4ss8jd8qzarcaplp5cylk6plwilsqfvxj4xn2"; + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; + sha256 = "1yx3n7p9vmv23jsv98fxwq95n78awdxqm8idhyhxx2d6vk4w1hgx"; }; - patches = [ - # build with GStreamer 1.14 https://bugzilla.gnome.org/show_bug.cgi?id=788706 - (fetchurl { - name = "fmradio-Fix-build-with-GStreamer-master.patch"; - url = https://bugzilla.gnome.org/attachment.cgi?id=361178; - sha256 = "1h09mimlglj9hcmc3pfp0d6c277mqh2khwv9fryk43pkv3904d2w"; - }) - ]; - nativeBuildInputs = [ pkgconfig intltool perl perlPackages.XMLParser @@ -47,9 +40,9 @@ in stdenv.mkDerivation rec { json-glib gtk3 - gnome3.libpeas - gnome3.totem-pl-parser - gnome3.defaultIconTheme + libpeas + totem-pl-parser + gnome3.adwaita-icon-theme gst_all_1.gstreamer gst_all_1.gst-plugins-base diff --git a/pkgs/applications/audio/rosegarden/default.nix b/pkgs/applications/audio/rosegarden/default.nix index e57d85de05a952f001facbc69a6a75e31cbfcb5f..55e3b55472b84cbf740f0e8201395ed82f60b99a 100644 --- a/pkgs/applications/audio/rosegarden/default.nix +++ b/pkgs/applications/audio/rosegarden/default.nix @@ -3,12 +3,12 @@ , liblo, liblrdf, libsamplerate, libsndfile, lirc ? null, qtbase }: stdenv.mkDerivation (rec { - version = "17.12.1"; + version = "18.12"; name = "rosegarden-${version}"; src = fetchurl { url = "mirror://sourceforge/rosegarden/${name}.tar.bz2"; - sha256 = "155kqbxg85wqv0w97cmmx8wq0r4xb3qpnk20lfma04vj8k6hc1mg"; + sha256 = "15i9fm0vkn3wsgahaxqi1j5zs0wc0j3wdwml0x49084gk2p328vb"; }; patchPhase = '' diff --git a/pkgs/applications/audio/samplv1/default.nix b/pkgs/applications/audio/samplv1/default.nix index 4eeb893ee969dc96cb8f99040f1005776d955dd2..1a131539460280bdad5179d11b8744e75faab6f6 100644 --- a/pkgs/applications/audio/samplv1/default.nix +++ b/pkgs/applications/audio/samplv1/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "samplv1-${version}"; - version = "0.9.0"; + version = "0.9.6"; src = fetchurl { url = "mirror://sourceforge/samplv1/${name}.tar.gz"; - sha256 = "0g67vm9ilmq5nlvk0f3abia9pbinr4ck5v4mll6igni1rxz2n7wk"; + sha256 = "16a5xix9pn0gl3fr6bv6zl1l9vrzgvy1q7xd8yxzfr3vi5s8x4z9"; }; buildInputs = [ libjack2 alsaLib liblo libsndfile lv2 qt5.qtbase qt5.qttools]; diff --git a/pkgs/applications/audio/sayonara/default.nix b/pkgs/applications/audio/sayonara/default.nix index 1bf1a8b2c49e2bbe1478145376b73ddb80aa1703..fbe90c5377df752c3be31aab0b7ad05f1ef317ee 100644 --- a/pkgs/applications/audio/sayonara/default.nix +++ b/pkgs/applications/audio/sayonara/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, cmake, qt5, zlib, taglib, pkgconfig, pcre, gst_all_1 }: let - version = "1.0.0-git5-20180115"; + version = "1.1.1-git1-20180828"; in stdenv.mkDerivation { name = "sayonara-player-${version}"; src = fetchurl { url = "https://sayonara-player.com/sw/sayonara-player-${version}.tar.gz"; - sha256 = "1fl7zplnrrvbv1xm4g348bpd46jj39jvbm808hyjjq92i64wqg37"; + sha256 = "0rvy47qvavrp03zjdrw025dmq9fq5aaii3q1qq8b94byarl0c5kn"; }; nativeBuildInputs = [ cmake pkgconfig ]; @@ -39,7 +39,7 @@ stdenv.mkDerivation { { description = "Sayonara music player"; homepage = https://sayonara-player.com/; license = licenses.gpl3; - platforms = qt5.qtbase.meta.platforms; + platforms = platforms.linux; maintainers = [ maintainers.deepfire ]; }; } diff --git a/pkgs/applications/audio/seq24/default.nix b/pkgs/applications/audio/seq24/default.nix index 11ee00adc887cddfd3890a7456b2b8a25008b587..d47ede27ece2f6ed5af7859fa3f8f69e9acef509 100644 --- a/pkgs/applications/audio/seq24/default.nix +++ b/pkgs/applications/audio/seq24/default.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation rec { version = "0.9.3"; src = fetchurl { - url = "http://launchpad.net/seq24/trunk/${version}/+download/${name}.tar.gz"; + url = "https://launchpad.net/seq24/trunk/${version}/+download/${name}.tar.gz"; sha256 = "1qpyb7355s21sgy6gibkybxpzx4ikha57a8w644lca6qy9mhcwi3"; }; diff --git a/pkgs/applications/audio/setbfree/default.nix b/pkgs/applications/audio/setbfree/default.nix index 905de343117d2e4cdc64af8d7c980f6a5a6439c0..1047734a2c183d40a41f4f369aa7cae585d1ca1c 100644 --- a/pkgs/applications/audio/setbfree/default.nix +++ b/pkgs/applications/audio/setbfree/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { name = "setbfree-${version}"; - version = "0.8.7"; + version = "0.8.8"; src = fetchurl { url = "https://github.com/pantherb/setBfree/archive/v${version}.tar.gz"; - sha256 = "07s320r67cz0cdjdsbcwn0fw3xs0wz7lgrybqpws2skvkbls228q"; + sha256 = "1ldxwds99azingkjh246kz7x3j7307jhr0fls5rjjbcfchpg7v99"; }; patchPhase = '' diff --git a/pkgs/applications/audio/sfxr-qt/default.nix b/pkgs/applications/audio/sfxr-qt/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..a98d1431d65e4473f229300ba581bbaf08d7dfa4 --- /dev/null +++ b/pkgs/applications/audio/sfxr-qt/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchFromGitHub +, cmake +, qtbase, qtquickcontrols2 +, SDL +, python3 +}: + +stdenv.mkDerivation rec { + name = "sfxr-qt-${version}"; + version = "1.2.0"; + src = fetchFromGitHub { + owner = "agateau"; + repo = "sfxr-qt"; + rev = version; + sha256 = "1ndw1dcmzvkrc6gnb0y057zb4lqlhwrv18jlbx26w3s4xrbxqr41"; + fetchSubmodules = true; + }; + nativeBuildInputs = [ + cmake + (python3.withPackages (pp: with pp; [ pyyaml jinja2 ])) + ]; + buildInputs = [ + qtbase qtquickcontrols2 + SDL + ]; + configurePhase = "cmake . -DCMAKE_INSTALL_PREFIX=$out"; + + meta = with stdenv.lib; { + homepage = https://github.com/agateau/sfxr-qt; + description = "A sound effect generator, QtQuick port of sfxr"; + license = licenses.gpl2; + maintainers = with maintainers; [ fgaz ]; + platforms = platforms.linux; + }; +} + diff --git a/pkgs/applications/audio/snapcast/default.nix b/pkgs/applications/audio/snapcast/default.nix index 3afd73493b05dbbff2fb278f2ebab17b8ee1e40b..5730dec6b9944a2fbeac0a9f6ae341fce4f3ba16 100644 --- a/pkgs/applications/audio/snapcast/default.nix +++ b/pkgs/applications/audio/snapcast/default.nix @@ -1,49 +1,61 @@ { stdenv, lib, fetchFromGitHub, cmake, pkgconfig -, asio, alsaLib, avahi, libogg, libvorbis, flac }: +, alsaLib, asio, avahi, flac, libogg, libvorbis }: let - popl = stdenv.mkDerivation rec { - name = "popl-${version}"; - version = "1.1.0"; + dependency = { name, version, sha256 }: + stdenv.mkDerivation { + name = "${name}-${version}"; src = fetchFromGitHub { owner = "badaix"; - repo = "popl"; - rev = "v${version}"; - sha256 = "1zgjgcingyi1xw61azxxasaidbgqidncml5c2y2cj90mz23yam1i"; + repo = name; + rev = "v${version}"; + inherit sha256; }; + nativeBuildInputs = [ cmake ]; }; - aixlog = stdenv.mkDerivation rec { - name = "aixlog-${version}"; + aixlog = dependency { + name = "aixlog"; version = "1.2.1"; + sha256 = "1rh4jib5g41b85bqrxkl5g74hk5ryf187y9fw0am76g59xlymfpr"; + }; - src = fetchFromGitHub { - owner = "badaix"; - repo = "aixlog"; - rev = "v${version}"; - sha256 = "1rh4jib5g41b85bqrxkl5g74hk5ryf187y9fw0am76g59xlymfpr"; - }; - nativeBuildInputs = [ cmake ]; + popl = dependency { + name = "popl"; + version = "1.2.0"; + sha256 = "1z6z7fwffs3d9h56mc2m24d5gp4fc5bi8836zyfb276s6fjyfcai"; }; in stdenv.mkDerivation rec { name = "snapcast-${version}"; - version = "0.14.0"; + version = "0.15.0"; src = fetchFromGitHub { - owner = "badaix"; - repo = "snapcast"; - rev = "v${version}"; - sha256 = "14f5jrsarjdk2mixmznmighrh22j6flp7y47r9j3qzxycmm1mcf6"; + owner = "badaix"; + repo = "snapcast"; + rev = "v${version}"; + sha256 = "11rnpy6w3wm240qgmkp74k5w8wh5b7hzfx05qrnh6l7ng7m25ky2"; }; nativeBuildInputs = [ cmake pkgconfig ]; - buildInputs = [ asio popl aixlog alsaLib avahi libogg libvorbis flac ]; + # snapcast also supports building against tremor but as we have libogg, that's + # not needed + buildInputs = [ + alsaLib asio avahi flac libogg libvorbis + aixlog popl + ]; + + # Upstream systemd unit files are pretty awful, so we provide our own in a + # NixOS module. It might make sense to get that upstreamed... + postInstall = '' + install -d $out/share/doc/snapcast + cp -r ../doc/* ../*.md $out/share/doc/snapcast + ''; meta = with lib; { description = "Synchronous multi-room audio player"; diff --git a/pkgs/applications/audio/snd/default.nix b/pkgs/applications/audio/snd/default.nix index 7c96fd364c1827c4b52c7e686e3aaecae70af4d4..e749bb9280760752d58f0f9d89751bb9788d1dbf 100644 --- a/pkgs/applications/audio/snd/default.nix +++ b/pkgs/applications/audio/snd/default.nix @@ -4,11 +4,11 @@ }: stdenv.mkDerivation rec { - name = "snd-18.6"; + name = "snd-19.2"; src = fetchurl { url = "mirror://sourceforge/snd/${name}.tar.gz"; - sha256 = "1jyqkkz2a6zw0jn9y15xd3027r8glkpw794fjk6hd3al1byjhz2z"; + sha256 = "1a6ls2hyvggss12idca22hq5vsq4jw2xkwrx22dx29i9926gdr6h"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/audio/sonata/default.nix b/pkgs/applications/audio/sonata/default.nix index 0affe5dc89d4e7fef9859d056da75dc56df6dabe..d5985f097e9f55bf8b3ccbdf3edcc9bfe1f72fcb 100644 --- a/pkgs/applications/audio/sonata/default.nix +++ b/pkgs/applications/audio/sonata/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchFromGitHub, pkgconfig, intltool, wrapGAppsHook -, python3Packages, gnome3, gtk3, gobjectIntrospection}: +{ stdenv, fetchFromGitHub, pkgconfig, gettext, intltool, wrapGAppsHook +, python3Packages, gnome3, gtk3, gsettings-desktop-schemas, gobject-introspection }: let inherit (python3Packages) buildPythonApplication isPy3k dbus-python pygobject3 mpd2; @@ -16,11 +16,11 @@ in buildPythonApplication rec { disabled = !isPy3k; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig gettext ]; buildInputs = [ intltool wrapGAppsHook - gnome3.defaultIconTheme - gnome3.gsettings-desktop-schemas + gnome3.adwaita-icon-theme + gsettings-desktop-schemas ]; postPatch = '' @@ -29,7 +29,7 @@ in buildPythonApplication rec { ''; propagatedBuildInputs = [ - gobjectIntrospection gtk3 pygobject3 + gobject-introspection gtk3 pygobject3 ]; # The optional tagpy dependency (for editing metadata) is not yet @@ -61,7 +61,7 @@ in buildPythonApplication rec { - Commandline control - Available in 24 languages ''; - homepage = http://www.nongnu.org/sonata/; + homepage = https://www.nongnu.org/sonata/; license = stdenv.lib.licenses.gpl3; platforms = stdenv.lib.platforms.linux; maintainers = [ stdenv.lib.maintainers.rvl ]; diff --git a/pkgs/applications/audio/sonic-pi/default.nix b/pkgs/applications/audio/sonic-pi/default.nix index d1c48ce44ed8338ae812d67414ea4dbf18c4f5a7..ee72b6cdb1a4945756be66a1d2b681079ba35320 100644 --- a/pkgs/applications/audio/sonic-pi/default.nix +++ b/pkgs/applications/audio/sonic-pi/default.nix @@ -20,14 +20,14 @@ let }; in stdenv.mkDerivation rec { - version = "3.0.1"; + version = "3.1.0"; name = "sonic-pi-${version}"; src = fetchFromGitHub { owner = "samaaron"; repo = "sonic-pi"; rev = "v${version}"; - sha256 = "1l1892hijp1dj2h799sfjr699q6xp660n0siibab5kv238521a81"; + sha256 = "0gi4a73szaa8iz5q1gxgpsnyvhhghcfqm6bfwwxbix4m5csbfgh9"; }; buildInputs = [ @@ -58,21 +58,21 @@ in stdenv.mkDerivation rec { export SONIC_PI_HOME=$TMPDIR export AUBIO_LIB=${aubio}/lib/libaubio.so - pushd app/server/bin + pushd app/server/ruby/bin ./compile-extensions.rb ./i18n-tool.rb -t popd pushd app/gui/qt cp -f ruby_help.tmpl ruby_help.h - ../../server/bin/qt-doc.rb -o ruby_help.h + ../../server/ruby/bin/qt-doc.rb -o ruby_help.h substituteInPlace SonicPi.pro \ --replace "LIBS += -lrt -lqt5scintilla2" \ "LIBS += -lrt -lqscintilla2 -lqwt" lrelease SonicPi.pro - qmake SonicPi.pro + qmake SonicPi.pro make popd diff --git a/pkgs/applications/audio/sound-juicer/default.nix b/pkgs/applications/audio/sound-juicer/default.nix index e38f38dad78c91859c0c8259ab3b505717c93156..7f22a03c1bb4b93d3d2c7a36f7a4acb5204f8ca2 100644 --- a/pkgs/applications/audio/sound-juicer/default.nix +++ b/pkgs/applications/audio/sound-juicer/default.nix @@ -1,27 +1,29 @@ { stdenv, fetchurl, pkgconfig, glib, gtk3, intltool, itstool, libxml2, brasero , libcanberra-gtk3, gnome3, gst_all_1, libmusicbrainz5, libdiscid, isocodes -, wrapGAppsHook }: +, gsettings-desktop-schemas, wrapGAppsHook }: let pname = "sound-juicer"; - version = "3.16.1"; + version = "3.24.0"; in stdenv.mkDerivation rec{ name = "${pname}-${version}"; src = fetchurl { - url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz"; - sha256 = "0mx6n901vb97hsv0cwaafjffj75s1kcp8jsqay90dy3099849dyz"; + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; + sha256 = "19qg4xv0f9rkq34lragkmhii1llxsa87llbl28i759b0ks4f6sny"; }; nativeBuildInputs = [ pkgconfig intltool itstool libxml2 wrapGAppsHook ]; buildInputs = [ - glib gtk3 brasero libcanberra-gtk3 gnome3.defaultIconTheme - gnome3.gsettings-desktop-schemas libmusicbrainz5 libdiscid isocodes + glib gtk3 brasero libcanberra-gtk3 gnome3.adwaita-icon-theme + gsettings-desktop-schemas libmusicbrainz5 libdiscid isocodes gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad gst_all_1.gst-libav ]; + NIX_CFLAGS_COMPILE="-Wno-error=format-nonliteral"; + passthru = { updateScript = gnome3.updateScript { packageName = pname; diff --git a/pkgs/applications/audio/soundkonverter/default.nix b/pkgs/applications/audio/soundkonverter/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..df5806b50b9e1755a29123ae45c82bec6eb2e8f3 --- /dev/null +++ b/pkgs/applications/audio/soundkonverter/default.nix @@ -0,0 +1,97 @@ +# currently needs to be installed into an environment and needs a `kbuildsycoca5` run afterwards for plugin discovery +{ + mkDerivation, fetchFromGitHub, lib, makeWrapper, + cmake, extra-cmake-modules, pkgconfig, + libkcddb, kconfig, kconfigwidgets, ki18n, kdelibs4support, kio, solid, kwidgetsaddons, kxmlgui, + qtbase, phonon, + taglib, + # optional backends + withCD ? true, cdparanoia, + withFlac ? true, flac, + withMidi ? true, fluidsynth, timidity, + withSpeex ? false, speex, + withVorbis ? true, vorbis-tools, vorbisgain, + withMp3 ? true, lame, mp3gain, + withAac ? true, faad2, aacgain, + withUnfreeAac ? false, faac, + withFfmpeg ? true, ffmpeg-full, + withMplayer ? false, mplayer, + withSox ? true, sox, + withOpus ? true, opusTools, + withTwolame ? false, twolame, + withApe ? false, mac, + withWavpack ? false, wavpack +}: + +assert withAac -> withFfmpeg || withUnfreeAac; +assert withUnfreeAac -> withAac; + +let runtimeDeps = [] + ++ lib.optional withCD cdparanoia + ++ lib.optional withFlac flac + ++ lib.optional withSpeex speex + ++ lib.optional withFfmpeg ffmpeg-full + ++ lib.optional withMplayer mplayer + ++ lib.optional withSox sox + ++ lib.optional withOpus opusTools + ++ lib.optional withTwolame twolame + ++ lib.optional withApe mac + ++ lib.optional withWavpack wavpack + ++ lib.optional withUnfreeAac faac + ++ lib.optionals withMidi [ fluidsynth timidity ] + ++ lib.optionals withVorbis [ vorbis-tools vorbisgain ] + ++ lib.optionals withMp3 [ lame mp3gain ] + ++ lib.optionals withAac [ faad2 aacgain ]; + +in +mkDerivation rec { + name = "soundkonverter"; + version = "3.0.1"; + src = fetchFromGitHub { + owner = "dfaust"; + repo = "soundkonverter"; + rev = "v" + version; + sha256 = "1g2khdsjmsi4zzynkq8chd11cbdhjzmi37r9jhpal0b730nq9x7l"; + }; + enableParallelBuilding = true; + nativeBuildInputs = [ cmake extra-cmake-modules pkgconfig kdelibs4support makeWrapper ]; + propagatedBuildInputs = [ libkcddb kconfig kconfigwidgets ki18n kdelibs4support kio solid kwidgetsaddons kxmlgui qtbase phonon]; + buildInputs = [ taglib ] ++ runtimeDeps; + # encoder plugins go to ${out}/lib so they're found by kbuildsycoca5 + cmakeFlags = [ "-DCMAKE_INSTALL_PREFIX=$out" ]; + sourceRoot = "source/src"; + # add runt-time deps to PATH + postInstall = '' + wrapProgram $out/bin/soundkonverter --prefix PATH : ${lib.makeBinPath runtimeDeps } + ''; + meta = { + license = lib.licenses.gpl2; + maintainers = [ lib.maintainers.schmittlauch ]; + description = "Audio file converter, CD ripper and Replay Gain tool"; + longDescription = '' + soundKonverter is a frontend to various audio converters. + + The key features are: + - Audio file conversion + - Replay Gain calculation + - CD ripping + + soundKonverter supports reading and writing tags and covers for many formats, so they are preserved when converting files. + + It is extendable by plugins and supports many backends including: + + - Audio file conversion + Backends: faac, faad, ffmpeg, flac, lame, mplayer, neroaac, timidity, fluidsynth, vorbistools, opustools, sox, twolame, + flake, mac, shorten, wavpack and speex + Formats: ogg vorbis, mp3, flac, wma, aac, ac3, opus, alac, mp2, als, amr nb, amr wb, ape, speex, m4a, mp1, musepack shorten, + tta, wavpack, ra, midi, mod, 3gp, rm, avi, mkv, ogv, mpeg, mov, mp4, flv, wmv and rv + + - Replay Gain calculation + Backends: aacgain, metaflac, mp3gain, vorbisgain, wvgain, mpcgain + Formats: aac, mp3, flac, ogg vorbis, wavpack, musepack + + - CD ripping + Backends: cdparanoia + ''; + }; +} diff --git a/pkgs/applications/audio/spectmorph/default.nix b/pkgs/applications/audio/spectmorph/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..9557770418e87b706e71706252ad41bf5e036c0d --- /dev/null +++ b/pkgs/applications/audio/spectmorph/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchurl, pkgconfig, libjack2, lv2, glib, qt5, libao, cairo, libsndfile, fftwFloat }: + +stdenv.mkDerivation rec { + name = "spectmorph-${version}"; + version = "0.4.1"; + src = fetchurl { + url = "http://spectmorph.org/files/releases/${name}.tar.bz2"; + sha256 = "0z00yvv3jl8qsx6bz9msmg09mdnj5r5d4ws5bmnylwxk182whbrv"; + }; + + buildInputs = [ libjack2 lv2 glib qt5.qtbase libao cairo libsndfile fftwFloat ]; + + nativeBuildInputs = [ pkgconfig ]; + + meta = with stdenv.lib; { + description = "Allows to analyze samples of musical instruments, and to combine them (morphing) to construct hybrid sounds"; + homepage = http://spectmorph.org; + license = licenses.gpl3; + platforms = [ "x86_64-linux" "i686-linux" ]; + maintainers = [ maintainers.magnetophon ]; + }; +} diff --git a/pkgs/applications/audio/split2flac/default.nix b/pkgs/applications/audio/split2flac/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..372e507ed0e909c9d5aaffa1380504f0f9a52662 --- /dev/null +++ b/pkgs/applications/audio/split2flac/default.nix @@ -0,0 +1,62 @@ +{ stdenv, fetchFromGitHub, makeWrapper +, shntool, cuetools +, flac, faac, mp4v2, wavpack, mac +, imagemagick, libiconv, enca, lame, pythonPackages, vorbis-tools +, aacgain, mp3gain, vorbisgain +}: + +let + wrapSplit2flac = format: '' + makeWrapper $out/bin/.split2flac-wrapped $out/bin/split2${format} \ + --set SPLIT2FLAC_FORMAT ${format} \ + --prefix PATH : ${stdenv.lib.makeBinPath [ + shntool cuetools + flac faac mp4v2 wavpack mac + imagemagick libiconv enca lame pythonPackages.mutagen vorbis-tools + aacgain mp3gain vorbisgain + ]} + ''; + +in stdenv.mkDerivation rec { + name = "split2flac-${version}"; + version = "122"; + + src = fetchFromGitHub { + owner = "ftrvxmtrx"; + repo = "split2flac"; + rev = version; + sha256 = "1a71amamip25hhqx7wwzfcl3d5snry9xsiha0kw73iq2m83r2k63"; + }; + + dontBuild = true; + + nativeBuildInputs = [ makeWrapper ]; + + patchPhase = '' + substituteInPlace split2flac \ + --replace 'FORMAT="''${0##*split2}"' 'FORMAT=''${SPLIT2FLAC_FORMAT:-flac}' + ''; + + installPhase = '' + mkdir -p $out/share/bash-completion/completions + cp split2flac-bash-completion.sh \ + $out/share/bash-completion/completions/split2flac-bash-completion.sh + + mkdir -p $out/bin + cp split2flac $out/bin/.split2flac-wrapped + + ${wrapSplit2flac "flac"} + ${wrapSplit2flac "mp3"} + ${wrapSplit2flac "ogg"} + ${wrapSplit2flac "m4a"} + ${wrapSplit2flac "wav"} + ''; + + meta = with stdenv.lib; { + description = "Split flac/ape/wv/wav + cue sheet into separate tracks"; + homepage = https://github.com/ftrvxmtrx/split2flac; + license = licenses.mit; + platforms = platforms.all; + maintainers = with maintainers; [ jfrankenau ]; + }; +} diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix index 04bdff3c8135321ec1fb929e5d3fed808dc120fa..6e926fe11c3dea4cdd90cf172212baace5c01ce4 100644 --- a/pkgs/applications/audio/spotify/default.nix +++ b/pkgs/applications/audio/spotify/default.nix @@ -1,34 +1,42 @@ { fetchurl, stdenv, squashfsTools, xorg, alsaLib, makeWrapper, openssl, freetype -, glib, pango, cairo, atk, gdk_pixbuf, gtk2, cups, nspr, nss, libpng -, libgcrypt, systemd, fontconfig, dbus, expat, ffmpeg_0_10, curl, zlib, gnome3 }: +, glib, pango, cairo, atk, gdk_pixbuf, gtk2, cups, nspr, nss, libpng, libnotify +, libgcrypt, systemd, fontconfig, dbus, expat, ffmpeg_3, curl, zlib, gnome3 +, at-spi2-atk +}: let + # TO UPDATE: just execute the ./update.sh script (won't do anything if there is no update) # "rev" decides what is actually being downloaded - version = "1.0.80.474.gef6b503e-7"; + # If an update breaks things, one of those might have valuable info: + # https://aur.archlinux.org/packages/spotify/ + # https://community.spotify.com/t5/Desktop-Linux + version = "1.0.96.181.gf6bc1b6b-12"; # To get the latest stable revision: # curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=stable' | jq '.download_url,.version,.last_updated' # To get general information: # curl -H 'Snap-Device-Series: 16' 'https://api.snapcraft.io/v2/snaps/info/spotify' | jq '.' - # More exapmles of api usage: + # More examples of api usage: # https://github.com/canonical-websites/snapcraft.io/blob/master/webapp/publisher/snaps/views.py - rev = "16"; + rev = "30"; deps = [ alsaLib atk + at-spi2-atk cairo cups curl dbus expat - ffmpeg_0_10 + ffmpeg_3 fontconfig freetype gdk_pixbuf glib gtk2 libgcrypt + libnotify libpng nss pango @@ -64,7 +72,7 @@ stdenv.mkDerivation { # https://community.spotify.com/t5/Desktop-Linux/Redistribute-Spotify-on-Linux-Distributions/td-p/1695334 src = fetchurl { url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${rev}.snap"; - sha512 = "45b7ab574b30fb368e0b6f4dd60addbfd1ddc02173b4f98b31c524eed49073432352a361e75959ce8e2f752231e93c79ca1b538c4bd295c935d1e2e0585d147f"; + sha512 = "859730fbc80067f0828f7e13eee9a21b13b749f897a50e17c2da4ee672785cfd79e1af6336e609529d105e040dc40f61b6189524783ac93d49f991c4ea8b3c56"; }; buildInputs = [ squashfsTools makeWrapper ]; @@ -114,6 +122,9 @@ stdenv.mkDerivation { ln -s ${nspr.out}/lib/libnspr4.so $libdir/libnspr4.so ln -s ${nspr.out}/lib/libplc4.so $libdir/libplc4.so + ln -s ${ffmpeg_3.out}/lib/libavcodec.so* $libdir + ln -s ${ffmpeg_3.out}/lib/libavformat.so* $libdir + rpath="$out/share/spotify:$libdir" patchelf \ @@ -125,6 +136,9 @@ stdenv.mkDerivation { --prefix LD_LIBRARY_PATH : "$librarypath" \ --prefix PATH : "${gnome3.zenity}/bin" + # fix Icon line in the desktop file (#48062) + sed -i "s:^Icon=.*:Icon=spotify-client:" "$out/share/spotify/spotify.desktop" + # Desktop file mkdir -p "$out/share/applications/" cp "$out/share/spotify/spotify.desktop" "$out/share/applications/" @@ -144,7 +158,7 @@ stdenv.mkDerivation { homepage = https://www.spotify.com/; description = "Play music from the Spotify music service"; license = licenses.unfree; - maintainers = with maintainers; [ eelco ftrvxmtrx sheenobu mudri ]; + maintainers = with maintainers; [ eelco ftrvxmtrx sheenobu mudri timokau ]; platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/applications/audio/spotify/update.sh b/pkgs/applications/audio/spotify/update.sh old mode 100644 new mode 100755 index 114245f6d46cd9fc0dcce34b66090ef96c453643..a8836214f2fc65a79ecd1d89f2c549af852bf320 --- a/pkgs/applications/audio/spotify/update.sh +++ b/pkgs/applications/audio/spotify/update.sh @@ -1,49 +1,88 @@ -channel="stable" # stable/candidate/edge +#!/usr/bin/env nix-shell +#! nix-shell -i bash -p curl jq git gnused gnugrep + + +# executing this script without arguments will +# - find the newest stable spotify version avaiable on snapcraft (https://snapcraft.io/spotify) +# - read the current spotify version from the current nix expression +# - update the nix expression if the versions differ +# - try to build the updated version, exit if that fails +# - give instructions for upstreaming + +# Please test the update manually before pushing. There have been errors before +# and because the service is proprietary and a paid account is necessary to do +# anything with spotify automatic testing is not possible. + +# As an optional argument you can specify the snapcraft channel to update to. +# Default is `stable` and only stable updates should be pushed to nixpkgs. For +# testing you may specify `candidate` or `edge`. + + +channel="${1:-stable}" # stable/candidate/edge nixpkgs="$(git rev-parse --show-toplevel)" spotify_nix="$nixpkgs/pkgs/applications/audio/spotify/default.nix" +# +# find the newest stable spotify version avaiable on snapcraft +# # create bash array from snap info snap_info=($( - curl -H 'X-Ubuntu-Series: 16' \ - "https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=$channel" \ - | jq --raw-output \ - '.revision,.download_sha512,.version,.last_updated' + curl -s -H 'X-Ubuntu-Series: 16' \ + "https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=$channel" \ + | jq --raw-output \ + '.revision,.download_sha512,.version,.last_updated' )) +# "revision" is the actual version identifier on snapcraft, the "version" is +# just for human consumption. Revision is just an integer that gets increased +# by one every (stable or unstable) release. revision="${snap_info[0]}" sha512="${snap_info[1]}" -version="${snap_info[2]}" +upstream_version="${snap_info[2]}" last_updated="${snap_info[3]}" -# find the last commited version -version_pre=$( - git grep 'version\s*=' HEAD "$spotify_nix" \ - | sed -Ene 's/.*"(.*)".*/\1/p' +echo "Latest $channel release is $upstream_version from $last_updated." + +# +# read the current spotify version from the currently *committed* nix expression +# + +current_nix_version=$( + grep 'version\s*=' "$spotify_nix" \ + | sed -Ene 's/.*"(.*)".*/\1/p' ) -if [[ "$version_pre" = "$version" ]]; then - echo "Spotify is already up ot date" - exit 0 +echo "Current nix version: $current_nix_version" + +# +# update the nix expression if the versions differ +# + +if [[ "$current_nix_version" = "$upstream_version" ]]; then + echo "Spotify is already up-to-date" + exit 0 fi -echo "Updating from ${version_pre} to ${version}, released on ${last_updated}" +echo "Updating from ${current_nix_version} to ${upstream_version}, released on ${last_updated}" -# search-andreplace revision, hash and version +# search-and-replace revision, hash and version sed --regexp-extended \ - -e 's/rev\s*=\s*"[0-9]+"\s*;/rev = "'"${revision}"'";/' \ - -e 's/sha512\s*=\s*".{128}"\s*;/sha512 = "'"${sha512}"'";/' \ - -e 's/version\s*=\s*".*"\s*;/version = "'"${version}"'";/' \ - -i "$spotify_nix" + -e 's/rev\s*=\s*"[0-9]+"\s*;/rev = "'"${revision}"'";/' \ + -e 's/sha512\s*=\s*"[^"]*"\s*;/sha512 = "'"${sha512}"'";/' \ + -e 's/version\s*=\s*".*"\s*;/version = "'"${upstream_version}"'";/' \ + -i "$spotify_nix" + +# +# try to build the updated version +# if ! nix-build -A spotify "$nixpkgs"; then - echo "The updated spotify failed to build." - exit 1 + echo "The updated spotify failed to build." + exit 1 fi +# Commit changes git add "$spotify_nix" -# show diff for review -git diff HEAD -# prepare commit message, but allow edit -git commit --edit --message "spotify: $version_pre -> $version" +git commit -m "spotify: ${current_nix_version} -> ${upstream_version}" diff --git a/pkgs/applications/audio/spotifywm/default.nix b/pkgs/applications/audio/spotifywm/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..64ae9491535aec223f6651dd1cbe8ff54bb478b3 --- /dev/null +++ b/pkgs/applications/audio/spotifywm/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchFromGitHub, spotify, xorg, runtimeShell }: +stdenv.mkDerivation rec { + name = "spotifywm-unstable-${version}"; + version = "2016-11-28"; + + src = fetchFromGitHub { + owner = "dasJ"; + repo = "spotifywm"; + rev = "91dd5532ffb7a398d775abe94fe7781904ab406f"; + sha256 = "01z088i83410bpx1vbp7c6cq01r431v55l7340x3izp53lnpp379"; + }; + + buildInputs = [ xorg.libX11 ]; + + propagatedBuildInputs = [ spotify ]; + + installPhase = '' + echo "#!${runtimeShell}" > spotifywm + echo "LD_PRELOAD="$out/lib/spotifywm.so" ${spotify}/bin/spotify \$*" >> spotifywm + install -Dm644 spotifywm.so $out/lib/spotifywm.so + install -Dm755 spotifywm $out/bin/spotifywm + ''; + + meta = with stdenv.lib; { + homepage = https://github.com/dasJ/spotifywm; + description = "Wrapper around Spotify that correctly sets class name before opening the window"; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ jqueiroz ]; + }; +} diff --git a/pkgs/applications/audio/squeezelite/default.nix b/pkgs/applications/audio/squeezelite/default.nix index 20f6271c7adf75229b65c4f85125fc9d43548e41..3184f89ced9557a17693b796d230d094e6bb12c8 100644 --- a/pkgs/applications/audio/squeezelite/default.nix +++ b/pkgs/applications/audio/squeezelite/default.nix @@ -1,20 +1,26 @@ { stdenv, fetchFromGitHub, alsaLib, faad2, flac, libmad, libvorbis, mpg123 }: stdenv.mkDerivation { - name = "squeezelite-git-2016-05-27"; + name = "squeezelite-git-2018-08-14"; src = fetchFromGitHub { - owner = "ralph-irving"; - repo = "squeezelite"; - rev = "e37ed17fed9e11a7346cbe9f1e1deeccc051f42e"; - sha256 = "15ihx2dbp4kr6k6r50g9q5npqad5zyv8nqf5cr37bhg964syvbdm"; + owner = "ralph-irving"; + repo = "squeezelite"; + rev = "ecb6e3696a42113994640e5345d0b5ca2e77d28b"; + sha256 = "0di3d5qy8fhawijq6bxy524fgffvzl08dprrws0fs2j1a70fs0fh"; }; buildInputs = [ alsaLib faad2 flac libmad libvorbis mpg123 ]; + enableParallelBuilding = true; + installPhase = '' - mkdir -p $out/bin - cp squeezelite $out/bin + runHook preInstall + + install -Dm755 -t $out/bin squeezelite + install -Dm644 -t $out/share/doc/squeezelite *.txt *.md + + runHook postInstall ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/audio/sunvox/default.nix b/pkgs/applications/audio/sunvox/default.nix index 47b0bf2e736cae8d810cba29780ff2bae95c35d8..957ee50ca7ad9655d110c309a37ad248fe3bb4a6 100644 --- a/pkgs/applications/audio/sunvox/default.nix +++ b/pkgs/applications/audio/sunvox/default.nix @@ -13,11 +13,11 @@ let in stdenv.mkDerivation rec { name = "SunVox-${version}"; - version = "1.9.3b"; + version = "1.9.4c"; src = fetchurl { url = "http://www.warmplace.ru/soft/sunvox/sunvox-${version}.zip"; - sha256 = "0k74rcq7niw4p17vj3zp9lpgi932896dmzqv4ln43g0pz7l18c8b"; + sha256 = "19c1a4e28459e31e1a19986f219d4caa4eb2cb5bc9f6aa994abdbb2ebf6ac4ac"; }; buildInputs = [ unzip ]; diff --git a/pkgs/applications/audio/synthv1/default.nix b/pkgs/applications/audio/synthv1/default.nix index 53875389a4c3bf58071b498111445f46b53aed6b..485796946990315c552c1565ae04472236e5b41a 100644 --- a/pkgs/applications/audio/synthv1/default.nix +++ b/pkgs/applications/audio/synthv1/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "synthv1-${version}"; - version = "0.9.0"; + version = "0.9.6"; src = fetchurl { url = "mirror://sourceforge/synthv1/${name}.tar.gz"; - sha256 = "1skynjg6ip0qfbqqkybfjh6xcwxagq89ghl08f7sp7j0sz5qdcwp"; + sha256 = "1hcngk7mxfrqf8v3r759x3wd0p02nc3q83j8m3k58p408y3mx7nr"; }; buildInputs = [ qt5.qtbase qt5.qttools libjack2 alsaLib liblo lv2 ]; @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "An old-school 4-oscillator subtractive polyphonic synthesizer with stereo fx"; - homepage = http://synthv1.sourceforge.net/; + homepage = https://synthv1.sourceforge.io/; license = licenses.gpl2Plus; platforms = platforms.linux; maintainers = [ maintainers.goibhniu ]; diff --git a/pkgs/applications/audio/tambura/default.nix b/pkgs/applications/audio/tambura/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..a739d72898e2d683d001bfb7b699262cea6db884 --- /dev/null +++ b/pkgs/applications/audio/tambura/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }: +stdenv.mkDerivation rec { + pname = "Tambura"; + name = "${pname}-${version}"; + version = "1.0"; + + src = fetchFromGitHub { + owner = "olilarkin"; + repo = "${pname}"; + rev = "v${version}"; + sha256 = "1w80cmiyzca1wirf5gypg3hcix1ky777id8wnd3k92mn1jf4a24y"; + }; + + buildInputs = [ faust2jaqt faust2lv2 ]; + + buildPhase = '' + faust2jaqt -vec -time -t 99999 ${pname}.dsp + faust2lv2 -vec -time -gui -t 99999 ${pname}.dsp + ''; + + installPhase = '' + mkdir -p $out/bin + cp ${pname} $out/bin/ + mkdir -p $out/lib/lv2 + cp -r ${pname}.lv2/ $out/lib/lv2 + ''; + + meta = with stdenv.lib; { + description = "A FAUST patch inspired by the Indian Tambura/Tanpura - a four string drone instrument, known for its unique rich harmonic timbre"; + homepage = https://github.com/olilarkin/Tambura; + license = licenses.gpl2; + maintainers = [ maintainers.magnetophon ]; + }; +} diff --git a/pkgs/applications/audio/tetraproc/default.nix b/pkgs/applications/audio/tetraproc/default.nix index 535d53d99eeb078f0ad8f07b331a16e2e30d67f6..257963de256f1a63f215c547012bef434ad8b0fb 100644 --- a/pkgs/applications/audio/tetraproc/default.nix +++ b/pkgs/applications/audio/tetraproc/default.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { name = "tetraproc-${version}"; - version = "0.8.2"; + version = "0.8.6"; src = fetchurl { url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2"; - sha256 = "17y3vbm5f6h5cmh3yfxjgqz4xhfwpkla3lqfspnbm4ndlzmfpykv"; + sha256 = "02155ljfwgvfgq9z258fb4z7jrz7qx022d054fj5gr0v007cv0r7"; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/audio/timemachine/default.nix b/pkgs/applications/audio/timemachine/default.nix index 8837566b13d09f9d551f2d01a2e95ee4ed42e831..8c7ed20e74822b25366782ff02f8fae8df8f21fb 100644 --- a/pkgs/applications/audio/timemachine/default.nix +++ b/pkgs/applications/audio/timemachine/default.nix @@ -3,13 +3,13 @@ }: stdenv.mkDerivation rec { - name = "timemachine-${version}"; - version = "0.3.1"; + pname = "timemachine"; + version = "0.3.3"; src = fetchFromGitHub { owner = "swh"; repo = "timemachine"; - rev = "1966d8524d4e4c47c525473bab3b010a168adc98"; - sha256 = "0w5alysixnvlkfl79wf7vs5wsw2vgxl3gqxxcm0zbmhjdpmjpcal"; + rev = "v${version}"; + sha256 = "1jsvd29wiqigxyqxl2xjklla11fwyjy68vqivcnlr9f2af4ylym8"; }; nativeBuildInputs = [ pkgconfig ]; @@ -19,6 +19,10 @@ stdenv.mkDerivation rec { preConfigure = "./autogen.sh"; + NIX_LDFLAGS = [ + "-lm" + ]; + meta = { description = "JACK audio recorder"; homepage = http://plugin.org.uk/timemachine/; diff --git a/pkgs/applications/audio/transcribe/default.nix b/pkgs/applications/audio/transcribe/default.nix index 5ec5087b9f26ebc0c7cf303cb57ee4cbd74b9bfd..29021e870afc8983764b46f336b9f0556d32fefa 100644 --- a/pkgs/applications/audio/transcribe/default.nix +++ b/pkgs/applications/audio/transcribe/default.nix @@ -1,33 +1,31 @@ -{ 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, fetchzip, wrapGAppsHook, alsaLib, atk, cairo, gdk_pixbuf +, glib, gst_all_1, gtk3, libSM, libX11, libpng12, pango, zlib }: stdenv.mkDerivation rec { name = "transcribe-${version}"; - version = "8.40"; + version = "8.72"; - src = if stdenv.system == "i686-linux" then + src = if stdenv.hostPlatform.system == "i686-linux" then fetchzip { - url = "https://www.seventhstring.com/xscribe/downlinux32_old/xscsetup.tar.gz"; - sha256 = "1ngidmj9zz8bmv754s5xfsjv7v6xr03vck4kigzq4bpc9b1fdhjq"; + url = "https://www.seventhstring.com/xscribe/downlinux32/xscsetup.tar.gz"; + sha256 = "1h5l7ry9c9awpxfnd29b0wm973ifrhj17xl5d2fdsclw2swsickb"; } - else if stdenv.system == "x86_64-linux" then + else if stdenv.hostPlatform.system == "x86_64-linux" then fetchzip { - url = "https://www.seventhstring.com/xscribe/downlinux64_old/xsc64setup.tar.gz"; - sha256 = "0svzi8svj6zn06gj0hr8mpnhq4416dvb4g5al0gpb1g3paywdaf9"; + url = "https://www.seventhstring.com/xscribe/downlinux64/xsc64setup.tar.gz"; + sha256 = "1rpd3ppnx5i5yrnfbjrx7h7dk48kwl99i9lnpa75ap7nxvbiznm0"; } else throw "Platform not supported"; - nativeBuildInputs = [ makeWrapper ]; + nativeBuildInputs = [ wrapGAppsHook ]; - buildInputs = [ gst-plugins-base gst-plugins-good - gst-plugins-bad gst-plugins-ugly gst-ffmpeg ]; + buildInputs = with gst_all_1; [ gst-plugins-base gst-plugins-good + gst-plugins-bad gst-plugins-ugly ]; dontPatchELF = true; - libPath = lib.makeLibraryPath [ - stdenv.cc.cc glib gtk2 atk pango cairo gdk_pixbuf alsaLib + libPath = with gst_all_1; stdenv.lib.makeLibraryPath [ + stdenv.cc.cc glib gtk3 atk pango cairo gdk_pixbuf alsaLib libX11 libSM libpng12 gstreamer gst-plugins-base zlib ]; @@ -42,13 +40,18 @@ stdenv.mkDerivation rec { 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" \ + preFixup = '' + gappsWrapperArgs+=( + --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH_1_0" --prefix LD_LIBRARY_PATH : "${libPath}" + ) + ''; + postFixup = '' ln -s $out/libexec/transcribe $out/bin/ - ''; + ''; meta = with stdenv.lib; { description = "Software to help transcribe recorded music"; @@ -65,5 +68,6 @@ stdenv.mkDerivation rec { license = licenses.unfree; platforms = platforms.linux; maintainers = with maintainers; [ michalrus ]; + broken = true; }; } diff --git a/pkgs/applications/audio/traverso/default.nix b/pkgs/applications/audio/traverso/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..0c432acf4afe42c6734b074bdfa5e8ff98735741 --- /dev/null +++ b/pkgs/applications/audio/traverso/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchurl, cmake, pkgconfig +, alsaLib, fftw, flac, lame, libjack2, libmad, libpulseaudio +, libsamplerate, libsndfile, libvorbis, portaudio, qtbase, wavpack +}: +stdenv.mkDerivation rec { + name = "traverso-${version}"; + version = "0.49.6"; + + src = fetchurl { + url = "http://traverso-daw.org/traverso-0.49.6.tar.gz"; + sha256 = "12f7x8kw4fw1j0xkwjrp54cy4cv1ql0zwz2ba5arclk4pf6bhl7q"; + }; + + nativeBuildInputs = [ cmake pkgconfig ]; + buildInputs = [ alsaLib fftw flac.dev libjack2 lame + libmad libpulseaudio libsamplerate.dev libsndfile.dev libvorbis + portaudio qtbase wavpack ]; + + cmakeFlags = [ "-DWANT_PORTAUDIO=1" "-DWANT_PULSEAUDIO=1" "-DWANT_MP3_ENCODE=1" "-DWANT_LV2=0" ]; + + enableParallelBuilding = true; + hardeningDisable = [ "format" ]; + + meta = with stdenv.lib; { + description = "Cross-platform multitrack audio recording and audio editing suite"; + homepage = http://traverso-daw.org/; + license = with licenses; [ gpl2Plus lgpl21Plus ]; + platforms = platforms.all; + maintainers = with maintainers; [ coconnor ]; + }; +} diff --git a/pkgs/applications/audio/vcv-rack/default.nix b/pkgs/applications/audio/vcv-rack/default.nix index 74e041868dbc6f243053b74f727ad521841acf9d..27533084804ae4f17effedf5db3ec5312853479c 100644 --- a/pkgs/applications/audio/vcv-rack/default.nix +++ b/pkgs/applications/audio/vcv-rack/default.nix @@ -3,8 +3,9 @@ , libzip, rtaudio, rtmidi, speex }: let - glfw-git = glfw.overrideAttrs (oldAttrs: { - name = "glfw-git-20180529"; + glfw-git = glfw.overrideAttrs (oldAttrs: rec { + name = "glfw-git-${version}"; + version = "unstable-2018-05-29"; src = fetchFromGitHub { owner = "glfw"; repo = "glfw"; diff --git a/pkgs/applications/audio/vimpc/default.nix b/pkgs/applications/audio/vimpc/default.nix index 96a6081c4d8fc84e6fc5a52ae86b46670127bc31..ce561b5db314ecfddd875c7ea8e2f337ed38082e 100644 --- a/pkgs/applications/audio/vimpc/default.nix +++ b/pkgs/applications/audio/vimpc/default.nix @@ -1,19 +1,19 @@ { stdenv, fetchFromGitHub, autoreconfHook, mpd_clientlib, ncurses, pcre, pkgconfig -, taglib }: +, taglib, curl }: stdenv.mkDerivation rec { - version = "0.09.1"; + version = "0.09.2"; name = "vimpc-${version}"; src = fetchFromGitHub { owner = "boysetsfrog"; repo = "vimpc"; rev = "v${version}"; - sha256 = "1495a702df4nja8mlxq98mkbic2zv88sjiinimf9qddrfb38jxk6"; + sha256 = "0lswzkap2nm7v5h7ppb6a64cb35rajysd09nb204rxgrkij4m6nx"; }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; - buildInputs = [ mpd_clientlib ncurses pcre taglib ]; + buildInputs = [ mpd_clientlib ncurses pcre taglib curl ]; postInstall = '' mkdir -p $out/etc diff --git a/pkgs/applications/audio/vocal/default.nix b/pkgs/applications/audio/vocal/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..21522f9487361424f81fe37d65dc1f8afc4a4621 --- /dev/null +++ b/pkgs/applications/audio/vocal/default.nix @@ -0,0 +1,71 @@ +{ stdenv +, fetchFromGitHub +, cmake +, ninja +, pkgconfig +, pantheon +, gtk3 +, glib +, libxml2 +, webkitgtk +, clutter-gtk +, clutter-gst +, libunity +, libnotify +, sqlite +, gst_all_1 +, libsoup +, json-glib +, libgee +, wrapGAppsHook +}: + +stdenv.mkDerivation rec { + pname = "vocal"; + version = "2.4.0"; + + src = fetchFromGitHub { + owner = "needle-and-thread"; + repo = pname; + rev = version; + sha256 = "09g9692rckdwh1i5krqgfwdx4p67b1q5834cnxahxzpq4p08rf5w"; + }; + + nativeBuildInputs = [ + cmake + libxml2 + ninja + pantheon.vala + pkgconfig + wrapGAppsHook + ]; + + buildInputs = with gst_all_1; [ + clutter-gst + clutter-gtk + glib + gst-plugins-base + gst-plugins-good + gstreamer + gtk3 + json-glib + libgee + libnotify + libunity + pantheon.elementary-icon-theme + pantheon.granite + sqlite + webkitgtk + ]; + + meta = with stdenv.lib; { + description = "The podcast client for the modern free desktop"; + longDescription = '' + Vocal is a powerful, fast, and intuitive application that helps users find new podcasts, manage their libraries, and enjoy the best that indepedent audio and video publishing has to offer. Vocal features full support for both episode downloading and streaming, native system integration, iTunes store search and top 100 charts (with international results support), iTunes link parsing, OPML importing and exporting, and so much more. Plus, it has great smart features like automatically keeping your library clean from old files, and the ability to set custom skip intervals. + ''; + homepage = https://github.com/needle-and-thread/vocal; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ worldofpeace ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/audio/whipper/default.nix b/pkgs/applications/audio/whipper/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..382a1a8b2e21756b75060d9aa294f4c540f5cbf1 --- /dev/null +++ b/pkgs/applications/audio/whipper/default.nix @@ -0,0 +1,51 @@ +{ stdenv, fetchFromGitHub, python2, cdparanoia, cdrdao, flac +, sox, accuraterip-checksum, utillinux, substituteAll }: + +python2.pkgs.buildPythonApplication rec { + name = "whipper-${version}"; + version = "0.7.3"; + + src = fetchFromGitHub { + owner = "whipper-team"; + repo = "whipper"; + rev = "v${version}"; + sha256 = "0ypbgc458i7yvbyvg6wg6agz5yzlwm1v6zw7fmyq9h59xsv27mpr"; + }; + + pythonPath = with python2.pkgs; [ + pygobject3 musicbrainzngs urllib3 chardet + pycdio setuptools mutagen CDDB + requests + ]; + + checkInputs = with python2.pkgs; [ + twisted + ]; + + patches = [ + (substituteAll { + src = ./paths.patch; + inherit cdparanoia; + }) + ]; + + makeWrapperArgs = [ + "--prefix" "PATH" ":" "${stdenv.lib.makeBinPath [ accuraterip-checksum cdrdao utillinux flac sox ]}" + ]; + + # some tests require internet access + # https://github.com/JoeLametta/whipper/issues/291 + doCheck = false; + + preCheck = '' + HOME=$TMPDIR + ''; + + meta = with stdenv.lib; { + homepage = https://github.com/whipper-team/whipper; + description = "A CD ripper aiming for accuracy over speed"; + maintainers = with maintainers; [ rycee ]; + license = licenses.gpl3Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/audio/whipper/paths.patch b/pkgs/applications/audio/whipper/paths.patch new file mode 100644 index 0000000000000000000000000000000000000000..14b5384330da8c41f352a08a343e322e46b3d06f --- /dev/null +++ b/pkgs/applications/audio/whipper/paths.patch @@ -0,0 +1,32 @@ +--- a/whipper/program/cdparanoia.py ++++ b/whipper/program/cdparanoia.py +@@ -280,10 +280,10 @@ + + bufsize = 1024 + if self._overread: +- argv = ["cd-paranoia", "--stderr-progress", ++ argv = ["@cdparanoia@/bin/cdparanoia", "--stderr-progress", + "--sample-offset=%d" % self._offset, "--force-overread", ] + else: +- argv = ["cd-paranoia", "--stderr-progress", ++ argv = ["@cdparanoia@/bin/cdparanoia", "--stderr-progress", + "--sample-offset=%d" % self._offset, ] + if self._device: + argv.extend(["--force-cdrom-device", self._device, ]) +@@ -560,7 +560,7 @@ + + def getCdParanoiaVersion(): + getter = common.VersionGetter('cd-paranoia', +- ["cd-paranoia", "-V"], ++ ["@cdparanoia@/bin/cdparanoia", "-V"], + _VERSION_RE, + "%(version)s %(release)s") + +@@ -585,7 +585,7 @@ + def __init__(self, device=None): + # cdparanoia -A *always* writes cdparanoia.log + self.cwd = tempfile.mkdtemp(suffix='.whipper.cache') +- self.command = ['cd-paranoia', '-A'] ++ self.command = ['@cdparanoia@/bin/cdparanoia', '-A'] + if device: + self.command += ['-d', device] diff --git a/pkgs/applications/audio/wolf-shaper/default.nix b/pkgs/applications/audio/wolf-shaper/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..562fdc1be8b6442711ebfa6ee0e790eaec7003cc --- /dev/null +++ b/pkgs/applications/audio/wolf-shaper/default.nix @@ -0,0 +1,47 @@ +{ stdenv, fetchFromGitHub , libjack2, lv2, xorg, liblo, libGL, libXcursor, pkgconfig }: + +stdenv.mkDerivation rec { + name = "wolf-shaper-${version}"; + version = "0.1.6"; + + src = fetchFromGitHub { + owner = "pdesaulniers"; + repo = "wolf-shaper"; + rev = "v${version}"; + sha256 = "01h5dm1nrr0i54ancwznr7wn4vpw08dw0b69v3axy32r5j7plw6s"; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libjack2 lv2 xorg.libX11 liblo libGL libXcursor ]; + + makeFlags = [ + "BUILD_LV2=true" + "BUILD_DSSI=true" + "BUILD_VST2=true" + "BUILD_JACK=true" + ]; + + patchPhase = '' + patchShebangs ./dpf/utils/generate-ttl.sh + ''; + + installPhase = '' + mkdir -p $out/lib/lv2 + mkdir -p $out/lib/dssi + mkdir -p $out/lib/vst + mkdir -p $out/bin/ + cp -r bin/wolf-shaper.lv2 $out/lib/lv2/ + cp -r bin/wolf-shaper-dssi* $out/lib/dssi/ + cp -r bin/wolf-shaper-vst.so $out/lib/vst/ + cp -r bin/wolf-shaper $out/bin/ + ''; + + meta = with stdenv.lib; { + homepage = https://pdesaulniers.github.io/wolf-shaper/; + description = "Waveshaper plugin with spline-based graph editor"; + license = licenses.gpl3; + maintainers = [ maintainers.magnetophon ]; + platforms = [ "i686-linux" "x86_64-linux" ]; + }; +} diff --git a/pkgs/applications/audio/x42-plugins/default.nix b/pkgs/applications/audio/x42-plugins/default.nix index 7c57b884c8eb668507358f9d3d17f7f74af22d4e..7e43225eedc1c79ae9dc11f7bc3e6f4b1d135edd 100644 --- a/pkgs/applications/audio/x42-plugins/default.nix +++ b/pkgs/applications/audio/x42-plugins/default.nix @@ -3,12 +3,12 @@ , libGLU, lv2, gtk2, cairo, pango, fftwFloat, zita-convolver }: stdenv.mkDerivation rec { - version = "20180812"; + version = "20190206"; name = "x42-plugins-${version}"; src = fetchurl { url = "https://gareus.org/misc/x42-plugins/${name}.tar.xz"; - sha256 = "0gzwzxpa2k2w9c6j3pspwi9slfyd57wb192d6yqcg92pfmnxy9dz"; + sha256 = "0rsp8lm8zr20l410whr98d61401rkphgpl8llbn5p2wsiw0q9aqd"; }; nativeBuildInputs = [ pkgconfig ]; @@ -34,6 +34,6 @@ stdenv.mkDerivation rec { homepage = https://github.com/x42/x42-plugins; maintainers = with maintainers; [ magnetophon ]; license = licenses.gpl2; - platforms = platforms.linux; + platforms = [ "i686-linux" "x86_64-linux" ]; }; } diff --git a/pkgs/applications/audio/yoshimi/default.nix b/pkgs/applications/audio/yoshimi/default.nix index 65a3bbfdc01115718b352706a2fafe7efb753018..63bb966e388774db2050de380acfbc76285c7098 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.5.8.2"; + version = "1.5.10.2"; src = fetchurl { url = "mirror://sourceforge/yoshimi/${name}.tar.bz2"; - sha256 = "1kg7d6mnzdwzsqhrf7pmrf1hzgfpbpm5lv8xkaz32wiv391qrnxc"; + sha256 = "1rr99qkq80s8l2iv3x4ccxan07m15dvmd5s9b10386bfjbwbya01"; }; buildInputs = [ diff --git a/pkgs/applications/audio/zita-njbridge/default.nix b/pkgs/applications/audio/zita-njbridge/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..faa90e684aeaaf6eb0b58013b51404aaec16055f --- /dev/null +++ b/pkgs/applications/audio/zita-njbridge/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchurl, libjack2, zita-resampler }: + +stdenv.mkDerivation rec { + version = "0.4.4"; + name = "zita-njbridge-${version}"; + + src = fetchurl { + url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2"; + sha256 = "1l8rszdjhp0gq7mr54sdgfs6y6cmw11ssmqb1v9yrkrz5rmwzg8j"; + }; + + buildInputs = [ libjack2 zita-resampler ]; + + preConfigure = '' + cd ./source/ + ''; + + makeFlags = [ + "PREFIX=$(out)" + "MANDIR=$(out)" + "SUFFIX=''" + ]; + + + meta = with stdenv.lib; { + description = "command line Jack clients to transmit full quality multichannel audio over a local IP network"; + homepage = http://kokkinizita.linuxaudio.org/linuxaudio/index.html; + license = licenses.gpl3; + maintainers = [ maintainers.magnetophon ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/audio/zynaddsubfx/default.nix b/pkgs/applications/audio/zynaddsubfx/default.nix index 1b3429f39d7f8743f973ccc145449c6f99e6acd0..b8cca7c72015b983b91b851ccf979ca041f20c36 100644 --- a/pkgs/applications/audio/zynaddsubfx/default.nix +++ b/pkgs/applications/audio/zynaddsubfx/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { name = "zynaddsubfx-${version}"; - version = "3.0.3"; + version = "3.0.4"; src = fetchurl { url = "mirror://sourceforge/zynaddsubfx/zynaddsubfx-${version}.tar.bz2"; - sha256 = "1hfpiqdm337gl4ynkmmp2qss2m5z8mzqzjrbiyg6w1v4js7l9phi"; + sha256 = "18m4ax0x06y1hx4g2g3gf02v0bldkrrb5m7fsr5jlfp1kvjd2j1x"; }; buildInputs = [ alsaLib cairo libjack2 fftw fltk13 lash libjpeg libXpm minixml ntk zlib liblo ]; diff --git a/pkgs/applications/backup/areca/default.nix b/pkgs/applications/backup/areca/default.nix index 7a7f6f2ac496d18baa68311c16ad3a5d369a552f..a9647b11eeea4f153abea68f7f735cd940381fa2 100644 --- a/pkgs/applications/backup/areca/default.nix +++ b/pkgs/applications/backup/areca/default.nix @@ -21,6 +21,10 @@ stdenv.mkDerivation rec { substituteInPlace bin/areca_run.sh --replace "/usr/java" "${jre}/lib/openjdk" substituteInPlace bin/areca_run.sh --replace "/usr/lib/java/swt.jar" "${swt}/jars/swt.jar" + # Fix for NixOS/nixpkgs/issues/53716 + sed -i -e 's;^;#include ;' jni/com_myJava_file_metadata_posix_jni_wrapper_FileAccessWrapper.c + substituteInPlace jni/com_myJava_file_metadata_posix_jni_wrapper_FileAccessWrapper.c --replace attr/xattr.h sys/xattr.h + sed -i "s#^PROGRAM_DIR.*#PROGRAM_DIR=$out#g" bin/areca_run.sh sed -i "s#^LIBRARY_PATH.*#LIBRARY_PATH=$out/lib:${stdenv.lib.makeLibraryPath [ swt acl ]}#g" bin/areca_run.sh diff --git a/pkgs/applications/backup/crashplan/crashplan-small-business.nix b/pkgs/applications/backup/crashplan/crashplan-small-business.nix index 529b0dbd42b6de74580d39e3feb2d71160cfc862..2016d21c592621eb3c6afc4bf888dc7a1c23b79f 100644 --- a/pkgs/applications/backup/crashplan/crashplan-small-business.nix +++ b/pkgs/applications/backup/crashplan/crashplan-small-business.nix @@ -98,6 +98,6 @@ stdenv.mkDerivation rec { license = licenses.unfree; platforms = [ "x86_64-linux" ]; maintainers = with maintainers; [ xvapx ]; + broken = true; # 2018-12-06 }; - } diff --git a/pkgs/applications/backup/deja-dup/default.nix b/pkgs/applications/backup/deja-dup/default.nix index 797a00f4fc4a42b12b66405a58040cddf522e887..4f8e520cb9f22f7d2430be96575aa626318d872d 100644 --- a/pkgs/applications/backup/deja-dup/default.nix +++ b/pkgs/applications/backup/deja-dup/default.nix @@ -1,17 +1,20 @@ -{ stdenv, fetchurl, substituteAll, meson, ninja, pkgconfig, vala_0_40, gettext +{ stdenv, fetchFromGitLab, substituteAll, meson, ninja, pkgconfig, vala_0_40, gettext , gnome3, libnotify, itstool, glib, gtk3, libxml2 -, coreutils, libsecret, pcre, libxkbcommon, wrapGAppsHook +, coreutils, libpeas, libsecret, pcre, libxkbcommon, wrapGAppsHook , libpthreadstubs, libXdmcp, epoxy, at-spi2-core, dbus, libgpgerror , appstream-glib, desktop-file-utils, duplicity }: stdenv.mkDerivation rec { - name = "deja-dup-${version}"; - version = "38.0"; + pname = "deja-dup"; + version = "38.3"; - src = fetchurl { - url = "https://launchpad.net/deja-dup/${stdenv.lib.versions.major version}/${version}/+download/deja-dup-${version}.tar.xz"; - sha256 = "1l3sa24v0v6xf312h36jikfi8zyx6z3nmc7pjzgdp7l89gkdm65v"; + src = fetchFromGitLab { + domain = "gitlab.gnome.org"; + owner = "World"; + repo = pname; + rev = version; + sha256 = "1bnvmdlm67k1b6115x75j3nl92x5yl4psq5pna2w6cg9npxdd3fa"; }; patches = [ @@ -23,7 +26,7 @@ stdenv.mkDerivation rec { ]; postPatch = '' - substituteInPlace deja-dup/nautilus/NautilusExtension.c --subst-var-by DEJA_DUP_GSETTINGS_PATH $out/share/gsettings-schemas/${name}/glib-2.0/schemas + substituteInPlace deja-dup/nautilus/NautilusExtension.c --subst-var-by DEJA_DUP_GSETTINGS_PATH $out/share/gsettings-schemas/${pname}-${version}/glib-2.0/schemas ''; nativeBuildInputs = [ @@ -32,14 +35,14 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - libnotify gnome3.libpeas glib gtk3 libsecret + libnotify libpeas glib gtk3 libsecret pcre libxkbcommon libpthreadstubs libXdmcp epoxy gnome3.nautilus at-spi2-core dbus gnome3.gnome-online-accounts libgpgerror ]; propagatedUserEnvPkgs = [ duplicity ]; - PKG_CONFIG_LIBNAUTILUS_EXTENSION_EXTENSIONDIR = "lib/nautilus/extensions-3.0"; + PKG_CONFIG_LIBNAUTILUS_EXTENSION_EXTENSIONDIR = "${placeholder "out"}/lib/nautilus/extensions-3.0"; postInstall = '' glib-compile-schemas $out/share/glib-2.0/schemas @@ -57,9 +60,9 @@ stdenv.mkDerivation rec { of backing up the Right Way (encrypted, off-site, and regular) \ and uses duplicity as the backend. ''; - homepage = https://launchpad.net/deja-dup; - license = with licenses; gpl3; + homepage = https://wiki.gnome.org/Apps/DejaDup; + license = licenses.gpl3Plus; maintainers = with maintainers; [ jtojnar joncojonathan ]; - platforms = with platforms; linux; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/backup/vdmfec/default.nix b/pkgs/applications/backup/vdmfec/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..3a480f70d4b7b5d0c995105abaaa432ae89f1f90 --- /dev/null +++ b/pkgs/applications/backup/vdmfec/default.nix @@ -0,0 +1,19 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "vdmfec-${version}"; + version = "1.0"; + + src = fetchurl { + url = "http://members.tripod.com/professor_tom/archives/${name}.tgz"; + sha256 = "0i7q4ylx2xmzzq778anpkj4nqir5gf573n1lbpxnbc10ymsjq2rm"; + }; + + meta = with stdenv.lib; { + description = "A program that adds error correction blocks"; + homepage = "http://members.tripod.com/professor_tom/archives/index.html"; + maintainers = [ maintainers.ar1a ]; + license = with licenses; [ gpl2 /* for vdmfec */ bsd2 /* for fec */ ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/applications/display-managers/lightdm-enso-os-greeter/default.nix b/pkgs/applications/display-managers/lightdm-enso-os-greeter/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..38270a25c9c99b9ec03d13ab7a7fd3327aa81d52 --- /dev/null +++ b/pkgs/applications/display-managers/lightdm-enso-os-greeter/default.nix @@ -0,0 +1,71 @@ +{ stdenv, fetchgit, pkgconfig +, dbus, pcre, epoxy, libXdmcp, at-spi2-core, libxklavier, libxkbcommon, libpthreadstubs +, gtk3, vala, cmake, libgee, libX11, lightdm, gdk_pixbuf, clutter-gtk }: + +stdenv.mkDerivation rec { + version = "0.2.1"; + name = "lightdm-enso-os-greeter-${version}"; + + src = fetchgit { + url = https://github.com/nick92/Enso-OS; + rev = "ed48330bfd986072bd82ac542ed8f8a7365c6427"; + sha256 = "11jm181jq1vbn83h235avpdxz7pqq6prqyzki5yryy53mkj4kgxz"; + }; + + buildInputs = [ + dbus + gtk3 + pcre + vala + cmake + epoxy + libgee + libX11 + lightdm + libXdmcp + gdk_pixbuf + clutter-gtk + libxklavier + at-spi2-core + libxkbcommon + libpthreadstubs + ]; + + nativeBuildInputs = [ + pkgconfig + ]; + + postPatch = '' + sed -i "s@\''${CMAKE_INSTALL_PREFIX}/@@" greeter/CMakeLists.txt + ''; + + preConfigure = '' + cd greeter + ''; + + installFlags = [ + "DESTDIR=$(out)" + ]; + + preFixup = '' + mv $out/usr/* $out + rm -r $out/usr + ''; + + postFixup = '' + rm -r $out/sbin + ''; + + meta = with stdenv.lib; { + description = '' + A fork of pantheon greeter that positions elements in a central and + vertigal manner and adds a blur effect to the background + ''; + homepage = https://github.com/nick92/Enso-OS; + platforms = platforms.linux; + license = licenses.gpl3; + maintainers = with maintainers; [ + eadwu + ]; + }; +} diff --git a/pkgs/applications/display-managers/lightdm-mini-greeter/default.nix b/pkgs/applications/display-managers/lightdm-mini-greeter/default.nix index ef80aa00563fa009c074b372053096f6876c83c4..91446f73507e424abc8635bb9b8e6a82798c1914 100644 --- a/pkgs/applications/display-managers/lightdm-mini-greeter/default.nix +++ b/pkgs/applications/display-managers/lightdm-mini-greeter/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "lightdm-mini-greeter-${version}"; - version = "0.3.2"; + version = "0.3.4"; src = fetchFromGitHub { owner = "prikhi"; repo = "lightdm-mini-greeter"; rev = version; - sha256 = "1g3lrh034w38hiq96b0xmghmlf87hcycwdh06dwkdksr0hl08wxy"; + sha256 = "1qi0bsqi8z2zv3303ww0kd7bciz6qx8na5bkvgrqlwyvq31czai5"; }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { description = "A minimal, configurable, single-user GTK3 LightDM greeter"; homepage = https://github.com/prikhi/lightdm-mini-greeter; license = licenses.gpl3; - maintainers = with maintainers; [ mnacamura ]; + maintainers = with maintainers; [ mnacamura prikhi ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/display-managers/lightdm/default.nix b/pkgs/applications/display-managers/lightdm/default.nix index 4bf81dcdd26ae995428c4daeef9c47889e0cb629..85687090721d7311d167368c446ff1aeb84a5198 100644 --- a/pkgs/applications/display-managers/lightdm/default.nix +++ b/pkgs/applications/display-managers/lightdm/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, pam, pkgconfig, autoconf, automake, libtool, libxcb , glib, libXdmcp, itstool, intltool, libxklavier, libgcrypt, audit, busybox -, polkit, accountsservice, gtk-doc, gnome3, gobjectIntrospection, vala +, polkit, accountsservice, gtk-doc, gnome3, gobject-introspection, vala, fetchpatch , withQt4 ? false, qt4 , withQt5 ? false, qtbase }: @@ -9,15 +9,15 @@ with stdenv.lib; stdenv.mkDerivation rec { pname = "lightdm"; - version = "1.26.0"; + version = "1.28.0"; - name = "${pname}-${version}"; + outputs = [ "out" "dev" ]; src = fetchFromGitHub { owner = "CanonicalLtd"; repo = pname; rev = version; - sha256 = "1mhj6l025cnf2dzxnbzlk0qa9fm4gj2aw58qh5fl4ky87dp4wdyb"; + sha256 = "1mmqy1jdvgc0h0h9gli7n4vdv5p8m5019qjr5ni4h73iz6mjdj2b"; }; nativeBuildInputs = [ @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { automake gnome3.yelp-tools gnome3.yelp-xsl - gobjectIntrospection + gobject-introspection gtk-doc intltool itstool @@ -38,15 +38,22 @@ stdenv.mkDerivation rec { accountsservice audit glib + libXdmcp libgcrypt libxcb - libXdmcp libxklavier pam polkit ] ++ optional withQt4 qt4 ++ optional withQt5 qtbase; + patches = [ + # Adds option to disable writing dmrc files + (fetchpatch { + url = "https://src.fedoraproject.org/rpms/lightdm/raw/4cf0d2bed8d1c68970b0322ccd5dbbbb7a0b12bc/f/lightdm-1.25.1-disable_dmrc.patch"; + sha256 = "06f7iabagrsiws2l75sx2jyljknr9js7ydn151p3qfi104d1541n"; + }) + ]; preConfigure = "NOCONFIGURE=1 ./autogen.sh"; @@ -55,11 +62,12 @@ stdenv.mkDerivation rec { "--sysconfdir=/etc" "--disable-tests" "--disable-static" + "--disable-dmrc" ] ++ optional withQt4 "--enable-liblightdm-qt" ++ optional withQt5 "--enable-liblightdm-qt5"; installFlags = [ - "sysconfdir=\${out}/etc" + "sysconfdir=${placeholder ''out''}/etc" "localstatedir=\${TMPDIR}" ]; @@ -73,8 +81,9 @@ stdenv.mkDerivation rec { meta = { homepage = https://github.com/CanonicalLtd/lightdm; + description = "A cross-desktop display manager"; platforms = platforms.linux; license = licenses.gpl3; - maintainers = with maintainers; [ ocharles wkennington worldofpeace ]; + maintainers = with maintainers; [ ocharles worldofpeace ]; }; } diff --git a/pkgs/applications/display-managers/lightdm/gtk-greeter.nix b/pkgs/applications/display-managers/lightdm/gtk-greeter.nix index 7ae854cee3cc717b49962da06bac43cd2e6583dd..61db182f7446285abdb6331dd07e7225e26d43a5 100644 --- a/pkgs/applications/display-managers/lightdm/gtk-greeter.nix +++ b/pkgs/applications/display-managers/lightdm/gtk-greeter.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, lightdm, pkgconfig, intltool , hicolor-icon-theme, makeWrapper , useGTK2 ? false, gtk2, gtk3 # gtk3 seems better supported -, exo +, exo, at-spi2-core }: #ToDo: bad icons with gtk2; @@ -9,14 +9,14 @@ let ver_branch = "2.0"; - version = "2.0.5"; + version = "2.0.6"; in stdenv.mkDerivation rec { name = "lightdm-gtk-greeter-${version}"; src = fetchurl { url = "${meta.homepage}/${ver_branch}/${version}/+download/${name}.tar.gz"; - sha256 = "1pw70db8320wvkhkrw4i2qprxlrqy3jmb6yrr4bm3lgrizahiijx"; + sha256 = "1pis5qyg95pg31dvnfqq34bzgj00hg4vs547r8h60lxjk81z8p15"; }; nativeBuildInputs = [ pkgconfig ]; @@ -26,13 +26,18 @@ stdenv.mkDerivation rec { configureFlags = [ "--localstatedir=/var" "--sysconfdir=/etc" + "--disable-indicator-services-command" ] ++ stdenv.lib.optional useGTK2 "--with-gtk2"; + preConfigure = '' + configureFlagsArray+=( --enable-at-spi-command="${at-spi2-core}/libexec/at-spi-bus-launcher --launch-immediately" ) + ''; + NIX_CFLAGS_COMPILE = [ "-Wno-error=deprecated-declarations" ]; installFlags = [ "localstatedir=\${TMPDIR}" - "sysconfdir=\${out}/etc" + "sysconfdir=${placeholder "out"}/etc" ]; postInstall = '' @@ -46,6 +51,6 @@ stdenv.mkDerivation rec { homepage = https://launchpad.net/lightdm-gtk-greeter; platforms = platforms.linux; license = licenses.gpl3; - maintainers = with maintainers; [ ocharles wkennington ]; + maintainers = with maintainers; [ ocharles ]; }; } diff --git a/pkgs/applications/display-managers/ly/default.nix b/pkgs/applications/display-managers/ly/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..e8edcc3f634c32b8859978f549c39da02452b491 --- /dev/null +++ b/pkgs/applications/display-managers/ly/default.nix @@ -0,0 +1,29 @@ +{ stdenv, lib, fetchFromGitHub, linux-pam }: + +stdenv.mkDerivation rec { + name = "ly-${version}"; + version = "0.2.1"; + + src = fetchFromGitHub { + owner = "cylgom"; + repo = "ly"; + rev = version; + sha256 = "16gjcrd4a6i4x8q8iwlgdildm7cpdsja8z22pf2izdm6rwfki97d"; + fetchSubmodules = true; + }; + + buildInputs = [ linux-pam ]; + makeFlags = [ "FLAGS=-Wno-error" ]; + + installPhase = '' + mkdir -p $out/bin + cp bin/ly $out/bin + ''; + + meta = with lib; { + description = "TUI display manager"; + license = licenses.wtfpl; + homepage = https://github.com/cylgom/ly; + maintainers = [ maintainers.spacekookie ]; + }; +} diff --git a/pkgs/applications/display-managers/sddm/default.nix b/pkgs/applications/display-managers/sddm/default.nix index c9fd4f9c4ab9a94654c8f0518276db23fc1f26af..b5d32493003d79b4e1b7dc823d8b9038e79c3cf4 100644 --- a/pkgs/applications/display-managers/sddm/default.nix +++ b/pkgs/applications/display-managers/sddm/default.nix @@ -4,7 +4,7 @@ }: let - version = "0.17.0"; + version = "0.18.1"; in mkDerivation rec { name = "sddm-${version}"; @@ -13,12 +13,11 @@ in mkDerivation rec { owner = "sddm"; repo = "sddm"; rev = "v${version}"; - sha256 = "1m35ly6miwy8ivsln3j1bfv0nxbc4gyqnj7f847zzp53jsqrm3mq"; + sha256 = "0an1zafz0yhxd9jgd3gzdwmaw5f9vs4c924q56lp2yxxddbmzjcq"; }; patches = [ ./sddm-ignore-config-mtime.patch - ./qt511.patch ]; postPatch = @@ -42,11 +41,11 @@ in mkDerivation rec { # not supported anyway. "-DUID_MIN=1000" "-DUID_MAX=29999" - ]; - preConfigure = '' - export cmakeFlags="$cmakeFlags -DQT_IMPORTS_DIR=$out/$qtQmlPrefix -DCMAKE_INSTALL_SYSCONFDIR=$out/etc -DSYSTEMD_SYSTEM_UNIT_DIR=$out/lib/systemd/system" - ''; + "-DQT_IMPORTS_DIR=${placeholder "out"}/${qtbase.qtQmlPrefix}" + "-DCMAKE_INSTALL_SYSCONFDIR=${placeholder "out"}/etc" + "-DSYSTEMD_SYSTEM_UNIT_DIR=${placeholder "out"}/lib/systemd/system" + ]; postInstall = '' # remove empty scripts diff --git a/pkgs/applications/display-managers/sddm/qt511.patch b/pkgs/applications/display-managers/sddm/qt511.patch deleted file mode 100644 index 6430e60ed417f02b65ba66b83dabe7fa41b92a3b..0000000000000000000000000000000000000000 --- a/pkgs/applications/display-managers/sddm/qt511.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 005c9ad..71b46d7 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -93,7 +93,7 @@ find_package(XCB REQUIRED) - find_package(XKB REQUIRED) - - # Qt 5 --find_package(Qt5 5.6.0 CONFIG REQUIRED Core DBus Gui Qml Quick LinguistTools) -+find_package(Qt5 5.6.0 CONFIG REQUIRED Core DBus Gui Qml Quick LinguistTools Test) - - # find qt5 imports dir - get_target_property(QMAKE_EXECUTABLE Qt5::qmake LOCATION) -diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt -index c9d935a..bb85ddd 100644 ---- a/test/CMakeLists.txt -+++ b/test/CMakeLists.txt -@@ -2,9 +2,8 @@ set(QT_USE_QTTEST TRUE) - - include_directories(../src/common) - -- - set(ConfigurationTest_SRCS ConfigurationTest.cpp ../src/common/ConfigReader.cpp) - add_executable(ConfigurationTest ${ConfigurationTest_SRCS}) - add_test(NAME Configuration COMMAND ConfigurationTest) - --qt5_use_modules(ConfigurationTest Test) -+target_link_libraries(ConfigurationTest Qt5::Core Qt5::Test) diff --git a/pkgs/applications/editors/android-studio/common.nix b/pkgs/applications/editors/android-studio/common.nix index cd031ce5ac8cb7262d4733734f3c37f43054884e..10d0663578866b6bd529c89723d4c60cd1446164 100644 --- a/pkgs/applications/editors/android-studio/common.nix +++ b/pkgs/applications/editors/android-studio/common.nix @@ -31,9 +31,10 @@ , stdenv , unzip , which -, writeTextFile +, runCommand , xkeyboard_config , zlib +, makeDesktopItem }: let @@ -42,7 +43,7 @@ let name = drvName; src = fetchurl { - url = "https://dl.google.com/dl/android/studio/ide-zips/${version}/android-studio-ide-${build}-linux.zip"; + url = "https://dl.google.com/dl/android/studio/ide-zips/${version}/android-studio-ide-${build}-linux.tar.gz"; sha256 = sha256Hash; }; @@ -113,6 +114,17 @@ let ''; }; + desktopItem = makeDesktopItem { + name = drvName; + exec = pname; + icon = drvName; + desktopName = "Android Studio (${channel} channel)"; + comment = "The official Android IDE"; + categories = "Development;IDE;"; + startupNotify = "true"; + extraEntries="StartupWMClass=jetbrains-studio"; + }; + # Android Studio downloads prebuilt binaries as part of the SDK. These tools # (e.g. `mksdcard`) have `/lib/ld-linux.so.2` set as the interpreter. An FHS # environment is used as a work around for that. @@ -120,18 +132,18 @@ let name = "${drvName}-fhs-env"; multiPkgs = pkgs: [ pkgs.ncurses5 ]; }; - -in - writeTextFile { - name = "${drvName}-wrapper"; - # TODO: Rename preview -> beta (and add -stable suffix?): - destination = "/bin/${pname}"; - executable = true; - text = '' +in runCommand + "${drvName}-wrapper" + { + startScript = '' #!${bash}/bin/bash ${fhsEnv}/bin/${drvName}-fhs-env ${androidStudio}/bin/studio.sh ''; - } // { + preferLocalBuild = true; + allowSubstitutes = false; + passthru = { + unwrapped = androidStudio; + }; meta = with stdenv.lib; { description = "The Official IDE for Android (${channel} channel)"; longDescription = '' @@ -146,3 +158,12 @@ in maintainers = with maintainers; [ primeos ]; }; } + '' + mkdir -p $out/{bin,share/pixmaps} + + echo -n "$startScript" > $out/bin/${pname} + chmod +x $out/bin/${pname} + + ln -s ${androidStudio}/bin/studio.png $out/share/pixmaps/${drvName}.png + ln -s ${desktopItem}/share/applications $out/share/applications + '' diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix index 2ae7d421bba141a9dcc51b6506ed95ad881a5e7b..714daa3649c5a9e7136d193724dc8c89d9c86f2c 100644 --- a/pkgs/applications/editors/android-studio/default.nix +++ b/pkgs/applications/editors/android-studio/default.nix @@ -8,24 +8,17 @@ let inherit (gnome2) GConf gnome_vfs; }; stableVersion = { - version = "3.1.4.0"; # "Android Studio 3.1.4" - build = "173.4907809"; - sha256Hash = "0xx6yprylmcb32ipmwdcfkgddlm1nrxi1w68miclvgrbk015brf2"; - }; - betaVersion = { - version = "3.2.0.22"; # "Android Studio 3.2 Beta 5" - build = "181.4913314"; - sha256Hash = "016nyn1pqviy089hg0dq7m4cqb39fdxdcy4zknkaq7dmgv1dj6x9"; + version = "3.4.0.18"; # "Android Studio 3.4.0" + build = "183.5452501"; + sha256Hash = "0i8wz9v6nxzr27a07cv2330i84v94pcl13gjwvpglp55hyzd8axd"; }; + betaVersion = stableVersion; latestVersion = { # canary & dev - version = "3.3.0.5"; # "Android Studio 3.3 Canary 6" - build = "182.4954005"; - sha256Hash = "0b8ias75f3p5nrmgp7iqz4n4r4dbwhgagqmyc1fqfd36wbglyaf4"; + version = "3.5.0.12"; # "Android Studio 3.5 Canary 13" + build = "191.5487692"; + sha256Hash = "0iwd2qa551rs9b0w4rs7wmzdbh3r4j76xvs815l6i5pilk0s47gz"; }; in rec { - # Old alias - preview = beta; - # Attributes are named by their corresponding release channels stable = mkStudio (stableVersion // { @@ -35,7 +28,7 @@ in rec { beta = mkStudio (betaVersion // { channel = "beta"; - pname = "android-studio-preview"; + pname = "android-studio-beta"; }); dev = mkStudio (latestVersion // { diff --git a/pkgs/applications/editors/aseprite/default.nix b/pkgs/applications/editors/aseprite/default.nix index 429b2430fce29f2746131d1b187f7ca94c07fba0..7af3742349a60f28f467db28ea1d890f36db0ed3 100644 --- a/pkgs/applications/editors/aseprite/default.nix +++ b/pkgs/applications/editors/aseprite/default.nix @@ -1,5 +1,5 @@ -{ stdenv, lib, fetchFromGitHub, cmake, pkgconfig -, curl, freetype, giflib, libjpeg, libpng, libwebp, pixman, tinyxml, zlib +{ stdenv, lib, fetchFromGitHub, fetchpatch, cmake, pkgconfig +, curl, freetype, giflib, harfbuzz, libjpeg, libpng, libwebp, pixman, tinyxml, zlib , libX11, libXext, libXcursor, libXxf86vm , unfree ? false , cmark @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { name = "aseprite-${version}"; - version = if unfree then "1.2.4" else "1.1.7"; + version = if unfree then "1.2.9" else "1.1.7"; src = fetchFromGitHub { owner = "aseprite"; @@ -19,16 +19,27 @@ stdenv.mkDerivation rec { rev = "v${version}"; fetchSubmodules = true; sha256 = if unfree - then "1rnf4a8vgddz8x55rpqaihlxmqip1kgpdhqb4d3l71h1zmidg5k3" + then "0a9xk163j0984n8nn6pqf27n83gr6w7g25wkiv591zx88pa6cpbd" else "0gd49lns2bpzbkwax5jf9x1xmg1j8ij997kcxr2596cwiswnw4di"; }; nativeBuildInputs = [ cmake pkgconfig ]; buildInputs = [ - curl freetype giflib libjpeg libpng libwebp pixman tinyxml zlib + curl freetype giflib harfbuzz libjpeg libpng libwebp pixman tinyxml zlib libX11 libXext libXcursor libXxf86vm - ] ++ lib.optionals unfree [ cmark ]; + ] ++ lib.optionals unfree [ cmark harfbuzz ]; + + patches = lib.optionals unfree [ + (fetchpatch { + url = "https://github.com/aseprite/aseprite/commit/cfb4dac6feef1f39e161c23c886055a8f9acfd0d.patch"; + sha256 = "1qhjfpngg8b1vvb9w26lhjjfamfx57ih0p31km3r5l96nm85l7f9"; + }) + (fetchpatch { + url = "https://github.com/orivej/aseprite/commit/ea87e65b357ad0bd65467af5529183b5a48a8c17.patch"; + sha256 = "1vwn8ivap1pzdh444sdvvkndp55iz146nhmd80xbm8cyzn3qmg91"; + }) + ]; postPatch = '' sed -i src/config.h -e "s-\\(#define VERSION\\) .*-\\1 \"$version\"-" @@ -49,6 +60,7 @@ stdenv.mkDerivation rec { "-DWITH_WEBP_SUPPORT=ON" ] ++ lib.optionals unfree [ "-DUSE_SHARED_CMARK=ON" + "-DUSE_SHARED_HARFBUZZ=ON" # Aseprite needs internal freetype headers. "-DUSE_SHARED_FREETYPE=OFF" # Disable libarchive programs. diff --git a/pkgs/applications/editors/atom/default.nix b/pkgs/applications/editors/atom/default.nix index bc3f8baf51087f13f2f3149e9f2cfcbae052f379..bc791d63d24bc294b3c36877469a04d1b7f810cf 100644 --- a/pkgs/applications/editors/atom/default.nix +++ b/pkgs/applications/editors/atom/default.nix @@ -1,6 +1,19 @@ { stdenv, pkgs, fetchurl, makeWrapper, wrapGAppsHook, gvfs, gtk3, atomEnv }: let + versions = { + atom = { + version = "1.36.1"; + sha256 = "1m7q2r3zx463k7kpqb364piqrr69wrhs033ibzxdx9y7r4204qp4"; + }; + + atom-beta = { + version = "1.37.0"; + beta = 0; + sha256 = "0aq8r5vfgq7r31qajjgcg4n5a57a2m8fvq6fzy9vq5gawkvmaxxx"; + }; + }; + common = pname: {version, sha256, beta ? null}: let fullVersion = version + stdenv.lib.optionalString (beta != null) "-beta${toString beta}"; name = "${pname}-${fullVersion}"; @@ -31,8 +44,7 @@ let buildCommand = '' mkdir -p $out/usr/ ar p $src data.tar.xz | tar -C $out -xJ ./usr - substituteInPlace $out/usr/share/applications/${pname}.desktop \ - --replace /usr/share/${pname} $out/bin + sed -i -e "s|Exec=.*$|Exec=$out/bin/${pname}|" $out/usr/share/applications/${pname}.desktop mv $out/usr/* $out/ rm -r $out/share/lintian rm -r $out/usr/ @@ -58,28 +70,14 @@ let ln -s ${pkgs.git}/bin/git $dugite/git/libexec/git-core/git find $share -name "*.node" -exec patchelf --set-rpath "${atomEnv.libPath}:$share" {} \; - - paxmark m $share/atom - paxmark m $share/resources/app/apm/bin/node ''; meta = with stdenv.lib; { description = "A hackable text editor for the 21st Century"; homepage = https://atom.io/; license = licenses.mit; - maintainers = with maintainers; [ offline nequissimus synthetica ysndr ]; + maintainers = with maintainers; [ offline nequissimus ysndr ]; platforms = platforms.x86_64; }; }; -in stdenv.lib.mapAttrs common { - atom = { - version = "1.29.0"; - sha256 = "0f0qpn8aw2qlqk8ah71xvk4vcmwsnsf2f3g4hz0rvaqnhb9ri9fz"; - }; - - atom-beta = { - version = "1.30.0"; - beta = 1; - sha256 = "0ygqj81xlwhzmmci0d0rd2q7xfskxd1k7h6db3zvvjdxjcnyqp1z"; - }; -} +in stdenv.lib.mapAttrs common versions diff --git a/pkgs/applications/editors/bluefish/default.nix b/pkgs/applications/editors/bluefish/default.nix index 1c2e3a4257827914ea0035f928812eddf6ccdf70..f78f7fbf91487a1b6831f06c4fc5ed744de9d561 100644 --- a/pkgs/applications/editors/bluefish/default.nix +++ b/pkgs/applications/editors/bluefish/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ intltool pkgconfig wrapGAppsHook ]; - buildInputs = [ gnome3.defaultIconTheme gtk libxml2 + buildInputs = [ gnome3.adwaita-icon-theme gtk libxml2 enchant gucharmap python ]; meta = with stdenv.lib; { diff --git a/pkgs/applications/editors/brackets/default.nix b/pkgs/applications/editors/brackets/default.nix index 1065564f7b4c3bbb691599577ddc2bfc111580aa..ce9f10f39c4131a41fd4de863481a0e12534031b 100644 --- a/pkgs/applications/editors/brackets/default.nix +++ b/pkgs/applications/editors/brackets/default.nix @@ -1,10 +1,10 @@ { stdenv, fetchurl, gtk2, glib, gdk_pixbuf, alsaLib, nss, nspr, gconf -, cups, libgcrypt_1_5, systemd, dbus }: +, cups, libgcrypt_1_5, systemd, dbus, libXdamage, expat }: with stdenv.lib; let bracketsLibs = makeLibraryPath [ - gtk2 glib gdk_pixbuf stdenv.cc.cc.lib alsaLib nss nspr gconf cups libgcrypt_1_5 dbus systemd + gtk2 glib gdk_pixbuf stdenv.cc.cc.lib alsaLib nss nspr gconf cups libgcrypt_1_5 dbus systemd libXdamage expat ]; in stdenv.mkDerivation rec { diff --git a/pkgs/applications/editors/bvi/default.nix b/pkgs/applications/editors/bvi/default.nix index f3f44f769a99fab205e858899d2db2698ba5f9bb..f5e14ff1e096da1808421228d82977c7eb5fdd2d 100644 --- a/pkgs/applications/editors/bvi/default.nix +++ b/pkgs/applications/editors/bvi/default.nix @@ -16,6 +16,6 @@ stdenv.mkDerivation rec { homepage = http://bvi.sourceforge.net/download.html; license = licenses.gpl2; maintainers = with maintainers; [ pSub ]; - platforms = platforms.linux; + platforms = with platforms; linux ++ darwin; }; } diff --git a/pkgs/applications/editors/dhex/default.nix b/pkgs/applications/editors/dhex/default.nix index ff9ec73a2ef6229d8f41c12601be291f72e77b48..f4581c4beceb1153a8d5542db038916332d3769e 100644 --- a/pkgs/applications/editors/dhex/default.nix +++ b/pkgs/applications/editors/dhex/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "dhex-${version}"; - version = "0.68"; + version = "0.69"; src = fetchurl { url = "http://www.dettus.net/dhex/dhex_${version}.tar.gz"; - sha256 = "126c34745b48a07448cfe36fe5913d37ec562ad72d3f732b99bd40f761f4da08"; + sha256 = "06y4lrp29f2fh303ijk1xhspa1d4x4dm6hnyw3dd8szi3k6hnwsj"; }; buildInputs = [ ncurses ]; diff --git a/pkgs/applications/editors/dit/default.nix b/pkgs/applications/editors/dit/default.nix index 33d80a577dbef6ae29e9122fbf4ec67a1acd9c45..12ca7a071406f0759b1eddf9cfc0b18deb87841d 100644 --- a/pkgs/applications/editors/dit/default.nix +++ b/pkgs/applications/editors/dit/default.nix @@ -1,22 +1,20 @@ -{ fetchurl, stdenv, coreutils, ncurses, lua }: +{ lib, fetchurl, stdenv, libiconv, ncurses, lua }: stdenv.mkDerivation rec { name = "dit-${version}"; - version = "0.4"; + version = "0.5"; src = fetchurl { url = "https://hisham.hm/dit/releases/${version}/${name}.tar.gz"; - sha256 = "0bwczbv7annbbpg7bgbsqd5kwypn81sza4v7v99fin94wwmcn784"; + sha256 = "05vhr1gl3bb5fg49v84xhmjaqdjw6djampvylw10ydvbpnpvjvjc"; }; - buildInputs = [ coreutils ncurses lua ]; + buildInputs = [ ncurses lua ] + ++ lib.optional stdenv.isDarwin libiconv; + # fix paths prePatch = '' patchShebangs tools/GenHeaders - ''; - - # needs GNU tail for tail -r - postPatch = '' substituteInPlace Prototypes.h --replace 'tail' "$(type -P tail)" ''; diff --git a/pkgs/applications/editors/eclipse/build-eclipse.nix b/pkgs/applications/editors/eclipse/build-eclipse.nix index a26d380ec1dff60fb85da8dbbad9d6b852b917f2..6ae9eb078e2623269042b1dd015d857c6b01f244 100644 --- a/pkgs/applications/editors/eclipse/build-eclipse.nix +++ b/pkgs/applications/editors/eclipse/build-eclipse.nix @@ -2,7 +2,7 @@ , zlib, jdk, glib, gtk3, libXtst, gsettings-desktop-schemas, webkitgtk , makeWrapper, ... }: -{ name, src ? builtins.getAttr stdenv.system sources, sources ? null, description }: +{ name, src ? builtins.getAttr stdenv.hostPlatform.system sources, sources ? null, description }: stdenv.mkDerivation rec { inherit name src; @@ -55,6 +55,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.eclipse.org/; inherit description; + platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix index c719c7b2da1aa430c39c654be96c0eff0475845c..3fa46fc4d927c6dfbc548ebdfd162653e516170f 100644 --- a/pkgs/applications/editors/eclipse/default.nix +++ b/pkgs/applications/editors/eclipse/default.nix @@ -11,7 +11,14 @@ assert stdenv ? glibc; # http://download.eclipse.org/eclipse/downloads/ is the main place to # find the downloads needed for new versions -rec { +let + platform_major = "4"; + platform_minor = "10"; + year = "2018"; + month = "12"; + timestamp = "201812060815"; + +in rec { buildEclipse = import ./build-eclipse.nix { inherit stdenv makeDesktopItem freetype fontconfig libX11 libXrender zlib @@ -21,137 +28,47 @@ rec { ### Eclipse CPP - eclipse-cpp = eclipse-cpp-47; # always point to latest - - eclipse-cpp-47 = buildEclipse { - name = "eclipse-cpp-4.7.0"; + eclipse-cpp = buildEclipse { + name = "eclipse-cpp-${platform_major}.${platform_minor}"; description = "Eclipse IDE for C/C++ Developers, Oxygen release"; src = - if stdenv.system == "x86_64-linux" then - fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/oxygen/R/eclipse-cpp-oxygen-R-linux-gtk-x86_64.tar.gz; - sha512 = "813c791e739d7d0e2ab242a5bacadca135bbeee20ef97aa830353cd90f63fa6e9c89cfcc6aadf635c742befe035bd6e3f15103013f63c419f6144e86ebde3ed1"; - } - else if stdenv.system == "i686-linux" then - fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/oxygen/R/eclipse-cpp-oxygen-R-linux-gtk.tar.gz; - sha512 = "2b50f4a00306a89cda1aaaa606e62285cacbf93464a9dd3f3319dca3e2c578b802e685de6f78e5e617d269e21271188effe73d41f491a6de946e28795d82db8a"; - } - else throw "Unsupported system: ${stdenv.system}"; - }; - - eclipse-cpp-37 = buildEclipse { - name = "eclipse-cpp-3.7"; - description = "Eclipse IDE for C/C++ Developers"; - src = - if stdenv.system == "x86_64-linux" then - fetchurl { - 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 = 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"; - }; + fetchurl { + url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-cpp-${year}-${month}-R-linux-gtk-x86_64.tar.gz"; + sha512 = "1f5yr7cydz4iw8c14yn713d44f1g1wkiqiwmb4ikdfx4l70rc5xxsdxv9b4mhm89b02cqnxdh9p5hivkssmnzg0km3ab5bx9mvzgzx7"; + }; }; - eclipse_cpp_37 = eclipse-cpp-37; # backward compatibility, added 2016-01-30 ### Eclipse Modeling - eclipse-modeling = eclipse-modeling-47; # always point to latest - - eclipse-modeling-47 = buildEclipse { - name = "eclipse-modeling-4.7"; + eclipse-modeling = buildEclipse { + name = "eclipse-modeling-${platform_major}.${platform_minor}"; description = "Eclipse Modeling Tools"; src = - if stdenv.system == "x86_64-linux" then - fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/oxygen/R/eclipse-modeling-oxygen-R-linux-gtk-x86_64.tar.gz; - sha512 = "3b9a7ad4b5d6b77fbdd64e8d323e0adb6c2904763ad042b374b4d87cef8607408cb407e395870fc755d58c0c800e20818adcf456ebe193d76cede16c5fe12271"; - } - else - fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/oxygen/R/eclipse-modeling-oxygen-R-linux-gtk.tar.gz; - sha512 = "b8597c1dec117e69c72a5e1a53e09b1f81a7c9de86ed7e71a9d007664603202df301745f186ded02b2e76410345863e80a2ba40867d6848e5375601289999206"; - }; - }; - - 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 = 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 = 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"; - }; + fetchurl { + url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-modeling-${year}-${month}-R-linux-gtk-x86_64.tar.gz"; + sha512 = "18psh1lgqg21dmndyc0yr6rz7piqyk861j9mlhgv9xaq8nz11fb6lil594sk64yyv0qbgi98vp03f1p06zvhgs37k9rjkfjmzl7n97k"; + }; }; - eclipse_modeling_36 = eclipse-modeling-36; # backward compatibility, added 2016-01-30 ### Eclipse Platform - eclipse-platform = eclipse-platform-48; # always point to latest - - eclipse-platform-46 = buildEclipse { - 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.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.2-201611241400/eclipse-platform-4.6.2-linux-gtk.tar.gz; - sha256 = "0274g6ypiqsqkch10868ygbm6avc5pa57saz9wd196kdivl1bdpm"; - }; - }; - }; - - eclipse-platform-47 = buildEclipse { - name = "eclipse-platform-4.7.3a"; - description = "Eclipse Platform Oxygen"; - sources = { - "x86_64-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.7.3a-201803300640/eclipse-platform-4.7.3a-linux-gtk-x86_64.tar.gz; - sha512 = "caf86cd6efaf66258c75434f1adf552587a7395d57dba4cfd20f86196308cf942866d931f4b352f9d39a6fbf14444fcd2167e6bfd146a28c96c229bb9988156a"; - }; - "i686-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.7.3a-201803300640/eclipse-platform-4.7.3a-linux-gtk.tar.gz; - sha512 = "c633da467774e4ab40f8d51d07b8e7d8403f26f23365c3c3ceeaeec1039b8c23c7508cee1f786bf52db64c7b84e0f91cb31a2848a74ac8271f8504934407bd5c"; - }; - }; - }; - - eclipse-platform-48 = buildEclipse { - name = "eclipse-platform-4.8"; - description = "Eclipse Platform Photon"; - sources = { - "x86_64-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.8-201806110500/eclipse-platform-4.8-linux-gtk-x86_64.tar.gz; - sha512 = "ccce2b954938479e42ef3f9b78f74b24ae4cae7499546fa4f9a55ec1849e1acfd06315d4529b11474a8b3d1142c9409c581edfa571baaf1342ab062f02467af2"; - }; - "i686-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.8-201806110500/eclipse-platform-4.8-linux-gtk.tar.gz; - sha512 = "f5f407727e22b848931cf38f71b1a0c30a9778aa227c3df137dcceec2fba2ecc309cbfa8b4a660b814d2edb60f65110381497b4325781cab4d6402784139e32b"; - }; - }; + eclipse-platform = buildEclipse { + name = "eclipse-platform-${platform_major}.${platform_minor}"; + description = "Eclipse Platform ${year}-${month}"; + src = + fetchurl { + url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-platform-${platform_major}.${platform_minor}-linux-gtk-x86_64.tar.gz"; + sha512 = "2zdvbjk05a00lbcad9v30rcr93j03d2pycdhpwrvrakr8z4yrxs6svamq9s294ry1w3lw04pgsnqklw6zjx6iil1kp51f374lkfpxn7"; + }; }; ### Eclipse Scala SDK - eclipse-scala-sdk = eclipse-scala-sdk-441; # always point to latest - - eclipse-scala-sdk-441 = buildEclipse { + eclipse-scala-sdk = buildEclipse { name = "eclipse-scala-sdk-4.4.1"; description = "Eclipse IDE for Scala Developers"; src = - if stdenv.system == "x86_64-linux" then + if stdenv.hostPlatform.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"; @@ -165,68 +82,27 @@ rec { ### Eclipse SDK - eclipse-sdk = eclipse-sdk-48; # always point to latest - - 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-47 = buildEclipse { - name = "eclipse-sdk-4.7.3a"; - description = "Eclipse Oxygen Classic"; - sources = { - "x86_64-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.7.3a-201803300640/eclipse-SDK-4.7.3a-linux-gtk-x86_64.tar.gz; - sha512 = "d77e42aca16d26526cef32e363d038258bb8a4616d9dbe6e76dd3656dc2217369436390a82555bde4566bbbdb631813bbaca08602f7bb885cb30e8a26a14873f"; - }; - "i686-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.7.3a-201803300640/eclipse-SDK-4.7.3a-linux-gtk.tar.gz; - sha512 = "b0b936fd4142ae86ec5c30535cd5e4caf6fe313d814ae5b16f300635e4163a79b748b1eee11792a135114f2265678a74821ec80c2bfd69872769b6d0ccbcde3a"; - }; - }; + eclipse-sdk = buildEclipse { + name = "eclipse-sdk-${platform_major}.${platform_minor}"; + description = "Eclipse ${year}-${month} Classic"; + src = + fetchurl { + url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-SDK-${platform_major}.${platform_minor}-linux-gtk-x86_64.tar.gz"; + sha512 = "1kq14vhzcngfhl8kjs722rshny81gxv6wcgln46x7lnpg2274sb9dprhns62fpq97l0355cmg8mnny6fsd1nqibrw09xq932v86cfm8"; + }; }; - eclipse-sdk-48 = buildEclipse { - name = "eclipse-sdk-4.8"; - description = "Eclipse Photon Classic"; - sources = { - "x86_64-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.8-201806110500/eclipse-SDK-4.8-linux-gtk-x86_64.tar.gz; - sha512 = "357ea9e7f426c68ced693f1c7b76eae23f9e3c7893de1f12d17994ec17b447896b5daa7292d5fbf6d9c4e5b7fd637ca5b2a6ba8ce40a2a7c2fe06f2124d31b75"; - }; - "i686-linux" = fetchurl { - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.8-201806110500/eclipse-SDK-4.8-linux-gtk.tar.gz; - sha512 = "c7cae7baa3978d48477090bb9941e85b4c7484021ece9c5c77a7e859e57e5c1f13556262f92b561cfb11f828b934bad7a6018be7b8fd9454e3991e8d5cae9917"; - }; - }; - }; + ### Eclipse Java - 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-java = buildEclipse { + name = "eclipse-java-${platform_major}.${platform_minor}"; + description = "Eclipse IDE for Java Developers"; + src = + fetchurl { + url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-java-${year}-${month}-R-linux-gtk-x86_64.tar.gz"; + sha512 = "2xd5q7kg3aly7jnz2fijn06ljmnnd7ggwwzmndfhqwfzxpyjg1lnlln76pcd6chx7gnwdrl7khg0fs566ddabfjv17c46dj5fpw9y6j"; + }; }; - eclipse_sdk_37 = eclipse-sdk-37; # backward compatibility, added 2016-01-30 ### Environments diff --git a/pkgs/applications/editors/eclipse/plugins.nix b/pkgs/applications/editors/eclipse/plugins.nix index 84371d1524938fe49f5a5d6b79c6a16c2f207388..b75324ee1ee6078775750ba6e426b2cf486b410e 100644 --- a/pkgs/applications/editors/eclipse/plugins.nix +++ b/pkgs/applications/editors/eclipse/plugins.nix @@ -141,7 +141,7 @@ rec { name = "antlr-runtime-4.5.3"; src = fetchurl { - url = "http://www.antlr.org/download/${name}.jar"; + url = "https://www.antlr.org/download/${name}.jar"; sha256 = "0lm78i2annlczlc2cg5xvby0g1dyl0sh1y5xc2pymjlmr67a1g4k"; }; @@ -153,7 +153,7 @@ rec { meta = with stdenv.lib; { description = "A powerful parser generator for processing structured text or binary files"; - homepage = http://www.antlr.org/; + homepage = https://www.antlr.org/; license = licenses.bsd3; platforms = platforms.all; maintainers = [ maintainers.rycee ]; @@ -164,7 +164,7 @@ rec { name = "antlr-runtime-4.7.1"; src = fetchurl { - url = "http://www.antlr.org/download/${name}.jar"; + url = "https://www.antlr.org/download/${name}.jar"; sha256 = "07f91mjclacrvkl8a307w2abq5wcqp0gcsnh0jg90ddfpqcnsla3"; }; @@ -176,7 +176,7 @@ rec { meta = with stdenv.lib; { description = "A powerful parser generator for processing structured text or binary files"; - homepage = http://www.antlr.org/; + homepage = https://www.antlr.org/; license = licenses.bsd3; platforms = platforms.all; maintainers = [ maintainers.rycee ]; @@ -254,12 +254,12 @@ rec { cdt = buildEclipseUpdateSite rec { name = "cdt-${version}"; - version = "9.0.1"; + version = "9.6.0"; src = fetchzip { stripRoot = false; - url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/tools/cdt/releases/9.0/${name}.zip"; - sha256 = "0vdx0j9ci533wnk7y17qjvjyqx38hlrdw67z6pi05vfv3r6ys39x"; + url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/tools/cdt/releases/9.6/${name}/${name}.zip"; + sha256 = "08rk3b1va57jcy4s161fx0xmb8dn47akhhxd2f28hspq6i2jqicm"; }; meta = with stdenv.lib; { @@ -282,7 +282,7 @@ rec { }; meta = with stdenv.lib; { - homepage = http://eclipse-cs.sourceforge.net/; + homepage = https://eclipse-cs.sourceforge.net/; description = "Checkstyle integration into the Eclipse IDE"; license = licenses.lgpl21; platforms = platforms.all; @@ -346,6 +346,33 @@ rec { }; }; + drools = buildEclipseUpdateSite rec { + name = "drools-${version}"; + version = "7.17.0.Final"; + + src = fetchzip { + url = "https://download.jboss.org/drools/release/${version}/droolsjbpm-tools-distribution-${version}.zip"; + sha512 = "2qzc1iszqfrfnw8xip78n3kp6hlwrvrr708vlmdk7nv525xhs0ssjaxriqdhcr0s6jripmmazxivv3763rnk2bfkh31hmbnckpx4r3m"; + extraPostFetch = '' + # work around https://github.com/NixOS/nixpkgs/issues/38649 + chmod go-w $out; + + # update site is a couple levels deep, alongside some other irrelevant stuff + cd $out; + find . -type f -not -path ./binaries/org.drools.updatesite/\* -exec rm {} \; + rmdir sources; + mv binaries/org.drools.updatesite/* .; + rmdir binaries/org.drools.updatesite binaries; + ''; + }; + + meta = with stdenv.lib; { + homepage = https://www.drools.org/; + description = "Drools is a Business Rules Management System (BRMS) solution"; + license = licenses.asl20; + }; + }; + eclemma = buildEclipseUpdateSite rec { name = "eclemma-${version}"; version = "2.3.2.201409141915"; @@ -357,7 +384,7 @@ rec { }; meta = with stdenv.lib; { - homepage = http://www.eclemma.org/; + homepage = https://www.eclemma.org/; description = "EclEmma is a free Java code coverage tool for Eclipse"; license = licenses.epl10; platforms = platforms.all; @@ -470,12 +497,12 @@ rec { jdt = buildEclipseUpdateSite rec { name = "jdt-${version}"; - version = "4.8"; + version = "4.10"; src = fetchzip { stripRoot = false; - url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.8-201806110500/org.eclipse.jdt-4.8.zip; - sha256 = "1my0d1114mx5gzxmwqlx0rcny39ly97ixlwx53ljk6qcryhdnr88"; + url = https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.10-201812060815/org.eclipse.jdt-4.10.zip; + sha256 = "1h11w3zd6xy5w4sk6xnyb2a27wxwhp83qfx67ji7bzdrwbvljqkz"; }; meta = with stdenv.lib; { @@ -555,12 +582,12 @@ rec { spotbugs = buildEclipseUpdateSite rec { name = "spotbugs-${version}"; - version = "3.1.6"; + version = "3.1.11"; src = fetchzip { stripRoot = false; url = "https://github.com/spotbugs/spotbugs/releases/download/${version}/eclipsePlugin.zip"; - sha256 = "1qsams12n64slp00nfc9v943sy9bzffzm7anqqaz2hjw64iia7fh"; + sha256 = "0aanqwx3gy1arpbkqd846381hiy6272lzwhfjl94x8jhfykpqqbj"; }; meta = with stdenv.lib; { @@ -587,7 +614,7 @@ rec { }; meta = with stdenv.lib; { - homepage = http://testng.org/; + homepage = https://testng.org/doc/; description = "Eclipse plugin for the TestNG testing framework"; license = licenses.asl20; platforms = platforms.all; diff --git a/pkgs/applications/editors/ed/default.nix b/pkgs/applications/editors/ed/default.nix index 832dc3c0e799734a203e3db513baaf03f5085027..90a7eeffb0479d575acc62f99ea73c3dc54a207f 100644 --- a/pkgs/applications/editors/ed/default.nix +++ b/pkgs/applications/editors/ed/default.nix @@ -1,14 +1,13 @@ { stdenv, fetchurl, lzip -, buildPlatform, hostPlatform }: stdenv.mkDerivation (rec { name = "ed-${version}"; - version = "1.14.2"; + version = "1.15"; src = fetchurl { url = "mirror://gnu/ed/${name}.tar.lz"; - sha256 = "1nqhk3n1s1p77g2bjnj55acicsrlyb2yasqxqwpx0w0djfx64ygm"; + sha256 = "0x6ivy5k0d7dy5z9g8q8nipr89m4qbk2ink2898qq43smp08ji5d"; }; nativeBuildInputs = [ lzip ]; @@ -31,12 +30,12 @@ stdenv.mkDerivation (rec { license = stdenv.lib.licenses.gpl3Plus; - homepage = http://www.gnu.org/software/ed/; + homepage = https://www.gnu.org/software/ed/; maintainers = [ ]; platforms = stdenv.lib.platforms.unix; }; -} // stdenv.lib.optionalAttrs (hostPlatform != buildPlatform) { +} // stdenv.lib.optionalAttrs (stdenv.hostPlatform != stdenv.buildPlatform) { # This may be moved above during a stdenv rebuild. preConfigure = '' configureFlagsArray+=("CC=$CC") diff --git a/pkgs/applications/editors/edbrowse/default.nix b/pkgs/applications/editors/edbrowse/default.nix index 28775e48e1a7f1ac50c96395acd0460890a39306..0b6e28434f56458a5812a3c11641d532c1febdf0 100644 --- a/pkgs/applications/editors/edbrowse/default.nix +++ b/pkgs/applications/editors/edbrowse/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, duktape, curl, pcre, readline, openssl, perl, html-tidy }: +{ stdenv, fetchFromGitHub, fetchpatch, duktape, curl, pcre, readline, openssl, perl, html-tidy }: stdenv.mkDerivation rec { name = "edbrowse-${version}"; @@ -6,7 +6,15 @@ stdenv.mkDerivation rec { buildInputs = [ curl pcre readline openssl duktape perl html-tidy ]; - patchPhase = '' + patches = [ + # Fix build against recent libcurl + (fetchpatch { + url = https://github.com/CMB/edbrowse/commit/5d2b9e21fdf019f461ebe62738d615428d5db963.diff; + sha256 = "167q8n0syj3iv6lxrbpv4kvb63j4byj4qxrxayy08bah3pss3gky"; + }) + ]; + + postPatch = '' for i in ./tools/*.pl do substituteInPlace $i --replace "/usr/bin/perl" "${perl}/bin/perl" diff --git a/pkgs/applications/editors/emacs-modes/bbdb/3.nix b/pkgs/applications/editors/emacs-modes/bbdb/3.nix index 44116fbac0c1d96028eee080816345827f8f874c..d20ab53bf7e10fb44f35529ca44475afd786f142 100644 --- a/pkgs/applications/editors/emacs-modes/bbdb/3.nix +++ b/pkgs/applications/editors/emacs-modes/bbdb/3.nix @@ -4,7 +4,7 @@ stdenv.mkDerivation rec { name = "bbdb-3.1.2"; src = fetchurl { - url = "http://download.savannah.gnu.org/releases/bbdb/${name}.tar.gz"; + url = "https://download.savannah.gnu.org/releases/bbdb/${name}.tar.gz"; sha256 = "1gs16bbpiiy01w9pyg12868r57kx1v3hnw04gmqsmpc40l1hyy05"; }; @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { ''; meta = { - homepage = http://savannah.nongnu.org/projects/bbdb/; + homepage = https://savannah.nongnu.org/projects/bbdb/; description = "The Insidious Big Brother Database (BBDB), a contact management utility for Emacs, version 3"; license = "GPL"; }; diff --git a/pkgs/applications/editors/emacs-modes/calfw/default.nix b/pkgs/applications/editors/emacs-modes/calfw/default.nix index 091635feda6faba87380ea5a1458f169766255dc..b8c61bb97af6785299958d4b9c8db52b04048317 100644 --- a/pkgs/applications/editors/emacs-modes/calfw/default.nix +++ b/pkgs/applications/editors/emacs-modes/calfw/default.nix @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { license = stdenv.lib.licenses.gpl3Plus; - maintainers = with stdenv.lib.maintainers; [ chaoflow ]; - platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux; + maintainers = with stdenv.lib.maintainers; [ ]; + platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/applications/editors/emacs-modes/cask/default.nix b/pkgs/applications/editors/emacs-modes/cask/default.nix index aed976051f2012435ac65e2bdc5066ee5fc86556..34120db6aa70cbc6045b7571ef4c9d8020bb3bb4 100644 --- a/pkgs/applications/editors/emacs-modes/cask/default.nix +++ b/pkgs/applications/editors/emacs-modes/cask/default.nix @@ -49,6 +49,6 @@ stdenv.mkDerivation rec { homepage = https://github.com/cask/cask; license = licenses.gpl3Plus; platforms = platforms.all; - maintainers = [ maintainers.jgeerds ]; + maintainers = [ ]; }; } diff --git a/pkgs/applications/editors/emacs-modes/cedille/default.nix b/pkgs/applications/editors/emacs-modes/cedille/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..2d1cbb75981e3ef70f3d540ff66dbdcda8f824a1 --- /dev/null +++ b/pkgs/applications/editors/emacs-modes/cedille/default.nix @@ -0,0 +1,30 @@ +{ stdenv, cedille, emacs }: + +stdenv.mkDerivation rec { + name = "cedille-mode-${version}"; + version = cedille.version; + + src = cedille.src; + + buildInputs = [ emacs ]; + + buildPhase = ":"; + + installPhase = '' + install -d $out/share/emacs/site-lisp + install se-mode/*.el se-mode/*.elc $out/share/emacs/site-lisp + install cedille-mode/*.el cedille-mode/*.elc $out/share/emacs/site-lisp + install *.el *.elc $out/share/emacs/site-lisp + substituteInPlace $out/share/emacs/site-lisp/cedille-mode.el \ + --replace /usr/bin/cedille ${cedille}/bin/cedille \ + + ''; + + meta = { + description = "Emacs major mode for Cedille"; + homepage = cedille.meta.homepage; + license = cedille.meta.license ; + platforms = cedille.meta.platforms; + maintainers = cedille.meta.maintainers; + }; +} diff --git a/pkgs/applications/editors/emacs-modes/color-theme/default.nix b/pkgs/applications/editors/emacs-modes/color-theme/default.nix index a3d76a307c741be6140418f319ddcd26d7998af3..407b9e58f0bf0389fc6b4b39dc6e881ca040826c 100644 --- a/pkgs/applications/editors/emacs-modes/color-theme/default.nix +++ b/pkgs/applications/editors/emacs-modes/color-theme/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { meta = { description = "Emacs-lisp mode for skinning your Emacs"; - homepage = http://www.nongnu.org/color-theme; + homepage = https://www.nongnu.org/color-theme; license = stdenv.lib.licenses.gpl2Plus; platforms = stdenv.lib.platforms.all; diff --git a/pkgs/applications/editors/emacs-modes/elpa-generated.nix b/pkgs/applications/editors/emacs-modes/elpa-generated.nix index 146e4128f7d0f23043f04317e9b10bba297f2ee2..2c560ba599f3275a6889187d5a64559d3008ef1d 100644 --- a/pkgs/applications/editors/emacs-modes/elpa-generated.nix +++ b/pkgs/applications/editors/emacs-modes/elpa-generated.nix @@ -19,10 +19,10 @@ elpaBuild { pname = "ack"; ename = "ack"; - version = "1.5"; + version = "1.8"; src = fetchurl { - url = "https://elpa.gnu.org/packages/ack-1.5.tar"; - sha256 = "0sljshiy44z27idy0rxjs2fx4smlm4v607wic7md1vihp6qp4l9r"; + url = "https://elpa.gnu.org/packages/ack-1.8.tar"; + sha256 = "1d4218km7j1bx1fsna29j3gi3k2ak2fzbk1gyki327pnnlma6bav"; }; packageRequires = []; meta = { @@ -39,10 +39,10 @@ elpaBuild { pname = "ada-mode"; ename = "ada-mode"; - version = "5.3.1"; + version = "6.1.0"; src = fetchurl { - url = "https://elpa.gnu.org/packages/ada-mode-5.3.1.tar"; - sha256 = "0srna7w3y2nq0y80a01bcx8mg6gvind7nzvsbk9bd7rrr05njrd9"; + url = "https://elpa.gnu.org/packages/ada-mode-6.1.0.tar"; + sha256 = "1qa4kjv5xxlj50fghg5516cxn8ckv8vlyarcab2isxjnnxnb6g7s"; }; packageRequires = [ cl-lib emacs wisi ]; meta = { @@ -54,10 +54,10 @@ elpaBuild { pname = "ada-ref-man"; ename = "ada-ref-man"; - version = "2012.3"; + version = "2012.5"; src = fetchurl { - url = "https://elpa.gnu.org/packages/ada-ref-man-2012.3.tar"; - sha256 = "0w88xw51jb85nmqbi3i9kj9kx2fa6zlazk3x7afll7njc6g4105z"; + url = "https://elpa.gnu.org/packages/ada-ref-man-2012.5.tar"; + sha256 = "0n7izqc44i3l6fxbzkq9gwwlcf04rr9g1whrk8biz84jhbyh23x8"; }; packageRequires = []; meta = { @@ -69,10 +69,10 @@ elpaBuild { pname = "adaptive-wrap"; ename = "adaptive-wrap"; - version = "0.5.2"; + version = "0.7"; src = fetchurl { - url = "https://elpa.gnu.org/packages/adaptive-wrap-0.5.2.el"; - sha256 = "1qcf1cabn4wb34cdmlyk3rv5dl1dcrxrbaw38kly1prs6y4l22aw"; + url = "https://elpa.gnu.org/packages/adaptive-wrap-0.7.el"; + sha256 = "10fb8gzvkbnrgzv28n1rczs03dvapr7rvi0kd73j6yf1zg2iz6qp"; }; packageRequires = []; meta = { @@ -163,10 +163,10 @@ elpaBuild { pname = "arbitools"; ename = "arbitools"; - version = "0.95"; + version = "0.97"; src = fetchurl { - url = "https://elpa.gnu.org/packages/arbitools-0.95.el"; - sha256 = "1v6i9d35xqag9a8j12n3xjircwzndjwgb84qm7rsgbns60v3ci8y"; + url = "https://elpa.gnu.org/packages/arbitools-0.97.el"; + sha256 = "0fx1z4mw3v42xzixsj80xw56pg00bch04galkjbxbqzm25nl4aha"; }; packageRequires = [ cl-lib ]; meta = { @@ -204,16 +204,16 @@ license = lib.licenses.free; }; }) {}; - auctex = callPackage ({ elpaBuild, fetchurl, lib }: + auctex = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }: elpaBuild { pname = "auctex"; ename = "auctex"; - version = "12.1.1"; + version = "12.1.2"; src = fetchurl { - url = "https://elpa.gnu.org/packages/auctex-12.1.1.tar"; - sha256 = "10l96569dy9pfp8bm64pndhk1skg65kqhsyllwfa0zvb7mjkm70l"; + url = "https://elpa.gnu.org/packages/auctex-12.1.2.tar"; + sha256 = "1yibg2anpmyr2a27wm4xqjsvsi9km2jzb56bf7cwyj8dnjfsd11n"; }; - packageRequires = []; + packageRequires = [ cl-lib emacs ]; meta = { homepage = "https://elpa.gnu.org/packages/auctex.html"; license = lib.licenses.free; @@ -309,6 +309,40 @@ license = lib.licenses.free; }; }) {}; + brief = callPackage ({ elpaBuild, fetchurl, lib }: + elpaBuild { + pname = "brief"; + ename = "brief"; + version = "5.87"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/brief-5.87.tar"; + sha256 = "02z8fzzf1zsk2r0cnssz3i2nd4qwsnya4i2r4qi4ndc1xjlsvgwc"; + }; + packageRequires = []; + meta = { + homepage = "https://elpa.gnu.org/packages/brief.html"; + license = lib.licenses.free; + }; + }) {}; + buffer-expose = callPackage ({ cl-lib ? null + , elpaBuild + , emacs + , fetchurl + , lib }: + elpaBuild { + pname = "buffer-expose"; + ename = "buffer-expose"; + version = "0.4.1"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/buffer-expose-0.4.1.el"; + sha256 = "05b1mhcv3860g93a7myqqrhmb9gpp19b4bcxhmdbmf4m0f7p9fw4"; + }; + packageRequires = [ cl-lib emacs ]; + meta = { + homepage = "https://elpa.gnu.org/packages/buffer-expose.html"; + license = lib.licenses.free; + }; + }) {}; bug-hunter = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib, seq }: elpaBuild { pname = "bug-hunter"; @@ -414,6 +448,21 @@ license = lib.licenses.free; }; }) {}; + clipboard-collector = callPackage ({ elpaBuild, emacs, fetchurl, lib }: + elpaBuild { + pname = "clipboard-collector"; + ename = "clipboard-collector"; + version = "0.2"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/clipboard-collector-0.2.el"; + sha256 = "19scspkxgm3b1jkv10jy6nw9gv1q6sfjys09l37mvsva3djxa1dl"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://elpa.gnu.org/packages/clipboard-collector.html"; + license = lib.licenses.free; + }; + }) {}; cobol-mode = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }: elpaBuild { pname = "cobol-mode"; @@ -463,10 +512,10 @@ elpaBuild { pname = "company"; ename = "company"; - version = "0.9.6"; + version = "0.9.9"; src = fetchurl { - url = "https://elpa.gnu.org/packages/company-0.9.6.tar"; - sha256 = "0w1jqhs87g0sqhv2iw6a5i8f4yjkrc65fb3h6vyv11sb8kfnhda7"; + url = "https://elpa.gnu.org/packages/company-0.9.9.tar"; + sha256 = "1qinkz8gwgc27p3p3c9kddrrwx0jb4w0vgx7jq8fwpfj1n92m1rv"; }; packageRequires = [ emacs ]; meta = { @@ -478,10 +527,10 @@ elpaBuild { pname = "company-ebdb"; ename = "company-ebdb"; - version = "1"; + version = "1.1"; src = fetchurl { - url = "https://elpa.gnu.org/packages/company-ebdb-1.el"; - sha256 = "1awriwvjpf9k2r6hzawai5kxz28j40zk9fvpb946kd5yj0hxr9nc"; + url = "https://elpa.gnu.org/packages/company-ebdb-1.1.el"; + sha256 = "146qpiigz12zp1823ggxfrx090g0mxs7gz1ba7sa0iq6ibgzwwm9"; }; packageRequires = [ company ebdb ]; meta = { @@ -561,10 +610,10 @@ elpaBuild { pname = "crisp"; ename = "crisp"; - version = "1.3.4"; + version = "1.3.6"; src = fetchurl { - url = "https://elpa.gnu.org/packages/crisp-1.3.4.el"; - sha256 = "1xbnf7xlw499zsnr5ky2bghb2fzg3g7cf2ldmbb7c3b84raryn0i"; + url = "https://elpa.gnu.org/packages/crisp-1.3.6.el"; + sha256 = "0jf4668h0mzh8han2vbvpzz8m02b8rsbdrj0ddar30w5i6v2f8kz"; }; packageRequires = []; meta = { @@ -606,10 +655,10 @@ elpaBuild { pname = "darkroom"; ename = "darkroom"; - version = "0.1"; + version = "0.2"; src = fetchurl { - url = "https://elpa.gnu.org/packages/darkroom-0.1.el"; - sha256 = "0fif8fm1h7x7g16949shfnaik5f5488clsvkf8bi5izpqp3vi6ak"; + url = "https://elpa.gnu.org/packages/darkroom-0.2.el"; + sha256 = "1a528brhz4vckhp77n2c1phkyqdliykpj9kzk3f834f4rwnb5mp0"; }; packageRequires = [ cl-lib ]; meta = { @@ -649,18 +698,19 @@ }) {}; debbugs = callPackage ({ cl-lib ? null , elpaBuild + , emacs , fetchurl , lib , soap-client }: elpaBuild { pname = "debbugs"; ename = "debbugs"; - version = "0.15"; + version = "0.17"; src = fetchurl { - url = "https://elpa.gnu.org/packages/debbugs-0.15.tar"; - sha256 = "1x7jw2ldgkknyxg7x9fhnqkary691icnysmi3xw0g2fjrvllzhqw"; + url = "https://elpa.gnu.org/packages/debbugs-0.17.tar"; + sha256 = "0zclh2nxj5p10n214sxyxy3ca07l5s9p5spk0xp1smr6nzn0w7gb"; }; - packageRequires = [ cl-lib soap-client ]; + packageRequires = [ cl-lib emacs soap-client ]; meta = { homepage = "https://elpa.gnu.org/packages/debbugs.html"; license = lib.licenses.free; @@ -696,16 +746,16 @@ license = lib.licenses.free; }; }) {}; - diff-hl = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }: + diff-hl = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }: elpaBuild { pname = "diff-hl"; ename = "diff-hl"; - version = "1.8.4"; + version = "1.8.6"; src = fetchurl { - url = "https://elpa.gnu.org/packages/diff-hl-1.8.4.tar"; - sha256 = "0axhidc3cym7a2x4rpxf4745qss9s9ajyg4s9h5b4zn7v7fyp71n"; + url = "https://elpa.gnu.org/packages/diff-hl-1.8.6.tar"; + sha256 = "02hvi5jxv2anf62lw878bdz6xk7xjhjd5q85pqihmadbpj6i6pfq"; }; - packageRequires = [ cl-lib ]; + packageRequires = [ cl-lib emacs ]; meta = { homepage = "https://elpa.gnu.org/packages/diff-hl.html"; license = lib.licenses.free; @@ -730,10 +780,10 @@ elpaBuild { pname = "dired-du"; ename = "dired-du"; - version = "0.5"; + version = "0.5.2"; src = fetchurl { - url = "https://elpa.gnu.org/packages/dired-du-0.5.tar"; - sha256 = "09yj37p2fa5f81fqrzwghjkyy2ydsf4rbkfwpn2yyvzd5nd97bpl"; + url = "https://elpa.gnu.org/packages/dired-du-0.5.2.tar"; + sha256 = "0vhph7vcicsiq28b10h3b4dvnhckcy4gccpdgsad5j7pwa5k26m1"; }; packageRequires = [ cl-lib emacs ]; meta = { @@ -741,6 +791,36 @@ license = lib.licenses.free; }; }) {}; + dired-git-info = callPackage ({ elpaBuild, emacs, fetchurl, lib }: + elpaBuild { + pname = "dired-git-info"; + ename = "dired-git-info"; + version = "0.2"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/dired-git-info-0.2.el"; + sha256 = "1pxn6kmgnynil13gp3m0y8hhkvciy3dcd55psj70pkrj50555dqx"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://elpa.gnu.org/packages/dired-git-info.html"; + license = lib.licenses.free; + }; + }) {}; + disk-usage = callPackage ({ elpaBuild, emacs, fetchurl, lib }: + elpaBuild { + pname = "disk-usage"; + ename = "disk-usage"; + version = "1.3.1"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/disk-usage-1.3.1.el"; + sha256 = "1jkwlg7w4090a7byfjh30mjz1libls8n71pphmn3973hqwaclnr7"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://elpa.gnu.org/packages/disk-usage.html"; + license = lib.licenses.free; + }; + }) {}; dismal = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }: elpaBuild { pname = "dismal"; @@ -760,10 +840,10 @@ elpaBuild { pname = "djvu"; ename = "djvu"; - version = "0.5"; + version = "1.0.1"; src = fetchurl { - url = "https://elpa.gnu.org/packages/djvu-0.5.el"; - sha256 = "1wpyv4ismfsz5hfaj75j3h3nni1mnk33czhw3rd45cf32a2zkqsj"; + url = "https://elpa.gnu.org/packages/djvu-1.0.1.el"; + sha256 = "1am4cm9csc5df3mbdby7j197j8yxv0x0maf6kfmn2ww1iwcyv8x6"; }; packageRequires = []; meta = { @@ -820,10 +900,10 @@ elpaBuild { pname = "ebdb"; ename = "ebdb"; - version = "0.5.4"; + version = "0.6.6"; src = fetchurl { - url = "https://elpa.gnu.org/packages/ebdb-0.5.4.tar"; - sha256 = "1dripbiwplyjalzmkr8awaimhkp9f6c2bhnm3c77027k2b87w4lf"; + url = "https://elpa.gnu.org/packages/ebdb-0.6.6.tar"; + sha256 = "1jgx099z9xg47v698qjbk5q70bakfw7zxaj25z4jz1mq64fvk6b5"; }; packageRequires = [ cl-lib emacs seq ]; meta = { @@ -876,16 +956,21 @@ license = lib.licenses.free; }; }) {}; - eglot = callPackage ({ elpaBuild, emacs, fetchurl, jsonrpc, lib }: + eglot = callPackage ({ elpaBuild + , emacs + , fetchurl + , flymake ? null + , jsonrpc + , lib }: elpaBuild { pname = "eglot"; ename = "eglot"; - version = "1.1"; + version = "1.4"; src = fetchurl { - url = "https://elpa.gnu.org/packages/eglot-1.1.tar"; - sha256 = "01h4wh87lrd9l50y20gjjkgg760v8ixvbcb3q8jykl29989zw62y"; + url = "https://elpa.gnu.org/packages/eglot-1.4.tar"; + sha256 = "1f2p08ly17jcjyh8bif5zhmzhx3z5y9z20v6z24z939bqk8c1pdq"; }; - packageRequires = [ emacs jsonrpc ]; + packageRequires = [ emacs flymake jsonrpc ]; meta = { homepage = "https://elpa.gnu.org/packages/eglot.html"; license = lib.licenses.free; @@ -900,10 +985,10 @@ elpaBuild { pname = "el-search"; ename = "el-search"; - version = "1.7.3"; + version = "1.11.4"; src = fetchurl { - url = "https://elpa.gnu.org/packages/el-search-1.7.3.tar"; - sha256 = "0nxjgi027mjjn53nm9ara4nyr7kyqjawsmfaygsxqjv0mbykjmd1"; + url = "https://elpa.gnu.org/packages/el-search-1.11.4.tar"; + sha256 = "152kx9s72h94n6nsrn84cmfb264cdw61ny5fn0n3fa581ipy34nm"; }; packageRequires = [ cl-print emacs stream ]; meta = { @@ -971,7 +1056,8 @@ license = lib.licenses.free; }; }) {}; - ergoemacs-mode = callPackage ({ elpaBuild + ergoemacs-mode = callPackage ({ cl-lib ? null + , elpaBuild , emacs , fetchurl , lib @@ -979,12 +1065,12 @@ elpaBuild { pname = "ergoemacs-mode"; ename = "ergoemacs-mode"; - version = "5.14.7.3"; + version = "5.16.10.12"; src = fetchurl { - url = "https://elpa.gnu.org/packages/ergoemacs-mode-5.14.7.3.tar"; - sha256 = "0lqqrnw6z9w7js8r40khckjc1cyxdiwx8kapf5pvyfs09gs89i90"; + url = "https://elpa.gnu.org/packages/ergoemacs-mode-5.16.10.12.tar"; + sha256 = "1zfzjmi30lllrbyzicmp11c9lpa82g57wi134q9bajvzn9ryx4jr"; }; - packageRequires = [ emacs undo-tree ]; + packageRequires = [ cl-lib emacs undo-tree ]; meta = { homepage = "https://elpa.gnu.org/packages/ergoemacs-mode.html"; license = lib.licenses.free; @@ -995,17 +1081,18 @@ , fetchurl , fsm , lib + , nadvice , soap-client , url-http-ntlm }: elpaBuild { pname = "excorporate"; ename = "excorporate"; - version = "0.7.6"; + version = "0.8.1"; src = fetchurl { - url = "https://elpa.gnu.org/packages/excorporate-0.7.6.tar"; - sha256 = "02bp0z6vpssc12vxxs1g4whmfxf88wsk0bcq4422vvz256l6vpf9"; + url = "https://elpa.gnu.org/packages/excorporate-0.8.1.tar"; + sha256 = "1k89472x80wsn14y16km5bgynmmd2kbdfhylb3cc17jvdn1xr53y"; }; - packageRequires = [ emacs fsm soap-client url-http-ntlm ]; + packageRequires = [ emacs fsm nadvice soap-client url-http-ntlm ]; meta = { homepage = "https://elpa.gnu.org/packages/excorporate.html"; license = lib.licenses.free; @@ -1015,10 +1102,10 @@ elpaBuild { pname = "exwm"; ename = "exwm"; - version = "0.19"; + version = "0.22.1"; src = fetchurl { - url = "https://elpa.gnu.org/packages/exwm-0.19.tar"; - sha256 = "11xd2w4h3zdwkdxypvmcz8s7q72cn76lfr9js77jbizyj6b04lr0"; + url = "https://elpa.gnu.org/packages/exwm-0.22.1.tar"; + sha256 = "1ggb8vgxxml8c5bvamv9jgz80gs6h9xirjgphq8gwkywwd5xyiq4"; }; packageRequires = [ xelb ]; meta = { @@ -1071,6 +1158,36 @@ license = lib.licenses.free; }; }) {}; + flymake = callPackage ({ elpaBuild, emacs, fetchurl, lib }: + elpaBuild { + pname = "flymake"; + ename = "flymake"; + version = "1.0.5"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/flymake-1.0.5.el"; + sha256 = "1zxzad84gcbdfh3pp606sspy8zkgxvngbzbimc2cam4pjcmwfx1y"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://elpa.gnu.org/packages/flymake.html"; + license = lib.licenses.free; + }; + }) {}; + fountain-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib }: + elpaBuild { + pname = "fountain-mode"; + ename = "fountain-mode"; + version = "2.6.2"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/fountain-mode-2.6.2.el"; + sha256 = "0ysxk9ap919scg2zz0psw8hk1dj35ys9p0havswsjzm46k43xd6z"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://elpa.gnu.org/packages/fountain-mode.html"; + license = lib.licenses.free; + }; + }) {}; frame-tabs = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild { pname = "frame-tabs"; @@ -1086,6 +1203,21 @@ license = lib.licenses.free; }; }) {}; + frog-menu = callPackage ({ avy, elpaBuild, emacs, fetchurl, lib, posframe }: + elpaBuild { + pname = "frog-menu"; + ename = "frog-menu"; + version = "0.2.2"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/frog-menu-0.2.2.el"; + sha256 = "0kv31p42gmi01xalbvwksk10l28ascdr214bmv1z22dipv0zm30i"; + }; + packageRequires = [ avy emacs posframe ]; + meta = { + homepage = "https://elpa.gnu.org/packages/frog-menu.html"; + license = lib.licenses.free; + }; + }) {}; fsm = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }: elpaBuild { pname = "fsm"; @@ -1105,10 +1237,10 @@ elpaBuild { pname = "ggtags"; ename = "ggtags"; - version = "0.8.12"; + version = "0.8.13"; src = fetchurl { - url = "https://elpa.gnu.org/packages/ggtags-0.8.12.el"; - sha256 = "0ny3llk021g6r0s75xdm4hzpbxv393ddm2r6f2xdk8kqnq4gnirp"; + url = "https://elpa.gnu.org/packages/ggtags-0.8.13.el"; + sha256 = "1qa7lcrcmf76sf6dy8sxbg4adq7rg59fm0n5848w3qxgsr0h45fg"; }; packageRequires = [ cl-lib emacs ]; meta = { @@ -1165,10 +1297,10 @@ elpaBuild { pname = "gnorb"; ename = "gnorb"; - version = "1.5.5"; + version = "1.6.1"; src = fetchurl { - url = "https://elpa.gnu.org/packages/gnorb-1.5.5.tar"; - sha256 = "02l9snarsnzwp9w284wiylbd596g0f9bmahb1nybr14vh64ygh3r"; + url = "https://elpa.gnu.org/packages/gnorb-1.6.1.tar"; + sha256 = "0n4460hsmcc3l0y3nb3fysvh33cjwgv0a3mkc26xcx8v85zl7m63"; }; packageRequires = [ cl-lib ]; meta = { @@ -1196,6 +1328,71 @@ license = lib.licenses.free; }; }) {}; + gnus-mock = callPackage ({ elpaBuild, fetchurl, lib }: + elpaBuild { + pname = "gnus-mock"; + ename = "gnus-mock"; + version = "0.4.0"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/gnus-mock-0.4.0.tar"; + sha256 = "058bd4f8za9bxayrd2j5b05qvk8lxxm8mmfwxb73d7k15z3z3l3s"; + }; + packageRequires = []; + meta = { + homepage = "https://elpa.gnu.org/packages/gnus-mock.html"; + license = lib.licenses.free; + }; + }) {}; + gpastel = callPackage ({ elpaBuild, emacs, fetchurl, lib }: + elpaBuild { + pname = "gpastel"; + ename = "gpastel"; + version = "0.5.0"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/gpastel-0.5.0.el"; + sha256 = "1wky6047071vgyyw2m929nbwg4d9qqp1mjqwk7a5rs8hfr4xqxfw"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://elpa.gnu.org/packages/gpastel.html"; + license = lib.licenses.free; + }; + }) {}; + greader = callPackage ({ elpaBuild, emacs, fetchurl, lib }: + elpaBuild { + pname = "greader"; + ename = "greader"; + version = "0.1"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/greader-0.1.tar"; + sha256 = "0mwhmidzv9vnmx6xls8pq4ra4m0f4yg677xgv34ivv34vsgg1mhb"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://elpa.gnu.org/packages/greader.html"; + license = lib.licenses.free; + }; + }) {}; + guess-language = callPackage ({ advice + , cl-lib ? null + , elpaBuild + , emacs + , fetchurl + , lib }: + elpaBuild { + pname = "guess-language"; + ename = "guess-language"; + version = "0.0.1"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/guess-language-0.0.1.el"; + sha256 = "11a6m2337j4ncppaf59yr2vavvvsph2qh51d12zmq58g9wh3d7wz"; + }; + packageRequires = [ advice cl-lib emacs ]; + meta = { + homepage = "https://elpa.gnu.org/packages/guess-language.html"; + license = lib.licenses.free; + }; + }) {}; heap = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild { pname = "heap"; @@ -1232,10 +1429,10 @@ elpaBuild { pname = "highlight-escape-sequences"; ename = "highlight-escape-sequences"; - version = "0.3"; + version = "0.4"; src = fetchurl { - url = "https://elpa.gnu.org/packages/highlight-escape-sequences-0.3.el"; - sha256 = "0q54h0zdaflr2sk4mwgm2ix8cdq4rm4pz03ln430qxc1zm8pz6gy"; + url = "https://elpa.gnu.org/packages/highlight-escape-sequences-0.4.el"; + sha256 = "1z8r9rnppn7iy7xv4kprfsqxday16h7c471i7rkyi3rv3l0pfxd0"; }; packageRequires = []; meta = { @@ -1348,14 +1545,29 @@ license = lib.licenses.free; }; }) {}; + ivy-explorer = callPackage ({ elpaBuild, emacs, fetchurl, ivy, lib }: + elpaBuild { + pname = "ivy-explorer"; + ename = "ivy-explorer"; + version = "0.3.2"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/ivy-explorer-0.3.2.el"; + sha256 = "0q9gy9w22hnq30bfmnpqknk0qc1rcbjcybpjgb8hnlldvcci95l7"; + }; + packageRequires = [ emacs ivy ]; + meta = { + homepage = "https://elpa.gnu.org/packages/ivy-explorer.html"; + license = lib.licenses.free; + }; + }) {}; javaimp = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild { pname = "javaimp"; ename = "javaimp"; - version = "0.6"; + version = "0.6.1"; src = fetchurl { - url = "https://elpa.gnu.org/packages/javaimp-0.6.tar"; - sha256 = "015kchx6brsjk7q6lz9y44a18n5imapd95czx50hqdscjczmj2ff"; + url = "https://elpa.gnu.org/packages/javaimp-0.6.1.tar"; + sha256 = "1piaj3sgw6a05g9dhkbrn5n490w01z1rxa7axh3vg1xqbs6rv7lw"; }; packageRequires = []; meta = { @@ -1382,10 +1594,10 @@ elpaBuild { pname = "js2-mode"; ename = "js2-mode"; - version = "20180301"; + version = "20190219"; src = fetchurl { - url = "https://elpa.gnu.org/packages/js2-mode-20180301.tar"; - sha256 = "0kcs70iygbpaxs094q6agsjs56sz03jy4fwk178f9hr93x95pynx"; + url = "https://elpa.gnu.org/packages/js2-mode-20190219.tar"; + sha256 = "0jgqs7cwykw5ihdq9wp5qc05y6br9gsyfiylqhjq43z59673chcc"; }; packageRequires = [ cl-lib emacs ]; meta = { @@ -1412,10 +1624,10 @@ elpaBuild { pname = "jsonrpc"; ename = "jsonrpc"; - version = "1.0.0"; + version = "1.0.7"; src = fetchurl { - url = "https://elpa.gnu.org/packages/jsonrpc-1.0.0.el"; - sha256 = "06lmmn7j2ilkvwibbpgnd8p6d63fjjnxd2ma8f4jw6vrz1f7lwvs"; + url = "https://elpa.gnu.org/packages/jsonrpc-1.0.7.el"; + sha256 = "19z35gjphl4mlgpznfhlccgipnmbb3c1dvax48f4hw8qwksfcac1"; }; packageRequires = [ emacs ]; meta = { @@ -1573,14 +1785,29 @@ license = lib.licenses.free; }; }) {}; + map = callPackage ({ elpaBuild, emacs, fetchurl, lib }: + elpaBuild { + pname = "map"; + ename = "map"; + version = "2.0"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/map-2.0.el"; + sha256 = "1djygpvk1qgldg9my0lh8n2z1n6acz3y5ws7sv2w08hvxdlxz857"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://elpa.gnu.org/packages/map.html"; + license = lib.licenses.free; + }; + }) {}; markchars = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild { pname = "markchars"; ename = "markchars"; - version = "0.2.0"; + version = "0.2.1"; src = fetchurl { - url = "https://elpa.gnu.org/packages/markchars-0.2.0.el"; - sha256 = "1wn9v9jzcyq5wxhw5839jsggfy97955ngspn2gn6jmvz6zdgy4hv"; + url = "https://elpa.gnu.org/packages/markchars-0.2.1.el"; + sha256 = "0dpq3brblcxjkcqv3xsmlsx5z9zbv94v0kg4j1sic3brz6hbl4lk"; }; packageRequires = []; meta = { @@ -1753,6 +1980,21 @@ license = lib.licenses.free; }; }) {}; + nadvice = callPackage ({ elpaBuild, fetchurl, lib }: + elpaBuild { + pname = "nadvice"; + ename = "nadvice"; + version = "0.3"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/nadvice-0.3.el"; + sha256 = "0gi3csnxbs8h7iy0scsl35sic3gv90swa89hhdjwb7qvpirfdcgw"; + }; + packageRequires = []; + meta = { + homepage = "https://elpa.gnu.org/packages/nadvice.html"; + license = lib.licenses.free; + }; + }) {}; nameless = callPackage ({ elpaBuild, emacs, fetchurl, lib }: elpaBuild { pname = "nameless"; @@ -1768,7 +2010,12 @@ license = lib.licenses.free; }; }) {}; - names = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }: + names = callPackage ({ cl-lib ? null + , elpaBuild + , emacs + , fetchurl + , lib + , nadvice }: elpaBuild { pname = "names"; ename = "names"; @@ -1777,7 +2024,7 @@ url = "https://elpa.gnu.org/packages/names-20151201.0.tar"; sha256 = "13smsf039x4yd7pzvllgn1vz8lhkwghnhip9y2bka38vk37w912d"; }; - packageRequires = [ cl-lib emacs ]; + packageRequires = [ cl-lib emacs nadvice ]; meta = { homepage = "https://elpa.gnu.org/packages/names.html"; license = lib.licenses.free; @@ -1791,10 +2038,10 @@ elpaBuild { pname = "nhexl-mode"; ename = "nhexl-mode"; - version = "0.9"; + version = "1.2"; src = fetchurl { - url = "https://elpa.gnu.org/packages/nhexl-mode-0.9.el"; - sha256 = "1xdr0z5nlfqsyrmj3cwgfp6qlirhr46ggawr7pr2ipnp64wgnmkc"; + url = "https://elpa.gnu.org/packages/nhexl-mode-1.2.el"; + sha256 = "031h22p564qdvr9khs05qcba06pmsk68cr7zyc7c04hfr3y3ziaf"; }; packageRequires = [ cl-lib emacs ]; meta = { @@ -1806,10 +2053,10 @@ elpaBuild { pname = "nlinum"; ename = "nlinum"; - version = "1.8.1"; + version = "1.9"; src = fetchurl { - url = "https://elpa.gnu.org/packages/nlinum-1.8.1.el"; - sha256 = "0fx560yfjy6nqgs1d3fiv0h46i8q3r592clsia7nihkriah7rlwf"; + url = "https://elpa.gnu.org/packages/nlinum-1.9.el"; + sha256 = "03zqlz58fvh4cpfl43h7py2fpnc7m37f1ys8zhrc511ccq9cwkdn"; }; packageRequires = []; meta = { @@ -1877,6 +2124,21 @@ license = lib.licenses.free; }; }) {}; + objed = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }: + elpaBuild { + pname = "objed"; + ename = "objed"; + version = "0.8.1"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/objed-0.8.1.tar"; + sha256 = "06jfvz7avh28p1ghyd1aik5lz8k9fnv1fcxh9npm1iyvh810y5zj"; + }; + packageRequires = [ cl-lib emacs ]; + meta = { + homepage = "https://elpa.gnu.org/packages/objed.html"; + license = lib.licenses.free; + }; + }) {}; omn-mode = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild { pname = "omn-mode"; @@ -1911,10 +2173,10 @@ elpaBuild { pname = "org"; ename = "org"; - version = "9.1.13"; + version = "9.2.3"; src = fetchurl { - url = "https://elpa.gnu.org/packages/org-9.1.13.tar"; - sha256 = "1vx0n32gvrgy2bl2b4pvxf00cywxwm57gi46f2b2zlrnmd5n85pr"; + url = "https://elpa.gnu.org/packages/org-9.2.3.tar"; + sha256 = "0hqy4lns9q5p0l1ylgmlckqprn9sbasszhznanmv0rsh0gzhsbyw"; }; packageRequires = []; meta = { @@ -1922,14 +2184,29 @@ license = lib.licenses.free; }; }) {}; + org-edna = callPackage ({ elpaBuild, emacs, fetchurl, lib, org, seq }: + elpaBuild { + pname = "org-edna"; + ename = "org-edna"; + version = "1.0.2"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/org-edna-1.0.2.tar"; + sha256 = "005pmnqr41s2w72gahq9bf4l5kw601i19ypiqfnb8aq0f4acjr3d"; + }; + packageRequires = [ emacs org seq ]; + meta = { + homepage = "https://elpa.gnu.org/packages/org-edna.html"; + license = lib.licenses.free; + }; + }) {}; orgalist = callPackage ({ elpaBuild, emacs, fetchurl, lib }: elpaBuild { pname = "orgalist"; ename = "orgalist"; - version = "1.8"; + version = "1.9"; src = fetchurl { - url = "https://elpa.gnu.org/packages/orgalist-1.8.el"; - sha256 = "1wqwnmn08i0qkxm8b2iclvf6cydcn68h1p3h7r1kig2bdn5b8948"; + url = "https://elpa.gnu.org/packages/orgalist-1.9.el"; + sha256 = "1rmmcyiiqkq54hn74nhzxzl4nvd902hv6gq341jwhrm7yiagffi6"; }; packageRequires = [ emacs ]; meta = { @@ -1956,10 +2233,10 @@ elpaBuild { pname = "other-frame-window"; ename = "other-frame-window"; - version = "1.0.4"; + version = "1.0.6"; src = fetchurl { - url = "https://elpa.gnu.org/packages/other-frame-window-1.0.4.el"; - sha256 = "0hg82j8zjh0ann6bf56r0p8s0y3a016zny8byp80mcvkw63wrn5i"; + url = "https://elpa.gnu.org/packages/other-frame-window-1.0.6.el"; + sha256 = "04h0jr73xv8inm52h8b8zbc9lsnlzkn40qy99x4x0lkkdqqxw1ny"; }; packageRequires = [ emacs ]; meta = { @@ -2012,6 +2289,21 @@ license = lib.licenses.free; }; }) {}; + peg = callPackage ({ elpaBuild, emacs, fetchurl, lib }: + elpaBuild { + pname = "peg"; + ename = "peg"; + version = "1.0"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/peg-1.0.tar"; + sha256 = "0skr5dz9k34r409hisnj37n1b7n62l3md0glnfx578xkbmxlpcxl"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://elpa.gnu.org/packages/peg.html"; + license = lib.licenses.free; + }; + }) {}; pinentry = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild { pname = "pinentry"; @@ -2046,10 +2338,10 @@ elpaBuild { pname = "posframe"; ename = "posframe"; - version = "0.3.0"; + version = "0.4.3"; src = fetchurl { - url = "https://elpa.gnu.org/packages/posframe-0.3.0.el"; - sha256 = "0q74lwklr29c50qgaqly48nj7f49kgxiv70lsvhdy8cg2v082v8k"; + url = "https://elpa.gnu.org/packages/posframe-0.4.3.el"; + sha256 = "06q0p4qim6lha2xr9fxaspbzw01xn01ik9gxlld6hdhh19b65cmi"; }; packageRequires = [ emacs ]; meta = { @@ -2147,16 +2439,16 @@ license = lib.licenses.free; }; }) {}; - rcirc-color = callPackage ({ elpaBuild, fetchurl, lib }: + rcirc-color = callPackage ({ elpaBuild, emacs, fetchurl, lib }: elpaBuild { pname = "rcirc-color"; ename = "rcirc-color"; - version = "0.3"; + version = "0.4.1"; src = fetchurl { - url = "https://elpa.gnu.org/packages/rcirc-color-0.3.el"; - sha256 = "1ya4agh63x60lv8qzrjrng02dnrc70ci0s05b800iq71k71ss3dl"; + url = "https://elpa.gnu.org/packages/rcirc-color-0.4.1.el"; + sha256 = "1zs3i3xr8zbjr8hzr1r1qx7mqb2wckpn25qh9444c9as2dnh9sn9"; }; - packageRequires = []; + packageRequires = [ emacs ]; meta = { homepage = "https://elpa.gnu.org/packages/rcirc-color.html"; license = lib.licenses.free; @@ -2220,6 +2512,21 @@ license = lib.licenses.free; }; }) {}; + relint = callPackage ({ elpaBuild, fetchurl, lib, xr }: + elpaBuild { + pname = "relint"; + ename = "relint"; + version = "1.6"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/relint-1.6.el"; + sha256 = "17nyy3zqpqgs22lrrpdm0k56xnhj5l3y2y3lnmhcqw63xksgbsyk"; + }; + packageRequires = [ xr ]; + meta = { + homepage = "https://elpa.gnu.org/packages/relint.html"; + license = lib.licenses.free; + }; + }) {}; rich-minority = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }: elpaBuild { pname = "rich-minority"; @@ -2252,6 +2559,7 @@ }) {}; rudel = callPackage ({ cl-generic , cl-lib ? null + , cl-print , elpaBuild , emacs , fetchurl @@ -2264,7 +2572,7 @@ url = "https://elpa.gnu.org/packages/rudel-0.3.1.tar"; sha256 = "0glqa68g509p0s2vcc0i8kzlddnc9brd9jqhnm5rzxz4i050cvnz"; }; - packageRequires = [ cl-generic cl-lib emacs ]; + packageRequires = [ cl-generic cl-lib cl-print emacs ]; meta = { homepage = "https://elpa.gnu.org/packages/rudel.html"; license = lib.licenses.free; @@ -2364,10 +2672,10 @@ elpaBuild { pname = "sml-mode"; ename = "sml-mode"; - version = "6.8"; + version = "6.9"; src = fetchurl { - url = "https://elpa.gnu.org/packages/sml-mode-6.8.el"; - sha256 = "105fcrz5qp95f2n3fdm3awr6z58sbrjihjss6qnrg4lz2ggbc328"; + url = "https://elpa.gnu.org/packages/sml-mode-6.9.el"; + sha256 = "1bdg9ywpvj85hxqah9w1raxlcrhkyx67nw22jwd1bd5j0fhmgqij"; }; packageRequires = [ cl-lib emacs ]; meta = { @@ -2379,10 +2687,10 @@ elpaBuild { pname = "soap-client"; ename = "soap-client"; - version = "3.1.4"; + version = "3.1.5"; src = fetchurl { - url = "https://elpa.gnu.org/packages/soap-client-3.1.4.tar"; - sha256 = "0q59abh2dmp7z0bcn672n9c2cfhg1xvxv1h9m9pwn97jw0ylf4mc"; + url = "https://elpa.gnu.org/packages/soap-client-3.1.5.tar"; + sha256 = "0nnf075ywxmsfd6vmzk2yg3khx6sycl5l6qrgp5rqqmw0wzhxlh0"; }; packageRequires = [ cl-lib ]; meta = { @@ -2390,16 +2698,16 @@ license = lib.licenses.free; }; }) {}; - sokoban = callPackage ({ elpaBuild, emacs, fetchurl, lib }: + sokoban = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }: elpaBuild { pname = "sokoban"; ename = "sokoban"; - version = "1.4.6"; + version = "1.4.8"; src = fetchurl { - url = "https://elpa.gnu.org/packages/sokoban-1.4.6.tar"; - sha256 = "112cl1l36zn5q9cw81rxi96zflf7ddp3by1h7fsz48yjfidpfbzn"; + url = "https://elpa.gnu.org/packages/sokoban-1.4.8.tar"; + sha256 = "1w3vrkg239x1saqka21zbl380fxqmbz3lr7820spxd8p5w9v55pn"; }; - packageRequires = [ emacs ]; + packageRequires = [ cl-lib emacs ]; meta = { homepage = "https://elpa.gnu.org/packages/sokoban.html"; license = lib.licenses.free; @@ -2439,10 +2747,10 @@ elpaBuild { pname = "sql-indent"; ename = "sql-indent"; - version = "1.2"; + version = "1.3"; src = fetchurl { - url = "https://elpa.gnu.org/packages/sql-indent-1.2.tar"; - sha256 = "0rbkj46gkn1dh5avrhxzhkb01ajm9q3iqfp10lgp3f4w1m2bhab4"; + url = "https://elpa.gnu.org/packages/sql-indent-1.3.tar"; + sha256 = "0zira8my1q975bad2h76bz4yddjzf0dskvy6x865np86rmzd0c9w"; }; packageRequires = [ cl-lib ]; meta = { @@ -2450,6 +2758,21 @@ license = lib.licenses.free; }; }) {}; + ssh-deploy = callPackage ({ elpaBuild, emacs, fetchurl, lib }: + elpaBuild { + pname = "ssh-deploy"; + ename = "ssh-deploy"; + version = "3.0"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/ssh-deploy-3.0.tar"; + sha256 = "0lv9qwm1dhcd2l2mnhjfpqsz6xx0wabjg5j5sm3425fjsaqws6m7"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://elpa.gnu.org/packages/ssh-deploy.html"; + license = lib.licenses.free; + }; + }) {}; stream = callPackage ({ elpaBuild, emacs, fetchurl, lib }: elpaBuild { pname = "stream"; @@ -2469,10 +2792,10 @@ elpaBuild { pname = "svg"; ename = "svg"; - version = "0.1"; + version = "0.2"; src = fetchurl { - url = "https://elpa.gnu.org/packages/svg-0.1.el"; - sha256 = "0v27casnjvjjaalmrbw494sk0zciws037cn6cmcc6rnhj30lzbv5"; + url = "https://elpa.gnu.org/packages/svg-0.2.el"; + sha256 = "14yfi27v3zdzh1chcjiq4l63iwh0vd99wv1z4w7agr33540jybc5"; }; packageRequires = [ emacs ]; meta = { @@ -2495,6 +2818,21 @@ license = lib.licenses.free; }; }) {}; + system-packages = callPackage ({ elpaBuild, emacs, fetchurl, lib }: + elpaBuild { + pname = "system-packages"; + ename = "system-packages"; + version = "1.0.10"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/system-packages-1.0.10.tar"; + sha256 = "1vwf2j0fxrsqmrgc7x5nkkg0vlhwgxppc4w7kb5is6dgrssskpb5"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://elpa.gnu.org/packages/system-packages.html"; + license = lib.licenses.free; + }; + }) {}; tNFA = callPackage ({ elpaBuild, fetchurl, lib, queue }: elpaBuild { pname = "tNFA"; @@ -2684,6 +3022,21 @@ license = lib.licenses.free; }; }) {}; + vcl-mode = callPackage ({ elpaBuild, fetchurl, lib }: + elpaBuild { + pname = "vcl-mode"; + ename = "vcl-mode"; + version = "1.1"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/vcl-mode-1.1.el"; + sha256 = "1r70pmvr95k5f2xphvhliqvyh7al0qabm7wvkamximcssvs38q1h"; + }; + packageRequires = []; + meta = { + homepage = "https://elpa.gnu.org/packages/vcl-mode.html"; + license = lib.licenses.free; + }; + }) {}; vdiff = callPackage ({ elpaBuild, emacs, fetchurl, hydra, lib }: elpaBuild { pname = "vdiff"; @@ -2714,6 +3067,39 @@ license = lib.licenses.free; }; }) {}; + visual-filename-abbrev = callPackage ({ elpaBuild + , emacs + , fetchurl + , lib }: + elpaBuild { + pname = "visual-filename-abbrev"; + ename = "visual-filename-abbrev"; + version = "1.0"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/visual-filename-abbrev-1.0.el"; + sha256 = "086cmyv08jd3qadjrd14b7c932i8msxjdvxxa36pyac18d3i50kj"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://elpa.gnu.org/packages/visual-filename-abbrev.html"; + license = lib.licenses.free; + }; + }) {}; + visual-fill = callPackage ({ elpaBuild, fetchurl, lib }: + elpaBuild { + pname = "visual-fill"; + ename = "visual-fill"; + version = "0.1"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/visual-fill-0.1.el"; + sha256 = "1y4xqcr1am74y9jy7kdkjigvx7h3208si5lm4p6a0kzxa3xizhvx"; + }; + packageRequires = []; + meta = { + homepage = "https://elpa.gnu.org/packages/visual-fill.html"; + license = lib.licenses.free; + }; + }) {}; vlf = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild { pname = "vlf"; @@ -2789,6 +3175,21 @@ license = lib.licenses.free; }; }) {}; + webfeeder = callPackage ({ elpaBuild, emacs, fetchurl, lib }: + elpaBuild { + pname = "webfeeder"; + ename = "webfeeder"; + version = "1.0.0"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/webfeeder-1.0.0.tar"; + sha256 = "06y5vxw9m6pmbrzb8v2i3w9dnhgqxz06vyx1knmgi9cczlrj4a64"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://elpa.gnu.org/packages/webfeeder.html"; + license = lib.licenses.free; + }; + }) {}; websocket = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }: elpaBuild { pname = "websocket"; @@ -2834,16 +3235,16 @@ license = lib.licenses.free; }; }) {}; - wisi = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }: + wisi = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib, seq }: elpaBuild { pname = "wisi"; ename = "wisi"; - version = "1.1.6"; + version = "2.1.0"; src = fetchurl { - url = "https://elpa.gnu.org/packages/wisi-1.1.6.tar"; - sha256 = "0p7hm9l4gbp50rmpqna6jnc1pss2axdd6m6hk9ik4afbz0knzwnk"; + url = "https://elpa.gnu.org/packages/wisi-2.1.0.tar"; + sha256 = "143xfdr7agyc52wz9zsx67rvvnjs4rlj7j3cbdhvs6wyl7whyg38"; }; - packageRequires = [ cl-lib emacs ]; + packageRequires = [ cl-lib emacs seq ]; meta = { homepage = "https://elpa.gnu.org/packages/wisi.html"; license = lib.licenses.free; @@ -2868,10 +3269,10 @@ elpaBuild { pname = "xclip"; ename = "xclip"; - version = "1.4"; + version = "1.8"; src = fetchurl { - url = "https://elpa.gnu.org/packages/xclip-1.4.el"; - sha256 = "12rw790wzj10jcsqf292hc7qx18ybyay8jqji4shmrv16igrzl6p"; + url = "https://elpa.gnu.org/packages/xclip-1.8.el"; + sha256 = "1ymc9dhpwbh92ad7w64p8xlrjdws5c9h90h47ckh6479h8r697xg"; }; packageRequires = []; meta = { @@ -2883,10 +3284,10 @@ elpaBuild { pname = "xelb"; ename = "xelb"; - version = "0.15"; + version = "0.17"; src = fetchurl { - url = "https://elpa.gnu.org/packages/xelb-0.15.tar"; - sha256 = "031rvgprsqhf344p9wsczr50vj2qcpwdmhxi80jdbrsm7wyxf3qz"; + url = "https://elpa.gnu.org/packages/xelb-0.17.tar"; + sha256 = "0k98580vq253fjdgklgqlwl450saninfw39fbq8lv3xsnp3dcgml"; }; packageRequires = [ cl-generic emacs ]; meta = { @@ -2909,6 +3310,21 @@ license = lib.licenses.free; }; }) {}; + xr = callPackage ({ elpaBuild, fetchurl, lib }: + elpaBuild { + pname = "xr"; + ename = "xr"; + version = "1.10"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/xr-1.10.tar"; + sha256 = "16p68rj5h609pnbp7y0jiiq1zkbksh4qqi1q8yby3ldj5x9sfpwc"; + }; + packageRequires = []; + meta = { + homepage = "https://elpa.gnu.org/packages/xr.html"; + license = lib.licenses.free; + }; + }) {}; yasnippet = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }: elpaBuild { pname = "yasnippet"; @@ -2942,6 +3358,21 @@ license = lib.licenses.free; }; }) {}; + zones = callPackage ({ elpaBuild, fetchurl, lib }: + elpaBuild { + pname = "zones"; + ename = "zones"; + version = "2018.12.28"; + src = fetchurl { + url = "https://elpa.gnu.org/packages/zones-2018.12.28.el"; + sha256 = "1jd7wy5w96xppdlcl4dzq4wqhr2x6f4hzjps9f4kz256l4ia6hm0"; + }; + packageRequires = []; + meta = { + homepage = "https://elpa.gnu.org/packages/zones.html"; + license = lib.licenses.free; + }; + }) {}; ztree = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }: elpaBuild { pname = "ztree"; diff --git a/pkgs/applications/editors/emacs-modes/elpa-packages.nix b/pkgs/applications/editors/emacs-modes/elpa-packages.nix index 26f4b791cc02608314cebac002a5eee05a955152..b9f1ab53baa9d5f88049a2924dad2599872afb5a 100644 --- a/pkgs/applications/editors/emacs-modes/elpa-packages.nix +++ b/pkgs/applications/editors/emacs-modes/elpa-packages.nix @@ -45,6 +45,7 @@ self: stream = markBroken super.stream; # requires emacs-25 cl-lib = null; # builtin tle = null; # builtin + advice = null; # builtin }; elpaPackages = super // overrides; diff --git a/pkgs/applications/editors/emacs-modes/emacs-libvterm/default.nix b/pkgs/applications/editors/emacs-modes/emacs-libvterm/default.nix index f37d2289342ae4fc4690c665c47c67b480e95257..8d39c185acad3082bd4db06154fd9c1d0f5d6710 100644 --- a/pkgs/applications/editors/emacs-modes/emacs-libvterm/default.nix +++ b/pkgs/applications/editors/emacs-modes/emacs-libvterm/default.nix @@ -19,13 +19,13 @@ let in stdenv.mkDerivation rec { name = "emacs-libvterm-${version}"; - version = "unstable-2017-11-24"; + version = "unstable-2018-11-16"; src = fetchFromGitHub { owner = "akermu"; repo = "emacs-libvterm"; - rev = "829ae86f60c3a54048804997edffa161c77a2f4b"; - sha256 = "1xb24kpvypvskh4vr3b45nl2m2vsczcr9rnsr2sjzf32mnapyjnp"; + rev = "8be9316156be75a685c0636258b2fec2daaf5ab5"; + sha256 = "059js4aa7xgqcpaicgy4gz683hppa1iyp1r98mnms5hd31a304k8"; }; nativeBuildInputs = [ cmake ]; @@ -36,6 +36,6 @@ in stdenv.mkDerivation rec { installPhase = '' install -d $out/share/emacs/site-lisp install ../*.el $out/share/emacs/site-lisp - install ../*.so $out/share/emacs/site-lisp + install ./*.so $out/share/emacs/site-lisp ''; } diff --git a/pkgs/applications/editors/emacs-modes/emms/default.nix b/pkgs/applications/editors/emacs-modes/emms/default.nix index c873a7c0ca8b03b627939000e73cc6d4899761e6..f966989b5a30279012a0e7c149d7ffe264ad19ec 100644 --- a/pkgs/applications/editors/emacs-modes/emms/default.nix +++ b/pkgs/applications/editors/emacs-modes/emms/default.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { src = fetchurl { # These guys don't use ftp.gnu.org... - url = "http://www.gnu.org/software/emms/download/${name}.tar.gz"; + url = "https://www.gnu.org/software/emms/download/${name}.tar.gz"; sha256 = "151mfx97x15lfpd1qc2sqbvhwhvg46axgh15qyqmdy42vh906xav"; }; @@ -62,7 +62,7 @@ stdenv.mkDerivation rec { support, with no effort from your side. ''; - homepage = http://www.gnu.org/software/emms/; + homepage = https://www.gnu.org/software/emms/; license = stdenv.lib.licenses.gpl3Plus; diff --git a/pkgs/applications/editors/emacs-modes/font-lock-plus/default.nix b/pkgs/applications/editors/emacs-modes/font-lock-plus/default.nix index b4ee54f3bd31d212200bca5e6ab90e78b4aa8bc6..fdb28f4471929ee21d65826449269a918a84c721 100644 --- a/pkgs/applications/editors/emacs-modes/font-lock-plus/default.nix +++ b/pkgs/applications/editors/emacs-modes/font-lock-plus/default.nix @@ -1,7 +1,7 @@ -{ fetchurl, lib, melpaBuild }: +{ fetchurl, lib, melpaBuild, writeText }: melpaBuild { - pname = "font-lock-plus"; + pname = "font-lock+"; version = "20180101.25"; src = fetchurl { @@ -10,11 +10,7 @@ melpaBuild { name = "font-lock+.el"; }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/font-lock+"; - sha256 = "1wn99cb53ykds87lg9mrlfpalrmjj177nwskrnp9wglyqs65lk4g"; - name = "font-lock-plus"; - }; + recipe = writeText "recipe" "(font-lock+ :fetcher github :repo \"\")"; meta = { homepage = "https://melpa.org/#/font-lock+"; diff --git a/pkgs/applications/editors/emacs-modes/hsc3/default.nix b/pkgs/applications/editors/emacs-modes/hsc3/default.nix index 150bd3593fdb5e2ae78418ad78acf42a02fd789e..199a5886e1df2c25935d03b447c82e16a789676d 100644 --- a/pkgs/applications/editors/emacs-modes/hsc3/default.nix +++ b/pkgs/applications/editors/emacs-modes/hsc3/default.nix @@ -8,9 +8,9 @@ let version = "0.15"; in stdenv.mkDerivation { name = "hsc3-mode-${version}"; src = fetchurl { - url = http://hackage.haskell.org/package/hsc3-0.15/hsc3-0.15.tar.gz; + url = mirror://hackage/hsc3-0.15/hsc3-0.15.tar.gz; sha256 = "2f3b15655419cf8ebe25ab1c6ec22993b2589b4ffca7c3a75ce478ca78a0bde6"; - }; + }; buildInputs = [ emacs ]; diff --git a/pkgs/applications/editors/emacs-modes/icicles/default.nix b/pkgs/applications/editors/emacs-modes/icicles/default.nix index 884d1724ef8d5e33b244afd442216c44021a05da..17cf213a799da696a86ae45d12c8cfb97cd4a950 100644 --- a/pkgs/applications/editors/emacs-modes/icicles/default.nix +++ b/pkgs/applications/editors/emacs-modes/icicles/default.nix @@ -2,28 +2,28 @@ let modules = [ - { name = "icicles.el"; sha256 = "0wxak7wh0rrb3h77ay2vypbb53skcfbrv71xkajhax0w12q6zpaj"; } - { name = "icicles-chg.el"; sha256 = "0qavq9vy566l3qi9n8akrqjcgy8n6k0j8d7vsc7p1jhqvvq812gh"; } - { name = "icicles-cmd1.el"; sha256 = "0lgk6ngl9090iqvvw1c227q7p37mr73cc6ap3ky6b0nv3ql8rkyi"; } - { name = "icicles-cmd2.el"; sha256 = "15swxk7fr7wsqpf26xzbvyk12ikkvfcyh9w8wmnpc38dmpyq79rb"; } + { name = "icicles.el"; sha256 = "1744n5g2kmv3r261ipa0fhrgnapl0chxz57bbbls3bp30cnnfrs7"; } + { name = "icicles-chg.el"; sha256 = "058sxa8wh3vqr3zy677q6m2lfx4n477rnb8921s1p6wgs55v7dp4"; } + { name = "icicles-cmd1.el"; sha256 = "064hyy8nxvlg298s5qnmk7aczbasfpddhx57jxaldyyzkca3n2h5"; } + { name = "icicles-cmd2.el"; sha256 = "0a77fx0pxyfrg9nxvqvzz247v6cljjfz9dnfs7lc8qgdvksxs261"; } { name = "icicles-doc1.el"; sha256 = "04j5qvj7pqnjh8h2y2sdgi7x55czdp9xn7yysr3bzcmr1rq5p4bz"; } { name = "icicles-doc2.el"; sha256 = "1k8vfhi3fa4bzsxr074bw5q6srvq6z6hi61rzlxdw7pah6qf7hcz"; } { name = "icicles-face.el"; sha256 = "1pvygqzmh6ag0zhfjn1vhdvlhxybwxzj22ah2pc0ls80dlywhi4l"; } - { name = "icicles-fn.el"; sha256 = "05v7sc2k2mjm1mbnlkpi01aaxnxnb40540y7g70dg534scjd7w36"; } - { name = "icicles-mac.el"; sha256 = "0nhbwswz6xz7q4g8flszgx12q4gi4nx1d3n4jgz6svr2kk2vmlb4"; } - { name = "icicles-mcmd.el"; sha256 = "05dniz6337v9r15w8r2zad0n2h6jlygzjp7vw75vvq8mds0acmia"; } + { name = "icicles-fn.el"; sha256 = "02vwa9dx9393d7kxrf443r1lj7y9ihkh25cmd418pwfgmw2yd5s7"; } + { name = "icicles-mac.el"; sha256 = "13nxgg9k5w39lga90jwn1c7v756dqlfln2qh312vfaxfjfijfv9r"; } + { name = "icicles-mcmd.el"; sha256 = "17d4zlf3r09wmarwyc1cbjv0pyklg4cdhwh3h643d4v8mhs5hnil"; } { name = "icicles-mode.el"; sha256 = "1xfv8nryf5y2gygg02naawzm5qhrkba3h84g43518r1xc6rgbpp6"; } - { name = "icicles-opt.el"; sha256 = "10n4p999ylkapirs75y5fh33lpiyx42i3ajzl2zjfwyr1zksg1iz"; } - { name = "icicles-var.el"; sha256 = "1r5gb01zg8nf2qryq9saxfpnzlymmppsk7w1g09lac35c87vh8yl"; } + { name = "icicles-opt.el"; sha256 = "154mgcd1ksnmlyb4ijy2njqq75i8cj4k47phplxsi648pzqnda77"; } + { name = "icicles-var.el"; sha256 = "0f94299q1z0va4v1s5ijpksaqlaz88ay1qbmlzq0i2wnxnsliys8"; } ]; forAll = f: map f modules; in stdenv.mkDerivation rec { - version = "2018-07-02"; + version = "2019-02-22"; name = "icicles-${version}"; - srcs = forAll ({name, sha256}: fetchurl { url = "http://www.emacswiki.org/emacs/download/${name}"; inherit sha256; }); + srcs = forAll ({name, sha256}: fetchurl { url = "https://www.emacswiki.org/emacs/download/${name}"; inherit sha256; }); buildInputs = [ emacs ]; @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { installPhase = "mkdir -p $out/share/emacs/site-lisp/emacswiki/${name}/; cp *.el *.elc $out/share/emacs/site-lisp/emacswiki/${name}/"; meta = { - homepage = http://www.emacswiki.org/emacs/Icicles; + homepage = https://www.emacswiki.org/emacs/Icicles; description = "Enhance Emacs minibuffer input with cycling and powerful completion"; license = stdenv.lib.licenses.gpl2Plus; platforms = emacs.meta.platforms; diff --git a/pkgs/applications/editors/emacs-modes/let-alist/default.nix b/pkgs/applications/editors/emacs-modes/let-alist/default.nix index 05ddfbf6c16d9a8db90f3102647d9648ce8a3dac..f6fee846f920b13b8cec38ab49d0f87a5f37c648 100644 --- a/pkgs/applications/editors/emacs-modes/let-alist/default.nix +++ b/pkgs/applications/editors/emacs-modes/let-alist/default.nix @@ -4,7 +4,7 @@ stdenv.mkDerivation rec { name = "let-alist-1.0.3"; src = fetchurl { - url = "http://elpa.gnu.org/packages/let-alist-1.0.3.el"; + url = "https://elpa.gnu.org/packages/let-alist-1.0.3.el"; sha256 = "12n1cmjc7hzyy0jmsdxqz1hqzg4ri4nvvi0p9mw1d6v44xzfm0mx"; }; @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { ''; meta = { - homepage = http://elpa.gnu.org/packages/let-alist.html; + homepage = https://elpa.gnu.org/packages/let-alist.html; description = "Easily let-bind values of an assoc-list by their names"; license = stdenv.lib.licenses.gpl3Plus; }; diff --git a/pkgs/applications/editors/emacs-modes/melpa-generated.nix b/pkgs/applications/editors/emacs-modes/melpa-generated.nix index 554d48ecc51e173bdba9787e923b50ac885b5617..10910539d0354a851e6ffd55a9a68b0a3ec2fa44 100644 --- a/pkgs/applications/editors/emacs-modes/melpa-generated.nix +++ b/pkgs/applications/editors/emacs-modes/melpa-generated.nix @@ -34,12 +34,12 @@ melpaBuild { pname = "_0xc"; ename = "0xc"; - version = "20170125.1953"; + version = "20190218.1717"; src = fetchFromGitHub { owner = "AdamNiederer"; repo = "0xc"; - rev = "31890af88234e4e098f1c340a5990515b934c7f7"; - sha256 = "1yp3wm0h6rkzxw950fnhw310npn56s9vl294sw8nyij85s2hw5qk"; + rev = "167e93ce863381a58988655927042514d984ad49"; + sha256 = "0msx29il7c01njlc4pwxs3f3qcvyakgjcivxaa287jibf67yg0ph"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3fbb2c86a50a8df9a3967787fc10f33beab2c933/recipes/0xc"; @@ -111,12 +111,12 @@ melpaBuild { pname = "a"; ename = "a"; - version = "20170720.553"; + version = "20180907.253"; src = fetchFromGitHub { owner = "plexus"; repo = "a.el"; - rev = "3af0122abac723f0d3dc21ee50eeb81afa26d361"; - sha256 = "0grwpy4ssmn2m8aihfkxb7ifl7ql2hgicw16wzl0crpy5fndh1mp"; + rev = "8583685c32069a73ccae0100e990e7b39c901737"; + sha256 = "00v9w6qg3bkwdhypq0ssf0phdh0f4bcq59c20lngd6vhk0204dqi"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a226f1d81cd1ae81b91c1102fbe40aac2eddcaa8/recipes/a"; @@ -216,12 +216,12 @@ melpaBuild { pname = "abl-mode"; ename = "abl-mode"; - version = "20170604.1309"; + version = "20190403.204"; src = fetchFromGitHub { owner = "afroisalreadyinu"; repo = "abl-mode"; - rev = "9aff997fe7b4caded60150a832e3704ac55e69e5"; - sha256 = "0yfk7s7n10lkf11dy1l0xi0bbsjbam5lqq8kj9hxpz2zkddbaljl"; + rev = "44b7d946bc3a693f5a931c4a62c0a67d42e8d4dc"; + sha256 = "070c408bq5pliq0xbd1861l6db4sbfpnj3r6aknbqh2vb7l4yimb"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/70a52edb381daa9c4dcc9f7e511175b38fc141be/recipes/abl-mode"; @@ -234,6 +234,35 @@ license = lib.licenses.free; }; }) {}; + abs-mode = callPackage ({ emacs + , erlang + , fetchFromGitHub + , fetchurl + , flymake ? null + , lib + , maude-mode + , melpaBuild }: + melpaBuild { + pname = "abs-mode"; + ename = "abs-mode"; + version = "20190326.1002"; + src = fetchFromGitHub { + owner = "abstools"; + repo = "abs-mode"; + rev = "a9a512992f681669dc59fe9ca86f12b9688b5454"; + sha256 = "0v6d7cxnj4mil7c7y4m1csiznl6rmzxg9snwhhv6wdqfw112kn8j"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/aabccc4061e7764069796e12ee9688b67651cf70/recipes/abs-mode"; + sha256 = "148y99iaxcnjaacw017chwq0sq05ywgy5jx1lhp9ly7innrl9i1k"; + name = "recipe"; + }; + packageRequires = [ emacs erlang flymake maude-mode ]; + meta = { + homepage = "https://melpa.org/#/abs-mode"; + license = lib.licenses.free; + }; + }) {}; abyss-theme = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -408,12 +437,12 @@ melpaBuild { pname = "ac-dcd"; ename = "ac-dcd"; - version = "20170323.601"; + version = "20190326.1245"; src = fetchFromGitHub { owner = "atilaneves"; repo = "ac-dcd"; - rev = "1614aa624252e3445b0392c8a9b7197084f3e422"; - sha256 = "02slswlcjh1rjc9hglvbizhvwp57xcnbhs8cmlcayw0yjwp6mnvb"; + rev = "143be7d67eeb03929f01fc04ee79db8f18f35604"; + sha256 = "1xms02m8r5n2glzrw6kp5jdnqkar46g8kpq46sg5m1x61q9ny9iq"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/64142a4b14531409f45f02a8053ed8948f48221d/recipes/ac-dcd"; @@ -435,12 +464,12 @@ melpaBuild { pname = "ac-emacs-eclim"; ename = "ac-emacs-eclim"; - version = "20170924.1339"; + version = "20180911.421"; src = fetchFromGitHub { owner = "emacs-eclim"; repo = "emacs-eclim"; - rev = "322a796be1619fb2ade6de6d51111e5f3f5776d0"; - sha256 = "05sil1pazr7rdg6hq34p5ba7rnp3rp2lfnhsjpr26fisfhkbbaic"; + rev = "edff7e0e30c87036710d88fb0b7a4644750858e8"; + sha256 = "0ywifqdhv7cibgl42m7i15widna9i1dk5kl5rglyql7hy05nk9gj"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1e9d3075587fbd9ca188535fd945a7dc451c6d7e/recipes/ac-emacs-eclim"; @@ -629,14 +658,14 @@ ename = "ac-html"; version = "20151005.31"; src = fetchFromGitHub { - owner = "cheunghy"; + owner = "zhangkaiyulw"; repo = "ac-html"; rev = "3de94a46d8cb93e8e62a1b6bdebbde4d65dc7cc2"; sha256 = "1sip87j4wvlf9pfnpr0zyyhys1dd9smh6hy3zs08ihbdh98krgs5"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/ce370d60b2f4dd0570b631f6ca92a221e1fe2de6/recipes/ac-html"; - sha256 = "0qf8f75b6dvy844dq8vh8d9c6k599rh1ynjcif9bwvdpf6pxwvqa"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3416586d4d782cdd61a56159c5f80a0ca9b3ddf4/recipes/ac-html"; + sha256 = "1vidmvylwwvraf8k63dvxv47ism49n6pp0f38l5rl4iaznhkdr84"; name = "recipe"; }; packageRequires = [ auto-complete dash f s ]; @@ -786,12 +815,12 @@ melpaBuild { pname = "ac-js2"; ename = "ac-js2"; - version = "20140906.442"; + version = "20190101.133"; src = fetchFromGitHub { owner = "ScottyB"; repo = "ac-js2"; - rev = "721c482e1d4a08f4a29a74437257d573e8f69969"; - sha256 = "0yn9333rjs2pzb1wk1japclsqagdcl28j0yjl3q5b70g5gi5vx7k"; + rev = "2b56d09a16c1a0ce514cc1b85d64cb1be4502723"; + sha256 = "11q4aaiqr4xnw5j0yqj35gc4a290az75qdyhadj09xr2j2jay35x"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/255588a330e4c9a03517885092d5678375aa7850/recipes/ac-js2"; @@ -895,12 +924,12 @@ melpaBuild { pname = "ac-php"; ename = "ac-php"; - version = "20171201.134"; + version = "20190406.716"; src = fetchFromGitHub { owner = "xcwen"; repo = "ac-php"; - rev = "f489da3ceb04ff6efd9da5c5f56d71f49966e1d4"; - sha256 = "081v4srqzzwd8v07z013m756qrxll5fpzwf8km0686nc5gcg6q9l"; + rev = "bd5aa196a4ece8fd5f606fdbf0b27a61d5dbd4dd"; + sha256 = "1apbsa63rvnf0jczrpvn9jxvgam8sn2lhzlxapn9b6pwgivlps4x"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/ac-php"; @@ -914,7 +943,6 @@ }; }) {}; ac-php-core = callPackage ({ dash - , emacs , f , fetchFromGitHub , fetchurl @@ -922,24 +950,23 @@ , melpaBuild , php-mode , popup - , s - , xcscope }: + , s }: melpaBuild { pname = "ac-php-core"; ename = "ac-php-core"; - version = "20180629.144"; + version = "20190406.1615"; src = fetchFromGitHub { owner = "xcwen"; repo = "ac-php"; - rev = "fac22638f957abf404bbee4e16d9d7b67fcd42d2"; - sha256 = "0fsd8cfwqq2jgs2f0nk5g8ybm1mim51n4cfm5n5znvrkwp7a8z2y"; + rev = "998313d7ebb775261b64a5347697d4926c75d3f1"; + sha256 = "1lin8lsgmb31vn2rcry1bpmjgrwz4cjccdn7vyf96klw5a49a4wg"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/ac-php-core"; sha256 = "0vk3jsxb7dgk5a6pap3bdqkqwpszil0rck1c3y0wyxrlj2y1jcvn"; name = "recipe"; }; - packageRequires = [ dash emacs f php-mode popup s xcscope ]; + packageRequires = [ dash f php-mode popup s ]; meta = { homepage = "https://melpa.org/#/ac-php-core"; license = lib.licenses.free; @@ -982,12 +1009,12 @@ melpaBuild { pname = "ac-rtags"; ename = "ac-rtags"; - version = "20170522.2154"; + version = "20181117.1149"; src = fetchFromGitHub { owner = "Andersbakken"; repo = "rtags"; - rev = "7e6b6f21935eedbe4678ba91c5531ac162b51a5a"; - sha256 = "12629d1s8rplhjh17n3bmgnkpscq4gljgyl84j8qyhh40dwq1qk0"; + rev = "5e51faa79016b3302d8037e13329a4320de524f5"; + sha256 = "0qw6l96k2hxv3jvjw3nvas7m73jqj7mcchawzss8by92l61n0cx7"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/ac-rtags"; @@ -1096,12 +1123,12 @@ melpaBuild { pname = "academic-phrases"; ename = "academic-phrases"; - version = "20180318.438"; + version = "20180723.321"; src = fetchFromGitHub { owner = "nashamri"; repo = "academic-phrases"; - rev = "0823ed8c24b26c32f909b896a469833ec4d7b656"; - sha256 = "0qfzsq8jh05w4zkr0cvq3i1hdn97bq344vcqjg46sib26x3wpz6r"; + rev = "25d9cf67feac6359cb213f061735e2679c84187f"; + sha256 = "0m32jpg6n0azz2f4y57y92zfvzm54ankx5cm06gli2zw2v1218fw"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/fe4323043fb875c0252861800e61fdd0a51ed453/recipes/academic-phrases"; @@ -1280,12 +1307,12 @@ melpaBuild { pname = "ace-link"; ename = "ace-link"; - version = "20180308.100"; + version = "20190406.1944"; src = fetchFromGitHub { owner = "abo-abo"; repo = "ace-link"; - rev = "fae5d508ff519ba1fab21c51f46c0906fd82229f"; - sha256 = "118dp8w0z475j67gvl1dj137glbli2ykbm934vdvlz6q0k94vds7"; + rev = "30937c6fe1ffe016dc0387f3060f67eb8b5d229a"; + sha256 = "09l9zzs2bskf1mmlykjcqpw4vgnlxmq9qf0d78m1ngq7c9ymlnqw"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/68032f40c0ce4170a22db535be4bfa7099f61f85/recipes/ace-link"; @@ -1308,12 +1335,12 @@ melpaBuild { pname = "ace-mc"; ename = "ace-mc"; - version = "20160408.1737"; + version = "20190205.2349"; src = fetchFromGitHub { owner = "mm--"; repo = "ace-mc"; - rev = "b106bf6a6c78c3e026fbe9a99a34d6239adce4fd"; - sha256 = "1zgmqgh5dff914dw7i8s142znd849gv4xh86f8q8agx5r7almx14"; + rev = "6877880efd99e177e4e9116a364576def3da391b"; + sha256 = "180licc7w5b6f42ifwvllbnmf3aq8cbr8jhkbk37lzick4sv10d2"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/62e3a5f23ce219b16081cb0bba9fc4699e11fafa/recipes/ace-mc"; @@ -1335,12 +1362,12 @@ melpaBuild { pname = "ace-pinyin"; ename = "ace-pinyin"; - version = "20170430.2326"; + version = "20190122.2002"; src = fetchFromGitHub { owner = "cute-jumper"; repo = "ace-pinyin"; - rev = "a9df88c1e6a32a4f4895acbb8c45383693c494c1"; - sha256 = "18xi669c15k0m1wb7x231ch1kzqgpi4nm54c42ajrkfq7l8kxq8w"; + rev = "4915b2413359d85002918e322dbc90c4984b4277"; + sha256 = "1yv3445p6w10wj310ffla2ghh81fynwgmxpsfkwgbcsbcjx9hmsl"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/ace-pinyin"; @@ -1362,12 +1389,12 @@ melpaBuild { pname = "ace-popup-menu"; ename = "ace-popup-menu"; - version = "20171231.2215"; + version = "20181231.2302"; src = fetchFromGitHub { owner = "mrkkrp"; repo = "ace-popup-menu"; - rev = "7b8ad628a058d32c420f7615927a34a5d51a7ad3"; - sha256 = "183gc5lidxahfzik9ima2vph2sdi2rd9805kfnghsmwhck275i2r"; + rev = "580f2eab0e8621ae08b85b70cd573a764a5e0f7d"; + sha256 = "0f4rzbx1apl6pzkbg43sjirbr4nm97bgfbvk15w68jj91q804b9h"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/53742e2242101c4b3b3901f5c74e24facf62c7d6/recipes/ace-popup-menu"; @@ -1388,12 +1415,12 @@ melpaBuild { pname = "ace-window"; ename = "ace-window"; - version = "20180607.1223"; + version = "20190326.242"; src = fetchFromGitHub { owner = "abo-abo"; repo = "ace-window"; - rev = "92d20e7e75dbb2ba0b879d3aedb8bed51fcee6a7"; - sha256 = "0svk91yx9plr8027q57g2csqlvmxdp3rv5knpd0hl0hq0hk0j750"; + rev = "301c762f2fe36737ada479d9037776b1ec3741e3"; + sha256 = "1d8jnpb6kxvv5rfmprgfpfv3vs537pwj0y1g597yx6xdl0ilan3m"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/42fe131d3c2ea498e4df30ba539a6b91c00f5b07/recipes/ace-window"; @@ -1482,6 +1509,34 @@ license = lib.licenses.free; }; }) {}; + activity-watch-mode = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , projectile + , request }: + melpaBuild { + pname = "activity-watch-mode"; + ename = "activity-watch-mode"; + version = "20181228.34"; + src = fetchFromGitHub { + owner = "pauldub"; + repo = "activity-watch-mode"; + rev = "27a0841b32dfd2b691a1dcf3a4a50d74660676b1"; + sha256 = "1hfmll3g33529pshzvh2gxqr0h53p1v68wq0zlq2h2wfml89bzr9"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/9780c413da8001651191fb8f9708fe9691d714cf/recipes/activity-watch-mode"; + sha256 = "0k0ai6658gb43c4ylrq66zqzrfh6ksvkf0kxj2qx8a5a1aw9bd4d"; + name = "recipe"; + }; + packageRequires = [ emacs projectile request ]; + meta = { + homepage = "https://melpa.org/#/activity-watch-mode"; + license = lib.licenses.free; + }; + }) {}; adafruit-wisdom = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -1697,12 +1752,12 @@ melpaBuild { pname = "aggressive-fill-paragraph"; ename = "aggressive-fill-paragraph"; - version = "20170902.705"; + version = "20180910.116"; src = fetchFromGitHub { owner = "davidshepherd7"; repo = "aggressive-fill-paragraph-mode"; - rev = "c5185ad673c01e5103ab4a078095c3e2ce7ab039"; - sha256 = "11dppmpdv26m9l5cnnnylihiss2a09zyyb7kqdrk3djdqvqplqb4"; + rev = "39eb7ac73976d4d4044ef3d750c3ade967d036e1"; + sha256 = "1ly79z9aqy3b2wq11ifvvkls9qqbpkbb8hj7nsvpq59vqa9fknli"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/982f5936f2d83222263df2886ca0b629076366bb/recipes/aggressive-fill-paragraph"; @@ -1724,12 +1779,12 @@ melpaBuild { pname = "aggressive-indent"; ename = "aggressive-indent"; - version = "20180626.1721"; + version = "20190218.1531"; src = fetchFromGitHub { owner = "Malabarba"; repo = "aggressive-indent-mode"; - rev = "8e70039c7190639c43794cb75eae118c2faaa0d1"; - sha256 = "1h46krxk7wdhfvfmhdzp6c4dh2x53np41a17372k6b74hd15mgl0"; + rev = "3803f24020ef0a656dc5345713c4964073aec9a8"; + sha256 = "0dbg4lmzq0r7pvqx0wqxdcnmqz76nk9sdbwg276cmflqj9m0q7z1"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1e6aed365c42987d64d0cd9a8a6178339b1b39e8/recipes/aggressive-indent"; @@ -1742,6 +1797,32 @@ license = lib.licenses.free; }; }) {}; + agtags = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "agtags"; + ename = "agtags"; + version = "20181229.1634"; + src = fetchFromGitHub { + owner = "vietor"; + repo = "agtags"; + rev = "7a59137db7780678cf86d0c1193da5fde38bc759"; + sha256 = "1mr1k7bx5zq54j3vhjhny5wzh3z8dh94rcv0bqlmzc8ibidj557p"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/eb6677262303a0cad2d844db77693c00d9bc575a/recipes/agtags"; + sha256 = "07kpdbchplkbspid8gnjsprbdwf244nr2q596pw6jl17bysbbbk7"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/agtags"; + license = lib.licenses.free; + }; + }) {}; ahg = callPackage ({ fetchhg , fetchurl , lib @@ -1749,11 +1830,11 @@ melpaBuild { pname = "ahg"; ename = "ahg"; - version = "20180125.944"; + version = "20181120.501"; src = fetchhg { url = "https://bitbucket.com/agriggio/ahg"; - rev = "622b519d8586"; - sha256 = "14jayh9bn8f6mjiln6h7ny404g0iy8zr7b6s6faqqhd840h519mz"; + rev = "7213c02fdbd6"; + sha256 = "0dxgb033rzayjah2yyxprjsk7ir25a5pqjp3lmx8dj8g9bcxddx5"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/ahg"; @@ -1774,16 +1855,16 @@ melpaBuild { pname = "ahk-mode"; ename = "ahk-mode"; - version = "20160320.1521"; + version = "20190322.2323"; src = fetchFromGitHub { owner = "ralesi"; repo = "ahk-mode"; - rev = "9cfc4840507f6cc8016fdede84ad90df53285359"; - sha256 = "07qpwa990bgs9028rqqk344c3z4hnr1jkfzcx9fi4z5k756zmw3b"; + rev = "66e02a3b44d672787b1f13a30008801a9efca65b"; + sha256 = "15x1hwar0i89y2vbjrfp7d0b2fj48zqribfm4323k1fc18hbzrb7"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/d8674b54ad5e17d1da1e499c7d8113f8acd8fd5d/recipes/ahk-mode"; - sha256 = "066l4hsb49wbyv381qgn9k4hn8gxlzi20h3qaim9grngjj5ljbni"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/e608f40d00a3b2a80a6997da00e7d04f76d8ef0d/recipes/ahk-mode"; + sha256 = "0jx5vhlfw5r6l4125bjjbf7dl1589ac6j419swx26k3p8p58d93r"; name = "recipe"; }; packageRequires = [ emacs ]; @@ -1882,12 +1963,12 @@ melpaBuild { pname = "alan-mode"; ename = "alan-mode"; - version = "20180711.2148"; + version = "20190406.2255"; src = fetchFromGitHub { owner = "M-industries"; repo = "AlanForEmacs"; - rev = "02869448b4637516064900caf135aeb4f07bc5e4"; - sha256 = "03y07041rwi7fab9slavh15xh7m4y6dbk44gd24dw5drb5kvfdiz"; + rev = "a5a705b64230bb14ad1d19bcc0613e3261e8cbe5"; + sha256 = "1jhsrb26fpm9yykp974rx77ika76zq3gq7pcjgixw4d4ga737d95"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6e52314db81dad3517ab400099b032260c3e3e6f/recipes/alan-mode"; @@ -1900,6 +1981,33 @@ license = lib.licenses.free; }; }) {}; + alarm-clock = callPackage ({ emacs + , f + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "alarm-clock"; + ename = "alarm-clock"; + version = "20190211.2107"; + src = fetchFromGitHub { + owner = "wlemuel"; + repo = "alarm-clock"; + rev = "d5706ace823f75136107c09c6dad79df7c3b290e"; + sha256 = "1jaagkzfdn9z1plw7ky7gabp45gv0a0gap2a55is1i9cyy83kzmw"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/440fe05fa0d10d54e9c52e2e54e71a1321325376/recipes/alarm-clock"; + sha256 = "1cgrj6dzpx0q15qzr9d342wg8w92c2r4zmk7rif2h87qxr66fbrg"; + name = "recipe"; + }; + packageRequires = [ emacs f ]; + meta = { + homepage = "https://melpa.org/#/alarm-clock"; + license = lib.licenses.free; + }; + }) {}; alchemist = callPackage ({ company , dash , elixir-mode @@ -1965,12 +2073,12 @@ melpaBuild { pname = "alect-themes"; ename = "alect-themes"; - version = "20180504.1020"; + version = "20190203.1312"; src = fetchFromGitHub { owner = "alezost"; repo = "alect-themes"; - rev = "4d90833a7381123a979f73fa97a013071ca7ff00"; - sha256 = "19cb6zgg495d62wb6jn6cql5fhv8qd7rxpgxx90klp8yfizr0gmj"; + rev = "588eb9ef66c319705a4d94003eacd90ad9de29c2"; + sha256 = "16ycqbd8g1gv8y5qk0j1q2ka4lfbgqpcdfa0mshjmfnw0kjvyshc"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/84c25a290ae4bcc4674434c83c66ae128e4c4282/recipes/alect-themes"; @@ -1983,7 +2091,8 @@ license = lib.licenses.free; }; }) {}; - alert = callPackage ({ fetchFromGitHub + alert = callPackage ({ cl-lib ? null + , fetchFromGitHub , fetchurl , gntp , lib @@ -1992,24 +2101,50 @@ melpaBuild { pname = "alert"; ename = "alert"; - version = "20180403.38"; + version = "20190227.918"; src = fetchFromGitHub { owner = "jwiegley"; repo = "alert"; - rev = "667d9c7848c723eb392ab9bacae07966da3e3504"; - sha256 = "04nrl7kg5pprfdxjbqjyh7vw0vs22bplhhpaf30v3hw7k7nkc0ky"; + rev = "a53e39e2fcd14fd0c04db9b27776831f04593b7f"; + sha256 = "1zlnp0hg6sc3n252ca6kgnfyhxgv1b389h4qszp31jg6fwp3jgpm"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/113953825ac4ff98d90a5375eb48d8b7bfa224e7/recipes/alert"; sha256 = "0x3cvczq09jvshz435jw2fjm69457x2wxdvvbbjq46nfnybhi118"; name = "recipe"; }; - packageRequires = [ gntp log4e ]; + packageRequires = [ cl-lib gntp log4e ]; meta = { homepage = "https://melpa.org/#/alert"; license = lib.licenses.free; }; }) {}; + alert-termux = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "alert-termux"; + ename = "alert-termux"; + version = "20181119.151"; + src = fetchFromGitHub { + owner = "gergelypolonkai"; + repo = "alert-termux"; + rev = "8215cf1d86392738c35a90bbc0055359265dfc4d"; + sha256 = "05znscs3dljkzsk6xkbw3mx3ns8j0y31l9m01mswqmq98msa409f"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/d43e98a7142cf0edc89fa9e2f2817787c073667f/recipes/alert-termux"; + sha256 = "19dfxbpp1kn1ara0fj9xr0ishpk1yiykg2al8g43rcy615vkpk8j"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/alert-termux"; + license = lib.licenses.free; + }; + }) {}; align-cljlet = callPackage ({ clojure-mode , fetchFromGitHub , fetchurl @@ -2071,12 +2206,12 @@ melpaBuild { pname = "all-the-icons"; ename = "all-the-icons"; - version = "20180125.757"; + version = "20190320.1109"; src = fetchFromGitHub { owner = "domtronn"; repo = "all-the-icons.el"; - rev = "52d1f2d36468146c93aaf11399f581401a233306"; - sha256 = "1sdl33117lccznj38021lwcdnpi9nxmym295q6y460y4dm4lx0jn"; + rev = "f996fafa5b2ea072d0ad1df9cd98acc75820f530"; + sha256 = "0yc07xppgv78l56v7qwqp4sf3p44znkv5l0vlvwg8x1dciksxgqw"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/604c01aa15927bd122260529ff0f4bb6a8168b7e/recipes/all-the-icons"; @@ -2154,12 +2289,12 @@ melpaBuild { pname = "all-the-icons-ivy"; ename = "all-the-icons-ivy"; - version = "20180225.630"; + version = "20190114.49"; src = fetchFromGitHub { owner = "asok"; repo = "all-the-icons-ivy"; - rev = "52b3f4a8a4a038998943afaffb5ff25054f65af4"; - sha256 = "1xkrqv6znf1savkg17w41d9rm7wrs8n3c4ad0arrmi522qgp78fr"; + rev = "5d9c6bd5e6484398dd596663d0afe4be730f6f9f"; + sha256 = "1d5jw9afpcs8g274fxd6zapxdg5wy096xv99y7r9ykbkfbfl6wz5"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9496e6bb6f03f35444fb204860bc50e5e1b36214/recipes/all-the-icons-ivy"; @@ -2214,6 +2349,34 @@ license = lib.licenses.free; }; }) {}; + ammonite-term-repl = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , s + , scala-mode }: + melpaBuild { + pname = "ammonite-term-repl"; + ename = "ammonite-term-repl"; + version = "20190228.2316"; + src = fetchFromGitHub { + owner = "zwild"; + repo = "ammonite-term-repl"; + rev = "c5c1f6e2491282983cf55573b48a3e8de06aaae5"; + sha256 = "061qvm6jqydsv7bgwcbaxh1d8ck3nab1szlql0ass1hsak6g028i"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/cf0ece0efb1fcf0ea7364df0d35fca69862f5e9a/recipes/ammonite-term-repl"; + sha256 = "004cvhyh4afgpb31m1q31g98x8c9m6lmsb5fzc4a1r5pb4p3iimp"; + name = "recipe"; + }; + packageRequires = [ emacs s scala-mode ]; + meta = { + homepage = "https://melpa.org/#/ammonite-term-repl"; + license = lib.licenses.free; + }; + }) {}; ample-regexps = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -2298,12 +2461,12 @@ melpaBuild { pname = "amx"; ename = "amx"; - version = "20180627.1555"; + version = "20181011.1551"; src = fetchFromGitHub { owner = "DarwinAwardWinner"; repo = "amx"; - rev = "09e919512692dc31df079ad2cd1a3ca3ac4f1949"; - sha256 = "180841qv24z6kn3qry5216ija1h50ymm4kcmcxg4pc47bhzcjn1h"; + rev = "4b08edb34c4d9c807ef1a820a629cda15e2347a0"; + sha256 = "1vs9hrldg3amxv61m2gpph8fdjidsa7x17djxx23r7px5mhkwqgn"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c55bfad05343b2b0f3150fd2b4adb07a1768c1c0/recipes/amx"; @@ -2328,12 +2491,12 @@ melpaBuild { pname = "anaconda-mode"; ename = "anaconda-mode"; - version = "20180707.1010"; + version = "20190111.724"; src = fetchFromGitHub { owner = "proofit404"; repo = "anaconda-mode"; - rev = "7d28ae061c226ca2e277ecb9d0928647d9a30154"; - sha256 = "1sshdy8abqr5rihl7gjprczd4inznl28ipl812725ylmj0igrfw1"; + rev = "af1b59d25044901b2db1612ff284fc7b4a7756e3"; + sha256 = "1jxr4gq4vwybb50pwnfkgmhdxaqlvr029vfa5hagd8d9n5ahpypa"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e03b698fd3fe5b80bdd24ce01f7fba28e9da0da8/recipes/anaconda-mode"; @@ -2378,12 +2541,12 @@ melpaBuild { pname = "android-mode"; ename = "android-mode"; - version = "20170323.115"; + version = "20190109.214"; src = fetchFromGitHub { owner = "remvee"; repo = "android-mode"; - rev = "f274da87429617b0b9c5889d46b36de64d982da4"; - sha256 = "17m4hp2qb54widwadv23amc1lasnbwzh2ipc6180fnajg8zcbvyw"; + rev = "d60c88bfbd2dc5122bd2fde7dc11ec1e6848a5db"; + sha256 = "1hd7wxp8f67cnbyjs4bv9x18nvzn16qjy4pi7bkbcymfpwj33r38"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/77633aa340803a433570327943fbe31b396f4355/recipes/android-mode"; @@ -2430,14 +2593,14 @@ ename = "angular-mode"; version = "20151201.1327"; src = fetchFromGitHub { - owner = "omouse"; + owner = "rudolfolah"; repo = "angularjs-mode"; rev = "8720cde86af0f1859ccc8580571e8d0ad1c52cff"; sha256 = "04kg2x0lif91knmkkh05mj42xw3dkzsnysjda6ian95v57wfg377"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/7b120c7f97e8d313387d2e9d9210e7fcdd10523b/recipes/angular-mode"; - sha256 = "1bwfmjldnxki0lqi3ys6r2a3nlhbwm1dibsg2dvzirq8qql02w1i"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3416586d4d782cdd61a56159c5f80a0ca9b3ddf4/recipes/angular-mode"; + sha256 = "0pq4lyhppzi806n1k07n0gdhr8z8z71ri12my0pl81rl5j2z69l2"; name = "recipe"; }; packageRequires = []; @@ -2483,12 +2646,12 @@ melpaBuild { pname = "anki-editor"; ename = "anki-editor"; - version = "20180715.151"; + version = "20181230.2353"; src = fetchFromGitHub { owner = "louietan"; repo = "anki-editor"; - rev = "11dbf078957a7d291f5c767cd2936d4341c1864d"; - sha256 = "009m854i4vvfq1772p9js1r48m9msvlmyaplfmzf7qfqkf6k79ad"; + rev = "115ce2e2e62deb8dbca91fd84c7999ba80916c89"; + sha256 = "0njwsq03h36hqw55xk6n8225k52nlw1lq0mc9pzww2bf7dccjl9r"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8155d649e4b129d0c72da6bb2b1aac66c8483491/recipes/anki-editor"; @@ -2501,6 +2664,36 @@ license = lib.licenses.free; }; }) {}; + anki-mode = callPackage ({ dash + , emacs + , fetchFromGitHub + , fetchurl + , lib + , markdown-mode + , melpaBuild + , request + , s }: + melpaBuild { + pname = "anki-mode"; + ename = "anki-mode"; + version = "20181106.1037"; + src = fetchFromGitHub { + owner = "davidshepherd7"; + repo = "anki-mode"; + rev = "095fbe74604892a131a4ffc1f6bb9404717028be"; + sha256 = "08vn9xkp6894s8580gj36ink3bqgcw932rpy6yn6n5qcfykmhpnq"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/fc02d06e7c7e9230e4b082923b889e1e83676263/recipes/anki-mode"; + sha256 = "1d429ws6kmswcyk0dnb303z01kq475n60a520hj258x23vp8802q"; + name = "recipe"; + }; + packageRequires = [ dash emacs markdown-mode request s ]; + meta = { + homepage = "https://melpa.org/#/anki-mode"; + license = lib.licenses.free; + }; + }) {}; annotate = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -2613,12 +2806,12 @@ melpaBuild { pname = "ansible"; ename = "ansible"; - version = "20170926.1951"; + version = "20180812.1814"; src = fetchFromGitHub { owner = "k1LoW"; repo = "emacs-ansible"; - rev = "9da54a2a426dca259ec9c2a8a60fb58e954be5bc"; - sha256 = "16z286gqy18s6bff1njkjpy0swrkfyarvb5xvik49pigd8hzh495"; + rev = "8a097176d6772b6667254dbbe19c5fb64527bf5d"; + sha256 = "1m2cb88jb1wxa9rydkbn5llx2gql453l87b4cgzsjllha6j1488k"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8e45bf58b980ff542a5e887707a6361eb5ac0492/recipes/ansible"; @@ -2665,12 +2858,12 @@ melpaBuild { pname = "ansible-vault"; ename = "ansible-vault"; - version = "20170111.1318"; + version = "20190126.1136"; src = fetchFromGitHub { owner = "zellio"; repo = "ansible-vault-mode"; - rev = "57cf7e6da30250587c28ebf592d7bca9a3bae1df"; - sha256 = "1m9r3vicmljypq6mhgr86lzgi26dnnlp7g0jbl9bjdk48xfg79wb"; + rev = "4fe490f524b79748c9f23026bb88d8f516b4ef40"; + sha256 = "17kbjlssxa9b2fcp8vf2xs2k5y6jgpw277mj2gbv173b0i7v1fjd"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2bff0da29a9b883e53a3d211c5577a3e0bc263a0/recipes/ansible-vault"; @@ -2816,12 +3009,12 @@ melpaBuild { pname = "anzu"; ename = "anzu"; - version = "20161017.907"; + version = "20190303.901"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-anzu"; - rev = "799f26ee0e3ce598b36983f4dce539f47739e656"; - sha256 = "1rpdw0vxss071kb995xyihdx21dv18d9cn666jvsy43g49fb803p"; + rev = "592f8ee6d0b1bc543943b36a30063c2d1aac4b22"; + sha256 = "123zbnl36vi0gkffd6m6mkskhmjmm0am23j45w1mbmfyq03r1d8b"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/anzu"; @@ -2866,12 +3059,12 @@ melpaBuild { pname = "apache-mode"; ename = "apache-mode"; - version = "20170711.913"; + version = "20180723.2051"; src = fetchFromGitHub { owner = "emacs-php"; repo = "apache-mode"; - rev = "0906559e0cb2997405d98ea6b2195954e3935d3b"; - sha256 = "0vfyi34qcwkz9975cq5hin1p2zyy3h05fni4f93xyrcs31zvmk22"; + rev = "d2ac57942f852a727db4fc73004e1e8f046cb657"; + sha256 = "1srlkqa2bq2p1nyh6r7f3b2754dqlgw28h0wbafmdlfk12jc8xy3"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/eb13cb0dba1696cc51132cd1ff723fa17f892a7c/recipes/apache-mode"; @@ -2891,12 +3084,12 @@ melpaBuild { pname = "apel"; ename = "apel"; - version = "20170122.1458"; + version = "20190407.356"; src = fetchFromGitHub { owner = "wanderlust"; repo = "apel"; - rev = "339eb28ffae3165255a79de9b1fd362f43cd37c3"; - sha256 = "1f0zxydh2pkwbjx5bh1bzl3r5g50vqg18azvqkvv9r0nn42hkhmi"; + rev = "d146ddbf8818e81d3577d5eee7825d377bec0c73"; + sha256 = "04ic76gzn3m4rnmm2xjc72vrxazxjvsjabd3lbxvwj6c1fb11fnw"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4976446a8ae40980d502186615902fc05c15ec7c/recipes/apel"; @@ -3043,12 +3236,12 @@ melpaBuild { pname = "apropospriate-theme"; ename = "apropospriate-theme"; - version = "20180718.1101"; + version = "20190403.1132"; src = fetchFromGitHub { owner = "waymondo"; repo = "apropospriate-theme"; - rev = "97a26598a4d64f8339f7b12818d67425057235be"; - sha256 = "1bi9srxc91i81v863k5fpvgxhr7hkz22jbzwajgqbs0kx5jn7417"; + rev = "ad27279e7bf883aa7bedec21593d5453bc3963c3"; + sha256 = "1gww774v82nc74hqlclcd0i2ajciha81vh0r7j126a4wv7zxwdns"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1da33013f15825ab656260ce7453b8127e0286f4/recipes/apropospriate-theme"; @@ -3086,6 +3279,32 @@ license = lib.licenses.free; }; }) {}; + arc-dark-theme = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "arc-dark-theme"; + ename = "arc-dark-theme"; + version = "20190314.932"; + src = fetchFromGitHub { + owner = "cfraz89"; + repo = "arc-dark-theme"; + rev = "ee17dcca35dd0304145efc468b3f25af6907a59d"; + sha256 = "0cfj5c6rz68095wxs8m733lwc5ymbgi5v82drxhjqcascvrdr1v1"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/f8c9060669b262f0588643bd8758edac578834bc/recipes/arc-dark-theme"; + sha256 = "0a61kxdyzm6gf8gf8fniqz5mqkxk24k8hpxww3996v9mqs1bn05s"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/arc-dark-theme"; + license = lib.licenses.free; + }; + }) {}; arch-packer = callPackage ({ async , dash , emacs @@ -3180,7 +3399,7 @@ src = fetchFromGitHub { owner = "stardiviner"; repo = "arduino-mode"; - rev = "e39cb1c02acb6676aea35f93fbd0d86badce6a38"; + rev = "8805fe64ea6aba51dacb0d8c9e8e2ca2cac3ccf9"; sha256 = "1sg6n4ys5lq2m7q876qi88r11c08y05ggyv9r85ahins2pbgbv95"; }; recipe = fetchurl { @@ -3384,12 +3603,12 @@ melpaBuild { pname = "assess"; ename = "assess"; - version = "20170504.657"; + version = "20190102.211"; src = fetchFromGitHub { owner = "phillord"; repo = "assess"; - rev = "e5b0415126c6bd24bd220759ff04220d963a0195"; - sha256 = "04242jhrajd9qi9dzngv33730sqhymgr0f18hf92fgb2k5649lqk"; + rev = "7a3189a5870fb20d179ff3ea761707a046814966"; + sha256 = "0qif6q4j0i5p2izj9p7sv1j2s6a95zklswfx8x2shv22dkphznkl"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6f917a34506193f2674b195569dfd3c13ba62c1d/recipes/assess"; @@ -3409,12 +3628,12 @@ melpaBuild { pname = "async"; ename = "async"; - version = "20180527.1030"; + version = "20181223.2054"; src = fetchFromGitHub { owner = "jwiegley"; repo = "emacs-async"; - rev = "6fa6a866b4b31908166e010ac60e77927bdbfc5a"; - sha256 = "0m4nwc032xhwx3k1948zs3nz80rxnr1qsfdqmbxwm5vyx9mmqm9n"; + rev = "81dc034572e963550c5403a2b3c28047e46b4029"; + sha256 = "04lxfpdfvbh67cv9i3j7jya56lv3q97qp5b75zfy1k4dzqhjzfpz"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/async"; @@ -3458,24 +3677,23 @@ , fetchFromGitHub , fetchurl , lib - , melpaBuild - , queue }: + , melpaBuild }: melpaBuild { pname = "at"; ename = "@"; - version = "20140707.520"; + version = "20181225.638"; src = fetchFromGitHub { owner = "skeeto"; repo = "at-el"; - rev = "114dfe3761bf0c9dd89f794106c3a6a436ed06cc"; - sha256 = "0rnnvr8x1czphbinby2z2dga7ikwgd13d7zhgmp3ggamzyaz6nf1"; + rev = "0a6189f8be42dbbc5d9358cbd447d471236135a2"; + sha256 = "11s46n3j6ij0ynxwl35wxbzg97pkmnhxh43l5vvaz9kizf6mhpbj"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/@"; sha256 = "0da0xqk8fhz8aij3zmpp4bz3plpvfq2riyy17i7ny4ralxb3g08z"; name = "recipe"; }; - packageRequires = [ emacs queue ]; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/@"; license = lib.licenses.free; @@ -3488,12 +3706,12 @@ melpaBuild { pname = "atom-dark-theme"; ename = "atom-dark-theme"; - version = "20170710.1612"; + version = "20181022.902"; src = fetchFromGitHub { owner = "whitlockjc"; repo = "atom-dark-theme-emacs"; - rev = "7fb37fd953e417acbcf7dd3f36e3167bed9bc887"; - sha256 = "040xp0nqa9akjv30kgnw6l1248g2cl5yzihhfwbr8cgywqfir1lw"; + rev = "5c8610d0b45a536b8f7f9777297c86362685a357"; + sha256 = "15mjn5z7f7x8k4lbab5xv2r88s9ch9b58znv6vwpqakp63rx8hsx"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d1f565871559d6ea4ca4bb2fbaebce58f2f383eb/recipes/atom-dark-theme"; @@ -3513,12 +3731,12 @@ melpaBuild { pname = "atom-one-dark-theme"; ename = "atom-one-dark-theme"; - version = "20180607.1638"; + version = "20190107.821"; src = fetchFromGitHub { owner = "jonathanchu"; repo = "atom-one-dark-theme"; - rev = "d56b0db8d03fae2b47a6dbaadb5805105e394070"; - sha256 = "0bv80pg1bnpsv6j56ydlxm9h1cnicimcbwm1nw642fnf0zxw7p8g"; + rev = "8714ebcb8f35a4a07fa98666eee2727f860da53a"; + sha256 = "1z2w3szxwvgzqlg8zbdaw3jancyg421zawcgc317dyx7dryrpb5j"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3ba1c4625c9603372746a6c2edb69d65f0ef79f5/recipes/atom-one-dark-theme"; @@ -3571,12 +3789,12 @@ melpaBuild { pname = "attrap"; ename = "attrap"; - version = "20180715.1205"; + version = "20190207.610"; src = fetchFromGitHub { owner = "jyp"; repo = "attrap"; - rev = "65f6ad55ef967ef625ca48c2d03b4ea69bf37649"; - sha256 = "13vxa6gk4yccj5zhm927ilbpmn0dlkbdrbj3d42kphnximswpism"; + rev = "3b092bb8f6755a97e6ecb7623b9d2dde58beba4a"; + sha256 = "05d32980saji8ja1pcv65l0s3dq7w0n5hpikbf246hciy1x067pp"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b7420eca80a8c1776d68b1f121511cc265cc70dc/recipes/attrap"; @@ -3728,12 +3946,12 @@ melpaBuild { pname = "auth-source-pass"; ename = "auth-source-pass"; - version = "20180529.657"; + version = "20190113.2049"; src = fetchFromGitHub { owner = "DamienCassou"; repo = "auth-password-store"; - rev = "303b96b2a4ced825390ac0a4f48c4151fe7a8150"; - sha256 = "0jhr6b2xrmki0l0hlmw4nxslky9vnym4lnq2y7pf81gj1zfk1h3f"; + rev = "e572c7a5a63710ddd2f979a83a4e16d248dc65c6"; + sha256 = "1127rdyyl77yvr6gb2daa11hfbz145iw5bm6dwzd1f82qyfa58iv"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5e268441634a6e58a00e577d6e2292fa226c11b8/recipes/auth-source-pass"; @@ -3807,12 +4025,12 @@ melpaBuild { pname = "auto-compile"; ename = "auto-compile"; - version = "20180321.807"; + version = "20181230.1416"; src = fetchFromGitHub { owner = "emacscollective"; repo = "auto-compile"; - rev = "6ce4255ab9a0b010ef8414c5bd9a6d6d9eea012f"; - sha256 = "013vw4sgw6hpz7kskilndv7i7ik40asrkgicghjbygwk0lj5ran3"; + rev = "e6bbb1371324c8884af3b201e9adbc9296eb2ff4"; + sha256 = "1jyn7yvbvk7cydy3pzwqlb0yxf5cxdiipa1gnigdk9wdbj68wjjk"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/57a2fb9524df3fdfdc54c403112e12bd70888b23/recipes/auto-compile"; @@ -3991,12 +4209,12 @@ melpaBuild { pname = "auto-complete-distel"; ename = "auto-complete-distel"; - version = "20160815.2300"; + version = "20180827.644"; src = fetchFromGitHub { owner = "sebastiw"; repo = "distel-completion"; - rev = "340c9c11939d5f220db05e55388bf3cb606fd190"; - sha256 = "0ji1wi3s4pgkvrg2vzycmvqfc5jwmcd9zrpxhsgszr5jxp8z0bpb"; + rev = "acc4c0a5521904203d797fe96b08e5fae4233c7e"; + sha256 = "0yvp3dwa9mwfyrqla27ycwyjad4bp1267bxv0chxcr4528hnygl3"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/90fff35dd9709b06802edef89d1fe6a96b7115a6/recipes/auto-complete-distel"; @@ -4373,6 +4591,32 @@ license = lib.licenses.free; }; }) {}; + auto-rename-tag = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "auto-rename-tag"; + ename = "auto-rename-tag"; + version = "20181215.2324"; + src = fetchFromGitHub { + owner = "jcs090218"; + repo = "auto-rename-tag"; + rev = "00080e323addaaca560842feb87ca688e7a3d9b6"; + sha256 = "1pksqhfw3np7lkw0xjhpsq3zv3zbxmq3561g77n2c503qyzjpmx8"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/edf44f990306d9edba7054cb8f530208e53d69bc/recipes/auto-rename-tag"; + sha256 = "058fn84sw15kdyxgnjzdi4lq6s9xg63cw8vzparh6km3xf2pqw0x"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/auto-rename-tag"; + license = lib.licenses.free; + }; + }) {}; auto-save-buffers-enhanced = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -4407,12 +4651,12 @@ melpaBuild { pname = "auto-shell-command"; ename = "auto-shell-command"; - version = "20160603.1938"; + version = "20180817.802"; src = fetchFromGitHub { owner = "ongaeshi"; repo = "auto-shell-command"; - rev = "454b75a07b663095334381d5bf5625c7f136f743"; - sha256 = "0ahiy5cv3a632wfiar28186l0dgibafx5jaw9nrp4h5sqkbyvmjn"; + rev = "a8f9213e3c773b5687b81881240e6e648f2f56ba"; + sha256 = "1b0kgqh521y16cx84rbsr244i4fs3l8h4wqjy2zdpwbpbikx1hxk"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ea710bfa77fee7c2688eea8258ca9d2105d1896e/recipes/auto-shell-command"; @@ -4434,12 +4678,12 @@ melpaBuild { pname = "auto-sudoedit"; ename = "auto-sudoedit"; - version = "20180428.2343"; + version = "20180915.6"; src = fetchFromGitHub { owner = "ncaq"; repo = "auto-sudoedit"; - rev = "5a770615fe2989b3b7cb1435d0e65fa672d775d7"; - sha256 = "0pbbw4lx1k8l5x4bycqymb5s2x2739diw8nbqk9ikxqhyjn4sv67"; + rev = "16bfa23e6d9c30968a6b6364ada17c88138255f3"; + sha256 = "1f2rqi5nqa40lgcsnbxk9r4dzn6kcachh3qjv76lm9lzyc41c8ln"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7cf6bc8bb7b618d74427622b9b2812daa79a3767/recipes/auto-sudoedit"; @@ -4490,12 +4734,12 @@ melpaBuild { pname = "auto-virtualenvwrapper"; ename = "auto-virtualenvwrapper"; - version = "20180408.310"; + version = "20181006.237"; src = fetchFromGitHub { owner = "robert-zaremba"; repo = "auto-virtualenvwrapper.el"; - rev = "e2628408d4e67e1b1714cf7682cff9405e735c81"; - sha256 = "1cj4a6yay02gvi04lyhnfb7gws8jrappprnv36mcqlq053202wij"; + rev = "72cc9168db475e8328019f9592493560dab832a5"; + sha256 = "1cvc2k5x0ircnpppwwmm813h7c59pyswz4dfgwqqrk325zcnp80f"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/02a209ae8f9fc68feb3bb64d32d129fedef2b80b/recipes/auto-virtualenvwrapper"; @@ -4516,12 +4760,12 @@ melpaBuild { pname = "auto-yasnippet"; ename = "auto-yasnippet"; - version = "20180503.1208"; + version = "20190326.258"; src = fetchFromGitHub { owner = "abo-abo"; repo = "auto-yasnippet"; - rev = "438c160b94975e9332b4ae3845e986ae6166dd47"; - sha256 = "07i46xfphvsspd0ls5jjlch650h24h79yfvhbmizrpyrh3616smd"; + rev = "2f755e20d61d7d9098e00dd01f4b6d096bdf1a88"; + sha256 = "1vf5mc19siak82fgx29n18ni7fnfc2b1k32jdssk0irk9zcjir06"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d33c0aee6a5d27217bbae28fc8f448c3badc8a4b/recipes/auto-yasnippet"; @@ -4646,14 +4890,14 @@ ename = "autopair"; version = "20160304.437"; src = fetchFromGitHub { - owner = "capitaomorte"; + owner = "joaotavora"; repo = "autopair"; rev = "2b6d72bccb0ebba6e7e711528872b898b0c65b0a"; sha256 = "09p56vi5zgm2djglimwyhv4n4gyydjndzn46vg9qzzlxvvmw66i1"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/autopair"; - sha256 = "161qhk8rc1ldj9hpg0k9phka0gflz9vny7gc8rnylk90p6asmr28"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/4150455d424326667390f72f6edd22b274d9fa01/recipes/autopair"; + sha256 = "0l2ypsj3dkasm0lj9jmnaqjs3rv97ldfw8cmayv77mzfd6lhjmh3"; name = "recipe"; }; packageRequires = [ cl-lib ]; @@ -4669,12 +4913,12 @@ melpaBuild { pname = "autotest"; ename = "autotest"; - version = "20180323.1542"; + version = "20190331.1530"; src = fetchFromGitHub { owner = "zenspider"; repo = "elisp"; - rev = "24ee17ae5023362758f0762bf711d5e470dcfe73"; - sha256 = "10al1r0fs6bpz4mfikyb9rm0zgpg56n12y0mv4kz856sdbzgllcv"; + rev = "b59013510006294b5e7623522f620d5cbac95cf3"; + sha256 = "06ij30gvpf7244xsdv14qdb86nqqahfrr20gafla764w6r1il62z"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5fc2c4a590cbeccfb43003972a78f5d76ec4a9e7/recipes/autotest"; @@ -4723,16 +4967,16 @@ melpaBuild { pname = "autothemer"; ename = "autothemer"; - version = "20170112.1324"; + version = "20180920.223"; src = fetchFromGitHub { - owner = "sebastiansturm"; + owner = "jasonm23"; repo = "autothemer"; - rev = "8c467f57571c154129d660dfccebd151c998f2d9"; - sha256 = "0cd2pqh6k32sjidkcd8682y4l6mx52xw4a05f38kk8nsrk28m74k"; + rev = "69488c71dfc182cf2e7be2d745037f230ade678e"; + sha256 = "0l3xsnp5j46jcjc1nkfbfg0pyzdi94rn0h5idfpqikj6f3ralh10"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/3d7d7beed6ba10d7aa6a36328a696ba2d0d21dc2/recipes/autothemer"; - sha256 = "1lcyqfzx7qpkr3ajk0zi0mn32yvcwn06f61vhghn9c66xambsr7f"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/9a15a17a5aa78aed72958b2a1bde53f0c0ab5be7/recipes/autothemer"; + sha256 = "0wahmbihyr3dx4lgiwi7041gvmmqlzlv7ss25fw90srs9n2h05gj"; name = "recipe"; }; packageRequires = [ cl-lib dash emacs ]; @@ -4798,12 +5042,12 @@ melpaBuild { pname = "avk-emacs-themes"; ename = "avk-emacs-themes"; - version = "20180406.2220"; + version = "20181127.2345"; src = fetchFromGitHub { owner = "avkoval"; repo = "avk-emacs-themes"; - rev = "6abf91ecdaeb16a3a5529b0d5abef9756da1f68c"; - sha256 = "0hvg8yp7prfl1n71lkyr9l43f3zm1zsh8n2mh26rmdw2chippr4d"; + rev = "cadbfb4c9cd6812d63b69076a9d90514bfd2db66"; + sha256 = "07isy168fnvyy25z1wwyr6740bmwmff6c3yfcdy7dnypcj9whllr"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ef362a76a3881c7596dcc2639df588227b3713c0/recipes/avk-emacs-themes"; @@ -4825,12 +5069,12 @@ melpaBuild { pname = "avy"; ename = "avy"; - version = "20180615.801"; + version = "20190404.155"; src = fetchFromGitHub { owner = "abo-abo"; repo = "avy"; - rev = "7c40f5e3811716b05d87a06096b190f7cf7bdc45"; - sha256 = "06bqsg9vnjyqdmn2dpy4f17b0bs57w0gg77ahyafsawlp77fz7z9"; + rev = "4d52b5cb7e1c565ca8dfe9c47b54330fd1a395bc"; + sha256 = "13226jg9ndlnlvy73847rinn8wpx94jw42cj3pp84qplys9zfr2y"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/77fac7a702d4086fb860514e377037acedc60412/recipes/avy"; @@ -4881,12 +5125,12 @@ melpaBuild { pname = "avy-menu"; ename = "avy-menu"; - version = "20171231.2220"; + version = "20181231.2308"; src = fetchFromGitHub { owner = "mrkkrp"; repo = "avy-menu"; - rev = "990cc94d708c923f761be083b3a57f6f844566c8"; - sha256 = "0kjxfg8wx5c8cixazih24s0mv4crk648v9bb6pd1i6lmh266rc6g"; + rev = "4610cb0f41a84b2a8506360768d74e93661da8b3"; + sha256 = "1yms2n1j1w19g7rjxpxhi5bfkl1czjaqyz5lqabmndcd4sljbc4y"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2f0b4cfb30c405d44803b36ebcaccef0cf87fe2d/recipes/avy-menu"; @@ -5015,11 +5259,11 @@ melpaBuild { pname = "axiom-environment"; ename = "axiom-environment"; - version = "20180401.1257"; + version = "20190323.1224"; src = fetchgit { url = "https://bitbucket.org/pdo/axiom-environment"; - rev = "6842fb7f85df839acde395093647e2f91cf62fdd"; - sha256 = "1ag5isg0bvarf86978zd2zq1mbs3ysy29ywvgapls6115ws5k9k8"; + rev = "e3444570fa081410171a089f6c118ea6627e5d48"; + sha256 = "04j18cxr5il5fmdk4habsyys2z47gbldjsfnwzy2xpb316bc5m66"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8b4c6b03c5ff78ce327dcf66b175e266bbc53dbf/recipes/axiom-environment"; @@ -5039,12 +5283,12 @@ melpaBuild { pname = "babel"; ename = "babel"; - version = "20161122.2340"; + version = "20181201.119"; src = fetchFromGitHub { owner = "juergenhoetzel"; repo = "babel"; - rev = "d4212e25fcbd22b8e38be13936f937a2963d34a9"; - sha256 = "0lxiavjs2fbwlqbmkl2hssjzv8a8baa8vvqqfnprhnipngkkgdaf"; + rev = "c25dedb5c7f2465b122102f02cd9845668818c20"; + sha256 = "1ydb8zbg8n56wf5hb8i3i2s40mspqfkszfdd8v8jjqb5wm8q32rc"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b0d748fa06b3cbe336cb01a7e3ed7b0421d885cc/recipes/babel"; @@ -5147,6 +5391,33 @@ license = lib.licenses.free; }; }) {}; + backline = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , outline-minor-faces }: + melpaBuild { + pname = "backline"; + ename = "backline"; + version = "20181111.32"; + src = fetchFromGitHub { + owner = "tarsius"; + repo = "backline"; + rev = "960deaef1d87658f79a0bd95c85946371d211590"; + sha256 = "017w7qa74laq04h359znn9kjsqpl91gypsqsldpnlrb25jw0z0gl"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/f252e45e8bd6e8af1267755d108f378a974ddaf1/recipes/backline"; + sha256 = "0y5y048s6r3mcgjfxpmwarnhn6lh00j9cla6qjsd83f79hw5cq4y"; + name = "recipe"; + }; + packageRequires = [ emacs outline-minor-faces ]; + meta = { + homepage = "https://melpa.org/#/backline"; + license = lib.licenses.free; + }; + }) {}; backup-each-save = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -5282,12 +5553,12 @@ melpaBuild { pname = "banner-comment"; ename = "banner-comment"; - version = "20180510.620"; + version = "20180923.1211"; src = fetchFromGitHub { owner = "WJCFerguson"; repo = "banner-comment"; - rev = "fedbb071d043106a30e378ee58b96e349e8068ed"; - sha256 = "1d6yp96rv6p9f3b8ddrpzb3ng2v0vlqb1akcpd7dria6y6aai8l4"; + rev = "ac52f6b24e590787a385c08cc3751d6f2ddca815"; + sha256 = "1630py97ldh3w71s26jbcxk58529g03sl0padnzqj0rbqy82yw8w"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4bb69f15cb6be38a86abf4d15450a29c9a819068/recipes/banner-comment"; @@ -5300,6 +5571,31 @@ license = lib.licenses.free; }; }) {}; + bap-mode = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "bap-mode"; + ename = "bap-mode"; + version = "20190401.846"; + src = fetchFromGitHub { + owner = "fkie-cad"; + repo = "bap-mode"; + rev = "5e0570a4d70003aea451232358c0adb2d1a813fc"; + sha256 = "0vb8r4xar2fz5yxfsx7ss9k0vd72dypz8lgavypkb1kvvizv0h5b"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/05b1b5885a9d5e3bda38bc8a2f987bffd9353cc0/recipes/bap-mode"; + sha256 = "1n0sv6d6vnv40iks18vws16psbv83v401pdd8w2d2cfhhsmmi4ii"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/bap-mode"; + license = lib.licenses.free; + }; + }) {}; bar-cursor = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -5358,12 +5654,12 @@ melpaBuild { pname = "base16-theme"; ename = "base16-theme"; - version = "20180524.1311"; + version = "20190329.1706"; src = fetchFromGitHub { owner = "belak"; repo = "base16-emacs"; - rev = "c9acfddcc0a3a3753223d4e8742de6af284154cc"; - sha256 = "10kwilq2fn3bdh21zzw8h30kr1xalrjm7nbi003315qham2dkyh2"; + rev = "053c9da5ad0ecbac5652bcfbf3b5d1badb9ab272"; + sha256 = "1nhirkx4ww9spqxkvdwbsf6lhj6a4ln5r0q6fjr2pdxnx7d02skp"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/30862f6be74882cfb57fb031f7318d3fd15551e3/recipes/base16-theme"; @@ -5437,12 +5733,12 @@ melpaBuild { pname = "basic-mode"; ename = "basic-mode"; - version = "20180612.1152"; + version = "20180919.1052"; src = fetchFromGitHub { owner = "dykstrom"; repo = "basic-mode"; - rev = "024505ae0a37756e3259773383852ed208120bde"; - sha256 = "0fsy09m3mwvdxhlg4p0g95j1nsx8pp9ggslawpd4rj0rn6ffbq6d"; + rev = "812f078240f9de09491701853569335ba6d9b5ff"; + sha256 = "1492klgbkxb46x02kmhngccx4p9fmjvf6m4ay89j7pyaixvcqj8v"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/71801bdc0720f150edeab6796487c753c6e7c3f5/recipes/basic-mode"; @@ -5533,6 +5829,7 @@ }; }) {}; bbcode-mode = callPackage ({ cl-lib ? null + , emacs , fetchFromGitHub , fetchurl , lib @@ -5540,19 +5837,19 @@ melpaBuild { pname = "bbcode-mode"; ename = "bbcode-mode"; - version = "20180505.227"; + version = "20190304.1322"; src = fetchFromGitHub { owner = "lassik"; - repo = "bbcode-mode"; - rev = "ee30d43f9029e0919a06be0dde0ed16f201647c1"; - sha256 = "046rdjpsm0lmkyaiv3y59hab3m8mdcj4asz5n06vb83a5xibm68s"; + repo = "emacs-bbcode-mode"; + rev = "e16619c80ea21154b4a4ccc2e13d0077e97c9caf"; + sha256 = "0l7jygskxmbckf3xhbjzgwzkrj2m6z1n3i2l7qc9ii4i3mhpx0ai"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/1ef095d23cc043f5d14a9deea788ed71d90c586c/recipes/bbcode-mode"; - sha256 = "1kfxzp0916gdphp4dkk4xbramsbqmg6mazvfqni86mra41rdq6sb"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/57c307eecfc0fccfdc525ce6ff63a69ff3b78874/recipes/bbcode-mode"; + sha256 = "0rrhvwb4hrg2sbjbpgdghcgrc6gwpq3vax28r5mlacn5w5x31qjb"; name = "recipe"; }; - packageRequires = [ cl-lib ]; + packageRequires = [ cl-lib emacs ]; meta = { homepage = "https://melpa.org/#/bbcode-mode"; license = lib.licenses.free; @@ -5565,11 +5862,11 @@ melpaBuild { pname = "bbdb"; ename = "bbdb"; - version = "20180502.2038"; + version = "20190317.1353"; src = fetchgit { url = "https://git.savannah.nongnu.org/git/bbdb.git"; - rev = "2da950300bb22fa713cede74b71041df315ecc2e"; - sha256 = "1vz1c3f5wlhfq4d80fahqm3a8jsfl22bs3w4pfl25ivpg1l7m9bn"; + rev = "e702668eb55fad2952f677cfc82898518d627bb3"; + sha256 = "167br6hfb2xshwjnbzhxzf9z09w3lficvc2kbxskgk8qjkm53hqa"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/caaa21f235c4864f6008fb454d0a970a2fd22a86/recipes/bbdb"; @@ -5672,12 +5969,12 @@ melpaBuild { pname = "bbdb-vcard"; ename = "bbdb-vcard"; - version = "20150713.1350"; + version = "20181005.319"; src = fetchFromGitHub { owner = "tohojo"; repo = "bbdb-vcard"; - rev = "c3aafd4160854a38fd92afcdade32b9a13abe82c"; - sha256 = "1zlf9xhpirln72xr7v6kgndkg5wyz5ipsl4gpq9lbmp92jlgbwlj"; + rev = "3e8630a8c45add7b495d7ef290ba9f402b359489"; + sha256 = "0f4ccbffp5j1jzgpqb26dgsb8k3aikzam21ilqfcq8ac4sl6l4g6"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/dd5d9027c49beae89f78d2a30dfa4bd070dff1bd/recipes/bbdb-vcard"; @@ -5776,12 +6073,12 @@ melpaBuild { pname = "beacon"; ename = "beacon"; - version = "20180706.1025"; + version = "20190104.1131"; src = fetchFromGitHub { owner = "Malabarba"; repo = "beacon"; - rev = "8dfe64496be3cb79d5b83891f95b70b1b699470b"; - sha256 = "169asr7dz9xn22sxm38xxfafl6k9qnv4ir5k5hzvc9l2xp05w3z3"; + rev = "bde78180c678b233c94321394f46a81dc6dce1da"; + sha256 = "19m90jjbsjzhzf7phlg79l8d2kxgrqnrrg1ipa3sf7vzxxkmsdld"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d09cfab21be800831644218e9c8c4433087951c0/recipes/beacon"; @@ -5828,12 +6125,12 @@ melpaBuild { pname = "beginend"; ename = "beginend"; - version = "20171003.548"; + version = "20180827.226"; src = fetchFromGitHub { owner = "DamienCassou"; repo = "beginend"; - rev = "2762796b54c7fd8613b02c041b2b9afeb13eb9fa"; - sha256 = "1g1mml0npypfk0vhicy4s7fa5df76xqpb80llxcfbnl2si9fzyfb"; + rev = "e4ff077de4a2c80e1f42adfc86837537899447a5"; + sha256 = "15mcwh6189581l9abzm2japdv8fzpwf1vlr9ql8xb1mn3nih9qi5"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/31c1157d4fd9e47a780bbd91075252acdc7899dd/recipes/beginend"; @@ -5853,11 +6150,11 @@ melpaBuild { pname = "belarus-holidays"; ename = "belarus-holidays"; - version = "20180615.611"; + version = "20190102.543"; src = fetchgit { url = "https://bitbucket.org/EugeneMakei/belarus-holidays.el"; - rev = "410a7dcf46fdcbee762a0c0aa0c7af03230b9656"; - sha256 = "186dka9ba9hx1xhd0lfj1x1njikixm09wd4xiqawgdczgfwyv4sq"; + rev = "35a18273e19edc3b4c761030ffbd11116483b83e"; + sha256 = "1mddjgv2q0sr5v4gxvrzz8y0ybj2bjb5klqsrjajcpbpgbim1qgf"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6987c5fbafc602ff6b48c347b4e3e7c4471681e8/recipes/belarus-holidays"; @@ -5952,12 +6249,12 @@ melpaBuild { pname = "better-defaults"; ename = "better-defaults"; - version = "20170613.2104"; + version = "20190224.1016"; src = fetchFromGitHub { owner = "technomancy"; repo = "better-defaults"; - rev = "12d9e6dbf24a8a3369b19650d74471b17b27f78d"; - sha256 = "1rx3p6syp6axnxbscg0l73yihgwdq7bdnkcrvfikz79yflxrsnmq"; + rev = "0937ac9a813632c48d114cf959768cda9676db3a"; + sha256 = "0zwixak4aysj6hckg7h7qj6ha6n7fb9v66drfpgjcg4ylg500anr"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7bb729c1ad8602a5c0c27e81c9442981a54a924a/recipes/better-defaults"; @@ -6047,6 +6344,33 @@ license = lib.licenses.free; }; }) {}; + bibclean-format = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , reformatter }: + melpaBuild { + pname = "bibclean-format"; + ename = "bibclean-format"; + version = "20190302.1217"; + src = fetchFromGitHub { + owner = "peterwvj"; + repo = "bibclean-format"; + rev = "b4003950a925d1c659bc359ab5e88e4441775d77"; + sha256 = "1x5hbs9j4ms93p080267kjyqpk81il3x7q87awf6qzz5xhc20d3b"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/a96cc66b22e7ec145ffa3031089a3d60e77b8c42/recipes/bibclean-format"; + sha256 = "1lvi1r612jb6w0j6mbq93gk9f7hmb1pn42lfs47gvf0prmjf1zyb"; + name = "recipe"; + }; + packageRequires = [ emacs reformatter ]; + meta = { + homepage = "https://melpa.org/#/bibclean-format"; + license = lib.licenses.free; + }; + }) {}; biblio = callPackage ({ biblio-core , emacs , fetchFromGitHub @@ -6056,12 +6380,12 @@ melpaBuild { pname = "biblio"; ename = "biblio"; - version = "20161014.1604"; + version = "20190214.1907"; src = fetchFromGitHub { owner = "cpitclaudel"; repo = "biblio.el"; - rev = "a5a68fcf677f286f205f32dc7486f6c9f66aa6af"; - sha256 = "1gxjind6r235az59dr8liv03d8994mqb8a7m28j3c12q7p70aziz"; + rev = "ff05f0b7b1d3378c570a898c6f99f787256b3d53"; + sha256 = "1z4xzrqkw9bzs0fxyddhrpyh9yflvd0d8ki2fywl9d6d5lnns3h8"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c5fbaa8c59b0e64d13beb0e0f18b0734afa84f51/recipes/biblio"; @@ -6074,6 +6398,33 @@ license = lib.licenses.free; }; }) {}; + biblio-bibsonomy = callPackage ({ biblio-core + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "biblio-bibsonomy"; + ename = "biblio-bibsonomy"; + version = "20190105.400"; + src = fetchFromGitHub { + owner = "andreasjansson"; + repo = "biblio-bibsonomy.el"; + rev = "fbdb3ecfcd88c179a2358d7967f7ecafef725835"; + sha256 = "0awqlv1v672vz51wccmijicv4agn0gqw5xllp0pxg8djzxl8isgl"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/e4867fd81cf56c8a74dcc71774790aa602b068a7/recipes/biblio-bibsonomy"; + sha256 = "0xfycxsslmr5si636l9pv9w5s5hmlk3253wq2vg8dm7b7ag5gr4s"; + name = "recipe"; + }; + packageRequires = [ biblio-core emacs ]; + meta = { + homepage = "https://melpa.org/#/biblio-bibsonomy"; + license = lib.licenses.free; + }; + }) {}; biblio-core = callPackage ({ dash , emacs , fetchFromGitHub @@ -6085,12 +6436,12 @@ melpaBuild { pname = "biblio-core"; ename = "biblio-core"; - version = "20160901.1115"; + version = "20190214.1843"; src = fetchFromGitHub { owner = "cpitclaudel"; repo = "biblio.el"; - rev = "0036495a2e0d4b02b9e957e498f9437e394d6ed9"; - sha256 = "1f0p5fgvabdpafil7s8sy82hgcfzg1skxfgj72ylv3crq36bn4vp"; + rev = "a5088a332513930ccad808bb792a5823ed44652e"; + sha256 = "0ld1190wdqnpsf4kzbr59jykcrs0dhiha18pfxd82bh6b76h534k"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f4f086d3e8fd6a95ce198e148cd3ede35dd73fb8/recipes/biblio-core"; @@ -6113,12 +6464,12 @@ melpaBuild { pname = "bibliothek"; ename = "bibliothek"; - version = "20180429.1515"; + version = "20190124.1028"; src = fetchFromGitHub { owner = "cadadr"; repo = "elisp"; - rev = "ffe03506694c94de0444995f973a925deccc400a"; - sha256 = "02wcvka96zdlq3myfar7dqywfil2b77bc6ydmgcphwn3as3kl08r"; + rev = "b19b37be332bada6b18d4d895edf6ce78ab420c4"; + sha256 = "0i97l8fdrjjb6dzfcqgss5yj4ibkiaxnj32sm6nyr2s7bijkvi4x"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8b8308e72c4437237fded29db1f60b3eba0edd26/recipes/bibliothek"; @@ -6140,12 +6491,12 @@ melpaBuild { pname = "bibretrieve"; ename = "bibretrieve"; - version = "20180617.1108"; + version = "20180901.228"; src = fetchFromGitHub { owner = "pzorin"; repo = "bibretrieve"; - rev = "e8ccdc9b9bfec0c5c658f2e9ac3fb81a137549d7"; - sha256 = "0l85kdnzm8lxva47sm4bbyv7xd52qxfgxippsbg2n12vqqiqf50z"; + rev = "600fa1fcc4c5d79c628457f2316f3429c96be006"; + sha256 = "17jy0a4j97vxnj9659q0jr32nx8kj12j9vhi5hnfw2nqxz33x7gr"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e548e0cf8babaf32f1db58099599a72cebdbb84d/recipes/bibretrieve"; @@ -6218,12 +6569,12 @@ melpaBuild { pname = "bicycle"; ename = "bicycle"; - version = "20180624.12"; + version = "20180909.1426"; src = fetchFromGitHub { owner = "tarsius"; repo = "bicycle"; - rev = "ab48f01ec8a3ebcb2f6cf36ea7f3cb8aef3da263"; - sha256 = "13rmk3004jnnbfqvi9xh22si5dw02fswlryhkafagfzbnscc6gvb"; + rev = "42a5db3514019d539500a67f913411f5533a1eb3"; + sha256 = "1nanf0dp7kqzs2mc8gzr9qzn9v6q86sdr35pzysdl41xqydxpsrd"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ec9b4138ffaf81b556e01b85ce4b112e77909260/recipes/bicycle"; @@ -6244,12 +6595,12 @@ melpaBuild { pname = "bifocal"; ename = "bifocal"; - version = "20171004.1124"; + version = "20181109.1941"; src = fetchFromGitHub { owner = "riscy"; repo = "bifocal-mode"; - rev = "a8b222b069a6bd64531b4780905989797bad8abe"; - sha256 = "0c6vzh35lj3pg9wd4v2fy6xdmcg9kq3n5br6rp4lx257gxglzpwh"; + rev = "add30c678488cec04976a85ba8cda20805938a01"; + sha256 = "01j8s6c3qm4scxy1dk07l41y0n55gz83zzfi254kc2vyx02vqg7f"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/79e71995bd8452bad2e717884f148ec74c9735fc/recipes/bifocal"; @@ -6373,12 +6724,12 @@ melpaBuild { pname = "bing-dict"; ename = "bing-dict"; - version = "20170604.1831"; + version = "20181110.1800"; src = fetchFromGitHub { owner = "cute-jumper"; repo = "bing-dict.el"; - rev = "d4b261739e53e8ed8fa5db3d3946de82c0ab8e34"; - sha256 = "0dn6rifr0njpw3mwbyn21bw88lp0kzwwjp7ivgbbl1bxshj0ybhk"; + rev = "51266b11bca22923c3a86bc101abf9145d1397d3"; + sha256 = "0c6d1kmgf9gyrqqfxisdlaavb4rx5scnh7dgqswlmj2fqws3yvna"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/bing-dict"; @@ -6452,12 +6803,12 @@ melpaBuild { pname = "bitbake"; ename = "bitbake"; - version = "20180326.58"; + version = "20190107.355"; src = fetchFromGitHub { owner = "canatella"; repo = "bitbake-el"; - rev = "040498f9375f3b3eb67514c6497f43b77acd764f"; - sha256 = "0jpgc4ps82qwagmh3lh49m11f8b3nbjgaw9wy43q9q1mslx14hf3"; + rev = "6b65c10a88c8750694c9c9e77299450200e7481e"; + sha256 = "0xy4dqlg8d6ppwpa9l96dycag53rmzwiv68s2mzmpkcrjn023dr3"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/da099b66180ed537f8962ab4ca727d2441f9691d/recipes/bitbake"; @@ -6583,12 +6934,12 @@ melpaBuild { pname = "blacken"; ename = "blacken"; - version = "20180615.803"; + version = "20190301.605"; src = fetchFromGitHub { owner = "proofit404"; repo = "blacken"; - rev = "d98199e8ab94550f5036aac2293cfb1f745003fa"; - sha256 = "0fnrjgnc148cjs6b3qkyvpmlsmpdh3xi5xn4hxg7cpwqrx3s36d7"; + rev = "17b48ee432d83517094635f8caaf2db1128d1db1"; + sha256 = "04202qk6jsckvwc0zwg8513wgfjrnf33cbkv03k3vzwg6zhgmn9z"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/69d9802996a338be937d61678f2cadf3497f6b85/recipes/blacken"; @@ -6627,6 +6978,33 @@ license = lib.licenses.free; }; }) {}; + blimp = callPackage ({ eimp + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "blimp"; + ename = "blimp"; + version = "20180903.1540"; + src = fetchFromGitHub { + owner = "walseb"; + repo = "blimp"; + rev = "b048b037129b68674b99310bcc08fb96d44fdbb4"; + sha256 = "0az7bjxc6awn56sv49w3d0ws6w7i0gqm99sbkbnjrfgj3ha8xz4d"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/4fe28626950659c5ba4aa9cc7ba6126ce4737fb7/recipes/blimp"; + sha256 = "1k70x0gs9ns7652ahq2b8fhmichsmajzqmm46v1imji238zr7kb1"; + name = "recipe"; + }; + packageRequires = [ eimp emacs ]; + meta = { + homepage = "https://melpa.org/#/blimp"; + license = lib.licenses.free; + }; + }) {}; bliss-theme = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -6660,12 +7038,12 @@ melpaBuild { pname = "bln-mode"; ename = "bln-mode"; - version = "20170112.527"; + version = "20181121.118"; src = fetchFromGitHub { owner = "mgrachten"; repo = "bln-mode"; - rev = "1de92cec97a4693b8b932713e333730118db9183"; - sha256 = "0dlcxh3acaiw3q9sa74jw4bpz7fv9lvpws68gw1qhs39f1plyzfx"; + rev = "a601b0bf975dd1432f6552ab6afe3f4f71133b4a"; + sha256 = "19y1fs5bzp2sqvh6svmj0cpvgq13zmsn852027hi11zvwi6dzqz8"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ee12ef97df241b7405feee69c1e66b3c1a67204b/recipes/bln-mode"; @@ -6746,12 +7124,12 @@ melpaBuild { pname = "blog-minimal"; ename = "blog-minimal"; - version = "20170311.555"; + version = "20181021.149"; src = fetchFromGitHub { owner = "thiefuniverse"; repo = "blog-minimal"; - rev = "d679d74039ecc114b037800c8a94303265b9542a"; - sha256 = "1x14xwnv22dc99gzbn6z48dhxpy46a7lrby2p59aizpwpysi64yk"; + rev = "a634a2db0b80cb445ef0b072d1a1482ced91f9ad"; + sha256 = "0mxfrp7gwg07d8vkipqf8p6mli9y5sqh25k1dkcsidmc6m09j5qn"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/56217a33b0669a782621dd65d83419ae371ed60a/recipes/blog-minimal"; @@ -6771,12 +7149,12 @@ melpaBuild { pname = "bm"; ename = "bm"; - version = "20180703.343"; + version = "20181012.931"; src = fetchFromGitHub { owner = "joodland"; repo = "bm"; - rev = "d224b6cd8341db4c2e11263c346dd44fb37fcd88"; - sha256 = "18xwm1xj436bwa2l3dkfx6hlj19y6f0xqd3jbd06j4g3idpryqma"; + rev = "b85d407b53e1d852c47fcea2a245a4e67e48c38a"; + sha256 = "1ypa1971yh6g0kximqxiv90h1l3m6fprwza6l88gwgackhg9wiz0"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/bm"; @@ -6801,12 +7179,12 @@ melpaBuild { pname = "bmx-mode"; ename = "bmx-mode"; - version = "20180324.857"; + version = "20180929.432"; src = fetchFromGitHub { owner = "josteink"; repo = "bmx-mode"; - rev = "7450c29f5c1f5f67b02bca1c89f06cdf01855f41"; - sha256 = "0knxsmlp1agfs5sj5iz13b8igjx4gpk1lj36wzh1rdiwcxicnr49"; + rev = "536b332edc3b98cc97588c937c7368803ba5961c"; + sha256 = "0hbkh4fb1cb1fd7fq1999i9rffr2xc0l16b0m5sajcrsir3gq4nr"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7f456d2b2b8f5a33bcb0f2ffd19e6e0276950f24/recipes/bmx-mode"; @@ -6819,6 +7197,33 @@ license = lib.licenses.free; }; }) {}; + bnf-mode = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "bnf-mode"; + ename = "bnf-mode"; + version = "20190406.1326"; + src = fetchFromGitHub { + owner = "sergeyklay"; + repo = "bnf-mode"; + rev = "1dda3ef5f837959d007512d1278a02cf5babfe8e"; + sha256 = "12y4f4r6rrl4gj0ibql1dj0h4j0z5k78lbxf51d06c2y1xk4xr4b"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/217bde4ccd2d68dc14b1bfee22fbc99cd4109952/recipes/bnf-mode"; + sha256 = "027pn2lvqsxyj9ii5svql2sw4xm9wrd9zy7ms8vayv737w5xd3n1"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs ]; + meta = { + homepage = "https://melpa.org/#/bnf-mode"; + license = lib.licenses.free; + }; + }) {}; bnfc = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -6853,12 +7258,12 @@ melpaBuild { pname = "bog"; ename = "bog"; - version = "20180113.759"; + version = "20180815.1513"; src = fetchFromGitHub { owner = "kyleam"; repo = "bog"; - rev = "6ed4d3edbe771e586d873b826330f3ef23aa1611"; - sha256 = "0s4jwlaq3mqyzkyg3x4nh4nx7vw825jhz7ggakay7a2cfvpa4i2j"; + rev = "b5df3647f55359f8546dcfa991a351673a069a49"; + sha256 = "1rfv036wzlrbqbki5i24871a9f2h6zk7yqd1lq6gnqrc4y7m477c"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/19fd0bf2f8e52c79120c492a6dcabdd51b465d35/recipes/bog"; @@ -7016,12 +7421,12 @@ melpaBuild { pname = "boon"; ename = "boon"; - version = "20180319.526"; + version = "20181014.227"; src = fetchFromGitHub { owner = "jyp"; repo = "boon"; - rev = "b4cf42bbc531032404da88e8671c7495f0f7a5b0"; - sha256 = "163j41j29nm29w567iq662k9anivqc20yxghm8w49w7i5hsbq9dh"; + rev = "675719ec1f6608a690fc613214920ac3c0d350a3"; + sha256 = "1h2mfvpsci60g7gwwwbb62n85sl1xvrmc1n2w3k8xvmszrmk05kq"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/boon"; @@ -7045,12 +7450,12 @@ melpaBuild { pname = "borg"; ename = "borg"; - version = "20180702.1353"; + version = "20181227.946"; src = fetchFromGitHub { owner = "emacscollective"; repo = "borg"; - rev = "738f749a9eeb9abecad17d38ce9a3e45c040cede"; - sha256 = "0929d5bcqv39bq37sxgcf8z2y9zj89mjcdz632xy4qykiinhnwan"; + rev = "5aad7edbaa8a37581af280db64f237619d6c8dc0"; + sha256 = "16zxl0pmr8z3a2akhnh8g4sd1r7dag4g8p75niych272z0g96cll"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/878ab90d444f3a1fd2c9f9068ca7b477e218f1da/recipes/borg"; @@ -7281,12 +7686,12 @@ melpaBuild { pname = "browse-at-remote"; ename = "browse-at-remote"; - version = "20180621.2331"; + version = "20190213.1129"; src = fetchFromGitHub { owner = "rmuslimov"; repo = "browse-at-remote"; - rev = "0a06018e3500f36917284d552917702de3c5fae5"; - sha256 = "1vci2azq00n2vx1kf0adhzddqj607l5341ym4p6ndk6xhdhqhkbs"; + rev = "a61bda14a84983c84e81d2135bb59e92049cdf85"; + sha256 = "1chvg9m72i888gq94crand9kkyng7gi487508nhvxsr13a6mjh7j"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/browse-at-remote"; @@ -7350,6 +7755,30 @@ license = lib.licenses.free; }; }) {}; + brutalist-theme = callPackage ({ fetchgit + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "brutalist-theme"; + ename = "brutalist-theme"; + version = "20181023.522"; + src = fetchgit { + url = "https://git.madhouse-project.org/algernon/brutalist-theme.el.git"; + rev = "15ea5d881cad24c40d02a1980891b3c17853ad20"; + sha256 = "1zlkx9l8srdw4f95355mng08sx9r23dl7318bpkrw6q56lnp79sf"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/ec889956a5685c3a60003ad2bfa04b03b57aa8e8/recipes/brutalist-theme"; + sha256 = "0dg0432r3cpjgdlpz583vky4hj5vld9d25dvaj6nxlir2ph9g9hn"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/brutalist-theme"; + license = lib.licenses.free; + }; + }) {}; bshell = callPackage ({ buffer-manage , emacs , fetchFromGitHub @@ -7472,14 +7901,14 @@ ename = "bubbleberry-theme"; version = "20141017.244"; src = fetchFromGitHub { - owner = "jasonm23"; + owner = "emacsfodder"; repo = "emacs-bubbleberry-theme"; rev = "22e9adf4586414024e4592972022ec297321b320"; sha256 = "1aha8rzilv4k300rr4l9qjfygydfwllkbw17lhm8jz0kh9w6bd28"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/e359b4463b10ac713c2d024c43a1682fca2959af/recipes/bubbleberry-theme"; - sha256 = "056pcr9ynsl34wqa2pw6sh4bdl5kpp1r0pl1vvw15p4866l9bdz3"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3416586d4d782cdd61a56159c5f80a0ca9b3ddf4/recipes/bubbleberry-theme"; + sha256 = "1mjygck5ra30j44msccqas8v6gkpyv74p6y6hidm8v4f8n6m8dcz"; name = "recipe"; }; packageRequires = [ emacs ]; @@ -7495,12 +7924,12 @@ melpaBuild { pname = "buckwalter"; ename = "buckwalter"; - version = "20180107.843"; + version = "20190204.651"; src = fetchFromGitHub { owner = "joehakimrahme"; repo = "buckwalter.el"; - rev = "2aa5451c3682c268adebc6b1191a796466732f53"; - sha256 = "0g270jyf2fd3x8p0jcd86j751spfphgsmwjxl61rk1x1kiql4icd"; + rev = "d4a7785eef05491ac4eb3150b75c473480bb51cb"; + sha256 = "1i0kkn2qziakpy0ax8rc1pjdb6r881gybqhl5dwmwsd8gkfhddy5"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7dd38487731cc978e104afa39f8954cfc33ba27f/recipes/buckwalter"; @@ -7753,12 +8182,12 @@ melpaBuild { pname = "bui"; ename = "bui"; - version = "20171215.930"; + version = "20181218.1030"; src = fetchFromGitHub { owner = "alezost"; repo = "bui.el"; - rev = "af1a237b4d1ed31780dd37bcbef51fc8ca9b0603"; - sha256 = "1ccw90a68dahcrkr94xi9apnxjmvzjvd33w78bsr2jyfd82ggsw1"; + rev = "9162c24b75799857d54838d961c60776ffcd657e"; + sha256 = "0sszdl4kvqbihdh8d7mybpp0d8yw2p3gyiipjcxz9xhvvmw3ww4x"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/38b7c9345de75a707b4a73e8bb8e2f213e4fd739/recipes/bui"; @@ -7771,6 +8200,34 @@ license = lib.licenses.free; }; }) {}; + build-farm = callPackage ({ bui + , emacs + , fetchFromGitHub + , fetchurl + , lib + , magit-popup + , melpaBuild }: + melpaBuild { + pname = "build-farm"; + ename = "build-farm"; + version = "20181218.1202"; + src = fetchFromGitHub { + owner = "alezost"; + repo = "build-farm.el"; + rev = "5c268a3c235ace0d79ef1ec82c440120317e06f5"; + sha256 = "0i0bwbav5861j2y15j9nd5m9rdqg9q97zgcbld8pivr9nyxy63lz"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/bc97bf56ea50788ecbbbb1f46e188e8487370936/recipes/build-farm"; + sha256 = "0dbq3sc1x0cj06hv3mlk0zw0cijdwjszicylv14m1wahal33xjrw"; + name = "recipe"; + }; + packageRequires = [ bui emacs magit-popup ]; + meta = { + homepage = "https://melpa.org/#/build-farm"; + license = lib.licenses.free; + }; + }) {}; build-helper = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -7834,14 +8291,14 @@ ename = "bundler"; version = "20160815.215"; src = fetchFromGitHub { - owner = "tobiassvn"; + owner = "endofunky"; repo = "bundler.el"; rev = "f981f67c33b42243e57a78c358dffff70022b56b"; sha256 = "1hfcvlkwa3hh70qan3q5mvld1hqqbnmbwqycvlqi6qr8dcdfl3cx"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/ade7d0f0f0e553b48634e60ecaf7b91d0776d5f0/recipes/bundler"; - sha256 = "0i5ybc6i8ackxpaa75kwrg44zdq3jkvy48c42vaaafpddjwjnsy4"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3416586d4d782cdd61a56159c5f80a0ca9b3ddf4/recipes/bundler"; + sha256 = "1jvcrxwsf9yd5vhirfdmjl52n6hffr1vikd386qbn32vgqcsba7a"; name = "recipe"; }; packageRequires = [ cl-lib inf-ruby ]; @@ -7857,12 +8314,12 @@ melpaBuild { pname = "bury-successful-compilation"; ename = "bury-successful-compilation"; - version = "20150328.1728"; + version = "20181105.2003"; src = fetchFromGitHub { owner = "EricCrosson"; repo = "bury-successful-compilation"; - rev = "7b16dc71b43914928cc16da674e69d7af975238a"; - sha256 = "08ny1iycsgpal99g180w9yvk6ql8qn2kkc9xk9lmfv5p1wqm3l4w"; + rev = "674644c844184605a1bb4f9487a60f7a780a6fe7"; + sha256 = "13ilv4zbzwb5rz0gf69z8pvxazvwlmb5shkb055l42ksxslp49hh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f66e2e23c7a1fa0ce6fa8a0e814242b7c46c299c/recipes/bury-successful-compilation"; @@ -7986,12 +8443,12 @@ melpaBuild { pname = "buttercup"; ename = "buttercup"; - version = "20180629.523"; + version = "20181202.807"; src = fetchFromGitHub { owner = "jorgenschaefer"; repo = "emacs-buttercup"; - rev = "39d625ce53bb1e1b9b03d9c9c70aa81e94fcc66a"; - sha256 = "1y97af0kl0yiirnajn44jcz865acndjwkr3zhpf65lm0bbaxfp2a"; + rev = "810fa6fb8dab06610dbf2b5ccbc64b4d0ecc7485"; + sha256 = "0dckgcyzsav6ld78bcyrrygy1cz1jvqgav6vy8f6klpmk3r8xrl1"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d4b187cb5b3cc5b546bfa6b94b6792e6363242d1/recipes/buttercup"; @@ -8004,6 +8461,32 @@ license = lib.licenses.free; }; }) {}; + buttercup-junit = callPackage ({ buttercup + , emacs + , fetchgit + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "buttercup-junit"; + ename = "buttercup-junit"; + version = "20181111.1258"; + src = fetchgit { + url = "https://bitbucket.org/olanilsson/buttercup-junit"; + rev = "1b3214d3d74d998c475f54035643231d8bcffbee"; + sha256 = "120ayxx7f8vdmjwdvycjpkc9acb03z1l0jf2ndigyg64jb8q7a4g"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/f1030960afe994da338d78607233319b3f7f0c8b/recipes/buttercup-junit"; + sha256 = "1v848vbwxqrw9sdsvjaggkspavmbwkmqshf321m4n8srvi51383w"; + name = "recipe"; + }; + packageRequires = [ buttercup emacs ]; + meta = { + homepage = "https://melpa.org/#/buttercup-junit"; + license = lib.licenses.free; + }; + }) {}; button-lock = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -8029,6 +8512,32 @@ license = lib.licenses.free; }; }) {}; + buttons = callPackage ({ cl-lib ? null + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "buttons"; + ename = "buttons"; + version = "20190318.1741"; + src = fetchFromGitHub { + owner = "erjoalgo"; + repo = "emacs-buttons"; + rev = "a14d0c21cc30d33b57481f535f2a838d65b2032f"; + sha256 = "17b6km8qvkh43g276fmv552lffd2jq5x863fc7zm7xf2khwmpwbh"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/3b8f9437268a51654b2bebdd024c35060b078962/recipes/buttons"; + sha256 = "0pp7x4z6vzdfav5ljxsk1q6xby7gcxnkyl5fcbsd4r98ja4zmyq4"; + name = "recipe"; + }; + packageRequires = [ cl-lib ]; + meta = { + homepage = "https://melpa.org/#/buttons"; + license = lib.licenses.free; + }; + }) {}; c-c-combo = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -8061,12 +8570,12 @@ melpaBuild { pname = "c-eldoc"; ename = "c-eldoc"; - version = "20170917.1502"; + version = "20181108.2039"; src = fetchFromGitHub { owner = "nflath"; repo = "c-eldoc"; - rev = "79d09769362228058246f5e6fa183d121f7fb322"; - sha256 = "1398lfd18zn2xym36p71yavgggqbb15xz9m7gah4w4k2bk15aczk"; + rev = "e35c0e40f71c25804919f6c01fd27e95c2e2adb7"; + sha256 = "0rwxlq8w6507lkvvj0krwvg4ai1wyj466nhns1f857kry7cssnzy"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/c-eldoc"; @@ -8182,6 +8691,33 @@ license = lib.licenses.free; }; }) {}; + caddyfile-mode = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , loop + , melpaBuild }: + melpaBuild { + pname = "caddyfile-mode"; + ename = "caddyfile-mode"; + version = "20181204.58"; + src = fetchFromGitHub { + owner = "Schnouki"; + repo = "caddyfile-mode"; + rev = "9da9c964f926690b1a1c029bd6d89ae83c5cef41"; + sha256 = "0wip6n5x1prp7dzbvm8qik87iqpinr8yy138idddj4jc6hwd78p4"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/ec771222056dcb6c67e133cd6aa6b4e4d03ac264/recipes/caddyfile-mode"; + sha256 = "12d57xcpp78lmcr95nfp0r9g7lkw8kfxf9c3rc7g53kh5xaaj4i2"; + name = "recipe"; + }; + packageRequires = [ emacs loop ]; + meta = { + homepage = "https://melpa.org/#/caddyfile-mode"; + license = lib.licenses.free; + }; + }) {}; cake-inflector = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -8216,12 +8752,12 @@ melpaBuild { pname = "cakecrumbs"; ename = "cakecrumbs"; - version = "20180222.1845"; + version = "20180928.1839"; src = fetchFromGitHub { owner = "kuanyui"; repo = "cakecrumbs.el"; - rev = "76cfbfacfaa9d2128fc9218338a0ba2bb47349ab"; - sha256 = "18ni6krymzm1af2vmw2n82s0ifny6pn1p0qifn3646xx4p210a4z"; + rev = "cf8c1df885eee004602f73c4f841301e200e5850"; + sha256 = "0s5ga39dpn9rjxjk5inkylqh56w3qgaq2wmwwgv5gsydqdyil31f"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c970907affeb4a21fa1b7c350edf171dbdcd8de5/recipes/cakecrumbs"; @@ -8267,12 +8803,12 @@ melpaBuild { pname = "calendar-norway"; ename = "calendar-norway"; - version = "20160827.1316"; + version = "20180906.802"; src = fetchFromGitHub { owner = "unhammer"; repo = "calendar-norway.el"; - rev = "8501b2ee515e995f345365391b03f44c812cabdf"; - sha256 = "0lch835rq2rqyh0vyi75dhyl7hm6bv27f2z753wggh0jyg6qxi7a"; + rev = "8d1fda8268caa74ba5e712c7675ed3c34e46e2d4"; + sha256 = "011c8pz1g805a7c3djai39yasd2idfp4c2dcrvf7kbls27ayrl6d"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c5d01230027d5cec9da2545a9ce9270a611f6567/recipes/calendar-norway"; @@ -8447,12 +8983,12 @@ melpaBuild { pname = "call-graph"; ename = "call-graph"; - version = "20180509.635"; + version = "20190116.2304"; src = fetchFromGitHub { owner = "beacoder"; repo = "call-graph"; - rev = "1ba83f20e56cfe77f6165df4ffde1d152647ec3b"; - sha256 = "0qs3wg6ls4s400hdcimwf9lj9mz6g39sk3nqxvp4fk01jjzcas39"; + rev = "641d600c3cdb002fd99bcf8040e9c4f372cd5de6"; + sha256 = "0lbh2bhsj4xicyzcjnpp8794amaswc20ksh4qr7xcs6q8rgfpbbc"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a6acf099e2510c82b4b03e2f35051afc3d28af45/recipes/call-graph"; @@ -8500,12 +9036,12 @@ melpaBuild { pname = "camcorder"; ename = "camcorder"; - version = "20160404.2134"; + version = "20190317.1438"; src = fetchFromGitHub { owner = "Malabarba"; repo = "camcorder.el"; - rev = "c96b3392c99b9f83c968bffa330ec4356c41518e"; - sha256 = "0am8asrzjs3iwak9c86fxb4zwgx5smbb9ywp0zn4y7j37blygswj"; + rev = "b11ca61491a27681bb3131b72b51c105fd996bed"; + sha256 = "11p42cmk9sj2ilpx6nnlbzff85qi0m27wk49da2ipal28wcx2452"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1e6aed365c42987d64d0cd9a8a6178339b1b39e8/recipes/camcorder"; @@ -8525,16 +9061,16 @@ melpaBuild { pname = "caml"; ename = "caml"; - version = "20171209.1232"; + version = "20190121.716"; src = fetchFromGitHub { owner = "ocaml"; - repo = "ocaml"; - rev = "ca71bda2ac7e5143f58fa9a1693f97e709a91332"; - sha256 = "1ksx2ym5s68m87rnjjkdwhp5ci6cfw0yhmjjmq1r4a0d0r77x4lr"; + repo = "caml-mode"; + rev = "cd1142f1e6a9ad8d763688877ce76b2a7436d750"; + sha256 = "1zzsjibiyl947fir1j0swzsq7pk4l1jh8dn86by24zgcpm14gj3c"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/d5a3263cdcc229b11a3e96edbf632d56f32c47aa/recipes/caml"; - sha256 = "1ixs0626nsg1ilqdwj5rd8kicjy7mprswwy0kprppmpmc8y7xf7c"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/42667ee0d64bce19ad9081a4fae163a9655641d4/recipes/caml"; + sha256 = "0hpxvvgq9nxcbxq9dm1sia3ph2h7p07pp48jz77pr786lrw67la0"; name = "recipe"; }; packageRequires = []; @@ -8543,6 +9079,35 @@ license = lib.licenses.free; }; }) {}; + cangjie = callPackage ({ dash + , emacs + , f + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , s }: + melpaBuild { + pname = "cangjie"; + ename = "cangjie"; + version = "20190322.434"; + src = fetchFromGitHub { + owner = "kisaragi-hiu"; + repo = "cangjie.el"; + rev = "f4dcb691e3bda6971cb89b07f368dd285179a8ff"; + sha256 = "0hvwaj1g1szyhjvyxhwflq45bbcvvgv391wa7qkwlxmrvvfhp9k2"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/ed79fc972f7fe69d7bad5d1cdde3a276885a9fe8/recipes/cangjie"; + sha256 = "0gdp6dlkzkkd8r3cmwakwxlxsbysb351n1lr9sq4d60gbbskklln"; + name = "recipe"; + }; + packageRequires = [ dash emacs f s ]; + meta = { + homepage = "https://melpa.org/#/cangjie"; + license = lib.licenses.free; + }; + }) {}; capture = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -8605,12 +9170,12 @@ melpaBuild { pname = "cargo"; ename = "cargo"; - version = "20180521.408"; + version = "20190108.17"; src = fetchFromGitHub { owner = "kwrooijen"; repo = "cargo.el"; - rev = "10093586bdac7252e65e11851f26da8ba4720608"; - sha256 = "03imznfy9ry2n83hj3qgw8m0030w66z6789raxywv394274pxm4c"; + rev = "1f3bc0d10dbddabfe1974590847a1359aeb3c244"; + sha256 = "0kixkp2q8dj7gbqkmgb2jz3ihfrbyxykvfd1abh8bkxsa4zz6khm"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e997b356b009b3d2ab467fe49b79d728a8cfe24b/recipes/cargo"; @@ -8678,7 +9243,8 @@ license = lib.licenses.free; }; }) {}; - cask = callPackage ({ cl-lib ? null + cask = callPackage ({ ansi + , cl-lib ? null , dash , epl , f @@ -8692,19 +9258,19 @@ melpaBuild { pname = "cask"; ename = "cask"; - version = "20180626.1249"; + version = "20181107.142"; src = fetchFromGitHub { owner = "cask"; repo = "cask"; - rev = "d731e96f40c34a0fd85db04977c9756d60bd221f"; - sha256 = "045qixxkrvz48giwc83aykld78gmbckndy32prh8dl6ch7digh23"; + rev = "199b4380dd3e178ff9df3a9d13d044d67e522b3f"; + sha256 = "14q76wdlnwg08ais2gpmdrjvshly1wp8p8ckyhdmnwq7x39qvh7d"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b86c666ee9b0620390a250dddd42b17cbec2409f/recipes/cask"; sha256 = "11nr6my3vlb1xiyai7qwii3nszda2mnkhkjlbh3d0699h0yw7dk5"; name = "recipe"; }; - packageRequires = [ cl-lib dash epl f package-build s shut-up ]; + packageRequires = [ ansi cl-lib dash epl f package-build s shut-up ]; meta = { homepage = "https://melpa.org/#/cask"; license = lib.licenses.free; @@ -8847,6 +9413,32 @@ license = lib.licenses.free; }; }) {}; + cc-cedict = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "cc-cedict"; + ename = "cc-cedict"; + version = "20181217.312"; + src = fetchFromGitHub { + owner = "xuchunyang"; + repo = "cc-cedict.el"; + rev = "7dd6e8a99c634c9eff5fa2931ad8828ff02dbd90"; + sha256 = "1clpwp5vp9rlnms3xfr4c0ddhc3cxl3vv76jasxiqjzidjs8n090"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/368aaef30c5c4f38d9d2dd09f966e3dcc2463e11/recipes/cc-cedict"; + sha256 = "1h8i9nfd66ayka5vkm1lp5crr4nm1bzi4sak0xid85fzgmx364vr"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/cc-cedict"; + license = lib.licenses.free; + }; + }) {}; ccc = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -8878,23 +9470,24 @@ , fetchurl , lib , lsp-mode - , melpaBuild }: + , melpaBuild + , projectile }: melpaBuild { pname = "ccls"; ename = "ccls"; - version = "20180708.2207"; + version = "20181225.53"; src = fetchFromGitHub { owner = "MaskRay"; repo = "emacs-ccls"; - rev = "4c8f377f7aa957a33a0097dc212e765246f799db"; - sha256 = "09gll0c1jy0ljv2jb7qmpgyh0n4jdm4xhj10lcny0xx32nyfa86y"; + rev = "8345c08d1d8fb784d3cc8b35bfbaedfa1861cc2e"; + sha256 = "1bs4jx36vrkrdfr6ah6hcy19fyv73d39dgrl8w6j555ahswk2c9h"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/be27a4022d58860917a659fce2b7d7791fbea4e2/recipes/ccls"; sha256 = "0kiv0n6pdpa75wjcimpwccwbjbhga4gjnphjrkpj4qz5qv42rbnm"; name = "recipe"; }; - packageRequires = [ dash emacs lsp-mode ]; + packageRequires = [ dash emacs lsp-mode projectile ]; meta = { homepage = "https://melpa.org/#/ccls"; license = lib.licenses.free; @@ -9160,29 +9753,27 @@ license = lib.licenses.free; }; }) {}; - cerbere = callPackage ({ f - , fetchFromGitHub + cerbere = callPackage ({ fetchFromGitHub , fetchurl , lib , melpaBuild - , pkg-info - , s }: + , pkg-info }: melpaBuild { pname = "cerbere"; ename = "cerbere"; - version = "20140418.715"; + version = "20181113.841"; src = fetchFromGitHub { owner = "nlamirault"; repo = "cerbere"; - rev = "ef573b05f4c2a067b8234003aaa4b2a76fffea5c"; - sha256 = "17jg5d5afh9zpnjx8wkys8bjllxq99j0yhz8j3fvkskisvhkz1im"; + rev = "bb18d932b16541105d41a668dbf6fc4e833a6dc2"; + sha256 = "1sx61pgh12iqby4yvslrmn634hn4hk2bh2zfybj1b5p3iwzzmpzd"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4145e270a2113f30f8bb4d0f6c335f1c76f77b1c/recipes/cerbere"; sha256 = "1g3svmh5dlh5mvyag3hmiy90dfkk6f7ppd9qpwckxqyll9vl7r06"; name = "recipe"; }; - packageRequires = [ f pkg-info s ]; + packageRequires = [ pkg-info ]; meta = { homepage = "https://melpa.org/#/cerbere"; license = lib.licenses.free; @@ -9348,26 +9939,27 @@ license = lib.licenses.free; }; }) {}; - cg = callPackage ({ fetchFromGitHub + cg = callPackage ({ emacs + , fetchFromGitHub , fetchurl , lib , melpaBuild }: melpaBuild { pname = "cg"; ename = "cg"; - version = "20171123.301"; + version = "20190316.1506"; src = fetchFromGitHub { - owner = "emacsorphanage"; + owner = "emacsmirror"; repo = "cg"; - rev = "e19f3bf60b9c8dbcff053b008fa3ace17fc073fe"; - sha256 = "13j7x6ngjga2idixw02llmykzsrihsxnfdj5jkx5sdkvrmqymmfz"; + rev = "9349600829ca1758306e703a649874f8c63955fa"; + sha256 = "1s3s37g99x19zxnq0xbiy95kjhm2hb09saxic2basapcp0sdfbwh"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/30de78c9cf83de30093a5647976eeaf552d4b2cb/recipes/cg"; - sha256 = "0yl2w48953vym4gxcxvjfaq3jgsv5jlya9vq3iwlfxqpapd3r3k9"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/be27e728327016b819535ef8cae10020e5a07c2e/recipes/cg"; + sha256 = "1xffjilr9f2s3w7j8f3clq7qvsnr0lr8gadlybpzzy8x5fbmk4n3"; name = "recipe"; }; - packageRequires = []; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/cg"; license = lib.licenses.free; @@ -9381,16 +9973,16 @@ melpaBuild { pname = "challenger-deep-theme"; ename = "challenger-deep-theme"; - version = "20180525.918"; + version = "20181205.1034"; src = fetchFromGitHub { - owner = "MaxSt"; - repo = "challenger-deep"; - rev = "62d05f01c3dc4653f46527448b3b2058daba86c0"; - sha256 = "019n14m1nfiw2xshsmkiszmj7qc5dyd949xj3bfcxrj6a2prsgqw"; + owner = "challenger-deep-theme"; + repo = "emacs"; + rev = "64a27ff3d7f6633234f7f1ec28a70b47a176bb04"; + sha256 = "17pmr3fbcyhhv03y9x32h0bwi2mrbqnjv9cy04ghpr3hkpgkpz65"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/7942f539d025c1e2b059d49e1984716cbbc90a67/recipes/challenger-deep-theme"; - sha256 = "1apjc32wy7h7fadxckdbfa6wzd360c7v6dig9gikjbsxm8xgdg60"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3416586d4d782cdd61a56159c5f80a0ca9b3ddf4/recipes/challenger-deep-theme"; + sha256 = "02k0irp27wv1b5g2a6g86zp7cdprv17c0mlhkjsq2brls274ch3y"; name = "recipe"; }; packageRequires = [ emacs ]; @@ -9459,12 +10051,12 @@ melpaBuild { pname = "char-menu"; ename = "char-menu"; - version = "20171231.2218"; + version = "20181231.2305"; src = fetchFromGitHub { owner = "mrkkrp"; repo = "char-menu"; - rev = "3235f8e3c88848ce10d25f84a5da39061fd35c0d"; - sha256 = "05pjfj6g4gdbdj4z63283j5qzkvhvrzsx1jhbc5iih0nsffwapc3"; + rev = "bf6f64e8347bdf6f8421d0494d30b9af30a49778"; + sha256 = "0dslfmhzxxyl9i9vfff21yjwjl9y8zhmgap7p3b2bdivks50hwwd"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f6676747e853045b3b19e7fc9524c793c6a08303/recipes/char-menu"; @@ -9778,8 +10370,8 @@ sha256 = "1zm0wjhqsb11szvxs2rnq63396cbi6ffynpbn07p6gk5agxzfy0j"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/chinese-number"; - sha256 = "01ia2l5vrg8fhaxcvk8pv9qfm08xs0fbyc9j57nbdk9wxnd9i45s"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/e608f40d00a3b2a80a6997da00e7d04f76d8ef0d/recipes/chinese-number"; + sha256 = "0cjfxhd5izahkncs2nzpdv8brsxlwr2dx4hi07ymr62cr0hh0jgy"; name = "recipe"; }; packageRequires = []; @@ -9875,12 +10467,12 @@ melpaBuild { pname = "choice-program"; ename = "choice-program"; - version = "20171004.931"; + version = "20180920.2013"; src = fetchFromGitHub { owner = "plandes"; repo = "choice-program"; - rev = "27607ec1fe241c58fbc1f861454a8e2ec1fd7b15"; - sha256 = "0q8krgsydrc2xc29y60qljifdvxfmxnvbncxsh64xhrzsnrgwmq5"; + rev = "08ce5a5dd79690aed12fd9d152d8cb4be988fdb1"; + sha256 = "19mq8z00g12cpyrb8z0m9sxqs8adp4hbcbqxcila53myfcf7v92h"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6e39555b2538cc8a955766c5533871396e8fe712/recipes/choice-program"; @@ -9893,6 +10485,32 @@ license = lib.licenses.free; }; }) {}; + chronometer = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "chronometer"; + ename = "chronometer"; + version = "20190304.728"; + src = fetchFromGitHub { + owner = "marcelotoledo"; + repo = "chronometer"; + rev = "8457b296ef87be339cbe47730b922757d60bdcd5"; + sha256 = "1apzb0jccw91gdynqa1722bbalzj4kp9fq25zzw1rxsrgh3mgmc5"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/b20fa4885e2cdc0429d988c76b365bf34d9343db/recipes/chronometer"; + sha256 = "1kgfq9srch0amdgb4cvizlrg5xqq0hkkdq85yjr2xwsljh09m83k"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/chronometer"; + license = lib.licenses.free; + }; + }) {}; chronos = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -9983,12 +10601,12 @@ melpaBuild { pname = "cider"; ename = "cider"; - version = "20180719.542"; + version = "20190331.1314"; src = fetchFromGitHub { owner = "clojure-emacs"; repo = "cider"; - rev = "4b7aea3523fb91e8172dfdd538b01da8c0d7686f"; - sha256 = "0lcczp066lxpq5s4f23bsvn15lkzivw6f0xi5ih7kf74c1fq1nn2"; + rev = "957617895e532217ec0082faf1e80743baf5d4f2"; + sha256 = "08l7q9ms0wby8r4aagcnw3dzqp20ahagpfwc2as787gd9hs45fac"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/55a937aed818dbe41530037da315f705205f189b/recipes/cider"; @@ -10073,12 +10691,12 @@ melpaBuild { pname = "cider-hydra"; ename = "cider-hydra"; - version = "20161018.2254"; + version = "20181015.27"; src = fetchFromGitHub { owner = "clojure-emacs"; repo = "cider-hydra"; - rev = "6bb341143fe16f12be2262b2bcd003a246962676"; - sha256 = "094641g6rzm4y6k8ph1bbkfiwpp37wk1q9mcylbah01qlqd9c9qm"; + rev = "5956c3909cd9beae11f64973e4f0d830cea7860d"; + sha256 = "1hnari85c4y5sc8cdv2idkg2qv058crz54xdidnphr1wgw5zhvpk"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/51d5e6471f88337c478ee5c189f037aaec937f56/recipes/cider-hydra"; @@ -10091,36 +10709,6 @@ license = lib.licenses.free; }; }) {}; - cider-spy = callPackage ({ cider - , cl-lib ? null - , dash - , emacs - , fetchFromGitHub - , fetchurl - , lib - , melpaBuild - , noflet }: - melpaBuild { - pname = "cider-spy"; - ename = "cider-spy"; - version = "20160313.740"; - src = fetchFromGitHub { - owner = "jonpither"; - repo = "cider-spy"; - rev = "0224608d240e9900e588b6df049c2a87c24fc936"; - sha256 = "1x96f5wc916dcwb75a34b6x1mas20gdgy34c7rg59n91ydn1mfaf"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/cider-spy"; - sha256 = "086yxz90mgc5si9k4j15nkc51k0lfk1dx1kq3r3swhyw3cwn7vh3"; - name = "recipe"; - }; - packageRequires = [ cider cl-lib dash emacs noflet ]; - meta = { - homepage = "https://melpa.org/#/cider-spy"; - license = lib.licenses.free; - }; - }) {}; ciel = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -10129,12 +10717,12 @@ melpaBuild { pname = "ciel"; ename = "ciel"; - version = "20170330.526"; + version = "20180914.115"; src = fetchFromGitHub { owner = "cs14095"; repo = "ciel.el"; - rev = "8c73f78d60ef52d3c395a9629963a63439b8a83e"; - sha256 = "1jaxqri8l7y1lqj830h5alxn37skjpb56j6ax8qf9926n8qz3arm"; + rev = "429773a3c551691a463ecfddd634b8bae2f48503"; + sha256 = "0xykdwsjgx44c0l5v9swkjjv0xa673krzlc71b1sc4dw9l526s4m"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9c70c007a557ea9fb9eb4d3f8b7adbe4dac39c8a/recipes/ciel"; @@ -10209,16 +10797,16 @@ melpaBuild { pname = "circadian"; ename = "circadian"; - version = "20180708.643"; + version = "20181024.556"; src = fetchFromGitHub { - owner = "GuidoSchmidt"; + owner = "guidoschmidt"; repo = "circadian.el"; - rev = "9894361dcd6ffb6d4629b4cbbabda2153699eb8e"; - sha256 = "0wpsykmai3idz0bgfl07hwl9nr4x9sgprvqgw8jln4dz2wf5gdic"; + rev = "e0547c1779f2653dac09192951a0756ce2e2ea89"; + sha256 = "120b6wr2b4dmgaz5y3vpc5f68nqm1lfkgwpcxwxncspds7qb987j"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/3440905a20bc91bb2637a87c04ff8410379f150d/recipes/circadian"; - sha256 = "13797y1w1636bibisz5i5p2xp0smd3apnhc1nx8ijm75smx679id"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/circadian"; + sha256 = "1xxrhifw371yc4i2cddzcdmqh5dfc905wyl88765098685q8k4bp"; name = "recipe"; }; packageRequires = [ emacs ]; @@ -10235,12 +10823,12 @@ melpaBuild { pname = "circe"; ename = "circe"; - version = "20180525.531"; + version = "20190322.542"; src = fetchFromGitHub { owner = "jorgenschaefer"; repo = "circe"; - rev = "fedfa7eb8516a53fa70b6a1f4fce4b5ab66ea91f"; - sha256 = "10gi14kwxd81blddpvqh95lgmpbfgp0m955naxix3bs3r6a75n4s"; + rev = "6ccd4b494cbae9d28091217654f052eaea321007"; + sha256 = "0cr9flk310yn2jgvj4hbqw9nj5wlfi0fazdkqafzidgz6iq150wd"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a2b295656d53fddc76cacc86b239e5648e49e3a4/recipes/circe"; @@ -10364,6 +10952,32 @@ license = lib.licenses.free; }; }) {}; + cl-libify = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "cl-libify"; + ename = "cl-libify"; + version = "20181129.1830"; + src = fetchFromGitHub { + owner = "purcell"; + repo = "cl-libify"; + rev = "e205b96f944a4f312fd523804cbbaf00027a3c8b"; + sha256 = "03xmpgpd4zw9x4shkz9aa744ifnwfblnq369qsp3r1awjacksrg3"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/22088f8779652072871d5c472c67f34bd0470129/recipes/cl-libify"; + sha256 = "0p3b57vfzhk348hb7bcnkq4ihi4qzsy4hcdvwa1h85i84vwyzk5d"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/cl-libify"; + license = lib.licenses.free; + }; + }) {}; clang-format = callPackage ({ cl-lib ? null , fetchFromGitHub , fetchurl @@ -10374,14 +10988,14 @@ ename = "clang-format"; version = "20180406.814"; src = fetchFromGitHub { - owner = "emacsorphanage"; + owner = "emacsmirror"; repo = "clang-format"; - rev = "d11600d94e9aaeb807b4ab7b4ae8069d8bd5f075"; + rev = "38ee476c47c3998f04a8cba9c18d0e2f806fe968"; sha256 = "0zlw1qdchzpr93wqmkn7590w0frmhvd82jjfl1dngwa8j14pf97k"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/30de78c9cf83de30093a5647976eeaf552d4b2cb/recipes/clang-format"; - sha256 = "1w2w8hhyxp73s1ziyd0n7f1yi0x46v93630xxpjnf9bgr1psfk5f"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/be27e728327016b819535ef8cae10020e5a07c2e/recipes/clang-format"; + sha256 = "0v8nvgjadzmsz088q6cgli5s99z45bz9qb508qln1yips42zn258"; name = "recipe"; }; packageRequires = [ cl-lib ]; @@ -10526,12 +11140,12 @@ melpaBuild { pname = "cliphist"; ename = "cliphist"; - version = "20171112.2138"; + version = "20181229.611"; src = fetchFromGitHub { owner = "redguardtoo"; repo = "cliphist"; - rev = "e454254f8bd9dbaea28e95c786d7297a2d4e920a"; - sha256 = "1lxsy78kmrrb82y7nlaaaq2qsly7f3wa8jw1bagjax4rwvld0vim"; + rev = "232ab0b3f6d502de61ebe76681a6a04d4223b877"; + sha256 = "0is772r0b7i8rvra9zb94g9aczv8b6q0dmdk67wbli5rv5drfjyq"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/82d86dae4ad8efc8ef342883c164c56e43079171/recipes/cliphist"; @@ -10559,8 +11173,8 @@ sha256 = "0mfb4k0i71y49hn0xk5a1mv4zaj249qcan0y0nzvgf7mmvr32n9w"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/4dc92d73705ebb61ff8218f3483dd2da51ce8d32/recipes/clipmon"; - sha256 = "1gvy1722px4fh88jyb8xx7k1dgyjgq7zjadr5fghdir42l0byw7i"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/e608f40d00a3b2a80a6997da00e7d04f76d8ef0d/recipes/clipmon"; + sha256 = "0qhav3scmk3zsa7v3hg3zczps0as3mzrz3cl34n3xlvf4f6ifd9k"; name = "recipe"; }; packageRequires = []; @@ -10604,14 +11218,14 @@ ename = "clips-mode"; version = "20170909.123"; src = fetchFromGitHub { - owner = "grettke"; + owner = "clips-mode"; repo = "clips-mode"; rev = "dd38e2822640a38f7d8bfec4f69d8dd24be27074"; sha256 = "1q2jz72wi8d2pdrjic9kwqixp5sczjkkx8rf67rgaz37ysjpcbf6"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/d28484bf5e9ad72778ad63f73deeea1eb1263236/recipes/clips-mode"; - sha256 = "083wrhjn04rg8vr6j0ziffdbdhbfn63wzl4q7yzpkf8qckh6mxhf"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3416586d4d782cdd61a56159c5f80a0ca9b3ddf4/recipes/clips-mode"; + sha256 = "1ckk8ajr1x8y2h8jx2q233xs69nip3kjn0wp3xgfbwx7hjcbk7kr"; name = "recipe"; }; packageRequires = []; @@ -10632,22 +11246,21 @@ , melpaBuild , multiple-cursors , paredit - , s , seq , yasnippet }: melpaBuild { pname = "clj-refactor"; ename = "clj-refactor"; - version = "20180708.57"; + version = "20190405.333"; src = fetchFromGitHub { owner = "clojure-emacs"; repo = "clj-refactor.el"; - rev = "443f0860d1d1c209cf4baae998f55df0616a819f"; - sha256 = "1qykm5z0iiv7vsmkgpd4mvxs0ml42z132bxg7ap8an9mvxixrvhj"; + rev = "cd6b6fb30fc5a429ff209d20af2f2f304937fe99"; + sha256 = "0bn1bianch1f3c9pps7kxmk6lradmkgqa9bfjqr864w1yrv8yxv5"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/3a2db268e55d10f7d1d5a5f02d35b2c27b12b78e/recipes/clj-refactor"; - sha256 = "1qvds6dylazvrzz1ji2z2ldw72pa2nxqacb9d04gasmkqc32ipvz"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/e608f40d00a3b2a80a6997da00e7d04f76d8ef0d/recipes/clj-refactor"; + sha256 = "05x0820x34pidcz03z96qs685y2700g7ha0dx4vy1xr7fg356c3z"; name = "recipe"; }; packageRequires = [ @@ -10659,7 +11272,6 @@ inflections multiple-cursors paredit - s seq yasnippet ]; @@ -10777,23 +11389,24 @@ , fetchurl , lib , melpaBuild - , projectile }: + , projectile + , spaceline }: melpaBuild { pname = "clocker"; ename = "clocker"; - version = "20160125.1505"; + version = "20190214.1033"; src = fetchFromGitHub { owner = "roman"; repo = "clocker.el"; - rev = "07338bc4b850d262eb263ac306ae3366cac6e078"; - sha256 = "0f6qav92lyp36irdlamcxhzfd4p1i4iq18d5cmr7fgfwi894ikcg"; + rev = "c4d76968a49287ce3bac0832bb5d5d076054c96f"; + sha256 = "1wp74fmnk21n5lrpmyk9j25dc79jffbmmhbgg5avzv63az6ffkdk"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/dadd3f5abad2e1f7863c4d654ff065f641395f64/recipes/clocker"; sha256 = "0cckrk40k1labiqjh7ghzpx5zi136xz70j3ipp117x52qf24k10k"; name = "recipe"; }; - packageRequires = [ dash projectile ]; + packageRequires = [ dash projectile spaceline ]; meta = { homepage = "https://melpa.org/#/clocker"; license = lib.licenses.free; @@ -10807,12 +11420,12 @@ melpaBuild { pname = "clojars"; ename = "clojars"; - version = "20161109.1448"; + version = "20180825.1251"; src = fetchFromGitHub { owner = "joshuamiller"; repo = "clojars.el"; - rev = "d9a3ecb61f055e1c3497e424193d867bc3125da1"; - sha256 = "1h1yff0b2n9rwpqwhba23jpqbdpnivx0bhs7b48gl66wpsg7307l"; + rev = "c78e4d5ddacda064c253e2b38d1c35188aa1ad71"; + sha256 = "1xa0c3i8mq3n8mh37i5avgfkcnjyqkg6h668d9lf3w0bnz5cw0x7"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7f766319c3e18a41017684ea503b0382e96ab31b/recipes/clojars"; @@ -10825,33 +11438,6 @@ license = lib.licenses.free; }; }) {}; - clojure-cheatsheet = callPackage ({ cider - , fetchFromGitHub - , fetchurl - , helm - , lib - , melpaBuild }: - melpaBuild { - pname = "clojure-cheatsheet"; - ename = "clojure-cheatsheet"; - version = "20180201.4"; - src = fetchFromGitHub { - owner = "clojure-emacs"; - repo = "clojure-cheatsheet"; - rev = "85c382317a56bbdfac03ae95999c28fc0cde65d7"; - sha256 = "0w9l6nz583qyldz44jqdh4414rgm6n2fzbaj5hsr5j1bkdizq7xl"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/0569da79bd8145df334965c5d4364a50b6b548fa/recipes/clojure-cheatsheet"; - sha256 = "05sw3bkdcadslpsk64ds0ciavmdgqk7fr5q3z505vvafmszfnaqv"; - name = "recipe"; - }; - packageRequires = [ cider helm ]; - meta = { - homepage = "https://melpa.org/#/clojure-cheatsheet"; - license = lib.licenses.free; - }; - }) {}; clojure-mode = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -10860,12 +11446,12 @@ melpaBuild { pname = "clojure-mode"; ename = "clojure-mode"; - version = "20180709.648"; + version = "20190324.2328"; src = fetchFromGitHub { owner = "clojure-emacs"; repo = "clojure-mode"; - rev = "e9da8797e577651b96875228e3804ef11b3c9ff0"; - sha256 = "0dpvmyanhbm164ma3ryhsqchi66vjwpyv97qq92zrd8arv8njnbh"; + rev = "e898a949d6789acbea53fd036af786268b46c620"; + sha256 = "1hds3g0vcd12lhjjnjx7rr8xgll7vg8kxpk9hqbc72p563h1sy97"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5e3cd2e6ee52692dc7b2a04245137130a9f521c7/recipes/clojure-mode"; @@ -10968,12 +11554,12 @@ melpaBuild { pname = "clomacs"; ename = "clomacs"; - version = "20180722.757"; + version = "20190313.817"; src = fetchFromGitHub { owner = "clojure-emacs"; repo = "clomacs"; - rev = "be07dc637553b86b6d5cfbbe7dcb4acaf897135e"; - sha256 = "0h05424xfj3higzjrigzkgmp7pal8zivgjy8kfndj2sjy5kyz5g9"; + rev = "461be59e5f480af292c84fd6f7d88f1f885371a5"; + sha256 = "1kglhcid32vxs8nc7j2jjbd0cbwxx2rc0y2wlhmcxpd3gsk2lwp3"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/345f9797e87e3f5f957c167a5e3d33d1e31b50a3/recipes/clomacs"; @@ -10995,12 +11581,12 @@ melpaBuild { pname = "closql"; ename = "closql"; - version = "20180627.1931"; + version = "20181031.1458"; src = fetchFromGitHub { owner = "emacscollective"; repo = "closql"; - rev = "faed079570c2e70b0e4988177e35b7990afa4752"; - sha256 = "0ni2akjb1n5w6vz3b210c3bya9mbyyxiygn8hna707qnszd0li8r"; + rev = "012b94f8695e194455111fd54eff0b94dd0dd0db"; + sha256 = "1xhpfjjkjqfc1k2rj77cscclz5r7gpvv3hi202x178vdcpipjwar"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2df16abf56e53d4a1cc267a78797419520ff8a1c/recipes/closql"; @@ -11123,12 +11709,12 @@ melpaBuild { pname = "cmake-font-lock"; ename = "cmake-font-lock"; - version = "20170117.1225"; + version = "20190324.2150"; src = fetchFromGitHub { owner = "Lindydancer"; repo = "cmake-font-lock"; - rev = "8be491b4b13338078e524e2fe6213c93e18a101e"; - sha256 = "0h96c670gki6csqfrhlnjxkpzx0m92l6pcsdhx93l3qbh23imcmm"; + rev = "5b71ab212f272b7c62a9e7b21aa43a2533330b39"; + sha256 = "0ykk5sgxnh77qb61k39fy9vpbgv2hgv5gkh9df1jfyj5lhxxxdcq"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/383a7f191c10916ad40284fba94f967765ffeb7e/recipes/cmake-font-lock"; @@ -11153,12 +11739,12 @@ melpaBuild { pname = "cmake-ide"; ename = "cmake-ide"; - version = "20180713.813"; + version = "20190313.131"; src = fetchFromGitHub { owner = "atilaneves"; repo = "cmake-ide"; - rev = "0fa6258692908c4c461d46827db0be6cf0a5d5b1"; - sha256 = "0jnhxz6f04f4ckxljhn0sraw3z6w2w8yjfksx2wdggwi1qhvn3vh"; + rev = "bcd890250f8937bf624671cdfbe7e8a87f465f8c"; + sha256 = "08hrhcrbdl7wyflg7ijk44r5vhig383axn96vgb60nmj96iq5r8n"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/17e8a8a5205d222950dc8e9245549a48894b864a/recipes/cmake-ide"; @@ -11282,12 +11868,12 @@ melpaBuild { pname = "cnfonts"; ename = "cnfonts"; - version = "20171205.111"; + version = "20190314.432"; src = fetchFromGitHub { owner = "tumashu"; repo = "cnfonts"; - rev = "4583e30d5058773606b830072df38a038d40203a"; - sha256 = "04vc3p4320h3ncxm8s21ijv524w5m0j5gx1f5pyw91k3avvz9hbx"; + rev = "c31d13cc3c320fd5bf24bf8309c6d982a25c49ee"; + sha256 = "0c50xacgcbk3kbkxbg713bmaidpmkhnsb89pn9v8p8rk5nz06b89"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0d5787ffeeee68ffa41f3e777071815084e0ed7a/recipes/cnfonts"; @@ -11403,6 +11989,33 @@ license = lib.licenses.free; }; }) {}; + code-stats = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , request }: + melpaBuild { + pname = "code-stats"; + ename = "code-stats"; + version = "20190406.1936"; + src = fetchFromGitHub { + owner = "xuchunyang"; + repo = "code-stats-emacs"; + rev = "15242297279cb0dee01fbb93ef7536e337e20bb7"; + sha256 = "1f2fmxpijggk804pa2m86z2n9kp11n4w5k83a7l2qw6c855ax8lx"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/20af5580926e9975605c0a245f6ac15c25f4921e/recipes/code-stats"; + sha256 = "0mwjlhpmrbh3mbw3hjlsbv1fr4mxh068c9g0zcxq7wkksxx707if"; + name = "recipe"; + }; + packageRequires = [ emacs request ]; + meta = { + homepage = "https://melpa.org/#/code-stats"; + license = lib.licenses.free; + }; + }) {}; codebug = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -11428,27 +12041,27 @@ license = lib.licenses.free; }; }) {}; - codesearch = callPackage ({ elog - , fetchFromGitHub + codesearch = callPackage ({ fetchFromGitHub , fetchurl , lib + , log4e , melpaBuild }: melpaBuild { pname = "codesearch"; ename = "codesearch"; - version = "20180508.822"; + version = "20181006.731"; src = fetchFromGitHub { owner = "abingham"; repo = "emacs-codesearch"; - rev = "e40efc62e9333db0593bd81b5c78d08b19bfb193"; - sha256 = "04xivg6f19mlpsv77jwasg4ii9vlv8amblm03siwhx53ib9wlcyc"; + rev = "f6eb96f034a925444412cfa03e45e0ccbbafe3f2"; + sha256 = "1xdkm1f04z1h3ivd6zm8hckf3n3fbi5rwybg4dwi5mim6w84i7j9"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0da1c6971ac2d3e9ee67731d00a9e8ca2d169826/recipes/codesearch"; sha256 = "1zm7fqwiknk07c8aks1silnkxifkfbdzvbzg77wrap48k8mnw03l"; name = "recipe"; }; - packageRequires = [ elog ]; + packageRequires = [ log4e ]; meta = { homepage = "https://melpa.org/#/codesearch"; license = lib.licenses.free; @@ -11621,12 +12234,12 @@ melpaBuild { pname = "color-identifiers-mode"; ename = "color-identifiers-mode"; - version = "20180504.926"; + version = "20181120.1151"; src = fetchFromGitHub { owner = "ankurdave"; repo = "color-identifiers-mode"; - rev = "60ae3ab0fdffe0efae7e08950d7b2a96f4ea49e2"; - sha256 = "0f2ji7ip1cm25fbna6yib37fjc4f1pafh9zld6a61ajgy1b3wjda"; + rev = "4ba39f0274e1f85e50c956c507f942d950891a20"; + sha256 = "102vyyal2zv8smbc7a362ibk5kl5nylplfjjx9w8r5pyapygq7mq"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5c735755e414fdf169aca5ec6f742533d21472e0/recipes/color-identifiers-mode"; @@ -11671,16 +12284,16 @@ melpaBuild { pname = "color-theme"; ename = "color-theme"; - version = "20080305.34"; + version = "20190220.315"; src = fetchFromGitHub { - owner = "emacsorphanage"; + owner = "emacsattic"; repo = "color-theme"; - rev = "f6bbc9eb7a136dd5f6e094cf1e9072b78a05e2de"; - sha256 = "1jlwz8wyilrry13pihmpa9v7zn4l4r6hrxr8qf3l7yinbhzs70p1"; + rev = "3a2f6b615f5e2401e30d93a3e0adc210bbb4b7aa"; + sha256 = "09imx996afh3j207163kg8sc92hd7wljkpban1pnn6f67bgyrvlv"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/be81fe3d1594473cb857d6d8d1345b60e512b802/recipes/color-theme"; - sha256 = "1j5gdx452fzk20cdcy09spp1vbzxdqq573j3yamnw7gkppbc6298"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/90fc6a19838f8e5ffe3b96747784d2f5628f7434/recipes/color-theme"; + sha256 = "0sgjyiqi65ylvd926ywfjzh752bpch3szvx4z3la1r9gpkrnwspd"; name = "recipe"; }; packageRequires = []; @@ -11766,26 +12379,27 @@ license = lib.licenses.free; }; }) {}; - color-theme-sanityinc-solarized = callPackage ({ fetchFromGitHub + color-theme-sanityinc-solarized = callPackage ({ cl-lib ? null + , fetchFromGitHub , fetchurl , lib , melpaBuild }: melpaBuild { pname = "color-theme-sanityinc-solarized"; ename = "color-theme-sanityinc-solarized"; - version = "20160429.1903"; + version = "20190205.1659"; src = fetchFromGitHub { owner = "purcell"; repo = "color-theme-sanityinc-solarized"; - rev = "6d1cf921881a0db6286ad6904aff2d17b2a335b3"; - sha256 = "0cw1al8dan7vglkm33wkznvmyma903ckd95l1ns6qmf1d55lnpig"; + rev = "2c36f3ab322fe8a1e63a872c8b1d1a172cf9a8ce"; + sha256 = "09zdxcjxx4dsg672n2sf3qv233wy9rajgafbp7lr2f2q165sl8hl"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/color-theme-sanityinc-solarized"; sha256 = "0xg79hgb893f1nqx6q4q6hp4w6rvgp1aah1v2r3scg2jk057qxkf"; name = "recipe"; }; - packageRequires = []; + packageRequires = [ cl-lib ]; meta = { homepage = "https://melpa.org/#/color-theme-sanityinc-solarized"; license = lib.licenses.free; @@ -11798,12 +12412,12 @@ melpaBuild { pname = "color-theme-sanityinc-tomorrow"; ename = "color-theme-sanityinc-tomorrow"; - version = "20180713.212"; + version = "20190314.1939"; src = fetchFromGitHub { owner = "purcell"; repo = "color-theme-sanityinc-tomorrow"; - rev = "0360984a8a170df8a1dc0870cf547c0e3c4b5b71"; - sha256 = "0ff8jmzp02lmqp8pb0pa0wbqq3p59ypd3ljzwk1nbmzjw0xx8z6d"; + rev = "9b3ff865632226baaefd92852e27ad5e3dcd0c70"; + sha256 = "0dn9xsz1iwx9s398ynm8mk9xlf5yxvfbyqp9nsgfs4p8dd5cbiwz"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/color-theme-sanityinc-tomorrow"; @@ -11919,7 +12533,8 @@ license = lib.licenses.free; }; }) {}; - com-css-sort = callPackage ({ emacs + com-css-sort = callPackage ({ cl-lib ? null + , emacs , fetchFromGitHub , fetchurl , lib @@ -11928,24 +12543,50 @@ melpaBuild { pname = "com-css-sort"; ename = "com-css-sort"; - version = "20180607.1808"; + version = "20190319.137"; src = fetchFromGitHub { owner = "jcs090218"; repo = "com-css-sort"; - rev = "1564c035039a053936d186b4db7a71b34db99200"; - sha256 = "15caqg1sdd5kc81ipi9x2crqfhm6sdgwgvvk0gxx8dsr93rg22zy"; + rev = "fd279a9ed89a8b9eb36e1be7764314b3b1be5e39"; + sha256 = "0nndx0xib03sqhswwvfw1cfzvh70f3qi8d7y5iqk10bpwkmansz0"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5189ae21fc97f6b96024a3279a26e43ddc23ae29/recipes/com-css-sort"; sha256 = "0hga2m735lvyj1wzybgp6wh1yv98xnandvavvg7g7mscvf2sl89f"; name = "recipe"; }; - packageRequires = [ emacs s ]; + packageRequires = [ cl-lib emacs s ]; meta = { homepage = "https://melpa.org/#/com-css-sort"; license = lib.licenses.free; }; }) {}; + comb = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "comb"; + ename = "comb"; + version = "20180831.21"; + src = fetchFromGitHub { + owner = "cyrus-and"; + repo = "comb"; + rev = "8a68d313bf429763eb8aa78ece00230a668f2a1f"; + sha256 = "1hh1lkan1ch5xyzrpfgzibf8dxmvaa1jfwlxyyhpnfs5h69h3245"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/1b236a1f3953475cbd7eb5c4289b092818ae08cf/recipes/comb"; + sha256 = "0n4pkigr07hwj5nb0ngs6ay80psqv7nppp82rg5w38qf0mjs3pkp"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/comb"; + license = lib.licenses.free; + }; + }) {}; comint-intercept = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -12059,12 +12700,12 @@ melpaBuild { pname = "comment-dwim-2"; ename = "comment-dwim-2"; - version = "20170809.1354"; + version = "20190105.853"; src = fetchFromGitHub { owner = "remyferre"; repo = "comment-dwim-2"; - rev = "8da8aba4cab4a0a1eef3aea2de219227526876e4"; - sha256 = "1bvgdm52bp39gdcqxb02bnxssmih887jgr82m3c09yfwkpnr2qry"; + rev = "3dfdd58495c46a37708344a57c5c52beca6b2c1c"; + sha256 = "08pi3y12i6wx69aj09nk5qd6lplwxq5wz3m7w5701988q39x62xl"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4ac6ac97875117013515a36c9a4452fbd6c0d74c/recipes/comment-dwim-2"; @@ -12077,6 +12718,32 @@ license = lib.licenses.free; }; }) {}; + comment-or-uncomment-sexp = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "comment-or-uncomment-sexp"; + ename = "comment-or-uncomment-sexp"; + version = "20190225.322"; + src = fetchFromGitHub { + owner = "Malabarba"; + repo = "comment-or-uncomment-sexp"; + rev = "bec730d3fc1e6c17ff1339eb134af16c034a4d95"; + sha256 = "1jhyr854qraza75hjza8fjz2s06iydmdsa61vf5bf2kj5g1bfqkj"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/d1e87e59e1a7c7c7d6eab7dd6b37114e567e5c13/recipes/comment-or-uncomment-sexp"; + sha256 = "150gg1i593wgfzy0bg8jwgfc7a6hjnz84m2digjf3fpggvwv0rf8"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/comment-or-uncomment-sexp"; + license = lib.licenses.free; + }; + }) {}; comment-tags = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -12103,6 +12770,32 @@ license = lib.licenses.free; }; }) {}; + commentary-theme = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "commentary-theme"; + ename = "commentary-theme"; + version = "20181213.245"; + src = fetchFromGitHub { + owner = "pzel"; + repo = "commentary-theme"; + rev = "9a825ae98166c9dbbf106e7be62ee69dd9f0342f"; + sha256 = "1x30iyvvxggbh7xvp8lwpirvpqijchqf2fdaw4xrlbw5vajlaxcx"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/852b5f83c9870209080d2ed39fede3215ae43e64/recipes/commentary-theme"; + sha256 = "1s3g40f0r0v8m1qqldvw64vs43i5xza7rwkvhxqcqmj6p1a7mqqw"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/commentary-theme"; + license = lib.licenses.free; + }; + }) {}; commenter = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -12190,12 +12883,12 @@ melpaBuild { pname = "company"; ename = "company"; - version = "20180704.701"; + version = "20190402.1623"; src = fetchFromGitHub { owner = "company-mode"; repo = "company-mode"; - rev = "1f836b6b16d313bddef2cccebf49f42d36c58e28"; - sha256 = "1r3x8shwhc24c8vkrcach99lfhpy180713f89frzn2cbmwyklyh4"; + rev = "5bd57455c611ce54c9acedc8c9d83a14ab4f12c5"; + sha256 = "1ny758skhg7n827583rm2m976sc9mkm2ivdrr2ibhz4ccham2d15"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/96e7b4184497d0d0db532947f2801398b72432e4/recipes/company"; @@ -12220,12 +12913,12 @@ melpaBuild { pname = "company-anaconda"; ename = "company-anaconda"; - version = "20180610.2321"; + version = "20181025.605"; src = fetchFromGitHub { owner = "proofit404"; repo = "company-anaconda"; - rev = "ef6cbe26af1ee526a38139ed21cec8569c1b989d"; - sha256 = "1dk1gzd59abh123xqb7r8h5flf4f29mljh48qzkx0r7ppqdzqgnz"; + rev = "0ab70de1740e67cee451abcf3685c7525ff9e95a"; + sha256 = "182cijh6l82jj1r7iwd93h3np9c8fvcibjhv7860rk9ik41n7wil"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0eb23a75c8b57b4af1737c0508f03e66430e6076/recipes/company-anaconda"; @@ -12247,12 +12940,12 @@ melpaBuild { pname = "company-ansible"; ename = "company-ansible"; - version = "20180701.1113"; + version = "20190301.1311"; src = fetchFromGitHub { owner = "krzysztof-magosa"; repo = "company-ansible"; - rev = "c6dc714e3a15f89671ae5e8fe668858b20ef63e8"; - sha256 = "01nly13i2bs77lrvkm26i96vrrigbxpb9cakski9fv3xrvfxq9bv"; + rev = "c31efced8a9b461de5982ed94c234fda3df96f10"; + sha256 = "0d2c3ckmwn36fwhvwfvqg86hfd2jwkg2n301chhxzs03v0mc03mx"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7b44cd4bd9f9a7c942ca3f3bd88b2ce61ffff130/recipes/company-ansible"; @@ -12315,12 +13008,12 @@ melpaBuild { pname = "company-auctex"; ename = "company-auctex"; - version = "20180330.1118"; + version = "20180725.1212"; src = fetchFromGitHub { owner = "alexeyr"; repo = "company-auctex"; - rev = "f24de90a14c46fc3b924875c658b319c7f209aff"; - sha256 = "0izi2p8whif6nlbippjw0zxkd0zilmgj2n0arx6k0zi7k4vbfsb7"; + rev = "48c42c58ce2f0e693301b0cb2d085055410c1b25"; + sha256 = "10qn7frn5wcmrlci3v6iliqzj7r9dls87h9zp3xkgrgn4bqprfp8"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/189e1a60894db0787a4468b120fbab84be1b5d59/recipes/company-auctex"; @@ -12399,12 +13092,12 @@ melpaBuild { pname = "company-box"; ename = "company-box"; - version = "20180607.845"; + version = "20190311.1045"; src = fetchFromGitHub { owner = "sebastiencs"; repo = "company-box"; - rev = "6e047e6fd7226a1b8292a74985db82bbccc679c7"; - sha256 = "0m6rzwg08jcr9kibzxf18rsxjb13igscjyf5zkx1cx7y16zv1i6b"; + rev = "8fc6168f2d3a0275156dd3fdf46ba496adbab226"; + sha256 = "0mmn7lzl69hmy8rlzhwqb2ffgk29mb2ybb149cdpk7ydv1h63hqn"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a54879f4dd4dcb6867680567731547d604ad02bb/recipes/company-box"; @@ -12426,12 +13119,12 @@ melpaBuild { pname = "company-c-headers"; ename = "company-c-headers"; - version = "20170531.1330"; + version = "20180814.1030"; src = fetchFromGitHub { owner = "randomphrase"; repo = "company-c-headers"; - rev = "e959d43bebf0a524f7378669983a39ee1379cc21"; - sha256 = "18fi1jp3scz5rrf877qd1ciwx29bzndb85ifnx4ki0jvznvfas8n"; + rev = "41331192b3961c8e3a51540678e1d11eaa346f03"; + sha256 = "1hl14pv8splirzr9riak8m48ngxy1c6wa2q6ds6aq849zx9dafqh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d97b5c53967e0ff767b3654c52622f4b5ddf1985/recipes/company-c-headers"; @@ -12472,33 +13165,6 @@ license = lib.licenses.free; }; }) {}; - company-childframe = callPackage ({ company-posframe - , emacs - , fetchFromGitHub - , fetchurl - , lib - , melpaBuild }: - melpaBuild { - pname = "company-childframe"; - ename = "company-childframe"; - version = "20180704.2246"; - src = fetchFromGitHub { - owner = "tumashu"; - repo = "company-childframe"; - rev = "562eaa1e3a0c39dd36f10cda37a3724384fde1df"; - sha256 = "0g40i3qwh0wnspwd4a5p08ndfjj21zmqv155c7ngp7bxnhvkn6vh"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/4fda072eb1e3f4feb9ad9834104f748f5b749a0d/recipes/company-childframe"; - sha256 = "1l8bd9fnw49apvwjgrlfywascbczavpaxns2ydymmb6ksj00rvzy"; - name = "recipe"; - }; - packageRequires = [ company-posframe emacs ]; - meta = { - homepage = "https://melpa.org/#/company-childframe"; - license = lib.licenses.free; - }; - }) {}; company-coq = callPackage ({ cl-lib ? null , company , company-math @@ -12511,12 +13177,12 @@ melpaBuild { pname = "company-coq"; ename = "company-coq"; - version = "20180307.510"; + version = "20190222.1104"; src = fetchFromGitHub { owner = "cpitclaudel"; repo = "company-coq"; - rev = "c2bd34f79472c27ee6f819820558c8b26f774748"; - sha256 = "1dvd7w93gly70x7j7dsn2n90w7n76k2bp96p4zlzxad94kvdj2a8"; + rev = "93168e134099541a923e70f9d633c78de1aa0c6f"; + sha256 = "0qa96iq99cwlmylzbrknkg3fkhc1x4ngwlpz9rppgzlghpfb3xs7"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7f89e3097c654774981953ef125679fec0b5b7c9/recipes/company-coq"; @@ -12542,12 +13208,12 @@ melpaBuild { pname = "company-dcd"; ename = "company-dcd"; - version = "20170516.210"; + version = "20190115.1856"; src = fetchFromGitHub { owner = "tsukimizake"; repo = "company-dcd"; - rev = "4832188a9e42287539a69c372fe1643166a6a7aa"; - sha256 = "07caaff8chabrgl4hqanq13p5qhzqx5fcg2synl8856d7v1456vc"; + rev = "11e90949e546fcff1b1cd40887ad7b6701aa1653"; + sha256 = "1n4f2hqmvwysbb1l6c5ah58b1bq8vxznk3ysszz8rs5gpqsizqd4"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ad5be8c53911271fba03a88da7e9d518c6508ffe/recipes/company-dcd"; @@ -12577,12 +13243,12 @@ melpaBuild { pname = "company-dict"; ename = "company-dict"; - version = "20180216.156"; + version = "20190301.1605"; src = fetchFromGitHub { owner = "hlissner"; repo = "emacs-company-dict"; - rev = "7ab6331d8095e9b93c726da754102fd708c0002e"; - sha256 = "18lfqankivzdijsklyi49a1v6nqixbmk4d1m6syqd63qj849aixa"; + rev = "cd7b8394f6014c57897f65d335d6b2bd65dab1f4"; + sha256 = "11whnjmy5dyg4wkwabpip8hqsmqys193m7aqbd7jl4hmq24hrwsw"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/212c077def5b4933c6001056132181e1a5850a7c/recipes/company-dict"; @@ -12603,12 +13269,12 @@ melpaBuild { pname = "company-distel"; ename = "company-distel"; - version = "20161002.2339"; + version = "20180827.644"; src = fetchFromGitHub { owner = "sebastiw"; repo = "distel-completion"; - rev = "2ba4eea51cecfa75cf62f58180460ee9ff43131f"; - sha256 = "1761lgplngmpn1vd8syc1h4g6q1dhngamz1j3n48z07c1ylzpkdd"; + rev = "acc4c0a5521904203d797fe96b08e5fae4233c7e"; + sha256 = "0yvp3dwa9mwfyrqla27ycwyjad4bp1267bxv0chxcr4528hnygl3"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/90fff35dd9709b06802edef89d1fe6a96b7115a6/recipes/company-distel"; @@ -12660,12 +13326,12 @@ melpaBuild { pname = "company-emacs-eclim"; ename = "company-emacs-eclim"; - version = "20170104.743"; + version = "20180911.421"; src = fetchFromGitHub { owner = "emacs-eclim"; repo = "emacs-eclim"; - rev = "94508ebd071ff1052d68a20f7f1bf1038439fe43"; - sha256 = "0l72zw93wv8ncn98d6ybnykhi3a60bc0kyx6z699wfhnnhhxhl0p"; + rev = "edff7e0e30c87036710d88fb0b7a4644750858e8"; + sha256 = "0ywifqdhv7cibgl42m7i15widna9i1dk5kl5rglyql7hy05nk9gj"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1e9d3075587fbd9ca188535fd945a7dc451c6d7e/recipes/company-emacs-eclim"; @@ -12687,12 +13353,12 @@ melpaBuild { pname = "company-emoji"; ename = "company-emoji"; - version = "20161230.1937"; + version = "20180925.1308"; src = fetchFromGitHub { owner = "dunn"; repo = "company-emoji"; - rev = "8dc88ffe0773ef44321f245d39430c14a1bc2b82"; - sha256 = "1y8l9wnc13g79znyw2qsbm33da2bhkj270ppikkg9h4x2qpmxilq"; + rev = "f0d91d5be0077b20b418a3ba37d36f431fae322f"; + sha256 = "0aqqi1ksyglx7w347a99flpfa9pm1jakdvsgk4jr2ahv6j13nawg"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5733dccdffe97911a30352fbcda2900c33d79810/recipes/company-emoji"; @@ -12828,14 +13494,14 @@ ename = "company-ghci"; version = "20160310.1800"; src = fetchFromGitHub { - owner = "juiko"; + owner = "orimh"; repo = "company-ghci"; rev = "c2d74a41166e76de2e78c87f582ba3a1179b2aa6"; sha256 = "02gq083lpbszy8pf7s5j61bjlm0hacv4md4g17n0q6448rix9yny"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/company-ghci"; - sha256 = "0q71qil4sndg72s2g5yg17w3n102wlba37y9jbx0l7hisa5l11gi"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3416586d4d782cdd61a56159c5f80a0ca9b3ddf4/recipes/company-ghci"; + sha256 = "11sygcn8jb4rcc1hfiadhsyanbhsmnalpz2qvh5iaba0l165bsgg"; name = "recipe"; }; packageRequires = [ company haskell-mode ]; @@ -12856,14 +13522,14 @@ ename = "company-glsl"; version = "20171015.1049"; src = fetchFromGitHub { - owner = "GuidoSchmidt"; + owner = "guidoschmidt"; repo = "company-glsl"; rev = "a262c12c3bcd0807718c4edcaf2b054e30ef0e26"; sha256 = "0338bym8ifvkgpbc4vyzf3nmlp6rc8lihyxcbym5m08612ln78mk"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/abab3b5a9762639812e2aabf9d288ed367dcdc22/recipes/company-glsl"; - sha256 = "0lzy3xln5780yjwhhcz6vnc2j0k0rc7jfvqc8bv0xfabikgadmkn"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/company-glsl"; + sha256 = "1wzfdp6xz4nydfdcba8vs1za60lbfa0v4b8007dzn2fyg26rl326"; name = "recipe"; }; packageRequires = [ company emacs glsl-mode ]; @@ -12881,16 +13547,16 @@ melpaBuild { pname = "company-go"; ename = "company-go"; - version = "20170825.943"; + version = "20190202.1619"; src = fetchFromGitHub { - owner = "nsf"; + owner = "mdempsky"; repo = "gocode"; - rev = "84b76ec55b44739143088371a34ef30a4719dfe4"; - sha256 = "0ig9jsx9gv3cya11r0w07xpby9rzlh3iz02mir0z7ffnf8qawmrc"; + rev = "7fb65232883f19a8305706b4b4ff32916ffbcaf5"; + sha256 = "09yqziccv9mg5jlmhw8gslpcwwiiah0hs05nq0qnsbdnvc8bs4lr"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/04867a574773e8794335a2664d4f5e8b243f3ec9/recipes/company-go"; - sha256 = "1ncy5wlg3ywr17zrxb1d1bap4gdvwr35w9a8b0crz5h3l3y4cp29"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/ef45683cbfe82bf8a9d6f3f1c59e3cf340accbe3/recipes/company-go"; + sha256 = "1zhdckq1c9jzi5cf90w2m77fq6l67rjri4lnf8maq82gxqzk6wa5"; name = "recipe"; }; packageRequires = [ company go-mode ]; @@ -12938,12 +13604,12 @@ melpaBuild { pname = "company-irony"; ename = "company-irony"; - version = "20170905.1346"; + version = "20190124.1546"; src = fetchFromGitHub { owner = "Sarcasm"; repo = "company-irony"; - rev = "52aca45bcd0f2cb0648fcafa2bbb4f8ad4b2fee7"; - sha256 = "1qgyam2vyjw90kpxns5cd6bq3qiqjhzpwrlvmi18vyb69qcgqd8a"; + rev = "b44711dfce445610c1ffaec4951c6ff3882b216a"; + sha256 = "0s8v6kfgngpz6ic0g0l6xi6j9692xpmcamidmbk3l2blb172mggr"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d2b6a8d57b192325dcd30fddc9ff8dd1516ad680/recipes/company-irony"; @@ -13057,12 +13723,12 @@ melpaBuild { pname = "company-lsp"; ename = "company-lsp"; - version = "20180617.1033"; + version = "20190325.2253"; src = fetchFromGitHub { owner = "tigersoldier"; repo = "company-lsp"; - rev = "1cb1990dcd1feabf87a726a0b2a15c6f79eb5525"; - sha256 = "09mg2yvvl5mmwbav1d5k5flk2jcz6a684r6bv8vspfs32wpz0kwg"; + rev = "4218f180688eb3ecba454d00b0e68931a0aef5c9"; + sha256 = "0pq4zxviy1cxp28dfnnrxxsi57g0d91chg1pshdhgcpcd7rb53rh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5125f53307c1af3d9ccf2bae3c25e7d23dfe1932/recipes/company-lsp"; @@ -13250,12 +13916,12 @@ melpaBuild { pname = "company-php"; ename = "company-php"; - version = "20180510.1500"; + version = "20190406.716"; src = fetchFromGitHub { owner = "xcwen"; repo = "ac-php"; - rev = "e452a20a9f94113260b9cba9af7fb44cc8c647ef"; - sha256 = "08gvn4gq2j349rz24ask6nzqnvw15p9c8r2lby4n6n0zc6iaxzm5"; + rev = "bd5aa196a4ece8fd5f606fdbf0b27a61d5dbd4dd"; + sha256 = "1apbsa63rvnf0jczrpvn9jxvgam8sn2lhzlxapn9b6pwgivlps4x"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/company-php"; @@ -13268,6 +13934,34 @@ license = lib.licenses.free; }; }) {}; + company-phpactor = callPackage ({ company + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , phpactor }: + melpaBuild { + pname = "company-phpactor"; + ename = "company-phpactor"; + version = "20190402.1916"; + src = fetchFromGitHub { + owner = "emacs-php"; + repo = "phpactor.el"; + rev = "5dc331636786bdcee9ce2868d4d313c40aca1303"; + sha256 = "0qwklrsd8hxjvcddjj4ks3p24nyc3rcsxs9hyn3jphxww2igjbiv"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/dc6edd22befea0aee9b11bc8df7d42c400e12f43/recipes/company-phpactor"; + sha256 = "1a6szs85hmxm2xpkmc3dyx2daap7bjvpnrl4gcmbq26zbz2f0z0a"; + name = "recipe"; + }; + packageRequires = [ company emacs phpactor ]; + meta = { + homepage = "https://melpa.org/#/company-phpactor"; + license = lib.licenses.free; + }; + }) {}; company-plsense = callPackage ({ cl-lib ? null , company , dash @@ -13335,12 +14029,12 @@ melpaBuild { pname = "company-posframe"; ename = "company-posframe"; - version = "20180610.1010"; + version = "20190313.528"; src = fetchFromGitHub { owner = "tumashu"; repo = "company-posframe"; - rev = "47861f501891d3c67958353c25f4dce13b386c3d"; - sha256 = "03fs5w72wfnk0mr31q5kczlpk0rbim850pj6wzr0f6zn8j0p2lci"; + rev = "74091d132dea4b6ccd98c1ce7cec1b76b0ab8ad3"; + sha256 = "1jzaj3fjgplmzsxvmqh8z93filkk171ki8sk7iz9g44j0w7vmm38"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/68c1203ae710e5f7af3f0e5e2877aba6deaf1ac8/recipes/company-posframe"; @@ -13363,12 +14057,12 @@ melpaBuild { pname = "company-prescient"; ename = "company-prescient"; - version = "20180626.1050"; + version = "20190212.2235"; src = fetchFromGitHub { owner = "raxod502"; repo = "prescient.el"; - rev = "515959a2523b43608c9d06dcf8adde8911ce42b9"; - sha256 = "1k8xk154sql3b2b7hpyxslcgl88aaxq5ak2sr760jsq2qk7878bw"; + rev = "562d25a1c3c5b2e269d82f374f450e6aa90a970e"; + sha256 = "1ncplx5p3cffyzg9ygzqqxj0vpvwrz9rp2n4z6c375a78fyydrk0"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b92c34e493bbefab1d7747b0855d1ab2f984cb7c/recipes/company-prescient"; @@ -13475,12 +14169,12 @@ melpaBuild { pname = "company-reftex"; ename = "company-reftex"; - version = "20180713.141"; + version = "20181222.106"; src = fetchFromGitHub { owner = "TheBB"; repo = "company-reftex"; - rev = "d96ce340851499452c8d4d64bee80a3d7f9e9275"; - sha256 = "1bh9h6frp6yibw1qyca1f2s375s5pn27ry2n4j036c5r4kx4wpx6"; + rev = "33935e96540201adab43f3a765d62289eba9e286"; + sha256 = "1sp4109fbj6cxq6v9lmkpkrlr6is340ibaqpslkkjyacjv6sv4cm"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/84c938612d46d45b5bb05ee35178eaa2284023e0/recipes/company-reftex"; @@ -13539,12 +14233,12 @@ melpaBuild { pname = "company-rtags"; ename = "company-rtags"; - version = "20170924.2244"; + version = "20180729.2038"; src = fetchFromGitHub { owner = "Andersbakken"; repo = "rtags"; - rev = "e4060b551575be378344c0cc1aedf11446b4f264"; - sha256 = "01xc5r2am0xck7q6jal3zyrqbzpx68fzqi9af7zb1klyw2s5v807"; + rev = "7c470ba8e15740f37c3a7a9c56331c1cc4c0b1bb"; + sha256 = "05czbkgq48jv0f9vainflikil51xiwd0h24jmmx5886wi3v1wb4c"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/company-rtags"; @@ -13596,16 +14290,16 @@ melpaBuild { pname = "company-solidity"; ename = "company-solidity"; - version = "20180407.1344"; + version = "20181117.718"; src = fetchFromGitHub { - owner = "ssmolkin1"; - repo = "company-solidity"; - rev = "8ea7b96c7a17f4a11ca47021067350bc3c6606c5"; - sha256 = "1gz43k7jckk520nvx124i4ap8bi61ah70wj3d40cbq77a3z8lmkw"; + owner = "ethereum"; + repo = "emacs-solidity"; + rev = "d6c48a1cb64d3c8a825dc0d06c839f2cacd4d289"; + sha256 = "14v71xf3z60s1fhpsz8b3l1v4na2ds0ddcp41y412fnrg4scbrhr"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/ef246601ff6d92d6dfcd809f637e50d9838da0b8/recipes/company-solidity"; - sha256 = "076z5jqh486k2lkh9rgbhs71bws4fba68pjybr9yyf0sdc5m7kc6"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/e561d869f4e32bad5d1a8678f67e591ff586d6de/recipes/company-solidity"; + sha256 = "1rkja48j2m0g0azc34i715ckkqwjkb44y3b4a9vlxs8cjqza4w7q"; name = "recipe"; }; packageRequires = [ cl-lib company solidity-mode ]; @@ -13698,6 +14392,36 @@ license = lib.licenses.free; }; }) {}; + company-tabnine = callPackage ({ cl-lib ? null + , company + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , s + , unicode-escape }: + melpaBuild { + pname = "company-tabnine"; + ename = "company-tabnine"; + version = "20181207.1531"; + src = fetchFromGitHub { + owner = "TommyX12"; + repo = "company-tabnine"; + rev = "2d63df791027ec2bcc8956be6b7078d17f95217c"; + sha256 = "06p7z0nnal26xb3kkh3ik0q42wkn146mr15bz3c1amfpkx60y1qi"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/94476897a71a271b985967334632836252eb131b/recipes/company-tabnine"; + sha256 = "1x37xacrscmh9hq9mljbgdcl3pwfn2kmn567qv0jqys8ihbzi3v7"; + name = "recipe"; + }; + packageRequires = [ cl-lib company emacs s unicode-escape ]; + meta = { + homepage = "https://melpa.org/#/company-tabnine"; + license = lib.licenses.free; + }; + }) {}; company-tern = callPackage ({ cl-lib ? null , company , dash @@ -13911,12 +14635,12 @@ melpaBuild { pname = "composer"; ename = "composer"; - version = "20180415.743"; + version = "20180923.440"; src = fetchFromGitHub { owner = "emacs-php"; repo = "composer.el"; - rev = "1d43edd8079e84df5e1b46c65e6783cb3ff9debd"; - sha256 = "0k6345mc2ppckbbmji4wkynlfgy00kr945ah8j2b62hqgm73h575"; + rev = "6c1578b2352c81cc9a22616a70db2a14b7d2b67f"; + sha256 = "0fijw3kcl4vyc5x7a1syqslsj13mwkq1k3bs4p60v2jg1fxqarrb"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/eb13cb0dba1696cc51132cd1ff723fa17f892a7c/recipes/composer"; @@ -13968,12 +14692,12 @@ melpaBuild { pname = "conda"; ename = "conda"; - version = "20171122.716"; + version = "20190129.1002"; src = fetchFromGitHub { owner = "necaris"; repo = "conda.el"; - rev = "0bba56d80bb959a20838a024b174d1cf1e2cfd07"; - sha256 = "0gr3z9s4qzvkmh7wziw5x77w9vch1riqjv5g1kl995yv7v5lxmnp"; + rev = "bc2f133d15e037e9dd24d61af734784b4b0d916d"; + sha256 = "01iikrgljci3hv0v12dn07aqfq2yqky77h8kv48yv787gmlcx181"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/fcf762e34837975f5440a1d81a7f09699778123e/recipes/conda"; @@ -13995,14 +14719,14 @@ ename = "config-general-mode"; version = "20171024.1140"; src = fetchFromGitHub { - owner = "tlinden"; + owner = "TLINDEN"; repo = "config-general-mode"; rev = "b4a8e6ba0bb027a77e4a0f701409f3e57bb2e4c0"; sha256 = "115sk0h6i1bfnxw1v11719926cvnq7gyisjcysvkam40hp3d5fx5"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/6c06831528e4bbc44aae1cc5cd6bec60150ae087/recipes/config-general-mode"; - sha256 = "1408xyzmb5aj1yrlgkymwy5x6rb1a9ynkx2m6hgj38qj6dz44cyy"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/config-general-mode"; + sha256 = "1pqivnyb1yljzs3fd554s0971wr9y6g1dx3lgym9gi5jhpyza38z"; name = "recipe"; }; packageRequires = []; @@ -14092,25 +14816,27 @@ , emacs , fetchFromGitHub , fetchurl + , flycheck + , hydra , lib , melpaBuild - , parsec }: + , s }: melpaBuild { pname = "conllu-mode"; ename = "conllu-mode"; - version = "20180722.454"; + version = "20190214.1317"; src = fetchFromGitHub { owner = "odanoburu"; repo = "conllu-mode"; - rev = "fa2769b010c6e600711a04f083d1573505c61c2e"; - sha256 = "16hasrrsz566bpr4xcjmby3hxf4ad2msb9bx8cs6fndvxgy1zvyk"; + rev = "162846e03f8ccb9dcec393dbf98e9391cca1c070"; + sha256 = "122qz6igksbxvnbkyfnbx4i4qn3sr2kspqm7z9kl8mwl5x1bxa2d"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/444f943baddfeafe29708d6d68aeeeedbb7aa7bd/recipes/conllu-mode"; sha256 = "1wffvvs8d0xcnz6mcm9rbr8imyj4npyc148yh0gzfzlgjm0fiz1v"; name = "recipe"; }; - packageRequires = [ cl-lib emacs parsec ]; + packageRequires = [ cl-lib emacs flycheck hydra s ]; meta = { homepage = "https://melpa.org/#/conllu-mode"; license = lib.licenses.free; @@ -14141,6 +14867,32 @@ license = lib.licenses.free; }; }) {}; + constant-theme = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "constant-theme"; + ename = "constant-theme"; + version = "20180921.312"; + src = fetchFromGitHub { + owner = "Jannis"; + repo = "emacs-constant-theme"; + rev = "0feb9f99d708633d62fa548c953ebbe68fd70de0"; + sha256 = "14w92qh791zz22c1r47ncglh92ifgqxmz0pk5w61ka7zi7xqylg1"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/constant-theme"; + sha256 = "13m4r37gscnqg3qmb0rs2r8sslp0irm7n4p6p496mmvljvjmpv6b"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/constant-theme"; + license = lib.licenses.free; + }; + }) {}; contextual = callPackage ({ cl-lib ? null , dash , emacs @@ -14151,16 +14903,16 @@ melpaBuild { pname = "contextual"; ename = "contextual"; - version = "20160131.1037"; + version = "20180726.100"; src = fetchFromGitHub { - owner = "lshift-de"; + owner = "e-user"; repo = "contextual"; - rev = "8134a2d8034c624f4fdbbb0b3893de12f4257909"; - sha256 = "0s4b7dkndhnh8q3plvg2whjx8zd7ffz4hnbn3xh86xd3k7sch7av"; + rev = "7ad2bb36426fd182d4d5ee7fd9be1cc0db8c7a84"; + sha256 = "0zk85y01w23zb9x60bc5w4q3p40cnyk9bsc6pd5h85rlaazbrpby"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/44e5b799e411b8e2d89c8e9aeb4720126ac908b7/recipes/contextual"; - sha256 = "0vribs0fa1xf5kwkmvzjwhiawni0p3v56c5l4dkz8d7wn2g6wfdx"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/de20db067590624bbd2ca5a7a537b7f11ada84f2/recipes/contextual"; + sha256 = "1xwjjchmn3xqxbgvqishh8i75scc4kjgdzlp5j64d443pfgyr56a"; name = "recipe"; }; packageRequires = [ cl-lib dash emacs ]; @@ -14254,12 +15006,12 @@ melpaBuild { pname = "copy-as-format"; ename = "copy-as-format"; - version = "20171215.1616"; + version = "20190119.811"; src = fetchFromGitHub { owner = "sshaw"; repo = "copy-as-format"; - rev = "971957166fe64d914ec4be209b4f80efeeabbb19"; - sha256 = "0ynzy2sb75w24d2kwjpkb3vl98yyz0sbcj6nd31y2r2n2kkdna24"; + rev = "d2376c64334fe3de65d89d6d138a2187f9bf802f"; + sha256 = "0i158bkra7zgq75j08knq2camvlhbs2v8zrsxiyp0mc4q949xysd"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/42fe8a2113d1c15701abe7a7e0a68e939c3d789b/recipes/copy-as-format"; @@ -14369,14 +15121,14 @@ ename = "coq-commenter"; version = "20170822.1609"; src = fetchFromGitHub { - owner = "ailrun"; + owner = "Ailrun"; repo = "coq-commenter"; rev = "7fe9a2cc0ebdb0b1e54a24eb7971d757fb588ac3"; sha256 = "1rq0j6ds9snv21k2lzyja96qxxz8nrai5aj1k1si9zshld28mapx"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/c97d3f653057eab35c612109792884334be556fe/recipes/coq-commenter"; - sha256 = "19726z8yvgwjikbl95smdl60k58a5yf7cjbinnb7251d8mhd8562"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/coq-commenter"; + sha256 = "1d6a40f8b4r8x08sy7qs335c9z744xmll326qzsjmxiqdkjv7h2k"; name = "recipe"; }; packageRequires = [ cl-lib dash s ]; @@ -14445,12 +15197,12 @@ melpaBuild { pname = "counsel"; ename = "counsel"; - version = "20180719.1303"; + version = "20190407.415"; src = fetchFromGitHub { owner = "abo-abo"; repo = "swiper"; - rev = "89bae2f783918609c074f7c594dcc19ce19b8d45"; - sha256 = "0a2r5x7la9hx42wiyf5fjalb29r1ykr2r3q2lhgf6lc3h2qnrhmx"; + rev = "998890460ebb2860638f2e4d761977080cdcad34"; + sha256 = "185rp0asa0plnwkafl7rxb2z78b6lmyp8jn943b5j8h3wb3wcaa5"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/06c50f32b8d603db0d70e77907e36862cd66b811/recipes/counsel"; @@ -14472,12 +15224,12 @@ melpaBuild { pname = "counsel-bbdb"; ename = "counsel-bbdb"; - version = "20171129.1737"; + version = "20181128.520"; src = fetchFromGitHub { owner = "redguardtoo"; repo = "counsel-bbdb"; - rev = "c86f4b9ef99c9db0b2c4196a300d61300dc2d0c1"; - sha256 = "1dchyg8cs7n0zbj6mr2z840yi06b2wja65k04idlcs6ngy1vc3sr"; + rev = "df2890deb73b09f8055243bd91942ea887d9b7a1"; + sha256 = "0bki658mvlchqf3prkzxz4217a95cxm58c1qmf84yp2n8h6gd0d8"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0ed9bcdb1f25a6dd743c1dac2bb6cda73a5a5dc2/recipes/counsel-bbdb"; @@ -14501,12 +15253,12 @@ melpaBuild { pname = "counsel-codesearch"; ename = "counsel-codesearch"; - version = "20180713.304"; + version = "20180925.103"; src = fetchFromGitHub { owner = "abingham"; repo = "emacs-counsel-codesearch"; - rev = "cb9f3df541e84b4b13905c3ad3658cad2f34b0cf"; - sha256 = "1invag9nnbsxajli6xph9fgdihs9j3hwkw2s8w297808if5gxnr3"; + rev = "b7989fad3e06f301c31d5e896c42b6cc549a0e0c"; + sha256 = "1qv82nvj0kddmajm6pniadnz96mqz8rhl0g2w2z5834r48higxqv"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d3404c3cdfa6654ad80378ab258f0df68a6beeb9/recipes/counsel-codesearch"; @@ -14581,24 +15333,25 @@ , emacs , fetchFromGitHub , fetchurl + , ivy , lib , melpaBuild }: melpaBuild { pname = "counsel-etags"; ename = "counsel-etags"; - version = "20180605.613"; + version = "20190323.1754"; src = fetchFromGitHub { owner = "redguardtoo"; repo = "counsel-etags"; - rev = "9437ce4e4adb7140df6af0a4528069b9e54de44b"; - sha256 = "14q7w6pz3pslwr4s1f2b8wiq6k1jvp09mwml9x2j5ljw7j3145pi"; + rev = "b8ff1b12ee6b9456969a5bd974a8ed470f1f1eb9"; + sha256 = "178idbpphsa486sas1242x954zd0vf8c1hlfhmahgsij5jjd1vyv"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/87528349a3ab305bfe98f30c5404913272817a38/recipes/counsel-etags"; sha256 = "1h3dlczm1m21d4h41vz9ngg5fi02g6f95qalfxdnsvz0d4w4yxk0"; name = "recipe"; }; - packageRequires = [ counsel emacs ]; + packageRequires = [ counsel emacs ivy ]; meta = { homepage = "https://melpa.org/#/counsel-etags"; license = lib.licenses.free; @@ -14642,12 +15395,12 @@ melpaBuild { pname = "counsel-notmuch"; ename = "counsel-notmuch"; - version = "20180713.1740"; + version = "20181203.135"; src = fetchFromGitHub { owner = "fuxialexander"; repo = "counsel-notmuch"; - rev = "f4c864eca400abe0bb7420bcee80f2f8259ca0ff"; - sha256 = "0f5w4m5qripca5agbgil0qvd4h9ypi63kpz90n744v60r3lddcjl"; + rev = "a4a1562935e4180c42524c51609d1283e9be0688"; + sha256 = "01k1321d961kc2i660a5595bqk0d85f16snsxngsn5si6y83kqr7"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/54fe0be4e8e8b90cd2dc3cc8b9c573694c8f773b/recipes/counsel-notmuch"; @@ -14669,12 +15422,12 @@ melpaBuild { pname = "counsel-org-capture-string"; ename = "counsel-org-capture-string"; - version = "20180707.217"; + version = "20180816.24"; src = fetchFromGitHub { owner = "akirak"; repo = "counsel-org-capture-string"; - rev = "14144773a23fd42ddee3522ffae44260c55ab9d5"; - sha256 = "0zknmcxhf97kflxm5bv9gjl9n390jjrbdz13600afs4kvzdad4z1"; + rev = "0fd5d72397a9268a89dd26de2a6c355f127453ac"; + sha256 = "19ijjiidxxysvkz9vnsgiymxd7w7zcs5bazn7dmahp5yaprlsjld"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/380d58ac9487f2fb1d4a791008fa60fb7165e7e3/recipes/counsel-org-capture-string"; @@ -14697,12 +15450,12 @@ melpaBuild { pname = "counsel-org-clock"; ename = "counsel-org-clock"; - version = "20180623.617"; + version = "20190406.2048"; src = fetchFromGitHub { owner = "akirak"; repo = "counsel-org-clock"; - rev = "7b172847f19571fa8f4092899bff75fab0821b07"; - sha256 = "08ci1pb0w1aalhhsg8v0b37xapy72svfkzclk54f3813vxd2naxs"; + rev = "ddf6b89652e4dbc0be5e8719213e7673c83959f1"; + sha256 = "1fd8ll7jcfmy2dhhhsqh1l6wqfklma54bqpb4jnxmdn2w9p3ndmn"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d21e10ba82b4ae0f8101031be16bc5f7e80ba5d5/recipes/counsel-org-clock"; @@ -14751,12 +15504,12 @@ melpaBuild { pname = "counsel-projectile"; ename = "counsel-projectile"; - version = "20180718.842"; + version = "20190325.156"; src = fetchFromGitHub { owner = "ericdanan"; repo = "counsel-projectile"; - rev = "6ffcf45767543c72e817d9de8bca9db9156a48be"; - sha256 = "1zdnw9n32fgrpwqkd2v153gdhyq183avr78hj57cq48hp6vfwfa1"; + rev = "fb19569c9799e3edac7504d21a5ecf49231e9500"; + sha256 = "0n9rjqhplapxiwja5dap03frdvbd6y4i5q4ballmyrgg5pnc8l5k"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/389f16f886a385b02f466540f042a16eea8ba792/recipes/counsel-projectile"; @@ -14805,12 +15558,12 @@ melpaBuild { pname = "counsel-spotify"; ename = "counsel-spotify"; - version = "20180319.2022"; + version = "20190406.1325"; src = fetchFromGitHub { owner = "Lautaro-Garcia"; repo = "counsel-spotify"; - rev = "9033e207dccdfea7fe590d2e102d50fcd2bd22e3"; - sha256 = "00mjcp3x558gh7f8yrj8y4ivq3pvml7y46rms8xah5zxavg6q52b"; + rev = "f484e6efd3994704cfd16c87c298fbfa12d442cc"; + sha256 = "0b5hykw3n96f0m50176hk639sbzdykhnp52xlp8g6l7p807x27w9"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b386462518a5ebb6454f4d01582df98395239bcc/recipes/counsel-spotify"; @@ -14832,12 +15585,12 @@ melpaBuild { pname = "counsel-tramp"; ename = "counsel-tramp"; - version = "20180311.2327"; + version = "20190124.2351"; src = fetchFromGitHub { owner = "masasam"; repo = "emacs-counsel-tramp"; - rev = "3f5ae75a6bde00bffeb2877b4ed4bd45610c0dfa"; - sha256 = "06dhhjrgpikzpdl1hck0ckjbx8yzx8jbymb3ajfxglgvrvid4l1k"; + rev = "ac7728bac51afdcb63cd85ad22a8be5737d9d66f"; + sha256 = "0nz0733x2b9b5nkwivvhv5c8747dng451na1sdfbkx5x9fjs5gc7"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e1822b735b6bd533f658bd64ddccda29e19e9a5e/recipes/counsel-tramp"; @@ -15018,12 +15771,12 @@ melpaBuild { pname = "cpputils-cmake"; ename = "cpputils-cmake"; - version = "20170819.259"; + version = "20181005.2028"; src = fetchFromGitHub { owner = "redguardtoo"; repo = "cpputils-cmake"; - rev = "4fa37dd075c716f98b67b96f3b6e022730df1c1b"; - sha256 = "194vayk2hvqm2nv1rr3myiadrfvk8fpch1qlbic9bzbgfrl74i41"; + rev = "64b2b05eff5398b4cd522e66efaf14553ab18ff4"; + sha256 = "0kmqk0ba9cacss3m34a8sdnmdir4ci7mv3j176ylm5af0x9yqc45"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9b84a159e97f7161d0705da5dd5e8c34ae5cb848/recipes/cpputils-cmake"; @@ -15044,12 +15797,12 @@ melpaBuild { pname = "cql-mode"; ename = "cql-mode"; - version = "20160720.2039"; + version = "20190314.1925"; src = fetchFromGitHub { owner = "Yuki-Inoue"; repo = "cql-mode"; - rev = "2529ade55c125a89d8215f096a74733a90611c5d"; - sha256 = "1ikmz037bv7h0bjrr8qia5g127a0vd223y04ndbyd950gqc1lx4h"; + rev = "d400c046850d3cf404778b2c47d6be4ff84ca04b"; + sha256 = "016fs984fbn9k6q17mpxq8gbpspai71r52da8aq31f3jijxmrh5a"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1084dd0ec0f2e8fe6fa8e97b322833c14e8e59d1/recipes/cql-mode"; @@ -15072,12 +15825,12 @@ melpaBuild { pname = "cquery"; ename = "cquery"; - version = "20180619.1953"; + version = "20190117.2142"; src = fetchFromGitHub { owner = "cquery-project"; repo = "emacs-cquery"; - rev = "fd881d5db6bc555b22993e8d3e517d30a56ea763"; - sha256 = "0n8962x68jcdff1wmq30fs5rbfgx9br2d10ylv3hfrg40abd0sad"; + rev = "555e50984ebda177421fdcdc8c76cb29235d9694"; + sha256 = "1d1m1lgc93fkg7dxb8d6ch68vh6w1zp3yy31bv78vaz8siqrmk16"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3cd3bffff0d2564c39735f844f9a02a660272caa/recipes/cquery"; @@ -15231,12 +15984,12 @@ melpaBuild { pname = "cricbuzz"; ename = "cricbuzz"; - version = "20171227.1607"; + version = "20180804.1554"; src = fetchFromGitHub { owner = "lepisma"; repo = "cricbuzz.el"; - rev = "557f75f10525e7a4d50e83010b9ed07fbf9df889"; - sha256 = "18lc56l5vcbrw2agpgjcap5q0l1mi64khgkk00x7r9wm1zilf9wp"; + rev = "0b95d45991bbcd2fa58d96ce921f6a57ba42c153"; + sha256 = "1s77a2lfy7nnaxm3ai9dg8lbdxp0892z4gr0yxqrgzawc4qcbb3x"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/cricbuzz"; @@ -15275,6 +16028,32 @@ license = lib.licenses.free; }; }) {}; + crontab-mode = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "crontab-mode"; + ename = "crontab-mode"; + version = "20190304.623"; + src = fetchFromGitHub { + owner = "emacs-pe"; + repo = "crontab-mode"; + rev = "090ed61e919df6391df45a7645a0d8d5b0dae1cb"; + sha256 = "1yz9vvh2x6s2y02n1z8aqgb40bxgs2s2mxmy1vmp2piffq81d09y"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/0831d0f869cad4681b22296225307aa5bf185f3f/recipes/crontab-mode"; + sha256 = "1lwkj5c8435xgqi9d4zgnp9dzi06byibf69fv9p3x79kv565g3gd"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/crontab-mode"; + license = lib.licenses.free; + }; + }) {}; crux = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -15283,12 +16062,12 @@ melpaBuild { pname = "crux"; ename = "crux"; - version = "20180611.2355"; + version = "20181108.27"; src = fetchFromGitHub { owner = "bbatsov"; repo = "crux"; - rev = "c79985f69b7cd96edb505199bd751f71ce6d4e58"; - sha256 = "0k58k3vzcxcgjaz230m18piq3gfw8w0h1g3n4jpp447indzwn4rr"; + rev = "308f17d914e2cd79cbc809de66d02b03ceb82859"; + sha256 = "0rf84finwlvmy0xpgyljjvnrijlmkzjyw9rh97svgxp9c1rzfk0x"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/575e3442a925500a5806e0b900208c1e6bfd11ae/recipes/crux"; @@ -15308,12 +16087,12 @@ melpaBuild { pname = "cryptol-mode"; ename = "cryptol-mode"; - version = "20180321.1108"; + version = "20190130.1344"; src = fetchFromGitHub { owner = "thoughtpolice"; repo = "cryptol-mode"; - rev = "91f8ad617e5db2fad57a7be1da211f22f3b51550"; - sha256 = "12jd2wc5icnkbvxjam7kgr8bdjavxjsy79vwi0hi3gzwiirx4ifg"; + rev = "1d6bc05380481056b0615670a890a8234d997da9"; + sha256 = "04cicqwmnwq80jydvgax27nyw8vxfcz5aiqlnslj36mh9qbjr01g"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/de12333bb429d84b2c214ac7ebb0219f67838f4f/recipes/cryptol-mode"; @@ -15360,12 +16139,12 @@ melpaBuild { pname = "crystal-mode"; ename = "crystal-mode"; - version = "20180606.755"; + version = "20180826.2029"; src = fetchFromGitHub { owner = "crystal-lang-tools"; repo = "emacs-crystal-mode"; - rev = "7af6afdf8b90b13b419b58bbe9e096eb20527e5c"; - sha256 = "1v6h8i9avgqirg7mcac33vycjyslmvg760dk3mf1sv76xx78v5vz"; + rev = "8649736fea8960a5e54c3ec934484f231a518ea5"; + sha256 = "0ggg1zi3x7jphqa83zkcd19x2j30bqkfysn8cl8xahrikwhxmh49"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d4b9b47d7deecf0cf24a42b26d50021cb1219a69/recipes/crystal-mode"; @@ -15378,6 +16157,33 @@ license = lib.licenses.free; }; }) {}; + crystal-playground = callPackage ({ crystal-mode + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "crystal-playground"; + ename = "crystal-playground"; + version = "20180829.2201"; + src = fetchFromGitHub { + owner = "jasonrobot"; + repo = "crystal-playground"; + rev = "532dc7e4239eb4bdd241bc4347d34760344c1ebb"; + sha256 = "06vrmxikqi36wbnm66r5s5fxhkdlz76fjb3nhlighbqlym4bxpl1"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/3e8d3a41e3307f415a144ff55e7a5fa95216cd6c/recipes/crystal-playground"; + sha256 = "0789x443qrvxgrcha6rag11fwyr0aj1ixw6xc0l4d34fsy76ppwh"; + name = "recipe"; + }; + packageRequires = [ crystal-mode emacs ]; + meta = { + homepage = "https://melpa.org/#/crystal-playground"; + license = lib.licenses.free; + }; + }) {}; csgo-conf-mode = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -15410,12 +16216,12 @@ melpaBuild { pname = "csharp-mode"; ename = "csharp-mode"; - version = "20180708.652"; + version = "20181011.18"; src = fetchFromGitHub { owner = "josteink"; repo = "csharp-mode"; - rev = "5e47b7764b3f4c97c260a902e8072d444dbd0f1b"; - sha256 = "1dnhpxcinrwc7dmwgzbg4lnly05h38f00zrfsjincvii6d8rjiw0"; + rev = "239527c1f27cf5246505f1faf23269487fdbfdd2"; + sha256 = "0ygc8mpsmicsm2j50kg22yllbj5ply56cwx9hvb6cflzmwlmgyvw"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/736716bbcfd9c9fb1d10ce290cb4f66fe1c68f44/recipes/csharp-mode"; @@ -15438,12 +16244,12 @@ melpaBuild { pname = "csound-mode"; ename = "csound-mode"; - version = "20180505.1225"; + version = "20190321.859"; src = fetchFromGitHub { owner = "hlolli"; repo = "csound-mode"; - rev = "5137de36e49b41ec428f35d9bfa08b5cc82e066c"; - sha256 = "0v4yv4v6l0m1rkj3cb35f6hqhvbwh48ii6vb9xnc99r984jrs4f4"; + rev = "f4bc9236bbc5a696f7ff32d9402749536a332546"; + sha256 = "0ds6cigm3pncsa5blqzfgisjn9v898ayj6nq2va6ssg73k0qfx1r"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c940d29de11e43b4abf2901c466c94d426a21818/recipes/csound-mode"; @@ -15841,6 +16647,32 @@ license = lib.licenses.free; }; }) {}; + cyberpunk-2019-theme = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "cyberpunk-2019-theme"; + ename = "cyberpunk-2019-theme"; + version = "20190228.653"; + src = fetchFromGitHub { + owner = "the-frey"; + repo = "cyberpunk-2019"; + rev = "77f41d0c15c59e13f11af5d285707dd21e72e342"; + sha256 = "12gray55ifv98ysyqsa51xh4w2yis0gki9blpvcbac02sm5xysgm"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/1821a436d3d9f7c46cbd198f93951aa35bbf6ad7/recipes/cyberpunk-2019-theme"; + sha256 = "09bg3avrsca308y3g86mrzi6klzr4ky8k5y2nbsmwarrarv29qyy"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/cyberpunk-2019-theme"; + license = lib.licenses.free; + }; + }) {}; cyberpunk-theme = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -15848,12 +16680,12 @@ melpaBuild { pname = "cyberpunk-theme"; ename = "cyberpunk-theme"; - version = "20180608.2209"; + version = "20190109.1600"; src = fetchFromGitHub { owner = "n3mo"; repo = "cyberpunk-theme.el"; - rev = "f8967e46b8bdb3eaf7b72474f2d70997dc1152e9"; - sha256 = "0vrkb07vh5b1azih86s0j917frdp5g6qg1pipddcr6lacgb7n0zl"; + rev = "eb7b21b5655af9a0fa8c745ee1f16f8e073364e6"; + sha256 = "1si63j3mm36lfhiw5pnlv24ffg4ghicd1q7gi5jl2mp9105vs627"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4c632d1e501d48dab54432ab111ce589aa229125/recipes/cyberpunk-theme"; @@ -15950,12 +16782,12 @@ melpaBuild { pname = "cyphejor"; ename = "cyphejor"; - version = "20171231.2218"; + version = "20181231.2304"; src = fetchFromGitHub { owner = "mrkkrp"; repo = "cyphejor"; - rev = "d2faf26420ac16c4056f6eda067b845d33e102cd"; - sha256 = "0vg0n8xcqiv28i3xmnxzji77dbnyxrld4ncdzpa3hpc1j92s9a09"; + rev = "7b1937abcded165efeabf37d26a7194a21cee3e6"; + sha256 = "163mhk7vqga230dz9aqfm01r85x7j3n9bmxiqiazj6p91zq0sxfs"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ad7cacfa39d8f85e26372ef21898663aebb68e43/recipes/cyphejor"; @@ -16000,12 +16832,12 @@ melpaBuild { pname = "cython-mode"; ename = "cython-mode"; - version = "20180213.854"; + version = "20190111.1350"; src = fetchFromGitHub { owner = "cython"; repo = "cython"; - rev = "9f3f99fd6378ffb17976d74356fd3ba7e22f85b3"; - sha256 = "164ksml3i5gmcwripjsn5byfvnnjf86wrkkd9saw481ym6imii3c"; + rev = "1c6ab8b7fe1f80e1ffc2c105b8202f1eba230f53"; + sha256 = "1f16ivvpnxmc47v0yblrmva8cpkj4fw3q8ya2hrdmbzbjlzfxlgi"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/be9bfabe3f79153cb859efc7c3051db244a63879/recipes/cython-mode"; @@ -16051,12 +16883,12 @@ melpaBuild { pname = "d-mode"; ename = "d-mode"; - version = "20180502.710"; + version = "20181204.2207"; src = fetchFromGitHub { owner = "Emacs-D-Mode-Maintainers"; repo = "Emacs-D-Mode"; - rev = "026fceb78e13d67778d72d90ba83f337d0144707"; - sha256 = "0yxmhdfxp6zplfpq52krx86n5sfa60rc1fjcd09g5f1621m31y70"; + rev = "b5d936dfd4c1d0b68a0d911aadd4ba25df7af0e4"; + sha256 = "0915kb9jcaixgindhj85fmykkhvj31ckp1yg6746fznwdgfrlifv"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3c13e9ccc358743de660b1f0e89d6bb709c42bff/recipes/d-mode"; @@ -16128,12 +16960,12 @@ melpaBuild { pname = "daemons"; ename = "daemons"; - version = "20180610.810"; + version = "20190202.728"; src = fetchFromGitHub { owner = "cbowdon"; repo = "daemons.el"; - rev = "dcf42cb3178d7245d6d49de346d5e2b44e5b7498"; - sha256 = "00bkzfaw3bqykcks610vk9wlpa2z360xn32bpsrycacwfv29j7g4"; + rev = "fd7925b0c113e5bad2e4692430ce049405794910"; + sha256 = "07l8k41ly92m3wkzlzyb9nmq4pd34xkpn7cjrdap7zfppd3iiq2r"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1f780485e72ae2885f698fdab0156855f70831f1/recipes/daemons"; @@ -16203,12 +17035,12 @@ melpaBuild { pname = "danneskjold-theme"; ename = "danneskjold-theme"; - version = "20180708.724"; + version = "20190222.200"; src = fetchFromGitHub { owner = "rails-to-cosmos"; repo = "danneskjold-theme"; - rev = "abc8c7fbe7ab071b8260e3355051304bb36adbd7"; - sha256 = "1zd6z66hfdb992r85mvjlaqfavyw5g4g6vak38zj8ycbjdj28p59"; + rev = "1a341399df66d008965fddb6348ae86d7e96d268"; + sha256 = "1cbrjqh8p4ia2psw0v0qvvlmx9g567b7xmwqgjm58x8x38003ym0"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/557244a3b60c7cd3ca964ff843aa1e9d5a1e32ec/recipes/danneskjold-theme"; @@ -16221,7 +17053,8 @@ license = lib.licenses.free; }; }) {}; - dante = callPackage ({ dash + dante = callPackage ({ company + , dash , emacs , f , fetchFromGitHub @@ -16235,24 +17068,66 @@ melpaBuild { pname = "dante"; ename = "dante"; - version = "20180515.1312"; + version = "20190320.154"; src = fetchFromGitHub { owner = "jyp"; repo = "dante"; - rev = "0fd72ef60fe01aafbd11720cf3df2e7015847ff4"; - sha256 = "1faxalr54vzxiqbf8vr2nmxkpypyv5w67bjnlvqnyy9hzr5i3qwj"; + rev = "d6be8fa2d49ac73b34578736ca6340573bbcb68a"; + sha256 = "1lhzdvgy4jkzfx4p3cnprb68wray2d36x0aqcnw5g2dw7w6vc7fz"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5afa8226077cbda4b76f52734cf8e0b745ab88e8/recipes/dante"; sha256 = "1j0qwjshh2227k63vd06bvrsccymqssx26yfzams1xf7bp6y0krs"; name = "recipe"; }; - packageRequires = [ dash emacs f flycheck haskell-mode lcr s ]; + packageRequires = [ company dash emacs f flycheck haskell-mode lcr s ]; meta = { homepage = "https://melpa.org/#/dante"; license = lib.licenses.free; }; }) {}; + dap-mode = callPackage ({ bui + , dash + , dash-functional + , emacs + , f + , fetchFromGitHub + , fetchurl + , lib + , lsp-mode + , melpaBuild + , s + , tree-mode }: + melpaBuild { + pname = "dap-mode"; + ename = "dap-mode"; + version = "20190403.1040"; + src = fetchFromGitHub { + owner = "emacs-lsp"; + repo = "dap-mode"; + rev = "f8f0f005f536ff22f6ca935dd804fa9ecb134d6a"; + sha256 = "09ff6835aflmx0s1dj7bgn1m146c9cnd3j7dh54jrx1mcvywqrx4"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/67942b34975015dd6f2b5f6b43829cc13b1832c6/recipes/dap-mode"; + sha256 = "041mmla70ld5783gn8g360klk3cw39pir5d41544zf3yssk12qpn"; + name = "recipe"; + }; + packageRequires = [ + bui + dash + dash-functional + emacs + f + lsp-mode + s + tree-mode + ]; + meta = { + homepage = "https://melpa.org/#/dap-mode"; + license = lib.licenses.free; + }; + }) {}; darcsum = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -16260,16 +17135,16 @@ melpaBuild { pname = "darcsum"; ename = "darcsum"; - version = "20140315.2110"; + version = "20190316.1515"; src = fetchFromGitHub { - owner = "emacsorphanage"; + owner = "emacsmirror"; repo = "darcsum"; - rev = "5bb38e444cc12940c6933a43792a89accdc2ad0e"; - sha256 = "11h2i0wn118anb9n3kab2hsv78zpiw4d95jal7c9xzhv6xxrz4g0"; + rev = "6a8b690539d133c5e3d17cb23fe4365fbb6fb493"; + sha256 = "1ajdm0p8rdyaqy0wwfslb1mqj9b2dpk8xkljjw6ddacph5hflhcm"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/30de78c9cf83de30093a5647976eeaf552d4b2cb/recipes/darcsum"; - sha256 = "0p3hwmwjjqwgkjws5b7gkad4yxh0gs2hr03ar18y43yahwgihvnv"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/be27e728327016b819535ef8cae10020e5a07c2e/recipes/darcsum"; + sha256 = "1qr3jh05awxxh2qi1sv542vkryfja44zswa5wxwj7g2dr6ck9jr1"; name = "recipe"; }; packageRequires = []; @@ -16436,12 +17311,12 @@ melpaBuild { pname = "darkokai-theme"; ename = "darkokai-theme"; - version = "20180513.1857"; + version = "20181019.1159"; src = fetchFromGitHub { owner = "sjrmanning"; repo = "darkokai"; - rev = "bd5efef1edd42664bb731abd398d5d71a5d2d145"; - sha256 = "05k892zkdfzz05bypf4qdjm49n5gmf7swml2w80zc88dall3hmk9"; + rev = "b887fc6080f8e021058bff7f53fad84c82c81a7a"; + sha256 = "1rjpzf6n9vclyqfdz1nqaf9ky2jhk9jn1jmx9h2bd4kil9bjbyrm"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/81387a5a70f7c42fbae16b52db765136795a37e1/recipes/darkokai-theme"; @@ -16462,12 +17337,12 @@ melpaBuild { pname = "darktooth-theme"; ename = "darktooth-theme"; - version = "20180721.2039"; + version = "20190201.1716"; src = fetchFromGitHub { owner = "emacsfodder"; repo = "emacs-theme-darktooth"; - rev = "6060fe63e407fbd08a3acf8af05bdc6ea0bd422e"; - sha256 = "1y7kjfjxj560chb5rh4rs9x3k2z20vc5vbg974a1aj37ipla4qlb"; + rev = "507853d70d14201b108432b697fdcd3785fc006e"; + sha256 = "0ly3v8a80b31ffmzvr3h0x4igr1bgcpi92wbxj86r3z1c05s31rp"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b7f62ac1566ced7332e83253f79078dc30cb7889/recipes/darktooth-theme"; @@ -16492,16 +17367,16 @@ melpaBuild { pname = "dart-mode"; ename = "dart-mode"; - version = "20180721.2225"; + version = "20190308.1714"; src = fetchFromGitHub { - owner = "nex3"; + owner = "bradyt"; repo = "dart-mode"; - rev = "9c9a63ed7bbf2b9d3521ead8c302489789552f9d"; - sha256 = "12izfp7516d201shnj0fgd4g9ca2ji2rigiifz7bp0ysmbbpy8nr"; + rev = "d5776f1e9bfeb45eb30723eba3030691a8491545"; + sha256 = "0dlkzfj1bvd62qqfj3wc46gbyg82cw995zsb7jyc8ziz9n1a383z"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/dart-mode"; - sha256 = "00zvgxfxgk5jair796l6appyq5hc7hs2s2wglv1j4l7g50b05cla"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3416586d4d782cdd61a56159c5f80a0ca9b3ddf4/recipes/dart-mode"; + sha256 = "0zpvp86067a6l63wrpqxsm9fhv3n4ggbq8pg21vgiz54hk4x1xpp"; name = "recipe"; }; packageRequires = [ cl-lib dash emacs flycheck s ]; @@ -16517,12 +17392,12 @@ melpaBuild { pname = "dash"; ename = "dash"; - version = "20180413.30"; + version = "20190320.706"; src = fetchFromGitHub { owner = "magnars"; repo = "dash.el"; - rev = "a74f4cfcdc8d0642a9f602ad494f0354f27dacc9"; - sha256 = "1kzijmjxjxgr7p8clphzvmm47vczckbs8mza9an77c25bn627ywl"; + rev = "677c1561142db89cb151f50ce21f24096ca1a328"; + sha256 = "0183iaipz13n5ga80qy49q25h7hj8bs7sz68547hn46zlnnwnbih"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/57eed8767c3e98614259c408dc0b5c54d3473883/recipes/dash"; @@ -16596,16 +17471,16 @@ melpaBuild { pname = "dashboard"; ename = "dashboard"; - version = "20180704.2325"; + version = "20190320.25"; src = fetchFromGitHub { - owner = "rakanalh"; + owner = "emacs-dashboard"; repo = "emacs-dashboard"; - rev = "41d959b752a294a18122817fb3ec2a2a9cf22856"; - sha256 = "0xcqaf39szm3wqga1lkr4rsh48sv7qxldznfy8vxxa57xama80l3"; + rev = "17accfce424a18c4120ad99dfc1d7d93591dbce0"; + sha256 = "0f40xj3wchpj3g9pv15f88vy86d0vllbwr1xli0yfv326lm0j97r"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/e9a79341ccaa82a8c065e71c02fe6aee22007c66/recipes/dashboard"; - sha256 = "08pdpjfrg8v80gljy146cwpz624dshhbz8843zl1zszwp2p00kqy"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/ef3c6af6ff5d880e6336f8db32b22b64b182794e/recipes/dashboard"; + sha256 = "19l7mv57ra3i8bz35zfq0wrrp8mk0bzhng6wqpbf9dax4pq3pnp9"; name = "recipe"; }; packageRequires = [ emacs page-break-lines ]; @@ -16614,6 +17489,62 @@ license = lib.licenses.free; }; }) {}; + dashboard-hackernews = callPackage ({ dashboard + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , request }: + melpaBuild { + pname = "dashboard-hackernews"; + ename = "dashboard-hackernews"; + version = "20190108.1805"; + src = fetchFromGitHub { + owner = "hyakt"; + repo = "emacs-dashboard-hackernews"; + rev = "b71814716d8f78181b9d1990f06072460de0797e"; + sha256 = "1dvv10xn2mh0nh85cd78y23cn8p9ygdhj4k7xs4fa6r7bhp0xvqm"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/a5ba74a9b76458bfd53e9cea7bd704d1488c9c98/recipes/dashboard-hackernews"; + sha256 = "0j5ai05g84cl6dhzw1cjvvhchg0sy7zwv355x87c5mg1kx0mrdpk"; + name = "recipe"; + }; + packageRequires = [ dashboard emacs request ]; + meta = { + homepage = "https://melpa.org/#/dashboard-hackernews"; + license = lib.licenses.free; + }; + }) {}; + dashboard-project-status = callPackage ({ dashboard + , emacs + , fetchFromGitHub + , fetchurl + , git + , lib + , melpaBuild }: + melpaBuild { + pname = "dashboard-project-status"; + ename = "dashboard-project-status"; + version = "20190202.554"; + src = fetchFromGitHub { + owner = "functionreturnfunction"; + repo = "dashboard-project-status"; + rev = "7675c138e9df8fe2c626e7ba9bbb8b6717671a41"; + sha256 = "1sbjrc1l57q2ifmw6pf3n105qk3q7rskqy9811qijpsbcl1m819d"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/dfc05873c6532c866d89c4cc07eb84b447a25c70/recipes/dashboard-project-status"; + sha256 = "1r25xmscz3lrjm6jjix416py26za5l1ck3xa77qbyrr4rf1gsakg"; + name = "recipe"; + }; + packageRequires = [ dashboard emacs git ]; + meta = { + homepage = "https://melpa.org/#/dashboard-project-status"; + license = lib.licenses.free; + }; + }) {}; date-at-point = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -16676,12 +17607,12 @@ melpaBuild { pname = "datetime"; ename = "datetime"; - version = "20180325.1004"; + version = "20190404.1137"; src = fetchFromGitHub { owner = "doublep"; repo = "datetime"; - rev = "d8674ac11f9ebb702e5bbac10a4a6e5542958ef5"; - sha256 = "19d4wximzwdcs0i2r48k6m60wwxcx5f89jw75k4hr0wvx0352a82"; + rev = "8c6d6fc991766e6bf9cefc4ea4b04eeae8116a84"; + sha256 = "0c5y304pvns8jhy4fpz4jmbfxdgz8ms04hgrnsb0g168szc9g0s9"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/91ef4352603cc69930ab3d63f0a90eee63f5f328/recipes/datetime"; @@ -16729,12 +17660,12 @@ melpaBuild { pname = "datomic-snippets"; ename = "datomic-snippets"; - version = "20180116.752"; + version = "20180817.345"; src = fetchFromGitHub { owner = "magnars"; repo = "datomic-snippets"; - rev = "731fbd31b814ef1521bd7eb1558eeab6a4c2e01b"; - sha256 = "0sbrvd3z32wrpnmarwf9ya0b2c99pg82mxhvjw4b7hggxx65lqsj"; + rev = "4a14228840d5252e13d2bf6209670f26345bbb84"; + sha256 = "1nvng479sy7ykwy9a86qq48yzv8n0903g724srhf42v9c81fc9s7"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4da8ec133ec5e1204966c1b12c9bc0ca1b50d643/recipes/datomic-snippets"; @@ -16837,12 +17768,12 @@ melpaBuild { pname = "ddskk"; ename = "ddskk"; - version = "20180706.2232"; + version = "20190215.1927"; src = fetchFromGitHub { owner = "skk-dev"; repo = "ddskk"; - rev = "cb727af4ca4e119be6e9509f14bfd61d9c6b758a"; - sha256 = "0qpgj1zvx2y8rmba4pqiypqi6dalg5lalhfafcvhsnnz1553fp7n"; + rev = "9a5397829359e2e0f37e26701a70515c0f9fcba8"; + sha256 = "15463cf8vykh2865k52qs25awc4yv91bfk4x9swh7ccrczv0d33q"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6eccccb79881eaa04af3ed6395cd2ab981d9c894/recipes/ddskk"; @@ -16861,30 +17792,53 @@ , fetchurl , lib , melpaBuild - , projectile , s , spinner }: melpaBuild { pname = "deadgrep"; ename = "deadgrep"; - version = "20180714.1716"; + version = "20190314.1507"; src = fetchFromGitHub { owner = "Wilfred"; repo = "deadgrep"; - rev = "0b00536799b6ee6d64676a0eed670bf771d4e746"; - sha256 = "0fdflr7spkcrgn6pssajhh7dbpwbhxqqx22lv38a45zzbpxrirp0"; + rev = "160e7adb7f043fc42ba6d4d891ad50ef1e063be7"; + sha256 = "1sm92hj4ilq0h82fy5k5nzn7jq56yw2665ikqdcj89k9xldin6xi"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/93389fae7233b83ea904e17bdaf83f8247cda3d8/recipes/deadgrep"; sha256 = "01m5ds7lic9g11a5iwzw86k6xcv56wbbzjm1343ckbbi255h9i09"; name = "recipe"; }; - packageRequires = [ dash emacs projectile s spinner ]; + packageRequires = [ dash emacs s spinner ]; meta = { homepage = "https://melpa.org/#/deadgrep"; license = lib.licenses.free; }; }) {}; + debian-el = callPackage ({ fetchgit + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "debian-el"; + ename = "debian-el"; + version = "20181020.813"; + src = fetchgit { + url = "https://salsa.debian.org/emacsen-team/debian-el.git"; + rev = "a499822afc2154ca83edf6a605ed22c5a932fa12"; + sha256 = "0bfgh6v0q93lfd0q628r11jd45cys89z4874a19w61cb0mfpvks0"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/1a381ec81eb160365f478c6a3af638c14558d7d6/recipes/debian-el"; + sha256 = "0x74a4nm2p4w82kzrdqy90969sminsrhdzppld2mg63jg0wxb8ga"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/debian-el"; + license = lib.licenses.free; + }; + }) {}; debpaste = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -16944,12 +17898,12 @@ melpaBuild { pname = "decide"; ename = "decide"; - version = "20180316.1101"; + version = "20190201.1337"; src = fetchFromGitHub { owner = "lifelike"; repo = "decide-mode"; - rev = "257f0e39ac60ca375942950b44eeaee04cb9d961"; - sha256 = "0hiv3wlqidj1qd8z5jy800spzrpbca2vgq4zg1lkzvbcmhqvcqqm"; + rev = "4bfcc826dd5b1c30caec455d8baa4f363159eac6"; + sha256 = "07rwflgqlsgqrw2v7rbshrbcr1qkgsx59y904jspvj310s8bsczg"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6adcd300e2ac2c718989cf855fd7b3eef654df00/recipes/decide"; @@ -17040,26 +17994,27 @@ license = lib.licenses.free; }; }) {}; - default-text-scale = callPackage ({ fetchFromGitHub + default-text-scale = callPackage ({ emacs + , fetchFromGitHub , fetchurl , lib , melpaBuild }: melpaBuild { pname = "default-text-scale"; ename = "default-text-scale"; - version = "20180520.2349"; + version = "20190107.1218"; src = fetchFromGitHub { owner = "purcell"; repo = "default-text-scale"; - rev = "512d701df5e2079cad33329184fd7683c3b0b0af"; - sha256 = "1zwrjlaxsxx7snyvyklhrchkbqg14lhr9xk7rhhik8fp4dy4f5yj"; + rev = "f425d3765c4dea3f2e550720278f9d424579ee5d"; + sha256 = "0h42jiwxrxjmk7ccwh3h25n7dy2rq61ncm5wx27jhkncc5jdm4h6"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/db5e0b70e2d9c80aa41ae2c397f822789c2d3cc2/recipes/default-text-scale"; sha256 = "18r90ic38fnlsbg4gi3r962vban398x2bf3rqhrc6z4jk4aiv3mi"; name = "recipe"; }; - packageRequires = []; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/default-text-scale"; license = lib.licenses.free; @@ -17099,12 +18054,12 @@ melpaBuild { pname = "define-word"; ename = "define-word"; - version = "20180706.1329"; + version = "20190128.759"; src = fetchFromGitHub { owner = "abo-abo"; repo = "define-word"; - rev = "637cd29837d4bd5567e17a11a479fd2edfb0e2c1"; - sha256 = "1gni89sgs7bnl0h42jyqcph9mhgingybwcmf29j8zm440zii5f9p"; + rev = "df1118858fae492cf476a963c1174bfada141c7f"; + sha256 = "0sspnc95y70dcms4551sg93m8998i78lnnrngr59cldr5hwzbr2l"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e318b30d8b2b89981f4b89d78e5a46e77d3de412/recipes/define-word"; @@ -17143,6 +18098,33 @@ license = lib.licenses.free; }; }) {}; + defrepeater = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , s }: + melpaBuild { + pname = "defrepeater"; + ename = "defrepeater"; + version = "20180829.2110"; + src = fetchFromGitHub { + owner = "alphapapa"; + repo = "defrepeater.el"; + rev = "62b00ede57d2e115b9ef9f21268c021ae1186873"; + sha256 = "106q2h4djcf1q9v31wmimj59fiqmclgxw13s8zjnhv3sc2m3z1ka"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/f0d9cf994233ad098826c6933dfd57665044f598/recipes/defrepeater"; + sha256 = "1zlp206dy5qipb7m3m77j4har258rxgwxg5ipflym4jj183maa39"; + name = "recipe"; + }; + packageRequires = [ emacs s ]; + meta = { + homepage = "https://melpa.org/#/defrepeater"; + license = lib.licenses.free; + }; + }) {}; deft = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -17150,12 +18132,12 @@ melpaBuild { pname = "deft"; ename = "deft"; - version = "20180619.857"; + version = "20181226.734"; src = fetchFromGitHub { owner = "jrblevin"; repo = "deft"; - rev = "24ac778ab8c8247f7677dd20dd301f6eba85bd8d"; - sha256 = "1m26wplsjgvv2s4mcb47haqjni49xmpjy52rddkmh6p7frhayxi2"; + rev = "f54e8a65a7e75a029657364055420374df45656d"; + sha256 = "1vas6jgwli0jcxmxmcwvzwv4414q8kkmhqfz5m96r7l4lpgcrhdr"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1e2a0e4698d4e71ec28656594f6a83504a823490/recipes/deft"; @@ -17202,12 +18184,12 @@ melpaBuild { pname = "demangle-mode"; ename = "demangle-mode"; - version = "20180515.1945"; + version = "20190116.1857"; src = fetchFromGitHub { owner = "liblit"; repo = "demangle-mode"; - rev = "374c84a0b190f0f0ea76b956035003228077d1e0"; - sha256 = "02z2mjillglyv65ijdlc62hbjddp3xv185xg7s93xz7ymg04c394"; + rev = "b4659ca85c4f02e9043e91d71affb4a8ede87339"; + sha256 = "1rybal9rvnhp4bsdpx57zjida6c9hm44qjvp1fha7fcynjp462iz"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6ced9f4ffb051a8474d3f72695156416cf2dd8be/recipes/demangle-mode"; @@ -17279,12 +18261,12 @@ melpaBuild { pname = "desktop-environment"; ename = "desktop-environment"; - version = "20180423.153"; + version = "20190401.835"; src = fetchFromGitHub { owner = "DamienCassou"; repo = "desktop-environment"; - rev = "62fbceded526b8e35c90803bcf80e33ebfe8473a"; - sha256 = "1j2kvdj3k9amj93w8cbh49rbf3vhnkbisw67hjhif62ajc19ip4k"; + rev = "564a0f4e8acb747f825c34e0abc6d6690f5d5060"; + sha256 = "0b8gnyhadnwppvwdlgm5fxiiawrwyf9kqxcas5hrjmlnyskdcall"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/dfe988e0dd4a1272ecf7b2fe758ef0c81e2acad2/recipes/desktop-environment"; @@ -17350,6 +18332,32 @@ license = lib.licenses.free; }; }) {}; + detour = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "detour"; + ename = "detour"; + version = "20181122.1338"; + src = fetchFromGitHub { + owner = "ska2342"; + repo = "detour"; + rev = "f41f17cf1cf4f3db41563ff011786b6567596fb4"; + sha256 = "1mgz2gicp7wm41x8y8q4wwsa92pga67wngpf8473lb2jrzpf78k6"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/010af7946b10ded846225a19d375434b5d9427a8/recipes/detour"; + sha256 = "0w63vqlzkvx54y8y71gzzdyxzm4430bqfyapzyrzrsmxh773hnmn"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/detour"; + license = lib.licenses.free; + }; + }) {}; devdocs = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -17360,13 +18368,13 @@ version = "20170731.150"; src = fetchFromGitHub { owner = "xuchunyang"; - repo = "devdocs.el"; + repo = "DevDocs.el"; rev = "a2d51e824f0cc48a9dd611cc740bc8b86143e611"; sha256 = "0nzh7pgvj4cs5d29lrrmbas29xdslgqzsqjmpapzqzbnrgprnbx8"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/a54ff5faeefabf484ef175433cfc2b8317993f74/recipes/devdocs"; - sha256 = "04a1yspk3dwx0lzyg03lrbvig4g6sqmavzwicshdyr7q1bny7ikn"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/devdocs"; + sha256 = "14vab71fy5i1ccmzgfdg37lfs1ix3qwhcyk9lvbahcmwnbnimlzm"; name = "recipe"; }; packageRequires = []; @@ -17404,23 +18412,24 @@ , fetchFromGitHub , fetchurl , lib - , melpaBuild }: + , melpaBuild + , reformatter }: melpaBuild { pname = "dhall-mode"; ename = "dhall-mode"; - version = "20180715.213"; + version = "20190113.1601"; src = fetchFromGitHub { owner = "psibi"; repo = "dhall-mode"; - rev = "5aa24b844ee0371024b7b65d1682984d3c1d82bf"; - sha256 = "0ql595j63n6r7381sw8hvkcy2dsly3fxw8qb5g0w2g2f7902905x"; + rev = "b59698e9f81ef30cc784729ee4d8c719e6c21bf6"; + sha256 = "1aw6b2gkpclzahyyzxmj2025l8c82w83lz4ixxv5fk63yc9vj96l"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c7ab435077b2f47d75ddc0ff10c64ee2b46044e2/recipes/dhall-mode"; sha256 = "1zkspjwllcw9k4nlnif6jdwzl08ki39vmx90apw029n87xhvx7mp"; name = "recipe"; }; - packageRequires = [ emacs ]; + packageRequires = [ emacs reformatter ]; meta = { homepage = "https://melpa.org/#/dhall-mode"; license = lib.licenses.free; @@ -17434,12 +18443,12 @@ melpaBuild { pname = "diary-manager"; ename = "diary-manager"; - version = "20180626.1058"; + version = "20181214.1926"; src = fetchFromGitHub { owner = "raxod502"; repo = "diary-manager"; - rev = "01851f42aee0526995ea88c3d42b7fe12e1cb7fd"; - sha256 = "1q1zrqawrr844lzjc5l480im6rjdyagir0dr805vgyv31fhp1vmw"; + rev = "919f724bb58e36b8626dd8d7c8475f71c0c54443"; + sha256 = "12zg022bhfn4gsclb5wk8wh0bqyy0v5j37369haq6rb5jcc6x5fb"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a014f4d862a2480f7edb1266f79ce0801cca13c2/recipes/diary-manager"; @@ -17461,12 +18470,12 @@ melpaBuild { pname = "dic-lookup-w3m"; ename = "dic-lookup-w3m"; - version = "20170803.354"; + version = "20180526.921"; src = fetchFromGitHub { owner = "emacsorphanage"; repo = "dic-lookup-w3m"; - rev = "79aca5eb9c78e67cb85a386060d48113caad5ec3"; - sha256 = "18l2s37bnnzbgw22mivgw5isxck2y0n3nk7735r4ir5y5wqx88mr"; + rev = "3254ab10cbf0078c7162557dd1f68dac28459cf9"; + sha256 = "0g8kzaxjka7n9jdldh45m22nizgv0m0v94ns7vmmhf1hpsf3zfxz"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/30de78c9cf83de30093a5647976eeaf552d4b2cb/recipes/dic-lookup-w3m"; @@ -17489,12 +18498,12 @@ melpaBuild { pname = "dictcc"; ename = "dictcc"; - version = "20171213.1334"; + version = "20190118.1202"; src = fetchFromGitHub { owner = "cqql"; repo = "dictcc.el"; - rev = "a77cf1fadadcbde762466970b503c8a8916b35b2"; - sha256 = "0aaah14nc8ajqhbjmwp7257k2n8ay6g87spb734kxfs8irzg52fa"; + rev = "3244897515db954eafeed9648e7a0011b89c3ce2"; + sha256 = "1nlgz3i8kynhl6d6h5rszja14z5n7ri83mm5ks90nbdhjcqwk3qd"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5e867df96915a0c4f22fdccd4e2096878895bda6/recipes/dictcc"; @@ -17516,12 +18525,12 @@ melpaBuild { pname = "dictionary"; ename = "dictionary"; - version = "20140717.2029"; + version = "20190403.1218"; src = fetchFromGitHub { owner = "myrkr"; repo = "dictionary-el"; - rev = "a23b8f4a422d0de69a006ed010eff5795319db98"; - sha256 = "0gz03hji6mcrzvxd74qim63g159sc8ggb6hq3x42x5l01g980fbm"; + rev = "6edc1d0a4156d33c3da0c1649c308b809fda46e1"; + sha256 = "0g95q3yggzxr8d2gjxamfwx8xbzf182naxpb265r7v9awd35bqk5"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5b08ed7b90e3283e177eff57cb02b12a093dc258/recipes/dictionary"; @@ -17543,12 +18552,12 @@ melpaBuild { pname = "diff-hl"; ename = "diff-hl"; - version = "20180201.355"; + version = "20190223.1533"; src = fetchFromGitHub { owner = "dgutov"; repo = "diff-hl"; - rev = "190622d3fa2c3237529ec073a8fa00aee06023a1"; - sha256 = "0jh270anr2ralixgwsc3wn48jnw3qwz6m18lg0sgwgzyajh0fpb9"; + rev = "84a5fe1900af2e5cc522f02749804f0d9f094bbf"; + sha256 = "1xlsg728mz3cwhrsqvisa0aidic67nymd9g7h4c1h3q63j39yb2s"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/diff-hl"; @@ -17599,14 +18608,14 @@ ename = "diffscuss-mode"; version = "20141014.1657"; src = fetchFromGitHub { - owner = "hut8labs"; + owner = "tomheon"; repo = "diffscuss"; rev = "bbc6dbed4b97d1eb9ae5dae021ed1e066129bd98"; sha256 = "0ppsgfzmdg0r418n2x0qxwhyqs7hjj8fgazc4xzgs8fsg4j3h7mr"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/17f89560f98f11810205ba58841cd5566766b436/recipes/diffscuss-mode"; - sha256 = "06jd7wh4yzryz0yjwa4a0xddz7srl5mif8ff1wvcpxsb66m2zbvh"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3416586d4d782cdd61a56159c5f80a0ca9b3ddf4/recipes/diffscuss-mode"; + sha256 = "1mycjis38gqwha7jgj05fzv0041ghk6khy5d2dlcyy2nh3bb68rb"; name = "recipe"; }; packageRequires = []; @@ -17911,12 +18920,12 @@ melpaBuild { pname = "dired-atool"; ename = "dired-atool"; - version = "20180302.2340"; + version = "20181228.622"; src = fetchFromGitHub { owner = "HKey"; repo = "dired-atool"; - rev = "b92e0106827d34fa686e189c7e9a537a3a947a8b"; - sha256 = "1i40zd7y1jf9skr3wi2zqv4awrgff244p1h89r707aq67v1j19yk"; + rev = "09dbb769fe02f546da470369a12468ab4a0cceb2"; + sha256 = "0j2dz4vy4i22185hhlwg2kprpis97xb12qvfdhvdcnz2vwy61sxa"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0fe7b0857828a041ee06b30edd2cd488cc3394c7/recipes/dired-atool"; @@ -17957,6 +18966,7 @@ }; }) {}; dired-collapse = callPackage ({ dash + , dired-hacks-utils , f , fetchFromGitHub , fetchurl @@ -17965,19 +18975,19 @@ melpaBuild { pname = "dired-collapse"; ename = "dired-collapse"; - version = "20180530.727"; + version = "20180724.944"; src = fetchFromGitHub { owner = "Fuco1"; repo = "dired-hacks"; - rev = "71a1cf4d791e640df1f05b5589f79e45c460da64"; - sha256 = "18l563jp9brflmsf7s5i6yklrs2nzcs93xm6h1w2wswzdssdna2b"; + rev = "3fd347a0823312e966872bd0d26d9a75b2898c9c"; + sha256 = "01q93n4b9js29r2grk53206f7blwp2pjyz8lf98x184f2sdrz9k7"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6aab23df1451682ff18d9ad02c35cb7ec612bc38/recipes/dired-collapse"; sha256 = "1k8h5cl8r68rnr1a3jnbc0ydflzm5mad7v7f1q60wks5hv61dsd1"; name = "recipe"; }; - packageRequires = [ dash f ]; + packageRequires = [ dash dired-hacks-utils f ]; meta = { homepage = "https://melpa.org/#/dired-collapse"; license = lib.licenses.free; @@ -18091,12 +19101,12 @@ melpaBuild { pname = "dired-filetype-face"; ename = "dired-filetype-face"; - version = "20160822.655"; + version = "20180907.639"; src = fetchFromGitHub { owner = "jixiuf"; repo = "dired-filetype-face"; - rev = "72b3c88e8b82b3f8681d940757f7b2992bd80793"; - sha256 = "1sp6fr3qha5zas65q06b61bgqx0nfiarcgpydqv0drkn6dpaps8b"; + rev = "7ade7f7e8c2d7518c65f3f0343a10c272da0f47e"; + sha256 = "0s8mqz331iw2bk4xdvj9zljklqj8dxv0yaw100lddg37qmdf7lgl"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4e6c8015af3d5f013272308a97e089a4e3ca847d/recipes/dired-filetype-face"; @@ -18120,12 +19130,12 @@ melpaBuild { pname = "dired-filter"; ename = "dired-filter"; - version = "20171010.204"; + version = "20190211.1220"; src = fetchFromGitHub { owner = "Fuco1"; repo = "dired-hacks"; - rev = "64b3dbb0e8f631d1e11becd0458406404894550b"; - sha256 = "1nxn1517pf2i17bi0h5m5p2x8cvv30zgg6i6h8cjm4bwl1nx1ymc"; + rev = "618b2037a3fc6940894a1030863298c96362c3b8"; + sha256 = "061aadq4k7rfarp2yqzzldldr4k1g7m44jvnbsypddbnwqp6nf5c"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/568e524b7bdf91b31655bdbb30fe9481d7a0ffbf/recipes/dired-filter"; @@ -18301,12 +19311,12 @@ melpaBuild { pname = "dired-narrow"; ename = "dired-narrow"; - version = "20170309.329"; + version = "20181114.923"; src = fetchFromGitHub { owner = "Fuco1"; repo = "dired-hacks"; - rev = "342d75f1240ebe17959ec25a5b050b40156e10cb"; - sha256 = "18s8jax1k1p1x3r2rl398r1cxy0i2ss9vv23bgv3dna4hvwv65jc"; + rev = "c7184dc8f6ed3f2330db8d8f21f01c4b08056dd3"; + sha256 = "1i5a6srd3fpqdvvhyv0swybznimx9ilpm3sd76ha3shispyij1x5"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8994330f90a925df17ae425ccdc87865df8e19cd/recipes/dired-narrow"; @@ -18328,12 +19338,12 @@ melpaBuild { pname = "dired-open"; ename = "dired-open"; - version = "20160205.1213"; + version = "20180922.413"; src = fetchFromGitHub { owner = "Fuco1"; repo = "dired-hacks"; - rev = "49bb19a92a4256057f151da9ad6d0a91d46dacc0"; - sha256 = "0hdpn2q55qqvqffb70c8z72ah516l1d3gbzibrr5d0i31xggx4g3"; + rev = "a45737d3a5aaac6928ebd7af041e5603dffaca64"; + sha256 = "1bhz0x7sa4a56f5ha8h9w36y5pirvzhkhczyfwf4z74j4z5z44sm"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/568e524b7bdf91b31655bdbb30fe9481d7a0ffbf/recipes/dired-open"; @@ -18434,16 +19444,16 @@ melpaBuild { pname = "dired-recent"; ename = "dired-recent"; - version = "20180527.1259"; + version = "20180921.1538"; src = fetchFromGitHub { - owner = "vifon"; + owner = "Vifon"; repo = "dired-recent.el"; - rev = "22104c87593f24ec513dfdf97fc4c8c91defec33"; - sha256 = "0ddpsfq1frzx9nkiakkrxm8x6xg8f5fpvqlln8ksys7x2cmzk092"; + rev = "b67f0fd346b03012f3c31d0a979d16290140557b"; + sha256 = "0nnaxynvwz346mr26l1whkd6myynr5fl0mhih3q1bkwsd93s0k4q"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/d717543b63f9eb1ed6b8f78de84da717d3b8e4bc/recipes/dired-recent"; - sha256 = "1hspi9bazbij9h05qaljgn5035p409w28mzvmrl4j6isx306s61l"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/dired-recent"; + sha256 = "1qvw7m6wzahc0xmf37cyl9lv1k9442j0kkzx6dl6f0wclw0v6hgs"; name = "recipe"; }; packageRequires = [ emacs ]; @@ -18452,6 +19462,55 @@ license = lib.licenses.free; }; }) {}; + dired-rifle = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "dired-rifle"; + ename = "dired-rifle"; + version = "20181012.1431"; + src = fetchFromGitHub { + owner = "Vifon"; + repo = "dired-rifle.el"; + rev = "a4f7b1e798397688b9c00d3507fcd395ece17a40"; + sha256 = "09jp54drbx1hb4fj6bzh8ava7nk56pp500xsa9712vscg1f38fpz"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/dired-rifle"; + sha256 = "1x6i68i7f1c3k0w3w4zph16s046ccajyb2641fx0j8dl5367qgbc"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/dired-rifle"; + license = lib.licenses.free; + }; + }) {}; + dired-rmjunk = callPackage ({ fetchgit + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "dired-rmjunk"; + ename = "dired-rmjunk"; + version = "20190209.1633"; + src = fetchgit { + url = "https://git.sr.ht/~jakob/dired-rmjunk"; + rev = "5d94726b4e427bb21dcc6f043bc3fcfc98b27b7a"; + sha256 = "0imxvaafxpndb3m07wd74xjn093hbib2g38kmrwxj26xkgzw60nc"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/75d501ae9b64d9aa083f43358881a467a7cd2a04/recipes/dired-rmjunk"; + sha256 = "1m07z6gcsd5i1xshgfxqrpcrqpl0ffa9ls2443za5wkgbalhxx47"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/dired-rmjunk"; + license = lib.licenses.free; + }; + }) {}; dired-rsync = callPackage ({ dash , emacs , fetchFromGitHub @@ -18462,12 +19521,12 @@ melpaBuild { pname = "dired-rsync"; ename = "dired-rsync"; - version = "20180625.1448"; + version = "20190301.540"; src = fetchFromGitHub { owner = "stsquad"; repo = "dired-rsync"; - rev = "1eb7488f36528166992fe50a89dbbfa6d8a0e58b"; - sha256 = "0dc30xx9k2l1x2mj8mzkzx7ppv5nzpsyp3wxrhbbjwhnv5micc5q"; + rev = "ff229a32008438a2bfce7ef6c23e8e0d7a5f0c74"; + sha256 = "0wlb27d7isclp5j2cmk31mdix6wx1cavjfnkk5306iwrbpirpv96"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ce9f41ad832cef527dde97f829a8b8339e6ac48b/recipes/dired-rsync"; @@ -18489,12 +19548,12 @@ melpaBuild { pname = "dired-sidebar"; ename = "dired-sidebar"; - version = "20180709.2204"; + version = "20190319.1811"; src = fetchFromGitHub { owner = "jojojames"; repo = "dired-sidebar"; - rev = "e40075bbb43c4012b49fea2b40dbef1d3be3d82e"; - sha256 = "0jz57p47np4wn01y7ggsavgg9nnl1rnmqcl0y32w2c8xk22rhjlp"; + rev = "c895f43e2ee77042f2f9596c4cde8f5f224b8403"; + sha256 = "1wrlvlrv7lh71m6jambbpcxdg0416h1w5d5y673igkp0ri87n2q8"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/30e15c8361b01195f198197e704828fbcac0e8d6/recipes/dired-sidebar"; @@ -18514,12 +19573,12 @@ melpaBuild { pname = "dired-single"; ename = "dired-single"; - version = "20170804.544"; + version = "20180823.2012"; src = fetchFromGitHub { owner = "crocket"; repo = "dired-single"; - rev = "0dcc645de6397bf12c33229de67a503e4490c618"; - sha256 = "16073xjfx7cvv9g8dlyxwa4ca6x35vwarqq43mrl05nxcq0rfzv3"; + rev = "b0ccca83df0542c5525c047ae283c0eadf500f5c"; + sha256 = "14q8lp1x1b78ra9mk90n6dyrm1j9ny5pr7valgpkg8agqyqn7xmn"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/41669decbb7ad5c4dbe152a863f16d87e7bba493/recipes/dired-single"; @@ -18541,12 +19600,12 @@ melpaBuild { pname = "dired-subtree"; ename = "dired-subtree"; - version = "20170910.1521"; + version = "20180922.915"; src = fetchFromGitHub { owner = "Fuco1"; repo = "dired-hacks"; - rev = "3e7d46f898eba8611eafbfecf5333cc2325f89f5"; - sha256 = "1z2jc221cbgmy0rqb4ns5pq6fmfl7li3p9xhy6if2v8r82m5yn4q"; + rev = "c5e9dcdf2ee6fd5660e2bfbb8c635674053df7c9"; + sha256 = "1qcsklrvs8dajj7nyhd70ql4df3ayjkgxyf8ldm48ajms5qslkfb"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d6a947ac9476f10b95a3c153ec784d2a8330dd4c/recipes/dired-subtree"; @@ -18566,12 +19625,12 @@ melpaBuild { pname = "dired-toggle"; ename = "dired-toggle"; - version = "20140907.1349"; + version = "20190402.2302"; src = fetchFromGitHub { owner = "fasheng"; repo = "dired-toggle"; - rev = "84efb9ec9c327e4da53cdb7cda5b51dcd0ede0e5"; - sha256 = "1yx20h16hc1b04knsqhrxni0j8qgwnq7i5b0dlggq3dakcvqfxma"; + rev = "509bf1f3c6d5e5f9bc29f94d88127e2d82d5c6ed"; + sha256 = "1h91z38bflj1z1zy798a4ngkny2f7gp03xbf222jiyhwc9djgg8q"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/17ae4c5ff42e0c48e53d93c88853f649f59034e6/recipes/dired-toggle"; @@ -18670,12 +19729,12 @@ melpaBuild { pname = "direnv"; ename = "direnv"; - version = "20180513.123"; + version = "20190319.718"; src = fetchFromGitHub { owner = "wbolster"; repo = "emacs-direnv"; - rev = "6cf079fe8171bdf4bebefe02e8353d7f13847ebd"; - sha256 = "0vw9s70h5zjz5k225mzm893sv5pdb4lz5x7fc4r98iva0wipldgn"; + rev = "8ad3672c56d65b1eacc012cc51a36ed544b4b160"; + sha256 = "02blhinkkfh3iai6j1k5swplf5mkwijy3p7wy38rnd1gnyj2z4la"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5419809ee62b920463e359c8e1314cd0763657c1/recipes/direnv"; @@ -18800,12 +19859,12 @@ melpaBuild { pname = "disable-mouse"; ename = "disable-mouse"; - version = "20171226.1715"; + version = "20181225.1406"; src = fetchFromGitHub { owner = "purcell"; repo = "disable-mouse"; - rev = "541363bd6353b8b05375552bab884a6315ea545c"; - sha256 = "1grs3cz2zdw49frvxy4vc1z3ld804kk5g2ad6ln5grprcd188bz9"; + rev = "236d9b9d03544f92ebf44a2861c469c685857b67"; + sha256 = "0lpmjzwzbpnhkwrwxai0g35mglhbccnlsc18zgf2rfhi8ggfla9b"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/dbbc396373212fdf731e135cde391f27708ff015/recipes/disable-mouse"; @@ -19053,6 +20112,34 @@ license = lib.licenses.free; }; }) {}; + dist-file-mode = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , s }: + melpaBuild { + pname = "dist-file-mode"; + ename = "dist-file-mode"; + version = "20180829.2118"; + src = fetchFromGitHub { + owner = "emacs-php"; + repo = "dist-file-mode.el"; + rev = "e1ce8f592bc5d4d86d2f09e334728ac0d524c761"; + sha256 = "09rp83d81y9mm81isrwvacl21vgah7nhi5r4j2xbp13kgdn7my1w"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/dd10fbed2810a642600dba9dfe320fa6299e6d34/recipes/dist-file-mode"; + sha256 = "1gbnkb0537gw8flv4gdi4jzb7y9dnbf9cfj2jw8y84axyfzbb4mf"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs s ]; + meta = { + homepage = "https://melpa.org/#/dist-file-mode"; + license = lib.licenses.free; + }; + }) {}; distel-completion-lib = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -19060,12 +20147,12 @@ melpaBuild { pname = "distel-completion-lib"; ename = "distel-completion-lib"; - version = "20160816.406"; + version = "20180827.644"; src = fetchFromGitHub { owner = "sebastiw"; repo = "distel-completion"; - rev = "994c61dda2e3256b41fa2e53821c484b5ffd13e6"; - sha256 = "00nifdhwy89zmi50hln5p5albdx7ypm4mbdfjzhk4870crx4zjr2"; + rev = "acc4c0a5521904203d797fe96b08e5fae4233c7e"; + sha256 = "0yvp3dwa9mwfyrqla27ycwyjad4bp1267bxv0chxcr4528hnygl3"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/90fff35dd9709b06802edef89d1fe6a96b7115a6/recipes/distel-completion-lib"; @@ -19128,6 +20215,7 @@ }; }) {}; dix = callPackage ({ cl-lib ? null + , emacs , fetchFromGitHub , fetchurl , lib @@ -19135,19 +20223,19 @@ melpaBuild { pname = "dix"; ename = "dix"; - version = "20170224.615"; + version = "20181210.400"; src = fetchFromGitHub { owner = "unhammer"; repo = "dix"; - rev = "bcc7fd7aef5d25171978c386c620e09d0ba8d2f8"; - sha256 = "12ny1a89xhjcnz03s1bw96y14kqb2w6cpf2rk8lv6kri7dasfq4n"; + rev = "b973de948deb7aa2995b1895e1e62bbe3129b5a5"; + sha256 = "1bjxyidcp7y309asbk4pfb4mzgb8j62fmp3w3zl2nahdgv1rja45"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/149eeba213b82aa0bcda1073aaf1aa02c2593f91/recipes/dix"; sha256 = "0c5fmknpy6kwlz7nx0csbbia1maz0szj7yha1p7wq28s3a5426xq"; name = "recipe"; }; - packageRequires = [ cl-lib ]; + packageRequires = [ cl-lib emacs ]; meta = { homepage = "https://melpa.org/#/dix"; license = lib.licenses.free; @@ -19205,6 +20293,32 @@ license = lib.licenses.free; }; }) {}; + django-commands = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "django-commands"; + ename = "django-commands"; + version = "20190320.22"; + src = fetchFromGitHub { + owner = "muffinmad"; + repo = "emacs-django-commands"; + rev = "1b19436a1160d1552207d4356d5e78793dabe100"; + sha256 = "1zb8mf0dgdr83n61a54m5grhdr6nz75zrgwczpzfl3f66xkvfci9"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/fd217a23a9670c7eb826360b34df1a06ab3e450f/recipes/django-commands"; + sha256 = "17k9bnig2cfnxbbz6k9vdk5k5gzhvn1h5j9wvww7n137c9vv0qmk"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/django-commands"; + license = lib.licenses.free; + }; + }) {}; django-manage = callPackage ({ fetchFromGitHub , fetchurl , hydra @@ -19322,12 +20436,12 @@ melpaBuild { pname = "djangonaut"; ename = "djangonaut"; - version = "20180710.1445"; + version = "20180727.844"; src = fetchFromGitHub { owner = "proofit404"; repo = "djangonaut"; - rev = "61a1ace3562c7352fd1665ceccc6b39be23daa80"; - sha256 = "02g3iij6hhhzws612l9hbvd8zlf6ggifgl8ckxaysxd80z2jc2rs"; + rev = "487dbd19a312cf5b45183df82d5d57f5c5a403a2"; + sha256 = "1fpbbv5w54r70b1xma36lp3kh5cn184bvq28apll5bd5bclii56y"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0c1281f59add99abf57bc858d6e0f9b2ae5b3c5c/recipes/djangonaut"; @@ -19340,6 +20454,32 @@ license = lib.licenses.free; }; }) {}; + djinni-mode = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "djinni-mode"; + ename = "djinni-mode"; + version = "20190302.1739"; + src = fetchFromGitHub { + owner = "danielmartin"; + repo = "djinni-mode"; + rev = "f0da31d8f45c4b1b2341cf88ec7f2d2e7d16267f"; + sha256 = "1jfc2n5js596wmpy6g8jyysn9hwf151s952v3ph0wpcisl7wsiyv"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/e6e88f64e21275c6755f2589d1afa16eb4e575b8/recipes/djinni-mode"; + sha256 = "19222702dr7hfl7ffqp5z4sslg949p88rwvmg2al82i1a0wkgc98"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/djinni-mode"; + license = lib.licenses.free; + }; + }) {}; dkdo = callPackage ({ dkmisc , emacs , fetchFromGitHub @@ -19454,12 +20594,12 @@ melpaBuild { pname = "dmenu"; ename = "dmenu"; - version = "20180118.445"; + version = "20190329.2010"; src = fetchFromGitHub { owner = "lujun9972"; repo = "el-dmenu"; - rev = "6e492cd4ee4fb39ecda92776707fc270f54d25e7"; - sha256 = "085ap58qfwr7gvrx68dy72z4ph1mvwka5i7ydx58m1a3bb9rshnw"; + rev = "162f9f513d5dbd5f61f8d7adb48546f646d7d3fe"; + sha256 = "1216ab5n7bmpjxrfj4b13mjq1rh6wsdk1dh8mgqxvwh1mydy5lsa"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/98bcdd71a160b9c04f83cc5b939031c9e7b5eb59/recipes/dmenu"; @@ -19565,12 +20705,12 @@ melpaBuild { pname = "docker"; ename = "docker"; - version = "20180710.743"; + version = "20190407.218"; src = fetchFromGitHub { owner = "Silex"; repo = "docker.el"; - rev = "7aee62326f8304fc5e3fc9de84bd56afe3572ed9"; - sha256 = "1lrgi7hp5a3j6c39jv3vn7x1ak66p5r1ijifwkrj95r1x0dxj3f2"; + rev = "e127a157f8d0d9ffd465075ecf6558f36d2d3b24"; + sha256 = "1g8r1faqp0z0vqp9qrl8m84pa0v2ddvc91klphdkfmldwv7rfipw"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6c74bf8a41c17bc733636f9e7c05f3858d17936b/recipes/docker"; @@ -19683,12 +20823,12 @@ melpaBuild { pname = "dockerfile-mode"; ename = "dockerfile-mode"; - version = "20180628.959"; + version = "20181104.1000"; src = fetchFromGitHub { owner = "spotify"; repo = "dockerfile-mode"; - rev = "64733f64ea9be1e5e534e590846869b75c62ed1f"; - sha256 = "00fk4qq3yhqia6y7pixx3qfmfxp61hdffkx6hmz6gbd6i1ibkmw4"; + rev = "7223d92718f78fa3ab15667cdb2ed90cfeb579e7"; + sha256 = "0hmipgl4rk6aih11i8mnspwdijjiwk2y0wns6lzs8bgkvy3c064r"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1406f5a24115d29e3b140c360a51b977a369e4f9/recipes/dockerfile-mode"; @@ -19718,8 +20858,8 @@ sha256 = "0vqx8npw0i02dhw2yb7s4z7njw60r3xyncw4z8l6fj99pp6pfh15"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/dokuwiki"; - sha256 = "0wfzzxx3n75zgxk06rlq7053hla84k79mk911by4jwk6km5adk55"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/e608f40d00a3b2a80a6997da00e7d04f76d8ef0d/recipes/dokuwiki"; + sha256 = "0d92il37z1m1hgcgb6c6zaifllznzk1na4yv4bfsfqg25l0mid75"; name = "recipe"; }; packageRequires = [ emacs xml-rpc ]; @@ -19786,12 +20926,12 @@ melpaBuild { pname = "doneburn-theme"; ename = "doneburn-theme"; - version = "20180502.1004"; + version = "20181110.1057"; src = fetchFromGitHub { owner = "manuel-uberti"; repo = "doneburn-theme"; - rev = "e27a599166ed5f1993e6eabdb223a0f374516e89"; - sha256 = "0ni6v7n6wfax5f3ndyx2rhizcr067adkiqgcvwl5smdykiw7gbsp"; + rev = "9c31dd6d664436df73c776560c7a660041b3a5bf"; + sha256 = "042jfjlhyk2lc4wbqsyvb09q5k3jsxsdi89ymwl59j0mvhxws7lj"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7fc483d5f487f462567bba22d611f90fc8a1a709/recipes/doneburn-theme"; @@ -19838,31 +20978,23 @@ , fetchurl , lib , melpaBuild - , projectile , shrink-path }: melpaBuild { pname = "doom-modeline"; ename = "doom-modeline"; - version = "20180712.2015"; + version = "20190406.12"; src = fetchFromGitHub { owner = "seagle0128"; repo = "doom-modeline"; - rev = "8af6cb74f6f94ec863076966fd3b2d85ce386b02"; - sha256 = "1b9k30n63milm7xzdh6ya5z4h2gz0dqm0ndfpmy9kx3992mbljqw"; + rev = "c5b5a4d2d24b67239993c398e5631e54908fe815"; + sha256 = "0jfh10vnxaz93569yb11zqirj12487ly1gxxrr807583pn24b6n0"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f4f610757f85fb01bd9b1dd212ddbea8f34f3ecd/recipes/doom-modeline"; sha256 = "0pscrhhgk4wpz1f2r94ficgan4f9blbhqzvav1wjahwp7fn5m29j"; name = "recipe"; }; - packageRequires = [ - all-the-icons - dash - eldoc-eval - emacs - projectile - shrink-path - ]; + packageRequires = [ all-the-icons dash eldoc-eval emacs shrink-path ]; meta = { homepage = "https://melpa.org/#/doom-modeline"; license = lib.licenses.free; @@ -19878,12 +21010,12 @@ melpaBuild { pname = "doom-themes"; ename = "doom-themes"; - version = "20180720.438"; + version = "20190313.1520"; src = fetchFromGitHub { owner = "hlissner"; repo = "emacs-doom-themes"; - rev = "75d43068733201b8c9c45f9e637ceaab2ff565a4"; - sha256 = "11pbk4clc3rxzibrrz8rbfx52kd3fkxdyl6wv8mi1s8p7jw4ffln"; + rev = "cbac92578aba8eff8edd18b3e1ea72c295e3631e"; + sha256 = "0v0002smmwjszl94950wmggs0ss9kfigzrhfvayhwcqw0m5h531c"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c5084bc2c3fe378af6ff39d65e40649c6359b7b5/recipes/doom-themes"; @@ -19955,12 +21087,12 @@ melpaBuild { pname = "dotnet"; ename = "dotnet"; - version = "20170827.838"; + version = "20181117.731"; src = fetchFromGitHub { owner = "julienXX"; repo = "dotnet.el"; - rev = "fc1c98025f4f9394ce9b70f9bdafd18d897f27f2"; - sha256 = "1pb45rpr2anqgxrdnp3sz3adx8gvpwvdms47gh75ran4sn191l19"; + rev = "70ed170caeeecba5fddbd82b0d6aec967b6c6ee4"; + sha256 = "1hdghrcyic1jng1k08fsq9fscyqx6s3rmsh9k21b91dfaxyaqj6b"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6ef473594ec57a747ad7d9d57d7287bcacf4b446/recipes/dotnet"; @@ -19973,6 +21105,32 @@ license = lib.licenses.free; }; }) {}; + double-saber = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "double-saber"; + ename = "double-saber"; + version = "20190325.1217"; + src = fetchFromGitHub { + owner = "dp12"; + repo = "double-saber"; + rev = "5555dc28cbaa228fa8f9390738a4200e071380b8"; + sha256 = "06ykn84hp4yvf6z2457jqgyck70y30361l8617ilb7g337hk15xl"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/19f5c0195ad9b278a7aaa3fd8e70c0004cc03500/recipes/double-saber"; + sha256 = "0zsmyvlxm3my3xbj7m38539vk2dl7azi1v7jb41kdiavj2cc55zg"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/double-saber"; + license = lib.licenses.free; + }; + }) {}; download-region = callPackage ({ cl-lib ? null , fetchFromGitHub , fetchurl @@ -20075,6 +21233,31 @@ license = lib.licenses.free; }; }) {}; + dpkg-dev-el = callPackage ({ debian-el + , fetchgit + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "dpkg-dev-el"; + ename = "dpkg-dev-el"; + version = "20181021.1708"; + src = fetchgit { + url = "https://salsa.debian.org/emacsen-team/dpkg-dev-el.git"; + rev = "a80f8ac5d81720cce90cf3bc5fbb45d50b1953d7"; + sha256 = "0358c6gvyb85zr5r79ar3q46c83gz39rawyhgcg1h1hqxgj6a2lx"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/3e057df3608780a6191f761b9a81262c2eaa053c/recipes/dpkg-dev-el"; + sha256 = "1cgfzxlw4m3wsl5fhck08pc2w7fw91mxk58yaprk9lkw4jxd1yjy"; + name = "recipe"; + }; + packageRequires = [ debian-el ]; + meta = { + homepage = "https://melpa.org/#/dpkg-dev-el"; + license = lib.licenses.free; + }; + }) {}; dr-racket-like-unicode = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -20109,12 +21292,12 @@ melpaBuild { pname = "dracula-theme"; ename = "dracula-theme"; - version = "20180710.624"; + version = "20190107.1216"; src = fetchFromGitHub { owner = "dracula"; repo = "emacs"; - rev = "a1c9888b7876ace60a536d27fb290e788bffc9cb"; - sha256 = "1bi257gp4rskwbvr1hkgz16r0pw4xqvaxgixzv4abb35vsc9gncx"; + rev = "66e429f4d576346661ae3a111bafaa06febc1d94"; + sha256 = "0lyy8vjzzcfcj4hm7scxl4cg4qm67rprzdj7dmyc3907yad4n023"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d63cb8906726f106e65f7d9895b49a38ffebf8d5/recipes/dracula-theme"; @@ -20187,14 +21370,14 @@ ename = "drawille"; version = "20160418.1138"; src = fetchFromGitHub { - owner = "sshbio"; - repo = "drawille"; + owner = "josuah"; + repo = "drawille-el"; rev = "d582b455c01432bc80933650c52a1f586bd1b5ad"; sha256 = "1z3akh0ywzihr0ghk6f8x9z38mwqy3zg29p0q69h4i6yzhxpdmxa"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/e0920232421bf177f2ab8595fab7e203f40b1a34/recipes/drawille"; - sha256 = "01rl21hbj3hwy072yr27jl6iql331v131d3mr9zifg9v6f3jqbil"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3416586d4d782cdd61a56159c5f80a0ca9b3ddf4/recipes/drawille"; + sha256 = "0nkhy00jx06a7899dgyajidah29p9536mvjr7cyqm99ari70m7y9"; name = "recipe"; }; packageRequires = [ cl-lib ]; @@ -20263,12 +21446,12 @@ melpaBuild { pname = "dropbox"; ename = "dropbox"; - version = "20170502.1722"; + version = "20181208.1448"; src = fetchFromGitHub { owner = "pavpanchekha"; repo = "dropbox.el"; - rev = "d85bbf6caa4203d6088ea29f5c057c1e9bcacd85"; - sha256 = "15fg46pb64sz17sz3bqcpvg0nlsy4fs7ppzdq7q1686q3ihczk31"; + rev = "9fcb70c3e4e32b1612644d65e3b98f00255a40d4"; + sha256 = "0a26cfv7ayalwgg78jm4r6m2wv1wjqy4s0y1lv6j8zv193mqzgdz"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/dropbox"; @@ -20339,16 +21522,16 @@ melpaBuild { pname = "dsvn"; ename = "dsvn"; - version = "20130120.1257"; + version = "20190316.1501"; src = fetchFromGitHub { - owner = "emacsorphanage"; + owner = "emacsmirror"; repo = "dsvn"; - rev = "b01e3601ac26735efa3f1fedc81e9a4f6e173635"; - sha256 = "1rfl10zqksvrry3l4g4h9gp3banmfas1n3qn9lsw8nbm259w1sf4"; + rev = "c37d2412ba92aad647bcf5aeb151e620e8069f8d"; + sha256 = "1bv4ivv9j5r0ax4vay1kmwv753y44qj6qprr38yh7ky0fpsml34c"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/30de78c9cf83de30093a5647976eeaf552d4b2cb/recipes/dsvn"; - sha256 = "1kgc0b8as7w1h9dsknv2h7dzr6jcrs0j0p376050pshgzcm79nm6"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/be27e728327016b819535ef8cae10020e5a07c2e/recipes/dsvn"; + sha256 = "189navhhakmkhfc2afsls1jiaxg62wxvpmmn00jlnwlgjm97gdk3"; name = "recipe"; }; packageRequires = []; @@ -20357,6 +21540,36 @@ license = lib.licenses.free; }; }) {}; + dtk = callPackage ({ cl-lib ? null + , dash + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , s + , seq }: + melpaBuild { + pname = "dtk"; + ename = "dtk"; + version = "20181213.946"; + src = fetchFromGitHub { + owner = "dtk01"; + repo = "dtk"; + rev = "7c278b81ffdced72d160e302356ac29fe592dc10"; + sha256 = "13p53byz2fbzyam2p8v4i8c43ffsawacjdjgsris8nrqhgmi0vp6"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/39333468fb6e9493deb86511f0032610a412ec8a/recipes/dtk"; + sha256 = "005x3j5q8dhphhh4c48l6qx7qi3jz9k02m86ww1bzwfzji55p9sp"; + name = "recipe"; + }; + packageRequires = [ cl-lib dash emacs s seq ]; + meta = { + homepage = "https://melpa.org/#/dtk"; + license = lib.licenses.free; + }; + }) {}; dtrace-script-mode = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -20389,12 +21602,12 @@ melpaBuild { pname = "dtrt-indent"; ename = "dtrt-indent"; - version = "20180628.1438"; + version = "20190128.1301"; src = fetchFromGitHub { owner = "jscheid"; repo = "dtrt-indent"; - rev = "084dac7ab36a89d2a7d6cb8f443b1eccbfd189e2"; - sha256 = "1afb7la1nfymhi9pzf00r3hf8w6h7scv22vps8jbijg27kvssk9k"; + rev = "9ab9cb9d7f391fb09f61c9289c51c36374ddbcbb"; + sha256 = "0pgf0pvqd8k4yzhdn2df9lp0y8hmlm2ccrh07jivwlccs95pcz7z"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/61bcbcfa6c0f38a1d87f5b6913b8be6c50ef2994/recipes/dtrt-indent"; @@ -20496,12 +21709,12 @@ melpaBuild { pname = "dumb-jump"; ename = "dumb-jump"; - version = "20180615.2114"; + version = "20190327.1027"; src = fetchFromGitHub { owner = "jacktasia"; repo = "dumb-jump"; - rev = "cad3c4040be06703a9b40aa36ba38f1dc0927a66"; - sha256 = "175nwn616xqhwayn78acf6ivkxdh3z1vfb0ihslidq1s3xsg5ypk"; + rev = "6988b21a08b53fbfeaa6e0b0f182524257dec1e4"; + sha256 = "1a0zs58j1027pllssb3pai2654wbvdbf2g0y3dqbg35gfqanaizp"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/dumb-jump"; @@ -20539,6 +21752,31 @@ license = lib.licenses.free; }; }) {}; + dune = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "dune"; + ename = "dune"; + version = "20190327.120"; + src = fetchFromGitHub { + owner = "ocaml"; + repo = "dune"; + rev = "23f6db7f970293a992006025fcaea018e6485546"; + sha256 = "1nzq3rrkz10gmvppdhwvhgf8nh1x912xizwn6nlj7qffin588r16"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/06648d1d37767cbdc7588d7a8f709d679d478a3b/recipes/dune"; + sha256 = "1lqza4fjm9xxmdn8040bvsl467qzjy709dlmiq2241gfhxpmvvr7"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/dune"; + license = lib.licenses.free; + }; + }) {}; duplicate-thing = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -20546,12 +21784,12 @@ melpaBuild { pname = "duplicate-thing"; ename = "duplicate-thing"; - version = "20120515.948"; + version = "20181031.800"; src = fetchFromGitHub { owner = "ongaeshi"; repo = "duplicate-thing"; - rev = "f6ed0232fd0653621afe450d53775a32a9d0e328"; - sha256 = "1qaiwm8mf4656gc1pdj8ivgy4abkjsypr52pvf4nrdkkln9qzfli"; + rev = "9d8fd05e3e5caa35d3f2a0c0032c92f0c0908e21"; + sha256 = "05lflc0r84c95vb81wbn44kh11cbgm42zn3y4ss0ychbf13mzdb5"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/be28db1bfbd663af5b5c24bad50372fddd341982/recipes/duplicate-thing"; @@ -20599,15 +21837,15 @@ melpaBuild { pname = "dyalog-mode"; ename = "dyalog-mode"; - version = "20180605.1413"; + version = "20190305.137"; src = fetchhg { url = "https://bitbucket.com/harsman/dyalog-mode"; - rev = "b2322f244c76"; - sha256 = "0vgi6cw14fp8iihzmnk7jifdlbqhhcgnh26r30mnvsbycmbnvf0r"; + rev = "6f2a9d8f86be"; + sha256 = "1hgn86mgi0xaa3s85f5kn7crdhirghfq62ri3wn0ywkg6jc0bln6"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/dyalog-mode"; - sha256 = "1y17nd2xd8b3mhaybws8dr7yanzwqij9gzfywisy65ckflm9kfyq"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/e608f40d00a3b2a80a6997da00e7d04f76d8ef0d/recipes/dyalog-mode"; + sha256 = "0w61inyfvxiyihx5z9fk1ckawcd3cr6xiradbbwzmn25k99gkbgr"; name = "recipe"; }; packageRequires = [ cl-lib emacs ]; @@ -20623,12 +21861,12 @@ melpaBuild { pname = "dylan-mode"; ename = "dylan-mode"; - version = "20160405.1514"; + version = "20190108.1900"; src = fetchFromGitHub { owner = "dylan-lang"; repo = "dylan-mode"; - rev = "7e8ba16bf125f0066d3e1caeefaba94a6d32ac72"; - sha256 = "0fxdv594k6p4kv6nc598rw51sy4x10dvbyhzn3gni2linb3v1c5h"; + rev = "9a6ad5ff83f2dfc25ce3deee9d3ef71ed53964b5"; + sha256 = "1d6krgiabkrj3mryaz79vmiqy0vkr5s8ji34yjd14v73ikzwxwkp"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/94481ba3ebba6a99f11efab5a33e8bc6ea2d857a/recipes/dylan-mode"; @@ -20969,12 +22207,12 @@ melpaBuild { pname = "eacl"; ename = "eacl"; - version = "20180607.658"; + version = "20190206.1725"; src = fetchFromGitHub { owner = "redguardtoo"; repo = "eacl"; - rev = "ccf1401b1acff67fe445c95e8be7b09e8c3ae5d8"; - sha256 = "0v02asdmhj5la9nqck2230s04gf518cjs7wa4lykf8j46bc13vac"; + rev = "fe0091e62927e43e6ae2017e5170bc9c2272164b"; + sha256 = "00zlb0lp16crqgp87fnmadphqrx1wc3lndcam4f3apcnxp1dybbg"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8223bec7eed97f0bad300af9caa4c8207322d39a/recipes/eacl"; @@ -21046,12 +22284,12 @@ melpaBuild { pname = "easy-hugo"; ename = "easy-hugo"; - version = "20180719.20"; + version = "20181202.31"; src = fetchFromGitHub { owner = "masasam"; repo = "emacs-easy-hugo"; - rev = "8bf48b973905c4ab488633226b3dfb3317d8c745"; - sha256 = "0yjxg1mql7ha6wa5wdkngs6y3lqz5y5y0hbsmpvqdw61paqm2ggs"; + rev = "e7b6c75a7e46290d9d0cdac9ec56fbf35a6b9c98"; + sha256 = "1xhyky1593qxq7kfbv2ighx957w5pizkki0q77nrvjxlwbqghgz2"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/easy-hugo"; @@ -21072,12 +22310,12 @@ melpaBuild { pname = "easy-jekyll"; ename = "easy-jekyll"; - version = "20180513.1107"; + version = "20181202.145"; src = fetchFromGitHub { owner = "masasam"; repo = "emacs-easy-jekyll"; - rev = "84c19d0380617ce2e40a2b42ce9bedf65e52779d"; - sha256 = "1vbb60vb98nqbwrxl6p3gcvjpnjlscp0hp4k53rcgjd75w9vbnsj"; + rev = "5ee52c0bb01336a03a8f07e072841caf13f86c0a"; + sha256 = "1xibnw3jmmwrc1z7hnifjzhq4mn2834lk7f22x7rwh857iamlply"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c3f281145bad12c27bdbef32ccc07b6a5f13b577/recipes/easy-jekyll"; @@ -21099,12 +22337,12 @@ melpaBuild { pname = "easy-kill"; ename = "easy-kill"; - version = "20151030.2229"; + version = "20181114.1530"; src = fetchFromGitHub { owner = "leoliu"; repo = "easy-kill"; - rev = "af565684a71b24be1f602fda5b986d841fc33b3a"; - sha256 = "1l4wl9wyjgcvl44iziicz9kzhvdw8pz1hzgd41bbmwj7jrfb3fqv"; + rev = "2a6309d98aa6b71df6bbbcdf15cab3187c521a6b"; + sha256 = "1j8hl0f52fqb21775xn94sf9g12yqyg6z0ibgmxzmnl02ir4xr86"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7d0a74c2a7d8859e9311bc8d71f5e6cf5a8063b6/recipes/easy-kill"; @@ -21125,12 +22363,12 @@ melpaBuild { pname = "easy-kill-extras"; ename = "easy-kill-extras"; - version = "20161028.504"; + version = "20180920.634"; src = fetchFromGitHub { owner = "knu"; repo = "easy-kill-extras.el"; - rev = "e60a74d7121eff7c263098aea2901cc05a5f6acd"; - sha256 = "1rabkb2pkafnfx68df1zjwbj8bl7361n35lvzrvldc3v85bfam48"; + rev = "b8ce8350cc86e0229f195082557970cd51def960"; + sha256 = "1f8db92zzk8g8yyj0g334mdbgqmzrs8xamm1d24jai1289hm29xa"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7b55d93f78fefde47a2bd4ebbfd93c028fab1f40/recipes/easy-kill-extras"; @@ -21224,30 +22462,28 @@ license = lib.licenses.free; }; }) {}; - ebib = callPackage ({ dash - , emacs + ebib = callPackage ({ emacs , fetchFromGitHub , fetchurl , lib , melpaBuild - , parsebib - , seq }: + , parsebib }: melpaBuild { pname = "ebib"; ename = "ebib"; - version = "20180428.1401"; + version = "20190404.546"; src = fetchFromGitHub { owner = "joostkremers"; repo = "ebib"; - rev = "212dea4a52f04eaa1d13a895fffea04f5884f12b"; - sha256 = "150dggfk79pk11qlzfl2sk1xaibdy0sbh6n94r7i2w235p2yg8p5"; + rev = "6c1200a7e53ca192b3765f81006b586c557ab993"; + sha256 = "1nbgjhd7whcr96szzjddynvyvm70qdrc92q82m8nkz9z2v514kz1"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4e39cd8e8b4f61c04fa967def6a653bb22f45f5b/recipes/ebib"; sha256 = "1kdqf5nk9l6mr3698nqngrkw5dicgf7d24krir5wrcfbrsqrfmid"; name = "recipe"; }; - packageRequires = [ dash emacs parsebib seq ]; + packageRequires = [ emacs parsebib ]; meta = { homepage = "https://melpa.org/#/ebib"; license = lib.licenses.free; @@ -21291,12 +22527,12 @@ melpaBuild { pname = "eclim"; ename = "eclim"; - version = "20171113.1754"; + version = "20181108.334"; src = fetchFromGitHub { owner = "emacs-eclim"; repo = "emacs-eclim"; - rev = "4f27d04c30a026f24c0ff18c3a7d36e3fb5b57a5"; - sha256 = "1krrm123vzv6hw54kbkbh1xj6j090rdm4r2fcqp76b3hg8j8cpn1"; + rev = "23f5b294f833ce58516d7b9ae08a7792d70022a1"; + sha256 = "17q972354nkkynfjmwih4vp7s5dzdvr3nf7ni3ci095lzb0zzf4g"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1e9d3075587fbd9ca188535fd945a7dc451c6d7e/recipes/eclim"; @@ -21316,12 +22552,12 @@ melpaBuild { pname = "eclipse-theme"; ename = "eclipse-theme"; - version = "20160430.322"; + version = "20190122.218"; src = fetchFromGitHub { owner = "abo-abo"; repo = "eclipse-theme"; - rev = "dc54d9312d97210823b922038076e2b1b132eff2"; - sha256 = "03yyagd37l9kgdnkqrkvrcgp5njyl4an0af7cfmcdnpyjghczf4d"; + rev = "485cc1e7bd7eb6a42c6db803f4170ec4da18fc28"; + sha256 = "0bp9ci7024sdayar2dpmgax200ipxg5wajw3d2vdj3f5v9qcyxsj"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/81fcf3536ead18a91400f6936b3f789b4b594b9c/recipes/eclipse-theme"; @@ -21430,16 +22666,16 @@ melpaBuild { pname = "edbi-django"; ename = "edbi-django"; - version = "20180627.300"; + version = "20190212.617"; src = fetchFromGitHub { owner = "proofit404"; repo = "edbi-django"; - rev = "5fe3fe82c8691af91dfc24ad3dc591ca228ec875"; - sha256 = "1ssznmfgr0g497j1syikzj8yndnjby7225fskkd5x2z3krjgs4id"; + rev = "9b73db66c02a222fc62dc3bc590962f58c5b43d8"; + sha256 = "1yinm4qzwpdmr4a0isbkiw6ny23gllajcppwh7g0d62di3v242dm"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/345cafbf5358f8179bcbcb895cace75f289c02f1/recipes/edbi-django"; - sha256 = "1s59hab35hwnspyklxbhi0js0sgdn0rc7y33dqjk0psjcikqymg1"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/10dd853022ab93e345761b04d760b3763f4d2384/recipes/edbi-django"; + sha256 = "02vcbqgkvhlw9msf65777f85c8myxr95g2dz199nlfmz4vpqrkgq"; name = "recipe"; }; packageRequires = [ edbi emacs pythonic ]; @@ -21536,16 +22772,16 @@ melpaBuild { pname = "ede-php-autoload"; ename = "ede-php-autoload"; - version = "20170428.933"; + version = "20180901.555"; src = fetchFromGitHub { - owner = "stevenremot"; + owner = "emacs-php"; repo = "ede-php-autoload"; - rev = "65e502602dbc623257a820245d41f94cf2e1f07d"; - sha256 = "1569g3rnklxnnknrs9nmyjk9axrdhpr9pcz2ma925sb388jyrf5r"; + rev = "8a4eeeaa93b8d87b65a107c4ebcbeb14528d9449"; + sha256 = "109cys3d4pfaa2c6gb33p5b40cd6wmisx63w20cxpj86drx8iabf"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/8ee9f7fd9cbc3397cd9af34b08b75c3d9d8bc551/recipes/ede-php-autoload"; - sha256 = "0b7qbighncipgfaksvggpyldc5h0wxbjbiyaghglvycc4p1sfjd0"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/afc7ddfcf16e92889e54f30599b576a24823f60d/recipes/ede-php-autoload"; + sha256 = "1255a1drpb50650i0yijahbp97chpw89mi9fvdrk3vf64xlysamq"; name = "recipe"; }; packageRequires = []; @@ -21773,12 +23009,12 @@ melpaBuild { pname = "edit-server"; ename = "edit-server"; - version = "20180120.752"; + version = "20181016.425"; src = fetchFromGitHub { owner = "stsquad"; repo = "emacs_chrome"; - rev = "de3b6483362637beeb185192bc92f23e75a15b82"; - sha256 = "06w0v2a3f2mjbhj206fdmpnisqj612swxrzg2zznk8hrgsimbnhl"; + rev = "81eb5211f79cf5a2234b7a932f6006d27d506aa5"; + sha256 = "0s30a2rr89qcw798xswmg2nnxhjf2rfl1z474vb37db22qnlnzgz"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d98d69008b5ca8b92fa7a6045b9d1af86f269386/recipes/edit-server"; @@ -21818,6 +23054,7 @@ }; }) {}; editorconfig = callPackage ({ cl-lib ? null + , emacs , fetchFromGitHub , fetchurl , lib @@ -21825,19 +23062,19 @@ melpaBuild { pname = "editorconfig"; ename = "editorconfig"; - version = "20180708.228"; + version = "20190405.705"; src = fetchFromGitHub { owner = "editorconfig"; repo = "editorconfig-emacs"; - rev = "cc5a99005d6f3834cbc7acf78a517044c5dcdad6"; - sha256 = "05pkligzkvd7imn93mxcdsrmdsjarx5309hg0cyrxra76rngx2yv"; + rev = "df102f4eee98c541fd855cd7acc82aba206e3222"; + sha256 = "0wlna9d22qn6ly1in0w8pd9np7p65f2hglpimm7n8lr3485q2sdd"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/50d4f2ed288ef38153a7eab44c036e4f075b51d0/recipes/editorconfig"; sha256 = "0zv96m07ml8i3k7zm7sdci4hn611n3ypna7zppfkwbdyr7d5k2gc"; name = "recipe"; }; - packageRequires = [ cl-lib ]; + packageRequires = [ cl-lib emacs ]; meta = { homepage = "https://melpa.org/#/editorconfig"; license = lib.licenses.free; @@ -21877,12 +23114,12 @@ melpaBuild { pname = "editorconfig-custom-majormode"; ename = "editorconfig-custom-majormode"; - version = "20180507.1942"; + version = "20180815.1944"; src = fetchFromGitHub { owner = "10sr"; repo = "editorconfig-custom-majormode-el"; - rev = "ae613f0a56364afbbab19d4377c108406d5cfc7c"; - sha256 = "0sm3xdysnqzc6nc2n7rcnr478l7qdy7bv8rhq500240aprzv63y4"; + rev = "13ad1c83f847bedd4b3a19f9df7fd925853b19de"; + sha256 = "1zagd6cliwm8xyhzfvpi7n7m58k78wv4ihc2snq00v7321jjh9bp"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/fcd47bf4630442ad1a941ad432cef64c7746aa71/recipes/editorconfig-custom-majormode"; @@ -21922,6 +23159,32 @@ license = lib.licenses.free; }; }) {}; + editorconfig-generate = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "editorconfig-generate"; + ename = "editorconfig-generate"; + version = "20181115.2235"; + src = fetchFromGitHub { + owner = "10sr"; + repo = "editorconfig-generate-el"; + rev = "2921b53700dedf16b57d684439add187663954cd"; + sha256 = "0dqmq0hq603r2qn4wjdzlmsv4csci8d36i259jmwf71v8m1j4rc7"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/dc1cfe5ce6bc3d247c5b7730ac6cb2d6c6198a0c/recipes/editorconfig-generate"; + sha256 = "1xfm3vnr5ngi1vihs7cack8a6zyipvdq260v43cr0y8dqg3sn89i"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/editorconfig-generate"; + license = lib.licenses.free; + }; + }) {}; edn = callPackage ({ cl-lib ? null , emacs , fetchFromGitHub @@ -22000,14 +23263,14 @@ ename = "efire"; version = "20151009.1331"; src = fetchFromGitHub { - owner = "capitaomorte"; + owner = "joaotavora"; repo = "efire"; rev = "d38dd6dd7974b7cb11bff6fd84846fd01163211a"; sha256 = "15sc4648lkxsgv2frcfb878z86a7vynixsp1x5i5rg66bd9gzhfy"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/39dc592e92f0377a354d1b17f42172409a836484/recipes/efire"; - sha256 = "1c8vdc58i0k7vvanwhckfc31226d3rb5xq77lh9ydgnd4i97gq2w"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/4150455d424326667390f72f6edd22b274d9fa01/recipes/efire"; + sha256 = "0dhgms6s0c889xx75khn1mqfn8i32z4rjlx2w7i0chm2abxbgd3m"; name = "recipe"; }; packageRequires = [ circe ]; @@ -22050,12 +23313,12 @@ melpaBuild { pname = "egg"; ename = "egg"; - version = "20180713.218"; + version = "20181125.2100"; src = fetchFromGitHub { owner = "byplayer"; repo = "egg"; - rev = "5bf9879eec067e25a60f2363137c9e69f7b5cc68"; - sha256 = "0k7j76hqgnlci944vz1gbyifqd4fh6agmpmf5a883vimw5fpm2q9"; + rev = "00e768a78ac3d25f457eed667d02cac568480bf9"; + sha256 = "1ak23v9gqj6x104mzgihn0hi7w0kr76q1sl929wmbb9h8s3a54q8"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a1c97870c2641d73685f07a12f010530cc186544/recipes/egg"; @@ -22075,16 +23338,16 @@ melpaBuild { pname = "egison-mode"; ename = "egison-mode"; - version = "20160603.103"; + version = "20181109.824"; src = fetchFromGitHub { - owner = "egisatoshi"; - repo = "egison3"; - rev = "0f8289294b1a8de029f89643438e8384e7ee789f"; - sha256 = "1rkxz4gj11z1jpd3g71m6sbzb5j4ggm6sixk3r18wb8wv91v4fgs"; + owner = "egison"; + repo = "egison"; + rev = "ddc6d910be421d891efc8c7c033b99b10364c4c3"; + sha256 = "1rw5xjs4hnikj2swskczxn3x31811znsgzj72b975zbmd5vp98kd"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/f543dd136e2af6c36b12073ea75b3c4d4bc79769/recipes/egison-mode"; - sha256 = "0x11fhv8kkx34h831k2q70y5qfz7wnfia4ka5mbmps7mpr68zcwi"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3416586d4d782cdd61a56159c5f80a0ca9b3ddf4/recipes/egison-mode"; + sha256 = "0bch4863l9wxrss63fj46gy3nx3hp635709xr4c2arw0j7n82lzd"; name = "recipe"; }; packageRequires = []; @@ -22096,25 +23359,26 @@ eglot = callPackage ({ emacs , fetchFromGitHub , fetchurl + , flymake ? null , jsonrpc , lib , melpaBuild }: melpaBuild { pname = "eglot"; ename = "eglot"; - version = "20180722.1107"; + version = "20190213.124"; src = fetchFromGitHub { owner = "joaotavora"; repo = "eglot"; - rev = "8d61ecaa8c38a02322c281ac7072e2884d63012f"; - sha256 = "0bcs97irg1qqsnjyby0ncm0kl64yrri3vgicfyakl978pixz5hr7"; + rev = "7d6e3cf5d7ae098aa6c8572343c8bc9b8453aace"; + sha256 = "1q616yp9zi9a76sjb9f901r4cck40p8f5rgxmdwsavagl5w8d8cz"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6c644530eca56f93d94fac2c9d7663c35c2b8c01/recipes/eglot"; sha256 = "17w39hcgv4p49g841qaicjdx7xac72yxvsc83jf1rrakg713pj7y"; name = "recipe"; }; - packageRequires = [ emacs jsonrpc ]; + packageRequires = [ emacs flymake jsonrpc ]; meta = { homepage = "https://melpa.org/#/eglot"; license = lib.licenses.free; @@ -22159,11 +23423,11 @@ melpaBuild { pname = "eide"; ename = "eide"; - version = "20180626.1259"; + version = "20190108.1316"; src = fetchgit { url = "https://framagit.org/eide/eide.git"; - rev = "6bd4c3b67a532527b3514c72bf2d7371172b8a93"; - sha256 = "1jrbvzf7mk8jpdm3i9vipq9wsgny3ni896s12n68d9chby5cj65n"; + rev = "3b6d48df2cc1731812b5bd72d11c205dee17b930"; + sha256 = "1jl0fyiqiqqd9wf2cdk8l6fbnnbq72np6d2n6kya0gk4afj5kr6g"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a42244392719c620b47bc43a7a8501dab4b6f74e/recipes/eide"; @@ -22208,21 +23472,22 @@ , fetchFromGitHub , fetchurl , lib + , markdown-mode , melpaBuild + , polymode , request - , request-deferred , s , skewer-mode , websocket }: melpaBuild { pname = "ein"; ename = "ein"; - version = "20180626.1257"; + version = "20190404.1625"; src = fetchFromGitHub { owner = "millejoh"; repo = "emacs-ipython-notebook"; - rev = "cfd9c641c0c517738f33b7ead6de34d755ba24b1"; - sha256 = "03csx3pbgbch2s5kkckczcxd5gqghapgvhz71jihxqxsal1r6mzn"; + rev = "5accc13b518b0db584b8a1a0b782dbc3171f4ec6"; + sha256 = "02m062f2nj3giccbfq7cl3i4qm19rbcyzan42q3w5hqm4y0zy8zc"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/215e163755fe391ce1f049622e7b9bf9a8aea95a/recipes/ein"; @@ -22234,8 +23499,9 @@ cl-generic dash deferred + markdown-mode + polymode request - request-deferred s skewer-mode websocket @@ -22278,12 +23544,12 @@ melpaBuild { pname = "eink-theme"; ename = "eink-theme"; - version = "20170717.807"; + version = "20190219.58"; src = fetchFromGitHub { owner = "maio"; repo = "eink-emacs"; - rev = "4c990bb3428f725735fa1f733ef4c5ad61f632b0"; - sha256 = "0jxs36qdsx58ni5185qyi1c7gchyla3dpv4v9drj1n072ls82ld4"; + rev = "326b07523dcb076d6209cdbc7fdbb73df296dbdb"; + sha256 = "1s5w45p0in2ljrbhc7nsc0ppff5wybzwrwv60z1a6dnd8d679qfj"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a1349c3f93ab60983f77c28f97048fa258b612a6/recipes/eink-theme"; @@ -22309,16 +23575,16 @@ melpaBuild { pname = "ejc-sql"; ename = "ejc-sql"; - version = "20180701.1105"; + version = "20190404.411"; src = fetchFromGitHub { owner = "kostafey"; repo = "ejc-sql"; - rev = "f957bb5e1e9e1aab0c7f1770f5e8144b9c26c93f"; - sha256 = "09556l03wvszx9dpndcp3rz72r0yfg1s79b84zmrbliwyq740xbz"; + rev = "8afdb7e8a28f916149b53345816e50667d4441b8"; + sha256 = "1imc324b862d92yl7n9bqr92k1d1d7pnls73xy4q8lfrllik0ja2"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/8f2cd74717269ef7f10362077a91546723a72104/recipes/ejc-sql"; - sha256 = "0v9mmwc2gm58nky81q7fibj93zi7zbxq1jzjw55dg6cb6qb87vnx"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/e01655679087504db1206b22435ba8eb7050aa23/recipes/ejc-sql"; + sha256 = "13i55l6hwsxbmdxmvh6aajayivgskw4iagmj9in1qkd9rnrykhn9"; name = "recipe"; }; packageRequires = [ auto-complete clomacs dash direx emacs spinner ]; @@ -22385,12 +23651,12 @@ melpaBuild { pname = "el-get"; ename = "el-get"; - version = "20180610.1821"; + version = "20181005.1925"; src = fetchFromGitHub { owner = "dimitri"; repo = "el-get"; - rev = "8e96907b8b2a95485b8e1e5a450510513ed9e524"; - sha256 = "0xzkgzhdr1dda95wx6i8ygb9wylxjm2j7n53mldz2gigswl6lsja"; + rev = "08005ef89b468aae2269021a82c7edca3dadb438"; + sha256 = "07pljkgg4na929hdw8kaddf3z9a7m0dspmgrdqf1b0mw1xg7cl58"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1c61197a2b616d6d3c6b652248cb166196846b44/recipes/el-get"; @@ -22495,12 +23761,12 @@ melpaBuild { pname = "el-patch"; ename = "el-patch"; - version = "20180720.821"; + version = "20190127.1455"; src = fetchFromGitHub { owner = "raxod502"; repo = "el-patch"; - rev = "aaa4c4c1afaa48da9da210010f5131affbff720a"; - sha256 = "04hmhnx854519k53b8r04zmd21hi9bgs9j5yphv7kizn0cpbrjka"; + rev = "879094151fa1b4d96435b92c53751b0b761ba46c"; + sha256 = "1jn1mp0zhiyqgx6c4ywkq098c9k1pfzq128f2aq7a5vin4558s7p"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2f4f57e0edbae35597aa4a7744d22d2f971d5de5/recipes/el-patch"; @@ -22701,12 +23967,12 @@ melpaBuild { pname = "el2org"; ename = "el2org"; - version = "20180311.855"; + version = "20190313.651"; src = fetchFromGitHub { owner = "tumashu"; repo = "el2org"; - rev = "81f1c97db8911f5bdf92c729630ab509de4ec73f"; - sha256 = "152y6a6qjch2w84axghzcqiswhx1cq5bq1r1gjfffh41wsddqb53"; + rev = "d9792a9a861d4d43b0d3aefb2ec9268a6fbc83bc"; + sha256 = "169fgx42n2s4gr6mq3zffxgdvkawvbyd6xja3djmp0yi8k85jazl"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/el2org"; @@ -22731,13 +23997,13 @@ version = "20180316.643"; src = fetchFromGitHub { owner = "NicolasPetton"; - repo = "Elbank"; + repo = "elbank"; rev = "6dbd21e31fdf7cf62491f6d24b8198d4f91a031b"; sha256 = "1krqvwh6a4cqbqawmydq16ardnn6ddf7wm5605794j145dd2268v"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/05d252ee84adae2adc88fd325540f76b6cdaf010/recipes/elbank"; - sha256 = "1ry84aiajyrnrspf7w4yjm0rmdam8ijrz0s7291yr8c70hslc997"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/elbank"; + sha256 = "1i1cdywcbdj9ykfczbagrqdpgf3c88f1kc0mdlj8mzyvjixx7mhk"; name = "recipe"; }; packageRequires = [ emacs seq ]; @@ -22785,12 +24051,12 @@ melpaBuild { pname = "elcord"; ename = "elcord"; - version = "20180411.1207"; + version = "20190321.1145"; src = fetchFromGitHub { owner = "Mstrodl"; repo = "elcord"; - rev = "0cef4ca13b00d79507292d5591be8ffb7df5a9ca"; - sha256 = "1571r8iwrf4dagjr2pv7dgs1i0f20nq6jdkxm2dlwvkblcnlx3fm"; + rev = "17d3e5b95e68d1b6c396ba0decd94a85226f6504"; + sha256 = "1rhz34bwmjvi98yl9fq4did2pj62v3zpdyr1ryb9yfaz6b59baga"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cf2c52366a8f60b68a33a40ea92cc96e7f0933d2/recipes/elcord"; @@ -22813,12 +24079,12 @@ melpaBuild { pname = "elcouch"; ename = "elcouch"; - version = "20180529.57"; + version = "20180809.236"; src = fetchFromGitHub { owner = "DamienCassou"; repo = "elcouch"; - rev = "608fe254a7ee69c43c69b905ef708189dc3e3192"; - sha256 = "0bn8xh3i962l8jzv33mmrd22fbig19bjw89hz9by5xa35q1nnvf5"; + rev = "1491b04d2aa4a15dd61ef8df1710fd6724f0f384"; + sha256 = "0a72nwy48sh97g75m3paj2h61j4a9jhar6n5jj6n0jk8jdrc0wwj"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b5d9a35dd5a272a592d248993ea7e5dda8fdf0ab/recipes/elcouch"; @@ -22831,6 +24097,58 @@ license = lib.licenses.free; }; }) {}; + eldoc-box = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "eldoc-box"; + ename = "eldoc-box"; + version = "20190305.1306"; + src = fetchFromGitHub { + owner = "casouri"; + repo = "eldoc-box"; + rev = "0d671026b923cef0b2e9f6e9339fa8b1de59543f"; + sha256 = "02pqfdx8jxy5sn4iqamiqmkdllfdz56s1x9hh9qc6psxpjrb38m3"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/aac2e64f9e0d06b95bdf0dece214263f75470ea8/recipes/eldoc-box"; + sha256 = "11720hi2gvjwc4x2yrxnrhh76wf3sj3yd0vaa3sc22xa5g1wi40r"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/eldoc-box"; + license = lib.licenses.free; + }; + }) {}; + eldoc-cmake = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "eldoc-cmake"; + ename = "eldoc-cmake"; + version = "20190323.548"; + src = fetchFromGitHub { + owner = "ikirill"; + repo = "eldoc-cmake"; + rev = "1347b4bd643e8011094c4036a397b0acc4d879d7"; + sha256 = "0m2shpwh55dl1ymmin638ldwkpi5n62iljszlfi5gjwyshd58db5"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/e19f92097e6003a893907aa46a2df755d2bf0b87/recipes/eldoc-cmake"; + sha256 = "1y47zhxgisvsk0kgvlwrlspmjb2a6wrxwkiahxp9fkdc58r9w7v0"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/eldoc-cmake"; + license = lib.licenses.free; + }; + }) {}; eldoc-eval = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -22838,12 +24156,12 @@ melpaBuild { pname = "eldoc-eval"; ename = "eldoc-eval"; - version = "20180607.457"; + version = "20190106.1200"; src = fetchFromGitHub { owner = "thierryvolpiatto"; repo = "eldoc-eval"; - rev = "f59a1ae7ecfa97ef659c7adb93e0673419acc485"; - sha256 = "1anpshps44zx4qrkddbxd24q63fm5y93zbwmsb1l2cwbykf5s5iz"; + rev = "4a1cf92dc5c4eca7519eb32f61b95e9e9f5755e4"; + sha256 = "1x90yjzlilzfdkslxi5ijdqi0pcldlz2p3m6nk17b8b3mayi7zj7"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/63ba2004d3db4c5a71676dca82ad880328cf6073/recipes/eldoc-eval"; @@ -22866,12 +24184,12 @@ melpaBuild { pname = "eldoc-overlay"; ename = "eldoc-overlay"; - version = "20171219.140"; + version = "20190222.2143"; src = fetchFromGitHub { owner = "stardiviner"; repo = "eldoc-overlay"; - rev = "b13a5641f694cda92740ccdb1ee2c475507eb206"; - sha256 = "0zn68h4mcdd3j8jfrpaa5d8f0irdwly5wj6v6pm54xc8x14wc141"; + rev = "cfec077d9a699c88265af2e9480d5e76a3b3f833"; + sha256 = "0c16i6y7675rzif5gj9s6rz3nc59339yp4fn27a56sly42qfnh9f"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f865b248002d6d3ba9653c2221072a4aa54cd740/recipes/eldoc-overlay"; @@ -22914,24 +24232,23 @@ , fetchFromGitHub , fetchurl , lib - , melpaBuild - , names }: + , melpaBuild }: melpaBuild { pname = "electric-operator"; ename = "electric-operator"; - version = "20180627.1012"; + version = "20190225.2327"; src = fetchFromGitHub { owner = "davidshepherd7"; repo = "electric-operator"; - rev = "35db75d5c2dbed1eeab4e4126ccb84714136a307"; - sha256 = "18f043wpp8y18c4q86b0r4njl5biy2jgnnvja5vvprf6karbx5z5"; + rev = "b6aec9502fffbb7b9459665122ea3908fa70a498"; + sha256 = "0i9rifwkir9hxxw5pqpc8b0libgjf9hz9kdbywqh2pkqjvr2ypyl"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/906cdf8647524bb76f644373cf8b65397d9053a5/recipes/electric-operator"; sha256 = "043bkpvvk42lmkll5jnz4q8i0m44y4wdxvkz6hiqhqcp1rv03nw2"; name = "recipe"; }; - packageRequires = [ dash emacs names ]; + packageRequires = [ dash emacs ]; meta = { homepage = "https://melpa.org/#/electric-operator"; license = lib.licenses.free; @@ -23021,12 +24338,12 @@ melpaBuild { pname = "elfeed"; ename = "elfeed"; - version = "20180713.529"; + version = "20190407.1454"; src = fetchFromGitHub { owner = "skeeto"; repo = "elfeed"; - rev = "a6fc231e47f1071cd4d1363926868761f7f0bcd8"; - sha256 = "0vlyrvzwj9rxhvnl6lawck8n2slrvhb96bxaf5pv37jqidrcsvyh"; + rev = "2f19e61a41fb732704366ca9d62aa9f0f090408a"; + sha256 = "13mmgxi71afl7kvx8gs75smacad69ywivcp7gwjid7bpn6rd2myy"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/407ae027fcec444622c2a822074b95996df9e6af/recipes/elfeed"; @@ -23052,12 +24369,12 @@ melpaBuild { pname = "elfeed-goodies"; ename = "elfeed-goodies"; - version = "20171126.2251"; + version = "20190128.831"; src = fetchFromGitHub { owner = "algernon"; repo = "elfeed-goodies"; - rev = "fc0c3e72f9fcd7bbf5237f6f2323bc666e8240b4"; - sha256 = "16qkh3cp764hayj4n003sm1q673bq7b3rzf1mii5f3xp6n8i84b7"; + rev = "95b4ea632fbd5960927952ec8f3394eb88da4752"; + sha256 = "0mfigkp77acqlnkj07vjzbcamwxp37zqxramp1qdf95psnz177q7"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e6ebb8d23961fd9bfe101f7917caa3b405493f31/recipes/elfeed-goodies"; @@ -23089,12 +24406,12 @@ melpaBuild { pname = "elfeed-org"; ename = "elfeed-org"; - version = "20180129.507"; + version = "20181015.400"; src = fetchFromGitHub { owner = "remyhonig"; repo = "elfeed-org"; - rev = "b9d09a554127244d4807a3d2d90e062df63b2fd5"; - sha256 = "0szij299pfxbgqfps8njnxa2w862zzn40crsbc1ppww267dbp60j"; + rev = "607b8bf4923a995260a072559b77bee188614a06"; + sha256 = "1m4v5z2ciqlmnr7gfzx6cbi81ck80fvy88fd0lpnhlqj2h9k5pys"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/elfeed-org"; @@ -23117,12 +24434,12 @@ melpaBuild { pname = "elfeed-protocol"; ename = "elfeed-protocol"; - version = "20180409.813"; + version = "20190312.509"; src = fetchFromGitHub { owner = "fasheng"; repo = "elfeed-protocol"; - rev = "611a1f57373e3692abf5122652ea7f6f96d3f6ec"; - sha256 = "0z9xij39p6m2855ksk40qaf830d04smhl3ag9gjb4fhzvw671k76"; + rev = "c5faca15ccfe7e03dc4ee1372a07671c20015737"; + sha256 = "1cdg111dgpphlpv2csv9nr5p2zjk3qss7bf0y8485nnzcin4ip9f"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3f1eef8add7cd2cfefe6fad6d8e69d65696e9677/recipes/elfeed-protocol"; @@ -23145,12 +24462,12 @@ melpaBuild { pname = "elfeed-web"; ename = "elfeed-web"; - version = "20180513.524"; + version = "20180829.1016"; src = fetchFromGitHub { owner = "skeeto"; repo = "elfeed"; - rev = "7e0abfee1470ae6323b559a7a9f843dd0076d622"; - sha256 = "01x4ww63lvn04c7f3ab5vx2s20xqisvv8213qwswz7vr9nxja5yi"; + rev = "3d1c6ecbe585f9fe6ca5a97a3fc352d68f303f9e"; + sha256 = "1bzpl6lc7kq9bph4bfz1fn19207blrnhjr2g7yinhn0nnnjmxi8i"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/62459d16ee44d5fcf170c0ebc981ca2c7d4672f2/recipes/elfeed-web"; @@ -23171,12 +24488,12 @@ melpaBuild { pname = "elgrep"; ename = "elgrep"; - version = "20180302.527"; + version = "20181126.59"; src = fetchFromGitHub { owner = "TobiasZawada"; repo = "elgrep"; - rev = "01aece62e7910c50cd199ebbe70511776043f499"; - sha256 = "0hlf3i2w1jmjj66ynxf7gvvq86yy3px24ww13hz849ai0lx5nazk"; + rev = "73679c28737f8d6d34444df46bed5293d4845f82"; + sha256 = "091ghc7grd6znsfxnwg30w9i32818j6arxgnz9fkkwizngw5v9hv"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0d9ab623b2d634936a79ff6f4b98b31825d44b6d/recipes/elgrep"; @@ -23226,12 +24543,12 @@ melpaBuild { pname = "elisp-def"; ename = "elisp-def"; - version = "20180410.224"; + version = "20180806.23"; src = fetchFromGitHub { owner = "Wilfred"; repo = "elisp-def"; - rev = "ff0730b8110f776862b29bf0b66e396fab2aaafb"; - sha256 = "1zdbb1mgmb8hkzsmp6l4mv61831bw8ybfsfcwalnvrw5fvfwpaik"; + rev = "368b04da68783601b52e3169312183381871cf9e"; + sha256 = "0l1kj7xd4332xk821z24c14lhkpcmca5gmivpb8shlk10cvjvxjw"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1f027b844efdc5946d2ad80d7052a8f3b96aac3d/recipes/elisp-def"; @@ -23244,6 +24561,32 @@ license = lib.licenses.free; }; }) {}; + elisp-demos = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "elisp-demos"; + ename = "elisp-demos"; + version = "20190314.929"; + src = fetchFromGitHub { + owner = "xuchunyang"; + repo = "elisp-demos"; + rev = "8c3ee9e83f92876606432251569fd4ce62e7e764"; + sha256 = "1z5x0rrn8486k1vm9v0g2wvjv8q7yr2n4jrb94ayp31z547yn0q9"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/e1bd1c7a4576d4874a8c5fc8ab2dbc65f0e5bc8c/recipes/elisp-demos"; + sha256 = "1571l826x8ixlqd3nkqgizkzrq37af13ihrm1rvgaf5gl0va9ik8"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/elisp-demos"; + license = lib.licenses.free; + }; + }) {}; elisp-depend = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -23251,12 +24594,12 @@ melpaBuild { pname = "elisp-depend"; ename = "elisp-depend"; - version = "20161230.750"; + version = "20190325.414"; src = fetchFromGitHub { owner = "emacsorphanage"; repo = "elisp-depend"; - rev = "005fdef289fff4bd636a1deef8de6b2737e5d073"; - sha256 = "1j39b6a6qhmxpknnxx8yn3sz39ldyvf4lmvi94c4cw7pq7dmmpma"; + rev = "6679da9a6be5a845bb4804224c8394a9bc62168f"; + sha256 = "09xbrk1li76fwa85kvd5xpr0zswrkh51p7a62sb8g422wpaqxiwx"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7ea159f0cc8c6e4b8483401a6e6687ab4ed73b7f/recipes/elisp-depend"; @@ -23355,16 +24698,16 @@ melpaBuild { pname = "elisp-refs"; ename = "elisp-refs"; - version = "20180715.1602"; + version = "20190323.631"; src = fetchFromGitHub { owner = "Wilfred"; - repo = "refs.el"; - rev = "c3fefb803bd0a1b6de654dbd380a8487804789a5"; - sha256 = "1va1lgc6dhqif11wxsd3b5kzv01q7ys800sly2v605153ajafqw4"; + repo = "elisp-refs"; + rev = "540daaf50a88ca0e7d7c8d5f09ca383362e67baf"; + sha256 = "1qxnli3nsh5di1rxwrylvv4k818w18rq6dvlmsrkkp08m7byi4fz"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/60891099e241ebd32d39bdcfe4953529a5a3263e/recipes/elisp-refs"; - sha256 = "16h7dccmzvmap3knnwhjq79wm82xm3whria70vq5msl2y252f6cx"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3416586d4d782cdd61a56159c5f80a0ca9b3ddf4/recipes/elisp-refs"; + sha256 = "1pj3dm2z6m24179ibl7zhr8lhan2v2rjnm3abfciwp228piz1sfz"; name = "recipe"; }; packageRequires = [ dash loop s ]; @@ -23433,16 +24776,16 @@ melpaBuild { pname = "elixir-mode"; ename = "elixir-mode"; - version = "20180711.545"; + version = "20190319.1144"; src = fetchFromGitHub { - owner = "elixir-lang"; + owner = "elixir-editors"; repo = "emacs-elixir"; - rev = "90323cd7669eb472ee1f97b9d070056ebe225d15"; - sha256 = "06kq92r9nmw95l6isc87w0yb9jmd11bm09j3hwww4sn2bv5z2686"; + rev = "b86aab218d67d041682e50b5c939308638bb0200"; + sha256 = "0226ing29qqvnv9yr3bkyajimqw33ihfzcqj18nq83lfhwggbp19"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/6374ced0de38d83bf99147f702f30706615480ed/recipes/elixir-mode"; - sha256 = "1dba3jfg210i2rw8qy866396xn2xjgmbcyl006d6fibpr3j4lxaf"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3416586d4d782cdd61a56159c5f80a0ca9b3ddf4/recipes/elixir-mode"; + sha256 = "0d25p6sal1qg1xsq5yk343afnrxa0lzpx5gsh72khnx2i8pi40vz"; name = "recipe"; }; packageRequires = [ emacs pkg-info ]; @@ -23485,29 +24828,56 @@ , let-alist , lib , melpaBuild + , reformatter , s , seq }: melpaBuild { pname = "elm-mode"; ename = "elm-mode"; - version = "20180114.9"; + version = "20190222.1325"; src = fetchFromGitHub { owner = "jcollard"; repo = "elm-mode"; - rev = "09c6e62e14a2c9afaad03a867c7a268b6bc68ab0"; - sha256 = "0vc0m5rg9py01w07pifg3fp2z9cna6y21k2xmfns7p6i5c5fjj2g"; + rev = "b59b66a5369816c3a6d47b3702b9007431b7b4cf"; + sha256 = "13y4xhf4czir4fdl36lk9zhn6292x0lbxhdywpq55fy9ivz4pk6q"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5d1a4d786b137f61ed3a1dd4ec236d0db120e571/recipes/elm-mode"; sha256 = "1gw9szkyr1spcx7qijddhxlm36h0hmfd53b4yzp1336yx44mlnd1"; name = "recipe"; }; - packageRequires = [ dash emacs f let-alist s seq ]; + packageRequires = [ dash emacs f let-alist reformatter s seq ]; meta = { homepage = "https://melpa.org/#/elm-mode"; license = lib.licenses.free; }; }) {}; + elm-test-runner = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "elm-test-runner"; + ename = "elm-test-runner"; + version = "20190105.1123"; + src = fetchFromGitHub { + owner = "juanedi"; + repo = "elm-test-runner"; + rev = "a31d567a64d86d36e3675347abd696824a731e0c"; + sha256 = "15kgz44ylni4anz461hihrhvg24jvd7jzykqdjacsznyphfv94m9"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/064db8f60438927255458a7fbd8ae871f8264d67/recipes/elm-test-runner"; + sha256 = "1axzp93a0xmbprskql4bdfnxnmcpfnq6xf7c4x7cgn5pbd1p6inz"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/elm-test-runner"; + license = lib.licenses.free; + }; + }) {}; elm-yasnippets = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -23569,12 +24939,12 @@ melpaBuild { pname = "elmine"; ename = "elmine"; - version = "20170511.20"; + version = "20190212.940"; src = fetchFromGitHub { owner = "leoc"; repo = "elmine"; - rev = "432d2f2f7cb5b533f25b993d1001abcadcebe8ed"; - sha256 = "02lsxj9zkcaiqlzy986n1f65cfyd8pkrdljgplsbd9p0w8ys0s94"; + rev = "2f020e41940b182deeca39786a3092a2d68b5eb7"; + sha256 = "0x2av6zjd4kkyzxm2hcwjx9x8j2fzqg85pka57hqpk2fhfhsmy3s"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/elmine"; @@ -23733,12 +25103,12 @@ melpaBuild { pname = "elpa-clone"; ename = "elpa-clone"; - version = "20170502.514"; + version = "20190109.1540"; src = fetchFromGitHub { owner = "dochang"; repo = "elpa-clone"; - rev = "92f4c9d3570ad002575a90d0cc4a522c203a1110"; - sha256 = "0m5w5wgyslvakcqpr3d198sy3561w2h002gflw0jp47v17hba1r7"; + rev = "5dddbab4c27ec6aca541a1f8e9792617f10fc325"; + sha256 = "17lbdgwg97x8q8dbghylr2j0nwb72mpfl679qb0pl9184ih27qfc"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/11861edd9c7f9deebd44fd1f8ef648e7a04caf2b/recipes/elpa-clone"; @@ -23759,12 +25129,12 @@ melpaBuild { pname = "elpa-mirror"; ename = "elpa-mirror"; - version = "20180228.1636"; + version = "20181012.1956"; src = fetchFromGitHub { owner = "redguardtoo"; repo = "elpa-mirror"; - rev = "6ca78e3fb69ef582da1a01f1d193e07ae8223142"; - sha256 = "0s0c5qqg1cl63kig7kc4fx9rz4kgchxc3w3ywgh5csmgwlkpg0id"; + rev = "7b881f881a0c8a8de14161cbd3869c2a7591706c"; + sha256 = "1hrj6jkmk5b0q40nnpadn08b4cnals48rvlqrmfshjc7gz06kjcj"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d64ce7042c45f29fb394be25ce415912182bac8b/recipes/elpa-mirror"; @@ -23791,12 +25161,12 @@ melpaBuild { pname = "elpy"; ename = "elpy"; - version = "20180720.155"; + version = "20190406.755"; src = fetchFromGitHub { owner = "jorgenschaefer"; repo = "elpy"; - rev = "db0ee080424ef39b4cd2782a3dbd0afccaaafd04"; - sha256 = "0gzanxwv1g2hx80qm0m8iy1apsg51hhnh9rq1hicrwyvp1wzc24r"; + rev = "2d4a968e8fe04e6ad099c526349633105a38f608"; + sha256 = "13nbpd79vhfp7k9da59999l49hh0k1m8n9q9mdfrk4irrglzmm89"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1d8fcd8745bb15402c9f3b6f4573ea151415237a/recipes/elpy"; @@ -23854,12 +25224,12 @@ melpaBuild { pname = "elquery"; ename = "elquery"; - version = "20180513.1912"; + version = "20180917.1517"; src = fetchFromGitHub { owner = "AdamNiederer"; repo = "elquery"; - rev = "7b2e40dcae09de9074fae1a7893b82b41987106b"; - sha256 = "1sfwsccpaipa5j10114jya8327nbllywgvzhxsqml0fwpg1ifyyq"; + rev = "eac429d8550fbf1582c57d5e16fed9f320d6eb30"; + sha256 = "1jkbrv5r5vzqjhadb4dcgks47gaj7aavzdkzc5gjn5zv5fmm1in2"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/121f7d2091b83143402b44542db12e8f78275103/recipes/elquery"; @@ -23872,6 +25242,36 @@ license = lib.licenses.free; }; }) {}; + elsa = callPackage ({ cl-lib ? null + , dash + , emacs + , f + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , trinary }: + melpaBuild { + pname = "elsa"; + ename = "elsa"; + version = "20190331.858"; + src = fetchFromGitHub { + owner = "emacs-elsa"; + repo = "Elsa"; + rev = "118a943c2c447fd0f05cd2cc7ebb5dbcc222be00"; + sha256 = "0c2rbphkzj6cjf4fgy13fim2b8r3zdic3q6pgrymlcm9am0gdkdn"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/f126c49fe01a1c21aca0f45643d44ecf4c3ad95b/recipes/elsa"; + sha256 = "0g8l61fg9krqakp6fjvm6jr1lss3mll707rknhm5d2grr6ik3lvl"; + name = "recipe"; + }; + packageRequires = [ cl-lib dash emacs f trinary ]; + meta = { + homepage = "https://melpa.org/#/elsa"; + license = lib.licenses.free; + }; + }) {}; elscreen = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -23880,12 +25280,12 @@ melpaBuild { pname = "elscreen"; ename = "elscreen"; - version = "20180320.1902"; + version = "20181008.2151"; src = fetchFromGitHub { owner = "knu"; repo = "elscreen"; - rev = "02164afab2c5fbff6e4aa7c59e0daedc6c504772"; - sha256 = "1jzp7w2c9xl8x8kdxcchgp8s3ygvj70pi2vwwg1qilkya7yv61p0"; + rev = "cc58337faf5ba1eae7e87f75f6ff3758675688f2"; + sha256 = "15kffci7qlhjwz1rlr0zg0z9rq0vlsxy295dvg96wiiz4fvs4jk2"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e6140694c1dea0a573586d23d1f63d46c9b22936/recipes/elscreen"; @@ -23908,12 +25308,12 @@ melpaBuild { pname = "elscreen-buffer-group"; ename = "elscreen-buffer-group"; - version = "20170808.1825"; + version = "20181026.2228"; src = fetchFromGitHub { owner = "jeffgran"; repo = "elscreen-buffer-group"; - rev = "a3cd4d7eae3cca87bede4b39a46d3c0641f8cd06"; - sha256 = "0flja2j5xqhxc0qrclnxcpyzvn7gyjynfpa3mp1hb250c313igy5"; + rev = "cd671c4a86ff6e481d24d060b4069e518940f9c9"; + sha256 = "1nff1frlni7lbxrk26idzxlm0npzrjvfmzsv3y9nwy9v8djsiwy3"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9c6fedb7b6ef58089da4b35ad115f699b4b24ff2/recipes/elscreen-buffer-group"; @@ -24034,6 +25434,34 @@ license = lib.licenses.free; }; }) {}; + elscreen-tab = callPackage ({ dash + , elscreen + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "elscreen-tab"; + ename = "elscreen-tab"; + version = "20190203.819"; + src = fetchFromGitHub { + owner = "aki-s"; + repo = "elscreen-tab"; + rev = "29d7a65c3e134dd476049c9aebc8d029238e71f7"; + sha256 = "0303i61m1qg65d3i3hsy7pzdhw0icpx3im99qkfmy6lxi4h9nd0p"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/06a8348c6911936e16a98cf216578ea148e20e5d/recipes/elscreen-tab"; + sha256 = "18krbs462cwi3pf72kn1zf1jf4gv9n3ffdg4v5bgb19i69sq7spi"; + name = "recipe"; + }; + packageRequires = [ dash elscreen emacs ]; + meta = { + homepage = "https://melpa.org/#/elscreen-tab"; + license = lib.licenses.free; + }; + }) {}; elvish-mode = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -24042,12 +25470,12 @@ melpaBuild { pname = "elvish-mode"; ename = "elvish-mode"; - version = "20170913.1939"; + version = "20180809.912"; src = fetchFromGitHub { owner = "ALSchwalm"; repo = "elvish-mode"; - rev = "9cf31b453ac79b011b84e83ca11c964c4e647649"; - sha256 = "0ryg9c8pjw98a9l4hyjqwan7kcv492vzy0xxcrcfm69zn8vnw9k0"; + rev = "c3a7e31564256b9755b1ab9fb40d32ad78cd1ad2"; + sha256 = "0dxa8g49fq4h1ab3sawnbgy1fxaxxsdac3l6im34qfw4km8brp9y"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0fc724072702a565af471f9ae523a1e6e48e3f04/recipes/elvish-mode"; @@ -24094,12 +25522,12 @@ melpaBuild { pname = "elx"; ename = "elx"; - version = "20180614.1957"; + version = "20181111.207"; src = fetchFromGitHub { owner = "emacscollective"; repo = "elx"; - rev = "10a21c35915e249d5487aa3ced70fcfb749a9d0c"; - sha256 = "1jl2lp4gas89vx1xjx5gzh56fhx16mvfqwqs84cpxdbwb2qzch21"; + rev = "c554db7e7f2c0c8a503def7739b8205193ba821f"; + sha256 = "07i739v2w5dbhyfhvfw4phcrdk5sf7ncsd47y8hkf5m4zgw4kw4n"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/57a2fb9524df3fdfdc54c403112e12bd70888b23/recipes/elx"; @@ -24221,12 +25649,12 @@ melpaBuild { pname = "emacsql"; ename = "emacsql"; - version = "20180712.1052"; + version = "20190310.622"; src = fetchFromGitHub { owner = "skeeto"; repo = "emacsql"; - rev = "6f1e375a2ebb558138b73d2a63f2077da1028f92"; - sha256 = "046c9jr4azfz5cfpdlp160da3z9lcff12ldlvnzraxx8bzfbxqi5"; + rev = "5ebd12b6ffaa9fbadefe8518eab07a028bbaf7c1"; + sha256 = "19anva1mcm89hylhdjjjsc3gc32kv2wqp5qs6h7rca059kkqj277"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9c3b6175b5c64f03b0b9dfdc10f393081d681309/recipes/emacsql"; @@ -24302,12 +25730,12 @@ melpaBuild { pname = "emacsql-sqlite"; ename = "emacsql-sqlite"; - version = "20180128.1252"; + version = "20190108.825"; src = fetchFromGitHub { owner = "skeeto"; repo = "emacsql"; - rev = "62d39157370219a1680265fa593f90ccd51457da"; - sha256 = "0ghl3g8n8wlw8rnmgbivlrm99wcwn93bv8flyalzs0z9j7p7fdq9"; + rev = "60b99760c59afa58dc0241e0468e6fc40b8f199b"; + sha256 = "0l376j85q7fnlz35db22vrz618g2d94j0qa21kl3cna81n8wpr5z"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3cfa28c7314fa57fa9a3aaaadf9ef83f8ae541a9/recipes/emacsql-sqlite"; @@ -24431,12 +25859,12 @@ melpaBuild { pname = "ember-mode"; ename = "ember-mode"; - version = "20171208.559"; + version = "20190403.952"; src = fetchFromGitHub { owner = "madnificent"; repo = "ember-mode"; - rev = "755256782478cb724edd8f111225d7c8d342f90c"; - sha256 = "02x12b26l9qyq9cmg56ys222qxbc8zldw40scq3mfhfqqk4b43g7"; + rev = "3510afc5023d760a66aef260ba601c15a31dc878"; + sha256 = "06y5nd2fs0xskjxhd1dn4g9y03i7xamv7jiwq8cm0c2mli5pjpr1"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9ac1eef4ad87b1b6b6d8e63d340ba03dc013425b/recipes/ember-mode"; @@ -24502,6 +25930,35 @@ license = lib.licenses.free; }; }) {}; + emidje = callPackage ({ cider + , emacs + , fetchFromGitHub + , fetchurl + , lib + , magit-popup + , melpaBuild + , seq }: + melpaBuild { + pname = "emidje"; + ename = "emidje"; + version = "20190209.926"; + src = fetchFromGitHub { + owner = "nubank"; + repo = "emidje"; + rev = "7e92f053964d925c97dc8cca8d4d70a3030021db"; + sha256 = "0xg2bw9vzwvkx6xh4k2n6qhyhqg5iifl6aa0s7svvdnw35x00hv2"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/5d64b3b42b4b9acd3e9d84921df287f3217db83e/recipes/emidje"; + sha256 = "1p2aa4wl2465gm7ljgr5lbvxfgx0g1w1170zdv3596hi07mccabs"; + name = "recipe"; + }; + packageRequires = [ cider emacs magit-popup seq ]; + meta = { + homepage = "https://melpa.org/#/emidje"; + license = lib.licenses.free; + }; + }) {}; emlib = callPackage ({ cl-lib ? null , dash , fetchFromGitHub @@ -24562,11 +26019,11 @@ melpaBuild { pname = "emms"; ename = "emms"; - version = "20180708.1823"; + version = "20190221.847"; src = fetchgit { url = "https://git.savannah.gnu.org/git/emms.git"; - rev = "9b702f38e3486d67cb67194e98ea72dda25be1af"; - sha256 = "13l0didxiagcv8rr9ifdjk92qpcghyqkqshpcr76ix4dm3mbaymk"; + rev = "6013464eb7295fcd749b3146f758fc9295fbe11a"; + sha256 = "0g7a31yn9p0iqr2im0l9d8fch58ffk5m7g3kfnn377pbyfh4hr11"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/caaa21f235c4864f6008fb454d0a970a2fd22a86/recipes/emms"; @@ -24685,32 +26142,6 @@ license = lib.licenses.free; }; }) {}; - emms-player-mpv = callPackage ({ emms - , fetchFromGitHub - , fetchurl - , lib - , melpaBuild }: - melpaBuild { - pname = "emms-player-mpv"; - ename = "emms-player-mpv"; - version = "20180503.1427"; - src = fetchFromGitHub { - owner = "dochang"; - repo = "emms-player-mpv"; - rev = "9c9ffc6f00a737a6db6377681a88e5292ebcf86b"; - sha256 = "17kvkx63q30p5r2lsv6pqdm2zi8my3yn3js7j3c2qlygd9sf80pz"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/9679cb8d4b3b9dce1e0bff16647ea3f3e02c4189/recipes/emms-player-mpv"; - sha256 = "175rmqx3bgys4chw8ylyf9rk07sg0llwbs9ivrv2d3ayhcz1lg9y"; - name = "recipe"; - }; - packageRequires = [ emms ]; - meta = { - homepage = "https://melpa.org/#/emms-player-mpv"; - license = lib.licenses.free; - }; - }) {}; emms-player-mpv-jp-radios = callPackage ({ cl-lib ? null , emacs , emms @@ -24934,12 +26365,12 @@ melpaBuild { pname = "emojify"; ename = "emojify"; - version = "20180611.838"; + version = "20190401.2053"; src = fetchFromGitHub { owner = "iqbalansari"; repo = "emacs-emojify"; - rev = "38ae28d95b58e9fb86a3495a2dda3e5de254c4fc"; - sha256 = "1dk4kx5hvhcrmbhyx0ri9i934i8m3mcs76hk5h8qnbhdknmsh3rz"; + rev = "4954a4f2cffe5c459727bee30cd221c59eacd839"; + sha256 = "1y7swk97qllnk0lc3x8ya9lrd7d74ximjaa5pnj695knrf1ib0jn"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/488d2751b5fd3bf00f5a6f0545530f44563b86d7/recipes/emojify"; @@ -24960,12 +26391,12 @@ melpaBuild { pname = "emojify-logos"; ename = "emojify-logos"; - version = "20171125.214"; + version = "20180814.217"; src = fetchFromGitHub { owner = "mxgoldstein"; repo = "emojify-logos"; - rev = "96c74383a7c69e839ba41de3507154ca4ad564a1"; - sha256 = "1z2rhs2kvafcfqqvq78yb5zp0pnn9s0mhng0rymfghi704cdifm6"; + rev = "a3e78bcbdf863092d4c9b026ac08bf7d1c7c0e8b"; + sha256 = "1fhxf3nky9wlcn54q60f9254iawcccsrxw370q7cgpsrl1gj3dgp"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/114d5596a7b36f47c150c413c6ecc74de36ca239/recipes/emojify-logos"; @@ -25016,21 +26447,20 @@ , paredit , popup , projectile - , redshank , s }: melpaBuild { pname = "emr"; ename = "emr"; - version = "20180708.1011"; + version = "20180921.1415"; src = fetchFromGitHub { - owner = "chrisbarrett"; + owner = "Wilfred"; repo = "emacs-refactor"; - rev = "8e556aa5a932dcf21dff985c528cff41a99ba332"; - sha256 = "18m9ypdarwisksh7pyxgvp3shv2ikvqjijdgjgm0l4jz3vrflpqw"; + rev = "8856b2ed7e45dd33a5f81e1302a2fba736c64dd6"; + sha256 = "1swsh3ld5vlp3fx9dynri6rphpsn9i7n3amzlbzh36w0jkkjcz0m"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/2cd2ebec5bd6465bffed284130e1d534f52169a9/recipes/emr"; - sha256 = "05vpfxg6lviclnms2zyrza8dc87m60mimlwd11ihvsbngi9gcw8x"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3416586d4d782cdd61a56159c5f80a0ca9b3ddf4/recipes/emr"; + sha256 = "02a7yzv6vxdazi26wk1ijadrjffd4iaf1abhpv642xib86pgpfd6"; name = "recipe"; }; packageRequires = [ @@ -25043,7 +26473,6 @@ paredit popup projectile - redshank s ]; meta = { @@ -25110,12 +26539,12 @@ melpaBuild { pname = "engine-mode"; ename = "engine-mode"; - version = "20180401.946"; + version = "20181222.1227"; src = fetchFromGitHub { owner = "hrs"; repo = "engine-mode"; - rev = "fd5a235b2c93b95143d676e6b654e388d7cdd956"; - sha256 = "0lynwd7s1mjppynh8424qk30jzcr384wvr21bqy6ylsxs19kqg0w"; + rev = "117a9c0cbc1ff8ade7f17cd40d1d2f5eb24f51a3"; + sha256 = "1pm6xi0bcab3mpmvy8g449d5iv8s3cjqqvm2rcnlz1d6223pszh0"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ea1b5dfb6628cf17e77369f25341835aad425f54/recipes/engine-mode"; @@ -25136,12 +26565,12 @@ melpaBuild { pname = "enh-ruby-mode"; ename = "enh-ruby-mode"; - version = "20180403.1251"; + version = "20190407.413"; src = fetchFromGitHub { owner = "zenspider"; repo = "enhanced-ruby-mode"; - rev = "fd50e71913e4dc714f71020701ab398a18b524b6"; - sha256 = "0al8bbhfjxqh40hkpiaziz5vsfy2m5saj7wcvs6xivz1ph5ass0b"; + rev = "249c98e1345f71b03260dc4af747be9a7f1a8a07"; + sha256 = "18gq393ply76hxd1k5myavzg5aayhyng89392mrhbshq437491kx"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cd1ac1ce69b77b11f34c4175611a852e7ec0806c/recipes/enh-ruby-mode"; @@ -25391,12 +26820,12 @@ melpaBuild { pname = "epkg"; ename = "epkg"; - version = "20180627.1353"; + version = "20190314.1713"; src = fetchFromGitHub { owner = "emacscollective"; repo = "epkg"; - rev = "b3dac5d4596d304f17a283c5cfe9dc77989fa96a"; - sha256 = "17qdywa8qw6n8a3r4s1cbjbmh2a4vjnxp6fqhiglbbfc1xqw2p1n"; + rev = "408d46a9d041b516e9fda0414058a287dfef37fb"; + sha256 = "1csvjirm3w40jzpd1nqlqwv8nx5cscmwpmb2rhijj59fw12jllnc"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2df16abf56e53d4a1cc267a78797419520ff8a1c/recipes/epkg"; @@ -25540,6 +26969,34 @@ license = lib.licenses.free; }; }) {}; + equake = callPackage ({ dash + , emacs + , fetchFromGitLab + , fetchurl + , lib + , melpaBuild + , tco }: + melpaBuild { + pname = "equake"; + ename = "equake"; + version = "20190403.1840"; + src = fetchFromGitLab { + owner = "emacsomancer"; + repo = "equake"; + rev = "997ad912062cbdf8598d6f029319ee046649a26c"; + sha256 = "04xzjsifam29y55wfhw29gviadp0f2pn4di6nnhrypxlir2mg3rz"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/2a4a0ec11a9c720d7ed90addcb31d0a9d5594f5b/recipes/equake"; + sha256 = "17r10d3acmhixbi24k19rx720qi8ss4v53n107arqmr04rkd1v2y"; + name = "recipe"; + }; + packageRequires = [ dash emacs tco ]; + meta = { + homepage = "https://melpa.org/#/equake"; + license = lib.licenses.free; + }; + }) {}; erc-colorize = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -25573,12 +27030,12 @@ melpaBuild { pname = "erc-crypt"; ename = "erc-crypt"; - version = "20161228.739"; + version = "20190318.1650"; src = fetchFromGitHub { owner = "atomontage"; repo = "erc-crypt"; - rev = "731f9264a5bf08a8fc0b5ce69e72058c86f873a5"; - sha256 = "13jpq5ws5dm8fyjrskk4icxwz8k5wgh396cc8f8wxrjna4wb843w"; + rev = "043b109409ee5b17bf06956fa46e1beb66d06ca4"; + sha256 = "1k4y203m7d7cbgdyin3yq70ai9yw0rfln2v61xd7xa5zxvgvj2v2"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a1a71b46c0370d2ed25aa3f39983048a04576ad5/recipes/erc-crypt"; @@ -25980,26 +27437,27 @@ license = lib.licenses.free; }; }) {}; - eredis = callPackage ({ fetchFromGitHub + eredis = callPackage ({ dash + , fetchFromGitHub , fetchurl , lib , melpaBuild }: melpaBuild { pname = "eredis"; ename = "eredis"; - version = "20180221.1313"; + version = "20181118.1731"; src = fetchFromGitHub { owner = "justinhj"; repo = "eredis"; - rev = "8a96034805fe0664132ce2e12deb9936503af2d4"; - sha256 = "1w4z98vr7iy6yxdk3lha7flk48ckxl2baaq8kx7abkirzfl8j4hh"; + rev = "cfbfc25832f6fbc507bdd56b02e3a0b851a3c368"; + sha256 = "1f2f57c0bz3c6p11hr69aar6z5gg33zvfvsm76ma11vx21qilz6i"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/63f06713d06911f836fe2a4bf199b0794ac89cf0/recipes/eredis"; sha256 = "087lln2izn5bv7bprmbaciivf17vv4pz2cjl91hy2f0sww6nsiw8"; name = "recipe"; }; - packageRequires = []; + packageRequires = [ dash ]; meta = { homepage = "https://melpa.org/#/eredis"; license = lib.licenses.free; @@ -26041,12 +27499,12 @@ melpaBuild { pname = "ergoemacs-mode"; ename = "ergoemacs-mode"; - version = "20180709.645"; + version = "20181127.1330"; src = fetchFromGitHub { owner = "ergoemacs"; repo = "ergoemacs-mode"; - rev = "a5d46653fd3a521276630c81bf75d3e8d224e5cb"; - sha256 = "10y79z7xakjl4x95mvf8jjqxxsgkmz0k7czl0vwhk6j8c910v871"; + rev = "cac7b5628d54fbce1b4e564fdfd36dc6b989c228"; + sha256 = "0aimaq0crkbdpj7y01ydg052i5iqajf295nka099mi1yrbl2ppr3"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/02920517987c7fc698de9952cbb09dfd41517c40/recipes/ergoemacs-mode"; @@ -26094,12 +27552,12 @@ melpaBuild { pname = "erlang"; ename = "erlang"; - version = "20180618.557"; + version = "20190404.228"; src = fetchFromGitHub { owner = "erlang"; repo = "otp"; - rev = "9d5af99762b3795c763fb62c1516247bd3f8e12f"; - sha256 = "0anlp0qj2blgdjzdw8rxmpz659yzbdl3r69b6slm1c1aa77ayc17"; + rev = "e3ca92be9f1945f50ef84631a826b431bad2bfe6"; + sha256 = "14sbwlvn4nb33xrss9x3dn74nkzmr1gss029aycfd8sjclyzv1zn"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d9cd526f43981e0826af59cdc4bb702f644781d9/recipes/erlang"; @@ -26112,6 +27570,33 @@ license = lib.licenses.free; }; }) {}; + erlstack-mode = callPackage ({ dash + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "erlstack-mode"; + ename = "erlstack-mode"; + version = "20190204.809"; + src = fetchFromGitHub { + owner = "k32"; + repo = "erlstack-mode"; + rev = "0ab44afa899ee7e52e712e0a1644fb9f4d40d2a6"; + sha256 = "1wnqzj9aycb67h9za2r97f2yflnwdr9qjg1kygr8rawxa1z7lim6"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/6ee61c1c5f116082b37fb13d15052ed9bbbc1dac/recipes/erlstack-mode"; + sha256 = "0b7mj0rs8k3hdv4v3v5vmdqs0y26mss7dzc0sjjxj4d095yddqqf"; + name = "recipe"; + }; + packageRequires = [ dash emacs ]; + meta = { + homepage = "https://melpa.org/#/erlstack-mode"; + license = lib.licenses.free; + }; + }) {}; eros = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -26188,7 +27673,8 @@ license = lib.licenses.free; }; }) {}; - ert-junit = callPackage ({ ert ? null + ert-junit = callPackage ({ emacs + , ert ? null , fetchgit , fetchurl , lib @@ -26196,18 +27682,18 @@ melpaBuild { pname = "ert-junit"; ename = "ert-junit"; - version = "20180511.1548"; + version = "20181118.1456"; src = fetchgit { url = "https://bitbucket.org/olanilsson/ert-junit"; - rev = "cd1f63627d4e6635086322f34be09ba535e26b97"; - sha256 = "0a2ddvpm8yparl3zq05mp239k5dgplcmc9s61ak9d5qn65l8mwyr"; + rev = "b0649e94460aff5176dee5b33f28946bffb602d5"; + sha256 = "0hj85hz4s1q4dalinhgahn8jn97s2pdpv41d9qqbvbdzwhhw2mrk"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/27c627eacab54896a1363dbabc56250a65343dd8/recipes/ert-junit"; sha256 = "0bv22mhh1ahbjwi6s1csxkh11dmy0srabkddjd33l4havykxlg6g"; name = "recipe"; }; - packageRequires = [ ert ]; + packageRequires = [ emacs ert ]; meta = { homepage = "https://melpa.org/#/ert-junit"; license = lib.licenses.free; @@ -26255,12 +27741,12 @@ melpaBuild { pname = "ert-runner"; ename = "ert-runner"; - version = "20180215.857"; + version = "20180831.445"; src = fetchFromGitHub { owner = "rejeep"; repo = "ert-runner.el"; - rev = "0de42343a9de834320397d169c81725b2827e41f"; - sha256 = "0jc7n6mdv1kka47wmjjhgfw46l16mqlj5kkkyw16gd9g8dwcf6sr"; + rev = "90b8fdd5970ef76a4649be60003b37f82cdc1a65"; + sha256 = "04nxmyzncacj2wmzd84vv9wkkr2dk9lcb10dvygqmg3p1gadnwzz"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0a1acc68f296e80b6ed99a1783e9f67be54ffac9/recipes/ert-runner"; @@ -26311,12 +27797,12 @@ melpaBuild { pname = "es-mode"; ename = "es-mode"; - version = "20180212.1425"; + version = "20181004.1517"; src = fetchFromGitHub { owner = "dakrone"; repo = "es-mode"; - rev = "c5ad728ce3fc2c513108e0ada2cd0c08ab94f870"; - sha256 = "0drmxxqgml36fymn4gqxbjimh8dgmm4yr68hsmsd0iz1lxglgda1"; + rev = "1b7aca9b4e9fcebf4a67682203035eaf75b692e2"; + sha256 = "16vdy6kknwi1hxgkfrzc6jk9h41l6agyiw6k21j3dcz237ngrkhv"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9912193f73c4beae03b295822bf41cb2298756e2/recipes/es-mode"; @@ -26391,12 +27877,12 @@ melpaBuild { pname = "esh-autosuggest"; ename = "esh-autosuggest"; - version = "20171223.1855"; + version = "20190227.2001"; src = fetchFromGitHub { owner = "dieggsy"; repo = "esh-autosuggest"; - rev = "aa921f8975b0f95d1cb0044e6ad7f17529261610"; - sha256 = "19qhpvw5y7hvkqy8jdyrnm4m90jdxxdiaabcrjiwxmkzq3wgnx8q"; + rev = "cdfe38ee16e1e125d37178f11a371ed7560f5b35"; + sha256 = "1pglw16y9a68kdgyb04vl6nr0wynykwdgrkzhcis1xzhdllivkad"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/dc3776068d6928fc1661a27cccaeb8fb85577099/recipes/esh-autosuggest"; @@ -26547,12 +28033,12 @@ melpaBuild { pname = "eshell-fixed-prompt"; ename = "eshell-fixed-prompt"; - version = "20170804.635"; + version = "20190111.1435"; src = fetchFromGitHub { owner = "mallt"; repo = "eshell-fixed-prompt-mode"; - rev = "4351b214de6d4e8e45279930448e2f93b491848e"; - sha256 = "1zx3zn28m5dnvsnkpqd26szv9yzplnb6wyp9vfjfs3hnasrizbxc"; + rev = "2c860029354bf1f69edc1f12e4a0d9aeb9054f5d"; + sha256 = "1j1m661rgbfr04357wq2a7vhm04s3vrbw4r6y1k2cx2ap9amkb25"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/eshell-fixed-prompt"; @@ -26625,16 +28111,16 @@ melpaBuild { pname = "eshell-prompt-extras"; ename = "eshell-prompt-extras"; - version = "20180109.2234"; + version = "20181229.618"; src = fetchFromGitHub { - owner = "hiddenlotus"; + owner = "kaihaosw"; repo = "eshell-prompt-extras"; - rev = "1d8825dcc005b488c6366d0b3015fc6686194eea"; - sha256 = "1nqzd24wwvyzf3bn7m7vd4xqmj4p8z51h8cnli07yja17cr5gwx6"; + rev = "5a328e1b9112c7f31ce2da7cde340f96626546b6"; + sha256 = "0fwlvrzjygs12dcp89wy3rb3wa03mrvbzpmpvmz4x6dfpr7csznk"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/eshell-prompt-extras"; - sha256 = "0kh4lvjkayjdz5lqvdqmdcblxizxk9kwmigjwa68kx8z6ngmfwa5"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3416586d4d782cdd61a56159c5f80a0ca9b3ddf4/recipes/eshell-prompt-extras"; + sha256 = "0zkdb9a8dibk832b5hzb6wjich3l0lah5p64805rgd4qskzj10gx"; name = "recipe"; }; packageRequires = []; @@ -26747,6 +28233,33 @@ license = lib.licenses.free; }; }) {}; + esonify = callPackage ({ cl-lib ? null + , deferred + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "esonify"; + ename = "esonify"; + version = "20190110.821"; + src = fetchFromGitHub { + owner = "oflatt"; + repo = "esonify"; + rev = "bdc79d4ab2e3c449b5bef46e5cabc552beeed5c6"; + sha256 = "03xl6a49pg3y1g3dl7fglrn956ynzj2vlviwlv08ngflvbn5shai"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/8a05dadbf515af6202d1cb96d4fdceb07bb7a6da/recipes/esonify"; + sha256 = "0facvhl6p4v1h3magvp6lzahdzbgg7a15hbj9rgfncvfzfjzlq5a"; + name = "recipe"; + }; + packageRequires = [ cl-lib deferred ]; + meta = { + homepage = "https://melpa.org/#/esonify"; + license = lib.licenses.free; + }; + }) {}; espresso-theme = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -26754,16 +28267,16 @@ melpaBuild { pname = "espresso-theme"; ename = "espresso-theme"; - version = "20170716.813"; + version = "20181025.126"; src = fetchFromGitHub { owner = "dgutov"; repo = "espresso-theme"; - rev = "e79c5c14732b7e34aab75dbcc968839536536c59"; - sha256 = "0jdyxyc6mk0vh35wgic8ikvs9cid7b5ffqx94pkg1kpridm2wrzc"; + rev = "d2fa034eb833bf37cc6842017070725e0da9b046"; + sha256 = "0fds36w6l2aaa88wjkd2ck561i0wwpxgz5ldadhbi5lvfwj9386m"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/27c929ec2eac0459c7018019702599e09ac908fd/recipes/espresso-theme"; - sha256 = "1bsff8fnq5z0f6cwg6wprz8qi3ivsqxpxx6v6fxfammn74qqyvb5"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/e608f40d00a3b2a80a6997da00e7d04f76d8ef0d/recipes/espresso-theme"; + sha256 = "1njc1ppi1jvb3mdckr19kbk7g0a3dx8j4d6j101ygszzrr24ycmv"; name = "recipe"; }; packageRequires = []; @@ -26800,6 +28313,32 @@ license = lib.licenses.free; }; }) {}; + espy = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "espy"; + ename = "espy"; + version = "20180929.902"; + src = fetchFromGitHub { + owner = "walseb"; + repo = "espy"; + rev = "e5dadc232ad985ede2b7d68a09be4c8014ded56a"; + sha256 = "08crl0q7xc8gx245cfylb3j5xncqviq402gizhv0lb6rs0bpsc4y"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/184718ee62f25b2bfed7d5126e02bce3290c50c4/recipes/espy"; + sha256 = "1icyiygw7brn4lrp28szmk4kk94n5q1zlrzrl6z7y0hdhdsjflgg"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/espy"; + license = lib.licenses.free; + }; + }) {}; esqlite = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -26853,26 +28392,28 @@ license = lib.licenses.free; }; }) {}; - ess = callPackage ({ fetchFromGitHub + ess = callPackage ({ emacs + , fetchFromGitHub , fetchurl + , julia-mode , lib , melpaBuild }: melpaBuild { pname = "ess"; ename = "ess"; - version = "20180720.131"; + version = "20190407.721"; src = fetchFromGitHub { owner = "emacs-ess"; repo = "ESS"; - rev = "167b61af2c36c300a2f1f9ecea2c670af685451b"; - sha256 = "1bcd652hq7j5azhmy470ha4279c5ld8db1gcqww65clay7gvnbkg"; + rev = "1c2a5e9525d4bd66cf54aac087837a2f70d5bfd5"; + sha256 = "11nkgxzykrw7cfcdb8mbrym92mna0y4lfv02fpy3l8zffcs71mcn"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/156a6fa9e6ee16174d215c1dcd524aff847b3bf0/recipes/ess"; sha256 = "1psqrw9k7d2ha8zid2mkc6bgcyalrm3n53c00g3cgckkbahl7r6n"; name = "recipe"; }; - packageRequires = []; + packageRequires = [ emacs julia-mode ]; meta = { homepage = "https://melpa.org/#/ess"; license = lib.licenses.free; @@ -26915,12 +28456,12 @@ melpaBuild { pname = "ess-smart-equals"; ename = "ess-smart-equals"; - version = "20150201.2201"; + version = "20190203.2049"; src = fetchFromGitHub { owner = "genovese"; repo = "ess-smart-equals"; - rev = "e0f5f18f01ed252fde50d051adf1fa6254a254c9"; - sha256 = "0ici253mllqyzcbhxrazfj2kl50brr8qid99fk9nlyfgh516ms1x"; + rev = "746cf9e78c3b86cbbf78d69c335a8a4ff3da79d6"; + sha256 = "1by8bzw3yl86mqzh7lwz5dca243n956jnd2rz4vilpgbh5cka2l3"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4403cf87e05311d7fe0360f35f9634b9fdfc6f81/recipes/ess-smart-equals"; @@ -26941,12 +28482,12 @@ melpaBuild { pname = "ess-smart-underscore"; ename = "ess-smart-underscore"; - version = "20170222.1715"; + version = "20190308.1701"; src = fetchFromGitHub { owner = "mattfidler"; repo = "ess-smart-underscore.el"; - rev = "02e8a03553f34fe7184afff97f20e560d6f8d617"; - sha256 = "0kk9n66xjm08cj6zdqxfn332fb4c2is4pdxgqamypdwsdjhcz57l"; + rev = "aa871c5b0448515db439ea9bed6a8574e82ddb47"; + sha256 = "0knb4zfva2m0vd8awcfy5kyd21rjdhxnc1n74qazr9y82l5w7i9b"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b4d6166f5c80cf37c79256402fa633ad2274d065/recipes/ess-smart-underscore"; @@ -26969,12 +28510,12 @@ melpaBuild { pname = "ess-view"; ename = "ess-view"; - version = "20180525.1503"; + version = "20181001.1030"; src = fetchFromGitHub { owner = "GioBo"; repo = "ess-view"; - rev = "dab08b405dbda5aff71022c5cf021ea18b2bde0f"; - sha256 = "1qi7gp5aj64b7sddvcms1c1x5h7j7dcd0rw6h4liw0d0gjkq82br"; + rev = "d4e5a340b7bcc58c434867b97923094bd0680283"; + sha256 = "1yzki5f2k7gmj4m0871h4h46zalv2x71rbpa6glkfx7bm9kyc193"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/96960a8799138187b748a47ac007dc25d739fe10/recipes/ess-view"; @@ -26996,12 +28537,12 @@ melpaBuild { pname = "esup"; ename = "esup"; - version = "20180506.1639"; + version = "20180726.2042"; src = fetchFromGitHub { owner = "jschaf"; repo = "esup"; - rev = "1182c490a7ddc275318c9eb25b8d5bbdf9b78d2b"; - sha256 = "1nkglqr42r2s0vqkj092j131a0ykjrj6qiawgw6id60yn0grhpqb"; + rev = "5acb60e8d7a8fef854178f325682765820522b10"; + sha256 = "0bfrnzwf1imxigd7mxisywi54h0jb79488z2hba53yplmvr80p7p"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b9d2948a42da5d4864404d2d11a924a4f235fc3b/recipes/esup"; @@ -27077,12 +28618,12 @@ melpaBuild { pname = "eterm-256color"; ename = "eterm-256color"; - version = "20180520.523"; + version = "20190122.2001"; src = fetchFromGitHub { owner = "dieggsy"; repo = "eterm-256color"; - rev = "ef99d3a12ddce4aa06069c19e66e826f4cfc91e4"; - sha256 = "1q1m125qwga8397qx5ln326aw3x8vi2y8w065w0zccxrq7n21ds4"; + rev = "0f0dab497239ebedbc9c4a48b3ec8cce4a47e980"; + sha256 = "00ins8n92p5aspr6bjrvn5y5w0ximakk22yklsfmkav4h10al4as"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e556383f7e18c0215111aa720d4653465e91eff6/recipes/eterm-256color"; @@ -27205,25 +28746,24 @@ eval-sexp-fu = callPackage ({ cl-lib ? null , fetchFromGitHub , fetchurl - , highlight , lib , melpaBuild }: melpaBuild { pname = "eval-sexp-fu"; ename = "eval-sexp-fu"; - version = "20180509.1903"; + version = "20190109.9"; src = fetchFromGitHub { owner = "hchbaw"; repo = "eval-sexp-fu.el"; - rev = "1cfd0f3e167d63080692fad97ffe0091b024ad73"; - sha256 = "0l20ja8s0881jlrlmba496iyizfa0j5bvc2x39rshn8qqyka2dq2"; + rev = "e1d7165383c941b3f11c2715707adc3d91d129a0"; + sha256 = "01mpnpgmlnfbi2yw9dxz5iw72mw3lk223bj172i4fnx3xdrrxbij"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4b1a896521cac1f54f7571ad5837ff215d01044d/recipes/eval-sexp-fu"; sha256 = "17cazf81z4cszflnfp66zyq2cclw5sp9539pxskdf267cf7r0ycs"; name = "recipe"; }; - packageRequires = [ cl-lib highlight ]; + packageRequires = [ cl-lib ]; meta = { homepage = "https://melpa.org/#/eval-sexp-fu"; license = lib.licenses.free; @@ -27321,12 +28861,12 @@ melpaBuild { pname = "evil"; ename = "evil"; - version = "20180517.1300"; + version = "20190222.412"; src = fetchFromGitHub { owner = "emacs-evil"; repo = "evil"; - rev = "230b87212c81aaa68ef5547a6b998d9c365fe139"; - sha256 = "0c9zy3bpck10gcrv79kd3h7i4ygd5bgbgy773n0lg7a2r5kwn1gx"; + rev = "297b8f323754d967beeaed28080311f5afbe25c8"; + sha256 = "047x7q643mw5vxq857zx83k2w0108gj2wii510cn9ixdxkwhc0ya"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/440482c0edac8ee8bd4fe22f6bc5c1607f34c7ad/recipes/evil"; @@ -27374,12 +28914,12 @@ melpaBuild { pname = "evil-args"; ename = "evil-args"; - version = "20140329.1429"; + version = "20180908.1457"; src = fetchFromGitHub { owner = "wcsmith"; repo = "evil-args"; - rev = "b554f83a31dd47cac9799725f379675f54ed0a6a"; - sha256 = "08743swy936v8fhbaplrr0wpwlp7vplvy2iwkh56p7gb5gqmlfli"; + rev = "758ad5ae54ad34202064fec192c88151c08cb387"; + sha256 = "0k35glgsirc3cph8v5hhjrqfh4ndwh8a28qbr03y3jl8s453xcj7"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0976c82a22f1a8701b9da0b8ba4753ed48191376/recipes/evil-args"; @@ -27421,6 +28961,32 @@ license = lib.licenses.free; }; }) {}; + evil-better-visual-line = callPackage ({ evil + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "evil-better-visual-line"; + ename = "evil-better-visual-line"; + version = "20181026.328"; + src = fetchFromGitHub { + owner = "YourFin"; + repo = "evil-better-visual-line"; + rev = "05e8270ae62e71b652513407c561b136c258f04c"; + sha256 = "1q7jsmk301ncpn18g5qk02ypbxc9irfh30rxi9k2ab8p35j3ml4i"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/c46640394c29643eea4e59066bab9963db67b8d7/recipes/evil-better-visual-line"; + sha256 = "00l6gd66apf0gphlx5hk9lcl7rmj7ag8kf558psyzcyvhpmff2bq"; + name = "recipe"; + }; + packageRequires = [ evil ]; + meta = { + homepage = "https://melpa.org/#/evil-better-visual-line"; + license = lib.licenses.free; + }; + }) {}; evil-cleverparens = callPackage ({ dash , emacs , evil @@ -27516,16 +29082,16 @@ melpaBuild { pname = "evil-collection"; ename = "evil-collection"; - version = "20180722.1341"; + version = "20190327.1904"; src = fetchFromGitHub { owner = "emacs-evil"; repo = "evil-collection"; - rev = "6e2c59c2ddd8b2d953c6152f467f41bc213533ee"; - sha256 = "0m6dg93shs3fl3qimiiicjwfyrk6mhghb7qgd21qgdnb3yj4fw5j"; + rev = "28bf368cf14b87d1a96c71f8b2d422d7edf4c39b"; + sha256 = "0r6p3pkrhrlbd77dn20n86rxkgpvrj62842s2nnmr9mk5bwd5fap"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/a9b93a8e3750e4e7767498e418f46d553d814604/recipes/evil-collection"; - sha256 = "1fggdlssb8sai00vbrxph8cama3r0f7w8qhmiajj4cy2il7jgmhy"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/fbc35279115f6fdf1ce7d1ecef3b413c7ca9c4f1/recipes/evil-collection"; + sha256 = "1l6x782ix873n90k9g00i9065h31dnhv07bgzrp28l7y7bivqwl7"; name = "recipe"; }; packageRequires = [ cl-lib emacs evil ]; @@ -27668,34 +29234,86 @@ license = lib.licenses.free; }; }) {}; - evil-escape = callPackage ({ cl-lib ? null - , emacs - , evil - , fetchFromGitHub + evil-escape = callPackage ({ fetchFromGitHub , fetchurl , lib , melpaBuild }: melpaBuild { pname = "evil-escape"; ename = "evil-escape"; - version = "20180623.2019"; + version = "20180910.534"; src = fetchFromGitHub { owner = "syl20bnr"; repo = "evil-escape"; - rev = "73b30bfd912f40657b1306ee5849d215f0f9ffbd"; - sha256 = "0mqz7l1a4rxdj7g3fda17118f7y0vph4ica447ciad5vz3zx9i2z"; + rev = "f4e9116bfbaac8c9d210c17ad488e0982291245f"; + sha256 = "1whppnlzkjig1yrz0fjvp8cy86215gjahgh88166nzk95wlc3pvf"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/evil-escape"; sha256 = "0jiwsgcqw8m6z4z82gx0m0r0vbvkcxc0czhn4mqjwkhhglwzgi8l"; name = "recipe"; }; - packageRequires = [ cl-lib emacs evil ]; + packageRequires = []; meta = { homepage = "https://melpa.org/#/evil-escape"; license = lib.licenses.free; }; }) {}; + evil-ex-fasd = callPackage ({ emacs + , evil + , fasd + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "evil-ex-fasd"; + ename = "evil-ex-fasd"; + version = "20180902.2312"; + src = fetchFromGitHub { + owner = "yqrashawn"; + repo = "evil-ex-fasd"; + rev = "ed8fbbe23a8a268d9dcbf1a6132e928ba2c655c5"; + sha256 = "0fr57nlg7m65gzhnrwnqi5bgy4vzl0l0mxk63sr3561r8fnm8hbc"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/8ebdddebb0272765ebbf72073da8c2158a05f624/recipes/evil-ex-fasd"; + sha256 = "1zljsrpbsimldpc1wviw87vgm6941zz4wy8vhpplwkfbnywiwnp7"; + name = "recipe"; + }; + packageRequires = [ emacs evil fasd ]; + meta = { + homepage = "https://melpa.org/#/evil-ex-fasd"; + license = lib.licenses.free; + }; + }) {}; + evil-ex-shell-command = callPackage ({ emacs + , evil + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "evil-ex-shell-command"; + ename = "evil-ex-shell-command"; + version = "20181225.1826"; + src = fetchFromGitHub { + owner = "yqrashawn"; + repo = "evil-ex-shell-command"; + rev = "a6ca6d27c07f6a0807abfb5b8f8865f1d17f54aa"; + sha256 = "0jx2cj6p8wag7aphbgf3ij5v71prxkbxpfia8nmcpmrpvjqpsb74"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/6d4205a35cc0c4518ab1424d91bbc627e8cdae42/recipes/evil-ex-shell-command"; + sha256 = "1lbk31l7g6n6lqm8rvsfqbagqvhkp0s2v6wz8x4fnrjj0ymd4syf"; + name = "recipe"; + }; + packageRequires = [ emacs evil ]; + meta = { + homepage = "https://melpa.org/#/evil-ex-shell-command"; + license = lib.licenses.free; + }; + }) {}; evil-exchange = callPackage ({ cl-lib ? null , evil , fetchFromGitHub @@ -27732,12 +29350,12 @@ melpaBuild { pname = "evil-expat"; ename = "evil-expat"; - version = "20180719.116"; + version = "20190111.2140"; src = fetchFromGitHub { owner = "edkolev"; repo = "evil-expat"; - rev = "3ff831784c5f301330ecced5ebd43cce42980d2b"; - sha256 = "15x9fl7r25dygzkc6hhw5yzza7g2dwgr7gvvim913ahnzk5g9nag"; + rev = "4c344ea19b789002d759a202ffbf594730d2c59a"; + sha256 = "16v7fnldxag6l1lsnrnhdjkga9qi78lbdfbb82k6pmv04991mbkr"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f08f6396e66479eb9510727968c5bb01ac239476/recipes/evil-expat"; @@ -27814,12 +29432,12 @@ melpaBuild { pname = "evil-fringe-mark"; ename = "evil-fringe-mark"; - version = "20180619.1534"; + version = "20190319.2153"; src = fetchFromGitHub { owner = "Andrew-William-Smith"; repo = "evil-fringe-mark"; - rev = "fdb147d5ec8fbe087c73604374b3d491f143f2b2"; - sha256 = "1cfsh0f4mfpm6pifxgk2v0h975hldvwdbx95zgw045w9sw325q5b"; + rev = "a1689fddb7ee79aaa720a77aada1208b8afd5c20"; + sha256 = "0pf8bl7bmcn1l0dlxkgbgwb1n2fxpzxwcr4jf06gzyrrmmwah526"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/70dcc07c389d5454de64fb08cd666d489d6d5483/recipes/evil-fringe-mark"; @@ -27868,12 +29486,12 @@ melpaBuild { pname = "evil-goggles"; ename = "evil-goggles"; - version = "20180702.353"; + version = "20181123.1146"; src = fetchFromGitHub { owner = "edkolev"; repo = "evil-goggles"; - rev = "ea5ab4012af0eb451e2c0d996455c58f1554f7c1"; - sha256 = "18f96n8kkj1lza9za46dwjrsm4ni2s1gqbgdjjiqmkl06kj04fi8"; + rev = "78454a7e8bd609edf0d93cb0a7f9ed576dd33546"; + sha256 = "1yn72wmrda670h0bz3gdqh6k44ja60wkk9f4hijh9w1hw0vazk20"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/811b1261705b4c525e165fa9ee23ae191727a623/recipes/evil-goggles"; @@ -27996,24 +29614,25 @@ , evil , fetchFromGitHub , fetchurl + , ledger-mode , lib , melpaBuild }: melpaBuild { pname = "evil-ledger"; ename = "evil-ledger"; - version = "20170905.519"; + version = "20180802.912"; src = fetchFromGitHub { owner = "atheriel"; repo = "evil-ledger"; - rev = "17f3c4284fc4f8d9da4e1d805fbe712e0e02b8d4"; - sha256 = "1vjiyi1kv62w7mbvp149zncvk7p4js75m897b69gh05g68j4ckk2"; + rev = "7a9f9f5d39c42fffdba8004f8982642351f2b233"; + sha256 = "010r1qn9l3clqqrlia0y25bqjbrixvf8i409v10yxqb949jvw1vk"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/500e99a1b92f0a0c144f843cd7645872034d9fbb/recipes/evil-ledger"; sha256 = "13idy2kbzhckzfwrjnzjrf8h2881w3v8pmhlcj26xcyf4ch0dq9r"; name = "recipe"; }; - packageRequires = [ emacs evil ]; + packageRequires = [ emacs evil ledger-mode ]; meta = { homepage = "https://melpa.org/#/evil-ledger"; license = lib.licenses.free; @@ -28111,12 +29730,12 @@ melpaBuild { pname = "evil-magit"; ename = "evil-magit"; - version = "20180702.853"; + version = "20190224.1228"; src = fetchFromGitHub { owner = "emacs-evil"; repo = "evil-magit"; - rev = "9f32c4e190e3d67f193485f12199275ff1a047f0"; - sha256 = "0lmsc02fb9s43gs7svqq57bsznqxxzjv6s79lz2hc0rhacxb5pp9"; + rev = "e2fec5877994c0c19f0c25fa01f3d22cb0ab38ba"; + sha256 = "134v7s03jvbhm70mavwab85r09i68g2a5bvriirh0chz1av2y16v"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/50315ec837d2951bf5b2bb75809a35dd7ffc8fe8/recipes/evil-magit"; @@ -28145,8 +29764,8 @@ sha256 = "01hccc49xxb6lnzr0lwkkwndbk4sv0jyyz3khbcxsgkpzjiydihv"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/089accfa2646fc4f265cb8e9b9a05dcf5aa4c4f6/recipes/evil-mark-replace"; - sha256 = "03cq43vlv1b53w4kw7mjvk026i8rzhhryfb27ddn6ipgc6xh68a0"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/e608f40d00a3b2a80a6997da00e7d04f76d8ef0d/recipes/evil-mark-replace"; + sha256 = "14j2d46288shlixb57nh5vlqdi3aiv20djvcbhiw1cm9ar2c3y4v"; name = "recipe"; }; packageRequires = [ evil ]; @@ -28155,7 +29774,8 @@ license = lib.licenses.free; }; }) {}; - evil-matchit = callPackage ({ evil + evil-matchit = callPackage ({ emacs + , evil , fetchFromGitHub , fetchurl , lib @@ -28163,19 +29783,19 @@ melpaBuild { pname = "evil-matchit"; ename = "evil-matchit"; - version = "20180526.557"; + version = "20190307.213"; src = fetchFromGitHub { owner = "redguardtoo"; repo = "evil-matchit"; - rev = "1c428e192b5c8698f8550d8862593bdca5ef9bfc"; - sha256 = "1xip22vlzlki769hza3wssr41m5pl47ay7721fc4y5qv9yr9pjfa"; + rev = "00ab601346a5646aa6db4935684021ec16650a58"; + sha256 = "14wbsj1fwxz36qdnnf9qr2rz38qm4x3aj265asmvpfizgbm2jd4r"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/aeab4a998bffbc784e8fb23927d348540baf9951/recipes/evil-matchit"; sha256 = "01z69n20qs4gngd28ry4kn825cax5km9hn96i87yrvq7nfa64swq"; name = "recipe"; }; - packageRequires = [ evil ]; + packageRequires = [ emacs evil ]; meta = { homepage = "https://melpa.org/#/evil-matchit"; license = lib.licenses.free; @@ -28191,12 +29811,12 @@ melpaBuild { pname = "evil-mc"; ename = "evil-mc"; - version = "20180603.2033"; + version = "20190321.906"; src = fetchFromGitHub { owner = "gabesoft"; repo = "evil-mc"; - rev = "779e7d35bf38b482c0fccacfbffd877e5f455457"; - sha256 = "0p0jc3vlf5q8b76adxznpsfp1clhm171ddwq63vsg6b5iwk0fpdz"; + rev = "ef22ee1a9d9a82a9b954f27f82ddcb7cb0f634ec"; + sha256 = "026nvajf9wbm47qw1napzsngqjrkq84d052ybhxf30as6pigj36s"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/96770d778a03ab012fb82a3a0122983db6f9b0c4/recipes/evil-mc"; @@ -28277,12 +29897,12 @@ melpaBuild { pname = "evil-multiedit"; ename = "evil-multiedit"; - version = "20180209.1819"; + version = "20190102.2315"; src = fetchFromGitHub { owner = "hlissner"; repo = "evil-multiedit"; - rev = "ea3d9177b74ab0bc65e55df9cc0a0b42e4ef815d"; - sha256 = "17zm35r474z8ras4xy7124pcb972d385pbdv4jxyj5vq042vq07w"; + rev = "cb35914ffabb4f65d22ab2f812ff6e7622cc5c26"; + sha256 = "19h3kqylqzbjv4297wkzzxdmn9yxbg6z4ga4ssrqri90xs7m3rw3"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/997f5a6999d1add57fae33ba8eb3e3bc60d7bb56/recipes/evil-multiedit"; @@ -28303,12 +29923,12 @@ melpaBuild { pname = "evil-nerd-commenter"; ename = "evil-nerd-commenter"; - version = "20180722.1625"; + version = "20190407.128"; src = fetchFromGitHub { owner = "redguardtoo"; repo = "evil-nerd-commenter"; - rev = "275c95c89cc09c7096bd6fd0deabd49f29634f5d"; - sha256 = "07k4d1dy1nm9g54zwqzdqhibz2a2zfi7q27z7k8wq0ibjph96nwh"; + rev = "acc0f75cde9e4ffd946f7835c3b388fb77f633a7"; + sha256 = "1r8shfdddys9vqvrxf7s6z83ydqx9xhqs9sa7klbsajryqcp50b7"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a3e1ff69e7cc95a5b5d628524ad836833f4ee736/recipes/evil-nerd-commenter"; @@ -28321,6 +29941,31 @@ license = lib.licenses.free; }; }) {}; + evil-nl-break-undo = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "evil-nl-break-undo"; + ename = "evil-nl-break-undo"; + version = "20181125.1254"; + src = fetchFromGitHub { + owner = "VanLaser"; + repo = "evil-nl-break-undo"; + rev = "8acaecadd32937f6f1d8c3f8141fcee0de7d324e"; + sha256 = "1155bbp7mais3cf378zxnrxc5qg9qai7rcr7whd0ljf9i4aic0y9"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/a43ea989f52cebadc68c8e9c0f87f8f2e23b0974/recipes/evil-nl-break-undo"; + sha256 = "0q6b459z06h4l47b5lcxlqbksf8sbazkk569r3h2577zpc56prfn"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/evil-nl-break-undo"; + license = lib.licenses.free; + }; + }) {}; evil-numbers = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -28427,6 +30072,35 @@ license = lib.licenses.free; }; }) {}; + evil-python-movement = callPackage ({ cl-lib ? null + , dash + , emacs + , evil + , fetchgit + , fetchurl + , lib + , melpaBuild + , s }: + melpaBuild { + pname = "evil-python-movement"; + ename = "evil-python-movement"; + version = "20180724.720"; + src = fetchgit { + url = "https://bitbucket.org/FelipeLema/evil-python-movement.el"; + rev = "9936b3b7f8d96415d517c1f3604637889484a637"; + sha256 = "11ivb95ilsw3svpna9n07yf8s9q3w36ia6js2qv6wf0d0dp2xb9r"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/130e6d17735ff86b962859528d7e50869f683251/recipes/evil-python-movement"; + sha256 = "1qs0z93rpi9dz6hy64816afdr4k5gssyw2dhaxcn152ylg1yzkg3"; + name = "recipe"; + }; + packageRequires = [ cl-lib dash emacs evil s ]; + meta = { + homepage = "https://melpa.org/#/evil-python-movement"; + license = lib.licenses.free; + }; + }) {}; evil-quickscope = callPackage ({ evil , fetchFromGitHub , fetchurl @@ -28623,12 +30297,12 @@ melpaBuild { pname = "evil-snipe"; ename = "evil-snipe"; - version = "20180503.141"; + version = "20180731.1031"; src = fetchFromGitHub { owner = "hlissner"; repo = "evil-snipe"; - rev = "8120c2398cb5ca9a81369f7201b3db19cd71e965"; - sha256 = "0i6hjzidccxdy3dq7rrngfqlrrwb6yyc635fark3dnn90cpadwci"; + rev = "8dd076cc56eb9b04494e4e303b86a959b048350b"; + sha256 = "05zlmkyl1gms7pk2izh67j7xk4mb5y94jpyx63lg59yc391p5p07"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6748f3febbe2f098761e967b4dc67791186d0aa7/recipes/evil-snipe"; @@ -28703,12 +30377,12 @@ melpaBuild { pname = "evil-surround"; ename = "evil-surround"; - version = "20180102.601"; + version = "20190402.2118"; src = fetchFromGitHub { owner = "emacs-evil"; repo = "evil-surround"; - rev = "5a20c9757eff64e1567d313eb254126aef2bf3b2"; - sha256 = "094vz707iyjknmhmhdlzc8sv8x86yxgx863c23nm6fjn5n5h7jmz"; + rev = "68f7033322dcba3781dddb48465878e896a9f57b"; + sha256 = "17wxib52qwpfi809lq3c1zsxqprmkk9ghg0q8zc3r7gq2f5d8yy8"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2c9dc47a4c837c44429a74fd998fe468c00639f2/recipes/evil-surround"; @@ -28808,12 +30482,12 @@ melpaBuild { pname = "evil-test-helpers"; ename = "evil-test-helpers"; - version = "20180109.1040"; + version = "20190104.226"; src = fetchFromGitHub { owner = "emacs-evil"; repo = "evil"; - rev = "49d6167d6bb97454afe1d06a5324483682de8ab6"; - sha256 = "0l3hmmkys3fw5yxs4kmjx5nrbjh9w19d0bfkryhbxhc5xszydvzz"; + rev = "3766a521a60e6fb0073220199425de478de759ad"; + sha256 = "1833w397xhac5g3pp25szr2gyvclxy91aw27azvbmsx94pyk2a3q"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/87da8c50f9167ad9c3844b23becb6904f809611d/recipes/evil-test-helpers"; @@ -28835,12 +30509,12 @@ melpaBuild { pname = "evil-text-object-python"; ename = "evil-text-object-python"; - version = "20160815.141"; + version = "20181126.524"; src = fetchFromGitHub { owner = "wbolster"; repo = "evil-text-object-python"; - rev = "7aae5558be25b4a33abdede8a91da1cc7d08f1bc"; - sha256 = "0qfqfqbq3jijnmg0rp6agz9skcv2drnpyn481c7f455z46xi87kl"; + rev = "9a064fe6475429145cbcc3b270fcc963b67adb15"; + sha256 = "074zpm6mmr1wfl6d5xdf8jk1fs4ccpbzf4ahhkwga9g71xiplszv"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0d0893b07bc4a057561a1c1a85b7520c50f31e12/recipes/evil-text-object-python"; @@ -28908,6 +30582,87 @@ license = lib.licenses.free; }; }) {}; + evil-textobj-entire = callPackage ({ emacs + , evil + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "evil-textobj-entire"; + ename = "evil-textobj-entire"; + version = "20150422.554"; + src = fetchFromGitHub { + owner = "supermomonga"; + repo = "evil-textobj-entire"; + rev = "5b3a98f3a69edc3a788f539f6ffef4a0ef5e853d"; + sha256 = "0m3krfmc9llpywr0lbya36b2jbnzx1pylvhj0p1ss5rh735m00jy"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/e1da0063a17d53f30e041e08161ad8fbc9942270/recipes/evil-textobj-entire"; + sha256 = "0hkdnkv03b31330pnkijhhbyw00m7bxfvs3cgzfazsvvcsha4gmi"; + name = "recipe"; + }; + packageRequires = [ emacs evil ]; + meta = { + homepage = "https://melpa.org/#/evil-textobj-entire"; + license = lib.licenses.free; + }; + }) {}; + evil-textobj-line = callPackage ({ evil + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "evil-textobj-line"; + ename = "evil-textobj-line"; + version = "20150729.822"; + src = fetchFromGitHub { + owner = "syohex"; + repo = "evil-textobj-line"; + rev = "0209f9b84c7e1e1c42e346cdb8c0e36619471e5f"; + sha256 = "0ln72zfrzn1bnv40kyzjchmfv3dgd2wm596lxacd2kygcx4a4gky"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/24bf766525ffdaded519ac9f78ae89d8ab5108ef/recipes/evil-textobj-line"; + sha256 = "158w524qzj0f03ihid2fisxyf1g7vwpv3ckfkzi7c2l549jnsdsa"; + name = "recipe"; + }; + packageRequires = [ evil ]; + meta = { + homepage = "https://melpa.org/#/evil-textobj-line"; + license = lib.licenses.free; + }; + }) {}; + evil-textobj-syntax = callPackage ({ emacs + , evil + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , names }: + melpaBuild { + pname = "evil-textobj-syntax"; + ename = "evil-textobj-syntax"; + version = "20181210.413"; + src = fetchFromGitHub { + owner = "laishulu"; + repo = "evil-textobj-syntax"; + rev = "2d9ba8c75c754b409aea7469f46a5cfa52a872f3"; + sha256 = "031p5i3274dazp7rz6m5y38shfgszm1clmkcf58qfqlvy978ammc"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/0dba37e5a2ba5ef1f397b37d6845acdc4872e5f2/recipes/evil-textobj-syntax"; + sha256 = "0d0fg71xmbqhx91ljnkxmakcc0qn3341wjjmzax33qilz5syp3m9"; + name = "recipe"; + }; + packageRequires = [ emacs evil names ]; + meta = { + homepage = "https://melpa.org/#/evil-textobj-syntax"; + license = lib.licenses.free; + }; + }) {}; evil-tutor = callPackage ({ evil , fetchFromGitHub , fetchurl @@ -28998,12 +30753,12 @@ melpaBuild { pname = "evil-visual-mark-mode"; ename = "evil-visual-mark-mode"; - version = "20150202.1000"; + version = "20190116.757"; src = fetchFromGitHub { owner = "roman"; repo = "evil-visual-mark-mode"; - rev = "094ee37599492885ff3144918fcdd9b74dadaaa0"; - sha256 = "07cmql8zsqz1qchq2mp3qybbay499dk1yglisig6jfddcmrbbggz"; + rev = "ac5997971972a9251f140b5542d82790ca4a43b4"; + sha256 = "1gh5614l4zf15109zc64pnnc5rp5ilah9mavgr2rbv2874k3vs4n"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/293cdd3387f26e4c8f21582d75a194963ac9cff7/recipes/evil-visual-mark-mode"; @@ -29179,12 +30934,12 @@ melpaBuild { pname = "exec-path-from-shell"; ename = "exec-path-from-shell"; - version = "20180323.1904"; + version = "20190105.1907"; src = fetchFromGitHub { owner = "purcell"; repo = "exec-path-from-shell"; - rev = "4d0af1274797ce61f5d8c209339d5b9cdc49aca6"; - sha256 = "1h45vxyw0pa99fldnvca96rz1w1hl7mrgx5m51rknxascfvk6fqx"; + rev = "76cd6e3fa8a7dac937af7e40507843dfae4f9184"; + sha256 = "1ga8bpxngd3ph2hdiik92c612ki71qxw818i6rgx6f6a5r0sbf3p"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/exec-path-from-shell"; @@ -29205,11 +30960,11 @@ melpaBuild { pname = "exiftool"; ename = "exiftool"; - version = "20170822.1432"; + version = "20190203.1206"; src = fetchgit { url = "https://git.systemreboot.net/exiftool.el/"; - rev = "3a07dbcb975577734d4abf6d68e1ab83a01951bb"; - sha256 = "10prrwvmc891vkzzgqmz0xd85xgi52ni83ydf0bvhfmcg0wmm0cc"; + rev = "4131fa38160dabd5d7143aad8aca5db575749292"; + sha256 = "0lbsa8v39aih8mcvvdm0jang05gm5br5g2fay3lccf73c9aimrfh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4835a76909d020781021e747fbc341111a94dbfa/recipes/exiftool"; @@ -29257,14 +31012,14 @@ ename = "expand-line"; version = "20151005.1907"; src = fetchFromGitHub { - owner = "cheunghy"; + owner = "zhangkaiyulw"; repo = "expand-line"; rev = "75a5d0241f35dd0748ab8ecb4ff16891535be372"; sha256 = "0wz4h5hrr5ci0w8pynd2nr1b2zl5hl4pa8gc16mcabik5927rf7z"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/1c3fa6b17a8c6b08b0d77bdff0f91b7af34f4279/recipes/expand-line"; - sha256 = "07nfgp6jlrb9wxqy835j79i4g88714zndidkda84z16qn2y901a9"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3416586d4d782cdd61a56159c5f80a0ca9b3ddf4/recipes/expand-line"; + sha256 = "0bzz7zrpfdxhjxs7nzlmzjb9jfajhxkivzr5sm87mg3zx8b6gjyi"; name = "recipe"; }; packageRequires = []; @@ -29280,12 +31035,12 @@ melpaBuild { pname = "expand-region"; ename = "expand-region"; - version = "20180625.939"; + version = "20190327.528"; src = fetchFromGitHub { owner = "magnars"; repo = "expand-region.el"; - rev = "54e1b94fa8b65f066f731101a744287e956ae75f"; - sha256 = "113d804gmvxmg3f32w7m4dc14xpl47aw25255nyr0w5bxm7vmnah"; + rev = "0ba6f41a7921ae24e8d3a2345dd5492052fe93f4"; + sha256 = "0j92jj0ydqll3c4p14gwn6z0c3l44ali2yr3cnz3a96g00fd36y4"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/expand-region"; @@ -29409,12 +31164,12 @@ melpaBuild { pname = "extmap"; ename = "extmap"; - version = "20180205.1047"; + version = "20181028.945"; src = fetchFromGitHub { owner = "doublep"; repo = "extmap"; - rev = "3860b69fb19c962425d4e271ee0a24547b67d323"; - sha256 = "1vjwinb7m9l2bw324v4m1g4mc9yqjs84bfjci93m0a1ih8n4zdbr"; + rev = "1139b57d8f4276fe56b8416fdaf4745f2cdfe7c3"; + sha256 = "0jgyscjfparnby0whrmbgvsab2a7qkaqhysmh3s3jh635fndm253"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/91ef4352603cc69930ab3d63f0a90eee63f5f328/recipes/extmap"; @@ -29427,6 +31182,35 @@ license = lib.licenses.free; }; }) {}; + exunit = callPackage ({ dash + , emacs + , f + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , s }: + melpaBuild { + pname = "exunit"; + ename = "exunit"; + version = "20190215.1940"; + src = fetchFromGitHub { + owner = "ananthakumaran"; + repo = "exunit.el"; + rev = "1b7763bc4822f3292a6b9b368693b0c271052eb8"; + sha256 = "1g6w7gchw34acqwigsjhf93hx83w11wr6a2yv6p8ncw9r3vgbnh2"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/94e4fd4cf58b280d08d22aff4dd9c47201a29e72/recipes/exunit"; + sha256 = "1wyxxy1hd50p17widf31sysp28adr09n8ksyd3hn6pnvyn2m0k81"; + name = "recipe"; + }; + packageRequires = [ dash emacs f s ]; + meta = { + homepage = "https://melpa.org/#/exunit"; + license = lib.licenses.free; + }; + }) {}; exwm-edit = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -29435,12 +31219,12 @@ melpaBuild { pname = "exwm-edit"; ename = "exwm-edit"; - version = "20180629.137"; + version = "20180905.43"; src = fetchFromGitHub { owner = "agzam"; repo = "exwm-edit"; - rev = "6ea0a64e47d06204d826e146c3c3082dec5c4007"; - sha256 = "0sz2q4nj5inh42f37jfkc5z7fdw1lgsyz2fh5ljgjcvrd9xlb24l"; + rev = "961c0f3ea45766b888c73d7353da13d329538034"; + sha256 = "087pk5ckx753qrn6xpka9khhlp7iqlz76w7861x90av2f5cgy6fw"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f247915e02e59ebd6a2a219e55870e034d41c938/recipes/exwm-edit"; @@ -29453,6 +31237,61 @@ license = lib.licenses.free; }; }) {}; + exwm-firefox-core = callPackage ({ emacs + , exwm + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "exwm-firefox-core"; + ename = "exwm-firefox-core"; + version = "20190402.1425"; + src = fetchFromGitHub { + owner = "walseb"; + repo = "exwm-firefox-core"; + rev = "71539f3fce35095992c4975467e89a7833a2319d"; + sha256 = "0psb180wcn2yg9r75nbpr54npaiqshpjy4hr03jpf2shzr9d9zlq"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/745a2b98c48b00cd794dfb97be4072813ee67ada/recipes/exwm-firefox-core"; + sha256 = "1d6j8nrlb7lsyki796vpfidj8y2cz5lnqf8zzfqsbqf92kj5v9zd"; + name = "recipe"; + }; + packageRequires = [ emacs exwm ]; + meta = { + homepage = "https://melpa.org/#/exwm-firefox-core"; + license = lib.licenses.free; + }; + }) {}; + exwm-firefox-evil = callPackage ({ emacs + , evil + , exwm + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "exwm-firefox-evil"; + ename = "exwm-firefox-evil"; + version = "20190403.1145"; + src = fetchFromGitHub { + owner = "walseb"; + repo = "exwm-firefox-evil"; + rev = "e343ac57c945946c238f2f24fdf810e691c023c4"; + sha256 = "0037fiv0nsid1bh492vmpcz4vi116hbp8c169k8yjalkb9y8sjn9"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/09fa63c7bd639c0b7dda540504c74cdbbe4f9875/recipes/exwm-firefox-evil"; + sha256 = "0wg3jydgj2fi5gxv3kwm1dvpxvc3ypn28kxlzfp801xrrfc241ml"; + name = "recipe"; + }; + packageRequires = [ emacs evil exwm ]; + meta = { + homepage = "https://melpa.org/#/exwm-firefox-evil"; + license = lib.licenses.free; + }; + }) {}; exwm-surf = callPackage ({ emacs , exwm , fetchFromGitHub @@ -29494,12 +31333,12 @@ melpaBuild { pname = "exwm-x"; ename = "exwm-x"; - version = "20180227.257"; + version = "20190224.352"; src = fetchFromGitHub { owner = "tumashu"; repo = "exwm-x"; - rev = "4f7946db67d6599baba6b3961e8f543a68707742"; - sha256 = "00lcn5106xig2y9gyir1f1gzyp2i05rwq1lbbbah8aipkdi3z9xl"; + rev = "02ec31cd8996b1b3fe305405fef7334c4d08e72b"; + sha256 = "18cgfnh7bp152gi4zv2skrkjbxs0v2zn6jk35rc48y8nfivps2f4"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a0e6e23bcffdcd1e17c70599c563609050e5de40/recipes/exwm-x"; @@ -29529,12 +31368,12 @@ melpaBuild { pname = "eyebrowse"; ename = "eyebrowse"; - version = "20180514.1219"; + version = "20190322.233"; src = fetchFromGitHub { owner = "wasamasa"; repo = "eyebrowse"; - rev = "ec7e11022032348ee23a3586a1306871f9d28b25"; - sha256 = "16mks2dr4k6bjr1xds9j2jwm7zwad4z67wa0qg9n50gyiyn4pl4g"; + rev = "52e160997a1c4b1d463e8b9cc2ba3e27408c2a89"; + sha256 = "0y2n08ykfc3hga5m969syysa2r4h3d2i1xfi0jjhpw3h7qrisbw8"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/90d052bfc0b94cf177e33b2ffc01a45d254fc1b1/recipes/eyebrowse"; @@ -29635,12 +31474,12 @@ melpaBuild { pname = "f"; ename = "f"; - version = "20180106.122"; + version = "20190109.106"; src = fetchFromGitHub { owner = "rejeep"; repo = "f.el"; - rev = "de6d4d40ddc844eee643e92d47b9d6a63fbebb48"; - sha256 = "1a47xk3yp1rp17fqg7ldl3d3fb888h0fz3sysqfdz1bfdgs8a9bk"; + rev = "8191672377816a1975414cc1f116fd3b94b30bd0"; + sha256 = "1b9wq6r6v44y11ldcj8czmah4ciibkm2261q4z9awd7v7iqlzf07"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/f"; @@ -29789,12 +31628,12 @@ melpaBuild { pname = "faff-theme"; ename = "faff-theme"; - version = "20180702.1023"; + version = "20190115.1307"; src = fetchFromGitHub { owner = "WJCFerguson"; repo = "emacs-faff-theme"; - rev = "596c8cfbf1a7fbc3b93643359f8d0f4c612d69be"; - sha256 = "03jrlk5n9jd3mw6k36qblzl89yj6q8ir9krvilb3da170pr6b4pa"; + rev = "cf76f8d700ae4e7c58b2ebb4bbe3b10a21a5658b"; + sha256 = "1jap3fx29l542p4yjaimy1v0d2rnd5bprnz8clxhm80jn6km8v9d"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0b35c169fe56a5612ff5a4242140f617fdcae14f/recipes/faff-theme"; @@ -30113,6 +31952,32 @@ license = lib.licenses.free; }; }) {}; + fd-dired = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "fd-dired"; + ename = "fd-dired"; + version = "20180731.349"; + src = fetchFromGitHub { + owner = "yqrashawn"; + repo = "fd-dired"; + rev = "a92511929ce0d64d2bc05823920e12f106c4dfc7"; + sha256 = "1l3mc39kb3w9pbc84998rz3g1n0ygr8pg9b9z5cgg638jh2cvzqm"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/1217e0d4f42df68cc22de9b4f27a36c0377509e3/recipes/fd-dired"; + sha256 = "0g8zvg6b9hcxkmqn254y9khjm7jz2lz4mh7dhsxfcy64inaj0481"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/fd-dired"; + license = lib.licenses.free; + }; + }) {}; feature-mode = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -30145,12 +32010,12 @@ melpaBuild { pname = "feebleline"; ename = "feebleline"; - version = "20180604.515"; + version = "20190402.825"; src = fetchFromGitHub { owner = "tautologyclub"; repo = "feebleline"; - rev = "9ece1c02a60ed0209cda661bcb864a7e624e8aca"; - sha256 = "0fiq16bm28c9z62fdpr7n2fpnqbcmb278b72wi3gl386w34j6xl1"; + rev = "d1df599254f4c250720ae98dd69dada89535a295"; + sha256 = "10h59zd9hq81dyjw558k417kaqs5m9bhmx8mndcshh4cn1xfp5j3"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/782295d8c530878bd0e20cde7e7f7f8f640953dd/recipes/feebleline"; @@ -30170,12 +32035,12 @@ melpaBuild { pname = "fennel-mode"; ename = "fennel-mode"; - version = "20180509.1852"; + version = "20190401.1108"; src = fetchFromGitLab { owner = "technomancy"; repo = "fennel-mode"; - rev = "21e184b2a862290db9dcf839f0e4a2df480a642e"; - sha256 = "0l3770w47skbr95775mrwpmw6apmbjk18i6c1zcz05pc46rcr15s"; + rev = "17678a7fc073c64cb0ec78f913154df377a42575"; + sha256 = "0n2vz6vsi380gcgg3ihwjs3z2rc1hb8yh4xlzjwz01dhahj08p1x"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cda0732050a17b2dc70b80afd6fc6bb9cf8bb60f/recipes/fennel-mode"; @@ -30455,12 +32320,12 @@ melpaBuild { pname = "find-file-in-project"; ename = "find-file-in-project"; - version = "20180705.1832"; + version = "20190330.1830"; src = fetchFromGitHub { owner = "technomancy"; repo = "find-file-in-project"; - rev = "1c54325cb60bde7496dad4e19f4c2a857999df58"; - sha256 = "1pxqqpj6cdwbhca6vaj98d86f1l0vl09zp054wf0sv759l25ac0l"; + rev = "33fc401eeda51c11dfecd78d961538aaef23761b"; + sha256 = "1vrw2c88lanb5r8gapf62blccb98s864b5bn3fc5hj27ybd441vd"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/find-file-in-project"; @@ -30480,16 +32345,16 @@ melpaBuild { pname = "find-file-in-repository"; ename = "find-file-in-repository"; - version = "20151113.519"; + version = "20190404.128"; src = fetchFromGitHub { - owner = "hoffstaetter"; + owner = "h"; repo = "find-file-in-repository"; - rev = "898fd7ea2727772ba09383a2ece7f3f7f1e77e29"; - sha256 = "090m5647dpc8r8fwi3mszvc8kp0420ma5sv0lmqr2fpxyn9ybkjh"; + rev = "b44d78682082270dc6b59cdc911333d0d3e7edaa"; + sha256 = "1icsxp2b3grvdbv6bh9hpxz1hrqa7vvjzajjwi2knvjbq41d99bn"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/58705ac6201b73851ce4ce9ebeb0e65463765961/recipes/find-file-in-repository"; - sha256 = "0q1ym06w2yn3nzpj018dj6h68f7rmkxczyl061mirjp8z9c6a9q6"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3416586d4d782cdd61a56159c5f80a0ca9b3ddf4/recipes/find-file-in-repository"; + sha256 = "02rihpfpckppnf5a2zgd5s3dspdhq4mr6qchlrzg2fd4byjxra9s"; name = "recipe"; }; packageRequires = []; @@ -30686,12 +32551,12 @@ melpaBuild { pname = "fireplace"; ename = "fireplace"; - version = "20160811.519"; + version = "20181211.1127"; src = fetchFromGitHub { owner = "johanvts"; repo = "emacs-fireplace"; - rev = "2b966ed65b714c613f79e9144d004dfa3b28f1ed"; - sha256 = "1f5053bbvjdmm64zv6r2qkswkpwvx0s3qz4bwm9zya583a6g0nv8"; + rev = "571ffa7dd0ce46edca838df74d055aaa83da4d78"; + sha256 = "1iw17rkihsn50p3zljag82v09zyav8bzgfn6mfa267fkf4f1fgjy"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4c1ac52c1cfe7ccf46092c2d299ebbffdc1b7609/recipes/fireplace"; @@ -30737,16 +32602,16 @@ melpaBuild { pname = "firrtl-mode"; ename = "firrtl-mode"; - version = "20180221.1555"; + version = "20190223.1944"; src = fetchFromGitHub { - owner = "ibm"; + owner = "IBM"; repo = "firrtl-mode"; - rev = "1ac00d526018945389bcb2292dbdd8395381774a"; - sha256 = "02xznsiij39lhjr261vl7yz4k4i76vshh5kwa7ax95zpj2zbs0v6"; + rev = "e55c555809037b7aaf2367ad2255f0a27addd23a"; + sha256 = "1nsihyx9znblc4kxyk06r7alhd4wh67312zwp9discgyf4ksm572"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/8bbf9ab9db03410c35b8b73a23bf8062b10f0815/recipes/firrtl-mode"; - sha256 = "11n3wjr9sinqafjs88bznb5rppnignwkn4m4ppixi6xr31v3i4ws"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/firrtl-mode"; + sha256 = "19r7wbw9pr05p8fywcnbbpdpklic2vd2bsy80r7xrzgs4fcl12as"; name = "recipe"; }; packageRequires = [ emacs ]; @@ -30762,12 +32627,12 @@ melpaBuild { pname = "fish-completion"; ename = "fish-completion"; - version = "20180616.1223"; + version = "20190207.1358"; src = fetchFromGitLab { owner = "Ambrevar"; repo = "emacs-fish-completion"; - rev = "bac15fda1392a891070574dfe5d2d50b10831e8b"; - sha256 = "029s1ha8pc4df0xng5c0xwv2rlcl423mgh1ffgnbh0fx7ybr5n4v"; + rev = "23aafb993f8f74dca6e2f299030ca5d3e1aee95b"; + sha256 = "04dcqhdb544i7c6np4prbq13cwfxw37czmpnm3j36di6c1g9gkzb"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6d17ca0213ba5ef9dce92002e281e6f08c3492be/recipes/fish-completion"; @@ -30788,12 +32653,12 @@ melpaBuild { pname = "fish-mode"; ename = "fish-mode"; - version = "20180306.818"; + version = "20180826.2003"; src = fetchFromGitHub { owner = "wwwjfy"; repo = "emacs-fish"; - rev = "bac709ac1235751952d6022dddc6307d9135d096"; - sha256 = "0a74ghmjjrxfdhk4mvq6lar4w6l6lc4iilabs99smqr2fn5rsslq"; + rev = "35fc7c1e243a7410823088a571ecf378e9f3efa6"; + sha256 = "0rn08dm4gn0g0nz080zxm0am1z6hfkinvzqwqszv96qkxy250ghp"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/efac97c0f54a3300251020c4626056526c18b441/recipes/fish-mode"; @@ -30814,12 +32679,12 @@ melpaBuild { pname = "fix-input"; ename = "fix-input"; - version = "20171231.2220"; + version = "20181231.2308"; src = fetchFromGitHub { owner = "mrkkrp"; repo = "fix-input"; - rev = "e053fcc641f1f835f2fdb71143e095c1889b8233"; - sha256 = "1w8vv2ijmsch02xsc1r97r6s3jz0dkd8kwz5wgiizq5ghx7x6x6j"; + rev = "02ce45f104284bc9ea7f8e7d1dc73bf9cd3f47d7"; + sha256 = "0xqid3s8q3swc2j4rj94lv8snk898www9ycp5l4264lii2dc7mnm"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7d31f907997d1d07ec794a4f09824f43818f035c/recipes/fix-input"; @@ -30866,12 +32731,12 @@ melpaBuild { pname = "fix-word"; ename = "fix-word"; - version = "20171231.2215"; + version = "20190215.1238"; src = fetchFromGitHub { owner = "mrkkrp"; repo = "fix-word"; - rev = "3e3339f5d44dd8be100cec1c88bcaefd328a2bde"; - sha256 = "0hd5bhq57qgabs881xfrz1v1n8sp1nv2hrfs386dx7g5b3ancr0i"; + rev = "b3b3a3c8e33e425f9a8d0ec653adb6897c8efc03"; + sha256 = "1nw9ih0knaqaban5nqp3anvr37mivylqs8sc8l3v1i9srlqnsj1m"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/22636390e8a15c09293a1506a901286dd72e565f/recipes/fix-word"; @@ -31135,12 +33000,12 @@ melpaBuild { pname = "flex-compile"; ename = "flex-compile"; - version = "20180528.853"; + version = "20181227.2248"; src = fetchFromGitHub { owner = "plandes"; repo = "flex-compile"; - rev = "0b6259944e78f0bc6ee4407d97e3d09db8fd400e"; - sha256 = "1qzzrxq80fl14slirmgidmpazj1gmh9b12jkz72flsbdiy7whpal"; + rev = "e91797c2185ed93e64fd5d11ab244d561278c744"; + sha256 = "18nbwidahm2n7fwznk5flxnf7rq77r5649wz45j0g4zvqpi1nwkl"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/259caeebc317e81ab9d532a371ea85656c2b1619/recipes/flex-compile"; @@ -31264,12 +33129,12 @@ melpaBuild { pname = "floobits"; ename = "floobits"; - version = "20170802.1500"; + version = "20180731.2224"; src = fetchFromGitHub { owner = "Floobits"; repo = "floobits-emacs"; - rev = "ed5586d1bf94f36354091648e824ccb6fcaf807f"; - sha256 = "08m9snmkhdjmvw1pqww9l39xqas9f6yxksjxvfjjfnad8ak80x9b"; + rev = "489b294a7f30ecd2af2edc0823dead8102f27af6"; + sha256 = "1pw88qn6s8ln626c8mgxgpfax39h7ww4m930dp7gg4aklxjbspkn"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/95c859e8440049579630b4c2bcc31e7eaa13b1f1/recipes/floobits"; @@ -31317,12 +33182,12 @@ melpaBuild { pname = "flower"; ename = "flower"; - version = "20180618.1222"; + version = "20190215.946"; src = fetchFromGitHub { owner = "PositiveTechnologies"; repo = "flower"; - rev = "4d05448dc0118078ec320f564d87acaa740ae47c"; - sha256 = "02p74f5hfhrhv5l7b9cwfbczsgkpqajlmr66qmkdljgc8ksr86n2"; + rev = "6ef1affa2d7090714ccc4494823de28cfc11da35"; + sha256 = "1dp3g52j1i49bv802g27b7yszpxz0i28i4j74qp39qlld3k0gys0"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c8a731715d360aea9af2b898242fd4eee5419d14/recipes/flower"; @@ -31335,6 +33200,58 @@ license = lib.licenses.free; }; }) {}; + flucui-themes = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "flucui-themes"; + ename = "flucui-themes"; + version = "20190321.1613"; + src = fetchFromGitHub { + owner = "MetroWind"; + repo = "flucui-theme"; + rev = "921ff298da71366eca3d1e4fc410126d405d5366"; + sha256 = "0gqsr0xsxrbxsdfn3yhf76wxpqp63m1652ryvc2hwskkgj41y3nl"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/77d06aa7405f0badf5ab425ddeeb7a754c17d2af/recipes/flucui-themes"; + sha256 = "0ki2vxjhccyi6w2y9qj6xbfqgvjd91wqkzn6qq8ig6ggqir7wc6a"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/flucui-themes"; + license = lib.licenses.free; + }; + }) {}; + flutter = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "flutter"; + ename = "flutter"; + version = "20190203.2201"; + src = fetchFromGitHub { + owner = "amake"; + repo = "flutter.el"; + rev = "4a59efee1cde408c311ef21c6d3e6fd65868ed42"; + sha256 = "1cn247dq85pkmv4wpv5pkfaizlphlns0nh97fgna2qr9ig3hpn6j"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/2dc736e396632d7a26c40b6b1de23f41b645722d/recipes/flutter"; + sha256 = "1v8m3rvdivww9bsk52m0ap336ql5zi637byisil4wcivxabc4i94"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/flutter"; + license = lib.licenses.free; + }; + }) {}; fluxus-mode = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -31455,12 +33372,12 @@ melpaBuild { pname = "flycheck"; ename = "flycheck"; - version = "20180720.247"; + version = "20190320.326"; src = fetchFromGitHub { owner = "flycheck"; repo = "flycheck"; - rev = "740d6670384e76f86d675d8ab00ff21eb7e09fcb"; - sha256 = "0hskxg1q100j55wszlzscy90vhcaylz40b2wqkrad4bflx4dv2x5"; + rev = "c311febff8c9bf07d6c6d486c32a07340ba62727"; + sha256 = "0kfd1a6na2h19ysdr0yziii79mbaqwgd3sjx4f0nvs4rs907a3iq"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/649f9c3576e81409ae396606798035173cc6669f/recipes/flycheck"; @@ -31481,12 +33398,12 @@ melpaBuild { pname = "flycheck-apertium"; ename = "flycheck-apertium"; - version = "20160406.618"; + version = "20181211.238"; src = fetchFromGitHub { owner = "unhammer"; repo = "flycheck-apertium"; - rev = "71cf49d5aaee962b995583384bfa045a1d4c3db7"; - sha256 = "14idjjz6fhmq806mmncmqnr9bvcjks6spin8z6jb0gqcg1dbhm06"; + rev = "22b60a17836477ac1edd15dc85b14f88ca871ba9"; + sha256 = "0313h4yh85xndzvy3yzznar79ys0ng3rdsz0xa237xqsf71ypg4z"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7f6cec0d312f0e86e17829e6fd8f87acabc0174f/recipes/flycheck-apertium"; @@ -31590,12 +33507,12 @@ melpaBuild { pname = "flycheck-checkbashisms"; ename = "flycheck-checkbashisms"; - version = "20160224.906"; + version = "20190402.1918"; src = fetchFromGitHub { owner = "Gnouc"; repo = "flycheck-checkbashisms"; - rev = "39362240b8e38e6ddc1da2e2c2229e3fecdf6057"; - sha256 = "1s2zq97d7ryif6rlbvriz36dh23wmwi67v4q6krl77dfzcs705b3"; + rev = "2e386775f1a0eb5d80e5d70e98474ee32ecafb24"; + sha256 = "1ai4p0s6wh4sp972fxkjlc4mn6ai1zc27zh4vm63rfrayri1g31z"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f5678ea5aef4dc8a517d6d9381a64f182645d344/recipes/flycheck-checkbashisms"; @@ -31644,12 +33561,12 @@ melpaBuild { pname = "flycheck-clang-analyzer"; ename = "flycheck-clang-analyzer"; - version = "20180225.2039"; + version = "20180917.725"; src = fetchFromGitHub { owner = "alexmurray"; repo = "flycheck-clang-analyzer"; - rev = "adc9e7663bafcc9b740c09b691898413627e74ab"; - sha256 = "10c45myq9vgsssp5v3vnip4klj9dxk8dh42zap44f9lw99ascx2r"; + rev = "5c707505e3ea806fddb54d031ab64351293d7c2d"; + sha256 = "0frbblyibalzskw2kv294yz846g04wlvpyshfwm95vwilv1f305v"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8de7b717a1b0caf30f8f29d3e764b4756b93aeff/recipes/flycheck-clang-analyzer"; @@ -31997,14 +33914,14 @@ ename = "flycheck-demjsonlint"; version = "20161114.2318"; src = fetchFromGitHub { - owner = "z4139jq"; + owner = "uqix"; repo = "flycheck-demjsonlint"; rev = "1c433150fdf628dda4c9fad938bf7c79610b4460"; sha256 = "0kmvwmaxw64xjgchq8szk9mhbi6xp2jhv7qpgqndf4svia4pqws6"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/b66df1afde83607408fb1b30e1260f22015bf448/recipes/flycheck-demjsonlint"; - sha256 = "0prwgi6v48ng89vvizb901iq4ysmrlh0g2b3797p1a6z2mps0k57"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/9a15a17a5aa78aed72958b2a1bde53f0c0ab5be7/recipes/flycheck-demjsonlint"; + sha256 = "0bcfkc9fch1h6gva64j71kb9l8fc9rz6wk0s9w1c1chx1z4nlill"; name = "recipe"; }; packageRequires = [ flycheck ]; @@ -32127,12 +34044,12 @@ melpaBuild { pname = "flycheck-dtrace"; ename = "flycheck-dtrace"; - version = "20180126.1135"; + version = "20180903.930"; src = fetchFromGitHub { owner = "juergenhoetzel"; repo = "flycheck-dtrace"; - rev = "c418a96cf1dc3bafc17b9bcd23d5097dcf334c92"; - sha256 = "00f7p895nfy9qr1hbcz7h8h8514rcv6ikrxl1pm4nvd045jicfyb"; + rev = "951fab3a15c11d92b9fac1ea4791a80dfe034a00"; + sha256 = "1qkzir3lzz4lc5kn55qb52cm5y7iy8w1ljq6xxzcjxfbk9980y0y"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cdcdd10fbcd58a5c67e4d07632212e7dedf42dbe/recipes/flycheck-dtrace"; @@ -32153,12 +34070,12 @@ melpaBuild { pname = "flycheck-elixir"; ename = "flycheck-elixir"; - version = "20171122.507"; + version = "20180809.2342"; src = fetchFromGitHub { owner = "lbolla"; repo = "emacs-flycheck-elixir"; - rev = "1f19a739cdb93851c6b01b1e188e215d035cd4a1"; - sha256 = "01820hm6231z3zaq97jmmvdrpnyp38cb0m6xms5ihq2r1fqx8z2c"; + rev = "11998d7e3e63a33453e934d25b3673f7c558e579"; + sha256 = "1hdbg0hvb6hwzjma9mxy0h888c8j2z4g38gwixrdixzbw5727r75"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/da2ab73ab1426f71ea2b2bea2b418941856b3454/recipes/flycheck-elixir"; @@ -32175,29 +34092,87 @@ , fetchFromGitHub , fetchurl , flycheck + , let-alist , lib - , melpaBuild }: + , melpaBuild + , seq }: melpaBuild { pname = "flycheck-elm"; ename = "flycheck-elm"; - version = "20160717.257"; + version = "20181106.1746"; src = fetchFromGitHub { owner = "bsermons"; repo = "flycheck-elm"; - rev = "b401873ebd2176190a0a6fb4d61c2cca97d3b9fb"; - sha256 = "18apypk32dyg8zwvrcsza2j10z4zbpff04cz3xzhjskmkzw6210i"; + rev = "debd0af563cb6c2944367a691c7fa3021d9378c1"; + sha256 = "1vl0lss2n50pz5wscqj6vhjwb4hbg8xx2chh5vafsrnn0a3fryrd"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/78bdcdaa660beda29acecb51761b95d8664d28ac/recipes/flycheck-elm"; sha256 = "06dpv19wgbw48gbf701c77vw1dkpddx8056wpim3zbvwwfwk8ra4"; name = "recipe"; }; - packageRequires = [ emacs flycheck ]; + packageRequires = [ emacs flycheck let-alist seq ]; meta = { homepage = "https://melpa.org/#/flycheck-elm"; license = lib.licenses.free; }; }) {}; + flycheck-elsa = callPackage ({ cask + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , seq }: + melpaBuild { + pname = "flycheck-elsa"; + ename = "flycheck-elsa"; + version = "20190211.1121"; + src = fetchFromGitHub { + owner = "emacs-elsa"; + repo = "flycheck-elsa"; + rev = "d216bf97e6f4f200354f701fadff669403e18e46"; + sha256 = "1r7xnph5q1si4kp3900nvh1il69nhrb1yfh9h13zwpwfql4add4n"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/2a15c49d2fc800a6b69304edd6dbad90aaa5053f/recipes/flycheck-elsa"; + sha256 = "07a07hmy7cibm7263dw4x8kkv17g5hby8isaks7n2814ifblf30r"; + name = "recipe"; + }; + packageRequires = [ cask emacs seq ]; + meta = { + homepage = "https://melpa.org/#/flycheck-elsa"; + license = lib.licenses.free; + }; + }) {}; + flycheck-ensime = callPackage ({ emacs + , ensime + , fetchFromGitHub + , fetchurl + , flycheck + , lib + , melpaBuild }: + melpaBuild { + pname = "flycheck-ensime"; + ename = "flycheck-ensime"; + version = "20190212.242"; + src = fetchFromGitHub { + owner = "ncaq"; + repo = "flycheck-ensime"; + rev = "9fe000e7004725bc8c3b7554237d717bca9cd9ac"; + sha256 = "0fl6p2hvcm1f5snx8a82h53kkfnbgycik0d5a7krcjgiby6w7wam"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/c8d1ef354566c7f337c62accbd1d2f86ffcbd98a/recipes/flycheck-ensime"; + sha256 = "11h7xwm8vwi8nca7yy9q0y30jcj77s07aa45xqz7n8rsqp6wdp3z"; + name = "recipe"; + }; + packageRequires = [ emacs ensime flycheck ]; + meta = { + homepage = "https://melpa.org/#/flycheck-ensime"; + license = lib.licenses.free; + }; + }) {}; flycheck-flawfinder = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -32234,12 +34209,12 @@ melpaBuild { pname = "flycheck-flow"; ename = "flycheck-flow"; - version = "20180216.1156"; + version = "20190304.659"; src = fetchFromGitHub { owner = "lbolla"; repo = "emacs-flycheck-flow"; - rev = "8173accf0e389f7ba0936d399da84839a7f887af"; - sha256 = "14g3mi8i4iy5f3fd3f7yx8ha18zi0kxqgn3sxkvdnk9rp1cdfnk1"; + rev = "9e8e52cfc98af6a23fd906f9cb5d5d470d8cf82d"; + sha256 = "14qldlisbmxzammr500gyha2hiv2xgyzfc6mysqii06kbcqn1ik1"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4d18fb21d8ef9b33aa84bc26f5918e636c5771e5/recipes/flycheck-flow"; @@ -32288,12 +34263,12 @@ melpaBuild { pname = "flycheck-golangci-lint"; ename = "flycheck-golangci-lint"; - version = "20180711.117"; + version = "20190330.712"; src = fetchFromGitHub { owner = "weijiangan"; repo = "flycheck-golangci-lint"; - rev = "b4b51aa6fe5335c0f46f2f83c7dc32e4141ff9f1"; - sha256 = "0kxzziq4d4x1li1cimjckxk5n1429017k39jbfxm4p1bzq1xd6q3"; + rev = "8e446c68311048f0b87febf8ef0379e29d358851"; + sha256 = "0xxxqk8ag082nwwq3dvhzvnbgn9c90mbda7qvi2y4qbh1p1nccqc"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/fffbecd6cb43866fc9f37ba2d2c998ef6186c6d5/recipes/flycheck-golangci-lint"; @@ -32342,12 +34317,12 @@ melpaBuild { pname = "flycheck-gradle"; ename = "flycheck-gradle"; - version = "20180403.33"; + version = "20190314.1934"; src = fetchFromGitHub { owner = "jojojames"; repo = "flycheck-gradle"; - rev = "a14b45183e50993e8b28a4c57ad5db82b789faef"; - sha256 = "1n3i0fh0rvy29gykqamxayfbbv5jy3h6l375pw4ckydcqlp0dgxk"; + rev = "1ca08bbc343362a923cbdc2010f66e41655e92ab"; + sha256 = "14zvx7f2nszf8p14aibqa4pdg3ly7yw66a58bw2whjw9zfi9rnr0"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/382d9afd2bbb0c137719c308a67d185b86d84331/recipes/flycheck-gradle"; @@ -32360,6 +34335,32 @@ license = lib.licenses.free; }; }) {}; + flycheck-grammalecte = callPackage ({ emacs + , fetchgit + , fetchurl + , flycheck + , lib + , melpaBuild }: + melpaBuild { + pname = "flycheck-grammalecte"; + ename = "flycheck-grammalecte"; + version = "20190212.805"; + src = fetchgit { + url = "https://git.deparis.io/flycheck-grammalecte/"; + rev = "2f4812eaa6e809051e23c34a085df2b704a15741"; + sha256 = "0xzmr2c74f3375q4nx7zf2jpxawxdkid5mf5nw81wl2v55mv1k2q"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/fdd82aa0568d998a3d176b5ee47b8a227438ea09/recipes/flycheck-grammalecte"; + sha256 = "0xqg995a42cl6mvmpi68ay56fgs636cbzg65q5si5yc1yzgl74nv"; + name = "recipe"; + }; + packageRequires = [ emacs flycheck ]; + meta = { + homepage = "https://melpa.org/#/flycheck-grammalecte"; + license = lib.licenses.free; + }; + }) {}; flycheck-haskell = callPackage ({ dash , emacs , fetchFromGitHub @@ -32373,12 +34374,12 @@ melpaBuild { pname = "flycheck-haskell"; ename = "flycheck-haskell"; - version = "20180611.1442"; + version = "20181207.846"; src = fetchFromGitHub { owner = "flycheck"; repo = "flycheck-haskell"; - rev = "32877c2912d435c30c0202680611d127862a372c"; - sha256 = "1glqpgk27fabhs8g6h6g0mlaxbvg2vb2z99rr27nk938f0mv65za"; + rev = "32ddff87165a7d3a35e7318bee997b5b4bd41278"; + sha256 = "10pgsbagq6qj4mshq5sypv0q0khck92b30sc793b4g1pfpsxvgjn"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6ca601613788ae830655e148a222625035195f55/recipes/flycheck-haskell"; @@ -32418,6 +34419,32 @@ license = lib.licenses.free; }; }) {}; + flycheck-ini-pyinilint = callPackage ({ fetchFromGitLab + , fetchurl + , flycheck + , lib + , melpaBuild }: + melpaBuild { + pname = "flycheck-ini-pyinilint"; + ename = "flycheck-ini-pyinilint"; + version = "20190312.1231"; + src = fetchFromGitLab { + owner = "danieljrmay"; + repo = "flycheck-ini-pyinilint"; + rev = "54744a78d06373404933fedc3ca836916e83de51"; + sha256 = "1zdvan6l2s97s7swnccq21z1ja8vl64l757j3hg50ipq8j5yy9dl"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/c2a1d0b4be0dd3e238ad2e3a157b11ecc82c0639/recipes/flycheck-ini-pyinilint"; + sha256 = "028ksrlrrsn2wsz7kqf3qk4pp3scs7zvp74c4xj52rm4hh7ycbl7"; + name = "recipe"; + }; + packageRequires = [ flycheck ]; + meta = { + homepage = "https://melpa.org/#/flycheck-ini-pyinilint"; + license = lib.licenses.free; + }; + }) {}; flycheck-inline = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -32427,12 +34454,12 @@ melpaBuild { pname = "flycheck-inline"; ename = "flycheck-inline"; - version = "20180529.614"; + version = "20190320.911"; src = fetchFromGitHub { owner = "flycheck"; repo = "flycheck-inline"; - rev = "816d37bd7f7034502a7569515df1898a3bcd155c"; - sha256 = "12lsf5f6866jgj5s40gcsg377gzvwni8bla6bx4l5jjn36lf1nvi"; + rev = "cf9eceabff8370f3b834b943a5777b9f914583f9"; + sha256 = "1sk8r90iqxpzrg0lpq4vd8ywdi08i0bbmgdivmr510jw2bpi3wp4"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a9ecc3a4696d2b3b0f0b8b1ca6e5285380ac046a/recipes/flycheck-inline"; @@ -32508,12 +34535,12 @@ melpaBuild { pname = "flycheck-joker"; ename = "flycheck-joker"; - version = "20180712.2102"; + version = "20180912.2204"; src = fetchFromGitHub { owner = "candid82"; repo = "flycheck-joker"; - rev = "0d8d5683a273093ca12841bf93d10dae97ccbc5d"; - sha256 = "0r9w0ky1522yz1jdi8fd36lpdjm30vxq41x77vswikqxvscri3dq"; + rev = "51e99e697761ee8dab863930910abdba7607c1bd"; + sha256 = "07pxfvnrgp7f3rb27j1zrq04pncvga4291krqqy3dzwazsjplz48"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/599bf33a5d4a4a590b355001e532cab4e1ee9ef6/recipes/flycheck-joker"; @@ -32587,12 +34614,12 @@ melpaBuild { pname = "flycheck-ledger"; ename = "flycheck-ledger"; - version = "20180125.31"; + version = "20180818.2021"; src = fetchFromGitHub { owner = "purcell"; repo = "flycheck-ledger"; - rev = "044f28d126d1bce55c4b78ba6d5bc92e1f6cfd69"; - sha256 = "1k14jwz79mjsm0cfig5lc0byfrhvm495wrkybdl36b56q4qhxf58"; + rev = "8d7f52a4c7f80ca396ef0fc6c7d8e9f005778dfc"; + sha256 = "0m5zhyzrh4lx7vzwdgdwcfkipdvi3y8kavhckbd7vd9zwx539ij1"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/dc715e6849aa5d6017e2478514c4a0d84c7ddbe5/recipes/flycheck-ledger"; @@ -32668,12 +34695,12 @@ melpaBuild { pname = "flycheck-mercury"; ename = "flycheck-mercury"; - version = "20151122.2334"; + version = "20181118.1152"; src = fetchFromGitHub { owner = "flycheck"; repo = "flycheck-mercury"; - rev = "fa9e433a0a912f0fae9e4dec9ea616ef99fcf861"; - sha256 = "0isqa6ybdd4166h3rdcg0b8pcxn00v8dav58xwfcj92nhzvs0qca"; + rev = "b6807a8db70981e21a91a93324c31e49de85c89f"; + sha256 = "15pjqglpcwm4wy0cxk1man3ar0n56qi1bjrr1fxfjq2xwsgsfagh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a775d12d9b9b6f27a44aeffbbb18de46a9e1b532/recipes/flycheck-mercury"; @@ -32722,12 +34749,12 @@ melpaBuild { pname = "flycheck-mmark"; ename = "flycheck-mmark"; - version = "20180203.932"; + version = "20181231.2257"; src = fetchFromGitHub { owner = "mmark-md"; repo = "flycheck-mmark"; - rev = "7fdcc48ff6ffa5e7db126a76f4948ab08b9eb8d4"; - sha256 = "0g6a8nm5mxgca7psyi127ky68mal0lj7n486fgrwsg3bxglbsk5m"; + rev = "a11563dcb9ed48f71274e0c6eb9e76b65d44bf40"; + sha256 = "00pg5cds9s82aip9bh9f6qlknzcfdxlj37gi8cffknxxgmvrrjbc"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2fd10423ab80e32245bb494005c8f87a8987fffb/recipes/flycheck-mmark"; @@ -32748,12 +34775,12 @@ melpaBuild { pname = "flycheck-mypy"; ename = "flycheck-mypy"; - version = "20180518.4"; + version = "20180907.316"; src = fetchFromGitHub { owner = "lbolla"; repo = "emacs-flycheck-mypy"; - rev = "043e8bba13a6d5e760cde8374c8f77d90946a1f5"; - sha256 = "0rcw8nxs5n9l8gdgs1yy240qnbad60j1m15xdy35s99nq7x1ksvn"; + rev = "6f99166f5229c7b4298cff1818b7eaece1c9c8bd"; + sha256 = "06rdwjljhficbdf74qzlxsy02xhd8msp79fx75nwbxbd84q6dr5w"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b1f5ad8263ee33b8950ff68e39dca5b1f1748c1b/recipes/flycheck-mypy"; @@ -32829,12 +34856,12 @@ melpaBuild { pname = "flycheck-objc-clang"; ename = "flycheck-objc-clang"; - version = "20180410.422"; + version = "20181116.401"; src = fetchFromGitHub { owner = "GyazSquare"; repo = "flycheck-objc-clang"; - rev = "f4a76ac199b67ff383ab5e70434c9b98b48c92d5"; - sha256 = "0ryanx4vmy9jwqjnwvma6dm136y4fh227cyhz206km6595bbn3nc"; + rev = "a3781e47f14068c811534a3348bf479eeb3f2041"; + sha256 = "00a2wg6g74plbmva3bwms7brdlv9i28w51yxisiv04la126m69js"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4ff4412f507371b93cfb85fc744e54110cd87338/recipes/flycheck-objc-clang"; @@ -32903,6 +34930,34 @@ license = lib.licenses.free; }; }) {}; + flycheck-pact = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , flycheck + , lib + , melpaBuild + , pact-mode }: + melpaBuild { + pname = "flycheck-pact"; + ename = "flycheck-pact"; + version = "20180920.1352"; + src = fetchFromGitHub { + owner = "kadena-io"; + repo = "flycheck-pact"; + rev = "0e10045064ef89ec8b6f5a473073d47b976a2ca3"; + sha256 = "072jc0vrjg531ydk5bjrjpmbvdk81yw75jqjnvb7alkib6jn5f9r"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/0ffc77b2ddcd4f9c27a2306459cf2fcde7880e3e/recipes/flycheck-pact"; + sha256 = "1nxmh6p2id4cxzs7jxdrk88g8qmvk33nbzmrqhm7962iqizlvnrw"; + name = "recipe"; + }; + packageRequires = [ emacs flycheck pact-mode ]; + meta = { + homepage = "https://melpa.org/#/flycheck-pact"; + license = lib.licenses.free; + }; + }) {}; flycheck-perl6 = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -32940,12 +34995,12 @@ melpaBuild { pname = "flycheck-phpstan"; ename = "flycheck-phpstan"; - version = "20180430.358"; + version = "20190227.842"; src = fetchFromGitHub { owner = "emacs-php"; repo = "phpstan.el"; - rev = "3653f2a316f4199cbd3238e984eea2325e2618d5"; - sha256 = "1dyba8hpr16nsdv1i45pl3w97728w7p8vl9gf5gvd18xcll4848d"; + rev = "1151b8d418af532fdf0732b9793b479c64a364e3"; + sha256 = "0wb9pshgcrq2w9d9fpkywz299ihcb9fffh3fdk8rm1r8irylrjkh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5a2b6cc39957e6d7185bd2bdfa3755e5b1f474a6/recipes/flycheck-phpstan"; @@ -33022,12 +35077,12 @@ melpaBuild { pname = "flycheck-pony"; ename = "flycheck-pony"; - version = "20160501.1417"; + version = "20190226.1835"; src = fetchFromGitHub { owner = "SeanTAllen"; repo = "flycheck-pony"; - rev = "3d3387133a44f5b3f0fb178ef4addf6e1ce1df2f"; - sha256 = "1da10q378k5kbcj0rrpzhm7r3ym4rfwc7v1ialcndbmflsn09m5s"; + rev = "9356cbcd404eaf381ab0c4b0f9c47232f723fa7e"; + sha256 = "1rzz3cl0pxn3hhrkxcdiy17wl4dzbn8kxm3hq90zmhag1gbfy4zz"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e2bcb82f4ddb92243058c9ab1a67d4f7ef87b155/recipes/flycheck-pony"; @@ -33106,12 +35161,12 @@ melpaBuild { pname = "flycheck-posframe"; ename = "flycheck-posframe"; - version = "20180321.2307"; + version = "20190327.411"; src = fetchFromGitHub { owner = "alexmurray"; repo = "flycheck-posframe"; - rev = "61bdfd4b04e1651163fdcaa7dc631ad073b3e513"; - sha256 = "1r5cwmrszp5cvzlcc4dyhajxd0zrgxjpc0arhr2jkw1fc3d611x9"; + rev = "d1591cfaef04c67e1a01a32833f140ab27c33773"; + sha256 = "1c1fxl8l8z5b6k4hb2bk6n6w4diyg9sz04qbqq91qls8rwnnvy0a"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/124f2a7833e3386a0bf57c8111d782ae7a7ee02e/recipes/flycheck-posframe"; @@ -33150,36 +35205,6 @@ license = lib.licenses.free; }; }) {}; - flycheck-purescript = callPackage ({ dash - , emacs - , fetchFromGitHub - , fetchurl - , flycheck - , let-alist - , lib - , melpaBuild - , seq }: - melpaBuild { - pname = "flycheck-purescript"; - ename = "flycheck-purescript"; - version = "20161121.907"; - src = fetchFromGitHub { - owner = "emacs-pe"; - repo = "flycheck-purescript"; - rev = "60087203dfc9a1338a77c5d621480eac6f0426e1"; - sha256 = "00iyy7gfhxyz4zna423c6y4wyx0rcd6kd1z50s22bi31bya9w8k1"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/a315aad238fa223058a495e1ca8c71da6447024c/recipes/flycheck-purescript"; - sha256 = "05j1iscyg9khw0zq63676zrisragklxp48hmbc7vrbmbiy964lwd"; - name = "recipe"; - }; - packageRequires = [ dash emacs flycheck let-alist seq ]; - meta = { - homepage = "https://melpa.org/#/flycheck-purescript"; - license = lib.licenses.free; - }; - }) {}; flycheck-pycheckers = callPackage ({ fetchFromGitHub , fetchurl , flycheck @@ -33188,12 +35213,12 @@ melpaBuild { pname = "flycheck-pycheckers"; ename = "flycheck-pycheckers"; - version = "20180717.2300"; + version = "20190308.1115"; src = fetchFromGitHub { owner = "msherry"; repo = "flycheck-pycheckers"; - rev = "f85eb69318729689d09f69e955d800ddc6124d6a"; - sha256 = "0dw342g27mhnfpv83ni7gjx47issmk94hinrakjaf91vm3bjwaag"; + rev = "15951d3dfec4c63e4761af53a85f2ade6182bf82"; + sha256 = "01lbh1g2ndgsk71qyskx9aii95bbw787mrf98zh7ihk2ak5nskaz"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/af36dca316b318d25d65c9e842f15f736e19ea63/recipes/flycheck-pycheckers"; @@ -33232,29 +35257,31 @@ license = lib.licenses.free; }; }) {}; - flycheck-rebar3 = callPackage ({ fetchFromGitHub - , fetchurl - , flycheck - , lib - , melpaBuild }: + flycheck-pyre = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub + , fetchurl + , flycheck + , lib + , melpaBuild }: melpaBuild { - pname = "flycheck-rebar3"; - ename = "flycheck-rebar3"; - version = "20161030.615"; + pname = "flycheck-pyre"; + ename = "flycheck-pyre"; + version = "20190215.422"; src = fetchFromGitHub { - owner = "joedevivo"; - repo = "flycheck-rebar3"; - rev = "56a7c94857f0a0ea6a2a73c476a1a2faadc0f7c6"; - sha256 = "1pas49arri2vs9zm3r8jl4md74p5fpips3imc3s7nafbfrhh8ix3"; + owner = "linnik"; + repo = "flycheck-pyre"; + rev = "0560122caae207d99d8af1ac2b4e5d6f6a1ce444"; + sha256 = "0f58127197q6yfylz53nigyn7v91pcsdd91ywfgq5lrl0f5fvmdy"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/2acff5eea030b91e457df8aa75243993c87ca00e/recipes/flycheck-rebar3"; - sha256 = "1ml9k61n5vy4c2q6c10q9j10ky0iqkinx21bl7hip1r6b5b1kmmc"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/aca6199ebfbf93f844c8f7a3db785dec079ef8af/recipes/flycheck-pyre"; + sha256 = "0h7ccxw9ymlmr2vq3p61cbfxfcjs8pzm73654s13c18rbl6dzfxv"; name = "recipe"; }; - packageRequires = [ flycheck ]; + packageRequires = [ cl-lib emacs flycheck ]; meta = { - homepage = "https://melpa.org/#/flycheck-rebar3"; + homepage = "https://melpa.org/#/flycheck-pyre"; license = lib.licenses.free; }; }) {}; @@ -33298,12 +35325,12 @@ melpaBuild { pname = "flycheck-rust"; ename = "flycheck-rust"; - version = "20180327.945"; + version = "20190319.846"; src = fetchFromGitHub { owner = "flycheck"; repo = "flycheck-rust"; - rev = "a722204cff5bffe26b8f127c7003cfc9ed00e34b"; - sha256 = "1z0zkf4dxkma6qz83ysyhbfvr0sg2cwxvsapc9j9l1x9nskybv2g"; + rev = "a139cd53c5062697e9ed94ad80b803c37d999600"; + sha256 = "1fh6j5w2387nh2fwwjphkhq17cgj5m2q5k0fhidvgc2w65lzbr1r"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/68d8cdf3d225b13ebbbe5ce81a01366f33266aed/recipes/flycheck-rust"; @@ -33316,6 +35343,33 @@ license = lib.licenses.free; }; }) {}; + flycheck-soar = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , flycheck + , lib + , melpaBuild }: + melpaBuild { + pname = "flycheck-soar"; + ename = "flycheck-soar"; + version = "20181106.52"; + src = fetchFromGitHub { + owner = "tszg"; + repo = "flycheck-soar"; + rev = "d2f03a0af9b625a645f3194dc24cfeee94d92760"; + sha256 = "02ll2nw2x45nfmxdj1ps62jr663spy01vy8gfg1qh2rl1pjviwqw"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/15cae578c5ba5152be0726f046b5f2dc4719a387/recipes/flycheck-soar"; + sha256 = "14xpq3pdfwacmhl9x8fdzcsanpf6zljdzh6gwclw724k720acbdl"; + name = "recipe"; + }; + packageRequires = [ emacs flycheck ]; + meta = { + homepage = "https://melpa.org/#/flycheck-soar"; + license = lib.licenses.free; + }; + }) {}; flycheck-stack = callPackage ({ fetchFromGitHub , fetchurl , flycheck @@ -33408,12 +35462,12 @@ melpaBuild { pname = "flycheck-swift3"; ename = "flycheck-swift3"; - version = "20180411.652"; + version = "20190125.2050"; src = fetchFromGitHub { owner = "GyazSquare"; repo = "flycheck-swift3"; - rev = "06a6f98d7e498860b345bbd03e96bfe59608f508"; - sha256 = "0h1n4x0fvqfb6jcapbab1ck6bj4d7irbn9zz2hxv2rlrkqxfsmh3"; + rev = "ba4e831ff04b180323435214dd4cca8184968ad1"; + sha256 = "1ss2s3q2mv07ph87i2fki1nxq6b51xs4i1mll1faplj2nrr2hyzm"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f1fb8c731c118327dc0bbb726e046fec46bcfb82/recipes/flycheck-swift3"; @@ -33435,12 +35489,12 @@ melpaBuild { pname = "flycheck-swiftlint"; ename = "flycheck-swiftlint"; - version = "20180312.1656"; + version = "20180829.2040"; src = fetchFromGitHub { owner = "jojojames"; repo = "flycheck-swiftlint"; - rev = "8496fd4499ef5c0e0cfeb65f4d76c6f9dd8991f3"; - sha256 = "0d2s9brccv7lgw2vnglhhaq29mxb3pxiclhx4w28gb76x8r2rsf7"; + rev = "65101873c4c9f8e7eac9471188b161eeddda1555"; + sha256 = "007n0jv5z159pw5bcqcycv6h31rl0z16m22yrhqi94yc14jlw5ma"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7e2a979726507e974a0a19dfc2ca6884157025be/recipes/flycheck-swiftlint"; @@ -33545,12 +35599,12 @@ melpaBuild { pname = "flycheck-vale"; ename = "flycheck-vale"; - version = "20180308.2243"; + version = "20180928.42"; src = fetchFromGitHub { owner = "abingham"; repo = "flycheck-vale"; - rev = "7777e0d4cf961b6ee6ae4ef917636121d18b3ee8"; - sha256 = "1k0bhyy2r9c79lld7mbhw8n4c1hlzwr5qp5wmcxzya0fnp3s6g9j"; + rev = "131dacdf55e2b469d64543e4ae373aa93ec40a4f"; + sha256 = "07927h7d8qpf7wi6ish8lh15x414qz4298bik3p7vgls7qr8di4h"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7693eeb536e601589b49f96d0e2734cd08fad4f2/recipes/flycheck-vale"; @@ -33563,6 +35617,34 @@ license = lib.licenses.free; }; }) {}; + flycheck-vdm = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , flycheck + , lib + , melpaBuild + , vdm-mode }: + melpaBuild { + pname = "flycheck-vdm"; + ename = "flycheck-vdm"; + version = "20190304.39"; + src = fetchFromGitHub { + owner = "peterwvj"; + repo = "vdm-mode"; + rev = "103993147b24325ef68099d087dce9ac501f02f9"; + sha256 = "1amwm9m6d0z5pjkp9ng8xma57058br3fvnhk64placlln6fkajbz"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/f246b9dcf7915a845b9e2cd44cc1a0833b412c8f/recipes/flycheck-vdm"; + sha256 = "15ng1l8gfp8iz50yb5d39dy57763gd2x8j6z6rz0byiykgxhl9zg"; + name = "recipe"; + }; + packageRequires = [ emacs flycheck vdm-mode ]; + meta = { + homepage = "https://melpa.org/#/flycheck-vdm"; + license = lib.licenses.free; + }; + }) {}; flycheck-xcode = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -33655,12 +35737,12 @@ melpaBuild { pname = "flycheck-ycmd"; ename = "flycheck-ycmd"; - version = "20180207.843"; + version = "20181015.2318"; src = fetchFromGitHub { owner = "abingham"; repo = "emacs-ycmd"; - rev = "e21c99de8fd2992031adaa758df0d495e55d682a"; - sha256 = "1l9xsqlcqi25mdka806gz3h4y4x0dh00n6bajh3x908ayixjgf91"; + rev = "ef87d020d3314efbac2e8925c115d0ac5c128c2a"; + sha256 = "143xc0ji8s3par4jfz8fxwrxqwfhndc1w8vrzpsycxc36mryzy26"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/flycheck-ycmd"; @@ -33777,6 +35859,33 @@ license = lib.licenses.free; }; }) {}; + flymake-diagnostic-at-point = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , popup }: + melpaBuild { + pname = "flymake-diagnostic-at-point"; + ename = "flymake-diagnostic-at-point"; + version = "20180815.304"; + src = fetchFromGitHub { + owner = "meqif"; + repo = "flymake-diagnostic-at-point"; + rev = "379616b1c6f5ebeaf08fbe54ae765008a78b3be7"; + sha256 = "1wbzrxxz5z1xg2lwmqgglvixxf1xm3gl6mdyj9idsbym05azm3hg"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/b7ae169ca3b59d3b876d52148dac573b7f083ac3/recipes/flymake-diagnostic-at-point"; + sha256 = "0cdxb9w5sq6z6wramj1bss5vwqzxkmdyzb1di39rghyh243cdrzx"; + name = "recipe"; + }; + packageRequires = [ emacs popup ]; + meta = { + homepage = "https://melpa.org/#/flymake-diagnostic-at-point"; + license = lib.licenses.free; + }; + }) {}; flymake-easy = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -33903,6 +36012,32 @@ license = lib.licenses.free; }; }) {}; + flymake-gradle = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "flymake-gradle"; + ename = "flymake-gradle"; + version = "20190314.1933"; + src = fetchFromGitHub { + owner = "jojojames"; + repo = "flymake-gradle"; + rev = "dbedd29b78d4828ef57d4de20867be5df3eaab99"; + sha256 = "0g6h09lz68b4dvqv5sksr7gkab0599fbm07xnc2mk01lzbas43b0"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/7cccc8537324e0faf7fd35325e3ccd3b2e05771a/recipes/flymake-gradle"; + sha256 = "00wpymzw2j2zx37nq8qf77pk04r0hxlmlwykcj6yzq9bfgi75wnf"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/flymake-gradle"; + license = lib.licenses.free; + }; + }) {}; flymake-haml = callPackage ({ fetchFromGitHub , fetchurl , flymake-easy @@ -34059,6 +36194,32 @@ license = lib.licenses.free; }; }) {}; + flymake-ktlint = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "flymake-ktlint"; + ename = "flymake-ktlint"; + version = "20180830.2046"; + src = fetchFromGitHub { + owner = "jojojames"; + repo = "flymake-ktlint"; + rev = "bea8bf350802c06756efd4e6dfba65f31dc41d78"; + sha256 = "0sycdd3har8rxg8jm55nl25g8f41y3rsnsn4sblb7pbz5x5i6ixc"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/7b2e630e5e16044fb8ffe251f4fa58fb8f3d6bb9/recipes/flymake-ktlint"; + sha256 = "07v90pkhmrz59m6hf1lzxq4h3kk4qblihw4qgz5phbj4l5pahivd"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/flymake-ktlint"; + license = lib.licenses.free; + }; + }) {}; flymake-less = callPackage ({ fetchFromGitHub , fetchurl , flymake-easy @@ -34121,14 +36282,14 @@ ename = "flymake-perlcritic"; version = "20120328.114"; src = fetchFromGitHub { - owner = "illusori"; + owner = "flymake"; repo = "emacs-flymake-perlcritic"; rev = "0692d6ad5495f6e5438bde0a10345829b8e1def8"; sha256 = "11r982h5fhjkmm9ld8wfdip0ghinw523nm1w4fmy830g0bbkgkrq"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/ca7bf43ef8893bf04e9658390e306ef69e80a156/recipes/flymake-perlcritic"; - sha256 = "0hibnh463wzhvpix7gygpgs04gi6salwjrsjc6d43lxlsn3y1im8"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3416586d4d782cdd61a56159c5f80a0ca9b3ddf4/recipes/flymake-perlcritic"; + sha256 = "1i0bc81cby2nsala2mhghzv7clhbf1gpp54vdxiq2wdanqy25vmk"; name = "recipe"; }; packageRequires = [ flymake ]; @@ -34241,6 +36402,32 @@ license = lib.licenses.free; }; }) {}; + flymake-racket = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "flymake-racket"; + ename = "flymake-racket"; + version = "20180911.1809"; + src = fetchFromGitHub { + owner = "jojojames"; + repo = "flymake-racket"; + rev = "7900d9c1a34a55ca281cc997e9620f5f31cc098c"; + sha256 = "10iygb5wmdqc2fk398l918bz56myd858h6xvgd8ml1av7v5x3zmp"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/67f2b469ea8df6d0db6b9ece91f544c0e7dd3ab2/recipes/flymake-racket"; + sha256 = "173dyn8bxggyh0g97gg5f0si3905116i3k6s3islsblgrz00gjcn"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/flymake-racket"; + license = lib.licenses.free; + }; + }) {}; flymake-ruby = callPackage ({ fetchFromGitHub , fetchurl , flymake-easy @@ -34345,6 +36532,32 @@ license = lib.licenses.free; }; }) {}; + flymake-shellcheck = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "flymake-shellcheck"; + ename = "flymake-shellcheck"; + version = "20181213.1624"; + src = fetchFromGitHub { + owner = "federicotdn"; + repo = "flymake-shellcheck"; + rev = "ee240f2177510ffadbb21220e2b2376edff05020"; + sha256 = "1nrpgxwkybz7wd0751j9224fvg0lfmkdxqac39mlbzx8ypk6sy3q"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/8dccb106ff6c9cb4b14440be9026c3e427dddff2/recipes/flymake-shellcheck"; + sha256 = "1gvm4sh1sga3gkkg0zi7ynvp9b09sx16cclj2qzawmgfv2c111vy"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/flymake-shellcheck"; + license = lib.licenses.free; + }; + }) {}; flymake-solidity = callPackage ({ fetchFromGitHub , fetchurl , flymake-easy @@ -34397,6 +36610,32 @@ license = lib.licenses.free; }; }) {}; + flymake-vnu = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "flymake-vnu"; + ename = "flymake-vnu"; + version = "20181127.1816"; + src = fetchFromGitHub { + owner = "theneosloth"; + repo = "flymake-vnu"; + rev = "7c4ab9d12611756ad5a80d866890b2f9b73fb611"; + sha256 = "1jzdypfbvdbm9z6ankl35bzlpf32iymzlvxmdykddzwzbhkj1npf"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/0cfb4c70ebb75088ef6fb39efde91429802b4671/recipes/flymake-vnu"; + sha256 = "05i6sfylg716cr0k0hyvkmag25qcqh51plljv6sw8250fwxwn0xn"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/flymake-vnu"; + license = lib.licenses.free; + }; + }) {}; flymake-yaml = callPackage ({ fetchFromGitHub , fetchurl , flymake-easy @@ -34481,12 +36720,12 @@ melpaBuild { pname = "flyspell-correct"; ename = "flyspell-correct"; - version = "20180427.1135"; + version = "20181223.348"; src = fetchFromGitHub { owner = "d12frosted"; repo = "flyspell-correct"; - rev = "e47b83e5efb524dfab5a6f92304b319fa6376ae0"; - sha256 = "1w1idyryxq496i1plx8xjyfidakyncx3sa9j3ik7x148ywaf8kwm"; + rev = "cf492832a59d1b1112868fff430a6f74f9baf83a"; + sha256 = "102nf4abm6kpk3mkf850hq55x61nvv919p66jdg9ry732682987b"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/fa06fbe3bc40ae5e3f6d10dee93a9d49e9288ba5/recipes/flyspell-correct"; @@ -34508,12 +36747,12 @@ melpaBuild { pname = "flyspell-correct-helm"; ename = "flyspell-correct-helm"; - version = "20180427.1135"; + version = "20181205.1132"; src = fetchFromGitHub { owner = "d12frosted"; repo = "flyspell-correct"; - rev = "e47b83e5efb524dfab5a6f92304b319fa6376ae0"; - sha256 = "1w1idyryxq496i1plx8xjyfidakyncx3sa9j3ik7x148ywaf8kwm"; + rev = "2f5548ded6991b22ad291372640aecaf6eac7a39"; + sha256 = "1xwm0kg3x403x5s2bg9f42qwbc9hq4x7lhqjw95q7jsbq5nq4kiy"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7b9302d8f804c77eb81fee7ed27f13cb1176f6/recipes/flyspell-correct-helm"; @@ -34535,12 +36774,12 @@ melpaBuild { pname = "flyspell-correct-ivy"; ename = "flyspell-correct-ivy"; - version = "20180427.1135"; + version = "20181205.1132"; src = fetchFromGitHub { owner = "d12frosted"; repo = "flyspell-correct"; - rev = "e47b83e5efb524dfab5a6f92304b319fa6376ae0"; - sha256 = "1w1idyryxq496i1plx8xjyfidakyncx3sa9j3ik7x148ywaf8kwm"; + rev = "2f5548ded6991b22ad291372640aecaf6eac7a39"; + sha256 = "1xwm0kg3x403x5s2bg9f42qwbc9hq4x7lhqjw95q7jsbq5nq4kiy"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7b9302d8f804c77eb81fee7ed27f13cb1176f6/recipes/flyspell-correct-ivy"; @@ -34562,12 +36801,12 @@ melpaBuild { pname = "flyspell-correct-popup"; ename = "flyspell-correct-popup"; - version = "20180427.1135"; + version = "20181205.1132"; src = fetchFromGitHub { owner = "d12frosted"; repo = "flyspell-correct"; - rev = "e47b83e5efb524dfab5a6f92304b319fa6376ae0"; - sha256 = "1w1idyryxq496i1plx8xjyfidakyncx3sa9j3ik7x148ywaf8kwm"; + rev = "2f5548ded6991b22ad291372640aecaf6eac7a39"; + sha256 = "1xwm0kg3x403x5s2bg9f42qwbc9hq4x7lhqjw95q7jsbq5nq4kiy"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7b9302d8f804c77eb81fee7ed27f13cb1176f6/recipes/flyspell-correct-popup"; @@ -34696,12 +36935,12 @@ melpaBuild { pname = "focus"; ename = "focus"; - version = "20171203.2103"; + version = "20190317.1942"; src = fetchFromGitHub { owner = "larstvei"; repo = "Focus"; - rev = "045ee6175e9340f873db03445c74ff9eefa35a27"; - sha256 = "1hrx8bj4gf0dqbfxgvis62zxnkiyms6v730s55vd8711zxdl0pw4"; + rev = "ab42b8779929beeb7878c7fb3d3ccd80d9327c7f"; + sha256 = "079v1syid7h2vr2ya6hs6hl0pgj60qdsw60mqw4cj2zllmkrkwj4"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4e8f1217224514f9b048b7101c89e3b1a305821e/recipes/focus"; @@ -34748,12 +36987,12 @@ melpaBuild { pname = "foggy-night-theme"; ename = "foggy-night-theme"; - version = "20160209.708"; + version = "20190123.814"; src = fetchFromGitHub { owner = "mswift42"; repo = "foggy-night-theme"; - rev = "60a12abdac29c2d913e1cf24485d0cc083e26093"; - sha256 = "1mnak9k0hz99jq2p7gydxajzvx2vcql8yzwcm0v80a6xji2whl70"; + rev = "14894e06ee5c6e14db36f2cb07387ee971c1736f"; + sha256 = "1rjhb8gjlnw002y8sjn2d976qdsjgvp9hsrlca1h5wmmkfha9knp"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/65b3f5959241e601fdf9469e407d153cebcbe24c/recipes/foggy-night-theme"; @@ -34824,12 +37063,12 @@ melpaBuild { pname = "fold-this"; ename = "fold-this"; - version = "20180224.40"; + version = "20180828.636"; src = fetchFromGitHub { owner = "magnars"; repo = "fold-this.el"; - rev = "4fb509a4176e950d083a5321ad62742f2e9bcb7b"; - sha256 = "1csazxx6wnnriklbrdqxmf7nc67gqb7c5zppr797bk4j4calskgf"; + rev = "49bdb7fe6a8f207afb1f05382372674a7c876ba8"; + sha256 = "1h9afb019y1c488c2s6w7nas32b89lngrl7f90rd8i9ynm5lbvr0"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9853fcb99bd8717c77fa2b3bafb6e85d0d5d491c/recipes/fold-this"; @@ -35006,12 +37245,12 @@ melpaBuild { pname = "forecast"; ename = "forecast"; - version = "20180429.1515"; + version = "20190124.1028"; src = fetchFromGitHub { owner = "cadadr"; repo = "elisp"; - rev = "ffe03506694c94de0444995f973a925deccc400a"; - sha256 = "02wcvka96zdlq3myfar7dqywfil2b77bc6ydmgcphwn3as3kl08r"; + rev = "b19b37be332bada6b18d4d895edf6ce78ab420c4"; + sha256 = "0i97l8fdrjjb6dzfcqgss5yj4ibkiaxnj32sm6nyr2s7bijkvi4x"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a7ea18a56370348715dec91f75adc162c800dd10/recipes/forecast"; @@ -35105,6 +37344,52 @@ license = lib.licenses.free; }; }) {}; + forge = callPackage ({ closql + , dash + , emacs + , emacsql-sqlite + , fetchFromGitHub + , fetchurl + , ghub + , graphql + , let-alist + , lib + , magit + , markdown-mode + , melpaBuild + , transient }: + melpaBuild { + pname = "forge"; + ename = "forge"; + version = "20190407.915"; + src = fetchFromGitHub { + owner = "magit"; + repo = "forge"; + rev = "d803da1d817453684c644ef2822c7e29cee768e3"; + sha256 = "1d10wb5j6lnc2r87qhwmfzbs9gav178g8vwsgx9cfhzzk9hyqd02"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/23512cf8152161322960d72a5ec49a7595003477/recipes/forge"; + sha256 = "0a1yvdxx43zq9ivwmg34wyybkw4vhgzd2c54cchsbrbr972x9522"; + name = "recipe"; + }; + packageRequires = [ + closql + dash + emacs + emacsql-sqlite + ghub + graphql + let-alist + magit + markdown-mode + transient + ]; + meta = { + homepage = "https://melpa.org/#/forge"; + license = lib.licenses.free; + }; + }) {}; form-feed = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -35131,6 +37416,7 @@ }; }) {}; format-all = callPackage ({ cl-lib ? null + , emacs , fetchFromGitHub , fetchurl , lib @@ -35138,19 +37424,19 @@ melpaBuild { pname = "format-all"; ename = "format-all"; - version = "20180722.159"; + version = "20190330.1206"; src = fetchFromGitHub { owner = "lassik"; repo = "emacs-format-all-the-code"; - rev = "6b0bd2fadb8f672e93bc58f2de94be97f5a1b6d6"; - sha256 = "1y2y2ank4bll0h4bsd0d60aqq5hlylna9zvg18q3n68isqagn7zh"; + rev = "7dd5c5e9f73ae36bb78567ee429ac88220938b6c"; + sha256 = "0j20k0d7v5zjdr2hkn3r9vymw343qkp1j8gj6jylr3j51c4gd2x3"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f53143ebd42ef5be793b86d50b23f0a57617d6cc/recipes/format-all"; sha256 = "1kmnv8ypxvgm3p79cc1wk8032fh7bl1pripys180vw89r2748qs9"; name = "recipe"; }; - packageRequires = [ cl-lib ]; + packageRequires = [ cl-lib emacs ]; meta = { homepage = "https://melpa.org/#/format-all"; license = lib.licenses.free; @@ -35181,6 +37467,33 @@ license = lib.licenses.free; }; }) {}; + format-table = callPackage ({ dash + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "format-table"; + ename = "format-table"; + version = "20181223.816"; + src = fetchFromGitHub { + owner = "functionreturnfunction"; + repo = "format-table"; + rev = "dfcae3a867e574577fc09a43b045889ff155b58f"; + sha256 = "1z9l1qmv5hw7bgchi5f68nzsz9arjwsazvd6viq6k6jmjzncli6q"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/e307ead5e8a291cb5dfe316f3b13144e71b6a1b7/recipes/format-table"; + sha256 = "1fwjilx0n9m8q0macq231i73zvridjfgqlhw7d1xblw4qp82rzvp"; + name = "recipe"; + }; + packageRequires = [ dash emacs ]; + meta = { + homepage = "https://melpa.org/#/format-table"; + license = lib.licenses.free; + }; + }) {}; forth-mode = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -35242,12 +37555,12 @@ melpaBuild { pname = "fortune-cookie"; ename = "fortune-cookie"; - version = "20170407.1517"; + version = "20181223.42"; src = fetchFromGitHub { owner = "andschwa"; repo = "fortune-cookie"; - rev = "bad99a2cd090f6646c7ee1125b95dd98744939c6"; - sha256 = "1kiflisiabc39lxi5hcazfvcwrpasl01lqsi2sri6pyrcrjyh8mf"; + rev = "6c1c08f5be83822c0b762872ab25e3dbee96f333"; + sha256 = "0gnidiryappk9naazwv0dd3b1dyd284zkwnhy2b1z3zkc9i7awfq"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ab0d56626c9bf847c693b4d9ddb08acee636054f/recipes/fortune-cookie"; @@ -35260,32 +37573,6 @@ license = lib.licenses.free; }; }) {}; - fountain-mode = callPackage ({ emacs - , fetchFromGitHub - , fetchurl - , lib - , melpaBuild }: - melpaBuild { - pname = "fountain-mode"; - ename = "fountain-mode"; - version = "20180715.145"; - src = fetchFromGitHub { - owner = "rnkn"; - repo = "fountain-mode"; - rev = "3f253598f2eb6c5eec71af967978a3ecf890240d"; - sha256 = "1m3fq5mg87v48y0v9a5mlxjs49yqxkb718r6ympbihzknjh2a0qq"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/913386ac8d5049d37154da3ab32bde408a226511/recipes/fountain-mode"; - sha256 = "1i55gcjy8ycr1ww2fh1a2j0bchx1bsfs0zd6v4cv5zdgy7vw6840"; - name = "recipe"; - }; - packageRequires = [ emacs ]; - meta = { - homepage = "https://melpa.org/#/fountain-mode"; - license = lib.licenses.free; - }; - }) {}; fraktur-mode = callPackage ({ cl-lib ? null , fetchFromGitHub , fetchurl @@ -35347,12 +37634,12 @@ melpaBuild { pname = "frame-mode"; ename = "frame-mode"; - version = "20170419.1427"; + version = "20190306.1949"; src = fetchFromGitHub { owner = "IvanMalison"; repo = "frame-mode"; - rev = "c0feebf8eab91ac0646a4d30be946e551bb5267f"; - sha256 = "19a7vxr1qhxr1yh9mvlhrbnpmqk9qmbmb4gwxrwdsqrac3fs3lr7"; + rev = "4551bf43bc087448ce0edcd67c36f68649e95274"; + sha256 = "0p3j6h8rcxwjmylg9rx86n6y6bysicif1hxan6xdwz3pskkhm3lj"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1e83da89eeee834cc14c0b128d55ef3634f76fd0/recipes/frame-mode"; @@ -35375,12 +37662,12 @@ melpaBuild { pname = "frame-purpose"; ename = "frame-purpose"; - version = "20180623.1757"; + version = "20190114.603"; src = fetchFromGitHub { owner = "alphapapa"; repo = "frame-purpose.el"; - rev = "6cff3bff74f9cf1dc31bbc5e1f9a513a5f55def6"; - sha256 = "08pmmzjdbvp09rxn3d332101qmg6c4xx2y6dwzczii70ac7m5v9f"; + rev = "78f978f13589ec5c5370187c008c8aa83e6e71b4"; + sha256 = "0zd981jsbf8fj5a3s7agbg32f6x3s7g87jlz13msgpgmkfhpx3gx"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/033bd36a2419f4521944ccbfe8ce1eb56af20472/recipes/frame-purpose"; @@ -35455,12 +37742,12 @@ melpaBuild { pname = "frameshot"; ename = "frameshot"; - version = "20180228.408"; + version = "20181219.1300"; src = fetchFromGitHub { owner = "tarsius"; repo = "frameshot"; - rev = "65994602fdf3d8881f0cabffebbce6c0e493e3c8"; - sha256 = "0crvvacpajlhdida54gvv4y11xx78qscr6nznx0bhdb12sj3n45q"; + rev = "3830aae976603ff4e41e09fdca7554594075694c"; + sha256 = "1sbxr78gl822gl0ky7iz1wb558ch9gp7igg4aq63gjlq6wfx2v93"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e5cfaa4b5fda97054d45691fad9d79b559f2df14/recipes/frameshot"; @@ -35612,14 +37899,14 @@ ename = "fsbot-data-browser"; version = "20160921.833"; src = fetchFromGitHub { - owner = "benaiah"; + owner = "Benaiah"; repo = "fsbot-data-browser"; rev = "6bca4f7de63e31839d2542f6c678b79931dec344"; sha256 = "0lvpgfp89sz6f6rn576g1g88s0q3ibj5ghydjwfcg9w6h7vx5b5s"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/37a0901b98e1c66be6906234e6d6520a6e940e97/recipes/fsbot-data-browser"; - sha256 = "0jijvl07jk200fs01ln4dmw5nx9jg3f9b7gjaknyd18vyvbwr3s5"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/fsbot-data-browser"; + sha256 = "14d4d8lasvgj520rmqgnzk6mi16znzcdvja9p8164fr9l41wnzgd"; name = "recipe"; }; packageRequires = []; @@ -35642,12 +37929,12 @@ melpaBuild { pname = "fsharp-mode"; ename = "fsharp-mode"; - version = "20180518.1120"; + version = "20190304.517"; src = fetchFromGitHub { owner = "rneatherway"; repo = "emacs-fsharp-mode-bin"; - rev = "68d2121a7317d90fe3794c9295d117f4aebd1438"; - sha256 = "0mymvik20slbgsasjpn6nkqcb4z6z4mvd1sf1xalv0qjk24vrlmk"; + rev = "386994e7d420872a31d7dd2eee9610d8ace98faa"; + sha256 = "15blnkcrsmm6896dpdzcx3xqzxzkc0x8d5bg9b5sw7qca6vnjbqk"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/dc45611e2b629d8bc5f74555368f964420b79541/recipes/fsharp-mode"; @@ -35682,12 +37969,12 @@ melpaBuild { pname = "fstar-mode"; ename = "fstar-mode"; - version = "20180713.1329"; + version = "20190319.1401"; src = fetchFromGitHub { owner = "FStarLang"; repo = "fstar-mode.el"; - rev = "a42763cdd81d6520651dfaad7a7e8c7388bad54c"; - sha256 = "10nbzm22p9pgsh6zgc9fjy3v1i5vw8877g8f4x3fi8lvpv1ynwps"; + rev = "d63d1c48573c82317e5b5991486d1595094bcccd"; + sha256 = "0zz4dv28lpycjryb2lswpjwh4lhf6hh73grisk0ql33hg4rmsqwx"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c58ace42342c3d3ff5a56d86a16206f2ecb45f77/recipes/fstar-mode"; @@ -35890,6 +38177,7 @@ }; }) {}; futhark-mode = callPackage ({ cl-lib ? null + , emacs , fetchFromGitHub , fetchurl , lib @@ -35897,19 +38185,19 @@ melpaBuild { pname = "futhark-mode"; ename = "futhark-mode"; - version = "20180619.949"; + version = "20190302.124"; src = fetchFromGitHub { owner = "diku-dk"; repo = "futhark-mode"; - rev = "f834d03aeef2230315e541646e375e6c38a6a10c"; - sha256 = "0ma8v56lv8bbb5159wg2nv286s5nn3jnjfy8kmrx751sw7jmzr2l"; + rev = "7140d0fcd509fac6deeda5b4065ede5ee5922466"; + sha256 = "06dpspyyqqwb2vhdxmxgw0n8kpb2zw5qczp4bck9vkayqxqb8ahn"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/97210774b450b7611d2bfdf36e04a425835d86b9/recipes/futhark-mode"; sha256 = "1sck984a8m0i9n07jnhpnin6k060756g73ix34ghzd65j5f0pvlw"; name = "recipe"; }; - packageRequires = [ cl-lib ]; + packageRequires = [ cl-lib emacs ]; meta = { homepage = "https://melpa.org/#/futhark-mode"; license = lib.licenses.free; @@ -36103,12 +38391,12 @@ melpaBuild { pname = "gams-mode"; ename = "gams-mode"; - version = "20180416.206"; + version = "20181111.2201"; src = fetchFromGitHub { owner = "ShiroTakeda"; repo = "gams-mode"; - rev = "0a7f3f5d44ea59c34677049882f0a34ff9935bc9"; - sha256 = "0wl2dfcfvjy23gcwk6qfxbxjlykw438fi9h1y2855adcc9zrhwzx"; + rev = "fd88a310614a7c6e39e45ca65c4273ad90e3b688"; + sha256 = "0bvvar05zqfk1y5nqv1w6ji2mysdx62v7nxajnmbp386ldcjs4bn"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c895a716636b00c2a158d33aab18f664a8601833/recipes/gams-mode"; @@ -36153,11 +38441,11 @@ melpaBuild { pname = "gap-mode"; ename = "gap-mode"; - version = "20160204.736"; + version = "20180808.2145"; src = fetchhg { url = "https://bitbucket.com/gvol/gap-mode"; - rev = "617eff4ff846"; - sha256 = "08dx8ijivhsfmqkxn33121qcjd6nckpn0jdlh0lhx4z4zg8x37bl"; + rev = "00f251070b10"; + sha256 = "0rk5smpzpdqzpmb5cp2l40042i51z3f40fkd3hma40id0ql2gy2w"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/83ec19a4ebac6b2d0fd84939b393848f82620978/recipes/gap-mode"; @@ -36309,12 +38597,12 @@ melpaBuild { pname = "geiser"; ename = "geiser"; - version = "20180626.440"; + version = "20190224.1248"; src = fetchFromGitLab { owner = "jaor"; repo = "geiser"; - rev = "1bdd966a4fbe0c8bd5bcb04dad5213e47a1534e6"; - sha256 = "165vssixx16lvig7hjgh75pi15r53s3n8fn8wyfzdbnkihkwmqbk"; + rev = "156970ff1402512b4bbf53a5e1c22156cb0e2f9c"; + sha256 = "0n295p54zigbdiclfkacz3rqkxr6aib1npz0x8nkhnhv5avcwgyf"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/67dc8d6e33f3522043f96761b23ea68c9c27084e/recipes/geiser"; @@ -36336,12 +38624,12 @@ melpaBuild { pname = "general"; ename = "general"; - version = "20180628.1112"; + version = "20190308.1342"; src = fetchFromGitHub { owner = "noctuid"; repo = "general.el"; - rev = "e690ef9e706f7eea071357520709ef5407a42159"; - sha256 = "1kgd0v9lgwsxa1p7n3cgsd2f62wi86hcjslb0vf96b9l1n1wjwdl"; + rev = "5f1ae7fcf24c0a9d9aec164944796783c8d77d09"; + sha256 = "0xr4jbghr32q31hlsffslc43jj9qnn9pkz2v2pbl1ba4rh8dafjz"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d86383b443622d78f6d8ff7b8ac74c8d72879d26/recipes/general"; @@ -36390,12 +38678,12 @@ melpaBuild { pname = "german-holidays"; ename = "german-holidays"; - version = "20161011.13"; + version = "20181212.2244"; src = fetchFromGitHub { owner = "rudolfochrist"; repo = "german-holidays"; - rev = "d7d540c229c1a8be68ee09fbda08fe3ea31b7d29"; - sha256 = "1rfka83jwd68k93vn3f7llxd6z0ma5k98gws0081y8i9fc21fnsd"; + rev = "a8462dffccaf2b665f2032e646b5370e993a386a"; + sha256 = "1rf8p42pl7jmmdiibfcamlbr3kg6kslffv8vbpwn20xm2ii13rxz"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/bf5b3807ff989b13f95e8d6fad2f26a42ff0643c/recipes/german-holidays"; @@ -36444,16 +38732,16 @@ melpaBuild { pname = "gf"; ename = "gf"; - version = "20180606.1455"; + version = "20181028.842"; src = fetchFromGitHub { - owner = "grammaticalframework"; + owner = "GrammaticalFramework"; repo = "gf-emacs-mode"; - rev = "41070ecd1cd64fa52cf299dc09a5ea19aca4cf05"; - sha256 = "090jy6p94syvf20b61l2jnm7m5pv6d2qxfjhr1wm0bg1wkvyw50c"; + rev = "49fa46db67634530499be969ffd3c436a22d4404"; + sha256 = "0q234wzzmq1r53dv7z798liwkcbpnvc8mnxvkyfxd94f6za9ylgz"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/1c2cc74eb19c54219cd5c5c11d886074859f0948/recipes/gf"; - sha256 = "170q5a7lwa9pbpn0ghcfzny0jfn42wgns1lcv8fngr0k1njfj6v8"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/gf"; + sha256 = "0vk866gy97zk8dbx48azjlpnrnf0snc50zlhbzv1is97d9frjici"; name = "recipe"; }; packageRequires = [ ht s ]; @@ -36487,8 +38775,7 @@ license = lib.licenses.free; }; }) {}; - ggtags = callPackage ({ cl-lib ? null - , emacs + ggtags = callPackage ({ emacs , fetchFromGitHub , fetchurl , lib @@ -36496,19 +38783,19 @@ melpaBuild { pname = "ggtags"; ename = "ggtags"; - version = "20180418.657"; + version = "20190320.1508"; src = fetchFromGitHub { owner = "leoliu"; repo = "ggtags"; - rev = "bf263afd377992f7c5d9e8f727bd381e74feb327"; - sha256 = "182wqrkvk4asa483sb2zcym5np3z4h7l7ncpcrfgcs80jqbcaywx"; + rev = "4d9000034d352cd983ae6626f560e434d0b3e9ca"; + sha256 = "1h89prfxdr50drsira3qqvh1mb7v09p4w8jpb7aapq2jl5fl2knc"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b158bb1bc2fbe3de61a6b21174eac7b1457edda2/recipes/ggtags"; sha256 = "1cmry4knxbx9257ivhfxsd09z07z3g3wjihi99nrwmhb9h4mpqyw"; name = "recipe"; }; - packageRequires = [ cl-lib emacs ]; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/ggtags"; license = lib.licenses.free; @@ -36724,28 +39011,31 @@ license = lib.licenses.free; }; }) {}; - ghub = callPackage ({ emacs + ghub = callPackage ({ dash + , emacs , fetchFromGitHub , fetchurl + , graphql , let-alist , lib - , melpaBuild }: + , melpaBuild + , treepy }: melpaBuild { pname = "ghub"; ename = "ghub"; - version = "20180715.1159"; + version = "20190319.1643"; src = fetchFromGitHub { owner = "magit"; repo = "ghub"; - rev = "4202c1f389a5ad0b7841be0ac8ab3cc3b6b77cb6"; - sha256 = "1adi6wsfkhx46x28fajjf45jw60hkqqgg9y7wdzzq0a2vkp3hwya"; + rev = "c7ca6780bcd4d00d22e668e74b25f865ba892a45"; + sha256 = "0icy333p2f9bsg552hjliqi6b9cmygf2ix10xgbam1zzh1b77clz"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/70a4dbd62fd6ebb4e056d0e97fa1a958437ddc91/recipes/ghub"; - sha256 = "031bzp61aal2id5sazwjz30svydjvxvphw5wbv5cyy4dqyh7w2ps"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/f403587f77380d1db214aa34933a9b5cce1ef2bd/recipes/ghub"; + sha256 = "15kjyi8ialpr1zjqvw68w9pa5sigcwy2szq21yvcy295z7ylzy4i"; name = "recipe"; }; - packageRequires = [ emacs let-alist ]; + packageRequires = [ dash emacs graphql let-alist treepy ]; meta = { homepage = "https://melpa.org/#/ghub"; license = lib.licenses.free; @@ -36761,12 +39051,12 @@ melpaBuild { pname = "ghub-plus"; ename = "ghub+"; - version = "20180602.1545"; + version = "20181112.1632"; src = fetchFromGitHub { owner = "vermiculus"; repo = "ghub-plus"; - rev = "b4a9662f5a6562f8d1dfdda2f009ec78a107c9a2"; - sha256 = "0xi7xhdla64xbcfqi8x8yzqc6v6rrqxd4q8lcrv7sw08ap5ykfas"; + rev = "51ebffe549286b3c0b0565a373f44f4d64fc57af"; + sha256 = "11fr6ri95a9wkc0mqrkhjxz1fm2cb52151fc88k73l93mggib3ak"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/03a412fd25218ff6f302734e078a699ff0234e36/recipes/ghub+"; @@ -36787,12 +39077,12 @@ melpaBuild { pname = "gif-screencast"; ename = "gif-screencast"; - version = "20180616.1230"; + version = "20190326.149"; src = fetchFromGitLab { owner = "Ambrevar"; repo = "emacs-gif-screencast"; - rev = "12b25442b97b84abae74ecb5190a9d14ff7cfe5a"; - sha256 = "0p7gfccvrv2267abldsyjdqbj4rg25wdy6vmcygiggl3lk0wrnwz"; + rev = "248d1e158405e6cba2c65ecaed40e2c59b089cd8"; + sha256 = "19xqi5mgalnnhb4hw0fh7py2s2dllldx1xxbhwhknkdpifai8hl8"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6d17ca0213ba5ef9dce92002e281e6f08c3492be/recipes/gif-screencast"; @@ -36839,12 +39129,12 @@ melpaBuild { pname = "gildas-mode"; ename = "gildas-mode"; - version = "20150919.1501"; + version = "20181021.2349"; src = fetchFromGitHub { owner = "smaret"; repo = "gildas-mode"; - rev = "1ac31c83ac363550d8ceb0041924d984cd62683f"; - sha256 = "0a8wwczh9g8b0gpc4hlgg9n6y9n4x18b4pchm4arjsccmh3l5bs3"; + rev = "d0c9e997e2aa0bcd9b8b7db082d69100448cb1b2"; + sha256 = "11290b6daly9nn73iw0s6386hzjk3q2iywdhiazxscxaxzhx2c8c"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f43d3aec955d31023056baba971805f0ebbb6702/recipes/gildas-mode"; @@ -36945,12 +39235,12 @@ melpaBuild { pname = "git-attr"; ename = "git-attr"; - version = "20180204.15"; + version = "20180925.1303"; src = fetchFromGitHub { owner = "arnested"; repo = "emacs-git-attr"; - rev = "c03078637a00ea301cbcc7ae301ae928b10af889"; - sha256 = "05wzy8g0yjkks0zmcvwn9dmr6kxk1bz91xic3c08b0j1z5lbsdv7"; + rev = "3e43a0cf616b00a4bbd3c6b49fd2397f3103796f"; + sha256 = "1alpr4gnkikwzljz0fdbrx5hs3zy5s2fz7qyxdz0nx9hv8zb5ir5"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3417e4bc586df60b5e6239b1f7683b87953f5b7c/recipes/git-attr"; @@ -37022,12 +39312,12 @@ melpaBuild { pname = "git-command"; ename = "git-command"; - version = "20160111.503"; + version = "20190310.2211"; src = fetchFromGitHub { owner = "10sr"; repo = "git-command-el"; - rev = "a2c192aa779f81a99a10f0eb6dd018f13b2ff949"; - sha256 = "1irqmypgc4l1jlzj4g65ihpic3ffnnkcg1hlysj7qpip5nbflqgl"; + rev = "89169f4b8e8d2546cac81d38bf584764e630812e"; + sha256 = "1dgy9c7q0lxx5k5vdjcil6405qjpqpyq3s0ndh8fn6ybbhap9jda"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8a55d697bc95a7026c7788c13e4765e1b71075e3/recipes/git-command"; @@ -37050,12 +39340,12 @@ melpaBuild { pname = "git-commit"; ename = "git-commit"; - version = "20180713.1444"; + version = "20190319.1652"; src = fetchFromGitHub { owner = "magit"; repo = "magit"; - rev = "d7412da3277d6ec5810e7ac20d64eb6c5cc0c30b"; - sha256 = "02xfxp6bsp9g0sz9kaykibygqxndgqa59w0a6flma4mkkgwsid9c"; + rev = "24fd932a2344306be82efec599212b0535abf253"; + sha256 = "14b1czjwjhi6xlnfg7vdjvp2fc927cpd8r1xp8kvnfjviwmav6gf"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/git-commit"; @@ -37266,12 +39556,12 @@ melpaBuild { pname = "git-lens"; ename = "git-lens"; - version = "20180328.717"; + version = "20190319.642"; src = fetchFromGitLab { owner = "pidu"; repo = "git-lens"; - rev = "ea49e2e005af977a08331f8caa8f64d102b3b932"; - sha256 = "0prx0xbnhhp46c09nnzpz07jgr3s5ngrw8zjksf48abr8acwywfv"; + rev = "f6cc0a37c9c5c422c49c32650e70bc4721707985"; + sha256 = "05bkpg7xz8644np9imsj5ms821sbsb784ap5fjdnnn69kllz0d33"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a52b516b7b10bdada2f64499c8f43f85a236f254/recipes/git-lens"; @@ -37292,12 +39582,12 @@ melpaBuild { pname = "git-link"; ename = "git-link"; - version = "20180708.943"; + version = "20190309.1526"; src = fetchFromGitHub { owner = "sshaw"; repo = "git-link"; - rev = "efd14ab5f17f5942d25e165210447f3983f3250e"; - sha256 = "0rd2g4s73xk8m595aa11vr59gnn5mx7lbcf0040w1xqvlrryzyc9"; + rev = "1dbabfed4c5c3c5ac6ffa9035a9c3d4c6cc7f885"; + sha256 = "1b115d5rsb9m8lqjplg3qp0bxfc5cij5fgp0j21zspqwqvj7h0hq"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1385443585e628e3d4efb3badb7611e9d653e0c9/recipes/git-link"; @@ -37372,12 +39662,12 @@ melpaBuild { pname = "git-ps1-mode"; ename = "git-ps1-mode"; - version = "20180413.247"; + version = "20181114.1949"; src = fetchFromGitHub { owner = "10sr"; repo = "git-ps1-mode-el"; - rev = "6a06bf57cbe614ab26032b153d3dcf4fb4bfa7ee"; - sha256 = "1lgvzla1bg7gmkj41hmzhiqcbdmdw9ycpzfvpl6xl0sm0fk3j3rj"; + rev = "b9188e26a64fa6f8678da6cbf5e3e865065f4f04"; + sha256 = "0l9y6x53li7fqfrwb4037psn92xciylanj0fmmy8jy6n51dlzxyn"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ea177b5ea168828881bd8dcd29ef6b4cb81317f0/recipes/git-ps1-mode"; @@ -37390,27 +39680,53 @@ license = lib.licenses.free; }; }) {}; + git-time-metric = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "git-time-metric"; + ename = "git-time-metric"; + version = "20181116.1211"; + src = fetchFromGitHub { + owner = "c301"; + repo = "gtm-emacs-plugin"; + rev = "287108ed1d6885dc795eb3bad4476aa08c626186"; + sha256 = "0cq4jn2vvcm8hyzmmnnvbmffygxnnv0v71kqlgjm8lcil0xsf84d"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/7f6f8839be619d3eeb6ab83b630441bf8c0ca024/recipes/git-time-metric"; + sha256 = "1lwpj3z1i532v59vcpkcp1bkad7i2gmlk2yspjhvyvsgp1slsxl1"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/git-time-metric"; + license = lib.licenses.free; + }; + }) {}; git-timemachine = callPackage ({ emacs , fetchFromGitLab , fetchurl , lib - , melpaBuild }: + , melpaBuild + , transient }: melpaBuild { pname = "git-timemachine"; ename = "git-timemachine"; - version = "20180607.120"; + version = "20190317.847"; src = fetchFromGitLab { owner = "pidu"; repo = "git-timemachine"; - rev = "90a980578249c102da3e904fccdc9a2a5a0e7bcc"; - sha256 = "027zpl603kad2x59wzygiblpc84cn945fnqpm7m1yi3lw4smxsbr"; + rev = "b97f93d66cffcd69281346845d3a1e32197eda29"; + sha256 = "08zsn3lsnnf01wkv5ls38jga02s5dnf0j3gigy4qd6im3j3d04m1"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a52b516b7b10bdada2f64499c8f43f85a236f254/recipes/git-timemachine"; sha256 = "06xdzic7j3d3pqgwxp1q6fs8sf3mi02a9phjvhk90kyvbr8h94ck"; name = "recipe"; }; - packageRequires = [ emacs ]; + packageRequires = [ emacs transient ]; meta = { homepage = "https://melpa.org/#/git-timemachine"; license = lib.licenses.free; @@ -37581,12 +39897,12 @@ melpaBuild { pname = "github-elpa"; ename = "github-elpa"; - version = "20180704.2247"; + version = "20180831.111"; src = fetchFromGitHub { owner = "10sr"; repo = "github-elpa"; - rev = "abe92cc25c9d75dab4f8bcf0eccafdd8a26774d6"; - sha256 = "0rx61fsvl99r2p3f3y7rgwf7m084lqi0xsdz0w8cml67sd5qm54g"; + rev = "cbde5bc239687e07347cecf46ba5aa31948ebe1d"; + sha256 = "1d7a9mp2kpcw1gvn9j3k8p0896i07m53xkbcx1vbg013w8kpwpak"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/81ec06e370f51b750ba3313b661d7386710cffb0/recipes/github-elpa"; @@ -37635,13 +39951,13 @@ version = "20171109.451"; src = fetchFromGitHub { owner = "philiparvidsson"; - repo = "GitHub-Modern-Theme-For-Emacs"; + repo = "GitHub-Modern-Theme-for-Emacs"; rev = "a7e7b8e5e9c122138e79e837caf9b7299e748d44"; sha256 = "0agfy3wiznb2ksfa00g7066mb0vps4g74mj6nl9wkvx847dzg34h"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/d5506d93bd8cf59cd281091b377c1bb9a4243666/recipes/github-modern-theme"; - sha256 = "1falal6cffiih3q8q9xdyv7bkzw43p56d8ln13g9ad1jz319b3fi"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/github-modern-theme"; + sha256 = "07xv4psw34mrpb1f5fsvj8vcm9k3xlm43zxr6qmj00p46b35z25r"; name = "recipe"; }; packageRequires = []; @@ -37705,6 +40021,35 @@ license = lib.licenses.free; }; }) {}; + github-review = callPackage ({ dash + , emacs + , fetchFromGitHub + , fetchurl + , ghub + , lib + , melpaBuild + , s }: + melpaBuild { + pname = "github-review"; + ename = "github-review"; + version = "20190327.32"; + src = fetchFromGitHub { + owner = "charignon"; + repo = "github-review"; + rev = "9c3ffe30fba5d02e9951e76d1a5be2ed046663da"; + sha256 = "078rv6f2p3wrznhgvmkhd071bwy72007f5l2m2a0r1k2i3vbfaja"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/3b57420d20c799c0472dae4ab7e017d53dafb262/recipes/github-review"; + sha256 = "1vh24bmvafv9px80gwgcgk7d9z6pjxaadzz7fba8r3m3fzhv4v58"; + name = "recipe"; + }; + packageRequires = [ dash emacs ghub s ]; + meta = { + homepage = "https://melpa.org/#/github-review"; + license = lib.licenses.free; + }; + }) {}; github-search = callPackage ({ fetchFromGitHub , fetchurl , gh @@ -37741,12 +40086,12 @@ melpaBuild { pname = "github-stars"; ename = "github-stars"; - version = "20180328.433"; + version = "20181117.2048"; src = fetchFromGitHub { owner = "xuchunyang"; repo = "github-stars.el"; - rev = "283dbe4d10f2b11d15d6871e86c28b8f42759b63"; - sha256 = "1bdhvf2mjg818mfl8w9c2b8prqbd0v59xnjjkaq8qwgb7n7925bq"; + rev = "807de6da3ab32d278d68a1b709c012f6bfa4d280"; + sha256 = "152gqg2kvfnfflndx15zkyzapzfkv741rwd0g3m7dn37mblnhgvl"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/58df7d536f9711e10ecaa6e0a37b9ad255e8fca5/recipes/github-stars"; @@ -37769,13 +40114,13 @@ version = "20170630.1501"; src = fetchFromGitHub { owner = "philiparvidsson"; - repo = "emacs-github-theme"; + repo = "GitHub-Theme-for-Emacs"; rev = "29f00a51d949a248a5f6355a97131e216747c797"; sha256 = "16ldfz1k0hxc1b785gzrf70hg0q88ijjxp39hb62iax1k1aw9vlw"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/f4ace4a150faa312ef531182f328a3e039045bd7/recipes/github-theme"; - sha256 = "1c22p17a1d0s30cj40zrszyznch6nji2risq3b47jhh9i6m32jif"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3416586d4d782cdd61a56159c5f80a0ca9b3ddf4/recipes/github-theme"; + sha256 = "132jahd8vvhzhhkm71dzq6x46wmaakbbxg9s7r9779bfwbrms9j9"; name = "recipe"; }; packageRequires = []; @@ -37873,12 +40218,12 @@ melpaBuild { pname = "gitlab-ci-mode"; ename = "gitlab-ci-mode"; - version = "20180604.1503"; + version = "20190323.952"; src = fetchFromGitLab { owner = "joewreschnig"; repo = "gitlab-ci-mode"; - rev = "b9fd692d27351e959c4d272a2149def63ef1c00c"; - sha256 = "132b0m3sp6vwknr665aw1mwx1q69ksrmr6xih7qi6nfgny6938qc"; + rev = "cfd39298a87e989473278d819dc0498a43fce45d"; + sha256 = "1naa7fngfzdj884kfriv777d99ksn36kxqv5rl5zv6h1sl25c6pr"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d7915ddcf21fdec539a86bb86c209cf0bbd378cb/recipes/gitlab-ci-mode"; @@ -37901,12 +40246,12 @@ melpaBuild { pname = "gitlab-ci-mode-flycheck"; ename = "gitlab-ci-mode-flycheck"; - version = "20180604.1504"; + version = "20190323.1129"; src = fetchFromGitLab { owner = "joewreschnig"; repo = "gitlab-ci-mode-flycheck"; - rev = "30ea0eab74b24818f187242b079845785035e967"; - sha256 = "0awv24znkxs0h8pkj4b5jwjajxkf1agam09m5glr8zn5g3xbj798"; + rev = "eba81cfb7224fd1fa4e4da90d11729cc7ea12f72"; + sha256 = "1w1simnlffg56j79gal1qf1nlav9f8fmr2zfswfrmcv6cac6fhj9"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d7915ddcf21fdec539a86bb86c209cf0bbd378cb/recipes/gitlab-ci-mode-flycheck"; @@ -38027,33 +40372,6 @@ license = lib.licenses.free; }; }) {}; - glab = callPackage ({ emacs - , fetchFromGitHub - , fetchurl - , ghub - , lib - , melpaBuild }: - melpaBuild { - pname = "glab"; - ename = "glab"; - version = "20180419.308"; - src = fetchFromGitHub { - owner = "magit"; - repo = "ghub"; - rev = "4831933da059ee084a16016558b9ccd8c581a8ff"; - sha256 = "1b5jrpj3z989r3mf4jfch8rnaaa5hyb2395xz3v37f0vsphd7s0y"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/70a4dbd62fd6ebb4e056d0e97fa1a958437ddc91/recipes/glab"; - sha256 = "0ym8bgym11mdv5bw22lgkcxyqy7qgxxm0yjmrq8qx7i55gqayyb8"; - name = "recipe"; - }; - packageRequires = [ emacs ghub ]; - meta = { - homepage = "https://melpa.org/#/glab"; - license = lib.licenses.free; - }; - }) {}; glsl-mode = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -38061,12 +40379,12 @@ melpaBuild { pname = "glsl-mode"; ename = "glsl-mode"; - version = "20170927.736"; + version = "20190326.1251"; src = fetchFromGitHub { owner = "jimhourihan"; repo = "glsl-mode"; - rev = "384968506cf25c5c2df61b32fdfdbd041e3bf651"; - sha256 = "0729s4w010vw4ajvh1zpni7szxv9rpm6jk2y9hp7qyi67zbgjjgc"; + rev = "ee5d6aa5631e26792fa27c7e418224d514454591"; + sha256 = "1acgx4k4cb6pgvwzdgck9v9gk3ffnmvl7ylsljbi7pjxsiqkzp45"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c416822d54df436f29dcf9a5f26398685fdc17a2/recipes/glsl-mode"; @@ -38242,12 +40560,12 @@ melpaBuild { pname = "gnu-apl-mode"; ename = "gnu-apl-mode"; - version = "20180129.2300"; + version = "20181217.54"; src = fetchFromGitHub { owner = "lokedhs"; repo = "gnu-apl-mode"; - rev = "fa569827c916ed46e410e9f28e4b4d28f8567654"; - sha256 = "0x1i1xcd3d34c9c87isd39d9ra69ywd01ag0hgkkgdzrk44znshj"; + rev = "3b5b13abeb424e8ed399379fdefc168422664def"; + sha256 = "0nhbfzfwl44ffvhzrnkjxaxz2nfrp1a7zcy6fg6cm13c2z40jslp"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/369a55301bba0c4f7ce27f6e141944a523beaa0f/recipes/gnu-apl-mode"; @@ -38361,6 +40679,32 @@ license = lib.licenses.free; }; }) {}; + gnus-recent = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "gnus-recent"; + ename = "gnus-recent"; + version = "20190115.951"; + src = fetchFromGitHub { + owner = "unhammer"; + repo = "gnus-recent"; + rev = "c6b287532fe82e95dce5a488f752c122567f9348"; + sha256 = "1lpjs5qgvplbbm2waixiyj3mk4698h09150chm1mwxjc0np2acj1"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/0b80d94cf1a8b8e2d4da5d45f65231aa4884a3a0/recipes/gnus-recent"; + sha256 = "14xac6bmn61bk0h6dby14111iijz0j254v4mh77lf0ydbz6wxjf1"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/gnus-recent"; + license = lib.licenses.free; + }; + }) {}; gnus-select-account = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -38499,16 +40843,16 @@ melpaBuild { pname = "go-autocomplete"; ename = "go-autocomplete"; - version = "20170626.323"; + version = "20150903.1940"; src = fetchFromGitHub { - owner = "nsf"; + owner = "mdempsky"; repo = "gocode"; - rev = "beae6bdcc6fc300059038961b7a3e977e0fb7c61"; - sha256 = "0fhs17v2x24nhs0kd2yjzr56jni2767yrjxims6phsaxs9m5aih2"; + rev = "ccbc3bda7debb16fa6672e719f8f74fa2523c321"; + sha256 = "0gshb5d20v342disc290pry8i6p60srl2ip186kb4sk692lk0ily"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/04867a574773e8794335a2664d4f5e8b243f3ec9/recipes/go-autocomplete"; - sha256 = "1ldsq81a167dk2r2mvzyp3v3j2mxc4l9p6b12i7pv8zrjlkhma5a"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/ef45683cbfe82bf8a9d6f3f1c59e3cf340accbe3/recipes/go-autocomplete"; + sha256 = "15ns1zzw6kblcbih7dmjvk1p0f6f3p2wpgx4gnd9ax0fcj65ghwi"; name = "recipe"; }; packageRequires = [ auto-complete ]; @@ -38737,12 +41081,12 @@ melpaBuild { pname = "go-guru"; ename = "go-guru"; - version = "20180628.310"; + version = "20181011.2030"; src = fetchFromGitHub { owner = "dominikh"; repo = "go-mode.el"; - rev = "7f87c32464d2eb22ac7a413cac741a89fbfdc740"; - sha256 = "06znpm5zfi41rcdrjgf79w9zifn2my56sfys5fyafqc53rjya4pv"; + rev = "120fb911f1d8038f828da85eed8aaad977dabd8c"; + sha256 = "18qx1mf4fgrzm8g89c4y7zvwl3djrbbkhar242zl5ab5218dsp0s"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0cede3a468b6f7e4ad88e9fa985f0fdee7d195f5/recipes/go-guru"; @@ -38755,6 +41099,32 @@ license = lib.licenses.free; }; }) {}; + go-imenu = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "go-imenu"; + ename = "go-imenu"; + version = "20181029.329"; + src = fetchFromGitHub { + owner = "brantou"; + repo = "go-imenu.el"; + rev = "00bb69c1c71453f43ab2d6622a74e3c8e6b454b9"; + sha256 = "1bwcsph6ywnqf2dbzh82vzw7m6g5qyxzjln8n3470h06iv7jhic2"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/d602b6071787018e3e0a68b4852eb978b34acbea/recipes/go-imenu"; + sha256 = "0s8rc7rkqlywrhnm2h8yygn87jhjc492wmsvnr1rxl62wf5cijms"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/go-imenu"; + license = lib.licenses.free; + }; + }) {}; go-impl = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -38814,12 +41184,12 @@ melpaBuild { pname = "go-mode"; ename = "go-mode"; - version = "20180327.830"; + version = "20181011.2029"; src = fetchFromGitHub { owner = "dominikh"; repo = "go-mode.el"; - rev = "7c50c800bc06f7e3b2f2d3fc0410e2cea78a5cb3"; - sha256 = "1ain754h3kglk1qiqjkc3mwcyl2wmqywv4qkqfp7wkyyj34gncb6"; + rev = "be9186c658c33e2cfd09e8808e578d525dcbf2a2"; + sha256 = "086qj1rmfkk7x0a1p76z33rycgrcawmyg7h3k9j978v4k1xa5xnf"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0cede3a468b6f7e4ad88e9fa985f0fdee7d195f5/recipes/go-mode"; @@ -38842,12 +41212,12 @@ melpaBuild { pname = "go-playground"; ename = "go-playground"; - version = "20170226.43"; + version = "20181103.1146"; src = fetchFromGitHub { owner = "grafov"; repo = "go-playground"; - rev = "559d53bbc507394aaca3683325d17286637bf4f0"; - sha256 = "04hxgi27cyhs07mb0wz21q11b1nxmfsx56gynxjc2gqj2wb5i086"; + rev = "790562506dc941648d7a54fd21677871942251e4"; + sha256 = "06aaxx7qk1g7sk80rr3jgz6qrqlh5zlf57h9di740645kmyr6vkd"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/900aabb7bc2350698f8740d72a5fad69c9219c33/recipes/go-playground"; @@ -38905,12 +41275,12 @@ melpaBuild { pname = "go-projectile"; ename = "go-projectile"; - version = "20170302.1705"; + version = "20181023.1444"; src = fetchFromGitHub { owner = "dougm"; repo = "go-projectile"; - rev = "4c449eae696d4e3a15078c336c98ea779da227ab"; - sha256 = "1cyvd2va0vgbh7im5rhapyd66ql469cl2hswg946qj961kdxc7s9"; + rev = "7910884b4de560f3fc70b53752f658ef9cdc02cd"; + sha256 = "03bh8k95qrc3q1sja05bbv3jszh6rgdv56jpi8g06yxk53457a1n"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3559a179be2a5cda71ee0a5a18bead4b3a1a8138/recipes/go-projectile"; @@ -39342,12 +41712,12 @@ melpaBuild { pname = "google-contacts"; ename = "google-contacts"; - version = "20171027.1033"; + version = "20180919.614"; src = fetchFromGitHub { owner = "jd"; repo = "google-contacts.el"; - rev = "a40389bae006ae094aeb1a39fae9891ca687c0fa"; - sha256 = "06mfdmr3dlmk4gyq8fxqv78c5jyis8vxx4ih2azcr5c831pkayzi"; + rev = "2273582713712a58e71156a8a29972d42e8e690e"; + sha256 = "1iw5khd3mcgq7vmpm2xw1s713glc8c569n4mgrmmggg73sjnj4kf"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/671afe0ff3889ae8c4b2d7b8617a3a25c16f3f0f/recipes/google-contacts"; @@ -39368,12 +41738,12 @@ melpaBuild { pname = "google-maps"; ename = "google-maps"; - version = "20171002.734"; + version = "20181121.732"; src = fetchFromGitHub { owner = "jd"; repo = "google-maps.el"; - rev = "c0e5dccfdc9f7f77ff8f29177547be47833d7156"; - sha256 = "1agsfmbd2zbn1xs05kxlb32hhkmrri3hdmcrvf0w1fcsgc5a9085"; + rev = "2eb16ff609f5a9f8d02c15238a111fbb7db6c146"; + sha256 = "1bl0dnksbf14d0xcnvdy9qpvzc5c8jwkxpmfvgayj6djikxnw2md"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/671afe0ff3889ae8c4b2d7b8617a3a25c16f3f0f/recipes/google-maps"; @@ -39419,12 +41789,12 @@ melpaBuild { pname = "google-translate"; ename = "google-translate"; - version = "20170713.119"; + version = "20190206.429"; src = fetchFromGitHub { owner = "atykhonov"; repo = "google-translate"; - rev = "486c63bbfa0338589589f628703c38112035a5b2"; - sha256 = "08b4lxnwy9iqxacbjjljybvvdkl9g2dy6vga6hw7h7h32qra8w2j"; + rev = "bf119aac424994d2aa91fce9630adc01ed0ea617"; + sha256 = "05ljjw7kbnszygw3w085kv57swfiiqxri2b5xvsf5dw3pc3g7j3c"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e3c275e59cbfe6e40f9cd4c470fc66544c9a6d21/recipes/google-translate"; @@ -39575,23 +41945,24 @@ goto-chg = callPackage ({ fetchFromGitHub , fetchurl , lib - , melpaBuild }: + , melpaBuild + , undo-tree }: melpaBuild { pname = "goto-chg"; ename = "goto-chg"; - version = "20180105.1033"; + version = "20190110.1314"; src = fetchFromGitHub { owner = "emacs-evil"; repo = "goto-chg"; - rev = "e5b38e4e1378f6ea48fa9e8439f49c2998654aa4"; - sha256 = "1fxdvgdafavc4sad5i8g0wvpdqzlgzmvfi07yrah1c5vwkrslbvj"; + rev = "1829a13026c597e358f716d2c7793202458120b5"; + sha256 = "1y603maw9xwdj3qiarmf1bp13461f9f5ackzicsbynl0i9la3qki"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cf1fc176430fe3ab55ce537a0efc59780bb812be/recipes/goto-chg"; sha256 = "1yd4jq4zql4av9nr1sdk4nsnnk54c3brgjhpczndy1ipiaxlnydy"; name = "recipe"; }; - packageRequires = []; + packageRequires = [ undo-tree ]; meta = { homepage = "https://melpa.org/#/goto-chg"; license = lib.licenses.free; @@ -39648,6 +42019,32 @@ license = lib.licenses.free; }; }) {}; + goto-line-preview = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "goto-line-preview"; + ename = "goto-line-preview"; + version = "20190307.2336"; + src = fetchFromGitHub { + owner = "jcs090218"; + repo = "goto-line-preview"; + rev = "1e361d8c0b9596154db579e6ae5edbd51e12eedc"; + sha256 = "16zil8kjv7lfmy11g88p1cm24j9db319fgkwzsgf2vzp1m15l0pc"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/231e0b056114a63aa472ccfc0cd24f2f12a31600/recipes/goto-line-preview"; + sha256 = "1mbc9p96rrxpafdfx7wq50aj4fd3c47p7pqjwqqfdgk9dskmsjc2"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/goto-line-preview"; + license = lib.licenses.free; + }; + }) {}; govc = callPackage ({ dash , emacs , fetchFromGitHub @@ -39711,12 +42108,12 @@ melpaBuild { pname = "gpastel"; ename = "gpastel"; - version = "20180419.2350"; + version = "20181229.604"; src = fetchFromGitHub { owner = "DamienCassou"; repo = "gpastel"; - rev = "21b7d79530134d6a47eeb252b684f884c769d291"; - sha256 = "1s1gnkpz6byf6by8r1bl9vq3slmsdavjb2ybp2zgic48favz1qm2"; + rev = "8a5522b274f79d55d7c9a0b2aaf062526f9253c7"; + sha256 = "01pnnqcxni55xr7r2lxcnsqiszm2w5iwnjcwp748p1faq6ywhi19"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9b70e05ff0a074f9e2f1373e8495dc8df462deea/recipes/gpastel"; @@ -39737,12 +42134,12 @@ melpaBuild { pname = "grab-mac-link"; ename = "grab-mac-link"; - version = "20180328.745"; + version = "20190302.646"; src = fetchFromGitHub { owner = "xuchunyang"; repo = "grab-mac-link.el"; - rev = "35edb57d136c2a9726fd14e6a59cce4fc0248771"; - sha256 = "1c3g6ygi71qm3lqvhjjzxkpdhwkpx4qwm8mhinwffcib5hagrafn"; + rev = "94e6130d7542bafdf594e45606d1148b0a5687f7"; + sha256 = "0p55gs2xkfw2lgzkaxjy869hqi1gqnxbxgndvkczzj3f0nzfsa0y"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e4cc8a72a9f161f024ed9415ad281dbea5f07a18/recipes/grab-mac-link"; @@ -39984,6 +42381,32 @@ license = lib.licenses.free; }; }) {}; + graphql = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "graphql"; + ename = "graphql"; + version = "20180911.1731"; + src = fetchFromGitHub { + owner = "vermiculus"; + repo = "graphql.el"; + rev = "672dd9ebd7e67d8089388b0c484cd650e76565f3"; + sha256 = "0sp0skc1rnhi39szfbq1i99pdgd3bhn4c15cff05iqhjy2d4hniw"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/3e801ae56f11b64a5a3e52cf1a6c152940ab8c97/recipes/graphql"; + sha256 = "139fng2psn535ymqa7c6hm1r7ja1gs5mdvb487jj6fh0bl9wq8la"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/graphql"; + license = lib.licenses.free; + }; + }) {}; graphql-mode = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -39992,12 +42415,12 @@ melpaBuild { pname = "graphql-mode"; ename = "graphql-mode"; - version = "20180303.1558"; + version = "20190320.57"; src = fetchFromGitHub { owner = "davazp"; repo = "graphql-mode"; - rev = "36b1a4ed9fe78ccd1f386111644e69a5424a1a7b"; - sha256 = "1azq0igx07aff9r7fbl0l4vbr44c4ylfq41g5rahbc70spd85bk6"; + rev = "ebd6502c0901dd2864a6ac893659a0cd74b6ba73"; + sha256 = "169bp2ps0i931qlcn0nsngs8dycqzlr3dcb5smnlmbjylmqi9yjq"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3850073e6706d4d8151bc6ab12963a19deae8be9/recipes/graphql-mode"; @@ -40017,12 +42440,12 @@ melpaBuild { pname = "graphviz-dot-mode"; ename = "graphviz-dot-mode"; - version = "20171103.127"; + version = "20181117.2151"; src = fetchFromGitHub { owner = "ppareit"; repo = "graphviz-dot-mode"; - rev = "c456a2b65c734089e6c44e87209a5a432a741b1a"; - sha256 = "0j1r2rspaakw37b0mx7pwpvdsvixq9sw3xjbww5piihzpdxz58z1"; + rev = "243de72e09ddd5cdc4863613af8b749827a5e1cd"; + sha256 = "10ss7mhlkqvxh7y2w7njzh3hiz3r7y49a3q9j41bwipia4yzq4n5"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6e2f1e66b33fd95142be4622c996911e38d56281/recipes/graphviz-dot-mode"; @@ -40111,6 +42534,32 @@ license = lib.licenses.free; }; }) {}; + greek-polytonic = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "greek-polytonic"; + ename = "greek-polytonic"; + version = "20190303.558"; + src = fetchFromGitHub { + owner = "jhanschoo"; + repo = "greek-polytonic"; + rev = "114cba0f57cc077871693c799b807df2292341ec"; + sha256 = "09prvjnhvirip6s0rlsp7pyyaj9xswvvjskxb2977ymki8ijxmqf"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/bf0e6206be0e6f416c59323cf10bf052882863f3/recipes/greek-polytonic"; + sha256 = "0rp5iwiznp95r8srxvq72hna2hgcqj4q1dvg2ma86cqzgqwr4xnw"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/greek-polytonic"; + license = lib.licenses.free; + }; + }) {}; green-is-the-new-black-theme = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -40118,12 +42567,12 @@ melpaBuild { pname = "green-is-the-new-black-theme"; ename = "green-is-the-new-black-theme"; - version = "20180322.1903"; + version = "20190313.1205"; src = fetchFromGitHub { owner = "fredcamps"; repo = "green-is-the-new-black-emacs"; - rev = "8a03687a2b8b55c5dc7f099086019278d505d8d8"; - sha256 = "07j5sv8dskqxpbzr5f58n75cziyqm9v01c3f7wmwfs8jl7h5nc4m"; + rev = "65a2b7e7cc6497fbc851319225842a1624bfecc5"; + sha256 = "1jlmrakj8kf7n2zzmrsacrmvlcwfl27a4zwrvigw28z13z7g5a3g"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3e42528d5677fd90515cad47266c07ea3d4363fb/recipes/green-is-the-new-black-theme"; @@ -40168,12 +42617,12 @@ melpaBuild { pname = "green-screen-theme"; ename = "green-screen-theme"; - version = "20171130.234"; + version = "20180816.802"; src = fetchFromGitHub { owner = "rbanffy"; repo = "green-screen-emacs"; - rev = "c348ea0adf0e6ae99294a05be183a7b425a4bab0"; - sha256 = "1rqhac5j06gpc9gp44g4r3zdkw1baskwrz3bw1n1haw4a1k0657q"; + rev = "774e8f6c033786406267f71ec07319d906a30b75"; + sha256 = "0f12lqgfi1vlhq8p5ia04vlmvmyb4f40q7dm2nbh5y8r6k89hisg"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/821744ca106f1b74941524782e4581fc93800fed/recipes/green-screen-theme"; @@ -40246,12 +42695,12 @@ melpaBuild { pname = "grep-context"; ename = "grep-context"; - version = "20180415.435"; + version = "20181002.954"; src = fetchFromGitHub { owner = "mkcms"; repo = "grep-context"; - rev = "4c63d0f2654dee1e249c2054d118d674a757bd45"; - sha256 = "0n2bc9q6bvbfpaqivp3ajy9ad1wr7hfdd98qhnspsap67p73kfn4"; + rev = "5a4e3efdf775755c1bbefcfe4b461c1166d81d7d"; + sha256 = "00q7l4a3c0ay6g5ff9bfa2qgkiswsyh4s6pqnpg0zpzhvv5710f5"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/41dbaf627ae4ef86c222d2b6b5d3523fdb9a4637/recipes/grep-context"; @@ -40379,12 +42828,12 @@ melpaBuild { pname = "groovy-mode"; ename = "groovy-mode"; - version = "20180601.738"; + version = "20190407.1614"; src = fetchFromGitHub { owner = "Groovy-Emacs-Modes"; repo = "groovy-emacs-modes"; - rev = "a5afa3ac0a23c1bdebea014d06e5c30dde56ee8b"; - sha256 = "04jciwr7614cw3dl9hfiypmqc28njbrin6j3g5r27xn1f91sd5ni"; + rev = "aa531c659758b896ff8fbd307080ce0d1d04ebfb"; + sha256 = "0jcqldpgx9b0xsvxvj7lgqrb39cwn7adggrlxfcm0pgc40dpfwb4"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3fe318b4e51a280a55c01fa30455e4a180df8bd6/recipes/groovy-mode"; @@ -40458,16 +42907,16 @@ melpaBuild { pname = "gruvbox-theme"; ename = "gruvbox-theme"; - version = "20180623.2009"; + version = "20190406.1946"; src = fetchFromGitHub { - owner = "Greduan"; + owner = "greduan"; repo = "emacs-theme-gruvbox"; - rev = "796999e5db2a0e43ad64c062c1bec3c966d095bc"; - sha256 = "0qj5k0c1592ikrb7gcibqwf8hhj6lq4cw7zrb3kmpk4zakzy7a2w"; + rev = "f05bfb9d8be4270dc919d14410f16f7da1fcd9e0"; + sha256 = "126kqvgjy71rimr4f7sgnh2j73i3i0s650bx84jl8n4k48x0hwz5"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/2bd48c87919f64ced9f3add4860751bb34cb5ecb/recipes/gruvbox-theme"; - sha256 = "042mnwlmixygk2mf24ygk7rkv1rfavc5a36hs9x8b68jnf3khj32"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/gruvbox-theme"; + sha256 = "12z89fjfqcp9rx2f2x9wcffgxxv3kjn1dabyk0cjf286hgvmgz88"; name = "recipe"; }; packageRequires = [ autothemer ]; @@ -40508,12 +42957,12 @@ melpaBuild { pname = "gscholar-bibtex"; ename = "gscholar-bibtex"; - version = "20170913.1457"; + version = "20190129.2155"; src = fetchFromGitHub { owner = "cute-jumper"; repo = "gscholar-bibtex"; - rev = "ba4ce159e385d695d8560e8b06b3cbe48424861c"; - sha256 = "0idnfhk17avp0r4706grjqqkz0xl98gs0bx7wrkvwym3y2gadlz2"; + rev = "3b651e3de116860eb1f1aef9b547a561784871fe"; + sha256 = "0wwjz4k1hsc1z489ygz4kh3dh23d7pnkgg2js07as7038hmhkjcb"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9fa546d3dce59b07a623ee83e3befe139dc10481/recipes/gscholar-bibtex"; @@ -40560,12 +43009,12 @@ melpaBuild { pname = "guess-language"; ename = "guess-language"; - version = "20170620.308"; + version = "20190325.736"; src = fetchFromGitHub { owner = "tmalsburg"; repo = "guess-language.el"; - rev = "1f1602f74d7159e7fb8c90f92ec5a3d1df5429da"; - sha256 = "1764v96sdn3zvpd35ppn31ib4p8cvdrj0bfmbplxg2xhp7xkgmca"; + rev = "e64d88f287a547198e4c96e2fff543e103f2b456"; + sha256 = "0dmbr7gylnc1dsjaldfw51nmli66lizs1w5a8p1zacpf7w5kf7x2"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6e78cb707943fcaaba0414d7af2af717efce84d0/recipes/guess-language"; @@ -40646,12 +43095,12 @@ melpaBuild { pname = "guix"; ename = "guix"; - version = "20180705.315"; + version = "20190107.1126"; src = fetchFromGitHub { owner = "alezost"; repo = "guix.el"; - rev = "f220e82b2dd94fb349ae37665912a42196d53975"; - sha256 = "12k2qib7qbxxkidsnw2a44jakw0lgbz8kksgxfbqmaryzi35wh5v"; + rev = "c4c96663fefe7e007c372e7d24d6e7016b70e4ee"; + sha256 = "1730q2dm84f15ycjdf3dgl2j8770mhr6qnyzxgac3zzkjr8pyvq7"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b3d8c73e8a946b8265487a0825d615d80aa3337d/recipes/guix"; @@ -40773,12 +43222,12 @@ melpaBuild { pname = "habamax-theme"; ename = "habamax-theme"; - version = "20180702.958"; + version = "20181001.150"; src = fetchFromGitHub { owner = "habamax"; repo = "habamax-theme"; - rev = "b40e3e7c637e67c8f9164b0db9e75c0ec4eb6a0f"; - sha256 = "0fgvnfqgg6gqrwlb8yibs4nybvskd6awxqdpj4yy9jfqibggppld"; + rev = "6e86a1b23b6e2aaf40d4374b5673da00a28be447"; + sha256 = "0k96mdxg28bbm14d6rdlin8l4c75i9wicj3mxrd0bys0shxl9jm6"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/77386484ad0b31c2818fae52cd312821c4632cb8/recipes/habamax-theme"; @@ -40800,12 +43249,12 @@ melpaBuild { pname = "habitica"; ename = "habitica"; - version = "20171022.1922"; + version = "20190401.2121"; src = fetchFromGitHub { owner = "abrochard"; repo = "emacs-habitica"; - rev = "e51ff7436fe1da10404e2c0872b15d6a7a926717"; - sha256 = "1hiiqf82nagnpq2qdcdv6y2blfiqs6f8ia8k66a4zn5xgwpd13f4"; + rev = "4f708d0fc0564fa3b624452b9f24ba4a6eeae181"; + sha256 = "1g0flh50j2gzx3414id758klvrxgdk5p26hpxdab46f8kvjylgip"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cf9543db3564f4806440ed8c5c30fecbbc625fa1/recipes/habitica"; @@ -40818,6 +43267,33 @@ license = lib.licenses.free; }; }) {}; + hack-mode = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , s }: + melpaBuild { + pname = "hack-mode"; + ename = "hack-mode"; + version = "20190407.1646"; + src = fetchFromGitHub { + owner = "hhvm"; + repo = "hack-mode"; + rev = "831bab05b283a719a4762fec0082cc599def93c7"; + sha256 = "1nzlzldmnz9hc9i09lzs4wqqvwv0x5n69kv0lq9rs5cqjm7yyphq"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/27e238e5d2aaca810fd3fb6836ca49c9fa07cc87/recipes/hack-mode"; + sha256 = "1zs7p6fczj526wz9kvyhmxqkgrkfkkrvm9ma4cg349sfpjpxwkbl"; + name = "recipe"; + }; + packageRequires = [ emacs s ]; + meta = { + homepage = "https://melpa.org/#/hack-mode"; + license = lib.licenses.free; + }; + }) {}; hack-time-mode = callPackage ({ emacs , fetchFromGitLab , fetchurl @@ -40854,14 +43330,14 @@ ename = "hacker-typer"; version = "20170206.720"; src = fetchFromGitHub { - owner = "therockmandolinist"; + owner = "dieggsy"; repo = "emacs-hacker-typer"; rev = "d5a23714a4ccc5071580622f278597d5973f40bd"; sha256 = "13wp7cg9d9ij44inxxyk1knczglxrbfaq50wyhc4x5zfhz5yw7wx"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/8e04a3a1606ea23865c04d93e3dc77cb55b9931f/recipes/hacker-typer"; - sha256 = "128y562cxi8rblnqjdzhqc6b58bxi67f6hz569gqw4jywz0xcd0g"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3416586d4d782cdd61a56159c5f80a0ca9b3ddf4/recipes/hacker-typer"; + sha256 = "0vf18hylhszvplam6c4yynr53zc3n816p9k36gywm6awwblfpyfb"; name = "recipe"; }; packageRequires = [ emacs ]; @@ -40872,25 +43348,24 @@ }) {}; hackernews = callPackage ({ fetchFromGitHub , fetchurl - , json ? null , lib , melpaBuild }: melpaBuild { pname = "hackernews"; ename = "hackernews"; - version = "20180220.419"; + version = "20190211.1535"; src = fetchFromGitHub { owner = "clarete"; repo = "hackernews.el"; - rev = "89077fdb98ab1e77459c7839decdf21b87f4341b"; - sha256 = "11id6gp6mz97sm2izz6y47n3sphlibdb6nzvbkcxl7l7av53wxg7"; + rev = "30798c7bc8cb7cd732d49a274d74057b4ce6cf74"; + sha256 = "1iifzz2n8ca6275rwmd3xp9lv0jp3c8nzhmrw3aarsnwdmxr1hmh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c43a342e47e5ede468bcf51a60d4dea3926f51bd/recipes/hackernews"; sha256 = "1x1jf5gkhmpiby5rmy0sziywh6c1f1n0p4f6dlz6ifbwns7har6a"; name = "recipe"; }; - packageRequires = [ json ]; + packageRequires = []; meta = { homepage = "https://melpa.org/#/hackernews"; license = lib.licenses.free; @@ -40905,14 +43380,14 @@ ename = "hal-mode"; version = "20160704.1046"; src = fetchFromGitHub { - owner = "strahlex"; + owner = "machinekoder"; repo = "hal-mode"; rev = "cd2f66f219ee520198d4586fb6b169cef7ad3f21"; sha256 = "0xibwmngijq0wv9hkahs5nh02qj3ma0bkczl07hx8wnl6j27f0nj"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/955a4d94110bb2048d899a3d7671937e69d5ac79/recipes/hal-mode"; - sha256 = "1b1hvlm80awbyjjs5d51v46hw8a2jfz8dv9r61h7vvwh9a8wpgk2"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3416586d4d782cdd61a56159c5f80a0ca9b3ddf4/recipes/hal-mode"; + sha256 = "0nlan5f3llhn04p86a6l47dl9g83a51wzrchs2q8rvfcy4161nn4"; name = "recipe"; }; packageRequires = []; @@ -41009,12 +43484,12 @@ melpaBuild { pname = "haml-mode"; ename = "haml-mode"; - version = "20170923.2153"; + version = "20190219.1302"; src = fetchFromGitHub { owner = "nex3"; repo = "haml-mode"; - rev = "1cbb2de8f0fc25f35448c5cad04642f28078f3bb"; - sha256 = "1045bf7bq914d3577kg9xakm4yciwwsvlh5qwfk4wnsraf7rld0r"; + rev = "bf5b6c11b1206759d2b28af48765e04882dd1fc4"; + sha256 = "1zh19b9az4ql87vjmjm0j7y6c4ir6w3rh0n4sxzqqpnv8xpd4b44"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/haml-mode"; @@ -41294,12 +43769,12 @@ melpaBuild { pname = "haskell-mode"; ename = "haskell-mode"; - version = "20180601.143"; + version = "20181122.23"; src = fetchFromGitHub { owner = "haskell"; repo = "haskell-mode"; - rev = "dd0ea640fa449d021399a17db65e4d50d3f0f2a9"; - sha256 = "0cc8mhjn4qhn3zs3x7azkjnvalg156b6h0n13b8wzlvyp9ka28yj"; + rev = "4aa88752ab23bca3ded36a9c9fd9c34cffbb129b"; + sha256 = "0697l2rpfacjapazvxhrnp0524zjgvw13c3168czljijknx3b54r"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7f18b4dcbad4192b0153a316cff6533272898f1a/recipes/haskell-mode"; @@ -41363,6 +43838,32 @@ license = lib.licenses.free; }; }) {}; + hasklig-mode = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "hasklig-mode"; + ename = "hasklig-mode"; + version = "20181110.1059"; + src = fetchFromGitHub { + owner = "minad"; + repo = "hasklig-mode"; + rev = "386c098c93a744f6b30ad937d193eebf0fd79e1b"; + sha256 = "0m1cn59fzsfqc6j1892yaaddh6g6mwiqnp1ssxhic5fcm2xk00rz"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/15a60278102de9e078b613456126945737718ce9/recipes/hasklig-mode"; + sha256 = "0gz0k9ahk0jpdp893ckbby9ilkac1zp95kpfqdnpfy0a036xfwm7"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/hasklig-mode"; + license = lib.licenses.free; + }; + }) {}; hasky-extensions = callPackage ({ avy-menu , emacs , fetchFromGitHub @@ -41372,12 +43873,12 @@ melpaBuild { pname = "hasky-extensions"; ename = "hasky-extensions"; - version = "20180107.2112"; + version = "20190204.1216"; src = fetchFromGitHub { owner = "hasky-mode"; repo = "hasky-extensions"; - rev = "d75dc57f4eaeb92785bde6c26c1031710be1cf00"; - sha256 = "135rn33ldrhz3z6fg1rcdaxs1dnahliw782qc4ffxkays186id63"; + rev = "eb1437f815bd93946ecf707e8d24dc704c273586"; + sha256 = "1r8xbfxjig2qgkvfd2yy1b5vpn1l49h504b0zbdir9hkipwzmls9"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e3f73e3df8476fa231d04211866671dd74911603/recipes/hasky-extensions"; @@ -41400,12 +43901,12 @@ melpaBuild { pname = "hasky-stack"; ename = "hasky-stack"; - version = "20180331.208"; + version = "20190304.1448"; src = fetchFromGitHub { owner = "hasky-mode"; repo = "hasky-stack"; - rev = "3e17ce07dd6b0207474e4ff14ad7b8c467382947"; - sha256 = "0cdsdlgapf9xxj928hlb7ch9x8rznayrvj7n8j2vzfa0kfmg7qwf"; + rev = "a3176aece9a9ab0a36ae795965f83f4c1fa243bf"; + sha256 = "1j9cvy95wnmssg68y7hcjr0fh117ix1ypa0k7rxqn84na7hyhdpl"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c3faf544872478c3bccf2fe7dc51d406031e4d80/recipes/hasky-stack"; @@ -41662,12 +44163,12 @@ melpaBuild { pname = "helm"; ename = "helm"; - version = "20180719.1206"; + version = "20190407.1013"; src = fetchFromGitHub { owner = "emacs-helm"; repo = "helm"; - rev = "345842e1a36b8dfa23eb516e8a8cb64783505f6b"; - sha256 = "0k8i2ay8mmqfxsfyg12mp2rg27h9xqbvvsfmd38xgc2ni4c1sd1f"; + rev = "a52049cc51a7db2f2a98c93e0eef7a419271c7a7"; + sha256 = "0yb1hjs79g5417cw3kihdk8hvjx3lllf63qn0mn59zk62s9cdw68"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7e8bccffdf69479892d76b9336a4bec3f35e919d/recipes/helm"; @@ -41881,12 +44382,12 @@ melpaBuild { pname = "helm-backup"; ename = "helm-backup"; - version = "20171204.2357"; + version = "20180910.2314"; src = fetchFromGitHub { owner = "antham"; repo = "helm-backup"; - rev = "a2c0fa16113e628500d6822c6605280b94e24038"; - sha256 = "0j4dkz9za2zng43dx8ph688gl5973isxr89v5bw160c65n4lbc6w"; + rev = "691fe542f38fc7c8cca409997f6a0ff5d76ad6c2"; + sha256 = "0zi1md5f1haqcrclqfk4ilvr6hbm389kl3ajnyx230rq22vmb9ca"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5e6eba7b201e91211e43c39e501f6066f0afeb8b/recipes/helm-backup"; @@ -41940,12 +44441,12 @@ melpaBuild { pname = "helm-bibtex"; ename = "helm-bibtex"; - version = "20180612.619"; + version = "20190214.809"; src = fetchFromGitHub { owner = "tmalsburg"; repo = "helm-bibtex"; - rev = "21f802aaf5b78dec18b72601dd8276c5244e39f5"; - sha256 = "13jg728v8k227p68ngiwknlygzqdvasg6n9ax1a2xgjbx3di12vv"; + rev = "72cdad743706f4bed185f7be918f67a8c3dcb59f"; + sha256 = "17f2gf4rsg3fqsj4kwiyi7cnr1q4xiam8b31kv2p1smh4qw8yfnh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f4118a7721435240cf8489daa4dd39369208855b/recipes/helm-bibtex"; @@ -42368,6 +44869,7 @@ }) {}; helm-codesearch = callPackage ({ cl-lib ? null , dash + , emacs , fetchFromGitHub , fetchurl , helm @@ -42377,19 +44879,19 @@ melpaBuild { pname = "helm-codesearch"; ename = "helm-codesearch"; - version = "20180203.2033"; + version = "20190405.411"; src = fetchFromGitHub { owner = "youngker"; repo = "helm-codesearch.el"; - rev = "87a68168b7c1490769305db0df60035e47799a75"; - sha256 = "0wiyz0kh2m2mpjhnl2mvsx2gvhkmmk0xaw432mxr48zz9jjnlha9"; + rev = "1dd925cdc7527f4e1cfb433d823d1be805455df3"; + sha256 = "1dpym7bwaavw9ggdhvma32f3kd0psrb4s2pcgni0j53hmawl7szr"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0a992824e46a4170e2f0915f7a507fcb8a9ef0a6/recipes/helm-codesearch"; sha256 = "1v21zwcyx73bc1lcfk60v8xim31bwdk4p06g9i4qag3cijdlli9q"; name = "recipe"; }; - packageRequires = [ cl-lib dash helm s ]; + packageRequires = [ cl-lib dash emacs helm s ]; meta = { homepage = "https://melpa.org/#/helm-codesearch"; license = lib.licenses.free; @@ -42433,12 +44935,12 @@ melpaBuild { pname = "helm-company"; ename = "helm-company"; - version = "20180213.1405"; + version = "20180828.912"; src = fetchFromGitHub { owner = "Sodel-the-Vociferous"; repo = "helm-company"; - rev = "acc9c7901e094c1591327a0db1ec7a439f67a84d"; - sha256 = "1d4q9clp0q56br80c21a4wz1gc4jw3mdy97z9mq07x9i8rhlppzs"; + rev = "d3fc093a0e833b4dee6561c00d6df3d62aa50f3f"; + sha256 = "1ciirsanhajdqm5iwl8k9ywf4jha1wdv4sc4d9kslyrfr9zn4q6k"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8acf7420f2ac8a36474594bc34316f187b43d771/recipes/helm-company"; @@ -42460,12 +44962,12 @@ melpaBuild { pname = "helm-core"; ename = "helm-core"; - version = "20180712.137"; + version = "20190407.1014"; src = fetchFromGitHub { owner = "emacs-helm"; repo = "helm"; - rev = "8de42d08f45a7052ed858132de43a76f933f58f7"; - sha256 = "1g36knyppz8lfbcn84hx6ivf8b34s26wx5dh4xw85sq6pwi5yn7s"; + rev = "a1791980f9ddca1989c65a67e6997bdde481dc27"; + sha256 = "1g6gj6wq3yiazyf73zk8hqc3nv52fg42g5gv5n8v766a3fb7bisq"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7a700c5665e6d72cb4cecf7fb5a2dd43ef9bf7/recipes/helm-core"; @@ -42489,12 +44991,12 @@ melpaBuild { pname = "helm-cscope"; ename = "helm-cscope"; - version = "20170326.22"; + version = "20190406.151"; src = fetchFromGitHub { owner = "alpha22jp"; repo = "helm-cscope.el"; - rev = "3cc7259ab4989f9f7ca039e703cdac14b907530a"; - sha256 = "0gh4csq6v6lqqpi966iwl2238wgkmr3vxb4kxffajpk8r0cq1c9x"; + rev = "e4698933e26524c025533cbb8fd1e1ab61e1d940"; + sha256 = "0lq0qhgacafz56kblkghs6pgh4linw3s2646zcamy0psksmxjcli"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3d2e3460df1ec750053bc8402ad6eb822c10c697/recipes/helm-cscope"; @@ -42544,12 +45046,12 @@ melpaBuild { pname = "helm-ctest"; ename = "helm-ctest"; - version = "20180125.2058"; + version = "20180821.305"; src = fetchFromGitHub { owner = "danlamanna"; repo = "helm-ctest"; - rev = "034927a922f40d9f5978786feed9bc9fe1f7655f"; - sha256 = "0mbsxlc0isfzqlwvwqxyjkcdvpn9a6qsa29r7mqqihy0jkqi4473"; + rev = "0c73689692a290f56080e95325c15362e90d529b"; + sha256 = "143vyd64w3gycc68jcsji474nz2ggda58hgwq6hyiwb7s0gm1gd3"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1cc85ff5554df10fc2066eec4d90de3b25536923/recipes/helm-ctest"; @@ -42571,12 +45073,12 @@ melpaBuild { pname = "helm-dash"; ename = "helm-dash"; - version = "20180503.218"; + version = "20190316.1309"; src = fetchFromGitHub { owner = "areina"; repo = "helm-dash"; - rev = "0ac2db529577fa63f2ed32310062873c585b91de"; - sha256 = "0jsa4vvhbcndv47gssjnk3fwbld73jhf0f5l7hjkq82ckimw0bvi"; + rev = "192b862185df661439a06de644791171e899348a"; + sha256 = "06am5vnr4hsxkvh2b8q8kb80y5x1h3qyv7gwggswwhfa7w2vba3w"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/helm-dash"; @@ -42733,14 +45235,14 @@ ename = "helm-dired-recent-dirs"; version = "20131228.614"; src = fetchFromGitHub { - owner = "akisute3"; + owner = "yynozk"; repo = "helm-dired-recent-dirs"; rev = "3bcd125b44f5a707588ae3868777d91192351523"; sha256 = "14sifdrfg8ydvi9mj8qm2bfphbffglxrkb5ky4q5b3j96bn8v110"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/b4e24a676ec0c5804b80c1497606b32c4f2cbe9d/recipes/helm-dired-recent-dirs"; - sha256 = "0kh0n5674ksswjzi9gji2qmx8v8g0axx8xbi0m3zby9nwcpv4qzs"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3416586d4d782cdd61a56159c5f80a0ca9b3ddf4/recipes/helm-dired-recent-dirs"; + sha256 = "1rm47if91hk6hi4xil9vb6rs415s5kvhwc6zkrmcvay9hiw9vrpw"; name = "recipe"; }; packageRequires = [ helm ]; @@ -42845,12 +45347,12 @@ melpaBuild { pname = "helm-emms"; ename = "helm-emms"; - version = "20180405.2228"; + version = "20190304.232"; src = fetchFromGitHub { owner = "emacs-helm"; repo = "helm-emms"; - rev = "d3f9bdef8ff0d093eaf6e26af50ea905ab53fdec"; - sha256 = "0bdb8xp0yp3gijpa9i2rc17gfzjhzlm92vdzw93i10qpd1xhj4aa"; + rev = "b785cb845a98a643eba9d5d53c9c0b4e6810a3cd"; + sha256 = "1595r09y3rmwd46nnhvjja3hb8j2ila295ijxv61cg52ws4wginh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/db836b671705607f6cd9bce8229884b1f29b4a76/recipes/helm-emms"; @@ -42899,12 +45401,12 @@ melpaBuild { pname = "helm-eww"; ename = "helm-eww"; - version = "20180511.618"; + version = "20190315.207"; src = fetchFromGitHub { owner = "emacs-helm"; repo = "helm-eww"; - rev = "1a09f11b2376dec8237df40140f056be8a256ef0"; - sha256 = "1kqdjhz2xiqw3bxjhfl9namhqrkbc2x70gcv6ljljya5hbkm62sm"; + rev = "76ba59fda8dd6f32a1bc7c6df0b43c6f76169911"; + sha256 = "0hpq1h0p69c9k6hkd2mjpprx213sc5475q7pr2zpmwrjdzgcv70z"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/455a32c1d4642dc6752408c4f5055f5f4d1288eb/recipes/helm-eww"; @@ -42954,12 +45456,12 @@ melpaBuild { pname = "helm-exwm"; ename = "helm-exwm"; - version = "20180703.919"; + version = "20180827.137"; src = fetchFromGitHub { owner = "emacs-helm"; repo = "helm-exwm"; - rev = "56266f261ba3b3d2753b374b50da20eb768c06f5"; - sha256 = "064ziinqa5sdv7rfjn0y278l12kld176fr88k4h78pgf2f2n7cd8"; + rev = "e21c6ffabadd2fe8d6c7805b6027cc59a6f914e9"; + sha256 = "11fyqk3h9cqynifc2zzqn0czrcj082wkdg1qhbj97nl4gcj787rl"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8ecdf9e00cf19fabbeade12a66d66cd010561366/recipes/helm-exwm"; @@ -43383,12 +45885,12 @@ melpaBuild { pname = "helm-github-stars"; ename = "helm-github-stars"; - version = "20180717.1811"; + version = "20190326.924"; src = fetchFromGitHub { owner = "Sliim"; repo = "helm-github-stars"; - rev = "809cf88e2984b121348b1046e1d3890f1fd580b4"; - sha256 = "09ywdsymh479syq9ps15bgyqf5gr94z8wn4jvlcxqz5aq5fil9vq"; + rev = "8cea100f788832ad28c2a61b8fc805298383e263"; + sha256 = "0ml324fi7bqh32d2vg41y13zqj4yx0hsqp5nmb6sw74qics7g9ma"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2e77f4a75504ca3e1091cdc757e91fb1ae361fa7/recipes/helm-github-stars"; @@ -43601,12 +46103,12 @@ melpaBuild { pname = "helm-hatena-bookmark"; ename = "helm-hatena-bookmark"; - version = "20170821.646"; + version = "20180803.2246"; src = fetchFromGitHub { owner = "masutaka"; repo = "emacs-helm-hatena-bookmark"; - rev = "d64833a5bbb4ae112ed176f6473232e526138572"; - sha256 = "01b6nlbidk93arnnd2irm088qlws4i4p1sagsh9v153x6sk0r38k"; + rev = "274e18182fe20c11e96009387a8e38e8cd2a1d7e"; + sha256 = "13s36gyb37asgrc9qca9d196i5bnxqy4acmda5cas08b48wp4lxk"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3e9335ad16d4151dd4970c4a3ad1fee9a84404fa/recipes/helm-hatena-bookmark"; @@ -43885,6 +46387,34 @@ license = lib.licenses.free; }; }) {}; + helm-jira = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub + , fetchurl + , helm + , lib + , melpaBuild }: + melpaBuild { + pname = "helm-jira"; + ename = "helm-jira"; + version = "20180802.115"; + src = fetchFromGitHub { + owner = "DeX3"; + repo = "helm-jira"; + rev = "75d6ed5bd7a041fa8c1adb21cbbbe57b5a7c7cc7"; + sha256 = "08cczc4jnkdgvzs0s3wq2dqmhnsvyhpl65dydmi7pmayl7zg6jir"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/b91a22c2117403e278a8116ea1180bed736ae1e3/recipes/helm-jira"; + sha256 = "1fb2hk97zlr30gzln8b5x7xc3v119ki8kbiyh7shxnaqx7dy1ihs"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs helm ]; + meta = { + homepage = "https://melpa.org/#/helm-jira"; + license = lib.licenses.free; + }; + }) {}; helm-js-codemod = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -44116,12 +46646,12 @@ melpaBuild { pname = "helm-ls-git"; ename = "helm-ls-git"; - version = "20180711.223"; + version = "20190104.2322"; src = fetchFromGitHub { owner = "emacs-helm"; repo = "helm-ls-git"; - rev = "e38cee59c42fbf16b6de239a537d27af58473394"; - sha256 = "0c53x1dzb80xs6qsmd6py7b9g7d0zva0dhvvxmipjy48dlzr3k5z"; + rev = "0702bc1950f26358c1a024bdbb2d0b1d7dcd2e51"; + sha256 = "0ndgnnsknan2f5jy1aiwcll1kxqyzcjc9kh6vkyd8d4dw7rskldg"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b487b4c0db9092bb7e32aad9265b79a9d18c8478/recipes/helm-ls-git"; @@ -44170,16 +46700,16 @@ melpaBuild { pname = "helm-ls-svn"; ename = "helm-ls-svn"; - version = "20150717.39"; + version = "20190316.1503"; src = fetchFromGitHub { - owner = "emacsorphanage"; + owner = "emacsmirror"; repo = "helm-ls-svn"; - rev = "4d4dc1a272f27fba5fdd7cc47e5d309b53c63ae3"; - sha256 = "0b7gah21rkfd43mb89lrwaqrrwq646abh7wi4q74sx796gmpz4dz"; + rev = "a6043e1187282f649e2cb9f0e722a42daf41294b"; + sha256 = "0jh3q2nx3hn6v1qvip5sbfsvf9zy74ppn1rl037d0hlssh6qir9j"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/30de78c9cf83de30093a5647976eeaf552d4b2cb/recipes/helm-ls-svn"; - sha256 = "0rqsy6gk114khqr28bp2fi0ixaa8wbqd952yxph517p1pbfwxy66"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/be27e728327016b819535ef8cae10020e5a07c2e/recipes/helm-ls-svn"; + sha256 = "10rbplwagmwp8lvhandzlinnzl1vcsvdlnjk9jpj3nw42x9wahx4"; name = "recipe"; }; packageRequires = [ cl-lib emacs helm ]; @@ -44188,28 +46718,84 @@ license = lib.licenses.free; }; }) {}; + helm-lsp = callPackage ({ dash + , emacs + , fetchFromGitHub + , fetchurl + , helm + , lib + , lsp-mode + , melpaBuild }: + melpaBuild { + pname = "helm-lsp"; + ename = "helm-lsp"; + version = "20190104.1334"; + src = fetchFromGitHub { + owner = "emacs-lsp"; + repo = "helm-lsp"; + rev = "78e2d936589f60f61ebed21c896416a59375aa46"; + sha256 = "1cmcvzffqrmnbyrzi7brh118236ycb5bmr6np6c3h6janmhmml8n"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/67942b34975015dd6f2b5f6b43829cc13b1832c6/recipes/helm-lsp"; + sha256 = "0hzwz243n45xcm3rnzmd6z8zrqy9660fy0l8mb940960cjzsxf3m"; + name = "recipe"; + }; + packageRequires = [ dash emacs helm lsp-mode ]; + meta = { + homepage = "https://melpa.org/#/helm-lsp"; + license = lib.licenses.free; + }; + }) {}; + helm-lxc = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub + , fetchurl + , helm + , lib + , lxc-tramp + , melpaBuild }: + melpaBuild { + pname = "helm-lxc"; + ename = "helm-lxc"; + version = "20190116.1250"; + src = fetchFromGitHub { + owner = "montag451"; + repo = "helm-lxc"; + rev = "6f11ea39c48816215fbd2df6c4bdaa90241aeac7"; + sha256 = "19f2jbjid1kfnqyqz9jnzy3blp5is23r14ss9iaky4wwb4gs0847"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/7a7717154a657bb7c27b25579ea2c1b31b5c0b5f/recipes/helm-lxc"; + sha256 = "0mhxbs99isbvls34g0415iy3fry7kanala6624gp5l5isbmn95rm"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs helm lxc-tramp ]; + meta = { + homepage = "https://melpa.org/#/helm-lxc"; + license = lib.licenses.free; + }; + }) {}; helm-make = callPackage ({ fetchFromGitHub , fetchurl - , helm , lib - , melpaBuild - , projectile }: + , melpaBuild }: melpaBuild { pname = "helm-make"; ename = "helm-make"; - version = "20180602.653"; + version = "20190403.624"; src = fetchFromGitHub { owner = "abo-abo"; repo = "helm-make"; - rev = "014e81c638fae3ad891a0b9317ae368d9eee7c5f"; - sha256 = "1p7pdrq4vh9adk9m19dyapadaz6karlcksmah3g4l1c8zr0awf4h"; + rev = "12c94f765401157d9ae0ba701636b50c9e313486"; + sha256 = "1qanvb2wggmznxvyx8cpfs0ah6ysk0sqp2ccki8c20835l0awnyv"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0f25f066c60d4caff1fbf885bc944cac47515ec8/recipes/helm-make"; sha256 = "1r6jjy1rlsii6p6pinbz7h6gcw4vmcycd3vj338bfbnqp5rrf2mc"; name = "recipe"; }; - packageRequires = [ helm projectile ]; + packageRequires = []; meta = { homepage = "https://melpa.org/#/helm-make"; license = lib.licenses.free; @@ -44336,12 +46922,12 @@ melpaBuild { pname = "helm-navi"; ename = "helm-navi"; - version = "20170402.752"; + version = "20181225.1629"; src = fetchFromGitHub { owner = "emacs-helm"; repo = "helm-navi"; - rev = "eb5d53f2abc640bea90e3c221562913c4d144638"; - sha256 = "0d2nm35hnp26xlpp4s60ddg8mn89bpaa5b6qsap9ff6kqxfnhww1"; + rev = "3b9abcc39ce7c657bc2dcc054b850dc2a7cf0448"; + sha256 = "1kxv8qx7s51fnzrslwqrgayqvyq30ycnb84p5qy7jf0rf69hxxjh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e5ffbc25c0eb30b9c96594d50f47cd0383aa8ebc/recipes/helm-navi"; @@ -44390,12 +46976,12 @@ melpaBuild { pname = "helm-notmuch"; ename = "helm-notmuch"; - version = "20180521.407"; + version = "20190320.348"; src = fetchFromGitHub { owner = "xuchunyang"; repo = "helm-notmuch"; - rev = "3176305a700c571e3bd6cdb37598708ad283ea73"; - sha256 = "097h2v5dxlcyb5myk9ijbjnf1qfi52ivaqq56hf5yll3k7i9m65d"; + rev = "97a01497e079a7b6505987e9feba6b603bbec288"; + sha256 = "1k038dbdpaa411gl4071x19fklhnizhr346plxw23lsnxir9dhqc"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/98667b3aa43d3e0f6174eeef82acaf71d7019aac/recipes/helm-notmuch"; @@ -44448,12 +47034,12 @@ melpaBuild { pname = "helm-org-rifle"; ename = "helm-org-rifle"; - version = "20180712.1545"; + version = "20181216.329"; src = fetchFromGitHub { owner = "alphapapa"; repo = "helm-org-rifle"; - rev = "b712ced914da3ae733ee7c355261071d4eed4876"; - sha256 = "0s8dq2x73p6dfrkyiq7zajl24wrsdmh6wgwrjjf9d6hdla64pfy8"; + rev = "23f4ae05f5a9d1894f4afdb9ef774c342eb7e787"; + sha256 = "040jmacydgp56gd48ddfn1yk8bsdaawhdkpb0nr898q0bkk5arzj"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f39cc94dde5aaf0d6cfea5c98dd52cdb0bcb1615/recipes/helm-org-rifle"; @@ -44522,7 +47108,7 @@ }) {}; helm-pass = callPackage ({ auth-source-pass , emacs - , fetchFromGitLab + , fetchFromGitHub , fetchurl , helm , lib @@ -44531,16 +47117,16 @@ melpaBuild { pname = "helm-pass"; ename = "helm-pass"; - version = "20180607.1648"; - src = fetchFromGitLab { - owner = "jabranham"; + version = "20190315.635"; + src = fetchFromGitHub { + owner = "emacs-helm"; repo = "helm-pass"; - rev = "fdff8f8f2e2b8a61caed7b6c171624700dbe1346"; - sha256 = "1rq4gsz924m06l01x0058cgxxmqwvh4jga8fb7lwviispxi21nbn"; + rev = "ed5798f2d83937575e8f23fde33323bca9e85131"; + sha256 = "0vglaknmir3yv4iwibwn8r40ran8d04gcyp99hx73ldmf3zqpnxv"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/7d3c7af03e0bca3f834c32827cbcca29e29ef4db/recipes/helm-pass"; - sha256 = "0a2yqd99j295ingljrvrni4z8qvlk9l827xi3rmkpafhhysch66h"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/4a34e0ab66491540dd0c5b62c7f60684056b16d5/recipes/helm-pass"; + sha256 = "153cj58x2xcmjs2n4fl1jsv8zir4z9jwg1w00ghv70k5j3rwsjkp"; name = "recipe"; }; packageRequires = [ auth-source-pass emacs helm password-store ]; @@ -44722,12 +47308,12 @@ melpaBuild { pname = "helm-projectile"; ename = "helm-projectile"; - version = "20180722.1426"; + version = "20180815.814"; src = fetchFromGitHub { owner = "bbatsov"; repo = "helm-projectile"; - rev = "74349fc9132502af2b2e6ca9a51185ae4c9391b4"; - sha256 = "0b24gypvbr1k7pks4fvniwa6smi4vflr5lgd3b82y2ah0b8x758m"; + rev = "8a2dbc973548fac89356c11d70f7f474ea1367a5"; + sha256 = "1lyka93dw4ndpw1qr1ixrng5lfdbz84yha5zl37imvkg68v6zi1x"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8bc4e3a5af7ba86d277c73a1966a91c87d3d855a/recipes/helm-projectile"; @@ -44783,8 +47369,8 @@ sha256 = "03ys40rr0pvgp35j5scw9c28j184f1c9m58a3x0c8f0lgyfpssjk"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/550eb9f42c90fd9e80714579c12ee6bfcacb5bb7/recipes/helm-pt"; - sha256 = "1imhy0bsm9aldv0pvf88280qdya01lznxpx5gi5wffhrz17yh4pi"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/e608f40d00a3b2a80a6997da00e7d04f76d8ef0d/recipes/helm-pt"; + sha256 = "1pvipzjw9h668jkbwwkmphvp806fs9q4mb2v2bjxpb0f3kn2qk3n"; name = "recipe"; }; packageRequires = [ helm ]; @@ -45021,12 +47607,12 @@ melpaBuild { pname = "helm-rg"; ename = "helm-rg"; - version = "20180629.220"; + version = "20190130.934"; src = fetchFromGitHub { owner = "cosmicexplorer"; repo = "helm-rg"; - rev = "008b4b06036d95921f176f222e6055255516116d"; - sha256 = "1zkcqcvr2svfa7i4d0vghr80nnksgmvdhfigb3r6prv9v84ghwkm"; + rev = "2cac4b6f9ab16962d63003c3f8b07e4d4f9899db"; + sha256 = "18nvndrqshvl79awixvsc9d7xi8npbyr10d7clbr0y2l405bwx4j"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/958fbafdcb214f1ec89fd0d84c6600c89890e0cf/recipes/helm-rg"; @@ -45310,6 +47896,35 @@ license = lib.licenses.free; }; }) {}; + helm-slime = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub + , fetchurl + , helm-core + , lib + , melpaBuild + , slime }: + melpaBuild { + pname = "helm-slime"; + ename = "helm-slime"; + version = "20190315.212"; + src = fetchFromGitHub { + owner = "emacs-helm"; + repo = "helm-slime"; + rev = "ebe80eebd1dfba1f1c837876c8f73cefc8c4db87"; + sha256 = "1qhb9446rpj17pm0hi3miy5gs5k3ld43bq29kzy0y26bf7ivfcjv"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/c35d43a7a8219de4a7f675147f598966aaecb9db/recipes/helm-slime"; + sha256 = "0qv4c1dd28zqbjxpshga967szrh75a4k51n4x86xkbax7ycca4hh"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs helm-core slime ]; + meta = { + homepage = "https://melpa.org/#/helm-slime"; + license = lib.licenses.free; + }; + }) {}; helm-smex = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -45402,12 +48017,12 @@ melpaBuild { pname = "helm-spotify-plus"; ename = "helm-spotify-plus"; - version = "20180107.338"; + version = "20181229.345"; src = fetchFromGitHub { owner = "wandersoncferreira"; repo = "helm-spotify-plus"; - rev = "c0903491da0adf215ad44bd31e11604da95062d6"; - sha256 = "0wqj28i5l43xf8l24g4qn6vra489f0lp7nb5rj7yywy6siikmvx6"; + rev = "8404541463a398007c7a38a28df10d89f3ef9668"; + sha256 = "0mqyzac48pmmazxb9vl9b5jymr53blzlmjbkmdsxnmk6gml27acr"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/306aa9fd29f1495eef71476dfcba3b494223b0a9/recipes/helm-spotify-plus"; @@ -45483,12 +48098,12 @@ melpaBuild { pname = "helm-system-packages"; ename = "helm-system-packages"; - version = "20180628.1131"; + version = "20190325.315"; src = fetchFromGitHub { owner = "emacs-helm"; repo = "helm-system-packages"; - rev = "d510562f4ea21245496199dffb731d00152f8a2b"; - sha256 = "0qzv395gm1i56f7rahx44b0v816mjk7fx52nwkwspdmixyzckzn2"; + rev = "9e43d446bbf2dd00dfda1d4aef2501fb2400bb1d"; + sha256 = "1rijsmqg5hfrrrkcc9nyy2smw6jnkxhqd9yqpd3rywj7dvb40blc"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0c46cfb0fcda0500e15d04106150a072a1a75ccc/recipes/helm-system-packages"; @@ -45513,14 +48128,14 @@ ename = "helm-systemd"; version = "20180130.2034"; src = fetchFromGitHub { - owner = "lompik"; + owner = "Lompik"; repo = "helm-systemd"; rev = "96f5cd3ee3412539c2f8d145201f47c4f8e53b4f"; sha256 = "0wyabh76q2lighd7qxpkzp35fkblxlz8g7p4lpgfwvjid0ixmnvq"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/helm-systemd"; - sha256 = "0k2yqmvwswihcn75wzn5923z5y4njarmvdlx3j7w3hwsxh6k1mcw"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/helm-systemd"; + sha256 = "1m1by9i37ban3zkznyamp5vxizj8zsz06fdscdhmky1grf6ri4r8"; name = "recipe"; }; packageRequires = [ emacs helm with-editor ]; @@ -45538,12 +48153,12 @@ melpaBuild { pname = "helm-tail"; ename = "helm-tail"; - version = "20180624.203"; + version = "20181123.2039"; src = fetchFromGitHub { owner = "akirak"; repo = "helm-tail"; - rev = "ff3895e2fbc6d3cc6503bc295a49bba70654aaef"; - sha256 = "0ixdr93axjqdqv2m4yvpnf2v4g7c1d1hkqhid2lfg8vaqb9dvqpw"; + rev = "1f5a6355aa3bdb00b9b0bc93db29c17f0d6701e3"; + sha256 = "1ad0khw26m22xpdv0iyg5gac92i8m455sznsfh16vxaa98gq0c4q"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/74b235c2ecf8c8f8206670bca3b915deb4b77c2b/recipes/helm-tail"; @@ -45556,6 +48171,33 @@ license = lib.licenses.free; }; }) {}; + helm-taskswitch = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , helm + , lib + , melpaBuild }: + melpaBuild { + pname = "helm-taskswitch"; + ename = "helm-taskswitch"; + version = "20190304.614"; + src = fetchFromGitHub { + owner = "bdc34"; + repo = "helm-taskswitch"; + rev = "00fe3a1f535dc63ec8ad1a46739f08c27fc5087c"; + sha256 = "1y8nmh4aq450xqvc69zcr23gahzk3d6z4y0vpd73m0mys1rmvrng"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/3602b1f7b9a75cc82c4bde9ea12b2509465db30f/recipes/helm-taskswitch"; + sha256 = "01yvdbwlixif670f4lffpsk9kvlhgrmh95jw0vc568x0bd3j2a02"; + name = "recipe"; + }; + packageRequires = [ emacs helm ]; + meta = { + homepage = "https://melpa.org/#/helm-taskswitch"; + license = lib.licenses.free; + }; + }) {}; helm-themes = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -45592,12 +48234,12 @@ melpaBuild { pname = "helm-tramp"; ename = "helm-tramp"; - version = "20180610.717"; + version = "20190124.2047"; src = fetchFromGitHub { owner = "masasam"; repo = "emacs-helm-tramp"; - rev = "07d2f02166038c14052009f6fb9c2a163118e2cc"; - sha256 = "1yi4wq484nrjb1yphp6dbaqjgfq7hr78gh9v9cys7dqg910ngy4f"; + rev = "a7456cee86a83d68c966475fab90ab94006fd23c"; + sha256 = "1yrwv3xzbqndns9lda70vpv75vipgjd5j9s1dx1ggfhx21kbnf9w"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/helm-tramp"; @@ -45676,12 +48318,12 @@ melpaBuild { pname = "helm-w3m"; ename = "helm-w3m"; - version = "20171102.216"; + version = "20181029.26"; src = fetchFromGitHub { owner = "emacs-helm"; repo = "helm-w3m"; - rev = "8345b7e60702911f54eb6571e429c0d31878957d"; - sha256 = "05izdvs8hwkkmz6hvlm2b5p5jmha39nsnnzzhnli70jrbqj013cq"; + rev = "c15d926631198d6d759ec8881837bcca5a64963b"; + sha256 = "0qaqcwhwmckfmg3axiad35azn0l74k1niw4ix0v1bn2vqrxanqcw"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f683fc9c7990e9ecb8a94808a7d03eb90c5569b1/recipes/helm-w3m"; @@ -45758,12 +48400,12 @@ melpaBuild { pname = "helm-xref"; ename = "helm-xref"; - version = "20180528.816"; + version = "20190212.2259"; src = fetchFromGitHub { owner = "brotzeit"; repo = "helm-xref"; - rev = "6f7e8eeec5cc4db64a76ba242c0f2f61e7ee1e46"; - sha256 = "13f47b3pv37181bbvpaws2z4jcfbim8b2b7zh988gbm579qi4fq6"; + rev = "c258209ee6c21774ba3df89d3c6bd7afbb86af9f"; + sha256 = "1mznr67ivddms0vhaj4aglfkhfzssifrrv65pfm8ny76gwlvx73z"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6d1796688ed0d6957557d960ca28e450f9bcb6cf/recipes/helm-xref"; @@ -45786,12 +48428,12 @@ melpaBuild { pname = "helm-youtube"; ename = "helm-youtube"; - version = "20161113.1848"; + version = "20190101.933"; src = fetchFromGitHub { owner = "maximus12793"; repo = "helm-youtube"; - rev = "7a944bc25f0f9e915011e9325caf46b46fcaa1b8"; - sha256 = "0948rq6i4ibwhmi6m2k23f83yvf56vwgri1sg2060d901zd86cxy"; + rev = "e7272f1648c7fa836ea5ac1a61770b4931ab4709"; + sha256 = "062i1gkwa1rmxaw5mf20vc3nqsj6g6hfbggcglgd3wfn9rckvlqb"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7537f732091b96b6c1b96c0174895278eba6776a/recipes/helm-youtube"; @@ -45858,6 +48500,32 @@ license = lib.licenses.free; }; }) {}; + help-find-org-mode = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "help-find-org-mode"; + ename = "help-find-org-mode"; + version = "20181203.1834"; + src = fetchFromGitHub { + owner = "EricCrosson"; + repo = "help-find-org-mode"; + rev = "c6fa2c8a8e9381572190010a9fa01f2be78f2790"; + sha256 = "1szjqaw31r5070wpbj5rcai124c66bs32x35w1hsxyvzs5k85wg9"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/572003398d1bba572fa9f6332b25ade9306bf718/recipes/help-find-org-mode"; + sha256 = "149rd61bcvgrwhnhlqriw6fn6fr4pwr4ynmj2bwcp558nwf0py0b"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/help-find-org-mode"; + license = lib.licenses.free; + }; + }) {}; helpful = callPackage ({ dash , dash-functional , elisp-refs @@ -45872,12 +48540,12 @@ melpaBuild { pname = "helpful"; ename = "helpful"; - version = "20180722.1557"; + version = "20190407.1536"; src = fetchFromGitHub { owner = "Wilfred"; repo = "helpful"; - rev = "89668dd787248c7f0d35d4ab26f4a61f2efefdcb"; - sha256 = "0fwgvpp6bchvr0fr1s1rb56dywbgw8345v8i3c9sp2xa3ahqmvri"; + rev = "53ae44bd2384de5e2513496ccf6ca2fce6767299"; + sha256 = "1fpqnimqbrwhpv714iw46i0dyb4gxdvh08640xbwbqpm9p546lm7"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/889d34b654de13bd413d46071a5ff191cbf3d157/recipes/helpful"; @@ -45898,16 +48566,16 @@ melpaBuild { pname = "hemera-theme"; ename = "hemera-theme"; - version = "20170910.603"; + version = "20180916.224"; src = fetchFromGitHub { - owner = "GuidoSchmidt"; + owner = "guidoschmidt"; repo = "emacs-hemera-theme"; - rev = "354ae3b788c11ac08e6e2fe7c86adc621e2b16fd"; - sha256 = "00cfi9gsn9fvjpgxkz931p02gs8dcgwwsaqz3anss9qadxxmi9xv"; + rev = "b67c902b210b37b00cac68726822404543147ba8"; + sha256 = "1q31kz5p97pby26lyb6r0jfcx5pdyax3sfba4lp8dzmxpisz2g2p"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/3440905a20bc91bb2637a87c04ff8410379f150d/recipes/hemera-theme"; - sha256 = "0lxm06gv5f75s86320m8wh3dirdcspb6zd5n1a6l0pnn585xqkrn"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/hemera-theme"; + sha256 = "00d8dmmn7mhzj6ai0qgdkj4hy1qpdcyiriky97prydibjvljq239"; name = "recipe"; }; packageRequires = [ emacs ]; @@ -45999,12 +48667,12 @@ melpaBuild { pname = "hexo"; ename = "hexo"; - version = "20180223.1944"; + version = "20180814.1919"; src = fetchFromGitHub { owner = "kuanyui"; repo = "hexo.el"; - rev = "ff21ab2d95e13666f36a243989ffea2027842191"; - sha256 = "1g7i4vlpac7npx8c7f7i9w3f30is7q7zsxp0sqwp7x7rsa5783nn"; + rev = "6bca18f911f6b2cd5c055ed73ddec98c385f9f86"; + sha256 = "1zawz3nry832rhx80hyfqfs0gfw3hyrn96060zj3n75avx13rr8j"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/21de1b7db0fa4af4fc0014207d41893a0713d738/recipes/hexo"; @@ -46226,11 +48894,11 @@ melpaBuild { pname = "highlight"; ename = "highlight"; - version = "20180604.2335"; + version = "20181002.451"; src = fetchgit { url = "https://framagit.org/steckerhalter/highlight.el.git"; - rev = "6f92253690dde26d9bfd21546fdf68ef2fdd486b"; - sha256 = "01c911p0bqq391hv7lfvz51fyismrvbkk5yyzwipmx0wrr9qjgfv"; + rev = "ea733e17884aeae19172407e20559fc693fdd3a7"; + sha256 = "13ajbhpwvdmk0mzaffj45gxqmq13b57d81iqdpg9q2l2wjk95jq7"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f0a8eb0eefe88b4ea683a4743c0f8393506e014b/recipes/highlight"; @@ -46251,12 +48919,12 @@ melpaBuild { pname = "highlight-blocks"; ename = "highlight-blocks"; - version = "20151201.815"; + version = "20190318.857"; src = fetchFromGitHub { owner = "Fanael"; repo = "highlight-blocks"; - rev = "9c4240a5d16008db430d1a81c76dad474d3deb0c"; - sha256 = "0c65jk00j88qxfki2g88hy9g6n92rzskwcn1fbmwcw3qgaz4b6w5"; + rev = "33cf3d36662faa36c86c8d53e4d5a3922efa3eb8"; + sha256 = "04v5y04v4n06ig8zld6axrxpz07s70sn5ckxcy8gnz5qm0zvr7mx"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/eaf524488c408483ea8f2c3a71174b1b5fc3f5da/recipes/highlight-blocks"; @@ -46276,12 +48944,12 @@ melpaBuild { pname = "highlight-context-line"; ename = "highlight-context-line"; - version = "20170319.1442"; + version = "20181122.1403"; src = fetchFromGitHub { owner = "ska2342"; repo = "highlight-context-line"; - rev = "f91e99c178831830801299b9c3a512c4d70871a0"; - sha256 = "0q8z7i0jijj0yjz9smsqhx2hgrps0vyspadpc1ssb8vn5mn7vngb"; + rev = "c3257c0ca9dba76167bbd7e0718a65ecd26ef26f"; + sha256 = "10mv1hd33msafp3r62p9zhwivy0l876ci9xjh7nqc9621qxxd5rw"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/00df721571ff67fe158251fa843c8f515ded3469/recipes/highlight-context-line"; @@ -46302,12 +48970,12 @@ melpaBuild { pname = "highlight-defined"; ename = "highlight-defined"; - version = "20141225.730"; + version = "20181106.918"; src = fetchFromGitHub { owner = "Fanael"; repo = "highlight-defined"; - rev = "243478cc204ab42d29805ed610961cbb260c1dfd"; - sha256 = "1l10xnjyvcbv1v8xlldaca7z3fk5qav7nsbhfnjxxd0bgh5v9by2"; + rev = "8e05be23e555ab05edc6fb188f5ce28ef495c946"; + sha256 = "1xqs8shzka47ns4a60ba2i2kgjcq9vl9w1518ffhb4x2x41lr4ri"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/acc9b816796b9f142c53f90593952b43c962d2d8/recipes/highlight-defined"; @@ -46320,6 +48988,31 @@ license = lib.licenses.free; }; }) {}; + highlight-doxygen = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "highlight-doxygen"; + ename = "highlight-doxygen"; + version = "20180829.1118"; + src = fetchFromGitHub { + owner = "Lindydancer"; + repo = "highlight-doxygen"; + rev = "53f2250018725fa19548e1771ee79fcc23641694"; + sha256 = "0l6zh5cmp771h30i16bv3qvcq40pz9fxn3j7a8yx708vanb4d7kc"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/0153353e5abfa7513e74485049eaa384aaddbd58/recipes/highlight-doxygen"; + sha256 = "0jkzf2mqn7y465c77vglaj3mr0cpfy2z810mywd1q21d71lsqmbl"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/highlight-doxygen"; + license = lib.licenses.free; + }; + }) {}; highlight-escape-sequences = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -46379,12 +49072,12 @@ melpaBuild { pname = "highlight-indent-guides"; ename = "highlight-indent-guides"; - version = "20180529.1039"; + version = "20190107.1603"; src = fetchFromGitHub { owner = "DarthFennec"; repo = "highlight-indent-guides"; - rev = "88b9bc22efc2006cc7a650c81b95c210a96828ba"; - sha256 = "0qv9010q1ylgh3l0yxlg7js6pxc8bkdxw20r6vrihglb5qf49m08"; + rev = "0b10f38c54ffc099861ce8463e16a1b07ddbb203"; + sha256 = "0fa41y9gdci60417zksj9bgjx1knwh781i3dfphkgr7qbx25iky7"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c8acca65a5c134d4405900a43b422c4f4e18b586/recipes/highlight-indent-guides"; @@ -46404,12 +49097,12 @@ melpaBuild { pname = "highlight-indentation"; ename = "highlight-indentation"; - version = "20171218.137"; + version = "20181204.39"; src = fetchFromGitHub { owner = "antonj"; repo = "Highlight-Indentation-for-Emacs"; - rev = "35e2c1d4f8f368685893128f77f90454cb9c2708"; - sha256 = "1rmqi8k8p0f3aawh2l119hsfnnd060bv9hhjx13pabid8xhhvs73"; + rev = "d03803f2c06749c430443a3d24e039cbafc9c58f"; + sha256 = "1jq0gf4kcx9hvrw40rnw5c2qynjpjw1vsjbi2i4lqjbsnfnxn4wz"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/31c443de5088410c0fe1b1c18f664b33ad259277/recipes/highlight-indentation"; @@ -46457,12 +49150,12 @@ melpaBuild { pname = "highlight-numbers"; ename = "highlight-numbers"; - version = "20170905.342"; + version = "20181013.1044"; src = fetchFromGitHub { owner = "Fanael"; repo = "highlight-numbers"; - rev = "f952ecb7448c125d4ef82ee6ad136b25e640d74a"; - sha256 = "0fgb63iwdaakzm9cddivmr2j0mmay3512wmd14dh804a62j5l2pv"; + rev = "8b4744c7f46c72b1d3d599d4fb75ef8183dee307"; + sha256 = "075ip8h7bdin0yvvhn5nkwnz58arlaw1imr866ghp12q5rl4shmc"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/882e3a4877ddd22cc52f56f0ce3d55b6e4831c7a/recipes/highlight-numbers"; @@ -46632,12 +49325,12 @@ melpaBuild { pname = "highlight-thing"; ename = "highlight-thing"; - version = "20170919.704"; + version = "20181229.501"; src = fetchFromGitHub { owner = "fgeller"; repo = "highlight-thing.el"; - rev = "efa9abbef9b23d24179fad2518ac03e31d2dd9a9"; - sha256 = "1a39nvlcih26qsjb5s0051j9c9vqv5l66m7wl3ja4pnxx9k4754g"; + rev = "361a3301ba37663c8e27ba75d2743a2501f4b8b9"; + sha256 = "07ywg6idbwm91wbzpdp57w3n84pbbjyzmf5gp3m7qvm2h0xxv9av"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/84b6cb403ff9a588771d051e472596f4e3cc974d/recipes/highlight-thing"; @@ -46702,33 +49395,6 @@ license = lib.licenses.free; }; }) {}; - himp = callPackage ({ emacs - , fetchFromGitHub - , fetchurl - , lib - , melpaBuild - , vimish-fold }: - melpaBuild { - pname = "himp"; - ename = "himp"; - version = "20170814.1215"; - src = fetchFromGitHub { - owner = "mkcms"; - repo = "himp"; - rev = "140234b7f7cde03cf858c5011a2ab63e3bc802ec"; - sha256 = "1g3ivash185anw8i67di1mxdfxa9py51prdy5ixl95vpqk5nmwbw"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/51b31fb1fa7052d16d659313d249eef01ca3ee88/recipes/himp"; - sha256 = "1igzlvm4g4rcnlvnwi5kn1jfvyrw2vnmp1kpvfnv7w9n6d8kflla"; - name = "recipe"; - }; - packageRequires = [ emacs vimish-fold ]; - meta = { - homepage = "https://melpa.org/#/himp"; - license = lib.licenses.free; - }; - }) {}; hindent = callPackage ({ cl-lib ? null , fetchFromGitHub , fetchurl @@ -46739,14 +49405,14 @@ ename = "hindent"; version = "20180518.202"; src = fetchFromGitHub { - owner = "chrisdone"; + owner = "commercialhaskell"; repo = "hindent"; rev = "dc47d8b98ebd6ee7fdd7de5f75e65e5b5eedf72f"; sha256 = "0xp3mpiyrc6886bi9rih4vbmsar56h8i5sapigd3gn2pv2v688bc"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/dbae71a47446095f768be35e689025aed57f462f/recipes/hindent"; - sha256 = "1f3vzgnqigwbwvglxv0ziz3kyp5dxjraw3vlghkpw39f57mky4xz"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/9a15a17a5aa78aed72958b2a1bde53f0c0ab5be7/recipes/hindent"; + sha256 = "0az2zhdi73sa3h1q1c0bayqdk22a7ngrvsg9fr8b0i39sn3w8y07"; name = "recipe"; }; packageRequires = [ cl-lib ]; @@ -46838,12 +49504,12 @@ melpaBuild { pname = "historian"; ename = "historian"; - version = "20180619.1223"; + version = "20190110.1913"; src = fetchFromGitHub { owner = "PythonNut"; repo = "historian.el"; - rev = "6be869f585b854eb849303c452ab4f91dab04fa9"; - sha256 = "07iw04aibmiz5fn97dafyk5k67yl525w6i1gwzazil4wb81q4b21"; + rev = "64f4ef8cd4e417dfa090138a2d4ea1e72fd4456a"; + sha256 = "0py43kml7fcf1k28pali7n9nhsjp003j02cpynqcz6hmk8zr7b48"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f16dacf64c52767c0c8aef653ac5d1a7a3bd0883/recipes/historian"; @@ -46984,6 +49650,33 @@ license = lib.licenses.free; }; }) {}; + hl-fill-column = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , names }: + melpaBuild { + pname = "hl-fill-column"; + ename = "hl-fill-column"; + version = "20181210.404"; + src = fetchFromGitHub { + owner = "laishulu"; + repo = "hl-fill-column"; + rev = "d6d121a71458052df5371ca2e2d867632d0b2eba"; + sha256 = "122i9f6sl8jhpdy6fwfr287lg66rcynknaq3qhf760wmdx1lpij9"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/68c40d7b6af664e01083b78c60b6a8e66b278a4e/recipes/hl-fill-column"; + sha256 = "1kv77zfz1rd60cajjgljn8b04j6szqwwc3ialfxf6wdzh1w28jd3"; + name = "recipe"; + }; + packageRequires = [ emacs names ]; + meta = { + homepage = "https://melpa.org/#/hl-fill-column"; + license = lib.licenses.free; + }; + }) {}; hl-indent = callPackage ({ cl-lib ? null , emacs , fetchFromGitHub @@ -47043,12 +49736,12 @@ melpaBuild { pname = "hl-todo"; ename = "hl-todo"; - version = "20180709.2155"; + version = "20190404.1434"; src = fetchFromGitHub { owner = "tarsius"; repo = "hl-todo"; - rev = "3401f322d954e635372995bf5cc77dae171a78ba"; - sha256 = "1dk4sb2z07cnndzs4dclqgnp3bldl2k3acr21cfdvp87flvpph0y"; + rev = "f7d97056d17ef7fc04f4fa0b65a703d1d1a5a6b8"; + sha256 = "07aj9zkr1142xdwmlrccpxpgyrzj9n2rdk74zcmn0jiryg8k8lnc"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7c262f6a1a10e8b3cc30151cad2e34ceb66c6ed7/recipes/hl-todo"; @@ -47072,12 +49765,12 @@ melpaBuild { pname = "hledger-mode"; ename = "hledger-mode"; - version = "20171201.1156"; + version = "20190222.801"; src = fetchFromGitHub { owner = "narendraj9"; repo = "hledger-mode"; - rev = "594ce27f898ba027cb7f326179ff7875072b03e0"; - sha256 = "1jla31az52qygabd99m8ibq60f4almkbjlg1z63kz7zl98hfxnw7"; + rev = "096fdbded583ee1d99719633222baa46231d85f6"; + sha256 = "1zf9d2z53c8n2mral05l55bd28y8xvrixvz4k2dw6zckxlhnfmiv"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/hledger-mode"; @@ -47097,12 +49790,12 @@ melpaBuild { pname = "hlint-refactor"; ename = "hlint-refactor"; - version = "20170817.2148"; + version = "20190115.100"; src = fetchFromGitHub { owner = "mpickering"; repo = "hlint-refactor-mode"; - rev = "92c69aa01c65968e86c15db087bb1ea785e4736c"; - sha256 = "0khnn8qk0948hlq513i7nhf7vg09iwznmj3bgw1b5k5r8j6lhs0g"; + rev = "c4307f86aad6d02e32e9b30cb6edc115584c791c"; + sha256 = "1c71w9s34n0i7mm4njchxn6s3ri1y6mh3akgbg4nq41d42h8iap3"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/384ffc463cc6edb4806f8da68bd251e662718e65/recipes/hlint-refactor"; @@ -47244,6 +49937,33 @@ license = lib.licenses.free; }; }) {}; + home-end = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , keypress-multi-event + , lib + , melpaBuild }: + melpaBuild { + pname = "home-end"; + ename = "home-end"; + version = "20180817.155"; + src = fetchFromGitHub { + owner = "Boruch-Baum"; + repo = "emacs-home-end"; + rev = "211914c5e7b25f35f02626575a9b10536f81ba1d"; + sha256 = "1ppjm0sb4svarnqcv6j581sqnjjsps27ghx63759v9wkylqyi995"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/f67c9cf33e0f11a9bd6e1521af86d180177111c4/recipes/home-end"; + sha256 = "0xnpb0n4kd7b0m80g2a88ylfk5gbvkcgwb78nig98dmgjg48z2ly"; + name = "recipe"; + }; + packageRequires = [ emacs keypress-multi-event ]; + meta = { + homepage = "https://melpa.org/#/home-end"; + license = lib.licenses.free; + }; + }) {}; homebrew-mode = callPackage ({ dash , emacs , fetchFromGitHub @@ -47379,31 +50099,6 @@ license = lib.licenses.free; }; }) {}; - how-many-lines-in-project = callPackage ({ fetchFromGitHub - , fetchurl - , lib - , melpaBuild }: - melpaBuild { - pname = "how-many-lines-in-project"; - ename = "how-many-lines-in-project"; - version = "20140806.2142"; - src = fetchFromGitHub { - owner = "hiddenlotus"; - repo = "how-many-lines-in-project"; - rev = "8a37ef885d004fe2ce231bfe05ed4867c6192d9b"; - sha256 = "0vygbdjy2dv7n50vrkcnqyswq48sgas0zzjfsac8x5g9vhxjkawj"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/how-many-lines-in-project"; - sha256 = "1dfh1ydpjbrawqpsj6kydvy8sz3rlwn4ma5cizfw5spd2gcmj1zb"; - name = "recipe"; - }; - packageRequires = []; - meta = { - homepage = "https://melpa.org/#/how-many-lines-in-project"; - license = lib.licenses.free; - }; - }) {}; howdoi = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -47437,11 +50132,11 @@ melpaBuild { pname = "howm"; ename = "howm"; - version = "20180225.205"; + version = "20180929.514"; src = fetchgit { url = "https://scm.osdn.net/gitroot/howm/howm.git"; - rev = "b932fa603f074049637907d35594f73c3fba45d0"; - sha256 = "189j3061g2s1286434x3zyh6xyjycfrd2sqxx655biicy1xxyk52"; + rev = "f707233a99f425d67ddb86b197edeaa3f03a280d"; + sha256 = "1k1fv6yyydxcv8rm5f3cyly0fl0vmxgqxdk9wnakabcb14d32ws4"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0099a1f9b0efb3fc3a1420cfe71a647ec6458998/recipes/howm"; @@ -47454,6 +50149,32 @@ license = lib.licenses.free; }; }) {}; + hsluv = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , seq }: + melpaBuild { + pname = "hsluv"; + ename = "hsluv"; + version = "20181127.406"; + src = fetchFromGitHub { + owner = "hsluv"; + repo = "hsluv-emacs"; + rev = "bc6e27d25b62f5a2f79836a32e8de6125f4d1564"; + sha256 = "08jkba7z0w1ma9j2y93aic3sbgnzxyyiradk69qylnl60q4xnx19"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/b74189f827ed54760c758f0364e573809ab32a22/recipes/hsluv"; + sha256 = "1g7g8434q2a4vpzxa4y5vrplzjali89px3gr8vhzfhscxg6mdcki"; + name = "recipe"; + }; + packageRequires = [ seq ]; + meta = { + homepage = "https://melpa.org/#/hsluv"; + license = lib.licenses.free; + }; + }) {}; ht = callPackage ({ dash , fetchFromGitHub , fetchurl @@ -47462,12 +50183,12 @@ melpaBuild { pname = "ht"; ename = "ht"; - version = "20180129.1434"; + version = "20190404.502"; src = fetchFromGitHub { owner = "Wilfred"; repo = "ht.el"; - rev = "5a665d00dc8fda77bad2a43277d8809c23e46ab8"; - sha256 = "0w0zi393ixgi154c6dq2i1kf3kraqyfw8alfxcn6fhhxy1g9p02y"; + rev = "095fde55294bd20dc7f46d614e1b0504e3830cfa"; + sha256 = "1kfxcvrn8z87g99cihpkzriylzivnvf25ffqpyb9f2f0ri7xk1y5"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6c7589bca1c1dfcc0fe76779f6847fda946ab981/recipes/ht"; @@ -47618,12 +50339,12 @@ melpaBuild { pname = "htmlize"; ename = "htmlize"; - version = "20180412.1244"; + version = "20180923.1129"; src = fetchFromGitHub { owner = "hniksic"; repo = "emacs-htmlize"; - rev = "315a8f23cfd3e87642ff9e30ae3300c7a84244d5"; - sha256 = "0pjiid5a16xx9n5bvfff612mpli00y9nbzjapn9f1y79yl99yvxy"; + rev = "8db0aa6aab77475a732b7363f0d57bd3933c18fd"; + sha256 = "19hwcqla1mnp5k8mll4in1pimqpa8zmqd8yfmxkikldmwwsilaq0"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/075aa00a0757c6cd1ad392f0300bf5f1b937648d/recipes/htmlize"; @@ -47636,6 +50357,32 @@ license = lib.licenses.free; }; }) {}; + htmltagwrap = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "htmltagwrap"; + ename = "htmltagwrap"; + version = "20181211.606"; + src = fetchFromGitHub { + owner = "jcs090218"; + repo = "htmltagwrap"; + rev = "c9722bcaf449ca3e52628827d063233f4c8a7d1f"; + sha256 = "0xd9841b9jfxsnmv5083yhh8d9fskyy7d0h0fhk922qcvhx0swhq"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/3ab8c9de8a9a1d0f8a7dd70d2cb191fec8714592/recipes/htmltagwrap"; + sha256 = "1084vq3qpyjakph5yb95r0f7a4bjqfnhj5pnpv7qk39xnr640mxb"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/htmltagwrap"; + license = lib.licenses.free; + }; + }) {}; http = callPackage ({ edit-indirect , emacs , fetchFromGitHub @@ -47646,12 +50393,12 @@ melpaBuild { pname = "http"; ename = "http"; - version = "20170906.1111"; + version = "20181008.1421"; src = fetchFromGitHub { owner = "emacs-pe"; repo = "http.el"; - rev = "193a7bf843dd6b6805c7b18dab31f50c8325d710"; - sha256 = "1v6adfy1774axplsjfsdkm0azfwb5g7iq26zcss4mj966q1633xv"; + rev = "1bbfff5994e16ffc185c4ac28d792cb040da3351"; + sha256 = "0bs2l487mn8zkx3h7zgynm5cq54w8wlr150izaxynqddcpkrr44h"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c7c63aaf27240706d84e464881d40cfb7cbe9ee3/recipes/http"; @@ -47856,12 +50603,12 @@ melpaBuild { pname = "hy-mode"; ename = "hy-mode"; - version = "20180702.1240"; + version = "20190310.1021"; src = fetchFromGitHub { owner = "hylang"; repo = "hy-mode"; - rev = "71a12a9208c4b87859bcbb6978e7915dd518e8dd"; - sha256 = "1px4kws91y581bg2zaav2nx972v73r4r0j135p5cbnynvkrknhnz"; + rev = "d7b4609a0c2ecc2a64f4328e63cf0899d72d930e"; + sha256 = "0gh81qk4yhgq46fm9a1cjs26d5vj3ip03i474b7v4aa7bc327jp7"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/fc9ab5cf16b61bb27559cd8ec5cf665a5aab2154/recipes/hy-mode"; @@ -47955,28 +50702,56 @@ , fetchFromGitHub , fetchurl , lib + , lv , melpaBuild }: melpaBuild { pname = "hydra"; ename = "hydra"; - version = "20180703.802"; + version = "20190405.315"; src = fetchFromGitHub { owner = "abo-abo"; repo = "hydra"; - rev = "87cc74b2644daa2e9e660bc8a447c84a0ddeeab6"; - sha256 = "1pizlg7qbzjy6jrs1ivhxx5kfnlbkkfwf5q3jl4695gh7z0spfkb"; + rev = "480ae6313763a6af6dab85ed629aff2e2037bef0"; + sha256 = "0zs9nc0mix3cqgcn5p5my5nk3826ly4ydrpx1qjgc7m2aj2smxgv"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/a4375d8ae519290fd5018626b075c226016f951d/recipes/hydra"; - sha256 = "1c59l43p39ins3dn9690gm6llwm4b9p0pk78lip0dwlx736drdbw"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/82d9e1bfd501ed2d1cd11319c5e1eb17482e8922/recipes/hydra"; + sha256 = "1s1hj70jjbira054q8ly1pcr0818hh91qnhj0zwbv7milmvv2wwd"; name = "recipe"; }; - packageRequires = [ cl-lib ]; + packageRequires = [ cl-lib lv ]; meta = { homepage = "https://melpa.org/#/hydra"; license = lib.licenses.free; }; }) {}; + hyperspace = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , s }: + melpaBuild { + pname = "hyperspace"; + ename = "hyperspace"; + version = "20190216.2236"; + src = fetchFromGitHub { + owner = "ieure"; + repo = "hyperspace-el"; + rev = "b059349eb9af5756e590cf2e5baf9432b6a9b96d"; + sha256 = "0c49n8y7y5wg6zpzzr1hqzv6w8nbiywmalmnd3z22qzwb0qc0cbh"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/0696a12acba676015640de63fc6e011128bca71c/recipes/hyperspace"; + sha256 = "0ya41c9bxvspj81n5209p9b4c9p1i6jcp710n9i9jawpahwpqlkw"; + name = "recipe"; + }; + packageRequires = [ emacs s ]; + meta = { + homepage = "https://melpa.org/#/hyperspace"; + license = lib.licenses.free; + }; + }) {}; i2b2-mode = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -48034,12 +50809,12 @@ melpaBuild { pname = "ialign"; ename = "ialign"; - version = "20180705.453"; + version = "20181202.346"; src = fetchFromGitHub { owner = "mkcms"; repo = "interactive-align"; - rev = "e92664e673647826161a19e9cfc327fa8c69ba6e"; - sha256 = "0x3naly4qh3q2ngm91y1pkm5s59kqgbgydax46hp6jnasdk4klk5"; + rev = "e1308c8f6aea05ad6dbcaa33b9bee4eb7e05ee39"; + sha256 = "0b7a2z4v1nyyaw0lvql9xrakpsi1a6kflqr74k56ndm3ivmqwx09"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/072f1f7ce17e2972863bce10af9c52b3c6502eab/recipes/ialign"; @@ -48102,7 +50877,34 @@ license = lib.licenses.free; }; }) {}; - ibuffer-projectile = callPackage ({ fetchFromGitHub + ibuffer-project = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "ibuffer-project"; + ename = "ibuffer-project"; + version = "20181216.1325"; + src = fetchFromGitHub { + owner = "muffinmad"; + repo = "emacs-ibuffer-project"; + rev = "7424e71062f2cb969c3e9951203022414dea37fb"; + sha256 = "02rr81ddpand0hb3yaskklhpknnqfjkcqaa2w77xi4xlzjdima01"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/895d692a678322e2d082ead155b679fa24a3a82d/recipes/ibuffer-project"; + sha256 = "14lpjf9lsjzvkbp5ai95ymgl6h8waq80623hnamg6mv83vg7w135"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/ibuffer-project"; + license = lib.licenses.free; + }; + }) {}; + ibuffer-projectile = callPackage ({ emacs + , fetchFromGitHub , fetchurl , lib , melpaBuild @@ -48110,19 +50912,19 @@ melpaBuild { pname = "ibuffer-projectile"; ename = "ibuffer-projectile"; - version = "20180324.2025"; + version = "20181201.1952"; src = fetchFromGitHub { owner = "purcell"; repo = "ibuffer-projectile"; - rev = "1e89bfa7cae0629d29f24af3d81774b88b3cede0"; - sha256 = "0y0pvjic5n5wmkrjzjjnhz2xaknib6w5p01vgv2jf5ylwq84wray"; + rev = "76496214144687cee0b5139be2e61b1e400cac87"; + sha256 = "0vv9xwb1qd5x8zhqmmsn1nrpd11cql9hxb7483nsdhcfwl4apqav"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/363a6a888945f2c8b02f5715539439ba744d737d/recipes/ibuffer-projectile"; sha256 = "1qh4krggmsc6lx5mg60n8aakmi3f6ppl1gw094vfcsni96jl34fk"; name = "recipe"; }; - packageRequires = [ projectile ]; + packageRequires = [ emacs projectile ]; meta = { homepage = "https://melpa.org/#/ibuffer-projectile"; license = lib.licenses.free; @@ -48213,12 +51015,12 @@ melpaBuild { pname = "ibuffer-vc"; ename = "ibuffer-vc"; - version = "20171106.2341"; + version = "20181225.1427"; src = fetchFromGitHub { owner = "purcell"; repo = "ibuffer-vc"; - rev = "83d60aefd21e2aa20c7217d224f38a40bb75e63b"; - sha256 = "06jk5ccsfivh6bf6ppkli6cni39rvmm9asack1056f9q6jq6l8p1"; + rev = "64cb03887bcae6127e80f0d9342c33206e21d2d2"; + sha256 = "1ayqa7l5ny7g01pb3917w2phnsdfw69scw3lk6bpa773pq00n2vi"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/ibuffer-vc"; @@ -48307,6 +51109,31 @@ license = lib.licenses.free; }; }) {}; + idle-highlight-in-visible-buffers-mode = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "idle-highlight-in-visible-buffers-mode"; + ename = "idle-highlight-in-visible-buffers-mode"; + version = "20181027.831"; + src = fetchFromGitHub { + owner = "ignacy"; + repo = "idle-highlight-in-visible-buffers-mode"; + rev = "8d8de309d5bd4b035c01bf7f0cfc6e079c79d898"; + sha256 = "194r7f4ngwx03n74rs26hqn9wypn9idjizvmffpsjpxfr7wr9z7l"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/b5a533be3b8dea556438d93ac48853dd3a9690f1/recipes/idle-highlight-in-visible-buffers-mode"; + sha256 = "0kv06qlv1zp5hwaya0l90z6d5lhxcg69qac6x24ky6kf97vcdq72"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/idle-highlight-in-visible-buffers-mode"; + license = lib.licenses.free; + }; + }) {}; idle-highlight-mode = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -48332,6 +51159,31 @@ license = lib.licenses.free; }; }) {}; + idle-org-agenda = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "idle-org-agenda"; + ename = "idle-org-agenda"; + version = "20190106.1044"; + src = fetchFromGitHub { + owner = "enisozgen"; + repo = "idle-org-agenda"; + rev = "bfdf1b4f4096acdd081b3549d6b838f4ca4f7d0d"; + sha256 = "0rv8nhd2mgdbmziz49lm4hcbfyhk1wb5k0l9zsyrgn50rs32akhp"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/de55ad7d9b8b3bed6a646f526a7b20c272eb4e26/recipes/idle-org-agenda"; + sha256 = "12g18gqwb520iqvs4v6jv0fjxsa3m6an1lq13saa4gwqixja1rrv"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/idle-org-agenda"; + license = lib.licenses.free; + }; + }) {}; idle-require = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -48417,12 +51269,12 @@ melpaBuild { pname = "ido-complete-space-or-hyphen"; ename = "ido-complete-space-or-hyphen"; - version = "20130228.208"; + version = "20180928.1850"; src = fetchFromGitHub { owner = "doitian"; repo = "ido-complete-space-or-hyphen"; - rev = "3fe1fe1e1a743f8deb8f4025977647afecd58f14"; - sha256 = "1aih8n10lcrw0bdgvlrkxzhkpxpmphw07cvbp6zd27ia25037fzw"; + rev = "ed60ebed113e4e1552efeab0c416f7c88428268e"; + sha256 = "15h0alwi7qfqyi7w7gdl06ykxvafbx1p4614rg81kmzgs4dpqgy3"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/59e11094068d3a0c0e4edc1f82158c43d3b15e0e/recipes/ido-complete-space-or-hyphen"; @@ -48446,12 +51298,12 @@ melpaBuild { pname = "ido-completing-read-plus"; ename = "ido-completing-read+"; - version = "20180627.1944"; + version = "20190308.836"; src = fetchFromGitHub { owner = "DarwinAwardWinner"; repo = "ido-completing-read-plus"; - rev = "03bdf989a9af88d4eeed4003ae74c98baf58ff72"; - sha256 = "08d77ysbzd25rm8rjslckhqlsyim047c9zwq2ybbzqpjy3q52qfy"; + rev = "d56125deac540a2ab396d6d71f7c1eeae7f37588"; + sha256 = "11wn2xf7dbgfhwdrjazshf4c5im1yxnqpyvq8633fjc1cn9s7vxw"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6104efc035bcf469d133ab9a2caf42c9d4482334/recipes/ido-completing-read+"; @@ -48526,12 +51378,12 @@ melpaBuild { pname = "ido-flex-with-migemo"; ename = "ido-flex-with-migemo"; - version = "20180323.456"; + version = "20190124.1937"; src = fetchFromGitHub { owner = "ROCKTAKEY"; repo = "ido-flex-with-migemo"; - rev = "02fa776e44cb5756205aa574ebfd5c3f86f4cf3c"; - sha256 = "0cyszakyj3kb2bdy6wb5y3m3w6y1fniakjlx92g8mvb6ycwkj2p3"; + rev = "676742cda0b7bb8a0bf6aa06f345cdc43c30cefa"; + sha256 = "0y54mf45540p4w021wgmym9gzm8i4hfx1a3bc94mafs6zw68vxqm"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1647d1ae7400ddbc8367c355ade16b5c360b42fc/recipes/ido-flex-with-migemo"; @@ -48603,12 +51455,12 @@ melpaBuild { pname = "ido-hacks"; ename = "ido-hacks"; - version = "20150331.1209"; + version = "20190206.1353"; src = fetchFromGitHub { owner = "scottjad"; repo = "ido-hacks"; - rev = "b7e7514a0e011e4d767d1f5755c5eae9d85f83dc"; - sha256 = "01p4az128k1jvd9i1gshgg87z6048cw9cnm57l8qdlw01c3h6dkx"; + rev = "d2153a3e8d23436ee07ecae2a106f434361a10c5"; + sha256 = "0rq5jmij691cccv4x8h8aiclnzx04v08axgz30prp6p71dxlrdms"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4ac3074d28e76133835366273219e180c6e75b18/recipes/ido-hacks"; @@ -48915,12 +51767,12 @@ melpaBuild { pname = "idris-mode"; ename = "idris-mode"; - version = "20180416.2245"; + version = "20190228.1943"; src = fetchFromGitHub { owner = "idris-hackers"; repo = "idris-mode"; - rev = "2cd2ace9327248e141c35127b8ef9114a1301a1d"; - sha256 = "1bszb2bccjvamxbyyhbmw7hqhs71yyx4x0bxzszs9036f6p1znph"; + rev = "cb6aa30e76b6fdb7138db6d9673d5e8dc074177f"; + sha256 = "1b1aspkl442li8a6ahl8267wv4y8kdl42fi3w67ra0gpzj4788s8"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/17a86efca3bdebef7c92ba6ece2de214d283c627/recipes/idris-mode"; @@ -48966,12 +51818,12 @@ melpaBuild { pname = "iedit"; ename = "iedit"; - version = "20180207.219"; + version = "20181114.150"; src = fetchFromGitHub { owner = "victorhge"; repo = "iedit"; - rev = "412490db4387ad9d040bfb5854f25de4c40c2146"; - sha256 = "1995j0yvvls5i7zfxw8zwfk05in8b0n82k05qdrap29v6nq2v4bx"; + rev = "35505ad860be27feaee71e8caf646706bf8ee31d"; + sha256 = "154d0zxn4vn4y2xglccpxkzlmg9k1g58hldgimv67x9cphsc0mpi"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/iedit"; @@ -49016,12 +51868,12 @@ melpaBuild { pname = "iflipb"; ename = "iflipb"; - version = "20171113.1244"; + version = "20190312.1242"; src = fetchFromGitHub { owner = "jrosdahl"; repo = "iflipb"; - rev = "a5ad1fbd1173cff5228dab265515c92c0778f86a"; - sha256 = "0gyxd5d57j0x93mqnfwwdf28plp102xh0ag2d2iws7y1d5m99wm2"; + rev = "50b39e0bca46da43f60d69e6066ddff910bdb144"; + sha256 = "0xxs7b0k51kjy4za7cz7bnl5s3crn1h5kxd03zhir3gy2d5cpwrw"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/fad6fc8bc3c0be0d5789a0d7626ebc3f298b4318/recipes/iflipb"; @@ -49272,12 +52124,12 @@ melpaBuild { pname = "imenu-list"; ename = "imenu-list"; - version = "20180601.702"; + version = "20190115.1330"; src = fetchFromGitHub { owner = "bmag"; repo = "imenu-list"; - rev = "04f0632f7b8c81be8747617768c57b66e5d60994"; - sha256 = "0lmcnbps7fbqcsimynil5xq9d7n4jmcclw1qprbj8yjk42lxz0d1"; + rev = "46008738f8fef578a763c308cf6695e5b4d4aa77"; + sha256 = "14l3yw9y1nk103s7z5i1fmd6kvlb2p6ayi6sf9l1x1ydg9glrpl8"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/86dea881a5b2d0458449f08b82c2614ad9abd068/recipes/imenu-list"; @@ -49343,6 +52195,32 @@ license = lib.licenses.free; }; }) {}; + immaterial-theme = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "immaterial-theme"; + ename = "immaterial-theme"; + version = "20190301.2259"; + src = fetchFromGitHub { + owner = "petergardfjall"; + repo = "emacs-immaterial-theme"; + rev = "b7ad831e49f5f4512f216f1f99b2d0eba3cc0815"; + sha256 = "0p363khj7mz9dq0dm12ksd6aamrkmm5a7vcsp0j8cmbc6r6a060c"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/9a95d88bb00b1313da82929bc2733d726d2041d7/recipes/immaterial-theme"; + sha256 = "15gwqjfpls7lqc37s70vnhycnry5g9grn6shk2wpijrxfnmyqjhj"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/immaterial-theme"; + license = lib.licenses.free; + }; + }) {}; immortal-scratch = callPackage ({ fetchhg , fetchurl , lib @@ -49402,12 +52280,12 @@ melpaBuild { pname = "impatient-mode"; ename = "impatient-mode"; - version = "20180528.916"; + version = "20181002.531"; src = fetchFromGitHub { owner = "skeeto"; repo = "impatient-mode"; - rev = "96c068d5add95595dc5be42115d100cf99f908ba"; - sha256 = "18fawpnqcm1yv7f83sz05pjihwydmafmccfmizyg0hlgayhj0izf"; + rev = "96f6a05f8de74e19d570217fe83f0734623ddb0c"; + sha256 = "1qddy3b3fmxgkpl10p0hvmgrzhkrxyxg72sxxg5ndfwvjpf2rf91"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/aaa64c4d43139075d77f4518de94bcbe475d21fc/recipes/impatient-mode"; @@ -49612,26 +52490,26 @@ , fetchFromGitHub , fetchurl , js2-mode + , js2-refactor , lib , melpaBuild - , seq - , websocket }: + , seq }: melpaBuild { pname = "indium"; ename = "indium"; - version = "20180521.1355"; + version = "20190305.1308"; src = fetchFromGitHub { owner = "NicolasPetton"; repo = "Indium"; - rev = "bc9ab60ded9af501fb4424359737cbff29cecfb1"; - sha256 = "1f6asv98vsxkizb1nf37q6wacqdbqnqzk035j6sdsmj7p3plb3iy"; + rev = "09a97c0aabb9d972e86cd7453e3f9663ba896447"; + sha256 = "1zzc02k6745y32mbvca4nbl55gbshvrd6ya0i04v2q1vvlx30mi3"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4292058cc6e31cabc0de575134427bce7fcef541/recipes/indium"; sha256 = "024ljx7v8xahmr8jm41fiy8i5jbg48ybqp5n67k4jwg819cz8wvl"; name = "recipe"; }; - packageRequires = [ company emacs js2-mode seq websocket ]; + packageRequires = [ company emacs js2-mode js2-refactor seq ]; meta = { homepage = "https://melpa.org/#/indium"; license = lib.licenses.free; @@ -49671,12 +52549,12 @@ melpaBuild { pname = "inf-clojure"; ename = "inf-clojure"; - version = "20180402.1403"; + version = "20190327.908"; src = fetchFromGitHub { owner = "clojure-emacs"; repo = "inf-clojure"; - rev = "59868ff0433f7631c362ce25879bd4271d350ebc"; - sha256 = "1xh901krzwmvkj0rdq0hjbf41vsf92mr0w9vjb9ki660wnnjw8wc"; + rev = "16455abd28933af7c7d6f22dd41414a3c3c66d63"; + sha256 = "0qdrp48i6kn0fa1qjy8gf1c3asgl5dj012dhl1xd4vp3qmgshgrw"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5d6112e06d1efcb7cb5652b0bec8d282d7f67bd9/recipes/inf-clojure"; @@ -49725,14 +52603,14 @@ ename = "inf-mongo"; version = "20180408.638"; src = fetchFromGitHub { - owner = "tobiassvn"; + owner = "endofunky"; repo = "inf-mongo"; rev = "2e498d1c88bd1904eeec18ed06b1a0cf8bdc2a92"; sha256 = "1m6skisj6r3fbxadpwwgf3a3934b2qvwb7zj975qksxq56ij0wkq"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/be9b27d5354d4b30cc9dd3be730d79e5a5bc1f74/recipes/inf-mongo"; - sha256 = "09hf3jmacsk4hl0rxk35cza8vjl0xfmv19dagb8h8fli97fb65hh"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3416586d4d782cdd61a56159c5f80a0ca9b3ddf4/recipes/inf-mongo"; + sha256 = "0f12yb3dgkjnpr4d36jwfnncqzz7kl3bnnrmjw7hv223p2ryzwpx"; name = "recipe"; }; packageRequires = []; @@ -49748,12 +52626,12 @@ melpaBuild { pname = "inf-ruby"; ename = "inf-ruby"; - version = "20180521.648"; + version = "20190219.347"; src = fetchFromGitHub { owner = "nonsequitur"; repo = "inf-ruby"; - rev = "49d59a7897f594e3be74ecbddae83719f9a6c0f0"; - sha256 = "1bkv825n1316sisajzrqza3mz0pjc03r6bl40dhgqf8qyjkkcq3c"; + rev = "ca10d72e0c64fb7947246c77a409a5443f1f4ba0"; + sha256 = "0m2cavxg8ksji56vj87gwr9r23rk0w3mbafq86kq88ljhb1fbpx3"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/inf-ruby"; @@ -49766,31 +52644,6 @@ license = lib.licenses.free; }; }) {}; - inferior-spim = callPackage ({ fetchFromGitHub - , fetchurl - , lib - , melpaBuild }: - melpaBuild { - pname = "inferior-spim"; - ename = "inferior-spim"; - version = "20160826.646"; - src = fetchFromGitHub { - owner = "hiddenlotus"; - repo = "inferior-spim"; - rev = "93f67ee49f1c6899a7efd52ea4e80e9f9da3371c"; - sha256 = "1ffa29clfsr3wb00irzqlazk9d0qmjxn9wy8zfca61lh0ax5khbg"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/d2ce70b5dc05096a6de46069e8d26323d3df78b6/recipes/inferior-spim"; - sha256 = "1bl29ww55vabgly84wdg18qq1md4vxzvsb6kvxymf6bpw55k313s"; - name = "recipe"; - }; - packageRequires = []; - meta = { - homepage = "https://melpa.org/#/inferior-spim"; - license = lib.licenses.free; - }; - }) {}; inflections = callPackage ({ cl-lib ? null , emacs , fetchFromGitHub @@ -50056,12 +52909,12 @@ melpaBuild { pname = "inkpot-theme"; ename = "inkpot-theme"; - version = "20171217.144"; + version = "20181118.2306"; src = fetchFromGitHub { owner = "ideasman42"; repo = "emacs-inkpot-theme"; - rev = "8d59548ff5171bf6be6acc58d111674579646124"; - sha256 = "0r63rb99nm7fpw8yn3gkbfka12jqwzkdhv97hm89nvdrxdnbggfs"; + rev = "054c125b49247a08af5a391992817776fd0e8af6"; + sha256 = "06g4xsirag4gjd9khii4yhca29g5z9507lyyxxk35k36ckarg07i"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/dd3e02aaf8865d8038b9c590c8545e7a1b21d620/recipes/inkpot-theme"; @@ -50336,12 +53189,12 @@ melpaBuild { pname = "intero"; ename = "intero"; - version = "20180703.18"; + version = "20190308.834"; src = fetchFromGitHub { owner = "commercialhaskell"; repo = "intero"; - rev = "60e2e3f76f647b20d9de8418f9576ea157e21864"; - sha256 = "0srim6q3p749xpqp28c6zfxf0aj0d87jdc1smn62wc37fxkf1wgq"; + rev = "8da81244783fbf03afb49660423c875f2e874fba"; + sha256 = "17vibxapzp4wf0dfc56x98wsf3wy98ghj5h10nyf7xcfwy6k0rja"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1b56ca344ad944e03b669a9974e9b734b5b445bb/recipes/intero"; @@ -50619,12 +53472,12 @@ melpaBuild { pname = "ipython-shell-send"; ename = "ipython-shell-send"; - version = "20171212.318"; + version = "20190220.1446"; src = fetchFromGitHub { owner = "jackkamm"; repo = "ipython-shell-send-el"; - rev = "36523a387c15ee1652a5b0e291d4d4838da5e912"; - sha256 = "1iba7jpagc0n436pbylpcbwbdxk6bw7y0i7pjgxxwfm8akaj9i68"; + rev = "0faed86faff02a361f23ce5fc923d0e9b09bb2da"; + sha256 = "1nx92rmxgrxy9hfi7f2ny3q4zqrzy6jalr85lall7r74aifprrkv"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9d3513d38f94de4d86124b5d5a33be8d5f0bfa43/recipes/ipython-shell-send"; @@ -50645,12 +53498,12 @@ melpaBuild { pname = "iqa"; ename = "iqa"; - version = "20170722.834"; + version = "20181024.1553"; src = fetchFromGitHub { owner = "a13"; repo = "iqa.el"; - rev = "08e3f70d0a3ed95a0c5675ae88e7966474ecc45a"; - sha256 = "1n7ghcixk16n6x8p7128mqjfcsalxfyp3asydnijw7qp358l7f9r"; + rev = "b45614f5204ed851de0abe93907aa94de5e37379"; + sha256 = "11wrmiwlp91x59cn9k2j2pqgvzbrnzvf81dqgm9l5ph5fym0jqsd"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a9bd2e952d98f7ac2dc823581b07b65e951e9e45/recipes/iqa"; @@ -50722,12 +53575,12 @@ melpaBuild { pname = "irony"; ename = "irony"; - version = "20180703.1040"; + version = "20190125.434"; src = fetchFromGitHub { owner = "Sarcasm"; repo = "irony-mode"; - rev = "91353a291509f0615fabaedcd92663cd6d94d345"; - sha256 = "12951pqrk5r9wr4ir1nr810g8p6ddyldh1m6f48r7999fb5y14rw"; + rev = "93b91d746a5ae3ec99f9c7614522de08edc1426c"; + sha256 = "0pgdg13prr4j4dv7s7wfgrnn6h2z61aggqvlsqvid1vfr3xbg5wb"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d2b6a8d57b192325dcd30fddc9ff8dd1516ad680/recipes/irony"; @@ -50826,12 +53679,12 @@ melpaBuild { pname = "isend-mode"; ename = "isend-mode"; - version = "20171118.745"; + version = "20190201.32"; src = fetchFromGitHub { owner = "ffevotte"; repo = "isend-mode.el"; - rev = "88d4576e70e5874115c305ab2767d181dfda5985"; - sha256 = "0pnzy5000m34f20q97my8ahcsgr0fqyhmfzbmds5bc269vsnbr6g"; + rev = "94184d5eb4a7f96e60351d2580eb0d20f22ab72d"; + sha256 = "1wn7ji76pp2xpfh4yiayll5b0wlfxkb11bgk24hpx22bhjnw3ivj"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8ef6e4dab78a4c333647a85ed07a81da8083ec0c/recipes/isend-mode"; @@ -50869,6 +53722,32 @@ license = lib.licenses.free; }; }) {}; + isolate = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "isolate"; + ename = "isolate"; + version = "20190205.1929"; + src = fetchFromGitHub { + owner = "casouri"; + repo = "isolate"; + rev = "3bb82f52b0df39c9b57fb68ba622b2906d0eecff"; + sha256 = "00h9d6d6l8cxih8ix6kckc6dhzmq9hbfmgfmfpmf6f67c4ikcv8m"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/c8091f8d72c24a103f6dcaadc18bbec745c1c3d3/recipes/isolate"; + sha256 = "1ldyvw01nq2ynxaaqmw9ihk9kwfss9rqpaydn9f41bqj15xrypjc"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/isolate"; + license = lib.licenses.free; + }; + }) {}; isortify = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -50878,12 +53757,12 @@ melpaBuild { pname = "isortify"; ename = "isortify"; - version = "20180612.622"; + version = "20190315.1304"; src = fetchFromGitHub { owner = "proofit404"; repo = "isortify"; - rev = "442f12fa91695a43a4b542f7b82d6ac9b004729b"; - sha256 = "02rjyza8a0j3a2jfm9ps8gvsjqx3gxznaxw1d1zjam0a87fp7p1k"; + rev = "4d8ecfcadf58ea51368e66ecf6f2a95a95953fcf"; + sha256 = "0gslib1r9d9dqd9r89dfg8npkybjw2bjdrbs0z2qcnfa82x4fq4z"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9d4ad18492e7f4a56a1515873bc0b66fa49829bb/recipes/isortify"; @@ -50980,12 +53859,12 @@ melpaBuild { pname = "iter2"; ename = "iter2"; - version = "20180510.633"; + version = "20190113.624"; src = fetchFromGitHub { owner = "doublep"; repo = "iter2"; - rev = "f8fb8dc7230cdcd37c5d0e4e5a432125c13816d2"; - sha256 = "13q8p9cjz9c9j2l4vlwy6nvwh9y3b0aclg1b32zfdqhs6kmypisd"; + rev = "fc1fcea5379bc7728a25dd81546886213e3db6fa"; + sha256 = "1gvm5gfgmcw4mibi8899x9ry1zqm3ij6yl0dnmdqmv9dbv1zlqp2"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d94316660051ee0ba0c12e380e6203986440368f/recipes/iter2"; @@ -51088,12 +53967,12 @@ melpaBuild { pname = "ivy"; ename = "ivy"; - version = "20180719.1037"; + version = "20190407.1029"; src = fetchFromGitHub { owner = "abo-abo"; repo = "swiper"; - rev = "31e18fd15780c5f6eedbe3d6a14f86aade673d01"; - sha256 = "0xv9ddgq218xy68bbf7d8l243g932viwlqmlk04jmalk3qyv4hj9"; + rev = "11b00073cb348aedf1d648a991bab71e20178268"; + sha256 = "1pylfgjrgcapya3dmivcaq5vnqx6h8lrq3xnx7sq11sw5fn6sw0n"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/06c24112a5e17c423a4d92607356b25eb90a9a7b/recipes/ivy"; @@ -51120,12 +53999,12 @@ melpaBuild { pname = "ivy-bibtex"; ename = "ivy-bibtex"; - version = "20180612.619"; + version = "20190214.809"; src = fetchFromGitHub { owner = "tmalsburg"; repo = "helm-bibtex"; - rev = "21f802aaf5b78dec18b72601dd8276c5244e39f5"; - sha256 = "13jg728v8k227p68ngiwknlygzqdvasg6n9ax1a2xgjbx3di12vv"; + rev = "72cdad743706f4bed185f7be918f67a8c3dcb59f"; + sha256 = "17f2gf4rsg3fqsj4kwiyi7cnr1q4xiam8b31kv2p1smh4qw8yfnh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c23c09225c57a9b9abe0a0a770a9184ae2e58f7c/recipes/ivy-bibtex"; @@ -51178,12 +54057,12 @@ melpaBuild { pname = "ivy-erlang-complete"; ename = "ivy-erlang-complete"; - version = "20180715.2144"; + version = "20190406.1036"; src = fetchFromGitHub { owner = "s-kostyaev"; repo = "ivy-erlang-complete"; - rev = "6dad91e4951ed6fd8886bfee587144da18b57049"; - sha256 = "1padq39s8k4p16bgxi0cyy1q0rqa89w38a0nzkc3kvnq3iycixlp"; + rev = "f3a7088ba62746932ac0084e254e4235b93febcc"; + sha256 = "0sdxcx1ihb51khi5chdm80mzwh8ygfs86pndgh5gq8dzbqpi2ax4"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ac1b9e350d3f066e4e56202ebb443134d5fc3669/recipes/ivy-erlang-complete"; @@ -51196,6 +54075,33 @@ license = lib.licenses.free; }; }) {}; + ivy-explorer = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , ivy + , lib + , melpaBuild }: + melpaBuild { + pname = "ivy-explorer"; + ename = "ivy-explorer"; + version = "20190318.908"; + src = fetchFromGitHub { + owner = "clemera"; + repo = "ivy-explorer"; + rev = "5bf3b915bdb78f58fc657e616262d967266a4500"; + sha256 = "1nfabcphfsbza4zrw4f23ajv6bh4jrma0k9ygphv7pzg7hc48jf8"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/8b590a6e0d11fda3d93e4d92f847138f8968b332/recipes/ivy-explorer"; + sha256 = "088ciy051b3kcd6anm66fnkg510c72hrfgdbgdf4mb9z4d9bk056"; + name = "recipe"; + }; + packageRequires = [ emacs ivy ]; + meta = { + homepage = "https://melpa.org/#/ivy-explorer"; + license = lib.licenses.free; + }; + }) {}; ivy-feedwrangler = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -51232,12 +54138,12 @@ melpaBuild { pname = "ivy-gitlab"; ename = "ivy-gitlab"; - version = "20180312.947"; + version = "20181228.26"; src = fetchFromGitHub { owner = "nlamirault"; repo = "emacs-gitlab"; - rev = "68318aca3206d50701039c9aae39734ca29a49f9"; - sha256 = "0arsjdn0anp7pacwxd3cw4db8a7pgzjlnwav1l3maaz1176h4lpb"; + rev = "8c2324c02119500f094c2f92dfaba4c9977ce1ba"; + sha256 = "056c4fb5sj2y4h94klx2g24n1g3qdi7ifzs8ksw5v6hcj9lrkb1n"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/35d4d4f22e4c567954287b2a1cabcb595497095a/recipes/ivy-gitlab"; @@ -51261,12 +54167,12 @@ melpaBuild { pname = "ivy-historian"; ename = "ivy-historian"; - version = "20170715.2120"; + version = "20190110.1913"; src = fetchFromGitHub { owner = "PythonNut"; repo = "historian.el"; - rev = "6cc124987e18501a1f6f9a384144a22424be3ad8"; - sha256 = "1r2p8fqbc1ms9wrhkxqqmmi8cyba1xdsy9yk2yq1rrivhqpl9fq7"; + rev = "64f4ef8cd4e417dfa090138a2d4ea1e72fd4456a"; + sha256 = "0py43kml7fcf1k28pali7n9nhsjp003j02cpynqcz6hmk8zr7b48"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/fb79cbc9af6cd443b9de97817d24bcc9050d5940/recipes/ivy-historian"; @@ -51289,12 +54195,12 @@ melpaBuild { pname = "ivy-hydra"; ename = "ivy-hydra"; - version = "20180614.1500"; + version = "20190328.845"; src = fetchFromGitHub { owner = "abo-abo"; repo = "swiper"; - rev = "8c1a191764446397f31d4c8e47e687f5b521e46f"; - sha256 = "14csqz3mj33rjby8vgzlarcymn97jx8678w4n6mfd9m1h40fb7nv"; + rev = "c56ad2a551d8915525201590ef38a658bbeeb54b"; + sha256 = "0fmi5dk30xa6ra6br09abxhvha8rx9l28qkajfj5namk5id3s388"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/06c24112a5e17c423a4d92607356b25eb90a9a7b/recipes/ivy-hydra"; @@ -51363,6 +54269,34 @@ license = lib.licenses.free; }; }) {}; + ivy-omni-org = callPackage ({ dash + , emacs + , fetchFromGitHub + , fetchurl + , ivy + , lib + , melpaBuild }: + melpaBuild { + pname = "ivy-omni-org"; + ename = "ivy-omni-org"; + version = "20190308.1936"; + src = fetchFromGitHub { + owner = "akirak"; + repo = "ivy-omni-org"; + rev = "ab18ca56759aa3428ca017da223dd2eb17feb078"; + sha256 = "1c5mk3dbbjan3fh5sy03dhhdmjawbrnqdf6m1sdkpv379hf9py2f"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/4eaad7323462d6c7fd343ede0d2df8c67885e542/recipes/ivy-omni-org"; + sha256 = "1mxdglp0frplv75bik2fl2ybbl0yqfd5r70alcgx1zmba18kaj20"; + name = "recipe"; + }; + packageRequires = [ dash emacs ivy ]; + meta = { + homepage = "https://melpa.org/#/ivy-omni-org"; + license = lib.licenses.free; + }; + }) {}; ivy-pages = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -51456,12 +54390,12 @@ melpaBuild { pname = "ivy-posframe"; ename = "ivy-posframe"; - version = "20180707.2016"; + version = "20190407.544"; src = fetchFromGitHub { owner = "tumashu"; repo = "ivy-posframe"; - rev = "ff2578a044dbe3ba5711ed727cc778b5aa108676"; - sha256 = "0nphklyn3czr5zvdl5m31fc3sc80mn0izdmmxnq9cj7hz8fc61ch"; + rev = "3aabf14e24c407c39ee5af85e18cb26f1f157af5"; + sha256 = "04pv0mcl69cys7lcsyr1ms45wjq5xcq9q23d5r351h8qn3q4bcwf"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9e7c6f7ca439683abf11dcaa38672ac139c0da4f/recipes/ivy-posframe"; @@ -51484,12 +54418,12 @@ melpaBuild { pname = "ivy-prescient"; ename = "ivy-prescient"; - version = "20180716.907"; + version = "20190313.2133"; src = fetchFromGitHub { owner = "raxod502"; repo = "prescient.el"; - rev = "a1464272d62f4054c314d1a3196f7b7673325752"; - sha256 = "1w6xbyrk48mdv7iyspqkjv7ppp4r8rf1dispk08p8qig2d9crvl7"; + rev = "6a729df6e97af2bbbdce4a4536a237e47e51555d"; + sha256 = "0j55qbwmqn89q8ngzaq6pryp9xxdag99ggvs24n0yw6qwpw7v2h5"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a92495d09689932ab9f0b716078ceeeb9cc154e0/recipes/ivy-prescient"; @@ -51539,16 +54473,16 @@ melpaBuild { pname = "ivy-rich"; ename = "ivy-rich"; - version = "20180704.1845"; + version = "20190316.2315"; src = fetchFromGitHub { - owner = "yevgnen"; + owner = "Yevgnen"; repo = "ivy-rich"; - rev = "6575eb27510e841607b9e8cea87998a50fbc7be7"; - sha256 = "0agnpkkwvhf3g0cpl1c8p5dj4cnlg3890pg73p4rvrv2i27ni2h4"; + rev = "16af79860493f924319ccb6c3588a61aded94948"; + sha256 = "0c9jqppmywijyjh0b5fv5p1jricj6vrvkrnfm7na02zh26rjx1qj"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/0fc297f4949e8040d1b0b3271c9a70c64887b960/recipes/ivy-rich"; - sha256 = "0knkqc403gch4dp1q114h64cwwisxwnsxjqbl3cnidlwkn7lzk7m"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/ivy-rich"; + sha256 = "1il1lhxxg694j9w65qwzjm4p4l3q1h1hfndybj6z1cb72ijw27fr"; name = "recipe"; }; packageRequires = [ emacs ivy ]; @@ -51601,8 +54535,8 @@ sha256 = "07208qdk1a77dgh9qmpn164x5mgkzvprsdvb7y35ax12r2q541b8"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/97909da7899d4187e8eb6b3284f6225ebec7fa51/recipes/ivy-todo"; - sha256 = "12sfg2rbnk73a34ap94g4g70gx13llcgsrmfdrgrzk83a2274a2r"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/e608f40d00a3b2a80a6997da00e7d04f76d8ef0d/recipes/ivy-todo"; + sha256 = "06mn430zkisnqrmad81gn88pl7lz0m8rm1yvpngpakwwnhwm0q96"; name = "recipe"; }; packageRequires = [ emacs ivy ]; @@ -51647,12 +54581,12 @@ melpaBuild { pname = "ivy-xref"; ename = "ivy-xref"; - version = "20180701.2117"; + version = "20180821.511"; src = fetchFromGitHub { owner = "alexmurray"; repo = "ivy-xref"; - rev = "f8ab1eeab05f025a97ddf2f239862db14e3430e9"; - sha256 = "0k6v3iamdchwnlpr1vbw1wjzc8hr2745qpvmwa74rsqgbj79p9pg"; + rev = "61864f82e554121be0a26ba0a1d8f48b669dd5f0"; + sha256 = "0cgl8lzw0rzswqsl8wk6b39bm2781mwvz3qwm06r2n3kjy7c79b4"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a4cd8724e8a4119b61950a97b88219bf56ce3945/recipes/ivy-xref"; @@ -51665,7 +54599,8 @@ license = lib.licenses.free; }; }) {}; - ivy-yasnippet = callPackage ({ dash + ivy-yasnippet = callPackage ({ cl-lib ? null + , dash , emacs , fetchFromGitHub , fetchurl @@ -51676,24 +54611,53 @@ melpaBuild { pname = "ivy-yasnippet"; ename = "ivy-yasnippet"; - version = "20180620.2336"; + version = "20181002.955"; src = fetchFromGitHub { owner = "mkcms"; repo = "ivy-yasnippet"; - rev = "817c52a0f74dcd156c7f8c6433dfb6b32753428a"; - sha256 = "1qx71alaj3bzis6qd3vs9jg52lkr871830rbpgxy1s7ks6qj79yd"; + rev = "32580b4fd23ebf9ca7dde96704f7d53df6e253cd"; + sha256 = "1wfg6mmd5gl1qgvayyzpxlkh9s7jgn20y8l1vh1zbj1czvv51xp8"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8c76857d716afab46f5efe46e353935921d5f217/recipes/ivy-yasnippet"; sha256 = "180q6hrsnkssbf9x9bj74dyy26kym4akbsjlj81x4193nnmc5w67"; name = "recipe"; }; - packageRequires = [ dash emacs ivy yasnippet ]; + packageRequires = [ cl-lib dash emacs ivy yasnippet ]; meta = { homepage = "https://melpa.org/#/ivy-yasnippet"; license = lib.licenses.free; }; }) {}; + ivy-ycmd = callPackage ({ dash + , emacs + , fetchFromGitHub + , fetchurl + , ivy + , lib + , melpaBuild + , ycmd }: + melpaBuild { + pname = "ivy-ycmd"; + ename = "ivy-ycmd"; + version = "20180909.525"; + src = fetchFromGitHub { + owner = "abingham"; + repo = "emacs-ivy-ycmd"; + rev = "25bfee8f676e4ecbb645e4f30b47083410a00c58"; + sha256 = "1ywrkx8ddncy4qhv5gh4qf1cpapyvny42i51p91j9ip7xmihy6lm"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/22e925d1b66f53d25eb1b3a2746dea82e8555783/recipes/ivy-ycmd"; + sha256 = "0vlf75qv9m84gx83rxz0acnlx5lspq92d94q82ba2p4cc6yjyvj3"; + name = "recipe"; + }; + packageRequires = [ dash emacs ivy ycmd ]; + meta = { + homepage = "https://melpa.org/#/ivy-ycmd"; + license = lib.licenses.free; + }; + }) {}; ivy-youtube = callPackage ({ cl-lib ? null , fetchFromGitHub , fetchurl @@ -51704,12 +54668,12 @@ melpaBuild { pname = "ivy-youtube"; ename = "ivy-youtube"; - version = "20171112.732"; + version = "20181126.239"; src = fetchFromGitHub { owner = "squiter"; repo = "ivy-youtube"; - rev = "23e1089d4c4fc32db20df14ba10078aabf117e87"; - sha256 = "0m70vxjj49kf8bzni2qchgzgx808z1fcfh02cflkhjcb77dkq8d6"; + rev = "849b6db7ef02b080a86c1b887488e2935c31059a"; + sha256 = "0f90dq8qhmsnm2hvnvzyb20nq0vmgnqzqa693scq69dv5rdjgwyj"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/ivy-youtube"; @@ -51802,22 +54766,23 @@ , fetchurl , fsm , lib - , melpaBuild }: + , melpaBuild + , srv }: melpaBuild { pname = "jabber"; ename = "jabber"; - version = "20170423.513"; + version = "20180927.1625"; src = fetchgit { url = "https://github.com/legoscia/emacs-jabber.git"; - rev = "3de7fb40ab9c82ada2a4b5f364a2417345953050"; - sha256 = "0miq8y9yfnhihwxayzri81s21qwqm5vyj3h7j95q5kmdml661fb4"; + rev = "fff33826f42e040dad7ef64ea312d85215d3b0a1"; + sha256 = "1fif38qhiaxskfmqin82n9334bzrkgd1h5ip1djcm571i670gj74"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7dbf3c2ffee5a4d71466ce037c618e0434a346/recipes/jabber"; sha256 = "04d2jdzs3c790ms70px8xvyip1liqvd3jy2mbs8qqbwyiccb74xx"; name = "recipe"; }; - packageRequires = [ fsm ]; + packageRequires = [ fsm srv ]; meta = { homepage = "https://melpa.org/#/jabber"; license = lib.licenses.free; @@ -51857,11 +54822,11 @@ melpaBuild { pname = "jack-connect"; ename = "jack-connect"; - version = "20141207.407"; + version = "20190311.1220"; src = fetchgit { url = "https://bitbucket.org/sbarbit/jack-connect"; - rev = "b00658dfe3d5d67431c18ffa693d5a3705067ba0"; - sha256 = "1a33z07m9rh42pbcjv7sd640gf6jjzs4yn6idx52g8i5vzns0dkh"; + rev = "3be5f03ba39ffab65e974cf1624cf38588639dcb"; + sha256 = "1lb7z060jrbr0ijzif5p3qg70lg21h1a6jyzyfqfhwf2iwa3mkcj"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c0f5c5f8051f3046baebb08f41b0ca0bf0d73c85/recipes/jack-connect"; @@ -51932,12 +54897,12 @@ melpaBuild { pname = "japanese-holidays"; ename = "japanese-holidays"; - version = "20160927.2318"; + version = "20190317.520"; src = fetchFromGitHub { owner = "emacs-jp"; repo = "japanese-holidays"; - rev = "4207ee349356837ebfbf0badb6c42f256412c833"; - sha256 = "1n4imcnwqdixd8ybc06hmmh6l28gv0c6mvrpwg7fh9lgsvmgbxb3"; + rev = "f04662cf1e96a2ef9fd7be43e9723fe355025d50"; + sha256 = "0zlmr48wpccd1y5xxyzfrc1n7g7j3pjnhx7v0ms57plk9wbz1yp2"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/80088028a1322e99e5fc50bebe08fcb6d1a2a44d/recipes/japanese-holidays"; @@ -51958,12 +54923,12 @@ melpaBuild { pname = "japanlaw"; ename = "japanlaw"; - version = "20160129.20"; + version = "20160614.2343"; src = fetchFromGitHub { owner = "mhayashi1120"; repo = "japanlaw.el"; - rev = "ad318559d626652d1bc59baa8ab86d5075361e33"; - sha256 = "1wjgjbzk66a4bv60lkf76g1bd9rw892kx36ijvr9vl6z760rrrcm"; + rev = "db8825309bec3eb8c89ff29bad4ecd2f54bbef81"; + sha256 = "04hrfqbl88dqpgbqby6708q5ghgkyfgkl4awbd5dfzzs9nfbmmyk"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6192e1db76f017c3b1315453144cffc47cdd495d/recipes/japanlaw"; @@ -52297,12 +55262,12 @@ melpaBuild { pname = "jdee"; ename = "jdee"; - version = "20180711.1336"; + version = "20190217.229"; src = fetchFromGitHub { owner = "jdee-emacs"; repo = "jdee"; - rev = "9192578df89dc92c88a7faf71d8aaf4f60bcb84c"; - sha256 = "0ahpygiw7ik82y75khhhr8d81883cpnld10xdcarzj0mblhi3vqf"; + rev = "1b1bdf01864d38173c9972234b02f81b47781757"; + sha256 = "08nspkv8gxhiqyqyjlv0gf59ccfrkddxd0664dzygnz9dzannhrs"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a6d2c98f3bf2075e33d95c7befe205df802e798d/recipes/jdee"; @@ -52354,12 +55319,12 @@ melpaBuild { pname = "jedi-core"; ename = "jedi-core"; - version = "20170121.610"; + version = "20181206.1601"; src = fetchFromGitHub { owner = "tkf"; repo = "emacs-jedi"; - rev = "de1f5597b600c0cb7661b5f451da2af4cb722571"; - sha256 = "120l9zfh432ffj5n6q4x16msvnqwcazkaxib2n19k4pdyvpd1gbp"; + rev = "615544c6ca81bbc53140aefe345e2120110c1660"; + sha256 = "0lc8p7xswsm5kir2paw3l65psq9fz4xd81r9ip3d7hsyab4jnvvf"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/bded1840a39fbf1e014c01276eb2f9c5a4fc218f/recipes/jedi-core"; @@ -52504,6 +55469,48 @@ license = lib.licenses.free; }; }) {}; + jest = callPackage ({ cl-lib ? null + , dash + , dash-functional + , emacs + , fetchFromGitHub + , fetchurl + , js2-mode + , lib + , magit-popup + , melpaBuild + , projectile + , s }: + melpaBuild { + pname = "jest"; + ename = "jest"; + version = "20181215.2059"; + src = fetchFromGitHub { + owner = "emiller88"; + repo = "emacs-jest"; + rev = "b753aa69511ac1219c39ea1584dd1571b55a221e"; + sha256 = "0csf6ld88b8722j6favx19ilsfc0mc56k6kmv6d2nixj1xl0pl27"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/a656c058c423ea6396b831d45c6dbb9bce6c4881/recipes/jest"; + sha256 = "10xsqcjskh2s6mlh07vf10whaas3aqm18hk3w309r3n1qmqihf75"; + name = "recipe"; + }; + packageRequires = [ + cl-lib + dash + dash-functional + emacs + js2-mode + magit-popup + projectile + s + ]; + meta = { + homepage = "https://melpa.org/#/jest"; + license = lib.licenses.free; + }; + }) {}; jetbrains = callPackage ({ cl-lib ? null , emacs , f @@ -52729,12 +55736,12 @@ melpaBuild { pname = "jq-mode"; ename = "jq-mode"; - version = "20180407.1048"; + version = "20181103.558"; src = fetchFromGitHub { owner = "ljos"; repo = "jq-mode"; - rev = "72ea5e35e0a66c7275cf4fe4af25a619761653d7"; - sha256 = "0xgkmadbbs3zid11pn6silb25kyng424ikgx0wib48yzcra0kdw4"; + rev = "d6bbd83baf0746f22564f7ae92db44e06da6e08c"; + sha256 = "1sk603258gvnfrvl641xfmgapg67z44wnlx6qba73wn3f2055765"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/318705966e26e58f87b53c115c519db95874ac1c/recipes/jq-mode"; @@ -52807,12 +55814,12 @@ melpaBuild { pname = "js-auto-format-mode"; ename = "js-auto-format-mode"; - version = "20180123.830"; + version = "20180807.652"; src = fetchFromGitHub { owner = "ybiquitous"; repo = "js-auto-format-mode"; - rev = "1558fb539e0beb7f98901280d695968a2351384d"; - sha256 = "16l2mjklazmfpdin3vz3ddf083phhyrhi18n0rfhv5rwh9m23wr9"; + rev = "59caa137c4beec4dec4a7d7ebf8bcb6af44d72f0"; + sha256 = "10xxg8lc4g9wdl4lz7kx6la23agpbq4ls1mn5d4y364j8nfcxf9g"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2d3be16771b5b5fde639da3ee97890620354ee7a/recipes/js-auto-format-mode"; @@ -52859,12 +55866,12 @@ melpaBuild { pname = "js-comint"; ename = "js-comint"; - version = "20171129.2056"; + version = "20181106.1438"; src = fetchFromGitHub { owner = "redguardtoo"; repo = "js-comint"; - rev = "83e932e4a83d1a69098ee87e0ab911d299368e60"; - sha256 = "1r2fwsdfkbqnm4n4dwlp7gc267ghj4vd0naj431w7pl529dmrb6x"; + rev = "01be9d821269c513665d00416f6dac5c77808801"; + sha256 = "17933bxyq6jff2ibaxj2w4d9i9a5hbcfv5kh84m2vqgxcilvlx2a"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/bc9d20b95e369e5a73c85a4a9385d3a8f9edd4ca/recipes/js-comint"; @@ -52940,12 +55947,12 @@ melpaBuild { pname = "js-import"; ename = "js-import"; - version = "20170115.853"; + version = "20190218.519"; src = fetchFromGitHub { owner = "jakoblind"; repo = "js-import"; - rev = "7b1b7c963e3df9c76ed6cfb66c908c80775c6cfb"; - sha256 = "03a13bcipk32hdvh5bm2z8kxs4b2xp3r1phwxmvb49lxx6417bs9"; + rev = "2ab3b120cc94ebf4bee2d959c8869440bc4c7484"; + sha256 = "1fv8lpjanyn6chf502lz0j438hfxhqz1b0z2kxsd4jgy20ixchmg"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/js-import"; @@ -53020,12 +56027,12 @@ melpaBuild { pname = "js2-mode"; ename = "js2-mode"; - version = "20180627.744"; + version = "20190307.849"; src = fetchFromGitHub { owner = "mooz"; repo = "js2-mode"; - rev = "3bea9ab39b6c0b6dd442d69fe53183c1f7652284"; - sha256 = "039ffsqc40ydg4ma4ycvw76rxa6s8g54dbvcm8fyypkb8ibn7yn6"; + rev = "7db4871cf50fab1a1086680ead2c70d1e454be6a"; + sha256 = "1rg263ry06wny5lcmmlzaafq5bqy9llik8ymhbak7gmjypb699fq"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/js2-mode"; @@ -53127,12 +56134,12 @@ melpaBuild { pname = "jsfmt"; ename = "jsfmt"; - version = "20150727.1525"; + version = "20180920.308"; src = fetchFromGitHub { owner = "brettlangdon"; repo = "jsfmt.el"; - rev = "68109120f553fbc651fafb6fc35ed83c3e79f8a6"; - sha256 = "0h9gx5cl3lashk0n8pv9yzb0mm8dyziddfbwfqfm70638p93ylhc"; + rev = "ca141a135c7700eaedef92561d334e1fb7dc28a1"; + sha256 = "13b2y6q6hqgdf32vyph407jlgki8xf5kflqz8zi0hcrmb8wkrd5x"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4ddc99843dec18a295dfc36e7b429f0e1ab7fb71/recipes/jsfmt"; @@ -53154,12 +56161,12 @@ melpaBuild { pname = "json-mode"; ename = "json-mode"; - version = "20180718.109"; + version = "20190122.2022"; src = fetchFromGitHub { owner = "joshwnj"; repo = "json-mode"; - rev = "ffc92b1eefc54963703b43be140f4c8c8ad348f7"; - sha256 = "186m03fhbv8v8kz5nmhrsakhl2mh0hn365yrx36i28i8mbnwzah7"; + rev = "0e819e519ae17a2686e0881c4ca51fa873fa9b83"; + sha256 = "0m4i6b5qmakdc0h8npsyajdp06jq03cb1c5rkj6x0khnjw9fv2fl"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/03d0ff6c8d724cf39446fa27f52aa5cc1a3cefb6/recipes/json-mode"; @@ -53181,12 +56188,12 @@ melpaBuild { pname = "json-navigator"; ename = "json-navigator"; - version = "20171220.19"; + version = "20190131.231"; src = fetchFromGitHub { owner = "DamienCassou"; repo = "json-navigator"; - rev = "7a1fec93500c46ccba4086d10115d8188607d0d0"; - sha256 = "03gjvzlyf90sh2q735qfbbjyqx4z9c3yc8jjp2sjpmp5fjvdm9yf"; + rev = "f4cde60c4203fc70cc7ff22ed1d6579159ce2598"; + sha256 = "0xrjbx6rkm8a6pmzhdph0r6l468hj827dvvq2hxhcm8v5gk6m690"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/62d4d68bd473652b80988a68250e9190b886ad6e/recipes/json-navigator"; @@ -53285,12 +56292,12 @@ melpaBuild { pname = "jsonnet-mode"; ename = "jsonnet-mode"; - version = "20180310.2256"; + version = "20181211.1053"; src = fetchFromGitHub { owner = "mgyucht"; repo = "jsonnet-mode"; - rev = "4eb52cff8ce6020f5a6309a1c0465b5cdd6c698e"; - sha256 = "0l9q6g00yxz5j1hchd2vim33n39zshv7qmmga1zf8qcn20yxz7mm"; + rev = "2b90b4e12a11c42df0f1e5db327a50555b6ff023"; + sha256 = "0j1dggxq1rm47cbi7khask40sj1wrcd0jki4m7j15qaxw7ryihhm"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ba17372732723f73e8eeb6e7c47abc0edeb20da4/recipes/jsonnet-mode"; @@ -53345,14 +56352,14 @@ ename = "jst"; version = "20150604.438"; src = fetchFromGitHub { - owner = "cheunghy"; + owner = "zhangkaiyulw"; repo = "jst-mode"; rev = "865ff97449a4cbbcb40d38b4908cf4d7b22a5108"; sha256 = "066ql5czrzikznlx7vww6m8h0pfkixfm8qnydfwpfndcqq6ypd90"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/85d7aec81b7b8ff3721fd577cbdc10ed2288f76d/recipes/jst"; - sha256 = "0hp1f7p6m1gfv1a3plavzkzn87dllb5g2xrgg3mch4qsgdbqx65i"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3416586d4d782cdd61a56159c5f80a0ca9b3ddf4/recipes/jst"; + sha256 = "1kxf8ckhsh0sgc4xqkkyh7ghk17farqqz35ibvmyrkl9s19ydj1q"; name = "recipe"; }; packageRequires = [ dash emacs f pcache s ]; @@ -53417,16 +56424,16 @@ melpaBuild { pname = "julia-mode"; ename = "julia-mode"; - version = "20171116.642"; + version = "20190407.1419"; src = fetchFromGitHub { - owner = "JuliaLang"; + owner = "JuliaEditorSupport"; repo = "julia-emacs"; - rev = "2ef6992125a85674532a1e37dacd5c60bee4feeb"; - sha256 = "0vjsaws0rqrkv1mqxwf9lp8qmaq92piippybsf4ncizxwbnh8x6d"; + rev = "8449c95a05ab5d75a48192c2da7f0e7f4d16714c"; + sha256 = "02v1hw7h460ypwn45n3jv6d06jcsg2hm5l764ay22116znvaz9n7"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/8522d197cb1b2c139959e7189765001c5ee7e61a/recipes/julia-mode"; - sha256 = "0m49v67fs5yq0q3lwkcfmrzsjdzi1qrkfjyvjcdwnfmp29w14kq6"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3416586d4d782cdd61a56159c5f80a0ca9b3ddf4/recipes/julia-mode"; + sha256 = "1f26j3nxspwrvnsk3kmam8rw4jwikwmi9a5zwsx9aa1rrasg58w3"; name = "recipe"; }; packageRequires = []; @@ -53443,12 +56450,12 @@ melpaBuild { pname = "julia-repl"; ename = "julia-repl"; - version = "20171116.46"; + version = "20190124.259"; src = fetchFromGitHub { owner = "tpapp"; repo = "julia-repl"; - rev = "f808a12e7ebe403f82036899c2dace640be73154"; - sha256 = "1lh4pbxrnld205ga58036jwnxkmgabdd8hyr6g7fahw94llq2cpa"; + rev = "54b4aa31d96e6945d07304dcb189289e2f8be1b4"; + sha256 = "1jjygzz3v9iw7ixvfqvy0faa4nkg2dl5qp8jd3yxbawyx6g304n9"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9a2a494969a9caf2f4513b12504379c9685047dc/recipes/julia-repl"; @@ -53643,6 +56650,36 @@ license = lib.licenses.free; }; }) {}; + jupyter = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , simple-httpd + , websocket + , zmq }: + melpaBuild { + pname = "jupyter"; + ename = "jupyter"; + version = "20190406.1040"; + src = fetchFromGitHub { + owner = "dzop"; + repo = "emacs-jupyter"; + rev = "53c2ffdd513206cbe45f44b848dc053de2c17db1"; + sha256 = "1fwq8zvsjc8y4jvqnq5aa03an2pffayaiq92h39bbmf8hv59b6xd"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/a63a933e193a52e60950331ec982c5f5cdfaa5d9/recipes/jupyter"; + sha256 = "0p83mkvip1gn5ag2j6s68wzfgg2sf15iyxh7ylads3yw44h26wvi"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs simple-httpd websocket zmq ]; + meta = { + homepage = "https://melpa.org/#/jupyter"; + license = lib.licenses.free; + }; + }) {}; jvm-mode = callPackage ({ dash , emacs , fetchFromGitHub @@ -53670,6 +56707,33 @@ license = lib.licenses.free; }; }) {}; + k8s-mode = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , yaml-mode }: + melpaBuild { + pname = "k8s-mode"; + ename = "k8s-mode"; + version = "20181230.2341"; + src = fetchFromGitHub { + owner = "TxGVNN"; + repo = "emacs-k8s-mode"; + rev = "bd435186d807dc20e40cb72abf57542a3ddcc9c9"; + sha256 = "06hxs2syashv0r4d6w8v8p7pzab3cxwf3ymx5lrpicq5zjc3x3h5"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/44085c3f730315a5fc2a9a003ffa16d5df9f9a52/recipes/k8s-mode"; + sha256 = "14m4s0l61a2h38pdq6iczva24cl3mqdkw99k1q0drisdrvy57f33"; + name = "recipe"; + }; + packageRequires = [ emacs yaml-mode ]; + meta = { + homepage = "https://melpa.org/#/k8s-mode"; + license = lib.licenses.free; + }; + }) {}; kaesar = callPackage ({ cl-lib ? null , fetchFromGitHub , fetchurl @@ -53888,12 +56952,12 @@ melpaBuild { pname = "kaolin-themes"; ename = "kaolin-themes"; - version = "20180722.1037"; + version = "20190405.39"; src = fetchFromGitHub { owner = "ogdenwebb"; repo = "emacs-kaolin-themes"; - rev = "8d0d8513541c293646aaff886d1fb81621d3cf45"; - sha256 = "00bn5wr4wvdn4nn1minlqnbj57rdb8biv4w9bmkgipsmkr27zaxz"; + rev = "dcaf5b5d7f2bbfe0ac8d224b4dbb24a68775314b"; + sha256 = "06qnpnm67d89jkl504kyqd724pab6jlha9zkd1b95rj17b54ng8l"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/043a4e3bd5301ef8f4df2cbda0b3f4111eb399e4/recipes/kaolin-themes"; @@ -53933,6 +56997,34 @@ license = lib.licenses.free; }; }) {}; + kapacitor = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , magit + , magit-popup + , melpaBuild }: + melpaBuild { + pname = "kapacitor"; + ename = "kapacitor"; + version = "20180909.2142"; + src = fetchFromGitHub { + owner = "Manoj321"; + repo = "kapacitor-el"; + rev = "b0e95f98b965f215be6ead14779949d5cf358ea5"; + sha256 = "0ahi9ar32kwf7cinxp29c3yhjfibg509pvxv5s0gn31szdqq216p"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/db1f8cfcda2fa2b9be74a6cd9f95608e8b3f50bb/recipes/kapacitor"; + sha256 = "108b3y71p7s3lcwbqxp7hy2l304yj4hxm2nq8iv7ljr8av1q7kn6"; + name = "recipe"; + }; + packageRequires = [ emacs magit magit-popup ]; + meta = { + homepage = "https://melpa.org/#/kapacitor"; + license = lib.licenses.free; + }; + }) {}; karma = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -54145,12 +57237,12 @@ melpaBuild { pname = "keycast"; ename = "keycast"; - version = "20180318.1321"; + version = "20190316.1835"; src = fetchFromGitHub { owner = "tarsius"; repo = "keycast"; - rev = "0d28c26b07a062ab58c01c6cbedc3e68bd4ec8a1"; - sha256 = "0wfy5wbr150y57mlzsxhb6bq9ycqj2jk5i6nhwl4q8b6xd3mh6p6"; + rev = "fe416461b15543138ad4fef8ef5e2c364a6b5b2c"; + sha256 = "15q2kc7mlmr856ldh6bkba26zq8fwia26cv1gsqwj3jmhml6mlq1"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/aaaf62c586818f2493667ad6ec8877234a58da53/recipes/keycast"; @@ -54265,6 +57357,32 @@ license = lib.licenses.free; }; }) {}; + keypress-multi-event = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "keypress-multi-event"; + ename = "keypress-multi-event"; + version = "20190108.2130"; + src = fetchFromGitHub { + owner = "Boruch-Baum"; + repo = "emacs-keypress-multi-event"; + rev = "9de65a27e10d8ae47aa6d28c02c3eb82ee8c0b2e"; + sha256 = "1ybbayxfix63rwc8p5kl4wxxlk6vg53abw40fqrlkbc6qrr7nm5c"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/fd02baaf1d49d55b066695d8fa9887c454bb1750/recipes/keypress-multi-event"; + sha256 = "07va7w6vgjf6jqrfzpsq8732b8aka07g29h661yh1xn4x6464hyp"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/keypress-multi-event"; + license = lib.licenses.free; + }; + }) {}; keyset = callPackage ({ cl-lib ? null , dash , fetchFromGitHub @@ -54292,6 +57410,35 @@ license = lib.licenses.free; }; }) {}; + keystore-mode = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , origami + , s + , seq }: + melpaBuild { + pname = "keystore-mode"; + ename = "keystore-mode"; + version = "20190316.700"; + src = fetchFromGitHub { + owner = "peterpaul"; + repo = "keystore-mode"; + rev = "65ffee8834cb171c53e917ae8c183db6f646f471"; + sha256 = "1lzjqzbaq0wd9gims4mj8rga8wmj4kvig63cvnygd93f0sbbirkk"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/7870d808fc19096ed6ecde5e9297b28254466210/recipes/keystore-mode"; + sha256 = "1r1my7jgjv2zvkhdwd8ml6489x48gzanz4lvdiw5m2hymb53fdg6"; + name = "recipe"; + }; + packageRequires = [ emacs origami s seq ]; + meta = { + homepage = "https://melpa.org/#/keystore-mode"; + license = lib.licenses.free; + }; + }) {}; keyswap = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -54350,17 +57497,18 @@ , melpaBuild }: melpaBuild { pname = "kfg"; + ename = "kfg"; version = "20140908.2238"; src = fetchFromGitHub { - owner = "abingham"; + owner = "czipperz"; repo = "kfg"; - rev = "d2c9dd26618fb2f7bf1e7b6eae193b1cceba3c97"; - sha256 = "0xq835xzywks4b4kaz5i0pp759i23kibs5gkvvxasw0dncqh7j5c"; + rev = "ffc35b77f227d4c64a1271ec30d31333ffeb0013"; + sha256 = "0y8s2zfz1r1nfwkkfyxc3vfmlagp9wg8i3zpyj3jcifilxq6i63v"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/9b212de583b43dd05d2acd15bb2245e735d0b14c/recipes/kfg"; - sha256 = "0vvvxl6a4ac27igwmsgzpf0whf9h2pjl9d89fd9fizad6gi8x1fs"; - name = "kfg"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/2990f45632697ce23e7cd9db807d8ae2d3bf61d2/recipes/kfg"; + sha256 = "0kj79wwj2ih2ba57y3hl2l9pwjpsqns5waa8vi5g7agmqva0mh5b"; + name = "recipe"; }; packageRequires = [ f ]; meta = { @@ -54404,12 +57552,12 @@ melpaBuild { pname = "kill-or-bury-alive"; ename = "kill-or-bury-alive"; - version = "20171231.2218"; + version = "20181231.2304"; src = fetchFromGitHub { owner = "mrkkrp"; repo = "kill-or-bury-alive"; - rev = "d21aa7a12f1a76d47249db36eb9825242df9d512"; - sha256 = "1m790afdrns8afh7f690slq2gcya5bp7630fxwi8fqp5vil7lswg"; + rev = "e4a3c0f75c966826092b83e1fff5a3bc8ba55572"; + sha256 = "1zi471b2clkaz19qkn9p0qgrjvaxxxzdm7hqqicjfv5fmgpydk9v"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/25016ed09b6333bd79b989a8f6b7b03cd92e08b3/recipes/kill-or-bury-alive"; @@ -54454,12 +57602,12 @@ melpaBuild { pname = "killer"; ename = "killer"; - version = "20120808.422"; + version = "20190127.1610"; src = fetchFromGitHub { owner = "tarsius"; repo = "killer"; - rev = "7bbb223f875402a7b2abee4baa5a54f10bd97212"; - sha256 = "05rbh5hkj3jsn9pw0qa4d5a5pi6367vdqkijcn9k14fdfbmyd30x"; + rev = "ace0547944933440384ceeb5876b1f68c082d540"; + sha256 = "06nzxd9nc1d569354xj7w88i0y5l99pyag691aribsh771rxbfz4"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/bd8c3ec8fa272273128134dea96c0c999a524549/recipes/killer"; @@ -54560,12 +57708,12 @@ melpaBuild { pname = "kiwix"; ename = "kiwix"; - version = "20170927.120"; + version = "20190324.2052"; src = fetchFromGitHub { owner = "stardiviner"; repo = "kiwix.el"; - rev = "86dbead6c0017beefd92a0b64a0bb5f5d12c5b16"; - sha256 = "142mm1wy8zvlkzairnc1rjdi1lsq1asfk4zdbs1aria1nxz1sx6x"; + rev = "c662f3dc5d924a4b64b7af4af28f15f27b7cea1e"; + sha256 = "0i11sfnqvjqqb625cgfzibs6yszx891y4dy7fd6wzmdpclcyzr8z"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/kiwix"; @@ -54655,7 +57803,7 @@ license = lib.licenses.free; }; }) {}; - kodi-remote = callPackage ({ elnode + kodi-remote = callPackage ({ cl-lib ? null , fetchFromGitHub , fetchurl , json ? null @@ -54666,19 +57814,19 @@ melpaBuild { pname = "kodi-remote"; ename = "kodi-remote"; - version = "20180609.1654"; + version = "20190322.1303"; src = fetchFromGitHub { owner = "spiderbit"; repo = "kodi-remote.el"; - rev = "bca7250bb69e09c1a9829e15ef4aed1f486777eb"; - sha256 = "1d67gvhkvcdii2nj0ngh5lnvv1y3iw1ccl70lmi39srz5p2hjw59"; + rev = "861d81af05b061e1343124753d8493e5a21baf7b"; + sha256 = "1cb1s3ksscva8fw1ss8z6nc530g00njrs2kk3flqisnc41l6njsq"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/08f06dd824e67250afafdecc25128ba794ca971f/recipes/kodi-remote"; sha256 = "0f3n7b3plsw28xpz07lf5pv71b6s2xjhq2h23gpyg0r69v99chh5"; name = "recipe"; }; - packageRequires = [ elnode json let-alist request ]; + packageRequires = [ cl-lib json let-alist request ]; meta = { homepage = "https://melpa.org/#/kodi-remote"; license = lib.licenses.free; @@ -54742,12 +57890,12 @@ melpaBuild { pname = "korean-holidays"; ename = "korean-holidays"; - version = "20170228.2045"; + version = "20190102.758"; src = fetchFromGitHub { owner = "tttuuu888"; repo = "korean-holidays"; - rev = "aed79c24e3f91d8f9508367758b18e5fa3a9eaf4"; - sha256 = "1kqbxnjmp7hxjcv8zhy9v8v6220l9vd7rgqicjln4yrjz82z4579"; + rev = "3f90ed86f46f8e5533f23baa40e2513ac497ca2b"; + sha256 = "0y88b4mr73qcshr87750jkjzz1mc2wwra6ca3y8spv4qc6cadwls"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/korean-holidays"; @@ -54794,12 +57942,12 @@ melpaBuild { pname = "kotlin-mode"; ename = "kotlin-mode"; - version = "20180219.853"; + version = "20190116.1255"; src = fetchFromGitHub { owner = "Emacs-Kotlin-Mode-Maintainers"; repo = "kotlin-mode"; - rev = "a2c2628d55c4e8b018ffe9f55ca38d89302a1bbc"; - sha256 = "12zng3rq134f0d49fr2rsf0jgmxl3qc7kkhziy7r27hx6ny9h8z2"; + rev = "0e542ae2f78420618df8b0123dfe168a37dce333"; + sha256 = "1rv3vxw3dx477sapfd0hj3pkl3x0sihdsyl671azbcr02z67xl6p"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9f2560e913b215821221c96069a1385fe4e19c3e/recipes/kotlin-mode"; @@ -54846,14 +57994,14 @@ ename = "kroman"; version = "20150827.1640"; src = fetchFromGitHub { - owner = "cheunghy"; + owner = "zhangkaiyulw"; repo = "kroman-el"; rev = "431144a3cd629a2812a668a29ad85182368dc9b0"; sha256 = "0miywc3vfqi3hjb7lk8baz1y2nbp9phjjxclqriyqra4gw4n0vhc"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/07ff16db526dce9d720a858aa14010f297bf31a6/recipes/kroman"; - sha256 = "0y9ji3c8kndrz605n7b4w5xq0qp093d61hxwhblm3qrh3370mws7"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/kroman"; + sha256 = "0rcy3343pmlqzqzhmz2c3r0b44pn8fsyp39mvn9nmdnaxsn6q3k8"; name = "recipe"; }; packageRequires = []; @@ -54888,29 +58036,57 @@ license = lib.licenses.free; }; }) {}; + kubel = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , magit-popup + , melpaBuild }: + melpaBuild { + pname = "kubel"; + ename = "kubel"; + version = "20190314.1007"; + src = fetchFromGitHub { + owner = "abrochard"; + repo = "kubel"; + rev = "b8e1c67635dadaec3a289fa28111f6fcb817ef10"; + sha256 = "1dk44xq1bwlji48bbw1l4i4mqszsp1shfmmfs4q6gxyjs0hzbwpg"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/f1c7ff1c44946f232730066d6c8c25d5b41ffda7/recipes/kubel"; + sha256 = "1rm85bwpsqj600jvri508nn5i17ynyd84aanf8cqqxk5d2wf9x1n"; + name = "recipe"; + }; + packageRequires = [ emacs magit-popup ]; + meta = { + homepage = "https://melpa.org/#/kubel"; + license = lib.licenses.free; + }; + }) {}; kubernetes = callPackage ({ dash , emacs , fetchFromGitHub , fetchurl , lib , magit + , magit-popup , melpaBuild }: melpaBuild { pname = "kubernetes"; ename = "kubernetes"; - version = "20180706.520"; + version = "20190327.1744"; src = fetchFromGitHub { owner = "chrisbarrett"; repo = "kubernetes-el"; - rev = "2b5ce22b12bd8a569cb0a8019a395173e3a13523"; - sha256 = "19abr8q9mz3g5i0jb5j6p3jll93jrpvzgj14q2l81c4dng0yamdc"; + rev = "5839c89b7187573346813bc3dd6b43b5acdda7cb"; + sha256 = "0wmadjlrcnjv10cmxkmb02n3fvns7hghlk0zcpxjis2gfmng9px7"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/16850227ea48f6f38102b9cdf80e0758766a24d2/recipes/kubernetes"; sha256 = "06357a8y3rpvid03r9vhmjgq97hmiah5g8gff32dij9424vidil9"; name = "recipe"; }; - packageRequires = [ dash emacs magit ]; + packageRequires = [ dash emacs magit magit-popup ]; meta = { homepage = "https://melpa.org/#/kubernetes"; license = lib.licenses.free; @@ -54943,6 +58119,33 @@ license = lib.licenses.free; }; }) {}; + kubernetes-helm = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , yaml-mode }: + melpaBuild { + pname = "kubernetes-helm"; + ename = "kubernetes-helm"; + version = "20190131.1920"; + src = fetchFromGitHub { + owner = "abrochard"; + repo = "kubernetes-helm"; + rev = "1d50cb87600630e02bd52894a480627630084636"; + sha256 = "03z0mqg4lyvcnb33c1s3z9l0m47c1ahf45vaz80nh5sz3b4maii3"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/269c73e26b3d0cc51bbac8b63bb3782f7428ab40/recipes/kubernetes-helm"; + sha256 = "0rik7qz5m2hxylmdsjdnrlj52sm7c669milxxp5i1a1c44621xa6"; + name = "recipe"; + }; + packageRequires = [ emacs yaml-mode ]; + meta = { + homepage = "https://melpa.org/#/kubernetes-helm"; + license = lib.licenses.free; + }; + }) {}; kubernetes-tramp = callPackage ({ cl-lib ? null , emacs , fetchFromGitHub @@ -54952,12 +58155,12 @@ melpaBuild { pname = "kubernetes-tramp"; ename = "kubernetes-tramp"; - version = "20171026.922"; + version = "20181228.122"; src = fetchFromGitHub { owner = "gruggiero"; repo = "kubernetes-tramp"; - rev = "9fa84df71f6e88bc23a756cdf2df393a35aec945"; - sha256 = "1l1ibc97ahp3zwwypqfg3201qdxad4sdpdaq7nsfb87gh46vsbz8"; + rev = "8713571b66940f8f3f496b55baa23cdf1df7a869"; + sha256 = "05xbpdgxglqw7s2chay32s5kmglpd446dg3vh02d1462lh474snf"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8ea4b15e64a9dc33b9977650488693cacadd1ab1/recipes/kubernetes-tramp"; @@ -55047,6 +58250,32 @@ license = lib.licenses.free; }; }) {}; + lab-themes = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "lab-themes"; + ename = "lab-themes"; + version = "20190320.1127"; + src = fetchFromGitHub { + owner = "MetroWind"; + repo = "lab-theme"; + rev = "06b55ef3d82a8ad23189caf8de76ef81fc0aba31"; + sha256 = "0dgs2gp5q3hfp8j1gbdkf26jwjjw04ggx34zrv35wg8yr26ah440"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/c5817cb4cb3a573f93bacfb8ef340bef0e1c5df4/recipes/lab-themes"; + sha256 = "10gvrrbqp6rxc9kwk8315pa1ldmja42vwr31xskjaq0l4fd28kx0"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/lab-themes"; + license = lib.licenses.free; + }; + }) {}; labburn-theme = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -55072,6 +58301,32 @@ license = lib.licenses.free; }; }) {}; + lammps-mode = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "lammps-mode"; + ename = "lammps-mode"; + version = "20180801.619"; + src = fetchFromGitHub { + owner = "HaoZeke"; + repo = "lammps-mode"; + rev = "a5b68d7a59975770b56ee8f6e66fa4f703a72ffe"; + sha256 = "1ma33bszv7d6am47n5r74ja4ks7n46m8xfkkr3vcqymlfhbdpq73"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/8f5471a8e17977c17ad84b12a77fe80f37eda25e/recipes/lammps-mode"; + sha256 = "06i48pxp9vq4z7hffna0cndr6iblapim169659pmhidbc4pp7bm4"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/lammps-mode"; + license = lib.licenses.free; + }; + }) {}; lang-refactor-perl = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -55131,12 +58386,12 @@ melpaBuild { pname = "langtool"; ename = "langtool"; - version = "20180409.316"; + version = "20190303.1427"; src = fetchFromGitHub { owner = "mhayashi1120"; repo = "Emacs-langtool"; - rev = "d93286722cff3fecf8641a4a6c3b0691f30362fe"; - sha256 = "17xa055705n4jb7nafqvqgl0a6fdaxp3b3q8q0gsv5vzycsc74ga"; + rev = "81f2b8a07b29bbdd558db4b68dd904f4c0eb10a4"; + sha256 = "01w765n5bib060f0hci34f0vchf90b4r8gr1ng2c4yx20dvdjnqh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/503845e79e67c921f1fde31447f3dd4da2b6f993/recipes/langtool"; @@ -55176,6 +58431,33 @@ license = lib.licenses.free; }; }) {}; + language-id = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "language-id"; + ename = "language-id"; + version = "20190207.257"; + src = fetchFromGitHub { + owner = "lassik"; + repo = "emacs-language-id"; + rev = "9145c75eaa41a7a9deda928f704b99db056d3e9d"; + sha256 = "10dwrb610jdal6ifpj34mmy8qqbca2sgfmvn4p4qpcc967sv4f1r"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/d03af6375bc7ba4612c43dea805d7f392f046f87/recipes/language-id"; + sha256 = "0p7hg005bmzy38sv2881fq1x2i7yjdhfjbki4y2av485c418rqz8"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs ]; + meta = { + homepage = "https://melpa.org/#/language-id"; + license = lib.licenses.free; + }; + }) {}; lastpass = callPackage ({ cl-lib ? null , emacs , fetchFromGitHub @@ -55238,12 +58520,12 @@ melpaBuild { pname = "latex-math-preview"; ename = "latex-math-preview"; - version = "20170522.1455"; + version = "20190123.2"; src = fetchFromGitLab { owner = "latex-math-preview"; repo = "latex-math-preview"; - rev = "775887a89447dd19541b121161cc02e9799d0d3a"; - sha256 = "1mp6bpl8992pi40vs6b86q922h4z8879mrjalldv5dyz57ym5fsq"; + rev = "90fd86da2d9514882146a5db40cb916fc533cf55"; + sha256 = "063vnjhnxm2z9shkdv1j8kwyf37syczfkzxzh5z7w7aidvx55jzj"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9e413b7684e9199510b00035825aa861d670e072/recipes/latex-math-preview"; @@ -55287,12 +58569,12 @@ melpaBuild { pname = "latex-preview-pane"; ename = "latex-preview-pane"; - version = "20180222.951"; + version = "20181008.1122"; src = fetchFromGitHub { owner = "jsinglet"; repo = "latex-preview-pane"; - rev = "e7dbe0df3ca938128ab394cdf04f3e40eb5b139e"; - sha256 = "1i8mc2qdyyg04rm946vqmmw021c4v8aq7yvxsgl53mfbx9snm3dv"; + rev = "5297668a89996b50b2b62f99cba01cc544dbed2e"; + sha256 = "1m4f5p53275k8i9p0y105kkrp9nx1bwn6726my9s5dwnjhr5dnp2"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/bb3227f2e35d701915a8d3479d20581dcbe3a778/recipes/latex-preview-pane"; @@ -55494,12 +58776,12 @@ melpaBuild { pname = "lcr"; ename = "lcr"; - version = "20180414.1256"; + version = "20180902.1219"; src = fetchFromGitHub { owner = "jyp"; repo = "lcr"; - rev = "49a59d80a4b55cc421cb55430ff8258887382c3d"; - sha256 = "1fds0s0if9m155v5hk5l0ihc6wr331qif5bc013w04hrlkn4v5jh"; + rev = "c14f40692292d59156c7632dbdd2867c086aa75f"; + sha256 = "0mc55icihxqpf8b05990q1lc2nj2792wcgyr73xsiqx0963sjaj8"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/29374d3da932675b7b3e28ab8906690dad9c9cbe/recipes/lcr"; @@ -55525,12 +58807,12 @@ melpaBuild { pname = "lean-mode"; ename = "lean-mode"; - version = "20180712.57"; + version = "20180906.945"; src = fetchFromGitHub { owner = "leanprover"; repo = "lean-mode"; - rev = "529b8fa535cfa090a6b62566794161556ffade80"; - sha256 = "0gqwc65m42kkal390a7qx1r5b9ixsbg6avn8s35n5r1qf2w0qx5p"; + rev = "a9912c73387aa69183e12e4a5335128a7965c420"; + sha256 = "1w0cmircqnbi0qyi6sl3nnshjy2fdgaav88lj30g3qmnyiac1dnz"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/42f4d6438c8aeb94ebc1782f2f5e2abd17f0ffde/recipes/lean-mode"; @@ -55575,6 +58857,33 @@ license = lib.licenses.free; }; }) {}; + ledger-import = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , ledger-mode + , lib + , melpaBuild }: + melpaBuild { + pname = "ledger-import"; + ename = "ledger-import"; + version = "20190131.1205"; + src = fetchFromGitHub { + owner = "DamienCassou"; + repo = "ledger-import"; + rev = "2c199fcc8671c2ec82e62cea7716289426b7407c"; + sha256 = "0szi5k05qja28nx0rnl3amh3qf2f470sycdjgmpazgqh4zpkngsp"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/4a1e2a9546b8b40f5f880197cb8166a6a715451f/recipes/ledger-import"; + sha256 = "1lcibmjk2d49vsa89wri7bbf695mjq2ikddz3nlzb6ljywsnqzm4"; + name = "recipe"; + }; + packageRequires = [ emacs ledger-mode ]; + meta = { + homepage = "https://melpa.org/#/ledger-import"; + license = lib.licenses.free; + }; + }) {}; ledger-mode = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -55583,12 +58892,12 @@ melpaBuild { pname = "ledger-mode"; ename = "ledger-mode"; - version = "20180705.138"; + version = "20190317.912"; src = fetchFromGitHub { owner = "ledger"; repo = "ledger-mode"; - rev = "ac93ac5c36dd66fc97417697d92688c5e2570024"; - sha256 = "0yhr1d40wk2h514p6rjpnhvdxwjdbmr3bkh1wnc6pafpcryhydi1"; + rev = "c59bbfcc3274d113dec68121786546979f33dad0"; + sha256 = "0p7dp31jlia1qdz15lqqzaf8laa847qcsgn5p79nl82kbzkxvq13"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1549048b6f57fbe9d1f7fcda74b78a7294327b7b/recipes/ledger-mode"; @@ -55714,12 +59023,12 @@ melpaBuild { pname = "lentic"; ename = "lentic"; - version = "20161202.1352"; + version = "20190102.1324"; src = fetchFromGitHub { owner = "phillord"; repo = "lentic"; - rev = "c744f3d3be20ce2a9f25890db2b4500438dfa547"; - sha256 = "1rvjmn70ncrsv6rzxhjiplibf0ypkg0qlg21ra53bhvy6vlizdsi"; + rev = "90fb12acdfe9d6ace2c52c7557c91a66ce1448b5"; + sha256 = "09llb5cwmj5a934z2fn39yh7h5p26hcjpyjbxjn00x0hhqnw31v2"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cbb6f9cc3c1040b80fbf3f2df2ac2c3c8d18b6b1/recipes/lentic"; @@ -55842,12 +59151,12 @@ melpaBuild { pname = "leuven-theme"; ename = "leuven-theme"; - version = "20170919.252"; + version = "20190308.734"; src = fetchFromGitHub { owner = "fniessen"; repo = "emacs-leuven-theme"; - rev = "9d31a9d4ed763d6309e9d44985cd8b4a5a2fb500"; - sha256 = "0vr535a32cgkna0h1z8ac9cb4al3jb01bybn956rz51qdbzm2d1h"; + rev = "916c0f3b562b5b0e4f4294b83decda941fb183b1"; + sha256 = "1garn9rkn1jmv1w329qdw0mbn11j467kfp64902ncajl3590x2ly"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b09451f4eb2be820e94d3fecbf4ec7cecd2cabdc/recipes/leuven-theme"; @@ -55970,12 +59279,12 @@ melpaBuild { pname = "libgit"; ename = "libgit"; - version = "20180624.2359"; + version = "20190323.1055"; src = fetchFromGitHub { owner = "magit"; repo = "libegit2"; - rev = "5e8dedb8275d394ce423a73ce39934302fa84f50"; - sha256 = "1nr9h8qkkjv1r5jzyydxqmq02kxays1yqxlqd7s9968gqacyqkyv"; + rev = "f80d380156a1ba2a9caf7e964cb96acccde8b514"; + sha256 = "0azq7ni5z2fpl43s63zalnf2n3y55dsq4dp1v2yhq9j6sm5ds1di"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/993a5abe3a9e8b160f0d68283eeca6af033abc79/recipes/libgit"; @@ -56021,12 +59330,12 @@ melpaBuild { pname = "libmpdel"; ename = "libmpdel"; - version = "20180606.453"; + version = "20190124.614"; src = fetchFromGitHub { owner = "mpdel"; repo = "libmpdel"; - rev = "fcc719c2f23df4b5838eab76a40fef11055203de"; - sha256 = "0qw6rrb16bbhwg1gci4ymn2nshzf21lcf2nyphxbn4vcv400cw4k"; + rev = "a0100e020347ccc319ec18c687353dc521c64328"; + sha256 = "0vm4j5n2h74c0kyn61lx9fbxj39gvd22yh7a3grbcp1i94wkjm8x"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/bb25443752e18e47afc63d5497cc5052c388a607/recipes/libmpdel"; @@ -56099,12 +59408,12 @@ melpaBuild { pname = "line-reminder"; ename = "line-reminder"; - version = "20180602.2252"; + version = "20190407.809"; src = fetchFromGitHub { owner = "jcs090218"; repo = "line-reminder"; - rev = "0db41599b7663c4c8257aaf733323e84e95ef042"; - sha256 = "09pzynms4m4m54fk2ci1wizkgrqkgh4mqyrj9wzpwpkdik7zvr7b"; + rev = "9de2c301f433453dc0ff06e7c78f580dd6f5314f"; + sha256 = "1cza4bi1plw3r4j2bxkm4w57db9nxvcf3p8xfvicipsv556k934r"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/456f760f7f7d4151e18f08b2f1154c5880423b21/recipes/line-reminder"; @@ -56193,6 +59502,31 @@ license = lib.licenses.free; }; }) {}; + linguistic = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "linguistic"; + ename = "linguistic"; + version = "20181129.1316"; + src = fetchFromGitHub { + owner = "andcarnivorous"; + repo = "linguistic"; + rev = "23e47e98cdb09ee61883669b6d8a11bf6449862c"; + sha256 = "1bz2w43v1w5xlkbmhmb423nisyhja6qkgwhl68r5vjxqj1gxn2xj"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/aedc03a846b873edf2426c422abb8c75732158f8/recipes/linguistic"; + sha256 = "0yhyrr7yknvky6fb6js0lfxbl13i6a218kya7cpj2dpzdckcbhca"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/linguistic"; + license = lib.licenses.free; + }; + }) {}; link = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -56228,12 +59562,12 @@ melpaBuild { pname = "link-hint"; ename = "link-hint"; - version = "20180519.1430"; + version = "20190312.1604"; src = fetchFromGitHub { owner = "noctuid"; repo = "link-hint.el"; - rev = "23df5fa36ab182452be6b772475eab67b846dd92"; - sha256 = "0b7i2jasc5bsphix9fhvmi3ddj42f5n5liczrrfv4p9k14px3b10"; + rev = "d74a483652486260c052941fedeadddb1ea71f88"; + sha256 = "0dghxd165fbds6czy9bfwpid3i4irgp3q08n9mg57sfifi0cmij0"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d24b48fe0bc127ae6ac4084be8059aacb8445afd/recipes/link-hint"; @@ -56393,12 +59727,12 @@ melpaBuild { pname = "lisp-extra-font-lock"; ename = "lisp-extra-font-lock"; - version = "20160930.1227"; + version = "20181008.1221"; src = fetchFromGitHub { owner = "Lindydancer"; repo = "lisp-extra-font-lock"; - rev = "092f5a6e75ddfc8051b252f10e182723a17980e4"; - sha256 = "0cdjgnh2hzwpim4vl2siykfsfni1z5h45vn5dcm52yx8p10s7mzd"; + rev = "4605eccbe1a7fcbd3cacf5b71249435413b4db4f"; + sha256 = "152vcp3mdlv33jf5va4rinl1d0k960gnfhbrqqrafazgx9j3ya8w"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/13e01d4faf9ecb4dde8b6eb4acdb0e48e3e5b6ea/recipes/lisp-extra-font-lock"; @@ -56449,12 +59783,12 @@ melpaBuild { pname = "lispy"; ename = "lispy"; - version = "20180716.839"; + version = "20190404.822"; src = fetchFromGitHub { owner = "abo-abo"; repo = "lispy"; - rev = "a8b0e0afb73b7687cae370fc84384db65bd73fca"; - sha256 = "0y9k91gabgab7fwml4grhna2vzfwbxl9l1n58f5nl9xhia6zfqzi"; + rev = "18557185e2ed71502fd96ee7a176ddec7df2e626"; + sha256 = "13vnaqv4r50bjlyppxapg8pp6mc4ql0c5g2xkmmfklqagy2lja65"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e23c062ff32d7aeae486c01e29c56a74727dcf1d/recipes/lispy"; @@ -56503,12 +59837,12 @@ melpaBuild { pname = "lispyville"; ename = "lispyville"; - version = "20180704.458"; + version = "20181217.647"; src = fetchFromGitHub { owner = "noctuid"; repo = "lispyville"; - rev = "aea9df65cc0916789e20c0eb7575624a19388bee"; - sha256 = "05maf5aacjfiap7fyl7mnx1chbs6k30cl1k5af6ar45lhvg7srva"; + rev = "d28b937f0cabd8ce61e2020fe9a733ca80d82c74"; + sha256 = "0f6srwj1qqkfkbmp5n5pjvi6gm7b7xav05p5hrs2i83rjrakzzqx"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b5d96d3603dc328467fcce29d3ac1b0a02833d51/recipes/lispyville"; @@ -56574,7 +59908,7 @@ license = lib.licenses.free; }; }) {}; - list-unicode-display = callPackage ({ cl-lib ? null + list-unicode-display = callPackage ({ emacs , fetchFromGitHub , fetchurl , lib @@ -56582,19 +59916,19 @@ melpaBuild { pname = "list-unicode-display"; ename = "list-unicode-display"; - version = "20150219.101"; + version = "20181121.1516"; src = fetchFromGitHub { owner = "purcell"; repo = "list-unicode-display"; - rev = "59770cf3572bd36c3e9ba044846dc420c0dca09b"; - sha256 = "05nn4db8s8h4mn3fxhwsa111ayvlq1raf6bifh7jciyw7a2c3aww"; + rev = "62fbf84dbf0b9a4cbbbeede69d5392fe2774391b"; + sha256 = "0397inzyqssy8j1yz1j5mgjnwyx559f82hy4w8kz1hv3mhih8lp0"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0c8e2a974a56665b97d7622b0428994edadc88a0/recipes/list-unicode-display"; sha256 = "01x9i5k5vhjscmkx0l6r27w1cdp9n6xk1pdjf98z3y88dnsmyfha"; name = "recipe"; }; - packageRequires = [ cl-lib ]; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/list-unicode-display"; license = lib.licenses.free; @@ -56755,6 +60089,33 @@ license = lib.licenses.free; }; }) {}; + literate-elisp = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "literate-elisp"; + ename = "literate-elisp"; + version = "20190109.521"; + src = fetchFromGitHub { + owner = "jingtaozf"; + repo = "literate-elisp"; + rev = "0724b62d98cb9d9c7f3d171c322a1059648746f5"; + sha256 = "0nnfp8rj4avn462w3fwln8c7sai3psz7kp97r3iyq4v9wavgdni2"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/fd4c1c4da2a5571babda9a29a56b8972ad0687c0/recipes/literate-elisp"; + sha256 = "10vc3m54jp2wqjrmn9plq6lb5zfiy6jy0acpp09q3z325z0sql9j"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs ]; + meta = { + homepage = "https://melpa.org/#/literate-elisp"; + license = lib.licenses.free; + }; + }) {}; literate-starter-kit = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -56791,12 +60152,12 @@ melpaBuild { pname = "live-code-talks"; ename = "live-code-talks"; - version = "20150115.1423"; + version = "20180907.947"; src = fetchFromGitHub { owner = "david-christiansen"; repo = "live-code-talks"; - rev = "fece58108939a53104f88d348298c9e122f25b75"; - sha256 = "1j0qa96vlsqybhp0082a466qb1hd2b0621306brl9pfl5srf5jsj"; + rev = "97f16a9ee4e6ff3e0f9291eaead772c66e3e12ae"; + sha256 = "1clcm1yps38wdyj415hh7bl20fcpfin92hh5njsldqbvgcpndaqi"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/live-code-talks"; @@ -56817,12 +60178,12 @@ melpaBuild { pname = "live-py-mode"; ename = "live-py-mode"; - version = "20180330.1758"; + version = "20190330.1041"; src = fetchFromGitHub { owner = "donkirkby"; repo = "live-py-plugin"; - rev = "ab2f9bea32dbad11a6464a4880e5487645a0f65a"; - sha256 = "0w3kpszsrh0gj0a62iqhnhm3flmmgq0pl0d6w5r61mvlq9wck5dv"; + rev = "63140187ba2b68c2c55d91aa7a07b5c5d15422d9"; + sha256 = "0arhhl684p0nhxhc53sbhcc1rmv3v107s5j0ymwnfa4rnyahz2ii"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c7615237e80b46b5c50cb51a3ed5b07d92566fb7/recipes/live-py-mode"; @@ -56947,11 +60308,11 @@ melpaBuild { pname = "lms"; ename = "lms"; - version = "20170804.922"; + version = "20181216.1446"; src = fetchhg { url = "https://bitbucket.com/inigoserna/lms.el"; - rev = "f07ac3678e27"; - sha256 = "15l3nfrddblfzqxgvf0dmmsk4h5l80l6r2kgxcfk8s01msjka3sl"; + rev = "38302acf2aa3"; + sha256 = "0da14qr7lgkfxksnhf37ss5w6wxkw9qv5hvxk7z76jyzwqdc6w4x"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b8be8497494b8543a8257c9ea92444baf7674951/recipes/lms"; @@ -56964,6 +60325,33 @@ license = lib.licenses.free; }; }) {}; + load-bash-alias = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , seq }: + melpaBuild { + pname = "load-bash-alias"; + ename = "load-bash-alias"; + version = "20181220.955"; + src = fetchFromGitHub { + owner = "daviderestivo"; + repo = "load-bash-alias"; + rev = "50df445bace7896318f10c58d26b673635704215"; + sha256 = "0m84ylx4j4bp898xc43yrkrk3csr2ppv3c51nirx5gdc5hnhykxj"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/063fa99446bb54fadbbad1af90427462afe8bd8d/recipes/load-bash-alias"; + sha256 = "1maq7wykhn3cvxl8fiws3d2d63zlkzgpd3d9jz3rhyi9rcjcjzak"; + name = "recipe"; + }; + packageRequires = [ emacs seq ]; + meta = { + homepage = "https://melpa.org/#/load-bash-alias"; + license = lib.licenses.free; + }; + }) {}; load-env-vars = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -57073,12 +60461,12 @@ melpaBuild { pname = "loccur"; ename = "loccur"; - version = "20161227.251"; + version = "20181203.1238"; src = fetchFromGitHub { owner = "fourier"; repo = "loccur"; - rev = "650d91dda0d313c8f445a0803c07809d857dee0f"; - sha256 = "09xc2207dhlbw0x9pks2gay09adzijzcabdwg55iszrs7pxjjfa0"; + rev = "194d70e6be82c4622b7460ca46ced38109ac0507"; + sha256 = "136ixa0w94imwacdjispcn81v5i7pb0qqzy6bzgjw2cr9z9539bx"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/72550b043794331e85bc4b124f6d8ab70d969eff/recipes/loccur"; @@ -57252,11 +60640,11 @@ melpaBuild { pname = "lognav-mode"; ename = "lognav-mode"; - version = "20180708.322"; + version = "20190217.832"; src = fetchhg { url = "https://bitbucket.com/ellisvelo/lognav-mode"; - rev = "73aba5c1b9c6"; - sha256 = "0bshlkxzb1wbvm5fpsmqd51z4y1nfqkh802ddd8pfs5k22lv21sk"; + rev = "bec9f3eba66e"; + sha256 = "19axhlcny5i4hfrhxivalxrhpghy2czj92cflq0gb5b6ar6zgkyg"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ad86b93f4982a0c6291c771e12c8f42ace3b88f9/recipes/lognav-mode"; @@ -57320,6 +60708,7 @@ }) {}; logview = callPackage ({ datetime , emacs + , extmap , fetchFromGitHub , fetchurl , lib @@ -57327,19 +60716,19 @@ melpaBuild { pname = "logview"; ename = "logview"; - version = "20180522.1054"; + version = "20181027.1057"; src = fetchFromGitHub { owner = "doublep"; repo = "logview"; - rev = "902c881f5e1ca802761b856b3945bd418847dd79"; - sha256 = "1df41wabldg1ahcbqi5szwml5hqdjm6p3hj5b8ajkkagykrnh8xg"; + rev = "bd662d467dbd7c93cfe1e3058e4f11c49314fd6a"; + sha256 = "03s4q5xdz84cjn4qkfhsc3l9y3v5avrl2i5dby4bgsg2zj7n7f73"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1df3c11ed7738f32e6ae457647e62847701c8b19/recipes/logview"; sha256 = "0gks3j5avx8k3427a36lv7gr95id3cylaamgn5qwbg14s54y0vsh"; name = "recipe"; }; - packageRequires = [ datetime emacs ]; + packageRequires = [ datetime emacs extmap ]; meta = { homepage = "https://melpa.org/#/logview"; license = lib.licenses.free; @@ -57497,55 +60886,30 @@ license = lib.licenses.free; }; }) {}; - lsp-go = callPackage ({ fetchFromGitHub - , fetchurl - , lib - , lsp-mode - , melpaBuild }: - melpaBuild { - pname = "lsp-go"; - ename = "lsp-go"; - version = "20180630.1101"; - src = fetchFromGitHub { - owner = "emacs-lsp"; - repo = "lsp-go"; - rev = "0d354e1682fe1db074a924d7812f6ea62048d73d"; - sha256 = "0rk1brvy9hmjwykzf3pgli7h5gp3m6ra4yspv0rknbd2drzw4r94"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/1a7b69312e688211089a23b75910c05efb507e35/recipes/lsp-go"; - sha256 = "1yg21qqlf8ma734vaz6xrfym2058gvx7llsqy94fbbg1fg61c32c"; - name = "recipe"; - }; - packageRequires = [ lsp-mode ]; - meta = { - homepage = "https://melpa.org/#/lsp-go"; - license = lib.licenses.free; - }; - }) {}; - lsp-hack = callPackage ({ fetchFromGitHub - , fetchurl - , lib - , lsp-mode - , melpaBuild }: + lsp-elixir = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , lsp-mode + , melpaBuild }: melpaBuild { - pname = "lsp-hack"; - ename = "lsp-hack"; - version = "20180703.1837"; + pname = "lsp-elixir"; + ename = "lsp-elixir"; + version = "20190105.1259"; src = fetchFromGitHub { - owner = "jra3"; - repo = "lsp-hack"; - rev = "a3b6725dc7b16246d71a7d4ddbddd0fec1a009eb"; - sha256 = "1amkdlc0dpxv953f8v7l5i3a54gm6nxrdmrizkgc28plbvcpqdqy"; + owner = "elixir-lsp"; + repo = "lsp-elixir.el"; + rev = "9fd091c092144a09c0df2d477257c1f4c37bb985"; + sha256 = "0m5hxlx0cnx4rdcz5chxqp074z9h1wj1nvg8dzmilsnmg3kmsshx"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/a70d8442c653554d28dc87425913424ab42ab5c8/recipes/lsp-hack"; - sha256 = "1xfvk4hqs748b9dm8dirb2mdpnhq9mybgsbcj258yydr57d9zijs"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/c875a05e68d09ecf37f7e13149f2624c70164ea3/recipes/lsp-elixir"; + sha256 = "0mimb67swcq2yis0s6w2bkk7sgqv7lyvz1hrh48h2q6qr3ywmq0n"; name = "recipe"; }; - packageRequires = [ lsp-mode ]; + packageRequires = [ emacs lsp-mode ]; meta = { - homepage = "https://melpa.org/#/lsp-hack"; + homepage = "https://melpa.org/#/lsp-elixir"; license = lib.licenses.free; }; }) {}; @@ -57558,12 +60922,12 @@ melpaBuild { pname = "lsp-haskell"; ename = "lsp-haskell"; - version = "20180131.459"; + version = "20190328.2248"; src = fetchFromGitHub { owner = "emacs-lsp"; repo = "lsp-haskell"; - rev = "bd7d0a4c3b54dbaa4c89b80f4f0268d717b4dd6f"; - sha256 = "13dp655kdi6z6s9is0q1qf6yvmfxzv7bjjlhp2f7bjiv2jh5yzyv"; + rev = "33e3ac438338b0a78971cd26aa919482d290c51b"; + sha256 = "1ihc6djxsdrd0q9f79bs0qwxxhw3bnw1kxw2rq92drfnypqbiqcq"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1a7b69312e688211089a23b75910c05efb507e35/recipes/lsp-haskell"; @@ -57576,32 +60940,6 @@ license = lib.licenses.free; }; }) {}; - lsp-html = callPackage ({ fetchFromGitHub - , fetchurl - , lib - , lsp-mode - , melpaBuild }: - melpaBuild { - pname = "lsp-html"; - ename = "lsp-html"; - version = "20180629.25"; - src = fetchFromGitHub { - owner = "emacs-lsp"; - repo = "lsp-html"; - rev = "478927767c3c2bd06b052807126e5d48be53755a"; - sha256 = "0833mrmbhfzm2xhf91wl7bp4h54h2qaxy4lidy05ngm407wbjypd"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/204acff0d1a8c6dc79ef34cc464435a1504d7c15/recipes/lsp-html"; - sha256 = "0fd53k8spfm2s618gvchr0jsbc0a0varklc05cdjvjxyxk04ssmc"; - name = "recipe"; - }; - packageRequires = [ lsp-mode ]; - meta = { - homepage = "https://melpa.org/#/lsp-html"; - license = lib.licenses.free; - }; - }) {}; lsp-intellij = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -57611,12 +60949,12 @@ melpaBuild { pname = "lsp-intellij"; ename = "lsp-intellij"; - version = "20180621.1131"; + version = "20180831.1351"; src = fetchFromGitHub { owner = "Ruin0x11"; repo = "lsp-intellij"; - rev = "0911f703ac50164a702b6ee213173e763eda3094"; - sha256 = "1nc4bi6annxd4i94wznh28di3pvq73yvz3g4nhs1l95jczl13rpj"; + rev = "cf30f0ac63bd0140e758840b8ab070e8313697b2"; + sha256 = "0ghw2as9fbnfhrr1nbqk97jcl7yb451xpmfbksxh7mvjm3lhmyvz"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9d72cbb85fe4e0c6bea9a704dc1545f88efa56d2/recipes/lsp-intellij"; @@ -57629,28 +60967,43 @@ license = lib.licenses.free; }; }) {}; - lsp-java = callPackage ({ emacs + lsp-java = callPackage ({ dash + , dash-functional + , emacs + , f , fetchFromGitHub , fetchurl + , ht , lib , lsp-mode - , melpaBuild }: + , markdown-mode + , melpaBuild + , request }: melpaBuild { pname = "lsp-java"; ename = "lsp-java"; - version = "20180701.111"; + version = "20190405.1133"; src = fetchFromGitHub { owner = "emacs-lsp"; repo = "lsp-java"; - rev = "b3d671ccc264b32492e30f48b4d5a52f6b88145d"; - sha256 = "17dqz2fmsczl46vq6id9918hxy5b332lncgwzrzjbbpqi3ysa1s3"; + rev = "311a0747e6d54acf1b9b14d5c1f967e6fcbb97c5"; + sha256 = "0p0j2rb44f4v3mnhs3633xwprxa3ya6i7bzdvrz8r89ccrv3zmig"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/1a7b69312e688211089a23b75910c05efb507e35/recipes/lsp-java"; - sha256 = "1y5wxggkr7v4a2a3h2n01911gd1xv047dikbvyy1gappf05fdngj"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/c03cb07862c5f35487fb4fb3cc44623774724717/recipes/lsp-java"; + sha256 = "0rrl9mh25w1avvyww840d3yh8nw0shirspxl2nxqwwdaymbkg2wr"; name = "recipe"; }; - packageRequires = [ emacs lsp-mode ]; + packageRequires = [ + dash + dash-functional + emacs + f + ht + lsp-mode + markdown-mode + request + ]; meta = { homepage = "https://melpa.org/#/lsp-java"; license = lib.licenses.free; @@ -57666,12 +61019,12 @@ melpaBuild { pname = "lsp-javacomp"; ename = "lsp-javacomp"; - version = "20180218.2334"; + version = "20190124.955"; src = fetchFromGitHub { owner = "tigersoldier"; repo = "lsp-javacomp"; - rev = "4423fc41974e25ddf4a46fb13bd64680d52b420a"; - sha256 = "1k66h5l52al3glsz261j2lcfl8pddxh55m8slr9p1kaxzr67fl6a"; + rev = "82aa4ad6ca03a74565c35e855b318b1887bcd89b"; + sha256 = "0r0ig73hsa0gyx8s6hr1mbdgf9m1n2zh2v7yhq3405l4if08s5m6"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6b8a1c034554579a7e271409fa72020cfe441f68/recipes/lsp-javacomp"; @@ -57684,222 +61037,147 @@ license = lib.licenses.free; }; }) {}; - lsp-javascript-flow = callPackage ({ emacs - , fetchFromGitHub - , fetchurl - , lib - , lsp-mode - , melpaBuild }: - melpaBuild { - pname = "lsp-javascript-flow"; - ename = "lsp-javascript-flow"; - version = "20180612.2208"; - src = fetchFromGitHub { - owner = "emacs-lsp"; - repo = "lsp-javascript"; - rev = "b9873765270ac5c76013efe6fae0beb60f55f85c"; - sha256 = "1cpwivz6cy9rs5s3723j0y3wf6bhr4avazdyl1f2gv3xiwr0gbns"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/f9a28de5ce89080ba224e07734b3ba0b0992acd6/recipes/lsp-javascript-flow"; - sha256 = "1bydgcmgzbx2pqna19h1avrlrlfv6gvsii1n839q4bhiwn3452f7"; - name = "recipe"; - }; - packageRequires = [ emacs lsp-mode ]; - meta = { - homepage = "https://melpa.org/#/lsp-javascript-flow"; - license = lib.licenses.free; - }; - }) {}; - lsp-javascript-typescript = callPackage ({ emacs - , fetchFromGitHub - , fetchurl - , lib - , lsp-mode - , melpaBuild - , typescript-mode }: - melpaBuild { - pname = "lsp-javascript-typescript"; - ename = "lsp-javascript-typescript"; - version = "20180614.1311"; - src = fetchFromGitHub { - owner = "emacs-lsp"; - repo = "lsp-javascript"; - rev = "7e7c5f66b02321f402712841064347cb872c41e4"; - sha256 = "1ilhnbdvfjanv0cjwk289dq1whpf69qzw0hh9ak37gbi4pqvsbdv"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/97b6ddeb34297aacfefdd4c227ad520b70a12bc6/recipes/lsp-javascript-typescript"; - sha256 = "01i6dimwz5s143cbcfi2rflfgkj569avx103wnlbcfd87apj7813"; - name = "recipe"; - }; - packageRequires = [ emacs lsp-mode typescript-mode ]; - meta = { - homepage = "https://melpa.org/#/lsp-javascript-typescript"; - license = lib.licenses.free; - }; - }) {}; - lsp-mode = callPackage ({ emacs + lsp-mode = callPackage ({ dash + , dash-functional + , emacs + , f , fetchFromGitHub , fetchurl + , ht , lib - , melpaBuild }: + , melpaBuild + , spinner }: melpaBuild { pname = "lsp-mode"; ename = "lsp-mode"; - version = "20180708.1914"; + version = "20190407.1213"; src = fetchFromGitHub { owner = "emacs-lsp"; repo = "lsp-mode"; - rev = "5ea5c6398a923e24c4fedf6d782004b4dc4cb254"; - sha256 = "1pn9lnd8r4zl35hqwi00qcsb6v6aj533hbm7faj1d3nndlf2qmbh"; + rev = "ab418329df23590212ecfee313791c6c551223e1"; + sha256 = "0pwfpcdn2ijvpsm3i2kgk6r8m9f297xsvlz5x1fa57b4002j8vzl"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1a7b69312e688211089a23b75910c05efb507e35/recipes/lsp-mode"; sha256 = "0cklwllqxzsvs4wvvvsc1pqpmp9w99m8wimpby6v6wlijfg6y1m9"; name = "recipe"; }; - packageRequires = [ emacs ]; + packageRequires = [ dash dash-functional emacs f ht spinner ]; meta = { homepage = "https://melpa.org/#/lsp-mode"; license = lib.licenses.free; }; }) {}; - lsp-ocaml = callPackage ({ emacs - , fetchFromGitHub - , fetchurl - , lib - , lsp-mode - , melpaBuild }: - melpaBuild { - pname = "lsp-ocaml"; - ename = "lsp-ocaml"; - version = "20180610.1154"; - src = fetchFromGitHub { - owner = "emacs-lsp"; - repo = "lsp-ocaml"; - rev = "5a8c776b6d75b502703243b3d628fccd813481b0"; - sha256 = "1431f8r8c4h8jbghggk1s2bwqr1qlxys3d52xsvf35bbk1gki5an"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/7be2d7a7af3d744c531e5e018d791bf2566df428/recipes/lsp-ocaml"; - sha256 = "17334qcgqrz4jd5npizyq20fmxy07z2p3pq98s5np2kc4h9ara33"; - name = "recipe"; - }; - packageRequires = [ emacs lsp-mode ]; - meta = { - homepage = "https://melpa.org/#/lsp-ocaml"; - license = lib.licenses.free; - }; - }) {}; - lsp-php = callPackage ({ emacs - , fetchFromGitHub - , fetchurl - , lib - , lsp-mode - , melpaBuild }: + lsp-p4 = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , lsp-mode + , melpaBuild }: melpaBuild { - pname = "lsp-php"; - ename = "lsp-php"; - version = "20180331.944"; + pname = "lsp-p4"; + ename = "lsp-p4"; + version = "20190127.249"; src = fetchFromGitHub { - owner = "emacs-lsp"; - repo = "lsp-php"; - rev = "3189a13c605e1615b7ce2cd12f09c1ed92a88178"; - sha256 = "1kv708yrx57j0cvz9vcam4rwfincgbbr7rdbxdmnfmwnx4ylgckg"; + owner = "dmakarov"; + repo = "p4ls"; + rev = "084e33a5782f9153502d9b03e63d9cbbe81cdaeb"; + sha256 = "0id3rw2p35cs7ax85590qs16zybgrjcapsnly5ifzjk0a5k7548c"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/9fda03716433077e440c0fb8357207f7a348552c/recipes/lsp-php"; - sha256 = "0ds3hivkb7zxkz6crn6h9apvavvm899vwq4mkav4cbijsl4q33l0"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/53f0da8b3d2903adeffdbc3d8df7d630bfd9ff71/recipes/lsp-p4"; + sha256 = "0cd3n17lqwz08zfkm9g5cr1cj2asznlbhxrym2a7b7shdmn3yx5f"; name = "recipe"; }; - packageRequires = [ emacs lsp-mode ]; + packageRequires = [ lsp-mode ]; meta = { - homepage = "https://melpa.org/#/lsp-php"; + homepage = "https://melpa.org/#/lsp-p4"; license = lib.licenses.free; }; }) {}; - lsp-python = callPackage ({ fetchFromGitHub - , fetchurl - , lib - , lsp-mode - , melpaBuild }: + lsp-scala = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , lsp-mode + , melpaBuild + , sbt-mode }: melpaBuild { - pname = "lsp-python"; - ename = "lsp-python"; - version = "20180609.16"; + pname = "lsp-scala"; + ename = "lsp-scala"; + version = "20190116.1332"; src = fetchFromGitHub { - owner = "emacs-lsp"; - repo = "lsp-python"; - rev = "28a3ad4e98af5ede860ef4c2fe47048ce676559b"; - sha256 = "0y8cglfmjn4j1apyjr66vpqln3rzqdkada3ggxlap4iirgb5iqgf"; + owner = "rossabaker"; + repo = "lsp-scala"; + rev = "b68820cc7aaa9c4f818c4f7999188c20655c3be3"; + sha256 = "1zq2kjsdf88wi4i2my14hw8am9q5dpyfryak1mvp2hpy661hmy7k"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/1a7b69312e688211089a23b75910c05efb507e35/recipes/lsp-python"; - sha256 = "0x8cyvkwp4znliiwf3qfrhnk80h8n1jfyyq0n5yfccsgk7gpm8qx"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/fd494da0c0c2e2e58afc26d8e79aeeea41c6ee09/recipes/lsp-scala"; + sha256 = "1r8ha0q9gphcs6ihqswgvbhs9b6v6n1pvlqxwjnjwpdhsr5fsw1p"; name = "recipe"; }; - packageRequires = [ lsp-mode ]; + packageRequires = [ emacs lsp-mode sbt-mode ]; meta = { - homepage = "https://melpa.org/#/lsp-python"; + homepage = "https://melpa.org/#/lsp-scala"; license = lib.licenses.free; }; }) {}; - lsp-rust = callPackage ({ dash - , emacs - , fetchFromGitHub - , fetchurl - , lib - , lsp-mode - , markdown-mode - , melpaBuild - , rust-mode }: + lsp-sourcekit = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , lsp-mode + , melpaBuild }: melpaBuild { - pname = "lsp-rust"; - ename = "lsp-rust"; - version = "20180305.508"; + pname = "lsp-sourcekit"; + ename = "lsp-sourcekit"; + version = "20181216.650"; src = fetchFromGitHub { owner = "emacs-lsp"; - repo = "lsp-rust"; - rev = "ecc889cc8735b280e0e6e84d2f4526b0048148b3"; - sha256 = "0wmci5lij5721xpfsj3mnvr3z1j8b9s0w76dhzd0lnyaknvyv1rs"; + repo = "lsp-sourcekit"; + rev = "99cac71aba68b2ae85c9295d71dda8bc513a85e2"; + sha256 = "0z2yj04if4dhqq2c7am5kzdapaj4l3k0blmy1cp55pr0fkhn8mpj"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/1a7b69312e688211089a23b75910c05efb507e35/recipes/lsp-rust"; - sha256 = "0p86223pfpi4hh8m66ccksxgl0yi7zrigd1gmbz0bzqa6yjgbp28"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/a1e15078916dc053ca2413a6afae51df22321e9e/recipes/lsp-sourcekit"; + sha256 = "1n3lkpyk2mb8a5qc2h00d6dgbp4ws8pwzqljplnnm35sqg6an76k"; name = "recipe"; }; - packageRequires = [ dash emacs lsp-mode markdown-mode rust-mode ]; + packageRequires = [ emacs lsp-mode ]; meta = { - homepage = "https://melpa.org/#/lsp-rust"; + homepage = "https://melpa.org/#/lsp-sourcekit"; license = lib.licenses.free; }; }) {}; - lsp-typescript = callPackage ({ emacs - , fetchFromGitHub - , fetchurl - , lib - , lsp-mode - , melpaBuild - , typescript-mode }: + lsp-treemacs = callPackage ({ dash + , dash-functional + , emacs + , f + , fetchFromGitHub + , fetchurl + , ht + , lib + , lsp-mode + , melpaBuild + , treemacs }: melpaBuild { - pname = "lsp-typescript"; - ename = "lsp-typescript"; - version = "20180614.1311"; + pname = "lsp-treemacs"; + ename = "lsp-treemacs"; + version = "20190328.2351"; src = fetchFromGitHub { owner = "emacs-lsp"; - repo = "lsp-javascript"; - rev = "7e7c5f66b02321f402712841064347cb872c41e4"; - sha256 = "1ilhnbdvfjanv0cjwk289dq1whpf69qzw0hh9ak37gbi4pqvsbdv"; + repo = "lsp-treemacs"; + rev = "5b3f0d3242b272cc31b7620766ff7a7a3d997f20"; + sha256 = "1q7qn1m4qy70qghiq3ac3ri69hq3g0kfxp4sf3bzssh9v2yvxwcl"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/e7903d6b51132c0d8ad209f13ffe915c1bc5a76d/recipes/lsp-typescript"; - sha256 = "1d1yrcgg1bdsikcb2j8cayhlh9hdnna3rc1pphq0kn81gk0rgbrq"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/b9996b16461fe7c16b315ef30aa6b75c724f8fef/recipes/lsp-treemacs"; + sha256 = "1lgpph7mp4mhvg47fnl7janw2nh8wv1bwap69spgc3qprwbg2hd1"; name = "recipe"; }; - packageRequires = [ emacs lsp-mode typescript-mode ]; + packageRequires = [ dash dash-functional emacs f ht lsp-mode treemacs ]; meta = { - homepage = "https://melpa.org/#/lsp-typescript"; + homepage = "https://melpa.org/#/lsp-treemacs"; license = lib.licenses.free; }; }) {}; @@ -57908,7 +61186,6 @@ , emacs , fetchFromGitHub , fetchurl - , flycheck , lib , lsp-mode , markdown-mode @@ -57916,58 +61193,24 @@ melpaBuild { pname = "lsp-ui"; ename = "lsp-ui"; - version = "20180618.1951"; + version = "20190328.2057"; src = fetchFromGitHub { owner = "emacs-lsp"; repo = "lsp-ui"; - rev = "bd5970edae874338bd01d0bc50c4671ea4cae390"; - sha256 = "0s5an922wfias2n0h5jqa2n4mxvrfg6sav470him4dbwqqrgx5ck"; + rev = "d4088c7471bdb3ba95f2fb0b60277ad95b34a25f"; + sha256 = "0xmfxv68s0m0pwlbs05vx3y94pdwfyswqpzzji714nqzx1ixfqyb"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/1e4fa7cdf71f49f6998b26d81de9522248bc58e6/recipes/lsp-ui"; - sha256 = "00y5i44yd79z0v00a9lvgixb4mrx9nq5vcgmib70h41ffffaq42j"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/b7c78c9b07ede9949d14df74b188d4c1a3365196/recipes/lsp-ui"; + sha256 = "0fylav8b54g020z039zm1mx26d257715bfn9nnpw9i0b97539lqi"; name = "recipe"; }; - packageRequires = [ - dash - dash-functional - emacs - flycheck - lsp-mode - markdown-mode - ]; + packageRequires = [ dash dash-functional emacs lsp-mode markdown-mode ]; meta = { homepage = "https://melpa.org/#/lsp-ui"; license = lib.licenses.free; }; }) {}; - lsp-vue = callPackage ({ emacs - , fetchFromGitHub - , fetchurl - , lib - , lsp-mode - , melpaBuild }: - melpaBuild { - pname = "lsp-vue"; - ename = "lsp-vue"; - version = "20180628.15"; - src = fetchFromGitHub { - owner = "emacs-lsp"; - repo = "lsp-vue"; - rev = "3c3f364f70d300101a37a239a6bf8c382176f238"; - sha256 = "0m5bi99y02jvjv25jpm5sj50x4k75md9p6qqq5bzsdj3b07d2gxx"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/0d9eb7699630fd7e11f38b4ba278a497633c9733/recipes/lsp-vue"; - sha256 = "1df3dva31livffy9bzassgqpps3bf9nbqmhngzh8bnhjvvrbj5ic"; - name = "recipe"; - }; - packageRequires = [ emacs lsp-mode ]; - meta = { - homepage = "https://melpa.org/#/lsp-vue"; - license = lib.licenses.free; - }; - }) {}; lua-mode = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -57975,12 +61218,12 @@ melpaBuild { pname = "lua-mode"; ename = "lua-mode"; - version = "20180323.321"; + version = "20190113.250"; src = fetchFromGitHub { owner = "immerrr"; repo = "lua-mode"; - rev = "99312b8d6c500ba3067da6d81efcfbbea05a1cbd"; - sha256 = "04m9njcpdmar3njjz4x2qq26xk0k6qprcfzx8whlmvapqf8w19iz"; + rev = "95c64bb5634035630e8c59d10d4a1d1003265743"; + sha256 = "0cawb544qylifkvqads307n0nfqg7lvyphqbpbzr2xvr5iyi4901"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ca7bf43ef8893bf04e9658390e306ef69e80a156/recipes/lua-mode"; @@ -58028,12 +61271,12 @@ melpaBuild { pname = "lush-theme"; ename = "lush-theme"; - version = "20141107.806"; + version = "20180816.1500"; src = fetchFromGitHub { owner = "andre-richter"; repo = "emacs-lush-theme"; - rev = "fd69cf6e254b329d7997acd37fe04c17139f3435"; - sha256 = "0gcyxvkpfi1vsa7gyx13rb29x86j2i2nnqldli1sna4v87jw288g"; + rev = "7cfc993709d712f75c51b505078608c9e1c11466"; + sha256 = "0v17srm3l8p556d4j5im2bn7brxv7v0g2crlm4gb8x1cwjrbajzf"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8b29b2f36852e711ce3520d71e83921a1dcb9ccf/recipes/lush-theme"; @@ -58078,12 +61321,12 @@ melpaBuild { pname = "lv"; ename = "lv"; - version = "20160912.756"; + version = "20181110.940"; src = fetchFromGitHub { owner = "abo-abo"; repo = "hydra"; - rev = "a07b92a8755dfb064701210b634e2dc4839552ac"; - sha256 = "11k0ifmr90vdinibhyqqyqrmpxbn9c5pjpzhr4p66wv6249s540w"; + rev = "5c5b9ca3262594c92f8f73c98db5ed0f1efd0319"; + sha256 = "0dvh4sg1s76jy41vsy6dh3a4b8vr5msldnyssmqzdqwrsw64hl6r"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5114349617617673d5055fe28cb8f8c86cf41f83/recipes/lv"; @@ -58148,6 +61391,33 @@ license = lib.licenses.free; }; }) {}; + lxd-tramp = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "lxd-tramp"; + ename = "lxd-tramp"; + version = "20181022.1707"; + src = fetchFromGitHub { + owner = "onixie"; + repo = "lxd-tramp"; + rev = "f335c76245f62b02cf67a9376eca6f3863c8a75a"; + sha256 = "0byhafxcc4qw08b16fd00nkyqz1jmq7js0l5q4lda4xdpfgl1a65"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7778f5961eaaa356e5e383ef2323c5713e5bf2/recipes/lxd-tramp"; + sha256 = "0i611z4pksrf4zf0h8wnradqbcad5f43dq8bg3dsik0jdcjlvg5p"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs ]; + meta = { + homepage = "https://melpa.org/#/lxd-tramp"; + license = lib.licenses.free; + }; + }) {}; lyrics = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -58157,12 +61427,12 @@ melpaBuild { pname = "lyrics"; ename = "lyrics"; - version = "20180123.2004"; + version = "20180812.1141"; src = fetchFromGitHub { owner = "emacs-pe"; repo = "lyrics.el"; - rev = "fb35b387796f64f48b4daa5a163f4a576210f200"; - sha256 = "17al49f633h3fsa6aq9v5c1r8dp2gj97f46z1fhmgxbijmpfzs0w"; + rev = "d0b920be634a5be81ad49418cfaada0f0a57d6cd"; + sha256 = "0926avnlxi8qkr1faplk1aj4lji0ixa4lv81badi5zsmpyyrwmm7"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b04c8f3dfa9fc07cc0ff3df5c4069f864b6db92e/recipes/lyrics"; @@ -58412,41 +61682,57 @@ license = lib.licenses.free; }; }) {}; + magik-mode = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "magik-mode"; + ename = "magik-mode"; + version = "20190305.1229"; + src = fetchFromGitHub { + owner = "roadrunner1776"; + repo = "magik"; + rev = "743c5160ff2993534014862538961515047ed357"; + sha256 = "0sggdkp01ryknmfv828lqc5lkpks2vlqrqc0hblynyxs8w0azmf8"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/291cce8e8e3475348b446ba38833eb1e37d4db65/recipes/magik-mode"; + sha256 = "1d6n7mpwavrajcgai6j0y5khhgc4jaag1ig1xx8w04mr48xrjxqk"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/magik-mode"; + license = lib.licenses.free; + }; + }) {}; magit = callPackage ({ async , dash , emacs , fetchFromGitHub , fetchurl - , ghub , git-commit , lib - , magit-popup , melpaBuild + , transient , with-editor }: melpaBuild { pname = "magit"; ename = "magit"; - version = "20180720.1712"; + version = "20190405.1004"; src = fetchFromGitHub { owner = "magit"; repo = "magit"; - rev = "c5269547ae178f4893a8ec662f71b0e032d4c0fa"; - sha256 = "1qyyi1pyb1hr66b43ka0sshafizddxgzlbqlnlfncb2rm8fyab0h"; + rev = "e19833d9d639221ed78f310b800b464db5600a3f"; + sha256 = "05fmzpqzsfa22ghmbgkirii64i5473463nniik5ck51j5w3z1vd7"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ac8feccfa0f4eb5bda2ef561a6be66ba145c00e0/recipes/magit"; sha256 = "03iv74rgng5fcy3qfr76hiy0hj6x2z0pis1yj8wm1naq5rc55hjn"; name = "recipe"; }; - packageRequires = [ - async - dash - emacs - ghub - git-commit - magit-popup - with-editor - ]; + packageRequires = [ async dash emacs git-commit transient with-editor ]; meta = { homepage = "https://melpa.org/#/magit"; license = lib.licenses.free; @@ -58461,12 +61747,12 @@ melpaBuild { pname = "magit-annex"; ename = "magit-annex"; - version = "20180715.1812"; + version = "20190217.2127"; src = fetchFromGitHub { owner = "magit"; repo = "magit-annex"; - rev = "e36674fa052431342942ce42c3e396318a5bb5b0"; - sha256 = "085qwg8f68j6lcdfm0ri6a8fjvb2z7qwkvaflcff7rr7hjbmnb29"; + rev = "2b6b51c2f295ffc724bac8e8fde9b161972f9cfe"; + sha256 = "0v5saypcc5s6z1sa6hc3hmigzh7bnmp3247n2a9g259w21f7bcwa"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/magit-annex"; @@ -58625,12 +61911,12 @@ melpaBuild { pname = "magit-imerge"; ename = "magit-imerge"; - version = "20180609.858"; + version = "20190218.2153"; src = fetchFromGitHub { owner = "magit"; repo = "magit-imerge"; - rev = "6f64cd84f1cfed9ee976a9059494128c9b52bdf4"; - sha256 = "0adgkqp4s70qph73xrgxr56c2vrfmmqn0c4llzvxp0yp7linnr8d"; + rev = "54f2e25eb5f9e9763a60808ecfc1edef7f276ce0"; + sha256 = "0i16s3kc5k1sr2fgq72n0nmrwqphrg5zppmvri653120nga7b5lx"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e78a5c27eedfc9b1d79e37e8d333c5d253f31a3c/recipes/magit-imerge"; @@ -58655,14 +61941,14 @@ ename = "magit-lfs"; version = "20170312.1524"; src = fetchFromGitHub { - owner = "ailrun"; + owner = "Ailrun"; repo = "magit-lfs"; rev = "9897c59109ce34755cbd35eff689680351c45fba"; sha256 = "05cy0pw5lcyzcqxycvwbw39l88405lc92x0w1lvhlbwwylpbhw2s"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/1a92f0963d8df3e299a999948828173dac38a612/recipes/magit-lfs"; - sha256 = "1im9skj74jdi7jh0fnyyk8a4g4sk48clgn107ggf69lnfpxh8xxa"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/magit-lfs"; + sha256 = "1xc32f2k3dwpqncnrr3xyr2963ywa0006z3c01nypxgs1xkfsbdx"; name = "recipe"; }; packageRequires = [ dash emacs magit ]; @@ -58737,12 +62023,12 @@ melpaBuild { pname = "magit-popup"; ename = "magit-popup"; - version = "20180618.1602"; + version = "20190223.1434"; src = fetchFromGitHub { owner = "magit"; repo = "magit-popup"; - rev = "e2060ccb3105555f55992a995587221820341b24"; - sha256 = "1z1xi6mkz1h0vxbhwp1ypn5jpa0a859b296k4ds2j1i18h1lvgad"; + rev = "4250c3a606011e3ff2477e3b5bbde2b493f3c85c"; + sha256 = "073x1yf96b623yphylnf0ysannr91vawzgjdv1smkcrgd4451hr3"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0263ca6aea7bf6eae26a637454affbda6bd106df/recipes/magit-popup"; @@ -58755,28 +62041,82 @@ license = lib.licenses.free; }; }) {}; - magit-stgit = callPackage ({ emacs - , fetchFromGitHub + magit-rbr = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , magit + , melpaBuild }: + melpaBuild { + pname = "magit-rbr"; + ename = "magit-rbr"; + version = "20181009.1316"; + src = fetchFromGitHub { + owner = "fanatoly"; + repo = "magit-rbr"; + rev = "029203b3e48537205052a058e964f058cd802c3c"; + sha256 = "1z48m0al8bb4ppic483jvika9q47c67g7fazk25431sr5rv9h4d2"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/10427817a1fc2fa8aaf11897719cbb851d9e4b15/recipes/magit-rbr"; + sha256 = "086vb7xrgyrazc3a7bpyhy219szvrvl59l8wlqakimx0mav7qipr"; + name = "recipe"; + }; + packageRequires = [ emacs magit ]; + meta = { + homepage = "https://melpa.org/#/magit-rbr"; + license = lib.licenses.free; + }; + }) {}; + magit-reviewboard = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , magit + , melpaBuild + , request + , s }: + melpaBuild { + pname = "magit-reviewboard"; + ename = "magit-reviewboard"; + version = "20190211.1444"; + src = fetchFromGitHub { + owner = "jtamagnan"; + repo = "magit-reviewboard"; + rev = "f3d5ed914243e3930f9c06f59021305e7e43e67d"; + sha256 = "0xlhy328h2wxklpy71dhy1fk7zv6hs2v4jrl1mm9x5mnrbrdfvxx"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/f3715fa1df69350205e4269b7090c46b343d8bf0/recipes/magit-reviewboard"; + sha256 = "1sxqij3370vn6ap52lf4hdlcxfj9mj17sb5r4kk5msjbw3bzdmzr"; + name = "recipe"; + }; + packageRequires = [ emacs magit request s ]; + meta = { + homepage = "https://melpa.org/#/magit-reviewboard"; + license = lib.licenses.free; + }; + }) {}; + magit-stgit = callPackage ({ fetchFromGitHub , fetchurl , lib - , magit , melpaBuild }: melpaBuild { pname = "magit-stgit"; ename = "magit-stgit"; - version = "20180522.542"; + version = "20190313.455"; src = fetchFromGitHub { - owner = "magit"; + owner = "emacsorphanage"; repo = "magit-stgit"; - rev = "186e60489f5449d87d94aca24b9d65e2f26a3bc5"; - sha256 = "134555zdc7abrfl9hlyy3l3raljzn3kk4zfcmr70xkx2qjjdl9a2"; + rev = "d1ba02851071326bc2d58dd8e95093c666e3ceb8"; + sha256 = "00xrqcv3h5qbvi4klv23fdf2kcgfrzb2r77qmjilv5wsy6dlw71h"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/magit-stgit"; - sha256 = "12wg1ig2jzy2np76brpwxdix9pwv75chviq3c24qyv4y80pd11sv"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/72a38bbc5bba53dfb971f17213287caf0d190db0/recipes/magit-stgit"; + sha256 = "1spli6yq258zwx95y16s27hr7hlc2h0kc9mjnvjjl13y2l6shm0i"; name = "recipe"; }; - packageRequires = [ emacs magit ]; + packageRequires = []; meta = { homepage = "https://melpa.org/#/magit-stgit"; license = lib.licenses.free; @@ -58791,16 +62131,16 @@ melpaBuild { pname = "magit-svn"; ename = "magit-svn"; - version = "20170213.433"; + version = "20190324.759"; src = fetchFromGitHub { - owner = "magit"; + owner = "emacsorphanage"; repo = "magit-svn"; - rev = "c833903732a14478f5c4cfc561bae7c50671b36c"; - sha256 = "01kcsc53q3mbhgjssjpby7ypnhqsr48rkl1xz3ahaypmlp929gl9"; + rev = "f7dad9b0f6b81b23550ea5cca0f3219f184b746c"; + sha256 = "1dpljj5l0jf28xsynj9wsgbn6wh6llx0wxvigrv37ccvrz4k2fgg"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/magit-svn"; - sha256 = "02n732z06f0bhxqkxzlvm36bpqr40pas09zbzpfdk4pb6f9f80s0"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/a1ff188d509aec104e9d21a640cf5bc3addedf00/recipes/magit-svn"; + sha256 = "1dww5fc5phai3wk9lp85h6y08ai3vxgggsqj78a3mlcn2adwwc01"; name = "recipe"; }; packageRequires = [ emacs magit ]; @@ -58818,12 +62158,12 @@ melpaBuild { pname = "magit-tbdiff"; ename = "magit-tbdiff"; - version = "20180527.652"; + version = "20190219.2015"; src = fetchFromGitHub { owner = "magit"; repo = "magit-tbdiff"; - rev = "15af196860defda2554aa16ddc172a55ccf03a0d"; - sha256 = "0d24y9sj2qzcm5an37yd7s0gxbq5q8p9xlgxyzz60ln30hwnx107"; + rev = "48075990d10f7947191c24050e7012d99759f191"; + sha256 = "10nbkc49d15z9xzlskbc8fv4zckscini4favj8m2ikgfxdyd35h1"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ad97eea866c8732e3adc17551d37a6d1ae511e6c/recipes/magit-tbdiff"; @@ -58836,9 +62176,7 @@ license = lib.licenses.free; }; }) {}; - magit-todos = callPackage ({ a - , anaphora - , async + magit-todos = callPackage ({ async , dash , emacs , f @@ -58853,30 +62191,19 @@ melpaBuild { pname = "magit-todos"; ename = "magit-todos"; - version = "20180716.2339"; + version = "20190114.650"; src = fetchFromGitHub { owner = "alphapapa"; repo = "magit-todos"; - rev = "d12e2e3ccad4b87d5df5285ade0c56ec5f46ad63"; - sha256 = "006yy13hjzalwz7pz0br32zifxlxrrf8cvnz0j3km55sxpdvqmil"; + rev = "14e5347c98f42166ad7061b8663d368bb0d4fba4"; + sha256 = "1czaf38w0z1pkjwmlhxrln9nmd3zp1j7gmhaf82bw15d8xcl4kbh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b4544ab55d2c8b8c3b7eb739b9fb90ebb246d68b/recipes/magit-todos"; sha256 = "0vqmbw0qj8a5wf4ig9hgc0v3l1agdkvgprzjv178hs00297br2s8"; name = "recipe"; }; - packageRequires = [ - a - anaphora - async - dash - emacs - f - hl-todo - magit - pcre2el - s - ]; + packageRequires = [ async dash emacs f hl-todo magit pcre2el s ]; meta = { homepage = "https://melpa.org/#/magit-todos"; license = lib.licenses.free; @@ -58893,14 +62220,14 @@ ename = "magit-topgit"; version = "20160313.1254"; src = fetchFromGitHub { - owner = "magit"; + owner = "greenrd"; repo = "magit-topgit"; rev = "243fdfa7ce62dce4efd01b6b818a2791868db2f0"; sha256 = "06fbjv3zd92lvg4xjsp9l4jkxx2glhng3ys3s9jmvy5y49pymwb2"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/magit-topgit"; - sha256 = "1ngrgf40n1g6ncd5nqgr0zgxwlkmv9k4fik96dgzysgwincx683i"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/magit-topgit"; + sha256 = "1194hdcphir4cmvzg9cxrjiyg70hr9zmml2rljih94vl7zrw7335"; name = "recipe"; }; packageRequires = [ emacs magit ]; @@ -58922,15 +62249,15 @@ melpaBuild { pname = "magithub"; ename = "magithub"; - version = "20180625.2104"; + version = "20190118.1347"; src = fetchFromGitHub { owner = "vermiculus"; repo = "magithub"; - rev = "bc318ec9953b919195fbaa980b6873b6af7bed81"; - sha256 = "1c8sfrahxk8q7jarvxmrwsgdy8xcjhky14vc268jbrrz197yp006"; + rev = "18e66c284af911f3e3178550384d050536db42ac"; + sha256 = "00r2fp6zbs7321ixdbrh8fj3s6b1bg85hcc2jim6k8pdvssavz1x"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/magithub"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/e555b46f5de7591aa8e10a7cf67421e26a676db8/recipes/magithub"; sha256 = "11par5rncsa866gazdw98d4902rvyjnnwbiwpndlyh06ak0lryab"; name = "recipe"; }; @@ -58950,12 +62277,12 @@ melpaBuild { pname = "magma-mode"; ename = "magma-mode"; - version = "20180413.727"; + version = "20181205.908"; src = fetchFromGitHub { owner = "ThibautVerron"; repo = "magma-mode"; - rev = "db5bff33611027418ba387c7e223d5de82dd9e94"; - sha256 = "0k973dwk2frcdjdpxv26v584ldyhprny001l48wwwiyc2mf08bzk"; + rev = "bded7fd29722dcfd451422530877067915fd7c80"; + sha256 = "0x858v67kjpqbijlg2fbs4qj0g92b3d6f3rjphzcm8776shwp6ry"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/59764a0aab7c3f32b5a872a3d10a7e144f273a7e/recipes/magma-mode"; @@ -59020,6 +62347,34 @@ license = lib.licenses.free; }; }) {}; + major-mode-hydra = callPackage ({ dash + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , pretty-hydra }: + melpaBuild { + pname = "major-mode-hydra"; + ename = "major-mode-hydra"; + version = "20190226.1946"; + src = fetchFromGitHub { + owner = "jerrypnz"; + repo = "major-mode-hydra.el"; + rev = "2142be970874c679300e539a1d9d0f048eb72a7f"; + sha256 = "00hxv2nlzz4kgyzrldhqfnvnrhdcb82lm90xdbvn059f1v1zihn3"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/865917fcc75c4118afc89b8bcc20ebdb6302f15d/recipes/major-mode-hydra"; + sha256 = "0654wnsw38sca97kvp8p3k1h6r91iqs873gcjaaxd7a96sisvafd"; + name = "recipe"; + }; + packageRequires = [ dash emacs pretty-hydra ]; + meta = { + homepage = "https://melpa.org/#/major-mode-hydra"; + license = lib.licenses.free; + }; + }) {}; major-mode-icons = callPackage ({ all-the-icons , emacs , fetchFromGitHub @@ -59323,12 +62678,12 @@ melpaBuild { pname = "mandm-theme"; ename = "mandm-theme"; - version = "20170925.321"; + version = "20180915.1240"; src = fetchFromGitHub { owner = "choppsv1"; repo = "emacs-mandm-theme"; - rev = "078d6d6f11bd48193c5de590cfb0e3d0d687ffc9"; - sha256 = "070280438388q57lpzvd5wdk16abmxixiq01n68hdskfcipdkn2d"; + rev = "b560aa0129c55a2f4fcc5e67a7d6c66ee4dc3124"; + sha256 = "17af3bs55c6bxf1izvfgg0kag5az64ncbabgbh6ry14nv3r9lwy6"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/mandm-theme"; @@ -59410,26 +62765,27 @@ license = lib.licenses.free; }; }) {}; - map-progress = callPackage ({ fetchFromGitHub + map-progress = callPackage ({ cl-lib ? null + , fetchFromGitHub , fetchurl , lib , melpaBuild }: melpaBuild { pname = "map-progress"; ename = "map-progress"; - version = "20140310.1432"; + version = "20190127.1616"; src = fetchFromGitHub { owner = "tarsius"; repo = "map-progress"; - rev = "3167eb218510953fb97e7d50948a625eaa3f0005"; - sha256 = "0pd6bh7wrrh59blp86a2jl2vi4qkzx49z0hy7dkc71ccg0wjsgz1"; + rev = "1fb916159cd054c233ce3c80d9d01adfae640297"; + sha256 = "1hbk35l9aljp4jqg8cv67q6b2jbcx0g665j90fygxqibrf6r52a8"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5ed3335eaf0be7368059bcdb52c46f5e47c0c1a5/recipes/map-progress"; sha256 = "0zc5vii72gbfwbb35w8m30c8r9zck971hwgcn1a4wjczgn4vkln7"; name = "recipe"; }; - packageRequires = []; + packageRequires = [ cl-lib ]; meta = { homepage = "https://melpa.org/#/map-progress"; license = lib.licenses.free; @@ -59443,12 +62799,12 @@ melpaBuild { pname = "map-regexp"; ename = "map-regexp"; - version = "20130522.1403"; + version = "20190127.1618"; src = fetchFromGitHub { owner = "tarsius"; repo = "map-regexp"; - rev = "b8e06284ec1c593d7d2bda5f35597a63de46333f"; - sha256 = "0kk1sk3cr4dbmgq4wzml8kdf14dn9jbyq4bwmvk0i7dic9vwn21c"; + rev = "ae2d1c22f786ad987aef3e319925e80160a887a0"; + sha256 = "1ybhizafdhzm7fg8s6gm13fbrz1vnrc7ifq8gvrrm89wl3qi5z7f"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/927314443ecc00d94e7125de669e82832c5a125c/recipes/map-regexp"; @@ -59549,12 +62905,12 @@ melpaBuild { pname = "markdown-mode"; ename = "markdown-mode"; - version = "20180707.555"; + version = "20190304.1919"; src = fetchFromGitHub { owner = "jrblevin"; repo = "markdown-mode"; - rev = "b92f00d10e2582028d4306d3be8730add58e9fa1"; - sha256 = "0cwfc4l7rqwa9hgxz73lzm6czjqnif39dkcmacxb2gi9gpxwlxjn"; + rev = "115f77df9755c6a453f3e5d9623ff885d207ea82"; + sha256 = "0a26gz2m5v0jkawlqb723yiqsns4sg7inalr8fk1x08khnckkzyz"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/74610ec93d4478e835f8b3b446279efc0c71d644/recipes/markdown-mode"; @@ -59626,32 +62982,24 @@ , lib , markdown-mode , melpaBuild - , uuidgen , web-server , websocket }: melpaBuild { pname = "markdown-preview-mode"; ename = "markdown-preview-mode"; - version = "20171121.2323"; + version = "20181213.539"; src = fetchFromGitHub { owner = "ancane"; repo = "markdown-preview-mode"; - rev = "4ec15183fc9fadb9368902c9b77a2d0e1196d1c6"; - sha256 = "1zvpcnn0lafd6pvp5d42rid20dqi7zrpyai1q0kagpv3grbbyzc8"; + rev = "f98d9114ca87e3e8e5ce70e601d13061eda15415"; + sha256 = "1d1id99gagymvzdfa1mwqh8y3szm8ii47rpijkfi1qnifjg5jaq9"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d3c5d222cf0d7eca6a4e3eb914907f8ca58e40f0/recipes/markdown-preview-mode"; sha256 = "1cam5wfxca91q3i1kl0qbdvnfy62hr5ksargi4430kgaz34bcbyn"; name = "recipe"; }; - packageRequires = [ - cl-lib - emacs - markdown-mode - uuidgen - web-server - websocket - ]; + packageRequires = [ cl-lib emacs markdown-mode web-server websocket ]; meta = { homepage = "https://melpa.org/#/markdown-preview-mode"; license = lib.licenses.free; @@ -59711,6 +63059,32 @@ license = lib.licenses.free; }; }) {}; + markless = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "markless"; + ename = "markless"; + version = "20190306.202"; + src = fetchFromGitHub { + owner = "shirakumo"; + repo = "markless.el"; + rev = "78632f86e3b5a1e3d74b2ab86f4c95b10e5eae94"; + sha256 = "1hmf5qlxpli61a9pwg09hbsdn1lg4l8czvrvw09js3vrbv7xh3ds"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/5542e142d47f6f52839a44b8ee16327f88869f50/recipes/markless"; + sha256 = "1a5kp46xj4b5kgcypacxcwhjjwi4m7f6shdda8l8my3s3x8ji5bj"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/markless"; + license = lib.licenses.free; + }; + }) {}; markup = callPackage ({ cl-lib ? null , fetchFromGitHub , fetchurl @@ -59852,12 +63226,12 @@ melpaBuild { pname = "mastodon"; ename = "mastodon"; - version = "20180305.1909"; + version = "20190304.1944"; src = fetchFromGitHub { owner = "jdenen"; repo = "mastodon.el"; - rev = "ae8dabda04e377a6ac22cb854e4844f68073f533"; - sha256 = "1avf2wkzd14dj27i9skm3mn3ipkr1zp93yrwxrk2q5kphj1qji2j"; + rev = "5095797ef32b922d2a624fa6beb970b5e9cf5ca0"; + sha256 = "0hwax6y9dghqwsbnb6f1bnc7gh8xsh5cvcnayk2sn49x8b0zi5h1"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/809d963b69b154325faaf61e54ca87b94c1c9a90/recipes/mastodon"; @@ -59903,12 +63277,12 @@ melpaBuild { pname = "math-symbol-lists"; ename = "math-symbol-lists"; - version = "20170221.553"; + version = "20190102.1031"; src = fetchFromGitHub { owner = "vspinu"; repo = "math-symbol-lists"; - rev = "1af8fdcab7941a62287c2d04b8876e1538f39c60"; - sha256 = "1kj9r2mvmvnj6m2bwhbj8fspqiq8fdrhkaj0ir43f7qmd4imblsj"; + rev = "e15ec26a010b4f38111bc150c51ecb1a319f6bdb"; + sha256 = "11jk0xdlc8zk2way1d85n2khmydzzvpjhh8bbjbdsv8d1z3j9yfh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/fadff01600d57f5b9ea9c0c47ed109e058114998/recipes/math-symbol-lists"; @@ -59954,11 +63328,11 @@ melpaBuild { pname = "matlab-mode"; ename = "matlab-mode"; - version = "20180125.1010"; + version = "20180928.826"; src = fetchgit { url = "https://git.code.sf.net/p/matlab-emacs/src"; - rev = "50266ff812607e55bddacd71a46d1b96e36fb0bd"; - sha256 = "1spyfnkw6j0v947m6yj6mv6ni1za0a9m9iycpjycpcb42q7d9rlg"; + rev = "3fbca4259b2584bde08df07ba51944d7e3e2b4f4"; + sha256 = "1diqx2k16iyj5a7kcc58kyl6mzw05cyq6ia4z3fciz716gkspgpi"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6f78cff288077e04f8c9e4c2e5be9f3c33d8ff49/recipes/matlab-mode"; @@ -60056,12 +63430,12 @@ melpaBuild { pname = "mb-url"; ename = "mb-url"; - version = "20161224.1806"; + version = "20181225.924"; src = fetchFromGitHub { owner = "dochang"; repo = "mb-url"; - rev = "129a0bb6a684be76fb9f09010e710065d0e5baaa"; - sha256 = "1apy7abjhdbgh8001rzv41q40bfl444rcz62lvgdwj3lg45zb8xc"; + rev = "23078f2e59808890268401f294d860ba51bc71d9"; + sha256 = "07b9w9vd22ma4s3qhplmg84sylihz920byyi9qa7dwj7b59d4avf"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/dd9a8ff6e094b061a7b9d790df1fd4086c5d0a9d/recipes/mb-url"; @@ -60134,12 +63508,12 @@ melpaBuild { pname = "mbsync"; ename = "mbsync"; - version = "20180530.33"; + version = "20181001.2340"; src = fetchFromGitHub { owner = "dimitri"; repo = "mbsync-el"; - rev = "bca442138f24f20479b89bd5d77b012ab06f4232"; - sha256 = "1wb3wasfcqcwdlvhgr6y334mgjdkis1s6lf1bbypw9dzi1xmkj21"; + rev = "f549eccde6033449d24cd5b6148599484850c403"; + sha256 = "1pdj41rq3pq4jdb5pma5j495xj7w7jgn8pnz1z1zwg75pn7ydfp0"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3ef6ffa53bb0ce2ba796555e39f59534fc134aa5/recipes/mbsync"; @@ -60160,12 +63534,12 @@ melpaBuild { pname = "mc-extras"; ename = "mc-extras"; - version = "20180519.2139"; + version = "20181109.935"; src = fetchFromGitHub { owner = "knu"; repo = "mc-extras.el"; - rev = "fac7e42d03078b4ca0fa72f191995c727143a0d1"; - sha256 = "097rzzd3r43f406axpvf4xfc5fxpb3v2dcrlxk5axpvr0m31b0d1"; + rev = "053abc52181b8718559d7361a587bbb795faf164"; + sha256 = "16y48qrd20m20vypvys5jp4v4gc1qrqlkm75s1pk1r68i9zrw481"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/12747bb8603ebc09ce0873f3317a99e34d818313/recipes/mc-extras"; @@ -60217,12 +63591,12 @@ melpaBuild { pname = "md4rd"; ename = "md4rd"; - version = "20180625.2236"; + version = "20190312.1940"; src = fetchFromGitHub { owner = "ahungry"; repo = "md4rd"; - rev = "3a6c5055330f1cad455cbeb6ad6f9eb4751a8309"; - sha256 = "1c0g6f6myllqz6mymqxbpi392fg1hvzas0ah2wmyw5ycmaafpz3d"; + rev = "443c8059af4925d11c93a1293663165c52472f08"; + sha256 = "1n6g6k4adzkkn1g7z4j27s35xy12c1fg2r08gv345ddr3wplq4ri"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/48d4a3b3337e16e68631409d1de0ce67ae22b837/recipes/md4rd"; @@ -60271,12 +63645,12 @@ melpaBuild { pname = "meghanada"; ename = "meghanada"; - version = "20180717.1810"; + version = "20190225.625"; src = fetchFromGitHub { owner = "mopemope"; repo = "meghanada-emacs"; - rev = "1fe888ad929f0ebed9a8cde7bb0a605881e1386c"; - sha256 = "1b7cri71fikvyxcc6q9rci1zc4q45a1bvz00ks7gvx6w2sd7h5gd"; + rev = "7ea4885b79224c024f5cde4bb7d6b98c77b84eda"; + sha256 = "0zigc6f02qdv8fj5wfpw56dw1glk3q204qxyipazsv6pm62v0y01"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4c75c69b2f00be9a93144f632738272c1e375785/recipes/meghanada"; @@ -60296,12 +63670,12 @@ melpaBuild { pname = "melancholy-theme"; ename = "melancholy-theme"; - version = "20170220.1248"; + version = "20190406.1618"; src = fetchFromGitHub { owner = "techquila"; repo = "melancholy-theme"; - rev = "a9e13ca7051731b3a2c2aece9f3e3033b9a5e41d"; - sha256 = "13wgh3w9wh1y1ynsbz4zi2vj14h8z1kj5vhq4w6szs0y0zzjb9zj"; + rev = "a5fb97b52c56c612474fec4ec45472fe13bd4c20"; + sha256 = "0syx0h8930j58bky14wnrba8iafzi3hdsb11kvsb48vdqv2minrq"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8b8f708d1300d401697c099709718fcb70d5db1f/recipes/melancholy-theme"; @@ -60418,7 +63792,8 @@ license = lib.licenses.free; }; }) {}; - mentor = callPackage ({ cl-lib ? null + mentor = callPackage ({ async + , cl-lib ? null , fetchFromGitHub , fetchurl , lib @@ -60428,19 +63803,19 @@ melpaBuild { pname = "mentor"; ename = "mentor"; - version = "20170105.221"; + version = "20190407.1142"; src = fetchFromGitHub { owner = "skangas"; repo = "mentor"; - rev = "9a160d718b02a95b1bb24072cca87b4348e1e261"; - sha256 = "16n5dd00ajr2qqwm51v1whf2kmyr27mx30n3xlydf9np3f34hlax"; + rev = "467c531f0c40ca924b3bb971e264727f7332e681"; + sha256 = "1hjfw59wlkkqff2r7m81hcin6px6sdw8bfh2mnz0cbfs1gw2y15i"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/083de4bd25b6b013a31b9d5ecdffad139a4ba91e/recipes/mentor"; sha256 = "0nkf7f90m2qf11l97zwvb114yrpbqk1xxr2bh2nvbx8m1c8nad9s"; name = "recipe"; }; - packageRequires = [ cl-lib seq xml-rpc ]; + packageRequires = [ async cl-lib seq xml-rpc ]; meta = { homepage = "https://melpa.org/#/mentor"; license = lib.licenses.free; @@ -60453,16 +63828,16 @@ melpaBuild { pname = "merlin"; ename = "merlin"; - version = "20180214.242"; + version = "20190323.230"; src = fetchFromGitHub { - owner = "the-lambda-church"; + owner = "ocaml"; repo = "merlin"; - rev = "0a14a7df44cd8f5cea7928f3097b5bb5257cb61d"; - sha256 = "145r8bhvkar0fwajsg4msyg40na8ii0xbrwbi9b81cx1g17k5c7k"; + rev = "1ab2b90f4508855ac0caab51a6a5dad3e48cdb00"; + sha256 = "0cn46b2im7k2j3p8r34pmqmdrxxwls14l21mjjfll2fc329s3shr"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/b1b9bfd3164e62758dc0a3362d85c6627ed7cbf8/recipes/merlin"; - sha256 = "177cy9xcrjckxv8gvi1zhg2ndfr8cmsr37inyvpi5dxqy6d6alhp"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/9338298a79b7f2d654df90b0f553aeed1428de13/recipes/merlin"; + sha256 = "0r4wc5ann6239bagj364yyzw4y3lcpkl5nnn0vmx4hgkwdg509fn"; name = "recipe"; }; packageRequires = []; @@ -60480,16 +63855,16 @@ melpaBuild { pname = "merlin-eldoc"; ename = "merlin-eldoc"; - version = "20180630.1026"; + version = "20190314.106"; src = fetchFromGitHub { - owner = "khady"; + owner = "Khady"; repo = "merlin-eldoc"; - rev = "6e1626d755a8bee0a03f89a951bdf69eaf4db5f9"; - sha256 = "1xa8dfdi7w8ip7m6n0cqz28p9zvqsshd76zg27g4pmhgv1n3fnkc"; + rev = "09760346e34ac22f2b55f43f0e36a2865c3b8026"; + sha256 = "12bba6f6qxi6azlafzhymqyaf57qi479n34crixmk8v69ivdch8y"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/a7130ec893175323775e887babbcec7a1e324c01/recipes/merlin-eldoc"; - sha256 = "0r4997813yz81zvmdgvr0xcp9c321h55z39lajpj1plmrs3c7bry"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/merlin-eldoc"; + sha256 = "0bx383nxd97as0d362n1jn62k2rypxvxhcjasgwf0cr8vxr244fp"; name = "recipe"; }; packageRequires = [ emacs merlin ]; @@ -60506,12 +63881,12 @@ melpaBuild { pname = "meson-mode"; ename = "meson-mode"; - version = "20170901.1135"; + version = "20181115.1325"; src = fetchFromGitHub { owner = "wentasah"; repo = "meson-mode"; - rev = "212d9f38a08074f1cb6e914e12b60bc52dcb8bee"; - sha256 = "1kv7413y5530frs1nrp0nl40h9j0idwp7vlg761r260200m8sl3v"; + rev = "b507a87455af906e6c49aa4af70eba5b1d1af9ef"; + sha256 = "046kf04vqq1wf9ncxq40fcjcgl18hk4vii5wl3m08rpvdwbnmfwr"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4702a31ffd6b9c34f96d151f2611a1bfb25baa88/recipes/meson-mode"; @@ -60556,12 +63931,12 @@ melpaBuild { pname = "meta-presenter"; ename = "meta-presenter"; - version = "20170425.1934"; + version = "20190318.859"; src = fetchFromGitHub { owner = "myTerminal"; repo = "meta-presenter"; - rev = "7ba8d30e36ce6de6e563c7f3a41a24d288787c48"; - sha256 = "0m23qsbai8j0bx0px7v3ipw92i4y8maxibna6zqrw3msv1j3s7cw"; + rev = "3d8c762a7dd7ac39032a3601bd6a717f206e670d"; + sha256 = "0r9zzmglmkkmxcqh0pdlg279mpd524k2rwn56kyvj5i3i8zw9rpl"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b73e9424515b3ddea220b786e91c57ee22bed87f/recipes/meta-presenter"; @@ -60600,6 +63975,32 @@ license = lib.licenses.free; }; }) {}; + metamorph = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "metamorph"; + ename = "metamorph"; + version = "20180930.1328"; + src = fetchFromGitHub { + owner = "AdamNiederer"; + repo = "metamorph"; + rev = "d9dc7037b7eed7b3fe85ea50e91f332e3f831514"; + sha256 = "1zprgjh1wyqbpy1qvng57r6jm10k6vffpb6znm47fm8xx1h0s8k4"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/741982c7ce83a77d0b43d196eeac6e949dc5fd81/recipes/metamorph"; + sha256 = "0mqzqwwzb4x2j6jh6acx5ni9z5k56586jv4n88d3fi4vry9k4mv3"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/metamorph"; + license = lib.licenses.free; + }; + }) {}; metascript-mode = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -60634,16 +64035,16 @@ melpaBuild { pname = "metaweblog"; ename = "metaweblog"; - version = "20171216.1840"; + version = "20190211.1838"; src = fetchFromGitHub { - owner = "punchagan"; + owner = "org2blog"; repo = "metaweblog"; - rev = "aa14380eb7e7b879a0c16c96866b20a987cd3f2a"; - sha256 = "146w9laysdqbikpzr2gc9vnjrdsa87d8i13f2swlh1kvq2dn3rz5"; + rev = "844c8b5b4483fa75378c4bec526d63cae0b211d9"; + sha256 = "0rxqkj7r38vr4qjnc2dric9sjdjm6vgnv0c9vfcb29v17hkg3aah"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/metaweblog"; - sha256 = "10kwqnfafby4ap0572mfkkdssr13y9p2gl9z3nmxqjjy04fkfi8b"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/metaweblog"; + sha256 = "0qgmcvq1fhgljia9ncjgvgrv0mzih0l9mglwbwcszn613wmx8bkg"; name = "recipe"; }; packageRequires = [ xml-rpc ]; @@ -60659,12 +64060,12 @@ melpaBuild { pname = "mew"; ename = "mew"; - version = "20180709.1817"; + version = "20190307.1729"; src = fetchFromGitHub { owner = "kazu-yamamoto"; repo = "Mew"; - rev = "d4eac40c09ef349e09f0169bc2725d050dc8c7ad"; - sha256 = "03k2nw8v9xzani2sk37x4abbmljm5h2ixxpczhv8njpqfmy8rm8x"; + rev = "0dacffb71bd0c8aa7e104658833c1d50776eb3a4"; + sha256 = "00qq5aysjxv3a1b0x6k5idxvam9g5jzbrmiy25x32wih6a6abg33"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/362dfc4d0fdb3e5cb39564160de62c3440ce182e/recipes/mew"; @@ -60686,14 +64087,14 @@ ename = "mexican-holidays"; version = "20160109.1342"; src = fetchFromGitHub { - owner = "shopClerk"; + owner = "sggutier"; repo = "mexican-holidays"; rev = "43ced1f9e40a04be6927d1a1be64060f9be4f5c5"; sha256 = "0bhllmyk1r9y63jw5gx10v09791w33lc54qs31gcxbnss094l6py"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/17cf468b17eead32f38e0386e8ec60ecfe11b767/recipes/mexican-holidays"; - sha256 = "0awf4vv6mbp1xr92nsgdn513g4adqhp21k12q4fbm85b2l3jlspb"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/mexican-holidays"; + sha256 = "0an6kkr2vwkqc9219rgn74683h7f4cmd1g74lirn0qhqcfcb5yrc"; name = "recipe"; }; packageRequires = []; @@ -60710,12 +64111,12 @@ melpaBuild { pname = "mgmtconfig-mode"; ename = "mgmtconfig-mode"; - version = "20180222.1257"; + version = "20190324.1208"; src = fetchFromGitHub { owner = "purpleidea"; repo = "mgmt"; - rev = "f01eea33e9b396f1e7501944216271d0d9b8df6f"; - sha256 = "19grypbx6kxgdlqnj1h7rz2clvrwk98z5sk9dar0077ncp2k1f80"; + rev = "07f542b4d753fe2f182b5e139450217a633491f8"; + sha256 = "0nbj3fh3wsl9065mad04c7avc2pq4lqrdng1xkwdng6l361f2wak"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4cf3dd70ae73c2b049e201a3547bbeb9bb117983/recipes/mgmtconfig-mode"; @@ -60736,12 +64137,12 @@ melpaBuild { pname = "mhc"; ename = "mhc"; - version = "20180717.2009"; + version = "20190116.2146"; src = fetchFromGitHub { owner = "yoshinari-nomura"; repo = "mhc"; - rev = "e29e69ab2f282131039a63f56f48e39d56c175d9"; - sha256 = "0lxn4vg3qxzdxad1fv0ssnw4rjhzvrys4k3lqx87sbg28l9ykk77"; + rev = "a0a7e01587c47b11f4aa87ac977ca43298a75570"; + sha256 = "1wxyp4snkarbbrqb1a28hdf286cwf08v0fbi9pl9mw4q7sn598s2"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d8d3efa0fcd6cd4af94bc99b35614ef6402cbdba/recipes/mhc"; @@ -60841,12 +64242,12 @@ melpaBuild { pname = "migemo"; ename = "migemo"; - version = "20160924.741"; + version = "20190111.2116"; src = fetchFromGitHub { owner = "emacs-jp"; repo = "migemo"; - rev = "e4744efae1b2fdea2bbd2ceaff0f6ea0bb739f5a"; - sha256 = "12p50kg2h78qi8892jj4g3wa4fjm7gjiqf6qw52zyx3kvgwxgxwa"; + rev = "09936ee27a5f3678fdf57b8a0faaa0ff150435cc"; + sha256 = "0wfik7y3ybh4yrrlpydawx5zw0syv7wm7b1mckz2rbv3d863z0n5"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2424b0328a0198a03359455abdb3024a8067c857/recipes/migemo"; @@ -60916,12 +64317,12 @@ melpaBuild { pname = "mingus"; ename = "mingus"; - version = "20180712.2336"; + version = "20190106.643"; src = fetchFromGitHub { owner = "pft"; repo = "mingus"; - rev = "686d383f48b196c916c5fcb6ddc3bcff8a0c4b14"; - sha256 = "0vv6aqalbpshr0fadh248lirqa6a0dcixccby2kbvdsf79s7xzx8"; + rev = "4223be618f57f10f18114a74393a71955b568884"; + sha256 = "14i06i999wfpr0a0lvhnh6g4mm5xmawscjd9d7ibc055h94h3i2a"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6699927f1ded5c97f2ce1861f8e54a5453264cca/recipes/mingus"; @@ -61092,12 +64493,12 @@ melpaBuild { pname = "minimal-theme"; ename = "minimal-theme"; - version = "20160608.322"; + version = "20190113.1332"; src = fetchFromGitHub { owner = "anler"; repo = "minimal-theme"; - rev = "430e0d3fc2044c16aa9f10961841febbd60df285"; - sha256 = "1rmcvdydgwppma1v2yajz6yzhns8bh3gdb09338jlk0nkp1akpfj"; + rev = "063b4d8ca33d55d04c341f0b2b777ec241a3e201"; + sha256 = "0lvg7iym6sxhgl4ab9a6x8c2mh2d32vkf0033bs3vphx657gra6l"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6f26b8281f9bd05e3c8f2ef21838275711e622c9/recipes/minimal-theme"; @@ -61119,12 +64520,12 @@ melpaBuild { pname = "minions"; ename = "minions"; - version = "20180709.1012"; + version = "20181030.1401"; src = fetchFromGitHub { owner = "tarsius"; repo = "minions"; - rev = "2f5e73e15d0021e7ba26cf09f1cd2734b018fb69"; - sha256 = "12acfjmk6n40k5mb2hy1izbk483y83bc3d54r76l750sbm3kpdar"; + rev = "d36d2445420460c81bcd4822d0bfcbafaec2c682"; + sha256 = "0q2y37zfxlbfvgdn70ikg3abp8vljna4ir9nyqlz1awmz5i1c43s"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/769a2167d7f6dfdbbfda058ddea036f80b97d230/recipes/minions"; @@ -61272,12 +64673,12 @@ melpaBuild { pname = "mixed-pitch"; ename = "mixed-pitch"; - version = "20180410.917"; + version = "20190307.1410"; src = fetchFromGitLab { owner = "jabranham"; repo = "mixed-pitch"; - rev = "b6b1601c7a3eb9ab23e33192bc479bccc4dd5e7b"; - sha256 = "0g3mcbsjgcwg196ygj21i454ifyf0898r0xlkar1fqdl8lckb8zj"; + rev = "15bb9ec6d8be0812a46917205be6c3a1c78f68ff"; + sha256 = "1458sy5b6bis1i0k23jdqk6hfqg0ghk637r3ajql2g19ym48rf58"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7d3c7af03e0bca3f834c32827cbcca29e29ef4db/recipes/mixed-pitch"; @@ -61376,12 +64777,12 @@ melpaBuild { pname = "mmt"; ename = "mmt"; - version = "20171231.2219"; + version = "20181231.2307"; src = fetchFromGitHub { owner = "mrkkrp"; repo = "mmt"; - rev = "b8cc8d29e185c15a1e43ecc2a78e36a6d2f86b8f"; - sha256 = "17v26116g05py2yd24a5rjlr2lbdacahglxar10k5291v9i4msdw"; + rev = "db0f27b10bba0b26cdd208e9f6467bf455021e48"; + sha256 = "09imvxvbz57vfk9m1ljz81srllfr97p0k8n753g3qxs7p1ipaji5"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d1137bb53ecd92b1a8537abcd2635602c5ab3277/recipes/mmt"; @@ -61426,12 +64827,12 @@ melpaBuild { pname = "mo-vi-ment-mode"; ename = "mo-vi-ment-mode"; - version = "20131028.2333"; + version = "20181216.1806"; src = fetchFromGitHub { owner = "AjayMT"; repo = "mo-vi-ment"; - rev = "6386db71640ed9415bbfa5f42296335f5da7d454"; - sha256 = "0rkjkr5ak75s2h8293ifgvq063xb1lsf0z0679bmvymq6li8gz6h"; + rev = "e8b525ffc5faa31d36ecc5496b40f0f5c3603c08"; + sha256 = "16ic8yhjfk0ijlcw7a270p7953w750qza3xdbf4vygkiqqkxiv84"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/85487df36bab0a4d2ea034dbe01c8f095a7efddc/recipes/mo-vi-ment-mode"; @@ -61559,12 +64960,12 @@ melpaBuild { pname = "modalka"; ename = "modalka"; - version = "20171231.2213"; + version = "20181231.2300"; src = fetchFromGitHub { owner = "mrkkrp"; repo = "modalka"; - rev = "e69ec8fa01e86cb789f7f2b27b6d5a47e1ca3069"; - sha256 = "10yn56vamcfblilsnfqfagssr4060gr7qbpnqa2fjqv1l8fg6jrf"; + rev = "6f07d94f9315d8f25adcfd69f8416780d96626af"; + sha256 = "1avjspidddrsqg16ah6gk4vc728xfnczpcr1a45sq34jnw9wpi8q"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/fa0a02da851a603b81e183f461da55bf4c71f0e9/recipes/modalka"; @@ -61586,12 +64987,12 @@ melpaBuild { pname = "mode-icons"; ename = "mode-icons"; - version = "20170216.620"; + version = "20180910.804"; src = fetchFromGitHub { owner = "ryuslash"; repo = "mode-icons"; - rev = "dd0a161272823294f2b9afb8b919fd11323ef6b4"; - sha256 = "1d1rhqi0adac8jgz977jrnbnf9kan8cwr1fghlxb2q7p33kp1d29"; + rev = "26138d825cba7e6bd882707a909505d5536acb9b"; + sha256 = "1z62g5dhv36x5an89za8h5vdab0ss7af13p42kjnjrs54f50pv9f"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0fda2b54a0ff0b6fc3bd6d20cfcbbf63cae5380f/recipes/mode-icons"; @@ -61611,12 +65012,12 @@ melpaBuild { pname = "mode-line-bell"; ename = "mode-line-bell"; - version = "20171231.1939"; + version = "20181028.2216"; src = fetchFromGitHub { owner = "purcell"; repo = "mode-line-bell"; - rev = "dd5c6d85079a25015704cc1132be3dc5388bf48b"; - sha256 = "152qaibhkiw9cij1k4m27mlsvnsvpdk113nsrf6d37czynfly6b3"; + rev = "4985ba42f5a19f46ddbf9b3622453a9694995ce5"; + sha256 = "13n3di05lgqfm4f8krn3p36yika5znhymp5vr2d747x54hqmgh7y"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/26f19808655b0242a1e9e5e5d41f7f794542e243/recipes/mode-line-bell"; @@ -61661,12 +65062,12 @@ melpaBuild { pname = "modern-cpp-font-lock"; ename = "modern-cpp-font-lock"; - version = "20180110.1231"; + version = "20190331.828"; src = fetchFromGitHub { owner = "ludwigpacifici"; repo = "modern-cpp-font-lock"; - rev = "9b10e1831bac34685be89e32e83ed969c4bac683"; - sha256 = "0csaky9k24hd3qjhb3kyraycvlsdkjhmw6bbd36z0q0ac56sd2sg"; + rev = "02f104701bc34c146d22e3143ae59ef362999098"; + sha256 = "14vxxvvm12jnq4llb759h8y4w3cv71d3xic1mbp0jmyd0j4dkqzp"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4bfc2386049adfe7a8e20da9b69fb73d6cb71387/recipes/modern-cpp-font-lock"; @@ -61837,12 +65238,12 @@ melpaBuild { pname = "monky"; ename = "monky"; - version = "20180716.720"; + version = "20190402.825"; src = fetchFromGitHub { owner = "ananthakumaran"; repo = "monky"; - rev = "f1aaea2b8334d5870c8179f2c70b4088882caff8"; - sha256 = "1ibfigbkir4y87wl7nhz6z5fb13gqmhiby1315yqw8p7d604am56"; + rev = "bb2fbb43c9b1894160ca47560338a0be30cc0233"; + sha256 = "0ai8gcrd66jrhxmmwysfaqxpl0347qd9xdqys82284528hd89ms9"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9b33d35e3004f3cc8a5c17aa1ee07dd21d2d46dc/recipes/monky"; @@ -61913,12 +65314,12 @@ melpaBuild { pname = "monokai-theme"; ename = "monokai-theme"; - version = "20180402.221"; + version = "20180730.629"; src = fetchFromGitHub { owner = "oneKelvinSmith"; repo = "monokai-emacs"; - rev = "1143c072f5153ae1a69807e5e8af163069b947d2"; - sha256 = "0dy8c3349j7fmp8052hbgvk0b7ldlv5jqpg0paq1i0hlypivd30i"; + rev = "f4ef092129f4a35edaee0a9b2219c17e86309730"; + sha256 = "1dshz153y25pmff0pn2rsvgxsv0jv0pjn5cpzvr5x11b65ijwshy"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2bc9ce95a02fc4bcf7bc7547849c1c15d6db5089/recipes/monokai-theme"; @@ -61939,12 +65340,12 @@ melpaBuild { pname = "monotropic-theme"; ename = "monotropic-theme"; - version = "20180218.357"; + version = "20181015.530"; src = fetchFromGitHub { owner = "caffo"; repo = "monotropic-theme"; - rev = "b46e94a712e01cebe69a6f7d950e91d7c7dd1b66"; - sha256 = "0lmyfqi6c5f2cr9ha1l2qnc4ayigb1zj9gz8xi5xxadhad3zymwh"; + rev = "36df566aa8225e303f6c9d90c00740dd678a415e"; + sha256 = "05n8s3719f6yrh4fi5xyzzlhpsgpbc60mmfmzycxlb4sinq9bfks"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/38222d109ece0030b0bfafb242aa100694b2bfcf/recipes/monotropic-theme"; @@ -61964,12 +65365,12 @@ melpaBuild { pname = "monroe"; ename = "monroe"; - version = "20180703.1046"; + version = "20190109.547"; src = fetchFromGitHub { owner = "sanel"; repo = "monroe"; - rev = "36fd5b250de51f8bfa62bbe6ce35e8690e0ad120"; - sha256 = "1aw823a5llv196rzqhqvh7bk2npwzy1fgaj24xv0x2g5fk9n85hv"; + rev = "2f472fdc09c1b36c291ddb5ed9aecc331fd7e082"; + sha256 = "1g9v7z2bk2vcknpff31y9pf6cw8xrb5hxsh8cjci7i5w2abp7qbj"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/590e5e784c5a1c12a241d90c9a0794d2737a61ef/recipes/monroe"; @@ -61990,12 +65391,12 @@ melpaBuild { pname = "moody"; ename = "moody"; - version = "20180403.549"; + version = "20190203.947"; src = fetchFromGitHub { owner = "tarsius"; repo = "moody"; - rev = "adf652f35cba1bb3d0f254e1905e2deeeb0fbdba"; - sha256 = "1zspq29n60r0kd9fy7d50zdypljigwcjb0qa5gkwiipnhpcnf9bp"; + rev = "e0975e844876f0962b2e9481c26739397bd23541"; + sha256 = "0jci21ycsyf1mblcv8vbii4wisw1zcs15q5xwld7ai24kgj70269"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/63521fe6a1e540544a07231cc94144439e8caea7/recipes/moody"; @@ -62016,12 +65417,12 @@ melpaBuild { pname = "moom"; ename = "moom"; - version = "20180618.1245"; + version = "20180909.2138"; src = fetchFromGitHub { owner = "takaxp"; repo = "moom"; - rev = "54b50eac555c9195ad39060e31fd4aac5662b5fd"; - sha256 = "1xxxwy67fcgll6m0wiypv3r85vg45g8f6fkhx5m52cs3w8iav7il"; + rev = "a8820f19a8168ab395ba835872606280ad96916d"; + sha256 = "1lpkmbabw9n50hf7yr6n4aim8x0km1wa15mpf7mv9w91ca2blg5d"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c55081230ee02346ed02e0ab19ee2302e7b9ffa7/recipes/moom"; @@ -62484,12 +65885,12 @@ melpaBuild { pname = "mpdel"; ename = "mpdel"; - version = "20180606.512"; + version = "20190124.621"; src = fetchFromGitHub { owner = "mpdel"; repo = "mpdel"; - rev = "a1e05828e3bc03679530b4cfff1306706171cb78"; - sha256 = "1avfhkklhkkazy1b0ymcmc0walrs29ak36vbvaxs480r5s16dkjd"; + rev = "ad63914b95b5655b873341a778b98896d8de5ad8"; + sha256 = "1znv7mbdjhz6vggzyj7ys0014gsvqd16b0hgvngbhjdrk8cm5a5q"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/bb25443752e18e47afc63d5497cc5052c388a607/recipes/mpdel"; @@ -62611,6 +66012,33 @@ license = lib.licenses.free; }; }) {}; + ms-python = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , lsp-mode + , melpaBuild }: + melpaBuild { + pname = "ms-python"; + ename = "ms-python"; + version = "20190318.1929"; + src = fetchFromGitHub { + owner = "xhcoding"; + repo = "ms-python"; + rev = "5412bb664b5c8d7fca1a98ccb50ffc5a2592a75c"; + sha256 = "1wp1vhll9wsr5wpq6d2gjzc9nwvn6n61x80kmprr7m1mr6zav9bk"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/6373142d80e84db8dec47abd0cdc562352b16681/recipes/ms-python"; + sha256 = "1zws8vsxmiwiy4ndxlnl8hn98gfkhf50w7mvq9plr4z6z1adzdi0"; + name = "recipe"; + }; + packageRequires = [ emacs lsp-mode ]; + meta = { + homepage = "https://melpa.org/#/ms-python"; + license = lib.licenses.free; + }; + }) {}; msvc = callPackage ({ ac-clang , cedet ? null , cl-lib ? null @@ -62729,12 +66157,12 @@ melpaBuild { pname = "mu4e-conversation"; ename = "mu4e-conversation"; - version = "20180722.159"; + version = "20190305.836"; src = fetchFromGitLab { owner = "ambrevar"; repo = "mu4e-conversation"; - rev = "223cc66e99c7665326e3d991d6d383cb0d7512bb"; - sha256 = "1ncawxcgsnk6ila5h30ka66x350xnkpxadlpnszbf3lc3w2scxjp"; + rev = "fc3c9d3aca3cfae87001f95d505fab4fed597df0"; + sha256 = "06br06ld9brvki53jrw2zsarz1fnr4ajd7va9yb6y3sphphz0vc6"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7638aecc7a2cd4b1646c6e32fe83e18ef212bbaa/recipes/mu4e-conversation"; @@ -62756,12 +66184,12 @@ melpaBuild { pname = "mu4e-jump-to-list"; ename = "mu4e-jump-to-list"; - version = "20180425.1132"; + version = "20190129.1548"; src = fetchFromGitLab { owner = "wavexx"; repo = "mu4e-jump-to-list.el"; - rev = "e336ffe84b55edaaf4e48040d4d9156a9f4c881e"; - sha256 = "0ff7a64vk0kd1sl52ncwj2xf3sh0kb0yln1cmdxdz0hyfsnc8d1h"; + rev = "b63360eab8975acce04e803a5919abbe2daf863c"; + sha256 = "1f7vxkv60smi2zjcg3bl8l7wjhrc35980wprmiy8568lvin6afbh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c1cf98dff029d494007fe25d29bd8bcfecc5b8e6/recipes/mu4e-jump-to-list"; @@ -62943,11 +66371,11 @@ melpaBuild { pname = "multi-project"; ename = "multi-project"; - version = "20171217.1211"; + version = "20190217.832"; src = fetchhg { url = "https://bitbucket.com/ellisvelo/multi-project"; - rev = "a6e7c1542c0b"; - sha256 = "1wh7xlas6chdliya847092j5rkngxxg1m9a98y2r782ywgyl7xv6"; + rev = "13bd84412236"; + sha256 = "1i97m9iyslg34vbg2aqjy4hzad78qsi0jjkh83xgrdn0hax2x9wy"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/multi-project"; @@ -62969,12 +66397,12 @@ melpaBuild { pname = "multi-run"; ename = "multi-run"; - version = "20180122.709"; + version = "20190401.1458"; src = fetchFromGitHub { owner = "sagarjha"; repo = "multi-run"; - rev = "87d9eed414999fd94685148d39e5308c099e65ca"; - sha256 = "0m4wk6sf01b7bq5agmyfcm9kpmwmd90wbvh7fkhs61mrs86s2zw8"; + rev = "74905979f35e06fff4046cd26542bcb1e4f08cb1"; + sha256 = "16ifp19qh5jy6vvqw2cyyym9sd810n2gdhpjl8vws2svnxrh1mba"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e05ad99477bb97343232ded7083fddb810ae1781/recipes/multi-run"; @@ -63095,12 +66523,12 @@ melpaBuild { pname = "multiple-cursors"; ename = "multiple-cursors"; - version = "20180615.518"; + version = "20190317.511"; src = fetchFromGitHub { owner = "magnars"; repo = "multiple-cursors.el"; - rev = "9c49874fa444a4e7255ec05f62c01daed31c7b09"; - sha256 = "176jyz5sfxn9sp94ymd8ksimmribhdrw2fr7wpwyf4wi17ksvxq4"; + rev = "fc6a6a74626b8458f2a36d802165a7f74114fafd"; + sha256 = "0rya3zdbs9z8f8pqr1nbsri30m76iyr5fbi0wvh0y1xyr93y33j3"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a5f015e6b88be2a5ded363bd882a558e94d1f391/recipes/multiple-cursors"; @@ -63122,12 +66550,12 @@ melpaBuild { pname = "multitran"; ename = "multitran"; - version = "20180320.956"; + version = "20190402.1304"; src = fetchFromGitHub { owner = "zevlg"; repo = "multitran.el"; - rev = "d826eff6ada28799a9ff6c8a4c2884b2ef1e36fb"; - sha256 = "0rk8fidq8fp9k4m21wvkld3w8g13nbfpxnj10g35c16n5wa0ydkb"; + rev = "a0521a3455f95638ab4c37ac112026928eab09a2"; + sha256 = "0i7wy3g229yssf0n75cch4d3sk73br7673razws5dzrwhmmvi3nb"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d665759fa6491b77103920a75c18a561f6800c1c/recipes/multitran"; @@ -63271,6 +66699,32 @@ license = lib.licenses.free; }; }) {}; + mutt-mode = callPackage ({ emacs + , fetchFromGitLab + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "mutt-mode"; + ename = "mutt-mode"; + version = "20190302.715"; + src = fetchFromGitLab { + owner = "flexw"; + repo = "mutt-mode"; + rev = "92763c5ff9abbf4ef91ce15fa7cc6b23da1cfa2d"; + sha256 = "0n04500kr4d3qg6g98nzmdjcdy7qqs5r7f9cbi50r15jr9ihsjvx"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/7d9da58f247dee4f06cbcf6ed532134bc474d309/recipes/mutt-mode"; + sha256 = "0k1r2lsh8s054aapyf7diki00sxf1wdm01cavlqxbvv3zg2gym8d"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/mutt-mode"; + license = lib.licenses.free; + }; + }) {}; mvn = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -63278,12 +66732,12 @@ melpaBuild { pname = "mvn"; ename = "mvn"; - version = "20160211.743"; + version = "20181002.917"; src = fetchFromGitHub { owner = "apg"; repo = "mvn-el"; - rev = "8a65b4eb88c9801aa3bff1921b600c72dfb8791a"; - sha256 = "1jg3xrk44lspxli0zr02jcsl8phj0ns7ly3dkd7rx2wgsk69ari3"; + rev = "ffa40235b7dabb6c6c165f64f32a963cde8031f0"; + sha256 = "0ximk0aan7jqn5x7fk4pj35bxhi6zaspvyxrmac9kxaiz8znwffr"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/mvn"; @@ -63329,12 +66783,12 @@ melpaBuild { pname = "mwim"; ename = "mwim"; - version = "20180227.852"; + version = "20181110.1100"; src = fetchFromGitHub { owner = "alezost"; repo = "mwim.el"; - rev = "462207227b98a6a4356d51419f5ad5ba9356e5cf"; - sha256 = "06lw6064i82daasgm87gm58d142pypqc1q3cnx1cm35hyj4skd32"; + rev = "b4f3edb4c0fb8f8b71cecbf8095c2c25a8ffbf85"; + sha256 = "0l3k611gp9g2x2vfmh92wnhnda81dslpwwpb8mxmzk308man77ya"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b7e1aa2fa1294b27ed7b6c5bdd5844fa5c37df72/recipes/mwim"; @@ -63363,8 +66817,8 @@ sha256 = "0ci1kdc7qs04yny6sxhbncb3d4gzcsdhk2w51phpb8m2rilm0xgl"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/08911f0409c238d009c22051ede04a8d4cdcafa9/recipes/mxf-view"; - sha256 = "08xyfi74pja2cyfmhigq83yxwfhf9k1797wfz7hrxx9zw6kqa840"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/e608f40d00a3b2a80a6997da00e7d04f76d8ef0d/recipes/mxf-view"; + sha256 = "1a8hlp0r04p1cww3dmsqdxlm3ll522wjb0rnmj80d7mqizkbf52p"; name = "recipe"; }; packageRequires = [ emacs ]; @@ -63460,12 +66914,12 @@ melpaBuild { pname = "mysql-to-org"; ename = "mysql-to-org"; - version = "20180123.714"; + version = "20181012.1334"; src = fetchFromGitHub { owner = "mallt"; repo = "mysql-to-org-mode"; - rev = "2526205ad484ad3fa38d41e7d537ace38c27645c"; - sha256 = "1yinix08mzr7v2jm3yx1j3h15cw7i202wi100nmnmvqrylpd9zr2"; + rev = "a8a0c15b04c9a9e9d936908731bf43e6faf81fa8"; + sha256 = "0qi2q3ggq7fjwxl8ir6dbysfm31dzvcsp0nhm6xrk8gv6xfsyvlh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/mysql-to-org"; @@ -63512,12 +66966,12 @@ melpaBuild { pname = "myterminal-controls"; ename = "myterminal-controls"; - version = "20170425.1936"; + version = "20190331.2104"; src = fetchFromGitHub { owner = "myTerminal"; repo = "myterminal-controls"; - rev = "59ff3a02e34969a2ac608906937cb65cb514f9f1"; - sha256 = "11b0m09n1qqhjbdmcilb1g1408k17700qn37m3wavjrcjvdhnd5n"; + rev = "df144b269bc274162602e50c692be20ac9b90547"; + sha256 = "02bd47rx2ykz5hhrf1szcqz7s9r5fxz7n3hnwlqap2r6xcv6cpvk"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4a82a45d9fcafea0795f832bce1bdd7bc83667e2/recipes/myterminal-controls"; @@ -63585,6 +67039,32 @@ license = lib.licenses.free; }; }) {}; + named-timer = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "named-timer"; + ename = "named-timer"; + version = "20181120.1424"; + src = fetchFromGitHub { + owner = "DarwinAwardWinner"; + repo = "emacs-named-timer"; + rev = "670b81e3eddef2e7353a4eedc9553a85306445db"; + sha256 = "1inbizxlfgndwxsn8cwnpf4vm42rby7pkjqxyzl7ldq4qln7q8v1"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/3e8248bab40fddc97fe48dbd103bc2aa51eb287f/recipes/named-timer"; + sha256 = "1k2gkm193fh02vsj8h9kn0y1azispcz1b3ywwmb3cbif51l956g3"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/named-timer"; + license = lib.licenses.free; + }; + }) {}; nameframe = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -63825,12 +67305,12 @@ melpaBuild { pname = "naquadah-theme"; ename = "naquadah-theme"; - version = "20180212.440"; + version = "20190225.627"; src = fetchFromGitHub { owner = "jd"; repo = "naquadah-theme"; - rev = "999056526db5095ce600c83672fc80cb744bd93e"; - sha256 = "1f10598m4vcpr4md6hpdvv46zi6159rajxyzrrlkiz0g94v8y6rl"; + rev = "430c3b7bd51922cb616b3f60301f4e2604816ed8"; + sha256 = "0z2dn05xgbdfw6rwgsq31rm5dr098dk411qk83fbx2bkdxxfr60w"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/671afe0ff3889ae8c4b2d7b8617a3a25c16f3f0f/recipes/naquadah-theme"; @@ -64006,12 +67486,12 @@ melpaBuild { pname = "navi-mode"; ename = "navi-mode"; - version = "20180515.1948"; + version = "20190101.1723"; src = fetchFromGitHub { owner = "alphapapa"; repo = "navi"; - rev = "7c3fd1a9b520300abfdb1b7c3de21403e81a95bf"; - sha256 = "1k5g3ij6rq20jllb7w21sp068lvcc2cjrxm2yq76bjaajbfsa501"; + rev = "d3b66180e93e009c1bae352a7e74edf58f81487e"; + sha256 = "1dcvvkl6cm3f81l6abnzbwnbc7rymchp2dlswsmmykxyrxsabfdk"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8edf78a0ecd2ff8e6e066b80751a31e11a068c3f/recipes/navi-mode"; @@ -64136,12 +67616,12 @@ melpaBuild { pname = "neato-graph-bar"; ename = "neato-graph-bar"; - version = "20171230.1753"; + version = "20181130.849"; src = fetchFromGitLab { owner = "RobertCochran"; repo = "neato-graph-bar"; - rev = "c59f15ed9a40aecc174aa22c4bbfa7978e182705"; - sha256 = "0bdgsxdlwpkd3hjnw1jmj30slakzmj2pinj3pyr5qqba9apxnvri"; + rev = "a7ae35afd67911e8924f36e646bce0d3e3c1bbe6"; + sha256 = "0sx2m2j00xhcb8l7fw595zsn9wjhcj4xb163rjqd3d1wjrk6fpn8"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/49c5bd4e1506a28ada9856e5f70e520890123d16/recipes/neato-graph-bar"; @@ -64212,12 +67692,12 @@ melpaBuild { pname = "neotree"; ename = "neotree"; - version = "20180616.903"; + version = "20181121.1226"; src = fetchFromGitHub { owner = "jaypei"; repo = "emacs-neotree"; - rev = "4f8d80fd51c712df7b11ae8491be3527db46f612"; - sha256 = "04w784pln671nmji7hwyka1vaj20114gfxyh513glhn78by2y5s1"; + rev = "c2420a4b344a9337760981c451783f0ff9df8bbf"; + sha256 = "1wfx37kvsfwrql8zs2739nx7wb51m26vwlcz1jygbrb62n6wq14k"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9caf2e12762d334563496d2c75fae6c74cfe5c1c/recipes/neotree"; @@ -64238,12 +67718,12 @@ melpaBuild { pname = "nerdtab"; ename = "nerdtab"; - version = "20180527.408"; + version = "20180810.2039"; src = fetchFromGitHub { owner = "casouri"; repo = "nerdtab"; - rev = "7af72c3d798ec3a44e6bc8cec18200198192ad9a"; - sha256 = "0n8av79pdq7as45pfd81pffrpg1wrd3ppdk7zd0i85rmyknnix7r"; + rev = "601d531fa3748db733fbdff157a0f1cdf8a66416"; + sha256 = "0l9pbgpp90rhji42zmcn8rlp6pnhkplnpn8w6xflw51iwhdkm1rb"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/59bc273db1d34997ea5d51cc6adc33ec785bc7f3/recipes/nerdtab"; @@ -64265,12 +67745,12 @@ melpaBuild { pname = "netease-music"; ename = "netease-music"; - version = "20180429.1822"; + version = "20181028.554"; src = fetchFromGitHub { owner = "nicehiro"; repo = "netease-music"; - rev = "aecf451fd69f9faa9f86232550ebf8ced5a48254"; - sha256 = "0cb5adrnprlhrpcw06wi84fiva3mwac92rxfi5pgcw9ga213qhy8"; + rev = "31c31cff44d2889c0456ac11d5d38227f15f03b6"; + sha256 = "0fwph4vyp0w4ir2g9bvvmspsgwpl9wqpn43x36y8ihgb3n32wcw8"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ca3d4a8f8d9080e26a8fe2c38c0001d5cfc3c88c/recipes/netease-music"; @@ -64445,12 +67925,12 @@ melpaBuild { pname = "ng2-mode"; ename = "ng2-mode"; - version = "20180520.1731"; + version = "20181211.1610"; src = fetchFromGitHub { owner = "AdamNiederer"; repo = "ng2-mode"; - rev = "177248bca3787fabab70f3026ccf390395171f0d"; - sha256 = "1s6nvjby3vxh0sfmxg4c43vj9fkr8358v8plqvczpnjk3jxk4xvm"; + rev = "aea614669669b40b67484d1c7dc50bd0a3efc011"; + sha256 = "19cmv9lxkmjfi6qiblwmy4r144hfk668l4pgbcvgs72lmrg26ik4"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a856ecd8aca2d9232bb20fa7019de9e1dbbb19f4/recipes/ng2-mode"; @@ -64605,12 +68085,12 @@ melpaBuild { pname = "nim-mode"; ename = "nim-mode"; - version = "20180516.1309"; + version = "20181219.923"; src = fetchFromGitHub { owner = "nim-lang"; repo = "nim-mode"; - rev = "35f4b2cb2d4c142f6f7f0e3ffb06c87b81bb8c26"; - sha256 = "1c4gl09sm8hiwa308xifj4vnnhiv3hvqs7zk0cz245k8pba612ih"; + rev = "a508b4b22497194bc36ffff3744c49977ecd96dc"; + sha256 = "1p7q3vw8xhqgy6d5nnn23kjc66r53z7hxlbz35nr0jcz5ysnrk65"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/dc2ccb5f24b9d55c77eaa7952a9e6a2e0ed7be24/recipes/nim-mode"; @@ -64623,26 +68103,27 @@ license = lib.licenses.free; }; }) {}; - nimbus-theme = callPackage ({ fetchFromGitHub + nimbus-theme = callPackage ({ emacs + , fetchFromGitHub , fetchurl , lib , melpaBuild }: melpaBuild { pname = "nimbus-theme"; ename = "nimbus-theme"; - version = "20180606.1936"; + version = "20190405.1111"; src = fetchFromGitHub { owner = "m-cat"; repo = "nimbus-theme"; - rev = "d4adcf0e821648aef066f9b97808a3c691615749"; - sha256 = "0hvyvc5pvv0n4dv4y1h09vq84gzbf2xjavpiryfxb100hcjicjss"; + rev = "5d957b3e8939cebd008b113c8c4d581a66aba36c"; + sha256 = "0msdb2pyr51430crcnjvsfajd9j4cbk1l09f5r8z3nqadp5df6cj"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/fc0e6b456b76e2379c64a86ad844362c58146dc6/recipes/nimbus-theme"; sha256 = "1hy4rc1v5wg7n6nazdq09gadirb0qvn887mmdavwjnnac45xyi18"; name = "recipe"; }; - packageRequires = []; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/nimbus-theme"; license = lib.licenses.free; @@ -64656,16 +68137,16 @@ melpaBuild { pname = "ninja-mode"; ename = "ninja-mode"; - version = "20141203.2159"; + version = "20181024.739"; src = fetchFromGitHub { - owner = "martine"; + owner = "ninja-build"; repo = "ninja"; - rev = "d3238428c6ed77eb08dfc57854325634401481e2"; - sha256 = "05scnv74g9m70dfj1y71iw0dw38zbb77h2s7kciicr9pdrvdg8d4"; + rev = "d2045dedc39885e702176b2b5e05bc77024ae3aa"; + sha256 = "0jmvjpq7fabb0bjdd4dncb1vdfizya0rjs57d6wvgc8hbgfjsvj8"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/aed2f32a02cb38c49163d90b1b503362e2e4a480/recipes/ninja-mode"; - sha256 = "1m7f25sbkz8k343giczrnw2ah5i3mk4c7csi8kk9x5y16030asik"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/ninja-mode"; + sha256 = "1v6wy9qllbxl37fp9h47000lwp557qss6fdjb3a1f20msg8f70av"; name = "recipe"; }; packageRequires = [ emacs ]; @@ -64709,12 +68190,12 @@ melpaBuild { pname = "nix-mode"; ename = "nix-mode"; - version = "20180629.1501"; + version = "20190119.125"; src = fetchFromGitHub { owner = "NixOS"; repo = "nix-mode"; - rev = "57ac40d53b4f4fe0d61fcabb41f8f3992384048e"; - sha256 = "0l5m5p3rsrjf7ghik3z1bglf255cwliglgr3hiv6qpp121k4p0ga"; + rev = "1e53bed4d47c526c71113569f592c82845a17784"; + sha256 = "172s5lxlns633gbi6sq6iws269chalh5k501n3wffp5i3b2xzdyq"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e1870d786dbfac3b14386c8030e06f2d13ab9da6/recipes/nix-mode"; @@ -64762,12 +68243,12 @@ melpaBuild { pname = "nix-update"; ename = "nix-update"; - version = "20180424.1748"; + version = "20190124.1135"; src = fetchFromGitHub { owner = "jwiegley"; repo = "nix-update-el"; - rev = "d92b2c190dbaeb16751be724fe381f8a796c424c"; - sha256 = "0lqhc7nnw96pz9alq75w6zmjb6carmaak1g2cf4csslqbihnbriz"; + rev = "fc6c39c2da3fcfa62f4796816c084a6389c8b6e7"; + sha256 = "01cpl4w49m5dfkx7l8g1q183s341iz6vkjv2q4fbx93avd7msjgi"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c59e828d4cad3d75344b34b9666349250e53b6ea/recipes/nix-update"; @@ -64816,12 +68297,12 @@ melpaBuild { pname = "nlinum-hl"; ename = "nlinum-hl"; - version = "20170613.1748"; + version = "20190301.1317"; src = fetchFromGitHub { owner = "hlissner"; repo = "emacs-nlinum-hl"; - rev = "46e26d1e3d5bfe9a3f79a5cce21f3c442ac10da8"; - sha256 = "1yi3rg6j8r0c7a70dghj838vfslwdvjcy6w7735pfbdb073mpzfs"; + rev = "dc6b365a58e06c7d637a76a31c71a40b20da8b56"; + sha256 = "1fvvyc77iggil9mzy8hd4vx8xw96bkfx6pmlb9ami428qp8r45g7"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b13a886535a5c33fe389a6b616988b7377249625/recipes/nlinum-hl"; @@ -64949,12 +68430,12 @@ melpaBuild { pname = "no-littering"; ename = "no-littering"; - version = "20180620.600"; + version = "20190224.1309"; src = fetchFromGitHub { owner = "emacscollective"; repo = "no-littering"; - rev = "f1ac5274ba49e3533c356c4cd6d5f8ebed0ec517"; - sha256 = "07w2x6s29332m3q1cy1igbjqpsyfq3l9x9gk0chn4n0c93wa0174"; + rev = "974f105ea17729aa77a5bf1b4d70cb6e09b4cd6a"; + sha256 = "08bgcj8n72zcyzx1qlg4pksnp6ppnzw51a57fw677bri4awny6pi"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/57a2fb9524df3fdfdc54c403112e12bd70888b23/recipes/no-littering"; @@ -64968,6 +68449,7 @@ }; }) {}; noaa = callPackage ({ cl-lib ? null + , dash , emacs , fetchFromGitHub , fetchurl @@ -64977,19 +68459,19 @@ melpaBuild { pname = "noaa"; ename = "noaa"; - version = "20180419.1133"; + version = "20190202.834"; src = fetchFromGitHub { owner = "thomp"; repo = "noaa"; - rev = "e99f7702512de49f93138dce6e0a7cfe2bc5eed3"; - sha256 = "1fhq6bly76qj67dbkbdlhl0icqpl4h1k3lip9ig64d8fqykpi8al"; + rev = "532eb14328027ee29e124768feec23a8ef7ee798"; + sha256 = "1qc9im01fw7k9907a9d2a87hndyyn3sk1kw31cylsvrzsb7ss9f9"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1272203f85375e50d951451bd5fd3baffd57bbfa/recipes/noaa"; sha256 = "11hzpmgapmf6dc5imvj5jvzcy7hfddyz74lqmrq8128i72q1sj0v"; name = "recipe"; }; - packageRequires = [ cl-lib emacs request ]; + packageRequires = [ cl-lib dash emacs request ]; meta = { homepage = "https://melpa.org/#/noaa"; license = lib.licenses.free; @@ -65104,12 +68586,12 @@ melpaBuild { pname = "nodejs-repl"; ename = "nodejs-repl"; - version = "20170722.443"; + version = "20181024.954"; src = fetchFromGitHub { owner = "abicky"; repo = "nodejs-repl.el"; - rev = "4a4104dbf2cd314e90f35d200f28bd93c34708d0"; - sha256 = "1hcvi4nhgfrjalq8nw20kjjpcf4xmjid70qpqdv8dsgfann5i3wl"; + rev = "d518947584c8041a36ffa103e2d487d852cd12ee"; + sha256 = "05ccv87rnw7fss3lib8m9sywjrj6n92fnd7mmhmjh27g2klqc83z"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/14f22f97416111fcb02e299ff2b20c44fb75f049/recipes/nodejs-repl"; @@ -65148,6 +68630,32 @@ license = lib.licenses.free; }; }) {}; + nodenv = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "nodenv"; + ename = "nodenv"; + version = "20181023.843"; + src = fetchFromGitHub { + owner = "twlz0ne"; + repo = "nodenv.el"; + rev = "832fb0cbac4513edde7ebd6d1ab971c54313be36"; + sha256 = "0hn29y8gv9y9646yacnhirx2iz1z7h0p3wrzjn5axbhw0y382qhq"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/272df58a1112c8c082c740d54bd37469af513d4a/recipes/nodenv"; + sha256 = "15wqlpswp4m19widnls21rm5n0ijfhmw3vyx0ch5k2bhi4a5rip6"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/nodenv"; + license = lib.licenses.free; + }; + }) {}; noflet = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -65207,12 +68715,12 @@ melpaBuild { pname = "nord-theme"; ename = "nord-theme"; - version = "20180102.1001"; + version = "20180913.1049"; src = fetchFromGitHub { owner = "arcticicestudio"; repo = "nord-emacs"; - rev = "b5c1dc762fe3acaa88a0ce9640085d45d0109c43"; - sha256 = "0j1cbwlh646gkjp70maqbq7izchgc23wdax50ykgkw3mxhjrlsf2"; + rev = "c4e0b5548e2f3a149658617b33813cb115bdecfe"; + sha256 = "0am2gpk63b4cjlpdy1z2mrhq09q1hi54jqpmh2rvdvijsvp6335q"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/31cb60069825abe3998c8b43bc9177b39a7f3659/recipes/nord-theme"; @@ -65307,11 +68815,11 @@ melpaBuild { pname = "notmuch"; ename = "notmuch"; - version = "20180503.1659"; + version = "20190331.920"; src = fetchgit { url = "https://git.notmuchmail.org/git/notmuch"; - rev = "c20a5eb80520a11cb697a45b0d9553c68e2199c8"; - sha256 = "13gpsgx5k26x8r38q56y01mfz2r1haxw76hc52mq8vypfl1gpw3x"; + rev = "8e584392dce53d322b9403306991944c5578b1f0"; + sha256 = "1yi7f2fz3bl9x2n05iv6vsdvahyyxn6520wp7hs73cq75wqc174r"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d05fbde3aabfec4efdd19a33fd2b1297905acb5a/recipes/notmuch"; @@ -65360,12 +68868,12 @@ melpaBuild { pname = "nov"; ename = "nov"; - version = "20180617.1444"; + version = "20190115.1054"; src = fetchFromGitHub { owner = "wasamasa"; repo = "nov.el"; - rev = "3be6e8cd1a6311b0782ca2aa3d9961bec6183632"; - sha256 = "1i7caa7s0c2qmf8bf9bi6sp7yavpnxlck6gm9fc0lkywrjfq0ixs"; + rev = "b720d91ca3b0a0fcb5387428716ea57f652c75b3"; + sha256 = "0yp8i4gnw4h2557793pjvxqwn8cjrzz0z5y21w8r8ffmw24x51if"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cf543955ba2d5d0074fa2a5ba176f9415f6e006d/recipes/nov"; @@ -65386,12 +68894,12 @@ melpaBuild { pname = "nova-theme"; ename = "nova-theme"; - version = "20180530.801"; + version = "20190220.1638"; src = fetchFromGitHub { owner = "muirmanders"; repo = "emacs-nova-theme"; - rev = "2f41855ac250d822d2e8cec4610c8645718bd7e3"; - sha256 = "0gc4jw9mdv2kmhwwf1avxr0magrdhpqlxakd29dxjq9md8qybrvj"; + rev = "b37c4cf078a811f40e30dbb790fe26845d601cd9"; + sha256 = "1wxl6b14429kqvrm6mb2zmcxixcz7l4k8p5y408jr0yjdw3rlpki"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/16457166c17fb1cc074a34c61e52ebc285c0eacc/recipes/nova-theme"; @@ -65509,6 +69017,32 @@ license = lib.licenses.free; }; }) {}; + ns-auto-titlebar = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "ns-auto-titlebar"; + ename = "ns-auto-titlebar"; + version = "20181022.1454"; + src = fetchFromGitHub { + owner = "purcell"; + repo = "ns-auto-titlebar"; + rev = "b16092e8058af63ad2bc222f166b0aa3cb66bf9d"; + sha256 = "0m1ih8ca4702zrkhl3zdvwbci96wyjlxhpfx95w372k25rca87dq"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/d22ebb5ef16df0c56d6031cb1c7f312dca514482/recipes/ns-auto-titlebar"; + sha256 = "1wk4y2jwl65z18cv57m8zkcg31wp9by74z2zvccxzl7mwlhy7kqg"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/ns-auto-titlebar"; + license = lib.licenses.free; + }; + }) {}; nsis-mode = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -65534,11 +69068,38 @@ license = lib.licenses.free; }; }) {}; + nswbuff = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "nswbuff"; + ename = "nswbuff"; + version = "20190320.40"; + src = fetchFromGitHub { + owner = "joostkremers"; + repo = "nswbuff"; + rev = "362da7f3687e2eb5bb11667347de85f4a9d002bc"; + sha256 = "0l2xfz8z5qd4hz3kv6zn7h6qq3narkilri8a071y1n8j31jps4ma"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/c0f7e952f3fbec691df51d19224f701e6530f16e/recipes/nswbuff"; + sha256 = "1fq2dp9jlhfl9rqw6ldh0xnm0hx9ama2wf87s51qgqxxdn9ngk8x"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/nswbuff"; + license = lib.licenses.free; + }; + }) {}; nu-mode = callPackage ({ ace-window , avy , fetchFromGitHub , fetchurl , lib + , lv , melpaBuild , transpose-frame , undo-tree @@ -65546,12 +69107,12 @@ melpaBuild { pname = "nu-mode"; ename = "nu-mode"; - version = "20180619.1428"; + version = "20190404.1332"; src = fetchFromGitHub { owner = "pyluyten"; repo = "emacs-nu"; - rev = "22cf474e70c4e72045bfb1630814ef03e3b76096"; - sha256 = "0hfrf92kf3p91d5yn3b4i8x24j20v42rph4dvspmbmkfcyh9qinh"; + rev = "d5fb4d26d1b0bb383ea2827cc5af5dfb2a269d2b"; + sha256 = "0nd7ypin9kl784iqffznld6kknghdjywqnjw5nwinfgkwhcrjpdd"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/230d5f8fdd965a24b8ff3cc94acf378d04815fca/recipes/nu-mode"; @@ -65561,6 +69122,7 @@ packageRequires = [ ace-window avy + lv transpose-frame undo-tree which-key @@ -65786,14 +69348,14 @@ ename = "nyx-theme"; version = "20170910.607"; src = fetchFromGitHub { - owner = "GuidoSchmidt"; + owner = "guidoschmidt"; repo = "emacs-nyx-theme"; rev = "afe2b8c3b5421b4c292d182dcf77079b278e93d8"; sha256 = "1qamw4x3yrygy8qkicy6smxksnsfkkp76hlnivswh7dm3fr23v6m"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/3440905a20bc91bb2637a87c04ff8410379f150d/recipes/nyx-theme"; - sha256 = "17ajpsbwbal1rwgd38kckh1kvnd412h6fkvj2x4j5rqvjr9nhgr6"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/nyx-theme"; + sha256 = "11629h7jfnq2sahwiiqx01qpv3xb0iqvcqm5k9w1zhg01jhjfmw2"; name = "recipe"; }; packageRequires = [ emacs ]; @@ -65802,6 +69364,31 @@ license = lib.licenses.free; }; }) {}; + nz-holidays = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "nz-holidays"; + ename = "nz-holidays"; + version = "20190307.1437"; + src = fetchFromGitHub { + owner = "techquila"; + repo = "nz-holidays"; + rev = "b609dbb02e6824600b43d3976c8a428347c7df93"; + sha256 = "10z563jmgwz22jv720rssc3irbl9624icfp059pp0qirnlg2ibx0"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/4dfbe628247fc73d9a0963b7e9b92b07854817c9/recipes/nz-holidays"; + sha256 = "0h6dnwpinm3bxir1l69ggf483gjfglpi46z3ffiac3yl3h00j5m6"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/nz-holidays"; + license = lib.licenses.free; + }; + }) {}; o-blog = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -65852,6 +69439,34 @@ license = lib.licenses.free; }; }) {}; + ob-ammonite = callPackage ({ ammonite-term-repl + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , s + , xterm-color }: + melpaBuild { + pname = "ob-ammonite"; + ename = "ob-ammonite"; + version = "20190218.2351"; + src = fetchFromGitHub { + owner = "zwild"; + repo = "ob-ammonite"; + rev = "c9832401f0f782aa5ca73c289c5aaa93076d77a6"; + sha256 = "1igy3c239gaxcby6ap2hhfk0kdh3g1mkfx8hh5f2c46ncv4zrhf0"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/508358506a6994baf120be2acba86762f5727c6c/recipes/ob-ammonite"; + sha256 = "0wr7p3sfn9m8vz87lzas943zcm8vkzgfki9pbs3rh3fxvdc197lb"; + name = "recipe"; + }; + packageRequires = [ ammonite-term-repl s xterm-color ]; + meta = { + homepage = "https://melpa.org/#/ob-ammonite"; + license = lib.licenses.free; + }; + }) {}; ob-applescript = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -65888,12 +69503,12 @@ melpaBuild { pname = "ob-async"; ename = "ob-async"; - version = "20180624.1553"; + version = "20190219.2310"; src = fetchFromGitHub { owner = "astahlman"; repo = "ob-async"; - rev = "2333106205fd3fa244ccdfbd95fcabf29eb81116"; - sha256 = "0lqazlzqsqhhkag7k82ar2clbhhm17mv4bdw0fh8nh4bkpph7p5a"; + rev = "73e57a9297849bb50336799ae7858777b6b386ee"; + sha256 = "1g2agc6qwklg5cxfgm28fc5swlw54sn66lqk7q0hjn1gdq9rdqdm"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/ob-async"; @@ -65915,11 +69530,11 @@ melpaBuild { pname = "ob-axiom"; ename = "ob-axiom"; - version = "20171103.1548"; + version = "20190223.431"; src = fetchgit { url = "https://bitbucket.org/pdo/axiom-environment"; - rev = "38cea35e98997e0baf25ab6a1d70ac6daa83a73a"; - sha256 = "1g1br2va3qz4r0pxmg4254vyscwal6kl2vh0nzlgjpck7x19id5i"; + rev = "3fde83f160e785fe4647ddb849df3cc64b23d27c"; + sha256 = "0n102k1zch706kls2s196fcc84pjsc0mnhasb5vi27bhk229x8q5"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8b4c6b03c5ff78ce327dcf66b175e266bbc53dbf/recipes/ob-axiom"; @@ -65990,12 +69605,12 @@ melpaBuild { pname = "ob-cfengine3"; ename = "ob-cfengine3"; - version = "20180102.1012"; + version = "20190329.1503"; src = fetchFromGitHub { owner = "nickanderson"; repo = "ob-cfengine3"; - rev = "2d15491e91ba84f5242610fdffafe31d4d68dc4a"; - sha256 = "1fp9ll4kp3qjyj0ai1fygrwzja7yblq7si8h7hsgwfmcr261d15v"; + rev = "96e74940351894512dca89cff473c46e74458587"; + sha256 = "04kdg0dwbzdr4pr7y55iiax9ba0y0is8prgn98y9gj9d383r2mif"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d068233c438e76cbcc6e9a97cbec9b2550a18ed6/recipes/ob-cfengine3"; @@ -66303,12 +69918,12 @@ melpaBuild { pname = "ob-go"; ename = "ob-go"; - version = "20170731.1057"; + version = "20190201.1240"; src = fetchFromGitHub { owner = "pope"; repo = "ob-go"; - rev = "28a0250cd969974936e44dfdccb0265632d25f84"; - sha256 = "1g595miqn7wdmphvgi06ijqzjy801nal226kbghk9p002s3xzzn0"; + rev = "2067ed55f4c1d33a43cb3f6948609d240a8915f5"; + sha256 = "069w9dymiv97cvlpzabf193nyw174r38lz5j11x23x956ladvpbw"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3afb687d6d3d1e52336ca9a7343278a9f37c3d54/recipes/ob-go"; @@ -66321,6 +69936,34 @@ license = lib.licenses.free; }; }) {}; + ob-html-chrome = callPackage ({ emacs + , f + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , s }: + melpaBuild { + pname = "ob-html-chrome"; + ename = "ob-html-chrome"; + version = "20181219.242"; + src = fetchFromGitHub { + owner = "nikclayton"; + repo = "ob-html-chrome"; + rev = "7af6e4a24ed0aaf67751bdf752c7ca0ba02bb8d4"; + sha256 = "0h33y11921ajw60b4hqpg0nvdvx3w3cia90wf53c5zg2bckcrfjh"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/ac4380b5ea63c5296e517fccafa4d6a69dc73d0d/recipes/ob-html-chrome"; + sha256 = "1z3bi5i9n6dqvarl32syb6y36px3pf0pppqxn02rrx1rwvg81iql"; + name = "recipe"; + }; + packageRequires = [ emacs f s ]; + meta = { + homepage = "https://melpa.org/#/ob-html-chrome"; + license = lib.licenses.free; + }; + }) {}; ob-http = callPackage ({ cl-lib ? null , fetchFromGitHub , fetchurl @@ -66412,12 +70055,12 @@ melpaBuild { pname = "ob-kotlin"; ename = "ob-kotlin"; - version = "20170725.718"; + version = "20180823.621"; src = fetchFromGitHub { owner = "zweifisch"; repo = "ob-kotlin"; - rev = "3b2f57e9944cfc36f2714dc550db42159904929a"; - sha256 = "1fgfl4j0jgz56a1w8h2mvnzisz123c1xz7ga380bg1hmy44dbv5j"; + rev = "b817ffb7fd03a25897eb2aba24af2035bbe3cfa8"; + sha256 = "1w31cj1wbblm9raav4kxbykf124k6rvn0ryxfn6myvv1x900w02a"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7aa74d349eb55aafddfc4327b6160ae2da80d689/recipes/ob-kotlin"; @@ -66488,12 +70131,12 @@ melpaBuild { pname = "ob-ml-marklogic"; ename = "ob-ml-marklogic"; - version = "20170622.1133"; + version = "20190311.2023"; src = fetchFromGitHub { owner = "ndw"; repo = "ob-ml-marklogic"; - rev = "f678af0f440b3030e311ed6fbc444200be04da91"; - sha256 = "1fszg6bn927bi1dx4zgiq0wr7zxrjv8sjrwgn9mansbljszbmccm"; + rev = "adc16f6e4d056245fc8dc680383297e1c11d1e78"; + sha256 = "1kwazr0kixr64jggrh7gs172qcprz7ifg1zdm4cf0947nsspjnc1"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/edce412552d4798450493e0a3dbe768f38f77cc7/recipes/ob-ml-marklogic"; @@ -66542,14 +70185,14 @@ ename = "ob-nim"; version = "20170809.1130"; src = fetchFromGitHub { - owner = "lompik"; + owner = "Lompik"; repo = "ob-nim"; rev = "742b6b1fccdb245807b540f41f7f422b27f36230"; sha256 = "0qnx9b40y1vxb7wsznnn29chl80fwlh42g2gm9l1p8jvli3jm2wp"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/7263ebadeabe36359c14ffb36deda2bc75f2ca61/recipes/ob-nim"; - sha256 = "07i9n9z9xswbisq4rvgg7vbqj28c6j1xk96kpdbk8ffdvgybcpfz"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/ob-nim"; + sha256 = "0j8mk12d29jyhhj4dlc0jykqmqy8g0yrbv7f2sqig83wj531bwza"; name = "recipe"; }; packageRequires = [ cl-lib ]; @@ -66591,12 +70234,12 @@ melpaBuild { pname = "ob-restclient"; ename = "ob-restclient"; - version = "20180703.902"; + version = "20180904.9"; src = fetchFromGitHub { owner = "alf"; repo = "ob-restclient.el"; - rev = "3af542c0895d7b4fabe84275ac5c7a214340c8ec"; - sha256 = "0khrvpn92kxpfndzybk9h2and5a7rzazvj598lpwllfs1y8fbsas"; + rev = "00b2c5a6637ab6e504708612357ffb29b5416e4b"; + sha256 = "03jsdczywys5df1ac7bmli31wkxvbsymd5k0s6iaz62kc454l3wj"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/28c1d3af3f8b2f598b80b03b64de5d15cbb3f13d/recipes/ob-restclient"; @@ -66616,12 +70259,12 @@ melpaBuild { pname = "ob-rust"; ename = "ob-rust"; - version = "20180606.1646"; + version = "20180911.835"; src = fetchFromGitHub { owner = "micanzhang"; repo = "ob-rust"; - rev = "a0e3c62ac3d4d44ae73746b5a45c04322c908bd3"; - sha256 = "1hjn27k9jnykipb9lbk2py83abaawvsm503pkzmggd4zzpf6f9qq"; + rev = "f57b489d931d6a7f9ca2b688af3352fd706f5f6b"; + sha256 = "1fsvfy2yr22mhjkdn0bv3n3i8039a5gw5rs1cq41msv8ghb2cp0i"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/843affc2fd481647c5377bf9a96b636b39718034/recipes/ob-rust"; @@ -66696,12 +70339,12 @@ melpaBuild { pname = "ob-sql-mode"; ename = "ob-sql-mode"; - version = "20180426.1211"; + version = "20190212.1255"; src = fetchFromGitHub { owner = "nikclayton"; repo = "ob-sql-mode"; - rev = "8d36d312bec4a742bec8890373948a888cac18de"; - sha256 = "1q69acl5lrnac14r8mddvdphvfl4wphqilfgm8l2f5nzhi9cmn02"; + rev = "49dac3b64f9eaebe9d406e398f95a40b2993e6d0"; + sha256 = "0js5ygc43qi83jzfcri2nv71ii4q7a9yc1m4q34iyn0zli70r4gh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/ob-sql-mode"; @@ -66740,6 +70383,34 @@ license = lib.licenses.free; }; }) {}; + ob-tmux = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , s + , seq }: + melpaBuild { + pname = "ob-tmux"; + ename = "ob-tmux"; + version = "20180831.317"; + src = fetchFromGitHub { + owner = "ahendriksen"; + repo = "ob-tmux"; + rev = "73bed0ebad27f0ad57ea67582494543eb2fab73d"; + sha256 = "0wgfjm3xf4wz8kfxnijfmgkifp6f6fwk5y31vdwadkjjggbhp0pk"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/a3f47fbfe745972e690e8028f893bb38ba30978d/recipes/ob-tmux"; + sha256 = "12c0m2xxd75lbc98h7cwprmdn823mh2ii59pxr6fgnq7araqkz20"; + name = "recipe"; + }; + packageRequires = [ emacs s seq ]; + meta = { + homepage = "https://melpa.org/#/ob-tmux"; + license = lib.licenses.free; + }; + }) {}; ob-translate = callPackage ({ fetchFromGitHub , fetchurl , google-translate @@ -66895,6 +70566,33 @@ license = lib.licenses.free; }; }) {}; + objed = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "objed"; + ename = "objed"; + version = "20190407.1014"; + src = fetchFromGitHub { + owner = "clemera"; + repo = "objed"; + rev = "5aa473d7c276f1ed5956e51b7f7df4e35d0ec895"; + sha256 = "00gmssf91gp76b5rl0glggfwpilld7hg7w2fy6binvgjbn8ncr46"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/4abc6d927a2bf238d23256adcc9f09a751c90374/recipes/objed"; + sha256 = "0iqvwa664fzklajqgnss7igjh7jr9v9i8dp9acm42g8ingp9zf7b"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs ]; + meta = { + homepage = "https://melpa.org/#/objed"; + license = lib.licenses.free; + }; + }) {}; obsidian-theme = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -67130,12 +70828,12 @@ melpaBuild { pname = "octopress"; ename = "octopress"; - version = "20170813.615"; + version = "20190122.1707"; src = fetchFromGitHub { owner = "aaronbieber"; repo = "octopress.el"; - rev = "b4c25df9e3ccf49ac27c0a152daa4e27d1247d56"; - sha256 = "0zidh929sc1wi695ibzglbybfvxz2rj1365mij97088wwdk5dyz8"; + rev = "f2c92d5420f14fc9167c7de1873836510e652de2"; + sha256 = "0s5sv685h350zky46fr95bs1w814g8ksjndxwmgarldklxilsyji"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7205d3d43797755077f19f57f531b4b39e77bae3/recipes/octopress"; @@ -67148,6 +70846,33 @@ license = lib.licenses.free; }; }) {}; + oer-reveal = callPackage ({ emacs + , fetchFromGitLab + , fetchurl + , lib + , melpaBuild + , org-re-reveal }: + melpaBuild { + pname = "oer-reveal"; + ename = "oer-reveal"; + version = "20190407.1005"; + src = fetchFromGitLab { + owner = "oer"; + repo = "oer-reveal"; + rev = "a42da802360d3dd90711e353ea83ac4c74f8bbc7"; + sha256 = "0yw9dnz33p8v6084fa2w3cvlcjpi5gi86aphpzfza42cxbc3wwss"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/5982e377cd4cc2e72bfe4650c473c9f6b71085e3/recipes/oer-reveal"; + sha256 = "1j43in64p0janfr48v2llh888c337cv66yl6xswidnqysndfg6pg"; + name = "recipe"; + }; + packageRequires = [ emacs org-re-reveal ]; + meta = { + homepage = "https://melpa.org/#/oer-reveal"; + license = lib.licenses.free; + }; + }) {}; offlineimap = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -67233,12 +70958,12 @@ melpaBuild { pname = "olivetti"; ename = "olivetti"; - version = "20180531.37"; + version = "20190330.933"; src = fetchFromGitHub { owner = "rnkn"; repo = "olivetti"; - rev = "02272654f1d920ea2da5a4b553acd5e5cc096ab1"; - sha256 = "0f7i2f42mlr27d9wa9h2zvz0k0xyqvwndzgz81x8gsm0w1iv15k9"; + rev = "cb22f8ab14b7a7ad3b3650b0e36a1b61d1253950"; + sha256 = "149zf7cbd8jzj4a4rpi2vbg0z90zqsdiizb1yy579phg3v2s4b69"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/697334ca3cdb9630572ae267811bd5c2a67d2a95/recipes/olivetti"; @@ -67452,17 +71177,16 @@ , lib , melpaBuild , popup - , s - , shut-up }: + , s }: melpaBuild { pname = "omnisharp"; ename = "omnisharp"; - version = "20180606.318"; + version = "20190227.2222"; src = fetchFromGitHub { owner = "OmniSharp"; repo = "omnisharp-emacs"; - rev = "ef369f79f5e65077b640b0d7525a1c9a3739713f"; - sha256 = "19awri250vya7c4pjmkwwxxnsimw0rjy75gary0g1hzr492zibdb"; + rev = "be97227714bc14b625c5cbf6eaa9a2a74c940631"; + sha256 = "1b3zpckbhpada02yq6lzag8b1ayaw4py4i3rvq2lz5qbjpchhv5k"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e327c483be04de32638b420c5b4e043d12a2cd01/recipes/omnisharp"; @@ -67479,7 +71203,6 @@ flycheck popup s - shut-up ]; meta = { homepage = "https://melpa.org/#/omnisharp"; @@ -67574,12 +71297,12 @@ melpaBuild { pname = "one-themes"; ename = "one-themes"; - version = "20180507.1008"; + version = "20181030.442"; src = fetchFromGitHub { owner = "balajisivaraman"; repo = "emacs-one-themes"; - rev = "fb633009a173dee56cf581198d9c26871189edf8"; - sha256 = "0920g4mvqf97v6akw4fc1aq8aq2mnm8ah2xlkcgsc4a78bhk7aq1"; + rev = "1b50f2f88fe5e207cbe6d68db710361e3bc4a9ce"; + sha256 = "1jap6i7kavvwv7bis4x8s7a3ww4srsm3qb05r2vbchfgk7adw92m"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/504fb2fa2fe17eb008f7e9b8f7fb394f4a3ebd28/recipes/one-themes"; @@ -67901,6 +71624,33 @@ license = lib.licenses.free; }; }) {}; + ordinal = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "ordinal"; + ename = "ordinal"; + version = "20190104.621"; + src = fetchFromGitHub { + owner = "zonuexe"; + repo = "ordinal.el"; + rev = "bfad160d7c4b6faecfe5ac986bb4858cf7149b59"; + sha256 = "1zmsac4jg3yvr3n7pkz8fhpgw9b6lqm9zcq3xh8zmb1x4ckf33z8"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/ea3dd6fe4cacc229dd1371cb66dd1cfd07321bf4/recipes/ordinal"; + sha256 = "19s27mv7kqcg9qxa844al7q1hk0qbiqh93g1n54r3b6s980dlgcv"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs ]; + meta = { + homepage = "https://melpa.org/#/ordinal"; + license = lib.licenses.free; + }; + }) {}; org-ac = callPackage ({ auto-complete-pcmp , fetchFromGitHub , fetchurl @@ -67967,14 +71717,14 @@ ename = "org-alert"; version = "20180523.1833"; src = fetchFromGitHub { - owner = "groksteve"; + owner = "spegoraro"; repo = "org-alert"; rev = "f87bff4acbd839acb4d2245b56b2c3d21f950911"; sha256 = "05xhp1ggpcgd48vcrxf9l43aasxfjw1ypgzpq3gp7031x83m9rr6"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/2976b7f9271bc46679a5774ff5f388b81a9f0cf8/recipes/org-alert"; - sha256 = "0n5a24iv8cj395xr0gfgi0hs237dd98zm2fws05k47vy3ygni152"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/org-alert"; + sha256 = "01bb0s22wa14lyr9wi58cvk4b03xqq268y3dvxbrhymw1ld97zk2"; name = "recipe"; }; packageRequires = [ alert dash s ]; @@ -68094,12 +71844,12 @@ melpaBuild { pname = "org-board"; ename = "org-board"; - version = "20180530.1120"; + version = "20190203.624"; src = fetchFromGitHub { owner = "scallywag"; repo = "org-board"; - rev = "8899d8f8c1977df2397793a54868317463120553"; - sha256 = "190rf8hi1233rjmr78cqy03m1vspcsdbzcf64xs8n4vckyb18vl4"; + rev = "4fe9c9d67b5649c317df32fb027d5b61c37c15f3"; + sha256 = "1crr5rag71sgzddpmrxiqkal5csc19bkbfrsqrq3a7r1d91bb7y5"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d8063ee17586d9b1e7415f7b924239826b81ab08/recipes/org-board"; @@ -68113,6 +71863,7 @@ }; }) {}; org-bookmark-heading = callPackage ({ emacs + , f , fetchFromGitHub , fetchurl , lib @@ -68120,19 +71871,19 @@ melpaBuild { pname = "org-bookmark-heading"; ename = "org-bookmark-heading"; - version = "20170510.1008"; + version = "20180904.1009"; src = fetchFromGitHub { owner = "alphapapa"; repo = "org-bookmark-heading"; - rev = "8e184f1ab1ef68417db9f12c7dce4d221fe6d496"; - sha256 = "1bhkfn2x02vpd0rxdgwz6lyycdnak2hxplna0hizim1k804gkxwn"; + rev = "eba5ef7a3c992c4a9da86f64d12fca0c1158208a"; + sha256 = "1amq48yldydg9prcxvxn5yi0k8xk87h1azscr9hh9phnll2yys1d"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/eaadbd149399c6e3c48ac5cbeedeb29a3f5791f1/recipes/org-bookmark-heading"; sha256 = "1q92rg9d945ypcpb7kig2r0cr7nb7avsylaa7nxjib25advx80n9"; name = "recipe"; }; - packageRequires = [ emacs ]; + packageRequires = [ emacs f ]; meta = { homepage = "https://melpa.org/#/org-bookmark-heading"; license = lib.licenses.free; @@ -68147,12 +71898,12 @@ melpaBuild { pname = "org-brain"; ename = "org-brain"; - version = "20180712.1410"; + version = "20190305.616"; src = fetchFromGitHub { owner = "Kungsgeten"; repo = "org-brain"; - rev = "d8dc1c4914c6200eaf44e36bf51a3cf02ef88fb9"; - sha256 = "1lygmnxyqgp0pm7gjy38vlkycyipqwhmyhmwqs3xr2hxgb9rlfd3"; + rev = "62cf65d3586cfeecb6339adcacc0515a36bbcc63"; + sha256 = "0vjq1nnk5qq0362ccp367sxj1qwz0ahmb4qkfcz92fkpzhxch2v9"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/47480fbae06e4110d50bc89db7df05fa80afc7d3/recipes/org-brain"; @@ -68172,12 +71923,12 @@ melpaBuild { pname = "org-bullets"; ename = "org-bullets"; - version = "20171127.526"; + version = "20180208.1543"; src = fetchFromGitHub { owner = "emacsorphanage"; repo = "org-bullets"; - rev = "5b096148bc37306f73b27da838dca751d5b1936f"; - sha256 = "1yxikvbsbrqv9kjh1dc55w3xm44x4s7gamxq4f6jm045p8abfqrr"; + rev = "b56f2e3812626f2c4ac1686073d102c71f4a8513"; + sha256 = "0a0dml6y49n3469vrfpgci40k4xxlk0q4kh2b27shjb440wrmv4x"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/fe60fc3c60d87b5fd7aa24e858c79753d5f7d2f6/recipes/org-bullets"; @@ -68232,8 +71983,8 @@ sha256 = "01ffkk79wz2qkh9h9cjl59j34wvbiqzzxbbc9a06lh2rc946wgis"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/b20edd229469b33ea87c40cfd06aa0bf95d149de/recipes/org-capture-pop-frame"; - sha256 = "0g0b3vifwg39rb0fmad7y955dcqccnm01c6m27cv2x4xfib8ik3w"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/e608f40d00a3b2a80a6997da00e7d04f76d8ef0d/recipes/org-capture-pop-frame"; + sha256 = "1k0njip25527nkn8w11yl7dbk3zv9p9lhx0a9xx293havjxygvyi"; name = "recipe"; }; packageRequires = [ emacs ]; @@ -68278,12 +72029,12 @@ melpaBuild { pname = "org-chef"; ename = "org-chef"; - version = "20180706.1835"; + version = "20190320.1617"; src = fetchFromGitHub { owner = "Chobbes"; repo = "org-chef"; - rev = "6b004af05d05c981b9cf9d24a525242e36129b46"; - sha256 = "1jb2s3q02z8rjzcdxmnk91p4f75illdfjmmz93yv0izp5irhm9s7"; + rev = "22fc63ca946a3e684c4298e0482cec9acb1af0fb"; + sha256 = "1fnlazvj2fhhiv33b5f43d5h32c4n1sz7kav6g5gnb90sb6qnzly"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/23b9e64887a290fca7c7ab2718f627f8d728575f/recipes/org-chef"; @@ -68304,12 +72055,12 @@ melpaBuild { pname = "org-cliplink"; ename = "org-cliplink"; - version = "20180717.408"; + version = "20181022.539"; src = fetchFromGitHub { owner = "rexim"; repo = "org-cliplink"; - rev = "7d35b09ebdb160a2aee3145766454a11d27b3fb7"; - sha256 = "0kskxy07i2yhb36ncsqxm50m2cry40qc7gg4x4z7rhbmski653ab"; + rev = "7ab98f2b17a627e907b50c27737ec1a8ae8b0f3d"; + sha256 = "0rwh5602d6hd0nvr3j50m2xz48a2kwknnn0f4aabshhb5x0ry5g8"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7ddb13c59441fdf4eb1ba3816e147279dea7d429/recipes/org-cliplink"; @@ -68332,12 +72083,12 @@ melpaBuild { pname = "org-clock-convenience"; ename = "org-clock-convenience"; - version = "20160830.1156"; + version = "20190130.810"; src = fetchFromGitHub { owner = "dfeich"; repo = "org-clock-convenience"; - rev = "d4f98e95d75d78822ddfab6b67bc971516f9773c"; - sha256 = "0s69jqadrgsmlv74386i900gr6xr3kgr5x1n75gqf4rsdmhx4s5d"; + rev = "7d14699a15ad6c5b9a63246a11188c77f8800e94"; + sha256 = "05r6jgh8ys4ihpns7g64n4zbnvyy5fvndf9v7zinq2nk6grb393q"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a80ed929181cdd28886ca598a0c387a31d239b2e/recipes/org-clock-convenience"; @@ -68377,6 +72128,32 @@ license = lib.licenses.free; }; }) {}; + org-clock-split = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "org-clock-split"; + ename = "org-clock-split"; + version = "20180909.1347"; + src = fetchFromGitHub { + owner = "justintaft"; + repo = "org-clock-split"; + rev = "b2f1497b62e7f4a767be02e249e4ac95d4f8f21c"; + sha256 = "099jxkyx7ikfqz99sx632a6c0mc630qkix3c307sm7y317jcdz8l"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/dc8517485e39093a3be387213f766d1df7d50061/recipes/org-clock-split"; + sha256 = "1ihqp4ilz4a3qs2lrc3j0lqkjh782510m2nbzba89pasgl4c4jhw"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/org-clock-split"; + license = lib.licenses.free; + }; + }) {}; org-clock-today = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -68481,6 +72258,34 @@ license = lib.licenses.free; }; }) {}; + org-d20 = callPackage ({ dash + , emacs + , fetchgit + , fetchurl + , lib + , melpaBuild + , s + , seq }: + melpaBuild { + pname = "org-d20"; + ename = "org-d20"; + version = "20190120.1417"; + src = fetchgit { + url = "https://git.spwhitton.name/org-d20"; + rev = "0154efc1f20fca5c1c0bedd59920512d0f72b7a1"; + sha256 = "0rapd9rwazpb1fpzp93b0may9qyhf6drx9vqqb1pvigav3j892hi"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/98bf91038196dfb59c491c9ed96c6b6a0cb311a9/recipes/org-d20"; + sha256 = "158n900ifb1mfckd0gjmb9gpzibh8a2x56flbn2r035gcdbb7wc5"; + name = "recipe"; + }; + packageRequires = [ dash emacs s seq ]; + meta = { + homepage = "https://melpa.org/#/org-d20"; + license = lib.licenses.free; + }; + }) {}; org-dashboard = callPackage ({ cl-lib ? null , fetchFromGitHub , fetchurl @@ -68516,14 +72321,14 @@ ename = "org-doing"; version = "20161017.920"; src = fetchFromGitHub { - owner = "omouse"; + owner = "rudolfolah"; repo = "org-doing"; rev = "4819e75c827c2115bd28f3b3148d846aa64ccd9b"; sha256 = "0pb7ljysh8ap572f9y813js6lvvac4kjky2a5r39hv28px33hmx5"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/4c497b87e14ab614c963f4b2f041bc0111b6e936/recipes/org-doing"; - sha256 = "17w49z78fvbz182sxv9mnryj124gm9jbdmbybppjqz4rk6wvnm2j"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/org-doing"; + sha256 = "10vg0wl8dsy12r51178qi4rzi94img692z5x3zv8dxa29lmn26xs"; name = "recipe"; }; packageRequires = []; @@ -68541,12 +72346,12 @@ melpaBuild { pname = "org-dotemacs"; ename = "org-dotemacs"; - version = "20151119.1022"; + version = "20190116.1355"; src = fetchFromGitHub { owner = "vapniks"; repo = "org-dotemacs"; - rev = "99a066508fedf8c80a3bfef08e015e612499d417"; - sha256 = "15zrnd168n4pwa1bj5fz79hcrgw61braf0b095rsfhjh5w2sasy7"; + rev = "5f504f36af6bcb9dbe9869c7ed54851d3db742e7"; + sha256 = "0pxphad9qxssqxr50g0mf20b7247xjp9a6fmb494bj8yv6wnn9m9"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4c1847184312c8c95e7e81e5b3b73e5621cc2509/recipes/org-dotemacs"; @@ -68567,12 +72372,12 @@ melpaBuild { pname = "org-download"; ename = "org-download"; - version = "20180625.842"; + version = "20190404.605"; src = fetchFromGitHub { owner = "abo-abo"; repo = "org-download"; - rev = "434447251343164e3aacd9db17e67dd2a10b6e65"; - sha256 = "1ckkwdyvxiwhlxl00fd96v01vb71bdnzb3xyl04pxwjsydcbsai0"; + rev = "055c92e56ac156dddd3185fd7d088d8b5a27e7d2"; + sha256 = "1xfl6jyrw023filx0xj8gdmfkz7fx3r51l4gpxw9ca8b88yljxlf"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/edab283bc9ca736499207518b4c9f5e71e822bd9/recipes/org-download"; @@ -68776,6 +72581,32 @@ license = lib.licenses.free; }; }) {}; + org-emms = callPackage ({ emacs + , fetchFromGitLab + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "org-emms"; + ename = "org-emms"; + version = "20181010.414"; + src = fetchFromGitLab { + owner = "jagrg"; + repo = "org-emms"; + rev = "07a8917f3d628c32e5de1dbd118ac08203772533"; + sha256 = "1sqsm5sv311xfdk4f4rsnvprdf2v2vm7l1b3vqi7pc0g8adlnw1d"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/4fa5c221790acca40316510fd495951f418c8e15/recipes/org-emms"; + sha256 = "0g7d2y1dgy2hgiwaxz9crxf3nv8aqzxhyf2jmnmhphdv2s9ipvjw"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/org-emms"; + license = lib.licenses.free; + }; + }) {}; org-evil = callPackage ({ dash , evil , fetchFromGitHub @@ -68842,16 +72673,16 @@ melpaBuild { pname = "org-gcal"; ename = "org-gcal"; - version = "20170420.1401"; + version = "20190401.1041"; src = fetchFromGitHub { - owner = "myuhe"; + owner = "kidd"; repo = "org-gcal.el"; - rev = "270ae5d94a5d2e22cdd1fc4063534483a0dfef87"; - sha256 = "0j6i05qczv14k1rw5bry6ys66ykh46dx9837lyswfl0mwrgl3i04"; + rev = "3874040bd86050db60b982bb62acafb69b6a4d9b"; + sha256 = "1dffrws0rvxvsg9jqjx239zxssd6sskqv3x58mm5vvhna423cm67"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/1c2d5bd8d8f2616dae19b9232d9442fe423d6e5e/recipes/org-gcal"; - sha256 = "1mp6cm0rhd4r9pfvsjjp86sdqxjbbg7gk41zx0zf0s772smddy3q"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/d97c701819ea8deaa8a9664db1f391200ee52c4f/recipes/org-gcal"; + sha256 = "014h67ba0cwi4i1llngypscyvyrm74ljh067i3iapx5a18q7xw5v"; name = "recipe"; }; packageRequires = [ alert cl-lib emacs org request-deferred ]; @@ -68947,16 +72778,16 @@ melpaBuild { pname = "org-index"; ename = "org-index"; - version = "20180720.127"; + version = "20190330.35"; src = fetchFromGitHub { - owner = "marcihm"; + owner = "marcIhm"; repo = "org-index"; - rev = "54b1485eea187575840e4eac79b950273d243455"; - sha256 = "1fmq30768cqhz52frkvrcr52wzbpaqbgwvgl28gac2dxzypg9zgb"; + rev = "4b6f5f743bcdba14e2c2fd71a32caa21b11ef739"; + sha256 = "08a9wj77bhi6y19xnvibcz7x5wbg8ismfppzxz45kmydniwzpli9"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/54946e733901986304f7a7a5139b2818ebf97eb3/recipes/org-index"; - sha256 = "1dp52xqrhby2xyi6p2d0ggp5irqsqwicp62ndg5wszyd33clxab5"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/org-index"; + sha256 = "092q92hwvknwm3v2shp8dm59qdamfivx9z9v23msysy7x2mhg98f"; name = "recipe"; }; packageRequires = [ emacs ]; @@ -68994,6 +72825,7 @@ }; }) {}; org-jira = callPackage ({ cl-lib ? null + , dash , emacs , fetchFromGitHub , fetchurl @@ -69004,19 +72836,19 @@ melpaBuild { pname = "org-jira"; ename = "org-jira"; - version = "20180625.2111"; + version = "20181223.2159"; src = fetchFromGitHub { owner = "ahungry"; repo = "org-jira"; - rev = "03d6ebcf177db7b208c6a99386695e839f314314"; - sha256 = "07hy37by9ics7rc1sgkpg8qk2xzp67ny4i4rkd7q7j4abqdr131v"; + rev = "4b67f6cc2460f64df7b50983d018f9e29db48b1a"; + sha256 = "13hwyz5l9d07w0wyjym9vd9x2ndn906r6c5ir2qkji9rvlp6drnl"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/730a585e5c9216a2428a134c09abcc20bc7c631d/recipes/org-jira"; - sha256 = "0dvh9k0i75jxyy3v01c4cfyws8ij6718hsivi2xyrgig7pwp16ib"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/e0a2fae6eecb6b4b36fe97ad99691e2c5456586f/recipes/org-jira"; + sha256 = "1sbypbz00ki222zpm47yplyprx7h2q076b3l07qfilk0sr8kf4ql"; name = "recipe"; }; - packageRequires = [ cl-lib emacs request s ]; + packageRequires = [ cl-lib dash emacs request s ]; meta = { homepage = "https://melpa.org/#/org-jira"; license = lib.licenses.free; @@ -69030,12 +72862,12 @@ melpaBuild { pname = "org-journal"; ename = "org-journal"; - version = "20180603.102"; + version = "20190329.1315"; src = fetchFromGitHub { owner = "bastibe"; repo = "org-journal"; - rev = "2395db4deb255c05d0d3a75c95f53263b74939c9"; - sha256 = "018wjn7v8a1z4z1sycz7b01rdck73ap13cr3lvfqvp9mms94qq71"; + rev = "bca2c39c692f7c58dbbe03698748187f87822043"; + sha256 = "1zlbi1d4kny0sf9g4drqk1q4zdm91l2xmlvzz360nwm8ha88nx29"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/org-journal"; @@ -69048,34 +72880,89 @@ license = lib.licenses.free; }; }) {}; + org-journal-list = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "org-journal-list"; + ename = "org-journal-list"; + version = "20190221.1252"; + src = fetchFromGitHub { + owner = "huytd"; + repo = "org-journal-list"; + rev = "2b26d00181bb49bff64b31ad020490acd1b6ae02"; + sha256 = "0bcj9b7c4pyyvxlgnysl5lhs9ndp60xwizd85zrkd2mh2m8sbq9v"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/7c0186e507b6b309a35abb076988da740cee8f84/recipes/org-journal-list"; + sha256 = "1aw6pf747n3z00xg8viakckm0bb6m9hnrkxphhhsfvqqgwfpzkb9"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/org-journal-list"; + license = lib.licenses.free; + }; + }) {}; org-kanban = callPackage ({ dash , emacs , fetchFromGitHub , fetchurl , lib , melpaBuild - , org }: + , org + , s }: melpaBuild { pname = "org-kanban"; ename = "org-kanban"; - version = "20180722.1158"; + version = "20190323.944"; src = fetchFromGitHub { owner = "gizmomogwai"; repo = "org-kanban"; - rev = "4f499e97c4583e99b042f579110a8be197337bda"; - sha256 = "0z7k240j1jqw8dqxwqr06ljnlmx3q0grrbangfr5py9z48dc63vl"; + rev = "03387a779167c4acbc04d4970cd33c52a2ca0bcd"; + sha256 = "0arjx1a7skdlmagyy0bbxwc134dn951y99yv4jg6l64j1f31y0yg"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a9f3a10c126fa43a6fa60ee7f8e50c7a9661dbc1/recipes/org-kanban"; sha256 = "1flgqa2pwzw6b2zm3j09i9bvz1i8k03mbwj6l75yrk29lh4njq41"; name = "recipe"; }; - packageRequires = [ dash emacs org ]; + packageRequires = [ dash emacs org s ]; meta = { homepage = "https://melpa.org/#/org-kanban"; license = lib.licenses.free; }; }) {}; + org-kindle = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , seq }: + melpaBuild { + pname = "org-kindle"; + ename = "org-kindle"; + version = "20190314.2139"; + src = fetchFromGitHub { + owner = "stardiviner"; + repo = "org-kindle"; + rev = "612a2894bbbff8a6cf54709d591fee86005755de"; + sha256 = "1h3pbjiy5v8lp3p6dry4jk3pvdp7hpkc517d3w9ldhz6nmaiccgg"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/29d08205620d51d4d76e3a4a6124884b5a6b9db7/recipes/org-kindle"; + sha256 = "17sxvyh3z5pn2353iz2v6xjxp98yxwd4n7wkqsa9nwihsw5mmrrw"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs seq ]; + meta = { + homepage = "https://melpa.org/#/org-kindle"; + license = lib.licenses.free; + }; + }) {}; org-link-minor-mode = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -69165,12 +73052,12 @@ melpaBuild { pname = "org-listcruncher"; ename = "org-listcruncher"; - version = "20180630.1326"; + version = "20180814.2303"; src = fetchFromGitHub { owner = "dfeich"; repo = "org-listcruncher"; - rev = "6fb86f740f8b9fb283049132e108863d1918a893"; - sha256 = "04nykrcmsx5pqhyk305n0xh828fmdng2pqhhnylisnwds1v13cbp"; + rev = "daa948f54631dda96ed83a2c63265e176b177ff3"; + sha256 = "0r6gmadd20w3giw40973kyl83954pdmhslxagn6vafh1ygg9vi83"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5bed5078a3e56a825be61d158ca8321763b92f7c/recipes/org-listcruncher"; @@ -69194,12 +73081,12 @@ melpaBuild { pname = "org-make-toc"; ename = "org-make-toc"; - version = "20180614.1959"; + version = "20190103.2112"; src = fetchFromGitHub { owner = "alphapapa"; repo = "org-make-toc"; - rev = "c27e3600473100daa3007fb134cd3fe13e821d90"; - sha256 = "0078qpimkx6ps1cnyb1kaxiz4k93ppm7axsbrm18qic6mvp6i2nc"; + rev = "9adeaf9da23fd3f7600821526f7e41f4ed17dd4a"; + sha256 = "122fvv6waq70qcccgwnmyfmci48k8zc7vzmagadypmw8grgdjdx2"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/df87749128bcfd27ca93a65084a2e88cd9ed5c3f/recipes/org-make-toc"; @@ -69221,12 +73108,12 @@ melpaBuild { pname = "org-mime"; ename = "org-mime"; - version = "20180607.2350"; + version = "20190402.321"; src = fetchFromGitHub { owner = "org-mime"; repo = "org-mime"; - rev = "895a7c31bb6aa0913b902ece414d0ad29dc8cf1f"; - sha256 = "1s0z2zljbk2nsd8rrpknrydi3b7rzfrc21bq396pxhfz11irz3pb"; + rev = "0db41d5b4e9ef9df640e7212a22708ce636b3986"; + sha256 = "0lcn69vzx5987yz4byxvnk8z7nc2bbww7my6v0hxqkra9xh0iqlm"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/521678fa13884dae69c2b4b7a2af718b2eea4b28/recipes/org-mime"; @@ -69249,12 +73136,12 @@ melpaBuild { pname = "org-mind-map"; ename = "org-mind-map"; - version = "20180614.1352"; + version = "20180826.1640"; src = fetchFromGitHub { owner = "theodorewiles"; repo = "org-mind-map"; - rev = "c0578ee519ad54451e758e401acae2914f52c47a"; - sha256 = "1z43c3vwmd8h8nnncp6fya0l73rfqmb6ij01mp027pxpazq3skhc"; + rev = "41df4b2e30455494f1848b4e06cc9208aa9e902b"; + sha256 = "0y0yjb0w6s5yxklcxkmylmw031plxhl9dvachx325mb9qcwskycp"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3c8683ee547a6a99f8d258561c3ae157b1f427f2/recipes/org-mind-map"; @@ -69319,6 +73206,33 @@ license = lib.licenses.free; }; }) {}; + org-msg = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , htmlize + , lib + , melpaBuild }: + melpaBuild { + pname = "org-msg"; + ename = "org-msg"; + version = "20181111.1015"; + src = fetchFromGitHub { + owner = "jeremy-compostella"; + repo = "org-msg"; + rev = "9c9ae7b37dc1404ff6d4de4b543ae01dd1562914"; + sha256 = "1gbjinnrn1y5506xjp8nmr15gh6pgwnwq1g8q30xmb3dbrrc43hx"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/6aec5f72baa870fe57df0fd366696329651a221f/recipes/org-msg"; + sha256 = "0pznyvjks4ga204nv9v1rn7y7ixki437gknp2h854kpf6pdlb2jy"; + name = "recipe"; + }; + packageRequires = [ emacs htmlize ]; + meta = { + homepage = "https://melpa.org/#/org-msg"; + license = lib.licenses.free; + }; + }) {}; org-multiple-keymap = callPackage ({ cl-lib ? null , emacs , fetchFromGitHub @@ -69385,12 +73299,12 @@ melpaBuild { pname = "org-noter"; ename = "org-noter"; - version = "20180722.853"; + version = "20190307.926"; src = fetchFromGitHub { owner = "weirdNox"; repo = "org-noter"; - rev = "447c890e173884e9ca459b73ac3a771fc59e8512"; - sha256 = "01akk7zdyijclb3igmm56xyz2h9ffc0j0skawb1xwwrni7aphnbm"; + rev = "f6f7a8d3af1c3e7e26173b245ba4a95e3cf03074"; + sha256 = "092d8icw5pny685yqkm0c5bx6d7axgh6rcvnc3yri84dlbdzpfbv"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4a2bc0d95dc2744277d6acbba1f7483b4c14d75c/recipes/org-noter"; @@ -69565,11 +73479,11 @@ melpaBuild { pname = "org-parser"; ename = "org-parser"; - version = "20171002.2136"; + version = "20190206.2121"; src = fetchhg { url = "https://bitbucket.com/zck/org-parser.el"; - rev = "105050acee08"; - sha256 = "1y1ikk950awxhvx4d930ymqa8ds6a0wlywzx09jvrnkvbisd4l63"; + rev = "8610aef8dc87"; + sha256 = "0vqh37y2b0dc8p9c04ici1h9n9ghd1jizcr1c2zvp75cyqsz09wv"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/28d55005cbce276cda21021a8d9368568cb4bcc6/recipes/org-parser"; @@ -69636,6 +73550,36 @@ license = lib.licenses.free; }; }) {}; + org-pivotal = callPackage ({ a + , dash + , dash-functional + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , request }: + melpaBuild { + pname = "org-pivotal"; + ename = "org-pivotal"; + version = "20181216.636"; + src = fetchFromGitHub { + owner = "org-pivotal"; + repo = "org-pivotal"; + rev = "d18e91a9f4480b0b25c1b6283ff6522e15276d62"; + sha256 = "1f1n461h8wa7rx3z728dws0sfkgdvww3jjwq120q0dfyjibcfjri"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/c1257d38bbd3a9944135b000e962f30ab28f5464/recipes/org-pivotal"; + sha256 = "1gv4968akh2wx92d7q1i1mpl9ndygkq8ssdwg6cf19wp8mk18088"; + name = "recipe"; + }; + packageRequires = [ a dash dash-functional emacs request ]; + meta = { + homepage = "https://melpa.org/#/org-pivotal"; + license = lib.licenses.free; + }; + }) {}; org-pomodoro = callPackage ({ alert , cl-lib ? null , fetchFromGitHub @@ -69689,6 +73633,60 @@ license = lib.licenses.free; }; }) {}; + org-present-remote = callPackage ({ elnode + , emacs + , fetchFromGitLab + , fetchurl + , lib + , melpaBuild + , org-present }: + melpaBuild { + pname = "org-present-remote"; + ename = "org-present-remote"; + version = "20181001.1441"; + src = fetchFromGitLab { + owner = "duncan-bayne"; + repo = "org-present-remote"; + rev = "aca889be14400d68fb6b86bb89702942883e06b9"; + sha256 = "0xmsaza4i702hvm49kg8hh871isr4j5ra8w3yc27n2447jlsniif"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/66b092084565634cac8dd07b7b1694d0ddb236ba/recipes/org-present-remote"; + sha256 = "06xxxa8hxfxx47bs6wxi8nbgqc8nm82c3h0yv1ddlm35qfscggks"; + name = "recipe"; + }; + packageRequires = [ elnode emacs org-present ]; + meta = { + homepage = "https://melpa.org/#/org-present-remote"; + license = lib.licenses.free; + }; + }) {}; + org-pretty-tags = callPackage ({ emacs + , fetchFromGitLab + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "org-pretty-tags"; + ename = "org-pretty-tags"; + version = "20190327.1447"; + src = fetchFromGitLab { + owner = "marcowahl"; + repo = "org-pretty-tags"; + rev = "6ac9c35e489dbe3a2e9c3101b49d8b0ea77cad23"; + sha256 = "0scar1938xlr8c3zsbfw5z8mzrrr3255qisl9rjyh4kw80vai8bs"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/9ad60399420764d4ef5d6acddae9241205937e78/recipes/org-pretty-tags"; + sha256 = "19cxfjl6c0yhsc7kfjd6imckcvzdsaws3yd1s3nazhnkm3kan3h4"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/org-pretty-tags"; + license = lib.licenses.free; + }; + }) {}; org-preview-html = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -69728,12 +73726,12 @@ melpaBuild { pname = "org-projectile"; ename = "org-projectile"; - version = "20180531.1942"; + version = "20190130.639"; src = fetchFromGitHub { owner = "IvanMalison"; repo = "org-projectile"; - rev = "e57023c0e33e4a0f848fcfec1902e13e6a92f711"; - sha256 = "03svxxx6jh0c5517yvp7g5lfvjn3n4r169j589iii0fcjp4qri3n"; + rev = "0291ef425c96d02d634fc7e199146d7c3da0455b"; + sha256 = "0ljpvykz9s92j9ixkxbwxj5lw0prslmq3ipw0plgzzz3rvf4j75a"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9d7a7ab98f364d3d5e93f83f0cb3d80a95f28689/recipes/org-projectile"; @@ -69836,12 +73834,12 @@ melpaBuild { pname = "org-random-todo"; ename = "org-random-todo"; - version = "20180312.104"; + version = "20190214.1257"; src = fetchFromGitHub { owner = "unhammer"; repo = "org-random-todo"; - rev = "8357350a66bbc4e0e5cb590acc104d39870cf736"; - sha256 = "1cl1abgflbnnmvakb1z69rpr2gsm3hyg20iggwl6pn2fl0pf5wf5"; + rev = "4f7677af740e8f3f7cfaf630ae2e594a125af760"; + sha256 = "1xk4vp2138p58jdxn51vnmpnij5bzc2jbpq7y8avdcv0p7618fdc"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/80fad6244ea3e5bdf7f448c9f62374fae45bae78/recipes/org-random-todo"; @@ -69859,28 +73857,85 @@ , fetchFromGitHub , fetchurl , lib - , melpaBuild }: + , melpaBuild + , org }: melpaBuild { pname = "org-randomnote"; ename = "org-randomnote"; - version = "20171210.557"; + version = "20190403.933"; src = fetchFromGitHub { owner = "mwfogleman"; repo = "org-randomnote"; - rev = "c544202d6cba1c1618ed39b2a45fa0ffc5f83e60"; - sha256 = "1ny7qq3av43kbzd9q2rsqi04sg7n9snaqss3nazr80mpswx906dx"; + rev = "f35a9d948751ad409aa057bfb68f1d008fdf9442"; + sha256 = "01nf3h5sg74lph1hjj7q77pxn6xxv4zq9cjnd97a7bfbpilq86a0"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d92cb392b23701948176ba12516df5ae6608e950/recipes/org-randomnote"; sha256 = "06i42ig7icap1i1mqzv5cqwhnmsrzpjmjbjjn49nv26ljr3mjw0b"; name = "recipe"; }; - packageRequires = [ dash f ]; + packageRequires = [ dash f org ]; meta = { homepage = "https://melpa.org/#/org-randomnote"; license = lib.licenses.free; }; }) {}; + org-re-reveal = callPackage ({ emacs + , fetchFromGitLab + , fetchurl + , htmlize + , lib + , melpaBuild + , org }: + melpaBuild { + pname = "org-re-reveal"; + ename = "org-re-reveal"; + version = "20190405.959"; + src = fetchFromGitLab { + owner = "oer"; + repo = "org-re-reveal"; + rev = "871b37110dfc806b9183ec9c9550942bba190d0f"; + sha256 = "1f1n2lbql1ik69b4bqwm0y9hpgf4glbk6k7jcd0xd62fq8x1yigc"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/c3e6c90a6b9004fbf0fbc08556f8effbcde8b468/recipes/org-re-reveal"; + sha256 = "05p8iml0fapi4yf7ky45kf7m0ksz917lxg7c4pdd9hjkjmz29xn9"; + name = "recipe"; + }; + packageRequires = [ emacs htmlize org ]; + meta = { + homepage = "https://melpa.org/#/org-re-reveal"; + license = lib.licenses.free; + }; + }) {}; + org-re-reveal-ref = callPackage ({ emacs + , fetchFromGitLab + , fetchurl + , lib + , melpaBuild + , org-re-reveal + , org-ref }: + melpaBuild { + pname = "org-re-reveal-ref"; + ename = "org-re-reveal-ref"; + version = "20190301.704"; + src = fetchFromGitLab { + owner = "oer"; + repo = "org-re-reveal-ref"; + rev = "7b13e1ab54eecebd92e73bf52a0d504816e5702d"; + sha256 = "0na74q70zn8zh22vc7r3d7r8pnv2610pg28chdvbrn92l0m8i1fw"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/391ef29288507aa2b0ad5d568419b66e5a883b2f/recipes/org-re-reveal-ref"; + sha256 = "0dd5b4g8ih98ma25jwlvdwgfadc75qcxr9zm74x5r6pr87amcb7n"; + name = "recipe"; + }; + packageRequires = [ emacs org-re-reveal org-ref ]; + meta = { + homepage = "https://melpa.org/#/org-re-reveal-ref"; + license = lib.licenses.free; + }; + }) {}; org-readme = callPackage ({ cl-lib ? null , fetchFromGitHub , fetchurl @@ -69946,6 +74001,33 @@ license = lib.licenses.free; }; }) {}; + org-recur = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , org }: + melpaBuild { + pname = "org-recur"; + ename = "org-recur"; + version = "20190304.235"; + src = fetchFromGitHub { + owner = "m-cat"; + repo = "org-recur"; + rev = "28abdfcfdbcda36702ce568ccd8a5f3e40797d16"; + sha256 = "0gk54251dh73srgxcfqq49q2daf5mp63lzl9c876wcixk5g6qmj6"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/cbdf8c9a3c7c289ce13542a12769a7f3d7f53d72/recipes/org-recur"; + sha256 = "0qlpwia2dg4l00jahc3si0mi27gv6zlvkbdx0rq37dh61dabgkiq"; + name = "recipe"; + }; + packageRequires = [ emacs org ]; + meta = { + homepage = "https://melpa.org/#/org-recur"; + license = lib.licenses.free; + }; + }) {}; org-redmine = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -69989,12 +74071,12 @@ melpaBuild { pname = "org-ref"; ename = "org-ref"; - version = "20180706.614"; + version = "20190318.858"; src = fetchFromGitHub { owner = "jkitchin"; repo = "org-ref"; - rev = "0f951f8b59adc1ad4e82f514eaf1e3487b9a036e"; - sha256 = "1d4f89ssy6wgsyl4w1linns73k22lkmcvhq5rc8sg9vdsb8inw6k"; + rev = "e73bcc5bc07555f5eed4b63d14e4f209bb877c20"; + sha256 = "17ijwzmzclp0gfscy42ir2j997l34smf868j1f6kr00snyagzjxk"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/550e4dcef2f74fbd96474561c1cb6c4fd80091fe/recipes/org-ref"; @@ -70044,6 +74126,33 @@ license = lib.licenses.free; }; }) {}; + org-reverse-datetree = callPackage ({ dash + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "org-reverse-datetree"; + ename = "org-reverse-datetree"; + version = "20190404.2002"; + src = fetchFromGitHub { + owner = "akirak"; + repo = "org-reverse-datetree"; + rev = "99e7ae3d0860dfe0f4d647ceb045f8b00bf1fe77"; + sha256 = "1ji8c2480ib48n1lq4ypgq524slgzfszpxwsv1q2wyqnjzbc2csv"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/a08612af18bb620955f7b5450eba3f44cdb60673/recipes/org-reverse-datetree"; + sha256 = "0fiwba8hh9617d1zqvxxz2l8p2iq56lkv5c16q7prc69m0s5zhjb"; + name = "recipe"; + }; + packageRequires = [ dash emacs ]; + meta = { + homepage = "https://melpa.org/#/org-reverse-datetree"; + license = lib.licenses.free; + }; + }) {}; org-review = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -70077,12 +74186,12 @@ melpaBuild { pname = "org-rich-yank"; ename = "org-rich-yank"; - version = "20180430.644"; + version = "20181120.554"; src = fetchFromGitHub { owner = "unhammer"; repo = "org-rich-yank"; - rev = "b29bd06f295424fc15b3b8c1b3f78f501d67db47"; - sha256 = "0c4ywznxwf7hdc4x434d90hp440rplc4nsih4aswjkb7lx38lp9a"; + rev = "d2f350c5296cf05d6c84b02762ba44f09a02b4e3"; + sha256 = "0gxb0fnh5gxjmld0hnk5hli0cvdd8gjd27m30bk2b80kwldxlq1z"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1261823d88459b6ac42d6c55c157a326173663df/recipes/org-rich-yank"; @@ -70148,31 +74257,84 @@ license = lib.licenses.free; }; }) {}; - org-send-ebook = callPackage ({ cl-lib ? null - , emacs - , fetchFromGitHub - , fetchurl - , lib - , melpaBuild - , seq }: + org-snooze = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: melpaBuild { - pname = "org-send-ebook"; - ename = "org-send-ebook"; - version = "20180401.1015"; + pname = "org-snooze"; + ename = "org-snooze"; + version = "20181229.624"; src = fetchFromGitHub { - owner = "stardiviner"; - repo = "org-send-ebook"; - rev = "efa80f3c1a26347097a16eca4dda2610627fcdf0"; - sha256 = "097cpr9v0c03117z76cy0b9faq3zjvi45anvgrw4bkbgs5mh9x2l"; + owner = "xueeinstein"; + repo = "org-snooze.el"; + rev = "8799adc14a20f3489063d279ff69312de3180bf9"; + sha256 = "0ni5vm6b8c09ybn9rg3smdsxq1mxyqvndi00wn718my7939g82kb"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/646106cf43649544056285aef8c4035b6e5bbbdb/recipes/org-send-ebook"; - sha256 = "0gvnrl4rfqn3zd0wmj4bhd63zkjk68lwwcgmsqrfw7af22wlfv3d"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/fd04816fb53fe01fa9924ec928c1dd41f2219d6a/recipes/org-snooze"; + sha256 = "00iwjj249vzqnfvbmlzrjig1sfhzbpv9kcpz95i3ir1w1qhw5119"; name = "recipe"; }; - packageRequires = [ cl-lib emacs seq ]; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/org-snooze"; + license = lib.licenses.free; + }; + }) {}; + org-sql = callPackage ({ dash + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "org-sql"; + ename = "org-sql"; + version = "20190402.2035"; + src = fetchFromGitHub { + owner = "ndwarshuis"; + repo = "org-sql"; + rev = "3793b270d5cd5ec047d7a32f2b34033592ffddf9"; + sha256 = "0hlp4qdpdh5a1jnj8mas8vnmfd5j7g6vkyczblgi2f5vvfvls0v6"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/012573a35a302e9bb6f127cf28ac04f93796400e/recipes/org-sql"; + sha256 = "15alnx74pmr6jc2yx2c1dbpk0fbdzil8bffj7cfj7ywj2xadmzpg"; + name = "recipe"; + }; + packageRequires = [ dash emacs ]; + meta = { + homepage = "https://melpa.org/#/org-sql"; + license = lib.licenses.free; + }; + }) {}; + org-starter = callPackage ({ dash + , dash-functional + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "org-starter"; + ename = "org-starter"; + version = "20190406.314"; + src = fetchFromGitHub { + owner = "akirak"; + repo = "org-starter"; + rev = "4fa28564cab2acfde56ca815882caa9e715c848a"; + sha256 = "1vjv2y3g02v5sg88z0kqig3jn0ryvck9s2syzdjpfsxp2jwbsw7a"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/7bdd9c835184ef1a6fabfaf7adb56a51514b75ea/recipes/org-starter"; + sha256 = "0vb11g5lvkvazrdzgdjvl8w7y5rr5nppg6685gq9pl6hw3sda0bs"; + name = "recipe"; + }; + packageRequires = [ dash dash-functional emacs ]; meta = { - homepage = "https://melpa.org/#/org-send-ebook"; + homepage = "https://melpa.org/#/org-starter"; license = lib.licenses.free; }; }) {}; @@ -70184,12 +74346,12 @@ melpaBuild { pname = "org-static-blog"; ename = "org-static-blog"; - version = "20180527.2348"; + version = "20190403.526"; src = fetchFromGitHub { owner = "bastibe"; repo = "org-static-blog"; - rev = "f69d2fd6671fb250fbd87df5efa898a7bf5b9bda"; - sha256 = "1h9c96rbxxk1jypib5f9pfi5zkimkvhxi61j0sps6r39435dd3w7"; + rev = "0269bbaa6de78a3fce8d926f54bb6e7b975f9c3a"; + sha256 = "1f1v73x58fd80hwm0pfmjp4fijcx2y6zvcpas1ys3sjl2230z8s5"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e0768d41a3de625c04ac8644ef2e05f17ee99908/recipes/org-static-blog"; @@ -70211,12 +74373,12 @@ melpaBuild { pname = "org-sticky-header"; ename = "org-sticky-header"; - version = "20170422.2135"; + version = "20190406.1613"; src = fetchFromGitHub { owner = "alphapapa"; repo = "org-sticky-header"; - rev = "a435bffa3d155bdc2ad536f4da869f884e38773e"; - sha256 = "1gq0xcb1824kgjcfy868sf0a6xv4qmnzl4pmv8zlp8jb5d1ghlic"; + rev = "2847035ec559a46bd7b555f220f819c88371d538"; + sha256 = "0g6hdg11jzzpw7h0f6p795l5aj6pag2nhhfbx90cg28j61d28vwh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/bc9a600bd156eb766ba5ce37e16f3e8253f37ee8/recipes/org-sticky-header"; @@ -70241,12 +74403,12 @@ melpaBuild { pname = "org-super-agenda"; ename = "org-super-agenda"; - version = "20180714.1348"; + version = "20190314.2321"; src = fetchFromGitHub { owner = "alphapapa"; repo = "org-super-agenda"; - rev = "3b5e8faeec1333aca3cafbbaa350dacc95412086"; - sha256 = "1l19c1pbxgyrc19jv8zp8mv60xhwf50g8fc7jmc24p73ckvff7w4"; + rev = "eaad1198590de9346ccf374ae835c76667e5c653"; + sha256 = "03grvmqrpnpw47pbanr6cs3h8bygijwf0bin7j1q622fi16x3bx6"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/fd27b2df7594a867529de4b84c8107f82dabe2e9/recipes/org-super-agenda"; @@ -70269,12 +74431,12 @@ melpaBuild { pname = "org-sync"; ename = "org-sync"; - version = "20180221.1127"; + version = "20181203.1623"; src = fetchFromGitHub { owner = "arbox"; repo = "org-sync"; - rev = "fedddd20384de9919ba8e0b08344ff9356508805"; - sha256 = "0hkr5m795srmx8vzqaa4rhrnnm7qyxnadj5wlkdgsa8c3vcjl5gc"; + rev = "e34a385fa9e658c8341a0a6e6bc3472d4d536bb8"; + sha256 = "1xk0wqr66wjh00wgbr4f0q02zchmzdgpz2inz316zfjm4cik8y5c"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/923ddbaf1a158caac5e666a396a8dc66969d204a/recipes/org-sync"; @@ -70297,12 +74459,12 @@ melpaBuild { pname = "org-sync-snippets"; ename = "org-sync-snippets"; - version = "20170824.1128"; + version = "20190318.1044"; src = fetchFromGitHub { owner = "abrochard"; repo = "org-sync-snippets"; - rev = "0f264a032d371d7dbb4a7cbaf0ea2f91b5a629ca"; - sha256 = "0j680cla1zlxkwnslxwnxd5h6v1vvwr9byi1aawm9gxvz11x7vsj"; + rev = "50cefe5a37196ed1af3d330d6871c3b37fa90d41"; + sha256 = "13d1adymxn3b579syyaszgg98h3kh3hwn97pdfzghfli1cd9fb9y"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/96aff3f39adfa0c68aca8ff8d3b11fbfd889327e/recipes/org-sync-snippets"; @@ -70448,6 +74610,33 @@ license = lib.licenses.free; }; }) {}; + org-timeline = callPackage ({ dash + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "org-timeline"; + ename = "org-timeline"; + version = "20190213.1106"; + src = fetchFromGitHub { + owner = "Fuco1"; + repo = "org-timeline"; + rev = "aed995c1db6c8bfd9db0a75a978f5e261aab38e5"; + sha256 = "1jz44lag1j4rawqjpcgb9zrs88vfi7vjgdh756hs2ln7i1cnvgh5"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/298bd714f6cefd83d594b0eea731a01fb2faf1ad/recipes/org-timeline"; + sha256 = "0zlhjzjc7jwqh6wcys17hraz76n2hnjwffis02x71maclrf2cfdd"; + name = "recipe"; + }; + packageRequires = [ dash emacs ]; + meta = { + homepage = "https://melpa.org/#/org-timeline"; + license = lib.licenses.free; + }; + }) {}; org-toodledo = callPackage ({ cl-lib ? null , emacs , fetchFromGitHub @@ -70537,12 +74726,12 @@ melpaBuild { pname = "org-tree-slide"; ename = "org-tree-slide"; - version = "20180424.1636"; + version = "20181226.147"; src = fetchFromGitHub { owner = "takaxp"; repo = "org-tree-slide"; - rev = "6608f8d43bf40acbddeb4434715283e5884c8a02"; - sha256 = "0cp1pbpvb8dyg5milrhlarsygdfyzpy44yhf7xhrbfmk96v8073w"; + rev = "603a383117b8c19004baeecfe34837e20568fdbd"; + sha256 = "0c6q2pdsq2dn66b3ghbz8p85qnaklq1pjyj6gja32w040nnzs413"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6160c259bc4bbcf3b98c220222430f798ee6463f/recipes/org-tree-slide"; @@ -70567,12 +74756,12 @@ melpaBuild { pname = "org-trello"; ename = "org-trello"; - version = "20180330.2331"; + version = "20190304.100"; src = fetchFromGitHub { owner = "org-trello"; repo = "org-trello"; - rev = "e2e8a3d45057645e4caae7d46a79d2d9be2894bd"; - sha256 = "12yw54hg1lhfxw6mvxjsvbiv7cg1zwm3ccsl7g127vbf0yp2dhrl"; + rev = "f02e92f5d7be03289f774875fc4e6877fe7b1aaa"; + sha256 = "0c0f6wf7d86nq3kwvjr429ddxz3q3aylm2apahw19hxx212vipb3"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/188ed8dc1ce2704838f7a2883c41243598150a46/recipes/org-trello"; @@ -70593,12 +74782,12 @@ melpaBuild { pname = "org-variable-pitch"; ename = "org-variable-pitch"; - version = "20180429.1515"; + version = "20190128.1251"; src = fetchFromGitHub { owner = "cadadr"; repo = "elisp"; - rev = "ffe03506694c94de0444995f973a925deccc400a"; - sha256 = "02wcvka96zdlq3myfar7dqywfil2b77bc6ydmgcphwn3as3kl08r"; + rev = "05bd1d5db68df144bc7552a460371d94a2cb5b3c"; + sha256 = "0v3swpbhi27nlwcav3iwanckqzirjvz6gl49if8kskmp8pdvy5fs"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9632b7e98772b584d6420f8d0f9652d67118e05e/recipes/org-variable-pitch"; @@ -70669,30 +74858,33 @@ , lib , melpaBuild , org + , request , s }: melpaBuild { pname = "org-web-tools"; ename = "org-web-tools"; - version = "20180531.1808"; + version = "20190115.952"; src = fetchFromGitHub { owner = "alphapapa"; repo = "org-web-tools"; - rev = "58c37ab50e99775cf4ed3d6884aa9c3f45d855de"; - sha256 = "18kwlwv85qdaahp71r43h2hv1pn078jkfqfpmb7vvsks23i4vvh2"; + rev = "d98fe92f71705662a9c56ad01f04ddf23ac7cb19"; + sha256 = "0igninqrb9l54g0fqfcp9h30k5xgc1amz522fwmx78fpr3rw258b"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f082bfb480649d21f586b7eb331c19d57e7a84cf/recipes/org-web-tools"; sha256 = "19zpspap85fjqg5a20ps34rcigb0ws986pj6dzd7xik8s6ia29s7"; name = "recipe"; }; - packageRequires = [ dash emacs esxml org s ]; + packageRequires = [ dash emacs esxml org request s ]; meta = { homepage = "https://melpa.org/#/org-web-tools"; license = lib.licenses.free; }; }) {}; org-wild-notifier = callPackage ({ alert + , async , dash + , dash-functional , emacs , fetchFromGitHub , fetchurl @@ -70701,19 +74893,19 @@ melpaBuild { pname = "org-wild-notifier"; ename = "org-wild-notifier"; - version = "20180221.2025"; + version = "20190312.1013"; src = fetchFromGitHub { owner = "akhramov"; repo = "org-wild-notifier.el"; - rev = "d0df145d9bbb72b2c315b7d8007cb6a59fea2095"; - sha256 = "1xcnb5x539776b6ljd9qyl9jadp2r4qg805m4m8yfz9sk00dv7yl"; + rev = "db143f812ed65f5ab6c75d0d686b73da20300b32"; + sha256 = "17p2r8y6ihl51i6r1gh0lfxyqnsfx0098ylzx7i0fb8slffjbk2i"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/114552a24f73f13b253e3db4885039b680f6ef33/recipes/org-wild-notifier"; sha256 = "1lmpa614jnkpmfg3m1d2wjn9w0zig3gwd02n3dyjn23n71fiyhkp"; name = "recipe"; }; - packageRequires = [ alert dash emacs ]; + packageRequires = [ alert async dash dash-functional emacs ]; meta = { homepage = "https://melpa.org/#/org-wild-notifier"; license = lib.licenses.free; @@ -70753,6 +74945,7 @@ org2blog = callPackage ({ fetchFromGitHub , fetchurl , htmlize + , hydra , lib , melpaBuild , metaweblog @@ -70761,19 +74954,19 @@ melpaBuild { pname = "org2blog"; ename = "org2blog"; - version = "20171218.1911"; + version = "20190308.2042"; src = fetchFromGitHub { - owner = "punchagan"; + owner = "org2blog"; repo = "org2blog"; - rev = "04ea7e80497ab7f7bc0d097f1807d3a085074812"; - sha256 = "1qpw5bs5qjlpw3hphbf2jg0h8bdrcgrb8xavdsx8viwjl013d4ps"; + rev = "bd6dd6b1b3ce57a72e7c229d3f035fc7c0d3860b"; + sha256 = "0c7viqq8cxkd6xxbvq53dbp1slsjjxs2fb2lyi3njfg18v5c6fks"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/org2blog"; - sha256 = "1xa03k9z8fq74w0w3vfkigz24i6c8s4vib077l16vqik7wg4yh40"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/org2blog"; + sha256 = "15nr6f45z0i265llf8xs87958l5hvafh518k0s7jan7x1l6w5q33"; name = "recipe"; }; - packageRequires = [ htmlize metaweblog org xml-rpc ]; + packageRequires = [ htmlize hydra metaweblog org xml-rpc ]; meta = { homepage = "https://melpa.org/#/org2blog"; license = lib.licenses.free; @@ -70787,12 +74980,12 @@ melpaBuild { pname = "org2ctex"; ename = "org2ctex"; - version = "20171016.2343"; + version = "20181011.1851"; src = fetchFromGitHub { owner = "tumashu"; repo = "org2ctex"; - rev = "1b74aa9cf45de224ffd6aa9b93f0debddc2b48bc"; - sha256 = "17qkz3ja87hhq41hvlxvdzqipmi1gn38khd00dshsxhk5hg7i99a"; + rev = "2143992462594ce63733305f75f7c7d08123710a"; + sha256 = "0xrg66yx4xrmkswbapaz21q4i6qm2199zvxqvgaxd8qyk19fc46c"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8f77fe537ca8ee2ddb6e3efe71f3b3c560c52c7d/recipes/org2ctex"; @@ -70968,12 +75161,12 @@ melpaBuild { pname = "organize-imports-java"; ename = "organize-imports-java"; - version = "20180623.1209"; + version = "20190304.1047"; src = fetchFromGitHub { owner = "jcs090218"; repo = "organize-imports-java"; - rev = "cd21c23f903384ffe0eca5e6511bdf893457ab19"; - sha256 = "196rwbj8ayccrm7qz72fxk5lngpi00vg9hn4v05krwfhg496yp0k"; + rev = "e201750cee13876dbea2fba8508ade1b9f76b29a"; + sha256 = "0lnsxa3aiyaww62z4y07ciwak2gxv881qraz6sl5csfjdmbycii1"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ad0242f941ff44b4897c94d336bc0af498582dd7/recipes/organize-imports-java"; @@ -70995,12 +75188,12 @@ melpaBuild { pname = "orgbox"; ename = "orgbox"; - version = "20140528.1826"; + version = "20180826.1918"; src = fetchFromGitHub { owner = "yasuhito"; repo = "orgbox"; - rev = "612dd2250dbae01c85342923223f9063aae535c5"; - sha256 = "02mxp17p7bj4xamg0m6zk832hmpqcgzc7bjbjcnvbvrawhc255hy"; + rev = "609e5e37348815ec3ba53ab6d643e38b0cc4fe17"; + sha256 = "0kg5ns87p8v6vsb7abgqcfnzi55fbgi7b5dj98hrvnlkv4sqz7pc"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b1948eca5a18f35b61b9a0baf532753fd105ba3a/recipes/orgbox"; @@ -71024,12 +75217,12 @@ melpaBuild { pname = "orgit"; ename = "orgit"; - version = "20180318.1301"; + version = "20190304.1007"; src = fetchFromGitHub { owner = "magit"; repo = "orgit"; - rev = "d909f92d3b1b42184143fd5e6d4c6a2762477ab7"; - sha256 = "1jdc874bxkpbfpllak3vmfsn82p930s565bzff341vzv7aw2528c"; + rev = "2456436a7e64d26bcf455b3890a586acaa3e7f93"; + sha256 = "1i52dq2ynddb1irgigr5mdwfbfd3bvm1f29jnzd7nlc0nk186nvh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/73b5f7c44c90540e4cbdc003d9881f0ac22cc7bc/recipes/orgit"; @@ -71133,12 +75326,12 @@ melpaBuild { pname = "orgtbl-aggregate"; ename = "orgtbl-aggregate"; - version = "20180620.1043"; + version = "20180731.1454"; src = fetchFromGitHub { owner = "tbanel"; repo = "orgaggregate"; - rev = "10996132229aff46a46d37b4983d8afb54446b07"; - sha256 = "19f4gwixhr9v669ggbriyd4rnq43bz8qzqllxzfdbygm39vm2ira"; + rev = "1079dfc3ca0f86fef6ca3e251f3829e031aef8c4"; + sha256 = "17acwy9x23xh2fb3xhy5w3lz6ssnrv5nf33zsqadra9y1cxs9fcc"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/bf64b53c9d49718a8ffc39b14c90539b36840280/recipes/orgtbl-aggregate"; @@ -71538,6 +75731,32 @@ license = lib.licenses.free; }; }) {}; + outline-minor-faces = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "outline-minor-faces"; + ename = "outline-minor-faces"; + version = "20181122.321"; + src = fetchFromGitHub { + owner = "tarsius"; + repo = "outline-minor-faces"; + rev = "8788f3e6f922f54b4eccfb80e4c246203a7e81c3"; + sha256 = "1ms4mgh8jlvyhdsx5166jqfjdx6rqfbhaqzfrzplgcn6v37097l4"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/f252e45e8bd6e8af1267755d108f378a974ddaf1/recipes/outline-minor-faces"; + sha256 = "1728imdqmmfqw5f67w8xsailn2b09y4xgdr769pd6kx8z6lsi8zb"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/outline-minor-faces"; + license = lib.licenses.free; + }; + }) {}; outline-toc = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -71622,12 +75841,12 @@ melpaBuild { pname = "outorg"; ename = "outorg"; - version = "20170414.1215"; + version = "20181224.121"; src = fetchFromGitHub { owner = "alphapapa"; repo = "outorg"; - rev = "78b0695121fb974bc4e971eb4ef7f8afd6d89d64"; - sha256 = "03aclh4m3f7rb821gr9pwvnqkkl91px3qxdcarpf3ypa1x4fxvlj"; + rev = "91065d2c1700e8da0ca360373391f1d8741128e6"; + sha256 = "1dqkyw3ll370j23r2yz51yc973a8ky5prmfgl79idv4rjzc5g72q"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8edf78a0ecd2ff8e6e066b80751a31e11a068c3f/recipes/outorg"; @@ -71675,12 +75894,12 @@ melpaBuild { pname = "outshine"; ename = "outshine"; - version = "20180625.1259"; + version = "20190313.453"; src = fetchFromGitHub { owner = "alphapapa"; repo = "outshine"; - rev = "8712df02b97a148e11de2761f3e707623db6f9c2"; - sha256 = "18xpc0wa2xwb9f3lkmrvfd6wh42ca2msx5rwcwy9sra0x7qqiacf"; + rev = "210cc88bf9ee2fca2a283e4de89d4abe849d706b"; + sha256 = "0wi5kjsi3mbj4h64m09dgyzn67dmbxvrlib7vnc6p3qacqmzlmn9"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8edf78a0ecd2ff8e6e066b80751a31e11a068c3f/recipes/outshine"; @@ -71727,12 +75946,12 @@ melpaBuild { pname = "overcast-theme"; ename = "overcast-theme"; - version = "20180315.1243"; + version = "20190326.946"; src = fetchFromGitHub { owner = "myTerminal"; repo = "overcast-theme"; - rev = "faafe7c19106cb4db29ba716d117fbb6ebdda3f4"; - sha256 = "1kjvx2wjb9ksdr7w0c4xnvqa4sbplj6rwlh85lbmcg8lwkb1s2sy"; + rev = "769078cb4a6ea87a31fcea0218c06e1ec689b97c"; + sha256 = "044g4y8ykh41b3ybxsgsrqvnkq8i1q8q8livh64b2qqrrjzq6mxg"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d86691c61fc880954a05502a6474cc2fa0d0a43b/recipes/overcast-theme"; @@ -71810,12 +76029,12 @@ melpaBuild { pname = "ox-asciidoc"; ename = "ox-asciidoc"; - version = "20171111.354"; + version = "20181229.2220"; src = fetchFromGitHub { owner = "yashi"; repo = "org-asciidoc"; - rev = "e75d9565dd07dc59d11fa92d392ab47cecb3c902"; - sha256 = "1irv8k8l99kk5qqgapj1bfg9ppnd4fkkagm96mgxf0bxax0pblhn"; + rev = "e931362e641f97d17dc738d22bb461e54045786d"; + sha256 = "045kci7xvlp0kg8gmplnybc7ydv66hkl88dxgd113ac7ipf9zir7"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3b268064f09ae5c3d15064b7d197c7af767fb278/recipes/ox-asciidoc"; @@ -71890,12 +76109,12 @@ melpaBuild { pname = "ox-epub"; ename = "ox-epub"; - version = "20171202.1713"; + version = "20181101.1154"; src = fetchFromGitHub { owner = "ofosos"; repo = "ox-epub"; - rev = "7991155e4b80bafee616108014be5281c22bae83"; - sha256 = "09di3qq0nc9m3dnqik392vbdps829wlkxdsjlcpdm0dfms9wq10v"; + rev = "a66eeb00daa01ad403ac1a1db953ddbf9054be07"; + sha256 = "0ws2dpybrafck07q12w0avxglwr7crf4xcqxqnp48sj993v2qggx"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c3ac31dfef00e83fa6b716ea006f35afb5dc6cd5/recipes/ox-epub"; @@ -71968,12 +76187,12 @@ melpaBuild { pname = "ox-hugo"; ename = "ox-hugo"; - version = "20180720.1121"; + version = "20190317.2148"; src = fetchFromGitHub { owner = "kaushalmodi"; repo = "ox-hugo"; - rev = "b7e04248bfdc3188e7f1dbd3d55b8d3b9c40906c"; - sha256 = "0nfkrw4qvmhap19q6a1i8yml80jkrlrvzni9dfvxm8qjhihd74kc"; + rev = "86a6196a431df4a9f81dbd00657e20a03c622c03"; + sha256 = "098gwyrzkr8fj54jfdirc1m9rbcr2rsmi1klm0fv6hzfh8di1j93"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1e1240bb7b5bb8773f804b987901566a20e3e8a9/recipes/ox-hugo"; @@ -72042,6 +76261,31 @@ license = lib.licenses.free; }; }) {}; + ox-jekyll-md = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "ox-jekyll-md"; + ename = "ox-jekyll-md"; + version = "20180831.1032"; + src = fetchFromGitHub { + owner = "gonsie"; + repo = "ox-jekyll-md"; + rev = "f997f41d89afd2360973ef8118b5221f17bba757"; + sha256 = "1padg3nq2fn7f5x96z19iqmknk5z3aa8yyipz0v3bdv0a3iqngli"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/4e7ddae7938158d9da24bee861a88d4875235269/recipes/ox-jekyll-md"; + sha256 = "0lfnrikrismcd2zyfb0sf3pwwx12cyki7kzs2mjlswq3sap8w544"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/ox-jekyll-md"; + license = lib.licenses.free; + }; + }) {}; ox-jira = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -72068,6 +76312,33 @@ license = lib.licenses.free; }; }) {}; + ox-mdx-deck = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , ox-hugo }: + melpaBuild { + pname = "ox-mdx-deck"; + ename = "ox-mdx-deck"; + version = "20181115.1047"; + src = fetchFromGitHub { + owner = "WolfeCub"; + repo = "ox-mdx-deck"; + rev = "f3dbc35870b69a5d8971b1647da8c5468f520c5d"; + sha256 = "0v82d3ylmrh6pbha4kxs3lif40jfa3sd0adqarmz7yyqccv9ixkk"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/13d1a86dfe682f65daf529f9f62dd494fd860be9/recipes/ox-mdx-deck"; + sha256 = "1k41sbqcfrj485ps11f6xdb1kxp7kh22k0zhn9vrjb5mxwdilfyl"; + name = "recipe"; + }; + packageRequires = [ emacs ox-hugo ]; + meta = { + homepage = "https://melpa.org/#/ox-mdx-deck"; + license = lib.licenses.free; + }; + }) {}; ox-mediawiki = callPackage ({ cl-lib ? null , fetchFromGitHub , fetchurl @@ -72257,6 +76528,33 @@ license = lib.licenses.free; }; }) {}; + ox-rfc = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , org }: + melpaBuild { + pname = "ox-rfc"; + ename = "ox-rfc"; + version = "20190310.2321"; + src = fetchFromGitHub { + owner = "choppsv1"; + repo = "org-rfc-export"; + rev = "b0345990036a2322609a6fa360deba079d7001fe"; + sha256 = "05962hwww6wkbd9p4svnc5ynbsgnnfryf900nr65qap41bzxfa3y"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/d3f49159d6a379bf435e2af8920176fd84693a60/recipes/ox-rfc"; + sha256 = "0vqh923223rmhy39p4lwmdv6azba7cddkc1zi5pp3zpcijmhxzk4"; + name = "recipe"; + }; + packageRequires = [ emacs org ]; + meta = { + homepage = "https://melpa.org/#/ox-rfc"; + license = lib.licenses.free; + }; + }) {}; ox-rst = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -72284,6 +76582,86 @@ license = lib.licenses.free; }; }) {}; + ox-slack = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , org + , ox-gfm }: + melpaBuild { + pname = "ox-slack"; + ename = "ox-slack"; + version = "20181119.331"; + src = fetchFromGitHub { + owner = "titaniumbones"; + repo = "ox-slack"; + rev = "96d90914e6df1a0141657fc51f1dc5bb8f1da6bd"; + sha256 = "1cda5c35wm7aqyj7yj80wkwb79dgzlzis1dlpysdxv30ahcf4w8p"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/55fda67a19f8799f00c8304a14ab88dde236aa48/recipes/ox-slack"; + sha256 = "0ggw64lx93crfzm1sfwqhsfhaprkbyrjay88nyn43frf7c5l4a63"; + name = "recipe"; + }; + packageRequires = [ org ox-gfm ]; + meta = { + homepage = "https://melpa.org/#/ox-slack"; + license = lib.licenses.free; + }; + }) {}; + ox-slimhtml = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "ox-slimhtml"; + ename = "ox-slimhtml"; + version = "20181219.50"; + src = fetchFromGitHub { + owner = "balddotcat"; + repo = "ox-slimhtml"; + rev = "a764ef64235845e4f5cfd73244d6cf1e7fee903b"; + sha256 = "14h0kks7i2k53fwbsqb4giafacm58inppqpr5mbj904cy146g29f"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/6fae8e3c4abd37a651d4cbdb337a74f1a7c7366a/recipes/ox-slimhtml"; + sha256 = "16jrw8n26iy69ibr29bp3pqp4lm66alihks37qipd2g5grqqfdnd"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs ]; + meta = { + homepage = "https://melpa.org/#/ox-slimhtml"; + license = lib.licenses.free; + }; + }) {}; + ox-spectacle = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , org }: + melpaBuild { + pname = "ox-spectacle"; + ename = "ox-spectacle"; + version = "20181211.153"; + src = fetchFromGitHub { + owner = "lorniu"; + repo = "ox-spectacle"; + rev = "9d3ec9a6326289074d8620e97d65e3105307ff51"; + sha256 = "1gm8wwpsq10cfppzl104g3x2g9bha1209p2n8mj9azv71b9mszqx"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/f441e1b3ee30065f8a68c9b0b45d9db0cac8a289/recipes/ox-spectacle"; + sha256 = "1nf4765dihlcjbifhb9dinqin27ivqj2s8wzh1hj4vc3n8mdx5pr"; + name = "recipe"; + }; + packageRequires = [ org ]; + meta = { + homepage = "https://melpa.org/#/ox-spectacle"; + license = lib.licenses.free; + }; + }) {}; ox-textile = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -72442,6 +76820,33 @@ license = lib.licenses.free; }; }) {}; + ox-wk = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , org }: + melpaBuild { + pname = "ox-wk"; + ename = "ox-wk"; + version = "20181111.134"; + src = fetchFromGitHub { + owner = "w-vi"; + repo = "ox-wk.el"; + rev = "9fc37e7e2f789b0ba07cb117ea1e1dcd14a2fd83"; + sha256 = "00wsx21nmnvci2wfvxaci1kdxplavi2a4dw8ahvl7ncr3b60219f"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/0947993df2d9bee493c2c25760f1ac5bcc1136ac/recipes/ox-wk"; + sha256 = "0rb4xkkqb65ly01lb1gl3gyz4yj9hzv4ydbdzsbvmpj0hrdw5nv3"; + name = "recipe"; + }; + packageRequires = [ emacs org ]; + meta = { + homepage = "https://melpa.org/#/ox-wk"; + license = lib.licenses.free; + }; + }) {}; p4 = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -72492,6 +76897,60 @@ license = lib.licenses.free; }; }) {}; + pacfiles-mode = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "pacfiles-mode"; + ename = "pacfiles-mode"; + version = "20181028.1044"; + src = fetchFromGitHub { + owner = "UndeadKernel"; + repo = "pacfiles-mode"; + rev = "ff58f387e0f85ca20c4c9f119bf13303bf8b5a76"; + sha256 = "1my9qhnla61wgrhf0izjx0kyjrxwyz3cfh3xp80mmnxhxrrf21kl"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/bec20443188d9218235c4b31840544a7b1e0690d/recipes/pacfiles-mode"; + sha256 = "08yc3w7zvckg8s1g707hvbbkvi2k52jrk2iwlj0sk22ih3q3yaa9"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs ]; + meta = { + homepage = "https://melpa.org/#/pacfiles-mode"; + license = lib.licenses.free; + }; + }) {}; + pack = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "pack"; + ename = "pack"; + version = "20190312.249"; + src = fetchFromGitHub { + owner = "10sr"; + repo = "pack-el"; + rev = "6a41f8db54e0cf0e6b1219bd6745a7c09c7bd6b3"; + sha256 = "0vha9kbdak14p96m43h9qcp9fxqsbsx9lj0qj48rh8wp97nczi3s"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/96f55c1f15ca24134da378a1ea31f7bb31c84ea9/recipes/pack"; + sha256 = "0lwdhfrpqwpqqg3yhcyj11jv2mm8k9k54qdxlhdi8sxj1fdxmanw"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs ]; + meta = { + homepage = "https://melpa.org/#/pack"; + license = lib.licenses.free; + }; + }) {}; package-build = callPackage ({ cl-lib ? null , fetchFromGitHub , fetchurl @@ -72500,12 +76959,12 @@ melpaBuild { pname = "package-build"; ename = "package-build"; - version = "20180628.2221"; + version = "20190313.2140"; src = fetchFromGitHub { owner = "melpa"; repo = "package-build"; - rev = "befbd7fcb9d1c7143e3ce432eaae69160112e96d"; - sha256 = "04mfnmcxrcd4kg5wcwkcnqk4ixr2mxhpc4aj3xgm5j1b3slma7zf"; + rev = "d023f14b78feddf890cb7e1ded47704c9e2b0303"; + sha256 = "16zrgg2jxnsmiza448067nggbdy78xgn90cz2mcvxqnpvgkrc1kz"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/948fb86b710aafe6bc71f95554655dfdfcab0cca/recipes/package-build"; @@ -72552,16 +77011,16 @@ melpaBuild { pname = "package-lint"; ename = "package-lint"; - version = "20180608.2119"; + version = "20190307.1612"; src = fetchFromGitHub { owner = "purcell"; repo = "package-lint"; - rev = "318a608ff94229dfd2e953e4fd6f37bab27adfaa"; - sha256 = "1ib41dp1dafnkmjga2imhgpgxmwrn4rsi72ylwhh6y9s7a55i8zp"; + rev = "e494a1a9027e73fa07fc42236b953792ce0a32bf"; + sha256 = "0vwr1v491a0hp6dx5ipsf5zd3zmi7igd1j59wzl6njmq9miarzy1"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/9744d8521b4ac5aeb1f28229c0897af7260c6f78/recipes/package-lint"; - sha256 = "0w7nkj4yz5yqmhr3mr7kxa6aqqfs75m3l2578s39940a5sdzirwy"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/dbfb0250a58b2e31c32ff1496ed66a3c5439bd67/recipes/package-lint"; + sha256 = "05akg9cgcqbgja966iv2j878y14d5wvky6m9clkfbw5wyg66xpr0"; name = "recipe"; }; packageRequires = [ cl-lib emacs ]; @@ -72570,6 +77029,33 @@ license = lib.licenses.free; }; }) {}; + package-lint-flymake = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , package-lint }: + melpaBuild { + pname = "package-lint-flymake"; + ename = "package-lint-flymake"; + version = "20181117.56"; + src = fetchFromGitHub { + owner = "purcell"; + repo = "package-lint"; + rev = "83f34f747a13633c92210e6110e3c5377397761c"; + sha256 = "0mljhvc03a8fj3zn5rz8i3mfcb8vd4xfaxmb7m7h9gr8ap3lwz7g"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/dbfb0250a58b2e31c32ff1496ed66a3c5439bd67/recipes/package-lint-flymake"; + sha256 = "076v3xvbxym7dwwl95j8kynj9kj2xw3gzq6qv6qkm0xls7df4yjz"; + name = "recipe"; + }; + packageRequires = [ emacs package-lint ]; + meta = { + homepage = "https://melpa.org/#/package-lint-flymake"; + license = lib.licenses.free; + }; + }) {}; package-plus = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -72704,6 +77190,32 @@ license = lib.licenses.free; }; }) {}; + pact-mode = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "pact-mode"; + ename = "pact-mode"; + version = "20180905.947"; + src = fetchFromGitHub { + owner = "kadena-io"; + repo = "pact-mode"; + rev = "5f401b282e2f8f897fd67e882312875f967be4d6"; + sha256 = "1nqr7jw2anyicr9pxypsmqqwzjn9qnn770gsmdz6r2xam55j81vg"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/b8e11b488c937ac9290f2e6acde92a87024a9012/recipes/pact-mode"; + sha256 = "1awmczhz4cl2vxrn0h1wqkrhy1n9p4j3ayksvgifr4cfhqlsxk6v"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/pact-mode"; + license = lib.licenses.free; + }; + }) {}; paganini-theme = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -72712,12 +77224,12 @@ melpaBuild { pname = "paganini-theme"; ename = "paganini-theme"; - version = "20180710.821"; + version = "20180815.1221"; src = fetchFromGitHub { owner = "onurtemizkan"; repo = "paganini"; - rev = "c7474dd275dca81e77542987c459b4baba1fe190"; - sha256 = "0pvrsv3a94rp7g2p9is3f3mqkqlnd7kcpspdfn7wry3ighc0gqzq"; + rev = "255c5a2a8abee9c5935465ec42b9c3604c178c3c"; + sha256 = "0qhmj8dyy722ds8cmwghhxknwwis1w64wix2hdmzs21c5pa5hgkw"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d6fbb609b411df4fe6f66a7afe27eda7d297f140/recipes/paganini-theme"; @@ -72738,12 +77250,12 @@ melpaBuild { pname = "page-break-lines"; ename = "page-break-lines"; - version = "20171210.31"; + version = "20181221.1508"; src = fetchFromGitHub { owner = "purcell"; repo = "page-break-lines"; - rev = "fd3b7e38ad8747cd009ead7ef1bb150849ccc693"; - sha256 = "0ik5v2kd0l5a6sznld5ncdb4lsyqbbw7axs0qwxc968b540k9zq5"; + rev = "87e801efb816b24e83ebf84c052001e178e180bc"; + sha256 = "0y2ag7gfspcndjmap87n8mxn5kglb80fzpdmramzjjsrcx7dwdix"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/page-break-lines"; @@ -72872,16 +77384,16 @@ melpaBuild { pname = "pamparam"; ename = "pamparam"; - version = "20180415.48"; + version = "20190122.612"; src = fetchFromGitHub { owner = "abo-abo"; repo = "pamparam"; - rev = "8fa25d06fb2ae6d992e738a10d8b2150e109d9bf"; - sha256 = "0p50cfmwgwahb1czqvgx2kvnd3k46zl0pybvxlyf45y4c4kr8wjp"; + rev = "3593cea568da1b479e408180a75890e53d047429"; + sha256 = "0ayvkzxwncx9gqw9j0c06fy9x2i5fs9nbc77fprxcifiz7kl3x9s"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/067b5e3594641447478db8c1ffcb36d63018b1b2/recipes/pamparam"; - sha256 = "0xwz1il9ldkfprin3rva407m4wm7c48blwfn4mgaxmqafy4p0g9f"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/03de45e491e970cc5733950a825b98545b5ac24b/recipes/pamparam"; + sha256 = "01n35a3fnwbb7w2qpk8b5f9wwmr6d5jcjzcv6gnc1768a43p9yzf"; name = "recipe"; }; packageRequires = [ emacs hydra lispy worf ]; @@ -72890,6 +77402,32 @@ license = lib.licenses.free; }; }) {}; + panda = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "panda"; + ename = "panda"; + version = "20190401.2306"; + src = fetchFromGitHub { + owner = "sebasmonia"; + repo = "panda"; + rev = "a7f2045cc568a5ec8b97734abdbb8618990748ca"; + sha256 = "0a6ravwfjaf70mkkpd174y6w1hp2q18wjl5mmpa9gzyfa0c27v1q"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/69800de45dda180450ed9d47a24181b659d9d1ae/recipes/panda"; + sha256 = "04app7ni9q04v7pi1ppi5qgx5klcpawflmbsj58y33gz29di1zjk"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/panda"; + license = lib.licenses.free; + }; + }) {}; panda-theme = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -72898,12 +77436,12 @@ melpaBuild { pname = "panda-theme"; ename = "panda-theme"; - version = "20180203.2318"; + version = "20181128.938"; src = fetchFromGitHub { owner = "jamiecollinson"; repo = "emacs-panda-theme"; - rev = "548b06f3e37f017fa3996015016fb0e565b84d93"; - sha256 = "1f2kzmk03vkq5jdkad6hg2rqjll1l91g48dh2piwdqrkjjbkwsvy"; + rev = "60aa47c7a930377807da0d601351ad91e8ca446a"; + sha256 = "169khnipnxv0y412wc2r5nsh9d9zwpdyip0l9ayyzb19zdjl1l47"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a90ca1275ceab8e1ea4fdfa9049fbd24a5fd0bf5/recipes/panda-theme"; @@ -72951,12 +77489,12 @@ melpaBuild { pname = "pandoc-mode"; ename = "pandoc-mode"; - version = "20180710.746"; + version = "20190211.1312"; src = fetchFromGitHub { owner = "joostkremers"; repo = "pandoc-mode"; - rev = "f1fa01d3fd079a82c0561e6227b5e984910ec458"; - sha256 = "0yy7h87zykdc8mrvam7rqjfibzbvci2phxzipq0cfq1mcq7ypdlm"; + rev = "d135bb5b8874f1b16c053215ecb29e22f0f79657"; + sha256 = "1gmw78vjl82xlb4ajfiaf4q6hg35xadhjcvy7kyzr0kzs1zkkk4n"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4e39cd8e8b4f61c04fa967def6a653bb22f45f5b/recipes/pandoc-mode"; @@ -73002,12 +77540,12 @@ melpaBuild { pname = "paper-theme"; ename = "paper-theme"; - version = "20180429.1515"; + version = "20190124.1028"; src = fetchFromGitHub { owner = "cadadr"; repo = "elisp"; - rev = "ffe03506694c94de0444995f973a925deccc400a"; - sha256 = "02wcvka96zdlq3myfar7dqywfil2b77bc6ydmgcphwn3as3kl08r"; + rev = "b19b37be332bada6b18d4d895edf6ce78ab420c4"; + sha256 = "0i97l8fdrjjb6dzfcqgss5yj4ibkiaxnj32sm6nyr2s7bijkvi4x"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a7ea18a56370348715dec91f75adc162c800dd10/recipes/paper-theme"; @@ -73061,12 +77599,12 @@ melpaBuild { pname = "paradox"; ename = "paradox"; - version = "20180216.334"; + version = "20190406.1609"; src = fetchFromGitHub { owner = "Malabarba"; repo = "paradox"; - rev = "e5dd26f67ba8fa8ab1631a00ddea4117805b3fd0"; - sha256 = "09x8glw949hivbzikki5blgjkzyws69hck501ym99663k4irdir1"; + rev = "7ccf2403b5d056bd6cbf75c110420e3f5f0e8c0b"; + sha256 = "1vq1qj8gif2215z4zqxlkqqn9qcb1v5rpzphhrcn6lwvl20qfja0"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1e6aed365c42987d64d0cd9a8a6178339b1b39e8/recipes/paradox"; @@ -73240,12 +77778,12 @@ melpaBuild { pname = "parinfer"; ename = "parinfer"; - version = "20180718.16"; + version = "20180904.144"; src = fetchFromGitHub { owner = "DogLooksGood"; repo = "parinfer-mode"; - rev = "04dd27a3f39d6dbe8e4e717a6f7dac26c9798bd8"; - sha256 = "1n1ggfzyvnw9w3acqahiv4pnzhlmvr5rzv15m3iw35w77yki87x4"; + rev = "a7c041454e05ec2b88333a73e72debaa671ed596"; + sha256 = "14ld7r2867aqa1rzk75bzf6qivqd1va4ilawggnxbbx5j2d82r1d"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/470ab2b5cceef23692523b4668b15a0775a0a5ba/recipes/parinfer"; @@ -73258,6 +77796,32 @@ license = lib.licenses.free; }; }) {}; + parrot = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "parrot"; + ename = "parrot"; + version = "20190311.1625"; + src = fetchFromGitHub { + owner = "dp12"; + repo = "parrot"; + rev = "4d77eafc6bfacfe45dae805ceca101331d3d08d0"; + sha256 = "0lqcw0scn2jcs15vybd1x7k7hiykrcsvimqj58s45m2pnaia57ql"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/b1b393ffb9b7691e8fc99bee5fc676463038a68d/recipes/parrot"; + sha256 = "0m67b80vc3qivcxs4w6fpzdg6h9d8s75251rlhnbc0xp7271zgnk"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/parrot"; + license = lib.licenses.free; + }; + }) {}; parse-csv = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -73291,12 +77855,12 @@ melpaBuild { pname = "parsebib"; ename = "parsebib"; - version = "20180116.627"; + version = "20181219.128"; src = fetchFromGitHub { owner = "joostkremers"; repo = "parsebib"; - rev = "683c970a6fb51591bc88ee80e295fedee876e044"; - sha256 = "0mpgyy9qfb5x4fvlmb274hgayjbwf0bgk65dxyx31zikjwpcd56p"; + rev = "9a5f1730b8ef1fb6c29262a8ba79f8136e5548d4"; + sha256 = "1d9x57njgl16yyjmscmai5ml9wrqfh35ilcz2s674s8fa4krqw72"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c39633957475dcd6a033760ba20a957716cce59c/recipes/parsebib"; @@ -73318,12 +77882,12 @@ melpaBuild { pname = "parsec"; ename = "parsec"; - version = "20171202.2031"; + version = "20180729.1716"; src = fetchFromGitHub { owner = "cute-jumper"; repo = "parsec.el"; - rev = "212f848d95c2614a86f135c1bf3de15ef0e09805"; - sha256 = "11qr9i55530pzmiwilfazaqxcjw8sx1iry19jvzdqsffjqvx2mnl"; + rev = "2cbbbc2254aa7bcaa4fb5e07c8c1bf2f381dba26"; + sha256 = "1g1s8s45g3kkbi3h7w0pmadmzdswb64mkdvdpg2lihg341kx37gm"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/248aaf5ff9c98cd3e439d0a26611cdefe6b6c32a/recipes/parsec"; @@ -73345,12 +77909,12 @@ melpaBuild { pname = "parseclj"; ename = "parseclj"; - version = "20180602.1306"; + version = "20190327.151"; src = fetchFromGitHub { owner = "clojure-emacs"; repo = "parseclj"; - rev = "dc0d165b0a8633f5b11ed9175a6e421c52f4d314"; - sha256 = "1ra1z9xp8v4qsw00dzr3w7a9qznj2laarc3s09n1wnr8xbp6nwxk"; + rev = "dec638c5ca02deac7b83718828279c5d0b49725f"; + sha256 = "15ylphnmk4dyrympi143g08jan8na31ncdzsifjhh68kisw7xzl4"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e2a977779a7ee49f57b849b14e581210a7f47d61/recipes/parseclj"; @@ -73363,6 +77927,34 @@ license = lib.licenses.free; }; }) {}; + parseedn = callPackage ({ a + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , parseclj }: + melpaBuild { + pname = "parseedn"; + ename = "parseedn"; + version = "20190331.358"; + src = fetchFromGitHub { + owner = "clojure-emacs"; + repo = "parseedn"; + rev = "8f0582da3f1dbce24e93aee7ca26eefea6053f43"; + sha256 = "0lfs8pbqb30iw3zbz0f1lz4g4ryqf737vz1pf01wdf6kwy6qdrf0"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/462a022a83186b8c70e888cc8df42601777504dd/recipes/parseedn"; + sha256 = "0lb0qkvsga90ysa3a1pn8ydf108lsq2azxzzm7xvxbgk0d1xzhjp"; + name = "recipe"; + }; + packageRequires = [ a emacs parseclj ]; + meta = { + homepage = "https://melpa.org/#/parseedn"; + license = lib.licenses.free; + }; + }) {}; pasp-mode = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -73400,12 +77992,12 @@ melpaBuild { pname = "pass"; ename = "pass"; - version = "20180201.451"; + version = "20190102.511"; src = fetchFromGitHub { owner = "NicolasPetton"; repo = "pass"; - rev = "da08fed8dbe1bac980088d47b01f90154dbb8d8b"; - sha256 = "1j5fdcqmqw62zvmwd80bjvkrr5vg59l5k6673hvvhjx77c8nvidv"; + rev = "cd79375005a1c1d8b45d38fefa91eef0bd23182c"; + sha256 = "05h4hacv3yygyjcjj004qbyqjpkl4pyhwgp25gsz8mw5c66l70cx"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/428c2d53db69bed8938ec3486dfcf7fc048cd4e8/recipes/pass"; @@ -73427,12 +78019,12 @@ melpaBuild { pname = "passmm"; ename = "passmm"; - version = "20180622.1626"; + version = "20181130.812"; src = fetchFromGitHub { owner = "pjones"; repo = "passmm"; - rev = "f6130373b84a2d7180a04f6bd533148aa778d8fc"; - sha256 = "19sszl0vjsy0wk0bysm938c3sj458faj4dhw8fqb2nhm6l5v194r"; + rev = "b25a92048c788a8477cc5ffe14c0c4a4df19d79a"; + sha256 = "1jg2rs010fmw10ld0bfl6x7af3v9yqfy9ga5ixmam3qpilc8c4fw"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8ae2a1e10375f9cd55d19502c9740b2737eba209/recipes/passmm"; @@ -73532,12 +78124,12 @@ melpaBuild { pname = "password-store"; ename = "password-store"; - version = "20170829.1633"; + version = "20190405.1930"; src = fetchFromGitHub { owner = "zx2c4"; repo = "password-store"; - rev = "65cead8c0fdb07ce3821f6b97bdcb32684d0c3f7"; - sha256 = "0rm364l9mg2gl16ng5zd02gkfq8592mhrp81sk1v0wwh8wlyrzrh"; + rev = "5c9f614cc43c963a49b695abef8cb9be3f146e85"; + sha256 = "00sllhdr9xcb30x93aqh0j8pp7gqcn57yawkkx7jb8bbdmqkimcg"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/207f8ec84572176749d328cb2bbc4e87c36f202c/recipes/password-store"; @@ -73560,12 +78152,12 @@ melpaBuild { pname = "password-store-otp"; ename = "password-store-otp"; - version = "20170928.18"; + version = "20180814.2310"; src = fetchFromGitHub { owner = "volrath"; repo = "password-store-otp.el"; - rev = "a39a64a91de36e87b852339635bd3c5fb0e32441"; - sha256 = "0gb48blvnn6ci2wl45z81p41ny7vbgl610hqy6b2hyr2171qjd60"; + rev = "1819cd88463cd98a5be9a63273b09202dc2bba63"; + sha256 = "1p53bpwbkjfq4b7znqy0283f7rv7hj4lpcrd9vcvwby6vz4312j7"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/fc89d02554a6ff150ad42634879073892f3e88be/recipes/password-store-otp"; @@ -73760,6 +78352,32 @@ license = lib.licenses.free; }; }) {}; + path-helper = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "path-helper"; + ename = "path-helper"; + version = "20181208.1429"; + src = fetchFromGitHub { + owner = "arouanet"; + repo = "path-helper"; + rev = "34538affb3f341b3c56a875bb094ddb2b859a8ef"; + sha256 = "0qzsalbxksb44f0x7fndl2qyp1yf575qs56skfzmpnpa82dck88g"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/a70b1a41e45d215be27d392429dcd4f82904295f/recipes/path-helper"; + sha256 = "0fff3l88jgflqpxlcfxfyp2prc2ichajvm7c8i19qhvw70sbasny"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/path-helper"; + license = lib.licenses.free; + }; + }) {}; pathify = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -73844,12 +78462,12 @@ melpaBuild { pname = "pc-bufsw"; ename = "pc-bufsw"; - version = "20180107.1040"; + version = "20181221.56"; src = fetchFromGitHub { owner = "ibukanov"; repo = "pc-bufsw"; - rev = "b99ba484e18ebf2b88654704146746490bb7625f"; - sha256 = "184nnkfh7n6vbbmvykvklr1dn3dcwjj3w800irdg55bbnkxxzkj4"; + rev = "762d47b2f278c072643cf2a1ddc785516483d74a"; + sha256 = "1by9p0j6c21y04cc4ls7f87gks631lv1mxk0aqhh41rml5kj4l22"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5f2bbd34d673935846c286e73a1e2efaa00ab01a/recipes/pc-bufsw"; @@ -73921,12 +78539,12 @@ melpaBuild { pname = "pcmpl-args"; ename = "pcmpl-args"; - version = "20120911.2224"; + version = "20190223.813"; src = fetchFromGitHub { owner = "JonWaltman"; repo = "pcmpl-args.el"; - rev = "2ba03b3125ada8037585e545b88bd85b79da5c37"; - sha256 = "0pwx1nbgciy28rivvrgka46zihmag9ljrs40bvscgd9rkragm4zy"; + rev = "7bc360c2e5f84e2fc4024a9783c164b4df174acb"; + sha256 = "1gigcf9xh8a4478wr35smglz1csxamnjs82kqb45kbl9cndsz22s"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/pcmpl-args"; @@ -73971,16 +78589,16 @@ melpaBuild { pname = "pcmpl-homebrew"; ename = "pcmpl-homebrew"; - version = "20170110.1609"; + version = "20190212.1918"; src = fetchFromGitHub { - owner = "hiddenlotus"; + owner = "kaihaosw"; repo = "pcmpl-homebrew"; - rev = "d001520fec4715c9a4c73f02fd948bac371cc50a"; - sha256 = "0mw8w2jd9qgyhxdbnvjays5q6c83i0sb3diizrkq23axprfg6d70"; + rev = "bebc91c1a0392173f2d1ca2127da137565d79b4d"; + sha256 = "11f5xmdlym32j00rkqgwzcnawqwx5i2j7f92n3133r1f7w4gkvix"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/pcmpl-homebrew"; - sha256 = "11yd18s79iszp8gas97hqpa0b0whgh7dvlyci3nd4z28467p83v8"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/pcmpl-homebrew"; + sha256 = "1mfkg9i2hqq8mkhnc8yzc9br9wlhjv17vdvjzwhkybcbmhqf2qkm"; name = "recipe"; }; packageRequires = []; @@ -73999,16 +78617,16 @@ melpaBuild { pname = "pcmpl-pip"; ename = "pcmpl-pip"; - version = "20171201.33"; + version = "20181229.620"; src = fetchFromGitHub { - owner = "hiddenlotus"; + owner = "kaihaosw"; repo = "pcmpl-pip"; - rev = "8b001b579fc015f80ee0e4f3211058b830bf7c47"; - sha256 = "0f8s2gn82dhyrnv0j688697xy0ig2yhn5m94gwhcllxq5a3yhbdg"; + rev = "ebb672d4494f876f611639e65df4e28e566c06b5"; + sha256 = "0m0x41ymjqax7y7cy6ssgnrl708vr7xazac3nyznwfdsls1mzmbg"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/pcmpl-pip"; - sha256 = "19a3np5swpqvrx133yvziqnr2pvj8zi0b725j8kxhp2bj1g1c6hr"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/pcmpl-pip"; + sha256 = "17nmgq4wgv4yl2rsdf32585hfa58j0825mzzajrlwgmjiqx9i778"; name = "recipe"; }; packageRequires = [ f s seq ]; @@ -74131,12 +78749,12 @@ melpaBuild { pname = "pdf-tools"; ename = "pdf-tools"; - version = "20180428.827"; + version = "20190308.2344"; src = fetchFromGitHub { owner = "politza"; repo = "pdf-tools"; - rev = "5209f620c85e6c7c23e96768ebae6b5c6f79f3e1"; - sha256 = "0dv3phzjp6z2f5bbl6m7ll073p81w1fkq543mp44g2cqb9dvq24s"; + rev = "9a63f3909e5a331b6974deb03abd2c4bad42c2d9"; + sha256 = "11i4kbwclwyvznyd9q69fq36fjasvs72ziz0555hl3fjbbq0n71q"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8e3d53913f4e8a618e125fa9c1efb3787fbf002d/recipes/pdf-tools"; @@ -74149,6 +78767,32 @@ license = lib.licenses.free; }; }) {}; + pdfgrep = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "pdfgrep"; + ename = "pdfgrep"; + version = "20181007.1028"; + src = fetchFromGitHub { + owner = "jeremy-compostella"; + repo = "pdfgrep"; + rev = "e251cd5c88a4ba5cb69008ba412d329f4d59e1d2"; + sha256 = "0fy6h8ys490kw63l9jigsa0cf1psybyd9gcljpddnjd3nhkdwikw"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/55b0c24f883fe589d1159ce3845cf250a0f47feb/recipes/pdfgrep"; + sha256 = "0q511l57xv1s6z496jrlz6j2nf0fync0dlbm4r800p49lbh4abl3"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/pdfgrep"; + license = lib.licenses.free; + }; + }) {}; peacock-theme = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -74259,11 +78903,11 @@ melpaBuild { pname = "pelican-mode"; ename = "pelican-mode"; - version = "20180604.1507"; + version = "20190124.1536"; src = fetchgit { url = "https://git.korewanetadesu.com/pelican-mode.git"; - rev = "209ad24318e1f28675da430aa10ef3467694b9ac"; - sha256 = "1hiyl2iy2pa38bfr0z4axxmq3b79c31djyxqchx5mwzl9427dfsr"; + rev = "a69934885c7a3b303049e2418333b3915b8f8fb8"; + sha256 = "0wxmm9x07f0g31k68pfkds7m8d2jivcnc5m6a3dxfhygz20wc5n4"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/aede5994c2e76c7fd860661c1e3252fb741f9228/recipes/pelican-mode"; @@ -74386,12 +79030,12 @@ melpaBuild { pname = "persistent-scratch"; ename = "persistent-scratch"; - version = "20180425.1811"; + version = "20190128.1043"; src = fetchFromGitHub { owner = "Fanael"; repo = "persistent-scratch"; - rev = "0bfd717d28ce9e262741b06341c61306602c7711"; - sha256 = "1fq3m3p81rrvv1yp0cxfznphx7gava11sn09x706lmm1js62jnip"; + rev = "71371a7ce9846754276350fd577dc7543eb52878"; + sha256 = "0n638krbrs2hx97cgkb5nc0fbrd8wsbmb7mz3ym5mx5pvdyxnlgv"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f1e32702bfa15490b692d5db59e22d2c07b292d1/recipes/persistent-scratch"; @@ -74441,12 +79085,12 @@ melpaBuild { pname = "persp-fr"; ename = "persp-fr"; - version = "20180103.642"; + version = "20180801.27"; src = fetchFromGitHub { owner = "rocher"; repo = "persp-fr"; - rev = "aeb3b5de6135269091bb9aa0396973766c27fc88"; - sha256 = "0l6hlgn54iw2f6ry0gw79rsbz1r4svxf2xwffi580vi68wrcnvf2"; + rev = "3f536440b120499464106fd25f182d7580192870"; + sha256 = "0bnplxv6igry7ak3wvn2b88zm4aarv35z4z5q38x52k4zac94rl8"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8e09213dddf003a1275eafb767431a507ecf7639/recipes/persp-fr"; @@ -74466,12 +79110,12 @@ melpaBuild { pname = "persp-mode"; ename = "persp-mode"; - version = "20180604.1018"; + version = "20180930.1020"; src = fetchFromGitHub { owner = "Bad-ptr"; repo = "persp-mode.el"; - rev = "cc1d16aeb17f45d7141fcdc45f8bbffa03b3127f"; - sha256 = "1qjnzdrx5a5nv742wvcv50jgjis6a44xwl29gj4k9ix5phgc2n9l"; + rev = "689f63e7370cd9424d84b9f7b2eb3d1955443313"; + sha256 = "141yakk7xfs0b58far1zqmwimim139bbzk0ymyzgghf5vyb5lxin"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/caad63d14f770f07d09b6174b7b40c5ab06a1083/recipes/persp-mode"; @@ -74548,12 +79192,12 @@ melpaBuild { pname = "perspective"; ename = "perspective"; - version = "20180717.1403"; + version = "20181119.1714"; src = fetchFromGitHub { owner = "nex3"; repo = "perspective-el"; - rev = "8e2f122de408d7866136dd861d513a9575cf32e6"; - sha256 = "0pd5sqrrz6y3md20yh6ffy32jdcgb1gc9b4j14pm6r54bqxik68h"; + rev = "2c8cf56d170c3eb1fcc1a8fe41026b780e0ffead"; + sha256 = "0xlib2f8fjmwk8r0p6r8y5ni687xmixqp9s40rgxc15ikin54hhf"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/perspective"; @@ -74601,12 +79245,12 @@ melpaBuild { pname = "pfuture"; ename = "pfuture"; - version = "20180715.524"; + version = "20190322.52"; src = fetchFromGitHub { owner = "Alexander-Miller"; repo = "pfuture"; - rev = "e39d0d2953a5db7d9f567596865239012e506ac4"; - sha256 = "0nd1asv8a0iqjvgaaxy4pyyfxcyk3rlyxndia78rzskkl53dqrc6"; + rev = "766cfb7d2df8ebc6144fb644d4d858f66657f60d"; + sha256 = "1zjkpanfxhdfq75dy5x2m541qxpcnh67d7aiijdgkb0g5v3yb61d"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5fb70c9f56a58b5c7a2e8b69b191aa2fc7c9bcc8/recipes/pfuture"; @@ -75071,12 +79715,12 @@ melpaBuild { pname = "php-cs-fixer"; ename = "php-cs-fixer"; - version = "20170506.1133"; + version = "20190207.326"; src = fetchFromGitHub { owner = "OVYA"; repo = "php-cs-fixer"; - rev = "2e28b82d192c6f420ecb8cbef04256f3c9c47c4b"; - sha256 = "1lh37z4z09nz4wfp8ly94dwrmjsqpg6phw5r8y4gjhfnfbgpq4b9"; + rev = "6540006710daf2b2d47576968ea826a83a40a6bf"; + sha256 = "089x26akvkfm772v8n3x3l5wpkhvlgad2byrcbh0a1vyhnjb2fvd"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a3631c4b81c1784995ae9e74d832e301d79214e2/recipes/php-cs-fixer"; @@ -75123,16 +79767,16 @@ melpaBuild { pname = "php-mode"; ename = "php-mode"; - version = "20180608.250"; + version = "20190401.1042"; src = fetchFromGitHub { - owner = "ejmr"; + owner = "emacs-php"; repo = "php-mode"; - rev = "cf1907be2ddca079146ef258ba95d525f17787e3"; - sha256 = "1dpyid4qp8lak6pvhjh1p5nwbgz67nq1yhwir54k4wk39r1g6i08"; + rev = "bcde734c37ca36e6c2a925038760247b09ca8825"; + sha256 = "0shrssfjbqykpyz8kmchizgcl2m29bxp1n1331csi0lnqkb9v540"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/7cdbc35fee67b87b87ec72aa00e6dca77aef17c4/recipes/php-mode"; - sha256 = "1lc4d3fgxhanqr3b8zr99z0la6cpzs2rksj806lnsfw38klvi89y"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/2e41dc09413eaa93704e7d9f55bd2bd01f658806/recipes/php-mode"; + sha256 = "1gqmcynz2wx09xjnk70db1a2pbnrh1vfm5vd6mks1s10y59bh0zq"; name = "recipe"; }; packageRequires = [ cl-lib emacs ]; @@ -75168,26 +79812,28 @@ }) {}; php-runtime = callPackage ({ cl-lib ? null , emacs + , f , fetchFromGitHub , fetchurl , lib - , melpaBuild }: + , melpaBuild + , s }: melpaBuild { pname = "php-runtime"; ename = "php-runtime"; - version = "20180110.934"; + version = "20181212.1025"; src = fetchFromGitHub { owner = "emacs-php"; repo = "php-runtime.el"; - rev = "fa4312863245511462b75cb31df2f8558288f4df"; - sha256 = "1glwy0cgnn0z4rnd45pqy0bmyaddhxfjlj778hz7ghy40h9kqbdn"; + rev = "017e0e70f07d6b25e37d5c5f4d271a914b677631"; + sha256 = "1c74xd6p3hfanpd4920agvnar9rjbyvz33kwrzw9vywzrs68ncvh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/615c9ac208d8c20082a8ac83e49e93d99e2cbc89/recipes/php-runtime"; sha256 = "0dvnwajrjsgyqzglzpkx9vwx3f55mrag6dsbdjqc9vvpvxhmgfwb"; name = "recipe"; }; - packageRequires = [ cl-lib emacs ]; + packageRequires = [ cl-lib emacs f s ]; meta = { homepage = "https://melpa.org/#/php-runtime"; license = lib.licenses.free; @@ -75222,28 +79868,30 @@ }; }) {}; phpactor = callPackage ({ cl-lib ? null + , composer , emacs , f , fetchFromGitHub , fetchurl , lib - , melpaBuild }: + , melpaBuild + , php-runtime }: melpaBuild { pname = "phpactor"; ename = "phpactor"; - version = "20180721.1022"; + version = "20190402.1916"; src = fetchFromGitHub { owner = "emacs-php"; repo = "phpactor.el"; - rev = "a09b2eb76228b39a9a6823dc6782e44bafc4b974"; - sha256 = "10x999z1rlnjdvnpq4c7gf6n19a47nj954y3vbshb15d6wzxd923"; + rev = "5dc331636786bdcee9ce2868d4d313c40aca1303"; + sha256 = "0qwklrsd8hxjvcddjj4ks3p24nyc3rcsxs9hyn3jphxww2igjbiv"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d67b98ecd541c227c011615f67d7a0890f5e1af3/recipes/phpactor"; sha256 = "0w2iszi74y3s6rcn6p2ic545cg319y4jpy83npbh5m98y8jma84m"; name = "recipe"; }; - packageRequires = [ cl-lib emacs f ]; + packageRequires = [ cl-lib composer emacs f php-runtime ]; meta = { homepage = "https://melpa.org/#/phpactor"; license = lib.licenses.free; @@ -75257,12 +79905,12 @@ melpaBuild { pname = "phpcbf"; ename = "phpcbf"; - version = "20180519.138"; + version = "20181227.2023"; src = fetchFromGitHub { owner = "nishimaki10"; repo = "emacs-phpcbf"; - rev = "a31020fc4c5add7339e009faea66894dc02a77f1"; - sha256 = "04iw5is9h6a0i650mymyxq32z02rzl6k7pvwmv849rka16xhw1aq"; + rev = "fb0bc6073a57126cf1a8404723aa0a715dd761aa"; + sha256 = "0k2wl137nippcfx3g35kfprz2fiv8rbbi7dcpxciwnbqmn6ry7rf"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/77ef54e3fb2715a081786dc54f99ae74def5c77c/recipes/phpcbf"; @@ -75283,12 +79931,12 @@ melpaBuild { pname = "phpstan"; ename = "phpstan"; - version = "20180721.1235"; + version = "20190227.842"; src = fetchFromGitHub { owner = "emacs-php"; repo = "phpstan.el"; - rev = "09102b062b607affc93f2d8a113a9fc9f9cf3016"; - sha256 = "0n21vyvd5c42v03xcfx94dz252z3s413i0f9pwjrssq2yd3x2bgm"; + rev = "1151b8d418af532fdf0732b9793b479c64a364e3"; + sha256 = "0wb9pshgcrq2w9d9fpkywz299ihcb9fffh3fdk8rm1r8irylrjkh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5a2b6cc39957e6d7185bd2bdfa3755e5b1f474a6/recipes/phpstan"; @@ -75313,12 +79961,12 @@ melpaBuild { pname = "phpunit"; ename = "phpunit"; - version = "20171127.301"; + version = "20180829.738"; src = fetchFromGitHub { owner = "nlamirault"; repo = "phpunit.el"; - rev = "a13706733f98be3639c47311fc820b3b50f4bc33"; - sha256 = "0vfvybjinj0knim4ax0xspz7zr3n2y9ap1lvwqx1gwydr06w4jrl"; + rev = "fe6bc91c3bd8b329c6d26ad883a025f06b5121ee"; + sha256 = "1silbfmv85r73pbc7f5cm4znc6644ngihfnhibk1fgp9j0rf7ahc"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0670b42c0c998daa7bf01080757976ac3589ec06/recipes/phpunit"; @@ -75365,12 +80013,12 @@ melpaBuild { pname = "pickle"; ename = "pickle"; - version = "20180627.1937"; + version = "20190122.948"; src = fetchFromGitHub { owner = "ahungry"; repo = "pickle-mode"; - rev = "568570b7d376026fbcb7c3df1ad8f605bd14c820"; - sha256 = "0dg44js5l1p93h73x7zh4znr0iwgmms7qr4v4594ab6sg7cc54jm"; + rev = "0d0b1925b7b79e2c80a1877351e3c6ce52935c4b"; + sha256 = "0hbymja9109fzw34ra5iyxvhfv0x8ffr8sayqihdfmrs2ymh045z"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4cb71882f074d3fef1f5a7b504dafcb6adff8ed4/recipes/pickle"; @@ -75390,12 +80038,12 @@ melpaBuild { pname = "picolisp-mode"; ename = "picolisp-mode"; - version = "20150516.155"; + version = "20190104.2320"; src = fetchFromGitHub { owner = "flexibeast"; repo = "picolisp-mode"; - rev = "1a537b14090813f46cbba54636d40365e1a8067e"; - sha256 = "0p91ysyjksbravnw3l78mshay6swgb5k1zi5bbppppk8zkmdp115"; + rev = "39e54f31b5d10483aac2765bf5cc4ad92f9e4467"; + sha256 = "054hmmpcxg56r9qhk006mm7y6b2bb6pjxk48fbynhbwmhwnn79ps"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/fe116998dadeef6e61c0791efb396f9b8befa5d6/recipes/picolisp-mode"; @@ -75416,12 +80064,12 @@ melpaBuild { pname = "picpocket"; ename = "picpocket"; - version = "20180610.359"; + version = "20180914.1119"; src = fetchFromGitHub { owner = "johanclaesson"; repo = "picpocket"; - rev = "ce4b6ed088384f2414af82e8e4eae5b92c2874bf"; - sha256 = "15vpbcv83mc4j1pvrk7xic0klh2bl9gzg2xxs7c2lmnix52hy8mv"; + rev = "f0f9947a097b2a02901d6d0bb427c7a6e02f2af7"; + sha256 = "0fnafiax2xb97vkvr8fd2x3rpnw72661k0p163mkvp1zp59zy6is"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e88dc89311d4bfe82dc15f22b84c4b76abb3fd69/recipes/picpocket"; @@ -75562,6 +80210,32 @@ license = lib.licenses.free; }; }) {}; + pine-script-mode = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "pine-script-mode"; + ename = "pine-script-mode"; + version = "20181109.1751"; + src = fetchFromGitHub { + owner = "EricCrosson"; + repo = "pine-script-mode"; + rev = "9176de41a5c80f7b56e41fb7a9ba7350885a2512"; + sha256 = "1kxdrqa420zbl73jlakilvn1ja83vfqnhqdirgfvp23z4xhcddq6"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/287b781147fe41089fa8c76570bc30539e43e5bc/recipes/pine-script-mode"; + sha256 = "0ihijbcx7m4vhxr1fnfkwjdk6ka1mqzxb8z164yh8yn73qs0saiq"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/pine-script-mode"; + license = lib.licenses.free; + }; + }) {}; pinot = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -75673,12 +80347,12 @@ melpaBuild { pname = "pip-requirements"; ename = "pip-requirements"; - version = "20180602.1034"; + version = "20181027.929"; src = fetchFromGitHub { owner = "Wilfred"; repo = "pip-requirements.el"; - rev = "4eff2953317272e145649effb1956081a31645ee"; - sha256 = "1hnkfbcsrf69pz71pka4hp8dv4qvq431x5ahind4iwz9lzsfhhwq"; + rev = "216cd1690f80cc965d4ae47b8753fc185f778ff6"; + sha256 = "0da3q0n5nn0l96kk49kanw5knx3jmga439zbmiii76na16bg5y3i"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5eaf6987f92070ccc33d3e28c6bb2b96f72ba1aa/recipes/pip-requirements"; @@ -75697,23 +80371,24 @@ , fetchurl , lib , melpaBuild + , pyvenv , s }: melpaBuild { pname = "pipenv"; ename = "pipenv"; - version = "20180718.2247"; + version = "20190307.355"; src = fetchFromGitHub { owner = "pwalsh"; repo = "pipenv.el"; - rev = "05e98e80be2dd92f14ffb9f6048f98547a9f0253"; - sha256 = "1gdy31nlxac1c500jpcnvgb32lcg0xfqgiiyci4s958cwn1yn704"; + rev = "189cf5a4d425b6bdcd26742a460cf12cc540f524"; + sha256 = "0dcd7gmjs5s17h55nnpyppxg3zf96p3w8bsb9sk2wy1jwxn566cm"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d46738976f5dfaf899ee778b1ba6dcee455fd271/recipes/pipenv"; sha256 = "110ddg6yjglp49rgn1ck41rl97q92nm6zx86mxjmcqq35cxmc6g1"; name = "recipe"; }; - packageRequires = [ emacs f s ]; + packageRequires = [ emacs f pyvenv s ]; meta = { homepage = "https://melpa.org/#/pipenv"; license = lib.licenses.free; @@ -75858,12 +80533,12 @@ melpaBuild { pname = "pkgbuild-mode"; ename = "pkgbuild-mode"; - version = "20180609.931"; + version = "20181216.531"; src = fetchFromGitHub { owner = "juergenhoetzel"; repo = "pkgbuild-mode"; - rev = "b19759d8c4fcb27ac3455d277ad8b81886f0ad97"; - sha256 = "038xgic6ngvgsbn3ss3nvhdy3bhq425sas5lgg8z1nql8f4rz2kb"; + rev = "e30e37730b5f30bc0dd5b9328fbf4cb3e6f46fdd"; + sha256 = "1ijx067hlbr4yz9b9h58pwlqd4rgjgm27f5s1f9f3rwb249s36s1"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ca7bf43ef8893bf04e9658390e306ef69e80a156/recipes/pkgbuild-mode"; @@ -75909,12 +80584,12 @@ melpaBuild { pname = "plan9-theme"; ename = "plan9-theme"; - version = "20180606.2035"; + version = "20180804.741"; src = fetchFromGitHub { owner = "john2x"; repo = "plan9-theme.el"; - rev = "4c9455033e877b7ce464bc99de32f310cf0bcda9"; - sha256 = "0arbhpms38i75a9dpqn9krv64bx47jaiccanqdgzf4slcb8kvk6z"; + rev = "4c1050b8ed42e0f99ef64c77ec370a786bd0003c"; + sha256 = "1l2bgdip617zkd9470rja1qyijpc896dvmc6dgclvaz1ajgjwa9j"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cdc4c2bafaa09e38edd485a9091db689fbda2fe6/recipes/plan9-theme"; @@ -75953,26 +80628,27 @@ license = lib.licenses.free; }; }) {}; - plantuml-mode = callPackage ({ fetchFromGitHub + plantuml-mode = callPackage ({ emacs + , fetchFromGitHub , fetchurl , lib , melpaBuild }: melpaBuild { pname = "plantuml-mode"; ename = "plantuml-mode"; - version = "20170819.1033"; + version = "20190316.458"; src = fetchFromGitHub { owner = "skuro"; repo = "plantuml-mode"; - rev = "5a2e8d0dd2ba9286fc3c82d8689d25050290f68d"; - sha256 = "1gcv5gmps371wd2sjbq4g5p2yj2ip8lpn81lypwb5xavqa7gjhlv"; + rev = "2b84a2df523904c180a3556c851f59beb0e070d7"; + sha256 = "0l4nxda55ipbrzy0nj59d1vf97m2h9ydviq9r7hiw4mjfq31lzsv"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/38e74bb9923044323f34473a5b13867fe39bed25/recipes/plantuml-mode"; sha256 = "03srbg34512vxcqn95q4r7h2aqbqq0sd5c9ffnbx2a75vsblqc6h"; name = "recipe"; }; - packageRequires = []; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/plantuml-mode"; license = lib.licenses.free; @@ -76415,12 +81091,12 @@ melpaBuild { pname = "pocket-reader"; ename = "pocket-reader"; - version = "20180719.1453"; + version = "20181219.130"; src = fetchFromGitHub { owner = "alphapapa"; repo = "pocket-reader.el"; - rev = "baef400c607cb192fac9157d3f6ce5e1573628bd"; - sha256 = "12j1za5d98svll26xi8igxk0zh8vz4i0bbscx8m39gn0grh5kmnb"; + rev = "a7f080ec3e9522f942166de61b24a375b8f1c2bb"; + sha256 = "0l7dln7qcrgzm73vk7jp8wr2kibg18973xmdzyyc162hdnlbrpb0"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/835a7bf2f72987183e9d15ada7ae747fb5715c11/recipes/pocket-reader"; @@ -76469,6 +81145,33 @@ license = lib.licenses.free; }; }) {}; + poet-client = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , request }: + melpaBuild { + pname = "poet-client"; + ename = "poet-client"; + version = "20190123.2254"; + src = fetchFromGitHub { + owner = "wailo"; + repo = "emacs-poet"; + rev = "bca73c57f1daa33eec7763adcbc9733f65f9864d"; + sha256 = "129xc278kryh097y4jxqkzbsw6y39b8yxxq5sp7y0a1cm10gwdwj"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/a0b003773edaa728ed49f0de2ca64a00cb60d13a/recipes/poet-client"; + sha256 = "11yj57915ly8j2byp5c395lip73iv1chrzxdlxilhnll1brvmaw0"; + name = "recipe"; + }; + packageRequires = [ emacs request ]; + meta = { + homepage = "https://melpa.org/#/poet-client"; + license = lib.licenses.free; + }; + }) {}; poet-theme = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -76476,12 +81179,12 @@ melpaBuild { pname = "poet-theme"; ename = "poet-theme"; - version = "20180603.1523"; + version = "20190127.1420"; src = fetchFromGitHub { owner = "kunalb"; repo = "poet"; - rev = "fddb662bfc55c535e5b13b3368e430916d8be70c"; - sha256 = "1dicjjh68rs1mzzgy81s1phjbdc5mirwxb3ym8y1yirpb2hj4bal"; + rev = "e16d47de40c9ec434adb8b861223f0bf95495240"; + sha256 = "1nf34m5agygd93q45bsi3zxbzf9jyz11hncwyi6q8mnanxr2imfa"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/40bbe29dee56f7989d8e87c03f4842e2b191acc3/recipes/poet-theme"; @@ -76578,12 +81281,12 @@ melpaBuild { pname = "pollen-mode"; ename = "pollen-mode"; - version = "20180404.612"; + version = "20190309.2138"; src = fetchFromGitHub { owner = "lijunsong"; repo = "pollen-mode"; - rev = "df4eab5b490cb478a092e6bab6b07f9e2f9c6fad"; - sha256 = "0x8bnf0n109ard5zdmma04w0wv5jb1r7qh5smsa1kjvws98gnp57"; + rev = "819edf830e9519f8ca57e9cef31211e3f444d11a"; + sha256 = "0c06kfbyk2g0kxwlh6g3r7ij06ip6x9ni0bin24drwr0qj2vis2d"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/97bda0616abe3bb632fc4231e5317d9472dfd14f/recipes/pollen-mode"; @@ -76596,6 +81299,207 @@ license = lib.licenses.free; }; }) {}; + poly-R = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , poly-markdown + , poly-noweb + , polymode }: + melpaBuild { + pname = "poly-R"; + ename = "poly-R"; + version = "20190323.1424"; + src = fetchFromGitHub { + owner = "polymode"; + repo = "poly-R"; + rev = "3d90219d7e099ba65449681700ffc62cf88d9cc4"; + sha256 = "1327rqdhc0xaad2k5rjwma6wwky72a8bfqmw1wqy0d4wzbn2wbrf"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/3058351c4500fdcbe7f40b4c96ac8d6de9bbeb1d/recipes/poly-R"; + sha256 = "1v2was6pdynwm22b4n2hkwyrr0c0iir9kp1wz4hjab8haqxz68ii"; + name = "recipe"; + }; + packageRequires = [ emacs poly-markdown poly-noweb polymode ]; + meta = { + homepage = "https://melpa.org/#/poly-R"; + license = lib.licenses.free; + }; + }) {}; + poly-ansible = callPackage ({ ansible + , ansible-doc + , fetchFromGitLab + , fetchurl + , jinja2-mode + , lib + , melpaBuild + , polymode + , yaml-mode }: + melpaBuild { + pname = "poly-ansible"; + ename = "poly-ansible"; + version = "20181222.717"; + src = fetchFromGitLab { + owner = "mavit"; + repo = "poly-ansible"; + rev = "2cb970a0e27b41ae85bc51d24ef36fa2c7b34bbc"; + sha256 = "04vf6zgcra47j3phxbb43q5sa5ldavnbiwwdlw1xipg44991j6md"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/6d8beef5daa1804f68c30138cb03b5085a282c34/recipes/poly-ansible"; + sha256 = "158z3nbqgrh71myyp4l263lw1gn4iiwxv8pl7fdlyp80hz5zs60y"; + name = "recipe"; + }; + packageRequires = [ + ansible + ansible-doc + jinja2-mode + polymode + yaml-mode + ]; + meta = { + homepage = "https://melpa.org/#/poly-ansible"; + license = lib.licenses.free; + }; + }) {}; + poly-erb = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , polymode }: + melpaBuild { + pname = "poly-erb"; + ename = "poly-erb"; + version = "20190317.723"; + src = fetchFromGitHub { + owner = "polymode"; + repo = "poly-erb"; + rev = "5339b0ba665cbf62dc09571e9fbc5e824c5bf5e4"; + sha256 = "13bvgh0y4nlwxyxph7xs1m9akwb9cln2s5bnnn6fhwhgamsbqcvi"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/3058351c4500fdcbe7f40b4c96ac8d6de9bbeb1d/recipes/poly-erb"; + sha256 = "01c1z2jll497k1y8835pp54n121y0gkyz1pdxcdjjqv7ia8jwfyy"; + name = "recipe"; + }; + packageRequires = [ emacs polymode ]; + meta = { + homepage = "https://melpa.org/#/poly-erb"; + license = lib.licenses.free; + }; + }) {}; + poly-markdown = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , markdown-mode + , melpaBuild + , polymode }: + melpaBuild { + pname = "poly-markdown"; + ename = "poly-markdown"; + version = "20190317.652"; + src = fetchFromGitHub { + owner = "polymode"; + repo = "poly-markdown"; + rev = "852755d339197ea5b2197b64a97d0b9c03b94e9c"; + sha256 = "00y510ky587frzpzbyi82rqngi8ifnfzd5r15lh9w34v3dxjif6f"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/3058351c4500fdcbe7f40b4c96ac8d6de9bbeb1d/recipes/poly-markdown"; + sha256 = "0pxai5x2vz6j742s3bpcy82dxja6441fsgclhz1hbv2ykazbm141"; + name = "recipe"; + }; + packageRequires = [ emacs markdown-mode polymode ]; + meta = { + homepage = "https://melpa.org/#/poly-markdown"; + license = lib.licenses.free; + }; + }) {}; + poly-noweb = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , polymode }: + melpaBuild { + pname = "poly-noweb"; + ename = "poly-noweb"; + version = "20190317.652"; + src = fetchFromGitHub { + owner = "polymode"; + repo = "poly-noweb"; + rev = "1ce8d4f5c69376255e7be03fd03aa3b3bc00cfb5"; + sha256 = "00n86lyrgffznspryc5h9bgqz5m0c0zwsxf9mlli62jf6c3wsd1q"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/3058351c4500fdcbe7f40b4c96ac8d6de9bbeb1d/recipes/poly-noweb"; + sha256 = "1692js29wdjpxvcbcaxysbsq6pxdqr38frqf88ksldlz35cmy62b"; + name = "recipe"; + }; + packageRequires = [ emacs polymode ]; + meta = { + homepage = "https://melpa.org/#/poly-noweb"; + license = lib.licenses.free; + }; + }) {}; + poly-org = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , polymode }: + melpaBuild { + pname = "poly-org"; + ename = "poly-org"; + version = "20190320.1337"; + src = fetchFromGitHub { + owner = "polymode"; + repo = "poly-org"; + rev = "28421de2993de4da1e1db3b34a1215ce3ccc1d8b"; + sha256 = "14f2752j55gj9is4prcx601km716vsq1fg25157bniiwd42vinqs"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/3058351c4500fdcbe7f40b4c96ac8d6de9bbeb1d/recipes/poly-org"; + sha256 = "1xrhdjmz3p5d3sgbfpmf6wksa1cpxqhy1wg17b5x8ah4w4yhpdca"; + name = "recipe"; + }; + packageRequires = [ emacs polymode ]; + meta = { + homepage = "https://melpa.org/#/poly-org"; + license = lib.licenses.free; + }; + }) {}; + poly-rst = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , polymode }: + melpaBuild { + pname = "poly-rst"; + ename = "poly-rst"; + version = "20190317.735"; + src = fetchFromGitHub { + owner = "polymode"; + repo = "poly-rst"; + rev = "62a5cb9403f48f5c060244903ba0d14cb6822f6c"; + sha256 = "1m2w9rlgpvdki083vyl9916fjb7dl7rd418kha3la46wks7z8ca5"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/d3fb89f58903245a8df75060ddd695a05cedb322/recipes/poly-rst"; + sha256 = "08sdnjb5zvlynyxkmajn1j9gnjdjj81ycid9ziydvrb7hb88x2m4"; + name = "recipe"; + }; + packageRequires = [ emacs polymode ]; + meta = { + homepage = "https://melpa.org/#/poly-rst"; + license = lib.licenses.free; + }; + }) {}; poly-ruby = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -76605,12 +81509,12 @@ melpaBuild { pname = "poly-ruby"; ename = "poly-ruby"; - version = "20170802.648"; + version = "20180905.229"; src = fetchFromGitHub { owner = "knu"; repo = "poly-ruby.el"; - rev = "e6f50a92d29a5ff567d70cafa6621c4f89056d11"; - sha256 = "1pdimvcrjq0k6a9kijcl6zmsmmvssdqsdkgcz14qs4444qly4l9b"; + rev = "794ebb926ace23e9c1398da934701951432dcea2"; + sha256 = "1ffm81hg1gah7hb9x556hda5g4j3gk4c986q9gaacvfizqak3gyy"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/68213703359324d09553a2164f1f6ecca7c16854/recipes/poly-ruby"; @@ -76623,6 +81527,34 @@ license = lib.licenses.free; }; }) {}; + poly-slim = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , polymode + , slim-mode }: + melpaBuild { + pname = "poly-slim"; + ename = "poly-slim"; + version = "20190320.1342"; + src = fetchFromGitHub { + owner = "polymode"; + repo = "poly-slim"; + rev = "1b9fe0fc9fb7f65975be22322d17dc49bdac7c4a"; + sha256 = "1czjanp9h4l7jry2gkb7596zhdmh3m29931npfdk1fb0lafrqhik"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/3058351c4500fdcbe7f40b4c96ac8d6de9bbeb1d/recipes/poly-slim"; + sha256 = "15nh0d8y79rwc24akxfpf346jypadfgjjn6vlgaj6xjnj7wsp7ax"; + name = "recipe"; + }; + packageRequires = [ emacs polymode slim-mode ]; + meta = { + homepage = "https://melpa.org/#/poly-slim"; + license = lib.licenses.free; + }; + }) {}; polymode = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -76631,16 +81563,16 @@ melpaBuild { pname = "polymode"; ename = "polymode"; - version = "20170307.322"; + version = "20190406.303"; src = fetchFromGitHub { - owner = "vspinu"; + owner = "polymode"; repo = "polymode"; - rev = "0340f5e7e55235832e59673f027cc79a23cbdcd6"; - sha256 = "057cybkq3cy07n5s332k071sjiky3mziy003lza4rh75mgqkwhmh"; + rev = "0327dcac0f25e175e26f3774c24683d6bd6fc7a0"; + sha256 = "0g0mkvk0ky8akm7bpf78n2zm4a52m89aiq0bfc2y87dgpbnvjyp4"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/polymode"; - sha256 = "0md02l7vhghvzplxa04sphimhphmksvmz079zykxajcvpm2rgwc8"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3058351c4500fdcbe7f40b4c96ac8d6de9bbeb1d/recipes/polymode"; + sha256 = "15i9masklpy4iwskc7dzqjhb430ggn0496z4wb1zjj0b9xx4wj66"; name = "recipe"; }; packageRequires = [ emacs ]; @@ -76683,12 +81615,12 @@ melpaBuild { pname = "pomodoro"; ename = "pomodoro"; - version = "20150716.1046"; + version = "20190201.1352"; src = fetchFromGitHub { owner = "baudtack"; repo = "pomodoro.el"; - rev = "4a299b8f5e6623010224dcb3e524ff288c6a082c"; - sha256 = "1dlk0ypw8316vgvb7z2p7fvaiz1wcy1l8crixypaya1zdsnh9v1z"; + rev = "6cd665ceeaca1f70954aa4caef6f085179f94c69"; + sha256 = "08z2nja3bhjgg6k7bb0cr8v02y8gaxkmxmfcvvgiixw3kfrnkpwn"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0b5c2c50eb87952d01c1b338b7d3e4b3a4546555/recipes/pomodoro"; @@ -76760,12 +81692,12 @@ melpaBuild { pname = "ponylang-mode"; ename = "ponylang-mode"; - version = "20171028.1356"; + version = "20180804.821"; src = fetchFromGitHub { owner = "SeanTAllen"; repo = "ponylang-mode"; - rev = "5e23459dc395eb77fa4c6cfa3d6c08b1b185a6df"; - sha256 = "0iwdnv56200w53ba4f66vih7gha2nb36ajnvbqixc0byibwcsnc9"; + rev = "963abdcdb398b71fb13a4f7d2ffde23eb20e2a23"; + sha256 = "1h0y6x4h7higwdq569h2lk0iddd23c3csqjk7y5phvc0lq812xs0"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7d51adec3c6519d6ffe9b3f7f8a86b4dbc2c9817/recipes/ponylang-mode"; @@ -77075,12 +82007,12 @@ melpaBuild { pname = "posframe"; ename = "posframe"; - version = "20180708.702"; + version = "20190407.549"; src = fetchFromGitHub { owner = "tumashu"; repo = "posframe"; - rev = "945761dc70c62a04747c4c892bdf5fc38670e50e"; - sha256 = "051gr067ac0bd59nzs4jqjqc27kbb6gl8whs106jwn39z0b0ndri"; + rev = "11c2fa2d6e0236f20c83da86c37b005c64b8c5cb"; + sha256 = "1m1vgv3ps99xdrvya7w7jlfm068ik3wswpl2hnr858vmyjp4ggi6"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/fa3488f2ede1201faf4a147313456ed90271f050/recipes/posframe"; @@ -77179,12 +82111,12 @@ melpaBuild { pname = "powerline"; ename = "powerline"; - version = "20180321.1948"; + version = "20190322.1913"; src = fetchFromGitHub { owner = "milkypostman"; repo = "powerline"; - rev = "af5ef31a33c3589a9be0b2a55a2741582e605efd"; - sha256 = "0zynj4pl9717xbj8g1mac3haiybdndb034bnqk03bb42iyrwy767"; + rev = "6ef4a06c3c583045accbc957b6f449b7c0c57cd8"; + sha256 = "1ybm5y03if4wbzhx5p05wwgf2d8l2c4vwi22d0ygvlwrzfk8n5dl"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f805053cd4dd9ed53ee0df17ad69429bc62325bb/recipes/powerline"; @@ -77232,12 +82164,12 @@ melpaBuild { pname = "powershell"; ename = "powershell"; - version = "20180616.2328"; + version = "20190113.45"; src = fetchFromGitHub { owner = "jschaf"; repo = "powershell.el"; - rev = "4e215e4cd683c727315301d1b61bef4f9773abec"; - sha256 = "0dhl3cn2szvrj4084ly1f4fiwgixasvwi6skdchfvzbpx9q05dlv"; + rev = "87cba2c5e0510bda3915b8324ae67ac52adcae31"; + sha256 = "1dlyl8h539y75av144869ckz7difgmc1y2a2ngym7i6id22j1plp"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7002c50f2734675134791916aa9d8b82b4582fcb/recipes/powershell"; @@ -77364,12 +82296,12 @@ melpaBuild { pname = "prescient"; ename = "prescient"; - version = "20180702.1140"; + version = "20190227.1043"; src = fetchFromGitHub { owner = "raxod502"; repo = "prescient.el"; - rev = "18ddbe85e040dcf6fa9aeba8c8ce9d143921423a"; - sha256 = "1jaw3awjs1w65nclas891gramr2ib3svy8sph989wjbmlbg377zh"; + rev = "9d15739133bac00ae222c98211a6735f41d88f86"; + sha256 = "17ci1kdrw5j0h284i7akmjqnw465fawz5n2bqwqlpvzd6ghc2z8b"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ec02349e31531c347e4a43fbde56ae4386898cc6/recipes/prescient"; @@ -77484,6 +82416,36 @@ license = lib.licenses.free; }; }) {}; + pretty-hydra = callPackage ({ dash + , dash-functional + , emacs + , fetchFromGitHub + , fetchurl + , hydra + , lib + , melpaBuild + , s }: + melpaBuild { + pname = "pretty-hydra"; + ename = "pretty-hydra"; + version = "20190226.1946"; + src = fetchFromGitHub { + owner = "jerrypnz"; + repo = "major-mode-hydra.el"; + rev = "2142be970874c679300e539a1d9d0f048eb72a7f"; + sha256 = "00hxv2nlzz4kgyzrldhqfnvnrhdcb82lm90xdbvn059f1v1zihn3"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/865917fcc75c4118afc89b8bcc20ebdb6302f15d/recipes/pretty-hydra"; + sha256 = "0gp4cbffpa17svs7fzxighyly7c8brsn3avv3hqvd590kkz3fkri"; + name = "recipe"; + }; + packageRequires = [ dash dash-functional emacs hydra s ]; + meta = { + homepage = "https://melpa.org/#/pretty-hydra"; + license = lib.licenses.free; + }; + }) {}; pretty-mode = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -77491,16 +82453,16 @@ melpaBuild { pname = "pretty-mode"; ename = "pretty-mode"; - version = "20160614.1146"; + version = "20190209.1302"; src = fetchFromGitHub { - owner = "akatov"; + owner = "pretty-mode"; repo = "pretty-mode"; - rev = "500085206e25b98d00b9ec996f91c87ba569c4ce"; - sha256 = "0m7ii971zxlz8a9yx2ljf9fmd8k6hc9w1q8mi5xi32v9viccjabs"; + rev = "26119b4e28e294980bd16564a13c73dc963b98cc"; + sha256 = "08sr73469zh0cn14lf3w2x4n7yf203pgr4hs3a218a5n51dksla3"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/4a2fe9feae4c1f007e51272a97917a63dcf6bbe5/recipes/pretty-mode"; - sha256 = "1zxi4nj7vnchiiz1ndx17b719a1wipiqniykzn4pa1w7dsnqg21f"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/pretty-mode"; + sha256 = "0zm6azbl70qmq2ybi576wfs3mx0ny54mf97b94ac501miv4fv0mq"; name = "recipe"; }; packageRequires = []; @@ -77569,14 +82531,14 @@ ename = "private"; version = "20150121.1757"; src = fetchFromGitHub { - owner = "cheunghy"; + owner = "zhangkaiyulw"; repo = "private"; rev = "f57f1c2f6bfe900bd40b252688df4c6ed6a5f44b"; sha256 = "0720vrb9nwy4c069fk7adw5f50g9dji1wra9s3jwazr8jn45k0mn"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/6c4195e20f942f7c9499731f51d3eba14eefd650/recipes/private"; - sha256 = "1glpcwcyndyn683q9mg99hr0h3l8pz7rrhbnfak01v826d5cnk9g"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/private"; + sha256 = "1mvma2xgjy9vkh468x80xlri6qfr7d494la1j6r1clkjsn5kg7hr"; name = "recipe"; }; packageRequires = [ aes ]; @@ -77826,12 +82788,12 @@ melpaBuild { pname = "project-abbrev"; ename = "project-abbrev"; - version = "20180705.1954"; + version = "20181206.902"; src = fetchFromGitHub { owner = "jcs090218"; repo = "project-abbrev"; - rev = "ca4bddd72a73d43332c5b262e6a104a341882af5"; - sha256 = "15nbfdc0z4wp8hakrc5m6bqn6klv22xxs3c3z6c49sdrlhqr9jvy"; + rev = "21572d56a70fc95ef2d3782310e634f1a2623bc5"; + sha256 = "0f8vd0yqa7k27jl9hxfqdfk6qs9q8p11j2iabdxi0v3wddhq3s2v"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/11580720cfbbbaeed9d914abb8a48705c195b159/recipes/project-abbrev"; @@ -77880,12 +82842,12 @@ melpaBuild { pname = "project-persist"; ename = "project-persist"; - version = "20150519.1324"; + version = "20180906.602"; src = fetchFromGitHub { owner = "rdallasgray"; repo = "project-persist"; - rev = "a4e5de1833edb60656d8a04357c527d34e81d27c"; - sha256 = "1x7hwda1w59b8hvzxyk996wdz6phs6rchh3f1ydf0ab6x7m7xvjr"; + rev = "26d9435bef44da2a1b0892eba822f9f487b98eec"; + sha256 = "0ja2pnbw11a2gwywfyfbdpk8rkm8imy04wkshpnlh0nwn7lf0clm"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/bd81d1f8a30ed951ed94b9a4db13a2f7735ea878/recipes/project-persist"; @@ -77984,12 +82946,12 @@ melpaBuild { pname = "projectile"; ename = "projectile"; - version = "20180721.352"; + version = "20190402.2319"; src = fetchFromGitHub { owner = "bbatsov"; repo = "projectile"; - rev = "06f7148ad5168476879c11dcacc02e76439a0226"; - sha256 = "167libx4b0xgnrz5xafbpylig4jmmn4dmqwqqcrf9953p37pn8ga"; + rev = "5bd9db6f4b0a9e1c27136561b134a4d119552cdb"; + sha256 = "1k9r5ssm4wavypd8m5mb64fgia68jzpkk1p0p598qcywvbxlbw35"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ca7bf43ef8893bf04e9658390e306ef69e80a156/recipes/projectile"; @@ -78067,12 +83029,12 @@ melpaBuild { pname = "projectile-git-autofetch"; ename = "projectile-git-autofetch"; - version = "20180418.1636"; + version = "20190103.1235"; src = fetchFromGitHub { owner = "andrmuel"; repo = "projectile-git-autofetch"; - rev = "55855886bccb5a22fbeb2b1c86ef2e9ff4de9067"; - sha256 = "11h6ix7j145azg69kha46g2ggrmqff178p1krp12wv07iv3sijj6"; + rev = "c6b4b99046122bc965e25cd20c737483d84fa8cc"; + sha256 = "08hs4pbx0bw9lsfkc9za66am9ayyshlys5jrdh2aln1rfxrrr6hj"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7fdfdeb69fd78fc1bb2c62392f860a8c434f1762/recipes/projectile-git-autofetch"; @@ -78127,12 +83089,12 @@ melpaBuild { pname = "projectile-rails"; ename = "projectile-rails"; - version = "20180718.55"; + version = "20190110.208"; src = fetchFromGitHub { owner = "asok"; repo = "projectile-rails"; - rev = "38fa072fe2d63890a439cc29a19671da39e975bd"; - sha256 = "17fj0qmxnbj48d2mnpz0dw2060whi29b8d2qb9sa9irrwfb63ayw"; + rev = "78f5cbe2c212ce19d4732212c46472d1c412659f"; + sha256 = "09aby7yxk28rqz0vaps889idl5n41wj72pa0dr7bqmidq8i5jv4h"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b16532bb8d08f7385bca4b83ab4e030d7b453524/recipes/projectile-rails"; @@ -78154,12 +83116,12 @@ melpaBuild { pname = "projectile-ripgrep"; ename = "projectile-ripgrep"; - version = "20180301.651"; + version = "20180914.800"; src = fetchFromGitHub { owner = "nlamirault"; repo = "ripgrep.el"; - rev = "1f4338eeeb4bb3084a4b43762fa69a2c93ddff85"; - sha256 = "0im6l8gn3msl5jks3qif0jmi358kj46a50p2lirpjh6rnilmnanq"; + rev = "93eca9138f6d6eea1af92f476c797ce19fa573d9"; + sha256 = "0b1pa7srl1qmxaylv6iqy7rn4ajv9l87agpjrni01al01z6jfk1x"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/195f340855b403128645b59c8adce1b45e90cd18/recipes/projectile-ripgrep"; @@ -78294,12 +83256,12 @@ melpaBuild { pname = "projector"; ename = "projector"; - version = "20180712.1549"; + version = "20190107.1325"; src = fetchFromGitHub { owner = "waymondo"; repo = "projector.el"; - rev = "aeecd317b3031834569d2cd51171e377eacd0685"; - sha256 = "1nnggqrla6w58ll19fh01fndhssqx7l1blw21r8j9rv1vvjmvf3p"; + rev = "b7ee3f78e54525c969316c3c717ec3b83f074b00"; + sha256 = "09c8cfpz4i4vs7b0q4srg52spjwc1carr8n52xggk6dc5gbrg5wd"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/420ffea4549f59677a16c1ee89c77b866487e302/recipes/projector"; @@ -78374,12 +83336,12 @@ melpaBuild { pname = "promise"; ename = "promise"; - version = "20180409.252"; + version = "20190405.105"; src = fetchFromGitHub { owner = "chuntaro"; repo = "emacs-promise"; - rev = "f623fa7466983fd1ba7034371f599434c03da723"; - sha256 = "1ffk5scab9whn27xz4wyik5vl235ngvhx30fd05abq97d6l7hndl"; + rev = "f237a52200b514d642a5e89f1437b0245f063e5d"; + sha256 = "0k8bdz5lnipyj1bnyf3vwaqyd1y7wc6mxavqigv435r04520fmx7"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3eaf5ac668008759677b9cc6f11406abd573012a/recipes/promise"; @@ -78443,6 +83405,32 @@ license = lib.licenses.free; }; }) {}; + proof-general = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "proof-general"; + ename = "proof-general"; + version = "20190212.633"; + src = fetchFromGitHub { + owner = "ProofGeneral"; + repo = "PG"; + rev = "8f90ac961c22099a615c03ed07576aaef820e06d"; + sha256 = "07rwy1q0pii1k7z18hpfs768w07n7qg0wrvcqkrjfii3hx19vbwf"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/135c8f2a04739145b500b8742a697907e398d270/recipes/proof-general"; + sha256 = "10zif9ax4d3m8sa9y2xqz7g24xa2r3m2x5l0zqa06wm4afq29p87"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/proof-general"; + license = lib.licenses.free; + }; + }) {}; prop-menu = callPackage ({ cl-lib ? null , emacs , fetchFromGitHub @@ -78608,12 +83596,12 @@ melpaBuild { pname = "proxy-mode"; ename = "proxy-mode"; - version = "20180520.2030"; + version = "20190129.1608"; src = fetchFromGitHub { owner = "stardiviner"; repo = "proxy-mode"; - rev = "1cf689c2408945081215550589936a7eaab14987"; - sha256 = "0xvc33xwrdh71kmv1g85gb28ba7yx8cz6257dgh6sx7ligz7cmvd"; + rev = "a6c55e97dbe4ec4df9dc21d234cabe806dce3a29"; + sha256 = "13xa19k0xyqq03ypih0lrkm97l2c5zha8mwl264h9vamn81i8vm2"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/25224d3bcdb625314e931d5acc22f60c7192a84b/recipes/proxy-mode"; @@ -78626,8 +83614,7 @@ license = lib.licenses.free; }; }) {}; - psc-ide = callPackage ({ cl-lib ? null - , company + psc-ide = callPackage ({ company , dash , dash-functional , emacs @@ -78642,20 +83629,19 @@ melpaBuild { pname = "psc-ide"; ename = "psc-ide"; - version = "20180605.302"; + version = "20190326.1410"; src = fetchFromGitHub { - owner = "epost"; + owner = "purescript-emacs"; repo = "psc-ide-emacs"; - rev = "f71120b0c0d3192f79488ab000b9a689e5145ce4"; - sha256 = "1lg3bqspjmcdmfyjpnx5l9zy0lmicgnszcdbysjmf4q5jxqd3lhd"; + rev = "a10cc85565f330ee277698b27f3f715fef2e1ce2"; + sha256 = "1nj8g31zys86p2kb1yrx9w0657qg3ckz5awfwz5wd5w1axxigk23"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/384ffc463cc6edb4806f8da68bd251e662718e65/recipes/psc-ide"; - sha256 = "1f8bphrbksz7si9flyhz54brb7w1lcz19pmn92hjwx7kd4nl18i9"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/9eb5ff1de1d207317df052ecbd65dbe0f8766f5d/recipes/psc-ide"; + sha256 = "0gvq4cmmnbh4afzhmpqmizlvyr2fmd88jwdcac3w4b25fvhzr8hp"; name = "recipe"; }; packageRequires = [ - cl-lib company dash dash-functional @@ -78671,29 +83657,28 @@ }; }) {}; psci = callPackage ({ dash - , f + , emacs , fetchFromGitHub , fetchurl , lib , melpaBuild - , purescript-mode - , s }: + , purescript-mode }: melpaBuild { pname = "psci"; ename = "psci"; - version = "20180418.533"; + version = "20190307.1624"; src = fetchFromGitHub { owner = "purescript-emacs"; repo = "emacs-psci"; - rev = "3f5ef1141a97c4b5507204d48e8aeccd553e4591"; - sha256 = "1g06hqr23mg8457azkjp7wjsqavj48c0mjck0igi6mc2rh310930"; + rev = "3c10918a3a1d1dc613c222801deb465d4fbb2143"; + sha256 = "14dj7jsyamkr05dqqlks8p12nb94gw0pj4dmnh1p771020b8drw0"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3451719ce5096383db082917716a5ed8346fc186/recipes/psci"; sha256 = "1iwkr58b910vrwwxyk00psy74vp201vmm3b0cm4k5fh3glr31vp9"; name = "recipe"; }; - packageRequires = [ dash f purescript-mode s ]; + packageRequires = [ dash emacs purescript-mode ]; meta = { homepage = "https://melpa.org/#/psci"; license = lib.licenses.free; @@ -78709,12 +83694,12 @@ melpaBuild { pname = "psession"; ename = "psession"; - version = "20180423.2159"; + version = "20181214.2338"; src = fetchFromGitHub { owner = "thierryvolpiatto"; repo = "psession"; - rev = "702d20897c0839568201bc6921d5f0f80b8778c0"; - sha256 = "0ynd69fyjpgs6rs3kkznpx19kmdmd25wb46bj9zq61gj138b6p33"; + rev = "983830eabdbea2bdd72fcdf2f05ca5c271fd4122"; + sha256 = "09vw3wn69y712b9vpcr8m95if7xn63k3hsc6w9jwkz3xnlrz66q4"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/669342d2b3e6cb622f196571d776a98ec8f3b1d3/recipes/psession"; @@ -78737,12 +83722,12 @@ melpaBuild { pname = "psysh"; ename = "psysh"; - version = "20171022.2229"; + version = "20181128.922"; src = fetchFromGitHub { owner = "emacs-php"; repo = "psysh.el"; - rev = "926af4ae0c068ed699fc939f4b3e642aaa6f7c9e"; - sha256 = "0k6kb4xbfxcvd7dm3kb600mq56xyy086zi7nal04jkv9lc59bwn7"; + rev = "4709a57cdcf7103c4a606be89849ea3ead2d38a5"; + sha256 = "1apf6mnqp9bg5dfykgvsn02z0xpyx6k34sd2pvicicig7w09kzvb"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/eb13cb0dba1696cc51132cd1ff723fa17f892a7c/recipes/psysh"; @@ -78780,6 +83765,35 @@ license = lib.licenses.free; }; }) {}; + pubmed = callPackage ({ deferred + , emacs + , esxml + , fetchFromGitLab + , fetchurl + , lib + , melpaBuild + , s }: + melpaBuild { + pname = "pubmed"; + ename = "pubmed"; + version = "20190316.1651"; + src = fetchFromGitLab { + owner = "fvdbeek"; + repo = "emacs-pubmed"; + rev = "195e5f6e0cb7b5c20723c2b6adc3ac19543cfcdc"; + sha256 = "0c37kk8lzhlywlg7gagk62c7k21zy6cg9lhz0jy5sab1icrdzps5"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/ee84560c15e7389e902fb4a4c548c08be231de82/recipes/pubmed"; + sha256 = "048kh442dnzgwz4wml2a5griav8zyrfzn5b43n9ky84pm7lgcxp3"; + name = "recipe"; + }; + packageRequires = [ deferred emacs esxml s ]; + meta = { + homepage = "https://melpa.org/#/pubmed"; + license = lib.licenses.free; + }; + }) {}; pug-mode = callPackage ({ cl-lib ? null , emacs , fetchFromGitHub @@ -78814,12 +83828,12 @@ melpaBuild { pname = "pulseaudio-control"; ename = "pulseaudio-control"; - version = "20180627.450"; + version = "20190331.18"; src = fetchFromGitHub { owner = "flexibeast"; repo = "pulseaudio-control"; - rev = "1da372ec79f5d2fb901d1f9f0679fee8848fd011"; - sha256 = "02xrsms2pjqdk6327midi61i5vg2h9cq5jwaxv43ldm68wl7hi6k"; + rev = "638a02b0b59cd9662abbbb9dc947d0fed115b72d"; + sha256 = "0kiqm9vcp2gi4a4c7isgffppx4bchf03vwlx8h70yhfycns2v0bk"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7964f226e12c3a27ff856e28f4b030ebf304aea2/recipes/pulseaudio-control"; @@ -78918,12 +83932,12 @@ melpaBuild { pname = "puppet-mode"; ename = "puppet-mode"; - version = "20171220.2249"; + version = "20180813.1247"; src = fetchFromGitHub { owner = "voxpupuli"; repo = "puppet-mode"; - rev = "b3ed5057166a4f49dfa9be638523a348b55a2fd2"; - sha256 = "0sgws5cl4vc8707l66lq0zi1p6pxik0474ihg9jczh2xxnq4clsk"; + rev = "7dee1b5a5debac6e56f9107492a413b6c0edb94d"; + sha256 = "01isn90h50p5c6cgzwhb1jq8yacj0fxw9ppfqrnynckg6ydpvg74"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1de94f0ab39ab18dfd0b050e337f502d894fb3ad/recipes/puppet-mode"; @@ -78936,31 +83950,57 @@ license = lib.licenses.free; }; }) {}; - purescript-mode = callPackage ({ fetchFromGitHub + purescript-mode = callPackage ({ cl-lib ? null + , fetchFromGitHub , fetchurl , lib , melpaBuild }: melpaBuild { pname = "purescript-mode"; ename = "purescript-mode"; - version = "20180120.709"; + version = "20190227.1345"; src = fetchFromGitHub { - owner = "dysinger"; + owner = "purescript-emacs"; repo = "purescript-mode"; - rev = "b76c7f37f1a3527e8ace66bbd584851e1f803cc8"; - sha256 = "0nnrfs1siz4wwn56razlig6cvi8fqgcgk5wv5b0iyizq8a8wwia7"; + rev = "43d8d205506d10ef829e77079fc4b8c569998f44"; + sha256 = "0xbqy408532gnknfj78cnp9raqcmfk4scaxym7nzb8ffh2bd721n"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/77175fa470e517fa134751fbb38e144eb5b979ff/recipes/purescript-mode"; - sha256 = "00gz752mh7144nsaka5q3q4681jp845kc5vcy2nbfnqp9b24l55m"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/55462ed7e9bf353f26c5315015436b2a1b37f9bc/recipes/purescript-mode"; + sha256 = "1g30xbv3xvv52r873465a2lp6fnws9q8dz277697qm0mgxkpimbp"; name = "recipe"; }; - packageRequires = []; + packageRequires = [ cl-lib ]; meta = { homepage = "https://melpa.org/#/purescript-mode"; license = lib.licenses.free; }; }) {}; + purp-theme = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "purp-theme"; + ename = "purp-theme"; + version = "20181211.1102"; + src = fetchFromGitHub { + owner = "gnuvince"; + repo = "purp"; + rev = "4f5a95b132779f5219f7dc6bd6a412b7de1d8d1b"; + sha256 = "1cbnw3fj5hy4wjkwrzikjpg1mk3dj9ic0bhdiyv9d6sv26d5f1sz"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/9e731ed27d812d822ebb1dbd639441ce59c4ecf7/recipes/purp-theme"; + sha256 = "1ni8nnyfg4g49fw5m4pxa8fr147pyyvqa5gmydggv5r1xmldgsli"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/purp-theme"; + license = lib.licenses.free; + }; + }) {}; purple-haze-theme = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -79328,12 +84368,12 @@ melpaBuild { pname = "pydoc"; ename = "pydoc"; - version = "20180509.1519"; + version = "20181024.1751"; src = fetchFromGitHub { owner = "statmobile"; repo = "pydoc"; - rev = "253a95571fa80548e2174c89fa965e689030f09c"; - sha256 = "1linfl31i6wpbhyrrjw3xxxxi5d2747ng3bn3fk87ihd9zlbx6wz"; + rev = "abb948e27efaf2452f339c62cd99a1c69930bbfe"; + sha256 = "1da08x2hjjd9d832fwrd4rbd3h6f7m031kkxh53v9xdavkp0xqf1"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5c4988a66040ddf659492bdb0ae2b9617c342c69/recipes/pydoc"; @@ -79488,12 +84528,12 @@ melpaBuild { pname = "pyim"; ename = "pyim"; - version = "20180712.640"; + version = "20190405.2125"; src = fetchFromGitHub { owner = "tumashu"; repo = "pyim"; - rev = "b0ad82aa86124d74f9dfbdcad24199e111e5445c"; - sha256 = "03dq9mnz5mdbk3q9id0i4wf41r9ap3p5avihd0f4m77sspjfn9ix"; + rev = "a80a203b7149d927a92d9bc27278117df44f05f2"; + sha256 = "1z6yinn5azn4g1g6y4p55a579xm3rhhn9sxbmjlpd2ff66ahi8z3"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/151a0af91a58e27f724854d85d5dd9668229fe8d/recipes/pyim"; @@ -79541,14 +84581,14 @@ ename = "pyim-cangjie5dict"; version = "20170729.1946"; src = fetchFromGitHub { - owner = "erstern"; + owner = "HesperusArcher"; repo = "pyim-cangjie5dict"; rev = "c8618590780b818db1a67a29bc47c5d25903517a"; sha256 = "0p49h2kn8wy3b51zahzyc1cy24h3b44cg5yjpmv4w23dhsr4zlz8"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/27a58729115b038abe813601bf16bba1524cdb2c/recipes/pyim-cangjie5dict"; - sha256 = "0k2nxdlrj3m09javv599ajwd8cd5mjz0hj1j51zpv4y0l1n801bn"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/9a15a17a5aa78aed72958b2a1bde53f0c0ab5be7/recipes/pyim-cangjie5dict"; + sha256 = "1l2k8kfnfciacp1zps8j1g6ijzv1k3g9198079l8c8xlw789irlv"; name = "recipe"; }; packageRequires = [ pyim ]; @@ -79565,12 +84605,12 @@ melpaBuild { pname = "pyim-wbdict"; ename = "pyim-wbdict"; - version = "20170724.1527"; + version = "20190201.1500"; src = fetchFromGitHub { owner = "tumashu"; repo = "pyim-wbdict"; - rev = "114489ed97e825ae11a8d09da6e873820cf23106"; - sha256 = "187wx418pj4h8p8baf4943v9dsb6mfbn0n19r8xiil1z2cmm4ygc"; + rev = "9799b689643052078f53d69342a82315251490f4"; + sha256 = "1rqlckmlmwmnqvk8bbcyvwr54p6x9b1fph5f17anzlvwffdjsw5c"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ab1cb8bc623d1f12f78fa42ce8b16514e5b07c51/recipes/pyim-wbdict"; @@ -79701,12 +84741,12 @@ melpaBuild { pname = "pyramid"; ename = "pyramid"; - version = "20180718.1420"; + version = "20181212.404"; src = fetchFromGitHub { owner = "dakra"; repo = "pyramid.el"; - rev = "63b7ce47d3f79c8fdd06ea0cbdb519ae3e481aea"; - sha256 = "0al7sk1kj8czffxsc5dfhnpx7wh1iwxb3a3wx8ghgkgj5iw1y466"; + rev = "277f7c623f489fd31c56d6e131c5481a71b6a926"; + sha256 = "1xpb08m5zjyxpq45mmhfysxgaga2xj9r6nw6zs2rx0zkv6qjklnr"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f786a47c2a6243c693163680146606c71502d0be/recipes/pyramid"; @@ -79727,12 +84767,12 @@ melpaBuild { pname = "pytest"; ename = "pytest"; - version = "20170614.745"; + version = "20181005.824"; src = fetchFromGitHub { owner = "ionrock"; repo = "pytest-el"; - rev = "013fccd684fc8f2092d6e1ec4203ec574e12051d"; - sha256 = "0yjnq2lyh6jr5xz29n6xxmp4lcy28wrcmw05j0zgcjdshri1pd43"; + rev = "1bfa7549001e61ecd59cd6eae7c6656a924d1ba4"; + sha256 = "1ry0czn0qjjiw75v47jamxbfzh70jxai6lvf3pp5v87wp1xhnznh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/33a854a27adbaf57d344340199f90d52747b8450/recipes/pytest"; @@ -79745,6 +84785,32 @@ license = lib.licenses.free; }; }) {}; + pytest-pdb-break = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "pytest-pdb-break"; + ename = "pytest-pdb-break"; + version = "20190307.2255"; + src = fetchFromGitHub { + owner = "poppyschmo"; + repo = "pytest-pdb-break"; + rev = "9966507e1a3f2c4a5249ee96a93790cca82d91c5"; + sha256 = "1is1v28bqk43dqmhjggxlfxz3l7va4686k8y2hxmhrl80hg54182"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/4ed7d5d5e81818dad55edda73fbeca8c5021b932/recipes/pytest-pdb-break"; + sha256 = "0dxn53y9zjlip0bjynjql984wrf39pmg5fsx1qgsrj1bw78xqw26"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/pytest-pdb-break"; + license = lib.licenses.free; + }; + }) {}; python-cell = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -79752,12 +84818,12 @@ melpaBuild { pname = "python-cell"; ename = "python-cell"; - version = "20131029.1616"; + version = "20190217.1023"; src = fetchFromGitHub { owner = "thisch"; repo = "python-cell.el"; - rev = "ccacd91a19be784860d687eb1e8ce88fddaacaf6"; - sha256 = "1cnjdgw3x6yb5k06z57xifywlg0kdx9ai4f1ajc0wx9aax8r5gav"; + rev = "665725446b194dbaaff9645dd880524368dd710a"; + sha256 = "1rjh16jacp98i0l78ij5lfp5f0b42qhfzms2x8zwr9j2aj1csy2h"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0549866c5e96f673ec9dec298e7ff9d5779d443b/recipes/python-cell"; @@ -79878,12 +84944,12 @@ melpaBuild { pname = "python-mode"; ename = "python-mode"; - version = "20180721.1147"; + version = "20190313.409"; src = fetchFromGitLab { owner = "python-mode-devs"; repo = "python-mode"; - rev = "acb7714fd24ce06e1800fb955d547d367c64439d"; - sha256 = "1bmd0qc7qbzpxfg0wj4fs4qmdqdjar2zn8ljgr845j7qbxd0hcav"; + rev = "e916afc06f2a9bc1f02d93081ee0ee1ec2e8740b"; + sha256 = "03vc619iq7hd5q7m5rlxlq7h1irc288x2hr6gnm58b711gyax5fk"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/82861e1ab114451af5e1106d53195afd3605448a/recipes/python-mode"; @@ -79909,12 +84975,12 @@ melpaBuild { pname = "python-pytest"; ename = "python-pytest"; - version = "20180614.253"; + version = "20180725.446"; src = fetchFromGitHub { owner = "wbolster"; repo = "emacs-python-pytest"; - rev = "1ddb1ec183872dbcf383a4cc60b60944aaba7727"; - sha256 = "190ccqvdnxdsslsdn7c2b3a2377jrrpi4gj8rdbbksmjyr20gbf2"; + rev = "09ad688df207ee9b02c990d3897a9e2841931d97"; + sha256 = "18v7kxdhrayxg2pgbysm0y47xpdvwa15fmazpkfg0q8dfp2j3022"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d95442748827911e082a55f4fd7c348a3757e274/recipes/python-pytest"; @@ -79968,12 +85034,12 @@ melpaBuild { pname = "python-test"; ename = "python-test"; - version = "20171112.2137"; + version = "20181017.1729"; src = fetchFromGitHub { owner = "emacs-pe"; repo = "python-test.el"; - rev = "f00b9de14647b15b6f36ceee77d7e9e08dd074a4"; - sha256 = "1ba3r79afd5za36g09imp546bbvx2v9j58hl1bhjahx992wywrch"; + rev = "f899975b133539e19ba822e4b0bfd1a28572967e"; + sha256 = "0ww0qf9hsd8j31dc0p3fmsiqsir3mqbd4pwv4i29qidmbgrk3cv0"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0ea68b3aa9c057e81a3e90a359a38ac16cb26c2f/recipes/python-test"; @@ -79996,12 +85062,12 @@ melpaBuild { pname = "python-x"; ename = "python-x"; - version = "20180218.1447"; + version = "20180802.1042"; src = fetchFromGitLab { owner = "wavexx"; repo = "python-x.el"; - rev = "35d6719953e809a07c0bb8f770deb5fa712d00e5"; - sha256 = "1s24a9ji549nhlanm13gq7ghnz0zj6mwpbbmbqk8igsw3arx2nvr"; + rev = "74d8c7eb824846de94705b1e74ee03ef109868d1"; + sha256 = "00vy3qqkg3zzvjk1cmkl72nmvjdhrccybd36ggnzszq73szcl7n2"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c1cf98dff029d494007fe25d29bd8bcfecc5b8e6/recipes/python-x"; @@ -80024,12 +85090,12 @@ melpaBuild { pname = "pythonic"; ename = "pythonic"; - version = "20180624.2212"; + version = "20190214.1016"; src = fetchFromGitHub { owner = "proofit404"; repo = "pythonic"; - rev = "838eaf47c23628c5e88a59796bbe4653c57bf5c0"; - sha256 = "11gq0crq9ng6wy15kpv3zgahczyzv8clakwal1mvb6b5jq6ndmb5"; + rev = "16c16202b76d33edd6a95814b2a9c298437f9832"; + sha256 = "1j8jslc0p85kl1fgl108ccvavqcvjda7hsc4ks9avill18w3dm5h"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5589c55d459f15717914061d0f0f4caa32caa13c/recipes/pythonic"; @@ -80049,12 +85115,12 @@ melpaBuild { pname = "pyvenv"; ename = "pyvenv"; - version = "20180720.214"; + version = "20181228.922"; src = fetchFromGitHub { owner = "jorgenschaefer"; repo = "pyvenv"; - rev = "5824c8986bc3d21b1b0ab6a00d396bedbe1506b2"; - sha256 = "0qdaxfl6bhxg41r6fhpqwzjrxmjnp7pznrk1r3zfyris60ih91cq"; + rev = "fa6a028349733b0ecb407c4cfb3a715b71931eec"; + sha256 = "1x052fsavb94x3scpqd6n9spqgzaahzbdxhg4qa5sy6hqsabn6zh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e37236b89b9705ba7a9d134b1fb2c3c003953a9b/recipes/pyvenv"; @@ -80067,6 +85133,32 @@ license = lib.licenses.free; }; }) {}; + q-mode = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "q-mode"; + ename = "q-mode"; + version = "20181216.947"; + src = fetchFromGitHub { + owner = "psaris"; + repo = "q-mode"; + rev = "7a13fb68a0ad3d843c8cdc188cf0adb9723f42f7"; + sha256 = "0di229ma7jr9jcck36qjrzilkbp428kkx53qs6c9xw9jhv6yklbz"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/fff65433eff01d6239809df4c047f0e4349cc4a9/recipes/q-mode"; + sha256 = "1vv3hynd6k050nxln83l703ymzyh1kl69cdy4yabdvmkqw4gbshz"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/q-mode"; + license = lib.licenses.free; + }; + }) {}; qiita = callPackage ({ fetchFromGitHub , fetchurl , helm @@ -80171,6 +85263,31 @@ license = lib.licenses.free; }; }) {}; + quack = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "quack"; + ename = "quack"; + version = "20181106.501"; + src = fetchFromGitHub { + owner = "emacsmirror"; + repo = "quack"; + rev = "2146805ce2b5a9b155d73929986f11e713787e26"; + sha256 = "005wkji4wjqqilgmqy81rjqr8zx4gl39mari2ahvr9mfps2ypmjz"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/aa58bf19d4b65ec785677a36709794ae5aebded4/recipes/quack"; + sha256 = "18f3py9vr08589g9kvbcn2nvpd074rx45ni9k66cwl3hjb3hdkg5"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/quack"; + license = lib.licenses.free; + }; + }) {}; quasi-monochrome-theme = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -80178,12 +85295,12 @@ melpaBuild { pname = "quasi-monochrome-theme"; ename = "quasi-monochrome-theme"; - version = "20180516.813"; + version = "20181213.27"; src = fetchFromGitHub { owner = "lbolla"; repo = "emacs-quasi-monochrome"; - rev = "e803bc0c2e38f350feb8297a092812e5204781c7"; - sha256 = "0s1pqyxahkz5rrczk8m7xiqm41rjhxsyfdl2klp2l8ih13zlwf6i"; + rev = "68060dbbc0bbfe4924387392874186c5a29bb434"; + sha256 = "0zp2xr0bjfqrpb0bqczzick1vvbjmipjavrdi70kw6a9caynvq22"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a9c8498e4bcca19c4c24b2fd0db035c3da477e2a/recipes/quasi-monochrome-theme"; @@ -80204,11 +85321,11 @@ melpaBuild { pname = "quelpa"; ename = "quelpa"; - version = "20180711.1338"; + version = "20190217.450"; src = fetchgit { url = "https://framagit.org/steckerhalter/quelpa.git"; - rev = "66c760b43eb6158f520df4e514f1d9c8e4ddee71"; - sha256 = "0qz5zfj24cmaw903xszf8zg4hmas6q8k6bx5c10vq45rwqkdcgva"; + rev = "716048b5ee048797551a59a4bd121026486db214"; + sha256 = "05926kvgp7mbdmwlfn2sdqzxg0b5nxr41m08p8mywfwjqjvnsvw8"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a496196d405c152600d44ef4aa28557f489c542c/recipes/quelpa"; @@ -80231,11 +85348,11 @@ melpaBuild { pname = "quelpa-use-package"; ename = "quelpa-use-package"; - version = "20180617.2356"; + version = "20190210.1038"; src = fetchgit { url = "https://framagit.org/steckerhalter/quelpa-use-package.git"; - rev = "54ebc63607647fe4f26b56519d81e18f0e70a689"; - sha256 = "1f007lkjb42rlfsnwkj61fdqyncw4587x8a9qbhq583bfh2d3p5c"; + rev = "6f3cc87caa6cb8795079c5cab3c6665970859098"; + sha256 = "129pigh1njn50s1lq81blcn54bkb6hwrlxg0sk7m1zsf6rybw0rf"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a496196d405c152600d44ef4aa28557f489c542c/recipes/quelpa-use-package"; @@ -80281,12 +85398,12 @@ melpaBuild { pname = "quick-peek"; ename = "quick-peek"; - version = "20180525.711"; + version = "20190208.715"; src = fetchFromGitHub { owner = "cpitclaudel"; repo = "quick-peek"; - rev = "3cc57cc12f4b5f27a18cc5fb0c32c3a943c16158"; - sha256 = "0wrgdny402z95234kn86k17qn1v3sg8bfdn48y9mg52dk7wnsxvf"; + rev = "fd8a6c81422932539d221f39f18c90f2811f2dd9"; + sha256 = "18jr3syd7jd809qq1j61zwaaclmqn24qyb0mv0q8sj6ac4vzl1c3"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/68f59a3048ec6196b138b6584a22ce70baa38284/recipes/quick-peek"; @@ -80428,6 +85545,32 @@ license = lib.licenses.free; }; }) {}; + quilt = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "quilt"; + ename = "quilt"; + version = "20190303.2140"; + src = fetchFromGitHub { + owner = "jstranik"; + repo = "emacs-quilt"; + rev = "161ce2d8ba225bccef0ea8ae4937251b8ccaa892"; + sha256 = "0r9j71rc2jcwfr6yqg8qx4fwypqg1d7p31af258ixygs3qy69x14"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/28ad2d71574c1995287371cfd73648871b9271f0/recipes/quilt"; + sha256 = "0fgni5khjbxy28i2vdwhcvs0z0yx43ll0c4s8br4w7q9s0nlcvmv"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/quilt"; + license = lib.licenses.free; + }; + }) {}; quiz = callPackage ({ cl-lib ? null , emacs , fetchFromGitHub @@ -80495,12 +85638,12 @@ melpaBuild { pname = "racer"; ename = "racer"; - version = "20180708.2325"; + version = "20190319.1756"; src = fetchFromGitHub { owner = "racer-rust"; repo = "emacs-racer"; - rev = "dd7f179efbab6597eb7eb1d66883f168b3dc5573"; - sha256 = "0drawn72lg6xxzg85909gfgrckh641m70gzqzrabcdqizfcxm5pk"; + rev = "9d8984ef384932e0e7647ecb057db7ad1e9833f1"; + sha256 = "10q26bkv26fgdcvs6cn2vb2i4359yn7a4n3r7vs8qfpnck7i0j8x"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/97b97037c19655a3ddffee9a86359961f26c155c/recipes/racer"; @@ -80523,16 +85666,16 @@ melpaBuild { pname = "racket-mode"; ename = "racket-mode"; - version = "20180719.854"; + version = "20190405.745"; src = fetchFromGitHub { owner = "greghendershott"; repo = "racket-mode"; - rev = "0f75097771a8ad9b9356c915ba877353aff1e7f6"; - sha256 = "0ms31sjxxww93j0f731ww7yj3adl2scpr3m1zx4w5094mi69babg"; + rev = "b2681c50afd180ed3a89345e015926eb31dba30d"; + sha256 = "038f03y8nmzfjdbxcyfg6sd6y9zimlc9yvcs9lggvps1ni2y4j58"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/7ad88d92cf02e718c9318d197dd458a2ecfc0f46/recipes/racket-mode"; - sha256 = "04sr55zrgwyi48sj4ssm4rmm327yxs7hvjhxclnkhaaigrmrv7jb"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/9af8dea03aba378f21c6109faf48278b4d2bf59f/recipes/racket-mode"; + sha256 = "0cmlz314w5227br0vns5d7jhpspv1byzalgzv8f9v2qjyvk6jvsn"; name = "recipe"; }; packageRequires = [ emacs faceup s ]; @@ -80573,12 +85716,12 @@ melpaBuild { pname = "railscasts-reloaded-theme"; ename = "railscasts-reloaded-theme"; - version = "20180131.2246"; + version = "20190307.2359"; src = fetchFromGitHub { owner = "thegeorgeous"; repo = "railscasts-reloaded-theme"; - rev = "6312f01470dcc73537dbdaaccabd59c4d18d23a9"; - sha256 = "1fqpqgkpn36kj3fb4na0w4cjwln05rvy6w1q5czas8z37rk2bs33"; + rev = "c6a1cf13a164f22b026b0959527c3b98c2b1aa49"; + sha256 = "00clkjrp2nfchhznilxjb56bcdv1an50cawnz6747ck22x0ycbfn"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9817851bd06cbae30fb8f429401f1bbc0dc7be09/recipes/railscasts-reloaded-theme"; @@ -81163,12 +86306,12 @@ melpaBuild { pname = "react-snippets"; ename = "react-snippets"; - version = "20170803.1550"; + version = "20181002.346"; src = fetchFromGitHub { owner = "johnmastro"; repo = "react-snippets.el"; - rev = "bfc4b68b81374a6a080240592641091a7e8a6d61"; - sha256 = "1wna4v8l3j0ppjv4nj72lhp0yh6vbka6bvl1paqqfvay300kiqjb"; + rev = "87ccb640d265fe799583ab55605b84d113223694"; + sha256 = "0zs78mn37ngy86blmp2xfy7jr5p0s6r0qq6z3z924amrhy5bwdqc"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3720192fdfa45f9b83259ab39356f469c5ac85b4/recipes/react-snippets"; @@ -81267,16 +86410,16 @@ melpaBuild { pname = "real-auto-save"; ename = "real-auto-save"; - version = "20180107.1850"; + version = "20190224.646"; src = fetchFromGitHub { - owner = "chillaranand"; + owner = "ChillarAnand"; repo = "real-auto-save"; - rev = "d813632c1e754539cc92953ac4c3609105f9af58"; - sha256 = "0gz0w7zxl865shz9mf5xv8xi5mjq969600jqh4laazvhyk32skmg"; + rev = "824ad04121493723b08838c8b96559947dca7ed9"; + sha256 = "1szpjv04rp9x9ph44a5s56a2y96z5x474bccsjnmn6yhingh5qik"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/525039a3dc29190829bf50d608ef09bc4a8557af/recipes/real-auto-save"; - sha256 = "03dbbizpyg62v6zbq8hd16ikrifz8m2bdlbb3g67f2834xqmxha8"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/real-auto-save"; + sha256 = "1li0b2d93ffxjq4jdyzyvjdy5h7q5xllys0w4748d2bhr8q35p3w"; name = "recipe"; }; packageRequires = []; @@ -81297,16 +86440,16 @@ melpaBuild { pname = "realgud"; ename = "realgud"; - version = "20180710.1953"; + version = "20190121.1643"; src = fetchFromGitHub { - owner = "rocky"; - repo = "emacs-dbgr"; - rev = "da2a74b50a770a2c1166656a05ba9d132a2a5c73"; - sha256 = "0w5lbwjaraw11sj36a9hsywa187g97hnvksrd6wbf8prbfwhghlx"; + owner = "realgud"; + repo = "realgud"; + rev = "1da5f2b5161bd5d5671b38ab182084e2d89e7c45"; + sha256 = "19ijc3v1wz01631hyc3x1bgx9kczhdzc99jlxxfq9y5yr8p1s2qa"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/7ca56f05df6c8430a5cbdc55caac58ba79ed6ce5/recipes/realgud"; - sha256 = "0qmvd35ng1aqclwj3pskn58c0fi98kvx9666wp3smgj3n88vgy15"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/7a21be3673962d5706f12efa5179a5426bdce82b/recipes/realgud"; + sha256 = "14n6d3jfhpa29nf4ywdg3aw4i51lfkr99b4z8q4833pmpz1jbq2c"; name = "recipe"; }; packageRequires = [ @@ -81333,14 +86476,14 @@ ename = "realgud-byebug"; version = "20180308.1923"; src = fetchFromGitHub { - owner = "rocky"; + owner = "realgud"; repo = "realgud-byebug"; rev = "de603d58aa9ef72a2619247a0234fccf6bc2cc9a"; sha256 = "1hk2z7axy1v5yvx4xgkisfk00varq5rf8j88f0l63ywylyw1fwhl"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/7ca56f05df6c8430a5cbdc55caac58ba79ed6ce5/recipes/realgud-byebug"; - sha256 = "1m4pqnvnnfzq7b9bv5fkz70pifklddwqrwbwnrfyiawx9vdgrpz9"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/realgud-byebug"; + sha256 = "1akv9raa6yb5h4lsvz7mxlnd9l7adg2rpgw7ski6036n6facn18a"; name = "recipe"; }; packageRequires = [ cl-lib emacs realgud ]; @@ -81361,14 +86504,14 @@ ename = "realgud-old-debuggers"; version = "20170316.31"; src = fetchFromGitHub { - owner = "rocky"; + owner = "realgud"; repo = "realgud-old-debuggers"; rev = "1e1d573a6ba731afbe68c1309a316457ca3fbb94"; sha256 = "1gk8k9lqbvqq4ngw0ffp3sqhkaj23n54m3ndh2ba9gvlmx7mxm7g"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/260b4d5a85c380dda0f7bb0370e3ffa8cc3c0275/recipes/realgud-old-debuggers"; - sha256 = "0iwi1byfwcpviaizdw9wzdcjlbk35ql4wfzj0ynh331g0hmibhs9"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/realgud-old-debuggers"; + sha256 = "14kig9yxss9nfc0cc54ph80pbdrmh1mdazypiwxbnj2nk1dk3qsv"; name = "recipe"; }; packageRequires = [ cl-lib emacs realgud ]; @@ -81389,14 +86532,14 @@ ename = "realgud-pry"; version = "20160805.745"; src = fetchFromGitHub { - owner = "rocky"; + owner = "realgud"; repo = "realgud-pry"; rev = "fca36075a223f6a4a643764199babe3d1dfde2ac"; sha256 = "08jnav5v5q1mwgk9x100magm3jcprzfhmx8z6x8vcmp7xf79n1pp"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/7ca56f05df6c8430a5cbdc55caac58ba79ed6ce5/recipes/realgud-pry"; - sha256 = "1p5ijig5rczndcykllq0vy6w4askwl0yd8b5fqg7yl5yx45r8xgs"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/realgud-pry"; + sha256 = "1f8qap30r26gg33i76474zk6fs3r9qjf7jrxpm4xwpbjraggqy3z"; name = "recipe"; }; packageRequires = [ cl-lib emacs realgud ]; @@ -81415,14 +86558,14 @@ ename = "realgud-rdb2"; version = "20160303.43"; src = fetchFromGitHub { - owner = "rocky"; + owner = "realgud"; repo = "realgud-ruby-debugger2"; rev = "e63eeed131517a9e8225f972c9f6c975c8121e41"; sha256 = "0skaw5fzvqk56mfk3ciy9n85vznq1sxv6w575v3jd80w2dns4yay"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/7ca56f05df6c8430a5cbdc55caac58ba79ed6ce5/recipes/realgud-rdb2"; - sha256 = "0wqvgb3h2b0ys76sq2z462cjv0fajqc41f7wqvf53wfcs2zw4l9y"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/realgud-rdb2"; + sha256 = "16pk034g26xnbsz0w9z8p76jiaraz8lvbf5hf0mmg1f5f4xlinz7"; name = "recipe"; }; packageRequires = [ realgud ]; @@ -81439,12 +86582,12 @@ melpaBuild { pname = "reason-mode"; ename = "reason-mode"; - version = "20180722.437"; + version = "20190210.941"; src = fetchFromGitHub { owner = "reasonml-editor"; repo = "reason-mode"; - rev = "5777cce583039df82a49c6fc8b57c99f127b2565"; - sha256 = "0baxdq02i0lwk2ll3jddfz5w1paq496vd3if2p7vfipgf79y0n8g"; + rev = "8eabf39fe84280e0753c1c0c4b8ecb7b8f94f68f"; + sha256 = "1hbz3bzlb0r0ss5vl8ahl9x2vp049agms8hxwma0ycs6ai1ygcn1"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f9f1a18c13601f3a4fd7b1bbfe7d5da07746e492/recipes/reason-mode"; @@ -81457,6 +86600,32 @@ license = lib.licenses.free; }; }) {}; + reazon = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "reazon"; + ename = "reazon"; + version = "20180921.737"; + src = fetchFromGitHub { + owner = "nickdrozd"; + repo = "reazon"; + rev = "020be6467a83957adcbdcb192b61f2c76a94079b"; + sha256 = "18la2g0srybr10vm1dajgbxi67j1l0cs08mr696hxb6m558yxdv5"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/77020b6ea36a4115bdddbc9599fe4f4193ecc29d/recipes/reazon"; + sha256 = "1lymdc1lnwr7s8s15mnjcavxdyqncy2rkfdj571lf1a37y52jcj1"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/reazon"; + license = lib.licenses.free; + }; + }) {}; rebecca-theme = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -81559,6 +86728,33 @@ license = lib.licenses.free; }; }) {}; + recently = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "recently"; + ename = "recently"; + version = "20190317.534"; + src = fetchFromGitHub { + owner = "10sr"; + repo = "recently-el"; + rev = "7b5d1128becb387d759a3a95f6afb9ef54be792a"; + sha256 = "0wghawh47jd2j5s77h1b69fg5njff1yccx1xpvwmlj6ssh3p38xp"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/bb8d1628e1787cba10fc612f3351e4085e9a3153/recipes/recently"; + sha256 = "1928v1897l1n42zrzqfwkq6nckf9y822qcwy99294rq0b4z83kxs"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs ]; + meta = { + homepage = "https://melpa.org/#/recently"; + license = lib.licenses.free; + }; + }) {}; recompile-on-save = callPackage ({ cl-lib ? null , dash , fetchFromGitHub @@ -81670,12 +86866,12 @@ melpaBuild { pname = "recursive-narrow"; ename = "recursive-narrow"; - version = "20140902.1027"; + version = "20190306.721"; src = fetchFromGitHub { owner = "nflath"; repo = "recursive-narrow"; - rev = "bc0cab88234ca92640d4b8da0d83e132c1897922"; - sha256 = "1mj7lyadzn3bwig3f9zariq5z4fg6liqnjvfd34yx88xc52nwf33"; + rev = "5e3e2067d5a148d7e64e64e0355d3b6860e4c259"; + sha256 = "1dxghz1fb2l7y7qphqk0kk732vazlk1n1fl6dlqhqhccj450h2qa"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/recursive-narrow"; @@ -81777,12 +86973,12 @@ melpaBuild { pname = "redshank"; ename = "redshank"; - version = "20180128.1348"; + version = "20180729.2107"; src = fetchFromGitHub { owner = "emacsattic"; repo = "redshank"; - rev = "f3eef7d4891570e6bcb74eb52c73edb765a639b8"; - sha256 = "00mihmjd0amr9wzb3qsz69bp7y5iqx9vvh1hg77i57zlm88x6ma6"; + rev = "d059c5841044aa163664f8bf87c1d981bf0a04fe"; + sha256 = "1545z1dd85zg8sg2r5r5gdnmgxbxwjvl5xklx5nvpd0gbxlwbpqk"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2677a5cf74ebace6510517f47eaa43b35f736683/recipes/redshank"; @@ -81821,6 +87017,32 @@ license = lib.licenses.free; }; }) {}; + redtt = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "redtt"; + ename = "redtt"; + version = "20181120.1621"; + src = fetchFromGitHub { + owner = "RedPRL"; + repo = "redtt"; + rev = "c95d1a0787fb92eb011df690b4bdc1029a611c0b"; + sha256 = "1l9agj28ik4b57rxai1jp23bc4l832m72znkqacch0gvxx553q2w"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/8db65908885f753bf65849b89ebabe0c4df664f9/recipes/redtt"; + sha256 = "0gnqik2p2rb8c1mp3vrz1xf7z89xfcx5pi4lqsdnwjhxjh2534zk"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/redtt"; + license = lib.licenses.free; + }; + }) {}; refine = callPackage ({ dash , emacs , fetchFromGitHub @@ -81851,6 +87073,32 @@ license = lib.licenses.free; }; }) {}; + reformatter = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "reformatter"; + ename = "reformatter"; + version = "20190209.2001"; + src = fetchFromGitHub { + owner = "purcell"; + repo = "reformatter.el"; + rev = "00413b21ec418f92f3c7d8235a809cf50a10f288"; + sha256 = "0hmi6c3kf7plg3pdcyiiwhl5ckdr5p43d9y9172kw89y6ivf4635"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/58de8cf8864867f7b3969f3a048a4844837078b4/recipes/reformatter"; + sha256 = "0z4wa0bmhz55c54vx7qxkl9x7ix20mmgygv91sqll68l10g63l0c"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/reformatter"; + license = lib.licenses.free; + }; + }) {}; regex-dsl = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -81933,16 +87181,16 @@ melpaBuild { pname = "region-convert"; ename = "region-convert"; - version = "20161118.1859"; + version = "20181220.2128"; src = fetchFromGitHub { owner = "zonuexe"; - repo = "right-click-context"; - rev = "32f572b4f9ff6f9a062a914b4f8ba66f43e7ee8a"; - sha256 = "1lsr7ljzvfs84jnlk2igg8h0ki09gzw2ihgl2p6wdn27d47blcwd"; + repo = "region-convert.el"; + rev = "173c86b4b3fc187d54bcd85b4d7df27a5ee24965"; + sha256 = "1paljjwr6sfl835m24vj2j4x3zdh3whwayj6dvyfarbhhcwbwphj"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/ddcf4612cccb9a53425c5f0324206d70549d9d9e/recipes/region-convert"; - sha256 = "0daghvxc6gxgric1aa1gw036gbpbzilqz72gr1inqy92hz7xrxfm"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/f6963fc11d697b95ebbdaf7fe27c91a6229d08b6/recipes/region-convert"; + sha256 = "16i1b83jms7djkyb3n0crfxgpz05m68f4nrlvzxjj7fb56mvf9j7"; name = "recipe"; }; packageRequires = []; @@ -81958,12 +87206,12 @@ melpaBuild { pname = "region-state"; ename = "region-state"; - version = "20151128.238"; + version = "20181205.946"; src = fetchFromGitHub { owner = "xuchunyang"; repo = "region-state.el"; - rev = "07ffb7d9ada2fcd204f3447f078c265d25f36f60"; - sha256 = "0gsh0x1rqxvzrszdyna9d8b8w22mqnd9yqcwzay2prc6rpl26g1f"; + rev = "f9e3926036a7c261b20bad9bf46f68ead8c15024"; + sha256 = "1wb46m7qdhbjkgzwf6yg0hsjh44dq8sa1w99k7czy1yq2i2mz1k6"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/716e82eb4ca0845f59a743556b37be8a1ecb29af/recipes/region-state"; @@ -81983,12 +87231,12 @@ melpaBuild { pname = "register-channel"; ename = "register-channel"; - version = "20150513.2059"; + version = "20180926.1649"; src = fetchFromGitHub { owner = "YangZhao11"; repo = "register-channel"; - rev = "f62f9a62ebd2537d4a8c8f2e358562c67d2aefc1"; - sha256 = "01k3v4yiilz1k6drv7b2x6zbjx6dlz7cch8rq63mwc7v8kvdnqmi"; + rev = "9272923757402d177a0b2deab1d9c3c74601c48e"; + sha256 = "0k9qgrbzbxx4sjffnr02qx5wm71i3m61w7mh2j4hq9jf8k6nbkq4"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ad44618ac36e96d04f5c44c77637ea6229e61b4c/recipes/register-channel"; @@ -82002,22 +87250,23 @@ }; }) {}; related = callPackage ({ cl-lib ? null - , fetchgit + , fetchFromGitHub , fetchurl , lib , melpaBuild }: melpaBuild { pname = "related"; ename = "related"; - version = "20161002.2310"; - src = fetchgit { - url = "https://bitbucket.org/julien-montmartin/related"; - rev = "0065a2e16eeaa9bface49f7f0815b9cf9719f441"; - sha256 = "0gaj1mqv77dahw6zfqlf8q624b2ba589chgaa22vy4vg3lz6qzks"; + version = "20190327.324"; + src = fetchFromGitHub { + owner = "julien-montmartin"; + repo = "related"; + rev = "546c7e811b290470288b617f2c27106bd83ccd33"; + sha256 = "0kn07wgnz5bkkq66qfq16rvw9l7zgh0hzrsa705j1zbd6vc3wygs"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/6248cbbb6c977c9c9332a34b449eb090dd9322b3/recipes/related"; - sha256 = "0nm2dnmz4a5z187mzggsj8xrdy1x84lxx79rmwcrkh1d7jzjhi6f"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/555932a7b9cf11b50a61c2a9dd2636fd6844fac8/recipes/related"; + sha256 = "08cfr5qbm1h5j4v3vf3kjjwb9nxsrk74lx9gi1icdhqw631h3yxf"; name = "recipe"; }; packageRequires = [ cl-lib ]; @@ -82134,6 +87383,31 @@ license = lib.licenses.free; }; }) {}; + renpy = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "renpy"; + ename = "renpy"; + version = "20180907.1234"; + src = fetchFromGitHub { + owner = "billywade"; + repo = "renpy-mode"; + rev = "cf9c9ead6084210a4c0290a0d999a099b8d00a81"; + sha256 = "1blv8f1qr0nd7j7ciyba05n5a4jijffqmchxjhl7nxljlghwiy27"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/cc928aed12275dc3780d7d8acc6ceca0f69ef63f/recipes/renpy"; + sha256 = "1xfk3j13wzgxg56izbwad0kw4izg0hdzkh7h7cfdmdf4v6mxc7f0"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/renpy"; + license = lib.licenses.free; + }; + }) {}; repeatable-motion = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -82298,12 +87572,12 @@ melpaBuild { pname = "replace-with-inflections"; ename = "replace-with-inflections"; - version = "20170911.245"; + version = "20180830.2335"; src = fetchFromGitHub { owner = "knu"; repo = "replace-with-inflections.el"; - rev = "e286036a5d1dbac06a72a1e831b2a8d9cad27238"; - sha256 = "1szbps1k3na3w9djkqxm3s1anm12505ajr7ay9j7pmd00qf75379"; + rev = "d9201e047856492f282da65459b28aba25998dbb"; + sha256 = "09yvn489z33hww7mi1flh344faxrpbkzqhm0i6xb2rridcj7acqh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7892eb506b8f4260bde4be2805bf3b2d594ab640/recipes/replace-with-inflections"; @@ -82324,12 +87598,12 @@ melpaBuild { pname = "repo"; ename = "repo"; - version = "20170213.139"; + version = "20190326.944"; src = fetchFromGitHub { owner = "canatella"; repo = "repo-el"; - rev = "9f03c0d90c9036b96e531c17d529f3855364d47a"; - sha256 = "1ggxs40mbk50aqhqqfdcz6izvlvsz53s93dj3ndxvgdxkpkxr6yn"; + rev = "c53c06169dec4e556982fb06ca780ca4708dc436"; + sha256 = "1brsc8k590qc4x93qydiq8ylq26zbdv8565fz194zpik9d239mja"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1729d4ea9498549fff3594b971fcde5f81592f84/recipes/repo"; @@ -82343,7 +87617,7 @@ }; }) {}; req-package = callPackage ({ dash - , fetchFromGitHub + , fetchFromGitLab , fetchurl , ht , lib @@ -82353,16 +87627,16 @@ melpaBuild { pname = "req-package"; ename = "req-package"; - version = "20180506.2350"; - src = fetchFromGitHub { + version = "20180121.2100"; + src = fetchFromGitLab { owner = "edvorg"; repo = "req-package"; - rev = "f97d7531a3e7526f2d7b008868eb647c80d0de5d"; - sha256 = "1yl1ap5jlrkvhw47c1xyb9q4khqqnz38y5rvbvw4zib1ik9vwhmc"; + rev = "0c0ac7451149dac6bfda2adfe959d1df1c273de6"; + sha256 = "0sx3kw1gpliifbc0gh2z1lvig68v3gwqjbj0izgn77js8kqxad84"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/f58a801f0791566d0c39493a5f82ff0d15d7ab41/recipes/req-package"; - sha256 = "1438f60dnmc3a2dh6hd0wslrh25nd3af797aif70kv6qc71h87vf"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/aa5bc1909f807ec03ad441d78013ba8626cd410a/recipes/req-package"; + sha256 = "1zjhc6f9qcb3j72k1llp6vym25lxnvq1jgqgmnrjxxwc4fhxx595"; name = "recipe"; }; packageRequires = [ dash ht log4e use-package ]; @@ -82379,12 +87653,12 @@ melpaBuild { pname = "request"; ename = "request"; - version = "20170131.1747"; + version = "20181129.338"; src = fetchFromGitHub { owner = "tkf"; repo = "emacs-request"; - rev = "a3d080e57eb8be606fbf39d1baff94e1b16e1fb8"; - sha256 = "0wyxqbb35yqf6ci47531lk32d6fppamx9d8826kdz983vm87him7"; + rev = "b929e7c7b877b074f9ce582999bb6e196e0f745d"; + sha256 = "1xzar6mgchrq9q7sj4q9cch5sharxfj85sffhcgza7fz0vl5b0hc"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8d113615dde757a60ce91e156f0714a1394c4bfc/recipes/request"; @@ -82406,12 +87680,12 @@ melpaBuild { pname = "request-deferred"; ename = "request-deferred"; - version = "20160419.1605"; + version = "20181128.1917"; src = fetchFromGitHub { owner = "tkf"; repo = "emacs-request"; - rev = "aeae9028de5c489b07a5f5df29682eff47f80f6b"; - sha256 = "002blp30bvi8l9b9mzjk8ib6xv3fps3j8cqrvbdj6dw2yvrcfl1g"; + rev = "a8d8d0714612d3b45188c6cd4237e091cc6d1366"; + sha256 = "1rar2b781gr8sb34n638a31f4pg5xh64xkmamvdr37i8wrr9i4cy"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8d113615dde757a60ce91e156f0714a1394c4bfc/recipes/request-deferred"; @@ -82488,12 +87762,12 @@ melpaBuild { pname = "resize-window"; ename = "resize-window"; - version = "20170704.2212"; + version = "20180917.2238"; src = fetchFromGitHub { owner = "dpsutton"; repo = "resize-window"; - rev = "e281aca5a1b371aff20d7bfc6abc456de22e19dd"; - sha256 = "1d8jzhwif80bgj5pxa36hbavjrlmjg12yzxypl40d1wrjamq854c"; + rev = "09dc5968f1c988c51fcd6ea5d68bb38b7541eb66"; + sha256 = "02hzn0r9bzpmhjij1fvj6q3qvha8rwyn53m4yw995bg9xk32c0hj"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/601a8d8f9046db6c4d50af983a11fa2501304028/recipes/resize-window"; @@ -82538,12 +87812,12 @@ melpaBuild { pname = "restclient"; ename = "restclient"; - version = "20180316.851"; + version = "20190405.1308"; src = fetchFromGitHub { owner = "pashky"; repo = "restclient.el"; - rev = "859d944796ce298b5779d9d256bd8d271d57e221"; - sha256 = "18grh9pislyr1mnj05nd2wj2ns8wy2irsxi7y203qkhkhqaamdgn"; + rev = "236810ad1d4b13f27e85931c0d8bb3549a35e865"; + sha256 = "0f0hn91k6s4vkqzac3x9sma4sx78m4b6h7fpkc4jslv2v0b0dplv"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/59303304fe1f724596245556dd90f6afffba425d/recipes/restclient"; @@ -82693,12 +87967,12 @@ melpaBuild { pname = "review-mode"; ename = "review-mode"; - version = "20180312.535"; + version = "20181213.1915"; src = fetchFromGitHub { owner = "kmuto"; repo = "review-el"; - rev = "bf38b0ce8be2eef1cf810ac6f3664d2190bb9ef7"; - sha256 = "0vmv19qvpba715xqx18dmlxq9kgkzvkf6jfd03bdcj2lh804y3pb"; + rev = "978be7337628c746f2cb237094c65187a11d7682"; + sha256 = "07zli33hfdz0h4b491dl664gv7naky8db3kajxb3ncbizx99dz9m"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f2f9e2667389577d0703874ca69ebe4800ae3e01/recipes/review-mode"; @@ -82719,12 +87993,12 @@ melpaBuild { pname = "reykjavik-theme"; ename = "reykjavik-theme"; - version = "20160109.0"; + version = "20180823.844"; src = fetchFromGitHub { owner = "mswift42"; repo = "reykjavik-theme"; - rev = "0d04f21a8d4c98accd278a1ba360ea3fa7cac812"; - sha256 = "07gcz2zmz1hhrailad9jfjflkyf1lkm8cdyvnd752064dkdja7y7"; + rev = "2cd0043ae6d046f812a95bb26398ea23141beccc"; + sha256 = "0rk0fw5b1lz7if779h3bngc86iix8v9k8bz3zw8icwfwmjsgg1fh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/10bf153e2b84050304ba2532f5eb41c7a4e7632f/recipes/reykjavik-theme"; @@ -82743,23 +88017,24 @@ , fetchurl , lib , melpaBuild - , s }: + , s + , wgrep }: melpaBuild { pname = "rg"; ename = "rg"; - version = "20180626.1041"; + version = "20190403.833"; src = fetchFromGitHub { owner = "dajva"; repo = "rg.el"; - rev = "ca5afceb3dd84590ffadd525a9643befbae0959f"; - sha256 = "03f13vcknlwdbq4997q82z6gl718mv83k88rnynh1m4v4hcpwv09"; + rev = "acd8be6a1ee129fe8b3802bfcffe9b56bfa72320"; + sha256 = "0av0dipf6jjqhixzv7gnf1w8rlncgpwcxr3jn9lidx9acr8yprwa"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9ce1f721867383a841957370946f283f996fa76f/recipes/rg"; sha256 = "0i78qvqdznh1z3b0mnzihv07j8b9r86dc1lsa1qlzacv6a2i9sbm"; name = "recipe"; }; - packageRequires = [ cl-lib emacs s ]; + packageRequires = [ cl-lib emacs s wgrep ]; meta = { homepage = "https://melpa.org/#/rg"; license = lib.licenses.free; @@ -82824,12 +88099,12 @@ melpaBuild { pname = "rich-minority"; ename = "rich-minority"; - version = "20170813.622"; + version = "20190321.658"; src = fetchFromGitHub { owner = "Malabarba"; repo = "rich-minority"; - rev = "333e4669f76a0fb68b433117d377711e418a525e"; - sha256 = "0ms42fnfis6y2h717cqhngzv7ysgf8340rsfm2i7rx2gbdynr1ic"; + rev = "04bc21b109c4507e16747b709d55f9be9553779c"; + sha256 = "15m39qqllkj1a328dyl23a830ix6m1f9sfmj19nwrsysxqik7vg6"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1e6aed365c42987d64d0cd9a8a6178339b1b39e8/recipes/rich-minority"; @@ -82842,6 +88117,34 @@ license = lib.licenses.free; }; }) {}; + right-click-context = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , popup }: + melpaBuild { + pname = "right-click-context"; + ename = "right-click-context"; + version = "20181220.2128"; + src = fetchFromGitHub { + owner = "zonuexe"; + repo = "right-click-context"; + rev = "173c86b4b3fc187d54bcd85b4d7df27a5ee24965"; + sha256 = "1paljjwr6sfl835m24vj2j4x3zdh3whwayj6dvyfarbhhcwbwphj"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/f6963fc11d697b95ebbdaf7fe27c91a6229d08b6/recipes/right-click-context"; + sha256 = "189nkxkc7lr2fm5qgmylmz6xv6mpphslj4fgpmr8ynnx9z3nxms2"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs popup ]; + meta = { + homepage = "https://melpa.org/#/right-click-context"; + license = lib.licenses.free; + }; + }) {}; rigid-tabs = callPackage ({ emacs , fetchFromGitLab , fetchurl @@ -82876,12 +88179,12 @@ melpaBuild { pname = "rimero-theme"; ename = "rimero-theme"; - version = "20180630.515"; + version = "20180901.648"; src = fetchFromGitHub { owner = "yveszoundi"; repo = "emacs-rimero-theme"; - rev = "dc6917b7404d3f79044046c231a195c40c9d0a88"; - sha256 = "0zjs76lp4mpds7hkxbks2lj77ifbnzgq74xdl6minfcxc3wjkbvi"; + rev = "a2e706c2b34f749019979a133f08a2d94a1104b3"; + sha256 = "1kcvvaizggzi7s3dlh611bkirdf6y89kzddc273drdks705s01wh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c6d07b0c021001195e6e0951c890566a5a784ce1/recipes/rimero-theme"; @@ -82955,12 +88258,12 @@ melpaBuild { pname = "ripgrep"; ename = "ripgrep"; - version = "20180323.920"; + version = "20190215.41"; src = fetchFromGitHub { owner = "nlamirault"; repo = "ripgrep.el"; - rev = "a1f8f030bf5daea92dd13b953720a6c13dd3557c"; - sha256 = "0mpysjcbw9qxy1lcwsd2rqf72xahpdpn88xcq0cnk1y2jam8gjkf"; + rev = "40e871dcc4519a70981e9f28acea304692a60978"; + sha256 = "0snn12iibz5frsx6yk6c31hb8knvsd568ghw9jjka5vxdjzap7p9"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e8d789818876e959a1a59690f1dd7d4efa6d608b/recipes/ripgrep"; @@ -83008,12 +88311,12 @@ melpaBuild { pname = "rjsx-mode"; ename = "rjsx-mode"; - version = "20180624.1758"; + version = "20190311.1817"; src = fetchFromGitHub { owner = "felipeochoa"; repo = "rjsx-mode"; - rev = "8bdb234f2b66a2ce0563b676447ebb8db37d593f"; - sha256 = "047mfmj6rklxiqg43ji4gb5qr86z8q1717imsjffrkbjq3iqlw6j"; + rev = "03dd8d1683501e81b58674d64c3032b7b718402c"; + sha256 = "1kc44g9f38klpjklmz9n50a28nqv7prz6ck6ghdr6bnj1s98pb8a"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b83be7efdef2457e1320fe3dec46484fbd20263c/recipes/rjsx-mode"; @@ -83026,6 +88329,32 @@ license = lib.licenses.free; }; }) {}; + rmsbolt = callPackage ({ emacs + , fetchFromGitLab + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "rmsbolt"; + ename = "rmsbolt"; + version = "20181227.655"; + src = fetchFromGitLab { + owner = "jgkamat"; + repo = "rmsbolt"; + rev = "246377bbff99734f30daedf2c47c03283c97e7c5"; + sha256 = "05v16g2drc57cjcdjqy9rk5m4i74v8raspgfsc62qbapy4kqvn78"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/798e7978f3ee32b3667956da8dc2dc7f005b6996/recipes/rmsbolt"; + sha256 = "0mgzc4q9mmnqjafp2i9qp0plc7qnh4kmkgjs1c7frk9x07navscf"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/rmsbolt"; + license = lib.licenses.free; + }; + }) {}; robe = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -83035,12 +88364,12 @@ melpaBuild { pname = "robe"; ename = "robe"; - version = "20171116.1249"; + version = "20190305.1346"; src = fetchFromGitHub { owner = "dgutov"; repo = "robe"; - rev = "7829f4fdda41eee0add8868646ab86e6b17de4b4"; - sha256 = "1h526m21g0yqpry8dh42aj8nv4lp74dc1cmcyfb16sx5rrk0vx27"; + rev = "69abadccf36220167f5d158dbdd3a801b3b89eff"; + sha256 = "087jl5b220i6g7shfbfxvxvv6zdlgagvrhwf4axllybif1p47nd3"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/673f920d02fe761bc080b73db7d37dbf5b6d86d8/recipes/robe"; @@ -83060,12 +88389,12 @@ melpaBuild { pname = "robots-txt-mode"; ename = "robots-txt-mode"; - version = "20170908.642"; + version = "20180919.841"; src = fetchFromGitHub { owner = "emacs-php"; repo = "robots-txt-mode"; - rev = "4a77674ab2963b829d3b751741c4ce1169e87f6b"; - sha256 = "1ynmb9gpryfrml80kkv71k11j7r91mgyzh1q8xx52s0b4mkd33zc"; + rev = "f8fc7ee50a3d5d7a2838772ed298fb69b9051c5c"; + sha256 = "11qyzsfp2kmi6sd24m30y537mic9xg7y29npninrjihr6k9rw3a2"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/eb13cb0dba1696cc51132cd1ff723fa17f892a7c/recipes/robots-txt-mode"; @@ -83111,12 +88440,12 @@ melpaBuild { pname = "rope-read-mode"; ename = "rope-read-mode"; - version = "20171003.719"; + version = "20190315.907"; src = fetchFromGitHub { owner = "marcowahl"; repo = "rope-read-mode"; - rev = "77b183a6f5450138388509f54a6a2ce442766e50"; - sha256 = "0ddm7gwr51ip8mc79jxkvp52sxhlvs0kyy59v7r7pf5mbadbpsbz"; + rev = "3542bf0199d242729e198beac3305cc88497dc89"; + sha256 = "0l6r2g3i475nlzrwra38f6w5izl3ajd4dilf4yvcs66ah9bzhh2r"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/14a674559aa485e92357a8b941304ae8167b9c3e/recipes/rope-read-mode"; @@ -83212,12 +88541,12 @@ melpaBuild { pname = "rpn-calc"; ename = "rpn-calc"; - version = "20170522.1842"; + version = "20181121.354"; src = fetchFromGitHub { owner = "zk-phi"; repo = "rpn-calc"; - rev = "66fcb64dbfddfc23823356b6213215bd7ab5efc6"; - sha256 = "1lgabs97x6h4yrgwln8hsxi47wgl46jzhf162wa1almdbqbp9100"; + rev = "27279f89c80eb3f28ff9f981eff06502056943e2"; + sha256 = "0klzhscdvzwpcrfkq2v28in5fv01zqabgxdrziyhj666sly1scjq"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/47d5b3c931cdbc2351e01d15e2b98c78081c9506/recipes/rpn-calc"; @@ -83264,12 +88593,12 @@ melpaBuild { pname = "rspec-mode"; ename = "rspec-mode"; - version = "20180614.448"; + version = "20190326.722"; src = fetchFromGitHub { owner = "pezra"; repo = "rspec-mode"; - rev = "dda1ece81bd2802c4097e5c963fac33a444659cb"; - sha256 = "1d8i2y9r1im346df3ishsx16g5264pfq930whbj9hipfml6s8ddy"; + rev = "3285c225d0ed99b2dd91ae9e65b2c961082b03e5"; + sha256 = "1s5yj4n8qd3ypm505573s4gs63s5kmir4wphknn7hwsa1qxxzp55"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cd83e61b10da20198de990aa081b47d3b0b44d43/recipes/rspec-mode"; @@ -83289,12 +88618,12 @@ melpaBuild { pname = "rtags"; ename = "rtags"; - version = "20180619.823"; + version = "20190320.817"; src = fetchFromGitHub { owner = "Andersbakken"; repo = "rtags"; - rev = "015cde3b77d9971e890f25b54cccfdb2582970fa"; - sha256 = "00fs8181nrgnx9bcsc479rhgvxx7hh8byxnzi9g6kl4ak1cmc7jx"; + rev = "3232afea229ee090df61bc58786a1de65894f413"; + sha256 = "0z3xj5s1p14sk8na7xhx4kxc2kz3sg7z58iz5mlaf6mdna85cy3x"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/rtags"; @@ -83368,16 +88697,16 @@ melpaBuild { pname = "rubocop"; ename = "rubocop"; - version = "20170311.2211"; + version = "20190326.724"; src = fetchFromGitHub { - owner = "bbatsov"; + owner = "rubocop-hq"; repo = "rubocop-emacs"; - rev = "980bedb455e3551d35a212fae515c054888907c1"; - sha256 = "152ara2p59imry2ymfnk5mycbc07rblcmfmqjgm5fijb2x94xv8p"; + rev = "03bf15558a6eb65e4f74000cab29412efd46660e"; + sha256 = "0bl1l2qbpdknn93wr95a49gdnpl3pwpjj3rka3s44hvihny9p8q0"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/00f2cf3e8e28bce5c26c86aba54390ffff48d7da/recipes/rubocop"; - sha256 = "114azl0fasmnq0fxxyiif3363mpg8qz3ynx91in5acqzh902fa3q"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/rubocop"; + sha256 = "07ma4fv015wzpj5j4rdb0ckwwmhkxs3k5vy33qxgwghqmn6xby6x"; name = "recipe"; }; packageRequires = [ emacs ]; @@ -83394,12 +88723,12 @@ melpaBuild { pname = "rubocopfmt"; ename = "rubocopfmt"; - version = "20180519.748"; + version = "20181009.1003"; src = fetchFromGitHub { owner = "jimeh"; repo = "rubocopfmt.el"; - rev = "34c69c9c923d0da223f7569a6ecc842095adcf85"; - sha256 = "0aa683r16gvpv07i0gzbil81kgxbgk4pjn510xgalan3fk20nal4"; + rev = "fc96145719a65b2551339d087ddd95b72e14646f"; + sha256 = "12sfzvb5lf20d4kqa1fzhz8s48lgr8w0x7qimjcy5c75yjb123wl"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ac01edffceea771d8fe41326e28dd9881f1661ab/recipes/rubocopfmt"; @@ -83421,16 +88750,16 @@ melpaBuild { pname = "ruby-additional"; ename = "ruby-additional"; - version = "20180316.1937"; + version = "20181221.359"; src = fetchFromGitHub { - owner = "emacsorphanage"; - repo = "ruby-additional"; - rev = "97998d908e3720c7cb45a80aeda4b55f3b8ea0f0"; - sha256 = "1jmnz1y2q5994x7j6gfqrbpjyd2rsnrjis8xlx14hplmfgm2scd5"; + owner = "ruby"; + repo = "elisp"; + rev = "75bccbb384e6907df47ab69acdccb4536806c890"; + sha256 = "1ic92ga7sy71qknn22xjbxrhpbq3sgb1ngfm2d0gjdmr0x6q8xkc"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/30de78c9cf83de30093a5647976eeaf552d4b2cb/recipes/ruby-additional"; - sha256 = "1ivxn787k64q5jl0dxmxbj240ykcyvfhfam5fdvrwvc3yysk2dx7"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/30fa1f6cb1128fc0c0e751330714f228e5616786/recipes/ruby-additional"; + sha256 = "09g4zz6pfzhxlhac2d041bys7qis4w4shpdn4bpskm1rnmvm10s7"; name = "recipe"; }; packageRequires = [ emacs ruby-mode ]; @@ -83573,12 +88902,12 @@ melpaBuild { pname = "ruby-hash-syntax"; ename = "ruby-hash-syntax"; - version = "20180323.1909"; + version = "20190109.1427"; src = fetchFromGitHub { owner = "purcell"; repo = "ruby-hash-syntax"; - rev = "89fc364a837d7a78ecce34380f09c073a83e30e0"; - sha256 = "1nwf3681fa6lfqr14n9wihckpi220hvamv1ppzmrhn4k49vxljy8"; + rev = "577ab383c142e3a0697ce73480158a8b489038da"; + sha256 = "06hm4pl3mzlyx4d3v94rm2w33q9wnwpdl7qas3fnks691d9apg7x"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c7d21a43a4bf267507bdc746ec9d0fd82049c0af/recipes/ruby-hash-syntax"; @@ -83651,16 +88980,16 @@ melpaBuild { pname = "ruby-test-mode"; ename = "ruby-test-mode"; - version = "20171016.931"; + version = "20190313.805"; src = fetchFromGitHub { - owner = "r0man"; + owner = "ruby-test-mode"; repo = "ruby-test-mode"; - rev = "87f6d770f8d2326c8d36099aeee5d577f3e2af69"; - sha256 = "0qiwc2h5hyh6np16a2gfcchbnyh7v5wnzd8idr64cmd9blg3jh8d"; + rev = "aa11267824561eb2b6a40b3dc5e2ad1cfb800f84"; + sha256 = "1k2mv2zgjsq8sn6lr5ad1xicb786xkvj8v588xavn1m50brn1gc9"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/ruby-test-mode"; - sha256 = "06j1q9m08jkwlnkccppf2qlcs48nr8ic9sjdv90rnixc18bw7bpk"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/f781a76a519afc0222cdf7255822a23e33745deb/recipes/ruby-test-mode"; + sha256 = "08x9pskxz1hvvqablx5mdp1g54n28kpmd10qwrasq2zjbdjghj48"; name = "recipe"; }; packageRequires = [ pcre2el ruby-mode ]; @@ -83847,6 +89176,31 @@ license = lib.licenses.free; }; }) {}; + rust-auto-use = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "rust-auto-use"; + ename = "rust-auto-use"; + version = "20181124.2237"; + src = fetchFromGitHub { + owner = "vmalloc"; + repo = "rust-auto-use.el"; + rev = "d924505ecd954625dcb2d56dfba97111dc6a17fa"; + sha256 = "1yw9l13dgkfsdv4kgpbvzx12g8bqycclgq2gk4b1r29mxy72wnpq"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/a9584d883934e36400ec1924755df34149ad2f9f/recipes/rust-auto-use"; + sha256 = "0jdg8xgxry0h9nbb9m446gpw54rymw3152n84lvsg5bv51861114"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/rust-auto-use"; + license = lib.licenses.free; + }; + }) {}; rust-mode = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -83855,12 +89209,12 @@ melpaBuild { pname = "rust-mode"; ename = "rust-mode"; - version = "20180626.1512"; + version = "20190304.536"; src = fetchFromGitHub { owner = "rust-lang"; repo = "rust-mode"; - rev = "106aeab800fb3404baf231845d3e3549ec235afa"; - sha256 = "0bcrklyicxh032rrp585rl5mxd26nb61dp6r5bl935rlcmxzsczh"; + rev = "a871d108c745276e93ff1dec7c65e2e5a57e6d8c"; + sha256 = "12yyc9d1b5jj2mqxdgjn95ah9dnxbl8jkq2mrxyrr9y34c6fycr6"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8f6e5d990d699d571dccbdeb13327b33389bb113/recipes/rust-mode"; @@ -83877,24 +89231,23 @@ , fetchFromGitHub , fetchurl , lib - , melpaBuild - , rust-mode }: + , melpaBuild }: melpaBuild { pname = "rust-playground"; ename = "rust-playground"; - version = "20180507.1032"; + version = "20180807.458"; src = fetchFromGitHub { owner = "grafov"; repo = "rust-playground"; - rev = "2f22ec74e4158984e0e70cf0bf728bbd42eb661b"; - sha256 = "1p80zghdk3hsfj36z30sfkllqr3b4yi279zkg0la9kfg6785x2cg"; + rev = "092c8b11d62dea23953a004744833092bac85fe1"; + sha256 = "0n2c1pjbvy46ic0k84jd3ffwwb5hibjqc1wv7knzkldi5agigfsh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/rust-playground"; sha256 = "0ml0zr9vz2vjd9wr0v706w4v4qqfzpa56rdzfak2kb5llx53j89v"; name = "recipe"; }; - packageRequires = [ emacs rust-mode ]; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/rust-playground"; license = lib.licenses.free; @@ -83905,27 +89258,44 @@ , f , fetchFromGitHub , fetchurl + , ht + , let-alist , lib + , markdown-mode , melpaBuild , projectile , s + , seq + , spinner , xterm-color }: melpaBuild { pname = "rustic"; ename = "rustic"; - version = "20180722.1209"; + version = "20190318.1112"; src = fetchFromGitHub { owner = "brotzeit"; repo = "rustic"; - rev = "15e4d58ded3436b4da4b1a54e5f527ca3d5de22b"; - sha256 = "1jra1l0bz7bxkgsc0jgi9xmf1vipvzazkg40m58hhlbq1hynxm8z"; + rev = "e73f29bd273670a1193e595ff13641ec0675cfb4"; + sha256 = "1jfvvq4yz3ypw32q10g926ys1y4j1dyskpbl25qgqnw5dwjy7vsk"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/716c14a2ed8f5817c09c1ff530a4980c17b44bb3/recipes/rustic"; sha256 = "13bwrdqmm6xb34k8r72c0r3b9aym5dwsalp63bkfh9k9kq9hic0n"; name = "recipe"; }; - packageRequires = [ dash emacs f projectile s xterm-color ]; + packageRequires = [ + dash + emacs + f + ht + let-alist + markdown-mode + projectile + s + seq + spinner + xterm-color + ]; meta = { homepage = "https://melpa.org/#/rustic"; license = lib.licenses.free; @@ -84204,12 +89574,12 @@ melpaBuild { pname = "salt-mode"; ename = "salt-mode"; - version = "20180118.1754"; + version = "20181225.357"; src = fetchFromGitHub { owner = "glynnforrest"; repo = "salt-mode"; - rev = "e46c28ef77663391519646c79641c9d177f70d35"; - sha256 = "13zk20bif05qgpqsx9hf6ri7qkxqq7nicp2lb84dg7id24md22x9"; + rev = "adecd8d1016722a916d190e8738435668d664cca"; + sha256 = "0ncf3sr25vcjrcc9mn59mg0kkv59y6mlir2a7an3drzqlyfr44i0"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9dcf1a93a06fc42581521c88cfd988b03bedc000/recipes/salt-mode"; @@ -84230,12 +89600,12 @@ melpaBuild { pname = "sane-term"; ename = "sane-term"; - version = "20160620.647"; + version = "20181129.1701"; src = fetchFromGitHub { owner = "adamrt"; repo = "sane-term"; - rev = "034033141b2eb467e2d0b79c8ce1da1f8ff2f013"; - sha256 = "0nhs916h52hxbp479ma01p6i0zfap26n4fvyx83822pisbcd3krb"; + rev = "ae0b3c024b66275f22809e2b41f428b01c259b96"; + sha256 = "1468byxxd0ysqzmi9ssypfhfyqrjgj5w7sx42qgw66m57sis8ra3"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/sane-term"; @@ -84282,12 +89652,12 @@ melpaBuild { pname = "sauron"; ename = "sauron"; - version = "20171105.247"; + version = "20181216.400"; src = fetchFromGitHub { owner = "djcb"; repo = "sauron"; - rev = "50f09bfc6f5bf79e72a1223e345ee720b507e56a"; - sha256 = "1k80vzgky4fcakxs3h0yb7g3zpn4382p8zz730kk1ibfd7i56a68"; + rev = "6a26e9df1e6a49b0ea4ccfd843a032033162a287"; + sha256 = "1pqw72mmi84813pigk0gcygrqw5ql2074kj55pihy784dm853rfg"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9d30dcc4715422133e1bb00ad7a8e25b060387e4/recipes/sauron"; @@ -84384,14 +89754,14 @@ ename = "say-what-im-doing"; version = "20160706.1231"; src = fetchFromGitHub { - owner = "benaiah"; + owner = "Benaiah"; repo = "say-what-im-doing"; rev = "5b2ce6783b02805bcac1107a149bfba3852cd9d5"; sha256 = "0wy4hrc44ajl88krp6qy40szl2kl2wc3xjz3y4n250d1v81k25xi"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/4d22ddcd4ad9514fe0c36f299e7463a4b7e771d7/recipes/say-what-im-doing"; - sha256 = "1hgh842f7gs2sxy7s6zq57nsqy4jjlnjcga6hwzcx0kw3albgz7x"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/say-what-im-doing"; + sha256 = "0wi7318q7mms4wjbzhnsw298bjh7g957dnra0bvg87vv48pz3yfp"; name = "recipe"; }; packageRequires = []; @@ -84408,16 +89778,16 @@ melpaBuild { pname = "sayid"; ename = "sayid"; - version = "20180404.1139"; + version = "20181223.35"; src = fetchFromGitHub { - owner = "bpiel"; + owner = "clojure-emacs"; repo = "sayid"; - rev = "8ea70573e6eb1a0d1a450fd501f38c2cf26ce27f"; - sha256 = "02yp3h16yzys27lxcxn7qzb23z95vjdaxhinz0swdixgr5qwwc77"; + rev = "3322ec3d6503f0e706b0b16d09865c00b92e7979"; + sha256 = "0sfc5fsb1h35ayzxaj5bz0za7zjbs6vxgzc7fqfvrpjazsv3jbcq"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/2bd2e05f9c9328d8f9ae434c86697a4a04af8b0d/recipes/sayid"; - sha256 = "0chz46wmwmsn4ys59pn7lqs4assqy2hv43rvka7kq61jdl4g6fgs"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/9a15a17a5aa78aed72958b2a1bde53f0c0ab5be7/recipes/sayid"; + sha256 = "065mxb2la3dq2zqyb8dfksb18fpqym04nnax5rrp19izcw488qsm"; name = "recipe"; }; packageRequires = [ cider ]; @@ -84528,6 +89898,33 @@ license = lib.licenses.free; }; }) {}; + scalariform = callPackage ({ f + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , s }: + melpaBuild { + pname = "scalariform"; + ename = "scalariform"; + version = "20190113.1815"; + src = fetchFromGitHub { + owner = "zwild"; + repo = "scalariform"; + rev = "f4b04508a65ce8593d15c260322c527dda5810a3"; + sha256 = "1c2z6kp17gw77h9y6v75dvcp6ywpsyfcxlrzr5iank4ipgplsbha"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/1912f795e5842be534160e3879bfb96f3440e163/recipes/scalariform"; + sha256 = "096y63j91910hqsy6qvz16c9lzyi7ni3r7h039z5zw2v97aggh9i"; + name = "recipe"; + }; + packageRequires = [ f s ]; + meta = { + homepage = "https://melpa.org/#/scalariform"; + license = lib.licenses.free; + }; + }) {}; scf-mode = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -84560,12 +89957,12 @@ melpaBuild { pname = "scheme-complete"; ename = "scheme-complete"; - version = "20170824.713"; + version = "20181029.555"; src = fetchFromGitHub { owner = "ashinn"; repo = "scheme-complete"; - rev = "4c77038048cbcf34b5907f0439c93058a71a2d2b"; - sha256 = "14b1bajgvim48j7y4pss73lyxqfyazjnxn1dgvvmkvngm3k1a4y8"; + rev = "b86ee41d48664839181498313f4f3dc2fef17d6f"; + sha256 = "1by7ky8za6idam4m4xgmf0f5ss0cacd7wv53glhmjb4nslxhgl7d"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0fda2b54a0ff0b6fc3bd6d20cfcbbf63cae5380f/recipes/scheme-complete"; @@ -84578,31 +89975,6 @@ license = lib.licenses.free; }; }) {}; - scheme-here = callPackage ({ fetchFromGitHub - , fetchurl - , lib - , melpaBuild }: - melpaBuild { - pname = "scheme-here"; - ename = "scheme-here"; - version = "20141028.18"; - src = fetchFromGitHub { - owner = "hiddenlotus"; - repo = "scheme-here"; - rev = "fccf668bb8f1d481be6e70fffa2b52ea681e32a5"; - sha256 = "1m5aqcm4pd0m0rz3r09i52q55nlx3ga7hca9xlzf0gwcyyn8xzyg"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/scheme-here"; - sha256 = "04lmkf3zc396anlp9s9irdkqavsc0lzlpzprswd4r2kp4xp7kcks"; - name = "recipe"; - }; - packageRequires = []; - meta = { - homepage = "https://melpa.org/#/scheme-here"; - license = lib.licenses.free; - }; - }) {}; schrute = callPackage ({ emacs , fetchgit , fetchurl @@ -84743,12 +90115,12 @@ melpaBuild { pname = "scpaste"; ename = "scpaste"; - version = "20171101.922"; + version = "20190228.1351"; src = fetchFromGitHub { owner = "technomancy"; repo = "scpaste"; - rev = "10559d6b0feb34dc60f039a237052adcca77b5d9"; - sha256 = "10z8jpi6f3mhq8ymxcv1lc291sqr2kzvgwx8mlmck0bmlys12pqc"; + rev = "568faaa70fa0413e2d165ad232cd4c6ec2815197"; + sha256 = "160m4w0i9cj4zxmmsknmnvycscj9y8da39y1362kv7dpmwnxsxcp"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9007fb32097bc63731c3615dae9342fcef2558a2/recipes/scpaste"; @@ -84761,26 +90133,27 @@ license = lib.licenses.free; }; }) {}; - scratch = callPackage ({ fetchFromGitHub + scratch = callPackage ({ emacs + , fetchFromGitHub , fetchurl , lib , melpaBuild }: melpaBuild { pname = "scratch"; ename = "scratch"; - version = "20170614.1401"; + version = "20190313.2314"; src = fetchFromGitHub { owner = "ieure"; repo = "scratch-el"; - rev = "2cdf2b841ce7a0987093f65b0cc431947549f897"; - sha256 = "0wscsndynjmnliajqaz28r1ww81j8wh84zwaaswx51abhwgl0idf"; + rev = "4813d82b39a451f2a6d5b730cd7ec49a9bdabcca"; + sha256 = "0yiwq2gc4gdgfhaagpawhb7yrzc4fsnyb10w5d0q4whv64cj8555"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b46813f928eadfa08a1d4bf94ceeb96dbc2a7c72/recipes/scratch"; sha256 = "1an30pr64fz13s6lghlcb36b7hn3961vv0yipfp9s140ccygdvh7"; name = "recipe"; }; - packageRequires = []; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/scratch"; license = lib.licenses.free; @@ -84924,14 +90297,14 @@ ename = "scratches"; version = "20151005.2116"; src = fetchFromGitHub { - owner = "cheunghy"; + owner = "zhangkaiyulw"; repo = "scratches"; rev = "9441afe6396ca38f08029123fab5d87429cbf315"; sha256 = "10hmy0p4pkrzvvyisk4rjc6hqqyk2sir1rszqgmkhrdywl010vlc"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/3691aaaed27d0cf67af417f75fbb693ab856bd47/recipes/scratches"; - sha256 = "0409v1wi10q48rrh8iib6dw9icmswfrpjx9x7xcma994z080d2fy"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/scratches"; + sha256 = "116bjy1m35h83r2c354i2xk1br87nmvd99kbzax0wgkkkcjff8c4"; name = "recipe"; }; packageRequires = [ dash f ]; @@ -84948,12 +90321,12 @@ melpaBuild { pname = "scribble-mode"; ename = "scribble-mode"; - version = "20160124.1528"; + version = "20181203.1925"; src = fetchFromGitHub { owner = "emacs-pe"; repo = "scribble-mode"; - rev = "7e83ddf30b7089607c1653eced3edef459d4ad16"; - sha256 = "14bpdn89ry1im84zcx3jq64q2gl0jxfz9x7fy0szdas7ycrhjghz"; + rev = "217945d54de5e4bb207033f2116baa28f5c5ecf2"; + sha256 = "1s5ccw1a5ack01wd94ywfcrar9j98agchwdh30q7iyxr0d2z4sii"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6469c2b389d757003da69da727905228eb564d50/recipes/scribble-mode"; @@ -84966,6 +90339,32 @@ license = lib.licenses.free; }; }) {}; + scrollkeeper = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "scrollkeeper"; + ename = "scrollkeeper"; + version = "20190108.2229"; + src = fetchFromGitHub { + owner = "alphapapa"; + repo = "scrollkeeper.el"; + rev = "3c4ac6b6b44686d31c260ee0b19daaee59bdccd6"; + sha256 = "18pp4k12g5dyma362461gdp4ds5d3lx9gky2ishsq39949pkz7qz"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/d9ad5b16ff61c1f8ba1e030ee0988aa51a437022/recipes/scrollkeeper"; + sha256 = "16wqlyxznall4kmd8l68q4d11qyilj8vsji36h7llprxa2m9pg12"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/scrollkeeper"; + license = lib.licenses.free; + }; + }) {}; scrooge = callPackage ({ cl-lib ? null , dash , emacs @@ -85155,26 +90554,28 @@ secretaria = callPackage ({ alert , emacs , f - , fetchgit + , fetchFromGitLab , fetchurl , lib , melpaBuild + , org , s }: melpaBuild { pname = "secretaria"; ename = "secretaria"; - version = "20180104.720"; - src = fetchgit { - url = "https://bitbucket.org/shackra/secretaria.el"; - rev = "e9d59d264ba30f8055a1ee1576fe9296d5b41055"; - sha256 = "10ijr9babki05j3wlhwsym85q868kirivsml7jlmi1csnn2y3c6b"; + version = "20190116.1200"; + src = fetchFromGitLab { + owner = "shackra"; + repo = "secretaria"; + rev = "e619a41b8c2600204c064d33394a3c1b85fc2879"; + sha256 = "09fddglyiz7j6ymxlwsq1zpigp5vhg31r2p6nr4lsblww3ypbapg"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/7b4c9ccbf2eeaa290f3b9d1e5eaaeb5b5547b365/recipes/secretaria"; - sha256 = "1a8jf91wplzazssh0s8ld0g8rp57gdfvxlsyn643w3mbp3ny8ybv"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3eeddbcf95315da40d021a6913ccf344849c4284/recipes/secretaria"; + sha256 = "04pcibzdljcfiha4yh10van8gsjrzn6bdkvkm2ahfcwrmscfn3hf"; name = "recipe"; }; - packageRequires = [ alert emacs f s ]; + packageRequires = [ alert emacs f org s ]; meta = { homepage = "https://melpa.org/#/secretaria"; license = lib.licenses.free; @@ -85369,12 +90770,12 @@ melpaBuild { pname = "semi"; ename = "semi"; - version = "20180204.1448"; + version = "20190405.739"; src = fetchFromGitHub { owner = "wanderlust"; repo = "semi"; - rev = "44aa82ecf78273d8ff4c84f2121b885fb7149f41"; - sha256 = "1wl12gsz9pn4wzgbffv3ymr49kcxjggc2jx19kxqyjmwdnw004yf"; + rev = "13bb56eb978439957964032cc3118a8bea43d7f4"; + sha256 = "0328yis2hwzsgdi6rkrj5yhl5qlz48grnqkp3y56xyb6wf25cn96"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e78849c2d1df187b7f0ef4c34985a341e640ad3e/recipes/semi"; @@ -85641,12 +91042,12 @@ melpaBuild { pname = "sesman"; ename = "sesman"; - version = "20180719.213"; + version = "20190213.850"; src = fetchFromGitHub { owner = "vspinu"; repo = "sesman"; - rev = "43b0c9ef2a9ba7608d27c24fb0daedc1deabf179"; - sha256 = "1w0fy74snc7gy7cmxfmlbvmdgpywi3grj5ph72liinxlpl1cw218"; + rev = "3df33018f1c42f09db21cebe39a25b389fe35f02"; + sha256 = "0z5jb4vpbjsi63w3wjy6d2lgz33qdfvrgfb3bszv4hcf6a96y7fc"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/31110e9bd82ad9c817e6cb597fa9c26c4cdc93ed/recipes/sesman"; @@ -85691,12 +91092,12 @@ melpaBuild { pname = "seti-theme"; ename = "seti-theme"; - version = "20161208.836"; + version = "20190201.1048"; src = fetchFromGitHub { owner = "caisah"; repo = "seti-theme"; - rev = "cbfef2fc15d19ce4c8326e65fafdd61737077132"; - sha256 = "191mvz6d6j764q1sj2496i6lq0q42b5qh5zfdvf0yl39pzbwx8jx"; + rev = "9d76db0b91d4f574dd96ac80fad41da35bffa109"; + sha256 = "14fqkkvjbq2gj737k3yz3s0dkya33fi0dj4wds99zyzss2xp37f8"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/088924b78575359996cf30745497b287cfb11f37/recipes/seti-theme"; @@ -85767,12 +91168,12 @@ melpaBuild { pname = "shackle"; ename = "shackle"; - version = "20171209.1401"; + version = "20190201.1046"; src = fetchFromGitHub { owner = "wasamasa"; repo = "shackle"; - rev = "4189c1c773aab533969b587f7801ffbcd1d7d613"; - sha256 = "1gh30sryh884mpwxpkf0ngkcvixjrxxf4bgq4nqm9n969sr5bhsq"; + rev = "242bacc940c18b6f9c156e1912155d45537fd827"; + sha256 = "0qqx8py21jaq1bdafkfqx18ns4zn305qg84zbmy65spiqnfq8hwk"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/806e7d00f763f3fc4e3b8ebd483070ac6c5d0f21/recipes/shackle"; @@ -86149,12 +91550,12 @@ melpaBuild { pname = "shen-elisp"; ename = "shen-elisp"; - version = "20170427.1502"; + version = "20180915.1328"; src = fetchFromGitHub { owner = "deech"; repo = "shen-elisp"; - rev = "ffe17dee05f75539cf5e4c59395e4c7400ececaa"; - sha256 = "10dq3qj1q8i6f604zws97xrvjxwrdcjj3ygh6xpna00cvf40llc2"; + rev = "73b74c8d6e3a2ea34b667d177d9f130765bfe501"; + sha256 = "1ym048cmkghx373fb7n5m6r73q5nfa62m10mqr4nzhsizgyzdbrn"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/shen-elisp"; @@ -86226,16 +91627,16 @@ melpaBuild { pname = "shimbun"; ename = "shimbun"; - version = "20180325.2048"; + version = "20190404.1600"; src = fetchFromGitHub { - owner = "emacsorphanage"; - repo = "w3m"; - rev = "59339a69a069fecf7b15148cbc141a6c1811edd6"; - sha256 = "1al8kjmp2jm2ssla8vhalrvpclragh999mgby5524cppwlzz592b"; + owner = "emacs-w3m"; + repo = "emacs-w3m"; + rev = "28f7af52ec09f7c6feb608431f0afae59c69d4fa"; + sha256 = "0njaf3pwilcxac1hd1w7ilrcmjv2iaxb4zzkwjnk73f1smgcxy2m"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/30de78c9cf83de30093a5647976eeaf552d4b2cb/recipes/shimbun"; - sha256 = "1rjykr0y5jfd6r3shm8x23yyra6qjsb55jrfc45rhpb89klyg1nk"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/c5a423647410357f0e63afba5b52bbe880fce969/recipes/shimbun"; + sha256 = "04d9kkj4fididhq220c1vjmlzmaqnii95c1ca86kzjbm2bqakkcd"; name = "recipe"; }; packageRequires = []; @@ -86454,23 +91855,23 @@ license = lib.licenses.free; }; }) {}; - shrink-whitespace = callPackage ({ fetchFromGitHub + shrink-whitespace = callPackage ({ fetchFromGitLab , fetchurl , lib , melpaBuild }: melpaBuild { pname = "shrink-whitespace"; ename = "shrink-whitespace"; - version = "20150916.1215"; - src = fetchFromGitHub { + version = "20181002.2021"; + src = fetchFromGitLab { owner = "jcpetkovich"; repo = "shrink-whitespace.el"; - rev = "8d4263d974fbe66417c0bb9edc155ecc2f48e4b7"; - sha256 = "07zzyfibs2c7w4gpvdh9003frznbg7zdnrx0nv8bvn0b68d3yz0m"; + rev = "0407b89c142bd17e65edb666f35e2c6755bd0867"; + sha256 = "1qxdi2jm3zl5f55c6irsbnxrmqw039pcm99jafn7hg5z5zc3xhbx"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/shrink-whitespace"; - sha256 = "0baqv4wr1wi4wd7cfhqf4y24qkpd72lax596z5lj934ihwf3gggw"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/a403093706d57887111e0d012e85273addaf0d35/recipes/shrink-whitespace"; + sha256 = "12i6xlcgk27bsdfnlcdjww8vxbx1yilaqa0pkh5n0hxb66zi6x15"; name = "recipe"; }; packageRequires = []; @@ -86514,12 +91915,12 @@ melpaBuild { pname = "shx"; ename = "shx"; - version = "20180528.1408"; + version = "20190309.1056"; src = fetchFromGitHub { owner = "riscy"; repo = "shx-for-emacs"; - rev = "207e6cd292a26fb1162072e2e20df9aa5efd61ef"; - sha256 = "1hnjmnnmg6axgw4z57rmc8h8wpnbi2rwyr4bv2sdrkk12d3i2kp5"; + rev = "a70f0cdc3c80b7b5b15d287d9b03e49f943bad57"; + sha256 = "0ihwiw9dxr6vln4dmg5dp75353ip9nc80hjfl1w3j0g3m8vhjbs2"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7a2ff78ae3c4289ebf9e06cdfd8f8082c395a16f/recipes/shx"; @@ -86564,12 +91965,12 @@ melpaBuild { pname = "sicp"; ename = "sicp"; - version = "20171028.1523"; + version = "20180823.522"; src = fetchFromGitHub { owner = "webframp"; repo = "sicp-info"; - rev = "8e13f7ff4695a05471486d37a6c5f979a5b965fb"; - sha256 = "15krfnj2qz4j2ns4a05a4wwaknhx77m4jhazg7zvz9xm4b4j1qm8"; + rev = "33acfa10a058aa65b6b22084a5b86a82410d794e"; + sha256 = "1l8isy8kicr4xa6iilxj0cf0f5rqmkidzr6pigql74204db56jhd"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1363d7b6e95375ac63f07eed2b3947f4f81bc9ba/recipes/sicp"; @@ -86590,12 +91991,12 @@ melpaBuild { pname = "side-notes"; ename = "side-notes"; - version = "20180523.2328"; + version = "20190403.137"; src = fetchFromGitHub { owner = "rnkn"; repo = "side-notes"; - rev = "981ac308b9b5d58e2af20485377e693d2a6e15aa"; - sha256 = "1hjj6pkl83b9fldzf2bixdny85l5mn81a9kf25kyp0cc6apvwsqr"; + rev = "2319ee180a4a67175b9e95322cd30b3ac70a9bdf"; + sha256 = "05xaj5lhxaf07frzcayx5ybz778sgx8bplg5i75x24b7miqdcjl2"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/24a71c493adfb79bcd5172d65aa0751e9a6ab556/recipes/side-notes"; @@ -86615,12 +92016,12 @@ melpaBuild { pname = "sift"; ename = "sift"; - version = "20160107.215"; + version = "20190104.917"; src = fetchFromGitHub { owner = "nlamirault"; repo = "sift.el"; - rev = "8c3f3d14a351a2394027d72ee0599aa73b9f0d13"; - sha256 = "1ma6djvhvjai07v1g9a36lfa3nw8zsy6x5vliwcdnkf44gs287ra"; + rev = "16bdffd2edf9300db50a81dc0b456da7ad6da86c"; + sha256 = "0wg7dnn721ff3h22s8bs2g4alrixzrry1m509md20qdklz9d6iwy"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/sift"; @@ -86644,14 +92045,14 @@ ename = "signal"; version = "20160816.738"; src = fetchFromGitHub { - owner = "Mola-T"; + owner = "mola-T"; repo = "signal"; rev = "aa58327e2297df921d72a0370468b48663efd438"; sha256 = "1gzfdk3ks56h8q4xk69aaxkhkg9jhs55iqdicyvq7x9wmjn6b7xw"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/signal"; - sha256 = "0y4crwpnmwm8bi9jazrph4yj0nnva2i1js8h3bw3sizy20a4yf00"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/signal"; + sha256 = "1g8sbszh7cnhpfaql8jn22bsdjdyjdnjb00xr43krr6smc1dr2xq"; name = "recipe"; }; packageRequires = [ cl-lib emacs ]; @@ -86744,12 +92145,12 @@ melpaBuild { pname = "simple-bookmarks"; ename = "simple-bookmarks"; - version = "20160804.701"; + version = "20190204.626"; src = fetchFromGitHub { owner = "jtkDvlp"; repo = "simple-bookmarks"; - rev = "e89e8163a0705e28e9346320a1ee13c1aae249af"; - sha256 = "0bx8inaihfs48rzi01nlr3wp2iw0bnk318hhgpd4zg64ap3sgdsv"; + rev = "54e8d771bcdb0eb235b31c0aa9642171369500e5"; + sha256 = "0i4yw341b7iml2j8mxclixsrdqlvixfxpabaxp4jh70aq2zfw1cf"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a60dd50c388a75ce21a5aec9acf938835d7afdbc/recipes/simple-bookmarks"; @@ -86797,12 +92198,12 @@ melpaBuild { pname = "simple-httpd"; ename = "simple-httpd"; - version = "20180528.903"; + version = "20190110.705"; src = fetchFromGitHub { owner = "skeeto"; repo = "emacs-web-server"; - rev = "a5eb49a6567e33586fba15dd649d63ca6e964314"; - sha256 = "0dpn92rg813c4pq7a1vzj3znyxzp2lmvxqz6pzcqi0l2xn5r3wvb"; + rev = "f1c160f83cbfecc63ec6c6e2a94590b500ecf458"; + sha256 = "1rxc8y0nfhanyp1l6vz20jg2d4wdjwy9gwicpmfhq0nmafxydw7z"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/simple-httpd"; @@ -86850,12 +92251,12 @@ melpaBuild { pname = "simple-paren"; ename = "simple-paren"; - version = "20180427.218"; + version = "20190315.1156"; src = fetchFromGitHub { owner = "andreas-roehler"; repo = "simple-paren"; - rev = "8d735905306c587851eff1445898499c01c530ca"; - sha256 = "0fv8s9h9sdiahi49al7zp0ldrlxi0dj46i2il75y7ay70l29wza2"; + rev = "2530d5419301c80bc584ee4888ce2d048fba8add"; + sha256 = "0zcak1x2b7y0g29c0njblspawxjxkbkgyn3100wawfcswyav3nri"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5e8886feb4a034fddd40d7381508b09db79f608f/recipes/simple-paren"; @@ -86927,12 +92328,12 @@ melpaBuild { pname = "simpleclip"; ename = "simpleclip"; - version = "20170803.540"; + version = "20181105.836"; src = fetchFromGitHub { owner = "rolandwalker"; repo = "simpleclip"; - rev = "d461c462c237cd896553adb468cd77499d0d26ad"; - sha256 = "1dfa1sa7rbadj36nbzyxbpbvkdlh1s5n0mx6hxn52psqin1ra6yn"; + rev = "2468b08ad829aaf4a90246541978be3974c60ab8"; + sha256 = "1pkv4mi0pmi3hwbl3yyzahin5xv4zkd0jw8xh1cdipymndga4iwq"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7c921e27d6aafc1b82d37f6beb8407840034377a/recipes/simpleclip"; @@ -86974,23 +92375,25 @@ , fetchurl , lib , melpaBuild - , request-deferred }: + , request-deferred + , unicode-escape + , uuidgen }: melpaBuild { pname = "simplenote2"; ename = "simplenote2"; - version = "20171201.1806"; + version = "20190321.233"; src = fetchFromGitHub { owner = "alpha22jp"; repo = "simplenote2.el"; - rev = "0fd6dbd0566af29964078e4b74baf69c2f52381a"; - sha256 = "0qlwmxrz2kngri7ywy64bja0najq9m6asq2gr53ns0mkq1ngf0l8"; + rev = "760ffecda63bd218876b623f46d332e3ef079be6"; + sha256 = "1swb6xvdw6dql6wdj8y5kaaicwrafiz5jwnfl5h1viw08b98q8dv"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1ac16abd2ce075a8bed4b7b52aed71cb12b38518/recipes/simplenote2"; sha256 = "1qdzbwhzmsga65wmrd0mb3rbs71nlyqqb6f4v7kvfxzyis50cswm"; name = "recipe"; }; - packageRequires = [ request-deferred ]; + packageRequires = [ request-deferred unicode-escape uuidgen ]; meta = { homepage = "https://melpa.org/#/simplenote2"; license = lib.licenses.free; @@ -87036,12 +92439,12 @@ melpaBuild { pname = "skeletor"; ename = "skeletor"; - version = "20170616.1746"; + version = "20190211.1939"; src = fetchFromGitHub { owner = "chrisbarrett"; repo = "skeletor.el"; - rev = "01c330ec115fc29bba5d9bdf6c15beb4a44e2281"; - sha256 = "0i3axni8y4s5n2s7qbqzz3sadcfhr3369q7qn8psk29qbicjw5wv"; + rev = "47c5b761aee8452716c97a69949ac2f675affe13"; + sha256 = "12bdgykfh4mwsqdazxjdvha62h3q3v33159ypy91f6x59y01fi0n"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1e63aefc869900c2af6f958dc138f9c72c63e2b8/recipes/skeletor"; @@ -87198,12 +92601,12 @@ melpaBuild { pname = "slack"; ename = "slack"; - version = "20180712.2222"; + version = "20190402.2337"; src = fetchFromGitHub { owner = "yuya373"; repo = "emacs-slack"; - rev = "cec90237ed46443f8f67886a2188d518b0f3c7dc"; - sha256 = "0npim0rrq0jkw8vj5d8iwfi64nz3mqnciamjs9hamzkiv6z9yxkw"; + rev = "53816e274ce1c65fdfbd93fe0076fdaf79bbfbf2"; + sha256 = "0z9cbajam923v07fji0zmn240z3dgqv77csn9aanv5qpi6xkm1sp"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f0258cc41de809b67811a5dde3d475c429df0695/recipes/slack"; @@ -87276,16 +92679,16 @@ melpaBuild { pname = "slime"; ename = "slime"; - version = "20180719.1821"; + version = "20190319.230"; src = fetchFromGitHub { owner = "slime"; repo = "slime"; - rev = "289e4d7117b034dea668a6d28f9ddb7eb80f57ed"; - sha256 = "0sanswnqyk50hgkr0p0zhxm3dfg72p4xcv7ivf2vivfqq68pyvym"; + rev = "6945edd4a6532e84caca53fbb44b09ca14cd50cc"; + sha256 = "1g6pq3xri7r54whradbrc1kbsj96x65x3nqcpy2a05h4wqbn8psk"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/14c60acbfde13d5e9256cea83d4d0d33e037d4b9/recipes/slime"; - sha256 = "04zcvjg0bbx5mdbsk9yn7rlprakl89dq6jmnq5v2g0n6q0mh6ign"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/47609a81b81330820f6ddf717400dc7fa06aaabf/recipes/slime"; + sha256 = "1ds8iprxr04wdhnnw4129v5l3w3k5rjp5ax156ppqr5i7wxx1zac"; name = "recipe"; }; packageRequires = [ cl-lib macrostep ]; @@ -87304,12 +92707,12 @@ melpaBuild { pname = "slime-company"; ename = "slime-company"; - version = "20180119.1043"; + version = "20190117.738"; src = fetchFromGitHub { owner = "anwyn"; repo = "slime-company"; - rev = "4c2e2805540dea700130607fa235018a87e4a070"; - sha256 = "0ihwchp6hc1rxmahrhaly1cnhqs6k6ks32iiywwsyw7fjc34alc4"; + rev = "7290cbad711a62f76c28e5638d1a4d77197a358c"; + sha256 = "0kslq8kq8dc192bpiaalyqisv3841h3dxy1wxk8hw3nyyww08mgx"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/abe5036c6de996a723bc800e0f031314e1188660/recipes/slime-company"; @@ -87333,12 +92736,12 @@ melpaBuild { pname = "slime-docker"; ename = "slime-docker"; - version = "20171004.1151"; + version = "20181126.624"; src = fetchFromGitHub { owner = "daewok"; repo = "slime-docker"; - rev = "13fa8be2fca516f3ff5fb70fa79dd8404bf86439"; - sha256 = "005zkypg2hkyzpkcv1rzfrmg8amg1bp0534y13xjqq3rz1p602bx"; + rev = "8b511c8c922f6944867f3cfaa7268988384064f1"; + sha256 = "0k7rvvyrrbbg9z46bxvzc4z4lnn9hjmv23m47ag191cqgag6r4fq"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/15ec3f7208287161571c8fc3b29369ceabb44e5f/recipes/slime-docker"; @@ -87453,6 +92856,32 @@ license = lib.licenses.free; }; }) {}; + slow-keys = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "slow-keys"; + ename = "slow-keys"; + version = "20180830.2159"; + src = fetchFromGitHub { + owner = "manuel-uberti"; + repo = "slow-keys"; + rev = "b93ad77f9fc1d14e080d7d64864fc9cb222248b6"; + sha256 = "1s4yk6w9fqf6hmimjcq8r7b54v7f2hz3isihiaidj3sv5zclhflw"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/5d16756967dd9077399b92cde2ddd7784739b693/recipes/slow-keys"; + sha256 = "03p0qx8a3g8mapjhdf9pjp3n0ng2pxmizpqn87wk8mbc8cmlwk2w"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/slow-keys"; + license = lib.licenses.free; + }; + }) {}; slstats = callPackage ({ cl-lib ? null , emacs , fetchFromGitHub @@ -87488,16 +92917,16 @@ melpaBuild { pname = "sly"; ename = "sly"; - version = "20180722.1611"; + version = "20190315.1523"; src = fetchFromGitHub { - owner = "capitaomorte"; + owner = "joaotavora"; repo = "sly"; - rev = "4b260fdda880f8287327c0c0055e2f18fd91201d"; - sha256 = "05s248657hgi4sp8g1d5zsq1x4nwxvairzx17psqkwflxc11cpv6"; + rev = "0a622da46251e620433d76f5ed98e40ef375ee01"; + sha256 = "0zzda1fjskgkr162j3zi7y23zi3k4kg1hbcpcb1jyyp0bq8vwla5"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/79e7213183df892c5058a766b5805a1854bfbaec/recipes/sly"; - sha256 = "1pmyqjk8fdlzwvrlx8h6fq0savksfny78fhmr8r7b07pi20y6n9l"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/974d8812a4c5e45221ce3c32ae72c15ed29665c3/recipes/sly"; + sha256 = "000g5qpy45zqrh3g4mk70mh2lakadfq18djrq7cabagw1qmhqy41"; name = "recipe"; }; packageRequires = [ emacs ]; @@ -87516,14 +92945,14 @@ ename = "sly-hello-world"; version = "20160119.636"; src = fetchFromGitHub { - owner = "capitaomorte"; + owner = "joaotavora"; repo = "sly-hello-world"; rev = "1bfcca692b6ec0670ed309ffe29eb9384397c183"; sha256 = "1fxsv83fcv5l7cndsysd8salvfwsabvd84sm7zli2ksf678774gp"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/d52ef4b249a42432eed6a260a758e26b50bc31d6/recipes/sly-hello-world"; - sha256 = "03ybjgczp6ssk4hmwd486vshlk7ql27k1lyhmvk26gmrf554z90n"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/4150455d424326667390f72f6edd22b274d9fa01/recipes/sly-hello-world"; + sha256 = "0mry5r0qc2w9k31kifqfc9slmh8mp2pz44qb36f41i3znckf7xy4"; name = "recipe"; }; packageRequires = [ sly ]; @@ -87543,14 +92972,14 @@ ename = "sly-macrostep"; version = "20160119.434"; src = fetchFromGitHub { - owner = "capitaomorte"; + owner = "joaotavora"; repo = "sly-macrostep"; rev = "b0830871e2bd96ed58876aed6b49f1328d78a3cb"; sha256 = "00lw6hkxs71abjyi7nhzi8j6n55jyhzsp81ycn6f2liyp4rmqgi7"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/74a0acfc6261d1c9e62ece0397f6b4d873ef5bb7/recipes/sly-macrostep"; - sha256 = "1i004mb0bg13j3zhdsjz1795dh0ry8winzvdghr1wardc9np60h7"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/4150455d424326667390f72f6edd22b274d9fa01/recipes/sly-macrostep"; + sha256 = "0gg9r5np2008593n1igq5chda1a3x1iblj0r4mqnnxa0r1hdsw3j"; name = "recipe"; }; packageRequires = [ macrostep sly ]; @@ -87569,14 +92998,14 @@ ename = "sly-named-readtables"; version = "20150817.816"; src = fetchFromGitHub { - owner = "capitaomorte"; + owner = "joaotavora"; repo = "sly-named-readtables"; rev = "f3c28a2e636bd1776b6c7dbc563ef5080bed9f5c"; sha256 = "1yw1fg1vc6l85v7d6bg16lknxpg7ns1gfw0bxyzyb698zmwzsv60"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/7e5a29c194bb7fc1a82131b7a9bd4c465660a2bd/recipes/sly-named-readtables"; - sha256 = "11ymzbj1ji7avfjqafj9p5zx0m4y1jfjcmyanpjq1frdcz639ir9"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/4150455d424326667390f72f6edd22b274d9fa01/recipes/sly-named-readtables"; + sha256 = "0wy0z9m8632qlcxb4pw3csc52yaq7dj7gdf3pbg0wb67f32ihihz"; name = "recipe"; }; packageRequires = [ sly ]; @@ -87595,14 +93024,14 @@ ename = "sly-quicklisp"; version = "20170112.135"; src = fetchFromGitHub { - owner = "capitaomorte"; + owner = "joaotavora"; repo = "sly-quicklisp"; rev = "8a9e3c0c07c6861ec33b338cc46ac12e7ce6a477"; sha256 = "17xx79s2nx8prmg0xhfs9i8sdprbysaajc8k4131lnahj65v159l"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/330d04e4e79eee221bcffb8be3e46e097306b175/recipes/sly-quicklisp"; - sha256 = "1hpcz84g9c6g0x8qal02xgjj02gxqz3bysyz0l59jxiga0m634v8"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/4150455d424326667390f72f6edd22b274d9fa01/recipes/sly-quicklisp"; + sha256 = "0j0qkvs2v563dz2rd70dfmd0qpdwicymx59zv3gn57z5a8m14866"; name = "recipe"; }; packageRequires = [ sly ]; @@ -87848,12 +93277,12 @@ melpaBuild { pname = "smart-jump"; ename = "smart-jump"; - version = "20180709.2205"; + version = "20190216.1206"; src = fetchFromGitHub { owner = "jojojames"; repo = "smart-jump"; - rev = "1b216416a977dc94a6f3b5e40adde7b502d97c2f"; - sha256 = "1rrd4x2pcy473gbha2dysawzqywlfp8yhl6xq6z8s2ggp9c825dn"; + rev = "f8f98f1c032352f5d8d465a45b3b5b49cd9247d6"; + sha256 = "00v6a04ywxvikfwwgf85hr4p77xlm7shyai558ww3vf2gyhw1ily"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/52f29e14e61b28cd1637ca5d6bd878d91a71251f/recipes/smart-jump"; @@ -87875,14 +93304,14 @@ ename = "smart-mark"; version = "20150911.1910"; src = fetchFromGitHub { - owner = "cheunghy"; + owner = "zhangkaiyulw"; repo = "smart-mark"; rev = "d179cdc3f53001a5ce99d5095f493cdf3a792567"; sha256 = "0kd3rh6idlaqand9i6sc44s1iahg5jdhqs9jpvivxlycj6z9p7m8"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/7a0a35a06aedbfe6f66d9d8498d325540367d3ea/recipes/smart-mark"; - sha256 = "1vv65sa0pwl407mbxcp653kycgx8jz87n6wshias1dp9lv21pj6v"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/smart-mark"; + sha256 = "0kx34983qqxkx2afql1daj155294dkbinw861lhx537614fq7wmn"; name = "recipe"; }; packageRequires = []; @@ -87900,12 +93329,12 @@ melpaBuild { pname = "smart-mode-line"; ename = "smart-mode-line"; - version = "20180422.1459"; + version = "20190327.1241"; src = fetchFromGitHub { owner = "Malabarba"; repo = "smart-mode-line"; - rev = "96e7ea0caba37fec485ea8b683afb4aed46d1d24"; - sha256 = "0rrb1mgnj1hw92hl0m9ybvilrd070n6a44lb6jj42hk8ybb0cxh2"; + rev = "268319aafee710ce8916c8612a5a8dcdce55fc1b"; + sha256 = "0j1m5xms3jgkd19baqnsyx2dzrc85c17nx49d1wklicn17kkawyb"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1e6aed365c42987d64d0cd9a8a6178339b1b39e8/recipes/smart-mode-line"; @@ -87918,6 +93347,33 @@ license = lib.licenses.free; }; }) {}; + smart-mode-line-atom-one-dark-theme = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , smart-mode-line }: + melpaBuild { + pname = "smart-mode-line-atom-one-dark-theme"; + ename = "smart-mode-line-atom-one-dark-theme"; + version = "20181220.956"; + src = fetchFromGitHub { + owner = "daviderestivo"; + repo = "smart-mode-line-atom-one-dark-theme"; + rev = "79261aeafa89664039201e3d3f405bc8b0a6aa8d"; + sha256 = "06x1na621cm7183im2g2gxkvaqm0yfr9b9i0fbz9bwkcmijxrgmw"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/0a6f3addec8d8fa957bfbc81071d3a434e843cf0/recipes/smart-mode-line-atom-one-dark-theme"; + sha256 = "02hasm2vjvw3r9xkdnn2ddsval8vvhvx15dsac0jp3cc1y1qkm27"; + name = "recipe"; + }; + packageRequires = [ emacs smart-mode-line ]; + meta = { + homepage = "https://melpa.org/#/smart-mode-line-atom-one-dark-theme"; + license = lib.licenses.free; + }; + }) {}; smart-mode-line-powerline-theme = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -88136,12 +93592,12 @@ melpaBuild { pname = "smartparens"; ename = "smartparens"; - version = "20180717.335"; + version = "20190128.947"; src = fetchFromGitHub { owner = "Fuco1"; repo = "smartparens"; - rev = "34b53320f4ac41a60d641c5363cd5e02db37089e"; - sha256 = "1yv31wzf7wzkqpvmr3rdiphg4h7224bjfv5pr17gmgzjv9hlq3k2"; + rev = "4d1571019080fec63b11474db32380b5fa4eb418"; + sha256 = "0r9lf7vsaw8z1dydi850azha1ig1ldid8yn6zx1da2fvfpgyly7v"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/bd98f85461ef7134502d4f2aa8ce1bc764f3bda3/recipes/smartparens"; @@ -88542,12 +93998,12 @@ melpaBuild { pname = "snakemake-mode"; ename = "snakemake-mode"; - version = "20180519.1739"; + version = "20181007.1950"; src = fetchFromGitHub { owner = "kyleam"; repo = "snakemake-mode"; - rev = "8bc919296755ce58f52fd800ee21863c7aefb430"; - sha256 = "1zdiy0w95f9wm27czwjzxqyb5v16q61l1q8xrahh471x9pij632s"; + rev = "0cadd2bbd20aae1555561e81ed72fec43ec7296e"; + sha256 = "1i4cwdyhfyawfx07i63iqdx524mlphgbrl44wqqnnxrbdqm0h534"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c3a5b51fee1c9e6ce7e21555faa355d118d34b8d/recipes/snakemake-mode"; @@ -88806,12 +94262,12 @@ melpaBuild { pname = "solaire-mode"; ename = "solaire-mode"; - version = "20180521.235"; + version = "20190312.2257"; src = fetchFromGitHub { owner = "hlissner"; repo = "emacs-solaire-mode"; - rev = "abf2ce4da77d0877efb4a035687390ce921eda4f"; - sha256 = "15wszz841vd9i59gq2xxh8rk7bh7agwglh2dwhxgs70m24hsp3p4"; + rev = "d648ad7c06554c14077335b631410df989536e97"; + sha256 = "0ajwf4ymqpskxjmd2fnr5g66wdncq1rsiv50yk3z0zxls6jap7d6"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/52c69070eef3003eb53e1436c538779c74670ce6/recipes/solaire-mode"; @@ -88834,12 +94290,12 @@ melpaBuild { pname = "solarized-theme"; ename = "solarized-theme"; - version = "20180621.1407"; + version = "20190219.1751"; src = fetchFromGitHub { owner = "bbatsov"; repo = "solarized-emacs"; - rev = "f829e99dd1508a1cdaf9146511012a33b0d4f68b"; - sha256 = "1a83qsz41v208iasqwfnblgzhgjjwg1lkc0vgxndvq1kk2sj18dg"; + rev = "74c6b5acd6892faeafd08029898663d81ab0a4d5"; + sha256 = "03pkc5bads459sx5a562ikpf5a6py0iqv7lihva7rqa8dj43jx0h"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/solarized-theme"; @@ -88852,6 +94308,33 @@ license = lib.licenses.free; }; }) {}; + solidity-flycheck = callPackage ({ fetchFromGitHub + , fetchurl + , flycheck + , lib + , melpaBuild + , solidity-mode }: + melpaBuild { + pname = "solidity-flycheck"; + ename = "solidity-flycheck"; + version = "20181117.718"; + src = fetchFromGitHub { + owner = "ethereum"; + repo = "emacs-solidity"; + rev = "d6c48a1cb64d3c8a825dc0d06c839f2cacd4d289"; + sha256 = "14v71xf3z60s1fhpsz8b3l1v4na2ds0ddcp41y412fnrg4scbrhr"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/e561d869f4e32bad5d1a8678f67e591ff586d6de/recipes/solidity-flycheck"; + sha256 = "1lx64y77q33a2lrg5sj5h56gicw1lk8qmxmva5bgc4zxxd8qwz6f"; + name = "recipe"; + }; + packageRequires = [ flycheck solidity-mode ]; + meta = { + homepage = "https://melpa.org/#/solidity-flycheck"; + license = lib.licenses.free; + }; + }) {}; solidity-mode = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -88859,16 +94342,16 @@ melpaBuild { pname = "solidity-mode"; ename = "solidity-mode"; - version = "20180721.1614"; + version = "20190302.109"; src = fetchFromGitHub { owner = "ethereum"; repo = "emacs-solidity"; - rev = "d89dae03c9c6cb86f4e935081cb828c6c5c62830"; - sha256 = "11n3z0ibgsw16r34ba8i6fl43b1hx4q7b6v6g12kmfpss86dvv1d"; + rev = "47f15b2663a6cf92ae6ebf655841a9509ad79017"; + sha256 = "0zhr5fcv8vlkcnya36y9smpgw7ylb0fkx0px8zr0zhr2f9xgjmph"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/bb9df5ec0692352b6494d435d11166f4ea26c99e/recipes/solidity-mode"; - sha256 = "1qdzdivrf5yaa80p61b9r1gryw112v5l2m2jkvkc7glhkhrcvwsx"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/02d3fdae111b14a87aaa7a1b3f44e545c5e3d2ac/recipes/solidity-mode"; + sha256 = "15vz3ayl1p3dn2cavm68rqv901c1b7dxm2j8iazwzj3q15ln8xvn"; name = "recipe"; }; packageRequires = []; @@ -88968,14 +94451,14 @@ ename = "sos"; version = "20141214.2003"; src = fetchFromGitHub { - owner = "omouse"; + owner = "rudolfolah"; repo = "emacs-sos"; rev = "2469bf1d7c47a55b0ffa8a6ceef0bb21252b3c3a"; sha256 = "0zhz1j389jmfcxmzvp3gj2bkg996nk1mcf0sxw04wbyivh38hnql"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/36e02223b4ff9c0be4662991d734ca4a4e756f4b/recipes/sos"; - sha256 = "1gkd0plx7152s3dj8a9lwlwh8bgs1m006s80l10agclx6aay8rvb"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/sos"; + sha256 = "0d0n2h7lbif32qgz0z2c36536mrx36d22gq86xm7kmxday6iy19k"; name = "recipe"; }; packageRequires = [ org ]; @@ -89021,12 +94504,12 @@ melpaBuild { pname = "sotlisp"; ename = "sotlisp"; - version = "20180706.1049"; + version = "20190211.1226"; src = fetchFromGitHub { owner = "Malabarba"; repo = "speed-of-thought-lisp"; - rev = "cc5730c0803a6e0f18e22d6027784b915d304318"; - sha256 = "1s1l2lscjnv8f60ncynv82xrqg5npj1m77z28fxlx53calj6k0qk"; + rev = "ed2356a325c7a4a88ec1bd31381c8666e8997e97"; + sha256 = "1r7skjxiaqdkrhjrxh1sgzikip9sdr8apphgawvq4x6lir8g8jfz"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1e6aed365c42987d64d0cd9a8a6178339b1b39e8/recipes/sotlisp"; @@ -89048,12 +94531,12 @@ melpaBuild { pname = "sound-wav"; ename = "sound-wav"; - version = "20160725.724"; + version = "20181126.926"; src = fetchFromGitHub { owner = "syohex"; repo = "emacs-sound-wav"; - rev = "406868043761524118c27b1207be0f8bbda8798e"; - sha256 = "1vwszcxknkjq4q32vb4dab4rlyd7w0l3pl5rpl08haczmr2frl4d"; + rev = "49a9f10334b914cf6429e49b5449e0711a3aa251"; + sha256 = "1zg32gn0r06qcp6i5fxwns8xv5nqpc6hfzqajwj0hfvhkqdndv4j"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8333470e3d84d5433be489a23e065c876bed2ab2/recipes/sound-wav"; @@ -89280,12 +94763,12 @@ melpaBuild { pname = "spaceline"; ename = "spaceline"; - version = "20180628.46"; + version = "20181223.1224"; src = fetchFromGitHub { owner = "TheBB"; repo = "spaceline"; - rev = "29ced71ed0097cd5eba15d6bfdbafd9d18f5bd82"; - sha256 = "1l929zlma30h4b3bkldzn0pp5wps4ws0pylzw141nj0l3r7b3lcg"; + rev = "ae45a819ea7ae52febb4d7d82170af44dff10f19"; + sha256 = "01dyi0s8yilkgs0ifi489004195l4zrm9dqbybip4136l9zmlini"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/46e4c876aeeb0bb0d0e81dcbb8363a5db9c3ff61/recipes/spaceline"; @@ -89309,12 +94792,12 @@ melpaBuild { pname = "spaceline-all-the-icons"; ename = "spaceline-all-the-icons"; - version = "20170829.120"; + version = "20190325.902"; src = fetchFromGitHub { owner = "domtronn"; repo = "spaceline-all-the-icons.el"; - rev = "e2e195f64a541d72b6d0ba0451f1e3072234b820"; - sha256 = "0lrf62gsss19z2ca4hg5c08b3nbkqaa33fqrbfa126v2c98bj583"; + rev = "5afd48c10f1bd42d9b9648c5e64596b72f3e9042"; + sha256 = "1chv6lv216qa88fm2wil45x19dzahcclr9p5vizcziq180dnmass"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d039e057c1d441592da8f54e6d524b395b030375/recipes/spaceline-all-the-icons"; @@ -89334,12 +94817,12 @@ melpaBuild { pname = "spacemacs-theme"; ename = "spacemacs-theme"; - version = "20180618.1129"; + version = "20190116.1307"; src = fetchFromGitHub { owner = "nashamri"; repo = "spacemacs-theme"; - rev = "af8a6093cd729c158da0532a8345612956553c8b"; - sha256 = "0890cdqacm2zri0mj9fdyyd5zplvl2p4gl499073qk076840l21f"; + rev = "3eae3726faf39aa2a9e4c919a657f335282fefb7"; + sha256 = "0csj0mygv3mlvlxi600i5pkxjirqg58fa7rsh205733iyqxpff93"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6c8ac39214856c1598beca0bd609e011b562346f/recipes/spacemacs-theme"; @@ -89489,12 +94972,12 @@ melpaBuild { pname = "speechd-el"; ename = "speechd-el"; - version = "20180105.1217"; + version = "20190103.1226"; src = fetchFromGitHub { owner = "brailcom"; repo = "speechd-el"; - rev = "0b25d3eb7ae219d2af9a7e9df2f3334652156bf5"; - sha256 = "00b2851pgrzvcl828l48gxrmy779w8s1k4ngf8pf0sh1y9bd2715"; + rev = "d97b5d5abb9d51da6e96c0f55ba7e50cb12aaa2e"; + sha256 = "1adx34fi8v6mxvnvlw1gf6baadp3si2wwi71kcvqz1cqcf0fk4p7"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/96669a664122c2fb69acd4cad2d7bf75d3e8272d/recipes/speechd-el"; @@ -89516,12 +94999,12 @@ melpaBuild { pname = "speed-type"; ename = "speed-type"; - version = "20171230.847"; + version = "20190227.2200"; src = fetchFromGitHub { owner = "parkouss"; repo = "speed-type"; - rev = "7a67fcd7bf825eee890097bd4a1b3c4f531a1135"; - sha256 = "0nlmqgf4rg5qmkhpsal7j18wr5h74971k6d0wzw7rmjmpnjqhzvc"; + rev = "d905b79ba3c80c556562ce18a96760202826eedc"; + sha256 = "1pwi9f7iv604cv91j05r77bac2g17daya621g11lmfk1w09k35d5"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d6c33b5bd15875baea0fd2f24ee8ec9414a6f7aa/recipes/speed-type"; @@ -89681,14 +95164,14 @@ ename = "spiral"; version = "20180223.340"; src = fetchFromGitHub { - owner = "unrepl"; + owner = "Unrepl"; repo = "spiral"; rev = "907b9792467139a942ba7b07ca0276b90770baf9"; sha256 = "1rggzzvya26abbzd8bc2kpv59kzgm75wqv1vwqnj9c8im1jvs1na"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/77609e10c836a26de43ddb304ecfa275e314da21/recipes/spiral"; - sha256 = "18rww2nfy5s22czabk71wqzrb53r0p2635872vr44b6kfwlb6qcw"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/spiral"; + sha256 = "074ymaksb3dgrsrdsi6xdlvigki5l2v66r8204xv50yc88z7l8qr"; name = "recipe"; }; packageRequires = [ a avy clojure-mode emacs highlight treepy ]; @@ -89756,12 +95239,12 @@ melpaBuild { pname = "spotify"; ename = "spotify"; - version = "20170302.2229"; + version = "20181030.110"; src = fetchFromGitHub { owner = "remvee"; repo = "spotify-el"; - rev = "2825b5cac8406969405096660aeab6e5fef765eb"; - sha256 = "1270c4l7dxxsnzkifwa0ncgv078da9pzhlyxpdfbdbsj8w70plzm"; + rev = "29577cf1188161f98b8358c149aaf47b2c137902"; + sha256 = "0h6yhfvvyd9sd5d37d3ng3z56zfb546vl95qjq16kcvxq00hdn1v"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/spotify"; @@ -89992,12 +95475,12 @@ melpaBuild { pname = "sql-impala"; ename = "sql-impala"; - version = "20160427.1658"; + version = "20181217.2010"; src = fetchFromGitHub { owner = "jterk"; repo = "sql-impala"; - rev = "68248e9851b153850542ed1f709298bb9ab59610"; - sha256 = "12zyw8b8s3jga560wv141gc4yvlbldvfcmpibns8wrpx2w8aivfj"; + rev = "466e7c0c789ec3e5e8a276c8f6754f91bb584c3e"; + sha256 = "02psgbm06wivdm2cmjnj2vy05lnljxn44hj2arw2fr7x2qwn9r35"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/sql-impala"; @@ -90010,6 +95493,58 @@ license = lib.licenses.free; }; }) {}; + sql-presto = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "sql-presto"; + ename = "sql-presto"; + version = "20190113.942"; + src = fetchFromGitHub { + owner = "kat-co"; + repo = "sql-prestodb"; + rev = "bcda455e300a1af75c7bb805882329bc844703b2"; + sha256 = "00whmsylr802fx87yqbr06rbymyln7kq7750pcz26xm1jgja7cax"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/a21349775e018822a06bca3c3c338879548e286f/recipes/sql-presto"; + sha256 = "1rjfgvwgl63xn047vmsmj1s31wvrd24v6ibf9nri6qmffhv9i9zb"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/sql-presto"; + license = lib.licenses.free; + }; + }) {}; + sqlformat = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , reformatter }: + melpaBuild { + pname = "sqlformat"; + ename = "sqlformat"; + version = "20190113.1750"; + src = fetchFromGitHub { + owner = "purcell"; + repo = "sqlformat"; + rev = "e9f5446f5a11304cfd1315d499838016752410c5"; + sha256 = "1wj9ls0858wxc9vrkzgs46j45gm0s7f4yhsaki64dm44l02l5xsy"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/6bdaa1ccae12f2ea779ac6989607d8027feac2c9/recipes/sqlformat"; + sha256 = "07lf2gx629429b41qr04gl98gplb538gb5hw7idzrmi3higrmv8m"; + name = "recipe"; + }; + packageRequires = [ emacs reformatter ]; + meta = { + homepage = "https://melpa.org/#/sqlformat"; + license = lib.licenses.free; + }; + }) {}; sqlite = callPackage ({ fetchFromGitLab , fetchurl , lib @@ -90093,12 +95628,12 @@ melpaBuild { pname = "srcery-theme"; ename = "srcery-theme"; - version = "20180623.619"; + version = "20181231.503"; src = fetchFromGitHub { owner = "srcery-colors"; repo = "srcery-emacs"; - rev = "b81c4ff3805e3857f77008982efe30f27b78e7e7"; - sha256 = "1v7qlgdalff7m943zcgyg4da692g7sk18xj6l9zpwpnbxix8iirr"; + rev = "561d83d5bbd4c1c939ad9f52863e75b969af320d"; + sha256 = "19zxc4f559s6x0qlkb181h1wpyd0mrdl08dc3fhn9h1hg1lmn11p"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2654fc05f55c7fab7d550b7db1d187edc9ff0f42/recipes/srcery-theme"; @@ -90137,6 +95672,32 @@ license = lib.licenses.free; }; }) {}; + srv = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "srv"; + ename = "srv"; + version = "20180715.1259"; + src = fetchFromGitHub { + owner = "legoscia"; + repo = "srv.el"; + rev = "b1eb7b109bc1c616dbf027429a90dc3b1a4263f1"; + sha256 = "05kp8ajbqk7vxzkv23akyk2m7yg81pbrxpl3dsw67101sjazsybi"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/6b0b7f22631e7749da484ced9192d8ae5e1be941/recipes/srv"; + sha256 = "0xrgbi63vg0msxkcmcnvijkxa9y0s7613liqac7fs9514yvkbwin"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/srv"; + license = lib.licenses.free; + }; + }) {}; ssass-mode = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -90205,8 +95766,8 @@ sha256 = "0895n7bss4wdydic1gflr03f2cwdyqywl16gvb599lpn288jhwvz"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/b9a9e4bd0205908bfb99762c7daaf3be276bb03a/recipes/ssh-agency"; - sha256 = "0lci3fhl2p9mwilvq1njzy13dkq5cp5ighymf3zs4gzm3w0ih3h8"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/e608f40d00a3b2a80a6997da00e7d04f76d8ef0d/recipes/ssh-agency"; + sha256 = "1b25fl1kk4mwsd25pg9s0lazlpmaa6s9wnfgvlqk8k65d7p7idzz"; name = "recipe"; }; packageRequires = [ dash emacs ]; @@ -90222,12 +95783,12 @@ melpaBuild { pname = "ssh-config-mode"; ename = "ssh-config-mode"; - version = "20180609.251"; + version = "20180922.251"; src = fetchFromGitHub { owner = "jhgorrell"; repo = "ssh-config-mode-el"; - rev = "5429a02b8f7431c40e4a50e5d1ac2cd2d08c6511"; - sha256 = "1fid0713f0m1pwwppwh49k5cyrr3akvksfj3g9p4lndpqgwc1rcd"; + rev = "1ec676c021269c7b9cf814cf1d12f6acdcc25588"; + sha256 = "14d9zzfks4kqfqp54qzb2m74bd0rb25sff9rx2d90b5svmvbg15p"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/750b16ee631b4c2014f2ebf767609bab4b8ee421/recipes/ssh-config-mode"; @@ -90248,12 +95809,12 @@ melpaBuild { pname = "ssh-deploy"; ename = "ssh-deploy"; - version = "20180713.650"; + version = "20190208.54"; src = fetchFromGitHub { owner = "cjohansson"; repo = "emacs-ssh-deploy"; - rev = "b13ba60ea175798cfd1395ab833082789724073d"; - sha256 = "0fgcxvs2ngv65chnkb9w5rrak187xkwxiwmpc25iqvrrnrfr43s6"; + rev = "a57ae0c5906277e3a293ff1396325e26345bc475"; + sha256 = "0434c0r8ar8g4qn7isql6qivy1lf7jjdzr49gabxh8v8m1ysxy18"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/ssh-deploy"; @@ -90275,12 +95836,12 @@ melpaBuild { pname = "ssh-tunnels"; ename = "ssh-tunnels"; - version = "20180703.1327"; + version = "20181129.736"; src = fetchFromGitHub { owner = "death"; repo = "ssh-tunnels"; - rev = "a6b6ae9a5d17afa9ea39ca8c071e889deefcf8a3"; - sha256 = "01j0yvii46bd46miihkyggw1lkcr76j03wiw682ir5i1s6lli9k9"; + rev = "903bfd0d2d225c7e37fcc8c7596bd0a387384f05"; + sha256 = "0idxzza4n7cdhaw56zvz549i0ciihm74bqbq5ivsabvqg07r6qwm"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b093a3a9a836bae8ce37a21188c64e9a878066e8/recipes/ssh-tunnels"; @@ -90765,12 +96326,12 @@ melpaBuild { pname = "string-inflection"; ename = "string-inflection"; - version = "20180518.1707"; + version = "20180827.601"; src = fetchFromGitHub { owner = "akicho8"; repo = "string-inflection"; - rev = "a9de404b2ece932da9b1c9aa1c29dbf7cf506e76"; - sha256 = "1km8xxb0zc3yll1yzlsrrz14ch3inblpq2nhglwp1wskqwdhwly5"; + rev = "e9a50855a4c718592c28a5a892f164ecf46e39a8"; + sha256 = "03kvp5xrv9p46m4w25jr5nvi801yafq5vxzif42y0dav7ifmmdfp"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5c2e2b6dba8686236c2595475cfddac5fd700e60/recipes/string-inflection"; @@ -91042,12 +96603,12 @@ melpaBuild { pname = "sublimity"; ename = "sublimity"; - version = "20170820.827"; + version = "20181121.511"; src = fetchFromGitHub { owner = "zk-phi"; repo = "sublimity"; - rev = "62b0c526c599a0178a16a75f16513fc1f93a0d53"; - sha256 = "0kncjm6133a84z9rvygn5dqnwdj036sw6cf1pi595rk3f9r2ccg5"; + rev = "4c8d0280815978fc11e1c5f86266a11c717b0c89"; + sha256 = "1618ba3m36crh2wmmisi3ls5ijdqrwr58yda810jik0b6fjzzacv"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c1e78cd1e5366a9b6d04237e9bf6a7e73424be52/recipes/sublimity"; @@ -91094,12 +96655,12 @@ melpaBuild { pname = "sudo-edit"; ename = "sudo-edit"; - version = "20180608.911"; + version = "20180731.1208"; src = fetchFromGitHub { owner = "nflath"; repo = "sudo-edit"; - rev = "185edd69729b2adc8dccd015266636dae2df83d3"; - sha256 = "1rffxd2jjz40hjlsv7fh49pa24sym387d98sckkr95g3m9y1blvp"; + rev = "cc3d478937b1accd38742bfceba92af02ee9357d"; + sha256 = "1qv58x5j5a3v1s2ylhck1ykbfclq0mbi0gsvaql3nyv8cxazqlwl"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3b08d4bbdb23b988db5ed7cb5a2a925b7c2e242e/recipes/sudo-edit"; @@ -91176,12 +96737,12 @@ melpaBuild { pname = "suggest"; ename = "suggest"; - version = "20180722.350"; + version = "20180916.1159"; src = fetchFromGitHub { owner = "Wilfred"; repo = "suggest.el"; - rev = "06784aba76d2681456871bd79304b62b4957b411"; - sha256 = "0qi4slfdx0x9z2rzd2ibcl2zjqcrxvnh672l5xkyhjh873f16xar"; + rev = "58ea3b20544410b90ca3286cbda3d71c823c3bf9"; + sha256 = "00xbr3fbdjbmvy9nswzqxliavarqkgfa5ms6irfnbpng1ypmcvgf"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b9fd27e812549587dc2ec26bb58974177ff263ff/recipes/suggest"; @@ -91237,8 +96798,8 @@ sha256 = "18qfcrr4xlwwhhaq7dwh31bbl84a53akgrw2c6lynnyyi4vk2wpq"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/bfd68b90234222dbf5907a29d506b6c4e61a372b/recipes/sunburn-theme"; - sha256 = "09shmaaii0lfd52v49cazn91sj4jz2siqbanw682vi7zsl79jx9f"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/e608f40d00a3b2a80a6997da00e7d04f76d8ef0d/recipes/sunburn-theme"; + sha256 = "07nz7vr0yzf5746d8khlzl6ghaj44yfp0ar9ylbpdpfj7rdx17sa"; name = "recipe"; }; packageRequires = [ emacs ]; @@ -91280,12 +96841,12 @@ melpaBuild { pname = "sunshine"; ename = "sunshine"; - version = "20180325.548"; + version = "20181029.954"; src = fetchFromGitHub { owner = "aaronbieber"; repo = "sunshine.el"; - rev = "ecaccac91010f8d464646a0360b1676be71e6600"; - sha256 = "0n9ppy22ijc2cgs5xix8nks7abn0shvh0v0f2ir1j7v1ckjsklc5"; + rev = "8959dea03377e61aaca0124ac8d2703daaae6b9a"; + sha256 = "1shzhl5bi5dkmvc07mc7sknm5id89iivjkcxsrdcw004g08hr8y0"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4a0ff9a4ef4bbe8de722a4f77f4a56a851497ff1/recipes/sunshine"; @@ -91305,12 +96866,12 @@ melpaBuild { pname = "suomalainen-kalenteri"; ename = "suomalainen-kalenteri"; - version = "20170801.126"; + version = "20190310.110"; src = fetchFromGitHub { owner = "tlikonen"; repo = "suomalainen-kalenteri"; - rev = "c702e33cb6e13cb28bd761844e95be112a3c04f3"; - sha256 = "13avc3ba6vhysmhrcxfpkamggfpal479gn7k9n7509dpwp06dv8h"; + rev = "c8c03fe9bae57d4e15c287aef4f98911a3529240"; + sha256 = "1n4nz309rr1cpx1c5aighakpcmrbzzg2xprh5hi4kln0rngggycp"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/181adf1b16253481674663fd28b195172231b7da/recipes/suomalainen-kalenteri"; @@ -91331,12 +96892,12 @@ melpaBuild { pname = "super-save"; ename = "super-save"; - version = "20171008.3"; + version = "20180929.27"; src = fetchFromGitHub { owner = "bbatsov"; repo = "super-save"; - rev = "1c8fbd5e18277e4af0ada2678a854b1c9072db38"; - sha256 = "0mh7xp71l9xybbv17b1rsbpa60bwjw79ql9krj1kzy2c2pv9hmff"; + rev = "62512f60d6685d8601e2021d95e77603b6d96885"; + sha256 = "0cn39d1qfm119bxb9sdl43ya2vvadfp22qwdn3j843wyf92hpdn4"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9730b65787b26d3909952cf246a01bd349e5fbab/recipes/super-save"; @@ -91512,12 +97073,12 @@ melpaBuild { pname = "swap-regions"; ename = "swap-regions"; - version = "20180116.253"; + version = "20180915.646"; src = fetchFromGitHub { owner = "xuchunyang"; repo = "swap-regions.el"; - rev = "6e7a1bc68f11afe00809c8e27c13bca08393a91c"; - sha256 = "02z552qsc96big3davdj3yaz6f4fg72ljpn7nvzccp2wwchzfa1c"; + rev = "f4fd9880cf690e003fcde88dcf2b46adbbbb03cd"; + sha256 = "1d45yanqk4w0idqwkrwig1dl22wr820k11r3gynv7an643k4wngp"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6805c7710618ed1178ffd3488295d4d6b33e8ebe/recipes/swap-regions"; @@ -91568,16 +97129,16 @@ melpaBuild { pname = "swift-mode"; ename = "swift-mode"; - version = "20180721.35"; + version = "20190205.32"; src = fetchFromGitHub { - owner = "chrisbarrett"; + owner = "swift-emacs"; repo = "swift-mode"; - rev = "d2f2f1da6085c6fad2709b951d6891dd139a6080"; - sha256 = "1ldf593qzbscwlngbabxb52kcpriwhglk95l82qs8y3q1x6aj0cw"; + rev = "13628495bdb2dcf30eea04412e1d3e3c80b8e999"; + sha256 = "1rl2rh1mzy7ig5wsd63lk3plrw7ivf2gir6w0ls2k0n2qxav3qb1"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/19cb133191cd6f9623e99e958d360113595e756a/recipes/swift-mode"; - sha256 = "1imr53f8agfza9zxs1h1mwyhg7yaywqqffd1lsvm1m84nvxvri2d"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/swift-mode"; + sha256 = "103nix9k2agxgfpwyhsracixl4xvzqlgidd25r1fpj679hr42bg8"; name = "recipe"; }; packageRequires = [ emacs seq ]; @@ -91621,12 +97182,12 @@ melpaBuild { pname = "swiper"; ename = "swiper"; - version = "20180713.946"; + version = "20190407.1029"; src = fetchFromGitHub { owner = "abo-abo"; repo = "swiper"; - rev = "93d51d6188956da2592c1458b68d7cef48d967ae"; - sha256 = "024kj37xa4s49z8klcmn3a30zy3yzk5n9j9damzqmzd4d8klawi6"; + rev = "11b00073cb348aedf1d648a991bab71e20178268"; + sha256 = "1pylfgjrgcapya3dmivcaq5vnqx6h8lrq3xnx7sq11sw5fn6sw0n"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e64cad81615ef3ec34fab1f438b0c55134833c97/recipes/swiper"; @@ -91700,12 +97261,12 @@ melpaBuild { pname = "switch-window"; ename = "switch-window"; - version = "20180623.1115"; + version = "20181103.2040"; src = fetchFromGitHub { owner = "dimitri"; repo = "switch-window"; - rev = "a5dc9a9c68ba77d86d7170f183ba1e003569ad8e"; - sha256 = "0466lk1spk6bl1fnc0v7gwr71msccc25a3j7jzd7h0zssc2l403c"; + rev = "204f9fc1a39868a2d16ab9370a142c8c9c7a0943"; + sha256 = "0rci96asgamr6qp6nkyr5vwrnslswjxcjd96yccy4aivh0g66yfg"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7d2204e3b53ade1e400e143ac219f3c7ab63a1e9/recipes/switch-window"; @@ -91784,12 +97345,12 @@ melpaBuild { pname = "sx"; ename = "sx"; - version = "20180606.36"; + version = "20190114.723"; src = fetchFromGitHub { owner = "vermiculus"; repo = "sx.el"; - rev = "46d9498e8f501697920c79437909cdddc93d5ec6"; - sha256 = "0z21f2v8464bj0jj6y9w7b5hpz1m2r761hanc4b802k8bxb8mxh0"; + rev = "49358eae36dd4bb5b9207313b30df085e7f25cef"; + sha256 = "08x2bli821b47sp1jwgg8k8q292z4ryl052rfna0vkcjqv6l5bav"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f16958a09820233fbe2abe403561fd9a012d0046/recipes/sx"; @@ -91810,12 +97371,12 @@ melpaBuild { pname = "symbol-overlay"; ename = "symbol-overlay"; - version = "20180412.339"; + version = "20190305.843"; src = fetchFromGitHub { owner = "wolray"; repo = "symbol-overlay"; - rev = "b76f510037eb8e0ea018272495f356c71ff5b758"; - sha256 = "0dlb7rm4adm2ccqga5a1w6m2jvs4ics9ihf76hqyx4px9m9ca1ll"; + rev = "88c3ed02a06bea87ab7e41918b39e07bb3fc255b"; + sha256 = "0yr2n6vld3shlcsmfvwgkrnw0zxry0bfkzd8y1ylfr826qll2cmv"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c2a468ebe1a3e5a35ef40c59a62befbf8960bd7b/recipes/symbol-overlay"; @@ -91994,12 +97555,12 @@ melpaBuild { pname = "synosaurus"; ename = "synosaurus"; - version = "20180125.1034"; + version = "20190305.1406"; src = fetchFromGitHub { owner = "hpdeifel"; repo = "synosaurus"; - rev = "ceeb06e24d3af3643862ecfdb263590eec1f492f"; - sha256 = "1qdppyx24zmz9dzm9kjvcx30g6znik602mg2h2s835cww9n97idm"; + rev = "bc26f5c22b4d08dd09d0852435814977433c9521"; + sha256 = "0hpcnslgs5qh3knapw1x7imia3b1yplicpddnzzpxnjsp7psypwh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/synosaurus"; @@ -92048,12 +97609,12 @@ melpaBuild { pname = "syntactic-close"; ename = "syntactic-close"; - version = "20180722.935"; + version = "20181026.931"; src = fetchFromGitHub { owner = "emacs-berlin"; repo = "syntactic-close"; - rev = "128d5bf059512a55c77cac0e96a7775f38184139"; - sha256 = "0l9hklj39p6rsl2dcw6pka39glkp6qvyccqdy7qcnwxmffy204m6"; + rev = "426975d73c474eb4e6a0af20f34455aac6e89610"; + sha256 = "1gyhz4mzd5gcfy9mx65aym8abz4wfdgy229aj1ng1c0j32fjk9rm"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f2c15c0c8ee37a1de042a974c6daddbfa7f33f1d/recipes/syntactic-close"; @@ -92123,12 +97684,12 @@ melpaBuild { pname = "system-packages"; ename = "system-packages"; - version = "20180516.1450"; + version = "20181219.821"; src = fetchFromGitLab { owner = "jabranham"; repo = "system-packages"; - rev = "7f59e325e8607aeb3036c7fb1590b0f8e2caa063"; - sha256 = "0k7jflghql0sa7my1qfzz0prpwk54rmb244k6jwhbgsyfsspr12l"; + rev = "25da03bab9757009d095dc1ef3e93d8b1ef2d7c4"; + sha256 = "1qy9617dfcnaaa2ppw90chl7x4mkdm47j1ayis9s266gcphd14rk"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7d3c7af03e0bca3f834c32827cbcca29e29ef4db/recipes/system-packages"; @@ -92280,14 +97841,14 @@ ename = "tab-jump-out"; version = "20151005.1830"; src = fetchFromGitHub { - owner = "cheunghy"; + owner = "zhangkaiyulw"; repo = "tab-jump-out"; rev = "1c3fec1826d2891177ea78e4e7cce1dc67e83e51"; sha256 = "0h7sfbca1nzcjylwl7zp25yj6wxnlx8g8a50zc6sg6jg4rggi2fm"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/3691aaaed27d0cf67af417f75fbb693ab856bd47/recipes/tab-jump-out"; - sha256 = "0nlbyzym8l8g9w2xvykpcl5r449v30gal2k1dnz74rq4y8w4rh7n"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/tab-jump-out"; + sha256 = "1p2hkj0d9hbiwbf746l3rad8a5x6hk97b0ajl6q6cwbmy2qm3cca"; name = "recipe"; }; packageRequires = [ dash emacs ]; @@ -92303,12 +97864,12 @@ melpaBuild { pname = "tabbar"; ename = "tabbar"; - version = "20160524.1401"; + version = "20180726.1035"; src = fetchFromGitHub { owner = "dholm"; repo = "tabbar"; - rev = "b6c285a7d59dcdb1f17716f0b60787922fa4be82"; - sha256 = "1akvwm4dqq4ihphlsdn8d1mm08q923y2iqh15lvc0cd0hxp3ni0q"; + rev = "82bbda31cbe8ef367dd6501c3aa14b7f2c835910"; + sha256 = "01sw76wp8bvh21h30pkc3kjr98c8m6qid6misk1y7hkyld0bzxay"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/806420d75561cbeffbc1b387345a56c21cc20179/recipes/tabbar"; @@ -92358,12 +97919,12 @@ melpaBuild { pname = "tablist"; ename = "tablist"; - version = "20170219.1935"; + version = "20190129.1013"; src = fetchFromGitHub { owner = "politza"; repo = "tablist"; - rev = "c834a84efb6efa32497efe1e73160fade741b836"; - sha256 = "0nkrndgg0zrqxb7hilqbrywi8n1lcf3jxjjp1hfn5f0arxy64pcv"; + rev = "af8703139d80be54b6c3077dd3e54ca7f3087043"; + sha256 = "15gnwainawzaidhclfqa2pyp6hgh172xxx127hvq6fabc1zm4ykg"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5fc0c6c02d609fb22710560337bd577f4b1e0c8f/recipes/tablist"; @@ -92537,12 +98098,12 @@ melpaBuild { pname = "tao-theme"; ename = "tao-theme"; - version = "20171221.1001"; + version = "20190204.304"; src = fetchFromGitHub { owner = "11111000000"; repo = "tao-theme-emacs"; - rev = "a97df8c51d77696787aaf55c67207f19c803fabe"; - sha256 = "1djp4gbs6gr956a5hpkwh5laasc7pypqip32l7djd7405vx5ixp2"; + rev = "c5107fbe7e752f4e58c2d2147ff18a1ebb12937c"; + sha256 = "07vvlglmkj87hpxz79s3bl2cjn71vain57fdxs7j9vlr5jkchxwn"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/94b70f11655944080507744fd06464607727ecef/recipes/tao-theme"; @@ -92562,12 +98123,12 @@ melpaBuild { pname = "taskpaper-mode"; ename = "taskpaper-mode"; - version = "20180710.158"; + version = "20190225.703"; src = fetchFromGitHub { owner = "saf-dmitry"; repo = "taskpaper-mode"; - rev = "e822c44ebc5b15750ba68af67417ea5fe67641c0"; - sha256 = "08ilrykg9ggksxwrkns0jkbjjvpzxb5w1l2s2krxnf4nj5d9x3qb"; + rev = "4b15b0f473a42ff40742cd790d06a08452276bef"; + sha256 = "1visq29mg5a0czx4bgq7jzqk4xbqbdhsxv85n4cji8h8rzagn21c"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f969b1cd58dfd22041a8a2b116db0f48e321e546/recipes/taskpaper-mode"; @@ -92670,17 +98231,18 @@ , melpaBuild }: melpaBuild { pname = "tc"; - version = "20150113.1926"; + ename = "tc"; + version = "20181108.2028"; src = fetchFromGitHub { - owner = "kozo2"; + owner = "kanchoku"; repo = "tc"; - rev = "6aa9d27c475be8d009adf9cd417f2cdf348a91e8"; - sha256 = "1xpkrlfqb0np9zyxk41f3pxfkw98ii4q0xh8whq4llv5bmfxynzk"; + rev = "5496f8dee27c4d925977da3cca6fcacf9b45bc58"; + sha256 = "1clf56sxvrky05qzk5kri01r0jz4zfwysxzs3iix0aljrz8mdi8w"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/55fa57c74237ec7afe651d162228fae595579fe5/recipes/tc"; - sha256 = "13qdnfslnik4f97lz9bxayyhgcp1knh5gaqy00ps863j3vpzjb9s"; - name = "tc"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/9fddfc79ed2c614c33e90ba80f300912fdab88a3/recipes/tc"; + sha256 = "05lnsaizlh4wqjkp0wqcm1756r9ia46as8zf01k8qsi0mm452g6q"; + name = "recipe"; }; packageRequires = []; meta = { @@ -92697,12 +98259,12 @@ melpaBuild { pname = "tco"; ename = "tco"; - version = "20160810.1712"; + version = "20190308.1655"; src = fetchFromGitHub { owner = "Wilfred"; repo = "tco.el"; - rev = "5d3498c5f44d3a44c9aabbba71b590f6a2f85145"; - sha256 = "0vzixcp6anxdxchafj7lzs4pxfnzkqhqlyz05dxasby71zx7g49v"; + rev = "482db5313f090b17ed22ccd856f0e141dc75afe6"; + sha256 = "1z7xkbrqznk6ni687qqknp8labcyhl8y6576hjfri89fn21385y9"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ca33f97f0394585c8ccb31cab0ee776d1655907c/recipes/tco"; @@ -92765,6 +98327,32 @@ license = lib.licenses.free; }; }) {}; + teacode-expand = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "teacode-expand"; + ename = "teacode-expand"; + version = "20181230.2240"; + src = fetchFromGitHub { + owner = "raguay"; + repo = "TeaCode-Expand"; + rev = "7df6f9ec95da1fb47bbae489bb3f2c27ed3a9b3a"; + sha256 = "0z0297zrvd8zf8bmf4kf9gzf6qajs4abdy6appb3swz3z2v3nqkb"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/8b23b0f701627ed18886f29ffd33ef7fb1f82e04/recipes/teacode-expand"; + sha256 = "1hkh7mzzwrk7a8ihss7kyncw9mkwr4iw06gv5y6kg806qc4f1nn3"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/teacode-expand"; + license = lib.licenses.free; + }; + }) {}; telepathy = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -92801,12 +98389,12 @@ melpaBuild { pname = "telephone-line"; ename = "telephone-line"; - version = "20180601.1943"; + version = "20190127.723"; src = fetchFromGitHub { owner = "dbordak"; repo = "telephone-line"; - rev = "1cc28a7811245e6f24234b36fc1004a1357a3df3"; - sha256 = "1qjlil6xy6jacz1lhwz76n5xqx1xw2bqlnkijrka04v9gws42jaj"; + rev = "17901f39119702cb6754ae6907549c7b795fe747"; + sha256 = "05mys10x3cn39b5ddn6ic2x9kh74gwm3g478bc3gbia5x5acl11c"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9c998b70365fb0a210c3b9639db84034c7d45097/recipes/telephone-line"; @@ -92865,8 +98453,8 @@ sha256 = "155yyinh342k8fz8g4xzz0glqkxkjl6p6y2wym6p12phk7v2x3ic"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/0f89e65ce7b302a0330f0110564320c724acc254/recipes/temporary-persistent"; - sha256 = "1q141cdnwchfra6gp6fs0nlkxv6fdf8rx5ry04kcpr9a1y56z362"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/e608f40d00a3b2a80a6997da00e7d04f76d8ef0d/recipes/temporary-persistent"; + sha256 = "0afjcad97pzbrjs1v80l6c98vi5asgaxcn2rq95gz1ld7nn0a9zh"; name = "recipe"; }; packageRequires = [ dash emacs names s ]; @@ -93076,12 +98664,12 @@ melpaBuild { pname = "term-projectile"; ename = "term-projectile"; - version = "20170421.105"; + version = "20190306.2000"; src = fetchFromGitHub { owner = "IvanMalison"; repo = "term-manager"; - rev = "7180f09078f89aadb83061420ca8fd58d929b629"; - sha256 = "1d1szcdpgmkp6r9qsvk7pv0swl626d5svna2xqr3lrpgqzmsjcnk"; + rev = "fad6760e66f64661e77e952f06b2fbef1e88e4fe"; + sha256 = "0b8r4g80jw2gdpwyc63fz1cssi1iygwdcqzqvjdaawrw3v7cbxx3"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5260876280148fae28a459f07932cebb059b560e/recipes/term-projectile"; @@ -93101,12 +98689,12 @@ melpaBuild { pname = "term-run"; ename = "term-run"; - version = "20151228.105"; + version = "20190317.2055"; src = fetchFromGitHub { owner = "10sr"; repo = "term-run-el"; - rev = "54650dbbabb13cb2a6c0670ff6b24b29717a6a8b"; - sha256 = "149pl3zxg5kriydk5h6j95jyly6i23w4w4g4a99s4zi6ljiny6c6"; + rev = "72db83728c22314522bdba692b145f48711052a0"; + sha256 = "149vska920b4c18gij7jgwyr8flzlym719jxpjch8m2bvwiya0dk"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7cad6343104bfe5724e068660af79a6249010164/recipes/term-run"; @@ -93145,6 +98733,32 @@ license = lib.licenses.free; }; }) {}; + terminal-focus-reporting = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "terminal-focus-reporting"; + ename = "terminal-focus-reporting"; + version = "20180830.19"; + src = fetchFromGitHub { + owner = "veelenga"; + repo = "terminal-focus-reporting.el"; + rev = "8b84bf18f4c5f1b59a11692eb706f13c3598d9a5"; + sha256 = "0bbcl0mq62f22n2aipgzx93164x81bgybfd0x7gvsfva76qs8pc4"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/19e7149a0a2db7df7f890a2c1ad22266e97694d7/recipes/terminal-focus-reporting"; + sha256 = "0iwq0rabq0sdn4apa5ibfp912j76w7hzg3q5lbxp7fspfwwynvg2"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/terminal-focus-reporting"; + license = lib.licenses.free; + }; + }) {}; terminal-here = callPackage ({ cl-lib ? null , emacs , fetchFromGitHub @@ -93172,6 +98786,33 @@ license = lib.licenses.free; }; }) {}; + terminal-toggle = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , popwin }: + melpaBuild { + pname = "terminal-toggle"; + ename = "terminal-toggle"; + version = "20190226.710"; + src = fetchFromGitHub { + owner = "mtekman"; + repo = "terminal-toggle.el"; + rev = "f824d634aef3600cb7a8e2ddf9e8444c6607c160"; + sha256 = "150xvmr5vsydg0197m1k62mwy2810mzh1iwqj9yl9fg47fbzbg0i"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/673974fe768f88a7c67c929bb6b9b27fc028d4e2/recipes/terminal-toggle"; + sha256 = "0l1gklcgas2g0kx5q59dzhv20pki5hxv4h3rsbrwbpq5rxkxymbx"; + name = "recipe"; + }; + packageRequires = [ emacs popwin ]; + meta = { + homepage = "https://melpa.org/#/terminal-toggle"; + license = lib.licenses.free; + }; + }) {}; tern = callPackage ({ cl-lib ? null , emacs , fetchFromGitHub @@ -93182,12 +98823,12 @@ melpaBuild { pname = "tern"; ename = "tern"; - version = "20170925.1333"; + version = "20181107.2322"; src = fetchFromGitHub { owner = "ternjs"; repo = "tern"; - rev = "5c395b5d696aad5a185724f56c74a7f83349f3bd"; - sha256 = "11sp1jz0fn8gnc28qvyrmc7qxr1gn5r3vxv6gp46p7cmgg9mflri"; + rev = "40a0c74db3888b997a9115720ff91c399bb1b146"; + sha256 = "0dh0bfs0knikzn4gvjh9274yhbg3ndw46qmj4jy0kxh7gfl2lpkh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/eaecd67af24050c72c5df73c3a12e717f95d5059/recipes/tern"; @@ -93257,34 +98898,6 @@ license = lib.licenses.free; }; }) {}; - tern-django = callPackage ({ emacs - , f - , fetchFromGitHub - , fetchurl - , lib - , melpaBuild - , tern }: - melpaBuild { - pname = "tern-django"; - ename = "tern-django"; - version = "20160221.1123"; - src = fetchFromGitHub { - owner = "proofit404"; - repo = "tern-django"; - rev = "856fc98dc5e7cb4c8bc200f99150cc6187c82861"; - sha256 = "15jzqwfr1958s21qzimvv87kckqyq01bimqgawb51b6xi9ib3biv"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/e9e128a795e4949e3d4c2f01db0161a34935f635/recipes/tern-django"; - sha256 = "1pjaaffadaw8h2n7yv01ks19gw59dmh8bp8vw51hx1082r3yfvv0"; - name = "recipe"; - }; - packageRequires = [ emacs f tern ]; - meta = { - homepage = "https://melpa.org/#/tern-django"; - license = lib.licenses.free; - }; - }) {}; terraform-mode = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -93422,16 +99035,16 @@ melpaBuild { pname = "tex-smart-umlauts"; ename = "tex-smart-umlauts"; - version = "20160427.58"; + version = "20190316.1515"; src = fetchFromGitHub { - owner = "emacsorphanage"; + owner = "emacsmirror"; repo = "tex-smart-umlauts"; - rev = "5261b931443558f4252489a1e6616034848aff02"; - sha256 = "1rq1l52mgbasgwvjwpivjrfjf8l8r85wdkfpbw8213449qh9c9zh"; + rev = "f15ed781b1fb38bf3e46c481dd602c3999920b99"; + sha256 = "11ky141a33vm961jpj1spz9wxb4mfgw8drqxg2a6yk2rinkf0wcl"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/30de78c9cf83de30093a5647976eeaf552d4b2cb/recipes/tex-smart-umlauts"; - sha256 = "05q5mzl0pya682hdmjyp09hh121dc5y4d5vgqjffx3yfd5kgsy5w"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/be27e728327016b819535ef8cae10020e5a07c2e/recipes/tex-smart-umlauts"; + sha256 = "1bygl7fjm83j8lhkipczjs812837x9p3pqn8waykfbb7v05s81fr"; name = "recipe"; }; packageRequires = []; @@ -93449,12 +99062,12 @@ melpaBuild { pname = "texfrag"; ename = "texfrag"; - version = "20180318.1647"; + version = "20181001.53"; src = fetchFromGitHub { owner = "TobiasZawada"; repo = "texfrag"; - rev = "8bb74e2d38139d6497545581a3507c6f7b4fa5e2"; - sha256 = "03pqbx2mwz2lz7027da0aiyh12f2jifdfvxh0s83qshsnw6sipmk"; + rev = "87ebd2653c39abe0b02a91ab2182e6fff562f6c7"; + sha256 = "0fi9cih597g6iigrvdyfxa9cc3irsvfcbzf74fkp62ggpmqlal90"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/756649bbe2dc6233c66c3d128a8096be12231078/recipes/texfrag"; @@ -93602,12 +99215,12 @@ melpaBuild { pname = "tfsmacs"; ename = "tfsmacs"; - version = "20180629.1011"; + version = "20180911.1414"; src = fetchFromGitHub { owner = "sebasmonia"; repo = "tfsmacs"; - rev = "8eb5906aa7e1ec469f6347545afabca787b2b223"; - sha256 = "0an6hz0kd5mvcx61xhdi62zw15x6yqqx8mmm7jsd008kifrk27d4"; + rev = "13ee3f528ff616880611f563a68d921250692ef8"; + sha256 = "035avqp9m1mbffvc1xd5qvyg93vsxjsphmf394mq15gawqs33ik4"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b449d004bdb498c2a1d155671070e0745c7d7598/recipes/tfsmacs"; @@ -93653,12 +99266,12 @@ melpaBuild { pname = "theme-looper"; ename = "theme-looper"; - version = "20170425.606"; + version = "20190402.1924"; src = fetchFromGitHub { owner = "myTerminal"; repo = "theme-looper"; - rev = "5e3a3ea7ad31d4b38efa2cc08f0063b230736da9"; - sha256 = "06khrrjlhnzckr2zisdbx4pj6r8kmv7dbdzvzh74qz79x337lvzn"; + rev = "a9195e1899dcd7dd5c630d053841c1ab958f1728"; + sha256 = "1mw2w09fr4s3621q4xb1027yf268hi1lc1ypabhgrckclih81aiy"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/theme-looper"; @@ -93800,26 +99413,27 @@ license = lib.licenses.free; }; }) {}; - thrift = callPackage ({ fetchFromGitHub + thrift = callPackage ({ emacs + , fetchFromGitHub , fetchurl , lib , melpaBuild }: melpaBuild { pname = "thrift"; ename = "thrift"; - version = "20140312.1348"; + version = "20180905.350"; src = fetchFromGitHub { - owner = "apache"; - repo = "thrift"; - rev = "98bebac1520bcf1dd5392535e06a751d7b2af58e"; - sha256 = "185hrigx5q15c2jimzbklmi4z6kzigsarqwr805llsmsmg9pp3wi"; + owner = "facebook"; + repo = "fbthrift"; + rev = "a1960cc1a78ada27872913a145395f6bd45c8fd9"; + sha256 = "1az66smmfdkm4rzb8pripsb8ymyvvpncpapg69byf0hqhklln55z"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/857ab7e3a5c290265d88ebacb9685b3faee586e5/recipes/thrift"; - sha256 = "0p1hxmm7gvhyigz8aylncgqbhk6cyf75rbcqis7x552g605mhiy9"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/0dca078c0c467bc44290a922ad5627d6a34194f8/recipes/thrift"; + sha256 = "13isxx16h7rg8q5a68qmgrf3rknhfrx1qh6fb5njlznfwhrqry3y"; name = "recipe"; }; - packageRequires = []; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/thrift"; license = lib.licenses.free; @@ -93885,12 +99499,12 @@ melpaBuild { pname = "tidal"; ename = "tidal"; - version = "20180410.1245"; + version = "20190320.1458"; src = fetchFromGitHub { owner = "tidalcycles"; repo = "Tidal"; - rev = "ef658d3df0604f3dec955a150509ec1cc68fbd98"; - sha256 = "1ild1gnbcrw830b8d3byvqlmgm27609dgailmxgin6z7g1pg4r7z"; + rev = "a6eed4908c8b78f0c98b9cb8cd290814afd1252b"; + sha256 = "1hwcc713vrx5ypcxsidwp25mvcg24bk8fqy7k04w7np4hhc6szql"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/16a26659a16199b5bb066be6e5c4a40419bda018/recipes/tidal"; @@ -93915,12 +99529,12 @@ melpaBuild { pname = "tide"; ename = "tide"; - version = "20180713.30"; + version = "20190321.911"; src = fetchFromGitHub { owner = "ananthakumaran"; repo = "tide"; - rev = "4aaa1b3d3a978a76d773f2fbee6143eda9085f23"; - sha256 = "1vkgjy5gfiwqjnq5mbxbfh4c1f6kn2pbibki6hmq593wd4212lnn"; + rev = "f1a3d411a3b9b7992d24f53e6afa02840a652780"; + sha256 = "19m96firhn3rxjxxcn8d9sbbprhrmxg99lc5k665pdvdmdf1kbvx"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a21e063011ebbb03ac70bdcf0a379f9e383bdfab/recipes/tide"; @@ -94049,12 +99663,12 @@ melpaBuild { pname = "timesheet"; ename = "timesheet"; - version = "20160530.1445"; + version = "20180801.1902"; src = fetchFromGitHub { owner = "tmarble"; repo = "timesheet.el"; - rev = "2ed6fea9b508eb7eaff659d9a34a09ba064d4df8"; - sha256 = "028d1sn29idznzsc95w2c1sdz3rpmf3vgk2365li0vvs99s51hi2"; + rev = "67ca6a9f6733052066b438301fb2dd81b8b3f6eb"; + sha256 = "0rmh8lik27pmq95858jbjzgvf6rsfdnpynwcagj1fgkval5kzdbs"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/40009ef2f6845c83242ca5d0a8c9c2c1e4ef8a9d/recipes/timesheet"; @@ -94317,6 +99931,34 @@ license = lib.licenses.free; }; }) {}; + tmux-pane = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , names + , s }: + melpaBuild { + pname = "tmux-pane"; + ename = "tmux-pane"; + version = "20181210.410"; + src = fetchFromGitHub { + owner = "laishulu"; + repo = "emacs-tmux-pane"; + rev = "5e83ec65a1d38af9b8a389bdf34a78d13437e63d"; + sha256 = "1451d51ml36i1pgksjkd4x2y8zjf4in9q8m6gda3b25v57fnkg2i"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/8bc165e115a2c457e44ac2762cf6a9f07f1b99c4/recipes/tmux-pane"; + sha256 = "0mv5y367i1wmk5kp8ms09xhrwvb4cwa08p39qy6mkakdhiby5m9q"; + name = "recipe"; + }; + packageRequires = [ emacs names s ]; + meta = { + homepage = "https://melpa.org/#/tmux-pane"; + license = lib.licenses.free; + }; + }) {}; toc-org = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -94324,12 +99966,12 @@ melpaBuild { pname = "toc-org"; ename = "toc-org"; - version = "20180613.840"; + version = "20181108.821"; src = fetchFromGitHub { owner = "snosov1"; repo = "toc-org"; - rev = "e38e81af3f12633579c62f2ccf4bd0c8f18e2b88"; - sha256 = "13jdz0b4jqpb5idfxszlsapfk7h488773m3ipj1ayfapxmly92gm"; + rev = "ebff38bfa4cc95476a20a349014e2d1862ff4647"; + sha256 = "0ml075741iw9n4apiy9iv30wx4bgzpn6iisrzx3mxjl85kgmlmf2"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1305d88eca984a66039444da1ea64f29f1950206/recipes/toc-org"; @@ -94646,6 +100288,32 @@ license = lib.licenses.free; }; }) {}; + torus = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "torus"; + ename = "torus"; + version = "20190325.53"; + src = fetchFromGitHub { + owner = "chimay"; + repo = "torus"; + rev = "863886f10db77f3d1b16815d77561b6c81d88352"; + sha256 = "1v1l51rdcnbkq4cb4ig6l1mymhwj7dxidyx4r9g7wzw00g3ncvwb"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/efc3b538861084cc13ff067a9258e55dc006b70d/recipes/torus"; + sha256 = "0zjidnc7nwbxs90spp373hx92vksd72vz4avmi4dbmhi89rdfhh0"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/torus"; + license = lib.licenses.free; + }; + }) {}; total-lines = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -94775,7 +100443,8 @@ license = lib.licenses.free; }; }) {}; - traad = callPackage ({ dash + traad = callPackage ({ bind-map + , dash , deferred , f , fetchFromGitHub @@ -94789,12 +100458,12 @@ melpaBuild { pname = "traad"; ename = "traad"; - version = "20180720.512"; + version = "20180729.1748"; src = fetchFromGitHub { owner = "abingham"; repo = "emacs-traad"; - rev = "1a4bb39dc36ac79fe540923096411e75a6dcfdf4"; - sha256 = "0jj81p7v6qrqnlgyqdjygvzrid1phgrx5j4kfnsd3gy2k0i9k3vj"; + rev = "98e23363b7e8a590a2f55976123a8c3da75c87a5"; + sha256 = "121p80vsa3xff1anwy876gvlpm0jdbfm5vaxszds73wrv6gih8m3"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2b3eb31c077fcaff94b74b757c1ce17650333943/recipes/traad"; @@ -94802,6 +100471,7 @@ name = "recipe"; }; packageRequires = [ + bind-map dash deferred f @@ -94927,14 +100597,14 @@ ename = "transfer-sh"; version = "20180603.731"; src = fetchFromGitHub { - owner = "Brillow"; + owner = "SRoskamp"; repo = "transfer-sh.el"; rev = "55da85f963d347255a2b46568954923679331798"; sha256 = "0yv4i4ps379kz1q9qmjh4q3pk5ik77xw86faxmwpjx4yzp1wsz9v"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/b4f74dd06d4d5249beaf67b2befec4251c8c18ed/recipes/transfer-sh"; - sha256 = "1gii2avqg9mdmdj2r562s9382fcmw53w9zsvprpnkcyhxhgfy8sy"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/transfer-sh"; + sha256 = "0xc6dkmayk935grmy8883l4cyv4zrq3fb77fj16knfj4yw8w6c9j"; name = "recipe"; }; packageRequires = [ async ]; @@ -94943,6 +100613,33 @@ license = lib.licenses.free; }; }) {}; + transient = callPackage ({ dash + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "transient"; + ename = "transient"; + version = "20190319.1228"; + src = fetchFromGitHub { + owner = "magit"; + repo = "transient"; + rev = "9e30038d2d69e4ad0f3333777137af52e4771442"; + sha256 = "0mp4sfnaznqy5klslgnma5aj7k07r1qka2qnr48qi4shgq3s23jy"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/ee7bfefdf4423d63706a6dcf128886ca6b514e6b/recipes/transient"; + sha256 = "04xkdspn475dlch5fcw21phhdhshxlbyznjbi0l7qk8snm130qpv"; + name = "recipe"; + }; + packageRequires = [ dash emacs ]; + meta = { + homepage = "https://melpa.org/#/transient"; + license = lib.licenses.free; + }; + }) {}; transmission = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -94952,12 +100649,12 @@ melpaBuild { pname = "transmission"; ename = "transmission"; - version = "20180610.1653"; + version = "20190210.1846"; src = fetchFromGitHub { owner = "holomorph"; repo = "transmission"; - rev = "7e8c3690bb54bd8c3ff89b89092ccaa94e116652"; - sha256 = "0wwnd2fc4b8ir58vxb69nw4rcyri2yhdpaphsgrs8dw9ziixpmvx"; + rev = "7293beeb8a49cf6822abd16a9f4b9e4bef0a9296"; + sha256 = "0pbmxl5654l1y213pq2h65dyrr78jlkybbdwz1dq52km98mpnf3r"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9ed7e414687c0bd82b140a1bd8044084d094d18f/recipes/transmission"; @@ -95090,16 +100787,16 @@ melpaBuild { pname = "treemacs"; ename = "treemacs"; - version = "20180722.503"; + version = "20190405.748"; src = fetchFromGitHub { owner = "Alexander-Miller"; repo = "treemacs"; - rev = "98d02cb1ca4742c6b3d7148c82109d4a0b0df27e"; - sha256 = "0kk36i7d6pddx97zxpa37mz1pa7kygbyrqzl73mmx4cbisk3c2gw"; + rev = "32a241d0aaa5c713815a1a040eea52a5c2b01589"; + sha256 = "0s6znv09y1ngca5hxw85niqhp5ddg9f0w88qjkp2ryva1q1wc0c3"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/91038c1ab2f463102263dcc3701c0fdaad55de4c/recipes/treemacs"; - sha256 = "1wcsn0kzrbawyyhxmsmrsxr1vp0llkxw6r7zx53pwyc82ia64nlv"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/37cca017cf529a0553ba73bcb824a945ec8b1137/recipes/treemacs"; + sha256 = "0is4waygw902vkha4jwav0i05298zhf4d559m91gmsfg1cfrlrr3"; name = "recipe"; }; packageRequires = [ ace-window cl-lib dash emacs f ht hydra pfuture s ]; @@ -95117,16 +100814,16 @@ melpaBuild { pname = "treemacs-evil"; ename = "treemacs-evil"; - version = "20180622.426"; + version = "20190214.1221"; src = fetchFromGitHub { owner = "Alexander-Miller"; repo = "treemacs"; - rev = "d0f874c90990400c02a8029d4efe815d3548ba5c"; - sha256 = "0hclgsv96gr50z9cqj97rp45c5r50q2zb6hq5jcx3xmlw12k9pk7"; + rev = "de1ba5217ca4c41fc36d405832b749b6fffd2b82"; + sha256 = "0wk280qs99py3s3lykm3pd3v3nbml1c9hkal29cx0475m12fc5lw"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/91038c1ab2f463102263dcc3701c0fdaad55de4c/recipes/treemacs-evil"; - sha256 = "1i2mxqwnqb2jz775qg3z4lf7pk4mgi646fyyi2la5gdcnq6a46mg"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/37cca017cf529a0553ba73bcb824a945ec8b1137/recipes/treemacs-evil"; + sha256 = "144klr1gqqzfqy7fx9lzngc2vljy6mnz7awk0z5f8vfclczkihw2"; name = "recipe"; }; packageRequires = [ evil treemacs ]; @@ -95135,6 +100832,63 @@ license = lib.licenses.free; }; }) {}; + treemacs-icons-dired = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , treemacs }: + melpaBuild { + pname = "treemacs-icons-dired"; + ename = "treemacs-icons-dired"; + version = "20190327.858"; + src = fetchFromGitHub { + owner = "Alexander-Miller"; + repo = "treemacs"; + rev = "abc387a6bfbf3654914624651a593eb1aba85ca9"; + sha256 = "1mjx5c60h47kgszmpk96f5ymyh5any8ksbrxa3hcmz52s77lmd74"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/37cca017cf529a0553ba73bcb824a945ec8b1137/recipes/treemacs-icons-dired"; + sha256 = "075897b11aaj9h59gbcldz2wd5557h86pq28qkijbgay4i3piv9v"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs treemacs ]; + meta = { + homepage = "https://melpa.org/#/treemacs-icons-dired"; + license = lib.licenses.free; + }; + }) {}; + treemacs-magit = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , magit + , melpaBuild + , pfuture + , treemacs }: + melpaBuild { + pname = "treemacs-magit"; + ename = "treemacs-magit"; + version = "20190327.2335"; + src = fetchFromGitHub { + owner = "Alexander-Miller"; + repo = "treemacs"; + rev = "4e5f182eb11c5e4ee752de4972a92adab1320d29"; + sha256 = "189gvc5v0ggy4xm81f0467al20qzbfb0gw2vg4l7y07bf3fzzvq8"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/1719c6bfc346e63f58221ea2c6e625b98f4ea368/recipes/treemacs-magit"; + sha256 = "10c32rf76w26hhg1pyjlwj94adpjz1kic4hzapbckvcyzcwz6fql"; + name = "recipe"; + }; + packageRequires = [ emacs magit pfuture treemacs ]; + meta = { + homepage = "https://melpa.org/#/treemacs-magit"; + license = lib.licenses.free; + }; + }) {}; treemacs-projectile = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -95144,16 +100898,16 @@ melpaBuild { pname = "treemacs-projectile"; ename = "treemacs-projectile"; - version = "20180614.1021"; + version = "20190402.2237"; src = fetchFromGitHub { owner = "Alexander-Miller"; repo = "treemacs"; - rev = "cbc75759fd54a772fcb67bd8babacf1b2020ba88"; - sha256 = "18aafgiircgb5max35zqzdfb0yjmgjqacax9sfy39ihh9x9z0vc1"; + rev = "2392ac22caa196ed6850f0accf9d7cd24b11375d"; + sha256 = "0d1k9nmvycbw46b4fjsj15srnmdahfklrh3c6r6sr95ngwl17dic"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/91038c1ab2f463102263dcc3701c0fdaad55de4c/recipes/treemacs-projectile"; - sha256 = "1vyifik30673bwlfvbmw8pzz7f3wd4q6zzssvbj8d23zhk8kh8vc"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/37cca017cf529a0553ba73bcb824a945ec8b1137/recipes/treemacs-projectile"; + sha256 = "1lldvpasvgsd5xvnlafddqp47w7rdvf3vqfhr26rxn99kj5s9xzp"; name = "recipe"; }; packageRequires = [ projectile treemacs ]; @@ -95170,12 +100924,12 @@ melpaBuild { pname = "treepy"; ename = "treepy"; - version = "20180722.538"; + version = "20180723.2356"; src = fetchFromGitHub { owner = "volrath"; repo = "treepy.el"; - rev = "ae972c73dbf56452a4fe5dca635a75c502a78a15"; - sha256 = "1r3410v4y4zc6xdpf6z0947ivbw055zy1pcplr4215nr5346m6nc"; + rev = "b40e6b09eb9be45da67b8c9e4990a5a0d7a2a09d"; + sha256 = "04zwm6gx9pxfvgfkizx6pvb1ql8pqxjyzqp8flz0432x0gq5nlxk"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/63c94a703841f8c11948200d86d98145bc62162c/recipes/treepy"; @@ -95199,12 +100953,12 @@ melpaBuild { pname = "trident-mode"; ename = "trident-mode"; - version = "20130726.1207"; + version = "20190329.433"; src = fetchFromGitHub { owner = "johnmastro"; repo = "trident-mode.el"; - rev = "ad3201f47e114de35df189c3d80f0fdea9507ea9"; - sha256 = "08484fhc69rk16g52f9bzc1kzpif61ddfchxjbj1qqqammbx11ym"; + rev = "a128f766e1138e6e04146312b7c8ebbad0dae131"; + sha256 = "141gvvwzql7pnv0d161cj2hpvpkav27lp1gdk1ilf45b3fqqqa87"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/trident-mode"; @@ -95217,6 +100971,32 @@ license = lib.licenses.free; }; }) {}; + trinary = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "trinary"; + ename = "trinary"; + version = "20180904.1613"; + src = fetchFromGitHub { + owner = "emacs-elsa"; + repo = "trinary-logic"; + rev = "886232c6d7e92a8e9fe573eef46754ebe321f90d"; + sha256 = "10h6p2dwl2k2p35pi3n8y85qh5y0zrr9nhfr4sviwzj1nbqdrvdr"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/48fff02dde8a678e151f2765ea7c3a383912c68b/recipes/trinary"; + sha256 = "1k2jpay1wx2m54fpja9mrhqyk15ikml8xf15irh8yrxb3hah8f8k"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/trinary"; + license = lib.licenses.free; + }; + }) {}; trr = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -95276,12 +101056,12 @@ melpaBuild { pname = "try"; ename = "try"; - version = "20170226.805"; + version = "20181203.1836"; src = fetchFromGitHub { owner = "larstvei"; repo = "Try"; - rev = "271b0a362cadf44d0694628b9e213f54516ef913"; - sha256 = "1fvpi02c6awyrwg2yqjapvcv4132qvmvd9bkbwpjmndxpicsann3"; + rev = "8831ded1784df43a2bd56c25ad3d0650cdb9df1d"; + sha256 = "0y26ybdsljph49w2834wssxgdx8ij7b6v4gp8jpgnbx118gr4jsz"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/13c0ed40ad02fa0893cbf4dd9617dccb624f064b/recipes/try"; @@ -95301,16 +101081,16 @@ melpaBuild { pname = "ts-comint"; ename = "ts-comint"; - version = "20171105.2247"; + version = "20181218.2319"; src = fetchFromGitHub { - owner = "josteink"; + owner = "emacs-typescript"; repo = "ts-comint"; - rev = "8817dc7b3a6eb78c3cad42e5677c2113274a1963"; - sha256 = "17cw9710ib80d626vv6bx6vdjdin78h6pja1lsr4r6mz8c5ihwxj"; + rev = "b280cfe9fe5ecec9d5970043b6b2866f644b39ad"; + sha256 = "15lf20w3diixcbpsw3vdqlpnpjp3v1spgxkiymq05q1mcy30n39n"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/84e7004395083b66fce7ff4676af818bc798058a/recipes/ts-comint"; - sha256 = "18swvzkzcwn0wks58flsjpn9dddzcznij67xifyz6009l4fgdrzd"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/4a1c08c22704ac689235b8d5cc36cc437ba7356a/recipes/ts-comint"; + sha256 = "0cmh8ww6myiaz42867d0dqfi64lxrbna1lcwl6x6rmdgf15k6c1m"; name = "recipe"; }; packageRequires = []; @@ -95398,6 +101178,7 @@ }; }) {}; tuareg = callPackage ({ caml + , emacs , fetchFromGitHub , fetchurl , lib @@ -95405,19 +101186,19 @@ melpaBuild { pname = "tuareg"; ename = "tuareg"; - version = "20180512.1306"; + version = "20190407.807"; src = fetchFromGitHub { owner = "ocaml"; repo = "tuareg"; - rev = "faa976ac930d3fba42ec59881046929c90ffa8f3"; - sha256 = "1f29bwivmdd6k7wblmrlwf7q43kdkrdadf5r3mk372p04d7c2nrx"; + rev = "9157f25980dede0599c6f9a42cc492081752f515"; + sha256 = "0lvjh3a1sl1y29hsfh8dm7hjf25q0mmagdiv8bm07a680wgfii9x"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/01fb6435a1dfeebdf4e7fa3f4f5928bc75526809/recipes/tuareg"; sha256 = "0wx723dmjlpm86xdabl9n8p22zbbxpapyfn6ifz0b0pvhh49ip7q"; name = "recipe"; }; - packageRequires = [ caml ]; + packageRequires = [ caml emacs ]; meta = { homepage = "https://melpa.org/#/tuareg"; license = lib.licenses.free; @@ -95513,14 +101294,14 @@ ename = "turing-machine"; version = "20180221.2038"; src = fetchFromGitHub { - owner = "therockmandolinist"; + owner = "dieggsy"; repo = "turing-machine"; rev = "ad1dccc9c445f9e4465e1c67cbbfea9583153047"; sha256 = "0qaz4r5ahg2fxsfyxilb8c9956i5ra9vg80l82slm8vrnsinzll6"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/a003b40a52a92b3ab4d1ffc003f570d4fa6bfbde/recipes/turing-machine"; - sha256 = "1ndy953q9hr1psqqkkqsffyvj800cnqdxcrixqiw0ls77f2kczcn"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/turing-machine"; + sha256 = "0q9a31m5wnz9j9l4i8czdl7z12nrcdjw72w8sqvf94ri2g5dbpkq"; name = "recipe"; }; packageRequires = [ emacs ]; @@ -95688,12 +101469,12 @@ melpaBuild { pname = "twittering-mode"; ename = "twittering-mode"; - version = "20180507.721"; + version = "20181121.602"; src = fetchFromGitHub { owner = "hayamiz"; repo = "twittering-mode"; - rev = "6d10d1765a7b4de4c723395c8a2200a1649beeb0"; - sha256 = "0pzj1yslggha5hh98ah634s03p7185wppzxfx53xws0mid6wsf85"; + rev = "114891e8fdb4f06b1326a6cf795e49c205cf9e29"; + sha256 = "1w1p5pg3ambixhc5l7490wf5qasw3xv9qg6f0xhfsnqk44fp70ia"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/twittering-mode"; @@ -95706,53 +101487,27 @@ license = lib.licenses.free; }; }) {}; - typed-clojure-mode = callPackage ({ cider - , clojure-mode - , fetchFromGitHub - , fetchurl - , lib - , melpaBuild }: - melpaBuild { - pname = "typed-clojure-mode"; - ename = "typed-clojure-mode"; - version = "20151003.1122"; - src = fetchFromGitHub { - owner = "typedclojure"; - repo = "typed-clojure-mode"; - rev = "3abd53d8cc1ad77ffe76e02849d0ab7731fd8364"; - sha256 = "1i826xq77nh4s7qlj63r2iznbn319l1l3fzpbjb2nj0m00bwvxl6"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/961471c194b508a5025f00a5be02d316b26f330a/recipes/typed-clojure-mode"; - sha256 = "1579zkhk2lwl5ij7dm9n2drggs5fmhpljrshc4ghhvig7nlyqjy3"; - name = "recipe"; - }; - packageRequires = [ cider clojure-mode ]; - meta = { - homepage = "https://melpa.org/#/typed-clojure-mode"; - license = lib.licenses.free; - }; - }) {}; - typescript-mode = callPackage ({ fetchFromGitHub + typescript-mode = callPackage ({ emacs + , fetchFromGitHub , fetchurl , lib , melpaBuild }: melpaBuild { pname = "typescript-mode"; ename = "typescript-mode"; - version = "20180708.1003"; + version = "20181221.105"; src = fetchFromGitHub { - owner = "ananthakumaran"; + owner = "emacs-typescript"; repo = "typescript.el"; - rev = "f9cd0dd539d5d23f2b466de0cf20f9b0aef07258"; - sha256 = "1f6j2xyws9ksv192si4hznyhglhqgk7v1i31wm2kf7m007yw2ibi"; + rev = "e608305ade7145df5637b22bbd2a1d190aaff048"; + sha256 = "11cj1gis2mirz8kfljgam5dzd9c0wqzsb0jkxc9xrz48akpyikqx"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/d3f534a1e2cee4ad2e32e32802c5080207417b3d/recipes/typescript-mode"; - sha256 = "01jyqy44ir59n9c2f6gh4xzwfmzdpnys1lw4lnsy6kirqgbsq9ha"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/94455323364d5a6b00e2786d577134eb350826b4/recipes/typescript-mode"; + sha256 = "1abnik2dq0zfnp8pk8x6zy962qww78xadm87xyiwz17559g88d82"; name = "recipe"; }; - packageRequires = []; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/typescript-mode"; license = lib.licenses.free; @@ -95765,12 +101520,12 @@ melpaBuild { pname = "typing"; ename = "typing"; - version = "20171115.2331"; + version = "20180830.1503"; src = fetchFromGitHub { owner = "kensanata"; repo = "typing"; - rev = "1ada06484695b8959f4a7c41cacf7f78c2aad998"; - sha256 = "0mh1y960zd7878j7nhrjijck6jxxqnbmxr579s095k7yk2ynpkkg"; + rev = "a2ef25dde2d8eb91bd9c0c6164cb5208208647fa"; + sha256 = "1dbh0srbf54lgd60ia79y9cfnq3kxlgw01qzdjs9mk3nfazzpgnv"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e6e75695594ce17b618ad8786c8a04e283f68b11/recipes/typing"; @@ -95818,12 +101573,12 @@ melpaBuild { pname = "typit"; ename = "typit"; - version = "20180317.107"; + version = "20181231.2302"; src = fetchFromGitHub { owner = "mrkkrp"; repo = "typit"; - rev = "4fe50d616fc60e77eb9b5a824c0a1ca4010b0746"; - sha256 = "0j5s86s9wb33fqw415mmkysdasyj3vdx9l8l6ca6f89ps6znr636"; + rev = "819a65ef22ec7a03c109aa7e8169e6ba174b17a1"; + sha256 = "0gvlb3vra01m8gbl0qqsy9lbkrmzfs8q33n626fny5hz23pba7l6"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d17d019155e19c156f123dcd702f18cfba488701/recipes/typit"; @@ -96120,6 +101875,32 @@ license = lib.licenses.free; }; }) {}; + undo-propose = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "undo-propose"; + ename = "undo-propose"; + version = "20190322.917"; + src = fetchFromGitHub { + owner = "jackkamm"; + repo = "undo-propose-el"; + rev = "036e66c1ac4b0358b34727d2c9b65853347dad89"; + sha256 = "1ah2x0fwf2ybz3i4cjs19fmx7aq1xfgnh4x623qy12v7ab4pvd3m"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/308eec15ebfd301b34f0d9f019250c9089c4d6e2/recipes/undo-propose"; + sha256 = "0r0xswj9n24ghw44l1m1izapjqrfvcw8qn3qp61s2ly0i7la185j"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/undo-propose"; + license = lib.licenses.free; + }; + }) {}; undohist = callPackage ({ cl-lib ? null , fetchFromGitHub , fetchurl @@ -96272,12 +102053,12 @@ melpaBuild { pname = "unicode-fonts"; ename = "unicode-fonts"; - version = "20150826.1532"; + version = "20181001.809"; src = fetchFromGitHub { owner = "rolandwalker"; repo = "unicode-fonts"; - rev = "a36597d83e0248bd0e6b2c1d5fb95bff72add527"; - sha256 = "0fbwncna6gxlynq9196djpkjhayzk8kxlsxg0gasdgqx1nyxl0mk"; + rev = "7b88ae84e589f6c8b9386b2fb5a02ff4ccb91169"; + sha256 = "07wzcfj92jiadgd6nj5rmxky2aiaxs89j7zywp877xdp4vv0v512"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/83459421dd2eb3d60ec668c3d5bb38d99ee64aff/recipes/unicode-fonts"; @@ -96320,6 +102101,32 @@ license = lib.licenses.free; }; }) {}; + unicode-math-input = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "unicode-math-input"; + ename = "unicode-math-input"; + version = "20181230.423"; + src = fetchFromGitHub { + owner = "astoff"; + repo = "unicode-math-input.el"; + rev = "6ad698bf4a8c64dd969ac58cf09ee66783cfcdce"; + sha256 = "0g72zh4a8mimmsiq53k0y9w4xmfhvdymksxdrkiygc3vji2jv6na"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/e0d39bc129500e55b99c11b3d27e042619777414/recipes/unicode-math-input"; + sha256 = "1hra3vf6nzh99piagbxsmp0sizvki2jl7qkfmlwd5nwmicw0ykrq"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/unicode-math-input"; + license = lib.licenses.free; + }; + }) {}; unicode-progress-reporter = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -96357,12 +102164,12 @@ melpaBuild { pname = "unicode-troll-stopper"; ename = "unicode-troll-stopper"; - version = "20151023.1831"; + version = "20190208.2011"; src = fetchFromGitHub { owner = "camsaul"; repo = "emacs-unicode-troll-stopper"; - rev = "7d1331b17b29db56fbdaecec39e5fcac5b92e46f"; - sha256 = "1zpqm309x73af2i6qch7qqwr1ibnkz0r0jyvw6py4imnank9hg83"; + rev = "5e8be35a7bf6382384a701663f7438ee27e4b67c"; + sha256 = "0xjh017kjhj93j72r5hdpiabv76szlmpivlfyhg9vzysdmix45qv"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b463925a98b7dde78d85693c7681fd2346d90895/recipes/unicode-troll-stopper"; @@ -96539,12 +102346,12 @@ melpaBuild { pname = "universal-emotions-emoticons"; ename = "universal-emotions-emoticons"; - version = "20171209.1820"; + version = "20180729.1241"; src = fetchFromGitHub { owner = "grettke"; repo = "universal-emotions-emoticons"; - rev = "9f249b39172bf9b8e148856ad941eee485161215"; - sha256 = "1qn757pn1hcfik05i458bic32dm812xznsfz5vgxn2v8wxihjlf8"; + rev = "9cedd09ee65cb9fa71f27b0ab46a8353bdc00902"; + sha256 = "17blqfnf384l2hd2igrw5p0zblw6bxz69vvzli22nr84kpkh5jx4"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/57f913112c98db2248cf69e44deb69fd09cee042/recipes/universal-emotions-emoticons"; @@ -96557,26 +102364,27 @@ license = lib.licenses.free; }; }) {}; - unkillable-scratch = callPackage ({ fetchFromGitHub + unkillable-scratch = callPackage ({ emacs + , fetchFromGitHub , fetchurl , lib , melpaBuild }: melpaBuild { pname = "unkillable-scratch"; ename = "unkillable-scratch"; - version = "20160504.1903"; + version = "20190308.1617"; src = fetchFromGitHub { owner = "EricCrosson"; repo = "unkillable-scratch"; - rev = "0e1d9e1574e497171a7ccfbcb8c994cb9c5880da"; - sha256 = "0bhdqpxq6cly4b6v4ya1ksw0yfdb9g2f2ifbjn4gfcq6j4zszbdm"; + rev = "a484c27516f2ee20e239713a95bd7de4f35f8501"; + sha256 = "06pslqk97q858a3y6z7rgmc16nzqlkaj9phrqmxkq354lkllndlx"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/822ac5610f333e41b676a29ef45a6f8bfea3162e/recipes/unkillable-scratch"; sha256 = "0ghbpa9pf7k6vd2mjxkpqg2qfl4sd40ir6mrk1rxr1rv8s0afkf7"; name = "recipe"; }; - packageRequires = []; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/unkillable-scratch"; license = lib.licenses.free; @@ -96645,12 +102453,12 @@ melpaBuild { pname = "uptimes"; ename = "uptimes"; - version = "20180416.623"; + version = "20190328.156"; src = fetchFromGitHub { owner = "davep"; repo = "uptimes.el"; - rev = "5e81f8bb419836602819045e7d5a74b76ad3e69c"; - sha256 = "04l452k249s3ilfj0da0k7rrfyjnxxdsipa2al46xqjds8l3h2rn"; + rev = "1f726d31b502d764a3e3191aaf92ed4855105131"; + sha256 = "1ymv5fh0bfjzkkd8vc9f1n8921bx1czbb29s0rw6zy37vkhs6v3s"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/72099e35ce3e34ec6afc6a3f87a4da07ec91499a/recipes/uptimes"; @@ -96713,6 +102521,32 @@ license = lib.licenses.free; }; }) {}; + urscript-mode = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "urscript-mode"; + ename = "urscript-mode"; + version = "20190219.804"; + src = fetchFromGitHub { + owner = "guidoschmidt"; + repo = "urscript-mode"; + rev = "b341f96b129ead8fb74d680cb4f546985bf110a9"; + sha256 = "0qhncqsvsrpgc47ixsp436imfm0l6pd1kbpjjk426wrnzaszrpkc"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/b4ae680b51a85749ed254215bbd4a35909961049/recipes/urscript-mode"; + sha256 = "1jjmpg9r7vwa8284chx9yc1ifn36m7ml1ks4ls8hnsxachbv7wlh"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/urscript-mode"; + license = lib.licenses.free; + }; + }) {}; usage-memo = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -96747,12 +102581,12 @@ melpaBuild { pname = "use-package"; ename = "use-package"; - version = "20180715.1101"; + version = "20190405.1347"; src = fetchFromGitHub { owner = "jwiegley"; repo = "use-package"; - rev = "3fb8f39f5901a4c0ef7887283e56e60b541675ea"; - sha256 = "0am5kh073x52lrh1225m5wl4r18wffznlvhrrmm1wbya6n406q9h"; + rev = "0ee88b5cac41acf974c4bedb8859931ead8bfc79"; + sha256 = "0gv976iajc0qf9pbqyljc9mdnyirf353d3w6h38khwqmqv11p6br"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/51a19a251c879a566d4ae451d94fcb35e38a478b/recipes/use-package"; @@ -96776,12 +102610,12 @@ melpaBuild { pname = "use-package-chords"; ename = "use-package-chords"; - version = "20180703.1258"; + version = "20181024.1622"; src = fetchFromGitHub { owner = "jwiegley"; repo = "use-package"; - rev = "4f0f5856798b8575d3d466fce2a3aed0ebf1acf1"; - sha256 = "1j1wgyhb0lvj0znkq56q5vv3irfgb6w3mwpcrvxq0b0wkwr121gz"; + rev = "763bf5337dab14b318a3ddce29140de1ed8fb35b"; + sha256 = "08v4rsl3x5dj7ihpnzbyxjbg2ls2kybcsb0rcxjh5anj4hmcsyly"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6240afa625290187785e4b7535ee7b0d7aad8969/recipes/use-package-chords"; @@ -96794,7 +102628,7 @@ license = lib.licenses.free; }; }) {}; - use-package-el-get = callPackage ({ fetchFromGitHub + use-package-el-get = callPackage ({ fetchFromGitLab , fetchurl , lib , melpaBuild @@ -96803,15 +102637,15 @@ pname = "use-package-el-get"; ename = "use-package-el-get"; version = "20180130.2105"; - src = fetchFromGitHub { + src = fetchFromGitLab { owner = "edvorg"; repo = "use-package-el-get"; rev = "f33c448ed43ecb003b60ff601ee7ef9b08cff947"; sha256 = "1wzn3h8k7aydj3hxxws64b0v4cr3b77cf7z128xh3v6xz2w62m4z"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/ee4a96cf467bcab171a0adfd4ef754abec1a9971/recipes/use-package-el-get"; - sha256 = "0sg9ijkjax6w25p0q7rw5rjn8r2i83z5jfzjkvy8pxil5cg8zyh0"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/aca60522257353fbfd9d032f8c3cae7914d6bd36/recipes/use-package-el-get"; + sha256 = "143vydssjxmkcgs661hz6nhg310r8qypn2a4vyxy5sb31wqcclzg"; name = "recipe"; }; packageRequires = [ use-package ]; @@ -96829,12 +102663,12 @@ melpaBuild { pname = "use-package-ensure-system-package"; ename = "use-package-ensure-system-package"; - version = "20180710.29"; + version = "20180913.801"; src = fetchFromGitHub { owner = "jwiegley"; repo = "use-package"; - rev = "cfce01be52162d2eb4526bbb9b3bf721cca74202"; - sha256 = "0wlyl0zya165kbf5f8swnkkbqnzxwggyc597xz0wy5wmiyr55v4l"; + rev = "2b89ca4b9102baaf3f84f3fc8177c8a17288e291"; + sha256 = "18xpjqvnrk72jybbd5xipnsbngkj38hqd9vfq0kb42fhiv1v5b92"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6240afa625290187785e4b7535ee7b0d7aad8969/recipes/use-package-ensure-system-package"; @@ -96847,6 +102681,33 @@ license = lib.licenses.free; }; }) {}; + use-package-hydra = callPackage ({ emacs + , fetchFromGitLab + , fetchurl + , lib + , melpaBuild + , use-package }: + melpaBuild { + pname = "use-package-hydra"; + ename = "use-package-hydra"; + version = "20181227.2345"; + src = fetchFromGitLab { + owner = "to1ne"; + repo = "use-package-hydra"; + rev = "8cd55a1128fbdf6327bb38a199d206225896d146"; + sha256 = "19dja25illcvwpx8j1kigw8dzby41bm57prx1bhaxkmsakxyl863"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/28589bb76442601930a4591e200c8e1db119caf6/recipes/use-package-hydra"; + sha256 = "0q2qfav2y1p6vxfvdblqlpjmj0z7z8w843jpry9g07d8kc4959f6"; + name = "recipe"; + }; + packageRequires = [ emacs use-package ]; + meta = { + homepage = "https://melpa.org/#/use-package-hydra"; + license = lib.licenses.free; + }; + }) {}; use-ttf = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -96856,12 +102717,12 @@ melpaBuild { pname = "use-ttf"; ename = "use-ttf"; - version = "20180608.2252"; + version = "20181206.902"; src = fetchFromGitHub { owner = "jcs090218"; repo = "use-ttf"; - rev = "be1599e10ae5c095cd263a1d9be3e8270f770f55"; - sha256 = "141gpnpj4gia7wyn60v24r0ysr0m2cx0p3sdh956hsk6bh29l78h"; + rev = "569b5df758bb85b69a98b3bed108b0735179eed9"; + sha256 = "0ama7qqi32vp5mgsdbz6vixp6h5jhkq1m82jqrrgddcd5ih8zan1"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8af853b2db58300ba1685e3547a9f96c05b04df6/recipes/use-ttf"; @@ -96908,12 +102769,12 @@ melpaBuild { pname = "utop"; ename = "utop"; - version = "20180706.1549"; + version = "20181010.1455"; src = fetchFromGitHub { owner = "diml"; repo = "utop"; - rev = "48100fcf769bdaeb4a6c93bbb33c37b85c1dcb10"; - sha256 = "1cr1i5ywn9abqbrl4iq1c82vdjwrbh43v67zv1a8i4fvh99yzlv1"; + rev = "ea38850e606dd18c94e2ccabc28485fec1c8f91f"; + sha256 = "0g7mj1qag9d7mn58l3lh7as0w4bj7rq3r6d3mykafgyjaajsxnx0"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/30489fe52b4031184e54f994770aa3291257bc9d/recipes/utop"; @@ -97037,12 +102898,12 @@ melpaBuild { pname = "vagrant-tramp"; ename = "vagrant-tramp"; - version = "20160427.1632"; + version = "20190125.1059"; src = fetchFromGitHub { owner = "dougm"; repo = "vagrant-tramp"; - rev = "453ba605b28d2964bb4e10074f1e6891ebb4d2d6"; - sha256 = "138gw90wa2qyzyicig3cwhpb1xc5bh9g0vb87y91afjlykhzr6a5"; + rev = "77256deca35bb797cbba499837f3658d1a17d2e3"; + sha256 = "0j7ff9b3ic4a6kzn7k0c52knlgangql7sjsxahwvym6w18r52d5a"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/baea9f16e245aec3f62e55471358c7208f61372d/recipes/vagrant-tramp"; @@ -97235,6 +103096,32 @@ license = lib.licenses.free; }; }) {}; + vc-hgcmd = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "vc-hgcmd"; + ename = "vc-hgcmd"; + version = "20190404.1202"; + src = fetchFromGitHub { + owner = "muffinmad"; + repo = "emacs-vc-hgcmd"; + rev = "6379ef242cc2ac8366a6e6f1c588245577c76a3a"; + sha256 = "1zvggg9kpl6d2wrsjlrnjmb0dhmwmd9x6q2yj3g08bv6gsz3nfil"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/111142342ab81dcaa88a831ba620be499a334c3f/recipes/vc-hgcmd"; + sha256 = "11p8r94s72x47nkxlarxwy33im167jpjas8b9i8dkrz2iggwn5xk"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/vc-hgcmd"; + license = lib.licenses.free; + }; + }) {}; vc-msg = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -97269,12 +103156,12 @@ melpaBuild { pname = "vc-osc"; ename = "vc-osc"; - version = "20161119.1155"; + version = "20190402.1649"; src = fetchFromGitHub { owner = "aspiers"; repo = "vc-osc"; - rev = "8c09a0d5f69237285101554261b77d76b546a24b"; - sha256 = "153zwhljkjl0dajd1l6p5icva0bnpa2rj8byjblb3xv8rq7p1fzc"; + rev = "bf5a515ed85f7d7cdfe66ed5bf4ef7554f8561e5"; + sha256 = "1jk09vspns327j9mfy32dd71n3nfynn17h2njc4sczrgd4yzc2wd"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/70a1fa5fdfdfa9ec5607524be62eb44fe82e91b0/recipes/vc-osc"; @@ -97287,31 +103174,6 @@ license = lib.licenses.free; }; }) {}; - vcl-mode = callPackage ({ fetchFromGitHub - , fetchurl - , lib - , melpaBuild }: - melpaBuild { - pname = "vcl-mode"; - ename = "vcl-mode"; - version = "20170119.1251"; - src = fetchFromGitHub { - owner = "ssm"; - repo = "vcl-mode"; - rev = "3d86c1352a7370d558d25f4c8f7be744e7d27332"; - sha256 = "1zp59p8pw65qy7s9y17a52y1pm35hajdfn3p1kfm1y3vmfxf9x3a"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/bcbe3892fd20e624117de534ca92ba3fba1669a1/recipes/vcl-mode"; - sha256 = "1h0a1briinp9ka7ga3ipdhyf7yfinwvf7babv36myi720900wcq5"; - name = "recipe"; - }; - packageRequires = []; - meta = { - homepage = "https://melpa.org/#/vcl-mode"; - license = lib.licenses.free; - }; - }) {}; vcomp = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -97319,12 +103181,12 @@ melpaBuild { pname = "vcomp"; ename = "vcomp"; - version = "20140906.1508"; + version = "20190127.1620"; src = fetchFromGitHub { owner = "tarsius"; repo = "vcomp"; - rev = "092ef48a78e950c0576269d889be6caf9f6e61c5"; - sha256 = "0fzz26c1pdaz3i58ndhzd2520mhny487daqs21yajxi9x2m00zrl"; + rev = "f839b3b3257a564b19d7f9557dc8bcbbe0b95842"; + sha256 = "1xd42bdi6x89gc9xjrwvzzdaanv9vwlbbjwp25bs1nsd53k5nvak"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/561442ea9f75ebe8444db1a0c40f7756fcbca482/recipes/vcomp"; @@ -97346,12 +103208,12 @@ melpaBuild { pname = "vdiff"; ename = "vdiff"; - version = "20180719.1327"; + version = "20190226.1903"; src = fetchFromGitHub { owner = "justbur"; repo = "emacs-vdiff"; - rev = "40ffc92c566b55264f48167a02c17518743870b4"; - sha256 = "0r17cw58yabrkjrqis5bz7ikr1lgczpzd7zz895fzqrg4n901bj5"; + rev = "a1a82dec623a241b0e9ed19fd65da6e7073d59ac"; + sha256 = "15b33ksy7m1128zz8d300z5b6hx2d9hhrfyb2h67rggaq7qh82za"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e90f19c8fa4b0d267d269b76f117995e812e899c/recipes/vdiff"; @@ -97370,23 +103232,24 @@ , lib , magit , melpaBuild + , transient , vdiff }: melpaBuild { pname = "vdiff-magit"; ename = "vdiff-magit"; - version = "20180719.1401"; + version = "20190304.907"; src = fetchFromGitHub { owner = "justbur"; repo = "emacs-vdiff-magit"; - rev = "73912622680ce761779158526e993933a2dbcb9e"; - sha256 = "1vcqfi94xs0ri5zv5h1pw8i0jy1gbx8811i2fshw70f1rmlzmaid"; + rev = "b100d126c69e5c26a61ae05aa1778bcc4302b597"; + sha256 = "16cjmrzflf2i1w01973sl944xrfanakba8sb4dpwi79d92xp03xy"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2159275fabde8ec8b297f6635546b1314d519b8b/recipes/vdiff-magit"; sha256 = "1vjc1r5xfdg9bmscgppx1fps1w5bd0zpp6ab5z5dxlg2zx2vdldw"; name = "recipe"; }; - packageRequires = [ emacs magit vdiff ]; + packageRequires = [ emacs magit transient vdiff ]; meta = { homepage = "https://melpa.org/#/vdiff-magit"; license = lib.licenses.free; @@ -97403,12 +103266,12 @@ melpaBuild { pname = "vdirel"; ename = "vdirel"; - version = "20170605.43"; + version = "20181001.435"; src = fetchFromGitHub { owner = "DamienCassou"; repo = "vdirel"; - rev = "a1e6ea3ed5faaf70667c62bc5591dc810331cb1a"; - sha256 = "1z8q3akm0hq7z7nqclra1wv7a6m0cbskhnd3ca4v9wf9dajiwnsb"; + rev = "dfe5f9478405b8292f85fc911db92e81b627626a"; + sha256 = "1m1k5sfmvi3hw8l4qd4sfhi9h8wk9jd4psb62m4bjf5gbk5ld1pw"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/72b5ea3f4444c3de73d986a28e1d12bf47c40246/recipes/vdirel"; @@ -97421,6 +103284,86 @@ license = lib.licenses.free; }; }) {}; + vdm-comint = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , vdm-mode }: + melpaBuild { + pname = "vdm-comint"; + ename = "vdm-comint"; + version = "20181127.1223"; + src = fetchFromGitHub { + owner = "peterwvj"; + repo = "vdm-mode"; + rev = "e131edb0d35de28bd47d6128dd70d9a6fc46e0fa"; + sha256 = "090a0imk7dr6vqq4lf806pvajqc499x2gmi0k7rgc1696rbyzhb5"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/077f586e59fe3b6085e1f19b3c18b218de5d4046/recipes/vdm-comint"; + sha256 = "1r7jg7dkzfs4n230n0jk23w0ncqsiwkslf2gmjfzfqg8qklr9bhs"; + name = "recipe"; + }; + packageRequires = [ emacs vdm-mode ]; + meta = { + homepage = "https://melpa.org/#/vdm-comint"; + license = lib.licenses.free; + }; + }) {}; + vdm-mode = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "vdm-mode"; + ename = "vdm-mode"; + version = "20190328.708"; + src = fetchFromGitHub { + owner = "peterwvj"; + repo = "vdm-mode"; + rev = "89e7db6ee1a89b8c1f7ce36ce6800c32b5c4ba2d"; + sha256 = "1vfqkfw39yg7379s6b28n8nyswv1jq7caljfbnyrndsag6z4j50k"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/70a6c89d41235f7e8463a47400004a32b2979a5a/recipes/vdm-mode"; + sha256 = "1h72731vcsjqsbii1wbzpa114x09aqbkbnz5fg9fnjq9rybz6rn7"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/vdm-mode"; + license = lib.licenses.free; + }; + }) {}; + vdm-snippets = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , yasnippet }: + melpaBuild { + pname = "vdm-snippets"; + ename = "vdm-snippets"; + version = "20190313.422"; + src = fetchFromGitHub { + owner = "peterwvj"; + repo = "vdm-mode"; + rev = "dc1756dd151752b3f538d68326059f8861e4ac66"; + sha256 = "02pkiz700g86n7fs1rygp6im0rhx6x8ag7fjc8sci02igf74hb30"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/f246b9dcf7915a845b9e2cd44cc1a0833b412c8f/recipes/vdm-snippets"; + sha256 = "1js1hjs2r9bbqm50bl389y87xn68f30xrh2z6nd5kz2hdgkm6lhj"; + name = "recipe"; + }; + packageRequires = [ emacs yasnippet ]; + meta = { + homepage = "https://melpa.org/#/vdm-snippets"; + license = lib.licenses.free; + }; + }) {}; vector-utils = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -97446,6 +103389,34 @@ license = lib.licenses.free; }; }) {}; + veri-kompass = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitLab + , fetchurl + , lib + , melpaBuild + , org }: + melpaBuild { + pname = "veri-kompass"; + ename = "veri-kompass"; + version = "20181110.133"; + src = fetchFromGitLab { + owner = "koral"; + repo = "veri-kompass"; + rev = "72aa690da9a349601c9befe454d456d46b17fee6"; + sha256 = "0da47w45a1q04srsc0kgjp4lacgaa6abf2b11qjgckm3drahifgg"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/18c3a69bec780e3e7456b310db6f0eec2a35c753/recipes/veri-kompass"; + sha256 = "103x4003qj0z9ki6xz4hymamyhipzfxz94x4gszk3k2qnvkjkxnj"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs org ]; + meta = { + homepage = "https://melpa.org/#/veri-kompass"; + license = lib.licenses.free; + }; + }) {}; verify-url = callPackage ({ cl-lib ? null , fetchFromGitHub , fetchurl @@ -97506,12 +103477,12 @@ melpaBuild { pname = "vertica-snippets"; ename = "vertica-snippets"; - version = "20180208.154"; + version = "20190403.256"; src = fetchFromGitHub { owner = "baron42bba"; repo = "vertica-snippets"; - rev = "5959d86c77d4b8f67383f65f7f6ca3e0db2a9529"; - sha256 = "0hmvd2kly7k51qfhkg6rzcq0a5ksskr1r0x07i0imz0idm77g29z"; + rev = "b7a2e9660762a213fa001355e67ca671d9496339"; + sha256 = "0n5f5zgg7yvy6f5l746vi7z4y9gmjk7m9bdk68xhfz8pgyjaji3s"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d3c8cb5c0fdbb6820a08091d8936dd53a3c43c56/recipes/vertica-snippets"; @@ -97532,12 +103503,12 @@ melpaBuild { pname = "vertigo"; ename = "vertigo"; - version = "20180408.920"; + version = "20180829.1530"; src = fetchFromGitHub { owner = "noctuid"; repo = "vertigo.el"; - rev = "117450dfad5d5ad45d40995cdf9a626cf9c2b136"; - sha256 = "1bxf2kzdj4xmy6wmajwvn40msp2q4szp25ylah49biw92dwi2bzw"; + rev = "6303d17270ea92290a6960890bca515274f1682b"; + sha256 = "0570x63l1j75issnq23hrhhpisv2jm18fn5mspsvbs4xy2hy4h8i"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f1957e7fa03b6b8eb2f3250bd814d707bce3cfa3/recipes/vertigo"; @@ -97580,25 +103551,26 @@ , fetchurl , ggtags , helm + , helm-rg , lib , melpaBuild , outshine }: melpaBuild { pname = "vhdl-tools"; ename = "vhdl-tools"; - version = "20180610.958"; + version = "20190301.506"; src = fetchFromGitHub { owner = "csantosb"; repo = "vhdl-tools"; - rev = "4e9df06c3519be22f1f713d18c80d325a5b0c3d2"; - sha256 = "0n6mmbg8g3ip3dkbc4kxqxsd4p1h7jry25n1cqvzm24x1adwlcfm"; + rev = "d2c072a0426fa413227f1e4f7ef9fe76c0eb412b"; + sha256 = "0bqdz4iiv5d58bsc0pjx3npr5n8f7wzikv0l0jcpw70v4v6337r6"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/69fe2f8fb98ac1af1d3185f62ae1c89e646cfebf/recipes/vhdl-tools"; sha256 = "006d9xv60a90xalagczkziiimwsr1np9nn25zvnc4nlbf8j3fbbw"; name = "recipe"; }; - packageRequires = [ emacs ggtags helm outshine ]; + packageRequires = [ emacs ggtags helm helm-rg outshine ]; meta = { homepage = "https://melpa.org/#/vhdl-tools"; license = lib.licenses.free; @@ -97664,14 +103636,14 @@ ename = "viking-mode"; version = "20160705.1327"; src = fetchFromGitHub { - owner = "tlinden"; + owner = "TLINDEN"; repo = "viking-mode"; rev = "c76aa265d13ad91d6890d242e142d05e31f0340b"; sha256 = "1944p3kbskzj4d9w9prbi7z59lrn087v3gphbhwjplz6mvwbl8g6"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/5805575f353c14a62d00543a23eb4c638d9d52dc/recipes/viking-mode"; - sha256 = "13g6gw8yc4pgi1zjig6nlpnsh52dzmprisq95r6lx6hk0xbzrx16"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/viking-mode"; + sha256 = "12z9807ya0gsgx7h3zdvpx7jksjjrglz3qqyz65wj71sibjfry4m"; name = "recipe"; }; packageRequires = []; @@ -97742,12 +103714,12 @@ melpaBuild { pname = "vimish-fold"; ename = "vimish-fold"; - version = "20171231.2212"; + version = "20181231.2300"; src = fetchFromGitHub { owner = "mrkkrp"; repo = "vimish-fold"; - rev = "1469c953bc20d21d87ce5d92def767e551cda07c"; - sha256 = "0nywz6nk1qanx7z9sykf28h9c2qj7xzs9w4hya4vmhwigqqbhldl"; + rev = "5ae201fc9a7024dd9c8d1713a00dd42cf1290d6e"; + sha256 = "0rwfzhqrs4gw5j9irzdy9lwk5m8ycaxdqp5b3gb238a2jqfcxnbz"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b4862b0a3d43f073e645803cbbf11d973a4b51d5/recipes/vimish-fold"; @@ -97767,12 +103739,12 @@ melpaBuild { pname = "vimrc-mode"; ename = "vimrc-mode"; - version = "20170814.1837"; + version = "20181116.1119"; src = fetchFromGitHub { owner = "mcandre"; repo = "vimrc-mode"; - rev = "ba8140fba6e03a35b123acbd62fc8c6f0a03bf4a"; - sha256 = "07pwmjaa24hh20bcanmxgnaf050c0j6190i0qfvpd0gpc4p80pxx"; + rev = "13bc150a870d5d4a95f1111e4740e2b22813c30e"; + sha256 = "0026dqs3hwygk2k2xfra90w5sfnxrfj7l69jz7sq5glavbf340pk"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/vimrc-mode"; @@ -97819,12 +103791,12 @@ melpaBuild { pname = "virtualenvwrapper"; ename = "virtualenvwrapper"; - version = "20180211.1744"; + version = "20190223.1119"; src = fetchFromGitHub { owner = "porterjamesj"; repo = "virtualenvwrapper.el"; - rev = "bf13158dde071bdf4901709ed101aba6b8a25f7f"; - sha256 = "003nj9i6kfjyw1bdz1y3dssp3ff7irhsfq21r430xvdfnzrby4ky"; + rev = "f753e5ad91c2ff5d11bec424aa8cec141efa6925"; + sha256 = "062pbnplb3w9h64qsj71d9fvgicp1x63n05mgvgymjh2rnx7py0d"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/acc9b816796b9f142c53f90593952b43c962d2d8/recipes/virtualenvwrapper"; @@ -97895,12 +103867,12 @@ melpaBuild { pname = "visual-fill-column"; ename = "visual-fill-column"; - version = "20180511.211"; + version = "20190405.1454"; src = fetchFromGitHub { owner = "joostkremers"; repo = "visual-fill-column"; - rev = "606d86e38ca99704cf745fe9cadd603d6001cb0d"; - sha256 = "1fjzlw6i4jpd0lmdxkzgaypgr2cx5klkb6xwc5k684ly3xp8snc2"; + rev = "a84e36e483ac14eddf1a905e9025534a06bbc0d1"; + sha256 = "1l7j6h9x57gr46i88h830fg4qs2yqi5r08z6vdxnx4m5gdv0ll0s"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c7628c805840c4687686d0b9dc5007342864721e/recipes/visual-fill-column"; @@ -98077,13 +104049,13 @@ version = "20150718.1309"; src = fetchFromGitHub { owner = "dbrock"; - repo = "volume-el"; + repo = "volume.el"; rev = "ecc1550b3c8b501d37e0f0116b54b535d15f90f6"; sha256 = "0ymibjq6iwab5ia1fglhz4gm5cnbi792018fmrabcqkisj2zsjb7"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/bde261750a2754c5bcf01b9a9260429609b8c2bf/recipes/volume"; - sha256 = "1r01v453bpyh561j8ja36609hy60gc30arvmz4z3c1cybhv8sk1i"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/volume"; + sha256 = "1gm2zaf6qwbdhayaj153882qm21cl4qdyjkdnqrlssb2mcgf017w"; name = "recipe"; }; packageRequires = []; @@ -98092,6 +104064,32 @@ license = lib.licenses.free; }; }) {}; + vscode-icon = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "vscode-icon"; + ename = "vscode-icon"; + version = "20180922.1450"; + src = fetchFromGitHub { + owner = "jojojames"; + repo = "vscode-icon-emacs"; + rev = "3ad83ee122d312775a101c975424a2c87c3a80b1"; + sha256 = "0pd9j1bp8lqda8r6kgmxinf6x8aqfg1aikgk2svlcf1g8z31m66i"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/90a07c96a9223a9ad477cbea895ba522523c5be4/recipes/vscode-icon"; + sha256 = "0rhsqzgxl7hs52kniyi8yn4f953g7dgx49j4lzf2yr33ydxiw9d3"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/vscode-icon"; + license = lib.licenses.free; + }; + }) {}; vue-html-mode = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -98128,16 +104126,16 @@ melpaBuild { pname = "vue-mode"; ename = "vue-mode"; - version = "20180515.2012"; + version = "20190212.1412"; src = fetchFromGitHub { - owner = "CodeFalling"; + owner = "AdamNiederer"; repo = "vue-mode"; - rev = "5491a4a765814c392de13617ca3ad4a32edd6399"; - sha256 = "10m5kc0zsvfwr1km66c36qzs6bckq1x0cx4r79vs7sxwwfz8mq2b"; + rev = "a2e60b0fd245f8f502025dd32399a9f10b82dcb3"; + sha256 = "1ybz7djmcp2mpga04g7jlsfkjirajg8w5z6jx0dsyqk69rd21gln"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/2e5e0a9fff332aeec09f6d3d758e2b67dfdf8397/recipes/vue-mode"; - sha256 = "0gy7a5sliaijq0666l55vbkg15anrw7k1828szdn1ppkraw14bn0"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/vue-mode"; + sha256 = "0npzn7pycqfdakv4plkigq8aw1bqhz3y03y3ypx21q5a186ds0g5"; name = "recipe"; }; packageRequires = [ edit-indirect mmm-mode ssass-mode vue-html-mode ]; @@ -98204,16 +104202,16 @@ melpaBuild { pname = "w3m"; ename = "w3m"; - version = "20180404.2220"; + version = "20190404.1609"; src = fetchFromGitHub { - owner = "emacsorphanage"; - repo = "w3m"; - rev = "ea64ccb3d792b60f0815309f588bf46b1f0ca80e"; - sha256 = "13dhr36177363x5zjbm5ig4g9xg0x6j0j37smzqlwy2bp244mm06"; + owner = "emacs-w3m"; + repo = "emacs-w3m"; + rev = "0b85cb2dd4deb348edff25b40e17332af49ad981"; + sha256 = "0sjc6giwzvkndyh6r6v2jiggdqln6y8v39809dn9lj0gj9wz3p4d"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/30de78c9cf83de30093a5647976eeaf552d4b2cb/recipes/w3m"; - sha256 = "0a4jql7ky62ickccbr2xnyggix5wf726d4pfz7mi3yxlw6i8m79s"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/85c53c48caab0845101c487e4fee7e2cda15f706/recipes/w3m"; + sha256 = "1fnib1y79g50jz9wll63j0xf2awgkrlk6hwx0w6nzg0xsbfbkdvk"; name = "recipe"; }; packageRequires = []; @@ -98306,12 +104304,12 @@ melpaBuild { pname = "wakatime-mode"; ename = "wakatime-mode"; - version = "20170517.2053"; + version = "20180920.2"; src = fetchFromGitHub { owner = "wakatime"; repo = "wakatime-mode"; - rev = "b1eae15f38a367017e519c10837c44650631b154"; - sha256 = "0l2nwjz978lamlikipljw143j40bnli7rzf9rixsia9iby4krl25"; + rev = "2531cb58287770883ba534d20b3288955c4d6ef3"; + sha256 = "12wa845lwvwg38801mk880izfhjs50ssy5alj1743c2bz7ig5grk"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a46036a0e53afbebacafd3bc9545c99af79ccfcc/recipes/wakatime-mode"; @@ -98332,12 +104330,12 @@ melpaBuild { pname = "wakib-keys"; ename = "wakib-keys"; - version = "20180610.1952"; + version = "20180818.1129"; src = fetchFromGitHub { owner = "darkstego"; repo = "wakib-keys"; - rev = "682e3241ebc9147f4e316627cbff456dd316e372"; - sha256 = "191j9pk989jwhczwimr8smx1qiiwy5d85j195z8aqg252m656fnw"; + rev = "a858979620bd22801e5ce214dd46d69b19ccd357"; + sha256 = "1zvjwm4qr82zhp4nb9mjzklqxa2iasw3i623fwp9a2fzn3c2cyx5"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b8ef5ae0dcb92e1cf019be3d53ab9b47d89f45bd/recipes/wakib-keys"; @@ -98350,6 +104348,34 @@ license = lib.licenses.free; }; }) {}; + walkclj = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , parseclj + , treepy }: + melpaBuild { + pname = "walkclj"; + ename = "walkclj"; + version = "20180718.200"; + src = fetchFromGitHub { + owner = "plexus"; + repo = "walkclj"; + rev = "2e54fa813b11d1a87c890cdf117f30165a193024"; + sha256 = "0bgvniw3ibcjsmzwrndg6pxwbpnpnxsb8ijs2gxg5kbm1hqqly32"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/44472b35938fe70d4cb3d15397495fe321fcd464/recipes/walkclj"; + sha256 = "0m971dlazildhgj8jqg4x679i6s6p80mbpri7l24ynxk45wix22m"; + name = "recipe"; + }; + packageRequires = [ emacs parseclj treepy ]; + meta = { + homepage = "https://melpa.org/#/walkclj"; + license = lib.licenses.free; + }; + }) {}; wand = callPackage ({ dash , fetchFromGitHub , fetchurl @@ -98359,12 +104385,12 @@ melpaBuild { pname = "wand"; ename = "wand"; - version = "20180112.454"; + version = "20180815.331"; src = fetchFromGitHub { owner = "cmpitg"; repo = "wand"; - rev = "e8939812e03255fff3e15c5d0f9d4da849aaf07b"; - sha256 = "0l79vhf0s5rz9s02bmcfyx7yn4pvn3dnxkr50qfhqajrvfx1105g"; + rev = "5c0d4833a3afc57e4b2398250139729cc9131d16"; + sha256 = "1d7zv5mk9mqlp40hzbf62y080a2aqvjw4x7y9frh33217r8h5b6i"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/38be840bbb32094b753ec169b717a70817006655/recipes/wand"; @@ -98413,12 +104439,12 @@ melpaBuild { pname = "wanderlust"; ename = "wanderlust"; - version = "20180605.631"; + version = "20190406.601"; src = fetchFromGitHub { owner = "wanderlust"; repo = "wanderlust"; - rev = "395826e99b84051396d503392f52462b6cb683a5"; - sha256 = "1i182aq8fmp232flwdvf3v6367pmzxvjjn4snvsy16wk5710vg3b"; + rev = "6528a0032342ec7bf6a95dda9b60d67292eaadfc"; + sha256 = "0pdqz0ypdxr90zlna7jhcvvxbqjn367amxh91f76npvrcpi1s016"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/426172b72026d1adeb1bf3fcc6b0407875047333/recipes/wanderlust"; @@ -98582,6 +104608,31 @@ license = lib.licenses.free; }; }) {}; + wdl-mode = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "wdl-mode"; + ename = "wdl-mode"; + version = "20180831.1246"; + src = fetchFromGitHub { + owner = "zhanxw"; + repo = "wdl-mode"; + rev = "cef86e5afc136ae5ad9324cd6e6d6f860b889bcf"; + sha256 = "0j7sv3dcpq2fvcip9834v6k8q1d8bpnbxnvz1g691lmc58z1a86a"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/8cf1f20913d765ae36ecc2c9a69470ff51124e56/recipes/wdl-mode"; + sha256 = "1zhrs0cdsr8mxh9zn8cy6inzxcygk0lgsyw1d190253v1kk6072i"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/wdl-mode"; + license = lib.licenses.free; + }; + }) {}; weather-metno = callPackage ({ cl-lib ? null , emacs , fetchFromGitHub @@ -98694,12 +104745,12 @@ melpaBuild { pname = "web-mode"; ename = "web-mode"; - version = "20180628.422"; + version = "20190301.900"; src = fetchFromGitHub { owner = "fxbois"; repo = "web-mode"; - rev = "471e1235d976e209de5262e75ecf7cc3e1fec39f"; - sha256 = "00m3yyx83sfdsn70iqr80vpj060nfddb2j6gzzsdmsnm0nl0hg8j"; + rev = "c8a3b33e088d2a910c000804966b804bba33f982"; + sha256 = "04py5kqzhmgw2g9rqjlx9cffz71xbcdn1sjiglibmawqgy83chk3"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6f0565555eaa356141422c5175d6cca4e9eb5c00/recipes/web-mode"; @@ -98721,12 +104772,12 @@ melpaBuild { pname = "web-mode-edit-element"; ename = "web-mode-edit-element"; - version = "20161114.954"; + version = "20181214.509"; src = fetchFromGitHub { owner = "jtkDvlp"; repo = "web-mode-edit-element"; - rev = "8b8ac07aa8c920dafd94c96a51effb0d6c0ed1ce"; - sha256 = "0aj1ibmnrbaxrkwjf1fac2qzazrj39pql3prcibnchc2bmp191aa"; + rev = "30f0f697212a85a9b881549fc272fa7c96d3e703"; + sha256 = "1qnk4skzj6b47h8c2yg05hc7iv8y4102izlfc490307y264rv051"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/web-mode-edit-element"; @@ -98773,12 +104824,12 @@ melpaBuild { pname = "web-search"; ename = "web-search"; - version = "20170911.1246"; + version = "20181027.2225"; src = fetchFromGitHub { owner = "xuchunyang"; repo = "web-search.el"; - rev = "410c490ecf82a3693db3eb62003302233471ff84"; - sha256 = "0hib0ffwikdydkm5asmvzj6l49pd9694psnn2c010j3ixw6i8gsl"; + rev = "24f5b49774f4fb60c903c2b65598590d1c6456d9"; + sha256 = "1f7ysgc9gnfrlhb7y19ynfl5h1ckbqrm8hqly3kr2n2cvlzj9g2i"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/503ef2042cc14dbe53e7121b8d0b5ccbdf6c882b/recipes/web-search"; @@ -98799,12 +104850,12 @@ melpaBuild { pname = "web-server"; ename = "web-server"; - version = "20140905.1706"; + version = "20190309.1813"; src = fetchFromGitHub { owner = "eschulte"; repo = "emacs-web-server"; - rev = "469cd3bc117bfb8da0c03a2a2fb185e80c81d068"; - sha256 = "0mbhyk7sgisx0l0xiz2xgy4jfbgwazlnxjvajsh4nysyig5rys05"; + rev = "cafa5b7582c57252a0884b2c33da9b18fb678713"; + sha256 = "1c0lfqmbs5hvz3fh3c8wgp6ipwmxrwx9xj264bjpj3phixd5419y"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/70e724b4e6c76d0299d5ea8d2211f48c1c611afe/recipes/web-server"; @@ -98880,12 +104931,12 @@ melpaBuild { pname = "webpaste"; ename = "webpaste"; - version = "20180127.1434"; + version = "20190310.348"; src = fetchFromGitHub { owner = "etu"; repo = "webpaste.el"; - rev = "14fd97bc3c8554d9394b698610dca1186ff68b03"; - sha256 = "1q7pqkww6ggh9sdnqa4vbq6nzivw0w011w3mvwx1mi4zp0dv50zs"; + rev = "7345c5f62d5cff4d84379eaf5dc8b2bb8bc4f99c"; + sha256 = "00dfp2dyj9cvcvvpsh4g61b37477c8ahfj3xig2x2kgfz15lk89n"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/13847d91c1780783e516943adee8a3530c757e17/recipes/webpaste"; @@ -98906,12 +104957,12 @@ melpaBuild { pname = "websocket"; ename = "websocket"; - version = "20180422.1716"; + version = "20190405.2119"; src = fetchFromGitHub { owner = "ahyatt"; repo = "emacs-websocket"; - rev = "0d96ba2ff5a25c6cd6c66f417cc9b5f38a4308ba"; - sha256 = "1dgrf7na6r6mmkknphzshlbd5fnzisg0qn0j7vfpa38wgsymaq52"; + rev = "d34f5f095dced553eb3f30924a22a88e6763f4b4"; + sha256 = "08qi79a0lb2d3hqbv3hanwwhhqv29z5h97v4417apnd045jl855k"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/websocket"; @@ -99039,12 +105090,12 @@ melpaBuild { pname = "wgrep"; ename = "wgrep"; - version = "20180710.2326"; + version = "20181228.1640"; src = fetchFromGitHub { owner = "mhayashi1120"; repo = "Emacs-wgrep"; - rev = "414be70bd313e482cd9f0b70fd2daad4ee23497c"; - sha256 = "1sdhd587q3pg92lhiayph87azhalmf1gzrnsprkmqvnphv7mvks9"; + rev = "b22834e4597b5dfe06621d23cf93351d790df930"; + sha256 = "07p0wwigc99hx09n5fkzf5yxkr7z19rqy8wgxk5m1pyp1i75wiq8"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9648e3df896fcd97b3757a727108bc78261973cc/recipes/wgrep"; @@ -99083,8 +105134,7 @@ license = lib.licenses.free; }; }) {}; - wgrep-ag = callPackage ({ cl-lib ? null - , fetchFromGitHub + wgrep-ag = callPackage ({ fetchFromGitHub , fetchurl , lib , melpaBuild @@ -99092,19 +105142,19 @@ melpaBuild { pname = "wgrep-ag"; ename = "wgrep-ag"; - version = "20160923.403"; + version = "20181228.1724"; src = fetchFromGitHub { owner = "mhayashi1120"; repo = "Emacs-wgrep"; - rev = "4e9f3d9822acab2d353c858d33ddaebb629fbfe8"; - sha256 = "14xja70gh9v3565fkl4b46swfrkmh6j6zg9pxwj5h1gicqrgaiwz"; + rev = "36c5e8d0e03bc16b19d30a603730065f74b5b767"; + sha256 = "0pgyf9vfcahb495q01hi1mvkmv846w4rj6zyf52is8x7sjj7x44s"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2c50b704343c4cac5e2a62a67e284ba6d8e15f8a/recipes/wgrep-ag"; sha256 = "1b2mj06kws29ha7g16l5d1s3p3nwyw8rprbpaiijdk9nxqcm0a8a"; name = "recipe"; }; - packageRequires = [ cl-lib wgrep ]; + packageRequires = [ wgrep ]; meta = { homepage = "https://melpa.org/#/wgrep-ag"; license = lib.licenses.free; @@ -99118,12 +105168,12 @@ melpaBuild { pname = "wgrep-helm"; ename = "wgrep-helm"; - version = "20170510.1539"; + version = "20190401.1456"; src = fetchFromGitHub { owner = "mhayashi1120"; repo = "Emacs-wgrep"; - rev = "1cdd7c136f1e7565bb13d2df69be3dc77b83698d"; - sha256 = "057p99hq0r6z1k8sl15w3sxrqvlv0g9wp39zy1pqhccv2mn3g2d6"; + rev = "379afd89ebd76f63842c8589127d66096a8bb595"; + sha256 = "0v1qx8z1xj9qzirlycbihnkpwcklyi3a0j8lil78pmdpixdbgh47"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9648e3df896fcd97b3757a727108bc78261973cc/recipes/wgrep-helm"; @@ -99195,12 +105245,12 @@ melpaBuild { pname = "which-key"; ename = "which-key"; - version = "20180621.1238"; + version = "20190315.548"; src = fetchFromGitHub { owner = "justbur"; repo = "emacs-which-key"; - rev = "ff79dfff66f880885c5893dd6fd05dc51173a476"; - sha256 = "0x9bmm4s5gq9k9x1rkwxr8zz8p2hgsxvzpji138m8m4j809l6cn4"; + rev = "187ac0eb8990b62d4bfd83aac10a0ae68cdd2ff5"; + sha256 = "0zl2vksl5jk3l23z4v7m05xha6l953c84zw1ffalcqxrrcs0737r"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/315865a3df97c0694f648633d44b8b34df1ac76d/recipes/which-key"; @@ -99298,12 +105348,12 @@ melpaBuild { pname = "whitespace-cleanup-mode"; ename = "whitespace-cleanup-mode"; - version = "20170505.1923"; + version = "20190106.1222"; src = fetchFromGitHub { owner = "purcell"; repo = "whitespace-cleanup-mode"; - rev = "d375bfb61cb70947a93004cba8ea17a0bc76f5a9"; - sha256 = "0w6jwg1lyz0hwkhbx3kx6yddakff6azj2ipyxw26rv886gx8a226"; + rev = "72427144b054b0238a86e1348c45d986b8830d9d"; + sha256 = "1zlk534jbwrsabcg3kqlzk4h4hwya60lh6q2n1v4yn4rpf5ghsag"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b461cfe450d7ce6bd0c14be3460cacffc1a32e6f/recipes/whitespace-cleanup-mode"; @@ -99349,12 +105399,12 @@ melpaBuild { pname = "whole-line-or-region"; ename = "whole-line-or-region"; - version = "20180324.2119"; + version = "20181211.1556"; src = fetchFromGitHub { owner = "purcell"; repo = "whole-line-or-region"; - rev = "944290d443a395ef0578531929186d6274ab03e9"; - sha256 = "04hbs8hrm5csnjxvxkfbd9fky0rd6xpr105cy0bvya5c14anzcd4"; + rev = "d816cf566f02a37ab46b44675e9f538a63a47d05"; + sha256 = "1b8n02dv5fyspsgi7daz6i790hp6s0lkiyj7gz8q34sf2924knvf"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/whole-line-or-region"; @@ -99481,12 +105531,12 @@ melpaBuild { pname = "wiki-summary"; ename = "wiki-summary"; - version = "20150408.1422"; + version = "20181010.1124"; src = fetchFromGitHub { owner = "jozefg"; repo = "wiki-summary.el"; - rev = "ec11f6b7177a3fc50702c771d347d1e86f4462fc"; - sha256 = "0c1j12lzkgb6rfq2zyfk9mj11qilymcpfp9lf38pkki527akxixl"; + rev = "fa41ab6e50b3b80e54148af9d4bac18fd0405000"; + sha256 = "0qcnqwiylkkb7132bzra49k7jg8kq13jif8096vpg4xzpcq5lpj2"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/31877f182ab82fd5bb73ec4ddd8526a032d9edf9/recipes/wiki-summary"; @@ -99702,8 +105752,7 @@ license = lib.licenses.free; }; }) {}; - window-purpose = callPackage ({ cl-lib ? null - , emacs + window-purpose = callPackage ({ emacs , fetchFromGitHub , fetchurl , imenu-list @@ -99713,19 +105762,19 @@ melpaBuild { pname = "window-purpose"; ename = "window-purpose"; - version = "20180531.1336"; + version = "20190405.401"; src = fetchFromGitHub { owner = "bmag"; repo = "emacs-purpose"; - rev = "8737c5d8cb4a0d749771a04a136a784e5d519d5e"; - sha256 = "0w186mgs7ww52mvqrp02bnwazznhyy6j2g8r21x2d4ri3vavmwrl"; + rev = "fb649bb07de63a70ecdace464eadcaafe01e1995"; + sha256 = "1x8njfpb21siqh4b931557qdj4qxvzcj995dm91l6c3k8yh76hy8"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5813120ab674f6db7d0a486433d8faa6cfec1727/recipes/window-purpose"; sha256 = "1y70jrba3gf9fyf2qdihfshbsblzb88yv9fkcswdzrpq5kmgwp84"; name = "recipe"; }; - packageRequires = [ cl-lib emacs imenu-list let-alist ]; + packageRequires = [ emacs imenu-list let-alist ]; meta = { homepage = "https://melpa.org/#/window-purpose"; license = lib.licenses.free; @@ -99738,12 +105787,12 @@ melpaBuild { pname = "windsize"; ename = "windsize"; - version = "20151121.540"; + version = "20181029.1557"; src = fetchFromGitHub { owner = "grammati"; repo = "windsize"; - rev = "beb6376fdf52afa6f220c89032448460faf76e7f"; - sha256 = "0hijf56ahbc5inn7n39nj96d948c4d05n9d5ci3g3vbl5hsyb121"; + rev = "62c2846bbe95b0a73e996c75e4a644d05f57aaaa"; + sha256 = "13kfrmv3vmkfanxv9nym5v43hx5p7xkgqmx65zcxh4gcbaham1mi"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/windsize"; @@ -99869,12 +105918,12 @@ melpaBuild { pname = "winum"; ename = "winum"; - version = "20171028.702"; + version = "20181119.905"; src = fetchFromGitHub { owner = "deb0ch"; repo = "emacs-winum"; - rev = "c56d1cdb8d1723eb4c0d7a7eb3ecd2697739146c"; - sha256 = "09jd5srlnd4060hs719qil84ssmnvq196bz7ywaswgapv1gs1h6r"; + rev = "efcb14fd306afbc738666e6b2e5a8a1bb5904392"; + sha256 = "0v1qmw3svydk7dlqbcymy1g1bygkfpb2h4b97zdp12xvd8mww9ny"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c1caa7a54a910a44322fdee300e8cce6ddcde071/recipes/winum"; @@ -99897,8 +105946,8 @@ version = "20180520.58"; src = fetchhg { url = "https://bitbucket.com/ArneBab/wisp"; - rev = "db4210a0af51"; - sha256 = "0f3yn8dxg21q711533d1zgxwr2y3df1msmchvd5x4rikm8nayp8a"; + rev = "62d6a170aefd"; + sha256 = "1hz5f70s6zi1mnz8si2zwj8n15jfqgqn5ag06h3x50w53hvzk41p"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/wisp-mode"; @@ -99946,12 +105995,12 @@ melpaBuild { pname = "with-editor"; ename = "with-editor"; - version = "20180618.1602"; + version = "20190224.131"; src = fetchFromGitHub { owner = "magit"; repo = "with-editor"; - rev = "fb9fdde14eddd5bd180d4baabfedc45e5492e115"; - sha256 = "07jfqnh4mvpky3mm7wyrdwpwnk2a7r1v2k7q5rxmg8i59k99q7bn"; + rev = "38df9bfc2227bcb7ac4899c83a03756d5f171450"; + sha256 = "00jz4a3004w10l6ip7wcb4zbvlsi8wbgnjpgr5p030y21q6gk5ki"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8c52c840dc35f3fd17ec660e113ddbb53aa99076/recipes/with-editor"; @@ -100019,6 +106068,33 @@ license = lib.licenses.free; }; }) {}; + with-venv = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "with-venv"; + ename = "with-venv"; + version = "20190123.1834"; + src = fetchFromGitHub { + owner = "10sr"; + repo = "with-venv-el"; + rev = "4dd29606e2f29de1488c0678736b3ea92876f09e"; + sha256 = "1i3dsvkvcmf5zmfwy988bz9wp7jbcpdrijdzcfqyy5spkqgv031c"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/555a2e49f18fbae59913459466babf8d55bd2151/recipes/with-venv"; + sha256 = "090jird410wn2w9pwr2d9pjw5xghcdxc4l578zay2akygg3c6blm"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs ]; + meta = { + homepage = "https://melpa.org/#/with-venv"; + license = lib.licenses.free; + }; + }) {}; wn-mode = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -100214,12 +106290,12 @@ melpaBuild { pname = "worf"; ename = "worf"; - version = "20180620.1011"; + version = "20190404.323"; src = fetchFromGitHub { owner = "abo-abo"; repo = "worf"; - rev = "b48e0c9bbd617ed8a8962174d804ce7a6da1c10a"; - sha256 = "14xik793sgjcg8nby8v77x1x8zspgkhz95kzzlzqalbblak3mgbs"; + rev = "57c4c1a02532fdc8c2393cec69d89ef423ed529e"; + sha256 = "1nn2hkj0lnk81ga4976h2dbgfarnidrvcf9zfcz6gxxrsp7knh8c"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f00f8765e35c21dd1a4b5c01c239ed4d15170ab7/recipes/worf"; @@ -100364,6 +106440,35 @@ license = lib.licenses.free; }; }) {}; + writefreely = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , org + , ox-gfm + , request }: + melpaBuild { + pname = "writefreely"; + ename = "writefreely"; + version = "20190326.835"; + src = fetchFromGitHub { + owner = "dangom"; + repo = "writefreely.el"; + rev = "61296a15f31aef92972ffa6865edadaf4f4127ca"; + sha256 = "19ksdcnm0rm1imzysl9lb3nx5ysnfyx07krqghxs8kbd9c5zvlyc"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/55ea1ad03ce5b5178435b8042be383065795ee71/recipes/writefreely"; + sha256 = "1lvar4kmzq3x7nmidklcryqscb5xzvkzbyn59a8ns0bml5sfrqyj"; + name = "recipe"; + }; + packageRequires = [ emacs org ox-gfm request ]; + meta = { + homepage = "https://melpa.org/#/writefreely"; + license = lib.licenses.free; + }; + }) {}; writegood-mode = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -100398,12 +106503,12 @@ melpaBuild { pname = "writeroom-mode"; ename = "writeroom-mode"; - version = "20170623.327"; + version = "20190406.1435"; src = fetchFromGitHub { owner = "joostkremers"; repo = "writeroom-mode"; - rev = "9e924dd7dd83f10b026c89cddef7e1646f1a3869"; - sha256 = "1v7hbmi9dqdqyr3png1xwhg3k05jr2q6jdjmj48bxiixl9zhcq9p"; + rev = "ebe522ba5a0367cf82ed03ffeb63fe597b84f4a1"; + sha256 = "0w2lmkkij79khjpswk2zxj371fa9ws94j9dqzrgzf37lnimgnsff"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4e39cd8e8b4f61c04fa967def6a653bb22f45f5b/recipes/writeroom-mode"; @@ -100448,12 +106553,12 @@ melpaBuild { pname = "wsd-mode"; ename = "wsd-mode"; - version = "20170731.837"; + version = "20180807.430"; src = fetchFromGitHub { owner = "josteink"; repo = "wsd-mode"; - rev = "566ae4b45b4a34b985f1b363d6cdbd463ab6aba6"; - sha256 = "0k30i1gq6ljxwf97f6nlz8b6blh6hg0b4syfx64lzf0zc22di2l4"; + rev = "0583df8efb742c90dc56df00f9714e13512cf6d9"; + sha256 = "0f90qm5zx7lkyvaz519fln4hijfyammc675105f19492h1bc1bva"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/04867a574773e8794335a2664d4f5e8b243f3ec9/recipes/wsd-mode"; @@ -100493,6 +106598,32 @@ license = lib.licenses.free; }; }) {}; + wucuo = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "wucuo"; + ename = "wucuo"; + version = "20181106.1457"; + src = fetchFromGitHub { + owner = "redguardtoo"; + repo = "wucuo"; + rev = "4e988c101fe82f2e8c7b3710d15982fe28b8d32d"; + sha256 = "0g558miz9f4g8jlq532fs9yxj3il62zajgcjfndall2853hn54af"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/819cacef2c31d750829980f3f6c3bfb72f36bbdd/recipes/wucuo"; + sha256 = "084fcv4dkflpka9vmxmxqdl0cgmjjh9wc6axr65j1ffmqd933y4a"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/wucuo"; + license = lib.licenses.free; + }; + }) {}; wwtime = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -100555,14 +106686,14 @@ ename = "x-path-walker"; version = "20160922.1135"; src = fetchFromGitHub { - owner = "lompik"; + owner = "Lompik"; repo = "x-path-walker"; rev = "3b01dbd7a039c6c84fdf8c8ee53ba72090ee950a"; sha256 = "1gb3lnl3gvckbakc4fy22fcvif3xdfkdaw334xmp33phjb8gjqvj"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/c51f2aba59cb93f4bb104a7dde214963cbf002a6/recipes/x-path-walker"; - sha256 = "03l83ph0d8g5pxnzp1gs3gdbwl3vhgvyk186yhqy6sbknq627k2x"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/x-path-walker"; + sha256 = "1k72c0i17k31p404nkzqkw25cpcfk66bmd0vjzwg34cnwcgfhnjg"; name = "recipe"; }; packageRequires = [ helm-core ]; @@ -100580,12 +106711,12 @@ melpaBuild { pname = "x509-mode"; ename = "x509-mode"; - version = "20180702.36"; + version = "20180921.103"; src = fetchFromGitHub { owner = "jobbflykt"; repo = "x509-mode"; - rev = "89bdeca8c7494eaaea115031b3235f0bfbd4d945"; - sha256 = "04m51c7w7nzh5nwpsyzwdcdfk1gsj9cy56xz51x53kla7xbwkdl8"; + rev = "9eb24c8721dcad9888b70213d06d770bc2386db7"; + sha256 = "1gr099bn4qn2b5jasbs4r04pf6wqsnpf2632vzvshzm9nkz4qnhg"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/27145423eb4e68e006ef96868a35b99d119a3099/recipes/x509-mode"; @@ -100659,12 +106790,12 @@ melpaBuild { pname = "xah-elisp-mode"; ename = "xah-elisp-mode"; - version = "20180710.124"; + version = "20190124.2246"; src = fetchFromGitHub { owner = "xahlee"; repo = "xah-elisp-mode"; - rev = "b2fe52007d90934053a6ba885b77d228d6c2bff6"; - sha256 = "1ma095ivzxblm0daxmgf3lcs59nkxgh4bfaw8vqxysfy0svqrff7"; + rev = "a09c51e450bf4b39bdc3f4063c2946baec7ae3b1"; + sha256 = "0hpdm6qns2i5zpavqq6zd7dyl9lxsxyic52jzjfisqv3gjrz8zpp"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/05eed39bae37cc8359d2cc678052cbbcc946e379/recipes/xah-elisp-mode"; @@ -100685,12 +106816,12 @@ melpaBuild { pname = "xah-find"; ename = "xah-find"; - version = "20180310.450"; + version = "20190314.1339"; src = fetchFromGitHub { owner = "xahlee"; repo = "xah-find"; - rev = "0cd985675c286bfa5f07ab9d00231f8a23505537"; - sha256 = "01h5wdbzf7swrmddai2vsakr8rsqg447w9bnp7akxla426fsr8wg"; + rev = "a39f1ff9a7cf56e92b56c6f179741569b9172a48"; + sha256 = "16d2dh08dxdm06ik3sfx00filxqpy646vv1qh5kb36zs8ydzjg3z"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/05eed39bae37cc8359d2cc678052cbbcc946e379/recipes/xah-find"; @@ -100711,12 +106842,12 @@ melpaBuild { pname = "xah-fly-keys"; ename = "xah-fly-keys"; - version = "20180702.1521"; + version = "20190222.2316"; src = fetchFromGitHub { owner = "xahlee"; repo = "xah-fly-keys"; - rev = "11db1184a7f68ee6be0cafe5bd9a304cb0036488"; - sha256 = "0j4mx27fnx95ri8sm3zsp0xwk4n8civbnn2ld1932kazbhwfwgqv"; + rev = "cc8b3bc26998bc29f82e87667c0d1ef90894ff66"; + sha256 = "19q20mp5gzkm0ch5wz1jxajkb8cqmknsldlzb7jsa8hzyvl2mb7m"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/05eed39bae37cc8359d2cc678052cbbcc946e379/recipes/xah-fly-keys"; @@ -100763,12 +106894,12 @@ melpaBuild { pname = "xah-lookup"; ename = "xah-lookup"; - version = "20171108.241"; + version = "20181225.1142"; src = fetchFromGitHub { owner = "xahlee"; repo = "lookup-word-on-internet"; - rev = "3029d8ec04e841c57b7482c244a1733eb4c77cb5"; - sha256 = "0ygkl663cqs25kicfnpy06j3sm6jjpagvv90wx3llspjy9adcxvx"; + rev = "2cafbf3605a8f2ac4c56392c5b1f75adc3b11f24"; + sha256 = "1xr2fp6dylv098g7m7x31j7jllr87545snab3qw5r32rzsa7fswz"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/05eed39bae37cc8359d2cc678052cbbcc946e379/recipes/xah-lookup"; @@ -100789,12 +106920,12 @@ melpaBuild { pname = "xah-math-input"; ename = "xah-math-input"; - version = "20180709.2228"; + version = "20190206.858"; src = fetchFromGitHub { owner = "xahlee"; repo = "xah-math-input"; - rev = "87e46fcaaada3e87dc828e75a52bec05c8c4c262"; - sha256 = "1vb53wr93n2m419y81c6naixxc6791bjynbfydm234da7ixsc7mk"; + rev = "af787f87815b85d56c35bbe0f22e03a31c8e670d"; + sha256 = "05fqjyzz6c0nclhqc7qxs3hg99d3yxb3qjzn1wc26m6jcmm2l6zd"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/05eed39bae37cc8359d2cc678052cbbcc946e379/recipes/xah-math-input"; @@ -100946,12 +107077,12 @@ melpaBuild { pname = "xcode-project"; ename = "xcode-project"; - version = "20180509.1218"; + version = "20181025.544"; src = fetchFromGitHub { owner = "nhojb"; repo = "xcode-project"; - rev = "fe95fb1d1da89f4f03d5dff330fd2d663101f8f0"; - sha256 = "1fvk92zbl4rl0kz0wnrmrry1amcpqxqqprsjgn209b4i7sh05p06"; + rev = "0bf9a4230fab7830350c750c39beda99ef74d72f"; + sha256 = "0746f2niclmlx90skvdb1xdac0nqj8a9pd9ap8n89ckb5r6f9hbg"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/49b866ebf7e707bc74525f83dd5038e6e860fcef/recipes/xcode-project"; @@ -101074,12 +107205,12 @@ melpaBuild { pname = "xml-rpc"; ename = "xml-rpc"; - version = "20160430.1458"; + version = "20181002.653"; src = fetchFromGitHub { owner = "hexmode"; repo = "xml-rpc-el"; - rev = "0ab093d60140d19e31d217c8abdc7dbdac944486"; - sha256 = "0g52bmamcd54acyk6i47ar5jawad6ycvm9g656inb994wprnjin9"; + rev = "8f624f8b964e9145acb504e4457c9510e87dd93c"; + sha256 = "0xa54z52rsfl3n0xgmbycj4zazp8ksgdwcq56swzs6wp72zlalmj"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/547d773e07d6229d2135d1b081b5401039ffad39/recipes/xml-rpc"; @@ -101252,16 +107383,16 @@ melpaBuild { pname = "xresources-theme"; ename = "xresources-theme"; - version = "20160331.702"; + version = "20190108.1051"; src = fetchFromGitHub { - owner = "CQQL"; + owner = "cqql"; repo = "xresources-theme"; - rev = "09a0bfc1684161dd1cdc899c027808a99646a652"; - sha256 = "171vffga2yzxqmgh77vila6x96bz1i6818f1pfaxblw1hz2ga341"; + rev = "5239acb51aa2dfa89a207e57012108d8fcf60562"; + sha256 = "13pls0f85n5rpbrbqcmrmcznv9hxiaglrnwpzivrli33cba92fpm"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/4cef3a5683ea572f823d915ec2a94d591ac915d6/recipes/xresources-theme"; - sha256 = "0spqa3xn3p2lmvlc5hdn7prq4vb70nkyrryx1kavha9igzhlyaga"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/xresources-theme"; + sha256 = "1vsbvg9w5g6y2qlb8ssn12ax31r7fbslfi9vcgvmjydcr8r1z0zs"; name = "recipe"; }; packageRequires = []; @@ -101278,12 +107409,12 @@ melpaBuild { pname = "xterm-color"; ename = "xterm-color"; - version = "20180202.1518"; + version = "20190407.1110"; src = fetchFromGitHub { owner = "atomontage"; repo = "xterm-color"; - rev = "42374a98f1039e105cad9f16ce585dffc96a3f1c"; - sha256 = "09mzzql76z3gn39qnfjspm8waps8msbkilmlk3n2zrizpbps6crj"; + rev = "749307da49323883c15d8789a958fa74607228cc"; + sha256 = "0hh18vxkr71p4ipzly4w6jx4qy4c1zrfzz2q38vshh1x78lcm77l"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b34a42f1bf5641871da8ce2b688325023262b643/recipes/xterm-color"; @@ -101460,12 +107591,12 @@ melpaBuild { pname = "yahoo-weather"; ename = "yahoo-weather"; - version = "20170822.1544"; + version = "20181025.2020"; src = fetchFromGitHub { owner = "lujun9972"; repo = "yahoo-weather-mode"; - rev = "a74e29bc81b13efe285b87fa4d0694d75f8e2bb5"; - sha256 = "1nimmv84q5zsv81ji3nmvpmi30f8xh0ypa88hpdpykc5iirj1m0x"; + rev = "1d2db14daa1706e03dfe4379397eb89234a56400"; + sha256 = "01hydsjj427j4xyy8cwiz5kn67vwwi1qnih5qfyw04w29r9njh1n"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ae5ca93d48a2d24787c3d4ed7ab3a65aa8023f4f/recipes/yahoo-weather"; @@ -101529,6 +107660,33 @@ license = lib.licenses.free; }; }) {}; + yaml-imenu = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , yaml-mode }: + melpaBuild { + pname = "yaml-imenu"; + ename = "yaml-imenu"; + version = "20180930.2327"; + src = fetchFromGitHub { + owner = "knu"; + repo = "yaml-imenu.el"; + rev = "78a383098807014d9e7f2941196d8271677158cd"; + sha256 = "1f85m0h19wjb0xrwkxrh7vrpphm8l5nkrv82zsl097dqw3ijj3f1"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/71e7c2df9e34093ad2634d5a56133fa30126fb5c/recipes/yaml-imenu"; + sha256 = "03r7020gyr96m1z7p947nb7z8szzlkqv21g1hm10sqa8qp7k0qli"; + name = "recipe"; + }; + packageRequires = [ emacs yaml-mode ]; + meta = { + homepage = "https://melpa.org/#/yaml-imenu"; + license = lib.licenses.free; + }; + }) {}; yaml-mode = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -101639,12 +107797,12 @@ melpaBuild { pname = "yankpad"; ename = "yankpad"; - version = "20180624.1615"; + version = "20190319.716"; src = fetchFromGitHub { owner = "Kungsgeten"; repo = "yankpad"; - rev = "ad8ce33fec5d9eb2a7e1111b1097e4015f78c0ed"; - sha256 = "03645wr6ksx6f7q3wpjcx3c7n1bm4v03j8kjkxx2790y77yns3ri"; + rev = "91effa1b160cc984c99f126152690da9cba95e30"; + sha256 = "03dqicig1axdadmj8xdzcwnnvvf3k8j0y5wjwjp6rszhzlk0ag60"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e64746d10f9e0158621a7c4dc41dc2eca6ad573c/recipes/yankpad"; @@ -101664,12 +107822,12 @@ melpaBuild { pname = "yapfify"; ename = "yapfify"; - version = "20180105.1447"; + version = "20180830.33"; src = fetchFromGitHub { owner = "JorisE"; repo = "yapfify"; - rev = "9e63a9135bd8dbfbee55819837a3aa0d119c5e6f"; - sha256 = "1bf09hah2g8x0jbrdh4fm1v01qjymiv38yvv8a5qmfpv5k93lcrc"; + rev = "b858225e1debe6734ee718e5c3c209152652a8b3"; + sha256 = "16bpshqk47slcifx9v70ka202lnbspkcjdl5npxpf12abc1syh06"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/060c32d8e9fdc56fe702d265a935d74d76082f86/recipes/yapfify"; @@ -101818,12 +107976,12 @@ melpaBuild { pname = "yasnippet"; ename = "yasnippet"; - version = "20180620.1750"; + version = "20181015.512"; src = fetchFromGitHub { owner = "joaotavora"; repo = "yasnippet"; - rev = "d3bb879356288ef38975fbf85947c7371b8c9759"; - sha256 = "1bmwgbi303z1mvar46077vj4974bf7596fs0p4ncnqhcjl75m80j"; + rev = "1d96da2e08664c31ff7f6f7441da1f4fa5680b1f"; + sha256 = "01sjmc62rvyjysp031pwiqizk6b8i1jdxnq4v24ikx7d2f3bmpjy"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5d1927dc3351d3522de1baccdc4ce200ba52bd6e/recipes/yasnippet"; @@ -101844,12 +108002,12 @@ melpaBuild { pname = "yasnippet-snippets"; ename = "yasnippet-snippets"; - version = "20180714.622"; + version = "20190316.319"; src = fetchFromGitHub { owner = "AndreaCrotti"; repo = "yasnippet-snippets"; - rev = "d153af6d1d8ab8dfbc57f4065cee72f86d5cd2c4"; - sha256 = "0dkhac40kiyqnq42c2fcdb1jzshgakabq4rq796qfhjpc5j8x5wk"; + rev = "e378404d01ad031bdc88b9bcb01d5c877c26eca6"; + sha256 = "1g82j3a7y5f9viy24alg6ihd1535l2m6pdj4bg53j9nh19xi9jb7"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/42490bbdac871bce302fbc9a0488ff7de354627e/recipes/yasnippet-snippets"; @@ -101896,11 +108054,11 @@ melpaBuild { pname = "yatex"; ename = "yatex"; - version = "20180601.2357"; + version = "20190406.910"; src = fetchhg { url = "https://www.yatex.org/hgrepos/yatex"; - rev = "ea6956f10ce7"; - sha256 = "192x3qi781hf4xpx2b33clc2xsq1d7vi3fzjv82d5pq1687kjl93"; + rev = "2ed79846fd53"; + sha256 = "0yx4679h2g7c8di7vbg9a2341fr988badibn1i38b1qjcrinfm1b"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9854c39fc1889891fe460d0d5ac9224de3f6c635/recipes/yatex"; @@ -101979,12 +108137,12 @@ melpaBuild { pname = "ycmd"; ename = "ycmd"; - version = "20180520.353"; + version = "20180724.556"; src = fetchFromGitHub { owner = "abingham"; repo = "emacs-ycmd"; - rev = "966594701c1eef1f6d4dad0c71c6d43a029977d7"; - sha256 = "05b8l82l3p15r072zhmmwpcnxyyyrhzka5gc3vkzz2sa7wa7sp7j"; + rev = "fe35b7f2e3d9370941b9e537c9bc578d814acce2"; + sha256 = "10h3whhz4bli4r6d945qdwv0627842l84vp6binqzw7lddd72y6g"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4b25378540c64d0214797348579671bf2b8cc696/recipes/ycmd"; @@ -102032,6 +108190,33 @@ license = lib.licenses.free; }; }) {}; + yequake = callPackage ({ dash + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "yequake"; + ename = "yequake"; + version = "20190114.1155"; + src = fetchFromGitHub { + owner = "alphapapa"; + repo = "yequake"; + rev = "e1e62d802db8d6ca513ebeaadf808c8a3b748086"; + sha256 = "1rpfqxr3735v0avbsqw01amxncd6wn4avky7k08k9p7n6kn3m4m2"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/194968f221b2f60042a3684e1ca3e1c18adbde8e/recipes/yequake"; + sha256 = "1ps5r6k2903w9qbr3aszw3l3mgcg2zlnxlzbak99314if5k6aiak"; + name = "recipe"; + }; + packageRequires = [ dash emacs ]; + meta = { + homepage = "https://melpa.org/#/yequake"; + license = lib.licenses.free; + }; + }) {}; yesql-ghosts = callPackage ({ cider , dash , fetchFromGitHub @@ -102067,12 +108252,12 @@ melpaBuild { pname = "yoficator"; ename = "yoficator"; - version = "20180129.1252"; + version = "20181220.555"; src = fetchFromGitLab { owner = "link2xt"; repo = "yoficator"; - rev = "e0dc076cb0d1999cb41585b5f36322681109fe86"; - sha256 = "1vq07ndxrdry26dx3ci4yz1a1qdcr20yznj62y2f0wkyccrai9y9"; + rev = "95840df90063ba16a5f43c84de0746af6dfc01fc"; + sha256 = "1k9fxvc4jwbxddakig5lnk5xy79g3f6wn5151wdfk9ynq0m2fyrf"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5156f01564978718dd99ab3a54f19b6512de5c3c/recipes/yoficator"; @@ -102251,12 +108436,12 @@ melpaBuild { pname = "zenburn-theme"; ename = "zenburn-theme"; - version = "20180531.902"; + version = "20190317.1146"; src = fetchFromGitHub { owner = "bbatsov"; repo = "zenburn-emacs"; - rev = "eea429cb2cbde8674b2a17ccc2bda94b54575c01"; - sha256 = "12nyjxvlvr1m7wrkfv7l4w16h8n66ssw2mvwcl4b7xbx4d45x1da"; + rev = "0f14f780420602da823271fb2eb6251ff4daab9e"; + sha256 = "0anv22dhqpsgvag8vbvgdfbs50054715rhfj9z4qkysxwzzysmjr"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/zenburn-theme"; @@ -102319,6 +108504,32 @@ license = lib.licenses.free; }; }) {}; + zeno-theme = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "zeno-theme"; + ename = "zeno-theme"; + version = "20181026.1818"; + src = fetchFromGitHub { + owner = "jbharat"; + repo = "zeno-theme"; + rev = "0914c4a5b1b9499e7f1ca5699b1c3ea2f4be3f1a"; + sha256 = "1zl1ks7n35i9mn5w7ac3j15820fbgpbcmmysv25crvi4g9z94mqj"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/9703a222f51dc283e9462cceb5afeb009f7401dc/recipes/zeno-theme"; + sha256 = "0bqv1gdqlh7i48ckpgss6h9mmc9hpkqlb94aam0kkq2ga125gmwc"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/zeno-theme"; + license = lib.licenses.free; + }; + }) {}; zephir-mode = callPackage ({ cl-lib ? null , emacs , fetchFromGitHub @@ -102350,26 +108561,24 @@ zerodark-theme = callPackage ({ all-the-icons , fetchFromGitHub , fetchurl - , flycheck , lib - , magit , melpaBuild }: melpaBuild { pname = "zerodark-theme"; ename = "zerodark-theme"; - version = "20180528.26"; + version = "20181218.49"; src = fetchFromGitHub { owner = "NicolasPetton"; repo = "zerodark-theme"; - rev = "876cafc58a54c567456c4823f8c16edce94ba3ac"; - sha256 = "1g03d1sd1v91f2i66v4m02jy487r9dczif4rnrrwpi5j2iq0ycqx"; + rev = "a697570aeb5b8c008961e0869f5e05740f43113d"; + sha256 = "02i2vra853wb8nng37ybii70b3z6p10j5s3jnv9j2dlcnajbfvbr"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d00b78ead693e844e35c760fe2c39b8ed6cb0d81/recipes/zerodark-theme"; sha256 = "1nqzswmnq6h0av4rivqm237h7ghp7asa2nvls7nz4ma467p9qhp9"; name = "recipe"; }; - packageRequires = [ all-the-icons flycheck magit ]; + packageRequires = [ all-the-icons ]; meta = { homepage = "https://melpa.org/#/zerodark-theme"; license = lib.licenses.free; @@ -102383,16 +108592,16 @@ melpaBuild { pname = "zig-mode"; ename = "zig-mode"; - version = "20180309.1458"; + version = "20190108.1817"; src = fetchFromGitHub { - owner = "zig-lang"; + owner = "ziglang"; repo = "zig-mode"; - rev = "4f281e4748a4eae64efaa98d9dfd9b7c163fbed8"; - sha256 = "0pip0kgbxh4cf60j2kzgb9lvrm5vksg83mllk1pcs9mkbxdgjyww"; + rev = "c2deea85dd65c3e73c2771c56a998cbdeb9ff717"; + sha256 = "10k7i2fj3imbq09fkcgd4kjp7n1dn46119jqrd6kbx5inlkq1782"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/5cba49d25ebbaa9240d5d87d0c7ca48d928b2e4b/recipes/zig-mode"; - sha256 = "005lsgnsaj8rjkzbhi23g99xy9zln4ggkad11xqmn4xa6g199wly"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/zig-mode"; + sha256 = "1kg1x0l65nqqpzn5np41ya9khr1yqcg5ki7z3jw0g4wxdbz7lrbx"; name = "recipe"; }; packageRequires = [ emacs ]; @@ -102426,6 +108635,33 @@ license = lib.licenses.free; }; }) {}; + zmq = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "zmq"; + ename = "zmq"; + version = "20190326.852"; + src = fetchFromGitHub { + owner = "dzop"; + repo = "emacs-zmq"; + rev = "3965bec1ac232f0f7f35e7e91626e192688407b4"; + sha256 = "02lcgq53gsg3li6fhga4njxfs5vb6xdh07r8z4cq9rmwfm0wilfq"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/72f4dcc2723de826bf1af7235ac6d9119a243c63/recipes/zmq"; + sha256 = "14bbh00a58xgxyxl8zjxl57rf6351fnwsnk4cvvy341fvf86dklc"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs ]; + meta = { + homepage = "https://melpa.org/#/zmq"; + license = lib.licenses.free; + }; + }) {}; znc = callPackage ({ cl-lib ? null , fetchFromGitHub , fetchurl @@ -102773,12 +109009,12 @@ melpaBuild { pname = "zoutline"; ename = "zoutline"; - version = "20180314.1059"; + version = "20190211.851"; src = fetchFromGitHub { owner = "abo-abo"; repo = "zoutline"; - rev = "b3ee0f0e0b916838c2d2c249beba74ffdb8d5699"; - sha256 = "0sd0017piw0dis6dhpq5dkqd3acisxqgipl7dj8gmc1vnswhdwr8"; + rev = "2232139b64f9adabe81f48dd8d2f059e3f19edda"; + sha256 = "1hq8m8n1zq63k04z9h1wmp69r8mv6vb9fzxgslwl683kid6srqwi"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4a26341f491145938aee9b531cd861200bfa2f6d/recipes/zoutline"; @@ -102791,6 +109027,32 @@ license = lib.licenses.free; }; }) {}; + zpl-mode = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "zpl-mode"; + ename = "zpl-mode"; + version = "20180906.359"; + src = fetchFromGitHub { + owner = "ax487"; + repo = "zpl-mode"; + rev = "35e7e23c6baf31b5e65dd7405c8ab9b13c70637e"; + sha256 = "147d7ylpk77zcsjim0my6cbyms28yd7mfaigmzm009jc1bn4r7f5"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/0bf11cd6ceb2633f968134d80f37d32f91c48227/recipes/zpl-mode"; + sha256 = "0wqhwzanvc1gpnykfqzi02p9zx0c1n6gnavg5dv1mlmc8x0hr67s"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/zpl-mode"; + license = lib.licenses.free; + }; + }) {}; zpresent = callPackage ({ dash , emacs , fetchhg @@ -102819,6 +109081,32 @@ license = lib.licenses.free; }; }) {}; + zprint-mode = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "zprint-mode"; + ename = "zprint-mode"; + version = "20181111.1145"; + src = fetchFromGitHub { + owner = "pesterhazy"; + repo = "zprint-mode.el"; + rev = "6b979f6cb50d1f3da0ec44f39fd0dd893785ca44"; + sha256 = "0fbm0klda8rbybp6rb1296czn8gc1c7bvcyd40qlg5jy1wxwjbd3"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/125f6358dd8d715b61b12de5d39215453e53ea10/recipes/zprint-mode"; + sha256 = "07ziwnk1c620s7rp42fylpw5vgin0p7aapp3g8aif60vcb8g3m7y"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/zprint-mode"; + license = lib.licenses.free; + }; + }) {}; ztree = callPackage ({ cl-lib ? null , fetchFromGitHub , fetchurl @@ -102855,13 +109143,13 @@ version = "20170112.2205"; src = fetchFromGitHub { owner = "philiparvidsson"; - repo = "emacs-zweilight-theme"; + repo = "Zweilight-Theme-for-Emacs"; rev = "890f27c939d8a358c9ef0f402fc3314f475ec874"; sha256 = "0pl254c61405n6sgr01qj4z42vqdvbmf59nz55cl23l2q7kdbfdv"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/37422e259ada59122e1b4a31a4ae4dc00be797b9/recipes/zweilight-theme"; - sha256 = "1ykhnyiv5jvn34178mzg2cy6ynvc7jild6zwdqwr3qay87zffmjf"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/zweilight-theme"; + sha256 = "1j8skn9hz1zkpdg7q0njv5b50cbvrixjjmkp43p58gx98q02p0kq"; name = "recipe"; }; packageRequires = []; @@ -102905,12 +109193,12 @@ melpaBuild { pname = "zzz-to-char"; ename = "zzz-to-char"; - version = "20171231.2219"; + version = "20190216.257"; src = fetchFromGitHub { owner = "mrkkrp"; repo = "zzz-to-char"; - rev = "8ddda49de3356d8fa0308d79b5d68272baf2c57b"; - sha256 = "17d8mmmgj2w4nm2nfg12g35i7zbp4bp47ix5ifqqm1zvwmbmzrqx"; + rev = "9f08bf94c56a39a2b65f90b852da76dfa6ec2a6f"; + sha256 = "1ln22xcqcs6hbxs99lmwhsjx1rbg7ksfpl17zfsvpnf5c28by3lm"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7063cbc1f1501ce81552d7ef1d42d1309f547c42/recipes/zzz-to-char"; @@ -102923,4 +109211,4 @@ license = lib.licenses.free; }; }) {}; - } + } \ No newline at end of file diff --git a/pkgs/applications/editors/emacs-modes/melpa-packages.nix b/pkgs/applications/editors/emacs-modes/melpa-packages.nix index bec845b815ce7687fb250a5a1180a4d08491b9ac..6f15d33f78b6ea86365ce2b8d2ae119ce1dfc34d 100644 --- a/pkgs/applications/editors/emacs-modes/melpa-packages.nix +++ b/pkgs/applications/editors/emacs-modes/melpa-packages.nix @@ -59,8 +59,11 @@ self: inherit (self.melpaPackages) easy-kill; }; - # missing git - egg = markBroken super.egg; + egg = super.egg.overrideAttrs (attrs: { + # searches for Git at build time + nativeBuildInputs = + (attrs.nativeBuildInputs or []) ++ [ external.git ]; + }); # upstream issue: missing file header elmine = markBroken super.elmine; @@ -86,6 +89,12 @@ self: # Expects bash to be at /bin/bash flycheck-rtags = markBroken super.flycheck-rtags; + forge = super.forge.overrideAttrs (attrs: { + # searches for Git at build time + nativeBuildInputs = + (attrs.nativeBuildInputs or []) ++ [ external.git ]; + }); + # build timeout graphene = markBroken super.graphene; @@ -124,11 +133,7 @@ self: maxframe = markBroken super.maxframe; magit = - (super.magit.override { - # version of magit-popup needs to match magit - # https://github.com/magit/magit/issues/3286 - inherit (self.melpaPackages) magit-popup; - }).overrideAttrs (attrs: { + super.magit.overrideAttrs (attrs: { # searches for Git at build time nativeBuildInputs = (attrs.nativeBuildInputs or []) ++ [ external.git ]; @@ -146,6 +151,30 @@ self: (attrs.nativeBuildInputs or []) ++ [ external.git ]; }); + magithub = super.magithub.overrideAttrs (attrs: { + # searches for Git at build time + nativeBuildInputs = + (attrs.nativeBuildInputs or []) ++ [ external.git ]; + }); + + magit-svn = super.magit-svn.overrideAttrs (attrs: { + # searches for Git at build time + nativeBuildInputs = + (attrs.nativeBuildInputs or []) ++ [ external.git ]; + }); + + magit-todos = super.magit-todos.overrideAttrs (attrs: { + # searches for Git at build time + nativeBuildInputs = + (attrs.nativeBuildInputs or []) ++ [ external.git ]; + }); + + magit-filenotify = super.magit-filenotify.overrideAttrs (attrs: { + # searches for Git at build time + nativeBuildInputs = + (attrs.nativeBuildInputs or []) ++ [ external.git ]; + }); + # missing OCaml merlin = markBroken super.merlin; @@ -180,6 +209,13 @@ self: # upstream issue: missing file header qiita = markBroken super.qiita; + racer = super.racer.overrideAttrs (attrs: { + postPatch = attrs.postPatch or "" + '' + substituteInPlace racer.el \ + --replace /usr/local/src/rust/src ${external.rustPlatform.rustcSrc} + ''; + }); + # upstream issue: missing file footer seoul256-theme = markBroken super.seoul256-theme; diff --git a/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix b/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix index df0ec7fcb12e0a8e50acf91381486e59355485d0..e1f83e9cefad83f3e63c7035d6fbdfb40e8687ec 100644 --- a/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix +++ b/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix @@ -33,12 +33,12 @@ melpaBuild { pname = "a"; ename = "a"; - version = "0.1.0.-3.4"; + version = "0.1.1"; src = fetchFromGitHub { owner = "plexus"; repo = "a.el"; - rev = "3af0122abac723f0d3dc21ee50eeb81afa26d361"; - sha256 = "0grwpy4ssmn2m8aihfkxb7ifl7ql2hgicw16wzl0crpy5fndh1mp"; + rev = "8583685c32069a73ccae0100e990e7b39c901737"; + sha256 = "00v9w6qg3bkwdhypq0ssf0phdh0f4bcq59c20lngd6vhk0204dqi"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a226f1d81cd1ae81b91c1102fbe40aac2eddcaa8/recipes/a"; @@ -103,6 +103,35 @@ license = lib.licenses.free; }; }) {}; + abs-mode = callPackage ({ emacs + , erlang + , fetchFromGitHub + , fetchurl + , flymake ? null + , lib + , maude-mode + , melpaBuild }: + melpaBuild { + pname = "abs-mode"; + ename = "abs-mode"; + version = "1.5"; + src = fetchFromGitHub { + owner = "abstools"; + repo = "abs-mode"; + rev = "a9a512992f681669dc59fe9ca86f12b9688b5454"; + sha256 = "0v6d7cxnj4mil7c7y4m1csiznl6rmzxg9snwhhv6wdqfw112kn8j"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/aabccc4061e7764069796e12ee9688b67651cf70/recipes/abs-mode"; + sha256 = "148y99iaxcnjaacw017chwq0sq05ywgy5jx1lhp9ly7innrl9i1k"; + name = "recipe"; + }; + packageRequires = [ emacs erlang flymake maude-mode ]; + meta = { + homepage = "https://melpa.org/#/abs-mode"; + license = lib.licenses.free; + }; + }) {}; abyss-theme = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -442,14 +471,14 @@ ename = "ac-html"; version = "0.31"; src = fetchFromGitHub { - owner = "cheunghy"; + owner = "zhangkaiyulw"; repo = "ac-html"; rev = "415a78c3b84855b0c0411832d21a0fb63239b184"; sha256 = "19v9515ixg22m7h7riix8w3vyhzax1m2pbwdirp59v532xn9b0cz"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/ce370d60b2f4dd0570b631f6ca92a221e1fe2de6/recipes/ac-html"; - sha256 = "0qf8f75b6dvy844dq8vh8d9c6k599rh1ynjcif9bwvdpf6pxwvqa"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3416586d4d782cdd61a56159c5f80a0ca9b3ddf4/recipes/ac-html"; + sha256 = "1vidmvylwwvraf8k63dvxv47ism49n6pp0f38l5rl4iaznhkdr84"; name = "recipe"; }; packageRequires = [ auto-complete web-completion-data ]; @@ -628,7 +657,7 @@ melpaBuild { pname = "ac-php"; ename = "ac-php"; - version = "2.0.5"; + version = "2.0.7"; src = fetchFromGitHub { owner = "xcwen"; repo = "ac-php"; @@ -660,12 +689,12 @@ melpaBuild { pname = "ac-php-core"; ename = "ac-php-core"; - version = "2.0.5"; + version = "2.0.7"; src = fetchFromGitHub { owner = "xcwen"; repo = "ac-php"; - rev = "c815709f46b87cd3677f0b29eecae4973709645a"; - sha256 = "04rbq9q86am6fm4z78pm7lkgjr2p01iq41yfd0qmas5bnvfbzsvk"; + rev = "e270e65338d5e57d0df4e167d39cd7c11537f385"; + sha256 = "16ahvzqlbla7qid7xq0s6g1s8pfxxixvjq7vh0v2w5c1rvqc2vb7"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/ac-php-core"; @@ -715,12 +744,12 @@ melpaBuild { pname = "ac-rtags"; ename = "ac-rtags"; - version = "2.18"; + version = "2.31"; src = fetchFromGitHub { owner = "Andersbakken"; repo = "rtags"; - rev = "7e6b6f21935eedbe4678ba91c5531ac162b51a5a"; - sha256 = "12629d1s8rplhjh17n3bmgnkpscq4gljgyl84j8qyhh40dwq1qk0"; + rev = "5e51faa79016b3302d8037e13329a4320de524f5"; + sha256 = "0qw6l96k2hxv3jvjw3nvas7m73jqj7mcchawzss8by92l61n0cx7"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/ac-rtags"; @@ -1029,30 +1058,6 @@ license = lib.licenses.free; }; }) {}; - ack-menu = callPackage ({ fetchFromGitHub - , fetchurl - , lib - , melpaBuild }: - melpaBuild { - pname = "ack-menu"; - version = "0.2.3"; - src = fetchFromGitHub { - owner = "chumpage"; - repo = "ack-menu"; - rev = "37e9979eb65e3803fc00829377397b4e6f2bd059"; - sha256 = "0hib4a8385q2czi1yqs0hwnva2xi7kw0bdfnrgha1hrl30rilp2f"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/8ff331ed45e5b7697e4862e723408602ecc98bc7/recipes/ack-menu"; - sha256 = "1d2kw04ndxji2qjcm1b65qnxpp08zx8gbia8bl6x6mnjb2isc2d9"; - name = "ack-menu"; - }; - packageRequires = []; - meta = { - homepage = "https://melpa.org/#/ack-menu"; - license = lib.licenses.free; - }; - }) {}; actionscript-mode = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -1078,6 +1083,34 @@ license = lib.licenses.free; }; }) {}; + activity-watch-mode = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , projectile + , request }: + melpaBuild { + pname = "activity-watch-mode"; + ename = "activity-watch-mode"; + version = "1.0.2"; + src = fetchFromGitHub { + owner = "pauldub"; + repo = "activity-watch-mode"; + rev = "27a0841b32dfd2b691a1dcf3a4a50d74660676b1"; + sha256 = "1hfmll3g33529pshzvh2gxqr0h53p1v68wq0zlq2h2wfml89bzr9"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/9780c413da8001651191fb8f9708fe9691d714cf/recipes/activity-watch-mode"; + sha256 = "0k0ai6658gb43c4ylrq66zqzrfh6ksvkf0kxj2qx8a5a1aw9bd4d"; + name = "recipe"; + }; + packageRequires = [ emacs projectile request ]; + meta = { + homepage = "https://melpa.org/#/activity-watch-mode"; + license = lib.licenses.free; + }; + }) {}; adafruit-wisdom = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -1302,8 +1335,8 @@ sha256 = "02nkcin0piv7s93c9plhy361dbqr78m0gd19myc7qb7gnm36kzpn"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/d8674b54ad5e17d1da1e499c7d8113f8acd8fd5d/recipes/ahk-mode"; - sha256 = "066l4hsb49wbyv381qgn9k4hn8gxlzi20h3qaim9grngjj5ljbni"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/e608f40d00a3b2a80a6997da00e7d04f76d8ef0d/recipes/ahk-mode"; + sha256 = "0jx5vhlfw5r6l4125bjjbf7dl1589ac6j419swx26k3p8p58d93r"; name = "recipe"; }; packageRequires = [ emacs ]; @@ -1455,12 +1488,12 @@ melpaBuild { pname = "alect-themes"; ename = "alect-themes"; - version = "0.8"; + version = "0.9"; src = fetchFromGitHub { owner = "alezost"; repo = "alect-themes"; - rev = "1812abbe0079d1075525d9fb2da6fcfec7db3766"; - sha256 = "0sl2njnhm37cya06y39ls8p3zwpjwyv1pd7w3yfk5frz24vaxlcq"; + rev = "a24065dc780738e914140d617bfe119c889d9c78"; + sha256 = "0nffxpdm0sa7bynwi0rmlwpc4qmvbda5ankhzz7fmk4ap9fkjxv9"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/84c25a290ae4bcc4674434c83c66ae128e4c4282/recipes/alect-themes"; @@ -1473,7 +1506,8 @@ license = lib.licenses.free; }; }) {}; - alert = callPackage ({ fetchFromGitHub + alert = callPackage ({ cl-lib ? null + , fetchFromGitHub , fetchurl , gntp , lib @@ -1482,19 +1516,19 @@ melpaBuild { pname = "alert"; ename = "alert"; - version = "1.2"; + version = "1.3"; src = fetchFromGitHub { owner = "jwiegley"; repo = "alert"; - rev = "b301478e34a5c8bd27c17fc7605e6dd576e97935"; - sha256 = "1vpc3q40m6dcrslki4bg725j4kv6c6xfxwjjl1ilg7la49fwwf26"; + rev = "9f329be87820474925f29b52a1131084c8ea95b9"; + sha256 = "0lc0p5cl4hfrzw1z2ghb11k1lvljn5m08jw5fmgwgxv667kwh49r"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/113953825ac4ff98d90a5375eb48d8b7bfa224e7/recipes/alert"; sha256 = "0x3cvczq09jvshz435jw2fjm69457x2wxdvvbbjq46nfnybhi118"; name = "recipe"; }; - packageRequires = [ gntp log4e ]; + packageRequires = [ cl-lib gntp log4e ]; meta = { homepage = "https://melpa.org/#/alert"; license = lib.licenses.free; @@ -1686,12 +1720,12 @@ melpaBuild { pname = "android-mode"; ename = "android-mode"; - version = "0.5.0"; + version = "0.5.1"; src = fetchFromGitHub { owner = "remvee"; repo = "android-mode"; - rev = "f274da87429617b0b9c5889d46b36de64d982da4"; - sha256 = "17m4hp2qb54widwadv23amc1lasnbwzh2ipc6180fnajg8zcbvyw"; + rev = "f8cabafaa266b56fcf4b3c6942b3ae062735251a"; + sha256 = "0npx54w565mkxkgkpv02dgmfc44i1256p0w331pf3nfxq145xh27"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/77633aa340803a433570327943fbe31b396f4355/recipes/android-mode"; @@ -1713,14 +1747,14 @@ ename = "angular-mode"; version = "1.0"; src = fetchFromGitHub { - owner = "omouse"; + owner = "rudolfolah"; repo = "angularjs-mode"; rev = "026558260eb2890c72df6a59ae8762669772282b"; sha256 = "0ljwaccb0jrp7zrnkp0383185vg3r9pf324al72d445syff5pa6y"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/7b120c7f97e8d313387d2e9d9210e7fcdd10523b/recipes/angular-mode"; - sha256 = "1bwfmjldnxki0lqi3ys6r2a3nlhbwm1dibsg2dvzirq8qql02w1i"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3416586d4d782cdd61a56159c5f80a0ca9b3ddf4/recipes/angular-mode"; + sha256 = "0pq4lyhppzi806n1k07n0gdhr8z8z71ri12my0pl81rl5j2z69l2"; name = "recipe"; }; packageRequires = []; @@ -1756,6 +1790,36 @@ license = lib.licenses.free; }; }) {}; + anki-mode = callPackage ({ dash + , emacs + , fetchFromGitHub + , fetchurl + , lib + , markdown-mode + , melpaBuild + , request + , s }: + melpaBuild { + pname = "anki-mode"; + ename = "anki-mode"; + version = "0.1"; + src = fetchFromGitHub { + owner = "davidshepherd7"; + repo = "anki-mode"; + rev = "06dd1bd49b7a2b43cf9b744dd5caf67809f39d74"; + sha256 = "0ryyyihvvrcipj2bkx24cx1ibgcymnsbn79ibvmhb3wbad3hr072"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/fc02d06e7c7e9230e4b082923b889e1e83676263/recipes/anki-mode"; + sha256 = "1d429ws6kmswcyk0dnb303z01kq475n60a520hj258x23vp8802q"; + name = "recipe"; + }; + packageRequires = [ dash emacs markdown-mode request s ]; + meta = { + homepage = "https://melpa.org/#/anki-mode"; + license = lib.licenses.free; + }; + }) {}; annotate = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -1842,12 +1906,12 @@ melpaBuild { pname = "ansible"; ename = "ansible"; - version = "0.1.0"; + version = "0.2.0"; src = fetchFromGitHub { owner = "k1LoW"; repo = "emacs-ansible"; - rev = "e9b9431738de4808d8ef70871069f68885cc0d98"; - sha256 = "03d240jngxw51ybrsjw8kdxygrr0ymdckzwga2jr1bqf26v559j2"; + rev = "8a097176d6772b6667254dbbe19c5fb64527bf5d"; + sha256 = "1m2cb88jb1wxa9rydkbn5llx2gql453l87b4cgzsjllha6j1488k"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8e45bf58b980ff542a5e887707a6361eb5ac0492/recipes/ansible"; @@ -2141,6 +2205,32 @@ license = lib.licenses.free; }; }) {}; + archive-rpm = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "archive-rpm"; + ename = "archive-rpm"; + version = "0.1"; + src = fetchFromGitHub { + owner = "legoscia"; + repo = "archive-rpm"; + rev = "59f83caebbd2f92fd634f6968e6d17b50ffa3dc7"; + sha256 = "11ssqaax4jl7r3z5agzmc74sjsfvl0m3xvp015ncqzpzysla47g3"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/e5f5653e62afdc022eac30bda3d21bd2d2625d2e/recipes/archive-rpm"; + sha256 = "0s53zbn71lb008gw3f0b5w4q0pw0vgiqbffgnyib24sh03ijl7z7"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/archive-rpm"; + license = lib.licenses.free; + }; + }) {}; artbollocks-mode = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -2227,12 +2317,12 @@ melpaBuild { pname = "assess"; ename = "assess"; - version = "0.4"; + version = "0.5"; src = fetchFromGitHub { owner = "phillord"; repo = "assess"; - rev = "87118057b3ae0e6542fa5e22050eb44d6efe8baa"; - sha256 = "0cilb32zr38x9kfzfyr1ciag5pzbgp1dk62r7lhn8dxc2ip6f11j"; + rev = "7a3189a5870fb20d179ff3ea761707a046814966"; + sha256 = "0qif6q4j0i5p2izj9p7sv1j2s6a95zklswfx8x2shv22dkphznkl"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6f917a34506193f2674b195569dfd3c13ba62c1d/recipes/assess"; @@ -2323,6 +2413,36 @@ license = lib.licenses.free; }; }) {}; + attrap = callPackage ({ dash + , emacs + , f + , fetchFromGitHub + , fetchurl + , flycheck + , lib + , melpaBuild + , s }: + melpaBuild { + pname = "attrap"; + ename = "attrap"; + version = "1.0"; + src = fetchFromGitHub { + owner = "jyp"; + repo = "attrap"; + rev = "a971acb251e343d4c6b0253f69dcce0c2cee0fac"; + sha256 = "0p93y151730ga7v9xa5gkp306s32qw53086i829fcbxf83c2wslv"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/b7420eca80a8c1776d68b1f121511cc265cc70dc/recipes/attrap"; + sha256 = "1gxnrlsn9xcnnx0nhjxnhrz9bdpk2kpzjhj8jhjmwws9y361fimh"; + name = "recipe"; + }; + packageRequires = [ dash emacs f flycheck s ]; + meta = { + homepage = "https://melpa.org/#/attrap"; + license = lib.licenses.free; + }; + }) {}; auctex-latexmk = callPackage ({ auctex , fetchFromGitHub , fetchurl @@ -2410,12 +2530,12 @@ melpaBuild { pname = "auth-source-pass"; ename = "auth-source-pass"; - version = "4.0.1"; + version = "4.0.2"; src = fetchFromGitHub { owner = "DamienCassou"; repo = "auth-password-store"; - rev = "5690092e40c790384692d8e8da3451e6878d8c17"; - sha256 = "1dv202z8briifd4aqn8yvn4kd6zi1cabb2p86qcjj40lzkgn6w3p"; + rev = "5822a35fa8cb74b8fc34600e82dbba1d341ce745"; + sha256 = "0qkyqnfx596s0ycavm4ri0nbzmy2c6g7ifgql798p0pwwjgbsjyy"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5e268441634a6e58a00e577d6e2292fa226c11b8/recipes/auth-source-pass"; @@ -2437,12 +2557,12 @@ melpaBuild { pname = "auto-compile"; ename = "auto-compile"; - version = "1.4.3"; + version = "1.5.1"; src = fetchFromGitHub { owner = "emacscollective"; repo = "auto-compile"; - rev = "6ce4255ab9a0b010ef8414c5bd9a6d6d9eea012f"; - sha256 = "013vw4sgw6hpz7kskilndv7i7ik40asrkgicghjbygwk0lj5ran3"; + rev = "e6bbb1371324c8884af3b201e9adbc9296eb2ff4"; + sha256 = "1jyn7yvbvk7cydy3pzwqlb0yxf5cxdiipa1gnigdk9wdbj68wjjk"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/57a2fb9524df3fdfdc54c403112e12bd70888b23/recipes/auto-compile"; @@ -2830,14 +2950,14 @@ ename = "autopair"; version = "0.6.1"; src = fetchFromGitHub { - owner = "capitaomorte"; + owner = "joaotavora"; repo = "autopair"; rev = "2d1eb81d12f71248ad305e70cceddf08d4fe2b39"; sha256 = "0g6kd1r0wizamw26bhp5jkvpsd98rcybkfchc622b9v5b89a07nq"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/autopair"; - sha256 = "161qhk8rc1ldj9hpg0k9phka0gflz9vny7gc8rnylk90p6asmr28"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/4150455d424326667390f72f6edd22b274d9fa01/recipes/autopair"; + sha256 = "0l2ypsj3dkasm0lj9jmnaqjs3rv97ldfw8cmayv77mzfd6lhjmh3"; name = "recipe"; }; packageRequires = [ cl-lib ]; @@ -2858,14 +2978,14 @@ ename = "autothemer"; version = "0.2.2"; src = fetchFromGitHub { - owner = "sebastiansturm"; + owner = "jasonm23"; repo = "autothemer"; rev = "8c467f57571c154129d660dfccebd151c998f2d9"; sha256 = "0cd2pqh6k32sjidkcd8682y4l6mx52xw4a05f38kk8nsrk28m74k"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/3d7d7beed6ba10d7aa6a36328a696ba2d0d21dc2/recipes/autothemer"; - sha256 = "1lcyqfzx7qpkr3ajk0zi0mn32yvcwn06f61vhghn9c66xambsr7f"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/9a15a17a5aa78aed72958b2a1bde53f0c0ab5be7/recipes/autothemer"; + sha256 = "0wahmbihyr3dx4lgiwi7041gvmmqlzlv7ss25fw90srs9n2h05gj"; name = "recipe"; }; packageRequires = [ cl-lib dash emacs ]; @@ -3043,6 +3163,33 @@ license = lib.licenses.free; }; }) {}; + backline = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , outline-minor-faces }: + melpaBuild { + pname = "backline"; + ename = "backline"; + version = "0.1.3"; + src = fetchFromGitHub { + owner = "tarsius"; + repo = "backline"; + rev = "960deaef1d87658f79a0bd95c85946371d211590"; + sha256 = "017w7qa74laq04h359znn9kjsqpl91gypsqsldpnlrb25jw0z0gl"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/f252e45e8bd6e8af1267755d108f378a974ddaf1/recipes/backline"; + sha256 = "0y5y048s6r3mcgjfxpmwarnhn6lh00j9cla6qjsd83f79hw5cq4y"; + name = "recipe"; + }; + packageRequires = [ emacs outline-minor-faces ]; + meta = { + homepage = "https://melpa.org/#/backline"; + license = lib.licenses.free; + }; + }) {}; badwolf-theme = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -3077,12 +3224,12 @@ melpaBuild { pname = "banner-comment"; ename = "banner-comment"; - version = "2.6.2"; + version = "2.7"; src = fetchFromGitHub { owner = "WJCFerguson"; repo = "banner-comment"; - rev = "fedbb071d043106a30e378ee58b96e349e8068ed"; - sha256 = "1d6yp96rv6p9f3b8ddrpzb3ng2v0vlqb1akcpd7dria6y6aai8l4"; + rev = "ac52f6b24e590787a385c08cc3751d6f2ddca815"; + sha256 = "1630py97ldh3w71s26jbcxk58529g03sl0padnzqj0rbqy82yw8w"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4bb69f15cb6be38a86abf4d15450a29c9a819068/recipes/banner-comment"; @@ -3171,31 +3318,57 @@ license = lib.licenses.free; }; }) {}; - bbcode-mode = callPackage ({ fetchFromGitHub + bbcode-mode = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub , fetchurl , lib , melpaBuild }: melpaBuild { pname = "bbcode-mode"; ename = "bbcode-mode"; - version = "2.1.0"; + version = "2.3.0"; src = fetchFromGitHub { owner = "lassik"; - repo = "bbcode-mode"; - rev = "73c56a40301c8b017d3e64c08dccc80d1dc47e59"; - sha256 = "0g0dxk33pz18awv7ncv64c2a4lmdx9sigppkvq2mb9za47azk8dh"; + repo = "emacs-bbcode-mode"; + rev = "e16619c80ea21154b4a4ccc2e13d0077e97c9caf"; + sha256 = "0l7jygskxmbckf3xhbjzgwzkrj2m6z1n3i2l7qc9ii4i3mhpx0ai"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/1ef095d23cc043f5d14a9deea788ed71d90c586c/recipes/bbcode-mode"; - sha256 = "1kfxzp0916gdphp4dkk4xbramsbqmg6mazvfqni86mra41rdq6sb"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/57c307eecfc0fccfdc525ce6ff63a69ff3b78874/recipes/bbcode-mode"; + sha256 = "0rrhvwb4hrg2sbjbpgdghcgrc6gwpq3vax28r5mlacn5w5x31qjb"; name = "recipe"; }; - packageRequires = []; + packageRequires = [ cl-lib emacs ]; meta = { homepage = "https://melpa.org/#/bbcode-mode"; license = lib.licenses.free; }; }) {}; + bbdb = callPackage ({ fetchgit + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "bbdb"; + ename = "bbdb"; + version = "3.2"; + src = fetchgit { + url = "https://git.savannah.nongnu.org/git/bbdb.git"; + rev = "307bad59bc3debf250a8617ab699b50a9402c0ae"; + sha256 = "1i01yyr6cya2dmdpydam72mnvxj4p3mj7pbnw19lrjlfzahmajir"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/caaa21f235c4864f6008fb454d0a970a2fd22a86/recipes/bbdb"; + sha256 = "0mm8n3dbi8lap3pjr97n2f675iy7sg476sm1vxygbc3j67rq1zb2"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/bbdb"; + license = lib.licenses.free; + }; + }) {}; bbdb- = callPackage ({ bbdb , fetchFromGitHub , fetchurl @@ -3454,6 +3627,33 @@ license = lib.licenses.free; }; }) {}; + bibclean-format = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , reformatter }: + melpaBuild { + pname = "bibclean-format"; + ename = "bibclean-format"; + version = "0.0.2"; + src = fetchFromGitHub { + owner = "peterwvj"; + repo = "bibclean-format"; + rev = "b4003950a925d1c659bc359ab5e88e4441775d77"; + sha256 = "1x5hbs9j4ms93p080267kjyqpk81il3x7q87awf6qzz5xhc20d3b"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/a96cc66b22e7ec145ffa3031089a3d60e77b8c42/recipes/bibclean-format"; + sha256 = "1lvi1r612jb6w0j6mbq93gk9f7hmb1pn42lfs47gvf0prmjf1zyb"; + name = "recipe"; + }; + packageRequires = [ emacs reformatter ]; + meta = { + homepage = "https://melpa.org/#/bibclean-format"; + license = lib.licenses.free; + }; + }) {}; biblio = callPackage ({ biblio-core , emacs , fetchFromGitHub @@ -3518,12 +3718,12 @@ melpaBuild { pname = "bicycle"; ename = "bicycle"; - version = "0.1.0"; + version = "0.2.0"; src = fetchFromGitHub { owner = "tarsius"; repo = "bicycle"; - rev = "30c451e6c6910c5aa5ed2b189679ca5e3bc0d6f7"; - sha256 = "1kyiyq79shwkycgl3373pwgqbg1aqxsai44yl9vw17s37hhff70n"; + rev = "42a5db3514019d539500a67f913411f5533a1eb3"; + sha256 = "1nanf0dp7kqzs2mc8gzr9qzn9v6q86sdr35pzysdl41xqydxpsrd"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ec9b4138ffaf81b556e01b85ce4b112e77909260/recipes/bicycle"; @@ -3544,12 +3744,12 @@ melpaBuild { pname = "bifocal"; ename = "bifocal"; - version = "0.0.3"; + version = "0.0.5"; src = fetchFromGitHub { owner = "riscy"; repo = "bifocal-mode"; - rev = "a8b222b069a6bd64531b4780905989797bad8abe"; - sha256 = "0c6vzh35lj3pg9wd4v2fy6xdmcg9kq3n5br6rp4lx257gxglzpwh"; + rev = "add30c678488cec04976a85ba8cda20805938a01"; + sha256 = "01j8s6c3qm4scxy1dk07l41y0n55gz83zzfi254kc2vyx02vqg7f"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/79e71995bd8452bad2e717884f148ec74c9735fc/recipes/bifocal"; @@ -3588,6 +3788,33 @@ license = lib.licenses.free; }; }) {}; + bind-chord = callPackage ({ bind-key + , fetchFromGitHub + , fetchurl + , key-chord + , lib + , melpaBuild }: + melpaBuild { + pname = "bind-chord"; + ename = "bind-chord"; + version = "2.4"; + src = fetchFromGitHub { + owner = "jwiegley"; + repo = "use-package"; + rev = "33127b706e66fb20dfa40d94eb553dd7d6ef9197"; + sha256 = "1iz7ibdvf3bnfkwfhakigvrdzg69qgx3z7qayq54spx3rpxf7x0b"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/6240afa625290187785e4b7535ee7b0d7aad8969/recipes/bind-chord"; + sha256 = "1hyhs3iypyg5730a20axcfzrrglm4nbgdz8x1ifkaa0iy5zc9hb0"; + name = "recipe"; + }; + packageRequires = [ bind-key key-chord ]; + meta = { + homepage = "https://melpa.org/#/bind-chord"; + license = lib.licenses.free; + }; + }) {}; bind-key = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -3595,12 +3822,12 @@ melpaBuild { pname = "bind-key"; ename = "bind-key"; - version = "2.3"; + version = "2.4"; src = fetchFromGitHub { owner = "jwiegley"; repo = "use-package"; - rev = "d867b0370e4e311c71665ccaa418374a15097461"; - sha256 = "193a9x1d6c8hprinrls2mpplrab2syn64zjyfgxwzisjqgik02dy"; + rev = "c03d153e5882109e24c016d3afa6940af673ede6"; + sha256 = "0zyl8dfg8acf99966sp8i5iky1mvn2h016viqk48s0hjv9va0wii"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d39d33af6b6c9af9fe49bda319ea05c711a1b16e/recipes/bind-key"; @@ -3696,12 +3923,12 @@ melpaBuild { pname = "bm"; ename = "bm"; - version = "201807"; + version = "201808"; src = fetchFromGitHub { owner = "joodland"; repo = "bm"; - rev = "b1bc10b1e9f01c48a7eedb9b08a22d05e7baed3c"; - sha256 = "16kfzi6chf28jyrsmz0jba3qq3mvxqambsdh09vr76ivmwbv48gh"; + rev = "d224b6cd8341db4c2e11263c346dd44fb37fcd88"; + sha256 = "18xwm1xj436bwa2l3dkfx6hlj19y6f0xqd3jbd06j4g3idpryqma"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/bm"; @@ -3714,6 +3941,33 @@ license = lib.licenses.free; }; }) {}; + bnf-mode = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "bnf-mode"; + ename = "bnf-mode"; + version = "0.3.2"; + src = fetchFromGitHub { + owner = "sergeyklay"; + repo = "bnf-mode"; + rev = "ac004f60012d648bf8c0e87d841935461279587a"; + sha256 = "0v9lc2kr8x8r59z7vlv89l7slcq3m05k9abd5ds46v4xv15bh2jp"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/217bde4ccd2d68dc14b1bfee22fbc99cd4109952/recipes/bnf-mode"; + sha256 = "027pn2lvqsxyj9ii5svql2sw4xm9wrd9zy7ms8vayv737w5xd3n1"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs ]; + meta = { + homepage = "https://melpa.org/#/bnf-mode"; + license = lib.licenses.free; + }; + }) {}; bnfc = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -3846,26 +4100,30 @@ license = lib.licenses.free; }; }) {}; - borg = callPackage ({ fetchFromGitHub + borg = callPackage ({ dash + , emacs + , epkg + , fetchFromGitHub , fetchurl , lib + , magit , melpaBuild }: melpaBuild { pname = "borg"; ename = "borg"; - version = "2.0.0"; + version = "3.1.0"; src = fetchFromGitHub { owner = "emacscollective"; repo = "borg"; - rev = "34eac585d6829e17ce59b09fe6ad5d675302c096"; - sha256 = "1q7k2c7pxcywg6xjk8awg73skyw59a6w4aa9sxbsz9vdj2zn04k9"; + rev = "4ffec24967ba805be2b2f1750e7cfffb85e26a1f"; + sha256 = "0hrl6sg6p73d8f7xkpr3z30k4w5f5c52ygcd4db8zrh8lgnvxb9q"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/878ab90d444f3a1fd2c9f9068ca7b477e218f1da/recipes/borg"; sha256 = "0gn4hf7hn190gl0kg59nr6jzjnb39c0hy9b3brrsfld9hyxga9jr"; name = "recipe"; }; - packageRequires = []; + packageRequires = [ dash emacs epkg magit ]; meta = { homepage = "https://melpa.org/#/borg"; license = lib.licenses.free; @@ -4191,12 +4449,12 @@ melpaBuild { pname = "bui"; ename = "bui"; - version = "1.1.0"; + version = "1.2.1"; src = fetchFromGitHub { owner = "alezost"; repo = "bui.el"; - rev = "3bf8af2f339d2483203eda2c97a61b8771c3269d"; - sha256 = "1qx7cdm7jd15rf1silwj1yh0mg5fhldfi001k1msi50nyni90c82"; + rev = "9162c24b75799857d54838d961c60776ffcd657e"; + sha256 = "0sszdl4kvqbihdh8d7mybpp0d8yw2p3gyiipjcxz9xhvvmw3ww4x"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/38b7c9345de75a707b4a73e8bb8e2f213e4fd739/recipes/bui"; @@ -4209,6 +4467,34 @@ license = lib.licenses.free; }; }) {}; + build-farm = callPackage ({ bui + , emacs + , fetchFromGitHub + , fetchurl + , lib + , magit-popup + , melpaBuild }: + melpaBuild { + pname = "build-farm"; + ename = "build-farm"; + version = "0.2.2"; + src = fetchFromGitHub { + owner = "alezost"; + repo = "build-farm.el"; + rev = "5c268a3c235ace0d79ef1ec82c440120317e06f5"; + sha256 = "0i0bwbav5861j2y15j9nd5m9rdqg9q97zgcbld8pivr9nyxy63lz"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/bc97bf56ea50788ecbbbb1f46e188e8487370936/recipes/build-farm"; + sha256 = "0dbq3sc1x0cj06hv3mlk0zw0cijdwjszicylv14m1wahal33xjrw"; + name = "recipe"; + }; + packageRequires = [ bui emacs magit-popup ]; + meta = { + homepage = "https://melpa.org/#/build-farm"; + license = lib.licenses.free; + }; + }) {}; build-status = callPackage ({ cl-lib ? null , fetchFromGitHub , fetchurl @@ -4245,14 +4531,14 @@ ename = "bundler"; version = "1.1.0"; src = fetchFromGitHub { - owner = "tobiassvn"; + owner = "endofunky"; repo = "bundler.el"; rev = "4cb4fafe092d587cc9e58ff61cf900fb7f409adf"; sha256 = "18d74nwcpk1i8adxzfwz1lgqqcxsc4wkrb490v64pph79dxsi80h"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/ade7d0f0f0e553b48634e60ecaf7b91d0776d5f0/recipes/bundler"; - sha256 = "0i5ybc6i8ackxpaa75kwrg44zdq3jkvy48c42vaaafpddjwjnsy4"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3416586d4d782cdd61a56159c5f80a0ca9b3ddf4/recipes/bundler"; + sha256 = "1jvcrxwsf9yd5vhirfdmjl52n6hffr1vikd386qbn32vgqcsba7a"; name = "recipe"; }; packageRequires = [ inf-ruby ]; @@ -4268,12 +4554,12 @@ melpaBuild { pname = "bury-successful-compilation"; ename = "bury-successful-compilation"; - version = "0.1"; + version = "0.1.2"; src = fetchFromGitHub { owner = "EricCrosson"; repo = "bury-successful-compilation"; - rev = "7b16dc71b43914928cc16da674e69d7af975238a"; - sha256 = "08ny1iycsgpal99g180w9yvk6ql8qn2kkc9xk9lmfv5p1wqm3l4w"; + rev = "064817b44a431476305099301311def0a2d9d543"; + sha256 = "13ilv4zbzwb5rz0gf69z8pvxazvwlmb5shkb055l42ksxslp49hh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f66e2e23c7a1fa0ce6fa8a0e814242b7c46c299c/recipes/bury-successful-compilation"; @@ -4321,12 +4607,12 @@ melpaBuild { pname = "buttercup"; ename = "buttercup"; - version = "1.12"; + version = "1.16"; src = fetchFromGitHub { owner = "jorgenschaefer"; repo = "emacs-buttercup"; - rev = "39d625ce53bb1e1b9b03d9c9c70aa81e94fcc66a"; - sha256 = "1y97af0kl0yiirnajn44jcz865acndjwkr3zhpf65lm0bbaxfp2a"; + rev = "810fa6fb8dab06610dbf2b5ccbc64b4d0ecc7485"; + sha256 = "0dckgcyzsav6ld78bcyrrygy1cz1jvqgav6vy8f6klpmk3r8xrl1"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d4b187cb5b3cc5b546bfa6b94b6792e6363242d1/recipes/buttercup"; @@ -4339,6 +4625,32 @@ license = lib.licenses.free; }; }) {}; + buttercup-junit = callPackage ({ buttercup + , emacs + , fetchgit + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "buttercup-junit"; + ename = "buttercup-junit"; + version = "1.1.0"; + src = fetchgit { + url = "https://bitbucket.org/olanilsson/buttercup-junit"; + rev = "1b3214d3d74d998c475f54035643231d8bcffbee"; + sha256 = "120ayxx7f8vdmjwdvycjpkc9acb03z1l0jf2ndigyg64jb8q7a4g"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/f1030960afe994da338d78607233319b3f7f0c8b/recipes/buttercup-junit"; + sha256 = "1v848vbwxqrw9sdsvjaggkspavmbwkmqshf321m4n8srvi51383w"; + name = "recipe"; + }; + packageRequires = [ buttercup emacs ]; + meta = { + homepage = "https://melpa.org/#/buttercup-junit"; + license = lib.licenses.free; + }; + }) {}; button-lock = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -4390,6 +4702,32 @@ license = lib.licenses.free; }; }) {}; + caddyfile-mode = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "caddyfile-mode"; + ename = "caddyfile-mode"; + version = "0.2"; + src = fetchFromGitHub { + owner = "Schnouki"; + repo = "caddyfile-mode"; + rev = "b0371063adc18d3cbd6dd673ea4fe39d27825d1b"; + sha256 = "1w0jfh8z9q2b0av66gckmb9d9dvx0wqmjf54avgynlmh3a7gv7lz"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/ec771222056dcb6c67e133cd6aa6b4e4d03ac264/recipes/caddyfile-mode"; + sha256 = "12d57xcpp78lmcr95nfp0r9g7lkw8kfxf9c3rc7g53kh5xaaj4i2"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/caddyfile-mode"; + license = lib.licenses.free; + }; + }) {}; cake-inflector = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -4423,12 +4761,12 @@ melpaBuild { pname = "calendar-norway"; ename = "calendar-norway"; - version = "0.9.3"; + version = "0.9.4"; src = fetchFromGitHub { owner = "unhammer"; repo = "calendar-norway.el"; - rev = "8501b2ee515e995f345365391b03f44c812cabdf"; - sha256 = "0lch835rq2rqyh0vyi75dhyl7hm6bv27f2z753wggh0jyg6qxi7a"; + rev = "8d1fda8268caa74ba5e712c7675ed3c34e46e2d4"; + sha256 = "011c8pz1g805a7c3djai39yasd2idfp4c2dcrvf7kbls27ayrl6d"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c5d01230027d5cec9da2545a9ce9270a611f6567/recipes/calendar-norway"; @@ -4606,12 +4944,12 @@ melpaBuild { pname = "camcorder"; ename = "camcorder"; - version = "0.2"; + version = "1.0"; src = fetchFromGitHub { owner = "Malabarba"; repo = "camcorder.el"; - rev = "a2b5e0629ee3c01ead684e148965ac68e533efbd"; - sha256 = "0v927m3l5cf0j0rs0nfk5whwqmmxs941d8qalxi19j1ihspjz8d6"; + rev = "b11ca61491a27681bb3131b72b51c105fd996bed"; + sha256 = "11p42cmk9sj2ilpx6nnlbzff85qi0m27wk49da2ipal28wcx2452"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1e6aed365c42987d64d0cd9a8a6178339b1b39e8/recipes/camcorder"; @@ -4631,7 +4969,7 @@ melpaBuild { pname = "caml"; ename = "caml"; - version = "4.7.0"; + version = "4.7.1"; src = fetchFromGitHub { owner = "ocaml"; repo = "ocaml"; @@ -4649,6 +4987,35 @@ license = lib.licenses.free; }; }) {}; + cangjie = callPackage ({ dash + , emacs + , f + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , s }: + melpaBuild { + pname = "cangjie"; + ename = "cangjie"; + version = "0.7.2"; + src = fetchFromGitHub { + owner = "kisaragi-hiu"; + repo = "cangjie.el"; + rev = "f4dcb691e3bda6971cb89b07f368dd285179a8ff"; + sha256 = "0hvwaj1g1szyhjvyxhwflq45bbcvvgv391wa7qkwlxmrvvfhp9k2"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/ed79fc972f7fe69d7bad5d1cdde3a276885a9fe8/recipes/cangjie"; + sha256 = "0gdp6dlkzkkd8r3cmwakwxlxsbysb351n1lr9sq4d60gbbskklln"; + name = "recipe"; + }; + packageRequires = [ dash emacs f s ]; + meta = { + homepage = "https://melpa.org/#/cangjie"; + license = lib.licenses.free; + }; + }) {}; cargo = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -5018,7 +5385,7 @@ melpaBuild { pname = "cfengine-code-style"; ename = "cfengine-code-style"; - version = "3.12.0"; + version = "3.13.0"; src = fetchFromGitHub { owner = "cfengine"; repo = "core"; @@ -5309,23 +5676,32 @@ , pkg-info , queue , seq + , sesman , spinner }: melpaBuild { pname = "cider"; ename = "cider"; - version = "0.17.0"; + version = "0.21.0"; src = fetchFromGitHub { owner = "clojure-emacs"; repo = "cider"; - rev = "5b1c148078b3c6083f7777f2c3349d5c6403fdba"; - sha256 = "0yl1s84kq3438rbndzaxsxghjps82pgjpv76n5dwbkzcwpb84wn9"; + rev = "200c88adb1314b5811ba749af42ffb6817c1ca1b"; + sha256 = "0lbrwj67fnvynkdkzvnzp3p8vqlz0ldrcs317vg60bqfhx7hvqkj"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/55a937aed818dbe41530037da315f705205f189b/recipes/cider"; sha256 = "1a6hb728a3ir18c2dn9zfd3jn79fi5xjn5gqr7ljy6qb063xd4qx"; name = "recipe"; }; - packageRequires = [ clojure-mode emacs pkg-info queue seq spinner ]; + packageRequires = [ + clojure-mode + emacs + pkg-info + queue + seq + sesman + spinner + ]; meta = { homepage = "https://melpa.org/#/cider"; license = lib.licenses.free; @@ -5335,30 +5711,56 @@ , eval-sexp-fu , fetchFromGitHub , fetchurl - , highlight , lib , melpaBuild }: melpaBuild { pname = "cider-eval-sexp-fu"; ename = "cider-eval-sexp-fu"; - version = "1.1"; + version = "1.2"; src = fetchFromGitHub { owner = "clojure-emacs"; repo = "cider-eval-sexp-fu"; - rev = "6b437bf073b21543e72d76fd0392a28fba7cbfbe"; - sha256 = "1frpr5dwg7aa0pjr2sarck498lj11li8xi36s5qa8qhflgl29jpn"; + rev = "7fd229f1441356866aedba611fd0cf4e89b50921"; + sha256 = "01gky548v3758fyr317lkwsc9aacab6m9d9vk1mrr3qyvmciwd51"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/947f4d106d70f95ca8aac124ab0d90b2975208df/recipes/cider-eval-sexp-fu"; sha256 = "1n4sgv042qd9560pllabysx0c5snly6i22bk126y8f8rn0zj58iq"; name = "recipe"; }; - packageRequires = [ emacs eval-sexp-fu highlight ]; + packageRequires = [ emacs eval-sexp-fu ]; meta = { homepage = "https://melpa.org/#/cider-eval-sexp-fu"; license = lib.licenses.free; }; }) {}; + cider-hydra = callPackage ({ cider + , fetchFromGitHub + , fetchurl + , hydra + , lib + , melpaBuild }: + melpaBuild { + pname = "cider-hydra"; + ename = "cider-hydra"; + version = "0.1.0"; + src = fetchFromGitHub { + owner = "clojure-emacs"; + repo = "cider-hydra"; + rev = "5956c3909cd9beae11f64973e4f0d830cea7860d"; + sha256 = "1hnari85c4y5sc8cdv2idkg2qv058crz54xdidnphr1wgw5zhvpk"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/51d5e6471f88337c478ee5c189f037aaec937f56/recipes/cider-hydra"; + sha256 = "1qjgfrj3ck70vkyc9c00mif0jq5hc2yan2hql31qzbpqzg3pi2r7"; + name = "recipe"; + }; + packageRequires = [ cider hydra ]; + meta = { + homepage = "https://melpa.org/#/cider-hydra"; + license = lib.licenses.free; + }; + }) {}; cil-mode = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -5394,14 +5796,14 @@ ename = "circadian"; version = "0.3.2"; src = fetchFromGitHub { - owner = "GuidoSchmidt"; + owner = "guidoschmidt"; repo = "circadian.el"; rev = "9894361dcd6ffb6d4629b4cbbabda2153699eb8e"; sha256 = "0wpsykmai3idz0bgfl07hwl9nr4x9sgprvqgw8jln4dz2wf5gdic"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/3440905a20bc91bb2637a87c04ff8410379f150d/recipes/circadian"; - sha256 = "13797y1w1636bibisz5i5p2xp0smd3apnhc1nx8ijm75smx679id"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/circadian"; + sha256 = "1xxrhifw371yc4i2cddzcdmqh5dfc905wyl88765098685q8k4bp"; name = "recipe"; }; packageRequires = [ emacs ]; @@ -5418,12 +5820,12 @@ melpaBuild { pname = "circe"; ename = "circe"; - version = "2.10"; + version = "2.11"; src = fetchFromGitHub { owner = "jorgenschaefer"; repo = "circe"; - rev = "fedfa7eb8516a53fa70b6a1f4fce4b5ab66ea91f"; - sha256 = "10gi14kwxd81blddpvqh95lgmpbfgp0m955naxix3bs3r6a75n4s"; + rev = "6ccd4b494cbae9d28091217654f052eaea321007"; + sha256 = "0cr9flk310yn2jgvj4hbqw9nj5wlfi0fazdkqafzidgz6iq150wd"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a2b295656d53fddc76cacc86b239e5648e49e3a4/recipes/circe"; @@ -5546,6 +5948,32 @@ license = lib.licenses.free; }; }) {}; + cl-libify = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "cl-libify"; + ename = "cl-libify"; + version = "0.2"; + src = fetchFromGitHub { + owner = "purcell"; + repo = "cl-libify"; + rev = "f7df5d868ada173bc81860ef81ece359f13ae4e4"; + sha256 = "1xp0zajp4rsnxkfzrmz0m5bihk0n1hgwc1cm9q163b2azsvixxmw"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/22088f8779652072871d5c472c67f34bd0470129/recipes/cl-libify"; + sha256 = "0p3b57vfzhk348hb7bcnkq4ihi4qzsy4hcdvwa1h85i84vwyzk5d"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/cl-libify"; + license = lib.licenses.free; + }; + }) {}; click-mode = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -5581,12 +6009,12 @@ melpaBuild { pname = "cliphist"; ename = "cliphist"; - version = "0.5.5"; + version = "0.5.6"; src = fetchFromGitHub { owner = "redguardtoo"; repo = "cliphist"; - rev = "e454254f8bd9dbaea28e95c786d7297a2d4e920a"; - sha256 = "1lxsy78kmrrb82y7nlaaaq2qsly7f3wa8jw1bagjax4rwvld0vim"; + rev = "232ab0b3f6d502de61ebe76681a6a04d4223b877"; + sha256 = "0is772r0b7i8rvra9zb94g9aczv8b6q0dmdk67wbli5rv5drfjyq"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/82d86dae4ad8efc8ef342883c164c56e43079171/recipes/cliphist"; @@ -5608,14 +6036,14 @@ ename = "clips-mode"; version = "0.7"; src = fetchFromGitHub { - owner = "grettke"; + owner = "clips-mode"; repo = "clips-mode"; rev = "f7869b67c2a8f061ce05f1e48abbcb41a6c455ce"; sha256 = "07r01g5xcr3w0kq09m4rb8ws0ss77szczycybvas4379sf3g8dv9"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/d28484bf5e9ad72778ad63f73deeea1eb1263236/recipes/clips-mode"; - sha256 = "083wrhjn04rg8vr6j0ziffdbdhbfn63wzl4q7yzpkf8qckh6mxhf"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3416586d4d782cdd61a56159c5f80a0ca9b3ddf4/recipes/clips-mode"; + sha256 = "1ckk8ajr1x8y2h8jx2q233xs69nip3kjn0wp3xgfbwx7hjcbk7kr"; name = "recipe"; }; packageRequires = []; @@ -5642,16 +6070,16 @@ melpaBuild { pname = "clj-refactor"; ename = "clj-refactor"; - version = "2.3.1"; + version = "2.4.0"; src = fetchFromGitHub { owner = "clojure-emacs"; repo = "clj-refactor.el"; - rev = "9005de31ed05122d3db9f503fbc69722abf3634b"; - sha256 = "1pvxwvx36fl971j9dfhfk33sqg70nsw57brsi6kgphq7dgzmv7dk"; + rev = "3d5d1fbf28bfcc00f917cd96d6784968dcbbc962"; + sha256 = "1z9278syijnzxfwlghz7bps3jp4cdl0fxg6igwpjfl8ln56hxazk"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/3a2db268e55d10f7d1d5a5f02d35b2c27b12b78e/recipes/clj-refactor"; - sha256 = "1qvds6dylazvrzz1ji2z2ldw72pa2nxqacb9d04gasmkqc32ipvz"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/e608f40d00a3b2a80a6997da00e7d04f76d8ef0d/recipes/clj-refactor"; + sha256 = "05x0820x34pidcz03z96qs685y2700g7ha0dx4vy1xr7fg356c3z"; name = "recipe"; }; packageRequires = [ @@ -5727,33 +6155,6 @@ license = lib.licenses.free; }; }) {}; - clojure-cheatsheet = callPackage ({ cider - , fetchFromGitHub - , fetchurl - , helm - , lib - , melpaBuild }: - melpaBuild { - pname = "clojure-cheatsheet"; - ename = "clojure-cheatsheet"; - version = "0.4.0"; - src = fetchFromGitHub { - owner = "clojure-emacs"; - repo = "clojure-cheatsheet"; - rev = "f8db406b7b13a580c142d08865c9a03c101235fa"; - sha256 = "1x1kfycf3023z0r3v7xqci59k8jv5wn2vqc9y0nx7k5qgifmswrx"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/0569da79bd8145df334965c5d4364a50b6b548fa/recipes/clojure-cheatsheet"; - sha256 = "05sw3bkdcadslpsk64ds0ciavmdgqk7fr5q3z505vvafmszfnaqv"; - name = "recipe"; - }; - packageRequires = [ cider helm ]; - meta = { - homepage = "https://melpa.org/#/clojure-cheatsheet"; - license = lib.licenses.free; - }; - }) {}; clojure-mode = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -5762,12 +6163,12 @@ melpaBuild { pname = "clojure-mode"; ename = "clojure-mode"; - version = "5.8.1"; + version = "5.10.0"; src = fetchFromGitHub { owner = "clojure-emacs"; repo = "clojure-mode"; - rev = "09831e36efaaa3aa284c241cca1f53ac55cbe410"; - sha256 = "1fw5lbyyhjcfl23i1day8shs3diihvlqx59372c7k7gw8wb8phnq"; + rev = "a4ed7a4152f8a6514dd3fd82532aa5a2bdba024f"; + sha256 = "09l1zjnc2g028nw9jv3ksklmff0ar3m5n89qxmdb2nz3ncmj0lir"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5e3cd2e6ee52692dc7b2a04245137130a9f521c7/recipes/clojure-mode"; @@ -5788,7 +6189,7 @@ melpaBuild { pname = "clojure-mode-extra-font-locking"; ename = "clojure-mode-extra-font-locking"; - version = "5.8.1"; + version = "5.10.0"; src = fetchFromGitHub { owner = "clojure-emacs"; repo = "clojure-mode"; @@ -5859,6 +6260,35 @@ license = lib.licenses.free; }; }) {}; + clomacs = callPackage ({ cider + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , s + , simple-httpd }: + melpaBuild { + pname = "clomacs"; + ename = "clomacs"; + version = "0.0.3"; + src = fetchFromGitHub { + owner = "clojure-emacs"; + repo = "clomacs"; + rev = "d9783d42dbab9710afff5654bf931b00e9df4ac1"; + sha256 = "0jwnsyg0vi9ghn9yfd97rjj9j9ja3ig8h63n4zjw71ww3bcdldc6"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/345f9797e87e3f5f957c167a5e3d33d1e31b50a3/recipes/clomacs"; + sha256 = "1vfjzrzp58ap75i0dh5bwnlkb8qbpfmrd3fg9n6aaibvvd2m3hyh"; + name = "recipe"; + }; + packageRequires = [ cider emacs s simple-httpd ]; + meta = { + homepage = "https://melpa.org/#/clomacs"; + license = lib.licenses.free; + }; + }) {}; closql = callPackage ({ emacs , emacsql-sqlite , fetchFromGitHub @@ -5868,12 +6298,12 @@ melpaBuild { pname = "closql"; ename = "closql"; - version = "0.6.0"; + version = "1.0.0"; src = fetchFromGitHub { owner = "emacscollective"; repo = "closql"; - rev = "faed079570c2e70b0e4988177e35b7990afa4752"; - sha256 = "0ni2akjb1n5w6vz3b210c3bya9mbyyxiygn8hna707qnszd0li8r"; + rev = "012b94f8695e194455111fd54eff0b94dd0dd0db"; + sha256 = "1xhpfjjkjqfc1k2rj77cscclz5r7gpvv3hi202x178vdcpipjwar"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2df16abf56e53d4a1cc267a78797419520ff8a1c/recipes/closql"; @@ -5974,12 +6404,12 @@ melpaBuild { pname = "cmake-mode"; ename = "cmake-mode"; - version = "3.12.0"; + version = "3.14.1"; src = fetchFromGitHub { owner = "Kitware"; repo = "CMake"; - rev = "d88451568dae61422d9d1b5796ad450ad28e0eb6"; - sha256 = "1hg99q4w0cfhm53qmiqirzrfk1bnx1lmb5kx2swfwcrxyyp80kby"; + rev = "8d478c0003cc9bb4836038fc1a27d3bbd40348d2"; + sha256 = "0i4rs8m7qf9milc9csy38r7m0j5xqy2q75fqmyxd4xpfmkf4a2v7"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/598723893ae4bc2e60f527a072efe6ed9d4e2488/recipes/cmake-mode"; @@ -6043,6 +6473,33 @@ license = lib.licenses.free; }; }) {}; + code-stats = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , request }: + melpaBuild { + pname = "code-stats"; + ename = "code-stats"; + version = "0.1"; + src = fetchFromGitHub { + owner = "xuchunyang"; + repo = "code-stats-emacs"; + rev = "20d60ded0743f01206c3c2e92ab73788def9adcb"; + sha256 = "0g8pqqpwmc646krdpfkri8q7pwnj8sb3pma5mfkwg8lvj6ddcx27"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/20af5580926e9975605c0a245f6ac15c25f4921e/recipes/code-stats"; + sha256 = "0mwjlhpmrbh3mbw3hjlsbv1fr4mxh068c9g0zcxq7wkksxx707if"; + name = "recipe"; + }; + packageRequires = [ emacs request ]; + meta = { + homepage = "https://melpa.org/#/code-stats"; + license = lib.licenses.free; + }; + }) {}; codic = callPackage ({ cl-lib ? null , emacs , fetchFromGitHub @@ -6226,6 +6683,32 @@ license = lib.licenses.free; }; }) {}; + comb = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "comb"; + ename = "comb"; + version = "0.2.0"; + src = fetchFromGitHub { + owner = "cyrus-and"; + repo = "comb"; + rev = "8a68d313bf429763eb8aa78ece00230a668f2a1f"; + sha256 = "1hh1lkan1ch5xyzrpfgzibf8dxmvaa1jfwlxyyhpnfs5h69h3245"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/1b236a1f3953475cbd7eb5c4289b092818ae08cf/recipes/comb"; + sha256 = "0n4pkigr07hwj5nb0ngs6ay80psqv7nppp82rg5w38qf0mjs3pkp"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/comb"; + license = lib.licenses.free; + }; + }) {}; commander = callPackage ({ cl-lib ? null , dash , f @@ -6307,6 +6790,32 @@ license = lib.licenses.free; }; }) {}; + commentary-theme = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "commentary-theme"; + ename = "commentary-theme"; + version = "0.4.0"; + src = fetchFromGitHub { + owner = "pzel"; + repo = "commentary-theme"; + rev = "9a825ae98166c9dbbf106e7be62ee69dd9f0342f"; + sha256 = "1x30iyvvxggbh7xvp8lwpirvpqijchqf2fdaw4xrlbw5vajlaxcx"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/852b5f83c9870209080d2ed39fede3215ae43e64/recipes/commentary-theme"; + sha256 = "1s3g40f0r0v8m1qqldvw64vs43i5xza7rwkvhxqcqmj6p1a7mqqw"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/commentary-theme"; + license = lib.licenses.free; + }; + }) {}; commenter = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -6368,12 +6877,12 @@ melpaBuild { pname = "company"; ename = "company"; - version = "0.9.6"; + version = "0.9.9"; src = fetchFromGitHub { owner = "company-mode"; repo = "company-mode"; - rev = "4711695af3df93f1bbceee165c505fea5bfc49ac"; - sha256 = "0x8zwq88k85ikzr0klm6nfa6i1wbykzfa790cg9cmi7wrsywimm1"; + rev = "ac82e875e144b227e926c09c53def9b0c059115c"; + sha256 = "07zjaaf6nd6zkh0208774lw7bx7cfnl25zfgva51wki20rcq6cjp"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/96e7b4184497d0d0db532947f2801398b72432e4/recipes/company"; @@ -6511,12 +7020,12 @@ melpaBuild { pname = "company-dict"; ename = "company-dict"; - version = "1.2.7"; + version = "1.2.8"; src = fetchFromGitHub { owner = "hlissner"; repo = "emacs-company-dict"; - rev = "cc2f7aecc0a9d5b44c471a5550a49fd3ca535360"; - sha256 = "1swd87p4vxlxqcajfh0clypqdwdkn85k3iy9gms1hm4m23wj6a4m"; + rev = "cd7b8394f6014c57897f65d335d6b2bd65dab1f4"; + sha256 = "11whnjmy5dyg4wkwabpip8hqsmqys193m7aqbd7jl4hmq24hrwsw"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/212c077def5b4933c6001056132181e1a5850a7c/recipes/company-dict"; @@ -6595,12 +7104,12 @@ melpaBuild { pname = "company-emoji"; ename = "company-emoji"; - version = "2.5.0"; + version = "2.5.1"; src = fetchFromGitHub { owner = "dunn"; repo = "company-emoji"; - rev = "8dc88ffe0773ef44321f245d39430c14a1bc2b82"; - sha256 = "1y8l9wnc13g79znyw2qsbm33da2bhkj270ppikkg9h4x2qpmxilq"; + rev = "271909be44f86bcc294739ca45992cdc3caee39f"; + sha256 = "1rihgld1wxwfdpqv7d9gcgd8xpnms5kpw61z30y18fmkxhhmid3c"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5733dccdffe97911a30352fbcda2900c33d79810/recipes/company-emoji"; @@ -6673,25 +7182,24 @@ company-go = callPackage ({ company , fetchFromGitHub , fetchurl - , go-mode , lib , melpaBuild }: melpaBuild { pname = "company-go"; ename = "company-go"; - version = "20170907"; + version = "20150303"; src = fetchFromGitHub { - owner = "nsf"; + owner = "mdempsky"; repo = "gocode"; - rev = "84b76ec55b44739143088371a34ef30a4719dfe4"; - sha256 = "0ig9jsx9gv3cya11r0w07xpby9rzlh3iz02mir0z7ffnf8qawmrc"; + rev = "3109790fda3785bbad336e3dd85aaaa4604dbe8b"; + sha256 = "1sn6fvskb8drxphxjn57nr7y0wfh3y6xiksym1fqx68znzwf7ckh"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/04867a574773e8794335a2664d4f5e8b243f3ec9/recipes/company-go"; - sha256 = "1ncy5wlg3ywr17zrxb1d1bap4gdvwr35w9a8b0crz5h3l3y4cp29"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/ef45683cbfe82bf8a9d6f3f1c59e3cf340accbe3/recipes/company-go"; + sha256 = "1zhdckq1c9jzi5cf90w2m77fq6l67rjri4lnf8maq82gxqzk6wa5"; name = "recipe"; }; - packageRequires = [ company go-mode ]; + packageRequires = [ company ]; meta = { homepage = "https://melpa.org/#/company-go"; license = lib.licenses.free; @@ -6795,12 +7303,12 @@ melpaBuild { pname = "company-lsp"; ename = "company-lsp"; - version = "2.0.1"; + version = "2.1.0"; src = fetchFromGitHub { owner = "tigersoldier"; repo = "company-lsp"; - rev = "4512d062c38922d8b8cf402ca6043c246e915694"; - sha256 = "0q95lgw02qy5dn3vpdhspmvjhnfzmmn2asajaf15q5lkjbsvxfrk"; + rev = "4eb6949f19892be7bf682381cde005791a48583a"; + sha256 = "1hy1x2w0yp5brm7714d1hziz3rpkywb5jp3yj78ibmi9ifny9vri"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5125f53307c1af3d9ccf2bae3c25e7d23dfe1932/recipes/company-lsp"; @@ -6905,12 +7413,12 @@ melpaBuild { pname = "company-php"; ename = "company-php"; - version = "2.0.5"; + version = "2.0.7"; src = fetchFromGitHub { owner = "xcwen"; repo = "ac-php"; - rev = "e452a20a9f94113260b9cba9af7fb44cc8c647ef"; - sha256 = "08gvn4gq2j349rz24ask6nzqnvw15p9c8r2lby4n6n0zc6iaxzm5"; + rev = "11234d073f363edff255e8632b728777e2807d01"; + sha256 = "15rinvamhzbx0n1fxwpq7nbjqgqvksgf4q8k3lkyy6ifchwiqys4"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/company-php"; @@ -6923,6 +7431,34 @@ license = lib.licenses.free; }; }) {}; + company-phpactor = callPackage ({ cl-lib ? null + , company + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "company-phpactor"; + ename = "company-phpactor"; + version = "0.1.0"; + src = fetchFromGitHub { + owner = "emacs-php"; + repo = "phpactor.el"; + rev = "61e4eab638168b7034eef0f11e35a89223fa7687"; + sha256 = "0dsa1mygb96nlz5gppf0sny3lxaacvmvnkg84c0cs6x223s6zfx8"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/dc6edd22befea0aee9b11bc8df7d42c400e12f43/recipes/company-phpactor"; + sha256 = "1a6szs85hmxm2xpkmc3dyx2daap7bjvpnrl4gcmbq26zbz2f0z0a"; + name = "recipe"; + }; + packageRequires = [ cl-lib company emacs ]; + meta = { + homepage = "https://melpa.org/#/company-phpactor"; + license = lib.licenses.free; + }; + }) {}; company-prescient = callPackage ({ company , emacs , fetchFromGitHub @@ -6933,12 +7469,12 @@ melpaBuild { pname = "company-prescient"; ename = "company-prescient"; - version = "2.0"; + version = "2.2.2"; src = fetchFromGitHub { owner = "raxod502"; repo = "prescient.el"; - rev = "515959a2523b43608c9d06dcf8adde8911ce42b9"; - sha256 = "1k8xk154sql3b2b7hpyxslcgl88aaxq5ak2sr760jsq2qk7878bw"; + rev = "562d25a1c3c5b2e269d82f374f450e6aa90a970e"; + sha256 = "1ncplx5p3cffyzg9ygzqqxj0vpvwrz9rp2n4z6c375a78fyydrk0"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b92c34e493bbefab1d7747b0855d1ab2f984cb7c/recipes/company-prescient"; @@ -7025,12 +7561,12 @@ melpaBuild { pname = "company-rtags"; ename = "company-rtags"; - version = "2.18"; + version = "2.31"; src = fetchFromGitHub { owner = "Andersbakken"; repo = "rtags"; - rev = "e4060b551575be378344c0cc1aedf11446b4f264"; - sha256 = "01xc5r2am0xck7q6jal3zyrqbzpx68fzqi9af7zb1klyw2s5v807"; + rev = "7c470ba8e15740f37c3a7a9c56331c1cc4c0b1bb"; + sha256 = "05czbkgq48jv0f9vainflikil51xiwd0h24jmmx5886wi3v1wb4c"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/company-rtags"; @@ -7072,6 +7608,33 @@ license = lib.licenses.free; }; }) {}; + company-solidity = callPackage ({ cl-lib ? null + , company + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "company-solidity"; + ename = "company-solidity"; + version = "0.1.9"; + src = fetchFromGitHub { + owner = "ethereum"; + repo = "emacs-solidity"; + rev = "d0ff4dea49540f37301d869f2797fca2492f55d5"; + sha256 = "1wcy5z4wggn3zs9h1kyvm0ji51ppjcqdmym3mmxbrhan6a0kq724"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/e561d869f4e32bad5d1a8678f67e591ff586d6de/recipes/company-solidity"; + sha256 = "1rkja48j2m0g0azc34i715ckkqwjkb44y3b4a9vlxs8cjqza4w7q"; + name = "recipe"; + }; + packageRequires = [ cl-lib company ]; + meta = { + homepage = "https://melpa.org/#/company-solidity"; + license = lib.licenses.free; + }; + }) {}; company-sourcekit = callPackage ({ company , dash , dash-functional @@ -7281,25 +7844,26 @@ , fetchurl , lib , melpaBuild + , php-runtime , request , s , seq }: melpaBuild { pname = "composer"; ename = "composer"; - version = "0.0.8"; + version = "0.1.1"; src = fetchFromGitHub { owner = "emacs-php"; repo = "composer.el"; - rev = "2d16d3bb65c53e9e26f4b7b22ad38590a4a48ee1"; - sha256 = "1zxqqd12p1db75icbwbdj51fvp8zzhivi8ssnxda1r5y5crbiqdv"; + rev = "d88741009cf7cae0a75e3cc7a19dd9143fcc92f9"; + sha256 = "0iqm8997pl3pni7a49igj8q6sp37bjdshjwl6d95bqrjkjf9ll08"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/eb13cb0dba1696cc51132cd1ff723fa17f892a7c/recipes/composer"; sha256 = "01w9cywhfngkrl9az8kfpzm12nc0zwmax01pyxlbi2l2icmvp5s1"; name = "recipe"; }; - packageRequires = [ emacs f request s seq ]; + packageRequires = [ emacs f php-runtime request s seq ]; meta = { homepage = "https://melpa.org/#/composer"; license = lib.licenses.free; @@ -7391,25 +7955,27 @@ , emacs , fetchFromGitHub , fetchurl + , flycheck + , hydra , lib , melpaBuild - , parsec }: + , s }: melpaBuild { pname = "conllu-mode"; ename = "conllu-mode"; - version = "0.1.0"; + version = "0.5.0"; src = fetchFromGitHub { owner = "odanoburu"; repo = "conllu-mode"; - rev = "993fd6bc2b5c7b70815a3ecede1642f607513615"; - sha256 = "0x6ga4h084qcf9h6nak7c66qq1slq907n64sqx41gnd3zbscmwxa"; + rev = "d1b5b682e0a481ab74caed20bbca6177edb83080"; + sha256 = "1n98aqh3pyvaz1lwsqpcpv1nzrij79r342iiw2h90v4mf2r665dy"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/444f943baddfeafe29708d6d68aeeeedbb7aa7bd/recipes/conllu-mode"; sha256 = "1wffvvs8d0xcnz6mcm9rbr8imyj4npyc148yh0gzfzlgjm0fiz1v"; name = "recipe"; }; - packageRequires = [ cl-lib emacs parsec ]; + packageRequires = [ cl-lib emacs flycheck hydra s ]; meta = { homepage = "https://melpa.org/#/conllu-mode"; license = lib.licenses.free; @@ -7452,14 +8018,14 @@ ename = "contextual"; version = "1.0.1"; src = fetchFromGitHub { - owner = "lshift-de"; + owner = "e-user"; repo = "contextual"; rev = "8134a2d8034c624f4fdbbb0b3893de12f4257909"; sha256 = "0s4b7dkndhnh8q3plvg2whjx8zd7ffz4hnbn3xh86xd3k7sch7av"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/44e5b799e411b8e2d89c8e9aeb4720126ac908b7/recipes/contextual"; - sha256 = "0vribs0fa1xf5kwkmvzjwhiawni0p3v56c5l4dkz8d7wn2g6wfdx"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/de20db067590624bbd2ca5a7a537b7f11ada84f2/recipes/contextual"; + sha256 = "1xwjjchmn3xqxbgvqishh8i75scc4kjgdzlp5j64d443pfgyr56a"; name = "recipe"; }; packageRequires = [ cl-lib dash emacs ]; @@ -7501,12 +8067,12 @@ melpaBuild { pname = "copy-as-format"; ename = "copy-as-format"; - version = "0.0.7"; + version = "0.0.8"; src = fetchFromGitHub { owner = "sshaw"; repo = "copy-as-format"; - rev = "971957166fe64d914ec4be209b4f80efeeabbb19"; - sha256 = "0ynzy2sb75w24d2kwjpkb3vl98yyz0sbcj6nd31y2r2n2kkdna24"; + rev = "d2376c64334fe3de65d89d6d138a2187f9bf802f"; + sha256 = "0i158bkra7zgq75j08knq2camvlhbs2v8zrsxiyp0mc4q949xysd"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/42fe8a2113d1c15701abe7a7e0a68e939c3d789b/recipes/copy-as-format"; @@ -7637,12 +8203,12 @@ melpaBuild { pname = "counsel"; ename = "counsel"; - version = "0.10.0"; + version = "0.11.0"; src = fetchFromGitHub { owner = "abo-abo"; repo = "swiper"; - rev = "4a2cee03519f98cf95b29905dec2566a39ff717e"; - sha256 = "14vnigqb5c3yi4q9ysw1fiwdqyqwyklqpb9wnjf81chm7s2mshnr"; + rev = "525b2e4887dd839045313f32d3ddeb5cab4c7a7e"; + sha256 = "009n8zjycs62cv4i1k9adbb284wz2w3r13xki2740sj34k683v13"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/06c50f32b8d603db0d70e77907e36862cd66b811/recipes/counsel"; @@ -7664,12 +8230,12 @@ melpaBuild { pname = "counsel-bbdb"; ename = "counsel-bbdb"; - version = "0.0.3"; + version = "0.0.4"; src = fetchFromGitHub { owner = "redguardtoo"; repo = "counsel-bbdb"; - rev = "c86f4b9ef99c9db0b2c4196a300d61300dc2d0c1"; - sha256 = "1dchyg8cs7n0zbj6mr2z840yi06b2wja65k04idlcs6ngy1vc3sr"; + rev = "df2890deb73b09f8055243bd91942ea887d9b7a1"; + sha256 = "0bki658mvlchqf3prkzxz4217a95cxm58c1qmf84yp2n8h6gd0d8"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0ed9bcdb1f25a6dd743c1dac2bb6cda73a5a5dc2/recipes/counsel-bbdb"; @@ -7716,24 +8282,25 @@ , emacs , fetchFromGitHub , fetchurl + , ivy , lib , melpaBuild }: melpaBuild { pname = "counsel-etags"; ename = "counsel-etags"; - version = "1.6.2"; + version = "1.8.3"; src = fetchFromGitHub { owner = "redguardtoo"; repo = "counsel-etags"; - rev = "9437ce4e4adb7140df6af0a4528069b9e54de44b"; - sha256 = "14q7w6pz3pslwr4s1f2b8wiq6k1jvp09mwml9x2j5ljw7j3145pi"; + rev = "e6fcff2254383fe680cc1d05580778128da2ca57"; + sha256 = "1d8nlrbsyza6q7yqm9248bxxsf49qf6hchg3zwv0l11acn3w8np5"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/87528349a3ab305bfe98f30c5404913272817a38/recipes/counsel-etags"; sha256 = "1h3dlczm1m21d4h41vz9ngg5fi02g6f95qalfxdnsvz0d4w4yxk0"; name = "recipe"; }; - packageRequires = [ counsel emacs ]; + packageRequires = [ counsel emacs ivy ]; meta = { homepage = "https://melpa.org/#/counsel-etags"; license = lib.licenses.free; @@ -7775,12 +8342,12 @@ melpaBuild { pname = "counsel-projectile"; ename = "counsel-projectile"; - version = "0.2.0"; + version = "0.3.0"; src = fetchFromGitHub { owner = "ericdanan"; repo = "counsel-projectile"; - rev = "536872f022f449548bdb97faa1776d1d44499d73"; - sha256 = "0pm5sqhr24n2ffycazxgl3d3dl7gai8svwz01vc0pgx9c0x75kl8"; + rev = "d64e5275c578a494102852c466a3696bde466739"; + sha256 = "1inc4ndl0ysfwvxk4avbgpj4qi9rc93da6476a5c81xmwpsv8wmq"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/389f16f886a385b02f466540f042a16eea8ba792/recipes/counsel-projectile"; @@ -7802,12 +8369,12 @@ melpaBuild { pname = "counsel-tramp"; ename = "counsel-tramp"; - version = "0.4.1"; + version = "0.6.2"; src = fetchFromGitHub { owner = "masasam"; repo = "emacs-counsel-tramp"; - rev = "3f5ae75a6bde00bffeb2877b4ed4bd45610c0dfa"; - sha256 = "06dhhjrgpikzpdl1hck0ckjbx8yzx8jbymb3ajfxglgvrvid4l1k"; + rev = "ac7728bac51afdcb63cd85ad22a8be5737d9d66f"; + sha256 = "0nz0733x2b9b5nkwivvhv5c8747dng451na1sdfbkx5x9fjs5gc7"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e1822b735b6bd533f658bd64ddccda29e19e9a5e/recipes/counsel-tramp"; @@ -7963,12 +8530,12 @@ melpaBuild { pname = "cricbuzz"; ename = "cricbuzz"; - version = "0.3.5"; + version = "0.3.6"; src = fetchFromGitHub { owner = "lepisma"; repo = "cricbuzz.el"; - rev = "557f75f10525e7a4d50e83010b9ed07fbf9df889"; - sha256 = "18lc56l5vcbrw2agpgjcap5q0l1mi64khgkk00x7r9wm1zilf9wp"; + rev = "0b95d45991bbcd2fa58d96ce921f6a57ba42c153"; + sha256 = "1s77a2lfy7nnaxm3ai9dg8lbdxp0892z4gr0yxqrgzawc4qcbb3x"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/cricbuzz"; @@ -8402,7 +8969,7 @@ melpaBuild { pname = "cython-mode"; ename = "cython-mode"; - version = "0.28.4"; + version = "0.29.6"; src = fetchFromGitHub { owner = "cython"; repo = "cython"; @@ -8479,12 +9046,12 @@ melpaBuild { pname = "daemons"; ename = "daemons"; - version = "1.2.0"; + version = "2.0.0"; src = fetchFromGitHub { owner = "cbowdon"; repo = "daemons.el"; - rev = "9e6868e2559ea7d70fbad8c419798124f406cc40"; - sha256 = "00ijgm22ck76gw0x79krl05yy0m8a502yfakazfy5xhpn1zi6ab7"; + rev = "dcf42cb3178d7245d6d49de346d5e2b44e5b7498"; + sha256 = "00bkzfaw3bqykcks610vk9wlpa2z360xn32bpsrycacwfv29j7g4"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1f780485e72ae2885f698fdab0156855f70831f1/recipes/daemons"; @@ -8497,37 +9064,81 @@ license = lib.licenses.free; }; }) {}; - dante = callPackage ({ dash + dante = callPackage ({ company + , dash , emacs , f , fetchFromGitHub , fetchurl , flycheck , haskell-mode + , lcr , lib , melpaBuild , s }: melpaBuild { pname = "dante"; ename = "dante"; - version = "1.4"; + version = "1.5"; src = fetchFromGitHub { owner = "jyp"; repo = "dante"; - rev = "3500ade60c5c4e831b04c92c56dc888063335d3b"; - sha256 = "07nc1bgb67nlsf567cky6kvd3blm0w7nwpr92xga7jm6dqnqhlkg"; + rev = "3bd1bfdd775a309565a850e37dfbd42f1b33068e"; + sha256 = "0f76snwsy735r7pl3gdzvajsmpd12qkj03lyjxq1x44a79a1gfwk"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5afa8226077cbda4b76f52734cf8e0b745ab88e8/recipes/dante"; sha256 = "1j0qwjshh2227k63vd06bvrsccymqssx26yfzams1xf7bp6y0krs"; name = "recipe"; }; - packageRequires = [ dash emacs f flycheck haskell-mode s ]; + packageRequires = [ company dash emacs f flycheck haskell-mode lcr s ]; meta = { homepage = "https://melpa.org/#/dante"; license = lib.licenses.free; }; }) {}; + dap-mode = callPackage ({ bui + , dash + , dash-functional + , emacs + , f + , fetchFromGitHub + , fetchurl + , lib + , lsp-mode + , melpaBuild + , s + , tree-mode }: + melpaBuild { + pname = "dap-mode"; + ename = "dap-mode"; + version = "0.2"; + src = fetchFromGitHub { + owner = "emacs-lsp"; + repo = "dap-mode"; + rev = "240da34149e2d8893b647f15ff30f217aba4ac89"; + sha256 = "1y3s28xb66w8yynwlavn6d7ysjv0d5ziyga5fjyj0jk1037mjg6y"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/67942b34975015dd6f2b5f6b43829cc13b1832c6/recipes/dap-mode"; + sha256 = "041mmla70ld5783gn8g360klk3cw39pir5d41544zf3yssk12qpn"; + name = "recipe"; + }; + packageRequires = [ + bui + dash + dash-functional + emacs + f + lsp-mode + s + tree-mode + ]; + meta = { + homepage = "https://melpa.org/#/dap-mode"; + license = lib.licenses.free; + }; + }) {}; darcula-theme = callPackage ({ fetchFromGitLab , fetchurl , lib @@ -8561,12 +9172,12 @@ melpaBuild { pname = "darktooth-theme"; ename = "darktooth-theme"; - version = "0.3.7"; + version = "0.3.10"; src = fetchFromGitHub { owner = "emacsfodder"; repo = "emacs-theme-darktooth"; - rev = "fb66992286c009e594eb7bb9ee2f1cdc3bebb555"; - sha256 = "0n7qgnyl4rdvgwjb7gz6m1c22mxwg8bp08r7lz27z0b1bcyw94sc"; + rev = "ae14a9be19b6fbd287e0f5ad156e7942cd6a5bc6"; + sha256 = "1jisiz0blksjl6d8q7bnvnlfrwalqfpd93fs66i8pgllhf5z7j19"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b7f62ac1566ced7332e83253f79078dc30cb7889/recipes/darktooth-theme"; @@ -8591,16 +9202,16 @@ melpaBuild { pname = "dart-mode"; ename = "dart-mode"; - version = "1.0.3"; + version = "1.0.4"; src = fetchFromGitHub { - owner = "nex3"; + owner = "bradyt"; repo = "dart-mode"; - rev = "f3a7c7b71fb12d02fa02700bc10426cb10010d01"; - sha256 = "1g0c37qfqki7v1a5rxf6sy7k07i529rw3f1wmjl7g1zhd9bwsml2"; + rev = "d78c5c796da53108a824967932cf6c773426e10f"; + sha256 = "1x04vhmwg0hn54dfskwp8dnghjyyn8rha3vpfqw37qjchf3js3f0"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/dart-mode"; - sha256 = "00zvgxfxgk5jair796l6appyq5hc7hs2s2wglv1j4l7g50b05cla"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3416586d4d782cdd61a56159c5f80a0ca9b3ddf4/recipes/dart-mode"; + sha256 = "0zpvp86067a6l63wrpqxsm9fhv3n4ggbq8pg21vgiz54hk4x1xpp"; name = "recipe"; }; packageRequires = [ cl-lib dash emacs flycheck s ]; @@ -8616,12 +9227,12 @@ melpaBuild { pname = "dash"; ename = "dash"; - version = "2.14.1"; + version = "2.15.0"; src = fetchFromGitHub { owner = "magnars"; repo = "dash.el"; - rev = "a74f4cfcdc8d0642a9f602ad494f0354f27dacc9"; - sha256 = "1kzijmjxjxgr7p8clphzvmm47vczckbs8mza9an77c25bn627ywl"; + rev = "63022432e1f7bcc5af9582f29d4ed0552a2e658b"; + sha256 = "0dx8q3jr8fh73cfl7mqi5dq0012ambpvc74d2c71fsv9rfw85693"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/57eed8767c3e98614259c408dc0b5c54d3473883/recipes/dash"; @@ -8643,7 +9254,7 @@ melpaBuild { pname = "dash-functional"; ename = "dash-functional"; - version = "2.14.1"; + version = "2.15.0"; src = fetchFromGitHub { owner = "magnars"; repo = "dash.el"; @@ -8670,16 +9281,16 @@ melpaBuild { pname = "dashboard"; ename = "dashboard"; - version = "1.2.4"; + version = "1.3.1"; src = fetchFromGitHub { - owner = "rakanalh"; + owner = "emacs-dashboard"; repo = "emacs-dashboard"; - rev = "8594c4f55448148b720eda5b72d51667fb7a8a39"; - sha256 = "1hhh1kfsz87qfmh45wjf2r93rz79rq0vbyxlfrsl02092zjbl1zr"; + rev = "17accfce424a18c4120ad99dfc1d7d93591dbce0"; + sha256 = "0f40xj3wchpj3g9pv15f88vy86d0vllbwr1xli0yfv326lm0j97r"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/e9a79341ccaa82a8c065e71c02fe6aee22007c66/recipes/dashboard"; - sha256 = "08pdpjfrg8v80gljy146cwpz624dshhbz8843zl1zszwp2p00kqy"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/ef3c6af6ff5d880e6336f8db32b22b64b182794e/recipes/dashboard"; + sha256 = "19l7mv57ra3i8bz35zfq0wrrp8mk0bzhng6wqpbf9dax4pq3pnp9"; name = "recipe"; }; packageRequires = [ emacs page-break-lines ]; @@ -8688,6 +9299,34 @@ license = lib.licenses.free; }; }) {}; + dashboard-project-status = callPackage ({ dashboard + , emacs + , fetchFromGitHub + , fetchurl + , git + , lib + , melpaBuild }: + melpaBuild { + pname = "dashboard-project-status"; + ename = "dashboard-project-status"; + version = "0.0.1"; + src = fetchFromGitHub { + owner = "functionreturnfunction"; + repo = "dashboard-project-status"; + rev = "d3ac9f4992cc9ddad12f98e6ace26c8673ce473d"; + sha256 = "1zm566dq5xavfyma7304lvq78cpbblk22v2zgsbdy8hpk94rxj8m"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/dfc05873c6532c866d89c4cc07eb84b447a25c70/recipes/dashboard-project-status"; + sha256 = "1r25xmscz3lrjm6jjix416py26za5l1ck3xa77qbyrr4rf1gsakg"; + name = "recipe"; + }; + packageRequires = [ dashboard emacs git ]; + meta = { + homepage = "https://melpa.org/#/dashboard-project-status"; + license = lib.licenses.free; + }; + }) {}; date-at-point = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -8750,12 +9389,12 @@ melpaBuild { pname = "datetime"; ename = "datetime"; - version = "0.4.1"; + version = "0.6.4"; src = fetchFromGitHub { owner = "doublep"; repo = "datetime"; - rev = "d8674ac11f9ebb702e5bbac10a4a6e5542958ef5"; - sha256 = "19d4wximzwdcs0i2r48k6m60wwxcx5f89jw75k4hr0wvx0352a82"; + rev = "8c6d6fc991766e6bf9cefc4ea4b04eeae8116a84"; + sha256 = "0c5y304pvns8jhy4fpz4jmbfxdgz8ms04hgrnsb0g168szc9g0s9"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/91ef4352603cc69930ab3d63f0a90eee63f5f328/recipes/datetime"; @@ -8780,12 +9419,12 @@ melpaBuild { pname = "deadgrep"; ename = "deadgrep"; - version = "0.4"; + version = "0.6"; src = fetchFromGitHub { owner = "Wilfred"; repo = "deadgrep"; - rev = "160fa79bc76fa79ab727e369c5053bd61ca62a49"; - sha256 = "0csval9g9w606dvj24rv2x5f6rbaj1lczavvcldq0wgj8fivkyh1"; + rev = "c29f617569a82d67b2061f74c08f431520fc3f54"; + sha256 = "12j84yp94f2763gwpc07zqfi0ikz9n1a5ciyvcpsgfxpj8bkngzx"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/93389fae7233b83ea904e17bdaf83f8247cda3d8/recipes/deadgrep"; @@ -8798,6 +9437,30 @@ license = lib.licenses.free; }; }) {}; + debian-el = callPackage ({ fetchgit + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "debian-el"; + ename = "debian-el"; + version = "37.4"; + src = fetchgit { + url = "https://salsa.debian.org/emacsen-team/debian-el.git"; + rev = "9690c4adb71e0fc7d00fea24b49ba944f913f4f5"; + sha256 = "118yyhmfwpdlqvz5xjqfr4mmpjznkja3jn63n43z66q0apfhhk61"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/1a381ec81eb160365f478c6a3af638c14558d7d6/recipes/debian-el"; + sha256 = "0x74a4nm2p4w82kzrdqy90969sminsrhdzppld2mg63jg0wxb8ga"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/debian-el"; + license = lib.licenses.free; + }; + }) {}; debpaste = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -9116,12 +9779,12 @@ melpaBuild { pname = "diary-manager"; ename = "diary-manager"; - version = "2.0.1"; + version = "2.0.2"; src = fetchFromGitHub { owner = "raxod502"; repo = "diary-manager"; - rev = "01851f42aee0526995ea88c3d42b7fe12e1cb7fd"; - sha256 = "1q1zrqawrr844lzjc5l480im6rjdyagir0dr805vgyv31fhp1vmw"; + rev = "919f724bb58e36b8626dd8d7c8475f71c0c54443"; + sha256 = "12zg022bhfn4gsclb5wk8wh0bqyy0v5j37369haq6rb5jcc6x5fb"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a014f4d862a2480f7edb1266f79ce0801cca13c2/recipes/diary-manager"; @@ -9134,6 +9797,34 @@ license = lib.licenses.free; }; }) {}; + dictcc = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub + , fetchurl + , ivy + , lib + , melpaBuild }: + melpaBuild { + pname = "dictcc"; + ename = "dictcc"; + version = "1.0.1"; + src = fetchFromGitHub { + owner = "cqql"; + repo = "dictcc.el"; + rev = "3244897515db954eafeed9648e7a0011b89c3ce2"; + sha256 = "1nlgz3i8kynhl6d6h5rszja14z5n7ri83mm5ks90nbdhjcqwk3qd"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/5e867df96915a0c4f22fdccd4e2096878895bda6/recipes/dictcc"; + sha256 = "0x1y742hb3dm7xmh5810dlqki38kybw68rmg9adcchm2rn86jqlm"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs ivy ]; + meta = { + homepage = "https://melpa.org/#/dictcc"; + license = lib.licenses.free; + }; + }) {}; dictionary = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -9160,6 +9851,7 @@ }; }) {}; diff-hl = callPackage ({ cl-lib ? null + , emacs , fetchFromGitHub , fetchurl , lib @@ -9167,19 +9859,19 @@ melpaBuild { pname = "diff-hl"; ename = "diff-hl"; - version = "1.8.4"; + version = "1.8.6"; src = fetchFromGitHub { owner = "dgutov"; repo = "diff-hl"; - rev = "e93367512080e540dc5dd126dfcb38b4a5e9415b"; - sha256 = "03pvh213w0sgyvv0xrkj43bs53p2xfr7162yhzdh24qwa8dd23qv"; + rev = "84a5fe1900af2e5cc522f02749804f0d9f094bbf"; + sha256 = "1xlsg728mz3cwhrsqvisa0aidic67nymd9g7h4c1h3q63j39yb2s"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/diff-hl"; sha256 = "135jgjfaiq6kj72ji5k22v4pqc8gjjmcv80r5rkjbjigzlvcvvj2"; name = "recipe"; }; - packageRequires = [ cl-lib ]; + packageRequires = [ cl-lib emacs ]; meta = { homepage = "https://melpa.org/#/diff-hl"; license = lib.licenses.free; @@ -9405,12 +10097,12 @@ melpaBuild { pname = "dired-atool"; ename = "dired-atool"; - version = "1.1.0"; + version = "1.2.0"; src = fetchFromGitHub { owner = "HKey"; repo = "dired-atool"; - rev = "a2470f805c8cfbeee459b000edaaa5474bac35f9"; - sha256 = "1d813b4wiamif48v0za5invnss52mn7yw3hzrlxd4918gy5y2r74"; + rev = "09dbb769fe02f546da470369a12468ab4a0cceb2"; + sha256 = "0j2dz4vy4i22185hhlwg2kprpis97xb12qvfdhvdcnz2vwy61sxa"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0fe7b0857828a041ee06b30edd2cd488cc3394c7/recipes/dired-atool"; @@ -9681,6 +10373,31 @@ license = lib.licenses.free; }; }) {}; + dired-toggle = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "dired-toggle"; + ename = "dired-toggle"; + version = "0.1.2"; + src = fetchFromGitHub { + owner = "fasheng"; + repo = "dired-toggle"; + rev = "509bf1f3c6d5e5f9bc29f94d88127e2d82d5c6ed"; + sha256 = "1h91z38bflj1z1zy798a4ngkny2f7gp03xbf222jiyhwc9djgg8q"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/17ae4c5ff42e0c48e53d93c88853f649f59034e6/recipes/dired-toggle"; + sha256 = "18v571kp440n5g1d7pj86rr8dgbbm324f9vblkdbdvn13c5dczf5"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/dired-toggle"; + license = lib.licenses.free; + }; + }) {}; dired-toggle-sudo = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -9767,12 +10484,12 @@ melpaBuild { pname = "direnv"; ename = "direnv"; - version = "1.4.0"; + version = "1.5.0"; src = fetchFromGitHub { owner = "wbolster"; repo = "emacs-direnv"; - rev = "03c4edffba45722a9511d6d10992578f140d095f"; - sha256 = "1b8xp0yprpy1sc8hmim6jcdmgpc8yj6wjzgj4rdy77k7l96016v8"; + rev = "8ad3672c56d65b1eacc012cc51a36ed544b4b160"; + sha256 = "02blhinkkfh3iai6j1k5swplf5mkwijy3p7wy38rnd1gnyj2z4la"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5419809ee62b920463e359c8e1314cd0763657c1/recipes/direnv"; @@ -9937,30 +10654,8 @@ license = lib.licenses.free; }; }) {}; - ditz-mode = callPackage ({ fetchhg - , fetchurl - , lib - , melpaBuild }: - melpaBuild { - pname = "ditz-mode"; - version = "0.3"; - src = fetchhg { - url = "https://bitbucket.com/zondo/ditz-mode"; - rev = "beac4c1f3b7e"; - sha256 = "1cbsy4lchl41zmyxfq828cjpl3h2dwvn8xf1qgf2lbscdb6cwbwb"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/02e2a2a25f42929626d7237511136ba6826dad33/recipes/ditz-mode"; - sha256 = "0shzm9l31n4ffjs1d26ykxsycd478lhlpl8xcwzbjryywg4gf5nd"; - name = "ditz-mode"; - }; - packageRequires = []; - meta = { - homepage = "https://melpa.org/#/ditz-mode"; - license = lib.licenses.free; - }; - }) {}; dix = callPackage ({ cl-lib ? null + , emacs , fetchFromGitHub , fetchurl , lib @@ -9968,19 +10663,19 @@ melpaBuild { pname = "dix"; ename = "dix"; - version = "0.3.5"; + version = "0.4.1"; src = fetchFromGitHub { owner = "unhammer"; repo = "dix"; - rev = "86880826a0cc878e2e5d50bc835eed5c8e2f001a"; - sha256 = "00qyzpqdw4im7c4bqqpiayv4kr9iqlm6mhsziazjvrjsvvi0p9ij"; + rev = "b973de948deb7aa2995b1895e1e62bbe3129b5a5"; + sha256 = "1bjxyidcp7y309asbk4pfb4mzgb8j62fmp3w3zl2nahdgv1rja45"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/149eeba213b82aa0bcda1073aaf1aa02c2593f91/recipes/dix"; sha256 = "0c5fmknpy6kwlz7nx0csbbia1maz0szj7yha1p7wq28s3a5426xq"; name = "recipe"; }; - packageRequires = [ cl-lib ]; + packageRequires = [ cl-lib emacs ]; meta = { homepage = "https://melpa.org/#/dix"; license = lib.licenses.free; @@ -9995,7 +10690,7 @@ melpaBuild { pname = "dix-evil"; ename = "dix-evil"; - version = "0.3.5"; + version = "0.4.1"; src = fetchFromGitHub { owner = "unhammer"; repo = "dix"; @@ -10013,6 +10708,32 @@ license = lib.licenses.free; }; }) {}; + django-commands = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "django-commands"; + ename = "django-commands"; + version = "1.3.2"; + src = fetchFromGitHub { + owner = "muffinmad"; + repo = "emacs-django-commands"; + rev = "1b19436a1160d1552207d4356d5e78793dabe100"; + sha256 = "1zb8mf0dgdr83n61a54m5grhdr6nz75zrgwczpzfl3f66xkvfci9"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/fd217a23a9670c7eb826360b34df1a06ab3e450f/recipes/django-commands"; + sha256 = "17k9bnig2cfnxbbz6k9vdk5k5gzhvn1h5j9wvww7n137c9vv0qmk"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/django-commands"; + license = lib.licenses.free; + }; + }) {}; docker = callPackage ({ dash , docker-tramp , emacs @@ -10027,12 +10748,12 @@ melpaBuild { pname = "docker"; ename = "docker"; - version = "0.7.0"; + version = "1.3.0"; src = fetchFromGitHub { owner = "Silex"; repo = "docker.el"; - rev = "0bcc50fa0c94c1647511d37efcb46fa8b5d23db3"; - sha256 = "12qggbxjmj939zzv774cqydfa3ykw7v77qphkjvlx2j2vq7r1d90"; + rev = "e127a157f8d0d9ffd465075ecf6558f36d2d3b24"; + sha256 = "1g8r1faqp0z0vqp9qrl8m84pa0v2ddvc91klphdkfmldwv7rfipw"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6c74bf8a41c17bc733636f9e7c05f3858d17936b/recipes/docker"; @@ -10192,31 +10913,23 @@ , fetchurl , lib , melpaBuild - , projectile , shrink-path }: melpaBuild { pname = "doom-modeline"; ename = "doom-modeline"; - version = "0.2.0"; + version = "1.9.6"; src = fetchFromGitHub { owner = "seagle0128"; repo = "doom-modeline"; - rev = "845e0319d3cce53424e2c804290c16014df53709"; - sha256 = "135152m1a96549blh658lvk4q76dy3bhnl2f0vf78q1pxnrv9mx1"; + rev = "64f1cf5de1689b76f04575758c07a74f1e9727a0"; + sha256 = "0yklidlr9dv508mzmpnxlffyrc49vs3dxi2axlzf4yd89ng7x4lm"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f4f610757f85fb01bd9b1dd212ddbea8f34f3ecd/recipes/doom-modeline"; sha256 = "0pscrhhgk4wpz1f2r94ficgan4f9blbhqzvav1wjahwp7fn5m29j"; name = "recipe"; }; - packageRequires = [ - all-the-icons - dash - eldoc-eval - emacs - projectile - shrink-path - ]; + packageRequires = [ all-the-icons dash eldoc-eval emacs shrink-path ]; meta = { homepage = "https://melpa.org/#/doom-modeline"; license = lib.licenses.free; @@ -10232,12 +10945,12 @@ melpaBuild { pname = "doom-themes"; ename = "doom-themes"; - version = "2.1.1"; + version = "2.1.6"; src = fetchFromGitHub { owner = "hlissner"; repo = "emacs-doom-themes"; - rev = "98120f9b362b53983e932f126cf92848297b745a"; - sha256 = "03pnnbqa09iqyypgbgwlkxr6w1j46rla6pivbq7fy366yk2x03x0"; + rev = "39e6971e81181b86a57f65cd0ea31376203a9756"; + sha256 = "042pzcdhxi2z07jcscgjbaki9nrrm0cbgbbrnymd1r4q8ckkn8l9"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c5084bc2c3fe378af6ff39d65e40649c6359b7b5/recipes/doom-themes"; @@ -10276,6 +10989,32 @@ license = lib.licenses.free; }; }) {}; + double-saber = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "double-saber"; + ename = "double-saber"; + version = "0.0.3"; + src = fetchFromGitHub { + owner = "dp12"; + repo = "double-saber"; + rev = "5555dc28cbaa228fa8f9390738a4200e071380b8"; + sha256 = "06ykn84hp4yvf6z2457jqgyck70y30361l8617ilb7g337hk15xl"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/19f5c0195ad9b278a7aaa3fd8e70c0004cc03500/recipes/double-saber"; + sha256 = "0zsmyvlxm3my3xbj7m38539vk2dl7azi1v7jb41kdiavj2cc55zg"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/double-saber"; + license = lib.licenses.free; + }; + }) {}; downplay-mode = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -10301,6 +11040,31 @@ license = lib.licenses.free; }; }) {}; + dpkg-dev-el = callPackage ({ debian-el + , fetchgit + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "dpkg-dev-el"; + ename = "dpkg-dev-el"; + version = "37.1"; + src = fetchgit { + url = "https://salsa.debian.org/emacsen-team/dpkg-dev-el.git"; + rev = "04fb5c930269e64ed73a13fa909588002f4e4e4f"; + sha256 = "0i0m4hdpdr4wz3r8cgxslwhm23z7002648dm7cw7cf3fwd4gi47q"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/3e057df3608780a6191f761b9a81262c2eaa053c/recipes/dpkg-dev-el"; + sha256 = "1cgfzxlw4m3wsl5fhck08pc2w7fw91mxk58yaprk9lkw4jxd1yjy"; + name = "recipe"; + }; + packageRequires = [ debian-el ]; + meta = { + homepage = "https://melpa.org/#/dpkg-dev-el"; + license = lib.licenses.free; + }; + }) {}; dr-racket-like-unicode = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -10335,12 +11099,12 @@ melpaBuild { pname = "dracula-theme"; ename = "dracula-theme"; - version = "1.4.0"; + version = "1.5.1"; src = fetchFromGitHub { owner = "dracula"; repo = "emacs"; - rev = "1f649824d996b1ecdcc5980210b774f0cb950e9a"; - sha256 = "1gsj8na6nnz0vv9j215wdf39q834chc6pmk9mv8hcvcbdbc4f8wa"; + rev = "66e429f4d576346661ae3a111bafaa06febc1d94"; + sha256 = "0lyy8vjzzcfcj4hm7scxl4cg4qm67rprzdj7dmyc3907yad4n023"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d63cb8906726f106e65f7d9895b49a38ffebf8d5/recipes/dracula-theme"; @@ -10461,12 +11225,12 @@ melpaBuild { pname = "dtrt-indent"; ename = "dtrt-indent"; - version = "0.7"; + version = "0.8"; src = fetchFromGitHub { owner = "jscheid"; repo = "dtrt-indent"; - rev = "0ac070c9576e4ebab12cd6800ac2ac3abcecc2c1"; - sha256 = "0dambn5l0wvbhccvhh5hbz9hw66y4mp1la3wj85dl9kgr7hq1ry7"; + rev = "9ab9cb9d7f391fb09f61c9289c51c36374ddbcbb"; + sha256 = "0pgf0pvqd8k4yzhdn2df9lp0y8hmlm2ccrh07jivwlccs95pcz7z"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/61bcbcfa6c0f38a1d87f5b6913b8be6c50ef2994/recipes/dtrt-indent"; @@ -10535,28 +11299,28 @@ license = lib.licenses.free; }; }) {}; - dyalog-mode = callPackage ({ cl-lib ? null - , emacs - , fetchhg - , fetchurl - , lib - , melpaBuild }: + dune = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: melpaBuild { - pname = "dyalog-mode"; - version = "0.7"; - src = fetchhg { - url = "https://bitbucket.com/harsman/dyalog-mode"; - rev = "87db00b912be"; - sha256 = "0jg289fj4q83dwj7i0w5zq8bwqxzwzzmyhvdrk6cfw3q6rlwk5fp"; + pname = "dune"; + ename = "dune"; + version = "1.8.2"; + src = fetchFromGitHub { + owner = "ocaml"; + repo = "dune"; + rev = "d7bfa6005cf6043df24d824ffc5a2243e70bce20"; + sha256 = "07c615kfpxawpv1fxlvk5nf48bcf54gs5fhad8fcvmknsq4lj7ib"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/dyalog-mode"; - sha256 = "1y17nd2xd8b3mhaybws8dr7yanzwqij9gzfywisy65ckflm9kfyq"; - name = "dyalog-mode"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/06648d1d37767cbdc7588d7a8f709d679d478a3b/recipes/dune"; + sha256 = "1lqza4fjm9xxmdn8040bvsl467qzjy709dlmiq2241gfhxpmvvr7"; + name = "recipe"; }; - packageRequires = [ cl-lib emacs ]; + packageRequires = []; meta = { - homepage = "https://melpa.org/#/dyalog-mode"; + homepage = "https://melpa.org/#/dune"; license = lib.licenses.free; }; }) {}; @@ -10782,12 +11546,12 @@ melpaBuild { pname = "eacl"; ename = "eacl"; - version = "1.1.3"; + version = "2.0.1"; src = fetchFromGitHub { owner = "redguardtoo"; repo = "eacl"; - rev = "ccf1401b1acff67fe445c95e8be7b09e8c3ae5d8"; - sha256 = "0v02asdmhj5la9nqck2230s04gf518cjs7wa4lykf8j46bc13vac"; + rev = "ba6a95838422ec33191beaa12b3e43b67c105abc"; + sha256 = "0ksn11sm3g1ja5lpjz3hrzzw8b480mfcb3q589m52qjgvvn5iyfv"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8223bec7eed97f0bad300af9caa4c8207322d39a/recipes/eacl"; @@ -10809,12 +11573,12 @@ melpaBuild { pname = "easy-hugo"; ename = "easy-hugo"; - version = "3.3.30"; + version = "3.8.37"; src = fetchFromGitHub { owner = "masasam"; repo = "emacs-easy-hugo"; - rev = "8bf48b973905c4ab488633226b3dfb3317d8c745"; - sha256 = "0yjxg1mql7ha6wa5wdkngs6y3lqz5y5y0hbsmpvqdw61paqm2ggs"; + rev = "e7b6c75a7e46290d9d0cdac9ec56fbf35a6b9c98"; + sha256 = "1xhyky1593qxq7kfbv2ighx957w5pizkki0q77nrvjxlwbqghgz2"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/easy-hugo"; @@ -10835,12 +11599,12 @@ melpaBuild { pname = "easy-jekyll"; ename = "easy-jekyll"; - version = "1.6.15"; + version = "2.0.19"; src = fetchFromGitHub { owner = "masasam"; repo = "emacs-easy-jekyll"; - rev = "84c19d0380617ce2e40a2b42ce9bedf65e52779d"; - sha256 = "1vbb60vb98nqbwrxl6p3gcvjpnjlscp0hp4k53rcgjd75w9vbnsj"; + rev = "5ee52c0bb01336a03a8f07e072841caf13f86c0a"; + sha256 = "1xibnw3jmmwrc1z7hnifjzhq4mn2834lk7f22x7rwh857iamlply"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c3f281145bad12c27bdbef32ccc07b6a5f13b577/recipes/easy-jekyll"; @@ -10888,12 +11652,12 @@ melpaBuild { pname = "easy-kill-extras"; ename = "easy-kill-extras"; - version = "0.9.4.1"; + version = "0.9.6"; src = fetchFromGitHub { owner = "knu"; repo = "easy-kill-extras.el"; - rev = "e60a74d7121eff7c263098aea2901cc05a5f6acd"; - sha256 = "1rabkb2pkafnfx68df1zjwbj8bl7361n35lvzrvldc3v85bfam48"; + rev = "b8ce8350cc86e0229f195082557970cd51def960"; + sha256 = "1f8db92zzk8g8yyj0g334mdbgqmzrs8xamm1d24jai1289hm29xa"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7b55d93f78fefde47a2bd4ebbfd93c028fab1f40/recipes/easy-kill-extras"; @@ -10987,30 +11751,28 @@ license = lib.licenses.free; }; }) {}; - ebib = callPackage ({ dash - , emacs + ebib = callPackage ({ emacs , fetchFromGitHub , fetchurl , lib , melpaBuild - , parsebib - , seq }: + , parsebib }: melpaBuild { pname = "ebib"; ename = "ebib"; - version = "2.11.11"; + version = "2.16.3"; src = fetchFromGitHub { owner = "joostkremers"; repo = "ebib"; - rev = "212dea4a52f04eaa1d13a895fffea04f5884f12b"; - sha256 = "150dggfk79pk11qlzfl2sk1xaibdy0sbh6n94r7i2w235p2yg8p5"; + rev = "4d842a1eec68e08acc9d4d77d7d7c3014d5cd55e"; + sha256 = "03fkj0grbv9xh1vb441rcxannjmkvaklqziwhxkrij287d2f0ak4"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4e39cd8e8b4f61c04fa967def6a653bb22f45f5b/recipes/ebib"; sha256 = "1kdqf5nk9l6mr3698nqngrkw5dicgf7d24krir5wrcfbrsqrfmid"; name = "recipe"; }; - packageRequires = [ dash emacs parsebib seq ]; + packageRequires = [ emacs parsebib ]; meta = { homepage = "https://melpa.org/#/ebib"; license = lib.licenses.free; @@ -11141,14 +11903,14 @@ ename = "ede-php-autoload"; version = "1.1.0"; src = fetchFromGitHub { - owner = "stevenremot"; + owner = "emacs-php"; repo = "ede-php-autoload"; rev = "3f13302b9e8dbb6a24205c4bc21acadff487d30b"; sha256 = "03mjw824d0l2g8n07ys3j89x8chbx64znhhz14y6ni4b9650njdf"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/8ee9f7fd9cbc3397cd9af34b08b75c3d9d8bc551/recipes/ede-php-autoload"; - sha256 = "0b7qbighncipgfaksvggpyldc5h0wxbjbiyaghglvycc4p1sfjd0"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/afc7ddfcf16e92889e54f30599b576a24823f60d/recipes/ede-php-autoload"; + sha256 = "1255a1drpb50650i0yijahbp97chpw89mi9fvdrk3vf64xlysamq"; name = "recipe"; }; packageRequires = []; @@ -11290,6 +12052,7 @@ }; }) {}; editorconfig = callPackage ({ cl-lib ? null + , emacs , fetchFromGitHub , fetchurl , lib @@ -11297,19 +12060,19 @@ melpaBuild { pname = "editorconfig"; ename = "editorconfig"; - version = "0.7.12"; + version = "0.8.0"; src = fetchFromGitHub { owner = "editorconfig"; repo = "editorconfig-emacs"; - rev = "ae856b02a6513521bdf6a77a7ef51805fb0abf57"; - sha256 = "0y13276ajz12rw1xcfqnr7q6kkk6zi0f55p10nblfkhxclhr0f7z"; + rev = "4b6c34d5d77025a11ae68462af9bf0a822a13242"; + sha256 = "1b2cpqz75pivl323bs60j5rszwi787x6vy68csycikqz9mhpmjn9"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/50d4f2ed288ef38153a7eab44c036e4f075b51d0/recipes/editorconfig"; sha256 = "0zv96m07ml8i3k7zm7sdci4hn611n3ypna7zppfkwbdyr7d5k2gc"; name = "recipe"; }; - packageRequires = [ cl-lib ]; + packageRequires = [ cl-lib emacs ]; meta = { homepage = "https://melpa.org/#/editorconfig"; license = lib.licenses.free; @@ -11430,12 +12193,12 @@ melpaBuild { pname = "egg"; ename = "egg"; - version = "1.0.9"; + version = "1.1.4"; src = fetchFromGitHub { owner = "byplayer"; repo = "egg"; - rev = "59e87b5f150ba5add385b29f8e07cb41e6588bca"; - sha256 = "16cs1ba2v2pm8wsm6z71s7ad619f45vi4v6hwqswi6fljjhmc175"; + rev = "00e768a78ac3d25f457eed667d02cac568480bf9"; + sha256 = "1ak23v9gqj6x104mzgihn0hi7w0kr76q1sl929wmbb9h8s3a54q8"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a1c97870c2641d73685f07a12f010530cc186544/recipes/egg"; @@ -11455,16 +12218,16 @@ melpaBuild { pname = "egison-mode"; ename = "egison-mode"; - version = "3.7.10"; + version = "3.7.14"; src = fetchFromGitHub { - owner = "egisatoshi"; - repo = "egison3"; - rev = "0f8289294b1a8de029f89643438e8384e7ee789f"; - sha256 = "1rkxz4gj11z1jpd3g71m6sbzb5j4ggm6sixk3r18wb8wv91v4fgs"; + owner = "egison"; + repo = "egison"; + rev = "ddc6d910be421d891efc8c7c033b99b10364c4c3"; + sha256 = "1rw5xjs4hnikj2swskczxn3x31811znsgzj72b975zbmd5vp98kd"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/f543dd136e2af6c36b12073ea75b3c4d4bc79769/recipes/egison-mode"; - sha256 = "0x11fhv8kkx34h831k2q70y5qfz7wnfia4ka5mbmps7mpr68zcwi"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3416586d4d782cdd61a56159c5f80a0ca9b3ddf4/recipes/egison-mode"; + sha256 = "0bch4863l9wxrss63fj46gy3nx3hp635709xr4c2arw0j7n82lzd"; name = "recipe"; }; packageRequires = []; @@ -11476,25 +12239,26 @@ eglot = callPackage ({ emacs , fetchFromGitHub , fetchurl + , flymake ? null , jsonrpc , lib , melpaBuild }: melpaBuild { pname = "eglot"; ename = "eglot"; - version = "1.1"; + version = "1.4"; src = fetchFromGitHub { owner = "joaotavora"; repo = "eglot"; - rev = "9211f162dc3eb956c51faeb3e7195603fa84c60c"; - sha256 = "0p3fry60xvh7za0p8pyz4h21nzj6df1cbl9lxdzd19rwfd35fzpp"; + rev = "35597d262b53bde52faa46ee6ae8c597d93114e8"; + sha256 = "1qx3ixaaaffhmbh3ifi5041lp7xp4ab4x4n1mal3wcpp70asxvdp"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6c644530eca56f93d94fac2c9d7663c35c2b8c01/recipes/eglot"; sha256 = "17w39hcgv4p49g841qaicjdx7xac72yxvsc83jf1rrakg713pj7y"; name = "recipe"; }; - packageRequires = [ emacs jsonrpc ]; + packageRequires = [ emacs flymake jsonrpc ]; meta = { homepage = "https://melpa.org/#/eglot"; license = lib.licenses.free; @@ -11533,19 +12297,18 @@ , lib , melpaBuild , request - , request-deferred , s , skewer-mode , websocket }: melpaBuild { pname = "ein"; ename = "ein"; - version = "0.14.1"; + version = "0.15.0"; src = fetchFromGitHub { owner = "millejoh"; repo = "emacs-ipython-notebook"; - rev = "fcf9bff0af071f5e2020ac77d9a9473325e4c5bb"; - sha256 = "1xk7k4av9hy0i7zqwpzis0rjp5myvxs52k45ah00zg8wi5hybq1x"; + rev = "f2e9193da64ee6a0398165e3d6f0855ab3d6eff2"; + sha256 = "10hkk5v9lgwcwr6kd095kpw1zab6658x3j17mwa6bfp2in2sjsv3"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/215e163755fe391ce1f049622e7b9bf9a8aea95a/recipes/ein"; @@ -11558,7 +12321,6 @@ dash deferred request - request-deferred s skewer-mode websocket @@ -11593,6 +12355,37 @@ license = lib.licenses.free; }; }) {}; + ejc-sql = callPackage ({ auto-complete + , clomacs + , dash + , direx + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , spinner }: + melpaBuild { + pname = "ejc-sql"; + ename = "ejc-sql"; + version = "0.2"; + src = fetchFromGitHub { + owner = "kostafey"; + repo = "ejc-sql"; + rev = "82879290aca8ef1ec7a0f8b968b5b7f355907e8e"; + sha256 = "00qw1md2i6izpafpz2mj7i22sq1pnzgfsv2kvpq00aqbink47k83"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/e01655679087504db1206b22435ba8eb7050aa23/recipes/ejc-sql"; + sha256 = "13i55l6hwsxbmdxmvh6aajayivgskw4iagmj9in1qkd9rnrykhn9"; + name = "recipe"; + }; + packageRequires = [ auto-complete clomacs dash direx emacs spinner ]; + meta = { + homepage = "https://melpa.org/#/ejc-sql"; + license = lib.licenses.free; + }; + }) {}; el-autoyas = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -11735,12 +12528,12 @@ melpaBuild { pname = "el-patch"; ename = "el-patch"; - version = "2.1"; + version = "2.2.2"; src = fetchFromGitHub { owner = "raxod502"; repo = "el-patch"; - rev = "c10108162bc72b8d09ccf9c914e892e1209f9c20"; - sha256 = "0fibq04fncv8pia8xjaxc6gc4x046cg26ag6dw6gg0wj79gpyrv9"; + rev = "66510e01598a2c4ce6c973e0b6c1691d8d24c8e6"; + sha256 = "1mvb9fpzj65yfhjcbvbdqjaa8adn64ik8zccpppls3fq656rwbml"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2f4f57e0edbae35597aa4a7744d22d2f971d5de5/recipes/el-patch"; @@ -11841,13 +12634,13 @@ version = "1.2"; src = fetchFromGitHub { owner = "NicolasPetton"; - repo = "Elbank"; + repo = "elbank"; rev = "f494716105b1a9f4f52f43bc3dd37c9cd0309bf5"; sha256 = "0bvx6nq0gjjbjs0mzd1x1ajyjpa181z0n4kv4aknh3is210gbpbb"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/05d252ee84adae2adc88fd325540f76b6cdaf010/recipes/elbank"; - sha256 = "1ry84aiajyrnrspf7w4yjm0rmdam8ijrz0s7291yr8c70hslc997"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/elbank"; + sha256 = "1i1cdywcbdj9ykfczbagrqdpgf3c88f1kc0mdlj8mzyvjixx7mhk"; name = "recipe"; }; packageRequires = [ emacs seq ]; @@ -11884,6 +12677,32 @@ license = lib.licenses.free; }; }) {}; + eldoc-box = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "eldoc-box"; + ename = "eldoc-box"; + version = "1.8"; + src = fetchFromGitHub { + owner = "casouri"; + repo = "eldoc-box"; + rev = "61dd07f6709ed04f09615d04457b4cfe73c7ace1"; + sha256 = "1ajg8x5s9yranidx17jz0da7439lwsdkw105531zq9547n31as65"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/aac2e64f9e0d06b95bdf0dece214263f75470ea8/recipes/eldoc-box"; + sha256 = "11720hi2gvjwc4x2yrxnrhh76wf3sj3yd0vaa3sc22xa5g1wi40r"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/eldoc-box"; + license = lib.licenses.free; + }; + }) {}; eldoc-eval = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -11919,12 +12738,12 @@ melpaBuild { pname = "electric-operator"; ename = "electric-operator"; - version = "1.0.0"; + version = "1.1.0"; src = fetchFromGitHub { owner = "davidshepherd7"; repo = "electric-operator"; - rev = "16df9e16da8efe25d410ba17165d7f5c1ad4e043"; - sha256 = "010zr6dgix6bf8xshs8kascpzcrg83vqd1w71qin9anw6rf3z4d4"; + rev = "21e6b84754118912768263a393442a7aefb4742b"; + sha256 = "1bgz5vn4piax8jm0ixqlds0qj5my26zczaxs21fah11pwbdc0xyk"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/906cdf8647524bb76f644373cf8b65397d9053a5/recipes/electric-operator"; @@ -11971,12 +12790,12 @@ melpaBuild { pname = "elfeed"; ename = "elfeed"; - version = "3.0.0"; + version = "3.1.0"; src = fetchFromGitHub { owner = "skeeto"; repo = "elfeed"; - rev = "7e0abfee1470ae6323b559a7a9f843dd0076d622"; - sha256 = "01x4ww63lvn04c7f3ab5vx2s20xqisvv8213qwswz7vr9nxja5yi"; + rev = "3d1c6ecbe585f9fe6ca5a97a3fc352d68f303f9e"; + sha256 = "1bzpl6lc7kq9bph4bfz1fn19207blrnhjr2g7yinhn0nnnjmxi8i"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/407ae027fcec444622c2a822074b95996df9e6af/recipes/elfeed"; @@ -11999,12 +12818,12 @@ melpaBuild { pname = "elfeed-protocol"; ename = "elfeed-protocol"; - version = "0.5.3"; + version = "0.5.9"; src = fetchFromGitHub { owner = "fasheng"; repo = "elfeed-protocol"; - rev = "611a1f57373e3692abf5122652ea7f6f96d3f6ec"; - sha256 = "0z9xij39p6m2855ksk40qaf830d04smhl3ag9gjb4fhzvw671k76"; + rev = "c5faca15ccfe7e03dc4ee1372a07671c20015737"; + sha256 = "1cdg111dgpphlpv2csv9nr5p2zjk3qss7bf0y8485nnzcin4ip9f"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3f1eef8add7cd2cfefe6fad6d8e69d65696e9677/recipes/elfeed-protocol"; @@ -12027,12 +12846,12 @@ melpaBuild { pname = "elfeed-web"; ename = "elfeed-web"; - version = "3.0.0"; + version = "3.1.0"; src = fetchFromGitHub { owner = "skeeto"; repo = "elfeed"; - rev = "7e0abfee1470ae6323b559a7a9f843dd0076d622"; - sha256 = "01x4ww63lvn04c7f3ab5vx2s20xqisvv8213qwswz7vr9nxja5yi"; + rev = "3d1c6ecbe585f9fe6ca5a97a3fc352d68f303f9e"; + sha256 = "1bzpl6lc7kq9bph4bfz1fn19207blrnhjr2g7yinhn0nnnjmxi8i"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/62459d16ee44d5fcf170c0ebc981ca2c7d4672f2/recipes/elfeed-web"; @@ -12113,13 +12932,13 @@ version = "1.3"; src = fetchFromGitHub { owner = "Wilfred"; - repo = "refs.el"; + repo = "elisp-refs"; rev = "788f6f65d5171b1887b3ff9e4cad900e8046b2b1"; sha256 = "0c7hcbjqynw6k5idpmfxn6xbr192ahhk8a2g72npap97flpw6cdq"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/60891099e241ebd32d39bdcfe4953529a5a3263e/recipes/elisp-refs"; - sha256 = "16h7dccmzvmap3knnwhjq79wm82xm3whria70vq5msl2y252f6cx"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3416586d4d782cdd61a56159c5f80a0ca9b3ddf4/recipes/elisp-refs"; + sha256 = "1pj3dm2z6m24179ibl7zhr8lhan2v2rjnm3abfciwp228piz1sfz"; name = "recipe"; }; packageRequires = [ dash loop s ]; @@ -12165,14 +12984,14 @@ ename = "elixir-mode"; version = "2.3.1"; src = fetchFromGitHub { - owner = "elixir-lang"; + owner = "elixir-editors"; repo = "emacs-elixir"; rev = "a1f4d60ec555574c945201359d2e32b183c69f4b"; sha256 = "06bi68x49v6f7flpz279mm4jpg31ll3s274givm3pvr8slcxs6xg"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/6374ced0de38d83bf99147f702f30706615480ed/recipes/elixir-mode"; - sha256 = "1dba3jfg210i2rw8qy866396xn2xjgmbcyl006d6fibpr3j4lxaf"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3416586d4d782cdd61a56159c5f80a0ca9b3ddf4/recipes/elixir-mode"; + sha256 = "0d25p6sal1qg1xsq5yk343afnrxa0lzpx5gsh72khnx2i8pi40vz"; name = "recipe"; }; packageRequires = [ emacs pkg-info ]; @@ -12322,12 +13141,12 @@ melpaBuild { pname = "elpa-clone"; ename = "elpa-clone"; - version = "0.0.6"; + version = "0.0.7"; src = fetchFromGitHub { owner = "dochang"; repo = "elpa-clone"; - rev = "92f4c9d3570ad002575a90d0cc4a522c203a1110"; - sha256 = "0m5w5wgyslvakcqpr3d198sy3561w2h002gflw0jp47v17hba1r7"; + rev = "5dddbab4c27ec6aca541a1f8e9792617f10fc325"; + sha256 = "17lbdgwg97x8q8dbghylr2j0nwb72mpfl679qb0pl9184ih27qfc"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/11861edd9c7f9deebd44fd1f8ef648e7a04caf2b/recipes/elpa-clone"; @@ -12380,12 +13199,12 @@ melpaBuild { pname = "elpy"; ename = "elpy"; - version = "1.22.0"; + version = "1.28.0"; src = fetchFromGitHub { owner = "jorgenschaefer"; repo = "elpy"; - rev = "47eac168f38e40fc07f56ea37fb1bee7f645e42a"; - sha256 = "09inijph1r0l94balf0z01g2dgx22y53c346cxf4fkm2hcjd2fd7"; + rev = "b4803b554d78941e871cd976ff7828294e85c991"; + sha256 = "073bwxwjzcbmvpcz9q2xjwzx9x7hkvjni6fwvikh6yawzjp56jis"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1d8fcd8745bb15402c9f3b6f4573ea151415237a/recipes/elpy"; @@ -12485,6 +13304,34 @@ license = lib.licenses.free; }; }) {}; + elscreen-tab = callPackage ({ dash + , elscreen + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "elscreen-tab"; + ename = "elscreen-tab"; + version = "1.0.0"; + src = fetchFromGitHub { + owner = "aki-s"; + repo = "elscreen-tab"; + rev = "29d7a65c3e134dd476049c9aebc8d029238e71f7"; + sha256 = "0303i61m1qg65d3i3hsy7pzdhw0icpx3im99qkfmy6lxi4h9nd0p"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/06a8348c6911936e16a98cf216578ea148e20e5d/recipes/elscreen-tab"; + sha256 = "18krbs462cwi3pf72kn1zf1jf4gv9n3ffdg4v5bgb19i69sq7spi"; + name = "recipe"; + }; + packageRequires = [ dash elscreen emacs ]; + meta = { + homepage = "https://melpa.org/#/elscreen-tab"; + license = lib.licenses.free; + }; + }) {}; elwm = callPackage ({ dash , fetchFromGitHub , fetchurl @@ -12519,12 +13366,12 @@ melpaBuild { pname = "elx"; ename = "elx"; - version = "1.2.4"; + version = "1.2.6"; src = fetchFromGitHub { owner = "emacscollective"; repo = "elx"; - rev = "10a21c35915e249d5487aa3ced70fcfb749a9d0c"; - sha256 = "1jl2lp4gas89vx1xjx5gzh56fhx16mvfqwqs84cpxdbwb2qzch21"; + rev = "c554db7e7f2c0c8a503def7739b8205193ba821f"; + sha256 = "07i739v2w5dbhyfhvfw4phcrdk5sf7ncsd47y8hkf5m4zgw4kw4n"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/57a2fb9524df3fdfdc54c403112e12bd70888b23/recipes/elx"; @@ -12613,38 +13460,33 @@ license = lib.licenses.free; }; }) {}; - emacsql = callPackage ({ cl-generic - , cl-lib ? null - , emacs + emacsql = callPackage ({ emacs , fetchFromGitHub , fetchurl - , finalize , lib , melpaBuild }: melpaBuild { pname = "emacsql"; ename = "emacsql"; - version = "2.0.3"; + version = "3.0.0"; src = fetchFromGitHub { owner = "skeeto"; repo = "emacsql"; - rev = "dcf0dda9391f3978896547582efb72b5632c2ffe"; - sha256 = "07gvx0bbpf6j3g8kpk9908wf8fx1yb3075v6407wjxxighl0n5zz"; + rev = "8c5f095458aa37e4146b80d9319ee63571734127"; + sha256 = "1c84gxr1majqj4b59wgdy3lzm3ap66w9qsrnkx8hdbk9895ak81g"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9c3b6175b5c64f03b0b9dfdc10f393081d681309/recipes/emacsql"; sha256 = "0c2d0kymzr53wh87fq1wy2x5ahfsymz0cw8qbrqx0k613l3mpr38"; name = "recipe"; }; - packageRequires = [ cl-generic cl-lib emacs finalize ]; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/emacsql"; license = lib.licenses.free; }; }) {}; - emacsql-mysql = callPackage ({ cl-generic - , cl-lib ? null - , emacs + emacsql-mysql = callPackage ({ emacs , emacsql , fetchFromGitHub , fetchurl @@ -12653,57 +13495,52 @@ melpaBuild { pname = "emacsql-mysql"; ename = "emacsql-mysql"; - version = "2.0.3"; + version = "3.0.0"; src = fetchFromGitHub { owner = "skeeto"; repo = "emacsql"; - rev = "5df2891557f52eadd094eca618775163b1618af5"; - sha256 = "18916pxlgamprv9lk0g0bfyx040imyfzry5r35gyf4s4jb8kjnsm"; + rev = "ea613c5191dcaa2583d3f7d5737b31bb88a07ed5"; + sha256 = "1i733wjvpd6lhdnwr8w2k0c8s7v7r9ivsmxxgdndlhdnkm17ca5j"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9cc47c05fb0d282531c9560252090586e9f6196e/recipes/emacsql-mysql"; sha256 = "1c20zhpdzfqjds6kcjhiq1m5ch53fsx6n1xk30i35kkg1wxaaqzy"; name = "recipe"; }; - packageRequires = [ cl-generic cl-lib emacs emacsql ]; + packageRequires = [ emacs emacsql ]; meta = { homepage = "https://melpa.org/#/emacsql-mysql"; license = lib.licenses.free; }; }) {}; - emacsql-psql = callPackage ({ cl-generic - , cl-lib ? null - , emacs + emacsql-psql = callPackage ({ emacs , emacsql , fetchFromGitHub , fetchurl , lib - , melpaBuild - , pg }: + , melpaBuild }: melpaBuild { pname = "emacsql-psql"; ename = "emacsql-psql"; - version = "2.0.3"; + version = "3.0.0"; src = fetchFromGitHub { owner = "skeeto"; repo = "emacsql"; - rev = "5df2891557f52eadd094eca618775163b1618af5"; - sha256 = "18916pxlgamprv9lk0g0bfyx040imyfzry5r35gyf4s4jb8kjnsm"; + rev = "ea613c5191dcaa2583d3f7d5737b31bb88a07ed5"; + sha256 = "1i733wjvpd6lhdnwr8w2k0c8s7v7r9ivsmxxgdndlhdnkm17ca5j"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9cc47c05fb0d282531c9560252090586e9f6196e/recipes/emacsql-psql"; sha256 = "1aa1g9jyjmz6w0lmi2cf67926ad3xvs0qsg7lrccnllr9k0flly3"; name = "recipe"; }; - packageRequires = [ cl-generic cl-lib emacs emacsql pg ]; + packageRequires = [ emacs emacsql ]; meta = { homepage = "https://melpa.org/#/emacsql-psql"; license = lib.licenses.free; }; }) {}; - emacsql-sqlite = callPackage ({ cl-generic - , cl-lib ? null - , emacs + emacsql-sqlite = callPackage ({ emacs , emacsql , fetchFromGitHub , fetchurl @@ -12712,19 +13549,19 @@ melpaBuild { pname = "emacsql-sqlite"; ename = "emacsql-sqlite"; - version = "2.0.3"; + version = "3.0.0"; src = fetchFromGitHub { owner = "skeeto"; repo = "emacsql"; - rev = "e597696682a9a7f9d2a8350dfe1f7beb05365da4"; - sha256 = "1900aca9nbcwmmmpm5h46zblzay47i2v4x4zb0w7mnzcidq8g1h4"; + rev = "62d39157370219a1680265fa593f90ccd51457da"; + sha256 = "0ghl3g8n8wlw8rnmgbivlrm99wcwn93bv8flyalzs0z9j7p7fdq9"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3cfa28c7314fa57fa9a3aaaadf9ef83f8ae541a9/recipes/emacsql-sqlite"; sha256 = "1y81nabzzb9f7b8azb9giy23ckywcbrrg4b88gw5qyjizbb3h70x"; name = "recipe"; }; - packageRequires = [ cl-generic cl-lib emacs emacsql ]; + packageRequires = [ emacs emacsql ]; meta = { homepage = "https://melpa.org/#/emacsql-sqlite"; license = lib.licenses.free; @@ -12833,6 +13670,34 @@ license = lib.licenses.free; }; }) {}; + emidje = callPackage ({ cider + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , seq }: + melpaBuild { + pname = "emidje"; + ename = "emidje"; + version = "1.1.0"; + src = fetchFromGitHub { + owner = "nubank"; + repo = "emidje"; + rev = "e3ab498a21cefae2690b9bcf3f125517a6b984cc"; + sha256 = "004f4dqcw6m473hxj0zll9nwl4iq652d1fymcn2id0p42l7cf2kv"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/5d64b3b42b4b9acd3e9d84921df287f3217db83e/recipes/emidje"; + sha256 = "1p2aa4wl2465gm7ljgr5lbvxfgx0g1w1170zdv3596hi07mccabs"; + name = "recipe"; + }; + packageRequires = [ cider emacs seq ]; + meta = { + homepage = "https://melpa.org/#/emidje"; + license = lib.licenses.free; + }; + }) {}; emmet-mode = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -12866,11 +13731,11 @@ melpaBuild { pname = "emms"; ename = "emms"; - version = "5.0"; + version = "5.1"; src = fetchgit { url = "https://git.savannah.gnu.org/git/emms.git"; - rev = "cffef39bd9297154b3ed91a68f8fc230e0f87fba"; - sha256 = "1xzfpmcp3vnslv38ql7ympmmcbl0q3wzdvkbfn245g94iyz3a97f"; + rev = "47b1054683f4fa0a1ecd9999cb94c5c34994e018"; + sha256 = "1lrkj4gy592mrym0qfb05hydpr7c2sbk6ap5q19zkblizf0gnad6"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/caaa21f235c4864f6008fb454d0a970a2fd22a86/recipes/emms"; @@ -12910,32 +13775,6 @@ license = lib.licenses.free; }; }) {}; - emms-player-mpv = callPackage ({ emms - , fetchFromGitHub - , fetchurl - , lib - , melpaBuild }: - melpaBuild { - pname = "emms-player-mpv"; - ename = "emms-player-mpv"; - version = "0.2.0"; - src = fetchFromGitHub { - owner = "dochang"; - repo = "emms-player-mpv"; - rev = "9c9ffc6f00a737a6db6377681a88e5292ebcf86b"; - sha256 = "17kvkx63q30p5r2lsv6pqdm2zi8my3yn3js7j3c2qlygd9sf80pz"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/9679cb8d4b3b9dce1e0bff16647ea3f3e02c4189/recipes/emms-player-mpv"; - sha256 = "175rmqx3bgys4chw8ylyf9rk07sg0llwbs9ivrv2d3ayhcz1lg9y"; - name = "recipe"; - }; - packageRequires = [ emms ]; - meta = { - homepage = "https://melpa.org/#/emms-player-mpv"; - license = lib.licenses.free; - }; - }) {}; emms-player-simple-mpv = callPackage ({ cl-lib ? null , emacs , emms @@ -13083,21 +13922,20 @@ , paredit , popup , projectile - , redshank , s }: melpaBuild { pname = "emr"; ename = "emr"; - version = "0.3.7"; + version = "0.3.8"; src = fetchFromGitHub { - owner = "chrisbarrett"; + owner = "Wilfred"; repo = "emacs-refactor"; - rev = "ff330b50526fa6da34bd410b506cb89408ef8c1e"; - sha256 = "1jbyg3b1y8rs2s7xq79gzllfnxcr1whg6zja2kl7zk23kkn65s7r"; + rev = "f25e3354e5e97deef359aef5386c69dea20b07b0"; + sha256 = "107br10jwza4pwsx8gskh9kp2g28yzxclmwd2l9z137nmf24gm3a"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/2cd2ebec5bd6465bffed284130e1d534f52169a9/recipes/emr"; - sha256 = "05vpfxg6lviclnms2zyrza8dc87m60mimlwd11ihvsbngi9gcw8x"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3416586d4d782cdd61a56159c5f80a0ca9b3ddf4/recipes/emr"; + sha256 = "02a7yzv6vxdazi26wk1ijadrjffd4iaf1abhpv642xib86pgpfd6"; name = "recipe"; }; packageRequires = [ @@ -13110,7 +13948,6 @@ paredit popup projectile - redshank s ]; meta = { @@ -13151,12 +13988,12 @@ melpaBuild { pname = "enh-ruby-mode"; ename = "enh-ruby-mode"; - version = "20180330"; + version = "20190325"; src = fetchFromGitHub { owner = "zenspider"; repo = "enhanced-ruby-mode"; - rev = "b9d7d986c761e7f43993da0c3012e4fe77b19281"; - sha256 = "190x5l5jhyxhfy57hvxk06yzxji2r3f99vw6a8ngyshvyxap7wq3"; + rev = "c478bdf32979f7b26068d1df0bd30d737a192b1e"; + sha256 = "13m59n8xzbhn079h6dj2inabscd0pyq9z4p0vz0nhsgak1jq5ccv"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cd1ac1ce69b77b11f34c4175611a852e7ec0806c/recipes/enh-ruby-mode"; @@ -13325,12 +14162,12 @@ melpaBuild { pname = "epkg"; ename = "epkg"; - version = "3.1.0"; + version = "3.2.0"; src = fetchFromGitHub { owner = "emacscollective"; repo = "epkg"; - rev = "b3dac5d4596d304f17a283c5cfe9dc77989fa96a"; - sha256 = "17qdywa8qw6n8a3r4s1cbjbmh2a4vjnxp6fqhiglbbfc1xqw2p1n"; + rev = "4243b363d038b28650479b23949cb7dfd319542b"; + sha256 = "0a1cw3jnnm47n0c5l8q4vf3arx244wqs7lcwsjblbnp7svcx0q4h"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2df16abf56e53d4a1cc267a78797419520ff8a1c/recipes/epkg"; @@ -13404,12 +14241,12 @@ melpaBuild { pname = "erc-crypt"; ename = "erc-crypt"; - version = "1.6"; + version = "1.7"; src = fetchFromGitHub { owner = "atomontage"; repo = "erc-crypt"; - rev = "731f9264a5bf08a8fc0b5ce69e72058c86f873a5"; - sha256 = "13jpq5ws5dm8fyjrskk4icxwz8k5wgh396cc8f8wxrjna4wb843w"; + rev = "1c8b1caed52a5994aab8bd4dd196881ed537d3aa"; + sha256 = "0w1b4pqipzdlkak9807k8xgzlc6vvni86ab92snm07909kby9xd0"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a1a71b46c0370d2ed25aa3f39983048a04576ad5/recipes/erc-crypt"; @@ -13422,33 +14259,6 @@ license = lib.licenses.free; }; }) {}; - erc-hipchatify = callPackage ({ alert - , emacs - , fetchhg - , fetchurl - , lib - , melpaBuild - , request - , s }: - melpaBuild { - pname = "erc-hipchatify"; - version = "0.1"; - src = fetchhg { - url = "https://bitbucket.com/seanfarley/erc-hipchatify"; - rev = "a53227513692"; - sha256 = "0av0y65hz7fbiiqzmk5mmw6jv7fivhcd1w3s2xn5y5jpgps56mrc"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/b60e01e7064ce486fdac3d1b39fd4a1296b0dac5/recipes/erc-hipchatify"; - sha256 = "1a4gl05i757vvap0rzrfwms7mhw80sa84gvbwafrvj3x11rja24x"; - name = "erc-hipchatify"; - }; - packageRequires = [ alert emacs request s ]; - meta = { - homepage = "https://melpa.org/#/erc-hipchatify"; - license = lib.licenses.free; - }; - }) {}; erc-hl-nicks = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -13578,6 +14388,32 @@ license = lib.licenses.free; }; }) {}; + eredis = callPackage ({ dash + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "eredis"; + ename = "eredis"; + version = "0.9.6"; + src = fetchFromGitHub { + owner = "justinhj"; + repo = "eredis"; + rev = "cfbfc25832f6fbc507bdd56b02e3a0b851a3c368"; + sha256 = "1f2f57c0bz3c6p11hr69aar6z5gg33zvfvsm76ma11vx21qilz6i"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/63f06713d06911f836fe2a4bf199b0794ac89cf0/recipes/eredis"; + sha256 = "087lln2izn5bv7bprmbaciivf17vv4pz2cjl91hy2f0sww6nsiw8"; + name = "recipe"; + }; + packageRequires = [ dash ]; + meta = { + homepage = "https://melpa.org/#/eredis"; + license = lib.licenses.free; + }; + }) {}; erefactor = callPackage ({ cl-lib ? null , fetchFromGitHub , fetchurl @@ -13640,12 +14476,12 @@ melpaBuild { pname = "erlang"; ename = "erlang"; - version = "21.0.3"; + version = "22.0.-1.2"; src = fetchFromGitHub { owner = "erlang"; repo = "otp"; - rev = "9d5af99762b3795c763fb62c1516247bd3f8e12f"; - sha256 = "0anlp0qj2blgdjzdw8rxmpz659yzbdl3r69b6slm1c1aa77ayc17"; + rev = "221f6053f7f71747e6e86f9f1122816887cf9d21"; + sha256 = "0jk64dcp46867rja2y5xai626fp2qrvwdfzb6in1x6gl8iyhkc39"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d9cd526f43981e0826af59cdc4bb702f644781d9/recipes/erlang"; @@ -13658,6 +14494,31 @@ license = lib.licenses.free; }; }) {}; + erlstack-mode = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "erlstack-mode"; + ename = "erlstack-mode"; + version = "0.1.0"; + src = fetchFromGitHub { + owner = "k32"; + repo = "erlstack-mode"; + rev = "07398e929978b0eaf2bf119e97cba7b9f9e90d2a"; + sha256 = "1gf9k3z9v1s7d01s551ys87j05xh3lpnvv86dq86rz8xinc09kac"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/6ee61c1c5f116082b37fb13d15052ed9bbbc1dac/recipes/erlstack-mode"; + sha256 = "0b7mj0rs8k3hdv4v3v5vmdqs0y26mss7dzc0sjjxj4d095yddqqf"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/erlstack-mode"; + license = lib.licenses.free; + }; + }) {}; ert-async = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -13683,7 +14544,8 @@ license = lib.licenses.free; }; }) {}; - ert-junit = callPackage ({ ert ? null + ert-junit = callPackage ({ emacs + , ert ? null , fetchgit , fetchurl , lib @@ -13691,18 +14553,18 @@ melpaBuild { pname = "ert-junit"; ename = "ert-junit"; - version = "0.3"; + version = "0.4.0"; src = fetchgit { url = "https://bitbucket.org/olanilsson/ert-junit"; - rev = "cd1f63627d4e6635086322f34be09ba535e26b97"; - sha256 = "0a2ddvpm8yparl3zq05mp239k5dgplcmc9s61ak9d5qn65l8mwyr"; + rev = "b0649e94460aff5176dee5b33f28946bffb602d5"; + sha256 = "0hj85hz4s1q4dalinhgahn8jn97s2pdpv41d9qqbvbdzwhhw2mrk"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/27c627eacab54896a1363dbabc56250a65343dd8/recipes/ert-junit"; sha256 = "0bv22mhh1ahbjwi6s1csxkh11dmy0srabkddjd33l4havykxlg6g"; name = "recipe"; }; - packageRequires = [ ert ]; + packageRequires = [ emacs ert ]; meta = { homepage = "https://melpa.org/#/ert-junit"; license = lib.licenses.free; @@ -13855,12 +14717,12 @@ melpaBuild { pname = "esh-autosuggest"; ename = "esh-autosuggest"; - version = "2.0.0"; + version = "2.0.1"; src = fetchFromGitHub { owner = "dieggsy"; repo = "esh-autosuggest"; - rev = "95078aa17a104bc724283df48af36abfe4125853"; - sha256 = "0fwxk26wlk2wkqs82zs5m3rd6670mjf6bar928cqam1f63fvx09q"; + rev = "a6d5eb3337d010bd2a2d677ff304cd53adc291a0"; + sha256 = "0l2nnlr3b6df1xn0qjf5d5ryy1wcs1jczyfy795vsasd5gm3g0xh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/dc3776068d6928fc1661a27cccaeb8fb85577099/recipes/esh-autosuggest"; @@ -14014,14 +14876,14 @@ ename = "eshell-prompt-extras"; version = "0.96"; src = fetchFromGitHub { - owner = "hiddenlotus"; + owner = "kaihaosw"; repo = "eshell-prompt-extras"; rev = "7581c109673c40aceff278cd524273f50ffe170d"; sha256 = "1m1jisjz974cfz89i6l2zq666yzhsqipc6dmqlrm8mw81fxsfm1h"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/eshell-prompt-extras"; - sha256 = "0kh4lvjkayjdz5lqvdqmdcblxizxk9kwmigjwa68kx8z6ngmfwa5"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3416586d4d782cdd61a56159c5f80a0ca9b3ddf4/recipes/eshell-prompt-extras"; + sha256 = "0zkdb9a8dibk832b5hzb6wjich3l0lah5p64805rgd4qskzj10gx"; name = "recipe"; }; packageRequires = []; @@ -14170,12 +15032,12 @@ melpaBuild { pname = "ess"; ename = "ess"; - version = "17.11"; + version = "18.10.2"; src = fetchFromGitHub { owner = "emacs-ess"; repo = "ESS"; - rev = "f59a95e72ba2803229cc9aeb7559186c528dbcea"; - sha256 = "0lwajgf39r75g239plbhlbppgj7vyc5via72qq906jqy89b5iic7"; + rev = "d4cd65da6dbfabf37fc6c7a4c49fb49cf289a11c"; + sha256 = "1avhb5mr8yyaa8gqccf8ghbl36iff61ha6444myvgqszd2a6pd8q"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/156a6fa9e6ee16174d215c1dcd524aff847b3bf0/recipes/ess"; @@ -14216,26 +15078,54 @@ license = lib.licenses.free; }; }) {}; - ess-smart-underscore = callPackage ({ fetchFromGitHub + ess-smart-equals = callPackage ({ emacs + , ess + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "ess-smart-equals"; + ename = "ess-smart-equals"; + version = "0.3.1"; + src = fetchFromGitHub { + owner = "genovese"; + repo = "ess-smart-equals"; + rev = "746cf9e78c3b86cbbf78d69c335a8a4ff3da79d6"; + sha256 = "1by8bzw3yl86mqzh7lwz5dca243n956jnd2rz4vilpgbh5cka2l3"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/4403cf87e05311d7fe0360f35f9634b9fdfc6f81/recipes/ess-smart-equals"; + sha256 = "0mfmxmsqr2byj56psx4h08cjc2j3aac3xqr04yd47k2mlivnyrxp"; + name = "recipe"; + }; + packageRequires = [ emacs ess ]; + meta = { + homepage = "https://melpa.org/#/ess-smart-equals"; + license = lib.licenses.free; + }; + }) {}; + ess-smart-underscore = callPackage ({ ess + , fetchFromGitHub , fetchurl , lib , melpaBuild }: melpaBuild { pname = "ess-smart-underscore"; ename = "ess-smart-underscore"; - version = "0.79"; + version = "0.81"; src = fetchFromGitHub { owner = "mattfidler"; repo = "ess-smart-underscore.el"; - rev = "ef18a160aeb3b1a7ae5fe93759f8e92147da8746"; - sha256 = "1avb6dng4xgw3bp7bw0j60wl6s4y26alfys9vwwj29rlzvjrlh74"; + rev = "ed4b37e8976124a182196a721068a8e334b6aa97"; + sha256 = "00hkq5q1ra9mqjj08f357m1lg1wx1sj4nm0rb382vhf31mlj15m7"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b4d6166f5c80cf37c79256402fa633ad2274d065/recipes/ess-smart-underscore"; sha256 = "01pki1xa8zpgvldcbjwg6vmslj7ddf44hsx976xipc95vrdk15r2"; name = "recipe"; }; - packageRequires = []; + packageRequires = [ ess ]; meta = { homepage = "https://melpa.org/#/ess-smart-underscore"; license = lib.licenses.free; @@ -14377,25 +15267,24 @@ eval-sexp-fu = callPackage ({ cl-lib ? null , fetchFromGitHub , fetchurl - , highlight , lib , melpaBuild }: melpaBuild { pname = "eval-sexp-fu"; ename = "eval-sexp-fu"; - version = "0.4.2"; + version = "0.5.0"; src = fetchFromGitHub { owner = "hchbaw"; repo = "eval-sexp-fu.el"; - rev = "1cfd0f3e167d63080692fad97ffe0091b024ad73"; - sha256 = "0l20ja8s0881jlrlmba496iyizfa0j5bvc2x39rshn8qqyka2dq2"; + rev = "e1d7165383c941b3f11c2715707adc3d91d129a0"; + sha256 = "01mpnpgmlnfbi2yw9dxz5iw72mw3lk223bj172i4fnx3xdrrxbij"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4b1a896521cac1f54f7571ad5837ff215d01044d/recipes/eval-sexp-fu"; sha256 = "17cazf81z4cszflnfp66zyq2cclw5sp9539pxskdf267cf7r0ycs"; name = "recipe"; }; - packageRequires = [ cl-lib highlight ]; + packageRequires = [ cl-lib ]; meta = { homepage = "https://melpa.org/#/eval-sexp-fu"; license = lib.licenses.free; @@ -14438,12 +15327,12 @@ melpaBuild { pname = "evil"; ename = "evil"; - version = "1.2.13"; + version = "1.2.14"; src = fetchFromGitHub { owner = "emacs-evil"; repo = "evil"; - rev = "427cf5faa57e8794ac93f594dc3d1972e687a25a"; - sha256 = "02xc9zgrabnlwk3wlsxbzbhdzi3fm5fk8kimvgdcp8vsnpdcrhql"; + rev = "3766a521a60e6fb0073220199425de478de759ad"; + sha256 = "1833w397xhac5g3pp25szr2gyvclxy91aw27azvbmsx94pyk2a3q"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/440482c0edac8ee8bd4fe22f6bc5c1607f34c7ad/recipes/evil"; @@ -14537,6 +15426,34 @@ license = lib.licenses.free; }; }) {}; + evil-collection = callPackage ({ cl-lib ? null + , emacs + , evil + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "evil-collection"; + ename = "evil-collection"; + version = "0.0.1"; + src = fetchFromGitHub { + owner = "emacs-evil"; + repo = "evil-collection"; + rev = "733f8d0d289fcbb58705acd1049b618826a3c011"; + sha256 = "01hr5wf693s2djs6l83nfpq6wyyws99c5nwil6hpqhvrwp4f5h95"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/fbc35279115f6fdf1ce7d1ecef3b413c7ca9c4f1/recipes/evil-collection"; + sha256 = "1l6x782ix873n90k9g00i9065h31dnhv07bgzrp28l7y7bivqwl7"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs evil ]; + meta = { + homepage = "https://melpa.org/#/evil-collection"; + license = lib.licenses.free; + }; + }) {}; evil-commentary = callPackage ({ evil , fetchFromGitHub , fetchurl @@ -14743,8 +15660,8 @@ sha256 = "01hccc49xxb6lnzr0lwkkwndbk4sv0jyyz3khbcxsgkpzjiydihv"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/089accfa2646fc4f265cb8e9b9a05dcf5aa4c4f6/recipes/evil-mark-replace"; - sha256 = "03cq43vlv1b53w4kw7mjvk026i8rzhhryfb27ddn6ipgc6xh68a0"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/e608f40d00a3b2a80a6997da00e7d04f76d8ef0d/recipes/evil-mark-replace"; + sha256 = "14j2d46288shlixb57nh5vlqdi3aiv20djvcbhiw1cm9ar2c3y4v"; name = "recipe"; }; packageRequires = [ evil ]; @@ -14753,7 +15670,8 @@ license = lib.licenses.free; }; }) {}; - evil-matchit = callPackage ({ evil + evil-matchit = callPackage ({ emacs + , evil , fetchFromGitHub , fetchurl , lib @@ -14761,19 +15679,19 @@ melpaBuild { pname = "evil-matchit"; ename = "evil-matchit"; - version = "2.2.8"; + version = "2.2.9"; src = fetchFromGitHub { owner = "redguardtoo"; repo = "evil-matchit"; - rev = "8a10046f25e4b707ccf8ff6fbcb74e71bd32498d"; - sha256 = "0ik105g50frj87c5awy4gkq43gm4hmlzr6klx7x5fbyjx9d9f2id"; + rev = "7d65b4167b1f0086c2b42b3aec805e47a0d355c4"; + sha256 = "12if45pxfndy3d7r4gd3zx4d3jk4d64fdmwkhc3y5zhqq9h9iy4c"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/aeab4a998bffbc784e8fb23927d348540baf9951/recipes/evil-matchit"; sha256 = "01z69n20qs4gngd28ry4kn825cax5km9hn96i87yrvq7nfa64swq"; name = "recipe"; }; - packageRequires = [ evil ]; + packageRequires = [ emacs evil ]; meta = { homepage = "https://melpa.org/#/evil-matchit"; license = lib.licenses.free; @@ -14818,12 +15736,12 @@ melpaBuild { pname = "evil-multiedit"; ename = "evil-multiedit"; - version = "1.3.8"; + version = "1.3.9"; src = fetchFromGitHub { owner = "hlissner"; repo = "evil-multiedit"; - rev = "c0cb6858399863e51935dae62c7c61ebc68f92eb"; - sha256 = "010y4vxj7rr5kr4csbh72s60ndqzqxdrvgkyb65vxb5vskr1n1wm"; + rev = "cb35914ffabb4f65d22ab2f812ff6e7622cc5c26"; + sha256 = "19h3kqylqzbjv4297wkzzxdmn9yxbg6z4ga4ssrqri90xs7m3rw3"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/997f5a6999d1add57fae33ba8eb3e3bc60d7bb56/recipes/evil-multiedit"; @@ -14844,12 +15762,12 @@ melpaBuild { pname = "evil-nerd-commenter"; ename = "evil-nerd-commenter"; - version = "3.2.3"; + version = "3.3.7"; src = fetchFromGitHub { owner = "redguardtoo"; repo = "evil-nerd-commenter"; - rev = "34d411715ead5829d6d8969511047feb703b067e"; - sha256 = "0ax846dy2hbrbvkj7nzfkcl5i1x9rga8bvg0ln55ivhq0iiy1lkv"; + rev = "acc0f75cde9e4ffd946f7835c3b388fb77f633a7"; + sha256 = "1r8shfdddys9vqvrxf7s6z83ydqx9xhqs9sa7klbsajryqcp50b7"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a3e1ff69e7cc95a5b5d628524ad836833f4ee736/recipes/evil-nerd-commenter"; @@ -15164,12 +16082,12 @@ melpaBuild { pname = "evil-surround"; ename = "evil-surround"; - version = "1.0.1"; + version = "1.0.3"; src = fetchFromGitHub { owner = "emacs-evil"; repo = "evil-surround"; - rev = "55c820083a5f28d5361baeb9cd7da92549e5b3f5"; - sha256 = "0qnv0c1byvzlclc8yaq6jjy61vza3zq2i773b30ss0rfpa03p13z"; + rev = "1a4bc20f158aa9f4e4811a6363cc65ea24f167ce"; + sha256 = "1sq7692k8ph4czqqg3f5cqlmk10q8mfkrnknnv79l9sza9jqfw9r"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2c9dc47a4c837c44429a74fd998fe468c00639f2/recipes/evil-surround"; @@ -15216,12 +16134,12 @@ melpaBuild { pname = "evil-test-helpers"; ename = "evil-test-helpers"; - version = "1.2.13"; + version = "1.2.14"; src = fetchFromGitHub { owner = "emacs-evil"; repo = "evil"; - rev = "427cf5faa57e8794ac93f594dc3d1972e687a25a"; - sha256 = "02xc9zgrabnlwk3wlsxbzbhdzi3fm5fk8kimvgdcp8vsnpdcrhql"; + rev = "3766a521a60e6fb0073220199425de478de759ad"; + sha256 = "1833w397xhac5g3pp25szr2gyvclxy91aw27azvbmsx94pyk2a3q"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/87da8c50f9167ad9c3844b23becb6904f809611d/recipes/evil-test-helpers"; @@ -15505,11 +16423,11 @@ melpaBuild { pname = "exiftool"; ename = "exiftool"; - version = "0.3"; + version = "0.3.1"; src = fetchgit { url = "https://git.systemreboot.net/exiftool.el/"; - rev = "8dd70ba5214a73960361a0c6220bb4aa72b9e478"; - sha256 = "0sb71bj8djppzac02bpl3v7fy0jlidd4aagg8bmmgyp7zx84xws8"; + rev = "4131fa38160dabd5d7143aad8aca5db575749292"; + sha256 = "0lbsa8v39aih8mcvvdm0jang05gm5br5g2fay3lccf73c9aimrfh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4835a76909d020781021e747fbc341111a94dbfa/recipes/exiftool"; @@ -15581,12 +16499,12 @@ melpaBuild { pname = "exsqlaim-mode"; ename = "exsqlaim-mode"; - version = "0.0.1"; + version = "0.0.2"; src = fetchFromGitHub { owner = "ahmadnazir"; repo = "exsqlaim-mode"; - rev = "e77d2a07addffd7df4393019d9c3dad1ab1925d9"; - sha256 = "19v5sf3nf6dciakvs7ksbg66b5z1hybc4ivs24hm6k3fziblfzzs"; + rev = "a2e0a62ec8b87193d8eaa695774bfd689324b06c"; + sha256 = "1gj1q2h1ja30jizkjql12cxlppj07ykr4wxqca9msy043zdhqnkk"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7f660d7629bc27144c99ebcba45f1b06b14c5745/recipes/exsqlaim-mode"; @@ -15632,12 +16550,12 @@ melpaBuild { pname = "extmap"; ename = "extmap"; - version = "1.0"; + version = "1.1"; src = fetchFromGitHub { owner = "doublep"; repo = "extmap"; - rev = "3860b69fb19c962425d4e271ee0a24547b67d323"; - sha256 = "1vjwinb7m9l2bw324v4m1g4mc9yqjs84bfjci93m0a1ih8n4zdbr"; + rev = "1139b57d8f4276fe56b8416fdaf4745f2cdfe7c3"; + sha256 = "0jgyscjfparnby0whrmbgvsab2a7qkaqhysmh3s3jh635fndm253"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/91ef4352603cc69930ab3d63f0a90eee63f5f328/recipes/extmap"; @@ -15664,12 +16582,12 @@ melpaBuild { pname = "exwm-x"; ename = "exwm-x"; - version = "1.8.1"; + version = "1.9.0"; src = fetchFromGitHub { owner = "tumashu"; repo = "exwm-x"; - rev = "4f7946db67d6599baba6b3961e8f543a68707742"; - sha256 = "00lcn5106xig2y9gyir1f1gzyp2i05rwq1lbbbah8aipkdi3z9xl"; + rev = "88c8b70be678ce0e9fa31e191ffd3f76bbfee61f"; + sha256 = "03l3dl7s1qys1kkh40rm1sfx7axy1b8sf5f6nyksj9ps6d30p5i4"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a0e6e23bcffdcd1e17c70599c563609050e5de40/recipes/exwm-x"; @@ -15854,12 +16772,12 @@ melpaBuild { pname = "faff-theme"; ename = "faff-theme"; - version = "2.2"; + version = "2.4"; src = fetchFromGitHub { owner = "WJCFerguson"; repo = "emacs-faff-theme"; - rev = "8fbdf71a2e63a8ec997c387bd8319c0dc825a938"; - sha256 = "17ckad411h033l4cpg337vkwvyxrpvqvi9pa56p7mpxzfg3q8a3v"; + rev = "e4721d00852ebd3a745db7e0ed7c9889c013f945"; + sha256 = "0gqi9lzdbn5kh6p8a4kxjfyxb4yakpkac49lyaqcipz6spzhhzf1"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0b35c169fe56a5612ff5a4242140f617fdcae14f/recipes/faff-theme"; @@ -16051,6 +16969,31 @@ license = lib.licenses.free; }; }) {}; + fd-dired = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "fd-dired"; + ename = "fd-dired"; + version = "0.1.0"; + src = fetchFromGitHub { + owner = "yqrashawn"; + repo = "fd-dired"; + rev = "b30ebe827a244b4f27f5387be4b50d074ca67e1b"; + sha256 = "09856pzkybs85msz0awqjw2r3b1hc9wybwq1j30qx14zzbcr3gvf"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/1217e0d4f42df68cc22de9b4f27a36c0377509e3/recipes/fd-dired"; + sha256 = "0g8zvg6b9hcxkmqn254y9khjm7jz2lz4mh7dhsxfcy64inaj0481"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/fd-dired"; + license = lib.licenses.free; + }; + }) {}; feature-mode = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -16191,12 +17134,12 @@ melpaBuild { pname = "find-file-in-project"; ename = "find-file-in-project"; - version = "5.6.8"; + version = "5.7.4"; src = fetchFromGitHub { owner = "technomancy"; repo = "find-file-in-project"; - rev = "1c54325cb60bde7496dad4e19f4c2a857999df58"; - sha256 = "1pxqqpj6cdwbhca6vaj98d86f1l0vl09zp054wf0sv759l25ac0l"; + rev = "389251757643daffc58e46d195c48f880d4089d5"; + sha256 = "0758mk7fcz39zn2ihz267091lg8qiyrjz0dd3kqgfqvrc7c2n9am"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/find-file-in-project"; @@ -16218,14 +17161,14 @@ ename = "find-file-in-repository"; version = "1.2"; src = fetchFromGitHub { - owner = "hoffstaetter"; + owner = "h"; repo = "find-file-in-repository"; rev = "8b888f85029a2ff9159a724b42aeacdb051c3420"; sha256 = "0wbmmrd7brf4498pdyilz17rzv7221cj8sd4h11gac2r72f1q2md"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/58705ac6201b73851ce4ce9ebeb0e65463765961/recipes/find-file-in-repository"; - sha256 = "0q1ym06w2yn3nzpj018dj6h68f7rmkxczyl061mirjp8z9c6a9q6"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3416586d4d782cdd61a56159c5f80a0ca9b3ddf4/recipes/find-file-in-repository"; + sha256 = "02rihpfpckppnf5a2zgd5s3dspdhq4mr6qchlrzg2fd4byjxra9s"; name = "recipe"; }; packageRequires = []; @@ -16338,6 +17281,31 @@ license = lib.licenses.free; }; }) {}; + fish-completion = callPackage ({ fetchFromGitLab + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "fish-completion"; + ename = "fish-completion"; + version = "1.0"; + src = fetchFromGitLab { + owner = "Ambrevar"; + repo = "emacs-fish-completion"; + rev = "23aafb993f8f74dca6e2f299030ca5d3e1aee95b"; + sha256 = "04dcqhdb544i7c6np4prbq13cwfxw37czmpnm3j36di6c1g9gkzb"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/6d17ca0213ba5ef9dce92002e281e6f08c3492be/recipes/fish-completion"; + sha256 = "1y7vwh7w0shnrnp8x1m1sa0p7kdyz5mg1mfs263gm38in2biym9i"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/fish-completion"; + license = lib.licenses.free; + }; + }) {}; fish-mode = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -16424,12 +17392,12 @@ melpaBuild { pname = "fix-word"; ename = "fix-word"; - version = "0.1.2"; + version = "0.2.0"; src = fetchFromGitHub { owner = "mrkkrp"; repo = "fix-word"; - rev = "91552cbceac8e2b7c23036f044fc84f5c6f8e338"; - sha256 = "1pilsd3hkryyl4sd6s4nvmraszkdmcn3qdqi939yjgzp4lz3q412"; + rev = "b3b3a3c8e33e425f9a8d0ec653adb6897c8efc03"; + sha256 = "1nw9ih0knaqaban5nqp3anvr37mivylqs8sc8l3v1i9srlqnsj1m"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/22636390e8a15c09293a1506a901286dd72e565f/recipes/fix-word"; @@ -16543,12 +17511,12 @@ melpaBuild { pname = "floobits"; ename = "floobits"; - version = "1.9.2"; + version = "1.9.3"; src = fetchFromGitHub { owner = "Floobits"; repo = "floobits-emacs"; - rev = "ed5586d1bf94f36354091648e824ccb6fcaf807f"; - sha256 = "08m9snmkhdjmvw1pqww9l39xqas9f6yxksjxvfjjfnad8ak80x9b"; + rev = "489b294a7f30ecd2af2edc0823dead8102f27af6"; + sha256 = "1pw88qn6s8ln626c8mgxgpfax39h7ww4m930dp7gg4aklxjbspkn"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/95c859e8440049579630b4c2bcc31e7eaa13b1f1/recipes/floobits"; @@ -16596,12 +17564,12 @@ melpaBuild { pname = "flower"; ename = "flower"; - version = "0.4.2"; + version = "0.4.6"; src = fetchFromGitHub { owner = "PositiveTechnologies"; repo = "flower"; - rev = "4d05448dc0118078ec320f564d87acaa740ae47c"; - sha256 = "02p74f5hfhrhv5l7b9cwfbczsgkpqajlmr66qmkdljgc8ksr86n2"; + rev = "6ef1affa2d7090714ccc4494823de28cfc11da35"; + sha256 = "1dp3g52j1i49bv802g27b7yszpxz0i28i4j74qp39qlld3k0gys0"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c8a731715d360aea9af2b898242fd4eee5419d14/recipes/flower"; @@ -16705,12 +17673,12 @@ melpaBuild { pname = "flycheck-apertium"; ename = "flycheck-apertium"; - version = "0.2"; + version = "0.3.0"; src = fetchFromGitHub { owner = "unhammer"; repo = "flycheck-apertium"; - rev = "71cf49d5aaee962b995583384bfa045a1d4c3db7"; - sha256 = "14idjjz6fhmq806mmncmqnr9bvcjks6spin8z6jb0gqcg1dbhm06"; + rev = "e146ab1b929c50450ba0708e1bdd9fed85606964"; + sha256 = "1g1m7pm84mkmjx7hdspb5k6n8aqphphxb5gya725qy1wqi950jqz"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7f6cec0d312f0e86e17829e6fd8f87acabc0174f/recipes/flycheck-apertium"; @@ -16942,6 +17910,32 @@ license = lib.licenses.free; }; }) {}; + flycheck-grammalecte = callPackage ({ emacs + , fetchgit + , fetchurl + , flycheck + , lib + , melpaBuild }: + melpaBuild { + pname = "flycheck-grammalecte"; + ename = "flycheck-grammalecte"; + version = "0.7"; + src = fetchgit { + url = "https://git.deparis.io/flycheck-grammalecte/"; + rev = "2f4812eaa6e809051e23c34a085df2b704a15741"; + sha256 = "0xzmr2c74f3375q4nx7zf2jpxawxdkid5mf5nw81wl2v55mv1k2q"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/fdd82aa0568d998a3d176b5ee47b8a227438ea09/recipes/flycheck-grammalecte"; + sha256 = "0xqg995a42cl6mvmpi68ay56fgs636cbzg65q5si5yc1yzgl74nv"; + name = "recipe"; + }; + packageRequires = [ emacs flycheck ]; + meta = { + homepage = "https://melpa.org/#/flycheck-grammalecte"; + license = lib.licenses.free; + }; + }) {}; flycheck-haskell = callPackage ({ dash , emacs , fetchFromGitHub @@ -16999,6 +17993,32 @@ license = lib.licenses.free; }; }) {}; + flycheck-ini-pyinilint = callPackage ({ fetchFromGitLab + , fetchurl + , flycheck + , lib + , melpaBuild }: + melpaBuild { + pname = "flycheck-ini-pyinilint"; + ename = "flycheck-ini-pyinilint"; + version = "0.3"; + src = fetchFromGitLab { + owner = "danieljrmay"; + repo = "flycheck-ini-pyinilint"; + rev = "54744a78d06373404933fedc3ca836916e83de51"; + sha256 = "1zdvan6l2s97s7swnccq21z1ja8vl64l757j3hg50ipq8j5yy9dl"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/c2a1d0b4be0dd3e238ad2e3a157b11ecc82c0639/recipes/flycheck-ini-pyinilint"; + sha256 = "028ksrlrrsn2wsz7kqf3qk4pp3scs7zvp74c4xj52rm4hh7ycbl7"; + name = "recipe"; + }; + packageRequires = [ flycheck ]; + meta = { + homepage = "https://melpa.org/#/flycheck-ini-pyinilint"; + license = lib.licenses.free; + }; + }) {}; flycheck-irony = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -17035,12 +18055,12 @@ melpaBuild { pname = "flycheck-joker"; ename = "flycheck-joker"; - version = "1.2.0"; + version = "1.3.0"; src = fetchFromGitHub { owner = "candid82"; repo = "flycheck-joker"; - rev = "0d8d5683a273093ca12841bf93d10dae97ccbc5d"; - sha256 = "0r9w0ky1522yz1jdi8fd36lpdjm30vxq41x77vswikqxvscri3dq"; + rev = "51e99e697761ee8dab863930910abdba7607c1bd"; + sha256 = "07pxfvnrgp7f3rb27j1zrq04pncvga4291krqqy3dzwazsjplz48"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/599bf33a5d4a4a590b355001e532cab4e1ee9ef6/recipes/flycheck-joker"; @@ -17223,12 +18243,12 @@ melpaBuild { pname = "flycheck-objc-clang"; ename = "flycheck-objc-clang"; - version = "2.0.2"; + version = "2.0.4"; src = fetchFromGitHub { owner = "GyazSquare"; repo = "flycheck-objc-clang"; - rev = "f4a76ac199b67ff383ab5e70434c9b98b48c92d5"; - sha256 = "0ryanx4vmy9jwqjnwvma6dm136y4fh227cyhz206km6595bbn3nc"; + rev = "a3781e47f14068c811534a3348bf479eeb3f2041"; + sha256 = "00a2wg6g74plbmva3bwms7brdlv9i28w51yxisiv04la126m69js"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4ff4412f507371b93cfb85fc744e54110cd87338/recipes/flycheck-objc-clang"; @@ -17307,12 +18327,12 @@ melpaBuild { pname = "flycheck-phpstan"; ename = "flycheck-phpstan"; - version = "0.2.2"; + version = "0.3.0"; src = fetchFromGitHub { owner = "emacs-php"; repo = "phpstan.el"; - rev = "3653f2a316f4199cbd3238e984eea2325e2618d5"; - sha256 = "1dyba8hpr16nsdv1i45pl3w97728w7p8vl9gf5gvd18xcll4848d"; + rev = "1151b8d418af532fdf0732b9793b479c64a364e3"; + sha256 = "0wb9pshgcrq2w9d9fpkywz299ihcb9fffh3fdk8rm1r8irylrjkh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5a2b6cc39957e6d7185bd2bdfa3755e5b1f474a6/recipes/flycheck-phpstan"; @@ -17333,12 +18353,12 @@ melpaBuild { pname = "flycheck-pony"; ename = "flycheck-pony"; - version = "0.2.1"; + version = "0.2.2"; src = fetchFromGitHub { owner = "SeanTAllen"; repo = "flycheck-pony"; - rev = "3d3387133a44f5b3f0fb178ef4addf6e1ce1df2f"; - sha256 = "1da10q378k5kbcj0rrpzhm7r3ym4rfwc7v1ialcndbmflsn09m5s"; + rev = "9356cbcd404eaf381ab0c4b0f9c47232f723fa7e"; + sha256 = "1rzz3cl0pxn3hhrkxcdiy17wl4dzbn8kxm3hq90zmhag1gbfy4zz"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e2bcb82f4ddb92243058c9ab1a67d4f7ef87b155/recipes/flycheck-pony"; @@ -17415,12 +18435,12 @@ melpaBuild { pname = "flycheck-pycheckers"; ename = "flycheck-pycheckers"; - version = "0.9"; + version = "0.12"; src = fetchFromGitHub { owner = "msherry"; repo = "flycheck-pycheckers"; - rev = "526488b4d8a2067ca666ed8f4de631db79651fb3"; - sha256 = "17arb41j884gg8xdbc7nf0raahzinkslkpr161497dvs2xfpb9zi"; + rev = "6acbba5120ea2c860a0856580e29157b14b9716d"; + sha256 = "0ji5al46bz1mki4zlsyxv8d3dkssdz63in2zxhcf4kvpmdazxk4g"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/af36dca316b318d25d65c9e842f15f736e19ea63/recipes/flycheck-pycheckers"; @@ -17433,32 +18453,6 @@ license = lib.licenses.free; }; }) {}; - flycheck-rebar3 = callPackage ({ fetchFromGitHub - , fetchurl - , flycheck - , lib - , melpaBuild }: - melpaBuild { - pname = "flycheck-rebar3"; - ename = "flycheck-rebar3"; - version = "1.1.0"; - src = fetchFromGitHub { - owner = "joedevivo"; - repo = "flycheck-rebar3"; - rev = "56a7c94857f0a0ea6a2a73c476a1a2faadc0f7c6"; - sha256 = "1pas49arri2vs9zm3r8jl4md74p5fpips3imc3s7nafbfrhh8ix3"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/2acff5eea030b91e457df8aa75243993c87ca00e/recipes/flycheck-rebar3"; - sha256 = "1ml9k61n5vy4c2q6c10q9j10ky0iqkinx21bl7hip1r6b5b1kmmc"; - name = "recipe"; - }; - packageRequires = [ flycheck ]; - meta = { - homepage = "https://melpa.org/#/flycheck-rebar3"; - license = lib.licenses.free; - }; - }) {}; flycheck-rtags = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -17469,12 +18463,12 @@ melpaBuild { pname = "flycheck-rtags"; ename = "flycheck-rtags"; - version = "2.18"; + version = "2.31"; src = fetchFromGitHub { owner = "Andersbakken"; repo = "rtags"; - rev = "7e6b6f21935eedbe4678ba91c5531ac162b51a5a"; - sha256 = "12629d1s8rplhjh17n3bmgnkpscq4gljgyl84j8qyhh40dwq1qk0"; + rev = "5dbb594a7202c4a2e84329cf821bd28bfbea5ae3"; + sha256 = "0x210bqv7618g85nzjy4x9gy31qcbjgppmk8zbpmqk59f2bp7bac"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/flycheck-rtags"; @@ -17487,6 +18481,36 @@ license = lib.licenses.free; }; }) {}; + flycheck-rust = callPackage ({ dash + , emacs + , fetchFromGitHub + , fetchurl + , flycheck + , let-alist + , lib + , melpaBuild + , seq }: + melpaBuild { + pname = "flycheck-rust"; + ename = "flycheck-rust"; + version = "1.1"; + src = fetchFromGitHub { + owner = "flycheck"; + repo = "flycheck-rust"; + rev = "a139cd53c5062697e9ed94ad80b803c37d999600"; + sha256 = "1fh6j5w2387nh2fwwjphkhq17cgj5m2q5k0fhidvgc2w65lzbr1r"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/68d8cdf3d225b13ebbbe5ce81a01366f33266aed/recipes/flycheck-rust"; + sha256 = "1k0n0y6lbp71v4465dwq7864vp1qqyx7zjz0kssszcpx5gl1596w"; + name = "recipe"; + }; + packageRequires = [ dash emacs flycheck let-alist seq ]; + meta = { + homepage = "https://melpa.org/#/flycheck-rust"; + license = lib.licenses.free; + }; + }) {}; flycheck-status-emoji = callPackage ({ cl-lib ? null , emacs , fetchFromGitHub @@ -17552,12 +18576,12 @@ melpaBuild { pname = "flycheck-swift3"; ename = "flycheck-swift3"; - version = "2.0.2"; + version = "2.0.5"; src = fetchFromGitHub { owner = "GyazSquare"; repo = "flycheck-swift3"; - rev = "06a6f98d7e498860b345bbd03e96bfe59608f508"; - sha256 = "0h1n4x0fvqfb6jcapbab1ck6bj4d7irbn9zz2hxv2rlrkqxfsmh3"; + rev = "ba4e831ff04b180323435214dd4cca8184968ad1"; + sha256 = "1ss2s3q2mv07ph87i2fki1nxq6b51xs4i1mll1faplj2nrr2hyzm"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f1fb8c731c118327dc0bbb726e046fec46bcfb82/recipes/flycheck-swift3"; @@ -17625,6 +18649,34 @@ license = lib.licenses.free; }; }) {}; + flycheck-vdm = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , flycheck + , lib + , melpaBuild + , vdm-mode }: + melpaBuild { + pname = "flycheck-vdm"; + ename = "flycheck-vdm"; + version = "0.0.4"; + src = fetchFromGitHub { + owner = "peterwvj"; + repo = "vdm-mode"; + rev = "e131edb0d35de28bd47d6128dd70d9a6fc46e0fa"; + sha256 = "090a0imk7dr6vqq4lf806pvajqc499x2gmi0k7rgc1696rbyzhb5"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/f246b9dcf7915a845b9e2cd44cc1a0833b412c8f/recipes/flycheck-vdm"; + sha256 = "15ng1l8gfp8iz50yb5d39dy57763gd2x8j6z6rz0byiykgxhl9zg"; + name = "recipe"; + }; + packageRequires = [ emacs flycheck vdm-mode ]; + meta = { + homepage = "https://melpa.org/#/flycheck-vdm"; + license = lib.licenses.free; + }; + }) {}; flycheck-yamllint = callPackage ({ fetchFromGitHub , fetchurl , flycheck @@ -17759,6 +18811,33 @@ license = lib.licenses.free; }; }) {}; + flymake-diagnostic-at-point = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , popup }: + melpaBuild { + pname = "flymake-diagnostic-at-point"; + ename = "flymake-diagnostic-at-point"; + version = "1.2.0"; + src = fetchFromGitHub { + owner = "meqif"; + repo = "flymake-diagnostic-at-point"; + rev = "379616b1c6f5ebeaf08fbe54ae765008a78b3be7"; + sha256 = "1wbzrxxz5z1xg2lwmqgglvixxf1xm3gl6mdyj9idsbym05azm3hg"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/b7ae169ca3b59d3b876d52148dac573b7f083ac3/recipes/flymake-diagnostic-at-point"; + sha256 = "0cdxb9w5sq6z6wramj1bss5vwqzxkmdyzb1di39rghyh243cdrzx"; + name = "recipe"; + }; + packageRequires = [ emacs popup ]; + meta = { + homepage = "https://melpa.org/#/flymake-diagnostic-at-point"; + license = lib.licenses.free; + }; + }) {}; flymake-easy = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -17974,14 +19053,14 @@ ename = "flymake-perlcritic"; version = "1.0.3"; src = fetchFromGitHub { - owner = "illusori"; + owner = "flymake"; repo = "emacs-flymake-perlcritic"; rev = "0692d6ad5495f6e5438bde0a10345829b8e1def8"; sha256 = "11r982h5fhjkmm9ld8wfdip0ghinw523nm1w4fmy830g0bbkgkrq"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/ca7bf43ef8893bf04e9658390e306ef69e80a156/recipes/flymake-perlcritic"; - sha256 = "0hibnh463wzhvpix7gygpgs04gi6salwjrsjc6d43lxlsn3y1im8"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3416586d4d782cdd61a56159c5f80a0ca9b3ddf4/recipes/flymake-perlcritic"; + sha256 = "1i0bc81cby2nsala2mhghzv7clhbf1gpp54vdxiq2wdanqy25vmk"; name = "recipe"; }; packageRequires = [ flymake ]; @@ -18127,12 +19206,12 @@ melpaBuild { pname = "flyspell-correct"; ename = "flyspell-correct"; - version = "0.4"; + version = "0.5"; src = fetchFromGitHub { owner = "d12frosted"; repo = "flyspell-correct"; - rev = "7e7f94a36699c7e7bba728df722e13a7b4af4b73"; - sha256 = "16lbhbgyrpp9ig9li1v31bs9i5z8dchjb1vrkcih020p3g9vwi27"; + rev = "a9b53c52ab350aead0851e140d813cfd7b1bd680"; + sha256 = "1r9hmz7sihhy7npv6nxp04sy57glzmfax5d67mwn96fdnc0yhlnd"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/fa06fbe3bc40ae5e3f6d10dee93a9d49e9288ba5/recipes/flyspell-correct"; @@ -18154,12 +19233,12 @@ melpaBuild { pname = "flyspell-correct-helm"; ename = "flyspell-correct-helm"; - version = "0.4"; + version = "0.5"; src = fetchFromGitHub { owner = "d12frosted"; repo = "flyspell-correct"; - rev = "7e7f94a36699c7e7bba728df722e13a7b4af4b73"; - sha256 = "16lbhbgyrpp9ig9li1v31bs9i5z8dchjb1vrkcih020p3g9vwi27"; + rev = "a9b53c52ab350aead0851e140d813cfd7b1bd680"; + sha256 = "1r9hmz7sihhy7npv6nxp04sy57glzmfax5d67mwn96fdnc0yhlnd"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7b9302d8f804c77eb81fee7ed27f13cb1176f6/recipes/flyspell-correct-helm"; @@ -18181,12 +19260,12 @@ melpaBuild { pname = "flyspell-correct-ivy"; ename = "flyspell-correct-ivy"; - version = "0.4"; + version = "0.5"; src = fetchFromGitHub { owner = "d12frosted"; repo = "flyspell-correct"; - rev = "7e7f94a36699c7e7bba728df722e13a7b4af4b73"; - sha256 = "16lbhbgyrpp9ig9li1v31bs9i5z8dchjb1vrkcih020p3g9vwi27"; + rev = "a9b53c52ab350aead0851e140d813cfd7b1bd680"; + sha256 = "1r9hmz7sihhy7npv6nxp04sy57glzmfax5d67mwn96fdnc0yhlnd"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7b9302d8f804c77eb81fee7ed27f13cb1176f6/recipes/flyspell-correct-ivy"; @@ -18208,12 +19287,12 @@ melpaBuild { pname = "flyspell-correct-popup"; ename = "flyspell-correct-popup"; - version = "0.4"; + version = "0.5"; src = fetchFromGitHub { owner = "d12frosted"; repo = "flyspell-correct"; - rev = "7e7f94a36699c7e7bba728df722e13a7b4af4b73"; - sha256 = "16lbhbgyrpp9ig9li1v31bs9i5z8dchjb1vrkcih020p3g9vwi27"; + rev = "a9b53c52ab350aead0851e140d813cfd7b1bd680"; + sha256 = "1r9hmz7sihhy7npv6nxp04sy57glzmfax5d67mwn96fdnc0yhlnd"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7b9302d8f804c77eb81fee7ed27f13cb1176f6/recipes/flyspell-correct-popup"; @@ -18463,26 +19542,27 @@ license = lib.licenses.free; }; }) {}; - fontify-face = callPackage ({ fetchFromGitHub + fontify-face = callPackage ({ emacs + , fetchFromGitHub , fetchurl , lib , melpaBuild }: melpaBuild { pname = "fontify-face"; ename = "fontify-face"; - version = "1.0.0"; + version = "1.1.0"; src = fetchFromGitHub { owner = "Fuco1"; repo = "fontify-face"; - rev = "5bbd4bbbb69f3fe156af53d32000a4b769ed4cbd"; - sha256 = "0s2vwzjd08xj4vpmx7knyrld44k6dd9mhync50r580wpgrgfxm04"; + rev = "fc3325c98427523d86f0b411e0515cec51ac3d8a"; + sha256 = "1zfld9a17xhisfwhmfxvx1x63ksl6jg5g99kbivj4nq70sf26dpw"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/72bd6750dd5a7d9ed6e408e690f76c260ffd7d9e/recipes/fontify-face"; sha256 = "1w7xlkladqkbh7gpnkbi53a7k9p5wzma4y9jgwbc58hng9ggm1k0"; name = "recipe"; }; - packageRequires = []; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/fontify-face"; license = lib.licenses.free; @@ -18518,6 +19598,52 @@ license = lib.licenses.free; }; }) {}; + forge = callPackage ({ closql + , dash + , emacs + , emacsql-sqlite + , fetchFromGitHub + , fetchurl + , ghub + , graphql + , let-alist + , lib + , magit + , magit-popup + , markdown-mode + , melpaBuild }: + melpaBuild { + pname = "forge"; + ename = "forge"; + version = "0.1.0"; + src = fetchFromGitHub { + owner = "magit"; + repo = "forge"; + rev = "f5fc99935e2059ddede9766ce4bb96d99dcd203b"; + sha256 = "0jipyqj3r4gkdwpcy0m5ij7x510r2admi8fbzwfysqyrwahs60nv"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/23512cf8152161322960d72a5ec49a7595003477/recipes/forge"; + sha256 = "0a1yvdxx43zq9ivwmg34wyybkw4vhgzd2c54cchsbrbr972x9522"; + name = "recipe"; + }; + packageRequires = [ + closql + dash + emacs + emacsql-sqlite + ghub + graphql + let-alist + magit + magit-popup + markdown-mode + ]; + meta = { + homepage = "https://melpa.org/#/forge"; + license = lib.licenses.free; + }; + }) {}; form-feed = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -18568,6 +19694,33 @@ license = lib.licenses.free; }; }) {}; + format-table = callPackage ({ dash + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "format-table"; + ename = "format-table"; + version = "0.0.1"; + src = fetchFromGitHub { + owner = "functionreturnfunction"; + repo = "format-table"; + rev = "dfcae3a867e574577fc09a43b045889ff155b58f"; + sha256 = "1z9l1qmv5hw7bgchi5f68nzsz9arjwsazvd6viq6k6jmjzncli6q"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/e307ead5e8a291cb5dfe316f3b13144e71b6a1b7/recipes/format-table"; + sha256 = "1fwjilx0n9m8q0macq231i73zvridjfgqlhw7d1xblw4qp82rzvp"; + name = "recipe"; + }; + packageRequires = [ dash emacs ]; + meta = { + homepage = "https://melpa.org/#/format-table"; + license = lib.licenses.free; + }; + }) {}; fortune-cookie = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -18593,29 +19746,31 @@ license = lib.licenses.free; }; }) {}; - fountain-mode = callPackage ({ emacs + frame-purpose = callPackage ({ dash + , dash-functional + , emacs , fetchFromGitHub , fetchurl , lib , melpaBuild }: melpaBuild { - pname = "fountain-mode"; - ename = "fountain-mode"; - version = "2.5.3"; + pname = "frame-purpose"; + ename = "frame-purpose"; + version = "1.0"; src = fetchFromGitHub { - owner = "rnkn"; - repo = "fountain-mode"; - rev = "8269066a9035fcf50eb835de3745a62c1cb96660"; - sha256 = "1s1wyhjdyp12iz3zk333z5wlbxl5x3hki9q16164fk9ifhkrppxd"; + owner = "alphapapa"; + repo = "frame-purpose.el"; + rev = "60778ef3c02cb09a7ccc323732c89bf374dfbffe"; + sha256 = "0jq2aam1yvccw887ighd1wm2xkvk5bv53ffiz3crcl16a255aj4q"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/913386ac8d5049d37154da3ab32bde408a226511/recipes/fountain-mode"; - sha256 = "1i55gcjy8ycr1ww2fh1a2j0bchx1bsfs0zd6v4cv5zdgy7vw6840"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/033bd36a2419f4521944ccbfe8ce1eb56af20472/recipes/frame-purpose"; + sha256 = "0mvzryfakz5g8smsg4ciaa0bs0jp692rnjbahp9vl62ml5dp62fz"; name = "recipe"; }; - packageRequires = [ emacs ]; + packageRequires = [ dash dash-functional emacs ]; meta = { - homepage = "https://melpa.org/#/fountain-mode"; + homepage = "https://melpa.org/#/frame-purpose"; license = lib.licenses.free; }; }) {}; @@ -18654,12 +19809,12 @@ melpaBuild { pname = "frameshot"; ename = "frameshot"; - version = "0.1.1"; + version = "0.2.2"; src = fetchFromGitHub { owner = "tarsius"; repo = "frameshot"; - rev = "65994602fdf3d8881f0cabffebbce6c0e493e3c8"; - sha256 = "0crvvacpajlhdida54gvv4y11xx78qscr6nznx0bhdb12sj3n45q"; + rev = "3830aae976603ff4e41e09fdca7554594075694c"; + sha256 = "1sbxr78gl822gl0ky7iz1wb558ch9gp7igg4aq63gjlq6wfx2v93"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e5cfaa4b5fda97054d45691fad9d79b559f2df14/recipes/frameshot"; @@ -18732,14 +19887,14 @@ ename = "fsbot-data-browser"; version = "0.3"; src = fetchFromGitHub { - owner = "benaiah"; + owner = "Benaiah"; repo = "fsbot-data-browser"; rev = "6bca4f7de63e31839d2542f6c678b79931dec344"; sha256 = "0lvpgfp89sz6f6rn576g1g88s0q3ibj5ghydjwfcg9w6h7vx5b5s"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/37a0901b98e1c66be6906234e6d6520a6e940e97/recipes/fsbot-data-browser"; - sha256 = "0jijvl07jk200fs01ln4dmw5nx9jg3f9b7gjaknyd18vyvbwr3s5"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/fsbot-data-browser"; + sha256 = "14d4d8lasvgj520rmqgnzk6mi16znzcdvja9p8164fr9l41wnzgd"; name = "recipe"; }; packageRequires = []; @@ -18762,12 +19917,12 @@ melpaBuild { pname = "fsharp-mode"; ename = "fsharp-mode"; - version = "1.9.12"; + version = "1.9.13"; src = fetchFromGitHub { owner = "rneatherway"; repo = "emacs-fsharp-mode-bin"; - rev = "68d2121a7317d90fe3794c9295d117f4aebd1438"; - sha256 = "0mymvik20slbgsasjpn6nkqcb4z6z4mvd1sf1xalv0qjk24vrlmk"; + rev = "386994e7d420872a31d7dd2eee9610d8ace98faa"; + sha256 = "15blnkcrsmm6896dpdzcx3xqzxzkc0x8d5bg9b5sw7qca6vnjbqk"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/dc45611e2b629d8bc5f74555368f964420b79541/recipes/fsharp-mode"; @@ -18815,6 +19970,33 @@ license = lib.licenses.free; }; }) {}; + fuel = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "fuel"; + ename = "fuel"; + version = "0.98"; + src = fetchFromGitHub { + owner = "factor"; + repo = "factor"; + rev = "780bbd49cf82c9746ca5a3f42f4a4a27266ccee9"; + sha256 = "1fs6200rsbnk2lagz8qj17iynaf4c1fvb6sm03i53shsbarak2c3"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/1e2a0e4698d4e71ec28656594f6a83504a823490/recipes/fuel"; + sha256 = "08hzzg5dhqkl5c5lfhwcwmx8m8z3k1nxshn2wlpqf5gch8f2nj6z"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs ]; + meta = { + homepage = "https://melpa.org/#/fuel"; + license = lib.licenses.free; + }; + }) {}; full-ack = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -18892,31 +20074,6 @@ license = lib.licenses.free; }; }) {}; - futhark-mode = callPackage ({ cl-lib ? null - , fetchFromGitHub - , fetchurl - , lib - , melpaBuild }: - melpaBuild { - pname = "futhark-mode"; - version = "0.4.1"; - src = fetchFromGitHub { - owner = "HIPERFIT"; - repo = "futhark"; - rev = "784e3147196bfe82ea9499628467335ea1d036f9"; - sha256 = "07dqqpacvap034jzvdvnpjyryzicbvjx2imnsghsxw9m52jsb9wn"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/0607f01aad7e77d53595ad8db95d32acfd29b148/recipes/futhark-mode"; - sha256 = "1k22xkg6vd60hk58zkxhmsw2gs6ikzmidvxcdglnr46m6x7r7pnq"; - name = "futhark-mode"; - }; - packageRequires = [ cl-lib ]; - meta = { - homepage = "https://melpa.org/#/futhark-mode"; - license = lib.licenses.free; - }; - }) {}; fuzzy = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -19238,16 +20395,16 @@ melpaBuild { pname = "gf"; ename = "gf"; - version = "1.0.1"; + version = "1.1.2"; src = fetchFromGitHub { - owner = "grammaticalframework"; + owner = "GrammaticalFramework"; repo = "gf-emacs-mode"; - rev = "4ab35bb727bd0717e0691d3c490f72551e13d683"; - sha256 = "0al1ad92ga84wm0kx66wplnn1p05mxf7ik4r5gknr8jp6aa1lcqd"; + rev = "49fa46db67634530499be969ffd3c436a22d4404"; + sha256 = "0q234wzzmq1r53dv7z798liwkcbpnvc8mnxvkyfxd94f6za9ylgz"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/1c2cc74eb19c54219cd5c5c11d886074859f0948/recipes/gf"; - sha256 = "170q5a7lwa9pbpn0ghcfzny0jfn42wgns1lcv8fngr0k1njfj6v8"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/gf"; + sha256 = "0vk866gy97zk8dbx48azjlpnrnf0snc50zlhbzv1is97d9frjici"; name = "recipe"; }; packageRequires = [ ht s ]; @@ -19290,12 +20447,12 @@ melpaBuild { pname = "ggtags"; ename = "ggtags"; - version = "0.8.12"; + version = "0.8.13"; src = fetchFromGitHub { owner = "leoliu"; repo = "ggtags"; - rev = "7a7ee76a8055531482927e6abf7e0ef676165dd2"; - sha256 = "1kyg26wdimy5k5icglgqg9gdfvzkgk4xis12nx1xkh01j2imzl97"; + rev = "17a121af1b375a6a5c5acec52f2ffd2b9715d244"; + sha256 = "10hryphjjyi13gvk8sy8r5y7nvs0hbw8ycjqj9snai0c1f9xrdsa"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b158bb1bc2fbe3de61a6b21174eac7b1457edda2/recipes/ggtags"; @@ -19413,28 +20570,31 @@ license = lib.licenses.free; }; }) {}; - ghub = callPackage ({ emacs + ghub = callPackage ({ dash + , emacs , fetchFromGitHub , fetchurl + , graphql , let-alist , lib - , melpaBuild }: + , melpaBuild + , treepy }: melpaBuild { pname = "ghub"; ename = "ghub"; - version = "2.0.1"; + version = "3.2.0"; src = fetchFromGitHub { owner = "magit"; repo = "ghub"; - rev = "9496d29d645823b52db347d5571cfd3c4ddcff06"; - sha256 = "1xa5pdzp18ykm59kc10bx3rqh0c1vq203yrikvqdj1gx088ksmj7"; + rev = "1a886a9910b3fe9f51624322a46d3ef5f9e83ae8"; + sha256 = "0mw48z3nfh1yrw9phb9da4705mrwmc7f2zbwn5hdpvw0ga2hd2qn"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/70a4dbd62fd6ebb4e056d0e97fa1a958437ddc91/recipes/ghub"; - sha256 = "031bzp61aal2id5sazwjz30svydjvxvphw5wbv5cyy4dqyh7w2ps"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/f403587f77380d1db214aa34933a9b5cce1ef2bd/recipes/ghub"; + sha256 = "15kjyi8ialpr1zjqvw68w9pa5sigcwy2szq21yvcy295z7ylzy4i"; name = "recipe"; }; - packageRequires = [ emacs let-alist ]; + packageRequires = [ dash emacs graphql let-alist treepy ]; meta = { homepage = "https://melpa.org/#/ghub"; license = lib.licenses.free; @@ -19556,12 +20716,12 @@ melpaBuild { pname = "git-attr"; ename = "git-attr"; - version = "0.0.3"; + version = "1.0.0"; src = fetchFromGitHub { owner = "arnested"; repo = "emacs-git-attr"; - rev = "c03078637a00ea301cbcc7ae301ae928b10af889"; - sha256 = "05wzy8g0yjkks0zmcvwn9dmr6kxk1bz91xic3c08b0j1z5lbsdv7"; + rev = "3e43a0cf616b00a4bbd3c6b49fd2397f3103796f"; + sha256 = "1alpr4gnkikwzljz0fdbrx5hs3zy5s2fz7qyxdz0nx9hv8zb5ir5"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3417e4bc586df60b5e6239b1f7683b87953f5b7c/recipes/git-attr"; @@ -19637,12 +20797,12 @@ melpaBuild { pname = "git-commit"; ename = "git-commit"; - version = "2.13.0"; + version = "2.90.1"; src = fetchFromGitHub { owner = "magit"; repo = "magit"; - rev = "e03685e813330a750c1d2e525a8f8c74901fccfb"; - sha256 = "119x8lg8alf97j8r3swmy6yf9112a9s2z2584n74bk847mxl2qwz"; + rev = "791901b2f1d26fa0a383147fe77948a9abc753da"; + sha256 = "1kw94sdczswsyzn1zlk5s5aplpdv4qd7qcqc5zfxsmsfwm3jacl4"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/git-commit"; @@ -19829,12 +20989,12 @@ melpaBuild { pname = "git-link"; ename = "git-link"; - version = "0.7.1"; + version = "0.7.3"; src = fetchFromGitHub { owner = "sshaw"; repo = "git-link"; - rev = "efd14ab5f17f5942d25e165210447f3983f3250e"; - sha256 = "0rd2g4s73xk8m595aa11vr59gnn5mx7lbcf0040w1xqvlrryzyc9"; + rev = "1dbabfed4c5c3c5ac6ffa9035a9c3d4c6cc7f885"; + sha256 = "1b115d5rsb9m8lqjplg3qp0bxfc5cij5fgp0j21zspqwqvj7h0hq"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1385443585e628e3d4efb3badb7611e9d653e0c9/recipes/git-link"; @@ -19903,23 +21063,24 @@ , fetchFromGitLab , fetchurl , lib - , melpaBuild }: + , melpaBuild + , transient }: melpaBuild { pname = "git-timemachine"; ename = "git-timemachine"; - version = "4.5"; + version = "4.10"; src = fetchFromGitLab { owner = "pidu"; repo = "git-timemachine"; - rev = "dbcb92ffaa5f8350d47f4fbd74512f4000b8c043"; - sha256 = "1ml06jfjyrcqmbpr5hqvbpi3yy6l2aa836jq8qjla1h74g9qka7z"; + rev = "b97f93d66cffcd69281346845d3a1e32197eda29"; + sha256 = "08zsn3lsnnf01wkv5ls38jga02s5dnf0j3gigy4qd6im3j3d04m1"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a52b516b7b10bdada2f64499c8f43f85a236f254/recipes/git-timemachine"; sha256 = "06xdzic7j3d3pqgwxp1q6fs8sf3mi02a9phjvhk90kyvbr8h94ck"; name = "recipe"; }; - packageRequires = [ emacs ]; + packageRequires = [ emacs transient ]; meta = { homepage = "https://melpa.org/#/git-timemachine"; license = lib.licenses.free; @@ -19958,7 +21119,7 @@ melpaBuild { pname = "gitattributes-mode"; ename = "gitattributes-mode"; - version = "1.2.7"; + version = "1.2.8"; src = fetchFromGitHub { owner = "magit"; repo = "git-modes"; @@ -20008,7 +21169,7 @@ melpaBuild { pname = "gitconfig-mode"; ename = "gitconfig-mode"; - version = "1.2.7"; + version = "1.2.8"; src = fetchFromGitHub { owner = "magit"; repo = "git-modes"; @@ -20168,7 +21329,7 @@ melpaBuild { pname = "gitignore-mode"; ename = "gitignore-mode"; - version = "1.2.7"; + version = "1.2.8"; src = fetchFromGitHub { owner = "magit"; repo = "git-modes"; @@ -20224,12 +21385,12 @@ melpaBuild { pname = "gitlab-ci-mode"; ename = "gitlab-ci-mode"; - version = "20180306.1"; + version = "20190222.11.8"; src = fetchFromGitLab { owner = "joewreschnig"; repo = "gitlab-ci-mode"; - rev = "313431fa5b8b5ce4512909dfc15675bb99395f6f"; - sha256 = "0zdj3f0a5fg4vwhbv851jv4fs1dqfz2w4jsxqbri2zhzdjxc97vn"; + rev = "ee4bd839c11405f770543d789ad668f0ecc9eaec"; + sha256 = "1qp6h1yyp8259cxygxi1y4r9jk21qd3l46ggnfhz0p6lpqphc5bq"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d7915ddcf21fdec539a86bb86c209cf0bbd378cb/recipes/gitlab-ci-mode"; @@ -20348,33 +21509,6 @@ license = lib.licenses.free; }; }) {}; - glab = callPackage ({ emacs - , fetchFromGitHub - , fetchurl - , ghub - , lib - , melpaBuild }: - melpaBuild { - pname = "glab"; - ename = "glab"; - version = "2.0.1"; - src = fetchFromGitHub { - owner = "magit"; - repo = "ghub"; - rev = "4831933da059ee084a16016558b9ccd8c581a8ff"; - sha256 = "1b5jrpj3z989r3mf4jfch8rnaaa5hyb2395xz3v37f0vsphd7s0y"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/70a4dbd62fd6ebb4e056d0e97fa1a958437ddc91/recipes/glab"; - sha256 = "0ym8bgym11mdv5bw22lgkcxyqy7qgxxm0yjmrq8qx7i55gqayyb8"; - name = "recipe"; - }; - packageRequires = [ emacs ghub ]; - meta = { - homepage = "https://melpa.org/#/glab"; - license = lib.licenses.free; - }; - }) {}; gmail-message-mode = callPackage ({ fetchFromGitHub , fetchurl , ham-mode @@ -20527,6 +21661,32 @@ license = lib.licenses.free; }; }) {}; + gnus-recent = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "gnus-recent"; + ename = "gnus-recent"; + version = "0.2.0"; + src = fetchFromGitHub { + owner = "unhammer"; + repo = "gnus-recent"; + rev = "df85e5810c02f613bfa6e236674de969d6e00ae1"; + sha256 = "0hvsp9y0vzcr9c2wglh0wdavjmp2n2hbhlsr1bfvnfxk97ka0y5r"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/0b80d94cf1a8b8e2d4da5d45f65231aa4884a3a0/recipes/gnus-recent"; + sha256 = "14xac6bmn61bk0h6dby14111iijz0j254v4mh77lf0ydbz6wxjf1"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/gnus-recent"; + license = lib.licenses.free; + }; + }) {}; gnus-x-gm-raw = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -20589,16 +21749,16 @@ melpaBuild { pname = "go-autocomplete"; ename = "go-autocomplete"; - version = "20170907"; + version = "20150303"; src = fetchFromGitHub { - owner = "nsf"; + owner = "mdempsky"; repo = "gocode"; - rev = "beae6bdcc6fc300059038961b7a3e977e0fb7c61"; - sha256 = "0fhs17v2x24nhs0kd2yjzr56jni2767yrjxims6phsaxs9m5aih2"; + rev = "b6fffd0527b4ab22df0170d7243317ab2773622e"; + sha256 = "1kdicb69dlm06r3skfk8bxygyjr5cvymal8fvbd8zzzfdzgnj7lg"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/04867a574773e8794335a2664d4f5e8b243f3ec9/recipes/go-autocomplete"; - sha256 = "1ldsq81a167dk2r2mvzyp3v3j2mxc4l9p6b12i7pv8zrjlkhma5a"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/ef45683cbfe82bf8a9d6f3f1c59e3cf340accbe3/recipes/go-autocomplete"; + sha256 = "15ns1zzw6kblcbih7dmjvk1p0f6f3p2wpgx4gnd9ax0fcj65ghwi"; name = "recipe"; }; packageRequires = [ auto-complete ]; @@ -20765,6 +21925,32 @@ license = lib.licenses.free; }; }) {}; + go-imenu = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "go-imenu"; + ename = "go-imenu"; + version = "0.1.0"; + src = fetchFromGitHub { + owner = "brantou"; + repo = "go-imenu.el"; + rev = "fc1566fbe396fc8c94f7de99d9c7191b47cd48d9"; + sha256 = "0qygxqrzx009cd59b452ampakr9rwmj1skl8pic9an4wjz742qlg"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/d602b6071787018e3e0a68b4852eb978b34acbea/recipes/go-imenu"; + sha256 = "0s8rc7rkqlywrhnm2h8yygn87jhjc492wmsvnr1rxl62wf5cijms"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/go-imenu"; + license = lib.licenses.free; + }; + }) {}; go-impl = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -21033,12 +22219,12 @@ melpaBuild { pname = "google-translate"; ename = "google-translate"; - version = "0.11.14"; + version = "0.11.17"; src = fetchFromGitHub { owner = "atykhonov"; repo = "google-translate"; - rev = "486c63bbfa0338589589f628703c38112035a5b2"; - sha256 = "08b4lxnwy9iqxacbjjljybvvdkl9g2dy6vga6hw7h7h32qra8w2j"; + rev = "bf119aac424994d2aa91fce9630adc01ed0ea617"; + sha256 = "05ljjw7kbnszygw3w085kv57swfiiqxri2b5xvsf5dw3pc3g7j3c"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e3c275e59cbfe6e40f9cd4c470fc66544c9a6d21/recipes/google-translate"; @@ -21138,12 +22324,12 @@ melpaBuild { pname = "goto-chg"; ename = "goto-chg"; - version = "1.7.2"; + version = "1.7.3"; src = fetchFromGitHub { owner = "emacs-evil"; repo = "goto-chg"; - rev = "e5b38e4e1378f6ea48fa9e8439f49c2998654aa4"; - sha256 = "1fxdvgdafavc4sad5i8g0wvpdqzlgzmvfi07yrah1c5vwkrslbvj"; + rev = "16a63aae80db90713fb1f7d378c5d591c2ce15ff"; + sha256 = "0kpalpssfrwcqrmp47i3j2x04m01fm7cspwsm6fks8pn71lagcwm"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cf1fc176430fe3ab55ce537a0efc59780bb812be/recipes/goto-chg"; @@ -21219,7 +22405,7 @@ melpaBuild { pname = "govc"; ename = "govc"; - version = "0.18.0"; + version = "0.20.0"; src = fetchFromGitHub { owner = "vmware"; repo = "govmomi"; @@ -21245,12 +22431,12 @@ melpaBuild { pname = "gpastel"; ename = "gpastel"; - version = "0.3.0"; + version = "0.5.0"; src = fetchFromGitHub { owner = "DamienCassou"; repo = "gpastel"; - rev = "21b7d79530134d6a47eeb252b684f884c769d291"; - sha256 = "1s1gnkpz6byf6by8r1bl9vq3slmsdavjb2ybp2zgic48favz1qm2"; + rev = "8a5522b274f79d55d7c9a0b2aaf062526f9253c7"; + sha256 = "01pnnqcxni55xr7r2lxcnsqiszm2w5iwnjcwp748p1faq6ywhi19"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9b70e05ff0a074f9e2f1373e8495dc8df462deea/recipes/gpastel"; @@ -21500,12 +22686,12 @@ melpaBuild { pname = "graphene-meta-theme"; ename = "graphene-meta-theme"; - version = "0.0.5"; + version = "0.0.6"; src = fetchFromGitHub { owner = "rdallasgray"; repo = "graphene-meta-theme"; - rev = "62cc73fee31f1bd9474027b83a249feee050271e"; - sha256 = "1ydl6dlg5z4infq8j09izwgs6n97yza6nbq5rs1xfv00zd9gr63c"; + rev = "8e75528529f460b1b5910467c4fc1f516e1a57b9"; + sha256 = "03wllxivl95gsknjkmljm3kgjkwixwxaksaxv8i9c0zjrb2wwm24"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/44af719ede73c9fe7787272d7868587ce8966e3d/recipes/graphene-meta-theme"; @@ -21518,6 +22704,32 @@ license = lib.licenses.free; }; }) {}; + graphql = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "graphql"; + ename = "graphql"; + version = "0.1.1"; + src = fetchFromGitHub { + owner = "vermiculus"; + repo = "graphql.el"; + rev = "672dd9ebd7e67d8089388b0c484cd650e76565f3"; + sha256 = "0sp0skc1rnhi39szfbq1i99pdgd3bhn4c15cff05iqhjy2d4hniw"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/3e801ae56f11b64a5a3e52cf1a6c152940ab8c97/recipes/graphql"; + sha256 = "139fng2psn535ymqa7c6hm1r7ja1gs5mdvb487jj6fh0bl9wq8la"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/graphql"; + license = lib.licenses.free; + }; + }) {}; graphviz-dot-mode = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -21568,31 +22780,6 @@ license = lib.licenses.free; }; }) {}; - grass-mode = callPackage ({ cl-lib ? null - , dash - , fetchhg - , fetchurl - , lib - , melpaBuild }: - melpaBuild { - pname = "grass-mode"; - version = "0.1"; - src = fetchhg { - url = "https://bitbucket.com/tws/grass-mode.el"; - rev = "1ae8eae88117"; - sha256 = "1sl3d5759fjm98pb50ykz2c05czb2298ipccwj2qz2hdzq63hfv8"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/grass-mode"; - sha256 = "1lq6bk4bwgcy4ra3d9rlca3fk87ydg7xnnqcqjg0pw4m9xnr3f7v"; - name = "grass-mode"; - }; - packageRequires = [ cl-lib dash ]; - meta = { - homepage = "https://melpa.org/#/grass-mode"; - license = lib.licenses.free; - }; - }) {}; green-is-the-new-black-theme = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -21600,12 +22787,12 @@ melpaBuild { pname = "green-is-the-new-black-theme"; ename = "green-is-the-new-black-theme"; - version = "0.0.6"; + version = "0.4.0"; src = fetchFromGitHub { owner = "fredcamps"; repo = "green-is-the-new-black-emacs"; - rev = "8a03687a2b8b55c5dc7f099086019278d505d8d8"; - sha256 = "07j5sv8dskqxpbzr5f58n75cziyqm9v01c3f7wmwfs8jl7h5nc4m"; + rev = "b8307a377bfb21a99494fa2c5de0b9ba10c3fce6"; + sha256 = "154jymgi58k4z5q7j0p2gclqjsq0w1809ybz7myngbvd0wjmcbp9"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3e42528d5677fd90515cad47266c07ea3d4363fb/recipes/green-is-the-new-black-theme"; @@ -21625,12 +22812,12 @@ melpaBuild { pname = "green-screen-theme"; ename = "green-screen-theme"; - version = "1.0.24"; + version = "1.0.26"; src = fetchFromGitHub { owner = "rbanffy"; repo = "green-screen-emacs"; - rev = "c348ea0adf0e6ae99294a05be183a7b425a4bab0"; - sha256 = "1rqhac5j06gpc9gp44g4r3zdkw1baskwrz3bw1n1haw4a1k0657q"; + rev = "774e8f6c033786406267f71ec07319d906a30b75"; + sha256 = "0f12lqgfi1vlhq8p5ia04vlmvmyb4f40q7dm2nbh5y8r6k89hisg"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/821744ca106f1b74941524782e4581fc93800fed/recipes/green-screen-theme"; @@ -21671,29 +22858,6 @@ license = lib.licenses.free; }; }) {}; - grin = callPackage ({ fetchhg - , fetchurl - , lib - , melpaBuild }: - melpaBuild { - pname = "grin"; - version = "1.0"; - src = fetchhg { - url = "https://bitbucket.com/dariusp686/emacs-grin"; - rev = "f541aa22da52"; - sha256 = "0rqpgc50z86j4waijfm6kw4zjmzqfii6nnvyix4rkd4y3ryny1x2"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/grin"; - sha256 = "0rak710fp9c7wx39qn4dc9d0xfjr5w7hwklxh99v1x1ihkla9378"; - name = "grin"; - }; - packageRequires = []; - meta = { - homepage = "https://melpa.org/#/grin"; - license = lib.licenses.free; - }; - }) {}; grizzl = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -21834,16 +22998,16 @@ melpaBuild { pname = "gruvbox-theme"; ename = "gruvbox-theme"; - version = "1.26.0"; + version = "1.27.0"; src = fetchFromGitHub { - owner = "Greduan"; + owner = "greduan"; repo = "emacs-theme-gruvbox"; - rev = "796999e5db2a0e43ad64c062c1bec3c966d095bc"; - sha256 = "0qj5k0c1592ikrb7gcibqwf8hhj6lq4cw7zrb3kmpk4zakzy7a2w"; + rev = "f05bfb9d8be4270dc919d14410f16f7da1fcd9e0"; + sha256 = "126kqvgjy71rimr4f7sgnh2j73i3i0s650bx84jl8n4k48x0hwz5"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/2bd48c87919f64ced9f3add4860751bb34cb5ecb/recipes/gruvbox-theme"; - sha256 = "042mnwlmixygk2mf24ygk7rkv1rfavc5a36hs9x8b68jnf3khj32"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/gruvbox-theme"; + sha256 = "12z89fjfqcp9rx2f2x9wcffgxxv3kjn1dabyk0cjf286hgvmgz88"; name = "recipe"; }; packageRequires = [ autothemer ]; @@ -21943,12 +23107,12 @@ melpaBuild { pname = "guix"; ename = "guix"; - version = "0.4.1.1"; + version = "0.5.1.1"; src = fetchFromGitHub { owner = "alezost"; repo = "guix.el"; - rev = "60a922a0d48747f1c1d945a725f40a9d1f1fa3a9"; - sha256 = "0jp0bjy9l2m3kii0p1fnqmvsbz9hafv5s5840czsda3mc9x9c7b0"; + rev = "c4c96663fefe7e007c372e7d24d6e7016b70e4ee"; + sha256 = "1730q2dm84f15ycjdf3dgl2j8770mhr6qnyzxgac3zzkjr8pyvq7"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b3d8c73e8a946b8265487a0825d615d80aa3337d/recipes/guix"; @@ -22022,14 +23186,14 @@ ename = "hacker-typer"; version = "1.0.6"; src = fetchFromGitHub { - owner = "therockmandolinist"; + owner = "dieggsy"; repo = "emacs-hacker-typer"; rev = "d5a23714a4ccc5071580622f278597d5973f40bd"; sha256 = "13wp7cg9d9ij44inxxyk1knczglxrbfaq50wyhc4x5zfhz5yw7wx"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/8e04a3a1606ea23865c04d93e3dc77cb55b9931f/recipes/hacker-typer"; - sha256 = "128y562cxi8rblnqjdzhqc6b58bxi67f6hz569gqw4jywz0xcd0g"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3416586d4d782cdd61a56159c5f80a0ca9b3ddf4/recipes/hacker-typer"; + sha256 = "0vf18hylhszvplam6c4yynr53zc3n816p9k36gywm6awwblfpyfb"; name = "recipe"; }; packageRequires = [ emacs ]; @@ -22046,12 +23210,12 @@ melpaBuild { pname = "hackernews"; ename = "hackernews"; - version = "0.4.0"; + version = "0.5.0"; src = fetchFromGitHub { owner = "clarete"; repo = "hackernews.el"; - rev = "22a15dc57dd6aab7793c0f9c2b72e161e0bee00c"; - sha256 = "0bpbiadv4bf3lllsm0w1jcw8nc7c9zl97m972hbxb1dgv90gvs5b"; + rev = "916c3da8da45c757f5ec2faeed57fa370513d4ac"; + sha256 = "09bxaaczana1cfvxyk9aagjvdszkj0j1yldl5r4xa60b59lxihsg"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c43a342e47e5ede468bcf51a60d4dea3926f51bd/recipes/hackernews"; @@ -22412,12 +23576,12 @@ melpaBuild { pname = "hasky-stack"; ename = "hasky-stack"; - version = "0.8.0"; + version = "0.9.0"; src = fetchFromGitHub { owner = "hasky-mode"; repo = "hasky-stack"; - rev = "3e17ce07dd6b0207474e4ff14ad7b8c467382947"; - sha256 = "0cdsdlgapf9xxj928hlb7ch9x8rznayrvj7n8j2vzfa0kfmg7qwf"; + rev = "a3176aece9a9ab0a36ae795965f83f4c1fa243bf"; + sha256 = "1j9cvy95wnmssg68y7hcjr0fh117ix1ypa0k7rxqn84na7hyhdpl"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c3faf544872478c3bccf2fe7dc51d406031e4d80/recipes/hasky-stack"; @@ -22519,12 +23683,12 @@ melpaBuild { pname = "helm"; ename = "helm"; - version = "2.9.8"; + version = "3.1"; src = fetchFromGitHub { owner = "emacs-helm"; repo = "helm"; - rev = "8de42d08f45a7052ed858132de43a76f933f58f7"; - sha256 = "1g36knyppz8lfbcn84hx6ivf8b34s26wx5dh4xw85sq6pwi5yn7s"; + rev = "8de179db41598515f1db758b8d35728a3fd58f18"; + sha256 = "1x3nv8zvp8vvl30bm2d83hd7zxb0ca64pc8kwb81ml9al6r3mm01"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7e8bccffdf69479892d76b9336a4bec3f35e919d/recipes/helm"; @@ -22627,12 +23791,12 @@ melpaBuild { pname = "helm-backup"; ename = "helm-backup"; - version = "1.0.0"; + version = "1.1.1"; src = fetchFromGitHub { owner = "antham"; repo = "helm-backup"; - rev = "3f39d296ddc77df758b812c50e3c267dd03db8bb"; - sha256 = "05528ajhmvkc50i65wcb3bi1w4i3y1vvr56dvq6yp7cbyw9r7b8w"; + rev = "45a86a41ac44f90d4db2c0e9339233ee7f0be0b8"; + sha256 = "0pr4qd6mi9g91lndqnk4w26lq3w8pxcgxragxj3209dgwqsxps95"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5e6eba7b201e91211e43c39e501f6066f0afeb8b/recipes/helm-backup"; @@ -22872,6 +24036,7 @@ }) {}; helm-codesearch = callPackage ({ cl-lib ? null , dash + , emacs , fetchFromGitHub , fetchurl , helm @@ -22881,19 +24046,19 @@ melpaBuild { pname = "helm-codesearch"; ename = "helm-codesearch"; - version = "0.4.0"; + version = "0.5.0"; src = fetchFromGitHub { owner = "youngker"; repo = "helm-codesearch.el"; - rev = "e80e76e492f626659b88dbe362b11aa0a3b0a116"; - sha256 = "16njr3xcvpzg4x6qq2pwk80pca9pxhc6vjvfy3dzy4hi9nxryrs6"; + rev = "a6bac6b8a063b91b444a72318b163b266742db9b"; + sha256 = "0xmplh7q5wvrkfha8qc9hx7sjyc8dsms0wrvj2y7zg35siw1561l"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0a992824e46a4170e2f0915f7a507fcb8a9ef0a6/recipes/helm-codesearch"; sha256 = "1v21zwcyx73bc1lcfk60v8xim31bwdk4p06g9i4qag3cijdlli9q"; name = "recipe"; }; - packageRequires = [ cl-lib dash helm s ]; + packageRequires = [ cl-lib dash emacs helm s ]; meta = { homepage = "https://melpa.org/#/helm-codesearch"; license = lib.licenses.free; @@ -22937,12 +24102,12 @@ melpaBuild { pname = "helm-company"; ename = "helm-company"; - version = "0.2.2"; + version = "0.2.3"; src = fetchFromGitHub { owner = "Sodel-the-Vociferous"; repo = "helm-company"; - rev = "acc9c7901e094c1591327a0db1ec7a439f67a84d"; - sha256 = "1d4q9clp0q56br80c21a4wz1gc4jw3mdy97z9mq07x9i8rhlppzs"; + rev = "5b5c15745d92aff7280698c7619994e2481098b4"; + sha256 = "1r5b24hamq8d5n418xpf80jn37s357hbc9rd5siw6gwkjn2jykx7"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8acf7420f2ac8a36474594bc34316f187b43d771/recipes/helm-company"; @@ -22964,12 +24129,12 @@ melpaBuild { pname = "helm-core"; ename = "helm-core"; - version = "2.9.8"; + version = "3.1"; src = fetchFromGitHub { owner = "emacs-helm"; repo = "helm"; - rev = "8de42d08f45a7052ed858132de43a76f933f58f7"; - sha256 = "1g36knyppz8lfbcn84hx6ivf8b34s26wx5dh4xw85sq6pwi5yn7s"; + rev = "19381fb02817de196dba0f344e06e7751a1816f6"; + sha256 = "1jh4nmmx8iwqdvpwwzq3c6f5hwyla000bmbyc2p5anmfwzsfp0lb"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7a700c5665e6d72cb4cecf7fb5a2dd43ef9bf7/recipes/helm-core"; @@ -23173,6 +24338,34 @@ license = lib.licenses.free; }; }) {}; + helm-eww = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , helm + , lib + , melpaBuild + , seq }: + melpaBuild { + pname = "helm-eww"; + ename = "helm-eww"; + version = "1.2"; + src = fetchFromGitHub { + owner = "emacs-helm"; + repo = "helm-eww"; + rev = "76ba59fda8dd6f32a1bc7c6df0b43c6f76169911"; + sha256 = "0hpq1h0p69c9k6hkd2mjpprx213sc5475q7pr2zpmwrjdzgcv70z"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/455a32c1d4642dc6752408c4f5055f5f4d1288eb/recipes/helm-eww"; + sha256 = "0pl8s7jmk1kak13bal43kp2awjji9lgr3npq9m09zms121rh709w"; + name = "recipe"; + }; + packageRequires = [ emacs helm seq ]; + meta = { + homepage = "https://melpa.org/#/helm-eww"; + license = lib.licenses.free; + }; + }) {}; helm-ext = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -23346,12 +24539,12 @@ melpaBuild { pname = "helm-github-stars"; ename = "helm-github-stars"; - version = "1.3.5"; + version = "1.3.6"; src = fetchFromGitHub { owner = "Sliim"; repo = "helm-github-stars"; - rev = "809cf88e2984b121348b1046e1d3890f1fd580b4"; - sha256 = "09ywdsymh479syq9ps15bgyqf5gr94z8wn4jvlcxqz5aq5fil9vq"; + rev = "8cea100f788832ad28c2a61b8fc805298383e263"; + sha256 = "0ml324fi7bqh32d2vg41y13zqj4yx0hsqp5nmb6sw74qics7g9ma"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2e77f4a75504ca3e1091cdc757e91fb1ae361fa7/recipes/helm-github-stars"; @@ -23457,12 +24650,12 @@ melpaBuild { pname = "helm-hatena-bookmark"; ename = "helm-hatena-bookmark"; - version = "2.2.3"; + version = "2.3.0"; src = fetchFromGitHub { owner = "masutaka"; repo = "emacs-helm-hatena-bookmark"; - rev = "d64833a5bbb4ae112ed176f6473232e526138572"; - sha256 = "01b6nlbidk93arnnd2irm088qlws4i4p1sagsh9v153x6sk0r38k"; + rev = "274e18182fe20c11e96009387a8e38e8cd2a1d7e"; + sha256 = "13s36gyb37asgrc9qca9d196i5bnxqy4acmda5cas08b48wp4lxk"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3e9335ad16d4151dd4970c4a3ad1fee9a84404fa/recipes/helm-hatena-bookmark"; @@ -23529,30 +24722,6 @@ license = lib.licenses.free; }; }) {}; - helm-lobsters = callPackage ({ fetchFromGitHub - , fetchurl - , lib - , melpaBuild }: - melpaBuild { - pname = "helm-lobsters"; - version = "0.1.0"; - src = fetchFromGitHub { - owner = "julienXX"; - repo = "helm-lobste.rs"; - rev = "d798bebb1a65e255c8ec791753a0c78e6b19243b"; - sha256 = "1nd562lffc41r3y5x7y46f37ra97avllk2m95w23f9g42h47f1ar"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/6247e3786131e5b2a7824804e49927ed65d266d5/recipes/helm-lobsters"; - sha256 = "0dkb78n373kywxj8zba2s5a2g85vx19rdswv9i78xjwv1lqh8cpp"; - name = "helm-lobsters"; - }; - packageRequires = []; - meta = { - homepage = "https://melpa.org/#/helm-lobsters"; - license = lib.licenses.free; - }; - }) {}; helm-ls-git = callPackage ({ fetchFromGitHub , fetchurl , helm @@ -23751,12 +24920,12 @@ melpaBuild { pname = "helm-notmuch"; ename = "helm-notmuch"; - version = "1.1"; + version = "1.2"; src = fetchFromGitHub { owner = "xuchunyang"; repo = "helm-notmuch"; - rev = "782c221bf293eee55990de5b54171f08d881dcee"; - sha256 = "04mlsjqhh2nw2javxz8m1hbnsq0s70dw5pnwdbx8s9dk1p8ikxvw"; + rev = "97a01497e079a7b6505987e9feba6b603bbec288"; + sha256 = "1k038dbdpaa411gl4071x19fklhnizhr346plxw23lsnxir9dhqc"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/98667b3aa43d3e0f6174eeef82acaf71d7019aac/recipes/helm-notmuch"; @@ -23809,12 +24978,12 @@ melpaBuild { pname = "helm-org-rifle"; ename = "helm-org-rifle"; - version = "1.6.0"; + version = "1.6.1"; src = fetchFromGitHub { owner = "alphapapa"; repo = "helm-org-rifle"; - rev = "349a3d717d4201404d88c1ee71eb2cd8dc17aeb2"; - sha256 = "1i35cy8yk9r6k2fq07cnbqf7wlfmdqhwihffqkzdp2wm5m762mnv"; + rev = "f2c7f9e203287e3f6e5647406d21454218553e5a"; + sha256 = "1r38xhwvgbv6kn5x159phz3xgss7f1rc7icq27rnr4d8aj91wm6k"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f39cc94dde5aaf0d6cfea5c98dd52cdb0bcb1615/recipes/helm-org-rifle"; @@ -23881,6 +25050,35 @@ license = lib.licenses.free; }; }) {}; + helm-pass = callPackage ({ auth-source-pass + , emacs + , fetchFromGitHub + , fetchurl + , helm + , lib + , melpaBuild + , password-store }: + melpaBuild { + pname = "helm-pass"; + ename = "helm-pass"; + version = "0.3"; + src = fetchFromGitHub { + owner = "emacs-helm"; + repo = "helm-pass"; + rev = "ed5798f2d83937575e8f23fde33323bca9e85131"; + sha256 = "0vglaknmir3yv4iwibwn8r40ran8d04gcyp99hx73ldmf3zqpnxv"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/4a34e0ab66491540dd0c5b62c7f60684056b16d5/recipes/helm-pass"; + sha256 = "153cj58x2xcmjs2n4fl1jsv8zir4z9jwg1w00ghv70k5j3rwsjkp"; + name = "recipe"; + }; + packageRequires = [ auth-source-pass emacs helm password-store ]; + meta = { + homepage = "https://melpa.org/#/helm-pass"; + license = lib.licenses.free; + }; + }) {}; helm-perldoc = callPackage ({ cl-lib ? null , deferred , fetchFromGitHub @@ -24034,8 +25232,8 @@ sha256 = "0jm6nnnjyd4kmm1knh0mq3xhnw2hvs3linwlynj8yaliqvlv6brv"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/550eb9f42c90fd9e80714579c12ee6bfcacb5bb7/recipes/helm-pt"; - sha256 = "1imhy0bsm9aldv0pvf88280qdya01lznxpx5gi5wffhrz17yh4pi"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/e608f40d00a3b2a80a6997da00e7d04f76d8ef0d/recipes/helm-pt"; + sha256 = "1pvipzjw9h668jkbwwkmphvp806fs9q4mb2v2bjxpb0f3kn2qk3n"; name = "recipe"; }; packageRequires = [ helm ]; @@ -24242,7 +25440,7 @@ melpaBuild { pname = "helm-rtags"; ename = "helm-rtags"; - version = "2.18"; + version = "2.31"; src = fetchFromGitHub { owner = "Andersbakken"; repo = "rtags"; @@ -24316,6 +25514,35 @@ license = lib.licenses.free; }; }) {}; + helm-slime = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub + , fetchurl + , helm-core + , lib + , melpaBuild + , slime }: + melpaBuild { + pname = "helm-slime"; + ename = "helm-slime"; + version = "0.3.0"; + src = fetchFromGitHub { + owner = "emacs-helm"; + repo = "helm-slime"; + rev = "ebe80eebd1dfba1f1c837876c8f73cefc8c4db87"; + sha256 = "1qhb9446rpj17pm0hi3miy5gs5k3ld43bq29kzy0y26bf7ivfcjv"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/c35d43a7a8219de4a7f675147f598966aaecb9db/recipes/helm-slime"; + sha256 = "0qv4c1dd28zqbjxpshga967szrh75a4k51n4x86xkbax7ycca4hh"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs helm-core slime ]; + meta = { + homepage = "https://melpa.org/#/helm-slime"; + license = lib.licenses.free; + }; + }) {}; helm-smex = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -24408,12 +25635,12 @@ melpaBuild { pname = "helm-system-packages"; ename = "helm-system-packages"; - version = "1.10.0"; + version = "1.10.1"; src = fetchFromGitHub { owner = "emacs-helm"; repo = "helm-system-packages"; - rev = "a82a25a94a670b36e34c5ae192f41b4a104955e5"; - sha256 = "0y5wzvfycb1bvgdk782xyl744fih43vz14wmq6gcqjarw6xfniz5"; + rev = "2b4636dc861ffe2c4a2025b67ab40460f85b9563"; + sha256 = "01by0c4lqi2cw8xmbxkjw7m9x78zssm31sx4hdpw5j35s2951j0f"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0c46cfb0fcda0500e15d04106150a072a1a75ccc/recipes/helm-system-packages"; @@ -24426,6 +25653,33 @@ license = lib.licenses.free; }; }) {}; + helm-taskswitch = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , helm + , lib + , melpaBuild }: + melpaBuild { + pname = "helm-taskswitch"; + ename = "helm-taskswitch"; + version = "1.0.4"; + src = fetchFromGitHub { + owner = "bdc34"; + repo = "helm-taskswitch"; + rev = "de494738f8e5f7d6e681199dd3aad91e5bdb7691"; + sha256 = "01a4z0x5p94hglcnakxdgi4cq0cvz48c3dg58b7y2cq1nwjdw8d7"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/3602b1f7b9a75cc82c4bde9ea12b2509465db30f/recipes/helm-taskswitch"; + sha256 = "01yvdbwlixif670f4lffpsk9kvlhgrmh95jw0vc568x0bd3j2a02"; + name = "recipe"; + }; + packageRequires = [ emacs helm ]; + meta = { + homepage = "https://melpa.org/#/helm-taskswitch"; + license = lib.licenses.free; + }; + }) {}; helm-themes = callPackage ({ fetchFromGitHub , fetchurl , helm @@ -24461,12 +25715,12 @@ melpaBuild { pname = "helm-tramp"; ename = "helm-tramp"; - version = "1.0.5"; + version = "1.2.6"; src = fetchFromGitHub { owner = "masasam"; repo = "emacs-helm-tramp"; - rev = "07d2f02166038c14052009f6fb9c2a163118e2cc"; - sha256 = "1yi4wq484nrjb1yphp6dbaqjgfq7hr78gh9v9cys7dqg910ngy4f"; + rev = "a7456cee86a83d68c966475fab90ab94006fd23c"; + sha256 = "1yrwv3xzbqndns9lda70vpv75vipgjd5j9s1dx1ggfhx21kbnf9w"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/helm-tramp"; @@ -24591,6 +25845,32 @@ license = lib.licenses.free; }; }) {}; + help-find-org-mode = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "help-find-org-mode"; + ename = "help-find-org-mode"; + version = "1.0.0"; + src = fetchFromGitHub { + owner = "EricCrosson"; + repo = "help-find-org-mode"; + rev = "c6fa2c8a8e9381572190010a9fa01f2be78f2790"; + sha256 = "1szjqaw31r5070wpbj5rcai124c66bs32x35w1hsxyvzs5k85wg9"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/572003398d1bba572fa9f6332b25ade9306bf718/recipes/help-find-org-mode"; + sha256 = "149rd61bcvgrwhnhlqriw6fn6fr4pwr4ynmj2bwcp558nwf0py0b"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/help-find-org-mode"; + license = lib.licenses.free; + }; + }) {}; helpful = callPackage ({ dash , dash-functional , elisp-refs @@ -24605,12 +25885,12 @@ melpaBuild { pname = "helpful"; ename = "helpful"; - version = "0.12"; + version = "0.16"; src = fetchFromGitHub { owner = "Wilfred"; repo = "helpful"; - rev = "5f3fb4752de3868e688ff2046790bda569bb6e23"; - sha256 = "0z56icc8pmm537n34gy8a50a0i42glr58i860xmzlpxdn9f66dxp"; + rev = "a20eef8fd3fb33abe35dd2ed1590184bc2975b69"; + sha256 = "1pzlx3galyryd3hd84hnd7r5s6yl9sdrfhy1s6dgz40glw41wmpr"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/889d34b654de13bd413d46071a5ff191cbf3d157/recipes/helpful"; @@ -24758,12 +26038,12 @@ melpaBuild { pname = "highlight-blocks"; ename = "highlight-blocks"; - version = "0.1.16"; + version = "0.1.17"; src = fetchFromGitHub { owner = "Fanael"; repo = "highlight-blocks"; - rev = "9c4240a5d16008db430d1a81c76dad474d3deb0c"; - sha256 = "0c65jk00j88qxfki2g88hy9g6n92rzskwcn1fbmwcw3qgaz4b6w5"; + rev = "33cf3d36662faa36c86c8d53e4d5a3922efa3eb8"; + sha256 = "04v5y04v4n06ig8zld6axrxpz07s70sn5ckxcy8gnz5qm0zvr7mx"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/eaf524488c408483ea8f2c3a71174b1b5fc3f5da/recipes/highlight-blocks"; @@ -24776,6 +26056,31 @@ license = lib.licenses.free; }; }) {}; + highlight-context-line = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "highlight-context-line"; + ename = "highlight-context-line"; + version = "2.0"; + src = fetchFromGitHub { + owner = "ska2342"; + repo = "highlight-context-line"; + rev = "c3257c0ca9dba76167bbd7e0718a65ecd26ef26f"; + sha256 = "10mv1hd33msafp3r62p9zhwivy0l876ci9xjh7nqc9621qxxd5rw"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/00df721571ff67fe158251fa843c8f515ded3469/recipes/highlight-context-line"; + sha256 = "0zmqcfsr2j0m2l76c8h6lmdqwrd1b38gi6yp5sdib0m4vj9d0pnd"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/highlight-context-line"; + license = lib.licenses.free; + }; + }) {}; highlight-defined = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -24940,14 +26245,14 @@ ename = "hindent"; version = "5.2.6"; src = fetchFromGitHub { - owner = "chrisdone"; + owner = "commercialhaskell"; repo = "hindent"; rev = "dc47d8b98ebd6ee7fdd7de5f75e65e5b5eedf72f"; sha256 = "0xp3mpiyrc6886bi9rih4vbmsar56h8i5sapigd3gn2pv2v688bc"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/dbae71a47446095f768be35e689025aed57f462f/recipes/hindent"; - sha256 = "1f3vzgnqigwbwvglxv0ziz3kyp5dxjraw3vlghkpw39f57mky4xz"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/9a15a17a5aa78aed72958b2a1bde53f0c0ab5be7/recipes/hindent"; + sha256 = "0az2zhdi73sa3h1q1c0bayqdk22a7ngrvsg9fr8b0i39sn3w8y07"; name = "recipe"; }; packageRequires = [ cl-lib ]; @@ -25115,12 +26420,12 @@ melpaBuild { pname = "hl-todo"; ename = "hl-todo"; - version = "1.9.0"; + version = "2.2.0"; src = fetchFromGitHub { owner = "tarsius"; repo = "hl-todo"; - rev = "770c9862ed79a2437b764050a1006c62f9e32747"; - sha256 = "0vp8n7ymy7i3db2mqgj2a3sbd2hisj9kjvl6apn6y0bpw5vknfdy"; + rev = "099d0f6d583009b0c5de8e51e38972d6e14e0587"; + sha256 = "1sfpwwkhfv6a9hd8kgb4h9axc3x2mq3z32i6iaz1q1l6w6k8v0r3"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7c262f6a1a10e8b3cc30151cad2e34ceb66c6ed7/recipes/hl-todo"; @@ -25300,12 +26605,12 @@ melpaBuild { pname = "htmlize"; ename = "htmlize"; - version = "1.53"; + version = "1.54"; src = fetchFromGitHub { owner = "hniksic"; repo = "emacs-htmlize"; - rev = "1bc2f1b0feb852fa5a289a1d72646b16ac84adf1"; - sha256 = "0dr235c0z8is3pi5xdgqyqljg6px0b2aya6qb79zkyi477bmz4ip"; + rev = "a8b73f1393b2d73541ba4a8fd716c0d07ce50276"; + sha256 = "1d5hj8wibp1lxs697y7i4yrpv9gqq821gxmpqqkn2jwrb70nsngl"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/075aa00a0757c6cd1ad392f0300bf5f1b937648d/recipes/htmlize"; @@ -25546,8 +26851,8 @@ sha256 = "0ln4z2796ycy33g5jcxkqvm7638qxy4sipsab7d2864hh700cikg"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/a4375d8ae519290fd5018626b075c226016f951d/recipes/hydra"; - sha256 = "1c59l43p39ins3dn9690gm6llwm4b9p0pk78lip0dwlx736drdbw"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/82d9e1bfd501ed2d1cd11319c5e1eb17482e8922/recipes/hydra"; + sha256 = "1s1hj70jjbira054q8ly1pcr0818hh91qnhj0zwbv7milmvv2wwd"; name = "recipe"; }; packageRequires = [ cl-lib ]; @@ -25556,6 +26861,33 @@ license = lib.licenses.free; }; }) {}; + hyperspace = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , s }: + melpaBuild { + pname = "hyperspace"; + ename = "hyperspace"; + version = "0.8.4"; + src = fetchFromGitHub { + owner = "ieure"; + repo = "hyperspace-el"; + rev = "5fdd680dc2e7b8a064cfdf93d6948546ff51afc2"; + sha256 = "1r5h55zcm5n2vx126q16ndhgdchcj59qqcybhsqw69vk02x96arg"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/0696a12acba676015640de63fc6e011128bca71c/recipes/hyperspace"; + sha256 = "0ya41c9bxvspj81n5209p9b4c9p1i6jcp710n9i9jawpahwpqlkw"; + name = "recipe"; + }; + packageRequires = [ emacs s ]; + meta = { + homepage = "https://melpa.org/#/hyperspace"; + license = lib.licenses.free; + }; + }) {}; ialign = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -25684,6 +27016,31 @@ license = lib.licenses.free; }; }) {}; + idle-highlight-in-visible-buffers-mode = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "idle-highlight-in-visible-buffers-mode"; + ename = "idle-highlight-in-visible-buffers-mode"; + version = "0.2.0"; + src = fetchFromGitHub { + owner = "ignacy"; + repo = "idle-highlight-in-visible-buffers-mode"; + rev = "8d8de309d5bd4b035c01bf7f0cfc6e079c79d898"; + sha256 = "194r7f4ngwx03n74rs26hqn9wypn9idjizvmffpsjpxfr7wr9z7l"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/b5a533be3b8dea556438d93ac48853dd3a9690f1/recipes/idle-highlight-in-visible-buffers-mode"; + sha256 = "0kv06qlv1zp5hwaya0l90z6d5lhxcg69qac6x24ky6kf97vcdq72"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/idle-highlight-in-visible-buffers-mode"; + license = lib.licenses.free; + }; + }) {}; idle-highlight-mode = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -25771,12 +27128,12 @@ melpaBuild { pname = "ido-completing-read-plus"; ename = "ido-completing-read+"; - version = "4.11"; + version = "4.12"; src = fetchFromGitHub { owner = "DarwinAwardWinner"; repo = "ido-completing-read-plus"; - rev = "03bdf989a9af88d4eeed4003ae74c98baf58ff72"; - sha256 = "08d77ysbzd25rm8rjslckhqlsyim047c9zwq2ybbzqpjy3q52qfy"; + rev = "d56125deac540a2ab396d6d71f7c1eeae7f37588"; + sha256 = "11wn2xf7dbgfhwdrjazshf4c5im1yxnqpyvq8633fjc1cn9s7vxw"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6104efc035bcf469d133ab9a2caf42c9d4482334/recipes/ido-completing-read+"; @@ -26281,6 +27638,32 @@ license = lib.licenses.free; }; }) {}; + immaterial-theme = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "immaterial-theme"; + ename = "immaterial-theme"; + version = "0.1.2"; + src = fetchFromGitHub { + owner = "petergardfjall"; + repo = "emacs-immaterial-theme"; + rev = "b7ad831e49f5f4512f216f1f99b2d0eba3cc0815"; + sha256 = "0p363khj7mz9dq0dm12ksd6aamrkmm5a7vcsp0j8cmbc6r6a060c"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/9a95d88bb00b1313da82929bc2733d726d2041d7/recipes/immaterial-theme"; + sha256 = "15gwqjfpls7lqc37s70vnhycnry5g9grn6shk2wpijrxfnmyqjhj"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/immaterial-theme"; + license = lib.licenses.free; + }; + }) {}; immutant-server = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -26446,26 +27829,26 @@ , fetchFromGitHub , fetchurl , js2-mode + , js2-refactor , lib , melpaBuild - , seq - , websocket }: + , seq }: melpaBuild { pname = "indium"; ename = "indium"; - version = "1.2.0"; + version = "2.1.1"; src = fetchFromGitHub { owner = "NicolasPetton"; repo = "Indium"; - rev = "5ece767ea30a350dcdb1a4defaca174e85efedc5"; - sha256 = "1djkzjxv7idqg5pmbqf60lmvibp3ccvgdkdwb48wzn2yvnqr2vw6"; + rev = "fd5de13204b3b5f0d2a598fbe74c5a6ac13125bd"; + sha256 = "1v2r9k589l3rsxvijs783dsk5fpl00hrpk6xffirc6rhbkij9bjh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4292058cc6e31cabc0de575134427bce7fcef541/recipes/indium"; sha256 = "024ljx7v8xahmr8jm41fiy8i5jbg48ybqp5n67k4jwg819cz8wvl"; name = "recipe"; }; - packageRequires = [ company emacs js2-mode seq websocket ]; + packageRequires = [ company emacs js2-mode js2-refactor seq ]; meta = { homepage = "https://melpa.org/#/indium"; license = lib.licenses.free; @@ -26805,29 +28188,6 @@ license = lib.licenses.free; }; }) {}; - instapaper = callPackage ({ fetchhg - , fetchurl - , lib - , melpaBuild }: - melpaBuild { - pname = "instapaper"; - version = "0.9.5"; - src = fetchhg { - url = "https://bitbucket.com/jfm/emacs-instapaper"; - rev = "8daa0058ede7"; - sha256 = "0krscid3yz2b7kv75gd9fs92zgfl7pnl77dbp5gycv5rmw5mivp8"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/instapaper"; - sha256 = "1yibdpj3lx6vr33s75s1y415lxqljrk7pqc901f8nfa01kca7axn"; - name = "instapaper"; - }; - packageRequires = []; - meta = { - homepage = "https://melpa.org/#/instapaper"; - license = lib.licenses.free; - }; - }) {}; intel-hex-mode = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -26914,12 +28274,12 @@ melpaBuild { pname = "intero"; ename = "intero"; - version = "0.1.31"; + version = "0.1.37"; src = fetchFromGitHub { owner = "commercialhaskell"; repo = "intero"; - rev = "14a31536061fa6ad643456f79abe39636c48ffd9"; - sha256 = "0gabipr8bvxhigidkivczqyv67nl6ylf0gipb0f4lxs8mcnwzcvn"; + rev = "e5ca92990f0647d2d0e4a6009534910e4d2c7f00"; + sha256 = "0bn4al2q324zlazhlsca7gw2d3s4nmvd24spdqwimfq2y769pb73"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1b56ca344ad944e03b669a9974e9b734b5b445bb/recipes/intero"; @@ -26932,30 +28292,6 @@ license = lib.licenses.free; }; }) {}; - inverse-acme-theme = callPackage ({ fetchFromGitHub - , fetchurl - , lib - , melpaBuild }: - melpaBuild { - pname = "inverse-acme-theme"; - version = "1.12.0"; - src = fetchFromGitHub { - owner = "dcjohnson"; - repo = "inverse-acme-theme"; - rev = "e57f494fd94e49321a6396f530b8a13bae8b57df"; - sha256 = "16f9vszl0f1dkjvqk5hxi570gf4l8p6fk27p0d7j11grsck0yzly"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/1c44dbc8d3ca29d8715af755b845af7236e95406/recipes/inverse-acme-theme"; - sha256 = "03g6h8dpn42qnr593ryhj22lj1h2nx4rdr1knhkvxygfv3c4lgh5"; - name = "inverse-acme-theme"; - }; - packageRequires = []; - meta = { - homepage = "https://melpa.org/#/inverse-acme-theme"; - license = lib.licenses.free; - }; - }) {}; iplayer = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -26989,12 +28325,12 @@ melpaBuild { pname = "ipython-shell-send"; ename = "ipython-shell-send"; - version = "1.0.2"; + version = "1.1.1"; src = fetchFromGitHub { owner = "jackkamm"; repo = "ipython-shell-send-el"; - rev = "36523a387c15ee1652a5b0e291d4d4838da5e912"; - sha256 = "1iba7jpagc0n436pbylpcbwbdxk6bw7y0i7pjgxxwfm8akaj9i68"; + rev = "0faed86faff02a361f23ce5fc923d0e9b09bb2da"; + sha256 = "1nx92rmxgrxy9hfi7f2ny3q4zqrzy6jalr85lall7r74aifprrkv"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9d3513d38f94de4d86124b5d5a33be8d5f0bfa43/recipes/ipython-shell-send"; @@ -27041,12 +28377,12 @@ melpaBuild { pname = "irony"; ename = "irony"; - version = "1.2.0"; + version = "1.3.1"; src = fetchFromGitHub { owner = "Sarcasm"; repo = "irony-mode"; - rev = "78b06aa2df5251adaabb6c749febc1f1bd2ad605"; - sha256 = "0nhjrnlmss535jbshjjd30vydbr8py21vkx4p294w6d8vg2rssf8"; + rev = "79d5fc6152659f62b0f2e4df75665f5b625e9642"; + sha256 = "09i2f99ysisv2d4a0cpn75c0azhbashvz6ja5xy09i2a5svzgzpx"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d2b6a8d57b192325dcd30fddc9ff8dd1516ad680/recipes/irony"; @@ -27084,6 +28420,32 @@ license = lib.licenses.free; }; }) {}; + isolate = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "isolate"; + ename = "isolate"; + version = "1.2"; + src = fetchFromGitHub { + owner = "casouri"; + repo = "isolate"; + rev = "700aa3c7945580c876d29c3c064282c33ebb365c"; + sha256 = "0j96rzfabn6lgv9xxyndpq3d2nys5z1brrrd7bga786zzwlp78a9"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/c8091f8d72c24a103f6dcaadc18bbec745c1c3d3/recipes/isolate"; + sha256 = "1ldyvw01nq2ynxaaqmw9ihk9kwfss9rqpaydn9f41bqj15xrypjc"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/isolate"; + license = lib.licenses.free; + }; + }) {}; iter2 = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -27092,12 +28454,12 @@ melpaBuild { pname = "iter2"; ename = "iter2"; - version = "0.9.7"; + version = "0.9.10"; src = fetchFromGitHub { owner = "doublep"; repo = "iter2"; - rev = "f8fb8dc7230cdcd37c5d0e4e5a432125c13816d2"; - sha256 = "13q8p9cjz9c9j2l4vlwy6nvwh9y3b0aclg1b32zfdqhs6kmypisd"; + rev = "fc1fcea5379bc7728a25dd81546886213e3db6fa"; + sha256 = "1gvm5gfgmcw4mibi8899x9ry1zqm3ij6yl0dnmdqmv9dbv1zlqp2"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d94316660051ee0ba0c12e380e6203986440368f/recipes/iter2"; @@ -27118,12 +28480,12 @@ melpaBuild { pname = "ivy"; ename = "ivy"; - version = "0.10.0"; + version = "0.11.0"; src = fetchFromGitHub { owner = "abo-abo"; repo = "swiper"; - rev = "4a2cee03519f98cf95b29905dec2566a39ff717e"; - sha256 = "14vnigqb5c3yi4q9ysw1fiwdqyqwyklqpb9wnjf81chm7s2mshnr"; + rev = "525b2e4887dd839045313f32d3ddeb5cab4c7a7e"; + sha256 = "009n8zjycs62cv4i1k9adbb284wz2w3r13xki2740sj34k683v13"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/06c24112a5e17c423a4d92607356b25eb90a9a7b/recipes/ivy"; @@ -27226,6 +28588,33 @@ license = lib.licenses.free; }; }) {}; + ivy-explorer = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , ivy + , lib + , melpaBuild }: + melpaBuild { + pname = "ivy-explorer"; + ename = "ivy-explorer"; + version = "0.3.2"; + src = fetchFromGitHub { + owner = "clemera"; + repo = "ivy-explorer"; + rev = "14adb6164f1d1646f503c3e4bd9aa559805f93d7"; + sha256 = "0ffajyl21vz4662738dgga140yrkkcfynhhnk42fzrn5z5zqlwp1"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/8b590a6e0d11fda3d93e4d92f847138f8968b332/recipes/ivy-explorer"; + sha256 = "088ciy051b3kcd6anm66fnkg510c72hrfgdbgdf4mb9z4d9bk056"; + name = "recipe"; + }; + packageRequires = [ emacs ivy ]; + meta = { + homepage = "https://melpa.org/#/ivy-explorer"; + license = lib.licenses.free; + }; + }) {}; ivy-feedwrangler = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -27290,12 +28679,12 @@ melpaBuild { pname = "ivy-hydra"; ename = "ivy-hydra"; - version = "0.10.0"; + version = "0.11.0"; src = fetchFromGitHub { owner = "abo-abo"; repo = "swiper"; - rev = "4a2cee03519f98cf95b29905dec2566a39ff717e"; - sha256 = "14vnigqb5c3yi4q9ysw1fiwdqyqwyklqpb9wnjf81chm7s2mshnr"; + rev = "525b2e4887dd839045313f32d3ddeb5cab4c7a7e"; + sha256 = "009n8zjycs62cv4i1k9adbb284wz2w3r13xki2740sj34k683v13"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/06c24112a5e17c423a4d92607356b25eb90a9a7b/recipes/ivy-hydra"; @@ -27374,12 +28763,12 @@ melpaBuild { pname = "ivy-prescient"; ename = "ivy-prescient"; - version = "2.0"; + version = "2.2.2"; src = fetchFromGitHub { owner = "raxod502"; repo = "prescient.el"; - rev = "515959a2523b43608c9d06dcf8adde8911ce42b9"; - sha256 = "1k8xk154sql3b2b7hpyxslcgl88aaxq5ak2sr760jsq2qk7878bw"; + rev = "562d25a1c3c5b2e269d82f374f450e6aa90a970e"; + sha256 = "1ncplx5p3cffyzg9ygzqqxj0vpvwrz9rp2n4z6c375a78fyydrk0"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a92495d09689932ab9f0b716078ceeeb9cc154e0/recipes/ivy-prescient"; @@ -27420,6 +28809,33 @@ license = lib.licenses.free; }; }) {}; + ivy-rich = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , ivy + , lib + , melpaBuild }: + melpaBuild { + pname = "ivy-rich"; + ename = "ivy-rich"; + version = "0.1.4"; + src = fetchFromGitHub { + owner = "Yevgnen"; + repo = "ivy-rich"; + rev = "25e36b10eff7fd299fcc03f15288b4fff33974e4"; + sha256 = "070y28ldp5dvh12b7qv27mqdgxiq2dll7fx432hb2i6mk8lz5hpp"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/ivy-rich"; + sha256 = "1il1lhxxg694j9w65qwzjm4p4l3q1h1hfndybj6z1cb72ijw27fr"; + name = "recipe"; + }; + packageRequires = [ emacs ivy ]; + meta = { + homepage = "https://melpa.org/#/ivy-rich"; + license = lib.licenses.free; + }; + }) {}; ivy-rtags = callPackage ({ fetchFromGitHub , fetchurl , ivy @@ -27429,7 +28845,7 @@ melpaBuild { pname = "ivy-rtags"; ename = "ivy-rtags"; - version = "2.18"; + version = "2.31"; src = fetchFromGitHub { owner = "Andersbakken"; repo = "rtags"; @@ -27551,29 +28967,6 @@ license = lib.licenses.free; }; }) {}; - jabber = callPackage ({ fetchgit - , fetchurl - , lib - , melpaBuild }: - melpaBuild { - pname = "jabber"; - version = "0.8.92"; - src = fetchgit { - url = "https://git.code.sf.net/p/emacs-jabber/git"; - rev = "2999f58619dd9c20cc6cac8060c4c850a504cbbd"; - sha256 = "03x93wkd8syj2ybf5ymwcm6khx0h5nhrl8pyync1520294pq6i1i"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/caaa21f235c4864f6008fb454d0a970a2fd22a86/recipes/jabber"; - sha256 = "0saajvfpzgcsqa7h7aa6l0bns6swr40c46md6s0d90x9lrvwp7ws"; - name = "jabber"; - }; - packageRequires = []; - meta = { - homepage = "https://melpa.org/#/jabber"; - license = lib.licenses.free; - }; - }) {}; jade-mode = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -27874,12 +29267,12 @@ melpaBuild { pname = "jq-mode"; ename = "jq-mode"; - version = "0.3.0"; + version = "0.4.1"; src = fetchFromGitHub { owner = "ljos"; repo = "jq-mode"; - rev = "8384a1926cc22000e5e42f86f28d807fd6149f8e"; - sha256 = "0fa84jln0vddrc218s8scz6hx12ym0wimh6dm58wqxias7gm9fgk"; + rev = "d6bbd83baf0746f22564f7ae92db44e06da6e08c"; + sha256 = "1sk603258gvnfrvl641xfmgapg67z44wnlx6qba73wn3f2055765"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/318705966e26e58f87b53c115c519db95874ac1c/recipes/jq-mode"; @@ -27900,12 +29293,12 @@ melpaBuild { pname = "js-auto-format-mode"; ename = "js-auto-format-mode"; - version = "1.1.0"; + version = "1.1.1"; src = fetchFromGitHub { owner = "ybiquitous"; repo = "js-auto-format-mode"; - rev = "1558fb539e0beb7f98901280d695968a2351384d"; - sha256 = "16l2mjklazmfpdin3vz3ddf083phhyrhi18n0rfhv5rwh9m23wr9"; + rev = "59caa137c4beec4dec4a7d7ebf8bcb6af44d72f0"; + sha256 = "10xxg8lc4g9wdl4lz7kx6la23agpbq4ls1mn5d4y364j8nfcxf9g"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2d3be16771b5b5fde639da3ee97890620354ee7a/recipes/js-auto-format-mode"; @@ -28005,12 +29398,12 @@ melpaBuild { pname = "js2-mode"; ename = "js2-mode"; - version = "20180301"; + version = "20190219"; src = fetchFromGitHub { owner = "mooz"; repo = "js2-mode"; - rev = "38e425785d5ea4600c3642f6500062ecedf694a4"; - sha256 = "1afvm8cp9h0v0pk7v3jwag6f608v1787l7m7a9541ld616cgb5x7"; + rev = "58006dfafbad43213162e21f57112e5e193caed2"; + sha256 = "02nrqb1khk7mhr4417pdlbb9whmyfpjjrsvg8lzsr8wlz9l3hqkg"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/js2-mode"; @@ -28139,12 +29532,12 @@ melpaBuild { pname = "json-navigator"; ename = "json-navigator"; - version = "0.1.0"; + version = "0.1.1"; src = fetchFromGitHub { owner = "DamienCassou"; repo = "json-navigator"; - rev = "bc5634fc78d2e43ebd3c255350829877f3e4549c"; - sha256 = "1j2lic9sn00j6pzq5qslv9m2z0rvsxkvz73z8swp7vcrsgz7qvqd"; + rev = "f4cde60c4203fc70cc7ff22ed1d6579159ce2598"; + sha256 = "0xrjbx6rkm8a6pmzhdph0r6l468hj827dvvq2hxhcm8v5gk6m690"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/62d4d68bd473652b80988a68250e9190b886ad6e/recipes/json-navigator"; @@ -28259,6 +29652,32 @@ license = lib.licenses.free; }; }) {}; + julia-repl = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "julia-repl"; + ename = "julia-repl"; + version = "1.0.2"; + src = fetchFromGitHub { + owner = "tpapp"; + repo = "julia-repl"; + rev = "d8b94c6dbfa47fd51540b9d5b1bb0c2dfce3ebc2"; + sha256 = "027ib0i5af23s3kxsfbxh3jgw944crry0v4c7yxz9l8r8p3wpq1k"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/9a2a494969a9caf2f4513b12504379c9685047dc/recipes/julia-repl"; + sha256 = "1k8a54s7g64zasmmnywygr0ra3s3din5mkqb7b5van2l0d4hcmzn"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/julia-repl"; + license = lib.licenses.free; + }; + }) {}; jump = callPackage ({ cl-lib ? null , fetchFromGitHub , fetchurl @@ -28312,6 +29731,36 @@ license = lib.licenses.free; }; }) {}; + jupyter = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , simple-httpd + , websocket + , zmq }: + melpaBuild { + pname = "jupyter"; + ename = "jupyter"; + version = "0.7.3"; + src = fetchFromGitHub { + owner = "dzop"; + repo = "emacs-jupyter"; + rev = "83af335166a28e131159fc95586a0d0abe8efde4"; + sha256 = "1bq6lsip5m8ci8j8h26lj892zims6d76jv713bry3pzc66lj6570"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/a63a933e193a52e60950331ec982c5f5cdfaa5d9/recipes/jupyter"; + sha256 = "0p83mkvip1gn5ag2j6s68wzfgg2sf15iyxh7ylads3yw44h26wvi"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs simple-httpd websocket zmq ]; + meta = { + homepage = "https://melpa.org/#/jupyter"; + license = lib.licenses.free; + }; + }) {}; jvm-mode = callPackage ({ dash , emacs , fetchFromGitHub @@ -28454,12 +29903,12 @@ melpaBuild { pname = "kaolin-themes"; ename = "kaolin-themes"; - version = "1.3.5"; + version = "1.5.0"; src = fetchFromGitHub { owner = "ogdenwebb"; repo = "emacs-kaolin-themes"; - rev = "e183b7adb06338046f1a17a94e18ec67e62d4e42"; - sha256 = "1mvspqll53p8rz66588lvdflwfx4av6cnzigid6n10d1cy35p5vg"; + rev = "08eac2883e87ad8cf17331a86fa447a7a8bc73b4"; + sha256 = "06wl0zmxxv2gx9cka80sa7s3kra756nn8w1d6z4d5banwcc8nmjm"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/043a4e3bd5301ef8f4df2cbda0b3f4111eb399e4/recipes/kaolin-themes"; @@ -28581,12 +30030,12 @@ melpaBuild { pname = "keycast"; ename = "keycast"; - version = "0.1.1"; + version = "0.1.3"; src = fetchFromGitHub { owner = "tarsius"; repo = "keycast"; - rev = "0d28c26b07a062ab58c01c6cbedc3e68bd4ec8a1"; - sha256 = "0wfy5wbr150y57mlzsxhb6bq9ycqj2jk5i6nhwl4q8b6xd3mh6p6"; + rev = "7c45ff05c1e9b50a3304da71906764b6c4f6f3a4"; + sha256 = "0bbzdjy66f8xpckkrcic1r9g9zw3d243nvp5mm4yfc9qdnx1hr6p"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/aaaf62c586818f2493667ad6ec8877234a58da53/recipes/keycast"; @@ -28813,12 +30262,12 @@ melpaBuild { pname = "killer"; ename = "killer"; - version = "0.2.2"; + version = "1.0.0"; src = fetchFromGitHub { owner = "tarsius"; repo = "killer"; - rev = "52256640aebbb8c25f8527843c2425b848031cd8"; - sha256 = "0imylcaiwpzvvb3g8kpsna1vk7v7bwdjfcsa98i41m1rv9yla86l"; + rev = "ace0547944933440384ceeb5876b1f68c082d540"; + sha256 = "06nzxd9nc1d569354xj7w88i0y5l99pyag691aribsh771rxbfz4"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/bd8c3ec8fa272273128134dea96c0c999a524549/recipes/killer"; @@ -28865,12 +30314,12 @@ melpaBuild { pname = "kiwix"; ename = "kiwix"; - version = "0.4.0"; + version = "1.0.0"; src = fetchFromGitHub { owner = "stardiviner"; repo = "kiwix.el"; - rev = "b84a5ff33efdf13dda22ed32ea37a09b15cd1690"; - sha256 = "07nb141hxjabin8vr14hpn80vzrjaq1b3h6p76m0bwxvzbi8765r"; + rev = "c662f3dc5d924a4b64b7af4af28f15f27b7cea1e"; + sha256 = "0i11sfnqvjqqb625cgfzibs6yszx891y4dy7fd6wzmdpclcyzr8z"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/kiwix"; @@ -29067,6 +30516,33 @@ license = lib.licenses.free; }; }) {}; + language-id = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "language-id"; + ename = "language-id"; + version = "0.1"; + src = fetchFromGitHub { + owner = "lassik"; + repo = "emacs-language-id"; + rev = "9145c75eaa41a7a9deda928f704b99db056d3e9d"; + sha256 = "10dwrb610jdal6ifpj34mmy8qqbca2sgfmvn4p4qpcc967sv4f1r"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/d03af6375bc7ba4612c43dea805d7f392f046f87/recipes/language-id"; + sha256 = "0p7hg005bmzy38sv2881fq1x2i7yjdhfjbki4y2av485c418rqz8"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs ]; + meta = { + homepage = "https://melpa.org/#/language-id"; + license = lib.licenses.free; + }; + }) {}; latex-extra = callPackage ({ auctex , cl-lib ? null , fetchFromGitHub @@ -29101,12 +30577,12 @@ melpaBuild { pname = "latex-math-preview"; ename = "latex-math-preview"; - version = "0.7.2"; + version = "0.7.3"; src = fetchFromGitLab { owner = "latex-math-preview"; repo = "latex-math-preview"; - rev = "c1c87c4c5501f98b97af19f7e3454a2369265edc"; - sha256 = "118xrgrnwsmsysmframf6bmb0gkrdrm3jbkgivzxs41cw92fhbzw"; + rev = "90fd86da2d9514882146a5db40cb916fc533cf55"; + sha256 = "063vnjhnxm2z9shkdv1j8kwyf37syczfkzxzh5z7w7aidvx55jzj"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9e413b7684e9199510b00035825aa861d670e072/recipes/latex-math-preview"; @@ -29179,12 +30655,12 @@ melpaBuild { pname = "lcr"; ename = "lcr"; - version = "0.9"; + version = "1.1"; src = fetchFromGitHub { owner = "jyp"; repo = "lcr"; - rev = "3bc341205bba437c8fec4fefefaf39793c0405ae"; - sha256 = "0jvdnb3fn33wq7ixb7ayrallq1j5gc9nh3i3nmy03yg11h60h1am"; + rev = "c14f40692292d59156c7632dbdd2867c086aa75f"; + sha256 = "0mc55icihxqpf8b05990q1lc2nj2792wcgyr73xsiqx0963sjaj8"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/29374d3da932675b7b3e28ab8906690dad9c9cbe/recipes/lcr"; @@ -29229,6 +30705,33 @@ license = lib.licenses.free; }; }) {}; + ledger-import = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , ledger-mode + , lib + , melpaBuild }: + melpaBuild { + pname = "ledger-import"; + ename = "ledger-import"; + version = "1.1.0"; + src = fetchFromGitHub { + owner = "DamienCassou"; + repo = "ledger-import"; + rev = "2c199fcc8671c2ec82e62cea7716289426b7407c"; + sha256 = "0szi5k05qja28nx0rnl3amh3qf2f470sycdjgmpazgqh4zpkngsp"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/4a1e2a9546b8b40f5f880197cb8166a6a715451f/recipes/ledger-import"; + sha256 = "1lcibmjk2d49vsa89wri7bbf695mjq2ikddz3nlzb6ljywsnqzm4"; + name = "recipe"; + }; + packageRequires = [ emacs ledger-mode ]; + meta = { + homepage = "https://melpa.org/#/ledger-import"; + license = lib.licenses.free; + }; + }) {}; ledger-mode = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -29487,6 +30990,31 @@ license = lib.licenses.free; }; }) {}; + linguistic = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "linguistic"; + ename = "linguistic"; + version = "0.2"; + src = fetchFromGitHub { + owner = "andcarnivorous"; + repo = "linguistic"; + rev = "18e28a7e54efb140c17e16836bc5dac766c9522e"; + sha256 = "12b9i3rdh16pq9q88bsg771y11rrbj9w74v2qr2bfymbp358qk17"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/aedc03a846b873edf2426c422abb8c75732158f8/recipes/linguistic"; + sha256 = "0yhyrr7yknvky6fb6js0lfxbl13i6a218kya7cpj2dpzdckcbhca"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/linguistic"; + license = lib.licenses.free; + }; + }) {}; link = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -29512,30 +31040,6 @@ license = lib.licenses.free; }; }) {}; - link-hint = callPackage ({ fetchFromGitHub - , fetchurl - , lib - , melpaBuild }: - melpaBuild { - pname = "link-hint"; - version = "0.1"; - src = fetchFromGitHub { - owner = "noctuid"; - repo = "link-hint.el"; - rev = "d26b5330e6e42b4bed4e4730054b4c5e308ceab2"; - sha256 = "1v4fadxv7ym6lc09nd2xpz2k5vrikjv7annw99ii5cqrwhqa5838"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/d24b48fe0bc127ae6ac4084be8059aacb8445afd/recipes/link-hint"; - sha256 = "12fb2zm9jnh92fc2nzmzmwjlhi64rhakwbh9lsydx9svsvkgcs89"; - name = "link-hint"; - }; - packageRequires = []; - meta = { - homepage = "https://melpa.org/#/link-hint"; - license = lib.licenses.free; - }; - }) {}; linum-relative = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -29781,6 +31285,33 @@ license = lib.licenses.free; }; }) {}; + literate-elisp = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "literate-elisp"; + ename = "literate-elisp"; + version = "0.4"; + src = fetchFromGitHub { + owner = "jingtaozf"; + repo = "literate-elisp"; + rev = "0724b62d98cb9d9c7f3d171c322a1059648746f5"; + sha256 = "0nnfp8rj4avn462w3fwln8c7sai3psz7kp97r3iyq4v9wavgdni2"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/fd4c1c4da2a5571babda9a29a56b8972ad0687c0/recipes/literate-elisp"; + sha256 = "10vc3m54jp2wqjrmn9plq6lb5zfiy6jy0acpp09q3z325z0sql9j"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs ]; + meta = { + homepage = "https://melpa.org/#/literate-elisp"; + license = lib.licenses.free; + }; + }) {}; live-code-talks = callPackage ({ cl-lib ? null , emacs , fetchFromGitHub @@ -29817,12 +31348,12 @@ melpaBuild { pname = "live-py-mode"; ename = "live-py-mode"; - version = "2.22.0"; + version = "2.25.0"; src = fetchFromGitHub { owner = "donkirkby"; repo = "live-py-plugin"; - rev = "ab2f9bea32dbad11a6464a4880e5487645a0f65a"; - sha256 = "0w3kpszsrh0gj0a62iqhnhm3flmmgq0pl0d6w5r61mvlq9wck5dv"; + rev = "63140187ba2b68c2c55d91aa7a07b5c5d15422d9"; + sha256 = "0arhhl684p0nhxhc53sbhcc1rmv3v107s5j0ymwnfa4rnyahz2ii"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c7615237e80b46b5c50cb51a3ed5b07d92566fb7/recipes/live-py-mode"; @@ -29860,30 +31391,6 @@ license = lib.licenses.free; }; }) {}; - lms = callPackage ({ emacs - , fetchhg - , fetchurl - , lib - , melpaBuild }: - melpaBuild { - pname = "lms"; - version = "0.7"; - src = fetchhg { - url = "https://bitbucket.com/inigoserna/lms.el"; - rev = "f07ac3678e27"; - sha256 = "15l3nfrddblfzqxgvf0dmmsk4h5l80l6r2kgxcfk8s01msjka3sl"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/b8be8497494b8543a8257c9ea92444baf7674951/recipes/lms"; - sha256 = "1ckrh6qbh5y2y3yzl2iyq8nqlpy4qp6vzc72ijcgayvcflb01vr1"; - name = "lms"; - }; - packageRequires = [ emacs ]; - meta = { - homepage = "https://melpa.org/#/lms"; - license = lib.licenses.free; - }; - }) {}; load-relative = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -30012,6 +31519,7 @@ }) {}; logview = callPackage ({ datetime , emacs + , extmap , fetchFromGitHub , fetchurl , lib @@ -30019,19 +31527,19 @@ melpaBuild { pname = "logview"; ename = "logview"; - version = "0.11.1"; + version = "0.12"; src = fetchFromGitHub { owner = "doublep"; repo = "logview"; - rev = "902c881f5e1ca802761b856b3945bd418847dd79"; - sha256 = "1df41wabldg1ahcbqi5szwml5hqdjm6p3hj5b8ajkkagykrnh8xg"; + rev = "bd662d467dbd7c93cfe1e3058e4f11c49314fd6a"; + sha256 = "03s4q5xdz84cjn4qkfhsc3l9y3v5avrl2i5dby4bgsg2zj7n7f73"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1df3c11ed7738f32e6ae457647e62847701c8b19/recipes/logview"; sha256 = "0gks3j5avx8k3427a36lv7gr95id3cylaamgn5qwbg14s54y0vsh"; name = "recipe"; }; - packageRequires = [ datetime emacs ]; + packageRequires = [ datetime emacs extmap ]; meta = { homepage = "https://melpa.org/#/logview"; license = lib.licenses.free; @@ -30088,56 +31596,132 @@ license = lib.licenses.free; }; }) {}; - lsp-mode = callPackage ({ emacs + lsp-java = callPackage ({ dash + , dash-functional + , emacs + , f , fetchFromGitHub , fetchurl + , ht , lib - , melpaBuild }: + , lsp-mode + , markdown-mode + , melpaBuild + , request }: + melpaBuild { + pname = "lsp-java"; + ename = "lsp-java"; + version = "2.1"; + src = fetchFromGitHub { + owner = "emacs-lsp"; + repo = "lsp-java"; + rev = "17a1ec97e30b0690c5f79bc8223f23b7e7dfe577"; + sha256 = "11gpd3yy2018s6m3s3pzkhknhgbs7cf38jsg6ma5lidmygjivpjc"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/c03cb07862c5f35487fb4fb3cc44623774724717/recipes/lsp-java"; + sha256 = "0rrl9mh25w1avvyww840d3yh8nw0shirspxl2nxqwwdaymbkg2wr"; + name = "recipe"; + }; + packageRequires = [ + dash + dash-functional + emacs + f + ht + lsp-mode + markdown-mode + request + ]; + meta = { + homepage = "https://melpa.org/#/lsp-java"; + license = lib.licenses.free; + }; + }) {}; + lsp-mode = callPackage ({ dash + , dash-functional + , emacs + , f + , fetchFromGitHub + , fetchurl + , ht + , lib + , melpaBuild + , spinner }: melpaBuild { pname = "lsp-mode"; ename = "lsp-mode"; - version = "4.2"; + version = "6.0"; src = fetchFromGitHub { owner = "emacs-lsp"; repo = "lsp-mode"; - rev = "8d20214293637beca0e8d50a864ac4980b9064e8"; - sha256 = "0l8i5ra5hzbj3r6qw26v7lqjdvc4yb956j2h2nv7ahmd4g5f95np"; + rev = "789b672500dcbb2350bb5b667ffc0fd037a8b2e3"; + sha256 = "1v1mq6ixzlgiazj8fmg4xaqhsqn3l89iqy74yndhvzh2rdf0pbkl"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1a7b69312e688211089a23b75910c05efb507e35/recipes/lsp-mode"; sha256 = "0cklwllqxzsvs4wvvvsc1pqpmp9w99m8wimpby6v6wlijfg6y1m9"; name = "recipe"; }; - packageRequires = [ emacs ]; + packageRequires = [ dash dash-functional emacs f ht spinner ]; meta = { homepage = "https://melpa.org/#/lsp-mode"; license = lib.licenses.free; }; }) {}; - lsp-ocaml = callPackage ({ emacs - , fetchFromGitHub - , fetchurl - , lib - , lsp-mode - , melpaBuild }: + lsp-p4 = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , lsp-mode + , melpaBuild }: melpaBuild { - pname = "lsp-ocaml"; - ename = "lsp-ocaml"; - version = "0.2.0"; + pname = "lsp-p4"; + ename = "lsp-p4"; + version = "0.1"; + src = fetchFromGitHub { + owner = "dmakarov"; + repo = "p4ls"; + rev = "49eb7c25b95b02da34eb02e5858eb06d34e628e1"; + sha256 = "07z4k60b32k2mzxnl5lxnz5zd4y1p9jc6gqn57d3hwpz3mn8mjzx"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/53f0da8b3d2903adeffdbc3d8df7d630bfd9ff71/recipes/lsp-p4"; + sha256 = "0cd3n17lqwz08zfkm9g5cr1cj2asznlbhxrym2a7b7shdmn3yx5f"; + name = "recipe"; + }; + packageRequires = [ lsp-mode ]; + meta = { + homepage = "https://melpa.org/#/lsp-p4"; + license = lib.licenses.free; + }; + }) {}; + lsp-ui = callPackage ({ dash + , dash-functional + , emacs + , fetchFromGitHub + , fetchurl + , lib + , lsp-mode + , markdown-mode + , melpaBuild }: + melpaBuild { + pname = "lsp-ui"; + ename = "lsp-ui"; + version = "6.0"; src = fetchFromGitHub { owner = "emacs-lsp"; - repo = "lsp-ocaml"; - rev = "5a8c776b6d75b502703243b3d628fccd813481b0"; - sha256 = "1431f8r8c4h8jbghggk1s2bwqr1qlxys3d52xsvf35bbk1gki5an"; + repo = "lsp-ui"; + rev = "a8c50a93952afae3cd8948fecf4c1a3dc7f3e094"; + sha256 = "1r4327fd8cvjxfwkddp5c4bdskyncbs4sx9m3z2w4d773y2jrakc"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/7be2d7a7af3d744c531e5e018d791bf2566df428/recipes/lsp-ocaml"; - sha256 = "17334qcgqrz4jd5npizyq20fmxy07z2p3pq98s5np2kc4h9ara33"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/b7c78c9b07ede9949d14df74b188d4c1a3365196/recipes/lsp-ui"; + sha256 = "0fylav8b54g020z039zm1mx26d257715bfn9nnpw9i0b97539lqi"; name = "recipe"; }; - packageRequires = [ emacs lsp-mode ]; + packageRequires = [ dash dash-functional emacs lsp-mode markdown-mode ]; meta = { - homepage = "https://melpa.org/#/lsp-ocaml"; + homepage = "https://melpa.org/#/lsp-ui"; license = lib.licenses.free; }; }) {}; @@ -30380,7 +31964,6 @@ , fetchurl , ghub , git-commit - , let-alist , lib , magit-popup , melpaBuild @@ -30388,12 +31971,12 @@ melpaBuild { pname = "magit"; ename = "magit"; - version = "2.13.0"; + version = "2.90.1"; src = fetchFromGitHub { owner = "magit"; repo = "magit"; - rev = "e03685e813330a750c1d2e525a8f8c74901fccfb"; - sha256 = "119x8lg8alf97j8r3swmy6yf9112a9s2z2584n74bk847mxl2qwz"; + rev = "791901b2f1d26fa0a383147fe77948a9abc753da"; + sha256 = "1kw94sdczswsyzn1zlk5s5aplpdv4qd7qcqc5zfxsmsfwm3jacl4"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ac8feccfa0f4eb5bda2ef561a6be66ba145c00e0/recipes/magit"; @@ -30406,7 +31989,6 @@ emacs ghub git-commit - let-alist magit-popup with-editor ]; @@ -30424,12 +32006,12 @@ melpaBuild { pname = "magit-annex"; ename = "magit-annex"; - version = "1.6.0"; + version = "1.7.1"; src = fetchFromGitHub { owner = "magit"; repo = "magit-annex"; - rev = "42ccbe9137718151accc85abc2726b4f3729b5cb"; - sha256 = "1zrqm4nhy1d2pg6gwd6m4225smcns5pl8kpcpi3072gprblncphl"; + rev = "21cb2927d672cc6bf631d8373a361b1766ccf004"; + sha256 = "07r0d2i1hws63wfv1jys63r3lmrl4ywwi76gi7srwhzhqdr1af0n"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/magit-annex"; @@ -30588,12 +32170,12 @@ melpaBuild { pname = "magit-imerge"; ename = "magit-imerge"; - version = "0.3.1"; + version = "1.0.0"; src = fetchFromGitHub { owner = "magit"; repo = "magit-imerge"; - rev = "d798ceef08c01f0475c78d394544a2ae910a9cea"; - sha256 = "0x86b9xh8j9qywqh78w6b6jj75yzzdcz17cqz8sy48y12zy2skpi"; + rev = "5b45efa65317886640c339d1c71d2b9e00e98b77"; + sha256 = "02597aq00fq7b9284kq7s55ddrjb6xhh1l280gq3czi75658d3db"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e78a5c27eedfc9b1d79e37e8d333c5d253f31a3c/recipes/magit-imerge"; @@ -30643,12 +32225,12 @@ melpaBuild { pname = "magit-popup"; ename = "magit-popup"; - version = "2.12.3"; + version = "2.13.0"; src = fetchFromGitHub { owner = "magit"; repo = "magit-popup"; - rev = "32e6da899abd6657c098534c5775fc7177047f49"; - sha256 = "0nrvs7gwd9kn4n808akrydn7zggvy9zyk38yrcmm561kw0h0h903"; + rev = "4250c3a606011e3ff2477e3b5bbde2b493f3c85c"; + sha256 = "073x1yf96b623yphylnf0ysannr91vawzgjdv1smkcrgd4451hr3"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0263ca6aea7bf6eae26a637454affbda6bd106df/recipes/magit-popup"; @@ -30672,14 +32254,14 @@ ename = "magit-stgit"; version = "2.1.3"; src = fetchFromGitHub { - owner = "magit"; + owner = "emacsorphanage"; repo = "magit-stgit"; rev = "9d13effdbc213a0c8dcce78e1825011631fa0652"; sha256 = "163a1rddl54jgxm5dygnbp1pz1as4hhjszan1rcabvzcfnfdpakj"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/magit-stgit"; - sha256 = "12wg1ig2jzy2np76brpwxdix9pwv75chviq3c24qyv4y80pd11sv"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/72a38bbc5bba53dfb971f17213287caf0d190db0/recipes/magit-stgit"; + sha256 = "1spli6yq258zwx95y16s27hr7hlc2h0kc9mjnvjjl13y2l6shm0i"; name = "recipe"; }; packageRequires = [ emacs magit ]; @@ -30699,14 +32281,14 @@ ename = "magit-svn"; version = "2.2.1"; src = fetchFromGitHub { - owner = "magit"; + owner = "emacsorphanage"; repo = "magit-svn"; rev = "c833903732a14478f5c4cfc561bae7c50671b36c"; sha256 = "01kcsc53q3mbhgjssjpby7ypnhqsr48rkl1xz3ahaypmlp929gl9"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/magit-svn"; - sha256 = "02n732z06f0bhxqkxzlvm36bpqr40pas09zbzpfdk4pb6f9f80s0"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/a1ff188d509aec104e9d21a640cf5bc3addedf00/recipes/magit-svn"; + sha256 = "1dww5fc5phai3wk9lp85h6y08ai3vxgggsqj78a3mlcn2adwwc01"; name = "recipe"; }; packageRequires = [ emacs magit ]; @@ -30724,12 +32306,12 @@ melpaBuild { pname = "magit-tbdiff"; ename = "magit-tbdiff"; - version = "0.2.0"; + version = "1.0.0"; src = fetchFromGitHub { owner = "magit"; repo = "magit-tbdiff"; - rev = "2e7d54d290260e5834cca06863d78fc563d7373c"; - sha256 = "07i0bnjkflgrrg246z996slzy28b2kjhhv13z0lcb72w46l935yr"; + rev = "4273bfab1d2b620d68d890fbaaa78c56cf210059"; + sha256 = "0d1cn0nshxnvgjvl9j7wsai75pvsxmrmkdj57xdpyggwxgcpl1m4"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ad97eea866c8732e3adc17551d37a6d1ae511e6c/recipes/magit-tbdiff"; @@ -30742,9 +32324,7 @@ license = lib.licenses.free; }; }) {}; - magit-todos = callPackage ({ a - , anaphora - , async + magit-todos = callPackage ({ async , dash , emacs , f @@ -30759,30 +32339,19 @@ melpaBuild { pname = "magit-todos"; ename = "magit-todos"; - version = "1.0.3"; + version = "1.1.7"; src = fetchFromGitHub { owner = "alphapapa"; repo = "magit-todos"; - rev = "d12e2e3ccad4b87d5df5285ade0c56ec5f46ad63"; - sha256 = "006yy13hjzalwz7pz0br32zifxlxrrf8cvnz0j3km55sxpdvqmil"; + rev = "42dde9c5df2e0d59b30faf866e0a9e9a75cd4be0"; + sha256 = "0qagdxpik64n4rw9scy451ws5sw00v64ri9g2dcw7b66bx2c6c6w"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b4544ab55d2c8b8c3b7eb739b9fb90ebb246d68b/recipes/magit-todos"; sha256 = "0vqmbw0qj8a5wf4ig9hgc0v3l1agdkvgprzjv178hs00297br2s8"; name = "recipe"; }; - packageRequires = [ - a - anaphora - async - dash - emacs - f - hl-todo - magit - pcre2el - s - ]; + packageRequires = [ async dash emacs f hl-todo magit pcre2el s ]; meta = { homepage = "https://melpa.org/#/magit-todos"; license = lib.licenses.free; @@ -30799,14 +32368,14 @@ ename = "magit-topgit"; version = "2.1.2"; src = fetchFromGitHub { - owner = "magit"; + owner = "greenrd"; repo = "magit-topgit"; rev = "243fdfa7ce62dce4efd01b6b818a2791868db2f0"; sha256 = "06fbjv3zd92lvg4xjsp9l4jkxx2glhng3ys3s9jmvy5y49pymwb2"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/magit-topgit"; - sha256 = "1ngrgf40n1g6ncd5nqgr0zgxwlkmv9k4fik96dgzysgwincx683i"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/magit-topgit"; + sha256 = "1194hdcphir4cmvzg9cxrjiyg70hr9zmml2rljih94vl7zrw7335"; name = "recipe"; }; packageRequires = [ emacs magit ]; @@ -30836,7 +32405,7 @@ sha256 = "1iq8c939c0a6v8gq31vcjw6nxwnz4fpavcd6xf4h2rb6rkmxmhvl"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/magithub"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/e555b46f5de7591aa8e10a7cf67421e26a676db8/recipes/magithub"; sha256 = "11par5rncsa866gazdw98d4902rvyjnnwbiwpndlyh06ak0lryab"; name = "recipe"; }; @@ -30846,6 +32415,34 @@ license = lib.licenses.free; }; }) {}; + major-mode-hydra = callPackage ({ dash + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , pretty-hydra }: + melpaBuild { + pname = "major-mode-hydra"; + ename = "major-mode-hydra"; + version = "0.1.0"; + src = fetchFromGitHub { + owner = "jerrypnz"; + repo = "major-mode-hydra.el"; + rev = "9e7f9ed20d3ea0fa0bb953528aa0d17dbc46e995"; + sha256 = "07plrmy6w186n2czxp00dw8dprh3jnrjm7wk6sycyn571y0ryq4q"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/865917fcc75c4118afc89b8bcc20ebdb6302f15d/recipes/major-mode-hydra"; + sha256 = "0654wnsw38sca97kvp8p3k1h6r91iqs873gcjaaxd7a96sisvafd"; + name = "recipe"; + }; + packageRequires = [ dash emacs pretty-hydra ]; + meta = { + homepage = "https://melpa.org/#/major-mode-hydra"; + license = lib.licenses.free; + }; + }) {}; make-color = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -30953,26 +32550,27 @@ license = lib.licenses.free; }; }) {}; - map-progress = callPackage ({ fetchFromGitHub + map-progress = callPackage ({ cl-lib ? null + , fetchFromGitHub , fetchurl , lib , melpaBuild }: melpaBuild { pname = "map-progress"; ename = "map-progress"; - version = "0.5.0"; + version = "1.0.0"; src = fetchFromGitHub { owner = "tarsius"; repo = "map-progress"; - rev = "6b8ef6b60626772082b2e80ec54d1f1275e1a1b8"; - sha256 = "1fkijm0gikbwmxa9hf7s1rcwb0ipzjygd1mlicsm78rxvdd8k877"; + rev = "1fb916159cd054c233ce3c80d9d01adfae640297"; + sha256 = "1hbk35l9aljp4jqg8cv67q6b2jbcx0g665j90fygxqibrf6r52a8"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5ed3335eaf0be7368059bcdb52c46f5e47c0c1a5/recipes/map-progress"; sha256 = "0zc5vii72gbfwbb35w8m30c8r9zck971hwgcn1a4wjczgn4vkln7"; name = "recipe"; }; - packageRequires = []; + packageRequires = [ cl-lib ]; meta = { homepage = "https://melpa.org/#/map-progress"; license = lib.licenses.free; @@ -30986,12 +32584,12 @@ melpaBuild { pname = "map-regexp"; ename = "map-regexp"; - version = "0.3.0"; + version = "1.0.0"; src = fetchFromGitHub { owner = "tarsius"; repo = "map-regexp"; - rev = "b8e06284ec1c593d7d2bda5f35597a63de46333f"; - sha256 = "0kk1sk3cr4dbmgq4wzml8kdf14dn9jbyq4bwmvk0i7dic9vwn21c"; + rev = "ae2d1c22f786ad987aef3e319925e80160a887a0"; + sha256 = "1ybhizafdhzm7fg8s6gm13fbrz1vnrc7ifq8gvrrm89wl3qi5z7f"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/927314443ecc00d94e7125de669e82832c5a125c/recipes/map-regexp"; @@ -31118,32 +32716,24 @@ , lib , markdown-mode , melpaBuild - , uuidgen , web-server , websocket }: melpaBuild { pname = "markdown-preview-mode"; ename = "markdown-preview-mode"; - version = "0.9"; + version = "0.9.2"; src = fetchFromGitHub { owner = "ancane"; repo = "markdown-preview-mode"; - rev = "134fd336750b8b3165bc906f0a7161c25eb6f589"; - sha256 = "0j1jdvmn8psarjdl1j4d3rsjmnb3gcissh2l78xj2c8vckmp2g24"; + rev = "f98d9114ca87e3e8e5ce70e601d13061eda15415"; + sha256 = "1d1id99gagymvzdfa1mwqh8y3szm8ii47rpijkfi1qnifjg5jaq9"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d3c5d222cf0d7eca6a4e3eb914907f8ca58e40f0/recipes/markdown-preview-mode"; sha256 = "1cam5wfxca91q3i1kl0qbdvnfy62hr5ksargi4430kgaz34bcbyn"; name = "recipe"; }; - packageRequires = [ - cl-lib - emacs - markdown-mode - uuidgen - web-server - websocket - ]; + packageRequires = [ cl-lib emacs markdown-mode web-server websocket ]; meta = { homepage = "https://melpa.org/#/markdown-preview-mode"; license = lib.licenses.free; @@ -31264,12 +32854,12 @@ melpaBuild { pname = "mastodon"; ename = "mastodon"; - version = "0.7.2"; + version = "0.9.0"; src = fetchFromGitHub { owner = "jdenen"; repo = "mastodon.el"; - rev = "ae8dabda04e377a6ac22cb854e4844f68073f533"; - sha256 = "1avf2wkzd14dj27i9skm3mn3ipkr1zp93yrwxrk2q5kphj1qji2j"; + rev = "5095797ef32b922d2a624fa6beb970b5e9cf5ca0"; + sha256 = "0hwax6y9dghqwsbnb6f1bnc7gh8xsh5cvcnayk2sn49x8b0zi5h1"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/809d963b69b154325faaf61e54ca87b94c1c9a90/recipes/mastodon"; @@ -31315,12 +32905,12 @@ melpaBuild { pname = "math-symbol-lists"; ename = "math-symbol-lists"; - version = "1.2"; + version = "1.2.1"; src = fetchFromGitHub { owner = "vspinu"; repo = "math-symbol-lists"; - rev = "328f792599e4e298d164e3c6331a2426d82ebf64"; - sha256 = "1kj9r2mvmvnj6m2bwhbj8fspqiq8fdrhkaj0ir43f7qmd4imblsj"; + rev = "e15ec26a010b4f38111bc150c51ecb1a319f6bdb"; + sha256 = "11jk0xdlc8zk2way1d85n2khmydzzvpjhh8bbjbdsv8d1z3j9yfh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/fadff01600d57f5b9ea9c0c47ed109e058114998/recipes/math-symbol-lists"; @@ -31393,12 +32983,12 @@ melpaBuild { pname = "mb-url"; ename = "mb-url"; - version = "0.1.0"; + version = "0.4.0"; src = fetchFromGitHub { owner = "dochang"; repo = "mb-url"; - rev = "129a0bb6a684be76fb9f09010e710065d0e5baaa"; - sha256 = "1apy7abjhdbgh8001rzv41q40bfl444rcz62lvgdwj3lg45zb8xc"; + rev = "23078f2e59808890268401f294d860ba51bc71d9"; + sha256 = "07b9w9vd22ma4s3qhplmg84sylihz920byyi9qa7dwj7b59d4avf"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/dd9a8ff6e094b061a7b9d790df1fd4086c5d0a9d/recipes/mb-url"; @@ -31464,6 +33054,38 @@ license = lib.licenses.free; }; }) {}; + md4rd = callPackage ({ cl-lib ? null + , dash + , emacs + , fetchFromGitHub + , fetchurl + , hierarchy + , lib + , melpaBuild + , request + , s + , tree-mode }: + melpaBuild { + pname = "md4rd"; + ename = "md4rd"; + version = "0.3.1"; + src = fetchFromGitHub { + owner = "ahungry"; + repo = "md4rd"; + rev = "443c8059af4925d11c93a1293663165c52472f08"; + sha256 = "1n6g6k4adzkkn1g7z4j27s35xy12c1fg2r08gv345ddr3wplq4ri"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/48d4a3b3337e16e68631409d1de0ce67ae22b837/recipes/md4rd"; + sha256 = "0ayr5qw0cz7bd46djfhm8slr2kfgssi5bsnzqcasr8n4lyg9jvfc"; + name = "recipe"; + }; + packageRequires = [ cl-lib dash emacs hierarchy request s tree-mode ]; + meta = { + homepage = "https://melpa.org/#/md4rd"; + license = lib.licenses.free; + }; + }) {}; mediawiki = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -31500,12 +33122,12 @@ melpaBuild { pname = "meghanada"; ename = "meghanada"; - version = "1.0.8"; + version = "1.0.13"; src = fetchFromGitHub { owner = "mopemope"; repo = "meghanada-emacs"; - rev = "1fe888ad929f0ebed9a8cde7bb0a605881e1386c"; - sha256 = "1b7cri71fikvyxcc6q9rci1zc4q45a1bvz00ks7gvx6w2sd7h5gd"; + rev = "5f792cfe77b77aced5e70a118aba159f6e59234a"; + sha256 = "0scj5wdd9xhpfj5cvjib8x9hzfkylb5h484ndch0vc1l79nlb650"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4c75c69b2f00be9a93144f632738272c1e375785/recipes/meghanada"; @@ -31569,7 +33191,8 @@ license = lib.licenses.free; }; }) {}; - mentor = callPackage ({ cl-lib ? null + mentor = callPackage ({ async + , cl-lib ? null , fetchFromGitHub , fetchurl , lib @@ -31579,19 +33202,19 @@ melpaBuild { pname = "mentor"; ename = "mentor"; - version = "0.3.1"; + version = "0.3.4"; src = fetchFromGitHub { owner = "skangas"; repo = "mentor"; - rev = "2b6aea26fd998d6e6fdac5e6b768f9a1751e268a"; - sha256 = "1j6wf2z4816qj17bm45frhmxk1snsad3jvkjpasyg8pscf4kqi07"; + rev = "9415472470ff23ee9600d94123c51c455d63018d"; + sha256 = "05gfprcrh9p06arsni58nf60inlf1zbd18i678r9xd4q0v35k491"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/083de4bd25b6b013a31b9d5ecdffad139a4ba91e/recipes/mentor"; sha256 = "0nkf7f90m2qf11l97zwvb114yrpbqk1xxr2bh2nvbx8m1c8nad9s"; name = "recipe"; }; - packageRequires = [ cl-lib seq xml-rpc ]; + packageRequires = [ async cl-lib seq xml-rpc ]; meta = { homepage = "https://melpa.org/#/mentor"; license = lib.licenses.free; @@ -31604,16 +33227,16 @@ melpaBuild { pname = "merlin"; ename = "merlin"; - version = "3.1.0"; + version = "3.2.2"; src = fetchFromGitHub { - owner = "the-lambda-church"; + owner = "ocaml"; repo = "merlin"; - rev = "a9149b6ec88b455e0e040da6a6c0ca325d052904"; - sha256 = "1f9aqlic7i9ib5lfsix731bkzh857djcgfsqggxy95xvxswm8xpr"; + rev = "8bcd99c8e5de984f04966674dcbb1c40c5d89045"; + sha256 = "1dd9mj8z6xpbvvgp489nxsscj8hcar4mx920d61cyxnxgz1phq5p"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/b1b9bfd3164e62758dc0a3362d85c6627ed7cbf8/recipes/merlin"; - sha256 = "177cy9xcrjckxv8gvi1zhg2ndfr8cmsr37inyvpi5dxqy6d6alhp"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/9338298a79b7f2d654df90b0f553aeed1428de13/recipes/merlin"; + sha256 = "0r4wc5ann6239bagj364yyzw4y3lcpkl5nnn0vmx4hgkwdg509fn"; name = "recipe"; }; packageRequires = []; @@ -31626,23 +33249,24 @@ , fetchFromGitHub , fetchurl , lib - , melpaBuild }: + , melpaBuild + , merlin }: melpaBuild { pname = "merlin-eldoc"; ename = "merlin-eldoc"; - version = "1.2"; + version = "1.3"; src = fetchFromGitHub { - owner = "khady"; + owner = "Khady"; repo = "merlin-eldoc"; - rev = "33544dcc389003ed6e3eabdade90c81db62ab0af"; - sha256 = "0p24l4jnsiaq3a36dq99pb74djnzjx7qjddns3w5l9s1hkrh79g5"; + rev = "bbb1a10f2131c09a7f7f844d4da98efd77f927ae"; + sha256 = "11gggay8srycpckclqvcmad6ym3lx2sxgj670z89br91jdwmkr2f"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/a7130ec893175323775e887babbcec7a1e324c01/recipes/merlin-eldoc"; - sha256 = "0r4997813yz81zvmdgvr0xcp9c321h55z39lajpj1plmrs3c7bry"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/merlin-eldoc"; + sha256 = "0bx383nxd97as0d362n1jn62k2rypxvxhcjasgwf0cr8vxr244fp"; name = "recipe"; }; - packageRequires = [ emacs ]; + packageRequires = [ emacs merlin ]; meta = { homepage = "https://melpa.org/#/merlin-eldoc"; license = lib.licenses.free; @@ -31681,12 +33305,12 @@ melpaBuild { pname = "meta-presenter"; ename = "meta-presenter"; - version = "1.0.0"; + version = "1.1.0"; src = fetchFromGitHub { owner = "myTerminal"; repo = "meta-presenter"; - rev = "7ba8d30e36ce6de6e563c7f3a41a24d288787c48"; - sha256 = "0m23qsbai8j0bx0px7v3ipw92i4y8maxibna6zqrw3msv1j3s7cw"; + rev = "3d8c762a7dd7ac39032a3601bd6a717f206e670d"; + sha256 = "0r9zzmglmkkmxcqh0pdlg279mpd524k2rwn56kyvj5i3i8zw9rpl"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b73e9424515b3ddea220b786e91c57ee22bed87f/recipes/meta-presenter"; @@ -31709,14 +33333,14 @@ ename = "metaweblog"; version = "1.0.1"; src = fetchFromGitHub { - owner = "punchagan"; + owner = "org2blog"; repo = "metaweblog"; rev = "aa14380eb7e7b879a0c16c96866b20a987cd3f2a"; sha256 = "146w9laysdqbikpzr2gc9vnjrdsa87d8i13f2swlh1kvq2dn3rz5"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/metaweblog"; - sha256 = "10kwqnfafby4ap0572mfkkdssr13y9p2gl9z3nmxqjjy04fkfi8b"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/metaweblog"; + sha256 = "0qgmcvq1fhgljia9ncjgvgrv0mzih0l9mglwbwcszn613wmx8bkg"; name = "recipe"; }; packageRequires = [ xml-rpc ]; @@ -31758,7 +33382,7 @@ melpaBuild { pname = "mgmtconfig-mode"; ename = "mgmtconfig-mode"; - version = "0.0.15"; + version = "0.0.18"; src = fetchFromGitHub { owner = "purpleidea"; repo = "mgmt"; @@ -31784,12 +33408,12 @@ melpaBuild { pname = "mhc"; ename = "mhc"; - version = "1.2.0"; + version = "1.2.1"; src = fetchFromGitHub { owner = "yoshinari-nomura"; repo = "mhc"; - rev = "e29e69ab2f282131039a63f56f48e39d56c175d9"; - sha256 = "0lxn4vg3qxzdxad1fv0ssnw4rjhzvrys4k3lqx87sbg28l9ykk77"; + rev = "a0a7e01587c47b11f4aa87ac977ca43298a75570"; + sha256 = "1wxyp4snkarbbrqb1a28hdf286cwf08v0fbi9pl9mw4q7sn598s2"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d8d3efa0fcd6cd4af94bc99b35614ef6402cbdba/recipes/mhc"; @@ -31802,26 +33426,27 @@ license = lib.licenses.free; }; }) {}; - migemo = callPackage ({ fetchFromGitHub + migemo = callPackage ({ cl-lib ? null + , fetchFromGitHub , fetchurl , lib , melpaBuild }: melpaBuild { pname = "migemo"; ename = "migemo"; - version = "1.9.1"; + version = "1.9.2"; src = fetchFromGitHub { owner = "emacs-jp"; repo = "migemo"; - rev = "97e07796573c4c47f286bfe8eeb6428cb474526e"; - sha256 = "1ckb5hymwj4wmsxakalsky4mkzn9vxhxr6416b2cr6r5jxj4xgsl"; + rev = "09936ee27a5f3678fdf57b8a0faaa0ff150435cc"; + sha256 = "0wfik7y3ybh4yrrlpydawx5zw0syv7wm7b1mckz2rbv3d863z0n5"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2424b0328a0198a03359455abdb3024a8067c857/recipes/migemo"; sha256 = "0y49imdwygv5zd7cyh9ngda4gyb2mld2a4s7zh4yzlh7z5ha9qkr"; name = "recipe"; }; - packageRequires = []; + packageRequires = [ cl-lib ]; meta = { homepage = "https://melpa.org/#/migemo"; license = lib.licenses.free; @@ -31961,12 +33586,12 @@ melpaBuild { pname = "minions"; ename = "minions"; - version = "0.2.0"; + version = "0.3.1"; src = fetchFromGitHub { owner = "tarsius"; repo = "minions"; - rev = "536653d2dcae8362f2d02fee3ca8b65d4c875db7"; - sha256 = "1wa35cbffvzg0ciif93nv6jv7b0m72ixic0w8iwc5wbbvk9k5wip"; + rev = "d36d2445420460c81bcd4822d0bfcbafaec2c682"; + sha256 = "0q2y37zfxlbfvgdn70ikg3abp8vljna4ir9nyqlz1awmz5i1c43s"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/769a2167d7f6dfdbbfda058ddea036f80b97d230/recipes/minions"; @@ -32030,6 +33655,32 @@ license = lib.licenses.free; }; }) {}; + mixed-pitch = callPackage ({ emacs + , fetchFromGitLab + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "mixed-pitch"; + ename = "mixed-pitch"; + version = "1.0.1"; + src = fetchFromGitLab { + owner = "jabranham"; + repo = "mixed-pitch"; + rev = "15bb9ec6d8be0812a46917205be6c3a1c78f68ff"; + sha256 = "1458sy5b6bis1i0k23jdqk6hfqg0ghk637r3ajql2g19ym48rf58"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/7d3c7af03e0bca3f834c32827cbcca29e29ef4db/recipes/mixed-pitch"; + sha256 = "1gda4jl946qlbf8rqm0mk493kwy8yqldr21cr583l6b6gl1nb4qf"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/mixed-pitch"; + license = lib.licenses.free; + }; + }) {}; mmm-jinja2 = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -32056,30 +33707,6 @@ license = lib.licenses.free; }; }) {}; - mmm-mako = callPackage ({ fetchhg - , fetchurl - , lib - , melpaBuild - , mmm-mode }: - melpaBuild { - pname = "mmm-mako"; - version = "1.1"; - src = fetchhg { - url = "https://bitbucket.com/pjenvey/mmm-mako"; - rev = "5c9ff92137b5"; - sha256 = "0rpp748ym79sxccp9pyrwri14m7624zzb80srfgjfdpysrrs0jrr"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/mmm-mako"; - sha256 = "0a4af5q9wxafrid8visp30cz6073ig0c961b78vmmgqrwvvxd3kn"; - name = "mmm-mako"; - }; - packageRequires = [ mmm-mode ]; - meta = { - homepage = "https://melpa.org/#/mmm-mako"; - license = lib.licenses.free; - }; - }) {}; mmt = callPackage ({ cl-lib ? null , emacs , fetchFromGitHub @@ -32239,6 +33866,31 @@ license = lib.licenses.free; }; }) {}; + mode-line-bell = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "mode-line-bell"; + ename = "mode-line-bell"; + version = "0.2"; + src = fetchFromGitHub { + owner = "purcell"; + repo = "mode-line-bell"; + rev = "4985ba42f5a19f46ddbf9b3622453a9694995ce5"; + sha256 = "13n3di05lgqfm4f8krn3p36yika5znhymp5vr2d747x54hqmgh7y"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/26f19808655b0242a1e9e5e5d41f7f794542e243/recipes/mode-line-bell"; + sha256 = "1ri771hb91b7hd203f8zp83h5hcndh8ccc1y8shhqmak6a6l04wk"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/mode-line-bell"; + license = lib.licenses.free; + }; + }) {}; mode-line-debug = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -32398,12 +34050,12 @@ melpaBuild { pname = "moody"; ename = "moody"; - version = "0.3.0"; + version = "0.4.1"; src = fetchFromGitHub { owner = "tarsius"; repo = "moody"; - rev = "adf652f35cba1bb3d0f254e1905e2deeeb0fbdba"; - sha256 = "1zspq29n60r0kd9fy7d50zdypljigwcjb0qa5gkwiipnhpcnf9bp"; + rev = "e0975e844876f0962b2e9481c26739397bd23541"; + sha256 = "0jci21ycsyf1mblcv8vbii4wisw1zcs15q5xwld7ai24kgj70269"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/63521fe6a1e540544a07231cc94144439e8caea7/recipes/moody"; @@ -32923,30 +34575,6 @@ license = lib.licenses.free; }; }) {}; - multi-project = callPackage ({ emacs - , fetchhg - , fetchurl - , lib - , melpaBuild }: - melpaBuild { - pname = "multi-project"; - version = "0.0.26"; - src = fetchhg { - url = "https://bitbucket.com/ellisvelo/multi-project"; - rev = "a6e7c1542c0b"; - sha256 = "1wh7xlas6chdliya847092j5rkngxxg1m9a98y2r782ywgyl7xv6"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/multi-project"; - sha256 = "19dy2wl5ad1xldiznlw2vjvr9ja8h9wiv6igcggixq56fhngp40x"; - name = "multi-project"; - }; - packageRequires = [ emacs ]; - meta = { - homepage = "https://melpa.org/#/multi-project"; - license = lib.licenses.free; - }; - }) {}; multi-run = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -33191,12 +34819,12 @@ melpaBuild { pname = "myterminal-controls"; ename = "myterminal-controls"; - version = "1.0.0"; + version = "1.3.0"; src = fetchFromGitHub { owner = "myTerminal"; repo = "myterminal-controls"; - rev = "59ff3a02e34969a2ac608906937cb65cb514f9f1"; - sha256 = "11b0m09n1qqhjbdmcilb1g1408k17700qn37m3wavjrcjvdhnd5n"; + rev = "df144b269bc274162602e50c692be20ac9b90547"; + sha256 = "02bd47rx2ykz5hhrf1szcqz7s9r5fxz7n3hnwlqap2r6xcv6cpvk"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4a82a45d9fcafea0795f832bce1bdd7bc83667e2/recipes/myterminal-controls"; @@ -33688,16 +35316,16 @@ melpaBuild { pname = "ninja-mode"; ename = "ninja-mode"; - version = "1.8.2"; + version = "1.9.0"; src = fetchFromGitHub { - owner = "martine"; + owner = "ninja-build"; repo = "ninja"; - rev = "484c16336f19bd8970bb6e75322d61b92a229899"; - sha256 = "1wc0cvmfhpvfzdy127d1n812q93dd9sp3mmqnc8jzy8i3frqqqq6"; + rev = "6d5a4b9eb973e9d82d63f8f9a421fad97d20e6d0"; + sha256 = "1y5bkgd4kx0gm371k78fk0bjbjfnjxah88brgrvj9x29vw4vgl91"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/aed2f32a02cb38c49163d90b1b503362e2e4a480/recipes/ninja-mode"; - sha256 = "1m7f25sbkz8k343giczrnw2ah5i3mk4c7csi8kk9x5y16030asik"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/ninja-mode"; + sha256 = "1v6wy9qllbxl37fp9h47000lwp557qss6fdjb3a1f20msg8f70av"; name = "recipe"; }; packageRequires = [ emacs ]; @@ -33741,12 +35369,12 @@ melpaBuild { pname = "nix-mode"; ename = "nix-mode"; - version = "1.2.2"; + version = "1.3.0"; src = fetchFromGitHub { owner = "NixOS"; repo = "nix-mode"; - rev = "cc23fd6a0e394aeeed603e2bfeb4a5ebc63db660"; - sha256 = "1vz3s2jx14nzy53f04d821n4f2s22ys5h9s7af6cnpynkwawyhhq"; + rev = "1389a6b25a22328f2a1333718882c7aa8a1f42c4"; + sha256 = "15n2prz07fsb6v0pyb1zkgamps6f6ynbfk8nv71g994k83x0178d"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e1870d786dbfac3b14386c8030e06f2d13ab9da6/recipes/nix-mode"; @@ -33786,6 +35414,34 @@ license = lib.licenses.free; }; }) {}; + nlinum-hl = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , nlinum }: + melpaBuild { + pname = "nlinum-hl"; + ename = "nlinum-hl"; + version = "1.0.6"; + src = fetchFromGitHub { + owner = "hlissner"; + repo = "emacs-nlinum-hl"; + rev = "dc6b365a58e06c7d637a76a31c71a40b20da8b56"; + sha256 = "1fvvyc77iggil9mzy8hd4vx8xw96bkfx6pmlb9ami428qp8r45g7"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/b13a886535a5c33fe389a6b616988b7377249625/recipes/nlinum-hl"; + sha256 = "17lcp1ira7yhch9npg9sf3npwg06yh9zyhg0lnb22xg09lbndj0x"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs nlinum ]; + meta = { + homepage = "https://melpa.org/#/nlinum-hl"; + license = lib.licenses.free; + }; + }) {}; no-littering = callPackage ({ cl-lib ? null , fetchFromGitHub , fetchurl @@ -33794,12 +35450,12 @@ melpaBuild { pname = "no-littering"; ename = "no-littering"; - version = "0.5.14"; + version = "1.0.1"; src = fetchFromGitHub { owner = "emacscollective"; repo = "no-littering"; - rev = "9bffebc0f4858a06ba374f1d48a7dffd3537b93e"; - sha256 = "02dhplz597r5qp1mljy1npx2kzg07l938d2xivwy9cd6jlkj35ya"; + rev = "5a6f483dca3c8a2dcf3a56ab07ffbea21b2926a1"; + sha256 = "0r45bz68d3bx1bnnp28gkyw9rsnly5dy2b9h1b2gjn1hpfs7clci"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/57a2fb9524df3fdfdc54c403112e12bd70888b23/recipes/no-littering"; @@ -33844,12 +35500,12 @@ melpaBuild { pname = "nodejs-repl"; ename = "nodejs-repl"; - version = "0.1.6"; + version = "0.2.1"; src = fetchFromGitHub { owner = "abicky"; repo = "nodejs-repl.el"; - rev = "16770656a4072f8fbbd29d0cace4893a3d5541b1"; - sha256 = "1hcvi4nhgfrjalq8nw20kjjpcf4xmjid70qpqdv8dsgfann5i3wl"; + rev = "3f79caf542403ac80c7a1c3542f493f97a0c26ef"; + sha256 = "05ccv87rnw7fss3lib8m9sywjrj6n92fnd7mmhmjh27g2klqc83z"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/14f22f97416111fcb02e299ff2b20c44fb75f049/recipes/nodejs-repl"; @@ -33940,29 +35596,6 @@ license = lib.licenses.free; }; }) {}; - nose = callPackage ({ fetchhg - , fetchurl - , lib - , melpaBuild }: - melpaBuild { - pname = "nose"; - version = "0.1.1"; - src = fetchhg { - url = "https://bitbucket.com/durin42/nosemacs"; - rev = "194d7789bf79"; - sha256 = "07bhzddaxdjd591xmg59yd657a1is0q515291jd83mjsmgq258bm"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/nose"; - sha256 = "1xdqsxq06x2m9rcfn1qh89g0mz1rvzl246d3sfmciwcyl932x682"; - name = "nose"; - }; - packageRequires = []; - meta = { - homepage = "https://melpa.org/#/nose"; - license = lib.licenses.free; - }; - }) {}; notmuch = callPackage ({ fetchgit , fetchurl , lib @@ -33970,11 +35603,11 @@ melpaBuild { pname = "notmuch"; ename = "notmuch"; - version = "0.27"; + version = "0.28.3"; src = fetchgit { url = "https://git.notmuchmail.org/git/notmuch"; - rev = "c20a5eb80520a11cb697a45b0d9553c68e2199c8"; - sha256 = "13gpsgx5k26x8r38q56y01mfz2r1haxw76hc52mq8vypfl1gpw3x"; + rev = "3c752b855f900f5251df9997514b4d27d9f38e83"; + sha256 = "07k5bsifxlsy6caqgk467cfgqw3mgfb5cqb80nc5v4fcjfh0wwcv"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d05fbde3aabfec4efdd19a33fd2b1297905acb5a/recipes/notmuch"; @@ -34023,12 +35656,12 @@ melpaBuild { pname = "nov"; ename = "nov"; - version = "0.2.4"; + version = "0.2.7"; src = fetchFromGitHub { owner = "wasamasa"; repo = "nov.el"; - rev = "3be6e8cd1a6311b0782ca2aa3d9961bec6183632"; - sha256 = "1i7caa7s0c2qmf8bf9bi6sp7yavpnxlck6gm9fc0lkywrjfq0ixs"; + rev = "3bb7a4038f0c2100df671c9f1f33b785ed4ae296"; + sha256 = "1s2av1yrzsqslgjfiislf9bljdk0rxpyq2vrbyralfnj2wvgpk9m"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/cf543955ba2d5d0074fa2a5ba176f9415f6e006d/recipes/nov"; @@ -34118,6 +35751,32 @@ license = lib.licenses.free; }; }) {}; + ns-auto-titlebar = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "ns-auto-titlebar"; + ename = "ns-auto-titlebar"; + version = "0.3"; + src = fetchFromGitHub { + owner = "purcell"; + repo = "ns-auto-titlebar"; + rev = "b16092e8058af63ad2bc222f166b0aa3cb66bf9d"; + sha256 = "0m1ih8ca4702zrkhl3zdvwbci96wyjlxhpfx95w372k25rca87dq"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/d22ebb5ef16df0c56d6031cb1c7f312dca514482/recipes/ns-auto-titlebar"; + sha256 = "1wk4y2jwl65z18cv57m8zkcg31wp9by74z2zvccxzl7mwlhy7kqg"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/ns-auto-titlebar"; + license = lib.licenses.free; + }; + }) {}; nsis-mode = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -34405,6 +36064,31 @@ license = lib.licenses.free; }; }) {}; + ob-ml-marklogic = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "ob-ml-marklogic"; + ename = "ob-ml-marklogic"; + version = "1.1.0"; + src = fetchFromGitHub { + owner = "ndw"; + repo = "ob-ml-marklogic"; + rev = "d5660ad14f29e17cd26ae92eeb585b24030e9570"; + sha256 = "1aqllsn965km3796q92w3a3z92hkpm5i0l6p4fm3va9xq7j79cyc"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/edce412552d4798450493e0a3dbe768f38f77cc7/recipes/ob-ml-marklogic"; + sha256 = "1y5cgba7gzlmhdrs0k7clgrxixdl4najj5271x1m023jch7bz7xl"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/ob-ml-marklogic"; + license = lib.licenses.free; + }; + }) {}; ob-prolog = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -34484,6 +36168,34 @@ license = lib.licenses.free; }; }) {}; + ob-tmux = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , s + , seq }: + melpaBuild { + pname = "ob-tmux"; + ename = "ob-tmux"; + version = "0.1.5"; + src = fetchFromGitHub { + owner = "ahendriksen"; + repo = "ob-tmux"; + rev = "8886f31291e979b41215f3eb97670732efffea34"; + sha256 = "0j77n1lawkx94hyv89xsvmrbqhd8x19ycrvxrwhc0mzlxh7rxjcy"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/a3f47fbfe745972e690e8028f893bb38ba30978d/recipes/ob-tmux"; + sha256 = "12c0m2xxd75lbc98h7cwprmdn823mh2ii59pxr6fgnq7araqkz20"; + name = "recipe"; + }; + packageRequires = [ emacs s seq ]; + meta = { + homepage = "https://melpa.org/#/ob-tmux"; + license = lib.licenses.free; + }; + }) {}; ob-translate = callPackage ({ fetchFromGitHub , fetchurl , google-translate @@ -34562,6 +36274,33 @@ license = lib.licenses.free; }; }) {}; + objed = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "objed"; + ename = "objed"; + version = "0.8.1"; + src = fetchFromGitHub { + owner = "clemera"; + repo = "objed"; + rev = "4798b5b9fd531562ac17d6148e86cd8cdc1bc985"; + sha256 = "16ans9pmzfjqdz0gi92yaah0vv6g4vmjbq3g1jqhcykin6ba8lpg"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/4abc6d927a2bf238d23256adcc9f09a751c90374/recipes/objed"; + sha256 = "0iqvwa664fzklajqgnss7igjh7jr9v9i8dp9acm42g8ingp9zf7b"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs ]; + meta = { + homepage = "https://melpa.org/#/objed"; + license = lib.licenses.free; + }; + }) {}; ocodo-svg-modelines = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -34595,12 +36334,12 @@ melpaBuild { pname = "ocp-indent"; ename = "ocp-indent"; - version = "1.6.1"; + version = "1.7.0"; src = fetchFromGitHub { owner = "OCamlPro"; repo = "ocp-indent"; - rev = "5d83bc71d12c89850cb0fdff50d4830adb705b6c"; - sha256 = "0rcaa11mjqka032g94wgw9llqpflyk3ywr3lr6jyxbh1rjvnipnw"; + rev = "b15fd7585b42f89d745fad69ed1f2b70ecb8757d"; + sha256 = "0aszx9kxfbrlg0amsl3j3kdwn6n0a5fl33kvl8rgyv543p2jcx8f"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e1af061328b15360ed25a232cc6b8fbce4a7b098/recipes/ocp-indent"; @@ -35005,6 +36744,33 @@ license = lib.licenses.free; }; }) {}; + ordinal = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "ordinal"; + ename = "ordinal"; + version = "0.0.1"; + src = fetchFromGitHub { + owner = "zonuexe"; + repo = "ordinal.el"; + rev = "bfad160d7c4b6faecfe5ac986bb4858cf7149b59"; + sha256 = "1zmsac4jg3yvr3n7pkz8fhpgw9b6lqm9zcq3xh8zmb1x4ckf33z8"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/ea3dd6fe4cacc229dd1371cb66dd1cfd07321bf4/recipes/ordinal"; + sha256 = "19s27mv7kqcg9qxa844al7q1hk0qbiqh93g1n54r3b6s980dlgcv"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs ]; + meta = { + homepage = "https://melpa.org/#/ordinal"; + license = lib.licenses.free; + }; + }) {}; org-ac = callPackage ({ auto-complete-pcmp , fetchFromGitHub , fetchurl @@ -35071,14 +36837,14 @@ ename = "org-alert"; version = "0.1.0"; src = fetchFromGitHub { - owner = "groksteve"; + owner = "spegoraro"; repo = "org-alert"; rev = "685c18aa5ce994360c7f9e8bbf49590c412187ac"; sha256 = "0gkv2sfl9nb64qqh5xhgq68r9kfmsny3vpcmnzk2mqjcb9nh657s"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/2976b7f9271bc46679a5774ff5f388b81a9f0cf8/recipes/org-alert"; - sha256 = "0n5a24iv8cj395xr0gfgi0hs237dd98zm2fws05k47vy3ygni152"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/org-alert"; + sha256 = "01bb0s22wa14lyr9wi58cvk4b03xqq268y3dvxbrhymw1ld97zk2"; name = "recipe"; }; packageRequires = [ alert dash s ]; @@ -35324,6 +37090,33 @@ license = lib.licenses.free; }; }) {}; + org-d20 = callPackage ({ dash + , fetchgit + , fetchurl + , lib + , melpaBuild + , s + , seq }: + melpaBuild { + pname = "org-d20"; + ename = "org-d20"; + version = "0.2"; + src = fetchgit { + url = "https://git.spwhitton.name/org-d20"; + rev = "a88a3bb5e43940c2965edd8de27ecf7a2065d86b"; + sha256 = "08s05hpyg52qhvf487cy8x6p2ln8mkiw49kmcavmkmpss2zsqdpn"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/98bf91038196dfb59c491c9ed96c6b6a0cb311a9/recipes/org-d20"; + sha256 = "158n900ifb1mfckd0gjmb9gpzibh8a2x56flbn2r035gcdbb7wc5"; + name = "recipe"; + }; + packageRequires = [ dash s seq ]; + meta = { + homepage = "https://melpa.org/#/org-d20"; + license = lib.licenses.free; + }; + }) {}; org-doing = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -35333,14 +37126,14 @@ ename = "org-doing"; version = "0.1"; src = fetchFromGitHub { - owner = "omouse"; + owner = "rudolfolah"; repo = "org-doing"; rev = "e099514cfc162f8fe3d383456a7964743b0455d5"; sha256 = "1hvnrw0y3chlfv6zxsczmm8zybrnakn3x13ykv2zblw96am9kd2s"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/4c497b87e14ab614c963f4b2f041bc0111b6e936/recipes/org-doing"; - sha256 = "17w49z78fvbz182sxv9mnryj124gm9jbdmbybppjqz4rk6wvnm2j"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/org-doing"; + sha256 = "10vg0wl8dsy12r51178qi4rzi94img692z5x3zv8dxa29lmn26xs"; name = "recipe"; }; packageRequires = []; @@ -35498,14 +37291,14 @@ ename = "org-gcal"; version = "0.2"; src = fetchFromGitHub { - owner = "myuhe"; + owner = "kidd"; repo = "org-gcal.el"; rev = "badd3629e6243563c30ff1dd0452b7601f6cc036"; sha256 = "1pxfcyf447h18220izi8qlnwdr8rlwn5kds8gr5i1v90s6hpa498"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/1c2d5bd8d8f2616dae19b9232d9442fe423d6e5e/recipes/org-gcal"; - sha256 = "1mp6cm0rhd4r9pfvsjjp86sdqxjbbg7gk41zx0zf0s772smddy3q"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/d97c701819ea8deaa8a9664db1f391200ee52c4f/recipes/org-gcal"; + sha256 = "014h67ba0cwi4i1llngypscyvyrm74ljh067i3iapx5a18q7xw5v"; name = "recipe"; }; packageRequires = [ alert cl-lib emacs org request-deferred ]; @@ -35575,16 +37368,16 @@ melpaBuild { pname = "org-index"; ename = "org-index"; - version = "5.8.9"; + version = "5.12.0"; src = fetchFromGitHub { - owner = "marcihm"; + owner = "marcIhm"; repo = "org-index"; - rev = "c26f48ec26f5d345e354845c7686fed4751d2136"; - sha256 = "0n571b2r0c6l9jklqgr0nxz5ca2jw7yfqpngl21lq06zz95lw9lw"; + rev = "fc9635edd4bf394059e53a1fa16cdd8ab5b7b468"; + sha256 = "0qzqlfnrc2x4mm40wrsmpbh61129ww2a2sk4s1px49fi8552vqyq"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/54946e733901986304f7a7a5139b2818ebf97eb3/recipes/org-index"; - sha256 = "1dp52xqrhby2xyi6p2d0ggp5irqsqwicp62ndg5wszyd33clxab5"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/org-index"; + sha256 = "092q92hwvknwm3v2shp8dm59qdamfivx9z9v23msysy7x2mhg98f"; name = "recipe"; }; packageRequires = [ emacs ]; @@ -35594,6 +37387,7 @@ }; }) {}; org-jira = callPackage ({ cl-lib ? null + , dash , emacs , fetchFromGitHub , fetchurl @@ -35604,19 +37398,19 @@ melpaBuild { pname = "org-jira"; ename = "org-jira"; - version = "3.1.1"; + version = "4.3.1"; src = fetchFromGitHub { owner = "ahungry"; repo = "org-jira"; - rev = "03d6ebcf177db7b208c6a99386695e839f314314"; - sha256 = "07hy37by9ics7rc1sgkpg8qk2xzp67ny4i4rkd7q7j4abqdr131v"; + rev = "3a6c9fd6886f9dbd11b055fb3bf54513fa278940"; + sha256 = "1l80r2a9zzbfk2c78i40h0ww79vm9v4j6xi2h5i4w9kqh10rs6h2"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/730a585e5c9216a2428a134c09abcc20bc7c631d/recipes/org-jira"; - sha256 = "0dvh9k0i75jxyy3v01c4cfyws8ij6718hsivi2xyrgig7pwp16ib"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/e0a2fae6eecb6b4b36fe97ad99691e2c5456586f/recipes/org-jira"; + sha256 = "1sbypbz00ki222zpm47yplyprx7h2q076b3l07qfilk0sr8kf4ql"; name = "recipe"; }; - packageRequires = [ cl-lib emacs request s ]; + packageRequires = [ cl-lib dash emacs request s ]; meta = { homepage = "https://melpa.org/#/org-jira"; license = lib.licenses.free; @@ -35630,12 +37424,12 @@ melpaBuild { pname = "org-journal"; ename = "org-journal"; - version = "1.14.2"; + version = "1.15.1"; src = fetchFromGitHub { owner = "bastibe"; repo = "org-journal"; - rev = "2395db4deb255c05d0d3a75c95f53263b74939c9"; - sha256 = "018wjn7v8a1z4z1sycz7b01rdck73ap13cr3lvfqvp9mms94qq71"; + rev = "af2819c41b34fc88e2aee473fbdf695451ba167c"; + sha256 = "05kxs63ssgc6h47cjldxxmx9ggy1fyaxxrxzaq078gj56411gmld"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/org-journal"; @@ -35654,23 +37448,24 @@ , fetchurl , lib , melpaBuild - , org }: + , org + , s }: melpaBuild { pname = "org-kanban"; ename = "org-kanban"; - version = "0.4.6"; + version = "0.4.13"; src = fetchFromGitHub { owner = "gizmomogwai"; repo = "org-kanban"; - rev = "84c9e429ec9fcbe8d6091f15545ee7ebfc1cb589"; - sha256 = "1jpl56mpw0l2camknzcpng6ji4yb6gz2g29i019iprz9cik5g0xm"; + rev = "03387a779167c4acbc04d4970cd33c52a2ca0bcd"; + sha256 = "0arjx1a7skdlmagyy0bbxwc134dn951y99yv4jg6l64j1f31y0yg"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a9f3a10c126fa43a6fa60ee7f8e50c7a9661dbc1/recipes/org-kanban"; sha256 = "1flgqa2pwzw6b2zm3j09i9bvz1i8k03mbwj6l75yrk29lh4njq41"; name = "recipe"; }; - packageRequires = [ dash emacs org ]; + packageRequires = [ dash emacs org s ]; meta = { homepage = "https://melpa.org/#/org-kanban"; license = lib.licenses.free; @@ -35740,12 +37535,12 @@ melpaBuild { pname = "org-make-toc"; ename = "org-make-toc"; - version = "0.2"; + version = "0.3"; src = fetchFromGitHub { owner = "alphapapa"; repo = "org-make-toc"; - rev = "c27e3600473100daa3007fb134cd3fe13e821d90"; - sha256 = "0078qpimkx6ps1cnyb1kaxiz4k93ppm7axsbrm18qic6mvp6i2nc"; + rev = "f1a51017b0f85e0cb9ae7d0d8240f2115f57886c"; + sha256 = "0syhj8q4pv33xgl5qa6x27yhwqvfhffw5xqp819hj4qs1ddlc7j5"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/df87749128bcfd27ca93a65084a2e88cd9ed5c3f/recipes/org-make-toc"; @@ -35767,12 +37562,12 @@ melpaBuild { pname = "org-mime"; ename = "org-mime"; - version = "0.1.1"; + version = "0.1.5"; src = fetchFromGitHub { owner = "org-mime"; repo = "org-mime"; - rev = "0752659f7a19cead182584fabc9544464f69b83e"; - sha256 = "06lay5w03ah3w156spgh4bv2ma4x42pyhr3glfxw7vplfr5klvfz"; + rev = "0db41d5b4e9ef9df640e7212a22708ce636b3986"; + sha256 = "0lcn69vzx5987yz4byxvnk8z7nc2bbww7my6v0hxqkra9xh0iqlm"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/521678fa13884dae69c2b4b7a2af718b2eea4b28/recipes/org-mime"; @@ -35849,12 +37644,12 @@ melpaBuild { pname = "org-noter"; ename = "org-noter"; - version = "1.1.0"; + version = "1.3.0"; src = fetchFromGitHub { owner = "weirdNox"; repo = "org-noter"; - rev = "8f86583bd573cb0f146aae5d2394e615efb0cafe"; - sha256 = "0fgmn7gqh146zrmvc1p7dik93sjajay0n8i8qdd4sbdzw64shzl1"; + rev = "8fb007c329fee8cceca97338ae0e88aaafcb8535"; + sha256 = "0qcdw1px07ggnp74gb3hibd69cq8np9bdpcpvlkm5k32qxhsnwjy"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4a2bc0d95dc2744277d6acbba1f7483b4c14d75c/recipes/org-noter"; @@ -36001,6 +37796,32 @@ license = lib.licenses.free; }; }) {}; + org-pretty-tags = callPackage ({ emacs + , fetchFromGitLab + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "org-pretty-tags"; + ename = "org-pretty-tags"; + version = "0.2.0"; + src = fetchFromGitLab { + owner = "marcowahl"; + repo = "org-pretty-tags"; + rev = "f6146857d1e173a59b322efa5fd18f4bfb204214"; + sha256 = "1vkz3cnavh1x3340qpwmdak7gkpi925mja6xbwxmix03gaz3l3cm"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/9ad60399420764d4ef5d6acddae9241205937e78/recipes/org-pretty-tags"; + sha256 = "19cxfjl6c0yhsc7kfjd6imckcvzdsaws3yd1s3nazhnkm3kan3h4"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/org-pretty-tags"; + license = lib.licenses.free; + }; + }) {}; org-projectile = callPackage ({ dash , emacs , fetchFromGitHub @@ -36093,12 +37914,12 @@ melpaBuild { pname = "org-random-todo"; ename = "org-random-todo"; - version = "0.5.2"; + version = "0.5.3"; src = fetchFromGitHub { owner = "unhammer"; repo = "org-random-todo"; - rev = "60364c18725d2f3898a9099e7e546ae406dd6578"; - sha256 = "0k86hqmqilvkam886mb85v991ivwnglallwj4l9ghszl7awy207m"; + rev = "09228e55f1cc702053d305fdea2b094b548e6dbe"; + sha256 = "0msgsbz39zc9zqgy1s5kmgcqggamnxr98j6bghyqpkxc96zyvp73"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/80fad6244ea3e5bdf7f448c9f62374fae45bae78/recipes/org-random-todo"; @@ -36111,6 +37932,34 @@ license = lib.licenses.free; }; }) {}; + org-re-reveal = callPackage ({ emacs + , fetchFromGitLab + , fetchurl + , htmlize + , lib + , melpaBuild + , org }: + melpaBuild { + pname = "org-re-reveal"; + ename = "org-re-reveal"; + version = "1.0.3"; + src = fetchFromGitLab { + owner = "oer"; + repo = "org-re-reveal"; + rev = "50cc6574c77f12d423f6cd096d8f76feb3673abc"; + sha256 = "1v3z30gpimg4spf6zzqwp9b597zxk89h0vpq6xp58js4rjg4ixk8"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/c3e6c90a6b9004fbf0fbc08556f8effbcde8b468/recipes/org-re-reveal"; + sha256 = "05p8iml0fapi4yf7ky45kf7m0ksz917lxg7c4pdd9hjkjmz29xn9"; + name = "recipe"; + }; + packageRequires = [ emacs htmlize org ]; + meta = { + homepage = "https://melpa.org/#/org-re-reveal"; + license = lib.licenses.free; + }; + }) {}; org-readme = callPackage ({ fetchFromGitHub , fetchurl , header2 @@ -36140,6 +37989,35 @@ license = lib.licenses.free; }; }) {}; + org-recent-headings = callPackage ({ dash + , emacs + , fetchFromGitHub + , fetchurl + , frecency + , lib + , melpaBuild + , org }: + melpaBuild { + pname = "org-recent-headings"; + ename = "org-recent-headings"; + version = "0.1"; + src = fetchFromGitHub { + owner = "alphapapa"; + repo = "org-recent-headings"; + rev = "01633b51ac3958b41cc6c79e6d3714047a91c1e9"; + sha256 = "0gsrzmg3mssh9s28yjm9m866fnhm1pcligssz1q6brga6dm6f2yy"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/668b79c179cbdb77c4049e7c620433255f63d808/recipes/org-recent-headings"; + sha256 = "0b51pyxdk8fdbksx7h1c88sw1liwng8wkjfb1q7w7lglw6f8sjsa"; + name = "recipe"; + }; + packageRequires = [ dash emacs frecency org ]; + meta = { + homepage = "https://melpa.org/#/org-recent-headings"; + license = lib.licenses.free; + }; + }) {}; org-ref = callPackage ({ dash , emacs , f @@ -36219,12 +38097,12 @@ melpaBuild { pname = "org-rich-yank"; ename = "org-rich-yank"; - version = "0.2.0"; + version = "0.2.1"; src = fetchFromGitHub { owner = "unhammer"; repo = "org-rich-yank"; - rev = "f6bbf973bef7063c6ab475db25a630bc7ee317da"; - sha256 = "1by1ymypwlnnnh8fx4ndcwsrif83xyx56mlvmv2lx6wmyliv0py9"; + rev = "d2f350c5296cf05d6c84b02762ba44f09a02b4e3"; + sha256 = "0gxb0fnh5gxjmld0hnk5hli0cvdd8gjd27m30bk2b80kwldxlq1z"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1261823d88459b6ac42d6c55c157a326173663df/recipes/org-rich-yank"; @@ -36237,6 +38115,32 @@ license = lib.licenses.free; }; }) {}; + org-snooze = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "org-snooze"; + ename = "org-snooze"; + version = "0.1.0"; + src = fetchFromGitHub { + owner = "xueeinstein"; + repo = "org-snooze.el"; + rev = "6d30b0dcdfe9538e4400e49046291b7d07274164"; + sha256 = "0qxk6gldgcc0fbraa0l85nk4rpvn5b5nbgzkh1p8d2bkjcxjcm4g"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/fd04816fb53fe01fa9924ec928c1dd41f2219d6a/recipes/org-snooze"; + sha256 = "00iwjj249vzqnfvbmlzrjig1sfhzbpv9kcpz95i3ir1w1qhw5119"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/org-snooze"; + license = lib.licenses.free; + }; + }) {}; org-static-blog = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -36263,6 +38167,63 @@ license = lib.licenses.free; }; }) {}; + org-sticky-header = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , org }: + melpaBuild { + pname = "org-sticky-header"; + ename = "org-sticky-header"; + version = "1.0.1"; + src = fetchFromGitHub { + owner = "alphapapa"; + repo = "org-sticky-header"; + rev = "2847035ec559a46bd7b555f220f819c88371d538"; + sha256 = "0g6hdg11jzzpw7h0f6p795l5aj6pag2nhhfbx90cg28j61d28vwh"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/bc9a600bd156eb766ba5ce37e16f3e8253f37ee8/recipes/org-sticky-header"; + sha256 = "0ign3vjckmxp7n3625wb53qlch07c3s4l67jsvk38dhhcsg1rhnj"; + name = "recipe"; + }; + packageRequires = [ emacs org ]; + meta = { + homepage = "https://melpa.org/#/org-sticky-header"; + license = lib.licenses.free; + }; + }) {}; + org-super-agenda = callPackage ({ dash + , emacs + , fetchFromGitHub + , fetchurl + , ht + , lib + , melpaBuild + , org + , s }: + melpaBuild { + pname = "org-super-agenda"; + ename = "org-super-agenda"; + version = "1.1"; + src = fetchFromGitHub { + owner = "alphapapa"; + repo = "org-super-agenda"; + rev = "a7abfb677f7ab5453f74e89eba0c461307ee20ee"; + sha256 = "0vzf91lsxnhwf52kvm8ycpf0wb9c8l91689vyhwgv4wz8q6cvjwp"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/fd27b2df7594a867529de4b84c8107f82dabe2e9/recipes/org-super-agenda"; + sha256 = "1h3kqvpjq2w0n8qiqwb8wcpdy2g4ac7j6kin0943g7p5gm5yf0ra"; + name = "recipe"; + }; + packageRequires = [ dash emacs ht org s ]; + meta = { + homepage = "https://melpa.org/#/org-super-agenda"; + license = lib.licenses.free; + }; + }) {}; org-sync = callPackage ({ cl-lib ? null , emacs , fetchFromGitHub @@ -36423,6 +38384,33 @@ license = lib.licenses.free; }; }) {}; + org-timeline = callPackage ({ dash + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "org-timeline"; + ename = "org-timeline"; + version = "0.3.0"; + src = fetchFromGitHub { + owner = "Fuco1"; + repo = "org-timeline"; + rev = "aed995c1db6c8bfd9db0a75a978f5e261aab38e5"; + sha256 = "1jz44lag1j4rawqjpcgb9zrs88vfi7vjgdh756hs2ln7i1cnvgh5"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/298bd714f6cefd83d594b0eea731a01fb2faf1ad/recipes/org-timeline"; + sha256 = "0zlhjzjc7jwqh6wcys17hraz76n2hnjwffis02x71maclrf2cfdd"; + name = "recipe"; + }; + packageRequires = [ dash emacs ]; + meta = { + homepage = "https://melpa.org/#/org-timeline"; + license = lib.licenses.free; + }; + }) {}; org-toodledo = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -36582,7 +38570,39 @@ license = lib.licenses.free; }; }) {}; + org-web-tools = callPackage ({ dash + , emacs + , esxml + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , org + , request + , s }: + melpaBuild { + pname = "org-web-tools"; + ename = "org-web-tools"; + version = "1.1.1"; + src = fetchFromGitHub { + owner = "alphapapa"; + repo = "org-web-tools"; + rev = "ca87319cd42eaa2eb02213e81dec19b7bd2918f7"; + sha256 = "0v4qad54r0z7dr7kg5lpfdsazi44qvrbybx9aciyl4w9grfajphb"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/f082bfb480649d21f586b7eb331c19d57e7a84cf/recipes/org-web-tools"; + sha256 = "19zpspap85fjqg5a20ps34rcigb0ws986pj6dzd7xik8s6ia29s7"; + name = "recipe"; + }; + packageRequires = [ dash emacs esxml org request s ]; + meta = { + homepage = "https://melpa.org/#/org-web-tools"; + license = lib.licenses.free; + }; + }) {}; org-wild-notifier = callPackage ({ alert + , async , dash , emacs , fetchFromGitHub @@ -36592,19 +38612,19 @@ melpaBuild { pname = "org-wild-notifier"; ename = "org-wild-notifier"; - version = "0.2.4"; + version = "0.3.0"; src = fetchFromGitHub { owner = "akhramov"; repo = "org-wild-notifier.el"; - rev = "5da63fc00db20b60eb46a241cc8308547d85b3ad"; - sha256 = "1269az078d6d0x7ims2qa6wdv8ql2hn70fwigfqw116v9602ywjr"; + rev = "65054365e4b279cef97acc6d20235c4ca422cf04"; + sha256 = "1h6nb1g075anbqw0a5pdfy5194hldhngvdx20naf5y2nznqj7dn7"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/114552a24f73f13b253e3db4885039b680f6ef33/recipes/org-wild-notifier"; sha256 = "1lmpa614jnkpmfg3m1d2wjn9w0zig3gwd02n3dyjn23n71fiyhkp"; name = "recipe"; }; - packageRequires = [ alert dash emacs ]; + packageRequires = [ alert async dash emacs ]; meta = { homepage = "https://melpa.org/#/org-wild-notifier"; license = lib.licenses.free; @@ -36613,6 +38633,7 @@ org2blog = callPackage ({ fetchFromGitHub , fetchurl , htmlize + , hydra , lib , melpaBuild , metaweblog @@ -36621,19 +38642,19 @@ melpaBuild { pname = "org2blog"; ename = "org2blog"; - version = "1.0.2"; + version = "1.0.3"; src = fetchFromGitHub { - owner = "punchagan"; + owner = "org2blog"; repo = "org2blog"; - rev = "bd2028b6a79daa63fc5481deaed63c4efc681be0"; - sha256 = "1qpw5bs5qjlpw3hphbf2jg0h8bdrcgrb8xavdsx8viwjl013d4ps"; + rev = "55dbed00ebe5c841c43800b39764682759ecf326"; + sha256 = "1fncgiwyigvmkc40bm1nr4nlkm828a04jv33jsnzjzyi2n00mbgx"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/org2blog"; - sha256 = "1xa03k9z8fq74w0w3vfkigz24i6c8s4vib077l16vqik7wg4yh40"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/org2blog"; + sha256 = "15nr6f45z0i265llf8xs87958l5hvafh518k0s7jan7x1l6w5q33"; name = "recipe"; }; - packageRequires = [ htmlize metaweblog org xml-rpc ]; + packageRequires = [ htmlize hydra metaweblog org xml-rpc ]; meta = { homepage = "https://melpa.org/#/org2blog"; license = lib.licenses.free; @@ -36747,12 +38768,12 @@ melpaBuild { pname = "orgit"; ename = "orgit"; - version = "1.5.1"; + version = "1.5.3"; src = fetchFromGitHub { owner = "magit"; repo = "orgit"; - rev = "d909f92d3b1b42184143fd5e6d4c6a2762477ab7"; - sha256 = "1jdc874bxkpbfpllak3vmfsn82p930s565bzff341vzv7aw2528c"; + rev = "ea79e0567ae65fc922fcb05da0f7f4af8eae1973"; + sha256 = "1ywavzki510rslsgfm0cnn3mlh644p61ha2nfb715xhkg7cd3j9g"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/73b5f7c44c90540e4cbdc003d9881f0ac22cc7bc/recipes/orgit"; @@ -36972,6 +38993,32 @@ license = lib.licenses.free; }; }) {}; + outline-minor-faces = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "outline-minor-faces"; + ename = "outline-minor-faces"; + version = "0.1.1"; + src = fetchFromGitHub { + owner = "tarsius"; + repo = "outline-minor-faces"; + rev = "8788f3e6f922f54b4eccfb80e4c246203a7e81c3"; + sha256 = "1ms4mgh8jlvyhdsx5166jqfjdx6rqfbhaqzfrzplgcn6v37097l4"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/f252e45e8bd6e8af1267755d108f378a974ddaf1/recipes/outline-minor-faces"; + sha256 = "1728imdqmmfqw5f67w8xsailn2b09y4xgdr769pd6kx8z6lsi8zb"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/outline-minor-faces"; + license = lib.licenses.free; + }; + }) {}; outlook = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -37023,26 +39070,28 @@ license = lib.licenses.free; }; }) {}; - outshine = callPackage ({ fetchFromGitHub + outshine = callPackage ({ cl-lib ? null + , fetchFromGitHub , fetchurl , lib - , melpaBuild }: + , melpaBuild + , outorg }: melpaBuild { pname = "outshine"; ename = "outshine"; - version = "2.0"; + version = "3.0.1"; src = fetchFromGitHub { owner = "alphapapa"; repo = "outshine"; - rev = "2313595aa2d72ec35e5bee31d1513752eafac01c"; - sha256 = "1jw09qh4vcp3d4qbp9bi4a4kxy88jrxfskh3r1pdbcjlci4wfhjm"; + rev = "3edf0c61e94d36d174120c8080a98023e30a58a2"; + sha256 = "1lh9f5dgdbwfyzxk6nsg1xwdjs8gc6p9mbyyhp6f8fnk3h0y88cg"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8edf78a0ecd2ff8e6e066b80751a31e11a068c3f/recipes/outshine"; sha256 = "1qqmvs17hq5s047nqplg4sa09xg5ck6zwqyg91xmbh71bx80v28v"; name = "recipe"; }; - packageRequires = []; + packageRequires = [ cl-lib outorg ]; meta = { homepage = "https://melpa.org/#/outshine"; license = lib.licenses.free; @@ -37082,12 +39131,12 @@ melpaBuild { pname = "overcast-theme"; ename = "overcast-theme"; - version = "1.1.0"; + version = "1.3.0"; src = fetchFromGitHub { owner = "myTerminal"; repo = "overcast-theme"; - rev = "faafe7c19106cb4db29ba716d117fbb6ebdda3f4"; - sha256 = "1kjvx2wjb9ksdr7w0c4xnvqa4sbplj6rwlh85lbmcg8lwkb1s2sy"; + rev = "769078cb4a6ea87a31fcea0218c06e1ec689b97c"; + sha256 = "044g4y8ykh41b3ybxsgsrqvnkq8i1q8q8livh64b2qqrrjzq6mxg"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d86691c61fc880954a05502a6474cc2fa0d0a43b/recipes/overcast-theme"; @@ -37293,6 +39342,33 @@ license = lib.licenses.free; }; }) {}; + ox-slimhtml = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "ox-slimhtml"; + ename = "ox-slimhtml"; + version = "0.4.5"; + src = fetchFromGitHub { + owner = "balddotcat"; + repo = "ox-slimhtml"; + rev = "a764ef64235845e4f5cfd73244d6cf1e7fee903b"; + sha256 = "14h0kks7i2k53fwbsqb4giafacm58inppqpr5mbj904cy146g29f"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/6fae8e3c4abd37a651d4cbdb337a74f1a7c7366a/recipes/ox-slimhtml"; + sha256 = "16jrw8n26iy69ibr29bp3pqp4lm66alihks37qipd2g5grqqfdnd"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs ]; + meta = { + homepage = "https://melpa.org/#/ox-slimhtml"; + license = lib.licenses.free; + }; + }) {}; ox-twbs = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -37318,6 +39394,33 @@ license = lib.licenses.free; }; }) {}; + ox-wk = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , org }: + melpaBuild { + pname = "ox-wk"; + ename = "ox-wk"; + version = "0.2.0"; + src = fetchFromGitHub { + owner = "w-vi"; + repo = "ox-wk.el"; + rev = "9fc37e7e2f789b0ba07cb117ea1e1dcd14a2fd83"; + sha256 = "00wsx21nmnvci2wfvxaci1kdxplavi2a4dw8ahvl7ncr3b60219f"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/0947993df2d9bee493c2c25760f1ac5bcc1136ac/recipes/ox-wk"; + sha256 = "0rb4xkkqb65ly01lb1gl3gyz4yj9hzv4ydbdzsbvmpj0hrdw5nv3"; + name = "recipe"; + }; + packageRequires = [ emacs org ]; + meta = { + homepage = "https://melpa.org/#/ox-wk"; + license = lib.licenses.free; + }; + }) {}; pabbrev = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -37343,6 +39446,59 @@ license = lib.licenses.free; }; }) {}; + pacfiles-mode = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "pacfiles-mode"; + ename = "pacfiles-mode"; + version = "1.0"; + src = fetchFromGitHub { + owner = "UndeadKernel"; + repo = "pacfiles-mode"; + rev = "180eea7ba33dc4fa5c116b01649c4e9ba3f43276"; + sha256 = "07ki2dz459nv4jshmgk2gq1b8c0x3iqy3nf9rwv0w3b3qm70gn3f"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/bec20443188d9218235c4b31840544a7b1e0690d/recipes/pacfiles-mode"; + sha256 = "08yc3w7zvckg8s1g707hvbbkvi2k52jrk2iwlj0sk22ih3q3yaa9"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs ]; + meta = { + homepage = "https://melpa.org/#/pacfiles-mode"; + license = lib.licenses.free; + }; + }) {}; + pack = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "pack"; + ename = "pack"; + version = "0.1"; + src = fetchFromGitHub { + owner = "10sr"; + repo = "pack-el"; + rev = "ef811927254b0fea170e2f2ddb94f6dd7c356dde"; + sha256 = "0bza802nzncmpnnzzrfqk4b8svbmgjnhrl28mvagi42wci19qf0x"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/96f55c1f15ca24134da378a1ea31f7bb31c84ea9/recipes/pack"; + sha256 = "0lwdhfrpqwpqqg3yhcyj11jv2mm8k9k54qdxlhdi8sxj1fdxmanw"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/pack"; + license = lib.licenses.free; + }; + }) {}; package-build = callPackage ({ cl-lib ? null , fetchFromGitHub , fetchurl @@ -37351,12 +39507,12 @@ melpaBuild { pname = "package-build"; ename = "package-build"; - version = "2.2"; + version = "2.3"; src = fetchFromGitHub { owner = "melpa"; repo = "package-build"; - rev = "9aac3517bde14346eadbe2c7d354672a456b9db3"; - sha256 = "0wa7d5vzxql499knlpbs07l5mw7kmxgwzv63i42arm1sqfplq5df"; + rev = "385cd427ce15ca1715f3dd758b6aa408bf0186b1"; + sha256 = "1412pjghyvzkdlsrrs0ql30vw591bhyk1wlbf49f15dzjbspx3w0"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/948fb86b710aafe6bc71f95554655dfdfcab0cca/recipes/package-build"; @@ -37378,16 +39534,16 @@ melpaBuild { pname = "package-lint"; ename = "package-lint"; - version = "0.5"; + version = "0.7"; src = fetchFromGitHub { owner = "purcell"; repo = "package-lint"; - rev = "f3ad224da996126873ee75484caafa874476ace6"; - sha256 = "03hgzm1d8srimkp9qpb3xi6sh8rvkdwkv7mr005fzhax6awd5a2h"; + rev = "4c90df4919f7b96921a939b3bd88bedfd08d041e"; + sha256 = "0nhznvsl3l3v7w5x2afw0ay31r6jrdvgr1ys9mhcmd1fsk57bj2r"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/9744d8521b4ac5aeb1f28229c0897af7260c6f78/recipes/package-lint"; - sha256 = "0w7nkj4yz5yqmhr3mr7kxa6aqqfs75m3l2578s39940a5sdzirwy"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/dbfb0250a58b2e31c32ff1496ed66a3c5439bd67/recipes/package-lint"; + sha256 = "05akg9cgcqbgja966iv2j878y14d5wvky6m9clkfbw5wyg66xpr0"; name = "recipe"; }; packageRequires = [ cl-lib emacs ]; @@ -37396,6 +39552,33 @@ license = lib.licenses.free; }; }) {}; + package-lint-flymake = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , package-lint }: + melpaBuild { + pname = "package-lint-flymake"; + ename = "package-lint-flymake"; + version = "0.7"; + src = fetchFromGitHub { + owner = "purcell"; + repo = "package-lint"; + rev = "83f34f747a13633c92210e6110e3c5377397761c"; + sha256 = "0mljhvc03a8fj3zn5rz8i3mfcb8vd4xfaxmb7m7h9gr8ap3lwz7g"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/dbfb0250a58b2e31c32ff1496ed66a3c5439bd67/recipes/package-lint-flymake"; + sha256 = "076v3xvbxym7dwwl95j8kynj9kj2xw3gzq6qv6qkm0xls7df4yjz"; + name = "recipe"; + }; + packageRequires = [ emacs package-lint ]; + meta = { + homepage = "https://melpa.org/#/package-lint-flymake"; + license = lib.licenses.free; + }; + }) {}; package-plus = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -37615,12 +39798,12 @@ melpaBuild { pname = "pandoc-mode"; ename = "pandoc-mode"; - version = "2.25"; + version = "2.27.1"; src = fetchFromGitHub { owner = "joostkremers"; repo = "pandoc-mode"; - rev = "436a5847df3326436ec546dbb360d23c8e0e2030"; - sha256 = "0qvfhgwvzfchzg2ap62f3giw0fnbapb2w67j3allpcra34qpnszd"; + rev = "d135bb5b8874f1b16c053215ecb29e22f0f79657"; + sha256 = "1gmw78vjl82xlb4ajfiaf4q6hg35xadhjcvy7kyzr0kzs1zkkk4n"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4e39cd8e8b4f61c04fa967def6a653bb22f45f5b/recipes/pandoc-mode"; @@ -37670,12 +39853,12 @@ melpaBuild { pname = "paradox"; ename = "paradox"; - version = "2.5.2"; + version = "2.5.3"; src = fetchFromGitHub { owner = "Malabarba"; repo = "paradox"; - rev = "17a6690d42a1e854ec270ed930c7494077570fc8"; - sha256 = "1vg5i4cxgn4a8cgx43i75w3cf0d8sb6ig6xxxdj3pvpzc81i53bc"; + rev = "3d918ad74448eb4715be8ac25406e20be552017a"; + sha256 = "1hmkizglppky16k6v1ahxq1awcn8k2x82yrgdvsgkl29qg9s3fkl"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1e6aed365c42987d64d0cd9a8a6178339b1b39e8/recipes/paradox"; @@ -37815,6 +39998,32 @@ license = lib.licenses.free; }; }) {}; + parrot = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "parrot"; + ename = "parrot"; + version = "1.0.1"; + src = fetchFromGitHub { + owner = "dp12"; + repo = "parrot"; + rev = "e9fe686408214884b20c65284a6a595e1c755794"; + sha256 = "079k4j0lcaj0lff1llp29bj5ah2b59byw9lw3jjw9wkl9px87r0m"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/b1b393ffb9b7691e8fc99bee5fc676463038a68d/recipes/parrot"; + sha256 = "0m67b80vc3qivcxs4w6fpzdg6h9d8s75251rlhnbc0xp7271zgnk"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/parrot"; + license = lib.licenses.free; + }; + }) {}; parsebib = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -37901,23 +40110,24 @@ , fetchurl , lib , melpaBuild - , password-store }: + , password-store + , password-store-otp }: melpaBuild { pname = "pass"; ename = "pass"; - version = "1.7"; + version = "1.8"; src = fetchFromGitHub { owner = "NicolasPetton"; repo = "pass"; - rev = "2ccf4f68fa4d2aab7efbdc26ebdc45ac1ef1819c"; - sha256 = "11b8c0qihgkl46hjqx6g1p1ifd7lc3q7jhqds3gr41zsrnlyi3p8"; + rev = "cd79375005a1c1d8b45d38fefa91eef0bd23182c"; + sha256 = "05h4hacv3yygyjcjj004qbyqjpkl4pyhwgp25gsz8mw5c66l70cx"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/428c2d53db69bed8938ec3486dfcf7fc048cd4e8/recipes/pass"; sha256 = "1vvyvnqf6k7wm0p45scwi6ny86slkrcbr36lnxdlkf96cqyrqzfr"; name = "recipe"; }; - packageRequires = [ emacs f password-store ]; + packageRequires = [ emacs f password-store password-store-otp ]; meta = { homepage = "https://melpa.org/#/pass"; license = lib.licenses.free; @@ -37932,12 +40142,12 @@ melpaBuild { pname = "passmm"; ename = "passmm"; - version = "0.3.1"; + version = "0.4.1"; src = fetchFromGitHub { owner = "pjones"; repo = "passmm"; - rev = "2e0cd4e8ef7e6017dbc295664c925d32d6fdc688"; - sha256 = "0f2nkmbphmrnfkx4yw7w0ch33kpdzqjalah2pf6nj0rm629b1dad"; + rev = "b25a92048c788a8477cc5ffe14c0c4a4df19d79a"; + sha256 = "1jg2rs010fmw10ld0bfl6x7af3v9yqfy9ga5ixmam3qpilc8c4fw"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8ae2a1e10375f9cd55d19502c9740b2737eba209/recipes/passmm"; @@ -37987,7 +40197,7 @@ melpaBuild { pname = "password-store"; ename = "password-store"; - version = "1.7.2"; + version = "1.7.3"; src = fetchFromGitHub { owner = "zx2c4"; repo = "password-store"; @@ -38111,6 +40321,32 @@ license = lib.licenses.free; }; }) {}; + path-helper = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "path-helper"; + ename = "path-helper"; + version = "1.1"; + src = fetchFromGitHub { + owner = "arouanet"; + repo = "path-helper"; + rev = "34538affb3f341b3c56a875bb094ddb2b859a8ef"; + sha256 = "0qzsalbxksb44f0x7fndl2qyp1yf575qs56skfzmpnpa82dck88g"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/a70b1a41e45d215be27d392429dcd4f82904295f/recipes/path-helper"; + sha256 = "0fff3l88jgflqpxlcfxfyp2prc2ichajvm7c8i19qhvw70sbasny"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/path-helper"; + license = lib.licenses.free; + }; + }) {}; pathify = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -38278,12 +40514,12 @@ melpaBuild { pname = "pdf-tools"; ename = "pdf-tools"; - version = "0.80"; + version = "0.90"; src = fetchFromGitHub { owner = "politza"; repo = "pdf-tools"; - rev = "920e598c1ec6eb9a48dde32282d10adc9cc3b011"; - sha256 = "1i4647vax5na73basc5dz4lh9kprir00fh8ps4i0l1y3ippnjs2s"; + rev = "c41694fb198e644b3da03917e6792c71cf0c81dc"; + sha256 = "0pvid9gzr1ix2d8azvf37iqjpha0arcc1yfny4n19wpq9r2gvayc"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8e3d53913f4e8a618e125fa9c1efb3787fbf002d/recipes/pdf-tools"; @@ -38346,30 +40582,6 @@ license = lib.licenses.free; }; }) {}; - per-buffer-theme = callPackage ({ cl-lib ? null - , fetchhg - , fetchurl - , lib - , melpaBuild }: - melpaBuild { - pname = "per-buffer-theme"; - version = "1.5"; - src = fetchhg { - url = "https://bitbucket.com/inigoserna/per-buffer-theme.el"; - rev = "9e6200da91b3"; - sha256 = "0w02l91x624cgzdg33a9spgcwy12m607dsfnr1xbc1fi08np4sd1"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/per-buffer-theme"; - sha256 = "1czcaybpfmx4mwff7hs07iayyvgvlhifkickccap6kpd0cp4n6hn"; - name = "per-buffer-theme"; - }; - packageRequires = [ cl-lib ]; - meta = { - homepage = "https://melpa.org/#/per-buffer-theme"; - license = lib.licenses.free; - }; - }) {}; persistent-scratch = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -38378,12 +40590,12 @@ melpaBuild { pname = "persistent-scratch"; ename = "persistent-scratch"; - version = "0.3.1"; + version = "0.3.3"; src = fetchFromGitHub { owner = "Fanael"; repo = "persistent-scratch"; - rev = "0bfd717d28ce9e262741b06341c61306602c7711"; - sha256 = "1fq3m3p81rrvv1yp0cxfznphx7gava11sn09x706lmm1js62jnip"; + rev = "71371a7ce9846754276350fd577dc7543eb52878"; + sha256 = "0n638krbrs2hx97cgkb5nc0fbrd8wsbmb7mz3ym5mx5pvdyxnlgv"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/f1e32702bfa15490b692d5db59e22d2c07b292d1/recipes/persistent-scratch"; @@ -38423,7 +40635,8 @@ license = lib.licenses.free; }; }) {}; - persp-fr = callPackage ({ emacs + persp-fr = callPackage ({ dash + , emacs , fetchFromGitHub , fetchurl , lib @@ -38432,19 +40645,19 @@ melpaBuild { pname = "persp-fr"; ename = "persp-fr"; - version = "0.0.3"; + version = "0.0.4"; src = fetchFromGitHub { owner = "rocher"; repo = "persp-fr"; - rev = "4d2d1a75019f520742da79f1aeed9c4a960677e0"; - sha256 = "1waakbmxwm0xdnl0iznyk61ccwdjvwv5g1naml31r7q0cnk0jfz8"; + rev = "3f536440b120499464106fd25f182d7580192870"; + sha256 = "0bnplxv6igry7ak3wvn2b88zm4aarv35z4z5q38x52k4zac94rl8"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8e09213dddf003a1275eafb767431a507ecf7639/recipes/persp-fr"; sha256 = "0p4379yr1b32l8ghq1axyb8qhp28gnq5qxxvbk3mdzgbwwj8y4b2"; name = "recipe"; }; - packageRequires = [ emacs persp-mode ]; + packageRequires = [ dash emacs persp-mode ]; meta = { homepage = "https://melpa.org/#/persp-fr"; license = lib.licenses.free; @@ -38562,12 +40775,12 @@ melpaBuild { pname = "pfuture"; ename = "pfuture"; - version = "1.2"; + version = "1.6"; src = fetchFromGitHub { owner = "Alexander-Miller"; repo = "pfuture"; - rev = "8b5cd8dfb8769d2b24484a313d3d21938afd3dfb"; - sha256 = "1d63sfwy7qmldhq2xda9dglg91cy2kpjdr2rlmqb48w95wf0am3m"; + rev = "766cfb7d2df8ebc6144fb644d4d858f66657f60d"; + sha256 = "1zjkpanfxhdfq75dy5x2m541qxpcnh67d7aiijdgkb0g5v3yb61d"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5fb70c9f56a58b5c7a2e8b69b191aa2fc7c9bcc8/recipes/pfuture"; @@ -38748,16 +40961,16 @@ melpaBuild { pname = "php-mode"; ename = "php-mode"; - version = "1.19.1"; + version = "1.21.1"; src = fetchFromGitHub { - owner = "ejmr"; + owner = "emacs-php"; repo = "php-mode"; - rev = "aacb133b3d89ed0da8d936a162f49afc2aa5dfd4"; - sha256 = "1al6l37377psiykk6syyyc3sfifr7x3mqyb2rms5kqqkff53x1yx"; + rev = "bcde734c37ca36e6c2a925038760247b09ca8825"; + sha256 = "0shrssfjbqykpyz8kmchizgcl2m29bxp1n1331csi0lnqkb9v540"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/7cdbc35fee67b87b87ec72aa00e6dca77aef17c4/recipes/php-mode"; - sha256 = "1lc4d3fgxhanqr3b8zr99z0la6cpzs2rksj806lnsfw38klvi89y"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/2e41dc09413eaa93704e7d9f55bd2bd01f658806/recipes/php-mode"; + sha256 = "1gqmcynz2wx09xjnk70db1a2pbnrh1vfm5vd6mks1s10y59bh0zq"; name = "recipe"; }; packageRequires = [ cl-lib emacs ]; @@ -38768,26 +40981,28 @@ }) {}; php-runtime = callPackage ({ cl-lib ? null , emacs + , f , fetchFromGitHub , fetchurl , lib - , melpaBuild }: + , melpaBuild + , s }: melpaBuild { pname = "php-runtime"; ename = "php-runtime"; - version = "0.1.0"; + version = "0.2.0"; src = fetchFromGitHub { owner = "emacs-php"; repo = "php-runtime.el"; - rev = "fa4312863245511462b75cb31df2f8558288f4df"; - sha256 = "1glwy0cgnn0z4rnd45pqy0bmyaddhxfjlj778hz7ghy40h9kqbdn"; + rev = "017e0e70f07d6b25e37d5c5f4d271a914b677631"; + sha256 = "1c74xd6p3hfanpd4920agvnar9rjbyvz33kwrzw9vywzrs68ncvh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/615c9ac208d8c20082a8ac83e49e93d99e2cbc89/recipes/php-runtime"; sha256 = "0dvnwajrjsgyqzglzpkx9vwx3f55mrag6dsbdjqc9vvpvxhmgfwb"; name = "recipe"; }; - packageRequires = [ cl-lib emacs ]; + packageRequires = [ cl-lib emacs f s ]; meta = { homepage = "https://melpa.org/#/php-runtime"; license = lib.licenses.free; @@ -38795,6 +41010,7 @@ }) {}; phpactor = callPackage ({ cl-lib ? null , emacs + , f , fetchFromGitHub , fetchurl , lib @@ -38802,19 +41018,19 @@ melpaBuild { pname = "phpactor"; ename = "phpactor"; - version = "0.0.2"; + version = "0.1.0"; src = fetchFromGitHub { owner = "emacs-php"; repo = "phpactor.el"; - rev = "fc301e6388332bb23162adaff2c59bb9214d66a4"; - sha256 = "1iy7pqs2p2h98kr4blnif577qbbyp7ldyrl20g6515k9g888fxab"; + rev = "61e4eab638168b7034eef0f11e35a89223fa7687"; + sha256 = "0dsa1mygb96nlz5gppf0sny3lxaacvmvnkg84c0cs6x223s6zfx8"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/d67b98ecd541c227c011615f67d7a0890f5e1af3/recipes/phpactor"; sha256 = "0w2iszi74y3s6rcn6p2ic545cg319y4jpy83npbh5m98y8jma84m"; name = "recipe"; }; - packageRequires = [ cl-lib emacs ]; + packageRequires = [ cl-lib emacs f ]; meta = { homepage = "https://melpa.org/#/phpactor"; license = lib.licenses.free; @@ -38854,12 +41070,12 @@ melpaBuild { pname = "phpstan"; ename = "phpstan"; - version = "0.2.2"; + version = "0.3.0"; src = fetchFromGitHub { owner = "emacs-php"; repo = "phpstan.el"; - rev = "09102b062b607affc93f2d8a113a9fc9f9cf3016"; - sha256 = "0n21vyvd5c42v03xcfx94dz252z3s413i0f9pwjrssq2yd3x2bgm"; + rev = "1151b8d418af532fdf0732b9793b479c64a364e3"; + sha256 = "0wb9pshgcrq2w9d9fpkywz299ihcb9fffh3fdk8rm1r8irylrjkh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5a2b6cc39957e6d7185bd2bdfa3755e5b1f474a6/recipes/phpstan"; @@ -38884,12 +41100,12 @@ melpaBuild { pname = "phpunit"; ename = "phpunit"; - version = "0.16.0"; + version = "0.17.1"; src = fetchFromGitHub { owner = "nlamirault"; repo = "phpunit.el"; - rev = "a13706733f98be3639c47311fc820b3b50f4bc33"; - sha256 = "0vfvybjinj0knim4ax0xspz7zr3n2y9ap1lvwqx1gwydr06w4jrl"; + rev = "4212307bbcfd8accd2abfa7e4ab55a6751a0b11b"; + sha256 = "1silbfmv85r73pbc7f5cm4znc6644ngihfnhibk1fgp9j0rf7ahc"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/0670b42c0c998daa7bf01080757976ac3589ec06/recipes/phpunit"; @@ -38954,6 +41170,32 @@ license = lib.licenses.free; }; }) {}; + pine-script-mode = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "pine-script-mode"; + ename = "pine-script-mode"; + version = "1.0.0"; + src = fetchFromGitHub { + owner = "EricCrosson"; + repo = "pine-script-mode"; + rev = "9176de41a5c80f7b56e41fb7a9ba7350885a2512"; + sha256 = "1kxdrqa420zbl73jlakilvn1ja83vfqnhqdirgfvp23z4xhcddq6"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/287b781147fe41089fa8c76570bc30539e43e5bc/recipes/pine-script-mode"; + sha256 = "0ihijbcx7m4vhxr1fnfkwjdk6ka1mqzxb8z164yh8yn73qs0saiq"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/pine-script-mode"; + license = lib.licenses.free; + }; + }) {}; pinyin-search = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -39132,26 +41374,27 @@ license = lib.licenses.free; }; }) {}; - plantuml-mode = callPackage ({ fetchFromGitHub + plantuml-mode = callPackage ({ emacs + , fetchFromGitHub , fetchurl , lib , melpaBuild }: melpaBuild { pname = "plantuml-mode"; ename = "plantuml-mode"; - version = "1.2.5"; + version = "1.2.9"; src = fetchFromGitHub { owner = "skuro"; repo = "plantuml-mode"; - rev = "5a2e8d0dd2ba9286fc3c82d8689d25050290f68d"; - sha256 = "1gcv5gmps371wd2sjbq4g5p2yj2ip8lpn81lypwb5xavqa7gjhlv"; + rev = "2b84a2df523904c180a3556c851f59beb0e070d7"; + sha256 = "0l4nxda55ipbrzy0nj59d1vf97m2h9ydviq9r7hiw4mjfq31lzsv"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/38e74bb9923044323f34473a5b13867fe39bed25/recipes/plantuml-mode"; sha256 = "03srbg34512vxcqn95q4r7h2aqbqq0sd5c9ffnbx2a75vsblqc6h"; name = "recipe"; }; - packageRequires = []; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/plantuml-mode"; license = lib.licenses.free; @@ -39402,6 +41645,7 @@ , emacs , fetchFromGitHub , fetchurl + , ht , kv , lib , melpaBuild @@ -39413,12 +41657,12 @@ melpaBuild { pname = "pocket-reader"; ename = "pocket-reader"; - version = "0.1.1"; + version = "0.2"; src = fetchFromGitHub { owner = "alphapapa"; repo = "pocket-reader.el"; - rev = "e65a7e7529ece4fb7a738c062e73d5c07ace9574"; - sha256 = "0bqxsvhmwvf0gpjmmh7pmzyw4lpcarj2prm52bgncch8x1f0gvnp"; + rev = "a7f080ec3e9522f942166de61b24a375b8f1c2bb"; + sha256 = "0l7dln7qcrgzm73vk7jp8wr2kibg18973xmdzyyc162hdnlbrpb0"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/835a7bf2f72987183e9d15ada7ae747fb5715c11/recipes/pocket-reader"; @@ -39428,6 +41672,7 @@ packageRequires = [ dash emacs + ht kv org-web-tools ov @@ -39465,6 +41710,281 @@ license = lib.licenses.free; }; }) {}; + poly-R = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , poly-markdown + , poly-noweb + , polymode }: + melpaBuild { + pname = "poly-R"; + ename = "poly-R"; + version = "0.1.5"; + src = fetchFromGitHub { + owner = "polymode"; + repo = "poly-R"; + rev = "876e1324ce3bc2b6e3b84e03d08d4b5cd06018c6"; + sha256 = "0xjlrdwp7vhk05lq9hkbm8gqda5valxc6siiydrwmpa79n8dbqxd"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/3058351c4500fdcbe7f40b4c96ac8d6de9bbeb1d/recipes/poly-R"; + sha256 = "1v2was6pdynwm22b4n2hkwyrr0c0iir9kp1wz4hjab8haqxz68ii"; + name = "recipe"; + }; + packageRequires = [ emacs poly-markdown poly-noweb polymode ]; + meta = { + homepage = "https://melpa.org/#/poly-R"; + license = lib.licenses.free; + }; + }) {}; + poly-ansible = callPackage ({ ansible-doc + , fetchFromGitLab + , fetchurl + , jinja2-mode + , lib + , melpaBuild + , polymode + , yaml-mode }: + melpaBuild { + pname = "poly-ansible"; + ename = "poly-ansible"; + version = "0.2.1"; + src = fetchFromGitLab { + owner = "mavit"; + repo = "poly-ansible"; + rev = "01c9ec1d8a933fa0b2711940d29331d58c27d2a7"; + sha256 = "02ff0df8bn5cwvnpc2862wsii2xvjh0waymgiybm8j829x1awjp9"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/6d8beef5daa1804f68c30138cb03b5085a282c34/recipes/poly-ansible"; + sha256 = "158z3nbqgrh71myyp4l263lw1gn4iiwxv8pl7fdlyp80hz5zs60y"; + name = "recipe"; + }; + packageRequires = [ ansible-doc jinja2-mode polymode yaml-mode ]; + meta = { + homepage = "https://melpa.org/#/poly-ansible"; + license = lib.licenses.free; + }; + }) {}; + poly-erb = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , polymode }: + melpaBuild { + pname = "poly-erb"; + ename = "poly-erb"; + version = "0.1.5"; + src = fetchFromGitHub { + owner = "polymode"; + repo = "poly-erb"; + rev = "aa8a40a1bb1035144b1cbc053d87305f70a442a7"; + sha256 = "0zsvywh9xs9wb6x70b7j3cpavbx7846p772qlqd141y2lcp1jss9"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/3058351c4500fdcbe7f40b4c96ac8d6de9bbeb1d/recipes/poly-erb"; + sha256 = "01c1z2jll497k1y8835pp54n121y0gkyz1pdxcdjjqv7ia8jwfyy"; + name = "recipe"; + }; + packageRequires = [ emacs polymode ]; + meta = { + homepage = "https://melpa.org/#/poly-erb"; + license = lib.licenses.free; + }; + }) {}; + poly-markdown = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , markdown-mode + , melpaBuild + , polymode }: + melpaBuild { + pname = "poly-markdown"; + ename = "poly-markdown"; + version = "0.1.5"; + src = fetchFromGitHub { + owner = "polymode"; + repo = "poly-markdown"; + rev = "bf41bd2f30066573f562c674d38b9e42a43ed016"; + sha256 = "0w2xy1cksik332qs1i26imxiyd89vbfy3ff7di4b3l14cxz6ybra"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/3058351c4500fdcbe7f40b4c96ac8d6de9bbeb1d/recipes/poly-markdown"; + sha256 = "0pxai5x2vz6j742s3bpcy82dxja6441fsgclhz1hbv2ykazbm141"; + name = "recipe"; + }; + packageRequires = [ emacs markdown-mode polymode ]; + meta = { + homepage = "https://melpa.org/#/poly-markdown"; + license = lib.licenses.free; + }; + }) {}; + poly-noweb = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , polymode }: + melpaBuild { + pname = "poly-noweb"; + ename = "poly-noweb"; + version = "0.1.5"; + src = fetchFromGitHub { + owner = "polymode"; + repo = "poly-noweb"; + rev = "f27f09184573c579bfcd164ba995e8b5bfb84954"; + sha256 = "096a2bm1i2ngyv4gdy0gz8bnwmgr50b4chvryxg2fh840p07540f"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/3058351c4500fdcbe7f40b4c96ac8d6de9bbeb1d/recipes/poly-noweb"; + sha256 = "1692js29wdjpxvcbcaxysbsq6pxdqr38frqf88ksldlz35cmy62b"; + name = "recipe"; + }; + packageRequires = [ emacs polymode ]; + meta = { + homepage = "https://melpa.org/#/poly-noweb"; + license = lib.licenses.free; + }; + }) {}; + poly-org = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , polymode }: + melpaBuild { + pname = "poly-org"; + ename = "poly-org"; + version = "0.1.5"; + src = fetchFromGitHub { + owner = "polymode"; + repo = "poly-org"; + rev = "2465f1d252940f13555252ef7b8e4d02ee3956ce"; + sha256 = "1xw6h7qcva4529vs8v13gsw5zdcgc1sky7i3vbhcchxkm3d4ffdb"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/3058351c4500fdcbe7f40b4c96ac8d6de9bbeb1d/recipes/poly-org"; + sha256 = "1xrhdjmz3p5d3sgbfpmf6wksa1cpxqhy1wg17b5x8ah4w4yhpdca"; + name = "recipe"; + }; + packageRequires = [ emacs polymode ]; + meta = { + homepage = "https://melpa.org/#/poly-org"; + license = lib.licenses.free; + }; + }) {}; + poly-rst = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , polymode }: + melpaBuild { + pname = "poly-rst"; + ename = "poly-rst"; + version = "0.1.5"; + src = fetchFromGitHub { + owner = "polymode"; + repo = "poly-rst"; + rev = "68f5e9ee448f4da33d2acab4874d8c9e91190d16"; + sha256 = "14wgfncwsnb4xs2qcr04d0my7dndjkq79q5gr6bjf74vys6a37ra"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/d3fb89f58903245a8df75060ddd695a05cedb322/recipes/poly-rst"; + sha256 = "08sdnjb5zvlynyxkmajn1j9gnjdjj81ycid9ziydvrb7hb88x2m4"; + name = "recipe"; + }; + packageRequires = [ emacs polymode ]; + meta = { + homepage = "https://melpa.org/#/poly-rst"; + license = lib.licenses.free; + }; + }) {}; + poly-ruby = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , polymode }: + melpaBuild { + pname = "poly-ruby"; + ename = "poly-ruby"; + version = "0.3.1"; + src = fetchFromGitHub { + owner = "knu"; + repo = "poly-ruby.el"; + rev = "794ebb926ace23e9c1398da934701951432dcea2"; + sha256 = "1ffm81hg1gah7hb9x556hda5g4j3gk4c986q9gaacvfizqak3gyy"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/68213703359324d09553a2164f1f6ecca7c16854/recipes/poly-ruby"; + sha256 = "0d8s6bl5ynx0r5cwvfkd52rksiq5kdyrgbxds56r8ls6cfkwqngg"; + name = "recipe"; + }; + packageRequires = [ emacs polymode ]; + meta = { + homepage = "https://melpa.org/#/poly-ruby"; + license = lib.licenses.free; + }; + }) {}; + poly-slim = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , polymode + , slim-mode }: + melpaBuild { + pname = "poly-slim"; + ename = "poly-slim"; + version = "0.1.5"; + src = fetchFromGitHub { + owner = "polymode"; + repo = "poly-slim"; + rev = "2216d7edf315ab8df1e01c2a826041bcdb8bcd01"; + sha256 = "0wcfacd5wpi52glfz4snxh8ghff2qlv8d1jwj890297ikmk7mn1g"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/3058351c4500fdcbe7f40b4c96ac8d6de9bbeb1d/recipes/poly-slim"; + sha256 = "15nh0d8y79rwc24akxfpf346jypadfgjjn6vlgaj6xjnj7wsp7ax"; + name = "recipe"; + }; + packageRequires = [ emacs polymode slim-mode ]; + meta = { + homepage = "https://melpa.org/#/poly-slim"; + license = lib.licenses.free; + }; + }) {}; + polymode = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "polymode"; + ename = "polymode"; + version = "0.1.5"; + src = fetchFromGitHub { + owner = "polymode"; + repo = "polymode"; + rev = "06c4329fdf765b4f9072e20906c8737a19e6646b"; + sha256 = "0wwphs54jx48a3ca6x1qaz56j3j9bg4mv8g2akkffrzbdcb8sbc7"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/3058351c4500fdcbe7f40b4c96ac8d6de9bbeb1d/recipes/polymode"; + sha256 = "15i9masklpy4iwskc7dzqjhb430ggn0496z4wb1zjj0b9xx4wj66"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/polymode"; + license = lib.licenses.free; + }; + }) {}; pomidor = callPackage ({ alert , emacs , fetchFromGitHub @@ -39526,12 +42046,12 @@ melpaBuild { pname = "ponylang-mode"; ename = "ponylang-mode"; - version = "0.0.9"; + version = "0.0.11"; src = fetchFromGitHub { owner = "SeanTAllen"; repo = "ponylang-mode"; - rev = "38786ba7f9f5709d511e27b85028b2dc6aff532d"; - sha256 = "0cr22scxk3y2qdlhhfvwf4fkk2ql1c0r73fxzhw64dhwm4q01pih"; + rev = "963abdcdb398b71fb13a4f7d2ffde23eb20e2a23"; + sha256 = "1h0y6x4h7higwdq569h2lk0iddd23c3csqjk7y5phvc0lq812xs0"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7d51adec3c6519d6ffe9b3f7f8a86b4dbc2c9817/recipes/ponylang-mode"; @@ -39702,6 +42222,32 @@ license = lib.licenses.free; }; }) {}; + posframe = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "posframe"; + ename = "posframe"; + version = "0.4.3"; + src = fetchFromGitHub { + owner = "tumashu"; + repo = "posframe"; + rev = "96dbc49f4f434c0aea59242fbcee663c1533ec05"; + sha256 = "0i5xd7x33zmshhkzpsbpcpc8lgvv5vinnl1a07bnp8r1sp4yahm0"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/fa3488f2ede1201faf4a147313456ed90271f050/recipes/posframe"; + sha256 = "02chwkc7gn7fxaaxsz9msmrhrd62bji5hhb71kdm019x8d84z06w"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/posframe"; + license = lib.licenses.free; + }; + }) {}; powerline = callPackage ({ cl-lib ? null , fetchFromGitHub , fetchurl @@ -39813,12 +42359,12 @@ melpaBuild { pname = "prescient"; ename = "prescient"; - version = "2.0"; + version = "2.2.2"; src = fetchFromGitHub { owner = "raxod502"; repo = "prescient.el"; - rev = "515959a2523b43608c9d06dcf8adde8911ce42b9"; - sha256 = "1k8xk154sql3b2b7hpyxslcgl88aaxq5ak2sr760jsq2qk7878bw"; + rev = "562d25a1c3c5b2e269d82f374f450e6aa90a970e"; + sha256 = "1ncplx5p3cffyzg9ygzqqxj0vpvwrz9rp2n4z6c375a78fyydrk0"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ec02349e31531c347e4a43fbde56ae4386898cc6/recipes/prescient"; @@ -39858,6 +42404,35 @@ license = lib.licenses.free; }; }) {}; + pretty-hydra = callPackage ({ dash + , emacs + , fetchFromGitHub + , fetchurl + , hydra + , lib + , melpaBuild + , s }: + melpaBuild { + pname = "pretty-hydra"; + ename = "pretty-hydra"; + version = "0.1.0"; + src = fetchFromGitHub { + owner = "jerrypnz"; + repo = "major-mode-hydra.el"; + rev = "ad709e5aadb129d3e4087f5246aa0d6127e73f30"; + sha256 = "1d2rf3as2r93a7l3n0zdksb6kh2naw5zg6mbpj03k79zldqkkqhk"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/865917fcc75c4118afc89b8bcc20ebdb6302f15d/recipes/pretty-hydra"; + sha256 = "0gp4cbffpa17svs7fzxighyly7c8brsn3avv3hqvd590kkz3fkri"; + name = "recipe"; + }; + packageRequires = [ dash emacs hydra s ]; + meta = { + homepage = "https://melpa.org/#/pretty-hydra"; + license = lib.licenses.free; + }; + }) {}; pretty-mode = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -39867,14 +42442,14 @@ ename = "pretty-mode"; version = "2.0.3"; src = fetchFromGitHub { - owner = "akatov"; + owner = "pretty-mode"; repo = "pretty-mode"; rev = "4ba8fceb7dd733361ed975d80ac2caa3612fa78b"; sha256 = "013fig9i4fyx16krp2vfv953p3rwdzr38zs6i50af4pqz4vrcfvh"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/4a2fe9feae4c1f007e51272a97917a63dcf6bbe5/recipes/pretty-mode"; - sha256 = "1zxi4nj7vnchiiz1ndx17b719a1wipiqniykzn4pa1w7dsnqg21f"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/pretty-mode"; + sha256 = "0zm6azbl70qmq2ybi576wfs3mx0ny54mf97b94ac501miv4fv0mq"; name = "recipe"; }; packageRequires = []; @@ -39909,30 +42484,6 @@ license = lib.licenses.free; }; }) {}; - processing-snippets = callPackage ({ fetchFromGitHub - , fetchurl - , lib - , melpaBuild }: - melpaBuild { - pname = "processing-snippets"; - version = "1.0"; - src = fetchFromGitHub { - owner = "ptrv"; - repo = "processing2-emacs"; - rev = "228bc56369675787d60f637223b50ce3a1afebbd"; - sha256 = "08ljf39jfmfpdk36nws2dnwpm7y8252zsdprsc85hr1h1ig5xy15"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/ba59561e8a2f259fde170a79844af5e1ef5ed34f/recipes/processing-snippets"; - sha256 = "09vkm9asmjz1in0f63s7bf4amifspsqf5w9pxiy5y0qvmn28fr2r"; - name = "processing-snippets"; - }; - packageRequires = []; - meta = { - homepage = "https://melpa.org/#/processing-snippets"; - license = lib.licenses.free; - }; - }) {}; prodigy = callPackage ({ dash , emacs , f @@ -40025,12 +42576,12 @@ melpaBuild { pname = "project-persist"; ename = "project-persist"; - version = "0.3.2"; + version = "1.0.1"; src = fetchFromGitHub { owner = "rdallasgray"; repo = "project-persist"; - rev = "a4e5de1833edb60656d8a04357c527d34e81d27c"; - sha256 = "1x7hwda1w59b8hvzxyk996wdz6phs6rchh3f1ydf0ab6x7m7xvjr"; + rev = "26d9435bef44da2a1b0892eba822f9f487b98eec"; + sha256 = "0ja2pnbw11a2gwywfyfbdpk8rkm8imy04wkshpnlh0nwn7lf0clm"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/bd81d1f8a30ed951ed94b9a4db13a2f7735ea878/recipes/project-persist"; @@ -40069,29 +42620,6 @@ license = lib.licenses.free; }; }) {}; - project-root = callPackage ({ fetchhg - , fetchurl - , lib - , melpaBuild }: - melpaBuild { - pname = "project-root"; - version = "0.7"; - src = fetchhg { - url = "https://bitbucket.com/piranha/project-root"; - rev = "843ca1f4ab2b"; - sha256 = "0nw02f5lmbqdfnw93d3383sdxx1d31szk23zvjlrmmdwv2124281"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/project-root"; - sha256 = "0xjir204zk254y2x70k9vqwirx2ljmrikpsgn5kn170d1bxvhwmb"; - name = "project-root"; - }; - packageRequires = []; - meta = { - homepage = "https://melpa.org/#/project-root"; - license = lib.licenses.free; - }; - }) {}; projectile = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -40101,12 +42629,12 @@ melpaBuild { pname = "projectile"; ename = "projectile"; - version = "1.0.0"; + version = "2.0.0"; src = fetchFromGitHub { owner = "bbatsov"; repo = "projectile"; - rev = "09d1ef17a20c42dc6a2b1622df8faa8fb1c6ad9f"; - sha256 = "1yyphiy2bc4kzc1bz1akfz5rrdrs0bq3zvsyam9bsx03jixzn7yv"; + rev = "823c0aa9ffd1e8e03b20efe97c16cfb66e2c56c5"; + sha256 = "16y0zcqydfag4igwcbljqymkwjgjxdh97ii616wgdsyjgk9xxd4h"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ca7bf43ef8893bf04e9658390e306ef69e80a156/recipes/projectile"; @@ -40159,12 +42687,12 @@ melpaBuild { pname = "projectile-rails"; ename = "projectile-rails"; - version = "0.16.0"; + version = "0.17.0"; src = fetchFromGitHub { owner = "asok"; repo = "projectile-rails"; - rev = "31c9f90d472e07cb8e49fa8992b187b67c9c9a71"; - sha256 = "0j38zbprkga3iq5wb77zvfa5r3sj3sqv8qh0ab62wm68qy60d6g3"; + rev = "78f5cbe2c212ce19d4732212c46472d1c412659f"; + sha256 = "09aby7yxk28rqz0vaps889idl5n41wj72pa0dr7bqmidq8i5jv4h"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b16532bb8d08f7385bca4b83ab4e030d7b453524/recipes/projectile-rails"; @@ -40340,6 +42868,31 @@ license = lib.licenses.free; }; }) {}; + proof-general = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "proof-general"; + ename = "proof-general"; + version = "4.4"; + src = fetchFromGitHub { + owner = "ProofGeneral"; + repo = "PG"; + rev = "771cab48b2f9ea2ae3fa8f944d0e36a805bf9f3b"; + sha256 = "0bdfk91wf71z80mdfnl8hpinripndcjgdkz854zil6521r84nqk8"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/135c8f2a04739145b500b8742a697907e398d270/recipes/proof-general"; + sha256 = "10zif9ax4d3m8sa9y2xqz7g24xa2r3m2x5l0zqa06wm4afq29p87"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/proof-general"; + license = lib.licenses.free; + }; + }) {}; prop-menu = callPackage ({ cl-lib ? null , emacs , fetchFromGitHub @@ -40374,7 +42927,7 @@ melpaBuild { pname = "protobuf-mode"; ename = "protobuf-mode"; - version = "3.6.0.1"; + version = "3.7.1"; src = fetchFromGitHub { owner = "google"; repo = "protobuf"; @@ -40486,12 +43039,12 @@ melpaBuild { pname = "psysh"; ename = "psysh"; - version = "0.0.4"; + version = "0.0.5"; src = fetchFromGitHub { owner = "emacs-php"; repo = "psysh.el"; - rev = "f72d6fe41af2d9566d41b167cda66e97efdf8cfa"; - sha256 = "0hr8nlxcqfas9wl5ahz9hmvpa8b6k35n4f7iv9dx6zwf5q48q7y7"; + rev = "4709a57cdcf7103c4a606be89849ea3ead2d38a5"; + sha256 = "1apf6mnqp9bg5dfykgvsn02z0xpyx6k34sd2pvicicig7w09kzvb"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/eb13cb0dba1696cc51132cd1ff723fa17f892a7c/recipes/psysh"; @@ -40529,6 +43082,35 @@ license = lib.licenses.free; }; }) {}; + pubmed = callPackage ({ deferred + , emacs + , esxml + , fetchFromGitLab + , fetchurl + , lib + , melpaBuild + , s }: + melpaBuild { + pname = "pubmed"; + ename = "pubmed"; + version = "0.1"; + src = fetchFromGitLab { + owner = "fvdbeek"; + repo = "emacs-pubmed"; + rev = "195e5f6e0cb7b5c20723c2b6adc3ac19543cfcdc"; + sha256 = "0c37kk8lzhlywlg7gagk62c7k21zy6cg9lhz0jy5sab1icrdzps5"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/ee84560c15e7389e902fb4a4c548c08be231de82/recipes/pubmed"; + sha256 = "048kh442dnzgwz4wml2a5griav8zyrfzn5b43n9ky84pm7lgcxp3"; + name = "recipe"; + }; + packageRequires = [ deferred emacs esxml s ]; + meta = { + homepage = "https://melpa.org/#/pubmed"; + license = lib.licenses.free; + }; + }) {}; pug-mode = callPackage ({ cl-lib ? null , emacs , fetchFromGitHub @@ -40636,31 +43218,6 @@ license = lib.licenses.free; }; }) {}; - purescript-mode = callPackage ({ fetchFromGitHub - , fetchurl - , lib - , melpaBuild }: - melpaBuild { - pname = "purescript-mode"; - ename = "purescript-mode"; - version = "13.10"; - src = fetchFromGitHub { - owner = "dysinger"; - repo = "purescript-mode"; - rev = "6a4d4bdd178c65183a715c7729941a0b8fe5f253"; - sha256 = "1wk319akv0scvyyjsd48pisi2i1gkahhsan9hfszrs6xx3anvfd9"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/77175fa470e517fa134751fbb38e144eb5b979ff/recipes/purescript-mode"; - sha256 = "00gz752mh7144nsaka5q3q4681jp845kc5vcy2nbfnqp9b24l55m"; - name = "recipe"; - }; - packageRequires = []; - meta = { - homepage = "https://melpa.org/#/purescript-mode"; - license = lib.licenses.free; - }; - }) {}; pushbullet = callPackage ({ fetchFromGitHub , fetchurl , grapnel @@ -40842,7 +43399,6 @@ }; }) {}; pyim = callPackage ({ async - , cl-lib ? null , emacs , fetchFromGitHub , fetchurl @@ -40853,19 +43409,19 @@ melpaBuild { pname = "pyim"; ename = "pyim"; - version = "1.7"; + version = "1.8"; src = fetchFromGitHub { owner = "tumashu"; repo = "pyim"; - rev = "3b1c5fbdf3b910f96771935785e28cf33d8d54cc"; - sha256 = "1ijfsnjvyys941kgcq00d5dgnkbzj14gb7c9pks0x11bsdl0vr6p"; + rev = "8648d467d79b3bf1c3a99623f9329939cacc40da"; + sha256 = "16rma4cv7xgky0g3x4an27v30jdi6i1sqw43cl99zhkqvp43l3f9"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/151a0af91a58e27f724854d85d5dd9668229fe8d/recipes/pyim"; sha256 = "1ly4xhfr3irlrwvv20j3kyz98g7barridi9n8jppc0brh2dlv98j"; name = "recipe"; }; - packageRequires = [ async cl-lib emacs popup pyim-basedict ]; + packageRequires = [ async emacs popup pyim-basedict ]; meta = { homepage = "https://melpa.org/#/pyim"; license = lib.licenses.free; @@ -40979,6 +43535,32 @@ license = lib.licenses.free; }; }) {}; + pytest-pdb-break = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "pytest-pdb-break"; + ename = "pytest-pdb-break"; + version = "0.0.4"; + src = fetchFromGitHub { + owner = "poppyschmo"; + repo = "pytest-pdb-break"; + rev = "38840190dfbcb307778d079da5e2373525b3ac18"; + sha256 = "0887620iq8xn28aajx7z2pkgh19778w494n8icibwlk2mj2m3gxl"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/4ed7d5d5e81818dad55edda73fbeca8c5021b932/recipes/pytest-pdb-break"; + sha256 = "0dxn53y9zjlip0bjynjql984wrf39pmg5fsx1qgsrj1bw78xqw26"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/pytest-pdb-break"; + license = lib.licenses.free; + }; + }) {}; python-environment = callPackage ({ deferred , fetchFromGitHub , fetchurl @@ -41132,12 +43714,12 @@ melpaBuild { pname = "pyvenv"; ename = "pyvenv"; - version = "1.16"; + version = "1.20"; src = fetchFromGitHub { owner = "jorgenschaefer"; repo = "pyvenv"; - rev = "c1123def7e0d9da57d034d3a6bd3044a738aa8db"; - sha256 = "0mi86m5z3hig65yd0k224wx6x9i0nz9fcv91njy0ypifxh5hcd8v"; + rev = "fa6a028349733b0ecb407c4cfb3a715b71931eec"; + sha256 = "1x052fsavb94x3scpqd6n9spqgzaahzbdxhg4qa5sy6hqsabn6zh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e37236b89b9705ba7a9d134b1fb2c3c003953a9b/recipes/pyvenv"; @@ -41234,7 +43816,7 @@ melpaBuild { pname = "qt-pro-mode"; ename = "qt-pro-mode"; - version = "1.0.0"; + version = "1.0.1"; src = fetchFromGitHub { owner = "EricCrosson"; repo = "qt-pro-mode"; @@ -41259,12 +43841,12 @@ melpaBuild { pname = "quasi-monochrome-theme"; ename = "quasi-monochrome-theme"; - version = "1.1"; + version = "1.2"; src = fetchFromGitHub { owner = "lbolla"; repo = "emacs-quasi-monochrome"; - rev = "7d3afe41c2696ee25e3e4bcce987af1f589208d6"; - sha256 = "0bn1yzxzj6r1k3xcp45l04flq4avzlh0sbjfyiw4nglfhliyvwcf"; + rev = "68060dbbc0bbfe4924387392874186c5a29bb434"; + sha256 = "0zp2xr0bjfqrpb0bqczzick1vvbjmipjavrdi70kw6a9caynvq22"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a9c8498e4bcca19c4c24b2fd0db035c3da477e2a/recipes/quasi-monochrome-theme"; @@ -41303,6 +43885,32 @@ license = lib.licenses.free; }; }) {}; + quilt = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "quilt"; + ename = "quilt"; + version = "0.5"; + src = fetchFromGitHub { + owner = "jstranik"; + repo = "emacs-quilt"; + rev = "161ce2d8ba225bccef0ea8ae4937251b8ccaa892"; + sha256 = "0r9j71rc2jcwfr6yqg8qx4fwypqg1d7p31af258ixygs3qy69x14"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/28ad2d71574c1995287371cfd73648871b9271f0/recipes/quilt"; + sha256 = "0fgni5khjbxy28i2vdwhcvs0z0yx43ll0c4s8br4w7q9s0nlcvmv"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/quilt"; + license = lib.licenses.free; + }; + }) {}; quiz = callPackage ({ cl-lib ? null , emacs , fetchFromGitHub @@ -41392,12 +44000,12 @@ melpaBuild { pname = "railscasts-reloaded-theme"; ename = "railscasts-reloaded-theme"; - version = "1.5.0"; + version = "2.0.0"; src = fetchFromGitHub { owner = "thegeorgeous"; repo = "railscasts-reloaded-theme"; - rev = "077af9cb791d9eba4c561cd7cb3b10d2fcfc39d2"; - sha256 = "1wd6j7m3w81rks6q8mrq5n6p6in0bc93szksds7sx2j2rz6vhfkn"; + rev = "ae77bc04fe5a948f418ec8693f6ff2c9ea757c50"; + sha256 = "1vn9cw343w9vvxhzqi85vyqnj6kxcv99qvva4xjvy1sf65i24wy4"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9817851bd06cbae30fb8f429401f1bbc0dc7be09/recipes/railscasts-reloaded-theme"; @@ -41729,14 +44337,14 @@ ename = "real-auto-save"; version = "0.4"; src = fetchFromGitHub { - owner = "chillaranand"; + owner = "ChillarAnand"; repo = "real-auto-save"; rev = "2775cf497cce60335091817f9fea14f838cd725f"; sha256 = "0s19qy5idnzhd7aq0v538x3ysqh7lzddm98mkf8wmqf4xpws6h3j"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/525039a3dc29190829bf50d608ef09bc4a8557af/recipes/real-auto-save"; - sha256 = "03dbbizpyg62v6zbq8hd16ikrifz8m2bdlbb3g67f2834xqmxha8"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/real-auto-save"; + sha256 = "1li0b2d93ffxjq4jdyzyvjdy5h7q5xllys0w4748d2bhr8q35p3w"; name = "recipe"; }; packageRequires = []; @@ -41759,14 +44367,14 @@ ename = "realgud"; version = "1.4.5"; src = fetchFromGitHub { - owner = "rocky"; - repo = "emacs-dbgr"; + owner = "realgud"; + repo = "realgud"; rev = "09431a4561921bece36a6083b6e27ac4dc82432d"; sha256 = "00dgdiiwnwynlyyh6pfhljrl363s8zd5ynbx9mhd2y8c3gmvfab0"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/7ca56f05df6c8430a5cbdc55caac58ba79ed6ce5/recipes/realgud"; - sha256 = "0qmvd35ng1aqclwj3pskn58c0fi98kvx9666wp3smgj3n88vgy15"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/7a21be3673962d5706f12efa5179a5426bdce82b/recipes/realgud"; + sha256 = "14n6d3jfhpa29nf4ywdg3aw4i51lfkr99b4z8q4833pmpz1jbq2c"; name = "recipe"; }; packageRequires = [ @@ -41807,6 +44415,32 @@ license = lib.licenses.free; }; }) {}; + reazon = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "reazon"; + ename = "reazon"; + version = "0.3"; + src = fetchFromGitHub { + owner = "nickdrozd"; + repo = "reazon"; + rev = "020be6467a83957adcbdcb192b61f2c76a94079b"; + sha256 = "18la2g0srybr10vm1dajgbxi67j1l0cs08mr696hxb6m558yxdv5"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/77020b6ea36a4115bdddbc9599fe4f4193ecc29d/recipes/reazon"; + sha256 = "1lymdc1lnwr7s8s15mnjcavxdyqncy2rkfdj571lf1a37y52jcj1"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/reazon"; + license = lib.licenses.free; + }; + }) {}; rebecca-theme = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -41833,6 +44467,33 @@ license = lib.licenses.free; }; }) {}; + recently = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "recently"; + ename = "recently"; + version = "0.1"; + src = fetchFromGitHub { + owner = "10sr"; + repo = "recently-el"; + rev = "3a331936ba33875d0f2fa47abe056aadbc59150e"; + sha256 = "0hdsv3whr2iqk6xirmfcjpbqjnckzqj54n5q04gh2z01bjxv3d7k"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/bb8d1628e1787cba10fc612f3351e4085e9a3153/recipes/recently"; + sha256 = "1928v1897l1n42zrzqfwkq6nckf9y822qcwy99294rq0b4z83kxs"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs ]; + meta = { + homepage = "https://melpa.org/#/recently"; + license = lib.licenses.free; + }; + }) {}; recover-buffers = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -42020,6 +44681,32 @@ license = lib.licenses.free; }; }) {}; + reformatter = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "reformatter"; + ename = "reformatter"; + version = "0.4"; + src = fetchFromGitHub { + owner = "purcell"; + repo = "reformatter.el"; + rev = "b2963f51009948d5e4885237a148695008d4ccbc"; + sha256 = "0hhy6x1bkwlhdlarsgm06g3am4yh02yqv8qs34szpzgy53x84qah"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/58de8cf8864867f7b3969f3a048a4844837078b4/recipes/reformatter"; + sha256 = "0z4wa0bmhz55c54vx7qxkl9x7ix20mmgygv91sqll68l10g63l0c"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/reformatter"; + license = lib.licenses.free; + }; + }) {}; region-convert = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -42027,16 +44714,16 @@ melpaBuild { pname = "region-convert"; ename = "region-convert"; - version = "0.0.1"; + version = "0.2.0"; src = fetchFromGitHub { owner = "zonuexe"; - repo = "right-click-context"; - rev = "4391dd89616584dc34773d7c304a7db93f9b63a4"; - sha256 = "0kqgznjrdg70y5zcz7y9fxssddib6m1wrgfqza2g97g4gl1m91vf"; + repo = "region-convert.el"; + rev = "173c86b4b3fc187d54bcd85b4d7df27a5ee24965"; + sha256 = "1paljjwr6sfl835m24vj2j4x3zdh3whwayj6dvyfarbhhcwbwphj"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/ddcf4612cccb9a53425c5f0324206d70549d9d9e/recipes/region-convert"; - sha256 = "0daghvxc6gxgric1aa1gw036gbpbzilqz72gr1inqy92hz7xrxfm"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/f6963fc11d697b95ebbdaf7fe27c91a6229d08b6/recipes/region-convert"; + sha256 = "16i1b83jms7djkyb3n0crfxgpz05m68f4nrlvzxjj7fb56mvf9j7"; name = "recipe"; }; packageRequires = []; @@ -42045,6 +44732,31 @@ license = lib.licenses.free; }; }) {}; + region-state = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "region-state"; + ename = "region-state"; + version = "0.1"; + src = fetchFromGitHub { + owner = "xuchunyang"; + repo = "region-state.el"; + rev = "17e2710d14f090201418ad511e3dbff7178b53a6"; + sha256 = "03ij1yjxf23lp24smna91c84iwamac6gi9chc6fmnlhxcpjcm8px"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/716e82eb4ca0845f59a743556b37be8a1ecb29af/recipes/region-state"; + sha256 = "1iq2x1w8lqjjiwjja7r3qki6drvydnk171k9fj9g6rk7wslknz8x"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/region-state"; + license = lib.licenses.free; + }; + }) {}; relax = callPackage ({ fetchFromGitHub , fetchurl , json ? null @@ -42148,7 +44860,8 @@ license = lib.licenses.free; }; }) {}; - replace-with-inflections = callPackage ({ fetchFromGitHub + replace-with-inflections = callPackage ({ cl-lib ? null + , fetchFromGitHub , fetchurl , inflections , lib @@ -42157,19 +44870,19 @@ melpaBuild { pname = "replace-with-inflections"; ename = "replace-with-inflections"; - version = "0.3.0"; + version = "0.3.1"; src = fetchFromGitHub { owner = "knu"; repo = "replace-with-inflections.el"; - rev = "e0486653abf7c248024800132df23993cd617892"; - sha256 = "1fygsr3vjpy0crxlyawwk6k21h1w3svgk79rm7fqg5xzilg6kf25"; + rev = "d9201e047856492f282da65459b28aba25998dbb"; + sha256 = "09yvn489z33hww7mi1flh344faxrpbkzqhm0i6xb2rridcj7acqh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7892eb506b8f4260bde4be2805bf3b2d594ab640/recipes/replace-with-inflections"; sha256 = "1pqpin5ipm3g74zjh1kh6s1gh0aan6202p0y2q00d4ywbz9kn5s0"; name = "recipe"; }; - packageRequires = [ inflections string-inflection ]; + packageRequires = [ cl-lib inflections string-inflection ]; meta = { homepage = "https://melpa.org/#/replace-with-inflections"; license = lib.licenses.free; @@ -42202,7 +44915,7 @@ }; }) {}; req-package = callPackage ({ dash - , fetchFromGitHub + , fetchFromGitLab , fetchurl , ht , lib @@ -42213,15 +44926,15 @@ pname = "req-package"; ename = "req-package"; version = "1.2"; - src = fetchFromGitHub { + src = fetchFromGitLab { owner = "edvorg"; repo = "req-package"; rev = "0c0ac7451149dac6bfda2adfe959d1df1c273de6"; sha256 = "0sx3kw1gpliifbc0gh2z1lvig68v3gwqjbj0izgn77js8kqxad84"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/f58a801f0791566d0c39493a5f82ff0d15d7ab41/recipes/req-package"; - sha256 = "1438f60dnmc3a2dh6hd0wslrh25nd3af797aif70kv6qc71h87vf"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/aa5bc1909f807ec03ad441d78013ba8626cd410a/recipes/req-package"; + sha256 = "1zjhc6f9qcb3j72k1llp6vym25lxnvq1jgqgmnrjxxwc4fhxx595"; name = "recipe"; }; packageRequires = [ dash ht log4e use-package ]; @@ -42447,23 +45160,24 @@ , fetchurl , lib , melpaBuild - , s }: + , s + , wgrep }: melpaBuild { pname = "rg"; ename = "rg"; - version = "1.5.0"; + version = "1.7.0"; src = fetchFromGitHub { owner = "dajva"; repo = "rg.el"; - rev = "943226043dc9055b282d0c035fd1e1cbdd562b22"; - sha256 = "0hm25x1zym4xdc4w1ayn1an4nrg1qwyh12vb9sxas3fplapm500k"; + rev = "77670a4bcdba138a0cef3fb12a20b1492dca902a"; + sha256 = "0hpxkpyylzvzzvqc51ac0r89nv1jdymb8nmsb03sq1svsw5nyag9"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9ce1f721867383a841957370946f283f996fa76f/recipes/rg"; sha256 = "0i78qvqdznh1z3b0mnzihv07j8b9r86dc1lsa1qlzacv6a2i9sbm"; name = "recipe"; }; - packageRequires = [ cl-lib emacs s ]; + packageRequires = [ cl-lib emacs s wgrep ]; meta = { homepage = "https://melpa.org/#/rg"; license = lib.licenses.free; @@ -42521,6 +45235,34 @@ license = lib.licenses.free; }; }) {}; + right-click-context = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , popup }: + melpaBuild { + pname = "right-click-context"; + ename = "right-click-context"; + version = "0.2.0"; + src = fetchFromGitHub { + owner = "zonuexe"; + repo = "right-click-context"; + rev = "173c86b4b3fc187d54bcd85b4d7df27a5ee24965"; + sha256 = "1paljjwr6sfl835m24vj2j4x3zdh3whwayj6dvyfarbhhcwbwphj"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/f6963fc11d697b95ebbdaf7fe27c91a6229d08b6/recipes/right-click-context"; + sha256 = "189nkxkc7lr2fm5qgmylmz6xv6mpphslj4fgpmr8ynnx9z3nxms2"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs popup ]; + meta = { + homepage = "https://melpa.org/#/right-click-context"; + license = lib.licenses.free; + }; + }) {}; rigid-tabs = callPackage ({ emacs , fetchFromGitLab , fetchurl @@ -42662,12 +45404,12 @@ melpaBuild { pname = "robots-txt-mode"; ename = "robots-txt-mode"; - version = "0.0.2"; + version = "0.0.3"; src = fetchFromGitHub { owner = "emacs-php"; repo = "robots-txt-mode"; - rev = "edf1f8082c88cb2ff5a784ba00f92c535aaa1c7d"; - sha256 = "11ig771ck610glb6f3322ka026ikq0b072rlq5z6ymr3rbxagn6j"; + rev = "431efda01e08426d671d51fcf1f98cfbc87f8c16"; + sha256 = "1mpg62ai721aasd1lm5xwcygpkyh9kp4x5zvmd62agmp3i8s78gc"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/eb13cb0dba1696cc51132cd1ff723fa17f892a7c/recipes/robots-txt-mode"; @@ -42790,12 +45532,12 @@ melpaBuild { pname = "rtags"; ename = "rtags"; - version = "2.18"; + version = "2.31"; src = fetchFromGitHub { owner = "Andersbakken"; repo = "rtags"; - rev = "98d668e85cf9ae84e775742752c5656dd2df2f17"; - sha256 = "0raqjbkl1ykga4ahgl9xw49cgh3cyqcf42z36z7d6fz1fw192kg0"; + rev = "fe31db984968d323653da238b0c403951cd1d704"; + sha256 = "0c7payxxd0f4md0jbvys2pn41bazgljmmy2538smfaw3n20m2hmp"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/rtags"; @@ -42846,14 +45588,14 @@ ename = "rubocop"; version = "0.5.0"; src = fetchFromGitHub { - owner = "bbatsov"; + owner = "rubocop-hq"; repo = "rubocop-emacs"; rev = "980bedb455e3551d35a212fae515c054888907c1"; sha256 = "152ara2p59imry2ymfnk5mycbc07rblcmfmqjgm5fijb2x94xv8p"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/00f2cf3e8e28bce5c26c86aba54390ffff48d7da/recipes/rubocop"; - sha256 = "114azl0fasmnq0fxxyiif3363mpg8qz3ynx91in5acqzh902fa3q"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/rubocop"; + sha256 = "07ma4fv015wzpj5j4rdb0ckwwmhkxs3k5vy33qxgwghqmn6xby6x"; name = "recipe"; }; packageRequires = [ emacs ]; @@ -42870,12 +45612,12 @@ melpaBuild { pname = "rubocopfmt"; ename = "rubocopfmt"; - version = "0.2.2"; + version = "0.3.0"; src = fetchFromGitHub { owner = "jimeh"; repo = "rubocopfmt.el"; - rev = "34c69c9c923d0da223f7569a6ecc842095adcf85"; - sha256 = "0aa683r16gvpv07i0gzbil81kgxbgk4pjn510xgalan3fk20nal4"; + rev = "43ffa9d9c3dcc0574038bebd049102642f50b290"; + sha256 = "0vzpfd9xv80ph9xz8psczz46blhsdnac8zh5i944klkxgqdw7x1x"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ac01edffceea771d8fe41326e28dd9881f1661ab/recipes/rubocopfmt"; @@ -42971,12 +45713,12 @@ melpaBuild { pname = "ruby-hash-syntax"; ename = "ruby-hash-syntax"; - version = "0.5"; + version = "0.6"; src = fetchFromGitHub { owner = "purcell"; repo = "ruby-hash-syntax"; - rev = "bc05c3130a5d3237f04c6064297e56de5f73887d"; - sha256 = "1jwvyj3kqchd40h37m75ydl0gjrbm873dhfn1grqg4sgk60hr414"; + rev = "89fc364a837d7a78ecce34380f09c073a83e30e0"; + sha256 = "1nwf3681fa6lfqr14n9wihckpi220hvamv1ppzmrhn4k49vxljy8"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c7d21a43a4bf267507bdc746ec9d0fd82049c0af/recipes/ruby-hash-syntax"; @@ -42998,14 +45740,14 @@ ename = "ruby-test-mode"; version = "1.0"; src = fetchFromGitHub { - owner = "r0man"; + owner = "ruby-test-mode"; repo = "ruby-test-mode"; rev = "a8f41e63d9e9b031fcbad57911b0a28a444f6cdb"; sha256 = "1wck3n2lcsasrg14jimm9iiyxdsh9mr9293q1kx4l0jm0z1k8f43"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/ruby-test-mode"; - sha256 = "06j1q9m08jkwlnkccppf2qlcs48nr8ic9sjdv90rnixc18bw7bpk"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/f781a76a519afc0222cdf7255822a23e33745deb/recipes/ruby-test-mode"; + sha256 = "08x9pskxz1hvvqablx5mdp1g54n28kpmd10qwrasq2zjbdjghj48"; name = "recipe"; }; packageRequires = []; @@ -43123,12 +45865,12 @@ melpaBuild { pname = "rust-mode"; ename = "rust-mode"; - version = "0.3.0"; + version = "0.4.0"; src = fetchFromGitHub { owner = "rust-lang"; repo = "rust-mode"; - rev = "e32765893ce2efb2db6662f507fb9d33d5c1b61b"; - sha256 = "03i79iqhr8fzri018hx65rix1fsdxk38pkvbw5z6n5flbfr4m0k4"; + rev = "106aeab800fb3404baf231845d3e3549ec235afa"; + sha256 = "0bcrklyicxh032rrp585rl5mxd26nb61dp6r5bl935rlcmxzsczh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8f6e5d990d699d571dccbdeb13327b33389bb113/recipes/rust-mode"; @@ -43145,24 +45887,23 @@ , fetchFromGitHub , fetchurl , lib - , melpaBuild - , rust-mode }: + , melpaBuild }: melpaBuild { pname = "rust-playground"; ename = "rust-playground"; - version = "0.2.1"; + version = "0.3"; src = fetchFromGitHub { owner = "grafov"; repo = "rust-playground"; - rev = "2f22ec74e4158984e0e70cf0bf728bbd42eb661b"; - sha256 = "1p80zghdk3hsfj36z30sfkllqr3b4yi279zkg0la9kfg6785x2cg"; + rev = "092c8b11d62dea23953a004744833092bac85fe1"; + sha256 = "0n2c1pjbvy46ic0k84jd3ffwwb5hibjqc1wv7knzkldi5agigfsh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/rust-playground"; sha256 = "0ml0zr9vz2vjd9wr0v706w4v4qqfzpa56rdzfak2kb5llx53j89v"; name = "recipe"; }; - packageRequires = [ emacs rust-mode ]; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/rust-playground"; license = lib.licenses.free; @@ -43360,14 +46101,14 @@ ename = "say-what-im-doing"; version = "0.2"; src = fetchFromGitHub { - owner = "benaiah"; + owner = "Benaiah"; repo = "say-what-im-doing"; rev = "4acc16360a29646040b51db158ba7fdeb711449d"; sha256 = "1gkzgcnh5ib4j5206mx8gbwj5ykay19vqlfg9070m2r09d1a55qf"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/4d22ddcd4ad9514fe0c36f299e7463a4b7e771d7/recipes/say-what-im-doing"; - sha256 = "1hgh842f7gs2sxy7s6zq57nsqy4jjlnjcga6hwzcx0kw3albgz7x"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/say-what-im-doing"; + sha256 = "0wi7318q7mms4wjbzhnsw298bjh7g957dnra0bvg87vv48pz3yfp"; name = "recipe"; }; packageRequires = []; @@ -43384,16 +46125,16 @@ melpaBuild { pname = "sayid"; ename = "sayid"; - version = "0.0.16"; + version = "0.0.17"; src = fetchFromGitHub { - owner = "bpiel"; + owner = "clojure-emacs"; repo = "sayid"; - rev = "8ea70573e6eb1a0d1a450fd501f38c2cf26ce27f"; - sha256 = "02yp3h16yzys27lxcxn7qzb23z95vjdaxhinz0swdixgr5qwwc77"; + rev = "a2625e3975c2bc8449259f0ecd51b28068cbdfac"; + sha256 = "1vw0dc8cx8npy79r53cw129h5s8n12629ah0ypkq15v2rh2hs1gk"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/2bd2e05f9c9328d8f9ae434c86697a4a04af8b0d/recipes/sayid"; - sha256 = "0chz46wmwmsn4ys59pn7lqs4assqy2hv43rvka7kq61jdl4g6fgs"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/9a15a17a5aa78aed72958b2a1bde53f0c0ab5be7/recipes/sayid"; + sha256 = "065mxb2la3dq2zqyb8dfksb18fpqym04nnax5rrp19izcw488qsm"; name = "recipe"; }; packageRequires = [ cider ]; @@ -43504,6 +46245,58 @@ license = lib.licenses.free; }; }) {}; + scratch = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "scratch"; + ename = "scratch"; + version = "1.3"; + src = fetchFromGitHub { + owner = "ieure"; + repo = "scratch-el"; + rev = "4813d82b39a451f2a6d5b730cd7ec49a9bdabcca"; + sha256 = "0yiwq2gc4gdgfhaagpawhb7yrzc4fsnyb10w5d0q4whv64cj8555"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/b46813f928eadfa08a1d4bf94ceeb96dbc2a7c72/recipes/scratch"; + sha256 = "1an30pr64fz13s6lghlcb36b7hn3961vv0yipfp9s140ccygdvh7"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/scratch"; + license = lib.licenses.free; + }; + }) {}; + scrollkeeper = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "scrollkeeper"; + ename = "scrollkeeper"; + version = "0.1.1"; + src = fetchFromGitHub { + owner = "alphapapa"; + repo = "scrollkeeper.el"; + rev = "3c4ac6b6b44686d31c260ee0b19daaee59bdccd6"; + sha256 = "18pp4k12g5dyma362461gdp4ds5d3lx9gky2ishsq39949pkz7qz"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/d9ad5b16ff61c1f8ba1e030ee0988aa51a437022/recipes/scrollkeeper"; + sha256 = "16wqlyxznall4kmd8l68q4d11qyilj8vsji36h7llprxa2m9pg12"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/scrollkeeper"; + license = lib.licenses.free; + }; + }) {}; scss-mode = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -43557,27 +46350,27 @@ secretaria = callPackage ({ alert , emacs , f - , fetchgit + , fetchFromGitLab , fetchurl , lib , melpaBuild - , org , s }: melpaBuild { pname = "secretaria"; ename = "secretaria"; - version = "0.2.7"; - src = fetchgit { - url = "https://bitbucket.org/shackra/secretaria.el"; - rev = "1cd32d957864be1ba5c44a3f505f662832169a28"; - sha256 = "1xvwzmcfwfxsm9chbjnqjsipmv5pqpzk5d0ybw3rcdc47nag3jdg"; + version = "0.2.9"; + src = fetchFromGitLab { + owner = "shackra"; + repo = "secretaria"; + rev = "7428b8302c01468b3c1318e318640f68fd5a61b1"; + sha256 = "16cm8xv7n012hvz757p940ahxp1ygji2vfzsaxal48y4cf026rpl"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/7b4c9ccbf2eeaa290f3b9d1e5eaaeb5b5547b365/recipes/secretaria"; - sha256 = "1a8jf91wplzazssh0s8ld0g8rp57gdfvxlsyn643w3mbp3ny8ybv"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/3eeddbcf95315da40d021a6913ccf344849c4284/recipes/secretaria"; + sha256 = "04pcibzdljcfiha4yh10van8gsjrzn6bdkvkm2ahfcwrmscfn3hf"; name = "recipe"; }; - packageRequires = [ alert emacs f org s ]; + packageRequires = [ alert emacs f s ]; meta = { homepage = "https://melpa.org/#/secretaria"; license = lib.licenses.free; @@ -43757,12 +46550,12 @@ melpaBuild { pname = "sesman"; ename = "sesman"; - version = "0.1.1"; + version = "0.3.4"; src = fetchFromGitHub { owner = "vspinu"; repo = "sesman"; - rev = "0d8d1bef455b58439df333f2a0a0693543b8f098"; - sha256 = "1hgl1djfxiajcc5rnwq7rlli6fhim57mbmabxdsc78p18c1azxhz"; + rev = "3df33018f1c42f09db21cebe39a25b389fe35f02"; + sha256 = "0z5jb4vpbjsi63w3wjy6d2lgz33qdfvrgfb3bszv4hcf6a96y7fc"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/31110e9bd82ad9c817e6cb597fa9c26c4cdc93ed/recipes/sesman"; @@ -43858,12 +46651,12 @@ melpaBuild { pname = "shackle"; ename = "shackle"; - version = "1.0.1"; + version = "1.0.3"; src = fetchFromGitHub { owner = "wasamasa"; repo = "shackle"; - rev = "4189c1c773aab533969b587f7801ffbcd1d7d613"; - sha256 = "1gh30sryh884mpwxpkf0ngkcvixjrxxf4bgq4nqm9n969sr5bhsq"; + rev = "242bacc940c18b6f9c156e1912155d45537fd827"; + sha256 = "0qqx8py21jaq1bdafkfqx18ns4zn305qg84zbmy65spiqnfq8hwk"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/806e7d00f763f3fc4e3b8ebd483070ac6c5d0f21/recipes/shackle"; @@ -44261,23 +47054,23 @@ license = lib.licenses.free; }; }) {}; - shrink-whitespace = callPackage ({ fetchFromGitHub + shrink-whitespace = callPackage ({ fetchFromGitLab , fetchurl , lib , melpaBuild }: melpaBuild { pname = "shrink-whitespace"; ename = "shrink-whitespace"; - version = "0.0.1"; - src = fetchFromGitHub { + version = "0.0.4"; + src = fetchFromGitLab { owner = "jcpetkovich"; repo = "shrink-whitespace.el"; - rev = "24518d58e8e692fa98a73d5e7cd44c1536ab4e42"; - sha256 = "050gmxdk88zlfjwi07jsj2mvsfcv5imhzcpa6ip3cqkzpmw3pl32"; + rev = "0407b89c142bd17e65edb666f35e2c6755bd0867"; + sha256 = "1qxdi2jm3zl5f55c6irsbnxrmqw039pcm99jafn7hg5z5zc3xhbx"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/shrink-whitespace"; - sha256 = "0baqv4wr1wi4wd7cfhqf4y24qkpd72lax596z5lj934ihwf3gggw"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/a403093706d57887111e0d012e85273addaf0d35/recipes/shrink-whitespace"; + sha256 = "12i6xlcgk27bsdfnlcdjww8vxbx1yilaqa0pkh5n0hxb66zi6x15"; name = "recipe"; }; packageRequires = []; @@ -44321,12 +47114,12 @@ melpaBuild { pname = "shx"; ename = "shx"; - version = "0.0.16"; + version = "1.1.0"; src = fetchFromGitHub { owner = "riscy"; repo = "shx-for-emacs"; - rev = "207e6cd292a26fb1162072e2e20df9aa5efd61ef"; - sha256 = "1hnjmnnmg6axgw4z57rmc8h8wpnbi2rwyr4bv2sdrkk12d3i2kp5"; + rev = "a70f0cdc3c80b7b5b15d287d9b03e49f943bad57"; + sha256 = "0ihwiw9dxr6vln4dmg5dp75353ip9nc80hjfl1w3j0g3m8vhjbs2"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7a2ff78ae3c4289ebf9e06cdfd8f8082c395a16f/recipes/shx"; @@ -44424,12 +47217,12 @@ melpaBuild { pname = "simple-bookmarks"; ename = "simple-bookmarks"; - version = "1.8"; + version = "1.9"; src = fetchFromGitHub { owner = "jtkDvlp"; repo = "simple-bookmarks"; - rev = "e89e8163a0705e28e9346320a1ee13c1aae249af"; - sha256 = "0bx8inaihfs48rzi01nlr3wp2iw0bnk318hhgpd4zg64ap3sgdsv"; + rev = "54e8d771bcdb0eb235b31c0aa9642171369500e5"; + sha256 = "0i4yw341b7iml2j8mxclixsrdqlvixfxpabaxp4jh70aq2zfw1cf"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a60dd50c388a75ce21a5aec9acf938835d7afdbc/recipes/simple-bookmarks"; @@ -44475,12 +47268,12 @@ melpaBuild { pname = "simpleclip"; ename = "simpleclip"; - version = "1.0.4"; + version = "1.0.8"; src = fetchFromGitHub { owner = "rolandwalker"; repo = "simpleclip"; - rev = "d461c462c237cd896553adb468cd77499d0d26ad"; - sha256 = "1dfa1sa7rbadj36nbzyxbpbvkdlh1s5n0mx6hxn52psqin1ra6yn"; + rev = "63b1a5356e6ff839b1dbacdf22a5c7a275ec88e6"; + sha256 = "0iic8r0q21gjhj0d1k5nin9abx3789j0a37n96a5sx6rb4ps4f2v"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7c921e27d6aafc1b82d37f6beb8407840034377a/recipes/simpleclip"; @@ -44714,16 +47507,16 @@ melpaBuild { pname = "slime"; ename = "slime"; - version = "2.22"; + version = "2.23"; src = fetchFromGitHub { owner = "slime"; repo = "slime"; - rev = "8d9fdf34fe542ec280ee042ee7bdea16e512d3c0"; - sha256 = "0zsliqfd92ivg2y2w1z6scn6i3w658x8bi1wd0rvf6mddc74lvj6"; + rev = "56e32da66840e3d03947da2fdf9730824cfc870a"; + sha256 = "05pgcf3sd4dwl40kfw00s3si8rz8rk9pis81jlxdi5w6qzmlg7v1"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/14c60acbfde13d5e9256cea83d4d0d33e037d4b9/recipes/slime"; - sha256 = "04zcvjg0bbx5mdbsk9yn7rlprakl89dq6jmnq5v2g0n6q0mh6ign"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/47609a81b81330820f6ddf717400dc7fa06aaabf/recipes/slime"; + sha256 = "1ds8iprxr04wdhnnw4129v5l3w3k5rjp5ax156ppqr5i7wxx1zac"; name = "recipe"; }; packageRequires = [ cl-lib macrostep ]; @@ -44847,16 +47640,16 @@ melpaBuild { pname = "sly"; ename = "sly"; - version = "2.14"; + version = "2.22"; src = fetchFromGitHub { - owner = "capitaomorte"; + owner = "joaotavora"; repo = "sly"; - rev = "9dfa53bbaa33c4e91fc58f816d0a766ae94f47c9"; - sha256 = "0bw6rvpkfpv5shih0ywjw6pa5h2a8v1xpvkxbijqd4dpdj3dlyj9"; + rev = "950b392887ef6f2a5247152383d57d275d3a3744"; + sha256 = "18i87mdqz90s0b9rm21dcc9zgymnxnj4wds4k2rd1z181ly6zcbq"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/79e7213183df892c5058a766b5805a1854bfbaec/recipes/sly"; - sha256 = "1pmyqjk8fdlzwvrlx8h6fq0savksfny78fhmr8r7b07pi20y6n9l"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/974d8812a4c5e45221ce3c32ae72c15ed29665c3/recipes/sly"; + sha256 = "000g5qpy45zqrh3g4mk70mh2lakadfq18djrq7cabagw1qmhqy41"; name = "recipe"; }; packageRequires = []; @@ -44874,12 +47667,12 @@ melpaBuild { pname = "smart-mode-line"; ename = "smart-mode-line"; - version = "2.11.0"; + version = "2.12.0"; src = fetchFromGitHub { owner = "Malabarba"; repo = "smart-mode-line"; - rev = "5aca51956fae55d7310c1f96b5d128201087864a"; - sha256 = "1wpavjkxszq1xr49q0qvqniq751s69axgnsdv37n73k3zl527vqw"; + rev = "9a81b51cd37fc5b6d47abfbb2b32f98f36a0fcfc"; + sha256 = "055w1pcr96bfgbmig6ll2sgcisw82rf9dh4n8dhnsl75p32g1rcn"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1e6aed365c42987d64d0cd9a8a6178339b1b39e8/recipes/smart-mode-line"; @@ -44902,7 +47695,7 @@ melpaBuild { pname = "smart-mode-line-powerline-theme"; ename = "smart-mode-line-powerline-theme"; - version = "2.11.0"; + version = "2.12.0"; src = fetchFromGitHub { owner = "Malabarba"; repo = "smart-mode-line"; @@ -45209,12 +48002,12 @@ melpaBuild { pname = "snakemake-mode"; ename = "snakemake-mode"; - version = "1.3.0"; + version = "1.5.0"; src = fetchFromGitHub { owner = "kyleam"; repo = "snakemake-mode"; - rev = "6cf6d20db2e5253ce3f86e302651faa28f220aa7"; - sha256 = "0dmvd5f5rb5kkzjkhzz17b40hlld23sy5wyzr8vq763f6pzs37kk"; + rev = "0cadd2bbd20aae1555561e81ed72fec43ec7296e"; + sha256 = "1i4cwdyhfyawfx07i63iqdx524mlphgbrl44wqqnnxrbdqm0h534"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c3a5b51fee1c9e6ce7e21555faa355d118d34b8d/recipes/snakemake-mode"; @@ -45346,12 +48139,12 @@ melpaBuild { pname = "solaire-mode"; ename = "solaire-mode"; - version = "1.0.6"; + version = "1.0.7"; src = fetchFromGitHub { owner = "hlissner"; repo = "emacs-solaire-mode"; - rev = "abf2ce4da77d0877efb4a035687390ce921eda4f"; - sha256 = "15wszz841vd9i59gq2xxh8rk7bh7agwglh2dwhxgs70m24hsp3p4"; + rev = "d4e0babefc1d6bf157dcd1fe4da5758036c9d8ca"; + sha256 = "1s50nfmzn7ngpkg3v34j7zpjaap0jly1l7c17svhhv074wnjrcm0"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/52c69070eef3003eb53e1436c538779c74670ce6/recipes/solaire-mode"; @@ -45390,6 +48183,31 @@ license = lib.licenses.free; }; }) {}; + solidity-flycheck = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "solidity-flycheck"; + ename = "solidity-flycheck"; + version = "0.1.9"; + src = fetchFromGitHub { + owner = "ethereum"; + repo = "emacs-solidity"; + rev = "b5d95ef678305ca70b17e94fc2ee4289a8328048"; + sha256 = "04l3hvfpgqiaxdxh8s2cg2rx4cy50i7a411q81g8661fx60c6h6p"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/e561d869f4e32bad5d1a8678f67e591ff586d6de/recipes/solidity-flycheck"; + sha256 = "1lx64y77q33a2lrg5sj5h56gicw1lk8qmxmva5bgc4zxxd8qwz6f"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/solidity-flycheck"; + license = lib.licenses.free; + }; + }) {}; solidity-mode = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -45405,8 +48223,8 @@ sha256 = "1wcy5z4wggn3zs9h1kyvm0ji51ppjcqdmym3mmxbrhan6a0kq724"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/bb9df5ec0692352b6494d435d11166f4ea26c99e/recipes/solidity-mode"; - sha256 = "1qdzdivrf5yaa80p61b9r1gryw112v5l2m2jkvkc7glhkhrcvwsx"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/02d3fdae111b14a87aaa7a1b3f44e545c5e3d2ac/recipes/solidity-mode"; + sha256 = "15vz3ayl1p3dn2cavm68rqv901c1b7dxm2j8iazwzj3q15ln8xvn"; name = "recipe"; }; packageRequires = []; @@ -45425,14 +48243,14 @@ ename = "sos"; version = "0.1"; src = fetchFromGitHub { - owner = "omouse"; + owner = "rudolfolah"; repo = "emacs-sos"; rev = "c3906ca6872f460c0bdd276410519308626313f1"; sha256 = "0b5w3vdr8llg3hqd22gnc6b6y089lq6vfk0ajkws6gfldz2gg2v1"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/36e02223b4ff9c0be4662991d734ca4a4e756f4b/recipes/sos"; - sha256 = "1gkd0plx7152s3dj8a9lwlwh8bgs1m006s80l10agclx6aay8rvb"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/sos"; + sha256 = "0d0n2h7lbif32qgz0z2c36536mrx36d22gq86xm7kmxday6iy19k"; name = "recipe"; }; packageRequires = [ org ]; @@ -45827,12 +48645,12 @@ melpaBuild { pname = "spotify"; ename = "spotify"; - version = "0.3.3"; + version = "0.3.4"; src = fetchFromGitHub { owner = "remvee"; repo = "spotify-el"; - rev = "472f6e61d732a7e700f5505e2a445fc0b030916a"; - sha256 = "0kc17ijjd8ygwjji23ndhq75kqjyxlb8kg9q0ij0l38q3b903fhi"; + rev = "29577cf1188161f98b8358c149aaf47b2c137902"; + sha256 = "0h6yhfvvyd9sd5d37d3ng3z56zfb546vl95qjq16kcvxq00hdn1v"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/spotify"; @@ -45905,12 +48723,12 @@ melpaBuild { pname = "sql-impala"; ename = "sql-impala"; - version = "1.0"; + version = "1.1"; src = fetchFromGitHub { owner = "jterk"; repo = "sql-impala"; - rev = "68248e9851b153850542ed1f709298bb9ab59610"; - sha256 = "12zyw8b8s3jga560wv141gc4yvlbldvfcmpibns8wrpx2w8aivfj"; + rev = "466e7c0c789ec3e5e8a276c8f6754f91bb584c3e"; + sha256 = "02psgbm06wivdm2cmjnj2vy05lnljxn44hj2arw2fr7x2qwn9r35"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/sql-impala"; @@ -45923,6 +48741,57 @@ license = lib.licenses.free; }; }) {}; + sql-presto = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "sql-presto"; + ename = "sql-presto"; + version = "1.0.4"; + src = fetchFromGitHub { + owner = "kat-co"; + repo = "sql-prestodb"; + rev = "bcda455e300a1af75c7bb805882329bc844703b2"; + sha256 = "00whmsylr802fx87yqbr06rbymyln7kq7750pcz26xm1jgja7cax"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/a21349775e018822a06bca3c3c338879548e286f/recipes/sql-presto"; + sha256 = "1rjfgvwgl63xn047vmsmj1s31wvrd24v6ibf9nri6qmffhv9i9zb"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/sql-presto"; + license = lib.licenses.free; + }; + }) {}; + sqlformat = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "sqlformat"; + ename = "sqlformat"; + version = "0.1"; + src = fetchFromGitHub { + owner = "purcell"; + repo = "sqlformat"; + rev = "b70b05bf469a27c1a2940eeaa1a5c8cc93d805fd"; + sha256 = "14n2yjmi4ls8rmpvvw6d7cz5f6dcg7laaljxnhwbagfd5j4sdfrm"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/6bdaa1ccae12f2ea779ac6989607d8027feac2c9/recipes/sqlformat"; + sha256 = "07lf2gx629429b41qr04gl98gplb538gb5hw7idzrmi3higrmv8m"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/sqlformat"; + license = lib.licenses.free; + }; + }) {}; sqlup-mode = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -45973,26 +48842,27 @@ license = lib.licenses.free; }; }) {}; - srcery-theme = callPackage ({ fetchFromGitHub + srcery-theme = callPackage ({ emacs + , fetchFromGitHub , fetchurl , lib , melpaBuild }: melpaBuild { pname = "srcery-theme"; ename = "srcery-theme"; - version = "0.1.0"; + version = "0.2.0"; src = fetchFromGitHub { owner = "srcery-colors"; repo = "srcery-emacs"; - rev = "8e4627430abcedc0ed320f620c4411985c9913e1"; - sha256 = "0lh9hp4aypfwhc6bgywlqxcwyms27yjw71yfcq48iwnqzafpdnkr"; + rev = "0114420262f5e76cdc63f333d00522229aa77732"; + sha256 = "1am3nxa9n0irzw0mrb93lmppmw9d5c2yjfgpipvcvwsij3g6k2aj"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2654fc05f55c7fab7d550b7db1d187edc9ff0f42/recipes/srcery-theme"; sha256 = "1bnvf9v7g2mpx8519lh73fphhr4cqd33qlw22qyxnqiz5cz93lsp"; name = "recipe"; }; - packageRequires = []; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/srcery-theme"; license = lib.licenses.free; @@ -46024,6 +48894,32 @@ license = lib.licenses.free; }; }) {}; + srv = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "srv"; + ename = "srv"; + version = "0.2"; + src = fetchFromGitHub { + owner = "legoscia"; + repo = "srv.el"; + rev = "b1eb7b109bc1c616dbf027429a90dc3b1a4263f1"; + sha256 = "05kp8ajbqk7vxzkv23akyk2m7yg81pbrxpl3dsw67101sjazsybi"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/6b0b7f22631e7749da484ced9192d8ae5e1be941/recipes/srv"; + sha256 = "0xrgbi63vg0msxkcmcnvijkxa9y0s7613liqac7fs9514yvkbwin"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/srv"; + license = lib.licenses.free; + }; + }) {}; ssass-mode = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -46067,8 +48963,8 @@ sha256 = "0895n7bss4wdydic1gflr03f2cwdyqywl16gvb599lpn288jhwvz"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/b9a9e4bd0205908bfb99762c7daaf3be276bb03a/recipes/ssh-agency"; - sha256 = "0lci3fhl2p9mwilvq1njzy13dkq5cp5ighymf3zs4gzm3w0ih3h8"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/e608f40d00a3b2a80a6997da00e7d04f76d8ef0d/recipes/ssh-agency"; + sha256 = "1b25fl1kk4mwsd25pg9s0lazlpmaa6s9wnfgvlqk8k65d7p7idzz"; name = "recipe"; }; packageRequires = [ dash emacs ]; @@ -46085,12 +48981,12 @@ melpaBuild { pname = "ssh-deploy"; ename = "ssh-deploy"; - version = "1.6"; + version = "3.0"; src = fetchFromGitHub { owner = "cjohansson"; repo = "emacs-ssh-deploy"; - rev = "b13ba60ea175798cfd1395ab833082789724073d"; - sha256 = "0fgcxvs2ngv65chnkb9w5rrak187xkwxiwmpc25iqvrrnrfr43s6"; + rev = "5b263c17a0709bb7944983fd2ae50bf022c2d412"; + sha256 = "1z6dbq0fhynmanhzhpwgsf4bx6dkgqfajp6bz3gj5x2wspn866ks"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/ssh-deploy"; @@ -46212,12 +49108,12 @@ melpaBuild { pname = "stgit"; ename = "stgit"; - version = "0.18"; + version = "0.19"; src = fetchFromGitHub { owner = "ctmarinas"; repo = "stgit"; - rev = "25a7ad1bbe8d529ab6c5bb8557d39650d0b2378f"; - sha256 = "17m3nb64wckh8jzcxah284cd8fakd4ja1mhix6v8nm9kknqic6xc"; + rev = "a29fc8873fca30cb5b13d94743a9010de28e2610"; + sha256 = "1xhxba0m78zx00m55y125bs1zxibyg7d9nw8xw9gqyshcncjffpg"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/726da64b7baea1735a916b826bdfb8f575860e21/recipes/stgit"; @@ -46263,12 +49159,12 @@ melpaBuild { pname = "string-inflection"; ename = "string-inflection"; - version = "1.0.7"; + version = "1.0.10"; src = fetchFromGitHub { owner = "akicho8"; repo = "string-inflection"; - rev = "a9de404b2ece932da9b1c9aa1c29dbf7cf506e76"; - sha256 = "1km8xxb0zc3yll1yzlsrrz14ch3inblpq2nhglwp1wskqwdhwly5"; + rev = "9b08372301e3c5f91cb278ee0e00a48845a42cb6"; + sha256 = "0j3ms2cxbv24kr27r2jhzxpdih6w43gjdkm3sqd28c28ycab8d4b"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5c2e2b6dba8686236c2595475cfddac5fd700e60/recipes/string-inflection"; @@ -46574,12 +49470,12 @@ melpaBuild { pname = "super-save"; ename = "super-save"; - version = "0.2.0"; + version = "0.3.0"; src = fetchFromGitHub { owner = "bbatsov"; repo = "super-save"; - rev = "73397501fa5b01c02b9ae94f82a8cb37d1ed105f"; - sha256 = "0cw3yf2npy2ah00q2whpn52kaybbccw1qvfzsww0x4zshlrwvvvq"; + rev = "62512f60d6685d8601e2021d95e77603b6d96885"; + sha256 = "0cn39d1qfm119bxb9sdl43ya2vvadfp22qwdn3j843wyf92hpdn4"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9730b65787b26d3909952cf246a01bd349e5fbab/recipes/super-save"; @@ -46684,16 +49580,16 @@ melpaBuild { pname = "swift-mode"; ename = "swift-mode"; - version = "6.0.0"; + version = "7.1.0"; src = fetchFromGitHub { - owner = "chrisbarrett"; + owner = "swift-emacs"; repo = "swift-mode"; - rev = "d2f2f1da6085c6fad2709b951d6891dd139a6080"; - sha256 = "1ldf593qzbscwlngbabxb52kcpriwhglk95l82qs8y3q1x6aj0cw"; + rev = "cde97e20a8c80075920f0e01ec76de1816aed114"; + sha256 = "1igk1d585f4bj7pw2ikfh843sfp0k80ibjkwvsjjpx272lz57qqk"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/19cb133191cd6f9623e99e958d360113595e756a/recipes/swift-mode"; - sha256 = "1imr53f8agfza9zxs1h1mwyhg7yaywqqffd1lsvm1m84nvxvri2d"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/swift-mode"; + sha256 = "103nix9k2agxgfpwyhsracixl4xvzqlgidd25r1fpj679hr42bg8"; name = "recipe"; }; packageRequires = [ emacs seq ]; @@ -46737,12 +49633,12 @@ melpaBuild { pname = "swiper"; ename = "swiper"; - version = "0.10.0"; + version = "0.11.0"; src = fetchFromGitHub { owner = "abo-abo"; repo = "swiper"; - rev = "4a2cee03519f98cf95b29905dec2566a39ff717e"; - sha256 = "14vnigqb5c3yi4q9ysw1fiwdqyqwyklqpb9wnjf81chm7s2mshnr"; + rev = "525b2e4887dd839045313f32d3ddeb5cab4c7a7e"; + sha256 = "009n8zjycs62cv4i1k9adbb284wz2w3r13xki2740sj34k683v13"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e64cad81615ef3ec34fab1f438b0c55134833c97/recipes/swiper"; @@ -46816,12 +49712,12 @@ melpaBuild { pname = "switch-window"; ename = "switch-window"; - version = "1.6.1"; + version = "1.6.2"; src = fetchFromGitHub { owner = "dimitri"; repo = "switch-window"; - rev = "40565f7bdf11e86d882185fa4c4ec77b96dcc21c"; - sha256 = "047qx4vk86b9jbvv5w477215mkmqpdwl5wd4n9fhp5xjni11jnhx"; + rev = "204f9fc1a39868a2d16ab9370a142c8c9c7a0943"; + sha256 = "0rci96asgamr6qp6nkyr5vwrnslswjxcjd96yccy4aivh0g66yfg"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7d2204e3b53ade1e400e143ac219f3c7ab63a1e9/recipes/switch-window"; @@ -46889,6 +49785,32 @@ license = lib.licenses.free; }; }) {}; + symbol-overlay = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "symbol-overlay"; + ename = "symbol-overlay"; + version = "4.1"; + src = fetchFromGitHub { + owner = "wolray"; + repo = "symbol-overlay"; + rev = "d1464042783e252f5cac1fcac82fee16fc3534db"; + sha256 = "0d5ir4f3xmz3kr0w93zw45ha4hzz4rvldiza3q9fmqm7m1w2c995"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/c2a468ebe1a3e5a35ef40c59a62befbf8960bd7b/recipes/symbol-overlay"; + sha256 = "1al60x2mnjsv99jd10v5sd56zz185wsddiq7128phf1l35bkibis"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/symbol-overlay"; + license = lib.licenses.free; + }; + }) {}; symbolword-mode = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -47016,29 +49938,6 @@ license = lib.licenses.free; }; }) {}; - syntax-subword = callPackage ({ fetchhg - , fetchurl - , lib - , melpaBuild }: - melpaBuild { - pname = "syntax-subword"; - version = "0.2"; - src = fetchhg { - url = "https://bitbucket.com/jpkotta/syntax-subword"; - rev = "ad0db0fcb464"; - sha256 = "1wcgr6scvwwfmhhjbpq3riq0gmp4g08ffbl91fpgp72j8zrc1c6x"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/syntax-subword"; - sha256 = "1as89ffqz2h69fdwybgs5wibnrvskm7hd58vagfjkla9pjlpffpm"; - name = "syntax-subword"; - }; - packageRequires = []; - meta = { - homepage = "https://melpa.org/#/syntax-subword"; - license = lib.licenses.free; - }; - }) {}; system-packages = callPackage ({ emacs , fetchFromGitLab , fetchurl @@ -47047,12 +49946,12 @@ melpaBuild { pname = "system-packages"; ename = "system-packages"; - version = "1.0.5"; + version = "1.0.10"; src = fetchFromGitLab { owner = "jabranham"; repo = "system-packages"; - rev = "7b87f7dbd53d7bd365157d831893f7a70ae67910"; - sha256 = "02h3qf455y3dpmf4f312x9dvxrndp9dkyyvs1vw6g9aqahrr4vys"; + rev = "54f8243a8910535273dca9c439b257975a7ce405"; + sha256 = "1c67f6846p018y5dw7dkn79csrwfvq5rs8308gw7g3r4x40s2psb"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7d3c7af03e0bca3f834c32827cbcca29e29ef4db/recipes/system-packages"; @@ -47143,6 +50042,31 @@ license = lib.licenses.free; }; }) {}; + tabbar = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "tabbar"; + ename = "tabbar"; + version = "2.2"; + src = fetchFromGitHub { + owner = "dholm"; + repo = "tabbar"; + rev = "82bbda31cbe8ef367dd6501c3aa14b7f2c835910"; + sha256 = "01sw76wp8bvh21h30pkc3kjr98c8m6qid6misk1y7hkyld0bzxay"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/806420d75561cbeffbc1b387345a56c21cc20179/recipes/tabbar"; + sha256 = "1y376nz1xmchwns4fz8dixbb7hbqh4mln78zvsh7y32il98wzvx9"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/tabbar"; + license = lib.licenses.free; + }; + }) {}; tabbar-ruler = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -47222,6 +50146,56 @@ license = lib.licenses.free; }; }) {}; + tao-theme = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "tao-theme"; + ename = "tao-theme"; + version = "1.1.1"; + src = fetchFromGitHub { + owner = "11111000000"; + repo = "tao-theme-emacs"; + rev = "af142b423536b47bce67afda5108dbf3a9317521"; + sha256 = "1fs4rhb4g7s7x3cvqv9d2x5f3079z2hkmp5lns7qfziszkc9fxia"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/94b70f11655944080507744fd06464607727ecef/recipes/tao-theme"; + sha256 = "0gl6zzk5ha6vl2xxf5fcnv1k42cw4axdjdcirr1c4r8jwdq3nl3a"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/tao-theme"; + license = lib.licenses.free; + }; + }) {}; + taskpaper-mode = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "taskpaper-mode"; + ename = "taskpaper-mode"; + version = "1.0"; + src = fetchFromGitHub { + owner = "saf-dmitry"; + repo = "taskpaper-mode"; + rev = "169dab1eb632e5ac5e34608be2df4e9854368180"; + sha256 = "0mwd9i6mm0h18z7fiqla95bx6c0zb8x4f6380842hgzi9zrnghxi"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/f969b1cd58dfd22041a8a2b116db0f48e321e546/recipes/taskpaper-mode"; + sha256 = "0gayhzakiwlrkysmh24499pyzdfy3rmf8d68vamih7igxpl57gim"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/taskpaper-mode"; + license = lib.licenses.free; + }; + }) {}; tawny-mode = callPackage ({ cider , emacs , fetchFromGitHub @@ -47553,12 +50527,12 @@ melpaBuild { pname = "tern"; ename = "tern"; - version = "0.21.0"; + version = "0.23.0"; src = fetchFromGitHub { owner = "ternjs"; repo = "tern"; - rev = "f9bde5792b7a19ac63c344219e0b0c6bd5a41d35"; - sha256 = "0pdpchnpsy7iwafr2gawy4sm8kfhh101k8yijkckpnk8ir1lw1jw"; + rev = "40a0c74db3888b997a9115720ff91c399bb1b146"; + sha256 = "0dh0bfs0knikzn4gvjh9274yhbg3ndw46qmj4jy0kxh7gfl2lpkh"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/eaecd67af24050c72c5df73c3a12e717f95d5059/recipes/tern"; @@ -47582,12 +50556,12 @@ melpaBuild { pname = "tern-auto-complete"; ename = "tern-auto-complete"; - version = "0.21.0"; + version = "0.23.0"; src = fetchFromGitHub { owner = "ternjs"; repo = "tern"; - rev = "dcd808f985e7b0f562467e2145dcd1e901347999"; - sha256 = "1wwf9h6inv3gvp8g7n98dqvjmn01i8sx3n3h3ilqq3cbsy58yjvg"; + rev = "d545bbdd8482c231211f9521c688fc06632e745e"; + sha256 = "0ribzvl5gs281chp2kqaqmjj9xji7k9l71hsblfw1vj2w9l7nw2m"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/eaecd67af24050c72c5df73c3a12e717f95d5059/recipes/tern-auto-complete"; @@ -47628,34 +50602,6 @@ license = lib.licenses.free; }; }) {}; - tern-django = callPackage ({ emacs - , f - , fetchFromGitHub - , fetchurl - , lib - , melpaBuild - , tern }: - melpaBuild { - pname = "tern-django"; - ename = "tern-django"; - version = "0.1.0"; - src = fetchFromGitHub { - owner = "proofit404"; - repo = "tern-django"; - rev = "3b779469ba7f0249dec17d91b219dc0badf98774"; - sha256 = "0k9fra8nf1zpa59rznw93pa0pg9h98sq6896wdhahcm9z3x0rlhn"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/e9e128a795e4949e3d4c2f01db0161a34935f635/recipes/tern-django"; - sha256 = "1pjaaffadaw8h2n7yv01ks19gw59dmh8bp8vw51hx1082r3yfvv0"; - name = "recipe"; - }; - packageRequires = [ emacs f tern ]; - meta = { - homepage = "https://melpa.org/#/tern-django"; - license = lib.licenses.free; - }; - }) {}; terraform-mode = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -47868,12 +50814,12 @@ melpaBuild { pname = "theme-looper"; ename = "theme-looper"; - version = "1.0.0"; + version = "2.2.0"; src = fetchFromGitHub { owner = "myTerminal"; repo = "theme-looper"; - rev = "5e3a3ea7ad31d4b38efa2cc08f0063b230736da9"; - sha256 = "06khrrjlhnzckr2zisdbx4pj6r8kmv7dbdzvzh74qz79x337lvzn"; + rev = "4eea8ec048f1d6f6d875bf25690337ccc3ddf3dc"; + sha256 = "0lwkilvwx87xw1xx384pyz26agxd3rj11dabvb8bb4paw6c8wwr6"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/theme-looper"; @@ -47912,26 +50858,27 @@ license = lib.licenses.free; }; }) {}; - thrift = callPackage ({ fetchFromGitHub + thrift = callPackage ({ emacs + , fetchFromGitHub , fetchurl , lib , melpaBuild }: melpaBuild { pname = "thrift"; ename = "thrift"; - version = "0.11.0"; + version = "2019.3.18.0"; src = fetchFromGitHub { - owner = "apache"; - repo = "thrift"; - rev = "98bebac1520bcf1dd5392535e06a751d7b2af58e"; - sha256 = "185hrigx5q15c2jimzbklmi4z6kzigsarqwr805llsmsmg9pp3wi"; + owner = "facebook"; + repo = "fbthrift"; + rev = "a1960cc1a78ada27872913a145395f6bd45c8fd9"; + sha256 = "1az66smmfdkm4rzb8pripsb8ymyvvpncpapg69byf0hqhklln55z"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/857ab7e3a5c290265d88ebacb9685b3faee586e5/recipes/thrift"; - sha256 = "0p1hxmm7gvhyigz8aylncgqbhk6cyf75rbcqis7x552g605mhiy9"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/0dca078c0c467bc44290a922ad5627d6a34194f8/recipes/thrift"; + sha256 = "13isxx16h7rg8q5a68qmgrf3rknhfrx1qh6fb5njlznfwhrqry3y"; name = "recipe"; }; - packageRequires = []; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/thrift"; license = lib.licenses.free; @@ -47972,12 +50919,12 @@ melpaBuild { pname = "tidal"; ename = "tidal"; - version = "0.9.8"; + version = "1.0.10"; src = fetchFromGitHub { owner = "tidalcycles"; repo = "Tidal"; - rev = "ef658d3df0604f3dec955a150509ec1cc68fbd98"; - sha256 = "1ild1gnbcrw830b8d3byvqlmgm27609dgailmxgin6z7g1pg4r7z"; + rev = "8605aacc1207ff822dfac4673332a337ac4f1cc2"; + sha256 = "103cy8iiv373yswfsjz0rr4zp3vm2l3vwyb65hvcm7w0x30bhi9r"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/16a26659a16199b5bb066be6e5c4a40419bda018/recipes/tidal"; @@ -48002,12 +50949,12 @@ melpaBuild { pname = "tide"; ename = "tide"; - version = "2.8.3.1"; + version = "3.2.3"; src = fetchFromGitHub { owner = "ananthakumaran"; repo = "tide"; - rev = "0c624e7f02fb8f5b78ec35436d7b2f3f42d46dea"; - sha256 = "0pcxfdql98nnfckjzpykr619p8qsy87wnhyqjajgqxh6ad5rq6si"; + rev = "2d17c051cccd248a980575caf5728f4d5c986b30"; + sha256 = "19kjq4kr2j853p5qp1s79zxmrfprli82lsnphbrlp9vbnib28xyd"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a21e063011ebbb03ac70bdcf0a379f9e383bdfab/recipes/tide"; @@ -48055,12 +51002,12 @@ melpaBuild { pname = "timesheet"; ename = "timesheet"; - version = "0.4.0"; + version = "0.4.1"; src = fetchFromGitHub { owner = "tmarble"; repo = "timesheet.el"; - rev = "2ed6fea9b508eb7eaff659d9a34a09ba064d4df8"; - sha256 = "028d1sn29idznzsc95w2c1sdz3rpmf3vgk2365li0vvs99s51hi2"; + rev = "67ca6a9f6733052066b438301fb2dd81b8b3f6eb"; + sha256 = "0rmh8lik27pmq95858jbjzgvf6rsfdnpynwcagj1fgkval5kzdbs"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/40009ef2f6845c83242ca5d0a8c9c2c1e4ef8a9d/recipes/timesheet"; @@ -48111,12 +51058,12 @@ melpaBuild { pname = "toc-org"; ename = "toc-org"; - version = "1.0.1"; + version = "1.1.0"; src = fetchFromGitHub { owner = "snosov1"; repo = "toc-org"; - rev = "a0e8ca05e806e5074b8603985da7f18b92c15856"; - sha256 = "1sv9y5dln4ai9w3mgg8p4a3s05hflfqh0k7k8isjqikydbv85m2k"; + rev = "ebff38bfa4cc95476a20a349014e2d1862ff4647"; + sha256 = "0ml075741iw9n4apiy9iv30wx4bgzpn6iisrzx3mxjl85kgmlmf2"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/1305d88eca984a66039444da1ea64f29f1950206/recipes/toc-org"; @@ -48129,6 +51076,32 @@ license = lib.licenses.free; }; }) {}; + torus = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "torus"; + ename = "torus"; + version = "1.10"; + src = fetchFromGitHub { + owner = "chimay"; + repo = "torus"; + rev = "b6de553eb55cfd9c0b6dce800951bcd8aef5e70c"; + sha256 = "144azr3m8aj77fgvz4qnjzzhpxwz28lqjzh2k49z736iaax394gd"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/efc3b538861084cc13ff067a9258e55dc006b70d/recipes/torus"; + sha256 = "0zjidnc7nwbxs90spp373hx92vksd72vz4avmi4dbmhi89rdfhh0"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/torus"; + license = lib.licenses.free; + }; + }) {}; total-lines = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -48180,30 +51153,6 @@ license = lib.licenses.free; }; }) {}; - toxi-theme = callPackage ({ emacs - , fetchhg - , fetchurl - , lib - , melpaBuild }: - melpaBuild { - pname = "toxi-theme"; - version = "0.1.2"; - src = fetchhg { - url = "https://bitbucket.com/postspectacular/toxi-theme"; - rev = "b322fc7497a5"; - sha256 = "1pnsky541m8kzcv81w98jkv0hgajh04hxqlmgddc1y0wbvi849j0"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/toxi-theme"; - sha256 = "032m3qbxfd0qp81qwayd5g9k7vz55g4yhw0d35qkxzf4qf58x9sd"; - name = "toxi-theme"; - }; - packageRequires = [ emacs ]; - meta = { - homepage = "https://melpa.org/#/toxi-theme"; - license = lib.licenses.free; - }; - }) {}; traad = callPackage ({ dash , deferred , fetchFromGitHub @@ -48249,7 +51198,7 @@ melpaBuild { pname = "tracking"; ename = "tracking"; - version = "2.10"; + version = "2.11"; src = fetchFromGitHub { owner = "jorgenschaefer"; repo = "circe"; @@ -48267,6 +51216,34 @@ license = lib.licenses.free; }; }) {}; + transient = callPackage ({ dash + , emacs + , fetchFromGitHub + , fetchurl + , lib + , lv + , melpaBuild }: + melpaBuild { + pname = "transient"; + ename = "transient"; + version = "0.1.0"; + src = fetchFromGitHub { + owner = "magit"; + repo = "transient"; + rev = "33f538a0bb83c8d4abc8f4c2db0dfbb9b09c4f92"; + sha256 = "1hrn4mgag6rkcqzpmn5ysa9rj79dsgmh8vrihjvaikrdyshf9zxc"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/ee7bfefdf4423d63706a6dcf128886ca6b514e6b/recipes/transient"; + sha256 = "04xkdspn475dlch5fcw21phhdhshxlbyznjbi0l7qk8snm130qpv"; + name = "recipe"; + }; + packageRequires = [ dash emacs lv ]; + meta = { + homepage = "https://melpa.org/#/transient"; + license = lib.licenses.free; + }; + }) {}; transmission = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -48339,16 +51316,16 @@ melpaBuild { pname = "treemacs"; ename = "treemacs"; - version = "2.2"; + version = "2.5"; src = fetchFromGitHub { owner = "Alexander-Miller"; repo = "treemacs"; - rev = "9b1129ee3152994b033a877fc49777bfe02e315a"; - sha256 = "08ias1nixz7ma8g6v3v4dqdnd87sqdhplsp5v5wvr3w58szlia5b"; + rev = "495691ebafb37b07afb8b549d0fba714ab17e365"; + sha256 = "1fhp1m8hrdbb0mw5r4diq4hn7svz0j23iqzq6x02dzqp3866qiik"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/91038c1ab2f463102263dcc3701c0fdaad55de4c/recipes/treemacs"; - sha256 = "1wcsn0kzrbawyyhxmsmrsxr1vp0llkxw6r7zx53pwyc82ia64nlv"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/37cca017cf529a0553ba73bcb824a945ec8b1137/recipes/treemacs"; + sha256 = "0is4waygw902vkha4jwav0i05298zhf4d559m91gmsfg1cfrlrr3"; name = "recipe"; }; packageRequires = [ ace-window cl-lib dash emacs f ht hydra pfuture s ]; @@ -48366,16 +51343,16 @@ melpaBuild { pname = "treemacs-evil"; ename = "treemacs-evil"; - version = "2.2"; + version = "2.5"; src = fetchFromGitHub { owner = "Alexander-Miller"; repo = "treemacs"; - rev = "d0f874c90990400c02a8029d4efe815d3548ba5c"; - sha256 = "0hclgsv96gr50z9cqj97rp45c5r50q2zb6hq5jcx3xmlw12k9pk7"; + rev = "de1ba5217ca4c41fc36d405832b749b6fffd2b82"; + sha256 = "0wk280qs99py3s3lykm3pd3v3nbml1c9hkal29cx0475m12fc5lw"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/91038c1ab2f463102263dcc3701c0fdaad55de4c/recipes/treemacs-evil"; - sha256 = "1i2mxqwnqb2jz775qg3z4lf7pk4mgi646fyyi2la5gdcnq6a46mg"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/37cca017cf529a0553ba73bcb824a945ec8b1137/recipes/treemacs-evil"; + sha256 = "144klr1gqqzfqy7fx9lzngc2vljy6mnz7awk0z5f8vfclczkihw2"; name = "recipe"; }; packageRequires = [ evil treemacs ]; @@ -48384,6 +51361,63 @@ license = lib.licenses.free; }; }) {}; + treemacs-icons-dired = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , treemacs }: + melpaBuild { + pname = "treemacs-icons-dired"; + ename = "treemacs-icons-dired"; + version = "2.5"; + src = fetchFromGitHub { + owner = "Alexander-Miller"; + repo = "treemacs"; + rev = "0e5d2b558486ce9074eccde83cc70ce1a6bfa2e2"; + sha256 = "05dh7dnn2ks03gvbj5f01h1qa87giaapxhdzl5z4s8g6zwiydjy7"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/37cca017cf529a0553ba73bcb824a945ec8b1137/recipes/treemacs-icons-dired"; + sha256 = "075897b11aaj9h59gbcldz2wd5557h86pq28qkijbgay4i3piv9v"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs treemacs ]; + meta = { + homepage = "https://melpa.org/#/treemacs-icons-dired"; + license = lib.licenses.free; + }; + }) {}; + treemacs-magit = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , magit + , melpaBuild + , pfuture + , treemacs }: + melpaBuild { + pname = "treemacs-magit"; + ename = "treemacs-magit"; + version = "2.5"; + src = fetchFromGitHub { + owner = "Alexander-Miller"; + repo = "treemacs"; + rev = "1a30066872fa11612ab4ff8a8565beedb5f2e135"; + sha256 = "1vbqfkn2llw7kzhh5bmfqpq0gg6qmixxcbq5mjyw53l01klvylvs"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/1719c6bfc346e63f58221ea2c6e625b98f4ea368/recipes/treemacs-magit"; + sha256 = "10c32rf76w26hhg1pyjlwj94adpjz1kic4hzapbckvcyzcwz6fql"; + name = "recipe"; + }; + packageRequires = [ emacs magit pfuture treemacs ]; + meta = { + homepage = "https://melpa.org/#/treemacs-magit"; + license = lib.licenses.free; + }; + }) {}; treemacs-projectile = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -48393,16 +51427,16 @@ melpaBuild { pname = "treemacs-projectile"; ename = "treemacs-projectile"; - version = "2.2"; + version = "2.5"; src = fetchFromGitHub { owner = "Alexander-Miller"; repo = "treemacs"; - rev = "cbc75759fd54a772fcb67bd8babacf1b2020ba88"; - sha256 = "18aafgiircgb5max35zqzdfb0yjmgjqacax9sfy39ihh9x9z0vc1"; + rev = "ac088d4afd267de2046ce25658285ffb6174a6ba"; + sha256 = "0fzq8q7mm3nxs1aw3qhhw78lnlh8cagf443sn5n38xb9f4m44djk"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/91038c1ab2f463102263dcc3701c0fdaad55de4c/recipes/treemacs-projectile"; - sha256 = "1vyifik30673bwlfvbmw8pzz7f3wd4q6zzssvbj8d23zhk8kh8vc"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/37cca017cf529a0553ba73bcb824a945ec8b1137/recipes/treemacs-projectile"; + sha256 = "1lldvpasvgsd5xvnlafddqp47w7rdvf3vqfhr26rxn99kj5s9xzp"; name = "recipe"; }; packageRequires = [ projectile treemacs ]; @@ -48419,12 +51453,12 @@ melpaBuild { pname = "treepy"; ename = "treepy"; - version = "1.0.0"; + version = "0.1.1"; src = fetchFromGitHub { owner = "volrath"; repo = "treepy.el"; - rev = "282fbc94747fe2a00d36e2a74d147c8fa0ac4be7"; - sha256 = "0acw6c073h2a0fy8gx2xc2d1fw0yhaqikqrvs2iq53fqcqrrq81r"; + rev = "b40e6b09eb9be45da67b8c9e4990a5a0d7a2a09d"; + sha256 = "04zwm6gx9pxfvgfkizx6pvb1ql8pqxjyzqp8flz0432x0gq5nlxk"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/63c94a703841f8c11948200d86d98145bc62162c/recipes/treepy"; @@ -48437,6 +51471,32 @@ license = lib.licenses.free; }; }) {}; + trinary = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "trinary"; + ename = "trinary"; + version = "1.0.0"; + src = fetchFromGitHub { + owner = "emacs-elsa"; + repo = "trinary-logic"; + rev = "c043034e1e476ae103cc52b6922e15f6dd2fc8a3"; + sha256 = "0hi6ybsz6v6ls8ajkyqpy9cq87pk684l9a7js863f7ycgwb37nzn"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/48fff02dde8a678e151f2765ea7c3a383912c68b/recipes/trinary"; + sha256 = "1k2jpay1wx2m54fpja9mrhqyk15ikml8xf15irh8yrxb3hah8f8k"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/trinary"; + license = lib.licenses.free; + }; + }) {}; trr = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -48551,12 +51611,12 @@ melpaBuild { pname = "tuareg"; ename = "tuareg"; - version = "2.1.0"; + version = "2.2.0"; src = fetchFromGitHub { owner = "ocaml"; repo = "tuareg"; - rev = "927a309b1ad8559be33e6a1d7951214a66f7c130"; - sha256 = "05rsid1g3vrg10qiws7dd1rpd6wva9mqldwfyrrhg088k4v2a0q5"; + rev = "40f974d3b0777f9666928d0b4a5126a4c7491b17"; + sha256 = "049nw6pkkxnq3k4vv4ksl93csiybm7q29xigdkc7cr9cls6h8jf0"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/01fb6435a1dfeebdf4e7fa3f4f5928bc75526809/recipes/tuareg"; @@ -48629,14 +51689,14 @@ ename = "turing-machine"; version = "0.2.0"; src = fetchFromGitHub { - owner = "therockmandolinist"; + owner = "dieggsy"; repo = "turing-machine"; rev = "ad1dccc9c445f9e4465e1c67cbbfea9583153047"; sha256 = "0qaz4r5ahg2fxsfyxilb8c9956i5ra9vg80l82slm8vrnsinzll6"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/a003b40a52a92b3ab4d1ffc003f570d4fa6bfbde/recipes/turing-machine"; - sha256 = "1ndy953q9hr1psqqkkqsffyvj800cnqdxcrixqiw0ls77f2kczcn"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/turing-machine"; + sha256 = "0q9a31m5wnz9j9l4i8czdl7z12nrcdjw72w8sqvf94ri2g5dbpkq"; name = "recipe"; }; packageRequires = [ emacs ]; @@ -48695,33 +51755,6 @@ license = lib.licenses.free; }; }) {}; - typed-clojure-mode = callPackage ({ cider - , clojure-mode - , fetchFromGitHub - , fetchurl - , lib - , melpaBuild }: - melpaBuild { - pname = "typed-clojure-mode"; - ename = "typed-clojure-mode"; - version = "1.0.0"; - src = fetchFromGitHub { - owner = "typedclojure"; - repo = "typed-clojure-mode"; - rev = "03f01f5bfa93247f8f7958a8a45cf83604f7d96e"; - sha256 = "0d6i5n3s6b0q0c06ix7vm7iwx5zi4j7h2yygcsbzwyza1z284ry5"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/961471c194b508a5025f00a5be02d316b26f330a/recipes/typed-clojure-mode"; - sha256 = "1579zkhk2lwl5ij7dm9n2drggs5fmhpljrshc4ghhvig7nlyqjy3"; - name = "recipe"; - }; - packageRequires = [ cider clojure-mode ]; - meta = { - homepage = "https://melpa.org/#/typed-clojure-mode"; - license = lib.licenses.free; - }; - }) {}; typescript-mode = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -48731,14 +51764,14 @@ ename = "typescript-mode"; version = "0.3"; src = fetchFromGitHub { - owner = "ananthakumaran"; + owner = "emacs-typescript"; repo = "typescript.el"; rev = "7a5c74d88e3c5513cc4431a837003736f905a75e"; sha256 = "002f1xfhq43fjaqliwrgxspryfahpa82va5dw3p8kwil2xwvc6mh"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/d3f534a1e2cee4ad2e32e32802c5080207417b3d/recipes/typescript-mode"; - sha256 = "01jyqy44ir59n9c2f6gh4xzwfmzdpnys1lw4lnsy6kirqgbsq9ha"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/94455323364d5a6b00e2786d577134eb350826b4/recipes/typescript-mode"; + sha256 = "1abnik2dq0zfnp8pk8x6zy962qww78xadm87xyiwz17559g88d82"; name = "recipe"; }; packageRequires = []; @@ -49026,12 +52059,12 @@ melpaBuild { pname = "unicode-fonts"; ename = "unicode-fonts"; - version = "0.4.8"; + version = "0.4.10"; src = fetchFromGitHub { owner = "rolandwalker"; repo = "unicode-fonts"; - rev = "a36597d83e0248bd0e6b2c1d5fb95bff72add527"; - sha256 = "0fbwncna6gxlynq9196djpkjhayzk8kxlsxg0gasdgqx1nyxl0mk"; + rev = "7b88ae84e589f6c8b9386b2fb5a02ff4ccb91169"; + sha256 = "07wzcfj92jiadgd6nj5rmxky2aiaxs89j7zywp877xdp4vv0v512"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/83459421dd2eb3d60ec668c3d5bb38d99ee64aff/recipes/unicode-fonts"; @@ -49133,26 +52166,27 @@ license = lib.licenses.free; }; }) {}; - unkillable-scratch = callPackage ({ fetchFromGitHub + unkillable-scratch = callPackage ({ emacs + , fetchFromGitHub , fetchurl , lib , melpaBuild }: melpaBuild { pname = "unkillable-scratch"; ename = "unkillable-scratch"; - version = "0.1"; + version = "1.0.0"; src = fetchFromGitHub { owner = "EricCrosson"; repo = "unkillable-scratch"; - rev = "85e01b6da499a05bc920ca7958f0642c76dd9ce2"; - sha256 = "0j513ia8mfa4i8h1z0m00k65g89fdcdp6h37bdm2ymy4g26wbk6n"; + rev = "dac9dbed946a26829e6227ac15c0fa1d07ccd05f"; + sha256 = "0fgipv93x47cvyww07cqx8xa95jz36y6fy5rmaq40jnnmdkgq862"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/822ac5610f333e41b676a29ef45a6f8bfea3162e/recipes/unkillable-scratch"; sha256 = "0ghbpa9pf7k6vd2mjxkpqg2qfl4sd40ir6mrk1rxr1rv8s0afkf7"; name = "recipe"; }; - packageRequires = []; + packageRequires = [ emacs ]; meta = { homepage = "https://melpa.org/#/unkillable-scratch"; license = lib.licenses.free; @@ -49167,12 +52201,12 @@ melpaBuild { pname = "uptimes"; ename = "uptimes"; - version = "3.6"; + version = "3.7"; src = fetchFromGitHub { owner = "davep"; repo = "uptimes.el"; - rev = "5e81f8bb419836602819045e7d5a74b76ad3e69c"; - sha256 = "04l452k249s3ilfj0da0k7rrfyjnxxdsipa2al46xqjds8l3h2rn"; + rev = "1f726d31b502d764a3e3191aaf92ed4855105131"; + sha256 = "1ymv5fh0bfjzkkd8vc9f1n8921bx1czbb29s0rw6zy37vkhs6v3s"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/72099e35ce3e34ec6afc6a3f87a4da07ec91499a/recipes/uptimes"; @@ -49185,8 +52219,34 @@ license = lib.licenses.free; }; }) {}; + urscript-mode = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "urscript-mode"; + ename = "urscript-mode"; + version = "0.0.2"; + src = fetchFromGitHub { + owner = "guidoschmidt"; + repo = "urscript-mode"; + rev = "b341f96b129ead8fb74d680cb4f546985bf110a9"; + sha256 = "0qhncqsvsrpgc47ixsp436imfm0l6pd1kbpjjk426wrnzaszrpkc"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/b4ae680b51a85749ed254215bbd4a35909961049/recipes/urscript-mode"; + sha256 = "1jjmpg9r7vwa8284chx9yc1ifn36m7ml1ks4ls8hnsxachbv7wlh"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/urscript-mode"; + license = lib.licenses.free; + }; + }) {}; use-package = callPackage ({ bind-key - , diminish + , emacs , fetchFromGitHub , fetchurl , lib @@ -49194,25 +52254,54 @@ melpaBuild { pname = "use-package"; ename = "use-package"; - version = "2.3"; + version = "2.4"; src = fetchFromGitHub { owner = "jwiegley"; repo = "use-package"; - rev = "cd58b268a8a025451c11c3cb1ba18d4f27f245da"; - sha256 = "14x01dg7fgj4icf8l8w90pksazc0sn6qrrd0k3xjr2zg1wzdcang"; + rev = "39a8b8812c2c9f6f0b299e6a04e504ef393694ce"; + sha256 = "1b7mjjh0d6fmkkd9vyj64vca27xqhga0nvyrrcqxpqjn62zq046y"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/51a19a251c879a566d4ae451d94fcb35e38a478b/recipes/use-package"; sha256 = "0d0zpgxhj6crsdi9sfy30fn3is036apm1kz8fhjg1yzdapf1jdyp"; name = "recipe"; }; - packageRequires = [ bind-key diminish ]; + packageRequires = [ bind-key emacs ]; meta = { homepage = "https://melpa.org/#/use-package"; license = lib.licenses.free; }; }) {}; - use-package-el-get = callPackage ({ fetchFromGitHub + use-package-chords = callPackage ({ bind-chord + , bind-key + , fetchFromGitHub + , fetchurl + , key-chord + , lib + , melpaBuild + , use-package }: + melpaBuild { + pname = "use-package-chords"; + ename = "use-package-chords"; + version = "2.4"; + src = fetchFromGitHub { + owner = "jwiegley"; + repo = "use-package"; + rev = "763bf5337dab14b318a3ddce29140de1ed8fb35b"; + sha256 = "08v4rsl3x5dj7ihpnzbyxjbg2ls2kybcsb0rcxjh5anj4hmcsyly"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/6240afa625290187785e4b7535ee7b0d7aad8969/recipes/use-package-chords"; + sha256 = "1217l0gpxcp8532p0d3g1xd2015qpx2g5xm0kwsbxdmffqqdaar3"; + name = "recipe"; + }; + packageRequires = [ bind-chord bind-key key-chord use-package ]; + meta = { + homepage = "https://melpa.org/#/use-package-chords"; + license = lib.licenses.free; + }; + }) {}; + use-package-el-get = callPackage ({ fetchFromGitLab , fetchurl , lib , melpaBuild @@ -49221,15 +52310,15 @@ pname = "use-package-el-get"; ename = "use-package-el-get"; version = "0.1"; - src = fetchFromGitHub { + src = fetchFromGitLab { owner = "edvorg"; repo = "use-package-el-get"; rev = "f33c448ed43ecb003b60ff601ee7ef9b08cff947"; sha256 = "1wzn3h8k7aydj3hxxws64b0v4cr3b77cf7z128xh3v6xz2w62m4z"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/ee4a96cf467bcab171a0adfd4ef754abec1a9971/recipes/use-package-el-get"; - sha256 = "0sg9ijkjax6w25p0q7rw5rjn8r2i83z5jfzjkvy8pxil5cg8zyh0"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/aca60522257353fbfd9d032f8c3cae7914d6bd36/recipes/use-package-el-get"; + sha256 = "143vydssjxmkcgs661hz6nhg310r8qypn2a4vyxy5sb31wqcclzg"; name = "recipe"; }; packageRequires = [ use-package ]; @@ -49238,6 +52327,60 @@ license = lib.licenses.free; }; }) {}; + use-package-ensure-system-package = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , system-packages + , use-package }: + melpaBuild { + pname = "use-package-ensure-system-package"; + ename = "use-package-ensure-system-package"; + version = "2.4"; + src = fetchFromGitHub { + owner = "jwiegley"; + repo = "use-package"; + rev = "2b89ca4b9102baaf3f84f3fc8177c8a17288e291"; + sha256 = "18xpjqvnrk72jybbd5xipnsbngkj38hqd9vfq0kb42fhiv1v5b92"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/6240afa625290187785e4b7535ee7b0d7aad8969/recipes/use-package-ensure-system-package"; + sha256 = "1cl61nwgsz5dh3v9rdiww8mq2k1sbx27gr6izb4ij4pnzjp7aaj6"; + name = "recipe"; + }; + packageRequires = [ system-packages use-package ]; + meta = { + homepage = "https://melpa.org/#/use-package-ensure-system-package"; + license = lib.licenses.free; + }; + }) {}; + use-package-hydra = callPackage ({ emacs + , fetchFromGitLab + , fetchurl + , lib + , melpaBuild + , use-package }: + melpaBuild { + pname = "use-package-hydra"; + ename = "use-package-hydra"; + version = "0.2"; + src = fetchFromGitLab { + owner = "to1ne"; + repo = "use-package-hydra"; + rev = "8cd55a1128fbdf6327bb38a199d206225896d146"; + sha256 = "19dja25illcvwpx8j1kigw8dzby41bm57prx1bhaxkmsakxyl863"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/28589bb76442601930a4591e200c8e1db119caf6/recipes/use-package-hydra"; + sha256 = "0q2qfav2y1p6vxfvdblqlpjmj0z7z8w843jpry9g07d8kc4959f6"; + name = "recipe"; + }; + packageRequires = [ emacs use-package ]; + meta = { + homepage = "https://melpa.org/#/use-package-hydra"; + license = lib.licenses.free; + }; + }) {}; usql = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -49272,12 +52415,12 @@ melpaBuild { pname = "utop"; ename = "utop"; - version = "2.2.0"; + version = "2.3.0"; src = fetchFromGitHub { owner = "diml"; repo = "utop"; - rev = "48100fcf769bdaeb4a6c93bbb33c37b85c1dcb10"; - sha256 = "1cr1i5ywn9abqbrl4iq1c82vdjwrbh43v67zv1a8i4fvh99yzlv1"; + rev = "ea38850e606dd18c94e2ccabc28485fec1c8f91f"; + sha256 = "0g7mj1qag9d7mn58l3lh7as0w4bj7rq3r6d3mykafgyjaajsxnx0"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/30489fe52b4031184e54f994770aa3291257bc9d/recipes/utop"; @@ -49371,6 +52514,32 @@ license = lib.licenses.free; }; }) {}; + vc-hgcmd = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "vc-hgcmd"; + ename = "vc-hgcmd"; + version = "1.5.1"; + src = fetchFromGitHub { + owner = "muffinmad"; + repo = "emacs-vc-hgcmd"; + rev = "6379ef242cc2ac8366a6e6f1c588245577c76a3a"; + sha256 = "1zvggg9kpl6d2wrsjlrnjmb0dhmwmd9x6q2yj3g08bv6gsz3nfil"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/111142342ab81dcaa88a831ba620be499a334c3f/recipes/vc-hgcmd"; + sha256 = "11p8r94s72x47nkxlarxwy33im167jpjas8b9i8dkrz2iggwn5xk"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/vc-hgcmd"; + license = lib.licenses.free; + }; + }) {}; vc-msg = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -49405,12 +52574,12 @@ melpaBuild { pname = "vcomp"; ename = "vcomp"; - version = "0.3.1"; + version = "1.0.0"; src = fetchFromGitHub { owner = "tarsius"; repo = "vcomp"; - rev = "a12363c3a66576b68955abcadf7280de32eaa051"; - sha256 = "07dx3dyvkwcin0gb6j4jx0ldfxs4rqhygl56a8i81yy05adkaq2x"; + rev = "f839b3b3257a564b19d7f9557dc8bcbbe0b95842"; + sha256 = "1xd42bdi6x89gc9xjrwvzzdaanv9vwlbbjwp25bs1nsd53k5nvak"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/561442ea9f75ebe8444db1a0c40f7756fcbca482/recipes/vcomp"; @@ -49507,6 +52676,86 @@ license = lib.licenses.free; }; }) {}; + vdm-comint = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , vdm-mode }: + melpaBuild { + pname = "vdm-comint"; + ename = "vdm-comint"; + version = "0.0.4"; + src = fetchFromGitHub { + owner = "peterwvj"; + repo = "vdm-mode"; + rev = "e131edb0d35de28bd47d6128dd70d9a6fc46e0fa"; + sha256 = "090a0imk7dr6vqq4lf806pvajqc499x2gmi0k7rgc1696rbyzhb5"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/077f586e59fe3b6085e1f19b3c18b218de5d4046/recipes/vdm-comint"; + sha256 = "1r7jg7dkzfs4n230n0jk23w0ncqsiwkslf2gmjfzfqg8qklr9bhs"; + name = "recipe"; + }; + packageRequires = [ emacs vdm-mode ]; + meta = { + homepage = "https://melpa.org/#/vdm-comint"; + license = lib.licenses.free; + }; + }) {}; + vdm-mode = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "vdm-mode"; + ename = "vdm-mode"; + version = "0.0.4"; + src = fetchFromGitHub { + owner = "peterwvj"; + repo = "vdm-mode"; + rev = "e131edb0d35de28bd47d6128dd70d9a6fc46e0fa"; + sha256 = "090a0imk7dr6vqq4lf806pvajqc499x2gmi0k7rgc1696rbyzhb5"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/70a6c89d41235f7e8463a47400004a32b2979a5a/recipes/vdm-mode"; + sha256 = "1h72731vcsjqsbii1wbzpa114x09aqbkbnz5fg9fnjq9rybz6rn7"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/vdm-mode"; + license = lib.licenses.free; + }; + }) {}; + vdm-snippets = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , yasnippet }: + melpaBuild { + pname = "vdm-snippets"; + ename = "vdm-snippets"; + version = "0.0.4"; + src = fetchFromGitHub { + owner = "peterwvj"; + repo = "vdm-mode"; + rev = "e131edb0d35de28bd47d6128dd70d9a6fc46e0fa"; + sha256 = "090a0imk7dr6vqq4lf806pvajqc499x2gmi0k7rgc1696rbyzhb5"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/f246b9dcf7915a845b9e2cd44cc1a0833b412c8f/recipes/vdm-snippets"; + sha256 = "1js1hjs2r9bbqm50bl389y87xn68f30xrh2z6nd5kz2hdgkm6lhj"; + name = "recipe"; + }; + packageRequires = [ emacs yasnippet ]; + meta = { + homepage = "https://melpa.org/#/vdm-snippets"; + license = lib.licenses.free; + }; + }) {}; vector-utils = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -49650,12 +52899,12 @@ melpaBuild { pname = "virtualenvwrapper"; ename = "virtualenvwrapper"; - version = "0.1.0"; + version = "0.2.0"; src = fetchFromGitHub { owner = "porterjamesj"; repo = "virtualenvwrapper.el"; - rev = "5649028ea0c049cb7dfa2105285dee9c00d189fb"; - sha256 = "1xcjjs394vlaz94xh52kqaq94gkbmmjqmxlg7wly8vfn9vh34mws"; + rev = "f753e5ad91c2ff5d11bec424aa8cec141efa6925"; + sha256 = "062pbnplb3w9h64qsj71d9fvgicp1x63n05mgvgymjh2rnx7py0d"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/acc9b816796b9f142c53f90593952b43c962d2d8/recipes/virtualenvwrapper"; @@ -49884,14 +53133,14 @@ ename = "vue-mode"; version = "0.4"; src = fetchFromGitHub { - owner = "CodeFalling"; + owner = "AdamNiederer"; repo = "vue-mode"; rev = "48ff04657613f39848d0e66e9dd367aa2dc19e89"; sha256 = "014vx8jkscj1c614v78dqlqlg7n0zc3c2db3dqvxvaz417i5mxq0"; }; recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/2e5e0a9fff332aeec09f6d3d758e2b67dfdf8397/recipes/vue-mode"; - sha256 = "0gy7a5sliaijq0666l55vbkg15anrw7k1828szdn1ppkraw14bn0"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/6440f81aed1fcddcaf7afeedb74520e605211986/recipes/vue-mode"; + sha256 = "0npzn7pycqfdakv4plkigq8aw1bqhz3y03y3ypx21q5a186ds0g5"; name = "recipe"; }; packageRequires = [ edit-indirect mmm-mode ssass-mode vue-html-mode ]; @@ -50167,12 +53416,12 @@ melpaBuild { pname = "web-mode-edit-element"; ename = "web-mode-edit-element"; - version = "2.1"; + version = "2.2"; src = fetchFromGitHub { owner = "jtkDvlp"; repo = "web-mode-edit-element"; - rev = "8b8ac07aa8c920dafd94c96a51effb0d6c0ed1ce"; - sha256 = "0aj1ibmnrbaxrkwjf1fac2qzazrj39pql3prcibnchc2bmp191aa"; + rev = "30f0f697212a85a9b881549fc272fa7c96d3e703"; + sha256 = "1qnk4skzj6b47h8c2yg05hc7iv8y4102izlfc490307y264rv051"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/web-mode-edit-element"; @@ -50221,12 +53470,12 @@ melpaBuild { pname = "webpaste"; ename = "webpaste"; - version = "2.1.0"; + version = "3.0.1"; src = fetchFromGitHub { owner = "etu"; repo = "webpaste.el"; - rev = "2da60b8857d107721b089346121a7d51296a58bf"; - sha256 = "1r945qz7z5z80qvzlqvz985mz51zy3pj3fk36y0flc380y4ap6hd"; + rev = "7345c5f62d5cff4d84379eaf5dc8b2bb8bc4f99c"; + sha256 = "00dfp2dyj9cvcvvpsh4g61b37477c8ahfj3xig2x2kgfz15lk89n"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/13847d91c1780783e516943adee8a3530c757e17/recipes/webpaste"; @@ -50276,12 +53525,12 @@ melpaBuild { pname = "weechat"; ename = "weechat"; - version = "0.4.0"; + version = "0.5.0"; src = fetchFromGitHub { owner = "the-kenny"; repo = "weechat.el"; - rev = "a0d81074088d313dd596af6602e51d4253a55ca5"; - sha256 = "08ibyabvdlmp74xa950al3axmzsqpcal30313ab5wgb746sh3dvm"; + rev = "bcf714e32b012c6a89d5c0a82ab3a74d454908ff"; + sha256 = "1gm2yhz3qy55qqwf0ccrqw4nifxaig4jpdqmcl0ydx1n3myxx64l"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e38255a31a4ca31541c97a506a55f82e2670abe6/recipes/weechat"; @@ -50326,12 +53575,12 @@ melpaBuild { pname = "wgrep"; ename = "wgrep"; - version = "2.1.10"; + version = "2.3.0"; src = fetchFromGitHub { owner = "mhayashi1120"; repo = "Emacs-wgrep"; - rev = "3028e9b31427c528d9343d458abcb2222813410f"; - sha256 = "1gc3xwj7dffwpmjq1189x27ij25v2pp909xpdxc69a01yx5474i1"; + rev = "b22834e4597b5dfe06621d23cf93351d790df930"; + sha256 = "07p0wwigc99hx09n5fkzf5yxkr7z19rqy8wgxk5m1pyp1i75wiq8"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9648e3df896fcd97b3757a727108bc78261973cc/recipes/wgrep"; @@ -50352,7 +53601,7 @@ melpaBuild { pname = "wgrep-ack"; ename = "wgrep-ack"; - version = "2.1.10"; + version = "2.3.0"; src = fetchFromGitHub { owner = "mhayashi1120"; repo = "Emacs-wgrep"; @@ -50378,12 +53627,12 @@ melpaBuild { pname = "wgrep-ag"; ename = "wgrep-ag"; - version = "2.1.10"; + version = "2.3.0"; src = fetchFromGitHub { owner = "mhayashi1120"; repo = "Emacs-wgrep"; - rev = "9448a9d597bd089ae61e58add2c5dbecb0aa2b8f"; - sha256 = "0x27h0ccq93avsmb8gim43zklbsb4ghfw30a7hjvz0ilfx02gdca"; + rev = "36c5e8d0e03bc16b19d30a603730065f74b5b767"; + sha256 = "0pgyf9vfcahb495q01hi1mvkmv846w4rj6zyf52is8x7sjj7x44s"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2c50b704343c4cac5e2a62a67e284ba6d8e15f8a/recipes/wgrep-ag"; @@ -50404,12 +53653,12 @@ melpaBuild { pname = "wgrep-helm"; ename = "wgrep-helm"; - version = "2.1.10"; + version = "2.3.0"; src = fetchFromGitHub { owner = "mhayashi1120"; repo = "Emacs-wgrep"; - rev = "976eb41327e9c15c3be860a9d9962b3c3df9712e"; - sha256 = "1nh9gl1k54w7402fkphgw35bq3lljhv1alaaig2xfrjcm5x2phwv"; + rev = "36c5e8d0e03bc16b19d30a603730065f74b5b767"; + sha256 = "0pgyf9vfcahb495q01hi1mvkmv846w4rj6zyf52is8x7sjj7x44s"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/9648e3df896fcd97b3757a727108bc78261973cc/recipes/wgrep-helm"; @@ -50430,7 +53679,7 @@ melpaBuild { pname = "wgrep-pt"; ename = "wgrep-pt"; - version = "2.1.10"; + version = "2.3.0"; src = fetchFromGitHub { owner = "mhayashi1120"; repo = "Emacs-wgrep"; @@ -50456,12 +53705,12 @@ melpaBuild { pname = "which-key"; ename = "which-key"; - version = "3.3.0"; + version = "3.3.1"; src = fetchFromGitHub { owner = "justbur"; repo = "emacs-which-key"; - rev = "ff79dfff66f880885c5893dd6fd05dc51173a476"; - sha256 = "0x9bmm4s5gq9k9x1rkwxr8zz8p2hgsxvzpji138m8m4j809l6cn4"; + rev = "2f5661646b771f6c5a00a8a9aaa3f183abd5f84d"; + sha256 = "1dh6kr00wmql46whjkvnl953zngiv5j99ypvr1b3cb2174623afb"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/315865a3df97c0694f648633d44b8b34df1ac76d/recipes/which-key"; @@ -50728,8 +53977,7 @@ license = lib.licenses.free; }; }) {}; - window-purpose = callPackage ({ cl-lib ? null - , emacs + window-purpose = callPackage ({ emacs , fetchFromGitHub , fetchurl , imenu-list @@ -50739,19 +53987,19 @@ melpaBuild { pname = "window-purpose"; ename = "window-purpose"; - version = "1.6"; + version = "1.7"; src = fetchFromGitHub { owner = "bmag"; repo = "emacs-purpose"; - rev = "00c253778d8e845bdc17a350c22ea157c5871b41"; - sha256 = "11hv2rrcirswzgx0l52kwav5dilr3yksky9a3vg1pghgqhmm59hv"; + rev = "a302340e183d20baa4445858d321f43449298829"; + sha256 = "1dpy8hkjn87wbdkzyabhay4jx4dgc0ab2flyf0rjq1qaazk393sc"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/5813120ab674f6db7d0a486433d8faa6cfec1727/recipes/window-purpose"; sha256 = "1y70jrba3gf9fyf2qdihfshbsblzb88yv9fkcswdzrpq5kmgwp84"; name = "recipe"; }; - packageRequires = [ cl-lib emacs imenu-list let-alist ]; + packageRequires = [ emacs imenu-list let-alist ]; meta = { homepage = "https://melpa.org/#/window-purpose"; license = lib.licenses.free; @@ -50816,12 +54064,12 @@ melpaBuild { pname = "winum"; ename = "winum"; - version = "2.0.0"; + version = "2.1.0"; src = fetchFromGitHub { owner = "deb0ch"; repo = "emacs-winum"; - rev = "c56d1cdb8d1723eb4c0d7a7eb3ecd2697739146c"; - sha256 = "09jd5srlnd4060hs719qil84ssmnvq196bz7ywaswgapv1gs1h6r"; + rev = "efcb14fd306afbc738666e6b2e5a8a1bb5904392"; + sha256 = "0v1qmw3svydk7dlqbcymy1g1bygkfpb2h4b97zdp12xvd8mww9ny"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/c1caa7a54a910a44322fdee300e8cce6ddcde071/recipes/winum"; @@ -50834,29 +54082,6 @@ license = lib.licenses.free; }; }) {}; - wisp-mode = callPackage ({ fetchhg - , fetchurl - , lib - , melpaBuild }: - melpaBuild { - pname = "wisp-mode"; - version = "0.9.8"; - src = fetchhg { - url = "https://bitbucket.com/ArneBab/wisp"; - rev = "d04938232934"; - sha256 = "1sjadb0kh3hrdsvwywi04agrzrs21sxzh1v1km0z3x6f15nr048c"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/wisp-mode"; - sha256 = "10zkp1qbvl8dmxij7zz4p1fixs3891xr1nr57vyb3llar9fgzglc"; - name = "wisp-mode"; - }; - packageRequires = []; - meta = { - homepage = "https://melpa.org/#/wisp-mode"; - license = lib.licenses.free; - }; - }) {}; wispjs-mode = callPackage ({ clojure-mode , fetchFromGitHub , fetchurl @@ -50892,12 +54117,12 @@ melpaBuild { pname = "with-editor"; ename = "with-editor"; - version = "2.7.3"; + version = "2.8.1"; src = fetchFromGitHub { owner = "magit"; repo = "with-editor"; - rev = "ad5bb005ed3afec2d8b9b2bc1df19fb9b5e2dd84"; - sha256 = "0hq2dy8djxf45ajk9di1grhgzly0qrijcjfdah8xj5zkwvn9cvlh"; + rev = "9dd9f176d96abc60365369de6d08c26c414ef1f3"; + sha256 = "16a71mld7knf5ppv4szlkfdq44cqi36jqmscn0fssffhg33xh8cs"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/8c52c840dc35f3fd17ec660e113ddbb53aa99076/recipes/with-editor"; @@ -50938,6 +54163,33 @@ license = lib.licenses.free; }; }) {}; + with-venv = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "with-venv"; + ename = "with-venv"; + version = "0.0.1"; + src = fetchFromGitHub { + owner = "10sr"; + repo = "with-venv-el"; + rev = "d12341b93420f4acd7a277ed0cd4a54767bc5bd6"; + sha256 = "0knv2ybf4sbn31zyg9ms44mxvmvg7b51krq320g8fpcpa1bq28s6"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/555a2e49f18fbae59913459466babf8d55bd2151/recipes/with-venv"; + sha256 = "090jird410wn2w9pwr2d9pjw5xghcdxc4l578zay2akygg3c6blm"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs ]; + meta = { + homepage = "https://melpa.org/#/with-venv"; + license = lib.licenses.free; + }; + }) {}; wn-mode = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -51158,12 +54410,12 @@ melpaBuild { pname = "writeroom-mode"; ename = "writeroom-mode"; - version = "3.7"; + version = "3.8"; src = fetchFromGitHub { owner = "joostkremers"; repo = "writeroom-mode"; - rev = "d3252f54c8f9f37a19d6a21fb2291c3da7a7121a"; - sha256 = "13nbls5qxz5z8firjxaip8m9vzfbbpxmwrmr01njbk4axpwrpj0z"; + rev = "ebe522ba5a0367cf82ed03ffeb63fe597b84f4a1"; + sha256 = "0w2lmkkij79khjpswk2zxj371fa9ws94j9dqzrgzf37lnimgnsff"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/4e39cd8e8b4f61c04fa967def6a653bb22f45f5b/recipes/writeroom-mode"; @@ -51253,6 +54505,32 @@ license = lib.licenses.free; }; }) {}; + wucuo = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "wucuo"; + ename = "wucuo"; + version = "0.0.4"; + src = fetchFromGitHub { + owner = "redguardtoo"; + repo = "wucuo"; + rev = "4e988c101fe82f2e8c7b3710d15982fe28b8d32d"; + sha256 = "0g558miz9f4g8jlq532fs9yxj3il62zajgcjfndall2853hn54af"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/819cacef2c31d750829980f3f6c3bfb72f36bbdd/recipes/wucuo"; + sha256 = "084fcv4dkflpka9vmxmxqdl0cgmjjh9wc6axr65j1ffmqd933y4a"; + name = "recipe"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/wucuo"; + license = lib.licenses.free; + }; + }) {}; x86-lookup = callPackage ({ cl-lib ? null , emacs , fetchFromGitHub @@ -51338,12 +54616,12 @@ melpaBuild { pname = "xcscope"; ename = "xcscope"; - version = "1.3"; + version = "1.4"; src = fetchFromGitHub { owner = "dkogan"; repo = "xcscope.el"; - rev = "1e4c8e60eb841a3ecb56ff4115b6a8ae5c0bf779"; - sha256 = "1cc3bmi4fxlgqha7sxswn9lcc126xnr2j8xz6wszjnqh5w274fpp"; + rev = "57bff67460c587acf60f513de622b4c7ab312081"; + sha256 = "1l1k85wlmjb2mgzx1la9f0p7j3q0mzj4hlrs98pf4bbfkdbqg7a7"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/068c7846e70b91ce7e88330937fc64a60281802a/recipes/xcscope"; @@ -51484,6 +54762,31 @@ license = lib.licenses.free; }; }) {}; + xresources-theme = callPackage ({ fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "xresources-theme"; + ename = "xresources-theme"; + version = "1.0.0"; + src = fetchFromGitHub { + owner = "cqql"; + repo = "xresources-theme"; + rev = "5239acb51aa2dfa89a207e57012108d8fcf60562"; + sha256 = "13pls0f85n5rpbrbqcmrmcznv9hxiaglrnwpzivrli33cba92fpm"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/35763febad20f29320d459394f810668db6c3353/recipes/xresources-theme"; + sha256 = "1vsbvg9w5g6y2qlb8ssn12ax31r7fbslfi9vcgvmjydcr8r1z0zs"; + name = "recipe"; + }; + packageRequires = []; + meta = { + homepage = "https://melpa.org/#/xresources-theme"; + license = lib.licenses.free; + }; + }) {}; xterm-color = callPackage ({ cl-lib ? null , fetchFromGitHub , fetchurl @@ -51492,12 +54795,12 @@ melpaBuild { pname = "xterm-color"; ename = "xterm-color"; - version = "1.7"; + version = "1.8"; src = fetchFromGitHub { owner = "atomontage"; repo = "xterm-color"; - rev = "42374a98f1039e105cad9f16ce585dffc96a3f1c"; - sha256 = "09mzzql76z3gn39qnfjspm8waps8msbkilmlk3n2zrizpbps6crj"; + rev = "a452ab38a7cfae97078062ff8885b5d74fd1e5a6"; + sha256 = "02kpajb993yshhjhsizpfcbrcndyzkf4dqfipifhxxng50dhp95i"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/b34a42f1bf5641871da8ce2b688325023262b643/recipes/xterm-color"; @@ -51587,6 +54890,33 @@ license = lib.licenses.free; }; }) {}; + yaml-imenu = callPackage ({ emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild + , yaml-mode }: + melpaBuild { + pname = "yaml-imenu"; + ename = "yaml-imenu"; + version = "1.0.1"; + src = fetchFromGitHub { + owner = "knu"; + repo = "yaml-imenu.el"; + rev = "78a383098807014d9e7f2941196d8271677158cd"; + sha256 = "1f85m0h19wjb0xrwkxrh7vrpphm8l5nkrv82zsl097dqw3ijj3f1"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/71e7c2df9e34093ad2634d5a56133fa30126fb5c/recipes/yaml-imenu"; + sha256 = "03r7020gyr96m1z7p947nb7z8szzlkqv21g1hm10sqa8qp7k0qli"; + name = "recipe"; + }; + packageRequires = [ emacs yaml-mode ]; + meta = { + homepage = "https://melpa.org/#/yaml-imenu"; + license = lib.licenses.free; + }; + }) {}; yaml-mode = callPackage ({ emacs , fetchFromGitHub , fetchurl @@ -51798,12 +55128,12 @@ melpaBuild { pname = "yasnippet-snippets"; ename = "yasnippet-snippets"; - version = "0.5"; + version = "0.10"; src = fetchFromGitHub { owner = "AndreaCrotti"; repo = "yasnippet-snippets"; - rev = "d153af6d1d8ab8dfbc57f4065cee72f86d5cd2c4"; - sha256 = "0dkhac40kiyqnq42c2fcdb1jzshgakabq4rq796qfhjpc5j8x5wk"; + rev = "827908d7cdc6e7c1504175b4d49f899f0e9ba945"; + sha256 = "017avn7i3650rnl7lppn8k465ni0xy8v3r750f00gm9hxkzrig0z"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/42490bbdac871bce302fbc9a0488ff7de354627e/recipes/yasnippet-snippets"; @@ -51843,29 +55173,6 @@ license = lib.licenses.free; }; }) {}; - yatex = callPackage ({ fetchhg - , fetchurl - , lib - , melpaBuild }: - melpaBuild { - pname = "yatex"; - version = "1.80"; - src = fetchhg { - url = "https://www.yatex.org/hgrepos/yatex"; - rev = "af4601ee3c6a"; - sha256 = "1r0irbkg8c5aapd1i7il31wv2fmhi0bzspiy21k670m896jqx50p"; - }; - recipe = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/9854c39fc1889891fe460d0d5ac9224de3f6c635/recipes/yatex"; - sha256 = "1qbqdsqf5s61hyyzx84csnby242n5sdcmcw55pa8r16j8kyzgrc0"; - name = "yatex"; - }; - packageRequires = []; - meta = { - homepage = "https://melpa.org/#/yatex"; - license = lib.licenses.free; - }; - }) {}; yaxception = callPackage ({ fetchFromGitHub , fetchurl , lib @@ -52076,12 +55383,12 @@ melpaBuild { pname = "zenburn-theme"; ename = "zenburn-theme"; - version = "2.5"; + version = "2.6"; src = fetchFromGitHub { owner = "bbatsov"; repo = "zenburn-emacs"; - rev = "f031c785b469cf4356fddb997eccf60399e34235"; - sha256 = "029955wp29wdrk1ddmhxixd76vhkp2li3mjaknw9d8iqz819vshc"; + rev = "fdb1a9ca91ba04ed76a85af39890e1943774706b"; + sha256 = "15g8dk5qdx8r54ccawy6gyprvms7zp7cgf5pwf24b829l2mrrs6r"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/zenburn-theme"; @@ -52148,6 +55455,33 @@ license = lib.licenses.free; }; }) {}; + zmq = callPackage ({ cl-lib ? null + , emacs + , fetchFromGitHub + , fetchurl + , lib + , melpaBuild }: + melpaBuild { + pname = "zmq"; + ename = "zmq"; + version = "0.10.3"; + src = fetchFromGitHub { + owner = "dzop"; + repo = "emacs-zmq"; + rev = "12661cbc1acee8506d88b4853214a8a3716db240"; + sha256 = "1rnddd67wm2g7qm06qhn8h3dakhv5lcf2dqhdhf0ian1lw5z0yvw"; + }; + recipe = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/72f4dcc2723de826bf1af7235ac6d9119a243c63/recipes/zmq"; + sha256 = "14bbh00a58xgxyxl8zjxl57rf6351fnwsnk4cvvy341fvf86dklc"; + name = "recipe"; + }; + packageRequires = [ cl-lib emacs ]; + meta = { + homepage = "https://melpa.org/#/zmq"; + license = lib.licenses.free; + }; + }) {}; zombie-trellys-mode = callPackage ({ cl-lib ? null , emacs , fetchFromGitHub @@ -52366,12 +55700,12 @@ melpaBuild { pname = "zzz-to-char"; ename = "zzz-to-char"; - version = "0.1.2"; + version = "0.1.3"; src = fetchFromGitHub { owner = "mrkkrp"; repo = "zzz-to-char"; - rev = "b62414b155fe2e09d91b70059a909d1403d89acf"; - sha256 = "07a086s3fpncr4plkmr89vghn7xwji9k69m64ri7i1vhnnl6q4zj"; + rev = "e571da33a0dde629314847338eedec84b40e9c32"; + sha256 = "03i5bdq7d8la9kbvykgi7aa7v3c35nibgcd4pam99l47pm599ili"; }; recipe = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/7063cbc1f1501ce81552d7ef1d42d1309f547c42/recipes/zzz-to-char"; @@ -52384,4 +55718,4 @@ license = lib.licenses.free; }; }) {}; - } + } \ No newline at end of file diff --git a/pkgs/applications/editors/emacs-modes/melpa-stable-packages.nix b/pkgs/applications/editors/emacs-modes/melpa-stable-packages.nix index 61086b96230e37b75b18cf1bc006f4766f41a00d..49486df9a3f447bddc829e86b25c6dcad6c4b5ff 100644 --- a/pkgs/applications/editors/emacs-modes/melpa-stable-packages.nix +++ b/pkgs/applications/editors/emacs-modes/melpa-stable-packages.nix @@ -35,9 +35,6 @@ self: }); overrides = { - # upstream issue: mismatched filename - ack-menu = markBroken super.ack-menu; - # Expects bash to be at /bin/bash ac-rtags = markBroken super.ac-rtags; @@ -102,9 +99,6 @@ self: # build timeout graphene = markBroken super.graphene; - # upstream issue: mismatched filename - helm-lobsters = markBroken super.helm-lobsters; - # Expects bash to be at /bin/bash helm-rtags = markBroken super.helm-rtags; @@ -134,9 +128,6 @@ self: # upstream issue: missing file header link = markBroken super.link; - # upstream issue: mismatched filename - link-hint = markBroken super.link-hint; - # upstream issue: missing file header maxframe = markBroken super.maxframe; @@ -151,6 +142,18 @@ self: (attrs.nativeBuildInputs or []) ++ [ external.git ]; }); + magit-todos = super.magit-todos.overrideAttrs (attrs: { + # searches for Git at build time + nativeBuildInputs = + (attrs.nativeBuildInputs or []) ++ [ external.git ]; + }); + + magit-filenotify = super.magit-filenotify.overrideAttrs (attrs: { + # searches for Git at build time + nativeBuildInputs = + (attrs.nativeBuildInputs or []) ++ [ external.git ]; + }); + # missing OCaml merlin = markBroken super.merlin; @@ -173,9 +176,6 @@ self: # upstream issue: truncated file powershell = markBroken super.powershell; - # upstream issue: mismatched filename - processing-snippets = markBroken super.processing-snippets; - # upstream issue: missing file header qiita = markBroken super.qiita; diff --git a/pkgs/applications/editors/emacs-modes/org-generated.nix b/pkgs/applications/editors/emacs-modes/org-generated.nix index 32b6b703729f460b0b9ea280bb9506e07654e73c..6881ccd784ea6e1448ee47b52c3cec7476f98433 100644 --- a/pkgs/applications/editors/emacs-modes/org-generated.nix +++ b/pkgs/applications/editors/emacs-modes/org-generated.nix @@ -4,10 +4,10 @@ elpaBuild { pname = "org"; ename = "org"; - version = "20180723"; + version = "20181230"; src = fetchurl { - url = "http://orgmode.org/elpa/org-20180723.tar"; - sha256 = "1mcgnba16lpyh55zjx4rcbmpygcmdnjjzvgv1rx0c3kz1h5fgzf8"; + url = "http://orgmode.org/elpa/org-20181230.tar"; + sha256 = "1ydl6cikf4myrz59qvajbdxg1bvbpqjlkxn54qhrhh4755llcfkv"; }; packageRequires = []; meta = { @@ -19,10 +19,10 @@ elpaBuild { pname = "org-plus-contrib"; ename = "org-plus-contrib"; - version = "20180723"; + version = "20181230"; src = fetchurl { - url = "http://orgmode.org/elpa/org-plus-contrib-20180723.tar"; - sha256 = "1l34bagkm8mcyv5diprpbd4yjijkdvx1l54qpvi8bmvxjnzsm7mk"; + url = "http://orgmode.org/elpa/org-plus-contrib-20181230.tar"; + sha256 = "0gibwcjlardjwq19bh0zzszv0dxxlml0rh5iikkcdynbgndk1aa1"; }; packageRequires = []; meta = { diff --git a/pkgs/applications/editors/emacs-modes/org/default.nix b/pkgs/applications/editors/emacs-modes/org/default.nix index 99ecddcb26481972076032c2f60d9e5e80bb3c6d..a8250ead7b4880b0df97e5f79a02b009412ad2a9 100644 --- a/pkgs/applications/editors/emacs-modes/org/default.nix +++ b/pkgs/applications/editors/emacs-modes/org/default.nix @@ -45,7 +45,7 @@ stdenv.mkDerivation rec { license = stdenv.lib.licenses.gpl3Plus; - maintainers = with stdenv.lib.maintainers; [ chaoflow pSub ]; + maintainers = with stdenv.lib.maintainers; [ pSub ]; platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/applications/editors/emacs-modes/remember/default.nix b/pkgs/applications/editors/emacs-modes/remember/default.nix deleted file mode 100644 index 7c0bc517755a10a10a83cf58853a5c0cb4796115..0000000000000000000000000000000000000000 --- a/pkgs/applications/editors/emacs-modes/remember/default.nix +++ /dev/null @@ -1,45 +0,0 @@ -{ fetchurl, stdenv, texinfo, emacs, bbdb }: - -stdenv.mkDerivation rec { - # Note: Remember is part of GNU Emacs 23. - name = "remember-2.0"; - - src = fetchurl { - url = "http://download.gna.org/remember-el/${name}.tar.gz"; - sha256 = "04bp071xjbb6mbspjpwcza0krgx2827v6rfxbsdcpn0qcjgad9wm"; - }; - - # FIXME: It also has a (soft) dependency on Planner and Bibl-mode. - buildInputs = [ emacs bbdb texinfo ]; - - patchPhase = '' - sed -i "Makefile.defs" \ - -e"s|^ *PREFIX *=.*$|PREFIX = $out|g ; - s|^ *ELISPDIR *=.*$|ELISPDIR = $out/share/emacs/site-lisp|g ; - s|^ *EMACS *=.*$|EMACS = emacs -L \"${bbdb}/share/emacs/site-lisp\"|g" - ''; - - meta = { - description = "Remember, an Emacs mode for quickly remembering data"; - - longDescription = '' - Remember is an Emacs mode for quickly remembering data. It uses - whatever back-end is appropriate to record and correlate the - data, but its main intention is to allow you to express as - little structure as possible up front. - - When you enter data, either by typing it into a buffer, or using - the contents of the selected region, Remember will store that - data -- unindexed, uninterpreted -- in a data pool. It will - also try to remember as much context information as possible - (any text properties that were set, where you copied it from, - when, how, etc). Later, you can walk through your accumulated - set of data (both organized, and unorganized) and easily begin - moving things around, and making annotations that will express - the full meaning of that data, as far as you know it. - ''; - - homepage = http://gna.org/projects/remember-el/; - license = stdenv.lib.licenses.gpl2Plus; - }; -} diff --git a/pkgs/applications/editors/emacs/25.nix b/pkgs/applications/editors/emacs/25.nix index ee21bbbd9bd9a94b6d1fc12438f1d21ebbb90ee3..852faeb7918bfeec2ff3fe27a2fe933d24544af1 100644 --- a/pkgs/applications/editors/emacs/25.nix +++ b/pkgs/applications/editors/emacs/25.nix @@ -1,7 +1,7 @@ { 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, GSS, ImageIO +, alsaLib, cairo, acl, gpm, cf-private, AppKit, GSS, ImageIO , withX ? !stdenv.isDarwin , withGTK2 ? false, gtk2 ? null , withGTK3 ? true, gtk3 ? null, gsettings-desktop-schemas ? null @@ -61,9 +61,12 @@ stdenv.mkDerivation rec { ++ lib.optional (withX && withGTK2) gtk2 ++ lib.optionals (withX && withGTK3) [ gtk3 gsettings-desktop-schemas ] ++ lib.optional (stdenv.isDarwin && withX) cairo - ++ lib.optionals (withX && withXwidgets) [ webkitgtk24x-gtk3 glib-networking ]; - - propagatedBuildInputs = lib.optionals stdenv.isDarwin [ AppKit GSS ImageIO ]; + ++ lib.optionals (withX && withXwidgets) [ webkitgtk24x-gtk3 glib-networking ] + ++ lib.optionals stdenv.isDarwin [ + AppKit GSS ImageIO + # Needed for CFNotificationCenterAddObserver symbols. + cf-private + ]; hardeningDisable = [ "format" ]; @@ -111,9 +114,9 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "The extensible, customizable GNU text editor"; - homepage = http://www.gnu.org/software/emacs/; + homepage = https://www.gnu.org/software/emacs/; license = licenses.gpl3Plus; - maintainers = with maintainers; [ chaoflow lovek323 peti the-kenny jwiegley ]; + maintainers = with maintainers; [ lovek323 peti the-kenny jwiegley ]; platforms = platforms.all; longDescription = '' diff --git a/pkgs/applications/editors/emacs/builder.sh b/pkgs/applications/editors/emacs/builder.sh deleted file mode 100644 index 545520cca7c0e5f9e3e726f56f52b3d2a840137f..0000000000000000000000000000000000000000 --- a/pkgs/applications/editors/emacs/builder.sh +++ /dev/null @@ -1,40 +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() { - ./autogen.sh - - 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/clean-env.patch b/pkgs/applications/editors/emacs/clean-env.patch index 7b4cb9d52667154bfb6e98713eb2a12ebd4e1426..88befda899a7668af791a67cdf5968f96fc168bf 100644 --- a/pkgs/applications/editors/emacs/clean-env.patch +++ b/pkgs/applications/editors/emacs/clean-env.patch @@ -1,13 +1,13 @@ Dump temacs in an empty environment to prevent -dev paths from ending up in the dumped image. -diff -ru -x '*~' emacs-25.3/src/Makefile.in emacs-25.3-new/src/Makefile.in ---- emacs-25.3/src/Makefile.in 2017-04-14 17:02:47.000000000 +0200 -+++ emacs-25.3-new/src/Makefile.in 2017-09-25 19:03:02.173861038 +0200 -@@ -532,7 +532,7 @@ - ifeq ($(CANNOT_DUMP),yes) +diff --git a/src/Makefile.in b/src/Makefile.in +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -535,7 +535,7 @@ ifeq ($(CANNOT_DUMP),yes) ln -f temacs$(EXEEXT) $@ else + unset EMACS_HEAP_EXEC; \ - LC_ALL=C $(RUN_TEMACS) -batch $(BUILD_DETAILS) -l loadup dump + env -i LC_ALL=C $(RUN_TEMACS) -batch $(BUILD_DETAILS) -l loadup dump ifneq ($(PAXCTL_dumped),) diff --git a/pkgs/applications/editors/emacs/default.nix b/pkgs/applications/editors/emacs/default.nix index 0a304fabe60037b7799d66e7d64e56d645714d4e..4eb988a782cad7e8a9776b5bb3c0c87947cbe8e3 100644 --- a/pkgs/applications/editors/emacs/default.nix +++ b/pkgs/applications/editors/emacs/default.nix @@ -1,22 +1,26 @@ -{ stdenv, lib, fetchurl, ncurses, xlibsWrapper, libXaw, libXpm, Xaw3d -, pkgconfig, gettext, libXft, dbus, libpng, libjpeg, libungif +{ stdenv, lib, fetchpatch, fetchurl, ncurses, xlibsWrapper, libXaw, libXpm +, Xaw3d, libXcursor, pkgconfig, gettext, libXft, dbus, libpng, libjpeg, libungif , libtiff, librsvg, gconf, libxml2, imagemagick, gnutls, libselinux -, alsaLib, cairo, acl, gpm, AppKit, GSS, ImageIO, m17n_lib, libotf +, alsaLib, cairo, acl, gpm, cf-private, AppKit, GSS, ImageIO, m17n_lib, libotf , systemd ? null , withX ? !stdenv.isDarwin -, withGTK2 ? false, gtk2 ? null -, withGTK3 ? true, gtk3 ? null, gsettings-desktop-schemas ? null +, withNS ? stdenv.isDarwin +, withGTK2 ? false, gtk2-x11 ? null +, withGTK3 ? true, gtk3-x11 ? null, gsettings-desktop-schemas ? null , withXwidgets ? false, webkitgtk ? null, wrapGAppsHook ? null, glib-networking ? null , withCsrc ? true , srcRepo ? false, autoconf ? null, automake ? null, texinfo ? null +, siteStart ? ./site-start.el }: 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 withNS -> !withX; +assert withNS -> stdenv.isDarwin; +assert (withGTK2 && !withNS) -> withX; +assert (withGTK3 && !withNS) -> withX; +assert withGTK2 -> !withGTK3 && gtk2-x11 != null; +assert withGTK3 -> !withGTK2 && gtk3-x11 != null; assert withXwidgets -> withGTK3 && webkitgtk != null; let @@ -27,18 +31,19 @@ let in stdenv.mkDerivation rec { name = "emacs-${version}${versionModifier}"; - version = "26.1"; + version = "26.2"; versionModifier = ""; src = fetchurl { url = "mirror://gnu/emacs/${name}.tar.xz"; - sha256 = "0b6k1wq44rc8gkvxhi1bbjxbz3cwg29qbq8mklq2az6p1hjgrx0w"; + sha256 = "13n5m60i47k96mpv5pp6km2ph9rv2m5lmbpzj929v02vpsfyc70m"; }; enableParallelBuilding = true; patches = [ ./clean-env.patch + ./tramp-detect-wrapped-gvfsd.patch ]; postPatch = lib.optionalString srcRepo '' @@ -56,19 +61,28 @@ stdenv.mkDerivation rec { ++ lib.optionals stdenv.isLinux [ dbus libselinux systemd ] ++ lib.optionals withX [ xlibsWrapper libXaw Xaw3d libXpm libpng libjpeg libungif libtiff librsvg libXft - imagemagick gconf m17n_lib libotf ] - ++ lib.optional (withX && withGTK2) gtk2 - ++ lib.optionals (withX && withGTK3) [ gtk3 gsettings-desktop-schemas ] + imagemagick gconf ] + ++ lib.optionals (stdenv.isLinux && withX) [ m17n_lib libotf ] + ++ lib.optional (withX && withGTK2) gtk2-x11 + ++ lib.optionals (withX && withGTK3) [ gtk3-x11 gsettings-desktop-schemas ] ++ lib.optional (stdenv.isDarwin && withX) cairo - ++ lib.optionals (withX && withXwidgets) [ webkitgtk ]; - - propagatedBuildInputs = lib.optionals stdenv.isDarwin [ AppKit GSS ImageIO ]; + ++ lib.optionals (withX && withXwidgets) [ webkitgtk ] + ++ lib.optionals withNS [ + AppKit GSS ImageIO + # Needed for CFNotificationCenterAddObserver symbols. + cf-private + ]; hardeningDisable = [ "format" ]; - configureFlags = [ "--with-modules" ] ++ - (if stdenv.isDarwin - then [ "--with-ns" "--disable-ns-self-contained" ] + configureFlags = [ + "--disable-build-details" # for a (more) reproducible build + "--with-modules" + ] ++ + (lib.optional stdenv.isDarwin + (lib.withFeature withNS "ns")) ++ + (if withNS + then [ "--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" @@ -90,7 +104,7 @@ stdenv.mkDerivation rec { postInstall = '' mkdir -p $out/share/emacs/site-lisp - cp ${./site-start.el} $out/share/emacs/site-lisp/site-start.el + cp ${siteStart} $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 @@ -103,16 +117,27 @@ stdenv.mkDerivation rec { cp $srcdir/TAGS $dstdir echo '((nil . ((tags-file-name . "TAGS"))))' > $dstdir/.dir-locals.el done - '' + lib.optionalString stdenv.isDarwin '' + '' + lib.optionalString withNS '' mkdir -p $out/Applications mv nextstep/Emacs.app $out/Applications ''; + postFixup = + let libPath = lib.makeLibraryPath [ + libXcursor + ]; + in lib.optionalString (stdenv.isLinux && withX && toolkit == "lucid") '' + patchelf --set-rpath \ + "$(patchelf --print-rpath "$out/bin/emacs"):${libPath}" \ + "$out/bin/emacs" + patchelf --add-needed "libXcursor.so.1" "$out/bin/emacs" + ''; + meta = with stdenv.lib; { description = "The extensible, customizable GNU text editor"; - homepage = http://www.gnu.org/software/emacs/; + homepage = https://www.gnu.org/software/emacs/; license = licenses.gpl3Plus; - maintainers = with maintainers; [ chaoflow lovek323 peti the-kenny jwiegley ]; + maintainers = with maintainers; [ lovek323 peti the-kenny jwiegley ]; platforms = platforms.all; longDescription = '' diff --git a/pkgs/applications/editors/emacs/macport.nix b/pkgs/applications/editors/emacs/macport.nix index 8f74aca44885f856c07d42638878f7b50985c0bf..7c21c1cae5e3b8172b1a8772e2f9c2a7a0cae907 100644 --- a/pkgs/applications/editors/emacs/macport.nix +++ b/pkgs/applications/editors/emacs/macport.nix @@ -1,24 +1,22 @@ { stdenv, fetchurl, ncurses, pkgconfig, texinfo, libxml2, gnutls, gettext, autoconf, automake -, AppKit, Carbon, Cocoa, IOKit, OSAKit, Quartz, QuartzCore, WebKit +, cf-private, AppKit, Carbon, Cocoa, IOKit, OSAKit, Quartz, QuartzCore, WebKit , ImageCaptureCore, GSS, ImageIO # These may be optional }: stdenv.mkDerivation rec { - emacsVersion = "26.1"; + emacsVersion = "26.2"; emacsName = "emacs-${emacsVersion}"; - macportVersion = "7.1"; + macportVersion = "7.6"; name = "emacs-mac-${emacsVersion}-${macportVersion}"; - builder = ./builder.sh; - src = fetchurl { url = "mirror://gnu/emacs/${emacsName}.tar.xz"; - sha256 = "0b6k1wq44rc8gkvxhi1bbjxbz3cwg29qbq8mklq2az6p1hjgrx0w"; + sha256 = "13n5m60i47k96mpv5pp6km2ph9rv2m5lmbpzj929v02vpsfyc70m"; }; macportSrc = fetchurl { url = "ftp://ftp.math.s.chiba-u.ac.jp/emacs/${emacsName}-mac-${macportVersion}.tar.gz"; - sha256 = "0d2ny54f68v3hjc2g3pkj83xv3yzv0hrwvn2cmpyb0jxjbsb2frc"; + sha256 = "00szqb74ds89m34sx5mq0gxhsrz64j691sxyvqncj10hw17d0y61"; }; hiresSrc = fetchurl { @@ -35,6 +33,8 @@ stdenv.mkDerivation rec { buildInputs = [ ncurses libxml2 gnutls texinfo gettext AppKit Carbon Cocoa IOKit OSAKit Quartz QuartzCore WebKit ImageCaptureCore GSS ImageIO # may be optional + # Needed for CFNotificationCenterAddObserver symbols. + cf-private ]; postUnpack = '' @@ -53,6 +53,10 @@ stdenv.mkDerivation rec { # use newer emacs icon cp nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns mac/Emacs.app/Contents/Resources/Emacs.icns + + # Fix sandbox impurities. + substituteInPlace Makefile.in --replace '/bin/pwd' 'pwd' + substituteInPlace lib-src/Makefile.in --replace '/bin/pwd' 'pwd' ''; configureFlags = [ @@ -64,7 +68,7 @@ stdenv.mkDerivation rec { "--enable-mac-app=$$out/Applications" ]; - CFLAGS = "-O3 -DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_10 -DMAC_OS_X_VERSION_MIN_REQUIRED=MAC_OS_X_VERSION_10_10"; + CFLAGS = "-O3"; LDFLAGS = "-O3 -L${ncurses.out}/lib"; postInstall = '' @@ -76,7 +80,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "The extensible, customizable text editor"; - homepage = http://www.gnu.org/software/emacs/; + homepage = https://www.gnu.org/software/emacs/; license = licenses.gpl3Plus; maintainers = with maintainers; [ jwiegley matthewbauer ]; platforms = platforms.darwin; diff --git a/pkgs/applications/editors/emacs/site-start.el b/pkgs/applications/editors/emacs/site-start.el index cc1ab1d0e3039af1dc72207dd9a64c479dca2fef..34addc33a59c154c47f6698af0788f07afb091f3 100644 --- a/pkgs/applications/editors/emacs/site-start.el +++ b/pkgs/applications/editors/emacs/site-start.el @@ -30,7 +30,7 @@ least specific (the system profile)" woman-manpath))) ;;; Make tramp work for remote NixOS machines -(eval-after-load 'tramp +(eval-after-load 'tramp-sh ;; TODO: We should also add the other `NIX_PROFILES' to this path. ;; However, these are user-specific, so we would need to discover ;; them dynamically after connecting via `tramp' diff --git a/pkgs/applications/editors/emacs/tramp-detect-wrapped-gvfsd.patch b/pkgs/applications/editors/emacs/tramp-detect-wrapped-gvfsd.patch new file mode 100644 index 0000000000000000000000000000000000000000..5d16194fd20279ec78e7b17a469c7cde688ff49e --- /dev/null +++ b/pkgs/applications/editors/emacs/tramp-detect-wrapped-gvfsd.patch @@ -0,0 +1,14 @@ +diff --git a/lisp/net/tramp-gvfs.el b/lisp/net/tramp-gvfs.el +index f370abba31..f2806263a9 100644 +--- a/lisp/net/tramp-gvfs.el ++++ b/lisp/net/tramp-gvfs.el +@@ -164,7 +164,8 @@ tramp-gvfs-enabled + (and (featurep 'dbusbind) + (tramp-compat-funcall 'dbus-get-unique-name :system) + (tramp-compat-funcall 'dbus-get-unique-name :session) +- (or (tramp-compat-process-running-p "gvfs-fuse-daemon") ++ (or (tramp-compat-process-running-p ".gvfsd-fuse-wrapped") ++ (tramp-compat-process-running-p "gvfs-fuse-daemon") + (tramp-compat-process-running-p "gvfsd-fuse")))) + "Non-nil when GVFS is available.") + diff --git a/pkgs/applications/editors/featherpad/default.nix b/pkgs/applications/editors/featherpad/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..89e10ea25fa62110332e2f3466fae8160e158c03 --- /dev/null +++ b/pkgs/applications/editors/featherpad/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl, pkgconfig, qt5, fetchFromGitHub }: + +with qt5; + +stdenv.mkDerivation rec { + version = "0.9.4"; + name = "featherpad-${version}"; + src = fetchFromGitHub { + owner = "tsujan"; + repo = "FeatherPad"; + rev = "V${version}"; + sha256 = "18zna6rx2qyiplr44wrkvr4avk9yy2l1s23fy3d7ql9f1fq12z3w"; + }; + nativeBuildInputs = [ qmake pkgconfig qttools ]; + buildInputs = [ qtbase qtsvg qtx11extras ]; + meta = with stdenv.lib; { + description = "Lightweight Qt5 Plain-Text Editor for Linux"; + homepage = https://github.com/tsujan/FeatherPad; + platforms = platforms.linux; + maintainers = [ maintainers.flosse ]; + license = licenses.gpl3; + }; +} diff --git a/pkgs/applications/editors/flpsed/default.nix b/pkgs/applications/editors/flpsed/default.nix index bd00045bca91b7764e266e302d65d965e9e5281c..104206a1491323e2bea43d91933000ff7b2d0699 100644 --- a/pkgs/applications/editors/flpsed/default.nix +++ b/pkgs/applications/editors/flpsed/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, fltk13, ghostscript}: +{ stdenv, fetchurl, fltk13, ghostscript }: stdenv.mkDerivation rec { name = "flpsed-${version}"; @@ -19,9 +19,9 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "WYSIWYG PostScript annotator"; - homepage = http://http://flpsed.org/flpsed.html; + homepage = http://flpsed.org/flpsed.html; license = licenses.gpl3; - platforms = platforms.mesaPlatforms; + platforms = platforms.linux; maintainers = with maintainers; [ fuuzetsu ]; }; } diff --git a/pkgs/applications/editors/focuswriter/default.nix b/pkgs/applications/editors/focuswriter/default.nix index 706f2f015b12d526fe55669bb88115cb99670caa..ce553fa8b28852d2c7a8eeeaa926e5b791a6d9ba 100644 --- a/pkgs/applications/editors/focuswriter/default.nix +++ b/pkgs/applications/editors/focuswriter/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "focuswriter-${version}"; - version = "1.6.15"; + version = "1.7.2"; src = fetchurl { url = "https://gottcode.org/focuswriter/focuswriter-${version}-src.tar.bz2"; - sha256 = "0afs9cm5q7zxag28m427ycwwxkbn47zw7v111x7963ydqyn9gr9q"; + sha256 = "1qsfcrscm3s0h7wcl6qn8zi0irr70zdacjxsdk73kpk1dhl2j85k"; }; nativeBuildInputs = [ pkgconfig qmake qttools ]; diff --git a/pkgs/applications/editors/geany/default.nix b/pkgs/applications/editors/geany/default.nix index 24954a602cccbdd77bd9c3773e14f3fe57db32d8..0ff56e9145fb348348ff47e1415e12c6b3e5acd3 100644 --- a/pkgs/applications/editors/geany/default.nix +++ b/pkgs/applications/editors/geany/default.nix @@ -3,7 +3,7 @@ with stdenv.lib; let - version = "1.33"; + version = "1.35"; in stdenv.mkDerivation rec { @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://download.geany.org/${name}.tar.bz2"; - sha256 = "66baaff43f12caebcf0efec9a5533044dc52837f799c73a1fd7312caa86099c2"; + sha256 = "179xfnvhcxsv54v2mlrhykqv2j7klniln5sffvqqpjmdvwyivvim"; }; nativeBuildInputs = [ pkgconfig intltool libintl ]; @@ -46,7 +46,7 @@ stdenv.mkDerivation rec { ''; homepage = https://www.geany.org/; license = licenses.gpl2; - maintainers = []; + maintainers = with maintainers; [ frlan ]; platforms = platforms.all; }; } diff --git a/pkgs/applications/editors/ghostwriter/default.nix b/pkgs/applications/editors/ghostwriter/default.nix index 36259593463d697d6ed33f1638c8f044c490cf3c..a65954d7d2aeed5f8e79417e6e80ad9d74e6ef5a 100644 --- a/pkgs/applications/editors/ghostwriter/default.nix +++ b/pkgs/applications/editors/ghostwriter/default.nix @@ -1,20 +1,20 @@ -{ stdenv, fetchFromGitHub, qmake, pkgconfig, qtwebkit, hunspell }: +{ stdenv, fetchFromGitHub, qmake, pkgconfig, qttools, qtwebengine, hunspell }: stdenv.mkDerivation rec { pname = "ghostwriter"; - version = "1.7.3"; + version = "1.8.0"; name = "${pname}-${version}"; src = fetchFromGitHub { owner = "wereturtle"; repo = pname; rev = "v${version}"; - sha256 = "1xkxd59rw2dn6xphgcl06zzmfgs1zna2w0pxrk0f49ywffvkvs72"; + sha256 = "13yn82m1l2pq93wbl569a2lzpc3sn8a8g30hsgdch1l9xlmhwran"; }; - nativeBuildInputs = [ qmake pkgconfig ]; + nativeBuildInputs = [ qmake pkgconfig qttools ]; - buildInputs = [ qtwebkit hunspell ]; + buildInputs = [ qtwebengine hunspell ]; meta = with stdenv.lib; { description = "A cross-platform, aesthetic, distraction-free Markdown editor"; diff --git a/pkgs/applications/editors/gnome-builder/default.nix b/pkgs/applications/editors/gnome-builder/default.nix index db2d07db31e771c91a687163c92bc676e9b3e4e6..63568bef6f74c0b53a39025d317ff1d14eaeec19 100644 --- a/pkgs/applications/editors/gnome-builder/default.nix +++ b/pkgs/applications/editors/gnome-builder/default.nix @@ -1,21 +1,23 @@ -{ stdenv +{ gcc8Stdenv +, ctags +, appstream-glib , desktop-file-utils , docbook_xsl , docbook_xml_dtd_43 -, fetchpatch , fetchurl , flatpak -, glibcLocales , gnome3 -, gobjectIntrospection +, libgit2-glib +, gobject-introspection , gspell , gtk-doc , gtk3 -, gtksourceview3 +, gtksourceview4 , hicolor-icon-theme , json-glib , jsonrpc-glib , libdazzle +, libpeas , libxml2 , meson , ninja @@ -26,45 +28,54 @@ , sysprof , template-glib , vala +, vte , webkitgtk , wrapGAppsHook +, dbus +, xvfb_run }: + let - version = "3.28.4"; + # Does not build with GCC 7 + # https://gitlab.gnome.org/GNOME/gnome-builder/issues/868 + stdenv = gcc8Stdenv; +in +stdenv.mkDerivation rec { pname = "gnome-builder"; -in stdenv.mkDerivation { - name = "${pname}-${version}"; + version = "3.32.0"; src = fetchurl { - url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${pname}-${version}.tar.xz"; - sha256 = "0ibb74jlyrl5f6rj1b74196zfg2qaf870lxgi76qzpkgwq0iya05"; + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "00l7sshpndk995aw98mjmsc3mxhxzynlp7il551iwwjjdbc70qp4"; }; nativeBuildInputs = [ - #appstream-glib # tests fail if these tools are available + appstream-glib desktop-file-utils docbook_xsl docbook_xml_dtd_43 - glibcLocales # for Meson's gtkdochelper - gobjectIntrospection + gobject-introspection gtk-doc hicolor-icon-theme - meson + (meson.override ({ inherit stdenv; })) ninja pkgconfig + python3 python3.pkgs.wrapPython wrapGAppsHook ]; buildInputs = [ + ctags flatpak gnome3.devhelp - gnome3.libgit2-glib - gnome3.libpeas - gnome3.vte + gnome3.glade + libgit2-glib + libpeas + vte gspell gtk3 - gtksourceview3 + gtksourceview4 json-glib jsonrpc-glib libdazzle @@ -78,45 +89,38 @@ in stdenv.mkDerivation { webkitgtk ]; + checkInputs = [ + dbus + xvfb_run + ]; + outputs = [ "out" "devdoc" ]; prePatch = '' patchShebangs build-aux/meson/post_install.py ''; - patches = [ - (fetchpatch { - name = "absolute-shared-library-path.patch"; - url = "https://gitlab.gnome.org/GNOME/gnome-builder/commit/1011cabc519fd7322e2d695c79bfce3e18ff6200.patch"; - sha256 = "1g12zziidzrphp527aa8sklfaln4qpjprkz73f0c9w5ph6k252fw"; - }) - (fetchpatch { - name = "python-libprefix.patch"; - url = "https://gitlab.gnome.org/GNOME/gnome-builder/commit/43494ce83a347f369ed4cfb8dd71d3b93452736b.patch"; - sha256 = "0kgi3n3g13n1j4xa61ln9xiahcfdc43bxi5mw4yva2d5px445msf"; - }) - (fetchpatch { - name = "ostree-dependency.patch"; - url = "https://gitlab.gnome.org/GNOME/gnome-builder/commit/8b11773b65c95f464a0de16b91318c1ca73deeae.patch"; - sha256 = "18r4hd90id0w6r0lzqpw83bcj45nm9jhr46a0ffi1mcayb18mgbk"; - }) - ]; - mesonFlags = [ "-Dpython_libprefix=${python3.libPrefix}" - "-Dwith_docs=true" + "-Ddocs=true" # Making the build system correctly detect clang header and library paths # is difficult. Somebody should look into fixing this. - "-Dwith_clang=false" + "-Dplugin_clang=false" + + # Do not try to check if appstream images exist + "-Dnetwork_tests=false" ]; # Some tests fail due to being unable to find the Vte typelib, and I don't # understand why. Somebody should look into fixing this. - doCheck = false; + doCheck = true; - preInstall = '' - export LC_ALL="en_US.utf-8" + checkPhase = '' + export NO_AT_BRIDGE=1 + xvfb-run -s '-screen 0 800x600x24' dbus-run-session \ + --config-file=${dbus.daemon}/share/dbus-1/session.conf \ + meson test --print-errorlogs ''; pythonPath = with python3.pkgs; requiredPythonModules [ pygobject3 ]; diff --git a/pkgs/applications/editors/gnome-latex/default.nix b/pkgs/applications/editors/gnome-latex/default.nix index 055ac050b541b34210dbb2c853fc40864193988e..cfd3a4289901f648e0fffa1bdc9c3dcc2cd91e3c 100644 --- a/pkgs/applications/editors/gnome-latex/default.nix +++ b/pkgs/applications/editors/gnome-latex/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchurl, wrapGAppsHook +{ stdenv, fetchurl, wrapGAppsHook, gsettings-desktop-schemas, gspell, gtksourceview4, libgee , tepl, amtk, gnome3, glib, pkgconfig, intltool, itstool, libxml2 }: let - version = "3.30.1"; + version = "3.32.0"; pname = "gnome-latex"; in stdenv.mkDerivation { name = "${pname}-${version}"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "0yvkp311ikmiypzj2q6ypvyw5migxiqp8lwhyl3qq6mk6p0x66w8"; + sha256 = "1jdca9yhm7mm1aijd1a5amphgn15142kngky3id2am379ixrq1hg"; }; NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; @@ -21,9 +21,9 @@ in stdenv.mkDerivation { intltool ]; - buildInputs = with gnome3; [ + buildInputs = [ amtk - defaultIconTheme + gnome3.adwaita-icon-theme glib gsettings-desktop-schemas gspell diff --git a/pkgs/applications/editors/howl/default.nix b/pkgs/applications/editors/howl/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..8f75eda7ef705eae63274d9d6ea1fb943d154571 --- /dev/null +++ b/pkgs/applications/editors/howl/default.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchurl, makeWrapper, pkgconfig, gtk3, librsvg }: + +with stdenv.lib; + +stdenv.mkDerivation rec { + name = "howl-${version}"; + version = "0.5.3"; + + # Use the release tarball containing pre-downloaded dependencies sources + src = fetchurl { + url = "https://github.com/howl-editor/howl/releases/download/0.5.3/howl-0.5.3.tgz"; + sha256 = "0gnc8vr5h8mwapbcqc1zr9la62rb633awyqgy8q7pwjpiy85a03v"; + }; + + sourceRoot = "./howl-${version}/src"; + + # The Makefile uses "/usr/local" if not explicitly overridden + installFlags = [ "PREFIX=$(out)" ]; + + nativeBuildInputs = [ makeWrapper pkgconfig ]; + buildInputs = [ gtk3 librsvg ]; + enableParallelBuilding = true; + + # Required for the program to properly load its SVG assets + postInstall = '' + wrapProgram $out/bin/howl \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" + ''; + + meta = { + homepage = https://howl.io/; + description = "A general purpose, fast and lightweight editor with a keyboard-centric minimalistic user interface"; + license = licenses.mit; + maintainers = with maintainers; [ pacien ]; + + # LuaJIT and Howl builds fail for x86_64-darwin and aarch64-linux respectively + platforms = [ "i686-linux" "x86_64-linux" ]; + }; +} + diff --git a/pkgs/applications/editors/jetbrains/common.nix b/pkgs/applications/editors/jetbrains/common.nix index 04de4f564c3382e2f784c234863d1c4bb96aa263..be20800cde295739088f20e948a0cd73439e5bf3 100644 --- a/pkgs/applications/editors/jetbrains/common.nix +++ b/pkgs/applications/editors/jetbrains/common.nix @@ -1,5 +1,5 @@ { stdenv, makeDesktopItem, makeWrapper, patchelf, p7zip -, coreutils, gnugrep, which, git, unzip, libsecret +, coreutils, gnugrep, which, git, unzip, libsecret, libnotify }: { name, product, version, src, wmClass, jdk, meta }: @@ -26,7 +26,7 @@ with stdenv; lib.makeOverridable mkDerivation rec { ''; }; - buildInputs = [ makeWrapper patchelf p7zip unzip ]; + nativeBuildInputs = [ makeWrapper patchelf p7zip unzip ]; patchPhase = '' get_file_size() { @@ -42,7 +42,7 @@ with stdenv; lib.makeOverridable mkDerivation rec { } interpreter=$(echo ${stdenv.glibc.out}/lib/ld-linux*.so.2) - if [ "${stdenv.system}" == "x86_64-linux" ]; then + if [ "${stdenv.hostPlatform.system}" == "x86_64-linux" ]; then target_size=$(get_file_size bin/fsnotifier64) patchelf --set-interpreter "$interpreter" bin/fsnotifier64 munge_size_hack bin/fsnotifier64 $target_size @@ -67,6 +67,7 @@ with stdenv; lib.makeOverridable mkDerivation rec { --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ # Some internals want libstdc++.so.6 stdenv.cc.cc.lib libsecret + libnotify ]}" \ --set JDK_HOME "$jdk" \ --set ${hiName}_JDK "$jdk" \ diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix index 676514a614a6ade26fea39ce44fcbf00ecfcc530..ba3958a43d192a4187cfefbe2073988d66c3f39c 100644 --- a/pkgs/applications/editors/jetbrains/default.nix +++ b/pkgs/applications/editors/jetbrains/default.nix @@ -130,7 +130,8 @@ let longDescription = '' IDE for Java SE, Groovy & Scala development Powerful environment for building Google Android apps Integration - with JUnit, TestNG, popular SCMs, Ant & Maven. + with JUnit, TestNG, popular SCMs, Ant & Maven. Also known + as IntelliJ. ''; maintainers = with maintainers; [ edwtjo ]; platforms = platforms.linux; @@ -174,7 +175,7 @@ let providing you almost everything you need for your comfortable and productive development! ''; - maintainers = with maintainers; [ jgeerds ]; + maintainers = with maintainers; [ ]; platforms = platforms.linux; }; }).override { @@ -249,145 +250,145 @@ in clion = buildClion rec { name = "clion-${version}"; - version = "2018.2.1"; /* updated by script */ + version = "2019.1.2"; /* updated by script */ 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 = "16fr5760nkzgx8785x6hh7s96x097y6vdx7w1f9ipg71vv25cscq"; /* updated by script */ + sha256 = "0x4fmbarckw60issrwk3cd65x5xjkxwrw4xq1qgfzmxfqhzbzvz8"; /* updated by script */ }; wmClass = "jetbrains-clion"; - update-channel = "CLion Release"; # channel's id as in http://www.jetbrains.com/updates/updates.xml + update-channel = "CLion RELEASE"; # channel's id as in http://www.jetbrains.com/updates/updates.xml }; datagrip = buildDataGrip rec { name = "datagrip-${version}"; - version = "2018.2.1"; /* updated by script */ + version = "2019.1.1"; /* updated by script */ 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 = "1jfkxr790wr8ffn7ph694hfzahs2akjcfk4rfsvjv1dccqb0167k"; /* updated by script */ + sha256 = "0w6hasb8vcbxdqmb0pngwr2jg0w14prqb4v7blraa5jf1xyyiayd"; /* updated by script */ }; wmClass = "jetbrains-datagrip"; - update-channel = "DataGrip 2018.2"; + update-channel = "DataGrip RELEASE"; }; goland = buildGoland rec { name = "goland-${version}"; - version = "2018.2.1"; /* updated by script */ + version = "2019.1.1"; /* updated by script */ description = "Up and Coming Go IDE"; license = stdenv.lib.licenses.unfree; src = fetchurl { url = "https://download.jetbrains.com/go/${name}.tar.gz"; - sha256 = "0k96v00cbxkgxs9xby5m4dxl4w2kkm2lii54z1hqjwqmc9kxa2ia"; /* updated by script */ + sha256 = "0b8msq0raczm657rhbyqi702zv4zs66yd6dcm7s0l54hnas5ia9r"; /* updated by script */ }; wmClass = "jetbrains-goland"; - update-channel = "GoLand Release"; + update-channel = "GoLand RELEASE"; }; idea-community = buildIdea rec { name = "idea-community-${version}"; - version = "2018.2.1"; /* updated by script */ + version = "2019.1.1"; /* updated by script */ 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 = "04dqyzkkrwvcdy1raard77v2315d44h29cpc9p98bjidvjd6bhsx"; /* updated by script */ + sha256 = "0xbdn1q0a2ksb7z26n2l889m6z0lh3b45clya7rdfl4jv2gkiaaq"; /* updated by script */ }; wmClass = "jetbrains-idea-ce"; - update-channel = "IntelliJ IDEA Release"; + update-channel = "IntelliJ IDEA RELEASE"; }; idea-ultimate = buildIdea rec { name = "idea-ultimate-${version}"; - version = "2018.2.1"; /* updated by script */ + version = "2019.1.1"; /* updated by script */ 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}-no-jdk.tar.gz"; - sha256 = "0ydidg9pk8bqf5jb1z0fw2m88v6mi38b4ddgmh5c9d9p44g6mddv"; /* updated by script */ + url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jbr.tar.gz"; + sha256 = "1pglvklbj4w6pmc7ffbjwwfqh7fad54yfx87m9plqk80rmpjzxfi"; /* updated by script */ }; wmClass = "jetbrains-idea"; - update-channel = "IntelliJ IDEA Release"; + update-channel = "IntelliJ IDEA RELEASE"; }; phpstorm = buildPhpStorm rec { name = "phpstorm-${version}"; - version = "2018.2.1"; /* updated by script */ + version = "2019.1.1"; /* updated by script */ 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 = "042qhdkl4v5q4cdbqfbiwj6s3acivdb5kmbyn4jix8pg8r37yfnm"; /* updated by script */ + sha256 = "100whawwj1kiq870dsmkx33qv5ygjpr9977jkbavhqjnc1zhwl1r"; /* updated by script */ }; wmClass = "jetbrains-phpstorm"; - update-channel = "PhpStorm 2018.2"; + update-channel = "PhpStorm RELEASE"; }; pycharm-community = buildPycharm rec { name = "pycharm-community-${version}"; - version = "2018.2.1"; /* updated by script */ + version = "2019.1.1"; /* updated by script */ description = "PyCharm Community Edition"; license = stdenv.lib.licenses.asl20; src = fetchurl { url = "https://download.jetbrains.com/python/${name}.tar.gz"; - sha256 = "14vnwqk0x0anvzmdv2ddc3qc9g5fll2ql02mi12k425j30fl2z2q"; /* updated by script */ + sha256 = "1zz579kmskvgsjv2lriglxkdlx33mmfv2liw1b9iilspga59izld"; /* updated by script */ }; wmClass = "jetbrains-pycharm-ce"; - update-channel = "PyCharm Release"; + update-channel = "PyCharm RELEASE"; }; pycharm-professional = buildPycharm rec { name = "pycharm-professional-${version}"; - version = "2018.2.1"; /* updated by script */ + version = "2019.1.1"; /* updated by script */ description = "PyCharm Professional Edition"; license = stdenv.lib.licenses.unfree; src = fetchurl { url = "https://download.jetbrains.com/python/${name}.tar.gz"; - sha256 = "1h4f9l577w2ps0y79x79yhpbrsv3j5nwr1lr1890phmp6zri6wyf"; /* updated by script */ + sha256 = "0hcij77j4zb1y1vls5nvxq3lmqrbppm3ml0p9nagbjipy2rmp838"; /* updated by script */ }; wmClass = "jetbrains-pycharm"; - update-channel = "PyCharm Release"; + update-channel = "PyCharm RELEASE"; }; rider = buildRider rec { name = "rider-${version}"; - version = "2018.1.3"; /* updated by script */ + version = "2018.3.4"; /* updated by script */ description = "A cross-platform .NET IDE based on the IntelliJ platform and ReSharper"; license = stdenv.lib.licenses.unfree; src = fetchurl { url = "https://download.jetbrains.com/rider/JetBrains.Rider-${version}.tar.gz"; - sha256 = "00wskr60mjipyp44wrpc3pn6awc92djn7rwhc08nrar3zv0j4mgg"; /* updated by script */ + sha256 = "1klmg8wgj3shp4s0n2nn7n39zsk1mch6g9ifhwn5cgywpbzgam4p"; /* updated by script */ }; wmClass = "jetbrains-rider"; - update-channel = "Rider 2018.1.3"; + update-channel = "Rider RELEASE"; }; ruby-mine = buildRubyMine rec { name = "ruby-mine-${version}"; - version = "2018.2.1"; /* updated by script */ + version = "2019.1.1"; /* updated by script */ 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 = "1gwcadjgs4cw5i3h1xn92ng415vzr5cxyrpgckr1qy37d5f4bhqg"; /* updated by script */ + sha256 = "0asg0x8xcjyydy0p1fdlhpcwfckdf9719460pv5zwc7yfd8z61yd"; /* updated by script */ }; wmClass = "jetbrains-rubymine"; - update-channel = "RubyMine 2018.2"; + update-channel = "RubyMine RELEASE"; }; webstorm = buildWebStorm rec { name = "webstorm-${version}"; - version = "2018.2.1"; /* updated by script */ + version = "2019.1.1"; /* updated by script */ 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 = "1jbzkp13qn4n58kbcsszm2gfnywjma2yvn48g0vi14v7x6zihhxd"; /* updated by script */ + sha256 = "05lrsjk45l4xqjyinsqlnfr36qnv1nrgg2sskgi0bfjbdrfv9xrv"; /* updated by script */ }; wmClass = "jetbrains-webstorm"; - update-channel = "WebStorm Release"; + update-channel = "WebStorm RELEASE"; }; } diff --git a/pkgs/applications/editors/jucipp/default.nix b/pkgs/applications/editors/jucipp/default.nix index 08918beb8d5921cf3c26edd5bf9797fae56f50e3..9547b82efa1f79616cc56bb137cc1c1d54ce90ec 100644 --- a/pkgs/applications/editors/jucipp/default.nix +++ b/pkgs/applications/editors/jucipp/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchgit, gnome3, at-spi2-core, +{ stdenv, fetchgit, gnome3, gtksourceview3, at-spi2-core, gtksourceviewmm, boost, epoxy, cmake, aspell, llvmPackages, libgit2, pkgconfig, pcre, - libXdmcp, libxkbcommon, libpthreadstubs, wrapGAppsHook, aspellDicts, + libXdmcp, libxkbcommon, libpthreadstubs, wrapGAppsHook, aspellDicts, gtkmm3, coreutils, glibc, dbus, openssl, libxml2, gnumake, ctags }: with stdenv.lib; @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { dbus openssl libxml2 - gnome3.gtksourceview + gtksourceview3 at-spi2-core pcre epoxy @@ -39,9 +39,9 @@ stdenv.mkDerivation rec { aspell libgit2 libxkbcommon - gnome3.gtkmm3 + gtkmm3 libpthreadstubs - gnome3.gtksourceviewmm + gtksourceviewmm llvmPackages.clang.cc llvmPackages.lldb gnome3.dconf diff --git a/pkgs/applications/editors/jupyter/default.nix b/pkgs/applications/editors/jupyter/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..2bca120c1debc04703cdd8717e5edee1ef571e05 --- /dev/null +++ b/pkgs/applications/editors/jupyter/default.nix @@ -0,0 +1,18 @@ +# Jupyter notebook with the given kernel definitions + +{ python3 +, jupyter-kernel +, definitions ? jupyter-kernel.default +}: + +let + + jupyterPath = (jupyter-kernel.create { inherit definitions; }); + +in + +with python3.pkgs; toPythonModule ( + notebook.overridePythonAttrs(oldAttrs: { + makeWrapperArgs = ["--set JUPYTER_PATH ${jupyterPath}"]; + }) +) diff --git a/pkgs/applications/editors/jupyter/kernel.nix b/pkgs/applications/editors/jupyter/kernel.nix new file mode 100644 index 0000000000000000000000000000000000000000..38c61dba751ba7f676e7847e0e3e42ea19b6096c --- /dev/null +++ b/pkgs/applications/editors/jupyter/kernel.nix @@ -0,0 +1,74 @@ +{ lib, stdenv, python3}: + +let + + default = { + python3 = let + env = (python3.withPackages (ps: with ps; [ ipykernel ])); + in { + displayName = "Python 3"; + argv = [ + "${env.interpreter}" + "-m" + "ipykernel_launcher" + "-f" + "{connection_file}" + ]; + language = "python"; + logo32 = "${env.sitePackages}/ipykernel/resources/logo-32x32.png"; + logo64 = "${env.sitePackages}/ipykernel/resources/logo-64x64.png"; + }; + }; + +in +{ + inherit default; + + # Definitions is an attribute set. + + create = { definitions ? default }: with lib; stdenv.mkDerivation rec { + + name = "jupyter-kernels"; + + src = "/dev/null"; + + unpackCmd = "mkdir jupyter_kernels"; + + installPhase = '' + mkdir kernels + + ${concatStringsSep "\n" (mapAttrsToList (kernelName: kernel: + let + config = builtins.toJSON { + display_name = if (kernel.displayName != "") + then kernel.displayName + else kernelName; + argv = kernel.argv; + language = kernel.language; + }; + logo32 = + if (kernel.logo32 != null) + then "ln -s ${kernel.logo32} 'kernels/${kernelName}/logo-32x32.png';" + else ""; + logo64 = + if (kernel.logo64 != null) + then "ln -s ${kernel.logo64} 'kernels/${kernelName}/logo-64x64.png';" + else ""; + in '' + mkdir 'kernels/${kernelName}'; + echo '${config}' > 'kernels/${kernelName}/kernel.json'; + ${logo32} + ${logo64} + '') definitions)} + + mkdir $out + cp -r kernels $out + ''; + + meta = { + description = "Wrapper to create jupyter notebook kernel definitions"; + homepage = https://jupyter.org/; + maintainers = with maintainers; [ aborsu ]; + }; + }; +} diff --git a/pkgs/applications/editors/kakoune/default.nix b/pkgs/applications/editors/kakoune/default.nix index ad408081e1fd0b77517ae432ffb8a87f64b1192b..16596056c9a062fc77d225aaafa89064e8e07d1b 100644 --- a/pkgs/applications/editors/kakoune/default.nix +++ b/pkgs/applications/editors/kakoune/default.nix @@ -3,13 +3,13 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "kakoune-unstable-${version}"; - version = "2018-08-05"; + name = "kakoune-${version}"; + version = "2019.01.20"; src = fetchFromGitHub { repo = "kakoune"; owner = "mawww"; - rev = "ae75032936ed9ffa2bf14589fef115d3d684a7c6"; - sha256 = "1qm6i8vzr4wjxxdvhr54pan0ysxq1sn880bz8p2w9y6qa91yd3m3"; + rev = "v${version}"; + sha256 = "04ak1jm7b1i03sx10z3fxw08rn692y2fj482jn5kpzfzj91b2ila"; }; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ ncurses asciidoc docbook_xsl libxslt ]; @@ -21,6 +21,10 @@ stdenv.mkDerivation rec { sed -ie 's#--no-xmllint#--no-xmllint --xsltproc-opts="--nonet"#g' Makefile ''; + preConfigure = '' + export version="v${version}" + ''; + meta = { homepage = http://kakoune.org/; description = "A vim inspired text editor"; diff --git a/pkgs/applications/editors/kdevelop5/kdev-php.nix b/pkgs/applications/editors/kdevelop5/kdev-php.nix new file mode 100644 index 0000000000000000000000000000000000000000..085affa5f7ecb3f189c99ac181c0aeb19075176a --- /dev/null +++ b/pkgs/applications/editors/kdevelop5/kdev-php.nix @@ -0,0 +1,25 @@ +{ stdenv, lib, fetchurl, cmake, extra-cmake-modules, threadweaver, ktexteditor, kdevelop-unwrapped, kdevelop-pg-qt }: + +let + pname = "kdev-php"; + version = "5.3.2"; +in +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + + src = fetchurl { + url = "https://github.com/KDE/${pname}/archive/v${version}.tar.gz"; + sha256 = "0yjn7y7al2xs8g0mrjvcym8gbjy4wmiv7lsljcrasjd7ymag1wgs"; + }; + + nativeBuildInputs = [ cmake extra-cmake-modules ]; + buildInputs = [ kdevelop-pg-qt threadweaver ktexteditor kdevelop-unwrapped ]; + + meta = with lib; { + maintainers = [ maintainers.aanderse ]; + platforms = platforms.linux; + description = "PHP support for KDevelop"; + homepage = https://www.kdevelop.org; + license = [ licenses.gpl2 ]; + }; +} diff --git a/pkgs/applications/editors/kdevelop5/kdev-python.nix b/pkgs/applications/editors/kdevelop5/kdev-python.nix new file mode 100644 index 0000000000000000000000000000000000000000..4fbf3ed297c15bb899da3e4161aaafe27e2fdee1 --- /dev/null +++ b/pkgs/applications/editors/kdevelop5/kdev-python.nix @@ -0,0 +1,29 @@ +{ stdenv, lib, fetchurl, cmake, extra-cmake-modules, threadweaver, ktexteditor, kdevelop-unwrapped, python }: + +let + pname = "kdev-python"; + version = "5.3.2"; +in +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + + src = fetchurl { + url = "https://github.com/KDE/${pname}/archive/v${version}.tar.gz"; + sha256 = "0gqv1abzfpxkrf538rb62d2291lmlra8rghm9q9r3x8a46wh96zm"; + }; + + cmakeFlags = [ + "-DPYTHON_EXECUTABLE=${python}/bin/python" + ]; + + nativeBuildInputs = [ cmake extra-cmake-modules ]; + buildInputs = [ threadweaver ktexteditor kdevelop-unwrapped ]; + + meta = with lib; { + maintainers = [ maintainers.aanderse ]; + platforms = platforms.linux; + description = "Python support for KDevelop"; + homepage = https://www.kdevelop.org; + license = [ licenses.gpl2 ]; + }; +} diff --git a/pkgs/applications/editors/kdevelop5/kdevelop.nix b/pkgs/applications/editors/kdevelop5/kdevelop.nix index 41d1a6262ed594a3263b3ffc597d930f7fb84e84..23ec887ad6219bc3a345881a3fb791c3760ea75b 100644 --- a/pkgs/applications/editors/kdevelop5/kdevelop.nix +++ b/pkgs/applications/editors/kdevelop5/kdevelop.nix @@ -1,23 +1,23 @@ { mkDerivation, lib, fetchurl, cmake, gettext, pkgconfig, extra-cmake-modules -, qtquickcontrols, qtwebkit, qttools, kde-cli-tools +, qtquickcontrols, qtwebkit, qttools, kde-cli-tools, qtbase , kconfig, kdeclarative, kdoctools, kiconthemes, ki18n, kitemmodels, kitemviews , kjobwidgets, kcmutils, kio, knewstuff, knotifyconfig, kparts, ktexteditor , threadweaver, kxmlgui, kwindowsystem, grantlee, kcrash, karchive, kguiaddons -, plasma-framework, krunner, kdevplatform, kdevelop-pg-qt, shared-mime-info -, libksysguard, konsole, llvmPackages, makeWrapper +, plasma-framework, krunner, kdevelop-pg-qt, shared-mime-info, libkomparediff2 +, libksysguard, konsole, llvmPackages, makeWrapper, kpurpose, boost }: let pname = "kdevelop"; - version = "5.1.2"; - + version = "5.3.2"; + qtVersion = "5.${lib.versions.minor qtbase.version}"; in mkDerivation rec { name = "${pname}-${version}"; src = fetchurl { url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.xz"; - sha256 = "af54e807847d145fe5f3eb55962ed0d22e6363c2bc6c32167e51ca4823c00ac7"; + sha256 = "0akgdnvrab6mbwnmvgzsplk0qh83k1hnm5xc06yxr1s1a5sxbk08"; }; nativeBuildInputs = [ @@ -30,20 +30,35 @@ mkDerivation rec { ]; propagatedBuildInputs = [ - qtquickcontrols qtwebkit + qtquickcontrols qtwebkit boost libkomparediff2 kconfig kdeclarative kdoctools kiconthemes ki18n kitemmodels kitemviews kjobwidgets kcmutils kio knewstuff knotifyconfig kparts ktexteditor threadweaver kxmlgui kwindowsystem grantlee plasma-framework krunner - kdevplatform shared-mime-info libksysguard konsole kcrash karchive kguiaddons + shared-mime-info libksysguard konsole kcrash karchive kguiaddons kpurpose + ]; + + # https://cgit.kde.org/kdevelop.git/commit/?id=716372ae2e8dff9c51e94d33443536786e4bd85b + # required as nixos seems to be unable to find CLANG_BUILTIN_DIR + cmakeFlags = [ + "-DCLANG_BUILTIN_DIR=${llvmPackages.clang-unwrapped}/lib/clang/${(builtins.parseDrvName llvmPackages.clang.name).version}/include" ]; + postPatch = '' + # FIXME: temporary until https://invent.kde.org/kde/kdevelop/merge_requests/8 is merged + substituteInPlace kdevplatform/language/backgroundparser/parsejob.cpp --replace \ + 'if (internalFilePath.startsWith(dataPath.canonicalPath() + QStringLiteral("/kdev"))) {' \ + 'if (internalFilePath.startsWith(dataPath.canonicalPath() + QStringLiteral("/kdev")) || localFile.startsWith(path + QStringLiteral("/kdev"))) {' + ''; + postInstall = '' # The kdevelop! script (shell environment) needs qdbus and kioclient5 in PATH. - wrapProgram "$out/bin/kdevelop!" --prefix PATH ":" "${lib.makeBinPath [ qttools kde-cli-tools ]}" + wrapProgram "$out/bin/kdevelop!" \ + --prefix PATH ":" "${lib.makeBinPath [ qttools kde-cli-tools ]}" + + wrapProgram "$out/bin/kdevelop" \ + --prefix QT_PLUGIN_PATH : $out/lib/qt-${qtVersion}/plugins # Fix the (now wrapped) kdevelop! to find things in right places: - # - Make KDEV_BASEDIR point to bin directory of kdevplatform. - kdev_fixup_sed="s|^export KDEV_BASEDIR=.*$|export KDEV_BASEDIR=${kdevplatform}/bin|" # - Fixup the one use where KDEV_BASEDIR is assumed to contain kdevelop. kdev_fixup_sed+=";s|\\\$KDEV_BASEDIR/kdevelop|$out/bin/kdevelop|" sed -E -i "$kdev_fixup_sed" "$out/bin/.kdevelop!-wrapped" diff --git a/pkgs/applications/editors/kdevelop5/kdevplatform.nix b/pkgs/applications/editors/kdevelop5/kdevplatform.nix deleted file mode 100644 index 88164c2c4585176986c747255a2e74d1b0e9e2e0..0000000000000000000000000000000000000000 --- a/pkgs/applications/editors/kdevelop5/kdevplatform.nix +++ /dev/null @@ -1,44 +0,0 @@ -{ stdenv, fetchurl, cmake, gettext, pkgconfig, extra-cmake-modules -, boost, subversion, apr, aprutil, kwindowsystem -, qtscript, qtwebkit, grantlee, karchive, kconfig, kcoreaddons, kguiaddons, kiconthemes, ki18n -, kitemmodels, kitemviews, kio, kparts, sonnet, kcmutils, knewstuff, knotifications -, knotifyconfig, ktexteditor, threadweaver, kdeclarative, libkomparediff2 }: - -let - pname = "kdevplatform"; - version = "5.1.2"; - -in -stdenv.mkDerivation rec { - name = "${pname}-${version}"; - - src = fetchurl { - url = "mirror://kde/stable/kdevelop/${version}/src/${name}.tar.xz"; - sha256 = "e622ddad552a678baaf1166d5cbdc5fd1192d2324300c52ef2d25f1c6778664a"; - }; - - nativeBuildInputs = [ cmake gettext pkgconfig extra-cmake-modules ]; - - buildInputs = [ - boost subversion apr aprutil kwindowsystem - qtscript qtwebkit grantlee karchive kconfig kcoreaddons kguiaddons kiconthemes - ki18n kitemmodels kitemviews kio kparts sonnet kcmutils knewstuff - knotifications knotifyconfig ktexteditor threadweaver kdeclarative - libkomparediff2 - ]; - - enableParallelBuilding = true; - - meta = with stdenv.lib; { - maintainers = [ maintainers.ambrop72 ]; - platforms = platforms.linux; - description = "KDE libraries for IDE-like programs"; - longDescription = '' - A free, opensource set of libraries that can be used as a foundation for - IDE-like programs. It is programing-language independent, and is planned - to be used by programs like: KDevelop, Quanta, Kile, KTechLab ... etc." - ''; - homepage = https://www.kdevelop.org; - license = with stdenv.lib.licenses; [ gpl2Plus lgpl2Plus ]; - }; -} diff --git a/pkgs/applications/editors/kdevelop5/wrapper.nix b/pkgs/applications/editors/kdevelop5/wrapper.nix new file mode 100644 index 0000000000000000000000000000000000000000..86d3de9eb39a945f323e612bb13ac628fe7e7696 --- /dev/null +++ b/pkgs/applications/editors/kdevelop5/wrapper.nix @@ -0,0 +1,7 @@ +{ symlinkJoin, kdevelop-unwrapped, plugins ? null }: + +symlinkJoin { + name = "kdevelop-with-plugins"; + + paths = [ kdevelop-unwrapped ] ++ (if plugins != null then plugins else []); +} diff --git a/pkgs/applications/editors/kile/default.nix b/pkgs/applications/editors/kile/default.nix index 259c319c70ff4f6cbacaed2c479c26a33dfc3954..494ad686ee3bbc9a94c27b0829404842962b4d57 100644 --- a/pkgs/applications/editors/kile/default.nix +++ b/pkgs/applications/editors/kile/default.nix @@ -1,6 +1,6 @@ { mkDerivation , lib -, fetchgit +, fetchurl , extra-cmake-modules , kdoctools , wrapGAppsHook @@ -22,13 +22,11 @@ }: mkDerivation rec { - name = "kile-${version}"; - version = "2017-02-09"; + name = "kile-2.9.92"; - src = fetchgit { - url = git://anongit.kde.org/kile.git; - rev = "f77f6e627487c152f111e307ad6dc71699ade746"; - sha256 = "0wpqaix9ssa28cm7qqjj0zfrscjgk8s3kmi5b4kk8h583gsrikib"; + src = fetchurl { + url = "mirror://sourceforge/kile/${name}.tar.bz2"; + sha256 = "177372dc25b1d109e037a7dbfc64b5dab2efe538320c87f4a8ceada21e9097f2"; }; diff --git a/pkgs/applications/editors/kodestudio/default.nix b/pkgs/applications/editors/kodestudio/default.nix index 4e22e032e357ffe8e2bd65e6e1dadeecae8cd85c..b212773712c2170da6f39123fc0f54cfaf7ec331 100644 --- a/pkgs/applications/editors/kodestudio/default.nix +++ b/pkgs/applications/editors/kodestudio/default.nix @@ -8,15 +8,15 @@ let version = "17.1"; - sha256 = if stdenv.system == "x86_64-linux" then "1kddisnvlk48jip6k59mw3wlkrl7rkck2lxpaghn0gfx02cvms5f" - else if stdenv.system == "i686-cygwin" then "1izp42afrlh4yd322ax9w85ki388gnkqfqbw8dwnn4k3j7r5487z" - else throw "Unsupported system: ${stdenv.system}"; + sha256 = if stdenv.hostPlatform.system == "x86_64-linux" then "1kddisnvlk48jip6k59mw3wlkrl7rkck2lxpaghn0gfx02cvms5f" + else if stdenv.hostPlatform.system == "i686-cygwin" then "1izp42afrlh4yd322ax9w85ki388gnkqfqbw8dwnn4k3j7r5487z" + else throw "Unsupported system: ${stdenv.hostPlatform.system}"; urlBase = "https://github.com/Kode/KodeStudio/releases/download/v${version}/KodeStudio-"; - urlStr = if stdenv.system == "x86_64-linux" then urlBase + "linux64.tar.gz" - else if stdenv.system == "i686-cygwin" then urlBase + "win32.zip" - else throw "Unsupported system: ${stdenv.system}"; + urlStr = if stdenv.hostPlatform.system == "x86_64-linux" then urlBase + "linux64.tar.gz" + else if stdenv.hostPlatform.system == "i686-cygwin" then urlBase + "win32.zip" + else throw "Unsupported system: ${stdenv.hostPlatform.system}"; in @@ -47,7 +47,7 @@ in cp -r ./* $out ''; - postFixup = lib.optionalString (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") '' + postFixup = lib.optionalString (stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux") '' # Patch Binaries patchelf \ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ diff --git a/pkgs/applications/editors/leafpad/default.nix b/pkgs/applications/editors/leafpad/default.nix index dd3fb542da7c404ca4de4396b4541a2ed96eb45b..c3b46cf61df811e2946f554d230292331cf6b093 100644 --- a/pkgs/applications/editors/leafpad/default.nix +++ b/pkgs/applications/editors/leafpad/default.nix @@ -4,7 +4,7 @@ stdenv.mkDerivation rec { version = "0.8.18.1"; name = "leafpad-${version}"; src = fetchurl { - url = "http://download.savannah.gnu.org/releases/leafpad/${name}.tar.gz"; + url = "https://download.savannah.gnu.org/releases/leafpad/${name}.tar.gz"; sha256 = "0b0az2wvqgvam7w0ns1j8xp2llslm1rx6h7zcsy06a7j0yp257cm"; }; diff --git a/pkgs/applications/editors/leo-editor/default.nix b/pkgs/applications/editors/leo-editor/default.nix index 2084a047a086ae8b461426ecdcf077bb81ea7557..a2274be463edbcdaef9da311843df65a7557ded2 100644 --- a/pkgs/applications/editors/leo-editor/default.nix +++ b/pkgs/applications/editors/leo-editor/default.nix @@ -1,29 +1,20 @@ -{ stdenv, python3, libsForQt56, fetchFromGitHub, makeWrapper, makeDesktopItem }: +{ stdenv, python3, fetchFromGitHub, makeWrapper, makeDesktopItem }: -let - packageOverrides = self: super: { - pyqt56 = libsForQt56.callPackage ../../../development/python-modules/pyqt/5.x.nix { - pythonPackages = self; - }; - }; - - pythonPackages = (python3.override { inherit packageOverrides; }).pkgs; -in stdenv.mkDerivation rec { name = "leo-editor-${version}"; - version = "5.6"; + version = "5.7.3"; src = fetchFromGitHub { owner = "leo-editor"; repo = "leo-editor"; rev = version; - sha256 = "1k6q3gvaf05bi0mzkmmb1p6wrgxwri7ivn38p6f0m0wfd3f70x2j"; + sha256 = "0ri6l6cxwva450l05af5vs1lsgrz6ciwd02njdgphs9pm1vwxbl9"; }; dontBuild = true; nativeBuildInputs = [ makeWrapper python3 ]; - propagatedBuildInputs = with pythonPackages; [ pyqt56 docutils ]; + propagatedBuildInputs = with python3.pkgs; [ pyqt5 docutils ]; desktopItem = makeDesktopItem rec { name = "leo-editor"; diff --git a/pkgs/applications/editors/manuskript/default.nix b/pkgs/applications/editors/manuskript/default.nix index 815af2103d58be17bc239468d5f65559395df198..ecbe7e8b719482a59abdfb0cd60939f934b22923 100644 --- a/pkgs/applications/editors/manuskript/default.nix +++ b/pkgs/applications/editors/manuskript/default.nix @@ -2,13 +2,13 @@ python3Packages.buildPythonApplication rec { pname = "manuskript"; - version = "0.3.0"; + version = "0.9.0"; src = fetchFromGitHub { repo = pname; owner = "olivierkes"; rev = version; - sha256 = "0bqxc4a8kyi6xz1zs0dp85wxl9h4v8lzc6073bbcsn1zg4y59ys7"; + sha256 = "13y1s0kba1ib6g977n7h920kyr7abdw03kpal512m7iwa9g2kdw8"; }; propagatedBuildInputs = [ diff --git a/pkgs/applications/editors/mg/default.nix b/pkgs/applications/editors/mg/default.nix index d0367d7c3051dab8966d35a69600750d17efee32..4fb8d51b969288913b89c39b71517d4fb46376dc 100644 --- a/pkgs/applications/editors/mg/default.nix +++ b/pkgs/applications/editors/mg/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, libbsd, ncurses }: +{ stdenv, fetchurl, pkgconfig, libbsd, ncurses, buildPackages }: stdenv.mkDerivation rec { name = "mg-${version}"; @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - makeFlags = [ "PKG_CONFIG=${pkgconfig}/bin/pkg-config" ]; + makeFlags = [ "PKG_CONFIG=${buildPackages.pkgconfig}/bin/pkg-config" ]; installPhase = '' install -m 555 -Dt $out/bin mg diff --git a/pkgs/applications/editors/micro/default.nix b/pkgs/applications/editors/micro/default.nix index f1c1e3dcac70bd91618b148051cf0fa905748a79..fab3646efdff7f9d5ec2ae1c32b67936332dcab4 100644 --- a/pkgs/applications/editors/micro/default.nix +++ b/pkgs/applications/editors/micro/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { name = "micro-${version}"; - version = "1.4.0"; + version = "1.4.1"; goPackagePath = "github.com/zyedidia/micro"; @@ -10,7 +10,7 @@ buildGoPackage rec { owner = "zyedidia"; repo = "micro"; rev = "v${version}"; - sha256 = "0w1rmh81h28n1jlb05k89i751h498i6p883hrsjr70hvrwq5zjpb"; + sha256 = "0m9p6smb5grdazsgr3m1x4rry9ihhlgl9ildhvfp53czrifbx0m5"; fetchSubmodules = true; }; diff --git a/pkgs/applications/editors/mindforger/build.patch b/pkgs/applications/editors/mindforger/build.patch new file mode 100644 index 0000000000000000000000000000000000000000..e2745cbce2d0ba44628cf74757b94ffa7135ab8b --- /dev/null +++ b/pkgs/applications/editors/mindforger/build.patch @@ -0,0 +1,91 @@ +diff --git a/app/app.pro b/app/app.pro +index 4d47065..a39a320 100644 +--- a/app/app.pro ++++ b/app/app.pro +@@ -18,6 +18,8 @@ + TARGET = mindforger + TEMPLATE = app + ++include(../config.pri) ++ + QT += widgets + + mfner { +@@ -297,7 +299,7 @@ RESOURCES += \ + # See http://doc.qt.io/qt-5/qmake-advanced-usage.html + + binfile.files += mindforger +-binfile.path = /usr/bin/ ++binfile.path = $$PREFIX/bin/ + INSTALLS += binfile + + # ######################################## +diff --git a/config.pri b/config.pri +new file mode 100644 +index 0000000..ce05df1 +--- /dev/null ++++ b/config.pri +@@ -0,0 +1,3 @@ ++isEmpty(PREFIX) { ++ PREFIX = /usr ++} +diff --git a/deps/discount/discount.pro b/deps/discount/discount.pro +index a8dfe35..ec16468 100644 +--- a/deps/discount/discount.pro ++++ b/deps/discount/discount.pro +@@ -5,6 +5,8 @@ + # Webpage: http://www.pell.portland.or.us/~orc/Code/discount/ + # + ++include(../../config.pri) ++ + QT -= core gui + + TARGET = discount +@@ -46,7 +48,7 @@ unix:!symbian { + maemo5 { + target.path = /opt/usr/lib + } else { +- target.path = /usr/lib ++ target.path = $$PREFIX/lib + } + INSTALLS += target + } +diff --git a/mindforger.pro b/mindforger.pro +index ae627f2..0953856 100644 +--- a/mindforger.pro ++++ b/mindforger.pro +@@ -32,6 +32,8 @@ TEMPLATE = subdirs + + SUBDIRS = deps lib app + ++include(config.pri) ++ + # build dependencies + lib.depends = deps + app.depends = lib +@@ -44,20 +46,20 @@ app.depends = lib + #IMPORTANT: binfile MUST be specified in app/app.pro (project next to/that builds binary) + + docfiles.files += doc/* +-docfiles.path = /usr/share/doc/mindforger/ ++docfiles.path = $$PREFIX/share/doc/mindforger/ + INSTALLS += docfiles + + manfiles.files += man/* +-manfiles.path = /usr/share/man/man1/ ++manfiles.path = $$PREFIX/share/man/man1/ + INSTALLS += manfiles + + iconfiles.files += app/resources/icons/* +-iconfiles.path = /usr/share/icons/mindforger/ ++iconfiles.path = $$PREFIX/share/icons/mindforger/ + INSTALLS += iconfiles + + # experiment w/ file + shortcutfiles.files += app/resources/gnome-shell/mindforger.desktop +-shortcutfiles.path = /usr/share/applications/ ++shortcutfiles.path = $$PREFIX/share/applications/ + INSTALLS += shortcutfiles + + # eof diff --git a/pkgs/applications/editors/mindforger/default.nix b/pkgs/applications/editors/mindforger/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..a027242c5eefc7d0b35883a9120da18cab255547 --- /dev/null +++ b/pkgs/applications/editors/mindforger/default.nix @@ -0,0 +1,45 @@ +{ stdenv, fetchurl, qmake, qtbase, qtwebkit }: + +stdenv.mkDerivation rec { + name = "mindforger-${version}"; + version = "1.48.2"; + + src = fetchurl { + url = "https://github.com/dvorka/mindforger/releases/download/1.48.0/mindforger_${version}.tgz"; + sha256 = "1wlrl8hpjcpnq098l3n2d1gbhbjylaj4z366zvssqvmafr72iyw4"; + }; + + nativeBuildInputs = [ qmake ] ; + buildInputs = [ qtbase qtwebkit ] ; + + doCheck = true; + + enableParallelBuilding = true ; + + patches = [ ./build.patch ] ; + + postPatch = '' + substituteInPlace deps/discount/version.c.in --subst-var-by TABSTOP 4 + substituteInPlace app/resources/gnome-shell/mindforger.desktop --replace /usr "$out" + ''; + + preConfigure = '' + export AC_PATH="$PATH" + pushd deps/discount + ./configure.sh + popd + ''; + + qmakeFlags = [ "-r mindforger.pro" "CONFIG+=mfnoccache" ] ; + + meta = with stdenv.lib; { + description = "Thinking Notebook & Markdown IDE"; + longDescription = '' + MindForger is actually more than an editor or IDE - it's human + mind inspired personal knowledge management tool + ''; + homepage = https://www.mindforger.com; + license = licenses.gpl2Plus; + platforms = platforms.all; + }; +} diff --git a/pkgs/applications/editors/moe/default.nix b/pkgs/applications/editors/moe/default.nix index 764877a11cb34fa03b2600ea1c5087b60e949476..3f7eba73ca49b3e2808999ea9b781d499058d421 100644 --- a/pkgs/applications/editors/moe/default.nix +++ b/pkgs/applications/editors/moe/default.nix @@ -6,11 +6,11 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "moe-${version}"; - version = "1.9"; + version = "1.10"; src = fetchurl { url = "mirror://gnu/moe/${name}.tar.lz"; - sha256 = "1wsfzy0iia0c89wnx1ilzw54wqcmlp2nz8mkpvc393z0zagrx48q"; + sha256 = "0fymywdiy9xqppcmvgs7mf7d3gfrky3jp5jkxs2l3v93asml9zcc"; }; prePatch = '' @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { completion, directory browser, duplicate removal from prompt histories, delimiter matching, text conversion from/to UTF-8, romanization, etc. ''; - homepage = http://www.gnu.org/software/moe/; + homepage = https://www.gnu.org/software/moe/; license = licenses.gpl2Plus; maintainers = with maintainers; [ AndersonTorres ]; platforms = platforms.unix; diff --git a/pkgs/applications/editors/monodevelop/default.nix b/pkgs/applications/editors/monodevelop/default.nix index 69e102f207750f03ecf421543e34fa97a3807404..c2917aa394f9264505b3f1063cf8e7778f34c0dd 100644 --- a/pkgs/applications/editors/monodevelop/default.nix +++ b/pkgs/applications/editors/monodevelop/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { }; nunit2510 = fetchurl { - url = "http://launchpad.net/nunitv2/2.5/2.5.10/+download/NUnit-2.5.10.11092.zip"; + url = "https://launchpad.net/nunitv2/2.5/2.5.10/+download/NUnit-2.5.10.11092.zip"; sha256 = "0k5h5bz1p2v3d0w0hpkpbpvdkcszgp8sr9ik498r1bs72w5qlwnc"; }; @@ -76,5 +76,6 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { platforms = platforms.linux; maintainers = with maintainers; [ obadz ]; + broken = true; # 2018-09-21, build has failed since 2018-03-08 }; } diff --git a/pkgs/applications/editors/music/tuxguitar/default.nix b/pkgs/applications/editors/music/tuxguitar/default.nix index f305db1abb8fd8830ceda23ab6a386512d5b2a84..1b1c6eaf9e543064345e91120f4800b33a1c3ea1 100644 --- a/pkgs/applications/editors/music/tuxguitar/default.nix +++ b/pkgs/applications/editors/music/tuxguitar/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, swt, jdk, makeWrapper, alsaLib }: -let metadata = assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"; - if stdenv.system == "i686-linux" then +let metadata = assert stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux"; + if stdenv.hostPlatform.system == "i686-linux" then { arch = "x86"; sha256 = "1qmb51k0538pn7gv4nsvhfv33xik4l4af0qmpllkzrikmj8wvzlb"; } else { arch = "x86_64"; sha256 = "12af47jhlrh9aq5b3d13l7cdhlndgnfpy61gz002hajbq7i00ixh"; }; diff --git a/pkgs/applications/editors/nano/default.nix b/pkgs/applications/editors/nano/default.nix index 86134687ba31c3c7bab073f5221023d1bb27e428..6bbdaf77a69bbe43ee51bd6a3f132bdf80144053 100644 --- a/pkgs/applications/editors/nano/default.nix +++ b/pkgs/applications/editors/nano/default.nix @@ -14,17 +14,17 @@ let nixSyntaxHighlight = fetchFromGitHub { owner = "seitz"; repo = "nanonix"; - rev = "17e0de65e1cbba3d6baa82deaefa853b41f5c161"; - sha256 = "1g51h65i31andfs2fbp1v3vih9405iknqn11fzywjxji00kjqv5s"; + rev = "bf8d898efaa10dce3f7972ff765b58c353b4b4ab"; + sha256 = "0773s5iz8aw9npgyasb0r2ybp6gvy2s9sq51az8w7h52bzn5blnn"; }; in stdenv.mkDerivation rec { name = "nano-${version}"; - version = "2.9.8"; + version = "3.2"; src = fetchurl { url = "mirror://gnu/nano/${name}.tar.xz"; - sha256 = "122lm0z97wk3mgnbn8m4d769d4j9rxyc9z7s89xd4gsdp8qsrpn2"; + sha256 = "0jb3zq0v84xb0chyynkcp2jhs9660wmpkic294p4p6c96npp69yi"; }; nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext; @@ -49,7 +49,6 @@ in stdenv.mkDerivation rec { description = "A small, user-friendly console text editor"; license = licenses.gpl3Plus; maintainers = with maintainers; [ - jgeerds joachifm ]; platforms = platforms.all; diff --git a/pkgs/applications/editors/nano/nanorc/default.nix b/pkgs/applications/editors/nano/nanorc/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..fb30036e146f191573abd9072cb8ffbc45aeab39 --- /dev/null +++ b/pkgs/applications/editors/nano/nanorc/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + name = "nanorc-${version}"; + version = "2018-09-05"; + + src = fetchFromGitHub { + owner = "scopatz"; + repo = "nanorc"; + rev = "1e589cb729d24fba470228d429e6dde07973d597"; + sha256 = "136yxr38lzrfv8bar0c6c56rh54q9s94zpwa19f425crh44drppl"; + }; + + dontBuild = true; + + installPhase = '' + mkdir -p $out/share + + install *.nanorc $out/share/ + ''; + + meta = { + description = "Improved Nano Syntax Highlighting Files"; + homepage = https://github.com/scopatz/nanorc; + license = stdenv.lib.licenses.gpl3; + maintainers = with stdenv.lib.maintainers; [ nequissimus ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/applications/editors/ne/default.nix b/pkgs/applications/editors/ne/default.nix index a24fb90ed9c7e75aa7f12400f9d4694110e622f4..9bc6425bc411c77498f8fd85e6445622fb5d4a14 100644 --- a/pkgs/applications/editors/ne/default.nix +++ b/pkgs/applications/editors/ne/default.nix @@ -3,12 +3,12 @@ stdenv.mkDerivation rec { name = "ne-${version}"; - version = "3.1.1"; + version = "3.1.2"; src = fetchFromGitHub { owner = "vigna"; repo = "ne"; rev = version; - sha256 = "1i4vk5r2wn4cd6sgsidzqs9s3bmb4j9cn4392izkidi0j9mm3hvg"; + sha256 = "154grh9gdzydnqn9xxj7zpia9cc5x6a7y1g73vwizr9bkg92l5cc"; }; buildInputs = [ ncurses texlive.combined.scheme-medium texinfo perl ghostscript ]; dontBuild = true; diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix index 6690e4c9c1b97579147679d6f5e3478915279d10..ee7a79517850c24ef78833d5440fe3fa73edd54d 100644 --- a/pkgs/applications/editors/neovim/default.nix +++ b/pkgs/applications/editors/neovim/default.nix @@ -1,25 +1,42 @@ { stdenv, fetchFromGitHub, cmake, gettext, msgpack, libtermkey, libiconv -, libuv, luaPackages, ncurses, pkgconfig +, libuv, lua, ncurses, pkgconfig , unibilium, xsel, gperf , libvterm-neovim , withJemalloc ? true, jemalloc +, glibcLocales ? null, procps ? null + +# now defaults to false because some tests can be flaky (clipboard etc) +, doCheck ? false }: with stdenv.lib; let - - neovim = stdenv.mkDerivation rec { + neovimLuaEnv = lua.withPackages(ps: + (with ps; [ mpack lpeg luabitop ] + ++ optionals doCheck [ + nvim-client luv coxpcall busted luafilesystem penlight inspect + ] + )); +in + stdenv.mkDerivation rec { name = "neovim-unwrapped-${version}"; - version = "0.3.1"; + version = "0.3.4"; src = fetchFromGitHub { owner = "neovim"; repo = "neovim"; rev = "v${version}"; - sha256 = "19jy9nr2ffscli6wsysqkdvqvh7sgkkwhzkw3yypfrvg4pj9rl56"; + sha256 = "07ncvgp6xfhiwc6hd7qf7zk28n3yj47p26qj1ji29vqkwnk28y3s"; }; + patches = [ + # introduce a system-wide rplugin.vim in addition to the user one + # necessary so that nix can handle `UpdateRemotePlugins` for the plugins + # it installs. See https://github.com/neovim/neovim/issues/9413. + ./system_rplugin_manifest.patch + ]; + enableParallelBuilding = true; buildInputs = [ @@ -29,11 +46,20 @@ let ncurses libvterm-neovim unibilium - luaPackages.lua gperf + neovimLuaEnv ] ++ optional withJemalloc jemalloc ++ optional stdenv.isDarwin libiconv - ++ lualibs; + ++ optionals doCheck [ glibcLocales procps ] + ; + + inherit doCheck; + + # to be exhaustive, one could run + # make oldtests too + checkPhase = '' + make functionaltest + ''; nativeBuildInputs = [ cmake @@ -41,15 +67,20 @@ let pkgconfig ]; - LUA_PATH = stdenv.lib.concatStringsSep ";" (map luaPackages.getLuaPath lualibs); - LUA_CPATH = stdenv.lib.concatStringsSep ";" (map luaPackages.getLuaCPath lualibs); - lualibs = [ luaPackages.mpack luaPackages.lpeg luaPackages.luabitop ]; + # nvim --version output retains compilation flags and references to build tools + postPatch = '' + substituteInPlace src/nvim/version.c --replace NVIM_VERSION_CFLAGS ""; + ''; + # check that the above patching actually works + disallowedReferences = [ stdenv.cc ]; cmakeFlags = [ - "-DLUA_PRG=${luaPackages.lua}/bin/lua" + "-DLUA_PRG=${neovimLuaEnv}/bin/lua" "-DGPERF_PRG=${gperf}/bin/gperf" - ]; + ] + ++ optional doCheck "-DBUSTED_PRG=${neovimLuaEnv}/bin/busted" + ; # triggers on buffer overflow bug while running tests hardeningDisable = [ "fortify" ]; @@ -67,6 +98,11 @@ let $out/bin/nvim ''; + # export PATH=$PWD/build/bin:${PATH} + shellHook='' + export VIMRUNTIME=$PWD/runtime + ''; + meta = { description = "Vim text editor fork focused on extensibility and agility"; longDescription = '' @@ -86,8 +122,8 @@ let license = with licenses; [ asl20 vim ]; maintainers = with maintainers; [ manveru garbas rvolosatovs ]; platforms = platforms.unix; + # `lua: bad light userdata pointer` + # https://nix-cache.s3.amazonaws.com/log/9ahcb52905d9d417zsskjpc331iailpq-neovim-unwrapped-0.2.2.drv + broken = stdenv.isAarch64; }; - }; - -in - neovim + } diff --git a/pkgs/applications/editors/neovim/neovim-remote.nix b/pkgs/applications/editors/neovim/neovim-remote.nix index b0c834934f9c4fb7e36913cfb1e03b5624a18917..52888c5f85d5f30ff41aad167abdbefe30d35e46 100644 --- a/pkgs/applications/editors/neovim/neovim-remote.nix +++ b/pkgs/applications/editors/neovim/neovim-remote.nix @@ -2,19 +2,19 @@ with stdenv.lib; -pythonPackages.buildPythonPackage rec { +pythonPackages.buildPythonApplication rec { pname = "neovim-remote"; - version = "2.0.5"; + version = "2.1.7"; disabled = !pythonPackages.isPy3k; src = fetchFromGitHub { owner = "mhinz"; repo = "neovim-remote"; rev = "v${version}"; - sha256 = "08qsi61ba5d69ca77layypzvi7nalx4niy97xn4w88jibnbmbrxw"; + sha256 = "014c8xvb7shy00vjx0b1k8zr7iknxskqab1aqvz9md3bn5rwkxm5"; }; - propagatedBuildInputs = with pythonPackages; [ neovim psutil ]; + propagatedBuildInputs = with pythonPackages; [ pynvim psutil ]; meta = { description = "A tool that helps controlling nvim processes from a terminal"; diff --git a/pkgs/applications/editors/neovim/qt.nix b/pkgs/applications/editors/neovim/qt.nix index d17d5c1e85df02b776e9a13ccddc57af8ea84601..3004bf544c42c8897aabb02b3a895b8994351779 100644 --- a/pkgs/applications/editors/neovim/qt.nix +++ b/pkgs/applications/editors/neovim/qt.nix @@ -1,62 +1,78 @@ { stdenv, fetchFromGitHub, cmake, doxygen, makeWrapper , msgpack, neovim, pythonPackages, qtbase }: -stdenv.mkDerivation rec { - name = "neovim-qt-${version}"; - version = "0.2.8"; - - src = fetchFromGitHub { - owner = "equalsraf"; - repo = "neovim-qt"; - rev = "v${version}"; - sha256 = "190yg6kkw953h8wajlqr2hvs2fz65y6z0blmywlg1nff724allaq"; - }; +let + unwrapped = stdenv.mkDerivation rec { + pname = "neovim-qt-unwrapped"; + version = "0.2.11"; + + src = fetchFromGitHub { + owner = "equalsraf"; + repo = "neovim-qt"; + rev = "v${version}"; + sha256 = "0pc1adxc89p2rdvb6nxyqr9sjzqz9zw2dg7a4ardxsl3a8jga1wh"; + }; + + cmakeFlags = [ + "-DUSE_SYSTEM_MSGPACK=1" + ]; + + buildInputs = [ + neovim.unwrapped # only used to generate help tags at build time + qtbase + ] ++ (with pythonPackages; [ + jinja2 python msgpack + ]); + + nativeBuildInputs = [ cmake doxygen makeWrapper ]; + + enableParallelBuilding = true; + + preCheck = '' + # The GUI tests require a running X server, disable them + sed -i ../test/CMakeLists.txt \ + -e '/^add_xtest_gui/d' + ''; - cmakeFlags = [ - "-DUSE_SYSTEM_MSGPACK=1" - ]; - - buildInputs = with pythonPackages; [ - neovim qtbase msgpack - ] ++ (with pythonPackages; [ - jinja2 msgpack python - ]); - - nativeBuildInputs = [ cmake doxygen makeWrapper ]; - - enableParallelBuilding = true; - - preConfigure = '' - # we rip out a number of tests that fail in the build env - # the GUI tests will never work but the others should - they did before neovim 0.2.0 - # was released - sed -i test/CMakeLists.txt \ - -e '/^add_xtest_gui/d' \ - -e '/tst_neovimobject/d' \ - -e '/tst_neovimconnector/d' \ - -e '/tst_callallmethods/d' \ - -e '/tst_encoding/d' - ''; - - doCheck = true; - - postInstall = if stdenv.isDarwin then '' - mkdir -p $out/Applications - mv $out/bin/nvim-qt.app $out/Applications - rmdir $out/bin || : - - wrapProgram "$out/Applications/nvim-qt.app/Contents/MacOS/nvim-qt" \ - --prefix PATH : "${neovim}/bin" - '' else '' - wrapProgram "$out/bin/nvim-qt" \ - --prefix PATH : "${neovim}/bin" - ''; - - meta = with stdenv.lib; { - description = "Neovim client library and GUI, in Qt5"; - license = licenses.isc; - maintainers = with maintainers; [ peterhoeg ]; - inherit (neovim.meta) platforms; - inherit version; + doCheck = true; + + meta = with stdenv.lib; { + description = "Neovim client library and GUI, in Qt5"; + license = licenses.isc; + maintainers = with maintainers; [ peterhoeg ]; + inherit (neovim.meta) platforms; + inherit version; + }; }; -} +in + stdenv.mkDerivation { + pname = "neovim-qt"; + version = unwrapped.version; + buildCommand = if stdenv.isDarwin then '' + mkdir -p $out/Applications + cp -r ${unwrapped}/bin/nvim-qt.app $out/Applications + + chmod -R a+w "$out/Applications/nvim-qt.app/Contents/MacOS" + wrapProgram "$out/Applications/nvim-qt.app/Contents/MacOS/nvim-qt" \ + --prefix PATH : "${neovim}/bin" + '' else '' + makeWrapper '${unwrapped}/bin/nvim-qt' "$out/bin/nvim-qt" \ + --prefix PATH : "${neovim}/bin" + + # link .desktop file + mkdir -p "$out/share" + ln -s '${unwrapped}/share/applications' "$out/share/applications" + ''; + + preferLocalBuild = true; + + nativeBuildInputs = [ + makeWrapper + ]; + + passthru = { + inherit unwrapped; + }; + + inherit (unwrapped) meta; + } diff --git a/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock b/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock index a95ced76371d40c7095e0ee2e79a9d8f2a18830d..6a3f581c4e8121c2b5a873aed8bde767492819bd 100644 --- a/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock +++ b/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock @@ -1,10 +1,10 @@ GEM remote: https://rubygems.org/ specs: - msgpack (1.2.4) + msgpack (1.2.6) multi_json (1.13.1) - neovim (0.7.0) - msgpack (~> 1.0) + neovim (0.8.0) + msgpack (~> 1.1) multi_json (~> 1.0) PLATFORMS @@ -14,4 +14,4 @@ DEPENDENCIES neovim BUNDLED WITH - 1.14.6 + 1.17.2 diff --git a/pkgs/applications/editors/neovim/ruby_provider/gemset.nix b/pkgs/applications/editors/neovim/ruby_provider/gemset.nix index af887161ea6cff33273614d2b81a079f32b6e704..28a53cc590f6dc9eb9e1b028273232c29b78a67f 100644 --- a/pkgs/applications/editors/neovim/ruby_provider/gemset.nix +++ b/pkgs/applications/editors/neovim/ruby_provider/gemset.nix @@ -2,10 +2,10 @@ msgpack = { source = { remotes = ["https://rubygems.org"]; - sha256 = "09xy1wc4wfbd1jdrzgxwmqjzfdfxbz0cqdszq2gv6rmc3gv1c864"; + sha256 = "0031gd2mjyba6jb7m97sqa149zjkr0vzn2s2gpb3m9nb67gqkm13"; type = "gem"; }; - version = "1.2.4"; + version = "1.2.6"; }; multi_json = { source = { @@ -19,9 +19,9 @@ dependencies = ["msgpack" "multi_json"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0b487dzz41im8cwzvfjqgf8kkrp6mpkvcbzhazrmqqw8gxyvfbq4"; + sha256 = "07scrdfk7pyn5jgx5m2yajdqpbdv42833vbw568qqag6xp99j3yk"; type = "gem"; }; - version = "0.7.0"; + version = "0.8.0"; }; } diff --git a/pkgs/applications/editors/neovim/system_rplugin_manifest.patch b/pkgs/applications/editors/neovim/system_rplugin_manifest.patch new file mode 100644 index 0000000000000000000000000000000000000000..f634d3ec056a20fab83fff374d05113d8c4e638e --- /dev/null +++ b/pkgs/applications/editors/neovim/system_rplugin_manifest.patch @@ -0,0 +1,29 @@ +diff --git a/runtime/autoload/remote/host.vim b/runtime/autoload/remote/host.vim +index 6266b312b..965fabf1e 100644 +--- a/runtime/autoload/remote/host.vim ++++ b/runtime/autoload/remote/host.vim +@@ -71,7 +71,8 @@ function! remote#host#RegisterPlugin(host, path, specs) abort + + for plugin in plugins + if plugin.path == a:path +- throw 'Plugin "'.a:path.'" is already registered' ++ " plugin already registered ++ return + endif + endfor + +diff --git a/runtime/plugin/rplugin.vim b/runtime/plugin/rplugin.vim +index 122d8d47f..83fbf8b57 100644 +--- a/runtime/plugin/rplugin.vim ++++ b/runtime/plugin/rplugin.vim +@@ -54,6 +54,10 @@ function! s:GetManifest() abort + endfunction + + function! s:LoadRemotePlugins() abort ++ if exists('$NVIM_SYSTEM_RPLUGIN_MANIFEST') ++ let g:system_remote_plugins = fnamemodify($NVIM_SYSTEM_RPLUGIN_MANIFEST, ':p') ++ execute 'source' fnameescape(g:system_remote_plugins) ++ endif + let g:loaded_remote_plugins = s:GetManifest() + if filereadable(g:loaded_remote_plugins) + execute 'source' fnameescape(g:loaded_remote_plugins) diff --git a/pkgs/applications/editors/neovim/wrapper.nix b/pkgs/applications/editors/neovim/wrapper.nix index fa0603255599418cfd5ec3bba1147ff428cbf5f7..7d76bc1fd1a0c37ed0279243e6b9683950032ac0 100644 --- a/pkgs/applications/editors/neovim/wrapper.nix +++ b/pkgs/applications/editors/neovim/wrapper.nix @@ -1,6 +1,8 @@ { stdenv, lib, makeWrapper , vimUtils , bundlerEnv, ruby +, nodejs +, nodePackages , pythonPackages , python3Packages }: @@ -10,13 +12,13 @@ neovim: let wrapper = { - withPython ? true, extraPythonPackages ? [] - , withPython3 ? true, extraPython3Packages ? [] + withPython ? true, extraPythonPackages ? (_: []) /* the function you would have passed to python.withPackages */ + , withPython3 ? true, extraPython3Packages ? (_: []) /* the function you would have passed to python.withPackages */ + , withNodeJs? false , withRuby ? true - , withPyGUI ? false , vimAlias ? false , viAlias ? false - , configure ? null + , configure ? {} }: let @@ -28,25 +30,29 @@ let ''; }; - pluginPythonPackages = if configure == null then [] else builtins.concatLists - (map ({ pythonDependencies ? [], ...}: pythonDependencies) - (vimUtils.requiredPlugins configure)); - pythonEnv = pythonPackages.python.buildEnv.override { - extraLibs = ( - if withPyGUI - then [ pythonPackages.neovim_gui ] - else [ pythonPackages.neovim ] - ) ++ extraPythonPackages ++ pluginPythonPackages; - ignoreCollisions = true; - }; + /* for compatibility with passing extraPythonPackages as a list; added 2018-07-11 */ + compatFun = funOrList: (if builtins.isList funOrList then + (_: lib.warn "passing a list as extraPythonPackages to the neovim wrapper is deprecated, pass a function as to python.withPackages instead" funOrList) + else funOrList); + extraPythonPackagesFun = compatFun extraPythonPackages; + extraPython3PackagesFun = compatFun extraPython3Packages; - pluginPython3Packages = if configure == null then [] else builtins.concatLists - (map ({ python3Dependencies ? [], ...}: python3Dependencies) - (vimUtils.requiredPlugins configure)); - python3Env = python3Packages.python.buildEnv.override { - extraLibs = [ python3Packages.neovim ] ++ extraPython3Packages ++ pluginPython3Packages; - ignoreCollisions = true; - }; + requiredPlugins = vimUtils.requiredPlugins configure; + getDeps = attrname: map (plugin: plugin.${attrname} or (_:[])); + + pluginPythonPackages = getDeps "pythonDependencies" requiredPlugins; + pythonEnv = pythonPackages.python.withPackages(ps: + [ ps.pynvim ] + ++ (extraPythonPackagesFun ps) + ++ (concatMap (f: f ps) pluginPythonPackages)); + + pluginPython3Packages = getDeps "python3Dependencies" requiredPlugins; + python3Env = python3Packages.python.withPackages (ps: + [ ps.pynvim ] + ++ (extraPython3PackagesFun ps) + ++ (concatMap (f: f ps) pluginPython3Packages)); + + binPath = makeBinPath (optionals withRuby [rubyEnv] ++ optionals withNodeJs [nodejs]); in stdenv.mkDerivation { @@ -60,12 +66,12 @@ let makeWrapper "$(readlink -v --canonicalize-existing "${bin}")" \ "$out/bin/nvim" --add-flags " \ + --cmd \"${if withNodeJs then "let g:node_host_prog='${nodePackages.neovim}/bin/neovim-node-host'" else "let g:loaded_node_provider=1"}\" \ --cmd \"${if withPython then "let g:python_host_prog='$out/bin/nvim-python'" else "let g:loaded_python_provider = 1"}\" \ --cmd \"${if withPython3 then "let g:python3_host_prog='$out/bin/nvim-python3'" else "let g:loaded_python3_provider = 1"}\" \ --cmd \"${if withRuby then "let g:ruby_host_prog='$out/bin/nvim-ruby'" else "let g:loaded_ruby_provider=1"}\" " \ - --unset PYTHONPATH \ - ${optionalString withRuby '' --suffix PATH : ${rubyEnv}/bin --set GEM_HOME ${rubyEnv}/${rubyEnv.ruby.gemPath}'' } - + --suffix PATH : ${binPath} \ + ${optionalString withRuby '' --set GEM_HOME ${rubyEnv}/${rubyEnv.ruby.gemPath}'' } '' + optionalString (!stdenv.isDarwin) '' # copy and patch the original neovim.desktop file @@ -75,23 +81,40 @@ let --replace 'Name=Neovim' 'Name=WrappedNeovim' '' + optionalString withPython '' - ln -s ${pythonEnv}/bin/python $out/bin/nvim-python - '' + optionalString withPython3 '' - ln -s ${python3Env}/bin/python3 $out/bin/nvim-python3 - '' + optionalString withRuby '' - ln -s ${rubyEnv}/bin/neovim-ruby-host $out/bin/nvim-ruby - '' - + optionalString withPyGUI '' - makeWrapper "${pythonEnv}/bin/pynvim" "$out/bin/pynvim" \ - --prefix PATH : "$out/bin" - '' + optionalString vimAlias '' - ln -s $out/bin/nvim $out/bin/vim - '' + optionalString viAlias '' - ln -s $out/bin/nvim $out/bin/vi - '' + optionalString (configure != null) '' - wrapProgram $out/bin/nvim --add-flags "-u ${vimUtils.vimrcFile configure}" - '' - ; + makeWrapper ${pythonEnv}/bin/python $out/bin/nvim-python --unset PYTHONPATH + '' + optionalString withPython3 '' + makeWrapper ${python3Env}/bin/python3 $out/bin/nvim-python3 --unset PYTHONPATH + '' + optionalString withRuby '' + ln -s ${rubyEnv}/bin/neovim-ruby-host $out/bin/nvim-ruby + '' + optionalString vimAlias '' + ln -s $out/bin/nvim $out/bin/vim + '' + optionalString viAlias '' + ln -s $out/bin/nvim $out/bin/vi + '' + optionalString (configure != {}) '' + echo "Generating remote plugin manifest" + export NVIM_RPLUGIN_MANIFEST=$out/rplugin.vim + # Launch neovim with a vimrc file containing only the generated plugin + # code. Pass various flags to disable temp file generation + # (swap/viminfo) and redirect errors to stderr. + # Only display the log on error since it will contain a few normally + # irrelevant messages. + if ! $out/bin/nvim \ + -u ${vimUtils.vimrcFile (configure // { customRC = ""; })} \ + -i NONE -n \ + -E -V1rplugins.log -s \ + +UpdateRemotePlugins +quit! > outfile 2>&1; then + cat outfile + echo -e "\nGenerating rplugin.vim failed!" + exit 1 + fi + unset NVIM_RPLUGIN_MANIFEST + + # this relies on a patched neovim, see + # https://github.com/neovim/neovim/issues/9413 + wrapProgram $out/bin/nvim \ + --set NVIM_SYSTEM_RPLUGIN_MANIFEST $out/rplugin.vim \ + --add-flags "-u ${vimUtils.vimrcFile configure}" + ''; preferLocalBuild = true; diff --git a/pkgs/applications/editors/netbeans/default.nix b/pkgs/applications/editors/netbeans/default.nix index 9af60ca4fcbd879aa8a14675adc749ad07ea85d0..fa547875a175ded9743889a4dae13d7999bbb220 100644 --- a/pkgs/applications/editors/netbeans/default.nix +++ b/pkgs/applications/editors/netbeans/default.nix @@ -1,8 +1,9 @@ -{ stdenv, fetchurl, makeWrapper, makeDesktopItem -, jdk, perl, python, unzip, which +{ stdenv, fetchurl, makeWrapper, makeDesktopItem, which, unzip, libicns, imagemagick +, jdk, perl, python }: let + version = "10.0"; desktopItem = makeDesktopItem { name = "netbeans"; exec = "netbeans"; @@ -10,13 +11,14 @@ let desktopName = "Netbeans IDE"; genericName = "Integrated Development Environment"; categories = "Application;Development;"; + icon = "netbeans"; }; in stdenv.mkDerivation { - name = "netbeans-8.2"; + name = "netbeans-${version}"; src = fetchurl { - url = https://download.netbeans.org/netbeans/8.2/final/zip/netbeans-8.2-201609300101.zip; - sha256 = "0j092qw7aqfc9vpnvr3ix1ii94p4ik6frcnw708iyv4s9crqi65d"; + url = "mirror://apache/incubator/netbeans/incubating-netbeans/incubating-${version}/incubating-netbeans-${version}-bin.zip"; + sha512 = "ba83575f42c1d5515e2a5336a621bc2b4087b2e0bcacb6edb76f376f8272555609bdd4eefde8beae8ffc6c1a7db2fb721b844638ce27933c3dd78f71cbb41ad8"; }; buildCommand = '' @@ -26,23 +28,38 @@ stdenv.mkDerivation { # Copy to installation directory and create a wrapper capable of starting # it. - mkdir -p $out/bin + mkdir -pv $out/bin cp -a netbeans $out makeWrapper $out/netbeans/bin/netbeans $out/bin/netbeans \ --prefix PATH : ${stdenv.lib.makeBinPath [ jdk which ]} \ --prefix JAVA_HOME : ${jdk.home} \ --add-flags "--jdkhome ${jdk.home}" + # Extract pngs from the Apple icon image and create + # the missing ones from the 1024x1024 image. + icns2png --extract $out/netbeans/nb/netbeans.icns + for size in 16 24 32 48 64 128 256 512 1024; do + mkdir -pv $out/share/icons/hicolor/"$size"x"$size"/apps + if [ -e netbeans_"$size"x"$size"x32.png ] + then + mv netbeans_"$size"x"$size"x32.png $out/share/icons/hicolor/"$size"x"$size"/apps/netbeans.png + else + convert -resize "$size"x"$size" netbeans_1024x1024x32.png $out/share/icons/hicolor/"$size"x"$size"/apps/netbeans.png + fi + done; + # 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 + mkdir -pv $out/share/applications + ln -s ${desktopItem}/share/applications/* $out/share/applications ''; - buildInputs = [ makeWrapper perl python unzip ]; + buildInputs = [ makeWrapper perl python unzip libicns imagemagick ]; meta = { description = "An integrated development environment for Java, C, C++ and PHP"; - maintainers = [ stdenv.lib.maintainers.sander ]; + homepage = "https://netbeans.org/"; + license = stdenv.lib.licenses.asl20; + maintainers = with stdenv.lib.maintainers; [ sander rszibele ]; platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/applications/editors/notepadqq/default.nix b/pkgs/applications/editors/notepadqq/default.nix index 6d1bba8c4d5dd3d4d46df014e5be7cbad3152918..ab79c3e780b29f6c517bc0d995e40b69033828aa 100644 --- a/pkgs/applications/editors/notepadqq/default.nix +++ b/pkgs/applications/editors/notepadqq/default.nix @@ -1,13 +1,14 @@ -{ stdenv, fetchgit, pkgconfig, which, qtbase, qtsvg, qttools, qtwebkit}: +{ stdenv, fetchFromGitHub, pkgconfig, which, qtbase, qtsvg, qttools, qtwebkit}: let - version = "1.2.0"; + version = "1.4.8"; in stdenv.mkDerivation { name = "notepadqq-${version}"; - src = fetchgit { - url = "https://github.com/notepadqq/notepadqq.git"; - rev = "ab074d30e02d49e0fe6957c1523e7fed239aff7d"; - sha256 = "0j8vqsdw314qpk5lrgccm9n7gbyr14ac3s65sl1qn87pxhrz1hpg"; + src = fetchFromGitHub { + owner = "notepadqq"; + repo = "notepadqq"; + rev = "v${version}"; + sha256 = "0lbv4s7ng31dkznzbkmp2cvkqglmfj6lv4mbg3r410fif2nrva7k"; fetchSubmodules = true; }; @@ -23,8 +24,10 @@ in stdenv.mkDerivation { export LRELEASE="lrelease" ''; + enableParallelBuilding = true; + meta = { - homepage = http://notepadqq.altervista.org/; + homepage = https://notepadqq.com/; description = "Notepad++-like editor for the Linux desktop"; license = stdenv.lib.licenses.gpl3; platforms = stdenv.lib.platforms.linux; diff --git a/pkgs/applications/editors/okteta/default.nix b/pkgs/applications/editors/okteta/default.nix index efe728f68494bf44bae843b41316567b74477ccc..ffa80bc68cae39a49c24537f7bb40459ed1249d4 100644 --- a/pkgs/applications/editors/okteta/default.nix +++ b/pkgs/applications/editors/okteta/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { name = "okteta-${version}"; - version = "0.25.2"; + version = "0.26.1"; src = fetchurl { url = "mirror://kde/stable/okteta/${version}/src/${name}.tar.xz"; - sha256 = "00mw8gdqvn6vn6ir6kqnp7xi3lpn6iyp4f5aknxwq6mdcxgjmh1p"; + sha256 = "1bqq3ax47xym3ikwn6xsshs1b5gpfg5djrnkzszqnp127f1fxi54"; }; nativeBuildInputs = [ qtscript extra-cmake-modules kdoctools ]; diff --git a/pkgs/applications/editors/quilter/default.nix b/pkgs/applications/editors/quilter/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..8d973b19ff394385a20b5cd463586e0fc1035103 --- /dev/null +++ b/pkgs/applications/editors/quilter/default.nix @@ -0,0 +1,49 @@ +{ stdenv, fetchFromGitHub, fetchpatch, pkgconfig, meson, ninja, python3 +, gtk3, desktop-file-utils, gtksourceview, webkitgtk, gtkspell3, pantheon +, libgee, discount, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "quilter"; + version = "1.8.1"; + + src = fetchFromGitHub { + owner = "lainsce"; + repo = pname; + rev = version; + sha256 = "0i8rvvc5g74bgfjgsmmgpj42xmhjaz14jjzl9s5nzwpy1fn7vv0p"; + }; + + nativeBuildInputs = [ + desktop-file-utils + meson + ninja + pantheon.vala + pkgconfig + python3 + wrapGAppsHook + ]; + + buildInputs = [ + discount + gtk3 + gtksourceview + gtkspell3 + libgee + pantheon.elementary-icon-theme + pantheon.granite + webkitgtk + ]; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + ''; + + meta = with stdenv.lib; { + description = "Focus on your writing - designed for elementary OS"; + homepage = https://github.com/lainsce/quilter; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ worldofpeace ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/editors/rednotebook/default.nix b/pkgs/applications/editors/rednotebook/default.nix index 9456ea3150a44c691e1221ce25aaa134286fb54a..de9a089ec8c6b6fb9520a0da57f464db05b263f8 100644 --- a/pkgs/applications/editors/rednotebook/default.nix +++ b/pkgs/applications/editors/rednotebook/default.nix @@ -1,26 +1,26 @@ { lib, buildPythonApplication, fetchFromGitHub -, gdk_pixbuf, glib, gobjectIntrospection, gtk3, pango, webkitgtk +, gdk_pixbuf, glib, gobject-introspection, gtk3, gtksourceview, pango, webkitgtk , pygobject3, pyyaml }: buildPythonApplication rec { pname = "rednotebook"; - version = "2.3"; + version = "2.8"; src = fetchFromGitHub { owner = "jendrikseipp"; repo = "rednotebook"; rev = "v${version}"; - sha256 = "0zkfid104hcsf20r6829v11wxdghqkd3j1zbgyvd1s7q4nxjn5lj"; + sha256 = "0k75lw3p6jx30ngvn8iipk1763gazkbrsad3fpl3sqppaqaggryj"; }; # We have not packaged tests. doCheck = false; - nativeBuildInputs = [ gobjectIntrospection ]; + nativeBuildInputs = [ gobject-introspection ]; propagatedBuildInputs = [ - gdk_pixbuf glib gtk3 pango webkitgtk + gdk_pixbuf glib gtk3 gtksourceview pango webkitgtk pygobject3 pyyaml ]; diff --git a/pkgs/applications/editors/retext/default.nix b/pkgs/applications/editors/retext/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..3288b8e90adc5b0b179e4b004afefb56e1ff0433 --- /dev/null +++ b/pkgs/applications/editors/retext/default.nix @@ -0,0 +1,63 @@ +{ lib, stdenv, python3, fetchFromGitHub, makeWrapper, buildEnv, aspellDicts +# Use `lib.collect lib.isDerivation aspellDicts;` to make all dictionaries +# available. +, enchantAspellDicts ? with aspellDicts; [ en en-computers en-science ] +}: + +let + version = "7.0.4"; + python = let + packageOverrides = self: super: { + markdown = super.markdown.overridePythonAttrs(old: rec { + src = super.fetchPypi { + version = "3.0.1"; + pname = "Markdown"; + sha256 = "d02e0f9b04c500cde6637c11ad7c72671f359b87b9fe924b2383649d8841db7c"; + }; + }); + + chardet = super.chardet.overridePythonAttrs(old: rec { + src = super.fetchPypi { + version = "2.3.0"; + pname = "chardet"; + sha256 = "e53e38b3a4afe6d1132de62b7400a4ac363452dc5dfcf8d88e8e0cce663c68aa"; + }; + }); + }; + in python3.override { inherit packageOverrides; }; + pythonEnv = python.withPackages (ps: with ps; [ + pyqt5 docutils pyenchant Markups markdown pygments chardet + ]); +in python.pkgs.buildPythonApplication { + inherit version; + pname = "retext"; + + src = fetchFromGitHub { + owner = "retext-project"; + repo = "retext"; + rev = "${version}"; + sha256 = "1zcapywspc9v5zf5cxqkcy019np9n41gmryqixj66zsvd544c6si"; + }; + + doCheck = false; + + nativeBuildInputs = [ makeWrapper ]; + propagatedBuildInputs = [ pythonEnv ]; + + postInstall = '' + mv $out/bin/retext $out/bin/.retext + makeWrapper "$out/bin/.retext" "$out/bin/retext" \ + --set ASPELL_CONF "dict-dir ${buildEnv { + name = "aspell-all-dicts"; + paths = map (path: "${path}/lib/aspell") enchantAspellDicts; + }}" + ''; + + meta = with stdenv.lib; { + homepage = https://github.com/retext-project/retext/; + description = "Simple but powerful editor for Markdown and reStructuredText"; + license = licenses.gpl3; + maintainers = with maintainers; [ klntsky ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/editors/rstudio/clang-location.patch b/pkgs/applications/editors/rstudio/clang-location.patch new file mode 100644 index 0000000000000000000000000000000000000000..402abdd85636c52fb7c247532c8d3cf78faa32d3 --- /dev/null +++ b/pkgs/applications/editors/rstudio/clang-location.patch @@ -0,0 +1,25 @@ +diff --git i/src/cpp/core/libclang/LibClang.cpp w/src/cpp/core/libclang/LibClang.cpp +index ec12a3a1ff..8c81b633ae 100644 +--- i/src/cpp/core/libclang/LibClang.cpp ++++ w/src/cpp/core/libclang/LibClang.cpp +@@ -54,7 +54,7 @@ std::vector defaultCompileArgs(LibraryVersion version) + + // we need to add in the associated libclang headers as + // they are not discovered / used by default during compilation +- FilePath llvmPath = s_libraryPath.parent().parent(); ++ FilePath llvmPath("@clang@"); + boost::format fmt("%1%/lib/clang/%2%/include"); + fmt % llvmPath.absolutePath() % version.asString(); + std::string includePath = fmt.str(); +@@ -77,10 +77,7 @@ std::vector systemClangVersions() + #elif defined(__unix__) + // default set of versions + clangVersions = { +- "/usr/lib/libclang.so", +- "/usr/lib/llvm/libclang.so", +- "/usr/lib64/libclang.so", +- "/usr/lib64/llvm/libclang.so", ++ "@libclang.so@" + }; + + // iterate through the set of available 'llvm' directories diff --git a/pkgs/applications/editors/rstudio/default.nix b/pkgs/applications/editors/rstudio/default.nix index 0943513a4d12607ce5e9c40f6ce8f925c09b1936..86fb972e94c3b00cebde2d7f8112084f81ceff10 100644 --- a/pkgs/applications/editors/rstudio/default.nix +++ b/pkgs/applications/editors/rstudio/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, fetchFromGitHub, makeDesktopItem, cmake, boost -, zlib, openssl, R, qtbase, qtwebkit, qtwebchannel, libuuid, hunspellDicts -, unzip, ant, jdk, gnumake, makeWrapper, pandoc +, zlib, openssl, R, qtbase, qtwebkit, qtwebchannel, qtxmlpatterns, libuuid +, hunspellDicts, unzip, ant, jdk, gnumake, makeWrapper, pandoc }: let verMajor = "1"; verMinor = "1"; - verPatch = "442"; + verPatch = "463"; version = "${verMajor}.${verMinor}.${verPatch}"; ginVer = "1.5"; gwtVer = "2.7.0"; @@ -16,13 +16,14 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake unzip ant jdk makeWrapper pandoc ]; - buildInputs = [ boost zlib openssl R qtbase qtwebkit qtwebchannel libuuid ]; + buildInputs = [ boost zlib openssl R qtbase qtwebkit qtwebchannel + qtxmlpatterns libuuid ]; src = fetchFromGitHub { owner = "rstudio"; repo = "rstudio"; rev = "v${version}"; - sha256 = "0drqh2brfs9w8dfh4r7j3fsqdsg63s6pvj2bbg5xwwc0yf220ahs"; + sha256 = "014g984znsczzy1fyn9y1ly3rbsngryfs674lfgciz60mqnl8im6"; }; # Hack RStudio to only use the input R. diff --git a/pkgs/applications/editors/rstudio/fix-cmake.patch b/pkgs/applications/editors/rstudio/fix-cmake.patch new file mode 100644 index 0000000000000000000000000000000000000000..3effc0eaa32b51645975969392220c3cc99fbaf3 --- /dev/null +++ b/pkgs/applications/editors/rstudio/fix-cmake.patch @@ -0,0 +1,15 @@ +diff --git a/src/cpp/desktop/CMakeLists.txt b/src/cpp/desktop/CMakeLists.txt +index f5701bf735..27af4148ff 100644 +--- a/src/cpp/desktop/CMakeLists.txt ++++ b/src/cpp/desktop/CMakeLists.txt +@@ -112,6 +112,7 @@ find_package(Qt5WebEngine REQUIRED) + find_package(Qt5WebEngineWidgets REQUIRED) + find_package(Qt5PrintSupport REQUIRED) + find_package(Qt5Quick REQUIRED) ++find_package(Qt5QuickWidgets REQUIRED) + find_package(Qt5Positioning REQUIRED) + find_package(Qt5Sensors REQUIRED) + find_package(Qt5Svg REQUIRED) +-- +2.17.1 + diff --git a/pkgs/applications/editors/rstudio/preview.nix b/pkgs/applications/editors/rstudio/preview.nix new file mode 100644 index 0000000000000000000000000000000000000000..55c83ca85a643c84f818e030533c9335475756eb --- /dev/null +++ b/pkgs/applications/editors/rstudio/preview.nix @@ -0,0 +1,119 @@ +{ stdenv, fetchurl, fetchFromGitHub, makeDesktopItem, cmake, boost, zlib +, openssl, R, qtbase, qtxmlpatterns, qtsensors, qtwebengine, qtwebchannel +, libuuid, hunspellDicts, unzip, ant, jdk, gnumake, makeWrapper, pandoc +, llvmPackages +}: + +let + rev = "f79330d4"; + ginVer = "2.1.2"; + gwtVer = "2.8.1"; +in +stdenv.mkDerivation rec { + name = "RStudio-preview-${rev}"; + + nativeBuildInputs = [ cmake unzip ant jdk makeWrapper pandoc ]; + + buildInputs = [ boost zlib openssl R qtbase qtxmlpatterns qtsensors + qtwebengine qtwebchannel libuuid ]; + + src = fetchFromGitHub { + owner = "rstudio"; + repo = "rstudio"; + inherit rev; + sha256 = "0v3vzqjp74c3m4h9l6w2lrdnjqaimdjzbf7vhnlxj2qa0lwsnykb"; + }; + + # Hack RStudio to only use the input R and provided libclang. + patches = [ ./r-location.patch ./clang-location.patch ]; + postPatch = '' + substituteInPlace src/cpp/core/r_util/REnvironmentPosix.cpp --replace '@R@' ${R} + substituteInPlace src/cpp/core/libclang/LibClang.cpp \ + --replace '@clang@' ${llvmPackages.clang.cc} \ + --replace '@libclang.so@' ${llvmPackages.clang.cc.lib}/lib/libclang.so + ''; + + ginSrc = fetchurl { + url = "https://s3.amazonaws.com/rstudio-buildtools/gin-${ginVer}.zip"; + sha256 = "16jzmljravpz6p2rxa87k5f7ir8vs7ya75lnfybfajzmci0p13mr"; + }; + + gwtSrc = fetchurl { + url = "https://s3.amazonaws.com/rstudio-buildtools/gwt-${gwtVer}.zip"; + sha256 = "19x000m3jwnkqgi6ic81lkzyjvvxcfacw2j0vcfcaknvvagzhyhb"; + }; + + hunspellDictionaries = with stdenv.lib; filter isDerivation (attrValues hunspellDicts); + + mathJaxSrc = fetchurl { + url = https://s3.amazonaws.com/rstudio-buildtools/mathjax-26.zip; + sha256 = "0wbcqb9rbfqqvvhqr1pbqax75wp8ydqdyhp91fbqfqp26xzjv6lk"; + }; + + rsconnectSrc = fetchFromGitHub { + owner = "rstudio"; + repo = "rsconnect"; + rev = "984745d8"; + sha256 = "037z0y32k1gdda192y5qn5hi7wp8wyap44mkjlklrgcqkmlcylb9"; + }; + + preConfigure = + '' + GWT_LIB_DIR=src/gwt/lib + + mkdir -p $GWT_LIB_DIR/gin/${ginVer} + unzip ${ginSrc} -d $GWT_LIB_DIR/gin/${ginVer} + + unzip ${gwtSrc} + mkdir -p $GWT_LIB_DIR/gwt + mv gwt-${gwtVer} $GWT_LIB_DIR/gwt/${gwtVer} + + mkdir dependencies/common/dictionaries + for dict in ${builtins.concatStringsSep " " hunspellDictionaries}; do + for i in "$dict/share/hunspell/"*; do + ln -sv $i dependencies/common/dictionaries/ + done + done + + unzip ${mathJaxSrc} -d dependencies/common/mathjax-26 + + mkdir -p dependencies/common/pandoc + cp ${pandoc}/bin/pandoc dependencies/common/pandoc/ + + cp -r ${rsconnectSrc} dependencies/common/rsconnect + pushd dependencies/common + ${R}/bin/R CMD build -d --no-build-vignettes rsconnect + popd + ''; + + enableParallelBuilding = true; + + cmakeFlags = [ "-DRSTUDIO_TARGET=Desktop" "-DQT_QMAKE_EXECUTABLE=$NIX_QT5_TMP/bin/qmake" ]; + + desktopItem = makeDesktopItem { + name = name; + exec = "rstudio %F"; + icon = "rstudio"; + desktopName = "RStudio Preview"; + 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; + { description = "Set of integrated tools for the R language"; + homepage = https://www.rstudio.com/; + license = licenses.agpl3; + maintainers = with maintainers; [ averelld ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/editors/sigil/default.nix b/pkgs/applications/editors/sigil/default.nix index ef0d98455f278ffc3c6c93324641f45aea00a013..bae3c58b8e1dfe950499c0c9de76ca6f9dbac640 100644 --- a/pkgs/applications/editors/sigil/default.nix +++ b/pkgs/applications/editors/sigil/default.nix @@ -6,10 +6,10 @@ stdenv.mkDerivation rec { name = "sigil-${version}"; - version = "0.9.10"; + version = "0.9.13"; src = fetchFromGitHub { - sha256 = "11r7043kbqv67z1aqk929scsg6yllldpl8icl32dw3dai7f1c658"; + sha256 = "05wnq7av7fgqgcqd88qjwgn55vr4ciy4f0rgi722f52vy97bw9bj"; rev = version; repo = "Sigil"; owner = "Sigil-Ebook"; diff --git a/pkgs/applications/editors/standardnotes/default.nix b/pkgs/applications/editors/standardnotes/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..454b7ad554ba667837a7363f3a862dbeda032611 --- /dev/null +++ b/pkgs/applications/editors/standardnotes/default.nix @@ -0,0 +1,48 @@ +{ stdenv, appimage-run, fetchurl, runtimeShell }: + +let + version = "3.0.6"; + + plat = { + "i386-linux" = "i386"; + "x86_64-linux" = "x86_64"; + }.${stdenv.hostPlatform.system}; + + sha256 = { + "i386-linux" = "0czhlbacjks9x8y2w46nzlvk595psqhqw0vl0bvsq7sz768dk0ni"; + "x86_64-linux" = "0haji9h8rrm9yvqdv6i2y6xdd0yhsssjjj83hmf6cb868lwyigsf"; + }.${stdenv.hostPlatform.system}; +in + +stdenv.mkDerivation rec { + name = "standardnotes-${version}"; + + src = fetchurl { + url = "https://github.com/standardnotes/desktop/releases/download/v${version}/standard-notes-${version}-${plat}.AppImage"; + inherit sha256; + }; + + buildInputs = [ appimage-run ]; + + unpackPhase = ":"; + + installPhase = '' + mkdir -p $out/{bin,share} + cp $src $out/share/standardNotes.AppImage + echo "#!${runtimeShell}" > $out/bin/standardnotes + echo "${appimage-run}/bin/appimage-run $out/share/standardNotes.AppImage" >> $out/bin/standardnotes + chmod +x $out/bin/standardnotes $out/share/standardNotes.AppImage + ''; + + meta = with stdenv.lib; { + description = "A simple and private notes app"; + longDescription = '' + Standard Notes is a private notes app that features unmatched simplicity, + end-to-end encryption, powerful extensions, and open-source applications. + ''; + homepage = https://standardnotes.org; + license = licenses.agpl3; + maintainers = with maintainers; [ mgregoire ]; + platforms = [ "i386-linux" "x86_64-linux" ]; + }; +} diff --git a/pkgs/applications/editors/sublime/2/default.nix b/pkgs/applications/editors/sublime/2/default.nix index 78c2d9aaa0c41cca63d23f626c73d43c629d28cb..24639f3bfd4625653d093e4199dccba1ecbf6cfd 100644 --- a/pkgs/applications/editors/sublime/2/default.nix +++ b/pkgs/applications/editors/sublime/2/default.nix @@ -6,16 +6,22 @@ in stdenv.mkDerivation rec { name = "sublimetext-2.0.2"; src = - if stdenv.system == "i686-linux" then + if stdenv.hostPlatform.system == "i686-linux" then fetchurl { name = "sublimetext-2.0.2.tar.bz2"; - url = http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.2.tar.bz2; + url = [ + http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.2.tar.bz2 + https://download.sublimetext.com/Sublime%20Text%202.0.2.tar.bz2 + ]; sha256 = "026g5mppk28lzzzn9ibykcqkrd5msfmg0sc0z8w8jd7v3h28wcq7"; } else fetchurl { name = "sublimetext-2.0.2.tar.bz2"; - url = http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.2%20x64.tar.bz2; + url = [ + http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.2.tar.bz2 + https://download.sublimetext.com/Sublime%20Text%202.0.2%20x64.tar.bz2 + ]; sha256 = "115b71nbv9mv8cz6bkjwpbdf2ywnjc1zy2d3080f6ck4sqqfvfh1"; }; buildCommand = '' diff --git a/pkgs/applications/editors/sublime/3/common.nix b/pkgs/applications/editors/sublime/3/common.nix index 628993dbf5be55d7a8f33109c66ad0d0263f163b..214e53262b5c013b52823fcc89a43506ab5c88d7 100644 --- a/pkgs/applications/editors/sublime/3/common.nix +++ b/pkgs/applications/editors/sublime/3/common.nix @@ -1,46 +1,58 @@ -{buildVersion, x32sha256, x64sha256}: +{ buildVersion, x32sha256, x64sha256, dev ? false }: -{ fetchurl, stdenv, glib, xorg, cairo, gtk2, pango, makeWrapper, openssl, bzip2, - pkexecPath ? "/run/wrappers/bin/pkexec", libredirect, - gksuSupport ? false, gksu, unzip, zip, bash}: +{ fetchurl, stdenv, xorg, glib, glibcLocales, gtk2, gtk3, cairo, pango, libredirect, makeWrapper, wrapGAppsHook +, pkexecPath ? "/run/wrappers/bin/pkexec", gksuSupport ? false, gksu +, writeScript, common-updater-scripts, curl, gnugrep +, openssl, bzip2, bash, unzip, zip +}: assert gksuSupport -> gksu != null; let - - 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 + pname = "sublimetext3"; + packageAttribute = "sublime3${stdenv.lib.optionalString dev "-dev"}"; + binaries = [ "sublime_text" "plugin_host" "crash_reporter" ]; + primaryBinary = "sublime_text"; + primaryBinaryAliases = [ "subl" "sublime" "sublime3" ]; + downloadUrl = "https://download.sublimetext.com/sublime_text_3_build_${buildVersion}_${arch}.tar.bz2"; + downloadArchiveType = "tar.bz2"; + versionUrl = "https://www.sublimetext.com/${if dev then "3dev" else "3"}"; + versionFile = "pkgs/applications/editors/sublime/3/packages.nix"; + usesGtk2 = stdenv.lib.versionOlder buildVersion "3181"; archSha256 = - if stdenv.system == "i686-linux" then + if stdenv.hostPlatform.system == "i686-linux" then x32sha256 else x64sha256; - arch = - if stdenv.system == "i686-linux" then + if stdenv.hostPlatform.system == "i686-linux" then "x32" else "x64"; - # package with just the binaries - sublime = stdenv.mkDerivation { - name = "sublimetext3-${buildVersion}-bin"; - src = - fetchurl { - name = "sublimetext-${buildVersion}.tar.bz2"; - url = "https://download.sublimetext.com/sublime_text_3_build_${buildVersion}_${arch}.tar.bz2"; - sha256 = archSha256; - }; + libPath = stdenv.lib.makeLibraryPath [ xorg.libX11 glib (if usesGtk2 then gtk2 else gtk3) cairo pango ]; + redirects = [ "/usr/bin/pkexec=${pkexecPath}" ] + ++ stdenv.lib.optional gksuSupport "/usr/bin/gksudo=${gksu}/bin/gksudo"; +in let + binaryPackage = stdenv.mkDerivation { + pname = "${pname}-bin"; + version = buildVersion; + + src = fetchurl { + name = "${pname}-bin-${buildVersion}.${downloadArchiveType}"; + url = downloadUrl; + sha256 = archSha256; + }; dontStrip = true; dontPatchELF = true; - buildInputs = [ makeWrapper zip unzip ]; + buildInputs = stdenv.lib.optionals (!usesGtk2) [ glib gtk3 ]; # for GSETTINGS_SCHEMAS_PATH + nativeBuildInputs = [ zip unzip makeWrapper ] ++ stdenv.lib.optional (!usesGtk2) wrapGAppsHook; - # make exec.py in Default.sublime-package use own bash with - # an LD_PRELOAD instead of "/bin/bash" + # make exec.py in Default.sublime-package use own bash with an LD_PRELOAD instead of "/bin/bash" patchPhase = '' + runHook prePatch + mkdir Default.sublime-package-fix ( cd Default.sublime-package-fix unzip -q ../Packages/Default.sublime-package @@ -50,62 +62,91 @@ in let zip -q ../Packages/Default.sublime-package **/* ) rm -r Default.sublime-package-fix + + runHook postPatch ''; buildPhase = '' - for i in sublime_text plugin_host crash_reporter; do + runHook preBuild + + for binary in ${ builtins.concatStringsSep " " binaries }; do patchelf \ --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --set-rpath ${libPath}:${stdenv.cc.cc.lib}/lib${stdenv.lib.optionalString stdenv.is64bit "64"} \ - $i + $binary done # Rewrite pkexec|gksudo argument. Note that we can't delete bytes in binary. - sed -i -e 's,/bin/cp\x00,cp\x00\x00\x00\x00\x00\x00,g' sublime_text + sed -i -e 's,/bin/cp\x00,cp\x00\x00\x00\x00\x00\x00,g' ${primaryBinary} + + runHook postBuild ''; installPhase = '' - # Correct sublime_text.desktop to exec `sublime' instead of /opt/sublime_text - sed -e "s,/opt/sublime_text/sublime_text,$out/sublime_text," -i sublime_text.desktop + runHook preInstall mkdir -p $out - cp -prvd * $out/ + cp -r * $out/ # We can't just call /usr/bin/env bash because a relocation error occurs # when trying to run a build from within Sublime Text ln -s ${bash}/bin/bash $out/sublime_bash + + runHook postInstall + ''; + + dontWrapGApps = true; # non-standard location, need to wrap the executables manually + + postFixup = '' wrapProgram $out/sublime_bash \ --set LD_PRELOAD "${stdenv.cc.cc.lib}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}/libgcc_s.so.1" - wrapProgram $out/sublime_text \ + wrapProgram $out/${primaryBinary} \ --set LD_PRELOAD "${libredirect}/lib/libredirect.so" \ - --set NIX_REDIRECTS ${builtins.concatStringsSep ":" redirects} + --set NIX_REDIRECTS ${builtins.concatStringsSep ":" redirects} \ + --set LOCALE_ARCHIVE "${glibcLocales.out}/lib/locale/locale-archive" \ + ${stdenv.lib.optionalString (!usesGtk2) ''"''${gappsWrapperArgs[@]}"''} # Without this, plugin_host crashes, even though it has the rpath wrapProgram $out/plugin_host --prefix LD_PRELOAD : ${stdenv.cc.cc.lib}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}/libgcc_s.so.1:${openssl.out}/lib/libssl.so:${bzip2.out}/lib/libbz2.so ''; }; in stdenv.mkDerivation (rec { - name = "sublimetext3-${buildVersion}"; + inherit pname; + version = buildVersion; phases = [ "installPhase" ]; - inherit sublime; + ${primaryBinary} = binaryPackage; + + nativeBuildInputs = [ makeWrapper ]; installPhase = '' - mkdir -p $out/bin - - cat > $out/bin/subl <<-EOF - #!/bin/sh - exec $sublime/sublime_text "\$@" - EOF - chmod +x $out/bin/subl - - ln $out/bin/subl $out/bin/sublime - ln $out/bin/subl $out/bin/sublime3 - mkdir -p $out/share/applications - ln -s $sublime/sublime_text.desktop $out/share/applications/sublime_text.desktop - ln -s $sublime/Icon/256x256/ $out/share/icons + mkdir -p "$out/bin" + makeWrapper "''$${primaryBinary}/${primaryBinary}" "$out/bin/${primaryBinary}" + '' + builtins.concatStringsSep "" (map (binaryAlias: "ln -s $out/bin/${primaryBinary} $out/bin/${binaryAlias}\n") primaryBinaryAliases) + '' + mkdir -p "$out/share/applications" + substitute "''$${primaryBinary}/${primaryBinary}.desktop" "$out/share/applications/${primaryBinary}.desktop" --replace "/opt/${primaryBinary}/${primaryBinary}" "$out/bin/${primaryBinary}" + for directory in ''$${primaryBinary}/Icon/*; do + size=$(basename $directory) + mkdir -p "$out/share/icons/hicolor/$size/apps" + ln -s ''$${primaryBinary}/Icon/$size/* $out/share/icons/hicolor/$size/apps + done + ''; + + passthru.updateScript = writeScript "${pname}-update-script" '' + #!${stdenv.shell} + set -o errexit + PATH=${stdenv.lib.makeBinPath [ common-updater-scripts curl gnugrep ]} + + latestVersion=$(curl -s ${versionUrl} | grep -Po '(?<=

Version: Build )([0-9]+)') + + for platform in ${stdenv.lib.concatStringsSep " " meta.platforms}; do + # The script will not perform an update when the version attribute is up to date from previous platform run + # We need to clear it before each run + update-source-version ${packageAttribute}.${primaryBinary} 0 0000000000000000000000000000000000000000000000000000000000000000 --file=${versionFile} --version-key=buildVersion --system=$platform + update-source-version ${packageAttribute}.${primaryBinary} $latestVersion --file=${versionFile} --version-key=buildVersion --system=$platform + done ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/editors/sublime/3/packages.nix b/pkgs/applications/editors/sublime/3/packages.nix index 8ab7c81440791c4086a43003c1ec643751cd5bb3..9d7539b5b6515f41ad4b8ad76d82d7b7503cfecb 100644 --- a/pkgs/applications/editors/sublime/3/packages.nix +++ b/pkgs/applications/editors/sublime/3/packages.nix @@ -5,14 +5,15 @@ let in rec { sublime3-dev = common { - buildVersion = "3176"; - x32sha256 = "08asz13888d4ddsz81cfk7k3319dabzz1kgbnshw0756pvyrvr23"; - x64sha256 = "0cppkh5jx2g8f6jyy1bs81fpb90l0kn5m7y3skackpjdxhd7rwbl"; + buildVersion = "3203"; + dev = true; + x32sha256 = "004hnlm2dvcfagf3bkbfqxlnkgqk46jrm8w9yagpjwkpdy76mgyx"; + x64sha256 = "0dp4vi39s2gq5a7snz0byrf44i0csbzwq6hn7i2zqa6rpvfywa1d"; } {}; sublime3 = common { - buildVersion = "3176"; - x32sha256 = "08asz13888d4ddsz81cfk7k3319dabzz1kgbnshw0756pvyrvr23"; - x64sha256 = "0cppkh5jx2g8f6jyy1bs81fpb90l0kn5m7y3skackpjdxhd7rwbl"; + buildVersion = "3200"; + x32sha256 = "01krmbji8z62x4kl1hf3c1nfj4c4n4xmg1df62ljiwhkcfm74izr"; + x64sha256 = "1gagc50fqb0d2bszi8m5spzb64shkaylvrwl6fxah55xcmy2kmdr"; } {}; } diff --git a/pkgs/applications/editors/tecoc/default.nix b/pkgs/applications/editors/tecoc/default.nix index 1c5730838ff1f3d805aed104308a8abe4fb9a969..dd986b346a3712cc24091181f2819790118f5a5c 100644 --- a/pkgs/applications/editors/tecoc/default.nix +++ b/pkgs/applications/editors/tecoc/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchgit +{ stdenv, fetchFromGitHub , ncurses }: stdenv.mkDerivation rec { @@ -6,20 +6,27 @@ stdenv.mkDerivation rec { name = "tecoc-git-${version}"; version = "20150606"; - src = fetchgit { - url = "https://github.com/blakemcbride/TECOC.git"; + src = fetchFromGitHub { + owner = "blakemcbride"; + repo = "TECOC"; rev = "d7dffdeb1dfb812e579d6d3b518545b23e1b50cb"; sha256 = "11zfa73dlx71c0hmjz5n3wqcvk6082rpb4sss877nfiayisc0njj"; }; buildInputs = [ ncurses ]; - configurePhase = '' - cp src/makefile.linux src/Makefile - ''; - buildPhase = '' - make CC=${stdenv.cc}/bin/cc -C src/ - ''; + makefile = if stdenv.hostPlatform.isDarwin + then "makefile.osx" + else if stdenv.hostPlatform.isFreeBSD + then "makefile.bsd" + else if stdenv.hostPlatform.isOpenBSD + then "makefile.bsd" + else if stdenv.hostPlatform.isWindows + then "makefile.win" + else "makefile.linux"; # I think Linux is a safe default... + + makeFlags = [ "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 @@ -31,26 +38,26 @@ stdenv.mkDerivation rec { 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. + 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 by 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, the venerable 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; + license = { url = https://github.com/blakemcbride/TECOC/tree/master/doc/readme-1st.txt; }; maintainers = [ maintainers.AndersonTorres ]; - platforms = platforms.linux; + platforms = platforms.unix; }; } -# TODO: test in other platforms - especially Darwin diff --git a/pkgs/applications/editors/texmacs/default.nix b/pkgs/applications/editors/texmacs/default.nix index d3d95e5886a5996538327abc834fa6fef99a22b4..ac5ac34d2145a7f9c6727e143abb4c33bfd149d8 100644 --- a/pkgs/applications/editors/texmacs/default.nix +++ b/pkgs/applications/editors/texmacs/default.nix @@ -24,6 +24,7 @@ stdenv.mkDerivation { }; buildInputs = [ guile_1_8 qt4 makeWrapper ghostscriptX freetype ]; + NIX_LDFLAGS = [ "-lz" ]; postInstall = "wrapProgram $out/bin/texmacs --suffix PATH : " + (if ghostscriptX == null then "" else "${ghostscriptX}/bin:") + @@ -33,12 +34,6 @@ stdenv.mkDerivation { inherit (common) postPatch; - postFixup = '' - bin="$out/libexec/TeXmacs/bin/texmacs.bin" - rpath=$(patchelf --print-rpath "$bin") - patchelf --set-rpath "$rpath:${zlib.out}/lib" "$bin" - ''; - meta = common.meta // { maintainers = [ stdenv.lib.maintainers.roconnor ]; platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux; # arbitrary choice diff --git a/pkgs/applications/editors/texmaker/default.nix b/pkgs/applications/editors/texmaker/default.nix index c5f691e95c2470055f062464c3f7fdb9c3487308..79ece9d62a98c1303441a10623b0c03eb77b9058 100644 --- a/pkgs/applications/editors/texmaker/default.nix +++ b/pkgs/applications/editors/texmaker/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { pname = "texmaker"; - version = "5.0.2"; + version = "5.0.3"; name = "${pname}-${version}"; src = fetchurl { url = "http://www.xm1math.net/texmaker/${name}.tar.bz2"; - sha256 = "0y81mjm89b99pr9svcwpaf4iz2q9pc9hjas5kiwd1pbgl5vqskm9"; + sha256 = "0vrj9w5lk3vf6138n5bz8phmy3xp5kv4dq1rgirghcf4hbxdyx30"; }; buildInputs = [ qtbase qtscript poppler zlib ]; @@ -31,6 +31,6 @@ stdenv.mkDerivation rec { homepage = http://www.xm1math.net/texmaker/; license = licenses.gpl2Plus; platforms = platforms.linux; - maintainers = with maintainers; [ cfouche ]; + maintainers = with maintainers; [ cfouche markuskowa ]; }; } diff --git a/pkgs/applications/editors/texstudio/default.nix b/pkgs/applications/editors/texstudio/default.nix index 7ba37bd14ff1e4939d1c91e7d000bf097c4dd45a..ca04cccdf17b64e7a8e4e3c7541c5f8ca6fd021a 100644 --- a/pkgs/applications/editors/texstudio/default.nix +++ b/pkgs/applications/editors/texstudio/default.nix @@ -2,14 +2,14 @@ stdenv.mkDerivation rec { pname = "texstudio"; - version = "2.12.10"; + version = "2.12.14"; name = "${pname}-${version}"; src = fetchFromGitHub { owner = "${pname}-org"; repo = pname; rev = version; - sha256 = "0mkx7fym41hwd7cdg31ji2hxlv3gxx0sa6bnap51ryxmq8sxdjhq"; + sha256 = "08vfhkgzhh1227wcvr5wwpnw0072c80nf2crhmxwh3jgjfgi538f"; }; nativeBuildInputs = [ qt5.qmake pkgconfig ]; diff --git a/pkgs/applications/editors/textadept/default.nix b/pkgs/applications/editors/textadept/default.nix index 818183b9852b979bce79070a4deac2ff494f3da9..79cad6a9782cea69668c745164eb4f10b057393e 100644 --- a/pkgs/applications/editors/textadept/default.nix +++ b/pkgs/applications/editors/textadept/default.nix @@ -1,139 +1,29 @@ -{ 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. - # This expression gets Nix to fetch them instead. - - - cached_url = url: sha256: fetchurl { - inherit sha256 url; - }; - - get_url = url: sha256: let - store_path = cached_url url sha256; - in '' - local_path=$(basename ${store_path} | sed -e 's@^[0-9a-z]\+-@@') - - # Copy the file from the Nix store and remove the hash part. - cp ${store_path} $local_path - - # Update its access and modified times. - touch $local_path - ''; - - cached_url_zip = url: sha256: fetchzip { - inherit sha256 url; - }; - - get_url_zip = url: sha256: let - store_path = cached_url_zip url sha256; - in '' - ( - build_dir=$PWD - cd $TMPDIR - - local_path=$(basename ${url} .zip) - - cp -r ${store_path} $local_path - chmod u+rwX -R $local_path - zip -r $build_dir/$local_path.zip $local_path - touch $local_path - ) - ''; - - - # These lists are taken from the Makefile. - scintilla_tgz = "scintilla373.tgz"; - tre_zip = "cdce45e8dd7a3b36954022b4a4d3570e1ac5a4f8.zip"; - scinterm_zip = "scinterm_1.8.zip"; - scintillua_zip = "33298b6cbce3.zip"; - lua_tgz = "lua-5.3.4.tar.gz"; - lpeg_tgz = "lpeg-1.0.0.tar.gz"; - lfs_zip = "v_1_6_3.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.3.zip"; - cdk_tgz = "cdk-5.0-20150928.tgz"; - termkey_tgz = "libtermkey-0.17.tar.gz"; - - 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; - scintillua_url = "http://foicica.com/hg/scintillua/archive/" + scintillua_zip; - gtdialog_url = "http://foicica.com/gtdialog/download/" + gtdialog_zip; - lspawn_url = "http://foicica.com/lspawn/download/" + lspawn_zip; - - scintilla_url = "http://prdownloads.sourceforge.net/scintilla/" + scintilla_tgz; - 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; - 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; - bombay_url = "http://foicica.com/hg/bombay/archive/tip.zip"; - termkey_url = "http://www.leonerd.org.uk/code/libtermkey/" + termkey_tgz; - - - get_scintilla = get_url scintilla_url "0rkczxzj6bqxks4jcbxbyrarjhfjh95nwxxiqprfid1kaamgkfm2"; - get_tre = get_url tre_url "0mw8npwk5nnhc33352j4akannhpx77kqvfam8jdq1n4yf8js1gi7"; - get_scinterm = get_url scinterm_url "02ax6cjpxylfz7iqp1cjmsl323in066a38yklmsyzdl3w7761nxi"; - get_scintillua = get_url scintillua_url "1kx113dpjby1p9jcsqlnlzwj01z94f9szw4b38077qav3bj4lk6g"; - get_lua = get_url lua_url "0320a8dg3aci4hxla380dx1ifkw8gj4gbw5c4dz41g1kh98sm0gn"; - get_lpeg = get_url lpeg_url "13mz18s359wlkwm9d9iqlyyrrwjc6iqfpa99ai0icam2b3khl68h"; - get_lfs = get_url_zip lfs_url "1hxcnqj53540ysyw8fzax7f09pl98b8f55s712gsglcdxp2g2pri"; - get_lspawn = get_url lspawn_url "09c6v9irblay2kv1n7i59pyj9g4xb43c6rfa7ba5m353lymcwwqi"; - get_luajit = get_url luajit_url "0ydxpqkmsn2c341j4r2v6r5r0ig3kbwv3i9jran3iv81s6r6rgjm"; - get_libluajit = get_url libluajit_url "1nhvcdjpqrhd5qbihdm3bxpw84irfvnw2vmfqnsy253ay3dxzrgy"; - get_gtdialog = get_url gtdialog_url "0nvcldyhj8abr8jny9pbyfjwg8qfp9f2h508vjmrvr5c5fqdbbm0"; - get_cdk = get_url cdk_url "0j74l874y33i26y5kjg3pf1vswyjif8k93pqhi0iqykpbxfsg382"; - get_bombay = get_url_zip bombay_url "0illabngrrxidkprgz268wgjqknrds34nhm6hav95xc1nmsdr6jj" - + "mv tip.zip bombay.zip\n"; - get_termkey = get_url termkey_url "12gkrv1ldwk945qbpprnyawh0jz7rmqh18fyndbxiajyxmj97538"; - - - get_deps = get_scintilla - + get_tre - + get_scinterm - + get_scintillua - + get_lua - + get_lpeg - + get_lfs - + get_lspawn - + get_luajit - + get_libluajit - + get_gtdialog - + get_cdk - + get_bombay - + get_termkey; -in +{ lib, stdenv, fetchhg, fetchurl, gtk2, glib, pkgconfig, unzip, ncurses, zip }: stdenv.mkDerivation rec { - version = "9.3"; + version = "10.2"; name = "textadept-${version}"; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ - gtk2 glib unzip ncurses zip + gtk2 ncurses glib unzip zip ]; src = fetchhg { url = http://foicica.com/hg/textadept; rev = "textadept_${version}"; - sha256 = "18x79pazm86agn1khdxfnf87la6kli3xasi7dcjx7l6yyz19y14d"; + sha256 = "0fai8xqddkkprmbf0cf8wwgv7ccfdb1iyim30nppm2m16whkc8fl"; }; - preConfigure = '' - cd src - - # Make a dummy wget. - mkdir wget - echo '#! ${stdenv.shell}' > wget/wget - chmod a+x wget/wget - export PATH="$PATH:$PWD/wget" + preConfigure = + lib.concatStringsSep "\n" (lib.mapAttrsToList (name: params: + "ln -s ${fetchurl params} $PWD/src/${name}" + ) (import ./deps.nix)) + '' - ${get_deps} + # work around trying to download stuff in `make deps` + function wget() { true; } + export -f wget - # Let the build system do whatever setup it needs to do with these files. + cd src make deps ''; diff --git a/pkgs/applications/editors/textadept/deps.nix b/pkgs/applications/editors/textadept/deps.nix new file mode 100644 index 0000000000000000000000000000000000000000..80306191ff127417b784dccee6b2e8c301ade3b5 --- /dev/null +++ b/pkgs/applications/editors/textadept/deps.nix @@ -0,0 +1,42 @@ +{ + "542782a4df7d.zip" = { + url = "http://foicica.com/hg/scintilla/archive/542782a4df7d.zip"; + sha256 = "1qwxxcj86z9y7ij05j60lcp1awy2c9ck0vnn9z6c732sqjza0zx5"; + }; + "lua-5.3.5.tar.gz" = { + url = "http://www.lua.org/ftp/lua-5.3.5.tar.gz"; + sha256 = "1b2qn2rv96nmbm6zab4l877bd4zq7wpwm8drwjiy2ih4jqzysbhc"; + }; + "lpeg-1.0.0.tar.gz" = { + url = "http://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.0.0.tar.gz"; + sha256 = "13mz18s359wlkwm9d9iqlyyrrwjc6iqfpa99ai0icam2b3khl68h"; + }; + "v_1_6_3.zip" = { + url = "https://github.com/keplerproject/luafilesystem/archive/v_1_6_3.zip"; + sha256 = "044s125im2irb4i42nnc5shvjj25fp4vsdbzd6b0va5igj0f6h4y"; + }; + "6435a42450c7.zip" = { + url = "http://foicica.com/hg/gtdialog/archive/6435a42450c7.zip"; + sha256 = "1vxn89sif3qccksb6x5iprysqhjg69g7nyxlgrg31q397dmsg1ym"; + }; + "cdk-5.0-20150928.tgz" = { + url = "http://invisible-mirror.net/archives/cdk/cdk-5.0-20150928.tgz"; + sha256 = "0j74l874y33i26y5kjg3pf1vswyjif8k93pqhi0iqykpbxfsg382"; + }; + "libtermkey-0.20.tar.gz" = { + url = "http://www.leonerd.org.uk/code/libtermkey/libtermkey-0.20.tar.gz"; + sha256 = "1xfj6lchhfljmbcl6dz8dpakppyy13nbl4ykxiv5x4dr9b4qf3bc"; + }; + "pdcurs36.zip" = { + url = "http://prdownloads.sourceforge.net/pdcurses/pdcurs36.zip"; + sha256 = "0y91zpygrxms7d1l5ksrz42bkvq8jd2xqlj5j7wgyxcl58chcw9b"; + }; + "bombay.zip" = { + url = "http://foicica.com/hg/bombay/archive/b25520cc76bb.zip"; + sha256 = "07spq7jmkfyq20gv67yffara3ln3ns2xi0k02m2mxdms3xm1q36h"; + }; + "cloc-1.60.pl" = { + url = "http://prdownloads.sourceforge.net/cloc/cloc-1.60.pl"; + sha256 = "0p504bi19va3dh274v7lb7giqrydwa5yyry60f7jpz84y6z71a2a"; + }; +} diff --git a/pkgs/applications/editors/texworks/default.nix b/pkgs/applications/editors/texworks/default.nix index fe90250d415276a90530d3bb23b6ffc3282fcbb3..86904c11f7489090a1e5d618ba68fb2ee90db574 100644 --- a/pkgs/applications/editors/texworks/default.nix +++ b/pkgs/applications/editors/texworks/default.nix @@ -1,23 +1,23 @@ { stdenv, lib, fetchFromGitHub, cmake, pkgconfig , qt5, libsForQt5, hunspell , withLua ? true, lua -, withPython ? true, python }: +, withPython ? true, python3 }: stdenv.mkDerivation rec { name = "texworks-${version}"; - version = "0.6.2"; + version = "0.6.3"; src = fetchFromGitHub { owner = "TeXworks"; repo = "texworks"; rev = "release-${version}"; - sha256 = "0kj4pq5h4vs2wwg6cazxjlv83x6cwdfsa76winfkdddaqzpdklsj"; + sha256 = "1ljfl784z7dmh6f1qacqhc6qhcaqdzw033yswbvpvkkck0lsk2mr"; }; nativeBuildInputs = [ cmake pkgconfig ]; - buildInputs = [ qt5.qtscript libsForQt5.poppler hunspell lua python ] + buildInputs = [ qt5.qtscript libsForQt5.poppler hunspell ] ++ lib.optional withLua lua - ++ lib.optional withPython python; + ++ lib.optional withPython python3; cmakeFlags = lib.optional withLua "-DWITH_LUA=ON" ++ lib.optional withPython "-DWITH_PYTHON=ON"; diff --git a/pkgs/applications/editors/thonny/default.nix b/pkgs/applications/editors/thonny/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..5f87aad8a871deac8dc5b984848d598e2e56a4ca --- /dev/null +++ b/pkgs/applications/editors/thonny/default.nix @@ -0,0 +1,52 @@ +{ stdenv, fetchFromGitHub, python3 }: + +with python3.pkgs; + +buildPythonApplication rec { + pname = "thonny"; + version = "3.1.2"; + + src = fetchFromGitHub { + owner = pname; + repo = pname; + rev = "v${version}"; + sha256 = "1simqqxm72k5zhavhllkinsyw8ggy6fjs5ppj82g3l5g3919pfna"; + }; + + propagatedBuildInputs = with python3.pkgs; [ + jedi + pyserial + tkinter + docutils + pylint + mypy + pyperclip + asttokens + ]; + + preInstall = '' + export HOME=$(mktemp -d) + ''; + + preFixup = '' + wrapProgram "$out/bin/thonny" \ + --prefix PYTHONPATH : $PYTHONPATH:$(toPythonPath ${python3.pkgs.jedi}) + ''; + + # Tests need a DISPLAY + doCheck = false; + + meta = with stdenv.lib; { + description = "Python IDE for beginners"; + longDescription = '' + Thonny is a Python IDE for beginners. It supports different ways + of stepping through the code, step-by-step expression + evaluation, detailed visualization of the call stack and a mode + for explaining the concepts of references and heap. + ''; + homepage = https://www.thonny.org/; + license = licenses.mit; + maintainers = with maintainers; [ leenaars ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/editors/tiled/default.nix b/pkgs/applications/editors/tiled/default.nix index 93f1639107eeaea4db3d911afcbe7d0deb426e3c..1cfb04b7b2ef9900352ce1c57aa4436d3c9ee794 100644 --- a/pkgs/applications/editors/tiled/default.nix +++ b/pkgs/applications/editors/tiled/default.nix @@ -2,14 +2,14 @@ , python, qtbase, qttools }: stdenv.mkDerivation rec { - name = "tiled-${version}"; - version = "1.1.6"; + pname = "tiled"; + version = "1.2.3"; src = fetchFromGitHub { owner = "bjorn"; - repo = "tiled"; + repo = pname; rev = "v${version}"; - sha256 = "09qnlinm3q9xwp6b6cajs49fx8y6pkpixhji68bhs53m5hpvfg4s"; + sha256 = "1zsfhw539zwyf5qfnirzkkgy5bmrrs2cry4gimrhpky9fjlaa9h8"; }; nativeBuildInputs = [ pkgconfig qmake ]; diff --git a/pkgs/applications/editors/typora/default.nix b/pkgs/applications/editors/typora/default.nix index 93ee70e4148bb9f7a7e11770318a0f9924afa217..deb4974a9b14424968e19f45ae7eab4380b001b4 100644 --- a/pkgs/applications/editors/typora/default.nix +++ b/pkgs/applications/editors/typora/default.nix @@ -1,99 +1,55 @@ -{ stdenv, fetchurl, dpkg, lib, glib, dbus, makeWrapper, gnome2, gnome3, gtk3, atk, cairo, pango -, gdk_pixbuf, freetype, fontconfig, nspr, nss, xorg, alsaLib, cups, expat, udev, wrapGAppsHook }: +{ stdenv, fetchurl, makeWrapper, electron_3, dpkg, gtk3, glib, gsettings-desktop-schemas, wrapGAppsHook }: stdenv.mkDerivation rec { - name = "typora-${version}"; - version = "0.9.53"; + pname = "typora"; + version = "0.9.68"; - src = - if stdenv.system == "x86_64-linux" then - fetchurl { - url = "https://www.typora.io/linux/typora_${version}_amd64.deb"; - sha256 = "02k6x30l4mbjragqbq5rn663xbw3h4bxzgppfxqf5lwydswldklb"; - } - else - fetchurl { - url = "https://www.typora.io/linux/typora_${version}_i386.deb"; - sha256 = "1wyq1ri0wwdy7slbd9dwyrdynsaa644x44c815jl787sg4nhas6y"; - } - ; + src = fetchurl { + url = "https://www.typora.io/linux/typora_${version}_amd64.deb"; + sha256 = "09hkmnh9avzb7nc8i67vhbv6nc1v90kk88aq01mpmyibpdqp03zp"; + }; - rpath = stdenv.lib.makeLibraryPath [ - alsaLib - gnome2.GConf - gdk_pixbuf - pango - gnome3.defaultIconTheme - expat - gtk3 - atk - nspr - nss - stdenv.cc.cc - glib - cairo - cups - dbus - udev - fontconfig - freetype - xorg.libX11 - xorg.libXi - xorg.libXext - xorg.libXtst - xorg.libXfixes - xorg.libXcursor - xorg.libXdamage - xorg.libXrender - xorg.libXrandr - xorg.libXcomposite - xorg.libxcb - xorg.libXScrnSaver + nativeBuildInputs = [ + dpkg + makeWrapper + wrapGAppsHook ]; - nativeBuildInputs = [ wrapGAppsHook ]; + buildInputs = [ + glib + gsettings-desktop-schemas + gtk3 + ]; - dontWrapGApps = true; + unpackPhase = "dpkg-deb -x $src ."; - buildInputs = [ dpkg makeWrapper ]; + dontWrapGApps = true; - unpackPhase = "true"; installPhase = '' - mkdir -p $out - dpkg -x $src $out - mv $out/usr/bin $out - mv $out/usr/share $out - rm $out/bin/typora - rmdir $out/usr + runHook preInstall + + mkdir -p $out/bin $out/share + { + cd usr + mv share/typora/resources/app $out/share/typora + mv share/{applications,icons,doc} $out/share/ + } - # Otherwise it looks "suspicious" - chmod -R g-w $out + runHook postInstall ''; postFixup = '' - patchelf \ - --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "$out/share/typora:${rpath}" "$out/share/typora/Typora" - - makeWrapper $out/share/typora/Typora $out/bin/typora - - wrapProgram $out/bin/typora \ + makeWrapper ${electron_3}/bin/electron $out/bin/typora \ + --add-flags $out/share/typora \ "''${gappsWrapperArgs[@]}" \ - --suffix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \ - --prefix XDG_DATA_DIRS : "${gnome3.defaultIconTheme}/share" - - # Fix the desktop link - substituteInPlace $out/share/applications/typora.desktop \ - --replace /usr/bin/ $out/bin/ \ - --replace /usr/share/ $out/share/ - + --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc ]}" ''; meta = with stdenv.lib; { description = "A minimal Markdown reading & writing app"; homepage = https://typora.io; license = licenses.unfree; - maintainers = with maintainers; [ jensbin ]; - platforms = [ "x86_64-linux" "i686-linux" ]; + maintainers = with maintainers; [ jensbin worldofpeace ]; + inherit (electron_3.meta) platforms; }; } diff --git a/pkgs/applications/editors/vanubi/default.nix b/pkgs/applications/editors/vanubi/default.nix deleted file mode 100644 index 98f45f6be02d2b56e80a5648d450ef026c1f00e8..0000000000000000000000000000000000000000 --- a/pkgs/applications/editors/vanubi/default.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, vala_0_28, which, autoconf, automake -, libtool, glib, gtk3, gnome3, libwnck3, asciidoc, python3Packages }: - -stdenv.mkDerivation rec { - name = "vanubi-${version}"; - version = "0.0.16"; - - src = fetchurl { - url = "https://github.com/vanubi/vanubi/archive/v${version}.tar.gz"; - sha256 = "145zxgaky5bcq5bxm4z7h0pvviq7k1nrgnf40q6nax6ik616ybjq"; - }; - - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ vala_0_28 which autoconf automake - libtool glib gtk3 libwnck3 asciidoc - gnome3.gtksourceview gnome3.vte_290 python3Packages.pygments ]; - - configureScript = "./autogen.sh"; - - enableParallelBuilding = true; - - meta = with stdenv.lib; { - homepage = http://vanubi.github.io/vanubi; - description = "Programming editor for GTK+ inspired by Emacs"; - license = licenses.gpl3; - platforms = platforms.linux; - maintainers = [ maintainers.lethalman ]; - }; -} diff --git a/pkgs/applications/editors/vim/common.nix b/pkgs/applications/editors/vim/common.nix index 2ce6563be0bd5cb5d4af579f6c7c817dfa569157..2e3d092225f6fe015bdf8f3e43fd1d80eadec399 100644 --- a/pkgs/applications/editors/vim/common.nix +++ b/pkgs/applications/editors/vim/common.nix @@ -1,12 +1,12 @@ { lib, fetchFromGitHub }: rec { - version = "8.1.0146"; + version = "8.1.0675"; src = fetchFromGitHub { owner = "vim"; repo = "vim"; rev = "v${version}"; - sha256 = "1v33h08j15zii0ipw5py18ghsaxlbar0nyx365z1acjhk4vhn9nb"; + sha256 = "00nlh8f2rf0af3n434s0lp6idxlg4l7mi1lrlbz0xld9dsrzdmas"; }; enableParallelBuilding = true; diff --git a/pkgs/applications/editors/vim/configurable.nix b/pkgs/applications/editors/vim/configurable.nix index 3711b3cdcee4414916e916668822cb9c17ca678b..3b75d08787e8c61239faddaf77d0442878192376 100644 --- a/pkgs/applications/editors/vim/configurable.nix +++ b/pkgs/applications/editors/vim/configurable.nix @@ -1,19 +1,20 @@ # 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@{ source ? "default", callPackage, fetchurl, stdenv, ncurses, pkgconfig, gettext -, writeText, lib, config, glib, gtk2, gtk3, python, perl, tcl, ruby +{ source ? "default", callPackage, fetchurl, stdenv, ncurses, pkgconfig, gettext +, writeText, config, glib, gtk2, gtk3, lua, python, perl, tcl, ruby , libX11, libXext, libSM, libXpm, libXt, libXaw, libXau, libXmu , libICE , vimPlugins , makeWrapper , wrapGAppsHook +, runtimeShell # apple frameworks , CoreServices, CoreData, Cocoa, Foundation, libobjc, cf-private , features ? "huge" # One of tiny, small, normal, big or huge , wrapPythonDrv ? false -, guiSupport ? config.vim.gui or "auto" +, guiSupport ? config.vim.gui or "gtk3" , luaSupport ? config.vim.lua or true , perlSupport ? config.vim.perl or false # Perl interpreter , pythonSupport ? config.vim.python or true # Python interpreter @@ -24,11 +25,10 @@ args@{ source ? "default", callPackage, fetchurl, stdenv, ncurses, pkgconfig, ge , cscopeSupport ? config.vim.cscope or true # Enable cscope interface , netbeansSupport ? config.netbeans or true # Enable NetBeans integration support. , ximSupport ? config.vim.xim or true # less than 15KB, needed for deadkeys -# By default, compile with darwin support if we're compiling on darwin, but -# allow this to be disabled by setting config.vim.darwin to false -, darwinSupport ? stdenv.isDarwin && (config.vim.darwin or true) # Enable Darwin support +, darwinSupport ? config.vim.darwin or false # Enable Darwin support , ftNixSupport ? config.vim.ftNix or true # Add .nix filetype detection and minimal syntax highlighting support -, ... }: with args; +, ... +}: let @@ -99,8 +99,10 @@ in stdenv.mkDerivation rec { "--disable-carbon_check" "--disable-gtktest" ] + ++ stdenv.lib.optional stdenv.isDarwin + (if darwinSupport then "--enable-darwin" else "--disable-darwin") ++ stdenv.lib.optionals luaSupport [ - "--with-lua-prefix=${args.lua}" + "--with-lua-prefix=${lua}" "--enable-luainterp" ] ++ stdenv.lib.optionals pythonSupport [ @@ -128,7 +130,8 @@ in stdenv.mkDerivation rec { buildInputs = [ ncurses libX11 libXext libSM libXpm libXt libXaw libXau libXmu glib libICE ] - ++ (if guiSupport == "gtk3" then [gtk3] else [gtk2]) + ++ stdenv.lib.optional (guiSupport == "gtk2") gtk2 + ++ stdenv.lib.optional (guiSupport == "gtk3") gtk3 ++ stdenv.lib.optionals darwinSupport [ CoreServices CoreData Cocoa Foundation libobjc cf-private ] ++ stdenv.lib.optional luaSupport lua ++ stdenv.lib.optional pythonSupport python @@ -142,22 +145,36 @@ in stdenv.mkDerivation rec { cp ${vimPlugins.vim-nix.src}/syntax/nix.vim runtime/syntax/nix.vim ''; - NIX_LDFLAGS = stdenv.lib.optionalString (darwinSupport && stdenv.isDarwin) - "/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation"; - postInstall = '' '' + stdenv.lib.optionalString stdenv.isLinux '' patchelf --set-rpath \ - "$(patchelf --print-rpath $out/bin/vim):${lib.makeLibraryPath buildInputs}" \ + "$(patchelf --print-rpath $out/bin/vim):${stdenv.lib.makeLibraryPath buildInputs}" \ "$out"/bin/{vim,gvim} ln -sfn '${nixosRuntimepath}' "$out"/share/vim/vimrc '' + stdenv.lib.optionalString wrapPythonDrv '' wrapProgram "$out/bin/vim" --prefix PATH : "${python}/bin" '' + stdenv.lib.optionalString (guiSupport == "gtk3") '' - rm "$out/bin/gvim" - echo -e '#!${stdenv.shell}\n"'"$out/bin/vim"'" -g "$@"' > "$out/bin/gvim" - chmod a+x "$out/bin/gvim" + + rewrap () { + rm -f "$out/bin/$1" + echo -e '#!${runtimeShell}\n"'"$out/bin/vim"'" '"$2"' "$@"' > "$out/bin/$1" + chmod a+x "$out/bin/$1" + } + + rewrap ex -e + rewrap view -R + rewrap gvim -g + rewrap gex -eg + rewrap gview -Rg + rewrap rvim -Z + rewrap rview -RZ + rewrap rgvim -gZ + rewrap rgview -RgZ + rewrap evim -y + rewrap eview -yR + rewrap vimdiff -d + rewrap gvimdiff -gd ''; preInstall = '' diff --git a/pkgs/applications/editors/vim/default.nix b/pkgs/applications/editors/vim/default.nix index 067179974b1ea59e7fff6985cb81ada95c2ed365..2f34a6ddeb6b975d174465da8a5cbc8d9ec2da9c 100644 --- a/pkgs/applications/editors/vim/default.nix +++ b/pkgs/applications/editors/vim/default.nix @@ -6,8 +6,7 @@ sha256 = "18ifhv5q9prd175q3vxbqf6qyvkk6bc7d2lhqdk0q78i68kv9y0c"; } # apple frameworks -, Carbon, Cocoa -, buildPlatform, hostPlatform +, cf-private, Carbon, Cocoa }: let @@ -20,12 +19,16 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ gettext pkgconfig ]; buildInputs = [ ncurses ] - ++ stdenv.lib.optionals hostPlatform.isDarwin [ Carbon Cocoa ]; + ++ stdenv.lib.optionals stdenv.hostPlatform.isDarwin [ + Carbon Cocoa + # Needed for OBJC_CLASS_$_NSArray symbols. + cf-private + ]; configureFlags = [ "--enable-multibyte" "--enable-nls" - ] ++ stdenv.lib.optionals (hostPlatform != buildPlatform) [ + ] ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "vim_cv_toupper_broken=no" "--with-tlib=ncurses" "vim_cv_terminfo=yes" diff --git a/pkgs/applications/editors/vscode/default.nix b/pkgs/applications/editors/vscode/default.nix index a775fb3bd79a6ebbaa0bfafa2d7bd83cd90c757a..04e084dfc3b30c947e449714fdc262e5519c85d2 100644 --- a/pkgs/applications/editors/vscode/default.nix +++ b/pkgs/applications/editors/vscode/default.nix @@ -1,93 +1,121 @@ -{ stdenv, lib, fetchurl, unzip, atomEnv, makeDesktopItem, - gtk2, wrapGAppsHook, libXScrnSaver, libxkbfile, libsecret }: +{ stdenv, lib, fetchurl, makeDesktopItem +, unzip, libsecret, libXScrnSaver, wrapGAppsHook +, gtk2, atomEnv, at-spi2-atk, autoPatchelfHook +, systemd, fontconfig +, isInsiders ? false }: let - version = "1.26.1"; - channel = "stable"; + executableName = "code" + lib.optionalString isInsiders "-insiders"; + longName = "Visual Studio Code" + lib.optionalString isInsiders " - Insiders"; + shortName = "Code" + lib.optionalString isInsiders " - Insiders"; + + inherit (stdenv.hostPlatform) system; plat = { "i686-linux" = "linux-ia32"; "x86_64-linux" = "linux-x64"; "x86_64-darwin" = "darwin"; - }.${stdenv.system}; + }.${system}; sha256 = { - "i686-linux" = "1g7kqbz6mrf8ngx2bnwpi9fifq5rjznxgsgwjb532z3nh92ypa8n"; - "x86_64-linux" = "02yldycakn5zxj1ji4nmhdyazqlkjqpzdj3g8j501c3j28pgiwjy"; - "x86_64-darwin" = "0pnsfkh20mj7pzqw7wlfd98jqc6a1mnsq1iira15n7fafqgj8zpl"; - }.${stdenv.system}; - - archive_fmt = if stdenv.system == "x86_64-darwin" then "zip" else "tar.gz"; - - rpath = lib.concatStringsSep ":" [ - atomEnv.libPath - "${lib.makeLibraryPath [gtk2]}" - "${lib.makeLibraryPath [libsecret]}/libsecret-1.so.0" - "${lib.makeLibraryPath [libXScrnSaver]}/libXss.so.1" - "${lib.makeLibraryPath [libxkbfile]}/libxkbfile.so.1" - "$out/lib/vscode" - ]; + "i686-linux" = "0n2k134yx0zirddi5xig4zihn73s8xiga11pwk90f01wp1i0hygg"; + "x86_64-linux" = "0ljijcqfyrfck5imldis3hx9d9iacnspgnm58kvlziam8y0imwzv"; + "x86_64-darwin" = "00fg106rggsbng90k1jjp1c6nmnwni5s0fgmbz6k45shfa3iqamc"; + }.${system}; + archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz"; in stdenv.mkDerivation rec { name = "vscode-${version}"; + version = "1.33.1"; src = fetchurl { name = "VSCode_${version}_${plat}.${archive_fmt}"; - url = "https://vscode-update.azurewebsites.net/${version}/${plat}/${channel}"; + url = "https://vscode-update.azurewebsites.net/${version}/${plat}/stable"; inherit sha256; }; + passthru = { + inherit executableName; + }; + desktopItem = makeDesktopItem { - name = "code"; - exec = "code"; - icon = "code"; - comment = "Code editor redefined and optimized for building and debugging modern web and cloud applications"; - desktopName = "Visual Studio Code"; + name = executableName; + desktopName = longName; + comment = "Code Editing. Redefined."; + genericName = "Text Editor"; + exec = executableName; + icon = "@out@/share/pixmaps/code.png"; + startupNotify = "true"; + categories = "Utility;TextEditor;Development;IDE;"; + mimeType = "text/plain;inode/directory;"; + extraEntries = '' + StartupWMClass=${shortName} + Actions=new-empty-window; + Keywords=vscode; + + [Desktop Action new-empty-window] + Name=New Empty Window + Exec=${executableName} --new-window %F + Icon=@out@/share/pixmaps/code.png + ''; + }; + + urlHandlerDesktopItem = makeDesktopItem { + name = executableName + "-url-handler"; + desktopName = longName + " - URL Handler"; + comment = "Code Editing. Redefined."; genericName = "Text Editor"; - categories = "GNOME;GTK;Utility;TextEditor;Development;"; + exec = executableName + " --open-url %U"; + icon = "@out@/share/pixmaps/code.png"; + startupNotify = "true"; + categories = "Utility;TextEditor;Development;IDE;"; + mimeType = "x-scheme-handler/vscode;"; + extraEntries = '' + NoDisplay=true + Keywords=vscode; + ''; }; - buildInputs = if stdenv.system == "x86_64-darwin" - then [ unzip libXScrnSaver libsecret ] - else [ wrapGAppsHook libXScrnSaver libxkbfile libsecret ]; + buildInputs = (if stdenv.isDarwin + then [ unzip ] + else [ gtk2 at-spi2-atk wrapGAppsHook ] ++ atomEnv.packages) + ++ [ libsecret libXScrnSaver ]; + + nativeBuildInputs = lib.optional (!stdenv.isDarwin) autoPatchelfHook; + + dontBuild = true; + dontConfigure = true; installPhase = - if stdenv.system == "x86_64-darwin" then '' + if system == "x86_64-darwin" then '' mkdir -p $out/lib/vscode $out/bin cp -r ./* $out/lib/vscode - ln -s $out/lib/vscode/Contents/Resources/app/bin/code $out/bin + ln -s $out/lib/vscode/Contents/Resources/app/bin/${executableName} $out/bin '' else '' mkdir -p $out/lib/vscode $out/bin cp -r ./* $out/lib/vscode - substituteInPlace $out/lib/vscode/bin/code --replace '"$CLI" "$@"' '"$CLI" "--skip-getting-started" "$@"' + substituteInPlace $out/lib/vscode/bin/${executableName} --replace '"$CLI" "$@"' '"$CLI" "--skip-getting-started" "$@"' - ln -s $out/lib/vscode/bin/code $out/bin + ln -s $out/lib/vscode/bin/${executableName} $out/bin mkdir -p $out/share/applications - cp $desktopItem/share/applications/* $out/share/applications + substitute $desktopItem/share/applications/${executableName}.desktop $out/share/applications/${executableName}.desktop \ + --subst-var out + substitute $urlHandlerDesktopItem/share/applications/${executableName}-url-handler.desktop $out/share/applications/${executableName}-url-handler.desktop \ + --subst-var out mkdir -p $out/share/pixmaps cp $out/lib/vscode/resources/app/resources/linux/code.png $out/share/pixmaps/code.png - ''; - postFixup = lib.optionalString (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") '' - patchelf \ - --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${rpath}" \ - $out/lib/vscode/code - - patchelf \ - --set-rpath "${rpath}" \ - $out/lib/vscode/resources/app/node_modules.asar.unpacked/keytar/build/Release/keytar.node - - patchelf \ - --set-rpath "${rpath}" \ - "$out/lib/vscode/resources/app/node_modules.asar.unpacked/native-keymap/build/Release/\ - keymapping.node" + # Override the previously determined VSCODE_PATH with the one we know to be correct + sed -i "/ELECTRON=/iVSCODE_PATH='$out/lib/vscode'" $out/bin/${executableName} + grep -q "VSCODE_PATH='$out/lib/vscode'" $out/bin/${executableName} # check if sed succeeded + ''; - ln -s ${lib.makeLibraryPath [libsecret]}/libsecret-1.so.0 $out/lib/vscode/libsecret-1.so.0 + preFixup = lib.optionalString (system == "i686-linux" || system == "x86_64-linux") '' + gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ systemd fontconfig ]}) ''; meta = with stdenv.lib; { @@ -102,9 +130,10 @@ in and code refactoring. It is also customizable, so users can change the editor's theme, keyboard shortcuts, and preferences ''; - homepage = http://code.visualstudio.com/; + homepage = https://code.visualstudio.com/; downloadPage = https://code.visualstudio.com/Updates; license = licenses.unfree; + maintainers = with maintainers; [ eadwu synthetica ]; platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ]; }; } diff --git a/pkgs/applications/editors/vscode/with-extensions.nix b/pkgs/applications/editors/vscode/with-extensions.nix index 5535d9ab11282e835395c0f0c99c1a5bca543801..88bea0c080959e7751a01c41fdb884f4c61cad69 100644 --- a/pkgs/applications/editors/vscode/with-extensions.nix +++ b/pkgs/applications/editors/vscode/with-extensions.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, runCommand, buildEnv, vscode, which, writeScript +{ stdenv, lib, runCommand, buildEnv, vscode, makeWrapper , vscodeExtensions ? [] }: /* @@ -43,6 +43,7 @@ let + inherit (vscode) executableName; wrappedPkgVersion = lib.getVersion vscode; wrappedPkgName = lib.removeSuffix "-${wrappedPkgVersion}" vscode.name; @@ -51,22 +52,12 @@ let paths = vscodeExtensions; }; - wrappedExeName = "code"; - exeName = wrappedExeName; - - wrapperExeFile = writeScript "${exeName}" '' - #!${stdenv.shell} - exec ${vscode}/bin/${wrappedExeName} \ - --extensions-dir "${combinedExtensionsDrv}/share/${wrappedPkgName}/extensions" \ - "$@" - ''; - in # When no extensions are requested, we simply redirect to the original # non-wrapped vscode executable. runCommand "${wrappedPkgName}-with-extensions-${wrappedPkgVersion}" { - buildInputs = [ vscode which ]; + buildInputs = [ vscode makeWrapper ]; dontPatchELF = true; dontStrip = true; meta = vscode.meta; @@ -75,13 +66,9 @@ runCommand "${wrappedPkgName}-with-extensions-${wrappedPkgVersion}" { mkdir -p "$out/share/applications" mkdir -p "$out/share/pixmaps" - ln -sT "${vscode}/share/applications/code.desktop" "$out/share/applications/code.desktop" ln -sT "${vscode}/share/pixmaps/code.png" "$out/share/pixmaps/code.png" - ${if [] == vscodeExtensions - then '' - ln -sT "${vscode}/bin/${wrappedExeName}" "$out/bin/${exeName}" - '' - else '' - ln -sT "${wrapperExeFile}" "$out/bin/${exeName}" - ''} + ln -sT "${vscode}/share/applications/${executableName}.desktop" "$out/share/applications/${executableName}.desktop" + makeWrapper "${vscode}/bin/${executableName}" "$out/bin/${executableName}" ${lib.optionalString (vscodeExtensions != []) '' + --add-flags "--extensions-dir ${combinedExtensionsDrv}/share/${wrappedPkgName}/extensions" + ''} '' diff --git a/pkgs/applications/editors/xmlcopyeditor/default.nix b/pkgs/applications/editors/xmlcopyeditor/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..229e37d0080a37bf51baf86a72eb4b40d927cc0c --- /dev/null +++ b/pkgs/applications/editors/xmlcopyeditor/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchurl, aspell, boost, expat, expect, intltool, libxml2, libxslt, pcre, wxGTK, xercesc }: + +stdenv.mkDerivation rec { + name = "xmlcopyeditor-${version}"; + version = "1.2.1.3"; + + src = fetchurl { + name = "${name}.tar.gz"; + url = "mirror://sourceforge/xml-copy-editor/${name}.tar.gz"; + sha256 = "0bwxn89600jbrkvlwyawgc0c0qqxpl453mbgcb9qbbxl8984ns4v"; + }; + + patches = [ ./xmlcopyeditor.patch ]; + CPLUS_INCLUDE_PATH = "${libxml2.dev}/include/libxml2"; + + nativeBuildInputs = [ intltool ]; + buildInputs = [ aspell boost expat libxml2 libxslt pcre wxGTK xercesc ]; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + description = "A fast, free, validating XML editor"; + homepage = http://xml-copy-editor.sourceforge.net/; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ candeira ]; + }; +} diff --git a/pkgs/applications/editors/xmlcopyeditor/xmlcopyeditor.patch b/pkgs/applications/editors/xmlcopyeditor/xmlcopyeditor.patch new file mode 100644 index 0000000000000000000000000000000000000000..253b9ce49ba8c37d2a17592c581149b19fabeb7c --- /dev/null +++ b/pkgs/applications/editors/xmlcopyeditor/xmlcopyeditor.patch @@ -0,0 +1,36 @@ +From 626c385ba141c6abcff01bef4451fcad062d232c Mon Sep 17 00:00:00 2001 +From: Javier Candeira +Date: Sat, 7 Apr 2018 20:21:45 +1000 +Subject: [PATCH] nixpckgs patches + +--- + src/Makefile.in | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/Makefile.in b/src/Makefile.in +index e75918f..e04703b 100644 +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -283,8 +283,8 @@ top_srcdir = @top_srcdir@ + # these are the headers for your project + noinst_HEADERS = $(srcdir)/*.h + xmlcopyeditordir = ${prefix}/share/xmlcopyeditor +-pixmapdir = /usr/share/pixmaps +-applicationsdir = /usr/share/applications ++pixmapdir = ${prefix}/share/pixmaps ++applicationsdir = ${prefix}/share/applications + + # the application source, library search path, and link libraries + xmlcopyeditor_SOURCES = aboutdialog.cpp associatedialog.cpp binaryfile.cpp \ +@@ -357,7 +357,7 @@ EXTRA_DIST = \ + $(srcdir)/xmlcopyeditor.rc \ + $(srcdir)/xmlschemaparser.cpp + +-AM_CPPFLAGS = -I/usr/include/libxml2 $(ENCHANT_CFLAGS) $(GTK_CFLAGS) ++AM_CPPFLAGS = -I$(CPLUS_INCLUDE_PATH) $(ENCHANT_CFLAGS) $(GTK_CFLAGS) + all: all-am + + .SUFFIXES: +-- +2.16.2 + diff --git a/pkgs/applications/editors/zile/default.nix b/pkgs/applications/editors/zile/default.nix index 7213b22c949b89561e2c846249d59d14e47472ee..ae3871bb87af895f21d0679d76290b4880227967 100644 --- a/pkgs/applications/editors/zile/default.nix +++ b/pkgs/applications/editors/zile/default.nix @@ -45,7 +45,7 @@ stdenv.mkDerivation rec { compiles to about 130Kb. ''; - homepage = http://www.gnu.org/software/zile/; + homepage = https://www.gnu.org/software/zile/; license = licenses.gpl3Plus; diff --git a/pkgs/applications/gis/grass/default.nix b/pkgs/applications/gis/grass/default.nix index a64e9a18e1ad553eda07deb27268eb0fe4f83441..b7cf84ff95910d0d93e9b67c036397065bf9adf8 100644 --- a/pkgs/applications/gis/grass/default.nix +++ b/pkgs/applications/gis/grass/default.nix @@ -84,7 +84,7 @@ stdenv.mkDerivation { enableParallelBuilding = true; meta = { - homepage = http://grass.osgeo.org/; + homepage = https://grass.osgeo.org/; description = "GIS software suite used for geospatial data management and analysis, image processing, graphics and maps production, spatial modeling, and visualization"; license = stdenv.lib.licenses.gpl2Plus; platforms = stdenv.lib.platforms.all; diff --git a/pkgs/applications/gis/openorienteering-mapper/default.nix b/pkgs/applications/gis/openorienteering-mapper/default.nix index 7b79cd062a8c1514e265c0fadb0cd3a58904348d..a5a0492ab87666ce6b83c003138ad1e476b85c28 100644 --- a/pkgs/applications/gis/openorienteering-mapper/default.nix +++ b/pkgs/applications/gis/openorienteering-mapper/default.nix @@ -4,7 +4,7 @@ stdenv.mkDerivation rec { name = "OpenOrienteering-Mapper-${version}"; - version = "0.8.1.2"; + version = "0.8.4"; buildInputs = [ gdal qtbase qttools qtlocation qtimageformats qtsensors clipper zlib proj doxygen cups]; @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { owner = "OpenOrienteering"; repo = "mapper"; rev = "v${version}"; - sha256 = "0f7zxzl2n46qy86k6n3f6a7l1nhba58i28l8ngp3drf74qffaa33"; + sha256 = "0rw34kp2vd1la97vnk9plwvis6lvyib2bvs7lgkhpnm4p5l7dp1g"; }; cmakeFlags = diff --git a/pkgs/applications/gis/qgis/default.nix b/pkgs/applications/gis/qgis/default.nix index 8f06a659f60cd2c77a3eb3bc4e88456797b63455..0c76a489f13bcd2848fd62515cb9f858431715a7 100644 --- a/pkgs/applications/gis/qgis/default.nix +++ b/pkgs/applications/gis/qgis/default.nix @@ -1,82 +1,27 @@ -{ stdenv, fetchurl, gdal, cmake, qt4, flex, bison, proj, geos, xlibsWrapper, sqlite, gsl -, qwt, fcgi, python2Packages, libspatialindex, libspatialite, qscintilla, postgresql, makeWrapper -, qjson, qca2, txt2tags, openssl, darwin, pkgconfig -, withGrass ? true, grass, IOKit, ApplicationServices +{ stdenv, lib, makeWrapper, symlinkJoin +, qgis-unwrapped, extraPythonPackages ? (ps: [ ]) }: +with lib; +symlinkJoin rec { + inherit (qgis-unwrapped) version; + name = "qgis-${version}"; -stdenv.mkDerivation rec { - name = "qgis-2.18.22"; + paths = [ qgis-unwrapped ]; - buildInputs = [ gdal qt4 flex openssl bison proj geos xlibsWrapper sqlite gsl qwt qscintilla - fcgi libspatialindex libspatialite postgresql qjson qca2 txt2tags pkgconfig ] - ++ - (stdenv.lib.optionals stdenv.isDarwin [IOKit ApplicationServices]) - ++ - (stdenv.lib.optional withGrass grass) ++ - (stdenv.lib.optional (stdenv.isDarwin && withGrass) darwin.apple_sdk.libs.utmp) ++ - (with python2Packages; [ jinja2 numpy psycopg2 pygments requests python2Packages.qscintilla sip ]); + nativeBuildInputs = [ makeWrapper qgis-unwrapped.python3Packages.wrapPython ]; - nativeBuildInputs = [ cmake makeWrapper pkgconfig ]; + # extend to add to the python environment of QGIS without rebuilding QGIS application. + pythonInputs = qgis-unwrapped.pythonBuildInputs ++ (extraPythonPackages qgis-unwrapped.python3Packages); - # `make -f src/providers/wms/CMakeFiles/wmsprovider_a.dir/build.make src/providers/wms/CMakeFiles/wmsprovider_a.dir/qgswmssourceselect.cpp.o`: - # fatal error: ui_qgsdelimitedtextsourceselectbase.h: No such file or directory - enableParallelBuilding = false; + postBuild = '' + # unpackPhase - preConfigure = '' - NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config --cflags libspatialindex)" - ''; + buildPythonPath "$pythonInputs" - # 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:${stdenv.lib.makeLibraryPath [ openssl ]}:$LD_LIBRARY_PATH + wrapProgram $out/bin/qgis \ + --prefix PATH : $program_PATH \ + --set PYTHONPATH $program_PYTHONPATH ''; - src = fetchurl { - url = "https://qgis.org/downloads/${name}.tar.bz2"; - sha256 = "00b3a2hfn3i7bdx7x96vz2nj0976vpkhid4ss7n8c33fdvw3k82a"; - }; - - # CMAKE_FIND_FRAMEWORK=never stops the installer choosing system - # installed frameworks - # QGIS_MACAPP_BUNDLE=0 stops the installer copying the Qt binaries into the - # installation which causes havoc - # Building RelWithDebInfo allows QGIS_DEBUG to print debugging information - cmakeFlags = stdenv.lib.optional withGrass "-DGRASS_PREFIX7=${grass}/${grass.name}" - ++ stdenv.lib.optional stdenv.isDarwin - (["-DCMAKE_FIND_FRAMEWORK=never"] - ++ ["-DQGIS_MACAPP_BUNDLE=0"]); -# ++ ["-DCMAKE_BUILD_TYPE=RelWithDebInfo"]; - - - - postInstall = - (stdenv.lib.optionalString stdenv.isLinux '' - wrapProgram $out/bin/qgis \ - --set PYTHONPATH $PYTHONPATH \ - --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ openssl ]} - '') + - (stdenv.lib.optionalString stdenv.isDarwin '' - # Necessary for QGIS to find the correct default GRASS path - # Plugins look for gdal tools like deminfo on the PATH - ${stdenv.lib.optionalString withGrass "ln -sf ${grass} $out/QGIS.app/Contents/MacOS/grass"} - for file in $(find $out -type f -name "QGIS"); do - wrapProgram "$file" \ - --prefix DYLD_LIBRARY_PATH : "${qwt}/lib" \ - --prefix DYLD_LIBRARY_PATH : "${qscintilla}/lib" \ - --prefix PATH : "${gdal}/bin" \ - ${stdenv.lib.optionalString withGrass "--prefix PATH : ${grass}/bin"} \ - --set PYTHONPATH $PYTHONPATH - done - mkdir -p $out/bin - ln -s $out/QGIS.app/Contents/MacOS/QGIS $out/bin/qgis - ''); - - meta = { - description = "User friendly Open Source Geographic Information System"; - homepage = http://www.qgis.org; - license = stdenv.lib.licenses.gpl2Plus; - platforms = with stdenv.lib.platforms; unix; - maintainers = with stdenv.lib.maintainers; [mpickering]; - }; + meta = qgis-unwrapped.meta; } diff --git a/pkgs/applications/gis/qgis/unwrapped.nix b/pkgs/applications/gis/qgis/unwrapped.nix new file mode 100644 index 0000000000000000000000000000000000000000..7d201cc0e5932e24c93eb80d2c74d539fdc100f0 --- /dev/null +++ b/pkgs/applications/gis/qgis/unwrapped.nix @@ -0,0 +1,54 @@ +{ stdenv, lib, fetchurl, cmake, ninja, flex, bison, proj, geos, xlibsWrapper, sqlite, gsl +, qwt, fcgi, python3Packages, libspatialindex, libspatialite, postgresql +, txt2tags, openssl, libzip, hdf5, netcdf +, qtbase, qtwebkit, qtsensors, qca-qt5, qtkeychain, qscintilla, qtserialport, qtxmlpatterns +, withGrass ? true, grass +}: +with lib; +let + pythonBuildInputs = with python3Packages; + [ qscintilla-qt5 gdal jinja2 numpy psycopg2 + chardet dateutil pyyaml pytz requests urllib3 pygments pyqt5 sip owslib six ]; +in stdenv.mkDerivation rec { + version = "3.4.7"; + name = "qgis-unwrapped-${version}"; + + src = fetchurl { + url = "http://qgis.org/downloads/qgis-${version}.tar.bz2"; + sha256 = "15w2cb5ac0n3g3jbnbk6qyqs7kx3y64zbyvcsw09p0dn9rnw4hdr"; + }; + + passthru = { + inherit pythonBuildInputs; + inherit python3Packages; + }; + + buildInputs = [ openssl proj geos xlibsWrapper sqlite gsl qwt + fcgi libspatialindex libspatialite postgresql txt2tags libzip hdf5 netcdf + qtbase qtwebkit qtsensors qca-qt5 qtkeychain qscintilla qtserialport qtxmlpatterns] ++ + (stdenv.lib.optional withGrass grass) ++ pythonBuildInputs; + + nativeBuildInputs = [ cmake flex bison ninja ]; + + # Force this pyqt_sip_dir variable to point to the sip dir in PyQt5 + # + # TODO: Correct PyQt5 to provide the expected directory and fix + # build to use PYQT5_SIP_DIR consistently. + postPatch = '' + substituteInPlace cmake/FindPyQt5.py \ + --replace 'pyqtcfg.pyqt_sip_dir' '"${python3Packages.pyqt5}/share/sip/PyQt5"' + ''; + + cmakeFlags = [ "-DCMAKE_SKIP_BUILD_RPATH=OFF" + "-DPYQT5_SIP_DIR=${python3Packages.pyqt5}/share/sip/PyQt5" + "-DQSCI_SIP_DIR=${python3Packages.qscintilla-qt5}/share/sip/PyQt5" ] ++ + stdenv.lib.optional withGrass "-DGRASS_PREFIX7=${grass}/${grass.name}"; + + meta = { + description = "A Free and Open Source Geographic Information System"; + homepage = http://www.qgis.org; + license = stdenv.lib.licenses.gpl2Plus; + platforms = with stdenv.lib.platforms; linux; + maintainers = with stdenv.lib.maintainers; [ lsix ]; + }; +} diff --git a/pkgs/applications/gis/saga/clang_patch.patch b/pkgs/applications/gis/saga/clang_patch.patch new file mode 100644 index 0000000000000000000000000000000000000000..e6af8d130514e5d3483a39400336a35b97756b07 --- /dev/null +++ b/pkgs/applications/gis/saga/clang_patch.patch @@ -0,0 +1,19 @@ +commit e92b250968e9656084ab5984689747ca615ff6e7 +Author: Volker Wichmann +Date: Sun Mar 5 13:49:53 2017 +0100 + + saga_api, CSG_Table::Del_Records(): bug fix, check record count correctly + +diff --git a/src/saga_core/saga_api/table.cpp b/src/saga_core/saga_api/table.cpp +index 76a1d8d..fa1a66f 100644 +--- a/src/saga_core/saga_api/table.cpp ++++ b/src/saga_core/saga_api/table.cpp +@@ -901,7 +901,7 @@ bool CSG_Table::Del_Record(int iRecord) + //--------------------------------------------------------- + bool CSG_Table::Del_Records(void) + { +- if( m_Records > 0 ) ++ if( m_nRecords > 0 ) + { + _Index_Destroy(); + diff --git a/pkgs/applications/gis/saga/default.nix b/pkgs/applications/gis/saga/default.nix index a0f2e007555e31523aa09d53f1c04f30aa4b077e..4738bfba14a83d76b85454e23f72a7a0746aed11 100644 --- a/pkgs/applications/gis/saga/default.nix +++ b/pkgs/applications/gis/saga/default.nix @@ -1,23 +1,33 @@ { stdenv, fetchurl, gdal, wxGTK30, proj, libiodbc, lzma, jasper, - libharu, opencv, vigra, postgresql }: + libharu, opencv, vigra, postgresql, Cocoa, + unixODBC , poppler, hdf4, hdf5, netcdf, sqlite, qhull, giflib }: stdenv.mkDerivation rec { name = "saga-6.3.0"; - buildInputs = [ gdal wxGTK30 proj libharu opencv vigra postgresql libiodbc lzma jasper ]; + # See https://groups.google.com/forum/#!topic/nix-devel/h_vSzEJAPXs + # for why the have additional buildInputs on darwin + buildInputs = [ gdal wxGTK30 proj libharu opencv vigra postgresql libiodbc lzma + jasper qhull giflib ] + ++ stdenv.lib.optionals stdenv.isDarwin + [ Cocoa unixODBC poppler hdf4.out hdf5 netcdf sqlite ]; enableParallelBuilding = true; + patches = [ ./finite-6.3.0.patch]; + + CXXFLAGS = stdenv.lib.optionalString stdenv.cc.isClang "-std=c++11 -Wno-narrowing"; + src = fetchurl { url = "mirror://sourceforge/project/saga-gis/SAGA%20-%206/SAGA%20-%206.3.0/saga-6.3.0.tar.gz"; sha256 = "0hyjim8fcp3mna1hig22nnn4ki3j6b7096am2amcs99sdr09jjxv"; }; - meta = { + meta = with stdenv.lib; { description = "System for Automated Geoscientific Analyses"; homepage = http://www.saga-gis.org; - license = stdenv.lib.licenses.gpl2Plus; - maintainers = [ stdenv.lib.maintainers.michelk ]; - platforms = ["x86_64-linux" ]; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ michelk mpickering ]; + platforms = with platforms; unix; }; } diff --git a/pkgs/applications/gis/saga/finite-6.3.0.patch b/pkgs/applications/gis/saga/finite-6.3.0.patch new file mode 100644 index 0000000000000000000000000000000000000000..91c9543edfdadb425df51cd910b21890d0e07cfe --- /dev/null +++ b/pkgs/applications/gis/saga/finite-6.3.0.patch @@ -0,0 +1,55 @@ +diff --git a/src/tools/imagery/imagery_maxent/me.cpp b/src/tools/imagery/imagery_maxent/me.cpp +index c5da854..d3e9cff 100755 +--- a/src/tools/imagery/imagery_maxent/me.cpp ++++ b/src/tools/imagery/imagery_maxent/me.cpp +@@ -21,7 +21,7 @@ + #ifdef _SAGA_MSW + #define isinf(x) (!_finite(x)) + #else +-#define isinf(x) (!finite(x)) ++#define isinf(x) (!isfinite(x)) + #endif + + /** The input array contains a set of log probabilities lp1, lp2, lp3 +@@ -47,7 +47,7 @@ double sumLogProb(vector& logprobs) + /** returns log (e^logprob1 + e^logprob2). */ + double sumLogProb(double logprob1, double logprob2) + { +- if (isinf(logprob1) && isinf(logprob2)) ++ if (isinf(logprob1) && isinf(logprob2)) + return logprob1; // both prob1 and prob2 are 0, return log 0. + if (logprob1>logprob2) + return logprob1+log(1+exp(logprob2-logprob1)); +@@ -70,8 +70,8 @@ void MaxEntModel::print(ostream& ostrm, MaxEntTrainer& trainer) + for (FtMap::iterator it = _index.begin(); it!=_index.end(); it++) { + unsigned long i = it->second; + for (unsigned long c = 0; c<_classes; c++) { +- ostrm << "lambda(" << trainer.className(c) << ", " +- << trainer.getStr(it->first) << ")=" ++ ostrm << "lambda(" << trainer.className(c) << ", " ++ << trainer.getStr(it->first) << ")=" + << _lambda[i+c] << endl; + } + } +@@ -86,7 +86,7 @@ int MaxEntModel::getProbs(MaxEntEvent& event, vector& probs) + double s = 0; + for (unsigned int f = 0; fsecond+c]; + } + probs[c] = s; +@@ -142,10 +142,10 @@ double MaxEntModel::getObsCounts(EventSet& events, vector& obsCounts) + double ftSum = 0; + for (unsigned long j=0; jsecond+c] += count; + else { // new feature, need to expand obsCounts and _lambda +- for (unsigned int k = 0; k<_classes; k++) ++ for (unsigned int k = 0; k<_classes; k++) + obsCounts.push_back(0); + obsCounts[_lambda.size()+c] += count; + addFeature(e[j]); diff --git a/pkgs/applications/gis/saga/finite.patch b/pkgs/applications/gis/saga/finite.patch new file mode 100644 index 0000000000000000000000000000000000000000..7f60743534bd44b11123750f3a10a1cbe5ff85d1 --- /dev/null +++ b/pkgs/applications/gis/saga/finite.patch @@ -0,0 +1,13 @@ +diff --git a/saga-gis/src/modules/imagery/imagery_maxent/me.cpp b/saga-gis/src/modules/imagery/imagery_maxent/me.cpp +index c5da854..d3e9cff 100755 +--- a/src/modules/imagery/imagery_maxent/me.cpp ++++ b/src/modules/imagery/imagery_maxent/me.cpp +@@ -21,7 +21,7 @@ + #ifdef _SAGA_MSW + #define isinf(x) (!_finite(x)) + #else +-#define isinf(x) (!finite(x)) ++#define isinf(x) (!isfinite(x)) + #endif + + /** The input array contains a set of log probabilities lp1, lp2, lp3 diff --git a/pkgs/applications/gis/saga/lts.nix b/pkgs/applications/gis/saga/lts.nix new file mode 100644 index 0000000000000000000000000000000000000000..ca0034aa9708cc5da135cc6bd56da0c99b3f4e54 --- /dev/null +++ b/pkgs/applications/gis/saga/lts.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchgit, gdal, wxGTK30, proj, libiodbc, lzma, jasper, + libharu, opencv, vigra, postgresql, autoreconfHook, Cocoa + , unixODBC , poppler, hdf4, hdf5, netcdf, sqlite, qhull, giflib }: + +stdenv.mkDerivation rec { + name = "saga-2.3.2"; + + # See https://groups.google.com/forum/#!topic/nix-devel/h_vSzEJAPXs + # for why the have additional buildInputs on darwin + buildInputs = [ autoreconfHook gdal wxGTK30 proj libharu opencv vigra + postgresql libiodbc lzma jasper + unixODBC poppler hdf4.out hdf5 netcdf sqlite qhull giflib ] + ++ stdenv.lib.optional stdenv.isDarwin Cocoa ; + + enableParallelBuilding = true; + + CXXFLAGS = stdenv.lib.optionalString stdenv.cc.isClang "-std=c++11 -Wno-narrowing"; + + sourceRoot = "code-b6f474f/saga-gis"; + + patches = [ ./clang_patch.patch ./finite.patch]; + + src = fetchgit { + url = "https://git.code.sf.net/p/saga-gis/code.git"; + rev = "b6f474f8af4af7f0ff82548cc6f88c53547d91f5"; + sha256 = "0iakynai8mhcwj6wxvafkqhd7b417ss7hyhbcp9wf6092l6vc2zd"; + }; + + meta = with stdenv.lib; { + description = "System for Automated Geoscientific Analyses"; + homepage = http://www.saga-gis.org; + license = licenses.gpl2Plus; + maintainers = [ maintainers.mpickering ]; + platforms = with platforms; unix; + }; +} diff --git a/pkgs/applications/graphics/ImageMagick/7.0.nix b/pkgs/applications/graphics/ImageMagick/7.0.nix index 86aafa9697df825b3bbfd9be30b6a4adda934093..746bddd5416df21ac6c6306ec6c9bec9ddac03e1 100644 --- a/pkgs/applications/graphics/ImageMagick/7.0.nix +++ b/pkgs/applications/graphics/ImageMagick/7.0.nix @@ -1,21 +1,20 @@ { lib, stdenv, fetchFromGitHub, pkgconfig, libtool -, bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg +, bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg, djvulibre , lcms2, openexr, libpng, librsvg, libtiff, libxml2, openjpeg, libwebp, libheif , ApplicationServices -, hostPlatform }: 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 if stdenv.system == "aarch64-linux" then "aarch64" + if stdenv.hostPlatform.system == "i686-linux" then "i686" + else if stdenv.hostPlatform.system == "x86_64-linux" || stdenv.hostPlatform.system == "x86_64-darwin" then "x86-64" + else if stdenv.hostPlatform.system == "armv7l-linux" then "armv7l" + else if stdenv.hostPlatform.system == "aarch64-linux" then "aarch64" else throw "ImageMagick is not supported on this platform."; cfg = { - version = "7.0.8-6"; - sha256 = "1v7m1g9a7fqc8nravvv3dy54nzd3ip75hcnkdrpb5wbiz9pqgzi3"; + version = "7.0.8-34"; + sha256 = "0szkzwy0jzmwx4kqli21jq8pk3s53v37q0nsaqzascs3mpkbza2s"; patches = []; }; in @@ -46,7 +45,7 @@ stdenv.mkDerivation rec { [ "--with-gs-font-dir=${ghostscript}/share/ghostscript/fonts" "--with-gslib" ] - ++ lib.optionals hostPlatform.isMinGW + ++ lib.optionals stdenv.hostPlatform.isMinGW [ "--enable-static" "--disable-shared" ] # due to libxml2 being without DLLs ATM ; @@ -54,15 +53,15 @@ stdenv.mkDerivation rec { buildInputs = [ zlib fontconfig freetype ghostscript - libpng libtiff libxml2 libheif + libpng libtiff libxml2 libheif djvulibre ] - ++ lib.optionals (!hostPlatform.isMinGW) + ++ lib.optionals (!stdenv.hostPlatform.isMinGW) [ openexr librsvg openjpeg ] ++ lib.optional stdenv.isDarwin ApplicationServices; propagatedBuildInputs = [ bzip2 freetype libjpeg lcms2 ] - ++ lib.optionals (!hostPlatform.isMinGW) + ++ lib.optionals (!stdenv.hostPlatform.isMinGW) [ libX11 libXext libXt libwebp ] ; @@ -84,6 +83,7 @@ stdenv.mkDerivation rec { 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 ]; + license = licenses.asl20; + maintainers = with maintainers; [ the-kenny ]; }; } diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix index 94a4aeaa9337e7b6a419b5e19c6d0df65093bb33..b3a1b64cae960f77ae3769fd91fa5ac71cc512f3 100644 --- a/pkgs/applications/graphics/ImageMagick/default.nix +++ b/pkgs/applications/graphics/ImageMagick/default.nix @@ -1,16 +1,15 @@ { lib, stdenv, fetchFromGitHub, fetchpatch, pkgconfig, libtool -, bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg +, bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg, djvulibre , lcms2, openexr, libpng, librsvg, libtiff, libxml2, openjpeg, libwebp, fftw, libheif, libde265 , ApplicationServices -, hostPlatform }: 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 if stdenv.system == "aarch64-linux" then "aarch64" + if stdenv.hostPlatform.system == "i686-linux" then "i686" + else if stdenv.hostPlatform.system == "x86_64-linux" || stdenv.hostPlatform.system == "x86_64-darwin" then "x86-64" + else if stdenv.hostPlatform.system == "armv7l-linux" then "armv7l" + else if stdenv.hostPlatform.system == "aarch64-linux" then "aarch64" else throw "ImageMagick is not supported on this platform."; cfg = { @@ -20,7 +19,7 @@ let } # Freeze version on mingw so we don't need to port the patch too often. # FIXME: This version has multiple security vulnerabilities - // lib.optionalAttrs (hostPlatform.isMinGW) { + // lib.optionalAttrs (stdenv.hostPlatform.isMinGW) { version = "6.9.2-0"; sha256 = "17ir8bw1j7g7srqmsz3rx780sgnc21zfn0kwyj78iazrywldx8h7"; patches = [(fetchpatch { @@ -58,7 +57,7 @@ stdenv.mkDerivation rec { [ "--with-gs-font-dir=${ghostscript}/share/ghostscript/fonts" "--with-gslib" ] - ++ lib.optionals (hostPlatform.isMinGW) + ++ lib.optionals (stdenv.hostPlatform.isMinGW) [ "--enable-static" "--disable-shared" ] # due to libxml2 being without DLLs ATM ; @@ -66,15 +65,15 @@ stdenv.mkDerivation rec { buildInputs = [ zlib fontconfig freetype ghostscript - libpng libtiff libxml2 libheif libde265 + libpng libtiff libxml2 libheif libde265 djvulibre ] - ++ lib.optionals (!hostPlatform.isMinGW) + ++ lib.optionals (!stdenv.hostPlatform.isMinGW) [ openexr librsvg openjpeg ] ++ lib.optional stdenv.isDarwin ApplicationServices; propagatedBuildInputs = [ bzip2 freetype libjpeg lcms2 fftw ] - ++ lib.optionals (!hostPlatform.isMinGW) + ++ lib.optionals (!stdenv.hostPlatform.isMinGW) [ libX11 libXext libXt libwebp ] ; @@ -100,7 +99,7 @@ stdenv.mkDerivation rec { 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 ]; + maintainers = with maintainers; [ the-kenny ]; license = licenses.asl20; }; } diff --git a/pkgs/applications/graphics/PythonMagick/default.nix b/pkgs/applications/graphics/PythonMagick/default.nix index f0b4a991f74ae42a60607fa241ea75db724970b3..938df76e25725c9ce179c1502e9c49d4126d9ddf 100644 --- a/pkgs/applications/graphics/PythonMagick/default.nix +++ b/pkgs/applications/graphics/PythonMagick/default.nix @@ -1,6 +1,6 @@ # This expression provides Python bindings to ImageMagick. Python libraries are supposed to be called via `python-packages.nix`. -{stdenv, fetchurl, python, boost, pkgconfig, imagemagick}: +{ stdenv, fetchurl, python, pkgconfig, imagemagick, autoreconfHook }: stdenv.mkDerivation rec { name = "pythonmagick-${version}"; @@ -11,10 +11,18 @@ stdenv.mkDerivation rec { sha256 = "137278mfb5079lns2mmw73x8dhpzgwha53dyl00mmhj2z25varpn"; }; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [python boost imagemagick]; + postPatch = '' + rm configure + ''; - meta = { + configureFlags = [ "--with-boost=${python.pkgs.boost}" ]; + + nativeBuildInputs = [ pkgconfig autoreconfHook ]; + buildInputs = [ python python.pkgs.boost imagemagick ]; + + meta = with stdenv.lib; { homepage = http://www.imagemagick.org/script/api.php; + license = licenses.imagemagick; + description = "PythonMagick provides object oriented bindings for the ImageMagick Library."; }; } diff --git a/pkgs/applications/graphics/ahoviewer/default.nix b/pkgs/applications/graphics/ahoviewer/default.nix index 5326458038087b3101d0afcb9934c10c99f38e6e..5210af4df7ad5a161111bbd66c48d503914a4911 100644 --- a/pkgs/applications/graphics/ahoviewer/default.nix +++ b/pkgs/applications/graphics/ahoviewer/default.nix @@ -1,20 +1,20 @@ -{ stdenv, fetchFromGitHub, pkgconfig, libconfig, - gtkmm2, glibmm, libxml2, libsecret, curl, libzip, - librsvg, gst_all_1, autoreconfHook, makeWrapper, - useUnrar ? false, unrar +{ config, stdenv, fetchFromGitHub, pkgconfig, libconfig +, gtkmm2, glibmm, libxml2, libsecret, curl, libzip +, librsvg, gst_all_1, autoreconfHook, makeWrapper +, useUnrar ? config.ahoviewer.useUnrar or false, unrar }: assert useUnrar -> unrar != null; stdenv.mkDerivation rec { name = "ahoviewer-${version}"; - version = "1.5.0"; + version = "1.6.5"; src = fetchFromGitHub { owner = "ahodesuka"; repo = "ahoviewer"; rev = version; - sha256 = "1adzxp30fwh41y339ha8i5qp89zf21dw18vcicqqnzvyxbk5r3ig"; + sha256 = "1avdl4qcpznvf3s2id5qi1vnzy4wgh6vxpnrz777a1s4iydxpcd8"; }; enableParallelBuilding = true; @@ -29,10 +29,9 @@ stdenv.mkDerivation rec { gst_all_1.gst-plugins-base ] ++ stdenv.lib.optional useUnrar unrar; - # https://github.com/ahodesuka/ahoviewer/issues/60 - # Already fixed in the master branch - # TODO: remove this next release - makeFlags = [ ''LIBS=-lssl -lcrypto'' ]; + NIX_LDFLAGS = [ + "-lpthread" + ]; postPatch = ''patchShebangs version.sh''; diff --git a/pkgs/applications/graphics/alchemy/default.nix b/pkgs/applications/graphics/alchemy/default.nix index 848f132060fe03774dfda093a7f9fca226eb5887..09664889f35bc0418685855547fe4b3c15a4d53d 100644 --- a/pkgs/applications/graphics/alchemy/default.nix +++ b/pkgs/applications/graphics/alchemy/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, jre}: +{ stdenv, fetchurl, jre, runtimeShell }: stdenv.mkDerivation rec { name = "alchemy-${version}"; @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { mkdir -p $out/bin $out/share cp -a . $out/share/alchemy cat >> $out/bin/alchemy << EOF - #!/bin/sh + #!${runtimeShell} cd $out/share/alchemy ${jre}/bin/java -jar Alchemy.jar "$@" EOF diff --git a/pkgs/applications/graphics/antimony/default.nix b/pkgs/applications/graphics/antimony/default.nix index 334a5a33dadf8382802b3a66ad66c8406e974f7b..0257a109568e645df36baf36f4a8f2b8be6cdd3e 100644 --- a/pkgs/applications/graphics/antimony/default.nix +++ b/pkgs/applications/graphics/antimony/default.nix @@ -1,29 +1,34 @@ -{ stdenv, fetchFromGitHub, libpng, python3, boost, libGLU_combined, qtbase, ncurses, cmake, flex, lemon }: +{ stdenv, fetchFromGitHub, libpng, python3 +, libGLU_combined, qtbase, ncurses +, cmake, flex, lemon +}: let - gitRev = "020910c25614a3752383511ede5a1f5551a8bd39"; - gitBranch = "master"; + gitRev = "c0038e3ea82fec6119de364bcbc3370955ed46a2"; + gitBranch = "develop"; gitTag = "0.9.3"; in stdenv.mkDerivation rec { name = "antimony-${version}"; - version = gitTag; + version = "2018-10-20"; src = fetchFromGitHub { - owner = "mkeeter"; - repo = "antimony"; - rev = gitTag; - sha256 = "1vm5h5py8l3b8h4pbmm8s3wlxvlw492xfwnlwx0nvl0cjs8ba6r4"; + owner = "mkeeter"; + repo = "antimony"; + rev = gitRev; + sha256 = "01cjcjppbb0gvh6npcsaidzpfcfzrqhhi07z4v0jkfyi0fl125v4"; }; patches = [ ./paths-fix.patch ]; postPatch = '' - sed -i "s,/usr/local,$out,g" app/CMakeLists.txt app/app/app.cpp app/app/main.cpp + sed -i "s,/usr/local,$out,g" \ + app/CMakeLists.txt app/app/app.cpp app/app/main.cpp + sed -i "s,python3,${python3.executable}," CMakeLists.txt ''; buildInputs = [ - libpng python3 (boost.override { python = python3; }) + libpng python3 python3.pkgs.boost libGLU_combined qtbase ncurses ]; @@ -41,6 +46,7 @@ in description = "A computer-aided design (CAD) tool from a parallel universe"; homepage = "https://github.com/mkeeter/antimony"; license = licenses.mit; + maintainers = with maintainers; [ rnhmjoj ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/graphics/ao/default.nix b/pkgs/applications/graphics/ao/default.nix deleted file mode 100644 index f51777bdbf7343ed3d13e775ea7881be4bed9867..0000000000000000000000000000000000000000 --- a/pkgs/applications/graphics/ao/default.nix +++ /dev/null @@ -1,41 +0,0 @@ -{stdenv, fetchgit, cmake, ninja, boost, libpng, glfw3, epoxy, guile, pkgconfig -, libGLU_combined, libX11, libpthreadstubs, libXau, libXdmcp, libXrandr, libXext -, libXinerama, libXxf86vm, libXcursor, libXfixes -}: -stdenv.mkDerivation rec { - version = "0.0pre20160820"; - name = "ao-${version}"; - - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ - cmake ninja boost libpng glfw3 epoxy guile libGLU_combined libX11 - libpthreadstubs libXau libXdmcp libXrandr libXext libXinerama libXxf86vm - libXcursor libXfixes - ]; - - src = fetchgit { - url = https://github.com/mkeeter/ao; - rev = "69fadb81543cc9031e4a7ec2036c7f2ab505a620"; - sha256 = "1717k72vr0i5j7bvxmd6q16fpvkljnqfa1hr3i4yq8cjdsj69my7"; - }; - - cmakeFlags = "-G Ninja"; - installPhase = '' - ninja install - cd .. - cp lib/lib* bind/lib* "$out/lib" - cp -r bin "$out/bin" - mkdir "$out/doc" - cp -r doc "$out/doc/ao" - cp -r examples "$out/doc/ao/examples" - cp -r bind "$out/bind" - ''; - meta = { - inherit version; - description = ''Homoiconic CAD package''; - license = stdenv.lib.licenses.gpl2Plus ; # Some parts can be extracted and used under LGPL2+ - maintainers = [stdenv.lib.maintainers.raskin]; - platforms = stdenv.lib.platforms.linux; - broken = true; # 2018-04-10 - }; -} diff --git a/pkgs/applications/graphics/apitrace/default.nix b/pkgs/applications/graphics/apitrace/default.nix index 459e07f9838b3c4344c183a5bb2c0f6caa38251f..c98c323fc79cc2908bc9bc3bd347f0079b047ca0 100644 --- a/pkgs/applications/graphics/apitrace/default.nix +++ b/pkgs/applications/graphics/apitrace/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "apitrace-${version}"; - version = "7.1-363-ge3509be1"; + version = "7.1-572-g${builtins.substring 0 8 src.rev}"; src = fetchFromGitHub { - sha256 = "1xbz6gwl7kqjm7jjy5gxkdxzrg93vj1a3l19ara7rni6dii0q136"; - rev = "e3509be175eda77749abffe051ed0d3eb5d14e72"; + sha256 = "11bwb0l8cr1bf9bj1s6cbmi77d5fy4qrphj9cgmcd8jpa862anp5"; + rev = "26966134f15d28f6b4a9a0a560017b3ba36d60bf"; repo = "apitrace"; owner = "apitrace"; }; diff --git a/pkgs/applications/graphics/astah-community/default.nix b/pkgs/applications/graphics/astah-community/default.nix deleted file mode 100644 index 72d367d8fea212f3017379c89b2dd028efbe6092..0000000000000000000000000000000000000000 --- a/pkgs/applications/graphics/astah-community/default.nix +++ /dev/null @@ -1,63 +0,0 @@ -{ stdenv, fetchurl, makeWrapper, makeDesktopItem, unzip, jre }: - -let - - name = "astah-community"; - version = "7.2.0"; - postfix = "1ff236"; - desktopIcon = fetchurl { - name = "${name}.png"; - url = "https://aur.archlinux.org/cgit/aur.git/plain/astah_community.png?h=astah-community&id=94710b5a6aadcaf489022b0f0e61f8832ae6fa87"; - sha256 = "0knlknwfqqnhg63sxxpia5ykn397id31gzr956wnn6yjj58k3ckm"; - }; - mimeXml = fetchurl { - name = "${name}.xml"; - url = "https://aur.archlinux.org/cgit/aur.git/plain/astah_community.xml?h=astah-community&id=94710b5a6aadcaf489022b0f0e61f8832ae6fa87"; - sha256 = "096n2r14ddm97r32i4sbp7v4qdmwn9sxy7lwphcx1nydppb0m97b"; - }; - desktopItem = makeDesktopItem { - name = name; - exec = "astah %U"; - icon = "${desktopIcon}"; - comment = "Lightweight, easy-to-use, and free UML2.x modeler"; - desktopName = "Astah* Community"; - genericName = "Astah* Community"; - mimeType = "application/x-astah"; - categories = "Application;Development;"; - extraEntries = "NoDisplay=false"; - }; - -in - -stdenv.mkDerivation { - name = "${name}-${version}"; - - src = fetchurl { - url = "http://cdn.change-vision.com/files/${name}-${stdenv.lib.replaceStrings ["."] ["_"] version}-${postfix}.zip"; - sha256 = "1lkl30jdjiarvh2ap9rjabvrq9qhrlmfrasv3vvkag22y9w4l499"; - }; - - nativeBuildInputs = [ unzip makeWrapper ]; - - installPhase = '' - runHook preInstall - - mkdir -p $out/{bin,share} - cp -r . $out/share/astah - cp -r ${desktopItem}/share/applications $out/share/applications - - install -D ${desktopIcon} $out/share/pixmaps/${name}.png - install -D ${mimeXml} $out/share/mime/packages/${name}.xml - - makeWrapper ${jre}/bin/java $out/bin/astah \ - --add-flags "-jar $out/share/astah/astah-community.jar" - - runHook postInstall - ''; - - meta = with stdenv.lib; { - description = "Lightweight, easy-to-use, and free UML2.x modeler"; - homepage = http://astah.net/editions/community; - license = licenses.unfree; - }; -} diff --git a/pkgs/applications/graphics/autopanosiftc/default.nix b/pkgs/applications/graphics/autopanosiftc/default.nix index 5fd1810bc284ce1a4051808fde0d25f5acdafa65..c64604975ab0188eb82cf3d03457bfe4abbf5d63 100644 --- a/pkgs/applications/graphics/autopanosiftc/default.nix +++ b/pkgs/applications/graphics/autopanosiftc/default.nix @@ -10,6 +10,13 @@ stdenv.mkDerivation { buildInputs = [ cmake libpng libtiff libjpeg panotools libxml2 ]; + patches = [ + (fetchurl { + url = https://gitweb.gentoo.org/repo/gentoo.git/plain/media-gfx/autopano-sift-C/files/autopano-sift-C-2.5.1-lm.patch; + sha256 = "1bfcr5sps0ip9gl4jprji5jgf9wkczz6d2clsjjlbsy8r3ixi3lv"; + }) + ]; + meta = { homepage = http://hugin.sourceforge.net/; description = "Implementation in C of the autopano-sift algorithm for automatically stitching panoramas"; diff --git a/pkgs/applications/graphics/autotrace/default.nix b/pkgs/applications/graphics/autotrace/default.nix index 7af7c8986f2fdbaeeca1197ebc7f2df57e7a1e42..cc08dce906c3aa838b62011a72b8d5dd7b7f43b4 100644 --- a/pkgs/applications/graphics/autotrace/default.nix +++ b/pkgs/applications/graphics/autotrace/default.nix @@ -1,5 +1,6 @@ -{ stdenv, fetchurl, callPackage, libpng12, imagemagick, - autoreconfHook, glib, pstoedit, pkgconfig, gettext, gd, darwin }: +{ stdenv, fetchurl, callPackage, libpng12, imagemagick +, autoreconfHook, glib, pstoedit, pkgconfig, gettext, gd, darwin +, runtimeShell }: # TODO: Figure out why the resultant binary is somehow linked against # libpng16.so.16 rather than libpng12. @@ -51,7 +52,7 @@ stdenv.mkDerivation rec { # pstoedit-config no longer exists, it was replaced with pkg-config mkdir wrappers cat >wrappers/pstoedit-config <<'EOF' - #!${stdenv.shell} + #!${runtimeShell} # replace --version with --modversion for pkg-config args=''${@/--version/--modversion} exec pkg-config pstoedit "''${args[@]}" diff --git a/pkgs/applications/graphics/avocode/default.nix b/pkgs/applications/graphics/avocode/default.nix index e0aea87c90c335383752ad400a8b800dec6be9e1..a413b7227326c8f4d0f515997deb1f52c4a31ca0 100644 --- a/pkgs/applications/graphics/avocode/default.nix +++ b/pkgs/applications/graphics/avocode/default.nix @@ -1,23 +1,24 @@ { stdenv, makeDesktopItem, fetchurl, unzip -, gdk_pixbuf, glib, gtk2, atk, pango, cairo, freetype, fontconfig, dbus, nss, nspr, alsaLib, cups, expat, udev, gnome2 -, xorg, mozjpeg +, gdk_pixbuf, glib, gtk3, atk, at-spi2-atk, pango, cairo, freetype, fontconfig, dbus, nss, nspr, alsaLib, cups, expat, udev, gnome3 +, xorg, mozjpeg, makeWrapper, wrapGAppsHook, hicolor-icon-theme, libuuid }: stdenv.mkDerivation rec { name = "avocode-${version}"; - version = "3.4.0"; + version = "3.7.2"; src = fetchurl { url = "https://media.avocode.com/download/avocode-app/${version}/avocode-${version}-linux.zip"; - sha256 = "1dk4vgam9r5nl8dvpfwrn52gq6r4zxs4zz63p3c4gk73d8qnh4dl"; + sha256 = "0qwghs9q91ifywvrn8jgnnqzfrbbsi4lf92ikxq0dmdv734pdw0c"; }; - libPath = stdenv.lib.makeLibraryPath (with xorg; with gnome2; [ + libPath = stdenv.lib.makeLibraryPath (with xorg; [ stdenv.cc.cc.lib gdk_pixbuf glib - gtk2 + gtk3 atk + at-spi2-atk pango cairo freetype @@ -29,7 +30,6 @@ stdenv.mkDerivation rec { cups expat udev - GConf libX11 libxcb libXi @@ -42,6 +42,7 @@ stdenv.mkDerivation rec { libXrender libXtst libXScrnSaver + libuuid ]); desktopItem = makeDesktopItem { @@ -54,7 +55,8 @@ stdenv.mkDerivation rec { comment = "The bridge between designers and developers"; }; - buildInputs = [ unzip ]; + nativeBuildInputs = [makeWrapper wrapGAppsHook]; + buildInputs = [ unzip gtk3 gnome3.adwaita-icon-theme hicolor-icon-theme ]; # src is producing multiple folder on unzip so we must # override unpackCmd to extract it into newly created folder @@ -83,7 +85,7 @@ stdenv.mkDerivation rec { postFixup = '' patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/avocode for file in $(find $out -type f \( -perm /0111 -o -name \*.so\* \) ); do - patchelf --set-rpath ${libPath}:$out/ $file + patchelf --set-rpath ${libPath}:$out/ $file || true done ''; diff --git a/pkgs/applications/graphics/batik/default.nix b/pkgs/applications/graphics/batik/default.nix index a27590ccd4da257a814d521708c2d35af7d612b0..51156dea4a17f5972f8a75d77fa5383e1f7eb9a5 100644 --- a/pkgs/applications/graphics/batik/default.nix +++ b/pkgs/applications/graphics/batik/default.nix @@ -10,7 +10,16 @@ stdenv.mkDerivation { buildInputs = [unzip]; - meta = { - platforms = stdenv.lib.platforms.unix; + meta = with stdenv.lib; { + description = "Java based toolkit for handling SVG"; + homepage = https://xmlgraphics.apache.org/batik; + license = licenses.asl20; + platforms = platforms.unix; + knownVulnerabilities = [ + # vulnerabilities as of 16th October 2018 from https://xmlgraphics.apache.org/security.html: + "CVE-2018-8013" + "CVE-2017-5662" + "CVE-2015-0250" + ]; }; } diff --git a/pkgs/applications/graphics/cinepaint/default.nix b/pkgs/applications/graphics/cinepaint/default.nix index d46128c62c026f97cf6f453bea3b646542baaa56..57cf6c3f13f49aa656e6e0c5cadc4c1ef2fd7a32 100644 --- a/pkgs/applications/graphics/cinepaint/default.nix +++ b/pkgs/applications/graphics/cinepaint/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, cmake, pkgconfig, gtk2, freetype, fontconfig, lcms, - flex, libtiff, libjpeg, libpng, libexif, zlib, perl, libX11, - perlXMLParser, pythonPackages, gettext, intltool, babl, gegl, - glib, makedepend, xf86vidmodeproto, xineramaproto, libXmu, openexr, + flex, libtiff, libjpeg, libpng, libexif, zlib, perlPackages, libX11, + pythonPackages, gettext, intltool, babl, gegl, + glib, makedepend, xorgproto, libXmu, openexr, libGLU_combined, libXext, libXpm, libXau, libXxf86vm, pixman, libpthreadstubs, fltk } : let @@ -15,10 +15,10 @@ in stdenv.mkDerivation rec { }; 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 libGLU_combined + libexif zlib libX11 python pygtk gettext intltool babl + gegl glib makedepend xorgproto libXmu openexr libGLU_combined libXext libXpm libXau libXxf86vm pixman libpthreadstubs fltk - ]; + ] ++ (with perlPackages; [ perl XMLParser ]); hardeningDisable = [ "format" ]; @@ -26,7 +26,7 @@ in stdenv.mkDerivation rec { nativeBuildInputs = [ cmake pkgconfig ]; - NIX_LDFLAGS = "-llcms -ljpeg -lX11"; + NIX_LDFLAGS = "-lm -llcms -ljpeg -lpng -lX11"; meta = { homepage = http://www.cinepaint.org/; diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix index 51a401d4b8c86d6ad1222b130f0d1826537ef9cd..e16ef45fe1ebcdef18747f7c83ac85d5d458e76d 100644 --- a/pkgs/applications/graphics/darktable/default.nix +++ b/pkgs/applications/graphics/darktable/default.nix @@ -3,16 +3,16 @@ , ilmbase, gtk3, intltool, lcms2, lensfun, libX11, libexif, libgphoto2, libjpeg , libpng, librsvg, libtiff, openexr, osm-gps-map, pkgconfig, sqlite, libxslt , openjpeg, lua, pugixml, colord, colord-gtk, libwebp, libsecret, gnome3 -, ocl-icd, pcre, gtk-mac-integration +, ocl-icd, pcre, gtk-mac-integration, isocodes }: stdenv.mkDerivation rec { - version = "2.4.4"; + version = "2.6.2"; name = "darktable-${version}"; src = fetchurl { url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz"; - sha256 = "0kdhmiw4wxk2w9v2hms9yk8nl4ymdshnqyj0l07nivzzr6w20hwn"; + sha256 = "0igvgyd042j7hm4y8fcm6dc1qqjs4d1r7y6f0pzpa0x416xyzfcw"; }; nativeBuildInputs = [ cmake ninja llvm pkgconfig intltool perl desktop-file-utils wrapGAppsHook ]; @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { cairo curl exiv2 glib gtk3 ilmbase lcms2 lensfun libexif libgphoto2 libjpeg libpng librsvg libtiff openexr sqlite libxslt libsoup graphicsmagick json-glib openjpeg lua pugixml - libwebp libsecret gnome3.adwaita-icon-theme osm-gps-map pcre + libwebp libsecret gnome3.adwaita-icon-theme osm-gps-map pcre isocodes ] ++ stdenv.lib.optionals stdenv.isLinux [ colord colord-gtk libX11 ocl-icd ] ++ stdenv.lib.optional stdenv.isDarwin gtk-mac-integration; diff --git a/pkgs/applications/graphics/deskew/default.nix b/pkgs/applications/graphics/deskew/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..71e2d82ea7cac2b88ef088c1bf3f1fc94618ddd3 --- /dev/null +++ b/pkgs/applications/graphics/deskew/default.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchFromBitbucket, libtiff, fpc }: + +stdenv.mkDerivation rec { + + name = "deskew-${version}"; + version = "1.25"; + + src = fetchFromBitbucket { + owner = "galfar"; + repo = "app-deskew"; + rev = "v${version}"; + sha256 = "0zjjj66qhgqkmfxl3q7p78dv4xl4ci918pgl4d5259pqdj1bfgc8"; + }; + + nativeBuildInputs = [ fpc ]; + buildInputs = [ libtiff ]; + + buildPhase = '' + rm -r Bin # Remove pre-compiled binary + mkdir Bin + chmod +x compile.sh + ./compile.sh + ''; + + installPhase = '' + install -Dt $out/bin Bin/* + ''; + + meta = with stdenv.lib; { + description = "A command line tool for deskewing scanned text documents"; + homepage = https://bitbucket.org/galfar/app-deskew/overview; + license = licenses.mit; + maintainers = with maintainers; [ryantm]; + platforms = platforms.all; + }; + +} diff --git a/pkgs/applications/graphics/dia/default.nix b/pkgs/applications/graphics/dia/default.nix index 4780c823697a8887aeefb6661f54e2582c4c47b7..0ce160242e56b50f8a6cef58f8a0f31ea9b1b9eb 100644 --- a/pkgs/applications/graphics/dia/default.nix +++ b/pkgs/applications/graphics/dia/default.nix @@ -1,7 +1,7 @@ -{ stdenv, fetchgit, autoconf, automake, libtool, gtk2, pkgconfig, perl, -perlXMLParser, libxml2, gettext, python, libxml2Python, docbook5, docbook_xsl, +{ stdenv, fetchgit, autoconf, automake, libtool, gtk2, pkgconfig, perlPackages, +libxml2, gettext, python, libxml2Python, docbook5, docbook_xsl, libxslt, intltool, libart_lgpl, withGNOME ? false, libgnomeui, hicolor-icon-theme, -gtk-mac-integration }: +gtk-mac-integration-gtk2 }: stdenv.mkDerivation rec { name = "dia-${version}"; @@ -14,12 +14,13 @@ stdenv.mkDerivation rec { }; buildInputs = - [ gtk2 perlXMLParser libxml2 gettext python libxml2Python docbook5 + [ gtk2 libxml2 gettext python libxml2Python docbook5 libxslt docbook_xsl libart_lgpl hicolor-icon-theme ] ++ stdenv.lib.optional withGNOME libgnomeui - ++ stdenv.lib.optional stdenv.isDarwin gtk-mac-integration; + ++ stdenv.lib.optional stdenv.isDarwin gtk-mac-integration-gtk2; - nativeBuildInputs = [ autoconf automake libtool pkgconfig intltool perl ]; + nativeBuildInputs = [ autoconf automake libtool pkgconfig intltool ] + ++ (with perlPackages; [ perl XMLParser ]); preConfigure = '' NOCONFIGURE=1 ./autogen.sh # autoreconfHook is not enough @@ -28,10 +29,11 @@ stdenv.mkDerivation rec { hardeningDisable = [ "format" ]; - meta = { + meta = with stdenv.lib; { description = "Gnome Diagram drawing software"; homepage = http://live.gnome.org/Dia; - maintainers = with stdenv.lib.maintainers; [raskin]; - platforms = stdenv.lib.platforms.unix; + maintainers = with maintainers; [ raskin ]; + license = licenses.gpl2; + platforms = platforms.unix; }; } diff --git a/pkgs/applications/graphics/digikam/default.nix b/pkgs/applications/graphics/digikam/default.nix index a31bbe8caeb6f780691a5e63164b8b213cd0eac8..cc2b955fcc21e4fb9200b66cb5e2b9e5c911fd8b 100644 --- a/pkgs/applications/graphics/digikam/default.nix +++ b/pkgs/applications/graphics/digikam/default.nix @@ -6,7 +6,7 @@ , qtbase , qtxmlpatterns , qtsvg -, qtwebkit +, qtwebengine , kcalcore , kconfigwidgets @@ -23,6 +23,7 @@ , boost , eigen , exiv2 +, ffmpeg , flex , jasper , lcms2 @@ -34,7 +35,8 @@ , libqtav , libusb1 , marble -, libGLU_combined +, libGL +, libGLU , opencv3 , pcre , threadweaver @@ -49,13 +51,13 @@ mkDerivation rec { name = "digikam-${version}"; - version = "5.9.0"; + version = "6.0.0"; src = fetchFromGitHub { owner = "KDE"; repo = "digikam"; rev = "v${version}"; - sha256 = "09diw273h9i7rss89ba82yrfy6jb2njv3k0dknrrg7bb998vrw2d"; + sha256 = "1ifvrn0bm7fp07d059rl4dy146qzdxafl36ipxg1fg00dkv95hh4"; }; nativeBuildInputs = [ cmake doxygen extra-cmake-modules kdoctools wrapGAppsHook ]; @@ -65,6 +67,7 @@ mkDerivation rec { boost eigen exiv2 + ffmpeg flex jasper lcms2 @@ -75,14 +78,15 @@ mkDerivation rec { liblqr1 libqtav libusb1 - libGLU_combined + libGL + libGLU opencv3 pcre qtbase qtxmlpatterns qtsvg - qtwebkit + qtwebengine kcalcore kconfigwidgets @@ -103,6 +107,7 @@ mkDerivation rec { "-DENABLE_MYSQLSUPPORT=1" "-DENABLE_INTERNALMYSQL=1" "-DENABLE_MEDIAPLAYER=1" + "-DENABLE_QWEBENGINE=on" ]; preFixup = '' diff --git a/pkgs/applications/graphics/djview/default.nix b/pkgs/applications/graphics/djview/default.nix index 2b0dde210c580f3eb2bbc3515203e2872cb3eea2..d90fb41c03ba1ab0039b270f379fd01095b563fb 100644 --- a/pkgs/applications/graphics/djview/default.nix +++ b/pkgs/applications/graphics/djview/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.AGL ]; passthru = { - mozillaPlugin = "/lib/netscape/plugins"; + mozillaPlugin = "/lib/mozilla/plugins"; }; meta = with stdenv.lib; { diff --git a/pkgs/applications/graphics/dosage/default.nix b/pkgs/applications/graphics/dosage/default.nix index d45d6c3a62e391fbee9634d53af8ded65bf0590b..cf5ecfdd043f629e7eebf1a8ef90f3ae58644d8c 100644 --- a/pkgs/applications/graphics/dosage/default.nix +++ b/pkgs/applications/graphics/dosage/default.nix @@ -11,7 +11,7 @@ pythonPackages.buildPythonApplication rec { rev = "b2fdc13feb65b93762928f7e99bac7b1b7b31591"; sha256 = "1p6vllqaf9s6crj47xqp97hkglch1kd4y8y4lxvzx3g2shhhk9hh"; }; - buildInputs = with pythonPackages; [ pytest responses ]; + checkInputs = with pythonPackages; [ pytest responses ]; propagatedBuildInputs = with pythonPackages; [ colorama lxml requests pbr ]; disabled = pythonPackages.pythonOlder "3.3"; diff --git a/pkgs/applications/graphics/drawpile/default.nix b/pkgs/applications/graphics/drawpile/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..75cd9447b86f08d931b6d6999613b66073b59e2e --- /dev/null +++ b/pkgs/applications/graphics/drawpile/default.nix @@ -0,0 +1,95 @@ +{ stdenv +, fetchurl +, cmake +, extra-cmake-modules + +# common deps +, karchive + +# client deps +, qtbase +, qtmultimedia +, qtsvg +, qttools + +# optional client deps +, giflib +, kdnssd +, libvpx +, miniupnpc +, qtx11extras # kis + +# optional server deps +, libmicrohttpd +, libsodium + +# options +, buildClient ? true +, buildServer ? true +, buildServerGui ? true # if false builds a headless server +, buildExtraTools ? false +, enableKisTablet ? false # enable improved graphics tablet support +}: + +with stdenv.lib; + +let + commonDeps = [ + karchive + ]; + clientDeps = [ + qtbase + qtmultimedia + qtsvg + qttools + # optional: + giflib # gif animation export support + kdnssd # local server discovery with Zeroconf + libvpx # WebM video export + miniupnpc # automatic port forwarding + ]; + serverDeps = [ + # optional: + libmicrohttpd # HTTP admin api + libsodium # ext-auth support + ]; + kisDeps = [ + qtx11extras + ]; + +in stdenv.mkDerivation rec { + name = "drawpile-${version}"; + version = "2.1.7"; + + src = fetchurl { + url = "https://drawpile.net/files/src/drawpile-${version}.tar.gz"; + sha256 = "1nk1rb1syrlkxq7qs101ifaf012mq42nmq1dbkssnx6niydi3bbd"; + }; + + nativeBuildInputs = [ + cmake + extra-cmake-modules + ]; + buildInputs = + commonDeps ++ + optionals buildClient clientDeps ++ + optionals buildServer serverDeps ++ + optionals enableKisTablet kisDeps ; + + cmakeFlags = + optional (!buildClient ) "-DCLIENT=off" ++ + optional (!buildServer ) "-DSERVER=off" ++ + optional (!buildServerGui ) "-DSERVERGUI=off" ++ + optional ( buildExtraTools) "-DTOOLS=on" ++ + optional ( enableKisTablet) "-DKIS_TABLET=on"; + + meta = { + description = "A collaborative drawing program that allows multiple users to sketch on the same canvas simultaneously"; + homepage = https://drawpile.net/; + downloadPage = https://drawpile.net/download/; + license = licenses.gpl3; + maintainers = with maintainers; [ fgaz ]; + platforms = platforms.unix; + }; +} + diff --git a/pkgs/applications/graphics/epeg/default.nix b/pkgs/applications/graphics/epeg/default.nix index ef694dec6527fad6b703af72b4b7cf8dcb30b0be..3b7bdfb8efc2de5eccf6c05c609252a696064f5d 100644 --- a/pkgs/applications/graphics/epeg/default.nix +++ b/pkgs/applications/graphics/epeg/default.nix @@ -3,13 +3,14 @@ }: stdenv.mkDerivation rec { - name = "epeg-0.9.1.042"; # version taken from configure.ac + pname = "epeg"; + version = "0.9.2"; src = fetchFromGitHub { owner = "mattes"; repo = "epeg"; - rev = "248ae9fc3f1d6d06e6062a1f7bf5df77d4f7de9b"; - sha256 = "14ad33w3pxrg2yfc2xzyvwyvjirwy2d00889dswisq8b84cmxfia"; + rev = "v${version}"; + sha256 = "14bjl9v6zzac4df25gm3bkw3n0mza5iazazsi65gg3m6661x6c5g"; }; enableParallelBuilding = true; @@ -26,6 +27,9 @@ stdenv.mkDerivation rec { homepage = https://github.com/mattes/epeg; description = "Insanely fast JPEG/ JPG thumbnail scaling"; platforms = platforms.linux ++ platforms.darwin; + license = { + url = "https://github.com/mattes/epeg#license"; + }; maintainers = with maintainers; [ nh2 ]; }; } diff --git a/pkgs/applications/graphics/feh/default.nix b/pkgs/applications/graphics/feh/default.nix index f10916bcd6318fe593fa33feec8538c703738e89..6fdc4f741ac4cd399fb21919b8c72ca9fd03d69b 100644 --- a/pkgs/applications/graphics/feh/default.nix +++ b/pkgs/applications/graphics/feh/default.nix @@ -6,11 +6,11 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "feh-${version}"; - version = "2.27.1"; + version = "3.1.3"; src = fetchurl { url = "https://feh.finalrewind.org/${name}.tar.bz2"; - sha256 = "10zk76l491s22qrv86rax6cvpgwyl3qq0izl2pbk0k1z1kw3ihvf"; + sha256 = "1vsnxf4as3vyzjfhd8frzb1a8i7wnq7ck5ljx7qxqrnfqvxl1s4z"; }; outputs = [ "out" "man" "doc" ]; @@ -20,24 +20,21 @@ stdenv.mkDerivation rec { buildInputs = [ xorg.libX11 xorg.libXinerama imlib2 libjpeg libpng curl libexif ]; makeFlags = [ - "PREFIX=$(out)" "exif=1" + "PREFIX=${placeholder "out"}" "exif=1" ] ++ optional stdenv.isDarwin "verscmp=0"; - postBuild = '' - pushd man - make - popd - ''; - + installTargets = [ "install" ]; postInstall = '' wrapProgram "$out/bin/feh" --prefix PATH : "${libjpeg.bin}/bin" \ --add-flags '--theme=feh' - install -D -m 644 man/*.1 $out/share/man/man1 ''; - checkInputs = [ perlPackages.TestCommand perlPackages.TestHarness ]; + checkInputs = [ perlPackages.perl perlPackages.TestCommand ]; preCheck = '' - export PERL5LIB="${perlPackages.TestCommand}/lib/perl5/site_perl" + export PERL5LIB="${perlPackages.TestCommand}/${perlPackages.perl.libPrefix}" + ''; + postCheck = '' + unset PERL5LIB ''; doCheck = true; diff --git a/pkgs/applications/graphics/fondo/default.nix b/pkgs/applications/graphics/fondo/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..af6eaa2904aebecbba6217a64b1e6044d27da296 --- /dev/null +++ b/pkgs/applications/graphics/fondo/default.nix @@ -0,0 +1,47 @@ +{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, python3, glib, gsettings-desktop-schemas, gtk3, libgee, json-glib, glib-networking, libsoup, libunity, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "fondo"; + version = "1.2.2"; + + src = fetchFromGitHub { + owner = "calo001"; + repo = pname; + rev = version; + sha256 = "0mh3s2726zf3va6nj7kj2nbmq5q65xrbnsllss3sqf8a838zqfn6"; + }; + + nativeBuildInputs = [ + meson + ninja + pantheon.vala + pkgconfig + python3 + wrapGAppsHook + ]; + + buildInputs = [ + glib + glib-networking + gsettings-desktop-schemas + gtk3 + json-glib + libgee + libsoup + libunity + pantheon.granite + ]; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + ''; + + meta = with stdenv.lib; { + description = "Find the most beautiful wallpapers for your desktop"; + homepage = https://github.com/calo001/fondo; + license = licenses.agpl3Plus; + maintainers = with maintainers; [ worldofpeace ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/graphics/freecad/default.nix b/pkgs/applications/graphics/freecad/default.nix index 6362d6c06fe92ef7df7d4973461d5229c19a44c6..c3177a8c7aa3cea92b653057f8fc6d87f11ffc0b 100644 --- a/pkgs/applications/graphics/freecad/default.nix +++ b/pkgs/applications/graphics/freecad/default.nix @@ -9,11 +9,11 @@ let pythonPackages = python27Packages; in stdenv.mkDerivation rec { name = "freecad-${version}"; - version = "0.17"; + version = "0.18.1"; src = fetchurl { url = "https://github.com/FreeCAD/FreeCAD/archive/${version}.tar.gz"; - sha256 = "1yv6abdzlpn4wxy315943xwrnbywxqfgkjib37qwfvbb8y9p60df"; + sha256 = "0lamrs84zv99v4z7yi6d9amjmnh7r6frairc2aajgfic380720bc"; }; buildInputs = [ cmake coin3d xercesc ode eigen qt4 opencascade gts @@ -22,14 +22,6 @@ in stdenv.mkDerivation rec { matplotlib pycollada pyside pysideShiboken pysideTools pivy python boost ]); - patches = [ - # Fix for finding boost_python. Boost >= 1.67.0 appends the Python version. - (fetchpatch { - url = https://github.com/FreeCAD/FreeCAD/commit/3c9e6b038ed544e446c61695dab62f83e781a28a.patch; - sha256 = "0f09qywzn0y41hylizb5g8jy74fi53iqmvqr5zznaz16wpw4hqbp"; - }) - ]; - enableParallelBuilding = true; # This should work on both x86_64, and i686 linux @@ -45,40 +37,8 @@ in stdenv.mkDerivation rec { postInstall = '' wrapProgram $out/bin/FreeCAD --prefix PYTHONPATH : $PYTHONPATH \ --set COIN_GL_NO_CURRENT_CONTEXT_CHECK 1 - - mkdir -p $out/share/mime/packages - cat << EOF > $out/share/mime/packages/freecad.xml - - - - - FreeCAD Document - - - - EOF - - mkdir -p $out/share/applications - cp $desktopItem/share/applications/* $out/share/applications/ - for entry in $out/share/applications/*.desktop; do - substituteAllInPlace $entry - done ''; - - desktopItem = makeDesktopItem { - name = "freecad"; - desktopName = "FreeCAD"; - genericName = "CAD Application"; - comment = meta.description; - exec = "@out@/bin/FreeCAD %F"; - categories = "Science;Education;Engineering;"; - startupNotify = "true"; - mimeType = "application/x-extension-fcstd;"; - extraEntries = '' - Path=@out@/share/freecad - ''; - }; - + meta = with stdenv.lib; { description = "General purpose Open Source 3D CAD/MCAD/CAx/CAE/PLM modeler"; homepage = https://www.freecadweb.org/; diff --git a/pkgs/applications/graphics/gcolor2/default.nix b/pkgs/applications/graphics/gcolor2/default.nix index 3747b802e2316c0e057f378e8bcf0cdd8c6d7200..025b3ae65ecee0ef9fa3b63847b2ac4fcd51e00f 100644 --- a/pkgs/applications/graphics/gcolor2/default.nix +++ b/pkgs/applications/graphics/gcolor2/default.nix @@ -1,9 +1,9 @@ -{stdenv, fetchurl, gtk2, perl, perlXMLParser, pkgconfig } : +{stdenv, fetchurl, gtk2, perlPackages, pkgconfig } : let version = "0.4"; in stdenv.mkDerivation { name = "gcolor2-${version}"; - arch = if stdenv.system == "x86_64-linux" then "amd64" else "386"; + arch = if stdenv.hostPlatform.system == "x86_64-linux" then "amd64" else "386"; src = fetchurl { url = "mirror://sourceforge/project/gcolor2/gcolor2/${version}/gcolor2-${version}.tar.bz2"; @@ -16,12 +16,13 @@ stdenv.mkDerivation { ''; # from https://github.com/PhantomX/slackbuilds/tree/master/gcolor2/patches - patches = if stdenv.system == "x86_64-linux" then + patches = if stdenv.hostPlatform.system == "x86_64-linux" then [ ./gcolor2-amd64.patch ] else [ ]; nativeBuildInputs = [ pkgconfig ]; -buildInputs = [ gtk2 perl perlXMLParser ]; + buildInputs = [ gtk2 ] + ++ (with perlPackages; [ perl XMLParser ]); meta = { description = "Simple GTK+2 color selector"; diff --git a/pkgs/applications/graphics/gcolor3/default.nix b/pkgs/applications/graphics/gcolor3/default.nix index 09d1a86db8e3e2148fa22987c8962e15ce05c9d8..ed350b2b0eee943c0b31f58176e17e2714650c7f 100644 --- a/pkgs/applications/graphics/gcolor3/default.nix +++ b/pkgs/applications/graphics/gcolor3/default.nix @@ -1,31 +1,32 @@ -{ stdenv, fetchFromGitHub, gnome3, libtool, intltool, pkgconfig, gtk3, hicolor-icon-theme, wrapGAppsHook } : +{ stdenv, fetchFromGitLab, gnome3, meson, ninja, gettext, pkgconfig, libxml2, gtk3, hicolor-icon-theme, wrapGAppsHook }: let - version = "2.2"; + version = "2.3.1"; in stdenv.mkDerivation { name = "gcolor3-${version}"; - src = fetchFromGitHub { - owner = "hjdskes"; + src = fetchFromGitLab { + domain = "gitlab.gnome.org"; + owner = "World"; repo = "gcolor3"; rev = "v${version}"; - sha256 = "1rbahsi33pfggpj5cigy6wy5333g3rpm8v2q0b35c6m7pwhmf2gr"; + sha256 = "10cfzlkflwkb7f51rnrxmgxpfryh1qzvqaydj6lffjq9zvnhigg7"; }; - nativeBuildInputs = [ gnome3.gnome-common libtool intltool pkgconfig hicolor-icon-theme wrapGAppsHook ]; + nativeBuildInputs = [ meson ninja gettext pkgconfig libxml2 wrapGAppsHook ]; - buildInputs = [ gtk3 ]; + buildInputs = [ gtk3 hicolor-icon-theme ]; - configureScript = "./autogen.sh"; + postPatch = '' + chmod +x meson_install.sh # patchShebangs requires executable file + patchShebangs meson_install.sh + ''; - # clang-4.0: error: argument unused during compilation: '-pthread' - NIX_CFLAGS_COMPILE = stdenv.lib.optional stdenv.cc.isClang "-Wno-error=unused-command-line-argument"; - - meta = { + meta = with stdenv.lib; { description = "A simple color chooser written in GTK3"; - homepage = https://hjdskes.github.io/projects/gcolor3/; - license = stdenv.lib.licenses.gpl2; - maintainers = with stdenv.lib.maintainers; [ jtojnar ]; - platforms = stdenv.lib.platforms.unix; + homepage = https://www.hjdskes.nl/projects/gcolor3/; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ jtojnar ]; + platforms = platforms.unix; }; } diff --git a/pkgs/applications/graphics/gimp/default.nix b/pkgs/applications/graphics/gimp/default.nix index 15033b8b2b09d86d2ca8a6203fb4a71ce07d250d..657a9dd27e50cbbebcb3406b6b2ea68ce8943f48 100644 --- a/pkgs/applications/graphics/gimp/default.nix +++ b/pkgs/applications/graphics/gimp/default.nix @@ -1,19 +1,19 @@ -{ stdenv, fetchurl, pkgconfig, intltool, babl, gegl, gtk2, glib, gdk_pixbuf, isocodes +{ stdenv, fetchurl, substituteAll, pkgconfig, intltool, babl, gegl, gtk2, glib, gdk_pixbuf, isocodes , pango, cairo, freetype, fontconfig, lcms, libpng, libjpeg, poppler, poppler_data, libtiff , libmng, librsvg, libwmf, zlib, libzip, ghostscript, aalib, shared-mime-info , python2Packages, libexif, gettext, xorg, glib-networking, libmypaint, gexiv2 , harfbuzz, mypaint-brushes, libwebp, libheif, libgudev, openexr -, AppKit, Cocoa, gtk-mac-integration }: +, AppKit, Cocoa, gtk-mac-integration-gtk2, cf-private }: let inherit (python2Packages) pygtk wrapPython python; in stdenv.mkDerivation rec { - name = "gimp-${version}"; - version = "2.10.6"; + pname = "gimp"; + version = "2.10.10"; src = fetchurl { - url = "http://download.gimp.org/pub/gimp/v${stdenv.lib.versions.majorMinor version}/${name}.tar.bz2"; - sha256 = "07qh2ljbza2mph1gh8sicn27qihhj8hx3ivvry2874cfh8ghgj2f"; + url = "http://download.gimp.org/pub/gimp/v${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; + sha256 = "0xwck5nbpb945s1cyij3kfqw1pchbhx8i5vf5hgywyjw4r1z5l8j"; }; nativeBuildInputs = [ pkgconfig intltool gettext wrapPython ]; @@ -23,8 +23,11 @@ in stdenv.mkDerivation rec { freetype fontconfig lcms libpng libjpeg poppler poppler_data libtiff openexr libmng librsvg libwmf zlib libzip ghostscript aalib shared-mime-info libwebp libheif python pygtk libexif xorg.libXpm glib-networking libmypaint mypaint-brushes - ] ++ stdenv.lib.optionals stdenv.isDarwin [ AppKit Cocoa gtk-mac-integration ] - ++ stdenv.lib.optionals stdenv.isLinux [ libgudev ]; + ] ++ stdenv.lib.optionals stdenv.isDarwin [ + # cf-private is needed to get some things not in swift-corefoundation. + # For instance _OBJC_CLASS_$_NSArray is missing. + AppKit Cocoa gtk-mac-integration-gtk2 cf-private + ] ++ stdenv.lib.optionals stdenv.isLinux [ libgudev ]; pythonPath = [ pygtk ]; @@ -36,6 +39,15 @@ in stdenv.mkDerivation rec { export GIO_EXTRA_MODULES="${glib-networking}/lib/gio/modules:$GIO_EXTRA_MODULES" ''; + patches = [ + # to remove compiler from the runtime closure, reference was retained via + # gimp --version --verbose output + (substituteAll { + src = ./remove-cc-reference.patch; + cc_version = stdenv.cc.cc.name; + }) + ]; + postFixup = '' wrapPythonProgramsIn $out/lib/gimp/${passthru.majorVersion}/plug-ins/ wrapProgram $out/bin/gimp-${stdenv.lib.versions.majorMinor version} \ @@ -57,10 +69,12 @@ in stdenv.mkDerivation rec { configureFlags = [ "--without-webkit" # old version is required "--with-bug-report-url=https://github.com/NixOS/nixpkgs/issues/new" - "--with-icc-directory=/var/run/current-system/sw/share/color/icc" + "--with-icc-directory=/run/current-system/sw/share/color/icc" ]; - doCheck = true; + # on Darwin, + # test-eevl.c:64:36: error: initializer element is not a compile-time constant + doCheck = !stdenv.isDarwin; enableParallelBuilding = true; diff --git a/pkgs/applications/graphics/gimp/remove-cc-reference.patch b/pkgs/applications/graphics/gimp/remove-cc-reference.patch new file mode 100644 index 0000000000000000000000000000000000000000..0d6a87000ccdc511df5787ca5555cff5921519e4 --- /dev/null +++ b/pkgs/applications/graphics/gimp/remove-cc-reference.patch @@ -0,0 +1,13 @@ +diff --git a/app/gimp-version.c b/app/gimp-version.c +index 12605c6..a9083da 100644 +--- a/app/gimp-version.c ++++ b/app/gimp-version.c +@@ -203,7 +203,7 @@ gimp_version (gboolean be_verbose, + lib_versions = gimp_library_versions (localized); + verbose_info = g_strdup_printf ("git-describe: %s\n" + "C compiler:\n%s\n%s", +- GIMP_GIT_VERSION, CC_VERSION, ++ GIMP_GIT_VERSION, "@cc_version@", + lib_versions); + g_free (lib_versions); + diff --git a/pkgs/applications/graphics/giv/default.nix b/pkgs/applications/graphics/giv/default.nix index fbc84521de08a6a7793d4716d5ed09511894b77d..c5eb126cfbf7637d882c624c374a3269141ad08c 100644 --- a/pkgs/applications/graphics/giv/default.nix +++ b/pkgs/applications/graphics/giv/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchFromGitHub, gdk_pixbuf, scons, pkgconfig, gtk2, glib, - pcre, cfitsio, perl, gob2, vala, libtiff, json-glib }: +{ stdenv, fetchFromGitHub, gdk_pixbuf, scons, pkgconfig, gtk2, glib +, pcre, cfitsio, perl, gob2, vala, libtiff, json-glib }: stdenv.mkDerivation rec { name = "giv-${version}"; @@ -21,10 +21,6 @@ stdenv.mkDerivation rec { patches = [ ./build.patch ]; - buildPhase = "scons"; - - installPhase = "scons install"; - nativeBuildInputs = [ scons pkgconfig vala perl gob2 ]; buildInputs = [ gdk_pixbuf gtk2 glib pcre cfitsio libtiff json-glib ]; diff --git a/pkgs/applications/graphics/glabels/default.nix b/pkgs/applications/graphics/glabels/default.nix index df8ebee020c910bbdb2f46fe662ae49b2ff960e9..dadae22bf0c37bc51d83ca89dfff2908ed6d64bc 100644 --- a/pkgs/applications/graphics/glabels/default.nix +++ b/pkgs/applications/graphics/glabels/default.nix @@ -1,21 +1,21 @@ { stdenv, fetchurl, barcode, gnome3, autoreconfHook -, gtk3, gtk-doc, libxml2, librsvg , libtool, libe-book +, gtk3, gtk-doc, libxml2, librsvg , libtool, libe-book, gsettings-desktop-schemas , intltool, itstool, makeWrapper, pkgconfig, hicolor-icon-theme }: stdenv.mkDerivation rec { name = "glabels-${version}"; - version = "3.4.0"; + version = "3.4.1"; src = fetchurl { - url = "https://ftp.gnome.org/pub/GNOME/sources/glabels/3.4/glabels-3.4.0.tar.xz"; - sha256 = "04345crf5yrhq6rlrymz630rxnm8yw41vx04hb6xn2nkjn9hf3nl"; + url = "mirror://gnome/sources/glabels/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; + sha256 = "0f2rki8i27pkd9r0gz03cdl1g4vnmvp0j49nhxqn275vi8lmgr0q"; }; nativeBuildInputs = [ autoreconfHook pkgconfig makeWrapper intltool ]; buildInputs = [ barcode gtk3 gtk-doc gnome3.yelp-tools - gnome3.gnome-common gnome3.gsettings-desktop-schemas + gnome3.gnome-common gsettings-desktop-schemas itstool libxml2 librsvg libe-book libtool hicolor-icon-theme ]; @@ -25,11 +25,11 @@ stdenv.mkDerivation rec { --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" ''; - meta = { + meta = with stdenv.lib; { description = "Create labels and business cards"; - homepage = http://glabels.org/; - license = stdenv.lib.licenses.gpl2; - platforms = stdenv.lib.platforms.unix; - maintainers = [ stdenv.lib.maintainers.nico202 ]; + homepage = https://glabels.org/; + license = with licenses; [ gpl3Plus lgpl3Plus ]; + platforms = platforms.unix; + maintainers = [ maintainers.nico202 ]; }; } diff --git a/pkgs/applications/graphics/gocr/default.nix b/pkgs/applications/graphics/gocr/default.nix index 78772a63dfe3192e4c83c6b4cc31676a1484a4f6..f5fa8ca9221dd86d3c5f2cec3c77fb5003cfc4fc 100644 --- a/pkgs/applications/graphics/gocr/default.nix +++ b/pkgs/applications/graphics/gocr/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, tk }: stdenv.mkDerivation rec { - name = "gocr-0.51"; + name = "gocr-0.52"; src = fetchurl { url = "https://www-e.uni-magdeburg.de/jschulen/ocr/${name}.tar.gz"; - sha256 = "14i6zi6q11h6d0qds2cpvgvhbxk5xaa027h8cd0wy1zblh7sxckf"; + sha256 = "11l6gds1lrm8lwrrsxnm5fjlwz8q1xbh896cprrl4psz21in946z"; }; buildFlags = [ "all" "libs" ]; diff --git a/pkgs/applications/graphics/goxel/default.nix b/pkgs/applications/graphics/goxel/default.nix index 99230eb23e32d6fe876c8ec1c632083d23313fdd..488c3eacc019bb9e25df5c2b6f92023f4ea18414 100644 --- a/pkgs/applications/graphics/goxel/default.nix +++ b/pkgs/applications/graphics/goxel/default.nix @@ -3,19 +3,22 @@ stdenv.mkDerivation rec { name = "goxel-${version}"; - version = "0.8.0"; + version = "0.8.3"; src = fetchFromGitHub { owner = "guillaumechereau"; repo = "goxel"; rev = "v${version}"; - sha256 = "01022c43pmwiqb18rx9fz08xr99h6p03gw6bp0lay5z61g3xkz17"; + sha256 = "03hyy0i65zdplggaxlndgyvffvnb9g5kvxq2qbicirvz5zcsghk2"; }; patches = [ ./disable-imgui_ini.patch ]; nativeBuildInputs = [ scons pkgconfig wrapGAppsHook ]; buildInputs = [ glfw3 gtk3 libpng12 ]; + NIX_LDFLAGS = [ + "-lpthread" + ]; buildPhase = '' make release diff --git a/pkgs/applications/graphics/gqview/default.nix b/pkgs/applications/graphics/gqview/default.nix index a892f98ac4753e34eff96d199803d580a4d8dd4d..205376b1257c5ee44797cf7d20e8ca09b75f66f9 100644 --- a/pkgs/applications/graphics/gqview/default.nix +++ b/pkgs/applications/graphics/gqview/default.nix @@ -18,9 +18,14 @@ stdenv.mkDerivation { hardeningDisable = [ "format" ]; - meta = { + NIX_LDFLAGS = [ + "-lm" + ]; + + meta = with stdenv.lib; { description = "A fast image viewer"; homepage = http://gqview.sourceforge.net; - platforms = stdenv.lib.platforms.unix; + license = licenses.gpl2; + platforms = platforms.unix; }; } diff --git a/pkgs/applications/graphics/grafx2/default.nix b/pkgs/applications/graphics/grafx2/default.nix index fd17ef69c99227fbf2f28c385d339550e2cc3d50..b1580d73b6417622284133f360584c103ed3ae08 100644 --- a/pkgs/applications/graphics/grafx2/default.nix +++ b/pkgs/applications/graphics/grafx2/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { meta = { description = "Bitmap paint program inspired by the Amiga programs Deluxe Paint and Brilliance"; - homepage = http://code.google.co/p/grafx2/; + homepage = http://pulkomandy.tk/projects/GrafX2; license = stdenv.lib.licenses.gpl2; platforms = [ "x86_64-linux" "i686-linux" ]; maintainers = [ stdenv.lib.maintainers.zoomulator ]; diff --git a/pkgs/applications/graphics/graphicsmagick/default.nix b/pkgs/applications/graphics/graphicsmagick/default.nix index ee58e9831e9af57086c9a04e5043ecbf731b2922..c93b4fe958d5bdbfe897924006763c7df010a5ae 100644 --- a/pkgs/applications/graphics/graphicsmagick/default.nix +++ b/pkgs/applications/graphics/graphicsmagick/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { name = "graphicsmagick-${version}"; - version = "1.3.30"; + version = "1.3.31"; src = fetchurl { url = "mirror://sourceforge/graphicsmagick/GraphicsMagick-${version}.tar.xz"; - sha256 = "1warar0731xf94r4bn5x1km85rjabl4iq8r0dk3ywmczap3farfr"; + sha256 = "0y22740f25qxsqqqg26xqlfp920dm57b7hrgaqmx7azksrcvnsq9"; }; patches = [ diff --git a/pkgs/applications/graphics/gscan2pdf/default.nix b/pkgs/applications/graphics/gscan2pdf/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..9ec82ea2a94baa8be98f6d6d743139b992bc33df --- /dev/null +++ b/pkgs/applications/graphics/gscan2pdf/default.nix @@ -0,0 +1,103 @@ +{ stdenv, fetchurl, perlPackages, makeWrapper, wrapGAppsHook, + librsvg, sane-backends, sane-frontends, + imagemagick, libtiff, djvulibre, poppler_utils, ghostscript, unpaper, + xvfb_run, hicolor-icon-theme, liberation_ttf, file, pdftk }: + +with stdenv.lib; + +perlPackages.buildPerlPackage rec { + name = "gscan2pdf-${version}"; + version = "2.3.0"; + + src = fetchurl { + url = "mirror://sourceforge/gscan2pdf/${version}/${name}.tar.xz"; + sha256 = "0mcsmly0j9pmyzh6py8r6sfa30hc6gv300hqq3dxj4hv653vhkk9"; + }; + + nativeBuildInputs = [ wrapGAppsHook ]; + + buildInputs = + [ librsvg sane-backends sane-frontends ] ++ + (with perlPackages; [ + Gtk3 + Gtk3SimpleList + Cairo + CairoGObject + Glib + GlibObjectIntrospection + GooCanvas2 + LocaleGettext + PDFAPI2 + ImageSane + SetIntSpan + PerlMagick + ConfigGeneral + ListMoreUtils + HTMLParser + ProcProcessTable + Log4Perl + TryTiny + DataUUID + DateCalc + IOString + FilesysDf + SubOverride + ]); + + postPatch = let + fontSubstitute = "${liberation_ttf}/share/fonts/truetype/LiberationSans-Regular.ttf"; + in '' + # Required for the program to properly load its SVG assets + substituteInPlace bin/gscan2pdf \ + --replace "/usr/share" "$out/share" + + # Substitute the non-free Helvetica font in the tests + sed -i 's|-pointsize|-font ${fontSubstitute} -pointsize|g' t/*.t + ''; + + postInstall = '' + # Remove impurity + find $out -type f -name "*.pod" -delete + + # Add runtime dependencies + wrapProgram "$out/bin/gscan2pdf" \ + --prefix PATH : "${imagemagick}/bin" \ + --prefix PATH : "${libtiff}/bin" \ + --prefix PATH : "${djvulibre}/bin" \ + --prefix PATH : "${poppler_utils}/bin" \ + --prefix PATH : "${ghostscript}/bin" \ + --prefix PATH : "${unpaper}/bin" + ''; + + enableParallelBuilding = true; + + installTargets = [ "install" ]; + + outputs = [ "out" "man" ]; + + checkInputs = [ + xvfb_run + hicolor-icon-theme + imagemagick + libtiff + djvulibre + poppler_utils + ghostscript + file + pdftk + unpaper + ]; + + checkPhase = '' + xvfb-run -s '-screen 0 800x600x24' \ + make test + ''; + + meta = { + description = "A GUI to produce PDFs or DjVus from scanned documents"; + homepage = http://gscan2pdf.sourceforge.net/; + license = licenses.gpl3; + maintainers = [ maintainers.pacien ]; + }; +} + diff --git a/pkgs/applications/graphics/gthumb/default.nix b/pkgs/applications/graphics/gthumb/default.nix index 7dc69bceda921380b44e49b5d288fd8ebf48aaa1..e88c9222b87cd3afe43b10884e3f4220ea975209 100644 --- a/pkgs/applications/graphics/gthumb/default.nix +++ b/pkgs/applications/graphics/gthumb/default.nix @@ -1,25 +1,26 @@ { stdenv, fetchurl, gnome3, itstool, libxml2, pkgconfig, intltool, exiv2, libjpeg, libtiff, gst_all_1, libraw, libsoup, libsecret, + glib, gtk3, gsettings-desktop-schemas, libchamplain, librsvg, libwebp, json-glib, webkitgtk, lcms2, bison, flex, wrapGAppsHook, shared-mime-info }: let pname = "gthumb"; - version = "3.6.1"; + version = "3.6.2"; in stdenv.mkDerivation rec { name = "${pname}-${version}"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "1vj26gw9b5y4bmb2m49wplqg0md568g3gxin500v3slggzhzkaww"; + sha256 = "0rjb0bsjhn7nyl5jyjgrypvr6qdr9dc2g586j3lzan96a2vnpgy9"; }; nativeBuildInputs = [ itstool libxml2 intltool pkgconfig bison flex wrapGAppsHook ]; - buildInputs = with gnome3; [ - glib gtk gsettings-desktop-schemas gst_all_1.gstreamer gst_all_1.gst-plugins-base + buildInputs = [ + glib gtk3 gsettings-desktop-schemas gst_all_1.gstreamer gst_all_1.gst-plugins-base exiv2 libjpeg libtiff libraw libsoup libsecret libchamplain - librsvg libwebp json-glib webkitgtk lcms2 defaultIconTheme + librsvg libwebp json-glib webkitgtk lcms2 gnome3.adwaita-icon-theme ]; enableParallelBuilding = true; diff --git a/pkgs/applications/graphics/hugin/default.nix b/pkgs/applications/graphics/hugin/default.nix index 1c5b8d1b81dda2bdacd846bc933358a7b006eda0..6be43cffea5433d0f3449a9a01eb52feb121e61c 100644 --- a/pkgs/applications/graphics/hugin/default.nix +++ b/pkgs/applications/graphics/hugin/default.nix @@ -5,11 +5,11 @@ }: stdenv.mkDerivation rec { - name = "hugin-2018.0.0"; + name = "hugin-2019.0.0"; src = fetchurl { url = "mirror://sourceforge/hugin/${name}.tar.bz2"; - sha256 = "1jv5wpqbq49fhbl5g521g1qxhdm1rm7acxd18fr3n3n5d830vbyk"; + sha256 = "1l925qslp98gg7yzmgps10h6dq0nb60wbfk345anlxsv0g2ifizr"; }; buildInputs = [ diff --git a/pkgs/applications/graphics/image_optim/Gemfile b/pkgs/applications/graphics/image_optim/Gemfile new file mode 100644 index 0000000000000000000000000000000000000000..d6a0f13a4c1a79f1f5433c6dd4a92931659955fe --- /dev/null +++ b/pkgs/applications/graphics/image_optim/Gemfile @@ -0,0 +1,2 @@ +source 'https://rubygems.org' +gem 'image_optim' diff --git a/pkgs/applications/graphics/image_optim/Gemfile.lock b/pkgs/applications/graphics/image_optim/Gemfile.lock new file mode 100644 index 0000000000000000000000000000000000000000..20c9772ce4648fd443fd8fea700aed206c2e758a --- /dev/null +++ b/pkgs/applications/graphics/image_optim/Gemfile.lock @@ -0,0 +1,23 @@ +GEM + remote: https://rubygems.org/ + specs: + exifr (1.3.6) + fspath (3.1.0) + image_optim (0.26.3) + exifr (~> 1.2, >= 1.2.2) + fspath (~> 3.0) + image_size (>= 1.5, < 3) + in_threads (~> 1.3) + progress (~> 3.0, >= 3.0.1) + image_size (2.0.0) + in_threads (1.5.1) + progress (3.5.0) + +PLATFORMS + ruby + +DEPENDENCIES + image_optim + +BUNDLED WITH + 1.16.3 diff --git a/pkgs/applications/graphics/image_optim/default.nix b/pkgs/applications/graphics/image_optim/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..f093a79f374ef3fd7528d10be5429c4827d3a230 --- /dev/null +++ b/pkgs/applications/graphics/image_optim/default.nix @@ -0,0 +1,66 @@ +{ lib, bundlerApp, fetchurl, ruby, makeWrapper, + withPngcrush ? true, pngcrush ? null, + withPngout ? true, pngout ? null, + withAdvpng ? true, advancecomp ? null, + withOptipng ? true, optipng ? null, + withPngquant ? true, pngquant ? null, + withJhead ? true, jhead ? null, + withJpegoptim ? true, jpegoptim ? null, + withJpegrecompress ? true, jpeg-archive ? null, + withJpegtran ? true, libjpeg ? null, + withGifsicle ? true, gifsicle ? null, + withSvgo ? true, svgo ? null +}: + +assert withPngcrush -> pngcrush != null; +assert withPngout -> pngout != null; +assert withAdvpng -> advancecomp != null; +assert withOptipng -> optipng != null; +assert withPngquant -> pngquant != null; +assert withJhead -> jhead != null; +assert withJpegoptim -> jpegoptim != null; +assert withJpegrecompress -> jpeg-archive != null; +assert withJpegtran -> libjpeg != null; +assert withGifsicle -> gifsicle != null; +assert withSvgo -> svgo != null; + +with lib; + +let + optionalDepsPath = [] + ++ optional withPngcrush pngcrush + ++ optional withPngout pngout + ++ optional withAdvpng advancecomp + ++ optional withOptipng optipng + ++ optional withPngquant pngquant + ++ optional withJhead jhead + ++ optional withJpegoptim jpegoptim + ++ optional withJpegrecompress jpeg-archive + ++ optional withJpegtran libjpeg + ++ optional withGifsicle gifsicle + ++ optional withSvgo svgo; +in + +bundlerApp { + pname = "image_optim"; + gemdir = ./.; + + inherit ruby; + + exes = [ "image_optim" ]; + + buildInputs = [ makeWrapper ]; + + postBuild = '' + wrapProgram $out/bin/image_optim \ + --prefix PATH : ${makeBinPath optionalDepsPath} + ''; + + meta = with lib; { + description = "Command line tool and ruby interface to optimize (lossless compress, optionally lossy) jpeg, png, gif and svg images using external utilities (advpng, gifsicle, jhead, jpeg-recompress, jpegoptim, jpegrescan, jpegtran, optipng, pngcrush, pngout, pngquant, svgo)"; + homepage = https://github.com/toy/image_optim; + license = licenses.mit; + maintainers = with maintainers; [ srghma ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/applications/graphics/image_optim/gemset.nix b/pkgs/applications/graphics/image_optim/gemset.nix new file mode 100644 index 0000000000000000000000000000000000000000..6c9ec2de7457011db302b8939f42216e2f14c0bf --- /dev/null +++ b/pkgs/applications/graphics/image_optim/gemset.nix @@ -0,0 +1,51 @@ +{ + exifr = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0q2abhiyvgfv23i0izbskjxcqaxiw9bfg6s57qgn4li4yxqpwpfg"; + type = "gem"; + }; + version = "1.3.6"; + }; + fspath = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1vjn9sy4hklr2d5wxmj5x1ry31dfq3sjp779wyprb3nbbdmra1sc"; + type = "gem"; + }; + version = "3.1.0"; + }; + image_optim = { + dependencies = ["exifr" "fspath" "image_size" "in_threads" "progress"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "082w9qcyy9j6m6s2pknfdcik7l2qch4j48axs13m06l4s1hz0dmg"; + type = "gem"; + }; + version = "0.26.3"; + }; + image_size = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bcn7nc6qix3w4sf7xd557lnsgjniqa7qvz7nnznx70m8qfbc7ig"; + type = "gem"; + }; + version = "2.0.0"; + }; + in_threads = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "14hqm59sgqi91ag187zwpgwi58xckjkk58m031ghkp0csl8l9mkx"; + type = "gem"; + }; + version = "1.5.1"; + }; + progress = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1yrzq4v5sp7cg4nbgqh11k3d1czcllfz98dcdrxrsjxwq5ziiw0p"; + type = "gem"; + }; + version = "3.5.0"; + }; +} \ No newline at end of file diff --git a/pkgs/applications/graphics/image_optim/update.sh b/pkgs/applications/graphics/image_optim/update.sh new file mode 100755 index 0000000000000000000000000000000000000000..8afd7f90436d0a5e5857ee8a161300eaa2fdf880 --- /dev/null +++ b/pkgs/applications/graphics/image_optim/update.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p bundix bundler + +SCRIPT_DIR=$(dirname "$(readlink -f "$BASH_SOURCE")") + +cd $SCRIPT_DIR + +bundle lock --update +bundix diff --git a/pkgs/applications/graphics/imgcat/default.nix b/pkgs/applications/graphics/imgcat/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..862d3a9dff5eedb5d8b185041c1562d70b5fe8a5 --- /dev/null +++ b/pkgs/applications/graphics/imgcat/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchFromGitHub, autoconf, automake, libtool, ncurses }: + +stdenv.mkDerivation rec { + name = "imgcat-${version}"; + version = "2.3.0"; + + buildInputs = [ autoconf automake libtool ncurses ]; + + preConfigure = '' + ${autoconf}/bin/autoconf + sed -i -e "s|-ltermcap|-L ${ncurses}/lib -lncurses|" Makefile + ''; + + preInstall = '' + makeFlagsArray=(PREFIX="$out"); + ''; + + src = fetchFromGitHub { + owner = "eddieantonio"; + repo = "imgcat"; + rev = "3d854c72f785dce0eecd9485767a7f972d54890c"; + sha256 = "0m83c33rzxvs0w214njql2c7q3fg06wnyijch3l2s88i7frl121f"; + }; + + NIX_CFLAGS_COMPILE = "-Wno-error"; + + meta = with stdenv.lib; { + description = "It's like cat, but for images"; + homepage = https://github.com/eddieantonio/imgcat; + license = licenses.isc; + maintainers = with maintainers; [ jwiegley ]; + platforms = platforms.unix; + }; +} + diff --git a/pkgs/applications/graphics/imv/default.nix b/pkgs/applications/graphics/imv/default.nix index e9a0dccd30a9c2e0ffe08927d8689bfbb5372b5a..cdbf5f446875e275b510460f069358557a2796f6 100644 --- a/pkgs/applications/graphics/imv/default.nix +++ b/pkgs/applications/graphics/imv/default.nix @@ -1,25 +1,32 @@ -{ stdenv, fetchgit, SDL2, SDL2_ttf, freeimage, fontconfig }: +{ stdenv, fetchFromGitHub, SDL2, SDL2_ttf +, freeimage, fontconfig, pkgconfig +, asciidoc, docbook_xsl, libxslt, cmocka +}: stdenv.mkDerivation rec { name = "imv-${version}"; - version = "2.1.3"; + version = "3.0.0"; - src = fetchgit { - url = "https://github.com/eXeC64/imv.git"; - rev = "e59d0e9e120f1dbde9ab068748a190e93978e5b7"; - sha256 = "0j48dk1bcbh5541522qkn487637wcx104zckrnxa5g3nirfqa7r7"; + src = fetchFromGitHub { + owner = "eXeC64"; + repo = "imv"; + rev = "v${version}"; + sha256 = "0j5aykdkm1g518ism5y5flhwxvjvl92ksq989fhl2wpnv0la82jp"; }; - buildInputs = [ SDL2 SDL2_ttf freeimage fontconfig ]; + buildInputs = [ + SDL2 SDL2_ttf freeimage fontconfig pkgconfig + asciidoc docbook_xsl libxslt cmocka + ]; - configurePhase = "substituteInPlace Makefile --replace /usr $out"; + installFlags = [ "PREFIX=$(out)" "CONFIGPREFIX=$(out)/etc" ]; meta = with stdenv.lib; { description = "A command line image viewer for tiling window managers"; homepage = https://github.com/eXeC64/imv; license = licenses.gpl2; maintainers = with maintainers; [ rnhmjoj ]; - platforms = platforms.unix; + platforms = [ "i686-linux" "x86_64-linux" ]; }; } diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix index f4d08195309b024964d8b88d87e2e006f7e1e70b..1729f3c5cdabdc5d078290b17d9a33ce56280efe 100644 --- a/pkgs/applications/graphics/inkscape/default.nix +++ b/pkgs/applications/graphics/inkscape/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, perl, perlXMLParser, libXft +{ stdenv, fetchurl, pkgconfig, perlPackages, libXft , libpng, zlib, popt, boehmgc, libxml2, libxslt, glib, gtkmm2 , glibmm, libsigcxx, lcms, boost, gettext, makeWrapper , gsl, python2, poppler, imagemagick, libwpg, librevenge @@ -6,15 +6,16 @@ }: let - python2Env = python2.withPackages(ps: with ps; [ numpy lxml ]); + python2Env = python2.withPackages(ps: with ps; + [ numpy lxml scour ]); in stdenv.mkDerivation rec { - name = "inkscape-0.92.3"; + name = "inkscape-0.92.4"; src = fetchurl { url = "https://media.inkscape.org/dl/resources/file/${name}.tar.bz2"; - sha256 = "1chng2yw8dsjxc9gf92aqv7plj11cav8ax321wmakmv5bb09cch6"; + sha256 = "0pjinhjibfsz1aywdpgpj3k23xrsszpj4a1ya5562dkv2yl2vv2p"; }; # Inkscape hits the ARGMAX when linking on macOS. It appears to be @@ -39,12 +40,15 @@ stdenv.mkDerivation rec { --replace '"python-interpreter", "python"' '"python-interpreter", "${python2Env}/bin/python"' ''; - nativeBuildInputs = [ pkgconfig cmake makeWrapper python2Env perl perlXMLParser ]; + nativeBuildInputs = [ pkgconfig cmake makeWrapper python2Env ] + ++ (with perlPackages; [ perl XMLParser ]); buildInputs = [ libXft libpng zlib popt boehmgc libxml2 libxslt glib gtkmm2 glibmm libsigcxx lcms boost gettext gsl poppler imagemagick libwpg librevenge libvisio libcdr libexif potrace hicolor-icon-theme + + python2Env perlPackages.perl ]; enableParallelBuilding = true; diff --git a/pkgs/applications/graphics/ipe/default.nix b/pkgs/applications/graphics/ipe/default.nix index dbd209a57a2f840b760706df831466a08f950fbb..0673eec8c86f27737cbd47385032cdd02d223a0f 100644 --- a/pkgs/applications/graphics/ipe/default.nix +++ b/pkgs/applications/graphics/ipe/default.nix @@ -1,33 +1,23 @@ { stdenv, fetchurl, makeWrapper, pkgconfig, zlib, freetype, cairo, lua5, texlive, ghostscript -, libjpeg, qtbase +, libjpeg, libpng, qtbase }: stdenv.mkDerivation rec { - name = "ipe-7.2.7"; + name = "ipe-7.2.11"; src = fetchurl { url = "https://dl.bintray.com/otfried/generic/ipe/7.2/${name}-src.tar.gz"; - sha256 = "08lzqhagvr8l69hxghyw9akf5dixbily7hj2gxhzzrp334k3yvfn"; + sha256 = "09d71fdpiz359mcnb57460w2mcfizvlnidd6g1k4c3v6rglwlbd2"; }; - # changes taken from Gentoo portage - preConfigure = '' - cd src - sed -i \ - -e 's/fpic/fPIC/' \ - -e 's/moc-qt4/moc/' \ - config.mak || die - sed -i -e 's/install -s/install/' common.mak || die - ''; - - NIX_CFLAGS_COMPILE = [ "-std=c++11" ]; # build with Qt 5.7 + sourceRoot = "${name}/src"; - IPEPREFIX="$$out"; + IPEPREFIX="${placeholder "out"}"; URWFONTDIR="${texlive}/texmf-dist/fonts/type1/urw/"; LUA_PACKAGE = "lua"; buildInputs = [ - libjpeg zlib qtbase freetype cairo lua5 texlive ghostscript + libjpeg libpng zlib qtbase freetype cairo lua5 texlive ghostscript ]; nativeBuildInputs = [ makeWrapper pkgconfig ]; @@ -38,7 +28,7 @@ stdenv.mkDerivation rec { done ''; - patches = [ ./xlocale.patch ]; + enableParallelBuilding = true; #TODO: make .desktop entry diff --git a/pkgs/applications/graphics/ipe/xlocale.patch b/pkgs/applications/graphics/ipe/xlocale.patch deleted file mode 100644 index b440831d81b46ddd7e7a7307bf87a81dc044b32f..0000000000000000000000000000000000000000 --- a/pkgs/applications/graphics/ipe/xlocale.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- ipe-7.2.7/src/ipelib/ipeplatform.cpp 2016-12-09 15:09:04.000000000 +0100 -+++ ipe-7.2.7/src/ipelib/ipeplatform.cpp 2017-11-23 17:13:11.152395834 +0100 -@@ -38,7 +38,6 @@ - #include - #else - #include --#include - #include - #endif - #ifdef __APPLE__ diff --git a/pkgs/applications/graphics/jbrout/default.nix b/pkgs/applications/graphics/jbrout/default.nix index 9c81fe32b513208e3948e8fcb26ade068a556247..42ed667dee983ff2dee78ac11443b504a79fad51 100644 --- a/pkgs/applications/graphics/jbrout/default.nix +++ b/pkgs/applications/graphics/jbrout/default.nix @@ -34,7 +34,7 @@ in pythonPackages.buildPythonApplication rec { propagatedBuildInputs = with pythonPackages; [ pillow lxml pyGtkGlade pyexiv2 fbida ]; meta = { - homepage = http://manatlan.com/jbrout/; + homepage = https://manatlan.com/jbrout/; description = "Photo manager"; platforms = stdenv.lib.platforms.linux; license = stdenv.lib.licenses.gpl2Plus; diff --git a/pkgs/applications/graphics/jpeg-archive/default.nix b/pkgs/applications/graphics/jpeg-archive/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..8002da5570354c9cf9a61b0c08cbc996fcf2332b --- /dev/null +++ b/pkgs/applications/graphics/jpeg-archive/default.nix @@ -0,0 +1,42 @@ +{ lib, stdenv, fetchFromGitHub, mozjpeg, makeWrapper, coreutils, parallel, findutils }: + +stdenv.mkDerivation rec { + name = "jpeg-archive-${version}"; + version = "2.2.0"; # can be found here https://github.com/danielgtaylor/jpeg-archive/blob/master/src/util.c#L15 + + # update with + # nix-prefetch-git https://github.com/danielgtaylor/jpeg-archive + src = fetchFromGitHub { + owner = "danielgtaylor"; + repo = "jpeg-archive"; + rev = "8da4bf76b6c3c0e11e4941294bfc1857c119419b"; + sha256 = "1639y9qp2ls80fzimwmwds792q8rq5p6c14c0r4jswx4yp6dcs33"; + }; + + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ mozjpeg ]; + + prePatch = '' + # allow override LIBJPEG + substituteInPlace Makefile --replace 'LIBJPEG =' 'LIBJPEG ?=' + ''; + + makeFlags = [ + "PREFIX=$(out)" + "MOZJPEG_PREFIX=${mozjpeg}" + "LIBJPEG=${mozjpeg}/lib/libjpeg.so" + ]; + + postInstall = '' + wrapProgram $out/bin/jpeg-archive \ + --set PATH "$out/bin:${coreutils}/bin:${parallel}/bin:${findutils}/bin" + ''; + + meta = with stdenv.lib; { + description = "Utilities for archiving photos for saving to long term storage or serving over the web"; + homepage = "https://github.com/danielgtaylor/jpeg-archive"; + # license = ...; # mixed? + maintainers = [ maintainers.srghma ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/applications/graphics/jpeginfo/default.nix b/pkgs/applications/graphics/jpeginfo/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..f438bf6f7ed88004ac7c6d998816674b9238d83e --- /dev/null +++ b/pkgs/applications/graphics/jpeginfo/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, libjpeg }: + +stdenv.mkDerivation rec { + name = "jpeginfo-${version}"; + version = "1.6.1"; + + src = fetchurl { + url = "https://www.kokkonen.net/tjko/src/${name}.tar.gz"; + sha256 = "0lvn3pnylyj56158d3ix9w1gas1s29klribw9bz1xym03p7k37k2"; + }; + + buildInputs = [ libjpeg ]; + + meta = with stdenv.lib; { + description = "Prints information and tests integrity of JPEG/JFIF files"; + homepage = "https://www.kokkonen.net/tjko/projects.html"; + license = licenses.gpl2Plus; + maintainers = [ maintainers.bjornfor ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/applications/graphics/jpegoptim/default.nix b/pkgs/applications/graphics/jpegoptim/default.nix index ba64aae621599a51f1fd61bd4f825884becc194f..b24b14698e6ab56af8f06dd59322a0313409666e 100644 --- a/pkgs/applications/graphics/jpegoptim/default.nix +++ b/pkgs/applications/graphics/jpegoptim/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Optimize JPEG files"; - homepage = http://www.kokkonen.net/tjko/projects.html ; + homepage = https://www.kokkonen.net/tjko/projects.html ; license = licenses.gpl2; maintainers = [ maintainers.aristid ]; platforms = platforms.all; diff --git a/pkgs/applications/graphics/k3d/default.nix b/pkgs/applications/graphics/k3d/default.nix index 3555c2b477ffccc3ed4641d542aaa93da67cff56..301dc902dce912adcc9f0e84de497841c3e2f715 100644 --- a/pkgs/applications/graphics/k3d/default.nix +++ b/pkgs/applications/graphics/k3d/default.nix @@ -39,12 +39,15 @@ stdenv.mkDerivation rec { #doCheck = false; - meta = { + NIX_CFLAGS_COMPILE = [ + "-Wno-deprecated-declarations" + ]; + + meta = with stdenv.lib; { description = "A 3D editor with support for procedural editing"; homepage = http://www.k-3d.org/; - platforms = with stdenv.lib.platforms; - linux; - maintainers = with stdenv.lib.maintainers; - [raskin]; + platforms = platforms.linux; + maintainers = [ maintainers.raskin ]; + license = licenses.gpl2; }; } diff --git a/pkgs/applications/graphics/kgraphviewer/default.nix b/pkgs/applications/graphics/kgraphviewer/default.nix index 0d898df14b3f9ee5d9246ca289661f3009681f08..e70fafa24b60e252650f3339353eb16e9e3af48e 100644 --- a/pkgs/applications/graphics/kgraphviewer/default.nix +++ b/pkgs/applications/graphics/kgraphviewer/default.nix @@ -6,11 +6,11 @@ mkDerivation rec { name = "kgraphviewer-${version}"; - version = "2.4.2"; + version = "2.4.3"; src = fetchurl { url = "mirror://kde/stable/kgraphviewer/${version}/${name}.tar.xz"; - sha256 = "1jc5zfgy4narwgn7rscfwz7l5pjy0jghal6yb3kd4sfadi78nhs9"; + sha256 = "1h6pgg89gvxl8gw7wmkabyqqrzad5pxyv5lsmn1fl4ir8lcc5q2l"; }; buildInputs = [ diff --git a/pkgs/applications/graphics/kipi-plugins/default.nix b/pkgs/applications/graphics/kipi-plugins/default.nix index 48a94a5253d01e19cc8b6a83d017850e857e68b6..de51422d1da6a7c6e0751d38401343a5623bd161 100644 --- a/pkgs/applications/graphics/kipi-plugins/default.nix +++ b/pkgs/applications/graphics/kipi-plugins/default.nix @@ -6,18 +6,14 @@ }: stdenv.mkDerivation rec { - name = "kipi-plugins-${version}"; - version = "5.2.0"; + pname = "kipi-plugins"; + version = "5.9.1"; src = fetchurl { - url = "http://download.kde.org/stable/digikam/digikam-${version}.tar.xz"; - sha256 = "0q4j7iv20cxgfsr14qwzx05wbp2zkgc7cg2pi7ibcnwba70ky96g"; + url = "http://download.kde.org/stable/${pname}/${pname}-${version}.tar.xz"; + sha256 = "0hjm05nkz0w926sn4lav5258rda6zkd6gfnqd8hh3fa2q0dd7cq4"; }; - prePatch = '' - cd extra/kipi-plugins - ''; - nativeBuildInputs = [ extra-cmake-modules ]; buildInputs = [ karchive kconfig ki18n kiconthemes kio kservice kwindowsystem kxmlgui libkipi diff --git a/pkgs/applications/graphics/krita/default.nix b/pkgs/applications/graphics/krita/default.nix index 836a78ce058bd08762675a398db3f98c1c1a3413..507cee548e09320d9514eaa4f0df307099f3e064 100644 --- a/pkgs/applications/graphics/krita/default.nix +++ b/pkgs/applications/graphics/krita/default.nix @@ -1,35 +1,49 @@ -{ mkDerivation, lib, fetchurl, cmake, extra-cmake-modules +{ mkDerivation, lib, stdenv, fetchurl, cmake, extra-cmake-modules , karchive, kconfig, kwidgetsaddons, kcompletion, kcoreaddons , kguiaddons, ki18n, kitemmodels, kitemviews, kwindowsystem , kio, kcrash , boost, libraw, fftw, eigen, exiv2, libheif, lcms2, gsl, openexr, giflib -, openjpeg, opencolorio, vc, poppler_qt5, curl, ilmbase +, openjpeg, opencolorio, vc, poppler, curl, ilmbase , qtmultimedia, qtx11extras -, python3 +, python3Packages }: +let + +major = "4.1"; +minor = "8"; +patch = null; + +in + mkDerivation rec { name = "krita-${version}"; - version = "4.1.1"; + version = "${major}.${minor}"; src = fetchurl { - url = "https://download.kde.org/stable/krita/${version}/${name}.tar.gz"; - sha256 = "1qz9bjvnwa5gc2b0063i2p72jq6y1b6kgqdj39599acp7ws11asw"; + url = "https://download.kde.org/stable/krita/${major}.${minor}/${name}.tar.gz"; + sha256 = "0h2rplc76r82b8smk61zci1ijj9xkjmf20pdqa8fc2lz4zicjxh4"; }; - nativeBuildInputs = [ cmake extra-cmake-modules ]; + nativeBuildInputs = [ cmake extra-cmake-modules python3Packages.sip ]; buildInputs = [ karchive kconfig kwidgetsaddons kcompletion kcoreaddons kguiaddons ki18n kitemmodels kitemviews kwindowsystem kio kcrash boost libraw fftw eigen exiv2 lcms2 gsl openexr libheif giflib - openjpeg opencolorio vc poppler_qt5 curl ilmbase + openjpeg opencolorio poppler curl ilmbase qtmultimedia qtx11extras - python3 - ]; + python3Packages.pyqt5 + ] ++ lib.optional (stdenv.hostPlatform.isi686 || stdenv.hostPlatform.isx86_64) vc; NIX_CFLAGS_COMPILE = [ "-I${ilmbase.dev}/include/OpenEXR" ]; + cmakeFlags = [ + "-DPYQT5_SIP_DIR=${python3Packages.pyqt5}/share/sip/PyQt5" + "-DPYQT_SIP_DIR_OVERRIDE=${python3Packages.pyqt5}/share/sip/PyQt5" + "-DCMAKE_BUILD_TYPE=RelWithDebInfo" + ]; + meta = with lib; { description = "A free and open source painting application"; homepage = https://krita.org/; diff --git a/pkgs/applications/graphics/krop/default.nix b/pkgs/applications/graphics/krop/default.nix index 2858086e0d643b56dff55875313dad122971d3bc..c4c889cdba526477b334aee726b3ac1a6721db74 100644 --- a/pkgs/applications/graphics/krop/default.nix +++ b/pkgs/applications/graphics/krop/default.nix @@ -2,13 +2,13 @@ python3Packages.buildPythonApplication rec { pname = "krop"; - version = "0.5.0"; + version = "0.5.1"; src = fetchFromGitHub { owner = "arminstraub"; repo = pname; rev = "v${version}"; - sha256 = "0y8z9xr10wbzmi1dg1zpcsf3ihnxrnvlaf72821x3390s3qsnydf"; + sha256 = "0b1zqpks4vzq7sfhf7r9qrshr77f1ncj18x7d0fa3g29rxa42dcr"; }; propagatedBuildInputs = with python3Packages; [ diff --git a/pkgs/applications/graphics/ktikz/default.nix b/pkgs/applications/graphics/ktikz/default.nix index 4b3a423a8ce232d83a1fd3cf6b3702c476533790..25abcd9d41d7f85ab8b38fd914ab990cec6553cc 100644 --- a/pkgs/applications/graphics/ktikz/default.nix +++ b/pkgs/applications/graphics/ktikz/default.nix @@ -46,7 +46,7 @@ stdenv.mkDerivation rec { # lrelease command: LRELEASECOMMAND = lrelease # qcollectiongenerator command: - #QCOLLECTIONGENERATORCOMMAND = qcollectiongenerator + QCOLLECTIONGENERATORCOMMAND = qhelpgenerator # TikZ documentation default file path: TIKZ_DOCUMENTATION_DEFAULT = @out@/share/doc/texmf/pgf/pgfmanual.pdf.gz diff --git a/pkgs/applications/graphics/mypaint/default.nix b/pkgs/applications/graphics/mypaint/default.nix index 120fc1174cdf9c99c03b58251ad7627d43cfc986..36c7e7e2fb30dd9a889e9174b22f62150193b65b 100644 --- a/pkgs/applications/graphics/mypaint/default.nix +++ b/pkgs/applications/graphics/mypaint/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, gtk3, intltool, json_c, lcms2, libpng, librsvg, gobjectIntrospection, hicolor-icon-theme +{ stdenv, fetchFromGitHub, gtk3, intltool, json_c, lcms2, libpng, librsvg, gobject-introspection, hicolor-icon-theme , gdk_pixbuf, pkgconfig, python2Packages, scons, swig, wrapGAppsHook }: let @@ -17,7 +17,7 @@ in stdenv.mkDerivation rec { nativeBuildInputs = [ intltool pkgconfig scons swig wrapGAppsHook - gobjectIntrospection # for setup hook + gobject-introspection # for setup hook ]; buildInputs = [ @@ -26,10 +26,7 @@ in stdenv.mkDerivation rec { propagatedBuildInputs = [ numpy ]; - buildPhase = "scons prefix=$out"; - - installPhase = '' - scons prefix=$out install + postInstall = '' sed -i -e 's|/usr/bin/env python2.7|${python}/bin/python|' $out/bin/mypaint ''; diff --git a/pkgs/applications/graphics/ocrad/default.nix b/pkgs/applications/graphics/ocrad/default.nix index 2ff62cc9eef27d5080e928aefbca6f3fe046df88..80f59268111056830054bc98635720ad41c75443 100644 --- a/pkgs/applications/graphics/ocrad/default.nix +++ b/pkgs/applications/graphics/ocrad/default.nix @@ -1,14 +1,16 @@ { fetchurl, stdenv, lzip, texinfo }: stdenv.mkDerivation rec { - name = "ocrad-0.26"; + pname = "ocrad"; + version = "0.27"; src = fetchurl { - url = "mirror://gnu/ocrad/${name}.tar.lz"; - sha256 = "0g4fq7maybdnd1471kd05a3f5sb7spa3d26k706rk85sd5wd70y3"; + url = "mirror://gnu/ocrad/${pname}-${version}.tar.lz"; + sha256 = "0divffvcaim89g4pvqs8kslbcxi475bcl3b4ynphf284k9zfdgx9"; }; - buildInputs = [ lzip texinfo ]; + nativeBuildInputs = [ lzip /* unpack */ ]; + buildInputs = [ texinfo ]; doCheck = true; diff --git a/pkgs/applications/graphics/openimageio/default.nix b/pkgs/applications/graphics/openimageio/default.nix index 49835298f132b733f673f4acec53141f257b0c9a..f405ca01200d984509d0235d7ee3c347c51a96ee 100644 --- a/pkgs/applications/graphics/openimageio/default.nix +++ b/pkgs/applications/graphics/openimageio/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { name = "openimageio-${version}"; - version = "1.8.9"; + version = "1.8.16"; src = fetchFromGitHub { owner = "OpenImageIO"; repo = "oiio"; rev = "Release-${version}"; - sha256 = "0xyfb41arvi3cc5jvgj2m8skzjrb0xma8sml74svygjgagxfj65h"; + sha256 = "0isx137c6anvs1xfxi0z35v1cw855xvnq2ca0pakqqpdh0yivrps"; }; outputs = [ "bin" "out" "dev" "doc" ]; diff --git a/pkgs/applications/graphics/openscad/default.nix b/pkgs/applications/graphics/openscad/default.nix index 44855d5c8b49c0c4f06e9f054bac229b6141704d..bce2e882698302f1f4beaae9b2ee91c50e00c685 100644 --- a/pkgs/applications/graphics/openscad/default.nix +++ b/pkgs/applications/graphics/openscad/default.nix @@ -28,6 +28,9 @@ stdenv.mkDerivation rec { qmakeFlags = [ "VERSION=${version}" ]; + # src/lexer.l:36:10: fatal error: parser.hxx: No such file or directory + enableParallelBuilding = false; # true by default due to qmake + doCheck = false; meta = { diff --git a/pkgs/applications/graphics/paraview/default.nix b/pkgs/applications/graphics/paraview/default.nix index 9839bb740778147a11a964d7efba5345f72a3e06..cf13c6fb05e9d010c403721d447e25c575298741 100644 --- a/pkgs/applications/graphics/paraview/default.nix +++ b/pkgs/applications/graphics/paraview/default.nix @@ -6,7 +6,7 @@ stdenv, fetchFromGitHub, cmake, makeWrapper stdenv.mkDerivation rec { name = "paraview-${version}"; - version = "5.5.2"; + version = "5.6.0"; # fetching from GitHub instead of taking an "official" source # tarball because of missing submodules there @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { owner = "Kitware"; repo = "ParaView"; rev = "v${version}"; - sha256 = "1jivph7lppnflmjsiirhgv0mnh8mxx41i1vzkk78ynn00rzacx3j"; + sha256 = "1j13yfdgcv4yzfr449i4c8r4rs1c9zr6qd3igr4vv3ani8zixkzi"; fetchSubmodules = true; }; diff --git a/pkgs/applications/graphics/pbrt/default.nix b/pkgs/applications/graphics/pbrt/default.nix index 1c582df50dead922b05b9ef508c17e50b298fb45..3cc7166b4e46c8ad721417c43105cd7c6ee867f9 100644 --- a/pkgs/applications/graphics/pbrt/default.nix +++ b/pkgs/applications/graphics/pbrt/default.nix @@ -2,17 +2,22 @@ stdenv.mkDerivation rec { - version = "2017-01-12"; + version = "2018-08-15"; name = "pbrt-v3-${version}"; src = fetchFromGitHub { - rev = "35b6da3429526f2026fe5e5ebaf36d593e113028"; + rev = "86b5821308088deea70b207bc8c22219d0103d65"; owner = "mmp"; repo = "pbrt-v3"; - sha256 = "10lvbph13p6ilzqb8sgrvn9gg1zmi8wpy3hhjbqp8dnsa4x0mhj7"; + sha256 = "0f7ivsczba6zfk5f0bba1js6dcwf6w6jrkiby147qp1sx5k35cv8"; fetchSubmodules = true; }; + patches = [ + # https://github.com/mmp/pbrt-v3/issues/196 + ./openexr-cmake-3.12.patch + ]; + buildInputs = [ git flex bison cmake zlib ]; meta = with stdenv.lib; { diff --git a/pkgs/applications/graphics/pbrt/openexr-cmake-3.12.patch b/pkgs/applications/graphics/pbrt/openexr-cmake-3.12.patch new file mode 100644 index 0000000000000000000000000000000000000000..2993922a1ecf475812459f809179ddf1bb57b98e --- /dev/null +++ b/pkgs/applications/graphics/pbrt/openexr-cmake-3.12.patch @@ -0,0 +1,26 @@ +diff -ur a/src/ext/openexr/CMakeLists.txt b/src/ext/openexr/CMakeLists.txt +--- a/src/ext/openexr/CMakeLists.txt 1970-01-01 09:00:01.000000000 +0900 ++++ b/src/ext/openexr/CMakeLists.txt 2018-08-31 21:44:56.490714484 +0900 +@@ -26,22 +26,4 @@ + ${CMAKE_CURRENT_BINARY_DIR}/IlmBase/config + ) + +-add_custom_target(CopyIlmBaseLibs +- COMMAND ${CMAKE_COMMAND} -E copy_directory +- ${CMAKE_CURRENT_BINARY_DIR}/IlmBase/Half/$ +- ${CMAKE_CURRENT_BINARY_DIR}/OpenEXR/IlmImf/$ +- COMMAND ${CMAKE_COMMAND} -E copy_directory +- ${CMAKE_CURRENT_BINARY_DIR}/IlmBase/IlmThread/$ +- ${CMAKE_CURRENT_BINARY_DIR}/OpenEXR/IlmImf/$ +- COMMAND ${CMAKE_COMMAND} -E copy_directory +- ${CMAKE_CURRENT_BINARY_DIR}/IlmBase/Iex/$ +- ${CMAKE_CURRENT_BINARY_DIR}/OpenEXR/IlmImf/$ +- COMMAND ${CMAKE_COMMAND} -E copy_directory +- ${CMAKE_CURRENT_BINARY_DIR}/IlmBase/Imath/$ +- ${CMAKE_CURRENT_BINARY_DIR}/OpenEXR/IlmImf/$ +-) +-add_dependencies(CopyIlmBaseLibs Iex Imath IlmThread Half) +- + add_subdirectory(OpenEXR OpenEXR) +-add_dependencies(b44ExpLogTable CopyIlmBaseLibs) +-add_dependencies(dwaLookups CopyIlmBaseLibs) diff --git a/pkgs/applications/graphics/photivo/default.nix b/pkgs/applications/graphics/photivo/default.nix index 73bbd5003bd88312c3e3e78d792fa0ef257a39f6..4843898eb645a6326facfa1fb9e00db502b6926e 100644 --- a/pkgs/applications/graphics/photivo/default.nix +++ b/pkgs/applications/graphics/photivo/default.nix @@ -35,7 +35,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; meta = with stdenv.lib; { - platforms = platforms.linux; - maintainers = [ ]; + platforms = platforms.linux; + license = licenses.gpl3; }; } diff --git a/pkgs/applications/graphics/photoflow/default.nix b/pkgs/applications/graphics/photoflow/default.nix index ffef558e84dd816ad0b9e231b4968d8ce15699a7..db41ee0566feae5e6843401a8f14d3bf32e7e3de 100644 --- a/pkgs/applications/graphics/photoflow/default.nix +++ b/pkgs/applications/graphics/photoflow/default.nix @@ -1,13 +1,13 @@ -{ stdenv, fetchFromGitHub, gettext, glib, libxml2, pkgconfig, swig, automake, gobjectIntrospection, cmake, ninja, libtiff, libjpeg, fftw, exiv2, lensfun, gtkmm2, libraw, lcms2, libexif, vips, expat, pcre, pugixml }: +{ stdenv, fetchFromGitHub, gettext, glib, libxml2, pkgconfig, swig, automake, gobject-introspection, cmake, ninja, libtiff, libjpeg, fftw, exiv2, lensfun, gtkmm2, libraw, lcms2, libexif, vips, expat, pcre, pugixml }: stdenv.mkDerivation { - name = "photoflow-unstable-2018-03-06"; + name = "photoflow-unstable-2018-08-28"; src = fetchFromGitHub { owner = "aferrero2707"; repo = "PhotoFlow"; - rev = "f9bbea183fa02412d1d17075955d2284eeaf8174"; - sha256 = "1fsk7kdmlkd64wcswbxrl87aqwmzqak6p3s38ggxzx2h51fa7lmf"; + rev = "df03f2538ddd232e693c307db4ab63eb5bdfea38"; + sha256 = "08ybhv08h24y4li8wb4m89xgrz1szlwpksf6vjharp8cznn4y4x9"; }; nativeBuildInputs = [ @@ -17,7 +17,7 @@ stdenv.mkDerivation { pkgconfig swig automake - gobjectIntrospection + gobject-introspection cmake ninja ]; @@ -50,6 +50,7 @@ stdenv.mkDerivation { homepage = https://aferrero2707.github.io/PhotoFlow/; license = licenses.gpl3Plus; maintainers = [ maintainers.MtP ]; - platforms = platforms.all; + platforms = platforms.linux; + broken = stdenv.isAarch64; }; } diff --git a/pkgs/applications/graphics/phototonic/default.nix b/pkgs/applications/graphics/phototonic/default.nix index ce300eaf9f6de77f84c03b5e458f23dcd5bc8d5c..7da1d4b612f9263f419e850fd7f8c9171e5dcd42 100644 --- a/pkgs/applications/graphics/phototonic/default.nix +++ b/pkgs/applications/graphics/phototonic/default.nix @@ -2,15 +2,13 @@ stdenv.mkDerivation rec { name = "phototonic-${version}"; - version = "1.7.1"; + version = "2.1"; src = fetchFromGitHub { repo = "phototonic"; owner = "oferkv"; - # There is currently no tag for 1.7.1 see - # https://github.com/oferkv/phototonic/issues/214 - rev = "c37070e4a068570d34ece8de1e48aa0882c80c5b"; - sha256 = "1agd3bsrpljd019qrjvlbim5l0bhpx53dhpc0gvyn0wmcdzn92gj"; + rev = "v${version}"; + sha256 = "0csidmxl1sfmn6gq81vn9f9jckb4swz3sgngnwqa4f75lr6604h7"; }; buildInputs = [ qtbase exiv2 ]; diff --git a/pkgs/applications/graphics/pqiv/default.nix b/pkgs/applications/graphics/pqiv/default.nix index e4f565b3b052b6eb6603fc8277eb53bc25d60904..ec4ce69d5e87e5a8c123a48308f6893944c6dbdb 100644 --- a/pkgs/applications/graphics/pqiv/default.nix +++ b/pkgs/applications/graphics/pqiv/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation (rec { name = "pqiv-${version}"; - version = "2.10.4"; + version = "2.11"; src = fetchFromGitHub { owner = "phillipberndt"; repo = "pqiv"; rev = version; - sha256 = "04fawc3sd625y1bbgfgwmak56pq28sm58dwn5db4h183iy3awdl9"; + sha256 = "06cwm28b7j1skwp21s5snmj1pqh3xh6y2i5v4w3pz0b8k3053h9i"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/graphics/processing3/default.nix b/pkgs/applications/graphics/processing3/default.nix index 5575c56b7fd09f09a85f10cdc457ef9affb038cd..6f90131db12afe4dbd1d0e35e7117b96d2b49d97 100644 --- a/pkgs/applications/graphics/processing3/default.nix +++ b/pkgs/applications/graphics/processing3/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { ${xmlstarlet}/bin/xmlstarlet ed --inplace -P -d '//get[@src="http://download.processing.org/reference.zip"]' build/build.xml install -D -m0444 ${fetchurl { url = http://download.processing.org/reference.zip; - sha256 = "0dli1bdgw8hsx7g7b048ap81v2za9maa6pfcwdqm3qkfypr8q7pr"; + sha256 = "0ai0cr62gc7n6y22ki3qibyj1qnlaxv1miqxmmahfk3hpbyfqz9n"; } } ./java/reference.zip diff --git a/pkgs/applications/graphics/qcomicbook/default.nix b/pkgs/applications/graphics/qcomicbook/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..c37e21ec898ae16b25c00c1e17a094a4f1356fd2 --- /dev/null +++ b/pkgs/applications/graphics/qcomicbook/default.nix @@ -0,0 +1,43 @@ +{ stdenv, fetchFromGitHub, pkgconfig, cmake, qtbase, qttools, qtx11extras, poppler }: + +stdenv.mkDerivation rec { + name = "qcomicbook-${version}"; + version = "0.9.1"; + + src = fetchFromGitHub { + owner = "stolowski"; + repo = "QComicBook"; + rev = version; + sha256 = "1b769lp6gfwds4jb2g7ymhdm9c06zg57zpyz3zpdb40w07zfsjzv"; + }; + + nativeBuildInputs = [ + cmake pkgconfig + ]; + + buildInputs = [ + qtbase qttools qtx11extras poppler + ]; + + postInstall = '' + substituteInPlace $out/share/applications/*.desktop \ + --replace "Exec=qcomicbook" "Exec=$out/bin/qcomicbook" + ''; + + meta = with stdenv.lib; { + homepage = https://github.com/stolowski/QComicBook; + description = "Comic book reader in Qt5"; + license = licenses.gpl2; + + longDescription = '' + QComicBook is a viewer for PDF files and comic book archives containing + jpeg/png/xpm/gif/bmp images, which aims at convenience and simplicity. + Features include: automatic unpacking of archive files, full-screen mode, continuous + scrolling mode, double-pages viewing, manga mode, thumbnails view, page scaling, + mouse or keyboard navigation etc. + ''; + + platforms = platforms.linux; + maintainers = with maintainers; [ greydot ]; + }; +} diff --git a/pkgs/applications/graphics/qiv/default.nix b/pkgs/applications/graphics/qiv/default.nix index 02f5f33f6e6b6db839db09a1a25ff00095481f56..ce08e2b1be92199dfd75db8a46b7b169957df441 100644 --- a/pkgs/applications/graphics/qiv/default.nix +++ b/pkgs/applications/graphics/qiv/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, pkgconfig, gtk2, imlib2, file, lcms2, libexif } : stdenv.mkDerivation (rec { - version = "2.3.1"; + version = "2.3.2"; name = "qiv-${version}"; src = fetchurl { url = "https://spiegl.de/qiv/download/${name}.tgz"; - sha256 = "1rlf5h67vhj7n1y7jqkm9k115nfnzpwngj3kzqsi2lg676srclv7"; + sha256 = "1mc0f2nnas4q0d7zc9r6g4z93i32xlx0p9hl4fn5zkyml24a1q28"; }; nativeBuildInputs = [ pkgconfig ]; @@ -15,12 +15,14 @@ stdenv.mkDerivation (rec { preBuild='' substituteInPlace Makefile --replace /usr/local "$out" substituteInPlace Makefile --replace /man/ /share/man/ + substituteInPlace Makefile --replace /share/share/ /share/ ''; - meta = { + meta = with stdenv.lib; { description = "Quick image viewer"; homepage = http://spiegl.de/qiv/; inherit version; - platforms = stdenv.lib.platforms.linux; + license = licenses.gpl2; + platforms = platforms.linux; }; }) diff --git a/pkgs/applications/graphics/rapid-photo-downloader/default.nix b/pkgs/applications/graphics/rapid-photo-downloader/default.nix index d47f08c90b9cb643b19f090b43b2941a29852463..0f19a296df396a6cdd68f753187bd425e94d4423 100644 --- a/pkgs/applications/graphics/rapid-photo-downloader/default.nix +++ b/pkgs/applications/graphics/rapid-photo-downloader/default.nix @@ -1,16 +1,16 @@ { stdenv, fetchurl, python3Packages -, file, intltool, gobjectIntrospection, libgudev -, udisks, glib, gnome3, gst_all_1, libnotify -, exiv2, exiftool, qt5, gdk_pixbuf +, file, intltool, gobject-introspection, libgudev +, udisks, gexiv2, gst_all_1, libnotify +, exiftool, gdk_pixbuf, libmediainfo }: python3Packages.buildPythonApplication rec { pname = "rapid-photo-downloader"; - version = "0.9.10"; + version = "0.9.14"; src = fetchurl { url = "https://launchpad.net/rapid/pyqt/${version}/+download/${pname}-${version}.tar.gz"; - sha256 = "1i0lfj9gnfya49gxx59ls364z651fqagd4krnz9jhg9m0l48ljdf"; + sha256 = "1nywkkyxlpzq3s9anza9k67j5689pfclfha218frih36qdb0j258"; }; # Disable version check and fix install tests @@ -19,24 +19,34 @@ python3Packages.buildPythonApplication rec { --replace "disable_version_check = False" "disable_version_check = True" substituteInPlace raphodo/rescan.py \ --replace "from preferences" "from raphodo.preferences" - substituteInPlace raphodo/copyfiles.py \ - --replace "import problemnotification" "import raphodo.problemnotification" ''; - nativeBuildInputs = [ file intltool gobjectIntrospection ]; + nativeBuildInputs = [ + file + intltool + ]; + + # Package has no generally usable unit tests. + # The included doctests expect specific, hardcoded hardware to be present. + doCheck = false; + # NOTE: Without gobject-introspection in buildInputs, launching fails with + # "Namespace [Notify / GExiv2 / GUdev] not available" buildInputs = [ - libgudev - udisks - glib - gnome3.gexiv2 + gdk_pixbuf + gexiv2 + gobject-introspection + gst_all_1.gst-libav + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good gst_all_1.gstreamer + gst_all_1.gstreamer.dev + libgudev libnotify - exiv2 - exiftool - qt5.qtimageformats - gdk_pixbuf - ] ++ (with python3Packages; [ + udisks + ]; + + propagatedBuildInputs = with python3Packages; [ pyqt5 pygobject3 gphoto2 @@ -54,11 +64,14 @@ python3Packages.buildPythonApplication rec { requests colorlog pyprind - ]); + ]; makeWrapperArgs = [ "--set GI_TYPELIB_PATH \"$GI_TYPELIB_PATH\"" "--set PYTHONPATH \"$PYTHONPATH\"" + "--prefix PATH : ${stdenv.lib.makeBinPath [ exiftool ]}" + "--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [ libmediainfo ]}" + "--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : \"$GST_PLUGIN_SYSTEM_PATH_1_0\"" ]; meta = with stdenv.lib; { diff --git a/pkgs/applications/graphics/rawtherapee/default.nix b/pkgs/applications/graphics/rawtherapee/default.nix index 52cdc0bc0676454d1e5efb625b8a1739840c78ce..74e8c0e6b434aa57eafc13f0573dd7c6d00d7710 100644 --- a/pkgs/applications/graphics/rawtherapee/default.nix +++ b/pkgs/applications/graphics/rawtherapee/default.nix @@ -4,14 +4,14 @@ }: stdenv.mkDerivation rec { - version = "5.4"; + version = "5.5"; name = "rawtherapee-" + version; src = fetchFromGitHub { owner = "Beep6581"; repo = "RawTherapee"; rev = version; - sha256 = "1h2x5biqsb4kfwsffqkyk8ky22qv2a0cjs1s445x9farcr3kwk99"; + sha256 = "13clnx7rwkfa7wxgsim1xdx2pd7gwmmdad1m8a3fvywr20ml8xzk"; }; nativeBuildInputs = [ cmake pkgconfig wrapGAppsHook ]; diff --git a/pkgs/applications/graphics/renderdoc/default.nix b/pkgs/applications/graphics/renderdoc/default.nix index 99e250e9e4d7d9d560ab3e852ddfaed7ba0345b8..89828ff45d7c51712cb6f6ffea0e95cce82c71b0 100644 --- a/pkgs/applications/graphics/renderdoc/default.nix +++ b/pkgs/applications/graphics/renderdoc/default.nix @@ -1,29 +1,29 @@ { stdenv, fetchFromGitHub, cmake, pkgconfig , qtbase, qtx11extras, qtsvg, makeWrapper , vulkan-loader, xorg -, python36, bison, pcre, automake, autoconf +, python3, bison, pcre, automake, autoconf }: let custom_swig = fetchFromGitHub { owner = "baldurk"; repo = "swig"; - rev = "renderdoc-modified-5"; - sha256 = "0ihrxbx56p5wn589fbbsns93fp91sypqdzfxdy7l7v9sf69a41mw"; + rev = "renderdoc-modified-6"; + sha256 = "00ykqlzx1k9iwqjlc54kfch7cnzsj53hxn7ql70dj3rxqzrnadc0"; }; in stdenv.mkDerivation rec { - version = "1.1"; + version = "1.2"; name = "renderdoc-${version}"; src = fetchFromGitHub { owner = "baldurk"; repo = "renderdoc"; rev = "v${version}"; - sha256 = "0kb9m1dm0mnglqyh1srvl0f1bgjghxzbqarn0xfqw49wphqwhmcd"; + sha256 = "0s1q5d58x18yz3nf94pv5i1qd2hc0a4gdj4qkpcn8s6ms2x05pz4"; }; buildInputs = [ - qtbase qtsvg xorg.libpthreadstubs xorg.libXdmcp qtx11extras vulkan-loader python36 + qtbase qtsvg xorg.libpthreadstubs xorg.libXdmcp qtx11extras vulkan-loader python3 ]; nativeBuildInputs = [ cmake makeWrapper pkgconfig bison pcre automake autoconf ]; diff --git a/pkgs/applications/graphics/sane/backends/brscan4/default.nix b/pkgs/applications/graphics/sane/backends/brscan4/default.nix index df44c132ed96587ae4363737446115bbe7c8c033..b431cf51b019e9d65b69fc2ab292b158554172e5 100644 --- a/pkgs/applications/graphics/sane/backends/brscan4/default.nix +++ b/pkgs/applications/graphics/sane/backends/brscan4/default.nix @@ -12,17 +12,17 @@ let in stdenv.mkDerivation rec { name = "brscan4-0.4.4-4"; src = - if stdenv.system == "i686-linux" then + if stdenv.hostPlatform.system == "i686-linux" then fetchurl { url = "http://download.brother.com/welcome/dlf006646/${name}.i386.deb"; sha256 = "13mhjbzf9nvpdzrc2s98684r7likg76zxs1wlz2h8w59fsqgx4k2"; } - else if stdenv.system == "x86_64-linux" then + else if stdenv.hostPlatform.system == "x86_64-linux" then fetchurl { url = "https://download.brother.com/welcome/dlf006645/${name}.amd64.deb"; sha256 = "0xy5px96y1saq9l80vwvfn6anr2q42qlxdhm6ci2a0diwib5q9fd"; } - else throw "${name} is not supported on ${stdenv.system} (only i686-linux and x86_64 linux are supported)"; + else throw "${name} is not supported on ${stdenv.hostPlatform.system} (only i686-linux and x86_64 linux are supported)"; unpackPhase = '' ar x $src diff --git a/pkgs/applications/graphics/sane/backends/dsseries/default.nix b/pkgs/applications/graphics/sane/backends/dsseries/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..01c203b407c152042126bda14ba0db97105eda68 --- /dev/null +++ b/pkgs/applications/graphics/sane/backends/dsseries/default.nix @@ -0,0 +1,53 @@ +{ stdenv, fetchurl, rpmextract }: + +stdenv.mkDerivation rec { + name = "libsane-dsseries-${version}"; + version = "1.0.5-1"; + + src = fetchurl { + url = "https://download.brother.com/welcome/dlf100974/${name}.x86_64.rpm"; + sha256 = "1wfdbfbf51cc7njzikdg48kwpnpc0pg5s6p0s0y3z0q7y59x2wbq"; + }; + + nativeBuildInputs = [ rpmextract ]; + + unpackCmd = '' + mkdir ${name} && pushd ${name} + rpmextract $curSrc + popd + ''; + + patchPhase = '' + substituteInPlace etc/udev/rules.d/50-Brother_DSScanner.rules \ + --replace 'GROUP="users"' 'GROUP="scanner", ENV{libsane_matched}="yes"' + + mkdir -p etc/sane.d/dll.d + echo "dsseries" > etc/sane.d/dll.d/dsseries.conf + ''; + + installPhase = '' + mkdir -p $out + cp -dr etc $out + cp -dr usr/lib64 $out/lib + ''; + + preFixup = '' + for f in `find $out/lib/sane/ -type f`; do + # Make it possible to find libstdc++.so.6 + patchelf --set-rpath ${stdenv.cc.cc.lib}/lib:$out/lib/sane $f + + # Horrible kludge: The driver hardcodes /usr/lib/sane/ as a dlopen path. + # We can directly modify the binary to force a relative lookup instead. + # The new path is NULL-padded to the same length as the original path. + sed -i "s|/usr/lib/sane/%s|%s\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00|g" $f + done + ''; + + meta = { + description = "Brother DSSeries SANE backend driver"; + homepage = http://www.brother.com; + platforms = stdenv.lib.platforms.linux; + license = stdenv.lib.licenses.unfree; + maintainers = with stdenv.lib.maintainers; [ callahad ]; + }; +} diff --git a/pkgs/applications/graphics/seg3d/default.nix b/pkgs/applications/graphics/seg3d/default.nix index bca88cc7013030e42248d60438095a810c8fa462..58cec2ec1703123e4714636c88b5444e86ed9133 100644 --- a/pkgs/applications/graphics/seg3d/default.nix +++ b/pkgs/applications/graphics/seg3d/default.nix @@ -23,7 +23,6 @@ stdenv.mkDerivation { "-DBUILD_BIOMESH3D=1" "-DWITH_TETGEN=1" "-DBUILD_TYPE=Release" - "-DBUILD_TESTING=0" "-DWITH_WXWIDGETS=ON" "-DITK_DIR=${itk}/lib/InsightToolkit" "-DGDCM_LIBRARY=${itk}/lib/libitkgdcm.a" diff --git a/pkgs/applications/graphics/shotwell/default.nix b/pkgs/applications/graphics/shotwell/default.nix index 1ebc2f88ec5da247563c5c052d0b169754bc8c47..c8ada0e85fe7d8e3c42dabb2ecc1add041628f99 100644 --- a/pkgs/applications/graphics/shotwell/default.nix +++ b/pkgs/applications/graphics/shotwell/default.nix @@ -1,35 +1,95 @@ -{ fetchurl, stdenv, meson, ninja, gtk3, libexif, libgphoto2, libsoup, libxml2, vala, sqlite -, webkitgtk, pkgconfig, gnome3, gst_all_1, libgudev, libraw, glib, json-glib -, gettext, desktop-file-utils, gdk_pixbuf, librsvg, wrapGAppsHook -, gobjectIntrospection, itstool, libgdata }: +{ stdenv +, fetchurl +, fetchpatch +, meson +, ninja +, gtk3 +, libexif +, libgphoto2 +, libwebp +, libsoup +, libxml2 +, vala +, sqlite +, webkitgtk +, pkgconfig +, gnome3 +, gst_all_1 +, libgudev +, libraw +, glib +, json-glib +, gcr +, libgee +, gexiv2 +, librest +, gettext +, desktop-file-utils +, gdk_pixbuf +, librsvg +, wrapGAppsHook +, gobject-introspection +, itstool +, libgdata +, libchamplain +, gsettings-desktop-schemas +, python3 +}: # for dependencies see https://wiki.gnome.org/Apps/Shotwell/BuildingAndInstalling -let +stdenv.mkDerivation rec { pname = "shotwell"; - version = "0.28.2"; -in stdenv.mkDerivation rec { - name = "${pname}-${version}"; + version = "0.31.0"; src = fetchurl { - url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz"; - sha256 = "0pa7lb33i4hdnz7hr7x938d48ilrnj47jzb99la79rmm08yyin8n"; + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1pwq953wl7h9cvw7rvlr6pcbq9w28kkr7ddb8x2si81ngp0imwyx"; }; nativeBuildInputs = [ - meson ninja vala pkgconfig itstool gettext desktop-file-utils wrapGAppsHook gobjectIntrospection + meson + ninja + vala + pkgconfig + itstool + gettext + desktop-file-utils + python3 + wrapGAppsHook + gobject-introspection ]; buildInputs = [ - gtk3 libexif libgphoto2 libsoup libxml2 sqlite webkitgtk - gst_all_1.gstreamer gst_all_1.gst-plugins-base gnome3.libgee - libgudev gnome3.gexiv2 gnome3.gsettings-desktop-schemas - libraw json-glib glib gdk_pixbuf librsvg gnome3.rest - gnome3.gcr gnome3.defaultIconTheme libgdata + gtk3 + libexif + libgphoto2 + libwebp + libsoup + libxml2 + sqlite + webkitgtk + gst_all_1.gstreamer + gst_all_1.gst-plugins-base + libgee + libgudev + gexiv2 + gsettings-desktop-schemas + libraw + json-glib + glib + gdk_pixbuf + librsvg + librest + gcr + gnome3.adwaita-icon-theme + libgdata + libchamplain ]; - postInstall = '' - glib-compile-schemas $out/share/glib-2.0/schemas + postPatch = '' + chmod +x build-aux/meson/postinstall.py # patchShebangs requires executable file + patchShebangs build-aux/meson/postinstall.py ''; passthru = { diff --git a/pkgs/applications/graphics/shutter/default.nix b/pkgs/applications/graphics/shutter/default.nix index a409060afdc680307c3ed3a43fd8fd4e264e7168..5800fb6df3cfd294cc5c5d607098f5d7fb170da8 100644 --- a/pkgs/applications/graphics/shutter/default.nix +++ b/pkgs/applications/graphics/shutter/default.nix @@ -1,27 +1,28 @@ -{ stdenv, fetchurl, perl, perlPackages, makeWrapper, imagemagick, gdk_pixbuf, librsvg -, hicolor-icon-theme +{ stdenv, fetchurl, perlPackages, makeWrapper, imagemagick, gdk_pixbuf, librsvg +, hicolor-icon-theme, procps }: let perlModules = with perlPackages; [ Gnome2 Gnome2Canvas Gtk2 Glib Pango Gnome2VFS Gnome2Wnck Gtk2ImageView - Gtk2Unique FileWhich FileCopyRecursive XMLSimple NetDBus XMLTwig + Gtk2Unique FileBaseDir FileWhich FileCopyRecursive XMLSimple NetDBus XMLTwig XMLParser HTTPMessage ProcSimple SortNaturally LocaleGettext ProcProcessTable URI ImageExifTool Gtk2AppIndicator LWP JSON - PerlMagick WWWMechanize HTTPDate HTMLForm HTMLParser HTMLTagset JSONXS + PerlMagick WWWMechanize HTTPDate HTMLForm HTMLParser HTMLTagset JSONMaybeXS commonsense HTTPCookies NetOAuth PathClass GooCanvas X11Protocol Cairo EncodeLocale TryTiny TypesSerialiser LWPMediaTypes ]; in stdenv.mkDerivation rec { - name = "shutter-0.94"; + name = "shutter-0.94.2"; src = fetchurl { - url = "https://launchpad.net/shutter/0.9x/0.94/+download/shutter-0.94.tar.gz"; - sha256 = "943152cdf9e1b2096d38e3da9622d8bf97956a08eda747c3e7fcc564a3f0f40d"; + url = "https://launchpad.net/shutter/0.9x/0.94.2/+download/shutter-0.94.2.tar.gz"; + sha256 = "0mas7npm935j4rhqqjn226822s9sa4bsxrkp0b5fjj3z096k6vw0"; }; - buildInputs = [ perl makeWrapper gdk_pixbuf librsvg ] ++ perlModules; + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ perlPackages.perl procps gdk_pixbuf librsvg ] ++ perlModules; installPhase = '' mkdir -p "$out" @@ -29,7 +30,7 @@ stdenv.mkDerivation rec { (cd "$out" && mv CHANGES README COPYING "$out/share/doc/shutter") wrapProgram $out/bin/shutter \ - --set PERL5LIB "${stdenv.lib.makePerlPath perlModules}" \ + --set PERL5LIB "${perlPackages.makePerlPath perlModules}" \ --prefix PATH : "${imagemagick.out}/bin" \ --suffix XDG_DATA_DIRS : "${hicolor-icon-theme}/share" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" diff --git a/pkgs/applications/graphics/solvespace/default.nix b/pkgs/applications/graphics/solvespace/default.nix index a1d0316631fa848564f57e668c8a960a044dd868..7046caad295e2b79b92a87f5d4b67a27e4b85238 100644 --- a/pkgs/applications/graphics/solvespace/default.nix +++ b/pkgs/applications/graphics/solvespace/default.nix @@ -3,12 +3,12 @@ , wrapGAppsHook }: stdenv.mkDerivation rec { - name = "solvespace-2.3-20170808"; - rev = "16540b1b2c540a4b44500ac02aaa4493bccfba7e"; + name = "solvespace-2.3-20190501"; + rev = "e7b75f19c34c923780db776592b47152650d8f22"; src = fetchgit { url = https://github.com/solvespace/solvespace; inherit rev; - sha256 = "1z10i21xf3yagd984lp1hwasnsizx2s3faq3wdzzjngrikr2zn70"; + sha256 = "07k4mbzxf0dmzwdhjx5nc09y7rn1schkaypsw9kz0l7ppylprpp2"; fetchSubmodules = true; }; diff --git a/pkgs/applications/graphics/swingsane/default.nix b/pkgs/applications/graphics/swingsane/default.nix index 94666531c0c89c0f5c1c504b2d97a41439757523..d0f2a48c589d29e635b30355baf84492b339b8f1 100644 --- a/pkgs/applications/graphics/swingsane/default.nix +++ b/pkgs/applications/graphics/swingsane/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, makeDesktopItem, unzip, jre }: +{ stdenv, fetchurl, makeDesktopItem, unzip, jre, runtimeShell }: stdenv.mkDerivation rec { name = "swingsane-${version}"; @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { installPhase = let execWrapper = '' - #!/bin/sh + #!${runtimeShell} exec ${jre}/bin/java -jar $out/share/java/swingsane/swingsane-${version}.jar "$@" ''; diff --git a/pkgs/applications/graphics/sxiv/default.nix b/pkgs/applications/graphics/sxiv/default.nix index 7f118b6adc9a45c62641c898a7b3a95acc63a7f7..acbbf73465df996e372b493e4228398919207bf7 100644 --- a/pkgs/applications/graphics/sxiv/default.nix +++ b/pkgs/applications/graphics/sxiv/default.nix @@ -3,14 +3,14 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "sxiv-${version}"; - version = "24"; + pname = "sxiv"; + version = "25"; src = fetchFromGitHub { owner = "muennich"; - repo = "sxiv"; + repo = pname; rev = "v${version}"; - sha256 = "020n1bdxbzqncprh8a4rnjzc4frp335yxbqh5w6dr970f7n5qm8d"; + sha256 = "13s1lfar142hq1j7xld0ri616p4bqs57b17yr4d0b9a9w7liz4hp"; }; postUnpack = '' diff --git a/pkgs/applications/graphics/synfigstudio/default.nix b/pkgs/applications/graphics/synfigstudio/default.nix index 63d35cc545316f2c91677c77403aa3cf641497c0..b399dd2d2284d7cfcbd9715acd8903a350191836 100644 --- a/pkgs/applications/graphics/synfigstudio/default.nix +++ b/pkgs/applications/graphics/synfigstudio/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, boost, cairo, gettext, glibmm, gtk3, gtkmm3 , libjack2, libsigcxx, libxmlxx, makeWrapper, mlt-qt5, pango, pkgconfig -, imagemagick, intltool, autoreconfHook, which, defaultIconTheme +, imagemagick, intltool, autoreconfHook, which, gnome3 }: let @@ -105,7 +105,7 @@ stdenv.mkDerivation rec { buildInputs = [ ETL boost cairo glibmm gtk3 gtkmm3 imagemagick intltool libjack2 libsigcxx libxmlxx makeWrapper mlt-qt5 - synfig which defaultIconTheme + synfig which gnome3.adwaita-icon-theme ]; postInstall = '' diff --git a/pkgs/applications/graphics/tesseract/4.x.nix b/pkgs/applications/graphics/tesseract/4.x.nix deleted file mode 100644 index 156c911b9b8637101d8867e18155c0fc92713972..0000000000000000000000000000000000000000 --- a/pkgs/applications/graphics/tesseract/4.x.nix +++ /dev/null @@ -1,61 +0,0 @@ -{ stdenv, fetchFromGitHub, autoreconfHook, autoconf-archive, pkgconfig -, leptonica, libpng, libtiff, icu, pango, opencl-headers - -# Supported list of languages or `null' for all available languages -, enableLanguages ? null -}: - -stdenv.mkDerivation rec { - name = "tesseract-${version}"; - version = "4.00.00alpha-git-20170410"; - - src = fetchFromGitHub { - owner = "tesseract-ocr"; - repo = "tesseract"; - rev = "36a995bdc92eb2dd8bc5a63205708944a3f990a1"; - sha256 = "0xz3krvap8sdm27v1dyb34lcdmx11wzvxyszpppfsfmjgkvg19bq"; - }; - - tessdata = fetchFromGitHub { - owner = "tesseract-ocr"; - repo = "tessdata"; - rev = "8bf2e7ad08db9ca174ae2b0b3a7498c9f1f71d40"; - sha256 = "0idwkv4qsmmqhrxcgyhy32yldl3vk054m7dkv4fjswfnalgsx794"; - }; - - nativeBuildInputs = [ pkgconfig autoreconfHook autoconf-archive ]; - buildInputs = [ leptonica libpng libtiff icu pango opencl-headers ]; - - # Copy the .traineddata files of the languages specified in enableLanguages - # into `$out/share/tessdata' and check afterwards if copying was successful. - postInstall = let - mkArg = lang: "-iname ${stdenv.lib.escapeShellArg "${lang}.traineddata"}"; - mkFindArgs = stdenv.lib.concatMapStringsSep " -o " mkArg; - findLangArgs = if enableLanguages != null - then "\\( ${mkFindArgs enableLanguages} \\)" - else "-iname '*.traineddata'"; - in '' - numLangs="$(find "$tessdata" -mindepth 1 -maxdepth 1 -type f \ - ${findLangArgs} -exec cp -t "$out/share/tessdata" {} + -print | wc -l)" - - ${if enableLanguages != null then '' - expected=${toString (builtins.length enableLanguages)} - '' else '' - expected="$(ls -1 "$tessdata/"*.traineddata | wc -l)" - ''} - - if [ "$numLangs" -ne "$expected" ]; then - echo "Expected $expected languages, but $numLangs" \ - "were copied to \`$out/share/tessdata'" >&2 - exit 1 - fi - ''; - - meta = { - description = "OCR engine"; - homepage = https://github.com/tesseract-ocr/tesseract; - license = stdenv.lib.licenses.asl20; - maintainers = with stdenv.lib.maintainers; [viric]; - platforms = with stdenv.lib.platforms; linux; - }; -} diff --git a/pkgs/applications/graphics/tesseract/default.nix b/pkgs/applications/graphics/tesseract/default.nix index 7940079d099480b48f7c147b8c578a9aae146398..840c87de216b71e30da5b84b140c6ebf0807174f 100644 --- a/pkgs/applications/graphics/tesseract/default.nix +++ b/pkgs/applications/graphics/tesseract/default.nix @@ -1,67 +1,18 @@ -{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig -, leptonica, libpng, libtiff, icu, pango, opencl-headers -# Supported list of languages or `null' for all available languages -, enableLanguages ? null -# if you want just a specific list of languages, optionally specify a hash -# to make tessdata a fixed output derivation. -, enableLanguagesHash ? (if enableLanguages == null # all languages - then "1h48xfzabhn0ldbx5ib67cp9607pr0zpblsy8z6fs4knn0zznfnw" - else null) -}: +{ callPackage, lowPrio }: -let tessdata = stdenv.mkDerivation ({ - name = "tessdata"; - src = fetchFromGitHub { - owner = "tesseract-ocr"; - repo = "tessdata"; - rev = "3cf1e2df1fe1d1da29295c9ef0983796c7958b7d"; - # when updating don't forget to update the default value fo enableLanguagesHash - sha256 = "1v4b63v5nzcxr2y3635r19l7lj5smjmc9vfk0wmxlryxncb4vpg7"; - }; - buildCommand = '' - cd $src; - for lang in ${if enableLanguages==null then "*.traineddata" else stdenv.lib.concatMapStringsSep " " (x: x+".traineddata") enableLanguages} ; do - install -Dt $out/share/tessdata $src/$lang ; - done; - ''; - preferLocalBuild = true; - } // (stdenv.lib.optionalAttrs (enableLanguagesHash != null) { - # when a hash is given, we make this a fixed output derivation. - outputHashMode = "recursive"; - outputHashAlgo = "sha256"; - outputHash = enableLanguagesHash; - })); +let + base3 = callPackage ./tesseract3.nix {}; + base4 = callPackage ./tesseract4.nix {}; + languages = callPackage ./languages.nix {}; in - -stdenv.mkDerivation rec { - name = "tesseract-${version}"; - version = "3.05.00"; - - src = fetchFromGitHub { - owner = "tesseract-ocr"; - repo = "tesseract"; - rev = version; - sha256 = "11wrpcfl118wxsv2c3w2scznwb48c4547qml42s2bpdz079g8y30"; +{ + tesseract3 = callPackage ./wrapper.nix { + tesseractBase = base3; + languages = languages.v3; }; - enableParallelBuilding = true; - - nativeBuildInputs = [ pkgconfig autoreconfHook ]; - buildInputs = [ leptonica libpng libtiff icu pango opencl-headers ]; - - LIBLEPT_HEADERSDIR = "${leptonica}/include"; - - postInstall = '' - for i in ${tessdata}/share/tessdata/*; do - ln -s $i $out/share/tessdata; - done - ''; - - meta = { - description = "OCR engine"; - homepage = https://github.com/tesseract-ocr/tesseract; - license = stdenv.lib.licenses.asl20; - maintainers = with stdenv.lib.maintainers; [viric]; - platforms = with stdenv.lib.platforms; linux ++ darwin; - }; + tesseract4 = lowPrio (callPackage ./wrapper.nix { + tesseractBase = base4; + languages = languages.v4; + }); } diff --git a/pkgs/applications/graphics/tesseract/fetch-language-hashes b/pkgs/applications/graphics/tesseract/fetch-language-hashes new file mode 100755 index 0000000000000000000000000000000000000000..c431f1d97c260b853a8489f7699b378e72259edc --- /dev/null +++ b/pkgs/applications/graphics/tesseract/fetch-language-hashes @@ -0,0 +1,35 @@ +#!/usr/bin/env bash + +# Usage: +# ./fetch-language-hashes […] +# +# Fetches all languages if no language codes are given. +# +# Example: +# ./fetch-language-hashes 4.0.0 eng spa +# +# Output: +# eng = "0iy0..."; +# spa = "15kw..."; + +set -e + +(( $# >= 1 )) || exit 1 +tessdataRev=$1 +shift + +if (( $# > 0 )); then + langCodes="$@" +else + repoPage=$(curl -fs https://github.com/tesseract-ocr/tessdata/tree/$tessdataRev || { + >&2 echo "Invalid tessdataRev: $tessdataRev" + exit 1 + }) + langCodes=$(echo $(echo "$repoPage" | grep -ohP "(?<=/)[^/]+?(?=\.traineddata)" | sort)) +fi + +for lang in $langCodes; do + url=https://github.com/tesseract-ocr/tessdata/raw/$tessdataRev/$lang.traineddata + hash=$(nix-prefetch-url $url 2>/dev/null) + echo "$lang = \"$hash\";" +done diff --git a/pkgs/applications/graphics/tesseract/languages.nix b/pkgs/applications/graphics/tesseract/languages.nix new file mode 100644 index 0000000000000000000000000000000000000000..08512a5cdd9d4c23e7f066eec195799e4a63d9a6 --- /dev/null +++ b/pkgs/applications/graphics/tesseract/languages.nix @@ -0,0 +1,289 @@ +{ stdenv, lib, fetchurl, fetchFromGitHub }: + +rec { + makeLanguages = { tessdataRev, tessdata ? null, all ? null, languages ? {} }: + let + tessdataSrc = fetchFromGitHub { + owner = "tesseract-ocr"; + repo = "tessdata"; + rev = tessdataRev; + sha256 = tessdata; + }; + + languageFile = lang: sha256: fetchurl { + url = "https://github.com/tesseract-ocr/tessdata/raw/${tessdataRev}/${lang}.traineddata"; + inherit sha256; + }; + in + { + # Use a simple fixed-output derivation for all languages to increase nix eval performance + all = stdenv.mkDerivation { + name = "all"; + buildCommand = '' + mkdir $out + cd ${tessdataSrc} + cp *.traineddata $out + ''; + outputHashMode = "recursive"; + outputHashAlgo = "sha256"; + outputHash = all; + }; + } // (lib.mapAttrs languageFile languages); + + v3 = makeLanguages { + tessdataRev = "3cf1e2df1fe1d1da29295c9ef0983796c7958b7d"; + tessdata = "1v4b63v5nzcxr2y3635r19l7lj5smjmc9vfk0wmxlryxncb4vpg7"; + all = "0yj6h9n6h0kzzcqsn3z87vsi8pa60szp0yiayb0znd0v9my0dqhn"; + + # Run `./fetch-language-hashes ` to generate these hashes + languages = { + afr = "15dsnzy4i9ai26ilm73gkfj4ck039raa88i6w443c4b1fnay2akf"; + amh = "1wbcsdq3svxga3j1alk61xs72a9fhsfsyjxhp3cwxfaqfhrzg7h4"; + ara = "0nk495gki6jbbnwcl2ybsx4nd02d6qykcjncq0d2g8pbgapqmj91"; + asm = "0c3wq15yphq7x74s2sn3f90k6z1cf5j7ic62z0dynidrv99bddfh"; + aze = "0pz073hxqkx1a1cshlgg5k11lj73s52sdxa7k3020drc314lhaxw"; + aze_cyrl = "0djbfgx28ykcjsn2p0766qrmj256g7vhc7valc3ivsva8b906lxq"; + bel = "04zqy8vik0fcakq6apfp8wjhkkhlg0yn9kmag1lk7s8fy9ax3ws2"; + ben = "0q7812kn5xjm47hcgdcg911lhbgqr7hbvqckfxxm8qw0yjx2cy0m"; + bod = "0rwq7539zzfs8xs0bf1535z1cwkm0yk1ni25f5gjav7nm6qpiaan"; + bos = "1qr04dj7lx347gxpin5nfprbggmxq2mwx8kf3pcc3vb5x3pa57g4"; + bul = "0cyyqgi3i4y9bfzwls0lwljzgd0r8ayfqb4bbvdh4qmbni9x42ya"; + cat = "0kgw8f5pdw9lfbn6cfp5n1s0j8pj3418yx6rsbagzcf1gr36gbr9"; + ceb = "1g1n4np4vhar7wfwx2km5k6kldb600rrl7npfbf75229rar068f1"; + ces = "0zxkkyhpd74i6321nv86pkjb0k7p9cp6m174rbn42nl7jz6qxib0"; + chi_sim = "0k250xr0gk9yh22yqxd0zpxdsrqfzs164kdv5n9rxx1g996yffij"; + chi_tra = "03nxqpd546p0gwfj6pqzbdbv5zjpdddzlpa10xn4nvmks1mmckbp"; + chr = "1k1sg3hap0kd5aa36ysvmhp7r3fynxf0f7lzz814h6p3g250zclb"; + cym = "0d6wbf9cmrrzf66mhcckwdfy3xh2i38r0by9nk6isw9rl7bf7j07"; + dan = "1s1yj56rpzmif3ir3qs4iab744cgpflk7y8812z2665bh61illpr"; + dan_frak = "1bxi53ymib5g0139vfd2pflh7nl5925vqznq3sfgaqx7gdx630vi"; + deu = "0fna7fqk1a8ivd7q2k38vx37qm3vbn183zh4z5zfqb4pgqmb8znb"; + deu_frak = "1y4krkvarg7jxhcq49fgybg4phbn58y9c0z2bm8mnp28jkih1cnb"; + dzo = "1fcz0imi7zxi99762pxfcm5iz2jcbqj3s742magka4ihrxnz07xm"; + ell = "0r0f71jy4y29bg055qvvy93wchi3lh08zz0k9c8l7466b03yvq5v"; + eng = "0vghah8kqcv0n5fnjb88w6siz156ysrc41fckw3f2y8c3sgmqlf0"; + enm = "10y61xv3w1ypgqz5rgb22y5hh1i4zx03cwiqw21ifqvg4xdrln46"; + epo = "1y5lh55mbcx33cm7qlf1dcah8ffycxmlcpzjzx9r6ij14fdd4964"; + equ = "1nqrd0a9jqqh6byy8snfhad1hisrc92dcx44wsy7v4nf40j3mx1s"; + est = "12ll8lq1hjcsq9hh93020w78r7f1rcxcwlvrjqw8j5p3k9jg5a4g"; + eus = "034s9mp7lw1a4yvf2cmbbj2fbqbaq6xnjqh30yn0wq0c0jck96nw"; + fas = "0m61p4byc0kzf75cdn6g18s8hcg9r8ifs34wr85lbsb65kil4ijx"; + fin = "1wac333k0lcd5jwprzg99b10bq8sdc96b9d6275kg9imyqjwcc7q"; + fra = "1ax7i0nw1lwkz4sbrvn4z0lcrcai77ymdpla7qk7yij6s4xb5bw6"; + frk = "16nmr71p93724vk1x5mq4r8vxpwnm448p6dwqv8scg8asch1cidp"; + frm = "00yz3hz7wcralq8wbx1ap4c6b37ac6vnz5bgmxmgdx0kqzibiddn"; + gle = "1n8z8kmn5m628rlzgz5v0iw6h46aalflq5asa1wj5rygx1y2azpa"; + glg = "0fdniayplc3iwmlmvhblarh1gm97dp8rqhhkb8b0clwfd9cj342z"; + grc = "04r2193qcxqyab5998xn8bf7197wiccmjm7iakij8d0c7l61dnxb"; + guj = "0dp8mlxmf0x9wb8dg0c508sdwz03icq94z8ji8jhwgdqgv8hw1al"; + hat = "0793mmlxbb09c8103jhdvlczz647nyn4ykkgd3gwgavncmjh72v8"; + heb = "16za9ff1i3ya6hz75l9v3v7j4039kscxxw21g3i2w5p9zn52hyag"; + hin = "1vnn5wpc724kgib8jbx0kpnnp4al60ivqir72gnbyh6cpnflb6bf"; + hrv = "15rqd6xiv2bdmalb5s6rxvw0yk6w9agn9fli3bvi703q6vpj2yn3"; + hun = "19zzwdxwi3h3vdsgr271i1m87gfpdirk6b1ljw2j8qmfilp4sw56"; + iku = "1v1yvc1194qycjgb4ihh5hpj6472nlbp66dii183514g2dh9x0db"; + ind = "120d4b41wvsgcd1sgy2mp78i9hvi7w03a63078dz1yds0yqdwf1p"; + isl = "003ngk8dfv6dglkq8pmi6jsglrfkc65js5ywh3vvkg7qfqf6qsxz"; + ita = "1lxklk3zc3x3k8yfpp6ygyv7fndgs57dfasc97rh8782ds16wkjs"; + ita_old = "188gby1y51pa1ycyc8y17d16hs5w27yl5ch7xzni98bdjkwbkl1z"; + jav = "1fjyjznjchls5ifbnx2b9xagisgxvgj9lsf39rr9d87sbzdbbwbp"; + jpn = "1wmayj8wh3pfwznjhalad2qzv38mhrzw2sxl71mycvzvpdy9ag1w"; + kan = "0hak4953whw9vd9dzl0hq076kzb19kk45kmfxk03af4k6gb206vg"; + kat = "16k0057cvvdc6snm5svhdv3cr7cw71g74yy8215njjbsi838imi3"; + kat_old = "02gl755d38plyvzwfjqxvjgfqkbjs9rvzx33qfhm2zvmgbwrfrfh"; + kaz = "0hc36w7zz5waycsk220v0r83sg991gd5f5r937mvz44viql80sgm"; + khm = "1gb2nv5qdq5fz9w9xq4fj68p46b62sd1m986ra5qbnskxqizr12s"; + kir = "1b1ing6qqi8qqfh4xpk76rp4gxp69wdjdl5m777ayx3v02d7nhh3"; + kor = "1rldj6f8h1nn5wpx57b0ci7p0fnivnwzgaf0d3576xls26z2wcgv"; + kur = "1cp2pfd6g662gvxi7ywkxfbfq1lwbis888bf1gg8ynzy342mx1ic"; + lao = "03bdaxakmxpbbr9vsnbzzfksvm6js0l5i0ijwl71piqyxqjj1gxf"; + lat = "1q7v7drnwpna9k2l79jbdlxiv1j617rqzjc9d48h3lfrma5z97sj"; + lav = "0fxzyvw7n67rmw2irvlghkf1bii4w47200zv26p0v3a9dwvhc7sg"; + lit = "0f00ggjjqrl94kwwjmjqwajyfprsml0br8vhn2gvn11gaxvm52hm"; + mal = "1i83plhin3m6sq8p92vzlyng5z59gvvqypyh7rnmvdmm9rranx8a"; + mar = "0ay7q53yl3709crvn5l9c9jx7hw6m5d3x2crmvnvczsh83ayfdik"; + mkd = "1q1wadcr4j1dzssyyqz43qmizc6vfqkbivr6xi2p7p4h9rl11x73"; + mlt = "1qp4v6habak1l7xrw322wglvjjndrfp4j7bj8d4npwbzk1sh4s0h"; + msa = "048p6mkx9zr40s9s5vbi0gnizhvqwn0g8i1hf1l8db7igbax5xyj"; + mya = "17nyr5bd42kzvid3421n3mwckd49vzrjhjahd8rnfsmbsy1x382l"; + nep = "154375r32sdmvcnp1ckvgbp3wxvb2xiiypb8bxbsvrabrz4wzjqc"; + nld = "1clwbky71zkz55zd3f8r9hj8fhpnbkply80p1js4fvs7x12r715x"; + nor = "1ynvrz6s0vmlq1xkjd8k2w6bx8770x6v29qgx83d4nl17ngjd459"; + ori = "0dsakc8gnwhs6z5kxc2wdkbn31gkkiqk5vriw0swghychp164aac"; + osd = "1zq0dfliavglmix7zzrqdxz1w01rm1f1x1352bqn8xf4zivdbxcw"; + pan = "1fwdpwkydfmr6drwgkqzn89z12r2rdm02a75vvdxhxg2a9yiwmbv"; + pol = "155z870ygzws476kp7qpzi8jcjcv3jb5px8rbzhnag1fklqr48hx"; + por = "1814cff2rffpzlg4hyyrjzpf5ps2i95rmpa4c8ikblbvrlcv97q8"; + pus = "1iz5nn1zfvn1l9gb1jriwx991d2hwwc7x4k1nvzjlwpzscplx25b"; + ron = "11lr80zhvnnngvwwk01z1d3prfpbh3qbwpl1nl5fp7h09d6n3wzl"; + rus = "1d6a8lg4bmd3np16jds1py3qpkaq4ahnhwghd5r0159y0jpxq00q"; + san = "169f4ajgwn99yfdfrlwfvdgvv1abal7fpdp31sknvq8l7w2sak3g"; + sin = "1411g18r6f6j6f4n0sn7ajgs4gkplb892s6ak0hi9nyyxwv3r1gm"; + slk = "0bxfbrg1nf6px0xzkh6ihdi71fmr1rxxs99qb191k7pm16x2lpds"; + slk_frak = "0zyqnn1y5cyx1y7wzgw743k4584ljl0rhvk2q1ni6jnjx9ciwzqy"; + slv = "1kjn9m9hbwp0m0p2v8c3skpzr6f8x42hz8x48zl22550a7hq8n1h"; + spa = "1npgl8ylvfm60hd4214z8a3lriy1hckhijschrbjpzmwdfcqafgj"; + spa_old = "0w4ivkv8flyn7bjlyjcrcrdnslkvrrfs7l33mvird1jhhkyqd8sx"; + sqi = "15wzvh6qm3yx7yf0k5j7g1imsaqxvq7r2xh6a0xgmkqbyypbbkdf"; + srp = "05blqriv30x02c80ds3x7zhw0y21nc6lkqlv5jwgwnjgw4yfpgrm"; + srp_latn = "0ss8s3q60aq8sd2a3sbnzvp13qqarxnjw4hij8hd9ab5gsjw0nwr"; + swa = "1pwwhx7ldq21cv06cchws8gvwsmkwn5sjcy9z3nk3nbp9qjsf44f"; + swe = "0l10iyn2cr7ibgk0akmpg8725mpwpydawgv3s77izsw7y6xhfr1a"; + syr = "08bxil13wyp5h4hvbxjcys7ypgqgg46rrp653m7gyv5q94ycjgb0"; + tam = "1g155kyba2wjfgzgy48g6yd2csinwbfjdi5r7vw0wm3dh1z39dvz"; + tel = "0fydrcb54b6mmqazb337x4s36i2a64sb4xm7y7g3nqqmk9afsipv"; + tgk = "0f6j37friywj7y132fv0jm6aj4sx8f0b7brspj3pbjqqpi4v5ws0"; + tgl = "0f1r0gicif57qhyw8xaa1sqgny720q3z5cpd5srrn9i6fihaz577"; + tha = "1y2hw55jfpidk95y8qbsiczgg2r2khabac97s1y3gl0v93a44jna"; + tir = "1y7iryhjr83ca4yh5jjz7qlnrx4kbrp0a0p650whjvk2gnv8m98h"; + tur = "0xqnq99b2jb4v74bj95py6wmg14dm31zp5s3l48dmcv6zdgcxg2w"; + uig = "1sdddr15zlb33kd1d7hzi5lfd15bfhqn105d7x6snfpqp7vq4bxv"; + ukr = "0cdwjnfnnmzz7jdn49l96vqgaimclfxcxaw09cm63f5my382r2rg"; + urd = "10xcn1zs2lfswp5yai0ckyg7js587qhr5cf7qib3i35qjbw7nc18"; + uzb = "1jkkd5j6vsx5jv5gwprbfwg1vwh714prm8j446wzvp74brmk949l"; + uzb_cyrl = "1kdia38rgm2qd3ly80a412jyagxxryr09h1nz2d0iw71bmfn4855"; + vie = "1ja18jxxaw282y4jljxpjf1gj15il61vc2ykpfy22vn88wvydxff"; + yid = "1jddd0g8mm5v00z5kb8rbpfs7ppzgq9kzm1xlhhvv960yfdbi6fd"; + }; + }; + + v4 = makeLanguages { + tessdataRev = "4.0.0"; + tessdata = "1chw1ya5zf8aaj2ixr9x013x7vwwwjjmx6f2ag0d6i14lypygy28"; + all = "0dqgkp369rcvq72yhgnzj1pj8yrv7kqzc7y6sqs7nzcq7l5qazlg"; + + # Run `./fetch-language-hashes ` to generate these hashes + languages = { + afr = "1a9f8pnrspfmcq9gpjnxn2kkhjlsmh912bnpx671fjizxpmiri2y"; + amh = "0m1vdyxjx57kmf2qra0p31k509y1cqn4pyckzw00i5n3wx11d2j0"; + ara = "0nswl6n0s94g900j5k1gwzp7m140c0yd9a2fdb2lzhdvg1krf190"; + asm = "025d9vrjcrwyd6cc6hrw1x8xqhicgrb9wpvhhmlw71ql04dadslf"; + aze = "01shcs78a6xn3my8p3y42x1c9f5hzfn83w2n2nwpffbgz4y2nsgf"; + aze_cyrl = "1sbd89i5r7rnkjh2in8j0plrxnfiill9jl8pr68iw77ghih6q1vg"; + bel = "0dhyymsxcyzwal8474q7ag3m2akv0b92hkdz7rka5z1cxry1cn8c"; + ben = "0a7q9414k3frn37x2qcglz722ysg2iivj6kqaaa0ik7z14ibc8v0"; + bod = "0rh7x54nlh6ir6ldccj8hi7g8hwlp13r3fkljw8gndvhwmgfkkar"; + bos = "1szym4n605hlx12a9vpz4jjs76jscajh22rgkqwbv4qdsl0gi3nd"; + bre = "070f4c84iznblsw4jkwpzh9dss8nfb678160szm5r8dlv2yinrrk"; + bul = "03bg2yw79lg8rl43y9288313jrfh0h69vl4s4cmlgbmnbx8pvxwj"; + cat = "19xs691aj8yy2ff07c3gzm07zicd5ha0gmcjxjh9pknqf2gfy7qv"; + ceb = "1896vn41hqc4anm6hjvrnn022i0p8pmhwsp5rv9w2cvr6738l79r"; + ces = "0fh2g47msfr91285rnccxcmcshihm126sqy496s4vrr0vk8ix1nf"; + chi_sim = "0qxkvbpm5l7gzsshnn72wfx473pprf5nmw8hd4i4x2qxnfddh1gw"; + chi_sim_vert = "1f75pzvxbda82vxa2zb1z9b9f13sh81kzaw45vg5118ncsklj8w7"; + chi_tra = "056vjws1fir1v5iv44pzykkxs5q1dbb2j8blhj47i53w1zf6g42m"; + chi_tra_vert = "10c9cdycg1a5kwlgg60sh8yp07w2fl4whinpxfhlzrzs56allql4"; + chr = "19qq8a6c27973djsc4xpcklis92r58x21fg4mz5azdyka5i1n46l"; + cos = "0z9kx1hw8h5n00pcahxla808wya50wrkk8cz7x676pd93ibyrlyx"; + cym = "13pk9cpf43xxqbz3blfz2av2yd1ma6ds6jbdiqw8anhhj7l9ch2d"; + dan = "1jirmahxvyyswhhyzhinvcqaycz7m3ixchqrj3lgfcdi3anvabr2"; + dan_frak = "17wcgdqxmbzn7qchnx5gsa05aj4wmhbwk43w173bl3wr6h5ylmh0"; + deu = "194rqsg4nlycca9bg2fqf15xgcl110rxp182l7dbjfjhar4knsw9"; + deu_frak = "12hhhp32f15c7fw2jp05mwim9ps14kmamhh6vmalvm7r2033vbm7"; + div = "09mm9r5hxhsc4qpyg10ym9mc2kdpawx8zk0aiv1xpgd35rzpyz41"; + dzo = "1zk7crgcazgqy5zmslp6iw4jws07nja31qdxx0rpzhn3c0bjgw1b"; + ell = "1hhym18a9411953j47xjk47jx9ij9xi2qwlx05c93zl41528nsqg"; + eng = "0iy07z182lwhqfa0q288ha691scpsry330aynaizn68wcmywk86s"; + enm = "1dhr1qvil38bil43wk5ci645sbm3my2y9y7qlcbnwz2p4pflayvm"; + epo = "1jig4db7050vww32vxsqyig3j1b0vgz9ipxbsw0jpkjia84k44n9"; + equ = "02qwg6s1z7pynwm0p6dvpwi04ivfkr1s7qgssbla1dx7v0ih6rlg"; + est = "1jxygahy6by7fbirbmjmd68k6560q1a3h5mvpzdx15h5fw0q58gl"; + eus = "0cai7nm7si8680avrrls8bf9ski980rvsj560fh9y6n9rz7mh9mp"; + fao = "1n3434jf18bzakbylzyg3jaw2ad4h376g56dsql32bgh2yvyww8a"; + fas = "17wjkfka9725rz32clgqgk9msmbz4axs59vz30jmhhxyrkliafqb"; + fil = "0p713k8g27df9z384ns111xqxii5kq20m8brflsmd3yckw1mibhz"; + fin = "1wc3y9nnm7rb2c2c5fkj7cv7jb27jlkb2bh0g8kaz57h6imfmb2g"; + fra = "04qrfvi6irlaahh1pgn5azyfhbhavm12yyybza8603alf8firh7a"; + frk = "05cqmxxxjqdl5hjyzi6dpmixnjpd6f3jr6741yapdmnxvkzxkiyp"; + frm = "0a86yy6hd0lvlbzvnzjmyapzc0rn7mnkdadqycd65bw1b714cvy2"; + fry = "0i84r8g9hlkr9nlhypl4lq6ncrhbcpskqkdcijgk88c2fdknh57h"; + gla = "17idyhb505waz9dnb8dsk54faw7y0xvvb12yw71k0skq3i90akar"; + gle = "1q87h5zzcva54pg364d3hl6q9hdlydlyj1qmq8n5k7hqk11msxmk"; + glg = "01xssz1rhpy3a0sm4i43nba61wc2srz6wv327vdw1kg8ijm0s0g4"; + grc = "00x0s3smx4wg5h12y2b9al0j2jk1y3f0yy2x6f2qf7ps831drgyl"; + guj = "028v4fgn0zi2044vk6j2rlqklc9i0kj22s52vhifmx1g02kz9154"; + hat = "1bca516pr2cnyjlwycc7pr6gfmdjb8565hp06pw9nwpr20ry0hss"; + heb = "1qfkffjh29b21frs0mv6llsrchixl5kjkpj1if7fq816g9mym9kx"; + hin = "1rkfam5c6qil2590lfffzndhq3bncdgf4ij0cyjcglgyljgx0xnc"; + hrv = "0da7b6mk0rwc9zlbqkycwjpddp3qpy07l643i00ia5a1zq35fmgp"; + hun = "0w2s4mn9p74zqzmp9hh2017zgsh5v43k4lid4pv29f4b0y5gj9xi"; + hye = "0ifzm875wlbjh4vkpmj1n6f14m8i174413l6pc6i44y4p5fpgxrf"; + iku = "19arnv82xbxhbcy8pf9fv1sl5zc5707mk34nh7w46dlz86qkidmn"; + ind = "1d421hizwni4m6sr4f3nqqpr1g744hzn0krk130m7x8mhzgamba5"; + isl = "1hjjw8k2r9qa990ziq5wxr36kyf16mnmrqfmq5vbcjprka9h08pq"; + ita = "1qyrvlf7pjxzyb29sc7aq3gq61bww14sijka44scxggfw7134l3r"; + ita_old = "1pf8461jbj0vpyry0b54crmkf2bk9mh4klxvmj09jvf0aq2vm9s6"; + jav = "18vvbyimj0y462amjmwvqa6h9n8l122j9v0w3hfp63hlxpfprm0m"; + jpn = "16hma9w32vdh41ihymp894jza72b0d235hwriv18r78j5n86nhbg"; + jpn_vert = "0yca09l9sbpfjgb2slnpb9q7qd7vz3a1wb6bkln30d3nl0d9r1rn"; + kan = "0lcmx37rjfxkbhhbrld1ndmkwkm9w9b3pzxhas0cv5dqsx2f84jd"; + kat = "1b164bgwa7bbvw4177h8fxfh0fbh4bycfl9pkaa184dpjpaiqpia"; + kat_old = "1mgff7sh93hdp3wh0ckikdggrdgf0syp75s39pickpbkp9ic41ai"; + kaz = "0h37y0kb5lwsp5zpl7bvxg3ryqldl5hxfnardliwgyqgnag951vi"; + khm = "0m7x1fynr18sid2kjjw8xa9ika0a0fc6a6hvc7ihizi47893hdfb"; + kir = "09kxwqpqf6kxjii07qlqsiii83zk12rszp88xnzzjp8rjsnk78s3"; + kor = "0nsr43fwrp9876ia1fc0zcviv2n8hw16n0wfh158vhygwglvy84m"; + kor_vert = "1wmvdznmikk9fq7wdffvn22scxmcl26vjh26jhicqwxpc7kg4bh8"; + kur = "0gbsf3ny3n5mgb30v54bz3crgnimdpg19jn633pbpzryzg3xhd25"; + kur_ara = "1sbj0cczhi9q119fbzpi0m6zr9kjp3k76bv9w8szkv1wc5y4fng6"; + lao = "1gvxlg8bw3a4c9izg3c2a2yl7q6rsy7z9y64axdw9a04pz2ndbl5"; + lat = "0b7an3q3xrf9c55bhiqqh7l45ga88l0kwvkp1akmlr98piach3vr"; + lav = "0fqsmy47cygamddxyjfrdgkfa9bvmrvf4csvppnkdvfzy6iiv0c2"; + lit = "0wjgbkwc3bf5khdqali7ylnhhs4xvpx19m3zx2y9s27v2wjbb6kv"; + ltz = "02zdxbniiqfl87fzsiaaqgldqfsv15z5hja1xhxnqpl0nds7shfc"; + mal = "0a41ifz8i6lj2ywxjkwvymxzxahkz2cjv4apbrawdj1h42bn7frd"; + mar = "00swhlh9bckvmlxanfmlw5j4n9qqhggl84bsq0827bmijsqwnl44"; + mkd = "1bqfiwxlzfpz4fs4z5ci2wbv01qhrcayk1inmk3dxq7dsywx1ajg"; + mlt = "1rmmga2aw88hr7q7cfr5cvhnsgnf1mi069d5k7z66zp4vzbl4zyz"; + mon = "1jksvcavn9plsmjdmhg40mwq5rlvrd1b9gvghdjg7zkf6qqqynlh"; + mri = "0jlfawx20s5clsnk82ndy3v2zidh4cfh4acrh8nindk21xmiwh5i"; + msa = "0m7zs8anaa3l4z5f3xvbhs4syp41dp4all2yfpi1plyr0hy784an"; + mya = "0hljm5haadlr4k5rhw4mvhkygcnrr709rvl7amz7av3nskmi8mb1"; + nep = "1dhy0m2h6xfgwibf92iwxsn926dmrhfvkg9rafkdaqcr4pq6w563"; + nld = "0bspf5bv1s7qzm6k4aqbpq91zvk4kxxhx5zv08w91xfsa1zpdxmi"; + nor = "08majhc9m0fjvac50yq52ia2af9kscclimwkv403klnj4kgf8ndq"; + oci = "1mzrw9gsdjrd1xj3zv7l5gzgjq5jrygxf8cfkz20d9lls0wj1xdv"; + ori = "1sh42mjzb1hv6l6lljp3wifjmz7wrv818f9f16m8qjikwqxm0s78"; + osd = "03mvfk1q1xp1klpf4bwna903rnp51bkqr3gl5hvxybvrc3l2m7z1"; + pan = "0165kr94p6x5yxzs4p8sfppvg9cywp65ps0xaym5rqz9iashz32h"; + pol = "0g0b71ms6ddgykmkna4mlavgzgmh9vj6s62fi8l4ja93nfpr37hp"; + por = "132jbhzmcsq8skanm15bw2niyx9xpbrqr411wn7w9r5i3cvnlv01"; + pus = "0iiglnkn478al11avigsav625pn7ifscycnxpj6fg8835vjww3xr"; + que = "01vkmfi9idjwskv5pllmrxpil0v5h7f7rzv5viclxrzkmbvrz9b5"; + ron = "0ag6vs0cn3sryavs1mfrallgdgi4h28114g7m61rhlhq0z484g0m"; + rus = "1hippm3w5d73sh50r136x0xff2p6x128ry2x4fywf6xdpv1f46v8"; + san = "1qlpqkr5c5wqcf1bvlipy72advqnvd4wm61vghmrj2sda8mx87sx"; + sin = "097d2s4ma0zsq0ab5qs1ylgl9l5phw91fnpsvb7vjmz2mw3ic964"; + slk = "0c97pp5iffhdzyma605x8q3rx1qq9pq2h6cai1kppaj92rz3ji9k"; + slk_frak = "16ivsam1g18zlpw6pgidvzwb7h8rvw1s10nigs6yfwir8hjxsgki"; + slv = "0644jlm55p0dg4zchgrashmbv36zb4x649ckmf2jkbss8bzx7wsf"; + snd = "1i2mfi4414l3v9nznjy7959y2jcr8ymvf6w8zpyrw6nad4d1aak7"; + spa = "15kwvr7cpcnlxm1ja1yyc022dmsd04gmk7h1p0df12aicsscn3qb"; + spa_old = "1jq80c4mi3rmwnfhb3mbaaq0ci101mgbibkji9ala4l5dkcwjra3"; + sqi = "19cvvixhz9906p4c9i2grpr386rbp5alp4fp14xm9nd81bmq4701"; + srp = "1jd25n13h6vxsa3gzbj6q6mdh02rjl4qrd1bffr5psp33asqvw0l"; + srp_latn = "1k7577mn3z0bm5ma9d8l14sn5wpvw50hq1nxwbc36yn3a5b3mhiz"; + sun = "0lvlaw3jfvr7b5v09669kq8mm19jdsk9g5h09jsa2gr6fvsq11pa"; + swa = "0qy9qc5pa1dzzqrh1z40gk845z1r4d2smywnzydknbb3n240lhz0"; + swe = "1y56r7bgzw0pqkdylbah07r1f0v03sblkggiql8x5200rhaxvqi4"; + syr = "1vfj5fsiv170jghryrxwyz0i9mdsaki1kglxrklkb2caal9kwy38"; + tam = "0rhhdbnp0a2hpg00vpc0xyxcl2w36i1kn63mrvwx1f9q7m3y1fmf"; + tat = "0a74rp8pyp4yivv2xcy2m8xgwch8scr3wmk1fzniwzf43fsrqp76"; + tel = "0gcq8hxhxvilyh7x7kiikq07hllqysc8sfyr88gvpj4xi092h2bx"; + tgk = "1458gk0k6gk49n8lr6fj7l7cwkhxn0lrhybzq10zl1ly7yzjhf67"; + tgl = "12yscwckdy3l21mvsrj1021gxw2isjrg369r08rsf7lh96wn4wkn"; + tha = "01f0j7gsc5slxaaql1gqbhk4wlwaxc29dlmfxwjzikxc46gjl0w8"; + tir = "1q6w48b1jchv55713pq20inzjjdymh32fw8wxfaj1qi7bjqfb9fk"; + ton = "06g60ga8rys8jaimqrvd4svh40qs1nz4bszdnf2hdv05ibryibdq"; + tur = "0g9g1wvibp61qbriy8ys948yfkl88xk9g8f93bnq8w8dx029b6s8"; + uig = "09sajx21lw3a3ph62dyqr10pjaq2mij10sdhkhvvjiydk34dn548"; + ukr = "14q8ls8gkrg7c9pc6qzm6yf5ady3i3303vs1hz4d2idcl6yry334"; + urd = "15vszhqraxqdcng1069p6i4xq3ck3904q207nkbap6dfpcpjig40"; + uzb = "03hyw0vavmjirqs4wkd5r85g91w2avsyl14z624fhm3gc66pqg7n"; + uzb_cyrl = "1433lrrp2lfgb1k0a4sc20b35b2jcl8f1z92vm2936y7w04xpaq7"; + vie = "02k40d3wji74d1jgvkr3zrn9gpzlmp0lqhrrdmc48r2sgvnrnk8n"; + yid = "0xnbvi04xv1qapqg72wa3bjwbw51pkdnyncjpjp37vn6dzh04l0z"; + yor = "07w3aci52ng6i6nyp97q5zb2dqlj08w6im90y1h691qah1x44zlv"; + }; + }; +} diff --git a/pkgs/applications/graphics/tesseract/tesseract3.nix b/pkgs/applications/graphics/tesseract/tesseract3.nix new file mode 100644 index 0000000000000000000000000000000000000000..db0e06434aa9c7632b61af024975b898b016dd96 --- /dev/null +++ b/pkgs/applications/graphics/tesseract/tesseract3.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, fetchFromGitHub, autoreconfHook, pkgconfig +, leptonica, libpng, libtiff, icu, pango, opencl-headers }: + +stdenv.mkDerivation rec { + name = "tesseract-${version}"; + version = "3.05.00"; + + src = fetchFromGitHub { + owner = "tesseract-ocr"; + repo = "tesseract"; + rev = version; + sha256 = "11wrpcfl118wxsv2c3w2scznwb48c4547qml42s2bpdz079g8y30"; + }; + + enableParallelBuilding = true; + + nativeBuildInputs = [ pkgconfig autoreconfHook ]; + buildInputs = [ leptonica libpng libtiff icu pango opencl-headers ]; + + LIBLEPT_HEADERSDIR = "${leptonica}/include"; + + meta = { + description = "OCR engine"; + homepage = https://github.com/tesseract-ocr/tesseract; + license = stdenv.lib.licenses.asl20; + maintainers = with stdenv.lib.maintainers; [ viric earvstedt ]; + platforms = with stdenv.lib.platforms; linux ++ darwin; + }; +} diff --git a/pkgs/applications/graphics/tesseract/tesseract4.nix b/pkgs/applications/graphics/tesseract/tesseract4.nix new file mode 100644 index 0000000000000000000000000000000000000000..df321023c741e084ba8788109a59dbb916deeed9 --- /dev/null +++ b/pkgs/applications/graphics/tesseract/tesseract4.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchFromGitHub, autoreconfHook, autoconf-archive, pkgconfig +, leptonica, libpng, libtiff, icu, pango, opencl-headers }: + +stdenv.mkDerivation rec { + name = "tesseract-${version}"; + version = "4.0.0"; + + src = fetchFromGitHub { + owner = "tesseract-ocr"; + repo = "tesseract"; + rev = version; + sha256 = "1b5fi2vibc4kk9b30kkk4ais4bw8fbbv24bzr5709194hb81cav8"; + }; + + enableParallelBuilding = true; + + nativeBuildInputs = [ pkgconfig autoreconfHook autoconf-archive ]; + buildInputs = [ leptonica libpng libtiff icu pango opencl-headers ]; + + meta = { + description = "OCR engine"; + homepage = https://github.com/tesseract-ocr/tesseract; + license = stdenv.lib.licenses.asl20; + maintainers = with stdenv.lib.maintainers; [ viric earvstedt ]; + platforms = with stdenv.lib.platforms; linux ++ darwin; + }; +} diff --git a/pkgs/applications/graphics/tesseract/wrapper.nix b/pkgs/applications/graphics/tesseract/wrapper.nix new file mode 100644 index 0000000000000000000000000000000000000000..365d68a9ee76bcecacab7c191e21c1c36666421c --- /dev/null +++ b/pkgs/applications/graphics/tesseract/wrapper.nix @@ -0,0 +1,58 @@ +{ stdenv, makeWrapper, tesseractBase, languages + +# A list of languages like [ "eng" "spa" … ] or `null` for all available languages +, enableLanguages ? null + +# A list of files or a directory containing files +, tessdata ? (if enableLanguages == null then languages.all + else map (lang: languages.${lang}) enableLanguages) + +# This argument is obsolete +, enableLanguagesHash ? null +}: + +let + passthru = { inherit tesseractBase languages tessdata; }; + + tesseractWithData = tesseractBase.overrideAttrs (_: { + inherit tesseractBase tessdata; + + buildInputs = [ makeWrapper ]; + + buildCommand = '' + makeWrapper {$tesseractBase,$out}/bin/tesseract --set-default TESSDATA_PREFIX $out/share/tessdata + + # Recursively link include, share + cp -rs --no-preserve=mode $tesseractBase/{include,share} $out + + cp -r --no-preserve=mode $tesseractBase/lib $out + # Fixup the store paths in lib so that the tessdata from this derivation is used. + if (( ''${#tesseractBase} != ''${#out} )); then + echo "Can't replace store paths due to differing lengths" + exit 1 + fi + find $out/lib -type f -exec sed -i "s|$tesseractBase|$out|g" {} \; + + if [[ -d "$tessdata" ]]; then + ln -s $tessdata/* $out/share/tessdata + else + for lang in $tessdata; do + ln -s $lang $out/share/tessdata/''${lang#/nix/store*-} + done + fi + + if [[ ! -e $out/share/tessdata/eng.traineddata ]]; then + # This is a bug in Tesseract's internal tessdata discovery mechanism + echo "eng.traineddata must be present in tessdata for Tesseract to work" + exit 1 + fi + ''; + }); + + tesseract = (if enableLanguages == [] then tesseractBase else tesseractWithData) // passthru; +in + if enableLanguagesHash == null then + tesseract + else + stdenv.lib.warn "Argument `enableLanguagesHash` is obsolete and can be removed." + tesseract diff --git a/pkgs/applications/graphics/unigine-valley/default.nix b/pkgs/applications/graphics/unigine-valley/default.nix index f1adc6bd10eaf0c017a16f03a83c26530f9b259f..3a139f3740ccdcbaa0591862eb0939cfbe8268f1 100644 --- a/pkgs/applications/graphics/unigine-valley/default.nix +++ b/pkgs/applications/graphics/unigine-valley/default.nix @@ -12,17 +12,18 @@ , libXinerama , libXrandr , libXrender +, libGL , openal}: let version = "1.0"; - arch = if stdenv.system == "x86_64-linux" then + arch = if stdenv.hostPlatform.system == "x86_64-linux" then "x64" - else if stdenv.system == "i686-linux" then + else if stdenv.hostPlatform.system == "i686-linux" then "x86" else - throw "Unsupported platform ${stdenv.system}"; + throw "Unsupported platform ${stdenv.hostPlatform.system}"; in stdenv.mkDerivation rec { @@ -47,6 +48,7 @@ in libXinerama libXrandr libXrender + libGL openal ]; diff --git a/pkgs/applications/graphics/vimiv/default.nix b/pkgs/applications/graphics/vimiv/default.nix index 538931c1040ef8f917962a4ea519a417171b0fab..5fc7e309f4df91952ddb082774bfe4d0d564a23b 100644 --- a/pkgs/applications/graphics/vimiv/default.nix +++ b/pkgs/applications/graphics/vimiv/default.nix @@ -1,12 +1,12 @@ { lib, python3Packages, fetchFromGitHub, imagemagick, librsvg, gtk3, jhead -, hicolor-icon-theme, defaultIconTheme +, hicolor-icon-theme, gnome3 # Test requirements , dbus, xvfb_run, xdotool }: python3Packages.buildPythonApplication rec { - name = "vimiv"; + pname = "vimiv"; version = "0.7.3"; src = fetchFromGitHub { @@ -38,7 +38,7 @@ python3Packages.buildPythonApplication rec { ''; checkInputs = [ python3Packages.nose dbus.daemon xvfb_run xdotool ]; - buildInputs = [ hicolor-icon-theme defaultIconTheme librsvg ]; + buildInputs = [ hicolor-icon-theme gnome3.adwaita-icon-theme librsvg ]; propagatedBuildInputs = with python3Packages; [ pillow pygobject3 gtk3 ]; makeWrapperArgs = [ diff --git a/pkgs/applications/graphics/wings/default.nix b/pkgs/applications/graphics/wings/default.nix index 9ecf94e21c0128cc4d8cacc67ae2814c7b6964d9..0a4e9ada0787ca3cd1fac49e2a0890f59911ab67 100644 --- a/pkgs/applications/graphics/wings/default.nix +++ b/pkgs/applications/graphics/wings/default.nix @@ -1,34 +1,35 @@ -{ fetchurl, stdenv, erlang, esdl, cl }: +{ fetchurl, stdenv, erlang, cl, libGL, libGLU, runtimeShell }: stdenv.mkDerivation rec { - name = "wings-1.5.4"; + name = "wings-2.2.3"; src = fetchurl { url = "mirror://sourceforge/wings/${name}.tar.bz2"; - sha256 = "0qz6rmmkqgk3p0d3v2ikkf22n511bq0m7xp3kkradwrp28fcl15x"; + sha256 = "1b9xdmh0186xxs92i831vm9yq0il1hngi8bl9a1q7fs26wb8js1g"; }; - ERL_LIBS = "${esdl}/lib/erlang/lib:${cl}/lib/erlang/lib"; + ERL_LIBS = "${cl}/lib/erlang/lib"; patchPhase = '' - sed -i 's,include("sdl_keyboard.hrl"),include_lib("esdl/include/sdl_keyboard.hrl"),' \ - src/wings_body.erl plugins_src/commands/wpc_constraints.erl - - # Fix reference - sed -i 's,wings/e3d/,,' plugins_src/import_export/wpc_lwo.erl + sed -i 's,-Werror ,,' e3d/Makefile + sed -i 's,../../wings/,../,' icons/Makefile + find plugins_src -mindepth 2 -type f -name "*.[eh]rl" -exec sed -i 's,wings/src/,../../src/,' {} \; + find plugins_src -mindepth 2 -type f -name "*.[eh]rl" -exec sed -i 's,wings/e3d/,../../e3d/,' {} \; + find plugins_src -mindepth 2 -type f -name "*.[eh]rl" -exec sed -i 's,wings/intl_tools/,../../intl_tools/,' {} \; + find . -type f -name "*.[eh]rl" -exec sed -i 's,wings/src/,../src/,' {} \; + find . -type f -name "*.[eh]rl" -exec sed -i 's,wings/e3d/,../e3d/,' {} \; + find . -type f -name "*.[eh]rl" -exec sed -i 's,wings/intl_tools/,../intl_tools/,' {} \; ''; - buildInputs = [ erlang esdl cl ]; + buildInputs = [ erlang cl libGL libGLU ]; # I did not test the *cl* part. I added the -pa just by imitation. installPhase = '' mkdir -p $out/bin $out/lib/${name}/ebin cp ebin/* $out/lib/${name}/ebin - cp -R fonts textures shaders plugins $out/lib/$name + cp -R textures shaders plugins $out/lib/$name cat << EOF > $out/bin/wings - #!/bin/sh - ${erlang}/bin/erl -smp disable \ - -pa ${esdl}/lib/erlang/lib/${cl.name}/ebin \ - -pa ${esdl}/lib/erlang/lib/${esdl.name}/ebin \ + #!${runtimeShell} + ${erlang}/bin/erl \ -pa $out/lib/${name}/ebin -run wings_start start_halt "$@" EOF chmod +x $out/bin/wings @@ -42,4 +43,3 @@ stdenv.mkDerivation rec { platforms = with stdenv.lib.platforms; linux; }; } - diff --git a/pkgs/applications/graphics/write_stylus/default.nix b/pkgs/applications/graphics/write_stylus/default.nix index 9fd464f46204d4ee369166998a9091fc43c62e6c..e11bc3dd5bb9b3c75ac3e2d4f625587a2122d6b3 100644 --- a/pkgs/applications/graphics/write_stylus/default.nix +++ b/pkgs/applications/graphics/write_stylus/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, qtbase, qtsvg, fetchurl, makeDesktopItem }: +{ stdenv, lib, qtbase, qtsvg, libglvnd, fetchurl, makeDesktopItem }: stdenv.mkDerivation rec { name = "write_stylus-${version}"; version = "209"; @@ -43,9 +43,10 @@ stdenv.mkDerivation rec { ''; preFixup = let libPath = lib.makeLibraryPath [ - qtbase # libQt5PrintSupport.so.5 - qtsvg # libQt5Svg.so.5 + qtbase # libQt5PrintSupport.so.5 + qtsvg # libQt5Svg.so.5 stdenv.cc.cc.lib # libstdc++.so.6 + libglvnd # ibGL.so.1 ]; in '' patchelf \ diff --git a/pkgs/applications/graphics/xaos/default.nix b/pkgs/applications/graphics/xaos/default.nix index a6f97bb5334ea192f9db580f07a81e155f585f9d..182f68f3112cc60c4daab0987a7bc3a87758b7cd 100644 --- a/pkgs/applications/graphics/xaos/default.nix +++ b/pkgs/applications/graphics/xaos/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchurl, aalib, gsl, libpng, libX11, xproto, libXext -, xextproto, libXt, zlib, gettext, intltool, perl }: +{ stdenv, fetchurl, aalib, gsl, libpng, libX11, xorgproto, libXext +, libXt, zlib, gettext, intltool, perl }: stdenv.mkDerivation rec { name = "xaos-${version}"; @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { hardeningDisable = [ "format" ]; buildInputs = [ - aalib gsl libpng libX11 xproto libXext xextproto + aalib gsl libpng libX11 xorgproto libXext libXt zlib gettext intltool perl ]; diff --git a/pkgs/applications/graphics/xournal/default.nix b/pkgs/applications/graphics/xournal/default.nix index cfad449fb0283b4b3a30f0973ae1d06b3e570d87..cd9d068b8acf33f119d0b33cff251e129aeb0945 100644 --- a/pkgs/applications/graphics/xournal/default.nix +++ b/pkgs/applications/graphics/xournal/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, makeDesktopItem , ghostscript, atk, gtk2, glib, fontconfig, freetype , libgnomecanvas, libgnomeprint, libgnomeprintui -, pango, libX11, xproto, zlib, poppler +, pango, libX11, xorgproto, zlib, poppler , autoconf, automake, libtool, pkgconfig}: let @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { buildInputs = [ ghostscript atk gtk2 glib fontconfig freetype libgnomecanvas - pango libX11 xproto zlib poppler + pango libX11 xorgproto zlib poppler ] ++ stdenv.lib.optionals (!stdenv.isDarwin) [ libgnomeprint libgnomeprintui ]; diff --git a/pkgs/applications/graphics/xournalpp/default.nix b/pkgs/applications/graphics/xournalpp/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..30a8907275b036c9e16a84679e9c8bd0421ee585 --- /dev/null +++ b/pkgs/applications/graphics/xournalpp/default.nix @@ -0,0 +1,74 @@ +{ stdenv +, lib +, fetchFromGitHub +, fetchpatch + +, cmake +, gettext +, wrapGAppsHook +, pkgconfig + +, glib +, gsettings-desktop-schemas +, gtk3 +, hicolor-icon-theme +, libsndfile +, libxml2 +, pcre +, poppler +, portaudio +, zlib + +# Plugins don't appear to be working in this version, so disable them by not +# building with Lua support by default. In a future version, try switching this +# to 'true' and seeing if the top-level Plugin menu appears. +, withLua ? false, lua +}: + +stdenv.mkDerivation rec { + name = "xournalpp-${version}"; + version = "1.0.8"; + + src = fetchFromGitHub { + owner = "xournalpp"; + repo = "xournalpp"; + rev = version; + sha256 = "01q84xjp9z1krna10gjj562km6i3wdq8cg7paxax1k6bh52ryvf6"; + }; + + patches = [ + # This patch removes the unused 'xopp-recording.sh' file which breaks the + # cmake build; this patch isn't in a release yet, and should be removed at + # or after 1.0.9 is released. + (fetchpatch { + name = "remove-xopp-recording.sh.patch"; + url = "https://github.com/xournalpp/xournalpp/commit/a17a3f2c80c607a22d0fdeb66d38358bea7e4d85.patch"; + sha256 = "10pcpvklm6kr0lv2xrsbpg2037ni9j6dmxgjf56p466l3gz60iwy"; + }) + ]; + + nativeBuildInputs = [ cmake gettext pkgconfig wrapGAppsHook ]; + buildInputs = + [ glib + gsettings-desktop-schemas + gtk3 + hicolor-icon-theme + libsndfile + libxml2 + pcre + poppler + portaudio + zlib + ] + ++ lib.optional withLua lua; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + description = "Xournal++ is a handwriting Notetaking software with PDF annotation support"; + homepage = https://github.com/xournalpp/xournalpp; + license = licenses.gpl2; + maintainers = with maintainers; [ andrew-d ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/graphics/yacreader/default.nix b/pkgs/applications/graphics/yacreader/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..3cf42343658c8faa2b1be93885b2ee3ceb580287 --- /dev/null +++ b/pkgs/applications/graphics/yacreader/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl, qmake, poppler, pkgconfig, libunarr, libGLU +, qtdeclarative, qtgraphicaleffects, qtmultimedia, qtquickcontrols, qtscript +}: + +stdenv.mkDerivation rec { + name = "yacreader-${version}"; + version = "9.5.0"; + + src = fetchurl { + url = "https://github.com/YACReader/yacreader/releases/download/${version}/${name}-src.tar.xz"; + sha256 = "0cv5y76kjvsqsv4fp99j8np5pm4m76868i1nn40q6hy573dmxwm6"; + }; + + nativeBuildInputs = [ qmake pkgconfig ]; + buildInputs = [ poppler libunarr libGLU qtmultimedia qtscript ]; + propagatedBuildInputs = [ qtquickcontrols qtgraphicaleffects qtdeclarative ]; + + enableParallelBuilding = true; + + meta = { + description = "A comic reader for cross-platform reading and managing your digital comic collection"; + homepage = http://www.yacreader.com; + license = stdenv.lib.licenses.gpl3; + }; +} diff --git a/pkgs/applications/graphics/yed/default.nix b/pkgs/applications/graphics/yed/default.nix index a7cc7229d5b1d53559cd42c9ac352f6282a9371d..799ceef1beda7fa4aae373c9c74bee75ce37a636 100644 --- a/pkgs/applications/graphics/yed/default.nix +++ b/pkgs/applications/graphics/yed/default.nix @@ -1,16 +1,15 @@ -{ stdenv, requireFile, makeWrapper, unzip, jre }: +{ stdenv, fetchzip, makeWrapper, unzip, jre }: stdenv.mkDerivation rec { name = "yEd-${version}"; - version = "3.18.1"; + version = "3.19"; - src = requireFile { - name = "${name}.zip"; - url = "https://www.yworks.com/en/products/yfiles/yed/"; - sha256 = "6aefd87cd925b4a4c86871a3772de243b4e520a86f82158189ae8c19a9a5ecf8"; + src = fetchzip { + url = "https://www.yworks.com/resources/yed/demo/${name}.zip"; + sha256 = "0l70pc7wl2ghfkjab9w2mbx7crwha7xwkrpmspsi5c6q56dw7s33"; }; - nativeBuildInputs = [ unzip makeWrapper ]; + nativeBuildInputs = [ makeWrapper unzip ]; installPhase = '' mkdir -p $out/yed diff --git a/pkgs/applications/graphics/zgrviewer/default.nix b/pkgs/applications/graphics/zgrviewer/default.nix index 03ffa8af3706d88510ef6995a395df08ed42bf6f..ac3d303a7a60c8b1beed6178ebe60125bdc336ac 100644 --- a/pkgs/applications/graphics/zgrviewer/default.nix +++ b/pkgs/applications/graphics/zgrviewer/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, jre, unzip}: +{ stdenv, fetchurl, jre, unzip, runtimeShell }: stdenv.mkDerivation rec { version = "0.9.0"; pname = "zgrviewer"; @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { cp -r target/* "$out/share/java/zvtm/" - echo '#!/bin/sh' > "$out/bin/zgrviewer" + echo '#!${runtimeShell}' > "$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" ''; diff --git a/pkgs/applications/inferno/default.nix b/pkgs/applications/inferno/default.nix deleted file mode 100644 index de9be76b6e45ca8f5926d83fd598fa1110425abe..0000000000000000000000000000000000000000 --- a/pkgs/applications/inferno/default.nix +++ /dev/null @@ -1,58 +0,0 @@ -{ fetchhg, stdenv, xorg, makeWrapper }: - -stdenv.mkDerivation rec { - # Inferno is a rolling release from a mercurial repository. For the verison number - # of the package I'm using the mercurial commit number. - rev = "785"; - name = "inferno-${rev}"; - host = "Linux"; - objtype = "386"; - - src = fetchhg { - url = "https://bitbucket.org/inferno-os/inferno-os"; - sha256 = "1b428ma9fi5skvfrxp91dr43a62kax89wmx7950ahc1cxyx90k7x"; - }; - - buildInputs = [ makeWrapper ] ++ (with xorg; [ libX11 libXpm libXext xextproto ]); - - infernoWrapper = ./inferno; - - configurePhase = '' - sed -e 's@^ROOT=.*$@ROOT='"$out"'/share/inferno@g' \ - -e 's@^OBJTYPE=.*$@OBJTYPE=${objtype}@g' \ - -e 's@^SYSHOST=.*$@SYSHOST=${host}@g' \ - -i mkconfig - # Get rid of an annoying warning - sed -e 's/_BSD_SOURCE/_DEFAULT_SOURCE/g' \ - -i ${host}/${objtype}/include/lib9.h - ''; - - buildPhase = '' - mkdir -p $out/share/inferno - cp -r . $out/share/inferno - ./makemk.sh - export PATH=$PATH:$out/share/inferno/Linux/386/bin - mk nuke - mk - ''; - - installPhase = '' - # Installs executables in $out/share/inferno/${host}/${objtype}/bin - mk install - mkdir -p $out/bin - # Install start-up script - makeWrapper $infernoWrapper $out/bin/inferno \ - --suffix PATH ':' "$out/share/inferno/Linux/386/bin" \ - --set INFERNO_ROOT "$out/share/inferno" - ''; - - hardeningDisable = [ "fortify" ]; - - meta = { - description = "A compact distributed operating system for building cross-platform distributed systems"; - homepage = http://inferno-os.org/; - license = stdenv.lib.licenses.gpl2; - maintainers = with stdenv.lib.maintainers; [ doublec kovirobi ]; - platforms = with stdenv.lib.platforms; linux; - }; -} diff --git a/pkgs/applications/inferno/inferno b/pkgs/applications/inferno/inferno deleted file mode 100755 index 6eb6da8861a532e842565fdc877cfcef63192798..0000000000000000000000000000000000000000 --- a/pkgs/applications/inferno/inferno +++ /dev/null @@ -1,31 +0,0 @@ -#! /usr/bin/env bash - - -export INFERNO_HOME="$HOME/.local/share/inferno" -if [ -n "$XDG_DATA_HOME" ] - then export INFERNO_HOME="$XDG_DATA_HOME/inferno" -fi - -if [ ! -d $INFERNO_HOME ]; then - mkdir -p $INFERNO_HOME -fi - -if [ ! -d $INFERNO_HOME/tmp ]; then - mkdir -p $INFERNO_HOME/tmp -fi - -for d in $INFERNO_HOME/{acme,appl,dis,lib,man,module,usr/inferno}; do - if [ ! -d $d ]; then - mkdir -p $d - cp --no-preserve=all -r $INFERNO_ROOT/${d#$INFERNO_HOME/}/* $d/ - chmod -R +w $d - fi -done - -if [ ! -d $INFERNO_HOME/usr/$USER ]; then - mkdir -p $INFERNO_HOME/usr/$USER - cp -r $INFERNO_ROOT/usr/inferno/* $INFERNO_HOME/usr/$USER/ - chmod -R +w $INFERNO_HOME/usr/$USER -fi - -exec emu "$@" /dis/sh.dis -c "bind -b -c '#U*$INFERNO_HOME/' /; /dis/sh.dis" diff --git a/pkgs/applications/kde/akonadi/akonadi-paths.patch b/pkgs/applications/kde/akonadi/akonadi-paths.patch index 4743c36c44d0b20e8f8ee795bfabc51584a588ba..fcbbbbb72eb3da233b361196f6eb2d2a6e6c904a 100644 --- a/pkgs/applications/kde/akonadi/akonadi-paths.patch +++ b/pkgs/applications/kde/akonadi/akonadi-paths.patch @@ -1,8 +1,8 @@ diff --git a/src/akonadicontrol/agentmanager.cpp b/src/akonadicontrol/agentmanager.cpp -index 2e9f1acf4..ecc80afdc 100644 +index d85c1a79b..8df02710c 100644 --- a/src/akonadicontrol/agentmanager.cpp +++ b/src/akonadicontrol/agentmanager.cpp -@@ -84,12 +84,12 @@ AgentManager::AgentManager(bool verbose, QObject *parent) +@@ -78,12 +78,12 @@ AgentManager::AgentManager(bool verbose, QObject *parent) mStorageController = new Akonadi::ProcessControl; mStorageController->setShutdownTimeout(15 * 1000); // the server needs more time for shutdown if we are using an internal mysqld connect(mStorageController, &Akonadi::ProcessControl::unableToStart, this, &AgentManager::serverFailure); @@ -15,8 +15,8 @@ index 2e9f1acf4..ecc80afdc 100644 - mAgentServer->start(QStringLiteral("akonadi_agent_server"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash); + mAgentServer->start(QLatin1String(NIX_OUT "/bin/akonadi_agent_server"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash); } + } - #ifndef QT_NO_DEBUG diff --git a/src/akonadicontrol/agentprocessinstance.cpp b/src/akonadicontrol/agentprocessinstance.cpp index be1cc4afb..6d0c1d7e5 100644 --- a/src/akonadicontrol/agentprocessinstance.cpp @@ -31,10 +31,10 @@ index be1cc4afb..6d0c1d7e5 100644 } return true; diff --git a/src/server/storage/dbconfigmysql.cpp b/src/server/storage/dbconfigmysql.cpp -index a32e86602..48ea4e52e 100644 +index dfff6fc29..419e54a5b 100644 --- a/src/server/storage/dbconfigmysql.cpp +++ b/src/server/storage/dbconfigmysql.cpp -@@ -63,7 +63,6 @@ bool DbConfigMysql::init(QSettings &settings) +@@ -82,7 +82,6 @@ bool DbConfigMysql::init(QSettings &settings) // determine default settings depending on the driver QString defaultHostName; QString defaultOptions; @@ -42,7 +42,7 @@ index a32e86602..48ea4e52e 100644 QString defaultCleanShutdownCommand; #ifndef Q_OS_WIN -@@ -71,25 +70,7 @@ bool DbConfigMysql::init(QSettings &settings) +@@ -90,16 +89,7 @@ bool DbConfigMysql::init(QSettings &settings) #endif const bool defaultInternalServer = true; @@ -51,38 +51,29 @@ index a32e86602..48ea4e52e 100644 - defaultServerPath = QStringLiteral(MYSQLD_EXECUTABLE); - } -#endif -- const QStringList mysqldSearchPath = QStringList() -- << QStringLiteral("/usr/bin") -- << QStringLiteral("/usr/sbin") -- << QStringLiteral("/usr/local/sbin") -- << QStringLiteral("/usr/local/libexec") -- << QStringLiteral("/usr/libexec") -- << QStringLiteral("/opt/mysql/libexec") -- << QStringLiteral("/opt/local/lib/mysql5/bin") -- << QStringLiteral("/opt/mysql/sbin"); - if (defaultServerPath.isEmpty()) { -- defaultServerPath = QStandardPaths::findExecutable(QStringLiteral("mysqld"), mysqldSearchPath); +- defaultServerPath = findExecutable(QStringLiteral("mysqld")); - } - -- const QString mysqladminPath = QStandardPaths::findExecutable(QStringLiteral("mysqladmin"), mysqldSearchPath); +- const QString mysqladminPath = findExecutable(QStringLiteral("mysqladmin")); + const QString mysqladminPath = QLatin1String(NIXPKGS_MYSQL_MYSQLADMIN); if (!mysqladminPath.isEmpty()) { #ifndef Q_OS_WIN defaultCleanShutdownCommand = QStringLiteral("%1 --defaults-file=%2/mysql.conf --socket=%3/mysql.socket shutdown") -@@ -99,10 +80,10 @@ bool DbConfigMysql::init(QSettings &settings) +@@ -109,10 +99,10 @@ bool DbConfigMysql::init(QSettings &settings) #endif } -- mMysqlInstallDbPath = QStandardPaths::findExecutable(QStringLiteral("mysql_install_db"), mysqldSearchPath); +- mMysqlInstallDbPath = findExecutable(QStringLiteral("mysql_install_db")); + mMysqlInstallDbPath = QLatin1String(NIXPKGS_MYSQL_MYSQL_INSTALL_DB); qCDebug(AKONADISERVER_LOG) << "Found mysql_install_db: " << mMysqlInstallDbPath; -- mMysqlCheckPath = QStandardPaths::findExecutable(QStringLiteral("mysqlcheck"), mysqldSearchPath); +- mMysqlCheckPath = findExecutable(QStringLiteral("mysqlcheck")); + mMysqlCheckPath = QLatin1String(NIXPKGS_MYSQL_MYSQLCHECK); qCDebug(AKONADISERVER_LOG) << "Found mysqlcheck: " << mMysqlCheckPath; mInternalServer = settings.value(QStringLiteral("QMYSQL/StartServer"), defaultInternalServer).toBool(); -@@ -119,7 +100,7 @@ bool DbConfigMysql::init(QSettings &settings) +@@ -129,7 +119,7 @@ bool DbConfigMysql::init(QSettings &settings) mUserName = settings.value(QStringLiteral("User")).toString(); mPassword = settings.value(QStringLiteral("Password")).toString(); mConnectionOptions = settings.value(QStringLiteral("Options"), defaultOptions).toString(); @@ -91,7 +82,7 @@ index a32e86602..48ea4e52e 100644 mCleanServerShutdownCommand = settings.value(QStringLiteral("CleanServerShutdownCommand"), defaultCleanShutdownCommand).toString(); settings.endGroup(); -@@ -129,9 +110,6 @@ bool DbConfigMysql::init(QSettings &settings) +@@ -139,9 +129,6 @@ bool DbConfigMysql::init(QSettings &settings) // intentionally not namespaced as we are the only one in this db instance when using internal mode mDatabaseName = QStringLiteral("akonadi"); } @@ -101,7 +92,7 @@ index a32e86602..48ea4e52e 100644 qCDebug(AKONADISERVER_LOG) << "Using mysqld:" << mMysqldPath; -@@ -140,9 +118,6 @@ bool DbConfigMysql::init(QSettings &settings) +@@ -150,9 +137,6 @@ bool DbConfigMysql::init(QSettings &settings) settings.setValue(QStringLiteral("Name"), mDatabaseName); settings.setValue(QStringLiteral("Host"), mHostName); settings.setValue(QStringLiteral("Options"), mConnectionOptions); @@ -111,7 +102,7 @@ index a32e86602..48ea4e52e 100644 settings.setValue(QStringLiteral("StartServer"), mInternalServer); settings.endGroup(); settings.sync(); -@@ -196,7 +171,7 @@ bool DbConfigMysql::startInternalServer() +@@ -206,7 +190,7 @@ bool DbConfigMysql::startInternalServer() #endif // generate config file @@ -121,7 +112,7 @@ index a32e86602..48ea4e52e 100644 const QString actualConfig = StandardDirs::saveDir("data") + QLatin1String("/mysql.conf"); if (globalConfig.isEmpty()) { diff --git a/src/server/storage/dbconfigpostgresql.cpp b/src/server/storage/dbconfigpostgresql.cpp -index 60e6272f2..ad7cefbfe 100644 +index 6b50ae50e..f94a8c5eb 100644 --- a/src/server/storage/dbconfigpostgresql.cpp +++ b/src/server/storage/dbconfigpostgresql.cpp @@ -58,7 +58,6 @@ bool DbConfigPostgresql::init(QSettings &settings) @@ -132,7 +123,7 @@ index 60e6272f2..ad7cefbfe 100644 QString defaultInitDbPath; QString defaultPgData; -@@ -70,34 +69,7 @@ bool DbConfigPostgresql::init(QSettings &settings) +@@ -70,35 +69,7 @@ bool DbConfigPostgresql::init(QSettings &settings) mInternalServer = settings.value(QStringLiteral("QPSQL/StartServer"), defaultInternalServer).toBool(); if (mInternalServer) { @@ -144,7 +135,8 @@ index 60e6272f2..ad7cefbfe 100644 - postgresSearchPath << QStringLiteral(POSTGRES_PATH); - } -#endif -- postgresSearchPath << QStringLiteral("/usr/sbin") +- postgresSearchPath << QStringLiteral("/usr/bin") +- << QStringLiteral("/usr/sbin") - << QStringLiteral("/usr/local/sbin"); - // Locale all versions in /usr/lib/postgresql (i.e. /usr/lib/postgresql/X.Y) in reversed - // sorted order, so we search from the newest one to the oldest. @@ -168,7 +160,7 @@ index 60e6272f2..ad7cefbfe 100644 defaultHostName = Utils::preferredSocketDirectory(StandardDirs::saveDir("data", QStringLiteral("db_misc"))); defaultPgData = StandardDirs::saveDir("data", QStringLiteral("db_data")); } -@@ -117,10 +89,7 @@ bool DbConfigPostgresql::init(QSettings &settings) +@@ -118,10 +89,7 @@ bool DbConfigPostgresql::init(QSettings &settings) mUserName = settings.value(QStringLiteral("User")).toString(); mPassword = settings.value(QStringLiteral("Password")).toString(); mConnectionOptions = settings.value(QStringLiteral("Options"), defaultOptions).toString(); @@ -180,7 +172,7 @@ index 60e6272f2..ad7cefbfe 100644 qCDebug(AKONADISERVER_LOG) << "Found pg_ctl:" << mServerPath; mInitDbPath = settings.value(QStringLiteral("InitDbPath"), defaultInitDbPath).toString(); if (mInternalServer && mInitDbPath.isEmpty()) { -@@ -141,7 +110,6 @@ bool DbConfigPostgresql::init(QSettings &settings) +@@ -142,7 +110,6 @@ bool DbConfigPostgresql::init(QSettings &settings) settings.setValue(QStringLiteral("Port"), mHostPort); } settings.setValue(QStringLiteral("Options"), mConnectionOptions); @@ -188,3 +180,6 @@ index 60e6272f2..ad7cefbfe 100644 settings.setValue(QStringLiteral("InitDbPath"), mInitDbPath); settings.setValue(QStringLiteral("StartServer"), mInternalServer); settings.endGroup(); +-- +2.18.1 + diff --git a/pkgs/applications/kde/default.nix b/pkgs/applications/kde/default.nix index f995abf283615f892eed97c34b894a41e4b81816..239d71fdfaf1645598969c2bbbf2ff2f3a48c751 100644 --- a/pkgs/applications/kde/default.nix +++ b/pkgs/applications/kde/default.nix @@ -93,6 +93,7 @@ let kcalc = callPackage ./kcalc.nix {}; kcalcore = callPackage ./kcalcore.nix {}; kcalutils = callPackage ./kcalutils.nix {}; + kcharselect = callPackage ./kcharselect.nix {}; kcolorchooser = callPackage ./kcolorchooser.nix {}; kcontacts = callPackage ./kcontacts.nix {}; kdav = callPackage ./kdav.nix {}; @@ -107,12 +108,14 @@ let kdf = callPackage ./kdf.nix {}; kdialog = callPackage ./kdialog.nix {}; keditbookmarks = callPackage ./keditbookmarks.nix {}; + kfind = callPackage ./kfind.nix {}; kget = callPackage ./kget.nix {}; kgpg = callPackage ./kgpg.nix {}; khelpcenter = callPackage ./khelpcenter.nix {}; kidentitymanagement = callPackage ./kidentitymanagement.nix {}; kig = callPackage ./kig.nix {}; kimap = callPackage ./kimap.nix {}; + kitinerary = callPackage ./kitinerary.nix {}; kio-extras = callPackage ./kio-extras.nix {}; kldap = callPackage ./kldap.nix {}; kleopatra = callPackage ./kleopatra.nix {}; @@ -122,21 +125,26 @@ let kmbox = callPackage ./kmbox.nix {}; kmime = callPackage ./kmime.nix {}; kmix = callPackage ./kmix.nix {}; + kmplot = callPackage ./kmplot.nix {}; + knotes = callPackage ./knotes.nix {}; kolourpaint = callPackage ./kolourpaint.nix {}; kompare = callPackage ./kompare.nix {}; konsole = callPackage ./konsole.nix {}; kontact = callPackage ./kontact.nix {}; kontactinterface = callPackage ./kontactinterface.nix {}; konquest = callPackage ./konquest.nix {}; + konqueror = callPackage ./konqueror.nix {}; korganizer = callPackage ./korganizer.nix {}; kpimtextedit = callPackage ./kpimtextedit.nix {}; ksmtp = callPackage ./ksmtp {}; kqtquickcharts = callPackage ./kqtquickcharts.nix {}; + kpkpass = callPackage ./kpkpass.nix {}; krdc = callPackage ./krdc.nix {}; krfb = callPackage ./krfb.nix {}; kruler = callPackage ./kruler.nix {}; ksystemlog = callPackage ./ksystemlog.nix {}; ktnef = callPackage ./ktnef.nix {}; + ktouch = callPackage ./ktouch.nix {}; kwalletmanager = callPackage ./kwalletmanager.nix {}; libgravatar = callPackage ./libgravatar.nix {}; libkcddb = callPackage ./libkcddb.nix {}; @@ -162,7 +170,6 @@ let pim-sieve-editor = callPackage ./pim-sieve-editor.nix {}; print-manager = callPackage ./print-manager.nix {}; spectacle = callPackage ./spectacle.nix {}; - syndication = callPackage ./syndication.nix {}; # Okteta was removed from kde applications and will now be released independently # Lets keep an alias for compatibility reasons inherit okteta; diff --git a/pkgs/applications/kde/dolphin.nix b/pkgs/applications/kde/dolphin.nix index 6a4635c26fb341c6e742d36e8cf000347844dc67..241bb71983a06a8a9cdd7ec4b73f920b6fea7a96 100644 --- a/pkgs/applications/kde/dolphin.nix +++ b/pkgs/applications/kde/dolphin.nix @@ -4,7 +4,8 @@ baloo, baloo-widgets, kactivities, kbookmarks, kcmutils, kcompletion, kconfig, kcoreaddons, kdelibs4support, kdbusaddons, kfilemetadata, ki18n, kiconthemes, kinit, kio, knewstuff, knotifications, - kparts, ktexteditor, kwindowsystem, phonon, solid + kparts, ktexteditor, kwindowsystem, phonon, solid, + wayland, qtwayland }: mkDerivation { @@ -19,6 +20,11 @@ mkDerivation { kcoreaddons kdelibs4support kdbusaddons kfilemetadata ki18n kiconthemes kinit kio knewstuff knotifications kparts ktexteditor kwindowsystem phonon solid + wayland qtwayland ]; outputs = [ "out" "dev" ]; + # We need the RPATH for linking, because the `libkdeinit5_dolphin.so` links + # private against its dependencies and without the correct RPATH, these + # dependencies are not found. + cmakeFlags = [ "-DCMAKE_SKIP_BUILD_RPATH=OFF" ]; } diff --git a/pkgs/applications/kde/eventviews.nix b/pkgs/applications/kde/eventviews.nix index cc1e83f6581d6d580bb0d778ac5b8302caa7576d..495491f6d3c1ae14e330da675cc26f8421c2d5a8 100644 --- a/pkgs/applications/kde/eventviews.nix +++ b/pkgs/applications/kde/eventviews.nix @@ -1,7 +1,8 @@ { mkDerivation, lib, kdepimTeam, extra-cmake-modules, kdoctools, - akonadi, calendarsupport, kcalutils, kdiagram, libkdepim, qtbase, qttools, + akonadi, calendarsupport, kcalutils, + kdiagram, libkdepim, qtbase, qttools, kholidays }: mkDerivation { @@ -12,7 +13,8 @@ mkDerivation { }; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; buildInputs = [ - akonadi calendarsupport kcalutils kdiagram libkdepim qtbase qttools + akonadi calendarsupport kcalutils kdiagram + libkdepim qtbase qttools kholidays ]; outputs = [ "out" "dev" ]; } diff --git a/pkgs/applications/kde/fetch.sh b/pkgs/applications/kde/fetch.sh index 181bf54ce8cf8dea991b0b4be65cd13c862c87a3..e06c7f0d14aa478d6fe71855f8b5ca98d7b9efea 100644 --- a/pkgs/applications/kde/fetch.sh +++ b/pkgs/applications/kde/fetch.sh @@ -1 +1 @@ -WGET_ARGS=( https://download.kde.org/stable/applications/18.04.3/ -A '*.tar.xz' ) +WGET_ARGS=( https://download.kde.org/stable/applications/18.12.3/ ) diff --git a/pkgs/applications/kde/grantleetheme/grantlee-merge-theme-dirs.patch b/pkgs/applications/kde/grantleetheme/grantlee-merge-theme-dirs.patch index fe8b15febf2eb5022f6a5de79df924446d682daa..ebb81248475fac7c897bc103d31a12dd3195705d 100644 --- a/pkgs/applications/kde/grantleetheme/grantlee-merge-theme-dirs.patch +++ b/pkgs/applications/kde/grantleetheme/grantlee-merge-theme-dirs.patch @@ -1,82 +1,8 @@ -Index: grantleetheme-17.04.0/src/grantleetheme_p.h -=================================================================== ---- grantleetheme-17.04.0.orig/src/grantleetheme_p.h -+++ grantleetheme-17.04.0/src/grantleetheme_p.h -@@ -47,7 +47,7 @@ public: - QString description; - QString name; - QString dirName; -- QString absolutePath; -+ QStringList absolutePaths; - QString author; - QString email; - -Index: grantleetheme-17.04.0/src/grantleetheme.h -=================================================================== ---- grantleetheme-17.04.0.orig/src/grantleetheme.h -+++ grantleetheme-17.04.0/src/grantleetheme.h -@@ -50,11 +50,14 @@ public: - QStringList displayExtraVariables() const; - QString dirName() const; - QString absolutePath() const; -+ QStringList absolutePaths() const; - QString author() const; - QString authorEmail() const; - - QString render(const QString &templateName, const QVariantHash &data, const QByteArray &applicationDomain = QByteArray()); - -+ void addThemeDir(const QString&); -+ - static void addPluginPath(const QString &path); - - private: -Index: grantleetheme-17.04.0/src/grantleethememanager.cpp -=================================================================== ---- grantleetheme-17.04.0.orig/src/grantleethememanager.cpp -+++ grantleetheme-17.04.0/src/grantleethememanager.cpp -@@ -142,25 +142,18 @@ public: - - for (const QString &directory : qAsConst(themesDirectories)) { - QDirIterator dirIt(directory, QStringList(), QDir::AllDirs | QDir::NoDotAndDotDot); -- QStringList alreadyLoadedThemeName; - while (dirIt.hasNext()) { - dirIt.next(); - const QString dirName = dirIt.fileName(); - GrantleeTheme::Theme theme = q->loadTheme(dirIt.filePath(), dirName, defaultDesktopFileName); - if (theme.isValid()) { - QString themeName = theme.name(); -- if (alreadyLoadedThemeName.contains(themeName)) { -- int i = 2; -- const QString originalName(theme.name()); -- while (alreadyLoadedThemeName.contains(themeName)) { -- themeName = originalName + QStringLiteral(" (%1)").arg(i); -- ++i; -- } -- theme.d->name = themeName; -+ QMap::iterator i = themes.find(dirName); -+ if (i != themes.end()) { -+ i.value().addThemeDir(dirIt.filePath()); -+ } else { -+ themes.insert(dirName, theme); - } -- alreadyLoadedThemeName << themeName; -- themes.insert(dirName, theme); -- //qDebug()<<" theme.name()"<addDir(directory); -@@ -374,7 +367,7 @@ QString ThemeManager::pathFromThemes(con - GrantleeTheme::Theme theme = loadTheme(dirIt.filePath(), dirName, defaultDesktopFileName); - if (theme.isValid()) { - if (dirName == themeName) { -- return theme.absolutePath(); -+ return theme.absolutePaths().first(); - } - } - } ---- src/grantleetheme.cpp.orig 2017-12-22 16:11:39.863598126 +0300 -+++ ./src/grantleetheme.cpp 2017-12-22 16:16:14.045664607 +0300 -@@ -46,7 +46,7 @@ ThemePrivate::ThemePrivate(const ThemePr +diff --git a/src/grantleetheme.cpp b/src/grantleetheme.cpp +index 27d5bc8..8d43140 100644 +--- a/src/grantleetheme.cpp ++++ b/src/grantleetheme.cpp +@@ -46,7 +46,7 @@ ThemePrivate::ThemePrivate(const ThemePrivate &other) , description(other.description) , name(other.name) , dirName(other.dirName) @@ -105,7 +31,7 @@ Index: grantleetheme-17.04.0/src/grantleethememanager.cpp loader->setTheme(dirName); if (!sEngine) { -@@ -121,7 +124,7 @@ Theme::Theme(const QString &themePath, c +@@ -121,7 +124,7 @@ Theme::Theme(const QString &themePath, const QString &dirName, const QString &de KConfigGroup group(&config, QStringLiteral("Desktop Entry")); if (group.isValid()) { d->dirName = dirName; @@ -137,7 +63,7 @@ Index: grantleetheme-17.04.0/src/grantleethememanager.cpp } QString Theme::author() const -@@ -223,6 +231,13 @@ QString Theme::render(const QString &tem +@@ -223,6 +231,13 @@ QString Theme::render(const QString &templateName, const QVariantHash &data, con return result; } @@ -151,3 +77,79 @@ Index: grantleetheme-17.04.0/src/grantleethememanager.cpp void Theme::addPluginPath(const QString &path) { if (!ThemePrivate::sEngine) { +diff --git a/src/grantleetheme.h b/src/grantleetheme.h +index a25c27b..be38299 100644 +--- a/src/grantleetheme.h ++++ b/src/grantleetheme.h +@@ -48,11 +48,14 @@ public: + Q_REQUIRED_RESULT QStringList displayExtraVariables() const; + Q_REQUIRED_RESULT QString dirName() const; + Q_REQUIRED_RESULT QString absolutePath() const; ++ Q_REQUIRED_RESULT QStringList absolutePaths() const; + Q_REQUIRED_RESULT QString author() const; + Q_REQUIRED_RESULT QString authorEmail() const; + + Q_REQUIRED_RESULT QString render(const QString &templateName, const QVariantHash &data, const QByteArray &applicationDomain = QByteArray()); + ++ void addThemeDir(const QString&); ++ + static void addPluginPath(const QString &path); + + private: +diff --git a/src/grantleetheme_p.h b/src/grantleetheme_p.h +index eb73dcb..00510e9 100644 +--- a/src/grantleetheme_p.h ++++ b/src/grantleetheme_p.h +@@ -43,7 +43,7 @@ public: + QString description; + QString name; + QString dirName; +- QString absolutePath; ++ QStringList absolutePaths; + QString author; + QString email; + +diff --git a/src/grantleethememanager.cpp b/src/grantleethememanager.cpp +index 606d717..dc99041 100644 +--- a/src/grantleethememanager.cpp ++++ b/src/grantleethememanager.cpp +@@ -125,25 +125,18 @@ public: + + for (const QString &directory : qAsConst(themesDirectories)) { + QDirIterator dirIt(directory, QStringList(), QDir::AllDirs | QDir::NoDotAndDotDot); +- QStringList alreadyLoadedThemeName; + while (dirIt.hasNext()) { + dirIt.next(); + const QString dirName = dirIt.fileName(); + GrantleeTheme::Theme theme = q->loadTheme(dirIt.filePath(), dirName, defaultDesktopFileName); + if (theme.isValid()) { + QString themeName = theme.name(); +- if (alreadyLoadedThemeName.contains(themeName)) { +- int i = 2; +- const QString originalName(theme.name()); +- while (alreadyLoadedThemeName.contains(themeName)) { +- themeName = originalName + QStringLiteral(" (%1)").arg(i); +- ++i; +- } +- theme.d->name = themeName; ++ QMap::iterator i = themes.find(dirName); ++ if (i != themes.end()) { ++ i.value().addThemeDir(dirIt.filePath()); ++ } else { ++ themes.insert(dirName, theme); + } +- alreadyLoadedThemeName << themeName; +- themes.insert(dirName, theme); +- //qDebug()<<" theme.name()"<addDir(directory); +@@ -366,7 +359,7 @@ QString ThemeManager::pathFromThemes(const QString &themesRelativePath, const QS + GrantleeTheme::Theme theme = loadTheme(dirIt.filePath(), dirName, defaultDesktopFileName); + if (theme.isValid()) { + if (dirName == themeName) { +- return theme.absolutePath(); ++ return theme.absolutePaths().first(); + } + } + } diff --git a/pkgs/applications/kde/kcharselect.nix b/pkgs/applications/kde/kcharselect.nix new file mode 100644 index 0000000000000000000000000000000000000000..4af712b1d5a5671080f49c486ed41c400f410c0a --- /dev/null +++ b/pkgs/applications/kde/kcharselect.nix @@ -0,0 +1,19 @@ +{ + mkDerivation, lib, + extra-cmake-modules, kdoctools, + kbookmarks, kconfig, kconfigwidgets, kcrash, kcoreaddons, ki18n, kwidgetsaddons, kxmlgui +}: + +mkDerivation { + name = "kcharselect"; + meta = { + license = lib.licenses.gpl2Plus; + maintainers = [ lib.maintainers.schmittlauch ]; + description = "A tool to select special characters from all installed fonts and copy them into the clipboard"; + }; + nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + buildInputs = [ + kbookmarks kconfig kconfigwidgets kcoreaddons kcrash ki18n kwidgetsaddons kxmlgui + ]; + enableParallelBuilding = true; +} diff --git a/pkgs/applications/kde/kdepim-addons.nix b/pkgs/applications/kde/kdepim-addons.nix index 5be3d881b0c594220bf6181b2144baf5cf8307dd..75c1bf5be8bf569e8ec314adcc0ae5e69bcf7333 100644 --- a/pkgs/applications/kde/kdepim-addons.nix +++ b/pkgs/applications/kde/kdepim-addons.nix @@ -4,7 +4,8 @@ akonadi-import-wizard, akonadi-notes, calendarsupport, eventviews, incidenceeditor, kcalcore, kcalutils, kconfig, kdbusaddons, kdeclarative, kdepim-apps-libs, kholidays, ki18n, kmime, ktexteditor, ktnef, libgravatar, - libksieve, mailcommon, mailimporter, messagelib, poppler, prison + libksieve, mailcommon, mailimporter, messagelib, poppler, prison, kpkpass, + kitinerary }: mkDerivation { @@ -18,6 +19,7 @@ mkDerivation { akonadi-import-wizard akonadi-notes calendarsupport eventviews incidenceeditor kcalcore kcalutils kconfig kdbusaddons kdeclarative kdepim-apps-libs kholidays ki18n kmime ktexteditor ktnef libgravatar - libksieve mailcommon mailimporter messagelib poppler prison + libksieve mailcommon mailimporter messagelib poppler prison kpkpass + kitinerary ]; } diff --git a/pkgs/applications/kde/kdepim-runtime.nix b/pkgs/applications/kde/kdepim-runtime.nix index b3cfed91dd45c73342ec7dbe75294db36cfa5582..fa090d50354727392fc439169c92e9bcbad2286d 100644 --- a/pkgs/applications/kde/kdepim-runtime.nix +++ b/pkgs/applications/kde/kdepim-runtime.nix @@ -5,7 +5,7 @@ akonadi, akonadi-calendar, akonadi-contacts, akonadi-mime, akonadi-notes, kalarmcal, kcalutils, kcontacts, kdav, kdelibs4support, kidentitymanagement, kimap, kmailtransport, kmbox, kmime, knotifications, knotifyconfig, - pimcommon, qtwebengine, libkgapi + pimcommon, qtwebengine, libkgapi, qtspeech, qtxmlpatterns }: mkDerivation { @@ -19,7 +19,7 @@ mkDerivation { akonadi akonadi-calendar akonadi-contacts akonadi-mime akonadi-notes kalarmcal kcalutils kcontacts kdav kdelibs4support kidentitymanagement kimap kmailtransport kmbox kmime knotifications knotifyconfig qtwebengine - pimcommon libkgapi + pimcommon libkgapi qtspeech qtxmlpatterns ]; # Attempts to build some files before dependencies have been generated enableParallelBuilding = false; diff --git a/pkgs/applications/kde/kfind.nix b/pkgs/applications/kde/kfind.nix new file mode 100644 index 0000000000000000000000000000000000000000..10932b38032ca45788764e23ad6f0ab0572cfa4b --- /dev/null +++ b/pkgs/applications/kde/kfind.nix @@ -0,0 +1,17 @@ +{ + mkDerivation, lib, + extra-cmake-modules, kdoctools, + karchive, kcoreaddons, kfilemetadata, ktextwidgets, kwidgetsaddons, kio +}: + +mkDerivation { + name = "kfind"; + meta = { + license = with lib.licenses; [ gpl2 ]; + maintainers = [ lib.maintainers.iblech ]; + }; + nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + buildInputs = [ + karchive kcoreaddons kfilemetadata ktextwidgets kwidgetsaddons kio + ]; +} diff --git a/pkgs/applications/kde/kio-extras.nix b/pkgs/applications/kde/kio-extras.nix index 13585848317b90aa1de030f8ce6433e1ca256921..dd717c9462d60b1fdcae9d48828fc81dfebb035c 100644 --- a/pkgs/applications/kde/kio-extras.nix +++ b/pkgs/applications/kde/kio-extras.nix @@ -3,7 +3,7 @@ exiv2, kactivities, karchive, kbookmarks, kconfig, kconfigwidgets, kcoreaddons, kdbusaddons, kguiaddons, kdnssd, kiconthemes, ki18n, kio, khtml, kdelibs4support, kpty, libmtp, libssh, openexr, ilmbase, openslp, phonon, - qtsvg, samba, solid + qtsvg, samba, solid, gperf }: mkDerivation { @@ -16,7 +16,7 @@ mkDerivation { buildInputs = [ exiv2 kactivities karchive kbookmarks kconfig kconfigwidgets kcoreaddons kdbusaddons kguiaddons kdnssd kiconthemes ki18n kio khtml kdelibs4support - kpty libmtp libssh openexr openslp phonon qtsvg samba solid + kpty libmtp libssh openexr openslp phonon qtsvg samba solid gperf ]; CXXFLAGS = [ "-I${ilmbase.dev}/include/OpenEXR" ]; } diff --git a/pkgs/applications/kde/kitinerary.nix b/pkgs/applications/kde/kitinerary.nix new file mode 100644 index 0000000000000000000000000000000000000000..8112460549b4582a6c17c77a4a34bc3abe763857 --- /dev/null +++ b/pkgs/applications/kde/kitinerary.nix @@ -0,0 +1,19 @@ +{ + mkDerivation, lib, extra-cmake-modules +, qtbase, qtdeclarative, ki18n, kmime, kpkpass +, poppler, kcontacts, kcalcore +}: + +mkDerivation { + name = "kitinerary"; + meta = { + license = with lib.licenses; [ lgpl21 ]; + maintainers = [ lib.maintainers.bkchr ]; + }; + nativeBuildInputs = [ extra-cmake-modules ]; + buildInputs = [ + qtbase qtdeclarative ki18n kmime kpkpass poppler + kcontacts kcalcore + ]; + outputs = [ "out" "dev" ]; +} diff --git a/pkgs/applications/kde/kleopatra.nix b/pkgs/applications/kde/kleopatra.nix index a19fef9c9edb7fdd5eaca93b6229d08a0179821e..c15c6eb78d69242556b0eadbb426962d5d94c2e6 100644 --- a/pkgs/applications/kde/kleopatra.nix +++ b/pkgs/applications/kde/kleopatra.nix @@ -2,7 +2,7 @@ mkDerivation, lib, kdepimTeam, extra-cmake-modules, kdoctools, boost, gpgme, kcmutils, kdbusaddons, kiconthemes, kitemmodels, kmime, - knotifications, kwindowsystem, kxmlgui, libkleo + knotifications, kwindowsystem, kxmlgui, libkleo, kcrash }: mkDerivation { @@ -14,6 +14,6 @@ mkDerivation { nativeBuildInputs = [ extra-cmake-modules kdoctools ]; buildInputs = [ boost gpgme kcmutils kdbusaddons kiconthemes kitemmodels kmime - knotifications kwindowsystem kxmlgui libkleo + knotifications kwindowsystem kxmlgui libkleo kcrash ]; } diff --git a/pkgs/applications/kde/kmailtransport.nix b/pkgs/applications/kde/kmailtransport.nix index c4b7c0ab4327a545900c28c4584961cec32184dc..703f62aa72c021c079b8a56dae88b7b61c45e1a7 100644 --- a/pkgs/applications/kde/kmailtransport.nix +++ b/pkgs/applications/kde/kmailtransport.nix @@ -1,7 +1,9 @@ { mkDerivation, lib, kdepimTeam, extra-cmake-modules, kdoctools, - akonadi, akonadi-mime, cyrus_sasl, kcmutils, ki18n, kio, kmime, kwallet, ksmtp + akonadi, akonadi-mime, cyrus_sasl, kcmutils, + ki18n, kio, kmime, kwallet, ksmtp, libkgapi, + kcalcore, kcontacts }: mkDerivation { @@ -11,7 +13,7 @@ mkDerivation { maintainers = kdepimTeam; }; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; - buildInputs = [ akonadi kcmutils ki18n kio ksmtp ]; + buildInputs = [ akonadi kcmutils ki18n kio ksmtp libkgapi kcalcore kcontacts ]; propagatedBuildInputs = [ akonadi-mime cyrus_sasl kmime kwallet ]; outputs = [ "out" "dev" ]; } diff --git a/pkgs/applications/kde/kmbox.nix b/pkgs/applications/kde/kmbox.nix index 4b6b72a373442582b56394613f789dcc3ae0e8cc..c1348edf3f6fb7725685a1b30fedfe2f8476f375 100644 --- a/pkgs/applications/kde/kmbox.nix +++ b/pkgs/applications/kde/kmbox.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, kdepimTeam, extra-cmake-modules, kdoctools, - kmime, qtbase, + kmime, qtbase, kcodecs }: mkDerivation { @@ -11,6 +11,6 @@ mkDerivation { maintainers = kdepimTeam; }; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; - buildInputs = [ kmime qtbase ]; + buildInputs = [ kmime qtbase kcodecs ]; outputs = [ "out" "dev" ]; } diff --git a/pkgs/applications/kde/kmplot.nix b/pkgs/applications/kde/kmplot.nix new file mode 100644 index 0000000000000000000000000000000000000000..c0c00f2134008c9e83c2e1304b3d15cb1e5c2252 --- /dev/null +++ b/pkgs/applications/kde/kmplot.nix @@ -0,0 +1,15 @@ +{ mkDerivation, lib, extra-cmake-modules, kdoctools +, kcrash, kguiaddons, ki18n, kparts, kwidgetsaddons, kdbusaddons +}: + +mkDerivation { + name = "kmplot"; + meta = { + license = with lib.licenses; [ gpl2Plus fdl12 ]; + maintainers = [ lib.maintainers.orivej ]; + }; + nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + buildInputs = [ + kcrash kguiaddons ki18n kparts kwidgetsaddons kdbusaddons + ]; +} diff --git a/pkgs/applications/kde/knotes.nix b/pkgs/applications/kde/knotes.nix new file mode 100644 index 0000000000000000000000000000000000000000..6aa3206acc7642bb7372c445524aedd5e04c2970 --- /dev/null +++ b/pkgs/applications/kde/knotes.nix @@ -0,0 +1,29 @@ +{ + mkDerivation, lib, + extra-cmake-modules, kdoctools, + kcompletion, kconfig, kconfigwidgets, kcoreaddons, kcrash, + kdbusaddons, kdnssd, kglobalaccel, kiconthemes, kitemmodels, + kitemviews, kcmutils, knewstuff, knotifications, knotifyconfig, + kparts, ktextwidgets, kwidgetsaddons, kwindowsystem, + kdelibs4support, + grantlee, grantleetheme, qtx11extras, + akonadi, akonadi-notes, akonadi-search, kcalutils, + kontactinterface, libkdepim, kmime, pimcommon, kpimtextedit, + kcalcore +}: + +mkDerivation { + name = "knotes"; + nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + buildInputs = [ + kcompletion kconfig kconfigwidgets kcoreaddons kcrash + kdbusaddons kdnssd kglobalaccel kiconthemes kitemmodels kitemviews + kcmutils knewstuff knotifications knotifyconfig kparts ktextwidgets + kwidgetsaddons kwindowsystem kdelibs4support + grantlee grantleetheme qtx11extras + akonadi akonadi-notes kcalutils kontactinterface + libkdepim kmime pimcommon kpimtextedit + akonadi-search + kcalcore + ]; +} diff --git a/pkgs/applications/kde/konqueror.nix b/pkgs/applications/kde/konqueror.nix new file mode 100644 index 0000000000000000000000000000000000000000..e6442fea2f9dce055662ddaaa4cbd5c81a813345 --- /dev/null +++ b/pkgs/applications/kde/konqueror.nix @@ -0,0 +1,20 @@ +{ lib +, mkDerivation +, extra-cmake-modules, kdoctools +, kdelibs4support, kcmutils, khtml, kdesu +, qtwebkit, qtwebengine, qtx11extras, qtscript, qtwayland +}: + +mkDerivation { + name = "konqueror"; + nativeBuildInputs = [ extra-cmake-modules kdoctools ]; + buildInputs = [ + kdelibs4support kcmutils khtml kdesu + qtwebkit qtwebengine qtx11extras qtscript qtwayland + ]; + meta = { + license = with lib.licenses; [ gpl2 ]; + maintainers = with lib.maintainers; [ ]; + }; +} + diff --git a/pkgs/applications/kde/konsole.nix b/pkgs/applications/kde/konsole.nix index 2847e312d00ad761b93fdfbff24de439b62c75d2..004fc1c37ae267a0d0d0f3e6947ce6df050c158b 100644 --- a/pkgs/applications/kde/konsole.nix +++ b/pkgs/applications/kde/konsole.nix @@ -1,5 +1,5 @@ { - mkDerivation, lib, + mkDerivation, lib, makeWrapper, extra-cmake-modules, kdoctools, kbookmarks, kcompletion, kconfig, kconfigwidgets, kcoreaddons, kguiaddons, ki18n, kiconthemes, kinit, kdelibs4support, kio, knotifications, @@ -18,6 +18,12 @@ mkDerivation { kbookmarks kcompletion kconfig kconfigwidgets kcoreaddons kdelibs4support kguiaddons ki18n kiconthemes kinit kio knotifications knotifyconfig kparts kpty kservice ktextwidgets kwidgetsaddons kwindowsystem kxmlgui qtscript knewstuff + makeWrapper ]; + + postInstall = '' + wrapProgram $out/bin/konsole --prefix XDG_DATA_DIRS ":" $out/share + ''; + propagatedUserEnvPkgs = [ (lib.getBin kinit) ]; } diff --git a/pkgs/applications/kde/kpimtextedit.nix b/pkgs/applications/kde/kpimtextedit.nix index 05d174b055414981d31cbb880b5d207a0acee49a..4ede854d54602eedd786e626401d2968f4eaea0e 100644 --- a/pkgs/applications/kde/kpimtextedit.nix +++ b/pkgs/applications/kde/kpimtextedit.nix @@ -2,7 +2,8 @@ mkDerivation, lib, kdepimTeam, extra-cmake-modules, kdoctools, grantlee, kcodecs, kconfigwidgets, kemoticons, ki18n, kiconthemes, kio, - kdesignerplugin, ktextwidgets, sonnet, syntax-highlighting, qttools, + kdesignerplugin, ktextwidgets, sonnet, syntax-highlighting, qttools, + qtspeech }: mkDerivation { @@ -14,7 +15,7 @@ mkDerivation { nativeBuildInputs = [ extra-cmake-modules kdoctools ]; buildInputs = [ grantlee kcodecs kconfigwidgets kemoticons ki18n kiconthemes kio kdesignerplugin - sonnet syntax-highlighting qttools + sonnet syntax-highlighting qttools qtspeech ]; propagatedBuildInputs = [ ktextwidgets ]; outputs = [ "out" "dev" ]; diff --git a/pkgs/applications/kde/kpkpass.nix b/pkgs/applications/kde/kpkpass.nix new file mode 100644 index 0000000000000000000000000000000000000000..e9505a72e85e1cbaa5ae13e19ec1aefb74df7f92 --- /dev/null +++ b/pkgs/applications/kde/kpkpass.nix @@ -0,0 +1,15 @@ +{ + mkDerivation, lib, extra-cmake-modules +, qtbase, karchive, shared-mime-info +}: + +mkDerivation { + name = "kpkpass"; + meta = { + license = with lib.licenses; [ lgpl21 ]; + maintainers = [ lib.maintainers.bkchr ]; + }; + nativeBuildInputs = [ extra-cmake-modules shared-mime-info ]; + buildInputs = [ qtbase karchive ]; + outputs = [ "out" "dev" ]; +} diff --git a/pkgs/applications/kde/ktouch.nix b/pkgs/applications/kde/ktouch.nix new file mode 100644 index 0000000000000000000000000000000000000000..64179f2e64dc9388e83fbdebfb2e2f2ea6b72374 --- /dev/null +++ b/pkgs/applications/kde/ktouch.nix @@ -0,0 +1,27 @@ +{ mkDerivation, lib +, extra-cmake-modules, kdoctools +, kconfig, kconfigwidgets, kcoreaddons, kdeclarative, ki18n +, kitemviews, kcmutils, kio, knewstuff, ktexteditor, kwidgetsaddons +, kwindowsystem, kxmlgui, qtscript, qtdeclarative, kqtquickcharts +, qtx11extras, qtgraphicaleffects, qtxmlpatterns, xorg +}: + + + mkDerivation { + name = "ktouch"; + meta = { + license = lib.licenses.gpl2; + maintainers = [ lib.maintainers.schmittlauch ]; + description = "A touch typing tutor from the KDE software collection"; + }; + nativeBuildInputs = [ extra-cmake-modules kdoctools qtdeclarative ]; + buildInputs = [ + kconfig kconfigwidgets kcoreaddons kdeclarative ki18n + kitemviews kcmutils kio knewstuff ktexteditor kwidgetsaddons + kwindowsystem kxmlgui qtscript qtdeclarative kqtquickcharts + qtx11extras qtgraphicaleffects qtxmlpatterns + xorg.libxkbfile xorg.libxcb + ]; + + enableParallelBuilding = true; +} diff --git a/pkgs/applications/kde/libkgapi.nix b/pkgs/applications/kde/libkgapi.nix index 7ff3a1f04b09931902e376d6c41ecf31ece2bf47..998e65f28347fd8243e7d9b857ea0a7b7f2762a9 100644 --- a/pkgs/applications/kde/libkgapi.nix +++ b/pkgs/applications/kde/libkgapi.nix @@ -1,7 +1,8 @@ { mkDerivation, lib, kdepimTeam, extra-cmake-modules, kdoctools, - qtwebengine, kio, kcalcore, kcontacts + qtwebengine, kio, kcalcore, kcontacts, + cyrus_sasl }: mkDerivation { @@ -11,5 +12,5 @@ mkDerivation { maintainers = kdepimTeam; }; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; - buildInputs = [ qtwebengine kio kcalcore kcontacts ]; + buildInputs = [ qtwebengine kio kcalcore kcontacts cyrus_sasl ]; } diff --git a/pkgs/applications/kde/marble.nix b/pkgs/applications/kde/marble.nix index e0e80b05ebcec67e1cc080a0b65ad1496da3c790..b02e29e33513b0c5b21b0ac3450ae21274388aad 100644 --- a/pkgs/applications/kde/marble.nix +++ b/pkgs/applications/kde/marble.nix @@ -8,9 +8,13 @@ mkDerivation { name = "marble"; meta.license = with lib.licenses; [ lgpl21 gpl3 ]; + outputs = [ "out" "dev" ]; nativeBuildInputs = [ extra-cmake-modules kdoctools perl ]; propagatedBuildInputs = [ qtscript qtsvg qtquickcontrols qtwebkit shared-mime-info krunner kparts knewstuff gpsd ]; + preConfigure = '' + cmakeFlags+=" -DINCLUDE_INSTALL_DIR=''${!outputDev}/include" + ''; } diff --git a/pkgs/applications/kde/minuet.nix b/pkgs/applications/kde/minuet.nix index efe850ab414d48acdc9e08f51621fb14ab6cf94d..cd98d56b86dd77e16c875b4a286d136eaea50a47 100644 --- a/pkgs/applications/kde/minuet.nix +++ b/pkgs/applications/kde/minuet.nix @@ -2,17 +2,17 @@ , lib, extra-cmake-modules, gettext, python , drumstick, fluidsynth , kcoreaddons, kcrash, kdoctools -, qtquickcontrols2, qtsvg, qttools +, qtquickcontrols2, qtsvg, qttools, qtdeclarative }: mkDerivation { name = "minuet"; meta = with lib; { license = with licenses; [ lgpl21 gpl3 ]; - maintainers = with maintainers; [ peterhoeg ]; + maintainers = with maintainers; [ peterhoeg HaoZeke ]; }; - nativeBuildInputs = [ extra-cmake-modules gettext kdoctools python ]; + nativeBuildInputs = [ extra-cmake-modules gettext kdoctools python qtdeclarative ]; propagatedBuildInputs = [ drumstick fluidsynth diff --git a/pkgs/applications/kde/srcs.nix b/pkgs/applications/kde/srcs.nix index f50afbcc371eb3247f1a0aae5fd1fd2baf298aa0..416273d719fe120d617326d32b389e7ac7ee49c5 100644 --- a/pkgs/applications/kde/srcs.nix +++ b/pkgs/applications/kde/srcs.nix @@ -3,1699 +3,1723 @@ { akonadi = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/akonadi-18.04.3.tar.xz"; - sha256 = "0x232a4rm8vz0vqs1v08p77zmcdjhjn9aicb3pvn4mqlgzz2q8x5"; - name = "akonadi-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/akonadi-18.12.3.tar.xz"; + sha256 = "f930deaade1cac1488b8af05cc28f4a78a441c34dbe875b673af3423f8a14658"; + name = "akonadi-18.12.3.tar.xz"; }; }; akonadi-calendar = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/akonadi-calendar-18.04.3.tar.xz"; - sha256 = "1jaigydsk1albvgqblrj0chxqzgpg3nmxihy7yf5wdmnkrkzpqlm"; - name = "akonadi-calendar-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/akonadi-calendar-18.12.3.tar.xz"; + sha256 = "19f92642ba4d62dfccca19ac3ced94495e9137d60a77a672c5443585f30cdaee"; + name = "akonadi-calendar-18.12.3.tar.xz"; }; }; akonadi-calendar-tools = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/akonadi-calendar-tools-18.04.3.tar.xz"; - sha256 = "06azzv80gisiiq1g8a1lm0hmadck38zsvylz8mwwir5s8nah9v09"; - name = "akonadi-calendar-tools-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/akonadi-calendar-tools-18.12.3.tar.xz"; + sha256 = "636ea364bea079cae0b899204add76b0d1d9a80d1955c914bc1dad3a6fc731ed"; + name = "akonadi-calendar-tools-18.12.3.tar.xz"; }; }; akonadiconsole = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/akonadiconsole-18.04.3.tar.xz"; - sha256 = "12yl23hdyyj3k5b59nkmj1ykr79srx901x16jakwqzx4n07nc30x"; - name = "akonadiconsole-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/akonadiconsole-18.12.3.tar.xz"; + sha256 = "d052084ecc1665976f7db08d11a15609f017b0803dd30b71b5d1dccc60ac6ed0"; + name = "akonadiconsole-18.12.3.tar.xz"; }; }; akonadi-contacts = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/akonadi-contacts-18.04.3.tar.xz"; - sha256 = "0g6vq1k95lvzljl54zafgcg3wmjayn49ihzpyyyxv1dxn7nfdngq"; - name = "akonadi-contacts-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/akonadi-contacts-18.12.3.tar.xz"; + sha256 = "6ad8e352744c258b66a0c6155322681fa4ec50422c81fe4248414b0834e645cc"; + name = "akonadi-contacts-18.12.3.tar.xz"; }; }; akonadi-import-wizard = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/akonadi-import-wizard-18.04.3.tar.xz"; - sha256 = "0by9h35gag4ygxna661gg72hmnng235dhc2q1pl6x5mb5gkpnwmp"; - name = "akonadi-import-wizard-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/akonadi-import-wizard-18.12.3.tar.xz"; + sha256 = "a74ca212ab05706d5beb94696a933cb46dfd83d5ebd6723de97f7ce4efbe6104"; + name = "akonadi-import-wizard-18.12.3.tar.xz"; }; }; akonadi-mime = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/akonadi-mime-18.04.3.tar.xz"; - sha256 = "1kk5nxh0dn1rmi1qasqf6kpa9ihg0lkajkj6r7widkh14ssz8sn0"; - name = "akonadi-mime-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/akonadi-mime-18.12.3.tar.xz"; + sha256 = "ff7d91c77b629bba6b93ee6b15c0ebee08aa37368aa8bcae48ecbbacf64bc1b4"; + name = "akonadi-mime-18.12.3.tar.xz"; }; }; akonadi-notes = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/akonadi-notes-18.04.3.tar.xz"; - sha256 = "0dir0mlch002l9wx6cgzkywh9nkjgvwm09gzpiz9h9d62q8a5wzc"; - name = "akonadi-notes-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/akonadi-notes-18.12.3.tar.xz"; + sha256 = "ac2f5ef0a3f4621d6af6fef028d641334212d940a1fc3ffc1e3cc6534ca6be60"; + name = "akonadi-notes-18.12.3.tar.xz"; }; }; akonadi-search = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/akonadi-search-18.04.3.tar.xz"; - sha256 = "15a94g4zrq021zaabsi97lcb5lrm9nar9wjakga8xgy9jf48fq23"; - name = "akonadi-search-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/akonadi-search-18.12.3.tar.xz"; + sha256 = "6436a0f71229cf7917cb4f269f34a2046c24860ecfc03e7018b9d2a7f9e66346"; + name = "akonadi-search-18.12.3.tar.xz"; }; }; akregator = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/akregator-18.04.3.tar.xz"; - sha256 = "0xhsrx0yf4kggi4cjrg5g3if5n1m3injqfy9zyy891kzgfsybnaj"; - name = "akregator-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/akregator-18.12.3.tar.xz"; + sha256 = "d3a4f0f4b677825d1b3e1461a020c17a36abe458d7e3ab40389627e2d8163ea1"; + name = "akregator-18.12.3.tar.xz"; }; }; analitza = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/analitza-18.04.3.tar.xz"; - sha256 = "1yva0j9c8wagzp68qi4hg7lniigz1b61jr6jayw98lnkdvsg7y5f"; - name = "analitza-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/analitza-18.12.3.tar.xz"; + sha256 = "c241b6a3d849534ccd50601c0aebd5cd785220bb7957ed7f6b1d3db35ba0f925"; + name = "analitza-18.12.3.tar.xz"; }; }; ark = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/ark-18.04.3.tar.xz"; - sha256 = "02dv1mv8sim2qb1xm7nni5z6nx4jsdihagmj2y5v48nlvf229k75"; - name = "ark-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/ark-18.12.3.tar.xz"; + sha256 = "ecf781b5d3691bb967c9170938c1133e2972ee97d71aab2de65487a952700722"; + name = "ark-18.12.3.tar.xz"; }; }; artikulate = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/artikulate-18.04.3.tar.xz"; - sha256 = "1dvinnbcm6lgjsjjsv9gl1s99xgcgpld10v3nn32ak8h7v89in9m"; - name = "artikulate-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/artikulate-18.12.3.tar.xz"; + sha256 = "f40cc532dd1093d53ab4f825716ea4f4f4d7f954ac6c58ef412b63323a76c278"; + name = "artikulate-18.12.3.tar.xz"; }; }; audiocd-kio = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/audiocd-kio-18.04.3.tar.xz"; - sha256 = "08kzy6nj14qwm3gd7m6idn3s34i7bx5galhbish0xqmg6wnfxpzl"; - name = "audiocd-kio-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/audiocd-kio-18.12.3.tar.xz"; + sha256 = "c15ebda9330688c0304be36999f4900ccd7c0b1ce11e19c296975414dafe53c8"; + name = "audiocd-kio-18.12.3.tar.xz"; }; }; baloo-widgets = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/baloo-widgets-18.04.3.tar.xz"; - sha256 = "01qx2wyiaa00ixyfy0mak8xz7cnpqrxnxn5hzhrf8v9zar1d04ap"; - name = "baloo-widgets-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/baloo-widgets-18.12.3.tar.xz"; + sha256 = "b8475ba1a74f8ebc6a36029b60ac803ab0d2c81c253b8c16bd05b6249454c3e3"; + name = "baloo-widgets-18.12.3.tar.xz"; }; }; blinken = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/blinken-18.04.3.tar.xz"; - sha256 = "0rv9v678cqhnamz46996pwgw9d4nwa2kg92d2mpvyd790ax5fdrz"; - name = "blinken-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/blinken-18.12.3.tar.xz"; + sha256 = "2b6a11fa56b8837618e157a4a974eb1dff956cfb8b93e6cb0601bda66a234579"; + name = "blinken-18.12.3.tar.xz"; }; }; bomber = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/bomber-18.04.3.tar.xz"; - sha256 = "0a7l103ddgn648ijlwf1fgvvma7mg0vz7pqdy50k1vm3gkkvqh03"; - name = "bomber-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/bomber-18.12.3.tar.xz"; + sha256 = "5b8e24aba4fb14ffc72313f9754315d6a7d98a3e00ee118a2551ac3357ead771"; + name = "bomber-18.12.3.tar.xz"; }; }; bovo = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/bovo-18.04.3.tar.xz"; - sha256 = "047f4k6h3z7yl4f5ggs3jlrcpgp5li4kgkssa2vcy93jsgb4a8wz"; - name = "bovo-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/bovo-18.12.3.tar.xz"; + sha256 = "7fc7ff304cf5b5bf2049fdd53fbb4a819bddefc77fde94702c5118240403d972"; + name = "bovo-18.12.3.tar.xz"; }; }; calendarsupport = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/calendarsupport-18.04.3.tar.xz"; - sha256 = "14rasrmxsx4d3ap4ifihfd8nm9bydng753xi59xkx86fvxb3qg5r"; - name = "calendarsupport-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/calendarsupport-18.12.3.tar.xz"; + sha256 = "e3c23c152a3e339628e79b168e56c22c5c2610600013f3aa8706168569cacfa5"; + name = "calendarsupport-18.12.3.tar.xz"; }; }; cantor = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/cantor-18.04.3.tar.xz"; - sha256 = "0ix8vcjrdw1bssmhhc5a0vp8ywfrznhqpfcxvs9d1p4bxl48bblc"; - name = "cantor-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/cantor-18.12.3.tar.xz"; + sha256 = "2537b8e8a9e5b72a2b3bf2b08d24c4978f52ef18ced61cdcfd2a09069f670398"; + name = "cantor-18.12.3.tar.xz"; }; }; cervisia = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/cervisia-18.04.3.tar.xz"; - sha256 = "0lbcdjjpr56vq14m8zk3fzna6mcz74dqzlkmc1zxn6gijjv89zqf"; - name = "cervisia-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/cervisia-18.12.3.tar.xz"; + sha256 = "a5e4034b0d1ee07c2efaef6e8eef17b48a340e9d046cd23efceaf67f07ab5a85"; + name = "cervisia-18.12.3.tar.xz"; }; }; dolphin = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/dolphin-18.04.3.tar.xz"; - sha256 = "1im39knramhxdpw7bsnm2f533iz81fb47lac99vq9jc3c9zn7za1"; - name = "dolphin-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/dolphin-18.12.3.tar.xz"; + sha256 = "c4921759bdfec9a96201a5d76a67869f867ec7e3caf92f8e46fa5d853a0741b1"; + name = "dolphin-18.12.3.tar.xz"; }; }; dolphin-plugins = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/dolphin-plugins-18.04.3.tar.xz"; - sha256 = "1fccbnr1b05sbqmfz6v09sq1v8dvbkw2jzyk8nqd9cmc2zbymwga"; - name = "dolphin-plugins-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/dolphin-plugins-18.12.3.tar.xz"; + sha256 = "1bff5f828f11e9b9a527b59f12ec16745fa19fb09392ca1872d6b0c909212427"; + name = "dolphin-plugins-18.12.3.tar.xz"; }; }; dragon = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/dragon-18.04.3.tar.xz"; - sha256 = "1dhzbyk87xd0bm89b1rs540rrixh16z9pm26003xl640imwbwy57"; - name = "dragon-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/dragon-18.12.3.tar.xz"; + sha256 = "115d60bfdef498ea75bc077a7091fb738615b399b03ec2a76a4bf34f19b407f3"; + name = "dragon-18.12.3.tar.xz"; }; }; eventviews = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/eventviews-18.04.3.tar.xz"; - sha256 = "02v57ini7qi9y5ijljhxfsq2b5hqg9jdbgihdkq8vy2dlcg30mfd"; - name = "eventviews-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/eventviews-18.12.3.tar.xz"; + sha256 = "994ddea6894fd73eeb851b04083bc886288e4531aa770c0b2e5d8e1740bbe4d0"; + name = "eventviews-18.12.3.tar.xz"; }; }; ffmpegthumbs = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/ffmpegthumbs-18.04.3.tar.xz"; - sha256 = "0wj403wahlirr2nv380z2s4fcgny446frv5xdxlqgg3b176ydcp6"; - name = "ffmpegthumbs-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/ffmpegthumbs-18.12.3.tar.xz"; + sha256 = "4db8ab905d80863f898b6a3ea8cd0cc7baad91ad953d6b65df230079be04b338"; + name = "ffmpegthumbs-18.12.3.tar.xz"; }; }; filelight = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/filelight-18.04.3.tar.xz"; - sha256 = "1m02si6pz6rb8arjd50s277xnj5f8alkl8r3p8f4cgmx2gs3rymn"; - name = "filelight-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/filelight-18.12.3.tar.xz"; + sha256 = "9090bc7c7ac2586e857cdc246a94621c1453e7f65c6d491f2f374f43d3e4af1a"; + name = "filelight-18.12.3.tar.xz"; }; }; granatier = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/granatier-18.04.3.tar.xz"; - sha256 = "0i7f4pbj43vcav9ncxznddhvy0fph0z8xv3hb1wf5rncfxbc0kh0"; - name = "granatier-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/granatier-18.12.3.tar.xz"; + sha256 = "ad065e488f9a751423d571f51449e766c625e88ca7d3c30d21ff3b9027fc04af"; + name = "granatier-18.12.3.tar.xz"; }; }; grantlee-editor = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/grantlee-editor-18.04.3.tar.xz"; - sha256 = "0796ihix37igawic7bpva1ca3hzhcz89k7aqd3pwcz220ky6y0fy"; - name = "grantlee-editor-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/grantlee-editor-18.12.3.tar.xz"; + sha256 = "d46831a589815581bce45c3954eb12fcbb1692fb407f566952a39e3e8c546b9c"; + name = "grantlee-editor-18.12.3.tar.xz"; }; }; grantleetheme = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/grantleetheme-18.04.3.tar.xz"; - sha256 = "1n69wmxs9bsa37swxv8gl1ji6w696mxpg9g5z945il7ai6zwi8av"; - name = "grantleetheme-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/grantleetheme-18.12.3.tar.xz"; + sha256 = "7853075503f2a19713ce43ba077dde8036f892dee7f41e64ebc9af06b4005402"; + name = "grantleetheme-18.12.3.tar.xz"; }; }; gwenview = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/gwenview-18.04.3.tar.xz"; - sha256 = "187l75ppnsnl7bi9p6zyxg95qm3syhpmga6zl22ky0g9mqz6s3nx"; - name = "gwenview-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/gwenview-18.12.3.tar.xz"; + sha256 = "0b4ff869fc09140e258e894f5169fc6c96f1126891b8ed1a391d4624d6ab0c35"; + name = "gwenview-18.12.3.tar.xz"; }; }; incidenceeditor = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/incidenceeditor-18.04.3.tar.xz"; - sha256 = "0zwrr6rgvardpxr5czh1jwrb2wvnxyfk3psgk6marr2sg5nm10km"; - name = "incidenceeditor-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/incidenceeditor-18.12.3.tar.xz"; + sha256 = "b0fa13390b31a24a8bca99f20b132841849d95dba9de3b8a4c9ae979d226ec02"; + name = "incidenceeditor-18.12.3.tar.xz"; }; }; juk = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/juk-18.04.3.tar.xz"; - sha256 = "1zbh03mckj32003padxzlghpc6dqry8z72aflv873if986wzw0dk"; - name = "juk-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/juk-18.12.3.tar.xz"; + sha256 = "8755710f551b3173561ebfcc996f32b3fd8de78d5574584f8e37015541a9fdca"; + name = "juk-18.12.3.tar.xz"; }; }; k3b = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/k3b-18.04.3.tar.xz"; - sha256 = "0wh0l7f9ngyq40p506pmnb3a8irb7wzz8pcncy6br3lcgg9yx0wx"; - name = "k3b-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/k3b-18.12.3.tar.xz"; + sha256 = "cee825ff0c058cc1cbe3bf47a7acbe3889949460ba383ffae3756b67b418362e"; + name = "k3b-18.12.3.tar.xz"; }; }; kaccounts-integration = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kaccounts-integration-18.04.3.tar.xz"; - sha256 = "0883l8dzs21h8y2xw8vxnln3m4fwp01ifncmwb7vil9yllf6c6jw"; - name = "kaccounts-integration-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kaccounts-integration-18.12.3.tar.xz"; + sha256 = "6e7e4d7aac270f605a5fd4ec9efea8c13807ccb67c11fd3412c1d794ab09e6ce"; + name = "kaccounts-integration-18.12.3.tar.xz"; }; }; kaccounts-providers = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kaccounts-providers-18.04.3.tar.xz"; - sha256 = "0nvwdmmz3lajaj0p624mqi0mpnqv23npk2sbcxhc504gp25bki9i"; - name = "kaccounts-providers-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kaccounts-providers-18.12.3.tar.xz"; + sha256 = "4d084ffdac10a8a8cc8b79a9b17116893c023288c9e29d1cbabe3d28cd0ba5f6"; + name = "kaccounts-providers-18.12.3.tar.xz"; }; }; kaddressbook = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kaddressbook-18.04.3.tar.xz"; - sha256 = "02rqcmbcvl4brzy33vljppad3k50hxsm7g0j96wjrlaj06p2rmfl"; - name = "kaddressbook-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kaddressbook-18.12.3.tar.xz"; + sha256 = "81d3ba7d5e8ed14b0cc32825f1efbdccbf9f79ffe4e1f8c888179c3d04b5bd28"; + name = "kaddressbook-18.12.3.tar.xz"; }; }; kajongg = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kajongg-18.04.3.tar.xz"; - sha256 = "1f16w02sqzsmjcfvqijgrvgpjmym7nf9hgc1rxldc1hwi772kcgq"; - name = "kajongg-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kajongg-18.12.3.tar.xz"; + sha256 = "e3fba4ddb19e8dfd43f917d737bf13c2391a3042c6941181ab81f4bcd66096f9"; + name = "kajongg-18.12.3.tar.xz"; }; }; kalarm = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kalarm-18.04.3.tar.xz"; - sha256 = "1dlf25p66kcw55vk0xmrcd900ar2wxn9416qqji711n6wnx3xqrf"; - name = "kalarm-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kalarm-18.12.3.tar.xz"; + sha256 = "5c116221e78755b8afd80287885cb50380c2136acd25aa615d3f6041cc0fbeb3"; + name = "kalarm-18.12.3.tar.xz"; }; }; kalarmcal = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kalarmcal-18.04.3.tar.xz"; - sha256 = "1blzbccdk3zf5fgy4n5l59c5cagy1v7rjs53npjxgmdng7lxb8kl"; - name = "kalarmcal-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kalarmcal-18.12.3.tar.xz"; + sha256 = "2658b2d8055558878cf84d50daf333a5f694a586800b9ccfd3eded3304af8ef8"; + name = "kalarmcal-18.12.3.tar.xz"; }; }; kalgebra = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kalgebra-18.04.3.tar.xz"; - sha256 = "0x1a24k2p02s755kmpv0zanfv7ys50kkwyvc68g76b9z1yjb02dc"; - name = "kalgebra-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kalgebra-18.12.3.tar.xz"; + sha256 = "a93b319c6a3fab3d3a12923f8153a6f38281887e176fffaa37ca6cc677a280b5"; + name = "kalgebra-18.12.3.tar.xz"; }; }; kalzium = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kalzium-18.04.3.tar.xz"; - sha256 = "1lqw77xcxjkc3a1g046i1rdb0bk29p0kcnqfyjkm03kp8819gbgg"; - name = "kalzium-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kalzium-18.12.3.tar.xz"; + sha256 = "100f63b0c1624c10ce7bb54a6a8fa6dfaf6800f580bfc0889745e171fe135fef"; + name = "kalzium-18.12.3.tar.xz"; }; }; kamera = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kamera-18.04.3.tar.xz"; - sha256 = "11b2b3fgi73f2vw97qdvh8kk92bcn7h513plcvpiv2vw1qh6bwm7"; - name = "kamera-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kamera-18.12.3.tar.xz"; + sha256 = "5e0e5a710cffd95019279d68daa27fdd4fba1401450673efa757ffc8a7ca495f"; + name = "kamera-18.12.3.tar.xz"; }; }; kamoso = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kamoso-18.04.3.tar.xz"; - sha256 = "0vjhdkx874v9gzm7yla7pxwiphdrf8aj21641xslf5qn4kcx55p1"; - name = "kamoso-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kamoso-18.12.3.tar.xz"; + sha256 = "ed62bbdf8eeefb85605113c3a916b01eec16846825cffe9b0b0c1f5a4580feb3"; + name = "kamoso-18.12.3.tar.xz"; }; }; kanagram = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kanagram-18.04.3.tar.xz"; - sha256 = "033mzwirfc7p7xphvyh9h135pq17rqnz5vw8d7rn893z1lwzm8xj"; - name = "kanagram-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kanagram-18.12.3.tar.xz"; + sha256 = "dcc06543830ab06066f2f37eba6722f5cb0893355e30cee8d522085ed5fb2204"; + name = "kanagram-18.12.3.tar.xz"; }; }; kapman = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kapman-18.04.3.tar.xz"; - sha256 = "0w6xcp5lqzlcmgyvr76mgnbnvhabzhmjmlkab6zfgrrph0w4lnba"; - name = "kapman-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kapman-18.12.3.tar.xz"; + sha256 = "ad4a6377d260df76d000631ab4c95e5cb82ce47d031edc9801b6ed92d856305c"; + name = "kapman-18.12.3.tar.xz"; }; }; kapptemplate = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kapptemplate-18.04.3.tar.xz"; - sha256 = "0gsv6mam7jmix7wx7rq3xyqs1c0c15kcpbcj1ps6qzbf33w73crl"; - name = "kapptemplate-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kapptemplate-18.12.3.tar.xz"; + sha256 = "dd4e34e1ed60f4cb03836576dfd5d306ec1890cd0fe583b516bf49c628f1078f"; + name = "kapptemplate-18.12.3.tar.xz"; }; }; kate = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kate-18.04.3.tar.xz"; - sha256 = "1w1bn0qbj8hxkh9cn6zx2h6hm82y07czzzvjm6gak90wi23lbb74"; - name = "kate-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kate-18.12.3.tar.xz"; + sha256 = "f7f2cba41a4c88b65885532db6b6161c66055a6697d20ee88adb70f302d387e1"; + name = "kate-18.12.3.tar.xz"; }; }; katomic = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/katomic-18.04.3.tar.xz"; - sha256 = "0928xwbm7c3d0jc5zg5nkdkl7kfrsn441i40b7z2np4v13y7bf1i"; - name = "katomic-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/katomic-18.12.3.tar.xz"; + sha256 = "0e18087d0de067282023a98b800807632dd6a91bab51cf0d43d53bffba9b33f1"; + name = "katomic-18.12.3.tar.xz"; }; }; kbackup = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kbackup-18.04.3.tar.xz"; - sha256 = "0m4dxrlm5807azm7bvy06r0nj1pfbfy31gkl37m7pg4z9svx5hp9"; - name = "kbackup-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kbackup-18.12.3.tar.xz"; + sha256 = "7b42f7fff48f4cf735e27603d0e44ecd13d5c85474680f8d24850eaadd4f13bf"; + name = "kbackup-18.12.3.tar.xz"; }; }; kblackbox = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kblackbox-18.04.3.tar.xz"; - sha256 = "08sm7h7d16l79isqi2hwr54dsnv3lbikj1zcyq0bwngkyqr49cmh"; - name = "kblackbox-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kblackbox-18.12.3.tar.xz"; + sha256 = "d88b2906de45b129f1706b3d250b80f86acb0cc926a3cee679265b86c8934a9b"; + name = "kblackbox-18.12.3.tar.xz"; }; }; kblocks = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kblocks-18.04.3.tar.xz"; - sha256 = "1bf4d8s9xm28qn4qv2i18gwh25fi0f06h03blk7bjw9hvr7wfaja"; - name = "kblocks-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kblocks-18.12.3.tar.xz"; + sha256 = "e981107096893a8078ab978c429f367432a74de1bdeffe8fb628ccc397701332"; + name = "kblocks-18.12.3.tar.xz"; }; }; kblog = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kblog-18.04.3.tar.xz"; - sha256 = "1fh96i9y45abp4cp2bjhkldxax9qjgsxb14ahqivp2qam41rpnnz"; - name = "kblog-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kblog-18.12.3.tar.xz"; + sha256 = "cd84b34312f6c5a9cf56322614caafcf434a800aeff66173a2c6f7cccc0fd2cc"; + name = "kblog-18.12.3.tar.xz"; }; }; kbounce = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kbounce-18.04.3.tar.xz"; - sha256 = "025nfdnv8ssmln0q6lwkd8ppflv2cimd1x8yf6kqh5jd5ynx73vh"; - name = "kbounce-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kbounce-18.12.3.tar.xz"; + sha256 = "c62cb68b4246c1aef73efb04ea883599384afbd977e8da93893346cbd835f343"; + name = "kbounce-18.12.3.tar.xz"; }; }; kbreakout = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kbreakout-18.04.3.tar.xz"; - sha256 = "11pbd76h5cll7kcb7dcnhckmknj5gm0igq0w1dx2pxdpna1i4p6z"; - name = "kbreakout-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kbreakout-18.12.3.tar.xz"; + sha256 = "23e1cc935eab6a2520e683185cb223243c71553b1ef6059a21f09d72e8fe00af"; + name = "kbreakout-18.12.3.tar.xz"; }; }; kbruch = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kbruch-18.04.3.tar.xz"; - sha256 = "0d888539cmhxrcyy90iqw83aa8x1w2v5r351xncqw34gfq1k1nj3"; - name = "kbruch-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kbruch-18.12.3.tar.xz"; + sha256 = "e98f79865c4d095d7682ab97b0e4e7d23715e402be676d66f184cfbe3eff598d"; + name = "kbruch-18.12.3.tar.xz"; }; }; kcachegrind = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kcachegrind-18.04.3.tar.xz"; - sha256 = "1zdcarqgb1yxql6z3hmnmam2abg44r3z7sy33y9yqa9wimzq4w13"; - name = "kcachegrind-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kcachegrind-18.12.3.tar.xz"; + sha256 = "48011190a0ef28998e6c96b9d644e3d06b68606b7d1467c84a8d176eeebb9adf"; + name = "kcachegrind-18.12.3.tar.xz"; }; }; kcalc = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kcalc-18.04.3.tar.xz"; - sha256 = "02kadbv874azlqm1i52y680iyp29jg683cjnjw3bgh1p6la7ssrx"; - name = "kcalc-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kcalc-18.12.3.tar.xz"; + sha256 = "10b3ebb5efab3731e9f12a8632546685281179881b03aae98f96a2cdbd21f02f"; + name = "kcalc-18.12.3.tar.xz"; }; }; kcalcore = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kcalcore-18.04.3.tar.xz"; - sha256 = "1l2g8m35dahmpwnrhmq1dr7iqcdw9pg51v4q5a39ashcsvv1bpzj"; - name = "kcalcore-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kcalcore-18.12.3.tar.xz"; + sha256 = "d6d6ce1bbdea4eac352b74bcc4bee77da107fdbafab47440b6be5fc3f9d90452"; + name = "kcalcore-18.12.3.tar.xz"; }; }; kcalutils = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kcalutils-18.04.3.tar.xz"; - sha256 = "1mycr1nhy2b2nk2izka8ck3sfyblfjqqjqn40g3lhssn4ps2z2jb"; - name = "kcalutils-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kcalutils-18.12.3.tar.xz"; + sha256 = "715c48c46cd62f773da4e804e66cdb97eae7c4832a7fe058db2fca61dc4111f9"; + name = "kcalutils-18.12.3.tar.xz"; }; }; kcharselect = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kcharselect-18.04.3.tar.xz"; - sha256 = "1yqrsiq68kzx4incb5imra7s49byln85bq047w6r7fmp2ypyxklm"; - name = "kcharselect-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kcharselect-18.12.3.tar.xz"; + sha256 = "e24e0268c5810cd3cf733dd8fcc8a9e04a111b761d4c1351d9976b3888278dcb"; + name = "kcharselect-18.12.3.tar.xz"; }; }; kcolorchooser = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kcolorchooser-18.04.3.tar.xz"; - sha256 = "1ilgsgy5zdfmx8bgdsf9s9wxpl3pmgjb6jh96sy1gca0d4kbkrnv"; - name = "kcolorchooser-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kcolorchooser-18.12.3.tar.xz"; + sha256 = "8defdb9450922b675dc80561a0f4bb119e621a85dd73661fc4caacef8db91228"; + name = "kcolorchooser-18.12.3.tar.xz"; }; }; kcontacts = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kcontacts-18.04.3.tar.xz"; - sha256 = "0rwh1p98hx3ybf4gxxp1dkgkrhmzli23fi9hk8m9k2mgr97yiqni"; - name = "kcontacts-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kcontacts-18.12.3.tar.xz"; + sha256 = "ba244937e36456065ec4c40fd1b44d011df487a940756ddc0ddd761f58454dd3"; + name = "kcontacts-18.12.3.tar.xz"; }; }; kcron = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kcron-18.04.3.tar.xz"; - sha256 = "0m0pna8hqkk2ab78yxchyc3pjzgrb37ldkhwa5r2zwg2n9y4k0xq"; - name = "kcron-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kcron-18.12.3.tar.xz"; + sha256 = "ba1d7e3ed5453a4867b4900deb957f1020f1533bdadfc36a1c6f83921bfd6ca3"; + name = "kcron-18.12.3.tar.xz"; }; }; kdav = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kdav-18.04.3.tar.xz"; - sha256 = "0m987fbbnm6xwagsmsn4x6v5zm4b7d0jzab5gi5vw97qkx9rs82h"; - name = "kdav-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kdav-18.12.3.tar.xz"; + sha256 = "3ce99c65573d6374e91abff50b3a738515da07371f07c1b6e4b1800069a77c23"; + name = "kdav-18.12.3.tar.xz"; }; }; kdebugsettings = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kdebugsettings-18.04.3.tar.xz"; - sha256 = "0c7fgfp31kj5mar2pmjnfhxb16f33xhp22iwk1vkagy07bl145r9"; - name = "kdebugsettings-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kdebugsettings-18.12.3.tar.xz"; + sha256 = "680eeec77314d23ca3a40c803b4c22a1800dc982fa81cba9f44dbfa9222539f7"; + name = "kdebugsettings-18.12.3.tar.xz"; }; }; kde-dev-scripts = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kde-dev-scripts-18.04.3.tar.xz"; - sha256 = "0azf5xcnwzyqc5bwxwjnakf7vln74faxq40myhj12hhhg5vckz06"; - name = "kde-dev-scripts-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kde-dev-scripts-18.12.3.tar.xz"; + sha256 = "c62f05b86615a810beb2573ee2106bc68fc8be586b66bcdde62d3ba4e4c16fb4"; + name = "kde-dev-scripts-18.12.3.tar.xz"; }; }; kde-dev-utils = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kde-dev-utils-18.04.3.tar.xz"; - sha256 = "172479qp82vrlnlqnbbl01xkap6v0gva78qcbzmizww0b085q4vk"; - name = "kde-dev-utils-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kde-dev-utils-18.12.3.tar.xz"; + sha256 = "f53b896b62b7d2267b78d23fb24cf495932c4c8b552d8bf56c722a49acc54be6"; + name = "kde-dev-utils-18.12.3.tar.xz"; }; }; kdeedu-data = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kdeedu-data-18.04.3.tar.xz"; - sha256 = "0qg79cv5lkpswhywcgixbmyqfbviwb3yj3nc1iwsrwn4gqff082g"; - name = "kdeedu-data-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kdeedu-data-18.12.3.tar.xz"; + sha256 = "cebaa135b21cba27015b1679e02a6625b9b444828ec7595e1a46f53dd7ae3999"; + name = "kdeedu-data-18.12.3.tar.xz"; }; }; kdegraphics-mobipocket = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kdegraphics-mobipocket-18.04.3.tar.xz"; - sha256 = "06c8vn5ga7xkxzsashri86ic14dcpa15c79kb57p4qm168afm8vi"; - name = "kdegraphics-mobipocket-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kdegraphics-mobipocket-18.12.3.tar.xz"; + sha256 = "69ae8b6f45b8c9ec3a73e636f7a779257ebbd6f8016d24294bec844a51f2cc52"; + name = "kdegraphics-mobipocket-18.12.3.tar.xz"; }; }; kdegraphics-thumbnailers = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kdegraphics-thumbnailers-18.04.3.tar.xz"; - sha256 = "1p8dfmh7hi3sxlqpahkcpl06x0flf94jam85l3n8r8f00kb9rq5a"; - name = "kdegraphics-thumbnailers-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kdegraphics-thumbnailers-18.12.3.tar.xz"; + sha256 = "9bc36ea2eb8a177899bf81b1cdc63a92b8e5dae12308f3e71046a63e58aafec0"; + name = "kdegraphics-thumbnailers-18.12.3.tar.xz"; }; }; kdenetwork-filesharing = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kdenetwork-filesharing-18.04.3.tar.xz"; - sha256 = "1wg2c4a4p3h3i6pqisrjhicllzm3vxd3qp1sxvny54algywqyz66"; - name = "kdenetwork-filesharing-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kdenetwork-filesharing-18.12.3.tar.xz"; + sha256 = "296c71526de0e51b4385962c76c2870cfe344b9dafdd2f5f2fba81801350d503"; + name = "kdenetwork-filesharing-18.12.3.tar.xz"; }; }; kdenlive = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kdenlive-18.04.3.tar.xz"; - sha256 = "0ps33l6wq594p7x82c03hd959bmifhfwq34ghqmr6629bwpaq1cm"; - name = "kdenlive-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kdenlive-18.12.3.tar.xz"; + sha256 = "fcfe2474bc271e730ed95edb21ae46e93c1ce773ed036f63c9fb2db02cbc7e64"; + name = "kdenlive-18.12.3.tar.xz"; }; }; kdepim-addons = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kdepim-addons-18.04.3.tar.xz"; - sha256 = "04cjwql3mc1arm55v8h8r3fwrq42sa5cpfqqwwyhlpcbbh917hvv"; - name = "kdepim-addons-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kdepim-addons-18.12.3.tar.xz"; + sha256 = "450a3f257e998e733b69703a1a813abab93c571c602702cbb4d9ab4ac25e8ce5"; + name = "kdepim-addons-18.12.3.tar.xz"; }; }; kdepim-apps-libs = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kdepim-apps-libs-18.04.3.tar.xz"; - sha256 = "1lizw9x5z9byg88s3dpj6hbx89sn8sjaywa3l79h03v5hc5wxi7l"; - name = "kdepim-apps-libs-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kdepim-apps-libs-18.12.3.tar.xz"; + sha256 = "40a6fb24fc262f5340fda4aed453c5d515976aea745765e83cf8053b44d60164"; + name = "kdepim-apps-libs-18.12.3.tar.xz"; }; }; kdepim-runtime = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kdepim-runtime-18.04.3.tar.xz"; - sha256 = "16xi4i7f9hh9wgbqi4dp6vha278mhkgmxr884d0p9bpa7rcriwb5"; - name = "kdepim-runtime-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kdepim-runtime-18.12.3.tar.xz"; + sha256 = "f3a5da19bb0f60e148d071cf07fd9fd4e6ea116f6125567c767c03b98ea844c3"; + name = "kdepim-runtime-18.12.3.tar.xz"; }; }; kdesdk-kioslaves = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kdesdk-kioslaves-18.04.3.tar.xz"; - sha256 = "0f3xjklc4h3ly6lcvaywh3gi8mlyffbhknpqn1b4g0arvvnymlsl"; - name = "kdesdk-kioslaves-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kdesdk-kioslaves-18.12.3.tar.xz"; + sha256 = "1f1951eca1c4081277782e80ef6b7c6768b2bb5a7d1830d69954f2fec27462ad"; + name = "kdesdk-kioslaves-18.12.3.tar.xz"; }; }; kdesdk-thumbnailers = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kdesdk-thumbnailers-18.04.3.tar.xz"; - sha256 = "1rq1g0wwnmp1hzid4g8b36liyl7nd8qp85cmikli6x1ph5g93zi6"; - name = "kdesdk-thumbnailers-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kdesdk-thumbnailers-18.12.3.tar.xz"; + sha256 = "a4694da94bd671a1395a32a527c919fb2207e8a959ceff32a11488e2015a784b"; + name = "kdesdk-thumbnailers-18.12.3.tar.xz"; }; }; kdf = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kdf-18.04.3.tar.xz"; - sha256 = "0nqw3ahhigsyp15r7blm3nijn6dil1awqi7y11sszl1kr3wln1nz"; - name = "kdf-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kdf-18.12.3.tar.xz"; + sha256 = "a8a9e8a4c2bdc1855078383f10720b4b3a388c678dee148494dc18ba5019a6ae"; + name = "kdf-18.12.3.tar.xz"; }; }; kdialog = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kdialog-18.04.3.tar.xz"; - sha256 = "178xp72yd5wm5aanvkv2mxqzcganxw2z9q0aribs2x54z3ccj27c"; - name = "kdialog-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kdialog-18.12.3.tar.xz"; + sha256 = "8b17013ced4b02ceaf89ed3d3fdcfa4fce06fac54d54041fb1e47169f2def212"; + name = "kdialog-18.12.3.tar.xz"; }; }; kdiamond = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kdiamond-18.04.3.tar.xz"; - sha256 = "1ikha8fpxmcbm3kncv0jb6hzm0413w3v0yrk0y7866xdaanb5491"; - name = "kdiamond-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kdiamond-18.12.3.tar.xz"; + sha256 = "b3d959cc195b924ca877df2762c3e8ef115ac41c2355f34efbbcaabe9b02b500"; + name = "kdiamond-18.12.3.tar.xz"; }; }; keditbookmarks = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/keditbookmarks-18.04.3.tar.xz"; - sha256 = "1y0y668ablpp596x77rxblw89pfx2ak533yhdj8khlj1mhzkagiq"; - name = "keditbookmarks-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/keditbookmarks-18.12.3.tar.xz"; + sha256 = "8d1f1a6ffa3b68d318ac6eb72707e5e5bb4f6f43ebb25c0475121469a71f6a8d"; + name = "keditbookmarks-18.12.3.tar.xz"; }; }; kfind = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kfind-18.04.3.tar.xz"; - sha256 = "1f0civprab0y5f76kn1zs1g9iz0xhs4p633x2jh0s2nhb79m5p4a"; - name = "kfind-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kfind-18.12.3.tar.xz"; + sha256 = "ad123b24f88e1ade5a845c16a84a483835cce31b92741107d8dbd02f462d4cd9"; + name = "kfind-18.12.3.tar.xz"; }; }; kfloppy = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kfloppy-18.04.3.tar.xz"; - sha256 = "0q6z0ppxmllzcwz6fsjfz8qq1a12ya62j526pnfy22fvqw4qwyjw"; - name = "kfloppy-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kfloppy-18.12.3.tar.xz"; + sha256 = "d68af7c572591a1a297cc823c1cb16a8a15973983c31f2e598d75dcc09ae2363"; + name = "kfloppy-18.12.3.tar.xz"; }; }; kfourinline = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kfourinline-18.04.3.tar.xz"; - sha256 = "1img467nzvpzqr0piji76ykvz2r0ji05gp3cfpxp7vjn8mbzwc00"; - name = "kfourinline-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kfourinline-18.12.3.tar.xz"; + sha256 = "cd3c3129c50502d9fe35f2382fcb1a512519626eb1b776600fdac2190390b9ce"; + name = "kfourinline-18.12.3.tar.xz"; }; }; kgeography = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kgeography-18.04.3.tar.xz"; - sha256 = "1vkyghvibnslp45pabld063f762g4g9y0l7kxs287c3fblwpj23m"; - name = "kgeography-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kgeography-18.12.3.tar.xz"; + sha256 = "ae019c4fc6c2b52344466266a19c6047e5dc414a92461a21d0e9c003dd4433c9"; + name = "kgeography-18.12.3.tar.xz"; }; }; kget = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kget-18.04.3.tar.xz"; - sha256 = "1j6p8rwjsb34919rlf1i236xc2r0yf5pl432bkpxrcavxvp3f565"; - name = "kget-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kget-18.12.3.tar.xz"; + sha256 = "3386c07c61f072df4259f83895be43c64559c059c24df1b31ca66c4f2b599f86"; + name = "kget-18.12.3.tar.xz"; }; }; kgoldrunner = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kgoldrunner-18.04.3.tar.xz"; - sha256 = "1xj0269qk2pdxah5lk6cp0lgssi6qlczgsxcm97idyp3knrmnxr0"; - name = "kgoldrunner-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kgoldrunner-18.12.3.tar.xz"; + sha256 = "1d54b485ccb81106853d5229422c753a5b0bbd2f9239a17b1c44f737a32d93b6"; + name = "kgoldrunner-18.12.3.tar.xz"; }; }; kgpg = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kgpg-18.04.3.tar.xz"; - sha256 = "1a1kc1nin0agrrqh4wysm019p02gcyj75xw0rx53db96xim1iczx"; - name = "kgpg-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kgpg-18.12.3.tar.xz"; + sha256 = "05d70923f4c9d068b339dc0a3d3f28890cafe1fbef9820dd6157c1f5fd8f19e8"; + name = "kgpg-18.12.3.tar.xz"; }; }; khangman = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/khangman-18.04.3.tar.xz"; - sha256 = "1yi1b15kh5z24bp10af2pgl029bbbgkn8gyzh3p5jy7qrykxqxj1"; - name = "khangman-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/khangman-18.12.3.tar.xz"; + sha256 = "1a7cdd27abf229603965ff6b3392bd7935f7f5a2d6418b23f802cfae45f74013"; + name = "khangman-18.12.3.tar.xz"; }; }; khelpcenter = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/khelpcenter-18.04.3.tar.xz"; - sha256 = "079yjhsi9nihn792ab03rg4far8l66v6ky7dhfrvrk78rv974ww6"; - name = "khelpcenter-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/khelpcenter-18.12.3.tar.xz"; + sha256 = "5b4a9ed17d0898c74cf7fd1612e2d055086d5e04148b3b17df5977255fc240b8"; + name = "khelpcenter-18.12.3.tar.xz"; }; }; kidentitymanagement = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kidentitymanagement-18.04.3.tar.xz"; - sha256 = "0yz435r86vm2w3b6bwdwxn7shwafpam0fh7qs3slmdlli60wgw8z"; - name = "kidentitymanagement-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kidentitymanagement-18.12.3.tar.xz"; + sha256 = "4e8cac86c2ecfe6325bbf8fb7e50a026f6af978be3809f327eddfed7b3aed662"; + name = "kidentitymanagement-18.12.3.tar.xz"; }; }; kig = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kig-18.04.3.tar.xz"; - sha256 = "0d459jkpc5x54w4gsrny7sx2103y5kpx6hm0zfyq7fiq1vsy57r4"; - name = "kig-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kig-18.12.3.tar.xz"; + sha256 = "abba87c3569e571e6d1761dc2e6c0e32969ea09eba6d9c0462cb4dc7bd62d7a2"; + name = "kig-18.12.3.tar.xz"; }; }; kigo = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kigo-18.04.3.tar.xz"; - sha256 = "1w4z04h072c7kf190r8h50rv3q7h6fwqcmckn83mfi9z0lbr9mqc"; - name = "kigo-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kigo-18.12.3.tar.xz"; + sha256 = "fa767319c3ac3e2dea48a5b09284e47e5f0c5d1862af813258758773998d1484"; + name = "kigo-18.12.3.tar.xz"; }; }; killbots = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/killbots-18.04.3.tar.xz"; - sha256 = "0vi2i1zaqfnni6608j46ppxsmzi44wcawbpp0l8cdb8bgbjbd1xd"; - name = "killbots-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/killbots-18.12.3.tar.xz"; + sha256 = "4efb4fcd4f34f1843b990a92e5b0309c196071f0778cdc8376eff5eef405deb9"; + name = "killbots-18.12.3.tar.xz"; }; }; kimagemapeditor = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kimagemapeditor-18.04.3.tar.xz"; - sha256 = "1cdgfb4r4r3xpyw1dbk1alfyzgqdi718c2nrg30a1g8f450zh2zb"; - name = "kimagemapeditor-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kimagemapeditor-18.12.3.tar.xz"; + sha256 = "addaaf257c35e8169288a8e7a50a1628f3ceeb6a2a845c3d260dfe94662438c6"; + name = "kimagemapeditor-18.12.3.tar.xz"; }; }; kimap = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kimap-18.04.3.tar.xz"; - sha256 = "13k46xna99gg5h445xxkipv3dhyi8d1daj6c6kf28x8lvwrxpf1c"; - name = "kimap-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kimap-18.12.3.tar.xz"; + sha256 = "00aed701a3bdcc218902998e63e7c587549f77a1aa0d1bd7dad4a1837adc9992"; + name = "kimap-18.12.3.tar.xz"; }; }; kio-extras = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kio-extras-18.04.3.tar.xz"; - sha256 = "0k034a684wajs7b0j9vhkhd6aabn5b34y050m0s9xlnmi6xk2agj"; - name = "kio-extras-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kio-extras-18.12.3.tar.xz"; + sha256 = "f8879abaea6fcf31ee0bd4a55d0c24a5fded6d61abed1b059f704f797793aef2"; + name = "kio-extras-18.12.3.tar.xz"; + }; + }; + kirigami-gallery = { + version = "18.12.3"; + src = fetchurl { + url = "${mirror}/stable/applications/18.12.3/src/kirigami-gallery-18.12.3.tar.xz"; + sha256 = "64da8da506718e6b7b62e04a9d2fc40ec73f909f9a6b5afd29b4c81c20053e39"; + name = "kirigami-gallery-18.12.3.tar.xz"; }; }; kiriki = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kiriki-18.04.3.tar.xz"; - sha256 = "1vz9br7qi4amcpp1g0lxn90822n4da9n4svxm2inj70p0mr59bpf"; - name = "kiriki-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kiriki-18.12.3.tar.xz"; + sha256 = "0b67b5069625fe04f6ffaa65d0d4abcf86f2f067483b4db15508d2b5ee9742ac"; + name = "kiriki-18.12.3.tar.xz"; }; }; kiten = { - version = "18.04.3"; + version = "18.12.3"; + src = fetchurl { + url = "${mirror}/stable/applications/18.12.3/src/kiten-18.12.3.tar.xz"; + sha256 = "0e0bc0b0b2609a7872b45647976c87ec92ccb068d05113b8dc58e43c6eb1facf"; + name = "kiten-18.12.3.tar.xz"; + }; + }; + kitinerary = { + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kiten-18.04.3.tar.xz"; - sha256 = "1k21pwxg4wb6jph9a6srgas55xxfkix66qqz4hrpnapc7c18qh6p"; - name = "kiten-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kitinerary-18.12.3.tar.xz"; + sha256 = "f45ef90cb3fb53d83a30837c304b9f7cfa5dbf2953421233d97c101d66a81f35"; + name = "kitinerary-18.12.3.tar.xz"; }; }; kjumpingcube = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kjumpingcube-18.04.3.tar.xz"; - sha256 = "0927j5k4pk03j2a7zf07w0594g5dagcb2hraf7b8dpjpzqxrjpv9"; - name = "kjumpingcube-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kjumpingcube-18.12.3.tar.xz"; + sha256 = "6409a3bb398ab90959afc24fa42b01b6e544526b1dab6f36bb700703fa794993"; + name = "kjumpingcube-18.12.3.tar.xz"; }; }; kldap = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kldap-18.04.3.tar.xz"; - sha256 = "1vjwial1v15f30bsjsi9z6hyr7a833z5hi6d2wim1cc7h1cl1p2v"; - name = "kldap-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kldap-18.12.3.tar.xz"; + sha256 = "dc5c8f33aad9e82f0cee65c6fc530f6bd9b82ec9cc21d1ce904f0fe9bdf5140e"; + name = "kldap-18.12.3.tar.xz"; }; }; kleopatra = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kleopatra-18.04.3.tar.xz"; - sha256 = "0v70rqag7ljgcmny1fa6hlhmsc1g6965gh39gmcz1li61k6hb1ib"; - name = "kleopatra-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kleopatra-18.12.3.tar.xz"; + sha256 = "ea165519846d70206e951d8d904bc02d17ed724db100638e657f7c930c4c490b"; + name = "kleopatra-18.12.3.tar.xz"; }; }; klettres = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/klettres-18.04.3.tar.xz"; - sha256 = "0hky4wallpi2a8klwrmc2ln9lh5d3cnvdrn7kmw6prb7j7pwnm6g"; - name = "klettres-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/klettres-18.12.3.tar.xz"; + sha256 = "4ca89a54858d1f8ac43e8cb485b80a3bb5ead501d39e7e30d8c9b6b8d2d7fd93"; + name = "klettres-18.12.3.tar.xz"; }; }; klickety = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/klickety-18.04.3.tar.xz"; - sha256 = "0d53d4ajh1lpban2jp06bjhrvrmg2fl7jg40mdga9wwrv8g01bs1"; - name = "klickety-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/klickety-18.12.3.tar.xz"; + sha256 = "45ed455fd9628aaf081bfa6b672199fbb6913c7dc5d5c04ad9df206a3bd962a5"; + name = "klickety-18.12.3.tar.xz"; }; }; klines = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/klines-18.04.3.tar.xz"; - sha256 = "0hz3id6sf85cdram42niqzrpynnx8xc4bj7imnl5dylhwdbxphhw"; - name = "klines-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/klines-18.12.3.tar.xz"; + sha256 = "6d93e5bee1135f4eeb67e7f845a4fd658be7e5fb33f42c0ad6320200bc86fd80"; + name = "klines-18.12.3.tar.xz"; }; }; kmag = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kmag-18.04.3.tar.xz"; - sha256 = "00rs414p40002y68py1bdf08xcdib3x9zsinkv1iq07mbmr6smb1"; - name = "kmag-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kmag-18.12.3.tar.xz"; + sha256 = "04f1357e46bb3e32c85f08c9d5655cde6351c6efd27824a17019ea8562e8d5ba"; + name = "kmag-18.12.3.tar.xz"; }; }; kmahjongg = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kmahjongg-18.04.3.tar.xz"; - sha256 = "05bzk6rsfvpis0gqrxqhlwc77jclk6xhljlzyhs07qbm3ii7jmpc"; - name = "kmahjongg-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kmahjongg-18.12.3.tar.xz"; + sha256 = "188a8d921b72965d4ed0f6490048cde7b9d5606cca7d3cea12463dc71a90ccf6"; + name = "kmahjongg-18.12.3.tar.xz"; }; }; kmail = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kmail-18.04.3.tar.xz"; - sha256 = "09a2s8w5i80x7h1rigl5a642fqp2xsmv53qm4hfajawn66mqfyz5"; - name = "kmail-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kmail-18.12.3.tar.xz"; + sha256 = "9dd9865d4a463ac552c25126ecaee662b83548091c5abef168bdc7a6d2fb5c76"; + name = "kmail-18.12.3.tar.xz"; }; }; kmail-account-wizard = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kmail-account-wizard-18.04.3.tar.xz"; - sha256 = "09g4r10vbkzz9gab4ihz95bah7qba10zbm57m8wdjbfr4nxm09sc"; - name = "kmail-account-wizard-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kmail-account-wizard-18.12.3.tar.xz"; + sha256 = "102a4170cb4f80c7a9ba3aec7a4d34a3e6a8ca18c975b5c0ea33cf7bac9e21df"; + name = "kmail-account-wizard-18.12.3.tar.xz"; }; }; kmailtransport = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kmailtransport-18.04.3.tar.xz"; - sha256 = "0anmzg87amrxig58ax4jqv7m976cm5x8dr3cwcxwv5mwgp9zczz2"; - name = "kmailtransport-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kmailtransport-18.12.3.tar.xz"; + sha256 = "8aaa6045f29195074c61fd58112ca7dfbe594df66cac91bac7b246ab2ab9fad1"; + name = "kmailtransport-18.12.3.tar.xz"; }; }; kmbox = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kmbox-18.04.3.tar.xz"; - sha256 = "1mdshr9xll1sw5dr99jl4rfcwvghj4c2f39fs4x4c72dnkrijrw5"; - name = "kmbox-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kmbox-18.12.3.tar.xz"; + sha256 = "13a88db1ab0d628a3053a0d6ab5d89cd2f6cbadb3082b52e5dc7048516a10841"; + name = "kmbox-18.12.3.tar.xz"; }; }; kmime = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kmime-18.04.3.tar.xz"; - sha256 = "1gf6a9kn88jnqrj7kj556yjk25anlaqcz8xrlffvg7b1y813wpcq"; - name = "kmime-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kmime-18.12.3.tar.xz"; + sha256 = "a09b0757e6ba663bf52d9bb8f7f104f3f19f734a858f6d532a6a20888ebcd274"; + name = "kmime-18.12.3.tar.xz"; }; }; kmines = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kmines-18.04.3.tar.xz"; - sha256 = "0659cxj89mb1gd7ikxqrghb3ylp8wsp07jcp2hbj842zmgy0wl65"; - name = "kmines-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kmines-18.12.3.tar.xz"; + sha256 = "40c16b57614098555c32252c75e3890922b62d7005b9059f6ae92e11c96d980f"; + name = "kmines-18.12.3.tar.xz"; }; }; kmix = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kmix-18.04.3.tar.xz"; - sha256 = "0gcfy4p4csxdqscyclm3z5ahbrlpyrlbw8p7kci6h0gjpv605fv1"; - name = "kmix-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kmix-18.12.3.tar.xz"; + sha256 = "4edf31a36a5d700cc190ba7a5a0d76789729069d48324a22bda7977cb4ed081a"; + name = "kmix-18.12.3.tar.xz"; }; }; kmousetool = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kmousetool-18.04.3.tar.xz"; - sha256 = "106hqam2fhnhdzvsb79171v3fjw8rlcb04j9w5xs7q3j9avwk044"; - name = "kmousetool-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kmousetool-18.12.3.tar.xz"; + sha256 = "34f6bb6f69c284e9cc88d8a31d59c16f003310c33e1e1affd5c363d18f8a91a8"; + name = "kmousetool-18.12.3.tar.xz"; }; }; kmouth = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kmouth-18.04.3.tar.xz"; - sha256 = "0hffqqcz4j3mp4vp5kc280ywq36r3y80q24i37swiqdd3fzyrlzq"; - name = "kmouth-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kmouth-18.12.3.tar.xz"; + sha256 = "89b83fb8b4a5eb3c7a6409cd25c730a8bc3be72983c1a75f5e3d3abf01064486"; + name = "kmouth-18.12.3.tar.xz"; }; }; kmplot = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kmplot-18.04.3.tar.xz"; - sha256 = "0j9ax6b2v0w7crjy8c9a84a2zcph7zx0ap0wwq7lnw45xwhynllv"; - name = "kmplot-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kmplot-18.12.3.tar.xz"; + sha256 = "2dd6eec34088b5d3b591091cce41616ee310a66aa2d16e5800db56044d60dd7b"; + name = "kmplot-18.12.3.tar.xz"; }; }; knavalbattle = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/knavalbattle-18.04.3.tar.xz"; - sha256 = "1i6c5i0r2icpbn010k5jc6cb45ha7dgqhhvbbcgcsdqjcq042czx"; - name = "knavalbattle-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/knavalbattle-18.12.3.tar.xz"; + sha256 = "bce9294830a55e96b234c93fa20eb7d7ae963223e724ab0211ec472c79d35fa3"; + name = "knavalbattle-18.12.3.tar.xz"; }; }; knetwalk = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/knetwalk-18.04.3.tar.xz"; - sha256 = "1r17c8hfj6qh1rx7apmpmb0cca0gsnq7jvjhz98if3kyy9m1fk50"; - name = "knetwalk-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/knetwalk-18.12.3.tar.xz"; + sha256 = "75ed9859ebb0c40d4efadaf1724b50c1a0436a5d3cd7cb540031cf5535794e3f"; + name = "knetwalk-18.12.3.tar.xz"; + }; + }; + knights = { + version = "18.12.3"; + src = fetchurl { + url = "${mirror}/stable/applications/18.12.3/src/knights-18.12.3.tar.xz"; + sha256 = "9472ffa7800bd79a84dd0c36e3058d3f6e0813b5695aeffeb73bccb801870990"; + name = "knights-18.12.3.tar.xz"; }; }; knotes = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/knotes-18.04.3.tar.xz"; - sha256 = "02lx0vm34kcr6mix5d1i0dcaf229yafx58b915y3vjwml8n5v17w"; - name = "knotes-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/knotes-18.12.3.tar.xz"; + sha256 = "4cd3a4e5064211f3df6ebf4711c2f4e01b09c77580493de9070c9ee842059578"; + name = "knotes-18.12.3.tar.xz"; }; }; kolf = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kolf-18.04.3.tar.xz"; - sha256 = "1k3z3nk6bgl9rlwjvc9jxwpyhd88amc2l1yg8f4rs6w0pbaldmwb"; - name = "kolf-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kolf-18.12.3.tar.xz"; + sha256 = "330cd299702e282a8b248b81cd50ee7ff60a6f512967029730ab87bedb69652f"; + name = "kolf-18.12.3.tar.xz"; }; }; kollision = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kollision-18.04.3.tar.xz"; - sha256 = "11czb7j0dzla5c9c4nk1qb5ljgci7x6ggyn6ffm2wvff4lm880m8"; - name = "kollision-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kollision-18.12.3.tar.xz"; + sha256 = "17376f73da0ea5e05998a4f9f0ccb6c0e41461007b8815637ac1980673e9a856"; + name = "kollision-18.12.3.tar.xz"; }; }; kolourpaint = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kolourpaint-18.04.3.tar.xz"; - sha256 = "17jkyih99pqs2nqsf0rq35iks3y2kmnya71ihnw8930qgjakggxp"; - name = "kolourpaint-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kolourpaint-18.12.3.tar.xz"; + sha256 = "450b714f0d73b59d31c4ceda142a3496d14e51d84b8c8968548a15e05c138f98"; + name = "kolourpaint-18.12.3.tar.xz"; }; }; kompare = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kompare-18.04.3.tar.xz"; - sha256 = "1csjhnsic7h943kjrzixc0k79kn6w9ck29kw9qaz29khpi5bmn6v"; - name = "kompare-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kompare-18.12.3.tar.xz"; + sha256 = "7a132a0aced98079fdec37188e9a46f5399e7584ab9d39801d7f0f8176623285"; + name = "kompare-18.12.3.tar.xz"; }; }; konqueror = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/konqueror-18.04.3.tar.xz"; - sha256 = "08sw3vz57klr6wp1k2kjfj8hj02k4si39ncngvy005x2dkprkgc2"; - name = "konqueror-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/konqueror-18.12.3.tar.xz"; + sha256 = "d9eb2bb4cd121f9967c6d6e7275dfb56bd41aec03c2b9d903d543b330ca4666a"; + name = "konqueror-18.12.3.tar.xz"; }; }; konquest = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/konquest-18.04.3.tar.xz"; - sha256 = "0pd3yxj3fmjp9p4gm4a3r107cx0rwgqg2pnwyfrdlrvppcc4is0g"; - name = "konquest-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/konquest-18.12.3.tar.xz"; + sha256 = "3698253f8e873819680ed99f377a679bacf5351f3fadc92c07fbaa0f6b269172"; + name = "konquest-18.12.3.tar.xz"; }; }; konsole = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/konsole-18.04.3.tar.xz"; - sha256 = "00m0z9fjprnnnp7blr9nyz8s8xb781ry7qxd68c261ar5fajys1p"; - name = "konsole-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/konsole-18.12.3.tar.xz"; + sha256 = "01ff3245d755a6e38207e58e50e5f82e5c681ead2ad7176d46aec00a8a562e08"; + name = "konsole-18.12.3.tar.xz"; }; }; kontact = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kontact-18.04.3.tar.xz"; - sha256 = "1h8a9mdldq8hai3f2al56rs063s46lnsnmgbvd8dyk51si084aab"; - name = "kontact-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kontact-18.12.3.tar.xz"; + sha256 = "81426545a958d6d71210040f5ede6407048a16d320ea90c405318cdd7e8e9315"; + name = "kontact-18.12.3.tar.xz"; }; }; kontactinterface = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kontactinterface-18.04.3.tar.xz"; - sha256 = "194g0y5kkax4c9ivc5yll5rqzpvd97s897agkzmr05wvk82gjrz6"; - name = "kontactinterface-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kontactinterface-18.12.3.tar.xz"; + sha256 = "4895e884c93ebff36a721f5161386105e729925dbbbf6fafb94c75ba4b291e41"; + name = "kontactinterface-18.12.3.tar.xz"; }; }; kopete = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kopete-18.04.3.tar.xz"; - sha256 = "0c2s3qq9k4654q38q4gy6j3mkj1nnrc6jb4sk04hz3w5d9i6c82b"; - name = "kopete-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kopete-18.12.3.tar.xz"; + sha256 = "8ca7a41e39be23ca6802deade7b5edb88b7e3000bc8e6fb2f68efbc15c2c8d3b"; + name = "kopete-18.12.3.tar.xz"; }; }; korganizer = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/korganizer-18.04.3.tar.xz"; - sha256 = "1bcmqki7491g8q9gaif346afrsn5k2zxp6xzwllaifxrbckzqaj1"; - name = "korganizer-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/korganizer-18.12.3.tar.xz"; + sha256 = "6a63e60b60af6cb95c78382da15e9e3cf04f936689ce12b62fe38968fad75a9c"; + name = "korganizer-18.12.3.tar.xz"; }; }; kpat = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kpat-18.04.3.tar.xz"; - sha256 = "0adx0720k296k0fzzsv4k32i0yii9snczsiir8gl3jj5ngk5hias"; - name = "kpat-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kpat-18.12.3.tar.xz"; + sha256 = "62c31d6f7a9bb49c09725722bea472811d897b149e29558ca6e248b5d2a41377"; + name = "kpat-18.12.3.tar.xz"; }; }; kpimtextedit = { - version = "18.04.3"; + version = "18.12.3"; + src = fetchurl { + url = "${mirror}/stable/applications/18.12.3/src/kpimtextedit-18.12.3.tar.xz"; + sha256 = "54586fc97eb863eaa57e589d4461dd9cfbc4d12e58425afadcd22d64ba8a570d"; + name = "kpimtextedit-18.12.3.tar.xz"; + }; + }; + kpkpass = { + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kpimtextedit-18.04.3.tar.xz"; - sha256 = "0fqlf4l05iybdnrzpp48wrg7qj9x303cfq2105d3p2zvwwkyrr41"; - name = "kpimtextedit-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kpkpass-18.12.3.tar.xz"; + sha256 = "cd70809ab7a052e0ca2a18266ec5564bde16ac917988798290e3f01e428bd84f"; + name = "kpkpass-18.12.3.tar.xz"; }; }; kqtquickcharts = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kqtquickcharts-18.04.3.tar.xz"; - sha256 = "0zjy05kvl30j8nlwfpqyf4qqimbfagk9s3f92b9bxk7njnxjzhd9"; - name = "kqtquickcharts-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kqtquickcharts-18.12.3.tar.xz"; + sha256 = "739859dc261856cf253ac67e2273b20dee476735b4107ece991d7146d45c1bbe"; + name = "kqtquickcharts-18.12.3.tar.xz"; }; }; krdc = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/krdc-18.04.3.tar.xz"; - sha256 = "0r57nfskwn1gwm4ig7z6cv04y4rhy5mq9bdd4ci8d9gq0s1rc13x"; - name = "krdc-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/krdc-18.12.3.tar.xz"; + sha256 = "c01896b73ab058a20f4c3d8997c28cbb81a7000f5aec346592a9315412c10666"; + name = "krdc-18.12.3.tar.xz"; }; }; kreversi = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kreversi-18.04.3.tar.xz"; - sha256 = "09zcl0vzzwc4crzlrrvi7kmbk9xh0h5hy9yyv9bk661pw66nv980"; - name = "kreversi-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kreversi-18.12.3.tar.xz"; + sha256 = "818ef2ded02caacf2ccf3c012e992070c3b898db319682e8a42cf5726d56b3fc"; + name = "kreversi-18.12.3.tar.xz"; }; }; krfb = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/krfb-18.04.3.tar.xz"; - sha256 = "0i36lj7lggl83khds009wp12d21rin60ai2a24isyplvcq8p2slk"; - name = "krfb-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/krfb-18.12.3.tar.xz"; + sha256 = "9596adfe7135930c6c9c8ecd05035e401d80a5e2cd532ba343b7d4c0f57a799b"; + name = "krfb-18.12.3.tar.xz"; }; }; kross-interpreters = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kross-interpreters-18.04.3.tar.xz"; - sha256 = "04wrary04sznjaw2n3d2fjnnhzf1fykj9l3r9dry1irj9ysx45yd"; - name = "kross-interpreters-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kross-interpreters-18.12.3.tar.xz"; + sha256 = "ce2231b2faa9accc6342a37024651b988eefbcb9b3968025ffa4752d0cbdc70c"; + name = "kross-interpreters-18.12.3.tar.xz"; }; }; kruler = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kruler-18.04.3.tar.xz"; - sha256 = "014c0m388kjfpynvh14m463jl3vj288lcdiz3xfphlmxqlhhvhcd"; - name = "kruler-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kruler-18.12.3.tar.xz"; + sha256 = "1b347c552648caca99364a0524945d0849cd84b29e4d07f62ee518ec07a98e33"; + name = "kruler-18.12.3.tar.xz"; }; }; kshisen = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kshisen-18.04.3.tar.xz"; - sha256 = "04xzg2v957wx68wmf1ri30vajd5pr9xz2fh7f5xg394m134cxc9r"; - name = "kshisen-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kshisen-18.12.3.tar.xz"; + sha256 = "00c5de16c335262287bab37b07822b6fd2997abcec25a0ad0a7d1ece6769060f"; + name = "kshisen-18.12.3.tar.xz"; }; }; ksirk = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/ksirk-18.04.3.tar.xz"; - sha256 = "1p08f9w3vi1z31fydnvp9d069z82kv8fn9lwlw1mxkqaggv54jhs"; - name = "ksirk-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/ksirk-18.12.3.tar.xz"; + sha256 = "cb8f3cc98fe861b0f4ebff77aeeffa12905b98b6db0c8800525f4fb052be4e7a"; + name = "ksirk-18.12.3.tar.xz"; }; }; ksmtp = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/ksmtp-18.04.3.tar.xz"; - sha256 = "0p8rnqpb0q26iwjk4k9pj4krfqipijg90bv0hd4wa3d2plkvzmcy"; - name = "ksmtp-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/ksmtp-18.12.3.tar.xz"; + sha256 = "90578b1b3ac1ce14bf4f34799b1b400b06734c72f3fecd41f5f07aed37ed3b74"; + name = "ksmtp-18.12.3.tar.xz"; }; }; ksnakeduel = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/ksnakeduel-18.04.3.tar.xz"; - sha256 = "1mhgdd0hnv0y36af3rikdibc0hgp1sjdxbx543vlxi25l8dfsw6q"; - name = "ksnakeduel-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/ksnakeduel-18.12.3.tar.xz"; + sha256 = "5d55e4c11baecbd77b94dd004b490a7f73870a383e0bf3ad0381f22d36a27a36"; + name = "ksnakeduel-18.12.3.tar.xz"; }; }; kspaceduel = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kspaceduel-18.04.3.tar.xz"; - sha256 = "06mzg1hmhwisd0vc99qdrxp7jgay4cqda2x142i2a1v5qs48ilk4"; - name = "kspaceduel-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kspaceduel-18.12.3.tar.xz"; + sha256 = "f40d0a7c578f461875efaf9e25d2b061486a21f750ce8bc922db4aed6fed1f11"; + name = "kspaceduel-18.12.3.tar.xz"; }; }; ksquares = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/ksquares-18.04.3.tar.xz"; - sha256 = "1w4x8br9g5dlw7mc8n118lqq0g5p4n2lqijp17xcgznbllivf79g"; - name = "ksquares-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/ksquares-18.12.3.tar.xz"; + sha256 = "82a90b7fe5ca8e46950a0de1742783c522fcd85bbc3aabe5955834865bc36b7d"; + name = "ksquares-18.12.3.tar.xz"; }; }; ksudoku = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/ksudoku-18.04.3.tar.xz"; - sha256 = "095i8s3ggl51xncra66vhdrz494r5q55d57j53pqnc4cwnfl5glj"; - name = "ksudoku-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/ksudoku-18.12.3.tar.xz"; + sha256 = "4a44248f2bde9c66c911fe7ed7bd54e31956053dac18e29217a355ad2b3a05e1"; + name = "ksudoku-18.12.3.tar.xz"; }; }; ksystemlog = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/ksystemlog-18.04.3.tar.xz"; - sha256 = "117gxwlimqp7sslrkaf6jazhprplqqkbqrfrjdwm54l84dldfi34"; - name = "ksystemlog-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/ksystemlog-18.12.3.tar.xz"; + sha256 = "93f276698b74af654f3ed147d5c025162bd919ec6c79a7c7dd7678051c307e52"; + name = "ksystemlog-18.12.3.tar.xz"; }; }; kteatime = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kteatime-18.04.3.tar.xz"; - sha256 = "12fikkj87yz8xj8l3girsfqkbngvg0jjw661hihgnjz6jg7jdq0k"; - name = "kteatime-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kteatime-18.12.3.tar.xz"; + sha256 = "24b3e51edc9d6625ca5b3542bd5edd1d42d79142f2c30f886e1b9515dcdfac6d"; + name = "kteatime-18.12.3.tar.xz"; }; }; ktimer = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/ktimer-18.04.3.tar.xz"; - sha256 = "1bf3r4kfg85hgmsszpz57fhws7mw79wxkb6qigfcq4vv165axjd2"; - name = "ktimer-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/ktimer-18.12.3.tar.xz"; + sha256 = "b3808fa9821c3a624b880b9a5607c8e12287cd38418ff06dd9af8345f324fe7e"; + name = "ktimer-18.12.3.tar.xz"; }; }; ktnef = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/ktnef-18.04.3.tar.xz"; - sha256 = "08zdl982gkk619gi05xvs28q26xjsrvawgpbmrmkwikj5m80asf4"; - name = "ktnef-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/ktnef-18.12.3.tar.xz"; + sha256 = "7633f86514d01a1e3709f6854b3b9c859fa1905043bb53240c1ae53f3b76a6ec"; + name = "ktnef-18.12.3.tar.xz"; }; }; ktouch = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/ktouch-18.04.3.tar.xz"; - sha256 = "1j6byxhprwrsd4bb3g3mwps5v1cc73h447dxzrd84ghk3jv687jl"; - name = "ktouch-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/ktouch-18.12.3.tar.xz"; + sha256 = "194f308a114c89873ee88eb069ecda88d5d1e1ad97c150e2d61cf248719b4bb6"; + name = "ktouch-18.12.3.tar.xz"; }; }; ktp-accounts-kcm = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/ktp-accounts-kcm-18.04.3.tar.xz"; - sha256 = "0dlgammp5j1idlmv69dq54fyc2dm6cd2gv5spimydznxp5bcfl3v"; - name = "ktp-accounts-kcm-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/ktp-accounts-kcm-18.12.3.tar.xz"; + sha256 = "ab6ab0f6cb438ec68b110158f7c6555572f04ad69da04f5e1d144cfc4a8ee8cb"; + name = "ktp-accounts-kcm-18.12.3.tar.xz"; }; }; ktp-approver = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/ktp-approver-18.04.3.tar.xz"; - sha256 = "0f2y86khv4ps2xnh8aizf3q52s0c1nxnvkrpii5qm9vk8agp8yfz"; - name = "ktp-approver-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/ktp-approver-18.12.3.tar.xz"; + sha256 = "0616fcad79fdeae5f2a58b167419f1745e94cea21950faa535e7b5a6c2e53cf6"; + name = "ktp-approver-18.12.3.tar.xz"; }; }; ktp-auth-handler = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/ktp-auth-handler-18.04.3.tar.xz"; - sha256 = "07apdk2zf0mqii8khphf6whblwals8p1yqjs6vxry89mmr5znni7"; - name = "ktp-auth-handler-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/ktp-auth-handler-18.12.3.tar.xz"; + sha256 = "91d6e0148c9006117bc67969012f7a12405e186fc8ffd4011732dc3e7c16a4be"; + name = "ktp-auth-handler-18.12.3.tar.xz"; }; }; ktp-call-ui = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/ktp-call-ui-18.04.3.tar.xz"; - sha256 = "1zkvkskfparc1bfvn1xhymz2pm50iws6k098bxrz86a6cgrqxw75"; - name = "ktp-call-ui-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/ktp-call-ui-18.12.3.tar.xz"; + sha256 = "3558b9ef7a2a000f6b49454c4477dcd9700168a1f2c060267b24c78725097571"; + name = "ktp-call-ui-18.12.3.tar.xz"; }; }; ktp-common-internals = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/ktp-common-internals-18.04.3.tar.xz"; - sha256 = "1j5avk09xakh0g84lnxz3p11fhjb5lf1sxic423hamwgwlr181nl"; - name = "ktp-common-internals-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/ktp-common-internals-18.12.3.tar.xz"; + sha256 = "3913a515d98f74940e0db6b85fc5c6c128c68cffb427c93164052be437634740"; + name = "ktp-common-internals-18.12.3.tar.xz"; }; }; ktp-contact-list = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/ktp-contact-list-18.04.3.tar.xz"; - sha256 = "0zyl1d4k74lrdx3hsib7miijjk2zj3x1yakryrym4lk3pmllrd78"; - name = "ktp-contact-list-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/ktp-contact-list-18.12.3.tar.xz"; + sha256 = "8f858371ec3760bc042dbf6f022ba834ca5b9ae43997e67bf395978df603d0c1"; + name = "ktp-contact-list-18.12.3.tar.xz"; }; }; ktp-contact-runner = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/ktp-contact-runner-18.04.3.tar.xz"; - sha256 = "1nzz88m8mb2xwpl5fzh7srslzrci2265n759kczjlzj7w1wym504"; - name = "ktp-contact-runner-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/ktp-contact-runner-18.12.3.tar.xz"; + sha256 = "886d561952ac1a8a5fa50ffdff8699358480d18d58cbaec217ed865d2047f0a9"; + name = "ktp-contact-runner-18.12.3.tar.xz"; }; }; ktp-desktop-applets = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/ktp-desktop-applets-18.04.3.tar.xz"; - sha256 = "1y0g3922km9a71splnx91nhvpwi2gj1jqxbzzsqsckblh2gzf0m3"; - name = "ktp-desktop-applets-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/ktp-desktop-applets-18.12.3.tar.xz"; + sha256 = "439dca1046beba0d2579918f2e409e6629e5063da6eeb1001bcd65ff3edb32c4"; + name = "ktp-desktop-applets-18.12.3.tar.xz"; }; }; ktp-filetransfer-handler = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/ktp-filetransfer-handler-18.04.3.tar.xz"; - sha256 = "165mfk1ld1py2rp3j0xah1zi2f5b73ic53a043mmhs4lws5fw3f9"; - name = "ktp-filetransfer-handler-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/ktp-filetransfer-handler-18.12.3.tar.xz"; + sha256 = "898c7f4ffc8d8bec691cc9744fb356722cf7957f39d2d855138492b647542231"; + name = "ktp-filetransfer-handler-18.12.3.tar.xz"; }; }; ktp-kded-module = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/ktp-kded-module-18.04.3.tar.xz"; - sha256 = "1z2103q6lx4f51ipm2kmla5h8civhf0wy0yk0zg4akynshqjhr6n"; - name = "ktp-kded-module-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/ktp-kded-module-18.12.3.tar.xz"; + sha256 = "ebbd02a1441caf8e9ced851c8f814255ac4b9e75485a4bc59026f647d3fd4854"; + name = "ktp-kded-module-18.12.3.tar.xz"; }; }; ktp-send-file = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/ktp-send-file-18.04.3.tar.xz"; - sha256 = "1d1ha9nigipr7khaymp7jiixj27d18qk7ghf1zaywyrrf2sav286"; - name = "ktp-send-file-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/ktp-send-file-18.12.3.tar.xz"; + sha256 = "0015551c42d66f14ae508eee76f138584bbec3b77a4aff4a003255b52d8414f2"; + name = "ktp-send-file-18.12.3.tar.xz"; }; }; ktp-text-ui = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/ktp-text-ui-18.04.3.tar.xz"; - sha256 = "0xglzifmqcrjxd3iz0v8a0rv2kaldsz12rn0hjh905j53s69xqic"; - name = "ktp-text-ui-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/ktp-text-ui-18.12.3.tar.xz"; + sha256 = "6a37a26b0b226d5d30b298a4d6d85f8dcfe9f39cbc35e1b6322651678815a34e"; + name = "ktp-text-ui-18.12.3.tar.xz"; }; }; ktuberling = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/ktuberling-18.04.3.tar.xz"; - sha256 = "0a7i3k386nr5gmmgpqp2gjpca8qh6w30x69w2w46mcw9qffm3s4b"; - name = "ktuberling-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/ktuberling-18.12.3.tar.xz"; + sha256 = "b69815f3553f843c30ab9d026ca7da97e62e66b58851111d1e4d29e57d67bd04"; + name = "ktuberling-18.12.3.tar.xz"; }; }; kturtle = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kturtle-18.04.3.tar.xz"; - sha256 = "1iaklkzfcrqhxh7jwgxg8kvpcxhia8l0hm6q14wc4nf3k72cgz8l"; - name = "kturtle-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kturtle-18.12.3.tar.xz"; + sha256 = "4677335b4f8a3e363425652815d19ae13e9f8942b01051553b485100c4996253"; + name = "kturtle-18.12.3.tar.xz"; }; }; kubrick = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kubrick-18.04.3.tar.xz"; - sha256 = "1da3n4sgpx1k90cn90558yjfqp8wyirvmi1dzicy8l0jfl4rwr1d"; - name = "kubrick-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kubrick-18.12.3.tar.xz"; + sha256 = "0deb9022a028a6c068203e5bf20820b5561c92b5117735e8a58f212c2ba460e3"; + name = "kubrick-18.12.3.tar.xz"; }; }; kwalletmanager = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kwalletmanager-18.04.3.tar.xz"; - sha256 = "1n5f150mxx4i3aq62xi67c99p68nwwsiih3i36i1rrmy87w44iyi"; - name = "kwalletmanager-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kwalletmanager-18.12.3.tar.xz"; + sha256 = "78232285c08241dc06cd6da88dcdce0d850417dd73f0d07034ec6d9a6f97f478"; + name = "kwalletmanager-18.12.3.tar.xz"; }; }; kwave = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kwave-18.04.3.tar.xz"; - sha256 = "1h6lqyxzccbsprap2lypan2bs451vyp1z0d4ipbim1ayqyqi5zw9"; - name = "kwave-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kwave-18.12.3.tar.xz"; + sha256 = "4ca9a15ecd06b96e013855f8109b52fcd4a848652438b2e7a2f55a8fcb1d1c48"; + name = "kwave-18.12.3.tar.xz"; }; }; kwordquiz = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/kwordquiz-18.04.3.tar.xz"; - sha256 = "0vl8afd3186w51p3bhlqzi0wipm0p6bl40vm298473ixgpbxbaj6"; - name = "kwordquiz-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/kwordquiz-18.12.3.tar.xz"; + sha256 = "e609d6b7f93abe0ca7ba844c51dff8d89d435daa9d0a6be68e789b70370459cc"; + name = "kwordquiz-18.12.3.tar.xz"; }; }; libgravatar = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/libgravatar-18.04.3.tar.xz"; - sha256 = "0s8y6v5b6b5lmyjxwhwl3fnn94z8v17q765xiq0g73i7lp5jz0bq"; - name = "libgravatar-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/libgravatar-18.12.3.tar.xz"; + sha256 = "c44c139fbaffda352f0fe461065622cff65b6f1cc13cee8a0137acb27de143ee"; + name = "libgravatar-18.12.3.tar.xz"; }; }; libkcddb = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/libkcddb-18.04.3.tar.xz"; - sha256 = "0nk7d6apl57rdnfma525yn3xrgw01hhj08gb3cylvysl5nf8nn0m"; - name = "libkcddb-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/libkcddb-18.12.3.tar.xz"; + sha256 = "38bffd551b82628a25b46bd598c257927855b77c6b6b73a9b69ac7bf538afc29"; + name = "libkcddb-18.12.3.tar.xz"; }; }; libkcompactdisc = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/libkcompactdisc-18.04.3.tar.xz"; - sha256 = "00xw6ggc4lgyw88jv52wxw2kig7ass1f7fbdd644cbhq2dvx7khd"; - name = "libkcompactdisc-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/libkcompactdisc-18.12.3.tar.xz"; + sha256 = "a464ebfdd1a2834c2597e7ffd1b0d946ddfda348eea5ac8d1d42b46d6c478926"; + name = "libkcompactdisc-18.12.3.tar.xz"; }; }; libkdcraw = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/libkdcraw-18.04.3.tar.xz"; - sha256 = "1mkrr0bb89k13chy1y9r6aqsjrdvm125k0ms3pjf7gc3xa6g7vk7"; - name = "libkdcraw-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/libkdcraw-18.12.3.tar.xz"; + sha256 = "c4b6541419b2ebee15d24744d10e67c9a137e616766e765c13e5056c2a37ef99"; + name = "libkdcraw-18.12.3.tar.xz"; }; }; libkdegames = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/libkdegames-18.04.3.tar.xz"; - sha256 = "0nnr9rnsgpc13hj4ii126lpss8d7d18wnrr9n85yf6ngcg9h3gk7"; - name = "libkdegames-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/libkdegames-18.12.3.tar.xz"; + sha256 = "7c833fe476043f0492a09a52af60ee7652805cccbbb72e5f473a9d35abff9ed9"; + name = "libkdegames-18.12.3.tar.xz"; }; }; libkdepim = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/libkdepim-18.04.3.tar.xz"; - sha256 = "0mqrjhmv1g2ch4jgihcg1d8fn7qxjkxnw2fh6a2cnn4b827n3v2l"; - name = "libkdepim-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/libkdepim-18.12.3.tar.xz"; + sha256 = "1c53148dd9f477b1ca2ea622b25100eab95531115e9798264d3e65d28183e640"; + name = "libkdepim-18.12.3.tar.xz"; }; }; libkeduvocdocument = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/libkeduvocdocument-18.04.3.tar.xz"; - sha256 = "1x2dpbpd7f71ws11zrrinyydg25728niglypa4dwvl09d5v0lhwz"; - name = "libkeduvocdocument-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/libkeduvocdocument-18.12.3.tar.xz"; + sha256 = "907076104f445f22fa31c2fa5ecfdabbb8b18faab52fc10c879a53d6245aaad4"; + name = "libkeduvocdocument-18.12.3.tar.xz"; }; }; libkexiv2 = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/libkexiv2-18.04.3.tar.xz"; - sha256 = "095ijxk55zw07j5y678dz1pipd0va4p57r9zvkqlfzd41bsi0a3c"; - name = "libkexiv2-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/libkexiv2-18.12.3.tar.xz"; + sha256 = "1d14ff63af42ab7e19e2039648a95ea5dc946afbe3e3df52c17ce1618a02ebdc"; + name = "libkexiv2-18.12.3.tar.xz"; }; }; libkgapi = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/libkgapi-18.04.3.tar.xz"; - sha256 = "0ixpnmli4z8qahw9br931b6py3wybqzlrnm3n7gms287phc11yjc"; - name = "libkgapi-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/libkgapi-18.12.3.tar.xz"; + sha256 = "de0314fd83d8fa8f88e6a355c4725047d2e507e0d40f1950c8ae083c2bc21924"; + name = "libkgapi-18.12.3.tar.xz"; }; }; libkgeomap = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/libkgeomap-18.04.3.tar.xz"; - sha256 = "0kicd6s6gfz3q1q45adnp6ri03sd69phs7ag3pnssyagk0y51igl"; - name = "libkgeomap-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/libkgeomap-18.12.3.tar.xz"; + sha256 = "2c4459e61e471f0344d03cfa5f00fe2a1890cd2c1501323ceed26d522496c47b"; + name = "libkgeomap-18.12.3.tar.xz"; }; }; libkipi = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/libkipi-18.04.3.tar.xz"; - sha256 = "1lyh9kg9s17nrc61bv6xzal5fd5y2shwn2d69xrlxh17akajbi7i"; - name = "libkipi-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/libkipi-18.12.3.tar.xz"; + sha256 = "96abf4552d535cf101c76ff5b1cb0198eccfd4bdfb7dc192b66bf709af037a31"; + name = "libkipi-18.12.3.tar.xz"; }; }; libkleo = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/libkleo-18.04.3.tar.xz"; - sha256 = "0m9sgksxr47lhh7810n3fprj08vk62cradl5zwf0c89dsbicap5a"; - name = "libkleo-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/libkleo-18.12.3.tar.xz"; + sha256 = "e528ed366352404d48313a8c154f56c672470bf06524ea7a150a726d3eb87d69"; + name = "libkleo-18.12.3.tar.xz"; }; }; libkmahjongg = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/libkmahjongg-18.04.3.tar.xz"; - sha256 = "16m1jid7d920bn1s1zbd44mhl07db4n921fcxv95j5rswndb7lwn"; - name = "libkmahjongg-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/libkmahjongg-18.12.3.tar.xz"; + sha256 = "25e5cea50b6c96f18efa8d013ab58abfaac7845edb969b8e63e0c297482a6be4"; + name = "libkmahjongg-18.12.3.tar.xz"; }; }; libkomparediff2 = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/libkomparediff2-18.04.3.tar.xz"; - sha256 = "1ks9cajyvwnfxr829arkz8ajf3j2vw2rqfj2mfha6l0hap6ha6p1"; - name = "libkomparediff2-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/libkomparediff2-18.12.3.tar.xz"; + sha256 = "f70bf7470f67419a7071a4df23d929c4c4ed80d588b3096d48486ee0f27d890c"; + name = "libkomparediff2-18.12.3.tar.xz"; }; }; libksane = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/libksane-18.04.3.tar.xz"; - sha256 = "0qfal3d8bbq61v7zfcb8hqiki6z6qx7p59xnkbgqfaif77nhnwwj"; - name = "libksane-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/libksane-18.12.3.tar.xz"; + sha256 = "40bf814cebac7ef00dc18fbdeabb2f9fd786c9144d787d5dc36a58fe18c33034"; + name = "libksane-18.12.3.tar.xz"; }; }; libksieve = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/libksieve-18.04.3.tar.xz"; - sha256 = "0ckncvccf02agvs0m7s9xxjmcjwh3fpywig25pk2ji8va1y5z5yl"; - name = "libksieve-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/libksieve-18.12.3.tar.xz"; + sha256 = "ce18756940d86dff8eafd77883d202ab90e3d8273f5248ffd97627b974211754"; + name = "libksieve-18.12.3.tar.xz"; }; }; lokalize = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/lokalize-18.04.3.tar.xz"; - sha256 = "052aqw0z3ap34c9r7r0imidn9iqn0fd2vg7yjpqvi4yy3zv8wjc4"; - name = "lokalize-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/lokalize-18.12.3.tar.xz"; + sha256 = "cce11b9384d27006855a141d2241a67d05679baa7096db2311c49a78bd642fed"; + name = "lokalize-18.12.3.tar.xz"; }; }; lskat = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/lskat-18.04.3.tar.xz"; - sha256 = "1qi8d06qjjz16ra6svmcl6dfvknls0r42man20nm439nchk4m58y"; - name = "lskat-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/lskat-18.12.3.tar.xz"; + sha256 = "d81d3af26b9f23abc40f1e2f97410d662c11d4641b67c32d427846a561f0b1e2"; + name = "lskat-18.12.3.tar.xz"; }; }; mailcommon = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/mailcommon-18.04.3.tar.xz"; - sha256 = "0g2skri3kajyb5hh0c6qakhbqapnd1zh5labrpi38cygq8b6pnfh"; - name = "mailcommon-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/mailcommon-18.12.3.tar.xz"; + sha256 = "789d89fad58af80202dfcc41f7c7435871a60309d1d46f93cabcb37dd6ae97e1"; + name = "mailcommon-18.12.3.tar.xz"; }; }; mailimporter = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/mailimporter-18.04.3.tar.xz"; - sha256 = "1pzib2m8048x174wzf1r67x0mjqwhpkv2jsbirlvwiwsyvvia7ix"; - name = "mailimporter-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/mailimporter-18.12.3.tar.xz"; + sha256 = "1c0e583fa36fc1b87154367cbe02cf1ec68d9f36d8a37bd6b220e9d9aadfcfa3"; + name = "mailimporter-18.12.3.tar.xz"; }; }; marble = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/marble-18.04.3.tar.xz"; - sha256 = "1psg2qyzmqg1yvxn33rb10ybby0fs3njmrcjbjw58yvqv9q78lkz"; - name = "marble-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/marble-18.12.3.tar.xz"; + sha256 = "0bfd7ae576e42ebbddadc8c83c2fec5edaf462bcf284642b1002d36d751b24ee"; + name = "marble-18.12.3.tar.xz"; }; }; mbox-importer = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/mbox-importer-18.04.3.tar.xz"; - sha256 = "0jjdrl5a1jp3al2vqilaba5239vi3l3s5f0rwk853k0c2gqsm79j"; - name = "mbox-importer-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/mbox-importer-18.12.3.tar.xz"; + sha256 = "a220ca69dd6f78cf18c3d8cb1bb293dc2ab2ff45f2a25df72cad8df78f581201"; + name = "mbox-importer-18.12.3.tar.xz"; }; }; messagelib = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/messagelib-18.04.3.tar.xz"; - sha256 = "025b2ldpayasa6hyfd0zy5hca1cq6xs3pc7j992rv9xwkgmb47wn"; - name = "messagelib-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/messagelib-18.12.3.tar.xz"; + sha256 = "0064a8df62a08d0dfb06af28d4aff8a645a0e8bb01d91ab23647b3d26d3af7d8"; + name = "messagelib-18.12.3.tar.xz"; }; }; minuet = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/minuet-18.04.3.tar.xz"; - sha256 = "1r4ipkda2jibs0p1xq1s8aggzr5fz0sll94dqrqb7hgfihhmz052"; - name = "minuet-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/minuet-18.12.3.tar.xz"; + sha256 = "9244ec364d031c73f9aed9568012a28b847ec4dceca61040324af7afd3d64009"; + name = "minuet-18.12.3.tar.xz"; }; }; okular = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/okular-18.04.3.tar.xz"; - sha256 = "0jjmqbwwbrg2svy487dln1lgc0ch80qpnsx8z1ksai3i015ns7f5"; - name = "okular-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/okular-18.12.3.tar.xz"; + sha256 = "d7ef9b59acb5746ebc64399f4c1a99faf0c1530bf6a818b3bfd34b73476d90ab"; + name = "okular-18.12.3.tar.xz"; }; }; palapeli = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/palapeli-18.04.3.tar.xz"; - sha256 = "08llmn4g119fr0ar733xsjwfznk62qz0d0cxjz5h06nz4l06rzzz"; - name = "palapeli-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/palapeli-18.12.3.tar.xz"; + sha256 = "b28fa1cf7a763125a09baa8f4e7562e17892475444d3907e566281328502e593"; + name = "palapeli-18.12.3.tar.xz"; }; }; parley = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/parley-18.04.3.tar.xz"; - sha256 = "1ynwlzj20vybzmgxb50v7dxkm7hjjc58lw82lvwhh94igklq6mjv"; - name = "parley-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/parley-18.12.3.tar.xz"; + sha256 = "289bc5aa88d7a33fdf0d668b45412f163d74e86d3deb9492db53a11f7c6a7f75"; + name = "parley-18.12.3.tar.xz"; }; }; picmi = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/picmi-18.04.3.tar.xz"; - sha256 = "0x3mg8s0dm0p2vzqvcc9ini7af8pdg3y28y02bqs7v2z9gml0hfl"; - name = "picmi-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/picmi-18.12.3.tar.xz"; + sha256 = "0691c70d746aa9d444559970e002561a1123963d617b36ceef4a8c3ee4730f49"; + name = "picmi-18.12.3.tar.xz"; }; }; pimcommon = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/pimcommon-18.04.3.tar.xz"; - sha256 = "0v3glgpvymddmdkfs1gcqmlh4ifk9kyhsqz2nyvyr7b8f38drjdj"; - name = "pimcommon-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/pimcommon-18.12.3.tar.xz"; + sha256 = "f4a0bf8146d1140c0252a5315baa826651968352a828c004d91b06e0e98c6b9e"; + name = "pimcommon-18.12.3.tar.xz"; }; }; pim-data-exporter = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/pim-data-exporter-18.04.3.tar.xz"; - sha256 = "1ky6igdfr15vhfpjg1nv60zbc4fwi8b5vwkign911qimk9alga7j"; - name = "pim-data-exporter-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/pim-data-exporter-18.12.3.tar.xz"; + sha256 = "7deb5baf5a36b96f1414e0b67192cd1ad48f396fb3cb5f5eb2fc90a312d74941"; + name = "pim-data-exporter-18.12.3.tar.xz"; }; }; pim-sieve-editor = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/pim-sieve-editor-18.04.3.tar.xz"; - sha256 = "1pa4z67chyacds6adi53ccdfmr5jhsd3vgpgk0wdmkn82353nvzn"; - name = "pim-sieve-editor-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/pim-sieve-editor-18.12.3.tar.xz"; + sha256 = "6e755ec258b0a75e4e83adb82551c1779c2ab7766aef26d2f1c9c00f3809deb5"; + name = "pim-sieve-editor-18.12.3.tar.xz"; }; }; poxml = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/poxml-18.04.3.tar.xz"; - sha256 = "0wi7m1021vj2lama6iqkpsdzx5d4s5h0sbwnf7y5p5k59g7la7rf"; - name = "poxml-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/poxml-18.12.3.tar.xz"; + sha256 = "6714e371957d175b859894149a3791acb3b8ef62b653b7b09f34819e92c8eaf7"; + name = "poxml-18.12.3.tar.xz"; }; }; print-manager = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/print-manager-18.04.3.tar.xz"; - sha256 = "1ml3jdpz60dhgrcpd05bzs736a65mqkglvvzikkaai0r9wwv4n3k"; - name = "print-manager-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/print-manager-18.12.3.tar.xz"; + sha256 = "917ea500bcd11d2ca3cc1e7de1b38d7ef72f1d397182aaac2c6a31cd338f387d"; + name = "print-manager-18.12.3.tar.xz"; }; }; rocs = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/rocs-18.04.3.tar.xz"; - sha256 = "1wx5h09vkpkyg4h3wcnkq8ks6mg9f1h7l5dzv1dpq8shyr9bnnr8"; - name = "rocs-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/rocs-18.12.3.tar.xz"; + sha256 = "6b007b0b11a8128787c316f055a99dde83619dd35287e04867949e84661c2b11"; + name = "rocs-18.12.3.tar.xz"; }; }; signon-kwallet-extension = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/signon-kwallet-extension-18.04.3.tar.xz"; - sha256 = "1f8x0lf0zy18mxkjc11k1j0llqnc3mrn0fnd4ag6qfvx7bhz16fd"; - name = "signon-kwallet-extension-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/signon-kwallet-extension-18.12.3.tar.xz"; + sha256 = "9a6c25cf19a382cbfd219c043838ad691c4c53ae8c3bc9f4b59f9f6f98bd3a4f"; + name = "signon-kwallet-extension-18.12.3.tar.xz"; }; }; spectacle = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/spectacle-18.04.3.tar.xz"; - sha256 = "1qjvq5df0syl7syqdwfl3xh38gz1fysib2a0mnigv1hnln1w0p2b"; - name = "spectacle-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/spectacle-18.12.3.tar.xz"; + sha256 = "8abf85b85de7844c503ef84182303c47cf425f5c14d71e723e3c887ee87ce06e"; + name = "spectacle-18.12.3.tar.xz"; }; }; step = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/step-18.04.3.tar.xz"; - sha256 = "0a370sp71xk8s091qsal3jg4f23wydfy4fccf38craz0wdy6km4q"; - name = "step-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/step-18.12.3.tar.xz"; + sha256 = "35abaf0a4597e141f4db08ad91ebcefafe43609b986a93a11e5f3ec19165c755"; + name = "step-18.12.3.tar.xz"; }; }; svgpart = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/svgpart-18.04.3.tar.xz"; - sha256 = "1c2j3p2blvzwlaipgjby7pzaflpzp0pbnnda81lgwbh7blin9k0k"; - name = "svgpart-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/svgpart-18.12.3.tar.xz"; + sha256 = "675ab3b652b0d2619abb305ce7c00beb8a80067416e4ea7e216cfa201a7ff8ef"; + name = "svgpart-18.12.3.tar.xz"; }; }; sweeper = { - version = "18.04.3"; - src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/sweeper-18.04.3.tar.xz"; - sha256 = "0v86pil9krziz2wbvzj6x7ivq505iy4lx4zjrgpxw2dxmyyp338c"; - name = "sweeper-18.04.3.tar.xz"; - }; - }; - syndication = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/syndication-18.04.3.tar.xz"; - sha256 = "1gfimm9x1j079j4q4d51z9nz4x3khlwzjywrip2paxmfrsjcca0g"; - name = "syndication-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/sweeper-18.12.3.tar.xz"; + sha256 = "8007da0f4d835e376fb049d539ca9fd6840ef7196f25b62cf652374a645fc6e0"; + name = "sweeper-18.12.3.tar.xz"; }; }; umbrello = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/umbrello-18.04.3.tar.xz"; - sha256 = "1w46dys13cl29xh3d1fjp2xh09vmsq45bdifwsa1zjlqi0iiw0h1"; - name = "umbrello-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/umbrello-18.12.3.tar.xz"; + sha256 = "2ab53b33cf1fcaea470c01b2421e911d4287b1d0421fa33e0b60043fe6943cc7"; + name = "umbrello-18.12.3.tar.xz"; }; }; zeroconf-ioslave = { - version = "18.04.3"; + version = "18.12.3"; src = fetchurl { - url = "${mirror}/stable/applications/18.04.3/src/zeroconf-ioslave-18.04.3.tar.xz"; - sha256 = "0mi0kx6gklddj37qzz04n399ijqpzl536z9x1al427mxi53h1xbw"; - name = "zeroconf-ioslave-18.04.3.tar.xz"; + url = "${mirror}/stable/applications/18.12.3/src/zeroconf-ioslave-18.12.3.tar.xz"; + sha256 = "b3adcaec0ebd89ddaf839954fb387e59791683d98f93da0c3dacb0266cd02a12"; + name = "zeroconf-ioslave-18.12.3.tar.xz"; }; }; } diff --git a/pkgs/applications/kde/syndication.nix b/pkgs/applications/kde/syndication.nix deleted file mode 100644 index 42782d449d586da62f923fb4cec9c3f5faf461db..0000000000000000000000000000000000000000 --- a/pkgs/applications/kde/syndication.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ - mkDerivation, lib, kdepimTeam, - extra-cmake-modules, kdoctools, - kio -}: - -mkDerivation { - name = "syndication"; - meta = { - license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; - maintainers = kdepimTeam; - }; - nativeBuildInputs = [ extra-cmake-modules kdoctools ]; - propagatedBuildInputs = [ kio ]; - outputs = [ "out" "dev" ]; -} diff --git a/pkgs/applications/misc/1password/default.nix b/pkgs/applications/misc/1password/default.nix index a44ce2d8b4c22db4c2bd8dd1adc4144f2211b52a..d1c54efe89d5c12bfc49d43be83e61443907bf3e 100644 --- a/pkgs/applications/misc/1password/default.nix +++ b/pkgs/applications/misc/1password/default.nix @@ -1,25 +1,25 @@ { stdenv, fetchzip }: stdenv.mkDerivation rec { - name = "1password-${version}"; - version = "0.5.1"; + pname = "1password"; + version = "0.5.5"; src = - if stdenv.system == "i686-linux" then + if stdenv.hostPlatform.system == "i686-linux" then fetchzip { url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_386_v${version}.zip"; - sha256 = "08kzjilxpkvlwqjyxnic1n6xiy6gkndijwxdksm59k7c56mdawsz"; + sha256 = "1jwkvj6xxfgn08j6wzwcra3p1dp04vblzr2g5s1y3bj4r7gs4gax"; stripRoot = false; } - else if stdenv.system == "x86_64-linux" then + else if stdenv.hostPlatform.system == "x86_64-linux" then fetchzip { url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_amd64_v${version}.zip"; - sha256 = "1bsbzaqws0z991r6rkjrxay74fj4g5ld4d748ygr0950zwi1m3h7"; + sha256 = "1svic2b2msbwzfx3qxfglxp0jjzy3p3v78273wab942zh822ld8b"; stripRoot = false; } - else if stdenv.system == "x86_64-darwin" then + else if stdenv.hostPlatform.system == "x86_64-darwin" then fetchzip { url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_darwin_amd64_v${version}.zip"; - sha256 = "1dhr8m9icip27v802gxl1vhl9rf0jq5awirdm72lqmlypj86df0g"; + sha256 = "03bnwn06066hvp0n30260mhvkjr60dl93nj9l7p6a0ndcv7w77r8"; stripRoot = false; } else throw "Architecture not supported"; diff --git a/pkgs/applications/misc/acbuild/default.nix b/pkgs/applications/misc/acbuild/default.nix deleted file mode 100644 index c1b8a7eb866308ac55dedf7017d2494da14a1772..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/acbuild/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ stdenv, go, fetchFromGitHub }: - -stdenv.mkDerivation rec { - name = "acbuild-${version}"; - version = "0.4.0"; - - src = fetchFromGitHub { - owner = "appc"; - repo = "acbuild"; - rev = "v${version}"; - sha256 = "0s81xlaw75d05b4cidxml978hnxak8parwpnk9clanwqjbj66c7x"; - }; - - buildInputs = [ go ]; - - patchPhase = '' - sed -i -e 's|\git describe --dirty|echo "${version}"|' build - ''; - - buildPhase = '' - patchShebangs build - ./build - ''; - - installPhase = '' - mkdir -p $out - mv bin $out - ''; - - meta = with stdenv.lib; { - description = "A build tool for ACIs"; - homepage = https://github.com/appc/acbuild; - license = licenses.asl20; - maintainers = with maintainers; [ dgonyeo ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/applications/misc/adobe-reader/default.nix b/pkgs/applications/misc/adobe-reader/default.nix index 88bf87b0a84fd8d4d84e1ff2f63f3125b16cfe4c..0ca12a0096edda1703d2ae53880256c56b3a3362 100644 --- a/pkgs/applications/misc/adobe-reader/default.nix +++ b/pkgs/applications/misc/adobe-reader/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, libX11, cups, zlib, libxml2, pango, atk, gtk2, glib , gdk_pixbuf }: -assert stdenv.system == "i686-linux"; +assert stdenv.hostPlatform.system == "i686-linux"; let version = "9.5.5"; in diff --git a/pkgs/applications/misc/airspy/default.nix b/pkgs/applications/misc/airspy/default.nix deleted file mode 100644 index 9b6771a3925bf09371b900d5918b9efe4b79b310..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/airspy/default.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ stdenv, lib, fetchFromGitHub -, cmake , pkgconfig, libusb -}: - -let - version = "1.0.9"; -in - stdenv.mkDerivation { - name = "airspy-${version}"; - - src = fetchFromGitHub { - owner = "airspy"; - repo = "airspyone_host"; - rev = "v${version}"; - sha256 = "04kx2p461sqd4q354n1a99zcabg9h29dwcnyhakykq8bpg3mgf1x"; - }; - - postPatch = '' - substituteInPlace airspy-tools/CMakeLists.txt --replace "/etc/udev/rules.d" "$out/etc/udev/rules.d" - ''; - - nativeBuildInputs = [ cmake pkgconfig ]; - buildInputs = [ libusb ]; - - cmakeFlags = - lib.optionals stdenv.isLinux [ "-DINSTALL_UDEV_RULES=ON" ]; - - meta = with stdenv.lib; { - homepage = https://github.com/airspy/airspyone_host; - description = "Host tools and driver library for the AirSpy SDR"; - license = licenses.free; - platforms = with platforms; linux ++ darwin; - maintainers = with maintainers; [ markuskowa ]; - }; - } diff --git a/pkgs/applications/misc/airtame/default.nix b/pkgs/applications/misc/airtame/default.nix index 18f47b7652f8a503c12b5881480057323e9f9832..3e5bf8df4a7b9f3016f9aa43c777a935b25fa282 100644 --- a/pkgs/applications/misc/airtame/default.nix +++ b/pkgs/applications/misc/airtame/default.nix @@ -6,51 +6,20 @@ }: let libPath = lib.makeLibraryPath [ - alsaLib - atk - cairo - cups - curl - dbus - expat - ffmpeg - fontconfig - freetype - gdk_pixbuf - glib - glibc - gnome2.GConf - gtk2 - libopus - nspr - nss - pango - stdenv.cc.cc - udev - x264 - libX11 - libXScrnSaver - libXcomposite - libXcursor - libXdamage - libXext - libXfixes - libXi - libXrandr - libXrender - libXtst - libpulseaudio - libxcb + alsaLib atk cairo cups curl dbus expat ffmpeg fontconfig freetype gdk_pixbuf + glib glibc gnome2.GConf gtk2 libopus nspr nss pango stdenv.cc.cc udev x264 + libX11 libXScrnSaver libXcomposite libXcursor libXdamage libXext libXfixes + libXi libXrandr libXrender libXtst libpulseaudio libxcb ]; in stdenv.mkDerivation rec { pname = "airtame"; - version = "3.1.1"; + version = "3.3.0"; name = "${pname}-${version}"; longName = "${pname}-application"; src = fetchurl { url = "https://downloads.airtame.com/application/ga/lin_x64/releases/${longName}-${version}.tar.gz"; - sha256 = "1am1qz280r5g9i0vwwx5lr24fpdl5lazhpr2bhb34nlr5d8rsmzr"; + sha256 = "16ca1vcxpka26jcrfbxpq74kcizgrm138j94bby6kzqp2swhrl76"; }; nativeBuildInputs = [ makeWrapper ]; @@ -77,15 +46,26 @@ in stdenv.mkDerivation rec { ln -s "$opt/icon.png" "$out/share/icons/airtame.png" # Flags and rpath are copied from launch-airtame.sh. - interp="$(< $NIX_CC/nix-support/dynamic-linker)" - vendorlib="$opt/resources/app.asar.unpacked/streamer/vendor/airtame-core/lib" - rpath="${libPath}:$opt:$vendorlib:$opt/resources/app.asar.unpacked/encryption/out/lib" - rm $vendorlib/libcurl.so* + vendorlib="\ + $opt/resources/app.asar.unpacked/modules/streamer/dist/deps/airtame-modules:\ + $opt/resources/app.asar.unpacked/encryption/out/lib:\ + $opt/resources/deps/airtame-core/lib:\ + $opt/resources/deps/airtame-encryption/lib" + + echo $vendorlib + + rpath="${libPath}:$opt:$vendorlib" + find "$opt" \( -type f -executable -o -name "*.so" -o -name "*.so.*" \) \ -exec patchelf --set-rpath "$rpath" {} \; + # The main binary also needs libudev which was removed by --shrink-rpath. + interp="$(< $NIX_CC/nix-support/dynamic-linker)" patchelf --set-interpreter "$interp" $opt/${longName} - wrapProgram $opt/${longName} --add-flags "--disable-gpu --enable-transparent-visuals" + + wrapProgram $opt/${longName} \ + --prefix LD_LIBRARY_PATH=$rpath \ + --add-flags "--disable-gpu --enable-transparent-visuals" ''; dontPatchELF = true; diff --git a/pkgs/applications/misc/alacritty/default.nix b/pkgs/applications/misc/alacritty/default.nix index 089db8e73cb53f358474410d79d54ee931d71c1b..ed5bf6a85c5ef5cd328fba8156ca7e4bbf593c59 100644 --- a/pkgs/applications/misc/alacritty/default.nix +++ b/pkgs/applications/misc/alacritty/default.nix @@ -1,6 +1,6 @@ { stdenv, lib, - fetchgit, + fetchFromGitHub, rustPlatform, cmake, makeWrapper, @@ -17,7 +17,10 @@ libXrandr, libGL, xclip, + wayland, + libxkbcommon, # Darwin Frameworks + cf-private, AppKit, CoreFoundation, CoreGraphics, @@ -39,30 +42,22 @@ let libXrandr libGL libXi - ]; - darwinFrameworks = [ - AppKit - CoreFoundation - CoreGraphics - CoreServices - CoreText - Foundation - OpenGL + ] ++ lib.optionals stdenv.isLinux [ + wayland + libxkbcommon ]; in buildRustPackage rec { - name = "alacritty-unstable-${version}"; - version = "2018-07-20"; - - # At the moment we cannot handle git dependencies in buildRustPackage. - # This fork only replaces rust-fontconfig/libfontconfig with a git submodules. - src = fetchgit { - url = https://github.com/Mic92/alacritty.git; - rev = "rev-${version}"; - sha256 = "1vhjmysfra6dsbv35qbvsf76rhkj990lgns0k0gpbcrf47gsvx1n"; - fetchSubmodules = true; + pname = "alacritty"; + version = "0.3.2"; + + src = fetchFromGitHub { + owner = "jwilm"; + repo = pname; + rev = "v${version}"; + sha256 = "16lhxfpwysd5ngw8yq76vbzjdmfzs9plsvairf768hnl290jcpbh"; }; - cargoSha256 = "0rs2p4sik25ynx6ri2wlg8v6vrdmf10xxnw9f2aqyps9m038i9di"; + cargoSha256 = "02q5kkr0zygpm9i2hd1sr246f18pyia1lq9dwjagqk7d2x3xlc7p"; nativeBuildInputs = [ cmake @@ -73,9 +68,13 @@ in buildRustPackage rec { ]; buildInputs = rpathLibs - ++ lib.optionals stdenv.isDarwin darwinFrameworks; + ++ lib.optionals stdenv.isDarwin [ + AppKit CoreFoundation CoreGraphics CoreServices CoreText Foundation OpenGL + # Needed for CFURLResourceIsReachable symbols. + cf-private + ]; - outputs = [ "out" "terminfo" ]; + outputs = [ "out" "terminfo" ]; postPatch = '' substituteInPlace copypasta/src/x11.rs \ @@ -93,19 +92,20 @@ in buildRustPackage rec { mkdir $out/Applications cp -r target/release/osx/Alacritty.app $out/Applications/Alacritty.app '' else '' - install -D alacritty.desktop $out/share/applications/alacritty.desktop + install -D extra/linux/alacritty.desktop -t $out/share/applications/ + install -D extra/logo/alacritty-term.svg $out/share/icons/hicolor/scalable/apps/Alacritty.svg patchelf --set-rpath "${stdenv.lib.makeLibraryPath rpathLibs}" $out/bin/alacritty '') + '' - install -D alacritty-completions.zsh "$out/share/zsh/site-functions/_alacritty" - install -D alacritty-completions.bash "$out/etc/bash_completion.d/alacritty-completions.bash" - install -D alacritty-completions.fish "$out/share/fish/vendor_completions.d/alacritty.fish" + install -D extra/completions/_alacritty -t "$out/share/zsh/site-functions/" + install -D extra/completions/alacritty.bash -t "$out/etc/bash_completion.d/" + install -D extra/completions/alacritty.fish -t "$out/share/fish/vendor_completions.d/" install -dm 755 "$out/share/man/man1" - gzip -c alacritty.man > "$out/share/man/man1/alacritty.1.gz" + gzip -c extra/alacritty.man > "$out/share/man/man1/alacritty.1.gz" install -dm 755 "$terminfo/share/terminfo/a/" - tic -x -o "$terminfo/share/terminfo" alacritty.info + tic -x -o "$terminfo/share/terminfo" extra/alacritty.info mkdir -p $out/nix-support echo "$terminfo" >> $out/nix-support/propagated-user-env-packages @@ -119,5 +119,6 @@ in buildRustPackage rec { homepage = https://github.com/jwilm/alacritty; license = with licenses; [ asl20 ]; maintainers = with maintainers; [ mic92 ]; + platforms = [ "x86_64-linux" "x86_64-darwin" ]; }; } diff --git a/pkgs/applications/misc/albert/default.nix b/pkgs/applications/misc/albert/default.nix index f16144f3befa52b06718e73c2149121418b21279..2dda615081c0b1da19668e4e9b76d08bf9d847b2 100644 --- a/pkgs/applications/misc/albert/default.nix +++ b/pkgs/applications/misc/albert/default.nix @@ -1,24 +1,22 @@ { mkDerivation, lib, fetchFromGitHub, makeWrapper, qtbase, - qtdeclarative, qtsvg, qtx11extras, muparser, cmake, python3 }: + qtdeclarative, qtsvg, qtx11extras, muparser, cmake, python3, + qtcharts }: -let - pname = "albert"; - version = "0.14.21"; -in mkDerivation rec { - name = "${pname}-${version}"; + pname = "albert"; + version = "0.16.1"; src = fetchFromGitHub { owner = "albertlauncher"; repo = "albert"; rev = "v${version}"; - sha256 = "16nk9krn1mwr0bh57viig9hizqyp3slna0qg7s5a736nsfxy226w"; + sha256 = "04sr35fqz66i24lv7r2p9qfqxs55i8xpj7aam0v9yakcr33lf55a"; fetchSubmodules = true; }; nativeBuildInputs = [ cmake makeWrapper ]; - buildInputs = [ qtbase qtdeclarative qtsvg qtx11extras muparser python3 ]; + buildInputs = [ qtbase qtdeclarative qtsvg qtx11extras muparser python3 qtcharts ]; enableParallelBuilding = true; @@ -27,7 +25,7 @@ mkDerivation rec { postPatch = '' sed -i "/QStringList dirs = {/a \"$out/libs\"," \ - lib/albertcore/src/core/albert.cpp + src/app/main.cpp ''; preBuild = '' @@ -48,7 +46,7 @@ mkDerivation rec { homepage = https://albertlauncher.github.io/; description = "Desktop agnostic launcher"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ ericsagnes ]; + maintainers = with maintainers; [ ericsagnes synthetica ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/misc/almanah/default.nix b/pkgs/applications/misc/almanah/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..4997a9c7f2acbe455de750405cec7b441bdf97c0 --- /dev/null +++ b/pkgs/applications/misc/almanah/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchurl, pkgconfig, intltool +, libxml2, desktop-file-utils, wrapGAppsHook, evolution-data-server, gtkspell3, gpgme, libcryptui +, glib, gtk3, gtksourceview3, sqlite, cairo, atk, gcr, gnome3 }: + +stdenv.mkDerivation rec { + pname = "almanah"; + version = "0.11.1"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1g0fyykq8bs3x1xqc0l0bk9zazcrxja784m68myymv1zfqqnp9h0"; + }; + + nativeBuildInputs = [ pkgconfig intltool libxml2 desktop-file-utils wrapGAppsHook ]; + + buildInputs = [ glib gtk3 gtksourceview3 sqlite cairo atk gcr gtkspell3 evolution-data-server gnome3.evolution gpgme libcryptui ]; + + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + versionPolicy = "none"; # it is quite odd + }; + }; + + meta = with stdenv.lib; { + description = "Small GTK application to allow to keep a diary of your life"; + homepage = https://wiki.gnome.org/Apps/Almanah_Diary; + license = licenses.gpl3Plus; + platforms = platforms.unix; + maintainers = gnome3.maintainers; + }; +} diff --git a/pkgs/applications/misc/aminal/default.nix b/pkgs/applications/misc/aminal/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..1c769e58705aa62cf6f8e2313077f62133b0e790 --- /dev/null +++ b/pkgs/applications/misc/aminal/default.nix @@ -0,0 +1,75 @@ +{ buildGoPackage +, Carbon +, Cocoa +, Kernel +, cf-private +, fetchFromGitHub +, lib +, mesa_glu +, stdenv +, xorg +}: + +buildGoPackage rec { + name = "aminal-${version}"; + version = "0.8.6"; + + goPackagePath = "github.com/liamg/aminal"; + + buildInputs = + lib.optionals stdenv.isLinux [ + mesa_glu + xorg.libX11 + xorg.libXcursor + xorg.libXi + xorg.libXinerama + xorg.libXrandr + xorg.libXxf86vm + ] ++ lib.optionals stdenv.isDarwin [ + Carbon + Cocoa + Kernel + cf-private /* Needed for NSDefaultRunLoopMode */ + ]; + + src = fetchFromGitHub { + owner = "liamg"; + repo = "aminal"; + rev = "v${version}"; + sha256 = "0qhjdckj2kr0vza6qssd9z8dfrsif1qxb1mal1d4wgdsy12lrmwl"; + }; + + preBuild = '' + buildFlagsArray=("-ldflags=-X ${goPackagePath}/version.Version=${version}") + ''; + + meta = with lib; { + description = "Golang terminal emulator from scratch"; + longDescription = '' + Aminal is a modern terminal emulator for Mac/Linux implemented in Golang + and utilising OpenGL. + + The project is experimental at the moment, so you probably won't want to + rely on Aminal as your main terminal for a while. + + Features: + - Unicode support + - OpenGL rendering + - Customisation options + - True colour support + - Support for common ANSI escape sequences a la xterm + - Scrollback buffer + - Clipboard access + - Clickable URLs + - Multi platform support (Windows coming soon...) + - Sixel support + - Hints/overlays + - Built-in patched fonts for powerline + - Retina display support + ''; + homepage = https://github.com/liamg/aminal; + license = licenses.gpl3; + maintainers = with maintainers; [ kalbasit ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/pkgs/applications/misc/appeditor/default.nix b/pkgs/applications/misc/appeditor/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..0530ec9c1b80496f295ee5d3f532062b3cdf8552 --- /dev/null +++ b/pkgs/applications/misc/appeditor/default.nix @@ -0,0 +1,56 @@ +{ stdenv +, fetchFromGitHub +, meson +, ninja +, pkgconfig +, pantheon +, python3 +, gettext +, glib +, gtk3 +, hicolor-icon-theme +, libgee +, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "appeditor"; + version = "1.1.0"; + + src = fetchFromGitHub { + owner = "donadigo"; + repo = "appeditor"; + rev = version; + sha256 = "04x2f4x4dp5ca2y3qllqjgirbyl6383pfl4bi9bkcqlg8b5081rg"; + }; + + nativeBuildInputs = [ + gettext + meson + ninja + pantheon.vala + pkgconfig + python3 + wrapGAppsHook + ]; + + buildInputs = [ + glib + gtk3 + hicolor-icon-theme + pantheon.granite + libgee + ]; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + ''; + + meta = with stdenv.lib; { + description = "Edit the Pantheon desktop application menu"; + homepage = https://github.com/donadigo/appeditor; + maintainers = with maintainers; [ kjuvi ] ++ pantheon.maintainers; + platforms = platforms.linux; + license = licenses.gpl3; + }; +} diff --git a/pkgs/applications/misc/apvlv/default.nix b/pkgs/applications/misc/apvlv/default.nix index eb35eb9cf73b90d54f2db1c0432de36c9dd5b958..2da0de9ead8c3ef990851ae47792efa266fc343b 100644 --- a/pkgs/applications/misc/apvlv/default.nix +++ b/pkgs/applications/misc/apvlv/default.nix @@ -41,6 +41,7 @@ stdenv.mkDerivation rec { url = "https://github.com/naihe2010/apvlv/commit/a3a895772a27d76dab0c37643f0f4c73f9970e62.patch"; sha256 = "1fpc7wr1ajilvwi5gjsy5g9jcx4bl03gp5dmajg90ljqbhwz2bfi"; }) + ./fix-build-with-poppler-0.73.0.patch ]; installPhase = '' @@ -52,6 +53,9 @@ stdenv.mkDerivation rec { mkdir -p $out/share/doc/apvlv/ cp ../Startup.pdf $out/share/doc/apvlv/Startup.pdf cp ../main_menubar.glade $out/share/doc/apvlv/main_menubar.glade + '' + + stdenv.lib.optionalString (!stdenv.isDarwin) '' + install -D ../apvlv.desktop $out/share/applications/apvlv.desktop ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/misc/apvlv/fix-build-with-poppler-0.73.0.patch b/pkgs/applications/misc/apvlv/fix-build-with-poppler-0.73.0.patch new file mode 100644 index 0000000000000000000000000000000000000000..d2a7831dca6398c06b84f0e27d6cab24b87804f9 --- /dev/null +++ b/pkgs/applications/misc/apvlv/fix-build-with-poppler-0.73.0.patch @@ -0,0 +1,13 @@ +diff --git a/src/ApvlvPdf.cc b/src/ApvlvPdf.cc +index 765b112..83d133f 100644 +--- a/src/ApvlvPdf.cc ++++ b/src/ApvlvPdf.cc +@@ -29,7 +29,7 @@ + #include "ApvlvPdf.h" + + #ifndef POPPLER_WITH_GDK +-#include ++#include + + static void + copy_cairo_surface_to_pixbuf (cairo_surface_t *surface, diff --git a/pkgs/applications/misc/archiver/default.nix b/pkgs/applications/misc/archiver/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..25fafb604c3358233b7fb58fca019d7d97ff6154 --- /dev/null +++ b/pkgs/applications/misc/archiver/default.nix @@ -0,0 +1,28 @@ +{ buildGoPackage +, fetchFromGitHub +, lib +}: + +buildGoPackage rec { + name = "archiver-${version}"; + version = "3.0.0"; + + goPackagePath = "github.com/mholt/archiver"; + + src = fetchFromGitHub { + owner = "mholt"; + repo = "archiver"; + rev = "v${version}"; + sha256 = "1wngv51333h907mp6nbzd9dq6r0x06mag2cij92912jcbzy0q8bk"; + }; + + goDeps = ./deps.nix; + + meta = with lib; { + description = "Easily create and extract .zip, .tar, .tar.gz, .tar.bz2, .tar.xz, .tar.lz4, .tar.sz, and .rar (extract-only) files with Go"; + homepage = https://github.com/mholt/archiver; + license = licenses.mit; + maintainers = with maintainers; [ kalbasit ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/applications/misc/archiver/deps.nix b/pkgs/applications/misc/archiver/deps.nix new file mode 100644 index 0000000000000000000000000000000000000000..4b14fd47711ba2b5d6a215a39099f01d9e8f7cd2 --- /dev/null +++ b/pkgs/applications/misc/archiver/deps.nix @@ -0,0 +1,56 @@ +[ + { + goPackagePath = "github.com/dsnet/compress"; + fetch = { + type = "git"; + url = "https://github.com/dsnet/compress"; + rev = "cc9eb1d7ad760af14e8f918698f745e80377af4f"; + sha256 = "159liclywmyb6zx88ga5gn42hfl4cpk1660zss87fkx31hdq9fgx"; + }; + } + { + goPackagePath = "github.com/golang/snappy"; + fetch = { + type = "git"; + url = "https://github.com/golang/snappy"; + rev = "2e65f85255dbc3072edf28d6b5b8efc472979f5a"; + sha256 = "05w6mpc4qcy0pv8a2bzng8nf4s5rf5phfang4jwy9rgf808q0nxf"; + }; + } + { + goPackagePath = "github.com/nwaples/rardecode"; + fetch = { + type = "git"; + url = "https://github.com/nwaples/rardecode"; + rev = "197ef08ef68c4454ae5970a9c2692d6056ceb8d7"; + sha256 = "0vvijw7va283dbdvnf4bgkn7bjngxqzk1rzdpy8sl343r62bmh4g"; + }; + } + { + goPackagePath = "github.com/pierrec/lz4"; + fetch = { + type = "git"; + url = "https://github.com/pierrec/lz4"; + rev = "623b5a2f4d2a41e411730dcdfbfdaeb5c0c4564e"; + sha256 = "1hhf7vyz5irrqs7ixdmvsvzmy9izv3ha8jbyy0cs486h61nzqkki"; + }; + } + { + goPackagePath = "github.com/ulikunitz/xz"; + fetch = { + type = "git"; + url = "https://github.com/ulikunitz/xz"; + rev = "590df8077fbcb06ad62d7714da06c00e5dd2316d"; + sha256 = "07mivr4aiw3b8qzwajsxyjlpbkf3my4xx23lv0yryc4pciam5lhy"; + }; + } + { + goPackagePath = "github.com/xi2/xz"; + fetch = { + type = "git"; + url = "https://github.com/xi2/xz"; + rev = "48954b6210f8d154cb5f8484d3a3e1f83489309e"; + sha256 = "178r0fa2dpzxf0sabs7dn0c8fa7vs87zlxk6spkn374ls9pir7nq"; + }; + } +] diff --git a/pkgs/applications/misc/artha/default.nix b/pkgs/applications/misc/artha/default.nix index f69152820e43e48e8dd11e88d382d98526146496..202c1669f85851d6d482027ee3ab76c68f889441 100644 --- a/pkgs/applications/misc/artha/default.nix +++ b/pkgs/applications/misc/artha/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, dbus-glib, gtk2, pkgconfig, wordnet }: +{ stdenv, autoreconfHook, fetchurl, dbus-glib, gtk2, pkgconfig, wordnet }: stdenv.mkDerivation rec { name = "artha-${version}"; @@ -9,9 +9,13 @@ stdenv.mkDerivation rec { sha256 = "0qr4ihl7ma3cq82xi1fpzvf74mm9vsg0j035xvmcp3r6rmw2fycx"; }; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ autoreconfHook pkgconfig ]; buildInputs = [ dbus-glib gtk2 wordnet ]; + patches = [ + ./gio-underlink.patch + ]; + meta = with stdenv.lib; { description = "An offline thesaurus based on WordNet"; homepage = http://artha.sourceforge.net; diff --git a/pkgs/applications/misc/artha/gio-underlink.patch b/pkgs/applications/misc/artha/gio-underlink.patch new file mode 100644 index 0000000000000000000000000000000000000000..08d9c4787369d2974f258a56387c8db6d3a41a54 --- /dev/null +++ b/pkgs/applications/misc/artha/gio-underlink.patch @@ -0,0 +1,13 @@ +diff --git a/src/Makefile.am b/src/Makefile.am +index 0236d72..bcc1182 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -38,7 +38,7 @@ artha_LDADD = libwni.a $(WORDNET_LIB) + + if POSIX + AM_CFLAGS += @libdbus_CFLAGS@ +-artha_LDADD += -lX11 -ldbus-1 -ldbus-glib-1 -lgtk-x11-2.0 \ ++artha_LDADD += -lX11 -ldbus-1 -ldbus-glib-1 -lgio-2.0 -lgtk-x11-2.0 \ + -lgdk-x11-2.0 -lgmodule-2.0 -lgobject-2.0 -lglib-2.0 + else + artha_LDADD += @GTK_LIBS@ diff --git a/pkgs/applications/misc/asciiquarium/default.nix b/pkgs/applications/misc/asciiquarium/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..3c18d70d6c264b85df42764196726eeb1e322495 --- /dev/null +++ b/pkgs/applications/misc/asciiquarium/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, makeWrapper, perlPackages }: + +let version = "1.1"; +in stdenv.mkDerivation { + name = "asciiquarium-${version}"; + src = fetchurl { + url = "https://robobunny.com/projects/asciiquarium/asciiquarium_${version}.tar.gz"; + sha256 = "0qfkr5b7sxzi973nh0h84blz2crvmf28jkkgaj3mxrr56mhwc20v"; + }; + + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ perlPackages.perl ]; + + installPhase = '' + mkdir -p $out/bin + cp asciiquarium $out/bin + chmod +x $out/bin/asciiquarium + wrapProgram $out/bin/asciiquarium \ + --set PERL5LIB ${perlPackages.makeFullPerlPath [ perlPackages.TermAnimation ] } + ''; + + meta = with stdenv.lib; { + description = "Enjoy the mysteries of the sea from the safety of your own terminal!"; + homepage = https://robobunny.com/projects/asciiquarium/html/; + license = licenses.gpl2; + platforms = platforms.unix; + maintainers = [ maintainers.utdemir ]; + }; +} diff --git a/pkgs/applications/misc/audio/sox/default.nix b/pkgs/applications/misc/audio/sox/default.nix index 2585b5545482c033f6c787cfd198e36d1a98cde6..a598ec1caca143425ad71e4e26d82caf8113d2c5 100644 --- a/pkgs/applications/misc/audio/sox/default.nix +++ b/pkgs/applications/misc/audio/sox/default.nix @@ -1,7 +1,7 @@ -{ lib, stdenv, fetchurl +{ config, lib, stdenv, fetchurl, CoreAudio , enableAlsa ? true, alsaLib ? null , enableLibao ? true, libao ? null -, enableLame ? false, lame ? null +, enableLame ? config.sox.enableLame or false, lame ? null , enableLibmad ? true, libmad ? null , enableLibogg ? true, libogg ? null, libvorbis ? null , enableFLAC ? true, flac ? null @@ -32,7 +32,8 @@ stdenv.mkDerivation rec { optional enablePNG libpng ++ optional enableLibsndfile libsndfile ++ optionals enableAMR [ amrnb amrwb ] ++ - optional enableLibpulseaudio libpulseaudio; + optional enableLibpulseaudio libpulseaudio ++ + optional (stdenv.isDarwin) CoreAudio; meta = { description = "Sample Rate Converter for audio"; diff --git a/pkgs/applications/misc/autospotting/default.nix b/pkgs/applications/misc/autospotting/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..2dd151c1a6c1f08bd436b4ff1e5d0004a9724017 --- /dev/null +++ b/pkgs/applications/misc/autospotting/default.nix @@ -0,0 +1,30 @@ +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + name = "autospotting-${version}"; + version = "unstable-2018-11-17"; + goPackagePath = "github.com/AutoSpotting/AutoSpotting"; + + src = fetchFromGitHub { + owner = "AutoSpotting"; + repo = "AutoSpotting"; + rev = "122ab8f292a2f718dd85e79ec22acd455122907e"; + sha256 = "0p48lgig9kblxvgq1kggczkn4qdbx6ciq9c8x0179i80vl4jf7v6"; + }; + + goDeps = ./deps.nix; + + # patching path where repository used to exist + postPatch = '' + sed -i "s+github.com/cristim/autospotting/core+github.com/AutoSpotting/AutoSpotting/core+" autospotting.go + ''; + + meta = with stdenv.lib; { + homepage = https://github.com/AutoSpotting/AutoSpotting; + description = "Automatically convert your existing AutoScaling groups to up to 90% cheaper spot instances with minimal configuration changes"; + license = licenses.free; + maintainers = [ maintainers.costrouc ]; + platforms = platforms.unix; + }; + +} diff --git a/pkgs/applications/misc/autospotting/deps.nix b/pkgs/applications/misc/autospotting/deps.nix new file mode 100644 index 0000000000000000000000000000000000000000..ea744ed6648f366be9fe839a5d5a203f9344fbe4 --- /dev/null +++ b/pkgs/applications/misc/autospotting/deps.nix @@ -0,0 +1,75 @@ +# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix) +[ + { + goPackagePath = "github.com/aws/aws-lambda-go"; + fetch = { + type = "git"; + url = "https://github.com/aws/aws-lambda-go"; + rev = "2d482ef09017ae953b1e8d5a6ddac5b696663a3c"; + sha256 = "06v2yfvn4sn116lds0526a8mfrsng4vafrdjf1dhpalqarrbdvmz"; + }; + } + { + goPackagePath = "github.com/aws/aws-sdk-go"; + fetch = { + type = "git"; + url = "https://github.com/aws/aws-sdk-go"; + rev = "9333060a8d957db41bff1c80603a802aa674fad8"; + sha256 = "0fnypw6zm6k70fzhm5a8g69ag64rxbrrpdk7l3rkfqd99slyg5kz"; + }; + } + { + goPackagePath = "github.com/cristim/ec2-instances-info"; + fetch = { + type = "git"; + url = "https://github.com/cristim/ec2-instances-info"; + rev = "73c042a5558cd6d8b61fb82502d6f7aec334e9ed"; + sha256 = "1xajrkxqqz5wlbi9w2wdhnk115rbmqxyga29f8v9psq8hzwgi0rg"; + }; + } + { + goPackagePath = "github.com/davecgh/go-spew"; + fetch = { + type = "git"; + url = "https://github.com/davecgh/go-spew"; + rev = "d8f796af33cc11cb798c1aaeb27a4ebc5099927d"; + sha256 = "19z27f306fpsrjdvkzd61w1bdazcdbczjyjck177g33iklinhpvx"; + }; + } + { + goPackagePath = "github.com/go-ini/ini"; + fetch = { + type = "git"; + url = "https://github.com/go-ini/ini"; + rev = "5cf292cae48347c2490ac1a58fe36735fb78df7e"; + sha256 = "0xbnw1nd22q6k863n5gs0nxld15w0p8qxbhfky85akcb5rk1vwi9"; + }; + } + { + goPackagePath = "github.com/jmespath/go-jmespath"; + fetch = { + type = "git"; + url = "https://github.com/jmespath/go-jmespath"; + rev = "0b12d6b5"; + sha256 = "1vv6hph8j6xgv7gwl9vvhlsaaqsm22sxxqmgmldi4v11783pc1ld"; + }; + } + { + goPackagePath = "github.com/namsral/flag"; + fetch = { + type = "git"; + url = "https://github.com/namsral/flag"; + rev = "67f268f20922975c067ed799e4be6bacf152208c"; + sha256 = "1lmxq3z276zrsggpfq9b7yklzzxdyib49zr8sznb1lcqlvxqsr47"; + }; + } + { + goPackagePath = "github.com/pkg/errors"; + fetch = { + type = "git"; + url = "https://github.com/pkg/errors"; + rev = "645ef00459ed84a119197bfb8d8205042c6df63d"; + sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5"; + }; + } +] \ No newline at end of file diff --git a/pkgs/applications/misc/avrdudess/default.nix b/pkgs/applications/misc/avrdudess/default.nix index c803eb37ad6f655c2ec3084c5bc914de8cb44f22..4227b4155acfedc273e812eba15d94b8e7e957ae 100644 --- a/pkgs/applications/misc/avrdudess/default.nix +++ b/pkgs/applications/misc/avrdudess/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, unzip, mono, avrbinutils, avrgcc, avrdude, gtk2, xdg_utils }: +{ stdenv, runtimeShell, fetchurl, unzip, mono, avrdude, gtk2, xdg_utils }: stdenv.mkDerivation rec { name = "avrdudess-2.2.20140102"; @@ -19,11 +19,11 @@ stdenv.mkDerivation rec { unzip "$src" -d "$out/avrdudess" cat >> "$out/bin/avrdudess" << __EOF__ - #!${stdenv.shell} + #!${runtimeShell} 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 [ avrgcc avrbinutils avrdude xdg_utils ]}:\$PATH" + export PATH="${stdenv.lib.makeBinPath [ avrdude xdg_utils ]}:\$PATH" # avrdudess must have its resource files in its current working directory cd $out/avrdudess && exec ${mono}/bin/mono "$out/avrdudess/avrdudess.exe" "\$@" diff --git a/pkgs/applications/misc/bb/default.nix b/pkgs/applications/misc/bb/default.nix index 0689843af61207a5716098417daaf7584a82253d..f085e4bd7dd52589d08c67cb303e59d2e494495e 100644 --- a/pkgs/applications/misc/bb/default.nix +++ b/pkgs/applications/misc/bb/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, aalib, ncurses, xorg, libmikmod }: +{ stdenv, lib, fetchurl, darwin, aalib, ncurses, xorg, libmikmod }: stdenv.mkDerivation rec { name = "bb-${version}"; @@ -12,13 +12,17 @@ stdenv.mkDerivation rec { buildInputs = [ aalib ncurses libmikmod xorg.libXau xorg.libXdmcp xorg.libX11 - ]; + ] ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.CoreAudio; - meta = with stdenv.lib; { + postPatch = lib.optionalString stdenv.isDarwin '' + sed -i -e '/^#include $/d' *.c + ''; + + meta = with lib; { homepage = http://aa-project.sourceforge.net/bb; description = "AA-lib demo"; license = licenses.gpl2; maintainers = [ maintainers.rnhmjoj ]; - platforms = platforms.linux; + platforms = platforms.unix; }; } diff --git a/pkgs/applications/misc/bicon/default.nix b/pkgs/applications/misc/bicon/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..22eb3e3d8594e13595b49d94f3e420f89f5edce2 --- /dev/null +++ b/pkgs/applications/misc/bicon/default.nix @@ -0,0 +1,36 @@ +{ stdenv + , fetchFromGitHub + , autoreconfHook + , pkg-config + , perl + , fribidi + , kbd + , xkbutils +}: + +stdenv.mkDerivation rec { + pname = "bicon"; + version = "unstable-2018-09-10"; + + src = fetchFromGitHub { + owner = "behdad"; + repo = pname; + rev = "38725c062a83ab19c4e4b4bc20eb9535561aa76c"; + sha256 = "0hdslrci8pq300f3rrjsvl5psfrxdwyxf9g2m5g789sr049dksnq"; + }; + + buildInputs = [ fribidi kbd xkbutils perl ]; + nativeBuildInputs = [ autoreconfHook pkg-config ]; + + preConfigure = '' + patchShebangs . + ''; + + meta = with stdenv.lib; { + description = "A bidirectional console"; + homepage = https://github.com/behdad/bicon; + license = [ licenses.lgpl21 licenses.psfl licenses.bsd0 ]; + maintainers = [ maintainers.linarcx ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/misc/bitcoinarmory/default.nix b/pkgs/applications/misc/bitcoinarmory/default.nix index 3245a56e9de3b45c0881c1438822500eb477b8b0..9c99dcee2b3cb22c669d2f7e56c71a6f3dbbec9d 100644 --- a/pkgs/applications/misc/bitcoinarmory/default.nix +++ b/pkgs/applications/misc/bitcoinarmory/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, pythonPackages , pkgconfig, autoreconfHook, rsync -, swig, qt4, fcgi +, swig, qt48Full, fcgi , bitcoin, procps, utillinux }: let @@ -16,7 +16,6 @@ in buildPythonApplication { owner = "goatpig"; repo = "BitcoinArmory"; rev = "v${version}"; - #sha256 = "023c7q1glhrkn4djz3pf28ckd1na52lsagv4iyfgchqvw7qm7yx2"; sha256 = "0pjk5qx16n3kvs9py62666qkwp2awkgd87by4karbj7vk6p1l14h"; fetchSubmodules = true; }; @@ -25,14 +24,18 @@ in buildPythonApplication { # FIXME bitcoind doesn't die on shutdown. Need some sort of patch to fix that. #patches = [ ./shutdown-fix.patch ]; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ + nativeBuildInputs = [ autoreconfHook + pkgconfig swig - qt4 - fcgi + pyqt4 + qt48Full rsync # used by silly install script (TODO patch upstream) ]; + buildInputs = [ + qt48Full + fcgi + ]; propagatedBuildInputs = [ pyqt4 diff --git a/pkgs/applications/misc/bleachbit/default.nix b/pkgs/applications/misc/bleachbit/default.nix index f0dce54675cd0fde09844a5472978aa8f4fd2652..3f13972de9bb39fc55358d1a00807ac5d181fcae 100644 --- a/pkgs/applications/misc/bleachbit/default.nix +++ b/pkgs/applications/misc/bleachbit/default.nix @@ -1,26 +1,26 @@ -{ stdenv, pythonPackages, fetchurl }: +{ stdenv, pythonPackages, fetchurl, gettext }: pythonPackages.buildPythonApplication rec { - name = "bleachbit-${version}"; - version = "2.0"; + pname = "bleachbit"; + version = "2.2"; - namePrefix = ""; + format = "other"; src = fetchurl { - url = "mirror://sourceforge/bleachbit/${name}.tar.bz2"; - sha256 = "0ps98zx4n13q92bq7ykqi6hj3i7brdqgm87i9gk6ibvljp1vxdz9"; + url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2"; + sha256 = "1yj9bc3k6s1aib7znb79h5rybfv691zz4szxkwf9fm9nr0dws603"; }; - buildInputs = [ pythonPackages.wrapPython ]; + nativeBuildInputs = [ gettext ]; - doCheck = false; + # Patch the many hardcoded uses of /usr/share/ and /usr/bin + postPatch = '' + find -type f -exec sed -i -e 's@/usr/share@${placeholder "out"}/share@g' {} \; + find -type f -exec sed -i -e 's@/usr/bin@${placeholder "out"}/bin@g' {} \; + ''; - postInstall = '' - mkdir -p $out/bin - cp bleachbit.py $out/bin/bleachbit - chmod +x $out/bin/bleachbit + dontBuild = true; - substituteInPlace $out/bin/bleachbit --replace "#!/usr/bin/env python" "#!${pythonPackages.python.interpreter}" - ''; + installFlags = [ "prefix=${placeholder "out"}" ]; propagatedBuildInputs = with pythonPackages; [ pygtk ]; diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix index b9d4b83e4f1f302bc56ea750483cdb574c376abd..353cf620ee7413fd3f3e58466ef6e206948609e8 100644 --- a/pkgs/applications/misc/blender/default.nix +++ b/pkgs/applications/misc/blender/default.nix @@ -1,10 +1,10 @@ -{ stdenv, lib, fetchurl, boost, cmake, ffmpeg, gettext, glew +{ config, stdenv, lib, fetchurl, boost, cmake, ffmpeg, gettext, glew , ilmbase, libXi, libX11, libXext, libXrender , libjpeg, libpng, libsamplerate, libsndfile , libtiff, libGLU_combined, openal, opencolorio, openexr, openimageio, openjpeg_1, pythonPackages , zlib, fftw, opensubdiv, freetype, jemalloc, ocl-icd , jackaudioSupport ? false, libjack2 -, cudaSupport ? false, cudatoolkit +, cudaSupport ? config.cudaSupport or false, cudatoolkit , colladaSupport ? true, opencollada , enableNumpy ? false, makeWrapper }: @@ -51,10 +51,10 @@ stdenv.mkDerivation rec { "-DWITH_SYSTEM_OPENJPEG=ON" "-DWITH_PLAYER=ON" "-DWITH_OPENSUBDIV=ON" - "-DPYTHON_LIBRARY=python${python.majorVersion}m" + "-DPYTHON_LIBRARY=${python.libPrefix}m" "-DPYTHON_LIBPATH=${python}/lib" - "-DPYTHON_INCLUDE_DIR=${python}/include/python${python.majorVersion}m" - "-DPYTHON_VERSION=${python.majorVersion}" + "-DPYTHON_INCLUDE_DIR=${python}/include/${python.libPrefix}m" + "-DPYTHON_VERSION=${python.pythonVersion}" "-DWITH_PYTHON_INSTALL=OFF" "-DWITH_PYTHON_INSTALL_NUMPY=OFF" ] @@ -66,7 +66,7 @@ stdenv.mkDerivation rec { ] ++ optional colladaSupport "-DWITH_OPENCOLLADA=ON"; - NIX_CFLAGS_COMPILE = "-I${ilmbase.dev}/include/OpenEXR -I${python}/include/${python.libPrefix}m"; + NIX_CFLAGS_COMPILE = "-I${ilmbase.dev}/include/OpenEXR -I${python}/include/${python.libPrefix}"; # Since some dependencies are built with gcc 6, we need gcc 6's # libstdc++ in our RPATH. Sigh. @@ -77,7 +77,7 @@ stdenv.mkDerivation rec { postInstall = optionalString enableNumpy '' wrapProgram $out/bin/blender \ - --prefix PYTHONPATH : ${pythonPackages.numpy}/lib/python${python.majorVersion}/site-packages + --prefix PYTHONPATH : ${pythonPackages.numpy}/${python.sitePackages} ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/misc/buku/default.nix b/pkgs/applications/misc/buku/default.nix index dacfa908b51689be861962970c060cb7fee488f0..bde8fab8144164ef835c2a6517da3904c192b990 100644 --- a/pkgs/applications/misc/buku/default.nix +++ b/pkgs/applications/misc/buku/default.nix @@ -1,14 +1,14 @@ { stdenv, python3, fetchFromGitHub, fetchpatch }: with python3.pkgs; buildPythonApplication rec { - version = "3.8"; + version = "4.1"; pname = "buku"; src = fetchFromGitHub { owner = "jarun"; repo = "buku"; rev = "v${version}"; - sha256 = "0gv26c4rr1akcaiff1nrwil03sv7d58mfxr86pgsw6nwld67ns0r"; + sha256 = "166l1fmpqn4hys4l0ssc4yd590mmav1w62vm9l5ijhjhmlnrzfax"; }; checkInputs = [ @@ -33,8 +33,17 @@ with python3.pkgs; buildPythonApplication rec { arrow werkzeug click + html5lib + vcrpy ]; + postPatch = '' + # Jailbreak problematic dependencies + sed -i \ + -e "s,'PyYAML.*','PyYAML',g" \ + setup.py + ''; + preCheck = '' # Fixes two tests for wrong encoding export PYTHONIOENCODING=utf-8 @@ -60,7 +69,7 @@ with python3.pkgs; buildPythonApplication rec { homepage = https://github.com/jarun/Buku; license = licenses.gpl3; platforms = platforms.linux; - maintainers = with maintainers; [ infinisil ]; + maintainers = with maintainers; [ matthiasbeyer infinisil ]; }; } diff --git a/pkgs/applications/misc/calcurse/default.nix b/pkgs/applications/misc/calcurse/default.nix index fd65fcd22606607c7f80e1763997503a985af9c1..e6dafe4d08af0e1aa77a804945ff983b187a942f 100644 --- a/pkgs/applications/misc/calcurse/default.nix +++ b/pkgs/applications/misc/calcurse/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "calcurse-${version}"; - version = "4.3.0"; + version = "4.4.0"; src = fetchurl { url = "https://calcurse.org/files/${name}.tar.gz"; - sha256 = "16jzg0nasnxdlz23i121x41pq5kbxmjzk52c5d863rg117fc7v1i"; + sha256 = "0vw2xi6a2lrhrb8n55zq9lv4mzxhby4xdf3hmi1vlfpyrpdwkjzd"; }; buildInputs = [ ncurses gettext python3 ]; diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix index 15d894b0413dba4858f28486d39eae1157b72975..99e71d769bea8b8e41b76f776ea6d2702ffdbf00 100644 --- a/pkgs/applications/misc/calibre/default.nix +++ b/pkgs/applications/misc/calibre/default.nix @@ -1,16 +1,16 @@ { stdenv, fetchurl, poppler_utils, pkgconfig, libpng , imagemagick, libjpeg, fontconfig, podofo, qtbase, qmake, icu, sqlite , makeWrapper, unrarSupport ? false, chmlib, python2Packages, libusb1, libmtp -, xdg_utils, makeDesktopItem, wrapGAppsHook +, xdg_utils, makeDesktopItem, wrapGAppsHook, removeReferencesTo }: stdenv.mkDerivation rec { - version = "3.29.0"; + version = "3.42.0"; name = "calibre-${version}"; src = fetchurl { url = "https://download.calibre-ebook.com/${version}/${name}.tar.xz"; - sha256 = "1r29vi8j51r0nnzpjbg34ryvizzkn31sq1iz7z748wjfgr87wmyh"; + sha256 = "0ymdhws3cb44p3fb24vln1wx6s7qnb8rr241jvm6qbj5rnp984dm"; }; patches = [ @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { ] ++ stdenv.lib.optional (!unrarSupport) ./dont_build_unrar_plugin.patch; prePatch = '' - sed -i "/pyqt_sip_dir/ s:=.*:= '${python2Packages.pyqt5}/share/sip/PyQt5':" \ + sed -i "/pyqt_sip_dir/ s:=.*:= '${python2Packages.pyqt5_with_qtwebkit}/share/sip/PyQt5':" \ setup/build_environment.py # Remove unneeded files and libs @@ -35,15 +35,15 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - nativeBuildInputs = [ makeWrapper pkgconfig qmake ]; + nativeBuildInputs = [ makeWrapper pkgconfig qmake removeReferencesTo ]; buildInputs = [ poppler_utils libpng imagemagick libjpeg fontconfig podofo qtbase chmlib icu sqlite libusb1 libmtp xdg_utils wrapGAppsHook ] ++ (with python2Packages; [ - apsw cssselect cssutils dateutil dnspython html5-parser lxml mechanize netifaces pillow - python pyqt5 sip - regex msgpack + apsw cssselect css-parser dateutil dnspython html5-parser lxml mechanize netifaces pillow + python pyqt5_with_qtwebkit sip + regex msgpack beautifulsoup4 # the following are distributed with calibre, but we use upstream instead odfpy ]); @@ -58,8 +58,8 @@ stdenv.mkDerivation rec { export MAGICK_LIB=${imagemagick.out}/lib export FC_INC_DIR=${fontconfig.dev}/include/fontconfig export FC_LIB_DIR=${fontconfig.lib}/lib - export PODOFO_INC_DIR=${podofo}/include/podofo - export PODOFO_LIB_DIR=${podofo}/lib + export PODOFO_INC_DIR=${podofo.dev}/include/podofo + export PODOFO_LIB_DIR=${podofo.lib}/lib export SIP_BIN=${python2Packages.sip}/bin/sip ${python2Packages.python.interpreter} setup.py install --prefix=$out @@ -88,6 +88,15 @@ stdenv.mkDerivation rec { runHook postInstall ''; + # Remove some references to shrink the closure size. This reference (as of + # 2018-11-06) was a single string like the following: + # /nix/store/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-podofo-0.9.6-dev/include/podofo/base/PdfVariant.h + preFixup = '' + remove-references-to -t ${podofo.dev} $out/lib/calibre/calibre/plugins/podofo.so + ''; + + disallowedReferences = [ podofo.dev ]; + calibreDesktopItem = makeDesktopItem { name = "calibre"; desktopName = "calibre"; diff --git a/pkgs/applications/misc/calibre/dont_build_unrar_plugin.patch b/pkgs/applications/misc/calibre/dont_build_unrar_plugin.patch index 45e27984ed598fa8885dde0999992d9cf42b2f36..5164b80a0beede06f25b534726279982c80741fa 100644 --- a/pkgs/applications/misc/calibre/dont_build_unrar_plugin.patch +++ b/pkgs/applications/misc/calibre/dont_build_unrar_plugin.patch @@ -6,7 +6,7 @@ index 938ab24..1e095f8 100644 description = _('Extract common e-book formats from archive files ' '(ZIP/RAR). Also try to autodetect if they are actually ' 'CBZ/CBR files.') -- file_types = set(['zip', 'rar']) -+ file_types = set(['zip']) +- file_types = {'zip', 'rar'} ++ file_types = {'zip'} supported_platforms = ['windows', 'osx', 'linux'] on_import = True diff --git a/pkgs/applications/misc/candle/default.nix b/pkgs/applications/misc/candle/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..35aa681df4ba9688d9f8af0f0d661b2ced236648 --- /dev/null +++ b/pkgs/applications/misc/candle/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchFromGitHub, qtbase, qtserialport, qmake }: + +stdenv.mkDerivation rec { + name = "candle-${version}"; + version = "1.1"; + + src = fetchFromGitHub { + owner = "Denvi"; + repo = "Candle"; + rev = "v${version}"; + sha256 = "1gpx08gdz8awbsj6lsczwgffp19z3q0r2fvm72a73qd9az29pmm0"; + }; + + nativeBuildInputs = [ qmake ]; + + sourceRoot = "source/src"; + + installPhase = '' + runHook preInstall + install -Dm755 Candle $out/bin/candle + runHook postInstall + ''; + + buildInputs = [ qtbase qtserialport ]; + + meta = with stdenv.lib; { + description = "GRBL controller application with G-Code visualizer written in Qt"; + homepage = https://github.com/Denvi/Candle; + license = licenses.gpl3; + maintainers = with maintainers; [ matti-kariluoma ]; + }; +} diff --git a/pkgs/applications/misc/cardpeek/default.nix b/pkgs/applications/misc/cardpeek/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..9b2192708090047d654d930684ce1705c10c0852 --- /dev/null +++ b/pkgs/applications/misc/cardpeek/default.nix @@ -0,0 +1,28 @@ +{ stdenv, lib, fetchFromGitHub, pkgconfig, autoreconfHook, + glib, gtk3, pcsclite, lua5_2, curl, readline }: +let + version = "0.8.4"; +in + stdenv.mkDerivation { + name = "cardpeek-${version}"; + + src = fetchFromGitHub { + owner = "L1L1"; + repo = "cardpeek"; + rev = "cardpeek-${version}"; + sha256 = "1ighpl7nvcvwnsd6r5h5n9p95kclwrq99hq7bry7s53yr57l6588"; + }; + + nativeBuildInputs = [ pkgconfig autoreconfHook ]; + buildInputs = [ glib gtk3 pcsclite lua5_2 curl readline ]; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + homepage = https://github.com/L1L1/cardpeek; + description = "A tool to read the contents of ISO7816 smart cards"; + license = licenses.gpl3Plus; + platforms = with platforms; linux ++ darwin; + maintainers = with maintainers; [ embr ]; + }; + } diff --git a/pkgs/applications/misc/cataract/build.nix b/pkgs/applications/misc/cataract/build.nix index f2aac4326cbf365a3700df02f718e0bcc3e77e39..e48b32a783d729a62a811b404cccda50ffa9dc95 100644 --- a/pkgs/applications/misc/cataract/build.nix +++ b/pkgs/applications/misc/cataract/build.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { homepage = http://cgg.bzatek.net/; description = "a simple static web photo gallery, designed to be clean and easily usable"; license = stdenv.lib.licenses.gpl2; - maintainers = with stdenv.lib.maintainers; [ ]; + maintainers = [ stdenv.lib.maintainers.matthiasbeyer ]; platforms = with stdenv.lib.platforms; linux ++ darwin; }; } diff --git a/pkgs/applications/misc/cheat/default.nix b/pkgs/applications/misc/cheat/default.nix index ad3f653465938fd87b821c1fa788bf38d11e586b..41660bc7f2b07a05b767527864ab5049580fb59f 100644 --- a/pkgs/applications/misc/cheat/default.nix +++ b/pkgs/applications/misc/cheat/default.nix @@ -1,30 +1,37 @@ -{ stdenv, python3Packages, fetchFromGitHub }: +{ stdenv, python3, fetchFromGitHub }: -with python3Packages; +with python3.pkgs; buildPythonApplication rec { name = "${pname}-${version}"; pname = "cheat"; - version = "2.2.3"; + version = "2.5.1"; - propagatedBuildInputs = [ docopt pygments ]; + propagatedBuildInputs = [ docopt pygments termcolor ]; src = fetchFromGitHub { owner = "chrisallenlane"; repo = "cheat"; rev = version; - sha256 = "1p9a54fax3b1ilqcwdlccy08ww3igwsyzcyikqivaxj5p6mqq6wl"; + sha256 = "1i543hvg1yizamfd83bawflfcb500hvc72i59ikck8j1hjk50hsl"; }; # no tests available doCheck = false; postInstall = '' install -D man1/cheat.1.gz $out/share/man/man1/cheat.1.gz + mv $out/${python3.sitePackages}/etc $out/ + mv $out/${python3.sitePackages}/usr/share/* $out/share/ + rm -r $out/${python3.sitePackages}/usr ''; + makeWrapperArgs = [ + "--suffix" "CHEAT_PATH" ":" "$out/share/cheat" + ]; + meta = with stdenv.lib; { description = "cheat allows you to create and view interactive cheatsheets on the command-line"; maintainers = with maintainers; [ mic92 ]; - license = with licenses; [gpl3 mit]; + license = with 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 6bd1cef7c1b26a3f6fbca0fb771427d5021aa228..0578393dfca09f3f96bdfadbef0b4cbcb20a1d82 100644 --- a/pkgs/applications/misc/cherrytree/default.nix +++ b/pkgs/applications/misc/cherrytree/default.nix @@ -4,11 +4,11 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "cherrytree-${version}"; - version = "0.38.5"; + version = "0.38.8"; src = fetchurl { url = "https://www.giuspen.com/software/${name}.tar.xz"; - sha256 = "1ja3b14vm3yd26pf82p2qlld0flqkqvgdg2g33r5dav6wfq3pz6y"; + sha256 = "1ns87xl2sgrf3nha4xkhp0xcxlycqszlp6xdrn95lg6vzm0fa8dg"; }; buildInputs = with pythonPackages; diff --git a/pkgs/applications/misc/chirp/default.nix b/pkgs/applications/misc/chirp/default.nix deleted file mode 100644 index 8a26631d5c0d796afd569c6449de2868f2db4edd..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/chirp/default.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ stdenv, fetchurl, libxml2Python, libxslt, makeWrapper -, pyserial, pygtk }: - -stdenv.mkDerivation rec { - name = "chirp-daily-${version}"; - version = "20180815"; - - src = fetchurl { - url = "https://trac.chirp.danplanet.com/chirp_daily/daily-${version}/${name}.tar.gz"; - sha256 = "0z3jh9sbszs8x0xjmkgxa3b1xnw3w9b13pml4i5apx3mj171npyv"; - }; - - nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ - pyserial pygtk libxml2Python libxslt pyserial - ]; - - installPhase = '' - mkdir -p $out/bin $out/share/chirp - cp -r . $out/share/chirp/ - ln -s $out/share/chirp/chirpw $out/bin/chirpw - - for file in "$out"/bin/*; do - wrapProgram "$file" \ - --prefix PYTHONPATH : $PYTHONPATH:$(toPythonPath "$out") - done - ''; - - meta = with stdenv.lib; { - description = "A free, open-source tool for programming your amateur radio"; - homepage = https://chirp.danplanet.com/; - license = licenses.gpl3; - platforms = platforms.linux; - maintainers = [ maintainers.the-kenny ]; - }; -} diff --git a/pkgs/applications/misc/cli-visualizer/default.nix b/pkgs/applications/misc/cli-visualizer/default.nix index 7aecc8f823ee4153b40de5dff4018f1ae451775c..6602adb2f2abaab11038c25dd9cbca4d1566b2b1 100644 --- a/pkgs/applications/misc/cli-visualizer/default.nix +++ b/pkgs/applications/misc/cli-visualizer/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchFromGitHub, fftw, ncurses5, libpulseaudio, makeWrapper }: stdenv.mkDerivation rec { - version = "1.7"; + version = "1.8"; name = "cli-visualizer-${version}"; src = fetchFromGitHub { owner = "dpayne"; repo = "cli-visualizer"; - rev = version; - sha256 = "06z6vj87xjmacppcxvgm47wby6mv1hnbqav8lpdk9v5s1hmmp1cr"; + rev = "v${version}"; + sha256 = "003mbbwsz43mg3d7llphpypqa9g7rs1p1cdbqi1mbc2bfrc1gcq2"; }; postPatch = '' @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { homepage = https://github.com/dpayne/cli-visualizer; description = "CLI based audio visualizer"; license = stdenv.lib.licenses.mit; - maintainers = with stdenv.lib.maintainers; [ ]; + maintainers = [ stdenv.lib.maintainers.matthiasbeyer ]; platforms = with stdenv.lib.platforms; linux; }; } diff --git a/pkgs/applications/misc/clipmenu/default.nix b/pkgs/applications/misc/clipmenu/default.nix index 679724ed0622e3d9918c7d50dcfb3ce31bec9934..7a47a0e3bc0bb90a37ce882d97627b06dca3ec98 100644 --- a/pkgs/applications/misc/clipmenu/default.nix +++ b/pkgs/applications/misc/clipmenu/default.nix @@ -4,13 +4,13 @@ let in stdenv.mkDerivation rec { name = "clipmenu-${version}"; - version = "5.4.0"; + version = "5.6.0"; src = fetchFromGitHub { owner = "cdown"; repo = "clipmenu"; rev = version; - sha256 = "1qbpca0wny6i222vbikfl2znn3fynhbl4100qs8v4wn27ra5p0mi"; + sha256 = "13hyarzazh6j33d808h3s5yk320wqzivc0ni9xm8kalvn4k3a0bq"; }; buildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/misc/cointop/default.nix b/pkgs/applications/misc/cointop/default.nix index 23d76afff0cef82ed2e200443fd62c962eef7b8e..e1fcbbfe13c20204bc41bb19664c4bd6ca08ab04 100644 --- a/pkgs/applications/misc/cointop/default.nix +++ b/pkgs/applications/misc/cointop/default.nix @@ -24,7 +24,7 @@ buildGoPackage rec { The interface is inspired by htop and shortcut keys are inspired by vim. ''; homepage = https://cointop.sh; - platforms = stdenv.lib.platforms.linux; # cannot test others + platforms = stdenv.lib.platforms.unix; # cannot test others maintainers = [ ]; license = stdenv.lib.licenses.asl20; }; diff --git a/pkgs/applications/misc/cool-retro-term/default.nix b/pkgs/applications/misc/cool-retro-term/default.nix index f4ad3a1c538200a185c75966ea36a0ea09c57722..f2372aa51e68b1c31d98537fedf62d63e5577e84 100644 --- a/pkgs/applications/misc/cool-retro-term/default.nix +++ b/pkgs/applications/misc/cool-retro-term/default.nix @@ -1,15 +1,15 @@ -{ stdenv, fetchFromGitHub, qtbase, qtquick1, qmltermwidget, -qtquickcontrols, qtgraphicaleffects, qmake }: +{ stdenv, fetchFromGitHub, qtbase, qtquick1, qmltermwidget +, qtquickcontrols, qtgraphicaleffects, qmake }: stdenv.mkDerivation rec { - version = "1.0.1"; + version = "1.1.1"; name = "cool-retro-term-${version}"; src = fetchFromGitHub { owner = "Swordfish90"; repo = "cool-retro-term"; rev = version; - sha256 = "1ah54crqv13xsg9cvlwmgyhz90xjjy3vy8pbn9i0vc0ljmpgkqd5"; + sha256 = "0mird4k88ml6y61hky2jynrjmnxl849fvhsr5jfdlnv0i7r5vwi5"; }; patchPhase = '' @@ -25,6 +25,8 @@ stdenv.mkDerivation rec { mv $out/usr/share $out/share mv $out/usr/bin $out/bin rmdir $out/usr + '' + stdenv.lib.optionalString stdenv.isDarwin '' + ln -s $out/bin/cool-retro-term.app/Contents/MacOS/cool-retro-term $out/bin/cool-retro-term ''; enableParallelBuilding = true; @@ -36,9 +38,9 @@ stdenv.mkDerivation rec { feel of the old cathode tube screens. It has been designed to be eye-candy, customizable, and reasonably lightweight. ''; - homepage = https://github.com/Swordifish90/cool-retro-term; - license = with stdenv.lib.licenses; [ gpl2 gpl3 ]; - platforms = stdenv.lib.platforms.linux; + homepage = https://github.com/Swordfish90/cool-retro-term; + license = stdenv.lib.licenses.gpl3Plus; + platforms = with stdenv.lib.platforms; linux ++ darwin; maintainers = with stdenv.lib.maintainers; [ skeidel ]; }; } diff --git a/pkgs/applications/misc/copyq/default.nix b/pkgs/applications/misc/copyq/default.nix index 7b34674c218313773fca48e7a6b58a8a84b224d7..c77e47df34ce1157c0a479476ea2299bc95633d1 100644 --- a/pkgs/applications/misc/copyq/default.nix +++ b/pkgs/applications/misc/copyq/default.nix @@ -5,13 +5,13 @@ stdenv.mkDerivation rec { name = "CopyQ-${version}"; - version = "3.5.0"; + version = "3.8.0"; src = fetchFromGitHub { owner = "hluk"; repo = "CopyQ"; rev = "v${version}"; - sha256 = "0hzdv6rhjpq9yrfafnkc6d8m5pzw9qr520vsjf2gn1819gdybmr0"; + sha256 = "0kbhgg0j6iqfrpixvwl1mk3m0bz5s8bd6npk5xqcgzp1giywdc4i"; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/applications/misc/coursera-dl/default.nix b/pkgs/applications/misc/coursera-dl/default.nix index a6afee13e47bdfffd3763813195929631e97bd12..0601514546f22a26cdcd4c8f0948b2eedb3e88a5 100644 --- a/pkgs/applications/misc/coursera-dl/default.nix +++ b/pkgs/applications/misc/coursera-dl/default.nix @@ -22,6 +22,11 @@ in pythonPackages.buildPythonApplication rec { checkInputs = with pythonPackages; [ pytest mock ]; + postPatch = '' + substituteInPlace requirements.txt \ + --replace '==' '>=' + ''; + preConfigure = '' export LC_ALL=en_US.utf-8 ''; diff --git a/pkgs/applications/misc/crumbs/default.nix b/pkgs/applications/misc/crumbs/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..2d612c16fef3afba72572176c6924292af112632 --- /dev/null +++ b/pkgs/applications/misc/crumbs/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "crumbs"; + version = "0.0.3"; + + src = fetchFromGitHub + { owner = "fasseg"; + repo = "crumbs"; + rev = version; + sha256 = "0jjvydn4i4n9xv8vsal2jxpa95mk2lw6myv0gx9wih242k9vy0l7"; + }; + + prePatch = '' + sed -i 's|gfind|find|' crumbs-completion.fish + ''; + + postInstall = '' + mkdir -p $out/share/bash-completion/completions + mkdir -p $out/share/fish/vendor_completions.d + + cp crumbs-completion.bash $out/share/bash-completion/completions/crumbs + cp crumbs-completion.fish $out/share/fish/vendor_completions.d/crumbs.fish + ''; + + meta = with stdenv.lib; + { description = "Bookmarks for the command line"; + homepage = https://github.com/fasseg/crumbs; + license = licenses.wtfpl; + platforms = platforms.all; + maintainers = with maintainers; [ thesola10 ]; + }; +} diff --git a/pkgs/applications/misc/ctodo/default.nix b/pkgs/applications/misc/ctodo/default.nix index f8927319a0110515d40b5a3922248cd28f75e34a..0123e0c38d74a6f493deedc137cbf73b6f0899fd 100644 --- a/pkgs/applications/misc/ctodo/default.nix +++ b/pkgs/applications/misc/ctodo/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { homepage = http://ctodo.apakoh.dk/; description = "A simple ncurses-based task list manager"; license = stdenv.lib.licenses.mit; - maintainers = with stdenv.lib.maintainers; [ ]; + maintainers = [ stdenv.lib.maintainers.matthiasbeyer ]; platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/applications/misc/cura/default.nix b/pkgs/applications/misc/cura/default.nix index f97b83a85075882be1d34d78c7d774d8cf6d9020..d570a2570d1cee7ddf3da9a67bab912464dfc223 100644 --- a/pkgs/applications/misc/cura/default.nix +++ b/pkgs/applications/misc/cura/default.nix @@ -1,30 +1,38 @@ -{ mkDerivation, lib, fetchFromGitHub, cmake, python3, qtbase, qtquickcontrols2, curaengine }: +{ mkDerivation, lib, fetchFromGitHub, cmake, python3, qtbase, qtquickcontrols2, qtgraphicaleffects, curaengine }: mkDerivation rec { name = "cura-${version}"; - version = "3.4.1"; + version = "4.0.0"; src = fetchFromGitHub { owner = "Ultimaker"; repo = "Cura"; rev = version; - sha256 = "03s9nf1aybbnbf1rzqja41m9g6991bbvrcly1lcrfqksianfn06w"; + sha256 = "18pxlmrw8m2mir177f0j9bma7rk29vam91gd86c0d458nw21q2qf"; }; materials = fetchFromGitHub { owner = "Ultimaker"; repo = "fdm_materials"; - rev = "3.4.1"; - sha256 = "1pw30clxqd7qgnidsyx6grizvlgfn8rhj6rd5ppkvv3rdjh0gj28"; + rev = version; + sha256 = "0g2dkph0ll7d9109n17vmfwb4fpc8lhyb1z1q68j8vblyvg08d12"; }; - buildInputs = [ qtbase qtquickcontrols2 ]; - propagatedBuildInputs = with python3.pkgs; [ uranium zeroconf pyserial numpy-stl ]; + buildInputs = [ qtbase qtquickcontrols2 qtgraphicaleffects ]; + propagatedBuildInputs = with python3.pkgs; [ + libsavitar numpy-stl pyserial requests uranium zeroconf + ]; nativeBuildInputs = [ cmake python3.pkgs.wrapPython ]; cmakeFlags = [ "-DURANIUM_DIR=${python3.pkgs.uranium.src}" "-DCURA_VERSION=${version}" + + # see https://github.com/Ultimaker/Cura/issues/5142 + "-DCURA_SDK_VERSION=6.0.0" + + # remove after 4.0.0, see https://github.com/void-linux/void-packages/pull/9880#issuecomment-475453025 + "-DCURA_CLOUD_API_VERSION=1" ]; postPatch = '' @@ -44,7 +52,7 @@ mkDerivation rec { meta = with lib; { description = "3D printer / slicing GUI built on top of the Uranium framework"; homepage = https://github.com/Ultimaker/Cura; - license = licenses.agpl3; + license = licenses.lgpl3Plus; platforms = platforms.linux; maintainers = with maintainers; [ abbradar ]; }; diff --git a/pkgs/applications/misc/cura/lulzbot.nix b/pkgs/applications/misc/cura/lulzbot.nix index 6a36e42eaa3d182f60ba384d2488109f8a144472..f3f1972f6e6ec49b17ad95ab08a5379069b2d826 100644 --- a/pkgs/applications/misc/cura/lulzbot.nix +++ b/pkgs/applications/misc/cura/lulzbot.nix @@ -8,17 +8,17 @@ stdenv.mkDerivation rec { version = "15.02.1-1.03-5064"; src = - if stdenv.system == "x86_64-linux" then + if stdenv.hostPlatform.system == "x86_64-linux" then fetchurl { url = "https://download.alephobjects.com/ao/aodeb/dists/jessie/main/binary-amd64/cura_${version}_amd64.deb"; sha256 = "1gsfidg3gim5pjbl82vkh0cw4ya253m4p7nirm8nr6yjrsirkzxg"; } - else if stdenv.system == "i686-linux" then + else if stdenv.hostPlatform.system == "i686-linux" then fetchurl { url = "http://download.alephobjects.com/ao/aodeb/dists/jessie/main/binary-i386/cura_${version}_i386.deb"; sha256 = "0xd3df6bxq4rijgvsqvps454jkc1nzhxbdzzj6j2w317ppsbhyc1"; } - else throw "${name} is not supported on ${stdenv.system}"; + else throw "${name} is not supported on ${stdenv.hostPlatform.system}"; python_deps = with py; [ pyopengl pyserial numpy wxPython30 power setuptools ]; pythonPath = python_deps; diff --git a/pkgs/applications/misc/curabydagoma/default.nix b/pkgs/applications/misc/curabydagoma/default.nix index 439b0fc2568488183711e33381cf01c2b86937fb..4e620425d5c34f9abccc02b9a925186a0d8d3ce6 100644 --- a/pkgs/applications/misc/curabydagoma/default.nix +++ b/pkgs/applications/misc/curabydagoma/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchurl, python, pythonPackages, unzip }: +{ stdenv, runtimeShell, lib, fetchurl, python, pythonPackages, unzip }: # This package uses a precompiled "binary" distribution of CuraByDagoma, # distributed by the editor. @@ -44,7 +44,7 @@ stdenv.mkDerivation rec { mkdir $out/bin cat > $out/bin/curabydago </dev/null + $out/bin/electron-cash help >/dev/null ''; - meta = with stdenv.lib; { - description = "A lightweight Bitcoin wallet"; + meta = with lib; { + description = "A Bitcoin Cash SPV Wallet"; longDescription = '' - An easy-to-use Bitcoin client featuring wallets generated from + An easy-to-use Bitcoin Cash 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://www.electroncash.org/; platforms = platforms.linux; - maintainers = with maintainers; [ lassulus ]; + maintainers = with maintainers; [ lassulus nyanloutre ]; license = licenses.mit; }; } diff --git a/pkgs/applications/misc/electrum/dash.nix b/pkgs/applications/misc/electrum/dash.nix index c98efa547b393c1750156e9adf0156d90acd9db2..98ed10b0c7ccf8fe9d3756153f09eaf9189f5ffb 100644 --- a/pkgs/applications/misc/electrum/dash.nix +++ b/pkgs/applications/misc/electrum/dash.nix @@ -22,7 +22,7 @@ python2Packages.buildPythonApplication rec { qrcode requests pyaes - tlslite + tlslite-ng x11_hash mnemonic jsonrpclib diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix index ed2f0626e5d27e3926dae2e82bea162ba942a091..5f252d97d86789db93b318d3b4ee257042996f62 100644 --- a/pkgs/applications/misc/electrum/default.nix +++ b/pkgs/applications/misc/electrum/default.nix @@ -1,15 +1,32 @@ -{ stdenv, fetchurl, python3, python3Packages, zbar }: +{ stdenv, fetchFromGitHub, python3, python3Packages, zbar, secp256k1 }: + +let + qdarkstyle = python3Packages.buildPythonPackage rec { + pname = "QDarkStyle"; + version = "2.5.4"; + src = python3Packages.fetchPypi { + inherit pname version; + sha256 = "1w715m1i5pycfqcpkrggpn0rs9cakx6cm5v8rggcxnf4p0i0kdiy"; + }; + doCheck = false; # no tests + }; +in python3Packages.buildPythonApplication rec { - name = "electrum-${version}"; - version = "3.1.3"; + pname = "electrum"; + version = "3.3.4"; - src = fetchurl { - url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz"; - sha256 = "05m28yd3zr9awjhaqikf4rg08j5i4ygm750ip1z27wl446sysniy"; + src = fetchFromGitHub { + owner = "spesmilo"; + repo = "electrum"; + rev = version; + sha256 = "0yxdpc602jnd14xz3px85ka0b6db98zwbgfi9a3vj8p1k3mmiwaj"; }; propagatedBuildInputs = with python3Packages; [ + aiorpcx + aiohttp + aiohttp-socks dnspython ecdsa jsonrpclib-pelix @@ -17,28 +34,27 @@ python3Packages.buildPythonApplication rec { pbkdf2 protobuf pyaes - pycrypto + pycryptodomex pyqt5 pysocks + qdarkstyle qrcode requests - tlslite + tlslite-ng # plugins keepkey trezor + btchip # TODO plugins # amodem - # btchip ]; preBuild = '' sed -i 's,usr_share = .*,usr_share = "'$out'/share",g' setup.py - pyrcc5 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 - sed -i "s|name = 'libzbar.*'|name='${zbar}/lib/libzbar.so'|" lib/qrscanner.py + sed -i "s|name = 'libzbar.*'|name='${zbar}/lib/libzbar.so'|" electrum/qrscanner.py + substituteInPlace ./electrum/ecc_fast.py --replace libsecp256k1.so.0 ${secp256k1}/lib/libsecp256k1.so.0 ''; postInstall = '' @@ -51,10 +67,10 @@ python3Packages.buildPythonApplication rec { --replace "Exec=electrum %u" "Exec=$out/bin/electrum %u" ''; - doCheck = false; + checkInputs = with python3Packages; [ pytest ]; - doInstallCheck = true; - installCheckPhase = '' + checkPhase = '' + py.test electrum/tests $out/bin/electrum help >/dev/null ''; diff --git a/pkgs/applications/misc/electrum/ltc.nix b/pkgs/applications/misc/electrum/ltc.nix index 45c448804626d9697129221e60dbb48f5a69ec69..a5e4bd74a6eb8d674414e6be5294eef204c525d5 100644 --- a/pkgs/applications/misc/electrum/ltc.nix +++ b/pkgs/applications/misc/electrum/ltc.nix @@ -4,7 +4,7 @@ }: python3Packages.buildPythonApplication rec { - name = "electrum-ltc-${version}"; + pname = "electrum-ltc"; version = "3.1.3.1"; src = fetchurl { @@ -12,6 +12,8 @@ python3Packages.buildPythonApplication rec { sha256 = "0kxcx1xf6h9z8x0k483d6ykpnmfr30n6z3r6lgqxvbl42pq75li7"; }; + nativeBuildInputs = with python3Packages; [ pyqt5 ]; + propagatedBuildInputs = with python3Packages; [ pyaes ecdsa diff --git a/pkgs/applications/misc/ephemeralpg/default.nix b/pkgs/applications/misc/ephemeralpg/default.nix deleted file mode 100644 index 0ade32d998991fb27fabf7a417917bbe8988cff3..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/ephemeralpg/default.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ stdenv, fetchurl, postgresql, makeWrapper }: -stdenv.mkDerivation rec { - name = "ephemeralpg-${version}"; - version = "2.5"; - src = fetchurl { - url = "http://ephemeralpg.org/code/${name}.tar.gz"; - sha256 = "004fcll7248h73adkqawn9bhkqj9wsxyi3w99x64f7s37r2518wk"; - }; - buildInputs = [ makeWrapper ]; - installPhase = '' - mkdir -p $out - PREFIX=$out make install - wrapProgram $out/bin/pg_tmp --prefix PATH : ${postgresql}/bin - ''; - meta = { - description = ''Run tests on an isolated, temporary PostgreSQL database.''; - license = stdenv.lib.licenses.isc; - homepage = http://ephemeralpg.org/; - }; -} diff --git a/pkgs/applications/misc/evilvte/default.nix b/pkgs/applications/misc/evilvte/default.nix index b72fcde4a9ee0fac958d819821cb0c475e0f9572..c7fcf18e4e3dac0f14bc63a85b4cb0f9cad07d1f 100644 --- a/pkgs/applications/misc/evilvte/default.nix +++ b/pkgs/applications/misc/evilvte/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchgit, makeWrapper, pkgconfig, gnome2, glib, pango, cairo, gdk_pixbuf, atk, freetype, xorg, - configH + configH ? "" }: stdenv.mkDerivation rec { @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { buildInputs = [ gnome2.vte glib pango gnome2.gtk cairo gdk_pixbuf atk freetype xorg.libX11 - xorg.xproto xorg.kbproto xorg.libXext xorg.xextproto makeWrapper pkgconfig + xorg.xorgproto xorg.libXext makeWrapper pkgconfig ]; buildPhase = '' diff --git a/pkgs/applications/misc/evopedia/default.nix b/pkgs/applications/misc/evopedia/default.nix deleted file mode 100644 index 69767c11d6aab7934bfb06885b05f63019e218fd..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/evopedia/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ stdenv, fetchFromGitHub, bzip2, qt4, qmake4Hook, libX11 }: - -stdenv.mkDerivation rec { - name = "evopedia-${version}"; - version = "0.4.4"; - - src = fetchFromGitHub { - owner = "evopedia"; - repo = "evopedia_qt"; - rev = "v${version}"; - sha256 = "0snp5qiywj306kfaywvkl7j34fivgxcb8dids1lzmbqq5xcpqqvc"; - }; - - buildInputs = [ bzip2 qt4 libX11 ]; - nativeBuildInputs = [ qmake4Hook ]; - - postInstall = '' - # Patch the `evopedia.desktop' file. - substituteInPlace $out/share/applications/evopedia.desktop \ - --replace '/usr/bin/evopedia' $out/bin/evopedia - ''; - - meta = with stdenv.lib; { - description = "Offline Wikipedia Viewer"; - homepage = http://www.evopedia.info; - license = licenses.gpl3Plus; - maintainers = [ maintainers.qknight ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/applications/misc/exercism/default.nix b/pkgs/applications/misc/exercism/default.nix index 4c5e9e5230a67f8936513b474b128d58623e1767..21fed2e28def91521481210ec5bcd2b88bed00f6 100644 --- a/pkgs/applications/misc/exercism/default.nix +++ b/pkgs/applications/misc/exercism/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { name = "exercism-${version}"; - version = "3.0.6"; + version = "3.0.11"; goPackagePath = "github.com/exercism/cli"; @@ -10,7 +10,7 @@ buildGoPackage rec { owner = "exercism"; repo = "cli"; rev = "v${version}"; - sha256 = "0xr5bqzm0md1vllnr384k92k7w1nxzw9lhqgm23zkxx5a4vqzy56"; + sha256 = "1wg23bvibsk6j4iqwyw35wl9plfwdqxiql81zci7r1x4d5cp26av"; }; goDeps = ./deps.nix; diff --git a/pkgs/applications/misc/exercism/deps.nix b/pkgs/applications/misc/exercism/deps.nix index ad93aa4e4373444bbe8d5d43ae2f4ecd6a188814..10a6baa2241bf1cb468f7bc6b5389e6773989a7c 100644 --- a/pkgs/applications/misc/exercism/deps.nix +++ b/pkgs/applications/misc/exercism/deps.nix @@ -5,8 +5,8 @@ fetch = { type = "git"; url = "https://github.com/blang/semver"; - rev = "3c1074078d32d767e08ab2c8564867292da86926"; - sha256 = "1vqkjrag8nn5hvjz34cf9zsrgwd13ss63y6sp7y5jq39j7bcprdx"; + rev = "2ee87856327ba09384cabd113bc6b5d174e9ec0f"; + sha256 = "13ws259bwcibkclbr82ilhk6zadm63kxklxhk12wayklj8ghhsmy"; }; } { @@ -14,8 +14,8 @@ fetch = { type = "git"; url = "https://github.com/davecgh/go-spew"; - rev = "8991bc29aa16c548c550c7ff78260e27b9ab7c73"; - sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y"; + rev = "346938d642f2ec3594ed81d874461961cd0faa76"; + sha256 = "0d4jfmak5p6lb7n2r6yvf5p1zcw0l8j74kn55ghvr7zr7b7axm6c"; }; } { @@ -23,8 +23,8 @@ fetch = { type = "git"; url = "https://github.com/fsnotify/fsnotify"; - rev = "c2828203cd70a50dcccfb2761f8b1f8ceef9a8e9"; - sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g"; + rev = "629574ca2a5df945712d3079857300b5e4da0236"; + sha256 = "06wfg1mmzjj04z7d0q1x2fai9k6hm957brngsaf02fa9a3qqanv3"; }; } { @@ -32,8 +32,8 @@ fetch = { type = "git"; url = "https://github.com/hashicorp/hcl"; - rev = "ef8a98b0bbce4a65b5aa4c368430a80ddc533168"; - sha256 = "1qalfsc31fra7hcw2lc3s20aj7al62fq3j5fn5kga3mg99b82nyr"; + rev = "392dba7d905ed5d04a5794ba89f558b27e2ba1ca"; + sha256 = "1rfm67kma2hpakabf7hxlj196jags4rpjpcirwg4kan4g9b6j0kb"; }; } { @@ -59,8 +59,8 @@ fetch = { type = "git"; url = "https://github.com/magiconair/properties"; - rev = "c2353362d570a7bfa228149c62842019201cfb71"; - sha256 = "1a10362wv8a8qwb818wygn2z48lgzch940hvpv81hv8gc747ajxn"; + rev = "be5ece7dd465ab0765a9682137865547526d1dfb"; + sha256 = "0spk58x9b0hj29cw6wy6rlvc6s9xk4r0gmlxgsc194pkzqcg1my8"; }; } { @@ -68,8 +68,8 @@ fetch = { type = "git"; url = "https://github.com/mitchellh/mapstructure"; - rev = "f15292f7a699fcc1a38a80977f80a046874ba8ac"; - sha256 = "0zm3nhdvmj3f8q0vg2sjfw1sm3pwsw0ggz501awz95w99664a8al"; + rev = "d0303fe809921458f417bcf828397a65db30a7e4"; + sha256 = "1fjwi5ghc1ibyx93apz31n4hj6gcq1hzismpdfbg2qxwshyg0ya8"; }; } { @@ -77,8 +77,8 @@ fetch = { type = "git"; url = "https://github.com/pelletier/go-buffruneio"; - rev = "e2f66f8164ca709d4c21e815860afd2024e9b894"; - sha256 = "16h7fybbai45p5gn2la6z37a8h1ws6r3pg3nwqiw6gbbgjqicrbv"; + rev = "c37440a7cf42ac63b919c752ca73a85067e05992"; + sha256 = "0l83p1gg6g5mmhmxjisrhfimhbm71lwn1r2w7d6siwwqm9q08sd2"; }; } { @@ -86,8 +86,8 @@ fetch = { type = "git"; url = "https://github.com/pelletier/go-toml"; - rev = "c2dbbc24a97911339e01bda0b8cabdbd8f13b602"; - sha256 = "0v1dsqnk5zmn6ir8jgxijx14s47jvijlqfz3aq435snfrgybd5rz"; + rev = "5ccdfb18c776b740aecaf085c4d9a2779199c279"; + sha256 = "1jl44j58y62rhnwkzw3mvcj725gdyzs45pq4ga81qqxwqxs3czsq"; }; } { @@ -104,8 +104,8 @@ fetch = { type = "git"; url = "https://github.com/spf13/afero"; - rev = "787d034dfe70e44075ccc060d346146ef53270ad"; - sha256 = "0138rjiacl71h7kvhzinviwvy6qa2m6rflpv9lgqv15hnjvhwvg1"; + rev = "9be650865eab0c12963d8753212f4f9c66cdcf12"; + sha256 = "12dhh6d07304lsjv7c4p95hkip0hnshqhwivdw39pbypgg0p8y34"; }; } { @@ -113,8 +113,8 @@ fetch = { type = "git"; url = "https://github.com/spf13/cast"; - rev = "8965335b8c7107321228e3e3702cab9832751bac"; - sha256 = "177bk7lq40jbgv9p9r80aydpaccfk8ja3a7jjhfwiwk9r1pa4rr2"; + rev = "acbeb36b902d72a7a4c18e8f3241075e7ab763e4"; + sha256 = "0w25s6gjbbwv47b9208hysyqqphd6pib3d2phg24mjy4wigkm050"; }; } { @@ -122,8 +122,8 @@ fetch = { type = "git"; url = "https://github.com/spf13/cobra"; - rev = "7c4570c3ebeb8129a1f7456d0908a8b676b6f9f1"; - sha256 = "16amh0prlzqrrbg5j629sg0f688nfzfgn9sair8jyybqampr3wc7"; + rev = "b26b538f693051ac6518e65672de3144ce3fbedc"; + sha256 = "0pm3qlw35xygz9zz7hizlmin76wrfac8vsxvsd9i0zpnijbkmjv6"; }; } { @@ -131,8 +131,8 @@ fetch = { type = "git"; url = "https://github.com/spf13/jwalterweatherman"; - rev = "7c0cea34c8ece3fbeb2b27ab9b59511d360fb394"; - sha256 = "132p84i20b9s5r6fs597lsa6648vd415ch7c0d018vm8smzqpd0h"; + rev = "0efa5202c04663c757d84f90f5219c1250baf94f"; + sha256 = "1sfd72zvw9lrzfc8haswhqf93bzm20q4yhbynm6n5fnnc56zn4gs"; }; } { @@ -140,8 +140,8 @@ fetch = { type = "git"; url = "https://github.com/spf13/pflag"; - rev = "3ebe029320b2676d667ae88da602a5f854788a8a"; - sha256 = "11yxs0wqy70wj106fkz8r923yg4ncnc2mbw33v48zmlg4a1rasgp"; + rev = "e57e3eeb33f795204c1ca35f56c44f83227c6e66"; + sha256 = "13mhx4i913jil32j295m3a36jzvq1y64xig0naadiz7q9ja011r2"; }; } { @@ -149,8 +149,8 @@ fetch = { type = "git"; url = "https://github.com/spf13/viper"; - rev = "d493c32b69b8c6f2377bf30bc4d70267ffbc0793"; - sha256 = "1jq46790rkjn6c1887wz98dqjk792ij6wnrifzk1maglmfb061hh"; + rev = "15738813a09db5c8e5b60a19d67d3f9bd38da3a4"; + sha256 = "1mjfzg8zvnxckaq6l8gw99i2msrfqn9yr04dc3b7kd5bpxi6zr4v"; }; } { @@ -158,8 +158,8 @@ fetch = { type = "git"; url = "https://github.com/stretchr/testify"; - rev = "f35b8ab0b5a2cef36673838d662e249dd9c94686"; - sha256 = "0dlszlshlxbmmfxj5hlwgv3r22x0y1af45gn1vd198nvvs3pnvfs"; + rev = "69483b4bd14f5845b5a1e55bca19e954e827f1d0"; + sha256 = "11lzrwkdzdd8yyag92akncc008h2f9d1bpc489mxiwp0jrmz4ivb"; }; } { @@ -167,8 +167,8 @@ fetch = { type = "git"; url = "https://go.googlesource.com/net"; - rev = "3673e40ba22529d22c3fd7c93e97b0ce50fa7bdd"; - sha256 = "0vx7mz18p480p7fh0w5jv6mfdbsswrlac1sz4i705q7q7ygz59lm"; + rev = "f5079bd7f6f74e23c4d65efa0f4ce14cbd6a3c0f"; + sha256 = "0sck2mq4bwyh5iv51jpbywzwhc47ci1q5yd7pqr68xnsz7b3b55k"; }; } { @@ -176,8 +176,8 @@ fetch = { type = "git"; url = "https://go.googlesource.com/sys"; - rev = "bd9dbc187b6e1dacfdd2722a87e83093c2d7bd6e"; - sha256 = "0zj8s3q2fznmap1nfr8pv4hz8xqixmkyhr6slq4baf8rvcb4mvbj"; + rev = "d8f5ea21b9295e315e612b4bcf4bedea93454d4d"; + sha256 = "1gy2y20glqqqcmmrcx2wrvk4h74h8im1nxvzi91i1mxjk7p185mv"; }; } { @@ -185,8 +185,8 @@ fetch = { type = "git"; url = "https://go.googlesource.com/text"; - rev = "0605a8320aceb4207a5fb3521281e17ec2075476"; - sha256 = "1pak7q9ivwxh5bnjk00pkrs9ri9vmbyccvza56fl6138w397h49j"; + rev = "3bd178b88a8180be2df394a1fbb81313916f0e7b"; + sha256 = "137pp3gz8ll08q0q434dn6472bbkv81h72qqqm9idhf7cc6f51w9"; }; } { @@ -194,8 +194,8 @@ fetch = { type = "git"; url = "https://github.com/go-yaml/yaml"; - rev = "5420a8b6744d3b0345ab293f6fcba19c978f1183"; - sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1"; + rev = "25c4ec802a7d637f88d584ab26798e94ad14c13b"; + sha256 = "053mknsl3xhjscmd552005xnwbfcg0z2iphvbvj3wi0w3pvmlw44"; }; } ] \ No newline at end of file diff --git a/pkgs/applications/misc/extract_url/default.nix b/pkgs/applications/misc/extract_url/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..2b7888c9cd049cf31e435fe6ac41b84ccd0ecc81 --- /dev/null +++ b/pkgs/applications/misc/extract_url/default.nix @@ -0,0 +1,41 @@ +{ stdenv, lib, fetchFromGitHub, makeWrapper, perlPackages +, cursesSupport ? true +, uriFindSupport ? true +}: + +let + perlDeps = + [ perlPackages.MIMEtools perlPackages.HTMLParser ] + ++ lib.optional cursesSupport perlPackages.CursesUI + ++ lib.optional uriFindSupport perlPackages.URIFind; + +in stdenv.mkDerivation rec { + name = "extract_url-${version}"; + version = "1.6.2"; + + src = fetchFromGitHub { + owner = "m3m0ryh0l3"; + repo = "extracturl"; + rev = "v${version}"; + sha256 = "05589lp15jmcpbj4y9a3hmf6n2gsqrm4ybcyh3hd4j6pc7hmnhny"; + }; + + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ perlPackages.perl ] ++ perlDeps; + + makeFlags = [ "prefix=$(out)" ]; + installFlags = [ "INSTALL=install" ]; + + postFixup = '' + wrapProgram "$out/bin/extract_url" \ + --set PERL5LIB "${perlPackages.makeFullPerlPath perlDeps}" + ''; + + meta = with lib; { + homepage = https://www.memoryhole.net/~kyle/extract_url/; + description = "Extracts URLs from MIME messages or plain text"; + license = licenses.bsd2; + maintainers = [ maintainers.qyliss ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/misc/far2l/default.nix b/pkgs/applications/misc/far2l/default.nix index 3cdd4fb0bfe9553638c2c841a8d9fddb18576d99..51e9c4371b5b51c01acb39394bd772338b813e37 100644 --- a/pkgs/applications/misc/far2l/default.nix +++ b/pkgs/applications/misc/far2l/default.nix @@ -67,6 +67,8 @@ stdenv.mkDerivation rec { mkdir -p $out/share/icons/hicolor/$size/apps convert -size $size ../far2l/DE/icons/hicolor/$size/apps/far2l.svg $out/share/icons/hicolor/$size/apps/far2l.png done + '' + stdenv.lib.optionalString stdenv.isDarwin '' + wrapProgram $out/bin/far2l --argv0 $out/bin/far2l ''; stripDebugList = "bin share"; diff --git a/pkgs/applications/misc/fbreader/default.nix b/pkgs/applications/misc/fbreader/default.nix index 6fa34a008e770f9f118fc98f632ca04a25fa47b9..e7d0e6a63a5907baede82ab4ba894e8c891a4198 100644 --- a/pkgs/applications/misc/fbreader/default.nix +++ b/pkgs/applications/misc/fbreader/default.nix @@ -1,38 +1,75 @@ -{ stdenv, fetchurl, pkgconfig, bzip2, curl, expat, fribidi -, libunibreak, qt4, sqlite, zlib }: +{ stdenv, fetchFromGitHub, fetchpatch, pkgconfig +, bzip2, curl, expat, fribidi, libunibreak, sqlite, zlib +, uiTarget ? if !stdenv.isDarwin then "desktop" else "macosx" +, uiType ? if !stdenv.isDarwin then "qt4" else "cocoa" +, qt4, gtk2 +, AppKit, Cocoa +}: + +with stdenv.lib; + +assert elem uiTarget [ "desktop" "macosx" ]; +assert elem uiType [ "qt4" "gtk" "cocoa" ]; +assert uiTarget == "macosx" -> uiType == "cocoa"; + +# Note: "qt" uiType option mentioned in ${src}/README.build is qt3, +# which is way to old and no longer in nixpkgs. stdenv.mkDerivation { - name = "fbreader-0.99.4"; + name = "fbreader-${uiType}-0.99.6"; - src = fetchurl { - url = https://fbreader.org/files/desktop/fbreader-sources-0.99.4.tgz; - sha256 = "1sdq3vvwkq4bkyrvh0p884d66gaddz8hlab3m798ji9ixbak2z1x"; + src = fetchFromGitHub { + owner = "geometer"; + repo = "FBReader"; + rev = "9e608db14372ae580beae4976eec7241fa069e75"; + sha256 = "0lzafk02mv0cf2l2a61q5y4743zi913byik4bw1ix0gr1drnsa7y"; }; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ - bzip2 curl expat fribidi libunibreak - qt4 sqlite zlib + patches = [ + ./typecheck.patch + (fetchpatch { + name = "curl-7_62.diff"; # see https://github.com/geometer/FBReader/pull/311 + url = "https://github.com/geometer/FBReader/commit/b7c78e965d06f780.diff"; + sha256 = "1dgnx9wps7hcf8fkidc7037vcf92fr3ccnjx7bgxm9x02j0hngjg"; + }) ]; - makeFlags = "INSTALLDIR=$(out)"; - - NIX_CFLAGS_COMPILE = [ "-Wno-error=narrowing" ]; # since gcc-6 + postPatch = '' + cat << EOF > makefiles/target.mk + TARGET_ARCH = ${uiTarget} + TARGET_STATUS = release + UI_TYPE = ${uiType} + EOF - patchPhase = '' - # don't try to use ccache substituteInPlace makefiles/arch/desktop.mk \ - --replace "CCACHE = " "# CCACHE = " + --replace ccache "" \ + --replace moc-qt4 moc - substituteInPlace fbreader/desktop/Makefile \ - --replace "/usr/share" "$out/share" + # libunibreak supersedes liblinebreak + substituteInPlace zlibrary/text/Makefile \ + --replace -llinebreak -lunibreak ''; + nativeBuildInputs = [ pkgconfig ]; + + buildInputs = [ + bzip2 curl expat fribidi libunibreak sqlite zlib + ] + ++ optional (uiType == "qt4") qt4 + ++ optional (uiType == "gtk") gtk2 + ++ optionals (uiType == "cocoa") [ AppKit Cocoa ]; + + makeFlags = "INSTALLDIR=$(out)"; + + NIX_CFLAGS_COMPILE = [ "-Wno-error=narrowing" ]; # since gcc-6 + meta = with stdenv.lib; { description = "An e-book reader for Linux"; homepage = http://www.fbreader.org/; license = licenses.gpl3; - platforms = platforms.linux; # possibly also on unix general + broken = stdenv.isDarwin # untested, might work + || uiType == "gtk"; # builds, but the result is unusable, hangs a lot + platforms = platforms.unix; maintainers = [ maintainers.coroa ]; - }; + }; } diff --git a/pkgs/applications/misc/fbreader/typecheck.patch b/pkgs/applications/misc/fbreader/typecheck.patch new file mode 100644 index 0000000000000000000000000000000000000000..cbac290e69c25b5a80a365a4c463eb2520210ed2 --- /dev/null +++ b/pkgs/applications/misc/fbreader/typecheck.patch @@ -0,0 +1,11 @@ +diff --git a/fbreader/src/database/booksdb/BooksDB.cpp b/fbreader/src/database/booksdb/BooksDB.cpp +index e33a22e76..1b6092800 100644 +--- a/fbreader/src/database/booksdb/BooksDB.cpp ++++ b/fbreader/src/database/booksdb/BooksDB.cpp +@@ -146,5 +146,5 @@ shared_ptr BooksDB::loadBook(const std::string &fileName) { + myFindFileId->setFileName(fileName); + if (!myFindFileId->run()) { +- return false; ++ return 0; + } + ((DBIntValue&)*myLoadBook->parameter("@file_id").value()) = myFindFileId->fileId(); diff --git a/pkgs/applications/misc/fff/default.nix b/pkgs/applications/misc/fff/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..e87c86f1b4b31206569255a992a9dcd135b3b716 --- /dev/null +++ b/pkgs/applications/misc/fff/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchFromGitHub, makeWrapper, bashInteractive, xdg_utils, file, coreutils, w3m, xdotool }: + +stdenv.mkDerivation rec { + pname = "fff"; + version = "2.1"; + + src = fetchFromGitHub { + owner = "dylanaraps"; + repo = pname; + rev = version; + sha256 = "0s5gi5ghwax5gc886pvbpcmsbmzhxzywajwzjsdxwjyd1v1iynwh"; + }; + + pathAdd = stdenv.lib.makeSearchPath "bin" ([ xdg_utils file coreutils w3m xdotool ]); + + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ bashInteractive ]; + dontBuild = true; + + makeFlags = [ "PREFIX=$(out)" ]; + + postInstall = '' + wrapProgram "$out/bin/fff" --prefix PATH : $pathAdd + ''; + + meta = with stdenv.lib; { + description = "Fucking Fast File-Manager"; + homepage = https://github.com/dylanaraps/fff; + license = licenses.mit; + maintainers = [ maintainers.tadeokondrak ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/applications/misc/filet/default.nix b/pkgs/applications/misc/filet/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..edee9ab33e9e1787732433d618c5a68c1a573de6 --- /dev/null +++ b/pkgs/applications/misc/filet/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "filet"; + version = "0.1.3"; + + src = fetchFromGitHub { + owner = "buffet"; + repo = "filet"; + rev = version; + sha256 = "0hm7589ih30axafqxhhs4fg1pvfhlqzyzzmfi2ilx8haq5111fsf"; + }; + + makeFlags = [ "PREFIX=$(out)" ]; + + meta = with stdenv.lib; { + description = "A fucking fucking fast file fucker (afffff)"; + homepage = https://github.com/buffet/filet; + license = licenses.mpl20; + platforms = platforms.all; + maintainers = with maintainers; [ buffet ]; + }; +} diff --git a/pkgs/applications/misc/finalterm/default.nix b/pkgs/applications/misc/finalterm/default.nix deleted file mode 100644 index 2c024b9fe0edb527dd3065c1cedfdcd00635c4c0..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/finalterm/default.nix +++ /dev/null @@ -1,65 +0,0 @@ -{ stdenv, fetchFromGitHub, makeWrapper -, pkgconfig, cmake, libxml2, vala_0_26, intltool, libmx, gnome3, gtk3, gtk-doc -, keybinder3, clutter-gtk, libnotify -, libxkbcommon, xorg, udev -, bashInteractive -}: - -with stdenv.lib; - -stdenv.mkDerivation { - name = "finalterm-git-2014-11-15"; - - src = fetchFromGitHub { - owner = "p-e-w"; - repo = "finalterm"; - rev = "39b078b2a96a5c3c9e74f92b1929f383d220ca8b"; - sha256 = "14viln5nabr39lafg1lzf6ydibz1h5d9346drp435ljxc6wsh21i"; - }; - - nativeBuildInputs = [ pkgconfig cmake intltool makeWrapper ]; - buildInputs = [ - vala_0_26 gtk3 gnome3.gnome-common gnome3.libgee - gtk-doc clutter-gtk libmx keybinder3 libxml2 libnotify - xorg.libpthreadstubs xorg.libXdmcp xorg.libxshmfence - libxkbcommon - ] ++ optionals stdenv.isLinux [ udev ]; - - preConfigure = '' - substituteInPlace data/org.gnome.finalterm.gschema.xml \ - --replace "/bin/bash" "${bashInteractive}/bin/bash" - - cmakeFlagsArray=( - -DMINIMAL_FLAGS=ON - ) - ''; - - postInstall = '' - mkdir -p $out/share/gsettings-schemas/$name - mv $out/share/glib-2.0 $out/share/gsettings-schemas/$name/ - ''; - - postFixup = '' - wrapProgram "$out/bin/finalterm" \ - --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ - --prefix GIO_EXTRA_MODULES : "${getLib gnome3.dconf}/lib/gio/modules" \ - --prefix XDG_DATA_DIRS : "${gnome3.defaultIconTheme}/share:${gnome3.gtk.out}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" - ''; - - meta = { - homepage = http://finalterm.org; - description = "A new breed of terminal emulator"; - longDescription = '' - Final Term is a new breed of terminal emulator. - - It goes beyond mere emulation and understands what is happening inside the shell it is hosting. This allows it to offer features no other terminal can, including: - - - Semantic text menus - - Smart command completion - - GUI terminal controls - ''; - license = licenses.gpl3Plus; - maintainers = [ maintainers.cstrahan ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/applications/misc/font-manager/default.nix b/pkgs/applications/misc/font-manager/default.nix index 1fad5333a144bd6b75d873d4014d08bc5c82e94f..f00d6cfc60da0c5d50bcc6dcbf288da90894a00c 100644 --- a/pkgs/applications/misc/font-manager/default.nix +++ b/pkgs/applications/misc/font-manager/default.nix @@ -1,54 +1,53 @@ -{ stdenv, fetchFromGitHub, automake, autoconf, libtool, - pkgconfig, file, intltool, libxml2, json-glib , sqlite, itstool, - librsvg, vala_0_34, gnome3, wrapGAppsHook, gobjectIntrospection +{ stdenv, fetchFromGitHub, meson, ninja, gettext, python3, fetchpatch, + pkgconfig, libxml2, json-glib , sqlite, itstool, librsvg, + vala, gtk3, gnome3, desktop-file-utils, wrapGAppsHook, gobject-introspection }: stdenv.mkDerivation rec { - name = "font-manager-${version}"; - version = "0.7.3"; + pname = "font-manager"; + version = "0.7.5"; src = fetchFromGitHub { - owner = "FontManager"; - repo = "master"; - rev = version; - sha256 = "0qwi1mn2sc2q5cs28rga8i3cn34ylybs949vjnh97dl2rvlc0x06"; - }; + owner = "FontManager"; + repo = "master"; + rev = version; + sha256 = "16hma8rrkam6ngn5vbdaryn31vdixvii6920g9z928gylz9xkd3g"; + }; nativeBuildInputs = [ pkgconfig - automake autoconf libtool - file - intltool - vala_0_34 + meson + ninja + gettext + python3 + itstool + desktop-file-utils + vala gnome3.yelp-tools wrapGAppsHook - # For setup hook - gobjectIntrospection + # For https://github.com/FontManager/master/blob/master/lib/unicode/meson.build + gobject-introspection ]; buildInputs = [ libxml2 json-glib sqlite - itstool librsvg - gnome3.gtk - gnome3.gucharmap - gnome3.libgee - gnome3.file-roller - gnome3.defaultIconTheme + gtk3 + gnome3.adwaita-icon-theme ]; - enableParallelBuilding = true; + mesonFlags = [ + "-Ddisable_pycompile=true" + ]; - preConfigure = '' - NOCONFIGURE=true ./autogen.sh - substituteInPlace configure --replace "/usr/bin/file" "${file}/bin/file" + postPatch = '' + chmod +x meson_post_install.py + patchShebangs meson_post_install.py ''; - configureFlags = [ "--disable-pycompile" ]; - - meta = { + meta = with stdenv.lib; { homepage = https://fontmanager.github.io/; description = "Simple font management for GTK+ desktop environments"; longDescription = '' @@ -60,9 +59,9 @@ stdenv.mkDerivation rec { Font Manager is NOT a professional-grade font management solution. ''; - license = stdenv.lib.licenses.gpl3; + license = licenses.gpl3; repositories.git = https://github.com/FontManager/master; - platforms = stdenv.lib.platforms.unix; - maintainers = [ stdenv.lib.maintainers.romildo ]; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; }; } diff --git a/pkgs/applications/misc/freemind/default.nix b/pkgs/applications/misc/freemind/default.nix index eeb269e580c3ea2bdc02c15d9f635c079ae35a39..5152c8aa3f7c018b3dbe75e92c6c60fdcfefbb7e 100644 --- a/pkgs/applications/misc/freemind/default.nix +++ b/pkgs/applications/misc/freemind/default.nix @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { sed -i 's/which/type -p/' $out/nix-support/dist/freemind.sh cat >$out/bin/freemind < is either gtk, qt5, qt4 + cmakeFlags = [ "-DINTERFACE_TYPE=${variant}" ]; + + meta = with stdenv.lib; { + description = "A simple Gtk/Qt front-end to tesseract-ocr"; + homepage = https://github.com/manisandro/gImageReader; + license = licenses.gpl3Plus; + maintainers = with maintainers; [teto]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/misc/gammu/default.nix b/pkgs/applications/misc/gammu/default.nix index f05514f3fc58a7cc8457184d4f4000ccfe570454..739df59b31c5674519d654eceabafcbe94e601ce 100644 --- a/pkgs/applications/misc/gammu/default.nix +++ b/pkgs/applications/misc/gammu/default.nix @@ -8,13 +8,13 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "gammu-${version}"; - version = "1.39.0"; + version = "1.40.0"; src = fetchFromGitHub { owner = "gammu"; repo = "gammu"; rev = version; - sha256 = "1hr053z2l5mjgip83fsxnd1rqsp5gwywzagzrgdg243apn1nz0gs"; + sha256 = "1jjaa9r3x6i8gv3yn1ngg815s6gsxblsw4wb5ddm77kamn2qyvpf"; }; patches = [ ./bashcomp-dir.patch ./systemd.patch ]; diff --git a/pkgs/applications/misc/ganttproject-bin/default.nix b/pkgs/applications/misc/ganttproject-bin/default.nix index 2257b2a98fb78296c84e6d3a63005524901582ae..6bc18ba37904bf4c50dc8d5296de4d1c112de84a 100644 --- a/pkgs/applications/misc/ganttproject-bin/default.nix +++ b/pkgs/applications/misc/ganttproject-bin/default.nix @@ -1,12 +1,13 @@ -{ stdenv, fetchzip, makeDesktopItem, makeWrapper -, jre }: +{ stdenv, lib, fetchzip, makeDesktopItem, makeWrapper +, jre +}: stdenv.mkDerivation rec { name = "ganttproject-bin-${version}"; - version = "2.7.2"; + version = "2.8.10"; - src = let build = "r1954"; in fetchzip { - sha256 = "0l655w6n88j7klz56af8xkpiv1pwlkfl5x1d33sqv9dnyisyw2hc"; + src = let build = "r2364"; in fetchzip { + sha256 = "0cclgyqv4f9pjsdlh93cqvgbzrp8ajvrpc2xszs03sknqz2kdh7r"; url = "https://dl.ganttproject.biz/ganttproject-${version}/" + "ganttproject-${version}-${build}.zip"; }; @@ -28,18 +29,21 @@ stdenv.mkDerivation rec { categories = "Office;Application;"; }; + javaOptions = [ + "-Dawt.useSystemAAFontSettings=on" + ]; + in '' mkdir -pv "$out/share/ganttproject" cp -rv * "$out/share/ganttproject" mkdir -pv "$out/bin" wrapProgram "$out/share/ganttproject/ganttproject" \ - --set JAVA_HOME "${jre}" + --set JAVA_HOME "${jre}" \ + --set _JAVA_OPTIONS "${builtins.toString javaOptions}" + mv -v "$out/share/ganttproject/ganttproject" "$out/bin" - install -v -Dm644 \ - plugins/net.sourceforge.ganttproject/data/resources/icons/ganttproject.png \ - "$out/share/pixmaps/ganttproject.png" cp -rv "${desktopItem}/share/applications" "$out/share" ''; @@ -51,5 +55,6 @@ stdenv.mkDerivation rec { # ‘GPL3-compatible’. See ${downloadPage} for detailed information. license = licenses.gpl3Plus; platforms = platforms.linux; + maintainers = [ maintainers.vidbina ]; }; } diff --git a/pkgs/applications/misc/gcalcli/default.nix b/pkgs/applications/misc/gcalcli/default.nix index 6a7a7ae604de9234cfb8bf02492d307d2ec1a61f..e72065fa283cdfaddbc5d3da873cc70c8fce310c 100644 --- a/pkgs/applications/misc/gcalcli/default.nix +++ b/pkgs/applications/misc/gcalcli/default.nix @@ -1,51 +1,27 @@ -{ stdenv, lib, fetchFromGitHub, python2 +{ stdenv, lib, fetchFromGitHub, python3 , libnotify ? null }: -let - py = python2.override { - packageOverrides = self: super: { - google_api_python_client = super.google_api_python_client.overridePythonAttrs (oldAttrs: rec { - version = "1.5.1"; - src = oldAttrs.src.override { - inherit version; - sha256 = "1ggxk094vqr4ia6yq7qcpa74b4x5cjd5mj74rq0xx9wp2jkrxmig"; - }; - }); +with python3.pkgs; - oauth2client = super.oauth2client.overridePythonAttrs (oldAttrs: rec { - version = "1.4.12"; - src = oldAttrs.src.override { - inherit version; - sha256 = "0phfk6s8bgpap5xihdk1xv2lakdk1pb3rg6hp2wsg94hxcxnrakl"; - }; - }); - - uritemplate = super.uritemplate.overridePythonAttrs (oldAttrs: rec { - version = "0.6"; - src = oldAttrs.src.override { - inherit version; - sha256 = "1zapwg406vkwsirnzc6mwq9fac4az8brm6d9bp5xpgkyxc5263m3"; - }; - # there are no checks in this version - doCheck = false; - }); - }; - }; - -in with py.pkgs; buildPythonApplication rec { - version = "3.4.0"; - name = "gcalcli-${version}"; +buildPythonApplication rec { + pname = "gcalcli"; + version = "4.0.4"; src = fetchFromGitHub { owner = "insanum"; - repo = "gcalcli"; + repo = pname; rev = "v${version}"; - sha256 = "171awccgnmfv4j7m2my9387sjy60g18kzgvscl6pzdid9fn9rrm8"; + sha256 = "0bl4cmc24iw12zn5mlj5qn141s2k2mzdixbcb92pfng4w2s4dq66"; }; + postPatch = lib.optionalString stdenv.isLinux '' + substituteInPlace gcalcli/argparsers.py --replace \ + "command = 'notify-send -u critical" \ + "command = '${libnotify}/bin/notify-send -u critical" + ''; + propagatedBuildInputs = [ dateutil gflags httplib2 parsedatetime six vobject - # overridden google_api_python_client oauth2client uritemplate ] ++ lib.optional (!isPy3k) futures; @@ -55,12 +31,12 @@ in with py.pkgs; buildPythonApplication rec { "command = '${libnotify}/bin/notify-send -i view-calendar-upcoming-events -u critical -a Calendar %s'" ''; - # There are no tests as of 3.4.0 + # There are no tests as of 4.0.0a4 doCheck = false; meta = with lib; { - homepage = https://github.com/insanum/gcalcli; description = "CLI for Google Calendar"; + homepage = https://github.com/insanum/gcalcli; license = licenses.mit; maintainers = with maintainers; [ nocoolnametom ]; inherit version; diff --git a/pkgs/applications/misc/get_iplayer/default.nix b/pkgs/applications/misc/get_iplayer/default.nix index d024b0fce99e03ec1071ad78c140bfb14af950cd..5e8bb629ce2a18855058daee88a05196ee0f3dbf 100644 --- a/pkgs/applications/misc/get_iplayer/default.nix +++ b/pkgs/applications/misc/get_iplayer/default.nix @@ -1,11 +1,11 @@ -{stdenv, fetchFromGitHub, atomicparsley, flvstreamer, ffmpeg, makeWrapper, perl, buildPerlPackage, perlPackages, rtmpdump}: +{stdenv, fetchFromGitHub, atomicparsley, flvstreamer, ffmpeg, makeWrapper, perl, perlPackages, rtmpdump}: with stdenv.lib; -buildPerlPackage rec { +perlPackages.buildPerlPackage rec { name = "get_iplayer-${version}"; version = "2.99"; - + src = fetchFromGitHub { owner = "get-iplayer"; repo = "get_iplayer"; @@ -34,5 +34,5 @@ buildPerlPackage rec { homepage = https://squarepenguin.co.uk/; platforms = platforms.all; }; - + } diff --git a/pkgs/applications/misc/girara/default.nix b/pkgs/applications/misc/girara/default.nix index dc70747784cf2f6e03898d80caae94887af2882a..919f20f13983fb9c0acd44f8eb78aae4b4a22519 100644 --- a/pkgs/applications/misc/girara/default.nix +++ b/pkgs/applications/misc/girara/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { name = "girara-${version}"; - version = "0.3.0"; + version = "0.3.2"; src = fetchurl { url = "https://pwmt.org/projects/girara/download/${name}.tar.xz"; - sha256 = "18j1gv8pi4cpndvnap88pcfacdz3lnw6pxmw7dvzm359y1gzllmp"; + sha256 = "1kc6n1mxjxa7wvwnqy94qfg8l9jvx9qrvrr2kc7m4g0z20x3a00p"; }; nativeBuildInputs = [ meson ninja pkgconfig gettext ]; diff --git a/pkgs/applications/misc/gksu/default.nix b/pkgs/applications/misc/gksu/default.nix index 712c2081f102c8904948d8a39fd62a0ebfc280ca..4af776674e6379f806ec733ff70c7e5d3a67c440 100644 --- a/pkgs/applications/misc/gksu/default.nix +++ b/pkgs/applications/misc/gksu/default.nix @@ -46,7 +46,7 @@ stdenv.mkDerivation rec { programs that need to ask a user's password to run another program as another user. ''; - homepage = http://www.nongnu.org/gksu/; + homepage = https://www.nongnu.org/gksu/; license = stdenv.lib.licenses.gpl2; maintainers = [ stdenv.lib.maintainers.romildo ]; platforms = stdenv.lib.platforms.linux; diff --git a/pkgs/applications/misc/glava/default.nix b/pkgs/applications/misc/glava/default.nix index e0535eeca3877a17b84566ea6dc5ba4952007429..3831780c79191bb9abf6a84d2f0ed7826e373a76 100644 --- a/pkgs/applications/misc/glava/default.nix +++ b/pkgs/applications/misc/glava/default.nix @@ -1,33 +1,12 @@ -{ stdenv, fetchurl, writeScript, fetchFromGitHub +{ stdenv, writeScript, fetchFromGitHub , libGL, libX11, libXext, python3, libXrandr, libXrender, libpulseaudio, libXcomposite -, enableGlfw ? false, glfw }: +, enableGlfw ? false, glfw, runtimeShell }: let inherit (stdenv.lib) optional makeLibraryPath; - version = "1.4.5"; - gladVersion = "0.1.24"; - # glad - # https://github.com/wacossusca34/glava/issues/46#issuecomment-397816520 - glad = fetchFromGitHub { - owner = "Dav1dde"; - repo = "glad"; - rev = "v${gladVersion}"; - sha256 = "0s2c9w064kqa5i07w8zmvgpg1pa3wj86l1nhgw7w56cjhq7cf8h8"; - }; - # gl.xml - gl = fetchurl { - url = https://raw.githubusercontent.com/KhronosGroup/OpenGL-Registry/a24f3f7a4c924fdbc666024f99c70e5b8e34c819/xml/gl.xml; - sha256 = "1mskxjmhb35m8qv255pibf633d8sn1w9rdsf0lj75bhlgy0zi5c7"; - }; - # EGL 1.5 - egl = fetchurl { - url = https://www.khronos.org/registry/EGL/api/KHR/khrplatform.h; - sha256 = "0p0vs4siiya05cvbqq7cw3ci2zvvlfh8kycgm9k9cwvmrkj08349"; - }; - wrapperScript = writeScript "glava" '' - #!${stdenv.shell} + #!${runtimeShell} case "$1" in --copy-config) # The binary would symlink it, which won't work in Nix because the @@ -43,12 +22,13 @@ let in stdenv.mkDerivation rec { name = "glava-${version}"; + version = "1.6.3"; src = fetchFromGitHub { owner = "wacossusca34"; repo = "glava"; rev = "v${version}"; - sha256 = "1zfw8samrzxxbny709rcdz1z77cw1cd46wlfnf7my02kipmqn0nr"; + sha256 = "0kqkjxmpqkmgby05lsf6c6iwm45n33jk5qy6gi3zvjx4q4yzal1i"; }; buildInputs = [ @@ -64,13 +44,11 @@ in python3 ]; - patchPhase = '' - cp -r --no-preserve=all ${glad}/* glad - mkdir -p glad/include/KHR + preConfigure = '' + substituteInPlace Makefile \ + --replace 'unknown' 'v${version}' - cp ${gl} glad/gl.xml - cp ${egl} glad/include/KHR/khrplatform.h - patchShebangs . + export CFLAGS="-march=native" ''; makeFlags = optional (!enableGlfw) "DISABLE_GLFW=1"; diff --git a/pkgs/applications/misc/glom/default.nix b/pkgs/applications/misc/glom/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..9e71837c0f5de72c3a5505de744283b93bbd5ab3 --- /dev/null +++ b/pkgs/applications/misc/glom/default.nix @@ -0,0 +1,132 @@ +{ stdenv +, fetchFromGitLab +, pkgconfig +, autoconf +, automake +, libtool +, mm-common +, intltool +, itstool +, doxygen +, graphviz +, makeFontsConf +, freefont_ttf +, boost +, libxmlxx3 +, libxslt +, libgdamm +, libarchive +, libepc +, python3 +, ncurses +, glibmm +, gtk3 +, openssl +, gtkmm3 +, goocanvasmm2 +, evince +, isocodes +, gtksourceviewmm4 +, postgresql +, gnome3 +, gobject-introspection +, wrapGAppsHook +}: + +let + gda = libgdamm.override { + mysqlSupport = true; + postgresSupport = true; + }; + python = python3.withPackages (pkgs: with pkgs; [ pygobject3 ]); + sphinx-build = python3.pkgs.sphinx.overrideAttrs (super: { + postFixup = super.postFixup or "" + '' + # Do not propagate Python + rm $out/nix-support/propagated-build-inputs + ''; + }); + boost_python = boost.override { enablePython = true; inherit python; }; +in stdenv.mkDerivation rec { + pname = "glom"; + version = "unstable-2018-12-16"; + + outputs = [ "out" "lib" "dev" "doc" "devdoc" ]; + + src = fetchFromGitLab { + domain = "gitlab.gnome.org"; + owner = "GNOME"; + repo = pname; + rev = "fa5ff04f209f35bf3e97bc1c3eb1d1138d6172ce"; + sha256 = "145hnk96xa4v35i3a3mbf3fnx4nlk8cksc0qhm7nrh8cnnrbdfgn"; + }; + + nativeBuildInputs = [ + pkgconfig + autoconf + automake + libtool + mm-common + intltool + gnome3.yelp-tools + itstool + doxygen + graphviz + sphinx-build + wrapGAppsHook + gobject-introspection # for setup hook + ]; + + buildInputs = [ + boost_python + glibmm + gtk3 + openssl + libxmlxx3 + libxslt + gda + libarchive + libepc + python + ncurses # for python + gtkmm3 + goocanvasmm2 + evince + isocodes + python3.pkgs.pygobject3 + gtksourceviewmm4 + postgresql # for pg_config + ]; + + enableParallelBuilding = true; + + preConfigure = "NOCONFIGURE=1 ./autogen.sh"; + + configureFlags = [ + "--with-boost-python=boost_python${stdenv.lib.versions.major python3.version}${stdenv.lib.versions.minor python3.version}" + ]; + + makeFlags = [ + "libdocdir=${placeholder "doc"}/share/doc/$(book_name)" + "devhelpdir=${placeholder "devdoc"}/share/devhelp/books/$(book_name)" + ]; + + # Fontconfig error: Cannot load default config file + FONTCONFIG_FILE = makeFontsConf { + fontDirectories = [ freefont_ttf ]; + }; + + preFixup = '' + gappsWrapperArgs+=( + --prefix PYTHONPATH : "${placeholder "out"}/${python3.sitePackages}" + --set PYTHONHOME "${python}" + ) + ''; + + meta = with stdenv.lib; { + description = "An easy-to-use database designer and user interface"; + homepage = http://www.glom.org/; + license = [ licenses.lgpl2 licenses.gpl2 ]; + maintainers = gnome3.maintainers; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/misc/gnome-recipes/default.nix b/pkgs/applications/misc/gnome-recipes/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..01f5af339ff084023c1f3cfc89eba7361d1d6320 --- /dev/null +++ b/pkgs/applications/misc/gnome-recipes/default.nix @@ -0,0 +1,79 @@ +{ stdenv +, fetchurl +, meson +, ninja +, pkgconfig +, gnome3 +, desktop-file-utils +, gettext +, itstool +, python3 +, wrapGAppsHook +, gtk3 +, glib +, libsoup +, gnome-online-accounts +, librest +, json-glib +, gnome-autoar +, gspell +, libcanberra }: + +let + pname = "gnome-recipes"; + version = "2.0.2"; +in stdenv.mkDerivation rec { + name = "${pname}-${version}"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz"; + sha256 = "1yymii3yf823d9x28fbhqdqm1wa30s40j94x0am9fjj0nzyd5s8v"; + }; + + nativeBuildInputs = [ + meson + ninja + pkgconfig + desktop-file-utils + gettext + itstool + python3 + wrapGAppsHook + ]; + + buildInputs = [ + gtk3 + glib + libsoup + gnome-online-accounts + librest + json-glib + gnome-autoar + gspell + libcanberra + ]; + + # https://github.com/NixOS/nixpkgs/issues/36468 + # https://gitlab.gnome.org/GNOME/recipes/issues/76 + NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; + + postPatch = '' + chmod +x src/list_to_c.py + patchShebangs src/list_to_c.py + patchShebangs meson_post_install.py + ''; + + passthru = { + updateScript = gnome3.updateScript { + packageName = pname; + }; + }; + + meta = with stdenv.lib; { + description = "Recipe management application for GNOME"; + homepage = https://wiki.gnome.org/Apps/Recipes; + maintainers = gnome3.maintainers; + license = licenses.gpl3; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/misc/gnome-usage/default.nix b/pkgs/applications/misc/gnome-usage/default.nix index f99344b83d64fde59ad7df6b6dd2236b7e1c742b..eecf9bbd88f77ac3bd2c2e9917b39dd845af32cd 100644 --- a/pkgs/applications/misc/gnome-usage/default.nix +++ b/pkgs/applications/misc/gnome-usage/default.nix @@ -1,21 +1,47 @@ -{ stdenv, fetchurl, meson, ninja, pkgconfig, vala, gettext -, libxml2, desktop-file-utils, wrapGAppsHook -, glib, gtk3, libgtop, gnome3 }: +{ stdenv +, fetchurl +, meson +, ninja +, pkgconfig +, vala +, gettext +, libxml2 +, desktop-file-utils +, wrapGAppsHook +, glib +, gtk3 +, libgtop +, libdazzle +, gnome3 +}: -let +stdenv.mkDerivation rec { pname = "gnome-usage"; - version = "3.28.0"; -in stdenv.mkDerivation rec { - name = "${pname}-${version}"; + version = "3.32.0"; src = fetchurl { - url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz"; - sha256 = "0130bwinpkz307nalw6ndi5mk38k5g6jna4gbw2916d54df6a4nq"; + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0bgszckddfpd3czyb9fddx4pgv5yv44sxc45dfk2kgqyy169gjih"; }; - nativeBuildInputs = [ meson ninja pkgconfig vala gettext libxml2 desktop-file-utils wrapGAppsHook ]; + nativeBuildInputs = [ + desktop-file-utils + gettext + libxml2 + meson + ninja + pkgconfig + vala + wrapGAppsHook + ]; - buildInputs = [ glib gtk3 libgtop gnome3.defaultIconTheme ]; + buildInputs = [ + glib + gnome3.adwaita-icon-theme + gtk3 + libdazzle + libgtop + ]; postPatch = '' chmod +x build-aux/meson/postinstall.sh @@ -29,7 +55,7 @@ in stdenv.mkDerivation rec { }; meta = with stdenv.lib; { - description = ""; + description = "A nice way to view information about use of system resources, like memory and disk space"; license = licenses.gpl3; platforms = platforms.linux; maintainers = gnome3.maintainers; diff --git a/pkgs/applications/misc/gnss-sdr/default.nix b/pkgs/applications/misc/gnss-sdr/default.nix deleted file mode 100644 index 0bb0926f048abe20eca0171020aca7faf044b702..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/gnss-sdr/default.nix +++ /dev/null @@ -1,67 +0,0 @@ -{ stdenv, fetchFromGitHub -, armadillo -, boost -, cmake -, glog -, gmock -, openssl -, google-gflags -, gnuradio -, orc -, pkgconfig -, pythonPackages -, uhd -}: - -stdenv.mkDerivation rec { - name = "gnss-sdr-${version}"; - version = "0.0.9"; - - src = fetchFromGitHub { - owner = "gnss-sdr"; - repo = "gnss-sdr"; - rev = "v${version}"; - sha256 = "0gis932ly3vk7d5qvznffp54pkmbw3m6v60mxjfdj5dd3r7vf975"; - }; - - buildInputs = [ - armadillo - boost.dev - cmake - glog - gmock - openssl.dev - google-gflags - gnuradio - orc - pkgconfig - pythonPackages.Mako - - # UHD support is optional, but gnuradio is built with it, so there's - # nothing to be gained by leaving it out. - uhd - ]; - - enableParallelBuilding = true; - - cmakeFlags = [ - "-DGFlags_ROOT_DIR=${google-gflags}/lib" - "-DGLOG_INCLUDE_DIR=${glog}/include" - - # gnss-sdr doesn't truly depend on BLAS or LAPACK, as long as - # armadillo is built using both, so skip checking for them. - "-DBLAS=YES" - "-DLAPACK=YES" - - # Similarly, it doesn't actually use gfortran despite checking for - # its presence. - "-DGFORTRAN=YES" - ]; - - meta = with stdenv.lib; { - description = "An open source Global Navigation Satellite Systems software-defined receiver"; - homepage = https://gnss-sdr.org/; - license = licenses.gpl3Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/applications/misc/gnuradio/default.nix b/pkgs/applications/misc/gnuradio/default.nix deleted file mode 100644 index 0224d5fd68c755ebbaae4be01df896ded699d893..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/gnuradio/default.nix +++ /dev/null @@ -1,122 +0,0 @@ -{ stdenv, fetchFromGitHub, writeText, makeWrapper -# Dependencies documented @ https://gnuradio.org/doc/doxygen/build_guide.html -# => core dependencies -, cmake, pkgconfig, git, boost, cppunit, fftw -# => python wrappers -# May be able to upgrade to swig3 -, python, swig2, numpy, scipy, matplotlib -# => grc - the gnu radio companion -, Mako, cheetah, pygtk # Note: GR is migrating to Mako. Cheetah should be removed for GR3.8 -# => gr-wavelet: collection of wavelet blocks -, gsl -# => gr-qtgui: the Qt-based GUI -, qt4, qwt, pyqt4 -# => gr-wxgui: the Wx-based GUI -, wxPython, lxml -# => gr-audio: audio subsystems (system/OS dependent) -, alsaLib # linux 'audio-alsa' -, CoreAudio # darwin 'audio-osx' -# => uhd: the Ettus USRP Hardware Driver Interface -, uhd -# => gr-video-sdl: PAL and NTSC display -, SDL -# Other -, libusb1, orc, pyopengl -}: - -stdenv.mkDerivation rec { - name = "gnuradio-${version}"; - version = "3.7.13.3"; - - src = fetchFromGitHub { - owner = "gnuradio"; - repo = "gnuradio"; - rev = "v${version}"; - sha256 = "1qpa53axqavdv2ykby7rwh7xmhvv964xq1d7rcvbwkry7dngrbib"; - fetchSubmodules = true; - }; - - nativeBuildInputs = [ - cmake pkgconfig git makeWrapper cppunit orc - ]; - - buildInputs = [ - boost fftw python swig2 lxml qt4 - qwt SDL libusb1 uhd gsl - ] ++ stdenv.lib.optionals stdenv.isLinux [ alsaLib ] - ++ stdenv.lib.optionals stdenv.isDarwin [ CoreAudio ]; - - propagatedBuildInputs = [ - Mako cheetah numpy scipy matplotlib pyqt4 pygtk wxPython pyopengl - ]; - - enableParallelBuilding = true; - - postPatch = '' - substituteInPlace \ - gr-fec/include/gnuradio/fec/polar_decoder_common.h \ - --replace BOOST_CONSTEXPR_OR_CONST const - ''; - - # Enables composition with nix-shell - grcSetupHook = writeText "grcSetupHook.sh" '' - addGRCBlocksPath() { - addToSearchPath GRC_BLOCKS_PATH $1/share/gnuradio/grc/blocks - } - addEnvHooks "$targetOffset" addGRCBlocksPath - ''; - - setupHook = [ grcSetupHook ]; - - # patch wxgui and pygtk check due to python importerror in a headless environment - # wxgtk gui will be removed in GR3.8 - # c++11 hack may not be necessary anymore - preConfigure = '' - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -Wno-unused-variable ${stdenv.lib.optionalString (!stdenv.isDarwin) "-std=c++11"}" - sed -i 's/.*wx\.version.*/set(WX_FOUND TRUE)/g' gr-wxgui/CMakeLists.txt - sed -i 's/.*pygtk_version.*/set(PYGTK_FOUND TRUE)/g' grc/CMakeLists.txt - find . -name "CMakeLists.txt" -exec sed -i '1iadd_compile_options($<$:-std=c++11>)' "{}" ";" - ''; - - # Framework path needed for qwt6_qt4 but not qwt5 - cmakeFlags = - stdenv.lib.optionals stdenv.isDarwin [ "-DCMAKE_FRAMEWORK_PATH=${qwt}/lib" ]; - - # - Ensure we get an interactive backend for matplotlib. If not the gr_plot_* - # programs will not display anything. Yes, $MATPLOTLIBRC must point to the - # *dirname* where matplotlibrc is located, not the file itself. - # - GNU Radio core is C++ but the user interface (GUI and API) is Python, so - # we must wrap the stuff in bin/. - # Notes: - # - May want to use makeWrapper instead of wrapProgram - # - may want to change interpreter path on Python examples instead of wrapping - # - see https://github.com/NixOS/nixpkgs/issues/22688 regarding use of --prefix / python.withPackages - # - see https://github.com/NixOS/nixpkgs/issues/24693 regarding use of DYLD_FRAMEWORK_PATH on Darwin - postInstall = '' - printf "backend : Qt4Agg\n" > "$out/share/gnuradio/matplotlibrc" - - for file in $(find $out/bin $out/share/gnuradio/examples -type f -executable); do - wrapProgram "$file" \ - --prefix PYTHONPATH : $PYTHONPATH:$(toPythonPath "$out") \ - --set MATPLOTLIBRC "$out/share/gnuradio" \ - ${stdenv.lib.optionalString stdenv.isDarwin "--set DYLD_FRAMEWORK_PATH /System/Library/Frameworks"} - done - ''; - - meta = with stdenv.lib; { - description = "Software Defined Radio (SDR) software"; - longDescription = '' - GNU Radio is a free & open-source software development toolkit that - provides signal processing blocks to implement software radios. It can be - used with readily-available low-cost external RF hardware to create - software-defined radios, or without hardware in a simulation-like - environment. It is widely used in hobbyist, academic and commercial - environments to support both wireless communications research and - real-world radio systems. - ''; - homepage = https://www.gnuradio.org; - license = licenses.gpl3; - platforms = platforms.linux ++ platforms.darwin; - maintainers = with maintainers; [ bjornfor fpletz ]; - }; -} diff --git a/pkgs/applications/misc/gnuradio/osmosdr.nix b/pkgs/applications/misc/gnuradio/osmosdr.nix deleted file mode 100644 index 355ca0e9544994dcc010b66e84d57130fa7d9fc0..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/gnuradio/osmosdr.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ stdenv, fetchgit, cmake, pkgconfig, boost, gnuradio, rtl-sdr, uhd -, makeWrapper, hackrf, airspy -, pythonSupport ? true, python, swig -}: - -assert pythonSupport -> python != null && swig != null; - -stdenv.mkDerivation rec { - name = "gnuradio-osmosdr-${version}"; - version = "0.1.4"; - - src = fetchgit { - url = "git://git.osmocom.org/gr-osmosdr"; - rev = "refs/tags/v${version}"; - sha256 = "0vyzr4fhkblf2v3d7m0ch5hws4c493jw3ydl4y6b2dfbfzchhsz8"; - }; - - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ - cmake boost gnuradio rtl-sdr uhd makeWrapper hackrf airspy - ] ++ stdenv.lib.optionals pythonSupport [ python swig ]; - - postInstall = '' - for prog in "$out"/bin/*; do - wrapProgram "$prog" --set PYTHONPATH $PYTHONPATH:$(toPythonPath "$out") - done - ''; - - enableParallelBuilding = true; - - meta = with stdenv.lib; { - description = "Gnuradio block for OsmoSDR and rtl-sdr"; - homepage = https://sdr.osmocom.org/trac/wiki/GrOsmoSDR; - license = licenses.gpl3Plus; - platforms = platforms.linux ++ platforms.darwin; - maintainers = with maintainers; [ bjornfor the-kenny ]; - }; -} diff --git a/pkgs/applications/misc/golden-cheetah/default.nix b/pkgs/applications/misc/golden-cheetah/default.nix index f62eb92ac04a59676c9fc80a8d73a2b7ad10ca06..edf16f806a6b94a5290ecb2095f55dec71bc15f4 100644 --- a/pkgs/applications/misc/golden-cheetah/default.nix +++ b/pkgs/applications/misc/golden-cheetah/default.nix @@ -1,8 +1,19 @@ { stdenv, fetchurl , qtbase, qtsvg, qtserialport, qtwebkit, qtmultimedia, qttools, qtconnectivity -, yacc, flex, zlib, qmake, makeWrapper +, yacc, flex, zlib, qmake, makeDesktopItem, makeWrapper }: -stdenv.mkDerivation rec { + +let + desktopItem = makeDesktopItem { + name = "goldencheetah"; + exec = "GoldenCheetah"; + icon = "goldencheetah"; + desktopName = "GoldenCheetah"; + genericName = "GoldenCheetah"; + comment = "Performance software for cyclists, runners and triathletes"; + categories = "Application;Utility;"; + }; +in stdenv.mkDerivation rec { name = "golden-cheetah-${version}"; version = "3.4"; src = fetchurl { @@ -15,6 +26,9 @@ stdenv.mkDerivation rec { qtconnectivity ]; nativeBuildInputs = [ flex makeWrapper qmake yacc ]; + NIX_LDFLAGS = [ + "-lz" + ]; preConfigure = '' cp src/gcconfig.pri.in src/gcconfig.pri cp qwt/qwtconfig.pri.in qwt/qwtconfig.pri @@ -27,6 +41,8 @@ stdenv.mkDerivation rec { mkdir -p $out/bin cp src/GoldenCheetah $out/bin wrapProgram $out/bin/GoldenCheetah --set LD_LIBRARY_PATH "${zlib.out}/lib" + install -Dm644 "${desktopItem}/share/applications/"* -t $out/share/applications/ + install -Dm644 src/Resources/images/gc.png $out/share/pixmaps/goldencheetah.png runHook postInstall ''; @@ -34,9 +50,10 @@ stdenv.mkDerivation rec { # RCC: Error in 'Resources/application.qrc': Cannot find file 'translations/gc_fr.qm' enableParallelBuilding = false; - meta = { + meta = with stdenv.lib; { description = "Performance software for cyclists, runners and triathletes"; - platforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.ocharles ]; + platforms = platforms.linux; + maintainers = [ maintainers.ocharles ]; + license = licenses.gpl3; }; } diff --git a/pkgs/applications/misc/goldendict/default.nix b/pkgs/applications/misc/goldendict/default.nix index 5cb51eefe5d7e630777ad5443b8920e3cee7c394..42d5d83f7bdbdc09300ae5fb195fae1417598598 100644 --- a/pkgs/applications/misc/goldendict/default.nix +++ b/pkgs/applications/misc/goldendict/default.nix @@ -19,11 +19,11 @@ stdenv.mkDerivation rec { qmakeFlags = [ "CONFIG+=zim_support" ]; - meta = { + meta = with stdenv.lib; { homepage = http://goldendict.org/; description = "A feature-rich dictionary lookup program"; - - platforms = stdenv.lib.platforms.linux; - maintainers = with stdenv.lib.maintainers; [ gebner astsmtl ]; + platforms = platforms.linux; + maintainers = with maintainers; [ gebner astsmtl ]; + license = licenses.gpl3Plus; }; } diff --git a/pkgs/applications/misc/gollum/Gemfile.lock b/pkgs/applications/misc/gollum/Gemfile.lock index 7315c0a8d724bf91a36a287339aa815a97267cd7..9a12ba2bfd556c83550e1eda2d4ad7c6bc0aee43 100644 --- a/pkgs/applications/misc/gollum/Gemfile.lock +++ b/pkgs/applications/misc/gollum/Gemfile.lock @@ -1,54 +1,62 @@ GEM remote: https://rubygems.org/ specs: - charlock_holmes (0.7.3) + charlock_holmes (0.7.6) diff-lcs (1.3) gemojione (3.3.0) json - github-markup (1.6.1) - gitlab-grit (2.8.1) + github-markup (1.7.0) + gitlab-grit (2.8.2) charlock_holmes (~> 0.6) diff-lcs (~> 1.1) - mime-types (>= 1.16, < 3) + mime-types (>= 1.16) posix-spawn (~> 0.3) - gollum (4.1.2) + gollum (4.1.4) gemojione (~> 3.2) - gollum-lib (>= 4.2.7) + gollum-lib (~> 4.2, >= 4.2.10) kramdown (~> 1.9.0) mustache (>= 0.99.5, < 1.0.0) sinatra (~> 1.4, >= 1.4.4) useragent (~> 0.16.2) gollum-grit_adapter (1.0.1) gitlab-grit (~> 2.7, >= 2.7.1) - gollum-lib (4.2.7) + gollum-lib (4.2.10) gemojione (~> 3.2) github-markup (~> 1.6) gollum-grit_adapter (~> 1.0) nokogiri (>= 1.6.1, < 2.0) rouge (~> 2.1) - sanitize (~> 2.1) + sanitize (~> 2.1.1, >= 2.1.1) stringex (~> 2.6) - json (2.1.0) + twitter-text (= 1.14.7) + json (2.2.0) kramdown (1.9.0) - mime-types (2.99.3) - mini_portile2 (2.2.0) + mime-types (3.2.2) + mime-types-data (~> 3.2015) + mime-types-data (3.2019.0331) + mini_portile2 (2.4.0) mustache (0.99.8) - nokogiri (1.8.0) - mini_portile2 (~> 2.2.0) + nokogiri (1.10.3) + mini_portile2 (~> 2.4.0) posix-spawn (0.3.13) - rack (1.6.8) - rack-protection (1.5.3) + rack (1.6.11) + rack-protection (1.5.5) rack - rouge (2.1.1) - sanitize (2.1.0) + rouge (2.2.1) + sanitize (2.1.1) nokogiri (>= 1.4.4) sinatra (1.4.8) rack (~> 1.5) rack-protection (~> 1.4) tilt (>= 1.3, < 3) - stringex (2.7.1) - tilt (2.0.8) - useragent (0.16.8) + stringex (2.8.5) + tilt (2.0.9) + twitter-text (1.14.7) + unf (~> 0.1.0) + unf (0.1.4) + unf_ext + unf_ext (0.0.7.6) + useragent (0.16.10) PLATFORMS ruby @@ -57,4 +65,4 @@ DEPENDENCIES gollum BUNDLED WITH - 1.15.3 + 1.17.2 diff --git a/pkgs/applications/misc/gollum/default.nix b/pkgs/applications/misc/gollum/default.nix index 4ad32c5fd7f58d520a615e897e42bae157acb632..4a0a4e38a61be179a16c2819ffa56a010d34a08d 100644 --- a/pkgs/applications/misc/gollum/default.nix +++ b/pkgs/applications/misc/gollum/default.nix @@ -4,6 +4,7 @@ stdenv.mkDerivation rec { name = "${pname}-${version}"; pname = "gollum"; + # nix-shell -p bundix icu zlib version = (import ./gemset.nix).gollum.version; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/misc/gollum/gemset.nix b/pkgs/applications/misc/gollum/gemset.nix index cff774d7daa07b1d6a4eebdfd1989c035be4bd2b..6de5553ac7cfa308152b82d396e9b9f12caedeb2 100644 --- a/pkgs/applications/misc/gollum/gemset.nix +++ b/pkgs/applications/misc/gollum/gemset.nix @@ -1,13 +1,17 @@ { charlock_holmes = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0jsl6k27wjmssxbwv9wpf7hgp9r0nvizcf6qpjnr7qs2nia53lf7"; + sha256 = "1nf1l31n10yaark2rrg5qzyzcx9w80681449s3j09qmnipsl8rl5"; type = "gem"; }; - version = "0.7.3"; + version = "0.7.6"; }; diff-lcs = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza"; @@ -17,6 +21,8 @@ }; gemojione = { dependencies = ["json"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0ayk8r147k1s38nj18pwk76npx1p7jhi86silk800nj913pjvrhj"; @@ -25,33 +31,41 @@ version = "3.3.0"; }; github-markup = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1nyb9ck2c9z5qi86n7r52w0m126qpnvc93yh35cn8bwsnkjqx0iq"; + sha256 = "17g6g18gdjg63k75sfwiskjzl9i0hfcnrkcpb4fwrnb20v3jgswp"; type = "gem"; }; - version = "1.6.1"; + version = "1.7.0"; }; gitlab-grit = { dependencies = ["charlock_holmes" "diff-lcs" "mime-types" "posix-spawn"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0lf1cr6pzqrbnxiiwym6q74b1a2ihdi91dynajk8hi1p093hl66n"; + sha256 = "0xgs3l81ghlc5nm75n0pz7b2cj3hpscfq5iy27c483nnjn2v5mc4"; type = "gem"; }; - version = "2.8.1"; + version = "2.8.2"; }; gollum = { dependencies = ["gemojione" "gollum-lib" "kramdown" "mustache" "sinatra" "useragent"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "051pm2f50daiqcqy87aq4809x4c95iwwml6ca4wgvvmj5zkk6k5a"; + sha256 = "0ik1b0f73lcxfwfml1h84dp6br79g0z9v6x54wvl46n9d1ndrhl7"; type = "gem"; }; - version = "4.1.2"; + version = "4.1.4"; }; gollum-grit_adapter = { dependencies = ["gitlab-grit"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0fcibm63v1afc0fj5rki0mm51m7nndil4cjcjjvkh3yigfn4nr4b"; @@ -60,23 +74,29 @@ version = "1.0.1"; }; gollum-lib = { - dependencies = ["gemojione" "github-markup" "gollum-grit_adapter" "nokogiri" "rouge" "sanitize" "stringex"]; + dependencies = ["gemojione" "github-markup" "gollum-grit_adapter" "nokogiri" "rouge" "sanitize" "stringex" "twitter-text"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1filwvjfj5q2m6w4q274ai36d6f0mrsv2l2khhk4bv1q6pqby2fq"; + sha256 = "1699wiir6f2a8yawk3qg0xn3zdc10mz783v53ri1ivfnzdrm3dvf"; type = "gem"; }; - version = "4.2.7"; + version = "4.2.10"; }; json = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "01v6jjpvh3gnq6sgllpfqahlgxzj50ailwhj9b3cd20hi2dx0vxp"; + sha256 = "0sx97bm9by389rbzv8r1f43h06xcz8vwi3h5jv074gvparql7lcx"; type = "gem"; }; - version = "2.1.0"; + version = "2.2.0"; }; kramdown = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "12sral2xli39mnr4b9m2sxdlgam4ni0a1mkxawc5311z107zj3p0"; @@ -85,22 +105,39 @@ version = "1.9.0"; }; mime-types = { + dependencies = ["mime-types-data"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0fjxy1jm52ixpnv3vg9ld9pr9f35gy0jp66i1njhqjvmnvq0iwwk"; + type = "gem"; + }; + version = "3.2.2"; + }; + mime-types-data = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "03j98xr0qw2p2jkclpmk7pm29yvmmh0073d8d43ajmr0h3w7i5l9"; + sha256 = "1m00pg19cm47n1qlcxgl91ajh2yq0fszvn1vy8fy0s1jkrp9fw4a"; type = "gem"; }; - version = "2.99.3"; + version = "3.2019.0331"; }; mini_portile2 = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0g5bpgy08q0nc0anisg3yvwc1gc3inl854fcrg48wvg7glqd6dpm"; + sha256 = "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy"; type = "gem"; }; - version = "2.2.0"; + version = "2.4.0"; }; mustache = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1g5hplm0k06vwxwqzwn1mq5bd02yp0h3rym4zwzw26aqi7drcsl2"; @@ -110,14 +147,18 @@ }; nokogiri = { dependencies = ["mini_portile2"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1nffsyx1xjg6v5n9rrbi8y1arrcx2i5f21cp6clgh9iwiqkr7rnn"; + sha256 = "02bjydih0j515szfv9mls195cvpyidh6ixm7dwbl3s2sbaxxk5s4"; type = "gem"; }; - version = "1.8.0"; + version = "1.10.3"; }; posix-spawn = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1pmxmpins57qrbr31bs3bm7gidhaacmrp4md6i962gvpq4gyfcjw"; @@ -126,41 +167,51 @@ version = "0.3.13"; }; rack = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "19m7aixb2ri7p1n0iqaqx8ldi97xdhvbxijbyrrcdcl6fv5prqza"; + sha256 = "1g9926ln2lw12lfxm4ylq1h6nl0rafl10za3xvjzc87qvnqic87f"; type = "gem"; }; - version = "1.6.8"; + version = "1.6.11"; }; rack-protection = { dependencies = ["rack"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0cvb21zz7p9wy23wdav63z5qzfn4nialik22yqp6gihkgfqqrh5r"; + sha256 = "0my0wlw4a5l3hs79jkx2xzv7djhajgf8d28k8ai1ddlnxxb0v7ss"; type = "gem"; }; - version = "1.5.3"; + version = "1.5.5"; }; rouge = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1wn6rq5qjmcwh9ixkljazv6gmg746rgbgs6av5qnk0mxim5qw11p"; + sha256 = "02kpahk5nkc33yxnn75649kzxaz073wvazr2zyg491nndykgnvcs"; type = "gem"; }; - version = "2.1.1"; + version = "2.2.1"; }; sanitize = { dependencies = ["nokogiri"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0xsv6xqrlz91rd8wifjknadbl3z5h6qphmxy0hjb189qbdghggn3"; + sha256 = "12ip1d80r0dgc621qn7c32bk12xxgkkg3w6q21s1ckxivcd7r898"; type = "gem"; }; - version = "2.1.0"; + version = "2.1.1"; }; sinatra = { dependencies = ["rack" "rack-protection" "tilt"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0byxzl7rx3ki0xd7aiv1x8mbah7hzd8f81l65nq8857kmgzj1jqq"; @@ -169,27 +220,65 @@ version = "1.4.8"; }; stringex = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1zc93v00av643lc6njl09wwki7h5yqayhh1din8zqfylw814l1dv"; + sha256 = "15ns7j5smw04w6w7bqd5mm2qcl7w9lhwykyb974i4isgg9yc23ys"; type = "gem"; }; - version = "2.7.1"; + version = "2.8.5"; }; tilt = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ca4k0clwf0rkvy7726x4nxpjxkpv67w043i39saxgldxd97zmwz"; + type = "gem"; + }; + version = "2.0.9"; + }; + twitter-text = { + dependencies = ["unf"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1732h7hy1k152w8wfvjsx7b79alk45i5imwd37ia4qcx8hfm3gvg"; + type = "gem"; + }; + version = "1.14.7"; + }; + unf = { + dependencies = ["unf_ext"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9"; + type = "gem"; + }; + version = "0.1.4"; + }; + unf_ext = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0020mrgdf11q23hm1ddd6fv691l51vi10af00f137ilcdb2ycfra"; + sha256 = "1ll6w64ibh81qwvjx19h8nj7mngxgffg7aigjx11klvf5k2g4nxf"; type = "gem"; }; - version = "2.0.8"; + version = "0.0.7.6"; }; useragent = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1139cjqyv1hk1qcw89k81ajjkqyakqgbcyvmfrsmjqi8yn9kgqhq"; + sha256 = "1fv5kvq494swy0p17h9qya9r50w15xsi9zmvhzb8gh55kq6ki50p"; type = "gem"; }; - version = "0.16.8"; + version = "0.16.10"; }; } \ No newline at end of file diff --git a/pkgs/applications/misc/googleearth/default.nix b/pkgs/applications/misc/googleearth/default.nix index 9c1b457c299da0087faa730ca9f1276c9fa1625e..0fccf83acf76d1a226f82d972b59dadd268431da 100644 --- a/pkgs/applications/misc/googleearth/default.nix +++ b/pkgs/applications/misc/googleearth/default.nix @@ -4,9 +4,9 @@ let arch = - if stdenv.system == "x86_64-linux" then "amd64" - else if stdenv.system == "i686-linux" then "i386" - else throw "Unsupported system ${stdenv.system}"; + if stdenv.hostPlatform.system == "x86_64-linux" then "amd64" + else if stdenv.hostPlatform.system == "i686-linux" then "i386" + else throw "Unsupported system ${stdenv.hostPlatform.system}"; sha256 = if arch == "amd64" then "0dwnppn5snl5bwkdrgj4cyylnhngi0g66fn2k41j3dvis83x24k6" @@ -79,6 +79,15 @@ stdenv.mkDerivation rec { for a in $out/opt/google/earth/free/*.so* ; do patchelf --set-rpath "${fullPath}:\$ORIGIN" $a done + + # Add desktop config file and icons + mkdir -p $out/share/{applications,icons/hicolor/{16x16,22x22,24x24,32x32,48x48,64x64,128x128,256x256}/apps,pixmaps} + ln -s $out/opt/google/earth/free/google-earth.desktop $out/share/applications/google-earth.desktop + sed -i -e "s|Exec=.*|Exec=$out/bin/googleearth|g" $out/opt/google/earth/free/google-earth.desktop + for size in 16 22 24 32 48 64 128 256; do + ln -s $out/opt/google/earth/free/product_logo_"$size".png $out/share/icons/hicolor/"$size"x"$size"/apps/google-earth.png + done + ln -s $out/opt/google/earth/free/product_logo_256.png $out/share/pixmaps/google-earth.png ''; checkPhase = '' diff --git a/pkgs/applications/misc/googler/default.nix b/pkgs/applications/misc/googler/default.nix index ca6ccdcdb2ae620b11d99a2b3ac9b63f2bade660..7ff7f6f811f722ceab08925d4f5773198245e472 100644 --- a/pkgs/applications/misc/googler/default.nix +++ b/pkgs/applications/misc/googler/default.nix @@ -1,14 +1,14 @@ {stdenv, fetchFromGitHub, python}: stdenv.mkDerivation rec { - version = "3.6"; + version = "3.8"; name = "googler-${version}"; src = fetchFromGitHub { owner = "jarun"; repo = "googler"; rev = "v${version}"; - sha256 = "1j1755b9mfmkqkgjrlsi4wr82352pqc9rfyalammqn6qrm3v3lb6"; + sha256 = "0f15rivjdj8r7wwrckcsaxxx129yh41fj4rhz4cbvbsb5f0f2daj"; }; propagatedBuildInputs = [ python ]; diff --git a/pkgs/applications/misc/gpa/default.nix b/pkgs/applications/misc/gpa/default.nix index 149092c70d387413d99ee46f69d35081f4dddbcf..a488901441271dde264a6f6df35317b67406c2c9 100644 --- a/pkgs/applications/misc/gpa/default.nix +++ b/pkgs/applications/misc/gpa/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, intltool, pkgconfig, gtk2, gpgme, libgpgerror, libassuan }: stdenv.mkDerivation rec { - name = "gpa-0.9.10"; + name = "gpa-0.10.0"; src = fetchurl { url = "mirror://gnupg/gpa/${name}.tar.bz2"; - sha256 = "09xphbi2456qynwqq5n0yh0zdmdi2ggrj3wk4hsyh5lrzlvcrff3"; + sha256 = "1cbpc45f8qbdkd62p12s3q2rdq6fa5xdzwmcwd3xrj55bzkspnwm"; }; nativeBuildInputs = [ intltool pkgconfig ]; diff --git a/pkgs/applications/misc/gphoto2/default.nix b/pkgs/applications/misc/gphoto2/default.nix index 5131e0739e73b287ed034af5b55e4f2cba719ce7..9313199efb82fa70d4dcc87197c81030c638b30b 100644 --- a/pkgs/applications/misc/gphoto2/default.nix +++ b/pkgs/applications/misc/gphoto2/default.nix @@ -3,11 +3,11 @@ }: stdenv.mkDerivation rec { - name = "gphoto2-2.5.17"; + name = "gphoto2-2.5.20"; src = fetchurl { url = "mirror://sourceforge/gphoto/${name}.tar.bz2"; - sha256 = "0kslwclyyzvnxjw3gdzhlagj7l5f8lba833ipr9s0s0c4hwi0mxa"; + sha256 = "1xj80abkzvqrd6g1j1q946lhbp03gyapyxdwbhc0y14g1ash6vx3"; }; nativeBuildInputs = [ pkgconfig gettext libtool ]; diff --git a/pkgs/applications/misc/gphoto2/gphotofs.nix b/pkgs/applications/misc/gphoto2/gphotofs.nix index 6fa11667cf333eaa1fb390eee752eabecf5d4067..7b23fca2121e8e317f356e591c0233834dafc840 100644 --- a/pkgs/applications/misc/gphoto2/gphotofs.nix +++ b/pkgs/applications/misc/gphoto2/gphotofs.nix @@ -13,11 +13,11 @@ stdenv.mkDerivation rec { libgphoto2 fuse glib libtool ]; - meta = { + meta = with stdenv.lib; { description = "Fuse FS to mount a digital camera"; - maintainers = [ - stdenv.lib.maintainers.raskin - ]; - platforms = stdenv.lib.platforms.linux; + homepage = http://www.gphoto.org/; + maintainers = [ maintainers.raskin ]; + platforms = platforms.linux; + license = with licenses; [ lgpl2 gpl2 ]; }; } diff --git a/pkgs/applications/misc/gpsprune/default.nix b/pkgs/applications/misc/gpsprune/default.nix index 6689a3cae102696db1c0a0b8a7287b16373b5103..4f0c1864677c9847d5f1d54c2382fc84d9cb97e8 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 = "19"; + version = "19.2"; src = fetchurl { url = "https://activityworkshop.net/software/gpsprune/gpsprune_${version}.jar"; - sha256 = "0n08fg55zgpfg1f6lq0n3ngi0n8af1r0rhmbnpik5mjng4m9g3x5"; + sha256 = "1q2kpkkh75b9l1x7fkmv88s8k84gzcdnrg5sgf8ih0zrp49lawg9"; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/misc/gpx-viewer/default.nix b/pkgs/applications/misc/gpx-viewer/default.nix index 1810d6d5c476aa5de0e4f6c7b5a8977e405db076..f7cfee3e6516241f1030b61e8c3fef43be6c6a87 100644 --- a/pkgs/applications/misc/gpx-viewer/default.nix +++ b/pkgs/applications/misc/gpx-viewer/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, intltool, pkgconfig, gnome3, shared-mime-info, desktop-file-utils, wrapGAppsHook }: +{ stdenv, fetchurl, intltool, pkgconfig, gnome3, libchamplain, gdl, shared-mime-info, desktop-file-utils, wrapGAppsHook }: stdenv.mkDerivation rec { name = "gpx-viewer-${version}"; @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { desktop-file-utils # For update-desktop-database wrapGAppsHook # Fix error: GLib-GIO-ERROR **: No GSettings schemas are installed on the system ]; - buildInputs = with gnome3; [ gdl libchamplain defaultIconTheme ]; + buildInputs = [ gdl libchamplain gnome3.adwaita-icon-theme ]; meta = with stdenv.lib; { homepage = https://blog.sarine.nl/tag/gpxviewer/; diff --git a/pkgs/applications/misc/gpxsee/default.nix b/pkgs/applications/misc/gpxsee/default.nix index ed0dd3ba5be33b58c87834275e7cc581192aeba4..5ef64b2b801c2bf14b73bd2cd69322c838150921 100644 --- a/pkgs/applications/misc/gpxsee/default.nix +++ b/pkgs/applications/misc/gpxsee/default.nix @@ -2,35 +2,40 @@ stdenv.mkDerivation rec { name = "gpxsee-${version}"; - version = "4.19"; + version = "7.1"; src = fetchFromGitHub { owner = "tumic0"; repo = "GPXSee"; rev = version; - sha256 = "1xjf2aawf633c1ydhpcsjhdlfkjkfsjbcgjd737xpfv1wjz99l4l"; + sha256 = "1dgag8j3566qwiz1pschfq2wqdp7y1pr4cm9na4zwrdjhn3ci6v5"; }; - nativeBuildInputs = [ qmake qttools ]; + nativeBuildInputs = [ qmake ]; + buildInputs = [ qttools ]; preConfigure = '' - substituteInPlace src/config.h --replace /usr/share/gpxsee $out/share/gpxsee + substituteInPlace src/common/programpaths.cpp --replace /usr/share/ $out/share/ lrelease lang/*.ts ''; - preFixup = '' + installPhase = '' install -Dm755 GPXSee $out/bin/GPXSee - mkdir -p $out/share/gpxsee - cp pkg/maps.txt $out/share/gpxsee + cp -r pkg/csv $out/share/gpxsee/ + cp -r pkg/maps $out/share/gpxsee/ + mkdir -p $out/share/gpxsee/translations + cp -r lang/*.qm $out/share/gpxsee/translations ''; + enableParallelBuilding = true; + meta = with stdenv.lib; { - homepage = http://www.gpxsee.org/; + homepage = https://www.gpxsee.org/; description = "GPX viewer and analyzer"; longDescription = '' GPXSee is a Qt-based GPS log file viewer and analyzer that supports GPX, - TCX, KML, FIT, IGC and NMEA files. + TCX, KML, FIT, IGC, NMEA, SLF, LOC and OziExplorer files. ''; license = licenses.gpl3; maintainers = [ maintainers.womfoo ]; diff --git a/pkgs/applications/misc/gramps/default.nix b/pkgs/applications/misc/gramps/default.nix index b12b84d106dc968d2a95f2049bec26c31eaef501..e9026ded47023a0ab46a901fc12d64d421f74307 100644 --- a/pkgs/applications/misc/gramps/default.nix +++ b/pkgs/applications/misc/gramps/default.nix @@ -1,26 +1,33 @@ { stdenv, fetchFromGitHub, gtk3, pythonPackages, intltool, gnome3, - pango, gobjectIntrospection, wrapGAppsHook, + pango, gobject-introspection, wrapGAppsHook, gettext, # Optional packages: - enableOSM ? true, osm-gps-map + enableOSM ? true, osm-gps-map, + enableGraphviz ? true, graphviz, + enableGhostscript ? true, ghostscript }: let inherit (pythonPackages) python buildPythonApplication; in buildPythonApplication rec { - version = "5.0.0"; + version = "5.0.1"; name = "gramps-${version}"; - nativeBuildInputs = [ wrapGAppsHook ]; - buildInputs = [ intltool gtk3 gobjectIntrospection pango gnome3.gexiv2 ] + nativeBuildInputs = [ wrapGAppsHook gettext ]; + buildInputs = [ intltool gtk3 gobject-introspection pango gnome3.gexiv2 ] # Map support ++ stdenv.lib.optional enableOSM osm-gps-map + # Graphviz support + ++ stdenv.lib.optional enableGraphviz graphviz + # Ghostscript support + ++ stdenv.lib.optional enableGhostscript ghostscript + ; src = fetchFromGitHub { owner = "gramps-project"; repo = "gramps"; rev = "v${version}"; - sha256 = "056l4ihmd3gdsiv6wwv4ckgh8bfzd5nii6z4afsdn2nmjbj4hw9m"; + sha256 = "1jz1fbjj6byndvir7qxzhd2ryirrd5h2kwndxpp53xdc05z1i8g7"; }; pythonPath = with pythonPackages; [ bsddb3 PyICU pygobject3 pycairo ]; @@ -53,5 +60,6 @@ in buildPythonApplication rec { description = "Genealogy software"; homepage = https://gramps-project.org; license = licenses.gpl2; + maintainers = with maintainers; [ joncojonathan ]; }; } diff --git a/pkgs/applications/misc/gremlin-console/default.nix b/pkgs/applications/misc/gremlin-console/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..a35079e915177d807b745c3ea90345f38951836c --- /dev/null +++ b/pkgs/applications/misc/gremlin-console/default.nix @@ -0,0 +1,29 @@ +{ pkgs, fetchzip, stdenv, makeWrapper, openjdk }: + +stdenv.mkDerivation rec { + name = "gremlin-console-${version}"; + version = "3.3.4"; + src = fetchzip { + url = "http://www-eu.apache.org/dist/tinkerpop/${version}/apache-tinkerpop-gremlin-console-${version}-bin.zip"; + sha256 = "14xr0yqklmm4jvj1hnkj89lj83zzs2l1375ni0jbf12gy31jlb2w"; + }; + + buildInputs = [ makeWrapper ]; + + installPhase = '' + mkdir -p $out/opt + cp -r ext lib $out/opt/ + install -D bin/gremlin.sh $out/opt/bin/gremlin-console + makeWrapper $out/opt/bin/gremlin-console $out/bin/gremlin-console \ + --prefix PATH ":" "${openjdk}/bin/" \ + --set CLASSPATH "$out/opt/lib/" + ''; + + meta = with stdenv.lib; { + homepage = https://tinkerpop.apache.org/; + description = "Console of the Apache TinkerPop graph computing framework"; + license = licenses.asl20; + maintainers = [ maintainers.lewo ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/applications/misc/gtk2fontsel/default.nix b/pkgs/applications/misc/gtk2fontsel/default.nix index 347d76860ef111f72bad89bf543182b81be6d440..8f683272e12063d0f3edfd607a9afa910fe895e9 100644 --- a/pkgs/applications/misc/gtk2fontsel/default.nix +++ b/pkgs/applications/misc/gtk2fontsel/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, pkgconfig, gtk }: +{stdenv, fetchurl, pkgconfig, gtk2 }: stdenv.mkDerivation rec { version = "0.1"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ stdenv gtk ]; + buildInputs = [ stdenv gtk2 ]; preferLocalBuild = true; @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { Trivial, but useful nonetheless. ''; homepage = http://gtk2fontsel.sourceforge.net/; - downloadPage = http://sourceforge.net/projects/gtk2fontsel/; + downloadPage = https://sourceforge.net/projects/gtk2fontsel/; license = licenses.gpl2; maintainers = [ maintainers.prikhi ]; platforms = platforms.linux; diff --git a/pkgs/applications/misc/guake/default.nix b/pkgs/applications/misc/guake/default.nix index 8bf779185b36bff8c2507b902dc8113fe2e241f9..0d7f460fb0626b12c74399cb463067b412ad492f 100644 --- a/pkgs/applications/misc/guake/default.nix +++ b/pkgs/applications/misc/guake/default.nix @@ -1,8 +1,8 @@ -{ stdenv, fetchFromGitHub, python3, gettext, gobjectIntrospection, wrapGAppsHook, glibcLocales +{ stdenv, fetchFromGitHub, python3, gettext, gobject-introspection, wrapGAppsHook, glibcLocales , gtk3, keybinder3, libnotify, libutempter, vte }: let - version = "3.3.2"; + version = "3.5.0"; in python3.pkgs.buildPythonApplication rec { name = "guake-${version}"; format = "other"; @@ -11,10 +11,15 @@ in python3.pkgs.buildPythonApplication rec { owner = "Guake"; repo = "guake"; rev = version; - sha256 = "0cz58wfsa66j01sqpka7908ilj5ch3jdxaxzqdi8yspqwzz5iwc7"; + sha256 = "0fz0gciw5fpxrp6yyji27l7q8c0r9ljsq6vw584mr70bcl1gzjqx"; }; - nativeBuildInputs = [ gettext gobjectIntrospection wrapGAppsHook python3.pkgs.pip glibcLocales ]; + # Strict deps breaks guake + # See https://github.com/NixOS/nixpkgs/issues/59930 + # and https://github.com/NixOS/nixpkgs/issues/56943 + strictDeps = false; + + nativeBuildInputs = [ gettext gobject-introspection wrapGAppsHook python3.pkgs.pip glibcLocales ]; buildInputs = [ gtk3 keybinder3 libnotify python3 vte ]; @@ -24,12 +29,6 @@ in python3.pkgs.buildPythonApplication rec { PBR_VERSION = version; # pbr needs either .git directory, sdist, or env var - postPatch = '' - # unnecessary /usr/bin/env in Makefile - # https://github.com/Guake/guake/pull/1285 - substituteInPlace "Makefile" --replace "/usr/bin/env python3" "python3" - ''; - makeFlags = [ "prefix=$(out)" ]; diff --git a/pkgs/applications/misc/gummi/default.nix b/pkgs/applications/misc/gummi/default.nix index 6c84f3cbd326522de46bccf8b81d64da4f54bf12..1e237923d0542676615cb1a5a89c4be4808446de 100644 --- a/pkgs/applications/misc/gummi/default.nix +++ b/pkgs/applications/misc/gummi/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { ]; buildInputs = [ glib gnome2.gtksourceview gnome2.pango gtk2-x11 gtkspell2 poppler - gnome3.defaultIconTheme + gnome3.adwaita-icon-theme ]; preConfigure = '' diff --git a/pkgs/applications/misc/gutenberg/default.nix b/pkgs/applications/misc/gutenberg/default.nix deleted file mode 100644 index c5982f68201da20c392c119d69f68609e95c449d..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/gutenberg/default.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ stdenv, fetchFromGitHub, rustPlatform, cmake, pkgconfig, openssl, CoreServices, cf-private }: - -rustPlatform.buildRustPackage rec { - name = "gutenberg-${version}"; - version = "0.4.1"; - - src = fetchFromGitHub { - owner = "Keats"; - repo = "gutenberg"; - rev = "v${version}"; - sha256 = "0is7156aim2ad8xg2f5068crc4gfvm89x8gxa25vc25p0yr1bpla"; - }; - - cargoSha256 = "146vlr85n9d06am5ki76fh1vb5r8a4lzx5b7dmgi292kc3dsn41z"; - - nativeBuildInputs = [ cmake pkgconfig openssl ]; - buildInputs = stdenv.lib.optionals stdenv.isDarwin [ CoreServices cf-private ]; - - postInstall = '' - install -D -m 444 completions/gutenberg.bash \ - -t $out/share/bash-completion/completions - install -D -m 444 completions/_gutenberg \ - -t $out/share/zsh/site-functions - install -D -m 444 completions/gutenberg.fish \ - -t $out/share/fish/vendor_completions.d - ''; - - meta = with stdenv.lib; { - description = "An opinionated static site generator with everything built-in"; - homepage = https://www.getgutenberg.io; - license = licenses.mit; - maintainers = with maintainers; [ dywedir ]; - platforms = platforms.all; - }; -} diff --git a/pkgs/applications/misc/gv/default.nix b/pkgs/applications/misc/gv/default.nix index 036cb104b4805f761764e57058e9c14d67ed3e86..f94f8f5dd707ba4350dc8aced091130aeed1583f 100644 --- a/pkgs/applications/misc/gv/default.nix +++ b/pkgs/applications/misc/gv/default.nix @@ -32,7 +32,7 @@ stdenv.mkDerivation { doCheck = true; meta = { - homepage = http://www.gnu.org/software/gv/; + homepage = https://www.gnu.org/software/gv/; description = "PostScript/PDF document viewer"; longDescription = '' diff --git a/pkgs/applications/misc/gxmessage/default.nix b/pkgs/applications/misc/gxmessage/default.nix index 8401386ead4914297e94658727679c41d4de7441..a9e6d905c284060d548b2f0b2d95055807b9b162 100644 --- a/pkgs/applications/misc/gxmessage/default.nix +++ b/pkgs/applications/misc/gxmessage/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, gnome3, intltool, pkgconfig, texinfo, hicolor-icon-theme }: +{ stdenv, fetchurl, gtk3, intltool, pkgconfig, texinfo, hicolor-icon-theme }: stdenv.mkDerivation rec { name = "gxmessage-${version}"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ intltool gnome3.gtk texinfo hicolor-icon-theme ]; + buildInputs = [ intltool gtk3 texinfo hicolor-icon-theme ]; meta = { description = "A GTK enabled dropin replacement for xmessage"; diff --git a/pkgs/applications/misc/gxneur/default.nix b/pkgs/applications/misc/gxneur/default.nix index ec041902b256f57122baed57e944bd1e8299afa6..7d19a9cb1108a82eb34130e415930aad570c0f69 100644 --- a/pkgs/applications/misc/gxneur/default.nix +++ b/pkgs/applications/misc/gxneur/default.nix @@ -8,14 +8,17 @@ stdenv.mkDerivation { sha256 = "0avmhdcj0hpr55fc0iih8fjykmdhn34c8mwdnqvl8jh4nhxxchxr"; }; + NIX_CFLAGS_COMPILE = "-Wno-deprecated-declarations"; + nativeBuildInputs = [ pkgconfig intltool ]; buildInputs = [ xorg.libX11 glib gtk2 xorg.libXpm xorg.libXt xorg.libXext xneur libglade GConf pcre libappindicator-gtk2 ]; - meta = { + meta = with stdenv.lib; { description = "GUI for XNEUR keyboard layout switcher"; - platforms = stdenv.lib.platforms.linux; + platforms = platforms.linux; + license = with licenses; [ gpl2 gpl3 ]; }; } diff --git a/pkgs/applications/misc/hackrf/default.nix b/pkgs/applications/misc/hackrf/default.nix deleted file mode 100644 index 6186ed6f8f4125be0970b393d07c174c4bfbcd15..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/hackrf/default.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ stdenv, fetchgit, cmake, pkgconfig, libusb, fftwSinglePrec }: - -stdenv.mkDerivation rec { - name = "hackrf-${version}"; - version = "2017.02.1"; - - src = fetchgit { - url = "git://github.com/mossmann/hackrf"; - rev = "refs/tags/v${version}"; - sha256 = "16hd61icvzaciv7s9jpgm9c8q6m4mwvj97gxrb20sc65p5gjb7hv"; - }; - - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ - cmake libusb fftwSinglePrec - ]; - - cmakeFlags = [ "-DUDEV_RULES_GROUP=plugdev" "-DUDEV_RULES_PATH=lib/udev/rules.d" ]; - - preConfigure = '' - cd host - ''; - - meta = with stdenv.lib; { - description = "An open source SDR platform"; - homepage = http://greatscottgadgets.com/hackrf/; - license = licenses.gpl2; - platforms = platforms.all; - maintainers = with maintainers; [ sjmackenzie the-kenny ]; - }; -} diff --git a/pkgs/applications/misc/hamster-time-tracker/default.nix b/pkgs/applications/misc/hamster-time-tracker/default.nix index 2abdce45c95f246630bfdea4860c1cd95466cc81..9360e220ab6a721448aea41e3b579899176e42a3 100644 --- a/pkgs/applications/misc/hamster-time-tracker/default.nix +++ b/pkgs/applications/misc/hamster-time-tracker/default.nix @@ -1,6 +1,7 @@ { stdenv, fetchzip, pythonPackages, docbook2x, libxslt, gnome-doc-utils , intltool, dbus-glib, gnome_python , hicolor-icon-theme +, wafHook }: # TODO: Add optional dependency 'wnck', for "workspace tracking" support. Fixes @@ -17,28 +18,17 @@ pythonPackages.buildPythonApplication rec { sha256 = "1a85rcg561792kdyv744cgzw7mmpmgv6d6li1sijfdpqa1ninf8g"; }; + nativeBuildInputs = [ wafHook intltool ]; buildInputs = [ - docbook2x libxslt gnome-doc-utils intltool dbus-glib hicolor-icon-theme + docbook2x libxslt gnome-doc-utils dbus-glib hicolor-icon-theme ]; propagatedBuildInputs = with pythonPackages; [ pygobject2 pygtk pyxdg gnome_python dbus-python ]; - configurePhase = '' - python waf configure --prefix="$out" - ''; - - buildPhase = '' - python waf build - ''; - postFixup = '' wrapPythonProgramsIn $out/lib/hamster-time-tracker "$out $pythonPath" ''; - installPhase = '' - python waf install - ''; - # error: invalid command 'test' doCheck = false; diff --git a/pkgs/applications/misc/haxor-news/default.nix b/pkgs/applications/misc/haxor-news/default.nix index 1fa016627d4e0badb47c274551d41937cbcdfb4f..7353078600d1af5746fd473a87fc8fda64eb4fdb 100644 --- a/pkgs/applications/misc/haxor-news/default.nix +++ b/pkgs/applications/misc/haxor-news/default.nix @@ -1,4 +1,4 @@ -{ stdenv, python }: +{ stdenv, python, fetchpatch }: with python.pkgs; @@ -11,6 +11,12 @@ buildPythonApplication rec { sha256 = "5b9af8338a0f8b95a8133b66ef106553823813ac171c0aefa3f3f2dbeb4d7f88"; }; + # allow newer click version + patches = fetchpatch { + url = "${meta.homepage}/commit/5b0d3ef1775756ca15b6d83fba1fb751846b5427.patch"; + sha256 = "1551knh2f7yarqzcpip16ijmbx8kzdna8cihxlxx49ww55f5sg67"; + }; + propagatedBuildInputs = [ click colorama @@ -32,7 +38,7 @@ buildPythonApplication rec { homepage = https://github.com/donnemartin/haxor-news; description = "Browse Hacker News like a haxor"; license = licenses.asl20; - maintainers = with maintainers; [ ]; + maintainers = with maintainers; [ matthiasbeyer ]; }; } diff --git a/pkgs/applications/misc/hello-unfree/default.nix b/pkgs/applications/misc/hello-unfree/default.nix index ef378b2c5ffbd08f8a88e4f859d2484c0aeca2b4..1647a09edfd660104a1769949f5cb64e3fb32b79 100644 --- a/pkgs/applications/misc/hello-unfree/default.nix +++ b/pkgs/applications/misc/hello-unfree/default.nix @@ -1,4 +1,4 @@ -{ stdenv }: +{ stdenv, runtimeShell }: stdenv.mkDerivation rec { name = "example-unfree-package-${version}"; @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p $out/bin cat > $out/bin/hello-unfree << EOF - #!/bin/sh + #!${runtimeShell} echo "Hello, you are running an unfree system!" EOF chmod +x $out/bin/hello-unfree diff --git a/pkgs/applications/misc/hello/default.nix b/pkgs/applications/misc/hello/default.nix index 7998d30f253fd49457e30c01969167f68f753f30..c0a39d2d91d387fb6bfe159fa24f24d66142ef95 100644 --- a/pkgs/applications/misc/hello/default.nix +++ b/pkgs/applications/misc/hello/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { GNU Hello is a program that prints "Hello, world!" when you run it. It is fully customizable. ''; - homepage = http://www.gnu.org/software/hello/manual/; + homepage = https://www.gnu.org/software/hello/manual/; license = licenses.gpl3Plus; maintainers = [ maintainers.eelco ]; platforms = platforms.all; diff --git a/pkgs/applications/misc/hivemind/default.nix b/pkgs/applications/misc/hivemind/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..0431f35057bed9c4ad502cf7565116789cb3df82 --- /dev/null +++ b/pkgs/applications/misc/hivemind/default.nix @@ -0,0 +1,21 @@ +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + name = "hivemind-${version}"; + version = "1.0.4"; + goPackagePath = "github.com/DarthSim/hivemind"; + + src = fetchFromGitHub { + owner = "DarthSim"; + repo = "hivemind"; + rev = "v${version}"; + sha256 = "1z2izvyf0j3gi0cas5v22kkmkls03sg67182k8v3p6kwhzn0jw67"; + }; + + meta = with stdenv.lib; { + homepage = https://github.com/DarthSim/; + description = "Process manager for Procfile-based applications"; + license = with licenses; [ mit ]; + maintainers = [ maintainers.sveitser ]; + }; +} diff --git a/pkgs/applications/misc/houdini/runtime.nix b/pkgs/applications/misc/houdini/runtime.nix index b92012a29ddb3e535f448bfd455bcabdd9a5e6a4..500f1df36a0c51d0762fbde547195121c0e8bce4 100644 --- a/pkgs/applications/misc/houdini/runtime.nix +++ b/pkgs/applications/misc/houdini/runtime.nix @@ -29,15 +29,15 @@ let license_dir = "~/.config/houdini"; in stdenv.mkDerivation rec { - version = "16.5.439"; + version = "17.0.352"; name = "houdini-runtime-${version}"; src = requireFile rec { - name = "houdini-${version}-linux_x86_64_gcc4.8.tar.gz"; - sha256 = "7e483072a0e6e751a93f2a2f968cccb2d95559c61106ffeb344c95975704321b"; + name = "houdini-${version}-linux_x86_64_gcc6.3.tar.gz"; + sha256 = "0cl5fkgaplb0cvv7mli06ffc9j4ngpy8hl5zqabj3d645gcgafjg"; message = '' This nix expression requires that ${name} is already part of the store. Download it from https://sidefx.com and add it to the nix store with: - + nix-prefetch-url This can't be done automatically because you need to create an account on diff --git a/pkgs/applications/misc/hovercraft/default.nix b/pkgs/applications/misc/hovercraft/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..ba23078bba9340a720e8e002fd0c46a183b5cd0a --- /dev/null +++ b/pkgs/applications/misc/hovercraft/default.nix @@ -0,0 +1,35 @@ +{ lib +, buildPythonApplication +, isPy3k +, fetchFromGitHub +, manuel +, setuptools +, docutils +, lxml +, svg-path +, pygments +, watchdog +}: + +buildPythonApplication rec { + pname = "hovercraft"; + version = "2.6"; + disabled = ! isPy3k; + + src = fetchFromGitHub { + owner = "regebro"; + repo = "hovercraft"; + rev = version; + sha256 = "150sn6kvqi2s89di1akl5i0g81fasji2ipr12zq5s4dcnhw4r5wp"; + }; + + checkInputs = [ manuel ]; + propagatedBuildInputs = [ setuptools docutils lxml svg-path pygments watchdog ]; + + meta = with lib; { + description = "Makes impress.js presentations from reStructuredText"; + homepage = https://github.com/regebro/hovercraft; + license = licenses.mit; + maintainers = with maintainers; [ goibhniu makefu ]; + }; +} diff --git a/pkgs/applications/misc/hr/default.nix b/pkgs/applications/misc/hr/default.nix index 6b0926db047630b1c2d589ee1eaefc4e98190447..2fd56e3c55529ea549f0e7818175ad783bb62517 100644 --- a/pkgs/applications/misc/hr/default.nix +++ b/pkgs/applications/misc/hr/default.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { homepage = https://github.com/LuRsT/hr; description = "A horizontal bar for your terminal"; license = licenses.mit; - maintainers = [ ]; + maintainers = [ maintainers.matthiasbeyer ]; platforms = platforms.unix; }; } diff --git a/pkgs/applications/misc/hstr/default.nix b/pkgs/applications/misc/hstr/default.nix index 026cf9ecc14a05aca630a0e2a72388bf1aee33f5..1eae8c57fc4ecef582632020414e7f9b1dc47ee0 100644 --- a/pkgs/applications/misc/hstr/default.nix +++ b/pkgs/applications/misc/hstr/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { homepage = https://github.com/dvorka/hstr; description = "Shell history suggest box - easily view, navigate, search and use your command history"; license = stdenv.lib.licenses.asl20; - maintainers = with stdenv.lib.maintainers; [ ]; + maintainers = [ stdenv.lib.maintainers.matthiasbeyer ]; platforms = with stdenv.lib.platforms; linux; # Cannot test others }; diff --git a/pkgs/applications/misc/hugo/default.nix b/pkgs/applications/misc/hugo/default.nix index a6a489492e3135bba2b29348f33e1dea948bf56b..0bb3f15fdc182a9032eb55693ba7818ebbe9e010 100644 --- a/pkgs/applications/misc/hugo/default.nix +++ b/pkgs/applications/misc/hugo/default.nix @@ -1,8 +1,8 @@ -{ stdenv, buildGoPackage, fetchFromGitHub }: +{ stdenv, buildGoModule, fetchFromGitHub }: -buildGoPackage rec { +buildGoModule rec { name = "hugo-${version}"; - version = "0.47.1"; + version = "0.55.4"; goPackagePath = "github.com/gohugoio/hugo"; @@ -10,16 +10,14 @@ buildGoPackage rec { owner = "gohugoio"; repo = "hugo"; rev = "v${version}"; - sha256 = "0n27vyg66jfx4lwswsmdlybly8c9gy5rk7yhy7wzs3rwzlqv1jzj"; + sha256 = "0hbkl8dhhdic0admrkvlp1h1bmfrrwfnvipx27clyk0f88jcvb7y"; }; - goDeps = ./deps.nix; + modSha256 = "0yrwkaaasj9ihjjfbywnzkppix1y2znagg3dkyikk21sl5n0nz23"; buildFlags = "-tags extended"; - postInstall = '' - rm $bin/bin/generate - ''; + subPackages = [ "." ]; meta = with stdenv.lib; { description = "A fast and modern static website engine."; diff --git a/pkgs/applications/misc/hugo/deps.nix b/pkgs/applications/misc/hugo/deps.nix deleted file mode 100644 index 47487029ea0127e5faea76cb38f3d68cc19016a0..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/hugo/deps.nix +++ /dev/null @@ -1,489 +0,0 @@ -# This file was generated by https://github.com/kamilchm/go2nix v1.2.1 -[ - { - goPackagePath = "github.com/BurntSushi/locker"; - fetch = { - type = "git"; - url = "https://github.com/BurntSushi/locker"; - rev = "a6e239ea1c69bff1cfdb20c4b73dadf52f784b6a"; - sha256 = "1xak4aync4klswq5217qvw191asgla51jr42y94vp109lirm5dzg"; - }; - } - { - goPackagePath = "github.com/BurntSushi/toml"; - fetch = { - type = "git"; - url = "https://github.com/BurntSushi/toml"; - rev = "3012a1dbe2e4bd1391d42b32f0577cb7bbc7f005"; - sha256 = "1fjdwwfzyzllgiwydknf1pwjvy49qxfsczqx5gz3y0izs7as99j6"; - }; - } - { - goPackagePath = "github.com/PuerkitoBio/purell"; - fetch = { - type = "git"; - url = "https://github.com/PuerkitoBio/purell"; - rev = "975f53781597ed779763b7b65566e74c4004d8de"; - sha256 = "1j5l793zxrjv09z3cdgs05qn45sbhbm9njsw5cfv168x8z88pd3l"; - }; - } - { - goPackagePath = "github.com/PuerkitoBio/urlesc"; - fetch = { - type = "git"; - url = "https://github.com/PuerkitoBio/urlesc"; - rev = "de5bf2ad457846296e2031421a34e2568e304e35"; - sha256 = "0n0srpqwbaan1wrhh2b7ysz543pjs1xw2rghvqyffg9l0g8kzgcw"; - }; - } - { - goPackagePath = "github.com/alecthomas/chroma"; - fetch = { - type = "git"; - url = "https://github.com/alecthomas/chroma"; - rev = "5d7fef2ae60b501bbf28d476c3f273b8017d8261"; - sha256 = "150jv4vhsdi1gj3liwkgicdrwnzgv5qkq2fwznlnzf64vmfb0b9f"; - }; - } - { - goPackagePath = "github.com/bep/debounce"; - fetch = { - type = "git"; - url = "https://github.com/bep/debounce"; - rev = "844797fa1dd9ba969d71b62797ff19d1e49d4eac"; - sha256 = "1sh4zv0hv7f454mhzpl2mbv7ar5rm00wyy5qr78x1h84bgph87wy"; - }; - } - { - goPackagePath = "github.com/bep/gitmap"; - fetch = { - type = "git"; - url = "https://github.com/bep/gitmap"; - rev = "ecb6fe06dbfd6bb4225e7fda7dc15612ecc8d960"; - sha256 = "0zqdl5h4ayi2gi5aqf35f1sjszhbcriksm2bf84fkrg7ngr48jn6"; - }; - } - { - goPackagePath = "github.com/bep/go-tocss"; - fetch = { - type = "git"; - url = "https://github.com/bep/go-tocss"; - rev = "2abb118dc8688b6c7df44e12f4152c2bded9b19c"; - sha256 = "12q7h6nydklq4kg65kcgd85209rx7zf64ba6nf3k7y16knj4233q"; - }; - } - { - goPackagePath = "github.com/chaseadamsio/goorgeous"; - fetch = { - type = "git"; - url = "https://github.com/chaseadamsio/goorgeous"; - rev = "dcf1ef873b8987bf12596fe6951c48347986eb2f"; - sha256 = "07qdqi46klizq3wigxqbiksnlgbrdc8hvmizgzg0aas5iqy88dcb"; - }; - } - { - goPackagePath = "github.com/cpuguy83/go-md2man"; - fetch = { - type = "git"; - url = "https://github.com/cpuguy83/go-md2man"; - rev = "691ee98543af2f262f35fbb54bdd42f00b9b9cc5"; - sha256 = "1864g10y9n6ni0p1yqjhvwyjdh0lgxnf7dlb0c4njazdg5rppww9"; - }; - } - { - goPackagePath = "github.com/danwakefield/fnmatch"; - fetch = { - type = "git"; - url = "https://github.com/danwakefield/fnmatch"; - rev = "cbb64ac3d964b81592e64f957ad53df015803288"; - sha256 = "0cbf511ppsa6hf59mdl7nbyn2b2n71y0bpkzbmfkdqjhanqh1lqz"; - }; - } - { - goPackagePath = "github.com/disintegration/imaging"; - fetch = { - type = "git"; - url = "https://github.com/disintegration/imaging"; - rev = "0bd5694c78c9c3d9a3cd06a706a8f3c59296a9ac"; - sha256 = "1laxccmzi7q51zxn81ringmdwp8iaipivrl375yc3gq56d70sp0r"; - }; - } - { - goPackagePath = "github.com/dlclark/regexp2"; - fetch = { - type = "git"; - url = "https://github.com/dlclark/regexp2"; - rev = "7632a260cbaf5e7594fc1544a503456ecd0827f1"; - sha256 = "0vhp5r0ywv9p1c74fm8xzclnwx2mg9f0764b3id7a9nwh0plisx2"; - }; - } - { - goPackagePath = "github.com/eknkc/amber"; - fetch = { - type = "git"; - url = "https://github.com/eknkc/amber"; - rev = "cdade1c073850f4ffc70a829e31235ea6892853b"; - sha256 = "152w97yckwncgw7lwjvgd8d00wy6y0nxzlvx72kl7nqqxs9vhxd9"; - }; - } - { - goPackagePath = "github.com/fsnotify/fsnotify"; - fetch = { - type = "git"; - url = "https://github.com/fsnotify/fsnotify"; - rev = "c2828203cd70a50dcccfb2761f8b1f8ceef9a8e9"; - sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g"; - }; - } - { - goPackagePath = "github.com/gobuffalo/envy"; - fetch = { - type = "git"; - url = "https://github.com/gobuffalo/envy"; - rev = "3c96536452167a705ca5a70b831d3810e1e10452"; - sha256 = "0ixqpdmb7kjlarkv0qlbwnbr194sajx9flysnhcldzmciqgk5bqs"; - }; - } - { - goPackagePath = "github.com/gobwas/glob"; - fetch = { - type = "git"; - url = "https://github.com/gobwas/glob"; - rev = "f756513aec94125582ee6c0dc94179251ef87370"; - sha256 = "1pyzlvb950864syf2safazv39s7rpi08r7x2vby82kj9ykqgvhc4"; - }; - } - { - goPackagePath = "github.com/gorilla/websocket"; - fetch = { - type = "git"; - url = "https://github.com/gorilla/websocket"; - rev = "3ff3320c2a1756a3691521efc290b4701575147c"; - sha256 = "1b0kpix2qxv3qiiq739nk9fjh453if0mcpr9gmlizicdpjp5alw2"; - }; - } - { - goPackagePath = "github.com/hashicorp/go-immutable-radix"; - fetch = { - type = "git"; - url = "https://github.com/hashicorp/go-immutable-radix"; - rev = "7f3cd4390caab3250a57f30efdb2a65dd7649ecf"; - sha256 = "13nv1dac6i2mjdy8vsd4vwawwja78vggdjcnj1xfykg2k8jbkphv"; - }; - } - { - goPackagePath = "github.com/hashicorp/golang-lru"; - fetch = { - type = "git"; - url = "https://github.com/hashicorp/golang-lru"; - rev = "0fb14efe8c47ae851c0034ed7a448854d3d34cf3"; - sha256 = "0vg4yn3088ym4sj1d34kr13lp4v5gya7r2nxshp2bz70n46fsqn2"; - }; - } - { - goPackagePath = "github.com/hashicorp/hcl"; - fetch = { - type = "git"; - url = "https://github.com/hashicorp/hcl"; - rev = "ef8a98b0bbce4a65b5aa4c368430a80ddc533168"; - sha256 = "1qalfsc31fra7hcw2lc3s20aj7al62fq3j5fn5kga3mg99b82nyr"; - }; - } - { - goPackagePath = "github.com/jdkato/prose"; - fetch = { - type = "git"; - url = "https://github.com/jdkato/prose"; - rev = "99216ea17cba4e2f2a4e8bca778643e5a529b7aa"; - sha256 = "1mdh276lmj21jbi22ky8ngdsl9hfcdv6czshycbaiwjr5y9cv7bn"; - }; - } - { - goPackagePath = "github.com/joho/godotenv"; - fetch = { - type = "git"; - url = "https://github.com/joho/godotenv"; - rev = "1709ab122c988931ad53508747b3c061400c2984"; - sha256 = "1pym5lydb28ggxrz80q9s26bj2bd80ax1igm1zfhyhx9i3060kif"; - }; - } - { - goPackagePath = "github.com/kyokomi/emoji"; - fetch = { - type = "git"; - url = "https://github.com/kyokomi/emoji"; - rev = "2e9a9507333f3ee28f3fab88c2c3aba34455d734"; - sha256 = "005rxyxlqcd2sfjn686xb52l11wn2w0g5jv042ka6pnsx24r812a"; - }; - } - { - goPackagePath = "github.com/magiconair/properties"; - fetch = { - type = "git"; - url = "https://github.com/magiconair/properties"; - rev = "c2353362d570a7bfa228149c62842019201cfb71"; - sha256 = "1a10362wv8a8qwb818wygn2z48lgzch940hvpv81hv8gc747ajxn"; - }; - } - { - goPackagePath = "github.com/markbates/inflect"; - fetch = { - type = "git"; - url = "https://github.com/markbates/inflect"; - rev = "84854b5b4c0dbb0c107480d480a71f7db1fc7dae"; - sha256 = "0b7shs0mxhkl7v7mwp799n7jgjsdbgi81f5hbaz2b936gbxksw7d"; - }; - } - { - goPackagePath = "github.com/mattn/go-runewidth"; - fetch = { - type = "git"; - url = "https://github.com/mattn/go-runewidth"; - rev = "ce7b0b5c7b45a81508558cd1dba6bb1e4ddb51bb"; - sha256 = "0lc39b6xrxv7h3v3y1kgz49cgi5qxwlygs715aam6ba35m48yi7g"; - }; - } - { - goPackagePath = "github.com/miekg/mmark"; - fetch = { - type = "git"; - url = "https://github.com/miekg/mmark"; - rev = "057eb9e3ae87944c038036d046101dec0c56e21f"; - sha256 = "0hlqcwx6qqgy3vs13r10wn0d9x0xmww1v9jm09y2dp1ykgbampnk"; - }; - } - { - goPackagePath = "github.com/mitchellh/hashstructure"; - fetch = { - type = "git"; - url = "https://github.com/mitchellh/hashstructure"; - rev = "2bca23e0e452137f789efbc8610126fd8b94f73b"; - sha256 = "0vpacsls26474wya360fjhzi6l4y8s8s251c4szvqxh17n5f5gk1"; - }; - } - { - goPackagePath = "github.com/mitchellh/mapstructure"; - fetch = { - type = "git"; - url = "https://github.com/mitchellh/mapstructure"; - rev = "f15292f7a699fcc1a38a80977f80a046874ba8ac"; - sha256 = "0zm3nhdvmj3f8q0vg2sjfw1sm3pwsw0ggz501awz95w99664a8al"; - }; - } - { - goPackagePath = "github.com/muesli/smartcrop"; - fetch = { - type = "git"; - url = "https://github.com/muesli/smartcrop"; - rev = "f6ebaa786a12a0fdb2d7c6dee72808e68c296464"; - sha256 = "0xbv5wbn0z36nkw9ay3ly6z23lpsrs0khryl1w54fz85lvwh66gp"; - }; - } - { - goPackagePath = "github.com/nicksnyder/go-i18n"; - fetch = { - type = "git"; - url = "https://github.com/nicksnyder/go-i18n"; - rev = "04f547cc50da4c144c5fdfd4495aef143637a236"; - sha256 = "1h4ndn822k7i04h9k5dxm6c29mhhhqhl63vzpmz2l1k0zpj7xyd1"; - }; - } - { - goPackagePath = "github.com/olekukonko/tablewriter"; - fetch = { - type = "git"; - url = "https://github.com/olekukonko/tablewriter"; - rev = "d4647c9c7a84d847478d890b816b7d8b62b0b279"; - sha256 = "1274k5r9ardh1f6gsmadxmdds7zy8rkr55fb9swvnm0vazr3y01l"; - }; - } - { - goPackagePath = "github.com/pelletier/go-toml"; - fetch = { - type = "git"; - url = "https://github.com/pelletier/go-toml"; - rev = "c2dbbc24a97911339e01bda0b8cabdbd8f13b602"; - sha256 = "0v1dsqnk5zmn6ir8jgxijx14s47jvijlqfz3aq435snfrgybd5rz"; - }; - } - { - goPackagePath = "github.com/russross/blackfriday"; - fetch = { - type = "git"; - url = "https://github.com/russross/blackfriday"; - rev = "46c73eb196baff5bb07288f245b223bd1a30fba6"; - sha256 = "01z1jsdkac09cw95lqq4pahkw9xnini2mb956lvb772bby2x3dmj"; - }; - } - { - goPackagePath = "github.com/shurcooL/sanitized_anchor_name"; - fetch = { - type = "git"; - url = "https://github.com/shurcooL/sanitized_anchor_name"; - rev = "86672fcb3f950f35f2e675df2240550f2a50762f"; - sha256 = "142m507s9971cl8qdmbcw7sqxnkgi3xqd8wzvfq15p0w7w8i4a3h"; - }; - } - { - goPackagePath = "github.com/spf13/afero"; - fetch = { - type = "git"; - url = "https://github.com/spf13/afero"; - rev = "787d034dfe70e44075ccc060d346146ef53270ad"; - sha256 = "0138rjiacl71h7kvhzinviwvy6qa2m6rflpv9lgqv15hnjvhwvg1"; - }; - } - { - goPackagePath = "github.com/spf13/cast"; - fetch = { - type = "git"; - url = "https://github.com/spf13/cast"; - rev = "8965335b8c7107321228e3e3702cab9832751bac"; - sha256 = "177bk7lq40jbgv9p9r80aydpaccfk8ja3a7jjhfwiwk9r1pa4rr2"; - }; - } - { - goPackagePath = "github.com/spf13/cobra"; - fetch = { - type = "git"; - url = "https://github.com/spf13/cobra"; - rev = "ff0d02e8555041edecbd0ce27f32c6ea4b214483"; - sha256 = "1ilw6b2nir1bg7hmx8hrn60za37qqm18xvamv90fx5vxq85fsml9"; - }; - } - { - goPackagePath = "github.com/spf13/fsync"; - fetch = { - type = "git"; - url = "https://github.com/spf13/fsync"; - rev = "12a01e648f05a938100a26858d2d59a120307a18"; - sha256 = "1vvbgxbbsc4mvi1axgqgn9pzjz1p495dsmwpc7mr8qxh8f6s0nhv"; - }; - } - { - goPackagePath = "github.com/spf13/jwalterweatherman"; - fetch = { - type = "git"; - url = "https://github.com/spf13/jwalterweatherman"; - rev = "14d3d4c518341bea657dd8a226f5121c0ff8c9f2"; - sha256 = "1f9154lijbz0kkgqwmbphykwl4adv4fvkx6n1p7fdq3x5j9g8i17"; - }; - } - { - goPackagePath = "github.com/spf13/nitro"; - fetch = { - type = "git"; - url = "https://github.com/spf13/nitro"; - rev = "24d7ef30a12da0bdc5e2eb370a79c659ddccf0e8"; - sha256 = "143sbpx0jdgf8f8ayv51x6l4jg6cnv6nps6n60qxhx4vd90s6mib"; - }; - } - { - goPackagePath = "github.com/spf13/pflag"; - fetch = { - type = "git"; - url = "https://github.com/spf13/pflag"; - rev = "947b89bd1b7dabfed991ac30e1a56f5193f0c88b"; - sha256 = "0n4h5cb07n96fcw9k8dwnj6yisf2x357lsiwjmrq6xr1vkzdlk8c"; - }; - } - { - goPackagePath = "github.com/spf13/viper"; - fetch = { - type = "git"; - url = "https://github.com/spf13/viper"; - rev = "907c19d40d9a6c9bb55f040ff4ae45271a4754b9"; - sha256 = "177ziws6mwxdlvicmgpv7w7zy5ri2wgnw2f2v3789b5skv9d6a6b"; - }; - } - { - goPackagePath = "github.com/tdewolff/minify"; - fetch = { - type = "git"; - url = "https://github.com/tdewolff/minify"; - rev = "948b6490cf3cacab5f4d7474104c3d21bf6eda46"; - sha256 = "1js5l0405kbic53qgim0lj3crw7cc2a2sbga35h9qcnm8l3cx22f"; - }; - } - { - goPackagePath = "github.com/tdewolff/parse"; - fetch = { - type = "git"; - url = "https://github.com/tdewolff/parse"; - rev = "dd9676af8dd934a61082c5b3038e79626847fa32"; - sha256 = "1hp9qh8knx3q57aw5qavsf7ia3mxm8ka0bk6kjkqkqq8k9jq97qk"; - }; - } - { - goPackagePath = "github.com/wellington/go-libsass"; - fetch = { - type = "git"; - url = "https://github.com/wellington/go-libsass"; - rev = "615eaa47ef794d037c1906a0eb7bf85375a5decf"; - sha256 = "0imjiskn4vq7nml5jwb1scgl61jg53cfpkjnb9rsc6m8gsd8s16s"; - }; - } - { - goPackagePath = "github.com/yosssi/ace"; - fetch = { - type = "git"; - url = "https://github.com/yosssi/ace"; - rev = "2b21b56204aee785bf8d500c3f9dcbe3ed7d4515"; - sha256 = "0cgpq1zdnh8l8zsn9w63asc9k7cm6k4qvjgrb4hr1106h8fjwfma"; - }; - } - { - goPackagePath = "golang.org/x/image"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/image"; - rev = "c73c2afc3b812cdd6385de5a50616511c4a3d458"; - sha256 = "1kkafy29vz5xf6r29ghbvvbwrgjxwxvzk6dsa2qhyp1ddk6l2vkz"; - }; - } - { - goPackagePath = "golang.org/x/net"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/net"; - rev = "922f4815f713f213882e8ef45e0d315b164d705c"; - sha256 = "1ci1rxk2d6hmfsjjc19n2sxhyn4jqr5ia3ykyah1h08p0pn7k52w"; - }; - } - { - goPackagePath = "golang.org/x/sync"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/sync"; - rev = "1d60e4601c6fd243af51cc01ddf169918a5407ca"; - sha256 = "046jlanz2lkxq1r57x9bl6s4cvfqaic6p2xybsj8mq1120jv4rs6"; - }; - } - { - goPackagePath = "golang.org/x/sys"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/sys"; - rev = "4ea2f632f6e912459fe60b26b1749377f0d889d5"; - sha256 = "16pdi4mmjlcrjdcz7k559jqnsvkhdmff68bbqq7ii1lp8vrpqqmy"; - }; - } - { - goPackagePath = "golang.org/x/text"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/text"; - rev = "6e3c4e7365ddcc329f090f96e4348398f6310088"; - sha256 = "1r511ncipn7sdlssn06fpzcpy4mp4spagni4ryxq86p2b0bi8pn4"; - }; - } - { - goPackagePath = "gopkg.in/yaml.v2"; - fetch = { - type = "git"; - url = "https://gopkg.in/yaml.v2"; - rev = "5420a8b6744d3b0345ab293f6fcba19c978f1183"; - sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1"; - }; - } -] diff --git a/pkgs/applications/misc/hyper/default.nix b/pkgs/applications/misc/hyper/default.nix index 5e1626e12c579dcb151ddc96a1a33af7403cb8f3..2fd7e2f94af0026deb3b5537dd0cce14d6794225 100644 --- a/pkgs/applications/misc/hyper/default.nix +++ b/pkgs/applications/misc/hyper/default.nix @@ -11,11 +11,11 @@ let ]; in stdenv.mkDerivation rec { - version = "2.0.0"; + version = "2.1.2"; name = "hyper-${version}"; src = fetchurl { url = "https://github.com/zeit/hyper/releases/download/${version}/hyper_${version}_amd64.deb"; - sha256 = "04241kjy65pnp5q9z901910rmvcx18x0qaqfl31i0l4c2xj83ws0"; + sha256 = "1n4qlbk7q9zkhhg72mdks95g15xgyrc6ixf882ghvrqghd4zxplm"; }; buildInputs = [ dpkg ]; unpackPhase = '' diff --git a/pkgs/applications/misc/icesl/default.nix b/pkgs/applications/misc/icesl/default.nix index 49b1741fd5af564427698b47137a4852b77f80ff..c0c1faef09d24da853fc1f0efbeed7a58260d4d4 100644 --- a/pkgs/applications/misc/icesl/default.nix +++ b/pkgs/applications/misc/icesl/default.nix @@ -6,10 +6,10 @@ stdenv.mkDerivation rec { name = "iceSL-${version}"; version = "2.1.10"; - src = if stdenv.system == "x86_64-linux" then fetchzip { + src = if stdenv.hostPlatform.system == "x86_64-linux" then fetchzip { url = "https://gforge.inria.fr/frs/download.php/file/37268/icesl${version}-amd64.zip"; sha256 = "0dv3mq6wy46xk9blzzmgbdxpsjdaxid3zadfrysxlhmgl7zb2cn2"; - } else if stdenv.system == "i686-linux" then fetchzip { + } else if stdenv.hostPlatform.system == "i686-linux" then fetchzip { url = "https://gforge.inria.fr/frs/download.php/file/37267/icesl${version}-i386.zip"; sha256 = "0sl54fsb2gz6dy0bwdscpdq1ab6ph5b7zald3bwzgkqsvna7p1jr"; } else throw "Unsupported architecture"; diff --git a/pkgs/applications/misc/ikiwiki/default.nix b/pkgs/applications/misc/ikiwiki/default.nix index 6e4fc2065885987534cb0c3106962c5d0f646530..957f0f7f68bbb8600882c3494329b2e325e48228 100644 --- a/pkgs/applications/misc/ikiwiki/default.nix +++ b/pkgs/applications/misc/ikiwiki/default.nix @@ -1,13 +1,9 @@ -{ stdenv, fetchurl, perl, gettext, makeWrapper, PerlMagick, YAML -, TextMarkdown, URI, HTMLParser, HTMLScrubber, HTMLTemplate, TimeDate -, CGISession, CGIFormBuilder, DBFile, LocaleGettext, RpcXML, XMLSimple -, YAMLLibYAML, which, HTMLTree, AuthenPassphrase, NetOpenIDConsumer -, LWPxParanoidAgent, CryptSSLeay +{ stdenv, fetchurl, perlPackages, gettext, makeWrapper, PerlMagick, which , gitSupport ? false, git ? null , docutilsSupport ? false, python ? null, docutils ? null , monotoneSupport ? false, monotone ? null , bazaarSupport ? false, bazaar ? null -, cvsSupport ? false, cvs ? null, cvsps ? null, Filechdir ? null +, cvsSupport ? false, cvs ? null, cvsps ? null , subversionSupport ? false, subversion ? null , mercurialSupport ? false, mercurial ? null , extraUtils ? [] @@ -17,7 +13,7 @@ assert docutilsSupport -> (python != null && docutils != null); assert gitSupport -> (git != null); assert monotoneSupport -> (monotone != null); assert bazaarSupport -> (bazaar != null); -assert cvsSupport -> (cvs != null && cvsps != null && Filechdir != null); +assert cvsSupport -> (cvs != null && cvsps != null && perlPackages.Filechdir != null); assert subversionSupport -> (subversion != null); assert mercurialSupport -> (mercurial != null); @@ -35,20 +31,21 @@ stdenv.mkDerivation { sha256 = "00d7yzv426fvqbhvzyafddv7fa6b4j2647b0wi371wd5yjj9j3sz"; }; - buildInputs = [ perl TextMarkdown URI HTMLParser HTMLScrubber HTMLTemplate - TimeDate gettext makeWrapper DBFile CGISession CGIFormBuilder LocaleGettext - RpcXML XMLSimple PerlMagick YAML YAMLLibYAML which HTMLTree AuthenPassphrase - NetOpenIDConsumer LWPxParanoidAgent CryptSSLeay ] + buildInputs = [ which ] + ++ (with perlPackages; [ perl TextMarkdown URI HTMLParser HTMLScrubber HTMLTemplate + TimeDate gettext makeWrapper DBFile CGISession CGIFormBuilder LocaleGettext + RpcXML XMLSimple PerlMagick YAML YAMLLibYAML HTMLTree AuthenPassphrase + NetOpenIDConsumer LWPxParanoidAgent CryptSSLeay ]) ++ lib.optionals docutilsSupport [python docutils] ++ lib.optionals gitSupport [git] ++ lib.optionals monotoneSupport [monotone] ++ lib.optionals bazaarSupport [bazaar] - ++ lib.optionals cvsSupport [cvs cvsps Filechdir] + ++ lib.optionals cvsSupport [cvs cvsps perlPackages.Filechdir] ++ lib.optionals subversionSupport [subversion] ++ lib.optionals mercurialSupport [mercurial]; patchPhase = '' - sed -i s@/usr/bin/perl@${perl}/bin/perl@ pm_filter mdwn2man + sed -i s@/usr/bin/perl@${perlPackages.perl}/bin/perl@ pm_filter mdwn2man sed -i s@/etc/ikiwiki@$out/etc@ Makefile.PL sed -i /ENV{PATH}/d ikiwiki.in # State the gcc dependency, and make the cgi use our wrapper @@ -60,7 +57,7 @@ stdenv.mkDerivation { postInstall = '' for a in "$out/bin/"*; do - wrapProgram $a --suffix PERL5LIB : $PERL5LIB --prefix PATH : ${perl}/bin:$out/bin \ + wrapProgram $a --suffix PERL5LIB : $PERL5LIB --prefix PATH : ${perlPackages.perl}/bin:$out/bin \ ${lib.optionalString gitSupport ''--prefix PATH : ${git}/bin \''} ${lib.optionalString monotoneSupport ''--prefix PATH : ${monotone}/bin \''} ${lib.optionalString bazaarSupport ''--prefix PATH : ${bazaar}/bin \''} diff --git a/pkgs/applications/misc/img2pdf/default.nix b/pkgs/applications/misc/img2pdf/default.nix index 9b6ac086efdf55ec77390920ba23f5bb1ad759b1..902e9268f7222a786841eb8b2fd33da1413ead30 100644 --- a/pkgs/applications/misc/img2pdf/default.nix +++ b/pkgs/applications/misc/img2pdf/default.nix @@ -4,11 +4,11 @@ with python3Packages; buildPythonApplication rec { pname = "img2pdf"; - version = "0.3.1"; + version = "0.3.3"; src = fetchPypi { inherit pname version; - sha256 = "071s3gf28nb8ifxkix7dzjny6vib7791mnp0v3f4zagcjcic22a4"; + sha256 = "1ksn33j9d9df04n4jx7dli70d700rafbm37gjaz6lwsswrzc2xwx"; }; doCheck = false; # needs pdfrw diff --git a/pkgs/applications/misc/ipmicfg/default.nix b/pkgs/applications/misc/ipmicfg/default.nix index e150ab457e07891abbe3ce8792eac62f8b2abf46..d9bccee889abe7c428da85a7bc258ddb3b3b3ffb 100644 --- a/pkgs/applications/misc/ipmicfg/default.nix +++ b/pkgs/applications/misc/ipmicfg/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { name = "ipmicfg-${version}"; - version = "1.28.0"; - buildVersion = "180302"; + version = "1.29.0"; + buildVersion = "181029"; src = fetchzip { url = "ftp://ftp.supermicro.com/utility/IPMICFG/IPMICFG_${version}_build.${buildVersion}.zip"; - sha256 = "0hw853cwaaxmxy1sa3m7l9gqalwpbbvp4ghk8inr7dzwxjljmr02"; + sha256 = "18nljs4xg6hffahyd0d5zlg1jhbwl7zr9ym925bkzwcnrkgqs2v3"; extraPostFetch = "chmod u+rwX,go-rwx+X $out/"; }; diff --git a/pkgs/applications/misc/ipmiview/default.nix b/pkgs/applications/misc/ipmiview/default.nix index 58fcd59a2b2fde10c411f81c2d9e339094a9b81d..b5fa9143ddbb9cea5ba94e544998cfbc96dcd542 100644 --- a/pkgs/applications/misc/ipmiview/default.nix +++ b/pkgs/applications/misc/ipmiview/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { sha256 = "1wp22wm7smlsb25x0cck4p660cycfczxj381930crd1qrf68mw4h"; }; - buildInputs = [ patchelf makeWrapper ]; + nativeBuildInputs = [ patchelf makeWrapper ]; buildPhase = with xorg; '' patchelf --set-rpath "${stdenv.lib.makeLibraryPath [ libX11 libXext libXrender libXtst libXi ]}" ./jre/lib/amd64/xawt/libmawt.so diff --git a/pkgs/applications/misc/iterm2/default.nix b/pkgs/applications/misc/iterm2/default.nix index fa2ac38d383b802945a6f3af67da5c9263fcaad2..e493226be60a52d64341b8a2e5deed07f8fb56db 100644 --- a/pkgs/applications/misc/iterm2/default.nix +++ b/pkgs/applications/misc/iterm2/default.nix @@ -15,6 +15,7 @@ stdenv.mkDerivation rec { postPatch = '' sed -i -e 's/CODE_SIGN_IDENTITY = "Developer ID Application"/CODE_SIGN_IDENTITY = ""/g' ./iTerm2.xcodeproj/project.pbxproj ''; + preConfigure = "LD=$CC"; makeFlagsArray = ["Deployment"]; installPhase = '' mkdir -p "$out/Applications" diff --git a/pkgs/applications/misc/jbidwatcher/default.nix b/pkgs/applications/misc/jbidwatcher/default.nix index ed8573b885079e7c5e770fcf5901e98defe7bda2..72a24026a89d72eaa121104cb498582db4f8dfa6 100644 --- a/pkgs/applications/misc/jbidwatcher/default.nix +++ b/pkgs/applications/misc/jbidwatcher/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, java }: +{ stdenv, fetchurl, java, runtimeShell }: stdenv.mkDerivation rec { pname = "jbidwatcher"; @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p "$out/bin" - echo > "$out/bin/${pname}" "#!/bin/sh" + echo > "$out/bin/${pname}" "#!${runtimeShell}" echo >>"$out/bin/${pname}" "${java}/bin/java -Xmx512m -jar ${jarfile}" chmod +x "$out/bin/${pname}" install -D -m644 ${src} ${jarfile} diff --git a/pkgs/applications/misc/jekyll/basic/Gemfile.lock b/pkgs/applications/misc/jekyll/basic/Gemfile.lock index 15beb8a88fb15e852bb6bf2c97a3a2299eda6a61..f4c1aceb4f00a398923f8a971da83f0016acf6d4 100644 --- a/pkgs/applications/misc/jekyll/basic/Gemfile.lock +++ b/pkgs/applications/misc/jekyll/basic/Gemfile.lock @@ -1,29 +1,29 @@ GEM remote: https://rubygems.org/ specs: - activesupport (4.2.10) + activesupport (4.2.11.1) i18n (~> 0.7) minitest (~> 5.1) thread_safe (~> 0.3, >= 0.3.4) tzinfo (~> 1.1) - addressable (2.5.2) + addressable (2.6.0) public_suffix (>= 2.0.2, < 4.0) colorator (1.1.0) - concurrent-ruby (1.0.5) + concurrent-ruby (1.1.5) em-websocket (0.5.1) eventmachine (>= 0.12.9) http_parser.rb (~> 0.6.0) eventmachine (1.2.7) - ffi (1.9.25) + ffi (1.10.0) forwardable-extended (2.6.0) gemoji (3.0.0) - html-pipeline (2.8.0) + html-pipeline (2.11.0) activesupport (>= 2) nokogiri (>= 1.4) http_parser.rb (0.6.0) i18n (0.9.5) concurrent-ruby (~> 1.0) - jekyll (3.8.3) + jekyll (3.8.5) addressable (~> 2.4) colorator (~> 1.0) em-websocket (~> 0.5) @@ -38,42 +38,42 @@ GEM safe_yaml (~> 1.0) jekyll-avatar (0.6.0) jekyll (~> 3.0) - jekyll-mentions (1.4.0) + jekyll-mentions (1.5.1) html-pipeline (~> 2.3) - jekyll (~> 3.0) + jekyll (>= 3.7, < 5.0) jekyll-sass-converter (1.5.2) sass (~> 3.4) - jekyll-seo-tag (2.5.0) - jekyll (~> 3.3) - jekyll-sitemap (1.2.0) + jekyll-seo-tag (2.6.0) jekyll (~> 3.3) - jekyll-watch (2.0.0) + jekyll-sitemap (1.3.1) + jekyll (>= 3.7, < 5.0) + jekyll-watch (2.2.1) listen (~> 3.0) - jemoji (0.10.0) + jemoji (0.11.0) gemoji (~> 3.0) html-pipeline (~> 2.2) - jekyll (~> 3.0) + jekyll (>= 3.0, < 5.0) kramdown (1.17.0) - liquid (4.0.0) + liquid (4.0.3) listen (3.1.5) rb-fsevent (~> 0.9, >= 0.9.4) rb-inotify (~> 0.9, >= 0.9.7) ruby_dep (~> 1.2) mercenary (0.3.6) - mini_portile2 (2.3.0) + mini_portile2 (2.4.0) minitest (5.11.3) - nokogiri (1.8.2) - mini_portile2 (~> 2.3.0) - pathutil (0.16.1) + nokogiri (1.10.3) + mini_portile2 (~> 2.4.0) + pathutil (0.16.2) forwardable-extended (~> 2.6) - public_suffix (3.0.2) + public_suffix (3.0.3) rb-fsevent (0.10.3) - rb-inotify (0.9.10) - ffi (>= 0.5.0, < 2) - rouge (3.1.1) + rb-inotify (0.10.0) + ffi (~> 1.0) + rouge (3.3.0) ruby_dep (1.5.0) - safe_yaml (1.0.4) - sass (3.5.6) + safe_yaml (1.0.5) + sass (3.7.4) sass-listen (~> 4.0.0) sass-listen (4.0.0) rb-fsevent (~> 0.9, >= 0.9.4) @@ -96,4 +96,4 @@ DEPENDENCIES rouge BUNDLED WITH - 1.14.6 + 1.17.2 diff --git a/pkgs/applications/misc/jekyll/basic/gemset.nix b/pkgs/applications/misc/jekyll/basic/gemset.nix index a75f74119ca75b36006249914d0b90650a9d9f86..0c71fbe653dd6dbf917b336d338bbf932b07fb2b 100644 --- a/pkgs/applications/misc/jekyll/basic/gemset.nix +++ b/pkgs/applications/misc/jekyll/basic/gemset.nix @@ -1,23 +1,29 @@ { activesupport = { dependencies = ["i18n" "minitest" "thread_safe" "tzinfo"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0s12j8vl8vrxfngkdlz9g8bpz9akq1z42d57mx5r537b2pji8nr7"; + sha256 = "1vbq7a805bfvyik2q3kl9s3r418f5qzvysqbz2cwy4hr7m2q4ir6"; type = "gem"; }; - version = "4.2.10"; + version = "4.2.11.1"; }; addressable = { dependencies = ["public_suffix"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0viqszpkggqi8hq87pqp0xykhvz60g99nwmkwsb0v45kc2liwxvk"; + sha256 = "0bcm2hchn897xjhqj9zzsxf3n9xhddymj4lsclz508f4vw3av46l"; type = "gem"; }; - version = "2.5.2"; + version = "2.6.0"; }; colorator = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0f7wvpam948cglrciyqd798gdc6z3cfijciavd0dfixgaypmvy72"; @@ -26,15 +32,19 @@ version = "1.1.0"; }; concurrent-ruby = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "183lszf5gx84kcpb779v6a2y0mx9sssy8dgppng1z9a505nj1qcf"; + sha256 = "1x07r23s7836cpp5z9yrlbpljcxpax14yw4fy4bnp6crhr6x24an"; type = "gem"; }; - version = "1.0.5"; + version = "1.1.5"; }; em-websocket = { dependencies = ["eventmachine" "http_parser.rb"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1bsw8vjz0z267j40nhbmrvfz7dvacq4p0pagvyp17jif6mj6v7n3"; @@ -43,6 +53,8 @@ version = "0.5.1"; }; eventmachine = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0wh9aqb0skz80fhfn66lbpr4f86ya2z5rx6gm5xlfhd05bj1ch4r"; @@ -51,14 +63,18 @@ version = "1.2.7"; }; ffi = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0jpm2dis1j7zvvy3lg7axz9jml316zrn7s0j59vyq3qr127z0m7q"; + sha256 = "0j8pzj8raxbir5w5k6s7a042sb5k02pg0f8s4na1r5lan901j00p"; type = "gem"; }; - version = "1.9.25"; + version = "1.10.0"; }; forwardable-extended = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "15zcqfxfvsnprwm8agia85x64vjzr2w0xn9vxfnxzgcv8s699v0v"; @@ -67,6 +83,8 @@ version = "2.6.0"; }; gemoji = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1h85qpn2xbmsn8ssf2fqzlqg181j000m5z4l3g26r7vblncg162d"; @@ -76,14 +94,18 @@ }; html-pipeline = { dependencies = ["activesupport" "nokogiri"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "07m365sbabwxf4ad29ykgxrln68ma7va0hqqspv26s7yg8pdgixf"; + sha256 = "14659ap360gzmrxl8mb28ys6mld7xw3q4q7pqy0l1cn67szdq779"; type = "gem"; }; - version = "2.8.0"; + version = "2.11.0"; }; "http_parser.rb" = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "15nidriy0v5yqfjsgsra51wmknxci2n2grliz78sf9pga3n0l7gi"; @@ -93,6 +115,8 @@ }; i18n = { dependencies = ["concurrent-ruby"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "038qvz7kd3cfxk8bvagqhakx68pfbnmghpdkx7573wbf0maqp9a3"; @@ -102,15 +126,19 @@ }; jekyll = { dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1iw90wihk9dscgmppf5v6lysg3kjmnx50mjyl4gghkdb4spw97xk"; + sha256 = "1nn2sc308l2mz0yiall4r90l6vy67qp4sy9zapi73a948nd4a5k3"; type = "gem"; }; - version = "3.8.3"; + version = "3.8.5"; }; jekyll-avatar = { dependencies = ["jekyll"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "124624r83pmn7sp2idnsph9m1bbdiha5jnza4ypna8w2inpih51p"; @@ -120,15 +148,19 @@ }; jekyll-mentions = { dependencies = ["html-pipeline" "jekyll"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "042z02j0chv679s8imciiy44fgxh9028q8n95w48i0xrfrhyzzfb"; + sha256 = "1r81nbw598s485jsppbpy9kwa471w1rdkpdn3a1mq0swg87cp67v"; type = "gem"; }; - version = "1.4.0"; + version = "1.5.1"; }; jekyll-sass-converter = { dependencies = ["sass"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "008ikh5fk0n6ri54mylcl8jn0mq8p2nfyfqif2q3pp0lwilkcxsk"; @@ -138,41 +170,51 @@ }; jekyll-seo-tag = { dependencies = ["jekyll"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "19yfr5i04gm50swbc6xxf4090z5z1v0kjfnvh695ydq1dkyx1csl"; + sha256 = "104v01vh7frgyra3s32wap1ag9fxcm8pgb8v957khzskqy2jh7am"; type = "gem"; }; - version = "2.5.0"; + version = "2.6.0"; }; jekyll-sitemap = { dependencies = ["jekyll"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0xy93ysl1q8r4xhbnffycvsslja0dskh2z2pl1jnykwsy27dc89n"; + sha256 = "0d3wqvbn37b24ag31xchb5hhnwfl6fnw6pyzp434jggbssxy0a5m"; type = "gem"; }; - version = "1.2.0"; + version = "1.3.1"; }; jekyll-watch = { dependencies = ["listen"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0m7scvj3ki8bmyx5v8pzibpg6my10nycnc28lip98dskf8iakprp"; + sha256 = "1qd7hy1kl87fl7l0frw5qbn22x7ayfzlv9a5ca1m59g0ym1ysi5w"; type = "gem"; }; - version = "2.0.0"; + version = "2.2.1"; }; jemoji = { dependencies = ["gemoji" "html-pipeline" "jekyll"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0r6ja4bw2c50hb585cmqscbmm27982kkskyh7gk6j0mr70jqlz25"; + sha256 = "0x463l6a8ikaf6pzap0dgh4gfvlkx56g6kdasj9jfb1ld3fvl99k"; type = "gem"; }; - version = "0.10.0"; + version = "0.11.0"; }; kramdown = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1n1c4jmrh5ig8iv1rw81s4mw4xsp4v97hvf8zkigv4hn5h542qjq"; @@ -181,15 +223,19 @@ version = "1.17.0"; }; liquid = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "17fa0jgwm9a935fyvzy8bysz7j5n1vf1x2wzqkdfd5k08dbw3x2y"; + sha256 = "0zhg5ha8zy8zw9qr3fl4wgk4r5940n4128xm2pn4shpbzdbsj5by"; type = "gem"; }; - version = "4.0.0"; + version = "4.0.3"; }; listen = { dependencies = ["rb-fsevent" "rb-inotify" "ruby_dep"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "01v5mrnfqm6sgm8xn2v5swxsn1wlmq7rzh2i48d4jzjsc7qvb6mx"; @@ -198,6 +244,8 @@ version = "3.1.5"; }; mercenary = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "10la0xw82dh5mqab8bl0dk21zld63cqxb1g16fk8cb39ylc4n21a"; @@ -206,14 +254,18 @@ version = "0.3.6"; }; mini_portile2 = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "13d32jjadpjj6d2wdhkfpsmy68zjx90p49bgf8f7nkpz86r1fr11"; + sha256 = "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy"; type = "gem"; }; - version = "2.3.0"; + version = "2.4.0"; }; minitest = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq"; @@ -223,31 +275,39 @@ }; nokogiri = { dependencies = ["mini_portile2"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "05fm3xh462glvs0rwnfmc1spmgl4ljg2giifynbmwwqvl42zaaiq"; + sha256 = "02bjydih0j515szfv9mls195cvpyidh6ixm7dwbl3s2sbaxxk5s4"; type = "gem"; }; - version = "1.8.2"; + version = "1.10.3"; }; pathutil = { dependencies = ["forwardable-extended"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0wc18ms1rzi44lpjychyw2a96jcmgxqdvy2949r4vvb5f4p0lgvz"; + sha256 = "12fm93ljw9fbxmv2krki5k5wkvr7560qy8p4spvb9jiiaqv78fz4"; type = "gem"; }; - version = "0.16.1"; + version = "0.16.2"; }; public_suffix = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1x5h1dh1i3gwc01jbg01rly2g6a1qwhynb1s8a30ic507z1nh09s"; + sha256 = "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l"; type = "gem"; }; - version = "3.0.2"; + version = "3.0.3"; }; rb-fsevent = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1lm1k7wpz69jx7jrc92w3ggczkjyjbfziq5mg62vjnxmzs383xx8"; @@ -257,22 +317,28 @@ }; rb-inotify = { dependencies = ["ffi"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0yfsgw5n7pkpyky6a9wkf1g9jafxb0ja7gz0qw0y14fd2jnzfh71"; + sha256 = "1fs7hxm9g6ywv2yih83b879klhc4fs8i0p9166z795qmd77dk0a4"; type = "gem"; }; - version = "0.9.10"; + version = "0.10.0"; }; rouge = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1sfhy0xxqjnzqa7qxmpz1bmy0mzcr55qyvi410gsb6d6i4ialbw3"; + sha256 = "1digsi2s8wyzx8vsqcxasw205lg6s7izx8jypl8rrpjwshmv83ql"; type = "gem"; }; - version = "3.1.1"; + version = "3.3.0"; }; ruby_dep = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1c1bkl97i9mkcvkn1jks346ksnvnnp84cs22gwl0vd7radybrgy5"; @@ -281,24 +347,30 @@ version = "1.5.0"; }; safe_yaml = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094"; + sha256 = "0j7qv63p0vqcd838i2iy2f76c3dgwzkiz1d1xkg7n0pbnxj2vb56"; type = "gem"; }; - version = "1.0.4"; + version = "1.0.5"; }; sass = { dependencies = ["sass-listen"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "19wyzp9qsg8hdkkxlsv713w0qmy66qrdp0shj42587ssx4qhrlag"; + sha256 = "0p95lhs0jza5l7hqci1isflxakz83xkj97lkvxl919is0lwhv2w0"; type = "gem"; }; - version = "3.5.6"; + version = "3.7.4"; }; sass-listen = { dependencies = ["rb-fsevent" "rb-inotify"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0xw3q46cmahkgyldid5hwyiwacp590zj2vmswlll68ryvmvcp7df"; @@ -307,6 +379,8 @@ version = "4.0.0"; }; thread_safe = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy"; @@ -316,6 +390,8 @@ }; tzinfo = { dependencies = ["thread_safe"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1fjx9j327xpkkdlxwmkl3a8wqj7i4l4jwlrv3z13mg95z9wl253z"; diff --git a/pkgs/applications/misc/jekyll/default.nix b/pkgs/applications/misc/jekyll/default.nix index ce3c318f678053bb1bab729ea383e569de594cfc..34cf0e21db7b724c708f0b37968b2ece39527692 100644 --- a/pkgs/applications/misc/jekyll/default.nix +++ b/pkgs/applications/misc/jekyll/default.nix @@ -1,17 +1,10 @@ -{ lib, bundlerEnv, ruby +{ lib, bundlerApp, ruby , withOptionalDependencies ? false }: -# Bundix: -# nix-shell -p bundix zlib -bundlerEnv rec { - name = pname + "-" + version; +bundlerApp rec { pname = "jekyll"; - version = (import - (if withOptionalDependencies - then ./full/gemset.nix - else ./basic/gemset.nix)) - .jekyll.version; + exes = [ "jekyll" ]; inherit ruby; gemdir = if withOptionalDependencies diff --git a/pkgs/applications/misc/jekyll/full/Gemfile.lock b/pkgs/applications/misc/jekyll/full/Gemfile.lock index 0689bad59806272d4f8f62d8ba0889eee9599009..f61e985cbf76a0674896c38b48b6a1c87a2cf960 100644 --- a/pkgs/applications/misc/jekyll/full/Gemfile.lock +++ b/pkgs/applications/misc/jekyll/full/Gemfile.lock @@ -1,7 +1,7 @@ GEM remote: https://rubygems.org/ specs: - activesupport (4.2.10) + activesupport (4.2.11.1) i18n (~> 0.7) minitest (~> 5.1) thread_safe (~> 0.3, >= 0.3.4) @@ -14,27 +14,27 @@ GEM coffee-script (2.4.1) coffee-script-source execjs - coffee-script-source (1.11.1) + coffee-script-source (1.12.2) colorator (1.1.0) - concurrent-ruby (1.0.5) + concurrent-ruby (1.1.5) em-websocket (0.5.1) eventmachine (>= 0.12.9) http_parser.rb (~> 0.6.0) eventmachine (1.2.7) execjs (2.7.0) - faraday (0.15.2) + faraday (0.15.4) multipart-post (>= 1.2, < 3) fast-stemmer (1.0.2) - ffi (1.9.25) + ffi (1.10.0) forwardable-extended (2.6.0) gemoji (3.0.0) - html-pipeline (2.8.0) + html-pipeline (2.11.0) activesupport (>= 2) nokogiri (>= 1.4) http_parser.rb (0.6.0) i18n (0.9.5) concurrent-ruby (~> 1.0) - jekyll (3.8.3) + jekyll (3.8.5) addressable (~> 2.4) colorator (~> 1.0) em-websocket (~> 0.5) @@ -49,33 +49,33 @@ GEM safe_yaml (~> 1.0) jekyll-avatar (0.6.0) jekyll (~> 3.0) - jekyll-coffeescript (1.1.1) + jekyll-coffeescript (1.2.2) coffee-script (~> 2.2) - coffee-script-source (~> 1.11.1) - jekyll-feed (0.10.0) - jekyll (~> 3.3) + coffee-script-source (~> 1.12) + jekyll-feed (0.12.1) + jekyll (>= 3.7, < 5.0) jekyll-gist (1.5.0) octokit (~> 4.2) - jekyll-mentions (1.4.0) + jekyll-mentions (1.5.1) html-pipeline (~> 2.3) - jekyll (~> 3.0) + jekyll (>= 3.7, < 5.0) jekyll-paginate (1.1.0) - jekyll-redirect-from (0.13.0) - jekyll (~> 3.3) + jekyll-redirect-from (0.15.0) + jekyll (>= 3.3, < 5.0) jekyll-sass-converter (1.5.2) sass (~> 3.4) - jekyll-seo-tag (2.5.0) + jekyll-seo-tag (2.6.0) jekyll (~> 3.3) - jekyll-sitemap (1.2.0) - jekyll (~> 3.3) - jekyll-watch (2.0.0) + jekyll-sitemap (1.3.1) + jekyll (>= 3.7, < 5.0) + jekyll-watch (2.2.1) listen (~> 3.0) - jemoji (0.10.0) + jemoji (0.11.0) gemoji (~> 3.0) html-pipeline (~> 2.2) - jekyll (~> 3.0) + jekyll (>= 3.0, < 5.0) kramdown (1.17.0) - liquid (4.0.0) + liquid (4.0.3) liquid-c (3.0.0) liquid (>= 3.0.0) listen (3.1.5) @@ -83,32 +83,32 @@ GEM rb-inotify (~> 0.9, >= 0.9.7) ruby_dep (~> 1.2) mercenary (0.3.6) - mime-types (3.1) + mime-types (3.2.2) mime-types-data (~> 3.2015) - mime-types-data (3.2016.0521) - mini_portile2 (2.3.0) + mime-types-data (3.2019.0331) + mini_portile2 (2.4.0) minitest (5.11.3) multi_json (1.13.1) multipart-post (2.0.0) - nokogiri (1.8.2) - mini_portile2 (~> 2.3.0) - octokit (4.9.0) + nokogiri (1.10.3) + mini_portile2 (~> 2.4.0) + octokit (4.14.0) sawyer (~> 0.8.0, >= 0.5.3) - pathutil (0.16.1) + pathutil (0.16.2) forwardable-extended (~> 2.6) - public_suffix (3.0.2) + public_suffix (3.0.3) pygments.rb (1.2.1) multi_json (>= 1.0.0) rb-fsevent (0.10.3) - rb-inotify (0.9.10) - ffi (>= 0.5.0, < 2) + rb-inotify (0.10.0) + ffi (~> 1.0) rdiscount (2.2.0.1) - rdoc (6.0.4) + rdoc (6.1.1) redcarpet (3.4.0) - rouge (3.1.1) + rouge (3.3.0) ruby_dep (1.5.0) - safe_yaml (1.0.4) - sass (3.5.6) + safe_yaml (1.0.5) + sass (3.7.4) sass-listen (~> 4.0.0) sass-listen (4.0.0) rb-fsevent (~> 0.9, >= 0.9.4) @@ -117,7 +117,7 @@ GEM addressable (>= 2.3.5, < 2.6) faraday (~> 0.8, < 1.0) thread_safe (0.3.6) - tomlrb (1.2.6) + tomlrb (1.2.8) tzinfo (1.2.5) thread_safe (~> 0.1) yajl-ruby (1.3.1) @@ -152,4 +152,4 @@ DEPENDENCIES yajl-ruby (~> 1.3.1) BUNDLED WITH - 1.14.6 + 1.17.2 diff --git a/pkgs/applications/misc/jekyll/full/gemset.nix b/pkgs/applications/misc/jekyll/full/gemset.nix index e5eb6d62a706bd0869f486a6c4089e2b5cb96f33..de3de298fd3480d583eefa10da75acb93ac999ad 100644 --- a/pkgs/applications/misc/jekyll/full/gemset.nix +++ b/pkgs/applications/misc/jekyll/full/gemset.nix @@ -1,15 +1,19 @@ { activesupport = { dependencies = ["i18n" "minitest" "thread_safe" "tzinfo"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0s12j8vl8vrxfngkdlz9g8bpz9akq1z42d57mx5r537b2pji8nr7"; + sha256 = "1vbq7a805bfvyik2q3kl9s3r418f5qzvysqbz2cwy4hr7m2q4ir6"; type = "gem"; }; - version = "4.2.10"; + version = "4.2.11.1"; }; addressable = { dependencies = ["public_suffix"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0viqszpkggqi8hq87pqp0xykhvz60g99nwmkwsb0v45kc2liwxvk"; @@ -19,6 +23,20 @@ }; classifier-reborn = { dependencies = ["fast-stemmer"]; + groups = ["default"]; + platforms = [{ + engine = "maglev"; + } { + engine = "mingw"; + } { + engine = "mingw"; + } { + engine = "mswin"; + } { + engine = "rbx"; + } { + engine = "ruby"; + }]; source = { remotes = ["https://rubygems.org"]; sha256 = "04nxmm5b7j7r0ij9pcpdr7xqpig559gfzrw042ycxcfyav2pv6ij"; @@ -27,6 +45,8 @@ version = "2.2.0"; }; coderay = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "15vav4bhcc2x3jmi3izb11l4d9f3xv8hp2fszb7iqmpsccv1pz4y"; @@ -36,6 +56,8 @@ }; coffee-script = { dependencies = ["coffee-script-source" "execjs"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0rc7scyk7mnpfxqv5yy4y5q1hx3i7q3ahplcp4bq2g5r24g2izl2"; @@ -44,14 +66,18 @@ version = "2.4.1"; }; coffee-script-source = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0xfshhlz808f8639wc88wgls1mww35sid8rd55vn0a4yqajf4vh9"; + sha256 = "1907v9q1zcqmmyqzhzych5l7qifgls2rlbnbhy5vzyr7i7yicaz1"; type = "gem"; }; - version = "1.11.1"; + version = "1.12.2"; }; colorator = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0f7wvpam948cglrciyqd798gdc6z3cfijciavd0dfixgaypmvy72"; @@ -60,15 +86,19 @@ version = "1.1.0"; }; concurrent-ruby = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "183lszf5gx84kcpb779v6a2y0mx9sssy8dgppng1z9a505nj1qcf"; + sha256 = "1x07r23s7836cpp5z9yrlbpljcxpax14yw4fy4bnp6crhr6x24an"; type = "gem"; }; - version = "1.0.5"; + version = "1.1.5"; }; em-websocket = { dependencies = ["eventmachine" "http_parser.rb"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1bsw8vjz0z267j40nhbmrvfz7dvacq4p0pagvyp17jif6mj6v7n3"; @@ -77,6 +107,8 @@ version = "0.5.1"; }; eventmachine = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0wh9aqb0skz80fhfn66lbpr4f86ya2z5rx6gm5xlfhd05bj1ch4r"; @@ -85,6 +117,8 @@ version = "1.2.7"; }; execjs = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1yz55sf2nd3l666ms6xr18sm2aggcvmb8qr3v53lr4rir32y1yp1"; @@ -94,14 +128,30 @@ }; faraday = { dependencies = ["multipart-post"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "14lg0c4bphk16rccc5jmaan6nfcvmy0caiahpc61f9zfwpsj7ymg"; + sha256 = "0s72m05jvzc1pd6cw1i289chas399q0a14xrwg4rvkdwy7bgzrh0"; type = "gem"; }; - version = "0.15.2"; + version = "0.15.4"; }; fast-stemmer = { + groups = ["default"]; + platforms = [{ + engine = "maglev"; + } { + engine = "mingw"; + } { + engine = "mingw"; + } { + engine = "mswin"; + } { + engine = "rbx"; + } { + engine = "ruby"; + }]; source = { remotes = ["https://rubygems.org"]; sha256 = "0688clyk4xxh3kdb18vi089k90mca8ji5fwaknh3da5wrzcrzanh"; @@ -110,14 +160,18 @@ version = "1.0.2"; }; ffi = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0jpm2dis1j7zvvy3lg7axz9jml316zrn7s0j59vyq3qr127z0m7q"; + sha256 = "0j8pzj8raxbir5w5k6s7a042sb5k02pg0f8s4na1r5lan901j00p"; type = "gem"; }; - version = "1.9.25"; + version = "1.10.0"; }; forwardable-extended = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "15zcqfxfvsnprwm8agia85x64vjzr2w0xn9vxfnxzgcv8s699v0v"; @@ -126,6 +180,8 @@ version = "2.6.0"; }; gemoji = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1h85qpn2xbmsn8ssf2fqzlqg181j000m5z4l3g26r7vblncg162d"; @@ -135,14 +191,18 @@ }; html-pipeline = { dependencies = ["activesupport" "nokogiri"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "07m365sbabwxf4ad29ykgxrln68ma7va0hqqspv26s7yg8pdgixf"; + sha256 = "14659ap360gzmrxl8mb28ys6mld7xw3q4q7pqy0l1cn67szdq779"; type = "gem"; }; - version = "2.8.0"; + version = "2.11.0"; }; "http_parser.rb" = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "15nidriy0v5yqfjsgsra51wmknxci2n2grliz78sf9pga3n0l7gi"; @@ -152,6 +212,8 @@ }; i18n = { dependencies = ["concurrent-ruby"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "038qvz7kd3cfxk8bvagqhakx68pfbnmghpdkx7573wbf0maqp9a3"; @@ -161,15 +223,19 @@ }; jekyll = { dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1iw90wihk9dscgmppf5v6lysg3kjmnx50mjyl4gghkdb4spw97xk"; + sha256 = "1nn2sc308l2mz0yiall4r90l6vy67qp4sy9zapi73a948nd4a5k3"; type = "gem"; }; - version = "3.8.3"; + version = "3.8.5"; }; jekyll-avatar = { dependencies = ["jekyll"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "124624r83pmn7sp2idnsph9m1bbdiha5jnza4ypna8w2inpih51p"; @@ -179,24 +245,30 @@ }; jekyll-coffeescript = { dependencies = ["coffee-script" "coffee-script-source"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "06qf4j9f6ysjb4bq6gsdaiz2ksmhc5yb484v458ra3s6ybccqvvy"; + sha256 = "040i6cyv20qmxlpm74kh5hfci8208ja4903yxdv4x0qs0z172kl9"; type = "gem"; }; - version = "1.1.1"; + version = "1.2.2"; }; jekyll-feed = { dependencies = ["jekyll"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0l5w2bd6dsjnc623qjw5h06n0wslh32rqkkjlkymga24cplbln8j"; + sha256 = "01f0ivjdr3qc9dh9n8lj6paiy7zmlb7hs9nk6rgni6jjn5plslg3"; type = "gem"; }; - version = "0.10.0"; + version = "0.12.1"; }; jekyll-gist = { dependencies = ["octokit"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "03wz9j6yq3552nzf4g71qrdm9pfdgbm68abml9sjjgiaan1n8ns9"; @@ -206,14 +278,18 @@ }; jekyll-mentions = { dependencies = ["html-pipeline" "jekyll"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "042z02j0chv679s8imciiy44fgxh9028q8n95w48i0xrfrhyzzfb"; + sha256 = "1r81nbw598s485jsppbpy9kwa471w1rdkpdn3a1mq0swg87cp67v"; type = "gem"; }; - version = "1.4.0"; + version = "1.5.1"; }; jekyll-paginate = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0r7bcs8fq98zldih4787zk5i9w24nz5wa26m84ssja95n3sas2l8"; @@ -223,15 +299,19 @@ }; jekyll-redirect-from = { dependencies = ["jekyll"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1crm5xqgv5asbbbaxfgky4ppib5rih59yzpa3yc94gh8b9cjixrj"; + sha256 = "1cwpr1z7irar81nm60prvl8ywadc82xhpdxs50n7kiic6q6lkjsb"; type = "gem"; }; - version = "0.13.0"; + version = "0.15.0"; }; jekyll-sass-converter = { dependencies = ["sass"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "008ikh5fk0n6ri54mylcl8jn0mq8p2nfyfqif2q3pp0lwilkcxsk"; @@ -241,41 +321,51 @@ }; jekyll-seo-tag = { dependencies = ["jekyll"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "19yfr5i04gm50swbc6xxf4090z5z1v0kjfnvh695ydq1dkyx1csl"; + sha256 = "104v01vh7frgyra3s32wap1ag9fxcm8pgb8v957khzskqy2jh7am"; type = "gem"; }; - version = "2.5.0"; + version = "2.6.0"; }; jekyll-sitemap = { dependencies = ["jekyll"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0xy93ysl1q8r4xhbnffycvsslja0dskh2z2pl1jnykwsy27dc89n"; + sha256 = "0d3wqvbn37b24ag31xchb5hhnwfl6fnw6pyzp434jggbssxy0a5m"; type = "gem"; }; - version = "1.2.0"; + version = "1.3.1"; }; jekyll-watch = { dependencies = ["listen"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0m7scvj3ki8bmyx5v8pzibpg6my10nycnc28lip98dskf8iakprp"; + sha256 = "1qd7hy1kl87fl7l0frw5qbn22x7ayfzlv9a5ca1m59g0ym1ysi5w"; type = "gem"; }; - version = "2.0.0"; + version = "2.2.1"; }; jemoji = { dependencies = ["gemoji" "html-pipeline" "jekyll"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0r6ja4bw2c50hb585cmqscbmm27982kkskyh7gk6j0mr70jqlz25"; + sha256 = "0x463l6a8ikaf6pzap0dgh4gfvlkx56g6kdasj9jfb1ld3fvl99k"; type = "gem"; }; - version = "0.10.0"; + version = "0.11.0"; }; kramdown = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1n1c4jmrh5ig8iv1rw81s4mw4xsp4v97hvf8zkigv4hn5h542qjq"; @@ -284,15 +374,43 @@ version = "1.17.0"; }; liquid = { + groups = ["default"]; + platforms = [{ + engine = "maglev"; + } { + engine = "mingw"; + } { + engine = "mingw"; + } { + engine = "mswin"; + } { + engine = "rbx"; + } { + engine = "ruby"; + }]; source = { remotes = ["https://rubygems.org"]; - sha256 = "17fa0jgwm9a935fyvzy8bysz7j5n1vf1x2wzqkdfd5k08dbw3x2y"; + sha256 = "0zhg5ha8zy8zw9qr3fl4wgk4r5940n4128xm2pn4shpbzdbsj5by"; type = "gem"; }; - version = "4.0.0"; + version = "4.0.3"; }; liquid-c = { dependencies = ["liquid"]; + groups = ["default"]; + platforms = [{ + engine = "maglev"; + } { + engine = "mingw"; + } { + engine = "mingw"; + } { + engine = "mswin"; + } { + engine = "rbx"; + } { + engine = "ruby"; + }]; source = { remotes = ["https://rubygems.org"]; sha256 = "0a5n7q314ma32y7v9a1g6ps60b14zfn2q4nip4j5aknblz51v7gi"; @@ -302,6 +420,8 @@ }; listen = { dependencies = ["rb-fsevent" "rb-inotify" "ruby_dep"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "01v5mrnfqm6sgm8xn2v5swxsn1wlmq7rzh2i48d4jzjsc7qvb6mx"; @@ -310,6 +430,8 @@ version = "3.1.5"; }; mercenary = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "10la0xw82dh5mqab8bl0dk21zld63cqxb1g16fk8cb39ylc4n21a"; @@ -319,30 +441,38 @@ }; mime-types = { dependencies = ["mime-types-data"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0087z9kbnlqhci7fxh9f6il63hj1k02icq2rs0c6cppmqchr753m"; + sha256 = "0fjxy1jm52ixpnv3vg9ld9pr9f35gy0jp66i1njhqjvmnvq0iwwk"; type = "gem"; }; - version = "3.1"; + version = "3.2.2"; }; mime-types-data = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "04my3746hwa4yvbx1ranhfaqkgf6vavi1kyijjnw8w3dy37vqhkm"; + sha256 = "1m00pg19cm47n1qlcxgl91ajh2yq0fszvn1vy8fy0s1jkrp9fw4a"; type = "gem"; }; - version = "3.2016.0521"; + version = "3.2019.0331"; }; mini_portile2 = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "13d32jjadpjj6d2wdhkfpsmy68zjx90p49bgf8f7nkpz86r1fr11"; + sha256 = "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy"; type = "gem"; }; - version = "2.3.0"; + version = "2.4.0"; }; minitest = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq"; @@ -351,6 +481,20 @@ version = "5.11.3"; }; multi_json = { + groups = ["default"]; + platforms = [{ + engine = "maglev"; + } { + engine = "mingw"; + } { + engine = "mingw"; + } { + engine = "mswin"; + } { + engine = "rbx"; + } { + engine = "ruby"; + }]; source = { remotes = ["https://rubygems.org"]; sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv"; @@ -359,6 +503,8 @@ version = "1.13.1"; }; multipart-post = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "09k0b3cybqilk1gwrwwain95rdypixb2q9w65gd44gfzsd84xi1x"; @@ -368,41 +514,63 @@ }; nokogiri = { dependencies = ["mini_portile2"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "05fm3xh462glvs0rwnfmc1spmgl4ljg2giifynbmwwqvl42zaaiq"; + sha256 = "02bjydih0j515szfv9mls195cvpyidh6ixm7dwbl3s2sbaxxk5s4"; type = "gem"; }; - version = "1.8.2"; + version = "1.10.3"; }; octokit = { dependencies = ["sawyer"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1ssn5iyax07a22mvmj0y45bfy8ali129bl1qmasp6bcg03bvk298"; + sha256 = "1w7agbfg39jzqk81yad9xhscg31869277ysr2iwdvpjafl5lj4ha"; type = "gem"; }; - version = "4.9.0"; + version = "4.14.0"; }; pathutil = { dependencies = ["forwardable-extended"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0wc18ms1rzi44lpjychyw2a96jcmgxqdvy2949r4vvb5f4p0lgvz"; + sha256 = "12fm93ljw9fbxmv2krki5k5wkvr7560qy8p4spvb9jiiaqv78fz4"; type = "gem"; }; - version = "0.16.1"; + version = "0.16.2"; }; public_suffix = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1x5h1dh1i3gwc01jbg01rly2g6a1qwhynb1s8a30ic507z1nh09s"; + sha256 = "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l"; type = "gem"; }; - version = "3.0.2"; + version = "3.0.3"; }; "pygments.rb" = { dependencies = ["multi_json"]; + groups = ["default"]; + platforms = [{ + engine = "maglev"; + } { + engine = "mingw"; + } { + engine = "mingw"; + } { + engine = "mswin"; + } { + engine = "rbx"; + } { + engine = "ruby"; + }]; source = { remotes = ["https://rubygems.org"]; sha256 = "0lbvnwvz770ambm4d6lxgc2097rydn5rcc5d6986bnkzyxfqqjnv"; @@ -411,6 +579,8 @@ version = "1.2.1"; }; rb-fsevent = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1lm1k7wpz69jx7jrc92w3ggczkjyjbfziq5mg62vjnxmzs383xx8"; @@ -420,14 +590,30 @@ }; rb-inotify = { dependencies = ["ffi"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0yfsgw5n7pkpyky6a9wkf1g9jafxb0ja7gz0qw0y14fd2jnzfh71"; + sha256 = "1fs7hxm9g6ywv2yih83b879klhc4fs8i0p9166z795qmd77dk0a4"; type = "gem"; }; - version = "0.9.10"; + version = "0.10.0"; }; rdiscount = { + groups = ["default"]; + platforms = [{ + engine = "maglev"; + } { + engine = "mingw"; + } { + engine = "mingw"; + } { + engine = "mswin"; + } { + engine = "rbx"; + } { + engine = "ruby"; + }]; source = { remotes = ["https://rubygems.org"]; sha256 = "1arvk3k06prxasq1djbj065ixar4zl171340g7wr1ww4gj9makx3"; @@ -436,14 +622,30 @@ version = "2.2.0.1"; }; rdoc = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0anv42cqcdc6g4n386mrva7mgav5i0c2ry3yzvzzc6z6hymkmcr7"; + sha256 = "07b7ac2nls2yskaicqshxgip6dwpxl80hlx4pslq90jgpxgs2kkp"; type = "gem"; }; - version = "6.0.4"; + version = "6.1.1"; }; redcarpet = { + groups = ["default"]; + platforms = [{ + engine = "maglev"; + } { + engine = "mingw"; + } { + engine = "mingw"; + } { + engine = "mswin"; + } { + engine = "rbx"; + } { + engine = "ruby"; + }]; source = { remotes = ["https://rubygems.org"]; sha256 = "0h9qz2hik4s9knpmbwrzb3jcp3vc5vygp9ya8lcpl7f1l9khmcd7"; @@ -452,14 +654,18 @@ version = "3.4.0"; }; rouge = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1sfhy0xxqjnzqa7qxmpz1bmy0mzcr55qyvi410gsb6d6i4ialbw3"; + sha256 = "1digsi2s8wyzx8vsqcxasw205lg6s7izx8jypl8rrpjwshmv83ql"; type = "gem"; }; - version = "3.1.1"; + version = "3.3.0"; }; ruby_dep = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1c1bkl97i9mkcvkn1jks346ksnvnnp84cs22gwl0vd7radybrgy5"; @@ -468,24 +674,30 @@ version = "1.5.0"; }; safe_yaml = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094"; + sha256 = "0j7qv63p0vqcd838i2iy2f76c3dgwzkiz1d1xkg7n0pbnxj2vb56"; type = "gem"; }; - version = "1.0.4"; + version = "1.0.5"; }; sass = { dependencies = ["sass-listen"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "19wyzp9qsg8hdkkxlsv713w0qmy66qrdp0shj42587ssx4qhrlag"; + sha256 = "0p95lhs0jza5l7hqci1isflxakz83xkj97lkvxl919is0lwhv2w0"; type = "gem"; }; - version = "3.5.6"; + version = "3.7.4"; }; sass-listen = { dependencies = ["rb-fsevent" "rb-inotify"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0xw3q46cmahkgyldid5hwyiwacp590zj2vmswlll68ryvmvcp7df"; @@ -495,6 +707,8 @@ }; sawyer = { dependencies = ["addressable" "faraday"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0sv1463r7bqzvx4drqdmd36m7rrv6sf1v3c6vswpnq3k6vdw2dvd"; @@ -503,6 +717,8 @@ version = "0.8.1"; }; thread_safe = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy"; @@ -511,15 +727,19 @@ version = "0.3.6"; }; tomlrb = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "09gh67v8s1pr7c37490sjp782gi4wf9k9cadp4l926h1sp27bcgz"; + sha256 = "0g28ssfal6vry3cmhy509ba3vi5d5aggz1gnffnvvmc8ml8vkpiv"; type = "gem"; }; - version = "1.2.6"; + version = "1.2.8"; }; tzinfo = { dependencies = ["thread_safe"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1fjx9j327xpkkdlxwmkl3a8wqj7i4l4jwlrv3z13mg95z9wl253z"; @@ -528,6 +748,20 @@ version = "1.2.5"; }; yajl-ruby = { + groups = ["default"]; + platforms = [{ + engine = "maglev"; + } { + engine = "mingw"; + } { + engine = "mingw"; + } { + engine = "mswin"; + } { + engine = "rbx"; + } { + engine = "ruby"; + }]; source = { remotes = ["https://rubygems.org"]; sha256 = "1rn4kc9fha990yd252wglh6rcyh35cavm1vpyfj8krlcwph09g30"; diff --git a/pkgs/applications/misc/joplin-desktop/default.nix b/pkgs/applications/misc/joplin-desktop/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..57f564fdc667d1988b6a1d67cadfbc0fe869f1d2 --- /dev/null +++ b/pkgs/applications/misc/joplin-desktop/default.nix @@ -0,0 +1,37 @@ +{ appimageTools, fetchurl, lib, gsettings-desktop-schemas, gtk3 }: + +let + pname = "joplin-desktop"; + version = "1.0.143"; +in appimageTools.wrapType2 rec { + name = "${pname}-${version}"; + src = fetchurl { + url = "https://github.com/laurent22/joplin/releases/download/v${version}/Joplin-${version}-x86_64.AppImage"; + sha256 = "1waglwxpr18a07m7ix9al6ac4hrdqzzqmy1qgp45b922nbkw9g10"; + }; + + + profile = '' + export LC_ALL=C.UTF-8 + export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS + ''; + + multiPkgs = null; # no 32bit needed + extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs; + extraInstallCommands = "mv $out/bin/{${name},${pname}}"; + + meta = with lib; { + description = "An open source note taking and to-do application with synchronisation capabilities"; + longDescription = '' + Joplin is a free, open source note taking and to-do application, which can + handle a large number of notes organised into notebooks. The notes are + searchable, can be copied, tagged and modified either from the + applications directly or from your own text editor. The notes are in + Markdown format. + ''; + homepage = https://joplin.cozic.net/; + license = licenses.mit; + maintainers = with maintainers; [ rafaelgg raquelgb ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/applications/misc/josm/default.nix b/pkgs/applications/misc/josm/default.nix index e753c5ded95cba180ab6586674d95503bafffbba..22a1a4ba2adb6bf2baacbfc5adb27feb07d6791d 100644 --- a/pkgs/applications/misc/josm/default.nix +++ b/pkgs/applications/misc/josm/default.nix @@ -1,15 +1,15 @@ -{ fetchurl, stdenv, makeDesktopItem, makeWrapper, unzip, jre10 }: +{ fetchurl, stdenv, makeDesktopItem, makeWrapper, unzip, jdk11, libXxf86vm }: stdenv.mkDerivation rec { name = "josm-${version}"; - version = "14066"; + version = "14945"; src = fetchurl { url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar"; - sha256 = "06mhaz5vr19ydqc5irhgcbl0s8fifwvaq60iz2nsnlxb1pw89xia"; + sha256 = "0kdfdn0i7gjfkkllb93598ywf0qlllzsia5q14szc5b5assl8qpb"; }; - buildInputs = [ jre10 makeWrapper ]; + buildInputs = [ jdk11 makeWrapper ]; desktopItem = makeDesktopItem { name = "josm"; @@ -21,12 +21,14 @@ stdenv.mkDerivation rec { categories = "Education;Geoscience;Maps;"; }; + # Add libXxf86vm to path because it is needed by at least Kendzi3D plugin buildCommand = '' mkdir -p $out/bin $out/share/java cp -v $src $out/share/java/josm.jar - makeWrapper ${jre10}/bin/java $out/bin/josm \ - --add-flags "-jar $out/share/java/josm.jar" + makeWrapper ${jdk11}/bin/java $out/bin/josm \ + --add-flags "-jar $out/share/java/josm.jar" \ + --prefix LD_LIBRARY_PATH ":" '${libXxf86vm}/lib' mkdir -p $out/share/applications cp $desktopItem/share/applications"/"* $out/share/applications diff --git a/pkgs/applications/misc/jrnl/default.nix b/pkgs/applications/misc/jrnl/default.nix index 30e36c3dcf0f129d588e23df07d6a868e7e24676..3260f6a506908b8d492f4aa44807c92b1d093029 100644 --- a/pkgs/applications/misc/jrnl/default.nix +++ b/pkgs/applications/misc/jrnl/default.nix @@ -14,7 +14,7 @@ buildPythonApplication rec { }; propagatedBuildInputs = [ - pytz six tzlocal keyring argparse dateutil + pytz six tzlocal keyring dateutil parsedatetime pycrypto ]; diff --git a/pkgs/applications/misc/k2pdfopt/default.nix b/pkgs/applications/misc/k2pdfopt/default.nix index ad2381394f4691844617aff46adbdb24329a1c53..0049e9aca755092db405c69fc43f7b01ee81cc9b 100644 --- a/pkgs/applications/misc/k2pdfopt/default.nix +++ b/pkgs/applications/misc/k2pdfopt/default.nix @@ -6,19 +6,29 @@ , enableJPEG2K ? true, jasper , enableDJVU ? true, djvulibre , enableGOCR ? false, gocr # Disabled by default due to crashes -, enableTesseract ? true, leptonica, tesseract +, enableTesseract ? true, leptonica, tesseract4 }: with stdenv.lib; stdenv.mkDerivation rec { name = "k2pdfopt-${version}"; - version = "2.42"; + version = "2.51a"; - src = fetchzip { - url = "http://www.willus.com/k2pdfopt/src/k2pdfopt_v${version}_src.zip"; - sha256 = "1zag4jmkr0qrcpqqb5davmvdrabhdyz87q4zz0xpfkl6xw2dn9bk"; - }; + src = (fetchzip { + url = "http://www.willus.com/k2pdfopt/src/k2pdfopt_v2.51_src.zip"; + sha256 = "133l7xkvi67s6sfk8cfh7rmavbsf7ib5fyksk1ci6b6sch3z2sw9"; + }); + + # Note: the v2.51a zip contains only files to be replaced in the v2.50 zip. + v251a_src = (fetchzip { + url = "http://www.willus.com/k2pdfopt/src/k2pdfopt_v2.51a_src.zip"; + sha256 = "0vvwblii7kgdwfxw8dzk6jbmz4dv94d7rkv18i60y8wkayj6yhl6"; + }); + + postUnpack = '' + cp -r ${v251a_src}/* $sourceRoot + ''; patches = [ ./k2pdfopt.patch ]; @@ -27,66 +37,47 @@ stdenv.mkDerivation rec { buildInputs = let mupdf_modded = mupdf.overrideAttrs (attrs: { - name = "mupdf-1.10a"; - src = fetchurl { - url = "https://mupdf.com/downloads/archive/mupdf-1.10a-source.tar.gz"; - sha256 = "0dm8wcs8i29aibzkqkrn8kcnk4q0kd1v66pg48h5c3qqp4v1zk5a"; - }; # Excluded the pdf-*.c files, since they mostly just broke the #includes prePatch = '' cp ${src}/mupdf_mod/{font,stext-device,string}.c source/fitz/ cp ${src}/mupdf_mod/font-win32.c source/pdf/ ''; - # Patches from previous 1.10a version in nixpkgs - patches = [ - # Compatibility with new openjpeg - ./load-jpx.patch - - (fetchurl { - name = "CVE-2017-5896.patch"; - url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=2c4e5867ee699b1081527bc6c6ea0e99a35a5c27"; - sha256 = "14k7x47ifx82sds1c06ibzbmcparfg80719jhgwjk6w1vkh4r693"; - }) - - (fetchpatch { - name = "mupdf-1.10a-shared_libs-1.patch"; - url = "https://ftp.osuosl.org/pub/blfs/conglomeration/mupdf/mupdf-1.10a-shared_libs-1.patch"; - sha256 = "0kg4vahp7hlyyj5hl18brk8s8xcbqrx19pqjzkfq6ha8mqa3k4ab"; - }) - ]; - - # Override this since the jpeg directory was renamed libjpeg in mupdf 1.11 - preConfigure = '' - # Don't remove mujs because upstream version is incompatible - rm -rf thirdparty/{curl,freetype,glfw,harfbuzz,jbig2dec,jpeg,openjpeg,zlib} - ''; - postPatch = let - # OpenJPEG version is hardcoded in package source - openJpegVersion = with stdenv; - lib.concatStringsSep "." (lib.lists.take 2 - (lib.splitString "." (lib.getVersion openjpeg))); - in '' - sed -i "s/__OPENJPEG__VERSION__/${openJpegVersion}/" source/fitz/load-jpx.c - ''; }); + leptonica_modded = leptonica.overrideAttrs (attrs: { + name = "leptonica-1.74.4"; + # Modified source files apply to this particular version of leptonica + version = "1.74.4"; + + src = fetchurl { + url = "http://www.leptonica.org/source/leptonica-1.74.4.tar.gz"; + sha256 = "0fw39amgyv8v6nc7x8a4c7i37dm04i6c5zn62d24bgqnlhk59hr9"; + }; + prePatch = '' - cp ${src}/leptonica_mod/* src/ - ''; - }); - tesseract_modded = tesseract.overrideAttrs (attrs: { - prePatch = '' - cp ${src}/tesseract_mod/{ambigs.cpp,ccutil.h,ccutil.cpp} ccutil/ - cp ${src}/tesseract_mod/dawg.cpp api/ - cp ${src}/tesseract_mod/{imagedata.cpp,tessdatamanager.cpp} ccstruct/ - cp ${src}/tesseract_mod/openclwrapper.h opencl/ - cp ${src}/tesseract_mod/{tessedit.cpp,thresholder.cpp} ccmain/ - cp ${src}/tesseract_mod/tess_lang_mod_edge.h cube/ - cp ${src}/tesseract_mod/tesscapi.cpp api/ - cp ${src}/include_mod/{tesseract.h,leptonica.h} api/ + cp ${src}/leptonica_mod/{allheaders.h,dewarp2.c,leptwin.c} src/ ''; - patches = [ ./tesseract.patch ]; + patches = []; }); + tesseract_modded = tesseract4.override { + tesseractBase = tesseract4.tesseractBase.overrideAttrs (_: { + prePatch = '' + cp ${src}/tesseract_mod/baseapi.{h,cpp} src/api/ + cp ${src}/tesseract_mod/ccutil.{h,cpp} src/ccutil/ + cp ${src}/tesseract_mod/genericvector.h src/ccutil/ + cp ${src}/tesseract_mod/input.cpp src/lstm/ + cp ${src}/tesseract_mod/lstmrecognizer.cpp src/lstm/ + cp ${src}/tesseract_mod/mainblk.cpp src/ccutil/ + cp ${src}/tesseract_mod/params.cpp src/ccutil/ + cp ${src}/tesseract_mod/serialis.{h,cpp} src/ccutil/ + cp ${src}/tesseract_mod/tesscapi.cpp src/api/ + cp ${src}/tesseract_mod/tessdatamanager.cpp src/ccstruct/ + cp ${src}/tesseract_mod/tessedit.cpp src/ccmain/ + cp ${src}/include_mod/{tesseract.h,leptonica.h} src/api/ + ''; + patches = [ ./tesseract.patch ]; + }); + }; in [ zlib libpng ] ++ optional enableGSL gsl ++ @@ -101,6 +92,10 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DCMAKE_C_FLAGS=-I${src}/include_mod" ]; + NIX_LDFLAGS = [ + "-lpthread" + ]; + installPhase = '' install -D -m 755 k2pdfopt $out/bin/k2pdfopt ''; diff --git a/pkgs/applications/misc/k2pdfopt/load-jpx.patch b/pkgs/applications/misc/k2pdfopt/load-jpx.patch deleted file mode 100644 index 02a3799d040ae3ef4a2a0a2c2e0a02a58ffe22d3..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/k2pdfopt/load-jpx.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- a/source/fitz/load-jpx.c -+++ b/source/fitz/load-jpx.c -@@ -484,12 +484,16 @@ - /* Without the definition of OPJ_STATIC, compilation fails on windows - * due to the use of __stdcall. We believe it is required on some - * linux toolchains too. */ -+#ifdef __cplusplus -+extern "C" -+{ - #define OPJ_STATIC - #ifndef _MSC_VER - #define OPJ_HAVE_STDINT_H - #endif -+#endif - --#include -+#include - - /* OpenJPEG does not provide a safe mechanism to intercept - * allocations. In the latest version all allocations go -@@ -971,4 +975,8 @@ - fz_drop_pixmap(ctx, img); - } - -+#ifdef __cplusplus -+} -+#endif -+ - #endif /* HAVE_LURATECH */ diff --git a/pkgs/applications/misc/k2pdfopt/tesseract.patch b/pkgs/applications/misc/k2pdfopt/tesseract.patch index 4827daa1a9054d26d63cd7acecd46c819511014f..b882f5b949c38871111a40f007b33d4004cd2873 100644 --- a/pkgs/applications/misc/k2pdfopt/tesseract.patch +++ b/pkgs/applications/misc/k2pdfopt/tesseract.patch @@ -1,7 +1,7 @@ -diff --git a/api/Makefile.am b/api/Makefile.am +diff --git a/src/api/Makefile.am b/src/api/Makefile.am index d8c1e54..46ead13 100644 ---- a/api/Makefile.am -+++ b/api/Makefile.am +--- a/src/api/Makefile.am ++++ b/src/api/Makefile.am @@ -42,7 +42,7 @@ libtesseract_api_la_CPPFLAGS = $(AM_CPPFLAGS) if VISIBILITY libtesseract_api_la_CPPFLAGS += -DTESS_EXPORTS diff --git a/pkgs/applications/misc/kanboard/default.nix b/pkgs/applications/misc/kanboard/default.nix index 7995c8875b829e565fb5757ccdb712b20e5ce64f..ecfcc77172819d6bf52175b41974d17e36c36c04 100644 --- a/pkgs/applications/misc/kanboard/default.nix +++ b/pkgs/applications/misc/kanboard/default.nix @@ -1,12 +1,14 @@ -{ stdenv, fetchzip }: +{ stdenv, fetchFromGitHub }: stdenv.mkDerivation rec { name = "kanboard-${version}"; - version = "1.0.48"; + version = "1.2.9"; - src = fetchzip { - url = "https://github.com/kanboard/kanboard/releases/download/v${version}/${name}.zip"; - sha256 = "0ipyijlfcnfqlz9n20wcnaf9pw404a675x404pm9h2n4ld8x6m5v"; + src = fetchFromGitHub { + owner = "kanboard"; + repo = "kanboard"; + rev = "v${version}"; + sha256 = "1hdr95cpxgdzrzhffs63gdl0g7122ma2zg8bkqwp42p5xphx0xan"; }; dontBuild = true; diff --git a/pkgs/applications/misc/kdbplus/default.nix b/pkgs/applications/misc/kdbplus/default.nix index ba048761367cdd5bc8963f47b979ff6b29a8f102..b518481e29addcb1a02b60a096babb6ae4b0df14 100644 --- a/pkgs/applications/misc/kdbplus/default.nix +++ b/pkgs/applications/misc/kdbplus/default.nix @@ -1,6 +1,6 @@ { stdenv, requireFile, unzip, rlwrap, bash }: -assert (stdenv.system == "i686-linux"); +assert (stdenv.hostPlatform.system == "i686-linux"); let libPath = stdenv.lib.makeLibraryPath diff --git a/pkgs/applications/misc/kdeconnect/default.nix b/pkgs/applications/misc/kdeconnect/default.nix index 97e371e9e72c57b07ee995a00dce930a1675a8ef..b92a7ac476c9d1b82094a8811471cfb0b234d93d 100644 --- a/pkgs/applications/misc/kdeconnect/default.nix +++ b/pkgs/applications/misc/kdeconnect/default.nix @@ -20,12 +20,11 @@ stdenv.mkDerivation rec { pname = "kdeconnect"; - version = "1.3.1"; - name = "${pname}-${version}"; + version = "1.3.4"; src = fetchurl { - url = "mirror://kde/stable/${pname}/${version}/src/${pname}-kde-${version}.tar.xz"; - sha256 = "0rzjbn4d2lh81n19dd3a5ilm8qml3zs3g3ahg75avcw8770rr344"; + url = "mirror://kde/stable/${pname}/${version}/${pname}-kde-${version}.tar.xz"; + sha256 = "12ijvp86wm6k81dggypxh3c0dmwg5mczxy43ra8rgv63aavmf42h"; }; buildInputs = [ diff --git a/pkgs/applications/misc/keepass-plugins/keepassrpc/default.nix b/pkgs/applications/misc/keepass-plugins/keepassrpc/default.nix index b2980bcd8aeaff7e1468f5a2a269ea2c23a2ae1c..b45cb24b1b51956b5450f47bee2605b1fde1af5a 100644 --- a/pkgs/applications/misc/keepass-plugins/keepassrpc/default.nix +++ b/pkgs/applications/misc/keepass-plugins/keepassrpc/default.nix @@ -1,12 +1,12 @@ { stdenv, buildEnv, fetchurl, mono }: let - version = "1.7.3.1"; + version = "1.8.0"; drv = stdenv.mkDerivation { name = "keepassrpc-${version}"; src = fetchurl { url = "https://github.com/kee-org/keepassrpc/releases/download/v${version}/KeePassRPC.plgx"; - sha256 = "1y9b35qg27caj3pbaqqzrqpk61hbbd8617ziwdc9vl799i786m9k"; + sha256 = "1dclfpia559cqf78qw29zz235h1df5md4kgjv3bbi8y41wwmx7cd"; }; meta = with stdenv.lib; { @@ -14,7 +14,7 @@ let homepage = https://github.com/kee-org/keepassrpc; platforms = [ "x86_64-linux" ]; license = licenses.gpl2; - maintainers = with maintainers; [ mjanczyk svsdep ]; + maintainers = with maintainers; [ mjanczyk svsdep mgregoire ]; }; pluginFilename = "KeePassRPC.plgx"; diff --git a/pkgs/applications/misc/keepass/default.nix b/pkgs/applications/misc/keepass/default.nix index 53b965a1bb70252c72fb85952d86357371e30ed8..b954d2d3cdb8abe2e734dcbfc08d6b891fdd2728 100644 --- a/pkgs/applications/misc/keepass/default.nix +++ b/pkgs/applications/misc/keepass/default.nix @@ -3,11 +3,11 @@ with builtins; buildDotnetPackage rec { baseName = "keepass"; - version = "2.39.1"; + version = "2.40"; src = fetchurl { url = "mirror://sourceforge/keepass/KeePass-${version}-Source.zip"; - sha256 = "0y69w9zzxqj7xrn632bw6bibrknjbx1k3qcvi9axn67sqmzaka00"; + sha256 = "1gldl74wz2lvsci6rn71d6q1zmnhr52z6fjib9nsragsazq5byz9"; }; sourceRoot = "."; diff --git a/pkgs/applications/misc/keepassx/2.0.nix b/pkgs/applications/misc/keepassx/2.0.nix index f6814119b5a71598bb58a0ebef6447899d52317b..8a3aaf202a70cf8821f3afa6f83ebdacff8422b3 100644 --- a/pkgs/applications/misc/keepassx/2.0.nix +++ b/pkgs/applications/misc/keepassx/2.0.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { description = "Qt password manager compatible with its Win32 and Pocket PC versions"; homepage = https://www.keepassx.org/; license = stdenv.lib.licenses.gpl2; - maintainers = with stdenv.lib.maintainers; [ qknight jgeerds ]; + maintainers = with stdenv.lib.maintainers; [ qknight ]; platforms = with stdenv.lib.platforms; linux; }; } diff --git a/pkgs/applications/misc/keepassx/community.nix b/pkgs/applications/misc/keepassx/community.nix index 5c5769db1b46a78e97b269c994d21e483d5bb27b..ee99e21f6ec249f11a01cae80926d4717bf545f8 100644 --- a/pkgs/applications/misc/keepassx/community.nix +++ b/pkgs/applications/misc/keepassx/community.nix @@ -1,24 +1,29 @@ { stdenv, fetchFromGitHub, cmake, makeWrapper, qttools , curl +, glibcLocales +, libXi +, libXtst , libargon2 , libgcrypt -, libsodium -, zlib -, libmicrohttpd -, libXtst -, qtbase , libgpgerror -, glibcLocales +, libmicrohttpd +, libsodium , libyubikey -, yubikey-personalization -, libXi -, qtx11extras +, pkg-config +, qrencode +, qtbase , qtmacextras +, qtsvg +, qtx11extras +, quazip +, yubikey-personalization +, zlib , withKeePassBrowser ? true +, withKeePassKeeShare ? true +, withKeePassKeeShareSecure ? true , withKeePassSSHAgent ? true -, withKeePassHTTP ? false , withKeePassNetworking ? false }: @@ -26,13 +31,13 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "keepassxc-${version}"; - version = "2.3.3"; + version = "2.4.1"; src = fetchFromGitHub { owner = "keepassxreboot"; repo = "keepassxc"; rev = "${version}"; - sha256 = "08cj1nxbjy2m80h3irnra2qha7fc5ahhzcgkyk9jv4zyys9xv998"; + sha256 = "1cbfsfdvb4qw6yb0zl6mymdbphnb7lxbfrc5a8cjmn9w8b09kv6m"; }; NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang [ @@ -50,23 +55,27 @@ stdenv.mkDerivation rec { patches = [ ./darwin.patch - ./qt511.patch + ./quazip5.patch ]; cmakeFlags = [ "-DKEEPASSXC_BUILD_TYPE=Release" "-DWITH_GUI_TESTS=ON" "-DWITH_XC_AUTOTYPE=ON" + "-DWITH_XC_UPDATECHECK=OFF" "-DWITH_XC_YUBIKEY=ON" ] ++ (optional withKeePassBrowser "-DWITH_XC_BROWSER=ON") - ++ (optional withKeePassHTTP "-DWITH_XC_HTTP=ON") + ++ (optional withKeePassKeeShare "-DWITH_XC_KEESHARE=ON") + ++ (optional withKeePassKeeShareSecure "-DWITH_XC_KEESHARE_SECURE=ON") ++ (optional withKeePassNetworking "-DWITH_XC_NETWORKING=ON") ++ (optional withKeePassSSHAgent "-DWITH_XC_SSHAGENT=ON"); doCheck = true; checkPhase = '' export LC_ALL="en_US.UTF-8" + export QT_PLUGIN_PATH="${qtbase.bin}/${qtbase.qtPluginPrefix}" + export QT_QPA_PLATFORM=offscreen make test ARGS+="-E testgui --output-on-failure" ''; @@ -83,11 +92,16 @@ stdenv.mkDerivation rec { libmicrohttpd libsodium libyubikey + pkg-config + qrencode qtbase + qtsvg qtx11extras yubikey-personalization zlib - ] ++ stdenv.lib.optional stdenv.isDarwin qtmacextras; + ] + ++ stdenv.lib.optional withKeePassKeeShareSecure quazip + ++ stdenv.lib.optional stdenv.isDarwin qtmacextras; postInstall = optionalString stdenv.isDarwin '' # Make it work without Qt in PATH. @@ -97,7 +111,7 @@ stdenv.mkDerivation rec { meta = { description = "Password manager to store your passwords safely and auto-type them into your everyday websites and applications"; - longDescription = "A community fork of KeePassX, which is itself a port of KeePass Password Safe. The goal is to extend and improve KeePassX with new features and bugfixes to provide a feature-rich, fully cross-platform and modern open-source password manager. Accessible via native cross-platform GUI and via CLI. Includes optional http-interface to allow browser-integration with plugins like PassIFox (https://github.com/pfn/passifox)."; + longDescription = "A community fork of KeePassX, which is itself a port of KeePass Password Safe. The goal is to extend and improve KeePassX with new features and bugfixes to provide a feature-rich, fully cross-platform and modern open-source password manager. Accessible via native cross-platform GUI, CLI, and browser integration with the KeePassXC Browser Extension (https://github.com/keepassxreboot/keepassxc-browser)."; homepage = https://keepassxc.org/; license = licenses.gpl2; maintainers = with maintainers; [ s1lvester jonafato ]; diff --git a/pkgs/applications/misc/keepassx/darwin.patch b/pkgs/applications/misc/keepassx/darwin.patch index 1edf0a573a31675ae04fcd0aa6f85de73500afa0..d7ffb7dbba1fcb1195fe34b2b13df16787f4be97 100644 --- a/pkgs/applications/misc/keepassx/darwin.patch +++ b/pkgs/applications/misc/keepassx/darwin.patch @@ -1,52 +1,53 @@ -Remove the use of macdeployqt to avoid copying dependencies and -reduce installation size from 90 MB to 9 MB. +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 658548f7..f8f10bdb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -250,8 +250,8 @@ else() - set(PROGNAME keepassxc) - endif() +@@ -288,6 +288,7 @@ if(MINGW) + set(PLUGIN_INSTALL_DIR ".") + set(DATA_INSTALL_DIR "share") + elseif(APPLE AND WITH_APP_BUNDLE) ++ set(CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/Applications") + set(CMAKE_INSTALL_MANDIR "${PROGNAME}.app/Contents/Resources/man") + set(CLI_INSTALL_DIR "${PROGNAME}.app/Contents/MacOS") + set(PROXY_INSTALL_DIR "${PROGNAME}.app/Contents/MacOS") +@@ -350,12 +351,6 @@ set(CMAKE_AUTORCC ON) --if(APPLE AND WITH_APP_BUNDLE AND "${CMAKE_INSTALL_PREFIX}" STREQUAL "/usr/local") -- set(CMAKE_INSTALL_PREFIX "/Applications") -+if(APPLE AND WITH_APP_BUNDLE) -+ set(CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/Applications") - set(CMAKE_INSTALL_MANDIR "/usr/local/share/man") + if(APPLE) + set(CMAKE_MACOSX_RPATH TRUE) +- find_program(MACDEPLOYQT_EXE macdeployqt HINTS ${Qt5_PREFIX}/bin ENV PATH) +- if(NOT MACDEPLOYQT_EXE) +- message(FATAL_ERROR "macdeployqt is required to build in macOS") +- else() +- message(STATUS "Using macdeployqt: ${MACDEPLOYQT_EXE}") +- endif() endif() -@@ -262,7 +262,7 @@ if(MINGW) - set(PLUGIN_INSTALL_DIR ".") - set(DATA_INSTALL_DIR "share") - elseif(APPLE AND WITH_APP_BUNDLE) -- set(CLI_INSTALL_DIR "/usr/local/bin") -+ set(CLI_INSTALL_DIR "../bin") - set(PROXY_INSTALL_DIR "/usr/local/bin") - set(BIN_INSTALL_DIR ".") - set(PLUGIN_INSTALL_DIR "${PROGNAME}.app/Contents/PlugIns") + # Debian sets the the build type to None for package builds. diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 69526967..38f7c5d4 100644 +index 110dc606..f9b58818 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt -@@ -319,11 +319,6 @@ if(APPLE AND WITH_APP_BUNDLE) - set(CPACK_PACKAGE_FILE_NAME "${PROGNAME}-${KEEPASSXC_VERSION}") - include(CPack) +@@ -343,11 +343,6 @@ if(APPLE AND WITH_APP_BUNDLE) + set(CPACK_PACKAGE_FILE_NAME "${PROGNAME}-${KEEPASSXC_VERSION}") + include(CPack) -- add_custom_command(TARGET ${PROGNAME} -- POST_BUILD -- COMMAND ${MACDEPLOYQT_EXE} ${PROGNAME}.app -- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/src -- COMMENT "Deploying app bundle") +- add_custom_command(TARGET ${PROGNAME} +- POST_BUILD +- COMMAND ${MACDEPLOYQT_EXE} ${PROGNAME}.app +- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/src +- COMMENT "Deploying app bundle") endif() install(TARGETS ${PROGNAME} diff --git a/src/autotype/mac/CMakeLists.txt b/src/autotype/mac/CMakeLists.txt -index 08c53278..b833b692 100644 +index f1c5387f..abf70b48 100644 --- a/src/autotype/mac/CMakeLists.txt +++ b/src/autotype/mac/CMakeLists.txt -@@ -14,7 +14,6 @@ if(WITH_APP_BUNDLE) - add_custom_command(TARGET keepassx-autotype-cocoa - POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/libkeepassx-autotype-cocoa.so ${PLUGIN_INSTALL_DIR} -- COMMAND ${MACDEPLOYQT_EXE} ${PROGNAME}.app -executable=${PLUGIN_INSTALL_DIR}/libkeepassx-autotype-cocoa.so -no-plugins - WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/src - COMMENT "Deploying autotype plugin") +@@ -12,7 +12,6 @@ if(WITH_APP_BUNDLE) + add_custom_command(TARGET keepassx-autotype-cocoa + POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/libkeepassx-autotype-cocoa.so ${PLUGIN_INSTALL_DIR} +- COMMAND ${MACDEPLOYQT_EXE} ${PROGNAME}.app -executable=${PLUGIN_INSTALL_DIR}/libkeepassx-autotype-cocoa.so -no-plugins + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/src + COMMENT "Deploying autotype plugin") else() diff --git a/pkgs/applications/misc/keepassx/default.nix b/pkgs/applications/misc/keepassx/default.nix index ed706b138cc572556c36927aa47ba386151c060e..05ad9b05abb02317dea249b522aa23a7da12da87 100644 --- a/pkgs/applications/misc/keepassx/default.nix +++ b/pkgs/applications/misc/keepassx/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, bzip2, qt4, qmake4Hook, libX11, xextproto, libXtst }: +{ stdenv, fetchurl, bzip2, qt4, qmake4Hook, libX11, xorgproto, libXtst }: stdenv.mkDerivation rec { name = "keepassx-${version}"; @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { patches = [ ./random.patch ]; - buildInputs = [ bzip2 qt4 libX11 xextproto libXtst ]; + buildInputs = [ bzip2 qt4 libX11 xorgproto libXtst ]; nativeBuildInputs = [ qmake4Hook ]; @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { description = "Qt password manager compatible with its Win32 and Pocket PC versions"; homepage = https://www.keepassx.org/; license = stdenv.lib.licenses.gpl2; - maintainers = with stdenv.lib.maintainers; [ qknight jgeerds ]; + maintainers = with stdenv.lib.maintainers; [ qknight ]; platforms = with stdenv.lib.platforms; linux; }; } diff --git a/pkgs/applications/misc/keepassx/qt511.patch b/pkgs/applications/misc/keepassx/qt511.patch deleted file mode 100644 index b4d312c8c263f04cac0701e85aec2a0bf930ff80..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/keepassx/qt511.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/src/gui/entry/EditEntryWidget.cpp b/src/gui/entry/EditEntryWidget.cpp -index 6fd65c1a..e99275b0 100644 ---- a/src/gui/entry/EditEntryWidget.cpp -+++ b/src/gui/entry/EditEntryWidget.cpp -@@ -29,6 +29,7 @@ - #include - #include - #include -+#include - #include - #include - #include --- -2.17.1 - diff --git a/pkgs/applications/misc/keepassx/quazip5.patch b/pkgs/applications/misc/keepassx/quazip5.patch new file mode 100644 index 0000000000000000000000000000000000000000..ccea841cac7d03d974bca564d07c4fb419514285 --- /dev/null +++ b/pkgs/applications/misc/keepassx/quazip5.patch @@ -0,0 +1,27 @@ +diff --git a/cmake/FindQuaZip.cmake b/cmake/FindQuaZip.cmake +index 8d309181..92aa892c 100644 +--- a/cmake/FindQuaZip.cmake ++++ b/cmake/FindQuaZip.cmake +@@ -9,7 +9,6 @@ IF(QUAZIP_INCLUDE_DIRS AND QUAZIP_LIBRARIES) + SET(QUAZIP_FOUND TRUE) + ELSE(QUAZIP_INCLUDE_DIRS AND QUAZIP_LIBRARIES) + IF(Qt5Core_FOUND) +- set(QUAZIP_LIB_VERSION_SUFFIX 5) + ENDIF() + IF(WIN32) + FIND_PATH(QUAZIP_LIBRARY_DIR +diff --git a/src/keeshare/ShareObserver.cpp b/src/keeshare/ShareObserver.cpp +index 33f5ed1f..5fcd9202 100644 +--- a/src/keeshare/ShareObserver.cpp ++++ b/src/keeshare/ShareObserver.cpp +@@ -46,8 +46,8 @@ + #include + + #if defined(WITH_XC_KEESHARE_SECURE) +-#include +-#include ++#include ++#include + #endif + + namespace diff --git a/pkgs/applications/misc/khal/default.nix b/pkgs/applications/misc/khal/default.nix index ede85aeada5a4946598094419b2e8402438a5742..2e32bbd611a1e84f7dd1566c66aea73a697711b2 100644 --- a/pkgs/applications/misc/khal/default.nix +++ b/pkgs/applications/misc/khal/default.nix @@ -1,35 +1,18 @@ { stdenv, pkgs, python3 }: -let - python = python3.override { - packageOverrides = self: super: { - - # https://github.com/pimutils/khal/issues/780 - python-dateutil = super.python-dateutil.overridePythonAttrs (oldAttrs: rec { - version = "2.6.1"; - src = oldAttrs.src.override { - inherit version; - sha256 = "891c38b2a02f5bb1be3e4793866c8df49c7d19baabf9c1bad62547e0b4866aca"; - }; - }); - - }; - }; - -in with python.pkgs; buildPythonApplication rec { +with python3.pkgs; buildPythonApplication rec { pname = "khal"; - version = "0.9.9"; + version = "0.10.1"; src = fetchPypi { inherit pname version; - sha256 = "0dq9aqb9pqjfqrnfg43mhpb7m0szmychxy1ydb3lwzf3500c9rsh"; + sha256 = "1r8bkgjwkh7i8ygvsv51h1cnax50sb183vafg66x5snxf3dgjl6l"; }; - LC_ALL = "en_US.UTF-8"; - propagatedBuildInputs = [ atomicwrites click + click-log configobj dateutil icalendar @@ -43,9 +26,15 @@ in with python.pkgs; buildPythonApplication rec { pkginfo freezegun ]; - nativeBuildInputs = [ setuptools_scm pkgs.glibcLocales ]; + nativeBuildInputs = [ setuptools_scm ]; checkInputs = [ pytest ]; + postInstall = '' + install -D misc/__khal $out/share/zsh/site-functions/__khal + ''; + + doCheck = !stdenv.isAarch64; + checkPhase = '' py.test ''; @@ -54,6 +43,6 @@ in with python.pkgs; buildPythonApplication rec { homepage = http://lostpackets.de/khal/; description = "CLI calendar application"; license = licenses.mit; - maintainers = with maintainers; [ jgeerds ]; + maintainers = with maintainers; [ gebner ]; }; } diff --git a/pkgs/applications/misc/khard/default.nix b/pkgs/applications/misc/khard/default.nix index 3c5184d54632b50840d49328a765f948f0609e57..61eb959a1ddab4a29d0d4deb7596d489465f8db5 100644 --- a/pkgs/applications/misc/khard/default.nix +++ b/pkgs/applications/misc/khard/default.nix @@ -17,13 +17,13 @@ let }; in with python.pkgs; buildPythonApplication rec { - version = "0.12.2"; + version = "0.13.0"; name = "khard-${version}"; namePrefix = ""; src = fetchurl { url = "https://github.com/scheibler/khard/archive/v${version}.tar.gz"; - sha256 = "0lxcvzmafpvqcifgq2xjh1ca07z0vhihn5jnw8zrpmsqdc9p6b4j"; + sha256 = "06b9xcdg1na6mxa2pnlh0wfsk02k2h6hlki089aaikbg8k8ykj8f"; }; # setup.py reads the UTF-8 encoded readme. @@ -34,12 +34,15 @@ in with python.pkgs; buildPythonApplication rec { atomicwrites configobj vobject - argparse ruamel_yaml ruamel_base unidecode ]; + postInstall = '' + install -D misc/zsh/_khard $out/share/zsh/site-functions/_khard + ''; + # Fails; but there are no tests anyway. doCheck = false; @@ -47,6 +50,6 @@ in with python.pkgs; buildPythonApplication rec { homepage = https://github.com/scheibler/khard; description = "Console carddav client"; license = stdenv.lib.licenses.gpl3; - maintainers = with stdenv.lib.maintainers; [ ]; + maintainers = with stdenv.lib.maintainers; [ matthiasbeyer ]; }; } diff --git a/pkgs/applications/misc/kitty/default.nix b/pkgs/applications/misc/kitty/default.nix index d3fff65a39950d5fdbb4757a006ec21d502b180e..3edb48cc489bcf93be4b751d65bc4ae44a70f1a4 100644 --- a/pkgs/applications/misc/kitty/default.nix +++ b/pkgs/applications/misc/kitty/default.nix @@ -1,57 +1,123 @@ -{ stdenv, fetchFromGitHub, python3Packages, glfw, libunistring, harfbuzz, - fontconfig, pkgconfig, ncurses, imagemagick, xsel, +{ stdenv, substituteAll, fetchFromGitHub, python3Packages, glfw, libunistring, + harfbuzz, fontconfig, pkgconfig, ncurses, imagemagick, xsel, libstartup_notification, libX11, libXrandr, libXinerama, libXcursor, libxkbcommon, libXi, libXext, wayland-protocols, wayland, - which + which, dbus, + Cocoa, + CoreGraphics, + Foundation, + IOKit, + Kernel, + OpenGL, + cf-private, + libicns, + libpng, + librsvg, + optipng, + python3, + zlib, }: with python3Packages; buildPythonApplication rec { - version = "0.11.3"; - name = "kitty-${version}"; + pname = "kitty"; + version = "0.13.3"; format = "other"; src = fetchFromGitHub { owner = "kovidgoyal"; repo = "kitty"; rev = "v${version}"; - sha256 = "1fql8ayxvip8hgq9gy0dhqfvngv13gh5bf71vnc3agd80kzq1n73"; + sha256 = "1y0vd75j8g61jdj8miml79w5ri3pqli5rv9iq6zdrxvzfa4b2rmb"; }; buildInputs = [ - fontconfig glfw ncurses libunistring harfbuzz libX11 + ncurses harfbuzz + ] ++ stdenv.lib.optionals stdenv.isDarwin [ + Cocoa + CoreGraphics + Foundation + IOKit + Kernel + OpenGL + cf-private + libpng + python3 + zlib + ] ++ stdenv.lib.optionals stdenv.isLinux [ + fontconfig glfw libunistring libX11 libXrandr libXinerama libXcursor libxkbcommon libXi libXext - wayland-protocols wayland + wayland-protocols wayland dbus ]; - nativeBuildInputs = [ pkgconfig which sphinx ]; + nativeBuildInputs = [ + pkgconfig which sphinx ncurses + ] ++ stdenv.lib.optionals stdenv.isDarwin [ + imagemagick + libicns # For the png2icns tool. + librsvg + optipng + ]; - postPatch = '' - substituteInPlace kitty/utils.py \ - --replace "find_library('startup-notification-1')" "'${libstartup_notification}/lib/libstartup-notification-1.so'" + outputs = [ "out" "terminfo" ]; - substituteInPlace docs/Makefile \ - --replace 'python3 .. +launch $(shell which sphinx-build)' \ - 'PYTHONPATH=$PYTHONPATH:.. HOME=$TMPDIR/nowhere $(shell which sphinx-build)' - ''; + patches = [ + (substituteAll { + src = ./fix-paths.patch; + libstartup_notification = "${libstartup_notification}/lib/libstartup-notification-1.so"; + }) + ] ++ stdenv.lib.optionals stdenv.isDarwin [ + ./macos-10.11.patch + ./no-lto.patch + ./no-werror.patch + ./png2icns.patch + ]; - buildPhase = '' - python3 setup.py linux-package + buildPhase = if stdenv.isDarwin then '' + make app + '' else '' + ${python.interpreter} setup.py linux-package ''; installPhase = '' runHook preInstall mkdir -p $out + ${if stdenv.isDarwin then '' + mkdir "$out/bin" + ln -s ../Applications/kitty.app/Contents/MacOS/kitty "$out/bin/kitty" + mkdir "$out/Applications" + cp -r kitty.app "$out/Applications/kitty.app" + '' else '' cp -r linux-package/{bin,share,lib} $out + ''} wrapProgram "$out/bin/kitty" --prefix PATH : "$out/bin:${stdenv.lib.makeBinPath [ imagemagick xsel ]}" runHook postInstall + + # ZSH completions need to be invoked with `source`: + # https://github.com/kovidgoyal/kitty/blob/8ceb941051b89b7c50850778634f0b6137aa5e6e/docs/index.rst#zsh + mkdir -p "$out/share/"{bash-completion/completions,fish/vendor_completions.d,zsh/site-functions} + "$out/bin/kitty" + complete setup fish > "$out/share/fish/vendor_completions.d/kitty.fish" + "$out/bin/kitty" + complete setup bash > "$out/share/bash-completion/completions/kitty.bash" + ''; + + postInstall = '' + terminfo_src=${if stdenv.isDarwin then + ''"$out/Applications/kitty.app/Contents/Resources/terminfo"'' + else + "$out/share/terminfo"} + + mkdir -p $terminfo/share + mv "$terminfo_src" $terminfo/share/terminfo + + mkdir -p $out/nix-support + echo "$terminfo" >> $out/nix-support/propagated-user-env-packages ''; meta = with stdenv.lib; { homepage = https://github.com/kovidgoyal/kitty; description = "A modern, hackable, featureful, OpenGL based terminal emulator"; license = licenses.gpl3; - platforms = platforms.linux; - maintainers = with maintainers; [ tex ]; + platforms = platforms.darwin ++ platforms.linux; + maintainers = with maintainers; [ tex rvolosatovs ]; }; } diff --git a/pkgs/applications/misc/kitty/fix-paths.patch b/pkgs/applications/misc/kitty/fix-paths.patch new file mode 100644 index 0000000000000000000000000000000000000000..d6e52adc445295d6d8243fcf799a702af120addc --- /dev/null +++ b/pkgs/applications/misc/kitty/fix-paths.patch @@ -0,0 +1,27 @@ +--- a/kitty/desktop.c ++++ b/kitty/desktop.c +@@ -30,7 +30,7 @@ + static PyObject* + init_x11_startup_notification(PyObject UNUSED *self, PyObject *args) { + static bool done = false; +- static const char* libname = "libstartup-notification-1.so"; ++ static const char* libname = "@libstartup_notification@"; + // some installs are missing the .so symlink, so try the full name + static const char* libname2 = "libstartup-notification-1.so.0"; + +--- a/docs/Makefile ++++ b/docs/Makefile +@@ -3,7 +3,7 @@ +# Patching is needed here for the following reasons: +# * `sphinx-build` in nixpkgs is not a Python file but a wrapper shell script +# * importing the `constants` package from Kitty has a side effect that it +# creates the user configuration directory. This package gets imported +# while sphinx scans the code for documentation strings. +# + # You can set these variables from the command line. + SPHINXOPTS = -T $(FAIL_WARN) +-SPHINXBUILD = python3 .. +launch :sphinx-build ++SPHINXBUILD = PYTHONPATH=${PYTHONPATH}:.. HOME=${TMPDIR}/kitty-build-home sphinx-build + SPHINXPROJ = kitty + SOURCEDIR = . + BUILDDIR = _build diff --git a/pkgs/applications/misc/kitty/macos-10.11.patch b/pkgs/applications/misc/kitty/macos-10.11.patch new file mode 100644 index 0000000000000000000000000000000000000000..c8bf46839e8a178f0f0075e6e4b2ef7852d36d0c --- /dev/null +++ b/pkgs/applications/misc/kitty/macos-10.11.patch @@ -0,0 +1,116 @@ +commit 749772b8b8179eb3b71e542fd9ed5621feb578f5 +Author: Matthew Glazar +Date: Thu Feb 28 22:01:32 2019 -0800 + + Support macOS 10.11 + + Allow Kitty to run on macOS 10.11 El Capitan. + +diff --git a/glfw/cocoa_init.m b/glfw/cocoa_init.m +index 1e719d2e..05a680e4 100644 +--- a/glfw/cocoa_init.m ++++ b/glfw/cocoa_init.m +@@ -30,6 +30,10 @@ + #define NSEventMaskKeyUp NSKeyUpMask + #define NSEventMaskKeyDown NSKeyDownMask + #define NSEventModifierFlagCommand NSCommandKeyMask ++ #define NSEventModifierFlagControl NSControlKeyMask ++ #define NSEventModifierFlagDeviceIndependentFlagsMask NSDeviceIndependentModifierFlagsMask ++ #define NSEventModifierFlagShift NSShiftKeyMask ++ #define NSEventTypeApplicationDefined NSApplicationDefined + #endif + + // Change to our application bundle's resources directory, if present +diff --git a/glfw/cocoa_window.m b/glfw/cocoa_window.m +index 1ce79b56..fd2255fc 100644 +--- a/glfw/cocoa_window.m ++++ b/glfw/cocoa_window.m +@@ -41,6 +41,7 @@ + #define NSWindowStyleMaskTitled NSTitledWindowMask + #define NSEventModifierFlagCommand NSCommandKeyMask + #define NSEventModifierFlagControl NSControlKeyMask ++ #define NSEventModifierFlagNumericPad NSNumericPadKeyMask + #define NSEventModifierFlagOption NSAlternateKeyMask + #define NSEventModifierFlagShift NSShiftKeyMask + #define NSEventModifierFlagCapsLock NSAlphaShiftKeyMask +diff --git a/kitty/cocoa_window.m b/kitty/cocoa_window.m +index 5e9252ba..99eb3352 100644 +--- a/kitty/cocoa_window.m ++++ b/kitty/cocoa_window.m +@@ -15,6 +15,9 @@ + #include + + #if (MAC_OS_X_VERSION_MAX_ALLOWED < 101200) ++typedef NSUInteger NSWindowStyleMask; ++#define NSWindowStyleMaskBorderless NSBorderlessWindowMask ++#define NSWindowStyleMaskFullScreen NSFullScreenWindowMask + #define NSWindowStyleMaskResizable NSResizableWindowMask + #define NSEventModifierFlagOption NSAlternateKeyMask + #define NSEventModifierFlagCommand NSCommandKeyMask +diff --git a/kitty/logging.c b/kitty/logging.c +index 45c88174..1ec9f1b0 100644 +--- a/kitty/logging.c ++++ b/kitty/logging.c +@@ -5,12 +5,21 @@ + * Distributed under terms of the GPL3 license. + */ + ++#ifdef __APPLE__ ++#include ++#endif ++#if defined(__APPLE__) && defined(MAC_OS_X_VERSION_10_12) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_12 ++#define USE_APPLE_OS_LOG 1 ++#else ++#define USE_APPLE_OS_LOG 0 ++#endif ++ + #include "data-types.h" + #include + #include + #include + #include +-#ifdef __APPLE__ ++#if USE_APPLE_OS_LOG + #include + #endif + +@@ -21,7 +30,7 @@ void + log_error(const char *fmt, ...) { + va_list ar; + struct timeval tv; +-#ifdef __APPLE__ ++#if USE_APPLE_OS_LOG + // Apple does not provide a varargs style os_logv + char logbuf[16 * 1024] = {0}; + #else +@@ -44,7 +53,7 @@ log_error(const char *fmt, ...) { + if (use_os_log) { bufprint(vsnprintf, fmt, ar); } + else vfprintf(stderr, fmt, ar); + va_end(ar); +-#ifdef __APPLE__ ++#if USE_APPLE_OS_LOG + if (use_os_log) os_log(OS_LOG_DEFAULT, "%{public}s", logbuf); + #endif + if (!use_os_log) fprintf(stderr, "\n"); +@@ -66,7 +75,7 @@ static PyMethodDef module_methods[] = { + bool + init_logging(PyObject *module) { + if (PyModule_AddFunctions(module, module_methods) != 0) return false; +-#ifdef __APPLE__ ++#if USE_APPLE_OS_LOG + if (getenv("KITTY_LAUNCHED_BY_LAUNCH_SERVICES") != NULL) use_os_log = true; + #endif + return true; +diff --git a/setup.py b/setup.py +index f8643fce..55a96e73 100755 +--- a/setup.py ++++ b/setup.py +@@ -711,7 +711,7 @@ Categories=System;TerminalEmulator; + CFBundlePackageType='APPL', + CFBundleSignature='????', + CFBundleExecutable=appname, +- LSMinimumSystemVersion='10.12.0', ++ LSMinimumSystemVersion='10.11.0', + LSRequiresNativeExecution=True, + NSAppleScriptEnabled=False, + # Needed for dark mode in Mojave when linking against older SDKs diff --git a/pkgs/applications/misc/kitty/no-lto.patch b/pkgs/applications/misc/kitty/no-lto.patch new file mode 100644 index 0000000000000000000000000000000000000000..c5fdeb7ddc0349da9430ac525ce6017a11e6c299 --- /dev/null +++ b/pkgs/applications/misc/kitty/no-lto.patch @@ -0,0 +1,12 @@ +--- a/setup.py ++++ b/setup.py +@@ -223,9 +223,6 @@ def init_env( + cppflags += shlex.split(os.environ.get('CPPFLAGS', '')) + cflags += shlex.split(os.environ.get('CFLAGS', '')) + ldflags += shlex.split(os.environ.get('LDFLAGS', '')) +- if not debug and not sanitize: +- # See https://github.com/google/sanitizers/issues/647 +- cflags.append('-flto'), ldflags.append('-flto') + + if profile: + cppflags.append('-DWITH_PROFILER') diff --git a/pkgs/applications/misc/kitty/no-werror.patch b/pkgs/applications/misc/kitty/no-werror.patch new file mode 100644 index 0000000000000000000000000000000000000000..c9b6dcd6b6944a7cf0b6d284e2fd57c6bd26a691 --- /dev/null +++ b/pkgs/applications/misc/kitty/no-werror.patch @@ -0,0 +1,11 @@ +--- a/setup.py ++++ b/setup.py +@@ -202,7 +202,7 @@ def init_env( + cflags = os.environ.get( + 'OVERRIDE_CFLAGS', ( + '-Wextra -Wno-missing-field-initializers -Wall -std=c11' +- ' -pedantic-errors -Werror {} {} -fwrapv {} {} -pipe {} -fvisibility=hidden' ++ ' {} {} -fwrapv {} {} -pipe {} -fvisibility=hidden' + ).format( + optimize, + ' '.join(sanitize_args), diff --git a/pkgs/applications/misc/kitty/png2icns.patch b/pkgs/applications/misc/kitty/png2icns.patch new file mode 100644 index 0000000000000000000000000000000000000000..d2d0806c862ffc8e5ea8ed016d45ab4245efa64d --- /dev/null +++ b/pkgs/applications/misc/kitty/png2icns.patch @@ -0,0 +1,19 @@ +--- a/setup.py ++++ b/setup.py +@@ -744,9 +744,15 @@ Categories=System;TerminalEmulator; + if not os.path.exists(logo_dir): + raise SystemExit('The kitty logo has not been generated, you need to run logo/make.py') + subprocess.check_call([ +- 'iconutil', '-c', 'icns', logo_dir, '-o', ++ 'png2icns', + os.path.join('Resources', os.path.basename(logo_dir).partition('.')[0] + '.icns') +- ]) ++ ] + [os.path.join(logo_dir, logo) for logo in ( ++ 'icon_128x128.png', ++ 'icon_16x16.png', ++ 'icon_256x256.png', ++ 'icon_32x32.png', ++ 'icon_512x512.png', ++ )]) + # }}} + # }}} diff --git a/pkgs/applications/misc/kiwix/default.nix b/pkgs/applications/misc/kiwix/default.nix index c37d26f3dbcce97ae4c45bf06cd540d85fe8c466..bc49e810d4e5f88530869e40f88a886b06f9d186 100644 --- a/pkgs/applications/misc/kiwix/default.nix +++ b/pkgs/applications/misc/kiwix/default.nix @@ -25,7 +25,7 @@ let sha256 = "1h9vcbvf8wgds6i2z20y7krpys0mqsqhv1ijyfljanp6vyll9fvi"; }; - xulrunner = if stdenv.system == "x86_64-linux" + xulrunner = if stdenv.hostPlatform.system == "x86_64-linux" then { tar = xulrunner64_tar; sdk = xulrunnersdk64_tar; } else { tar = xulrunner32_tar; sdk = xulrunnersdk32_tar; }; @@ -99,9 +99,12 @@ stdenv.mkDerivation rec { meta = { description = "An offline reader for Web content"; - homepage = http://kiwix.org; + homepage = https://kiwix.org; license = licenses.gpl3; platforms = platforms.linux; maintainers = with maintainers; [ robbinch ]; + knownVulnerabilities = [ + "CVE-2015-1032" + ]; }; } diff --git a/pkgs/applications/misc/krename/default.nix b/pkgs/applications/misc/krename/default.nix index a0a2776ae36049edce5ad12f2d90975765592dbc..8b6b7741c7df9ade09dbe7aa4453e2f83f421224 100644 --- a/pkgs/applications/misc/krename/default.nix +++ b/pkgs/applications/misc/krename/default.nix @@ -17,14 +17,17 @@ in mkDerivation rec { sha256 = "136j1dkqrhv458rjh5v3vzjhvq6dhz7k79zk6mmx8zvqacc7cq8a"; }; + buildInputs = [ taglib exiv2 podofo ]; + + nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook ]; + + propagatedBuildInputs = [ kconfig kcrash kinit kjsembed ]; + meta = with lib; { - homepage = http://www.krename.net; description = "A powerful batch renamer for KDE"; - inherit (kconfig.meta) platforms; + homepage = https://kde.org/applications/utilities/krename/; + license = licenses.gpl2; maintainers = with maintainers; [ peterhoeg ]; + inherit (kconfig.meta) platforms; }; - - buildInputs = [ taglib exiv2 podofo ]; - nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook ]; - propagatedBuildInputs = [ kconfig kcrash kinit kjsembed ]; } diff --git a/pkgs/applications/misc/kupfer/default.nix b/pkgs/applications/misc/kupfer/default.nix index 3072963c43e85580df7248387f39c69e7ef4575c..33a2cf932095287afe232abace43a3541cf31aee 100644 --- a/pkgs/applications/misc/kupfer/default.nix +++ b/pkgs/applications/misc/kupfer/default.nix @@ -2,12 +2,13 @@ , fetchurl , intltool , python3Packages -, gobjectIntrospection +, gobject-introspection , gtk3 , libwnck3 , keybinder3 , hicolor-icon-theme , wrapGAppsHook +, wafHook }: with python3Packages; @@ -24,37 +25,20 @@ buildPythonApplication rec { nativeBuildInputs = [ wrapGAppsHook intltool # For setup hook - gobjectIntrospection + gobject-introspection wafHook ]; buildInputs = [ hicolor-icon-theme docutils libwnck3 keybinder3 ]; propagatedBuildInputs = [ pygobject3 gtk3 pyxdg dbus-python pycairo ]; - configurePhase = '' - runHook preConfigure - python ./waf configure --prefix=$prefix - runHook postConfigure - ''; - - buildPhase = '' - runHook preBuild - python ./waf - runHook postBuild - ''; - - installPhase = let + postInstall = let pythonPath = (stdenv.lib.concatMapStringsSep ":" (m: "${m}/lib/${python.libPrefix}/site-packages") propagatedBuildInputs); in '' - runHook preInstall - python ./waf install - gappsWrapperArgs+=( "--prefix" "PYTHONPATH" : "${pythonPath}" "--set" "PYTHONNOUSERSITE" "1" ) - - runHook postInstall ''; doCheck = false; # no tests diff --git a/pkgs/applications/misc/latte-dock/default.nix b/pkgs/applications/misc/latte-dock/default.nix index c22c014bf5f5756c6b12096f8a1f5f97b6f038b3..e560fa3029403ab6914e139134b3ae686b99f817 100644 --- a/pkgs/applications/misc/latte-dock/default.nix +++ b/pkgs/applications/misc/latte-dock/default.nix @@ -3,12 +3,12 @@ mkDerivation rec { pname = "latte-dock"; - version = "0.8.0"; + version = "0.8.8"; name = "${pname}-${version}"; src = fetchurl { url = "https://download.kde.org/stable/${pname}/${name}.tar.xz"; - sha256 = "1zg9r162r66vcvj5rzgy61mda89sk5yfy96g5p1aahbim0rgbdbs"; + sha256 = "137s7rx35a5qrfww3q8bllj4zyjfa7l709snvdfj34y7jbq7p6cd"; name = "${name}.tar.xz"; }; diff --git a/pkgs/applications/misc/libosmocore/default.nix b/pkgs/applications/misc/libosmocore/default.nix index 4f1745c0d8ceda3bcaa7f5b1d3358ae4371bd746..4b3654f9a97b293519a7c1a0dc834d8b35bb0a0e 100644 --- a/pkgs/applications/misc/libosmocore/default.nix +++ b/pkgs/applications/misc/libosmocore/default.nix @@ -1,16 +1,16 @@ { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig -, pcsclite, talloc, python2 +, pcsclite, talloc, python2, gnutls }: stdenv.mkDerivation rec { name = "libosmocore-${version}"; - version = "0.9.6"; + version = "1.0.1"; src = fetchFromGitHub { owner = "osmocom"; repo = "libosmocore"; - rev = "3cc757df1822114bf446dc2d5f6a95da92321a25"; - sha256 = "0dk7065qcy2kjra0p8q2124p73jcyvvzz3cmhid1kx5scyxmr017"; + rev = version; + sha256 = "08xbj2calh1zkp79kxbq01vnh0y7nkgd4cgsivrzlyqahilbzvd9"; }; propagatedBuildInputs = [ @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - pcsclite python2 + pcsclite python2 gnutls ]; enableParallelBuilding = true; @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { description = "libosmocore"; homepage = https://github.com/osmocom/libosmocore; license = licenses.gpl2Plus; - platforms = platforms.linux ++ platforms.darwin; + platforms = platforms.linux; maintainers = with maintainers; [ mog ]; }; } diff --git a/pkgs/applications/misc/librecad/default.nix b/pkgs/applications/misc/librecad/default.nix index ca9a90777e33a6b8accec620366ba0c8c5ebb7c6..c049ed2374fd4503783580eeb220e51bf71cb4ac 100644 --- a/pkgs/applications/misc/librecad/default.nix +++ b/pkgs/applications/misc/librecad/default.nix @@ -18,8 +18,11 @@ stdenv.mkDerivation rec { qmakeFlags = [ "MUPARSER_DIR=${muparser}" "BOOST_DIR=${boost.dev}" ]; installPhase = '' - mkdir -p $out/bin $out/share - cp -R unix/librecad $out/bin + install -m 555 -D unix/librecad $out/bin/librecad + install -m 444 -D desktop/librecad.desktop $out/share/applications/librecad.desktop + install -m 444 -D desktop/librecad.sharedmimeinfo $out/share/mime/packages/librecad.xml + install -m 444 -D desktop/graphics_icons_and_splash/Icon\ LibreCAD/Icon_Librecad.svg \ + $out/share/icons/hicolor/scalable/apps/librecad.svg cp -R unix/resources $out/share/librecad ''; diff --git a/pkgs/applications/misc/lilyterm/default.nix b/pkgs/applications/misc/lilyterm/default.nix index 72cb1e85802ad10fff48784c5d2760b5f249d5c5..948ae7b14a118e2c4b0b164011fb4e65a6a0da42 100644 --- a/pkgs/applications/misc/lilyterm/default.nix +++ b/pkgs/applications/misc/lilyterm/default.nix @@ -1,13 +1,12 @@ -{ stdenv, fetchurl, fetchFromGitHub +{ stdenv, lib, fetchurl, fetchFromGitHub , pkgconfig , autoconf, automake, intltool, gettext , gtk, vte -# "stable" or "git" , flavour ? "stable" }: -assert flavour == "stable" || flavour == "git"; +assert lib.assertOneOf "flavour" flavour [ "stable" "git" ]; let stuff = diff --git a/pkgs/applications/misc/limesuite/default.nix b/pkgs/applications/misc/limesuite/default.nix deleted file mode 100644 index 070073ea3e2cc3686262b1c9570e3021af1a85e3..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/limesuite/default.nix +++ /dev/null @@ -1,53 +0,0 @@ -{ stdenv, fetchFromGitHub, cmake -, sqlite, wxGTK30, libusb1, soapysdr -, mesa_glu, libX11, gnuplot, fltk -} : - -let - version = "18.06.0"; - -in stdenv.mkDerivation { - name = "limesuite-${version}"; - - src = fetchFromGitHub { - owner = "myriadrf"; - repo = "LimeSuite"; - rev = "v${version}"; - sha256 = "0j6mxlvij2k6ib1d9jwzvilmqgm1h0q7wy9sf8a6bvidwlphvy25"; - }; - - nativeBuildInputs = [ cmake ]; - - buildInputs = [ - libusb1 - sqlite - wxGTK30 - fltk - gnuplot - libusb1 - soapysdr - mesa_glu - libX11 - ]; - - postInstall = '' - mkdir -p $out/lib/udev/rules.d - cp ../udev-rules/64-limesuite.rules $out/lib/udev/rules.d - - mkdir -p $out/share/limesuite - cp bin/Release/lms7suite_mcu/* $out/share/limesuite - - cp bin/dualRXTX $out/bin - cp bin/basicRX $out/bin - cp bin/singleRX $out/bin - ''; - - meta = with stdenv.lib; { - description = "Driver and GUI for LMS7002M-based SDR platforms"; - homepage = https://github.com/myriadrf/LimeSuite; - license = licenses.asl20; - maintainers = with maintainers; [ markuskowa ]; - platforms = platforms.linux; - }; -} - diff --git a/pkgs/applications/misc/llpp/default.nix b/pkgs/applications/misc/llpp/default.nix index 372adef4375c4e284b49f7d3e2370f92712e87dc..5ae652d750d123bd61fc6c5f3205d0b45ae5c897 100644 --- a/pkgs/applications/misc/llpp/default.nix +++ b/pkgs/applications/misc/llpp/default.nix @@ -1,48 +1,57 @@ -{ stdenv, lib, makeWrapper, fetchgit, pkgconfig, ninja, ocaml, findlib, mupdf -, gtk3, openjpeg, jbig2dec, mujs, xsel, openssl, freetype, ncurses }: +{ stdenv, lib, substituteAll, makeWrapper, fetchgit, ocaml, mupdf, libX11, +libGLU_combined, freetype, xclip, inotify-tools, procps }: -assert lib.versionAtLeast (lib.getVersion ocaml) "4.02"; +assert lib.versionAtLeast (lib.getVersion ocaml) "4.07"; stdenv.mkDerivation rec { name = "llpp-${version}"; - version = "2018-03-02"; + version = "30"; src = fetchgit { url = "git://repo.or.cz/llpp.git"; - rev = "0ab1fbbf142b6df6d6bae782e3af2ec50f32dec9"; - sha256 = "1h0hrmxwm7ripgp051788p8ad0q38dc9nvjx87mdwlkwk9qc0dis"; + rev = "v${version}"; + sha256 = "0iilpzf12hs0zky58j55l4y5dvzv7fc53nsrg324n9vka92mppvd"; fetchSubmodules = false; }; - nativeBuildInputs = [ pkgconfig makeWrapper ninja ]; - buildInputs = [ ocaml findlib mupdf gtk3 jbig2dec openjpeg mujs openssl freetype ncurses ]; + patches = (substituteAll { + inherit version; + src = ./fix-build-bash.patch; + }); + + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ ocaml mupdf libX11 libGLU_combined freetype ]; dontStrip = true; configurePhase = '' - sed -i -e 's+ocamlc --version+ocamlc -version+' build.sh - sed -i -e 's+-I \$srcdir/mupdf/include -I \$srcdir/mupdf/thirdparty/freetype/include+-I ${freetype.dev}/include+' build.sh - sed -i -e 's+-lmupdf +-lfreetype -lz -lharfbuzz -ljbig2dec -lopenjp2 -ljpeg -lmupdf +' build.sh - sed -i -e 's+-L\$srcdir/mupdf/build/native ++' build.sh + mkdir -p build/mupdf/thirdparty + ln -s ${freetype.dev} build/mupdf/thirdparty/freetype ''; buildPhase = '' - sh ./build.sh build + bash ./build.bash build ''; installPhase = '' - install -d $out/bin $out/lib + install -d $out/bin install build/llpp $out/bin + install misc/llpp.inotify $out/bin/llpp.inotify + wrapProgram $out/bin/llpp \ - --prefix CAML_LD_LIBRARY_PATH ":" "$out/lib" \ - --prefix PATH ":" "${xsel}/bin" + --prefix PATH ":" "${xclip}/bin" + + wrapProgram $out/bin/llpp.inotify \ + --prefix PATH ":" "$out/bin" \ + --prefix PATH ":" "${inotify-tools}/bin" \ + --prefix PATH ":" "${procps}/bin" ''; meta = with stdenv.lib; { - homepage = http://repo.or.cz/w/llpp.git; + homepage = https://repo.or.cz/w/llpp.git; description = "A MuPDF based PDF pager written in OCaml"; platforms = platforms.linux; - maintainers = with maintainers; [ pSub ]; + maintainers = with maintainers; [ pSub enzime ]; license = licenses.gpl3; }; } diff --git a/pkgs/applications/misc/llpp/fix-build-bash.patch b/pkgs/applications/misc/llpp/fix-build-bash.patch new file mode 100644 index 0000000000000000000000000000000000000000..25d503290ce8c01689bef0b3162ae0e512e95a54 --- /dev/null +++ b/pkgs/applications/misc/llpp/fix-build-bash.patch @@ -0,0 +1,88 @@ +From cccadedfbcb6764a38382154838113a6b2fd4dee Mon Sep 17 00:00:00 2001 +From: Michael Hoang +Date: Mon, 10 Dec 2018 15:08:01 +1100 +Subject: [PATCH] Patch build.bash for nixpkgs + +--- + build.bash | 37 ++----------------------------------- + 1 file changed, 2 insertions(+), 35 deletions(-) + +diff --git a/build.bash b/build.bash +index 1588011..72117d9 100755 +--- a/build.bash ++++ b/build.bash +@@ -29,7 +29,6 @@ srcd="$(dirname $0)" + mudir=$outd/mupdf + muinc="-I $mudir/include -I $mudir/thirdparty/freetype/include" + +-test -d "$mudir" || die muPDF not found, consult $(dirname $0)/BUILDING + + mkdir -p $outd/{$wsid,lablGL} + :>$outd/ordered +@@ -39,12 +38,6 @@ isfresh() { test -r "$1.past" && . "$1.past" && test "$k" = "$2"; } + mbt=native + mulibs="$mudir/build/$mbt/libmupdf.a" # $mudir/build/$mbt/libmupdf-third.a + +-keycmd="(cd $mudir && git describe --tags --dirty); digest $mulibs" +-isfresh "$mulibs" "$(eval $keycmd)" || ( +- make -C "$mudir" build=$mbt -j $mjobs libs +- echo "k='$(eval $keycmd)'" >$mudir/build/$mbt/libmupdf.a.past +-) && vecho "fresh mupdf" +- + oincs() { + local i= + local incs1= +@@ -90,32 +83,6 @@ mflags() { + } + + overs="$(ocamlc -vnum 2>/dev/null)" || overs="" +-test "$overs" = "4.07.0" || { +- url=https://caml.inria.fr/pub/distrib/ocaml-4.07/ocaml-4.07.0.tar.xz +- txz=$outd/$(basename $url) +- isfresh $txz $url || { +- executable_p() { command -v "$1" >/dev/null 2>&1; } +- if executable_p wget; then dl() { wget -q "$1" -O "$2"; } +- elif executable_p curl; then dl() { curl -L "$1" -o "$2"; } +- else die "no program to fetch remote urls found" +- fi +- dl $url $txz +- echo "k=$url" >$txz.past +- } && vecho "fresh $txz" +- absprefix=$(cd $outd &>/dev/null; pwd -P) +- export PATH=$absprefix/bin:$PATH +- isfresh $absprefix/bin/ocamlc "$url" || ( +- tar xf $txz -C $outd +- bn=$(basename $url) +- cd $outd/${bn%.tar.xz} +- ./configure -prefix $absprefix \ +- -no-graph -no-debugger -no-ocamldoc -no-native-compiler +- make -j $mjobs world +- make install +- echo "k='$url'" >$absprefix/bin/ocamlc.past +- ) && vecho "fresh ocamlc" +- overs=$(ocamlc -vnum 2>/dev/null) +-} + + bocaml1() { + grep -q "$3" $outd/ordered || { +@@ -224,7 +191,7 @@ bobjc() { + } && vecho "fresh $o" + } + +-ver=$(cd $srcd && git describe --tags --dirty) || ver=unknown ++ver=@version@ + + cmd="(. $srcd/genconfstr.sh >$outd/confstruct.ml)" + keycmd="digest $srcd/genconfstr.sh $outd/confstruct.ml" +@@ -278,7 +245,7 @@ for m in ml_gl ml_glarray ml_raw; do + done + + libs="str.cma unix.cma" +-clibs="-L$mudir/build/$mbt -lmupdf -lmupdf-third -lpthread" ++clibs="-lmupdf -lfreetype -lpthread" + if $darwin; then + mcomp=$(ocamlc -config | grep bytecomp_c_co | { read _ c; echo $c; }) + clibs="$clibs -framework Cocoa -framework OpenGL" +-- +2.19.2 + diff --git a/pkgs/applications/misc/lxterminal/default.nix b/pkgs/applications/misc/lxterminal/default.nix index b16507c8b7bd48cc9c1503e385e4333cef28b19b..4fd86a5a4f5207e079f0f30cfbcfc006c1f4a2c0 100644 --- a/pkgs/applications/misc/lxterminal/default.nix +++ b/pkgs/applications/misc/lxterminal/default.nix @@ -1,15 +1,15 @@ -{ stdenv, fetchurl, automake, autoconf, intltool, pkgconfig, gtk3, vte +{ stdenv, fetchurl, automake, autoconf, intltool, pkgconfig, gtk3, vte, wrapGAppsHook , libxslt, docbook_xml_dtd_412, docbook_xsl, libxml2, findXMLCatalogs }: -let version = "0.3.1"; in +let version = "0.3.2"; in stdenv.mkDerivation rec { name = "lxterminal-${version}"; src = fetchurl { url = "https://github.com/lxde/lxterminal/archive/${version}.tar.gz"; - sha256 = "e91f15c8a726d5c13227263476583137a2639d4799c021ca0726c9805021b54c"; + sha256 = "1iafqmccsm3nnzwp6pb2c04iniqqnscj83bq1rvf58ppzk0bvih3"; }; configureFlags = [ @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ - automake autoconf intltool pkgconfig + automake autoconf intltool pkgconfig wrapGAppsHook libxslt docbook_xml_dtd_412 docbook_xsl libxml2 findXMLCatalogs ]; diff --git a/pkgs/applications/misc/makeself/Use-rm-from-PATH.patch b/pkgs/applications/misc/makeself/Use-rm-from-PATH.patch new file mode 100644 index 0000000000000000000000000000000000000000..80b9ebf4d571267b296f1c0b663fd81aa1596085 --- /dev/null +++ b/pkgs/applications/misc/makeself/Use-rm-from-PATH.patch @@ -0,0 +1,43 @@ +From 81cf57e4653360af7f1718391e424fa05d8ea000 Mon Sep 17 00:00:00 2001 +From: Keshav Kini +Date: Thu, 9 Aug 2018 18:36:15 -0700 +Subject: [PATCH] Use `rm` from PATH + +On NixOS (a Linux distribution), there is no `/bin/rm`, but an `rm` +command will generally be available in one's path when running shell +scripts. Here, I change a couple of invocations of `/bin/rm` into +invocations of `rm` to deal with this issue. + +Since `rm` is already called elsewhere in the script without an +absolute path, I assume this change will not cause any +regressions. Still, I've tested this on a CentOS machine and a NixOS +machine, though not other platforms. +--- + makeself-header.sh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/makeself-header.sh b/makeself-header.sh +index 4d2c005..2babf34 100755 +--- a/makeself-header.sh ++++ b/makeself-header.sh +@@ -515,7 +515,7 @@ if test x"\$quiet" = xn; then + fi + res=3 + if test x"\$keep" = xn; then +- trap 'echo Signal caught, cleaning up >&2; cd \$TMPROOT; /bin/rm -rf "\$tmpdir"; eval \$finish; exit 15' 1 2 3 15 ++ trap 'echo Signal caught, cleaning up >&2; cd \$TMPROOT; rm -rf "\$tmpdir"; eval \$finish; exit 15' 1 2 3 15 + fi + + if test x"\$nodiskspace" = xn; then +@@ -581,7 +581,7 @@ if test x"\$script" != x; then + fi + if test x"\$keep" = xn; then + cd "\$TMPROOT" +- /bin/rm -rf "\$tmpdir" ++ rm -rf "\$tmpdir" + fi + eval \$finish; exit \$res + EOF +-- +2.14.1 + diff --git a/pkgs/applications/misc/makeself/default.nix b/pkgs/applications/misc/makeself/default.nix index a9ec2760e8ad7be9598800d8de0b35737b8b2a58..a6af1762e289a7f0acb81c5bb271e89849705030 100644 --- a/pkgs/applications/misc/makeself/default.nix +++ b/pkgs/applications/misc/makeself/default.nix @@ -11,7 +11,10 @@ stdenv.mkDerivation rec { sha256 = "1lw3gx1zpzp2wmzrw5v7k31vfsrdzadqha9ni309fp07g8inrr9n"; }; - patchPhase = '' + # backported from https://github.com/megastep/makeself/commit/77156e28ff21231c400423facc7049d9c60fd1bd + patches = [ ./Use-rm-from-PATH.patch ]; + + postPatch = '' sed -e "s|^HEADER=.*|HEADER=$out/share/${name}/makeself-header.sh|" -i makeself.sh ''; diff --git a/pkgs/applications/misc/mako/default.nix b/pkgs/applications/misc/mako/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..f076a2838eb46b6112425fce70fbbbf03e4deb02 --- /dev/null +++ b/pkgs/applications/misc/mako/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, scdoc +, systemd, pango, cairo, gdk_pixbuf +, wayland, wayland-protocols }: + +stdenv.mkDerivation rec { + pname = "mako"; + version = "1.3"; + + src = fetchFromGitHub { + owner = "emersion"; + repo = pname; + rev = "v${version}"; + sha256 = "17azdc37xsbmx13fkfp23vg9lznrv9fh6nhagn64wdq3nhsxm3b6"; + }; + + nativeBuildInputs = [ meson ninja pkgconfig scdoc wayland-protocols ]; + buildInputs = [ systemd pango cairo gdk_pixbuf wayland ]; + + mesonFlags = [ + "-Dicons=enabled" "-Dman-pages=enabled" "-Dzsh-completions=true" + ]; + + meta = with stdenv.lib; { + description = "A lightweight Wayland notification daemon"; + homepage = https://wayland.emersion.fr/mako/; + license = licenses.mit; + maintainers = with maintainers; [ dywedir ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/misc/masterpdfeditor/default.nix b/pkgs/applications/misc/masterpdfeditor/default.nix index 3155ab678d8688839225a9c34e0bbf24514e264d..928a1bae108a70593bce9b99f6518726efef90ee 100644 --- a/pkgs/applications/misc/masterpdfeditor/default.nix +++ b/pkgs/applications/misc/masterpdfeditor/default.nix @@ -1,22 +1,27 @@ -{ stdenv, fetchurl, sane-backends, qtbase, qtsvg, nss, autoPatchelfHook }: +{ stdenv, fetchurl, sane-backends, qtbase, qtsvg, nss, autoPatchelfHook, lib, makeWrapper }: let - version = "5.1.12"; + version = "5.3.22"; in stdenv.mkDerivation { name = "masterpdfeditor-${version}"; src = fetchurl { url = "https://code-industry.net/public/master-pdf-editor-${version}_qt5.amd64.tar.gz"; - sha256 = "1i3pdrhnlj06phm36gs42s6b94pigcfb8wa5dhmplxn0dqp434hq"; + sha256 = "0cnw01g3j5l07f2lng604mx8qqm61i5sflryj1vya2gkjmrphkan"; }; - nativeBuildInputs = [ autoPatchelfHook ]; + nativeBuildInputs = [ autoPatchelfHook makeWrapper ]; buildInputs = [ nss qtbase qtsvg sane-backends stdenv.cc.cc ]; dontStrip = true; + # Please remove this when #44047 is fixed + postInstall = '' + wrapProgram $out/bin/masterpdfeditor5 --prefix QT_PLUGIN_PATH : ${lib.getBin qtbase}/${qtbase.qtPluginPrefix} + ''; + installPhase = '' runHook preInstall diff --git a/pkgs/applications/misc/mdp/default.nix b/pkgs/applications/misc/mdp/default.nix index 5af524a456babca892ef66388d98be2061284d9d..6c58dde00d36bf44734703b48c30c8f6fd7206af 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.13"; + version = "1.0.15"; name = "mdp-${version}"; src = fetchFromGitHub { owner = "visit1985"; repo = "mdp"; rev = version; - sha256 = "0snmglsmgfavgv6cnlb0j54sr0paf570ajpwk1b3g81v078hz2aq"; + sha256 = "1m9a0vvyw2m55cn7zcq011vrjkiaj5a3g5g6f2dpq953gyi7gff9"; }; makeFlags = [ "PREFIX=$(out)" ]; @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { homepage = https://github.com/visit1985/mdp; description = "A command-line based markdown presentation tool"; - maintainers = with maintainers; [ vrthra ]; + maintainers = with maintainers; [ matthiasbeyer vrthra ]; license = licenses.gpl3; platforms = with platforms; unix; }; diff --git a/pkgs/applications/misc/mediainfo-gui/default.nix b/pkgs/applications/misc/mediainfo-gui/default.nix index b6ec3305cb3a2e7e4ee75fc0e69d1e7b7febc66a..904fb95ca6c64e39dcd61b9542730ddb229a7a83 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 = "18.05"; + version = "18.12"; name = "mediainfo-gui-${version}"; src = fetchurl { url = "https://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz"; - sha256 = "0rgsfplisf729n1j3fyg82wpw88aahisrddn5wq9yx8hz6m96h6r"; + sha256 = "01pk57ff297lifm3g2hrbmfmchgyy5rir8103n2j3l0dkn2i0g3d"; }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; diff --git a/pkgs/applications/misc/mediainfo/default.nix b/pkgs/applications/misc/mediainfo/default.nix index 5b2f8125f72c622b72dffc80aea09b1b17880103..a3320a16ee91b191854951a304c5f561686c3c40 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 = "18.05"; + version = "18.12"; name = "mediainfo-${version}"; src = fetchurl { url = "https://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz"; - sha256 = "0rgsfplisf729n1j3fyg82wpw88aahisrddn5wq9yx8hz6m96h6r"; + sha256 = "01pk57ff297lifm3g2hrbmfmchgyy5rir8103n2j3l0dkn2i0g3d"; }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; diff --git a/pkgs/applications/misc/menumaker/default.nix b/pkgs/applications/misc/menumaker/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..56854e7863fece39f101e6d74c131eeab78d125a --- /dev/null +++ b/pkgs/applications/misc/menumaker/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, pythonPackages }: + +pythonPackages.buildPythonApplication rec { + name = "menumaker-${version}"; + version = "0.99.10"; + + src = fetchurl { + url = "mirror://sourceforge/menumaker/${name}.tar.gz"; + sha256 = "1mm4cvg3kphkkd8nwrhcg6d9nm5ar7mgc0wf6fxk6zck1l7xn8ky"; + }; + + format = "other"; + + meta = with stdenv.lib; { + description = "Heuristics-driven menu generator for several window managers"; + homepage = http://menumaker.sourceforge.net; + license = licenses.bsd2; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/applications/misc/mlterm/default.nix b/pkgs/applications/misc/mlterm/default.nix index 31793031dc1fbf269ff0960b8d8d785591680233..2cfa6010853f38175d9131f6302a5f6ae12311b7 100644 --- a/pkgs/applications/misc/mlterm/default.nix +++ b/pkgs/applications/misc/mlterm/default.nix @@ -7,11 +7,11 @@ stdenv.mkDerivation rec { name = "mlterm-${version}"; - version = "3.8.6"; + version = "3.8.8"; src = fetchurl { url = "mirror://sourceforge/project/mlterm/01release/${name}/${name}.tar.gz"; - sha256 = "06zylbinh84s9v79hrlvv44rd57z7kvgz9afbps3rjcbncxcmivd"; + sha256 = "1jq3fv2wqhszfipkzj8d0lykr6g0zzksn7xy4d3kwincmzfskv7k"; }; nativeBuildInputs = [ pkgconfig autoconf ]; diff --git a/pkgs/applications/misc/moonlight-embedded/default.nix b/pkgs/applications/misc/moonlight-embedded/default.nix index 5aaaa7a0e37bd5278affde851d0bd2fcf4e67b85..76c2ba69d35b481b7b0a267a31f5b6a0a462a157 100644 --- a/pkgs/applications/misc/moonlight-embedded/default.nix +++ b/pkgs/applications/misc/moonlight-embedded/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchgit, cmake, perl +{ stdenv, fetchFromGitHub, cmake, perl , alsaLib, libevdev, libopus, udev, SDL2 , ffmpeg, pkgconfig, xorg, libvdpau, libpulseaudio, libcec , curl, expat, avahi, enet, libuuid @@ -6,13 +6,14 @@ stdenv.mkDerivation rec { name = "moonlight-embedded-${version}"; - version = "2.4.6"; + version = "2.4.7"; - # fetchgit used to ensure submodules are available - src = fetchgit { - url = "git://github.com/irtimmer/moonlight-embedded"; - rev = "refs/tags/v${version}"; - sha256 = "0vs6rjmz8058s9lscagiif6pcizwfrvfpk9rxxgacfi0xisfgmf1"; + src = fetchFromGitHub { + owner = "irtimmer"; + repo = "moonlight-embedded"; + rev = "v${version}"; + sha256 = "0ihgb0kh4rhbgn55s25rfbs8063zqvcyqn137jn3nsc0is1595a9"; + fetchSubmodules = true; }; outputs = [ "out" "man" ]; diff --git a/pkgs/applications/misc/mop/default.nix b/pkgs/applications/misc/mop/default.nix index 8c6bd92d5362e9c0a2f84c481c9cdeef181e853d..b9179bbe5463e07836cf0fa4b6dbd3783a28e1f1 100644 --- a/pkgs/applications/misc/mop/default.nix +++ b/pkgs/applications/misc/mop/default.nix @@ -22,9 +22,10 @@ buildGoPackage rec { sha256 = "0zp51g9i8rw6acs4vnrxclbxa5z1v0a0m1xx27szszp0rphcczkx"; }; - meta = { + meta = with stdenv.lib; { description = "Simple stock tracker implemented in go"; homepage = https://github.com/mop-tracker/mop; - platforms = stdenv.lib.platforms.all; + license = licenses.mit; + platforms = platforms.all; }; } diff --git a/pkgs/applications/misc/mrxvt/default.nix b/pkgs/applications/misc/mrxvt/default.nix index 3f7ce3cc5d5b9ba9d6dd6bfc74002a1701dc1603..a6efb19b5774a1a2eec2e6f003fe9227e9d0675c 100644 --- a/pkgs/applications/misc/mrxvt/default.nix +++ b/pkgs/applications/misc/mrxvt/default.nix @@ -1,11 +1,11 @@ -{ stdenv, fetchurl, libX11, libXft, libXi, inputproto, libSM, libICE +{ stdenv, fetchurl, libX11, libXft, libXi, xorgproto, libSM, libICE , freetype, pkgconfig, which }: stdenv.mkDerivation { name = "mrxvt-0.5.4"; buildInputs = - [ libX11 libXft libXi inputproto libSM libICE freetype pkgconfig which ]; + [ libX11 libXft libXi xorgproto libSM libICE freetype pkgconfig which ]; configureFlags = [ "--with-x" diff --git a/pkgs/applications/misc/multibootusb/default.nix b/pkgs/applications/misc/multibootusb/default.nix index 02541842c36e7835cda5523139bebcbfb91a6033..a2678d6067f954560990e62a4651e2a56894dfb0 100644 --- a/pkgs/applications/misc/multibootusb/default.nix +++ b/pkgs/applications/misc/multibootusb/default.nix @@ -1,4 +1,4 @@ -{ lib, python36Packages, fetchFromGitHub, libxcb, mtools, p7zip, parted, procps, utillinux, qt5 }: +{ stdenv, python36Packages, fetchFromGitHub, libxcb, mtools, p7zip, parted, procps, utillinux, qt5, runtimeShell }: python36Packages.buildPythonApplication rec { pname = "multibootusb"; name = "${pname}-${version}"; @@ -40,7 +40,7 @@ python36Packages.buildPythonApplication rec { mkdir "$out/bin" cat > "$out/bin/${pname}" <= 1.1.0' && echo yes)" "yes" - HAVE_LIBCRYPTO := yes - SYS_LIBCRYPTO_CFLAGS := -DHAVE_LIBCRYPTO $(shell pkg-config --cflags libcrypto) -@@ -113,7 +101,7 @@ SYS_CURL_CFLAGS += $(shell pkg-config --cflags openssl) - SYS_CURL_DEPS += $(shell pkg-config --libs openssl) - endif - endif --SYS_CURL_DEPS += -lpthread -lrt -+SYS_CURL_DEPS += -lpthread + ifeq ($(shell pkg-config --exists freetype2 && echo yes),yes) + SYS_FREETYPE_CFLAGS := $(shell pkg-config --cflags freetype2) +@@ -119,12 +112,6 @@ + SYS_CURL_LIBS := $(shell pkg-config --libs libcurl) + endif - ifeq "$(shell pkg-config --exists x11 xext && echo yes)" "yes" - HAVE_X11 := yes -diff --git a/platform/gl/gl-main.c b/platform/gl/gl-main.c -index d58f7ba..808af18 100644 ---- a/platform/gl/gl-main.c -+++ b/platform/gl/gl-main.c -@@ -16,6 +16,7 @@ void glutExit(void) {} - void glutMouseWheelFunc(void *fn) {} - void glutInitErrorFunc(void *fn) {} - void glutInitWarningFunc(void *fn) {} -+#define glutSetOption(X,Y) - #endif - - enum +- HAVE_GLUT := yes +- ifeq ($(HAVE_GLUT),yes) +- SYS_GLUT_CFLAGS := +- SYS_GLUT_LIBS := -lglut -lGL +- endif +- + HAVE_X11 := $(shell pkg-config --exists x11 xext && echo yes) + ifeq ($(HAVE_X11),yes) + X11_CFLAGS := $(shell pkg-config --cflags x11 xext) diff --git a/pkgs/applications/misc/mupdf/default.nix b/pkgs/applications/misc/mupdf/default.nix index bce2a79cde33d4ec4dd3f342e8ccbcd12660bb77..38f5075d10f20ab0e3631a8399a5681bab867632 100644 --- a/pkgs/applications/misc/mupdf/default.nix +++ b/pkgs/applications/misc/mupdf/default.nix @@ -14,23 +14,24 @@ let in stdenv.mkDerivation rec { - version = "1.13.0"; + version = "1.14.0"; name = "mupdf-${version}"; src = fetchurl { url = "https://mupdf.com/downloads/archive/${name}-source.tar.gz"; - sha256 = "02faww5bnjw76k6igrjzwf0lnw4xd9ckc8d6ilc3c4gfrdi6j707"; + sha256 = "093p7lv6pgyymagn28n58fs0np928r0i5p2az9cc4gwccwx4hhy4"; }; - patches = [ - (fetchpatch { - name = "CVE-2018-10289.patch"; - url = "https://bugs.ghostscript.com/attachment.cgi?id=15230"; - sha256 = "0jmpacxd9930g6k57kda9jrcrbk75whdlv8xwmqg5jwn848qvy4q"; - }) - ] + patches = # Use shared libraries to decrease size - ++ stdenv.lib.optional (!stdenv.isDarwin) ./mupdf-1.13-shared_libs-1.patch + [( fetchpatch + { + name = "CVE-2018-18662"; + url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=164ddc22ee0d5b63a81d5148f44c37dd132a9356"; + sha256 = "1jkzh20n3b854871h86cy5y7fvy0d5wyqy51b3fg6gj3a0jqpzzd"; + } + )] + ++ stdenv.lib.optional (!stdenv.isDarwin) ./mupdf-1.14-shared_libs.patch ++ stdenv.lib.optional stdenv.isDarwin ./darwin.patch ; @@ -38,7 +39,7 @@ in stdenv.mkDerivation rec { sed -i "s/__OPENJPEG__VERSION__/${openJpegVersion}/" source/fitz/load-jpx.c ''; - makeFlags = [ "prefix=$(out)" ]; + makeFlags = [ "prefix=$(out) USE_SYSTEM_LIBS=yes" ]; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ freetype harfbuzz openjpeg jbig2dec libjpeg freeglut libGLU ] ++ lib.optionals enableX11 [ libX11 libXext libXi libXrandr ] @@ -66,7 +67,7 @@ in stdenv.mkDerivation rec { Name: mupdf Description: Library for rendering PDF documents Version: ${version} - Libs: -L$out/lib -lmupdf -lmupdfthird + Libs: -L$out/lib -lmupdf -lmupdf-third Cflags: -I$dev/include EOF diff --git a/pkgs/applications/misc/mupdf/mupdf-1.13-shared_libs-1.patch b/pkgs/applications/misc/mupdf/mupdf-1.13-shared_libs-1.patch deleted file mode 100644 index e29f1f52077c36274e3e3b4ece9eb065e0173436..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/mupdf/mupdf-1.13-shared_libs-1.patch +++ /dev/null @@ -1,45 +0,0 @@ ---- mupdf-1.12.0-source.orig/Makefile 2017-12-13 15:00:30.000000000 +0100 -+++ mupdf-1.12.0-source/Makefile 2017-12-31 00:05:23.003277481 +0100 -@@ -14,7 +14,7 @@ - # Do not specify CFLAGS or LIBS on the make invocation line - specify - # XCFLAGS or XLIBS instead. Make ignores any lines in the makefile that - # set a variable that was set on the command line. --CFLAGS += $(XCFLAGS) -Iinclude -+CFLAGS += $(XCFLAGS) -Iinclude -fPIC - LIBS += $(XLIBS) -lm - - LIBS += $(FREETYPE_LIBS) -@@ -312,10 +312,10 @@ - - # --- Library --- - --MUPDF_LIB = $(OUT)/libmupdf.a --THIRD_LIB = $(OUT)/libmupdfthird.a --THREAD_LIB = $(OUT)/libmuthreads.a --PKCS7_LIB = $(OUT)/libmupkcs7.a -+MUPDF_LIB = $(OUT)/libmupdf.so -+THIRD_LIB = $(OUT)/libmupdfthird.so -+THREAD_LIB = $(OUT)/libmuthreads.so -+PKCS7_LIB = $(OUT)/libmupkcs7.so - - MUPDF_OBJ := \ - $(FITZ_OBJ) \ -@@ -343,13 +343,17 @@ - $(ZLIB_OBJ) \ - $(LCMS2_OBJ) - --$(MUPDF_LIB) : $(MUPDF_OBJ) -+$(MUPDF_LIB) : $(MUPDF_OBJ) $(THIRD_LIB) $(THREAD_LIB) -+ $(LINK_CMD) -shared -Wl,-soname -Wl,libmupdf.so -Wl,--no-undefined - $(THIRD_LIB) : $(THIRD_OBJ) -+ $(LINK_CMD) -shared -Wl,-soname -Wl,libmupdfthird.so -Wl,--no-undefined - $(THREAD_LIB) : $(THREAD_OBJ) -+ $(LINK_CMD) -shared -Wl,-soname -Wl,libmuthreads.so -Wl,--no-undefined -lpthread - $(PKCS7_LIB) : $(PKCS7_OBJ) -+ $(LINK_CMD) -shared -Wl,-soname -Wl,libmupkcs7.so - --INSTALL_LIBS := $(MUPDF_LIB) $(THIRD_LIB) -+INSTALL_LIBS := $(MUPDF_LIB) $(THIRD_LIB) $(THREAD_LIB) $(PKCS7_LIB) - - # --- Tools and Apps --- - diff --git a/pkgs/applications/misc/mupdf/mupdf-1.14-shared_libs.patch b/pkgs/applications/misc/mupdf/mupdf-1.14-shared_libs.patch new file mode 100644 index 0000000000000000000000000000000000000000..131a1bbbf6bdc0f9f08366626373afaeb925faf1 --- /dev/null +++ b/pkgs/applications/misc/mupdf/mupdf-1.14-shared_libs.patch @@ -0,0 +1,39 @@ +--- mupdf-1.14.0-source.orig/Makefile 2018-11-02 06:57:12.114012496 +0100 ++++ mupdf-1.14.0-source/Makefile 2018-11-02 09:57:10.067945307 +0100 +@@ -20,7 +20,7 @@ + # Do not specify CFLAGS or LIBS on the make invocation line - specify + # XCFLAGS or XLIBS instead. Make ignores any lines in the makefile that + # set a variable that was set on the command line. +-CFLAGS += $(XCFLAGS) -Iinclude ++CFLAGS += $(XCFLAGS) -Iinclude -fPIC + LIBS += $(XLIBS) -lm + + ifneq ($(threading),no) +@@ -190,17 +190,21 @@ + + # --- Library --- + +-MUPDF_LIB = $(OUT)/libmupdf.a +-THIRD_LIB = $(OUT)/libmupdf-third.a +-THREAD_LIB = $(OUT)/libmupdf-threads.a +-PKCS7_LIB = $(OUT)/libmupdf-pkcs7.a ++MUPDF_LIB = $(OUT)/libmupdf.so ++THIRD_LIB = $(OUT)/libmupdf-third.so ++THREAD_LIB = $(OUT)/libmupdf-threads.so ++PKCS7_LIB = $(OUT)/libmupdf-pkcs7.so + +-$(MUPDF_LIB) : $(MUPDF_OBJ) ++$(MUPDF_LIB) : $(MUPDF_OBJ) $(THIRD_LIB) $(THREAD_LIB) ++ $(LINK_CMD) $(THIRD_LIBS) -shared -Wl,-soname -Wl,libmupdf.so -Wl,--no-undefined + $(THIRD_LIB) : $(THIRD_OBJ) ++ $(LINK_CMD) -shared -Wl,-soname -Wl,libmupdf-third.so -Wl,--no-undefined + $(THREAD_LIB) : $(THREAD_OBJ) ++ $(LINK_CMD) -shared -Wl,-soname -Wl,libmupdf-threads.so -Wl,--no-undefined -lpthread + $(PKCS7_LIB) : $(PKCS7_OBJ) ++ $(LINK_CMD) -shared -Wl,-soname -Wl,libmupdf-pkcs7.so + +-INSTALL_LIBS := $(MUPDF_LIB) $(THIRD_LIB) ++INSTALL_LIBS := $(MUPDF_LIB) $(THIRD_LIB) $(THREAD_LIB) $(PKCS7_LIB) + + # --- Main tools and viewers --- + diff --git a/pkgs/applications/misc/mwic/default.nix b/pkgs/applications/misc/mwic/default.nix index 67e6ed3fa9ce9388d7c2ae313a8b0646250761f8..c08a21e8797845a96b00edf6b819a4a026366cbd 100644 --- a/pkgs/applications/misc/mwic/default.nix +++ b/pkgs/applications/misc/mwic/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, pythonPackages }: stdenv.mkDerivation rec { - version = "0.7.5"; + version = "0.7.7"; name = "mwic-${version}"; src = fetchurl { url = "https://github.com/jwilk/mwic/releases/download/${version}/${name}.tar.gz"; - sha256 = "1b4fz9vs0aihg9nj9aj6d2jmykpa9nxi9rvz06v50wwk515plpmc"; + sha256 = "0l4anwiiqclymx0awwn4hzaj8n26ycg8nz76wjphsyscn7z2awad"; }; makeFlags=["PREFIX=\${out}"]; @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { homepage = http://jwilk.net/software/mwic; description = "spell-checker that groups possible misspellings and shows them in their contexts"; license = licenses.mit; - maintainers = with maintainers; [ ]; + maintainers = with maintainers; [ matthiasbeyer ]; }; } diff --git a/pkgs/applications/misc/mysql-workbench/default.nix b/pkgs/applications/misc/mysql-workbench/default.nix index 7068d8aedd376d8a5c14e879a8780352d9095969..cccd36d7ead8a9a2c9ce80d2251c47900e730504 100644 --- a/pkgs/applications/misc/mysql-workbench/default.nix +++ b/pkgs/applications/misc/mysql-workbench/default.nix @@ -13,12 +13,12 @@ let inherit (python2.pkgs) paramiko pycairo pyodbc; in stdenv.mkDerivation rec { pname = "mysql-workbench"; - version = "8.0.12"; + version = "8.0.15"; name = "${pname}-${version}"; src = fetchurl { url = "http://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-workbench-community-${version}-src.tar.gz"; - sha256 = "0d6k1kw0bi3q5dlilzlgds1gcrlf7pis4asm3d6pssh2jmn5hh82"; + sha256 = "0ca93azasya5xiw6j2map8drmxf445qqydpvrb512kjfqdiv67x6"; }; patches = [ diff --git a/pkgs/applications/misc/navit/CMakeLists.txt.patch b/pkgs/applications/misc/navit/CMakeLists.txt.patch new file mode 100644 index 0000000000000000000000000000000000000000..7f8a75f319be2124f743706dbc3444828f15ee37 --- /dev/null +++ b/pkgs/applications/misc/navit/CMakeLists.txt.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 763f75b..defa74a 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -212,7 +212,7 @@ CHECK_INCLUDE_FILES(endian.h HAVE_ENDIAN_H) + CHECK_INCLUDE_FILES(stdint.h HAVE_STDINT_H) + CHECK_INCLUDE_FILES(byteswap.h HAVE_BYTESWAP_H) + CHECK_LIBRARY_EXISTS(gypsy gypsy_control_get_default "" GYPSY_FOUND) +-CHECK_INCLUDE_FILES(libspeechd.h HAVE_LIBSPEECHD) ++CHECK_INCLUDE_FILES(speech-dispatcher/libspeechd.h HAVE_LIBSPEECHD) + CHECK_INCLUDE_FILES(sys/socket.h HAVE_SOCKET) + CHECK_INCLUDE_FILES(sys/shm.h HAVE_SHMEM) + CHECK_FUNCTION_EXISTS(snprintf HAVE_SNPRINTF) diff --git a/pkgs/applications/misc/navit/default.nix b/pkgs/applications/misc/navit/default.nix index 362d28d2607f397812d0f93385794fc1cb65f162..8dc288c01625474dab96fdea85281e5d6e8fecc9 100644 --- a/pkgs/applications/misc/navit/default.nix +++ b/pkgs/applications/misc/navit/default.nix @@ -1,30 +1,90 @@ -{ stdenv, fetchsvn, pkgconfig, gtk2, SDL, fontconfig, freetype, imlib2, SDL_image, libGLU_combined, -libXmu, freeglut, python, gettext, quesoglc, gd, postgresql, cmake, qt4, SDL_ttf, fribidi}: +{ stdenv, fetchFromGitHub, pkgconfig, gtk2, fontconfig, freetype, imlib2 +, SDL_image, libGLU_combined, libXmu, freeglut, pcre, dbus, dbus-glib, glib +, librsvg, freeimage, libxslt, cairo, gdk_pixbuf, pango +, atk, patchelf, fetchurl, bzip2, python, gettext, quesoglc +, gd, cmake, shapelib, SDL_ttf, fribidi, makeWrapper +, qtquickcontrols, qtmultimedia, qtspeech, qtsensors +, qtlocation, qtdeclarative, qtsvg +, qtSupport ? false, qtbase #need to fix qt_qpainter +, sdlSupport ? true, SDL +, xkbdSupport ? true, xkbd +, espeakSupport ? true, espeak +, postgresqlSupport ? false, postgresql +, speechdSupport ? false, speechd ? null +}: + +assert speechdSupport -> speechd != null; + +with stdenv.lib; stdenv.mkDerivation rec { - name = "navit-svn-3537"; + name = "navit-${version}"; + version = "0.5.3"; + + src = fetchFromGitHub { + owner = "navit-gps"; + repo = "navit"; + rev = "v${version}"; + sha256 = "071drvqzxpxbfh0lf0lra5a97rv8ny40l96n9xl0dx0s8w30j61i"; + }; - src = fetchsvn { - url = svn://svn.code.sf.net/p/navit/code/trunk/navit; - rev = 5576; - sha256 = "1xx62l5srfhh9cfi7n3pxj8hpcgr1rpa0hzfmbrqadzv09z36723"; + sample_map = fetchurl { + url = "http://www.navit-project.org/maps/osm_bbox_11.3,47.9,11.7,48.2.osm.bz2"; + name = "sample_map.bz2"; + sha256 = "0vg6b6rhsa2cxqj4rbhfhhfss71syhnfa6f1jg2i2d7l88dm5x7d"; }; - hardeningDisable = [ "format" ]; + patches = [ ./CMakeLists.txt.patch ]; + + NIX_CFLAGS_COMPILE = optional sdlSupport "-I${SDL.dev}/include/SDL" + ++ optional speechdSupport "-I${speechd}/include/speech-dispatcher"; + + # we choose only cmdline and speech-dispatcher speech options. + # espeak builtins is made for non-cmdline OS as winCE + cmakeFlags = [ + "-DSAMPLE_MAP=n " "-DCMAKE_BUILD_TYPE=Release" + "-Dspeech/qt5_espeak=FALSE" "-Dsupport/espeak=FALSE" + ]; + + buildInputs = [ + gtk2 fontconfig freetype imlib2 libGLU_combined freeimage + libxslt libXmu freeglut python gettext quesoglc gd + fribidi pcre dbus dbus-glib librsvg shapelib glib + cairo gdk_pixbuf pango atk + ] ++ optionals sdlSupport [ SDL SDL_ttf SDL_image ] + ++ optional postgresqlSupport postgresql + ++ optional speechdSupport speechd + ++ optionals qtSupport [ + qtquickcontrols qtmultimedia qtspeech qtsensors + qtbase qtlocation qtdeclarative qtsvg + ]; - buildInputs = [ gtk2 SDL fontconfig freetype imlib2 SDL_image libGLU_combined - libXmu freeglut python gettext quesoglc gd postgresql qt4 SDL_ttf fribidi ]; + nativeBuildInputs = [ makeWrapper pkgconfig cmake patchelf bzip2 ]; - nativeBuildInputs = [ pkgconfig cmake ]; + # we dont want blank screen by defaut + postInstall = '' + # emulate DSAMPLE_MAP + mkdir -p $out/share/navit/maps/ + bzcat "${sample_map}" | $out/bin/maptool "$out/share/navit/maps/osm_bbox_11.3,47.9,11.7,48.2.bin" + ''; - NIX_CFLAGS_COMPILE = [ "-I${SDL.dev}/include/SDL" ]; + # TODO: fix upstream? + libPath = stdenv.lib.makeLibraryPath ([ stdenv.cc.libc ] ++ buildInputs ); + postFixup = + '' + find "$out/lib" -type f -name "*.so" -exec patchelf --set-rpath $libPath {} \; - cmakeFlags = [ "-DSAMPLE_MAP=n" ]; + wrapProgram $out/bin/navit \ + --prefix PATH : ${makeBinPath ( + optional xkbdSupport xkbd + ++ optional espeakSupport espeak + ++ optional speechdSupport speechd ) } + ''; meta = { - homepage = http://www.navit-project.org/; + homepage = https://www.navit-project.org; description = "Car navigation system with routing engine using OSM maps"; - license = stdenv.lib.licenses.gpl2; - maintainers = with stdenv.lib.maintainers; [ ]; - platforms = with stdenv.lib.platforms; linux; + license = licenses.gpl2; + maintainers = [ maintainers.genesis ]; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/misc/neap/default.nix b/pkgs/applications/misc/neap/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..21a5ab0cd0f6c35d094488e6944d3a9b6cd1eb79 --- /dev/null +++ b/pkgs/applications/misc/neap/default.nix @@ -0,0 +1,44 @@ +{ stdenv, fetchFromGitHub, python2Packages }: + +stdenv.mkDerivation rec { + name = "neap-${version}"; + version = "0.7.2"; + + src = fetchFromGitHub { + owner = "vzxwco"; + repo = "neap"; + rev = "v${version}"; + sha256 = "04da8rq23rl1qcvrdm5m3l90xbwyli7x601sckv7hmkip2q3g1kz"; + }; + + nativeBuildInputs = [ + python2Packages.wrapPython + ]; + + buildInputs = [ + python2Packages.python + ]; + + pythonPath = [ + python2Packages.xlib + python2Packages.pygtk + ]; + + installPhase = '' + install -D -t $out/bin neap + install -D -t $out/share/man/man1 neap.1 + install -D -t $out/share/applications neap.desktop + ''; + + postFixup = '' + wrapPythonPrograms + ''; + + meta = with stdenv.lib; { + description = "Systray workspace pager"; + homepage = https://github.com/vzxwco/neap; + license = licenses.bsd2; + platforms = platforms.unix; + maintainers = [ maintainers.romildo ]; + }; +} diff --git a/pkgs/applications/misc/netsurf/buildsystem/default.nix b/pkgs/applications/misc/netsurf/buildsystem/default.nix index f25180505e87c86ad2f108295bde6b545b8e30c9..882bb75219d6a96d75d3a4bb2b3eb8d6ee200c9e 100644 --- a/pkgs/applications/misc/netsurf/buildsystem/default.nix +++ b/pkgs/applications/misc/netsurf/buildsystem/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { name = "netsurf-buildsystem-${version}"; - version = "1.6"; + version = "1.7"; src = fetchurl { url = "http://download.netsurf-browser.org/libs/releases/buildsystem-${version}.tar.gz"; - sha256 = "0p5k708lcq8dip9xxck6hml32bjrbyipprm22bbsvdnsc0pqm71x"; + sha256 = "1q23aaycv35ma5471l1gxib8lfq2s9kprrkaqgfc926d04rlbmhw"; }; makeFlags = [ diff --git a/pkgs/applications/misc/nix-tour/default.nix b/pkgs/applications/misc/nix-tour/default.nix index 7e5a3a7840d7abca89809ba49af28ff8f0db1a43..1cc7f419aa2e3364307e1744dd4e4f0ca4bb77de 100644 --- a/pkgs/applications/misc/nix-tour/default.nix +++ b/pkgs/applications/misc/nix-tour/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchgit, electron } : +{ stdenv, fetchgit, electron, runtimeShell } : stdenv.mkDerivation rec { name = "nix-tour-${version}"; @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { mkdir -p $out/share cp -R * $out/share chmod 0755 $out/share/ -R - echo "#!${stdenv.shell}" > $out/bin/nix-tour + echo "#!${runtimeShell}" > $out/bin/nix-tour echo "cd $out/share/" >> $out/bin/nix-tour echo "${electron}/bin/electron $out/share/electron-main.js" >> $out/bin/nix-tour chmod 0755 $out/bin/nix-tour diff --git a/pkgs/applications/misc/nixnote2/default.nix b/pkgs/applications/misc/nixnote2/default.nix index 12f8c12b5864482b07d9192dfcb66c7735e132c4..145abfba5d5c11b4a28653d7f0e7925066e5a821 100644 --- a/pkgs/applications/misc/nixnote2/default.nix +++ b/pkgs/applications/misc/nixnote2/default.nix @@ -30,8 +30,9 @@ mkDerivation rec { substituteInPlace nixnote.cpp --replace 'tidyProcess.start("tidy' 'tidyProcess.start("${html-tidy}/bin/tidy' ''; - postInstal = '' + postInstall = '' cp images/windowIcon.png $out/share/pixmaps/nixnote2.png + cp theme.ini $out/share/nixnote2/theme.ini ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/misc/nnn/default.nix b/pkgs/applications/misc/nnn/default.nix index d97f2d2c0489fc46c8e3d634ccb87f2c1e3a2ca0..5367ef53302122d1c8054d9ea5610f8e38e6b7ab 100644 --- a/pkgs/applications/misc/nnn/default.nix +++ b/pkgs/applications/misc/nnn/default.nix @@ -4,22 +4,29 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "nnn-${version}"; - version = "1.9"; + version = "2.4"; src = fetchFromGitHub { owner = "jarun"; repo = "nnn"; rev = "v${version}"; - sha256 = "0z7mr9lql5hz0518wzkj8fdsdp8yh17fr418arjxjn66md4kwgpg"; + sha256 = "0y55h5pxd20qw2ajhz8fsk45aynx0xzgr9kfr545hyhmfkg2nc49"; }; configFile = optionalString (conf!=null) (builtins.toFile "nnn.h" conf); preBuild = optionalString (conf!=null) "cp ${configFile} nnn.h"; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ ncurses readline ]; + buildInputs = [ readline ncurses ]; - installFlags = [ "DESTDIR=$(out)" "PREFIX=" ]; + makeFlags = [ "DESTDIR=${placeholder "out"}" "PREFIX=" ]; + + # shell completions + postInstall = '' + install -Dm555 scripts/auto-completion/bash/nnn-completion.bash $out/share/bash-completion/completions/nnn.bash + install -Dm555 scripts/auto-completion/zsh/_nnn -t $out/share/zsh/site-functions + install -Dm555 scripts/auto-completion/fish/nnn.fish -t $out/share/fish/vendor_completions.d + ''; meta = { description = "Small ncurses-based file browser forked from noice"; diff --git a/pkgs/applications/misc/notable/default.nix b/pkgs/applications/misc/notable/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..055728ee046cb1855f35fcc804dd8305140385b2 --- /dev/null +++ b/pkgs/applications/misc/notable/default.nix @@ -0,0 +1,30 @@ +{ appimageTools, fetchurl, lib, gsettings-desktop-schemas, gtk3 }: + +let + pname = "notable"; + version = "1.4.0"; +in +appimageTools.wrapType2 rec { + name = "${pname}-${version}"; + src = fetchurl { + url = "https://github.com/notable/notable/releases/download/v${version}/Notable.${version}.AppImage"; + sha256 = "0ldmxnhqcphr92rb7imgb1dfx7bb3p515nrdds8jn4b8x6jgmnjr"; + }; + + profile = '' + export LC_ALL=C.UTF-8 + export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS + ''; + + multiPkgs = null; # no 32bit needed + extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs; + extraInstallCommands = "mv $out/bin/{${name},${pname}}"; + + meta = with lib; { + description = "The markdown-based note-taking app that doesn't suck"; + homepage = https://github.com/notable/notable; + license = licenses.agpl3; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ dtzWill ]; + }; +} diff --git a/pkgs/applications/misc/notejot/default.nix b/pkgs/applications/misc/notejot/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..a732a5ed536ebc7fc911fac7e75b4020facab153 --- /dev/null +++ b/pkgs/applications/misc/notejot/default.nix @@ -0,0 +1,45 @@ +{ stdenv, fetchFromGitHub, pkgconfig, meson, ninja, python3, pantheon +, gtk3, gtksourceview, json-glib, gnome3, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "notejot"; + version = "1.5.5"; + + src = fetchFromGitHub { + owner = "lainsce"; + repo = pname; + rev = version; + sha256 = "0khf6mwidybfgnq4zmhf3af4w6aicipmi12fvs722fqlf1lrkdmd"; + }; + + nativeBuildInputs = [ + meson + ninja + pantheon.vala + pkgconfig + python3 + wrapGAppsHook + ]; + + buildInputs = [ + gnome3.libgee + gtk3 + gtksourceview + json-glib + pantheon.elementary-icon-theme + pantheon.granite + ]; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + ''; + + meta = with stdenv.lib; { + description = "Stupidly-simple sticky notes applet"; + homepage = https://github.com/lainsce/notejot; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ worldofpeace ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/misc/notify-osd-customizable/default.nix b/pkgs/applications/misc/notify-osd-customizable/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..d4f3db4ca6f91c4ceb855a65ed4a980b6f97e6e7 --- /dev/null +++ b/pkgs/applications/misc/notify-osd-customizable/default.nix @@ -0,0 +1,48 @@ +{ stdenv +, dbus-glib +, fetchurl +, glib +, gnome3 +, libnotify +, libtool +, libwnck3 +, makeWrapper +, pkgconfig +, gsettings-desktop-schemas +}: + +let baseURI = "https://launchpad.net/~leolik/+archive/leolik"; +in stdenv.mkDerivation rec { + name = "notify-osd-${version}"; + version = "0.9.35+16.04.20160415"; + + src = fetchurl { + url = "${baseURI}/+files/notify-osd_${version}-0ubuntu1-leolik~ppa0.tar.gz"; + sha256 = "026dr46jh3xc4103wnslzy7pxbxkkpflh52c59j8vzwaa7bvvzkv"; + name = "notify-osd-customizable.tar.gz"; + }; + + preConfigure = "./autogen.sh --libexecdir=$(out)/bin"; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ + glib libwnck3 libnotify dbus-glib makeWrapper + gsettings-desktop-schemas gnome3.gnome-common + libtool + ]; + + configureFlags = "--libexecdir=$(out)/bin"; + + preFixup = '' + wrapProgram "$out/bin/notify-osd" \ + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" + ''; + + meta = with stdenv.lib; { + description = "Daemon that displays passive pop-up notifications"; + homepage = https://launchpad.net/notify-osd; + license = licenses.gpl3; + maintainers = [ maintainers.imalison ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/misc/notify-osd/default.nix b/pkgs/applications/misc/notify-osd/default.nix index f602ce9db66ad16f79b00be3f02a8e9c3c02b534..5c60c7412c4a20bbf667ce43b8776979e4c1c374 100644 --- a/pkgs/applications/misc/notify-osd/default.nix +++ b/pkgs/applications/misc/notify-osd/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, glib, libwnck3, libnotify, dbus-glib, makeWrapper, gnome3 }: +{ stdenv, fetchurl, pkgconfig, glib, libwnck3, libnotify, dbus-glib, makeWrapper, gsettings-desktop-schemas }: stdenv.mkDerivation rec { name = "notify-osd-${version}"; @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ glib libwnck3 libnotify dbus-glib makeWrapper - gnome3.gsettings-desktop-schemas + gsettings-desktop-schemas ]; configureFlags = [ "--libexecdir=$(out)/bin" ]; diff --git a/pkgs/applications/misc/nut/default.nix b/pkgs/applications/misc/nut/default.nix index 4d53203ccd4d270137d428d2937554c17c067e77..816918ca0638159761c08b7b4d1ef19d546d493f 100644 --- a/pkgs/applications/misc/nut/default.nix +++ b/pkgs/applications/misc/nut/default.nix @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { "$out/lib:${neon}/lib:${libusb.out}/lib:${avahi}/lib:${freeipmi}/lib" ''; - meta = { + meta = with stdenv.lib; { description = "Network UPS Tools"; longDescription = '' Network UPS Tools is a collection of programs which provide a common @@ -41,8 +41,9 @@ stdenv.mkDerivation rec { ''; homepage = http://www.networkupstools.org/; repositories.git = https://github.com/networkupstools/nut.git; - platforms = with stdenv.lib.platforms; linux; - maintainers = with stdenv.lib.maintainers; [ pierron ]; + platforms = platforms.linux; + maintainers = [ maintainers.pierron ]; + license = with licenses; [ gpl1Plus gpl2Plus gpl3Plus ]; priority = 10; }; } diff --git a/pkgs/applications/misc/ocropus/default.nix b/pkgs/applications/misc/ocropus/default.nix index 40432c18aa38747355e3f5fb43d4be7cdf5f64c9..a604349afb01032275dd870e21306c58bfe38251 100644 --- a/pkgs/applications/misc/ocropus/default.nix +++ b/pkgs/applications/misc/ocropus/default.nix @@ -18,12 +18,12 @@ let in pythonPackages.buildPythonApplication rec { - name = "ocropus-${version}"; - version = "20170811"; + pname = "ocropus"; + version = "1.3.3"; src = fetchFromGitHub { - sha256 = "0qx0d8yj0w66qglkrmfavp5dh1sky72njfaqii7bnrpv5n4j3q39"; - rev = "ae84a8edaf0b76135f749ba66fc30c272d0726d0"; + sha256 = "02p1334mic5cfhvpfphfrbim4036yfd8s2zzpwm0xmm829z71nr7"; + rev = "v${version}"; repo = "ocropy"; owner = "tmbdev"; }; diff --git a/pkgs/applications/misc/octoprint/default.nix b/pkgs/applications/misc/octoprint/default.nix index 99d23b0eb7cf2d146cbcf999cdad4480bac1849b..76a0a5748081984b66c43fde7441bb2736fb7626 100644 --- a/pkgs/applications/misc/octoprint/default.nix +++ b/pkgs/applications/misc/octoprint/default.nix @@ -1,83 +1,68 @@ -{ stdenv, fetchFromGitHub, python2 }: +{ stdenv, lib, fetchFromGitHub, python2 }: let - - pythonPackages = python2.pkgs.override { - overrides = self: super: with self; { - backports_ssl_match_hostname = super.backports_ssl_match_hostname.overridePythonAttrs (oldAttrs: rec { - version = "3.4.0.2"; - src = oldAttrs.src.override { - inherit version; - sha256 = "07410e7fb09aab7bdaf5e618de66c3dac84e2e3d628352814dc4c37de321d6ae"; - }; - }); - - flask = super.flask.overridePythonAttrs (oldAttrs: rec { - version = "0.12.4"; + mkOverride = attrname: version: sha256: + self: super: { + ${attrname} = super.${attrname}.overridePythonAttrs (oldAttrs: { + inherit version; src = oldAttrs.src.override { - inherit version; - sha256 = "2ea22336f6d388b4b242bc3abf8a01244a8aa3e236e7407469ef78c16ba355dd"; + inherit version sha256; }; }); - - tornado = buildPythonPackage rec { - pname = "tornado"; - version = "4.0.2"; - - propagatedBuildInputs = [ backports_ssl_match_hostname certifi ]; - - src = fetchPypi { - inherit pname version; - sha256 = "1yhvn8i05lp3b1953majg48i8pqsyj45h34aiv59hrfvxcj5234h"; - }; - }; - - flask_login = buildPythonPackage rec { - pname = "Flask-Login"; - version = "0.2.2"; - - src = fetchPypi { - inherit pname version; - sha256 = "09ygn0r3i3jz065a5psng6bhlsqm78msnly4z6x39bs48r5ww17p"; - }; - - propagatedBuildInputs = [ flask ]; - checkInputs = [ nose ]; - - # No tests included - doCheck = false; - }; - - jinja2 = buildPythonPackage rec { - pname = "Jinja2"; - version = "2.8.1"; - - src = fetchPypi { - inherit pname version; - sha256 = "14aqmhkc9rw5w0v311jhixdm6ym8vsm29dhyxyrjfqxljwx1yd1m"; - }; - - propagatedBuildInputs = [ markupsafe ]; - - # No tests included - doCheck = false; - }; }; + + py = python2.override { + packageOverrides = lib.foldr lib.composeExtensions (self: super: { }) ([ + (mkOverride "flask" "0.10.1" "0wrkavjdjndknhp8ya8j850jq7a1cli4g5a93mg8nh1xz2gq50sc") + (mkOverride "flask_login" "0.2.11" "1rg3rsjs1gwi2pw6vr9jmhaqm9b3vc9c4hfcsvp4y8agbh7g3mc3") + (mkOverride "jinja2" "2.8.1" "14aqmhkc9rw5w0v311jhixdm6ym8vsm29dhyxyrjfqxljwx1yd1m") + (mkOverride "pylru" "1.0.9" "0b0pq0l7xv83dfsajsc49jcxzc99kb9jfx1a1dlx22hzcy962dvi") + (mkOverride "sarge" "0.1.4" "08s8896973bz1gg0pkr592w6g4p6v47bkfvws5i91p9xf8b35yar") + (mkOverride "tornado" "4.5.3" "02jzd23l4r6fswmwxaica9ldlyc2p6q8dk6dyff7j58fmdzf853d") + + # https://github.com/NixOS/nixpkgs/pull/58179#issuecomment-478605134 + (mkOverride "werkzeug" "0.14.1" "c3fd7a7d41976d9f44db327260e263132466836cef6f91512889ed60ad26557c") + ]); }; -in pythonPackages.buildPythonApplication rec { + ignoreVersionConstraints = [ + "Click" + "Flask-Assets" + "Flask-Babel" + "Flask-Principal" + "PyYAML" + "emoji" + "flask" + "future" + "futures" + "monotonic" + "pkginfo" + "psutil" + "pyserial" + "python-dateutil" + "requests" + "rsa" + "sarge" + "scandir" + "semantic_version" + "watchdog" + "websocket-client" + "werkzeug" + "wrapt" + ]; + +in py.pkgs.buildPythonApplication rec { pname = "OctoPrint"; - version = "1.3.8"; + version = "1.3.10"; src = fetchFromGitHub { - owner = "foosel"; - repo = "OctoPrint"; - rev = version; - sha256 = "00zd5yrlihwfd3ly0mxibr77ffa8r8vkm6jhml2ml43dqb99caa3"; + owner = "foosel"; + repo = "OctoPrint"; + rev = version; + sha256 = "1pvh7ay76zrvfzcsadh3sl48sgf3by9vpiaqlrkscsw02zirx9r7"; }; - # We need old Tornado - propagatedBuildInputs = with pythonPackages; [ + propagatedBuildInputs = with py.pkgs; [ awesome-slugify flask_assets rsa requests pkginfo watchdog semantic-version flask_principal werkzeug flaskbabel tornado psutil pyserial flask_login netaddr markdown sockjs-tornado @@ -86,35 +71,19 @@ in pythonPackages.buildPythonApplication rec { frozendict ]; - checkInputs = with pythonPackages; [ nose mock ddt ]; + checkInputs = with py.pkgs; [ nose mock ddt ]; - # Jailbreak dependencies. postPatch = '' - sed -i \ - -e 's,pkginfo>=[^"]*,pkginfo,g' \ - -e 's,Flask-Principal>=[^"]*,Flask-Principal,g' \ - -e 's,websocket-client>=[^"]*,websocket-client,g' \ - -e 's,Click>=[^"]*,Click,g' \ - -e 's,rsa>=[^"]*,rsa,g' \ - -e 's,flask>=[^"]*,flask,g' \ - -e 's,Flask-Babel>=[^"]*,Flask-Babel,g' \ - -e 's,Flask-Assets>=[^"]*,Flask-Assets,g' \ - -e 's,PyYAML>=[^"]*,PyYAML,g' \ - -e 's,scandir>=[^"]*,scandir,g' \ - -e 's,werkzeug>=[^"]*,werkzeug,g' \ - -e 's,psutil==[^"]*,psutil,g' \ - -e 's,requests>=[^"]*,requests,g' \ - -e 's,future>=[^"]*,future,g' \ - -e 's,pyserial>=[^"]*,pyserial,g' \ - -e 's,semantic_version>=[^"]*,semantic_version,g' \ - -e 's,wrapt>=[^"]*,wrapt,g' \ - -e 's,python-dateutil>=[^"]*,python-dateutil,g' \ - -e 's,emoji>=[^"]*,emoji,g' \ - -e 's,futures>=[^"]*,futures,g' \ + sed -r -i \ + ${lib.concatStringsSep "\n" (map (e: + ''-e 's@${e}[<>=]+.*@${e}",@g' \'' + ) ignoreVersionConstraints)} setup.py ''; - checkPhase = "nosetests"; + checkPhase = '' + HOME=$(mktemp -d) nosetests + ''; meta = with stdenv.lib; { homepage = https://octoprint.org/; diff --git a/pkgs/applications/misc/octoprint/plugins.nix b/pkgs/applications/misc/octoprint/plugins.nix index bd65acf5e5e9ad8c12ec1bb3f8924389fa1c615b..327a59618c2bc4e3b470f2e4414955f5dea3366e 100644 --- a/pkgs/applications/misc/octoprint/plugins.nix +++ b/pkgs/applications/misc/octoprint/plugins.nix @@ -1,8 +1,12 @@ -{ stdenv, fetchFromGitHub, octoprint, pythonPackages }: +{ stdenv, fetchFromGitHub, octoprint, python2Packages }: let - buildPlugin = args: pythonPackages.buildPythonApplication (args // { - buildInputs = (args.buildInputs or []) ++ [ octoprint ]; + buildPlugin = args: python2Packages.buildPythonPackage (args // { + pname = "OctoPrintPlugin-${args.pname}"; + inherit (args) version; + propagatedBuildInputs = (args.propagatedBuildInputs or []) ++ [ octoprint ]; + # none of the following have tests + doCheck = false; }); self = { @@ -11,7 +15,7 @@ let m3d-fio = self.m33-fio; # added 2016-08-13 m33-fio = buildPlugin rec { - name = "M33-Fio-${version}"; + pname = "M33-Fio"; version = "1.21"; src = fetchFromGitHub { @@ -34,16 +38,36 @@ let ''; meta = with stdenv.lib; { - homepage = https://github.com/donovan6000/M33-Fio; description = "OctoPrint plugin for the Micro 3D printer"; - platforms = platforms.all; + homepage = https://github.com/donovan6000/M33-Fio; license = licenses.gpl3; maintainers = with maintainers; [ abbradar ]; }; }; + mqtt = buildPlugin rec { + pname = "MQTT"; + version = "0.8.0"; + + src = fetchFromGitHub { + owner = "OctoPrint"; + repo = "OctoPrint-MQTT"; + rev = version; + sha256 = "1318pgwy39gkdqgll3q5lwm7avslgdwyiwb5v8m23cgyh5w8cjq7"; + }; + + propagatedBuildInputs = with python2Packages; [ paho-mqtt ]; + + meta = with stdenv.lib; { + description = "Publish printer status MQTT"; + homepage = https://github.com/OctoPrint/OctoPrint-MQTT; + license = licenses.agpl3; + maintainers = with maintainers; [ peterhoeg ]; + }; + }; + titlestatus = buildPlugin rec { - name = "OctoPrint-TitleStatus-${version}"; + pname = "TitleStatus"; version = "0.0.4"; src = fetchFromGitHub { @@ -54,16 +78,15 @@ let }; meta = with stdenv.lib; { - homepage = https://github.com/MoonshineSG/OctoPrint-TitleStatus; description = "Show printers status in window title"; - platforms = platforms.all; + homepage = https://github.com/MoonshineSG/OctoPrint-TitleStatus; license = licenses.agpl3; maintainers = with maintainers; [ abbradar ]; }; }; stlviewer = buildPlugin rec { - name = "OctoPrint-STLViewer-${version}"; + pname = "STLViewer"; version = "0.4.1"; src = fetchFromGitHub { @@ -74,9 +97,8 @@ let }; meta = with stdenv.lib; { - homepage = https://github.com/jneilliii/Octoprint-STLViewer; description = "A simple stl viewer tab for OctoPrint"; - platforms = platforms.all; + homepage = https://github.com/jneilliii/Octoprint-STLViewer; license = licenses.agpl3; maintainers = with maintainers; [ abbradar ]; }; diff --git a/pkgs/applications/misc/ola/default.nix b/pkgs/applications/misc/ola/default.nix index 792cff818655f8a4fea559c972b7e6d112b44afd..e16d9354bb43c8d4c8739c76db3d9995a7ff8e72 100644 --- a/pkgs/applications/misc/ola/default.nix +++ b/pkgs/applications/misc/ola/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, autoreconfHook, bison, flex, pkgconfig , libuuid, cppunit, protobuf3_1, zlib, avahi, libmicrohttpd -, perl, python3, python3Packages +, perl, python36 # Replace by python3 after the next update }: stdenv.mkDerivation rec { @@ -15,8 +15,11 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ autoreconfHook bison flex pkgconfig perl ]; - buildInputs = [ libuuid cppunit protobuf3_1 zlib avahi libmicrohttpd python3 ]; - propagatedBuildInputs = [ python3Packages.protobuf3_1 python3Packages.numpy ]; + buildInputs = [ libuuid cppunit protobuf3_1 zlib avahi libmicrohttpd python36 ]; + propagatedBuildInputs = [ + (python36.pkgs.protobuf.override { protobuf = protobuf3_1; }) + python36.pkgs.numpy + ]; configureFlags = [ "--enable-python-libs" ]; diff --git a/pkgs/applications/misc/omegat.nix b/pkgs/applications/misc/omegat.nix new file mode 100644 index 0000000000000000000000000000000000000000..660b5db610581efdcf34eca1ea6f20f2f8b1c80f --- /dev/null +++ b/pkgs/applications/misc/omegat.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchurl, unzip, jdk, makeWrapper}: + +stdenv.mkDerivation rec { + version = "4.1.5.2"; + pname = "omegat"; + + src = fetchurl { # their zip has repeated files or something, so no fetchzip + url = mirror://sourceforge/project/omegat/OmegaT%20-%20Latest/OmegaT%204.1.5%20update%202/OmegaT_4.1.5_02_Beta_Without_JRE.zip; + sha256 = "1mdnsvjgsccpd5xwpqzgva5jjp8yd1akq9aqpild4v6k70lqql2b"; + }; + + buildInputs = [ unzip makeWrapper ]; + + unpackCmd = "unzip -o $curSrc"; # tries to go interactive without -o + + installPhase = '' + mkdir -p $out/bin + cp -r lib docs images plugins scripts *.txt *.html OmegaT.jar $out/ + + cat > $out/bin/omegat <> $s << EOF - #!/bin/sh + #!${runtimeShell} cd $dir/bin - exec /bin/sh openjump.sh + exec ${stdenv.shell} openjump.sh EOF chmod +x $s ln -s /tmp/openjump.log $dir/bin/jump.log diff --git a/pkgs/applications/misc/opentx/default.nix b/pkgs/applications/misc/opentx/default.nix index 8a941a719f29b9ef956090512a46f6fdacb8fc3f..cd9a86e7fac72f759d41b2e65200666f617fd00b 100644 --- a/pkgs/applications/misc/opentx/default.nix +++ b/pkgs/applications/misc/opentx/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub -, cmake, gcc-arm-embedded, python -, qt5, SDL, gmock +, cmake, gcc-arm-embedded, binutils-arm-embedded, python +, qt5, SDL, gtest , dfu-util, avrdude }: @@ -21,13 +21,15 @@ in stdenv.mkDerivation { enableParallelBuilding = true; - nativeBuildInputs = [ cmake ]; + nativeBuildInputs = [ + cmake + gcc-arm-embedded binutils-arm-embedded + ]; buildInputs = with qt5; [ - gcc-arm-embedded python python.pkgs.pyqt4 qtbase qtmultimedia qttranslations - SDL gmock + SDL ]; postPatch = '' @@ -36,10 +38,12 @@ in stdenv.mkDerivation { ''; cmakeFlags = [ + "-DGTEST_ROOT=${gtest.src}/googletest" "-DQT_TRANSLATIONS_DIR=${qt5.qttranslations}/translations" # XXX I would prefer to include these here, though we will need to file a bug upstream to get that changed. #"-DDFU_UTIL_PATH=${dfu-util}/bin/dfu-util" #"-DAVRDUDE_PATH=${avrdude}/bin/avrdude" + "-DNANO=NO" ]; meta = with stdenv.lib; { diff --git a/pkgs/applications/misc/orca/default.nix b/pkgs/applications/misc/orca/default.nix index 199fa3e9bfe9edc559f13e7e14d376f0de2f04f9..98ebde981c0a18a0656b07d4903ebb273a436bba 100644 --- a/pkgs/applications/misc/orca/default.nix +++ b/pkgs/applications/misc/orca/default.nix @@ -1,43 +1,44 @@ -{ lib, pkgconfig, fetchurl, buildPythonApplication -, autoreconfHook, wrapGAppsHook, gobjectIntrospection +{ stdenv, pkgconfig, fetchurl, buildPythonApplication +, autoreconfHook, wrapGAppsHook, gobject-introspection , intltool, yelp-tools, itstool, libxmlxx3 , python, pygobject3, gtk3, gnome3, substituteAll , at-spi2-atk, at-spi2-core, pyatspi, dbus, dbus-python, pyxdg -, xkbcomp, gsettings-desktop-schemas -, speechd, brltty, setproctitle, gst_all_1, gst-python +, xkbcomp, procps, lsof, coreutils, gsettings-desktop-schemas +, speechd, brltty, liblouis, setproctitle, gst_all_1, gst-python }: -with lib; -let +buildPythonApplication rec { pname = "orca"; - version = "3.28.2"; -in buildPythonApplication rec { - name = "${pname}-${version}"; + version = "3.32.0"; format = "other"; src = fetchurl { - url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz"; - sha256 = "08rh6ji680g5nrw2n7jrxrw7nwg04sj52jxffcfasgss2f51d38q"; + url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "05jqzlg0f1x53hyl0l9282ynmw37159g6dsbrid12b7sjs12cc1i"; }; patches = [ (substituteAll { src = ./fix-paths.patch; + cat = "${coreutils}/bin/cat"; + lsof = "${lsof}/bin/lsof"; + pgrep = "${procps}/bin/pgrep"; xkbcomp = "${xkbcomp}/bin/xkbcomp"; }) ]; nativeBuildInputs = [ autoreconfHook wrapGAppsHook pkgconfig libxmlxx3 - intltool yelp-tools itstool gobjectIntrospection + intltool yelp-tools itstool gobject-introspection ]; propagatedBuildInputs = [ - # TODO: re-add liblouis when it is fixed - pygobject3 pyatspi dbus-python pyxdg brltty speechd gst-python setproctitle + pygobject3 pyatspi dbus-python pyxdg brltty liblouis speechd gst-python setproctitle ]; + strictDeps = false; + buildInputs = [ python gtk3 at-spi2-atk at-spi2-core dbus gsettings-desktop-schemas gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good @@ -54,7 +55,7 @@ in buildPythonApplication rec { }; }; - meta = { + meta = with stdenv.lib; { homepage = https://wiki.gnome.org/Projects/Orca; description = "Screen reader"; longDescription = '' diff --git a/pkgs/applications/misc/orca/fix-paths.patch b/pkgs/applications/misc/orca/fix-paths.patch index d3e77773f28f4a747a27c1306c1e099bd532e5c6..ffb56dbe239c4a68380117bf27d8f217796d3480 100644 --- a/pkgs/applications/misc/orca/fix-paths.patch +++ b/pkgs/applications/misc/orca/fix-paths.patch @@ -1,3 +1,32 @@ +--- a/src/orca/debug.py ++++ b/src/orca/debug.py +@@ -474,7 +474,7 @@ + return traceit + + def getOpenFDCount(pid): +- procs = subprocess.check_output([ 'lsof', '-w', '-Ff', '-p', str(pid)]) ++ procs = subprocess.check_output([ '@lsof@', '-w', '-Ff', '-p', str(pid)]) + procs = procs.decode('UTF-8').split('\n') + files = list(filter(lambda s: s and s[0] == 'f' and s[1:].isdigit(), procs)) + +@@ -482,7 +482,7 @@ + + def getCmdline(pid): + try: +- openFile = os.popen('cat /proc/%s/cmdline' % pid) ++ openFile = os.popen('@cat@ /proc/%s/cmdline' % pid) + cmdline = openFile.read() + openFile.close() + except: +@@ -492,7 +492,7 @@ + return cmdline + + def pidOf(procName): +- openFile = subprocess.Popen('pgrep %s' % procName, ++ openFile = subprocess.Popen('@pgrep@ %s' % procName, + shell=True, + stdout=subprocess.PIPE).stdout + pids = openFile.read() --- a/src/orca/orca.py +++ b/src/orca/orca.py @@ -239,7 +239,7 @@ @@ -27,3 +56,23 @@ stdin=subprocess.PIPE, stdout=None, stderr=None) p.communicate(_originalXmodmap) +--- a/src/orca/orca_bin.py.in ++++ b/src/orca/orca_bin.py.in +@@ -59,7 +59,7 @@ + name = "[DEAD]" + + try: +- cmdline = subprocess.getoutput('cat /proc/%s/cmdline' % pid) ++ cmdline = subprocess.getoutput('@cat@ /proc/%s/cmdline' % pid) + except: + cmdline = '(exception encountered)' + else: +@@ -192,7 +192,7 @@ + def otherOrcas(): + """Returns the pid of any other instances of Orca owned by this user.""" + +- openFile = subprocess.Popen('pgrep -u %s orca' % os.getuid(), ++ openFile = subprocess.Popen('@pgrep@ -u %s orca' % os.getuid(), + shell=True, + stdout=subprocess.PIPE).stdout + pids = openFile.read() diff --git a/pkgs/applications/misc/orpie/default.nix b/pkgs/applications/misc/orpie/default.nix index b1df6378f1e9b3ac75ce1864b7ad531d8e5ccfa6..bc6aa242f33807837285854c3ace45cf8a676a9c 100644 --- a/pkgs/applications/misc/orpie/default.nix +++ b/pkgs/applications/misc/orpie/default.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { buildInputs = [ ncurses gsl ] ++ (with ocamlPackages; [ ocaml camlp4 ]); meta = { - homepage = http://pessimization.com/software/orpie/; + homepage = https://github.com/pelzlpj/orpie; description = "A fullscreen RPN calculator for the console"; license = stdenv.lib.licenses.gpl2; platforms = stdenv.lib.platforms.all; diff --git a/pkgs/applications/misc/osmium-tool/default.nix b/pkgs/applications/misc/osmium-tool/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..2b35cb7703896a942d929cbb2f3d4f7e6d3aef89 --- /dev/null +++ b/pkgs/applications/misc/osmium-tool/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchFromGitHub, cmake, libosmium, protozero, boost, bzip2, zlib, expat }: + +stdenv.mkDerivation rec { + name = "osmium-tool-${version}"; + version = "1.10.0"; + + src = fetchFromGitHub { + owner = "osmcode"; + repo = "osmium-tool"; + rev = "v${version}"; + sha256 = "1balhz78nva0agmbp8n9vg8fhmdssnd9fjxj20bpw7b45mxhjc20"; + }; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ libosmium protozero boost bzip2 zlib expat ]; + + meta = with stdenv.lib; { + description = "Multipurpose command line tool for working with OpenStreetMap data based on the Osmium library"; + homepage = "https://osmcode.org/osmium-tool/"; + license = with licenses; [ gpl3 mit bsd3 ]; + maintainers = with maintainers; [ das-g ]; + }; +} diff --git a/pkgs/applications/misc/overmind/default.nix b/pkgs/applications/misc/overmind/default.nix index ac985a5e4d2d780e5c9ee7f3baedd9b741bee8dd..c1255b6152ea68e15dca474fbb5640fdc9e5a290 100644 --- a/pkgs/applications/misc/overmind/default.nix +++ b/pkgs/applications/misc/overmind/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { name = "overmind-${version}"; - version = "2.0.0.beta1"; + version = "2.0.1"; goPackagePath = "github.com/DarthSim/overmind"; nativeBuildInputs = [ makeWrapper ]; @@ -15,11 +15,11 @@ buildGoPackage rec { owner = "DarthSim"; repo = "overmind"; rev = "v${version}"; - sha256 = "15fch3qszdm8bj1m9hxky9zgk6f5gpbswwfslg84qdjf4iwr5drq"; + sha256 = "1j3cpcfgacn5ic19sgrs1djn5jr4d7j7lxaz0vbaf414lrl76qz8"; }; meta = with stdenv.lib; { - homepage = https://github.com/DarthSim/; + homepage = https://github.com/DarthSim/overmind; description = "Process manager for Procfile-based applications and tmux"; license = with licenses; [ mit ]; maintainers = [ maintainers.adisbladis ]; diff --git a/pkgs/applications/misc/pbpst/default.nix b/pkgs/applications/misc/pbpst/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..fcf88200133c4282148a2dea294e601a0cd56bd1 --- /dev/null +++ b/pkgs/applications/misc/pbpst/default.nix @@ -0,0 +1,49 @@ +{ llvmPackages, stdenv, fetchFromGitHub +, python36Packages, which, pkgconfig, curl, git, gettext, jansson + +# Optional overrides +, maxFileSize ? 64 # in MB +, provider ? "https://ptpb.pw/" +}: + +llvmPackages.stdenv.mkDerivation rec { + version = "unstable-2018-01-11"; + name = "pbpst-${version}"; + + src = fetchFromGitHub { + owner = "HalosGhost"; + repo = "pbpst"; + rev = "ecbe08a0b72a6e4212f09fc6cf52a73506992346"; + sha256 = "0dwhmw1dg4hg75nlvk5kmvv3slz2n3b9x65q4ig16agwqfsp4mdm"; + }; + + nativeBuildInputs = [ + python36Packages.sphinx + which + pkgconfig + curl + git + gettext + ]; + buildInputs = [ curl jansson ]; + + patchPhase = '' + patchShebangs ./configure + + # Remove hardcoded check for libs in /usr/lib/ + sed -e '64,67d' -i ./configure + ''; + + configureFlags = [ + "--file-max=${toString (maxFileSize * 1024 * 1024)}" # convert to bytes + "--provider=${provider}" + ]; + + meta = with stdenv.lib; { + description = "A command-line libcurl C client for pb deployments"; + inherit (src.meta) homepage; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = with maintainers; [ tmplt ]; + }; +} diff --git a/pkgs/applications/misc/pcmanfm/default.nix b/pkgs/applications/misc/pcmanfm/default.nix index a77b2d17ecb4fa1b52dcde6704ed59dce42b38ab..633c1d82159af357e084e8778a1ed7d820b45506 100644 --- a/pkgs/applications/misc/pcmanfm/default.nix +++ b/pkgs/applications/misc/pcmanfm/default.nix @@ -7,19 +7,19 @@ let inherit (stdenv.lib) optional; in stdenv.mkDerivation rec { - name = "pcmanfm-1.3.0"; + name = "pcmanfm-1.3.1"; src = fetchurl { url = "mirror://sourceforge/pcmanfm/${name}.tar.xz"; - sha256 = "1ywgfyklms5hqkapsbjps4kyx20ac0d1qk16ww74yagkyfdkwsas"; + sha256 = "0mb8hg76x1z0szdyl0w7jpz0bdblc6a29is1vvnh79z37qxh8138"; }; - buildInputs = [ glib gtk libfm' libX11 pango gnome3.defaultIconTheme ]; + buildInputs = [ glib gtk libfm' libX11 pango gnome3.adwaita-icon-theme ]; nativeBuildInputs = [ pkgconfig wrapGAppsHook intltool ]; configureFlags = optional withGtk3 "--with-gtk=3"; meta = with stdenv.lib; { - homepage = http://blog.lxde.org/?cat=28/; + homepage = https://blog.lxde.org/category/pcmanfm/; license = licenses.gpl2Plus; description = "File manager with GTK+ interface"; maintainers = [ maintainers.ttuegel ]; diff --git a/pkgs/applications/misc/pdf-quench/default.nix b/pkgs/applications/misc/pdf-quench/default.nix index c567a7903b81372f818cc411c14eff8fb91e3761..f604684b19a12269cfcf9e4f776d8d3ccfdfcb08 100644 --- a/pkgs/applications/misc/pdf-quench/default.nix +++ b/pkgs/applications/misc/pdf-quench/default.nix @@ -14,7 +14,7 @@ pythonPackages.buildPythonApplication rec { nativeBuildInputs = [ wrapGAppsHook ]; buildInputs = with pkgs; [ gtk3 - gobjectIntrospection + gobject-introspection goocanvas2 poppler_gi ]; @@ -31,6 +31,7 @@ pythonPackages.buildPythonApplication rec { homepage = https://github.com/linuxerwang/pdf-quench; description = "A visual tool for cropping pdf files"; platforms = platforms.linux; + license = licenses.gpl2; maintainers = with maintainers; [ flokli ]; }; } diff --git a/pkgs/applications/misc/pdfpc/default.nix b/pkgs/applications/misc/pdfpc/default.nix index e61613a4b3054543fed0afe292ff9ace90868dba..0e424a97d8ddba8a0620a59f71f261d0739a04d8 100644 --- a/pkgs/applications/misc/pdfpc/default.nix +++ b/pkgs/applications/misc/pdfpc/default.nix @@ -1,22 +1,22 @@ { stdenv, fetchFromGitHub, cmake, makeWrapper, pkgconfig, vala, gtk3, libgee -, poppler, libpthreadstubs, gstreamer, gst-plugins-base, librsvg, pcre, gobjectIntrospection }: +, poppler, libpthreadstubs, gstreamer, gst-plugins-base, librsvg, pcre, gobject-introspection }: stdenv.mkDerivation rec { name = "${product}-${version}"; product = "pdfpc"; - version = "4.1.2"; + version = "4.3.2"; src = fetchFromGitHub { - repo = "pdfpc"; - owner = "pdfpc"; + repo = product; + owner = product; rev = "v${version}"; - sha256 = "01c2bswvxqk4biidpfj3hzf0kdk69i56ibk2wfi8v50qm105psli"; + sha256 = "15y6g92fp6x6dwwhrhkfny5z20w7pq9c8w19fh2vzff9aa6m2h9z"; }; nativeBuildInputs = [ cmake pkgconfig vala # For setup hook - gobjectIntrospection + gobject-introspection ]; buildInputs = [ gstreamer gst-plugins-base gtk3 libgee poppler libpthreadstubs makeWrapper librsvg pcre ]; diff --git a/pkgs/applications/misc/pdfshuffler/default.nix b/pkgs/applications/misc/pdfshuffler/default.nix deleted file mode 100644 index 025ad9cd30a1b33e7ae4e1ddeeb10c51945476c9..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/pdfshuffler/default.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ stdenv, fetchsvn -, wrapGAppsHook, makeWrapper, gettext -, python3Packages, gtk3, poppler_gi -, gnome3, gsettings-desktop-schemas, shared-mime-info, -}: - -python3Packages.buildPythonApplication rec { - name = "pdfshuffler-unstable-2017-02-26"; # no official release in 5 years - - src = fetchsvn { - url = "http://svn.gna.org/svn/pdfshuffler/trunk"; - rev = "20"; - sha256 = "1g20dy45xg5vda9y58d2b1gkczj44xgrfi59jx6hr62ynd3z0dfc"; - }; - - nativeBuildInputs = [ wrapGAppsHook gettext makeWrapper ]; - - buildInputs = [ - gtk3 gsettings-desktop-schemas poppler_gi gnome3.adwaita-icon-theme - ]; - - propagatedBuildInputs = with python3Packages; [ - pygobject3 - pycairo - pypdf2 - ]; - - preFixup = '' - gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "${shared-mime-info}/share") - ''; - - doCheck = false; # no tests - - meta = with stdenv.lib; { - homepage = https://gna.org/projects/pdfshuffler/; - description = "Merge or split pdf documents and rotate, crop and rearrange their pages"; - platforms = platforms.linux; - maintainers = with maintainers; [ mic92 ]; - license = licenses.gpl3; - }; -} diff --git a/pkgs/applications/misc/pgmanage/default.nix b/pkgs/applications/misc/pgmanage/default.nix index a17f34378a8b774db1f5f8c201153c9e3d83b73f..113a63f7fe189e623d98ccff8471a90093f3cb74 100644 --- a/pkgs/applications/misc/pgmanage/default.nix +++ b/pkgs/applications/misc/pgmanage/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "pgmanage-${version}"; - version = "10.3.1"; + version = "11.0.1"; src = fetchFromGitHub { owner = "pgManage"; repo = "pgManage"; rev = "v${version}"; - sha256 = "0ym1arla9wfkmr5n6h6dfyd680vlnng5s5j5nyxi2gl2wxqqhxzz"; + sha256 = "1a1dbc32b3y0ph8ydf800h6pz7dg6g1gxgid4gffk7k58xj0c5yf"; }; patchPhase = '' diff --git a/pkgs/applications/misc/pinfo/default.nix b/pkgs/applications/misc/pinfo/default.nix index 1085fed0956531fadc236f5bcfffdb8b0e77614b..55093b21f950fed8373f1efb9369a548d0bcdb85 100644 --- a/pkgs/applications/misc/pinfo/default.nix +++ b/pkgs/applications/misc/pinfo/default.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation { src = fetchurl { # homepage needed you to login to download the tarball - url = "http://src.fedoraproject.org/repo/pkgs/pinfo/pinfo-0.6.10.tar.bz2" + url = "https://src.fedoraproject.org/repo/pkgs/pinfo/pinfo-0.6.10.tar.bz2" + "/fe3d3da50371b1773dfe29bf870dbc5b/pinfo-0.6.10.tar.bz2"; sha256 = "0p8wyrpz9npjcbx6c973jspm4c3xz4zxx939nngbq49xqah8088j"; }; @@ -17,7 +17,6 @@ stdenv.mkDerivation { meta = with stdenv.lib; { description = "A viewer for info files"; - homepage = https://alioth.debian.org/projects/pinfo/; license = licenses.gpl2Plus; platforms = platforms.unix; }; diff --git a/pkgs/applications/misc/plank/default.nix b/pkgs/applications/misc/plank/default.nix index 46e26666b408a4deddf814991d2a10d2508929ae..8aff573ab839d8e25fe2e2d0f4d57bf41446156c 100644 --- a/pkgs/applications/misc/plank/default.nix +++ b/pkgs/applications/misc/plank/default.nix @@ -1,38 +1,54 @@ { stdenv, fetchurl, vala, atk, cairo, glib, gnome3, gtk3, libwnck3 , libX11, libXfixes, libXi, pango, intltool, pkgconfig, libxml2 -, bamf, gdk_pixbuf, libdbusmenu-gtk3, file -, wrapGAppsHook, autoreconfHook, gobjectIntrospection }: +, bamf, gdk_pixbuf, libdbusmenu-gtk3, file, gnome-menus, libgee +, wrapGAppsHook, autoreconfHook, pantheon }: stdenv.mkDerivation rec { pname = "plank"; version = "0.11.4"; - name = "${pname}-${version}"; src = fetchurl { - url = "https://launchpad.net/${pname}/1.0/${version}/+download/${name}.tar.xz"; + url = "https://launchpad.net/${pname}/1.0/${version}/+download/${pname}-${version}.tar.xz"; sha256 = "1f41i45xpqhjxql9nl4a1sz30s0j46aqdhbwbvgrawz6himcvdc8"; }; nativeBuildInputs = [ - pkgconfig + autoreconfHook + gnome3.gnome-common intltool libxml2 # xmllint + pkgconfig + vala wrapGAppsHook - gobjectIntrospection - autoreconfHook ]; - buildInputs = [ vala atk cairo glib gnome3.gnome-menus - gtk3 gnome3.libgee libwnck3 libX11 libXfixes - libXi pango gnome3.gnome-common bamf gdk_pixbuf - libdbusmenu-gtk3 gnome3.dconf ]; + buildInputs = [ + atk + bamf + cairo + gdk_pixbuf + glib + gnome-menus + gnome3.dconf + gtk3 + libX11 + libXfixes + libXi + libdbusmenu-gtk3 + libgee + libwnck3 + pango + ]; # fix paths makeFlags = [ - "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0/" - "INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0" + "INTROSPECTION_GIRDIR=${placeholder ''out''}/share/gir-1.0/" + "INTROSPECTION_TYPELIBDIR=${placeholder ''out''}/lib/girepository-1.0" ]; + # Make plank's application launcher hidden in Pantheon + patches = [ ./hide-in-pantheon.patch ]; + postPatch = '' substituteInPlace ./configure \ --replace "/usr/bin/file" "${file}/bin/file" @@ -43,6 +59,6 @@ stdenv.mkDerivation rec { homepage = https://launchpad.net/plank; license = licenses.gpl3Plus; platforms = platforms.linux; - maintainers = with maintainers; [ davidak ]; + maintainers = with maintainers; [ davidak ] ++ pantheon.maintainers; }; } diff --git a/pkgs/applications/misc/plank/hide-in-pantheon.patch b/pkgs/applications/misc/plank/hide-in-pantheon.patch new file mode 100644 index 0000000000000000000000000000000000000000..ab8a4c723897d3d8451a0d8dc3c625f9de8fae70 --- /dev/null +++ b/pkgs/applications/misc/plank/hide-in-pantheon.patch @@ -0,0 +1,9 @@ +diff --git a/data/plank.desktop.in b/data/plank.desktop.in +index 330c3a4..e1bdf5f 100644 +--- a/data/plank.desktop.in ++++ b/data/plank.desktop.in +@@ -8,3 +8,4 @@ Exec=plank + Icon=plank + Terminal=false + NoDisplay=false ++NotShowIn=Pantheon; diff --git a/pkgs/applications/misc/plasma-applet-volumewin7mixer/cmake.patch b/pkgs/applications/misc/plasma-applet-volumewin7mixer/cmake.patch new file mode 100644 index 0000000000000000000000000000000000000000..b33a3e174bc47b054fdfd9a5a79cc9385eeb3b31 --- /dev/null +++ b/pkgs/applications/misc/plasma-applet-volumewin7mixer/cmake.patch @@ -0,0 +1,20 @@ +diff -Naur org.kde.plasma.volumewin7mixer/CMakeLists.txt org.kde.plasma.volumewin7mixer.patch/CMakeLists.txt +--- org.kde.plasma.volumewin7mixer/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 ++++ org.kde.plasma.volumewin7mixer.patch/CMakeLists.txt 2016-04-19 11:23:35.137866949 +0200 +@@ -0,0 +1,15 @@ ++# Set minimum CMake version (required for CMake 3.0 or later) ++cmake_minimum_required(VERSION 2.8.12) ++ ++# Use Extra CMake Modules (ECM) for common functionality. ++# See http://api.kde.org/ecm/manual/ecm.7.html ++# and http://api.kde.org/ecm/manual/ecm-kde-modules.7.html ++find_package(ECM REQUIRED NO_MODULE) ++# Needed by find_package(KF5Plasma) below. ++set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR} ${CMAKE_MODULE_PATH}) ++ ++# Locate plasma_install_package macro. ++find_package(KF5Plasma REQUIRED) ++ ++# Add installatation target ("make install"). ++plasma_install_package(package org.kde.plasma.volumewin7mixer) + diff --git a/pkgs/applications/misc/plasma-applet-volumewin7mixer/default.nix b/pkgs/applications/misc/plasma-applet-volumewin7mixer/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..6c23d160f47c17b8875ac97fa2304b3d92837f2c --- /dev/null +++ b/pkgs/applications/misc/plasma-applet-volumewin7mixer/default.nix @@ -0,0 +1,26 @@ +{ stdenv, cmake, extra-cmake-modules, plasma-framework, kwindowsystem, plasma-pa, fetchFromGitHub }: + +stdenv.mkDerivation rec { + name = "plasma-applet-volumewin7mixer-${version}"; + version = "23"; + + src = fetchFromGitHub { + owner = "Zren"; + repo = "plasma-applet-volumewin7mixer"; + rev = "v${version}"; + sha256 = "1j2bq343lnhwqz26qfsvg7vjxv84ibzbc4y86rjkh07nqjwb3xsc"; + }; + + patches = [ ./cmake.patch ]; + postPatch = '' rm build ''; + nativeBuildInputs = [ cmake extra-cmake-modules ]; + buildInputs = [ plasma-framework kwindowsystem plasma-pa ]; + + meta = with stdenv.lib; { + description = "A fork of the default volume plasmoid with a Windows 7 theme (vertical sliders)."; + homepage = "https://github.com/Zren/plasma-applet-volumewin7mixer"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ mdevlamynck ]; + }; +} diff --git a/pkgs/applications/misc/playonlinux/default.nix b/pkgs/applications/misc/playonlinux/default.nix index 2ad6321d51911087c386740bfc7dfda084c3667c..da09c123dcde1a9cb42e26c8f33037e9ee12ea96 100644 --- a/pkgs/applications/misc/playonlinux/default.nix +++ b/pkgs/applications/misc/playonlinux/default.nix @@ -19,10 +19,13 @@ , pkgsi686Linux , which , curl +, jq +, xorg +, libGL }: let - version = "4.2.12"; + version = "4.3.4"; binpath = stdenv.lib.makeBinPath [ cabextract @@ -41,21 +44,22 @@ let xterm which curl + jq ]; ld32 = - if stdenv.system == "x86_64-linux" then "${stdenv.cc}/nix-support/dynamic-linker-m32" - else if stdenv.system == "i686-linux" then "${stdenv.cc}/nix-support/dynamic-linker" - else throw "Unsupported platform for PlayOnLinux: ${stdenv.system}"; + if stdenv.hostPlatform.system == "x86_64-linux" then "${stdenv.cc}/nix-support/dynamic-linker-m32" + else if stdenv.hostPlatform.system == "i686-linux" then "${stdenv.cc}/nix-support/dynamic-linker" + else throw "Unsupported platform for PlayOnLinux: ${stdenv.hostPlatform.system}"; ld64 = "${stdenv.cc}/nix-support/dynamic-linker"; - libs = pkgs: stdenv.lib.makeLibraryPath [ pkgs.xorg.libX11 ]; + libs = pkgs: stdenv.lib.makeLibraryPath [ xorg.libX11 libGL ]; in stdenv.mkDerivation { name = "playonlinux-${version}"; src = fetchurl { url = "https://www.playonlinux.com/script_files/PlayOnLinux/${version}/PlayOnLinux_${version}.tar.gz"; - sha256 = "03k8v9dknc5hfrfzqw1nkpifz7wkixv3mvjl1vnp4fx8rj2xrjrq"; + sha256 = "019dvb55zqrhlbx73p6913807ql866rm0j011ix5mkk2g79dzhqp"; }; nativeBuildInputs = [ makeWrapper ]; @@ -64,6 +68,8 @@ in stdenv.mkDerivation { [ python2Packages.python python2Packages.wxPython python2Packages.setuptools + xorg.libX11 + libGL ]; patchPhase = '' @@ -83,7 +89,7 @@ in stdenv.mkDerivation { bunzip2 $out/share/playonlinux/bin/check_dd_x86.bz2 patchelf --set-interpreter $(cat ${ld32}) --set-rpath ${libs pkgsi686Linux} $out/share/playonlinux/bin/check_dd_x86 - ${if stdenv.system == "x86_64-linux" then '' + ${if stdenv.hostPlatform.system == "x86_64-linux" then '' bunzip2 $out/share/playonlinux/bin/check_dd_amd64.bz2 patchelf --set-interpreter $(cat ${ld64}) --set-rpath ${libs pkgs} $out/share/playonlinux/bin/check_dd_amd64 '' else '' diff --git a/pkgs/applications/misc/plover/default.nix b/pkgs/applications/misc/plover/default.nix index b9323ece1f44b060e14a8bbff73ec20176d771b0..0bd28811d55b9acb293995510e4d73efd1dac1e6 100644 --- a/pkgs/applications/misc/plover/default.nix +++ b/pkgs/applications/misc/plover/default.nix @@ -16,6 +16,7 @@ sha256 = "1hdg5491phx6svrxxsxp8v6n4b25y7y4wxw7x3bxlbyhaskgj53r"; }; + nativeBuildInputs = [ setuptools_scm ]; buildInputs = [ pytest mock ]; propagatedBuildInputs = [ 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 b14bb445b5d1d01a35961e45bf1a4cf654c94eb2..4b39e9291a8a73e910198bac940200c6e7b150b7 100644 --- a/pkgs/applications/misc/pmenu/default.nix +++ b/pkgs/applications/misc/pmenu/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitLab, python2Packages, gnome3 }: +{ stdenv, fetchFromGitLab, python2Packages, gnome-menus }: stdenv.mkDerivation rec { name = "pmenu-${version}"; @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ python2Packages.wrapPython ]; - buildInputs = [ python2Packages.pygtk gnome3.gnome-menus ]; + buildInputs = [ python2Packages.pygtk gnome-menus ]; pythonPath = [ python2Packages.pygtk ]; diff --git a/pkgs/applications/misc/polar-bookshelf/default.nix b/pkgs/applications/misc/polar-bookshelf/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..11c643fac2c3de58d0df62a8cae4cd37a2c2cde7 --- /dev/null +++ b/pkgs/applications/misc/polar-bookshelf/default.nix @@ -0,0 +1,91 @@ +{ stdenv, lib, makeWrapper, fetchurl +, dpkg, wrapGAppsHook, autoPatchelfHook +, gtk3, cairo, gnome2, atk, gdk_pixbuf, glib +, at-spi2-atk, dbus, libX11, libxcb, libXi +, libXcursor, libXdamage, libXrandr, libXcomposite +, libXext, libXfixes, libXrender, libXtst, libXScrnSaver +, nss, nspr, alsaLib, cups, fontconfig, expat +, libudev0-shim, glibc, curl, openssl, libnghttp2, gnome3 }: + + +stdenv.mkDerivation rec { + name = "polar-bookshelf-${version}"; + version = "1.13.10"; + + # fetching a .deb because there's no easy way to package this Electron app + src = fetchurl { + url = "https://github.com/burtonator/polar-bookshelf/releases/download/v${version}/polar-bookshelf-${version}-amd64.deb"; + sha256 = "1bxcyf6n2m5x1z8ic6kzskinyyc6lh6nj0bycbwc524n6ms5j99p"; + }; + + buildInputs = [ + gnome3.gsettings_desktop_schemas + glib + gtk3 + cairo + gnome2.pango + atk + gdk_pixbuf + at-spi2-atk + dbus + libX11 + libxcb + libXi + libXcursor + libXdamage + libXrandr + libXcomposite + libXext + libXfixes + libXrender + libXtst + libXScrnSaver + nss + nspr + alsaLib + cups + fontconfig + expat + ]; + + nativeBuildInputs = [ + wrapGAppsHook + autoPatchelfHook + makeWrapper + dpkg + ]; + + runtimeLibs = lib.makeLibraryPath [ libudev0-shim glibc curl openssl libnghttp2 ]; + + unpackPhase = "dpkg-deb -x $src ."; + + installPhase = '' + mkdir -p $out/share/polar-bookshelf + mkdir -p $out/bin + mkdir -p $out/lib + + mv opt/Polar\ Bookshelf/* $out/share/polar-bookshelf + mv $out/share/polar-bookshelf/*.so $out/lib + + mv usr/share/* $out/share/ + + ln -s $out/share/polar-bookshelf/polar-bookshelf $out/bin/polar-bookshelf + + # Correct desktop file `Exec` + substituteInPlace $out/share/applications/polar-bookshelf.desktop \ + --replace "/opt/Polar Bookshelf/polar-bookshelf" "$out/bin/polar-bookshelf" + ''; + + preFixup = '' + gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : "${runtimeLibs}" ) + ''; + + meta = { + homepage = https://getpolarized.io/; + description = "Personal knowledge repository for PDF and web content supporting incremental reading and document annotation"; + license = stdenv.lib.licenses.gpl3; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.noneucat ]; + }; + +} diff --git a/pkgs/applications/misc/polybar/default.nix b/pkgs/applications/misc/polybar/default.nix index 0c358e4221a1ac0876949c9638e44db9fed14b79..e6507845d4cc77bbeaff8900956e44eea57610f4 100644 --- a/pkgs/applications/misc/polybar/default.nix +++ b/pkgs/applications/misc/polybar/default.nix @@ -1,4 +1,4 @@ -{ cairo, cmake, fetchgit, libXdmcp, libpthreadstubs, libxcb, pcre, pkgconfig +{ cairo, cmake, fetchFromGitHub, libXdmcp, libpthreadstubs, libxcb, pcre, pkgconfig , python2, stdenv, xcbproto, xcbutil, xcbutilcursor, xcbutilimage , xcbutilrenderutil, xcbutilwm, xcbutilxrm, makeWrapper @@ -25,16 +25,19 @@ assert i3Support -> ! i3GapsSupport && jsoncpp != null && i3 != null; assert i3GapsSupport -> ! i3Support && jsoncpp != null && i3-gaps != null; stdenv.mkDerivation rec { - name = "polybar-${version}"; - version = "3.2.1"; - src = fetchgit { - url = "https://github.com/jaagr/polybar"; + pname = "polybar"; + version = "3.3.1"; + + src = fetchFromGitHub { + owner = "jaagr"; + repo = pname; rev = version; - sha256 = "1z45swj2l0h8x8li7prl963cgl6zm3birsswpij8qwcmjaj5l8vz"; + sha256 = "0qwi6q3qkrz2ip1jd4pxlnsrs2a9ywxyf8rgvbzyilr334rsiywh"; + fetchSubmodules = true; }; meta = with stdenv.lib; { - description = "A fast and easy-to-use tool for creatin status bars."; + description = "A fast and easy-to-use tool for creating status bars"; longDescription = '' Polybar aims to help users build beautiful and highly customizable status bars for their desktop environment, without the need of @@ -64,10 +67,15 @@ stdenv.mkDerivation rec { (if i3Support || i3GapsSupport then makeWrapper else null) ]; - fixupPhase = if (i3Support || i3GapsSupport) then '' - wrapProgram $out/bin/polybar \ - --prefix PATH : "${if i3Support then i3 else i3-gaps}/bin" - '' else null; + postConfigure = '' + substituteInPlace ../include/settings.hpp --replace \ + "${stdenv.cc}" "${stdenv.cc.name}" + ''; + + postInstall = if (i3Support || i3GapsSupport) then '' + wrapProgram $out/bin/polybar \ + --prefix PATH : "${if i3Support then i3 else i3-gaps}/bin" + '' else ""; nativeBuildInputs = [ cmake pkgconfig diff --git a/pkgs/applications/misc/posterazor/default.nix b/pkgs/applications/misc/posterazor/default.nix index 6cb00fb1525c91b2d6a18932fb10a9bd370799d4..45db856dbb9e6427f61a5e236c5f8766dc137745 100644 --- a/pkgs/applications/misc/posterazor/default.nix +++ b/pkgs/applications/misc/posterazor/default.nix @@ -28,10 +28,11 @@ stdenv.mkDerivation rec { cp PosteRazor $out/bin ''; - meta = { + meta = with stdenv.lib; { homepage = http://posterazor.sourceforge.net/; description = "Cuts a raster image into pieces which can afterwards be printed out and assembled to a poster"; - maintainers = [ stdenv.lib.maintainers.madjar ]; - platforms = stdenv.lib.platforms.linux; + maintainers = [ maintainers.madjar ]; + license = licenses.gpl3Plus; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/misc/pwsafe/default.nix b/pkgs/applications/misc/pwsafe/default.nix index 0ea530b6bf1c145928b9eaeb1755733c11e746db..82b8f2cf8471885e040e9a7455ade3e7414b89fe 100644 --- a/pkgs/applications/misc/pwsafe/default.nix +++ b/pkgs/applications/misc/pwsafe/default.nix @@ -1,25 +1,34 @@ -{ stdenv, fetchFromGitHub, wxGTK, libuuid, xercesc, zip , libXt, libXtst -, libXi, xextproto, gettext, perl, pkgconfig, libyubikey, yubikey-personalization +{ stdenv, fetchFromGitHub, cmake, pkgconfig, zip, gettext, perl +, wxGTK31, libXext, libXi, libXt, libXtst, xercesc +, qrencode, libuuid, libyubikey, yubikey-personalization +, curl, openssl }: stdenv.mkDerivation rec { - name = "pwsafe-${version}"; - version = "0.99"; + pname = "pwsafe"; + version = "1.07"; src = fetchFromGitHub { - owner = "pwsafe"; - repo = "pwsafe"; + owner = "${pname}"; + repo = "${pname}"; rev = "${version}BETA"; - sha256 = "1bkimz4g9v9kfjkqr3dqddh4jps7anzc1hgmirmmhwpac0xdp60g"; + sha256 = "0syxmliybgvm9j6d426l7j12ryrl42azy80m66jc56fv9nkqwaya"; }; - makefile = "Makefile.linux"; - makeFlags = "YBPERS_LIBPATH=${yubikey-personalization}/lib"; - - buildFlags = "unicoderelease"; - buildInputs = [ wxGTK libuuid gettext perl zip - xercesc libXt libXtst libXi xextproto - pkgconfig libyubikey yubikey-personalization ]; + nativeBuildInputs = [ + cmake gettext perl pkgconfig zip + ]; + buildInputs = [ + libXext libXi libXt libXtst wxGTK31 + curl qrencode libuuid openssl xercesc + libyubikey yubikey-personalization + ]; + + cmakeFlags = [ + "-DNO_GTEST=ON" + "-DCMAKE_CXX_FLAGS=-I${yubikey-personalization}/include/ykpers-1" + ]; + enableParallelBuilding = true; postPatch = '' # Fix perl scripts used during the build. @@ -40,31 +49,7 @@ stdenv.mkDerivation rec { done ''; - installPhase = '' - mkdir -p $out/bin \ - $out/share/applications \ - $out/share/pwsafe/xml \ - $out/share/icons/hicolor/48x48/apps \ - $out/share/doc/passwordsafe/help \ - $out/share/man/man1 \ - $out/share/locale - - (cd help && make -f Makefile.linux) - cp help/help*.zip $out/share/doc/passwordsafe/help - - (cd src/ui/wxWidgets/I18N && make mos) - cp -dr src/ui/wxWidgets/I18N/mos/* $out/share/locale/ - # */ - - cp README.txt docs/ReleaseNotes.txt docs/ChangeLog.txt \ - LICENSE install/copyright $out/share/doc/passwordsafe - - cp src/ui/wxWidgets/GCCUnicodeRelease/pwsafe $out/bin/ - cp install/graphics/pwsafe.png $out/share/icons/hicolor/48x48/apps - cp docs/pwsafe.1 $out/share/man/man1 - cp xml/* $out/share/pwsafe/xml - # */ - ''; + installFlags = [ "PREFIX=$(out)" ]; meta = with stdenv.lib; { description = "A password database utility"; @@ -77,8 +62,8 @@ stdenv.mkDerivation rec { username/password combinations that you use. ''; - homepage = http://passwordsafe.sourceforge.net/; - maintainers = with maintainers; [ pjones ]; + homepage = https://pwsafe.org/; + maintainers = with maintainers; [ c0bw3b pjones ]; platforms = platforms.linux; license = licenses.artistic2; }; diff --git a/pkgs/applications/misc/pydf/default.nix b/pkgs/applications/misc/pydf/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..bfbee1bea24d51a8708e5ac002b647c25091e8f7 --- /dev/null +++ b/pkgs/applications/misc/pydf/default.nix @@ -0,0 +1,18 @@ +{ stdenv, python3Packages }: + +python3Packages.buildPythonPackage rec { + pname = "pydf"; + version = "12"; + + src = python3Packages.fetchPypi { + inherit pname version; + sha256 = "7f47a7c3abfceb1ac04fc009ded538df1ae449c31203962a1471a4eb3bf21439"; + }; + + meta = with stdenv.lib; { + description = "colourised df(1)-clone"; + homepage = http://kassiopeia.juls.savba.sk/~garabik/software/pydf/; + license = licenses.publicDomain; + maintainers = with maintainers; [ monsieurp ]; + }; +} diff --git a/pkgs/applications/misc/qMasterPassword/default.nix b/pkgs/applications/misc/qMasterPassword/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..e0a1e33dc62827474477552cdd86dadbab2813e5 --- /dev/null +++ b/pkgs/applications/misc/qMasterPassword/default.nix @@ -0,0 +1,48 @@ +{ stdenv, fetchFromGitHub, qtbase, qmake, libX11, libXtst, openssl, libscrypt }: + +stdenv.mkDerivation rec { + name = "qMasterPassword"; + version = "1.2.2"; + + src = fetchFromGitHub { + owner = "bkueng"; + repo = name; + rev = "v${version}"; + sha256 = "0l0jarvfdc69rcjl2wa0ixq8gp3fmjsy9n84m38sxf3n9j2bh13c"; + }; + + buildInputs = [ qtbase libX11 libXtst openssl libscrypt ]; + nativeBuildInputs = [ qmake ]; + + # Upstream install is mostly defunct. It hardcodes target.path and doesn't + # install anything but the binary. + installPhase = if stdenv.isDarwin then '' + mkdir -p "$out"/{Applications,bin} + mv qMasterPassword.app "$out"/Applications/ + ln -s ../Applications/qMasterPassword.app/Contents/MacOS/qMasterPassword "$out"/bin/qMasterPassword + '' else '' + mkdir -p $out/bin + mkdir -p $out/share/{applications,doc/qMasterPassword,icons/qmasterpassword,icons/hicolor/512x512/apps} + mv qMasterPassword $out/bin + mv data/qMasterPassword.desktop $out/share/applications + mv LICENSE README.md $out/share/doc/qMasterPassword + mv data/icons/app_icon.png $out/share/icons/hicolor/512x512/apps/qmasterpassword.png + mv data/icons/* $out/share/icons/qmasterpassword + ''; + + meta = with stdenv.lib; { + description = "Stateless Master Password Manager"; + longDescription = '' + Access all your passwords using only a single master password. But in + contrast to other managers it does not store any passwords: Unique + passwords are generated from the master password and a site name. This + means you automatically get different passwords for each account and + there is no password file that can be lost or get stolen. There is also + no need to trust any online password service. + ''; + homepage = https://github.com/bkueng/qMasterPassword; + license = licenses.gpl3; + maintainers = [ maintainers.tadeokondrak ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/applications/misc/qdirstat/default.nix b/pkgs/applications/misc/qdirstat/default.nix index cbbac11424eca1a0a324637a34b1d08093297f7f..abf4bb0546216bbd4ec8898ed09dc4b216efa7dc 100644 --- a/pkgs/applications/misc/qdirstat/default.nix +++ b/pkgs/applications/misc/qdirstat/default.nix @@ -1,9 +1,9 @@ { stdenv, fetchFromGitHub, qmake , coreutils, xdg_utils, bash -, perl, makeWrapper, perlPackages }: +, makeWrapper, perlPackages }: let - version = "1.4"; + version = "1.5"; in stdenv.mkDerivation rec { name = "qdirstat-${version}"; @@ -11,27 +11,18 @@ in stdenv.mkDerivation rec { owner = "shundhammer"; repo = "qdirstat"; rev = "${version}"; - sha256 = "1ppasbr0mq301q6n3rm0bsmprs7vgkcjmmc0gbgqpgw84nmp9fqh"; + sha256 = "1v879kd7zahalb2qazq61wzi364k5cy3lgy6c8wj6mclwxjws1vc"; }; nativeBuildInputs = [ qmake makeWrapper ]; - buildInputs = [ perl ]; + buildInputs = [ perlPackages.perl ]; preBuild = '' substituteInPlace scripts/scripts.pro \ - --replace /bin/true ${coreutils}/bin/true \ - --replace /usr/bin $out/bin - substituteInPlace src/src.pro \ - --replace /usr/bin $out/bin \ - --replace /usr/share $out/share - for i in doc/doc.pro doc/stats/stats.pro - do - substituteInPlace $i \ - --replace /usr/share $out/share - done + --replace /bin/true ${coreutils}/bin/true - for i in src/MainWindow.cpp src/FileSizeStatsWindow.cpp + for i in src/SysUtil.cpp src/FileSizeStatsWindow.cpp do substituteInPlace $i \ --replace /usr/bin/xdg-open ${xdg_utils}/bin/xdg-open @@ -45,10 +36,13 @@ in stdenv.mkDerivation rec { substituteInPlace src/StdCleanup.cpp \ --replace /bin/bash ${bash}/bin/bash ''; + postPatch = '' + export qmakeFlags="$qmakeFlags INSTALL_PREFIX=$out" + ''; postInstall = '' wrapProgram $out/bin/qdirstat-cache-writer \ - --set PERL5LIB "${stdenv.lib.makePerlPath [ perlPackages.URI ]}" + --set PERL5LIB "${perlPackages.makePerlPath [ perlPackages.URI ]}" ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/misc/qlcplus/default.nix b/pkgs/applications/misc/qlcplus/default.nix index 2fa4887a0f0fce712f5e7f04b825b6ee4019c2d7..df5f35102e0188e589fa80a717aa58b80e28c5fa 100644 --- a/pkgs/applications/misc/qlcplus/default.nix +++ b/pkgs/applications/misc/qlcplus/default.nix @@ -5,13 +5,13 @@ mkDerivation rec { name = "qlcplus-${version}"; - version = "4.11.2"; + version = "4.12.1"; src = fetchFromGitHub { owner = "mcallegari"; repo = "qlcplus"; rev = "QLC+_${version}"; - sha256 = "0ry7j8d5mm3h3mzd49xqlagnldmfhfr6plwk73pz62hxr4j58s6w"; + sha256 = "1kz2zbz7blnm91dysn949bjsy4xqxg658k47p3gbl0pjl58c44hp"; }; nativeBuildInputs = [ qmake pkgconfig ]; @@ -25,10 +25,16 @@ mkDerivation rec { patchShebangs . sed -i -e '/unix:!macx:INSTALLROOT += \/usr/d' \ -e "s@\$\$LIBSDIR/qt4/plugins@''${qtPluginPrefix}@" \ - -e "s@/etc/udev/rules.d@''${out}/lib/udev@" \ + -e "s@/etc/udev/rules.d@''${out}/lib/udev/rules.d@" \ variables.pri ''; + enableParallelBuilding = true; + + postInstall = '' + ln -sf $out/lib/*/libqlcplus* $out/lib + ''; + meta = with stdenv.lib; { description = "A free and cross-platform software to control DMX or analog lighting systems like moving heads, dimmers, scanners etc."; maintainers = [ maintainers.globin ]; diff --git a/pkgs/applications/misc/qmapshack/default.nix b/pkgs/applications/misc/qmapshack/default.nix index 3b9e76aee4b85cc08f056e73cf42b2fe999bcadb..f4983ad9442837c02e39233ac713963d21768e0b 100644 --- a/pkgs/applications/misc/qmapshack/default.nix +++ b/pkgs/applications/misc/qmapshack/default.nix @@ -1,17 +1,17 @@ -{ stdenv, fetchurl, cmake, qtscript, qtwebkit, gdal, proj, routino, quazip }: +{ stdenv, fetchurl, cmake, qtscript, qtwebengine, gdal, proj, routino, quazip }: stdenv.mkDerivation rec { name = "qmapshack-${version}"; - version = "1.11.1"; + version = "1.12.3"; src = fetchurl { url = "https://bitbucket.org/maproom/qmapshack/downloads/${name}.tar.gz"; - sha256 = "0yqilfldmfw8m18jbkffv4ar1px6kjs0zlgb216bnhahcr1y8r9y"; + sha256 = "1yp5gw4q4gwiwr9w4dz19am0bhsla9n2l3bdlk98a7f46kxgnkrx"; }; nativeBuildInputs = [ cmake ]; - buildInputs = [ qtscript qtwebkit gdal proj routino quazip ]; + buildInputs = [ qtscript qtwebengine gdal proj routino quazip ]; cmakeFlags = [ "-DROUTINO_XML_PATH=${routino}/share/routino" diff --git a/pkgs/applications/misc/qolibri/default.nix b/pkgs/applications/misc/qolibri/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..e395ae9c070debb352a9c4c1bc1796a3a76a2e72 --- /dev/null +++ b/pkgs/applications/misc/qolibri/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchFromGitHub, pkgconfig, cmake, libeb, lzo, qtbase +, qtmultimedia, qttools, qtwebengine }: + +stdenv.mkDerivation rec { + name = "qolibri-${version}"; + version = "2018-11-14"; + + src = fetchFromGitHub { + owner = "ludios"; + repo = "qolibri"; + rev = "133a1c33e74d931ad54407f70d84a0016d96981f"; + sha256 = "16ifix0q8ww4l3xflgxr9j81c0lzlnkjr8fj961x3nxz7288pdg2"; + }; + + nativeBuildInputs = [ pkgconfig cmake ]; + buildInputs = [ + libeb lzo qtbase qtmultimedia qttools qtwebengine + ]; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + homepage = https://github.com/ludios/qolibri; + description = "EPWING reader for viewing Japanese dictionaries"; + platforms = platforms.linux; + maintainers = with maintainers; [ ivan ]; + license = licenses.gpl2; + }; +} diff --git a/pkgs/applications/misc/qpdfview/default.nix b/pkgs/applications/misc/qpdfview/default.nix index dfaa90d43adf8e7d56372d4a7f99989f53001f6b..263bc37660c9506b5ffe0a19a261dbb50889f77f 100644 --- a/pkgs/applications/misc/qpdfview/default.nix +++ b/pkgs/applications/misc/qpdfview/default.nix @@ -21,11 +21,16 @@ stdenv.mkDerivation { src = fetchurl { inherit (s) url sha256; }; - - # TODO: revert this once placeholder is supported - preConfigure = '' - qmakeFlags="$qmakeFlags *.pro TARGET_INSTALL_PATH=$out/bin PLUGIN_INSTALL_PATH=$out/lib/qpdfview DATA_INSTALL_PATH=$out/share/qpdfview MANUAL_INSTALL_PATH=$out/share/man/man1 ICON_INSTALL_PATH=$out/share/icons/hicolor/scalable/apps LAUNCHER_INSTALL_PATH=$out/share/applications APPDATA_INSTALL_PATH=$out/share/appdata" - ''; + qmakeFlags = [ + "*.pro" + "TARGET_INSTALL_PATH=${placeholder "out"}/bin" + "PLUGIN_INSTALL_PATH=${placeholder "out"}/lib/qpdfview" + "DATA_INSTALL_PATH=${placeholder "out"}/share/qpdfview" + "MANUAL_INSTALL_PATH=${placeholder "out"}/share/man/man1" + "ICON_INSTALL_PATH=${placeholder "out"}/share/icons/hicolor/scalable/apps" + "LAUNCHER_INSTALL_PATH=${placeholder "out"}/share/applications" + "APPDATA_INSTALL_PATH=${placeholder "out"}/share/appdata" + ]; meta = { inherit (s) version; diff --git a/pkgs/applications/misc/qradiolink/default.nix b/pkgs/applications/misc/qradiolink/default.nix deleted file mode 100644 index 4029bd80b88bfd9ef8b39a78444415073a9f82f5..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/qradiolink/default.nix +++ /dev/null @@ -1,57 +0,0 @@ -{ stdenv, fetchFromGitHub, alsaLib, boost -, qt4, libpulseaudio, codec2, libconfig -, gnuradio, gnuradio-osmosdr, gsm -, libopus, libjpeg, protobuf, qwt, speex -} : - -let - version = "0.5.0"; - -in stdenv.mkDerivation { - name = "qradiolink-${version}"; - - src = fetchFromGitHub { - owner = "kantooon"; - repo = "qradiolink"; - rev = "${version}"; - sha256 = "0xhg5zhjznmls5m3rhpk1qx0dipxmca12s85w15d0i7qwva2f1gi"; - }; - - preBuild = '' - cd ext - protoc --cpp_out=. Mumble.proto - protoc --cpp_out=. QRadioLink.proto - cd .. - qmake - ''; - - installPhase = '' - mkdir -p $out/bin - cp qradiolink $out/bin - ''; - - buildInputs = [ - qt4 - alsaLib - boost - libpulseaudio - codec2 - libconfig - gsm - gnuradio - gnuradio-osmosdr - libopus - libjpeg - protobuf - speex - qwt - ]; - - meta = with stdenv.lib; { - description = "SDR transceiver application for analog and digital modes"; - homepage = http://qradiolink.org/; - license = licenses.agpl3; - maintainers = [ maintainers.markuskowa ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/applications/misc/qtbitcointrader/default.nix b/pkgs/applications/misc/qtbitcointrader/default.nix index 90908c67b4e0cacb55a31d89daf995b4e0d6efe0..7586669218dad2dfc91c401e945b2c747834df48 100644 --- a/pkgs/applications/misc/qtbitcointrader/default.nix +++ b/pkgs/applications/misc/qtbitcointrader/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchurl, qt5 }: +{ stdenv, fetchzip, qt5 }: let - version = "1.40.13"; + version = "1.40.41"; in stdenv.mkDerivation { name = "qtbitcointrader-${version}"; - src = fetchurl { + src = fetchzip { url = "https://github.com/JulyIGHOR/QtBitcoinTrader/archive/v${version}.tar.gz"; - sha256 = "0d6b9ls742nghzg5y97dx7myvv8i88f0s27lhr52yy4833hdxdwn"; + sha256 = "0v2rqzswqxfhxvkj1i7b48sd6kbj3w9issvn05yhp7bx75gwns4p"; }; buildInputs = [ qt5.qtbase qt5.qtmultimedia qt5.qtscript ]; @@ -25,11 +25,11 @@ stdenv.mkDerivation { runHook postConfigure ''; - meta = with stdenv.lib; - { description = "Bitcoin trading client"; - homepage = https://centrabit.com/; - license = licenses.lgpl3; - platforms = qt5.qtbase.meta.platforms; - maintainers = [ maintainers.ehmry ]; - }; + meta = with stdenv.lib; { + description = "Bitcoin trading client"; + homepage = https://centrabit.com/; + license = licenses.gpl3; + platforms = qt5.qtbase.meta.platforms; + maintainers = [ maintainers.ehmry ]; + }; } diff --git a/pkgs/applications/misc/qtpass/default.nix b/pkgs/applications/misc/qtpass/default.nix index e03dd65b9eb372cf9d5dbb357e24d16f0a600431..15cd426f1b3fc7d10dca6f255767768072ae59e5 100644 --- a/pkgs/applications/misc/qtpass/default.nix +++ b/pkgs/applications/misc/qtpass/default.nix @@ -1,26 +1,21 @@ { stdenv, fetchFromGitHub, git, gnupg, pass, qtbase, qtsvg, qttools, qmake, makeWrapper }: stdenv.mkDerivation rec { - name = "qtpass-${version}"; - version = "1.2.1"; + pname = "qtpass"; + version = "1.2.3"; src = fetchFromGitHub { owner = "IJHack"; repo = "QtPass"; rev = "v${version}"; - sha256 = "0pp38b3fifkfwqcb6vi194ccgb8j3zc8j8jq8ww5ib0wvhldzsg8"; + sha256 = "1vfhfyccrxq9snyvayqfzm5rqik8ny2gysyv7nipc91kvhq3bhky"; }; - patches = [ ./hidpi.patch ]; - buildInputs = [ git gnupg pass qtbase qtsvg qttools ]; nativeBuildInputs = [ makeWrapper qmake ]; - postPatch = '' - substituteInPlace qtpass.pro --replace "SUBDIRS += src tests main" "SUBDIRS += src main" - substituteInPlace qtpass.pro --replace "main.depends = tests" "main.depends = src" - ''; + enableParallelBuilding = true; postInstall = '' install -D qtpass.desktop $out/share/applications/qtpass.desktop diff --git a/pkgs/applications/misc/qtpass/hidpi.patch b/pkgs/applications/misc/qtpass/hidpi.patch deleted file mode 100644 index 629bcbb5baca8084d9d1317c6047f3625781dfda..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/qtpass/hidpi.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/main/main.cpp b/main/main.cpp -index 8a18409c..1cddd911 100644 ---- a/main/main.cpp -+++ b/main/main.cpp -@@ -35,7 +35,7 @@ - * @return - */ - int main(int argc, char *argv[]) { -- qputenv("QT_AUTO_SCREEN_SCALE_FACTOR", "1"); -+ QApplication::setAttribute(Qt::AA_EnableHighDpiScaling); - QString text = ""; - for (int i = 1; i < argc; ++i) { - if (i > 1) diff --git a/pkgs/applications/misc/ranger/default.nix b/pkgs/applications/misc/ranger/default.nix index 33b8c33033ead9ae35035ac92656fb146c184fee..7045228d6a2fcf27bdefd13856cd595700289a6f 100644 --- a/pkgs/applications/misc/ranger/default.nix +++ b/pkgs/applications/misc/ranger/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, python3Packages, file, less +{ stdenv, lib, fetchFromGitHub, python3Packages, file, less, highlight , imagePreviewSupport ? true, w3m ? null}: with stdenv.lib; @@ -7,23 +7,31 @@ assert imagePreviewSupport -> w3m != null; python3Packages.buildPythonApplication rec { name = "ranger-${version}"; - version = "1.9.1"; + version = "1.9.2"; src = fetchFromGitHub { owner = "ranger"; repo = "ranger"; rev = "v${version}"; - sha256= "1zhds37j1scxa9b183qbrjwxqldrdk581c5xiy81vg17sndb1kqj"; + sha256= "1ws6g8z1m1hfp8bv4msvbaa9f7948p687jmc8h69yib4jkv3qyax"; }; + LC_ALL = "en_US.UTF-8"; + checkInputs = with python3Packages; [ pytest ]; - propagatedBuildInputs = [ file ]; + propagatedBuildInputs = [ file ] + ++ lib.optional (imagePreviewSupport) [ python3Packages.pillow ]; checkPhase = '' py.test tests ''; preConfigure = '' + ${lib.optionalString (highlight != null) '' + sed -i -e 's|^\s*highlight\b|${highlight}/bin/highlight|' \ + ranger/data/scope.sh + ''} + substituteInPlace ranger/data/scope.sh \ --replace "/bin/echo" "echo" @@ -36,7 +44,7 @@ python3Packages.buildPythonApplication rec { # give file previews out of the box substituteInPlace ranger/config/rc.conf \ - --replace "set preview_script ~/.config/ranger/scope.sh" "set preview_script $out/share/doc/ranger/config/scope.sh" + --replace "#set preview_script ~/.config/ranger/scope.sh" "set preview_script $out/share/doc/ranger/config/scope.sh" '' + optionalString imagePreviewSupport '' substituteInPlace ranger/ext/img_display.py \ --replace /usr/lib/w3m ${w3m}/libexec/w3m @@ -46,11 +54,11 @@ python3Packages.buildPythonApplication rec { --replace "set preview_images false" "set preview_images true" ''; - meta = with stdenv.lib; { + meta = with lib; { description = "File manager with minimalistic curses interface"; homepage = http://ranger.github.io/; license = licenses.gpl3; platforms = platforms.unix; - maintainers = [ maintainers.magnetophon ]; + maintainers = [ maintainers.toonn maintainers.magnetophon ]; }; } diff --git a/pkgs/applications/misc/redshift/default.nix b/pkgs/applications/misc/redshift/default.nix index b8c49cb02a6974758808f69040112ec89f48d2e5..d8512754f6a7c567afd9d497b0fe794cdb89c9b1 100644 --- a/pkgs/applications/misc/redshift/default.nix +++ b/pkgs/applications/misc/redshift/default.nix @@ -1,12 +1,15 @@ { stdenv, fetchFromGitHub, autoconf, automake, gettext, intltool -, libtool, pkgconfig, wrapGAppsHook, wrapPython, gobjectIntrospection +, libtool, pkgconfig, wrapGAppsHook, wrapPython, gobject-introspection , gtk3, python, pygobject3, hicolor-icon-theme, pyxdg -, withCoreLocation ? stdenv.isDarwin, CoreLocation, Foundation, Cocoa , withQuartz ? stdenv.isDarwin, ApplicationServices , withRandr ? stdenv.isLinux, libxcb , withDrm ? stdenv.isLinux, libdrm -, withGeoclue ? stdenv.isLinux, geoclue }: + +, withGeolocation ? true +, withCoreLocation ? withGeolocation && stdenv.isDarwin, CoreLocation, Foundation, Cocoa +, withGeoclue ? withGeolocation && stdenv.isLinux, geoclue +}: stdenv.mkDerivation rec { name = "redshift-${version}"; @@ -44,7 +47,7 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - gobjectIntrospection + gobject-introspection gtk3 python hicolor-icon-theme diff --git a/pkgs/applications/misc/regextester/default.nix b/pkgs/applications/misc/regextester/default.nix index c1b1cfb48a281d0a96975588a840c2794ed789a0..703d786212494b0a95b112c03c83c9a0d6080a3a 100644 --- a/pkgs/applications/misc/regextester/default.nix +++ b/pkgs/applications/misc/regextester/default.nix @@ -3,47 +3,51 @@ , gettext , libxml2 , pkgconfig +, glib , gtk3 -, granite , gnome3 -, cmake +, meson , ninja -, vala -, elementary-cmake-modules +, gobject-introspection +, gsettings-desktop-schemas +, pantheon , wrapGAppsHook }: stdenv.mkDerivation rec { name = "regextester-${version}"; - version = "0.1.7"; + version = "1.0.1"; src = fetchFromGitHub { owner = "artemanufrij"; repo = "regextester"; rev = version; - sha256 = "07shdm10dc7jz2hka5dc51yp81a0dgc47nmkrp6fs6r9wqx0j30n"; + sha256 = "1xwwv1hccni1mrbl58f7ly4qfq6738vn24bcbl2q346633cd7kx3"; }; - XDG_DATA_DIRS = stdenv.lib.concatStringsSep ":" [ - "${granite}/share" - "${gnome3.libgee}/share" - ]; - nativeBuildInputs = [ - pkgconfig - wrapGAppsHook - vala - cmake - ninja + pantheon.vala gettext + gobject-introspection libxml2 - elementary-cmake-modules + meson + ninja + pkgconfig + wrapGAppsHook ]; + buildInputs = [ - gtk3 - granite + pantheon.elementary-icon-theme + pantheon.granite + glib gnome3.libgee + gsettings-desktop-schemas + gtk3 ]; + postInstall = '' + ${glib.dev}/bin/glib-compile-schemas $out/share/glib-2.0/schemas + ''; + meta = with stdenv.lib; { description = "A desktop application to test regular expressions interactively"; homepage = https://github.com/artemanufrij/regextester; diff --git a/pkgs/applications/misc/rescuetime/default.nix b/pkgs/applications/misc/rescuetime/default.nix index 57cdfd08d5b024b5faddd34322d4431950d14e93..b934788cdbebb9310685fb814948d12a13a3061b 100644 --- a/pkgs/applications/misc/rescuetime/default.nix +++ b/pkgs/applications/misc/rescuetime/default.nix @@ -1,19 +1,19 @@ -{ stdenv, lib, fetchurl, dpkg, patchelf, qt4, libXtst, libXext, libX11, makeWrapper, libXScrnSaver }: +{ stdenv, lib, fetchurl, dpkg, patchelf, qt5, libXtst, libXext, libX11, makeWrapper, libXScrnSaver }: let src = - if stdenv.system == "i686-linux" then fetchurl { + if stdenv.hostPlatform.system == "i686-linux" then fetchurl { name = "rescuetime-installer.deb"; url = "https://www.rescuetime.com/installers/rescuetime_current_i386.deb"; - sha256 = "06q1jwqsrjvlj820dd4vl80jznwafsqshsg0p6si8qx4721blryz"; + sha256 = "136ci4q0ns0qzikndlkbab947m47zv2nmnn8mda2374ip43kn6ri"; } else fetchurl { name = "rescuetime-installer.deb"; url = "https://www.rescuetime.com/installers/rescuetime_current_amd64.deb"; - sha256 = "0b56iglg8g45biddwsdn1hmx9gsz4kxr64civwyy7f69f022ppab"; + sha256 = "1cw10lr7hrsr9xvq3wv1wkyk7jqsgfnnlkq4km9kxr39f51hv6na"; }; in stdenv.mkDerivation { # https://www.rescuetime.com/updates/linux_release_notes.html - name = "rescuetime-2.10.0.1322"; + name = "rescuetime-2.14.2.1"; inherit src; buildInputs = [ dpkg makeWrapper ]; # avoid https://github.com/NixOS/patchelf/issues/99 @@ -29,7 +29,7 @@ in stdenv.mkDerivation { ${patchelf}/bin/patchelf \ --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${lib.makeLibraryPath [ qt4 libXtst libXext libX11 libXScrnSaver ]}" \ + --set-rpath "${lib.makeLibraryPath [ qt5.qtbase libXtst libXext libX11 libXScrnSaver ]}" \ $out/bin/rescuetime ''; meta = with lib; { diff --git a/pkgs/applications/misc/rofi/config.patch b/pkgs/applications/misc/rofi/config.patch deleted file mode 100644 index 46982d51e00cd592e426880ceab90709dc829c71..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/rofi/config.patch +++ /dev/null @@ -1,54 +0,0 @@ -diff --git a/script/rofi-theme-selector b/script/rofi-theme-selector -index 0646e4bc..f827dbfe 100755 ---- a/script/rofi-theme-selector -+++ b/script/rofi-theme-selector -@@ -42,34 +42,7 @@ function find_themes() - DIRS=${XDG_DATA_DIRS} - OLDIFS=${IFS} - IFS=: -- if [ -z "${XDG_DATA_DIRS}" ] -- then -- echo "XDG_DATA_DIRS needs to be set for this script to function correctly." -- echo -n "Using dirs from \$PATH: " -- DIRS= -- # Iterate over items in $PATH -- for p in ${PATH}; do -- # Remove trailing / if exists. -- x=${p%/} -- # remove both /bin and /sbin and /games from end -- x=${x%/bin} -- x=${x%/sbin} -- x=${x%/games} -- # Add /share -- x=${x}/share -- # Check if entry exists Prepend : so :${x}: matches nicely -- case ":${DIRS}" in -- *$x:*);; -- *) DIRS+="$x:";; -- esac -- done -- # Remove trailing : -- DIRS=${DIRS%:} -- echo "${DIRS}" -- fi -- # Add user dir. -- DIRS+=":${HOME}/.local/share/" -- DIRS+=":${HOME}/.config/" -+ DIRS+=":%ROFIOUT%/" - for p in ${DIRS}; do - p=${p%/} - TD=${p}/rofi/themes -@@ -164,7 +137,12 @@ Current theme: ${CUR}""" - ### - function set_theme() - { -- CDIR="${HOME}/.config/rofi/" -+ if [ -d "${XDG_CONFIG_HOME}" ]; then -+ CDIR="${XDG_CONFIG_HOME}/rofi/" -+ else -+ CDIR="${HOME}/.config/rofi/" -+ fi -+ - if [ ! -d "${CDIR}" ] - then - mkdir -p ${CDIR} diff --git a/pkgs/applications/misc/rofi/default.nix b/pkgs/applications/misc/rofi/default.nix index 2d22d87c49a8d37a30a8a67c4584777318f8bafe..a8e82998c3061ea0af11dd3785c1a93401764a4f 100644 --- a/pkgs/applications/misc/rofi/default.nix +++ b/pkgs/applications/misc/rofi/default.nix @@ -4,28 +4,20 @@ }: stdenv.mkDerivation rec { - version = "1.5.1"; + version = "1.5.2"; name = "rofi-unwrapped-${version}"; src = fetchurl { url = "https://github.com/DaveDavenport/rofi/releases/download/${version}/rofi-${version}.tar.gz"; - sha256 = "1dc33zf33z38jcxb0lxpyd31waalpf6d4cd9z5f9m5qphdk1g679"; + sha256 = "1rczxz6l32vnclarzga1sm1d5iq9rfscb9j7f8ih185n59hf0517"; }; - # config.patch may be removed in the future - https://github.com/DaveDavenport/rofi/pull/781 - patches = [ ./config.patch ]; - preConfigure = '' patchShebangs "script" # root not present in build /etc/passwd sed -i 's/~root/~nobody/g' test/helper-expand.c ''; - postFixup = '' - substituteInPlace "$out"/bin/rofi-theme-selector \ - --replace "%ROFIOUT%" "$out/share" - ''; - nativeBuildInputs = [ autoreconfHook pkgconfig ]; buildInputs = [ libxkbcommon pango cairo git bison flex librsvg check libstartup_notification libxcb xcbutil xcbutilwm xcbutilxrm which @@ -34,9 +26,9 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Window switcher, run dialog and dmenu replacement"; - homepage = https://davedavenport.github.io/rofi; + homepage = https://github.com/davatorium/rofi; license = licenses.mit; maintainers = with maintainers; [ mbakke garbas ma27 ]; - platforms = with platforms; unix; + platforms = with platforms; linux; }; } diff --git a/pkgs/applications/misc/rtl-sdr/default.nix b/pkgs/applications/misc/rtl-sdr/default.nix deleted file mode 100644 index bedfc563b1c07c3b9da920c66b5b90bfa2883171..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/rtl-sdr/default.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ stdenv, lib, fetchpatch, fetchgit, cmake, pkgconfig, libusb1 }: - -stdenv.mkDerivation rec { - name = "rtl-sdr-${version}"; - version = "0.5.4"; - - src = fetchgit { - url = "git://git.osmocom.org/rtl-sdr.git"; - rev = "refs/tags/v${version}"; - sha256 = "0c56a9dhlqgs6y15ns0mn4r5giz0x6y7x151jcq755f711pc3y01"; - }; - - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ cmake libusb1 ]; - - # TODO: get these fixes upstream: - # * Building with -DINSTALL_UDEV_RULES=ON tries to install udev rules to - # /etc/udev/rules.d/, and there is no option to install elsewhere. So install - # rules manually. - # * Propagate libusb-1.0 dependency in pkg-config file. - postInstall = stdenv.lib.optionalString stdenv.isLinux '' - mkdir -p "$out/etc/udev/rules.d/" - cp ../rtl-sdr.rules "$out/etc/udev/rules.d/99-rtl-sdr.rules" - - pcfile="$out"/lib/pkgconfig/librtlsdr.pc - grep -q "Requires:" "$pcfile" && { echo "Upstream has added 'Requires:' in $(basename "$pcfile"); update nix expression."; exit 1; } - echo "Requires: libusb-1.0" >> "$pcfile" - ''; - patches = lib.optionals stdenv.isDarwin [ - (fetchpatch { - name = "linker-fix.patch"; - url = "https://github.com/lukeadams/rtl-sdr/commit/7a66dcf268305b5aa507d1756799942c74549b72.patch"; - sha256 = "0cn9fyf4ay4i3shvxj1ivgyxjvfm401irk560jdjl594nzadrcsl"; - }) - ]; - meta = with stdenv.lib; { - description = "Turns your Realtek RTL2832 based DVB dongle into a SDR receiver"; - homepage = http://sdr.osmocom.org/trac/wiki/rtl-sdr; - license = licenses.gpl2Plus; - platforms = platforms.linux ++ platforms.darwin; - maintainers = [ maintainers.bjornfor ]; - }; -} diff --git a/pkgs/applications/misc/rtl_433/default.nix b/pkgs/applications/misc/rtl_433/default.nix deleted file mode 100644 index 7097dda35740f435dc4cb014f3ca23d579a6f982..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/rtl_433/default.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, libusb1, rtl-sdr }: -stdenv.mkDerivation rec { - - version = "18.05"; - name = "rtl_433-${version}"; - - src = fetchFromGitHub { - owner = "merbanan"; - repo = "rtl_433"; - rev = "18.05"; - sha256 = "0vfhnjyrx6w1m8g1hww5vdz4zgdlhcaps9g0397mxlki4sm77wpc"; - }; - - nativeBuildInputs = [ autoreconfHook pkgconfig ]; - - buildInputs = [ libusb1 rtl-sdr ]; - - meta = with stdenv.lib; { - description = "Decode traffic from devices that broadcast on 433.9 MHz"; - homepage = https://github.com/merbanan/rtl_433; - license = licenses.gpl2; - maintainers = with maintainers; [ earldouglas ]; - platforms = platforms.all; - }; - -} diff --git a/pkgs/applications/misc/rtv/default.nix b/pkgs/applications/misc/rtv/default.nix index 05b19bbbff9c8962260f59b5a8d42b5ce16a4a43..d3f2d5a74e56f9e3770dcc6c8f657b6270cdc534 100644 --- a/pkgs/applications/misc/rtv/default.nix +++ b/pkgs/applications/misc/rtv/default.nix @@ -2,14 +2,14 @@ with python3Packages; buildPythonApplication rec { - version = "1.24.0"; + version = "1.26.0"; pname = "rtv"; src = fetchFromGitHub { owner = "michael-lazar"; repo = "rtv"; rev = "v${version}"; - sha256 = "0vzhnqys8nr6ymsi1mnv092z3i7nwyhgnj4jv6mjifak9j3164fw"; + sha256 = "0smwlhc4sj92365pl7yy6a821xddmh9px43nbd0kdd2z9xrndyx1"; }; # Tests try to access network @@ -41,6 +41,6 @@ buildPythonApplication rec { homepage = https://github.com/michael-lazar/rtv; description = "Browse Reddit from your Terminal"; license = licenses.mit; - maintainers = with maintainers; [ jgeerds wedens ]; + maintainers = with maintainers; [ matthiasbeyer wedens ]; }; } diff --git a/pkgs/applications/misc/rxvt_unicode/default.nix b/pkgs/applications/misc/rxvt_unicode/default.nix index 0e59ef5512d811f31bcafba576cd2265c21d8b8b..d198c5951359add581e521319ad60d3d15918bee 100644 --- a/pkgs/applications/misc/rxvt_unicode/default.nix +++ b/pkgs/applications/misc/rxvt_unicode/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchurl, makeDesktopItem, perlSupport, libX11, libXt, libXft, +{ stdenv, fetchurl, makeDesktopItem, perlSupport ? true, libX11, libXt, libXft, ncurses, perl, fontconfig, freetype, pkgconfig, libXrender, - gdkPixbufSupport, gdk_pixbuf, unicode3Support }: + gdkPixbufSupport ? true, gdk_pixbuf, unicode3Support ? true }: let pname = "rxvt-unicode"; @@ -47,12 +47,12 @@ stdenv.mkDerivation (rec { configureFlags="--with-terminfo=$terminfo/share/terminfo --enable-256-color ${if perlSupport then "--enable-perl" else "--disable-perl"} ${if unicode3Support then "--enable-unicode3" else "--disable-unicode3"}"; export TERMINFO=$terminfo/share/terminfo # without this the terminfo won't be compiled by tic, see man tic NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${freetype.dev}/include/freetype2" - NIX_LDFLAGS="$NIX_LDFLAGS -lfontconfig -lXrender " + NIX_LDFLAGS="$NIX_LDFLAGS -lfontconfig -lXrender -lpthread " '' # make urxvt find its perl file lib/perl5/site_perl is added to PERL5LIB automatically + stdenv.lib.optionalString perlSupport '' - mkdir -p $out/lib/perl5 - ln -s $out/{lib/urxvt,lib/perl5/site_perl} + mkdir -p $out/$(dirname ${perl.libPrefix}) + ln -s $out/lib/urxvt $out/${perl.libPrefix} ''; postInstall = '' diff --git a/pkgs/applications/misc/rxvt_unicode/wrapper.nix b/pkgs/applications/misc/rxvt_unicode/wrapper.nix index 909c267def828eca3a50425a03f375db04c4b14e..fd0860b3aaef3e8e288f433e60dc3224b98505b7 100644 --- a/pkgs/applications/misc/rxvt_unicode/wrapper.nix +++ b/pkgs/applications/misc/rxvt_unicode/wrapper.nix @@ -1,4 +1,4 @@ -{ symlinkJoin, rxvt_unicode, makeWrapper, plugins }: +{ symlinkJoin, rxvt_unicode, makeWrapper, plugins, perlPackages, perlDeps ? []}: let rxvt_name = builtins.parseDrvName rxvt_unicode.name; @@ -12,8 +12,10 @@ in symlinkJoin { postBuild = '' wrapProgram $out/bin/urxvt \ + --prefix PERL5LIB : "${perlPackages.makePerlPath perlDeps}" \ --suffix-each URXVT_PERL_LIB ':' "$out/lib/urxvt/perl" wrapProgram $out/bin/urxvtd \ + --prefix PERL5LIB : "${perlPackages.makePerlPath perlDeps}" \ --suffix-each URXVT_PERL_LIB ':' "$out/lib/urxvt/perl" ''; diff --git a/pkgs/applications/misc/safeeyes/default.nix b/pkgs/applications/misc/safeeyes/default.nix index e0c5946d564f16566836d520f60075a6e5ff0bb5..de1e7a093d5a52471bb1016ef66892decfad5426 100644 --- a/pkgs/applications/misc/safeeyes/default.nix +++ b/pkgs/applications/misc/safeeyes/default.nix @@ -1,4 +1,4 @@ -{ lib, python3Packages, gobjectIntrospection, libappindicator-gtk3, libnotify, gtk3, gnome3, xprintidle-ng, wrapGAppsHook, gdk_pixbuf, shared-mime-info, librsvg +{ lib, python3Packages, gobject-introspection, libappindicator-gtk3, libnotify, gtk3, gnome3, xprintidle-ng, wrapGAppsHook, gdk_pixbuf, shared-mime-info, librsvg }: let inherit (python3Packages) python buildPythonApplication fetchPypi; @@ -6,18 +6,18 @@ let inherit (python3Packages) python buildPythonApplication fetchPypi; in buildPythonApplication rec { name = "${pname}-${version}"; pname = "safeeyes"; - version = "2.0.6"; + version = "2.0.9"; namePrefix = ""; src = fetchPypi { inherit pname version; - sha256 = "0s14pxicgq33srvhf6bvfq48wv3z4rlsmzkccz4ky9vh3gfx7zka"; + sha256 = "13q06jv8hm0dynmr3g5pf1m4j3w9iabrpz1nhpl02f7x0d90whg2"; }; buildInputs = [ gtk3 - gobjectIntrospection - gnome3.defaultIconTheme + gobject-introspection + gnome3.adwaita-icon-theme gnome3.adwaita-icon-theme ]; diff --git a/pkgs/applications/misc/sakura/default.nix b/pkgs/applications/misc/sakura/default.nix index 94782bdd860fbfaf7b6076390d66ef1b6a6c0aca..33df8e8f0a277b192edd13a08ed856bd25d9e082 100644 --- a/pkgs/applications/misc/sakura/default.nix +++ b/pkgs/applications/misc/sakura/default.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation rec { version = "3.6.0"; src = fetchurl { - url = "http://launchpad.net/sakura/trunk/${version}/+download/${name}.tar.bz2"; + url = "https://launchpad.net/sakura/trunk/${version}/+download/${name}.tar.bz2"; sha256 = "1q463qm41ym7jb3kbzjz7b6x549vmgkb70arpkhsf86yxly1y5m1"; }; diff --git a/pkgs/applications/misc/sequeler/default.nix b/pkgs/applications/misc/sequeler/default.nix index be4a0388daa526c6155621125a48adffd45b7e99..4947bcf60bd9ec3c7a08e8a2990e59ed4ab566a6 100644 --- a/pkgs/applications/misc/sequeler/default.nix +++ b/pkgs/applications/misc/sequeler/default.nix @@ -1,32 +1,32 @@ { stdenv, fetchFromGitHub -, meson, ninja, pkgconfig, vala, gobjectIntrospection, gettext, wrapGAppsHook, desktop-file-utils -, gtk3, glib, granite, libgee, libgda, gtksourceview, libxml2, libsecret }: +, meson, ninja, pkgconfig, pantheon, gettext, wrapGAppsHook, python3, desktop-file-utils +, gtk3, glib, libgee, libgda, gtksourceview, libxml2, libsecret, libssh2 }: let - version = "0.5.9"; sqlGda = libgda.override { mysqlSupport = true; postgresSupport = true; }; in stdenv.mkDerivation rec { - name = "sequeler-${version}"; + pname = "sequeler"; + version = "0.7.0"; src = fetchFromGitHub { owner = "Alecaddd"; - repo = "sequeler"; + repo = pname; rev = "v${version}"; - sha256 = "08dgir1prjfh7kxdxksabia5093gcjyy2yy7s57yizszplw2v07v"; + sha256 = "1x2ikagjsgnhhhwkj09ihln17mq4wjq3wwbnf02j2p3jpp4i8w1i"; }; - nativeBuildInputs = [ meson ninja pkgconfig vala gobjectIntrospection gettext wrapGAppsHook desktop-file-utils ]; + nativeBuildInputs = [ meson ninja pkgconfig pantheon.vala gettext wrapGAppsHook python3 desktop-file-utils ]; - buildInputs = [ gtk3 glib granite libgee sqlGda gtksourceview libxml2 libsecret ]; + buildInputs = [ gtk3 glib pantheon.granite libgee sqlGda gtksourceview libxml2 libsecret libssh2 ]; postPatch = '' - chmod +x meson/post_install.py - patchShebangs meson/post_install.py + chmod +x build-aux/meson_post_install.py + patchShebangs build-aux/meson_post_install.py ''; meta = with stdenv.lib; { @@ -39,7 +39,7 @@ in stdenv.mkDerivation rec { ''; homepage = https://github.com/Alecaddd/sequeler; license = licenses.gpl3; - maintainers = [ maintainers.etu ]; + maintainers = [ maintainers.etu ] ++ pantheon.maintainers; platforms = platforms.linux; }; } diff --git a/pkgs/applications/misc/sigal/default.nix b/pkgs/applications/misc/sigal/default.nix index 936b1a389f1eee83fa1d43327eb0d7d741179542..2b44b0398b55d49dc5c3fa23ea565912f63ee242 100644 --- a/pkgs/applications/misc/sigal/default.nix +++ b/pkgs/applications/misc/sigal/default.nix @@ -1,16 +1,16 @@ -{ lib, buildPythonApplication, fetchPypi, pythonPackages, ffmpeg }: +{ lib, python3Packages, ffmpeg }: -buildPythonApplication rec { - version = "1.4.0"; +python3Packages.buildPythonApplication rec { + version = "2.0"; pname = "sigal"; - src = fetchPypi { + src = python3Packages.fetchPypi { inherit version pname; - sha256 = "0da0n8jhjp2swr18zga87xc77r8c7qwqf5sp222ph9sn3yyyc35i"; + sha256 = "0ff8hpihbd30xjy155ksfpypjskilqg4zmyavgvpri8jaf1qpv89"; }; - buildInputs = with pythonPackages; [ pytest ]; - propagatedBuildInputs = with pythonPackages; [ + checkInputs = with python3Packages; [ pytest ]; + propagatedBuildInputs = with python3Packages; [ jinja2 markdown pillow @@ -29,7 +29,6 @@ buildPythonApplication rec { description = "Yet another simple static gallery generator"; homepage = http://sigal.saimon.org/en/latest/index.html; license = licenses.mit; - maintainers = with maintainers; [ domenkozar ]; + maintainers = with maintainers; [ domenkozar matthiasbeyer ]; }; } - diff --git a/pkgs/applications/misc/slic3r/default.nix b/pkgs/applications/misc/slic3r/default.nix index 21b55e6e7a01f50e362ad8842da902ba37d552ee..e012c3763b34c6bb3889eba2a89e5c03c3401fd9 100644 --- a/pkgs/applications/misc/slic3r/default.nix +++ b/pkgs/applications/misc/slic3r/default.nix @@ -1,28 +1,27 @@ { stdenv, fetchgit, perl, makeWrapper, makeDesktopItem -, which, perlPackages +, which, perlPackages, boost }: stdenv.mkDerivation rec { - version = "1.2.9"; + version = "1.3.0"; name = "slic3r-${version}"; src = fetchgit { url = "git://github.com/alexrj/Slic3r"; - rev = "refs/tags/${version}"; - sha256 = "1z8h11k29b7z49z5k8ikyfiijyycy1q3krlzi8hfd0vdybvymw21"; + rev = version; + sha256 = "1pg4jxzb7f58ls5s8mygza8kqdap2c50kwlsdkf28bz1xi611zbi"; }; - patches = [ - ./gcc6.patch - ]; - - buildInputs = with perlPackages; [ perl makeWrapper which - EncodeLocale MathClipper ExtUtilsXSpp threads + buildInputs = + [boost] ++ + (with perlPackages; [ perl makeWrapper which + EncodeLocale MathClipper ExtUtilsXSpp MathConvexHullMonotoneChain MathGeometryVoronoi MathPlanePath Moo IOStringy ClassXSAccessor Wx GrowlGNTP NetDBus ImportInto XMLSAX ExtUtilsMakeMaker OpenGL WxGLCanvas ModuleBuild LWP ExtUtilsCppGuess ModuleBuildWithXSpp ExtUtilsTypemapsDefault - ]; + DevelChecklib locallib + ]); desktopItem = makeDesktopItem { name = "slic3r"; @@ -34,6 +33,13 @@ stdenv.mkDerivation rec { categories = "Application;Development;"; }; + prePatch = '' + # In nix ioctls.h isn't available from the standard kernel-headers package + # on other distributions. As the copy in glibc seems to be identical to the + # one in the kernel, we use that one instead. + sed -i 's|"/usr/include/asm-generic/ioctls.h"||g' xs/src/libslic3r/GCodeSender.cpp + ''; + buildPhase = '' export SLIC3R_NO_AUTO=true export LD=$CXX diff --git a/pkgs/applications/misc/slic3r/gcc6.patch b/pkgs/applications/misc/slic3r/gcc6.patch deleted file mode 100644 index f382a252f0d0794952a7362fb41c677742ee42a1..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/slic3r/gcc6.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff --git i/xs/src/libslic3r/Config.hpp w/xs/src/libslic3r/Config.hpp -index 49e999b..d9b65d8 100644 ---- i/xs/src/libslic3r/Config.hpp -+++ w/xs/src/libslic3r/Config.hpp -@@ -65,7 +65,7 @@ class ConfigOptionFloat : public ConfigOption - - bool deserialize(std::string str) { - std::istringstream iss(str); -- return iss >> this->value; -+ return bool(iss >> this->value); - }; - }; - -@@ -124,7 +124,7 @@ class ConfigOptionInt : public ConfigOption - - bool deserialize(std::string str) { - std::istringstream iss(str); -- return iss >> this->value; -+ return bool(iss >> this->value); - }; - }; - -@@ -249,7 +249,7 @@ class ConfigOptionPercent : public ConfigOption - bool deserialize(std::string str) { - // don't try to parse the trailing % since it's optional - std::istringstream iss(str); -- return iss >> this->value; -+ return bool(iss >> this->value); - }; - }; - -@@ -279,7 +279,7 @@ class ConfigOptionFloatOrPercent : public ConfigOption - bool deserialize(std::string str) { - this->percent = str.find_first_of("%") != std::string::npos; - std::istringstream iss(str); -- return iss >> this->value; -+ return bool(iss >> this->value); - }; - }; - diff --git a/pkgs/applications/misc/slic3r/prusa3d.nix b/pkgs/applications/misc/slic3r/prusa3d.nix index 9f4036c3f967545cdae54f91be1e433fa647d772..1f0a3a71be8bd9aebe1548661742257477b012fb 100644 --- a/pkgs/applications/misc/slic3r/prusa3d.nix +++ b/pkgs/applications/misc/slic3r/prusa3d.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchFromGitHub, makeWrapper, which, cmake, perl, perlPackages, +{ stdenv, lib, fetchFromGitHub, makeWrapper, which, cmake, perl, perlPackages, boost, tbb, wxGTK30, pkgconfig, gtk3, fetchurl, gtk2, libGLU, - glew, eigen, curl }: + glew, eigen, curl, gtest, nlopt, pcre, xorg, makeDesktopItem }: let AlienWxWidgets = perlPackages.buildPerlPackage rec { name = "Alien-wxWidgets-0.69"; @@ -33,22 +33,28 @@ let in stdenv.mkDerivation rec { name = "slic3r-prusa-edition-${version}"; - version = "1.40.1"; + version = "1.41.3"; enableParallelBuilding = true; - buildInputs = [ + nativeBuildInputs = [ cmake - curl - perl makeWrapper + ]; + + buildInputs = [ + curl eigen glew + pcre + perl tbb which Wx WxGLCanvas - ] ++ (with perlPackages; [ + xorg.libXdmcp + xorg.libpthreadstubs + ] ++ checkInputs ++ (with perlPackages; [ boost ClassXSAccessor EncodeLocale @@ -68,14 +74,33 @@ stdenv.mkDerivation rec { Moo NetDBus OpenGL - threads XMLSAX ]); + checkInputs = [ gtest ]; + + # The build system uses custom logic - defined in + # xs/src/libnest2d/cmake_modules/FindNLopt.cmake in the package source - + # for finding the nlopt library, which doesn't pick up the package in the nix store. + # We need to set the path via the NLOPT environment variable instead. + NLOPT = "${nlopt}"; + prePatch = '' + # In nix ioctls.h isn't available from the standard kernel-headers package + # on other distributions. As the copy in glibc seems to be identical to the + # one in the kernel, we use that one instead. sed -i 's|"/usr/include/asm-generic/ioctls.h"||g' xs/src/libslic3r/GCodeSender.cpp + + # PERL_VENDORARCH and PERL_VENDORLIB aren't set correctly by the build + # system, so we have to override them. Setting them as environment variables + # doesn't work though, so substituting the paths directly in CMakeLists.txt + # seems to be the easiest way. sed -i "s|\''${PERL_VENDORARCH}|$out/lib/slic3r-prusa3d|g" xs/CMakeLists.txt sed -i "s|\''${PERL_VENDORLIB}|$out/lib/slic3r-prusa3d|g" xs/CMakeLists.txt + '' + lib.optionalString (lib.versionOlder "2.5" nlopt.version) '' + # Since version 2.5.0 of nlopt we need to link to libnlopt, as libnlopt_cxx + # now seems to be integrated into the main lib. + sed -i 's|nlopt_cxx|nlopt|g' xs/src/libnest2d/cmake_modules/FindNLopt.cmake ''; postInstall = '' @@ -87,20 +112,36 @@ stdenv.mkDerivation rec { mkdir -p $out/bin/var cp -r ../resources/icons/* $out/bin/var/ cp -r ../resources $out/bin/ + + + mkdir -p "$out/share/pixmaps/" + ln -s "$out/bin/var/Slic3r.png" "$out/share/pixmaps/slic3r-prusa.png" + mkdir -p "$out/share/applications" + cp "$desktopItem"/share/applications/* "$out/share/applications/" ''; src = fetchFromGitHub { owner = "prusa3d"; repo = "Slic3r"; - sha256 = "022mdz8824wg68qwgd49gnplw7wn84hqw113xh8l25v3j1jb9zmc"; + sha256 = "145dfsv610c5p0sngab9z7lzbk5383pq9l26mrrpf1wxdlxgljpl"; rev = "version_${version}"; }; + desktopItem = makeDesktopItem { + name = "slic3r-Prusa-Edition"; + exec = "slic3r-prusa3d"; + icon = "slic3r-prusa"; + comment = "G-code generator for 3D printers"; + desktopName = "Slic3r Prusa Edition"; + genericName = "3D printer tool"; + categories = "Application;Development;"; + }; + meta = with stdenv.lib; { description = "G-code generator for 3D printer"; homepage = https://github.com/prusa3d/Slic3r; license = licenses.agpl3; - platforms = platforms.linux; maintainers = with maintainers; [ tweber ]; + broken = stdenv.hostPlatform.isAarch64; }; } diff --git a/pkgs/applications/misc/soapyairspy/default.nix b/pkgs/applications/misc/soapyairspy/default.nix deleted file mode 100644 index af72c784135d48ec1b53cd25c0ac2ccf6bf25c72..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/soapyairspy/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ stdenv, fetchFromGitHub, cmake -, airspy, soapysdr -} : - -let - version = "0.1.1"; - -in stdenv.mkDerivation { - name = "soapyairspy-${version}"; - - src = fetchFromGitHub { - owner = "pothosware"; - repo = "SoapyAirspy"; - rev = "soapy-airspy-${version}"; - sha256 = "072vc9619s9f22k7639krr1p2418cmhgm44yhzy7x9dzapc43wvk"; - }; - - nativeBuildInputs = [ cmake ]; - buildInputs = [ airspy soapysdr ]; - - cmakeFlags = [ "-DSoapySDR_DIR=${soapysdr}/share/cmake/SoapySDR/" ]; - - meta = with stdenv.lib; { - homepage = https://github.com/pothosware/SoapyAirspy; - description = "SoapySDR plugin for Airspy devices"; - license = licenses.mit; - maintainers = with maintainers; [ markuskowa ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/applications/misc/soapybladerf/default.nix b/pkgs/applications/misc/soapybladerf/default.nix deleted file mode 100644 index 4e1adc32946eca606050c8440b5e0d0513ab83cd..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/soapybladerf/default.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ stdenv, fetchFromGitHub, cmake, pkgconfig -, libbladeRF, soapysdr -} : - -let - version = "0.3.5"; - -in stdenv.mkDerivation { - name = "soapybladerf-${version}"; - - src = fetchFromGitHub { - owner = "pothosware"; - repo = "SoapyBladeRF"; - rev = "soapy-bladerf-${version}"; - sha256 = "1n7vy6y8k1smq3l729npxbhxbnrc79gz06dxkibsihz4k8sddkrg"; - }; - - nativeBuildInputs = [ cmake pkgconfig ]; - buildInputs = [ libbladeRF soapysdr ]; - - cmakeFlags = [ "-DSoapySDR_DIR=${soapysdr}/share/cmake/SoapySDR/" ]; - - - meta = with stdenv.lib; { - homepage = https://github.com/pothosware/SoapyBladeRF; - description = "SoapySDR plugin for BladeRF devices"; - license = licenses.lgpl21; - maintainers = with maintainers; [ markuskowa ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/applications/misc/soapyremote/default.nix b/pkgs/applications/misc/soapyremote/default.nix deleted file mode 100644 index d10b09f99a8d211feb04df717c1e3a22923525e9..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/soapyremote/default.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ stdenv, fetchFromGitHub, cmake, soapysdr }: - -let - version = "0.4.3"; - -in stdenv.mkDerivation { - name = "soapyremote-${version}"; - - src = fetchFromGitHub { - owner = "pothosware"; - repo = "SoapyRemote"; - rev = "d07f43863b1ef79252f8029cfb5947220f21311d"; - sha256 = "0i101dfqq0aawybv0qyjgsnhk39dc4q6z6ys2gsvwjhpf3d48aw0"; - }; - - nativeBuildInputs = [ cmake ]; - buildInputs = [ soapysdr ]; - - cmakeFlags = [ "-DSoapySDR_DIR=${soapysdr}/share/cmake/SoapySDR/" ]; - - meta = with stdenv.lib; { - homepage = https://github.com/pothosware/SoapyRemote; - description = "SoapySDR plugin for remote access to SDRs"; - license = licenses.boost; - maintainers = with maintainers; [ markuskowa ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/applications/misc/soapysdr/default.nix b/pkgs/applications/misc/soapysdr/default.nix deleted file mode 100644 index 6230f2f6f6a66f68f8b8b19dbeee3c6deac310f0..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/soapysdr/default.nix +++ /dev/null @@ -1,50 +0,0 @@ -{ stdenv, lib, lndir, makeWrapper -, fetchFromGitHub, cmake -, libusb, pkgconfig -, python, swig2, numpy, ncurses -, extraPackages ? [] -} : - -let - version = "0.6.1"; - -in stdenv.mkDerivation { - name = "soapysdr-${version}"; - - src = fetchFromGitHub { - owner = "pothosware"; - repo = "SoapySDR"; - rev = "soapy-sdr-${version}"; - sha256 = "1azbb2j6dv0b2dd5ks6yqd31j17sdhi9p82czwc8zy2isymax0l9"; - }; - - nativeBuildInputs = [ cmake pkgconfig ]; - buildInputs = [ libusb ncurses numpy swig2 python ]; - - cmakeFlags = [ - "-DCMAKE_BUILD_TYPE=Release" - "-DUSE_PYTHON_CONFIG=ON" - ]; - - postFixup = lib.optionalString (lib.length extraPackages != 0) '' - # Join all plugins via symlinking - for i in ${toString extraPackages}; do - ${lndir}/bin/lndir -silent $i $out - done - - # Needed for at least the remote plugin server - for file in out/bin/*; do - ${makeWrapper}/bin/wrapProgram "$file" \ - --prefix SOAPY_SDR_PLUGIN_PATH : ${lib.makeSearchPath "lib/SoapySDR/modules0.6" extraPackages} - done - ''; - - meta = with stdenv.lib; { - homepage = https://github.com/pothosware/SoapySDR; - description = "Vendor and platform neutral SDR support library"; - license = licenses.boost; - maintainers = with maintainers; [ markuskowa ]; - platforms = platforms.linux; - }; -} - diff --git a/pkgs/applications/misc/soapyuhd/default.nix b/pkgs/applications/misc/soapyuhd/default.nix deleted file mode 100644 index 4f2a79c97fe2d2847cc8d39ef556b151006dad7e..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/soapyuhd/default.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ stdenv, fetchFromGitHub, cmake, pkgconfig -, uhd, boost, soapysdr -} : - -let - version = "0.3.4"; - -in stdenv.mkDerivation { - name = "soapyuhd-${version}"; - - src = fetchFromGitHub { - owner = "pothosware"; - repo = "SoapyUHD"; - rev = "soapy-uhd-${version}"; - sha256 = "1da7cjcvfdqhgznm7x14s1h7lwz5lan1b48akw445ah1vxwvh4hl"; - }; - - nativeBuildInputs = [ cmake pkgconfig ]; - buildInputs = [ uhd boost soapysdr ]; - - cmakeFlags = [ "-DSoapySDR_DIR=${soapysdr}/share/cmake/SoapySDR/" ]; - - postPatch = '' - sed -i "s:DESTINATION .*uhd/modules:DESTINATION $out/lib/uhd/modules:" CMakeLists.txt - ''; - - meta = with stdenv.lib; { - homepage = https://github.com/pothosware/SoapyAirspy; - description = "SoapySDR plugin for UHD devices"; - license = licenses.gpl3; - maintainers = with maintainers; [ markuskowa ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/applications/misc/solaar/default.nix b/pkgs/applications/misc/solaar/default.nix index afe944e868e7dbdc25db15e391adb9250b719daa..cb2cd3f1e62fa81e0533c79ca470499eb886da8c 100644 --- a/pkgs/applications/misc/solaar/default.nix +++ b/pkgs/applications/misc/solaar/default.nix @@ -1,16 +1,21 @@ -{fetchFromGitHub, stdenv, gtk3, python34Packages, gobjectIntrospection}: -python34Packages.buildPythonApplication rec { - name = "solaar-unstable-${version}"; - version = "2018-02-02"; - namePrefix = ""; +{ fetchFromGitHub, lib, gobject-introspection, gtk3, python3Packages }: + +# Although we copy in the udev rules here, you probably just want to use logitech-udev-rules instead of +# adding this to services.udev.packages on NixOS + +python3Packages.buildPythonApplication rec { + pname = "solaar-unstable"; + version = "2019-01-30"; + src = fetchFromGitHub { owner = "pwr"; repo = "Solaar"; - rev = "59b7285fdfc875119f0c92cfd5f5909e8a8e578c"; - sha256 = "0zy5vmjzdybnjf0mpp8rny11sc43gmm8172svsm9s51h7x0v83y3"; + rev = "c07c115ee379e82db84283aaa29dc53df033a8c8"; + sha256 = "0xg181xcwzzs8pdqvjrkjyaaga7ir93hzjvd17j9g3ns8xfj2mvr"; }; - propagatedBuildInputs = [python34Packages.pygobject3 python34Packages.pyudev gobjectIntrospection gtk3]; + propagatedBuildInputs = with python3Packages; [ gobject-introspection gtk3 pygobject3 pyudev ]; + postInstall = '' wrapProgram "$out/bin/solaar" \ --prefix PYTHONPATH : "$PYTHONPATH" \ @@ -18,10 +23,13 @@ python34Packages.buildPythonApplication rec { wrapProgram "$out/bin/solaar-cli" \ --prefix PYTHONPATH : "$PYTHONPATH" \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" + + install -Dm644 -t $out/etc/udev/rules.d rules.d/*.rules ''; enableParallelBuilding = true; - meta = with stdenv.lib; { + + meta = with lib; { description = "Linux devices manager for the Logitech Unifying Receiver"; longDescription = '' Solaar is a Linux device manager for Logitech’s Unifying Receiver @@ -37,6 +45,6 @@ python34Packages.buildPythonApplication rec { license = licenses.gpl2; homepage = https://pwr.github.io/Solaar/; platforms = platforms.linux; - maintainers = [maintainers.spinus maintainers.ysndr]; + maintainers = with maintainers; [ spinus ysndr ]; }; } diff --git a/pkgs/applications/misc/ssocr/default.nix b/pkgs/applications/misc/ssocr/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..aee486ddf0c2290ca823d3b591e4109172d1d236 --- /dev/null +++ b/pkgs/applications/misc/ssocr/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchFromGitHub, imlib2, libX11 }: + +stdenv.mkDerivation rec { + name = "ssocr-${version}"; + version = "unstable-2018-08-11"; + + src = fetchFromGitHub { + owner = "auerswal"; + repo = "ssocr"; + rev = "5e47e26b125a1a13bc79de93a5e87dd0b51354ca"; + sha256 = "0yzprwflky9a7zxa3zic7gvdwqg0zy49zvrqkdxng2k1ng78k3s7"; + }; + + nativeBuildInputs = [ imlib2 libX11 ]; + + installFlags = [ "PREFIX=$(out)" ]; + + meta = with stdenv.lib; { + description = "Seven Segment Optical Character Recognition"; + homepage = https://github.com/auerswal/ssocr; + license = licenses.gpl3; + maintainers = [ maintainers.kroell ]; + }; +} diff --git a/pkgs/applications/misc/st/default.nix b/pkgs/applications/misc/st/default.nix index efaf986a9e54bd16d229d257a5d527dc811a02a2..47d7279a47fa783bc0bde156e38c738d110e8cb0 100644 --- a/pkgs/applications/misc/st/default.nix +++ b/pkgs/applications/misc/st/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchurl, pkgconfig, writeText, makeWrapper, libX11, ncurses, libXext -, libXft, fontconfig, dmenu, conf ? null, patches ? [], extraLibs ? []}: +{ stdenv, fetchurl, pkgconfig, writeText, libX11, ncurses +, libXft, conf ? null, patches ? [], extraLibs ? []}: with stdenv.lib; stdenv.mkDerivation rec { - name = "st-0.8.1"; + name = "st-0.8.2"; src = fetchurl { url = "https://dl.suckless.org/st/${name}.tar.gz"; - sha256 = "09k94v3n20gg32xy7y68p96x9dq5msl80gknf9gbvlyjp3i0zyy4"; + sha256 = "0ddz2mdp1c7q67rd5vrvws9r0493ln0mlqyc3d73dv8im884xdxf"; }; inherit patches; @@ -16,12 +16,11 @@ stdenv.mkDerivation rec { configFile = optionalString (conf!=null) (writeText "config.def.h" conf); preBuild = optionalString (conf!=null) "cp ${configFile} config.def.h"; - nativeBuildInputs = [ pkgconfig makeWrapper ]; - buildInputs = [ libX11 ncurses libXext libXft fontconfig ] ++ extraLibs; + nativeBuildInputs = [ pkgconfig ncurses ]; + buildInputs = [ libX11 libXft ] ++ extraLibs; installPhase = '' TERMINFO=$out/share/terminfo make install PREFIX=$out - wrapProgram "$out/bin/st" --prefix PATH : "${dmenu}/bin" ''; meta = { diff --git a/pkgs/applications/misc/stag/default.nix b/pkgs/applications/misc/stag/default.nix index 6d6382faccd45eb97dadae94e0cfde1a5c9b11ad..ebb50e685da73204880923186124134e64cb10d7 100644 --- a/pkgs/applications/misc/stag/default.nix +++ b/pkgs/applications/misc/stag/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation { homepage = https://github.com/seenaburns/stag; description = "Terminal streaming bar graph passed through stdin"; license = stdenv.lib.licenses.bsdOriginal; - maintainers = with stdenv.lib.maintainers; [ ]; + maintainers = [ stdenv.lib.maintainers.matthiasbeyer ]; platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/applications/misc/stretchly/default.nix b/pkgs/applications/misc/stretchly/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..8f26ee99e227d8b4f8bca04a8dc6ab16fcd94f05 --- /dev/null +++ b/pkgs/applications/misc/stretchly/default.nix @@ -0,0 +1,139 @@ +{ GConf +, alsaLib +, at-spi2-atk +, atk +, cairo +, cups +, dbus +, expat +, fetchurl +, fontconfig +, gdk_pixbuf +, glib +, gtk2 +, gtk3 +, lib +, libX11 +, libXScrnSaver +, libXcomposite +, libXcursor +, libXdamage +, libXext +, libXfixes +, libXi +, libXrandr +, libXrender +, libXtst +, libappindicator +, libdrm +, libnotify +, libpciaccess +, libpng12 +, libxcb +, nspr +, nss +, pango +, pciutils +, pulseaudio +, stdenv +, udev +, wrapGAppsHook +}: + +let + libs = [ + GConf + alsaLib + at-spi2-atk + atk + cairo + cups + dbus + expat + fontconfig + gdk_pixbuf + glib + gtk2 + gtk3 + libX11 + libXScrnSaver + libXcomposite + libXcursor + libXdamage + libXext + libXfixes + libXi + libXrandr + libXrender + libXtst + libappindicator + libdrm + libnotify + libpciaccess + libpng12 + libxcb + nspr + nss + pango + pciutils + pulseaudio + stdenv.cc.cc.lib + udev + ]; + + libPath = lib.makeLibraryPath libs; +in + +stdenv.mkDerivation rec { + pname = "stretchly"; + version = "0.19.1"; + + src = fetchurl { + url = "https://github.com/hovancik/stretchly/releases/download/v${version}/stretchly-${version}.tar.xz"; + sha256 = "1q2wxfqs8qv9b1rfh5lhmyp3rrgdl05m6ihsgkxlgp0yzi07afz8"; + }; + + nativeBuildInputs = [ + wrapGAppsHook + ]; + + buildInputs = libs; + + dontPatchELF = true; + dontBuild = true; + dontConfigure = true; + + installPhase = '' + mkdir -p $out/bin $out/lib/stretchly + cp -r ./* $out/lib/stretchly/ + ln -s $out/lib/stretchly/libffmpeg.so $out/lib/ + ln -s $out/lib/stretchly/libnode.so $out/lib/ + ln -s $out/lib/stretchly/stretchly $out/bin/ + ''; + + preFixup = '' + patchelf --set-rpath "${libPath}" $out/lib/stretchly/libffmpeg.so + patchelf --set-rpath "${libPath}" $out/lib/stretchly/libnode.so + + patchelf \ + --set-rpath "$out/lib/stretchly:${libPath}" \ + --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + $out/lib/stretchly/stretchly + ''; + + meta = with stdenv.lib; { + description = "A break time reminder app"; + longDescription = '' + stretchly is a cross-platform electron app that reminds you to take + breaks when working on your computer. By default, it runs in your tray + and displays a reminder window containing an idea for a microbreak for 20 + seconds every 10 minutes. Every 30 minutes, it displays a window + containing an idea for a longer 5 minute break. + ''; + homepage = https://hovancik.net/stretchly; + downloadPage = https://hovancik.net/stretchly/downloads/; + license = licenses.bsd2; + maintainers = with maintainers; [ cdepillabout ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/misc/stupidterm/default.nix b/pkgs/applications/misc/stupidterm/default.nix index f6286bfece3d27014d3fef41c642f48a64c2c0f1..1fc96e551ac7a1a0088d06b29672917345037cf3 100644 --- a/pkgs/applications/misc/stupidterm/default.nix +++ b/pkgs/applications/misc/stupidterm/default.nix @@ -1,7 +1,8 @@ { stdenv, fetchFromGitHub, pkgconfig, vte, gtk }: stdenv.mkDerivation rec { - name = "stupidterm-2018-03-10"; + pname = "stupidterm"; + version = "2019-03-26"; nativeBuildInputs = [ pkgconfig ]; @@ -10,17 +11,19 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "esmil"; repo = "stupidterm"; - rev = "0463519a96c9e4f9ce9fdc99d8e776499346ccba"; - sha256 = "1vbk53xyjn33myb3fix6y7sxb1x3rndrkk5l9qa60qaw2ivkr965"; + rev = "f824e41c2ca9016db73556c5d2f5a2861e235c8e"; + sha256 = "1f73wvqqvj5pr3fvb7jjc4bi1iwgkkknz24k8n69mdb75jnfjipp"; }; makeFlags = "PKGCONFIG=${pkgconfig}/bin/pkg-config binary=stupidterm"; installPhase = '' - mkdir -p $out/bin $out/share/applications $out/share/stupidterm - cp stupidterm $out/bin - substituteAll ${./stupidterm.desktop} $out/share/applications/stupidterm.desktop - substituteAll stupidterm.ini $out/share/stupidterm/stupidterm.ini + install -D stupidterm $out/bin/stupidterm + install -D -m 644 stupidterm.desktop $out/share/applications/stupidterm.desktop + install -D -m 644 stupidterm.ini $out/share/stupidterm/stupidterm.ini + + substituteInPlace $out/share/applications/stupidterm.desktop \ + --replace "Exec=st" "Exec=$out/bin/stupidterm" ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/misc/stupidterm/stupidterm.desktop b/pkgs/applications/misc/stupidterm/stupidterm.desktop deleted file mode 100644 index c26d46060183f1cee61b8e38356f933f6f4e1361..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/stupidterm/stupidterm.desktop +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -Version=20170315 -Name=stupidterm -Comment=VTE based terminal emulator -Exec=stupidterm -Icon=utilities-terminal -Terminal=false -Type=Application -Categories=System;TerminalEmulator; diff --git a/pkgs/applications/misc/subsurface/default.nix b/pkgs/applications/misc/subsurface/default.nix index 5e1e7bf32258eed1bef3743700282d9c9c905c1e..50bb1df2eef21fa79fc1dc6e49cbd1780afce2a3 100644 --- a/pkgs/applications/misc/subsurface/default.nix +++ b/pkgs/applications/misc/subsurface/default.nix @@ -4,14 +4,14 @@ }: let - version = "4.7.5"; + version = "4.8.2"; libdc = stdenv.mkDerivation rec { name = "libdivecomputer-ssrf-${version}"; src = fetchurl { url = "https://subsurface-divelog.org/downloads/libdivecomputer-subsurface-branch-${version}.tgz"; - sha256 = "1xsgnmgc7yb46lflx8ynkbdxg2f6sny6xg6caqgx7rf0x1jmjj4x"; + sha256 = "167qan59raibmilkc574gdqxfjg2f5ww2frn86xzk2kn4qg8190w"; }; nativeBuildInputs = [ autoreconfHook ]; @@ -70,7 +70,7 @@ in stdenv.mkDerivation rec { src = fetchurl { url = "https://subsurface-divelog.org/downloads/Subsurface-${version}.tgz"; - sha256 = "0qqmnrmj2alr4rc2nqkv8sbdp92xb6j4j468wn6yqvgb23n77b82"; + sha256 = "1fzrq6rqb6pzs36wxar2453cl509dqpcy9w7nq4gw7b1v2331wfy"; }; buildInputs = [ diff --git a/pkgs/applications/misc/sweethome3d/default.nix b/pkgs/applications/misc/sweethome3d/default.nix index 68a192d78b8400a2589554f3813a596d77c0e84f..293f6aaa3c6f90f854439b7e4b797a092aad99ae 100644 --- a/pkgs/applications/misc/sweethome3d/default.nix +++ b/pkgs/applications/misc/sweethome3d/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, fetchcvs, makeWrapper, makeDesktopItem, jdk, jre, ant +{ lib, stdenv, fetchurl, fetchsvn, makeWrapper, makeDesktopItem, jdk, jre, ant , gtk3, gsettings-desktop-schemas, p7zip, libXxf86vm }: let @@ -55,7 +55,7 @@ let makeWrapper ${jre}/bin/java $out/bin/$exec \ --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3.out}/share:${gsettings-desktop-schemas}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \ - --add-flags "-jar $out/share/java/${module}-${version}.jar -cp $out/share/java/Furniture.jar:$out/share/java/Textures.jar:$out/share/java/Help.jar ${if stdenv.system == "x86_64-linux" then "-d64" else "-d32"}" + --add-flags "-jar $out/share/java/${module}-${version}.jar -cp $out/share/java/Furniture.jar:$out/share/java/Textures.jar:$out/share/java/Help.jar -d${toString stdenv.hostPlatform.parsed.cpu.bits}" ''; dontStrip = true; @@ -74,16 +74,15 @@ let in rec { application = mkSweetHome3D rec { - version = "5.4"; + version = "6.1.2"; module = "SweetHome3D"; name = stdenv.lib.toLower module + "-application-" + version; description = "Design and visualize your future home"; license = stdenv.lib.licenses.gpl2Plus; - src = fetchcvs { - cvsRoot = ":pserver:anonymous@sweethome3d.cvs.sourceforge.net:/cvsroot/sweethome3d"; - sha256 = "09sk4svmaiw8dabcya3407iq5yjwxbss8pik1rzalrlds2428vyw"; - module = module; - tag = "V_" + d2u version; + src = fetchsvn { + url = "https://svn.code.sf.net/p/sweethome3d/code/tags/V_" + d2u version + "/SweetHome3D/"; + sha256 = "14svi112kml175dblzcdjzhlfwbp1cy6rki49mqb3632hwmif6ya"; + rev = "6750"; }; desktopName = "Sweet Home 3D"; icons = { diff --git a/pkgs/applications/misc/sweethome3d/editors.nix b/pkgs/applications/misc/sweethome3d/editors.nix index 14285a52e27c7e13be2969c097e038891fbf2242..eef5185aaeedb3a3544e1e3e9d60e780df88f4ae 100644 --- a/pkgs/applications/misc/sweethome3d/editors.nix +++ b/pkgs/applications/misc/sweethome3d/editors.nix @@ -44,7 +44,7 @@ let cp "${editorItem}/share/applications/"* $out/share/applications makeWrapper ${jre}/bin/java $out/bin/$exec \ --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3.out}/share:${gsettings-desktop-schemas}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \ - --add-flags "-jar $out/share/java/${module}-${version}.jar ${if stdenv.system == "x86_64-linux" then "-d64" else "-d32"}" + --add-flags "-jar $out/share/java/${module}-${version}.jar -d${toString stdenv.hostPlatform.parsed.cpu.bits}" ''; dontStrip = true; diff --git a/pkgs/applications/misc/synapse/default.nix b/pkgs/applications/misc/synapse/default.nix index 0da0b83d64abd16f1239e9294b54d49a8aee8eeb..3e7983c667f2a3fa6d40e6ece6a0ec5ac11be5d7 100644 --- a/pkgs/applications/misc/synapse/default.nix +++ b/pkgs/applications/misc/synapse/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, gettext, pkgconfig, glib, libnotify, gtk3, libgee -, keybinder3, json-glib, zeitgeist, vala_0_38, hicolor-icon-theme, gobjectIntrospection +, keybinder3, json-glib, zeitgeist, vala, hicolor-icon-theme, gobject-introspection }: let @@ -13,9 +13,9 @@ in stdenv.mkDerivation rec { }; nativeBuildInputs = [ - pkgconfig gettext vala_0_38 + pkgconfig gettext vala # For setup hook - gobjectIntrospection + gobject-introspection ]; buildInputs = [ glib libnotify gtk3 libgee keybinder3 json-glib zeitgeist diff --git a/pkgs/applications/misc/synergy/default.nix b/pkgs/applications/misc/synergy/default.nix index 5f12bdb4dfcdbd00ff236ab7219f2c3d8f548c04..25855c2a6130e1e5e445888bb97fbe3984ed02b8 100644 --- a/pkgs/applications/misc/synergy/default.nix +++ b/pkgs/applications/misc/synergy/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchFromGitHub, fetchpatch, fetchurl, cmake, xlibsWrapper -, ApplicationServices, Carbon, Cocoa, CoreServices, ScreenSaver +, ApplicationServices, Carbon, Cocoa, CoreServices, ScreenSaver, cf-private , libX11, libXi, libXtst, libXrandr, xinput, curl, openssl, unzip }: stdenv.mkDerivation rec { @@ -64,7 +64,7 @@ stdenv.mkDerivation rec { buildInputs = [ cmake curl openssl ] ++ lib.optionals stdenv.isDarwin [ - ApplicationServices Carbon Cocoa CoreServices ScreenSaver + ApplicationServices Carbon Cocoa CoreServices ScreenSaver cf-private ] ++ lib.optionals stdenv.isLinux [ xlibsWrapper libX11 libXi libXtst libXrandr xinput ]; installPhase = '' diff --git a/pkgs/applications/misc/tabula/default.nix b/pkgs/applications/misc/tabula/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..52e39b98a3b6430c927d75b78ca70e31e47eb09c --- /dev/null +++ b/pkgs/applications/misc/tabula/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchzip, jre, makeWrapper }: + + +stdenv.mkDerivation rec { + name = "tabula-${version}"; + version = "1.2.1"; + + + src = fetchzip { + url = "https://github.com/tabulapdf/tabula/releases/download/v${version}/tabula-jar-${version}.zip"; + sha256 = "0lkpv8hkji81fanyxm7ph8421fr9a6phqc3pbhw2bc4gljg7sgxi"; + }; + + + buildInputs = [ makeWrapper ]; + + + installPhase = '' + mkdir -pv $out/share/tabula + cp -v * $out/share/tabula + + makeWrapper ${jre}/bin/java $out/bin/tabula --add-flags "-jar $out/share/tabula/tabula.jar" + ''; + + + meta = with stdenv.lib; { + description = "A tool for liberating data tables locked inside PDF files"; + longDescription = '' + If you’ve ever tried to do anything with data provided to you in PDFs, you + know how painful it is — there's no easy way to copy-and-paste rows of data + out of PDF files. Tabula allows you to extract that data into a CSV or + Microsoft Excel spreadsheet using a simple, easy-to-use interface. + ''; + homepage = https://tabula.technology/; + license = licenses.mit; + maintainers = [ maintainers.dpaetzel ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/applications/misc/tangogps/default.nix b/pkgs/applications/misc/tangogps/default.nix index bde30d9041aebcb99b3e7f04974c9bd384c2971a..08bea18d8e9a378430a4a428d2cbfe7cd8b58cea 100644 --- a/pkgs/applications/misc/tangogps/default.nix +++ b/pkgs/applications/misc/tangogps/default.nix @@ -11,6 +11,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ gettext gtk2 gconf curl libexif sqlite libxml2 ]; + NIX_LDFLAGS = [ "-lm" ]; # bogus includes fail with newer library version postPatch = '' diff --git a/pkgs/applications/misc/taskell/default.nix b/pkgs/applications/misc/taskell/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..6cb78e6d6bd7e6ccd212e5392047c5f4842002f6 --- /dev/null +++ b/pkgs/applications/misc/taskell/default.nix @@ -0,0 +1,59 @@ +{ haskell, lib, haskellPackages, fetchFromGitHub }: + +let + version = "1.3.2"; + sha256 = "0cyysvkl8m1ldlprmw9mpvch3r244nl25yv74dwcykga3g5mw4aa"; + +in (haskellPackages.mkDerivation { + pname = "taskell"; + inherit version; + + src = fetchFromGitHub { + owner = "smallhadroncollider"; + repo = "taskell"; + rev = version; + inherit sha256; + }; + + postPatch = ''${haskellPackages.hpack}/bin/hpack''; + + # basically justStaticExecutables; TODO: use justStaticExecutables + enableSharedExecutables = false; + enableLibraryProfiling = false; + isExecutable = true; + doHaddock = false; + postFixup = "rm -rf $out/lib $out/nix-support $out/share/doc"; + + # copied from packages.yaml + libraryHaskellDepends = with haskellPackages; [ + classy-prelude + # base <=5 + aeson + brick + # bytestring + config-ini + # containers + # directory + file-embed + http-conduit + http-client + http-types + lens + # mtl + # template-haskell + # text + time + vty + ]; + + executableHaskellDepends = []; + + testHaskellDepends = with haskellPackages; [ + tasty + tasty-discover + tasty-expected-failure + tasty-hunit + ]; + + license = lib.licenses.bsd3; +}) diff --git a/pkgs/applications/misc/taskjuggler/Gemfile.lock b/pkgs/applications/misc/taskjuggler/Gemfile.lock index d1642e76fa652108f07eac5e2101960417861f78..ebd04c20ea6d1419d79ee4a5213734eb479b81ba 100644 --- a/pkgs/applications/misc/taskjuggler/Gemfile.lock +++ b/pkgs/applications/misc/taskjuggler/Gemfile.lock @@ -1,15 +1,15 @@ 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.7.0) + mini_mime (>= 0.1.1) + mini_mime (1.0.1) + taskjuggler (3.6.0) mail (>= 2.4.3) term-ansicolor (>= 1.0.7) - term-ansicolor (1.3.2) + term-ansicolor (1.6.0) tins (~> 1.0) - tins (1.6.0) + tins (1.16.3) PLATFORMS ruby @@ -18,4 +18,4 @@ DEPENDENCIES taskjuggler BUNDLED WITH - 1.10.5 + 1.14.6 diff --git a/pkgs/applications/misc/taskjuggler/default.nix b/pkgs/applications/misc/taskjuggler/default.nix index c5429b6c8510ba7f0bd79add15537a99fde32166..f3f9285b312d8044a0ab5bd2afdc5cdb2759fcd8 100644 --- a/pkgs/applications/misc/taskjuggler/default.nix +++ b/pkgs/applications/misc/taskjuggler/default.nix @@ -1,16 +1,21 @@ -{ lib, bundlerEnv, ruby }: +{ lib, bundlerApp, ruby }: -bundlerEnv { - name = "taskjuggler-3.5.0"; +bundlerApp { + pname = "taskjuggler"; inherit ruby; gemdir = ./.; + exes = [ + "tj3" "tj3client" "tj3d" "tj3man" "tj3ss_receiver" "tj3ss_sender" + "tj3ts_receiver" "tj3ts_sender" "tj3ts_summary" "tj3webd" + ]; + meta = { - broken = true; # needs ruby 2.0 description = "A modern and powerful project management tool"; homepage = http://taskjuggler.org/; license = lib.licenses.gpl2; platforms = lib.platforms.unix; + maintainers = [ lib.maintainers.manveru ]; }; } diff --git a/pkgs/applications/misc/taskjuggler/gemset.nix b/pkgs/applications/misc/taskjuggler/gemset.nix index e65ab3451a62dce5e0be87402856e0dc1e2ec7b1..24c1e4311777f1e989a274f86ea064702d5a2125 100644 --- a/pkgs/applications/misc/taskjuggler/gemset.nix +++ b/pkgs/applications/misc/taskjuggler/gemset.nix @@ -1,47 +1,55 @@ { - "mail" = { - version = "2.6.3"; + mail = { + dependencies = ["mini_mime"]; + groups = ["default"]; + platforms = []; source = { + remotes = ["http://rubygems.org"]; + sha256 = "10dyifazss9mgdzdv08p47p344wmphp5pkh5i73s7c04ra8y6ahz"; type = "gem"; - sha256 = "1nbg60h3cpnys45h7zydxwrl200p7ksvmrbxnwwbpaaf9vnf3znp"; }; - dependencies = [ - "mime-types" - ]; + version = "2.7.0"; }; - "mime-types" = { - version = "2.6.1"; + mini_mime = { + groups = ["default"]; + platforms = []; source = { + remotes = ["http://rubygems.org"]; + sha256 = "1q4pshq387lzv9m39jv32vwb8wrq3wc4jwgl4jk209r4l33v09d3"; type = "gem"; - sha256 = "1vnrvf245ijfyxzjbj9dr6i1hkjbyrh4yj88865wv9bs75axc5jv"; }; + version = "1.0.1"; }; - "taskjuggler" = { - version = "3.5.0"; + taskjuggler = { + dependencies = ["mail" "term-ansicolor"]; + groups = ["default"]; + platforms = []; source = { + remotes = ["http://rubygems.org"]; + sha256 = "0ky3cydl3szhdyxsy4k6zxzjlbll7mlq025aj6xd5jmh49k3pfbp"; type = "gem"; - sha256 = "0r84rlc7a6w7p9nc9mgycbs5h0hq0kzscjq7zj3296xyf0afiwj2"; }; - dependencies = [ - "mail" - "term-ansicolor" - ]; + version = "3.6.0"; }; - "term-ansicolor" = { - version = "1.3.2"; + term-ansicolor = { + dependencies = ["tins"]; + groups = ["default"]; + platforms = []; source = { + remotes = ["http://rubygems.org"]; + sha256 = "1b1wq9ljh7v3qyxkk8vik2fqx2qzwh5lval5f92llmldkw7r7k7b"; type = "gem"; - sha256 = "0ydbbyjmk5p7fsi55ffnkq79jnfqx65c3nj8d9rpgl6sw85ahyys"; }; - dependencies = [ - "tins" - ]; - }; - "tins" = { version = "1.6.0"; + }; + tins = { + groups = ["default"]; + platforms = []; source = { + remotes = ["http://rubygems.org"]; + sha256 = "0g95xs4nvx5n62hb4fkbkd870l9q3y9adfc4h8j21phj9mxybkb8"; type = "gem"; - sha256 = "02qarvy17nbwvslfgqam8y6y7479cwmb1a6di9z18hzka4cf90hz"; }; + version = "1.16.3"; }; -} +} \ No newline at end of file diff --git a/pkgs/applications/misc/tasknc/default.nix b/pkgs/applications/misc/tasknc/default.nix index bf0e964d591f2c11f7662d8a8f0c4f78c1619664..7ca421b49a35b456f4c531b21aaeef635386c4f7 100644 --- a/pkgs/applications/misc/tasknc/default.nix +++ b/pkgs/applications/misc/tasknc/default.nix @@ -36,7 +36,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { homepage = https://github.com/lharding/tasknc; description = "A ncurses wrapper around taskwarrior"; - maintainers = with maintainers; [ infinisil ]; + maintainers = with maintainers; [ matthiasbeyer infinisil ]; platforms = platforms.linux; # Cannot test others license = licenses.mit; }; diff --git a/pkgs/applications/misc/taskopen/default.nix b/pkgs/applications/misc/taskopen/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..9f1773b191d240eaed79f58439e8486828b19f7e --- /dev/null +++ b/pkgs/applications/misc/taskopen/default.nix @@ -0,0 +1,34 @@ +{ fetchurl, stdenv, makeWrapper, which, perl, perlPackages }: + +stdenv.mkDerivation rec { + name = "taskopen-1.1.4"; + src = fetchurl { + url = "https://github.com/ValiValpas/taskopen/archive/v1.1.4.tar.gz"; + sha256 = "774dd89f5c92462098dd6227e181268e5ec9930bbc569f25784000df185c71ba"; + }; + + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ which perl ] ++ (with perlPackages; [ JSON ]); + + installPhase = '' + # We don't need a DESTDIR and an empty string results in an absolute path + # (due to the trailing slash) which breaks the build. + sed 's|$(DESTDIR)/||' -i Makefile + + make PREFIX=$out + make PREFIX=$out install + ''; + + postFixup = '' + wrapProgram $out/bin/taskopen \ + --set PERL5LIB "$PERL5LIB" + ''; + + meta = with stdenv.lib; { + description = "Script for taking notes and open urls with taskwarrior"; + homepage = https://github.com/ValiValpas/taskopen; + platforms = platforms.linux; + license = stdenv.lib.licenses.free ; + maintainers = [ maintainers.winpat ]; + }; +} diff --git a/pkgs/applications/misc/tasksh/default.nix b/pkgs/applications/misc/tasksh/default.nix index dac447edd7d2f9f8fff5a7c5ade615d3a5466af5..6a30adb23da252c629690ff3bfd077291018aa20 100644 --- a/pkgs/applications/misc/tasksh/default.nix +++ b/pkgs/applications/misc/tasksh/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { description = "REPL for taskwarrior"; homepage = http://tasktools.org; license = licenses.mit; - maintainers = with maintainers; [ ]; + maintainers = with maintainers; [ matthiasbeyer ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/misc/taskwarrior/default.nix b/pkgs/applications/misc/taskwarrior/default.nix index 1018a53ce21d7e478d3d956f9be7e840c40c1dca..dc632f3ed757a8252950e4d63c52f97ce2cfedbc 100644 --- a/pkgs/applications/misc/taskwarrior/default.nix +++ b/pkgs/applications/misc/taskwarrior/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { description = "Highly flexible command-line tool to manage TODO lists"; homepage = https://taskwarrior.org; license = licenses.mit; - maintainers = with maintainers; [ marcweber jgeerds ]; + maintainers = with maintainers; [ marcweber ]; platforms = platforms.linux ++ platforms.darwin; }; } diff --git a/pkgs/applications/misc/tdrop/default.nix b/pkgs/applications/misc/tdrop/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..15ee275c0e196c6fc5680010ffd3067eae6c46ce --- /dev/null +++ b/pkgs/applications/misc/tdrop/default.nix @@ -0,0 +1,33 @@ +{ stdenv, lib, fetchFromGitHub, makeWrapper +, xwininfo, xdotool, xprop }: + +stdenv.mkDerivation rec { + pname = "tdrop"; + version = "unstable-2018-11-13"; + + src = fetchFromGitHub { + owner = "noctuid"; + repo = "tdrop"; + rev = "198795c0d2573a31979330d6a2ae946eb81deebf"; + sha256 = "1fhibqgmls64mylcb6q46ipmg1q6pvaqm26vz933gqav6cqsbdzs"; + }; + + dontBuild = true; + + installFlags = [ "PREFIX=$(out)" ]; + + postInstall = '' + wrapProgram $out/bin/tdrop \ + --prefix PATH : ${lib.makeBinPath [ xwininfo xdotool xprop ]} + ''; + + nativeBuildInputs = [ makeWrapper ]; + + meta = with stdenv.lib; { + description = "A Glorified WM-Independent Dropdown Creator"; + homepage = https://github.com/noctuid/tdrop; + license = licenses.bsd2; + platforms = platforms.linux; + maintainers = with maintainers; [ wedens ]; + }; +} diff --git a/pkgs/applications/misc/termdown/default.nix b/pkgs/applications/misc/termdown/default.nix index 631fc08e95eeb8ac6b720976db4bc7614df66f7b..65963f9aa34f6cfb2a937b455f07cbc03cc01e16 100644 --- a/pkgs/applications/misc/termdown/default.nix +++ b/pkgs/applications/misc/termdown/default.nix @@ -6,11 +6,11 @@ with stdenv.lib; buildPythonApplication rec { name = "termdown-${version}"; - version = "1.11.0"; + version = "1.14.1"; src = fetchFromGitHub { - rev = "d1e3504e02ad49013595112cb03fbf175822e58d"; - sha256 = "1i6fxymg52q95n0cbm4imdxh6yvpj3q57yf7w9z5d9pr35cf1iq5"; + rev = version; + sha256 = "0jgjzglna0gwp0j31l48pny69szslczl13aahwjfjypkv9lx8w2a"; repo = "termdown"; owner = "trehn"; }; diff --git a/pkgs/applications/misc/terminal-notifier/default.nix b/pkgs/applications/misc/terminal-notifier/default.nix index c838eca50659eb33ca829cce0e6d2719eab621fd..3599bd0030b9b5600ef746edd097aa2b99aeb6e0 100644 --- a/pkgs/applications/misc/terminal-notifier/default.nix +++ b/pkgs/applications/misc/terminal-notifier/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchzip }: +{ stdenv, runtimeShell, lib, fetchzip }: stdenv.mkDerivation rec { name = "terminal-notifier-${version}"; @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { mkdir -p $out/bin cp -r terminal-notifier.app $out/Applications cat >$out/bin/terminal-notifier <> $out/bin/thinkingrock << EOF - #!/bin/sh + #!${runtimeShell} exec $out/nix-support/tr-files/bin/tr "$@" EOF chmod +x $out/bin/thinkingrock ''; - + installPhase = ":"; - meta = { + meta = { description = "Task management system"; homepage = http://www.thinkingrock.com.au/; license = "CDDL"; # Common Development and Distribution License diff --git a/pkgs/applications/misc/tilda/default.nix b/pkgs/applications/misc/tilda/default.nix index d5b927bb536cd61c6fd732272c0caaaf1176cc1e..4172660182dfe6ecbbe5064d04c5a9b6cb9684e3 100644 --- a/pkgs/applications/misc/tilda/default.nix +++ b/pkgs/applications/misc/tilda/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchurl, pkgconfig +{ stdenv, fetchzip, pkgconfig , autoreconfHook, gettext, expat -, confuse, vte, gtk +, libconfuse, vte, gtk , makeWrapper }: stdenv.mkDerivation rec { @@ -8,13 +8,13 @@ stdenv.mkDerivation rec { name = "tilda-${version}"; version = "1.4.1"; - src = fetchurl { + src = fetchzip { url = "https://github.com/lanoxx/tilda/archive/${name}.tar.gz"; - sha256 = "0w2hry2bqcqrkik4l100b1a9jlsih6sq8zwhfpl8zzfq20i00lfs"; + sha256 = "154rsldqjv2m1bddisb930qicb0y35kx7bxq392n2hn68jr2pxkj"; }; - nativeBuildInputs = [ autoreconfHook pkgconfig ]; - buildInputs = [ gettext confuse vte gtk makeWrapper ]; + nativeBuildInputs = [ autoreconfHook makeWrapper pkgconfig ]; + buildInputs = [ gettext libconfuse vte gtk ]; LD_LIBRARY_PATH = "${expat.out}/lib"; # ugly hack for xgettext to work during build diff --git a/pkgs/applications/misc/tilix/default.nix b/pkgs/applications/misc/tilix/default.nix index e101005e44ece509c0e5ebe72ad16d279eee4189..ed9ae5ade9ffb2fcf8640d818f287e4964fd674f 100644 --- a/pkgs/applications/misc/tilix/default.nix +++ b/pkgs/applications/misc/tilix/default.nix @@ -1,47 +1,48 @@ { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, dmd, gnome3, dbus , gsettings-desktop-schemas, desktop-file-utils, gettext, gtkd, libsecret -, perlPackages, wrapGAppsHook, xdg_utils }: +, glib, perlPackages, wrapGAppsHook, xdg_utils }: stdenv.mkDerivation rec { - name = "tilix-${version}"; - version = "1.8.3"; + pname = "tilix"; + version = "1.9.0"; src = fetchFromGitHub { owner = "gnunn1"; repo = "tilix"; - rev = "${version}"; - sha256 = "05x2nyyb5w3122j90g0f7lh9jl7xi1nk176sl01vl2ks7zar00dq"; + rev = version; + sha256 = "1k8hqpq6bzmn06b4s8c257n37ghgp3fl7l9g6fy0giwk1x0ix735"; }; nativeBuildInputs = [ autoreconfHook dmd desktop-file-utils perlPackages.Po4a pkgconfig xdg_utils wrapGAppsHook ]; + buildInputs = [ gnome3.dconf gettext gsettings-desktop-schemas gtkd dbus libsecret ]; preBuild = '' makeFlagsArray=( - PERL5LIB="${perlPackages.Po4a}/lib/perl5" DCFLAGS='-O -inline -release -version=StdLoggerDisableTrace' ) ''; - postInstall = with gnome3; '' + postInstall = '' ${glib.dev}/bin/glib-compile-schemas $out/share/glib-2.0/schemas - - wrapProgram $out/bin/tilix \ - --prefix LD_LIBRARY_PATH ":" "${libsecret}/lib" ''; - preFixup = '' + gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH ":" "${libsecret}/lib") + substituteInPlace $out/share/applications/com.gexperts.Tilix.desktop \ --replace "Exec=tilix" "Exec=$out/bin/tilix" - sed -i '/^DBusActivatable=/d' $out/share/applications/com.gexperts.Tilix.desktop + + # TODO: Won't be needed after the switch to Meson + substituteInPlace $out/share/dbus-1/services/com.gexperts.Tilix.service \ + --replace "/usr/bin/tilix" "$out/bin/tilix" ''; meta = with stdenv.lib; { - description = "Tiling terminal emulator following the Gnome Human Interface Guidelines."; + description = "Tiling terminal emulator following the Gnome Human Interface Guidelines"; homepage = https://gnunn1.github.io/tilix-web; license = licenses.mpl20; maintainers = with maintainers; [ midchildan ]; diff --git a/pkgs/applications/misc/timewarrior/default.nix b/pkgs/applications/misc/timewarrior/default.nix index ff3caec29644918ffcd1ca6f0bf12fb585365c1a..ca049ba04c9180cec57a9e58d164023a3724fb96 100644 --- a/pkgs/applications/misc/timewarrior/default.nix +++ b/pkgs/applications/misc/timewarrior/default.nix @@ -15,9 +15,9 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "A command-line time tracker"; - homepage = https://tasktools.org/projects/timewarrior.html; + homepage = https://taskwarrior.org/docs/timewarrior; license = licenses.mit; - maintainers = with maintainers; [ mrVanDalo ]; + maintainers = with maintainers; [ matthiasbeyer mrVanDalo ]; platforms = platforms.linux ++ platforms.darwin; }; } diff --git a/pkgs/applications/misc/tint2/default.nix b/pkgs/applications/misc/tint2/default.nix index 31ccdb3c7f53f8e556eda6ac2e82f57c0219a0b6..c70503cbff2f97acd3db89ee3150c5a4a63def45 100644 --- a/pkgs/applications/misc/tint2/default.nix +++ b/pkgs/applications/misc/tint2/default.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { name = "tint2-${version}"; - version = "16.4"; + version = "16.6.1"; src = fetchFromGitLab { owner = "o9000"; repo = "tint2"; rev = version; - sha256 = "1h9l45zimai2hqfcf2y98g4i03imhmvm3mlsld9x99i650kxr5jm"; + sha256 = "1h5bn4vi7gffwi4mpwpn0s6vxvl44rn3m9b23w8q9zyz9v24flz7"; }; enableParallelBuilding = true; @@ -24,20 +24,18 @@ stdenv.mkDerivation rec { libXdmcp libstartup_notification hicolor-icon-theme ]; postPatch = '' - substituteInPlace CMakeLists.txt --replace /etc $out/etc for f in ./src/launcher/apps-common.c \ - ./src/launcher/icon-theme-common.c \ - ./themes/*tint2rc + ./src/launcher/icon-theme-common.c do substituteInPlace $f --replace /usr/share/ /run/current-system/sw/share/ done ''; - meta = { + meta = with stdenv.lib; { homepage = https://gitlab.com/o9000/tint2; description = "Simple panel/taskbar unintrusive and light (memory, cpu, aestetic)"; - license = stdenv.lib.licenses.gpl2; - platforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.romildo ]; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = [ maintainers.romildo ]; }; } diff --git a/pkgs/applications/misc/todoist/default.nix b/pkgs/applications/misc/todoist/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..d4735c0baf5fb329ad156ef64b46931199c5027f --- /dev/null +++ b/pkgs/applications/misc/todoist/default.nix @@ -0,0 +1,22 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + name = "todoist-${version}"; + version = "0.13.1"; + + src = fetchFromGitHub { + owner = "sachaos"; + repo = "todoist"; + rev = "v${version}"; + sha256 = "1kwvlsjr2a7wdhlwpxxpdh87wz8k9yjwl59vl2g7ya6m0rvhd3mc"; + }; + + modSha256 = "09n6abyaqwz4zcdz8934rvpbxhp4v2nmm5v739kkcc98c3h93i64"; + + meta = { + homepage = https://github.com/sachaos/todoist; + description = "Todoist CLI Client"; + license = lib.licenses.mit; + platforms = lib.platforms.unix; + }; +} diff --git a/pkgs/applications/misc/todolist/default.nix b/pkgs/applications/misc/todolist/default.nix index 61e10b6d1a6abb9e403c907faeb74384f3457315..122567de2e1e605f42b2c1191efe2e8fb2c75c0c 100644 --- a/pkgs/applications/misc/todolist/default.nix +++ b/pkgs/applications/misc/todolist/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { name = "todolist-${version}"; - version = "0.8"; + version = "v0.8.1"; goPackagePath = "github.com/gammons/todolist"; @@ -10,7 +10,7 @@ buildGoPackage rec { owner = "gammons"; repo = "todolist"; rev = "${version}"; - sha256 = "0agv9a44q81qr960b7m1jxk0pb8ahk6lvmzmijvw4v6mbip2720z"; + sha256 = "0dazfymby5xm4482p9cyj23djmkz5q7g79cqm2d85mczvz7vks8p"; }; meta = with stdenv.lib; { diff --git a/pkgs/applications/misc/toggldesktop/default.nix b/pkgs/applications/misc/toggldesktop/default.nix index bc36ffa5e10115b1c80531057a135551059caa4e..b268bdd0962ee3d182eec3ae3ffd028d0906743b 100644 --- a/pkgs/applications/misc/toggldesktop/default.nix +++ b/pkgs/applications/misc/toggldesktop/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchzip, buildEnv, makeDesktopItem, runCommand, writeText, pkgconfig , cmake, qmake, cacert, jsoncpp, libX11, libXScrnSaver, lua, openssl, poco -, qtbase, qtwebkit, qtx11extras, sqlite }: +, qtbase, qtwebengine, qtx11extras, sqlite }: let name = "toggldesktop-${version}"; @@ -39,15 +39,15 @@ let qt-oauth-lib = stdenv.mkDerivation rec { name = "qt-oauth-lib-${version}"; - version = "20180521.233208"; + version = "20190125.190943"; src = fetchzip { url = "https://github.com/yegortimoshenko/qt-oauth-lib/archive/${version}.tar.gz"; - sha256 = "0f46d44slzvzaqx0lksvv14lsc1jp8vd2mragxd61r820hybf5z3"; + sha256 = "0zmfgvdf6n79mgfvbda7lkdxxlzjmy86436gqi2r5x05vq04sfrj"; }; nativeBuildInputs = [ qmake ]; - buildInputs = [ qtbase qtwebkit ]; + buildInputs = [ qtbase qtwebengine ]; }; poco-pc = writeText "poco.pc" '' @@ -100,7 +100,7 @@ let libtoggl qxtglobalshortcut qtbase - qtwebkit + qtwebengine qt-oauth-lib qtx11extras libX11 diff --git a/pkgs/applications/misc/toot/default.nix b/pkgs/applications/misc/toot/default.nix index cb3146d4c0dd5a310fc04a9dd7136155b3d87a7e..6079c8807dc1a684214d1b9f3603a1a5a0817fd6 100644 --- a/pkgs/applications/misc/toot/default.nix +++ b/pkgs/applications/misc/toot/default.nix @@ -1,20 +1,20 @@ { stdenv, fetchFromGitHub, python3Packages }: python3Packages.buildPythonApplication rec { - version = "0.19.0"; + version = "0.21.0"; name = "toot-${version}"; src = fetchFromGitHub { owner = "ihabunek"; repo = "toot"; rev = "${version}"; - sha256 = "1z0r6yqi522d5jbpd0w3prd33l067jb1jhfnxf6hkzhnx1wddjsa"; + sha256 = "03s81i9rz7dn33r13p7j2c7yw874hkm64x7myddiqw9lc21fyzql"; }; checkInputs = with python3Packages; [ pytest ]; propagatedBuildInputs = with python3Packages; - [ requests beautifulsoup4 future ]; + [ requests beautifulsoup4 future wcwidth ]; checkPhase = '' py.test @@ -24,7 +24,7 @@ python3Packages.buildPythonApplication rec { description = "Mastodon CLI interface"; homepage = "https://github.com/ihabunek/toot"; license = licenses.mit; - maintainers = [ ]; + maintainers = [ maintainers.matthiasbeyer ]; }; } diff --git a/pkgs/applications/misc/tootle/default.nix b/pkgs/applications/misc/tootle/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..413f082fb22a1f9b75faa5b59715d35a9985836a --- /dev/null +++ b/pkgs/applications/misc/tootle/default.nix @@ -0,0 +1,45 @@ +{ stdenv, fetchFromGitHub +, meson, ninja, pkgconfig, python3, libgee, gsettings-desktop-schemas +, gnome3, pantheon, gobject-introspection, wrapGAppsHook +, gtk3, json-glib, glib, glib-networking, hicolor-icon-theme +}: + +let + pname = "tootle"; + version = "0.2.0"; +in stdenv.mkDerivation rec { + name = "${pname}-${version}"; + + src = fetchFromGitHub { + owner = "bleakgrey"; + repo = pname; + rev = version; + sha256 = "1z3wyx316nns6gi7vlvcfmalhvxncmvcmmlgclbv6b6hwl5x2ysi"; + }; + + nativeBuildInputs = [ + gobject-introspection + meson + ninja + pkgconfig + python3 + pantheon.vala + wrapGAppsHook + ]; + buildInputs = [ + gtk3 pantheon.granite json-glib glib glib-networking hicolor-icon-theme + libgee gnome3.libsoup gsettings-desktop-schemas + ]; + + postPatch = '' + chmod +x ./meson/post_install.py + patchShebangs ./meson/post_install.py + ''; + + meta = with stdenv.lib; { + description = "Simple Mastodon client designed for elementary OS"; + homepage = https://github.com/bleakgrey/tootle; + license = licenses.gpl3; + maintainers = with maintainers; [ dtzWill ]; + }; +} diff --git a/pkgs/applications/misc/tqsl/cmake_lib_path.patch b/pkgs/applications/misc/tqsl/cmake_lib_path.patch deleted file mode 100644 index 5eed93834632fdd0c01994244430dde8ac02ccc4..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/tqsl/cmake_lib_path.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -dur tqsl-2.3.1/src/CMakeLists.txt tqsl-2.3.1b/src/CMakeLists.txt ---- tqsl-2.3.1/src/CMakeLists.txt 2017-04-17 20:53:22.000000000 -0400 -+++ tqsl-2.3.1b/src/CMakeLists.txt 2017-10-05 21:14:39.048329343 -0400 -@@ -54,7 +54,7 @@ - if(NOT APPLE AND NOT WIN32) - set_source_files_properties(location.cpp PROPERTIES COMPILE_DEFINITIONS CONFDIR="${CMAKE_INSTALL_PREFIX}/share/TrustedQSL/") - set(HEADERS_TO_INSTALL tqsllib.h tqslerrno.h cabrillo.h adif.h tqslconvert.h) --install(TARGETS tqsllib DESTINATION lib$(LIB_SUFFIX)) -+install(TARGETS tqsllib DESTINATION lib${LIB_SUFFIX}) - install(FILES config.xml DESTINATION share/TrustedQSL) - install(FILES ${HEADERS_TO_INSTALL} DESTINATION include) - endif() diff --git a/pkgs/applications/misc/tqsl/default.nix b/pkgs/applications/misc/tqsl/default.nix deleted file mode 100644 index f001cbcaab92dac87edea1199e616caa18308873..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/tqsl/default.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ stdenv, fetchurl, makeWrapper, cmake, expat, openssl, zlib, db, curl, wxGTK }: - -stdenv.mkDerivation rec { - name = "tqsl-${version}"; - version = "2.3.1"; - - src = fetchurl { - url = "https://www.arrl.org/files/file/LoTW%20Instructions/${name}.tar.gz"; - sha256 = "10cjlilampwl10hwb7m28m5z9gyrscvvc1rryfjnhj9q2x4ppgxv"; - }; - - nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ - cmake - expat - openssl - zlib - db - curl - wxGTK - ]; - - patches = [ ./cmake_lib_path.patch ]; - - meta = with stdenv.lib; { - description = "Software for using the ARRL Logbook of the World"; - homepage = https://lotw.arrl.org/; - license = licenses.bsd3; - platforms = platforms.linux; - maintainers = [ maintainers.dpflug ]; - }; -} diff --git a/pkgs/applications/misc/translate-shell/default.nix b/pkgs/applications/misc/translate-shell/default.nix index 15c4b8185a22ce3efb6c926db7fa9229c070a499..5d50238a9f0007780477b95e89ec15cbd872757f 100644 --- a/pkgs/applications/misc/translate-shell/default.nix +++ b/pkgs/applications/misc/translate-shell/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { name = "${pname}-${version}"; pname = "translate-shell"; - version = "0.9.6.8"; + version = "0.9.6.9"; src = fetchFromGitHub { owner = "soimort"; repo = "translate-shell"; rev = "v${version}"; - sha256 = "17fc5nlc594lvmihx39h4ddmi8ja3qqsyswzxadbaz7l3zm356b8"; + sha256 = "1xyf0vdxmbgqcgsr1gvgwh1q4fh080h68radkim6pfcwzffliszm"; }; buildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/misc/truecrypt/default.nix b/pkgs/applications/misc/truecrypt/default.nix deleted file mode 100644 index 5bb614ac68b1ce15b88b0b1c1b3898727cb94729..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/truecrypt/default.nix +++ /dev/null @@ -1,98 +0,0 @@ -/* -Requirements for Building TrueCrypt for Linux and macOS: ------------------------------------------------------------ - -- GNU Make -- GNU C++ Compiler 4.0 or compatible -- Apple XCode (macOS only) -- pkg-config -- wxWidgets 2.8 library source code (available at http://www.wxwidgets.org) -- FUSE library (available at http://fuse.sourceforge.net and - http://code.google.com/p/macfuse) - - -Instructions for Building TrueCrypt for Linux and macOS: ------------------------------------------------------------ - -1) Change the current directory to the root of the TrueCrypt source code. - -2) Run the following command to configure the wxWidgets library for TrueCrypt - and to build it: - - $ make WX_ROOT=/usr/src/wxWidgets wxbuild - - The variable WX_ROOT must point to the location of the source code of the - wxWidgets library. Output files will be placed in the './wxrelease/' - directory. - -3) To build TrueCrypt, run the following command: - - $ make - -4) If successful, the TrueCrypt executable should be located in the directory - 'Main'. - -By default, a universal executable supporting both graphical and text user -interface is built. To build a console-only executable, which requires no GUI -library, use the 'NOGUI' parameter: - - $ make NOGUI=1 WX_ROOT=/usr/src/wxWidgets wxbuild - $ make NOGUI=1 -*/ - -{ fetchurl, stdenv, pkgconfig, nasm, fuse, wxGTK, lvm2, - wxGUI ? true -}: - -stdenv.mkDerivation { - name = "truecrypt-7.1a"; - - patchPhase = "patch -p0 < ${./gcc6.patch}"; - - preBuild = '' - cp $pkcs11h pkcs11.h - cp $pkcs11th pkcs11t.h - cp $pkcs11fh pkcs11f.h - ''; - - makeFlags = [ - ''PKCS11_INC="`pwd`"'' - (if wxGUI then "" else "NOGUI=1") - ]; - - installPhase = '' - install -D -t $out/bin Main/truecrypt - install -D License.txt $out/share/$name/LICENSE - ''; - - src = fetchurl { - url = https://fossies.org/linux/misc/old/TrueCrypt-7.1a-Source.tar.gz; - sha256 = "e6214e911d0bbededba274a2f8f8d7b3f6f6951e20f1c3a598fc7a23af81c8dc"; - }; - - pkcs11h = fetchurl { - url = ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/pkcs11.h; - sha256 = "1563d877b6f8868b8eb8687358162bfb7f868104ed694beb35ae1c5cf1a58b9b"; - }; - - pkcs11th = fetchurl { - url = ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/pkcs11t.h; - sha256 = "8ce68616304684f92a7e267bcc8f486441e92a5cbdfcfd97e69ac9a0b436fb7b"; - }; - - pkcs11fh = fetchurl { - url = ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/pkcs11f.h; - sha256 = "5ae6a4f32ca737e02def3bf314c9842fb89be82bf00b6f4022a97d8d565522b8"; - }; - - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ fuse lvm2 wxGTK nasm ]; - - meta = { - description = "Free Open-Source filesystem on-the-fly encryption"; - homepage = http://www.truecrypt.org/; - license = "TrueCrypt License Version 2.6"; - maintainers = with stdenv.lib.maintainers; [ ryantm ]; - platforms = with stdenv.lib.platforms; linux; - }; -} diff --git a/pkgs/applications/misc/truecrypt/gcc6.patch b/pkgs/applications/misc/truecrypt/gcc6.patch deleted file mode 100644 index 6e8c7da69e878c8f4c2b6c34683b79f748282b15..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/truecrypt/gcc6.patch +++ /dev/null @@ -1,61 +0,0 @@ ---- Main/Resources.cpp 2016-05-16 16:47:35.846462041 +0200 -+++ Main/Resources.cpp 2016-05-16 17:12:21.838202520 +0200 -@@ -45,13 +45,13 @@ - strBuf.CopyFrom (res); - return string (reinterpret_cast (strBuf.Ptr())); - #else -- static const char LanguageXml[] = -+ static byte LanguageXml[] = - { - # include "Common/Language.xml.h" - , 0 - }; - -- return string (LanguageXml); -+ return string ((const char*) LanguageXml); - #endif - } - -@@ -64,13 +64,13 @@ - strBuf.CopyFrom (res); - return string (reinterpret_cast (strBuf.Ptr())); - #else -- static const char License[] = -+ static byte License[] = - { - # include "License.txt.h" - , 0 - }; - -- return string (License); -+ return string ((const char*) License); - #endif - } - ---- Main/Forms/PreferencesDialog.cpp 2016-05-16 17:14:47.704707908 +0200 -+++ Main/Forms/PreferencesDialog.cpp 2016-05-16 17:15:56.927964437 +0200 -@@ -414,11 +414,11 @@ - libExtension = wxDynamicLibrary::CanonicalizeName (L"x"); - - #ifdef TC_MACOSX -- extensions.push_back (make_pair (L"dylib", LangString["DLL_FILES"])); -+ extensions.push_back (make_pair (L"dylib", static_cast(LangString["DLL_FILES"].wc_str()))); - #endif - if (!libExtension.empty()) - { -- extensions.push_back (make_pair (libExtension.Mid (libExtension.find (L'.') + 1), LangString["DLL_FILES"])); -+ extensions.push_back (make_pair (static_cast(libExtension.Mid (libExtension.find (L'.') + 1).wc_str()), static_cast(LangString["DLL_FILES"].wc_str()))); - extensions.push_back (make_pair (L"*", L"")); - } - ---- Main/GraphicUserInterface.cpp 2016-05-16 17:16:38.724591342 +0200 -+++ Main/GraphicUserInterface.cpp 2016-05-16 17:17:09.854562653 +0200 -@@ -1445,7 +1445,7 @@ - FilePath GraphicUserInterface::SelectVolumeFile (wxWindow *parent, bool saveMode, const DirectoryPath &directory) const - { - list < pair > extensions; -- extensions.push_back (make_pair (L"tc", LangString["TC_VOLUMES"])); -+ extensions.push_back (make_pair (L"tc", static_cast(LangString["TC_VOLUMES"].wc_str()))); - - FilePathList selFiles = Gui->SelectFiles (parent, LangString[saveMode ? "OPEN_NEW_VOLUME" : "OPEN_VOL_TITLE"], saveMode, false, extensions, directory); - diff --git a/pkgs/applications/misc/tthsum/default.nix b/pkgs/applications/misc/tthsum/default.nix index 66bfcbcf4d9aa06f42e9c3e93cd599cbd66c0ed0..dbac56abaa1d3c365d908653e9a3efc7e6ffc4f3 100644 --- a/pkgs/applications/misc/tthsum/default.nix +++ b/pkgs/applications/misc/tthsum/default.nix @@ -15,6 +15,8 @@ stdenv.mkDerivation rec { cp obj-unix/tthsum $out/bin ''; + doCheck = !stdenv.isDarwin; + meta = with stdenv.lib; { description = "An md5sum-alike program that works with Tiger/THEX hashes"; longDescription = '' diff --git a/pkgs/applications/misc/twmn/default.nix b/pkgs/applications/misc/twmn/default.nix index 0667ec49b3287ef5d2d842a285543a427a202ec9..04c6cc3606e308a64e367b51debf715eccf1fb98 100644 --- a/pkgs/applications/misc/twmn/default.nix +++ b/pkgs/applications/misc/twmn/default.nix @@ -1,12 +1,13 @@ -{ stdenv, fetchgit, qtbase, qtx11extras, qmake, pkgconfig, boost }: +{ stdenv, fetchFromGitHub, qtbase, qtx11extras, qmake, pkgconfig, boost }: stdenv.mkDerivation rec { - name = "twmn-git-2014-09-23"; + name = "twmn-git-2018-10-01"; - src = fetchgit { - url = "https://github.com/sboli/twmn.git"; - rev = "9492a47e25547e602dd57efd807033677c90b150"; - sha256 = "1a68gka9gyxyzhc9rn8df59rzcdwkjw90cxp1kk0rdfp6svhxhsa"; + src = fetchFromGitHub { + owner = "sboli"; + repo = "twmn"; + rev = "80f48834ef1a07087505b82358308ee2374b6dfb"; + sha256 = "0mpjvp800x07lp9i3hfcc5f4bqj1fj4w3dyr0zwaxc6wqmm0fdqz"; }; nativeBuildInputs = [ pkgconfig qmake ]; diff --git a/pkgs/applications/misc/tzupdate/default.nix b/pkgs/applications/misc/tzupdate/default.nix index 3a723907c925d0f7c5ceb35dee0e9bdfdafee2d6..a5d2f206f3a52ce15657be70030009e8362c44d6 100644 --- a/pkgs/applications/misc/tzupdate/default.nix +++ b/pkgs/applications/misc/tzupdate/default.nix @@ -5,11 +5,11 @@ let in buildPythonApplication rec { pname = "tzupdate"; - version = "1.2.0"; + version = "1.3.1"; src = fetchPypi { inherit pname version; - sha256 = "1wj2r1wirnn5kllaasdldimvp3cc3w7w890iqrjksz5wwjbnj8pk"; + sha256 = "085kp4v9ijhkfvr0r5rzn4z7nrkb2qig05j0bajb0gkgynwf8wnz"; }; propagatedBuildInputs = [ requests ]; diff --git a/pkgs/applications/misc/udiskie/default.nix b/pkgs/applications/misc/udiskie/default.nix index 5b75fbbc08e1016bfd1774152e53a08d3a0ce856..459104aba6387d69fa542619a2b48489930164ba 100644 --- a/pkgs/applications/misc/udiskie/default.nix +++ b/pkgs/applications/misc/udiskie/default.nix @@ -1,33 +1,41 @@ { stdenv, fetchFromGitHub, asciidoc-full, gettext -, gobjectIntrospection, gtk3, hicolor-icon-theme, libappindicator-gtk3, libnotify, librsvg +, gobject-introspection, gtk3, hicolor-icon-theme, libappindicator-gtk3, libnotify, librsvg , udisks2, wrapGAppsHook -, buildPythonApplication -, docopt -, pygobject3 -, pyyaml +, python3Packages }: -buildPythonApplication rec { - name = "udiskie-${version}"; - version = "1.7.5"; +python3Packages.buildPythonApplication rec { + pname = "udiskie"; + version = "1.7.7"; src = fetchFromGitHub { owner = "coldfix"; repo = "udiskie"; rev = version; - sha256 = "1mcdn8ha5d5nsmrzk6xnnsqrmk94rdrzym9sqm38zk5r8gpyl1k4"; + sha256 = "1j17z26vy44il2s9zgchvhq280vq8ag64ddi35f35b444wz2azlb"; }; - buildInputs = [ + nativeBuildInputs = [ + gettext asciidoc-full # For building man page. - hicolor-icon-theme + gobject-introspection wrapGAppsHook + ]; + + buildInputs = [ + hicolor-icon-theme librsvg # required for loading svg icons (udiskie uses svg icons) + gobject-introspection + libnotify + gtk3 + udisks2 + libappindicator-gtk3 ]; - propagatedBuildInputs = [ - gettext gobjectIntrospection gtk3 libnotify docopt - pygobject3 pyyaml udisks2 libappindicator-gtk3 + propagatedBuildInputs = with python3Packages; [ + docopt + pygobject3 + pyyaml ]; postBuild = "make -C doc"; @@ -37,8 +45,14 @@ buildPythonApplication rec { cp -v doc/udiskie.8 $out/share/man/man8/ ''; - # tests require dbusmock - doCheck = false; + checkInputs = with python3Packages; [ + nose + keyutils + ]; + + checkPhase = '' + nosetests + ''; meta = with stdenv.lib; { description = "Removable disk automounter for udisks"; diff --git a/pkgs/applications/misc/urh/default.nix b/pkgs/applications/misc/urh/default.nix deleted file mode 100644 index 56da0cf22efea57c3a0c445b35260c88d34d2b36..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/urh/default.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ stdenv, fetchFromGitHub, python3Packages, hackrf, rtl-sdr }: - -python3Packages.buildPythonApplication rec { - name = "urh-${version}"; - version = "2.2.3"; - - src = fetchFromGitHub { - owner = "jopohl"; - repo = "urh"; - rev = "v${version}"; - sha256 = "1iq84590cjpf2rlxb60fy4hxi7vir27bbb10axbwrqwnp5cc4bql"; - }; - - buildInputs = [ hackrf rtl-sdr ]; - propagatedBuildInputs = with python3Packages; [ - pyqt5 numpy psutil cython pyzmq - ]; - - doCheck = false; - - meta = with stdenv.lib; { - inherit (src.meta) homepage; - description = "Universal Radio Hacker: investigate wireless protocols like a boss"; - license = licenses.asl20; - platforms = platforms.linux; - maintainers = with maintainers; [ fpletz ]; - }; -} diff --git a/pkgs/applications/misc/urlscan/default.nix b/pkgs/applications/misc/urlscan/default.nix index 5f5754a6605300ab3156f87ed5f96ff2db3ee9bc..43861d9f60a6f932d4e0a1c24c1198bbc5cabba6 100644 --- a/pkgs/applications/misc/urlscan/default.nix +++ b/pkgs/applications/misc/urlscan/default.nix @@ -2,13 +2,13 @@ python3Packages.buildPythonApplication rec { pname = "urlscan"; - version = "0.8.9"; + version = "0.9.2"; src = fetchFromGitHub { owner = "firecat53"; repo = pname; rev = version; - sha256 = "18wvfayib79lylv3g9ay3f85qanhrljvnfarwl9snfzklj4gkf2v"; + sha256 = "16cc1vvvhylrl9208d253k11rqzi95mg7hrf7xbd0bqxvd6rmxar"; }; propagatedBuildInputs = [ python3Packages.urwid ]; diff --git a/pkgs/applications/misc/valauncher/default.nix b/pkgs/applications/misc/valauncher/default.nix deleted file mode 100644 index 38c4055a10bb8af91428416624deeeb1928e936b..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/valauncher/default.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ stdenv, fetchFromGitHub, cmake, gtk3, vala, pkgconfig, gnome3, gobjectIntrospection }: - -stdenv.mkDerivation rec { - version = "1.3.1"; - name = "valauncher-${version}"; - - src = fetchFromGitHub { - owner = "Mic92"; - repo = "valauncher"; - rev = "v${version}"; - sha256 = "18969v870737jg1q0l3d05pb9mxsrcpdi0mnyz94rwkspszvxxqi"; - }; - - nativeBuildInputs = [ - cmake vala pkgconfig - # For setup hook - gobjectIntrospection - ]; - buildInputs = [ gtk3 gnome3.libgee ]; - - meta = with stdenv.lib; { - description = "A fast dmenu-like gtk3 application launcher"; - homepage = https://github.com/Mic92/valauncher; - license = licenses.mit; - maintainers = with maintainers; [ mic92 ]; - platforms = platforms.all; - }; -} diff --git a/pkgs/applications/misc/valentina/default.nix b/pkgs/applications/misc/valentina/default.nix index f5c0e1fe1a3c319af46dd7ddf91a51aa01ace300..6752b0182fead0610803aea0f8cc6c5af47e8dde 100644 --- a/pkgs/applications/misc/valentina/default.nix +++ b/pkgs/applications/misc/valentina/default.nix @@ -8,12 +8,12 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "valentina-${version}"; - version = "0.6.0.0a"; + version = "0.6.1"; src = fetchhg { url = "https://bitbucket.org/dismine/valentina"; - rev = "ccd68eba533a82aeb2dd3702124899a37c23ded5"; - sha256 = "1qmxm6pwwass2kpyg41nhkmyq0g74pyk517sq68dcgs6340ii7fs"; + rev = "v${version}"; + sha256 = "0dxk2av7xbsd233sr9wa1hamzb7pp8yx6p5b43rsnvnzchkqf423"; }; postPatch = '' @@ -52,7 +52,6 @@ stdenv.mkDerivation rec { mkdir -p $out/share/mime/packages cp dist/debian/valentina.sharedmimeinfo $out/share/mime/packages/valentina.xml - cp dist/debian/valentina.mime $out/share/mime/packages/valentina ''; enableParallelBuilding = true; diff --git a/pkgs/applications/misc/veracrypt/default.nix b/pkgs/applications/misc/veracrypt/default.nix index bc5b19e77370edf299e4e541964c29a1b306faae..8b64bcca667d48e9ae4a23bbfd00b24ca4955429 100644 --- a/pkgs/applications/misc/veracrypt/default.nix +++ b/pkgs/applications/misc/veracrypt/default.nix @@ -1,43 +1,38 @@ -{ fetchurl, stdenv, pkgconfig, yasm, fuse, wxGTK30, lvm2, makeself, - wxGUI ? true -}: +{ stdenv, fetchurl, pkgconfig, makeself, yasm, fuse, wxGTK, lvm2 }: with stdenv.lib; stdenv.mkDerivation rec { - name = "veracrypt-${version}"; - version = "1.22"; + pname = "veracrypt"; + name = "${pname}-${version}"; + version = "1.23"; src = fetchurl { - url = "https://launchpad.net/veracrypt/trunk/${version}/+download/VeraCrypt_${version}_Source.tar.bz2"; - sha256 = "0w5qyxnx03vn93ach1kb995w2mdg43s82gf1isbk206sxp00qk4y"; + url = "https://launchpad.net/${pname}/trunk/${version}/+download/VeraCrypt_${version}_Source.tar.bz2"; + sha256 = "009lqi43n2w272sxv7y7dz9sqx15qkx6lszkswr8mwmkpgkm0px1"; }; - unpackPhase = - '' - tar xjf $src - cd src - ''; - - nativeBuildInputs = [ makeself yasm pkgconfig ]; - buildInputs = [ fuse lvm2 ] - ++ optional wxGUI wxGTK30; - makeFlags = optionalString (!wxGUI) "NOGUI=1"; - - installPhase = - '' - mkdir -p $out/bin - cp Main/veracrypt $out/bin - mkdir -p $out/share/$name - cp License.txt $out/share/$name/LICENSE - mkdir -p $out/share/applications - sed "s,Exec=.*,Exec=$out/bin/veracrypt," Setup/Linux/veracrypt.desktop > $out/share/applications/veracrypt.desktop - ''; + sourceRoot = "src"; + + nativeBuildInputs = [ makeself pkgconfig yasm ]; + buildInputs = [ fuse lvm2 wxGTK ]; + + enableParallelBuilding = true; + + installPhase = '' + install -Dm 755 Main/${pname} "$out/bin/${pname}" + install -Dm 444 Resources/Icons/VeraCrypt-256x256.xpm "$out/share/pixmaps/${pname}.xpm" + install -Dm 444 License.txt -t "$out/share/doc/${pname}/" + install -d $out/share/applications + substitute Setup/Linux/${pname}.desktop $out/share/applications/${pname}.desktop \ + --replace "Exec=/usr/bin/veracrypt" "Exec=$out/bin/veracrypt" \ + --replace "Icon=veracrypt" "Icon=veracrypt.xpm" + ''; meta = { description = "Free Open-Source filesystem on-the-fly encryption"; homepage = https://www.veracrypt.fr/; - license = "VeraCrypt License"; + license = [ licenses.asl20 /* or */ "TrueCrypt License version 3.0" ]; maintainers = with maintainers; [ dsferruzza ]; platforms = platforms.linux; }; diff --git a/pkgs/applications/misc/vifm/default.nix b/pkgs/applications/misc/vifm/default.nix index ebc951c5bb93184accc28ce0005db669e1221293..b61864e026a602424a804196187d6d79fe4616aa 100644 --- a/pkgs/applications/misc/vifm/default.nix +++ b/pkgs/applications/misc/vifm/default.nix @@ -6,11 +6,11 @@ stdenv.mkDerivation rec { name = "vifm-${version}"; - version = "0.9.1"; + version = "0.10"; src = fetchurl { url = "https://github.com/vifm/vifm/releases/download/v${version}/vifm-${version}.tar.bz2"; - sha256 = "1cz7vjjmghgdxd1lvsdwv85gvx4kz8idq14qijpwkpfrf2va9f98"; + sha256 = "1f380xcyjnm4xmcdazs6dj064bwddhywvn3mgm36k7r7b2gnjnp0"; }; nativeBuildInputs = [ pkgconfig ]; @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "A vi-like file manager"; maintainers = with maintainers; [ raskin garbas ]; - platforms = platforms.linux; + platforms = platforms.unix; license = licenses.gpl2; downloadPage = "https://vifm.info/downloads.shtml"; homepage = https://vifm.info/; diff --git a/pkgs/applications/misc/visidata/default.nix b/pkgs/applications/misc/visidata/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..5ebc98b5712303a08475095a7a62156312deab0e --- /dev/null +++ b/pkgs/applications/misc/visidata/default.nix @@ -0,0 +1,29 @@ +{ buildPythonApplication, lib, fetchFromGitHub +, dateutil, pyyaml, openpyxl, xlrd, h5py, fonttools, lxml, pandas, pyshp +}: +buildPythonApplication rec { + name = "${pname}-${version}"; + pname = "visidata"; + version = "1.5.2"; + + src = fetchFromGitHub { + owner = "saulpw"; + repo = "visidata"; + rev = "v${version}"; + sha256 = "19gs8i6chrrwibz706gib5sixx1cjgfzh7v011kp3izcrn524mc0"; + }; + + propagatedBuildInputs = [dateutil pyyaml openpyxl xlrd h5py fonttools + lxml pandas pyshp ]; + + doCheck = false; + + meta = { + inherit version; + description = "Interactive terminal multitool for tabular data"; + license = lib.licenses.gpl3 ; + maintainers = [lib.maintainers.raskin]; + platforms = lib.platforms.linux; + homepage = "http://visidata.org/"; + }; +} diff --git a/pkgs/applications/misc/vit/default.nix b/pkgs/applications/misc/vit/default.nix index 40a399247e9050a12eea6ae1055c6374614500b4..3eb797f182e7d0346845c95f9d11629edb0c4926 100644 --- a/pkgs/applications/misc/vit/default.nix +++ b/pkgs/applications/misc/vit/default.nix @@ -1,36 +1,40 @@ -{ pkgs, fetchgit, stdenv, makeWrapper, taskwarrior, ncurses, -perl, perlPackages }: +{ stdenv, fetchFromGitHub +, makeWrapper, which +, taskwarrior, ncurses, perlPackages }: -let - version = "1.2"; -in -stdenv.mkDerivation { - name = "vit-${version}"; +stdenv.mkDerivation rec { + pname = "vit"; + version = "1.3"; - src = fetchgit { - url = "https://git.tasktools.org/scm/ex/vit.git"; - rev = "7d0042ca30e9d09cfbf9743b3bc72096e4a8fe1e"; - sha256 = "92cad7169b3870145dff02256e547ae270996a314b841d3daed392ac6722827f"; + src = fetchFromGitHub { + owner = "scottkosty"; + repo = pname; + rev = "v${version}"; + sha256 = "0a34rh5w8393wf7jwwr0f74rp1zv2vz606z5j8sr7w19k352ijip"; }; preConfigure = '' substituteInPlace Makefile.in \ --replace sudo "" substituteInPlace configure \ - --replace /usr/bin/perl ${perl}/bin/perl + --replace /usr/bin/perl ${perlPackages.perl}/bin/perl + substituteInPlace cmdline.pl \ + --replace "view " "vim -R " ''; postInstall = '' wrapProgram $out/bin/vit --prefix PERL5LIB : $PERL5LIB ''; - buildInputs = [ taskwarrior ncurses perlPackages.Curses perl makeWrapper ]; + nativeBuildInputs = [ makeWrapper which ]; + buildInputs = [ taskwarrior ncurses ] + ++ (with perlPackages; [ perl Curses TryTiny TextCharWidth ]); - meta = { + meta = with stdenv.lib; { description = "Visual Interactive Taskwarrior"; - maintainers = with pkgs.lib.maintainers; [ ]; - platforms = pkgs.lib.platforms.all; - license = pkgs.lib.licenses.gpl3; + maintainers = with maintainers; [ dtzWill ]; + platforms = platforms.all; + license = licenses.gpl3; }; } diff --git a/pkgs/applications/misc/vue/default.nix b/pkgs/applications/misc/vue/default.nix index a448d35485a7d11a446c71363eb9ea76bac84973..1feec9e45509823bceea90179e510837fd930cd2 100644 --- a/pkgs/applications/misc/vue/default.nix +++ b/pkgs/applications/misc/vue/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, jre }: +{ stdenv, fetchurl, jre, runtimeShell }: stdenv.mkDerivation rec { name = "vue-${version}"; @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p "$out"/{share/vue,bin} cp ${src} "$out/share/vue/vue.jar" - echo '#!${stdenv.shell}' >> "$out/bin/vue" + echo '#!${runtimeShell}' >> "$out/bin/vue" echo '${jre}/bin/java -jar "'"$out/share/vue/vue.jar"'" "$@"' >> "$out/bin/vue" chmod a+x "$out/bin/vue" ''; diff --git a/pkgs/applications/misc/waybar/default.nix b/pkgs/applications/misc/waybar/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..6c21f9e81e980519fe2f7041de832f3ba5e3ff35 --- /dev/null +++ b/pkgs/applications/misc/waybar/default.nix @@ -0,0 +1,46 @@ +{ stdenv, fetchFromGitHub, meson, pkgconfig, ninja +, wayland, wlroots, gtkmm3, libinput, libsigcxx, jsoncpp, fmt +, traySupport ? true, libdbusmenu-gtk3 +, pulseSupport ? false, libpulseaudio +, nlSupport ? true, libnl +, udevSupport ? true, udev +, swaySupport ? true, sway +}: + stdenv.mkDerivation rec { + name = "waybar-${version}"; + version = "0.5.1"; + + src = fetchFromGitHub { + owner = "Alexays"; + repo = "Waybar"; + rev = version; + sha256 = "1h3ifiklzcbrvqzzhs7rij8w45k96cir2d4kkyd2ap93akvcnsr9"; + }; + + nativeBuildInputs = [ + meson ninja pkgconfig + ]; + + buildInputs = with stdenv.lib; + [ wayland wlroots gtkmm3 libinput libsigcxx jsoncpp fmt ] + ++ optional traySupport libdbusmenu-gtk3 + ++ optional pulseSupport libpulseaudio + ++ optional nlSupport libnl + ++ optional udevSupport udev + ++ optional swaySupport sway; + + mesonFlags = [ + "-Ddbusmenu-gtk=${ if traySupport then "enabled" else "disabled" }" + "-Dpulseaudio=${ if pulseSupport then "enabled" else "disabled" }" + "-Dlibnl=${ if nlSupport then "enabled" else "disabled" }" + "-Dlibudev=${ if udevSupport then "enabled" else "disabled" }" + "-Dout=${placeholder "out"}" + ]; + + meta = with stdenv.lib; { + description = "Highly customizable Wayland bar for Sway and Wlroots based compositors"; + license = licenses.mit; + maintainers = with maintainers; [ FlorianFranzen minijackson ]; + platforms = platforms.unix; + }; + } diff --git a/pkgs/applications/misc/weather/default.nix b/pkgs/applications/misc/weather/default.nix index 544c1252ff411b31719ab68625d52c0535c72b1b..90fa016615430919ff03eab4f9c5ccfa918f7949 100644 --- a/pkgs/applications/misc/weather/default.nix +++ b/pkgs/applications/misc/weather/default.nix @@ -35,7 +35,7 @@ stdenv.mkDerivation rec { homepage = http://fungi.yuggoth.org/weather; description = "Quick access to current weather conditions and forecasts"; license = stdenv.lib.licenses.isc; - maintainers = with stdenv.lib.maintainers; [ ]; + maintainers = [ stdenv.lib.maintainers.matthiasbeyer ]; platforms = with stdenv.lib.platforms; linux; # my only platform }; } diff --git a/pkgs/applications/misc/wego/default.nix b/pkgs/applications/misc/wego/default.nix index b61566af6b2c1351e2b927485c1a2a8e96da43bf..a3d3ace009e1bab5930fa6175d8c433a616d3a24 100644 --- a/pkgs/applications/misc/wego/default.nix +++ b/pkgs/applications/misc/wego/default.nix @@ -2,16 +2,20 @@ buildGoPackage rec { name = "wego-${version}"; - version = "20160407-${stdenv.lib.strings.substring 0 7 rev}"; - rev = "81d72ffd761f032fbd73dba4f94bd94c8c2d53d5"; + version = "20170403-${stdenv.lib.strings.substring 0 7 rev}"; + rev = "415efdfab5d5ee68300bf261a0c6f630c6c2584c"; goPackagePath = "github.com/schachmat/wego"; src = fetchgit { inherit rev; url = "https://github.com/schachmat/wego"; - sha256 = "14p3hvv82bsxqnbnzz8hjv75i39kzg154a132n6cdxx3vgw76gck"; + sha256 = "0w8sypwg0s2mvhk9cdibqr8bz5ipiiacs60a39sdswrpc4z486hg"; }; goDeps = ./deps.nix; + + meta = { + license = stdenv.lib.licenses.isc; + }; } diff --git a/pkgs/applications/misc/wego/deps.nix b/pkgs/applications/misc/wego/deps.nix index 408b3908d8f411436d8f30e7ea0681669561f1b1..74ab69a30e146c54086353b9541d2e701eebcf9f 100644 --- a/pkgs/applications/misc/wego/deps.nix +++ b/pkgs/applications/misc/wego/deps.nix @@ -1,11 +1,20 @@ [ + { + goPackagePath = "github.com/mattn/go-isatty"; + fetch = { + type = "git"; + url = "https://github.com/mattn/go-isatty"; + rev = "v0.0.4"; + sha256 = "0zs92j2cqaw9j8qx1sdxpv3ap0rgbs0vrvi72m40mg8aa36gd39w"; + }; + } { goPackagePath = "github.com/mattn/go-runewidth"; fetch = { type = "git"; url = "https://github.com/mattn/go-runewidth"; - rev = "d6bea18f789704b5f83375793155289da36a3c7f"; - sha256 = "1hnigpn7rjbwd1ircxkyx9hvi0xmxr32b2jdy2jzw6b3jmcnz1fs"; + rev = "v0.0.4"; + sha256 = "00b3ssm7wiqln3k54z2wcnxr3k3c7m1ybyhb9h8ixzbzspld0qzs"; }; } { @@ -13,8 +22,8 @@ fetch = { type = "git"; url = "https://github.com/mattn/go-colorable"; - rev = "3dac7b4f76f6e17fb39b768b89e3783d16e237fe"; - sha256 = "08680mba8hh2rghymqbzd4m40r9k765w5kbzvrif9ngd6h85qnw6"; + rev = "v0.0.9"; + sha256 = "1nwjmsppsjicr7anq8na6md7b1z84l9ppnlr045hhxjvbkqwalvx"; }; } { @@ -22,8 +31,8 @@ fetch = { type = "git"; url = "https://github.com/schachmat/ingo"; - rev = "fab41e4e62cbef5d92998746ec25f7e195100f38"; - sha256 = "04yfnch7pdabjjqfl2qxjmsaknvp4m1rbjlv8qrpmnqwjkxzx0hb"; + rev = "a4bdc0729a3fda62cc4069b6e490fc657fd54e33"; + sha256 = "1gw0kddy7jh3467imsqni86cf9yq7k6vpfc0ywkbwj0zsjsdgd49"; }; } ] diff --git a/pkgs/applications/misc/welle-io/default.nix b/pkgs/applications/misc/welle-io/default.nix deleted file mode 100644 index 410346bce9adfb7e790e2981a5a85db3e4193392..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/welle-io/default.nix +++ /dev/null @@ -1,47 +0,0 @@ -{ stdenv, fetchFromGitHub, cmake, pkgconfig -, qtbase, qtcharts, qtmultimedia, qtquickcontrols, qtquickcontrols2 -, faad2, rtl-sdr, soapysdr-with-plugins, libusb, fftwSinglePrec }: -let - - version = "1.0-rc2"; - -in stdenv.mkDerivation { - - name = "welle-io-${version}"; - - src = fetchFromGitHub { - owner = "AlbrechtL"; - repo = "welle.io"; - rev = "V${version}"; - sha256 = "01x4ldq6lvmdrmxi857594nj9xpn2h7848vvf3f54sh1zrawn4k4"; - }; - - nativeBuildInputs = [ cmake pkgconfig ]; - - buildInputs = [ - faad2 - fftwSinglePrec - libusb - qtbase - qtcharts - qtmultimedia - qtquickcontrols - qtquickcontrols2 - rtl-sdr - soapysdr-with-plugins - ]; - - cmakeFlags = [ - "-DRTLSDR=true" "-DSOAPYSDR=true" - ]; - - enableParallelBuilding = true; - - meta = with stdenv.lib; { - description = "A DAB/DAB+ Software Radio"; - homepage = https://www.welle.io/; - maintainers = with maintainers; [ ck3d ]; - license = licenses.gpl2; - platforms = with platforms; [ "x86_64-linux" "i686-linux" ] ++ darwin; - }; -} diff --git a/pkgs/applications/misc/wordnet/default.nix b/pkgs/applications/misc/wordnet/default.nix index a2e3fa13fc6a5ebb29300c58786c5a1312e8c32b..5d153a0e417fd71c33996ed80c6b875076162135 100644 --- a/pkgs/applications/misc/wordnet/default.nix +++ b/pkgs/applications/misc/wordnet/default.nix @@ -42,7 +42,10 @@ stdenv.mkDerivation rec { ''; homepage = https://wordnet.princeton.edu/; - + license = { + fullName = "WordNet 3.0 license"; + url = https://wordnet.princeton.edu/license-and-commercial-use; + }; maintainers = [ ]; platforms = with stdenv.lib.platforms; linux ++ darwin; }; diff --git a/pkgs/applications/misc/worker/default.nix b/pkgs/applications/misc/worker/default.nix index bfb43d3e49d10832a651b58e04aad816cb8171d1..9657dd99e2117496e96be8b9b064d79a6f5628aa 100644 --- a/pkgs/applications/misc/worker/default.nix +++ b/pkgs/applications/misc/worker/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "worker-${version}"; - version = "3.15.1"; + version = "3.15.4"; src = fetchurl { url = "http://www.boomerangsworld.de/cms/worker/downloads/${name}.tar.gz"; - sha256 = "05h25dxqff4xhmrk7j9j11yxpqa4qm7m3xprv7yldryc1mbvnpwi"; + sha256 = "03zixi4yqcl05blyn09mlgk102yjbir8bp0yi4czd1sng0rhfc9x"; }; buildInputs = [ libX11 ]; diff --git a/pkgs/applications/misc/workrave/default.nix b/pkgs/applications/misc/workrave/default.nix index 6e92e98481ea0e2f9bb01dcbf71bf32324bbb7b3..1547d29621166e95b726736096ec1c73ecc0e887 100644 --- a/pkgs/applications/misc/workrave/default.nix +++ b/pkgs/applications/misc/workrave/default.nix @@ -1,17 +1,17 @@ { stdenv, fetchFromGitHub, wrapGAppsHook , autoconf, autoconf-archive, automake, gettext, intltool, libtool, pkgconfig , libICE, libSM, libXScrnSaver, libXtst, cheetah -, gobjectIntrospection, glib, glibmm, gtkmm3, atk, pango, pangomm, cairo +, gobject-introspection, glib, glibmm, gtkmm3, atk, pango, pangomm, cairo , cairomm , dbus, dbus-glib, gdome2, gstreamer, gst-plugins-base , gst-plugins-good, libsigcxx }: stdenv.mkDerivation rec { name = "workrave-${version}"; - version = "1.10.20"; + version = "1.10.31"; src = let in fetchFromGitHub { - sha256 = "099a87zkrkmsgfz9isrfm89dh545x52891jh6qxmn19h6wwsi941"; + sha256 = "0v2mx2idaxlsyv5w66b7pknlill9j9i2gqcs3vq54gak7ix9fj1p"; rev = with stdenv.lib; "v" + concatStringsSep "_" (splitString "." version); repo = "workrave"; @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { ]; buildInputs = [ libICE libSM libXScrnSaver libXtst cheetah - gobjectIntrospection glib glibmm gtkmm3 atk pango pangomm cairo cairomm + gobject-introspection glib glibmm gtkmm3 atk pango pangomm cairo cairomm dbus dbus-glib gdome2 gstreamer gst-plugins-base gst-plugins-good libsigcxx ]; diff --git a/pkgs/applications/misc/wsjtx/default.nix b/pkgs/applications/misc/wsjtx/default.nix deleted file mode 100644 index fd6be8f59201b60f982a0f71a3d65522f97f0721..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/wsjtx/default.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ stdenv, fetchurl, asciidoc, asciidoctor, autoconf, automake, cmake, - docbook_xsl, fftw, fftwFloat, gfortran, libtool, qtbase, - qtmultimedia, qtserialport, texinfo, libusb1 }: - -stdenv.mkDerivation rec { - name = "wsjtx-${version}"; - version = "1.9.1"; - - # This is a composite source tarball containing both wsjtx and a hamlib fork - src = fetchurl { - url = "http://physics.princeton.edu/pulsar/K1JT/wsjtx-${version}.tgz"; - sha256 = "143r17fri08mwz28g17wcfxy60h3xgfk46mln5lmdr9k6355aqqc"; - }; - - # Hamlib builds with autotools, wsjtx builds with cmake - # Omitting pkgconfig because it causes issues locating the built hamlib - nativeBuildInputs = [ - asciidoc asciidoctor autoconf automake cmake docbook_xsl gfortran libtool - texinfo - ]; - buildInputs = [ fftw fftwFloat libusb1 qtbase qtmultimedia qtserialport ]; - - # Composite build has its own patch step after it extracts the inner archives - postPatch = "cp ${./wsjtx.patch} wsjtx.patch"; - - meta = with stdenv.lib; { - description = "Weak-signal digital communication modes for amateur radio"; - longDescription = '' - WSJT-X implements communication protocols or "modes" called FT8, JT4, JT9, - JT65, QRA64, ISCAT, MSK144, and WSPR, as well as one called Echo for - detecting and measuring your own radio signals reflected from the Moon. - These modes were all designed for making reliable, confirmed ham radio - contacts under extreme weak-signal conditions. - ''; - homepage = http://physics.princeton.edu/pulsar/k1jt/wsjtx.html; - # Older licenses are for the statically-linked hamlib - license = with licenses; [ gpl3Plus gpl2Plus lgpl21Plus ]; - platforms = platforms.linux; - maintainers = [ maintainers.lasandell ]; - }; -} diff --git a/pkgs/applications/misc/wsjtx/wsjtx.patch b/pkgs/applications/misc/wsjtx/wsjtx.patch deleted file mode 100644 index a5bd7ec3e196095c02c834d59430767aa3c5d91b..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/wsjtx/wsjtx.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: wsjtx/CMakeLists.txt -=================================================================== ---- wsjtx/CMakeLists.txt (revision 8382) -+++ wsjtx/CMakeLists.txt (working copy) -@@ -866,6 +866,7 @@ - find_package (Qt5Widgets 5 REQUIRED) - find_package (Qt5Multimedia 5 REQUIRED) - find_package (Qt5PrintSupport 5 REQUIRED) -+find_package (Qt5SerialPort 5 REQUIRED) - - if (WIN32) - add_definitions (-DQT_NEEDS_QTMAIN) diff --git a/pkgs/applications/misc/wtf/default.nix b/pkgs/applications/misc/wtf/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..a01cef9227bf3c451b83f56d0dbf445cbcb7dd3b --- /dev/null +++ b/pkgs/applications/misc/wtf/default.nix @@ -0,0 +1,28 @@ +{ buildGoPackage +, fetchFromGitHub +, lib +}: + +buildGoPackage rec { + name = "wtf-${version}"; + version = "0.4.0"; + + goPackagePath = "github.com/senorprogrammer/wtf"; + + src = fetchFromGitHub { + owner = "senorprogrammer"; + repo = "wtf"; + rev = "${version}"; + sha256 = "1vgjqmw27baiq9brmnafic3w3hw11p5qc6ahbdxi5n5n4bx7j6vn"; + }; + + buildFlagsArray = [ "-ldflags=" "-X main.version=${version}" ]; + + meta = with lib; { + description = "The personal information dashboard for your terminal"; + homepage = http://wtfutil.com/; + license = licenses.mpl20; + maintainers = with maintainers; [ kalbasit ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/pkgs/applications/misc/xastir/default.nix b/pkgs/applications/misc/xastir/default.nix index c677f7371fcaf75e846b76fec46afe81be84bfef..969661ea7b4e9117408b7301b578035cdbf91f53 100644 --- a/pkgs/applications/misc/xastir/default.nix +++ b/pkgs/applications/misc/xastir/default.nix @@ -5,14 +5,14 @@ }: stdenv.mkDerivation rec { - name = "xastir-${version}"; - version = "208"; + pname = "xastir"; + version = "2.1.0"; src = fetchFromGitHub { - owner = "Xastir"; - repo = "Xastir"; - rev = "707f3aa8c7ca3e3fecd32d5a4af3f742437e5dce"; - sha256 = "1mm22vn3hws7dmg9wpaj4s0zkzb77i3aqa2ay3q6kqjkdhv25brl"; + owner = pname; + repo = pname; + rev = "Release-${version}"; + sha256 = "16zsgy3589snawr8f1fa22ymvpnjy6njvxmsck7q8p2xmmz2ry7r"; }; buildInputs = [ diff --git a/pkgs/applications/misc/xautoclick/default.nix b/pkgs/applications/misc/xautoclick/default.nix index bb18da4d4ada3897b520a079b97eb873f326dc4b..bf3d9b737a9ebdc7210400125c427bd7a9cba94b 100644 --- a/pkgs/applications/misc/xautoclick/default.nix +++ b/pkgs/applications/misc/xautoclick/default.nix @@ -21,9 +21,13 @@ stdenv.mkDerivation rec { mkdir .bin ln -s ${qt4}/bin/moc .bin/moc-qt4 addToSearchPath PATH .bin + sed -i -e "s@LD=\$_cc@LD=\$_cxx@" configure ''; - meta = { - platforms = stdenv.lib.platforms.linux; + meta = with stdenv.lib; { + description = "Autoclicker application, which enables you to automatically click the left mousebutton"; + homepage = http://xautoclick.sourceforge.net; + license = licenses.gpl2; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/misc/xca/default.nix b/pkgs/applications/misc/xca/default.nix index ee4300cde0f51759b97d2e2b657900c31f8cb0fa..280b30128727d13bb0826ed15cda0b0a704d73fb 100644 --- a/pkgs/applications/misc/xca/default.nix +++ b/pkgs/applications/misc/xca/default.nix @@ -1,15 +1,15 @@ -{ mkDerivation, lib, fetchFromGitHub, autoreconfHook, perl, pkgconfig, which +{ mkDerivation, lib, fetchFromGitHub, autoreconfHook, perl, pkgconfig , libtool, openssl, qtbase, qttools }: mkDerivation rec { name = "xca-${version}"; - version = "2.1.0"; + version = "2.1.2"; src = fetchFromGitHub { owner = "chris2511"; repo = "xca"; rev = "RELEASE.${version}"; - sha256 = "039qz6hh43hx8dcw2bq71mgy95zk09jyd3xxpldmxxd5d69zcr8m"; + sha256 = "0slfqmz0b01lwmrv4h78hmrsdrhcyc7sjzsxcw05ylgmhvdq3dw9"; }; postPatch = '' @@ -17,15 +17,15 @@ mkDerivation rec { --replace /usr/bin/perl ${perl}/bin/perl ''; - buildInputs = [ libtool openssl qtbase qttools ]; + buildInputs = [ libtool openssl qtbase ]; - nativeBuildInputs = [ autoreconfHook pkgconfig which ]; + nativeBuildInputs = [ autoreconfHook pkgconfig qttools ]; enableParallelBuilding = true; meta = with lib; { - description = "Interface for managing asymetric keys like RSA or DSA"; - homepage = http://xca.sourceforge.net/; + description = "An x509 certificate generation tool, handling RSA, DSA and EC keys, certificate signing requests (PKCS#10) and CRLs"; + homepage = https://hohnstaedt.de/xca/; license = licenses.bsd3; maintainers = with maintainers; [ offline peterhoeg ]; platforms = platforms.all; diff --git a/pkgs/applications/misc/xchm/default.nix b/pkgs/applications/misc/xchm/default.nix index 74c9c807b81e4ad1c3da9ee2e28393b862d52d16..a7a6500fd22afea7afdfe74630db53eb0f52cd27 100644 --- a/pkgs/applications/misc/xchm/default.nix +++ b/pkgs/applications/misc/xchm/default.nix @@ -13,9 +13,10 @@ stdenv.mkDerivation { echo $NIX_LDFLAGS ''; - meta = { + meta = with stdenv.lib; { description = "A viewer for Microsoft HTML Help files"; homepage = http://xchm.sourceforge.net; - platforms = stdenv.lib.platforms.linux; + license = licenses.gpl2; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/misc/xcruiser/default.nix b/pkgs/applications/misc/xcruiser/default.nix index 3a25147971a9c36e5859719031f71e286d4a2bc5..945072ce026e4c1ccc0efc4bed4f53daeb9353b5 100644 --- a/pkgs/applications/misc/xcruiser/default.nix +++ b/pkgs/applications/misc/xcruiser/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, gccmakedep, xorg }: +{ stdenv, fetchurl, gccmakedep, xorg, imake, libXt, libXaw, libXpm, libXext }: stdenv.mkDerivation { name = "xcruiser-0.30"; @@ -8,13 +8,13 @@ stdenv.mkDerivation { sha256 = "1r8whva38xizqdh7jmn6wcmfmsndc67pkw22wzfzr6rq0vf6hywi"; }; - buildInputs = with xorg; [ gccmakedep imake libXt libXaw libXpm libXext ]; + nativeBuildInputs = [ gccmakedep imake ]; + buildInputs = [ libXt libXaw libXpm libXext ]; - configurePhase = "xmkmf -a"; - - preBuild = '' - makeFlagsArray=( BINDIR=$out/bin XAPPLOADDIR=$out/etc/X11/app-defaults) - ''; + makeFlags = [ + "BINDIR=$(out)/bin" + "XAPPLOADDIR=$(out)/etc/X11/app-defaults" + ]; meta = with stdenv.lib; { description = "Filesystem visualization utility"; diff --git a/pkgs/applications/misc/xdgmenumaker/default.nix b/pkgs/applications/misc/xdgmenumaker/default.nix index 01782d18b12bb59fa08e9179ec930c91ea400def..ed7f2b27c381cea924d97e2b27fbcf189d8ecc84 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 = "1.4"; + version = "1.5"; src = fetchFromGitHub { owner = "gapan"; repo = "xdgmenumaker"; rev = version; - sha256 = "0i909dk9chdsc7njp5llgm5xlag4lr0nkxkwl1g5lf8cvdjrawh2"; + sha256 = "1vrsp5c1ah7p4dpwd6aqvinpwzd8crdimvyyr3lbm3c6cwpyjmif"; }; nativeBuildInputs = [ diff --git a/pkgs/applications/misc/xiphos/default.nix b/pkgs/applications/misc/xiphos/default.nix index bb7b22c40a26b13cd76f49cedb6fb13f423675e2..88ab52313b067cd664334b31695fb32194996eec 100644 --- a/pkgs/applications/misc/xiphos/default.nix +++ b/pkgs/applications/misc/xiphos/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchFromGitHub, pkgconfig +{ stdenv, fetchFromGitHub, pkgconfig , python , intltool , docbook2x, docbook_xml_dtd_412, libxslt @@ -9,6 +9,7 @@ , webkitgtk , dbus-glib, enchant, isocodes, libuuid, icu , wrapGAppsHook +, wafHook }: stdenv.mkDerivation rec { @@ -22,7 +23,7 @@ stdenv.mkDerivation rec { sha256 = "1vwf1ps6nrajxl1qbs6v1cgykmq5wn4j09j10gbcd3b2nvrprf3g"; }; - nativeBuildInputs = [ pkgconfig wrapGAppsHook ]; + nativeBuildInputs = [ pkgconfig wrapGAppsHook wafHook ]; buildInputs = [ python intltool docbook2x docbook_xml_dtd_412 libxslt sword clucene_core biblesync gnome-doc-utils libgsf gconf gtkhtml libglade scrollkeeper webkitgtk dbus-glib enchant isocodes libuuid icu ]; @@ -36,17 +37,7 @@ stdenv.mkDerivation rec { export SWORD_HOME=${sword}; ''; - configurePhase = '' - python waf configure --prefix=$out --enable-webkit2 - ''; - - buildPhase = '' - python waf build - ''; - - installPhase = '' - python waf install - ''; + wafConfigureFlags = [ "--enable-webkit2" ]; meta = with stdenv.lib; { description = "A GTK Bible study tool"; diff --git a/pkgs/applications/misc/xkbd/default.nix b/pkgs/applications/misc/xkbd/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..3023e830dc79190171789113ad35150e96b062b9 --- /dev/null +++ b/pkgs/applications/misc/xkbd/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchFromGitHub, freetype, libXrender, libXft, xorgproto +, xinput, libXi, libXext, libXtst, libXpm, libX11, autoreconfHook +}: + +stdenv.mkDerivation rec { + name = "xkbd-${version}"; + version = "0.8.18"; + + src = fetchFromGitHub { + owner = "mahatma-kaganovich"; + repo = "xkbd"; + rev = name; + sha256 = "05ry6q75jq545kf6p20nhfywaqf2wdkfiyp6iwdpv9jh238hf7m9"; + }; + + buildInputs = [ + freetype libXrender libXft libXext libXtst libXpm libX11 + libXi xorgproto xinput + ]; + + nativeBuildInputs = [ autoreconfHook ]; + + meta = with stdenv.lib; { + homepage = https://github.com/mahatma-kaganovich/xkbd; + description = "onscreen soft keyboard for X11"; + license = licenses.gpl2Plus; + maintainers = [ maintainers.genesis ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/misc/xkbmon/default.nix b/pkgs/applications/misc/xkbmon/default.nix index 38bda9a8f560e32d53d2686dcdb82fd56d44a97e..4fa1c833df53a21c1beaf9fe93e8bff3bd24caa9 100644 --- a/pkgs/applications/misc/xkbmon/default.nix +++ b/pkgs/applications/misc/xkbmon/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "xkbmon-${version}"; - version = "0.1"; + version = "0.3"; src = fetchFromGitHub { owner = "xkbmon"; repo = "xkbmon"; rev = version; - sha256 = "1smyqsd9cpbzqaplm221a8mq0nham6rg6hjsm9g5gph94xmk6d67"; + sha256 = "03v8f6fijgwagjphyj8w7lgh5hlc8jk0j2n45n7fm0xwy82cxxx9"; }; buildInputs = [ libX11 ]; @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { homepage = https://github.com/xkbmon/xkbmon; description = "Command-line keyboard layout monitor for X11"; - license = licenses.gpl3; + license = licenses.mit; platforms = platforms.linux; maintainers = [ maintainers.romildo ]; }; diff --git a/pkgs/applications/misc/xlog/default.nix b/pkgs/applications/misc/xlog/default.nix deleted file mode 100644 index 3ba7062b7bb1a98f33bdf7af8426516570792498..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/xlog/default.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ stdenv, fetchurl, glib, gtk2, pkgconfig, hamlib }: -stdenv.mkDerivation rec { - name = "xlog-${version}"; - version = "2.0.15"; - - src = fetchurl { - url = "http://download.savannah.gnu.org/releases/xlog/${name}.tar.gz"; - sha256 = "0an883wqw3zwpw8nqinm9cb17hp2xw9vf603k4l2345p61jqdw2j"; - }; - - buildInputs = [ glib pkgconfig gtk2 hamlib ]; - - meta = with stdenv.lib; { - description = "An amateur radio logging program"; - longDescription = - '' Xlog is an amateur radio logging program. - It supports cabrillo, ADIF, trlog (format also used by tlf), - and EDI (ARRL VHF/UHF contest format) and can import twlog, editest and OH1AA logbook files. - Xlog is able to do DXCC lookups and will display country information, CQ and ITU zone, - location in latitude and longitude and distance and heading in kilometers or miles, - both for short and long path. - ''; - homepage = http://www.nongnu.org/xlog; - maintainers = [ maintainers.mafo ]; - license = licenses.gpl3; - platforms = platforms.unix; - }; - -} diff --git a/pkgs/applications/misc/xmind/default.nix b/pkgs/applications/misc/xmind/default.nix index a578c53f0e7c1373b55f3c9b6fba8d13343346d7..a12f3dc304ba4c64ef28f7736c4a4944200845e4 100644 --- a/pkgs/applications/misc/xmind/default.nix +++ b/pkgs/applications/misc/xmind/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { name = "xmind-${version}"; version = "7.5-update1"; - src = if stdenv.system == "i686-linux" then fetchurl { + src = if stdenv.hostPlatform.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 { + } else if stdenv.hostPlatform.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!"; + } else throw "platform ${stdenv.hostPlatform.system} not supported!"; nativeBuildInputs = [ dpkg makeWrapper ]; diff --git a/pkgs/applications/misc/xmove/default.nix b/pkgs/applications/misc/xmove/default.nix deleted file mode 100644 index e461a2c8816a485c505684cc524ef0d0911fa68c..0000000000000000000000000000000000000000 --- a/pkgs/applications/misc/xmove/default.nix +++ /dev/null @@ -1,19 +0,0 @@ -{stdenv, fetchurl, libX11, libXi, imake, xauth, libXau}: -stdenv.mkDerivation { - name = "xmove-2.0b2"; - - src = fetchurl { - url = mirror://debian/pool/main/x/xmove/xmove_2.0beta2.orig.tar.gz; - sha256 = "0q310k3bi39vdk0kqqvsahnb1k6lx9hlx80iyxnkq59l6jxnhyhf"; - }; - - buildPhase = "cd xmove; sed -e 's/.*No address for our host.*/{hp = gethostbyname(\"localhost\");};/' -i main.c; cp ../man/man1/xmove.1 xmove.man ; xmkmf; make; cd .. ; cd xmovectrl ; cp ../man/man1/xmovectrl.1 xmovectrl.man; xmkmf; make ; cd .."; - installPhase = "cd xmove; make install install.man MANDIR=\${out}/man/man1 BINDIR=\${out}/bin; cd .. ; cd xmovectrl ; make install install.man MANDIR=\${out}/man/man1 BINDIR=\${out}/bin; cd .."; - - buildInputs = [libX11 libXi imake xauth libXau]; - - meta = { - platforms = stdenv.lib.platforms.linux; - license = stdenv.lib.licenses.mit; - }; -} diff --git a/pkgs/applications/misc/xmr-stak/default.nix b/pkgs/applications/misc/xmr-stak/default.nix index b98d10efdee10c1dedd0b7feccf060b681ea3241..8b6ea4c86c523fa7841d148d76010f579431a007 100644 --- a/pkgs/applications/misc/xmr-stak/default.nix +++ b/pkgs/applications/misc/xmr-stak/default.nix @@ -12,13 +12,13 @@ in stdenv'.mkDerivation rec { name = "xmr-stak-${version}"; - version = "2.4.7"; + version = "2.10.4"; src = fetchFromGitHub { owner = "fireice-uk"; repo = "xmr-stak"; rev = "${version}"; - sha256 = "072gapchmd05ir5ygrvbgdhpjhm7pdjyl61n1ykxzvnvi81z6817"; + sha256 = "0f3cs0jw0yn8lbcm43m34dnvvgr4qpb8wa176vh4whk7bbjkw7lz"; }; NIX_CFLAGS_COMPILE = "-O3"; @@ -40,6 +40,6 @@ stdenv'.mkDerivation rec { description = "Unified All-in-one Monero miner"; homepage = "https://github.com/fireice-uk/xmr-stak"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ fpletz ]; + maintainers = with maintainers; [ fpletz bfortz ]; }; } diff --git a/pkgs/applications/misc/xmrig/default.nix b/pkgs/applications/misc/xmrig/default.nix index f61cbf397597ea6abd22594b70a9d2960284cafb..ff0555eb965759170bbc5c9cb31f5bdae96d7d00 100644 --- a/pkgs/applications/misc/xmrig/default.nix +++ b/pkgs/applications/misc/xmrig/default.nix @@ -1,23 +1,25 @@ -{ stdenv, lib, fetchFromGitHub, cmake, libuv, libmicrohttpd +{ stdenv, lib, fetchFromGitHub, cmake, libuv, libmicrohttpd, openssl , donateLevel ? 0 }: stdenv.mkDerivation rec { name = "xmrig-${version}"; - version = "2.6.4"; + version = "2.14.1"; src = fetchFromGitHub { owner = "xmrig"; repo = "xmrig"; rev = "v${version}"; - sha256 = "1c68qg7433chri6q1yhyggy4mbq2vnn3p2fxs8gqmgij9vpqn3m2"; + sha256 = "0pc3ssmnn36xs3jgznx36q4z3qh06fkbz8md3p3rk6rpvly929pn"; }; nativeBuildInputs = [ cmake ]; - buildInputs = [ libuv libmicrohttpd ]; + buildInputs = [ libuv libmicrohttpd openssl ]; postPatch = '' - substituteInPlace src/donate.h --replace "kDonateLevel = 5;" "kDonateLevel = ${toString donateLevel};" + substituteInPlace src/donate.h \ + --replace "kDefaultDonateLevel = 5;" "kDefaultDonateLevel = ${toString donateLevel};" \ + --replace "kMinimumDonateLevel = 1;" "kMinimumDonateLevel = ${toString donateLevel};" ''; installPhase = '' diff --git a/pkgs/applications/misc/xmrig/proxy.nix b/pkgs/applications/misc/xmrig/proxy.nix index c013a9cc44ec516a45022127aad55dd079b10ea9..2e7c3f5c14dd5599a97dcaec363ddfc0aab371d1 100644 --- a/pkgs/applications/misc/xmrig/proxy.nix +++ b/pkgs/applications/misc/xmrig/proxy.nix @@ -1,24 +1,28 @@ -{ stdenv, lib, fetchFromGitHub, cmake, libuv, libmicrohttpd, libuuid +{ stdenv, lib, fetchFromGitHub, cmake, libuv, libmicrohttpd, libuuid, openssl , donateLevel ? 0 }: stdenv.mkDerivation rec { name = "xmrig-proxy-${version}"; - version = "2.6.4"; + version = "2.14.1"; src = fetchFromGitHub { owner = "xmrig"; repo = "xmrig-proxy"; rev = "v${version}"; - sha256 = "0h6ihrrkgwi8k642iqq13qx3zlxl9r8q7wm417hb7j35rnmwn8lq"; + sha256 = "1sw00qz4yg8cwmm3s64bqr3lki6bxmlsi4ankyy2l4dx1vs9kf6r"; }; nativeBuildInputs = [ cmake ]; - buildInputs = [ libuv libmicrohttpd libuuid ]; + buildInputs = [ libuv libmicrohttpd libuuid openssl ]; - # Set default donation level to 0%. Can be increased at runtime via --donate-level option. postPatch = '' - substituteInPlace src/donate.h --replace "kDonateLevel = 2;" "kDonateLevel = ${toString donateLevel};" + # Set default donation level to 0%. Can be increased at runtime via --donate-level option. + substituteInPlace src/donate.h \ + --replace "kDefaultDonateLevel = 2;" "kDefaultDonateLevel = ${toString donateLevel};" + + # Link dynamically against libuuid instead of statically + substituteInPlace CMakeLists.txt --replace uuid.a uuid ''; installPhase = '' diff --git a/pkgs/applications/misc/xpad/default.nix b/pkgs/applications/misc/xpad/default.nix index 01df5d32ab1a8096e72af5666acad958a2805871..5db4a2508399b7a490eaab219031c04fcb7dc7d1 100644 --- a/pkgs/applications/misc/xpad/default.nix +++ b/pkgs/applications/misc/xpad/default.nix @@ -1,23 +1,19 @@ { stdenv, fetchurl , autoreconfHook, pkgconfig, wrapGAppsHook -, glib, intltool, gtk3, gtksourceview }: +, glib, intltool, gtk3, gtksourceview, hicolor-icon-theme }: stdenv.mkDerivation rec { name = "xpad-${version}"; - version = "5.0.0"; + version = "5.4.0"; src = fetchurl { url = "https://launchpad.net/xpad/trunk/${version}/+download/xpad-${version}.tar.bz2"; - sha256 = "02yikxg6z9bwla09ka001ppjlpbv5kbza3za9asazm5aiz376mkb"; + sha256 = "1qpmlwn0bcw1q73ag0l0fdnlzmwawfvsy4g9y5b0vyrc58lcp5d3"; }; nativeBuildInputs = [ autoreconfHook pkgconfig wrapGAppsHook ]; - buildInputs = [ glib intltool gtk3 gtksourceview ]; - - autoreconfPhase = '' - ./autogen.sh - ''; + buildInputs = [ glib intltool gtk3 gtksourceview hicolor-icon-theme ]; meta = with stdenv.lib; { description = "A sticky note application for jotting down things to remember"; diff --git a/pkgs/applications/misc/xpdf/default.nix b/pkgs/applications/misc/xpdf/default.nix index 3cb416a5f7cb7bfb418cf6db96040c0fd51524a1..eb76448391e3f4981fccc72510e29a25612a3cc7 100644 --- a/pkgs/applications/misc/xpdf/default.nix +++ b/pkgs/applications/misc/xpdf/default.nix @@ -41,11 +41,23 @@ stdenv.mkDerivation { --set QT_PLUGIN_PATH ${qtbase.bin}/${qtbase.qtPluginPrefix}:${qtsvg.bin}/${qtbase.qtPluginPrefix} ''; - meta = { - homepage = http://www.foolabs.com/xpdf/; + meta = with stdenv.lib; { + homepage = https://www.xpdfreader.com; description = "Viewer for Portable Document Format (PDF) files"; - - platforms = stdenv.lib.platforms.unix; - maintainers = [ stdenv.lib.maintainers.peti ]; + longDescription = '' + XPDF includes multiple tools for viewing and processing PDF files. + xpdf: PDF viewer (with Graphical Interface) + pdftotext: converts PDF to text + pdftops: converts PDF to PostScript + pdftoppm: converts PDF pages to netpbm (PPM/PGM/PBM) image files + pdftopng: converts PDF pages to PNG image files + pdftohtml: converts PDF to HTML + pdfinfo: extracts PDF metadata + pdfimages: extracts raw images from PDF files + pdffonts: lists fonts used in PDF files + pdfdetach: extracts attached files from PDF files + ''; + license = with licenses; [ gpl2 gpl3 ]; + platforms = platforms.unix; }; } diff --git a/pkgs/applications/misc/xsuspender/default.nix b/pkgs/applications/misc/xsuspender/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..ef9ce33936199c3dc574d4940b70af96444a8d07 --- /dev/null +++ b/pkgs/applications/misc/xsuspender/default.nix @@ -0,0 +1,36 @@ +{ lib, stdenv, fetchFromGitHub, cmake, makeWrapper, pkgconfig +, glib, libwnck3, procps }: + +with lib; + +stdenv.mkDerivation rec { + name = "xsuspender-${version}"; + version = "1.1"; + + src = fetchFromGitHub { + owner = "kernc"; + repo = "xsuspender"; + rev = version; + sha256 = "03lbga68dxg89d227sdwk1f5xj4r1pmj0qh2kasi2cqh8ll7qv4b"; + }; + + outputs = [ "out" "man" "doc" ]; + + nativeBuildInputs = [ cmake pkgconfig makeWrapper ]; + buildInputs = [ glib libwnck3 ]; + + enableParallelBuilding = true; + + postInstall = '' + wrapProgram $out/bin/xsuspender \ + --prefix PATH : "${makeBinPath [ procps ]}" + ''; + + meta = { + description = "Auto-suspend inactive X11 applications."; + homepage = "https://kernc.github.io/xsuspender/"; + license = licenses.wtfpl; + maintainers = with maintainers; [ offline ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/misc/xteddy/default.nix b/pkgs/applications/misc/xteddy/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..6f67ed96c57fa05e8211dad812dbe2de9431a449 --- /dev/null +++ b/pkgs/applications/misc/xteddy/default.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchzip, pkg-config, xorg, imlib2, makeWrapper }: + +stdenv.mkDerivation rec { + name = "xteddy-${version}"; + version = "2.2"; + src = fetchzip { + url = "https://deb.debian.org/debian/pool/main/x/xteddy/xteddy_${version}.orig.tar.gz"; + sha256 = "0sap4fqvs0888ymf5ga10p3n7n5kr35j38kfsfd7nj0xm4hmcma3"; + }; + nativeBuildInputs = [ pkg-config makeWrapper ]; + buildInputs = [ imlib2 xorg.libX11 xorg.libXext ]; + + makeFlags = [ "LIBS=-lXext" ]; + + postPatch = '' + sed -i 's/man 1 xteddy/man 6 xteddy/' xteddy.c + sed -i "s:/usr/games/xteddy:$out/bin/xteddy:" xtoys + sed -i "s:/usr/share/xteddy:$out/share/xteddy:" xtoys + ''; + + postInstall = '' + cp -R images $out/share/images + # remove broken test script + rm $out/bin/xteddy_test + ''; + + postFixup = '' + # this is needed, because xteddy expects images to reside + # in the current working directory + wrapProgram $out/bin/xteddy --run "cd $out/share/images/" + ''; + + meta = with stdenv.lib; { + description = "Cuddly teddy bear for your X desktop"; + homepage = https://weber.itn.liu.se/~stegu/xteddy/; + license = licenses.gpl2; + maintainers = [ maintainers.xaverdh ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/misc/xterm/default.nix b/pkgs/applications/misc/xterm/default.nix index 292e4e5ba38b21f1efcb487c39d981a99d3fb573..c306e8e6d92b3879ac6810ff4a22d11ee0138621 100644 --- a/pkgs/applications/misc/xterm/default.nix +++ b/pkgs/applications/misc/xterm/default.nix @@ -3,18 +3,18 @@ }: stdenv.mkDerivation rec { - name = "xterm-335"; + name = "xterm-344"; src = fetchurl { urls = [ "ftp://ftp.invisible-island.net/xterm/${name}.tgz" "https://invisible-mirror.net/archives/xterm/${name}.tgz" ]; - sha256 = "15nbgys4s2idhx6jzzc24g9bb1s6yps5fyg2bafvs0gkkcm1ggz0"; + sha256 = "1xfdmib8n6gw5s90vbvdhm630k8i2dbprknp4as4mqls27vbiknc"; }; buildInputs = - [ xorg.libXaw xorg.xproto xorg.libXt xorg.libXext xorg.libX11 xorg.libSM xorg.libICE + [ xorg.libXaw xorg.xorgproto xorg.libXt xorg.libXext xorg.libX11 xorg.libSM xorg.libICE ncurses freetype fontconfig pkgconfig xorg.libXft xorg.luit makeWrapper ]; @@ -63,7 +63,7 @@ stdenv.mkDerivation rec { ''; meta = { - homepage = http://invisible-island.net/xterm; + homepage = https://invisible-island.net/xterm; license = with stdenv.lib.licenses; [ mit ]; maintainers = with stdenv.lib.maintainers; [vrthra]; platforms = with stdenv.lib.platforms; linux ++ darwin; diff --git a/pkgs/applications/misc/xtermcontrol/default.nix b/pkgs/applications/misc/xtermcontrol/default.nix index 8df29cef5392805f65cf914d0813e8dbf1727bd1..21f95c65fa56687e9cd4877b5b6723dc776eb10a 100644 --- a/pkgs/applications/misc/xtermcontrol/default.nix +++ b/pkgs/applications/misc/xtermcontrol/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - version = "3.4"; + version = "3.7"; name = "xtermcontrol-${version}"; src = fetchurl { url = "https://thrysoee.dk/xtermcontrol/xtermcontrol-${version}.tar.gz"; - sha256 = "1g81v9gfn08gjn1269j0qx12x36s9j6x39gl91ycay391flgzr5l"; + sha256 = "04m12ddaps5sdbqvkwkp6lh81i8vh5ya5gzcxkrkilsga3m6qff2"; }; meta = { diff --git a/pkgs/applications/misc/xxkb/default.nix b/pkgs/applications/misc/xxkb/default.nix index 90e2723a9067ee6caa388dc6c1655145cb391d42..56638d126c19c3c4bf1e0f68569d8783f785befd 100644 --- a/pkgs/applications/misc/xxkb/default.nix +++ b/pkgs/applications/misc/xxkb/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchurl, libX11, libXt, libXext, libXpm, imake -, svgSupport ? true, librsvg, glib, gdk_pixbuf, pkgconfig +{ stdenv, fetchurl, libX11, libXt, libXext, libXpm, imake, gccmakedep +, svgSupport ? false, librsvg, glib, gdk_pixbuf, pkgconfig }: assert svgSupport -> @@ -13,20 +13,21 @@ stdenv.mkDerivation rec { sha256 = "0hl1i38z9xnbgfjkaz04vv1n8xbgfg88g5z8fyzyb2hxv2z37anf"; }; + nativeBuildInputs = [ imake gccmakedep ]; buildInputs = [ - imake libX11 libXt libXext libXpm ] ++ stdenv.lib.optionals svgSupport [ librsvg glib gdk_pixbuf pkgconfig ]; outputs = [ "out" "man" ]; - configurePhase = '' - xmkmf ${stdenv.lib.optionalString svgSupport "-DWITH_SVG_SUPPORT"} - ''; + imakeFlags = stdenv.lib.optionalString svgSupport "-DWITH_SVG_SUPPORT"; - preBuild = '' - makeFlagsArray=( BINDIR=$out/bin PIXMAPDIR=$out/share/xxkb XAPPLOADDIR=$out/etc/X11/app-defaults MANDIR=$man/share/man ) - ''; + makeFlags = [ + "BINDIR=${placeholder "out"}/bin" + "PIXMAPDIR=${placeholder "out"}/share/xxkb" + "XAPPLOADDIR=${placeholder "out"}/etc/X11/app-defaults" + "MANDIR=${placeholder "man"}/share/man" + ]; installTargets = "install install.man"; diff --git a/pkgs/applications/misc/yaft/default.nix b/pkgs/applications/misc/yaft/default.nix index 0794b2b6dbe93b59d5d4a702783ec3a3eaca4c73..d273d27944a85324dcbbca8c24f76965707f6a4a 100644 --- a/pkgs/applications/misc/yaft/default.nix +++ b/pkgs/applications/misc/yaft/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { homepage = https://github.com/uobikiemukot/yaft; description = "Yet another framebuffer terminal"; license = stdenv.lib.licenses.mit; - maintainers = with stdenv.lib.maintainers; [ ]; + maintainers = [ stdenv.lib.maintainers.matthiasbeyer ]; platforms = with stdenv.lib.platforms; linux; }; } diff --git a/pkgs/applications/misc/yarssr/default.nix b/pkgs/applications/misc/yarssr/default.nix index a8ff981400a9e5658b39262e99be793c463f22ef..a47fb93512db7c1154b5aee95f119223d7a9d39b 100644 --- a/pkgs/applications/misc/yarssr/default.nix +++ b/pkgs/applications/misc/yarssr/default.nix @@ -1,8 +1,4 @@ -{ -fetchFromGitHub, stdenv, lib, -makeWrapper, pkgs, -perl, perlPackages, -gnome2 }: +{ fetchFromGitHub, stdenv, lib, gettext, gtk2, makeWrapper, perlPackages, gnome2 }: let perlDeps = with perlPackages; [ @@ -24,7 +20,7 @@ let ]; libs = [ stdenv.cc.cc.lib - pkgs.gtk2 + gtk2 ]; in stdenv.mkDerivation rec { @@ -38,7 +34,7 @@ stdenv.mkDerivation rec { sha256 = "0x7hz8x8qyp3i1vb22zhcnvwxm3jhmmmlr22jqc5b09vpmbw1l45"; }; - nativeBuildInputs = [ perl pkgs.gettext makeWrapper ]; + nativeBuildInputs = [ perlPackages.perl gettext makeWrapper ]; buildInputs = perlDeps ++ [gnome2.libglade]; propagatedBuildInputs = libs ++ perlDeps; @@ -55,7 +51,7 @@ stdenv.mkDerivation rec { postFixup = '' wrapProgram $out/bin/yarssr \ --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath libs} \ - --set PERL5LIB "${lib.makePerlPath perlDeps}" + --set PERL5LIB "${perlPackages.makePerlPath perlDeps}" ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/misc/yokadi/default.nix b/pkgs/applications/misc/yokadi/default.nix index dec861009eb4ea3965622aa030e66c823ecd8fdf..6b3a4f747f47db5f45b5644316cb5f2e7ec3d6f7 100644 --- a/pkgs/applications/misc/yokadi/default.nix +++ b/pkgs/applications/misc/yokadi/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, buildPythonApplication, dateutil, - sqlalchemy, setproctitle, icalendar, pycrypto }: + sqlalchemy, setproctitle, icalendar }: buildPythonApplication rec { pname = "yokadi"; - version = "1.1.1"; + version = "1.2.0"; src = fetchurl { - url = "https://yokadi.github.io/download/${pname}-${version}.tar.bz2"; - sha256 = "af201da66fd3a8435b2ccd932082ab9ff13f5f2e3d6cd3624f1ab81c577aaf17"; + url = "https://yokadi.github.io/download/${pname}-${version}.tar.gz"; + sha256 = "681c8aa52b2e4b5255e1311e76b4b81dcb63ee7f6ca3a47178e684c06baf330f"; }; propagatedBuildInputs = [ @@ -15,7 +15,6 @@ buildPythonApplication rec { sqlalchemy setproctitle icalendar - pycrypto ]; # Yokadi doesn't have any tests diff --git a/pkgs/applications/misc/yubioath-desktop/default.nix b/pkgs/applications/misc/yubioath-desktop/default.nix index 8843c821ffb41906ccae67ae2fdffd5bdd219318..edafb0034800201e3711d95d6e21a4bb07599ed3 100644 --- a/pkgs/applications/misc/yubioath-desktop/default.nix +++ b/pkgs/applications/misc/yubioath-desktop/default.nix @@ -1,41 +1,57 @@ -{ stdenv, fetchurl, python27Packages, pcsclite, yubikey-personalization }: +{ stdenv, fetchurl, fetchFromGitHub +, qmake, qtbase, qtquickcontrols, qtsvg +, python3, pyotherside, ncurses +, pcsclite, yubikey-personalization +, yubikey-manager, makeWrapper }: -python27Packages.buildPythonApplication rec { - namePrefix = ""; - name = "yubioath-desktop-${version}"; - version = "3.1.0"; +stdenv.mkDerivation rec { + pname = "yubioath-desktop"; + version = "4.3.4"; - src = fetchurl { - url = "https://developers.yubico.com/yubioath-desktop/Releases/yubioath-desktop-${version}.tar.gz"; - sha256 = "0jfvllgh88g2vwd8sg6willlnn2hq05nd9d3xmv98lhl7gyy1akw"; - }; + src = fetchurl { + url = "https://developers.yubico.com/yubioath-desktop/Releases/yubioath-desktop-${version}.tar.gz"; + sha256 = "0hb7j71032sigs8zd5r8yr0m59sjkb24vhs2l4jarpvj8q7hv30d"; + }; - doCheck = false; + doCheck = false; - buildInputs = [ stdenv ]; + buildInputs = [ stdenv qtbase qtquickcontrols python3 ]; - propagatedBuildInputs = [ python27Packages.pycrypto python27Packages.click python27Packages.pyscard python27Packages.pyside ]; + nativeBuildInputs = [ qmake makeWrapper python3.pkgs.wrapPython ]; - # Need LD_PRELOAD for libykpers as the Nix cpython disables ctypes.cdll.LoadLibrary - # support that the yubicommon library uses to load libykpers - makeWrapperArgs = ''--prefix LD_LIBRARY_PATH : "${stdenv.lib.getLib pcsclite}/lib:${yubikey-personalization}/lib" --prefix LD_PRELOAD : "${yubikey-personalization}/lib/libykpers-1.so"''; + postPatch = '' + substituteInPlace deployment.pri \ + --replace '/usr/bin' "$out/bin" + ''; + + pythonPath = [ yubikey-manager ]; + + # Need LD_PRELOAD for libykpers as the Nix cpython disables ctypes.cdll.LoadLibrary + # support that the yubicommon library uses to load libykpers + + postInstall = '' + buildPythonPath "$out $pythonPath" + wrapProgram $out/bin/yubioath-desktop \ + --prefix PYTHONPATH : "$program_PYTHONPATH" \ + --prefix QML2_IMPORT_PATH : "${pyotherside}/${qtbase.qtQmlPrefix}" \ + --prefix LD_PRELOAD : "${yubikey-personalization}/lib/libykpers-1.so" \ + --prefix LD_LIBRARY_PATH : "${stdenv.lib.getLib pcsclite}/lib:${yubikey-personalization}/lib" - postInstall = '' mkdir -p $out/share/applications - cp resources/yubioath.desktop $out/share/applications/yubioath.desktop + cp resources/yubioath-desktop.desktop \ + $out/share/applications/yubioath-desktop.desktop mkdir -p $out/share/yubioath/icons - cp resources/yubioath*.{icns,ico,png,xpm} $out/share/yubioath/icons - substituteInPlace $out/share/applications/yubioath.desktop \ - --replace 'Exec=yubioath-gui' "Exec=$out/bin/yubioath-gui" \ - --replace 'Icon=yubioath' "Icon=$out/share/yubioath/icons" - - ''; + cp resources/icons/*.{icns,ico,png,xpm} $out/share/yubioath/icons + substituteInPlace $out/share/applications/yubioath-desktop.desktop \ + --replace 'Exec=yubioath-desktop' "Exec=$out/bin/yubioath-desktop" \ + ''; - meta = { - description = "Yubikey Desktop Authenticator"; + meta = with stdenv.lib; { + description = "Yubikey Desktop Authenticator"; - homepage = https://www.yubico.com/support/knowledge-base/categories/articles/yubico-authenticator-download/; + homepage = https://www.yubico.com/support/knowledge-base/categories/articles/yubico-authenticator-download/; - license = stdenv.lib.licenses.gpl3; - }; + license = stdenv.lib.licenses.gpl3; + maintainers = with maintainers; [ mic92 ]; + }; } diff --git a/pkgs/applications/misc/zathura/cb/default.nix b/pkgs/applications/misc/zathura/cb/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..eb2a0f1c1e14801015352239feb540bd6c6915a8 --- /dev/null +++ b/pkgs/applications/misc/zathura/cb/default.nix @@ -0,0 +1,28 @@ +{ stdenv, lib, fetchurl, meson, ninja, pkgconfig, zathura_core +, girara, gettext, libarchive }: + +stdenv.mkDerivation rec { + name = "zathura-cb-${version}"; + version = "0.1.8"; + + src = fetchurl { + url = "https://pwmt.org/projects/zathura/plugins/download/${name}.tar.xz"; + sha256 = "1i6cf0vks501cggwvfsl6qb7mdaf3sszdymphimfvnspw810faj5"; + }; + + nativeBuildInputs = [ meson ninja pkgconfig gettext ]; + buildInputs = [ libarchive zathura_core girara ]; + + PKG_CONFIG_ZATHURA_PLUGINDIR = "lib/zathura"; + + meta = with lib; { + homepage = https://pwmt.org/projects/zathura-cb/; + description = "A zathura CB plugin"; + longDescription = '' + The zathura-cb plugin adds comic book support to zathura. + ''; + license = licenses.zlib; + platforms = platforms.unix; + maintainers = with maintainers; [ jlesquembre ]; + }; +} diff --git a/pkgs/applications/misc/zathura/core/default.nix b/pkgs/applications/misc/zathura/core/default.nix index 001d70775d6d1548bea2b294b888a71bd2229782..f3258c0c71160ff1a9bddcf72f87dbf587d33d77 100644 --- a/pkgs/applications/misc/zathura/core/default.nix +++ b/pkgs/applications/misc/zathura/core/default.nix @@ -1,7 +1,8 @@ { stdenv, fetchurl, meson, ninja, makeWrapper, pkgconfig , appstream-glib, desktop-file-utils, python3 , gtk, girara, gettext, libxml2 -, file, sqlite, glib, texlive, libintl, libseccomp +, sqlite, glib, texlive, libintl, libseccomp +, file, librsvg , gtk-mac-integration, synctexSupport ? true }: @@ -11,29 +12,36 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "zathura-core-${version}"; - version = "0.4.0"; + version = "0.4.3"; src = fetchurl { url = "https://pwmt.org/projects/zathura/download/zathura-${version}.tar.xz"; - sha256 = "1j0yah09adv3bsjhhbqra5lambal32svk8fxmf89wwmcqrcr4qma"; + sha256 = "0hgx5x09i6d0z45llzdmh4l348fxh1y102sb1w76f2fp4r21j4ky"; }; + outputs = [ "bin" "man" "dev" "out" ]; + + # Flag list: + # https://github.com/pwmt/zathura/blob/master/meson_options.txt + mesonFlags = [ + "-Dsqlite=enabled" + "-Dmagic=enabled" + # "-Dseccomp=enabled" + "-Dmanpages=enabled" + "-Dconvert-icon=enabled" + ] ++ optional synctexSupport "-Dsynctex=enabled"; + nativeBuildInputs = [ meson ninja pkgconfig appstream-glib desktop-file-utils python3.pkgs.sphinx gettext makeWrapper libxml2 ]; buildInputs = [ - file gtk girara libintl libseccomp - sqlite glib + gtk girara libintl libseccomp + sqlite glib file librsvg ] ++ optional synctexSupport texlive.bin.core ++ optional stdenv.isDarwin [ gtk-mac-integration ]; - postInstall = '' - wrapProgram "$out/bin/zathura" \ - --prefix PATH ":" "${makeBinPath [ file ]}" - ''; - meta = { homepage = https://pwmt.org/projects/zathura/; description = "A core component for zathura PDF viewer"; diff --git a/pkgs/applications/misc/zathura/default.nix b/pkgs/applications/misc/zathura/default.nix index e67bebb37100bfff88caf020d913b82b50f53114..dfddfe7d91e1c8124a42ac91a6f2af44774db421 100644 --- a/pkgs/applications/misc/zathura/default.nix +++ b/pkgs/applications/misc/zathura/default.nix @@ -1,4 +1,6 @@ -{ pkgs, useMupdf ? true, synctexSupport ? true }: +{ config, pkgs +, useMupdf ? config.zathura.useMupdf or true +, synctexSupport ? true }: let callPackage = pkgs.newScope self; @@ -18,10 +20,13 @@ let zathura_ps = callPackage ./ps { }; + zathura_cb = callPackage ./cb { }; + zathuraWrapper = callPackage ./wrapper.nix { plugins = [ zathura_djvu zathura_ps + zathura_cb (if useMupdf then zathura_pdf_mupdf else zathura_pdf_poppler) ]; }; diff --git a/pkgs/applications/misc/zathura/pdf-mupdf/default.nix b/pkgs/applications/misc/zathura/pdf-mupdf/default.nix index 9d86dfe4a445d9c7f0c7056836db1d142f4e81c7..709c1edb0b8391c023ec52fc90265787b713fbb6 100644 --- a/pkgs/applications/misc/zathura/pdf-mupdf/default.nix +++ b/pkgs/applications/misc/zathura/pdf-mupdf/default.nix @@ -1,13 +1,20 @@ -{ stdenv, lib, meson, ninja, fetchurl, pkgconfig, zathura_core, cairo, -gtk-mac-integration, girara, mupdf }: +{ stdenv, lib, meson, ninja, fetchurl, fetchFromGitHub +, pkgconfig, zathura_core, cairo , gtk-mac-integration, girara, mupdf }: stdenv.mkDerivation rec { - version = "0.3.3"; + version = "0.3.4"; name = "zathura-pdf-mupdf-${version}"; - src = fetchurl { - url = "https://pwmt.org/projects/zathura-pdf-mupdf/download/${name}.tar.xz"; - sha256 = "1zbdqimav4wfgimpy3nfzl10qj7vyv23rdy2z5z7z93jwbp2rc2j"; + # pwmt.org server was down at the time of last update + # src = fetchurl { + # url = "https://pwmt.org/projects/zathura-pdf-mupdf/download/${name}.tar.xz"; + # sha256 = "1zbaqimav4wfgimpy3nfzl10qj7vyv23rdy2z5z7z93jwbp2rc2j"; + # }; + src = fetchFromGitHub { + owner = "pwmt"; + repo = "zathura-pdf-mupdf"; + rev = version; + sha256 = "1m4w4jrybpjmx6pi33a5saxzmfd8rrym2k13jpd1fv543s17d9dy"; }; nativeBuildInputs = [ meson ninja pkgconfig ]; diff --git a/pkgs/applications/misc/zathura/wrapper.nix b/pkgs/applications/misc/zathura/wrapper.nix index 64f617782f2d6354db7d0323c0a1e09fab1723fd..b81d12947e41d63522af87f2f8fd4023d5356ffd 100644 --- a/pkgs/applications/misc/zathura/wrapper.nix +++ b/pkgs/applications/misc/zathura/wrapper.nix @@ -1,4 +1,4 @@ -{ symlinkJoin, lib, makeWrapper, zathura_core, plugins ? [] }: +{ symlinkJoin, lib, makeWrapper, zathura_core, file, plugins ? [] }: let pluginsPath = lib.makeSearchPath "lib/zathura" plugins; @@ -6,12 +6,14 @@ let in symlinkJoin { name = "zathura-with-plugins-${zathura_core.version}"; - paths = [ zathura_core ]; + paths = with zathura_core; [ man dev out ]; buildInputs = [ makeWrapper ]; postBuild = '' - wrapProgram $out/bin/zathura --add-flags --plugins-dir=${pluginsPath} + makeWrapper ${zathura_core.bin}/bin/zathura $out/bin/zathura \ + --prefix PATH ":" "${lib.makeBinPath [ file ]}" \ + --add-flags --plugins-dir=${pluginsPath} ''; meta = with lib; { diff --git a/pkgs/applications/misc/zola/default.nix b/pkgs/applications/misc/zola/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..f945da612748269ecc5044bcd401ddc5f284f3b6 --- /dev/null +++ b/pkgs/applications/misc/zola/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchFromGitHub, rustPlatform, cmake, pkgconfig, openssl, CoreServices, cf-private }: + +rustPlatform.buildRustPackage rec { + pname = "zola"; + version = "0.7.0"; + + src = fetchFromGitHub { + owner = "getzola"; + repo = pname; + rev = "v${version}"; + sha256 = "02lr1n3gf0agj8x451ndyvv16lq7rccazp4nz9zy0pzwxwrlwhra"; + }; + + cargoSha256 = "003dhh41fh337k3djibpj6hyd16xprbgws3lbp7x37p4lx7qlnfy"; + + nativeBuildInputs = [ cmake pkgconfig ]; + buildInputs = [ openssl ] ++ stdenv.lib.optionals stdenv.isDarwin [ CoreServices cf-private ]; + + postInstall = '' + install -D -m 444 completions/zola.bash \ + -t $out/share/bash-completion/completions + install -D -m 444 completions/_zola \ + -t $out/share/zsh/site-functions + install -D -m 444 completions/zola.fish \ + -t $out/share/fish/vendor_completions.d + ''; + + meta = with stdenv.lib; { + description = "A fast static site generator with everything built-in"; + homepage = https://www.getzola.org/; + license = licenses.mit; + maintainers = with maintainers; [ dywedir ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/applications/networking/apache-directory-studio/default.nix b/pkgs/applications/networking/apache-directory-studio/default.nix index d593947f3e624d4bad29dc846c517f4580a61c55..05dee5b6154cde983ba5f91abc96d801d8908020 100644 --- a/pkgs/applications/networking/apache-directory-studio/default.nix +++ b/pkgs/applications/networking/apache-directory-studio/default.nix @@ -21,17 +21,17 @@ stdenv.mkDerivation rec { version = "2.0.0.v20170904-M13"; src = - if stdenv.system == "x86_64-linux" then + if stdenv.hostPlatform.system == "x86_64-linux" then fetchurl { url = "mirror://apache/directory/studio/${version}/ApacheDirectoryStudio-${version}-linux.gtk.x86_64.tar.gz"; sha256 = "1jfnm6m0ijk31r30hhrxxnizk742dm317iny041p29v897rma7aq"; } - else if stdenv.system == "i686-linux" then + else if stdenv.hostPlatform.system == "i686-linux" then fetchurl { url = "mirror://apache/directory/studio/${version}/ApacheDirectoryStudio-${version}-linux.gtk.x86.tar.gz"; sha256 = "1bxmgram42qyhrqkgp5k8770f5mjjdd4c6xl4gj09smiycm1qa4n"; } - else throw "Unsupported system: ${stdenv.system}"; + else throw "Unsupported system: ${stdenv.hostPlatform.system}"; buildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/networking/bittorrentsync/generic.nix b/pkgs/applications/networking/bittorrentsync/generic.nix index dae540ba4260f27a972f414c999b9175ca5e7b6d..1075aea8db3a859e859a9dced663e91769c5550f 100644 --- a/pkgs/applications/networking/bittorrentsync/generic.nix +++ b/pkgs/applications/networking/bittorrentsync/generic.nix @@ -4,9 +4,9 @@ let arch = { "x86_64-linux" = "x64"; "i686-linux" = "i386"; - }.${stdenv.system} or throwSystem; + }.${stdenv.hostPlatform.system} or throwSystem; libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.libc ]; - throwSystem = throw "Unsupported system: ${stdenv.system}"; + throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}"; in stdenv.mkDerivation rec { @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { "https://download-cdn.getsync.com/${version}/linux-${arch}/BitTorrent-Sync_${arch}.tar.gz" "http://syncapp.bittorrent.com/${version}/btsync_${arch}-${version}.tar.gz" ]; - sha256 = sha256s.${stdenv.system} or throwSystem; + sha256 = sha256s.${stdenv.hostPlatform.system} or throwSystem; }; dontStrip = true; # Don't strip, otherwise patching the rpaths breaks diff --git a/pkgs/applications/networking/brig/default.nix b/pkgs/applications/networking/brig/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..8b7bc0bb899afa7d42a7d2b1484a1e94d31866ba --- /dev/null +++ b/pkgs/applications/networking/brig/default.nix @@ -0,0 +1,25 @@ +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + name = "brig-${version}"; + version = "0.4.1"; + rev = "v${version}"; + + goPackagePath = "github.com/sahib/brig"; + subPackages = ["."]; + + src = fetchFromGitHub { + owner = "sahib"; + repo = "brig"; + inherit rev; + sha256 = "0gi39jmnzqrgj146yw8lcmgmvzx7ii1dgw4iqig7kx8c0jiqi600"; + }; + + meta = with stdenv.lib; { + description = "File synchronization on top of ipfs with git like interface and FUSE filesystem"; + homepage = https://github.com/sahib/brig; + license = licenses.agpl3; + platforms = platforms.unix; + maintainers = with maintainers; [ offline ]; + }; +} diff --git a/pkgs/applications/networking/browsers/arora/default.nix b/pkgs/applications/networking/browsers/arora/default.nix index f9d5f01be201ff40e3c129aa3b0d6f6358f68e56..32de4871186f6f2aa4c558ba1d6219607a2e6a24 100644 --- a/pkgs/applications/networking/browsers/arora/default.nix +++ b/pkgs/applications/networking/browsers/arora/default.nix @@ -21,5 +21,6 @@ stdenv.mkDerivation rec { maintainers = [ maintainers.phreedom ]; description = "A cross-platform Qt4 Webkit browser"; homepage = https://github.com/Arora/arora; + license = with licenses; [ gpl2 gpl3 ]; }; } diff --git a/pkgs/applications/networking/browsers/brave/default.nix b/pkgs/applications/networking/browsers/brave/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..de2159849b75c3f45a5ae59e36eb086610178697 --- /dev/null +++ b/pkgs/applications/networking/browsers/brave/default.nix @@ -0,0 +1,150 @@ +{ stdenv, lib, fetchurl +, dpkg +, alsaLib +, at-spi2-atk +, at-spi2-core +, atk +, cairo +, cups +, dbus +, expat +, fontconfig +, freetype +, gdk_pixbuf +, glib +, gnome2 +, gnome3 +, gtk3 +, libuuid +, libX11 +, libXcomposite +, libXcursor +, libXdamage +, libXext +, libXfixes +, libXi +, libXrandr +, libXrender +, libXScrnSaver +, libXtst +, nspr +, nss +, pango +, udev +, xorg +, zlib +, xdg_utils +, wrapGAppsHook +}: + +let rpath = lib.makeLibraryPath [ + alsaLib + at-spi2-atk + at-spi2-core + atk + cairo + cups + dbus + expat + fontconfig + freetype + gdk_pixbuf + glib + gnome2.GConf + gtk3 + libX11 + libXScrnSaver + libXcomposite + libXcursor + libXdamage + libXext + libXfixes + libXi + libXrandr + libXrender + libXtst + libuuid + nspr + nss + pango + udev + xdg_utils + xorg.libxcb + zlib +]; + + +in stdenv.mkDerivation rec { + pname = "brave"; + version = "0.61.50"; + + src = fetchurl { + url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb"; + sha256 = "1lbajxnxqkd422rckfjm65pwwzl66v7anq4jrzxi29d5x7abl3c1"; + }; + + dontConfigure = true; + dontBuild = true; + dontPatchELF = true; + + nativeBuildInputs = [ dpkg wrapGAppsHook ]; + + buildInputs = [ glib gnome3.gsettings_desktop_schemas gnome3.adwaita-icon-theme ]; + + unpackPhase = "dpkg-deb --fsys-tarfile $src | tar -x --no-same-permissions --no-same-owner"; + + installPhase = '' + mkdir -p $out $out/bin + + cp -R usr/share $out + cp -R opt/ $out/opt + + export BINARYWRAPPER=$out/opt/brave.com/brave/brave-browser + + # Fix path to bash in $BINARYWRAPPER + substituteInPlace $BINARYWRAPPER \ + --replace /bin/bash ${stdenv.shell} + + ln -sf $BINARYWRAPPER $out/bin/brave + + patchelf \ + --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "${rpath}" $out/opt/brave.com/brave/brave + + # Fix paths + substituteInPlace $out/share/applications/brave-browser.desktop \ + --replace /usr/bin/brave-browser $out/bin/brave + substituteInPlace $out/share/gnome-control-center/default-apps/brave-browser.xml \ + --replace /opt/brave.com $out/opt/brave.com + substituteInPlace $out/share/menu/brave-browser.menu \ + --replace /opt/brave.com $out/opt/brave.com + substituteInPlace $out/opt/brave.com/brave/default-app-block \ + --replace /opt/brave.com $out/opt/brave.com + + # Correct icons location + icon_sizes=("16" "22" "24" "32" "48" "64" "128" "256") + + for icon in ''${icon_sizes[*]} + do + mkdir -p $out/share/icons/hicolor/$icon\x$icon/apps + ln -s $out/opt/brave.com/brave/product_logo_$icon.png $out/share/icons/hicolor/$icon\x$icon/apps/brave-browser.png + done + + # Replace xdg-settings and xdg-mime + ln -sf ${xdg_utils}/bin/xdg-settings $out/opt/brave.com/brave/xdg-settings + ln -sf ${xdg_utils}/bin/xdg-mime $out/opt/brave.com/brave/xdg-mime + ''; + + meta = with stdenv.lib; { + homepage = "https://brave.com/"; + description = "Privacy-oriented browser for Desktop and Laptop computers"; + longDescription = '' + Brave browser blocks the ads and trackers that slow you down, + chew up your bandwidth, and invade your privacy. Brave lets you + contribute to your favorite creators automatically. + ''; + license = licenses.mpl20; + maintainers = [ maintainers.uskudnik ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/applications/networking/browsers/browsh/default.nix b/pkgs/applications/networking/browsers/browsh/default.nix index cf90d2afd0005a574327efe64faacc8281ffdd31..a910f1d14bdfda82430c326621a8b44cd38ab8a8 100644 --- a/pkgs/applications/networking/browsers/browsh/default.nix +++ b/pkgs/applications/networking/browsers/browsh/default.nix @@ -1,14 +1,14 @@ { stdenv, buildGoPackage, fetchurl, fetchFromGitHub, go-bindata }: let - version = "1.4.10"; + version = "1.4.13"; # TODO: must build the extension instead of downloading it. But since it's # literally an asset that is indifferent regardless of the platform, this # might be just enough. webext = fetchurl { url = "https://github.com/browsh-org/browsh/releases/download/v${version}/browsh-${version}-an.fx.xpi"; - sha256 = "0rgwzv1qahqy52q7zz4dklnwx7w4x3gj92ka8n0ypgf9fjjnmqas"; + sha256 = "11477z7mva8lwfxsrfxckvgqkxrjhc80czra8cqhpakf0fih1a4g"; }; in buildGoPackage rec { diff --git a/pkgs/applications/networking/browsers/chromium/browser.nix b/pkgs/applications/networking/browsers/chromium/browser.nix index f31ff05a42bb66634ebb75e2b01ed4f9da208abc..faa5bc121cb832e3c0a15bfd1e8f78e22b4968ae 100644 --- a/pkgs/applications/networking/browsers/chromium/browser.nix +++ b/pkgs/applications/networking/browsers/chromium/browser.nix @@ -47,7 +47,7 @@ mkChromiumDerivation (base: rec { meta = { description = "An open source web browser from Google"; homepage = http://www.chromium.org/; - maintainers = with maintainers; [ chaoflow bendlas ]; + maintainers = with maintainers; [ bendlas ]; license = licenses.bsd3; platforms = platforms.linux; hydraPlatforms = if channel == "stable" then ["aarch64-linux" "x86_64-linux"] else []; diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index ff9b8b10b18e9cefaa5d08960297ab2e5271ec97..49426a8af3b237cacc4669a7365f16fba4714846 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -1,4 +1,4 @@ -{ stdenv, ninja, which, nodejs, fetchurl, fetchpatch, gnutar +{ stdenv, llvmPackages, gn, ninja, which, nodejs, fetchurl, fetchpatch, gnutar # default dependencies , bzip2, flac, speex, libopus @@ -11,17 +11,21 @@ , nspr, systemd, kerberos , utillinux, alsaLib , bison, gperf -, glib, gtk2, gtk3, dbus-glib +, glib, gtk3, dbus-glib +, glibc , libXScrnSaver, libXcursor, libXtst, libGLU_combined , protobuf, speechd, libXdamage, cups -, ffmpeg, libxslt, libxml2 +, ffmpeg, libxslt, libxml2, at-spi2-core +, jdk # optional dependencies , libgcrypt ? null # gnomeSupport || cupsSupport +, libva ? null # useVaapi # package customization , enableNaCl ? false , enableWideVine ? false +, useVaapi ? false , gnomeSupport ? false, gnome ? null , gnomeKeyringSupport ? false, libgnome-keyring3 ? null , proprietaryCodecs ? true @@ -82,8 +86,8 @@ let xdg_utils yasm minizip libwebp libusb1 re2 zlib ffmpeg libxslt libxml2 - # harfbuzz-icu # in versions over 63 harfbuzz and freetype are being built together - # so we can't build with one from system and other from source + # harfbuzz # in versions over 63 harfbuzz and freetype are being built together + # so we can't build with one from system and other from source ]; # build paths and release info @@ -92,11 +96,6 @@ let buildPath = "out/${buildType}"; libExecPath = "$out/libexec/${packageName}"; - freetype_source = fetchurl { - url = http://anduin.linuxfromscratch.org/BLFS/other/chromium-freetype.tar.xz; - sha256 = "1vhslc4xg0d6wzlsi99zpah2xzjziglccrxn55k7qna634wyxg77"; - }; - versionRange = min-version: upto-version: let inherit (upstream-info) version; result = versionAtLeast version min-version && versionOlder version upto-version; @@ -107,7 +106,7 @@ let else result; base = rec { - name = "${packageName}-${version}"; + name = "${packageName}-unwrapped-${version}"; inherit (upstream-info) version; inherit packageName buildType buildPath; @@ -123,29 +122,48 @@ let nspr nss systemd utillinux alsaLib bison gperf kerberos - glib gtk2 gtk3 dbus-glib + glib gtk3 dbus-glib libXScrnSaver libXcursor libXtst libGLU_combined - pciutils protobuf speechd libXdamage + pciutils protobuf speechd libXdamage at-spi2-core ] ++ optional gnomeKeyringSupport libgnome-keyring3 ++ optionals gnomeSupport [ gnome.GConf libgcrypt ] ++ optionals cupsSupport [ libgcrypt cups ] - ++ optional pulseSupport libpulseaudio; - - patches = [ - # As major versions are added, you can trawl the gentoo and arch repos at - # https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/ - # https://git.archlinux.org/svntogit/packages.git/tree/trunk?h=packages/chromium - # for updated patches and hints about build flags - # (gentooPatch "" "0000000000000000000000000000000000000000000000000000000000000000") - ./patches/fix-freetype.patch + ++ optional useVaapi libva + ++ optional pulseSupport libpulseaudio + ++ optional (versionAtLeast version "72") jdk.jre; + + patches = optional enableWideVine ./patches/widevine.patch ++ [ ./patches/nix_plugin_paths_68.patch - ] ++ optionals (versionRange "68" "69") [ - ./patches/remove-webp-include-68.patch - (githubPatch "4d10424f9e2a06978cdd6cdf5403fcaef18e49fc" "11la1jycmr5b5rw89mzcdwznmd2qh28sghvz9klr1qhmsmw1vzjc") - (githubPatch "56cb5f7da1025f6db869e840ed34d3b98b9ab899" "04mp5r1yvdvdx6m12g3lw3z51bzh7m3gr73mhblkn4wxdbvi3dcs") - ] ++ optionals (versionAtLeast version "69") [ ./patches/remove-webp-include-69.patch - ] ++ optional enableWideVine ./patches/widevine.patch; + ./patches/jumbo-sorted.patch + ./patches/no-build-timestamps.patch + + # Unfortunately, chromium regularly breaks on major updates and + # then needs various patches backported in order to be compiled with GCC. + # Good sources for such patches and other hints: + # - https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/ + # - https://git.archlinux.org/svntogit/packages.git/tree/trunk?h=packages/chromium + # - https://github.com/chromium/chromium/search?q=GCC&s=committer-date&type=Commits + # + # ++ optional (versionRange "68" "72") ( githubPatch "" "0000000000000000000000000000000000000000000000000000000000000000" ) + ] ++ optionals (useVaapi) [ + # source: https://aur.archlinux.org/cgit/aur.git/plain/chromium-vaapi.patch?h=chromium-vaapi + ./patches/chromium-vaapi.patch + ] ++ optionals (!stdenv.cc.isClang && (versionRange "71" "72")) [ + ( githubPatch "65be571f6ac2f7942b4df9e50b24da517f829eec" "1sqv0aba0mpdi4x4f21zdkxz2cf8ji55ffgbfcr88c5gcg0qn2jh" ) + ] ++ optional stdenv.isAarch64 + (if (versionOlder version "71") then + fetchpatch { + url = https://raw.githubusercontent.com/OSSystems/meta-browser/e4a667deaaf9a26a3a1aeb355770d1f29da549ad/recipes-browser/chromium/files/aarch64-skia-build-fix.patch; + sha256 = "0dkchqair8cy2f5a5p5vi24r9b4d28pgn2bfvm1568lypbjw6iab"; + } + else + fetchpatch { + url = https://raw.githubusercontent.com/OSSystems/meta-browser/e4a667deaaf9a26a3a1aeb355770d1f29da549ad/recipes-browser/chromium/files/aarch64-skia-build-fix.patch; + postFetch = "substituteInPlace $out --replace __aarch64__ SK_CPU_ARM64"; + sha256 = "018fbdzyw9rvia8m0qkk5gv8q8gl7x34rrjbn7mi1fgxdsayn22s"; + } + ); postPatch = '' # We want to be able to specify where the sandbox is via CHROME_DEVEL_SANDBOX @@ -154,6 +172,17 @@ let 'return sandbox_binary;' \ 'return base::FilePath(GetDevelSandboxPath());' + substituteInPlace services/audio/audio_sandbox_hook_linux.cc \ + --replace \ + '/usr/share/alsa/' \ + '${alsaLib}/share/alsa/' \ + --replace \ + '/usr/lib/x86_64-linux-gnu/gconv/' \ + '${glibc}/lib/gconv/' \ + --replace \ + '/usr/share/locale/' \ + '${glibc}/share/locale/' + sed -i -e 's@"\(#!\)\?.*xdg-@"\1${xdg_utils}/bin/xdg-@' \ chrome/browser/shell_integration_linux.cc @@ -179,11 +208,6 @@ let mkdir -p third_party/node/linux/node-linux-x64/bin ln -s $(which node) third_party/node/linux/node-linux-x64/bin/node - # use patched freetype - # FIXME https://bugs.chromium.org/p/pdfium/issues/detail?id=733 - # FIXME http://savannah.nongnu.org/bugs/?51156 - tar -xJf ${freetype_source} - # remove unused third-party # in third_party/crashpad third_party/zlib contains just a header-adapter for lib in ${toString gnSystemLibraries}; do @@ -199,13 +223,21 @@ let '' + optionalString stdenv.isAarch64 '' substituteInPlace build/toolchain/linux/BUILD.gn \ --replace 'toolprefix = "aarch64-linux-gnu-"' 'toolprefix = ""' + '' + optionalString stdenv.cc.isClang '' + mkdir -p third_party/llvm-build/Release+Asserts/bin + ln -s ${stdenv.cc}/bin/clang third_party/llvm-build/Release+Asserts/bin/clang + ln -s ${stdenv.cc}/bin/clang++ third_party/llvm-build/Release+Asserts/bin/clang++ + ln -s ${llvmPackages.llvm}/bin/llvm-ar third_party/llvm-build/Release+Asserts/bin/llvm-ar ''; gnFlags = mkGnFlags ({ linux_use_bundled_binutils = false; + use_lld = false; use_gold = true; gold_path = "${stdenv.cc}/bin"; is_debug = false; + # at least 2X compilation speedup + use_jumbo_build = true; proprietary_codecs = false; use_sysroot = false; @@ -216,10 +248,9 @@ let use_cups = cupsSupport; treat_warnings_as_errors = false; - is_clang = false; + is_clang = stdenv.cc.isClang; clang_use_chrome_plugins = false; remove_webcore_debug_symbols = true; - use_gtk3 = true; enable_swiftshader = false; fieldtrial_testing_like_official_build = true; @@ -235,6 +266,8 @@ let proprietary_codecs = true; enable_hangout_services_extension = true; ffmpeg_branding = "Chrome"; + } // optionalAttrs useVaapi { + use_vaapi = true; } // optionalAttrs pulseSupport { use_pulseaudio = true; link_pulseaudio = true; @@ -243,15 +276,11 @@ let configurePhase = '' runHook preConfigure - # Build gn - python tools/gn/bootstrap/bootstrap.py -v -s --no-clean - PATH="$PWD/out/Release:$PATH" - # This is to ensure expansion of $out. libExecPath="${libExecPath}" python build/linux/unbundle/replace_gn_files.py \ --system-libraries ${toString gnSystemLibraries} - gn gen --args=${escapeShellArg gnFlags} out/Release | tee gn-gen-outputs.txt + ${gn}/bin/gn gen --args=${escapeShellArg gnFlags} out/Release | tee gn-gen-outputs.txt # Fail if `gn gen` contains a WARNING. grep -o WARNING gn-gen-outputs.txt && echo "Found gn WARNING, exiting nix build" && exit 1 @@ -275,8 +304,6 @@ let MENUNAME="Chromium" process_template chrome/app/resources/manpage.1.in "${buildPath}/chrome.1" ) - '' + optionalString (target == "mksnapshot" || target == "chrome") '' - paxmark m "${buildPath}/${target}" ''; targets = extraAttrs.buildTargets or []; commands = map buildCommand targets; diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix index 51618a479d423344a86b5c5a1a62c953c8d16358..68aee1f98d765c861f67aa2bbbacb93b00e28428 100644 --- a/pkgs/applications/networking/browsers/chromium/default.nix +++ b/pkgs/applications/networking/browsers/chromium/default.nix @@ -1,5 +1,7 @@ -{ newScope, stdenv, makeWrapper, makeDesktopItem, ed +{ newScope, config, stdenv, llvmPackages, gcc8Stdenv, llvmPackages_7 +, makeWrapper, makeDesktopItem, ed , glib, gtk3, gnome3, gsettings-desktop-schemas +, libva ? null # package customization , channel ? "stable" @@ -9,20 +11,30 @@ , proprietaryCodecs ? true , enablePepperFlash ? false , enableWideVine ? false +, useVaapi ? false # test video on radeon, before enabling this , cupsSupport ? true -, pulseSupport ? false +, pulseSupport ? config.pulseaudio or stdenv.isLinux , commandLineArgs ? "" }: let + stdenv_ = if stdenv.isAarch64 then gcc8Stdenv else llvmPackages_7.stdenv; + llvmPackages_ = if stdenv.isAarch64 then llvmPackages else llvmPackages_7; +in let + stdenv = stdenv_; + llvmPackages = llvmPackages_; + callPackage = newScope chromium; chromium = { + inherit stdenv llvmPackages; + upstream-info = (callPackage ./update.nix {}).getChannel channel; mkChromiumDerivation = callPackage ./common.nix { inherit enableNaCl gnomeSupport gnome gnomeKeyringSupport proprietaryCodecs cupsSupport pulseSupport + useVaapi enableWideVine; }; @@ -75,7 +87,7 @@ in stdenv.mkDerivation { gsettings-desktop-schemas glib gtk3 # needed for XDG_ICON_DIRS - gnome3.defaultIconTheme + gnome3.adwaita-icon-theme ]; outputs = ["out" "sandbox"]; @@ -83,6 +95,10 @@ in stdenv.mkDerivation { buildCommand = let browserBinary = "${chromium.browser}/libexec/chromium/chromium"; getWrapperFlags = plugin: "$(< \"${plugin}/nix-support/wrapper-flags\")"; + libPath = stdenv.lib.makeLibraryPath ([] + ++ stdenv.lib.optional useVaapi libva + ); + in with stdenv.lib; '' mkdir -p "$out/bin" @@ -100,6 +116,8 @@ in stdenv.mkDerivation { export CHROME_DEVEL_SANDBOX="$sandbox/bin/${sandboxExecutableName}" fi + export LD_LIBRARY_PATH="\$LD_LIBRARY_PATH:${libPath}" + # libredirect causes chromium to deadlock on startup export LD_PRELOAD="\$(echo -n "\$LD_PRELOAD" | tr ':' '\n' | grep -v /lib/libredirect\\\\.so$ | tr '\n' ':')" diff --git a/pkgs/applications/networking/browsers/chromium/patches/chromium-vaapi.patch b/pkgs/applications/networking/browsers/chromium/patches/chromium-vaapi.patch new file mode 100644 index 0000000000000000000000000000000000000000..38d77e2155166ecda61949924ed2649e7a74a92d --- /dev/null +++ b/pkgs/applications/networking/browsers/chromium/patches/chromium-vaapi.patch @@ -0,0 +1,117 @@ +From abc7295ca1653c85472916909f0eb76e28e79a58 Mon Sep 17 00:00:00 2001 +From: Akarshan Biswas +Date: Thu, 24 Jan 2019 12:45:29 +0530 +Subject: [PATCH] Enable mojo with VDA2 on Linux + +--- + chrome/browser/about_flags.cc | 8 ++++---- + chrome/browser/flag_descriptions.cc | 9 +++++++-- + chrome/browser/flag_descriptions.h | 10 ++++++++-- + gpu/config/software_rendering_list.json | 3 ++- + media/media_options.gni | 9 ++++++--- + media/mojo/services/gpu_mojo_media_client.cc | 4 ++-- + 6 files changed, 29 insertions(+), 14 deletions(-) + +diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc +index 0a84c6ac1..be2aa1d8b 100644 +--- a/chrome/browser/about_flags.cc ++++ b/chrome/browser/about_flags.cc +@@ -1714,7 +1714,7 @@ const FeatureEntry kFeatureEntries[] = { + "disable-accelerated-video-decode", + flag_descriptions::kAcceleratedVideoDecodeName, + flag_descriptions::kAcceleratedVideoDecodeDescription, +- kOsMac | kOsWin | kOsCrOS | kOsAndroid, ++ kOsMac | kOsWin | kOsCrOS | kOsAndroid | kOsLinux, + SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode), + }, + #if defined(OS_WIN) +@@ -2345,12 +2345,12 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(service_manager::features::kXRSandbox)}, + #endif // ENABLE_ISOLATED_XR_SERVICE + #endif // ENABLE_VR +-#if defined(OS_CHROMEOS) ++#if defined(OS_CHROMEOS) || defined(OS_LINUX) + {"disable-accelerated-mjpeg-decode", + flag_descriptions::kAcceleratedMjpegDecodeName, +- flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS, ++ flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS | kOsLinux, + SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)}, +-#endif // OS_CHROMEOS ++#endif // OS_CHROMEOS // OS_LINUX + {"v8-cache-options", flag_descriptions::kV8CacheOptionsName, + flag_descriptions::kV8CacheOptionsDescription, kOsAll, + MULTI_VALUE_TYPE(kV8CacheOptionsChoices)}, +diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc +index 62637e092..86f89fc6e 100644 +--- a/chrome/browser/flag_descriptions.cc ++++ b/chrome/browser/flag_descriptions.cc +@@ -3085,15 +3085,20 @@ const char kTextSuggestionsTouchBarDescription[] = + + #endif + +-// Chrome OS ------------------------------------------------------------------- ++// Chrome OS Linux------------------------------------------------------------------- + +-#if defined(OS_CHROMEOS) ++#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) + + const char kAcceleratedMjpegDecodeName[] = + "Hardware-accelerated mjpeg decode for captured frame"; + const char kAcceleratedMjpegDecodeDescription[] = + "Enable hardware-accelerated mjpeg decode for captured frame where " + "available."; ++#endif ++ ++// Chrome OS -------------------------------------------------- ++ ++#if defined(OS_CHROMEOS) + + const char kAllowTouchpadThreeFingerClickName[] = "Touchpad three-finger-click"; + const char kAllowTouchpadThreeFingerClickDescription[] = +diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h +index 5dac660bb..6cc4115da 100644 +--- a/chrome/browser/flag_descriptions.h ++++ b/chrome/browser/flag_descriptions.h +@@ -1846,13 +1846,19 @@ extern const char kPermissionPromptPersistenceToggleDescription[]; + + #endif // defined(OS_MACOSX) + +-// Chrome OS ------------------------------------------------------------------ ++// Chrome OS and Linux ------------------------------------------------------------------ + +-#if defined(OS_CHROMEOS) ++#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) + + extern const char kAcceleratedMjpegDecodeName[]; + extern const char kAcceleratedMjpegDecodeDescription[]; + ++#endif // defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID)) ++ ++// Chrome OS ------------------------------------------------------------------------ ++ ++#if defined(OS_CHROMEOS) ++ + extern const char kAllowTouchpadThreeFingerClickName[]; + extern const char kAllowTouchpadThreeFingerClickDescription[]; + +diff --git a/gpu/config/software_rendering_list.json b/gpu/config/software_rendering_list.json +index 65f37b3f1..ae8a1718f 100644 +--- a/gpu/config/software_rendering_list.json ++++ b/gpu/config/software_rendering_list.json +@@ -371,11 +371,12 @@ + }, + { + "id": 48, +- "description": "Accelerated video decode is unavailable on Linux", ++ "description": "Accelerated VA-API video decode is not supported on NVIDIA platforms", + "cr_bugs": [137247], + "os": { + "type": "linux" + }, ++ "vendor_id": "0x10de", + "features": [ + "accelerated_video_decode" + ] +-- +2.20.1 + diff --git a/pkgs/applications/networking/browsers/chromium/patches/fix-freetype.patch b/pkgs/applications/networking/browsers/chromium/patches/fix-freetype.patch deleted file mode 100644 index cc380a55abe0e08e34cd3862dad7b5259aab495c..0000000000000000000000000000000000000000 --- a/pkgs/applications/networking/browsers/chromium/patches/fix-freetype.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/third_party/freetype/BUILD.gn -+++ b/third_party/freetype/BUILD.gn -@@ -63,10 +63,12 @@ source_set("freetype_source") { - "src/src/base/ftbase.c", - "src/src/base/ftbbox.c", - "src/src/base/ftbitmap.c", -+ "src/src/base/ftfntfmt.c", - "src/src/base/ftfstype.c", - "src/src/base/ftgasp.c", - "src/src/base/ftglyph.c", - "src/src/base/ftinit.c", -+ "src/src/base/ftlcdfil.c", - "src/src/base/ftmm.c", - "src/src/base/ftstroke.c", - "src/src/base/fttype1.c", diff --git a/pkgs/applications/networking/browsers/chromium/patches/jumbo-sorted.patch b/pkgs/applications/networking/browsers/chromium/patches/jumbo-sorted.patch new file mode 100644 index 0000000000000000000000000000000000000000..cdf0f695f7612601ee35597004d3e6463c83dec4 --- /dev/null +++ b/pkgs/applications/networking/browsers/chromium/patches/jumbo-sorted.patch @@ -0,0 +1,11 @@ +--- chromium-70.0.3538.67/build/config/merge_for_jumbo.py.old 2018-10-25 19:15:54.578222230 +0300 ++++ chromium-70.0.3538.67/build/config/merge_for_jumbo.py 2018-10-25 19:20:44.397613032 +0300 +@@ -132,6 +132,8 @@ + assert not inputs + continue + ++ inputs.sort() ++ outputs.sort() + write_jumbo_files(inputs, outputs, written_input_set, written_output_set) + + assert set(args.outputs) == written_output_set, "Did not fill all outputs" diff --git a/pkgs/applications/networking/browsers/chromium/patches/nix_plugin_paths_68.patch b/pkgs/applications/networking/browsers/chromium/patches/nix_plugin_paths_68.patch index 3c80dbcec004075a06287311a07367cd1bbfe867..da6a4c92b46024759951a47875c5e027d9efc7c8 100644 --- a/pkgs/applications/networking/browsers/chromium/patches/nix_plugin_paths_68.patch +++ b/pkgs/applications/networking/browsers/chromium/patches/nix_plugin_paths_68.patch @@ -50,15 +50,6 @@ index f4e119d..d9775bd 100644 return false; cur = cur.Append(kPepperFlashBaseDirectory); break; -@@ -323,7 +316,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; @@ -358,7 +351,7 @@ bool PathProvider(int key, base::FilePath* result) { cur = cur.DirName(); } diff --git a/pkgs/applications/networking/browsers/chromium/patches/no-build-timestamps.patch b/pkgs/applications/networking/browsers/chromium/patches/no-build-timestamps.patch new file mode 100644 index 0000000000000000000000000000000000000000..e06d848095c86529b5de88148e6c9d1691acddab --- /dev/null +++ b/pkgs/applications/networking/browsers/chromium/patches/no-build-timestamps.patch @@ -0,0 +1,17 @@ +--- chromium-70.0.3538.67/build/compute_build_timestamp.py.orig 2018-11-02 16:00:34.368933077 +0200 ++++ chromium-70.0.3538.67/build/compute_build_timestamp.py 2018-11-08 04:06:21.658105129 +0200 +@@ -94,6 +94,14 @@ + 'build_type', help='The type of build', choices=('official', 'default')) + args = argument_parser.parse_args() + ++ # I don't trust LASTCHANGE magic, and I definelly want something deterministic here ++ SOURCE_DATE_EPOCH = os.getenv("SOURCE_DATE_EPOCH", None) ++ if SOURCE_DATE_EPOCH is not None: ++ print SOURCE_DATE_EPOCH ++ return 0 ++ else: ++ raise RuntimeError("SOURCE_DATE_EPOCH not set") ++ + # The mtime of the revision in build/util/LASTCHANGE is stored in a file + # next to it. Read it, to get a deterministic time close to "now". + # That date is then modified as described at the top of the file so that diff --git a/pkgs/applications/networking/browsers/chromium/patches/remove-webp-include-68.patch b/pkgs/applications/networking/browsers/chromium/patches/remove-webp-include-68.patch deleted file mode 100644 index 1995bf1fa8f53c14f0579103640dafc2b479bcf4..0000000000000000000000000000000000000000 --- a/pkgs/applications/networking/browsers/chromium/patches/remove-webp-include-68.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/third_party/blink/renderer/platform/image-encoders/image_encoder.h -+++ b/third_party/blink/renderer/platform/image-encoders/image_encoder.h -@@ -8,7 +8,7 @@ - #include "third_party/blink/renderer/platform/platform_export.h" - #include "third_party/blink/renderer/platform/wtf/vector.h" - #include "third_party/libjpeg/jpeglib.h" // for JPEG_MAX_DIMENSION --#include "third_party/libwebp/src/webp/encode.h" // for WEBP_MAX_DIMENSION -+#define WEBP_MAX_DIMENSION 16383 - #include "third_party/skia/include/core/SkStream.h" - #include "third_party/skia/include/encode/SkJpegEncoder.h" - #include "third_party/skia/include/encode/SkPngEncoder.h" - diff --git a/pkgs/applications/networking/browsers/chromium/plugins.nix b/pkgs/applications/networking/browsers/chromium/plugins.nix index 84c4e62026252d4189b25d40f12961e5b7e3676f..a8bdb7d5b2d8f8ebb8e44c9305f92d61b8a11069 100644 --- a/pkgs/applications/networking/browsers/chromium/plugins.nix +++ b/pkgs/applications/networking/browsers/chromium/plugins.nix @@ -1,4 +1,4 @@ -{ stdenv +{ stdenv, gcc , jshon , glib , nspr @@ -69,7 +69,7 @@ let ! find -iname '*.so' -exec ldd {} + | grep 'not found' ''; - PATCH_RPATH = mkrpath [ stdenv.cc.cc glib nspr nss ]; + PATCH_RPATH = mkrpath [ gcc.cc glib nspr nss ]; patchPhase = '' chmod +x libwidevinecdm.so libwidevinecdmadapter.so @@ -94,21 +94,23 @@ let envVars.NIX_CHROMIUM_PLUGIN_PATH_WIDEVINE = "@out@/lib"; }} ''; + + meta.platforms = platforms.x86_64; }; flash = stdenv.mkDerivation rec { name = "flashplayer-ppapi-${version}"; - version = "30.0.0.154"; + version = "32.0.0.171"; src = fetchzip { url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/${version}/flash_player_ppapi_linux.x86_64.tar.gz"; - sha256 = "0bi9b6syx7x2avixgjwanrvynzanf89xm2g3nxazw9qgxxc1cp48"; + sha256 = "1rqf1kidpf2jqf20dw3hscrapdpm2j751742i6xnvj9mp66nczyg"; stripRoot = false; }; patchPhase = '' chmod +x libpepflashplayer.so - patchelf --set-rpath "${mkrpath [ stdenv.cc.cc ]}" libpepflashplayer.so + patchelf --set-rpath "${mkrpath [ gcc.cc ]}" libpepflashplayer.so ''; doCheck = true; @@ -133,6 +135,8 @@ let ''; dontStrip = true; + + meta.platforms = platforms.x86_64; }; in { diff --git a/pkgs/applications/networking/browsers/chromium/update.nix b/pkgs/applications/networking/browsers/chromium/update.nix index 277ad29abe297bdd006016993be87c0ef4dfd47f..2334dc6a71e4339bfdacc49b2e4b1d0985abc26a 100644 --- a/pkgs/applications/networking/browsers/chromium/update.nix +++ b/pkgs/applications/networking/browsers/chromium/update.nix @@ -97,13 +97,13 @@ in rec { builtins.tryEval (builtins.fetchurl url) - ... except that tryEval on fetchurl isn't working and doesn't catch errors - for fetchurl, so we go for a different approach. + ... except that tryEval on fetchurl isn't working and doesn't catch + errors for fetchurl, so we go for a different approach. We only have fixed-output derivations that can have networking access, so - we abuse MD5 and its weaknesses to forge a fixed-output derivation which + we abuse SHA1 and its weaknesses to forge a fixed-output derivation which is not so fixed, because it emits different contents that have the same - MD5 hash. + SHA1 hash. Using this method, we can distinguish whether the URL is available or whether it's not based on the actual content. @@ -111,25 +111,50 @@ in rec { So let's use tryEval as soon as it's working with fetchurl in Nix. */ tryFetch = url: let - mkBin = b: runCommand "binary-blurb" { inherit b; } '' - h="$(echo "$b" | sed -e ':r;N;$!br;s/[^ \n][^ \n]/\\x&/g;s/[ \n]//g')" - echo -ne "$h" > "$out" - ''; - - # Both MD5 hash collision examples are from: - # https://en.wikipedia.org/wiki/MD5#Collision_vulnerabilities - hashCollTrue = mkBin '' - d131dd02c5e6eec4 693d9a0698aff95c 2fcab58712467eab 4004583eb8fb7f89 - 55ad340609f4b302 83e488832571415a 085125e8f7cdc99f d91dbdf280373c5b - d8823e3156348f5b ae6dacd436c919c6 dd53e2b487da03fd 02396306d248cda0 - e99f33420f577ee8 ce54b67080a80d1e c69821bcb6a88393 96f9652b6ff72a70 - ''; - - hashCollFalse = mkBin '' - d131dd02c5e6eec4 693d9a0698aff95c 2fcab50712467eab 4004583eb8fb7f89 - 55ad340609f4b302 83e4888325f1415a 085125e8f7cdc99f d91dbd7280373c5b - d8823e3156348f5b ae6dacd436c919c6 dd53e23487da03fd 02396306d248cda0 - e99f33420f577ee8 ce54b67080280d1e c69821bcb6a88393 96f965ab6ff72a70 + # SHA1 hash collisions from https://shattered.io/static/shattered.pdf: + collisions = runCommand "sha1-collisions" { + outputs = [ "out" "good" "bad" ]; + base64 = '' + QlpoOTFBWSZTWbL5V5MABl///////9Pv///v////+/////HDdK739/677r+W3/75rUNr4 + Aa/AAAAAAACgEVTRtQDQAaA0AAyGmjTQGmgAAANGgAaMIAYgGgAABo0AAAAAADQAIAGQ0 + MgDIGmjQA0DRk0AaMQ0DQAGIANGgAAGRoNGQMRpo0GIGgBoGQAAIAGQ0MgDIGmjQA0DRk + 0AaMQ0DQAGIANGgAAGRoNGQMRpo0GIGgBoGQAAIAGQ0MgDIGmjQA0DRk0AaMQ0DQAGIAN + GgAAGRoNGQMRpo0GIGgBoGQAAIAGQ0MgDIGmjQA0DRk0AaMQ0DQAGIANGgAAGRoNGQMRp + o0GIGgBoGQAABVTUExEZATTICnkxNR+p6E09JppoyamjGhkm0ammIyaekbUejU9JiGnqZ + qaaDxJ6m0JkZMQ2oaYmJ6gxqMyE2TUzJqfItligtJQJfYbl9Zy9QjQuB5mHQRdSSXCCTH + MgmSDYmdOoOmLTBJWiCpOhMQYpQlOYpJjn+wQUJSTCEpOMekaFaaNB6glCC0hKEJdHr6B + mUIHeph7YxS8WJYyGwgWnMTFJBDFSxSCCYljiEk7HZgJzJVDHJxMgY6tCEIIWgsKSlSZ0 + S8GckoIIF+551Ro4RCw260VCEpWJSlpWx/PMrLyVoyhWMAneDilBcUIeZ1j6NCkus0qUC + Wnahhk5KT4GpWMh3vm2nJWjTL9Qg+84iExBJhNKpbV9tvEN265t3fu/TKkt4rXFTsV+Nc + upJXhOhOhJMQQktrqt4K8mSh9M2DAO2X7uXGVL9YQxUtzQmS7uBndL7M6R7vX869VxqPu + renSuHYNq1yTXOfNWLwgvKlRlFYqLCs6OChDp0HuTzCWscmGudLyqUuwVGG75nmyZhKpJ + yOE/pOZyHyrZxGM51DYIN+Jc8yVJgAykxKCEtW55MlfudLg3KG6TtozalunXrroSxUpVL + StWrWLFihMnVpkyZOrQnUrE6xq1CGtJlbAb5ShMbV1CZgqlKC0wCFCpMmUKSEkvFLaZC8 + wHOCVAlvzaJQ/T+XLb5Dh5TNM67p6KZ4e4ZSGyVENx2O27LzrTIteAreTkMZpW95GS0CE + JYhMc4nToTJ0wQhKEyddaLb/rTqmgJSlkpnALxMhlNmuKEpkEkqhKUoEq3SoKUpIQcDgW + lC0rYahMmLuPQ0fHqZaF4v2W8IoJ2EhMhYmSw7qql27WJS+G4rUplToFi2rSv0NSrVvDU + pltQ8Lv6F8pXyxmFBSxiLSxglNC4uvXVKmAtusXy4YXGX1ixedEvXF1aX6t8adYnYCpC6 + rW1ZzdZYlCCxKEv8vpbqdSsXl8v1jCQv0KEPxPTa/5rtWSF1dSgg4z4KjfIMNtgwWoWLE + sRhKxsSA9ji7V5LRPwtumeQ8V57UtFSPIUmtQdOQfseI2Ly1DMtk4Jl8n927w34zrWG6P + i4jzC82js/46Rt2IZoadWxOtMInS2xYmcu8mOw9PLYxQ4bdfFw3ZPf/g2pzSwZDhGrZAl + 9lqky0W+yeanadC037xk496t0Dq3ctfmqmjgie8ln9k6Q0K1krb3dK9el4Xsu44LpGcen + r2eQZ1s1IhOhnE56WnXf0BLWn9Xz15fMkzi4kpVxiTKGEpffErEEMvEeMZhUl6yD1SdeJ + YbxzGNM3ak2TAaglLZlDCVnoM6wV5DRrycwF8Zh/fRsdmhkMfAO1duwknrsFwrzePWeMw + l107DWzymxdQwiSXx/lncnn75jL9mUzw2bUDqj20LTgtawxK2SlQg1CCZDQMgSpEqLjRM + sykM9zbSIUqil0zNk7Nu+b5J0DKZlhl9CtpGKgX5uyp0idoJ3we9bSrY7PupnUL5eWiDp + V5mmnNUhOnYi8xyClkLbNmAXyoWk7GaVrM2umkbpqHDzDymiKjetgzTocWNsJ2E0zPcfh + t46J4ipaXGCfF7fuO0a70c82bvqo3HceIcRlshgu73seO8BqlLIap2z5jTOY+T2ucCnBt + Atva3aHdchJg9AJ5YdKHz7LoA3VKmeqxAlFyEnQLBxB2PAhAZ8KvmuR6ELXws1Qr13Nd1 + i4nsp189jqvaNzt+0nEnIaniuP1+/UOZdyfoZh57ku8sYHKdvfW/jYSUks+0rK+qtte+p + y8jWL9cOJ0fV8rrH/t+85/p1z2N67p/ZsZ3JmdyliL7lrNxZUlx0MVIl6PxXOUuGOeArW + 3vuEvJ2beoh7SGyZKHKbR2bBWO1d49JDIcVM6lQtu9UO8ec8pOnXmkcponBPLNM2CwZ9k + NC/4ct6rQkPkQHMcV/8XckU4UJCy+VeTA== + ''; + } '' + echo "$base64" | base64 -d | tar xj + mv good.pdf "$good" + mv bad.pdf "$bad" + touch "$out" ''; cacheVal = let @@ -137,31 +162,40 @@ in rec { timeSlice = builtins.currentTime / 600; in "${urlHash}-${toString timeSlice}"; - successBin = stdenv.mkDerivation { - name = "tryfetch-${cacheVal}"; - inherit url; - - outputHash = "79054025255fb1a26e4bc422aef54eb4"; - outputHashMode = "flat"; - outputHashAlgo = "md5"; - - nativeBuildInputs = [ curl ]; - preferLocalBuild = true; - - buildCommand = '' - if SSL_CERT_FILE="${cacert}/etc/ssl/certs/ca-bundle.crt" \ - curl -s -L -f -I "$url" > /dev/null; then - cat "${hashCollTrue}" > "$out" - else - cat "${hashCollFalse}" > "$out" - fi - ''; - - impureEnvVars = lib.fetchers.proxyImpureEnvVars; - }; - in { - success = builtins.readFile successBin == builtins.readFile hashCollTrue; + success = import (runCommand "check-success" { + result = stdenv.mkDerivation { + name = "tryfetch-${cacheVal}"; + inherit url; + + outputHash = "d00bbe65d80f6d53d5c15da7c6b4f0a655c5a86a"; + outputHashMode = "flat"; + outputHashAlgo = "sha1"; + + nativeBuildInputs = [ curl ]; + preferLocalBuild = true; + + inherit (collisions) good bad; + + buildCommand = '' + if SSL_CERT_FILE="${cacert}/etc/ssl/certs/ca-bundle.crt" \ + curl -s -L -f -I "$url" > /dev/null; then + cp "$good" "$out" + else + cp "$bad" "$out" + fi + ''; + + impureEnvVars = lib.fetchers.proxyImpureEnvVars; + }; + inherit (collisions) good; + } '' + if cmp -s "$result" "$good"; then + echo true > "$out" + else + echo false > "$out" + fi + ''); value = builtins.fetchurl url; }; diff --git a/pkgs/applications/networking/browsers/chromium/update.sh b/pkgs/applications/networking/browsers/chromium/update.sh index df53068713de4f63ed5c62978a4c6ce23cf7fa6a..ea67a62c107a21e0aeafd2f958bcdc0ec5ae76cb 100755 --- a/pkgs/applications/networking/browsers/chromium/update.sh +++ b/pkgs/applications/networking/browsers/chromium/update.sh @@ -1,4 +1,4 @@ #!/bin/sh -e cd "$(dirname "$0")" -sp="$(nix-build -Q --no-out-link update.nix -A update)" +sp="$(nix-build --builders "" -Q --no-out-link update.nix -A update)" cat "$sp" > upstream-info.nix diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix index 89b6a7ce3121591a096cd3bd69ac414e8729462e..566ec6006aa1ce2c4815f921d05facfc13e28ea6 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 = "0w5k1446j45796vj8p6kv5cdrkrxyr7rh8d8vavplfldbvg36bdw"; - sha256bin64 = "0a7gmbcps3b85rhwgrvg41m9db2n3igwr4hncm7kcqnq5hr60v8s"; - version = "69.0.3497.32"; + sha256 = "0vsvjhmrc2p8mf4rfp9bf9y4nqkbbi5v8008cdvr6c14zq35w7hy"; + sha256bin64 = "1zzmk08y2rhirm297a91bvq5q30vvxll8fzfp7z5cpqb6az80y2h"; + version = "74.0.3729.108"; }; dev = { - sha256 = "15gk2jbjv3iy4hg4xm1f66x5jqfqh9f98wfzrcsd5ix3ki3f9g3c"; - sha256bin64 = "1lir6q31dnjsbrz99bfx74r5j6f0c1a443ky1k0idbx6ysvr8nnm"; - version = "70.0.3521.2"; + sha256 = "1wrg4r2q043i8i4vq9zn69yvnzjxzmxyn21k367909kci83hhi44"; + sha256bin64 = "1jv9wi4nddijjp9y0r77rxciqsd1rkd87ipvagyq5nzpxr6wdzsa"; + version = "75.0.3766.2"; }; stable = { - sha256 = "1676y2axl5ihvv8jid2i9wp4i4awxzij5nwvd5zx98506l3088bh"; - sha256bin64 = "0d352maw1630g0hns3c0g0n95bp5iqh7nzs8bnv48kxz87snmpdj"; - version = "68.0.3440.106"; + sha256 = "0vsvjhmrc2p8mf4rfp9bf9y4nqkbbi5v8008cdvr6c14zq35w7hy"; + sha256bin64 = "0zs3khzszppmjf5s4rs6fbmhgc9y0abj4q4q8j3hn6nisddi9q9c"; + version = "74.0.3729.108"; }; } diff --git a/pkgs/applications/networking/browsers/conkeror/default.nix b/pkgs/applications/networking/browsers/conkeror/default.nix index ded2b688815c3addd76d1ed32f0e367ecc0ef403..be1389c2121f71c35d40ed025525686dea481a5a 100644 --- a/pkgs/applications/networking/browsers/conkeror/default.nix +++ b/pkgs/applications/networking/browsers/conkeror/default.nix @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { ''; homepage = http://conkeror.org/; license = with licenses; [ mpl11 gpl2 lgpl21 ]; - maintainers = with maintainers; [ astsmtl chaoflow ]; + maintainers = with maintainers; [ astsmtl ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/networking/browsers/eolie/default.nix b/pkgs/applications/networking/browsers/eolie/default.nix index 8d7f4e6cc7033e41977c6a72694c531d421f9ec5..e067f3f15eb5ea329ff1a5d98c6ce2b973f0ff4a 100644 --- a/pkgs/applications/networking/browsers/eolie/default.nix +++ b/pkgs/applications/networking/browsers/eolie/default.nix @@ -1,53 +1,67 @@ -{ stdenv, fetchgit, meson, ninja, pkgconfig, wrapGAppsHook -, desktop-file-utils, gobjectIntrospection, python36Packages -, gnome3, gst_all_1, gtkspell3, hunspell }: +{ stdenv, fetchgit, meson, ninja, pkgconfig +, python3, gtk3, libsecret, gst_all_1, webkitgtk +, glib-networking, gtkspell3, hunspell, desktop-file-utils +, gobject-introspection, wrapGAppsHook }: -stdenv.mkDerivation rec { - name = "eolie-${version}"; - version = "0.9.35"; +python3.pkgs.buildPythonApplication rec { + pname = "eolie"; + version = "0.9.60"; + + format = "other"; + doCheck = false; src = fetchgit { url = "https://gitlab.gnome.org/World/eolie"; rev = "refs/tags/${version}"; fetchSubmodules = true; - sha256 = "0x3p1fgx1fhrnr7vkkpnl34401r6k6xg2mrjff7ncb1k57q522k7"; + sha256 = "1mhl7p8pwp8lqx5z15r0lx1y4mb2c1gjwy3w6041cyc4hyb91693"; }; - nativeBuildInputs = with python36Packages; [ + nativeBuildInputs = [ desktop-file-utils - gobjectIntrospection + gobject-introspection meson ninja pkgconfig wrapGAppsHook - wrapPython ]; - buildInputs = [ gtkspell3 hunspell python36Packages.pygobject3 ] ++ (with gnome3; [ - glib glib-networking gsettings-desktop-schemas gtk3 webkitgtk libsecret - ]) ++ (with gst_all_1; [ - gst-libav gst-plugins-base gst-plugins-ugly gstreamer - ]); + buildInputs = with gst_all_1; [ + glib-networking + gobject-introspection + gst-libav + gst-plugins-base + gst-plugins-ugly + gstreamer + gtk3 + gtkspell3 + hunspell + libsecret + webkitgtk + ]; - pythonPath = with python36Packages; [ + propagatedBuildInputs = with python3.pkgs; [ beautifulsoup4 pycairo pygobject3 python-dateutil ]; - postFixup = "wrapPythonPrograms"; - postPatch = '' - chmod +x meson_post_install.py # patchShebangs requires executable file + chmod +x meson_post_install.py patchShebangs meson_post_install.py ''; + preFixup = '' + buildPythonPath "$out $propagatedBuildInputs" + patchPythonScript "$out/libexec/eolie-sp" + ''; + meta = with stdenv.lib; { description = "A new GNOME web browser"; - homepage = https://wiki.gnome.org/Apps/Eolie; - license = licenses.gpl3Plus; + homepage = https://wiki.gnome.org/Apps/Eolie; + license = licenses.gpl3Plus; maintainers = with maintainers; [ samdroid-apps worldofpeace ]; - platforms = platforms.linux; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/networking/browsers/falkon/default.nix b/pkgs/applications/networking/browsers/falkon/default.nix index 21631ef191c487a15d12b30b94414070927b42c3..c721a61591a1060d6ad1f3ad3632ca333ef52fb5 100644 --- a/pkgs/applications/networking/browsers/falkon/default.nix +++ b/pkgs/applications/networking/browsers/falkon/default.nix @@ -1,15 +1,19 @@ -{ stdenv, fetchFromGitHub, cmake, extra-cmake-modules, pkgconfig, qmake -, libpthreadstubs, libxcb, libXdmcp, qtsvg, qttools, qtwebengine, qtx11extras, kwallet }: +{ stdenv, lib, fetchFromGitHub, cmake, extra-cmake-modules, pkgconfig, qmake +, libpthreadstubs, libxcb, libXdmcp +, qtsvg, qttools, qtwebengine, qtx11extras +, qtwayland +, kwallet +}: stdenv.mkDerivation rec { name = "falkon-${version}"; - version = "3.0.1"; + version = "3.1.0"; src = fetchFromGitHub { owner = "KDE"; repo = "falkon"; rev = "v${version}"; - sha256 = "1ay1ljrdjcfqwjv4rhf4psh3dfihnvhpmpqcayd3p9lh57x7fh41"; + sha256 = "1w64slh9wpcfi4v7ds9wci1zvwh0dh787ndpi6hd4kmdgnswvsw7"; }; preConfigure = '' @@ -21,9 +25,9 @@ stdenv.mkDerivation rec { buildInputs = [ libpthreadstubs libxcb libXdmcp + qtsvg qttools qtwebengine qtx11extras kwallet - qtsvg qtwebengine qtx11extras - ]; + ] ++ lib.optionals stdenv.isLinux [ qtwayland ]; nativeBuildInputs = [ cmake extra-cmake-modules pkgconfig qmake qttools ]; diff --git a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix index 47389e21328d27036652839379bda77906dc9ff2..ca295183e221ccc2aef3e291f4572e655b62b25a 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix @@ -1,995 +1,995 @@ { - version = "62.0b17"; + version = "67.0b7"; sources = [ - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/ach/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/ach/firefox-67.0b7.tar.bz2"; locale = "ach"; arch = "linux-x86_64"; - sha512 = "7e32f8fae2e8a863fabed1ca2da1d13d89873aa6450687021cf77fbdf8b8f7a589590ffe7dfb20fc6f4fda8bfd21cbb50e7d2ceb1fcebb32765926e85532a56c"; + sha512 = "4f640887e38c4c6fd30f8c6bb3d296336a73c9c039c9ebcd0b26080528d5ee2f9ae3e041d107d4dfb2fdc9fbbe50669e8f4332adb02f01e700b24afeb918b0c7"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/af/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/af/firefox-67.0b7.tar.bz2"; locale = "af"; arch = "linux-x86_64"; - sha512 = "b20b67c44eca5b615febb4983479f3ae4d8ebcc2b014b30445974d3a0f47672439f2121f4665cabc8ecefc955ee6f70651af24d46c7f324f898715565ba49864"; + sha512 = "75e2d8b31e3a4cfa43893d22d3d6cb274834daebfcc1ac27a7e77cf5404f5ac521362e9b57de7977c9117a6a5d4e1a975403c55d7bd61d5e06aae9d2957bfeba"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/an/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/an/firefox-67.0b7.tar.bz2"; locale = "an"; arch = "linux-x86_64"; - sha512 = "120ee79642bb4695b9b7ca7c1bf21e6774031be52a271da7042f6c45710d2bcf4405a4bb322245814c82c8f891067cc39309c69c5a61b40b908eedd804d9fdfb"; + sha512 = "4018b692d2bad85bb7e2d90416f6ff1b3a61bcb2d352b8d3a6b9771348434b624f923185015bd3bb32786fa83f8ce184a3464a91a80e17dc94113805fdf386ff"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/ar/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/ar/firefox-67.0b7.tar.bz2"; locale = "ar"; arch = "linux-x86_64"; - sha512 = "85f16989d0f80aa21df59270d98306eaf260fd74c3e28c00a15f546c5fef9eabb39a079645cfb7c51b1edeec63433cd62d8871d75728489220a3def049b47b78"; + sha512 = "9459917b266241cde076463d100d29bfda4f2da401d261fb2baa87fddffe86a983a5f873983aab5db8a16704d36850608a670da12d9fb93792bdeda7864bdded"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/as/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/as/firefox-67.0b7.tar.bz2"; locale = "as"; arch = "linux-x86_64"; - sha512 = "2a7d134b7f50d8ada8772daed52825f008a5efa7759de29393c6fe578c03e5952221fd9108e751671d3849492e2a567c1f1cd614d356fded4b3b11a7dd21a4e7"; + sha512 = "78cfd264f164400e76bf1a2935daa97c1e43b65bf057eb1287de07e148238205dfb72c3412437ad42948b9e9d47bc2a2c2f2360ac9255b2f834cc1a62c282678"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/ast/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/ast/firefox-67.0b7.tar.bz2"; locale = "ast"; arch = "linux-x86_64"; - sha512 = "522785be0747916af7d77cf93a5d9c8917f7b0b244497ee2dde9c2abdc49ab1bf916393865211db42b2118086b0e114d228ef8ecb95384bdc2818f08487c6a57"; + sha512 = "ec2ab27cbf93854c995d3d2fafcbd3e121224aac344a058e6c8113a3fedf62650037054967987fde6d035013366f7c5ebd4b179ab37b7c8a8a2fe95490cf80ff"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/az/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/az/firefox-67.0b7.tar.bz2"; locale = "az"; arch = "linux-x86_64"; - sha512 = "1bb6022ffeb6d0c6f263dc2bb2e111733baa00a7a06e0830a0e8103505a016a68c3b88244fe6f1764dab12c9b7682eebd547b62c38d3cd974fd4a0ede49a63b9"; + sha512 = "a86a3475738ad39c05db2ec9084032c7b3141882348870ab29e0940a1da0098e548175257d2b656332c23ae0db224a9f12d0c630985c25c0a0ff8d84d00db6df"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/be/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/be/firefox-67.0b7.tar.bz2"; locale = "be"; arch = "linux-x86_64"; - sha512 = "8197ecf380fcadda666d71cdb45eef73dae713b73268fca1f1f3cab152c08cf4f8f923c5878d5f4e07c55ecc564080db31f64d8ad26ec2ad9bf1c0bde47b3b18"; + sha512 = "5d997969f984fb9e9bf5dfbf64b66bf604abab0a4c1d2e53b82990197dd233b7605f3ae294053428a0f8509f0c640771b203d865e2e655fdb9449bdfa9454a97"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/bg/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/bg/firefox-67.0b7.tar.bz2"; locale = "bg"; arch = "linux-x86_64"; - sha512 = "e6039c1291ebd11c37ac233f105778e8bb19b3b7e3fe9622a01c6a9f3bdbeff74b24569284b7083da29febda260fa71429ac105f656e4c9f599deb132f497cd9"; + sha512 = "930794602f594588382b959ef54d4ff05cb8ba71d39ecc23934d29e8820bbad8204708392c28185fd97b2eff7cd1a93a7156736675ceb072c4b820cc78be6efe"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/bn-BD/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/bn-BD/firefox-67.0b7.tar.bz2"; locale = "bn-BD"; arch = "linux-x86_64"; - sha512 = "5d9a8af84b4944fb962da196ec065349b2109461506630625211d234ce7339e47bdcefdbf1c590a14c21cf740c10f31c1b5e6bf374dd696ecf2bbf5bbbeb232e"; + sha512 = "f186acacbe502a620f8b2dbc1ed6fb3d978128af749b8f55efa122cff6ba3702c21361e47fd5a4af33b533a7961ccc13dcb0ed19e2617b244a87c82295f491a7"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/bn-IN/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/bn-IN/firefox-67.0b7.tar.bz2"; locale = "bn-IN"; arch = "linux-x86_64"; - sha512 = "df7d1ccc455bbb55358da614f72ad878bb28f882ef82e2a007b743ce94f218cf3f469ac0b7ee968814e9fe87dac1c5c41b8b380f76f78f358e621077b2266a98"; + sha512 = "fbc97c4a4fa81edeb8b6af71accae9155f7efab2e79a724a671a07adcfa5f0f252faac3a3ec63db452126aa0ac87b2943657e9d18094274ce72995f3f7ea3f35"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/br/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/br/firefox-67.0b7.tar.bz2"; locale = "br"; arch = "linux-x86_64"; - sha512 = "ee172b89d05b727d895998c42af19d7d5a1f9040bdaf323a780dbe9b39937ccd91a721409ef34276cbf81fe3bb0a43bc6534335fb68bb38de8f50194fccc887f"; + sha512 = "ded74968f5cb4b9794d1a200fcf378698c5d31bace8b0e39e1c6710d665b7152e77fd565cdd694b8e556857d9415dc6af912c5c44bd5c937baf52cacb33d399d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/bs/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/bs/firefox-67.0b7.tar.bz2"; locale = "bs"; arch = "linux-x86_64"; - sha512 = "2ea8db7e182744d607d683aa55a482ce0da78d3c035b841597c8d7382cdf843e3afe274cc82b97b3244e5306f03b7b34f1964e772bfbdaa42cf98bd960d45872"; + sha512 = "b98385274bc71ce17144adbb164e9d42fbac318ea953fd994468cf6066fa0dd5aced6d737da3be21f0e0bdcf30507ecf29f2865941df8b6a6334dcbd4394cfa0"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/ca/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/ca/firefox-67.0b7.tar.bz2"; locale = "ca"; arch = "linux-x86_64"; - sha512 = "aa0b2eabba996fd8073a09898a9e42f2d5c8fabd81ed02bd74a14bc5d9f9e00ea4f20dc647f461e5bd44b8783f12449de6407c440a6435796610ddd709fe4578"; + sha512 = "497a623b9e39035337ca67bee7d04399f38eadba23ecb9c354ee848c969746655c693c3fbc00ad5e826ea0d5140dd0ac6ace029c35b56fe3cccf79c8612de68c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/cak/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/cak/firefox-67.0b7.tar.bz2"; locale = "cak"; arch = "linux-x86_64"; - sha512 = "e93b043f81d8f3e559f732b2b667774fabbee643a5ebc8fd6fdbaf1ffbdf33b8bb0d85035f2233a40da2c611cfeb7740230bf53de57bc4db65bb96046d29eb1d"; + sha512 = "55ed818b0b3acee7416615ddb606f0695f948fa633b44889e1881acd091ac514a57a8678d8830a91bc7097282a2df30396e3f27a0df225b7fb6de458cc5ff832"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/cs/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/cs/firefox-67.0b7.tar.bz2"; locale = "cs"; arch = "linux-x86_64"; - sha512 = "6fa2edd2ed70b4ed8a37e3b5e61f1130bb2c69c5a34b03d2a28d7840834c0db51ba7239be548dc792df03f4832344376bfea9dc542fbd8771a10bb5ef05968eb"; + sha512 = "a79c77cf3fad65437e20dc4f086778daac9bd403228ac0efbc1aa5b69216b6aaa91488f5691bd9cb9e27a44b7107342ff3cbe03be73a83a9f449eeb777afcfba"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/cy/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/cy/firefox-67.0b7.tar.bz2"; locale = "cy"; arch = "linux-x86_64"; - sha512 = "dc4f02881550ce4f77cbb66c7f3033c41d0697c5d86b8ee52396955b3d3f81fb870c60f82728cc4a8d7e647af7f08c1deda4d1f30b8c140c58786576c3460d56"; + sha512 = "da13683201a46d15bb6f6c4ed871459a83894a8d883a743637a978ed202001dda2bf0812f02c193f178023a1229357b394d69e6e902cf76afb27f4929fc6829b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/da/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/da/firefox-67.0b7.tar.bz2"; locale = "da"; arch = "linux-x86_64"; - sha512 = "df887b8627e3587fd1fa94055a9e39bd3b42ff5d0d9b2d3ad761a674700c0081f769fded2e9b5262316c81020d4ad58b421185851fbb1c770a023ff94b2b26c5"; + sha512 = "9694ffc20872aa9e033255a8c5f8c98b4dad2159aa3dc2bd841240b2c462b519831c5d938d3ba7470c738f3c587ed211367ca1f7a00e225a90744ca330d97e15"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/de/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/de/firefox-67.0b7.tar.bz2"; locale = "de"; arch = "linux-x86_64"; - sha512 = "6195000ee4013587a2f4cceb368b8283a99094f2617b0a350c62ec3e562a049b49c01691a876dbfce77c7d26c3354c00b9340bb0f8fe822000f012fecf19b842"; + sha512 = "0fc81d549c2636d2e58b8f4e9923e6d5d691a64bf2909107735eff9aee6bba0de4d967066fa6937f237939391c86ccca55ae03b8e55513600108bd86ed200899"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/dsb/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/dsb/firefox-67.0b7.tar.bz2"; locale = "dsb"; arch = "linux-x86_64"; - sha512 = "c44a694a85b2f443faa78fbd2ca9cbbd94a91fe1f33c2438a0d027767896f842edbbe668bfeaa9f79a00e98d7ad89b45173273a13b9b0825952f39ffac256397"; + sha512 = "ddff938d5a79e9253c6815846b9951d8b64618d5308d8fde620e21492cc4979bb56d88d716861661a50d01f0f020eb1cd6baeeff83436e584b94f80b3e93eb88"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/el/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/el/firefox-67.0b7.tar.bz2"; locale = "el"; arch = "linux-x86_64"; - sha512 = "f20f82982b59b223e8bd2f62c6c0fd38517799cb425619104e38e28526aec8b21eefb9b76fe9f6c7be6282a902144ccbf1033cfdc2202d927336cbac9d9c8c58"; + sha512 = "099ea9058e26600be8ea8a82cda49a3a76585cb6078bc221a653cc385022ff7991f8b9e02cb7caf7a6562bcc84c00cd7a69c01678d31fa1dc89f2c2659347de3"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/en-CA/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/en-CA/firefox-67.0b7.tar.bz2"; locale = "en-CA"; arch = "linux-x86_64"; - sha512 = "163c3cb96fd01bfe1cf06f3f725f612f966903ed64f8f924008288e040402e252a490b7153b9a916040c25c074856b179eae4a89d511f4d7bc73dcd985367406"; + sha512 = "6ebb2c19ed3705834a29f64d79fe8d0cd4c8b5e17ee957e30e11f63399c887491e354a641df37743de9d3a9e4b864efe4b6a2481a029ed545f06932a49da26c9"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/en-GB/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/en-GB/firefox-67.0b7.tar.bz2"; locale = "en-GB"; arch = "linux-x86_64"; - sha512 = "147b7d01424a53245d0f73440961280bdcbca765b2580594db60fb0a398daa483f913d799543e97903393dec2e09d66ae437f1ce2d64a70c6ec74fe0017511d2"; + sha512 = "924da12dcde359bb0576f14b75d2114808f495e98903762a960f508ce939b36f35a02f4858042b9be99305c4f505dc7e4427bbe5258c5315efb91c13e9125e3f"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/en-US/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/en-US/firefox-67.0b7.tar.bz2"; locale = "en-US"; arch = "linux-x86_64"; - sha512 = "e822437b28e12d38bd701afab12c77d3667bb30e40420db8bee9e7ab85a77b8e3fbf00300ec2711753b25503aa7d2fb870c646ce652335cdde9fca436e04324d"; + sha512 = "d85347fc794383b2c9ce848ec064010e3255cbf471187952d4adaa2f3ae461befd8515b95601a5d7c6c86281c956601408829bb161dbcc6c259686e73eaa7773"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/en-ZA/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/en-ZA/firefox-67.0b7.tar.bz2"; locale = "en-ZA"; arch = "linux-x86_64"; - sha512 = "f0a5a20d9f99ab7815834ef58ded2900f32bfc84f998894b0098e22e33eb192f906c6d8eb95aa6f16e23df6413a841c681284796a85af85d9d8787c9dcd20b17"; + sha512 = "6c843b8069e7f375d42ffdf7898a1331a9f847676dd0e13f6cec0701ae4ce8c70b415da314889781208d49696af4e291b078bce0d64721010fb269cdbd321bc3"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/eo/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/eo/firefox-67.0b7.tar.bz2"; locale = "eo"; arch = "linux-x86_64"; - sha512 = "722e579e85603f959488b98c45904e65f87d424d914b90df79e1e763cc84602d03dc25891c46c7ff2abb37f296c97193f08e6f90de01b64cc15b6da48678da6a"; + sha512 = "dd6e0d4d343c479cdcdcaba4947994c45618116f6943f0e9b0c2654de6bb1ab849a99679bd2a5a646ea0f6e0bc7b392f67de2766701bf9151c99d59bec5e2ba3"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/es-AR/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/es-AR/firefox-67.0b7.tar.bz2"; locale = "es-AR"; arch = "linux-x86_64"; - sha512 = "f0533cc71133daaf7de1fb200b7f6394e8cf7aa0113f4816096674b588c1d393381cea1607e94311a85621bc58197a923af2772a32b424966b1e5187c9a3aec0"; + sha512 = "4defc2bd2a7831081ac70b29915087e94eed6659dcb23e961b7200cc6b89feda2c0442fc969fcfee57c537ad487fce6edebca2ac62f356b3c387e1a7d1790d93"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/es-CL/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/es-CL/firefox-67.0b7.tar.bz2"; locale = "es-CL"; arch = "linux-x86_64"; - sha512 = "a12837c9698e04b697fee3b7fbbfba1d69ec795b80bd05e64e0db90e53faded0201fdf9808c8302b7b5cd15c1dc8f092a9a3ad2084da7de58dc1248e03c2f5bf"; + sha512 = "c0494964c5bf6d0938dbd78d5b801e000fa6c850d95f629a375e8ea69d58fb7bce8cc38d32b456fb8341230b13eb4eb34b31b59e46b32941281a6283e9d52e7c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/es-ES/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/es-ES/firefox-67.0b7.tar.bz2"; locale = "es-ES"; arch = "linux-x86_64"; - sha512 = "8ed88af39e201686a3c2f6bb42690726b1fb727d1978568f9968d588272f0c90565f69c2ba39ff0d24ea7855206d1ed6b8cb924e5079007ac205ca9962222af0"; + sha512 = "a4a7f4fd7552ef57c3fec732cf48f6d442ce34cdccf6cd01f713b1468522d33d61c3307b6919df4ea38ba4ab2b1a237147586dbe4052e7084f03ae0f71848389"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/es-MX/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/es-MX/firefox-67.0b7.tar.bz2"; locale = "es-MX"; arch = "linux-x86_64"; - sha512 = "aa40c774af32560d751b938bd002a42dc144de9ab1f2f250e8c19fd564a5087d635662a50c052b14cdcb845a682b25c805b0ea54b7957dc0f36ca9b26803a081"; + sha512 = "6de76564a94bd0a61834ca2957ff4e969551d7fe74716d80975c5249f85aeaeb7e0f40d0ed8a5653a237eabaa527de234192b97df1525043148c2eb3246799ba"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/et/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/et/firefox-67.0b7.tar.bz2"; locale = "et"; arch = "linux-x86_64"; - sha512 = "43599868abe6827f8f17cc01157c5ab0a942654be65ad9285282da314dad3e22210a98b3039e8f35e9e3db49af0a18551c4f98f0b2bb1829a3987f0e00d525f6"; + sha512 = "3406361c8358703e6166bfe19cf690a3b03083e043d9215a88ee9cf923f82064217232622da0286b44b0cd3f9b6ce570e73f06b2f8558096d2c0f97089fbc691"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/eu/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/eu/firefox-67.0b7.tar.bz2"; locale = "eu"; arch = "linux-x86_64"; - sha512 = "a9f7cbc0253b10430c0c24648fb2ed5a0a20504ba306e1247a432f7d77d8b2ec9ad9ec2cd3c28079733e4b9ebddfe7488b1db8e3a835f1404e6b579066384d2b"; + sha512 = "e1e3858a11982c22aa2d592343365db0fdf4acf5ae5d366e9f862d550a0e90e383182d6e20a1e85b5af62746f3750ab97269037973575edc8eb2f7e12e8231da"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/fa/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/fa/firefox-67.0b7.tar.bz2"; locale = "fa"; arch = "linux-x86_64"; - sha512 = "51135e2c5303d0d237a7b1016cec133bc2c490ace618eee703a49c0c9dd9f08a8af563a6a864ebc985b8962645f05750690e3a554da2194de42dae397ab97d1b"; + sha512 = "e4171bc5e5bfd699eb0a99fc7f7f3783fbbd8c888d506e7cd76bffd1c053056713729c41990cb6cb4433c1f9f964bf00449e682fa953995a21ba2b41e781ed01"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/ff/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/ff/firefox-67.0b7.tar.bz2"; locale = "ff"; arch = "linux-x86_64"; - sha512 = "64b32c975093e936e938daca63944ab118df082d04f84567beb081b413844181d574dac1d858084f33abc4bb79d3c154f661775ec0918a052ca59ab2679ecd0e"; + sha512 = "c7dd25f2dd80913eb688ed7eb3e485f3f320e3fedc71bd65ed54b63c48952de065110d084db3e32bb22c9bb315f353280d5a9f396f025464d0b6114f1ce3c4fd"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/fi/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/fi/firefox-67.0b7.tar.bz2"; locale = "fi"; arch = "linux-x86_64"; - sha512 = "a4510c29801a4ca7609ab61dc1429a1f3034a61544a9a59ef4d8b64db7269f8d6f9c25f500a13da4af7741d035a7b29e064da457aa8c3beaea57e8b134ce66ab"; + sha512 = "d8303e66241a4371717ca390a295c16140f6917e8f013e4bcf2e4f21127544ee12989d8e1befe5b907b7bea51ae6b20922b1f68dd645c0677c2c68ce0bc90295"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/fr/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/fr/firefox-67.0b7.tar.bz2"; locale = "fr"; arch = "linux-x86_64"; - sha512 = "09547877fdb386abd306081d764df6aa4ccc0218aff9f84453f97e79609004bfee2f3d702fcbaef5eaad1194acac7788514da21903dbfa59d5bb54d70bf705aa"; + sha512 = "a5454f58aa2f5f04e730504d17500d8e5edba8e3f9828d4e9aa07eed872d7f25e8156a337fe384ae523e51a74f86d6e8b306e1184fd8fd8cca71bc6dc5423d06"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/fy-NL/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/fy-NL/firefox-67.0b7.tar.bz2"; locale = "fy-NL"; arch = "linux-x86_64"; - sha512 = "a9d150098a3adeb0a88587e66594c297ea3b16d17a4c7331707ed94ab6c0565c9a9045d5cd863a97ff2d98464bc728701501fe57a50fd7ce6e3d36697be1fc58"; + sha512 = "83bbe2d56ff8a6ba2b2bdc5550c0d0621bc2f938b2977feb23627be0c38b9f43ed1eec4eb96ca875441fce5d5e0a00bb8ae3c5f6630ad93cf3e4683baf2d7090"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/ga-IE/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/ga-IE/firefox-67.0b7.tar.bz2"; locale = "ga-IE"; arch = "linux-x86_64"; - sha512 = "babe69b1a9b9a469db354546822c9fddb52e17fb6aa196eaf05de24e51cb8a1337994f4d92e412fe4c92de5a79f4561c799cc44cae039e0de6c8ea25a91516c6"; + sha512 = "9be4bd1576733024fb7374e9b343c200c6a2ada0961ee12b3217413407564d61749707613b5542c5a20d47ec4c9b505aac86a6587f70213e78df5f77cac3c2e5"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/gd/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/gd/firefox-67.0b7.tar.bz2"; locale = "gd"; arch = "linux-x86_64"; - sha512 = "68a5ddfb2c450e034a8491ccfb5de00a807f89ee9d65f4fe42bc9bb7dfb7c2b26c3a0eb79039992c7989105549f177f087599ca84a50257417a1aee0920d2f2a"; + sha512 = "77ec579a29ae1ff35565311b38a4f09f0bc37aef54d0287a93dbf757ccef8beaa2cfd736a319b73bdfc6f48f942c9e885a8302a70a9a7844955e8147cd9afb4d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/gl/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/gl/firefox-67.0b7.tar.bz2"; locale = "gl"; arch = "linux-x86_64"; - sha512 = "22aa041a0f076ba986f13e835909bbdc0958a61d6ea92933a392b17335e9698b398fb4534f9c830dac3fdf94e8633cbdf1fb9348199b6e60de1a0a97047a8144"; + sha512 = "2e047ae403ac4d043b063387c02fd17e47ead72737caaaa93a04b326b500c1e25b4f3a7d6ae2127b628dff86b31e49f0e500b3685bd945fb223598a584116dfc"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/gn/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/gn/firefox-67.0b7.tar.bz2"; locale = "gn"; arch = "linux-x86_64"; - sha512 = "a8bed372475435fa95e387ca23189f3d3130055a1ca211e7a51fa74b47835bcf04503bfd65f31747fa30e370ffac644cdadd0df3a25e097d56b909bf8c2651ec"; + sha512 = "6372fc7499b7a1ee418d267c73ae05f68e03307a647fa90d5f66e3d3fa80bacbaef78b276446855bf3aa5b7979072c69fcfa5f7a07d91bc56f39493c549c3bfa"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/gu-IN/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/gu-IN/firefox-67.0b7.tar.bz2"; locale = "gu-IN"; arch = "linux-x86_64"; - sha512 = "067d16fa5afd8fd83f5e27d26b282c80b4793e85f53c12436730b6577b5ff5de009e2da8305a65883b04149f9120dc365de9b2681e3fa4479f1e201cc7ce2385"; + sha512 = "5bda58c9d0f14ab1484f8821cc7231186ac11eb610f021df398120d38ed4b0bfd7c2c3b8bacad75f2b35e8ee8d34f95cb56e816c4db8f2f79acca5ec76e02a18"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/he/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/he/firefox-67.0b7.tar.bz2"; locale = "he"; arch = "linux-x86_64"; - sha512 = "d7ae260f75f7d7931849fc55811e26ed51169870d4e3f574a692b92d5454de69428b803c5c9f9d3e090c79857577b02a82820ac75c52306a12eabd2ef72ab38d"; + sha512 = "558b5f326e87df3c668458488a6fc6261cc84915d9bf90451c8a426fb973b048279f1e0d2755e4c9bc081df52351e8b70dabf5a8113e07b9fd7e9bfdcc8914fe"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/hi-IN/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/hi-IN/firefox-67.0b7.tar.bz2"; locale = "hi-IN"; arch = "linux-x86_64"; - sha512 = "f508a9889691484120c457b3838b1a6de00af0f7ddd23a736cfb8efa9db1886b8cdb9cdd2e9e134aa44af86e8ff8efa4b4f967ce31abf8d283488e379d01665e"; + sha512 = "30abd8a9ab1c410f3293c4d70895b98cd0921d95ef8b986f30ffdc0cc273d7b10dd038ffae2658ae209f8625ee4493b467e4cc4b737fbc4a1a1f8ff5341843a4"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/hr/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/hr/firefox-67.0b7.tar.bz2"; locale = "hr"; arch = "linux-x86_64"; - sha512 = "ed40057ccbd2da2a675b83f28ee69759921dbefe2490573269fce6b2b671ee1e1b480dd75a773e22ab594381996f1e1f5aab6b0145a8a4612cfcae601439dc9b"; + sha512 = "052277cdecbda15e260ad9cfbc9ce4e4efaf0391f301cc4870ccdb37320a9829284c41cdf09f908aac13fd745437d8b08bc4d5665aadb72e9af8cd648514271e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/hsb/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/hsb/firefox-67.0b7.tar.bz2"; locale = "hsb"; arch = "linux-x86_64"; - sha512 = "ef4c1b377ccd898585b7aefa02bceac1d9d8ecbcd02f0679ad029743222c479f3dc57c211ec9872d5bf2f58e50336d5f248c46ce4d46536da7b0aff03cbaf135"; + sha512 = "d3641686918b38a41eeb3d20d583f4d2a7ae31e40a3c5dcb74acb268eeb5d6a37eee86fe7262277649ebb406d2ff7ed35e20fc8e261a0f7ec230f08b8440f629"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/hu/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/hu/firefox-67.0b7.tar.bz2"; locale = "hu"; arch = "linux-x86_64"; - sha512 = "fadf57fe984884b4caa678cff5ccaefcdfc9f560ccb33c8f449ad87df19d3177ab0205bf5ceaa60e5e874d05c1262f3cf465a0723c24453655e60280b7f06b19"; + sha512 = "6b986fbbe8722aa8fe50e0f5bad42d75d7ea11bfec33ff3cae417bb98bda64994e6f7ddadf2e7645d8d2b313908221f68cb1be91957b2542f35355750b408e81"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/hy-AM/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/hy-AM/firefox-67.0b7.tar.bz2"; locale = "hy-AM"; arch = "linux-x86_64"; - sha512 = "53f7db4751de67b40d31de66228ad0deeafe8216a217661069a1931de3dc7d050f4e8d9a4721df5680a5d784203709fea5851f887b9c22f2b232150b2b969cf5"; + sha512 = "4f49a55aa4a3f84c3d4d0d21cb59b42d27530baf8df8697b7baf2b3e2bcbd07a80f94ba462d63caab57ffdbcc2bceec6598778e942be353953de28c912ffced5"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/ia/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/ia/firefox-67.0b7.tar.bz2"; locale = "ia"; arch = "linux-x86_64"; - sha512 = "58ad97f682f24ebfafdef3641c59410b6e252bb4e30fcee3c7b51bad7081fd76eaa15e116759e2a6844cf50ce0b597ac8fb7be8eb48618d1615d3654af2a8bdb"; + sha512 = "66cd918c709013c519210cfd7d9e0e7f4f8124de1c39b0f101076d8e75e30e593efa0401c145dcf1591ef86ee78713b83fa32429c9ea3fe2c4190a0ee88bff73"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/id/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/id/firefox-67.0b7.tar.bz2"; locale = "id"; arch = "linux-x86_64"; - sha512 = "e5e8a41fddfff24b958310dc89945d2a89455f00dc04906c0604e153350c99a49b1c051da60ca139928a380db6d51408d8de9299248caa7319e9e2bfab6d4e8b"; + sha512 = "93dac59182acde7c59e9e3c762a4e981652cda78e042849cd3bf5e5d7de4a3f435350c633384b0908ca53210d33974e19dd36d22977094914828f1bb8327b6d3"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/is/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/is/firefox-67.0b7.tar.bz2"; locale = "is"; arch = "linux-x86_64"; - sha512 = "cb2a6793fc7c08d8e6727a12b5449e4afef224b4f764b14cbaece7d9c78abaedb0eadde140becf9a8e5eecf0359e4d365f502545838683a5bdb49a844a1e60f4"; + sha512 = "a1020a3f594bb43050120df62faf3fab7c03619b5432f4027eec368fb559f692b9eb25d4eb2f953617db5414a1ad24c7409c963950d03dd1df4d084b66764248"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/it/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/it/firefox-67.0b7.tar.bz2"; locale = "it"; arch = "linux-x86_64"; - sha512 = "607fb8a8267d125a639e0ae6c906df579874df537fcaa54aaf7d5dd42d17fe1e7b3aac680fd25a18fa4c2dd8cd68bd7dc168bf59df28d7aac80082982cabe8ee"; + sha512 = "ccfeaead66f61caf73b7c37ced5c7dabe688e1b5994386ee44d740b9e1fde2956b697f638ee7eedb5761bf35a94d82530543f1588b88720e5c07c3d6e10f82bc"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/ja/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/ja/firefox-67.0b7.tar.bz2"; locale = "ja"; arch = "linux-x86_64"; - sha512 = "2e803d9c3a633f2daba2768299dc3c8f52b67f4a511c20bbcb608962e28189768d242af3797fa06cdabf8a89c3179ce229e690b19eb2f3baab754f30595761bb"; + sha512 = "e3048bcc92ce62fd5622cdfa96b75abdb35bbbc8e17411bcd7c1d8cf64de9e073989fe2b6f86bb1f56c4c6b398479f1f946a1cdcb563be9cdf1aae63e36e153a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/ka/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/ka/firefox-67.0b7.tar.bz2"; locale = "ka"; arch = "linux-x86_64"; - sha512 = "c6d559bbc1eeec0e26e7b374e867bb9bce9663310578ebe518150e977a46fb9fdf5f23446d37e64141c6fd4da89c6f79edd08bba7c450c78cb07c3e66e5c0771"; + sha512 = "20a66af34848ebcfb266fe5dd8c7a8d663aa8aef543988a5b06e33e4ca8cd9636dac8cc8dd219471e49bb596013d42664fcef4c4e2588e36c4e40ebcba947fdc"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/kab/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/kab/firefox-67.0b7.tar.bz2"; locale = "kab"; arch = "linux-x86_64"; - sha512 = "8e7e979c3abfc711f3cb48c5baa61839f1e3973fd35a74964400d402cfdea31a69310a94e49dffff63411a94b169e19a9d508c83553541fd42f307652a72d5bd"; + sha512 = "619787bcc7b1a0ca6daccf6e5a555be342c09d7fb6f55c2fea3ca340a1852faab87bfb2af9f6828dd51fb94cc3a799d577f5b0b3561b7039e8fc177ae1bb8df4"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/kk/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/kk/firefox-67.0b7.tar.bz2"; locale = "kk"; arch = "linux-x86_64"; - sha512 = "e13112297a1d154866d9933d1bf6daaeeb4de05f149ad0737268ad7f4fd42c8be1af9c111a2604368c1c633a2e50f009153845b688fd8c7f42e6d94a429c6607"; + sha512 = "74478792242cb29304c37c7aafcb17783da6c7d7ae75e4307f20640104bb4a9e232c709082d30747a66c4bda87fac4020f9672c99b6858b9b08765f9253b4b73"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/km/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/km/firefox-67.0b7.tar.bz2"; locale = "km"; arch = "linux-x86_64"; - sha512 = "fa9bc4df90efe92d0b803ae0d88cbab6008d8312bc3d3bdb79913eca7fd6864c9141520772f0ca17f85d7763186630410238dd1a3fe8f62915d0beebd8d3027b"; + sha512 = "8c62ada471c71c98344ba08e83593e78c6de6a4f95016fe48e444bb4bb36c727475268ad58adda8212f37229cc1f785df78f3b843e8b55905c661bfdb2a3f334"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/kn/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/kn/firefox-67.0b7.tar.bz2"; locale = "kn"; arch = "linux-x86_64"; - sha512 = "10fedd6b5e5f2fc7a3160c7ae8e7d48e336534a2a9c5133621166ffe9bb8ea81cb08dd44df8e92a2db9638df0b6aa7861dafafa436b63c9b509cfcf4e4c26ed1"; + sha512 = "77f8b91894a9c94672f71375bc83692a40771beacffa66ae76624cac2633138280e9a0ca5bd1f9b91373a7c31e26ff7fcc1eb0cd148c8b881890ee374a9dbb67"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/ko/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/ko/firefox-67.0b7.tar.bz2"; locale = "ko"; arch = "linux-x86_64"; - sha512 = "88a76d6c3dff55eef87b380594ee64367e60b3a42ca8b8a7d76f7d4dce8d7b1e51bf7a06dfd6d2f43e804ac5840f1748a275210abef98dab5f6ba3819a674b10"; + sha512 = "ba8129e14fedc719ee60dc382dccec57f6d6bbf010da46d7853d99cf60b2f8cb8f685f2551e8e32e052745de4cdef214f3fce1fad5ecc73e4eb81253f4ae72e9"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/lij/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/lij/firefox-67.0b7.tar.bz2"; locale = "lij"; arch = "linux-x86_64"; - sha512 = "9e4bf43b24577d60113455d52eb6363a3372d5fdcc22e63dc173dd1455a6385391f5a676a499f22809b883d18b78c1abe186d328fb2357a464e891d7d27434db"; + sha512 = "c8f093d027bc7ad7b5cc92b4a756ff0fa216607a27e6bff28545d140a8d4730cdb32c4e222ef0998ce3ca3a20c2a11c83d66a88858fc9614dcb65b77926ab89a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/lt/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/lt/firefox-67.0b7.tar.bz2"; locale = "lt"; arch = "linux-x86_64"; - sha512 = "9a56ccd577e112b072a42a65e99a35a5404d7127b438b6522e9787f5b75dcdd20e4d42f8f370d218e48554514059bc3d625f1b13395cc1b3e79fd7069c276057"; + sha512 = "51088c7053b8f0654202b508442f808c0d66498aa80f7bbaa92b4084115ef71f250afdbad1e5957e1c5798ec164f5d86c0d61e7a99dbfd2a1cf2df17f3ad3da9"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/lv/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/lv/firefox-67.0b7.tar.bz2"; locale = "lv"; arch = "linux-x86_64"; - sha512 = "67d2ad4f29ca504ad1b515af5de47eefa48678d70b67b7853273bd98944a4a6398822c2cc0e2135e0fc1a8c45152c939a4bbb06dea36d6917a854431bae62f75"; + sha512 = "7fce010fcade668aeda3a322376e3753f1bffb853559a76c573babd2cd553e032fccc0cc9a71ddb437b8aed87560ff1bdf3458e39d2d81bdc8bc916e8716e9fe"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/mai/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/mai/firefox-67.0b7.tar.bz2"; locale = "mai"; arch = "linux-x86_64"; - sha512 = "d969b4adfc93dc808c41ebeeb0b44668d09fc4ae47b6f324a3bac7c4c304ba914785fa1bfe38bcd0467935665e7853e1fc38621b70c2e6dbb3004c9e67c78ec4"; + sha512 = "8b641a43ec2633ee07c065e33681f81dc36805b13f3221485d1fc4bdb1ffeee4df79d378d1f50720943679030662f89dae42e005a01ab9281aed090c994b0cc8"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/mk/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/mk/firefox-67.0b7.tar.bz2"; locale = "mk"; arch = "linux-x86_64"; - sha512 = "289a00ebb4070dfd94230b6bbc1fa3db40b96f9f10d2062d81fcd8b34b6f950ef87a68a50270220052246adefa046b00e38f63b79200143fbb0c8be7f65872b5"; + sha512 = "2fa98f6d1f35419ae526f062f6742be138daa4715f501d49b5ee2bb7ef63edacee8283245fc2ab81d484b0625a39e58fccc2aa9e255f56f980d37bde86fa57ed"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/ml/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/ml/firefox-67.0b7.tar.bz2"; locale = "ml"; arch = "linux-x86_64"; - sha512 = "6c85958a7f09075f3c271b62c20a6d02bf18ec36da494f884b3a18b7ec5fc0df91c5ec5a3b14d1ca7501f6a804acd8b56888c331b55c565511a41caba8a8bd8c"; + sha512 = "cdda564dce2c6178f33fb79f26d007fb96b544de3c4d0b5fc67d689cdea1c5b99dceb91f3ab9922c00c725ca8b15eb555c7ec7c661981a2159f7ac1af78474d8"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/mr/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/mr/firefox-67.0b7.tar.bz2"; locale = "mr"; arch = "linux-x86_64"; - sha512 = "8b63d0b332ea5c7328df9dee470010ebc9dd17ae342ef43961e5f87f685646a7cec18a114a028bf0bba0df15e5eb2a04794ee28aacaacf50f75294a9268e9b77"; + sha512 = "264be2bd1a0e73a84485419bf80fe04b3ebfe60de588ae6b2b7130ef5867139f285fee577d8bd50b5b161a040ab7d90d3cfc37dc26cd5461d412c667302128b7"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/ms/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/ms/firefox-67.0b7.tar.bz2"; locale = "ms"; arch = "linux-x86_64"; - sha512 = "8639a93a8fa49c7ab3d0ee9c9e966bd7a5b6e99d93ee4c675e307c9720f09a485add3f81e936ee4aa1928fadc427e157e86d9497d67d3a06e15a9b7012087073"; + sha512 = "b33d82fdb3c566060553986d796f5e3d405d748029efc814af8c412328522d52c5cfbcc52071c75db6453bc4097d7fad8c40ac897822ba7f3b1237c14735e81c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/my/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/my/firefox-67.0b7.tar.bz2"; locale = "my"; arch = "linux-x86_64"; - sha512 = "3220272d6a6c8d853d5caa4e18351cb9565f0fe806cd67f7206251f0d3d0118b0a8e5469d8b170aad07d0f6ccb805068a5dae79f6c9f18958b68839470adcff2"; + sha512 = "696a6e013b998b7525b06d6247ebcf658276eb23fbf82a6beed6264a8ed754df367242ad6b70e36e76f84c86116b8186819ece9c4db8964a531f225e84ccc9fc"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/nb-NO/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/nb-NO/firefox-67.0b7.tar.bz2"; locale = "nb-NO"; arch = "linux-x86_64"; - sha512 = "c6c166d486eef5540e4b6f0ceed6a1ff638f4aa5e87efa680e03b0108b23679e91dac02eb06ee933981411770967a1dcdbb35afadb1269f8b46faabad92faf9e"; + sha512 = "7871bb5bb005d8cda4bc8f37029fee266b303335791fef063dacd5b6146631ba50f7396ef7f2874bb90d21c738fe88f8ea470636e229914888a2d9b3f87af228"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/ne-NP/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/ne-NP/firefox-67.0b7.tar.bz2"; locale = "ne-NP"; arch = "linux-x86_64"; - sha512 = "b59dd15e2f89ebe15a361c3a175ee763773d9ef7d85f58aabf775bd16f016f857ab01c094e271e5b8e56ce77114de57e31cc617b1c58a38a521b9c8a21ca000a"; + sha512 = "79b2f7d885b2e06a6a3b66cff07c2f5004494e54fb251631ccf774bc95bd1e006e77f0ebace97401a4137742b3f6664abe8e63ef31b3221ce70ef81a91544d93"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/nl/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/nl/firefox-67.0b7.tar.bz2"; locale = "nl"; arch = "linux-x86_64"; - sha512 = "d363573109c810116b4f9efd2b3f87b456ff3d825808be21754ea34659b5ed8ea5fe87018149178e7f91433b2a7b8c61f7c4a59264fdccaae5acec2344597f1f"; + sha512 = "cb889ade72f02ed026d5363c4ce3858856c2c472b9116f89add41fcc54086deef0c95e16c5cb4dd984534e18167a48330738a2701beb07ab7a316e58fe9e71c7"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/nn-NO/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/nn-NO/firefox-67.0b7.tar.bz2"; locale = "nn-NO"; arch = "linux-x86_64"; - sha512 = "457a86dbd230cb5f87955ac01af4fa58c2b4b625d67bb8657dc3fe01ac625935469b3d72f6065fdbb18a18af1db9b402b4d2540457e8c54bf2816a0a7b667db9"; + sha512 = "1969741dda5c2637f6b11eb0d15c3b49b425f440dc37a688d33292b1f4e5742de45c22df0f1097265e0b68b1769405a25f3338519e14284749dac1aedfb455ef"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/oc/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/oc/firefox-67.0b7.tar.bz2"; locale = "oc"; arch = "linux-x86_64"; - sha512 = "662e3e3fcf70c90d95fed5864a5807ca1ff64058d3d0ea31542a66985f19c9783ecbe0b4becd018ce2760318477a01ce1c6c5a1ef0077293f3fbdb5244b2db45"; + sha512 = "ffe7886c6a79dfc496e9a60ccb939b9d3641152ec93036a13eb1e3939d1e497a030b4c0332868673b81fcaf7a1a84ce52ed7f2aa656aff9bcc18fc00bceeeee2"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/or/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/or/firefox-67.0b7.tar.bz2"; locale = "or"; arch = "linux-x86_64"; - sha512 = "81d954f0b5e1b8fa820cb9b860a7a09ea5ef4702febbee123c0cedea11360b84fd06d3f9ca79c008e734fa5a7021c6c276b31a864e30a3b91f8a239854feefb6"; + sha512 = "227875a863199d30d1a64432249cc9c2692edabec3bf04fccb747f10ba3e4874e1fe8d3ff7164c2d58ae4d49071672082a82b554aaa9da18f0e491dbf7886bf2"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/pa-IN/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/pa-IN/firefox-67.0b7.tar.bz2"; locale = "pa-IN"; arch = "linux-x86_64"; - sha512 = "8bc73c2fa797acb388950921eecae58d4f499f78d6f51afd62218f974e6763b2ee3ee366fcd5acfbce759bafcc03798726d38ad0dbc9c33c2026d6bb6c0fcd4a"; + sha512 = "127685a93f4ca5c073c480ba2f3ff84d5d5a063671e325feb8620255978121aaf391c4ab759a3ea013847d9e416420bb3a7ef74cd4087f6ff3a6bb16a97e219d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/pl/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/pl/firefox-67.0b7.tar.bz2"; locale = "pl"; arch = "linux-x86_64"; - sha512 = "30391e5e9c34347997ba8824a77c60a3ca6fcef1039275c8147eabe8ca7f79849ce4320deb7b2e8610e83942b968e90b484483c9ceb2b9d0dba012aab26668a5"; + sha512 = "f8166b5258ef763c91cbe5b917b12405d57dec0d905a35acf534ce6554fb43f08e8c86ee9db012464a11ffd76688c5b0c2b4343367ebf071d1e68aa3ce147891"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/pt-BR/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/pt-BR/firefox-67.0b7.tar.bz2"; locale = "pt-BR"; arch = "linux-x86_64"; - sha512 = "69d450c2370320e6ed9541185fdb53ac8ebfbfd3a2806525950c5e97d1cdc4c1c587b5bda9f290673e83529aa0cacc5f282650b7d38a43cdc9d179239e39ed93"; + sha512 = "ba05cebc862fff1764a8cb2a2d3fcdf542c42e5ed453df7605733750318b8257754a20e9a3aef12e8740d647e7aaf7451e6507beb30abc6b87714d8307c0b777"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/pt-PT/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/pt-PT/firefox-67.0b7.tar.bz2"; locale = "pt-PT"; arch = "linux-x86_64"; - sha512 = "e731b618af837016e58034014ca6c183215b3ad3aed2cdf21b41b14d4a807f690ef7f642c73906ac72a76cef0f89484261b46b25f6761d6367bc39a4f0ff4d9a"; + sha512 = "7d76b136ede93cdc4d06a9afc645ca74f06eb56d63be7914a696e6f9d1282eb9da5be72535e46a48007115d37334d5bc3a5b4ac954c486a5af8cf94e9bfe1352"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/rm/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/rm/firefox-67.0b7.tar.bz2"; locale = "rm"; arch = "linux-x86_64"; - sha512 = "95e5d85c77e752ca569ea48b79c0e1dd99e77532a8176ba61e3737a770a717863485230bc50ee3e2c09a6c441c6d98b7e8ecd432ce281247202631e16c7397dd"; + sha512 = "83ea66dfa3c4674c7f58d18125ff0886d4526740c6c697ff049eb4953179904b868065a053c15ff72308c822513dc523e4706fbd0bfde30eda7fa6802c9f9be9"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/ro/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/ro/firefox-67.0b7.tar.bz2"; locale = "ro"; arch = "linux-x86_64"; - sha512 = "a61cadb8a75051f93c4f644f6c5a0a03fdf7f8ec376a712a9999755bceb343140ea670df6df643e77900b2b8e164e9a4214a12bf15f5e805d0f30bb03f68c30c"; + sha512 = "c00bb8c7e6d1c39d5ceb7d33f967eb1d63f28baca1da07190f4b422049c1f3a4d7162abbbce99d9f5b353e3e04b856e919d438ebaea4be664ce74e92cd0c58fb"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/ru/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/ru/firefox-67.0b7.tar.bz2"; locale = "ru"; arch = "linux-x86_64"; - sha512 = "47a4a306eac7388e71a1ce7ebc4714e0934d676315d97f0ba94675fe746eedbf0e3daee7b5605a9fd7109eb6aa8ac3fa4331f5064043ac1b9e859a26989270ed"; + sha512 = "c8d26a7ebe38cf9b9d7d3d212100bae71f33db180ed864d342f2446998b0362a7626b704792e76ebabb70f00fb204629585fd30125fff257087dd81e7ac34312"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/si/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/si/firefox-67.0b7.tar.bz2"; locale = "si"; arch = "linux-x86_64"; - sha512 = "36c021da18c2d95d24144b18ba878e6b068abc465c056a913d1693bf2973be628a68f7f4bbd3e8cd822c97e674d61b3ce8251e1e98c1f7e97b98ea93cd89450e"; + sha512 = "f0cff6dce739353091fc49d20a38c7c8d911e4870aa56688b67a81315d7e2c7802affd333604f2b6bce3d3422e915f74b66e92ab6c3a9bfda91fa06d6dc9fd7f"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/sk/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/sk/firefox-67.0b7.tar.bz2"; locale = "sk"; arch = "linux-x86_64"; - sha512 = "c2dfecdd93932eac75af5dcee4e75b7ff0dc5d09cb391f113205b05b4e0bb345606f1e1be1a1dacb46eca9f39d5fd0987d2d4d53ad5f71e771f9ba3703dc2f45"; + sha512 = "ad6039a84f9951a96df13a4fb1210d068d8e9d83aaaaaf4ce5af70641273be598c42be5d7dc04de3ceff19bb821ee0c2e6799aa81fc77b093decbd2342f91afd"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/sl/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/sl/firefox-67.0b7.tar.bz2"; locale = "sl"; arch = "linux-x86_64"; - sha512 = "3247716a11ee8b140219a8825298eba191a7c07bbb18decf8284d7a14a7583e80766d2580133d506a3235fec4494e3322635654ed4d1e624990e0a45649d780b"; + sha512 = "243dd384fc56462e0b9b03ee1e9d128a207482d58c4b86fa5f5cecf103e2f5ee97c6b211f073c57946594a5528182ba2495cf21791272a2cc66ece7059954492"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/son/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/son/firefox-67.0b7.tar.bz2"; locale = "son"; arch = "linux-x86_64"; - sha512 = "d2354d10182ab21d951dde2c2d714f30f855a199a198be64ec81d00f6089cd32000efe0ae074f24d46daf7c99eac7ba88538838eb3df30ca4a59968cacac43d1"; + sha512 = "bc929d4d699b382f7452daec9028b2fa25668621a6001a0ab5cc668c582996f6f490ab399d068b3cbda679ca10d416cd6b73ae08352f30e6f8a10586ee4a3433"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/sq/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/sq/firefox-67.0b7.tar.bz2"; locale = "sq"; arch = "linux-x86_64"; - sha512 = "667a8eefa2188422848a8f6af0ed424adb6b8e815c11e3660cea18ea1568d4097342f0d094d8e39e3ab264b87ae451b7873f1a53ae129582b6ed00a45eaad417"; + sha512 = "b9700033307e7aabcb54fb198af0119d576de3bcb774338d2cbea8e88c53f8b7031395bc72d5713d5b4268fa5adddd9c00bb010e816064c98371cf0a65d7f9c0"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/sr/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/sr/firefox-67.0b7.tar.bz2"; locale = "sr"; arch = "linux-x86_64"; - sha512 = "aaa74d3a4bb948e63e5c0f7ce049822a9add2c30bc69d6c9d96b54fd35212b999affb0c76b6ce52c5142cda992bf7a2a8b33e47e81540a481ef91896c1b86ded"; + sha512 = "543df36ac28a266f45f75889227534145803f65b3701d134fb62e507743320fe8f56b078d4f42d193b65b51a06d00f2bb6c9de9599bb66572f0e014d6dbd8b56"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/sv-SE/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/sv-SE/firefox-67.0b7.tar.bz2"; locale = "sv-SE"; arch = "linux-x86_64"; - sha512 = "f20617ddad0974675faf5872ed5959d9d903d80926a39a8065739a997164e3eecc51c3c5eebb4564916993e1915b88544dc4a2c3fda9c73cba956d65fa8431d3"; + sha512 = "cac64975be8c887b065bba9fe127d25d298893947a8ee957a75ba316ea8695001c498d7e942949f25b3323c7519c163c275710d635b173a75d8dff3ea38879f2"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/ta/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/ta/firefox-67.0b7.tar.bz2"; locale = "ta"; arch = "linux-x86_64"; - sha512 = "07758ae74963a24c2315e72333a98abc212e1e6d0cb58a8fb7385c224dfdeb76f6af06159a74a0dd3669ac75de5396952dc87220cf0840c2570937331fc031c7"; + sha512 = "f7e744a20394315e5d5eca04b152546db49546ba8b13e6b99f61f248ed762c207ded2747e89ba73e84b63330d42b006f5c200417ac931f1c46694784eec8d76b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/te/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/te/firefox-67.0b7.tar.bz2"; locale = "te"; arch = "linux-x86_64"; - sha512 = "152dfd4cd0ea7b39bf1eb79ee61ffb77289274049e9b760a5e05001265d3a2029b13db764fbabef6c8b6736f592f55b047cf01330e7e1cd3f058689942095ec0"; + sha512 = "1f6580c3744c3aa87e5c0b82d84d97081a6de8db07f6cfb458187f332d7d509a9a3177c51644ccd7a093ead843c92ec371b2e3b01602d7c751415c5b8d8711dc"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/th/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/th/firefox-67.0b7.tar.bz2"; locale = "th"; arch = "linux-x86_64"; - sha512 = "88ee9a99415036a4a1623575d574bc3fbe23c69acceed6fb174a73ffb9e728aeb85cc80f9ddd3b1a8da302e1fdcef5c1d5501a21e816eed5b19e76bc3b868fce"; + sha512 = "653b3aa5d1e62c1ff8d131d657474527da4711203c45a85e219f85107456d528e6fdba7124c5c303858c8274d585fb555883a5edd60aac58f4504ab69e906f7b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/tr/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/tr/firefox-67.0b7.tar.bz2"; locale = "tr"; arch = "linux-x86_64"; - sha512 = "361201558aab5800fdc3686522fa02222e41271357cddc21c8d89e1ac78b21222cf06ac41189c2eb870fd89e6066f6324b6450a274a25fab273a6d6964d96aac"; + sha512 = "6b797effabdfe357eb35efbd3631260032d732a7dbc8ebe2963e8e27b2c5db07f55e0e23738eed4f14479b5a0e26abc549843a11cec41297ffc78c2baffacd1e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/uk/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/uk/firefox-67.0b7.tar.bz2"; locale = "uk"; arch = "linux-x86_64"; - sha512 = "1314249f6c869c75888dfdc24a7decb66923760ed10b1db63a245a0843864a928b66b3a831e2e5d137a09f63dc099f8f19c16da5a6e622a50a3907155ed2550c"; + sha512 = "e8d0c9271d81cb416e3ddc78e6cdfcb326cdf42baab0beeb938ebc94b469b1071e66497d1f30693b7b90b03dcfa3e0e9826c93c37559cf417303108f540f0b2c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/ur/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/ur/firefox-67.0b7.tar.bz2"; locale = "ur"; arch = "linux-x86_64"; - sha512 = "9f7d9c144bec3644d469672840f8854210832a5a47fd8d6454f35257f52de21b760a9e1f70c5ff4042c145c14fa10bce23a080b577060b868f779d85b01b8c0d"; + sha512 = "4a19ce739f4c3afef097123ffb8491ed3f433a661ea06c908c9ccd4f2e06af1e6a599ce4fcb58ed02876bd45ae00c23f8ea3fb28786cb6456b1d2399b6acc70b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/uz/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/uz/firefox-67.0b7.tar.bz2"; locale = "uz"; arch = "linux-x86_64"; - sha512 = "be28cb4dba902e706f10ca3db8eddcd18a95ae6ad742686591997cfa7909de2c2d37f4b3a9154708a8ef1cca062b6f5275fe566fe1a33f2e6d56e4ad1b62a56f"; + sha512 = "b768bb27409f056818543ff0491f50fd954ccb22a2a17a2eaddcd5f4a5295c0c6d510050659283e70bdfdbcfe145776624111f4ae17c4b28a95b12f98fc31665"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/vi/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/vi/firefox-67.0b7.tar.bz2"; locale = "vi"; arch = "linux-x86_64"; - sha512 = "b576d962621a5c8ff5ce61d67b7a3d08f22cf7cc1a48edaee1fafbadaac4d2633d89385d3d9f57d00a12ad38eda41c6c1428ebf2b9884dc9cb9437c1a84456d9"; + sha512 = "664e3ca40e13489fc66824639616a605f0a5227ddf4f1f9191204e95a323a64ba9ba1e025787ac669c6eb11ed61c3a70eac686f8a36aedadbd4a8199dcf5380d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/xh/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/xh/firefox-67.0b7.tar.bz2"; locale = "xh"; arch = "linux-x86_64"; - sha512 = "eb8dd68eb51c7f19f52f23819e934891b06565376b13accd0da0074619cd35ae74ec2f1476a7319f4746a136fb734bd94e8c8faa8db40eaa03ec001db79f7373"; + sha512 = "06e70c70539d568814f1bbbe76932d19baa02b4e449566a2c9cda8c67d24305debe01e98b95d8dfa8fee47d1f93dbf4d875dfee0bb20f006a18b2c4689312875"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/zh-CN/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/zh-CN/firefox-67.0b7.tar.bz2"; locale = "zh-CN"; arch = "linux-x86_64"; - sha512 = "3982dfaa8067642470e47ac27ab47cd8a2e21b76e972786c333ff7035879ad186e4b8bb95acf70dd7a77d5a65059c0e9f00c47da0a81b0c720f16dfa900d1062"; + sha512 = "e167ae10b29a0313ffe6e2c0f9e832b11a4563a0a848d8ce3f3d74d99d0b6060b3d947e8f7779ca9ce93418bb59cc84dddf0183baa295e83a59789e029be7d24"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-x86_64/zh-TW/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-x86_64/zh-TW/firefox-67.0b7.tar.bz2"; locale = "zh-TW"; arch = "linux-x86_64"; - sha512 = "ee934bff4c51fe60838457054449d4ca438d4ef163535e583c8692e8e3f3dbfe1d7affe0ecb89e544c22bd7afc775966bd0438094d538451a919ce3da48b7e96"; + sha512 = "e1213d631b1e7f061829860e468ee57b0188cd5b33cf64c0c3a60ea0ecf2efe041ea0081008883aa15f5a204c78d0e764b84bc76e2f43c85d6710fbc87162dc6"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/ach/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/ach/firefox-67.0b7.tar.bz2"; locale = "ach"; arch = "linux-i686"; - sha512 = "7036e33fde1fb0b9bf5b39874604fbac9c17d4cd635b2ce473088def9007256d0096cdadc3182a9707ae547777af5638186962170e5e11cfa484df194923c9a0"; + sha512 = "cc6670bf09ab557ee746e750718871082cd3a2e1bd29d01612edd2e1cf5efcd2314fd806c78f3caf4c22407f8b89dbab014349570e40e20a5707559284fe2b5c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/af/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/af/firefox-67.0b7.tar.bz2"; locale = "af"; arch = "linux-i686"; - sha512 = "1ff3092cafcd0a6d0774d6f8cba93c47db3a0ee7001af8c3f06286059cd5ab34ff8715440a7b8a57eda6bbdbab8ed2230c02117e250ae6cc28297d97680ce61b"; + sha512 = "af7c92690c6b6c4f060fa0fb6e07a079e30cfd9cec8776ba10e7486eb58f5beddcb80fee5eca56ca683c1f600f55d49792a0a6251a15d37bb9e032aa7af1fb96"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/an/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/an/firefox-67.0b7.tar.bz2"; locale = "an"; arch = "linux-i686"; - sha512 = "1b1a33f4c826d6e9238db6a7e24e028a2ce06092bc7efad9ce708a06ef8f4e33fb2520e35c899dc703ae81ab12fe9e89813d3603bffb1ee3acd52bf44fbfc526"; + sha512 = "941f9395026952442df31e69f3c343e27f5b9cabf8bbffb440f0bd9467559f3a725ec7419533191fded2e166f18b140a9eb36fa65fac588f71f8c0e533e2efcf"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/ar/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/ar/firefox-67.0b7.tar.bz2"; locale = "ar"; arch = "linux-i686"; - sha512 = "ff57419c24d73a6c4dedcfd02be88bbca1c78f3f43fb0d1a8ab8eb464eb38a15889d126fa553301ee3a66d50d77f2b8ef88e1809ff7cfce8dd4132c00ef1128c"; + sha512 = "613c2736af5a0ab9f9033a50353286538578c1414f908832e20df51f07e308fbbd5dd6705f60bbe39fe7d945542d0b76d902517b7b56f99bdc28e58f50f7bdfc"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/as/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/as/firefox-67.0b7.tar.bz2"; locale = "as"; arch = "linux-i686"; - sha512 = "1c5b21bd57a3d064eafade32ff89070a46f6c13797f504e0aca3990f298062a5ebe074e1bb821253e81a06d9492d902cbd5b9e0ed981aa66bc18d85bbf82d30e"; + sha512 = "04adae89682be2eb9a6f93e65878a80916c572e24b0fc53ac0896272878cce0e8d1395257410cb088d5a20129c76479aaa6387d6f502e7253c16fa765624fcc6"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/ast/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/ast/firefox-67.0b7.tar.bz2"; locale = "ast"; arch = "linux-i686"; - sha512 = "5869edce6bbb1984e15c84cde58c77c88732c7b04aa2ce52195857b2a549c04d4ef9af1a90c80845d2beff8f6a6ec1331ec789d7ffd6f7848d2e9a67e76fc43c"; + sha512 = "b169f44b0e7f6361d1181fa6124218949839d43c6b110803b09bbe38a82276f96954e36eb0d8f90d528746f7916b260ed0b0bde45b7c1b372875bc95887b4f13"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/az/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/az/firefox-67.0b7.tar.bz2"; locale = "az"; arch = "linux-i686"; - sha512 = "6b035d2d0ec5b9d2bdba120cc76823970edbe2193a95a5b55d869418213e03d6dca58dbf555400592ab3626c06700f5910869b1a459ecc0bfc69c8f49bdfdd81"; + sha512 = "1e4b74ed6102b7ba8e8e6f40f3de36788a9654e98b9f56cc0d5a84a83d67909a85c29d93f941cab572687186dec43bda24ee37d46c008b8d21d6760c658184f7"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/be/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/be/firefox-67.0b7.tar.bz2"; locale = "be"; arch = "linux-i686"; - sha512 = "02e0903e940890924f6f5622fceff812c73576c3c7efb965c9ae32dbca50f7b9ec44dce69d127ab9a6ac5b0a4d3bad8fb7b5b5f7a4f7840859b221f5132243f8"; + sha512 = "cb6a52927341c5c10bc34126ffcfd40e60201254c18d0a05212c5202eb0e44e31fa19826f635f75280ad310a6a61a0a7c764e4bb84dcc7ff31ffb534797875c8"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/bg/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/bg/firefox-67.0b7.tar.bz2"; locale = "bg"; arch = "linux-i686"; - sha512 = "2acbe46e29bd576c287add7bbec292a2c306f40402d525611c9572b7751f2122753acaecc441b1f121d24dea922e493a8e0c86180c6eea98beced8c0df986ccf"; + sha512 = "4c7a5083a7b656182fce99238f52c8f197d108d33b40cfdf97ffe477963547a08b8bcc295464adf8ffc40df2f4b5feaa28d25ad294a4a9e7fc0759fb2ab9db7c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/bn-BD/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/bn-BD/firefox-67.0b7.tar.bz2"; locale = "bn-BD"; arch = "linux-i686"; - sha512 = "baf4938003380adf8136aa00c0f8d0bb08d84714b12bcef2f3403f73d1540e9a289c65991b39be53ca6a329d72f5ea93960e3801ddadcf0f3aabecd64f4a1495"; + sha512 = "5626d60a4369b7ba31c2c860c5eb050af60724ece57cd4a1d5b9483660787fb11ec76ba8e4bef78de42850dfd90a44fe36d43f48a738ff271f2fd35a295680ef"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/bn-IN/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/bn-IN/firefox-67.0b7.tar.bz2"; locale = "bn-IN"; arch = "linux-i686"; - sha512 = "e9ef2861c948286acca6fe8600eddc9adf95af26f9b12349f60896b4aea62c838be784ae44da5a175b2458ce4b1b29894ce45c4b927bc777844aa76d745473bb"; + sha512 = "d0dcbece3d24ff4c56a7df33414f7795a7fb7b991e26c552340e969349e0b5a3519e95c8465f4ff5dc5a7b9a11dd13b7e730b43130e34afca766912cf6a4a36a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/br/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/br/firefox-67.0b7.tar.bz2"; locale = "br"; arch = "linux-i686"; - sha512 = "0f90520613ac75a78720786a6b1bed17a3765081ef5c7f398286270c92b92940b98b566b40233192f968375c61e285257776ccbee22280a9c807eb7f7e198d19"; + sha512 = "d8d424953af0c782e7c4b17bec49a9dd663d8a0da92cadc8010344c079f81b120573ff64cedbaccb4eb85826e6d7feec12b7e2bc5ec3b508997729fba13c18ac"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/bs/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/bs/firefox-67.0b7.tar.bz2"; locale = "bs"; arch = "linux-i686"; - sha512 = "de03884b41c072bea3950d8d920fb6eeec6bdefba4f28295639567050d4ca89efa29f9ab169ee6c7dc2cee2b8127a83853124c25e282bfe7ede5bab9cacdea1d"; + sha512 = "4da5029faf08b6fdeeb1eac89ebe49f59748c06e77a1ef13d503eb71e33b5362c74474a35f7a907f528dc0f59b78f989df45d8c35e83e6ef971c425fbdb3a0a0"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/ca/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/ca/firefox-67.0b7.tar.bz2"; locale = "ca"; arch = "linux-i686"; - sha512 = "157d6179152e33d85eced2dbda53294d94ef1b217f469bc63483de254d66cddae0d4a378c3d13bffc6f7ca07e669fa2755b82cfc66e5ac09bdcc2f075c3713fd"; + sha512 = "f990b67201656b18109c6827853bf064d7726fbccde19e5058c7860b2e4b993eccf1925d2a77d4b1c4ef4c3b3fa4f2368c49ee0e67da0405b762ad39edd91f94"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/cak/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/cak/firefox-67.0b7.tar.bz2"; locale = "cak"; arch = "linux-i686"; - sha512 = "37bb3290f6a5f54ecf505faac44651f8c0566ef2a5e47f0aee4084931afd1226651eb35b66bb9cb2a8e41afd06b2163433fc3435a415fbfda7e81e0f7f3a779f"; + sha512 = "f0e6446b82a011513a603e903b910838686db5b771215deb5620c476f51cc27e2f7ec115f876cd710a1255e4edc1bf888afd9f1b370bc8fd5d4a40c3fe99cf3c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/cs/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/cs/firefox-67.0b7.tar.bz2"; locale = "cs"; arch = "linux-i686"; - sha512 = "e5098770cc159925e4d89bf27d5d72dcedbac6fbee42ffcdf26694f9d3a0710e5be4dc198241a3236fe06109e4b6e4d86b1dfa3d669effe42adb574141e16fdf"; + sha512 = "9a0246263397595b5aaf23b0d73921cd25d57db315717bde934b67aea0ff917869948efdaa25465185f8352ad9e7b1e8f784cbd3d79c04c0f5ab9d34428ceb77"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/cy/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/cy/firefox-67.0b7.tar.bz2"; locale = "cy"; arch = "linux-i686"; - sha512 = "ddfbe195d60b949637f33c627aa9a4c9e2ad1f04788ee5f35040e251aac303f8876bba7d350aeebef11ae5bada037e31f96b8f46771ade8fa425b70d2a4a759b"; + sha512 = "34f72078d377157739b407f685e9c6835539c9e2f535bb52e12141c94b993ac1e389b251f316bc1a3a6d5682c7de9f2484b18e48cc6c39a18add56eff17df0c2"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/da/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/da/firefox-67.0b7.tar.bz2"; locale = "da"; arch = "linux-i686"; - sha512 = "40df7ffa3472e2bcdd35a2549e6ba52a7846417c92eb058a84e32dd355e7c6724b6b75fe617956b970ee0c3565450f9a84458d86eb282b1f1de8b789c6eca2fd"; + sha512 = "5743b79c209e89dbc9c902dd7609581577765719d1e0148373f85ebcfd3b5a2f225c758033583455353af22314651a7ddbd447b65de7c637b4ccf5eef4401a65"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/de/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/de/firefox-67.0b7.tar.bz2"; locale = "de"; arch = "linux-i686"; - sha512 = "3702da040d3478a4562a30f8758eaf5e574ff664c1b2a4a7b676a436e4172b294fdcc120b1cc043c3d060315c10c40a2f0f9506eed6cbb9dbfc80279d65f76cd"; + sha512 = "4f22bf0fa90f9fb4156815fb9cbe0e8380b7b36347f548e34709a38c2b02beb324645f0084148c2b054e2610d8ea0029e68db174cbfff95531d8f339c153bd7a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/dsb/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/dsb/firefox-67.0b7.tar.bz2"; locale = "dsb"; arch = "linux-i686"; - sha512 = "54a5c5d242579314997c41b0e26fb7751f19c97ea9b43c8ba1f3a7dcb5b6681123aef82159c4be9600564062b20667dfd1197be0d44e6b9ac3064d682c7eb2c3"; + sha512 = "3cbf358e86490dc3c466fdf69a9bb6bb2bbbf56059a81bc2e1d551998ec07c319d7e9d467bad61e6e73f06fe2235254fbe7b2690c9f8c426d4e332851ae18f56"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/el/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/el/firefox-67.0b7.tar.bz2"; locale = "el"; arch = "linux-i686"; - sha512 = "cd76f6f7d54818e8ade65147921a0160948500d7bc9cebfaefd1c8a2dada91a2c5bf277222fbef1421ea9748ff799cc2213e300dd1c767c56b4b0ef977dac556"; + sha512 = "fe632688fcfbf523e9ba3c1c7adb134631900f37dea6381fb41c4a7fce67034c0033417b5ef8c87cb33b303712fc309620844614f8719dfc440ae634c1dc18a0"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/en-CA/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/en-CA/firefox-67.0b7.tar.bz2"; locale = "en-CA"; arch = "linux-i686"; - sha512 = "046c5fabaac28242019b208ed66a71d1824f6e055042576cfb8ef026906dcd7b25ad75aa962ec609884967288bb58b78e915865d858b8620123c0168637c3364"; + sha512 = "15a26c6a0ec18625708b0779f00d6831146f5146f7ca0bfe35b00808ce45a3ebf29f129dcaea5d2799feeb1ce7b0055f76f704f448b884a36a354df4467adfbb"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/en-GB/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/en-GB/firefox-67.0b7.tar.bz2"; locale = "en-GB"; arch = "linux-i686"; - sha512 = "852c4763231c2fa64330b417a1eb710e8fb04fc11821e2881697e8c3a42d375478a37156efb0e23839f147074b8116e29ecd6dff04e77a4a9b9fad57d73fe5c9"; + sha512 = "5b756fca80fc72c6f3925bf1df427da4a118753bf30641b266c6c392705ec87834c1fc46ac08c1d54d032ddd4abd6fc35a71f47fc89d04c766c094d863daba1e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/en-US/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/en-US/firefox-67.0b7.tar.bz2"; locale = "en-US"; arch = "linux-i686"; - sha512 = "68dd635f30b450c6501617fabdfd0104ac9ecd89a9c400acb1ea7481782c4fd4da601531cb13d0ca3a79be34adbb62d35b70ea9d275339319da39915e51be6e2"; + sha512 = "00f3682c17fa8276e7f79ffea28b80a59b20063f6a945fe7b81265966cfcd526bf10272cc174aa600e4393c6e5b894b90673dbe170fe571f03412d403dfd630f"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/en-ZA/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/en-ZA/firefox-67.0b7.tar.bz2"; locale = "en-ZA"; arch = "linux-i686"; - sha512 = "1e287c91c6451284a62c27d91916aaa2adae0d66bd7b2fa77003b8a5ff5030fd7219a42b9cfe6b1d100303a7758f591e88489f09ce9c4c6240b8f3dab7ce3044"; + sha512 = "8fcbc170bb6efa955b577c7071e1c78fdde129508bb47ae2a266d6b79e980f82fb3c615a7453f3eec6db3f9352a4809fff2656c65a64f5bbc4afaf75fbb225d9"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/eo/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/eo/firefox-67.0b7.tar.bz2"; locale = "eo"; arch = "linux-i686"; - sha512 = "71466b5a790cb8eded34971266c2d8d21204b4caeee5b6497d0bbaba176417f1b89a2644902942b47e10a4656bc522339db2a0852470cfeba5e9d6daca731dc6"; + sha512 = "05915f7e7f38fd0ccb9926ef96fe2641efcd42073d8acd18875a18fe3c63603fabbb66bfd83a24111678f1b38f8ef172c2524afd2a0e4632b8920853ed381751"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/es-AR/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/es-AR/firefox-67.0b7.tar.bz2"; locale = "es-AR"; arch = "linux-i686"; - sha512 = "90c6a17bedee44faca5e01f6982a67afd65bc05ca604c056c427ec4c52b7d96e19de8d98751e73dca840e33902080b36bbadcbba7cd1e89c8147f89d324d3893"; + sha512 = "bb88d6801b9416b9767488ede19c52d9e9802d895dbfe2bb5408169ef43732e06696243126099e46619a08d8d705df4d66a6cf87ab58ce3cc8dc99fd8949b4cb"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/es-CL/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/es-CL/firefox-67.0b7.tar.bz2"; locale = "es-CL"; arch = "linux-i686"; - sha512 = "da66ec9771e13333a5def77cfe3a744d05ba9153ee21f604005340aa2b880273bc1c38066107733d4e0abc0ed828afd1bc77f6ee2be5e790f15a6e369fdc8b89"; + sha512 = "495c588e1059ed5d212c707ed5aa74a3aad8a372d11fed0da2f810928d645fee0d7d9aa28f1185ebd9aaa99baf14b1a0fe41e34b9e5aa7e00ecf46f9bc7b78be"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/es-ES/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/es-ES/firefox-67.0b7.tar.bz2"; locale = "es-ES"; arch = "linux-i686"; - sha512 = "4daa9db65e3c4ef3479ba4e0ac8819e8df0b711d87e9457ed3a2025fc9a0ca7de06f2b5f7224364798eaf3b0d56ab81b44ba5e2245cc8f52dd465312818f4c6a"; + sha512 = "4be53b2d2fbef3ae7f1601b8869cbc57075a998c9847c8ed333ce9def39c3f23b9ebda61f14fb6382fe2aef5bf0a253f43da4d07d8f51080c0505c7c2cfb9e07"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/es-MX/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/es-MX/firefox-67.0b7.tar.bz2"; locale = "es-MX"; arch = "linux-i686"; - sha512 = "1da64fe7c723606ff7b2d3502b7d4cfc2f0866a78649bef876ed8e357612a2bb2eb37f85f0e909f5809937584259c5aa92db2976a5e358d70ed3a05f294f41ea"; + sha512 = "090166a767ba1df247d74116fabaaf90f751c27cf7cf55282cea650e1f10747966aa84e813ae79c891041c3adcc44e165bbccf723d77aa8b9abb6e3957602a69"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/et/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/et/firefox-67.0b7.tar.bz2"; locale = "et"; arch = "linux-i686"; - sha512 = "fda5d73cb75dcde2f131eb0036f3275761709dbbf5839cbe282566d5370c4daf81966250b59bd3b5db6bd768d939062f35e88c3cd454cbc10f2b575878324f26"; + sha512 = "56f84137cd9643211ec1de4891261621eeb033aff71704318e69a39d034fe1ded0b3a78a1d98a90878b841e5ea4eceec7e3a3848dc6743a121c8616d216a18ee"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/eu/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/eu/firefox-67.0b7.tar.bz2"; locale = "eu"; arch = "linux-i686"; - sha512 = "21f80e21f4f2fb496298883df334768c096f834c5dd82a71720e63a11d94d64515ae692f192bf540c13bf245497cf8c37776bd1c53fa57158e751865a0947dad"; + sha512 = "91457da7072aa989bb18a35541f85a902cec6d425e583ea907c4ba31a65bfbb5991baae4357e0c1edab5696ec68c79c73e5033aa6fd14f2cf60940133c5eb245"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/fa/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/fa/firefox-67.0b7.tar.bz2"; locale = "fa"; arch = "linux-i686"; - sha512 = "f254bf9b8715217a62fc9b604db47aaa2985864a7cbe925591cdf4233b81bd73acf5e7eb34daa7506400d5efc86c9eecb8ee9ba6dfaef4e43c03142ca595ab3a"; + sha512 = "3b29bb2e12c17773d18a157c8c4ef602d80b0e25c9bc399d4d803daa6bbbede64929064ea5daf4f0b0a514b4032801ba3fa8ad8d0dd45ee98a824c2daa852364"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/ff/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/ff/firefox-67.0b7.tar.bz2"; locale = "ff"; arch = "linux-i686"; - sha512 = "0c0b97a0297e886feb7b18e3081e460fc3f237365ed04280a1587814631261dd1c8c35a0610659d43e70a36927413ef20e46067c13d0daa6e47b9c3f058bfef6"; + sha512 = "411b8a922893fb37c05358c5da39b63c4cb8d1697667738bdc139fe2b2ac6f0ddf9b94ad7214a323cab69748990dd3a45effb336352c48eea92f48710ee6c40c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/fi/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/fi/firefox-67.0b7.tar.bz2"; locale = "fi"; arch = "linux-i686"; - sha512 = "318e324647c847d6a12ef0bb74dcf2d75367b423a9c2d89222ae4a193f9f775ce85617e9cc72d3b960ed216a9f48fb67fd0f51dd36e2ab8330208866a852b04d"; + sha512 = "526884ed9354b13eb3d2385d597eb43d2ec40ca8f0c106503f3e84a110c00c5da5422124aae2cc05c3e75999d4d50598909bb057a4dcaa389ab6dca726b3c378"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/fr/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/fr/firefox-67.0b7.tar.bz2"; locale = "fr"; arch = "linux-i686"; - sha512 = "c9f7033354260a72a24f94f481f5cc67bf91fbcc9170a63eddc48307972de57b937d4fa31e1eab4db1ecb9dc1f05dc56b2e38c35a946445a1d77535a1d41b433"; + sha512 = "fafcf0501a1624f145ba02b08c4e5e4d160af0fd3d9dd13c22726ddd8b40108eda1bbd3322ba84dc2fcf7ceb39593cb85c614efe5833ec32fae767cafad28c0a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/fy-NL/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/fy-NL/firefox-67.0b7.tar.bz2"; locale = "fy-NL"; arch = "linux-i686"; - sha512 = "08a6c18f6b4beaef405e9e9292a197c42510ef50a3071fd3c20687a94ecb2bcd52076a234fbafc4b9be82c8111498d1fd35468bc604def726e3187e9119f496b"; + sha512 = "e6d12c42dee42740087121eeaf961d279e121e41ac79187e18fae5bba136ab27888b3b35b6db4899a8a77debdc785dab78c4b4fad08746e0e752b1082978e18c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/ga-IE/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/ga-IE/firefox-67.0b7.tar.bz2"; locale = "ga-IE"; arch = "linux-i686"; - sha512 = "f23c2be81ad724862b4408560c8b28b28a9133290a1f2af37db4afbdeedb713cba0bfb23cb436c671ef1d4b42fb10c2398416e347d75afe3e77d215a9f0349d2"; + sha512 = "44db77514fe972772b8331e9c502eb3417a810046046cb8ae48a1eda0984e299a58058a685d81c408b0a72f3172b24bdb57db70d595a2da93b90581d01a5b401"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/gd/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/gd/firefox-67.0b7.tar.bz2"; locale = "gd"; arch = "linux-i686"; - sha512 = "46f1069551fb83ba5502438f27082d591f1ec4d24e689c825115553baa6d39eb026203de30bd6a50ff082a65b73514e7007f0419375a05bc2acebd38d323fd6d"; + sha512 = "2b65bc81c0c9476b3196f5489eaf2f24502fb4abd585c0b1d9046a63a2bdb0f16a05e928369204ea028cb215a40a68a459c1c5f988c5d6882aa15d1e0a7b5b1c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/gl/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/gl/firefox-67.0b7.tar.bz2"; locale = "gl"; arch = "linux-i686"; - sha512 = "6864803363c3f61cbb8bf903da7275c90f8fcd0d8997a9828392e4fa2199d75e46d5690c55fa8980437a999af3322cc5927cd576d675602c049fa15b605ede1d"; + sha512 = "8d4fa0b6177b7926eb9f16c08e4b5f0e430add37622d712d77a2099c63e0fdc21ed9e2b7a72457868d968c1af42b3aa83b22c8f55cc913ce1d5eb913b12d1b2d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/gn/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/gn/firefox-67.0b7.tar.bz2"; locale = "gn"; arch = "linux-i686"; - sha512 = "9932f1f2ca3b0646bd63aaae3bf118e91f39957581ec03fcd6ee4138abe00b9142acde3afef6ef31f802f9a5ce5e64755af912fb6e70d49f9baf4abf497fb82f"; + sha512 = "1bf077f3282702124bbb968057942e2f701157de1b1e678cb55a0280907337952a0c3118ec874d0ca2ec26dc2063769b4cc2a2045e703c1761076e45e6c061cc"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/gu-IN/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/gu-IN/firefox-67.0b7.tar.bz2"; locale = "gu-IN"; arch = "linux-i686"; - sha512 = "b0a216cc4194990b993ad31156325ea5296d16901a0b6cbb3e792142ddd7e38b728331b68d73d2878b24042d0015ba7a0550d3ddb1c5898119a9cc4a5e91bb7c"; + sha512 = "405a61a2c70c26569059bcbbd1723ce378a9d6a40d5373e294c1e5064b503e5b68a42c77bd023920348bbcfc05309605e9ac102a3b1627525fb3ec3fbbc58be9"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/he/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/he/firefox-67.0b7.tar.bz2"; locale = "he"; arch = "linux-i686"; - sha512 = "123a4d8b8be454276ed6003051adbe2c87f0222d96c20902fce3820efb5149c4a1d8af13763974339936d5d1b25695ccab68f7d13d773899f19c2346735ebf2a"; + sha512 = "09d8d4a4eb70ba7da3a7d90d61ebe23f3943b4bd2f06d356b1745e7d9297f1c2160312ed1c8077ddeb88f6ae27c675a5bb5f1f81e19d16c6675a5cf2385ebe0c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/hi-IN/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/hi-IN/firefox-67.0b7.tar.bz2"; locale = "hi-IN"; arch = "linux-i686"; - sha512 = "030dd5862dd46ea72079f0dcccd4439bd766b98072d7e0d92d1260a1c2e2f2f2e48cd7a8ffe0be25449c5598a308a18093e273338eda2bb49502a3e8afe6f670"; + sha512 = "c8c65bda9d1582df1b015425466d6806b41a09f4bf6e0146cc07932abc3e827db4fc89083711102b0716f6325e563d8e7a0a3c25af4f8e8f9bf31bc33a33345e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/hr/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/hr/firefox-67.0b7.tar.bz2"; locale = "hr"; arch = "linux-i686"; - sha512 = "c7ce79360d517ce4012ffc0c472e04139e2e65a068a97e38677e327cbeca054f54973dbc1344e1cfd36155e17d5a3e9a13b118fae0a3251d1f6de36bf45359af"; + sha512 = "2beffc8293f955476c10de22c8fe45a46ab7769ea8ae85f611ea23c3171ff01dcc2df50907ca876f5d13b299d5b0959d3f1cdfa5153427e116a84a08c05fb144"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/hsb/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/hsb/firefox-67.0b7.tar.bz2"; locale = "hsb"; arch = "linux-i686"; - sha512 = "397902ace1c3e21d564e55dbf86a218408df70fcf185a4b30406abfaed6bf8e1184fb8077d9b606a350100ae471484bb4a48c433bd889cc38f9655e7475a2949"; + sha512 = "87efee6e2c24a0891193a1e745ab34f397e3c557b8c2e9491d2c935eb24bd221fa562b3f22eff71c1647ab55d87374e70541df0696a12830596dfe8aba23c6bc"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/hu/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/hu/firefox-67.0b7.tar.bz2"; locale = "hu"; arch = "linux-i686"; - sha512 = "982a9b5aeb1ef8762828d0cc974d8a7b77d457591f662a35f3d0f56c158aafe6b026bbb75b8f58746f4389afe08a90240238fac7994ddcf7ad1edc8567f3e547"; + sha512 = "87732b73fbf821a8912a45cf873d4917dde729cd731d53c0c843d681d92681d395981152f93c1ea8fc415a93053974905fb03fcd6a4f71a7e07b12e0ea1ff9bd"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/hy-AM/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/hy-AM/firefox-67.0b7.tar.bz2"; locale = "hy-AM"; arch = "linux-i686"; - sha512 = "32d842954afccfd9433621e9d9a7fc7c4ac3915b07b0e85e7caa10dad55e338768bef50077d129368059621d3af3354b5033077517089c1aa70c8d21043735bf"; + sha512 = "7dcc8bd376fdf4227ac74b1d24965d70b274975800fbde94682a24de3c1ef8348581be3ad9d0715f16c0c9d8ff4995c31e4d38d99d8aa72a50acbaf8d4888e61"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/ia/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/ia/firefox-67.0b7.tar.bz2"; locale = "ia"; arch = "linux-i686"; - sha512 = "d165c88b6288f10eb7b5f11402528a077b22cde681738d9371c4ecc5fa01c691593b7599cd605224631aaa3d93eb05d89923a939aa025a929fbc35bb9f09ae1b"; + sha512 = "806b578c4005107896f6455e53987ab23785c737169a4f553d4e152345f4e77a7014f38a27407a4310288c0e2d08674b349f9f54bcd02c2b3fc7b30b27fc0a17"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/id/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/id/firefox-67.0b7.tar.bz2"; locale = "id"; arch = "linux-i686"; - sha512 = "1324b6c140db320d6ac43521091b9b77d52800e76f3f9741c83a7382bdad8522b8467c75d82c48b61d0018c40671e0bb23870b112a8957cf8256a72c009886c5"; + sha512 = "3c054ce894b6c61bde78f447095dda8352593da1879572234e10f0edb49fe89a0049f84404d45c6dea0e6e2aa75fd96a606e943260cd83166d447e65ecc435ae"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/is/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/is/firefox-67.0b7.tar.bz2"; locale = "is"; arch = "linux-i686"; - sha512 = "6b10cda6efae14942aadf96b3d1a2b7ae58790be601ea46e04225d356c5ad1109eb9ac7a6983dfa21d8c2e6710219f8d3a05605b2a80a498fc6bddbf2abbee09"; + sha512 = "3e0bc49ba210a864cf083ade56b89d1c78f93b2776cd3d71a1c3c649ecb5053942e9eda9a2d6eab97250268c9177bbb8d81c764860e5fa1a4ccf41f5e540fc0b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/it/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/it/firefox-67.0b7.tar.bz2"; locale = "it"; arch = "linux-i686"; - sha512 = "f43b85b59581eec108f882f8bdf2886b658a00b46c9f651a28d9cfd09af02f4c49b70ca72dae5cedb26c5ba246e8b01dd483dba6de42da170f12a73a6f02e87d"; + sha512 = "f410dfa055193d5ec70807a9374b9c9ec92a9f5484d52f241ea15c35ea60be58e72442949036e153e4adaa0a56c0ef0070fcac13258561b35c6d09c5dc1b3b42"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/ja/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/ja/firefox-67.0b7.tar.bz2"; locale = "ja"; arch = "linux-i686"; - sha512 = "3f2e08852c9400ec7e7402b5d9dc97e0002ca4d3099e0b101697f8581e8ef318ecc77f286aff1d33d945cabac20e7af4296327a25bfdac44293362ec416d59e2"; + sha512 = "b0dd90d9a944cf99d76ac5b2f68c81d90d2dfa4fd544f0bcdf239bf091ae0dc96d5a5b4d190531fe90f38bf0d810bbb75057f70ae8cc090416535821f3630794"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/ka/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/ka/firefox-67.0b7.tar.bz2"; locale = "ka"; arch = "linux-i686"; - sha512 = "a9d68aee2257e50220d739053c6ff18d8fc18b8ed56e49e5b3bc49694805575ca427c7f00f4267f52700d0880f1bbd39c9e9b18a6b0706454024e46f4de34de4"; + sha512 = "d7d91f22ed6d4ac25fe67685aaa947fcee5a624b4e501954809d9f2ac3abd150e19aac283636a10456f5d18b20f4a50084ace34bd8eba7a82ddfc0176efe8a7b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/kab/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/kab/firefox-67.0b7.tar.bz2"; locale = "kab"; arch = "linux-i686"; - sha512 = "01b17ffa5140f86e5d51bf8093e99fbd50cae29e7ffe6813b61c6788a0363b7edb2680cb922e9172c7f9e2f1a8fd934938a3883184f9a9cff99c597b65663919"; + sha512 = "825c0a1d1dcfe3206567bf24072c27a62e3a90ff839a59ff9402fb669df77a0879ed2d47904081c6c5315d5c8079f7fe4ba0468d8ee10e5f98539fa349e4709e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/kk/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/kk/firefox-67.0b7.tar.bz2"; locale = "kk"; arch = "linux-i686"; - sha512 = "8403cb0799b57a5dcb703f5aeb2c75acdf1e141785bcc91097eee8daacd51cda79c31755fc71c608794440146a8762ea53f20ab39a62870cdefbe5f59448b930"; + sha512 = "662f37a871ac7b8b897428324ef31752bbe3fe64f319525e77a42d873497decde5153a8ede2de135e79f9e107f0ca014502d27cf11e1d94ccd7e63fb0e7d1da9"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/km/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/km/firefox-67.0b7.tar.bz2"; locale = "km"; arch = "linux-i686"; - sha512 = "75fa171c93bcbffaefa44b5c8e66ea049e6234f4a97d51260cdd14a2beb9c9a62a1bf05453253afe6de5f7cee5677ad3ea96cf151d7632809f2e50fbf21d7fa8"; + sha512 = "ef722c12393f16945fbeea506f3463b37feb555db84558b2a193d810d4eaba0b94380784a2f1f0e8385c1e182a3137d5c11683bf6aa3525805b0383f1da70509"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/kn/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/kn/firefox-67.0b7.tar.bz2"; locale = "kn"; arch = "linux-i686"; - sha512 = "0a6ad18cbe339f925d6254a314ef0cdf3c3b007765eabb96c3decf3b17b359c7122bd4346c5e3b0539236defbb7f31cf23dc0b7971af2d008618bfc60d932047"; + sha512 = "0b17f9793835559512f779e2939344775e8c29e8ff760fb3521e3425e8b306b6dee8de993837f894f55eff57e82756a9335acd35e26ddd5125540ba3037ef8a6"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/ko/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/ko/firefox-67.0b7.tar.bz2"; locale = "ko"; arch = "linux-i686"; - sha512 = "2daee318ce7984a519abdbdd7cb86fe87689c21af736b25c6e942518a50ed8e83178d2a16a81c61d829cfd5c87a657f357b6d23d6301368ed4bf886f07f75b97"; + sha512 = "62e694465b436294aa52919e3184257e096300759da93cbad3cca823c64a6102b7221bbca36dda9eefc4459eb70969dd1141449d4118d5955abc45fcb1b84315"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/lij/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/lij/firefox-67.0b7.tar.bz2"; locale = "lij"; arch = "linux-i686"; - sha512 = "aa64a352d7179b95f95a3a5dc39bedbcfa96a7c77686065b0ee5bde8eacbe684cad1231cbaa9755c4476a3a9a4187ef97fbeb6741f18afd2430ef43a6f9a8cc7"; + sha512 = "b86473816e14f0af2e916678c0dcfac61c315f8686194f25422d5a0179d7a741b1dd9e53f95ad09b9e59781e0dc179bc3ae598fd763c96811ecb8317903de980"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/lt/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/lt/firefox-67.0b7.tar.bz2"; locale = "lt"; arch = "linux-i686"; - sha512 = "4505b712e03bae127f5168c221360543f29681aeeffa088ad66631dfb6c268c3ca24bad11c84439f690ed4a4d67138812ee74117644a803b1345d548638eaf89"; + sha512 = "c98e0f2c5270454817688aca95efb7af028ab46835e242348a0977bd6eb350d1cab8583829647d226b149a24ad2c8125b2ccff88f1c29046cef6e05e3081db9a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/lv/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/lv/firefox-67.0b7.tar.bz2"; locale = "lv"; arch = "linux-i686"; - sha512 = "bfc47b18ad8ee9c65c8520c8b57214d3493c897d0d1bfbec32ad961aa740217247755610b029039c0282932b8c1de19e9b34d801ceb96b3d4969829944de1858"; + sha512 = "bbc568daccced664a217d962aaedf48123bc123243fa3920c346bab6f85f4ea19ed3664d60a9179797c2089baf15e3dbfc8e2d84e56d2bc40a54f4ecdea2d032"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/mai/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/mai/firefox-67.0b7.tar.bz2"; locale = "mai"; arch = "linux-i686"; - sha512 = "1d96dcbf58668827b055be628160c90f4e2d1a3e8178cf953e89e30e9bb041ecd5c1d409be905f6bd6d1780dd278ae105d1a82ec7226196614faee83f333f7a3"; + sha512 = "10ff02bd9503c422692f39e27256d7a6cb2c1cd3b2188e493cac9b0158775c7f1c36e733433933b8290a7807ce6d6ae57c9c0ff46e6908300d0fb6e5b8c7f39e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/mk/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/mk/firefox-67.0b7.tar.bz2"; locale = "mk"; arch = "linux-i686"; - sha512 = "71a561df96f60272e7dded20f30ec8632d8df0a675ffa0730b1e2c61e131d30f70f710958fa38d5bf647cb372b763975cabbf11b81f187b154af3416aab8d2c0"; + sha512 = "dc5438604cd8cec32aee799f03e7776f97ec03f50d473f19ca468fc7bee9c11ff5b92a8b14fbaad218b44c106b39a4dc7ebb63355c80cda4e925694b7635aa17"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/ml/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/ml/firefox-67.0b7.tar.bz2"; locale = "ml"; arch = "linux-i686"; - sha512 = "563beafe7aacaeeac411aae9b2fe2706d9ecc497984322caa6ba4e44957c24f16e06e1db90605b4085c708f563a416eaee15d2b7daf9ac481c947957ec25b5fb"; + sha512 = "b6de0d78c6202e2677aadcb0792989277585c5626d41d12bc48b982566879b5cf35ad44d8ad05cc6d09b1ee0e063685c87ffe768b6791375505b192016fb328e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/mr/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/mr/firefox-67.0b7.tar.bz2"; locale = "mr"; arch = "linux-i686"; - sha512 = "bc728d67aee3f0e831316dda5415efdcd5835d3c4f29a575cc0c2772703551b4752ace541d9535f9da56132f94fe8ce116ca19c5ae07b70958fdd934f74c151a"; + sha512 = "f8660c94c8316de8ba94f9d5aad35ab3ecca57cb307bb49f5ee5867e3fee12405c210f982f617fceba69b4b8e4ff2c49767d28a00b1ae5643172ec5475512316"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/ms/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/ms/firefox-67.0b7.tar.bz2"; locale = "ms"; arch = "linux-i686"; - sha512 = "b368091fb415d2397e95029728a5e97e07b78c2d2119b5e3d2b0d00fb0fbd3484b397e7efa1976adf61cb8de3cacd63f7984b0b9341979a9e3b2e1b61a4563c8"; + sha512 = "b11a9c2ec0abc8c623e3d1a13eeae1b184f2b2ff5ad9f8db62a4e5da118da2ea9dc02113d2f1a54246a07c7fc1e041942cdff4e44056e5584815fe0e4d0ad99b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/my/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/my/firefox-67.0b7.tar.bz2"; locale = "my"; arch = "linux-i686"; - sha512 = "ad489157ff5ee3932162741e4c1746112c161cea1780e8c7764798b765aa1a821cf794f259d9ce5c3c852f575af6bf0112ce2ef90259b9432cb9c57a76508cfe"; + sha512 = "08aab48716713a02d779ea41a1fe7396a199336a84b79c97a4bd8da3201e71e5c1afb48acf731fc9653316b05d53cce0f85a1777fbb7e2f02de7452e137d2727"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/nb-NO/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/nb-NO/firefox-67.0b7.tar.bz2"; locale = "nb-NO"; arch = "linux-i686"; - sha512 = "ade119bcef7a54c05fb81ecaa30b4543225d78490f93611988d9df10992aedecae962d9d50cf6ecb09e9e83466423da8714c5dd9ec2d5588f0ca2d3fabe38fa5"; + sha512 = "38e7e2153151f40c69712ace80bf9fa23aadc1024a2da2e8b54bc304e97f9cf3f0b93779e194ca7d352ca58234eb056cd9bbc81537f666bd4c406057c88ffdce"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/ne-NP/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/ne-NP/firefox-67.0b7.tar.bz2"; locale = "ne-NP"; arch = "linux-i686"; - sha512 = "a375b759aedbb9aeaee233b2bcc0d9c7958d2aa989ccc6cb7e6100de6c10b1957fd0a73ad24620db1c0380f455e06559bf6b991f6616591bb547ad247d15703c"; + sha512 = "802a0832d0767ef3618690da5a30117b9d41bcc0aeacca32657ecc57c39db1fb495ecbe211a47976803f50f6a314df08ffe7e1b17c436786d98e31e2ff4423f5"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/nl/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/nl/firefox-67.0b7.tar.bz2"; locale = "nl"; arch = "linux-i686"; - sha512 = "06dc4e376936fa64ea081d047c224baf43dfe14eef8a6f27ef9ae0d475f5dda5bdf171432061e31bdf368da0eb2ab6b694d31df868a86c9ac0636ee701da9fcd"; + sha512 = "56616e78daa5c44a2e7cddb64e50cffe0daaba8a245f12d842e6d7657dc22ac030ff98630d2cd1693454fb9859bb62fcd3119affb9cc950ce7d06a1eab123cbd"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/nn-NO/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/nn-NO/firefox-67.0b7.tar.bz2"; locale = "nn-NO"; arch = "linux-i686"; - sha512 = "6bb9bf90a1e0e747568f97b82f3b35eb6f552025a6d2e052b359e667451e336583c6bdfc6a3746d24a3bc5ccacf72301cf079811046a4adbb221003a70e89da5"; + sha512 = "245d00bd0517f8b7cfbdc60a04fe37ce491dec9106824c2efeba8ea401e502a1d49c9d5e88ca3b0c712dc74beded5c19b4115922662373ccc3e185802547e7fb"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/oc/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/oc/firefox-67.0b7.tar.bz2"; locale = "oc"; arch = "linux-i686"; - sha512 = "9991b32bdea0e392a955178f9b64dd243e74da3ec95c52a9dd5b42e399534893503840cecec8329cbf2478b58b08b94b15c53288a02a12b2a41e0af12bc0ff08"; + sha512 = "b18dce7f515d26ad694370888a9b78710d5ae75e99eff6274ea29bbba7e9c8959013eeef8a20cc2709c318c9cc054b4722ccf0f13bc583963e1b50df84eb4d35"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/or/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/or/firefox-67.0b7.tar.bz2"; locale = "or"; arch = "linux-i686"; - sha512 = "e61e0d63ae95aefaa17ec5ba1b128bf0bdd3de1a81037ccd61d746021a32d7274530acfc332c1b25b08708f03e0d15fbacea1c9d9c196f19c77fee2305e255f9"; + sha512 = "c4ace90090a9473dbbb14575980e8598f998bbec64db3d9d9f77730ead00698b63f0992b95d82b21e73d0797278a87890a485862df19f0c1c972c31b97a70857"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/pa-IN/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/pa-IN/firefox-67.0b7.tar.bz2"; locale = "pa-IN"; arch = "linux-i686"; - sha512 = "49149c7636028e69c61dd8129fa149037c5cd13aedf1e83f137ff5cbb4a368b0a222c225dacc213f31ccaee323f31831b5271cd8adc04ffcdadbe6d71943963c"; + sha512 = "3a25e29cc1e05ca625a2f420fb4d027532999fab675ada891d8b8b54c502ad40bad408fda7f8ec9a3269e25948e8a42424b8a2cc7b1e228825106c8da5a34099"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/pl/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/pl/firefox-67.0b7.tar.bz2"; locale = "pl"; arch = "linux-i686"; - sha512 = "a1827c77ba0d48903f9e4ac2ffbaff2bd404db41335313f27dc1e024cb2b5d724f67456f01d01c0eb0406141259e351e1d19184ee6bf61660b8204d518c7fb4a"; + sha512 = "cb6631f1dc737157ea0d17552437f2ed5cadc36e390d485390aeaff85fabd11780d3a5d1d9217e2129a53fce30668ca20e68f32470766712c2e767e8a26defb7"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/pt-BR/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/pt-BR/firefox-67.0b7.tar.bz2"; locale = "pt-BR"; arch = "linux-i686"; - sha512 = "c8dc8882a7f465a51813c09e46a07cf0ba42b4be3e40c7adfeda22238e8f492c74c224fc54965cc9a1145fe82a0eaab61ecd64503c1870f341825c3054cbf01c"; + sha512 = "f50a5a71514fdd0c82f9cca78ac67cc984772abd5f9109f60270db64f81f3832e8612ed3b6c23e91642017da9b16eda825fe783ee28eacb29edfa23b1e6c3d04"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/pt-PT/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/pt-PT/firefox-67.0b7.tar.bz2"; locale = "pt-PT"; arch = "linux-i686"; - sha512 = "b0376a03c13d892b4484ea207eb31cc2e7db1333d7fec82654a96cca1ca2a724f74f552f1baea2aa9c2580055a9aa934d1a2ad3d4ca41b50ac554a9f65b7146a"; + sha512 = "dd99864a07358442c3e97cc889e1a891df6db469f6238c13b36acd6fef38063de5bb307319fdcfd82c91a66a9f67f6170b0a6379f6435020fe30e69884829076"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/rm/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/rm/firefox-67.0b7.tar.bz2"; locale = "rm"; arch = "linux-i686"; - sha512 = "f356ecf9f19a8fb314340851f101375e7667d8c99792398ad5e5c17745db181c1a1e3513ac56597f2d75bd915a4c6a6c12f3ac71682aeaa13aaa952eaad9477c"; + sha512 = "2d8f8a8c4d9398d02adcc9d827b76352b761235ed5c43ea0c4ee5798d19d611e3aeb9fe4f44df874a96a1905bc7c5e9d7f16b85606c62bd4508e5120fb5787e8"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/ro/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/ro/firefox-67.0b7.tar.bz2"; locale = "ro"; arch = "linux-i686"; - sha512 = "549a9b2e1e6e7935434186ca3d3c4b97520b0261fd9c3f95253ace286021e43785237ff7d3afda5d497dce366eaea09e11e172cb1271031f3c1cab0c55a07772"; + sha512 = "513698be75508cd4f59da1fa8f81b5954b5082c402cde9a263a58dfaca9e27f7aa5dc87eb0d4cf6f15facc2834c6ad121cfb89744c1b00c19181a2f05c31cc1b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/ru/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/ru/firefox-67.0b7.tar.bz2"; locale = "ru"; arch = "linux-i686"; - sha512 = "79256f61f98035dcb063e45ee27c06eeb1e088e2dbe4429b1a5feb2664b8b37b2851f23c836d57e0272b9fed73be22ee029373107b2fd19813f7d9466ebc5900"; + sha512 = "c4cfdf7a472bba06ab3035845c996b54a3e08f5f4cc380fdf8752b5d57aa3dcedd9248aa1e0f92655762e2efed8e8ab1901968d65b66ae565b60404fffd654de"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/si/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/si/firefox-67.0b7.tar.bz2"; locale = "si"; arch = "linux-i686"; - sha512 = "907241d6ba61f53ead341cba2de045a8e6c31805954469a84792035472b9dfa6f8175716f765d332590259651fb5e17a96d1fa3d4fb0f12279b6cda9d1f0c5a8"; + sha512 = "ba8bef7194359cbe9a1a52af4ea5e8615a3e3688cc0d575c76fda5319684aa336c59e2492ecaf65ecc68939996243fc07f910e3a2c4a36de876130abe100dba0"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/sk/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/sk/firefox-67.0b7.tar.bz2"; locale = "sk"; arch = "linux-i686"; - sha512 = "a8932f837cbe336fe74a223196f2f3d4383be4b1c8f53d793fdf9a9fb66a65527fb65321160df2eaf1328c8b1cafc7558c3e14a06d7d49bd93f24657e24deb76"; + sha512 = "afed2ee53d88d86bf45923cbf00952914c01b6b70909079a25fede7db3cb221433c5957788875a00e5788cf83a24f771399c8ca77661d042fa58de967b8fec55"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/sl/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/sl/firefox-67.0b7.tar.bz2"; locale = "sl"; arch = "linux-i686"; - sha512 = "f1a76d7a77f1ff67a0defdd51fc2ed246e06ee00e11a80e58e35f4d35e081e1a0520f3f11fbdf3314a722c0f4c033cf6915ee792b8d98bc75b5552f92527dd4e"; + sha512 = "5482c61f33923473af23ac5819e6fe379c497ee4dbf205fd1df14903bb59c74fa41f2aca9a98116383675848748a992a11cb0fafbfb227b41fd168c071810586"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/son/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/son/firefox-67.0b7.tar.bz2"; locale = "son"; arch = "linux-i686"; - sha512 = "f31660a7c3e85f759611d695fd44db021fe004f990e5c2680906f60b8650eedbc6d624cd54f5a6f17ab0c46d27bfc260789b2f294908a9c77d1cbcbfbf90baea"; + sha512 = "6b5dc673099a66390dfb9307a93f9852ff8c2e6f4ad42e3ca3988fd53b5bc2fc03f51bd91d1b93cfb4fa7d6f481681182e961e08c84558e14cc19f181189fd60"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/sq/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/sq/firefox-67.0b7.tar.bz2"; locale = "sq"; arch = "linux-i686"; - sha512 = "823d671493e005bf7311dc563916d28e9fb6c04378366a5be8a9ea39a0b5e6606a299682b0e58599a02853c6be592f1778dcbecf42650d200b5e8d4a9883ea50"; + sha512 = "ef584e79c07fce073e188ff5ad24138c59b764b144a5eb80847142887ac007d47336338e75ef69f1c27063294e2d65cfcf7c49a25ca59b294481463f6add1b9c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/sr/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/sr/firefox-67.0b7.tar.bz2"; locale = "sr"; arch = "linux-i686"; - sha512 = "c397bf56d12ff28b36ffbfd132c3d304017069cb12415a085bcb7f27898136bd8363c8366ee75324aa136442d93733223e1493204163aefc792eaa531a50c3b9"; + sha512 = "9ba0eb04dfd9355163baaf446d3b62be4ddaedae82558b5207fcb4ee08c315d1f86606cd917451fc6d2bf1dd33693ded40f66e17aa399a0f33187b038fb0a04e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/sv-SE/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/sv-SE/firefox-67.0b7.tar.bz2"; locale = "sv-SE"; arch = "linux-i686"; - sha512 = "7fff653a86fa12dff883366b0d76898ee3fc0b6c93ec91617e0b27254df873f7c5b8b3b5217f0082e474808a465fbc254ab682c521b36f031eda75c5558128b2"; + sha512 = "4a764e632fff6ebe332e02473a17038ae6fbcff261bfd8ccc109751208002864bbdd9040a0ed706862f57f217b4dbe2e771982837ace14bc11177624d396452a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/ta/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/ta/firefox-67.0b7.tar.bz2"; locale = "ta"; arch = "linux-i686"; - sha512 = "9b7d327e5e72135bcc4591d7ed2aa606dabb2e292b6ccc480c8665b247a24fa0721ed23ecfe242cb50604f7f211435be63915c1bbdc828e4590a91802d277155"; + sha512 = "b15916fe4d9fd6fc634c98da18de4ab970b52bafa1cda862ad81fbea2713ae40e11a2e472e88dab813cf6e26158cd2bbad118b8bf48061360ce0cd6f3ab8c669"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/te/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/te/firefox-67.0b7.tar.bz2"; locale = "te"; arch = "linux-i686"; - sha512 = "0067469eadde18e120645a55701454381010530fe7cea3370efdee5e728b2b0258771ab3c39ada75727c796d44be5bc1487479103649964aa4926f8e23ba9c69"; + sha512 = "4f25e30a084e2308739a60513ccbcc4eef516cc61879cb75411b150237164c0093d0fa6edbcdaf4e96815fdb4f7e87e4ea2cee8d60cfd488002b6459530eb682"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/th/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/th/firefox-67.0b7.tar.bz2"; locale = "th"; arch = "linux-i686"; - sha512 = "3157d512fac92eb23db2774128d509277ac8047e525b14c98f9b7b291c2697fb4917144605451b1acbc76cf9f104e0c39d8a4b9c0e90d8bb206613802c2edd91"; + sha512 = "0245154e664a10a646fdbb6cea2c565a4830a34caf4ce6eb86508bd96d7c6e95de447d4b023ea28f5937d6506b439f137580e059b9cc149f01b8d7d112caad39"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/tr/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/tr/firefox-67.0b7.tar.bz2"; locale = "tr"; arch = "linux-i686"; - sha512 = "38e928345d279831f5c7ed1c6c4e618377d5a92e69b65f7b3d9bcfd16f24c32018bcdd8fe384350a6e846996de783897619ce8d6b734dd92cdf3f1308b9cb582"; + sha512 = "ffc35c836068960c96bbaaf1561c0d7260a190bf01f37c4f256d360747b52cc28d980c9fe63dd2f2a282f148620adcb9b37783e217ae0de10edfae3b08093366"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/uk/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/uk/firefox-67.0b7.tar.bz2"; locale = "uk"; arch = "linux-i686"; - sha512 = "14745f76dcaf57d2a365a0eafa253e7849ab1eb168877de7a9d20a142228581190766eb7c0064edd966301d63c728aea63190d2a2fa6d2e803a96f28f15bf9ad"; + sha512 = "ebca303ac7b6b276596421788e72bea9b473810b5de4c9c6aad1a4631db560e4dbf34f1a938aeafe318c93f2d511ff7330a9400f032e9fcfc04be30baf99cb42"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/ur/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/ur/firefox-67.0b7.tar.bz2"; locale = "ur"; arch = "linux-i686"; - sha512 = "7fc7d0ab990b64dbd611ea3e76939ed438a1a63360e746beab30a057fa053717e92c35706ab8f2ac81c52a9bd92d62cffbbf99d3ac85cfb092bbb2868f47a092"; + sha512 = "09462bea4096bea32afb94f79e9f20bb5c41f02b35a4429103389d3e8ff898c18ccfddb13db33dda4af8315b6acf76b24008b70bf0d3c8331e6e812fd924290e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/uz/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/uz/firefox-67.0b7.tar.bz2"; locale = "uz"; arch = "linux-i686"; - sha512 = "256b8c553e61796b439ae3d4f90248ae07bd7c13b9a32ce3baeb24901941ff8d6ec6ab810122b6a6da713c0a1b3737ad66e6d798d6cf62fea87885541920f6ce"; + sha512 = "267c646d61be23f11e4139365b463c746b0adfc5ee7f3248c8f48c093e1706b468e187e574fd12330a8cb5bd062940eb383c9c6d42d0159f12b3eff6933c3a55"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/vi/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/vi/firefox-67.0b7.tar.bz2"; locale = "vi"; arch = "linux-i686"; - sha512 = "152a826f7ca28351a6395728ca6ae1fea3623bf154e00e2bd0e56ef14ef819225a65d12dd7cb6a483b2a2e1e08a3da39082d9997a7116b2a05c66b45f8cd77bc"; + sha512 = "4f4aad99ab5ac6ea231f0dd3384487c5577f9025d3e83e6960146435767e3133267495d781b04112c4a4734548d643310c6bcc7b97fa57c917798dc127f8a5a5"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/xh/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/xh/firefox-67.0b7.tar.bz2"; locale = "xh"; arch = "linux-i686"; - sha512 = "b5aa2d4450c34eedaadd120da155622590e053e2b5bce0328e1e314be339a7e9def21417d18c094602cadf5fcb674fef0ec6691fecc00e2f92336c393cbc0f66"; + sha512 = "3c422d7a1089ac4405bea8268d48a56bfffa1c15fcc1362bad00f045200f2deac14bb31985cca2476a226998a55f2f6ffdc27c17a1fb7e28d667770102147fd3"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/zh-CN/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/zh-CN/firefox-67.0b7.tar.bz2"; locale = "zh-CN"; arch = "linux-i686"; - sha512 = "9c4d18c8cd48e63a0142ac2af142e75581cb57d242e779b4fb6d18fb3e90fa748952275409fa174261ca8fbebdf4d69251b0681a4b4a0aa03cf03240bd97e855"; + sha512 = "b7d06b17e5a652c87a2b644be00c3ee6eded4b6a7daf79e7663d6452b7c7e5506971b819296b7c251a17055747e6b310e60ead1ca08490bba8d056df7424942d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/62.0b17/linux-i686/zh-TW/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/67.0b7/linux-i686/zh-TW/firefox-67.0b7.tar.bz2"; locale = "zh-TW"; arch = "linux-i686"; - sha512 = "13238f853646c2249e3eb13e140507ed2e3551151ebf0c5db3c8146239bf1a943c794d77beda40e97d93ce0eca955ba3a1b618431fd34180d2adebd8c405a137"; + sha512 = "a5ef8efc618641fe7af9fd645388a6942ceabdd6f239c37af7776f753e3703802f707c64925e7a151d4e80acb2a720c4bfd1f8969db053a708616e0191bafa4f"; } ]; } diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix index 1fbcb3d9714319f8c9ddd709a3df0cec46bd0e2c..4262609c66baed8e96d2ddc4c84239d40bdbce6a 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/default.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix @@ -31,7 +31,7 @@ , libgnome , libgnomeui , libnotify -, defaultIconTheme +, gnome3 , libGLU_combined , nspr , nss @@ -42,12 +42,15 @@ , channel , generated , writeScript +, writeText , xidel , coreutils , gnused , gnugrep , gnupg , ffmpeg +, runtimeShell +, systemLocale ? config.i18n.defaultLocale or "en-US" }: let @@ -59,7 +62,7 @@ let "x86_64-linux" = "linux-x86_64"; }; - arch = mozillaPlatforms.${stdenv.system}; + arch = mozillaPlatforms.${stdenv.hostPlatform.system}; isPrefixOf = prefix: string: builtins.substring 0 (builtins.stringLength prefix) string == prefix; @@ -67,7 +70,11 @@ let sourceMatches = locale: source: (isPrefixOf source.locale locale) && source.arch == arch; - systemLocale = config.i18n.defaultLocale or "en-US"; + policies = { + DisableAppUpdate = true; + }; + + policiesJson = writeText "no-update-firefox-policy.json" (builtins.toJSON { inherit policies; }); defaultSource = stdenv.lib.findFirst (sourceMatches "en-US") {} sources; @@ -82,7 +89,7 @@ stdenv.mkDerivation { src = fetchurl { inherit (source) url sha512; }; - phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; + phases = [ "unpackPhase" "patchPhase" "installPhase" "fixupPhase" ]; libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc @@ -134,7 +141,7 @@ stdenv.mkDerivation { inherit gtk3; - buildInputs = [ wrapGAppsHook gtk3 defaultIconTheme ]; + buildInputs = [ wrapGAppsHook gtk3 gnome3.adwaita-icon-theme ]; # "strip" after "patchelf" may break binaries. # See: https://github.com/NixOS/patchelf/issues/10 @@ -142,8 +149,8 @@ stdenv.mkDerivation { dontPatchELF = true; patchPhase = '' - sed -i -e '/^pref("app.update.channel",/d' defaults/pref/channel-prefs.js - echo 'pref("app.update.channel", "non-existing-channel")' >> defaults/pref/channel-prefs.js + # Don't download updates from Mozilla directly + echo 'pref("app.update.auto", "false");' >> defaults/pref/channel-prefs.js ''; installPhase = @@ -172,6 +179,10 @@ stdenv.mkDerivation { ln -s "$out/usr/lib" "$out/lib" gappsWrapperArgs+=(--argv0 "$out/bin/.firefox-wrapped") + + # See: https://github.com/mozilla/policy-templates/blob/master/README.md + mkdir -p "$out/lib/firefox-bin-${version}/distribution"; + ln -s ${policiesJson} "$out/lib/firefox-bin-${version}/distribution/policies.json"; ''; passthru.execdir = "/bin"; @@ -180,7 +191,7 @@ stdenv.mkDerivation { # update with: # $ nix-shell maintainers/scripts/update.nix --argstr package firefox-bin-unwrapped passthru.updateScript = import ./update.nix { - inherit name channel writeScript xidel coreutils gnused gnugrep gnupg curl; + inherit stdenv name channel writeScript xidel coreutils gnused gnugrep gnupg curl runtimeShell; baseUrl = if channel == "devedition" then "http://archive.mozilla.org/pub/devedition/releases/" diff --git a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix index fc24898b964a2578dc173bf59ea171282dec3661..8f1817627bade7f4ab3952e84ff4451d6d903298 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix @@ -1,995 +1,995 @@ { - version = "62.0b17"; + version = "67.0b7"; sources = [ - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/ach/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/ach/firefox-67.0b7.tar.bz2"; locale = "ach"; arch = "linux-x86_64"; - sha512 = "e039e831474ad897e02025413a582b55b27c67fa7e4745042f4f8be5f6c9fa7f40e4d82d05597629ffc11e8f02568ac5ba80dab6028f58ab56663d54c2e15a73"; + sha512 = "065f94cf555016d4a4cf87ab48c93ac5dfddf3fe55769b46b008df89a6b8525705e3d1d42f1378b01c4fd84c0c6330fe213a8bbeb968b2062ecfb7fd0d99da14"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/af/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/af/firefox-67.0b7.tar.bz2"; locale = "af"; arch = "linux-x86_64"; - sha512 = "51d6b84e6ace621c670e443a75565e18a6aaab48e3f19598d3710bb4545cd317a753cf07090fe9dcbb8f11ad905900b3fc6d6b020218717ccd4666f4b791743b"; + sha512 = "f41ea86f9d0247f861a3f2f336dfb480706e114beadfd95d907335b6eededea46d4252e8b5f711b73e73dab2af4f189dcd1bc6b5f0430fb65a35b4df6e58b801"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/an/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/an/firefox-67.0b7.tar.bz2"; locale = "an"; arch = "linux-x86_64"; - sha512 = "9bd7222734ab1ebbbe196baf7c21ff0a6d4e2a60f31f870d02310a9d79f63ad5cc423da0b96f2f5026f59d8dc2a1ca10612faf680e2b39c75da8305b3de733ce"; + sha512 = "f22157f1c04b359dab1cd87e3f18cf2dcaa5bdb8bef504f4492b9be87288a6002a31997885303216572f2000018c4951998a68f9314862b2ea7c4ce7be943085"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/ar/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/ar/firefox-67.0b7.tar.bz2"; locale = "ar"; arch = "linux-x86_64"; - sha512 = "b8ce2b0cbb18c9bbd9efe40859b65b9f0bc3c98b3085f90619ed84aa13a949adf46862d6cfc5d2e519e198a5b4659ee7c6658cc07904ab71990e20d1147c3b4a"; + sha512 = "51ba06d4ca42fca5d5eb706ce3ec166c08967282d3b66802b11f41814058164ec71f28f8e4dac37affab15179c4e411b8634b42a5cf4693e9fa5186cbf0440f6"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/as/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/as/firefox-67.0b7.tar.bz2"; locale = "as"; arch = "linux-x86_64"; - sha512 = "3f1db020f7dc88dadf13b12b3c5c74ef5ee4cf61f1a0e1faa49e403ef7c5307420118c049288cdc0151b47f075781a5164a9b4539f2b0e3072cedfbcadfcf076"; + sha512 = "461afa6427e234f64fd95f8d6901fa4ad6e1a7aca08ac60205f3e27a8af55b0735fa50b0ae460460e842273f4488662133c1ef9d72bd14bbe69450f1c8c13bb0"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/ast/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/ast/firefox-67.0b7.tar.bz2"; locale = "ast"; arch = "linux-x86_64"; - sha512 = "6a91664c66d275c5adc08c22f611905b2e15d5739ef0af9514e923c8ad4baae479cf5bb2240861ff9075ce99180f6a9cb136968e65367dbf53a0ad9621720ea9"; + sha512 = "45bfaa2fccf2b2441a71ca3c23846e6cc03398e5a48202dd9f2912cca8f9c4623a1cfbe315d81952dcec4e8cda491d9b455a19743c32b278f2641828e0cd82fc"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/az/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/az/firefox-67.0b7.tar.bz2"; locale = "az"; arch = "linux-x86_64"; - sha512 = "83db2d53eb86da5e409645812b1bd48c0f315e0afd6047567c62685b62efa7362cb46374defdfd935ecaef8e83b469ad5f27b99d12eee286f7cb12efbee4ae9f"; + sha512 = "a12c0ee9516e78479413c5e79a43e149632648a83dc88e87b443a4163aae98f554ceac48b456845e881db575a87d9c8d0772546c844ff567d7ea6be1c51597b8"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/be/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/be/firefox-67.0b7.tar.bz2"; locale = "be"; arch = "linux-x86_64"; - sha512 = "13bd2cc3266c63ec87bd7cf1d843b4d93c6178a2501d5b19e797493da20b7b4963d224553aa9b246d49cd444c394127c91e2fb772f9fb60135b798d9ff856e52"; + sha512 = "756723c6774e76f62f2447724f4c2ca350e94f81dfb9d3e4b64381d3d0e34cc81a7b56868aef1996e97ae13c15f192e83cbfd30a7b171a7536731d9ab9035eef"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/bg/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/bg/firefox-67.0b7.tar.bz2"; locale = "bg"; arch = "linux-x86_64"; - sha512 = "2ba3401663f896b58aee0f19ffb088429765627852f0406d6c60c2285d441f17639d4cf102101f2be7a29ea0d15f615db4fa3b3584466b06d8ed52096ee98178"; + sha512 = "6b548c459ad6d0933733a571f800050b6e416618a0d465acbe251e8899ccb5b3d4b3eef7f46982c9f4f888f2a21aca4f9fcc990615345a6868fa45797f843ad8"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/bn-BD/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/bn-BD/firefox-67.0b7.tar.bz2"; locale = "bn-BD"; arch = "linux-x86_64"; - sha512 = "e39d0760ad12719b0919659bd0976a362a6df65bb2c035a7e0f6e3e58f771e821b8ce02fcbf32b7cdd5d2ffc0de6b4b40ed7301f1be0293596b509a09a2c4c4f"; + sha512 = "7a97d2daef6459cf2eafc7c7469c827c0fbc3fe241aa2a08865ce3b83b4e667f59371d33fb96e834ad1e6de29040146324359473dcca3c6acd2dd892e4aade64"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/bn-IN/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/bn-IN/firefox-67.0b7.tar.bz2"; locale = "bn-IN"; arch = "linux-x86_64"; - sha512 = "7929ca419228b0c3aeca4131b1952fa1b754278d77134abc4c1b4ee2e91f8b6349f5e6a4f1a721506262ab321196cd977cd446787c9ee2a3b2d84dc2610bed0e"; + sha512 = "6545354d98ef743017e1b7b951df4f1d7149b9918a2b0e242c10c886cf193a542a8c94f3c98f491b3e5b21ce860cd14cb066a9688b375f435e01aa4b5d9692b8"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/br/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/br/firefox-67.0b7.tar.bz2"; locale = "br"; arch = "linux-x86_64"; - sha512 = "750ca92294db2f3180e0bbe2c449b42b5ebb28ed71a5b5f0fde1a0f033867cc642d244bacc3578eae5dffb787b9732510f7790c4ffaf2c742916550e5193c30c"; + sha512 = "85095550969c5708df47a9f0c67245273fd0c81bf831707ea99d07fd9e679d4ae4c12416b764599826f08329dfe7460c4c4109b21887fe416aec638e6730ca62"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/bs/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/bs/firefox-67.0b7.tar.bz2"; locale = "bs"; arch = "linux-x86_64"; - sha512 = "585b4cd4d7ef1d9cc2930f9b3fe12509468b52ba0f99efce40e56e28e3fb53c60248bf6362edcdca518a49e9667b07a1ddcd6bbb33487673137246b404a0fd02"; + sha512 = "3eddbcfd63cbf85f74a8f24b7cd1b47390369ffe4f89663178b6bf893fd5feb040c521814b2033a79cfb75ddd0201fce2bc3993715c50eb1a39c6889fe515a53"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/ca/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/ca/firefox-67.0b7.tar.bz2"; locale = "ca"; arch = "linux-x86_64"; - sha512 = "65c5de7ede82ee5c92903e37935a08be96b164c20031d389205171de6d4afbd37b87acde1717c0c26fc4bfa942fffca97a03023de5c4a6b8b4e9ead07c8b3528"; + sha512 = "ce4e8b99648dea33ed485aa364e99aa2b76afab2119a375c0b1beb6acba52bea6386beccc00db84692817ebbc7cda54bfd39755430ad195f4a409d24b6f9cdde"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/cak/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/cak/firefox-67.0b7.tar.bz2"; locale = "cak"; arch = "linux-x86_64"; - sha512 = "f4aeb3ed7fde6c2efc50c4170fd52af33d223352df99fe80ae7f9ffc79281bd6cca55540060724ed237f81f083a1052e389003cc66fc910f1d70beacd59b2b65"; + sha512 = "1cb2eaa6c83bb7c8552094f2b40a710b9e00b48fcc9d76b95ae650834e8f4e33b898fd1e3fddf3e4c90997ee9560e1876acee2a763719bdaa2b98913d62bb073"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/cs/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/cs/firefox-67.0b7.tar.bz2"; locale = "cs"; arch = "linux-x86_64"; - sha512 = "2bc2db8f32b38c4fd6176f674bc2b6fd01a0b743c7a9b1a882f37357a22eceff62f55207aff17f8fe61808ecc2ca5b813471c3bb3e0accd840bb45e34f05edc0"; + sha512 = "b4212d47a104fa1a1905036886285973250c6b7b253c7b8f1d75a02561af2f7a127edc153ee47f1ca386f198d0a79106ae27c4abdfdbad05fcaac5b179aa64a5"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/cy/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/cy/firefox-67.0b7.tar.bz2"; locale = "cy"; arch = "linux-x86_64"; - sha512 = "42a7ca67d0f882adf403384634e84c8606b6b155af5afe463829a791f5605969ebb2569c74d84bdf4b45f7bf1b0297b1b3b68c2a404bf8c4487dae06b43564a3"; + sha512 = "6238a0f598da4b323a245c7f025e0e67e511c8b07f7f6fa2dee5d7fc232fc9eb21d4a0c00d3b5d9a4912cdbe5fc3f50ed8c4125e7e6cee5337d21580491a31b0"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/da/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/da/firefox-67.0b7.tar.bz2"; locale = "da"; arch = "linux-x86_64"; - sha512 = "942836a33ed6044ea8de524ff235614f7b05cb4efc09b04782154497b19d8dd548dc46f630fa49a4da619c09e88a337359c9102f605139369d1682c9b408cbf1"; + sha512 = "f3e5b994100272063fa50ce90edafc913333902431ac24050b10ad96f686516efca6501260e2201d6fd8a8b835efaa3f478e29a8337040f5274056bca1e4b893"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/de/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/de/firefox-67.0b7.tar.bz2"; locale = "de"; arch = "linux-x86_64"; - sha512 = "c11ff6ce36a730b00a42eb134209ecf18759894074c8956062d82135540bc3e6667df228ef680b8b7a04be8d3c55b808fa65c8b4f55f41874319d93da1db0012"; + sha512 = "b85685a7119e9b77325cbd3091f447b1ec2a65781b398fdfa0b8ce6c0bee0b40acb67b8922626fe3ded23838e4d760a61b9382671f99ab3d97b2cbeabc180759"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/dsb/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/dsb/firefox-67.0b7.tar.bz2"; locale = "dsb"; arch = "linux-x86_64"; - sha512 = "568f5b808c9038668e1c1c42b6fb5097d016dfd62192219fa8cb42613206e6814cd58308cf9967c634a332b135a9303e5e27e85768ac0f2cae482ac0566e440b"; + sha512 = "16c488a16b880441e8f24f0dce65a4e311a68fa6f1c6bc137283213be938518371963f2bc4e04d56adac25bee86223018d8701372187a8db81d88f24fa32c26b"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/el/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/el/firefox-67.0b7.tar.bz2"; locale = "el"; arch = "linux-x86_64"; - sha512 = "9ecf0d27ce9f4f5f7ddf5d9ccaff82cccb47f4083ac0113175a909657362bab7ce80812752ae425de9adb7e87daadd6d3f512543b636bdf9d7bbfa8a908e248d"; + sha512 = "8bb987cc8f2d0cd5528319530cbdb8efbdf8ccae4164c376ac08dae9e3f94460e73c9295fc7da0a0f88f4bc39f8b9e576e3462edf15c4b794f48571975c9442a"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/en-CA/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/en-CA/firefox-67.0b7.tar.bz2"; locale = "en-CA"; arch = "linux-x86_64"; - sha512 = "1a9e0bc564d36ecdc8e906eb079bf6d3368007cc5e8fbeee7520eeb75d9299e111a556745d594274bb7882e8a513ca0894d3018ddd6ac9177dc2c1d336804dce"; + sha512 = "b615236a7c24d4d45bdb7286c820df4a96829ad2afea2d2f3ef9f539f5841b5fceb90790226d61db393e7c3b7e626ed0c4898e146dfcbe35d468fef8f18953d4"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/en-GB/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/en-GB/firefox-67.0b7.tar.bz2"; locale = "en-GB"; arch = "linux-x86_64"; - sha512 = "b3cb6de9a31029cf019db888eb5c4680fa20f4d21f0dd9afca02b35ad039c4c0d844bd0ec8d9790aee0b583951874846d30b6f506f21db2617af4ccf5ab98304"; + sha512 = "d658c78001a8dcb6ed58d63205b9a845b55a668299e514fd948245341b2aaf02da7721e7312e763b38b02e8375d20a98abf3d3714f75236fb0bbd3074e08a3ec"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/en-US/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/en-US/firefox-67.0b7.tar.bz2"; locale = "en-US"; arch = "linux-x86_64"; - sha512 = "6a4cccd98f9bbd25ffe07087c847e22d62e467baeadc467b33c057b96a94b93e2821b13f8d6d9773ac7c182e06ec2b42b9c6abfe9b20fa869b72d2d7873ab213"; + sha512 = "b1911ac01ee72cf64ada7e8b8d983514446f174785927f20c88e15e4394f4aa57f50fa916295e5223cd67cca0c3c8e13488242c10491ff05d66e1439ed38486d"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/en-ZA/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/en-ZA/firefox-67.0b7.tar.bz2"; locale = "en-ZA"; arch = "linux-x86_64"; - sha512 = "b7246ad58dda67f3b8958a54817bc80610427f2978d0a8398fcf38164f8f9c96137fdaa2305be3830a42143b5549b1a3a017adaec9c5c9a2d07060daa85c5e92"; + sha512 = "390815b14e35134377cee24bd5731914cf4ae08f12206f2a3502d12c3e97322763c6c5a9d05a5b0b7f8e85247d5d61999f499c513fa8c3033aa6eb0f22b0eff6"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/eo/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/eo/firefox-67.0b7.tar.bz2"; locale = "eo"; arch = "linux-x86_64"; - sha512 = "fcf8915c6cbbc578c81888459db625236a3f3ceee7eb0076c43427731aa9ccd4476b4d1a5dc5656ccbc5d5a75cec550d4e4c39c894529651a499db4fd8137c81"; + sha512 = "b80d91463d9be96e29eab4d15ec76952e7c664e30934de1b14d165864962c4aacc2725f08b6e301487c55e386f324a3072c3969bc4f474d7120f2c723d9e76f0"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/es-AR/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/es-AR/firefox-67.0b7.tar.bz2"; locale = "es-AR"; arch = "linux-x86_64"; - sha512 = "9cb80b1d9182e7f9e24d1ab71c6dad4d283b11f0c8fc1074c5e20a7b847d008575edae6ac1d48eaf64c9acb239198348a08b930231dad156b3209149571f6a0e"; + sha512 = "03558cb0909a4f8fb2076b36be023cc768a84de64b3113d9c795e763cb762b68378826d1fc8c30b77f3c0e55d6f3ed6ca2d023b531084548b24c4a9bdd4d41da"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/es-CL/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/es-CL/firefox-67.0b7.tar.bz2"; locale = "es-CL"; arch = "linux-x86_64"; - sha512 = "633e9ca0911086309b6fdb15389fbacc88f32a3db0fa8d7420d7eec3cf11fbbf1f548f050e3e88ad0cd397f055a94aa9516a2e2c4fc2eb793f0e8e38a096ef3f"; + sha512 = "45d5284a78cc6f985d3fb68888f9a03b155f924549f43e4364deb87e0dd0c2f9c532e8a0b8062db8d265c810230956533c6b7477d66f5adbce82779f6e55d0df"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/es-ES/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/es-ES/firefox-67.0b7.tar.bz2"; locale = "es-ES"; arch = "linux-x86_64"; - sha512 = "ffbb61dc9fb1902c334d7d4cd023fbe09d3cf1e2b44bd1a1d5f286ecae5b8612b40b498ccfd01c86ce6d3e5b986adb9a6a889909095d182e003f06bc0df3bbe6"; + sha512 = "650c869a200ba5891be7b377030e32ea8e5c5e1bacfbd9028ad6d5909651aca8da7c82b399ad5491b071cebab168cd7ef3f14b00b8af562a02ee5696dd29c249"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/es-MX/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/es-MX/firefox-67.0b7.tar.bz2"; locale = "es-MX"; arch = "linux-x86_64"; - sha512 = "489e1b834bc02fb54500e9521ef18971e5a17f03be582447bb68330e6cd679a3f8fa59655e46f7f9f8c8d6093d8b9a17a5500b53a75e8e2f48670b9f0560ba56"; + sha512 = "4fe0d5ee804dcbfd9b99f658af522be71acce6e9a9bf96ecb47bfe8e8327d1bdefe20c70ae474cab3ef7b1007ab339f6ad4ab4250e9f985e885147a039daa83f"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/et/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/et/firefox-67.0b7.tar.bz2"; locale = "et"; arch = "linux-x86_64"; - sha512 = "7e6c9888adb48210b40b7652e5d02d4bceab9f11e4b83df43d334cf0dee6eb4da408d1a9e63c6fab0ceef5995476c0534555096e91c59456104634eca3851bb3"; + sha512 = "d3df04eacdc53b02f2a78314f086588983b9ada6855604337e82a5ed1e0046210e2cfd37153570c46dad632ac066bc87e19794898144ee5d78cea0ecef1193e5"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/eu/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/eu/firefox-67.0b7.tar.bz2"; locale = "eu"; arch = "linux-x86_64"; - sha512 = "d17b5e9810428a4268497fbe94b529b8151dd38e44a15e99b9e2bdfb756da2f9a9d02d3905a4b6314076281a87a2a687827cc81cb98dd9eebf7a6bd73f9406ba"; + sha512 = "b0bb4cabb709ea6dd66fcacfe0536e03d9615bf94ede192bb4aa6f84592b94206be039909f46ba37397d9d396b08f8cecea8e07c6b64d8578280026d89dbc6df"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/fa/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/fa/firefox-67.0b7.tar.bz2"; locale = "fa"; arch = "linux-x86_64"; - sha512 = "2a4eda4aff30d19d855015451cf1ac20540d6b462d6435d9d36a7aef6c5cc986991f84e8e24ab0c2dd19cb2556a15d96e8e28cc05c72ea028f91f98749945e79"; + sha512 = "6dc15ce8ffa1839df3a9aebc160022cb3be335fca06b41ee87190bc4fb8fb78be4b220855b0bee75efc771d1ecab3080116b3440b225f2e15f20536f84f2b111"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/ff/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/ff/firefox-67.0b7.tar.bz2"; locale = "ff"; arch = "linux-x86_64"; - sha512 = "dfca1b04004b51a8ddd77c68be9e85e0ece4147d074c53f912029934163e56e3e09cac1281f8bb4514393c3f5aaa9acea27d45a59707a80b75fab933e25f51c3"; + sha512 = "367edbbb90d98216d3d5ea457b101e4a0d682e36961c87477be887ae1f7b0dd5efeddd81e12298cab2e9c2e7a9ab1560288263857e79ee7f561a84bec3eadeab"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/fi/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/fi/firefox-67.0b7.tar.bz2"; locale = "fi"; arch = "linux-x86_64"; - sha512 = "bf28291a72fde1f62799b5b4794774ae3df1596d1a07678696781949e6f1c05f9751f5c43b1cb21191e7c16d4c8c67f295c53358d9995da41d086b4ce907607c"; + sha512 = "3a2ba7291fb2efb95663dc01e488fed254045b9d23f84c896a29273c825cf5f1ec5883aa66d2afa0dbaba3ff6cc9b87f14e845010073d897b8dc275a47260ac3"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/fr/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/fr/firefox-67.0b7.tar.bz2"; locale = "fr"; arch = "linux-x86_64"; - sha512 = "7ab5d5b2ac6dffc0cbffa22971eaa72999475bdaa5baf3dbffd5ce4c2b01027a4c6ef517d4369f86f692395721d9032dff667c0b07ca402ca8d1ffc3e96febd2"; + sha512 = "8aec13533118aab96aef3b7e7e23b65a651d5211346c1769f649128a50ae13b2e5827ed6195ce265584dd3f63e956b28689b60f807ceaf63d7bc558d5c5300ce"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/fy-NL/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/fy-NL/firefox-67.0b7.tar.bz2"; locale = "fy-NL"; arch = "linux-x86_64"; - sha512 = "7fd419e89cefa2b387b0fb23cfc252ce3a1a628c0313eea8153a8e82da2f74abe069c8c88a3ff80e0bd3c38ec91ca7b6ea7a41251aed3077cbb69d10ca398ae4"; + sha512 = "593f36d08d2af14243779f8ca8223b9e00809330f4012ede586917e98c875d39fed9aa856caf32f8afc6bf14c47ca6e5db0e0a8c9897767c97e9edd60558d229"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/ga-IE/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/ga-IE/firefox-67.0b7.tar.bz2"; locale = "ga-IE"; arch = "linux-x86_64"; - sha512 = "73676ef0c8568d1d97a7725bb4e4334581bd0e09c3d4d93b276ef9345626841c83659791046872dc04631ada4facec7386e07969b9d6a5b8fd37aeaedbf82a6d"; + sha512 = "a272716be03895e1562373ab93abd0c4eb2ac3e8ad5caa1b868607faf125167157aeb22a652d2edf4148c9096178acecdaaff7dcc13e993914e4e8ba899f31bc"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/gd/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/gd/firefox-67.0b7.tar.bz2"; locale = "gd"; arch = "linux-x86_64"; - sha512 = "fa8bec8df767f62bd361e346deba0de6d994f7d84334a2adc18cac6c8b4454ef2be6e772e34fad41b5c608b9b2e82802acf171c50acc3dd75a5b16bc66768105"; + sha512 = "3eb05e39c33873a7323cfe966c31cf1ac073edcb37b6aa37e71b58d29e3dea87db8a4d5cddf9bd64e618e2cb2a3a2314ac9e9a5cd23f099fe391dff9bf7d5bd1"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/gl/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/gl/firefox-67.0b7.tar.bz2"; locale = "gl"; arch = "linux-x86_64"; - sha512 = "f58e80c8cda4777bf49ec736dd1cb17e25b7efeaa791d385ad8af63ddf0f6ff01fb4935f8e006b73555c2c351d32566a13164ecc00ca611bd2a6e5403a2a5fdd"; + sha512 = "078113798dde9058778c334b428247c83c95030c35b4964bc1a3b70aeba9d6967338c84f0b88873bc95e2d9cc123eed669dc7cd5345ce81e0ad021ff0e432a49"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/gn/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/gn/firefox-67.0b7.tar.bz2"; locale = "gn"; arch = "linux-x86_64"; - sha512 = "9665884890f6512e5f460ae7ffad24340a545df9f14fe20a39ff6e8363dbabf095bada881239b57203a0b4da1bba9b16551c60d09510a9fd2cd7fc6d5c1d74cd"; + sha512 = "9c5ca6da7eab1cec26ff66649f005b77523ddf325869236a166545c7e0b50522d9023883f831dbc6520396a146e415a458e3528cc96e12d357ae5286dbcc932c"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/gu-IN/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/gu-IN/firefox-67.0b7.tar.bz2"; locale = "gu-IN"; arch = "linux-x86_64"; - sha512 = "92bf250acc6e0fac999ed4adde4d5412ec87bfd4b70478dc0313a322be55ced401aeffbe3fa1fc77b8fcf8c8da5e47490147e49565eca9c0a0ac37e50b31cdbc"; + sha512 = "1074f26748385576f096927f230f4363fb28ee21da467392c23f26b912c6bbdea39d0d816ce60c8bae724b294e979f01662e25f9de9d9801c815bf3363bbce8c"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/he/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/he/firefox-67.0b7.tar.bz2"; locale = "he"; arch = "linux-x86_64"; - sha512 = "be1157e943bfca4e516dd442ac697cb7182590ce15bb7cad3ea11ae438c5fbdd8b86b3102bcbde78f7a2dcdee54ef0886b130276c5897e3eb55f364ad0c0bf34"; + sha512 = "9533939e4705ea4ab9b111fe4940c1e875824ac53b1856ad18c4a412f9f8d60d1befb3ce363ae128fb74ad1328504e7a34c20906862ff30e3b83f18535a49e1b"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/hi-IN/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/hi-IN/firefox-67.0b7.tar.bz2"; locale = "hi-IN"; arch = "linux-x86_64"; - sha512 = "30616cd4e6ba7fd9d98bb7b4b95a86bbb956e58d6403aa9646009d26dff2a2f9e743d4807cc178babd083b5725454384fc646a266b0b036a1ee03d9f6380ba53"; + sha512 = "af50bc6a8951e51babc5e9c5426205f218dca19833ce65baa6b7898a5b469c41129499d094ef8dc0759f34b09dbf25861dd32d97de934548c2713a81f8c253b7"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/hr/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/hr/firefox-67.0b7.tar.bz2"; locale = "hr"; arch = "linux-x86_64"; - sha512 = "5736c7ad3467dd7cb01128184ee4de44fde57add1df07d0538387f527b1ba7e0c02a1d50a3e90610d368ec6bcc86b12a63a2aaa6fa37b842ca258b604e0648d9"; + sha512 = "dec21b5d230caf1c1be6e712bd926ed1eb6b74825ae0f07f7c6f39545d0419b71b57c404ecb897d11d9f54f08cebd236dd5d77d9ee1a64a900914fd9158cf4e6"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/hsb/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/hsb/firefox-67.0b7.tar.bz2"; locale = "hsb"; arch = "linux-x86_64"; - sha512 = "74cde3231acba2627134639efece862877eb66b6852b64d3477069258bc9f6cd333d602f5e6f4216515268acc8e264a54e24b6139aee0564275b74c424847e4a"; + sha512 = "023bde601d59f9daf8daefa1f9894ec43fbb96a7ebe5b31776a288c07105b3ee10b5972c5a676e04062acc81e8d850424b8e7aec6b8ac8d9194284641768934d"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/hu/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/hu/firefox-67.0b7.tar.bz2"; locale = "hu"; arch = "linux-x86_64"; - sha512 = "2ac18b1795fb09d39a6dfd4a60d1e99f0107309868a90c8aeb29e721408b886dfc8a53f8fce0572ae91b004586e4752cbf2fcb5a5f907557599cb588fbe8ea19"; + sha512 = "d4fdad7244ba456012e36b64149ef5f3d52b5d139bee585b57a138556ef1f541908a24cd97a1bbd2ef2044852b9c3e7abcf0f634cfcc18a0b44765a3c78126ed"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/hy-AM/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/hy-AM/firefox-67.0b7.tar.bz2"; locale = "hy-AM"; arch = "linux-x86_64"; - sha512 = "a58c8aba9a0ba03adc349bb75a236c06a31d9e627b85ad46b112e1a34b77b9d14d4ee6636fab0b3b1eeedfb494db7129371928e638540393bb9dc468f13bb7e1"; + sha512 = "4443c51211b8d2874e4cc8dff770c87db4291465ac615d087a9852c81b256e47599fe1e87d24d2e3b0145d68e47e8f128158f89bb0d6bd9baa92615e3b79656c"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/ia/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/ia/firefox-67.0b7.tar.bz2"; locale = "ia"; arch = "linux-x86_64"; - sha512 = "02b3134b0e46c3029732876017b87464d9c5e69fb298381cedd70dae789c4a79c6948f0b0650cb567eec989fbdc1c0cac077a084627e858a5449dd5196ce39de"; + sha512 = "589f94f2b4c873fa43896b57148ca1a7e16038b71476050754a0a0374bf0abe97d9d8ca0208f0101568f9fc1cf441e439817106cc3d68f10a0a075fdd455f89b"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/id/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/id/firefox-67.0b7.tar.bz2"; locale = "id"; arch = "linux-x86_64"; - sha512 = "4ab61d1f55f29c7657183e514c90b58f7be50e6e421a579bf95efe03257d58d9c751e8bcfcf35dd5116a7c898b61fa56c3ddd39150d38fa99b7f0608f2d42c3e"; + sha512 = "602f2fc520a61267f3b8ffe011d50b2e3c1abd4af0e805fdd7a1ace4adda69ce00cdc6b0feb26a46360711e6bf49c83bb33e01b0af5222a71456234119cdde5c"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/is/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/is/firefox-67.0b7.tar.bz2"; locale = "is"; arch = "linux-x86_64"; - sha512 = "c226d9cc2481c199973efb047f98a92b47d325cef30513756bf62d2df10cef578b21a182d36c8bc8f3510c48f143229139f3e2758e916944bc1f0c8fdf56230a"; + sha512 = "162b3fa20530f59fe80e347f068bbd8d7d370a23ee2b3f4582c181ace473cdee06e9655ef08dd6bf514df728cd79935368bfab245110b6d143634be252f84e8f"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/it/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/it/firefox-67.0b7.tar.bz2"; locale = "it"; arch = "linux-x86_64"; - sha512 = "99bb797482557cdbcca6a1ac50c4214d807ca6db2248e39e6c98b6d2d627763652f21654b937a380f521530186de602e0dc8ecd0eb1a2f11dd99904aa2f9719a"; + sha512 = "6887b97e91954598c0ac214b5c072ccb5669a200b5a38875b6dd1ea546b14de7dad9639c64b4b49d3039fddbae22ae7f58b0cd4f3e243c780a1a65ea831181a0"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/ja/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/ja/firefox-67.0b7.tar.bz2"; locale = "ja"; arch = "linux-x86_64"; - sha512 = "8d15ca85b7754529bfb275acc46f61129031a7a9cba7c7caad31e9608c677e2049f4a09bbdcf1f6d3c1b550dd4a8196349bff8937eafbbfdb190e8606ac0aeb2"; + sha512 = "194911f101d7eba5a7ec2325a4b4accd27cc26c990255e73d9aaac9a281d40b6bc38091cf7cb138a6ff3ec083639a41b0aa2b005c39f1f89da79526ab3ff2349"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/ka/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/ka/firefox-67.0b7.tar.bz2"; locale = "ka"; arch = "linux-x86_64"; - sha512 = "df10d32090a66973e4dda4d94d9c736e0a18f00c701235a20e58164914e3de59653903aba094558f7d7b3ba05b8d5abaa06ca0469437fef8d9d97f868b0ae776"; + sha512 = "d8804f06b2dfbd57f316695d5dd5350e3057fcb2da4e3831b86b6aeef2e9b558d791f00ada3578ae1c7e51432643814c0394922e128fa8fe9da1604edc84ee1a"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/kab/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/kab/firefox-67.0b7.tar.bz2"; locale = "kab"; arch = "linux-x86_64"; - sha512 = "29199f1589d24d982561fc41087b94999d4c0baa352188501b7cdfe50b110892b33cd2ab9f6fa3bf8420b58b2d7a9416a74e9cb553888dc16c1365ac0ae8eb5d"; + sha512 = "ee49177da5ff8b91458b1de3940494d7ac503b7c1b752fcea2b4d2f66d4bd8dcdcabfc5b898a34528ff02ae170adac3b48db4aed164d955c4e146df9275fe682"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/kk/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/kk/firefox-67.0b7.tar.bz2"; locale = "kk"; arch = "linux-x86_64"; - sha512 = "92d552f5757576f2c9c3be7c7fd283a179c47f1b8c51675a4f8269235a29a3d887bd2ea6a8a30633c132223223d50e0e2ce65a50003df2638f537d18d09c9705"; + sha512 = "04db9af4da7b10129d28d9a67dcbb233e2a77815f3bee3a8ab9f139020c0876c99c856b460ebeda07e3a5228e9c3943f75e22ce4f1d8a61ae20c143f7263862c"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/km/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/km/firefox-67.0b7.tar.bz2"; locale = "km"; arch = "linux-x86_64"; - sha512 = "5dcf9ad9af1685968c011fd22436ce226884967a51c9ff2b05f54d90f853d95b3e586137f5c2e24922f685d7c709cb8077a23365b5c226639ee4c89a21f61767"; + sha512 = "2fdb978f01b44f81041bb3a829504634ddeef593568dc31bfba712d79b96c43d4d4aa95d8a989312cf758d72f54086cfbb0e6a4b1ed705c666b6da2e5b54dc7d"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/kn/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/kn/firefox-67.0b7.tar.bz2"; locale = "kn"; arch = "linux-x86_64"; - sha512 = "8f7730140f816d6ed4abf7a61a89c8e6ce8fb1242b3bdfa9d8209c87c3e2c7f592f946789aee57eef33176671748b04615d3d8f433c39a3c5e92501bb663e00f"; + sha512 = "04686a8b7ff088f1f65087c02c1dddd05005134a6d96d69b649364e4a93db2ae2ab0c1512d37141099d6aa41d6ed51aa26faa942c95cdb3cfb2eeb279d12e99a"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/ko/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/ko/firefox-67.0b7.tar.bz2"; locale = "ko"; arch = "linux-x86_64"; - sha512 = "267f33b76df130d1dd06750d547db570a68539a05c9e6a1795ec02898d78fd54cf72a1dbfa8b74c71882472b11929b7eb35cc5c792e374d803236db7be64d5d7"; + sha512 = "a798b80f716300ea8211470db9583e326029eb46da217f9862d7deceb3c8f418f09e9a3a355a7ef0b8da3f502d6714571b7a3a0f0177fa5afc565d3df47b6cfc"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/lij/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/lij/firefox-67.0b7.tar.bz2"; locale = "lij"; arch = "linux-x86_64"; - sha512 = "3f55b56575eefc2b515d540f6be6f907b215c244381cdc858231b85e8687f8bffb6dfb25cbdaee38ab536055a134a206816afb71307c61e343e5ee473189df48"; + sha512 = "693ed9d8c28b7401606de9f2c45c93988861f1cd606b5d0d1f9bbff31f367c603f8761b24508ce3d1d5b533a6bd9555a33827b531859262201e6e187e60d5209"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/lt/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/lt/firefox-67.0b7.tar.bz2"; locale = "lt"; arch = "linux-x86_64"; - sha512 = "4af80a0b429fd1800fc6979384ebbaa3e9b13c136f48d12b2cb25a13f10886d85f864aa8a635b59e827ad8d203a91b7c2200278bb04ced4db20e5c68984a150d"; + sha512 = "291dea291f6bf2c9c0373f8c342e000cadd70ae2d4725c833e63bd99a5e0de5b8ced26d445787900086e55201123503ce850f9f3d481dd1fd05dccd5c66153e6"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/lv/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/lv/firefox-67.0b7.tar.bz2"; locale = "lv"; arch = "linux-x86_64"; - sha512 = "2ecf95f3334eb40af526e40018021cae7a4ceec929e02f97dad31d468231691b7e4bb29f4bc0a6699a90b45c8ac7df59699ab3c75c7e4dd1c76746b4dc62c542"; + sha512 = "dca344e94c86ee0ede7f993696484eb576b54a71da7151be9ee40540d9c8c740d399840a5c024156660f2b9d6a73c6f086691df9e3b59dddd653d5a25a8ce1ba"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/mai/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/mai/firefox-67.0b7.tar.bz2"; locale = "mai"; arch = "linux-x86_64"; - sha512 = "833466d1d6eaf4352a1488e104cdeaac1fe7d05e96836a2187f71c9fe81653a7e26d0a488605d79918c8004a9776c86d1f29ef22df14f505dc58415f89f7dd6e"; + sha512 = "ceb2a05d4c051e31fe1969787f4d2ac0e73714e45c233cf40045cd35ad751d84c064afab14ac58bb976140976a29b9da5d40c91c1bacd965624667c5fc62294d"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/mk/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/mk/firefox-67.0b7.tar.bz2"; locale = "mk"; arch = "linux-x86_64"; - sha512 = "76813a7bb7e01d8d0c9d4ac1c3069af5cead2447480490605797459944e8280c9350fe9df7f12a8dae491710d0d374021b99c0d4b902cb734619b9863b4d3ab2"; + sha512 = "ee1fa59d256e279c08a4110ec0f14e64f80dd2ca02ff01033bb29f0336e49118c07ec93b0ca8bc318356dc62fd05d9bf3201d9491ac278a8b5a836cf6310fe04"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/ml/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/ml/firefox-67.0b7.tar.bz2"; locale = "ml"; arch = "linux-x86_64"; - sha512 = "9e30775adf279cbde154f0fd392acb4592b9c75dce0532435753bda755120c2d2eb61f6b968dc5de7e70856339a6238f36cdf413029d92e8fe2b537f00866154"; + sha512 = "477d66f1c875c53e678ccd64a666b64fafabb8b9cfc6cbb11dc33a14707d7a90758f8a42a855020f650e59b1f55373208c3cc96b69ecafc7ac3937eeca00c7ff"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/mr/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/mr/firefox-67.0b7.tar.bz2"; locale = "mr"; arch = "linux-x86_64"; - sha512 = "65ef02670895f237303184e90d06bdb6373af3f0282209588937be77c859db483843638080c35c112c2206f927b2f4221d3cd1adcc3f16d0c2d5b0a1aff7f225"; + sha512 = "06cfe20c7756d6786a7cd94677f83aa82fb1cbe83245412d087f7ff06372af3dc9ce5d2f5017838d74cfce864e0405c5abec417924feb26fb9b9dd7298f833d0"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/ms/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/ms/firefox-67.0b7.tar.bz2"; locale = "ms"; arch = "linux-x86_64"; - sha512 = "8419e15179296fc16a5d5f5d09cfe65aa0b678756c7e27faaae14b7f2bcbc724e43d5f7b710d3e79ca67beee60e5c5f452e9596779e208f58c77883e1693ed66"; + sha512 = "d0bbe9e5d7dae906dd7140725873126d4583c7e31f3bf4a3d0a7716f5af46f5b5eb65aef3aee32e010e1a82ef59e279febfafb08458c43fe9e8751dd1ff68e81"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/my/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/my/firefox-67.0b7.tar.bz2"; locale = "my"; arch = "linux-x86_64"; - sha512 = "50f99e38d85d59addabe4f2437e09c82f5e6e8a8fcaf3d42fbc234cca0c541c735d930d3cfaf7b5b6e3d7c51f1ce82cc06450fae52cfd6ac5e0ccce9e518f166"; + sha512 = "073aae70db0f59630c16e13c91db7c2a7fdb8a11ccf56843fabe4d666751e27d369e1d57118a1e385b8586d3024ffb3c90f8f61d7bade807aedd6f74e92640b6"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/nb-NO/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/nb-NO/firefox-67.0b7.tar.bz2"; locale = "nb-NO"; arch = "linux-x86_64"; - sha512 = "c9b27b683ad5b3a015843aab9b1cc73bf1bb216d5a762c273631c04306b8710cd9570109eb9d81366adec16b1138c3a4d860f2dc2497d537185fd60409676322"; + sha512 = "bf4c6affece8d031da249dfd113f1c2f7507a8b4473e03daf5a44e7c0ce71fe6caa4759f78ca954761f90bee06402f7f5b5a9f785c1785f973feb1294947e0d9"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/ne-NP/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/ne-NP/firefox-67.0b7.tar.bz2"; locale = "ne-NP"; arch = "linux-x86_64"; - sha512 = "e4c6ea3b5e8e895ba9311ff16413323ff982b93583be3751a2a004a855d3174f85fd3898c9f95aa88e00d307e59c474b995f3be99ba52d73759fd4b13ca6cc99"; + sha512 = "16902e80be172af3bc8a2f02821d9e738864f593951619159a0c362cebf0a5827b1f3be9063c1429db8b1ad52aad8923db8053b6367d21bc97333ceda0899d25"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/nl/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/nl/firefox-67.0b7.tar.bz2"; locale = "nl"; arch = "linux-x86_64"; - sha512 = "cb79da779d9a27177923b211b99f06eba1b769b9419beefd9140ccd538628dc8ded5f40d87c1393093f6a7873f24d6e8b8e18b23e691e583859ba79b8fb5caa4"; + sha512 = "1ba6650ba4140d4f32391f7e05577379a43ca5ddf064ac86c93c633bc1d78c6c84e6d5c4227577dbbaef4d5bae9173861295805e1cf559ac25fea434db2df578"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/nn-NO/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/nn-NO/firefox-67.0b7.tar.bz2"; locale = "nn-NO"; arch = "linux-x86_64"; - sha512 = "6a7bf35979b1fc27816551429cd90cbd24c391d26aa322ab0e7267bf5202181c0a07092878be6a558f767e9c51e91ee9ee2d53a89d4a005b0f0a3ceac1859f41"; + sha512 = "860030e55b0c514ec4219ec295a02f2ab344bb87e31292ca4ad11501c02e9eec3f1b82720b7c3d69c043ddc0a53fb9ff3e83b38d4e0443d57849d68bf98b0e05"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/oc/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/oc/firefox-67.0b7.tar.bz2"; locale = "oc"; arch = "linux-x86_64"; - sha512 = "299a816776656628638a5c59dc165e8edbd3e84213059ad829615fb246a6de78a6a0db53585d0f27b23e1f4aea83eed4b216f7851fb918c46484550f203accd7"; + sha512 = "33de39c5c495d0ceb5e1b65fe96458887d0a918681504c7c6a561359e29b82a7026673516a5afaf67717ecc0aedffa8acebc92b4002d160924e87d401e963ca3"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/or/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/or/firefox-67.0b7.tar.bz2"; locale = "or"; arch = "linux-x86_64"; - sha512 = "9a915f6f438937142ed1664b142e2d45663f56384c2be35cc1597762d6b0d681bad5456c9fad947c7b552855086a7055691e8a33e74faa486879e4fda0d594a5"; + sha512 = "a1deaf9593ba66eb3e2e1a019ccc8a3b5c7455b0cd250d6be3708971406148404a3e10f3d67ca5ba39a25c92d27006d1196e11e12f8b8c5cca518d748b5c7841"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/pa-IN/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/pa-IN/firefox-67.0b7.tar.bz2"; locale = "pa-IN"; arch = "linux-x86_64"; - sha512 = "251657a065f5de9ac28e4425310048cf7960835704586530b201bb69f790c7513ec5b9590fd00b2e1b92992b3574892e311b5955bb3e725908dbd2d76ee5851b"; + sha512 = "35df203d2c9a892b5cc4c9d12c10e7203f466c949f382074f550a45df54f670168713ac096ec085cb835f51f0790c9af2a88786d474a0dbcd6c8041d2a1a1244"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/pl/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/pl/firefox-67.0b7.tar.bz2"; locale = "pl"; arch = "linux-x86_64"; - sha512 = "129b1b986d3bbd8f3c0895ac1705cc488f5de652cde35be767996825523a65533fd7f75564897722976e6b8be67a0711e3819056f36917048ef97306440e6c66"; + sha512 = "81b08e3cc5e2b7dba6110ebd455431fc04df6a9bd54e15f5ccac9792b80133d9c8ca4b59746189d5dd752b48e4053ddb30dbfb01f3467617349eff8dd7de35f9"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/pt-BR/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/pt-BR/firefox-67.0b7.tar.bz2"; locale = "pt-BR"; arch = "linux-x86_64"; - sha512 = "f15f4bb22322a95aa2cd10b33cf3e7c74a6cca22a229260118993c08fa7e3f1643a54efe9fa4d6c2241d5c1fcb60b430bf88ef963cca8a2f98c3ec9172866eed"; + sha512 = "821bdd23cb73437898dc2fe570ff5a108a2a862b2cfd97d1427cd235761c5d24f6db33dffc32c0080576c72a9f1b2def8c7d398bd3ee354d5097b58731d74ae5"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/pt-PT/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/pt-PT/firefox-67.0b7.tar.bz2"; locale = "pt-PT"; arch = "linux-x86_64"; - sha512 = "b46124a50862d268c25cba907f1788bc0b22ce926e3ea76c17bcc32b00b07cce53c3502b927d208a664c04c93405a2d199c26f56075c0c0e0e0c639ac86b249b"; + sha512 = "611b13950d89e3c21a95c726afba58201f4be46bed6c16bf3c732400b15cea50860cbcefd98ad83ee864b8bad9e89e42b2bd075f448ee8d8eed352fdebe176d9"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/rm/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/rm/firefox-67.0b7.tar.bz2"; locale = "rm"; arch = "linux-x86_64"; - sha512 = "b28faa2983476e110cec7fa1bbee4ee65b064d84a18908f7698c40f2d551b3e1796358b14fac9a1de32336566e15d7684572435015c4e5ee874a8e96210e483b"; + sha512 = "53cc28912e17b5302489f0f4a89fc4ab53edc319a8702158ee7ab0a0943b4c619ddb022a5549a0c4ee2912a98f5b695117a991bfde2f10a9036196298334a208"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/ro/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/ro/firefox-67.0b7.tar.bz2"; locale = "ro"; arch = "linux-x86_64"; - sha512 = "676a127961cfc1a68d65c05266da3debab12441a642f6f98f3b52db5cb830efb25d7ca2bcd4ff88efd606437f5aa729c152a5a616ccca65aa51060197691a4ee"; + sha512 = "50c753c9cd79bfe6d9b8564f64d275958b7e44823e4fa5575bbd784ce4cb4f7b1c3c71fa962a8a26f1ecbd1f2a12f108fc7505659be08063d0246ea29488a440"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/ru/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/ru/firefox-67.0b7.tar.bz2"; locale = "ru"; arch = "linux-x86_64"; - sha512 = "68351211b3ef98f1930f90b807c114065b675d81f84d07cec5ffdcca5e3a9b41eb0390b7e88c0a2942056bd08e4cd5ab340abe11563886c85118c799e0acf1cc"; + sha512 = "d739ceef1bc6328ee17187e54e3910e1746d516f2e21f03319863a3d564be6ea348c87a8ea9f302b692c99b16c242578af15788082e121b857a1a089ef0c7549"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/si/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/si/firefox-67.0b7.tar.bz2"; locale = "si"; arch = "linux-x86_64"; - sha512 = "34a4af9561360c154e2e9ffd0556f3e87cff6cf2cab90459916c88967678c6b410690607b9a131c0b0aecafe418a6e368666defb5d3b16df7c0d2641e95c42a7"; + sha512 = "35a4cd2e1e324a0d8e78b679dc5b55b1bbbe2e73a9b37a65cdb24209d9eee5d52de59b3656f2fb65b6f2513fe4ef70027cfe5e9268a103df95510dc673eedbe7"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/sk/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/sk/firefox-67.0b7.tar.bz2"; locale = "sk"; arch = "linux-x86_64"; - sha512 = "450bb4c94f380ea801679c8d4e44cbd520a3137486572ab7bb3e521ae9dfed55568c460f83f1383fcf30c581a526c9d03801cb3175e2fe70796ba88428aa729b"; + sha512 = "4ce6acf4dbf83010c726988eef0ba90fc1b54aa4213e4c335446d632dc99a4f9646954f45e4ed143a132802f10db8a68a6335ee4f855c65c4adfb02dbeca4443"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/sl/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/sl/firefox-67.0b7.tar.bz2"; locale = "sl"; arch = "linux-x86_64"; - sha512 = "dc7aab2a519419a4d0b14a4ac5e137440569e35af383fc88638d6aa1c91a5c722b62bdaded5cb18f2cc66f88115a7ec74590f9c98edf18736c6d2833e435ff8f"; + sha512 = "097dadda67b70b58244020b4a747dfb6a9a638552b2387ac3dec1130fab79e156bfbe0e4dc913e1669420dac827ef0efcb639560fd5366f8829e94456b2afb74"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/son/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/son/firefox-67.0b7.tar.bz2"; locale = "son"; arch = "linux-x86_64"; - sha512 = "d1d676333f6ebd8ba564e1aa49a003b0ae901646c86d4d58649fa92db92bf67d0d93d6a2f4878361a704553a2fe922bcb0c657872f5e759f0358d0e44a6d2539"; + sha512 = "c01e0d7d45bdc5eea290c939a906efe18720e4f1fc60dd33afb5252f59c90bf40e227f1392212cfb272efdda6c1ffda14ab617d02332610d0f890f886d053f0e"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/sq/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/sq/firefox-67.0b7.tar.bz2"; locale = "sq"; arch = "linux-x86_64"; - sha512 = "736f0f8b577bdd2934d306a1674b1342590b62fb472d79d1eae65741dd0c670a400edf7e7d5caacdb2bace402b37fd3f86076a03088ef1343ee1fac02343f4e2"; + sha512 = "68020ac5ad6035fef3d58990718f14cb4175a2962b850b8ba98cb5832a169cb72c4eab9036da693b93faeb601ac0f35ae23b80d748be0dfe4d0414b51571f6e6"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/sr/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/sr/firefox-67.0b7.tar.bz2"; locale = "sr"; arch = "linux-x86_64"; - sha512 = "74fd745b38a39d562f5c8a2a410dc67b3fa2bd82f30e9155b00eff81b1f85d18fb2604a1730cab6a440390fcea9cb66c018d0a2b008870b443c3bc08f776ea5f"; + sha512 = "ce18d0ba989949e79cda33eb4ac26a3d7588acbd511e57c9c31ef3a3f8011b7f669cff02e4b0405bb2615c18e600d75824fbd556519dcd09616fe27181f87748"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/sv-SE/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/sv-SE/firefox-67.0b7.tar.bz2"; locale = "sv-SE"; arch = "linux-x86_64"; - sha512 = "a411a89b0289ab47674efbf7bd43a9f80ab79c25b826ceb21ea7968067a78c9e10dcd8fbb101dca57492d5167fd8b604d15aa1fdee7a458b34843815b2880dae"; + sha512 = "96008e9c2ec4b8cc3bc646185a502cf26622d3f4f2d9b23ad02a963c5e4e5a1b98c1bc2bba342b0979c4b9e079c22a9130ab322d27d0d469afc02a41e8f3888c"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/ta/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/ta/firefox-67.0b7.tar.bz2"; locale = "ta"; arch = "linux-x86_64"; - sha512 = "88efc962145833472bcfedb760f85dd9099b596d574509df7eb982a41ee4eead4b336eee60ea79ea0a376f7fa625db1236b730b690ddb13259c8a06fd03c17d4"; + sha512 = "e90c1bcb5326d3823ac6e8c0bbc1d3e98a5911f870d791af42a7f6aa539c95e267eca1248df03567f7e09853178c40c428b3cc04bbaf15553f1cdc028194c60d"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/te/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/te/firefox-67.0b7.tar.bz2"; locale = "te"; arch = "linux-x86_64"; - sha512 = "6be44084b417b0dc52917524317081c7bf1f75398518b7a9be939b2f539c28bad563b7adfa9b42e875daeef80075c5d5aa728dc8dabded1ef7457cba7a601e5a"; + sha512 = "a5a04abacc8afec69e4d865ed89f0f029b623cf24cf05d275ae79dd292d28e5fa000ee9fde4325144e2a7727d0be5929c9f7c30194eb802b35efcb2101422e84"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/th/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/th/firefox-67.0b7.tar.bz2"; locale = "th"; arch = "linux-x86_64"; - sha512 = "7216aa7d6cc26fe7c98539d0dac48c68530971d8bc99385379d250b5cef3838215f9eefb10b5b05a4d18ce949beed47b75c755880a1a1601faf3feee17967894"; + sha512 = "1bfa1ee19141416707afd13594ad94da0e5ad5bf71ffe098109dd093624531a438df3dc3d4da603821d29e139a007923e367ce6ef55837169b49469ee030e752"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/tr/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/tr/firefox-67.0b7.tar.bz2"; locale = "tr"; arch = "linux-x86_64"; - sha512 = "9b8078a149e85a8c13af01280f248e2713c4e83e9d0999a5fb0f0eed539355ce6bac3a9a2d4122db06d96206b02a34f6b51a8e5198d3046c3547ff1be85069c6"; + sha512 = "d89513130852096ec1bd685cf5072456035024e951dc9b6cace23ac8d9d51fba47465c3b76d96810bfbbb651188bc9a5ff082ec58771bacc6c9b1eb46d99ae37"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/uk/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/uk/firefox-67.0b7.tar.bz2"; locale = "uk"; arch = "linux-x86_64"; - sha512 = "f018e84596c981b135638dcbdcb8d4424bc1626ba48eeb26b83713c45afca5f0a90b38841ab0c08196acd91981090d20e63ec0810a8f6f9b51cd2e5302ae9062"; + sha512 = "382b333159efaa048cfa73d7e11874a00e4f34c48ab38c4263f49184d00e3f35a71cc21d11cb09b0e68c04e714d086aad30b346d91955fcbaeaadd968c29fba6"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/ur/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/ur/firefox-67.0b7.tar.bz2"; locale = "ur"; arch = "linux-x86_64"; - sha512 = "96fc4019d827bfce46684b2e447197e6a22b09843967c25e2dbc7c38341117c4f55bc2d16d4b5a63445b29ae08efde697c93bc4f677d3498bbc2bfc8f346a8f7"; + sha512 = "a620241d89b926eb1b42646a1d52e75f049191b711cca724ea1b6335ebf8c0773ffebe97cbc355396b21c16b7c322c8346029a64355ebdea2a5eef1e5329754c"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/uz/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/uz/firefox-67.0b7.tar.bz2"; locale = "uz"; arch = "linux-x86_64"; - sha512 = "ed6c25d7f4205999816c2cc7f2cfb7ce682087656f1721af8a8f4530217dd79f23032830252be629bbea0d6a19422ca7b307dcda341dbf287a7dd9b901ccb197"; + sha512 = "d392eb81144e93fa11b7c85c6defab5eaba7585a93f5fa475531d2be73a65c546f3f88b24cd3370bf301c4f780e60a53bf68bdd480fd4a6785e9c1583e71da47"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/vi/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/vi/firefox-67.0b7.tar.bz2"; locale = "vi"; arch = "linux-x86_64"; - sha512 = "6e5a6a59694fe9a2b386e79b874cfe92282d177959c447c7f500f9ea805d9e07cb7c1d57eb10f1c8e3426f142f28c1db03cd7935321fe81f6548d4331197b259"; + sha512 = "7b4686deba1dd981e398f1bb6f192f828cb1cecccce6715c81cdbf5e89b4727cec214784a1920382e14c1091b20bff0919f74e1da8bfbb1a3568309801bf7a9a"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/xh/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/xh/firefox-67.0b7.tar.bz2"; locale = "xh"; arch = "linux-x86_64"; - sha512 = "628ee5f3b03527e222a55f434b6c266d98b10d7fd41249641e478233fc877f28c84825366d5151e43f3c604a0c3df6e7a0753b3a04213e88b169daee7da71c26"; + sha512 = "63cc7b999aae85c46cc60b2cc0747a25e1d0663756938c329fc539a3e8ae04e43224051e066cd05bb38ba351f1ddf868d1651da94c0064d9715e5019b78496e8"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/zh-CN/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/zh-CN/firefox-67.0b7.tar.bz2"; locale = "zh-CN"; arch = "linux-x86_64"; - sha512 = "e47cd677d2278c5a6bea963c2d38c8f3505ea295481cd934a5534e4b6f1cd2b5ad81fb7f8dfab1f2a1dcb4face3ad514f56e1c7824f559946a5fbe5cb4022ce1"; + sha512 = "1d902bbc7a703e7b541669c7f12427cbc74c01d784383409def1babd9907a93c53c32ee6c52d4c237b79bee69d005226580387a08e3ed51c1d685853637c34b6"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-x86_64/zh-TW/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-x86_64/zh-TW/firefox-67.0b7.tar.bz2"; locale = "zh-TW"; arch = "linux-x86_64"; - sha512 = "cdcac4355ded1ae2fe0900a44e077e2f9a768cb0207dcff57f9559721338e1e9f62d4688dd2397f84cba6c7e010c1431302f91e42c9d2c7bb24a732674d73957"; + sha512 = "cf8133b5330c4badbdbca14681226a3298e4bf4844ca2be6208f4fd7d3d209f4215b4a3a1b599d59b449e3c76808d71eec1705bec47c964b219212d4032ba1ca"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/ach/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/ach/firefox-67.0b7.tar.bz2"; locale = "ach"; arch = "linux-i686"; - sha512 = "a0f0c7bbc8ce8861cd3ace0acaf3c92a9da788d0583ab7c83557d6431623f80e729faeae14ac3807853d95883466a5cdb2ff25a72b255b84a3cae00dd5536904"; + sha512 = "c285920aa77f311451f3eb36991118072afd9d5fe863d88a49fecfb56549f1bada5ac364d457e7158a2c600b216cd5672775f87d85f3aaeb8fe648d19c8b7086"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/af/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/af/firefox-67.0b7.tar.bz2"; locale = "af"; arch = "linux-i686"; - sha512 = "04d5e91ca8d227fd3790d36e7eb846cea50b0328bda59f0751b57fd8befc6dc9c74937b4a77ab0acf9c57b62283e4df22cc457c21283f37eb857deb77c428b63"; + sha512 = "335452fc21c6b25775b93ccdc1ada7ee9430ba9f4b6b8f6760a00477fc00a2bc1e68f318c0260cb3386dfb6ff5f1780293393f9f700f15b2013186d60735d789"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/an/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/an/firefox-67.0b7.tar.bz2"; locale = "an"; arch = "linux-i686"; - sha512 = "d4531e9ece8dc30b47aab6053ece67241ff052ed3b4f31d8cf4ffb9a3ace48abbfd2dee6d6632e3f963955d6b352f09bde2a2012d8c48ff0bc12c961763fd70a"; + sha512 = "548e723fad381a772e48d8a60a2bbbf11fce50ca187fbf052d9fe153fe9c6c592769fdba4eb3c4b423ed9775497add0abc1ccf378e13ee4f069531fd0cc03e29"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/ar/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/ar/firefox-67.0b7.tar.bz2"; locale = "ar"; arch = "linux-i686"; - sha512 = "4b5d1c3b2f9b8c8bfe8a8ffad3a62cbeda296ccd521c8e937967031434cc74ca3f7e431d4a1b852907d07ab35e5fe11f9fb74eb592bb317cf67bb93ece5b8787"; + sha512 = "08834c2b950ec4fe06fe1fc3eb65e4701c01c08fdd91e59195053ae7638bf807a20346460ac9938590c5625e3e6845bab4205321e8d5e312fca69250eccf8303"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/as/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/as/firefox-67.0b7.tar.bz2"; locale = "as"; arch = "linux-i686"; - sha512 = "7b6b5795882034bc8e790ec42930cbe8f52f2f0daf63ab8a7b9eac27ca7cc4e0ea604ca08faa8dc8e560d550bf6400b27b2e70f9b8597c011e0c59b56101ae25"; + sha512 = "9573895c11a55f34ea6e43e0f072119873a28c85478b144ad4822ce6632b09d2290a87db67957b3c306668ffae0bf2c5703d4e3ecdaf1ae77170dc9e28ffb2e7"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/ast/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/ast/firefox-67.0b7.tar.bz2"; locale = "ast"; arch = "linux-i686"; - sha512 = "e4995dadc334deb20c0892f2f980cba5ecc9c06191580308a462c23cb972486891a981e81db7ae54f230aaafafb0608bb231d8a4c272bfb570674d8babebd57f"; + sha512 = "be780b51079ed16aa62b00e0d116d8507f4cb858a22a5fba1e95d5f38c087b56b66e37a3ae50f4e2b5e5db6a5162762dc6cae94e9c07d263e38c480fabab50dc"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/az/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/az/firefox-67.0b7.tar.bz2"; locale = "az"; arch = "linux-i686"; - sha512 = "59b0cb8fc86339608550188866198ede84cacec5f82593fde8368c379feb68152611e6129fd2dad8e00f07bb183455f9201849b22c38599078873cc3ea352e53"; + sha512 = "11c28539d558882835eae2c70e1dd72019eeea8892bc0062467e77b6a87208ad8d9ec3ce8b6e58037013f92e495db1bf611ab8e64ac69102c832952a021d018e"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/be/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/be/firefox-67.0b7.tar.bz2"; locale = "be"; arch = "linux-i686"; - sha512 = "bfb82a8b580eb42939b00ff2d92cc83d0d2471d195a8f7aac5e808496a9e8a078f974093301dfcbcd16759b1f8b69134e911de35043062fec9f7ce2612315bb4"; + sha512 = "2ba110389b2f416aad2d62e0b85ef2b99494be3add97908b8687243968cb44a6ac0057f0ffdb815ad7e93ea1d84e718163fb14839819efd9a4a38375595a9be1"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/bg/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/bg/firefox-67.0b7.tar.bz2"; locale = "bg"; arch = "linux-i686"; - sha512 = "d878c71266f98a4778840f1f1766180edc7c40ff7ba976d984ec0307fd3c69ac945c343f7a440c592b04c11be68acaaff2d99fef39adacb66fa82cd2213ec858"; + sha512 = "e5793f784fa49d07714f9984a884dcf9685431e37453525f67c0263d991edf380fcd96e956f9d715dc4d32c790b5996ff23d7e759ba5849b91777e20cfea97fb"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/bn-BD/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/bn-BD/firefox-67.0b7.tar.bz2"; locale = "bn-BD"; arch = "linux-i686"; - sha512 = "856e9755cab299753252a67c8d0eeba489a2ce7a87af032c5b55105f90ea1de28db3e99cd4aa09ac251ca3e5babcb53934a26ae57f1231656611773b3c988da5"; + sha512 = "80670cf579eaa7f7788a90ac4fea4e85a433324eb258d6d922a85585a9bf8fd8e3955343e4707a06e98f1c6ebf7881b0dabf4a9e4a3a8b503c2cb779d7a60c4b"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/bn-IN/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/bn-IN/firefox-67.0b7.tar.bz2"; locale = "bn-IN"; arch = "linux-i686"; - sha512 = "c121a4b4f468ab4a015c2fe4d2470a2c61f4c7d001df6501dac8ae9dfa3f939c36e7764e822aef94f172725b03df7c48e9d5ed46b658c7bbe69d5b1de534c10f"; + sha512 = "bfdcb672b4bae1bb140867e82f3ec1ee8a431d076d337ebd44ba17bf532506672ed6631ee54d80dbfa0b7814b77099fed2de345620a94e14d63e7c59578ee01e"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/br/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/br/firefox-67.0b7.tar.bz2"; locale = "br"; arch = "linux-i686"; - sha512 = "b2904226d994c9c699f24c39fb8b0f50f8cf192efda15a3ddc3915a60728fcb50b4942df514214a46ce29695f3c3c044bd33d55bf74ba965af729c85124caddf"; + sha512 = "275b32a715d433027b9a7132624358e47d35ac7f81cb43aab21d646aa7938ca7ee26aa67839fecabb556badf5a8bdf6656ff3df5fe9311452b9aa37aee34f98f"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/bs/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/bs/firefox-67.0b7.tar.bz2"; locale = "bs"; arch = "linux-i686"; - sha512 = "6f0f553c749072dbcfcd5da45da7bd1fb2276a10770938a0c14070b2093be2eceb0684b6c53b67e07ccf1d8b7e61b60021abeeba57d4a13e2b9d62deef012051"; + sha512 = "2684ad81e644ff26985c938fe88433b70e5f007b0fb767e361070376ce10cd81d179c96c500209316e5cd5dc239fb68080fccef04988014ee79caf4d7c480197"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/ca/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/ca/firefox-67.0b7.tar.bz2"; locale = "ca"; arch = "linux-i686"; - sha512 = "707bb26b6cc24ce9267a813f266cdfb5ea788dfbea502fadac5cf49a54440c8d9831e87d5e5bd49e8002a4622d2545becc2452e2536387c70e25c1d7147a0848"; + sha512 = "6cee8b8cf26e38e785387200d84792a01081981b3c2934d2f9d06ef50b26967d0098e1429b1af7cd819618f5079af2a7533060a886be5ff10db0bb108fecc68e"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/cak/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/cak/firefox-67.0b7.tar.bz2"; locale = "cak"; arch = "linux-i686"; - sha512 = "717c98a64fbec95ef1763a86a35466cedcba7b657309b3bce7a833ccdfb3f278922909fe74e8a875ee0387db76a8f9f4182de8dc1e7eb17ee59b2e424ef6a871"; + sha512 = "a7f3963b020a074006fb6e367ad25b632899d14b915d35e64613a39fd0c185425063e92717bcbcd3138c05ff73e7734a84833c0065ad8655166a50aaee845946"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/cs/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/cs/firefox-67.0b7.tar.bz2"; locale = "cs"; arch = "linux-i686"; - sha512 = "54a1163d642b77210d3127b56dbbf0cac60b3afee6f8b5884f85be8c81570445e74e3e7709aa8bfa1d5e132e05d2c6899ad854a38d42389d553206b7284e3c64"; + sha512 = "7ecce91b3fd5986aa58b51e24c46d3c689050a41e95bab3136589b660db1ea4509c93cab7bcfaf13b93ff533ddbc584fcdfde60a0b8d4485b937cfab9e98e64c"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/cy/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/cy/firefox-67.0b7.tar.bz2"; locale = "cy"; arch = "linux-i686"; - sha512 = "f160ce85f5430bafe9f43275a7bd0c1f420c767983b5f25580e63de7d962a61259067628dd73381f18ffd7b9bb70f297a744d2af5fad96ada80e03619fd23984"; + sha512 = "2f402c190177ed0aaf52923d003fe886403ed086d6ffcb0ccde9d0e9384168712da5aa7d7ddcd0730a0d6387a079c699226e039494667affb66d911882f20892"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/da/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/da/firefox-67.0b7.tar.bz2"; locale = "da"; arch = "linux-i686"; - sha512 = "18f2f42819bb23f5690ba64153c4c4acab1519138fb2ca9150ac923d69a4495f171abf3a5cddb429ad09a090221df6461628ad8184c5bd05182108a7a2120cd0"; + sha512 = "7235f4293b950fa26aebf81726b00420db83e423a2d423569ed4d7754aee7fcbeae50b442ea831052220d9ed4c84d922b5a4658bb92a5bc6c27f57c4c0fecdb3"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/de/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/de/firefox-67.0b7.tar.bz2"; locale = "de"; arch = "linux-i686"; - sha512 = "ef480f7d900f45800060984543b4eb3bd7308cd8b8f032eff06bba5506654fc96921752da72b73986ca55125ab16a2aefac97d5996f705be9ce9b47d6faab726"; + sha512 = "472bd0c3013a9e5b1ef96b30b1f5738a8c9bb63e76673bed6a45aa4c28dde3f1e5ed3cce16d18b47448c92f6129ebe22479480f24b9fa277f1b4ba1155ed11e5"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/dsb/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/dsb/firefox-67.0b7.tar.bz2"; locale = "dsb"; arch = "linux-i686"; - sha512 = "8c05ebe73ed32e25b11d36800b9e1103605f4963e02b1b72a1ac35a8ae10aef2f516431cdf4aa32ab376c15b4bf07bb927daad020a7693949687ec46904e2aee"; + sha512 = "b4c8001347555317bf5cbd89e29174700c025eb8f309a472126c572dd5b6c85384263264ed7a8ecda404faf632b9b2a3973a1b948f30c3e3b205bc42d6b17bcc"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/el/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/el/firefox-67.0b7.tar.bz2"; locale = "el"; arch = "linux-i686"; - sha512 = "80da58193df534fdd8bc2886dca3f21986a32b8b940bdc1077f259edcdaed353a8f1437f968cb9dad5b46e06f94356354fea17c66781834be4b22d4775bb72ff"; + sha512 = "de37aa7776c31e28c670fae321d7bde7d4be5024bf5e5494688aae1aae909ffd034b46004b0d816988cfcf03ce9ffa326a503882eebc6ed05a67df0bb3d89d68"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/en-CA/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/en-CA/firefox-67.0b7.tar.bz2"; locale = "en-CA"; arch = "linux-i686"; - sha512 = "6cf787b5b646ffbb43442a2066985dbbd2a99aa0959dea691bccf4d0a727213f4eef3bdc232ddb1e4c58411c3412ea06d11f3f3f985ffcf646b44f2015bab4b2"; + sha512 = "95cbe469dbaa9627163fb989e6b366324a4005ddcddc5255735c95825c6cf116a6af12bbe4d44d1c6b55c824ae00e8b122020f261cd3f9e450cef25147b2bf15"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/en-GB/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/en-GB/firefox-67.0b7.tar.bz2"; locale = "en-GB"; arch = "linux-i686"; - sha512 = "bccbc642ac8f4dea2365c9d2d4efea2987d06c1708dbc51ce6293c5c2ae02568dbcad6b101ca1c8c4cf1e0e43d8fa8e6ef60a2a9e811e13544ae1579658530a6"; + sha512 = "cbb468eb20d7bc4dfcfa229dc45e0fdbceed9d97830baa000642d7e740f1f28605de57112b54b75b1e08fcdb2a4e03cd7a7fcb3fbeaa4fae84ad57c1e564c506"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/en-US/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/en-US/firefox-67.0b7.tar.bz2"; locale = "en-US"; arch = "linux-i686"; - sha512 = "5e7c6a524ffab57954ca30ce717aeb0aec555d933d5584f530c8dc3194b6ed8fc8a57e2d4d1c48539aab2b6bf7bbea51617a0faa0c4a9441ea42bc19902cc874"; + sha512 = "2ae29e73ab8f8dd068b5e09ed78b2473294f0791643adac77e1aa565149138b3e01b605f20f6b2e02a242d44e67bb5e036305631bcebdf2a15fbaf9931f011d8"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/en-ZA/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/en-ZA/firefox-67.0b7.tar.bz2"; locale = "en-ZA"; arch = "linux-i686"; - sha512 = "e214e1f6d179ea4ff2b6bcb79c58625d269e1e41c17f506fb3e80f5cf33f7e24851baf9c28c7f1792555b576913009ef3b7c648e91725e75cd47711ef280b471"; + sha512 = "b91e664151d3b2cffba5cf23be229540a72e1499b1329818f416f9437a3141a98de20b5ce17b2ee2b8c7f540e589a4f1bd9a949f03bfcdd8a8c00fe92b0f6cf7"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/eo/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/eo/firefox-67.0b7.tar.bz2"; locale = "eo"; arch = "linux-i686"; - sha512 = "ca05ac344bb68941ef82926cd9548036a3ecdb0fafbd71aff1d75b6c90b82e55ed8f3a9f00800656c146356a4a59624835e23ef572e5a04872c7966d9019e661"; + sha512 = "09eadcf32183d49b388d8c8aa1535349814ba42068f8325aa34351b6b4a51ec7e31d070ac836519e9d531bd29981913f5998cd83427b308b68f026cd27ba5fb3"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/es-AR/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/es-AR/firefox-67.0b7.tar.bz2"; locale = "es-AR"; arch = "linux-i686"; - sha512 = "7ad38902eea68a200b4da512580840d54f6457515d7c3d763619cbc021315dd0b153e224c448ae99e7122e9dfcf53cb6f059aeaaa6319d8911e092e6bcc5d6d0"; + sha512 = "792b7c4934e4e9cd0ebac9586919bd65a142230c0e88da7eb5e848c05b7a8e5d82a906815f448a4c618f0b068d3512c7170cf0e409cf0111b24a87eb1039dd47"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/es-CL/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/es-CL/firefox-67.0b7.tar.bz2"; locale = "es-CL"; arch = "linux-i686"; - sha512 = "19dfac04335e93ca66cb3767e7547224df13c278043bcece2a437ca1b63ca30e9930232f6aa8314d063557d4ed6889780ce5d0807b056e97d49a767aff495ce7"; + sha512 = "7729ac7e668023838ebb5790e0fe482f20926308e7701c51d010bc0680605967e7918ff572fd50961d749522fc15d8b48524b6f3b532428f2ad1bb3c341e0369"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/es-ES/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/es-ES/firefox-67.0b7.tar.bz2"; locale = "es-ES"; arch = "linux-i686"; - sha512 = "f7d72327058245c76b8e577bbe62cee4b1c6333836386ae5a473e56ed825cdad023c3af9038ba23b1527c1f0beb4815765b8309321984bc9f13d67987ab0d03f"; + sha512 = "14cc974cf9cb588d35c9a426b38d747cdef83334a0f46de482588263e0c4dae0179821dc6dbe938ccf5c17ff8d2952665522e77b9dc7ce5a8a65ff8c2d2b8f12"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/es-MX/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/es-MX/firefox-67.0b7.tar.bz2"; locale = "es-MX"; arch = "linux-i686"; - sha512 = "c9c637305140f02d26a1d0bcb99d3419e7f30f12d46c39e611ad8893d918b770633d08b4a82c6f5d11b06621e32a530ff7a065deaa958eca6787fc4f0024192b"; + sha512 = "0eda6a4240bf8645af0d1f7396155cdf13d73091c5599c76876ecbc45972c3cdc6685d694aba41d42a7f50d49fcf4910a382f1afd210e88bd8b1e219cdf954c6"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/et/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/et/firefox-67.0b7.tar.bz2"; locale = "et"; arch = "linux-i686"; - sha512 = "585df3ec775bccb61a602a3e62cf7faadf0091d2fc328c74b0aa8810cbf3d614edb418f95873c56eedb5cd2ad3efb211cc972f6425404f10b0f43b5bb1480152"; + sha512 = "6ef2f06a3549fb58bee6ac59f45b7758f40c3b76a16aebf2d2ad2bf602e4510883d0c28c941162e96d3694dff44628770f62682c5278bb09af30933442ac5baf"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/eu/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/eu/firefox-67.0b7.tar.bz2"; locale = "eu"; arch = "linux-i686"; - sha512 = "071688f8e892d8deb70f65f0176a4909b337e1350fe0d0fb9cf1a66ff69bd6979083ed99543f14212f0936ccac084afc98979655645fdd9cb37250f2639e86ec"; + sha512 = "38b323bdb16931abc8ee01b1e3e19e893d2eb830f55775e52e22cf8975b44eb67420d4b703fdb24cd221728c728b6b8f55d6476c9fb4a22324b9acf422d03d23"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/fa/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/fa/firefox-67.0b7.tar.bz2"; locale = "fa"; arch = "linux-i686"; - sha512 = "efaa758e950f1ca0f4c011ff1da8ffa5d6d3c9c23784ab3a2cf253bae95d6d25ad8fbdb05167118099ef6ea0037ae341c4c4356cb5af849db2f63b923e616e6c"; + sha512 = "3211681e01a02745e800be7e7744b25c12c6c774efc2eb9e9167eb13e55a25512c6f8e9d5203967851310c38b9304d1c4556673ae305b782d274c2e8eec13d8f"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/ff/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/ff/firefox-67.0b7.tar.bz2"; locale = "ff"; arch = "linux-i686"; - sha512 = "1b30f20f6959803c6f105588d612d2d0d88209f2103d829d56f4788b43c4faedc827fcd150a0af0c4987532bd4bc7ccd7591afc34e6e22d18ec304841d9c450c"; + sha512 = "17a867cf3d51f59b740991cc70d235a55dcdec256913a461055c82f461f629e51fde1ff8931f6315507a1ae4f9d7e632e69a06303e720bad0d6ff853ea45f1d7"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/fi/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/fi/firefox-67.0b7.tar.bz2"; locale = "fi"; arch = "linux-i686"; - sha512 = "97157deb509825073d484222b5402d8c8aa239285b9af7f12e92649672c1fe1d9454ad5a88d38424272956fbcddf069ffff2b8d80da809ad65f65ac185d50e8c"; + sha512 = "9cbd9620e6ebbed8e02d3acd35967b1f797ac8ae141de45d4be5bc21b166ce6803b4b667b05de789c23f8326c652b2b978b5681dc84af49798d319019dc9bcf9"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/fr/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/fr/firefox-67.0b7.tar.bz2"; locale = "fr"; arch = "linux-i686"; - sha512 = "49e01d81c93f464e1b028af91113123513af7d0f4cff5f76f7ea1b32201a962c49f0744545ec82e0314aa2c74004199d2734a8aa236d057c6673cb2f8df37b32"; + sha512 = "e4cace463f0f87532274f1094c7e843eca07100541f300bdd092860dee986a87779e03bb960e4f6a06d652d93d0e667093c516614442277a9106a84cd8d9ca75"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/fy-NL/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/fy-NL/firefox-67.0b7.tar.bz2"; locale = "fy-NL"; arch = "linux-i686"; - sha512 = "e121aa2fcb0c023ce339d2764f58ae489b1fddaecdd4751d76c6ddfaa2297e071a5cc0901e36fd089dbf3db2eba74ecee57e379d7b2bf0e71a887b87a4fb9425"; + sha512 = "1cacbe08d3a059ced3397110fff471b5879e3eab9d2391383063638d62792c76432ef58be2b2c7d4e23bb72fa145a175ff228314c768a1fd3bb41b72df990b66"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/ga-IE/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/ga-IE/firefox-67.0b7.tar.bz2"; locale = "ga-IE"; arch = "linux-i686"; - sha512 = "719d35a8d603dee4be8806dedb253979d89cb8eb912fb389b6b7889c5bada5cfd5c797eddb3612b9ff57147df1ee2e55df9272619e7f88ee63944bdf9697c050"; + sha512 = "c38de270ccf6b7ba5caf2ebb986c80a7d35996a3b7087816a2438e5dc8440819501eb08f9810c592c699b101693cea256c5265b37f51433558fade6030ecfc5a"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/gd/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/gd/firefox-67.0b7.tar.bz2"; locale = "gd"; arch = "linux-i686"; - sha512 = "63a247caa38e0a9fb34c99f6949272fb1139db5944a4fb2f13b3ad1ea19fffedacbe70c3a409c1189de5d89790cfb03ac69c22bb224f6318010b752f520ac4fb"; + sha512 = "57573946f74bce289e14e7b07d4056e3fe2b631480a6fe25d8c844a7e8e39c5be4e065d21540fe53bb798cd35cbc26839cfb238ace6c312c6a1b46e477f6116b"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/gl/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/gl/firefox-67.0b7.tar.bz2"; locale = "gl"; arch = "linux-i686"; - sha512 = "93a3feda1be1d74eab798e60532b99196ed343999d7b7b49ddb5de98663657cdc894e310e705cdd8e0f1a1e0333292014fa47e787f15908d691ccd3e51fe27e5"; + sha512 = "816c5bc6f70d211471d469c4c2e8492fbf314419a24be460ba9df68f1548f1051333864220d664214f830fb15bc9e19092de5e070c09dcb938674f93b7b05131"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/gn/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/gn/firefox-67.0b7.tar.bz2"; locale = "gn"; arch = "linux-i686"; - sha512 = "d8b94e55d6770646ea47ace57364c0eafe47d62a2dc57a40a2c7db7e74109b04478e7e8cad08d29a553eeb2c23bac896476b049f9ba99f62f1b0e585f7f6f403"; + sha512 = "dc09910ccc01bbb19adb3d02ea593dc959912a704d43e23e734ffd9d7f9bd19338832786544dfecf2faede03a9560e10537073208c1c7f23e1078a876c6efa54"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/gu-IN/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/gu-IN/firefox-67.0b7.tar.bz2"; locale = "gu-IN"; arch = "linux-i686"; - sha512 = "1361f71c0a98fdfe727e8cdcde445c01244d63520a37036c95abaa2175b450fa029a634e6b0b044771ddaca310a92db2d5526eb8111bbf3dda7e605d95e6cfc8"; + sha512 = "e2160344d5b59640c454f1387106c775a4c7b230db11b08748a6b5f253af9aee6656cc579068693e37c9c690a5cf21cd999d805c335b83f1b66f5d762387f8fd"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/he/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/he/firefox-67.0b7.tar.bz2"; locale = "he"; arch = "linux-i686"; - sha512 = "0468b5ccca77ce311059cb204caa3f9fabba2218a33c6d1accb3adeafbc9523bd21611a2c0d2ba926c3bd9c1026323a054de2bb6017344013535665da9ae2d4e"; + sha512 = "0c2cdf90dcf41e0912eb13e11e0461d007dca9c78449bbbf674e672b47552f3210ffd14b80442781c5746a098098e31756828652cab0e347db020cc37c3f6f6a"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/hi-IN/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/hi-IN/firefox-67.0b7.tar.bz2"; locale = "hi-IN"; arch = "linux-i686"; - sha512 = "76900afd9f8bbf8d8aded010695fefb9b45a7fe06908e55b39f7447c850716f5c4139cff722aec342ec88fd3b84f81bdde607d30e7d6dcfcc4e6a37b5a7ea973"; + sha512 = "0adb98dd37ddbfba3bc08ce59dd9f401fb00c6c5deb550b1a92baf2f2e42e4ab6aecc0f9ba3d35c57cefa3326f112bff351f4ff9a258369889565e4277445475"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/hr/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/hr/firefox-67.0b7.tar.bz2"; locale = "hr"; arch = "linux-i686"; - sha512 = "59f5dcad6e28a127dc702458d15f094ec106013f996a136e07b6a7214751cfdb9e50dbb46bd3eb202156612a8e67e4ee6bc82843dc0868a7595e9cc9afd48b9c"; + sha512 = "86782b71427e4da1c30371e40a16d84b13b24e04358d812a41faa08fe7bf178241d44fa91922058554e959008e276d38dfd61f7389e0c9e44737979486f22718"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/hsb/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/hsb/firefox-67.0b7.tar.bz2"; locale = "hsb"; arch = "linux-i686"; - sha512 = "62496712ebfd4813c428639f05d936c9444e59725a4f1b43ea2eb164468d90f8a3f8c4b20280f61a4049bda348f4fb973647f921c3da384e05313bf748230917"; + sha512 = "9ba1fe0695fd467d48c1fbe78423f0b91c962524762f1807b5778a9f81c6ff623cc6d4eba618a228ec182414e6e6823447b3992dab43176655fe8f90fc865c79"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/hu/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/hu/firefox-67.0b7.tar.bz2"; locale = "hu"; arch = "linux-i686"; - sha512 = "51d0c976525fb2beeb53b83254d8b1a3211618e65f44a2e9dfc02eba6bdea229aec340242615481e4170a182316242986f09efcb7db14f83c86710ab13688981"; + sha512 = "47d44fca671a44fe085bafc404992ca8c2b3fb2155c178c2cf38860e7105678077125487fcc459da3396157904fe6870e47bfbed09b4eaaddbb404715e2d098b"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/hy-AM/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/hy-AM/firefox-67.0b7.tar.bz2"; locale = "hy-AM"; arch = "linux-i686"; - sha512 = "d131287920a31ab5daca21708204e405681c7e1e6c860cb10b16b475e42ce1160cb7084e31833bffe317e47710729027fe2f77bcffd35e715b661ac81bb1748e"; + sha512 = "72fab75e3cb0df96c2aa101475f1e66e5ad36473b400d4ea3efb1e14b22028a67303228b04fcf39221995ee3b18302d9d447b315c48401b8acd566d815bae60d"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/ia/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/ia/firefox-67.0b7.tar.bz2"; locale = "ia"; arch = "linux-i686"; - sha512 = "50434e6bfcea74603cd9a5d8f660295e8c433423abaa5e27b192522936fb88d93a27ad6ee64fa136d120af6ab1183a7d21bd85bb3577291863f0b4509d8ec8b4"; + sha512 = "a057c3b8bf87fbda631206a6c2ba1398c18641b92093478f472e818f81dece057234c221322497eee68d33838f5dc99a6cadc92f157aa464802e92f08f7a5f20"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/id/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/id/firefox-67.0b7.tar.bz2"; locale = "id"; arch = "linux-i686"; - sha512 = "e3d73385e4120d91dd08fb3abc4f6268f6d10cce23ebd34553e3037c176f27f39c90f8fce59a0416cee210e73b1cf57b2c92596b3b4634700d8287a89dc3e014"; + sha512 = "c9165eef8d41c5e72956beccac415fd4695178c465ecd81abe82fbc372826d8823056a1484e01442f883022182818e7c5154441c113519b2a918e1233346001c"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/is/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/is/firefox-67.0b7.tar.bz2"; locale = "is"; arch = "linux-i686"; - sha512 = "775d84a419e24914f31cc4d34dbfde547e42c35e41397f4ff462a80ed7f91cb87ebdda4a248735d402ad57bb00cd8d7084618a381c89f53d6ed17bdeccd93762"; + sha512 = "b41810b6e4b5f28efe83aee464f5edee0784f24982198fc0b3e333b7a16d816504e8ad558e6298517695f06c3c7f87d7b98ad80e0baa6b10d748c57ec3fa8e5e"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/it/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/it/firefox-67.0b7.tar.bz2"; locale = "it"; arch = "linux-i686"; - sha512 = "27e315aeea864d91b422c4e6c698e9de06fe14867c12fe8b455ef284ebfa80c3a00774df7003150ec24abb05f8717577092feb4a41931071836a09fceeb3893c"; + sha512 = "a20c21d5249fdcd0e7c2bb62177046ac26fc6b0b87f53ed56511f44798fe6a99737851045de3dcd2f42db689b32853848d25df8cf2a8cf731853fdc23a191a7a"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/ja/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/ja/firefox-67.0b7.tar.bz2"; locale = "ja"; arch = "linux-i686"; - sha512 = "966d8519de5579a30a1cf8cbd275602cf39d3390ae9f70bc56709ffe71b0937c7ac4ec6788c3b972739376f76114037da6b54d94c091e035a8fdb5c3832cd4a5"; + sha512 = "233574779b07c9173b160760dd1b229305b225e9b9580a680baa31a0f5b6b2133fe3013dd2f4cdabec3a1c930aa1def9f3ae687c4043cc9a4edb83ede83a353c"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/ka/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/ka/firefox-67.0b7.tar.bz2"; locale = "ka"; arch = "linux-i686"; - sha512 = "029b687417bd612ef8d26e209795c8691ba310d95c2d6ef4603a71a0c334a96c12e54b79ef1b02f35385f28f2d7d399b7c8bda494d3c8e8aa7041f6a9e9771a4"; + sha512 = "b1e3b26e05c527111888b5d683e040873c3dd324bf3d3c143e22abf1e55bfc4b43ccea09fdf05a58dd28710d5624b01529c1e341b963c13895caf2931c7048e4"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/kab/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/kab/firefox-67.0b7.tar.bz2"; locale = "kab"; arch = "linux-i686"; - sha512 = "bf07ffe28d321b12435f441674d28d26cc076f0f3bf5a4c74b481581bb2bd1204c66a7ff76698759c22436cbe9c101b337a007c7d44530f6d2d87e89dbd5d95e"; + sha512 = "3f0a5dfe8701ac74fafd654607d40b3a258586bb7791823be84db682a84339ec1f0305212de9efc2754ec90ae7584a05c58c26d370090871af38e5ef8bbb95a2"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/kk/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/kk/firefox-67.0b7.tar.bz2"; locale = "kk"; arch = "linux-i686"; - sha512 = "2fe956a4f39c6e42beabe512ce45406ba586b462a604bafe3ed325e7625ff1558bcd0e200c147438741a6dc010d9fdbdd1728391ec660600e60883f91fe0f203"; + sha512 = "55a39f67b34b21d3fb31b4dfbbde75af058ba32b1e5f666847d2d053743ae51cf0787a09959fdb8fd27df6daf38f801f7aa2c0c6ac4f64d8ecaac3d893242e5d"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/km/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/km/firefox-67.0b7.tar.bz2"; locale = "km"; arch = "linux-i686"; - sha512 = "abc5c7b2bea6d67f7ad229a00859740c37675a584f3835608bbc6e9b0e1a267f81cb4e29436dbaa67035fc1824f2a8c8d25de59b328fed512a4c6741fe737448"; + sha512 = "e4fbc74ef0df4989b5776d3a5c526f323d2472f5a2460b539c120c54e3c3fb3cb8397e71126fef3cccbbe9326d2346195f08f415c49938dd65f63807894f67b1"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/kn/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/kn/firefox-67.0b7.tar.bz2"; locale = "kn"; arch = "linux-i686"; - sha512 = "a26e3c8ebb41f40bf8211da74f8057bf058dcff95606a9614ad75340b9a1f1bb2c21f368beadcdf953a43a837d7ffa899a3869fbaac0464136216c9351a8173f"; + sha512 = "5834427a79672c0e7538825e52eff561a7f018e763eab8755e295396f64315de968360ba4a8a039215dc80444d8e465a1d5ba7c11a60694b4ea16e7f0f340a77"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/ko/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/ko/firefox-67.0b7.tar.bz2"; locale = "ko"; arch = "linux-i686"; - sha512 = "1b6d2dec4f3cfdd1e6f80c7bd35007d17394e7cfc16f8e5c469f3c8dfffddd9917dc775f0adf3e86d2956caedacae98d78b25961061dc7e214394fdff3737d33"; + sha512 = "9761f01f078d2cec24ac785c68c95588de533be04b4ab37184b01c677c98ffd70dbbc1d1550338253dc38edc884d51d134496cef70a05435a838edc0b5068990"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/lij/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/lij/firefox-67.0b7.tar.bz2"; locale = "lij"; arch = "linux-i686"; - sha512 = "6749c691ce78968dff64f124b992c9e45882cfb245f6e406c8ec2a74278828d419beed30ecb8762f2330590474db5a209f0720c574f1eb4f1fb0739c80f040ec"; + sha512 = "4b3bc0acb18d2a2f80a4a469882df2b72594357ef201f337996bbb3315c260ee503030620e9e42a823ebd8cdca531f63e9a94b9f52bfafb83a7cde1e520d0e3e"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/lt/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/lt/firefox-67.0b7.tar.bz2"; locale = "lt"; arch = "linux-i686"; - sha512 = "cceb2c1dcd6146194fc6f542b901723d9101ae03157567b4b6f0a9ce680a7c3d18e7ea959a4b772a75e138ef19e0c6ae7aa70e2c51304ef8568264c1e1e5a5d8"; + sha512 = "5e9b8361dadc8df55055dbd15f4b2245cdb9acd7ddd7853417451246e59fd4b30b570c30acb2ed078cad3fc239f15218045ec99eb006c8702677ad289e73271e"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/lv/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/lv/firefox-67.0b7.tar.bz2"; locale = "lv"; arch = "linux-i686"; - sha512 = "1f9a6f75d4f4cf44f6bf3244e9b0fde13358914602579a25b8e8146010321b0fd31de81aa55aecf759163ab54d4c48b580272d3261b1d534da26c1ab8664beaf"; + sha512 = "757428fc0c04f757c424da039bef8d7f4653bae24b1532c1bff55305a1f7be8063e9e4a01ea5034f7f2badbb5202bfcb82954cb39438c714dd97ed0b6af07f04"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/mai/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/mai/firefox-67.0b7.tar.bz2"; locale = "mai"; arch = "linux-i686"; - sha512 = "de067af17fc6460fbe046fa661eb85e609061e68975ef8f3ba22492a6ada228a09ad92933a385ce184688a4d40477995d54cd548ae03ef37c73d53039599e97c"; + sha512 = "451cb28d1aa9d8898827be4645eb32f49cdea09b493802c78c9b4316b22fef7cd99a46c1c07e2f06e7dec2415abb6bd3cc7b4075e54805a843aee852aeeb19ba"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/mk/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/mk/firefox-67.0b7.tar.bz2"; locale = "mk"; arch = "linux-i686"; - sha512 = "9c2033a0403b76301559a306c76cb29ed0a5267db915bb0771c0c808b16bf95e822e2c5e7dbade943eef1b3789ad5ac1bdbdfd01fdc0c18b49f08b35e6bca983"; + sha512 = "6ce5dc05deb1f2761a8a1d4703522b4b90fa6ceb1d7189818f0b22340d956664af1ec3b92c965bbc46889835e4403e1ba189b3c0bdea92e36a8aaf3061a3625b"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/ml/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/ml/firefox-67.0b7.tar.bz2"; locale = "ml"; arch = "linux-i686"; - sha512 = "a0f606071b04b1822b7a8d51f46b989dd7520b7cf1330fcefed1c8e6d09b095e11c176f9f94f123acbf9eb61293e8b765f3ab4f303442b4a10993418e25cdcc9"; + sha512 = "fc9a68806276cbc7e9b3b528d6b93075429aa8759722bac01575680e6f7e94914f51e44ba0968aa841631aa876bcf716a0f9c1cbafdea31adfc0dddf758a80c7"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/mr/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/mr/firefox-67.0b7.tar.bz2"; locale = "mr"; arch = "linux-i686"; - sha512 = "67b307e0a45dd6f2bea45377a22ba6dfd5437dac5ad3ac0995ee14091608bae6b86a3489b8dab9cfd87879d763271d70d7e7683b4cbbef5c1bc488ef94ef553a"; + sha512 = "0ecf5e23e5c2bcc32946e3e4672557224e0af6081f8280a9c1f49927bd9dec9b3ce4b445c800a8ae48e75a514e24beb2bc0e760f859bf1f5a6c0cf02c594a6c1"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/ms/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/ms/firefox-67.0b7.tar.bz2"; locale = "ms"; arch = "linux-i686"; - sha512 = "099133a0a252f2b123328c66c6530fbe98280ac1fc5cbe8b2da4537fad4b5bd265e972843d9dc4bc937ec03329ac258e9dd7c931843d8d8859a75ccccc2802a8"; + sha512 = "1adbb3d092dd0909f5ddaac58240dc587dc819fe8a64e5e5bd3a81ba2d7effb516ade1a37bf437c42803ebb9860b322917ee347b62d4ff1cee503f3432988923"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/my/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/my/firefox-67.0b7.tar.bz2"; locale = "my"; arch = "linux-i686"; - sha512 = "857b59f4c1613e4243345ef9819f88932918b4cb708f94bcfdb2537145e19c2825cc6fe2166073606ac282c10250c552f1d4c482d991a33f1224cecb5186811e"; + sha512 = "c7f9549a94b511231bd0cd22e7705cec80548a52eaf8f4af5fc975d18e0ee504a2e7be5b4b06504d66cceab993dff4ecc37e014ddcd051ccd545ef19cffcec5e"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/nb-NO/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/nb-NO/firefox-67.0b7.tar.bz2"; locale = "nb-NO"; arch = "linux-i686"; - sha512 = "edd41419b95e5ca51eed3562207240db6cdf85965bd77e85e8a6cb7395e292cdd6c5af444934d922cd5495000f8c46d22774fc7fa7d371236b22147fecbc4560"; + sha512 = "a6129f1dd66cde5a9166ae180ca24d533f7b2ac463eff50276354f0db7eacf28f64d5df587e833342c1968fd3c4a1f9f91861907767e5ed0ff543c37da6925bb"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/ne-NP/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/ne-NP/firefox-67.0b7.tar.bz2"; locale = "ne-NP"; arch = "linux-i686"; - sha512 = "6eae78f9e49cc61a6cd217b4059b0aa91942b3122207c716fd35a726ef9402a11bf35e2ec84fe51e0548e286bd0f447019b3f1190411662252fd7d96e0de6ada"; + sha512 = "3281cac33c6dd97b497d2a10e4d4c9c60efd6d138ec9944d0d0e836629c036c7fb0c00cf84e27bd9bb7e443ddb6a69df4485a014930e2ba0a4ad8a224644a9c8"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/nl/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/nl/firefox-67.0b7.tar.bz2"; locale = "nl"; arch = "linux-i686"; - sha512 = "c5005b61225e26940a30b6f49f6d92dccb976c324a4422812e9414170961e60933754da76f50ae4b0f6cfddc3ca300ed4439376545d1770331da619af89c3673"; + sha512 = "b54914b0b065514a0af1f469fd601b76bc8c30087d7a23d5466ab5c8a71e5ec31ff5293ec2b1a621d6c4ad64158144d0f0691682cf974b97cde011701a8a9fa8"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/nn-NO/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/nn-NO/firefox-67.0b7.tar.bz2"; locale = "nn-NO"; arch = "linux-i686"; - sha512 = "03ebe1aca85db5d5c0886f08adf3c5d0b8e6a9576eb1941f28123a87440297cbb0fc0957cf847d59d85dbd1aee4ffae8a9ee11b3d9005258a1ecc89c6c2692dd"; + sha512 = "6790ce0522f6595447a9f3b7419255cab8f4635807f8e67d83095d37c89aeb4eef657aa8c1b9a3aaa436b06484872933e5b0a8a115e43f7fcf17381726653c2e"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/oc/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/oc/firefox-67.0b7.tar.bz2"; locale = "oc"; arch = "linux-i686"; - sha512 = "8629f8ce3d89472be12f321658e7de12c652c540b116ce6e8e192f4f697d08159298e977eb09fc5e24243d73e679f54d586a444d99542f6b35e1018d9a9c74f4"; + sha512 = "418bef24367b311cd26d05e736b73127538297b5c2a672b9e3e4c2b1f81b92e04564f3722a41fb2fd05d712f7c848248d020a2040843e797f7ec7747fe274b53"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/or/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/or/firefox-67.0b7.tar.bz2"; locale = "or"; arch = "linux-i686"; - sha512 = "f9af314dd17d16f981124117bd3705c9d20b0ee75552356d1b6423a07b6620dffc05e516490f435407647d7ff800411f2118a5d190090fba5da33d59cc3dae92"; + sha512 = "50972ebf6d86827604b066ad175a6a16250225083ae7b66a27690d8c052da84899a382fe80ea7f329b0d79b826375e9a356f5660f0f19b106f9539ca4375d023"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/pa-IN/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/pa-IN/firefox-67.0b7.tar.bz2"; locale = "pa-IN"; arch = "linux-i686"; - sha512 = "14e472a2db37fdd16d092741df7300aac32670bfcced278a1f2d4c19750ecc9b7342b5f8f100d7a4c92a8bd2788da90ce9f7c3c9de65963daba0398f292a2d4a"; + sha512 = "96a3cf9c11b1d1c77e3d51576229d046072fa44ca035bfae726e1dfcda696b0f78e5ee34a0d8372fc641245f41e685ce716be6a19bdeeafb0dd74a3aca5e089a"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/pl/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/pl/firefox-67.0b7.tar.bz2"; locale = "pl"; arch = "linux-i686"; - sha512 = "6d303012540dff3d0d62037893559099cb015d4a4ae491f9a30ae5586b5ce747233fb9ce85aff018b3f675782ba20cc50de5ed8137dc0fee43fd50a4d0db208d"; + sha512 = "5edef293b1d8140240d7621503032d6b28ab6ac6c481ee82c0252e7dfa8a24633e00401ad790a80165f8074a289a58125afa29d1133331aa38c6e6a1740b1261"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/pt-BR/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/pt-BR/firefox-67.0b7.tar.bz2"; locale = "pt-BR"; arch = "linux-i686"; - sha512 = "172b1ed2481a2c42f22fae52333e254c9240062d2b197682f056a9782ae8405b8d33aaecc580b4a2418449d7af99d2f95da0b6929195e2f81e0d5af84bceedf7"; + sha512 = "f294b7fb5e2f2277ea5985e7441e9515a434ae45ec45b40e590e469720cedece0b5475e7f5249b8dd4aaf1d1dbf76a2150aa9a5bf53dc1e81042b9ebbd1956b9"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/pt-PT/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/pt-PT/firefox-67.0b7.tar.bz2"; locale = "pt-PT"; arch = "linux-i686"; - sha512 = "646f0c2d24028bf02af352b0cee3118c37890a013cd17a37d8c260c8b8d2ecdbe1a258177b2e82057ee1b0ee18748b3c22e5d10b454626f560e63b0d95b28fc2"; + sha512 = "76e69887b1f6aad40164db1c7129ec0b80052dcb039a3e70ce7b5829d1f01e4a4006c028474cf101e59af61c0889f54f00351bdf94aed5d7929ffaa26625239f"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/rm/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/rm/firefox-67.0b7.tar.bz2"; locale = "rm"; arch = "linux-i686"; - sha512 = "25a2049dbc5d0bb7223989bd8cd3cbda0bb31a1a41a72fdb2d094f8f31977929e22dabcb792e72152c40fd45ad4b82efa1f4023a4e1ee2ab26c3dd6b0c06047a"; + sha512 = "07a18b9c089cbd64eb4baca99a76cfe2358e2bc5b3e8e63e7ebff64c801218774fe6c50cdfad0d5317963db74d79fc7d65000ee68b87f31700ab54249e73c39c"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/ro/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/ro/firefox-67.0b7.tar.bz2"; locale = "ro"; arch = "linux-i686"; - sha512 = "1e718ddd6e94769e7de9a458b9b4c914061a6902100f9a941b49d8f6a2f128d5460a9b932b4efaa7a8036ff64792e05713d11bc9c90022ea06639ca704a392cd"; + sha512 = "f9412dc6fe36f9c36d36c1ec3f9ea757a9401d0f111c2b95332c0c2fc64308969764d06df39c57ae457b924214c841843b9d64d42020920d83fffcfe2cb18834"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/ru/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/ru/firefox-67.0b7.tar.bz2"; locale = "ru"; arch = "linux-i686"; - sha512 = "575675c09aa212a8952808238b783b7728ba973981c1d91af7178a8f80be26a64edfa0ac2ea8ef8ed99d3d7b0fbdc88113f6b8e56dc4ba77e75e40cd7fe30013"; + sha512 = "da5cc7a67b119d1b454ab5a6597bf697ec95411f32680971ad9ca0882d74b8008ca84d72878271379a7404ccba4f04b00f9d606ac157323d6cd33646bacea313"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/si/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/si/firefox-67.0b7.tar.bz2"; locale = "si"; arch = "linux-i686"; - sha512 = "a8457d36199a6bc80b40747e553d97921fe670b5bd5b23b74163788ccce8c2b5c978da0d20e8ccb4546f76ed6697b7833b30132008d85a6d26e1056ab17e4f23"; + sha512 = "31713c81b82debe496f6b94799f81f68390b5c8fef96024a5baa8e54ffc39d39fcd820683873abf3b6456b5e789e2b882a6f0dba9a64e145a79782013fef74b5"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/sk/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/sk/firefox-67.0b7.tar.bz2"; locale = "sk"; arch = "linux-i686"; - sha512 = "4db245112df4feff3a9683e5cd451935dc43044e07c5e44d60dd8e425dc3fee3fabfee0b2478045cdef3bb69a7a948f0bf5bdb894c3104c41a1ad2a2c3d5b2fd"; + sha512 = "0475c5ddde2f150fe2c2a62d6d62db80084f7bf37ec191e2b976d6fd5a0a0169d7c557cd1cf9ab56b0f666b84bea8a6d51510320e8aa75096b654b6b335be26a"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/sl/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/sl/firefox-67.0b7.tar.bz2"; locale = "sl"; arch = "linux-i686"; - sha512 = "08c3774a94dfeb9d9f984aafc298336e8785f06d4fde3ef9b260e53a8c6f21c9531d5d52a9e09a81b68a17275d6b1d725f3fb894df0366a7b4e2de1669fe94a7"; + sha512 = "771f9c7a404a2a2cbcc754fbd26ed5a47d093da522c8270526f1ba31b0535a669beb7325d81b38f6667b8cf982c95cb5a8528bb80fe32b8e2770d45b1b3d2311"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/son/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/son/firefox-67.0b7.tar.bz2"; locale = "son"; arch = "linux-i686"; - sha512 = "f30bab848220c3969c572783f7fad6395a2c6933b57383146bc1799dd5e5dcbeaf679af9ccac90a72cb607360f2adf8b20c75503c314cdc9cf99a0d18eca2c93"; + sha512 = "b283f759743e0298bc9c0dbc82c524a6e997754cdf9aa57792ada118631635bd673559275e9e6cd270e49ecae57587082290d66f023f9dcbe1fe0ec5d2649644"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/sq/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/sq/firefox-67.0b7.tar.bz2"; locale = "sq"; arch = "linux-i686"; - sha512 = "cd07a455109ac035f3adcb81bce85dc7ca9fd871498e808dc91c4eed3775fb1b4b752b769769ac79a2e8bdb781c1425c3990bf3a6df40cdfc2b6dce6e99b7c70"; + sha512 = "698a5dfe611fb2956d319b81b09886ebe511ad2f1e99bd6970de31498ed8f016edc3d136a9c3aeae42367cef09639b5ae9a22539560fc394bf93bc83d1344e3b"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/sr/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/sr/firefox-67.0b7.tar.bz2"; locale = "sr"; arch = "linux-i686"; - sha512 = "e5e2c694f464d781ce67e6e5738784538e22f8fbbf02853a6dad9d6d31ee4914b2ab9e2fc2a609eb353c4a040d58ade875f9b64f061cef97e2c5de1e386ec469"; + sha512 = "a9c3b24129df77638866d9cd72afa5f72dd6181355174e40e0cf8ac2c1a1da87c9a60565e6d97863e50e14a76ccfe0110194ce2547f8297bcd89bf8cade4f24e"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/sv-SE/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/sv-SE/firefox-67.0b7.tar.bz2"; locale = "sv-SE"; arch = "linux-i686"; - sha512 = "b714ca1dfe8aa648fa9fce2a5b1c35d01d7f5bd8088afb91b18ee02a60bc9063183c5e93044bbfb88bbe5a7274cdb0a9c20aa9a044195febaeb2156ccf10a650"; + sha512 = "e71cc0f01b4a9e279810523dcf98b43a9ef82a64769ee7cfde94896d0caed75a0bfda07cad1f0120d44b738f48a0998d090deb49a7e9395cfd0150e18d292c2c"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/ta/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/ta/firefox-67.0b7.tar.bz2"; locale = "ta"; arch = "linux-i686"; - sha512 = "18d93447e531436500f6ac56a60f7e550e2677c8a0fef730c44ffb62a6c36c3a9de81b37dd6636c687a2ebaae3a1594e8ad522b9fad4c7233c6f51c2fe1c3a04"; + sha512 = "5c7948e1db8a8523591cfa598cf2b1971f01d7b8a79baeb932aee2aaa8ba8230aecf783bf7be8b27312599b8a59abceedd07cfa5e140e9107289e717efd77894"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/te/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/te/firefox-67.0b7.tar.bz2"; locale = "te"; arch = "linux-i686"; - sha512 = "a4f06d18f8bd33707f0ab7fe68ed169ca14be68800c69a7264b9b30e4f563a349f9e5af357f20af5ad1382323699b74219f95c00187558d0b923a28583204b18"; + sha512 = "01c2e2103faa9b2bd22c6b3a9604433350095a8bcee430007114c440b765f091dd3adc28119c24c9024d70fdff1256220305ac8b4f66182e6fa9e5dd35c7c20d"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/th/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/th/firefox-67.0b7.tar.bz2"; locale = "th"; arch = "linux-i686"; - sha512 = "8d7a09e43f4f184f07b5d67a49fd2d48691166cdd4bbfb4338d5f9f721cafa0a0d9a4cad3b886bf883764edbef592a11acef1028b06e1d023d7a86827c861cc0"; + sha512 = "9782614b88612fb1bc669dc26a61d266fbf1a8613e3ad3cd1193482985c05f182343589589c24ff016ce4dd1c63c755348dbdb6a699cb2f093ea00f7a629e573"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/tr/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/tr/firefox-67.0b7.tar.bz2"; locale = "tr"; arch = "linux-i686"; - sha512 = "aa390ed3142e80a089b6363a41e674f62f7b423cf01d8a49f89f9646d5e3e3b79a7d14b044386b9a2bc11ae7648668b502d31f27561937e94c4cba057f5e8499"; + sha512 = "4dacea29f57f6acedf30231d08d86d53afb88b055195a0c11a9f4e2598460900b3b20be4aa22a8fd5794de3f636a575a0e55815621dbeac4a2f7854399915767"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/uk/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/uk/firefox-67.0b7.tar.bz2"; locale = "uk"; arch = "linux-i686"; - sha512 = "b878a398a0cb21b53176da0ab40f9bcc29fc31dfe82639ab266c6d6aafae4ead7d7914d17d916eb0e3a733d9eb45fae1c1534ed473cb64b145325253afe7d999"; + sha512 = "3b92fc3c99366d332261c8cfe57a04fcbf285b5d5976e60da29a0844a30e9e15b1441cebfb8bda6dfc048f95ec233ee099042285effccd2d9fa10dc572b03e2b"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/ur/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/ur/firefox-67.0b7.tar.bz2"; locale = "ur"; arch = "linux-i686"; - sha512 = "c828613d82a1df96fc5045539e173633761b24339a1386dc2528d275519b2b511dfaf83baa560ce0e34a05e5db192f2cbfd8595eecaf3ce922de1d8bf1555216"; + sha512 = "0194916cd60f933c5a8ac7738487b90584e2881cd45f51aa1fa81ccd410b0596623bdb880226247a943910add37342e54cccc9bd250e2091cadf871f26931ea4"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/uz/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/uz/firefox-67.0b7.tar.bz2"; locale = "uz"; arch = "linux-i686"; - sha512 = "9bd604b913c7ade0a61e5244ccd8d0fddc209d8bd7dcf232ccaef3019a31d416f2ff0da0a267349a5f1458e2d80f1af1eb98969904708a486b9ac06b917e60ed"; + sha512 = "579779fe27dd2d30a5fe2498eba0e9227f0322f3533837dee60240cbfe98b68ba2b696984a110dd42f4a5b3c12110f61e33c38f7f489fa69a5c1c38280932466"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/vi/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/vi/firefox-67.0b7.tar.bz2"; locale = "vi"; arch = "linux-i686"; - sha512 = "93ed4c1d8e394d549bca34177ae5180390ce8a9d469ef0fc5fd858a0e61bc8f9f7184917826b72269f28f79793040286bb94760c5a06609325f41e2baf22d7cf"; + sha512 = "d7f8699f2f172725095bacb2a7a9dda73d131933d308420a938b49a7cbdc0cb56e957573f9f8c46a909cc07184f848e98713390b1eea816e97cb6f4007179902"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/xh/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/xh/firefox-67.0b7.tar.bz2"; locale = "xh"; arch = "linux-i686"; - sha512 = "fa28b9e1f6f3598e0936c916a7d9b93866caecaecb9c07f497d63b57dbd2ca37f6110ca2e2b63361e30c2ff2961d97dc2eb9b88b9deeee6ea3a6969a46cdada8"; + sha512 = "4201fd07a57086607501c193ccab243a6a6e1758d349895ed1fcd3ef1142b450da16285881b9319bb63afe7f622e5cb7dbf68db27d17c6f21ab94920d5c8a305"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/zh-CN/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/zh-CN/firefox-67.0b7.tar.bz2"; locale = "zh-CN"; arch = "linux-i686"; - sha512 = "7f5d84e863a76c2ecc53b0b7ce1cae5f48818586ce8f7ce14c42a423f0d3336ece9a84c35d89613df286f7f0165b63de0a38079a007fb40f7b3bd12f16ec5afd"; + sha512 = "d0a35927d7fd6b6f72b21ad6c15533af13a478d8465f1eb39ef9ddf1dfeaf5653d097e59de410f97453f9b545b97b9b82f22973366efc3b03aff7603594f7edf"; } - { url = "http://archive.mozilla.org/pub/devedition/releases/62.0b17/linux-i686/zh-TW/firefox-62.0b17.tar.bz2"; + { url = "http://archive.mozilla.org/pub/devedition/releases/67.0b7/linux-i686/zh-TW/firefox-67.0b7.tar.bz2"; locale = "zh-TW"; arch = "linux-i686"; - sha512 = "0f904bb2d25dd1f481dc7a5579a64c6bc3e14d4f6038a9ffda0ac8b24549cd1cf2f3bf337f4221c15532e25372c1eaf76a243485434551ae12ad569e26cb4fb1"; + sha512 = "f01bccf18cec3f201a9a69e167543de472d7dde86304539d6c17f093468d5197b0230ef4280a0b7af8d5a264485a69667fd81b458d85ab0bc7175aa80667d419"; } ]; } diff --git a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix index 13808fca99fef87769a617e16f0d7d23da7c7797..e09cf7bb8bf86f9e468c240ffc58c129aa8b2114 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix @@ -1,985 +1,995 @@ { - version = "61.0.2"; + version = "66.0.3"; sources = [ - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/ach/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/ach/firefox-66.0.3.tar.bz2"; locale = "ach"; arch = "linux-x86_64"; - sha512 = "572696944414358a50dcf8e647f22f4d3172bf5ac846cd29bcb4baeb0ac5a351f361632ee87dacc1214633848f9970f93cbb25a6e9cfbd9ee796e30e06f34715"; + sha512 = "4aa9ae4e34aef99424ca5cd01dc3214d0091a0c419d54647a213e78182f0cb1529e2021b3cdb25b35565a52f04f2e9ec4122635dc49aee0e403cf5c0b480c507"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/af/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/af/firefox-66.0.3.tar.bz2"; locale = "af"; arch = "linux-x86_64"; - sha512 = "dc4b22a8df99c3519f3a8001d0bdbcfdf4fc5d4dd13d18bd15892fb29e928126d46e2ccb9b512dca0c5395852a3c918a5aacd2b9a7b7f2cdb982052e915d5413"; + sha512 = "5fe5707286b531e23f31f7f80e8f25b08c0e51072494c88d426f4b088063a07a25d36e13182f08ce0a8f88f8abdade59e6f97b7186c89e0de3de463b5070d698"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/an/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/an/firefox-66.0.3.tar.bz2"; locale = "an"; arch = "linux-x86_64"; - sha512 = "2d57784a18278bac69c08e81fafbdc3530d17a112d3f1e7d407e2590935c87058641498c74300950d3f151bf5fd67065133d91c83e1e500c72b60ebc91a4572d"; + sha512 = "f58e0f1b026cb3225e8316249458777acf3528ca2da0843b7449abbb64e046f1e8b779a93c131fce99339c781e5d83dbdda321e0b8558e554f92518625292b18"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/ar/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/ar/firefox-66.0.3.tar.bz2"; locale = "ar"; arch = "linux-x86_64"; - sha512 = "e397f8d276c115105afcbab6fb71afd7bcc93778e79ec86a4274e10a6a039ad3107cbaabc9dd4bd197ce6be7add3cc0af954f029c179a6972ad2ba15ff2e3eb9"; + sha512 = "bc72e88090fdedd5ca5ffe1b43df899f83e9eeacd3b9cea8f12cf53e6e3197644553fa3398c11c210178bf91efa3b52c17b9e24226c3dfae2a2096bac17e40ef"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/as/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/as/firefox-66.0.3.tar.bz2"; locale = "as"; arch = "linux-x86_64"; - sha512 = "9869e76e004c1e77d976f01f9a4cafe29c253ad3c85b1119d67a65c784b5f65dd7a4927ccd535ee80fd63a6a47127e614478effbd0455a227e200ca31c846acb"; + sha512 = "b408a63cdd34aba329b82980d3980ea449d1ceb4f05fe99cb8f502cee6e0d6e5eb974ab848929bc53323f4b725331df42c2c34426df67bb3bc1725de6cbdc975"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/ast/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/ast/firefox-66.0.3.tar.bz2"; locale = "ast"; arch = "linux-x86_64"; - sha512 = "5b298cce253df9c8a072fdc93df894fdb4218c720ded3260f282c711270086104eca08e2d5afe1be4960beb274017eb4e0ae7313ceb5d6e596d0591f026f78fc"; + sha512 = "3320205930f8b12bdbc618d6588a044b5670e1bc4370c5bff58fd26540561b6d9365bc79fa7084664019ed5d3e0371f135b1ed0906ae7ff3e61b10383bba1e31"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/az/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/az/firefox-66.0.3.tar.bz2"; locale = "az"; arch = "linux-x86_64"; - sha512 = "cd8df2a19e10d5445ac0970814ad245e25f6ea695ec9590344c1a4e261b6fd7d15534028f6a8abf1943fb97f0e127ed55774e2cc2bf7cf85be525503bbb69f1e"; + sha512 = "6c733a65af52a081dc895bb3603fa1dbd96757da79822bc10378bbab0fda0ce8561b5be58db3282761afad786398186264b7e678efd1c7e7e5d48740cf34cc79"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/be/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/be/firefox-66.0.3.tar.bz2"; locale = "be"; arch = "linux-x86_64"; - sha512 = "94947ee7b7477b467016cd21daa8134bf28ab289ea29c0905e04291b7560da895124be2ab7403d2b9874291b7e33f5a92d36f9c0ed9d58ccc3306ecd7723305c"; + sha512 = "83558f99541aaa238508d7a751594b3ef319a0b7c0e2552856ba31e7bde54646fe70cf31d01433a3f5c605b43c6568d34862f70a49571ad14f68df51f36e3483"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/bg/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/bg/firefox-66.0.3.tar.bz2"; locale = "bg"; arch = "linux-x86_64"; - sha512 = "9b0bce62c85282c79708245fa792207dccd7bf939ebc23ddb2e6bb7bc3f6fdbfdeecf69d1ba599b2ec8d10fe2d79bab5dd229cf9fa7b79e076797267df39c54b"; + sha512 = "711c9f038a3838bb1e0a2d7ff1182ff16825e3b4bd8de03da41391774ba3fd5bd88882877961d625f796b2ab2c032cd928da7e06b25c3bbd1e4930805d78573f"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/bn-BD/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/bn-BD/firefox-66.0.3.tar.bz2"; locale = "bn-BD"; arch = "linux-x86_64"; - sha512 = "4de95899462eafed03464fd054b7ee12cf53d004fbcb58ad18bd462e57f5c50c31d3b50f689a7d54f973228a2877e6c77c47740280daf7d6db4f7ba5988b9484"; + sha512 = "bca2117b3c5155a792d8b5c314bb825b8fca897a6419337ef0dbd64ea32c9c054fe11ecc7510aadbcc9e2242e807857d0c31728a47516c02a6a20009eda917f0"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/bn-IN/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/bn-IN/firefox-66.0.3.tar.bz2"; locale = "bn-IN"; arch = "linux-x86_64"; - sha512 = "2ecbf2ae7d1296dcfd6e2268dbc27060ce07bb4b3d9d62f6bf27fc8874f114dfcca73672adb4d411d2c1eca7ffac22f7832bc5cdad12a492c3bc4406e3a6746a"; + sha512 = "139411d16b006279272fea37e8803c93096c7846d2c5be077cf4e0b0e00cbc820496720250c438f7f78b59f47774d77b6c16bf2d713ee2c4703e2ac5a7668ffe"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/br/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/br/firefox-66.0.3.tar.bz2"; locale = "br"; arch = "linux-x86_64"; - sha512 = "a92abcb1aaec11ae3b0eee75b5b5610157f8ca64627a20018925431ac09cc4295d14357e63ea0fa2b66bb415039c659f53292b8133558d591a16cbb5772f875f"; + sha512 = "462dbb9305813ef8c528f1b5665b7e27d790c00af40a83e7fc46da9c04dcea17125601cc8763dc3cdadfc4eb523723bb1c5b5b2ee8c3bed4be7d4644a20bdd6d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/bs/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/bs/firefox-66.0.3.tar.bz2"; locale = "bs"; arch = "linux-x86_64"; - sha512 = "15dda8914e02198a9b6efdf0ba9dd4f37e41ec7c6674b8b32189ccc368ab6ee671e401cd668c5ed57157634220c176be543c277342e708baf7b0110cbbb4fe64"; + sha512 = "0a40bba9e04a7970f0c4c1b22032bc530facf90f32d3d8af6117d89b4e7118027d463d58441c4ba4913097959bafc8fb687d07945d74a26a6582b54fcc14f6a6"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/ca/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/ca/firefox-66.0.3.tar.bz2"; locale = "ca"; arch = "linux-x86_64"; - sha512 = "230591cd45dd9d3644313b96ea304d33e9c87d6968c37b73ac3c701132bf13a3869672317b135f31d8082f39298c978c07d614f5055555ba9079afc6e17a489e"; + sha512 = "363fb5222734f98bad579fce6042832089737fa76d14072d887582989b0a944b70804b1c5e8cbccde01124d6e4b3cce3d2ce28c9d9d14825a76f3f116887e3e0"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/cak/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/cak/firefox-66.0.3.tar.bz2"; locale = "cak"; arch = "linux-x86_64"; - sha512 = "c622e622cc199b8a9946276afdf03f006403bd302d2c62a5076403e6764dfdcd121c1e15fc56d45bdb1751131326babdc9be96e6425fcab9e55d6c689e5959ca"; + sha512 = "60491e41bf9887b09d72eabd184ee847f6a8c87a13f472a84d7d50aac4a44d3119a5dcbb3635e2ace369fe0e9331de47584bdc09b559a2445e911c094e71bef6"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/cs/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/cs/firefox-66.0.3.tar.bz2"; locale = "cs"; arch = "linux-x86_64"; - sha512 = "8e4d452a75befcb6c2a6e7ed0b4b1aaa8f18d4d61302ddf6b8143e024352a060621c375742748db5981efecb8075268f56811702586189a116698a669408dee2"; + sha512 = "66a39a0d2461b9157925c9eadf3d496ebbb43555e4b91d9f8d232ced6b78a71f623e8a02941ecf2a2c0a128d9cbe106c01c84a94358dcb1f8a5399fe17e77c5d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/cy/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/cy/firefox-66.0.3.tar.bz2"; locale = "cy"; arch = "linux-x86_64"; - sha512 = "349f73f43be8dad527549ff158b267c62be7c0d828c2adcfc635e419ac9840076549a7a51396b306bc042d1d7697c8d6caea3bf0b4e3f42e7c0efbd5b8d92e1e"; + sha512 = "ae680998cd82fd70de4ee55ecfca4b289d48d943ca193f1ff2a6d156c6142218542228bff5b429f68bfaadfbb0c43273c68eafce333fb1ab68f2cd6c092df235"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/da/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/da/firefox-66.0.3.tar.bz2"; locale = "da"; arch = "linux-x86_64"; - sha512 = "187bec61e1218fa6c2fe79b3e80066a617ee3c26f83aa16b61a21e3fc76a64c2c821120f9206240642dd10175b6976c352b13a5b2e5514126a3840524fdd1de6"; + sha512 = "72715546481c63dcbb194a305c8ee1cda05d52d7da1c69ce3a755145e0127bb2118ff5cbcb04ccdfc7c8c7bf22e42feddab81e936b92f367a6198b09e7d803a7"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/de/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/de/firefox-66.0.3.tar.bz2"; locale = "de"; arch = "linux-x86_64"; - sha512 = "8aaa8aeecf1a2dff922b785ed3a4cbf248454cf010ea9c188a4ac70f0550813944a8e9265c2edb13bdbdfbe20ec5a0dda3168d2dcd529d082bafcfaef6271913"; + sha512 = "fe1abb6ec0a550a3c1bbc6fea96c26a4d848771dbe45ae75240017d1fd4397e2c80742f95a03223356b5374969eed83a3a92bc86e433cc1b85443e4e41136e0e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/dsb/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/dsb/firefox-66.0.3.tar.bz2"; locale = "dsb"; arch = "linux-x86_64"; - sha512 = "c821eae950e48de43580c9dd4af7fc609927e3fd27ea876fca909bb3319574663120688e442ba83acf1d273e1fd22a87d0cd934e68151edd9a8561015e58a47c"; + sha512 = "442fa757fc7f72a9b0b6b2a19dc72a87ec2cd24834378d2aa41788c1bd015f0eaf51acfe7769a4c5cd27d157c777d3b6e183dc134516ca0ebb0870fa667feade"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/el/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/el/firefox-66.0.3.tar.bz2"; locale = "el"; arch = "linux-x86_64"; - sha512 = "afa286bd1ac48a6007b6e5072bce0a26482a0eefdb00aee824de8c4dd06688d16731252933cb71b9f3bf6d30f951c6df68c2ede85733edc81facbb628118c72c"; + sha512 = "84995e7632805e78e2b9b710c8b42881dc071c51f6336c54e30b49640d3bb5284534167392665ed15b88b092cf55db174156ae5f8120324faa842f802790ee77"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/en-GB/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/en-CA/firefox-66.0.3.tar.bz2"; + locale = "en-CA"; + arch = "linux-x86_64"; + sha512 = "0b687a2271363be6c1458501ba8af8a9ea3f6279f07b89a70b9ed5dcfb0a406215621aa0d001309b823c267932877a2e9634aa14339340f7a259820f5a55c60b"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/en-GB/firefox-66.0.3.tar.bz2"; locale = "en-GB"; arch = "linux-x86_64"; - sha512 = "c2ca0c9a72503ac5817ed9ff3736b812005037c51534ef9a159b7914b974a356f3f1bc89d0669d05bde8dde124f2fcc3ff3a91cb412ec0329c2e6def875219fc"; + sha512 = "5a772190ee12a2d0d400f5aa91780ddfec29e4c2f867288e374880e4602efa747555b97ab40eedea5c812ee6f4fc2986bbd98c5f7c9054bd027490df4e9850bb"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/en-US/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/en-US/firefox-66.0.3.tar.bz2"; locale = "en-US"; arch = "linux-x86_64"; - sha512 = "9f32b33727e5877bfdeb186420a02f185896a2a5803565a811203d86e84d51ede06f27d63a88a482028c36b65ed92ac4c17196aa2069370d6cae09b74bf482a5"; + sha512 = "bc585bcce2f44354db372c9f96ce5eadb5128c051f4afc95df5a38a68c4c6a8be1f20f7727fd030855d5dd0f36b00e28ce3af0b0b7bd20fb2e380034cd21d381"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/en-ZA/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/en-ZA/firefox-66.0.3.tar.bz2"; locale = "en-ZA"; arch = "linux-x86_64"; - sha512 = "e41b7ea34f193bbcd892030b5feb2f117bb5f3f9dfbe69560ea64b7936bcdc47a55e878c645786999a2e52c4333c033320eb1ed9aace3481a9f37d87c9ae9ccb"; + sha512 = "ed01d89a7fcfdcccd50712ad631fd9ef65630b23e3e6ab68b04aee28fa092cebd0a008f9f1e90a2a3152b03263db78ff6c6c3b67ed9f81c7ba6ff62656bdfee7"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/eo/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/eo/firefox-66.0.3.tar.bz2"; locale = "eo"; arch = "linux-x86_64"; - sha512 = "e0850feb028cf0644340d2842b054e49608cdc1afbb9487ee744f6fe1ce0662874f0f96de2da52de2e0abbe39d7ea430efc70392d555e7cbff7a46f9029ba9fd"; + sha512 = "8d38c8d9bce68051eecf89220e5b2c128dd2b5ce48107750139d1fa0bb836f3f583ff6dd8e776321dc0f6c72a8bceb262dd37562545f58a290cc42631f37c988"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/es-AR/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/es-AR/firefox-66.0.3.tar.bz2"; locale = "es-AR"; arch = "linux-x86_64"; - sha512 = "72bde05493e4c140f6022e24cccf0ca580ed3c423840d2631cb28ce8a20be92837f78cfaa3b09a324bbc0fcb064ced351fc66a0edf2c56d972f629aed6662dcb"; + sha512 = "d8824e9a261b662dbde83b4db3fbd1254a6de0721df7da7b77bba6eeff2306eb61198f35fce1fc1e4a8c8939d42f332ad8169cc6a27ee757af483e887599482c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/es-CL/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/es-CL/firefox-66.0.3.tar.bz2"; locale = "es-CL"; arch = "linux-x86_64"; - sha512 = "4bb298e184263edff9100e1e7f58cbbd405dbc73a265a5dc1d78e8cd25e538d34ef0994b6b5e79082fc12f1c0b2035c944e17eccaa7e1bd92eee8d27d8f50400"; + sha512 = "0b912fde247c288d718d7f75c1986c4196c787dbe3377101627338aaf45aa12eafff2fe7321a2bfef47bf3b7a16a8a3c6119ce330cbb577816df85885dfa952a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/es-ES/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/es-ES/firefox-66.0.3.tar.bz2"; locale = "es-ES"; arch = "linux-x86_64"; - sha512 = "13d7f54f7899eda53add9dc4a1bc27fd30e0caaa9c5a95d716c1ef8382c2317733cc7a71aba9aa4f2a024717eeb09be7fdd55dbf6183d1679e61e3b57964e61e"; + sha512 = "f7d7e0542f80bfdfb75592a938f1ce27b454d994f281a91a3baa922d5db55b9a40ea09c9dd03d9d3a61c62667fdac6e537a567865627277e7db2c855aec89f35"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/es-MX/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/es-MX/firefox-66.0.3.tar.bz2"; locale = "es-MX"; arch = "linux-x86_64"; - sha512 = "66c24cd9a80da6137a94bf9cf2bad4ad3ef0141bc10c8d92435f9d89e11712afc08018d7e1b4f17fe03e4ac62b2f6ed1cec638dc7d0726bf27453e1741a1ba06"; + sha512 = "6f823f7bbb72440429d9c2e16f8e8ccc7a9df5dad199306cf8e5be96a994294b06a67c87bf232a3ede28bfd75bab42b6efa61f3535d6399fadc30c45a4e55af3"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/et/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/et/firefox-66.0.3.tar.bz2"; locale = "et"; arch = "linux-x86_64"; - sha512 = "a7a686b1e16b616a3aff8901148a2818cbbe2459851660a23610ddfb4b8109aac159fe80986744bdc4124a10ab160d2703b2e8f65def0c86977bfa3fcb3ab020"; + sha512 = "f03bd296e2cae8e28c44732cd05b34866fe6e6eea1b6072e1297f9a3e5ea62be8d6c9fb1da1cd0019f9e760a2a4fbcdcdf3c2b998e0d4a304d9372b5f2c6aea6"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/eu/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/eu/firefox-66.0.3.tar.bz2"; locale = "eu"; arch = "linux-x86_64"; - sha512 = "0760621f5d053fb802a46151f6283fb7a0b7de5c22ba0a55ae0f3056b0d43cf16c6da79af8a2217a665825a840b9c83134128f455dfe6e83f473290e425ad396"; + sha512 = "1563e8e3de7c2c47fb2a3095bf9560c2a5fc79eada4ef89e1a53fcdc5b27f6902607aaca09bcf20d78e784fe2730722466f23ddbacc95687eca047cc25fcd9e7"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/fa/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/fa/firefox-66.0.3.tar.bz2"; locale = "fa"; arch = "linux-x86_64"; - sha512 = "29e8466e754900b63704206b5b650ea60aea841aebfa58187013a495a95dd32d939308253b0f856ef5e04d3ddf320c289e74cb03830a16374e9fe2c03214a1b4"; + sha512 = "9eb2c3634d3c188b20cd30c61ea7517b710bc8abc703bfa33285a59c3922104b136f30978660de884089a923b5364226198d170a0c94d8262daa744cccc0576f"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/ff/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/ff/firefox-66.0.3.tar.bz2"; locale = "ff"; arch = "linux-x86_64"; - sha512 = "240232a8dd4556c5c4df872b60b3352176490b7afd4388c26322008c7dca489f48f679c21d148016965ea81d850eaffe9fb7887b97cbbbac955f9cc29f28b4f6"; + sha512 = "05723ea64a84eaf5be466b1087a1a47b1fa86f4f0643bfeebfabf42c59fdf9ffa1613fe754f0c84c027b884e209ad90bc917806bca4da0d6bc8c3c7970de4144"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/fi/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/fi/firefox-66.0.3.tar.bz2"; locale = "fi"; arch = "linux-x86_64"; - sha512 = "63c7d4ede5e02c9d4b2e59234b57d4f539c0cd3666a053b127cc18d080900bcf488f8d3d7f2dfb98399a1cec5ec6780d86d93ad9dd2ce7612e84604481562a64"; + sha512 = "afd9ba38430f04d15508c45e5ba69d9e1ede7e967f57581457723873408ac4205b5caa2bb5b799144962c2735012fe60c778196a607989c629ffa77e3c8fdb76"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/fr/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/fr/firefox-66.0.3.tar.bz2"; locale = "fr"; arch = "linux-x86_64"; - sha512 = "3a4263e78c62faaab850c743660e633269dd9e625f03f94459b34ede41989cbaf498755fb8c2f507e4f4b88b633c29a3eae837ffce0572ee03afdf67c53d4ed1"; + sha512 = "11c83c09bbc02032f99cebe5c6df42f58eac90d16593218ea36f7f0a6c5afa7c2286372b5c187fbc66665f00b23a1b9fc10d773237be9324aceedffe8a9c242d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/fy-NL/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/fy-NL/firefox-66.0.3.tar.bz2"; locale = "fy-NL"; arch = "linux-x86_64"; - sha512 = "e8c7760f3f64b4c525bd0521cb66ed11bdd9142deee986fd6a5f6a322685633aa3539f819e3ec886884906998d37dd6401b77e4790a246cd098c47cd49f929d3"; + sha512 = "fd1cc534781849e1af4159244affbb67b6a153a8de13a1bdd5c91ad0f2d4622e042ba67cc457bc293cd480dff120f084b89eec0bdb443c5dc86af1c05c720969"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/ga-IE/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/ga-IE/firefox-66.0.3.tar.bz2"; locale = "ga-IE"; arch = "linux-x86_64"; - sha512 = "8f59620f30767cd58babc163b803b2c8b174562e5a6a686c5a586d24db0da4c4ecf180c13673a6a434faee02c2b7ef746c1f10e45055d42327044a945925e514"; + sha512 = "36abf4c99f93595e2e39ae5a5bab73407605ac6f8ba22b623558586b866766215bfef257a416183c8cf7ff13a58bb790ed72552707f994acf930e5a00d9ce324"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/gd/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/gd/firefox-66.0.3.tar.bz2"; locale = "gd"; arch = "linux-x86_64"; - sha512 = "ba496ad0daec76e2c6e4f3c2dbb8219d1f3234893acb09602e51b7bfab4ef84d9f49104a021b206ff528bb323e2255c97e92a6949b3949098e5863f48e9fefa7"; + sha512 = "48c68cdc63c78f37166dcbb144c7363fd27ba98c71c047a245c69a7e76750650f02964119c33d6aefef8114397fd2f2dc7860bb47247a19ffc0a6d850c64e8dd"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/gl/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/gl/firefox-66.0.3.tar.bz2"; locale = "gl"; arch = "linux-x86_64"; - sha512 = "3ef33eda5d7a88fb6f67f91983ab2db11404f58686ecbe30dcbc27dd1358660b4c88ab8e678184cdd3fd4102f93120e0d0a4d75435812b047ec2bcb74cb52a83"; + sha512 = "76a82f38f87fcb5c43cf3e7eedf807862f52febf6d354925fc37bbd9f109e6b8f655823c4c0badec050c8ed46c2c7ee5fb1985934473ee9eafafbaed86c22766"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/gn/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/gn/firefox-66.0.3.tar.bz2"; locale = "gn"; arch = "linux-x86_64"; - sha512 = "5e86c34b627b66872a7f07e30ee6285e61d041e69b0e2355eec142b23ceac8ea5ef7e257adfd1ae877b442f7171381cb013fddd7593d1b6e42f3a22e2267a5df"; + sha512 = "556b6f2b5e959571fdefb047c0d62ec85ca6160e9752bb579a0fc5c94174d70ca0febbd91429aa10c85c40d3643230531dd7c2594e49723a7eec58cc74e2d464"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/gu-IN/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/gu-IN/firefox-66.0.3.tar.bz2"; locale = "gu-IN"; arch = "linux-x86_64"; - sha512 = "72e43c4dbc3db08473d96d0686fa2df56f82ebdbee064a152ebb2a49cb4fa7a9a80135fa9b7106ffdb64d3342b38400de5351a3b225360d5a730f0f4991418f3"; + sha512 = "276f9fd0601f83ae9c5743df43c91cd1fd9cb6ac8d4d67c06b31f002a0c3875bbde567fa2b0522ee863c1f47f4effa15c62461ca11a30f71cf2a709b54ea1288"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/he/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/he/firefox-66.0.3.tar.bz2"; locale = "he"; arch = "linux-x86_64"; - sha512 = "d3b5a43aff6e76264eec6d211a5a9dd0b7fb89e41bbb265f31091ce3261f4a160e1ddaf59432bc3771bc5afacf1a3e12e42e0d08107727b0e8b5941ff29174c6"; + sha512 = "72cdbb5359408a36f9b31ad7f03761c76f5a13a54b201a9df8cea712964b5b86b6b09e9ccc38bf2873361c7fabc7c96dae0fdb03e3ccf85b7e8025ed63978f57"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/hi-IN/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/hi-IN/firefox-66.0.3.tar.bz2"; locale = "hi-IN"; arch = "linux-x86_64"; - sha512 = "7b568bad470b3fa069b44bc0d69fbae51408ab44751a99fc36a7c220548d0200ec57d8362dbe1dca7370e587d5aadb45b5c9dc91e6d267f2421fe5a2260d29fa"; + sha512 = "9af2079adabae3d7cf3517cf43969eac917ae50d36b1f7cad64b0ccaac2db06f1636dc96a071af08359f0fb0e51acfd9567e070508b9c3bdd02dfdbb8206f0c2"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/hr/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/hr/firefox-66.0.3.tar.bz2"; locale = "hr"; arch = "linux-x86_64"; - sha512 = "c69df1a2226a967dbc0cbd3813ced6ae36b696389187489ec62b78b3180800175d3c33b07bc84c45112947348e160cbcd6db2e68d5e4b6f07e0a2f6adfc8fd2a"; + sha512 = "273a5732f53df6c69672e3eadd272d35a2421ef6391e360829c42196db33969de86e90dc95c9fbac65ad8647657bca69500a4876845d064a8f8dfad1c2301242"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/hsb/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/hsb/firefox-66.0.3.tar.bz2"; locale = "hsb"; arch = "linux-x86_64"; - sha512 = "080ad8f1bf263f96294e3e6178dd64d30a7fda50d229081b14e54bfaa183c6efeb0ba3aa66cd23c8541a622382e415a12e3e063cb3aace5619d3c8c212ea3078"; + sha512 = "13605134e7a95f04e8faa64c41babfa7f1b84fe1bb0410c17518e847a81b47ed16794f17b4e833175be79756b48868aacfe46bfdd5365c24ad47075c9f99e5bc"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/hu/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/hu/firefox-66.0.3.tar.bz2"; locale = "hu"; arch = "linux-x86_64"; - sha512 = "44f07968bb89c3c0e2d365f9cfd45d89b138a269cdff48542124a34f9d9ba9df5103e4613934c504f90b494fe20bbc6f71a12c210799e689e8f69405ea22e4a1"; + sha512 = "17637c96d5bb0e33c6bc3f8e58435a82a53b648b5d665dfd7a62b913ac3d04030379687e1c65b4a9ece119e92590ba0e141f1903236b623e2b398c2e00417d95"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/hy-AM/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/hy-AM/firefox-66.0.3.tar.bz2"; locale = "hy-AM"; arch = "linux-x86_64"; - sha512 = "8d3ee8a030ad60ae2de062b21437e8d512ff3feaf614b91da71ff6af9d3994be79aab1753e3d46a94237d7e0a49eb670781c2567f96662b6057ee7172a0363c7"; + sha512 = "02067f5fa5d206c1c8d8392dcff21738f615f8bc77b44e038261cb3f6eacec7be102da3a0d52cefc280b0b71340be5b4ddd9b62524859da99b7554b3d52349c8"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/ia/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/ia/firefox-66.0.3.tar.bz2"; locale = "ia"; arch = "linux-x86_64"; - sha512 = "448e543b5f7075e2e1b984c808dded1ee67dcefb600058635c87d0c226eb02aa8dd7f59c624ebec60c9c0b334f98607eba88e111f2b03a1aa579b74b1398511e"; + sha512 = "1195b5031dfdaa35507de6aef21446ace0e68279da0b128e5acacd98d42a09b97a9d1c34e7505cf76c116effb105090dfb623b79a9992e518481bac3121beab5"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/id/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/id/firefox-66.0.3.tar.bz2"; locale = "id"; arch = "linux-x86_64"; - sha512 = "a1f8eceb53485ac41a685f98b1e9dcf57ac094c0911ed8f9a862d4b3a5fa8072c16fa6a4cef3e06d15b07b3866397fcf9ead7b4b43143e0f5dccf93acb2f7676"; + sha512 = "c6649b3d953f3f416d695a1eaf2aaacde12ce90dbed59f16b312118b1f09ebe98b5a905ff7f55b599166c947a57a8d902852520568dbd31d48f4464acdb3be56"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/is/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/is/firefox-66.0.3.tar.bz2"; locale = "is"; arch = "linux-x86_64"; - sha512 = "43d6ff785394bdfb6c376588531a9fe043b18fe44ae83f481b11d71a2422b5d5022356cf960d92f55fb3d0ee103e6534bc0299a3d84e9ca7e6b3a5544e11ad45"; + sha512 = "cd2da470396ba1966ee751aa644a7cfeed284dca10ce723805d7f9330bbf2b8b5e4c3c51e2c798b6654743d62d8d57fd3ebceffc3da55c38f8fac3a7d3732341"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/it/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/it/firefox-66.0.3.tar.bz2"; locale = "it"; arch = "linux-x86_64"; - sha512 = "460385b5854565f4ca33431c573ac355baddd7a35a2fbf631b3748b02102a749e56fb1128ec3e9f6b721b1123578060641bc3b783ece271a1708656626b10a13"; + sha512 = "0fe8149fb6be846a6532ca7b1db8694900b431f3e4f8ab27c2d0785438baf6799df107b346ed2c814ce9b7f21671b22fe6246727ce83320199f72a3909ac541c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/ja/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/ja/firefox-66.0.3.tar.bz2"; locale = "ja"; arch = "linux-x86_64"; - sha512 = "682430030d87391692170bc81d759d806f4667b66b4e3df84e836e65678f274720038d0556f5338d8eb18e281b64249e758b5265b3ce30e6f272ca9d84ac1496"; + sha512 = "1e7eb7798a2cab863986d95384021f8116dc949aedb3a121f887532d57f512756d6782614b623337f349ca27afcfb80545a450ee3af2a3872cc46cd657115208"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/ka/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/ka/firefox-66.0.3.tar.bz2"; locale = "ka"; arch = "linux-x86_64"; - sha512 = "e8c9e6a61867efdb9d021aaa8f059e3ac9896444448b08b7d90f70fb2847d46d1950a24e6fa2db0b947cf3ec628bba1c230ee7d8d53a959928122018a9e5c7da"; + sha512 = "e3191ecc3a6fa93515deecce972232cd064602c1f2a5f7c807f62ff691459d8f4cba494b33ece05c4662115616099a1232955091e4e647b3f74d6ee4f1b20ebd"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/kab/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/kab/firefox-66.0.3.tar.bz2"; locale = "kab"; arch = "linux-x86_64"; - sha512 = "17636e7157d6cf3ab73b7e36eeb7ad5bcc35e756fe6d369b98305c58b88208b5b11f673f52425363425d18c2a7fe79274a6e5babeb926adc9cea22afe3e55e5a"; + sha512 = "27130d1f1ebddec899eb91abd57c8adac8dce60dac6c66e8ae44419ea5924e3c9d46960746b96855c11f903e2dd59d483e9cadc0bc22a33f37faedea3f200fe8"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/kk/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/kk/firefox-66.0.3.tar.bz2"; locale = "kk"; arch = "linux-x86_64"; - sha512 = "4eeb48f250c617ea8eefd99fb44159170311becc229f77ca014e801594260ea23ce46ae11e0526ad620dd830b857b73de8a3a90c18764ab2a8f71cebfecfa143"; + sha512 = "84b0e49645f9fb63f3455e43836778fe839dae24e9ccdcd950ff20dbb3d6258337fa489d22c6066bca71c0b827284459a52154ad037c1ba7ee5acb9e4c88b926"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/km/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/km/firefox-66.0.3.tar.bz2"; locale = "km"; arch = "linux-x86_64"; - sha512 = "57a0bb58ced30d8743c30d288250328568758674e55127d51e99485f5c85e8b0b300aeeec4d34526f53d1d538189b75925eb907e3b5fb2d455e0546e179dfe04"; + sha512 = "5f1219f19b112a811cba1585eeb99447d5c6f51c657a7f200a5f5620ed5ad849e16ca11e4bf82255f2045a36e9263ca4928a2d930f053cac4a507a748bd00896"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/kn/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/kn/firefox-66.0.3.tar.bz2"; locale = "kn"; arch = "linux-x86_64"; - sha512 = "c40e9f5906cf3968bc92932f45d4d0b712322e6efd9a5d1f3b48a7b94a162c6390142081a8a4fd2f0fb8737869723432eeb5a4b44c3161aa38a4d506bff8a3d8"; + sha512 = "9375074fbc21d3d29fd01123c498b115195987c71583c431fdec621a59ffbfa2f2c64c2fa2ef0a2c5c78776c04f7f25777a3ebc0c1022c91d4072624793455b8"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/ko/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/ko/firefox-66.0.3.tar.bz2"; locale = "ko"; arch = "linux-x86_64"; - sha512 = "3f6104ed9b2fb9f1b0e3f49b06aaaf513ecf7e31b417af90c11403bca7a3ad51a87b448fa0a2ae6a01462b57dfd21f90376421ca8cd9ea62b0e3a1c7462aa9db"; + sha512 = "60e9a077cb23ab7192ea835a9cddc3ee1326b6bc7d2e6b53aad81eb3ad0c230df906628eee531f5fd4fc13b48f77b6c5a0c142cf149314c772bc0f081cc1060b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/lij/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/lij/firefox-66.0.3.tar.bz2"; locale = "lij"; arch = "linux-x86_64"; - sha512 = "46c8eb64b30455ed97618d67215510b22acb6cf5946ba492c5938d879e656d983accfcd7ff2e93cebe7ea5a52e9fca348ebb9ba02e70ffb4196a9d9edf5abc51"; + sha512 = "22df2f25d025f90571b4f14c92be175108ffbbfa6c34aef1ea8e906c1537e15838b3bc6ef00e4824df4f78840d092fee859ace906efc3526f4a41e60db8c26f1"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/lt/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/lt/firefox-66.0.3.tar.bz2"; locale = "lt"; arch = "linux-x86_64"; - sha512 = "54470adc31bdab9745f72598d402fc961d6b407b6f8fabc8e0c6b785a5a5f3e9922e06a922688c6bd1ba43be81ed37bbab216fe2182bdd0b32befabc55fa1a48"; + sha512 = "6fd1a4742ba994bd65fd83c3936795d88a92655e6334837fbcc2efc8b4bb4fe75741f8dbe0c0aadf1b69e8a48577d7ef3c0322abd2c3fec3eddb09a098843c9b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/lv/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/lv/firefox-66.0.3.tar.bz2"; locale = "lv"; arch = "linux-x86_64"; - sha512 = "376ded474c9c8a898bab54b66a4a9e9cb598dee114d9a156b9e7fb925250511e610d2e17a5decf4c2db44f227065cb2840265d6955364a1405060ff022b04d07"; + sha512 = "4ce0f5a1cfb19f763567278b644fdb8a004bd7b4d65e85b46f2235c67dcb2b04f630f0988fef6d5d55e04ddbb8190fb187b0d81dcbf60ddb20629580007d9788"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/mai/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/mai/firefox-66.0.3.tar.bz2"; locale = "mai"; arch = "linux-x86_64"; - sha512 = "21643b1b723a42d81bb4476b16282d2550100278a221b5538d5666c8fd7f3e96f242393c4b175cf6431e82458e199fa80a51ef0f5bd6a9b691d0150bf1d4c8c6"; + sha512 = "c26bbf25d31eb551bd477b99cdfaa9670205b36562e211418ba110eda6f87e06880695620b840e1a767c98dc7c6311e9ee63f1e52c113bceb53f62ac5289c9a5"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/mk/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/mk/firefox-66.0.3.tar.bz2"; locale = "mk"; arch = "linux-x86_64"; - sha512 = "452571329b805586a1218dd5fcd5b48f7f20fc914ba006441ec3642ef8653537b764a98b7916c0e440888d60d41b290826114c3a37083ec098fcd6c86a6adc15"; + sha512 = "33893eb9cd5638c2d24403144301c6daf8a3fa4e76a30ce5027213e2a78ba906b73ab4c08e19a4b8b62cceb360263c1efddeb4ef848784ed19f846cbf5706478"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/ml/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/ml/firefox-66.0.3.tar.bz2"; locale = "ml"; arch = "linux-x86_64"; - sha512 = "8d2c850525f9ffab96c4d02908440a9a5f4b6fffc49e5505d5eb33d35d3690fd7a81ef73aac810d0c52e0deca5b69dff9eb3f0eaf508b7c866442943f7cf9547"; + sha512 = "397688afaacd32ae434e5e2ee338059d3333ba9e9f73c766960e0b424bbb7b634bbe0a7d1a09d51a3f41b83b4b466bc50dbd4e0658d8e8f21c59e3013c273240"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/mr/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/mr/firefox-66.0.3.tar.bz2"; locale = "mr"; arch = "linux-x86_64"; - sha512 = "1eedeaa3a2b6362c460e468b28bf7efc9bb5c960c766ec9f0e423834aaa67248c5bea0fe9b4fc0a8e62b0a40d8dfd1e7ff31adfebf6d1d6405daa02879977015"; + sha512 = "885033de3913e8d6eee8e5fcef49166ebacbed5f344e930a809ba48ecb71a253575d52590def405ae0a48d76317d102559038e54b1164f1674c5910c40ca3e84"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/ms/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/ms/firefox-66.0.3.tar.bz2"; locale = "ms"; arch = "linux-x86_64"; - sha512 = "fe2d5ae09b8921d366616eaee49c240ff529050e1b3f97c915d91c23dd67b22d78a75e14e2f192963f0fcb05eb812da2c5f68313599111d85c1abc0ac9dbb676"; + sha512 = "61e217ad17b4d27c68ad4f16ba07d8ebc059d6bbd1ce58489d65d8229589ad9fbb2a6dd378a8da338c419928247c12cc123f2fa70e6f97a67aec019fbc6939ab"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/my/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/my/firefox-66.0.3.tar.bz2"; locale = "my"; arch = "linux-x86_64"; - sha512 = "631a6059d38a64c24e1f7d2b9a27aa2e405fe413471ac1e1d7ab337f614df9a1470a091de35904c39664d679c06eaddcd239c4a392c1e2ee548ce0be7fd5e416"; + sha512 = "4f7ba2e7e59640db6c4d32ccf9c620c3c7895b0763da0e0dcf56b0777b6254a6c33a5d7f80ec3848d5d3f587e0387c9657db4f04ccb84dc08ad4341382feebae"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/nb-NO/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/nb-NO/firefox-66.0.3.tar.bz2"; locale = "nb-NO"; arch = "linux-x86_64"; - sha512 = "90d0c3c696ada86b47e9a6ce8aa9a8d0939eedf5746ccef79ae170a935e6b97906b187d7839af158a6008a9022cc50467febaf0617f3a3b1e8e21fd648805d13"; + sha512 = "6b43b1f00866ffcf059d4406c2186e18ceb7216ded302df42a5cdc2c5ec8fc154c9f8a3a7f37fa6865128ce2d788c9e4c1e3e43fd9ba8fa759ca414879693199"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/ne-NP/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/ne-NP/firefox-66.0.3.tar.bz2"; locale = "ne-NP"; arch = "linux-x86_64"; - sha512 = "b5e13e214cbea0d541aa8c29d53afa4ae952970a64bb5695be62ce19c829df901dba4c66cfd03d5d3a31f69041c9c700553b2689dcc4ac4ef254d155700bf5fc"; + sha512 = "47a40aaa4992d953788ec4a2481705653acb8424f8fd11004ff24e9bb6ae8015e27d7610620940f36b5d0bf25a3c426ed3ce53b97e16fb891da3674c66f713c7"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/nl/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/nl/firefox-66.0.3.tar.bz2"; locale = "nl"; arch = "linux-x86_64"; - sha512 = "44470b1cc4e95a05b4198ac3458125651de9bf9548dcfbcab5850c519fea01a3e8c6161e4a66271af68d7f1a1b37456d2ae1e51ca890307e6185a531c8cbfe74"; + sha512 = "adca9015850c34ac1cc81dd441b2374bd83aef70914de377b3b9892e0be5cbccb52adfdc40c99db3906214adc5b33ae1885efa10ddf5f14ff958fff2b84bef4f"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/nn-NO/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/nn-NO/firefox-66.0.3.tar.bz2"; locale = "nn-NO"; arch = "linux-x86_64"; - sha512 = "5e49d30ed8fb64e367ea3f5b472baf0caff6c4b880d811cba5db969d21f8e5dd0d8ae4c01a151fd495eab1eef817b35b6a6e14441a860059b8f20453dbe86116"; + sha512 = "bd47c8a559ad3c005ac3463cb1e3f600d67cce0f7f1b6d07722e37c5bb3a47e99699c8ba75c1173b5da626619fd535572fd58f21f01b57e2c5e54c68ae8a4810"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/oc/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/oc/firefox-66.0.3.tar.bz2"; locale = "oc"; arch = "linux-x86_64"; - sha512 = "bd75cdbb1bcbe24347f35b748ec5d62da6bb20fb0f58f17a348f8bbe19e92ec3d08da3148d41f56e0b42a8e49e1c1b70b40770c737e626239b5b538bac6d42e0"; + sha512 = "b43b79ee7331a0b13e9ac839fbba57a12c9375346ec0f56c0e873f4e14c4d4eada3346179ee6a4aef801039e3e8f890df3c5ef293a11893aed4a6e0aa6251b01"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/or/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/or/firefox-66.0.3.tar.bz2"; locale = "or"; arch = "linux-x86_64"; - sha512 = "e88f706c60e93b205484411bde177fd9b1ea921372669b5665ecebd795d7abcef5d2caee16a8605bf7f3f23e8d0ebf8036c156097318e7f8d3a22517e1fdf017"; + sha512 = "306980db14e5c728257eafb79a095e1829130b2add9e7798d21f8cb1e0af80688466a809b945617588534de6f8fc0e9de8ad5b1eec3e2d2f1a41cbf580cb307f"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/pa-IN/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/pa-IN/firefox-66.0.3.tar.bz2"; locale = "pa-IN"; arch = "linux-x86_64"; - sha512 = "81af24b8ab70e373339ed4fd7116e1c4f2bc7a2ee14b46e2af29860add01ab492ec692ee2653de81856d04a465860e4cfda0af4928a237bc0c8469c4899136d5"; + sha512 = "d322060a28bae771316d36d0509e792babfc3d569f5fe9dd5c4e9a1a5da7391395475df6eea8a845932452016b2b8b69f5a745e53111c0cfc939022e73eea24c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/pl/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/pl/firefox-66.0.3.tar.bz2"; locale = "pl"; arch = "linux-x86_64"; - sha512 = "f7b6b21ab27b58ab1bdaaac012dc035e7cb1226f46da43fa3de37c7e4fac73f5303dac02332510eae7a8bcec0172769b620acfbaab8b383a64404bb294d6df66"; + sha512 = "6a2cfe2969ba9a778ac604cc80b7418f233e6f87c649f48e2c584e21de874f3b5f6a2eb99669d40e8d091b9f559c7aac41ad513eada9a62bacab420569d9281b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/pt-BR/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/pt-BR/firefox-66.0.3.tar.bz2"; locale = "pt-BR"; arch = "linux-x86_64"; - sha512 = "c17c0e7990b4192f10f7269a5c5c6c74cd6e6353b8649a0417c537197c5f853085948e9d0c50f08afbb16e242f3d8e9eaa1e9657bfb6c40075e5f4e640771d2f"; + sha512 = "5f1d94976c9f495f861881d61c65b51ce75509ee92b3c1b23ec7eeb7ca3c4280b1630e05f1b451a252713c988682e900663e98e4bd3656bfbce1574d9ecb0d6c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/pt-PT/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/pt-PT/firefox-66.0.3.tar.bz2"; locale = "pt-PT"; arch = "linux-x86_64"; - sha512 = "2a5db6053556c75d399bbad5ffbfe51505f6b25bcd73008d85f7dba66d89fdf56ee0ba2cfce6e2617b463cb8db087a1700507051322fdd2ea8f732be5bfadb9c"; + sha512 = "2ab8a70d502b1d92842dd579f49e055a9f4c8f5548154579508230219b44f3d0c045331948257ba167aaa2e9e02aa702130289d20c492c508b3bf97eea9eb224"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/rm/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/rm/firefox-66.0.3.tar.bz2"; locale = "rm"; arch = "linux-x86_64"; - sha512 = "94e95e037ea9f924363aa5b80298f67ecc678bb2e22d552c2207af1cdfdcd9ef5b85fa4a6b42ed08167a4b482859658ef6a946adb7462c2e2519c4685428bb90"; + sha512 = "9dec6e52b55f2a5e7fd511b4efa0a237fddb62545441b9af9f3d3cd50fdb577b8f1c8eba0461258b20074f23d37e5a88f1ae4a2b7e7ad598e2c6624ab509aef6"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/ro/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/ro/firefox-66.0.3.tar.bz2"; locale = "ro"; arch = "linux-x86_64"; - sha512 = "dc901a8b6ea913f976c915807bc4ab5fd4a756c98a78498ef52fa8577cb9e3a047e2a38240bf675d72644d975ac70d720f693db056e764218151431de572a37b"; + sha512 = "0e713fd4fc4c936124fb18c62e198790eaffe4b9e8956724f156f6445505cdc4b29bf463b4192d3868a56f7460f2574f3b9010d60cb2ea1b0bbb6a43c2156f5c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/ru/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/ru/firefox-66.0.3.tar.bz2"; locale = "ru"; arch = "linux-x86_64"; - sha512 = "dcaddf1072b19f714e9f50eb1d5e8e15bce98bf96bbbc13e7a4a82581e76339818766e389279fb33d212afa6cea947185de130a3eb72c0f6079e159ff2f18e9d"; + sha512 = "dbb1d1e62bbbb20adca252221c0a01dcf1f7f47eef94918076b57fc61062fbb5f936dbb6727c3c8b109b2d40983b716b389f78e091f1da1097f957f1451e00b3"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/si/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/si/firefox-66.0.3.tar.bz2"; locale = "si"; arch = "linux-x86_64"; - sha512 = "5544833432d6b41efdff96fcc8d2d322f5c158764320ae6345e9183b2d48817afd796685bb87998e5e6fd227b1753f503bedda5f6fdfa9dcad2083cc9b7df9fd"; + sha512 = "87c2e84635fdb44cf221f84f1fae161c3bb39c06c6c31b1b375f9aa1ee58d835d21fe2958dbd8916fd7dbb96bd8a707bba6fe7f15b83bb77b614d40828af0c5e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/sk/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/sk/firefox-66.0.3.tar.bz2"; locale = "sk"; arch = "linux-x86_64"; - sha512 = "d4702ea94482a276ecafaeb7e991ab850a432158009c95489b2b87a82402c92a84c33ce43b27ebf58367e20d63bc444e656f32cb957ad0ad03b1d9f793157052"; + sha512 = "7cc106554dbb7bf8d0f9dfabdd29d0c0d443b11e084f9db1b1d78e56fb5ae7c251c9d89bdfe02677d2d366c0c75f43b669cf6852abbec8dfc2d28c24f7f2c904"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/sl/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/sl/firefox-66.0.3.tar.bz2"; locale = "sl"; arch = "linux-x86_64"; - sha512 = "6103a4d340e45af988d17b93c4e8951a656ace095c9e13f5b0d6bcfd55d51e27f9f26614223d40dc19733aee34606a80a221838be86a1f91417a1c6f00a7771f"; + sha512 = "ba298a83e0c429ff6d8195c0b35c3c4c0dbe434f2dc9d19b47e218a6421261ea08b8a767343f120b2ecd2e061bb52fc9184391d994538304cee91727cff327a2"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/son/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/son/firefox-66.0.3.tar.bz2"; locale = "son"; arch = "linux-x86_64"; - sha512 = "ea04aee1c01d4d545ab4a370e4be4bd23b9f1a698bc660877a754f42995334446bbc08412bc9f8ec92a2a69a6fb8bd0caee40f622813d9ac18b43773c3111029"; + sha512 = "620e40c8484fee31620a2dd838c484cf971e2d677a21ead71f2043a2f81bd7e1ed2c70c6778922ad337a2fcc87724f919305b78e31ac9880139a68cd924d3bb3"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/sq/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/sq/firefox-66.0.3.tar.bz2"; locale = "sq"; arch = "linux-x86_64"; - sha512 = "6789f071e366dfb3300cf5057d690c89daafe969a8b8b4e5a3ddee6683caa1426e62901d2288da61b8e8c59ac19d9764521b82f2d0d4fbe375d4e4eecd5751fb"; + sha512 = "7b4653a69e11df2a3f0b4e40315fcaccdc8f7de179774a4f1709a85534520d53739b76e34e43da5dc7bff36d8a7db1388a0507242c70a351a14cef081261d15f"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/sr/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/sr/firefox-66.0.3.tar.bz2"; locale = "sr"; arch = "linux-x86_64"; - sha512 = "2d079c315d0c66d2e1530cf2d30a357d62f9bb6517abe7313911bcfb5c42ac95c47b3f12f654ea61d2fdb74d44ed0b090443f6ec66ec22cbd51c674084a8c4e1"; + sha512 = "5990ee7d8f68705501f81d48b687b5bff33f9be0912f4cf4c0a3ba23acaa22b3168420b5c4dd8d6dd7968f194b7280c9c34f8f24da9d10a80bc3b2a03e00f436"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/sv-SE/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/sv-SE/firefox-66.0.3.tar.bz2"; locale = "sv-SE"; arch = "linux-x86_64"; - sha512 = "c78e06de0834a84bf0cdd22a46e80901db3dec7d5d9e0dcb6ad850a040e8df6d3ba2c6e68f8a3da118dd9306c7af7f352d9b56e839cf74afd3730b2d8ddbd38b"; + sha512 = "ad9a81e3c384ef559d30ee537e3d8a966d5b1c118c3185de2e5062a29b1f2b88b9394e0a480cdba8bf02ad60984badfc0329f576c152837ebef47ddbc4c1ffb0"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/ta/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/ta/firefox-66.0.3.tar.bz2"; locale = "ta"; arch = "linux-x86_64"; - sha512 = "d996633ce2cfc9d5766840d5198900a341c8158f4bc00c32ef168ac57a1c1d89dc10e9ebfcb2a504273d1722ed319acb9d9aca8d30257a7a6a01361ae7acbc4a"; + sha512 = "ae78e4ddeeb2853ba83dc41c703f63e22d3bd2d58ad53118603f47ead33d656582ca579dee1b4eb4330bd97d605cb14c10e36889e8bb43ebf17d36a165612d3c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/te/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/te/firefox-66.0.3.tar.bz2"; locale = "te"; arch = "linux-x86_64"; - sha512 = "81b745184db9c550a135efd9b085e074a0dbbce24d81a16a39fb51166233d84da6c61b556e39b2ec68365ded627b31065d367c224721bf9e99338456aec07698"; + sha512 = "d57fbe1c4f6c8af40c8f55912ef0e1d2f38118737a2fdbec18dd71c97618342b9100d7f6fd884c72191c587f64b1d08f16959b7eb4b6c48d43f755f43cc35fa3"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/th/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/th/firefox-66.0.3.tar.bz2"; locale = "th"; arch = "linux-x86_64"; - sha512 = "a6ba250aa390005ce6830f14a4f7518062b3a98444da87e36f515fe29d3408b7efe9947a9d865a220b9f60ce57dadc12099c5742012981ca9c4d3fcc0ff4c877"; + sha512 = "6eca812c1277cf9859722c38cdd962dd1f9039617cffb48882bad55b4e8cbfc8138ff230ee491d19b042b3c10ee5499720ec494605bd3c266cd2aa29d9b44a70"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/tr/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/tr/firefox-66.0.3.tar.bz2"; locale = "tr"; arch = "linux-x86_64"; - sha512 = "55eef864538b70b8d6e7fc2e6af2c73853a48860dfdb1ac5e4471675ebd2d9f089793c1c6cee713654caaa253b059e9e01acb12aa0f6f4efedd09632d10315d6"; + sha512 = "1cf21e60a8212503d1511b3372e2f9948a6f8e66db8e53fc0d825a4e581afdac173b8518dced34303aca7eb126b9cbd4e0c23c4a1969ca1e68f63f8aede32275"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/uk/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/uk/firefox-66.0.3.tar.bz2"; locale = "uk"; arch = "linux-x86_64"; - sha512 = "2bf67d7523c9b07acbef099dee48902d19a5b542ffe9eb65283524ce2cbcf853b1e3e862fa2a7640160cf5dec8ad884a237f4bddf215304a458a4d9575af8137"; + sha512 = "c24711ce6ca420121fe88c90f610a08ec3230a0f323cf5fd80511c65f8188126f31b6e40b1a4b9f9465c7ab72b866879528080018163dcba3769e1f958580257"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/ur/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/ur/firefox-66.0.3.tar.bz2"; locale = "ur"; arch = "linux-x86_64"; - sha512 = "4127578edad2690915aae81fac45cbc90694b68d593562f4c55a1545cd1b8cdcf3eda18fbfb2dc9fb3e0dd3119fad09db68d65e6fdc09d96aa65440750fcf380"; + sha512 = "358f004569d6a61d57af6305e6b02d5e30d699002e524bb5b73d72ec42c427c63a8f0a5b1fcb11136140b4ede6dc2d705553d5dbafad9bada1a9b1172b4e9af4"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/uz/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/uz/firefox-66.0.3.tar.bz2"; locale = "uz"; arch = "linux-x86_64"; - sha512 = "7b0257e2bf2edf26afaf6bff2a06f9fc81bbf5397c8823a65ee63e54cd32bd2329ddd858a5e1374df64bd188d3d3392434d83e05d0fcb4a71d0a73bb6da224dc"; + sha512 = "e0fceb8f52939cbb37df6d5fcbb95d1d50a22f1910c653778381e6c1fec14a3014ec01119e06a958768677a9ad54765d6c4387c9edd9c6ac57d2c37334bf6c2b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/vi/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/vi/firefox-66.0.3.tar.bz2"; locale = "vi"; arch = "linux-x86_64"; - sha512 = "071e162e6919168fa4858aa98d68a2c6ff8ceeb10e5968a2dff55040613ecd7e7290f3acc929f8f2faf3fa4b97cdfbe4fd8b464f7df0c3d1d530af5a9ca8fd71"; + sha512 = "94c0f9c8df20be53fd6a34388c9be4f3984c437ab270dbc18318e272c234b791911e099dedf9bc6f837ff290e3a2e0a8946078ca830ec24a052044093be2e8b6"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/xh/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/xh/firefox-66.0.3.tar.bz2"; locale = "xh"; arch = "linux-x86_64"; - sha512 = "7e12d3e453216ce6ef2dd56980a130c52e273b23543a3df0b5fb11c69d1366533eb4875814e5084682c54f86d2cb8a304b95b08a66c8595c8dada69d4e97af71"; + sha512 = "891dd4fb85d28cffe312c6310c9a6cb2a70f3ccc9c07d510553790cca51068bbe07e406ff3a7b33c690e26036a7676ebfef68af2819db3ef6e88ffd0557fc8e0"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/zh-CN/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/zh-CN/firefox-66.0.3.tar.bz2"; locale = "zh-CN"; arch = "linux-x86_64"; - sha512 = "1b98d214d15d0163aa91316fc6f507bda61169701a8accac3aa79dc8b6d7260d58813d87ce25d7083f6fc2d2a16519464267feaa3981e2e556298d3cc3f1abf0"; + sha512 = "188339263557e356ba24b4a78f715e36c2b5a43af3a9e229deebf9e84e01e3673ca5aa73a271db130455be1f0047591c54745968dbeeea0ce071cb38ffe73851"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-x86_64/zh-TW/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-x86_64/zh-TW/firefox-66.0.3.tar.bz2"; locale = "zh-TW"; arch = "linux-x86_64"; - sha512 = "f466df89dcc7a4b72ef7b41800961828012fe913b2eecdf68f442b492109467ee69a95738db2afc1ff39fac0b6376598e8ae5b050aeddd6fe3d40d0dc8d424b6"; + sha512 = "52a39dfc7caa53ce70bda4acb1e2c472981df6e457baa143ea3a1a5f6e77f8de1d64663ac7f7a21c56032cf6e9927d191b30a1c615b19a29ca2142e46d736672"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/ach/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/ach/firefox-66.0.3.tar.bz2"; locale = "ach"; arch = "linux-i686"; - sha512 = "6aafc9db497700c6c91087e2477b707a162447199f26c87a4921b278d81828e868214501e8b89deb387c097d5768faa18eab83076ed84aa59799b24f62a3663a"; + sha512 = "134b66544e203956007ee47b649ec61adafaadb0e03b0a62c83f16f4efc984ad9c765ba92a46f53f78589f09e224bba731c3322041e2b6d3f46ae6919e66fbfd"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/af/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/af/firefox-66.0.3.tar.bz2"; locale = "af"; arch = "linux-i686"; - sha512 = "5cfe6413a70265360661dce8555941703feaf9045604313361553769b4738e3febf21a79c8be66e24272fef72b41dbf0c3a2e8e76e5b992789250d4b04fda45e"; + sha512 = "71fc9af0dbccb2eace1de118f528430fb5ef26d6ace6ed0f8bfee065c4a5b3049097847f4785bca543f3a77abc64f8dbcb0311069c6120dadf653ab98848af52"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/an/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/an/firefox-66.0.3.tar.bz2"; locale = "an"; arch = "linux-i686"; - sha512 = "cdd9509e49d563ed3d26f58fe957375357fcee36fca7526a20dbd09e9f4f2867c81508cb637cb8d35572bd730b13ed34fceb0af4aefcff631e632bb78a6713f3"; + sha512 = "c7569fc44cb6db5c5f9b2242faadcfad3d7d957d452964ef806547b03cab10776177f05b0a3a308aef09723e7a2c77529fa0ca746a5d72f3a554c8b49ff4e0df"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/ar/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/ar/firefox-66.0.3.tar.bz2"; locale = "ar"; arch = "linux-i686"; - sha512 = "906d0020510eb911d7b2709c55cca0e4a69638c685bda7e7b406fb41f385b97ed95ee97515693d72f722a619d13583d227264d0819ef973f01e67427a269225f"; + sha512 = "d5e5f0be178bf719e465f8b62650b65f731db4b101075ac69b59b4df75e6eb21a3d4b848dc977aef8adff51e39ecdbb67530f575c9e0311ce583e9c072a0868c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/as/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/as/firefox-66.0.3.tar.bz2"; locale = "as"; arch = "linux-i686"; - sha512 = "2fce0d7c990c7e2039a601ec5b5feafa7da368e24f363489c1cdae831bf36a11e2bf967ec4f74512f6ca06095ee3a59982b0a5ea3bd003bba9c3f4c763b9771e"; + sha512 = "e7667f0705766c544909f512d7ca801ec8ab3c0428f0c5be01dee574ebb4b7ddda15b8a0111a35bb75729fb6f12669ef73cb0dc3479faf54685aa8d644fdc9b4"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/ast/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/ast/firefox-66.0.3.tar.bz2"; locale = "ast"; arch = "linux-i686"; - sha512 = "872e0b0962b7d6f86663c0cdf5fed6f4927f4a24bfe1848debb605e7c19bc574d98bdcfb74a2e5a4362c27ed1b9372881fc1418c742e4cfa75d15d838cad6f87"; + sha512 = "b64eb2c9194cc9a62c42efc89086ce3e0dcadf2b8728bbedec31f4f258aa9fb5362a555d4379f70f53d4d14ee1f0574739b901fe510ffb47c8a65cc314447dec"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/az/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/az/firefox-66.0.3.tar.bz2"; locale = "az"; arch = "linux-i686"; - sha512 = "dd92dcd6f0c32d5487525cd88832fb567ef0e8fda5cf7f401399992243146bc2690881839d5752ebafb4e7e099c6594c71ef99d5509d94753256507216a2532a"; + sha512 = "8d7674eca828f2cfe22fc954222c43298ee790b00560735ee571c9edc98a719d9c684539c8f2d1f47ff18371b7860de8a7ba33f9154a534ca7918337bcf3dd11"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/be/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/be/firefox-66.0.3.tar.bz2"; locale = "be"; arch = "linux-i686"; - sha512 = "1eda2b0945a4d8e70c0e61b187abce6873b9a8a578c089cb66b2728bfc71b90aab71b57599417ce775b4d5fa1c0fd908fa4b9b3183a3aa570da95d4fd726ba84"; + sha512 = "5951d05b4130403436b8667b5286569d341e3499f1f2bffe959ef4eff384b79ead9b276074836c4fee41ed7fb3f36f17efe1bf552f7507cf19b03505d3893353"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/bg/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/bg/firefox-66.0.3.tar.bz2"; locale = "bg"; arch = "linux-i686"; - sha512 = "597dc8972c670f67f34ac23ffb57506b896efc9436d36270dbcdab484dcacab174aba53671f5462ffc7b54b9718c0280a66734e789edeb7710cd7c2b9fd602a8"; + sha512 = "8176952179a38572bed2624819e9bfbe271e94c6b60277e19d301e902c21934d1c787acd3b0003027faa0f3b8907b01e52731c38ae80ffffd0deedff86412125"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/bn-BD/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/bn-BD/firefox-66.0.3.tar.bz2"; locale = "bn-BD"; arch = "linux-i686"; - sha512 = "79989196e4647c035d4af9f24dc9edfceebf9d90afb1efe894e0a54e940ffcf32e3746b9e07b486bd89a11ef8f35cfaf2e61992071352a561a535bb058c0396b"; + sha512 = "98da4add6c85ef6b3f19e7ae1b7b1be340c0d78ce17fd409c919926d75fd06f54607272d0404a4700e482f94cd6ad72937cbe82c7fbc0ef41a862ec885cf9987"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/bn-IN/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/bn-IN/firefox-66.0.3.tar.bz2"; locale = "bn-IN"; arch = "linux-i686"; - sha512 = "25b3d138308e0667d62e41a8384619fea548dfe441cec761c82e238c1f0467300d6abc89d265f22f1d9699ffa2165bbb7dceab76169a78acaa4bb1c46396182e"; + sha512 = "3f182c05b584c2d09fef0981340c71e28ad10c41c031aca0dde1f2d217522b1d3e7a3e785c6fa634952bd8a8ad6b401d502ae07065e838a3d0cc59e13d313364"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/br/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/br/firefox-66.0.3.tar.bz2"; locale = "br"; arch = "linux-i686"; - sha512 = "8f18a08ed64cf071462b2eb65e0965f4b3825857e867da2898f959fbe84ea55cf19fbed289a4c4e739e5c4fc5392f1f496feb6b4f383e86a753f5041dfa333ee"; + sha512 = "ea9e175c2c06a051e1d01bb2e1d61f1d0f5e75fb8956516f6a4a1ac52c55e5eeed6405771598ae36c69087c7275d5aea3325ae44b477639ea8423a3aaa4ffe2c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/bs/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/bs/firefox-66.0.3.tar.bz2"; locale = "bs"; arch = "linux-i686"; - sha512 = "2cd2a33ff71b4a471d694912f8c102b53327f1bdf005316e16d32ef17a510784cfeac972f9a854304b07d6c9d19459b19bf3f7e47caae2e58a635fa555115039"; + sha512 = "88344099457ad847be785ccacd930f34ad5e08b0a0594c6719865a0d1ec5a01c5e5f5095dc01ef399aee19494d5108a86e8bcabda642ea966912466863a38715"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/ca/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/ca/firefox-66.0.3.tar.bz2"; locale = "ca"; arch = "linux-i686"; - sha512 = "78649a90b8e890adb271fc57328669afb49f70e9f323a2849a2071b83125f3f1f40e13beb353336a9c5aebd930979889c719075b49ce4099715951164d979926"; + sha512 = "e9f0aeb2a3ee8cd118e0afc59909df7ea4f87b737a3786b11841d2e85ee3a61747c525cb2c1a707d480238fc00c128062c2bcbdce6c0249ad1404e06d9d7f1e4"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/cak/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/cak/firefox-66.0.3.tar.bz2"; locale = "cak"; arch = "linux-i686"; - sha512 = "8e66b6ed5b20efda281350535f2b08892763c2dcb62ba4fc764b598606a36b4a6f3d5960919a8f2967f736add11132252449efc4bef827653534b45566ff69ce"; + sha512 = "21f48505956ac21cb74140f39923364e578c7eedf3fa180a5114c400431476f489bbe14aaebff9003ed7a958e8970fc9c713d52fd3f4388f21152c570ec082b6"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/cs/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/cs/firefox-66.0.3.tar.bz2"; locale = "cs"; arch = "linux-i686"; - sha512 = "5e81414b8411fda775b35704de90d006be40cffbb51b495171b9f69896b9d486e4438bcc2bd2f3775ab5f998b7b41599f44f92ee150ddbbb2a84f64058657938"; + sha512 = "8b89cd378f4705e96547fdaa0693b359c617fcd0d76931d279ac176cace79d12ea4f7644b82e4835575d78b564ec6c00b667f1e98204886e3a2e990756a97de9"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/cy/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/cy/firefox-66.0.3.tar.bz2"; locale = "cy"; arch = "linux-i686"; - sha512 = "8f4c5db5c760e16ef258bf2da401e51c2cf3d75808d83eb4b7adfaea4c2b69bfca0cd92c9cf69d7e4de188a2c43574d37c49b3c641dd9c8edb7bb6aefd2e4755"; + sha512 = "484808fdbaa1ada47b5a05be161c67202c8d82bbd3c8eebff37aed11d5e763679a2236ea74f08286c70602d8a347698f2bbcdc105c3fb9e0cf835600dfd28a26"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/da/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/da/firefox-66.0.3.tar.bz2"; locale = "da"; arch = "linux-i686"; - sha512 = "4aceadbf8cd2ced63f15aed369d98f4234faef18560e767aab1026c876fd3d6a069cbba49139eea60a78e0e42c063451918ce4090e850fc5528a93f527067335"; + sha512 = "207e10cafb402f2b1de2f2141822e68951f06a30e8ef4fbbc337fc103d826f0af15f5b8790c618dd423e52436c6a07bd9db4759c10297b51e1cd1a3ba3045e96"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/de/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/de/firefox-66.0.3.tar.bz2"; locale = "de"; arch = "linux-i686"; - sha512 = "327c8b22f3ff3c11061b5ee58d1ea2311743e53d804bcff6e66615eeae3aada694c8adbba58f3521b6bcd8f54513bcff1d50ac952ffe5f1ff3f22b52264bdb68"; + sha512 = "09550ad63b619376708e51b967fcdf0c0a9b0921ee2444cf10b08e8b30264ce45130502fb29e8a70c887f3465aed3d737d9a45b134f16a181f3ae094afd5c717"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/dsb/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/dsb/firefox-66.0.3.tar.bz2"; locale = "dsb"; arch = "linux-i686"; - sha512 = "5a964d9c25326d2a97730723be2a999bcd8a1bc91b2d0d7ebb4aee9bd773fe93cdfdd94c70cb2f9c0ef10f84474c28726c21c23e19a1fb9b55e6db5c2a74b6b9"; + sha512 = "6ab4b87adb70b3c5f015e4f96b5e932ceca421f552f30acfd9e00d171b428529e8280937eb5b89086eb8389a9ded86b61f45dd2362767b49fb25a11d9b9513ff"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/el/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/el/firefox-66.0.3.tar.bz2"; locale = "el"; arch = "linux-i686"; - sha512 = "ed1eceba7d5bae11af3a916902a55c66ed97ca6da9f1a6421e4be76c65b25111e2ca7c979c55f920d5fa30146016980fde273c643a5ff4996ed32b82f0b9087e"; + sha512 = "e80dc8fdc61f1b19260c1eaa0717375402dfeba3b00d6a8e60b4074d260239405958b34902e954063d2877dd026e9b19d74a6e6cacb60e42ee5940ebd1077e60"; + } + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/en-CA/firefox-66.0.3.tar.bz2"; + locale = "en-CA"; + arch = "linux-i686"; + sha512 = "e832f717ee292430ff5335e1be7cfd4081fba289be7e62a153282bb5fa5f4d37673f994160e436297f542ae40845ff09843632b66b37af2ad392d05c0104088e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/en-GB/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/en-GB/firefox-66.0.3.tar.bz2"; locale = "en-GB"; arch = "linux-i686"; - sha512 = "019be53a2e1bafbc4ea77730545c40be314d7e4a370e5cadaffd735a2dcb3dbca14e4d23b88dd2e34aa4518a57aae1b37ca561e8e62d7acd3417227f0d18d344"; + sha512 = "aae266e5e46a33da09d8b656ea7d0112ae4c612216bbf4bdb5db0d0e0b231c7e83ffdc085e34ca996958c0d56c2c03f42988efa783644c1ba249c867cf1aa48b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/en-US/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/en-US/firefox-66.0.3.tar.bz2"; locale = "en-US"; arch = "linux-i686"; - sha512 = "ee88e6d55855a9e2fccf2a362f26177393447dd1210eb8f78992a7760bd0e8245267c4143eb5309a7ac5826b345b8c9637bcc504bb7214d1f7897db70e9c7697"; + sha512 = "55ec374310abaed9cff7ff17cb4b4848a2ba8b7803846f6a1aefebc14ad8e3c62ffc066bd6c44d9bb208e82d833738df9d5d0a0e19d90a64f4ba1889994637c4"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/en-ZA/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/en-ZA/firefox-66.0.3.tar.bz2"; locale = "en-ZA"; arch = "linux-i686"; - sha512 = "877cb9d50e95a8b0789660d871f263497279ea229b11218bc9398facb23d78200db4ad19e0030ca44cf36ae3913f8a119abddc3278e85a4c89d298c59a3443fb"; + sha512 = "1ca7a97219fc9aeb790046adf4545e20a3aa3a382a74ad4621e0df89584984ecec212492016d680b512dae0341130cc4618f61cfaba86337ba3e0d3deebdff88"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/eo/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/eo/firefox-66.0.3.tar.bz2"; locale = "eo"; arch = "linux-i686"; - sha512 = "5c78af15b977019cf7402e88b823ab2488b08ba9e8dd27a55caac7570392e78afd8aa972f0f95f21dfb1239936ba23272ed5b84cf24578cda5e7bb1048ce7d67"; + sha512 = "1ae8bf9caf03ffaea1a6f6a071b1d26818e39b0b4e33e75ad4ebca7a2f0b20b8c0450a1f24466edd59b211a1d7f2667c447fb19297e42f4d32e6d676b634696d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/es-AR/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/es-AR/firefox-66.0.3.tar.bz2"; locale = "es-AR"; arch = "linux-i686"; - sha512 = "8328fef71e94c07c37491a331ac362d142d44e93404c0a3ea883426c8f11ebf6f5bf6584237b7fa75439c7312bd1f33a2ddcfcb8882c3cf3c526abfae48a620e"; + sha512 = "0c48e15544335e4d061db1b12e82ef7eaecdd542391c0e5fed91fb74755cfaf6766bdad02b4f70c1c7522eb1cebf684b400db92bc632aae2012a9f9627e04552"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/es-CL/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/es-CL/firefox-66.0.3.tar.bz2"; locale = "es-CL"; arch = "linux-i686"; - sha512 = "ef4e96123acde3a3ed75d8d93868894f859349613b556d44056009d55a3794e78824928eb04afe8746e291fb3d443b7a1b6f63376ebeb65102f7e03067480b86"; + sha512 = "c38c5dd28313333849cd00a8f35a91fb261e3cabc8edc71bb74b3b0152b9375ae915a6c26a7ac2334db9805a6630a394ae14f53e3de048f9808ce07cbb14816e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/es-ES/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/es-ES/firefox-66.0.3.tar.bz2"; locale = "es-ES"; arch = "linux-i686"; - sha512 = "934e92d37b920ccb715a411509905c150501eb14d11aefd084f2639afb8ee1a4ce3e869d682ec9f9db4b70a795875f09ca3d7d997f0e621ef99cffeeb1675f04"; + sha512 = "b7019e49956fb4038f445e7425e99cd19ee23d12ea32b53d664898acc3c9f23e03168e1d35fd731cf88d3ed98ba0a487c288f457a79721df0c49f0a66f5d32cb"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/es-MX/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/es-MX/firefox-66.0.3.tar.bz2"; locale = "es-MX"; arch = "linux-i686"; - sha512 = "57e7bacb006bd079554670fc216ab2c1912a252b7966b32cc25a7d6735f7b0928ae0911b666c2810c63031d57513a4ff800cf92906a95868aa32608eb927e2f6"; + sha512 = "ee4abe8b333f3de4b70d0ecc9d76c040d4b268b0c797eca6eb0eee89cb3950310b73bc0d07117aadbb386c7e3957d0aad97089cd6d352c385a5849f426bacfd5"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/et/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/et/firefox-66.0.3.tar.bz2"; locale = "et"; arch = "linux-i686"; - sha512 = "b357f29c0f77e7ed4ac764f7feab6588cf322a1807210052359402e5d1092d3d8cf515e04beac86d32a6ddac43b4be8b92d88a1437f6899b4007d2c9faeb7fc2"; + sha512 = "238c68efd328ec4fbd679a573da18cd48ac3db6553e31ad49f3d0a08392b6fbfe907d9b4b996764d1f346fee66c9ce660af4fc8c2dd8fb87f8734c688b9aeb74"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/eu/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/eu/firefox-66.0.3.tar.bz2"; locale = "eu"; arch = "linux-i686"; - sha512 = "61b4a7b767e62b1a1b4eee4cb024e869969b5623de658ca2a3762c271a6519fb4869c9398e7a3cbb987f01799961021fff6f8634b78dc62770ca1f345e56d061"; + sha512 = "30e5ba2be30b4db009bb88461b7425efe3a7c1f8b292c3a47ddcd6d82f85e69a2b283c54c50905be4b5d4941f788b4a2ff1878430d7f6918a13080c6e8d2116f"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/fa/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/fa/firefox-66.0.3.tar.bz2"; locale = "fa"; arch = "linux-i686"; - sha512 = "4eec6e7231fa548c0a24b8904b55311058dfc89b2ffb87142859b994aa0a31a07c48107495cfa66bb4a65094328f6bbd7f33e0ca33632457f620ecd90678552d"; + sha512 = "a00b712dd49e0ee6bac17f67619c92ccc6774de7e9e078f5d95a38ad0bc6b8a16405cced536d111043fc0cffdaab420d5d12694f452a8839fc750b8a06b38622"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/ff/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/ff/firefox-66.0.3.tar.bz2"; locale = "ff"; arch = "linux-i686"; - sha512 = "0a17ac2aa0a855c97b613741d7933dffc4569da9fef9f753a4e404847e683cf10a4444ff4cee5b5d1f86ef069525d0f2635433e8249ef029bfa2c247ed605386"; + sha512 = "008a099bf92ee2e1911717e470de41b563d1db63ab165df70140a287e4accba7ecbfed08e9f155696eca24d82b5e3710a51deae00b9cb3ebe2c154cec52b55bf"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/fi/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/fi/firefox-66.0.3.tar.bz2"; locale = "fi"; arch = "linux-i686"; - sha512 = "32526703d86dcd74739f419518974ba7f43083a8b3f971d0dd7446caf787c5ed4be82710e3bd53f2d1e9e5dcb67f46735bb55f60ec7d9c49c62cfc2857866fc2"; + sha512 = "7107756f54bb5f388ddb88f3bfaf0f24302f66e47864a68f66596960f7d2d344aa10a8af674a681ec1cec7af4d554365cfab18a9bb7c341cc953d4bb7f0385c6"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/fr/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/fr/firefox-66.0.3.tar.bz2"; locale = "fr"; arch = "linux-i686"; - sha512 = "b7e00691c8a1a5f0c1a6312a79eb40ae17e455e156f66da2f4e43beaad5ec35d770b783aba83c500db1fa885b1038095effe69f936e17d69bd320f41b71d4b2f"; + sha512 = "b5124721aef078386a4c9dac9dda7fc7cbbb7aa35f4797e6689c74db39d18b23eb92d87b29a2e5ba718944c7bcb80cd26f33248091a0f99be854566f68377b7d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/fy-NL/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/fy-NL/firefox-66.0.3.tar.bz2"; locale = "fy-NL"; arch = "linux-i686"; - sha512 = "d8d70ed1d04686cabc9862c5cad06dffa6fa8b975a2a61f0154a6c1c6b182a173abe4563b727de30f414a4d04311744917a82158665883697d26589b29a25263"; + sha512 = "9cd219aaffda54d2b6807b7825557d91651861a3fb2d99c33623f04450d799d029311a7cbeca3062b372e59c50f0b0ba169a38a0a87c676b57ebb3b6b70c11fe"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/ga-IE/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/ga-IE/firefox-66.0.3.tar.bz2"; locale = "ga-IE"; arch = "linux-i686"; - sha512 = "352620fb58ed1fc024e8633e70ce3a705fa518cb8f600b3bbcf1c50c440812ab8f04608bb5a3582f96dfb2a19b0d52debe6c4947dff2f06f426710d8f927977c"; + sha512 = "6044ace615e3133677cdf53c6fbc1b4b9f02d57363fd6f9b802a4501da92a604a539689dec774339b4590f17f3e05a28dcd1ae1c306d76fe75b4ebf18a0310f7"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/gd/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/gd/firefox-66.0.3.tar.bz2"; locale = "gd"; arch = "linux-i686"; - sha512 = "90923e5ecaa85d21d7d6de57c79a3f35b329faa14a74e8b210cc2024f1d48f3aa5c4930c63e8e1688778bdbe998f06c72b5bdce8287ffd7ae05fe62845ba2bfd"; + sha512 = "eb8bec22155e74d2e8da88741ffe596174000ab92859d7f06ae00c6280a0f564c1cc03d06312ef1960d182b61543c88ad5fefac977cac2456a2002bd22a13eab"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/gl/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/gl/firefox-66.0.3.tar.bz2"; locale = "gl"; arch = "linux-i686"; - sha512 = "339f8ebd6d714945e50be0d18be3af010e2f00924a84df2fe5641b06842278550bc76b01474ad2b2a0feda734f6f2ac9254c008c3a6f942714c684504bdd47b9"; + sha512 = "e98597c41cc48fce17c0698afcd694bcb772d62671de6bba4db8afff8c02ae2c11627a4b6a17f719bf86f5425783e3c7ef94124c49732447e356b67f35b97b37"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/gn/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/gn/firefox-66.0.3.tar.bz2"; locale = "gn"; arch = "linux-i686"; - sha512 = "35de07bd227904bf0372555d81ead164d993410d963e0e733f536ec445112652c04d3bce8f910d0b3daa3d9ef2ff956d24ed680916a5e86c3e9a6f9366d0dda9"; + sha512 = "7f89a5cceafca50806a61ef748319fb2897ba71993b99a8e0fa951a6e1d0f04af4c75d4cd18a2061f6a56fb66fde391382fb4b11e3509f9ab227c48ddcc53fd9"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/gu-IN/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/gu-IN/firefox-66.0.3.tar.bz2"; locale = "gu-IN"; arch = "linux-i686"; - sha512 = "20b1b40d84264f0e98ab91a4e5943da078b7c37816b24443f8936933d779453d640b26ae04eca1b24b3a68134a29e7853bbd544c4cd725b934660574c6381284"; + sha512 = "4a50e5397349d68a1d3c9d1595873b16d4bfb8c28bc588bccba4d9f7a804374fb2094cac8584ee62cc415d4cfb22e1af42820ce0d3a8642d985910785888900c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/he/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/he/firefox-66.0.3.tar.bz2"; locale = "he"; arch = "linux-i686"; - sha512 = "f8652f2cdc19827a7f2a92e6ec251c5f0bd8448d3dfaa3bd930a4ba116dbdcdd7f2a9c083c5fa93ba2a24395147782146c5443221c6183622248e54d0687f287"; + sha512 = "98cdc96eed8b3d56a4b23ea7b5ef044d385b01635c4da76a36284e69f1feb2426c370af907e81121a4ad9baeb7899f98ac76ad477a6e74f1fcb6333a35fc635d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/hi-IN/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/hi-IN/firefox-66.0.3.tar.bz2"; locale = "hi-IN"; arch = "linux-i686"; - sha512 = "7051302d9315dc30fc8f6ebebaa587b49d17823aae7a542133d2f82a1d5a18e3062ff02880f347518e5f88a0de913568d9f6b4ab72bf7dd20cff5812cea65ebe"; + sha512 = "96d4388edb544b9dfaae47ffc87d426f9a3e13a9eddcbf6d83e60f8d0bd7b9bc0565c2ff8c610881c4853a7739d3aff9d64ccad8dddc27d2ea6588a077441d6d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/hr/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/hr/firefox-66.0.3.tar.bz2"; locale = "hr"; arch = "linux-i686"; - sha512 = "acc1297166057cdac0015758d6556bc870481d96951e7a14704792e39010938a6c0bafab2cb28e9a23bf24695813e8dc1a80512c1c5fc75bfb8a0d29f7091c93"; + sha512 = "4f1e2112d4771ac198a6739ebbd4738e8977a84b740e8737569afec5570d36aaebcdfde4da54e818c2782c6f31d785c84114be9e33a6d17db480ef5c9955c62c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/hsb/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/hsb/firefox-66.0.3.tar.bz2"; locale = "hsb"; arch = "linux-i686"; - sha512 = "2ec761ce5eaa14cf5fa114524f70b93998d76971de7b8d001e656cd6331c32252ef3ae78f54906f5dd416896b2cf8b6f5afcb5e3a02d017d9c8a33835655718e"; + sha512 = "27e284f211b9f3f76fb7bca2db5ae92ba336df2df838b4566ad7b7a538229911717f8a7d3321264d5034a7cbb57df4283b13742a2aa45b7357efce8365551640"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/hu/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/hu/firefox-66.0.3.tar.bz2"; locale = "hu"; arch = "linux-i686"; - sha512 = "160d7307aeb834f9ac15ad77c0cced4cf7abb855264e10d8a62eea1b1ef85aa3b0a00fa9221052bf4a3df010e54fa198d7033d8450d59212ff36c936d99a1469"; + sha512 = "08dced3a7979fa7692e9bf4d5070925fe06ec7af1b261d56f36e55a068bbc994e881540eb7830abd418c44895edde460fb43beea84753e5d96ee35f224ba60ec"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/hy-AM/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/hy-AM/firefox-66.0.3.tar.bz2"; locale = "hy-AM"; arch = "linux-i686"; - sha512 = "09950c9536fa0bdbad207b84ccc83088b23a7f2f960d094ea0615de566ac1bd9cf55acbe01c0f574114dd9246bc74e582e67706ec0c34a2c9ed6dea3d30bae17"; + sha512 = "6ad25162a877f821ea0a4aa37ff92e89c45b1dcca03324d79950aac451afe8d3acdd86f0eba20f9bbd058ab260b4d64e6ceb6e5d1698893d05611c6759274e14"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/ia/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/ia/firefox-66.0.3.tar.bz2"; locale = "ia"; arch = "linux-i686"; - sha512 = "e6c1b00971dce7387e183a8328234ba65722c69c7d48e328223eb7e490af3706298d43c11844505ba2ea5aaf21a1fcf7b3cc8ec8946862fe7aed8128e6c6d5cb"; + sha512 = "fbaf8495d07d270bb1c80afbe47820193e3aaa52f396b281fc0a3a468e987d1d24abfcf9ba02aff58d9719cb97d96f5a4b0ad016acd79aa8097e88b737bb3179"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/id/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/id/firefox-66.0.3.tar.bz2"; locale = "id"; arch = "linux-i686"; - sha512 = "85506ef07ecdd1d466fbb261d46bca8cc4ac8b3a707f27db9083dfe1996e5214cc0e78080f33c2b3198e27e044c6a6d13717d69b43c3ad98a1c43f50b12bb69b"; + sha512 = "8cbda23ddfb9a62c3e19f24ff036c0f569c0de3c9598932ee8c63f89252f1c0f71d61fecbd270164952236a6a9a86724d1ab86eff644a31e6c0c46fe94f4b11e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/is/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/is/firefox-66.0.3.tar.bz2"; locale = "is"; arch = "linux-i686"; - sha512 = "973b863ef94121836f472f5450f8a1a2d3329306f289b8ba09ff811b336196a157cfc966fdffecd54e78f4f48508ca1f8284f0c2d3804579ef82be4e1adda48d"; + sha512 = "302951a92d245bb25600cf7a791087398aca5e053ed50ed3008c5da9f24cc049c34be0bde5cc4d8d54a272fe5c85b8c29d067563c33c7a03b2466bebf805233c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/it/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/it/firefox-66.0.3.tar.bz2"; locale = "it"; arch = "linux-i686"; - sha512 = "fbb8e899b2aac3f4c64ccde0fffa11f8609ca3b7ea8bc05e062d207b46234b2414746822e0fad8d24fe8ae43e3bd8ebf2fc5d26a02365012a95a4070de002274"; + sha512 = "4eb888408e72385ea976b2b6f6fec3304cac26780724d570e715625a5a1c04c38c34349256ee8011a643301c3f1075a9cac407c3e3f44a18de30b555a34c8ed1"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/ja/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/ja/firefox-66.0.3.tar.bz2"; locale = "ja"; arch = "linux-i686"; - sha512 = "c6585b28baaeffcdedeb1167aae4d20874755e970f53aafb351a31acd3933e6b805cde1e22ce0c2ade58984ad940a5d8b6857116f11ea6070bfa88c8232bbae8"; + sha512 = "87d0c8b7d8ec1cdc085d911b8af9a29ecafd4dbc0717e333ecc59af1bfd245cde5f76a42686d58ab7b688bad33e76e1771c47746a1cff5fc8351cda7bfc1819d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/ka/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/ka/firefox-66.0.3.tar.bz2"; locale = "ka"; arch = "linux-i686"; - sha512 = "136f49750c33d72e7aee3fd5733730f1b78d6656fd45b2aa2299d8e9d01adf13f9debe1d08d8fb9149107e96ce5f5fefce81b5d9a2d9a1e1896cb8df3c588829"; + sha512 = "63f1e3b1160d7baad2522a833dc817343fe208c347941c73eb67764a337894edb67c81eb1e9751475e0e36d4654f3cc2f17e15f1d2a1fe0d2a0a166fb7db354b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/kab/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/kab/firefox-66.0.3.tar.bz2"; locale = "kab"; arch = "linux-i686"; - sha512 = "2a0fd4952c493a4c22e76135efbf155962fb51444328726f29660cb97586ba76c1903d28c7baed9bb4815e57747b5a009649e179971b3c7aafd19fb96be23c75"; + sha512 = "bda5d6e27e1e4346b0fefeca8242d1d5300116242c2387fcd1c0a38bdd413e3b8fdb9bee91778be58988eacd1dcb7273a152e8ab43b624cccf5f0c92115f4c4f"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/kk/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/kk/firefox-66.0.3.tar.bz2"; locale = "kk"; arch = "linux-i686"; - sha512 = "0cad124b5e3d995124057fe0d818121be4f7f186c7cd4ada4d13b89ca5d505a8830525ffcda9a27a0f5f2241fb65b44b8433d95221220740ab8643f374c938ad"; + sha512 = "ccdc808818e5f9e27260125c8d8015730593b64afab1905c1e17e047263215b3163049186e21f511752aa5adcae085311d7d4bcda657b92d3ccf640f2b210975"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/km/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/km/firefox-66.0.3.tar.bz2"; locale = "km"; arch = "linux-i686"; - sha512 = "06a58d8d54bf641e3ddc7fdb3417f8a5a2aaa16e8c11f961321c939e803249edb7dd3e08027a4b20ea840298b4a12da20c2771364d2b9caaba496d1eba863e15"; + sha512 = "8d384412ae5af3b73f175c27606e44e5c030f9438aea914b6ff2509fd42bdfe54469a5d5a6e0bb6363b74664bb185e24e2187fdf4013f6d5f7c49ac2a75236dd"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/kn/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/kn/firefox-66.0.3.tar.bz2"; locale = "kn"; arch = "linux-i686"; - sha512 = "92a9d9e4fc65472200f408238ade4ed23321d4e25b0c7eff9096f23f76e480cea0031159b53e509cc6d3d6b2c0c0c8396742c81f2fc3e9825c1d5e45a35a12f3"; + sha512 = "9d20cdb789ff63e6f25862d7d4342d170c47979353b605bf7fff1d58dc0244f7f9d13fcd1020a9f0934d72aea2b5571a08b2781cc0efd8bdbc923b75e1c30600"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/ko/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/ko/firefox-66.0.3.tar.bz2"; locale = "ko"; arch = "linux-i686"; - sha512 = "dd9d7674f6261a94cb00fb823a02cec12758476c1ca1cf6a973eae78dbc1c94ebfcc14155c035966781398e1d3262e000da4291e90ec434756c8c3ba0de7b7b4"; + sha512 = "a1bd8b36e95342539b0ec4d8c624ba3a38a9b39b683f74d474a1c5420e3693aed3660122d1593dae95efd9fc1d938281728920b64b06d353d029926eda901d3e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/lij/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/lij/firefox-66.0.3.tar.bz2"; locale = "lij"; arch = "linux-i686"; - sha512 = "1d01c34ab89ff1122147685b0551aa650f5b751deec35a5e7d64d6ba46272e929d7f1c49601fb2b1f5514b840ba6554af892c79c1a3f71af392216271d206cd5"; + sha512 = "5e1a9ccc0e2265e5f79dc2f5f315567deab1840051ed16b5d78009bc4c0c8a7a70841828c816877a50ea73baa51bef00bfa987107218a7ca137cd2fe6ec57a66"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/lt/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/lt/firefox-66.0.3.tar.bz2"; locale = "lt"; arch = "linux-i686"; - sha512 = "93d3dfaca37a668eb7c43bdc74ba521bee0344fff43ff9cefad5e4746b7c3ccdba445f97577338606951a15fc5e629bcd4b8cb979842fbe550d3e7e88169b3a4"; + sha512 = "1b5b1bdf7c360622f2e1727674349f142bb2912aa4d94de24722c3c3ea2e304a0c6a9ace091e455939441fc03f6b84cb77064eb0e86aabc083f0f4b090e0117e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/lv/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/lv/firefox-66.0.3.tar.bz2"; locale = "lv"; arch = "linux-i686"; - sha512 = "0037d16778bccde9146965d7553513a21a443960cabca4a65b6f58ca2ea9f243b3405d3993e8ed078c1a2b7bd636deb86ed829f8f699400fd755f35cf048c463"; + sha512 = "aeb4de3b3eecf08a627512d6c73755150d8cdcd00ef9f9d834b9de72e6e21e0df6b0fe2f248919e7c6219a4eb3e6b63dddd60da08742af0297264f3da655a580"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/mai/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/mai/firefox-66.0.3.tar.bz2"; locale = "mai"; arch = "linux-i686"; - sha512 = "d8025e4c4ab5b7e9b2d8dd8afbc221e1765eddf878943c4daece0e27b7443e7e17de3e400d99a5ef5b62a5ba9e3f2a4c27112551c8c0ea1f81136d6d74b7e91e"; + sha512 = "27c2e1581a08fcd530acc8728543304f5ffddbadde8855dc241dcf3c4374dacf5092ce32f90a0147540d832d4c3221416d9c9d8741bf3df75918fbae5c1bafdf"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/mk/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/mk/firefox-66.0.3.tar.bz2"; locale = "mk"; arch = "linux-i686"; - sha512 = "6ed44201501bd8336615b29078de4e52374712f857e2816732277cc37b6f8b305af0861894f3f70fa62fe2de6476d689bc5b79bd245b4dd750dcbab0b448c69e"; + sha512 = "968bc246c79685aec397dea83aba70be43db5198849a868366fbbb201b032cf48cdbfab1dcf8472dc34d43269f9f89969e0142391a1404eb514a4c002afc41b3"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/ml/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/ml/firefox-66.0.3.tar.bz2"; locale = "ml"; arch = "linux-i686"; - sha512 = "5b7272acc37c4dffc2421824b86c5f0192b7a92535f193a0b567fff8e79129f41bdb336bfc1c742ea0f106739eca47339d9f550b785951364233e612b035f94b"; + sha512 = "06915e32d05ba2c2e51afa0b93da0347c4e9a2d1e13fe07f63b3e923332e693155046d27c3cbf653c1f4e2c0803e9d44a92c2c7d6c51e57d68aaf0928829f1a1"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/mr/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/mr/firefox-66.0.3.tar.bz2"; locale = "mr"; arch = "linux-i686"; - sha512 = "fff73ffc6f080aa064df90a2f19c85364a09c831a095bf3722a5bc0760e04e305be8683804883968a492589a652d705f1cfbbed617de2f00348a723babf60a86"; + sha512 = "db3d3a4f508596fdd52337101521b4adc4ad9ef65f076afac0eb35060e8def5dfdeb8cb2294e80ad6bde8c8d38b8e7302985fec191d5aaa78889c0a4058d9a9f"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/ms/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/ms/firefox-66.0.3.tar.bz2"; locale = "ms"; arch = "linux-i686"; - sha512 = "a7574ce597a12b92aec0e88ca72d544cca1ec1a5def40b034a8cb25a24a3672c42e2fbe7ebcf0b5293f55fa12216856503af5514c3ab2b3cea551a8a43900b04"; + sha512 = "f0dec83a8e4df4702c48519d00588b8fcc437c6c4f2314e4e2479045b0b610193e06744fb2ef53239840f73efc641c5ed4c542c572e5c1a2efd3906f91109da5"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/my/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/my/firefox-66.0.3.tar.bz2"; locale = "my"; arch = "linux-i686"; - sha512 = "0bb892e7ab8126f2f946b1d3c9b8b00119dde0a165832ed211265be4f698087ab83970b1c1d47171913db7e01f43036e90b4aea135accb91c33beea1031d545c"; + sha512 = "82091b20acb72e105384cf203c26752667535cb9741484599904a3fcf995730cde7e4fae644671a5a43a75cf1c426fe0b4a4e4a8cb47e5649414dbf340f04a28"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/nb-NO/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/nb-NO/firefox-66.0.3.tar.bz2"; locale = "nb-NO"; arch = "linux-i686"; - sha512 = "184130d826eda76da820974a4f729de6eb569bbc7f36ffe2d4599b7c142d75c5537546511770db38abaf28b9d3866937fc6d51c7fbcffb074432da3d98310b06"; + sha512 = "5ea64b98cf0941a00c884ae02727858a3a4d1bb81f1b926f39f4cab30340d889b6a7250bfa615b806964baab46a97ab379fcc32eb27ccfe120c474d38da1e00b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/ne-NP/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/ne-NP/firefox-66.0.3.tar.bz2"; locale = "ne-NP"; arch = "linux-i686"; - sha512 = "2428dc2175f0da8e4fa66ac11810467306a59b181c34165e4a54dfe5f3bebc182f0fbcb117f15707e72baf97f4d75131a3ec97d03d0fc1109229caf83519dd51"; + sha512 = "ec88e2fcb98afae35bc9fba6bd9c835e0eb47c9ee65c5147c49ecd1a5c7e3a4303a31f24cd1cfcdd0483282ac5a277dc31a1c31f1a6af16ea87d98f72b1c683e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/nl/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/nl/firefox-66.0.3.tar.bz2"; locale = "nl"; arch = "linux-i686"; - sha512 = "96bd92c9979e02a13db550f7f3a795585baa1017691371c5e5bc99825d730d535c63ddbf805ebf8a0e6406ae80ec644d0f715d04f913935f845ad89467c01832"; + sha512 = "3c63b8d51d900fcf1d84dc2df5ff60d80180aa57ab6b51748c3e6c493aa5eb76dba394f57c6563272346a728a6a432d63b660ed252faadc520732fcec2279c04"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/nn-NO/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/nn-NO/firefox-66.0.3.tar.bz2"; locale = "nn-NO"; arch = "linux-i686"; - sha512 = "26f35cd02873ba061cd0f38cca18947e2c05589d3b399c55fb4d0f356c26d399848467a20fc542c7f51c67c912ab7c8fe5fae25c97d942260276faba40d24c89"; + sha512 = "996587a51fea3c960133862dbefa9f6639f3512edf81cbe3740b88a76651753faf7e49fec1b657d039e2f1970137933ed3b3ad3a09f4c9476377282af22b1a6c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/oc/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/oc/firefox-66.0.3.tar.bz2"; locale = "oc"; arch = "linux-i686"; - sha512 = "711b260ac771280d795d6e3746df07bed4b9357b7261e83e8b17934ab027d77bfa1781d3d9d1923724f49f16136468c1fef40d1809d6a020d5b49b7767030f85"; + sha512 = "1e156c39ebd5d74c6327fa09e04046cc2efa013747b574916a203862e5fa19c921f223ab537a91ec613282821c4916a73ae8e61170c709752cf3f12ffede6dfb"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/or/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/or/firefox-66.0.3.tar.bz2"; locale = "or"; arch = "linux-i686"; - sha512 = "dcd1d7068c75428533d268b50d3d1e7324dba2709abe4049c9cfea4fd4413b09c3c7dd9f944f5f54f57454d8d2aa8471b8ba5871e73cbeae6fa357c8c68e90fc"; + sha512 = "3113556bd37eafeecf562afc068fd8608e387fbbafc7e7d6ece475678c1cb0a025d4ca92de569ea6a78e1f83755bf0aacea6031d36ef67ba43de48d124e8e766"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/pa-IN/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/pa-IN/firefox-66.0.3.tar.bz2"; locale = "pa-IN"; arch = "linux-i686"; - sha512 = "f34c32479a92cce9fc6564899b5477fdbdbdc868b17904f8d7ae338c2924fb7cb8335b038378a805a2119ff5ad13e349c7b80efe7a29add706bbaf1466d623a6"; + sha512 = "c74d08d019b0257ade3e6c9bcd9a30d102523cac3740bab5d11a7543181de8623e6b12930e0c57fc3a261a496db886ca1c8225bbb46ea0fcca3ac6ccaa2c34cb"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/pl/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/pl/firefox-66.0.3.tar.bz2"; locale = "pl"; arch = "linux-i686"; - sha512 = "d62822aa991cd30cb6c5e47dc211bd4018de427b243543bd83bd166601e40e3bed35dfc073660573dc500ae19ead2dca858041a3b80bd616def3c2b3f72aee11"; + sha512 = "54a0666be5524e49e4f3cf11ff19c2cfa66c65524bfbd70ee3cb21428c75f84afc8625a2bc35ffc8a4d8b79074c7b1d0f81770a0bc392ccfd7bf1dfe8805c569"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/pt-BR/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/pt-BR/firefox-66.0.3.tar.bz2"; locale = "pt-BR"; arch = "linux-i686"; - sha512 = "5a2ea1494423a5ce1afc60c2d1a4e53ef084a02050ca61a688ecf18ff9d99e43d6bd334683937c12965767e7e5b0bd1a32708f1f2c2a241db1f68271633ace66"; + sha512 = "122b4dda0fbe80776b50a6dafda9fe9b5c08a0bf48ceff3bf3ba4c759ced6a09e76dd1b7faabc937233e8efe5a4f37d9ec54c4370531e2ede255463cdc20d4ad"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/pt-PT/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/pt-PT/firefox-66.0.3.tar.bz2"; locale = "pt-PT"; arch = "linux-i686"; - sha512 = "83cff834812ad238b103fcee8b801e46ae542eba3475709e04848f18df0bee68075b2834ee871bfa5eb58ad1ec7fb34239d661a27d0dcba17e6c39de8428cef6"; + sha512 = "2fb9253e60407d5deeeaafc61919d7cd7caa7b183d8ca000b4070da7c3f7352bc1fbd295fa10a77365afd2c0566257b60ea4d6718f25ed39f282682a0a4c6ae1"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/rm/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/rm/firefox-66.0.3.tar.bz2"; locale = "rm"; arch = "linux-i686"; - sha512 = "c4190e7e2007805b2c7507dd26b0695bc5d3c007eabd6a592c283a99cf0495ce1dfcd6dbb1e753a990f64466f24618d3b84df617f99fb266ceadf32fcd990af8"; + sha512 = "c44d99c714ebeb4303c3344ff5a58041a4c93f8a241271c8fce72c6fe3048cd966709a412d7b589bc540754db16a622a12c81c885cb0fa8c072277b2b32b6c12"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/ro/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/ro/firefox-66.0.3.tar.bz2"; locale = "ro"; arch = "linux-i686"; - sha512 = "292112e0af6bad96b97bb0a1d58d0b7c9d4cb476cf531b1caaffcfd54c2f0ecd72a4311f98b614d7f834ffe2779261f77eb43d4d7ab724378dc6b7ad83bb1840"; + sha512 = "53e1343c751a0dbd53fe7a6a53afc54807e7d745f811ce9032d2edd60721e9e01a59a547aadfc9c62aaea9c825da9e02794520a03183318dab7cf08a4969eed0"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/ru/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/ru/firefox-66.0.3.tar.bz2"; locale = "ru"; arch = "linux-i686"; - sha512 = "3d6fa0994fba5ff988e281ac4feff8655a5353ebf0d99df5ac7412cff2d19d478a912851d27f2af5bd78fdbc68030878682bb7ffa912180d2c4aa9bafcd77cd5"; + sha512 = "cfe85e79f0cabac2ef0939cd6001939a0dfd1525b1612bd991101e22078f9e94965ea52ee8fab38a6744cda0ab410d9cc638c706c61717f51f989d5efec241fb"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/si/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/si/firefox-66.0.3.tar.bz2"; locale = "si"; arch = "linux-i686"; - sha512 = "e6d3c4049f267e68216e9824743b123539e5445a5d53297eb8af33af95a418e492a655a456970d02049f8969c81c0ab8c5be1471a5ab8e01b4744995b799158a"; + sha512 = "0736e18ef2f6c3112cd8a5142f31b45a05cd6f6a6028b5011e35c72b770787bcc69d86e507c1ac292e194f80e041590bf23c981295b7193b4dbc3f576c8d55ab"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/sk/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/sk/firefox-66.0.3.tar.bz2"; locale = "sk"; arch = "linux-i686"; - sha512 = "66fc1f3f4fb7dec1c261db144243dc0647b4dbc4257de93c5fb017ae616d31d6825fdfafc30d3fc299a278d5fd51731f24e6033cb3807c69ccd1512527029063"; + sha512 = "525a589b137ff53ed8aac506ae11a62a94e02cd3fb6322a2078523d630fa86fdbfd1e1ebcabd627a2d34a1232666cdb7fb4b265f17199c063eb73cd2499decf1"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/sl/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/sl/firefox-66.0.3.tar.bz2"; locale = "sl"; arch = "linux-i686"; - sha512 = "e089b96b77a60c2c8e96f107cd26f37e681f8a8c702cf32ee3592344900c81daba274516c32ac856609917a30f8d60d853fd649fe575c3a2915072e45908126b"; + sha512 = "805b5cf866b80032467b3a0d825c9a31243de48a0588b966788ae31495bebdb1038ff5c1f342dff86d471786d680c67f1469af70f0058dbb0daabf11633c89ae"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/son/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/son/firefox-66.0.3.tar.bz2"; locale = "son"; arch = "linux-i686"; - sha512 = "00eecadab36816ae5e977dd50f335222e1fd8253b98daa1f14920e48678afb22b0e619ae4a86e6a45c8d2973f83f614f16a1f860e6ed1ed488851032075d6c72"; + sha512 = "c03faa7bfe24157e053694d80a521bde6aa8e79e8c832ebb026b01a95ef84c5e3a87e674b4fb1cd8292f1a9fd7ac9686157909b0e71a81495c98c77692934703"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/sq/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/sq/firefox-66.0.3.tar.bz2"; locale = "sq"; arch = "linux-i686"; - sha512 = "ebd8ed00c12288a3ae4f6a113bbac8595ea9c0fbc35575115fd019c6158857ad083588100d4cae440822780bf25789501d0dd800bbe2baef5f037fb43aeabb74"; + sha512 = "27a3d25c9ee414c933a01db42a1c8fc288324b1fd280462e5acb38707b142ff140f0e77d3a1f6bd234cfd12a8b945a36557b2d7b09cde92c77aee591d1c5a4d4"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/sr/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/sr/firefox-66.0.3.tar.bz2"; locale = "sr"; arch = "linux-i686"; - sha512 = "bfce8265755adbc3c30d56a1e4bbbbb14385ddd3d2434b6404b04e3fa3120d58b32cb9e598aeb1540f23d2757c23fe903fd5c9d5167db305a88077e98d9a39b2"; + sha512 = "e053f3e8c0cdffca1fa2ba875186402906afdbe7196cb2ec926fb1ff749e391d21beef1f4721cec48edf2a230317a1adaf9b3314586f5a2e8cb840e08f52cdc8"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/sv-SE/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/sv-SE/firefox-66.0.3.tar.bz2"; locale = "sv-SE"; arch = "linux-i686"; - sha512 = "518b28e8f88a763aa09c5aed12eb0f2b582f84770401f3e11e5083fe69d176ce1483a81c2345a7fae2473551bf41db6a35f341495eb59c559a99398b93a7195a"; + sha512 = "1027ee7d4454466a7c4b378e8b0410de2059fa166797efedd16f9c71f38f536f2a70a1a32296f0dc2bf71c1710f59379d967e841eae9bf7a6eff5a66e0616f15"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/ta/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/ta/firefox-66.0.3.tar.bz2"; locale = "ta"; arch = "linux-i686"; - sha512 = "a4d5960e0b60cf03c0ecf7f0d2b697dbb68dbfb4e0f3c77548c020d574f60c0fe7cc032a81215f34108a11651800deb1b1533efad3e238fd32780f22bd5524fc"; + sha512 = "000303c245dadd0f7d36477d645215d7f8623e693217182e378ecad059ceabf7f5b9d0f8aaf303417c90fb75d4c0c61de0c75e616c90d68ce74d4564aeba0eda"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/te/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/te/firefox-66.0.3.tar.bz2"; locale = "te"; arch = "linux-i686"; - sha512 = "8bf1510077ce86f50c668cb8d931d6d0899d1b7559736312c86acfdc3149da75f8c8f750393e02023a9b063c27c03adcc6bd5c29c950fc0a6055392a2e0eb2d4"; + sha512 = "d720d75fe3f5fee87cb65dc3df64960699bd6b879ec79e94de06a3426481487f44b3b7cc2a727d1110c8de104e3b52efaeda44a942b986add3a9cee293092d01"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/th/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/th/firefox-66.0.3.tar.bz2"; locale = "th"; arch = "linux-i686"; - sha512 = "af32b002380fee3b147b2cc44831c3d2ee29d784b8c935fe1be464b302992aebba73a39929ca23b35b9b6a8475e909a73622f70810e0a4a21bc7db74a8b4da46"; + sha512 = "27cfa6611d57bb57d5e1529853c02623ecc6636ef800b7b9854b22495e15e2501a7b4ac6ff0bba0312eea64b1a2cdf7ebcbb2061617253f0f9c012c7ae8f336e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/tr/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/tr/firefox-66.0.3.tar.bz2"; locale = "tr"; arch = "linux-i686"; - sha512 = "4216a4e126a41f26b344804e4222535aee43c9f52fafbb6e1d019cc743fe18c0cdeed7fc04dd06fb921efc0431256ed2f09ed21fafff8a1132d097082b849388"; + sha512 = "b562ea3e73aeb0d12d14ece571d44a3f86bbe36b7cff9d731918c851c666c1469228c6912d1bf3a740baabd51199cce3ff9a5c246394ed5866c63e90c4984b2b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/uk/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/uk/firefox-66.0.3.tar.bz2"; locale = "uk"; arch = "linux-i686"; - sha512 = "dfe75bb618097d0a96066dd65ba0da7e9d3ce91c14075023c48aedfb88c6d30b83c8ab503666c7581783baf347beac58e81d49e7f9b671bedcdb6827f0843b35"; + sha512 = "b0183271adf9c4fdb94a5c936d995ef749125e7031de80fad8d92048e8e260068ebc2dc5fa70ad05940bdccfa78b7ea64f067cd5c367232fe8b43c78f1dfe556"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/ur/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/ur/firefox-66.0.3.tar.bz2"; locale = "ur"; arch = "linux-i686"; - sha512 = "0a1a8cae5f364b5e0e2570ef6e06870efd136322082e2fb7690b381f05195eee48787ac679916cd7508f9f51458c038798c9e73f982992dd5b0de8d596e83ca4"; + sha512 = "497e3c0eab42a1fe8b09182f27f7b17b0dd4e776a60d176bb332eab2b38ef5ea697fbad688e34c182e07a8965a8f8be13dfd212609776a30e7aa4419a755eb30"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/uz/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/uz/firefox-66.0.3.tar.bz2"; locale = "uz"; arch = "linux-i686"; - sha512 = "153e781c6e4a530fad7631168afaaed74b0c8323317b1b4104cfffd8ee9250ae9af0ed9a0a0f157fc6745dfef7889402426c3d5e13d0c1b234fdaf952c9cb3aa"; + sha512 = "b0ca42a5af823f144292bb46191f37dc7abf485c4e5207fc50d6bd1277caf1ef3ac39f15430ee060ad7114d3d9f8d56ca2157729aee5384ab82a2352b97d4769"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/vi/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/vi/firefox-66.0.3.tar.bz2"; locale = "vi"; arch = "linux-i686"; - sha512 = "1cc2e611316137b1d569d3c2617d41bddc48a8618a8937eab643ebdf94727139743b8bc6e1d18a7487e9d30f867ae1b7f77bfd528e0b535d122a4e8f9fcd311c"; + sha512 = "b6cf7e2d0064b9828e4e030213ee7288749f0ebdc3abb5f480f36e4b13d5d2dbbba3470cc4e6add622fb7198ad99a802081b01dc916247584e728fb8845d20dc"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/xh/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/xh/firefox-66.0.3.tar.bz2"; locale = "xh"; arch = "linux-i686"; - sha512 = "b0c4a093950fe90ad2249a5259843e7b3b4bdf2179b0c7ee61e1f965a4104636a53d7db0b91aaff3047cc7252855970f12e1b3bc4aa9e4f85d301652cb53c6c0"; + sha512 = "97c5596455e0ca0cdf24c14c5232da07196b20c52ee860bd2a9cccbbfe2a3a68a781c1efb8ba1a7ed6a840c60493c1a3e0cbacd68e03d2f914445e1dccbed9d7"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/zh-CN/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/zh-CN/firefox-66.0.3.tar.bz2"; locale = "zh-CN"; arch = "linux-i686"; - sha512 = "b3d1ea1e74ce5c7779bd1c7299197d0143688cc6bd9c4ae0b391e3849fec40c3142a9b7db19d3805616fa885deb16a6fdbe2fd23ddf0eac0fb0094498917d356"; + sha512 = "298d2c45324c9bae65a1859683120e7b13253e289f8471cde434d3927ad33f0a7cf6ec8c54a3e8254eeb02203551f73db0a331407306f2e8baa889971fe10268"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/61.0.2/linux-i686/zh-TW/firefox-61.0.2.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/66.0.3/linux-i686/zh-TW/firefox-66.0.3.tar.bz2"; locale = "zh-TW"; arch = "linux-i686"; - sha512 = "cda9d835f282746cb711054f1ed2f137e0f7e89c27429af12f470ed8984ea0c9a4f28e5cd403aa2f37fe0c06271c7651f794009ec11ddc64a96c4c661ca9ecb6"; + sha512 = "debd419335edd694ad7fa7f3faf6a2b75e5470ba2ba2777cc6a54d8213d8a4914af113b7670267b9a7de6267c475c3ef9bcaaa2feb596aab728aa6ac68559d2d"; } ]; } diff --git a/pkgs/applications/networking/browsers/firefox-bin/update.nix b/pkgs/applications/networking/browsers/firefox-bin/update.nix index df928f88c386c1674b15684dd178e11507bca38d..97163ffa76208c81cb894690b35fd39518994607 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/update.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/update.nix @@ -1,4 +1,5 @@ -{ name +{ stdenv +, name , channel , writeScript , xidel @@ -7,6 +8,7 @@ , gnugrep , curl , gnupg +, runtimeShell , baseName ? "firefox" , basePath ? "pkgs/applications/networking/browsers/firefox-bin" , baseUrl @@ -17,6 +19,7 @@ let channel != "release"; in writeScript "update-${name}" '' + #!${runtimeShell} PATH=${coreutils}/bin:${gnused}/bin:${gnugrep}/bin:${xidel}/bin:${curl}/bin:${gnupg}/bin set -eux pushd ${basePath} diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix index b8a5faddc346821ec37740d40ba7d8fb5aeae9a2..c0cfcf412c5ec209097b313561e679849cb2c59a 100644 --- a/pkgs/applications/networking/browsers/firefox/common.nix +++ b/pkgs/applications/networking/browsers/firefox/common.nix @@ -1,15 +1,17 @@ -{ pname, version, updateScript ? null -, src, patches ? [], extraConfigureFlags ? [], extraMakeFlags ? [] -, overrides ? {}, extraNativeBuildInputs ? [], meta -, isTorBrowserLike ? false }: +{ pname, ffversion, meta, updateScript ? null +, src, unpackPhase ? null, patches ? [] +, extraNativeBuildInputs ? [], extraConfigureFlags ? [], extraMakeFlags ? [] +, isIceCatLike ? false, icversion ? null +, isTorBrowserLike ? false, tbversion ? null }: { lib, stdenv, pkgconfig, pango, perl, python2, zip, libIDL , libjpeg, zlib, dbus, dbus-glib, bzip2, xorg , freetype, fontconfig, file, nspr, nss, libnotify , yasm, libGLU_combined, sqlite, unzip, makeWrapper -, hunspell, libevent, libstartup_notification, libvpx +, hunspell, libXdamage, libevent, libstartup_notification, libvpx , icu, libpng, jemalloc, glib , autoconf213, which, gnused, cargo, rustc, llvmPackages +, rust-cbindgen, nodejs, nasm, fetchpatch , debugBuild ? false ### optionals @@ -17,21 +19,24 @@ ## optional libraries , alsaSupport ? stdenv.isLinux, alsaLib -, pulseaudioSupport ? true, libpulseaudio -, ffmpegSupport ? true, gstreamer, gst-plugins-base -, gtk3Support ? !isTorBrowserLike, gtk2, gtk3, wrapGAppsHook +, pulseaudioSupport ? stdenv.isLinux, libpulseaudio +, ffmpegSupport ? true +, gtk3Support ? true, gtk2, gtk3, wrapGAppsHook +, waylandSupport ? true, libxkbcommon , gssSupport ? true, kerberos ## privacy-related options -, privacySupport ? isTorBrowserLike +, privacySupport ? isTorBrowserLike || isIceCatLike # WARNING: NEVER set any of the options below to `true` by default. -# Set to `privacySupport` or `false`. +# Set to `!privacySupport` or `false`. -# webrtcSupport breaks the aarch64 build on version >= 60. +# webrtcSupport breaks the aarch64 build on version >= 60, fixed in 63. # https://bugzilla.mozilla.org/show_bug.cgi?id=1434589 -, webrtcSupport ? (if lib.versionAtLeast version "60" && stdenv.isAarch64 then false else !privacySupport) +, webrtcSupport ? !privacySupport && (!stdenv.isAarch64 || !( + lib.versionAtLeast ffversion "60" && lib.versionOlder ffversion "63" + )) , geolocationSupport ? !privacySupport , googleAPISupport ? geolocationSupport , crashreporterSupport ? false @@ -72,55 +77,93 @@ let flag = tf: x: [(if tf then "--enable-${x}" else "--disable-${x}")]; default-toolkit = if stdenv.isDarwin then "cairo-cocoa" - else "cairo-gtk${if gtk3Support then "3" else "2"}"; + else "cairo-gtk${if gtk3Support then "3${lib.optionalString waylandSupport "-wayland"}" else "2"}"; + + binaryName = if isIceCatLike then "icecat" else "firefox"; + binaryNameCapitalized = lib.toUpper (lib.substring 0 1 binaryName) + lib.substring 1 (-1) binaryName; + + browserName = if stdenv.isDarwin then binaryNameCapitalized else binaryName; execdir = if stdenv.isDarwin - then "/Applications/${browserName}.app/Contents/MacOS" + then "/Applications/${binaryNameCapitalized}.app/Contents/MacOS" else "/bin"; - browserName = if stdenv.isDarwin then "Firefox" else "firefox"; + + browserVersion = if isIceCatLike then icversion + else if isTorBrowserLike then tbversion + else ffversion; + + browserPatches = [ + ./env_var_for_system_dir.patch + ] ++ lib.optionals (stdenv.isAarch64 && lib.versionAtLeast ffversion "66") [ + (fetchpatch { + url = "https://raw.githubusercontent.com/archlinuxarm/PKGBUILDs/09c7fa0dc1d87922e3b464c0fa084df1227fca79/extra/firefox/arm.patch"; + sha256 = "1vbpih23imhv5r3g21m3m541z08n9n9j1nvmqax76bmyhn7mxp32"; + }) + (fetchpatch { + url = "https://raw.githubusercontent.com/archlinuxarm/PKGBUILDs/09c7fa0dc1d87922e3b464c0fa084df1227fca79/extra/firefox/build-arm-libopus.patch"; + sha256 = "1zg56v3lc346fkzcjjx21vjip2s9hb2xw4pvza1dsfdnhsnzppfp"; + }) + ] ++ patches; + in -stdenv.mkDerivation (rec { +stdenv.mkDerivation rec { name = "${pname}-unwrapped-${version}"; + version = browserVersion; + + inherit src unpackPhase meta; - inherit src patches meta; + patches = browserPatches; + + # Ignore trivial whitespace changes in patches, this fixes compatibility of + # ./env_var_for_system_dir.patch with Firefox >=65 without having to track + # two patches. + patchFlags = [ "-p1" "-l" ]; buildInputs = [ gtk2 perl zip libIDL libjpeg zlib bzip2 dbus dbus-glib pango freetype fontconfig xorg.libXi xorg.libXcursor xorg.libX11 xorg.libXrender xorg.libXft xorg.libXt file - nspr libnotify xorg.pixman yasm libGLU_combined - xorg.libXScrnSaver xorg.scrnsaverproto - xorg.libXext xorg.xextproto sqlite unzip makeWrapper + libnotify xorg.pixman yasm libGLU_combined + xorg.libXScrnSaver xorg.xorgproto + xorg.libXext sqlite unzip makeWrapper libevent libstartup_notification libvpx /* cairo */ icu libpng jemalloc glib ] - ++ lib.optionals (!isTorBrowserLike) [ nss ] - ++ lib.optional (lib.versionOlder version "61") hunspell + ++ lib.optionals (!isTorBrowserLike) [ nspr nss ] + ++ lib.optional (lib.versionOlder ffversion "53") libXdamage + ++ lib.optional (lib.versionOlder ffversion "61") hunspell + + # >= 66 requires nasm for the AV1 lib dav1d + # yasm can potentially be removed in future versions + # https://bugzilla.mozilla.org/show_bug.cgi?id=1501796 + # https://groups.google.com/forum/#!msg/mozilla.dev.platform/o-8levmLU80/SM_zQvfzCQAJ + ++ lib.optional (lib.versionAtLeast ffversion "66") nasm ++ lib.optional alsaSupport alsaLib ++ lib.optional pulseaudioSupport libpulseaudio # only headers are needed - ++ lib.optionals ffmpegSupport [ gstreamer gst-plugins-base ] ++ lib.optional gtk3Support gtk3 ++ lib.optional gssSupport kerberos + ++ lib.optional waylandSupport libxkbcommon ++ lib.optionals stdenv.isDarwin [ CoreMedia ExceptionHandling Kerberos AVFoundation MediaToolbox CoreLocation Foundation libobjc AddressBook cups ]; - NIX_CFLAGS_COMPILE = [ "-I${nspr.dev}/include/nspr" - "-I${nss.dev}/include/nss" - "-I${glib.dev}/include/gio-unix-2.0" ] - ++ lib.optional stdenv.isDarwin [ - "-isystem ${llvmPackages.libcxx}/include/c++/v1" - "-DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_10" ]; + NIX_CFLAGS_COMPILE = [ + "-I${glib.dev}/include/gio-unix-2.0" + ] + ++ lib.optionals (!isTorBrowserLike) [ + "-I${nss.dev}/include/nss" + ]; - postPatch = lib.optionalString stdenv.isDarwin '' - substituteInPlace js/src/jsmath.cpp --replace 'defined(HAVE___SINCOS)' 0 + postPatch = lib.optionalString (lib.versionAtLeast ffversion "63.0" && !isTorBrowserLike) '' + substituteInPlace third_party/prio/prio/rand.c --replace 'nspr/prinit.h' 'prinit.h' ''; nativeBuildInputs = [ autoconf213 which gnused pkgconfig perl python2 cargo rustc ] ++ lib.optional gtk3Support wrapGAppsHook ++ lib.optionals stdenv.isDarwin [ xcbuild rsync ] + ++ lib.optionals (lib.versionAtLeast ffversion "63.0") [ rust-cbindgen nodejs ] ++ extraNativeBuildInputs; preConfigure = '' @@ -128,14 +171,14 @@ stdenv.mkDerivation (rec { rm -f configure rm -f js/src/configure rm -f .mozconfig* - '' + (if lib.versionAtLeast version "58" + '' + (if lib.versionAtLeast ffversion "58" # this will run autoconf213 then '' configureScript="$(realpath ./mach) configure" '' else '' make -f client.mk configure-files configureScript="$(realpath ./configure)" - '') + lib.optionalString (!isTorBrowserLike && lib.versionAtLeast version "53") '' + '') + lib.optionalString (lib.versionAtLeast ffversion "53") '' export MOZCONFIG=$(pwd)/mozconfig # Set C flags for Rust's bindgen program. Unlike ordinary C @@ -157,9 +200,19 @@ stdenv.mkDerivation (rec { # Note: These are for NixOS/nixpkgs use ONLY. For your own distribution, # please get your own set of keys. echo "AIzaSyDGi15Zwl11UNe6Y-5XW_upsfyw31qwZPI" > $TMPDIR/ga - configureFlagsArray+=("--with-google-api-keyfile=$TMPDIR/ga") - '' + lib.optionalString (lib.versionOlder version "58") '' + # 60.5+ & 66+ did split the google API key arguments: https://bugzilla.mozilla.org/show_bug.cgi?id=1531176 + ${if (lib.versionAtLeast ffversion "60.6" && lib.versionOlder ffversion "61") || (lib.versionAtLeast ffversion "66") then '' + configureFlagsArray+=("--with-google-location-service-api-keyfile=$TMPDIR/ga") + configureFlagsArray+=("--with-google-safebrowsing-api-keyfile=$TMPDIR/ga") + '' else '' + configureFlagsArray+=("--with-google-api-keyfile=$TMPDIR/ga") + ''} + '' + lib.optionalString (lib.versionOlder ffversion "58") '' cd obj-* + '' + # AS=as in the environment causes build failure https://bugzilla.mozilla.org/show_bug.cgi?id=1497286 + + lib.optionalString (lib.versionAtLeast ffversion "64") '' + unset AS ''; configureFlags = [ @@ -181,51 +234,48 @@ stdenv.mkDerivation (rec { "--disable-necko-wifi" # maybe we want to enable this at some point "--disable-updater" "--enable-jemalloc" - "--disable-maintenance-service" "--disable-gconf" "--enable-default-toolkit=${default-toolkit}" ] - ++ lib.optional stdenv.isDarwin "--disable-xcode-checks" - ++ lib.optional (lib.versionOlder version "61") "--enable-system-hunspell" - ++ lib.optionals (lib.versionAtLeast version "56" && !stdenv.hostPlatform.isi686) [ - # on i686-linux: --with-libclang-path is not available in this configuration + ++ lib.optional (lib.versionOlder ffversion "64") "--disable-maintenance-service" + ++ lib.optional (stdenv.isDarwin && lib.versionAtLeast ffversion "61") "--disable-xcode-checks" + ++ lib.optional (lib.versionOlder ffversion "61") "--enable-system-hunspell" + ++ lib.optionals (lib.versionAtLeast ffversion "56") [ "--with-libclang-path=${llvmPackages.libclang}/lib" "--with-clang-path=${llvmPackages.clang}/bin/clang" ] - ++ lib.optionals (lib.versionAtLeast version "57") [ + ++ lib.optionals (lib.versionAtLeast ffversion "57") [ "--enable-webrender=build" ] # TorBrowser patches these ++ lib.optionals (!isTorBrowserLike) [ - "--with-system-nss" "--with-system-nspr" + "--with-system-nss" ] # and wants these ++ lib.optionals isTorBrowserLike ([ - "--with-tor-browser-version=${version}" + "--with-tor-browser-version=${tbversion}" + "--with-distribution-id=org.torproject" "--enable-signmar" "--enable-verify-mar" - - # We opt out of TorBrowser's nspr because that patch is useless on - # anything but Windows and produces zero fingerprinting - # possibilities on other platforms. - # Lets save some space instead. - "--with-system-nspr" - ] ++ flag geolocationSupport "mozril-geoloc" - ++ flag safeBrowsingSupport "safe-browsing" - ) + "--enable-bundled-fonts" + ]) ++ flag alsaSupport "alsa" ++ flag pulseaudioSupport "pulseaudio" ++ flag ffmpegSupport "ffmpeg" ++ flag gssSupport "negotiateauth" - ++ lib.optional (!ffmpegSupport) "--disable-gstreamer" ++ flag webrtcSupport "webrtc" ++ flag crashreporterSupport "crashreporter" ++ lib.optional drmSupport "--enable-eme=widevine" + ++ lib.optionals (lib.versionOlder ffversion "60") ([] + ++ flag geolocationSupport "mozril-geoloc" + ++ flag safeBrowsingSupport "safe-browsing" + ) + ++ (if debugBuild then [ "--enable-debug" "--enable-profiling" ] else [ "--disable-debug" "--enable-release" "--enable-optimize" @@ -239,11 +289,11 @@ stdenv.mkDerivation (rec { # top level and then run `make` in obj-*. (We can also run the # `make` at the top level in 58, but then we would have to `cd` to # `make install` anyway. This is ugly, but simple.) - postConfigure = lib.optionalString (lib.versionAtLeast version "58") '' + postConfigure = lib.optionalString (lib.versionAtLeast ffversion "58") '' cd obj-* ''; - preBuild = lib.optionalString (enableOfficialBranding && isTorBrowserLike) '' + preBuild = lib.optionalString isTorBrowserLike '' buildFlagsArray=("MOZ_APP_DISPLAYNAME=Tor Browser") ''; @@ -256,32 +306,24 @@ stdenv.mkDerivation (rec { enableParallelBuilding = true; doCheck = false; # "--disable-tests" above - preInstall = '' - # The following is needed for startup cache creation on grsecurity kernels. - paxmark m dist/bin/xpcshell - ''; - installPhase = if stdenv.isDarwin then '' mkdir -p $out/Applications - cp -LR dist/Firefox.app $out/Applications + cp -LR dist/${binaryNameCapitalized}.app $out/Applications '' else null; postInstall = lib.optionalString stdenv.isLinux '' - # For grsecurity kernels - paxmark m $out/lib/firefox*/{firefox,firefox-bin,plugin-container} - # Remove SDK cruft. FIXME: move to a separate output? - rm -rf $out/share/idl $out/include $out/lib/firefox-devel-* + rm -rf $out/share/idl $out/include $out/lib/${binaryName}-devel-* # Needed to find Mozilla runtime - gappsWrapperArgs+=(--argv0 "$out/bin/.firefox-wrapped") + gappsWrapperArgs+=(--argv0 "$out/bin/.${binaryName}-wrapped") ''; postFixup = lib.optionalString stdenv.isLinux '' # 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 + }/lib:$(patchelf --print-rpath "$out"/lib/${binaryName}*/libxul.so)" \ + "$out"/lib/${binaryName}*/libxul.so ''; doInstallCheck = true; @@ -293,6 +335,7 @@ stdenv.mkDerivation (rec { passthru = { inherit version updateScript; isFirefox3Like = true; + inherit isIceCatLike; inherit isTorBrowserLike; gtk = gtk2; inherit nspr; @@ -302,4 +345,4 @@ stdenv.mkDerivation (rec { inherit browserName; } // lib.optionalAttrs gtk3Support { inherit gtk3; }; -} // overrides) +} diff --git a/pkgs/applications/networking/browsers/firefox/env_var_for_system_dir.patch b/pkgs/applications/networking/browsers/firefox/env_var_for_system_dir.patch index a0f581d84733baaf6491405aa47d0a5ce80ae1e3..18d31356989a2c79a55580208d8730c2ba09b0c9 100644 --- a/pkgs/applications/networking/browsers/firefox/env_var_for_system_dir.patch +++ b/pkgs/applications/networking/browsers/firefox/env_var_for_system_dir.patch @@ -1,14 +1,6 @@ -diff --git a/toolkit/xre/nsXREDirProvider.cpp b/toolkit/xre/nsXREDirProvider.cpp -index 380c1c1..255539f 100644 ---- a/toolkit/xre/nsXREDirProvider.cpp -+++ b/toolkit/xre/nsXREDirProvider.cpp -@@ -306,7 +306,8 @@ GetSystemParentDirectory(nsIFile** aFile) - "/usr/lib/mozilla" - #endif - ); +--- a/toolkit/xre/nsXREDirProvider.cpp 2019-02-28 21:00:14.157543388 +0100 ++++ b/toolkit/xre/nsXREDirProvider.cpp 2019-02-28 21:01:28.731128320 +0100 +@@ -302 +302,2 @@ - rv = NS_NewNativeLocalFile(dirname, false, getter_AddRefs(localDir)); + const char* pathVar = PR_GetEnv("MOZ_SYSTEM_DIR"); + rv = NS_NewNativeLocalFile((pathVar && *pathVar) ? nsDependentCString(pathVar) : reinterpret_cast(dirname), false, getter_AddRefs(localDir)); - #endif - - if (NS_SUCCEEDED(rv)) { diff --git a/pkgs/applications/networking/browsers/firefox/no-buildconfig-ffx65.patch b/pkgs/applications/networking/browsers/firefox/no-buildconfig-ffx65.patch new file mode 100644 index 0000000000000000000000000000000000000000..7d129dc78f98f6cc840c7d25dd87931340f701e3 --- /dev/null +++ b/pkgs/applications/networking/browsers/firefox/no-buildconfig-ffx65.patch @@ -0,0 +1,23 @@ +diff -ur firefox-65.0-orig/docshell/base/nsAboutRedirector.cpp firefox-65.0/docshell/base/nsAboutRedirector.cpp +--- firefox-65.0-orig/docshell/base/nsAboutRedirector.cpp 2019-01-23 00:48:28.988747428 +0100 ++++ firefox-65.0/docshell/base/nsAboutRedirector.cpp 2019-01-23 00:51:13.378188397 +0100 +@@ -67,8 +67,6 @@ + {"about", "chrome://global/content/aboutAbout.xhtml", 0}, + {"addons", "chrome://mozapps/content/extensions/extensions.xul", + nsIAboutModule::ALLOW_SCRIPT}, +- {"buildconfig", "chrome://global/content/buildconfig.html", +- nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT}, + {"checkerboard", "chrome://global/content/aboutCheckerboard.xhtml", + nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT | + nsIAboutModule::ALLOW_SCRIPT}, +diff -ur firefox-65.0-orig/toolkit/content/jar.mn firefox-65.0/toolkit/content/jar.mn +--- firefox-65.0-orig/toolkit/content/jar.mn 2019-01-23 00:48:35.033372506 +0100 ++++ firefox-65.0/toolkit/content/jar.mn 2019-01-23 00:50:45.126565924 +0100 +@@ -36,7 +36,6 @@ + content/global/plugins.css + content/global/browser-child.js + content/global/browser-content.js +-* content/global/buildconfig.html + content/global/buildconfig.css + content/global/contentAreaUtils.js + content/global/datepicker.xhtml diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix index 984d80167c39fbdf5c72b09e66eb997dc1d15a0e..f4125374583ad870512fc6bd0dc4f2e2866dbab6 100644 --- a/pkgs/applications/networking/browsers/firefox/packages.nix +++ b/pkgs/applications/networking/browsers/firefox/packages.nix @@ -1,33 +1,30 @@ -{ lib, callPackage, stdenv, fetchurl, fetchFromGitHub, fetchpatch, python3 }: +{ lib, callPackage, stdenv, fetchurl, fetchFromGitHub, fetchpatch, python3, overrideCC, gccStdenv, gcc6 }: let - common = opts: callPackage (import ./common.nix opts); + common = opts: callPackage (import ./common.nix opts) {}; - nixpkgsPatches = [ - ./env_var_for_system_dir.patch - ]; - - firefox60_aarch64_skia_patch = fetchpatch { - name = "aarch64-skia.patch"; - url = https://src.fedoraproject.org/rpms/firefox/raw/8cff86d95da3190272d1beddd45b41de3148f8ef/f/build-aarch64-skia.patch; - sha256 = "11acb0ms4jrswp7268nm2p8g8l4lv8zc666a5bqjbb09x9k6b78k"; + # Needed on older branches since rustc: 1.32.0 -> 1.33.0 + missing-documentation-patch = fetchurl { + name = "missing-documentation.patch"; + url = "https://aur.archlinux.org/cgit/aur.git/plain/deny_missing_docs.patch" + + "?h=firefox-esr&id=03bdd01f9cf"; + sha256 = "1i33n3fgwc8d0v7j4qn7lbdax0an6swar12gay3q2nwrhg3ic4fb"; }; - in rec { firefox = common rec { pname = "firefox"; - version = "61.0.2"; + ffversion = "66.0.3"; src = fetchurl { - url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz"; - sha512 = "3zzcxqjpsn2m5z4l66rxrq7yf58aii370jj8pcl50smcd55sfsyknnc20agbppsw4k4pnwycfn57im33swwkjzg0hk0h2ng4rvi42x2"; + url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz"; + sha512 = "31pfzgys4dv4fskaasz47fviksjj9xp60r875q0i7z1n6kx25fzkpsg18a98fkqm3g8qmljccy93w68ysywnh1zzrv8djsaza7l0mz8"; }; - patches = nixpkgsPatches ++ [ - ./no-buildconfig.patch + patches = [ + ./no-buildconfig-ffx65.patch ]; extraNativeBuildInputs = [ python3 ]; @@ -35,24 +32,30 @@ rec { meta = { description = "A web browser built from Firefox source tree"; homepage = http://www.mozilla.com/en-US/firefox/; - maintainers = with lib.maintainers; [ eelco ]; + maintainers = with lib.maintainers; [ eelco andir ]; platforms = lib.platforms.unix; license = lib.licenses.mpl20; }; updateScript = callPackage ./update.nix { attrPath = "firefox-unwrapped"; + versionKey = "ffversion"; }; - } {}; + }; - firefox-esr-52 = common rec { + # Do not remove. This is the last version of Firefox that supports + # the old plugins. While this package is unsafe to use for browsing + # the web, there are many old useful plugins targeting offline + # activities (e.g. ebook readers, syncronous translation, etc) that + # will probably never be ported to WebExtensions API. + firefox-esr-52 = (common rec { pname = "firefox-esr"; - version = "52.9.0esr"; + ffversion = "52.9.0esr"; src = fetchurl { - url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz"; + url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz"; sha512 = "bfca42668ca78a12a9fb56368f4aae5334b1f7a71966fbba4c32b9c5e6597aac79a6e340ac3966779d2d5563eb47c054ab33cc40bfb7306172138ccbd3adb2b9"; }; - patches = nixpkgsPatches ++ [ + patches = [ # this one is actually an omnipresent bug # https://bugzilla.mozilla.org/show_bug.cgi?id=1444519 ./fix-pa-context-connect-retval.patch @@ -60,28 +63,30 @@ rec { meta = firefox.meta // { description = "A web browser built from Firefox Extended Support Release source tree"; + knownVulnerabilities = [ "Support ended in August 2018." ]; }; - updateScript = callPackage ./update.nix { - attrPath = "firefox-esr-52-unwrapped"; - versionSuffix = "esr"; - }; - } {}; + }).override { + stdenv = overrideCC gccStdenv gcc6; # gcc7 fails with "undefined reference to `__divmoddi4'" + gtk3Support = false; + }; firefox-esr-60 = common rec { pname = "firefox-esr"; - version = "60.1.0esr"; + ffversion = "60.6.1esr"; src = fetchurl { - url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz"; - sha512 = "2bg7zvkpy1x2ryiazvk4nn5m94v0addbhrcrlcf9djnqjf14rp5q50lbiymhxxz0988vgpicsvizifb8gb3hi7b8g17rdw6438ddhh6"; + url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz"; + sha512 = "3nl3cisn1sw3y6dxnv0bm143dpp091h1s9j7g73qfx5s6sfxl832lan177ikm00ay7fsly251vi1xz17wwicch1himsmhjisnd3ws51"; }; - patches = nixpkgsPatches ++ [ - ./no-buildconfig.patch + patches = [ + ./no-buildconfig-ffx65.patch # this one is actually an omnipresent bug # https://bugzilla.mozilla.org/show_bug.cgi?id=1444519 ./fix-pa-context-connect-retval.patch - ] ++ lib.optional stdenv.isAarch64 firefox60_aarch64_skia_patch; + + missing-documentation-patch + ]; meta = firefox.meta // { description = "A web browser built from Firefox Extended Support Release source tree"; @@ -89,26 +94,104 @@ rec { updateScript = callPackage ./update.nix { attrPath = "firefox-esr-60-unwrapped"; versionSuffix = "esr"; + versionKey = "ffversion"; }; - } {}; + }; } // (let - commonAttrs = { - overrides = { - unpackPhase = '' - # fetchFromGitHub produces ro sources, root dir gets a name that - # is too long for shebangs. fixing - cp -a $src tor-browser - chmod -R +w tor-browser - cd tor-browser - - # set times for xpi archives - find . -exec touch -d'2010-01-01 00:00' {} \; + iccommon = args: common (args // { + pname = "icecat"; + isIceCatLike = true; + + meta = (args.meta or {}) // { + description = "The GNU version of the Firefox web browser"; + longDescription = '' + GNUzilla is the GNU version of the Mozilla suite, and GNU + IceCat is the GNU version of the Firefox web browser. + + Notable differences from mainline Firefox: + + - entirely free software, no non-free plugins, addons, + artwork, + - no telemetry, no "studies", + - sane privacy and security defaults (for instance, unlike + Firefox, IceCat does _zero_ network requests on startup by + default, which means that with IceCat you won't need to + unplug your Ethernet cable each time you want to create a + new browser profile without announcing that action to a + bunch of data-hungry corporations), + - all essential privacy and security settings can be + configured directly from the main screen, + - optional first party isolation (like TorBrowser), + - comes with HTTPS Everywhere (like TorBrowser), Tor Browser + Button (like TorBrowser Bundle), LibreJS, and SpyBlock + plugins out of the box. + + This package can be installed together with Firefox and + TorBrowser, it will use distinct binary names and profile + directories. ''; + homepage = "https://www.gnu.org/software/gnuzilla/"; + platforms = lib.platforms.unix; + license = with lib.licenses; [ mpl20 gpl3Plus ]; }; + }); - meta = { +in rec { + + icecat = iccommon rec { + ffversion = "60.3.0"; + icversion = "${ffversion}-gnu1"; + + src = fetchurl { + url = "mirror://gnu/gnuzilla/${ffversion}/icecat-${icversion}.tar.bz2"; + sha256 = "0icnl64nxcyf7dprpdpygxhabsvyhps8c3ixysj9bcdlj9q34ib1"; + }; + + patches = [ + ./no-buildconfig.patch + missing-documentation-patch + ]; + }; + + # Similarly to firefox-esr-52 above. + icecat-52 = iccommon rec { + ffversion = "52.6.0"; + icversion = "${ffversion}-gnu1"; + + src = fetchurl { + url = "mirror://gnu/gnuzilla/${ffversion}/icecat-${icversion}.tar.bz2"; + sha256 = "09fn54glqg1aa93hnz5zdcy07cps09dbni2b4200azh6nang630a"; + }; + + patches = [ + # this one is actually an omnipresent bug + # https://bugzilla.mozilla.org/show_bug.cgi?id=1444519 + ./fix-pa-context-connect-retval.patch + ]; + + meta.knownVulnerabilities = [ "Support ended in August 2018." ]; + }; + +}) // (let + + tbcommon = args: common (args // { + pname = "tor-browser"; + isTorBrowserLike = true; + + unpackPhase = '' + # fetchFromGitHub produces ro sources, root dir gets a name that + # is too long for shebangs. fixing + cp -a $src tor-browser + chmod -R +w tor-browser + cd tor-browser + + # set times for xpi archives + find . -exec touch -d'2010-01-01 00:00' {} \; + ''; + + meta = (args.meta or {}) // { description = "A web browser built from TorBrowser source tree"; longDescription = '' This is a version of TorBrowser with bundle-related patches @@ -137,18 +220,17 @@ rec { Or just use `tor-browser-bundle` package that packs this `tor-browser` back into a sanely-built bundle. ''; - homepage = https://www.torproject.org/projects/torbrowser.html; - platforms = lib.platforms.linux; - license = lib.licenses.bsd3; + homepage = "https://www.torproject.org/projects/torbrowser.html"; + platforms = lib.platforms.unix; + license = with lib.licenses; [ mpl20 bsd3 ]; }; - }; + }); in rec { - tor-browser-7-5 = common (rec { - pname = "tor-browser"; - version = "7.5.6"; - isTorBrowserLike = true; + tor-browser-7-5 = (tbcommon rec { + ffversion = "52.9.0esr"; + tbversion = "7.5.6"; # FIXME: fetchFromGitHub is not ideal, unpacked source is >900Mb src = fetchFromGitHub { @@ -158,27 +240,28 @@ in rec { rev = "95bb92d552876a1f4260edf68fda5faa3eb36ad8"; sha256 = "1ykn3yg4s36g2cpzxbz7s995c33ij8kgyvghx38z4i8siaqxdddy"; }; + }).override { + gtk3Support = false; + }; - patches = nixpkgsPatches; - } // commonAttrs) {}; - - tor-browser-8-0 = common (rec { - pname = "tor-browser"; - version = "8.0.1"; - isTorBrowserLike = true; + tor-browser-8-0 = tbcommon rec { + ffversion = "60.6.1esr"; + tbversion = "8.0.8"; # FIXME: fetchFromGitHub is not ideal, unpacked source is >900Mb src = fetchFromGitHub { owner = "SLNOS"; repo = "tor-browser"; - # branch "tor-browser-52.8.0esr-8.0-1-slnos"; - rev = "5d7e9e1cacbf70840f8f1a9aafe99f354f9ad0ca"; - sha256 = "0cwxwwc4m7331bbp3id694ffwxar0j5kfpgpn9l1z36rmgv92n21"; + # branch "tor-browser-60.6.1esr-8.0-1-slnos" + rev = "dda14213c550afc522ef0bb0bb1643289c298736"; + sha256 = "0lj79nczcix9mx6d0isbizg0f8apf6vgkp7r0q7id92691frj7fz"; }; - patches = nixpkgsPatches; - } // commonAttrs) {}; + patches = [ + missing-documentation-patch + ]; + }; - tor-browser = tor-browser-7-5; + tor-browser = tor-browser-8-0; }) diff --git a/pkgs/applications/networking/browsers/firefox/update.nix b/pkgs/applications/networking/browsers/firefox/update.nix index 8cc03cf8212ac560f7556e6876b25fbdd6c7ce1b..0ead6de123aae890a3fd3b2622709324f234a016 100644 --- a/pkgs/applications/networking/browsers/firefox/update.nix +++ b/pkgs/applications/networking/browsers/firefox/update.nix @@ -1,4 +1,5 @@ { writeScript +, stdenv , lib , xidel , common-updater-scripts @@ -7,11 +8,14 @@ , gnugrep , curl , attrPath +, runtimeShell , baseUrl ? "http://archive.mozilla.org/pub/firefox/releases/" , versionSuffix ? "" +, versionKey ? "version" }: writeScript "update-${attrPath}" '' + #!${runtimeShell} PATH=${lib.makeBinPath [ common-updater-scripts coreutils curl gnugrep gnused xidel ]} url=${baseUrl} @@ -28,5 +32,5 @@ writeScript "update-${attrPath}" '' sort --version-sort | \ tail -n 1` - update-source-version ${attrPath} "$version" + update-source-version ${attrPath} "$version" "" "" --version-key=${versionKey} '' diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix index b64a6cf7ad9868fba2cc89777103ee745920792c..90df5c40395a56906d70812ba9c032694b4cf2dd 100644 --- a/pkgs/applications/networking/browsers/firefox/wrapper.nix +++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix @@ -4,7 +4,7 @@ , flashplayer, hal-flash , MPlayerPlugin, ffmpeg, xorg, libpulseaudio, libcanberra-gtk2 , jrePlugin, icedtea_web -, trezor-bridge, bluejeans, djview4, adobe-reader +, bluejeans, djview4, adobe-reader , google_talk_plugin, fribid, gnome3/*.gnome-shell*/ , esteidfirefoxplugin , browserpass, chrome-gnome-shell, uget-integrator, plasma-browser-integration, bukubrow @@ -26,8 +26,11 @@ let , icon ? browserName , extraPlugins ? [] , extraNativeMessagingHosts ? [] + , gdkWayland ? false }: + assert gdkWayland -> (browser ? gtk3); # Can only use the wayland backend if gtk3 is being used + let cfg = config.${browserName} or {}; enableAdobeFlash = cfg.enableAdobeFlash or false; @@ -36,10 +39,10 @@ let jre = cfg.jre or false; icedtea = cfg.icedtea or false; supportsJDK = - stdenv.system == "i686-linux" || - stdenv.system == "x86_64-linux" || - stdenv.system == "armv7l-linux" || - stdenv.system == "aarch64-linux"; + stdenv.hostPlatform.system == "i686-linux" || + stdenv.hostPlatform.system == "x86_64-linux" || + stdenv.hostPlatform.system == "armv7l-linux" || + stdenv.hostPlatform.system == "aarch64-linux"; plugins = assert !(jre && icedtea); @@ -55,7 +58,6 @@ let ++ lib.optional (cfg.enableGoogleTalkPlugin or false) google_talk_plugin ++ lib.optional (cfg.enableFriBIDPlugin or false) fribid ++ lib.optional (cfg.enableGnomeExtensions or false) gnome3.gnome-shell - ++ lib.optional (cfg.enableTrezor or false) trezor-bridge ++ lib.optional (cfg.enableBluejeans or false) bluejeans ++ lib.optional (cfg.enableAdobeReader or false) adobe-reader ++ lib.optional (cfg.enableEsteid or false) esteidfirefoxplugin @@ -87,7 +89,7 @@ let exec = "${browserName}${nameSuffix} %U"; inherit icon; comment = ""; - desktopName = "${desktopName}${nameSuffix}"; + desktopName = "${desktopName}${nameSuffix}${lib.optionalString gdkWayland " (Wayland)"}"; genericName = "Web Browser"; categories = "Application;Network;WebBrowser;"; mimeType = stdenv.lib.concatStringsSep ";" [ @@ -125,9 +127,11 @@ let --suffix PATH ':' "$out${browser.execdir or "/bin"}" \ --set MOZ_APP_LAUNCHER "${browserName}${nameSuffix}" \ --set MOZ_SYSTEM_DIR "$out/lib/mozilla" \ - ${lib.optionalString (browser ? gtk3) + ${lib.optionalString gdkWayland '' + --set GDK_BACKEND "wayland" \ + ''}${lib.optionalString (browser ? gtk3) ''--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \ - --suffix XDG_DATA_DIRS : '${gnome3.defaultIconTheme}/share' + --suffix XDG_DATA_DIRS : '${gnome3.adwaita-icon-theme}/share' '' } diff --git a/pkgs/applications/networking/browsers/google-chrome/default.nix b/pkgs/applications/networking/browsers/google-chrome/default.nix index 52a2ccb292bb40a0c3c8219837dd4331120baf46..b0ae61c761df6e774948e657546d65df8add5b5d 100644 --- a/pkgs/applications/networking/browsers/google-chrome/default.nix +++ b/pkgs/applications/networking/browsers/google-chrome/default.nix @@ -4,7 +4,7 @@ , glib, fontconfig, freetype, pango, cairo, libX11, libXi, atk, gconf, nss, nspr , libXcursor, libXext, libXfixes, libXrender, libXScrnSaver, libXcomposite, libxcb , alsaLib, libXdamage, libXtst, libXrandr, expat, cups -, dbus, gtk2, gtk3, gdk_pixbuf, gcc-unwrapped, at-spi2-atk +, dbus, gtk2, gtk3, gdk_pixbuf, gcc-unwrapped, at-spi2-atk, at-spi2-core , kerberos # command line arguments which are always set e.g "--disable-gpu" @@ -57,7 +57,7 @@ let libexif liberation_ttf curl utillinux xdg_utils wget flac harfbuzz icu libpng opusWithCustomModes snappy speechd - bzip2 libcap at-spi2-atk + bzip2 libcap at-spi2-atk at-spi2-core kerberos ] ++ optional pulseSupport libpulseaudio ++ [ gtk ]; @@ -71,14 +71,13 @@ in stdenv.mkDerivation rec { src = chromium.upstream-info.binary; + nativeBuildInputs = [ patchelf makeWrapper ]; buildInputs = [ - patchelf makeWrapper - # needed for GSETTINGS_SCHEMAS_PATH gsettings-desktop-schemas glib gtk # needed for XDG_ICON_DIRS - gnome.defaultIconTheme + gnome.adwaita-icon-theme ]; unpackPhase = '' diff --git a/pkgs/applications/networking/browsers/links2/default.nix b/pkgs/applications/networking/browsers/links2/default.nix index ff165f99ae9b8d29c52df3b63128a112c3c822ea..59ba69c1c4da3e049f2e585e34a88237670d493b 100644 --- a/pkgs/applications/networking/browsers/links2/default.nix +++ b/pkgs/applications/networking/browsers/links2/default.nix @@ -8,12 +8,12 @@ }: stdenv.mkDerivation rec { - version = "2.16"; + version = "2.19"; name = "links2-${version}"; src = fetchurl { url = "${meta.homepage}/download/links-${version}.tar.bz2"; - sha256 = "0gsa2gpb1grhssl5jzpc5pa0zi21mxi8g25rh5bacl70slw31w42"; + sha256 = "02ls11c02p7xvsdjyb43rrzr850i1yly003r812z0w5vv5yqqxbh"; }; buildInputs = with stdenv.lib; diff --git a/pkgs/applications/networking/browsers/luakit/default.nix b/pkgs/applications/networking/browsers/luakit/default.nix index 7142ba6140b4e793b1a89371c38c6af14c233965..60e9c603e29eca1322a82c90b2e26cb1a0847317 100644 --- a/pkgs/applications/networking/browsers/luakit/default.nix +++ b/pkgs/applications/networking/browsers/luakit/default.nix @@ -1,6 +1,7 @@ -{stdenv, fetchFromGitHub, pkgconfig, wrapGAppsHook, makeWrapper -,help2man, lua5, luafilesystem, luajit, sqlite -,webkitgtk, gtk3, gst_all_1}: +{ stdenv, fetchFromGitHub, pkgconfig, wrapGAppsHook +, help2man, lua5, luafilesystem, luajit, sqlite +, webkitgtk, gtk3, gst_all_1, glib-networking +}: let lualibs = [luafilesystem]; @@ -11,50 +12,56 @@ let luaCPath = stdenv.lib.concatStringsSep ";" (map getLuaCPath lualibs); in stdenv.mkDerivation rec { + pname = "luakit"; + version = "2.1"; - name = "luakit-${version}"; - version = "2017.08.10"; src = fetchFromGitHub { owner = "luakit"; repo = "luakit"; - rev = "${version}"; - sha256 = "09z88b50vf2y64vj79cymknyzk3py6azv4r50jng4cw9jx2ray7r"; + rev = version; + sha256 = "05mm76g72fs48410pbij4mw0s3nqji3r7f3mnr2fvhv02xqj05aa"; }; - nativeBuildInputs = [pkgconfig help2man wrapGAppsHook makeWrapper]; + nativeBuildInputs = [ + pkgconfig help2man wrapGAppsHook + ]; - buildInputs = [webkitgtk lua5 luafilesystem luajit sqlite gtk3 + buildInputs = [ + webkitgtk lua5 luafilesystem luajit sqlite gtk3 gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad gst_all_1.gst-plugins-ugly gst_all_1.gst-libav - ]; - - postPatch = - #Kind of ugly seds here. There must be a better solution. - '' - patchShebangs ./build-utils - sed -i "2 s|require \"lib.lousy.util\"|dofile(\"./lib/lousy/util.lua\")|" ./build-utils/docgen/gen.lua; - sed -i "3 s|require \"lib.markdown\"|dofile(\"./lib/markdown.lua\")|" ./build-utils/docgen/gen.lua; - sed -i "1,2 s|require(\"lib.lousy.util\")|dofile(\"./lib/lousy/util.lua\")|" ./build-utils/find_files.lua; - ''; + glib-networking # TLS support + ]; - buildPhase = '' - make DEVELOPMENT_PATHS=0 USE_LUAJIT=1 INSTALLDIR=$out PREFIX=$out USE_GTK3=1 + preBuild = '' + # build-utils/docgen/gen.lua:2: module 'lib.lousy.util' not found + # TODO: why is not this the default? + LUA_PATH=?.lua ''; - installPhase = let + makeFlags = [ + "DEVELOPMENT_PATHS=0" + "USE_LUAJIT=1" + "INSTALLDIR=${placeholder "out"}" + "PREFIX=${placeholder "out"}" + "USE_GTK3=1" + "XDGPREFIX=${placeholder "out"}/etc/xdg" + ]; + + preFixup = let luaKitPath = "$out/share/luakit/lib/?/init.lua;$out/share/luakit/lib/?.lua"; in '' - make DEVELOPMENT_PATHS=0 INSTALLDIR=$out PREFIX=$out XDGPREFIX=$out/etc/xdg USE_GTK3=1 install - wrapProgram $out/bin/luakit \ - --prefix XDG_CONFIG_DIRS : "$out/etc/xdg" \ - --set LUA_PATH '${luaKitPath};${luaPath};' \ + gappsWrapperArgs+=( + --prefix XDG_CONFIG_DIRS : "$out/etc/xdg" + --set LUA_PATH '${luaKitPath};${luaPath};' --set LUA_CPATH '${luaCPath};' + ) ''; meta = with stdenv.lib; { description = "Fast, small, webkit based browser framework extensible in Lua"; - homepage = "http://luakit.org"; + homepage = http://luakit.org; license = licenses.gpl3; platforms = platforms.linux; # Only tested linux }; diff --git a/pkgs/applications/networking/browsers/lynx/default.nix b/pkgs/applications/networking/browsers/lynx/default.nix index 6097c0e95f0d94d204431eb73c87fb98ef4d187f..cb44e79839b0ce34480eb95352d3cd5e21b3c89f 100644 --- a/pkgs/applications/networking/browsers/lynx/default.nix +++ b/pkgs/applications/networking/browsers/lynx/default.nix @@ -8,14 +8,14 @@ assert sslSupport -> openssl != null; stdenv.mkDerivation rec { name = "lynx-${version}"; - version = "2.8.9dev.17"; + version = "2.8.9rel.1"; src = fetchurl { urls = [ "ftp://ftp.invisible-island.net/lynx/tarballs/lynx${version}.tar.bz2" "https://invisible-mirror.net/archives/lynx/tarballs/lynx${version}.tar.bz2" ]; - sha256 = "1lvfsnrw5mmwrmn1m76q9mx287xwm3h5lg8sv7bcqilc0ywi2f54"; + sha256 = "15cmyyma2kz1hfaa6mwjgli8zwdzq3jv0q2cl6nwzycjfwyijzrq"; }; enableParallelBuilding = true; diff --git a/pkgs/applications/networking/browsers/midori/default.nix b/pkgs/applications/networking/browsers/midori/default.nix index f7d4f1a694171c952ff46ce8d8057a31bcf0c81d..131209033836e09af429ee7911ebfe7066f18e87 100644 --- a/pkgs/applications/networking/browsers/midori/default.nix +++ b/pkgs/applications/networking/browsers/midori/default.nix @@ -1,54 +1,31 @@ -{ stdenv, fetchurl, cmake, pkgconfig, intltool, vala_0_34, wrapGAppsHook -, gtk3, webkitgtk, librsvg, libnotify, sqlite -, glib-networking, gsettings-desktop-schemas, libsoup, pcre, gnome3 -, libxcb, libpthreadstubs, libXdmcp, libxkbcommon, epoxy, at-spi2-core -, zeitgeistSupport ? false, zeitgeist ? null +{ stdenv, fetchurl, cmake, ninja, pkgconfig, intltool, vala, wrapGAppsHook, gcr, libpeas +, gtk3, webkitgtk, sqlite, gsettings-desktop-schemas, libsoup, glib-networking, gnome3 }: -assert zeitgeistSupport -> zeitgeist != null; - stdenv.mkDerivation rec { - name = "midori-${version}"; - version = "0.5.11"; - - meta = with stdenv.lib; { - description = "Lightweight WebKitGTK+ web browser"; - homepage = http://midori-browser.org; - license = with licenses; [ lgpl21Plus ]; - platforms = with platforms; linux; - maintainers = with maintainers; [ raskin ramkromberg ]; - }; + pname = "midori"; + version = "7"; src = fetchurl { - urls = [ - "${meta.homepage}/downloads/midori_${version}_all_.tar.bz2" - "http://mirrors-ru.go-parts.com/blfs/conglomeration/midori/midori_${version}_all_.tar.bz2" - ]; - name = "midori_${version}_all_.tar.bz2"; - sha256 = "0gcwqkcyliqz10i33ww3wl02mmfnl7jzl2d493l4l53ipsb1l6cn"; + url = "https://github.com/midori-browser/core/releases/download/v${version}/midori-v${version}.0.tar.gz"; + sha256 = "0ffdnjp55s0ci737vlhxikb2nihghwlb6mjcjzpgpnzi47vjqnwh"; }; nativeBuildInputs = [ - pkgconfig wrapGAppsHook cmake intltool vala_0_34 + pkgconfig cmake ninja intltool vala wrapGAppsHook ]; buildInputs = [ - gtk3 webkitgtk librsvg libnotify sqlite gsettings-desktop-schemas pcre gnome3.gcr - libxcb libpthreadstubs libXdmcp libxkbcommon epoxy at-spi2-core - (libsoup.override {gnomeSupport = true; valaSupport = true;}) - ] ++ stdenv.lib.optionals zeitgeistSupport [ - zeitgeist + gtk3 webkitgtk sqlite gsettings-desktop-schemas gcr + (libsoup.override { gnomeSupport = true; }) libpeas + glib-networking ]; - cmakeFlags = [ - "-DUSE_ZEITGEIST=${if zeitgeistSupport then "ON" else "OFF"}" - "-DHALF_BRO_INCOM_WEBKIT2=ON" - "-DUSE_GTK3=1" - ]; - - NIX_LDFLAGS="-lX11"; - - preFixup = '' - gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" --prefix GIO_EXTRA_MODULES : "${glib-networking.out}/lib/gio/modules") - ''; + meta = with stdenv.lib; { + description = "Lightweight WebKitGTK+ web browser"; + homepage = https://www.midori-browser.org/; + license = with licenses; [ lgpl21Plus ]; + platforms = with platforms; linux; + maintainers = with maintainers; [ raskin ramkromberg ]; + }; } diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix index 94d0e9e5badd0037bed65d118f043525c0366bb9..417bdf60b128d488445343a19213d28e525fff20 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix @@ -33,6 +33,7 @@ , libXxf86vm , libdrm , libffi +, libglvnd , libpng , libvdpau , libxcb @@ -60,38 +61,38 @@ let arch = - if stdenv.system == "x86_64-linux" then + if stdenv.hostPlatform.system == "x86_64-linux" then "x86_64" - else if stdenv.system == "i686-linux" then + else if stdenv.hostPlatform.system == "i686-linux" then "i386" else throw "Flash Player is not supported on this platform"; lib_suffix = - if stdenv.system == "x86_64-linux" then + if stdenv.hostPlatform.system == "x86_64-linux" then "64" else ""; in stdenv.mkDerivation rec { name = "flashplayer-${version}"; - version = "30.0.0.154"; + version = "32.0.0.171"; src = fetchurl { url = if debug then - "https://fpdownload.macromedia.com/pub/flashplayer/updaters/30/flash_player_npapi_linux_debug.${arch}.tar.gz" + "https://fpdownload.macromedia.com/pub/flashplayer/updaters/32/flash_player_npapi_linux_debug.${arch}.tar.gz" else "https://fpdownload.adobe.com/get/flashplayer/pdc/${version}/flash_player_npapi_linux.${arch}.tar.gz"; sha256 = if debug then if arch == "x86_64" then - "04hfh0vn1n70gdpfydq0sj94d6rkbk80h4pmy3rsfvhg0x540wx8" + "0dl2kxsn4wh3243qkwyq13ikbmz6ljg95a1v02cylz36kpfl51iv" else - "073327sszbvkglh5b18axmwv40sy2vyacdhcd1fx82qskv44sfda" + "1v9imcyml55qlvp0cibi5r5kl0rcivzvmnqgw8ph3xjm1yrxw3fr" else if arch == "x86_64" then - "03ypgzy88ck5rn1q971v0km9yw3p10ly1zkxh239v6nx0hs35w84" + "1f3nl4qkws16q2yw940vvb0zmmwxks1blm4ida65hlda6f9zfq3h" else - "0rld7i659ccp4gvcvdkqkc1lajvlss5d4qndzf9aqiksvdknv62x"; + "0df9nbxyn4wl4ap333mgnnmy994xj7i5hz07sw83pszlz3pjkc0m"; }; nativeBuildInputs = [ unzip ]; @@ -132,8 +133,8 @@ stdenv.mkDerivation rec { alsaLib atk bzip2 cairo curl expat fontconfig freetype gdk_pixbuf glib glibc graphite2 gtk2 harfbuzz libICE libSM libX11 libXau libXcomposite libXcursor libXdamage libXdmcp libXext libXfixes libXi libXinerama - libXrandr libXrender libXt libXxf86vm libdrm libffi libpng libvdpau - libxcb libxshmfence nspr nss pango pcre pixman zlib + libXrandr libXrender libXt libXxf86vm libdrm libffi libglvnd libpng + libvdpau libxcb libxshmfence nspr nss pango pcre pixman zlib ]; meta = { diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix index ba8a8de9320906c82c56008c43b4a19786257895..cfee25bf3f80efe0ccaabbb5fd4757af6c61b320 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix @@ -33,6 +33,7 @@ , libXxf86vm , libdrm , libffi +, libglvnd , libpng , libvdpau , libxcb @@ -49,19 +50,19 @@ stdenv.mkDerivation rec { name = "flashplayer-standalone-${version}"; - version = "30.0.0.154"; + version = "32.0.0.171"; src = fetchurl { url = if debug then - "https://fpdownload.macromedia.com/pub/flashplayer/updaters/30/flash_player_sa_linux_debug.x86_64.tar.gz" + "https://fpdownload.macromedia.com/pub/flashplayer/updaters/32/flash_player_sa_linux_debug.x86_64.tar.gz" else - "https://fpdownload.macromedia.com/pub/flashplayer/updaters/30/flash_player_sa_linux.x86_64.tar.gz"; + "https://fpdownload.macromedia.com/pub/flashplayer/updaters/32/flash_player_sa_linux.x86_64.tar.gz"; sha256 = if debug then - "133zhgc5fh6s0xr93lv70xcrgvaj7lhjxk5w7xz79h3mp185p3g4" + "0z4fkqbq1s63lpzfkyxllwx2wpizbabr4zim1dn7n59ld75vjxq8" else - "1xz1l5q0zahalh0l4mkrwhmfrmcli3sckg3rcfnllizq9rbfzcmr"; + "0nvgcdmgvgbj6axrh0yzkk437bxwsaxl0mvfkcyyz1hxnq51dvvg"; }; nativeBuildInputs = [ unzip ]; @@ -88,8 +89,8 @@ stdenv.mkDerivation rec { alsaLib atk bzip2 cairo curl expat fontconfig freetype gdk_pixbuf glib glibc graphite2 gtk2 harfbuzz libICE libSM libX11 libXau libXcomposite libXcursor libXdamage libXdmcp libXext libXfixes libXi libXinerama - libXrandr libXrender libXt libXxf86vm libdrm libffi libpng libvdpau - libxcb libxshmfence nspr nss pango pcre pixman zlib + libXrandr libXrender libXt libXxf86vm libdrm libffi libglvnd libpng + libvdpau libxcb libxshmfence nspr nss pango pcre pixman zlib ]; meta = { @@ -98,5 +99,8 @@ stdenv.mkDerivation rec { license = stdenv.lib.licenses.unfree; maintainers = []; platforms = [ "x86_64-linux" ]; + # Application crashed with an unhandled SIGSEGV + # Not on all systems, though. Video driver problem? + broken = false; }; } diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix index a172e0e8d5d9cb234d3ff4ac6c872c7723728bec..71b5161c1e39d3884eccd507a0e63efc73a67e06 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix @@ -54,12 +54,12 @@ stdenv.mkDerivation rec { version = "5.41.3.0"; src = - if stdenv.system == "x86_64-linux" then + if stdenv.hostPlatform.system == "x86_64-linux" then fetchurl { url = "${baseURL}/google-talkplugin_${version}-1_amd64.deb"; sha1 = "0bbc3d6997ba22ce712d93e5bc336c894b54fc81"; } - else if stdenv.system == "i686-linux" then + else if stdenv.hostPlatform.system == "i686-linux" then fetchurl { url = "${baseURL}/google-talkplugin_${version}-1_i386.deb"; sha1 = "6eae0544858f85c68b0cc46d7786e990bd94f139"; diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/mozplugger/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/mozplugger/default.nix index a226cb6fa3b835b9e43aaa916643344d615b97f5..c6c1d6a334cde76c86e4cd9889f9bd9de7a5bf0c 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/mozplugger/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/mozplugger/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, firefox, libX11, xproto }: +{ stdenv, fetchurl, firefox, libX11, xorgproto }: stdenv.mkDerivation rec { name = "mozplugger-${version}"; @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "1vszkq4kdbaxsrqr2xn9rq6ipza9fngdri79gvjqk3bvsdmg0k19"; }; - buildInputs = [ firefox libX11 xproto ]; + buildInputs = [ firefox libX11 xorgproto ]; installPhase = '' mkdir -p "$out/etc" "$out/bin" "$out/lib/mozilla/plugins" "$out/share/man/man7" diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/trezor/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/trezor/default.nix deleted file mode 100644 index 3d4e0fc002257fb2ba651d22fd30cc1f676d6d1d..0000000000000000000000000000000000000000 --- a/pkgs/applications/networking/browsers/mozilla-plugins/trezor/default.nix +++ /dev/null @@ -1,46 +0,0 @@ -{ stdenv, fetchurl, dpkg }: - -stdenv.mkDerivation { - name = "TREZOR-bridge-1.0.5"; - - passthru = { - mozillaPlugin = "/lib/mozilla/plugins"; - }; - - src = - if stdenv.system == "x86_64-linux" then - fetchurl { - url = https://mytrezor.com/data/plugin/1.0.5/browser-plugin-trezor_1.0.5_amd64.deb; - sha256 = "0097h4v88yca4aayzprrh4pk03xvvj7ncz2mi83chm81gsr2v67z"; - } - else - fetchurl { - url = https://mytrezor.com/data/plugin/1.0.5/browser-plugin-trezor_1.0.5_i386.deb; - sha256 = "0xzbq78s3ivg00f0bj6gyjgf47pvjx2l4mm05jjmdar60bf1xr1n"; - }; - - phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; - - dontStrip = true; - dontPatchELF = true; - - unpackPhase = "${dpkg}/bin/dpkg-deb -x $src ."; - - installPhase = '' - mkdir -p $out/etc/udev/rules.d/ $out/lib/mozilla/plugins - cp ./lib/udev/rules.d/51-trezor-udev.rules $out/etc/udev/rules.d/ - cp ./usr/lib/mozilla/plugins/npBitcoinTrezorPlugin.so $out/lib/mozilla/plugins - ''; - - meta = with stdenv.lib; - { description = "Plugin for browser to TREZOR device communication"; - homepage = https://mytrezor.com; - license = licenses.unfree; - maintainers = with maintainers; [ ehmry ]; - # Download URL, .deb content & hash (yikes) changed, not version. - # New archive doesn't contain any Mozilla plugin at all. - broken = true; - platforms = platforms.linux; - }; - -} diff --git a/pkgs/applications/networking/browsers/opera/default.nix b/pkgs/applications/networking/browsers/opera/default.nix index efbfee487c6d78c0ff311be8b088fa3f89ce4148..599a0a20d7d708663616af4fb4f78ef226b135da 100644 --- a/pkgs/applications/networking/browsers/opera/default.nix +++ b/pkgs/applications/networking/browsers/opera/default.nix @@ -27,6 +27,7 @@ , libXtst , libnotify , libpulseaudio +, libuuid , nspr , nss , pango @@ -38,7 +39,7 @@ let mirror = https://get.geo.opera.com/pub/opera/desktop; - version = "53.0.2907.99"; + version = "56.0.3051.99"; rpath = stdenv.lib.makeLibraryPath [ @@ -70,6 +71,7 @@ let libXtst.out libxcb.out libnotify.out + libuuid.out nspr.out nss.out pango.out @@ -92,7 +94,7 @@ in stdenv.mkDerivation { src = fetchurl { url = "${mirror}/${version}/linux/opera-stable_${version}_amd64.deb"; - sha256 = "0fih5047xv275rmbcr2drji81wxi6p0kyp172mmn328g3pzddmwx"; + sha256 = "1mf4lpb66w63kafjni5caq9k3lmsqd85161q29z5lr1s2cx9qqm8"; }; unpackCmd = "${dpkg}/bin/dpkg-deb -x $curSrc ."; @@ -115,7 +117,7 @@ in stdenv.mkDerivation { ''; meta = { - homepage = http://www.opera.com; + homepage = https://www.opera.com; description = "Web browser"; platforms = [ "x86_64-linux" ]; license = stdenv.lib.licenses.unfree; diff --git a/pkgs/applications/networking/browsers/otter/default.nix b/pkgs/applications/networking/browsers/otter/default.nix index d1f50627d905d5bdb93c6d2f7db9035d7a2f7d17..b7118b49dae63a7b3f0bd575c86ba1cf6f58fa9b 100644 --- a/pkgs/applications/networking/browsers/otter/default.nix +++ b/pkgs/applications/networking/browsers/otter/default.nix @@ -1,7 +1,7 @@ { stdenv, cmake, fetchFromGitHub -, qtbase, qtmultimedia, qtwebengine -, version ? "0.9.96" -, sourceSha ? "1xzfy3jjx9sskwwbk7l8hnwnjf8af62p4kjkydp0ld0j50apc39p" +, qtbase, qtmultimedia, qtwebengine, qtxmlpatterns +, version ? "1.0.01" +, sourceSha ? "1jw8bj3lcqngr0mqwvz1gf47qjxbwiyda7x4sm96a6ckga7pcwyb" }: stdenv.mkDerivation { name = "otter-browser-${version}"; @@ -15,9 +15,10 @@ stdenv.mkDerivation { nativeBuildInputs = [ cmake ]; - buildInputs = [ qtbase qtmultimedia qtwebengine ]; + buildInputs = [ qtbase qtmultimedia qtwebengine qtxmlpatterns ]; meta = with stdenv.lib; { + homepage = https://otter-browser.org; license = licenses.gpl3Plus; description = "Browser aiming to recreate the best aspects of the classic Opera (12.x) UI using Qt5"; maintainers = with maintainers; [ lheckemann ]; diff --git a/pkgs/applications/networking/browsers/palemoon/default.nix b/pkgs/applications/networking/browsers/palemoon/default.nix index fcc653e08f41b947108892b4d194cb605254658e..0d863ae9131442421e6a8817d34d3b008bb3e5fe 100644 --- a/pkgs/applications/networking/browsers/palemoon/default.nix +++ b/pkgs/applications/networking/browsers/palemoon/default.nix @@ -46,7 +46,7 @@ stdenv.mkDerivation rec { libpulseaudio sqlite unzip which yasm zip zlib ] ++ (with xorg; [ libX11 libXext libXft libXi libXrender libXScrnSaver - libXt pixman scrnsaverproto xextproto + libXt pixman xorgproto ]); enableParallelBuilding = true; diff --git a/pkgs/applications/networking/browsers/qtchan/default.nix b/pkgs/applications/networking/browsers/qtchan/default.nix index f6bc05371f30f8f24980c20acd6924ae42f7a50b..df956addf5ccdef9caaa61157e5285974bbb6b2a 100644 --- a/pkgs/applications/networking/browsers/qtchan/default.nix +++ b/pkgs/applications/networking/browsers/qtchan/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, qt, makeWrapper }: +{ stdenv, fetchFromGitHub, fetchpatch, qt, makeWrapper }: stdenv.mkDerivation rec { name = "qtchan-${version}"; @@ -11,6 +11,13 @@ stdenv.mkDerivation rec { sha256 = "0n94jd6b1y8v6x5lkinr9rzm4bjg9xh9m7zj3j73pgq829gpmj3a"; }; + patches = [ + (fetchpatch { + url = https://github.com/siavash119/qtchan/commit/718abeee5cf4aca8c99b35b26f43909362a29ee6.patch; + sha256 = "11b72l5njvfsyapd479hp4yfvwwb1mhq3f077hwgg0waz5l7n00z"; + }) + ]; + enableParallelBuilding = true; nativeBuildInputs = [ qt.qmake makeWrapper ]; buildInputs = [ qt.qtbase ]; diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix index 47a273e99f98100319ac8bbf9f6d1a5bb7147c58..b6ccfdd921db0f8c81e8c46a0d28d30ae053c076 100644 --- a/pkgs/applications/networking/browsers/qutebrowser/default.nix +++ b/pkgs/applications/networking/browsers/qutebrowser/default.nix @@ -4,36 +4,29 @@ , libxslt, gst_all_1 ? null , withPdfReader ? true , withMediaPlayback ? true -, withWebEngineDefault ? true }: assert withMediaPlayback -> gst_all_1 != null; let - pdfjs = stdenv.mkDerivation rec { - name = "pdfjs-${version}"; + pdfjs = let version = "1.10.100"; - - src = fetchzip { - url = "https://github.com/mozilla/pdf.js/releases/download/${version}/${name}-dist.zip"; - sha256 = "04df4cf6i6chnggfjn6m1z9vb89f01a0l9fj5rk21yr9iirq9rkq"; - stripRoot = false; - }; - - buildCommand = '' - mkdir $out - cp -r $src $out - ''; + in + fetchzip rec { + name = "pdfjs-${version}"; + url = "https://github.com/mozilla/pdf.js/releases/download/v${version}/${name}-dist.zip"; + sha256 = "04df4cf6i6chnggfjn6m1z9vb89f01a0l9fj5rk21yr9iirq9rkq"; + stripRoot = false; }; in python3Packages.buildPythonApplication rec { pname = "qutebrowser"; - version = "1.4.1"; + version = "1.6.1"; # the release tarballs are different from the git checkout! src = fetchurl { url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/${pname}-${version}.tar.gz"; - sha256 = "0n2z92vb91gpfchdm9wsm712r9grbvxwdp4npl5c1nbq247dxwm3"; + sha256 = "1sckfp9l2jgg29p2p4vmd0g7yzbldimqy0a0jvf488yp47qj310p"; }; # Needs tox @@ -45,7 +38,7 @@ in python3Packages.buildPythonApplication rec { ] ++ lib.optionals withMediaPlayback (with gst_all_1; [ gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav - ]) ++ lib.optional (!withWebEngineDefault) python3Packages.qtwebkit-plugins; + ]); nativeBuildInputs = [ makeWrapper wrapGAppsHook asciidoc @@ -55,10 +48,19 @@ in python3Packages.buildPythonApplication rec { propagatedBuildInputs = with python3Packages; [ pyyaml pyqt5 jinja2 pygments pypeg2 cssutils pyopengl attrs + # scripts and userscripts libs + tldextract beautifulsoup4 + pyreadability pykeepass stem + ]; + + patches = [ + ./fix-restart.patch ]; postPatch = '' - sed -i "s,/usr/share/qutebrowser,$out/share/qutebrowser,g" qutebrowser/utils/standarddir.py + substituteInPlace qutebrowser/app.py --subst-var-by qutebrowser "$out/bin/qutebrowser" + + sed -i "s,/usr/share/,$out/share/,g" qutebrowser/utils/standarddir.py '' + lib.optionalString withPdfReader '' sed -i "s,/usr/share/pdf.js,${pdfjs},g" qutebrowser/browser/pdfjs.py ''; @@ -71,25 +73,32 @@ in python3Packages.buildPythonApplication rec { install -Dm644 doc/qutebrowser.1 "$out/share/man/man1/qutebrowser.1" install -Dm644 misc/qutebrowser.desktop \ "$out/share/applications/qutebrowser.desktop" + + # Install icons for i in 16 24 32 48 64 128 256 512; do install -Dm644 "icons/qutebrowser-''${i}x''${i}.png" \ "$out/share/icons/hicolor/''${i}x''${i}/apps/qutebrowser.png" done install -Dm644 icons/qutebrowser.svg \ "$out/share/icons/hicolor/scalable/apps/qutebrowser.svg" + + # Install scripts + sed -i "s,/usr/bin/,$out/bin/,g" scripts/open_url_in_instance.sh + install -Dm755 -t "$out/share/qutebrowser/scripts/" $(find scripts -type f) install -Dm755 -t "$out/share/qutebrowser/userscripts/" misc/userscripts/* - install -Dm755 -t "$out/share/qutebrowser/scripts/" \ - scripts/{importer.py,dictcli.py,keytester.py,open_url_in_instance.sh,utils.py} - ''; - postFixup = lib.optionalString (! withWebEngineDefault) '' - wrapProgram $out/bin/qutebrowser --add-flags "--backend webkit" + # Patch python scripts + buildPythonPath "$out $propagatedBuildInputs" + scripts=$(grep -rl python "$out"/share/qutebrowser/{user,}scripts/) + for i in $scripts; do + patchPythonScript "$i" + done ''; - meta = { - homepage = https://github.com/The-Compiler/qutebrowser; + meta = with stdenv.lib; { + 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 ]; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ jagajaga rnhmjoj ]; }; } diff --git a/pkgs/applications/networking/browsers/qutebrowser/fix-restart.patch b/pkgs/applications/networking/browsers/qutebrowser/fix-restart.patch new file mode 100644 index 0000000000000000000000000000000000000000..56f6bcebf2808142883ecb159e23eb3e94cedb3b --- /dev/null +++ b/pkgs/applications/networking/browsers/qutebrowser/fix-restart.patch @@ -0,0 +1,29 @@ +diff --git a/qutebrowser/app.py b/qutebrowser/app.py +index 2b6896b76..ee05f379d 100644 +--- a/qutebrowser/app.py ++++ b/qutebrowser/app.py +@@ -555,22 +555,8 @@ class Quitter: + args: The commandline as a list of strings. + cwd: The current working directory as a string. + """ +- if os.path.basename(sys.argv[0]) == 'qutebrowser': +- # Launched via launcher script +- args = [sys.argv[0]] +- cwd = None +- elif hasattr(sys, 'frozen'): +- args = [sys.executable] +- cwd = os.path.abspath(os.path.dirname(sys.executable)) +- else: +- args = [sys.executable, '-m', 'qutebrowser'] +- cwd = os.path.join( +- os.path.abspath(os.path.dirname(qutebrowser.__file__)), '..') +- if not os.path.isdir(cwd): +- # Probably running from a python egg. Let's fallback to +- # cwd=None and see if that works out. +- # See https://github.com/qutebrowser/qutebrowser/issues/323 +- cwd = None ++ args = ['@qutebrowser@'] ++ cwd = None + + # Add all open pages so they get reopened. + page_args = [] diff --git a/pkgs/applications/networking/browsers/surf/default.nix b/pkgs/applications/networking/browsers/surf/default.nix index 88680414d1c67ab0cd43fdbcd0b0cd7bdac98e7e..3a7612bb0fbc470befc8bf2b1b0bcfd6bf323842 100644 --- a/pkgs/applications/networking/browsers/surf/default.nix +++ b/pkgs/applications/networking/browsers/surf/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { inherit patches; - installFlags = [ "PREFIX=/" "DESTDIR=$(out)" ]; + installFlags = [ "PREFIX=$(out)" ]; meta = with stdenv.lib; { description = "A simple web browser based on WebKit/GTK+"; diff --git a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix index de6766709131a41a6ec32f6326c94c40907f9310..f37677b05213bcab80941971f2736adc74ca08ae 100644 --- a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix +++ b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix @@ -14,7 +14,7 @@ , freetype , gdk_pixbuf , glib -, gtk2 +, gtk3 , libxcb , libX11 , libXext @@ -29,21 +29,20 @@ # Media support (implies audio support) , mediaSupport ? false -, gstreamer -, gst-plugins-base -, gst-plugins-good -, gst-ffmpeg -, gmp , ffmpeg +, gmp + # Pluggable transport dependencies , python27 # Wrapper runtime , coreutils , glibcLocales -, hicolor-icon-theme +, gnome3 +, runtimeShell , shared-mime-info +, gsettings-desktop-schemas # Whether to disable multiprocess support to work around crashing tabs # TODO: fix the underlying problem instead of this terrible work-around @@ -51,6 +50,9 @@ # Extra preferences , extraPrefs ? "" + +# For meta +, tor-browser-bundle }: with stdenv.lib; @@ -67,7 +69,7 @@ let freetype gdk_pixbuf glib - gtk2 + gtk3 libxcb libX11 libXext @@ -80,25 +82,14 @@ let ] ++ optionals pulseaudioSupport [ libpulseaudio ] ++ optionals mediaSupport [ - gstreamer - gst-plugins-base - gmp ffmpeg ]; - gstPluginsPath = concatMapStringsSep ":" (x: - "${x}/lib/gstreamer-0.10") [ - gstreamer - gst-plugins-base - gst-plugins-good - gst-ffmpeg - ]; - # Library search path for the fte transport fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ]; # Upstream source - version = "7.5.6"; + version = "8.0.8"; lang = "en-US"; @@ -108,15 +99,15 @@ let "https://github.com/TheTorProject/gettorbrowser/releases/download/v${version}/tor-browser-linux64-${version}_${lang}.tar.xz" "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz" ]; - sha256 = "07z7lg5firyah0897pr04wqnbgf4mvsnk3gq2zgsg1rrwladxz5s"; + sha256 = "14ckbhfiyv01cxnd98iihfz7xvrgcd5k4j7pn9ag4a6xb2l80sxi"; }; "i686-linux" = fetchurl { urls = [ - "https://github.com/TheTorProject/gettorbrowser/releases/download/v${version}/tor-browser-linux32-${version}_${lang}.tar.xz" "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz" + "https://github.com/TheTorProject/gettorbrowser/releases/download/v${version}/tor-browser-linux32-${version}_${lang}.tar.xz" ]; - sha256 = "1s0k82ch7ypjyc5k5rb4skb9ylnp7b9ipvf8gb7pdhb8m4zjk461"; + sha256 = "0g9sd104b6xnbl2j3gbq1ga6j2h0x3jccays0gpbd235bxpjs39a"; }; }; in @@ -125,7 +116,7 @@ stdenv.mkDerivation rec { name = "tor-browser-bundle-bin-${version}"; inherit version; - src = srcs."${stdenv.system}" or (throw "unsupported system: ${stdenv.system}"); + src = srcs."${stdenv.hostPlatform.system}" or (throw "unsupported system: ${stdenv.hostPlatform.system}"); preferLocalBuild = true; allowSubstitutes = false; @@ -151,10 +142,14 @@ stdenv.mkDerivation rec { pushd "$TBB_IN_STORE" # Set ELF interpreter - for exe in firefox TorBrowser/Tor/tor ; do + for exe in firefox.real TorBrowser/Tor/tor ; do + echo "Setting ELF interpreter on $exe ..." >&2 patchelf --set-interpreter "$interp" "$exe" done + # firefox is a wrapper that checks for a more recent libstdc++ & appends it to the ld path + mv firefox.real firefox + # The final libPath. Note, we could split this into firefoxLibPath # and torLibPath for accuracy, but this is more convenient ... libPath=${libPath}:$TBB_IN_STORE:$TBB_IN_STORE/TorBrowser/Tor @@ -216,7 +211,7 @@ stdenv.mkDerivation rec { // Insist on using IPC for communicating with Tor // - // Defaults to creating $TBB_HOME/TorBrowser/Data/Tor/{socks,control}.socket + // Defaults to creating \$TBB_HOME/TorBrowser/Data/Tor/{socks,control}.socket lockPref("extensions.torlauncher.control_port_use_ipc", true); lockPref("extensions.torlauncher.socks_port_use_ipc", true); @@ -242,10 +237,6 @@ stdenv.mkDerivation rec { sed -i "$FONTCONFIG_FILE" \ -e "s,

fonts,$TBB_IN_STORE/fonts," - # Move default extension overrides into distribution dir, to avoid - # having to synchronize between local state and store. - mv TorBrowser/Data/Browser/profile.default/preferences/extension-overrides.js defaults/pref/torbrowser.js - # Preload extensions by moving into the runtime instead of storing under the # user's profile directory. mv "$TBB_IN_STORE/TorBrowser/Data/Browser/profile.default/extensions/"* \ @@ -261,14 +252,19 @@ stdenv.mkDerivation rec { EOF WRAPPER_XDG_DATA_DIRS=${concatMapStringsSep ":" (x: "${x}/share") [ - hicolor-icon-theme + gnome3.adwaita-icon-theme shared-mime-info ]} + WRAPPER_XDG_DATA_DIRS+=":"${concatMapStringsSep ":" (x: "${x}/share/gsettings-schemas/${x.name}") [ + glib + gsettings-desktop-schemas + gtk3 + ]}; # Generate wrapper mkdir -p $out/bin cat > "$out/bin/tor-browser" << EOF - #! ${stdenv.shell} + #! ${runtimeShell} set -o errexit -o nounset PATH=${makeBinPath [ coreutils ]} @@ -306,10 +302,12 @@ stdenv.mkDerivation rec { # easily generated by firefox at startup. rm -f "\$HOME/TorBrowser/Data/Browser/profile.default"/{compatibility.ini,extensions.ini,extensions.json} + # XDG + : "\''${XDG_RUNTIME_DIR:=/run/user/\$(id -u)}" + : "\''${XDG_CONFIG_HOME:=\$REAL_HOME/.config}" + ${optionalString pulseaudioSupport '' # Figure out some envvars for pulseaudio - : "\''${XDG_RUNTIME_DIR:=/run/user/\$(id -u)}" - : "\''${XDG_CONFIG_HOME:=\$REAL_HOME/.config}" : "\''${PULSE_SERVER:=\$XDG_RUNTIME_DIR/pulse/native}" : "\''${PULSE_COOKIE:=\$XDG_CONFIG_HOME/pulse/cookie}" ''} @@ -340,9 +338,9 @@ stdenv.mkDerivation rec { \ TMPDIR="\''${TMPDIR:-/tmp}" \ HOME="\$HOME" \ - XAUTHORITY="\''${XAUTHORITY:-}" \ + XAUTHORITY="\''${XAUTHORITY:-\$HOME/.Xauthority}" \ DISPLAY="\$DISPLAY" \ - DBUS_SESSION_BUS_ADDRESS="\$DBUS_SESSION_BUS_ADDRESS" \ + DBUS_SESSION_BUS_ADDRESS="\''${DBUS_SESSION_BUS_ADDRESS:-unix:path=\$XDG_RUNTIME_DIR/bus}" \\ \ XDG_DATA_HOME="\$HOME/.local/share" \ XDG_DATA_DIRS="$WRAPPER_XDG_DATA_DIRS" \ @@ -356,10 +354,6 @@ stdenv.mkDerivation rec { TOR_CONTROL_PORT="\''${TOR_CONTROL_PORT:-}" \ TOR_SOCKS_PORT="\''${TOR_SOCKS_PORT:-}" \ \ - GST_PLUGIN_SYSTEM_PATH="${optionalString mediaSupport gstPluginsPath}" \ - GST_REGISTRY="/dev/null" \ - GST_REGISTRY_UPDATE="no" \ - \ FONTCONFIG_FILE="$FONTCONFIG_FILE" \ \ LD_LIBRARY_PATH="$libPath" \ @@ -381,11 +375,7 @@ stdenv.mkDerivation rec { cp $desktopItem/share/applications"/"* $out/share/applications sed -i $out/share/applications/torbrowser.desktop \ -e "s,Exec=.*,Exec=$out/bin/tor-browser," \ - -e "s,Icon=.*,Icon=$out/share/pixmaps/torbrowser.png," - - # Install icons - mkdir -p $out/share/pixmaps - cp browser/icons/mozicon128.png $out/share/pixmaps/torbrowser.png + -e "s,Icon=.*,Icon=web-browser," # Check installed apps echo "Checking bundled Tor ..." @@ -397,7 +387,8 @@ stdenv.mkDerivation rec { ''; meta = with stdenv.lib; { - description = "Tor Browser Bundle"; + description = "Tor Browser Bundle built by torproject.org"; + longDescription = tor-browser-bundle.meta.longDescription; homepage = https://www.torproject.org/; platforms = attrNames srcs; maintainers = with maintainers; [ offline matejc doublec thoughtpolice joachifm ]; diff --git a/pkgs/applications/networking/browsers/tor-browser-bundle/default.nix b/pkgs/applications/networking/browsers/tor-browser-bundle/default.nix index 50b992253ceafa1c749235dc3e906fba747e7d55..2c6940e037cd699ab8afb1dcffeb1907a9febfaa 100644 --- a/pkgs/applications/networking/browsers/tor-browser-bundle/default.nix +++ b/pkgs/applications/networking/browsers/tor-browser-bundle/default.nix @@ -19,13 +19,10 @@ # Media support (implies audio support) , mediaSupport ? false -, gstreamer -, gst-plugins-base -, gst-plugins-good -, gst-ffmpeg -, gmp , ffmpeg +, gmp + # Extensions, common , zip @@ -72,18 +69,7 @@ let fontsDir = "${fontsEnv}/share/fonts"; - gstPluginsPath = concatMapStringsSep ":" (x: - "${x}/lib/gstreamer-0.10") [ - gstreamer - gst-plugins-base - gst-plugins-good - gst-ffmpeg - ]; - - gstLibPath = makeLibraryPath [ - gstreamer - gst-plugins-base - gmp + mediaLibPath = makeLibraryPath [ ffmpeg ]; in @@ -207,7 +193,7 @@ stdenv.mkDerivation rec { ''} ${optionalString mediaSupport '' - wrapper_LD_LIBRARY_PATH=${gstLibPath}''${wrapper_LD_LIBRARY_PATH:+:$wrapper_LD_LIBRARY_PATH} + wrapper_LD_LIBRARY_PATH=${mediaLibPath}''${wrapper_LD_LIBRARY_PATH:+:$wrapper_LD_LIBRARY_PATH} ''} mkdir -p $out/bin @@ -284,10 +270,6 @@ stdenv.mkDerivation rec { # # APULSE_PLAYBACK_DEVICE is for audio playback w/o pulseaudio (no capture yet) # - # GST_PLUGIN_SYSTEM_PATH is for HD video playback - # - # GST_REGISTRY is set to devnull to minimize disk writes - # # TOR_* is for using an external tor instance # # Parameters lacking a default value below are *required* (enforced by @@ -314,10 +296,6 @@ stdenv.mkDerivation rec { \ APULSE_PLAYBACK_DEVICE="\''${APULSE_PLAYBACK_DEVICE:-plug:dmix}" \ \ - GST_PLUGIN_SYSTEM_PATH="${optionalString mediaSupport gstPluginsPath}" \ - GST_REGISTRY="/dev/null" \ - GST_REGISTRY_UPDATE="no" \ - \ TOR_SKIP_LAUNCH="\''${TOR_SKIP_LAUNCH:-}" \ TOR_CONTROL_PORT="\''${TOR_CONTROL_PORT:-}" \ TOR_SOCKS_PORT="\''${TOR_SOCKS_PORT:-}" \ @@ -339,10 +317,30 @@ stdenv.mkDerivation rec { passthru.execdir = "/bin"; meta = with stdenv.lib; { - description = "An unofficial version of the tor browser bundle, built from source"; - homepage = https://torproject.org/; - license = licenses.free; - platforms = [ "x86_64-linux" ]; + description = "An unofficial version of the Tor Browser Bundle, built from source"; + longDescription = '' + Tor Browser Bundle is a bundle of the Tor daemon, Tor Browser (heavily patched version of + Firefox), several essential extensions for Tor Browser, and some tools that glue those + together with a convenient UI. + + `tor-browser-bundle-bin` package is the official version built by torproject.org patched with + `patchelf` to work under nix and with bundled scripts adapted to the read-only nature of + the `/nix/store`. + + `tor-browser-bundle` package is the version built completely from source. It reuses the `tor` + package for the tor daemon, `firefoxPackages.tor-browser` package for the tor-browser, and + builds all the extensions from source. + + Note that `tor-browser-bundle` package is not only built from source, but also bundles Tor + Browser differently from the official `tor-browser-bundle-bin` implementation. The official + Tor Browser is not a normal UNIX program and is heavily patched for its use in the Tor Browser + Bundle (which `tor-browser-bundle-bin` package then has to work around for the read-only + /nix/store). Meanwhile, `firefoxPackages.tor-browser` reverts all those patches, allowing + `firefoxPackages.tor-browser` to be used independently of the bundle, and then implements what + `tor-browser-bundle` needs for the bundling using a much simpler patch. See the + longDescription and expression of the `firefoxPackages.tor-browser` package for more info. + ''; + inherit (tor-browser-unwrapped.meta) homepage platforms license; hydraPlatforms = [ ]; maintainers = with maintainers; [ joachifm ]; }; diff --git a/pkgs/applications/networking/browsers/uzbl/default.nix b/pkgs/applications/networking/browsers/uzbl/default.nix index 12cf108355c401aa460dc7041f2b669240212a0d..1d08895f1b01221f4da5ec972d3b53f899bca669 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 -, webkit, glib-networking, gsettings-desktop-schemas, python2Packages +, webkitgtk, glib-networking, gsettings-desktop-schemas, python2Packages }: # This package needs python3 during buildtime, # but Python 2 + packages during runtime. @@ -40,6 +40,6 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig python3 makeWrapper ]; - buildInputs = [ gsettings-desktop-schemas webkit ]; + buildInputs = [ gsettings-desktop-schemas webkitgtk ]; propagatedBuildInputs = with python2Packages; [ pygtk six ]; } diff --git a/pkgs/applications/networking/browsers/vimb/default.nix b/pkgs/applications/networking/browsers/vimb/default.nix index 251315619cfd46dddfdd8835baf67c069f75f432..cc9bc38bc4db55fc3b5ce269599636b625791ad0 100644 --- a/pkgs/applications/networking/browsers/vimb/default.nix +++ b/pkgs/applications/networking/browsers/vimb/default.nix @@ -1,26 +1,22 @@ -{ stdenv, fetchurl, pkgconfig, libsoup, webkit, gtk2, glib-networking -, gsettings-desktop-schemas, makeWrapper +{ stdenv, fetchFromGitHub, pkgconfig, libsoup, webkitgtk, gtk3, glib-networking +, gsettings-desktop-schemas, wrapGAppsHook }: stdenv.mkDerivation rec { name = "vimb-${version}"; - version = "3.1.0"; + version = "3.3.0"; - src = fetchurl { - url = "https://github.com/fanglingsu/vimb/archive/${version}.tar.gz"; - sha256 = "1gws028c2v1zh6r142hmjvi2m447lwqqh65m6z3dzcar2yw35z3f"; + src = fetchFromGitHub { + owner = "fanglingsu"; + repo = "vimb"; + rev = version; + sha256 = "1qg18z2gnsli9qgrqfhqfrsi6g9mcgr90w8yab28nxrq4aha6brf"; }; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ makeWrapper gtk2 libsoup webkit gsettings-desktop-schemas ]; + nativeBuildInputs = [ wrapGAppsHook pkgconfig ]; + buildInputs = [ gtk3 libsoup webkitgtk glib-networking gsettings-desktop-schemas ]; - makeFlags = [ "PREFIX=$(out)" ]; - - preFixup = '' - wrapProgram "$out/bin/vimb" \ - --prefix GIO_EXTRA_MODULES : "${glib-networking.out}/lib/gio/modules" \ - --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" - ''; + makeFlags = [ "PREFIX=${placeholder "out"}" ]; meta = { description = "A Vim-like browser"; diff --git a/pkgs/applications/networking/browsers/vimprobable2/default.nix b/pkgs/applications/networking/browsers/vimprobable2/default.nix index 9de7518677deb95d003ee33b42969fe8e9122143..678f226816a89de4686d1e54c4461db50cc5d29a 100644 --- a/pkgs/applications/networking/browsers/vimprobable2/default.nix +++ b/pkgs/applications/networking/browsers/vimprobable2/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, makeWrapper, glib-networking, gtk2, libsoup, libX11, perl, - pkgconfig, webkit, gsettings-desktop-schemas }: + pkgconfig, webkitgtk, gsettings-desktop-schemas }: stdenv.mkDerivation rec { version = "1.4.2"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ makeWrapper gtk2 libsoup libX11 perl webkit gsettings-desktop-schemas ]; + buildInputs = [ makeWrapper gtk2 libsoup libX11 perl webkitgtk gsettings-desktop-schemas ]; hardeningDisable = [ "format" ]; diff --git a/pkgs/applications/networking/browsers/vivaldi/chromium-gcc-r1.patch b/pkgs/applications/networking/browsers/vivaldi/chromium-gcc-r1.patch deleted file mode 100644 index 036d57b601daa45fcd401771017fceca8c43d8a2..0000000000000000000000000000000000000000 --- a/pkgs/applications/networking/browsers/vivaldi/chromium-gcc-r1.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/base/numerics/safe_math_shared_impl.h b/base/numerics/safe_math_shared_impl.h -index 99f230ce7e9a..de2415d402f5 100644 ---- a/base/numerics/safe_math_shared_impl.h -+++ b/base/numerics/safe_math_shared_impl.h -@@ -21,8 +21,7 @@ - #if !defined(__native_client__) && \ - ((defined(__clang__) && \ - ((__clang_major__ > 3) || \ -- (__clang_major__ == 3 && __clang_minor__ >= 4))) || \ -- (defined(__GNUC__) && __GNUC__ >= 5)) -+ (__clang_major__ == 3 && __clang_minor__ >= 4)))) - #include "base/numerics/safe_math_clang_gcc_impl.h" - #define BASE_HAS_OPTIMIZED_SAFE_MATH (1) - #else \ No newline at end of file diff --git a/pkgs/applications/networking/browsers/vivaldi/chromium-gcc5-r1.patch b/pkgs/applications/networking/browsers/vivaldi/chromium-gcc5-r1.patch deleted file mode 100644 index 8d2886fbfa944a3004d7740be9fc60d896fd9798..0000000000000000000000000000000000000000 --- a/pkgs/applications/networking/browsers/vivaldi/chromium-gcc5-r1.patch +++ /dev/null @@ -1,66 +0,0 @@ ---- a/chrome/browser/devtools/devtools_file_system_indexer.cc -+++ b/chrome/browser/devtools/devtools_file_system_indexer.cc -@@ -34,7 +34,6 @@ using base::TimeDelta; - using base::TimeTicks; - using content::BrowserThread; - using std::map; --using std::set; - using std::string; - using std::vector; - -@@ -191,7 +190,7 @@ vector Index::Search(const string& query) { - if (trigram != kUndefinedTrigram) - trigrams.push_back(trigram); - } -- set file_ids; -+ std::set file_ids; - bool first = true; - vector::const_iterator it = trigrams.begin(); - for (; it != trigrams.end(); ++it) { -@@ -203,7 +202,7 @@ vector Index::Search(const string& query) { - first = false; - continue; - } -- set intersection = base::STLSetIntersection >( -+ std::set intersection = base::STLSetIntersection >( - file_ids, index_[trigram]); - file_ids.swap(intersection); - } -diff --git a/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h b/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h -index 94bb9161ec85..e40c6387f72e 100644 ---- a/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h -+++ b/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h -@@ -63,7 +63,7 @@ class WTF_EXPORT ArrayBufferContents { - allocation_length_(0), - data_(data), - data_length_(0), -- kind_(AllocationKind::kNormal), -+ kind_(WTF::ArrayBufferContents::AllocationKind::kNormal), - deleter_(deleter) {} - DataHandle(void* allocation_base, - size_t allocation_length, -@@ -94,11 +94,11 @@ class WTF_EXPORT ArrayBufferContents { - reinterpret_cast(allocation_base_) + - allocation_length_); - switch (kind_) { -- case AllocationKind::kNormal: -+ case WTF::ArrayBufferContents::AllocationKind::kNormal: - DCHECK(deleter_); - deleter_(data_); - return; -- case AllocationKind::kReservation: -+ case WTF::ArrayBufferContents::AllocationKind::kReservation: - ReleaseReservedMemory(allocation_base_, allocation_length_); - return; - } ---- a/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.orig 2017-08-15 12:45:59.433532111 +0000 -+++ b/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc 2017-08-15 17:52:59.691328825 +0000 -@@ -10,7 +10,7 @@ - - #include "webrtc/modules/audio_processing/aec3/aec_state.h" - --#include -+#include - #include - #include - \ No newline at end of file diff --git a/pkgs/applications/networking/browsers/vivaldi/chromium-gn-bootstrap-r14.patch b/pkgs/applications/networking/browsers/vivaldi/chromium-gn-bootstrap-r14.patch deleted file mode 100644 index 6242671536695b2dd0f114d62c1f5d78676e93cc..0000000000000000000000000000000000000000 --- a/pkgs/applications/networking/browsers/vivaldi/chromium-gn-bootstrap-r14.patch +++ /dev/null @@ -1,27 +0,0 @@ -commit 96c271f8ab2be7ea4199078ea65ac50c6ada4685 -Author: Pawel Hajdan, Jr -Date: Wed Jul 26 21:51:54 2017 +0000 - - wip - -diff --git a/tools/gn/bootstrap/bootstrap.py b/tools/gn/bootstrap/bootstrap.py -index 1390560f8e37..ff2ae57c46b0 100755 ---- a/tools/gn/bootstrap/bootstrap.py -+++ b/tools/gn/bootstrap/bootstrap.py -@@ -449,6 +449,7 @@ def write_gn_ninja(path, root_gen_dir, options): - 'base/metrics/histogram_base.cc', - 'base/metrics/histogram_functions.cc', - 'base/metrics/histogram_samples.cc', -+ 'base/metrics/histogram_snapshot_manager.cc', - 'base/metrics/metrics_hashes.cc', - 'base/metrics/persistent_histogram_allocator.cc', - 'base/metrics/persistent_memory_allocator.cc', -@@ -534,7 +535,7 @@ def write_gn_ninja(path, root_gen_dir, options): - 'base/trace_event/heap_profiler_allocation_context_tracker.cc', - 'base/trace_event/heap_profiler_allocation_register.cc', - 'base/trace_event/heap_profiler_event_filter.cc', -- 'base/trace_event/heap_profiler_event_writer.cc', -+ 'base/trace_event/heap_profiler_heap_dump_writer.cc', - 'base/trace_event/heap_profiler_serialization_state.cc', - 'base/trace_event/heap_profiler_stack_frame_deduplicator.cc', - 'base/trace_event/heap_profiler_type_name_deduplicator.cc', \ No newline at end of file diff --git a/pkgs/applications/networking/browsers/vivaldi/default.nix b/pkgs/applications/networking/browsers/vivaldi/default.nix index e6902aadd906fa2a7823e0465999debec03552ae..e5e162ff333fb4791ce5ec4b318f5454eceb2d33 100644 --- a/pkgs/applications/networking/browsers/vivaldi/default.nix +++ b/pkgs/applications/networking/browsers/vivaldi/default.nix @@ -4,24 +4,27 @@ , freetype, fontconfig, libXft, libXrender, libxcb, expat , libuuid , gstreamer, gst-plugins-base, libxml2 -, glib, gtk3, pango, gdk_pixbuf, cairo, atk, at-spi2-atk, gnome2 +, glib, gtk3, pango, gdk_pixbuf, cairo, atk, at-spi2-atk, at-spi2-core, gnome2 , nss, nspr , patchelf, makeWrapper +, isSnapshot ? false , proprietaryCodecs ? false, vivaldi-ffmpeg-codecs ? null }: -stdenv.mkDerivation rec { - name = "${product}-${version}"; - product = "vivaldi"; - version = "1.15.1147.42-1"; +let + branch = if isSnapshot then "snapshot" else "stable"; + vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi"; +in stdenv.mkDerivation rec { + pname = "vivaldi"; + version = "2.4.1488.40-1"; src = fetchurl { - url = "https://downloads.vivaldi.com/stable/${product}-stable_${version}_amd64.deb"; - sha256 = "15cajvn2sv05qdp3y538n2xvyy3il49q8zi5928z1mfirjz3dlwh"; + url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}_amd64.deb"; + sha256 = "0w084mamy72v1kkfgg8nn2q3hmfj7v216kkvqb52f1nyycqqzb37"; }; unpackPhase = '' - ar vx ${src} + ar vx $src tar -xvf data.tar.xz ''; @@ -30,7 +33,7 @@ stdenv.mkDerivation rec { buildInputs = [ stdenv.cc.cc stdenv.cc.libc zlib libX11 libXt libXext libSM libICE libxcb libXi libXft libXcursor libXfixes libXScrnSaver libXcomposite libXdamage libXtst libXrandr - atk at-spi2-atk alsaLib dbus cups gtk3 gdk_pixbuf libexif ffmpeg systemd + atk at-spi2-atk at-spi2-core alsaLib dbus cups gtk3 gdk_pixbuf libexif ffmpeg systemd freetype fontconfig libXrender libuuid expat glib nss nspr gstreamer libxml2 gst-plugins-base pango cairo gnome2.GConf ] ++ stdenv.lib.optional proprietaryCodecs vivaldi-ffmpeg-codecs; @@ -38,17 +41,17 @@ stdenv.mkDerivation rec { libPath = stdenv.lib.makeLibraryPath buildInputs + stdenv.lib.optionalString (stdenv.is64bit) (":" + stdenv.lib.makeSearchPathOutput "lib" "lib64" buildInputs) - + ":$out/opt/vivaldi/lib"; + + ":$out/opt/${vivaldiName}/lib"; buildPhase = '' echo "Patching Vivaldi binaries" patchelf \ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --set-rpath "${libPath}" \ - opt/vivaldi/vivaldi-bin + opt/${vivaldiName}/vivaldi-bin '' + stdenv.lib.optionalString proprietaryCodecs '' sed -i '/^VIVALDI_FFMPEG_FOUND/ a \ - checkffmpeg "${vivaldi-ffmpeg-codecs}/lib/libffmpeg.so"' opt/vivaldi/vivaldi + checkffmpeg "${vivaldi-ffmpeg-codecs}/lib/libffmpeg.so"' opt/${vivaldiName}/vivaldi '' + '' echo "Finished patching Vivaldi binaries" ''; @@ -60,16 +63,16 @@ stdenv.mkDerivation rec { mkdir -p "$out" cp -r opt "$out" mkdir "$out/bin" - ln -s "$out/opt/vivaldi/vivaldi" "$out/bin/vivaldi" + ln -s "$out/opt/${vivaldiName}/${vivaldiName}" "$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 + --replace /usr/bin/${vivaldiName} "$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"/opt/${vivaldiName}/product_logo_''${d}.png \ "$out"/share/icons/hicolor/''${d}x''${d}/apps/vivaldi.png done wrapProgram "$out/bin/vivaldi" \ diff --git a/pkgs/applications/networking/browsers/vivaldi/ffmpeg-codecs.nix b/pkgs/applications/networking/browsers/vivaldi/ffmpeg-codecs.nix index ab2c24727d7c29f7822a249cf5cd8e7ba43cf9af..ec2646440b31ad6285e7cd754f4a6c39b6b8ce44 100644 --- a/pkgs/applications/networking/browsers/vivaldi/ffmpeg-codecs.nix +++ b/pkgs/applications/networking/browsers/vivaldi/ffmpeg-codecs.nix @@ -1,37 +1,33 @@ { stdenv, fetchurl -, dbus-glib, gtk2, gtk3, libexif, libpulseaudio, libXScrnSaver, ninja, nss -, pciutils, pkgconfig, python2, xdg_utils +, dbus-glib, gtk3, libexif, libXScrnSaver, ninja, nss +, pciutils, pkgconfig, python2, xdg_utils, gn, at-spi2-core }: stdenv.mkDerivation rec { name = "${product}-${version}"; product = "vivaldi-ffmpeg-codecs"; - version = "61.0.3163.91"; + version = "72.0.3626.122"; src = fetchurl { url = "https://commondatastorage.googleapis.com/chromium-browser-official/chromium-${version}.tar.xz"; - sha512 = "3f07vwbxllrwy3agqxa6ndcix23vai18i178zscmk0y68flhzffyjdvrwlg7dzlwgiqypj2cyl21qb4qmcay2ilgw9vnr9fql2x0w7p"; + sha512 = "1477g5dgi4m0zbiqwm9w6jqkmjfmgjlbl3qs9ljldx8bif8my1jbz4hzws954aqxyxdbf5rjpvmrrqqppk5347prvsyl37rbsndaaqf"; }; buildInputs = [ ]; nativeBuildInputs = [ - dbus-glib gtk2 gtk3 libexif libpulseaudio libXScrnSaver ninja nss pciutils pkgconfig - python2 xdg_utils + gtk3 libexif libXScrnSaver ninja nss pciutils python2 xdg_utils gn + pkgconfig dbus-glib at-spi2-core.dev ]; patches = [ - ./chromium-gn-bootstrap-r14.patch - ./chromium-gcc-r1.patch - ./chromium-gcc5-r1.patch ]; configurePhase = '' runHook preConfigure - local args="ffmpeg_branding=\"ChromeOS\" proprietary_codecs=true enable_hevc_demuxing=true use_gconf=false use_gio=false use_gnome_keyring=false use_kerberos=false use_cups=false use_sysroot=false use_gold=false linux_use_bundled_binutils=false fatal_linker_warnings=false treat_warnings_as_errors=false is_clang=false is_component_build=true is_debug=false symbol_level=0" - python tools/gn/bootstrap/bootstrap.py -v -s --no-clean --gn-gen-args "$args" - out/Release/gn gen out/Release -v --args="$args" + local args="ffmpeg_branding=\"ChromeOS\" proprietary_codecs=true enable_hevc_demuxing=true use_gnome_keyring=false use_sysroot=false use_gold=false use_allocator=\"none\" linux_use_bundled_binutils=false fatal_linker_warnings=false treat_warnings_as_errors=false enable_nacl=false enable_nacl_nonsfi=false is_clang=false clang_use_chrome_plugins=false is_component_build=true is_debug=false symbol_level=0 use_custom_libcxx=false use_lld=false use_jumbo_build=false" + gn gen out/Release -v --args="$args" runHook postConfigure ''; @@ -53,6 +49,5 @@ stdenv.mkDerivation rec { license = licenses.lgpl21; maintainers = with maintainers; [ lluchs ]; platforms = [ "x86_64-linux" ]; - broken = true; }; } diff --git a/pkgs/applications/networking/browsers/vivaldi/update.sh b/pkgs/applications/networking/browsers/vivaldi/update.sh index 6ef6206c4f4a9672641f2579dfb6af897cf2e9f9..fc04137a9b02e16cfd1ec9d3421f13eea34d1c70 100755 --- a/pkgs/applications/networking/browsers/vivaldi/update.sh +++ b/pkgs/applications/networking/browsers/vivaldi/update.sh @@ -1,22 +1,22 @@ #!/usr/bin/env nix-shell #!nix-shell -i bash -p libarchive curl common-updater-scripts -set -eu -o pipefail +set -xeu -o pipefail cd "$(dirname "${BASH_SOURCE[0]}")" root=../../../../.. export NIXPKGS_ALLOW_UNFREE=1 version() { - (cd "$root" && nix-instantiate --eval --strict -A "$1.version" | tr -d '"') + (cd "$root" && nix-instantiate --eval --strict -A "$1.version" | tr -d '"') } vivaldi_version_old=$(version vivaldi) vivaldi_version=$(curl -sS https://vivaldi.com/download/ | sed -rne 's/.*vivaldi-stable_([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+-[0-9]+)_amd64\.deb.*/\1/p') if [[ "$vivaldi_version" = "$vivaldi_version_old" ]]; then - echo "nothing to do, vivaldi $vivaldi_version is current" - exit + echo "vivaldi is already up-to-date" + exit fi # Download vivaldi and save hash and file path. @@ -25,14 +25,22 @@ mapfile -t prefetch < <(nix-prefetch-url --print-path "$url") hash=${prefetch[0]} path=${prefetch[1]} -echo "vivaldi: $vivaldi_version_old -> $vivaldi_version" +nixpkgs="$(git rev-parse --show-toplevel)" +default_nix="$nixpkgs/pkgs/applications/networking/browsers/vivaldi/default.nix" +ffmpeg_nix="$nixpkgs/pkgs/applications/networking/browsers/vivaldi/ffmpeg-codecs.nix" + (cd "$root" && update-source-version vivaldi "$vivaldi_version" "$hash") +git add "${default_nix}" +git commit -m "vivaldi: ${vivaldi_version_old} -> ${vivaldi_version}" + # Check vivaldi-ffmpeg-codecs version. chromium_version_old=$(version vivaldi-ffmpeg-codecs) -chromium_version=$(bsdtar xOf "$path" data.tar.xz | bsdtar xOf - ./opt/vivaldi/vivaldi-bin | strings | grep -A2 -i '^chrome\/' | grep '^[0-9]\+\.[0-9]\+\.[1-9][0-9]\+\.[0-9]\+') +chromium_version=$(bsdtar xOf "$path" data.tar.xz | bsdtar xOf - ./opt/vivaldi/vivaldi-bin | strings | grep '^[0-9]\{2,\}\.[0-9]\+\.[0-9]\{4,\}\+\.[0-9]\+$') if [[ "$chromium_version" != "$chromium_version_old" ]]; then - echo "vivaldi-ffmpeg-codecs: $chromium_version_old -> $chromium_version" - (cd "$root" && update-source-version vivaldi-ffmpeg-codecs "$chromium_version") + (cd "$root" && update-source-version vivaldi-ffmpeg-codecs "$chromium_version") + + git add "${ffmpeg_nix}" + git commit -m "vivaldi-ffmepg-codecs: $chromium_version_old -> $chromium_version" fi diff --git a/pkgs/applications/networking/browsers/w3m/default.nix b/pkgs/applications/networking/browsers/w3m/default.nix index d1561a0652698bd36e60c3aadd1eaf1a29731164..136c14d34d48625d863c5909b5dd9ba0f5912347 100644 --- a/pkgs/applications/networking/browsers/w3m/default.nix +++ b/pkgs/applications/networking/browsers/w3m/default.nix @@ -1,10 +1,10 @@ { stdenv, fetchFromGitHub, fetchpatch , ncurses, boehmgc, gettext, zlib , sslSupport ? true, openssl ? null -, graphicsSupport ? true, imlib2 ? null +, graphicsSupport ? !stdenv.isDarwin, imlib2 ? null , x11Support ? graphicsSupport, libX11 ? null , mouseSupport ? !stdenv.isDarwin, gpm-ncurses ? null -, perl, man, pkgconfig +, perl, man, pkgconfig, buildPackages, w3m }: assert sslSupport -> openssl != null; @@ -14,14 +14,25 @@ assert mouseSupport -> gpm-ncurses != null; with stdenv.lib; -stdenv.mkDerivation rec { - name = "w3m-0.5.3+git20161120"; +let + mktable = buildPackages.stdenv.mkDerivation rec { + name = "w3m-mktable"; + inherit (w3m) src; + nativeBuildInputs = [ pkgconfig boehmgc ]; + makeFlags = [ "mktable" ]; + installPhase = '' + install -D mktable $out/bin/mktable + ''; + }; +in stdenv.mkDerivation rec { + pname = "w3m"; + version = "0.5.3+git20190105"; src = fetchFromGitHub { owner = "tats"; - repo = "w3m"; - rev = "v0.5.3+git20161120"; - sha256 = "06n5a9jdyihkd4xdjmyci32dpqp1k2l5awia5g9ng0bn256bacdc"; + repo = pname; + rev = "v${version}"; + sha256 = "1fbg2p8qh2gvi3g4iz4q6vc0k70pf248r4yndi5lcn2m3mzvjx0i"; }; NIX_LDFLAGS = optionalString stdenv.isSunOS "-lsocket -lnsl"; @@ -31,6 +42,8 @@ stdenv.mkDerivation rec { PERL = "${perl}/bin/perl"; MAN = "${man}/bin/man"; + makeFlags = [ "AR=${stdenv.cc.bintools.targetPrefix}ar" ]; + patches = [ ./RAND_egd.libressl.patch (fetchpatch { @@ -40,8 +53,14 @@ stdenv.mkDerivation rec { }) ] ++ optional (graphicsSupport && !x11Support) [ ./no-x11.patch ]; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ ncurses boehmgc gettext zlib ] + postPatch = optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' + ln -s ${mktable}/bin/mktable mktable + # stop make from recompiling mktable + sed -ie 's!mktable.*:.*!mktable:!' Makefile.in + ''; + + nativeBuildInputs = [ pkgconfig gettext ]; + buildInputs = [ ncurses boehmgc zlib ] ++ optional sslSupport openssl ++ optional mouseSupport gpm-ncurses ++ optional graphicsSupport imlib2 diff --git a/pkgs/applications/networking/charles/default.nix b/pkgs/applications/networking/charles/default.nix index 8a60023b43500f18e0391cbd099e1b13211ff4c6..e8d732cf6178409bc4f1e1a81ed0268ae9f2d13d 100644 --- a/pkgs/applications/networking/charles/default.nix +++ b/pkgs/applications/networking/charles/default.nix @@ -1,48 +1,68 @@ -{ stdenv, fetchurl, makeDesktopItem, jre, makeWrapper }: +{ +stdenv +, makeWrapper +, makeDesktopItem +, fetchurl +, jre +}: let - desktopItem = makeDesktopItem { - categories = "Network;Development;WebDevelopment;Java;"; - desktopName = "Charles"; - exec = "charles %F"; - genericName = "Web Debugging Proxy"; - icon = "charles-proxy"; - mimeType = "application/x-charles-savedsession;application/x-charles-savedsession+xml;application/x-charles-savedsession+json;application/har+json;application/vnd.tcpdump.pcap;application/x-charles-trace"; - name = "Charles"; - startupNotify = "true"; - }; - -in stdenv.mkDerivation rec { - name = "charles-${version}"; - version = "4.2.6"; - - src = fetchurl { - url = "https://www.charlesproxy.com/assets/release/${version}/charles-proxy-${version}.tar.gz"; - sha256 = "1hjfimyr9nnbbxadwni02d2xl64ybarh42l1g6hlslq5qwl8ywzb"; - }; - - buildInputs = [ makeWrapper ]; - - installPhase = '' - makeWrapper ${jre}/bin/java $out/bin/charles \ - --add-flags "-Xmx1024M -Dcharles.config='~/.charles.config' -jar $out/share/java/charles.jar" - - for fn in lib/*.jar; do - install -D -m644 $fn $out/share/java/$(basename $fn) - done - - mkdir -p $out/share/applications - ln -s ${desktopItem}/share/applications/* $out/share/applications/ - - mkdir -p $out/share/icons - cp -r icon $out/share/icons/hicolor - ''; - - meta = with stdenv.lib; { - description = "Web Debugging Proxy"; - homepage = https://www.charlesproxy.com/; - maintainers = [ maintainers.kalbasit ]; - license = stdenv.lib.licenses.unfree; - platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; - }; + generic = { version, sha256, ... }@attrs: + let + desktopItem = makeDesktopItem { + categories = "Network;Development;WebDevelopment;Java;"; + desktopName = "Charles"; + exec = "charles %F"; + genericName = "Web Debugging Proxy"; + icon = "charles-proxy"; + mimeType = "application/x-charles-savedsession;application/x-charles-savedsession+xml;application/x-charles-savedsession+json;application/har+json;application/vnd.tcpdump.pcap;application/x-charles-trace"; + name = "Charles"; + startupNotify = "true"; + }; + + attrs' = builtins.removeAttrs attrs ["version" "sha256"]; + in stdenv.mkDerivation rec { + name = "charles-${version}"; + inherit version; + + src = fetchurl { + url = "https://www.charlesproxy.com/assets/release/${version}/charles-proxy-${version}.tar.gz"; + inherit sha256; + }; + buildInputs = [ makeWrapper ]; + + installPhase = '' + makeWrapper ${jre}/bin/java $out/bin/charles \ + --add-flags "-Xmx1024M -Dcharles.config='~/.charles.config' -jar $out/share/java/charles.jar" + + for fn in lib/*.jar; do + install -D -m644 $fn $out/share/java/$(basename $fn) + done + + mkdir -p $out/share/applications + ln -s ${desktopItem}/share/applications/* $out/share/applications/ + + mkdir -p $out/share/icons + cp -r icon $out/share/icons/hicolor + ''; + + meta = with stdenv.lib; { + description = "Web Debugging Proxy"; + homepage = https://www.charlesproxy.com/; + maintainers = [ maintainers.kalbasit ]; + license = stdenv.lib.licenses.unfree; + platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; + }; + }; + +in rec { + charles4 = (generic { + version = "4.2.8"; + sha256 = "1jzjdhzxgrq7pdfryfkg0hsjpyni14ma4x8jbdk1rqll78ccr080"; + }); + charles3 = (generic { + version = "3.12.3"; + sha256 = "13zk82ny1w5zd9qcs9qkq0kdb22ni5byzajyshpxdfm4zv6p32ss"; + }); } + diff --git a/pkgs/applications/networking/cloudflared/default.nix b/pkgs/applications/networking/cloudflared/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..fd047147e01aa8bcbb0f72a3e1a9f60116be6945 --- /dev/null +++ b/pkgs/applications/networking/cloudflared/default.nix @@ -0,0 +1,25 @@ +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + name = "cloudflared-${version}"; + version = "2018.10.3"; + + goPackagePath = "github.com/cloudflare/cloudflared"; + + src = fetchFromGitHub { + owner = "cloudflare"; + repo = "cloudflared"; + rev = "41916365b689bf2cc1446ea5717e4d26cc8aed43"; # untagged + sha256 = "109bhnmvlvj3ag9vw090fy202z8aaqr1rakhn8v550wwy30h9zkf"; + }; + + goDeps = ./deps.nix; + + meta = with stdenv.lib; { + description = "CloudFlare Argo Tunnel daemon (and DNS-over-HTTPS client)"; + homepage = https://www.cloudflare.com/products/argo-tunnel; + license = licenses.unfree; + platforms = platforms.unix; + maintainers = [ maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/applications/networking/cloudflared/deps.nix b/pkgs/applications/networking/cloudflared/deps.nix new file mode 100644 index 0000000000000000000000000000000000000000..da7f509378ddd1ca68fae77e1c526c132804a0e7 --- /dev/null +++ b/pkgs/applications/networking/cloudflared/deps.nix @@ -0,0 +1,444 @@ +# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix) +[ + { + goPackagePath = "github.com/BurntSushi/toml"; + fetch = { + type = "git"; + url = "https://github.com/BurntSushi/toml"; + rev = "b26d9c308763d68093482582cea63d69be07a0f0"; + sha256 = "0k7v2i1d2d6si8gswn83qb84czhhia53v2wdy33yz9ppdidxk0ry"; + }; + } + { + goPackagePath = "github.com/beorn7/perks"; + fetch = { + type = "git"; + url = "https://github.com/beorn7/perks"; + rev = "3a771d992973f24aa725d07868b467d1ddfceafb"; + sha256 = "1l2lns4f5jabp61201sh88zf3b0q793w4zdgp9nll7mmfcxxjif3"; + }; + } + { + goPackagePath = "github.com/certifi/gocertifi"; + fetch = { + type = "git"; + url = "https://github.com/certifi/gocertifi"; + rev = "deb3ae2ef2610fde3330947281941c562861188b"; + sha256 = "1xy09y1fdfcny1z09hd4493w1acj5min9z2sx4gfpshc80icrmr6"; + }; + } + { + goPackagePath = "github.com/cloudflare/brotli-go"; + fetch = { + type = "git"; + url = "https://github.com/cloudflare/brotli-go"; + rev = "18c9f6c67e3dfc12e0ddaca748d2887f97a7ac28"; + sha256 = "10112y4k8qing552n0df9w33cgminrzm6g3x7ng0vgin4sv59785"; + }; + } + { + goPackagePath = "github.com/coredns/coredns"; + fetch = { + type = "git"; + url = "https://github.com/coredns/coredns"; + rev = "992e7928c7c258628d2b13b769acc86781b9faea"; + sha256 = "0mvlkca11ikwzii0p7g5a2z3gn1xrp7qmmjwklp4i52lbnsawzv0"; + }; + } + { + goPackagePath = "github.com/coreos/go-oidc"; + fetch = { + type = "git"; + url = "https://github.com/coreos/go-oidc"; + rev = "a93f71fdfe73d2c0f5413c0565eea0af6523a6df"; + sha256 = "00pmmky0y9a9l767xn16xlf52h81j4869n6j0xql79rybp6xc1f3"; + }; + } + { + goPackagePath = "github.com/coreos/go-systemd"; + fetch = { + type = "git"; + url = "https://github.com/coreos/go-systemd"; + rev = "39ca1b05acc7ad1220e09f133283b8859a8b71ab"; + sha256 = "1kzqrrzqspa5qm7kwslxl3m16lqzns23c24rv474ajzwmj3ixmx1"; + }; + } + { + goPackagePath = "github.com/coreos/pkg"; + fetch = { + type = "git"; + url = "https://github.com/coreos/pkg"; + rev = "97fdf19511ea361ae1c100dd393cc47f8dcfa1e1"; + sha256 = "1srn87wih25l09f75483hnxsr8fc6rq3bk7w1x8125ym39p6mg21"; + }; + } + { + goPackagePath = "github.com/davecgh/go-spew"; + fetch = { + type = "git"; + url = "https://github.com/davecgh/go-spew"; + rev = "346938d642f2ec3594ed81d874461961cd0faa76"; + sha256 = "0d4jfmak5p6lb7n2r6yvf5p1zcw0l8j74kn55ghvr7zr7b7axm6c"; + }; + } + { + goPackagePath = "github.com/elgs/gosqljson"; + fetch = { + type = "git"; + url = "https://github.com/elgs/gosqljson"; + rev = "027aa4915315a0b2825c0f025cea347829b974fa"; + sha256 = "14i45m1y505acvsk4l725bp8p9w3mcg49khz9hxkzg3afg7nc5gq"; + }; + } + { + goPackagePath = "github.com/equinox-io/equinox"; + fetch = { + type = "git"; + url = "https://github.com/equinox-io/equinox"; + rev = "f24972fa72facf59d05c91c848b65eac38815915"; + sha256 = "1d3620g1kxyzn8b3py2471qp8ssyzm1qnpbap9gxrmg8912wiww1"; + }; + } + { + goPackagePath = "github.com/facebookgo/grace"; + fetch = { + type = "git"; + url = "https://github.com/facebookgo/grace"; + rev = "75cf19382434e82df4dd84953f566b8ad23d6e9e"; + sha256 = "15chyvgv5y59w9x2asm0vh29cmmcji7f5vxvv8gqcr15nkyi61q0"; + }; + } + { + goPackagePath = "github.com/flynn/go-shlex"; + fetch = { + type = "git"; + url = "https://github.com/flynn/go-shlex"; + rev = "3f9db97f856818214da2e1057f8ad84803971cff"; + sha256 = "1j743lysygkpa2s2gii2xr32j7bxgc15zv4113b0q9jhn676ysia"; + }; + } + { + goPackagePath = "github.com/getsentry/raven-go"; + fetch = { + type = "git"; + url = "https://github.com/getsentry/raven-go"; + rev = "ed7bcb39ff10f39ab08e317ce16df282845852fa"; + sha256 = "0pqggcjbia9sidxqxnyd5z5k44iswxaqss3qvkka8bfm082kczij"; + }; + } + { + goPackagePath = "github.com/golang-collections/collections"; + fetch = { + type = "git"; + url = "https://github.com/golang-collections/collections"; + rev = "604e922904d35e97f98a774db7881f049cd8d970"; + sha256 = "04g0xc1bs4aphc2rcj9knah2shmck500qagnazy4mg052b84ggwm"; + }; + } + { + goPackagePath = "github.com/golang/protobuf"; + fetch = { + type = "git"; + url = "https://github.com/golang/protobuf"; + rev = "b4deda0973fb4c70b50d226b1af49f3da59f5265"; + sha256 = "0ya4ha7m20bw048m1159ppqzlvda4x0vdprlbk5sdgmy74h3xcdq"; + }; + } + { + goPackagePath = "github.com/google/uuid"; + fetch = { + type = "git"; + url = "https://github.com/google/uuid"; + rev = "064e2069ce9c359c118179501254f67d7d37ba24"; + sha256 = "1b1ibx3rbiv7xwa9kz4b4zpp1fza5cjnn8v6749b4vrkjjmp3rqb"; + }; + } + { + goPackagePath = "github.com/gorilla/context"; + fetch = { + type = "git"; + url = "https://github.com/gorilla/context"; + rev = "08b5f424b9271eedf6f9f0ce86cb9396ed337a42"; + sha256 = "03p4hn87vcmfih0p9w663qbx9lpsf7i7j3lc7yl7n84la3yz63m4"; + }; + } + { + goPackagePath = "github.com/gorilla/mux"; + fetch = { + type = "git"; + url = "https://github.com/gorilla/mux"; + rev = "e3702bed27f0d39777b0b37b664b6280e8ef8fbf"; + sha256 = "0pvzm23hklxysspnz52mih6h1q74vfrdhjfm1l3sa9r8hhqmmld2"; + }; + } + { + goPackagePath = "github.com/gorilla/websocket"; + fetch = { + type = "git"; + url = "https://github.com/gorilla/websocket"; + rev = "ea4d1f681babbce9545c9c5f3d5194a789c89f5b"; + sha256 = "1bhgs2542qs49p1dafybqxfs2qc072xv41w5nswyrknwyjxxs2a1"; + }; + } + { + goPackagePath = "github.com/grpc-ecosystem/grpc-opentracing"; + fetch = { + type = "git"; + url = "https://github.com/grpc-ecosystem/grpc-opentracing"; + rev = "8e809c8a86450a29b90dcc9efbf062d0fe6d9746"; + sha256 = "1yz3gxhdipmi63n32y5srwx7p254k3fm8y64cimkb1gz7sw99nxw"; + }; + } + { + goPackagePath = "github.com/jonboulle/clockwork"; + fetch = { + type = "git"; + url = "https://github.com/jonboulle/clockwork"; + rev = "2eee05ed794112d45db504eb05aa693efd2b8b09"; + sha256 = "1pqxhsdavbp1n5grgyx2j6ylvql2fzn2cvpsgkc8li69dil7sibl"; + }; + } + { + goPackagePath = "github.com/lib/pq"; + fetch = { + type = "git"; + url = "https://github.com/lib/pq"; + rev = "90697d60dd844d5ef6ff15135d0203f65d2f53b8"; + sha256 = "0hb4bfsk8g5473yzbf3lzrb373xicakjznkf0v085xgimz991i9r"; + }; + } + { + goPackagePath = "github.com/mattn/go-colorable"; + fetch = { + type = "git"; + url = "https://github.com/mattn/go-colorable"; + rev = "167de6bfdfba052fa6b2d3664c8f5272e23c9072"; + sha256 = "1nwjmsppsjicr7anq8na6md7b1z84l9ppnlr045hhxjvbkqwalvx"; + }; + } + { + goPackagePath = "github.com/mattn/go-isatty"; + fetch = { + type = "git"; + url = "https://github.com/mattn/go-isatty"; + rev = "0360b2af4f38e8d38c7fce2a9f4e702702d73a39"; + sha256 = "06w45aqz2a6yrk25axbly2k5wmsccv8cspb94bfmz4izvw8h927n"; + }; + } + { + goPackagePath = "github.com/matttproud/golang_protobuf_extensions"; + fetch = { + type = "git"; + url = "https://github.com/matttproud/golang_protobuf_extensions"; + rev = "c12348ce28de40eed0136aa2b644d0ee0650e56c"; + sha256 = "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya"; + }; + } + { + goPackagePath = "github.com/mholt/caddy"; + fetch = { + type = "git"; + url = "https://github.com/mholt/caddy"; + rev = "d3b731e9255b72d4571a5aac125634cf1b6031dc"; + sha256 = "1183cfaryw7m3hvngzv87w80pc9vp3369sjyz7a0dlbr39jip1r0"; + }; + } + { + goPackagePath = "github.com/miekg/dns"; + fetch = { + type = "git"; + url = "https://github.com/miekg/dns"; + rev = "5a2b9fab83ff0f8bfc99684bd5f43a37abe560f1"; + sha256 = "1vmgkpmwlqg6pwrpvjbn4h4al6af5fjvwwnacyv18hvlfd3fyfmx"; + }; + } + { + goPackagePath = "github.com/mitchellh/go-homedir"; + fetch = { + type = "git"; + url = "https://github.com/mitchellh/go-homedir"; + rev = "3864e76763d94a6df2f9960b16a20a33da9f9a66"; + sha256 = "1n8vya16l60i5jms43yb8fzdgwvqa2q926p5wkg3lbrk8pxy1nv0"; + }; + } + { + goPackagePath = "github.com/opentracing/opentracing-go"; + fetch = { + type = "git"; + url = "https://github.com/opentracing/opentracing-go"; + rev = "1949ddbfd147afd4d964a9f00b24eb291e0e7c38"; + sha256 = "0i0ghg94dg8lk05mw5n23983wq04yjvkjmdkc9z5y1f3508938h9"; + }; + } + { + goPackagePath = "github.com/pkg/errors"; + fetch = { + type = "git"; + url = "https://github.com/pkg/errors"; + rev = "645ef00459ed84a119197bfb8d8205042c6df63d"; + sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5"; + }; + } + { + goPackagePath = "github.com/pmezard/go-difflib"; + fetch = { + type = "git"; + url = "https://github.com/pmezard/go-difflib"; + rev = "792786c7400a136282c1664665ae0a8db921c6c2"; + sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw"; + }; + } + { + goPackagePath = "github.com/prometheus/client_golang"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/client_golang"; + rev = "967789050ba94deca04a5e84cce8ad472ce313c1"; + sha256 = "1djwz6shmyx5kbp9b1pim3kncq2jwn3qhbx4b0b4lq7msww76hpz"; + }; + } + { + goPackagePath = "github.com/prometheus/client_model"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/client_model"; + rev = "99fa1f4be8e564e8a6b613da7fa6f46c9edafc6c"; + sha256 = "19y4ywsivhpxj7ikf2j0gm9k3cmyw37qcbfi78n526jxcc7kw998"; + }; + } + { + goPackagePath = "github.com/prometheus/common"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/common"; + rev = "7600349dcfe1abd18d72d3a1770870d9800a7801"; + sha256 = "0lsp94dqpj35dny4m4x15kg4wgwawlm3in7cnpajkkacgyxagk5f"; + }; + } + { + goPackagePath = "github.com/prometheus/procfs"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/procfs"; + rev = "ae68e2d4c00fed4943b5f6698d504a5fe083da8a"; + sha256 = "04sar4k99w8nvq3kwx6chz0mbp4s6xfjfxww7aqfd950xgs2jv5f"; + }; + } + { + goPackagePath = "github.com/rifflock/lfshook"; + fetch = { + type = "git"; + url = "https://github.com/rifflock/lfshook"; + rev = "bf539943797a1f34c1f502d07de419b5238ae6c6"; + sha256 = "0hns4zidw8g3s5l9dyl894fnyjr0a5xgdvx26rnal9jrn4n6z835"; + }; + } + { + goPackagePath = "github.com/sirupsen/logrus"; + fetch = { + type = "git"; + url = "https://github.com/sirupsen/logrus"; + rev = "c155da19408a8799da419ed3eeb0cb5db0ad5dbc"; + sha256 = "0g5z7al7kky11ai2dhac6gkp3b5pxsvx72yj3xg4wg3265gbn7yz"; + }; + } + { + goPackagePath = "github.com/stretchr/testify"; + fetch = { + type = "git"; + url = "https://github.com/stretchr/testify"; + rev = "f35b8ab0b5a2cef36673838d662e249dd9c94686"; + sha256 = "0dlszlshlxbmmfxj5hlwgv3r22x0y1af45gn1vd198nvvs3pnvfs"; + }; + } + { + goPackagePath = "golang.org/x/crypto"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/crypto"; + rev = "a49355c7e3f8fe157a85be2f77e6e269a0f89602"; + sha256 = "020q1laxjx5kcmnqy4wmdb63zhb0lyq6wpy40axhswzg2nd21s44"; + }; + } + { + goPackagePath = "golang.org/x/net"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/net"; + rev = "32a936f46389aa10549d60bd7833e54b01685d09"; + sha256 = "0f24khgx6s7idpnmwgkml4qyrqwkvdjd18aapn5rmybyhmrb57j7"; + }; + } + { + goPackagePath = "golang.org/x/sync"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/sync"; + rev = "1d60e4601c6fd243af51cc01ddf169918a5407ca"; + sha256 = "046jlanz2lkxq1r57x9bl6s4cvfqaic6p2xybsj8mq1120jv4rs6"; + }; + } + { + goPackagePath = "golang.org/x/sys"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/sys"; + rev = "ce36f3865eeb42541ce3f87f32f8462c5687befa"; + sha256 = "0dkmxn48l9g7w1247c473qlacfkfp8wyan54k9cbi79icdp65jja"; + }; + } + { + goPackagePath = "golang.org/x/text"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/text"; + rev = "f21a4dfb5e38f5895301dc265a8def02365cc3d0"; + sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19"; + }; + } + { + goPackagePath = "google.golang.org/genproto"; + fetch = { + type = "git"; + url = "https://github.com/google/go-genproto"; + rev = "ff3583edef7de132f219f0efc00e097cabcc0ec0"; + sha256 = "0bpzxk85fgvznmdf9356nzh8riqhwzcil9r2a955rbfn27lh4lmy"; + }; + } + { + goPackagePath = "google.golang.org/grpc"; + fetch = { + type = "git"; + url = "https://github.com/grpc/grpc-go"; + rev = "168a6198bcb0ef175f7dacec0b8691fc141dc9b8"; + sha256 = "0d8vj372ri55mrqfc0rhjl3albp5ykwfjhda1s5cgm5n40v70pr3"; + }; + } + { + goPackagePath = "gopkg.in/urfave/cli.v2"; + fetch = { + type = "git"; + url = "https://github.com/cbranch/cli"; + rev = "d604b6ffeee878fbf084fd2761466b6649989cee"; + sha256 = "16csqipw5vrbb91m9w9g72jlxlrhcyxa79fz6fjp6803znmjdpk2"; + }; + } + { + goPackagePath = "gopkg.in/yaml.v2"; + fetch = { + type = "git"; + url = "https://github.com/go-yaml/yaml"; + rev = "5420a8b6744d3b0345ab293f6fcba19c978f1183"; + sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1"; + }; + } + { + goPackagePath = "zombiezen.com/go/capnproto2"; + fetch = { + type = "git"; + url = "https://github.com/zombiezen/go-capnproto2"; + rev = "7cfd211c19c7f5783c695f3654efa46f0df259c3"; + sha256 = "0nzw3g8xpxyzwqqv3ja0iznd0j18l1rwagwhf9sinwdjjgmh51sy"; + }; + } +] diff --git a/pkgs/applications/networking/cluster/argo/default.nix b/pkgs/applications/networking/cluster/argo/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..647261a138f28e11e101c8d9b11ecda8beb054c8 --- /dev/null +++ b/pkgs/applications/networking/cluster/argo/default.nix @@ -0,0 +1,24 @@ +{ lib, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + name = "argo-${version}"; + version = "2.2.1"; + + src = fetchFromGitHub { + owner = "argoproj"; + repo = "argo"; + rev = "v${version}"; + sha256 = "0x3aizwbqkg2712021wcq4chmwjhw2df702wbr6zd2a2cdypwb67"; + }; + + goDeps = ./deps.nix; + goPackagePath = "github.com/argoproj/argo"; + + meta = with lib; { + description = "Container native workflow engine for Kubernetes"; + homepage = https://github.com/argoproj/argo; + license = licenses.asl20; + maintainers = with maintainers; [ groodt ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/networking/cluster/argo/deps.nix b/pkgs/applications/networking/cluster/argo/deps.nix new file mode 100644 index 0000000000000000000000000000000000000000..ace7ecd21b3342ad8f8d2f4db9b4c5211b70b2a6 --- /dev/null +++ b/pkgs/applications/networking/cluster/argo/deps.nix @@ -0,0 +1,687 @@ +# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix) +[ + { + goPackagePath = "cloud.google.com/go"; + fetch = { + type = "git"; + url = "https://code.googlesource.com/gocloud"; + rev = "64a2037ec6be8a4b0c1d1f706ed35b428b989239"; + sha256 = "149v3ci17g6wd2pm18mzcncq5qpl9hwdjnz3rlbn5rfidyn46la1"; + }; + } + { + goPackagePath = "github.com/Knetic/govaluate"; + fetch = { + type = "git"; + url = "https://github.com/Knetic/govaluate"; + rev = "9aa49832a739dcd78a5542ff189fb82c3e423116"; + sha256 = "12klijhq4fckzbhv0cwygbazj6lvhmdqksha9y6jgfmwzv51kwv5"; + }; + } + { + goPackagePath = "github.com/PuerkitoBio/purell"; + fetch = { + type = "git"; + url = "https://github.com/PuerkitoBio/purell"; + rev = "0bcb03f4b4d0a9428594752bd2a3b9aa0a9d4bd4"; + sha256 = "0vsxyn1fbm7g873b8kf3hcsgqgncb5nmfq3zfsc35a9yhzarka91"; + }; + } + { + goPackagePath = "github.com/PuerkitoBio/urlesc"; + fetch = { + type = "git"; + url = "https://github.com/PuerkitoBio/urlesc"; + rev = "de5bf2ad457846296e2031421a34e2568e304e35"; + sha256 = "0n0srpqwbaan1wrhh2b7ysz543pjs1xw2rghvqyffg9l0g8kzgcw"; + }; + } + { + goPackagePath = "github.com/argoproj/pkg"; + fetch = { + type = "git"; + url = "https://github.com/argoproj/pkg"; + rev = "1aa3e0c55668da17703adba5c534fff6930db589"; + sha256 = "0lr1dimm443qq3zzcrpialvxq9bl8pb3317zn34gmf1sycqh4iii"; + }; + } + { + goPackagePath = "github.com/beorn7/perks"; + fetch = { + type = "git"; + url = "https://github.com/beorn7/perks"; + rev = "3a771d992973f24aa725d07868b467d1ddfceafb"; + sha256 = "1l2lns4f5jabp61201sh88zf3b0q793w4zdgp9nll7mmfcxxjif3"; + }; + } + { + goPackagePath = "github.com/davecgh/go-spew"; + fetch = { + type = "git"; + url = "https://github.com/davecgh/go-spew"; + rev = "346938d642f2ec3594ed81d874461961cd0faa76"; + sha256 = "0d4jfmak5p6lb7n2r6yvf5p1zcw0l8j74kn55ghvr7zr7b7axm6c"; + }; + } + { + goPackagePath = "github.com/docker/spdystream"; + fetch = { + type = "git"; + url = "https://github.com/docker/spdystream"; + rev = "bc6354cbbc295e925e4c611ffe90c1f287ee54db"; + sha256 = "08746a15snvmax6cnzn2qy7cvsspxbsx97vdbjpdadir3pypjxya"; + }; + } + { + goPackagePath = "github.com/dustin/go-humanize"; + fetch = { + type = "git"; + url = "https://github.com/dustin/go-humanize"; + rev = "9f541cc9db5d55bce703bd99987c9d5cb8eea45e"; + sha256 = "1kqf1kavdyvjk7f8kx62pnm7fbypn9z1vbf8v2qdh3y7z7a0cbl3"; + }; + } + { + goPackagePath = "github.com/emicklei/go-restful"; + fetch = { + type = "git"; + url = "https://github.com/emicklei/go-restful"; + rev = "3eb9738c1697594ea6e71a7156a9bb32ed216cf0"; + sha256 = "1zqcjhg4q7788hyrkhwg4b6r1vc4qnzbw8c5j994mr18x42brxzg"; + }; + } + { + goPackagePath = "github.com/emirpasic/gods"; + fetch = { + type = "git"; + url = "https://github.com/emirpasic/gods"; + rev = "f6c17b524822278a87e3b3bd809fec33b51f5b46"; + sha256 = "1zhkppqzy149fp561pif8d5d92jd9chl3l9z4yi5f8n60ibdmmjf"; + }; + } + { + goPackagePath = "github.com/evanphx/json-patch"; + fetch = { + type = "git"; + url = "https://github.com/evanphx/json-patch"; + rev = "afac545df32f2287a079e2dfb7ba2745a643747e"; + sha256 = "1d90prf8wfvndqjn6nr0k405ykia5vb70sjw4ywd49s9p3wcdyn8"; + }; + } + { + goPackagePath = "github.com/fsnotify/fsnotify"; + fetch = { + type = "git"; + url = "https://github.com/fsnotify/fsnotify"; + rev = "c2828203cd70a50dcccfb2761f8b1f8ceef9a8e9"; + sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g"; + }; + } + { + goPackagePath = "github.com/ghodss/yaml"; + fetch = { + type = "git"; + url = "https://github.com/ghodss/yaml"; + rev = "c7ce16629ff4cd059ed96ed06419dd3856fd3577"; + sha256 = "10cyv1gy3zwwkr04kk8cvhifb7xddakyvnk5s13yfcqj9hcjz8d1"; + }; + } + { + goPackagePath = "github.com/go-ini/ini"; + fetch = { + type = "git"; + url = "https://github.com/go-ini/ini"; + rev = "358ee7663966325963d4e8b2e1fbd570c5195153"; + sha256 = "1zr51xaka7px1pmfndm12fvg6a3cr24kg77j28zczbfcc6h339gy"; + }; + } + { + goPackagePath = "github.com/go-openapi/jsonpointer"; + fetch = { + type = "git"; + url = "https://github.com/go-openapi/jsonpointer"; + rev = "3a0015ad55fa9873f41605d3e8f28cd279c32ab2"; + sha256 = "02an755ashhckqwxyq2avgn8mm4qq3hxda2jsj1a3bix2gkb45v7"; + }; + } + { + goPackagePath = "github.com/go-openapi/jsonreference"; + fetch = { + type = "git"; + url = "https://github.com/go-openapi/jsonreference"; + rev = "3fb327e6747da3043567ee86abd02bb6376b6be2"; + sha256 = "0zwsrmqqcihm0lj2pc18cpm7wnn1dzwr4kvrlyrxf0lnn7dsdsbm"; + }; + } + { + goPackagePath = "github.com/go-openapi/spec"; + fetch = { + type = "git"; + url = "https://github.com/go-openapi/spec"; + rev = "bce47c9386f9ecd6b86f450478a80103c3fe1402"; + sha256 = "0agys8v5rkfyinvmjd8hzgwvb20hnqninwkxwqkwbbsnakhi8shk"; + }; + } + { + goPackagePath = "github.com/go-openapi/swag"; + fetch = { + type = "git"; + url = "https://github.com/go-openapi/swag"; + rev = "2b0bd4f193d011c203529df626a65d63cb8a79e8"; + sha256 = "14c998wkycmy69jhjqkrah8acrr9xfam1dxbzl0lf4s2ghwn7bdn"; + }; + } + { + goPackagePath = "github.com/gogo/protobuf"; + fetch = { + type = "git"; + url = "https://github.com/gogo/protobuf"; + rev = "636bf0302bc95575d69441b25a2603156ffdddf1"; + sha256 = "1525pq7r6h3s8dncvq8gxi893p2nq8dxpzvq0nfl5b4p6mq0v1c2"; + }; + } + { + goPackagePath = "github.com/golang/glog"; + fetch = { + type = "git"; + url = "https://github.com/golang/glog"; + rev = "23def4e6c14b4da8ac2ed8007337bc5eb5007998"; + sha256 = "0jb2834rw5sykfr937fxi8hxi2zy80sj2bdn9b3jb4b26ksqng30"; + }; + } + { + goPackagePath = "github.com/golang/protobuf"; + fetch = { + type = "git"; + url = "https://github.com/golang/protobuf"; + rev = "b4deda0973fb4c70b50d226b1af49f3da59f5265"; + sha256 = "0ya4ha7m20bw048m1159ppqzlvda4x0vdprlbk5sdgmy74h3xcdq"; + }; + } + { + goPackagePath = "github.com/google/gofuzz"; + fetch = { + type = "git"; + url = "https://github.com/google/gofuzz"; + rev = "24818f796faf91cd76ec7bddd72458fbced7a6c1"; + sha256 = "0cq90m2lgalrdfrwwyycrrmn785rgnxa3l3vp9yxkvnv88bymmlm"; + }; + } + { + goPackagePath = "github.com/googleapis/gnostic"; + fetch = { + type = "git"; + url = "https://github.com/googleapis/gnostic"; + rev = "7c663266750e7d82587642f65e60bc4083f1f84e"; + sha256 = "0yh3ckd7m0r9h50wmxxvba837d0wb1k5yd439zq4p1kpp4390z12"; + }; + } + { + goPackagePath = "github.com/gorilla/websocket"; + fetch = { + type = "git"; + url = "https://github.com/gorilla/websocket"; + rev = "ea4d1f681babbce9545c9c5f3d5194a789c89f5b"; + sha256 = "1bhgs2542qs49p1dafybqxfs2qc072xv41w5nswyrknwyjxxs2a1"; + }; + } + { + goPackagePath = "github.com/hashicorp/golang-lru"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/golang-lru"; + rev = "0fb14efe8c47ae851c0034ed7a448854d3d34cf3"; + sha256 = "0vg4yn3088ym4sj1d34kr13lp4v5gya7r2nxshp2bz70n46fsqn2"; + }; + } + { + goPackagePath = "github.com/howeyc/gopass"; + fetch = { + type = "git"; + url = "https://github.com/howeyc/gopass"; + rev = "bf9dde6d0d2c004a008c27aaee91170c786f6db8"; + sha256 = "1jxzyfnqi0h1fzlsvlkn10bncic803bfhslyijcxk55mgh297g45"; + }; + } + { + goPackagePath = "github.com/imdario/mergo"; + fetch = { + type = "git"; + url = "https://github.com/imdario/mergo"; + rev = "9f23e2d6bd2a77f959b2bf6acdbefd708a83a4a4"; + sha256 = "1lbzy8p8wv439sqgf0n21q52flf2wbamp6qa1jkyv6an0nc952q7"; + }; + } + { + goPackagePath = "github.com/inconshreveable/mousetrap"; + fetch = { + type = "git"; + url = "https://github.com/inconshreveable/mousetrap"; + rev = "76626ae9c91c4f2a10f34cad8ce83ea42c93bb75"; + sha256 = "1mn0kg48xkd74brf48qf5hzp0bc6g8cf5a77w895rl3qnlpfw152"; + }; + } + { + goPackagePath = "github.com/jbenet/go-context"; + fetch = { + type = "git"; + url = "https://github.com/jbenet/go-context"; + rev = "d14ea06fba99483203c19d92cfcd13ebe73135f4"; + sha256 = "0q91f5549n81w3z5927n4a1mdh220bdmgl42zi3h992dcc4ls0sl"; + }; + } + { + goPackagePath = "github.com/json-iterator/go"; + fetch = { + type = "git"; + url = "https://github.com/json-iterator/go"; + rev = "1624edc4454b8682399def8740d46db5e4362ba4"; + sha256 = "11wn4hpmrs8bmpvd93wqk49jfbbgylakhi35f9k5qd7jd479ci4s"; + }; + } + { + goPackagePath = "github.com/kevinburke/ssh_config"; + fetch = { + type = "git"; + url = "https://github.com/kevinburke/ssh_config"; + rev = "9fc7bb800b555d63157c65a904c86a2cc7b4e795"; + sha256 = "102icrla92zmr5zngipc8c9yfbqhf73zs2w2jq6s7p0gdjifigc8"; + }; + } + { + goPackagePath = "github.com/mailru/easyjson"; + fetch = { + type = "git"; + url = "https://github.com/mailru/easyjson"; + rev = "03f2033d19d5860aef995fe360ac7d395cd8ce65"; + sha256 = "0r62ym6m1ijby7nwplq0gdnhak8in63njyisrwhr3xpx9vkira97"; + }; + } + { + goPackagePath = "github.com/matttproud/golang_protobuf_extensions"; + fetch = { + type = "git"; + url = "https://github.com/matttproud/golang_protobuf_extensions"; + rev = "c12348ce28de40eed0136aa2b644d0ee0650e56c"; + sha256 = "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya"; + }; + } + { + goPackagePath = "github.com/minio/minio-go"; + fetch = { + type = "git"; + url = "https://github.com/minio/minio-go"; + rev = "70799fe8dae6ecfb6c7d7e9e048fce27f23a1992"; + sha256 = "0xvvnny59v4p1y2kbvz90ga5xvc5sq1gc4wv6cym82rdbvgzb2ax"; + }; + } + { + goPackagePath = "github.com/mitchellh/go-homedir"; + fetch = { + type = "git"; + url = "https://github.com/mitchellh/go-homedir"; + rev = "58046073cbffe2f25d425fe1331102f55cf719de"; + sha256 = "0kwflrwsjdsy8vbhyzicc4c2vdi7lhdvn4rarfr18x1qsrb7n1bx"; + }; + } + { + goPackagePath = "github.com/modern-go/concurrent"; + fetch = { + type = "git"; + url = "https://github.com/modern-go/concurrent"; + rev = "bacd9c7ef1dd9b15be4a9909b8ac7a4e313eec94"; + sha256 = "0s0fxccsyb8icjmiym5k7prcqx36hvgdwl588y0491gi18k5i4zs"; + }; + } + { + goPackagePath = "github.com/modern-go/reflect2"; + fetch = { + type = "git"; + url = "https://github.com/modern-go/reflect2"; + rev = "4b7aa43c6742a2c18fdef89dd197aaae7dac7ccd"; + sha256 = "1721y3yr3dpx5dx5ashf063qczk2awy5zjir1jvp1h5hn7qz4i49"; + }; + } + { + goPackagePath = "github.com/pelletier/go-buffruneio"; + fetch = { + type = "git"; + url = "https://github.com/pelletier/go-buffruneio"; + rev = "c37440a7cf42ac63b919c752ca73a85067e05992"; + sha256 = "0l83p1gg6g5mmhmxjisrhfimhbm71lwn1r2w7d6siwwqm9q08sd2"; + }; + } + { + goPackagePath = "github.com/pkg/errors"; + fetch = { + type = "git"; + url = "https://github.com/pkg/errors"; + rev = "645ef00459ed84a119197bfb8d8205042c6df63d"; + sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5"; + }; + } + { + goPackagePath = "github.com/pmezard/go-difflib"; + fetch = { + type = "git"; + url = "https://github.com/pmezard/go-difflib"; + rev = "792786c7400a136282c1664665ae0a8db921c6c2"; + sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw"; + }; + } + { + goPackagePath = "github.com/prometheus/client_golang"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/client_golang"; + rev = "c5b7fccd204277076155f10851dad72b76a49317"; + sha256 = "1xqny3147g12n4j03kxm8s9mvdbs3ln6i56c655mybrn9jjy48kd"; + }; + } + { + goPackagePath = "github.com/prometheus/client_model"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/client_model"; + rev = "5c3871d89910bfb32f5fcab2aa4b9ec68e65a99f"; + sha256 = "04psf81l9fjcwascsys428v03fx4fi894h7fhrj2vvcz723q57k0"; + }; + } + { + goPackagePath = "github.com/prometheus/common"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/common"; + rev = "c7de2306084e37d54b8be01f3541a8464345e9a5"; + sha256 = "11dqfm2d0m4sjjgyrnayman96g59x2apmvvqby9qmww2qj2k83ig"; + }; + } + { + goPackagePath = "github.com/prometheus/procfs"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/procfs"; + rev = "05ee40e3a273f7245e8777337fc7b46e533a9a92"; + sha256 = "0f6fnczxa42b9rys2h3l0m8fy3x5hrhaq707vq0lbx5fcylw8lis"; + }; + } + { + goPackagePath = "github.com/sergi/go-diff"; + fetch = { + type = "git"; + url = "https://github.com/sergi/go-diff"; + rev = "1744e2970ca51c86172c8190fadad617561ed6e7"; + sha256 = "0swiazj8wphs2zmk1qgq75xza6m19snif94h2m6fi8dqkwqdl7c7"; + }; + } + { + goPackagePath = "github.com/sirupsen/logrus"; + fetch = { + type = "git"; + url = "https://github.com/sirupsen/logrus"; + rev = "3e01752db0189b9157070a0e1668a620f9a85da2"; + sha256 = "029irw2lsbqi944gdrbkwdw0m2794sqni4g21gsnmz142hbzds8c"; + }; + } + { + goPackagePath = "github.com/spf13/cobra"; + fetch = { + type = "git"; + url = "https://github.com/spf13/cobra"; + rev = "7c4570c3ebeb8129a1f7456d0908a8b676b6f9f1"; + sha256 = "16amh0prlzqrrbg5j629sg0f688nfzfgn9sair8jyybqampr3wc7"; + }; + } + { + goPackagePath = "github.com/spf13/pflag"; + fetch = { + type = "git"; + url = "https://github.com/spf13/pflag"; + rev = "583c0c0531f06d5278b7d917446061adc344b5cd"; + sha256 = "0nr4mdpfhhk94hq4ymn5b2sxc47b29p1akxd8b0hx4dvdybmipb5"; + }; + } + { + goPackagePath = "github.com/src-d/gcfg"; + fetch = { + type = "git"; + url = "https://github.com/src-d/gcfg"; + rev = "f187355171c936ac84a82793659ebb4936bc1c23"; + sha256 = "1hrdxlha4kkcpyydmjqd929rmwn5a9xq7arvwhryxppxq7502axk"; + }; + } + { + goPackagePath = "github.com/stretchr/objx"; + fetch = { + type = "git"; + url = "https://github.com/stretchr/objx"; + rev = "477a77ecc69700c7cdeb1fa9e129548e1c1c393c"; + sha256 = "0iph0qmpyqg4kwv8jsx6a56a7hhqq8swrazv40ycxk9rzr0s8yls"; + }; + } + { + goPackagePath = "github.com/stretchr/testify"; + fetch = { + type = "git"; + url = "https://github.com/stretchr/testify"; + rev = "f35b8ab0b5a2cef36673838d662e249dd9c94686"; + sha256 = "0dlszlshlxbmmfxj5hlwgv3r22x0y1af45gn1vd198nvvs3pnvfs"; + }; + } + { + goPackagePath = "github.com/tidwall/gjson"; + fetch = { + type = "git"; + url = "https://github.com/tidwall/gjson"; + rev = "1e3f6aeaa5bad08d777ea7807b279a07885dd8b2"; + sha256 = "0b0kvpzq0xxk2fq4diy3ab238yjx022s56h5jv1lc9hglds80lnn"; + }; + } + { + goPackagePath = "github.com/tidwall/match"; + fetch = { + type = "git"; + url = "https://github.com/tidwall/match"; + rev = "1731857f09b1f38450e2c12409748407822dc6be"; + sha256 = "14nv96h0mjki5q685qx8y331h4yga6hlfh3z9nz6acvnv284q578"; + }; + } + { + goPackagePath = "github.com/valyala/bytebufferpool"; + fetch = { + type = "git"; + url = "https://github.com/valyala/bytebufferpool"; + rev = "e746df99fe4a3986f4d4f79e13c1e0117ce9c2f7"; + sha256 = "01lqzjddq6kz9v41nkky7wbgk7f1cw036sa7ldz10d82g5klzl93"; + }; + } + { + goPackagePath = "github.com/valyala/fasttemplate"; + fetch = { + type = "git"; + url = "https://github.com/valyala/fasttemplate"; + rev = "dcecefd839c4193db0d35b88ec65b4c12d360ab0"; + sha256 = "0kkxn0ad5a36533djh50n9l6wsylmnykridkm91dqlqbjirn7216"; + }; + } + { + goPackagePath = "github.com/xanzy/ssh-agent"; + fetch = { + type = "git"; + url = "https://github.com/xanzy/ssh-agent"; + rev = "640f0ab560aeb89d523bb6ac322b1244d5c3796c"; + sha256 = "069nlriymqswg52ggiwi60qhwrin9nzhd2g65a7h59z2qbcvk2hy"; + }; + } + { + goPackagePath = "golang.org/x/crypto"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/crypto"; + rev = "f027049dab0ad238e394a753dba2d14753473a04"; + sha256 = "026475grqvylk9n2ld4ygaxmzck6v97j48sc2x58jjsmqflnhzld"; + }; + } + { + goPackagePath = "golang.org/x/net"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/net"; + rev = "f9ce57c11b242f0f1599cf25c89d8cb02c45295a"; + sha256 = "1m507gyjd9246cr3inpn6lgv3vnc3i11x4fgz0k0hdxv3cn9dyx2"; + }; + } + { + goPackagePath = "golang.org/x/oauth2"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/oauth2"; + rev = "3d292e4d0cdc3a0113e6d207bb137145ef1de42f"; + sha256 = "0jvivlvx7snacd6abd1prqxa7h1z6b7s6mqahn8lpqlag3asryrl"; + }; + } + { + goPackagePath = "golang.org/x/sys"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/sys"; + rev = "904bdc257025c7b3f43c19360ad3ab85783fad78"; + sha256 = "1pmj9axkj898bk4i4lny03b3l0zbkpvxj03gyjckliabqimqz0az"; + }; + } + { + goPackagePath = "golang.org/x/text"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/text"; + rev = "f21a4dfb5e38f5895301dc265a8def02365cc3d0"; + sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19"; + }; + } + { + goPackagePath = "golang.org/x/time"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/time"; + rev = "fbb02b2291d28baffd63558aa44b4b56f178d650"; + sha256 = "0jjqcv6rzihlgg4i797q80g1f6ch5diz2kxqh6488gwkb6nds4h4"; + }; + } + { + goPackagePath = "golang.org/x/tools"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/tools"; + rev = "ca6481ae56504398949d597084558e50ad07117a"; + sha256 = "0pza1pd0wy9r0pf9b9hham9ldr2byyg1slqf8p56dhf8b6j9jw9v"; + }; + } + { + goPackagePath = "google.golang.org/appengine"; + fetch = { + type = "git"; + url = "https://github.com/golang/appengine"; + rev = "b1f26356af11148e710935ed1ac8a7f5702c7612"; + sha256 = "1pz202zszg8f35dk5pfhwgcdi3r6dx1l4yk6x6ly7nb4j45zi96x"; + }; + } + { + goPackagePath = "gopkg.in/inf.v0"; + fetch = { + type = "git"; + url = "https://github.com/go-inf/inf"; + rev = "d2d2541c53f18d2a059457998ce2876cc8e67cbf"; + sha256 = "00k5iqjcp371fllqxncv7jkf80hn1zww92zm78cclbcn4ybigkng"; + }; + } + { + goPackagePath = "gopkg.in/src-d/go-billy.v4"; + fetch = { + type = "git"; + url = "https://github.com/src-d/go-billy"; + rev = "83cf655d40b15b427014d7875d10850f96edba14"; + sha256 = "18fghcyk69g460px8rvmhmqldkbhw17dpnhg45qwdvaq90b0bkx9"; + }; + } + { + goPackagePath = "gopkg.in/src-d/go-git.v4"; + fetch = { + type = "git"; + url = "https://github.com/src-d/go-git"; + rev = "3bd5e82b2512d85becae9677fa06b5a973fd4cfb"; + sha256 = "1krg24ncckwalmhzs2vlp8rwyk4rfnhfydwg8iw7gaywww2c1wfc"; + }; + } + { + goPackagePath = "gopkg.in/warnings.v0"; + fetch = { + type = "git"; + url = "https://github.com/go-warnings/warnings"; + rev = "ec4a0fea49c7b46c2aeb0b51aac55779c607e52b"; + sha256 = "1kzj50jn708cingn7a13c2wdlzs6qv89dr2h4zj8d09647vlnd81"; + }; + } + { + goPackagePath = "gopkg.in/yaml.v2"; + fetch = { + type = "git"; + url = "https://github.com/go-yaml/yaml"; + rev = "5420a8b6744d3b0345ab293f6fcba19c978f1183"; + sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1"; + }; + } + { + goPackagePath = "k8s.io/api"; + fetch = { + type = "git"; + url = "https://github.com/kubernetes/api"; + rev = "0f11257a8a25954878633ebdc9841c67d8f83bdb"; + sha256 = "1y8k0b03ibr8ga9dr91dc2imq2cbmy702a1xqggb97h8lmb6jqni"; + }; + } + { + goPackagePath = "k8s.io/apimachinery"; + fetch = { + type = "git"; + url = "https://github.com/kubernetes/apimachinery"; + rev = "e386b2658ed20923da8cc9250e552f082899a1ee"; + sha256 = "0lgwpsvx0gpnrdnkqc9m96xwkifdq50l7cj9rvh03njws4rbd8jz"; + }; + } + { + goPackagePath = "k8s.io/client-go"; + fetch = { + type = "git"; + url = "https://github.com/kubernetes/client-go"; + rev = "a312bfe35c401f70e5ea0add48b50da283031dc3"; + sha256 = "0z360np4iv7jdgacw576gdxbzl8ss810kbqwyrjk39by589rfkl9"; + }; + } + { + goPackagePath = "k8s.io/code-generator"; + fetch = { + type = "git"; + url = "https://github.com/kubernetes/code-generator"; + rev = "9de8e796a74d16d2a285165727d04c185ebca6dc"; + sha256 = "09858ykfrd3cyzkkpafzhqs6h7bk3n90s3p52x3axn4f7ikjh7k4"; + }; + } + { + goPackagePath = "k8s.io/gengo"; + fetch = { + type = "git"; + url = "https://github.com/kubernetes/gengo"; + rev = "c42f3cdacc394f43077ff17e327d1b351c0304e4"; + sha256 = "05vbrqfa96izm5j2q9f4yiyrbyx23nrkj5yv4fhfc7pvwb35iy04"; + }; + } + { + goPackagePath = "k8s.io/kube-openapi"; + fetch = { + type = "git"; + url = "https://github.com/kubernetes/kube-openapi"; + rev = "e3762e86a74c878ffed47484592986685639c2cd"; + sha256 = "1n9j08dwnj77iflzj047hrk0zg6nh1m4a5pljjdsvvf3xgka54pz"; + }; + } +] \ No newline at end of file diff --git a/pkgs/applications/networking/cluster/click/default.nix b/pkgs/applications/networking/cluster/click/default.nix index 7fd4cd9fa824ddc8f88f500b37c27092d7b0f398..2c7a026b277e61911ec3139efa9e8b0d06f2c937 100644 --- a/pkgs/applications/networking/cluster/click/default.nix +++ b/pkgs/applications/networking/cluster/click/default.nix @@ -4,17 +4,18 @@ with rustPlatform; buildRustPackage rec { name = "click-${version}"; - version = "0.3.1"; - rev = "b5dfb4a8f8344330a098cb61523695dfe0fd296a"; + version = "0.3.2"; src = fetchFromGitHub { + rev = "v${version}"; owner = "databricks"; repo = "click"; - sha256 = "0a2hq4hcxkkx7gs5dv7sr3j5jy2dby4r6y090z7zl2xy5wydr7bi"; - inherit rev; + sha256 = "0sbj41kypn637z1w115w2h5v6bxz3y6w5ikgpx3ihsh89lkc19d2"; }; - cargoSha256 = "03vgbkv9xsnx44vivbbhjgxv9drp0yjnimgy6hwm32x74r00k3hj"; + cargoSha256 = "05asqp5312a1g26pvf5hgqhc4kj3iw2hdvml2ycvga33sxb7zm7r"; + + patches = [ ./fix_cargo_lock_version.patch ]; buildInputs = stdenv.lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ]; diff --git a/pkgs/applications/networking/cluster/click/fix_cargo_lock_version.patch b/pkgs/applications/networking/cluster/click/fix_cargo_lock_version.patch new file mode 100644 index 0000000000000000000000000000000000000000..bc4db7ef7c12175bc7f7c5d902860494f8f9e94f --- /dev/null +++ b/pkgs/applications/networking/cluster/click/fix_cargo_lock_version.patch @@ -0,0 +1,13 @@ +diff --git a/Cargo.lock b/Cargo.lock +index ff80350..c86c6fe 100644 +--- a/Cargo.lock ++++ b/Cargo.lock +@@ -111,7 +111,7 @@ dependencies = [ + + [[package]] + name = "click" +-version = "0.3.1" ++version = "0.3.2" + dependencies = [ + "ansi_term 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "base64 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/pkgs/applications/networking/cluster/cni/default.nix b/pkgs/applications/networking/cluster/cni/default.nix index 0f232772f076548373ecdbb5ef6f537d44ca65fd..3f342ea04a03133e75c91052a517b794c4ab739a 100644 --- a/pkgs/applications/networking/cluster/cni/default.nix +++ b/pkgs/applications/networking/cluster/cni/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchFromGitHub, go }: +{ stdenv, fetchFromGitHub, buildGoPackage }: -stdenv.mkDerivation rec { +buildGoPackage rec { name = "cni-${version}"; version = "0.6.0"; @@ -11,23 +11,23 @@ stdenv.mkDerivation rec { sha256 = "00ajs2r5r2z3l0vqwxrcwhjfc9px12qbcv5vnvs2mdipvvls1y2y"; }; - buildInputs = [ go ]; + goPackagePath = "github.com/containernetworking/cni"; buildPhase = '' + cd "go/src/${goPackagePath}" patchShebangs build.sh ./build.sh ''; installPhase = '' - mkdir -p $out/bin - mv bin/cnitool $out/bin + install -Dm555 bin/cnitool $bin/bin/cnitool ''; 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]; + maintainers = with maintainers; [ offline vdemeester ]; platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/applications/networking/cluster/cni/plugins.nix b/pkgs/applications/networking/cluster/cni/plugins.nix index 8a006edda6a80ca5ef9651d7d33045f5e74e96f1..fdefa48adbaff3217a4a8530fb9006a73d22d7bf 100644 --- a/pkgs/applications/networking/cluster/cni/plugins.nix +++ b/pkgs/applications/networking/cluster/cni/plugins.nix @@ -1,20 +1,21 @@ -{ stdenv, lib, fetchFromGitHub, go }: +{ stdenv, lib, fetchFromGitHub, go, removeReferencesTo }: stdenv.mkDerivation rec { name = "cni-plugins-${version}"; - version = "0.7.1"; + version = "0.7.5"; src = fetchFromGitHub { owner = "containernetworking"; repo = "plugins"; rev = "v${version}"; - sha256 = "1sywllwnr6lc812sgkqjdd3y10r82shl88dlnwgnbgzs738q2vp2"; + sha256 = "1kfi0iz2hs4rq3cdkw12j8d47ac4f5vrpzcwcrs2yzmh2j4n5sz5"; }; - buildInputs = [ go ]; + buildInputs = [ removeReferencesTo go ]; buildPhase = '' patchShebangs build.sh + export "GOCACHE=$TMPDIR/go-cache" ./build.sh ''; @@ -23,6 +24,10 @@ stdenv.mkDerivation rec { mv bin/* $out/bin ''; + preFixup = '' + find $out/bin -type f -exec remove-references-to -t ${go} '{}' + + ''; + meta = with lib; { description = "Some standard networking plugins, maintained by the CNI team"; homepage = https://github.com/containernetworking/plugins; diff --git a/pkgs/applications/networking/cluster/docker-machine/default.nix b/pkgs/applications/networking/cluster/docker-machine/default.nix index d67d9d5851cfa1b364f18f5d25048359c54371cc..876630c559a5c9b4dd6f2f8574d442ac3ea38526 100644 --- a/pkgs/applications/networking/cluster/docker-machine/default.nix +++ b/pkgs/applications/networking/cluster/docker-machine/default.nix @@ -3,7 +3,7 @@ buildGoPackage rec { name = "machine-${version}"; - version = "0.14.0"; + version = "0.16.1"; goPackagePath = "github.com/docker/machine"; @@ -11,16 +11,16 @@ buildGoPackage rec { rev = "v${version}"; owner = "docker"; repo = "machine"; - sha256 = "0hd5sklmvkhhpfn318hq9w0f7x14165h1l2mdn9iv4447z1iibff"; + sha256 = "0xxzxi5v7ji9j2k7kxhi0ah91lfa7b9rg3nywgx0lkv8dlgp8kmy"; }; postInstall = '' - mkdir -p $bin/share/bash-completion/completions/ - cp go/src/github.com/docker/machine/contrib/completion/bash/* $bin/share/bash-completion/completions/ - ''; + mkdir -p \ + $bin/share/bash-completion/completions/ \ + $bin/share/zsh/site-functions/ - postFixup = '' - mv $bin/bin/cmd $bin/bin/docker-machine + cp go/src/github.com/docker/machine/contrib/completion/bash/* $bin/share/bash-completion/completions/ + cp go/src/github.com/docker/machine/contrib/completion/zsh/* $bin/share/zsh/site-functions/ ''; meta = with stdenv.lib; { diff --git a/pkgs/applications/networking/cluster/docker-machine/kvm.nix b/pkgs/applications/networking/cluster/docker-machine/kvm.nix index 5d47302960f76770a0427938adb8aa98cf50d064..181663513d3efdd2cf0c6fe814d58732d73c62d4 100644 --- a/pkgs/applications/networking/cluster/docker-machine/kvm.nix +++ b/pkgs/applications/networking/cluster/docker-machine/kvm.nix @@ -3,7 +3,7 @@ buildGoPackage rec { name = "docker-machine-kvm-${version}"; - version = "0.8.2"; + version = "0.10.0"; goPackagePath = "github.com/dhiltgen/docker-machine-kvm"; goDeps = ./kvm-deps.nix; @@ -12,7 +12,7 @@ buildGoPackage rec { rev = "v${version}"; owner = "dhiltgen"; repo = "docker-machine-kvm"; - sha256 = "1p7s340wlcjvna3xa2x13nsnixfhbn5b7dhf9cqvxds2slizlm3p"; + sha256 = "0ch4zwb6h7hnr5l3skj1daypvpyms2i666lbnmakpw1fw3zvjmgy"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/applications/networking/cluster/docker-machine/kvm2.nix b/pkgs/applications/networking/cluster/docker-machine/kvm2.nix index fd067936efdfb4584911dbe56eb31d749819eee7..41465766489e44c351c60c7e77fad793c6722624 100644 --- a/pkgs/applications/networking/cluster/docker-machine/kvm2.nix +++ b/pkgs/applications/networking/cluster/docker-machine/kvm2.nix @@ -1,19 +1,14 @@ -{ stdenv, buildGoPackage, fetchFromGitHub, libvirt, pkgconfig }: +{ stdenv, buildGoPackage, fetchFromGitHub, libvirt, pkgconfig, minikube }: buildGoPackage rec { pname = "docker-machine-kvm2"; name = "${pname}-${version}"; - version = "0.27.0"; + version = minikube.version; goPackagePath = "k8s.io/minikube"; subPackages = [ "cmd/drivers/kvm" ]; - src = fetchFromGitHub { - owner = "kubernetes"; - repo = "minikube"; - rev = "v${version}"; - sha256 = "00gj8x5p0vxwy0y0g5nnddmq049h7zxvhb73lb4gii5mghr9mkws"; - }; + src = minikube.src; nativeBuildInputs = [ pkgconfig ]; buildInputs = [ libvirt ]; diff --git a/pkgs/applications/networking/cluster/flink/default.nix b/pkgs/applications/networking/cluster/flink/default.nix index 402a03b77f4aacd750adf6c4b11c3aeb545d40f4..e5f437a89ad92589161b0a2f49eb48b12e2bcc87 100644 --- a/pkgs/applications/networking/cluster/flink/default.nix +++ b/pkgs/applications/networking/cluster/flink/default.nix @@ -1,25 +1,15 @@ { stdenv, fetchurl, makeWrapper, jre -, version ? "1.5" }: +, version ? "1.6" }: let versionMap = { - "1.3" = { - flinkVersion = "1.3.3"; - scalaVersion = "2.11"; - sha256 = "0gfm48k5adr14gnhqri9cd01i9dprd0nwmnnz3yrpd20nq4ap4qy"; - hadoopBundle = "-hadoop27"; - }; - "1.4" = { - flinkVersion = "1.4.2"; - scalaVersion = "2.11"; - sha256 = "0x3cikys5brin0kx9zr69xfp8k5w6g8141yrrr26ks7gpss2x636"; - hadoopBundle = ""; - }; "1.5" = { - flinkVersion = "1.5.0"; - scalaVersion = "2.11"; - sha256 = "0n5023dj8ivmbhqxmb3abmfh3ahb9vmcywq5i0ll5p7xxcw2c1cv"; - hadoopBundle = ""; + flinkVersion = "1.5.5"; + sha256 = "18wqcqi3gyqd40nspih99gq7ylfs20b35f4dcrspffagwkfp2l4z"; + }; + "1.6" = { + flinkVersion = "1.6.2"; + sha256 = "17fsr6yv1ayr7fw0r4pjlbpkn9ypzjs4brqndzr3gbzwrdc44arw"; }; }; in @@ -30,7 +20,7 @@ stdenv.mkDerivation rec { name = "flink-${flinkVersion}"; src = fetchurl { - url = "mirror://apache/flink/${name}/${name}-bin${hadoopBundle}-scala_${scalaVersion}.tgz"; + url = "mirror://apache/flink/${name}/${name}-bin-scala_2.11.tgz"; inherit sha256; }; diff --git a/pkgs/applications/networking/cluster/helm/default.nix b/pkgs/applications/networking/cluster/helm/default.nix index d09e65a4caae06ad9e11c9848d6cd6da692e2fa1..c03af2e9683d40d87581868eb092c9547dfd1f31 100644 --- a/pkgs/applications/networking/cluster/helm/default.nix +++ b/pkgs/applications/networking/cluster/helm/default.nix @@ -1,50 +1,48 @@ -{ stdenv, fetchurl, kubectl }: -let - isLinux = stdenv.isLinux; - arch = if isLinux - then "linux-amd64" - else "darwin-amd64"; - checksum = if isLinux - then "1fk6w6sajdi6iphxrzi9r7xfyaf923nxcqnl01s6x3f611fjvbjn" - else "1jzgy641hm3khj0bakfbr5wd5zl3s7w5jb622fjv2jxwmnv7dxiv"; - pname = "helm"; - version = "2.9.1"; -in -stdenv.mkDerivation { - name = "${pname}-${version}"; - - src = fetchurl { - url = "https://kubernetes-helm.storage.googleapis.com/helm-v${version}-${arch}.tar.gz"; - sha256 = checksum; - }; +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + version = "2.11.0"; + name = "helm-${version}"; - preferLocalBuild = true; + src = fetchFromGitHub { + owner = "helm"; + repo = "helm"; + rev = "v${version}"; + sha256 = "1z810a6mxyrrw4i908dip8aqsj95c0kmv6xpb1wwhskg1zmf85wk"; + }; - buildInputs = [ ]; + goPackagePath = "k8s.io/helm"; + subPackages = [ "cmd/helm" "cmd/tiller" "cmd/rudder" ]; - propagatedBuildInputs = [ kubectl ]; + goDeps = ./deps.nix; - phases = [ "buildPhase" "installPhase" ]; + # Thsese are the original flags from the helm makefile + buildFlagsArray = '' + -ldflags=-X k8s.io/helm/pkg/version.Version=v${version} + -w + -s + ''; - buildPhase = '' - mkdir -p $out/bin + preBuild = '' + # This is a hack(?) to flatten the dependency tree the same way glide or dep would + # Otherwise you'll get errors like + # have DeepCopyObject() "k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/runtime".Object + # want DeepCopyObject() "k8s.io/apimachinery/pkg/runtime".Object + rm -rf $NIX_BUILD_TOP/go/src/k8s.io/kubernetes/vendor + rm -rf $NIX_BUILD_TOP/go/src/k8s.io/apiextensions-apiserver/vendor ''; - installPhase = '' - tar -xvzf $src - cp ${arch}/helm $out/bin/${pname} - chmod +x $out/bin/${pname} - mkdir -p $out/share/bash-completion/completions - mkdir -p $out/share/zsh/site-functions - $out/bin/helm completion bash > $out/share/bash-completion/completions/helm - $out/bin/helm completion zsh > $out/share/zsh/site-functions/_helm + postInstall = '' + mkdir -p $bin/share/bash-completion/completions + mkdir -p $bin/share/zsh/site-functions + $bin/bin/helm completion bash > $bin/share/bash-completion/completions/helm + $bin/bin/helm completion zsh > $bin/share/zsh/site-functions/_helm ''; meta = with stdenv.lib; { homepage = https://github.com/kubernetes/helm; description = "A package manager for kubernetes"; license = licenses.asl20; - maintainers = [ maintainers.rlupton20 ]; - platforms = [ "x86_64-linux" ] ++ platforms.darwin; + maintainers = [ maintainers.rlupton20 maintainers.edude03 ]; }; } diff --git a/pkgs/applications/networking/cluster/helm/deps.nix b/pkgs/applications/networking/cluster/helm/deps.nix new file mode 100644 index 0000000000000000000000000000000000000000..36bd3406f5bfa1143c8909ac060440c3bfc5b6f3 --- /dev/null +++ b/pkgs/applications/networking/cluster/helm/deps.nix @@ -0,0 +1,840 @@ +# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix) +[ + { + goPackagePath = "cloud.google.com/go"; + fetch = { + type = "git"; + url = "https://code.googlesource.com/gocloud"; + rev = "3b1ae45394a234c385be014e9a488f2bb6eef821"; + sha256 = "0alb495ql6s02kb6lxcbnlkdcmhixyl8zv11sgrkhsk1bckzh119"; + }; + } + { + goPackagePath = "github.com/Azure/go-ansiterm"; + fetch = { + type = "git"; + url = "https://github.com/Azure/go-ansiterm"; + rev = "19f72df4d05d31cbe1c56bfc8045c96babff6c7e"; + sha256 = "0663w5m5qlidpj17s5pqp6rhl0phw7vypf104n04dvdy5nd418ix"; + }; + } + { + goPackagePath = "github.com/Azure/go-autorest"; + fetch = { + type = "git"; + url = "https://github.com/Azure/go-autorest"; + rev = "1ff28809256a84bb6966640ff3d0371af82ccba4"; + sha256 = "0sxvj2j1833bqwxvhq3wq3jgq73rnb81pnzvl0x3y1m0hzpaf2zv"; + }; + } + { + goPackagePath = "github.com/BurntSushi/toml"; + fetch = { + type = "git"; + url = "https://github.com/BurntSushi/toml"; + rev = "b26d9c308763d68093482582cea63d69be07a0f0"; + sha256 = "0k7v2i1d2d6si8gswn83qb84czhhia53v2wdy33yz9ppdidxk0ry"; + }; + } + { + goPackagePath = "github.com/MakeNowJust/heredoc"; + fetch = { + type = "git"; + url = "https://github.com/MakeNowJust/heredoc"; + rev = "bb23615498cded5e105af4ce27de75b089cbe851"; + sha256 = "17m780i9afj3sbmcrgwgzarfly4x9376w56qblkqnzdkv6vps22i"; + }; + } + { + goPackagePath = "github.com/Masterminds/semver"; + fetch = { + type = "git"; + url = "https://github.com/Masterminds/semver"; + rev = "517734cc7d6470c0d07130e40fd40bdeb9bcd3fd"; + sha256 = "1625b5sxpmlz60jw67j1ljfcc09d4lhxg3z6gc4am8s2rrdgwij6"; + }; + } + { + goPackagePath = "github.com/Masterminds/sprig"; + fetch = { + type = "git"; + url = "https://github.com/Masterminds/sprig"; + rev = "15f9564e7e9cf0da02a48e0d25f12a7b83559aa6"; + sha256 = "1k5pfx9hxzb70kh73a009ikr3vqlq0jvzvbyvxz9x7a7yc4r5b14"; + }; + } + { + goPackagePath = "github.com/Masterminds/vcs"; + fetch = { + type = "git"; + url = "https://github.com/Masterminds/vcs"; + rev = "3084677c2c188840777bff30054f2b553729d329"; + sha256 = "1062m73h0pp5d0574lf6px4jsjgywnsbkw50inxx3zal5r185ydm"; + }; + } + { + goPackagePath = "github.com/PuerkitoBio/purell"; + fetch = { + type = "git"; + url = "https://github.com/PuerkitoBio/purell"; + rev = "8a290539e2e8629dbc4e6bad948158f790ec31f4"; + sha256 = "1qhsy1nm96b9kb63svkvkqmmw15xg6irwcysisxdgzk64adfwqv1"; + }; + } + { + goPackagePath = "github.com/PuerkitoBio/urlesc"; + fetch = { + type = "git"; + url = "https://github.com/PuerkitoBio/urlesc"; + rev = "5bd2802263f21d8788851d5305584c82a5c75d7e"; + sha256 = "15y5r3asvm7196m3nza5xvdvlc2k11p6lfs6hi917hl7r9vgi6mp"; + }; + } + { + goPackagePath = "github.com/aokoli/goutils"; + fetch = { + type = "git"; + url = "https://github.com/aokoli/goutils"; + rev = "9c37978a95bd5c709a15883b6242714ea6709e64"; + sha256 = "1c51qgk4pjc8c776h7589c3d14791h86f1yj3ykg4q7vlcf9xrnr"; + }; + } + { + goPackagePath = "github.com/asaskevich/govalidator"; + fetch = { + type = "git"; + url = "https://github.com/asaskevich/govalidator"; + rev = "7664702784775e51966f0885f5cd27435916517b"; + sha256 = "1lmynw9vkgrxv7nh60wdywv0nx4gjlkiar433wydhpc2h3m5q968"; + }; + } + { + goPackagePath = "github.com/beorn7/perks"; + fetch = { + type = "git"; + url = "https://github.com/beorn7/perks"; + rev = "3ac7bf7a47d159a033b107610db8a1b6575507a4"; + sha256 = "1qc3l4r818xpvrhshh1sisc5lvl9479qspcfcdbivdyh0apah83r"; + }; + } + { + goPackagePath = "github.com/chai2010/gettext-go"; + fetch = { + type = "git"; + url = "https://github.com/chai2010/gettext-go"; + rev = "bf70f2a70fb1b1f36d90d671a72795984eab0fcb"; + sha256 = "0bwjwvjl7zqm7kxram1rzz0ri3h897kiin13ljy9hx3fzz1i9lml"; + }; + } + { + goPackagePath = "github.com/cpuguy83/go-md2man"; + fetch = { + type = "git"; + url = "https://github.com/cpuguy83/go-md2man"; + rev = "71acacd42f85e5e82f70a55327789582a5200a90"; + sha256 = "0hmkrq4gdzb6mwllmh4p1y7vrz7hyr8xqagpk9nyr5dhygvnnq2v"; + }; + } + { + goPackagePath = "github.com/cyphar/filepath-securejoin"; + fetch = { + type = "git"; + url = "https://github.com/cyphar/filepath-securejoin"; + rev = "a261ee33d7a517f054effbf451841abaafe3e0fd"; + sha256 = "0id32zjb92wm569m29nfrzz5mw9z1glr3klayr6j134pp4h1sgq4"; + }; + } + { + goPackagePath = "github.com/davecgh/go-spew"; + fetch = { + type = "git"; + url = "https://github.com/davecgh/go-spew"; + rev = "782f4967f2dc4564575ca782fe2d04090b5faca8"; + sha256 = "1ypijjawqc0xgmgim42260ibcyclfgfizicz5cbvndw4plqfsswk"; + }; + } + { + goPackagePath = "github.com/dgrijalva/jwt-go"; + fetch = { + type = "git"; + url = "https://github.com/dgrijalva/jwt-go"; + rev = "06ea1031745cb8b3dab3f6a236daf2b0aa468b7e"; + sha256 = "08m27vlms74pfy5z79w67f9lk9zkx6a9jd68k3c4msxy75ry36mp"; + }; + } + { + goPackagePath = "github.com/docker/distribution"; + fetch = { + type = "git"; + url = "https://github.com/docker/distribution"; + rev = "edc3ab29cdff8694dd6feb85cfeb4b5f1b38ed9c"; + sha256 = "1nqjaq1q6fs3c0avpb02sib0a906xfbk3m74hk2mqjdbyx9y8b4m"; + }; + } + { + goPackagePath = "github.com/docker/docker"; + fetch = { + type = "git"; + url = "https://github.com/docker/docker"; + rev = "4f3616fb1c112e206b88cb7a9922bf49067a7756"; + sha256 = "0zmsqm1lkwggfqgy2rw34g4g2jlvr6mvcsh65fmpdb30l65iaqzf"; + }; + } + { + goPackagePath = "github.com/docker/go-connections"; + fetch = { + type = "git"; + url = "https://github.com/docker/go-connections"; + rev = "3ede32e2033de7505e6500d6c868c2b9ed9f169d"; + sha256 = "0v1pkr8apwmhyzbjfriwdrs1ihlk6pw7izm57r24mf9jdmg3fyb0"; + }; + } + { + goPackagePath = "github.com/docker/go-units"; + fetch = { + type = "git"; + url = "https://github.com/docker/go-units"; + rev = "9e638d38cf6977a37a8ea0078f3ee75a7cdb2dd1"; + sha256 = "1sqwvcszxqpv77xf2d8fxvryxphdwj9v8f93231wpnk9kpilhyii"; + }; + } + { + goPackagePath = "github.com/docker/spdystream"; + fetch = { + type = "git"; + url = "https://github.com/docker/spdystream"; + rev = "449fdfce4d962303d702fec724ef0ad181c92528"; + sha256 = "1412cpiis971iq1kxrirzirhj2708ispjh0x0dh879b66x8507sl"; + }; + } + { + goPackagePath = "github.com/evanphx/json-patch"; + fetch = { + type = "git"; + url = "https://github.com/evanphx/json-patch"; + rev = "94e38aa1586e8a6c8a75770bddf5ff84c48a106b"; + sha256 = "1c9gzc3gb76lm5famc0345y90is1lyffn39bmdr0xk19462f8av5"; + }; + } + { + goPackagePath = "github.com/exponent-io/jsonpath"; + fetch = { + type = "git"; + url = "https://github.com/exponent-io/jsonpath"; + rev = "d6023ce2651d8eafb5c75bb0c7167536102ec9f5"; + sha256 = "1qkzaxsjs7yg1672sk67nr119j7jc4751yzgii0j3nbipjv321kc"; + }; + } + { + goPackagePath = "github.com/fatih/camelcase"; + fetch = { + type = "git"; + url = "https://github.com/fatih/camelcase"; + rev = "f6a740d52f961c60348ebb109adde9f4635d7540"; + sha256 = "15vb86adns1izvbzjw0lmmzrwlarhbxw5qalhx10vzzdx73wh4ai"; + }; + } + { + goPackagePath = "github.com/ghodss/yaml"; + fetch = { + type = "git"; + url = "https://github.com/ghodss/yaml"; + rev = "73d445a93680fa1a78ae23a5839bad48f32ba1ee"; + sha256 = "0pg53ky4sy3sp9j4n7vgf1p3gw4nbckwqfldcmmi9rf13kjh0mr7"; + }; + } + { + goPackagePath = "github.com/go-openapi/jsonpointer"; + fetch = { + type = "git"; + url = "https://github.com/go-openapi/jsonpointer"; + rev = "46af16f9f7b149af66e5d1bd010e3574dc06de98"; + sha256 = "0w0fphmdycjzbsm1vppdcjc9aqinkcdzcq3pxikdvdqh5p791gsc"; + }; + } + { + goPackagePath = "github.com/go-openapi/jsonreference"; + fetch = { + type = "git"; + url = "https://github.com/go-openapi/jsonreference"; + rev = "13c6e3589ad90f49bd3e3bbe2c2cb3d7a4142272"; + sha256 = "1fh4xcl9ijww4bdq656sx981d57w2c9zx5148jsxlsg4bsvxmwis"; + }; + } + { + goPackagePath = "github.com/go-openapi/spec"; + fetch = { + type = "git"; + url = "https://github.com/go-openapi/spec"; + rev = "1de3e0542de65ad8d75452a595886fdd0befb363"; + sha256 = "13i9y71fk9vr2abvpsk04k55il32ly3fjinvl1zlamh9mi2mdzf4"; + }; + } + { + goPackagePath = "github.com/go-openapi/swag"; + fetch = { + type = "git"; + url = "https://github.com/go-openapi/swag"; + rev = "f3f9494671f93fcff853e3c6e9e948b3eb71e590"; + sha256 = "13lqn4xqy9vma9aqsjb0fzfzi0q8l6dmg65sjxqdxf3q6gzkvmjy"; + }; + } + { + goPackagePath = "github.com/gobwas/glob"; + fetch = { + type = "git"; + url = "https://github.com/gobwas/glob"; + rev = "5ccd90ef52e1e632236f7326478d4faa74f99438"; + sha256 = "0jxk1x806zn5x86342s72dq2qy64ksb3zrvrlgir2avjhwb18n6z"; + }; + } + { + goPackagePath = "github.com/gogo/protobuf"; + fetch = { + type = "git"; + url = "https://github.com/gogo/protobuf"; + rev = "c0656edd0d9eab7c66d1eb0c568f9039345796f7"; + sha256 = "0b943dhx571lhgcs3rqzy0092mi2x5mwy2kl7g8rryhy3r5rzrz9"; + }; + } + { + goPackagePath = "github.com/golang/glog"; + fetch = { + type = "git"; + url = "https://github.com/golang/glog"; + rev = "44145f04b68cf362d9c4df2182967c2275eaefed"; + sha256 = "1k7sf6qmpgm0iw81gx2dwggf9di6lgw0n54mni7862hihwfrb5rq"; + }; + } + { + goPackagePath = "github.com/golang/groupcache"; + fetch = { + type = "git"; + url = "https://github.com/golang/groupcache"; + rev = "02826c3e79038b59d737d3b1c0a1d937f71a4433"; + sha256 = "0w46bsllddfij66nrg8jbfjsr54birvfww8a2fj9fmgyig5syn2x"; + }; + } + { + goPackagePath = "github.com/golang/protobuf"; + fetch = { + type = "git"; + url = "https://github.com/golang/protobuf"; + rev = "1643683e1b54a9e88ad26d98f81400c8c9d9f4f9"; + sha256 = "1ch3czyzq5abl6zm1l0dfsi09xj43ql9jcbmbhfhxz954pw03v3v"; + }; + } + { + goPackagePath = "github.com/google/btree"; + fetch = { + type = "git"; + url = "https://github.com/google/btree"; + rev = "7d79101e329e5a3adf994758c578dab82b90c017"; + sha256 = "1c1hsy5s2pfawg3l9954jmqmy4yc2zp3f7i87m00km2yqgb8xpd0"; + }; + } + { + goPackagePath = "github.com/google/gofuzz"; + fetch = { + type = "git"; + url = "https://github.com/google/gofuzz"; + rev = "44d81051d367757e1c7c6a5a86423ece9afcf63c"; + sha256 = "0ivq2sl2fv8x0xxrcys27c42s8yq7irgl7lp6l0im9i7ky63nk0i"; + }; + } + { + goPackagePath = "github.com/google/uuid"; + fetch = { + type = "git"; + url = "https://github.com/google/uuid"; + rev = "064e2069ce9c359c118179501254f67d7d37ba24"; + sha256 = "1b1ibx3rbiv7xwa9kz4b4zpp1fza5cjnn8v6749b4vrkjjmp3rqb"; + }; + } + { + goPackagePath = "github.com/googleapis/gnostic"; + fetch = { + type = "git"; + url = "https://github.com/googleapis/gnostic"; + rev = "0c5108395e2debce0d731cf0287ddf7242066aba"; + sha256 = "0jf3cp5clli88gpjf24r6wxbkvngnc1kf59d4cgjczsn2wasvsfc"; + }; + } + { + goPackagePath = "github.com/gophercloud/gophercloud"; + fetch = { + type = "git"; + url = "https://github.com/gophercloud/gophercloud"; + rev = "781450b3c4fcb4f5182bcc5133adb4b2e4a09d1d"; + sha256 = "0xvapk94p1259k8arvwyvhwvcnzma9vdg12g750cgz2ghkzvfhff"; + }; + } + { + goPackagePath = "github.com/gosuri/uitable"; + fetch = { + type = "git"; + url = "https://github.com/gosuri/uitable"; + rev = "36ee7e946282a3fb1cfecd476ddc9b35d8847e42"; + sha256 = "1ff68fv9g1df91fwbrcq83ar429gb4fi2vsd22zjmhvmbqx2zkil"; + }; + } + { + goPackagePath = "github.com/gregjones/httpcache"; + fetch = { + type = "git"; + url = "https://github.com/gregjones/httpcache"; + rev = "787624de3eb7bd915c329cba748687a3b22666a6"; + sha256 = "1zqlg9pkj7r6fqw7wv3ywvbz3bh0hvzifs2scgcraj812q5189w5"; + }; + } + { + goPackagePath = "github.com/grpc-ecosystem/go-grpc-prometheus"; + fetch = { + type = "git"; + url = "https://github.com/grpc-ecosystem/go-grpc-prometheus"; + rev = "0c1b191dbfe51efdabe3c14b9f6f3b96429e0722"; + sha256 = "0d7vybd4yy9a9clk03578xdpyhifxsy3qv6iiglrrnblbmpgksjc"; + }; + } + { + goPackagePath = "github.com/hashicorp/golang-lru"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/golang-lru"; + rev = "a0d98a5f288019575c6d1f4bb1573fef2d1fcdc4"; + sha256 = "1z3h4aca31l3qs0inqr5l49vrlycpjm7vq1l9nh1mp0mb2ij0kmp"; + }; + } + { + goPackagePath = "github.com/huandu/xstrings"; + fetch = { + type = "git"; + url = "https://github.com/huandu/xstrings"; + rev = "3959339b333561bf62a38b424fd41517c2c90f40"; + sha256 = "0f1jyd80grpr88gwhljx2x0xgsyzw07807n4z4axxxlybh5f0nh1"; + }; + } + { + goPackagePath = "github.com/imdario/mergo"; + fetch = { + type = "git"; + url = "https://github.com/imdario/mergo"; + rev = "6633656539c1639d9d78127b7d47c622b5d7b6dc"; + sha256 = "1fffbq1l17i0gynmvcxypl7d9h4v81g5vlimiph5bfgf4sp4db7g"; + }; + } + { + goPackagePath = "github.com/inconshreveable/mousetrap"; + fetch = { + type = "git"; + url = "https://github.com/inconshreveable/mousetrap"; + rev = "76626ae9c91c4f2a10f34cad8ce83ea42c93bb75"; + sha256 = "1mn0kg48xkd74brf48qf5hzp0bc6g8cf5a77w895rl3qnlpfw152"; + }; + } + { + goPackagePath = "github.com/json-iterator/go"; + fetch = { + type = "git"; + url = "https://github.com/json-iterator/go"; + rev = "f2b4162afba35581b6d4a50d3b8f34e33c144682"; + sha256 = "0siqfghsm2lkdwinvg8x5gls3p76rq3cdm59c1r4x0b2mdfhnvcd"; + }; + } + { + goPackagePath = "github.com/mailru/easyjson"; + fetch = { + type = "git"; + url = "https://github.com/mailru/easyjson"; + rev = "2f5df55504ebc322e4d52d34df6a1f5b503bf26d"; + sha256 = "0d9m8kyhbawa452vnwn255xxnh6pkp3im0d2310rw1k14nh3yh1p"; + }; + } + { + goPackagePath = "github.com/mattn/go-runewidth"; + fetch = { + type = "git"; + url = "https://github.com/mattn/go-runewidth"; + rev = "d6bea18f789704b5f83375793155289da36a3c7f"; + sha256 = "1hnigpn7rjbwd1ircxkyx9hvi0xmxr32b2jdy2jzw6b3jmcnz1fs"; + }; + } + { + goPackagePath = "github.com/matttproud/golang_protobuf_extensions"; + fetch = { + type = "git"; + url = "https://github.com/matttproud/golang_protobuf_extensions"; + rev = "fc2b8d3a73c4867e51861bbdd5ae3c1f0869dd6a"; + sha256 = "0ajg41h6402big484drvm72wvid1af2sffw0qkzbmpy04lq68ahj"; + }; + } + { + goPackagePath = "github.com/mitchellh/go-wordwrap"; + fetch = { + type = "git"; + url = "https://github.com/mitchellh/go-wordwrap"; + rev = "ad45545899c7b13c020ea92b2072220eefad42b8"; + sha256 = "0ny1ddngvwfj3njn7pmqnf3l903lw73ynddw15x8ymp7hidv27v9"; + }; + } + { + goPackagePath = "github.com/modern-go/concurrent"; + fetch = { + type = "git"; + url = "https://github.com/modern-go/concurrent"; + rev = "bacd9c7ef1dd9b15be4a9909b8ac7a4e313eec94"; + sha256 = "0s0fxccsyb8icjmiym5k7prcqx36hvgdwl588y0491gi18k5i4zs"; + }; + } + { + goPackagePath = "github.com/modern-go/reflect2"; + fetch = { + type = "git"; + url = "https://github.com/modern-go/reflect2"; + rev = "4b7aa43c6742a2c18fdef89dd197aaae7dac7ccd"; + sha256 = "1721y3yr3dpx5dx5ashf063qczk2awy5zjir1jvp1h5hn7qz4i49"; + }; + } + { + goPackagePath = "github.com/opencontainers/go-digest"; + fetch = { + type = "git"; + url = "https://github.com/opencontainers/go-digest"; + rev = "a6d0ee40d4207ea02364bd3b9e8e77b9159ba1eb"; + sha256 = "1paz3na2xkhi10p5bk7f7gbh5yykfgr9f9i2gcc13rb461yq6fmg"; + }; + } + { + goPackagePath = "github.com/opencontainers/image-spec"; + fetch = { + type = "git"; + url = "https://github.com/opencontainers/image-spec"; + rev = "372ad780f63454fbbbbcc7cf80e5b90245c13e13"; + sha256 = "0wajddbm49bfybkab9midilg18zvdvvsffwhkq7bpp7inj4jnsvs"; + }; + } + { + goPackagePath = "github.com/petar/GoLLRB"; + fetch = { + type = "git"; + url = "https://github.com/petar/GoLLRB"; + rev = "53be0d36a84c2a886ca057d34b6aa4468df9ccb4"; + sha256 = "01xp3lcamqkvl91jg6ly202gdsgf64j39rkrcqxi6v4pbrcv7hz0"; + }; + } + { + goPackagePath = "github.com/peterbourgon/diskv"; + fetch = { + type = "git"; + url = "https://github.com/peterbourgon/diskv"; + rev = "5f041e8faa004a95c88a202771f4cc3e991971e6"; + sha256 = "1mxpa5aad08x30qcbffzk80g9540wvbca4blc1r2qyzl65b8929b"; + }; + } + { + goPackagePath = "github.com/pkg/errors"; + fetch = { + type = "git"; + url = "https://github.com/pkg/errors"; + rev = "645ef00459ed84a119197bfb8d8205042c6df63d"; + sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5"; + }; + } + { + goPackagePath = "github.com/pmezard/go-difflib"; + fetch = { + type = "git"; + url = "https://github.com/pmezard/go-difflib"; + rev = "d8ed2627bdf02c080bf22230dbb337003b7aba2d"; + sha256 = "0w1jp4k4zbnrxh3jvh8fgbjgqpf2hg31pbj8fb32kh26px9ldpbs"; + }; + } + { + goPackagePath = "github.com/prometheus/client_golang"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/client_golang"; + rev = "c5b7fccd204277076155f10851dad72b76a49317"; + sha256 = "1xqny3147g12n4j03kxm8s9mvdbs3ln6i56c655mybrn9jjy48kd"; + }; + } + { + goPackagePath = "github.com/prometheus/client_model"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/client_model"; + rev = "fa8ad6fec33561be4280a8f0514318c79d7f6cb6"; + sha256 = "11a7v1fjzhhwsl128znjcf5v7v6129xjgkdpym2lial4lac1dhm9"; + }; + } + { + goPackagePath = "github.com/prometheus/common"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/common"; + rev = "13ba4ddd0caa9c28ca7b7bffe1dfa9ed8d5ef207"; + sha256 = "0i6mpcnsawi7f00rfmjfjq8llaplyzq4xrkrawlcgfd762p5hnp8"; + }; + } + { + goPackagePath = "github.com/prometheus/procfs"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/procfs"; + rev = "65c1f6f8f0fc1e2185eb9863a3bc751496404259"; + sha256 = "0jfzmr8642hr04naim1maa3wklxvcxklykri2z7k4ayizc974lkq"; + }; + } + { + goPackagePath = "github.com/russross/blackfriday"; + fetch = { + type = "git"; + url = "https://github.com/russross/blackfriday"; + rev = "300106c228d52c8941d4b3de6054a6062a86dda3"; + sha256 = "1bcqwb9lk2sijn5q3kqp7sadhh0ysbxlj5bxjspk9yp5bp733cbh"; + }; + } + { + 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/sirupsen/logrus"; + fetch = { + type = "git"; + url = "https://github.com/sirupsen/logrus"; + rev = "89742aefa4b206dcf400792f3bd35b542998eb3b"; + sha256 = "0hk7fabx59msg2y0iik6xvfp80s73ybrwlcshbm9ds91iqbkcxi6"; + }; + } + { + goPackagePath = "github.com/spf13/cobra"; + fetch = { + type = "git"; + url = "https://github.com/spf13/cobra"; + rev = "c439c4fa093711d42e1b01acb1235b52004753c1"; + sha256 = "14v5vhb180yzaknxnm8j4n9jai58b0y2nzrqzpdq7bj9slsga1vd"; + }; + } + { + goPackagePath = "github.com/spf13/pflag"; + fetch = { + type = "git"; + url = "https://github.com/spf13/pflag"; + rev = "583c0c0531f06d5278b7d917446061adc344b5cd"; + sha256 = "0nr4mdpfhhk94hq4ymn5b2sxc47b29p1akxd8b0hx4dvdybmipb5"; + }; + } + { + goPackagePath = "github.com/stretchr/testify"; + fetch = { + type = "git"; + url = "https://github.com/stretchr/testify"; + rev = "e3a8ff8ce36581f87a15341206f205b1da467059"; + sha256 = "179k26lcgafkbjylbhgj2f5pnh52bmv19rr1w95gca944blw8yga"; + }; + } + { + goPackagePath = "github.com/technosophos/moniker"; + fetch = { + type = "git"; + url = "https://github.com/technosophos/moniker"; + rev = "a5dbd03a2245d554160e3ae6bfdcf969fe58b431"; + sha256 = "1z273gvbwr09lcxwd10wyvxmxjln93r952sr1w9hqxcgc1f8l3vl"; + }; + } + { + goPackagePath = "golang.org/x/crypto"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/crypto"; + rev = "49796115aa4b964c318aad4f3084fdb41e9aa067"; + sha256 = "0pcq2drkzsw585xi6rda8imd7a139prrmvgmv8nz0zgzk6g4dy59"; + }; + } + { + goPackagePath = "golang.org/x/net"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/net"; + rev = "1c05540f6879653db88113bc4a2b70aec4bd491f"; + sha256 = "0h8yqb0vcqgllgydrf9d3rzp83w8wlr8f0nm6r1rwf2qg30pq1pd"; + }; + } + { + goPackagePath = "golang.org/x/oauth2"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/oauth2"; + rev = "a6bd8cefa1811bd24b86f8902872e4e8225f74c4"; + sha256 = "151in8qcf5y97ziavl6b03vgw4r87zqx5kg4vjhjszjbh60cfswp"; + }; + } + { + goPackagePath = "golang.org/x/sys"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/sys"; + rev = "43eea11bc92608addb41b8a406b0407495c106f6"; + sha256 = "0k9wy278f5753d130p8asva2g573vi6wviwkxwwnpxni118knq1l"; + }; + } + { + goPackagePath = "golang.org/x/text"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/text"; + rev = "b19bf474d317b857955b12035d2c5acb57ce8b01"; + sha256 = "0wc8csaafp0ps9jb2hdk8d6xpyw1axhk1np73h0z17x09zk3ylcr"; + }; + } + { + goPackagePath = "golang.org/x/time"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/time"; + rev = "f51c12702a4d776e4c1fa9b0fabab841babae631"; + sha256 = "07wc6g2fvafkr6djsscm0jpbpl4135khhb6kpyx1953hi5d1jvyy"; + }; + } + { + goPackagePath = "google.golang.org/appengine"; + fetch = { + type = "git"; + url = "https://github.com/golang/appengine"; + rev = "12d5545dc1cfa6047a286d5e853841b6471f4c19"; + sha256 = "1bv6cjakhi6j3s1bqb3n45qrmvf20qkhwxllvi94jag4i7hd91w8"; + }; + } + { + goPackagePath = "google.golang.org/genproto"; + fetch = { + type = "git"; + url = "https://github.com/google/go-genproto"; + rev = "09f6ed296fc66555a25fe4ce95173148778dfa85"; + sha256 = "06x5wr7vjsnvv35rpv7jaklilksqbzsbqk8bxababw8vr6avfwki"; + }; + } + { + goPackagePath = "google.golang.org/grpc"; + fetch = { + type = "git"; + url = "https://github.com/grpc/grpc-go"; + rev = "5ffe3083946d5603a0578721101dc8165b1d5b5f"; + sha256 = "1ij3sy49xfihwpcpiwd68mlfkrk375kdh6r6jlqka18zalxgpaan"; + }; + } + { + goPackagePath = "gopkg.in/inf.v0"; + fetch = { + type = "git"; + url = "https://github.com/go-inf/inf"; + rev = "3887ee99ecf07df5b447e9b00d9c0b2adaa9f3e4"; + sha256 = "0rf3vwyb8aqnac9x9d6ax7z5526c45a16yjm2pvkijr6qgqz8b82"; + }; + } + { + goPackagePath = "gopkg.in/square/go-jose.v2"; + fetch = { + type = "git"; + url = "https://github.com/square/go-jose"; + rev = "f8f38de21b4dcd69d0413faf231983f5fd6634b1"; + sha256 = "1bjrs3xq3m2ckfds0l4wqf81311ymm9agipmkllbvkadac156dsa"; + }; + } + { + goPackagePath = "gopkg.in/yaml.v2"; + fetch = { + type = "git"; + url = "https://github.com/go-yaml/yaml"; + rev = "670d4cfef0544295bc27a114dbac37980d83185a"; + sha256 = "182x97q4826cpzybkrl8icyx1n6l1z0kspmbz33fh901v10b6322"; + }; + } + { + goPackagePath = "k8s.io/api"; + fetch = { + type = "git"; + url = "https://github.com/kubernetes/api"; + rev = "2d6f90ab1293a1fb871cf149423ebb72aa7423aa"; + sha256 = "1cwrwdm104xd3608b1a5mw6a19w45532p647xdwnyn62rw2f08jx"; + }; + } + { + goPackagePath = "k8s.io/apiextensions-apiserver"; + fetch = { + type = "git"; + url = "https://github.com/kubernetes/apiextensions-apiserver"; + rev = "898b0eda132e1aeac43a459785144ee4bf9b0a2e"; + sha256 = "1zn4i4wfmk3y36n6mqcidgsp4aqzwy5w9749zjl2bfbwzpk81bcp"; + }; + } + { + goPackagePath = "k8s.io/apimachinery"; + fetch = { + type = "git"; + url = "https://github.com/kubernetes/apimachinery"; + rev = "103fd098999dc9c0c88536f5c9ad2e5da39373ae"; + sha256 = "04navnpm59d75dhlz07rmay7m2izrf4m0i9xklxzqg7mlk9g20jc"; + }; + } + { + goPackagePath = "k8s.io/apiserver"; + fetch = { + type = "git"; + url = "https://github.com/kubernetes/apiserver"; + rev = "8b122ec9e3bbab91a262d17a39325e69349dc44d"; + sha256 = "0qfxjypa10s16sll2a75kn2ddjddr2xsa5rsiaxar3gs5pqvq1h5"; + }; + } + { + goPackagePath = "k8s.io/client-go"; + fetch = { + type = "git"; + url = "https://github.com/kubernetes/client-go"; + rev = "59698c7d9724b0f95f9dc9e7f7dfdcc3dfeceb82"; + sha256 = "0f069d1msdb2x4yvwv0wa3hzanl97csg4hsp1pycxpnqck6qx6qh"; + }; + } + { + goPackagePath = "k8s.io/kube-openapi"; + fetch = { + type = "git"; + url = "https://github.com/kubernetes/kube-openapi"; + rev = "91cfa479c814065e420cee7ed227db0f63a5854e"; + sha256 = "0l9yvc7gfa8i4snpv1d13vy03dplzp2jh47rqr3fhiihcz2wx4s7"; + }; + } + { + goPackagePath = "k8s.io/kubernetes"; + fetch = { + type = "git"; + url = "https://github.com/kubernetes/kubernetes"; + rev = "2e809eed16445fff9dcbfc56e9936cf76ccbdadc"; + sha256 = "13fzcbjfc5c35gy66nbn1ms63b8bj3g8z7wja0p8dd3yj9lcj68h"; + }; + } + { + goPackagePath = "k8s.io/utils"; + fetch = { + type = "git"; + url = "https://github.com/kubernetes/utils"; + rev = "258e2a2fa64568210fbd6267cf1d8fd87c3cb86e"; + sha256 = "1mbw3q03sflrdgj6l7q3frqzb5f78n0m0gzjm228sy1wnm4c3760"; + }; + } + { + goPackagePath = "vbom.ml/util"; + fetch = { + type = "git"; + url = "https://github.com/fvbommel/util"; + rev = "db5cfe13f5cc80a4990d98e2e1b0707a4d1a5394"; + sha256 = "1k9c3ihhkrcmhd26pwd62mp2ll7icr2q65i5pkymnfnhhv40p682"; + }; + } +] diff --git a/pkgs/applications/networking/cluster/helmfile/default.nix b/pkgs/applications/networking/cluster/helmfile/default.nix index 358f4cdb7df77d4315cb430abf636b1e0a05ff84..73ec998ed8e81e92bab64e5a0e7acbe85bc01682 100644 --- a/pkgs/applications/networking/cluster/helmfile/default.nix +++ b/pkgs/applications/networking/cluster/helmfile/default.nix @@ -1,6 +1,6 @@ { lib, buildGoPackage, fetchFromGitHub, makeWrapper, kubernetes-helm, ... }: -let version = "0.19.0"; in +let version = "0.40.1"; in buildGoPackage { name = "helmfile-${version}"; @@ -9,13 +9,18 @@ buildGoPackage { owner = "roboll"; repo = "helmfile"; rev = "v${version}"; - sha256 = "0wjzzaygdnnvyi5a78bhmz2sxc4gykdl00h78dkgvj7aaw05s9yd"; + sha256 = "02ir10070rpayv9s53anldwjy5ggl268shgf085d188wl6vshaiv"; }; goPackagePath = "github.com/roboll/helmfile"; nativeBuildInputs = [ makeWrapper ]; + buildFlagsArray = '' + -ldflags= + -X main.Version=${version} + ''; + postInstall = '' wrapProgram $bin/bin/helmfile \ --prefix PATH : ${lib.makeBinPath [ kubernetes-helm ]} diff --git a/pkgs/applications/networking/cluster/heptio-ark/default.nix b/pkgs/applications/networking/cluster/heptio-ark/default.nix index 1860874c436cee1518adbbcb4cbbd0119d5e4864..cd0ef728f83e22002eb97756077637a5b65f4d84 100644 --- a/pkgs/applications/networking/cluster/heptio-ark/default.nix +++ b/pkgs/applications/networking/cluster/heptio-ark/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { name = "heptio-ark-${version}"; - version = "0.9.0"; + version = "0.10.0"; goPackagePath = "github.com/heptio/ark"; @@ -10,10 +10,10 @@ buildGoPackage rec { rev = "v${version}"; owner = "heptio"; repo = "ark"; - sha256 = "0b3jsgs35l8kk63pjnqn3911pyb397fyvsmd3jd8vzjawisgpdp7"; + sha256 = "18h9hvp95va0hyl268gnzciwy1dqmc57bpifbj885870rdfp0ffv"; }; - postInstall = "rm $bin/bin/generate"; + postInstall = "rm $bin/bin/issue-template-gen"; meta = with stdenv.lib; { description = "A utility for managing disaster recovery, specifically for your Kubernetes cluster resources and persistent volumes"; diff --git a/pkgs/applications/networking/cluster/hetzner-kube/default.nix b/pkgs/applications/networking/cluster/hetzner-kube/default.nix index fe2420a719d55a0e9469a9fef6835a9a61b3e363..5eaf1d13d6183d1e967002cc213be50afafddc30 100644 --- a/pkgs/applications/networking/cluster/hetzner-kube/default.nix +++ b/pkgs/applications/networking/cluster/hetzner-kube/default.nix @@ -1,18 +1,22 @@ -{ lib, buildGoPackage, fetchFromGitHub, ... }: +{ lib, buildGoModule, fetchFromGitHub }: -let version = "0.3.1"; in - -buildGoPackage { +buildGoModule rec { name = "hetzner-kube-${version}"; + version = "0.4.1"; src = fetchFromGitHub { owner = "xetys"; repo = "hetzner-kube"; rev = "${version}"; - sha256 = "1xldh1ca8ym8cg3w5cxizmhqxwi5kmiin28f320mxdr28fzljc2w"; + sha256 = "11202i3340vaz8xh59gwj5x0djcgbzq9jfy2214lcpml71qc85f0"; }; - goPackagePath = "github.com/xetys/hetzner-kube"; + modSha256 = "1j04xyjkz7jcqrs5p5z94jqagrzcxjr9m3lyp8i91c0ymxf5m2g3"; + + buildFlagsArray = '' + -ldflags= + -X github.com/xetys/hetzner-kube/cmd.version=${version} + ''; meta = { description = "A CLI tool for provisioning Kubernetes clusters on Hetzner Cloud"; diff --git a/pkgs/applications/networking/cluster/jx/3321-fix-location-of-thrift.patch b/pkgs/applications/networking/cluster/jx/3321-fix-location-of-thrift.patch new file mode 100644 index 0000000000000000000000000000000000000000..223d6c6c2477ab2d66adb866520e05af3d189f46 --- /dev/null +++ b/pkgs/applications/networking/cluster/jx/3321-fix-location-of-thrift.patch @@ -0,0 +1,36 @@ +From 40b8eaacb3a24c466c17c8a65938330d5805b112 Mon Sep 17 00:00:00 2001 +From: "Wael M. Nasreddine" +Date: Fri, 8 Mar 2019 14:10:11 -0800 +Subject: [PATCH] chore: fix the location of thrift + +Thrift is no longer available at the git.apache.org and it's now +distributed on GitHub at github.com/apache/thrift. + +fixes #3320 +--- + go.mod | 2 ++ + go.sum | 1 + + 2 files changed, 3 insertions(+) + +diff --git a/go.mod b/go.mod +index 04bcc84cc..e26c4cf1d 100644 +--- a/go.mod ++++ b/go.mod +@@ -184,3 +184,5 @@ replace k8s.io/metrics => k8s.io/metrics v0.0.0-20181128195641-3954d62a524d + replace k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20190122181752-bebe27e40fb7 + + replace k8s.io/client-go => k8s.io/client-go v2.0.0-alpha.0.0.20190115164855-701b91367003+incompatible ++ ++replace git.apache.org/thrift.git => github.com/apache/thrift v0.0.0-20180902110319-2566ecd5d999 +diff --git a/go.sum b/go.sum +index c9fdf8768..6ed69e69d 100644 +--- a/go.sum ++++ b/go.sum +@@ -87,6 +87,7 @@ github.com/antham/chyle v1.4.0/go.mod h1:D94Z4aE/ECudyNoTHwkhqu77mjGPZtfPG8dNoeI + github.com/antham/envh v1.2.0/go.mod h1:ocIRPHuwwjyBVBtuUJOJc2TYzGg+d23xSAZexl4y9hQ= + github.com/antham/strumt v0.0.0-20171215230529-6776189777d3/go.mod h1:sE7EYIUE0nQzPiv5zQAmw2aVkei0j2xmb4gTIIqSFSI= + github.com/aokoli/goutils v1.0.1/go.mod h1:SijmP0QR8LtwsmDs8Yii5Z/S4trXFGFC2oO5g9DP+DQ= ++github.com/apache/thrift v0.0.0-20180902110319-2566ecd5d999/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= + github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= + github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= + github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da h1:8GUt8eRujhVEGZFFEjBj46YV4rDjvGrNxb0KMWYkL2I= diff --git a/pkgs/applications/networking/cluster/jx/default.nix b/pkgs/applications/networking/cluster/jx/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..88aa8777ee5ec9042c2c15f5658836975e0bcec9 --- /dev/null +++ b/pkgs/applications/networking/cluster/jx/default.nix @@ -0,0 +1,41 @@ +{ buildGoModule, fetchFromGitHub, lib }: + +buildGoModule rec { + name = "jx"; + version = "1.3.967"; + + src = fetchFromGitHub { + owner = "jenkins-x"; + repo = "jx"; + rev = "v${version}"; + sha256 = "0a25m7sz134kch21bg6l86kvwl4cg6babqf57kqidq6kid1zgdaq"; + }; + + patches = [ + # https://github.com/jenkins-x/jx/pull/3321 + ./3321-fix-location-of-thrift.patch + ]; + + modSha256 = "0ljf0c0c3pc12nmhdbrwflcaj6hs8igzjw5hi6fyhi6n9cy87vac"; + + subPackages = [ "cmd/jx" ]; + + buildFlagsArray = '' + -ldflags= + -X github.com/jenkins-x/jx/pkg/version.Version=${version} + -X github.com/jenkins-x/jx/pkg/version.Revision=${version} + ''; + + meta = with lib; { + description = "JX is a command line tool for installing and using Jenkins X."; + homepage = https://jenkins-x.io; + longDescription = '' + Jenkins X provides automated CI+CD for Kubernetes with Preview + Environments on Pull Requests using Jenkins, Knative Build, Prow, + Skaffold and Helm. + ''; + license = licenses.asl20 ; + maintainers = with maintainers; [ kalbasit ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/pkgs/applications/networking/cluster/kompose/default.nix b/pkgs/applications/networking/cluster/kompose/default.nix index d6e703f79d052136035cd64d7a0935c59659af4c..19194c2d0873a2be1c5429b767cc8ab8ba4874b3 100644 --- a/pkgs/applications/networking/cluster/kompose/default.nix +++ b/pkgs/applications/networking/cluster/kompose/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { name = "kompose-${version}"; - version = "1.9.0"; + version = "1.18.0"; goPackagePath = "github.com/kubernetes/kompose"; @@ -10,14 +10,14 @@ buildGoPackage rec { rev = "v${version}"; owner = "kubernetes"; repo = "kompose"; - sha256 = "00yvih5gn67sw9v30a0rpaj1zag7k02i4biw1p37agxih0aphc86"; + sha256 = "1hb4bs710n9fghphhfakwg42wjscf136dcr05zwwfg7iyqx2cipc"; }; meta = with stdenv.lib; { description = "A tool to help users who are familiar with docker-compose move to Kubernetes"; homepage = https://github.com/kubernetes/kompose; license = licenses.asl20; - maintainers = with maintainers; [thpham]; + maintainers = with maintainers; [ thpham vdemeester ]; platforms = platforms.unix; }; } diff --git a/pkgs/applications/networking/cluster/kops/default.nix b/pkgs/applications/networking/cluster/kops/default.nix index 5f7a2e8e28435f339e6259445426e8803f96f012..a521f394ebfb034ebd947f225e6b4c313aef919b 100644 --- a/pkgs/applications/networking/cluster/kops/default.nix +++ b/pkgs/applications/networking/cluster/kops/default.nix @@ -1,9 +1,8 @@ - { stdenv, buildGoPackage, fetchFromGitHub, go-bindata }: buildGoPackage rec { name = "kops-${version}"; - version = "1.9.0"; + version = "1.11.1"; goPackagePath = "k8s.io/kops"; @@ -11,7 +10,7 @@ buildGoPackage rec { rev = version; owner = "kubernetes"; repo = "kops"; - sha256 = "03avkm7gk2dqyvd7245qsca1sbhwk41j9yhc208gcmjgjhkx2vn7"; + sha256 = "0jia8dhawh786grnbpn64hvsdm6wz5p7hqir01q5xxpd1psnzygj"; }; buildInputs = [go-bindata]; diff --git a/pkgs/applications/networking/cluster/kube-router/default.nix b/pkgs/applications/networking/cluster/kube-router/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..2a43c23e73aa82c98fa0edb3a1330265e313ad9e --- /dev/null +++ b/pkgs/applications/networking/cluster/kube-router/default.nix @@ -0,0 +1,32 @@ +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + name = "kube-router-${version}"; + version = "0.2.5"; + rev = "v${version}"; + + goPackagePath = "github.com/cloudnativelabs/kube-router"; + + src = fetchFromGitHub { + inherit rev; + owner = "cloudnativelabs"; + repo = "kube-router"; + sha256 = "1j6q6kg4qj75v2mdy9ivvwq8mx9fpdf0w08959l8imrp5byd56wv"; + }; + + buildFlagsArray = '' + -ldflags= + -X + ${goPackagePath}/pkg/cmd.version=${version} + -X + ${goPackagePath}/pkg/cmd.buildDate=Nix + ''; + + meta = with stdenv.lib; { + homepage = "https://www.kube-router.io/"; + description = "All-in-one router, firewall and service proxy for Kubernetes"; + license = licenses.asl20; + maintainers = with maintainers; [ colemickens johanot ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/networking/cluster/kubecfg/default.nix b/pkgs/applications/networking/cluster/kubecfg/default.nix index 73a28325f52d7495e11dd64aaa86545487cc7b7d..1e16cf1afca1dd053c430c1313d49d4f1c9d5ef7 100644 --- a/pkgs/applications/networking/cluster/kubecfg/default.nix +++ b/pkgs/applications/networking/cluster/kubecfg/default.nix @@ -1,6 +1,6 @@ { lib, buildGoPackage, fetchFromGitHub, ... }: -let version = "0.6.0"; in +let version = "0.9.1"; in buildGoPackage { name = "kubecfg-${version}"; @@ -9,7 +9,7 @@ buildGoPackage { owner = "ksonnet"; repo = "kubecfg"; rev = "v${version}"; - sha256 = "12kv1p707kdxjx5l8rcikd1gjwp5xjxdmmyvlpnvyagrphgrwpsf"; + sha256 = "010k33arxa4spaq923iazsisxgsaj8c7w4z250y9yrch8xxd74bi"; }; goPackagePath = "github.com/ksonnet/kubecfg"; diff --git a/pkgs/applications/networking/cluster/kubectl/default.nix b/pkgs/applications/networking/cluster/kubectl/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..4dbd3d38d31dd336f4b703010b4efd8ac95256a9 --- /dev/null +++ b/pkgs/applications/networking/cluster/kubectl/default.nix @@ -0,0 +1,33 @@ +{ stdenv, lib, kubernetes }: + +stdenv.mkDerivation { + name = "kubectl-${kubernetes.version}"; + + # kubectl is currently part of the main distribution but will eventially be + # split out (see homepage) + src = kubernetes; + + outputs = [ "out" "man" ]; + + doBuild = false; + + installPhase = '' + mkdir -p \ + "$out/bin" \ + "$out/share/bash-completion/completions" \ + "$out/share/zsh/site-functions" \ + "$man/share/man/man1" + + cp bin/kubectl $out/bin/kubectl + + cp "${kubernetes.man}/share/man/man1"/kubectl* "$man/share/man/man1" + + $out/bin/kubectl completion bash > $out/share/bash-completion/completions/kubectl + $out/bin/kubectl completion zsh > $out/share/zsh/site-functions/_kubectl + ''; + + meta = kubernetes.meta // { + description = "Kubernetes CLI"; + homepage = "https://github.com/kubernetes/kubectl"; + }; +} diff --git a/pkgs/applications/networking/cluster/kubernetes/default.nix b/pkgs/applications/networking/cluster/kubernetes/default.nix index 01bf3467af957f5a518fca50b986dafe5872df76..3c20eb126f0cbf895182483fb28feda52409a0c2 100644 --- a/pkgs/applications/networking/cluster/kubernetes/default.nix +++ b/pkgs/applications/networking/cluster/kubernetes/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchFromGitHub, removeReferencesTo, which, go_1_9, go-bindata, makeWrapper, rsync +{ stdenv, lib, fetchFromGitHub, removeReferencesTo, which, go, go-bindata, makeWrapper, rsync , components ? [ "cmd/kubeadm" "cmd/kubectl" @@ -15,23 +15,22 @@ with lib; stdenv.mkDerivation rec { name = "kubernetes-${version}"; - version = "1.10.5"; + version = "1.14.0"; src = fetchFromGitHub { owner = "kubernetes"; repo = "kubernetes"; rev = "v${version}"; - sha256 = "1k6ayb43l68l0qw31cc4k1pwvm8aks3l2xm0gdxdxbbww1mnzix2"; + sha256 = "1c04x474m5b7qqs9kddrx2mygwpv40hvylr3cq34qxdxgang3qc6"; }; - # Build using golang v1.9 in accordance with https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.10.md#external-dependencies - buildInputs = [ removeReferencesTo makeWrapper which go_1_9 rsync go-bindata ]; + buildInputs = [ removeReferencesTo makeWrapper which go rsync go-bindata ]; outputs = ["out" "man" "pause"]; postPatch = '' substituteInPlace "hack/lib/golang.sh" --replace "_cgo" "" - substituteInPlace "hack/generate-docs.sh" --replace "make" "make SHELL=${stdenv.shell}" + substituteInPlace "hack/update-generated-docs.sh" --replace "make" "make SHELL=${stdenv.shell}" # hack/update-munge-docs.sh only performs some tests on the documentation. # They broke building k8s; disabled for now. echo "true" > "hack/update-munge-docs.sh" @@ -39,10 +38,10 @@ stdenv.mkDerivation rec { patchShebangs ./hack ''; - WHAT="--use_go_build ${concatStringsSep " " components}"; + WHAT="${concatStringsSep " " components}"; postBuild = '' - ./hack/generate-docs.sh + ./hack/update-generated-docs.sh (cd build/pause && cc pause.c -o pause) ''; @@ -53,8 +52,11 @@ stdenv.mkDerivation rec { cp build/pause/pause "$pause/bin/pause" cp -R docs/man/man1 "$man/share/man" + cp cluster/addons/addon-manager/namespace.yaml $out/share cp cluster/addons/addon-manager/kube-addons.sh $out/bin/kube-addons patchShebangs $out/bin/kube-addons + substituteInPlace $out/bin/kube-addons \ + --replace /opt/namespace.yaml $out/share/namespace.yaml wrapProgram $out/bin/kube-addons --set "KUBECTL_BIN" "$out/bin/kubectl" $out/bin/kubectl completion bash > $out/share/bash-completion/completions/kubectl @@ -62,7 +64,7 @@ stdenv.mkDerivation rec { ''; preFixup = '' - find $out/bin $pause/bin -type f -exec remove-references-to -t ${go_1_9} '{}' + + find $out/bin $pause/bin -type f -exec remove-references-to -t ${go} '{}' + ''; meta = { diff --git a/pkgs/applications/networking/cluster/kubetail/default.nix b/pkgs/applications/networking/cluster/kubetail/default.nix index 201e3e8b30d2cb76071c30ce02f37247c392490d..d1e24c56f8ad6268306b5b59a43b35ce5c6ac29a 100644 --- a/pkgs/applications/networking/cluster/kubetail/default.nix +++ b/pkgs/applications/networking/cluster/kubetail/default.nix @@ -2,17 +2,20 @@ stdenv.mkDerivation rec { name = "kubetail-${version}"; - version = "1.6.1"; + version = "1.6.8"; src = fetchFromGitHub { owner = "johanhaleby"; repo = "kubetail"; rev = "${version}"; - sha256 = "10ql1kdsmyrk73jb6f5saf2q38znm0vdihscj3c9n0qhyhk9blpl"; + sha256 = "15f97bzw0vha4nrl9207l7w9mlnx58xlcnmpfjvbpm7x0ivb5l0q"; }; installPhase = '' - install -Dm755 kubetail $out/bin/kubetail + install -Dm755 kubetail "$out/bin/kubetail" + install -Dm755 completion/kubetail.bash "$out/share/bash-completion/completions/kubetail" + install -Dm755 completion/kubetail.fish "$out/share/fish/vendor_completions.d/kubetail.fish" + install -Dm755 completion/kubetail.zsh "$out/share/zsh/site-functions/_kubetail" ''; meta = with lib; { diff --git a/pkgs/applications/networking/cluster/kubeval/default.nix b/pkgs/applications/networking/cluster/kubeval/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..55a827f9cf920e0685241e7b8a89d165b08e8918 --- /dev/null +++ b/pkgs/applications/networking/cluster/kubeval/default.nix @@ -0,0 +1,48 @@ +{ stdenv, lib, fetchFromGitHub, buildGoPackage, makeWrapper }: + +let + + # Cache schema as a package so network calls are not + # necessary at runtime, allowing use in package builds + schema = stdenv.mkDerivation rec { + name = "kubeval-schema"; + src = fetchFromGitHub { + owner = "garethr"; + repo = "kubernetes-json-schema"; + rev = "c7672fd48e1421f0060dd54b6620baa2ab7224ba"; + sha256 = "0picr3wvjx4qv158jy4f60pl225rm4mh0l97pf8nqi9h9x4x888p"; + }; + + installPhase = '' + mkdir -p $out/kubernetes-json-schema/master + cp -R . $out/kubernetes-json-schema/master + ''; + }; + +in + +buildGoPackage rec { + name = "kubeval-${version}"; + version = "0.7.3"; + + goPackagePath = "github.com/garethr/kubeval"; + src = fetchFromGitHub { + owner = "garethr"; + repo = "kubeval"; + rev = version; + sha256 = "042v4mc5p80vmk56wp6aw89yiibjnfqn79c0zcd6y179br4gpfnb"; + }; + goDeps = ./deps.nix; + + buildInputs = [ makeWrapper ]; + + postFixup = "wrapProgram $bin/bin/kubeval --set KUBEVAL_SCHEMA_LOCATION file:///${schema}"; + + meta = with lib; { + description = "Validate your Kubernetes configuration files"; + homepage = https://github.com/garethr/kubeval; + license = licenses.asl20; + maintainers = with maintainers; [ nicknovitski ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/applications/networking/cluster/kubeval/deps.nix b/pkgs/applications/networking/cluster/kubeval/deps.nix new file mode 100644 index 0000000000000000000000000000000000000000..b9565e927ded9a9a91a759d8f861a2955f2d2801 --- /dev/null +++ b/pkgs/applications/networking/cluster/kubeval/deps.nix @@ -0,0 +1,174 @@ +# This file was generated by https://github.com/kamilchm/go2nix v1.2.1 +[ + { + goPackagePath = "github.com/fatih/color"; + fetch = { + type = "git"; + url = "https://github.com/fatih/color"; + rev = "5b77d2a35fb0ede96d138fc9a99f5c9b6aef11b4"; + sha256 = "0v8msvg38r8d1iiq2i5r4xyfx0invhc941kjrsg5gzwvagv55inv"; + }; + } + { + goPackagePath = "github.com/fsnotify/fsnotify"; + fetch = { + type = "git"; + url = "https://github.com/fsnotify/fsnotify"; + rev = "c2828203cd70a50dcccfb2761f8b1f8ceef9a8e9"; + sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g"; + }; + } + { + goPackagePath = "github.com/hashicorp/go-multierror"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/go-multierror"; + rev = "b7773ae218740a7be65057fc60b366a49b538a44"; + sha256 = "09904bk7ac6qs9dgiv23rziq9h3makb9qg4jvxr71rlydsd7psfd"; + }; + } + { + goPackagePath = "github.com/hashicorp/hcl"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/hcl"; + rev = "ef8a98b0bbce4a65b5aa4c368430a80ddc533168"; + sha256 = "1qalfsc31fra7hcw2lc3s20aj7al62fq3j5fn5kga3mg99b82nyr"; + }; + } + { + goPackagePath = "github.com/magiconair/properties"; + fetch = { + type = "git"; + url = "https://github.com/magiconair/properties"; + rev = "c2353362d570a7bfa228149c62842019201cfb71"; + sha256 = "1a10362wv8a8qwb818wygn2z48lgzch940hvpv81hv8gc747ajxn"; + }; + } + { + goPackagePath = "github.com/mitchellh/mapstructure"; + fetch = { + type = "git"; + url = "https://github.com/mitchellh/mapstructure"; + rev = "bb74f1db0675b241733089d5a1faa5dd8b0ef57b"; + sha256 = "1aqk9qr46bwgdc5j7n7als61xvssvyjf4qzfsvhacl4izpygqnw7"; + }; + } + { + goPackagePath = "github.com/pelletier/go-toml"; + fetch = { + type = "git"; + url = "https://github.com/pelletier/go-toml"; + rev = "66540cf1fcd2c3aee6f6787dfa32a6ae9a870f12"; + sha256 = "1n8na0yg90gm0rpifmzrby5r385vvd62cdam3ls7ssy02bjvfw15"; + }; + } + { + goPackagePath = "github.com/spf13/afero"; + fetch = { + type = "git"; + url = "https://github.com/spf13/afero"; + rev = "787d034dfe70e44075ccc060d346146ef53270ad"; + sha256 = "0138rjiacl71h7kvhzinviwvy6qa2m6rflpv9lgqv15hnjvhwvg1"; + }; + } + { + goPackagePath = "github.com/spf13/cast"; + fetch = { + type = "git"; + url = "https://github.com/spf13/cast"; + rev = "8965335b8c7107321228e3e3702cab9832751bac"; + sha256 = "177bk7lq40jbgv9p9r80aydpaccfk8ja3a7jjhfwiwk9r1pa4rr2"; + }; + } + { + goPackagePath = "github.com/spf13/cobra"; + fetch = { + type = "git"; + url = "https://github.com/spf13/cobra"; + rev = "1e58aa3361fd650121dceeedc399e7189c05674a"; + sha256 = "1d6dy60dw7i2mcab10yp99wi5w28jzhzzf16w4ys6bna7ymndiin"; + }; + } + { + goPackagePath = "github.com/spf13/jwalterweatherman"; + fetch = { + type = "git"; + url = "https://github.com/spf13/jwalterweatherman"; + rev = "7c0cea34c8ece3fbeb2b27ab9b59511d360fb394"; + sha256 = "132p84i20b9s5r6fs597lsa6648vd415ch7c0d018vm8smzqpd0h"; + }; + } + { + goPackagePath = "github.com/spf13/pflag"; + fetch = { + type = "git"; + url = "https://github.com/spf13/pflag"; + rev = "3ebe029320b2676d667ae88da602a5f854788a8a"; + sha256 = "11yxs0wqy70wj106fkz8r923yg4ncnc2mbw33v48zmlg4a1rasgp"; + }; + } + { + goPackagePath = "github.com/spf13/viper"; + fetch = { + type = "git"; + url = "https://github.com/spf13/viper"; + rev = "b5e8006cbee93ec955a89ab31e0e3ce3204f3736"; + sha256 = "0y3r6ysi5vn0yq5c7pbl62yg2i64fkv54xgj2jf1hn3v6zzyimis"; + }; + } + { + goPackagePath = "github.com/xeipuuv/gojsonpointer"; + fetch = { + type = "git"; + url = "https://github.com/xeipuuv/gojsonpointer"; + rev = "4e3ac2762d5f479393488629ee9370b50873b3a6"; + sha256 = "13y6iq2nzf9z4ls66bfgnnamj2m3438absmbpqry64bpwjfbsi9q"; + }; + } + { + goPackagePath = "github.com/xeipuuv/gojsonreference"; + fetch = { + type = "git"; + url = "https://github.com/xeipuuv/gojsonreference"; + rev = "bd5ef7bd5415a7ac448318e64f11a24cd21e594b"; + sha256 = "1xby79padc7bmyb8rfbad8wfnfdzpnh51b1n8c0kibch0kwc1db5"; + }; + } + { + goPackagePath = "github.com/xeipuuv/gojsonschema"; + fetch = { + type = "git"; + url = "https://github.com/xeipuuv/gojsonschema"; + rev = "9ff6d6c47f3f5de55acc6f464d6e3719b02818ae"; + sha256 = "0rpkya4lnpv9g33bs0z3vd5dlnadkyq1lg7114nbd73vm878s6sw"; + }; + } + { + goPackagePath = "golang.org/x/sys"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/sys"; + rev = "2d6f6f883a06fc0d5f4b14a81e4c28705ea64c15"; + sha256 = "1a6x6n1fk5k013w5r4b0bxws1d2fh0s69mbzpi1vkyfpcxabwjhj"; + }; + } + { + goPackagePath = "golang.org/x/text"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/text"; + rev = "5c1cf69b5978e5a34c5f9ba09a83e56acc4b7877"; + sha256 = "03br8p1sb1ffr02l8hyrgcyib7ms0z06wy3v4r1dj2l6q4ghwzfs"; + }; + } + { + goPackagePath = "gopkg.in/yaml.v2"; + fetch = { + type = "git"; + url = "https://gopkg.in/yaml.v2"; + rev = "5420a8b6744d3b0345ab293f6fcba19c978f1183"; + sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1"; + }; + } +] diff --git a/pkgs/applications/networking/cluster/luigi/default.nix b/pkgs/applications/networking/cluster/luigi/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..aad752643645947a2ea956e6f48dd9f5635c4005 --- /dev/null +++ b/pkgs/applications/networking/cluster/luigi/default.nix @@ -0,0 +1,35 @@ +{ lib, python3Packages }: + +python3Packages.buildPythonApplication rec { + pname = "luigi"; + version = "2.8.0"; + + src = python3Packages.fetchPypi { + inherit pname version; + sha256 = "1869lb6flmca6s7ccws7mvyn66nvrqjky40jwf2liv9fg0lp8899"; + }; + + # Relax version constraint + postPatch = '' + sed -i 's/<2.2.0//' setup.py + ''; + + propagatedBuildInputs = with python3Packages; [ tornado_4 python-daemon boto3 ]; + + # Requires tox, hadoop, and google cloud + doCheck = false; + + # This enables accessing modules stored in cwd + makeWrapperArgs = ["--prefix PYTHONPATH . :"]; + + meta = with lib; { + homepage = https://github.com/spotify/luigi; + description = "Python package that helps you build complex pipelines of batch jobs"; + longDescription = '' + Luigi handles dependency resolution, workflow management, visualization, + handling failures, command line integration, and much more. + ''; + license = [ licenses.asl20 ]; + maintainers = [ maintainers.bhipple ]; + }; +} diff --git a/pkgs/applications/networking/cluster/mesos/default.nix b/pkgs/applications/networking/cluster/mesos/default.nix index 6e2089f99352ae8db012dafed2e605712b1230f1..8cff2494bf8fe6ca5f2a02fee62afd699548d01d 100644 --- a/pkgs/applications/networking/cluster/mesos/default.nix +++ b/pkgs/applications/networking/cluster/mesos/default.nix @@ -4,6 +4,7 @@ , leveldb, glog, perf, utillinux, libnl, iproute, openssl, libevent , ethtool, coreutils, which, iptables, maven , bash, autoreconfHook +, utf8proc, lz4 , withJava ? !stdenv.isDarwin }: @@ -50,6 +51,7 @@ in stdenv.mkDerivation rec { makeWrapper curl sasl python wrapPython boto setuptools leveldb subversion apr glog openssl libevent + utf8proc lz4 ] ++ lib.optionals stdenv.isLinux [ libnl ] ++ lib.optionals withJava [ diff --git a/pkgs/applications/networking/cluster/minikube/default.nix b/pkgs/applications/networking/cluster/minikube/default.nix index b674f1f645808d766b544c6e0c47adac5a40c34e..4263abf0771d92d9ba2805b3145dbaac7a460f2a 100644 --- a/pkgs/applications/networking/cluster/minikube/default.nix +++ b/pkgs/applications/networking/cluster/minikube/default.nix @@ -1,5 +1,5 @@ { stdenv, buildGoPackage, fetchFromGitHub, go-bindata, libvirt, qemu -, gpgme, makeWrapper, hostPlatform, vmnet, python +, gpgme, makeWrapper, vmnet, python , docker-machine-kvm, docker-machine-kvm2 , extraDrivers ? [] }: @@ -14,7 +14,9 @@ let in buildGoPackage rec { pname = "minikube"; name = "${pname}-${version}"; - version = "0.28.1"; + version = "1.0.0"; + + kubernetesVersion = "1.14.0"; goPackagePath = "k8s.io/minikube"; @@ -22,20 +24,22 @@ in buildGoPackage rec { owner = "kubernetes"; repo = "minikube"; rev = "v${version}"; - sha256 = "0c36rzsdzxf9q6l4hl506bsd4qwmw033i0k1xhqszv9agg7qjlmm"; + sha256 = "170iy0h27gkz2hg485rnawdw069gxwgkwsjmfj5yag2kkgl7gxa3"; }; - buildInputs = [ go-bindata makeWrapper gpgme ] ++ stdenv.lib.optional hostPlatform.isDarwin vmnet; - subPackages = [ "cmd/minikube" ] ++ stdenv.lib.optional hostPlatform.isDarwin "cmd/drivers/hyperkit"; + buildInputs = [ go-bindata makeWrapper gpgme ] ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin vmnet; + subPackages = [ "cmd/minikube" ] ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin "cmd/drivers/hyperkit"; preBuild = '' pushd go/src/${goPackagePath} >/dev/null go-bindata -nomemcopy -o pkg/minikube/assets/assets.go -pkg assets deploy/addons/... - ISO_VERSION=$(grep "^ISO_VERSION" Makefile | sed "s/^.*\s//") + VERSION_MAJOR=$(grep "^VERSION_MAJOR" Makefile | sed "s/^.*\s//") + VERSION_MINOR=$(grep "^VERSION_MINOR" Makefile | sed "s/^.*\s//") + ISO_VERSION=v$VERSION_MAJOR.$VERSION_MINOR.0 ISO_BUCKET=$(grep "^ISO_BUCKET" Makefile | sed "s/^.*\s//") - KUBERNETES_VERSION=$(${python}/bin/python hack/get_k8s_version.py --k8s-version-only 2>&1) || true + KUBERNETES_VERSION=${kubernetesVersion} export buildFlagsArray="-ldflags=\ -X k8s.io/minikube/pkg/version.version=v${version} \ @@ -56,7 +60,7 @@ in buildGoPackage rec { postFixup = '' wrapProgram $bin/bin/${pname} --prefix PATH : $bin/bin:${stdenv.lib.makeBinPath binPath} - '' + stdenv.lib.optionalString hostPlatform.isDarwin '' + '' + stdenv.lib.optionalString stdenv.hostPlatform.isDarwin '' mv $bin/bin/hyperkit $bin/bin/docker-machine-driver-hyperkit ''; @@ -64,7 +68,7 @@ in buildGoPackage rec { homepage = https://github.com/kubernetes/minikube; description = "A tool that makes it easy to run Kubernetes locally"; license = licenses.asl20; - maintainers = with maintainers; [ ebzzry copumpkin ]; + maintainers = with maintainers; [ ebzzry copumpkin vdemeester ]; platforms = with platforms; unix; }; } diff --git a/pkgs/applications/networking/cluster/minishift/default.nix b/pkgs/applications/networking/cluster/minishift/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..a8161ed30771d8c37fac0a371eb598bfd175a705 --- /dev/null +++ b/pkgs/applications/networking/cluster/minishift/default.nix @@ -0,0 +1,67 @@ +{ lib, buildGoPackage, fetchFromGitHub, go-bindata, pkgconfig, makeWrapper +, glib, gtk3, libappindicator-gtk3, gpgme, openshift, ostree, libselinux, btrfs-progs +, lvm2, docker-machine-kvm +}: + +let + version = "1.33.0"; + + # Update these on version bumps according to Makefile + centOsIsoVersion = "v1.15.0"; + openshiftVersion = "v3.11.0"; + +in buildGoPackage rec { + name = "minishift-${version}"; + inherit version; + + src = fetchFromGitHub { + owner = "minishift"; + repo = "minishift"; + rev = "v${version}"; + sha256 = "0n3pj410bgjblv27p55piln0vi618mnyzzswcyfc2v73bfnzrydf"; + }; + + nativeBuildInputs = [ pkgconfig go-bindata makeWrapper ]; + buildInputs = [ glib gtk3 libappindicator-gtk3 gpgme ostree libselinux btrfs-progs lvm2 ]; + + goPackagePath = "github.com/minishift/minishift"; + subPackages = [ "cmd/minishift" ]; + + postPatch = '' + # minishift downloads openshift if not found therefore set the cache to /nix/store/... + substituteInPlace pkg/minishift/cache/oc_caching.go \ + --replace 'filepath.Join(oc.MinishiftCacheDir, OC_CACHE_DIR, oc.OpenShiftVersion, runtime.GOOS)' '"${openshift}/bin"' \ + --replace '"runtime"' "" + ''; + + buildFlagsArray = '' + -ldflags= + -X ${goPackagePath}/pkg/version.minishiftVersion=${version} + -X ${goPackagePath}/pkg/version.centOsIsoVersion=${centOsIsoVersion} + -X ${goPackagePath}/pkg/version.openshiftVersion=${openshiftVersion} + ''; + + preBuild = '' + (cd go/src/github.com/minishift/minishift + mkdir -p out/bindata + go-bindata -prefix addons -o out/bindata/addon_assets.go -pkg bindata addons/...) + ''; + + postInstall = '' + wrapProgram "$bin/bin/minishift" \ + --prefix PATH ':' '${lib.makeBinPath [ docker-machine-kvm openshift ]}' + ''; + + meta = with lib; { + description = "Run OpenShift locally"; + longDescription = '' + Minishift is a tool that helps you run OpenShift locally by running + a single-node OpenShift cluster inside a VM. You can try out OpenShift + or develop with it, day-to-day, on your local host. + ''; + homepage = https://github.com/minishift/minishift; + maintainers = with maintainers; [ fpletz vdemeester ]; + platforms = platforms.linux; + license = licenses.asl20; + }; +} diff --git a/pkgs/applications/networking/cluster/nomad/default.nix b/pkgs/applications/networking/cluster/nomad/default.nix index 8486f0d53067019e6c5aef7f82aeb1326b98924d..9e55c2f8a0f3d73839e9d563236f7d94e4512c8e 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.7.1"; + version = "0.8.7"; rev = "v${version}"; goPackagePath = "github.com/hashicorp/nomad"; @@ -12,13 +12,13 @@ buildGoPackage rec { owner = "hashicorp"; repo = "nomad"; inherit rev; - sha256 = "0hn80dqzxkwvk1zjk6px725mb2i3c06smqfj0yyjz96vgf7qbqy2"; + sha256 = "0nkqiqkrccfmn7qkbhd48m9m56ix4xb0a3ar0z0pl4sbm25rlj0b"; }; meta = with stdenv.lib; { homepage = https://www.nomadproject.io/; description = "A Distributed, Highly Available, Datacenter-Aware Scheduler"; - platforms = platforms.linux; + platforms = platforms.unix; license = licenses.mpl20; maintainers = with maintainers; [ rushmorem pradeepchhetri ]; }; diff --git a/pkgs/applications/networking/cluster/openshift/default.nix b/pkgs/applications/networking/cluster/openshift/default.nix index 0f137a872da64e86739f85e113bcabcee1e07200..dd57add14af9cc9d265201c866d312fcd2360c4f 100644 --- a/pkgs/applications/networking/cluster/openshift/default.nix +++ b/pkgs/applications/networking/cluster/openshift/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchFromGitHub, removeReferencesTo, which, go_1_9, go-bindata, makeWrapper, rsync, utillinux +{ stdenv, lib, fetchFromGitHub, buildGoPackage, which, go-bindata, rsync, utillinux , coreutils, kerberos, clang , components ? [ "cmd/oc" @@ -9,18 +9,18 @@ with lib; let - version = "3.10.0"; + version = "3.11.0"; ver = stdenv.lib.elemAt (stdenv.lib.splitString "." version); versionMajor = ver 0; versionMinor = ver 1; versionPatch = ver 2; - gitCommit = "dd10d17"; + gitCommit = "0cbc58b"; # version is in vendor/k8s.io/kubernetes/pkg/version/base.go - k8sversion = "v1.10.0"; - k8sgitcommit = "b81c8f8"; + k8sversion = "v1.11.1"; + k8sgitcommit = "b1b2997"; k8sgitMajor = "0"; k8sgitMinor = "1"; -in stdenv.mkDerivation rec { +in buildGoPackage rec { name = "openshift-origin-${version}"; inherit version; @@ -28,14 +28,12 @@ in stdenv.mkDerivation rec { owner = "openshift"; repo = "origin"; rev = "v${version}"; - sha256 = "13aglz005jl48z17vnggkvr39l5h6jcqgkfyvkaz4c3jakms1hi9"; -}; + sha256 = "06q4v2a1mm6c659ab0rzkqz6b66vx4avqfg0s9xckwhq420lzgka"; + }; - # go > 1.10 - # [FATAL] [14:44:02+0000] Please install Go version go1.9 or use PERMISSIVE_GO=y to bypass this check. - buildInputs = [ removeReferencesTo makeWrapper which go_1_9 rsync go-bindata kerberos clang ]; + goPackagePath = "github.com/openshift/origin"; - outputs = [ "out" ]; + buildInputs = [ which rsync go-bindata kerberos clang ]; patchPhase = '' patchShebangs ./hack @@ -54,6 +52,7 @@ in stdenv.mkDerivation rec { ''; buildPhase = '' + cd go/src/${goPackagePath} # Openshift build require this variables to be set # unless there is a .git folder which is not the case with fetchFromGitHub echo "OS_GIT_VERSION=v${version}" >> os-version-defs @@ -71,14 +70,10 @@ in stdenv.mkDerivation rec { ''; installPhase = '' - mkdir -p "$out/bin" - cp -a "_output/local/bin/$(go env GOOS)/$(go env GOARCH)/"* "$out/bin/" - install -D -t "$out/etc/bash_completion.d" contrib/completions/bash/* - install -D -t "$out/share/zsh/site-functions" contrib/completions/zsh/* - ''; - - preFixup = '' - find $out/bin -type f -exec remove-references-to -t ${go_1_9} '{}' + + mkdir -p $bin/bin + cp -a "_output/local/bin/$(go env GOOS)/$(go env GOARCH)/"* "$bin/bin/" + install -D -t "$bin/etc/bash_completion.d" contrib/completions/bash/* + install -D -t "$bin/share/zsh/site-functions" contrib/completions/zsh/* ''; meta = with stdenv.lib; { @@ -86,6 +81,6 @@ in stdenv.mkDerivation rec { license = licenses.asl20; homepage = http://www.openshift.org; maintainers = with maintainers; [offline bachp moretea]; - platforms = platforms.linux; + platforms = platforms.unix; }; } diff --git a/pkgs/applications/networking/cluster/pachyderm/default.nix b/pkgs/applications/networking/cluster/pachyderm/default.nix index c276c2e752fd5d535b34833fe2894af270a6a073..618bea36de862dc068ea896ff06d430b78cbd454 100644 --- a/pkgs/applications/networking/cluster/pachyderm/default.nix +++ b/pkgs/applications/networking/cluster/pachyderm/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { name = "pachyderm-${version}"; - version = "1.4.6"; + version = "1.8.5"; rev = "v${version}"; goPackagePath = "github.com/pachyderm/pachyderm"; @@ -12,7 +12,7 @@ buildGoPackage rec { inherit rev; owner = "pachyderm"; repo = "pachyderm"; - sha256 = "1fivihn9s04lmzdiwg0f05qm708fb14xy81pbc31wxdyjw28m8ns"; + sha256 = "1b9x2xn0sxsjid15lnwr79lps8xzf24i7jfl0i48nabdigmi04wp"; }; meta = with lib; { diff --git a/pkgs/applications/networking/cluster/pig/default.nix b/pkgs/applications/networking/cluster/pig/default.nix index 45dcfb1738c1e1c2f82c05de2d0592d420baa8d1..26c39f8cbe216240f8e3c6bbc5580cc58abf9ff6 100644 --- a/pkgs/applications/networking/cluster/pig/default.nix +++ b/pkgs/applications/networking/cluster/pig/default.nix @@ -2,15 +2,15 @@ stdenv.mkDerivation rec { - name = "pig-0.16.0"; + name = "pig-0.17.0"; src = fetchurl { url = "mirror://apache/pig/${name}/${name}.tar.gz"; - sha256 = "0p79grz5islnq195lv7pqdxb5l3v4y0k0w63602827qs70zpr508"; + sha256 = "1wwpg0w47f49rnivn2d26vrxgyfl9gpqx3vmzbl5lhx6x5l3fqbd"; }; - buildInputs = [ makeWrapper ]; + nativeBuildInputs = [ makeWrapper ]; installPhase = '' mkdir -p $out @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { ''; meta = with stdenv.lib; { - homepage = http://pig.apache.org/; + homepage = https://pig.apache.org/; description = "High-level language for Apache Hadoop"; license = licenses.asl20; diff --git a/pkgs/applications/networking/cluster/ssm-agent/default.nix b/pkgs/applications/networking/cluster/ssm-agent/default.nix index bb179606b367489857a842d2067300f16a703de2..052797db2f3f052158a9c287b2ff9cccbb3a457e 100644 --- a/pkgs/applications/networking/cluster/ssm-agent/default.nix +++ b/pkgs/applications/networking/cluster/ssm-agent/default.nix @@ -24,7 +24,7 @@ buildGoPackage rec { description = "Agent to enable remote management of your Amazon EC2 instance configuration"; homepage = "https://github.com/aws/amazon-ssm-agent"; license = licenses.asl20; - platforms = platforms.linux; + platforms = platforms.unix; maintainers = with maintainers; [ copumpkin ]; }; } diff --git a/pkgs/applications/networking/cluster/stern/default.nix b/pkgs/applications/networking/cluster/stern/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..bb0f3229ea5e0b5f958378dfce227808d9c0c89f --- /dev/null +++ b/pkgs/applications/networking/cluster/stern/default.nix @@ -0,0 +1,36 @@ +{ stdenv, lib, buildPackages, buildGoPackage, fetchFromGitHub }: + +let isCrossBuild = stdenv.hostPlatform != stdenv.buildPlatform; in + +buildGoPackage rec { + name = "stern-${version}"; + version = "1.10.0"; + + goPackagePath = "github.com/wercker/stern"; + + src = fetchFromGitHub { + owner = "wercker"; + repo = "stern"; + rev = "${version}"; + sha256 = "05wsif0pwh2v4rw4as36f1d9r149zzp2nyc0z4jwnj9nx58nfpll"; + }; + + goDeps = ./deps.nix; + + postInstall = + let stern = if isCrossBuild then buildPackages.stern else "$bin"; in + '' + mkdir -p $bin/share/bash-completion/completions + ${stern}/bin/stern --completion bash > $bin/share/bash-completion/completions/stern + mkdir -p $bin/share/zsh/site-functions + ${stern}/bin/stern --completion zsh > $bin/share/zsh/site-functions/_stern + ''; + + meta = with lib; { + description = "Multi pod and container log tailing for Kubernetes"; + homepage = "https://github.com/wercker/stern"; + license = licenses.asl20; + maintainers = with maintainers; [ mbode ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/networking/cluster/stern/deps.nix b/pkgs/applications/networking/cluster/stern/deps.nix new file mode 100644 index 0000000000000000000000000000000000000000..fff5cf8c0de4afa9bfa2d4d7193e9e15132f0c0e --- /dev/null +++ b/pkgs/applications/networking/cluster/stern/deps.nix @@ -0,0 +1,336 @@ +# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix) +[ + { + goPackagePath = "cloud.google.com/go"; + fetch = { + type = "git"; + url = "https://code.googlesource.com/gocloud"; + rev = "dfffe386c33fb24c34ee501e5723df5b97b98514"; + sha256 = "1g681yxz4mmzapzpzxfaz1nhcr1w526793yapfsnxlbs2skap3fy"; + }; + } + { + goPackagePath = "github.com/Azure/go-autorest"; + fetch = { + type = "git"; + url = "https://github.com/Azure/go-autorest"; + rev = "1ff28809256a84bb6966640ff3d0371af82ccba4"; + sha256 = "0sxvj2j1833bqwxvhq3wq3jgq73rnb81pnzvl0x3y1m0hzpaf2zv"; + }; + } + { + goPackagePath = "github.com/dgrijalva/jwt-go"; + fetch = { + type = "git"; + url = "https://github.com/dgrijalva/jwt-go"; + rev = "06ea1031745cb8b3dab3f6a236daf2b0aa468b7e"; + sha256 = "08m27vlms74pfy5z79w67f9lk9zkx6a9jd68k3c4msxy75ry36mp"; + }; + } + { + goPackagePath = "github.com/fatih/color"; + fetch = { + type = "git"; + url = "https://github.com/fatih/color"; + rev = "2d684516a8861da43017284349b7e303e809ac21"; + sha256 = "1fcfmz4wji3gqmmsdx493r7d101s58hwjalqps6hy25nva5pvmfs"; + }; + } + { + goPackagePath = "github.com/ghodss/yaml"; + fetch = { + type = "git"; + url = "https://github.com/ghodss/yaml"; + rev = "73d445a93680fa1a78ae23a5839bad48f32ba1ee"; + sha256 = "0pg53ky4sy3sp9j4n7vgf1p3gw4nbckwqfldcmmi9rf13kjh0mr7"; + }; + } + { + goPackagePath = "github.com/gogo/protobuf"; + fetch = { + type = "git"; + url = "https://github.com/gogo/protobuf"; + rev = "c0656edd0d9eab7c66d1eb0c568f9039345796f7"; + sha256 = "0b943dhx571lhgcs3rqzy0092mi2x5mwy2kl7g8rryhy3r5rzrz9"; + }; + } + { + goPackagePath = "github.com/golang/glog"; + fetch = { + type = "git"; + url = "https://github.com/golang/glog"; + rev = "23def4e6c14b4da8ac2ed8007337bc5eb5007998"; + sha256 = "0jb2834rw5sykfr937fxi8hxi2zy80sj2bdn9b3jb4b26ksqng30"; + }; + } + { + goPackagePath = "github.com/golang/protobuf"; + fetch = { + type = "git"; + url = "https://github.com/golang/protobuf"; + rev = "b4deda0973fb4c70b50d226b1af49f3da59f5265"; + sha256 = "0ya4ha7m20bw048m1159ppqzlvda4x0vdprlbk5sdgmy74h3xcdq"; + }; + } + { + goPackagePath = "github.com/google/btree"; + fetch = { + type = "git"; + url = "https://github.com/google/btree"; + rev = "4030bb1f1f0c35b30ca7009e9ebd06849dd45306"; + sha256 = "0ba430m9fbnagacp57krgidsyrgp3ycw5r7dj71brgp5r52g82p6"; + }; + } + { + goPackagePath = "github.com/google/gofuzz"; + fetch = { + type = "git"; + url = "https://github.com/google/gofuzz"; + rev = "24818f796faf91cd76ec7bddd72458fbced7a6c1"; + sha256 = "0cq90m2lgalrdfrwwyycrrmn785rgnxa3l3vp9yxkvnv88bymmlm"; + }; + } + { + goPackagePath = "github.com/googleapis/gnostic"; + fetch = { + type = "git"; + url = "https://github.com/googleapis/gnostic"; + rev = "0c5108395e2debce0d731cf0287ddf7242066aba"; + sha256 = "0jf3cp5clli88gpjf24r6wxbkvngnc1kf59d4cgjczsn2wasvsfc"; + }; + } + { + goPackagePath = "github.com/gregjones/httpcache"; + fetch = { + type = "git"; + url = "https://github.com/gregjones/httpcache"; + rev = "787624de3eb7bd915c329cba748687a3b22666a6"; + sha256 = "1zqlg9pkj7r6fqw7wv3ywvbz3bh0hvzifs2scgcraj812q5189w5"; + }; + } + { + goPackagePath = "github.com/imdario/mergo"; + fetch = { + type = "git"; + url = "https://github.com/imdario/mergo"; + rev = "6633656539c1639d9d78127b7d47c622b5d7b6dc"; + sha256 = "1fffbq1l17i0gynmvcxypl7d9h4v81g5vlimiph5bfgf4sp4db7g"; + }; + } + { + goPackagePath = "github.com/inconshreveable/mousetrap"; + fetch = { + type = "git"; + url = "https://github.com/inconshreveable/mousetrap"; + rev = "76626ae9c91c4f2a10f34cad8ce83ea42c93bb75"; + sha256 = "1mn0kg48xkd74brf48qf5hzp0bc6g8cf5a77w895rl3qnlpfw152"; + }; + } + { + goPackagePath = "github.com/json-iterator/go"; + fetch = { + type = "git"; + url = "https://github.com/json-iterator/go"; + rev = "f2b4162afba35581b6d4a50d3b8f34e33c144682"; + sha256 = "0siqfghsm2lkdwinvg8x5gls3p76rq3cdm59c1r4x0b2mdfhnvcd"; + }; + } + { + goPackagePath = "github.com/mattn/go-colorable"; + fetch = { + type = "git"; + url = "https://github.com/mattn/go-colorable"; + rev = "167de6bfdfba052fa6b2d3664c8f5272e23c9072"; + sha256 = "1nwjmsppsjicr7anq8na6md7b1z84l9ppnlr045hhxjvbkqwalvx"; + }; + } + { + goPackagePath = "github.com/mattn/go-isatty"; + fetch = { + type = "git"; + url = "https://github.com/mattn/go-isatty"; + rev = "6ca4dbf54d38eea1a992b3c722a76a5d1c4cb25c"; + sha256 = "0zs92j2cqaw9j8qx1sdxpv3ap0rgbs0vrvi72m40mg8aa36gd39w"; + }; + } + { + goPackagePath = "github.com/mitchellh/go-homedir"; + fetch = { + type = "git"; + url = "https://github.com/mitchellh/go-homedir"; + rev = "b8bc1bf767474819792c23f32d8286a45736f1c6"; + sha256 = "13ry4lylalkh4g2vny9cxwvryslzyzwp9r92z0b10idhdq3wad1q"; + }; + } + { + goPackagePath = "github.com/modern-go/concurrent"; + fetch = { + type = "git"; + url = "https://github.com/modern-go/concurrent"; + rev = "bacd9c7ef1dd9b15be4a9909b8ac7a4e313eec94"; + sha256 = "0s0fxccsyb8icjmiym5k7prcqx36hvgdwl588y0491gi18k5i4zs"; + }; + } + { + goPackagePath = "github.com/modern-go/reflect2"; + fetch = { + type = "git"; + url = "https://github.com/modern-go/reflect2"; + rev = "4b7aa43c6742a2c18fdef89dd197aaae7dac7ccd"; + sha256 = "1721y3yr3dpx5dx5ashf063qczk2awy5zjir1jvp1h5hn7qz4i49"; + }; + } + { + goPackagePath = "github.com/petar/GoLLRB"; + fetch = { + type = "git"; + url = "https://github.com/petar/GoLLRB"; + rev = "53be0d36a84c2a886ca057d34b6aa4468df9ccb4"; + sha256 = "01xp3lcamqkvl91jg6ly202gdsgf64j39rkrcqxi6v4pbrcv7hz0"; + }; + } + { + goPackagePath = "github.com/peterbourgon/diskv"; + fetch = { + type = "git"; + url = "https://github.com/peterbourgon/diskv"; + rev = "5f041e8faa004a95c88a202771f4cc3e991971e6"; + sha256 = "1mxpa5aad08x30qcbffzk80g9540wvbca4blc1r2qyzl65b8929b"; + }; + } + { + goPackagePath = "github.com/pkg/errors"; + fetch = { + type = "git"; + url = "https://github.com/pkg/errors"; + rev = "816c9085562cd7ee03e7f8188a1cfd942858cded"; + sha256 = "1ws5crb7c70wdicavl6qr4g03nn6m92zd6wwp9n2ygz5c8rmxh8k"; + }; + } + { + goPackagePath = "github.com/spf13/cobra"; + fetch = { + type = "git"; + url = "https://github.com/spf13/cobra"; + rev = "a114f312e075f65bf30d6d9a1430113f857e543b"; + sha256 = "10lmi5ni06yijxg02fcic5b7ycjkia12yma4a4lz8a56j30wykx1"; + }; + } + { + goPackagePath = "github.com/spf13/pflag"; + fetch = { + type = "git"; + url = "https://github.com/spf13/pflag"; + rev = "3ebe029320b2676d667ae88da602a5f854788a8a"; + sha256 = "11yxs0wqy70wj106fkz8r923yg4ncnc2mbw33v48zmlg4a1rasgp"; + }; + } + { + goPackagePath = "golang.org/x/crypto"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/crypto"; + rev = "49796115aa4b964c318aad4f3084fdb41e9aa067"; + sha256 = "0pcq2drkzsw585xi6rda8imd7a139prrmvgmv8nz0zgzk6g4dy59"; + }; + } + { + goPackagePath = "golang.org/x/net"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/net"; + rev = "1c05540f6879653db88113bc4a2b70aec4bd491f"; + sha256 = "0h8yqb0vcqgllgydrf9d3rzp83w8wlr8f0nm6r1rwf2qg30pq1pd"; + }; + } + { + goPackagePath = "golang.org/x/oauth2"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/oauth2"; + rev = "a6bd8cefa1811bd24b86f8902872e4e8225f74c4"; + sha256 = "151in8qcf5y97ziavl6b03vgw4r87zqx5kg4vjhjszjbh60cfswp"; + }; + } + { + goPackagePath = "golang.org/x/sys"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/sys"; + rev = "8e24a49d80f82323e1c4db1b5da3e0f31171a151"; + sha256 = "0zsdnyb8dy98jw6f9yn6g5gdhaqwk39hqridr0mh4dhwvwvlj724"; + }; + } + { + goPackagePath = "golang.org/x/text"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/text"; + rev = "f21a4dfb5e38f5895301dc265a8def02365cc3d0"; + sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19"; + }; + } + { + goPackagePath = "golang.org/x/time"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/time"; + rev = "f51c12702a4d776e4c1fa9b0fabab841babae631"; + sha256 = "07wc6g2fvafkr6djsscm0jpbpl4135khhb6kpyx1953hi5d1jvyy"; + }; + } + { + goPackagePath = "google.golang.org/appengine"; + fetch = { + type = "git"; + url = "https://github.com/golang/appengine"; + rev = "ae0ab99deb4dc413a2b4bd6c8bdd0eb67f1e4d06"; + sha256 = "1iabxnqgxvvn1239i6fvfl375vlbvhfrc03m1x2rvalmx4d6w9c7"; + }; + } + { + goPackagePath = "gopkg.in/inf.v0"; + fetch = { + type = "git"; + url = "https://github.com/go-inf/inf"; + rev = "3887ee99ecf07df5b447e9b00d9c0b2adaa9f3e4"; + sha256 = "0rf3vwyb8aqnac9x9d6ax7z5526c45a16yjm2pvkijr6qgqz8b82"; + }; + } + { + goPackagePath = "gopkg.in/yaml.v2"; + fetch = { + type = "git"; + url = "https://github.com/go-yaml/yaml"; + rev = "5420a8b6744d3b0345ab293f6fcba19c978f1183"; + sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1"; + }; + } + { + goPackagePath = "k8s.io/api"; + fetch = { + type = "git"; + url = "https://github.com/kubernetes/api"; + rev = "8be2a0b24ed0dac9cfc1ac2d987ea16cfcdbecb6"; + sha256 = "1dpmd59jlkxgrp5aaf8420344c6nq4kjlc1avgcp7690yrzc50v6"; + }; + } + { + goPackagePath = "k8s.io/apimachinery"; + fetch = { + type = "git"; + url = "https://github.com/kubernetes/apimachinery"; + rev = "594fc14b6f143d963ea2c8132e09e73fe244b6c9"; + sha256 = "0xykhpmjgagyb0ac4y0ps4v1s9bd2b1sc0simh48c41a9fk3yvr7"; + }; + } + { + goPackagePath = "k8s.io/client-go"; + fetch = { + type = "git"; + url = "https://github.com/kubernetes/client-go"; + rev = "739dd8f9d4801eb23e2bc43423c0b4acaaded29a"; + sha256 = "15psjmb14rz4kwysim9vfbbylx0khkw29b195rziv1vk202lh28k"; + }; + } +] \ No newline at end of file diff --git a/pkgs/applications/networking/cluster/terraform-docs/default.nix b/pkgs/applications/networking/cluster/terraform-docs/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..2b39cebbbeb0730d8c26736d39f63c2757dd09ba --- /dev/null +++ b/pkgs/applications/networking/cluster/terraform-docs/default.nix @@ -0,0 +1,26 @@ +{ lib, buildGoPackage, fetchFromGitHub }: +buildGoPackage rec { + name = "${pname}-${version}"; + pname = "terraform-docs"; + version = "0.6.0"; + + goPackagePath = "github.com/segmentio/${pname}"; + + src = fetchFromGitHub { + owner = "segmentio"; + repo = pname; + rev = "v${version}"; + sha256 = "1p6prhjf82qnhf1zwl9h92j4ds5g383a6g9pwwnqbc3wdwy5zx7d"; + }; + + preBuild = '' + buildFlagsArray+=("-ldflags" "-X main.version=${version}") + ''; + + meta = with lib; { + description = "A utility to generate documentation from Terraform modules in various output formats"; + homepage = "https://github.com/segmentio/terraform-docs/"; + license = licenses.mit; + maintainers = with maintainers; [ zimbatm ]; + }; +} diff --git a/pkgs/applications/networking/cluster/terraform-landscape/Gemfile.lock b/pkgs/applications/networking/cluster/terraform-landscape/Gemfile.lock index ccc2294b6a094b137af6ee506a8a19288fb50adc..b801fad546dfa851e03063c1adabfd2424ecf173 100644 --- a/pkgs/applications/networking/cluster/terraform-landscape/Gemfile.lock +++ b/pkgs/applications/networking/cluster/terraform-landscape/Gemfile.lock @@ -2,12 +2,12 @@ GEM remote: https://rubygems.org/ specs: colorize (0.8.1) - commander (4.4.5) + commander (4.4.6) highline (~> 1.7.2) diffy (3.2.1) highline (1.7.10) polyglot (0.3.5) - terraform_landscape (0.1.18) + terraform_landscape (0.2.1) colorize (~> 0.7) commander (~> 4.4) diffy (~> 3.0) @@ -22,4 +22,4 @@ DEPENDENCIES terraform_landscape BUNDLED WITH - 1.14.6 + 1.16.3 diff --git a/pkgs/applications/networking/cluster/terraform-landscape/default.nix b/pkgs/applications/networking/cluster/terraform-landscape/default.nix index a0dca341ff3e37e9927be06c90a86209289af272..aa52350685057d4e1cf575346da0026e7bc8e9f8 100644 --- a/pkgs/applications/networking/cluster/terraform-landscape/default.nix +++ b/pkgs/applications/networking/cluster/terraform-landscape/default.nix @@ -1,19 +1,18 @@ -{ lib, bundlerEnv, ruby }: +{ lib, bundlerApp, ruby }: +let + version = (import ./gemset.nix).terraform_landscape.version; +in bundlerApp { + pname = "terraform_landscape"; -bundlerEnv rec { - name = "terraform-landscape-${version}"; - - version = (import gemset).terraform_landscape.version; inherit ruby; - gemfile = ./Gemfile; - lockfile = ./Gemfile.lock; - gemset = ./gemset.nix; + gemdir = ./.; + exes = [ "landscape" ]; meta = with lib; { description = "Improve Terraform's plan output to be easier to read and understand"; homepage = https://github.com/coinbase/terraform-landscape; license = with licenses; apsl20; - maintainers = with maintainers; [ mbode ]; + maintainers = with maintainers; [ mbode manveru ]; platforms = platforms.unix; }; } diff --git a/pkgs/applications/networking/cluster/terraform-landscape/gemset.nix b/pkgs/applications/networking/cluster/terraform-landscape/gemset.nix index 8dd57af4c73b93f41d64692552b92492cba004e4..aa3f5142aa5e83baeb05908be8b29344fb543cc5 100644 --- a/pkgs/applications/networking/cluster/terraform-landscape/gemset.nix +++ b/pkgs/applications/networking/cluster/terraform-landscape/gemset.nix @@ -11,10 +11,10 @@ dependencies = ["highline"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0sry6raysvg9qsx5nqqw09n8r8hvcsqzvci7xp2qk7jq3s9mgvnn"; + sha256 = "11sd2sb0id2dbxkv4pvymdiia1xxhms45kh4nr8mryqybad0fwwf"; type = "gem"; }; - version = "4.4.5"; + version = "4.4.6"; }; diffy = { source = { @@ -44,10 +44,10 @@ dependencies = ["colorize" "commander" "diffy" "treetop"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "0476q2kx88w9srj7rlzl6skrza3pdgyym7zksw78infsb2105lg9"; + sha256 = "1i93pih7r6zcqpjhsmvkpfkgbh0l66c60i6fkiymq7vy2xd6wnns"; type = "gem"; }; - version = "0.1.18"; + version = "0.2.1"; }; treetop = { dependencies = ["polyglot"]; diff --git a/pkgs/applications/networking/cluster/terraform-provider-libvirt/default.nix b/pkgs/applications/networking/cluster/terraform-provider-libvirt/default.nix deleted file mode 100644 index 2beceddc7fba4057a554fd8507065e8e08f1fe4d..0000000000000000000000000000000000000000 --- a/pkgs/applications/networking/cluster/terraform-provider-libvirt/default.nix +++ /dev/null @@ -1,47 +0,0 @@ -{ stdenv, buildGoPackage, fetchFromGitHub, libvirt, pkgconfig, makeWrapper, cdrtools }: - -# USAGE: -# install the following package globally or in nix-shell: -# -# (terraform.withPlugins (old: [terraform-provider-libvirt])) -# -# configuration.nix: -# -# virtualisation.libvirtd.enable = true; -# -# terraform-provider-libvirt does not manage pools at the moment: -# -# $ virsh --connect "qemu:///system" pool-define-as default dir - - - - /var/lib/libvirt/images -# $ virsh --connect "qemu:///system" pool-start default -# -# pick an example from (i.e ubuntu): -# https://github.com/dmacvicar/terraform-provider-libvirt/tree/master/examples - -buildGoPackage rec { - name = "terraform-provider-libvirt-${version}"; - version = "0.4"; - - goPackagePath = "github.com/dmacvicar/terraform-provider-libvirt"; - - src = fetchFromGitHub { - owner = "dmacvicar"; - repo = "terraform-provider-libvirt"; - rev = "v${version}"; - sha256 = "05jkjp1kis4ncryv34pkb9cz2yhzbwg62x9qmlqsqlxwz9hqny3r"; - }; - - buildInputs = [ libvirt pkgconfig makeWrapper ]; - - # mkisofs needed to create ISOs holding cloud-init data, - # and wrapped to terraform via deecb4c1aab780047d79978c636eeb879dd68630 - propagatedBuildInputs = [ cdrtools ]; - - meta = with stdenv.lib; { - homepage = https://github.com/dmacvicar/terraform-provider-libvirt; - description = "Terraform provider for libvirt"; - platforms = platforms.linux; - license = licenses.asl20; - maintainers = with maintainers; [ mic92 ]; - }; -} - diff --git a/pkgs/applications/networking/cluster/terraform-provider-nixos/default.nix b/pkgs/applications/networking/cluster/terraform-provider-nixos/default.nix deleted file mode 100644 index f4ad171c267ee46322fd8e3f97c463d358963d36..0000000000000000000000000000000000000000 --- a/pkgs/applications/networking/cluster/terraform-provider-nixos/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ stdenv, buildGoPackage, fetchFromGitHub }: -buildGoPackage rec { - name = "terraform-provider-nixos-${version}"; - version = "0.0.1"; - goPackagePath = "github.com/tweag/terraform-provider-nixos"; - src = fetchFromGitHub { - owner = "tweag"; - repo = "terraform-provider-nixos"; - sha256 = "00vz6qjq1pk39iqg4356b8g3c6slla9jifkv2knk46gc9q93q0lf"; - rev = "v${version}"; - }; - - # Terraform allow checking the provider versions, but this breaks - # if the versions are not provided via file paths. - postBuild = "mv go/bin/terraform-provider-nixos{,_v${version}}"; - - meta = with stdenv.lib; { - description = "Terraform plugin for outputting NixOS configuration files from Terraform resources."; - homepage = "https://github.com/tweag/terraform-provider-nixos"; - license = licenses.mpl20; - maintainers = with maintainers; [ grahamc ]; - }; -} diff --git a/pkgs/applications/networking/cluster/terraform-providers/data.nix b/pkgs/applications/networking/cluster/terraform-providers/data.nix new file mode 100644 index 0000000000000000000000000000000000000000..76178c0cd8b6813ce9f6bdc11b20c0b0c91b5566 --- /dev/null +++ b/pkgs/applications/networking/cluster/terraform-providers/data.nix @@ -0,0 +1,724 @@ +# Generated with ./update-all +{ + acme = + { + owner = "terraform-providers"; + repo = "terraform-provider-acme"; + version = "1.1.1"; + sha256 = "0fva2kw82s94r4s4dpk38kcmssmcr71ia9jyg1rqmc00ifilfrzj"; + }; + alicloud = + { + owner = "terraform-providers"; + repo = "terraform-provider-alicloud"; + version = "1.39.0"; + sha256 = "0m5fvqrvnb7v5iii67l743j3hq32rljrvnkgc7fcd46zrf38yl2h"; + }; + archive = + { + owner = "terraform-providers"; + repo = "terraform-provider-archive"; + version = "1.2.1"; + sha256 = "1avx3m0dkld0kmsi8ifqcla8254p1izh5wrziffr7r05s152r8qf"; + }; + arukas = + { + owner = "terraform-providers"; + repo = "terraform-provider-arukas"; + version = "1.1.0"; + sha256 = "1akl9fzgm5qv01vz18xjzyqjnlxw699qq4x8vr96j16l1zf10h99"; + }; + atlas = + { + owner = "terraform-providers"; + repo = "terraform-provider-atlas"; + version = "0.1.1"; + sha256 = "0k73vv14vnjl5qm33w54s5zzi0mmk1kn2zs3qkfq71aqi9ml7d14"; + }; + aws = + { + owner = "terraform-providers"; + repo = "terraform-provider-aws"; + version = "2.6.0"; + sha256 = "0hpnyid5w33n8ypwcz3a43gazbvk6m60b57qll2qgx6bm1q75b19"; + }; + azuread = + { + owner = "terraform-providers"; + repo = "terraform-provider-azuread"; + version = "0.2.0"; + sha256 = "01aiynw905gbn6dv23971yhwv0kfcbckcqp4f65sypn1l8szqyjg"; + }; + azurerm = + { + owner = "terraform-providers"; + repo = "terraform-provider-azurerm"; + version = "1.25.0"; + sha256 = "1fhcljxz6cb5q1kd7aprxv1bga53x6fg65q5wkp985aaqnl42b8k"; + }; + azurestack = + { + owner = "terraform-providers"; + repo = "terraform-provider-azurestack"; + version = "0.5.0"; + sha256 = "0pi8hjl6350ibkiz5pi86p58gkj8jf0a27ar04npsrn2wcz90k8z"; + }; + bigip = + { + owner = "terraform-providers"; + repo = "terraform-provider-bigip"; + version = "0.12.0"; + sha256 = "0fmmlx757hph45ffm19zafjfkldg41qkw83vz0jjmvxicza1afbd"; + }; + bitbucket = + { + owner = "terraform-providers"; + repo = "terraform-provider-bitbucket"; + version = "1.0.0"; + sha256 = "0gi8p1q0y8x5y8lqihijkpqs3v152h0q7icv7ixk33xsdcvb418y"; + }; + brightbox = + { + owner = "terraform-providers"; + repo = "terraform-provider-brightbox"; + version = "1.1.1"; + sha256 = "03fh287fmbg9jxsiniwj3sn6nsjdm46qv82b5aaqny3qmhjddjvq"; + }; + chef = + { + owner = "terraform-providers"; + repo = "terraform-provider-chef"; + version = "0.1.0"; + sha256 = "17fppyhxi0rd5v8khw2psdn2hdv5j79hxhinwkzrq5s4iccqk5dw"; + }; + circonus = + { + owner = "terraform-providers"; + repo = "terraform-provider-circonus"; + version = "0.2.0"; + sha256 = "1vcia3p31cgdwjs06k4244bk7ib2qp1f2lhc7hmyhdfi1c8jym45"; + }; + clc = + { + owner = "terraform-providers"; + repo = "terraform-provider-clc"; + version = "0.1.0"; + sha256 = "0gvsjnwk6xkgxai1gxsjf0hsjxbv8d8jg5hq8yd3hjhc6785fgnf"; + }; + cloudflare = + { + owner = "terraform-providers"; + repo = "terraform-provider-cloudflare"; + version = "1.13.0"; + sha256 = "01fgcycn5g53cx32xcgrpcpvjxwb8w11hs0f7s2bhg6cq0v9higj"; + }; + cloudscale = + { + owner = "terraform-providers"; + repo = "terraform-provider-cloudscale"; + version = "1.1.0"; + sha256 = "09b1cq0vyyag8aaiwmhnwrgigmxvxk3qsk31h4hshm7ddk7db9qn"; + }; + cloudstack = + { + owner = "terraform-providers"; + repo = "terraform-provider-cloudstack"; + version = "0.2.0"; + sha256 = "1v46da55a8a0hnw319swz3pkd62afy7hdwzybxmp48hxh1i6af74"; + }; + cobbler = + { + owner = "terraform-providers"; + repo = "terraform-provider-cobbler"; + version = "1.0.1"; + sha256 = "1z0iijfrbbdrgszvc7jlcr4105zragbc0iq8x48vi24yipqgf5a8"; + }; + consul = + { + owner = "terraform-providers"; + repo = "terraform-provider-consul"; + version = "2.3.0"; + sha256 = "06b6yjmaq7sq26kfsqxlxmz5mnr1xsn1vywndh14grqwg6zmsrl6"; + }; + datadog = + { + owner = "terraform-providers"; + repo = "terraform-provider-datadog"; + version = "1.8.0"; + sha256 = "1pmz4gxhfynj7mjcl07n2ggz00vccw4bv6cmp7na3ssbpnjiy1wx"; + }; + digitalocean = + { + owner = "terraform-providers"; + repo = "terraform-provider-digitalocean"; + version = "1.1.0"; + sha256 = "1w5xslm8939rz13bsiv9hfcl8cyvi03gr0h24c0ybwj8alxmxhb4"; + }; + dme = + { + owner = "terraform-providers"; + repo = "terraform-provider-dme"; + version = "0.1.0"; + sha256 = "1ipqw1sbx0i9rhxawsysrqxvf10z8ra2y86xwd4iz0f12x9drblv"; + }; + dns = + { + owner = "terraform-providers"; + repo = "terraform-provider-dns"; + version = "2.0.0"; + sha256 = "1km0pq1wp0bdccb612z9n0kj9w7hn1yvhk7xszwp2mzs8qmd7flv"; + }; + dnsimple = + { + owner = "terraform-providers"; + repo = "terraform-provider-dnsimple"; + version = "0.1.0"; + sha256 = "0gkd5i69ldm5zn34p3k68aqk798g6g0d60gw7yp316l7mskvrx7h"; + }; + docker = + { + owner = "terraform-providers"; + repo = "terraform-provider-docker"; + version = "1.1.1"; + sha256 = "0bqwdx8hb7bym4hh01a0n1zrgb1081rvn0qawck712wz0jkzv1r3"; + }; + dyn = + { + owner = "terraform-providers"; + repo = "terraform-provider-dyn"; + version = "1.1.0"; + sha256 = "0sx4h3drb230m69lsmafyfd2cfvwnb9gld8s6ky54115kd3nckml"; + }; + external = + { + owner = "terraform-providers"; + repo = "terraform-provider-external"; + version = "1.1.1"; + sha256 = "110kqp4gsag3l8h9hwjdq98s9rz9f5w31mrs50rygdc0yd43hq8z"; + }; + fastly = + { + owner = "terraform-providers"; + repo = "terraform-provider-fastly"; + version = "0.6.0"; + sha256 = "1z9qrqcib2rxy8s4glb4ggdkqcq7rwphiclsr1zncyly2n6887yj"; + }; + flexibleengine = + { + owner = "terraform-providers"; + repo = "terraform-provider-flexibleengine"; + version = "1.4.0"; + sha256 = "1gj3y9xw9zzh2fs2i6q0afw591lhy1lvcn80xac4da08r5l3si6g"; + }; + github = + { + owner = "terraform-providers"; + repo = "terraform-provider-github"; + version = "1.3.0"; + sha256 = "1k7816dbpsjjbm3pa6l0qlrxw5hh8z5iwdr8mp1mp5liidhl6bqs"; + }; + gitlab = + { + owner = "terraform-providers"; + repo = "terraform-provider-gitlab"; + version = "1.2.0"; + sha256 = "11j84kyw2lsqsn6ya070hx0k6igb3hhjl8zlnr4q3gpmv51y23qc"; + }; + google = + { + owner = "terraform-providers"; + repo = "terraform-provider-google"; + version = "2.4.0"; + sha256 = "153pr01m7clvdq9c09xhvlivagn12nlxhykh1x9yya9ixkg0zrrv"; + }; + google-beta = + { + owner = "terraform-providers"; + repo = "terraform-provider-google-beta"; + version = "2.4.0"; + sha256 = "08vbj9m6x0byf7x77a5b5isg0kmlxvc9gswgilzi6djgwg0j6wwd"; + }; + grafana = + { + owner = "terraform-providers"; + repo = "terraform-provider-grafana"; + version = "1.3.0"; + sha256 = "1gyma31iv05nfy9jrd8zlkls35fbrxx4nrh56gdgwchv054rxzff"; + }; + hcloud = + { + owner = "terraform-providers"; + repo = "terraform-provider-hcloud"; + version = "1.9.0"; + sha256 = "08ag1xwn6vj4w8kz37z8hsi8lkvfwkw5n8wjb5c03g9yva1j85yx"; + }; + hedvig = + { + owner = "terraform-providers"; + repo = "terraform-provider-hedvig"; + version = "1.0.3"; + sha256 = "0kqnbd78m4r97b5w7skkpcnhc0bqh2cky7q0inhdhsb7gvivz1b1"; + }; + helm = + { + owner = "terraform-providers"; + repo = "terraform-provider-helm"; + version = "0.9.0"; + sha256 = "1psqabifb1kabg268ca1x4l79z1xga1pr2sf8x9lrd7z856v18l9"; + }; + heroku = + { + owner = "terraform-providers"; + repo = "terraform-provider-heroku"; + version = "1.9.0"; + sha256 = "1qabhf2qm7ba5jw6hclkcp2pw8c39ggrqkhhqg0bh03h220rl22x"; + }; + http = + { + owner = "terraform-providers"; + repo = "terraform-provider-http"; + version = "1.0.1"; + sha256 = "1bnqrx4xya3lm5wp4byy6npazll6w1g6bv4rawgncswsgx08zqng"; + }; + huaweicloud = + { + owner = "terraform-providers"; + repo = "terraform-provider-huaweicloud"; + version = "1.4.0"; + sha256 = "018b57cndl72vjlijwvjx64rxjgimcqq1f6dxdny3wj1j4i0h4fi"; + }; + icinga2 = + { + owner = "terraform-providers"; + repo = "terraform-provider-icinga2"; + version = "0.2.0"; + sha256 = "02ladn2w75k35vn8llj3zh9hbpnnnvpm47c9f29zshfs04acwbq0"; + }; + ignition = + { + owner = "terraform-providers"; + repo = "terraform-provider-ignition"; + version = "1.0.1"; + sha256 = "1j9rgwrb4bnm8a44rg3d9fry46wlpfkwxxpkpw9y6l24php0qxh8"; + }; + influxdb = + { + owner = "terraform-providers"; + repo = "terraform-provider-influxdb"; + version = "1.1.0"; + sha256 = "1mxvc3pwzgj7r79a5vz8n489xny12wa75zpppgh7948fy8m8b23f"; + }; + kubernetes = + { + owner = "terraform-providers"; + repo = "terraform-provider-kubernetes"; + version = "1.5.2"; + sha256 = "0g1f5cbmzrd46abwd0rdyrf8wj8w9bx1251gf4s9z41adrxjy2lp"; + }; + librato = + { + owner = "terraform-providers"; + repo = "terraform-provider-librato"; + version = "0.1.0"; + sha256 = "0bxadwj5s7bvc4vlymn3w6qckf14hz82r7q98w2nh55sqr52d923"; + }; + linode = + { + owner = "terraform-providers"; + repo = "terraform-provider-linode"; + version = "1.6.0"; + sha256 = "0i2x0jd26qanziihlc38s7rxiab66ld2s5gz18rrmrbwhcl95fwj"; + }; + local = + { + owner = "terraform-providers"; + repo = "terraform-provider-local"; + version = "1.2.1"; + sha256 = "1hi2bxa79fbdf2n6z59xdfs7bx8cg7q2l84hrxdh3cqbnb8jvsbr"; + }; + logentries = + { + owner = "terraform-providers"; + repo = "terraform-provider-logentries"; + version = "1.0.0"; + sha256 = "04xprkb9zwdjyzmsdf10bgmn8sa8q7jw0izz8lw0cc9hag97qgbq"; + }; + logicmonitor = + { + owner = "terraform-providers"; + repo = "terraform-provider-logicmonitor"; + version = "1.2.0"; + sha256 = "1zir35i8j5w7ra4i7f9k0ghac9b3bar0dy16sqy1kqwbh4ikmhb8"; + }; + mailgun = + { + owner = "terraform-providers"; + repo = "terraform-provider-mailgun"; + version = "0.1.0"; + sha256 = "1hjhjfxqbr43wa248c6hc91lx5b2gdw4vl92l2i6aqp17rbc0wfj"; + }; + mysql = + { + owner = "terraform-providers"; + repo = "terraform-provider-mysql"; + version = "1.5.1"; + sha256 = "0i5s62z3cdg3mhahf09nyw8l2hcx6d7jp3hr3n8rcjwj3ajj8qis"; + }; + netlify = + { + owner = "terraform-providers"; + repo = "terraform-provider-netlify"; + version = "0.1.0"; + sha256 = "1lf66nzqcgzjwvh1lv2jp8gcj6apdanlinci5pri8mgv5r1pv40l"; + }; + newrelic = + { + owner = "terraform-providers"; + repo = "terraform-provider-newrelic"; + version = "1.5.0"; + sha256 = "1if8i435v4nf18hdvwwz3nvlkaf8yjzcxi300blri2xfx95chsxw"; + }; + nomad = + { + owner = "terraform-providers"; + repo = "terraform-provider-nomad"; + version = "1.3.0"; + sha256 = "06kq0qkrgnj7z13xrgb9shid356m55mz0hkdbm4vfz3fx863mvl3"; + }; + ns1 = + { + owner = "terraform-providers"; + repo = "terraform-provider-ns1"; + version = "1.3.0"; + sha256 = "1h21a4z7js2iwg0gj217lq4d7wccxhjmi5k37asfj18ch0x37c7v"; + }; + nsxt = + { + owner = "terraform-providers"; + repo = "terraform-provider-nsxt"; + version = "1.1.0"; + sha256 = "0y9n4acbrjf5n2v8j10qfnz8677gil60by5miz3wd2qpxwgmhhm8"; + }; + null = + { + owner = "terraform-providers"; + repo = "terraform-provider-null"; + version = "2.1.1"; + sha256 = "0sw7j2cz9d5207l1v32ahqahmsk1dzzsf83zqivaa5jk3w4bfnjz"; + }; + nutanix = + { + owner = "terraform-providers"; + repo = "terraform-provider-nutanix"; + version = "1.0.0"; + sha256 = "16nky5ryyjvv7vny18ymxvy20ivwmqw7lagnz48pq8mnwwrp5541"; + }; + oci = + { + owner = "terraform-providers"; + repo = "terraform-provider-oci"; + version = "3.23.0-rc1"; + sha256 = "11h8na7czj4iqm9z3pd8im06qqp3mng62h8ha5afvz2phv1g096h"; + }; + oneandone = + { + owner = "terraform-providers"; + repo = "terraform-provider-oneandone"; + version = "1.3.0"; + sha256 = "0c412nqg3k17124i51nn3ffra6gcll904h37h7hyvz97cdblcncn"; + }; + opc = + { + owner = "terraform-providers"; + repo = "terraform-provider-opc"; + version = "1.3.3"; + sha256 = "1hwbwyhjrs16cy66przs44znni0x3nwfsx18glxbikb2zx1ph93n"; + }; + openstack = + { + owner = "terraform-providers"; + repo = "terraform-provider-openstack"; + version = "1.17.0"; + sha256 = "1a3asmkf3w1ndy5rpyn09msp5l1sm2cdm3ca7cx5v00pjvww9f52"; + }; + opentelekomcloud = + { + owner = "terraform-providers"; + repo = "terraform-provider-opentelekomcloud"; + version = "1.7.0"; + sha256 = "15p5xvl6ryj5silpd2yrmjjh0d4qf89v8x6zbq8x7j351a1fljak"; + }; + opsgenie = + { + owner = "terraform-providers"; + repo = "terraform-provider-opsgenie"; + version = "0.1.0"; + sha256 = "0zs0cl6jl4rijcs6vv5k8k5pyf0zs52dlgqcnb1gzslh8sg5pdkm"; + }; + oraclepaas = + { + owner = "terraform-providers"; + repo = "terraform-provider-oraclepaas"; + version = "1.5.1"; + sha256 = "0xyyhr2n1aw1qn90535llv72cdgdqpni9l4gn8sj0ligpjhba7qz"; + }; + ovh = + { + owner = "terraform-providers"; + repo = "terraform-provider-ovh"; + version = "0.3.0"; + sha256 = "05bzkwa50alh8mpslh64dddp815m8df240w1mmphdmp9rsi6hqp8"; + }; + packet = + { + owner = "terraform-providers"; + repo = "terraform-provider-packet"; + version = "1.7.2"; + sha256 = "103r0k626ham8wh7rwlx1hald4rik17mv2mcfjz9za65v7z139vr"; + }; + pagerduty = + { + owner = "terraform-providers"; + repo = "terraform-provider-pagerduty"; + version = "1.2.1"; + sha256 = "1b0fbzqalcxngnxk51afxkhs82bj68sjakvb28p0im0x1lblxj0n"; + }; + panos = + { + owner = "terraform-providers"; + repo = "terraform-provider-panos"; + version = "1.5.1"; + sha256 = "17w4zkc445bpfq6pqx575y5njsak18yca1y2by4chg9d05inphqd"; + }; + postgresql = + { + owner = "terraform-providers"; + repo = "terraform-provider-postgresql"; + version = "0.3.0"; + sha256 = "0z1xdzl5mn6dxgkgmysq06g3fg9cdlwa59ng42r6kffcbl0mwgfh"; + }; + powerdns = + { + owner = "terraform-providers"; + repo = "terraform-provider-powerdns"; + version = "0.1.0"; + sha256 = "1k9xjx2smk6478dsrcnqk1k6r2pddpa9n8aghq5d1a5yhfsq5zzz"; + }; + profitbricks = + { + owner = "terraform-providers"; + repo = "terraform-provider-profitbricks"; + version = "1.4.4"; + sha256 = "0pzcl3pdhaykihvv1v38zrv607mydchvkzrzhwcakgmdkp3vq54i"; + }; + rabbitmq = + { + owner = "terraform-providers"; + repo = "terraform-provider-rabbitmq"; + version = "1.0.0"; + sha256 = "1md928243r4c46ihjnavz2375nxnfyhknyc86r9853hwhhyhsx5d"; + }; + rancher = + { + owner = "terraform-providers"; + repo = "terraform-provider-rancher"; + version = "1.2.1"; + sha256 = "1z0gqchb268w5mw0519fbx4126nkxb9kvvay8vjj287yxdpi5grj"; + }; + random = + { + owner = "terraform-providers"; + repo = "terraform-provider-random"; + version = "2.1.1"; + sha256 = "0ivmxacb9pzz7av2rr6jal5vwdv24689a2806nqvvzdy2s8mlzd3"; + }; + rightscale = + { + owner = "terraform-providers"; + repo = "terraform-provider-rightscale"; + version = "1.3.0"; + sha256 = "1brzxyd5hg99x75qh0p707lr9cvqpzx2az1swr624w3rzhjl2ygm"; + }; + rundeck = + { + owner = "terraform-providers"; + repo = "terraform-provider-rundeck"; + version = "0.1.0"; + sha256 = "0rp8cgnp8in52g7zkl2lj42hns0g27m8f7l42lhfnv6n2vv5qxcg"; + }; + runscope = + { + owner = "terraform-providers"; + repo = "terraform-provider-runscope"; + version = "0.5.0"; + sha256 = "0n0m39gaiwhqigjny51a7g36ldik33alimkqqbv6hqyzrhk0qs8h"; + }; + scaleway = + { + owner = "terraform-providers"; + repo = "terraform-provider-scaleway"; + version = "1.9.2"; + sha256 = "0wjkjf4sc3rfxiz3lfw6cfhdn8a7pzmyfw1f2dsp3a6fpa2srbph"; + }; + selectel = + { + owner = "terraform-providers"; + repo = "terraform-provider-selectel"; + version = "2.1.0"; + sha256 = "078pyml9nwv7347yni1h7mjdp8sd4zyccv80mgjn8xh2q208fqpg"; + }; + skytap = + { + owner = "terraform-providers"; + repo = "terraform-provider-skytap"; + version = "0.9.0"; + sha256 = "15p2rfaqw5iab8fkxcxigp7nxvs4gmgr2v8ysfyjz01mgwidd0rq"; + }; + softlayer = + { + owner = "terraform-providers"; + repo = "terraform-provider-softlayer"; + version = "0.0.1"; + sha256 = "1xcg5zm2n1pc3l7ng94k589r7ykv6fxsmr5qn9xmmpdf912rdnfq"; + }; + spotinst = + { + owner = "terraform-providers"; + repo = "terraform-provider-spotinst"; + version = "1.11.0"; + sha256 = "10q1w66gbx6863797n6n15xx4llflmavrz2qk23pb8qd5pbni9bk"; + }; + statuscake = + { + owner = "terraform-providers"; + repo = "terraform-provider-statuscake"; + version = "0.2.0"; + sha256 = "065izach0hq04664hz7rc3gd0r3l06lzwcbj5800zjfv1inp6pxs"; + }; + telefonicaopencloud = + { + owner = "terraform-providers"; + repo = "terraform-provider-telefonicaopencloud"; + version = "1.0.0"; + sha256 = "1761wkjz3d2458xl7855lxklyxgyk05fddh92rp6975y0ca6xa5m"; + }; + template = + { + owner = "terraform-providers"; + repo = "terraform-provider-template"; + version = "2.1.1"; + sha256 = "182kdkbmnihpawvgfpxavg8vbczizw5mlkwp828ap0baqs09ai8i"; + }; + tencentcloud = + { + owner = "terraform-providers"; + repo = "terraform-provider-tencentcloud"; + version = "1.4.0"; + sha256 = "1gqxvd5ss2cg49856nj3srirny1298l3fla506r7v8xf9ybkzpb4"; + }; + terraform = + { + owner = "terraform-providers"; + repo = "terraform-provider-terraform"; + version = "1.0.2"; + sha256 = "1aj6g6l68n9kqmxfjlkwwxnac7fhha6wrmvsw4yylf0qyssww75v"; + }; + tfe = + { + owner = "terraform-providers"; + repo = "terraform-provider-tfe"; + version = "0.8.2"; + sha256 = "0apxf197g4mrxybbx1vrk2i3fnw4cf23aq1wjhks5fkvm4wshgl7"; + }; + tls = + { + owner = "terraform-providers"; + repo = "terraform-provider-tls"; + version = "1.2.0"; + sha256 = "0hvj00j8a820j18yi90xzhd635pkffivp1116d84wyqxya5acd4p"; + }; + triton = + { + owner = "terraform-providers"; + repo = "terraform-provider-triton"; + version = "0.5.1"; + sha256 = "1bn5x6nmhfkrzpxhyfclls85l9qqffvzx1xsgcb3368lhwzarn2f"; + }; + ucloud = + { + owner = "terraform-providers"; + repo = "terraform-provider-ucloud"; + version = "1.6.0"; + sha256 = "0ijksfjqc91gxf45w9h2r024zgyqpr4s7z6snyzxcdbnf8ahs9q0"; + }; + ultradns = + { + owner = "terraform-providers"; + repo = "terraform-provider-ultradns"; + version = "0.1.0"; + sha256 = "0bq2y6bxdax7qnmq6vxh8pz9sqy1r3m05dv7q5dbv2xvba1b88hj"; + }; + vault = + { + owner = "terraform-providers"; + repo = "terraform-provider-vault"; + version = "1.7.0"; + sha256 = "133ximk510kchr34zicpnp4da27nxvzab2nd8dqpf4sqg2z83i0y"; + }; + vcd = + { + owner = "terraform-providers"; + repo = "terraform-provider-vcd"; + version = "2.1.0"; + sha256 = "0azmjddysl38n58vk94zhm2g7s5aw71gvn83h4n7amf2j7p7ks9j"; + }; + vsphere = + { + owner = "terraform-providers"; + repo = "terraform-provider-vsphere"; + version = "1.10.0"; + sha256 = "039s95afqrcpf6jiprqsqnvlsnxbs5vcqrsgg6pbs52rlwp1ixgw"; + }; + yandex = + { + owner = "terraform-providers"; + repo = "terraform-provider-yandex"; + version = "0.4.1"; + sha256 = "0lvj7xlzqc6wfv1xpc4qc1gnk3wvcvnifbf4mqgjglz35cf697bb"; + }; + matchbox = + { + owner = "coreos"; + repo = "terraform-provider-matchbox"; + version = "0.2.3"; + sha256 = "12vf8krzx79yrsk3lk2k6vwwk1f18617ky7g2yf60bf2x836lg09"; + }; + nixos = + { + owner = "tweag"; + repo = "terraform-provider-nixos"; + version = "0.0.1"; + sha256 = "00vz6qjq1pk39iqg4356b8g3c6slla9jifkv2knk46gc9q93q0lf"; + }; + secret = + { + owner = "tweag"; + repo = "terraform-provider-secret"; + version = "1.0.0"; + sha256 = "03q78d0g3b4j4213qjlacj1adh7hjwcqcqrwm8c2r2k5w9kb25k0"; + }; + segment = + { + owner = "ajbosco"; + repo = "terraform-provider-segment"; + version = "0.2.0"; + sha256 = "0ic5b9djhnb1bs2bz3zdprgy3r55dng09xgc4d9l9fyp85g2amaz"; + }; + ansible = + { + owner = "nbering"; + repo = "terraform-provider-ansible"; + version = "0.0.4"; + sha256 = "125a8vbpnahaxxrxj3mp0kj6ajssxnfb6l0spgnf118wg3bvlmw5"; + }; +} diff --git a/pkgs/applications/networking/cluster/terraform-providers/default.nix b/pkgs/applications/networking/cluster/terraform-providers/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..0922bd7b8a9fd81ca71c9234a97cd6659ce11ac8 --- /dev/null +++ b/pkgs/applications/networking/cluster/terraform-providers/default.nix @@ -0,0 +1,30 @@ +{ lib +, buildGoPackage +, fetchFromGitHub +, callPackage +}: +let + list = import ./data.nix; + + toDrv = data: + buildGoPackage rec { + inherit (data) owner repo version sha256; + name = "${repo}-${version}"; + goPackagePath = "github.com/${owner}/${repo}"; + subPackages = [ "." ]; + src = fetchFromGitHub { + inherit owner repo sha256; + rev = "v${version}"; + }; + + + # Terraform allow checking the provider versions, but this breaks + # if the versions are not provided via file paths. + postBuild = "mv go/bin/${repo}{,_v${version}}"; + }; +in + { + gandi = callPackage ./gandi {}; + ibm = callPackage ./ibm {}; + libvirt = callPackage ./libvirt {}; + } // lib.mapAttrs (n: v: toDrv v) list diff --git a/pkgs/applications/networking/cluster/terraform-providers/gandi/default.nix b/pkgs/applications/networking/cluster/terraform-providers/gandi/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..291698f3065f79a1124a7357cdacfe9dcb834e44 --- /dev/null +++ b/pkgs/applications/networking/cluster/terraform-providers/gandi/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchFromGitHub, buildGoPackage }: +buildGoPackage rec { + name = "terraform-provider-gandi-${version}"; + version = "1.0.0"; + + goPackagePath = "github.com/tiramiseb/terraform-provider-gandi"; + goDeps = ./deps.nix; + + src = fetchFromGitHub { + owner = "tiramiseb"; + repo = "terraform-provider-gandi"; + rev = "v${version}"; + sha256 = "0byydpqsimvnk11bh9iz8zlxbsmsk65w55pvkp18vjzqrhf4kyfv"; + }; + + # Terraform allow checking the provider versions, but this breaks + # if the versions are not provided via file paths. + postBuild = "mv go/bin/terraform-provider-gandi{,_v${version}}"; + + meta = with stdenv.lib; { + description = "Terraform provider for the Gandi LiveDNS service."; + homepage = "https://github.com/tiramiseb/terraform-provider-gandi"; + license = licenses.mpl20; + maintainers = with maintainers; [ manveru ]; + }; +} diff --git a/pkgs/applications/networking/cluster/terraform-providers/gandi/deps.nix b/pkgs/applications/networking/cluster/terraform-providers/gandi/deps.nix new file mode 100644 index 0000000000000000000000000000000000000000..3d4a3547502d667af8587b07e485739bceaea397 --- /dev/null +++ b/pkgs/applications/networking/cluster/terraform-providers/gandi/deps.nix @@ -0,0 +1,21 @@ +# This file was generated by https://github.com/kamilchm/go2nix v1.2.1 +[ + { + goPackagePath = "github.com/hashicorp/terraform"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/terraform"; + rev = "27b720113ed5143a870ec151b3b7c9d955a09bc0"; + sha256 = "1f0hwdf2z68p0ll3pgrx949h09q52gcfaxap0zz52m7px98sfab4"; + }; + } + { + goPackagePath = "github.com/tiramiseb/go-gandi-livedns"; + fetch = { + type = "git"; + url = "https://github.com/tiramiseb/go-gandi-livedns"; + rev = "4773a84f8ee7365ed21edc6cd0602aaf93e94e59"; + sha256 = "1i8s7yclrkhf974vs2splh5symzk0ym54px0bc216bq4ifzkwkqc"; + }; + } +] diff --git a/pkgs/applications/networking/cluster/terraform-provider-ibm/default.nix b/pkgs/applications/networking/cluster/terraform-providers/ibm/default.nix similarity index 100% rename from pkgs/applications/networking/cluster/terraform-provider-ibm/default.nix rename to pkgs/applications/networking/cluster/terraform-providers/ibm/default.nix diff --git a/pkgs/applications/networking/cluster/terraform-providers/libvirt/default.nix b/pkgs/applications/networking/cluster/terraform-providers/libvirt/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..96b5c8a0fa1fd61610171103611480b4364666fa --- /dev/null +++ b/pkgs/applications/networking/cluster/terraform-providers/libvirt/default.nix @@ -0,0 +1,51 @@ +{ stdenv, buildGoPackage, fetchFromGitHub, libvirt, pkgconfig, makeWrapper, cdrtools }: + +# USAGE: +# install the following package globally or in nix-shell: +# +# (terraform.withPlugins (p: [p.libvirt])) +# +# configuration.nix: +# +# virtualisation.libvirtd.enable = true; +# +# terraform-provider-libvirt does not manage pools at the moment: +# +# $ virsh --connect "qemu:///system" pool-define-as default dir - - - - /var/lib/libvirt/images +# $ virsh --connect "qemu:///system" pool-start default +# +# pick an example from (i.e ubuntu): +# https://github.com/dmacvicar/terraform-provider-libvirt/tree/master/examples + +buildGoPackage rec { + name = "terraform-provider-libvirt-${version}"; + version = "0.5.1"; + + goPackagePath = "github.com/dmacvicar/terraform-provider-libvirt"; + + src = fetchFromGitHub { + owner = "dmacvicar"; + repo = "terraform-provider-libvirt"; + rev = "v${version}"; + sha256 = "0shnj5byqj3qzyqniiy1dcygd8xw1h2bx9z6mgcydw8k64fkm4bw"; + }; + + buildInputs = [ libvirt pkgconfig makeWrapper ]; + + # mkisofs needed to create ISOs holding cloud-init data, + # and wrapped to terraform via deecb4c1aab780047d79978c636eeb879dd68630 + propagatedBuildInputs = [ cdrtools ]; + + # Terraform allow checking the provider versions, but this breaks + # if the versions are not provided via file paths. + postBuild = "mv go/bin/terraform-provider-libvirt{,_v${version}}"; + + meta = with stdenv.lib; { + homepage = https://github.com/dmacvicar/terraform-provider-libvirt; + description = "Terraform provider for libvirt"; + platforms = platforms.linux; + license = licenses.asl20; + maintainers = with maintainers; [ mic92 ]; + }; +} + diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.txt b/pkgs/applications/networking/cluster/terraform-providers/providers.txt new file mode 100644 index 0000000000000000000000000000000000000000..c5d6fda16514abc5b44fda16706082027991b6a1 --- /dev/null +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.txt @@ -0,0 +1,25 @@ +# lines starting with a # are comments + +# The accepted format (double escape all grep expresssions): +# [grep-expression] [grep-v-expression] - include all repositories in the organisation. +# grep-expression: filter repo matching the expression +# grep-v-expression: filter repo not matching the expression +# / - include only the named repository. + +# include all terraform-providers +terraform-providers terraform-provider- terraform-provider-\\(azure-classic\\|scaffolding\\) + +# include terraform-provider-matchbox +coreos/terraform-provider-matchbox + +# include terraform-provider-nixos +tweag/terraform-provider-nixos + +# include terraform-provider-secret +tweag/terraform-provider-secret + +# include terraform-provider-segment +ajbosco/terraform-provider-segment + +# include terraform-provider-ansible +nbering/terraform-provider-ansible diff --git a/pkgs/applications/networking/cluster/terraform-providers/update-all b/pkgs/applications/networking/cluster/terraform-providers/update-all new file mode 100755 index 0000000000000000000000000000000000000000..2009d474db7b24af10ee72c06668a1d91bef0b79 --- /dev/null +++ b/pkgs/applications/networking/cluster/terraform-providers/update-all @@ -0,0 +1,143 @@ +#!/usr/bin/env nix-shell +#! nix-shell -i bash -p bash coreutils curl jq nix +# vim: ft=sh sw=2 et +# +# This scripts scans the github terraform-providers repo for new releases, +# generates the corresponding nix code and finally generates an index of +# all the providers given in ./providers.txt. +set -euo pipefail + +# the maximum number of attempts before giving up inside of GET and prefetch_github +readonly maxAttempts=30 + +GET() { + local url=$1 + local retry=1 + echo "fetching $url" >&2 + while ! curl -#fL -u "$GITHUB_AUTH" "$url"; do + echo "The curl command has failed. Attempt $retry/${maxAttempts}" >&2 + if [[ "${retry}" -eq "${maxAttempts}" ]]; then + exit 1 + fi + retry=$(( retry + 1 )) + sleep 5 + done +} + +get_org_repos() { + local org=$1 + local page=1 + GET "https://api.github.com/orgs/$org/repos?per_page=100" | jq -r '.[].name' +} + +get_repo_tags() { + local owner=$1 + local repo=$2 + GET "https://api.github.com/repos/$owner/$repo/git/refs/tags?per_page=100" | \ + jq -r '.[].ref' | \ + grep -v 'v\.' | \ + cut -d '/' -f 3- | \ + sort --version-sort +} + +prefetch_github() { + local owner=$1 + local repo=$2 + local rev=$3 + local retry=1 + while ! nix-prefetch-url --unpack "https://github.com/$owner/$repo/archive/$rev.tar.gz"; do + echo "The nix-prefetch-url command has failed. Attempt $retry/${maxAttempts}" >&2 + if [[ "${retry}" -eq "${maxAttempts}" ]]; then + exit 1 + fi + retry=$(( retry + 1 )) + sleep 5 + done +} + +echo_entry() { + local owner=$1 + local repo=$2 + local version=${3:1} + local sha256=$4 + cat <> data.nix +} + +## Main ## + +cd "$(dirname "$0")" + +if [[ -z "${GITHUB_AUTH:-}" ]]; then + cat <<'HELP' +Missing the GITHUB_AUTH env. This is required to work around the 60 request +per hour rate-limit. + +Go to https://github.com/settings/tokens and create a new token with the +"public_repo" scope. + +Then `export GITHUB_AUTH=:` and run this script again. +HELP + exit 1 +fi + +cat <
data.nix +# Generated with ./update-all +{ +HEADER + +while read line; do + IFS=' ' read -r -a fields <<< "$line" + if [[ "${#fields[@]}" -eq 0 ]]; then + continue + fi + + if [[ "${fields[0]}" = *"/"* ]]; then + org="$(echo "${fields[0]}" | cut -d/ -f1)" + repo="$(echo "${fields[0]}" | cut -d/ -f2)" + add_repo "${org}" "${repo}" + else + org="${fields[0]}" + repos=$(get_org_repos "$org") + if [[ "${#fields[@]}" -ge 2 ]] && [[ -n "${fields[1]}" ]]; then + repos="$( echo "${repos[@]}" | grep "${fields[1]}" )" + fi + if [[ "${#fields[@]}" -eq 3 ]] && [[ -n "${fields[2]}" ]]; then + repos="$( echo "${repos[@]}" | grep -v "${fields[2]}" )" + fi + repos="$( echo "${repos[@]}" | sort )" + + for repo in $repos; do + add_repo "$org" "$repo" + done + fi +done < <(grep -v '^#\|^$' providers.txt) + +cat <